Difference between revisions of "Platform Team/Polyol"
Line 66: | Line 66: | ||
Bindings for this library (in contrast with bindings for other Polyol components) could contain not only wrappers for library itself, but also particular language specific code that makes process of creating sugar activities in this language more comfortable. | Bindings for this library (in contrast with bindings for other Polyol components) could contain not only wrappers for library itself, but also particular language specific code that makes process of creating sugar activities in this language more comfortable. | ||
+ | |||
+ | == Build for non-0install usage == | ||
+ | |||
+ | Install required dependencies | ||
+ | * [http://cmake.org/ cmake] | ||
+ | * [http://live.gnome.org/Libgee gee] > 0.5 | ||
+ | |||
+ | Download last [http://download.sugarlabs.org/services/polyol/ tarball]. | ||
+ | |||
+ | Build it: | ||
+ | |||
+ | cmake . && make && make install |
Revision as of 21:05, 24 June 2010
Summary
Intermediate level GObject based libraries group.
See Scalable development model to learn more about the initial intentions of Polyol.
Concepts
Glucose processes
Sugar core processes and dbus services.
DBus
All communication between glucose level and activity process goes via dbus.
Polyol group
Intermediate level libraries:
- Glucose compatibility libraries (ds, shell, collab) will support several (popular among sugar deployments) glucose releases
- Other libraries are not tied to glucose directly
Key features of this level:
- All libraries are written in Vala, i.e., based on pure GObjects, and could be used by non-python-based activities.
- Each Polyol component has its own release schedule, i.e., there are no Polyol official releases (it looks like in Gentoo).
- Activities could use these libraries on separate basis e.g. activity could use recent gui (to get access to last UI widgets) and old version of ds (because activity was coded against this particular version and new version has backward compatibility breakage in API).
- Activities (mostly not native sugar activities) could use only one library e.g. activity could use only ds library thus do not fetch additional dependencies like gtk+ (via gui).
Activity process
Regular activities would not use glucose directly, rather they would only access glucose through the Polyol level.
There is no need to code special activities, the sugar-toolkit API will be preserved, and activity developers will benefit because Polyol will support the recent sugar-toolkit API, e.g., they could use the new toolbars design even on Sugar 0.82.
Components
All libraries are C based and could contain bindings for various programming languages. Libraries use the same sources tree but each component has its own 0install interface and versions (there will be a way to use entirely polyol as single package e.g. for GNU/Linux distribution needs since all benefits of separation vanishes in that case).
env
Access to various sugar environment settings.
shell
Compatibility level library to sugar-shell.
collab
High level client API for what activity developers might need to code collab activities.
ds
High level client API to sugar-datastore.
gui
A set of first level GUI widgets to simplify process of activity creation.
toolkit
Everything what developers need to start developing native sugar activities. Library depends on all other Polyol components and contains glue level code that simplify creating sugar activities from scratch. This library (and all its dependencies) is an analog of python based sugar-toolkit library.
Bindings for this library (in contrast with bindings for other Polyol components) could contain not only wrappers for library itself, but also particular language specific code that makes process of creating sugar activities in this language more comfortable.
Build for non-0install usage
Install required dependencies
Download last tarball.
Build it:
cmake . && make && make install