From da19c34d0fd335424e734c3bec9ca87687eb15f0 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Fri, 17 Nov 2017 13:26:21 -0500 Subject: [PATCH] stdenv setup: Always use both propagated files This continues #23374, which always kept around both attributes, by always including both propagated files: `propgated-native-build-inputs` and `propagated-build-inputs`. `nativePkgs` and `crossPkgs` are still defined as before, however, so this change should only barely observable. This is an incremental step to fully keeping the dependencies separate in all cases. --- .../setup-hooks/multiple-outputs.sh | 12 +-- pkgs/build-support/trivial-builders.nix | 2 +- pkgs/desktops/plasma-5/default.nix | 6 +- .../compilers/openjdk-darwin/8.nix | 2 +- .../compilers/openjdk-darwin/default.nix | 2 +- pkgs/development/compilers/openjdk/7.nix | 4 +- pkgs/development/compilers/openjdk/8.nix | 4 +- pkgs/development/compilers/openjdk/9.nix | 4 +- .../compilers/oraclejdk/jdk-linux-base.nix | 2 +- .../compilers/oraclejdk/jdk9-linux.nix | 2 +- pkgs/development/compilers/zulu/8.nix | 2 +- pkgs/development/compilers/zulu/default.nix | 2 +- pkgs/development/interpreters/python/wrap.sh | 4 +- .../libraries/grantlee/5/setup-hook.sh | 20 ++--- .../libraries/kde-frameworks/default.nix | 6 +- .../development/libraries/libxslt/default.nix | 2 +- .../libraries/qt-5/hooks/qtbase-setup-hook.sh | 21 ++---- .../perl-modules/generic/builder.sh | 4 +- .../development/r-modules/generic-builder.nix | 4 +- pkgs/servers/monitoring/munin/default.nix | 4 +- pkgs/servers/x11/xorg/builder.sh | 26 +++---- pkgs/stdenv/generic/setup.sh | 75 ++++++++----------- pkgs/tools/filesystems/ceph/generic.nix | 4 +- pkgs/top-level/all-packages.nix | 2 +- 24 files changed, 83 insertions(+), 133 deletions(-) diff --git a/pkgs/build-support/setup-hooks/multiple-outputs.sh b/pkgs/build-support/setup-hooks/multiple-outputs.sh index 60d4ccf99ed1..ac2368a5b219 100644 --- a/pkgs/build-support/setup-hooks/multiple-outputs.sh +++ b/pkgs/build-support/setup-hooks/multiple-outputs.sh @@ -164,8 +164,6 @@ _multioutDevs() { } # Make the "dev" propagate other outputs needed for development. -# Note: with current cross-building setup, all packages are "native" if not cross-building; -# however, if cross-building, the outputs are non-native. We have to choose the right file. _multioutPropagateDev() { if [ "$outputs" = "out" ]; then return; fi; @@ -193,16 +191,8 @@ _multioutPropagateDev() { return fi - local propagatedBuildInputsFile - if [ -z "$crossConfig" ]; then - propagatedBuildInputsFile=propagated-native-build-inputs - else - propagatedBuildInputsFile=propagated-build-inputs - fi - mkdir -p "${!propagaterOutput}"/nix-support for output in $propagatedBuildOutputs; do - echo -n " ${!output}" >> "${!propagaterOutput}"/nix-support/$propagatedBuildInputsFile + echo -n " ${!output}" >> "${!propagaterOutput}"/nix-support/propagated-build-inputs done } - diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix index 32214db65842..7d44feb5ca65 100644 --- a/pkgs/build-support/trivial-builders.nix +++ b/pkgs/build-support/trivial-builders.nix @@ -101,7 +101,7 @@ rec { mkdir -p $out/nix-support cp ${script} $out/nix-support/setup-hook '' + lib.optionalString (deps != []) '' - printWords ${toString deps} > $out/nix-support/propagated-native-build-inputs + printWords ${toString deps} > $out/nix-support/propagated-build-inputs '' + lib.optionalString (substitutions != {}) '' substituteAll ${script} $out/nix-support/setup-hook ''); diff --git a/pkgs/desktops/plasma-5/default.nix b/pkgs/desktops/plasma-5/default.nix index a828ba0fe7bc..cae5c74b4428 100644 --- a/pkgs/desktops/plasma-5/default.nix +++ b/pkgs/desktops/plasma-5/default.nix @@ -58,11 +58,7 @@ let # Propagate $dev so that this setup hook is propagated # But only if there is a separate $dev output if [ "$outputDev" != out ]; then - if [ -n "$crossConfig" ]; then - propagatedBuildInputs="$propagatedBuildInputs @dev@" - else - propagatedNativeBuildInputs="$propagatedNativeBuildInputs @dev@" - fi + propagatedBuildInputs="$propagatedBuildInputs @dev@" fi fi ''; diff --git a/pkgs/development/compilers/openjdk-darwin/8.nix b/pkgs/development/compilers/openjdk-darwin/8.nix index 6234b63208cd..cc7c5fd371d2 100644 --- a/pkgs/development/compilers/openjdk-darwin/8.nix +++ b/pkgs/development/compilers/openjdk-darwin/8.nix @@ -33,7 +33,7 @@ let # any package that depends on the JRE has $CLASSPATH set up # properly. mkdir -p $out/nix-support - printWords ${setJavaClassPath} > $out/nix-support/propagated-native-build-inputs + printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs install_name_tool -change /usr/X11/lib/libfreetype.6.dylib ${freetype}/lib/libfreetype.6.dylib $out/jre/lib/libfontmanager.dylib diff --git a/pkgs/development/compilers/openjdk-darwin/default.nix b/pkgs/development/compilers/openjdk-darwin/default.nix index 1e8f88beea66..6ecc785be3b9 100644 --- a/pkgs/development/compilers/openjdk-darwin/default.nix +++ b/pkgs/development/compilers/openjdk-darwin/default.nix @@ -23,7 +23,7 @@ let # any package that depends on the JRE has $CLASSPATH set up # properly. mkdir -p $out/nix-support - printWords ${setJavaClassPath} > $out/nix-support/propagated-native-build-inputs + printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs install_name_tool -change /usr/X11/lib/libfreetype.6.dylib ${freetype}/lib/libfreetype.6.dylib $out/jre/lib/libfontmanager.dylib diff --git a/pkgs/development/compilers/openjdk/7.nix b/pkgs/development/compilers/openjdk/7.nix index 72f0ba293ba9..372bb1532698 100644 --- a/pkgs/development/compilers/openjdk/7.nix +++ b/pkgs/development/compilers/openjdk/7.nix @@ -184,13 +184,13 @@ let preFixup = '' prefix=$jre stripDirs "$stripDebugList" "''${stripDebugFlags:--S}" patchELF $jre - propagatedNativeBuildInputs+=" $jre" + propagatedBuildInputs+=" $jre" # Propagate the setJavaClassPath setup hook from the JRE so that # any package that depends on the JRE has $CLASSPATH set up # properly. mkdir -p $jre/nix-support - printWords ${setJavaClassPath} > $jre/nix-support/propagated-native-build-inputs + printWords ${setJavaClassPath} > $jre/nix-support/propagated-build-inputs # Set JAVA_HOME automatically. mkdir -p $out/nix-support diff --git a/pkgs/development/compilers/openjdk/8.nix b/pkgs/development/compilers/openjdk/8.nix index 4499a9126a0c..71ce9271bfa6 100644 --- a/pkgs/development/compilers/openjdk/8.nix +++ b/pkgs/development/compilers/openjdk/8.nix @@ -206,13 +206,13 @@ let preFixup = '' prefix=$jre stripDirs "$stripDebugList" "''${stripDebugFlags:--S}" patchELF $jre - propagatedNativeBuildInputs+=" $jre" + propagatedBuildInputs+=" $jre" # Propagate the setJavaClassPath setup hook from the JRE so that # any package that depends on the JRE has $CLASSPATH set up # properly. mkdir -p $jre/nix-support - printWords ${setJavaClassPath} > $jre/nix-support/propagated-native-build-inputs + printWords ${setJavaClassPath} > $jre/nix-support/propagated-build-inputs # Set JAVA_HOME automatically. mkdir -p $out/nix-support diff --git a/pkgs/development/compilers/openjdk/9.nix b/pkgs/development/compilers/openjdk/9.nix index ce556a32c11d..8697712de988 100644 --- a/pkgs/development/compilers/openjdk/9.nix +++ b/pkgs/development/compilers/openjdk/9.nix @@ -204,14 +204,14 @@ let preFixup = '' prefix=$jre stripDirs "$stripDebugList" "''${stripDebugFlags:--S}" patchELF $jre - propagatedNativeBuildInputs+=" $jre" + propagatedBuildInputs+=" $jre" # Propagate the setJavaClassPath setup hook from the JRE so that # any package that depends on the JRE has $CLASSPATH set up # properly. mkdir -p $jre/nix-support #TODO or printWords? cf https://github.com/NixOS/nixpkgs/pull/27427#issuecomment-317293040 - echo -n "${setJavaClassPath}" > $jre/nix-support/propagated-native-build-inputs + echo -n "${setJavaClassPath}" > $jre/nix-support/propagated-build-inputs # Set JAVA_HOME automatically. mkdir -p $out/nix-support diff --git a/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix index 2a00cf5f2d29..c2866446f76f 100644 --- a/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix +++ b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix @@ -166,7 +166,7 @@ let result = stdenv.mkDerivation rec { ln -s $jrePath/lib/${architecture}/libnpjp2.so $jrePath/lib/${architecture}/plugins mkdir -p $out/nix-support - printWords ${setJavaClassPath} > $out/nix-support/propagated-native-build-inputs + printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs # Set JAVA_HOME automatically. cat <> $out/nix-support/setup-hook diff --git a/pkgs/development/compilers/oraclejdk/jdk9-linux.nix b/pkgs/development/compilers/oraclejdk/jdk9-linux.nix index fbda96e14258..29d77a613b38 100644 --- a/pkgs/development/compilers/oraclejdk/jdk9-linux.nix +++ b/pkgs/development/compilers/oraclejdk/jdk9-linux.nix @@ -124,7 +124,7 @@ let result = stdenv.mkDerivation rec { ln -s $out $out/jre mkdir -p $out/nix-support - printWords ${setJavaClassPath} > $out/nix-support/propagated-native-build-inputs + printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs # Set JAVA_HOME automatically. cat <> $out/nix-support/setup-hook diff --git a/pkgs/development/compilers/zulu/8.nix b/pkgs/development/compilers/zulu/8.nix index f7638757ff7a..1be0247c5ec3 100644 --- a/pkgs/development/compilers/zulu/8.nix +++ b/pkgs/development/compilers/zulu/8.nix @@ -54,7 +54,7 @@ in stdenv.mkDerivation rec { find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \; mkdir -p $out/nix-support - printWords ${setJavaClassPath} > $out/nix-support/propagated-native-build-inputs + printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs # Set JAVA_HOME automatically. cat <> $out/nix-support/setup-hook diff --git a/pkgs/development/compilers/zulu/default.nix b/pkgs/development/compilers/zulu/default.nix index 92f1f0a111ed..63551d282475 100644 --- a/pkgs/development/compilers/zulu/default.nix +++ b/pkgs/development/compilers/zulu/default.nix @@ -51,7 +51,7 @@ in stdenv.mkDerivation rec { find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \; mkdir -p $out/nix-support - printWords ${setJavaClassPath} > $out/nix-support/propagated-native-build-inputs + printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs # Set JAVA_HOME automatically. cat <> $out/nix-support/setup-hook diff --git a/pkgs/development/interpreters/python/wrap.sh b/pkgs/development/interpreters/python/wrap.sh index 37bd5b097395..01b573e6ad5d 100644 --- a/pkgs/development/interpreters/python/wrap.sh +++ b/pkgs/development/interpreters/python/wrap.sh @@ -83,7 +83,7 @@ wrapPythonProgramsIn() { # Adds the lib and bin directories to the PYTHONPATH and PATH variables, # respectively. Recurses on any paths declared in -# `propagated-native-build-inputs`, while avoiding duplicating paths by +# `propagated-build-inputs`, while avoiding duplicating paths by # flagging the directories it has visited in `pythonPathsSeen`. _addToPythonPath() { local dir="$1" @@ -96,7 +96,7 @@ _addToPythonPath() { addToSearchPath program_PATH $dir/bin # Inspect the propagated inputs (if they exist) and recur on them. - local prop="$dir/nix-support/propagated-native-build-inputs" + local prop="$dir/nix-support/propagated-build-inputs" if [ -e $prop ]; then local new_path for new_path in $(cat $prop); do diff --git a/pkgs/development/libraries/grantlee/5/setup-hook.sh b/pkgs/development/libraries/grantlee/5/setup-hook.sh index d11ef5883a1f..aaa64868dc94 100644 --- a/pkgs/development/libraries/grantlee/5/setup-hook.sh +++ b/pkgs/development/libraries/grantlee/5/setup-hook.sh @@ -4,20 +4,14 @@ providesGrantleeRuntime() { [ -d "$1/$grantleePluginPrefix" ] } -_grantleeCrossEnvHook() { - if providesQtRuntime "$1"; then +_grantleeEnvHook() { + if providesGrantleeRuntime "$1"; then propagatedBuildInputs+=" $1" propagatedUserEnvPkgs+=" $1" fi } -crossEnvHooks+=(_grantleeCrossEnvHook) - -_grantleeEnvHook() { - if providesGrantleeRuntime "$1"; then - propagatedNativeBuildInputs+=" $1" - if [ -z "$crossConfig" ]; then - propagatedUserEnvPkgs+=" $1" - fi - fi -} -envHooks+=(_grantleeEnvHook) +if [ "$crossEnv" ]; then + crossEnvHooks+=(_grantleeEnvHook) +else + envHooks+=(_grantleeEnvHook) +fi diff --git a/pkgs/development/libraries/kde-frameworks/default.nix b/pkgs/development/libraries/kde-frameworks/default.nix index 2bf10737ab0b..08eebfd83aee 100644 --- a/pkgs/development/libraries/kde-frameworks/default.nix +++ b/pkgs/development/libraries/kde-frameworks/default.nix @@ -56,11 +56,7 @@ let # Propagate $dev so that this setup hook is propagated # But only if there is a separate $dev output if [ "$outputDev" != out ]; then - if [ -n "$crossConfig" ]; then - propagatedBuildInputs="$propagatedBuildInputs @dev@" - else - propagatedNativeBuildInputs="$propagatedNativeBuildInputs @dev@" - fi + propagatedBuildInputs="$propagatedBuildInputs @dev@" fi fi ''; diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix index 1c27b6e3233b..bcc0b30f1277 100644 --- a/pkgs/development/libraries/libxslt/default.nix +++ b/pkgs/development/libraries/libxslt/default.nix @@ -51,7 +51,7 @@ stdenv.mkDerivation rec { moveToOutput share/man/man1 "$bin" '' + optionalString pythonSupport '' mkdir -p $py/nix-support - echo ${libxml2.py} >> $py/nix-support/propagated-native-build-inputs + echo ${libxml2.py} >> $py/nix-support/propagated-build-inputs moveToOutput lib/python2.7 "$py" ''; diff --git a/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh b/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh index 258b2d09f20b..8ec7eeda8aee 100644 --- a/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh +++ b/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh @@ -33,7 +33,7 @@ addToQMAKEPATH() { # package depending on the building package. (This is necessary in case # the building package does not provide runtime dependencies itself and so # would not be propagated to the user environment.) -qtCrossEnvHook() { +qtEnvHook() { addToQMAKEPATH "$1" if providesQtRuntime "$1"; then if [ "z${!outputBin}" != "z${!outputDev}" ]; then @@ -42,20 +42,11 @@ qtCrossEnvHook() { propagatedUserEnvPkgs+=" $1" fi } -crossEnvHooks+=(qtCrossEnvHook) - -qtEnvHook() { - addToQMAKEPATH "$1" - if providesQtRuntime "$1"; then - if [ "z${!outputBin}" != "z${!outputDev}" ]; then - propagatedNativeBuildInputs+=" $1" - fi - if [ -z "$crossConfig" ]; then - propagatedUserEnvPkgs+=" $1" - fi - fi -} -envHooks+=(qtEnvHook) +if [ "$crossConfig" ]; then + crossEnvHooks+=(qtEnvHook) +else + envHooks+=(qtEnvHook) +fi postPatchMkspecs() { local bin="${!outputBin}" diff --git a/pkgs/development/perl-modules/generic/builder.sh b/pkgs/development/perl-modules/generic/builder.sh index 9ee8be87c028..09b50e564110 100644 --- a/pkgs/development/perl-modules/generic/builder.sh +++ b/pkgs/development/perl-modules/generic/builder.sh @@ -34,8 +34,8 @@ postFixup() { # dependencies in the user environment (since Perl modules don't # have something like an RPATH, so the only way to find the # dependencies is to have them in the PERL5LIB variable). - if test -e $out/nix-support/propagated-native-build-inputs; then - ln -s $out/nix-support/propagated-native-build-inputs $out/nix-support/propagated-user-env-packages + if test -e $out/nix-support/propagated-build-inputs; then + ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages fi } diff --git a/pkgs/development/r-modules/generic-builder.nix b/pkgs/development/r-modules/generic-builder.nix index 582b8aa44dc2..ff6c3ad1b903 100644 --- a/pkgs/development/r-modules/generic-builder.nix +++ b/pkgs/development/r-modules/generic-builder.nix @@ -41,8 +41,8 @@ stdenv.mkDerivation ({ ''; postFixup = '' - if test -e $out/nix-support/propagated-native-build-inputs; then - ln -s $out/nix-support/propagated-native-build-inputs $out/nix-support/propagated-user-env-packages + if test -e $out/nix-support/propagated-build-inputs; then + ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages fi ''; diff --git a/pkgs/servers/monitoring/munin/default.nix b/pkgs/servers/monitoring/munin/default.nix index 7882572b6c88..da6c98371689 100644 --- a/pkgs/servers/monitoring/munin/default.nix +++ b/pkgs/servers/monitoring/munin/default.nix @@ -102,8 +102,8 @@ stdenv.mkDerivation rec { find "$out/lib/plugins" -type f -print0 | xargs -0 -L1 \ sed -i -e "s|/usr/bin/||g" -e "s|/usr/sbin/||g" -e "s|\|${bc}/bin/bc|g" - if test -e $out/nix-support/propagated-native-build-inputs; then - ln -s $out/nix-support/propagated-native-build-inputs $out/nix-support/propagated-user-env-packages + if test -e $out/nix-support/propagated-build-inputs; then + ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages fi for file in "$out"/bin/munindoc "$out"/sbin/munin-* "$out"/lib/munin-* "$out"/www/cgi/*; do diff --git a/pkgs/servers/x11/xorg/builder.sh b/pkgs/servers/x11/xorg/builder.sh index fae8bf5a8ce5..bb3e5ac42832 100644 --- a/pkgs/servers/x11/xorg/builder.sh +++ b/pkgs/servers/x11/xorg/builder.sh @@ -16,22 +16,18 @@ postInstall() { echo "propagating requisites $requires" + if test -n "$crossConfig"; then + local pkgs=("${crossPkgs[@]}") + else + local pkgs=("${nativePkgs[@]}") + fi for r in $requires; do - if test -n "$crossConfig"; then - for p in "${crossPkgs[@]}"; do - if test -e $p/lib/pkgconfig/$r.pc; then - echo " found requisite $r in $p" - propagatedBuildInputs="$propagatedBuildInputs $p" - fi - done - else - for p in "${nativePkgs[@]}"; do - if test -e $p/lib/pkgconfig/$r.pc; then - echo " found requisite $r in $p" - propagatedNativeBuildInputs="$propagatedNativeBuildInputs $p" - fi - done - fi + for p in "${pkgs[@]}"; do + if test -e $p/lib/pkgconfig/$r.pc; then + echo " found requisite $r in $p" + propagatedBuildInputs+=" $p" + fi + done done } diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index ee25013d5a59..686ed68cedeb 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -239,12 +239,12 @@ isScript() { # printf unfortunately will print a trailing newline regardless printLines() { - [[ "$#" -gt 0 ]] || return 0 + (( "$#" > 0 )) || return 0 printf '%s\n' "$@" } printWords() { - [[ "$#" -gt 0 ]] || return 0 + (( "$#" > 0 )) || return 0 printf '%s ' "$@" } @@ -302,9 +302,9 @@ runHook addInputsHook # Recursively find all build inputs. findInputs() { - local pkg="$1" - local var="$2" - local propagatedBuildInputsFile="$3" + local pkg="$1"; shift + local var="$1"; shift + local propagatedBuildInputsFiles=("$@") # TODO(@Ericson2314): Restore using associative array once Darwin # nix-shell doesn't use impure bash. This should replace the O(n) @@ -324,12 +324,16 @@ findInputs() { exit 1 fi - if [ -f "$pkg/nix-support/$propagatedBuildInputsFile" ]; then + local file + for file in "${propagatedBuildInputsFiles[@]}"; do + file="$pkg/nix-support/$file" + [[ -f "$file" ]] || continue + local pkgNext - for pkgNext in $(< "$pkg/nix-support/$propagatedBuildInputsFile"); do - findInputs "$pkgNext" "$var" "$propagatedBuildInputsFile" + for pkgNext in $(< "$file"); do + findInputs "$pkgNext" "$var" "${propagatedBuildInputsFiles[@]}" done - fi + done } # Add package to the future PATH and run setup hooks @@ -362,26 +366,21 @@ if [ -z "${crossConfig:-}" ]; then for i in ${nativeBuildInputs:-} ${buildInputs:-} \ ${defaultNativeBuildInputs:-} ${defaultBuildInputs:-} \ ${propagatedNativeBuildInputs:-} ${propagatedBuildInputs:-}; do - findInputs "$i" nativePkgs propagated-native-build-inputs - done - - for i in "${nativePkgs[@]}"; do - activatePackage "$i" + findInputs "$i" nativePkgs propagated-native-build-inputs propagated-build-inputs done else - for i in ${buildInputs:-} ${defaultBuildInputs:-} ${propagatedBuildInputs:-}; do - findInputs "$i" crossPkgs propagated-build-inputs - done - for i in ${nativeBuildInputs:-} ${defaultNativeBuildInputs:-} ${propagatedNativeBuildInputs:-}; do findInputs "$i" nativePkgs propagated-native-build-inputs done - - for i in "${nativePkgs[@]}" "${crossPkgs[@]}"; do - activatePackage "$i" + for i in ${buildInputs:-} ${defaultBuildInputs:-} ${propagatedBuildInputs:-}; do + findInputs "$i" crossPkgs propagated-build-inputs done fi +for i in ${nativePkgs+"${nativePkgs[@]}"} ${crossPkgs+"${crossPkgs[@]}"}; do + activatePackage "$i" +done + # Set the relevant environment variables to point to the build inputs # found above. @@ -898,31 +897,19 @@ fixupPhase() { # Propagate build inputs and setup hook into the development output. - if [ -z "${crossConfig:-}" ]; then - # Not cross-compiling - propagatedBuildInputs are handled identically to propagatedNativeBuildInputs - local propagated="$propagatedNativeBuildInputs" - if [ -n "${propagatedBuildInputs:-}" ]; then - propagated+="${propagated:+ }$propagatedBuildInputs" - fi - if [ -n "${propagated:-}" ]; then - mkdir -p "${!outputDev}/nix-support" - # shellcheck disable=SC2086 - printWords $propagated > "${!outputDev}/nix-support/propagated-native-build-inputs" - fi - else - if [ -n "${propagatedBuildInputs:-}" ]; then - mkdir -p "${!outputDev}/nix-support" - # shellcheck disable=SC2086 - printWords $propagatedBuildInputs > "${!outputDev}/nix-support/propagated-build-inputs" - fi - - if [ -n "${propagatedNativeBuildInputs:-}" ]; then - mkdir -p "${!outputDev}/nix-support" - # shellcheck disable=SC2086 - printWords $propagatedNativeBuildInputs > "${!outputDev}/nix-support/propagated-native-build-inputs" - fi + if [ -n "${propagatedBuildInputs:-}" ]; then + mkdir -p "${!outputDev}/nix-support" + # shellcheck disable=SC2086 + printWords $propagatedBuildInputs > "${!outputDev}/nix-support/propagated-build-inputs" fi + if [ -n "${propagatedNativeBuildInputs:-}" ]; then + mkdir -p "${!outputDev}/nix-support" + # shellcheck disable=SC2086 + printWords $propagatedNativeBuildInputs > "${!outputDev}/nix-support/propagated-native-build-inputs" + fi + + if [ -n "${setupHook:-}" ]; then mkdir -p "${!outputDev}/nix-support" substituteAll "$setupHook" "${!outputDev}/nix-support/setup-hook" diff --git a/pkgs/tools/filesystems/ceph/generic.nix b/pkgs/tools/filesystems/ceph/generic.nix index 0af97dd3b540..ffcf20d1651b 100644 --- a/pkgs/tools/filesystems/ceph/generic.nix +++ b/pkgs/tools/filesystems/ceph/generic.nix @@ -227,9 +227,9 @@ stdenv.mkDerivation { wrapProgram $out/sbin/ceph-create-keys ${wrapArgs} wrapProgram $out/sbin/ceph-disk ${wrapArgs} - # Bring in lib as a native build input + # Bring in lib as a run-time dependency mkdir -p $out/nix-support - echo "$lib" > $out/nix-support/propagated-native-build-inputs + echo "$lib" > $out/nix-support/propagated-build-inputs # Fix the python library loading find $lib/lib -name \*.pyc -or -name \*.pyd -exec rm {} \; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4e31727849ce..102284fdf95e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9748,7 +9748,7 @@ with pkgs; # the hook to find catalogs is hidden by buildEnv postBuild = '' mkdir "$out/nix-support" - cp '${libxml2.dev}/nix-support/propagated-native-build-inputs' "$out/nix-support/" + cp '${libxml2.dev}/nix-support/propagated-build-inputs' "$out/nix-support/" ''; };