summary refs log tree commit diff
path: root/pkgs/stdenv
diff options
context:
space:
mode:
authorRobert Hensing <robert@roberthensing.nl>2022-03-30 10:20:44 +0200
committerRobert Hensing <robert@roberthensing.nl>2022-03-30 10:29:19 +0200
commit7e0ef81015efa6d5fcdaafd388ad461aa4c6ad15 (patch)
tree61ba873a1c9146bc5d77c3f54cf6f39f069751c2 /pkgs/stdenv
parent6a079dad158f0331e866da8d1da443065deba6fa (diff)
downloadnixpkgs-7e0ef81015efa6d5fcdaafd388ad461aa4c6ad15.tar
nixpkgs-7e0ef81015efa6d5fcdaafd388ad461aa4c6ad15.tar.gz
nixpkgs-7e0ef81015efa6d5fcdaafd388ad461aa4c6ad15.tar.bz2
nixpkgs-7e0ef81015efa6d5fcdaafd388ad461aa4c6ad15.tar.lz
nixpkgs-7e0ef81015efa6d5fcdaafd388ad461aa4c6ad15.tar.xz
nixpkgs-7e0ef81015efa6d5fcdaafd388ad461aa4c6ad15.tar.zst
nixpkgs-7e0ef81015efa6d5fcdaafd388ad461aa4c6ad15.zip
stdenv.mkDerivation: Always sanitize derivation name
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r--pkgs/stdenv/generic/make-derivation.nix9
1 files changed, 6 insertions, 3 deletions
diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix
index 2465449867c..8749e8b7555 100644
--- a/pkgs/stdenv/generic/make-derivation.nix
+++ b/pkgs/stdenv/generic/make-derivation.nix
@@ -219,9 +219,11 @@ else let
           # it again.
           staticMarker = lib.optionalString stdenv.hostPlatform.isStatic "-static";
         in
+        lib.strings.sanitizeDerivationName (
           if attrs ? name
           then attrs.name + hostSuffix
-          else "${attrs.pname}${staticMarker}${hostSuffix}-${attrs.version}";
+          else "${attrs.pname}${staticMarker}${hostSuffix}-${attrs.version}"
+        );
     }) // {
       builder = attrs.realBuilder or stdenv.shell;
       args = attrs.args or ["-e" (attrs.builder or ./default-builder.sh)];
@@ -340,8 +342,9 @@ else let
   # passed to the builder and is not a dependency.  But since we
   # include it in the result, it *is* available to nix-env for queries.
   meta = {
-      # `name` above includes cross-compilation cruft (and is under assert),
-      # lets have a clean always accessible version here.
+      # `name` above includes cross-compilation cruft,
+      # is under assert, and is sanitized.
+      # Let's have a clean always accessible version here.
       name = attrs.name or "${attrs.pname}-${attrs.version}";
 
       # If the packager hasn't specified `outputsToInstall`, choose a default,