On Sunday, 2009-12-13, at 15:54 , Ludovic Courtès wrote:

http://allmydata.org/pipermail/tahoe-dev/2009-December/003279.html

At first sight it seems like a bit of overhead I’d like to avoid these days.

Ah, too bad. It really isn't that much work, but it kind of "looks" like a lot of work when you look at the instructions.

Indeed, that seems to be an interesting approach. However, is it 100% automatic or 90%ish? If the latter (which I suspect from my experience packaging several Python libs), I wonder whether it’s a big win in terms of the time spent packaging a given piece of software. What do you think?

The declarations of dependencies within the Python code [1] are 100% accurate -- they list all the Python packages (which Python calls "distributions" instead of "packages") that Tahoe-LAFS needs. The question is how to map from Python "distributions" to NixOS packages. For example, given that Tahoe-LAFS requires a Python "distribution" named "Twisted >= 2.4.0", how does this hypothetical automated tool determine that the Nixpkg named "pythonPackages.Twisted 8.2.0" will satisfy?

I suspect that a heuristic like prepending "pythonPackages." to the distribution name would be one of those 90% solutions, because occasionally a Python distribution will have a name different from the name of the operating system package that houses it. Unless I'm wrong and NixOS has a strong policy about making them always match.

It is certainly not a 100% solution for Debian/Ubuntu, so the way we did this in stdeb [3] was to use a database which has all of the paths and filenames of all of the packages (the "apt-file" database), and look for a file named "Twisted-8.2.0.egg-info". A well-packaged Python distribution should have such a file if and only if it provides the "Twisted" distribution, v8.2.0. For the uses that I have put it to, this hack works 100%.

Regards,

Zooko

[1] http://allmydata.org/trac/tahoe/browser/_auto_deps.py
[2] https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/top-level/ python-packages.nix
[3] 
http://github.com/astraw/stdeb_______________________________________________
nix-dev mailing list
nix-dev@cs.uu.nl
https://mail.cs.uu.nl/mailman/listinfo/nix-dev

Reply via email to