haskell-ng: fix several builds with old versions of GHC

This commit is contained in:
Peter Simons 2015-01-19 14:59:04 +01:00
parent 8959aade32
commit f8710f9d81
6 changed files with 57 additions and 3 deletions

View File

@ -134,6 +134,21 @@ self: super: {
# tests don't compile for some odd reason
jwt = dontCheck super.jwt;
# Allow building with mtl 2.2. Upstream has been notified by e-mail.
tabular = doJailbreak super.tabular;
# https://github.com/liamoc/wizards/issues/5
wizards = doJailbreak super.wizards;
# https://github.com/ekmett/trifecta/issues/41
trifecta = overrideCabal super.trifecta (drv: {
patches = [
(pkgs.fetchpatch {
url = "https://github.com/ekmett/trifecta/pull/40.patch";
sha256 = "0q8j9zwi5q651q5zd3mz52nz4ki36rvixbkp20nx2vf5imi050bq";
})];});
}
// {
# Not on Hackage yet.

View File

@ -41,7 +41,8 @@ self: super: {
binary = self.binary_0_7_2_3;
# deepseq is not a core library for this compiler.
deepseq = self.deepseq_1_4_0_0;
deepseq_1_3_0_1 = dontJailbreak super.deepseq_1_3_0_1;
deepseq = self.deepseq_1_3_0_1;
# transformers is not a core library for this compiler.
transformers = self.transformers_0_4_2_0;
@ -62,4 +63,16 @@ self: super: {
patchPhase = "sed -ir -e 's|Extensions: | Extensions: UndecidableInstances, |' utf8-string.cabal";
});
# https://github.com/haskell/HTTP/issues/80
HTTP = doJailbreak super.HTTP;
# 6.12.3 doesn't support the latest version.
primitive = self.primitive_0_5_1_0;
# These packages need more recent versions of core libraries to compile.
happy = addBuildTools super.happy [self.Cabal_1_18_1_6 self.containers_0_4_2_1];
network-uri = addBuildTool super.network-uri self.Cabal_1_18_1_6;
stm = addBuildTool super.stm self.Cabal_1_18_1_6;
split = super.split_0_1_4_3;
}

View File

@ -51,4 +51,10 @@ self: super: {
# Haddock chokes on the prologue from the cabal file.
ChasingBottoms = dontHaddock super.ChasingBottoms;
# https://github.com/haskell/containers/issues/134
containers_0_4_2_1 = doJailbreak super.containers_0_4_2_1;
# These packages need more recent versions of core libraries to compile.
happy = addBuildTools super.happy [self.containers_0_4_2_1 self.deepseq_1_3_0_1 self.containers_0_4_2_1];
}

View File

@ -16,7 +16,6 @@ self: super: {
directory = null;
filepath = null;
ghc-prim = null;
haskeline = null;
haskell2010 = null;
haskell98 = null;
hoopl = null;
@ -28,7 +27,6 @@ self: super: {
process = null;
rts = null;
template-haskell = null;
terminfo = null;
time = null;
unix = null;
@ -37,6 +35,10 @@ self: super: {
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_1_3;
terminfo = self.terminfo_0_4_0_0;
# 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; };
@ -49,4 +51,6 @@ self: super: {
# Haddock chokes on the prologue from the cabal file.
ChasingBottoms = dontHaddock super.ChasingBottoms;
# wizards = doJailbreak super.wizards;
}

View File

@ -104788,6 +104788,19 @@ self: {
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"split_0_1_4_3" = callPackage
({ mkDerivation, base }:
mkDerivation {
pname = "split";
version = "0.1.4.3";
sha256 = "1i9vmb0zvmhqj6qcbnsapsk9lhsyzznz336c8s7v4sz20s99hsby";
buildDepends = [ base ];
jailbreak = true;
homepage = "http://code.haskell.org/~byorgey/code/split";
description = "Combinator library for splitting lists";
license = stdenv.lib.licenses.bsd3;
}) {};
"split" = callPackage
({ mkDerivation, base, QuickCheck }:
mkDerivation {

View File

@ -22,6 +22,9 @@ rec {
appendConfigureFlag = drv: x: overrideCabal drv (drv: { configureFlags = (drv.configureFlags or []) ++ [x]; });
removeConfigureFlag = drv: x: overrideCabal drv (drv: { configureFlags = pkgs.stdenv.lib.remove x (drv.configureFlags or []); });
addBuildTool = drv: x: addBuildTools drv [x];
addBuildTools = drv: xs: overrideCabal drv (drv: { buildTools = (drv.buildTools or []) ++ xs; });
enableCabalFlag = drv: x: appendConfigureFlag (removeConfigureFlag drv "-f-${x}") "-f${x}";
disableCabalFlag = drv: x: appendConfigureFlag (removeConfigureFlag drv "-f${x}") "-f-${x}";