pygtk2 and its numpy dependency

Toshio Kuratomi a.badger at gmail.com
Tue Aug 11 19:05:39 UTC 2009


On 08/10/2009 12:36 PM, Adam Jackson wrote:
> pygtk2 implements a function called gtk.gdk.get_pixels_array(), which
> returns the pixel contents of a GDK pixbuf as a numpy array.  Fine and
> dandy, but this means it links against numpy (7 megs) which is itself
> linked against atlas (12 megs).  Kind of a lot for a single function,
> especially on a live image.
> 
> Especially for a function that's basically unused!  gnome-applet-music
> uses it to implement a poor-man's Porter-Duff blend, and that's the only
> caller currently packaged in Fedora, at least according to package deps.
> I have a patch (attached) that fixes that [1], which means we could
> compile our pygtk2 without numpy support and not break anything in
> Fedora proper.
> 
Package deps are of minimal use in detecting this.  We have to detect
when this function is used by an application which isn't part of package
deps.  gnome-games and specto are two packages that make use of this
function.

Of note, both Debian and Ubuntu have had this problem as well.  Ubuntu
chose to go the route that you're suggesting, remove the Requires[1]_.
Debian tried that and chose to revert the workaround, going back to a
strict requirement on numpy[2]_.  The Ubuntu bug report also mentions
that porting to the new buffer[3]_ interface in python2.6 and above may
be a long term solution.

Has someone filed this with upstream pygtk2 yet?

.. _[1]: https://bugs.launchpad.net/ubuntu/+source/python-numpy/+bug/309215
.. _[2]: http://osdir.com/ml/debian-bugs-closed/2009-04/msg01088.html
.. _[3]: http://www.python.org/dev/peps/pep-3118/
         http://numpy.scipy.org/#buffer_protocol
         http://docs.scipy.org/doc/numpy/reference/arrays.interface.html

-Toshio

-Toshio

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/fedora-devel-list/attachments/20090811/3fe97c20/attachment.sig>


More information about the fedora-devel-list mailing list