diff options
author | Sandro <sandro.jaeckel@gmail.com> | 2023-04-14 11:22:20 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-14 11:22:20 +0200 |
commit | b04d4bad2783416c587c45528ccc763c7910ff07 (patch) | |
tree | 1c471a07f535d6a1e67a1d7115a15c6b1e69e68e | |
parent | 6ed78f017cd0bdc4cb21ffaf77d15a471cf546dc (diff) | |
parent | 7090651071c9fb91da728183374d515f0894e37c (diff) | |
download | nixpkgs-b04d4bad2783416c587c45528ccc763c7910ff07.tar nixpkgs-b04d4bad2783416c587c45528ccc763c7910ff07.tar.gz nixpkgs-b04d4bad2783416c587c45528ccc763c7910ff07.tar.bz2 nixpkgs-b04d4bad2783416c587c45528ccc763c7910ff07.tar.lz nixpkgs-b04d4bad2783416c587c45528ccc763c7910ff07.tar.xz nixpkgs-b04d4bad2783416c587c45528ccc763c7910ff07.tar.zst nixpkgs-b04d4bad2783416c587c45528ccc763c7910ff07.zip |
Merge pull request #216992 from SuperSandro2000/stdenvNative-fix-eval
{bintools,cc}-wrapper: don't fallback to version = null
-rw-r--r-- | pkgs/build-support/bintools-wrapper/default.nix | 2 | ||||
-rw-r--r-- | pkgs/build-support/cc-wrapper/default.nix | 7 | ||||
-rw-r--r-- | pkgs/stdenv/generic/make-derivation.nix | 6 |
3 files changed, 11 insertions, 4 deletions
diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix index 00375db220f..24be0ffdf68 100644 --- a/pkgs/build-support/bintools-wrapper/default.nix +++ b/pkgs/build-support/bintools-wrapper/default.nix @@ -102,7 +102,7 @@ in stdenv.mkDerivation { pname = targetPrefix + (if name != "" then name else "${bintoolsName}-wrapper"); - version = if bintools == null then null else bintoolsVersion; + version = if bintools == null then "" else bintoolsVersion; preferLocalBuild = true; diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index 1f1d7489a98..19a5afee1fb 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -161,7 +161,7 @@ assert nativePrefix == bintools.nativePrefix; stdenv.mkDerivation { pname = targetPrefix + (if name != "" then name else "${ccName}-wrapper"); - version = if cc == null then null else ccVersion; + version = if cc == null then "" else ccVersion; preferLocalBuild = true; @@ -598,8 +598,11 @@ stdenv.mkDerivation { expandResponseParams = "${expand-response-params}/bin/expand-response-params"; shell = getBin shell + shell.shellPath or ""; gnugrep_bin = if nativeTools then "" else gnugrep; + # stdenv.cc.cc should not be null and we have nothing better for now. + # if the native impure bootstrap is gotten rid of this can become `inherit cc;` again. + cc = if nativeTools then "" else cc; wrapperName = "CC_WRAPPER"; - inherit suffixSalt coreutils_bin bintools cc; + inherit suffixSalt coreutils_bin bintools; inherit libc_bin libc_dev libc_lib; inherit darwinPlatformForCC darwinMinVersion darwinMinVersionVariable; }; diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix index 50d4b58615b..6cb494d46e5 100644 --- a/pkgs/stdenv/generic/make-derivation.nix +++ b/pkgs/stdenv/generic/make-derivation.nix @@ -309,6 +309,7 @@ else let hostSuffix = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform && !dontAddHostSuffix) "-${stdenv.hostPlatform.config}"; + # 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 @@ -319,7 +320,10 @@ else let lib.strings.sanitizeDerivationName ( if attrs ? name then attrs.name + hostSuffix - else "${attrs.pname}${staticMarker}${hostSuffix}-${attrs.version}" + else + # we cannot coerce null to a string below + assert lib.assertMsg (attrs ? version && attrs.version != null) "The ‘version’ attribute cannot be null."; + "${attrs.pname}${staticMarker}${hostSuffix}-${attrs.version}" ); }) // lib.optionalAttrs __structuredAttrs { env = checkedEnv; } // { builder = attrs.realBuilder or stdenv.shell; |