[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