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 | nixpkgs-da19c34d0fd335424e734c3bec9ca87687eb15f0.tar nixpkgs-da19c34d0fd335424e734c3bec9ca87687eb15f0.tar.gz nixpkgs-da19c34d0fd335424e734c3bec9ca87687eb15f0.tar.bz2 nixpkgs-da19c34d0fd335424e734c3bec9ca87687eb15f0.tar.lz nixpkgs-da19c34d0fd335424e734c3bec9ca87687eb15f0.tar.xz nixpkgs-da19c34d0fd335424e734c3bec9ca87687eb15f0.tar.zst nixpkgs-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 60d4ccf99ed..ac2368a5b21 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 32214db6584..7d44feb5ca6 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 a828ba0fe7b..cae5c74b442 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 6234b63208c..cc7c5fd371d 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 1e8f88beea6..6ecc785be3b 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 72f0ba293ba..372bb153269 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 4499a9126a0..71ce9271bfa 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 ce556a32c11..8697712de98 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 2a00cf5f2d2..c2866446f76 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 fbda96e1425..29d77a613b3 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 f7638757ff7..1be0247c5ec 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 92f1f0a111e..63551d28247 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 37bd5b09739..01b573e6ad5 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 d11ef5883a1..aaa64868dc9 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 2bf10737ab0..08eebfd83ae 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 1c27b6e3233..bcc0b30f127 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 258b2d09f20..8ec7eeda8ae 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 9ee8be87c02..09b50e56411 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 582b8aa44dc..ff6c3ad1b90 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 7882572b6c8..da6c9837168 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 fae8bf5a8ce..bb3e5ac4283 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 ee25013d5a5..686ed68cede 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 0af97dd3b54..ffcf20d1651 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 4e31727849c..102284fdf95 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/" ''; }; |