diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2017-11-17 13:26:21 -0500 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2017-11-21 10:44:44 -0500 |
commit | da19c34d0fd335424e734c3bec9ca87687eb15f0 (patch) | |
tree | d6ee6f1c3e16dfc3d3dab6226bfd9cff97e296de /pkgs | |
parent | 652c2beda9a5351ddd07e422215100aca75412ae (diff) | |
download | nixlib-da19c34d0fd335424e734c3bec9ca87687eb15f0.tar nixlib-da19c34d0fd335424e734c3bec9ca87687eb15f0.tar.gz nixlib-da19c34d0fd335424e734c3bec9ca87687eb15f0.tar.bz2 nixlib-da19c34d0fd335424e734c3bec9ca87687eb15f0.tar.lz nixlib-da19c34d0fd335424e734c3bec9ca87687eb15f0.tar.xz nixlib-da19c34d0fd335424e734c3bec9ca87687eb15f0.tar.zst nixlib-da19c34d0fd335424e734c3bec9ca87687eb15f0.zip |
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.
Diffstat (limited to 'pkgs')
24 files changed, 81 insertions, 131 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 <<EOF >> $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 <<EOF >> $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 <<EOF >> $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 <<EOF >> $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 - propagatedBuildInputs+=" $1" - propagatedUserEnvPkgs+=" $1" - fi -} -crossEnvHooks+=(_grantleeCrossEnvHook) - _grantleeEnvHook() { if providesGrantleeRuntime "$1"; then - propagatedNativeBuildInputs+=" $1" - if [ -z "$crossConfig" ]; then + propagatedBuildInputs+=" $1" 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,29 +33,20 @@ 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() { - addToQMAKEPATH "$1" - if providesQtRuntime "$1"; then - if [ "z${!outputBin}" != "z${!outputDev}" ]; then - propagatedBuildInputs+=" $1" - fi - propagatedUserEnvPkgs+=" $1" - fi -} -crossEnvHooks+=(qtCrossEnvHook) - qtEnvHook() { addToQMAKEPATH "$1" if providesQtRuntime "$1"; then if [ "z${!outputBin}" != "z${!outputDev}" ]; then - propagatedNativeBuildInputs+=" $1" + propagatedBuildInputs+=" $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\>|${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 "${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 "${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/" ''; }; |