Merge pull request #7037 from peti/haskell-updates-ghc7101

Switch the default Haskell package set to GHC 7.10.1.
This commit is contained in:
Peter Simons 2015-04-19 17:57:33 +02:00
commit d50fe49ded
12 changed files with 1772 additions and 841 deletions

View file

@ -794,4 +794,7 @@ self: super: {
license = pkgs.stdenv.lib.licenses.bsd3;
};
# Test suite won't compile against tasty 0.10.x.
zlib_0_6_0_0 = dontCheck super.zlib_0_6_0_0;
}

View file

@ -49,14 +49,12 @@ self: super: {
# transformers is not a core library for this compiler.
transformers = self.transformers_0_4_3_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; };
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = dontJailbreak self.Cabal_1_18_1_6; };
# Haddock chokes on the prologue from the cabal file.
ChasingBottoms = dontHaddock super.ChasingBottoms;

View file

@ -42,14 +42,12 @@ self: super: {
# transformers is not a core library for this compiler.
transformers = self.transformers_0_4_3_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; };
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = dontJailbreak self.Cabal_1_18_1_6; };
# Haddock chokes on the prologue from the cabal file.
ChasingBottoms = dontHaddock super.ChasingBottoms;

View file

@ -67,73 +67,6 @@ self: super: {
];
});
# should be fixed in versions > 1.13.2
pandoc = overrideCabal super.pandoc (drv: {
patches = [
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/693f9ab.patch";
sha256 = "1niyrigs47ia1bhk6yrnzf0sq7hz5b7xisc8ph42wkp5sl8x9h1y";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/9c68017.patch";
sha256 = "0zccb6l5vmfyq7p8ii88fgggfhrff32hj43f5pp3w88l479f1qlh";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/dbe1b38.patch";
sha256 = "0d80692liyjx2y56w07k23adjcxb57w6vzcylmc4cfswzy8agrgy";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/5ea3856.patch";
sha256 = "1z15lc0ix9fv278v1xmfw3a6gl85ydahgs8kz61sfvh4jdiacabw";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/c80c9ac.patch";
sha256 = "0fk3j53zx0x88jmh0ism0aghs2w5qf87zcp9cwbfcgg5izh3b344";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/8b9bded.patch";
sha256 = "0f1dh1jmhq55mlv4dawvx3ck330y82qmys06bfkqcpl0jsyd9x1a";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/e4c7894.patch";
sha256 = "1rfdaq6swrl3m9bmbf6yhqq57kv3l3f4927xya3zq29dpvkmmi4z";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/2a6f68f.patch";
sha256 = "0sbh2x9jqvis9ln8r2dr6ihkjdn480mjskm4ny91870vg852228c";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/4e3281c.patch";
sha256 = "0zafhxxijli2mf1h0j7shp7kd7fxqbvlswm1m8ikax3aknvjxymi";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/cd5b1fe.patch";
sha256 = "0nxq7c0gpdiycgdrcj3llbfwxdni6k7hqqniwsbn2ha3h03i8hg1";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/ed7606d.patch";
sha256 = "0gchm46ziyj7vw6ibn3kk49cjzsc78z2lm8k7892g79q2livlc1f";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/b748833.patch";
sha256 = "03gj4qn9c5zyqrxyrw4xh21xlvbx9rbvw6gh8msgf5xk53ibs68b";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/10d5398.patch";
sha256 = "1nhp5b07vywk917bfap6pzahhqnwvvlbbfg5336a2nvb0c8iq6ih";
})
(pkgs.fetchpatch {
url = "https://github.com/jgm/pandoc/commit/f18ceb1.patch";
sha256 = "1vxsy5fn4nscvim9wcx1n78q7yh05x0z8p812csi3v3z79lbabhq";
})
];
# jailbreak-cabal omits part of the file
# https://github.com/peti/jailbreak-cabal/issues/9
postPatch = ''
sed -i '420i\ \ \ \ \ \ \ \ \ \ \ \ buildable: False' pandoc.cabal
'';
});
# ekmett/linear#74
linear = overrideCabal super.linear (drv: {
prePatch = "sed -i 's/-Werror//g' linear.cabal";
@ -155,14 +88,6 @@ self: super: {
nats = dontHaddock super.nats;
bytestring-builder = dontHaddock super.bytestring-builder;
# These used to be core packages in GHC 7.8.x.
old-locale = self.old-locale_1_0_0_7;
old-time = self.old-time_1_1_0_3;
# We have transformers 4.x
mtl = self.mtl_2_2_1;
transformers-compat = disableCabalFlag super.transformers-compat "three";
# We have time 1.5
aeson = disableCabalFlag super.aeson "old-locale";
@ -225,23 +150,10 @@ self: super: {
sha256 = "1lwwvxyhxcmppdapbgpfhwi7xc2z78qir03xjrpzab79p2qyq7br";
});
wl-pprint = overrideCabal super.wl-pprint (drv: {
postPatch = "sed -i '113iimport Prelude hiding ((<$>))' Text/PrettyPrint/Leijen.hs";
jailbreak = true;
});
# https://github.com/kazu-yamamoto/unix-time/issues/30
unix-time = dontCheck super.unix-time;
# Until the changes have been pushed to Hackage
arithmoi = appendPatch super.arithmoi (pkgs.fetchpatch {
url = "https://github.com/cartazio/arithmoi/pull/3.patch";
sha256 = "1rqs796sh81inqkg2vadskcjpp6q92j6k8zpn370990wndndzzmq";
});
annotated-wl-pprint = appendPatch super.annotated-wl-pprint (pkgs.fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/david-christiansen/annotated-wl-pprint/pull/2.patch";
sha256 = "0n0fbq3vd7b9kfmhg089q0dy40vawq4q88il3zc9ybivhi62nwv4";
});
ghc-events = appendPatch super.ghc-events (pkgs.fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/haskell/ghc-events/pull/8.patch";
sha256 = "1k881jrvzfvs761jgfhf5nsbmbc33c9333l4s0f5088p46ff2n1l";
@ -314,7 +226,7 @@ self: super: {
# Fix evaluation in GHC >=7.8: https://github.com/lambdabot/lambdabot/issues/116
lambdabot = appendPatch super.lambdabot ./lambdabot-fix-ghc78.patch;
# These packages don't have maintainers.
# https://github.com/haskell-infra/hackage-trustees/issues/24
brainfuck = appendPatch super.brainfuck ./brainfuck-fix-ghc710.patch;
unlambda = appendPatch super.unlambda ./unlambda-fix-ghc710.patch;
@ -328,4 +240,106 @@ self: super: {
sha256 = "013x9za47vr9jx0liwgi8cdh2h2882a87h5nqvr41xqipzxfiyw1";
});
# https://github.com/BNFC/bnfc/issues/137
BNFC = markBrokenVersion "2.7.1" super.BNFC;
cubical = dontDistribute super.cubical;
# contacted maintainer by e-mail
HList = markBrokenVersion "0.3.4.1" super.HList;
AspectAG = dontDistribute super.AspectAG;
Rlang-QQ = dontDistribute super.Rlang-QQ;
SyntaxMacros = dontDistribute super.SyntaxMacros;
expand = dontDistribute super.expand;
functional-arrow = dontDistribute super.functional-arrow;
guess-combinator = dontDistribute super.guess-combinator;
ihaskell-rlangqq = dontDistribute super.ihaskell-rlangqq;
ipopt-hs = dontDistribute super.ipopt-hs;
murder = dontDistribute super.murder;
netcore = dontDistribute super.netcore;
nettle-frp = dontDistribute super.nettle-frp;
nettle-netkit = dontDistribute super.nettle-netkit;
nettle-openflow = dontDistribute super.nettle-openflow;
oberon0 = dontDistribute super.oberon0;
respond = dontDistribute super.respond;
semi-iso = dontDistribute super.semi-iso;
syntax = dontDistribute super.syntax;
syntax-attoparsec = dontDistribute super.syntax-attoparsec;
syntax-example = dontDistribute super.syntax-example;
syntax-example-json = dontDistribute super.syntax-example-json;
syntax-pretty = dontDistribute super.syntax-pretty;
syntax-printer = dontDistribute super.syntax-printer;
tuple-hlist = dontDistribute super.tuple-hlist;
tuple-morph = dontDistribute super.tuple-morph;
# contacted maintainer by e-mail
cmdlib = markBroken super.cmdlib;
darcs-fastconvert = dontDistribute super.darcs-fastconvert;
ivory-backend-c = dontDistribute super.ivory-backend-c;
ivory-bitdata = dontDistribute super.ivory-bitdata;
ivory-examples = dontDistribute super.ivory-examples;
ivory-hw = dontDistribute super.ivory-hw;
laborantin-hs = dontDistribute super.laborantin-hs;
# https://github.com/cartazio/arithmoi/issues/1
arithmoi = markBroken super.arithmoi;
NTRU = dontDistribute super.NTRU;
arith-encode = dontDistribute super.arith-encode;
barchart = dontDistribute super.barchart;
constructible = dontDistribute super.constructible;
cyclotomic = dontDistribute super.cyclotomic;
diagrams = dontDistribute super.diagrams;
diagrams-contrib = dontDistribute super.diagrams-contrib;
enumeration = dontDistribute super.enumeration;
ghci-diagrams = dontDistribute super.ghci-diagrams;
ihaskell-diagrams = dontDistribute super.ihaskell-diagrams;
nimber = dontDistribute super.nimber;
quadratic-irrational = dontDistribute super.quadratic-irrational;
# https://github.com/kazu-yamamoto/ghc-mod/issues/467
ghc-mod = markBroken super.ghc-mod;
HaRe = dontDistribute super.HaRe;
ghc-imported-from = dontDistribute super.ghc-imported-from;
git-vogue = dontDistribute super.git-vogue;
haskell-token-utils = dontDistribute super.haskell-token-utils;
hbb = dontDistribute super.hbb;
hsdev = dontDistribute super.hsdev;
# http://hub.darcs.net/ivanm/graphviz/issue/5
graphviz = markBroken super.graphviz;
Graphalyze = dontDistribute super.Graphalyze;
HLearn-approximation = dontDistribute super.HLearn-approximation;
HLearn-classification = dontDistribute super.HLearn-classification;
HLearn-distributions = dontDistribute super.HLearn-distributions;
SourceGraph = dontDistribute super.SourceGraph;
Zora = dontDistribute super.Zora;
ampersand = dontDistribute super.ampersand;
caffegraph = dontDistribute super.caffegraph;
dot2graphml = dontDistribute super.dot2graphml;
dvda = dontDistribute super.dvda;
erd = dontDistribute super.erd;
filediff = dontDistribute super.filediff;
fsmActions = dontDistribute super.fsmActions;
gbu = dontDistribute super.gbu;
geni-gui = dontDistribute super.geni-gui;
ghc-vis = dontDistribute super.ghc-vis;
grammar-combinators = dontDistribute super.grammar-combinators;
llvm-analysis = dontDistribute super.llvm-analysis;
llvm-base-types = dontDistribute super.llvm-base-types;
llvm-data-interop = dontDistribute super.llvm-data-interop;
llvm-tools = dontDistribute super.llvm-tools;
marxup = dontDistribute super.marxup;
mathgenealogy = dontDistribute super.mathgenealogy;
optimusprime = dontDistribute super.optimusprime;
phybin = dontDistribute super.phybin;
prolog-graph = dontDistribute super.prolog-graph;
prolog-graph-lib = dontDistribute super.prolog-graph-lib;
teams = dontDistribute super.teams;
vacuum-graphviz = dontDistribute super.vacuum-graphviz;
vampire = dontDistribute super.vampire;
visual-graphrewrite = dontDistribute super.visual-graphrewrite;
xdot = dontDistribute super.xdot;
# https://github.com/lymar/hastache/issues/47
hastache = dontCheck super.hastache;
}

View file

@ -39,8 +39,6 @@ self: super: {
# transformers is not a core library for this compiler.
transformers = self.transformers_0_4_3_0;
mtl = self.mtl_2_2_1;
transformers-compat = disableCabalFlag super.transformers-compat "three";
# https://github.com/haskell/cabal/issues/2322
Cabal_1_22_2_0 = super.Cabal_1_22_2_0.override { binary = self.binary_0_7_4_0; process = self.process_1_2_3_0; };
@ -49,7 +47,7 @@ self: super: {
hashable = dontCheck super.hashable;
# Needs Cabal >= 1.18.x.
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_1_18_1_6; };
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = dontJailbreak self.Cabal_1_18_1_6; };
# Haddock chokes on the prologue from the cabal file.
ChasingBottoms = dontHaddock super.ChasingBottoms;

View file

@ -36,8 +36,6 @@ self: super: {
# transformers is not a core library for this compiler.
transformers = self.transformers_0_4_3_0;
mtl = self.mtl_2_2_1;
transformers-compat = disableCabalFlag super.transformers-compat "three";
# https://github.com/haskell/cabal/issues/2322
Cabal_1_22_2_0 = super.Cabal_1_22_2_0.override { binary = self.binary_0_7_4_0; };
@ -46,7 +44,7 @@ self: super: {
hashable = dontCheck super.hashable;
# Needs Cabal >= 1.18.x.
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_1_18_1_6; };
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = dontJailbreak self.Cabal_1_18_1_6; };
# Haddock chokes on the prologue from the cabal file.
ChasingBottoms = dontHaddock super.ChasingBottoms;

View file

@ -35,8 +35,6 @@ self: super: {
# transformers is not a core library for this compiler.
transformers = self.transformers_0_4_3_0;
mtl = self.mtl_2_2_1;
transformers-compat = disableCabalFlag super.transformers-compat "three";
# haskeline and terminfo are not core libraries for this compiler.
haskeline = self.haskeline_0_7_2_1;
@ -49,7 +47,7 @@ self: super: {
hashable = dontCheck super.hashable;
# Needs Cabal >= 1.18.x.
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_1_18_1_6; };
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = dontJailbreak self.Cabal_1_18_1_6; };
# Haddock chokes on the prologue from the cabal file.
ChasingBottoms = dontHaddock super.ChasingBottoms;

View file

@ -38,23 +38,26 @@ self: super: {
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_3_0; };
mtl_2_2_1 = super.mtl.override { transformers = self.transformers_0_4_3_0; };
# Configure build for mtl 2.1.x.
# Configure mtl 2.1.x.
mtl = self.mtl_2_1_3_1;
transformers-compat = addBuildDepend (enableCabalFlag super.transformers-compat "three") self.mtl;
mtl-compat = addBuildDepend (enableCabalFlag super.mtl-compat "two-point-one") self.transformers-compat;
# haddock-api 2.16 requires ghc>=7.10
haddock-api = super.haddock-api_2_15_0_2;
# Idris requires mtl 2.2.x.
# Idris needs special version of some libraries
idris = overrideCabal (super.idris.overrideScope (self: super: {
mkDerivation = drv: super.mkDerivation (drv // { doCheck = false; });
blaze-markup = self.blaze-markup_0_6_2_0;
annotated-wl-pprint = self.annotated-wl-pprint_0_5_3;
blaze-html = self.blaze-html_0_7_0_3;
blaze-markup = self.blaze-markup_0_6_2_0;
haskeline = self.haskeline_0_7_2_1;
lens = self.lens_4_7_0_1;
mtl = super.mtl_2_2_1;
transformers = super.transformers_0_4_3_0;
mtl = self.mtl_2_2_1;
transformers = self.transformers_0_4_3_0;
transformers-compat = disableCabalFlag super.transformers-compat "three";
})) (drv: {
patchPhase = "find . -name '*.hs' -exec sed -i -s 's|-Werror||' {} +";
@ -128,4 +131,7 @@ self: super: {
# Fix evaluation in GHC >=7.8: https://github.com/lambdabot/lambdabot/issues/116
lambdabot = appendPatch super.lambdabot ./lambdabot-fix-ghc78.patch;
# Needs hashable on pre 7.10.x compilers.
nats = addBuildDepend super.nats self.hashable;
}

View file

@ -43,14 +43,6 @@ self: super: {
# haddock: No input file(s).
nats = dontHaddock super.nats;
# These used to be core packages in GHC 7.8.x.
old-locale = self.old-locale_1_0_0_7;
old-time = self.old-time_1_1_0_3;
# We have transformers 4.x
mtl = self.mtl_2_2_1;
transformers-compat = disableCabalFlag super.transformers-compat "three";
# We have time 1.5
aeson = disableCabalFlag super.aeson "old-locale";

View file

@ -137,10 +137,12 @@ stdenv.mkDerivation ({
prePatch = optionalString (editedCabalFile != null) ''
echo "Replace Cabal file with edited version from ${newCabalFileUrl}."
cp ${newCabalFile} ${pname}.cabal
'' + optionalString jailbreak ''
'' + prePatch;
postPatch = optionalString jailbreak ''
echo "Run jailbreak-cabal to lift version restrictions on build inputs."
${jailbreak-cabal}/bin/jailbreak-cabal ${pname}.cabal
'' + prePatch;
'' + postPatch;
setupCompilerEnvironmentPhase = ''
runHook preSetupCompilerEnvironment

File diff suppressed because it is too large Load diff

View file

@ -3726,7 +3726,7 @@ let
haskellPackages = haskellPackages_ghc784;
haskell-ng = callPackage ./haskell-ng.nix { };
haskellngPackages = haskell-ng.packages.ghc784.override {
haskellngPackages = haskell-ng.packages.ghc7101.override {
overrides = config.haskellPackageOverrides or (self: super: {});
provideOldAttributeNames = config.provideOldHaskellAttributeNames or false;
};