Unverified Commit 6cb8c5ec authored by Jonathan del Strother's avatar Jonathan del Strother
Browse files

build-support: Simplify tmpdir creation with coreutils

macOS 10.12 doesn't have a usable --tmpdir flag on the builtin mktemp, but we can
make use of coreutil's mktemp instead.
parent 0c3d16a7
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -123,7 +123,7 @@ sourceUrl="docker://$imageName@$imageDigest"

# 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:-/tmp}/skopeo-copy-tmp-XXXXXXXX")")"
tmpPath="$(realpath "$(mktemp -d --tmpdir skopeo-copy-tmp-XXXXXXXX)")"
trap "rm -rf \"$tmpPath\"" EXIT

tmpFile="$tmpPath/$(get_name $finalImageName $finalImageTag)"
+2 −2
Original line number Diff line number Diff line
{ 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
  '';

+1 −1
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@ fi
if test -z "$finalPath"; then
    # 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:-/tmp}/bzr-checkout-tmp-XXXXXXXX")")"
    tmpPath="$(realpath "$(mktemp -d --tmpdir bzr-checkout-tmp-XXXXXXXX)")"
    trap "rm -rf \"$tmpPath\"" EXIT

    tmpFile="$tmpPath/$dstFile"
+1 −1
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@ fi
mkTempDir() {
    # 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:-/tmp}/nix-prefetch-cvs-XXXXXXXX")")"
    tmpPath="$(realpath "$(mktemp -d --tmpdir nix-prefetch-csv-XXXXXXXX)")"
    trap removeTempDir EXIT
}

+1 −2
Original line number Diff line number Diff line
@@ -453,10 +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

        # 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:-/tmp}/git-checkout-tmp-XXXXXXXX")")"
        tmpPath="$(realpath "$(mktemp -d --tmpdir git-checkout-tmp-XXXXXXXX)")"
        exit_handlers+=(remove_tmpPath)

        tmpFile="$tmpPath/$(url_to_name "$url" "$rev")"
Loading