[Nix-dev] Python bindings to librsvg or gnome-desktop

2012-06-19 Thread Alexander Foremny
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

2012-06-19 Thread Marc Weber
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

2012-06-19 Thread Alexander Foremny
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

2012-06-19 Thread Marc Weber
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

2012-06-19 Thread Florian Friesdorf
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