3
0
Fork 0
forked from mirrors/nixpkgs
nixpkgs/pkgs/development/haskell-modules/configuration-ghc-7.8.x.nix
Peter Simons df76eb1268 ghc: revert "propagate 'gmp' and 'ncurses' to ensure users can link the 'haskeline' library, etc."
I thought that [1] could be fixed by ensuring that ncurses is available in the
environment (because ghc exports it as a propagateBuildInput), and indeed that
change fixed *some* build failures we've had before. However, the same error
still occurs with other packages, like hledger [2] and Agda [3]. Frankly, I
have no idea why those packages fail and others don't. But clearly the fix was
inadequate, so I'm reverting commit a8076c76.

[1] https://github.com/NixOS/nixpkgs/issues/5616
[2] http://hydra.cryp.to/build/372451/nixlog/1/raw
[2] http://hydra.cryp.to/build/373161/nixlog/1/raw
2015-01-14 22:24:33 +01:00

100 lines
3.1 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{ pkgs }:
with import ./lib.nix { inherit pkgs; };
self: super: {
# Disable GHC 7.8.x core libraries.
array = null;
base = null;
binary = null;
bin-package-db = null;
bytestring = null;
Cabal = null;
containers = null;
deepseq = null;
directory = null;
filepath = null;
ghc-prim = null;
haskeline = self.haskeline_0_7_1_3; # GHC's version is broken: https://github.com/NixOS/nixpkgs/issues/5616.
haskell2010 = null;
haskell98 = null;
hoopl = null;
hpc = null;
integer-gmp = null;
old-locale = null;
old-time = null;
pretty = null;
process = null;
rts = null;
template-haskell = null;
terminfo = self.terminfo_0_4_0_0; # GHC's version is broken: https://github.com/NixOS/nixpkgs/issues/5616.
time = null;
transformers = null;
unix = null;
xhtml = null;
# mtl 2.2.x needs the latest transformers.
mtl_2_2_1 = super.mtl_2_2_1.override { transformers = self.transformers_0_4_2_0; };
# Idris requires mtl 2.2.x.
idris = overrideCabal (super.idris.overrideScope (self: super: {
mkDerivation = drv: super.mkDerivation (drv // { doCheck = false; });
transformers = super.transformers_0_4_2_0;
transformers-compat = disableCabalFlag super.transformers-compat "three";
mtl = super.mtl_2_2_1;
})) (drv: {
jailbreak = true; # idris is scared of lens 4.7
patchPhase = "find . -name '*.hs' -exec sed -i -s 's|-Werror||' {} +";
}); # warning: "Module Control.Monad.Error is deprecated"
}
// # packages relating to amazonka
(let
amazonkaEnv = let self_ = self; in self: super: {
mkDerivation = drv: super.mkDerivation (drv // {
doCheck = false;
hyperlinkSource = false;
extraLibraries = (drv.extraLibraries or []) ++ [ (
if builtins.elem drv.pname [
"Cabal"
"time"
"unix"
"directory"
"process"
"jailbreak-cabal"
] then null else self.Cabal_1_18_1_6
) ];
});
mtl = self.mtl_2_2_1;
transformers = self.transformers_0_4_2_0;
transformers-compat = overrideCabal super.transformers-compat (drv: { configureFlags = []; });
aeson = disableCabalFlag super.aeson "old-locale";
hscolour = super.hscolour;
time = self.time_1_5_0_1;
unix = self.unix_2_7_1_0;
directory = self.directory_1_2_1_0;
process = overrideCabal self.process_1_2_1_0 (drv: {
coreSetup = true;
});
inherit amazonka-core amazonkaEnv amazonka amazonka-cloudwatch;
};
Cabal = self.Cabal_1_18_1_6.overrideScope amazonkaEnv;
amazonka-core =
overrideCabal (super.amazonka-core.overrideScope amazonkaEnv) (drv: {
# https://github.com/brendanhay/amazonka/pull/57
prePatch = "sed -i 's|nats >= 0.1.3 && < 1|nats|' amazonka-core.cabal";
extraLibraries = (drv.extraLibraries or []) ++ [ Cabal ];
});
useEnvCabal = p: overrideCabal (p.overrideScope amazonkaEnv) (drv: {
extraLibraries = (drv.extraLibraries or []) ++ [ Cabal ];
});
amazonka = useEnvCabal super.amazonka;
amazonka-cloudwatch = useEnvCabal super.amazonka-cloudwatch;
in {
inherit amazonka-core amazonkaEnv amazonka amazonka-cloudwatch;
})