[Nix-dev] distutils2nix/python4nix
Marc Weber
marco-oweber at gmx.de
Sat Sep 24 12:06:48 CEST 2011
FUSE ? :-) Funny idea. Maybe not that bad. Passing args would be a
funny. import 'create derivation providing ruby packgaes foo=2.00, xy>8.2 .nix';
> The real problem with that solution would be deciding on policy of
> keeping checksums. Of course, I could keep checksums locally. That would
> give me all local benefits of Nix (I can reproduce whatever I have ever
> done - maybe I should copy checksum DB over to be sure, but that seems
> acceptable, if suboptimal), but denies global checksum synchronization.
> Maybe we could have some online service to use for that database.
You're totally right about this.
The point is: We don't have man power to maintain everything.
That's why I'm thinking about reusing the existing organisation of
packgae database (cpan,..).
But they all have a dynamic component: "Query db, fetch, be done".
Thus if we could reuse the result of the querying (which could be dumped
to store) we could build up derivations on the fly and eventually reuse
existing solving found in existing packages solutions like cpan, ruby,
scala, java, el-get, ..
However it would also generate tons of issues:
- you don't know the graph of derivations to be build in advance
- could cause loops (creating derivations forever if not limited)
- hash mess (you've already mentioned)
- you need --refresh flag or such because its you deciding on getting
fresh dump from pypi,cpan,...
- you start trusting foreign sources (those package databases)
But at least this would allow us to make eclipse package plugins as nix
derivations, same for vim, emacs, cpan, ..
It would be a mess, I agree. But better than what we have now?
I can imagine some setup.py scripts changing list of dependencies
dynamically depending on what has been installed (probably a bad
habit, but doable)
> Try installing, catch dependency problems, install dependencies,
> retry installing.
> Will work better for Python than for Common Lisp, because there
> is only one setup.py per package.
Exactly - don't know about Common Lisp.
Marc Weber
More information about the nix-dev
mailing list