[Nix-dev] Re: [Nix-commits] SVN commit: nix - 12156 - simons - nixpkgs/trunk/pkgs/development/libraries/adns

Eelco Dolstra e.dolstra at tudelft.nl
Thu Jun 19 10:45:40 CEST 2008


Hi,

Peter Simons wrote:

> Modified:
>    nixpkgs/trunk/pkgs/development/libraries/adns/1.1.nix
>    nixpkgs/trunk/pkgs/development/libraries/adns/1.2.nix
>    nixpkgs/trunk/pkgs/development/libraries/adns/1.3.nix
>    nixpkgs/trunk/pkgs/development/libraries/adns/1.4.nix
> 
> Log:
> adns: added convenience default values for 'version'

I feel that having lots of different versions of a package in Nixpkgs isn't a 
good idea in general, for a few reasons:

- It creates a maintenance problem (if you change something in adns' 
default.nix, you have to test all versions).  In general expressions suffer from 
bitrot when they're not actively used (because their dependencies evolve in 
incompatible ways).

- It creates uncertainty as to what version to use as a dependency in other 
packages.  E.g. somebody might use 1.3 for package X and somebody else 1.4 for 
package Y.  (Of course if they all stick to the default, this won't happen.)

- Since 1.4 is presumably better than the old versions, there is no reason to 
keep the old ones.

The exception is of course when there *is* a reason to keep the old versions. 
For instance, we have multiple versions of GCC because some packages really need 
a specific version of GCC.  Idem for beta or unproven versions (Firefox 3 ;-)

This is also why I'm not a fan of using the version number in expression file 
names (like "scons/0.98.5.nix") in general, since it increases the effort of 
updating a package in the common case: instead of just editing "default.nix", 
you now have to do an "svn cp" or "svn mv", edit the new file, and update 
all-packages.nix.  Again, this doesn't apply if you really do need multiple 
versions.

-- 
Eelco Dolstra | http://www.st.ewi.tudelft.nl/~dolstra/



More information about the nix-dev mailing list