Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
73 lines (59 sloc) 3.29 KB
How to test the GTK3 code
=========================
As of 2013-03-20, MyPaint is being updated to support GObject-Introspection
and GTK3. Upstream support for PyGTK is going away, and we should be using the
newer GTK anyway given our heavy reliance on fancy input devices. It would be
nice to see some of the input-related bugs go away. The rough plan is:
1. [DONE] Update the Python code to support an internal pygtkcompat abstraction
layer, which allows us to carry on using PyGTK while we maintain GTK2 code,
while at the same time enabling us to port to PyGI+GTK3 via upstream's
pygtkcompat module.
2. [DONE] In this state we can flip between GTK2 and GTK3 modes with compiler
flags and runtime environment variables. Get the code running and fully
tested under PyGI+GTK3, albeit via pygtkcompat. New code can be merged,
but it must be compatible with both PyGTK-GTK2 and pygtkcompat-PyGI+GTK3
in this state, using pygtk naming conventions and import blocks.
3. [DONE] Flip over to GTK3 by default, still using our abstraction layer.
New code should be written for PyGI+GTK3.
4. [ONGOING] As and when, rip out our pygtkcompat abstractions and/or pygtkcompat
itself and port individual modules to PyGI+GTK3.
As of writing, we are at stage 4. The status of this work is tracked in
https://gna.org/bugs/?19230
Prerequisites
-------------
Packages and version numbers required on a Debian testing/wheezy setup as of
2013-03-22:
====================== ==================== ================================
Package Version Compile-time dep (+pkgconfig)
====================== ==================== ================================
libglib2.0-0 2.33.12
libglib2.0-dev 2.33.12 yes, glib-2.0.pc
libpng12-0 1.2.49
libpng12-dev 1.2.49 yes, libpng.pc
liblcms2-2 2.2+git20110628
liblcms2-dev 2.2+git20110628 yes, lcms2.pc
python-gi 3.2.2
python-gi-dev 3.2.2 yes, pygobject-3.0.pc
python-gi-cairo 3.2.2
(gir1.2-gtk-2.0) (2.24.10) (only if PyGTK compat needed)
libgtk-3-0 3.4.2
libgtk-3-dev 3.4.2 yes, gtk+-3.0.pc
gir1.2-gtk-3.0 3.4.2
(gir1.2-pango-1.0) (1.30.0) (dep of gir1.2-gtk-3.0)
(gir1.2-glib-2.0) (1.32.0) (dep of gir1.2-gtk-3.0)
(gir1.2-gdkpixbuf-2.0) (2.26.1) (dep of gir1.2-gtk-3.0)
python-numpy 1.6.2 yes, headers
python-numpy 1.6.2 runtime too :-)
python 2.7.3
python-dev 2.7.3 yes, python-2.7.pc
swig 2.0.7 yes
scons 2.1.0 yes
gettext 0.18.1.1 yes
libjson0 0.10
libjson0-dev 0.10 yes, json.pc
g++ 4.7.2 yes, successes reported w/ clang
====================== ==================== ================================
These can be installed on a Debian-based system by running::
# apt-get install g++ python-dev python-numpy \
libgtk-3-dev python-gi-dev gir1.2-gtk-3.0 python-gi-cairo \
swig scons gettext libpng12-dev liblcms2-dev
Something went wrong with that request. Please try again.