From 527abe59cf051350ad153a8756753d0ae93b94d4 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Wed, 9 May 2018 15:46:48 -0500 Subject: [PATCH] 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. --- .../haskell-modules/generic-stack-builder.nix | 15 +++++++++++---- 1 file 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);