[Nix-dev] Python bindings to librsvg or gnome-desktop
Hello, I am trying to create a Nix expression for solfege [1] and got it building fine using the Nix expression available as Gist [2]. However, running the application fails with the following error, cryptographic hashes replaced by dots. Traceback (most recent call last): File /nix/store/...-solfege-3.20.4/share/solfege/solfege/startup.py, line 159, in start_gui solfege.win = w = MainWin(options, datadir) File /nix/store/...-solfege-3.20.4/share/solfege/solfege/mainwin.py, line 119, in __init__ stock.SolfegeIconFactory(self, datadir) File /nix/store/...-solfege-3.20.4/share/solfege/solfege/stock.py, line 71, in __init__ self.add_icons(d) File /nix/store/...-solfege-3.20.4/share/solfege/solfege/stock.py, line 33, in add_icons iconset = gtk.IconSet(gtk.gdk.pixbuf_new_from_file(os.path.join(self.datadir, filename))) glib.GError: Couldn't recognize the image file format for file '/nix/store/..-solfege-3.20.4/share/solfege/graphics/solfege.svg' This issue has been addressed [3] and appears to be an issue not caused by solfege but by a missing python dependency [4]. It is solved by making solfege depend on python-rsvg. However, I cannot find this package in Nixpkgs. Further research revealed that this binding is now part of the Python bindings to Gnome [5]. As observable in the current NIx expression I added the dependency gnome_python hoping this would solve the problem. However, it does not. Is it correct that gnome_python are the Python bindings to Gnome Desktop which should contain pyrsvg? If not, is pyrsvg already packaged? If not, where can I find the sources of python-gnome-desktop and where would be a good place to place a Nix expression for this? Or could it be the case that this functionality should be supplied by pygtk, but this (optional?) feature is disabled due to missing dependencies? Since I am already at it, why are some packages referenced by pythonPackages.{package} and some solely by {package}? For instance, the python sqlite3 module appears to be pythonPackages.sqlite3 whereas python bindings to GTK+ are not available as pythonPackages.gtk or pythonPackages.pygtk but as pygtk. When creating a Nix expression that depends on python packages, Is it more desirable to depend on pythonPackages or the inherit the pythonPackages.* subpackages as necessary? Regards, Alexander Foremny [1] http://solfege.org [2] https://gist.github.com/2953069 [3] http://code.google.com/p/solfege/issues/detail?id=255 [4] https://bugs.launchpad.net/ubuntu/+source/solfege/+bug/1004485 [5] http://www.rittau.org/blog/20060418-00 ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] Python bindings to librsvg or gnome-desktop
gnome support is only rudimentary (enough to make some packages work). Look at configure output of pygtk etc (force a rebuild [1] and do nix-store -l $out-path) If you start working on python stuff please be aware that I feel that the current PYTHONPATH implementation in nixpkgs is not enough. Some packages such as virtinst would require heavy patching - others do not. For that reason I've tried an alternative implementation introducing NIX_PYTHON_SITES: https://github.com/MarcWeber/nixpkgs/blob/experimental/nix-python-sites/.topmsg But this might be totally unrelated to your issues. When creating a Nix expression that depends on python packages, Is it more desirable to depend on pythonPackages or the inherit the pythonPackages.* subpackages as necessary? I don't know. I personally tried packaging everything found on PyPi - but that index is not that well maintained - a lot of libraries are missing. So for now I expect a lot of manual work to be done on python packages. The common case seems to be that packages which have lot's of C dependencies (such as gtk) are more likely to be put into top-level files. Whether this is desired behaviour - I don't know exactly. If you publish your patches I may have a look at it. That's my personal view on it. Marc Weber ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] Python bindings to librsvg or gnome-desktop
Thanks for your quick response. Could you please give me the reference for [1]? I don't know how I can force building a package. 2012/6/19 Marc Weber marco-owe...@gmx.de: gnome support is only rudimentary (enough to make some packages work). Look at configure output of pygtk etc (force a rebuild [1] and do nix-store -l $out-path) If you start working on python stuff please be aware that I feel that the current PYTHONPATH implementation in nixpkgs is not enough. Some packages such as virtinst would require heavy patching - others do not. For that reason I've tried an alternative implementation introducing NIX_PYTHON_SITES: https://github.com/MarcWeber/nixpkgs/blob/experimental/nix-python-sites/.topmsg But this might be totally unrelated to your issues. When creating a Nix expression that depends on python packages, Is it more desirable to depend on pythonPackages or the inherit the pythonPackages.* subpackages as necessary? I don't know. I personally tried packaging everything found on PyPi - but that index is not that well maintained - a lot of libraries are missing. So for now I expect a lot of manual work to be done on python packages. The common case seems to be that packages which have lot's of C dependencies (such as gtk) are more likely to be put into top-level files. Whether this is desired behaviour - I don't know exactly. If you publish your patches I may have a look at it. That's my personal view on it. Marc Weber ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] Python bindings to librsvg or gnome-desktop
Excerpts from Alexander Foremny's message of Tue Jun 19 11:25:55 +0200 2012: Thanks for your quick response. Could you please give me the reference for [1]? I don't know how I can force building a package. Just open the derivation and add FOO=BAR; or such passing an additional env var causing a rebuild. Marc Weber ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] Python bindings to librsvg or gnome-desktop
On Tue, 19 Jun 2012 11:12:31 +0200, Marc Weber marco-owe...@gmx.de wrote: gnome support is only rudimentary (enough to make some packages work). Look at configure output of pygtk etc (force a rebuild [1] and do nix-store -l $out-path) If you start working on python stuff please be aware that I feel that the current PYTHONPATH implementation in nixpkgs is not enough. Some packages such as virtinst would require heavy patching - others do not. For that reason I've tried an alternative implementation introducing NIX_PYTHON_SITES: https://github.com/MarcWeber/nixpkgs/blob/experimental/nix-python-sites/.topmsg And there is: https://github.com/chaoflow/nixpkgs Which works very similar, except: - might not cover all use cases NIX_PYTHON_SITES does (needs to be evaluated) - uses PYTHONPATH only - leaves the python site.py as is, but uses a customized site.py during installs and allows the user to install this customized site.py to make python packages see all other python packages (of the same python version) within a profile. But this might be totally unrelated to your issues. When creating a Nix expression that depends on python packages, Is it more desirable to depend on pythonPackages or the inherit the pythonPackages.* subpackages as necessary? I don't know. I personally tried packaging everything found on PyPi - but that index is not that well maintained - a lot of libraries are missing. So for now I expect a lot of manual work to be done on python packages. The common case seems to be that packages which have lot's of C dependencies (such as gtk) are more likely to be put into top-level files. Whether this is desired behaviour - I don't know exactly. I think all python packages should be available via pythonXYPackages. In addition some python programs, like offlineimap, could be available top-level, using the default python version (currently 2.7). If you publish your patches I may have a look at it. +1 regards florian -- Florian Friesdorf f...@chaoflow.net GPG FPR: 7A13 5EEE 1421 9FC2 108D BAAF 38F8 99A3 0C45 F083 Jabber/XMPP: f...@chaoflow.net IRC: chaoflow on freenode,ircnet,blafasel,OFTC pgpYBNGl8uDPl.pgp Description: PGP signature ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev