diff --git a/pkgs/build-support/nuke-references/darwin-sign-fixup.sh b/pkgs/build-support/nuke-references/darwin-sign-fixup.sh deleted file mode 100644 index 940c18e5a627..000000000000 --- a/pkgs/build-support/nuke-references/darwin-sign-fixup.sh +++ /dev/null @@ -1,5 +0,0 @@ -# Fixup hook for nukeReferences, not stdenv - -source @signingUtils@ - -fixupHooks+=(signIfRequired) diff --git a/pkgs/build-support/nuke-references/default.nix b/pkgs/build-support/nuke-references/default.nix index 6bdb81477aac..13f2061b5aa8 100644 --- a/pkgs/build-support/nuke-references/default.nix +++ b/pkgs/build-support/nuke-references/default.nix @@ -11,12 +11,6 @@ shell ? stdenvNoCC.shell, }: -let - stdenv = stdenvNoCC; - - darwinCodeSign = stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64; -in - stdenvNoCC.mkDerivation { name = "nuke-references"; @@ -32,17 +26,14 @@ stdenvNoCC.mkDerivation { chmod a+x $out/bin/nuke-refs ''; - postFixup = lib.optionalString darwinCodeSign '' - mkdir -p $out/nix-support - substituteAll ${./darwin-sign-fixup.sh} $out/nix-support/setup-hooks.sh - ''; - # FIXME: get rid of perl dependency. env = { inherit perl; inherit (builtins) storeDir; shell = lib.getBin shell + (shell.shellPath or ""); - signingUtils = lib.optionalString darwinCodeSign signingUtils; + signingUtils = lib.optionalString ( + stdenvNoCC.targetPlatform.isDarwin && stdenvNoCC.targetPlatform.isAarch64 + ) signingUtils; }; meta.mainProgram = "nuke-refs"; diff --git a/pkgs/build-support/nuke-references/nuke-refs.sh b/pkgs/build-support/nuke-references/nuke-refs.sh index 21eb855cbad9..8a5a65973fca 100644 --- a/pkgs/build-support/nuke-references/nuke-refs.sh +++ b/pkgs/build-support/nuke-references/nuke-refs.sh @@ -2,8 +2,8 @@ fixupHooks=() -if [ -e @out@/nix-support/setup-hooks.sh ]; then - source @out@/nix-support/setup-hooks.sh +if [[ -n "@signingUtils@" ]]; then + source "@signingUtils@" fi excludes="" @@ -25,9 +25,8 @@ for i in "$@"; do cat "$i" | @perl@/bin/perl -pe "s|\Q@storeDir@\E/$excludes[a-z0-9]{32}-|@storeDir@/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-|g" > "$i.tmp" if test -x "$i"; then chmod +x "$i.tmp"; fi mv "$i.tmp" "$i" - - for hook in "${fixupHooks[@]}"; do - eval "$hook" "$i" - done + if [[ -n "@signingUtils@" ]]; then + signIfRequired "$i" + fi fi done diff --git a/pkgs/build-support/remove-references-to/darwin-sign-fixup.sh b/pkgs/build-support/remove-references-to/darwin-sign-fixup.sh deleted file mode 100644 index 940c18e5a627..000000000000 --- a/pkgs/build-support/remove-references-to/darwin-sign-fixup.sh +++ /dev/null @@ -1,5 +0,0 @@ -# Fixup hook for nukeReferences, not stdenv - -source @signingUtils@ - -fixupHooks+=(signIfRequired) diff --git a/pkgs/build-support/remove-references-to/default.nix b/pkgs/build-support/remove-references-to/default.nix index 6ae3e3125c85..13d3eb8a78d8 100644 --- a/pkgs/build-support/remove-references-to/default.nix +++ b/pkgs/build-support/remove-references-to/default.nix @@ -10,13 +10,7 @@ shell ? stdenvNoCC.shell, }: -let - stdenv = stdenvNoCC; - - darwinCodeSign = stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64; -in - -stdenv.mkDerivation { +stdenvNoCC.mkDerivation { name = "remove-references-to"; dontUnpack = true; @@ -29,16 +23,13 @@ stdenv.mkDerivation { chmod a+x $out/bin/remove-references-to ''; - postFixup = lib.optionalString darwinCodeSign '' - mkdir -p $out/nix-support - substituteAll ${./darwin-sign-fixup.sh} $out/nix-support/setup-hooks.sh - ''; - env = { inherit (builtins) storeDir; shell = lib.getBin shell + (shell.shellPath or ""); - } - // lib.optionalAttrs darwinCodeSign { inherit signingUtils; }; + signingUtils = lib.optionalString ( + stdenvNoCC.targetPlatform.isDarwin && stdenvNoCC.targetPlatform.isAarch64 + ) signingUtils; + }; meta.mainProgram = "remove-references-to"; } diff --git a/pkgs/build-support/remove-references-to/remove-references-to.sh b/pkgs/build-support/remove-references-to/remove-references-to.sh index a4d068eb591e..e24524d0c574 100755 --- a/pkgs/build-support/remove-references-to/remove-references-to.sh +++ b/pkgs/build-support/remove-references-to/remove-references-to.sh @@ -2,10 +2,6 @@ fixupHooks=() -if [ -e @out@/nix-support/setup-hooks.sh ]; then - source @out@/nix-support/setup-hooks.sh -fi - # References to remove targets=() while getopts t: o; do @@ -30,8 +26,9 @@ for target in "${targets[@]}" ; do sed -i -e "s|$target|eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee|g" "${regions[@]}" done -for region in "${regions[@]}"; do - for hook in "${fixupHooks[@]}"; do - eval "$hook" "$region" +if [[ -n "@signingUtils@" ]]; then + source "@signingUtils@" + for region in "${regions[@]}"; do + signIfRequired "$region" done -done +fi