mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-25 16:33:15 +00:00
haskell generic builder: setupHaskellDepends
should be `nativeBuildInputs
This is because they are just for Setup.hs, so they are just used at build time and completely isolated from the normal components' dependencies. This was previous implemented in8a8f0408cd
, but reverted ine69c7f5641
because it broken setup-depends non-cross in haskell shell environments (custom Setup.hs in cross shell environments has never worked). This version adds a special native exception to avoid that breakage.
This commit is contained in:
parent
513cd3de0e
commit
e1b9419dec
@ -169,18 +169,22 @@ let
|
||||
optionals doCheck testPkgconfigDepends ++ optionals doBenchmark benchmarkPkgconfigDepends;
|
||||
|
||||
nativeBuildInputs = [ ghc nativeGhc removeReferencesTo ] ++ optional (allPkgconfigDepends != []) pkgconfig ++
|
||||
setupHaskellDepends ++
|
||||
buildTools ++ libraryToolDepends ++ executableToolDepends;
|
||||
propagatedBuildInputs = buildDepends ++ libraryHaskellDepends ++ executableHaskellDepends;
|
||||
otherBuildInputs = setupHaskellDepends ++ extraLibraries ++ librarySystemDepends ++ executableSystemDepends ++
|
||||
otherBuildInputs = extraLibraries ++ librarySystemDepends ++ executableSystemDepends ++
|
||||
allPkgconfigDepends ++
|
||||
optionals doCheck (testDepends ++ testHaskellDepends ++ testSystemDepends ++ testToolDepends) ++
|
||||
optionals doBenchmark (benchmarkDepends ++ benchmarkHaskellDepends ++ benchmarkSystemDepends ++ benchmarkToolDepends);
|
||||
|
||||
allBuildInputs = propagatedBuildInputs ++ otherBuildInputs;
|
||||
|
||||
haskellBuildInputs = stdenv.lib.filter isHaskellPkg allBuildInputs;
|
||||
systemBuildInputs = stdenv.lib.filter isSystemPkg allBuildInputs;
|
||||
|
||||
ghcEnv = ghc.withPackages (p: haskellBuildInputs);
|
||||
# When not cross compiling, also include Setup.hs dependencies.
|
||||
ghcEnv = ghc.withPackages (p:
|
||||
haskellBuildInputs ++ stdenv.lib.optional (!isCross) setupHaskellDepends);
|
||||
|
||||
setupCommand = "./Setup";
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user