requireFile: don't perform Bash expansion (#508672)

This commit is contained in:
Philip Taron
2026-04-11 18:24:29 +00:00
committed by GitHub
13 changed files with 17 additions and 22 deletions
+2
View File
@@ -105,6 +105,8 @@
- `nodePackages.wavedrom-cli` has been removed, as it was unmaintained within nixpkgs.
- `requireFile` now treats any `message` or `url` argument as a literal string, rather than subjecting it to Bash here-doc expansion. This allows including strings like `$PWD` in the message without needing to know about and handle the undocumented Bash expansion.
- `nodePackages.browserify` has been removed, as it was unmaintained within nixpkgs.
- `nodePackages.sass` has been removed, as it was unmaintained within nixpkgs.
@@ -34,8 +34,8 @@ let
cp baseq3/pak*.pk3 /tmp/baseq3
nix-store --add-fixed sha256 --recursive /tmp/baseq3
Alternatively you can set services.quake3-server.baseq3 to a path and copy the baseq3 directory into
$services.quake3-server.baseq3/.q3a/
Alternatively you can set services.quake3-server.baseq3 to a path and
copy the baseq3 directory into the .q3a subdirectory of that path.
'';
};
@@ -139,7 +139,7 @@ stdenv.mkDerivation rec {
Once you have downloaded the file, please use the following command and re-run the
installation:
nix-prefetch-url file://\$PWD/${name}
nix-prefetch-url file://$PWD/${name}
'';
};
@@ -928,14 +928,7 @@ rec {
outputHash = hash_;
preferLocalBuild = true;
builder = writeScript "restrict-message" ''
source ${stdenvNoCC}/setup
cat <<_EOF_
***
${msg}
***
_EOF_
printf '%s' ${lib.escapeShellArg msg}
exit 1
'';
}
+2 -2
View File
@@ -33,8 +33,8 @@ stdenv.mkDerivation rec {
message = ''
We cannot download the commercial version automatically, as you require a license.
Once you bought a license, you need to add your downloaded version to the nix store.
You can do this by using "nix-prefetch-url file:///\$PWD/${commercialName}" in the
directory where yousaved it.
You can do this by using "nix-prefetch-url file:///$PWD/${commercialName}" in the
directory where you saved it.
'';
name = commercialName;
sha256 =
+1 -1
View File
@@ -23,7 +23,7 @@ let
Once you have downloaded the file, please use the following command and re-run the
installation:
nix-prefetch-url file://\$PWD/${name}
nix-prefetch-url file://$PWD/${name}
'';
};
+1 -1
View File
@@ -38,7 +38,7 @@ let
Then add this archive to the nix store with
"nix-prefetch-url file://\$PWD/${name}".
"nix-prefetch-url file://$PWD/${name}".
'';
sha256 = "0115pxdzdyma2vicxgr0j21pp82gxdyrlj090s8ihp0b50f0nlll";
};
@@ -33,7 +33,7 @@ stdenv.mkDerivation (finalAttrs: {
In order to install the Kinect Audio Firmware, you need to download the
non-redistributable firmware from Microsoft.
The firmware is available at ${firmwareUrl} and the license at ${licenseUrl} .
Save the file as UACFirmware and use "nix-prefetch-url file://\$PWD/UACFirmware" to
Save the file as UACFirmware and use "nix-prefetch-url file://$PWD/UACFirmware" to
add it to the Nix store.
'';
};
@@ -19,7 +19,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
message = ''
Due to the commercial license of Silverfort, Nix is unable to download
Silverfort automatically. Please download ${name} manually and add it
to the Nix store using \`nix-prefetch-url file:///\$PWD/${name}\`.
to the Nix store using `nix-prefetch-url file:///$PWD/${name}`.
It is recommended to add this file to the garbage collector root
to prevent grabage collection.
'';
+1 -1
View File
@@ -68,7 +68,7 @@ stdenv.mkDerivation {
The reason for this is because the 3DO uses its own proprietary disk
format.
Save the file as videos.tar and use "nix-prefetch-url file://\$PWD/${name}" to
Save the file as videos.tar and use "nix-prefetch-url file://$PWD/${name}" to
add it to the Nix store.
[*] ${helper}/bin/uqm3donix CDIMAGE ${name}
+1 -1
View File
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
helpMsg = ''
We cannot download the full version automatically, as you require a license.
Once you have bought a license, you need to add your downloaded version to the nix store.
You can do this by using "nix-prefetch-url file://\$PWD/${pname}.Linux.${version}.sh"
You can do this by using "nix-prefetch-url file://$PWD/${pname}.Linux.${version}.sh"
in the directory where you saved it.
'';
+1 -1
View File
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
goBuyItNow = ''
We cannot download the full version automatically, as you require a license.
Once you bought a license, you need to add your downloaded version to the nix store.
You can do this by using "nix-prefetch-url file://\$PWD/vessel-${version}-bin" in the
You can do this by using "nix-prefetch-url file://$PWD/vessel-${version}-bin" in the
directory where you saved it.
'';
@@ -43,8 +43,8 @@ stdenv.mkDerivation (finalAttrs: {
Once you have downloaded the file, please use the following
commands and re-run the installation:
mv \$PWD/"DisplayLink USB Graphics Software for Ubuntu6.2-EXE.zip" \$PWD/${name}
nix-prefetch-url file://\$PWD/${name}
mv $PWD/"DisplayLink USB Graphics Software for Ubuntu6.2-EXE.zip" $PWD/${name}
nix-prefetch-url file://$PWD/${name}
Alternatively, you can use the following command to download the
file directly: