git.iko.soy/typeable/nixpkgs
on master help sign in
Merge pull request #120762 from sternenseemann/mkderivation-host-suffix-middle

pkgs/stdenv/make-derivation: move hostSuffix before the version

commit8e4fe32876ca15e3d5eb3ecd3ca0b224417f5f17 authorJohn Ericson <git@JohnEricson.me> dateMon 26 Apr 2021, 15:14 (6 years ago) parent61fd1e1b0c26d2
1 file changed+11−4
pkgs/stdenv/generic/make-derivation.nix+11−4
pkgs/stdenv/generic/make-derivation.nix+11−4
@@ -200,9 +200,7 @@ in rec {
200200 // (lib.optionalAttrs (attrs ? name || (attrs ? pname && attrs ? version)) {
201201 name =
202202 let
203− staticMarker = lib.optionalString stdenv.hostPlatform.isStatic "-static";
204− name' = attrs.name or
205− "${attrs.pname}${staticMarker}-${attrs.version}";
203+ # Indicate the host platform of the derivation if cross compiling.
206204 # Fixed-output derivations like source tarballs shouldn't get a host
207205 # suffix. But we have some weird ones with run-time deps that are
208206 # just used for their side-affects. Those might as well since the
@@ -210,7 +208,16 @@ in rec {
210208 hostSuffix = lib.optionalString
211209 (stdenv.hostPlatform != stdenv.buildPlatform && !dontAddHostSuffix)
212210 "-${stdenv.hostPlatform.config}";
213− in name' + hostSuffix;
211+ # Disambiguate statically built packages. This was originally
212+ # introduce as a means to prevent nix-env to get confused between
213+ # nix and nixStatic. This should be also achieved by moving the
214+ # hostSuffix before the version, so we could contemplate removing
215+ # it again.
216+ staticMarker = lib.optionalString stdenv.hostPlatform.isStatic "-static";
217+ in
218+ if attrs ? name
219+ then attrs.name + hostSuffix
220+ else "${attrs.pname}${staticMarker}${hostSuffix}-${attrs.version}";
214221 }) // {
215222 builder = attrs.realBuilder or stdenv.shell;
216223 args = attrs.args or ["-e" (attrs.builder or ./default-builder.sh)];