build-support: fix nix-prefetch-* on macOS (#358685)
This commit is contained in:
@@ -121,7 +121,9 @@ fi
|
||||
|
||||
sourceUrl="docker://$imageName@$imageDigest"
|
||||
|
||||
tmpPath="$(mktemp -d "${TMPDIR:-/tmp}/skopeo-copy-tmp-XXXXXXXX")"
|
||||
# nix>=2.20 rejects adding symlinked paths to the store, so use realpath
|
||||
# to resolve to a physical path. https://github.com/NixOS/nix/issues/11941
|
||||
tmpPath="$(realpath "$(mktemp -d --tmpdir skopeo-copy-tmp-XXXXXXXX)")"
|
||||
trap "rm -rf \"$tmpPath\"" EXIT
|
||||
|
||||
tmpFile="$tmpPath/$(get_name $finalImageName $finalImageTag)"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, makeWrapper, nix, skopeo, jq }:
|
||||
{ lib, stdenv, makeWrapper, nix, skopeo, jq, coreutils }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "nix-prefetch-docker";
|
||||
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
|
||||
installPhase = ''
|
||||
install -vD ${./nix-prefetch-docker} $out/bin/$name;
|
||||
wrapProgram $out/bin/$name \
|
||||
--prefix PATH : ${lib.makeBinPath [ nix skopeo jq ]} \
|
||||
--prefix PATH : ${lib.makeBinPath [ nix skopeo jq coreutils ]} \
|
||||
--set HOME /homeless-shelter
|
||||
'';
|
||||
|
||||
|
||||
@@ -42,7 +42,9 @@ fi
|
||||
# If we don't know the hash or a path with that hash doesn't exist,
|
||||
# download the file and add it to the store.
|
||||
if test -z "$finalPath"; then
|
||||
tmpPath="$(mktemp -d "${TMPDIR:-/tmp}/bzr-checkout-tmp-XXXXXXXX")"
|
||||
# nix>=2.20 rejects adding symlinked paths to the store, so use realpath
|
||||
# to resolve to a physical path. https://github.com/NixOS/nix/issues/11941
|
||||
tmpPath="$(realpath "$(mktemp -d --tmpdir bzr-checkout-tmp-XXXXXXXX)")"
|
||||
trap "rm -rf \"$tmpPath\"" EXIT
|
||||
|
||||
tmpFile="$tmpPath/$dstFile"
|
||||
|
||||
@@ -20,7 +20,9 @@ fi
|
||||
|
||||
|
||||
mkTempDir() {
|
||||
tmpPath="$(mktemp -d "${TMPDIR:-/tmp}/nix-prefetch-cvs-XXXXXXXX")"
|
||||
# nix>=2.20 rejects adding symlinked paths to the store, so use realpath
|
||||
# to resolve to a physical path. https://github.com/NixOS/nix/issues/11941
|
||||
tmpPath="$(realpath "$(mktemp -d --tmpdir nix-prefetch-csv-XXXXXXXX)")"
|
||||
trap removeTempDir EXIT
|
||||
}
|
||||
|
||||
|
||||
@@ -453,8 +453,9 @@ else
|
||||
# If we don't know the hash or a path with that hash doesn't exist,
|
||||
# download the file and add it to the store.
|
||||
if test -z "$finalPath"; then
|
||||
|
||||
tmpPath="$(mktemp -d "${TMPDIR:-/tmp}/git-checkout-tmp-XXXXXXXX")"
|
||||
# nix>=2.20 rejects adding symlinked paths to the store, so use realpath
|
||||
# to resolve to a physical path. https://github.com/NixOS/nix/issues/11941
|
||||
tmpPath="$(realpath "$(mktemp -d --tmpdir git-checkout-tmp-XXXXXXXX)")"
|
||||
exit_handlers+=(remove_tmpPath)
|
||||
|
||||
tmpFile="$tmpPath/$(url_to_name "$url" "$rev")"
|
||||
|
||||
@@ -42,8 +42,9 @@ fi
|
||||
# If we don't know the hash or a path with that hash doesn't exist,
|
||||
# download the file and add it to the store.
|
||||
if [[ -z "$finalPath" ]]; then
|
||||
|
||||
tmpPath="$(mktemp -d "${TMPDIR:-/tmp}/hg-checkout-tmp-XXXXXXXX")"
|
||||
# nix>=2.20 rejects adding symlinked paths to the store, so use realpath
|
||||
# to resolve to a physical path. https://github.com/NixOS/nix/issues/11941
|
||||
tmpPath="$(realpath "$(mktemp -d --tmpdir hg-checkout-tmp-XXXXXXXX)")"
|
||||
cleanup() { x=$?; rm -rf "$tmpPath"; exit $x; }; trap cleanup EXIT
|
||||
|
||||
tmpArchive="$tmpPath/hg-archive"
|
||||
|
||||
@@ -41,7 +41,9 @@ fi
|
||||
# If we don't know the hash or a path with that hash doesn't exist,
|
||||
# download the file and add it to the store.
|
||||
if test -z "$finalPath"; then
|
||||
tmpPath="$(mktemp -d "${TMPDIR:-/tmp}/svn-checkout-tmp-XXXXXXXX")"
|
||||
# nix>=2.20 rejects adding symlinked paths to the store, so use realpath
|
||||
# to resolve to a physical path. https://github.com/NixOS/nix/issues/11941
|
||||
tmpPath="$(realpath "$(mktemp -d --tmpdir svn-checkout-tmp-XXXXXXXX)")"
|
||||
trap "rm -rf \"$tmpPath\"" EXIT
|
||||
|
||||
tmpFile="$tmpPath/$dstFile"
|
||||
|
||||
@@ -15,7 +15,7 @@ let mkPrefetchScript = tool: src: deps:
|
||||
installPhase = ''
|
||||
install -vD ${src} $out/bin/$name;
|
||||
wrapProgram $out/bin/$name \
|
||||
--prefix PATH : ${lib.makeBinPath (deps ++ [ gnused nix ])} \
|
||||
--prefix PATH : ${lib.makeBinPath (deps ++ [ coreutils gnused nix ])} \
|
||||
--set HOME /homeless-shelter
|
||||
'';
|
||||
|
||||
@@ -30,7 +30,7 @@ let mkPrefetchScript = tool: src: deps:
|
||||
in rec {
|
||||
nix-prefetch-bzr = mkPrefetchScript "bzr" ../../../build-support/fetchbzr/nix-prefetch-bzr [ breezy ];
|
||||
nix-prefetch-cvs = mkPrefetchScript "cvs" ../../../build-support/fetchcvs/nix-prefetch-cvs [ cvs ];
|
||||
nix-prefetch-git = mkPrefetchScript "git" ../../../build-support/fetchgit/nix-prefetch-git [ coreutils findutils gawk git git-lfs ];
|
||||
nix-prefetch-git = mkPrefetchScript "git" ../../../build-support/fetchgit/nix-prefetch-git [ findutils gawk git git-lfs ];
|
||||
nix-prefetch-hg = mkPrefetchScript "hg" ../../../build-support/fetchhg/nix-prefetch-hg [ mercurial ];
|
||||
nix-prefetch-svn = mkPrefetchScript "svn" ../../../build-support/fetchsvn/nix-prefetch-svn [ subversion ];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user