haskell-ng: enable package sets for GHC 6.12.3, 7.0.4, 7.2.2, and 7.4.2
This commit is contained in:
parent
d1fc5370e9
commit
e6ecb1fb83
@ -0,0 +1,60 @@
|
|||||||
|
{ pkgs }:
|
||||||
|
|
||||||
|
with import ./lib.nix { inherit pkgs; };
|
||||||
|
|
||||||
|
self: super: {
|
||||||
|
|
||||||
|
# Disable GHC 6.12.x core libraries.
|
||||||
|
array = null;
|
||||||
|
base = null;
|
||||||
|
bin-package-db = null;
|
||||||
|
bytestring = null;
|
||||||
|
Cabal = null;
|
||||||
|
containers = null;
|
||||||
|
directory = null;
|
||||||
|
dph-base = null;
|
||||||
|
dph-par = null;
|
||||||
|
dph-prim-interface = null;
|
||||||
|
dph-prim-par = null;
|
||||||
|
dph-prim-seq = null;
|
||||||
|
dph-seq = null;
|
||||||
|
extensible-exceptions = null;
|
||||||
|
ffi = null;
|
||||||
|
filepath = null;
|
||||||
|
ghc-binary = null;
|
||||||
|
ghc-prim = null;
|
||||||
|
haskell98 = null;
|
||||||
|
hpc = null;
|
||||||
|
integer-gmp = null;
|
||||||
|
old-locale = null;
|
||||||
|
old-time = null;
|
||||||
|
pretty = null;
|
||||||
|
process = null;
|
||||||
|
random = null;
|
||||||
|
rts = null;
|
||||||
|
syb = null;
|
||||||
|
template-haskell = null;
|
||||||
|
time = null;
|
||||||
|
unix = null;
|
||||||
|
|
||||||
|
# binary is not a core library for this compiler.
|
||||||
|
binary = self.binary_0_7_2_3;
|
||||||
|
|
||||||
|
# deepseq is not a core library for this compiler.
|
||||||
|
deepseq = self.deepseq_1_4_0_0;
|
||||||
|
|
||||||
|
# transformers is not a core library for this compiler.
|
||||||
|
transformers = self.transformers_0_4_2_0;
|
||||||
|
mtl = self.mtl_2_2_1;
|
||||||
|
transformers-compat = disableCabalFlag super.transformers-compat "three";
|
||||||
|
|
||||||
|
# https://github.com/tibbe/hashable/issues/85
|
||||||
|
hashable = dontCheck super.hashable;
|
||||||
|
|
||||||
|
# Needs Cabal >= 1.18.x.
|
||||||
|
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_1_18_1_6; };
|
||||||
|
|
||||||
|
# Haddock chokes on the prologue from the cabal file.
|
||||||
|
ChasingBottoms = dontHaddock super.ChasingBottoms;
|
||||||
|
|
||||||
|
}
|
54
pkgs/development/haskell-modules/configuration-ghc-7.0.x.nix
Normal file
54
pkgs/development/haskell-modules/configuration-ghc-7.0.x.nix
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
{ pkgs }:
|
||||||
|
|
||||||
|
with import ./lib.nix { inherit pkgs; };
|
||||||
|
|
||||||
|
self: super: {
|
||||||
|
|
||||||
|
# Disable GHC 7.0.x core libraries.
|
||||||
|
array = null;
|
||||||
|
base = null;
|
||||||
|
bin-package-db = null;
|
||||||
|
bytestring = null;
|
||||||
|
Cabal = null;
|
||||||
|
containers = null;
|
||||||
|
directory = null;
|
||||||
|
extensible-exceptions = null;
|
||||||
|
ffi = null;
|
||||||
|
filepath = null;
|
||||||
|
ghc-binary = null;
|
||||||
|
ghc-prim = null;
|
||||||
|
haskell2010 = null;
|
||||||
|
haskell98 = null;
|
||||||
|
hpc = null;
|
||||||
|
integer-gmp = null;
|
||||||
|
old-locale = null;
|
||||||
|
old-time = null;
|
||||||
|
pretty = null;
|
||||||
|
process = null;
|
||||||
|
random = null;
|
||||||
|
rts = null;
|
||||||
|
template-haskell = null;
|
||||||
|
time = null;
|
||||||
|
unix = null;
|
||||||
|
|
||||||
|
# binary is not a core library for this compiler.
|
||||||
|
binary = self.binary_0_7_2_3;
|
||||||
|
|
||||||
|
# deepseq is not a core library for this compiler.
|
||||||
|
deepseq = self.deepseq_1_4_0_0;
|
||||||
|
|
||||||
|
# transformers is not a core library for this compiler.
|
||||||
|
transformers = self.transformers_0_4_2_0;
|
||||||
|
mtl = self.mtl_2_2_1;
|
||||||
|
transformers-compat = disableCabalFlag super.transformers-compat "three";
|
||||||
|
|
||||||
|
# https://github.com/tibbe/hashable/issues/85
|
||||||
|
hashable = dontCheck super.hashable;
|
||||||
|
|
||||||
|
# Needs Cabal >= 1.18.x.
|
||||||
|
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_1_18_1_6; };
|
||||||
|
|
||||||
|
# Haddock chokes on the prologue from the cabal file.
|
||||||
|
ChasingBottoms = dontHaddock super.ChasingBottoms;
|
||||||
|
|
||||||
|
}
|
54
pkgs/development/haskell-modules/configuration-ghc-7.2.x.nix
Normal file
54
pkgs/development/haskell-modules/configuration-ghc-7.2.x.nix
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
{ pkgs }:
|
||||||
|
|
||||||
|
with import ./lib.nix { inherit pkgs; };
|
||||||
|
|
||||||
|
self: super: {
|
||||||
|
|
||||||
|
# Disable GHC 7.2.x core libraries.
|
||||||
|
array = null;
|
||||||
|
base = null;
|
||||||
|
binary = null;
|
||||||
|
bin-package-db = null;
|
||||||
|
bytestring = null;
|
||||||
|
Cabal = null;
|
||||||
|
containers = null;
|
||||||
|
directory = null;
|
||||||
|
extensible-exceptions = null;
|
||||||
|
ffi = null;
|
||||||
|
filepath = null;
|
||||||
|
ghc-prim = null;
|
||||||
|
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;
|
||||||
|
time = null;
|
||||||
|
unix = null;
|
||||||
|
|
||||||
|
# deepseq is not a core library for this compiler.
|
||||||
|
deepseq = self.deepseq_1_4_0_0;
|
||||||
|
|
||||||
|
# transformers is not a core library for this compiler.
|
||||||
|
transformers = self.transformers_0_4_2_0;
|
||||||
|
mtl = self.mtl_2_2_1;
|
||||||
|
transformers-compat = disableCabalFlag super.transformers-compat "three";
|
||||||
|
|
||||||
|
# https://github.com/haskell/cabal/issues/2322
|
||||||
|
Cabal_1_22_0_0 = super.Cabal_1_22_0_0.override { binary = self.binary_0_7_2_3; };
|
||||||
|
|
||||||
|
# https://github.com/tibbe/hashable/issues/85
|
||||||
|
hashable = dontCheck super.hashable;
|
||||||
|
|
||||||
|
# Needs Cabal >= 1.18.x.
|
||||||
|
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_1_18_1_6; };
|
||||||
|
|
||||||
|
# Haddock chokes on the prologue from the cabal file.
|
||||||
|
ChasingBottoms = dontHaddock super.ChasingBottoms;
|
||||||
|
|
||||||
|
}
|
51
pkgs/development/haskell-modules/configuration-ghc-7.4.x.nix
Normal file
51
pkgs/development/haskell-modules/configuration-ghc-7.4.x.nix
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
{ pkgs }:
|
||||||
|
|
||||||
|
with import ./lib.nix { inherit pkgs; };
|
||||||
|
|
||||||
|
self: super: {
|
||||||
|
|
||||||
|
# Disable GHC 7.4.x core libraries.
|
||||||
|
array = null;
|
||||||
|
base = null;
|
||||||
|
binary = null;
|
||||||
|
bin-package-db = null;
|
||||||
|
bytestring = null;
|
||||||
|
Cabal = null;
|
||||||
|
containers = null;
|
||||||
|
deepseq = null;
|
||||||
|
directory = null;
|
||||||
|
extensible-exceptions = null;
|
||||||
|
filepath = null;
|
||||||
|
ghc-prim = null;
|
||||||
|
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;
|
||||||
|
time = null;
|
||||||
|
unix = null;
|
||||||
|
|
||||||
|
# transformers is not a core library for this compiler.
|
||||||
|
transformers = self.transformers_0_4_2_0;
|
||||||
|
mtl = self.mtl_2_2_1;
|
||||||
|
transformers-compat = disableCabalFlag super.transformers-compat "three";
|
||||||
|
|
||||||
|
# https://github.com/haskell/cabal/issues/2322
|
||||||
|
Cabal_1_22_0_0 = super.Cabal_1_22_0_0.override { binary = self.binary_0_7_2_3; };
|
||||||
|
|
||||||
|
# https://github.com/tibbe/hashable/issues/85
|
||||||
|
hashable = dontCheck super.hashable;
|
||||||
|
|
||||||
|
# Needs Cabal >= 1.18.x.
|
||||||
|
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_1_18_1_6; };
|
||||||
|
|
||||||
|
# Haddock chokes on the prologue from the cabal file.
|
||||||
|
ChasingBottoms = dontHaddock super.ChasingBottoms;
|
||||||
|
|
||||||
|
}
|
@ -55,6 +55,9 @@ let
|
|||||||
main = defaultMain
|
main = defaultMain
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
ghc76xOrLater = stdenv.lib.versionOlder "7.6" ghc.version;
|
||||||
|
packageDbFlag = if ghc76xOrLater then "package-db" else "package-conf";
|
||||||
|
|
||||||
defaultConfigureFlags = [
|
defaultConfigureFlags = [
|
||||||
(enableFeature enableSplitObjs "split-objs")
|
(enableFeature enableSplitObjs "split-objs")
|
||||||
(enableFeature enableLibraryProfiling "library-profiling")
|
(enableFeature enableLibraryProfiling "library-profiling")
|
||||||
@ -146,7 +149,7 @@ stdenv.mkDerivation ({
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
ghc-pkg --package-db="$packageConfDir" recache
|
ghc-pkg --${packageDbFlag}="$packageConfDir" recache
|
||||||
configureFlags+=" --package-db=$packageConfDir"
|
configureFlags+=" --package-db=$packageConfDir"
|
||||||
|
|
||||||
${optionalString (editedCabalFile != null) ''
|
${optionalString (editedCabalFile != null) ''
|
||||||
@ -162,7 +165,7 @@ stdenv.mkDerivation ({
|
|||||||
for i in Setup.hs Setup.lhs ${defaultSetupHs}; do
|
for i in Setup.hs Setup.lhs ${defaultSetupHs}; do
|
||||||
test -f $i && break
|
test -f $i && break
|
||||||
done
|
done
|
||||||
ghc ${optionalString (! coreSetup) "-package-db=$packageConfDir "}$setupCompileFlags --make -o Setup -odir $TMPDIR -hidir $TMPDIR $i
|
ghc ${optionalString (! coreSetup) "-${packageDbFlag}=$packageConfDir "}$setupCompileFlags --make -o Setup -odir $TMPDIR -hidir $TMPDIR $i
|
||||||
|
|
||||||
echo configureFlags: $configureFlags
|
echo configureFlags: $configureFlags
|
||||||
unset GHC_PACKAGE_PATH # Cabal complains if this variable is set during configure.
|
unset GHC_PACKAGE_PATH # Cabal complains if this variable is set during configure.
|
||||||
|
@ -26,10 +26,22 @@ rec {
|
|||||||
packages = {
|
packages = {
|
||||||
|
|
||||||
ghc6104 = callPackage ../development/haskell-modules { ghc = compiler.ghc6104; };
|
ghc6104 = callPackage ../development/haskell-modules { ghc = compiler.ghc6104; };
|
||||||
ghc6123 = callPackage ../development/haskell-modules { ghc = compiler.ghc6123; };
|
ghc6123 = callPackage ../development/haskell-modules {
|
||||||
ghc704 = callPackage ../development/haskell-modules { ghc = compiler.ghc704; };
|
ghc = compiler.ghc6123;
|
||||||
ghc722 = callPackage ../development/haskell-modules { ghc = compiler.ghc722; };
|
packageSetConfig = callPackage ../development/haskell-modules/configuration-ghc-6.12.x.nix { };
|
||||||
ghc742 = callPackage ../development/haskell-modules { ghc = compiler.ghc742; };
|
};
|
||||||
|
ghc704 = callPackage ../development/haskell-modules {
|
||||||
|
ghc = compiler.ghc704;
|
||||||
|
packageSetConfig = callPackage ../development/haskell-modules/configuration-ghc-7.0.x.nix { };
|
||||||
|
};
|
||||||
|
ghc722 = callPackage ../development/haskell-modules {
|
||||||
|
ghc = compiler.ghc722;
|
||||||
|
packageSetConfig = callPackage ../development/haskell-modules/configuration-ghc-7.2.x.nix { };
|
||||||
|
};
|
||||||
|
ghc742 = callPackage ../development/haskell-modules {
|
||||||
|
ghc = compiler.ghc742;
|
||||||
|
packageSetConfig = callPackage ../development/haskell-modules/configuration-ghc-7.4.x.nix { };
|
||||||
|
};
|
||||||
ghc763 = callPackage ../development/haskell-modules {
|
ghc763 = callPackage ../development/haskell-modules {
|
||||||
ghc = compiler.ghc763;
|
ghc = compiler.ghc763;
|
||||||
packageSetConfig = callPackage ../development/haskell-modules/configuration-ghc-7.6.x.nix { };
|
packageSetConfig = callPackage ../development/haskell-modules/configuration-ghc-7.6.x.nix { };
|
||||||
|
Loading…
Reference in New Issue
Block a user