diff options
author | Artturin <Artturin@artturin.com> | 2022-12-31 15:25:54 +0200 |
---|---|---|
committer | Artturin <Artturin@artturin.com> | 2023-02-07 21:00:18 +0200 |
commit | 84e37a10ec32b70c0e1a74fb3e5a837f6e7d74ab (patch) | |
tree | dcc1b9ec3ff7085aaf08362494be7ad11111bb22 /pkgs/stdenv | |
parent | 371c2a630333eaed3a28fd3b7e7cb0ed73e4a84d (diff) | |
download | nixlib-84e37a10ec32b70c0e1a74fb3e5a837f6e7d74ab.tar nixlib-84e37a10ec32b70c0e1a74fb3e5a837f6e7d74ab.tar.gz nixlib-84e37a10ec32b70c0e1a74fb3e5a837f6e7d74ab.tar.bz2 nixlib-84e37a10ec32b70c0e1a74fb3e5a837f6e7d74ab.tar.lz nixlib-84e37a10ec32b70c0e1a74fb3e5a837f6e7d74ab.tar.xz nixlib-84e37a10ec32b70c0e1a74fb3e5a837f6e7d74ab.tar.zst nixlib-84e37a10ec32b70c0e1a74fb3e5a837f6e7d74ab.zip |
stdenv: allow propagating propagated dependencies separately from the
fixup phase for makeSetupHook
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r-- | pkgs/stdenv/generic/setup.sh | 65 |
1 files changed, 35 insertions, 30 deletions
diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 6ea44a641cef..1a637bf13fdd 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -995,6 +995,39 @@ stripHash() { } +recordPropagatedDependencies() { + # Propagate dependencies into the development output. + declare -ra flatVars=( + # Build + depsBuildBuildPropagated + propagatedNativeBuildInputs + depsBuildTargetPropagated + # Host + depsHostHostPropagated + propagatedBuildInputs + # Target + depsTargetTargetPropagated + ) + declare -ra flatFiles=( + "${propagatedBuildDepFiles[@]}" + "${propagatedHostDepFiles[@]}" + "${propagatedTargetDepFiles[@]}" + ) + + local propagatedInputsIndex + for propagatedInputsIndex in "${!flatVars[@]}"; do + local propagatedInputsSlice="${flatVars[$propagatedInputsIndex]}[@]" + local propagatedInputsFile="${flatFiles[$propagatedInputsIndex]}" + + [[ "${!propagatedInputsSlice}" ]] || continue + + mkdir -p "${!outputDev}/nix-support" + # shellcheck disable=SC2086 + printWords ${!propagatedInputsSlice} > "${!outputDev}/nix-support/$propagatedInputsFile" + done +} + + unpackCmdHooks+=(_defaultUnpack) _defaultUnpack() { local fn="$1" @@ -1379,36 +1412,8 @@ fixupPhase() { done - # Propagate dependencies & setup hook into the development output. - declare -ra flatVars=( - # Build - depsBuildBuildPropagated - propagatedNativeBuildInputs - depsBuildTargetPropagated - # Host - depsHostHostPropagated - propagatedBuildInputs - # Target - depsTargetTargetPropagated - ) - declare -ra flatFiles=( - "${propagatedBuildDepFiles[@]}" - "${propagatedHostDepFiles[@]}" - "${propagatedTargetDepFiles[@]}" - ) - - local propagatedInputsIndex - for propagatedInputsIndex in "${!flatVars[@]}"; do - local propagatedInputsSlice="${flatVars[$propagatedInputsIndex]}[@]" - local propagatedInputsFile="${flatFiles[$propagatedInputsIndex]}" - - [[ "${!propagatedInputsSlice}" ]] || continue - - mkdir -p "${!outputDev}/nix-support" - # shellcheck disable=SC2086 - printWords ${!propagatedInputsSlice} > "${!outputDev}/nix-support/$propagatedInputsFile" - done - + # record propagated dependencies & setup hook into the development output. + recordPropagatedDependencies if [ -n "${setupHook:-}" ]; then mkdir -p "${!outputDev}/nix-support" |