From b40e1efe000ec5c4616cecc9d6836eade419434e Mon Sep 17 00:00:00 2001 From: Michael Alan Dorman Date: Sun, 12 Jun 2016 17:07:46 -0400 Subject: [PATCH] haskell generic-builder: don't propagate setupHaskellDepends MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Without this patch, attempts to install at least some of the packages that start to use setupHaskellDepends (mostly gtk-related packages) results in collisions: building path(s) ‘/nix/store/63k5smns43f5r2ad8wcc242x0gwd70m3-ghc-8.0.1’ collision between `/nix/store/k18i1nm5hgnb82y9w2g9hmlwhk3szjld-ghc-8.0.1/lib/ghc-8.0.1/Cabal-1.24.0.0/Distribution/Compat/Binary.dyn_hi' and `/nix/store/0rwhbwsg9kmywgbrib2bs29p2hmi80za-Cabal-1.24.0.0/lib/ghc-8.0.1/Cabal-1.24.0.0/Distribution/Compat/Binary.dyn_hi' builder for ‘/nix/store/vrjkfpm8sb96m9i5k74h8vn0rwddgy4v-ghc-8.0.1.drv’ failed with exit code 25 This would appear to me to be a consequence of setupHaskellDepends entries being added to propagateBuildInputs. It is sufficient in the cases I'm familiar with (taffyBar), and I think correct, to simply add it to the otherBuildInputs. --- pkgs/development/haskell-modules/generic-builder.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index 866c8b00299..72110227140 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -119,8 +119,8 @@ let allPkgconfigDepends = pkgconfigDepends ++ libraryPkgconfigDepends ++ executablePkgconfigDepends ++ optionals doCheck testPkgconfigDepends; - propagatedBuildInputs = buildDepends ++ setupHaskellDepends ++ libraryHaskellDepends ++ executableHaskellDepends; - otherBuildInputs = extraLibraries ++ librarySystemDepends ++ executableSystemDepends ++ + propagatedBuildInputs = buildDepends ++ libraryHaskellDepends ++ executableHaskellDepends; + otherBuildInputs = extraLibraries ++ librarySystemDepends ++ executableSystemDepends ++ setupHaskellDepends ++ buildTools ++ libraryToolDepends ++ executableToolDepends ++ optionals (allPkgconfigDepends != []) ([pkgconfig] ++ allPkgconfigDepends) ++ optionals doCheck (testDepends ++ testHaskellDepends ++ testSystemDepends ++ testToolDepends);