Skip to content

Commit

Permalink
Synchronize Haskell infrastructure with master @ f62deb0.
Browse files Browse the repository at this point in the history
  • Loading branch information
peti committed Mar 11, 2018
1 parent b6bd998 commit b8ebbc0
Show file tree
Hide file tree
Showing 10 changed files with 3,022 additions and 1,213 deletions.
10 changes: 5 additions & 5 deletions pkgs/development/compilers/ghc/8.4.1.nix
Expand Up @@ -15,7 +15,7 @@

, # If enabled, GHC will be built with the GPL-free but slower integer-simple
# library instead of the faster but GPLed integer-gmp library.
enableIntegerSimple ? false, gmp ? null
enableIntegerSimple ? false, gmp ? null, m4

, # If enabled, use -fPIC when compiling static libs.
enableRelocatedStaticLibs ? targetPlatform != hostPlatform
Expand All @@ -24,7 +24,7 @@
# platform). Static libs are always built.
enableShared ? true

, version ? "8.4.0.20180224"
, version ? "8.4.1"
, # Whether to backport https://phabricator.haskell.org/D4388 for
# deterministic profiling symbol names, at the cost of a slightly
# non-standard GHC API
Expand Down Expand Up @@ -77,8 +77,8 @@ stdenv.mkDerivation rec {

src = fetchgit {
url = "git://git.haskell.org/ghc.git";
rev = "a1e15c8f59092ef2d11be7966bd20688d8dc01e6";
sha256 = "1pimf5ryl76r3vwnc2n0qzk4yh7zckp2r2g5rlz8nbddsws2v893";
rev = "0a3e2f324dbd525d626ebd3d97e8ffa1cf2f0ffb";
sha256 = "1m51khnmf8gw203d8kh6y4ivh0acb2wiqqnb950yfbg2a2k7bcfi";
};

enableParallelBuilding = true;
Expand Down Expand Up @@ -149,7 +149,7 @@ stdenv.mkDerivation rec {
# masss-rebuild.
crossConfig = true;

nativeBuildInputs = [ ghc perl autoconf automake happy alex python3 ];
nativeBuildInputs = [ ghc perl autoconf automake m4 happy alex python3 ];

# For building runtime libs
depsBuildTarget = toolsForTarget;
Expand Down
19 changes: 11 additions & 8 deletions pkgs/development/haskell-modules/configuration-common.nix
Expand Up @@ -37,7 +37,7 @@ self: super: {
hackage-security = dontCheck super.hackage-security;

# Link statically to avoid runtime dependency on GHC.
jailbreak-cabal = (disableSharedExecutables super.jailbreak-cabal).override { Cabal = self.Cabal_1_20_0_4; };
jailbreak-cabal = disableSharedExecutables super.jailbreak-cabal;

# enable using a local hoogle with extra packagages in the database
# nix-shell -p "haskellPackages.hoogleLocal { packages = with haskellPackages; [ mtl lens ]; }"
Expand Down Expand Up @@ -603,12 +603,12 @@ self: super: {
'';
doCheck = false; # https://github.com/chrisdone/hindent/issues/299
})).override {
haskell-src-exts = self.haskell-src-exts_1_20_1;
haskell-src-exts = self.haskell-src-exts_1_20_2;
};

# Need newer versions of their dependencies than the ones we have in LTS-10.x.
cabal2nix = super.cabal2nix.override { hpack = self.hpack_0_27_0; };
hlint = super.hlint.overrideScope (self: super: { haskell-src-exts = self.haskell-src-exts_1_20_1; });
cabal2nix = super.cabal2nix.overrideScope (self: super: { hpack = self.hpack_0_27_0; hackage-db = self.hackage-db_2_0_1; });
hlint = super.hlint.overrideScope (self: super: { haskell-src-exts = self.haskell-src-exts_1_20_2; });

# https://github.com/bos/configurator/issues/22
configurator = dontCheck super.configurator;
Expand Down Expand Up @@ -847,14 +847,14 @@ self: super: {
# Hoogle needs newer versions than lts-10 provides. lambdabot-haskell-plugins
# depends on Hoogle and therefore needs to use the same version.
hoogle = super.hoogle.override {
haskell-src-exts = self.haskell-src-exts_1_20_1;
haskell-src-exts = self.haskell-src-exts_1_20_2;
http-conduit = self.http-conduit_2_3_0;
};
lambdabot-haskell-plugins = super.lambdabot-haskell-plugins.override {
haskell-src-exts-simple = self.haskell-src-exts-simple_1_20_0_0;
};
haskell-src-exts-simple_1_20_0_0 = super.haskell-src-exts-simple_1_20_0_0.override {
haskell-src-exts = self.haskell-src-exts_1_20_1;
haskell-src-exts = self.haskell-src-exts_1_20_2;
};

# These packages depend on each other, forming an infinite loop.
Expand Down Expand Up @@ -946,8 +946,8 @@ self: super: {
# Tries to read a file it is not allowed to in the test suite
load-env = dontCheck super.load-env;

# Sporadically OOMs even with 16G
ChasingBottoms = dontCheck super.ChasingBottoms;
# Use latest version to support newer QuickCheck and base libraries.
ChasingBottoms = self.ChasingBottoms_1_3_1_4;

# Add support for https://github.com/haskell-hvr/multi-ghc-travis.
multi-ghc-travis = self.callPackage ../tools/haskell/multi-ghc-travis {};
Expand Down Expand Up @@ -1006,4 +1006,7 @@ self: super: {
# Needs older hlint
hpio = dontCheck super.hpio;

# Needs turtle >=1.5.0, which we use by default in lts-10.x.
changelogged = super.changelogged.override { turtle = self.turtle_1_5_4; };

}
3 changes: 0 additions & 3 deletions pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix
Expand Up @@ -35,9 +35,6 @@ self: super: {
unix = null;
xhtml = null;

# jailbreak-cabal can use the native Cabal library.
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = null; };

# https://github.com/bmillwood/applicative-quoters/issues/6
applicative-quoters = appendPatch super.applicative-quoters (pkgs.fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/bmillwood/applicative-quoters/pull/7.patch";
Expand Down
24 changes: 24 additions & 0 deletions pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix
Expand Up @@ -86,4 +86,28 @@ self: super: {
# https://github.com/purescript/purescript/issues/3189
purescript = doJailbreak (super.purescript);

# Needs text >=1.2.3.0 && <1.3, which is not the default yet.
Cabal_2_2_0_0 = super.Cabal_2_2_0_0.overrideScope (self: super: {
text = self.text_1_2_3_0;
});

# These packages need Cabal 2.2.x, which is not the default.
distribution-nixpkgs = super.distribution-nixpkgs.overrideScope (self: super: {
Cabal = self.Cabal_2_2_0_0;
text = self.text_1_2_3_0;
});
hackage-db_2_0_1 = super.hackage-db_2_0_1.overrideScope (self: super: {
Cabal = self.Cabal_2_2_0_0;
text = self.text_1_2_3_0;
});
cabal2nix = super.cabal2nix.overrideScope (self: super: {
Cabal = self.Cabal_2_2_0_0;
text = self.text_1_2_3_0;
});
stylish-cabal = dontHaddock (dontCheck (super.stylish-cabal.overrideScope (self: super: {
Cabal = self.Cabal_2_2_0_0;
text = self.text_1_2_3_0;
haddock-library = dontHaddock (dontCheck self.haddock-library_1_5_0_1);
})));

}
68 changes: 61 additions & 7 deletions pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
Expand Up @@ -60,11 +60,16 @@ self: super: {
doCheck = false;
});

## Needs bump to a versioned attribute
## Setup: Encountered missing dependencies:
## free >=4.9 && <5
either = super.either_5;

## Needs bump to a versioned attribute
## • Could not deduce (Semigroup (IterT m a))
## arising from the superclasses of an instance declaration
## from the context: (Monad m, Monoid a)
free = super.free_5;
free = super.free_5_0_1;

## Needs bump to a versioned attribute
## Setup: Encountered missing dependencies:
Expand Down Expand Up @@ -125,6 +130,11 @@ self: super: {
doCheck = false;
});

## Needs bump to a versioned attribute
## Setup: Encountered missing dependencies:
## doctest >=0.7 && <0.14
turtle = super.turtle_1_5_4;

## Needs bump to a versioned attribute
## Module ‘Data.Semigroup’ does not export ‘Monoid(..)’
## |
Expand Down Expand Up @@ -323,6 +333,7 @@ self: super: {
rev = "b7195f160795a081adbb9013810d843f1ba5e062";
sha256 = "1g351fdpsvn2lbqiy9bg2s0wwrdccb8q1zh7gvpsx5nnj24b1c00";
};
jailbreak = true; # https://github.com/lpsmith/blaze-builder/issues/12
});

## Unmerged. PR: https://github.com/wrengr/bytestring-trie/pull/3
Expand Down Expand Up @@ -441,6 +452,7 @@ self: super: {
rev = "34f4593a520176a917b74b8c7fcbbfbd72fb8178";
sha256 = "1aiklvf08w1hx2jn9n3sm61mfvdx4fkabszkjliapih2yjpmi3hq";
};
jailbreak = true; # base >=4 && <4.11
});

## Unmerged. PR: https://github.com/vincenthz/hs-securemem/pull/12
Expand Down Expand Up @@ -576,12 +588,6 @@ self: super: {
jailbreak = true;
});

ChasingBottoms = overrideCabal super.ChasingBottoms (drv: {
## Setup: Encountered missing dependencies:
## QuickCheck >=2.3 && <2.11, base >=4.2 && <4.11
jailbreak = true;
});

deepseq-generics = overrideCabal super.deepseq-generics (drv: {
## Setup: Encountered missing dependencies:
## base >=4.5 && <4.11
Expand Down Expand Up @@ -752,4 +758,52 @@ self: super: {
jailbreak = true;
});

# https://github.com/haskell/HTTP/pull/114
HTTP = self.HTTP_4000_3_10;
HTTP_4000_3_10 = dontCheck super.HTTP_4000_3_10;

# Older versions don't compile.
haddock-library = self.haddock-library_1_5_0_1;
haddock-library_1_5_0_1 = dontHaddock (dontCheck super.haddock-library_1_5_0_1);

# https://github.com/phadej/tree-diff/issues/15
tree-diff = doJailbreak super.tree-diff;

# https://github.com/jgm/doctemplates/issues/2
doctemplates = appendPatch super.doctemplates (pkgs.fetchpatch
{ url = https://github.com/jgm/doctemplates/commit/3f8bb8feb19ed86b881bc09d963026db9d98df21.patch;
sha256 = "0xmjljh8c90qlzp6wn39iy23pj2j0d4m4r1hxs22zps6qdwk5s6d";
});

# https://github.com/bitemyapp/esqueleto/issues/77
esqueleto = markBrokenVersion "2.5.3" super.esqueleto;

# https://github.com/haskell-pkg-janitors/haskell-src/issues/5
haskell-src = markBrokenVersion "1.0.2.0" super.haskell-src;

# Older versions don't compile.
hackage-db = super.hackage-db_2_0_1;

# https://github.com/RazvanRanca/GenericPretty/issues/2
GenericPretty = appendPatch super.GenericPretty (pkgs.fetchpatch
{ url = https://github.com/RazvanRanca/GenericPretty/pull/3.patch;
sha256 = "1dpdqsjmy9j9b6md5r9jyhbxnxjd51nmfb5in01j10iqzhj9j51k";
}
);

# https://github.com/haskell/hackage-security/issues/211
hackage-security = doJailbreak super.hackage-security;

# https://github.com/pikajude/stylish-cabal/issues/6
stylish-cabal = dontHaddock super.stylish-cabal;

# https://github.com/treeowl/boxes/issues/29
boxes = appendPatch super.boxes (pkgs.fetchpatch
{ url = https://github.com/asr/boxes/commit/f03e16cb8677a9d85687c641fe27a87e6fd94d54.patch;
sha256 = "179vkn6jimiy64dwyam04x8v981l3pfrq3ig97600vnkns3v8i6a";
});

# https://bitbucket.org/IchUndNichtDu/haskell-setlocale/issues/1/please-allow-base-412-from-ghc-841
setlocale = doJailbreak super.setlocale;

}

0 comments on commit b8ebbc0

Please sign in to comment.