diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-03-10 15:01:56 +0100 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-03-10 15:01:56 +0100 |
commit | e167cf9f215ad94cdc9af73acfad251695c4fd7c (patch) | |
tree | 82135cde98ee5e57da143c65207ae728640f4915 | |
parent | 1fe2a68224d3a28e79cb007805882f0e15c83526 (diff) | |
download | nixpkgs-e167cf9f215ad94cdc9af73acfad251695c4fd7c.tar nixpkgs-e167cf9f215ad94cdc9af73acfad251695c4fd7c.tar.gz nixpkgs-e167cf9f215ad94cdc9af73acfad251695c4fd7c.tar.bz2 nixpkgs-e167cf9f215ad94cdc9af73acfad251695c4fd7c.tar.lz nixpkgs-e167cf9f215ad94cdc9af73acfad251695c4fd7c.tar.xz nixpkgs-e167cf9f215ad94cdc9af73acfad251695c4fd7c.tar.zst nixpkgs-e167cf9f215ad94cdc9af73acfad251695c4fd7c.zip |
Make appendToName do the right thing
I.e. append a suffix *before* the version, rather than after. So we get "sqlite-interactive-3.8.0.2" instead of "sqlite-3.8.0.2-interactive". The latter is broken since nix-env just sees it the suffix as part of the version, so "nix-env -u" will happily upgrade "sqlite-3.8.0.2-interactive" to "sqlite-3.9".
-rw-r--r-- | lib/meta.nix | 9 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 17 |
2 files changed, 13 insertions, 13 deletions
diff --git a/lib/meta.nix b/lib/meta.nix index 1af31473348..44e3cc011f1 100644 --- a/lib/meta.nix +++ b/lib/meta.nix @@ -31,11 +31,10 @@ rec { updateName = updater: drv: drv // {name = updater (drv.name);}; - /* Append a suffix to the name of a package. !!! the suffix should - really be appended *before* the version, at least most of the - time. - */ - appendToName = suffix: updateName (name: "${name}-${suffix}"); + /* Append a suffix to the name of a package (before the version + part). */ + appendToName = suffix: updateName (name: + let x = builtins.parseDrvName name; in "${x.name}-${suffix}-${x.version}"); /* Apply a function to each derivation and only to derivations in an attrset diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 36fdd6e78bb..0b63322c9b2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1004,7 +1004,8 @@ let g500-control = callPackage ../tools/misc/g500-control { }; - gawk = lowPrio (callPackage ../tools/text/gawk { }); + gawk = callPackage ../tools/text/gawk { }; + gawkInteractive = appendToName "interactive" (gawk.override { readlineSupport = true; }); @@ -1583,9 +1584,9 @@ let pam = if stdenv.isLinux then pam else null; }; - openssh_hpn = lowPrio (pkgs.appendToName "hpn" (openssh.override { hpnSupport = true; })); + openssh_hpn = pkgs.appendToName "with-hpn" (openssh.override { hpnSupport = true; }); - openssh_with_kerberos = lowPrio (pkgs.appendToName "with-kerberos" (openssh.override { withKerberos = true; })); + openssh_with_kerberos = pkgs.appendToName "with-kerberos" (openssh.override { withKerberos = true; }); opensp = callPackage ../tools/text/sgml/opensp { }; @@ -2802,12 +2803,12 @@ let jdkdistro = installjdk: pluginSupport: assert supportsJDK; - (if pluginSupport then appendToName "plugin" else x: x) + (if pluginSupport then appendToName "with-plugin" else x: x) (callPackage ../development/compilers/jdk/jdk6-linux.nix { }); oraclejdk7distro = installjdk: pluginSupport: assert supportsJDK; - (if pluginSupport then appendToName "plugin" else x: x) + (if pluginSupport then appendToName "with-plugin" else x: x) (callPackage ../development/compilers/jdk/jdk7-linux.nix { inherit installjdk; }); jikes = callPackage ../development/compilers/jikes { }; @@ -8447,7 +8448,7 @@ let guiSupport = false; # use mercurialFull to get hgk GUI }; - mercurialFull = lowPrio (appendToName "full" (pkgs.mercurial.override { guiSupport = true; })); + mercurialFull = appendToName "full" (pkgs.mercurial.override { guiSupport = true; }); merkaartor = callPackage ../applications/misc/merkaartor { }; @@ -8931,11 +8932,11 @@ let sasl = cyrus_sasl; }; - subversionClient = lowPrio (appendToName "client" (subversion.override { + subversionClient = appendToName "client" (subversion.override { bdbSupport = false; perlBindings = true; pythonBindings = true; - })); + }); surf = callPackage ../applications/misc/surf { libsoup = gnome.libsoup; |