Merge pull request #120762 from sternenseemann/mkderivation-host-suffix-middle

pkgs/stdenv/make-derivation: move hostSuffix before the version
This commit is contained in:
John Ericson 2021-04-26 15:14:03 -04:00 committed by GitHub
commit 8e4fe32876
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -200,9 +200,7 @@ in rec {
// (lib.optionalAttrs (attrs ? name || (attrs ? pname && attrs ? version)) {
name =
let
staticMarker = lib.optionalString stdenv.hostPlatform.isStatic "-static";
name' = attrs.name or
"${attrs.pname}${staticMarker}-${attrs.version}";
# Indicate the host platform of the derivation if cross compiling.
# Fixed-output derivations like source tarballs shouldn't get a host
# suffix. But we have some weird ones with run-time deps that are
# just used for their side-affects. Those might as well since the
@ -210,7 +208,16 @@ in rec {
hostSuffix = lib.optionalString
(stdenv.hostPlatform != stdenv.buildPlatform && !dontAddHostSuffix)
"-${stdenv.hostPlatform.config}";
in name' + hostSuffix;
# Disambiguate statically built packages. This was originally
# introduce as a means to prevent nix-env to get confused between
# nix and nixStatic. This should be also achieved by moving the
# hostSuffix before the version, so we could contemplate removing
# it again.
staticMarker = lib.optionalString stdenv.hostPlatform.isStatic "-static";
in
if attrs ? name
then attrs.name + hostSuffix
else "${attrs.pname}${staticMarker}${hostSuffix}-${attrs.version}";
}) // {
builder = attrs.realBuilder or stdenv.shell;
args = attrs.args or ["-e" (attrs.builder or ./default-builder.sh)];