Features/GTK3/Development
< Features | GTK3
Jump to navigation
Jump to search
Revision as of 16:39, 9 December 2011 by DanielDrake (talk | contribs)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
This page includes repo details and how to get sugar-jhbuild set up with the GTK3 work.
Repos
- http://git.sugarlabs.org/~erikos/sugar-toolkit/sugar-toolkit-gtk3 - branch 'master': this is the GTK3 port of sugar-toolkit
- http://git.sugarlabs.org/~erikos/sugar-toolkit/sugar-toolkit-gtk3 - branch 'sucrose-0.94': the GTK2 version of sugar-toolkit needs a handful of structure changes prompted by our GTK3 work. They are being committed here.
- http://git.sugarlabs.org/~erikos/sugar/sugar-gtk3 - branch 'master': we are not (yet) porting the sugar shell to GTK3, but a handful of structural changes are needed.
http://git.sugarlabs.org/sugar-artwork - branch 'gtk3': mainline sugar-artwork repo containing the new theme work (folder GTK3)- http://git.sugarlabs.org/~erikos/sugar-artwork/gtk3 - branch gtk3: now being used instead of the above artwork repo
- http://git.sugarlabs.org/~dsd/browse/browse-gtk3 - branch 'master': Browse port to GTK3
- http://git.sugarlabs.org/hello-world - branch 'master': hello-world ported to GTK3
- http://cgit.collabora.com/git/user/rgs/abacus-gtk3/ - branch 'master': Abacus ported to GTK3 and to use cairo for drawing
jhbuild setup
Start with a working "normal" sugar-jhbuild installation.
Compile/install a fixed pygobject with this chain-up fix. F16 build available from http://koji.fedoraproject.org/koji/taskinfo?taskID=3473257
Apply this patch to sugar-jhbuild: http://dev.laptop.org/~dsd/20111029/sugar-jhbuild-sugar-toolkit-gtk3.patch and build the new GTK3 based sugar toolkit:
./sugar-jhbuild build sugar-toolkit-gtk3
The sugar-toolkit gtk2 version needs some modifications for some restructuring that gtk3 work has prompted. Check out our branch where this happens;
cd source/sugar-toolkit git remote add -f gtk2-mods-for-gtk3 git://git.sugarlabs.org/~erikos/sugar-toolkit/sugar-toolkit-gtk3.git git checkout -b gtk2-mods-for-gtk3 gtk2-mods-for-gtk3/sucrose-0.94 make install cd ../..
And similarly for sugar:
cd source/sugar git remote add -f erikos-gtk3 git://git.sugarlabs.org/~erikos/sugar/sugar-gtk3.git git checkout -b gtk3 erikos-gtk3/master make install cd ../..
And for sugar-artwork:
cd source/sugar-artwork git remote add -f erikos-gtk3 git://git.sugarlabs.org/~erikos/sugar-artwork/gtk3.git git checkout -b gtk3 erikos-gtk3/master make install cd ../..
Pending upstream work
All of these have been worked around (or will be worked around) for now, at the sugar level.
- gobject introspection bindings for librsvg: https://bugzilla.gnome.org/show_bug.cgi?id=663049 Solved: fix has been pushed to librsvg master in http://git.gnome.org/browse/librsvg/, is in 2.35.0
- related gobject-introspection fix for libxml2 https://bugzilla.gnome.org/show_bug.cgi?id=663048 Solved: fix has been pushed to gobject introspection 42e9ea858c454646ecf5d4b9579ea7a2ce4192fd
- enable GDK introspection access to X11 window properties: https://bugzilla.gnome.org/show_bug.cgi?id=663261. current workaround patch in sugar-toolkit (Raul)
- extend gio mime type API so that we can drop our xdgmime copy (e.g. need to be able to get default file extension for a given mime type)
- chaining up in vfuncs: https://bugzilla.gnome.org/show_bug.cgi?id=662994 Solved: fix has been pushed to pygobject master http://git.gnome.org/browse/pygobject/commit/?id=2fd3aa9d4ca0906a5e609845ee500ba72e358f94
- implementing GtkContainer::forall: https://bugzilla.gnome.org/show_bug.cgi?id=644926, also needs https://bugzilla.gnome.org/show_bug.cgi?id=663052
- missing parts in pango introspection, 646788 does contain what we need (there are quite a few introspection related pango bugs open atm, from a quick look I found https://bugzilla.gnome.org/show_bug.cgi?id=660070, https://bugzilla.gnome.org/show_bug.cgi?id=627973, https://bugzilla.gnome.org/show_bug.cgi?id=645792, https://bugzilla.gnome.org/show_bug.cgi?id=645871, https://bugzilla.gnome.org/show_bug.cgi?id=646788 even with patches attached already for a while)