about summary refs log tree commit diff
path: root/pkgs/stdenv/generic/setup.sh
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2015-04-18 15:46:00 +0200
committerVladimír Čunát <vcunat@gmail.com>2015-04-18 19:30:28 +0200
commitd484c392aaa4e17f48bd09bcb2e41030f76a920a (patch)
treef75d3dbbfffa26a1d9827d2c938caac1821876a7 /pkgs/stdenv/generic/setup.sh
parentbf414c9d4f892fd4e392a5f42016b57e84402a8b (diff)
downloadnixlib-d484c392aaa4e17f48bd09bcb2e41030f76a920a.tar
nixlib-d484c392aaa4e17f48bd09bcb2e41030f76a920a.tar.gz
nixlib-d484c392aaa4e17f48bd09bcb2e41030f76a920a.tar.bz2
nixlib-d484c392aaa4e17f48bd09bcb2e41030f76a920a.tar.lz
nixlib-d484c392aaa4e17f48bd09bcb2e41030f76a920a.tar.xz
nixlib-d484c392aaa4e17f48bd09bcb2e41030f76a920a.tar.zst
nixlib-d484c392aaa4e17f48bd09bcb2e41030f76a920a.zip
stdenv multiple-outputs: change propagation rules
Now development stuff is propagated from the first output,
and userEnvPkgs from the one with binaries.

Also don't move *.la files (yet). It causes problems, and they're small.
Diffstat (limited to 'pkgs/stdenv/generic/setup.sh')
-rw-r--r--pkgs/stdenv/generic/setup.sh26
1 files changed, 14 insertions, 12 deletions
diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh
index b5d31e09153a..1011c4c53480 100644
--- a/pkgs/stdenv/generic/setup.sh
+++ b/pkgs/stdenv/generic/setup.sh
@@ -712,27 +712,29 @@ fixupPhase() {
         prefix=${!output} runHook fixupOutput
     done
 
-    # Multiple-output derivations mostly choose $dev instead of $out
-    local prOut="${propagateIntoOutput:-$out}"
+
+    # Propagate build inputs and setup hook into the development output.
 
     if [ -n "$propagatedBuildInputs" ]; then
-        mkdir -p "$prOut/nix-support"
-        echo "$propagatedBuildInputs" > "$prOut/nix-support/propagated-build-inputs"
+        mkdir -p "${!outputDev}/nix-support"
+        echo "$propagatedBuildInputs" > "${!outputDev}/nix-support/propagated-build-inputs"
     fi
 
     if [ -n "$propagatedNativeBuildInputs" ]; then
-        mkdir -p "$prOut/nix-support"
-        echo "$propagatedNativeBuildInputs" > "$prOut/nix-support/propagated-native-build-inputs"
+        mkdir -p "${!outputDev}/nix-support"
+        echo "$propagatedNativeBuildInputs" > "${!outputDev}/nix-support/propagated-native-build-inputs"
     fi
 
-    if [ -n "$propagatedUserEnvPkgs" ]; then
-        mkdir -p "$prOut/nix-support"
-        echo "$propagatedUserEnvPkgs" > "$prOut/nix-support/propagated-user-env-packages"
+    if [ -n "$setupHook" ]; then
+        mkdir -p "${!outputDev}/nix-support"
+        substituteAll "$setupHook" "${!outputDev}/nix-support/setup-hook"
     fi
 
-    if [ -n "$setupHook" ]; then
-        mkdir -p "$prOut/nix-support"
-        substituteAll "$setupHook" "$prOut/nix-support/setup-hook"
+    # Propagate user-env packages into the output with binaries, TODO?
+
+    if [ -n "$propagatedUserEnvPkgs" ]; then
+        mkdir -p "${!outputBin}/nix-support"
+        echo "$propagatedUserEnvPkgs" > "${!outputBin}/nix-support/propagated-user-env-packages"
     fi
 
     runHook postFixup