From 8a8f0408cd9b7fdda1095718107c800057658c44 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Thu, 8 Jun 2017 10:55:11 -0400 Subject: [PATCH] generic-builder: use buildInputs for Haskell dependencies This actually will matter when I (soon) land cross-compilation support, and native deps are compiled for the build, instead of host, platform. But even now, it's good style do this, and one less thing to review later. The use of `$nativePkgs` is unfortunate, as it will need to be swapped out for `$crossPkgs` for build != host builds. This will just a temporarily cause pain, however, as eventually I will change stdenv to use a `$runPkgs` (or moral equivalent) in both case. Closes https://github.com/NixOS/nixpkgs/pull/26480. --- .../haskell-modules/generic-builder.nix | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index 9516aca5366..38d74178e2e 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -144,9 +144,9 @@ let allPkgconfigDepends = pkgconfigDepends ++ libraryPkgconfigDepends ++ executablePkgconfigDepends ++ optionals doCheck testPkgconfigDepends ++ optionals withBenchmarkDepends benchmarkPkgconfigDepends; + nativeBuildInputs = setupHaskellDepends ++ buildTools ++ libraryToolDepends ++ executableToolDepends; propagatedBuildInputs = buildDepends ++ libraryHaskellDepends ++ executableHaskellDepends; - otherBuildInputs = extraLibraries ++ librarySystemDepends ++ executableSystemDepends ++ setupHaskellDepends ++ - buildTools ++ libraryToolDepends ++ executableToolDepends ++ + otherBuildInputs = extraLibraries ++ librarySystemDepends ++ executableSystemDepends ++ optionals (allPkgconfigDepends != []) ([pkgconfig] ++ allPkgconfigDepends) ++ optionals doCheck (testDepends ++ testHaskellDepends ++ testSystemDepends ++ testToolDepends) ++ # ghcjs's hsc2hs calls out to the native hsc2hs @@ -181,8 +181,9 @@ stdenv.mkDerivation ({ inherit src; - nativeBuildInputs = otherBuildInputs ++ optionals (!hasActiveLibrary) propagatedBuildInputs; - propagatedNativeBuildInputs = optionals hasActiveLibrary propagatedBuildInputs; + inherit nativeBuildInputs; + buildInputs = otherBuildInputs ++ optionals (!hasActiveLibrary) propagatedBuildInputs; + propagatedBuildInputs = optionals hasActiveLibrary propagatedBuildInputs; LANG = "en_US.UTF-8"; # GHC needs the locale configured during the Haddock phase. @@ -209,11 +210,8 @@ stdenv.mkDerivation ({ setupCompileFlags="${concatStringsSep " " setupCompileFlags}" configureFlags="${concatStringsSep " " defaultConfigureFlags} $configureFlags" - local inputClosure="" - for i in $propagatedNativeBuildInputs $nativeBuildInputs; do - findInputs $i inputClosure propagated-native-build-inputs - done - for p in $inputClosure; do + # nativePkgs defined in stdenv/setup.hs + for p in $nativePkgs; do if [ -d "$p/lib/${ghc.name}/package.conf.d" ]; then cp -f "$p/lib/${ghc.name}/package.conf.d/"*.conf $packageConfDir/ continue