summary refs log tree commit diff
path: root/pkgs/development/haskell-modules
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2018-05-09 15:46:48 -0500
committerMatthew Bauer <mjbauer95@gmail.com>2018-05-09 15:46:48 -0500
commit527abe59cf051350ad153a8756753d0ae93b94d4 (patch)
tree9c3ca60f6d88d3e1cfa7c5c57e9a291a72851b60 /pkgs/development/haskell-modules
parent8a98cf97e92cecba4feda766f4b7ac36cd82f8ea (diff)
downloadnixlib-527abe59cf051350ad153a8756753d0ae93b94d4.tar
nixlib-527abe59cf051350ad153a8756753d0ae93b94d4.tar.gz
nixlib-527abe59cf051350ad153a8756753d0ae93b94d4.tar.bz2
nixlib-527abe59cf051350ad153a8756753d0ae93b94d4.tar.lz
nixlib-527abe59cf051350ad153a8756753d0ae93b94d4.tar.xz
nixlib-527abe59cf051350ad153a8756753d0ae93b94d4.tar.zst
nixlib-527abe59cf051350ad153a8756753d0ae93b94d4.zip
generic-stack-builder: attempt to add propagation
Fixes #40039

This adds a shellHook to handle propagated dependencies like that seen
in #40039 where gpgme needed libgpg-error.
Diffstat (limited to 'pkgs/development/haskell-modules')
-rw-r--r--pkgs/development/haskell-modules/generic-stack-builder.nix15
1 files changed, 11 insertions, 4 deletions
diff --git a/pkgs/development/haskell-modules/generic-stack-builder.nix b/pkgs/development/haskell-modules/generic-stack-builder.nix
index 6e43df9aba69..5c2fced3f2e6 100644
--- a/pkgs/development/haskell-modules/generic-stack-builder.nix
+++ b/pkgs/development/haskell-modules/generic-stack-builder.nix
@@ -20,10 +20,17 @@ in stdenv.mkDerivation (args // {
 
   STACK_PLATFORM_VARIANT="nix";
   STACK_IN_NIX_SHELL=1;
-  STACK_IN_NIX_EXTRA_ARGS =
-    concatMap (pkg: ["--extra-lib-dirs=${getLib pkg}/lib"
-                     "--extra-include-dirs=${getDev pkg}/include"]) buildInputs ++
-    extraArgs;
+  STACK_IN_NIX_EXTRA_ARGS = extraArgs;
+  shellHook = ''
+    for pkg in ''${pkgsHostHost[@]} ''${pkgsHostBuild[@]} ''${pkgsHostTarget[@]}
+    do
+      [ -d "$pkg/lib" ] && \
+        export STACK_IN_NIX_EXTRA_ARGS+=" --extra-lib-dirs=$pkg/lib"
+      [ -d "$pkg/include" ] && \
+        export STACK_IN_NIX_EXTRA_ARGS+=" --extra-include-dirs=$pkg/include"
+    done
+  '';
+
 
   # XXX: workaround for https://ghc.haskell.org/trac/ghc/ticket/11042.
   LD_LIBRARY_PATH = makeLibraryPath (LD_LIBRARY_PATH ++ buildInputs);