Difference between revisions of "Development Team/Prerequisites"
(Created page with '== Summary == This page explains what needs to be in a computer so it can run Sugar 0.86. It's also mentioned ways in which the dependency could be weakened. == Software compon…') |
|||
Line 1: | Line 1: | ||
== Summary == | == Summary == | ||
− | This page explains what needs to be in a computer so it can run Sugar 0.86. | + | This page explains what needs to be in a computer so it can run Sugar 0.86. Also are mentioned ways in which the dependency could be weakened. |
== Software components == | == Software components == | ||
==== Python ==== | ==== Python ==== | ||
+ | |||
+ | Almost all of Sugar is written in python, small bits of C are used to interface with libraries or to improve the performance of computationally intensive operations. | ||
+ | |||
+ | Some language features and extension modules from python 2.5 are used, but reducing the dependency to 2.4 should be possible without much effort. | ||
==== Gtk+ ==== | ==== Gtk+ ==== | ||
+ | |||
+ | We depend on Gtk+ 2.18 but should be possible to fall back to 2.16 or even 2.14 with relatively little effort. | ||
==== D-Bus ==== | ==== D-Bus ==== | ||
+ | |||
+ | Communication between processes is done with D-Bus, due to indirect dependencies, we need version 1.1. | ||
+ | |||
+ | ==== NetworkManager ==== | ||
+ | |||
+ | Sugar uses the API that landed in NM 0.7. Though NetworkManager is not required for Sugar to start, you lose management of network devices. | ||
==== Metacity ==== | ==== Metacity ==== | ||
− | ==== | + | Sugar can work with most standard-compliant X11 window managers, but these differ a lot on how they handle corner cases and thus using any other window manager would require extensive testing. |
+ | |||
+ | ==== X11 ==== | ||
+ | |||
+ | Sugar interfaces directly with X for window and session management. In order to remove this dependency, alternate implementations would need to be developed and an abstraction interface be created. | ||
== Resources == | == Resources == |
Revision as of 08:22, 26 October 2009
Summary
This page explains what needs to be in a computer so it can run Sugar 0.86. Also are mentioned ways in which the dependency could be weakened.
Software components
Python
Almost all of Sugar is written in python, small bits of C are used to interface with libraries or to improve the performance of computationally intensive operations.
Some language features and extension modules from python 2.5 are used, but reducing the dependency to 2.4 should be possible without much effort.
Gtk+
We depend on Gtk+ 2.18 but should be possible to fall back to 2.16 or even 2.14 with relatively little effort.
D-Bus
Communication between processes is done with D-Bus, due to indirect dependencies, we need version 1.1.
NetworkManager
Sugar uses the API that landed in NM 0.7. Though NetworkManager is not required for Sugar to start, you lose management of network devices.
Metacity
Sugar can work with most standard-compliant X11 window managers, but these differ a lot on how they handle corner cases and thus using any other window manager would require extensive testing.
X11
Sugar interfaces directly with X for window and session management. In order to remove this dependency, alternate implementations would need to be developed and an abstraction interface be created.