nixpkgs/pkgs/development/haskell-modules/configuration-ghc-head.nix
John Ericson 74f5fe5068 haskell infra: Misc cleanups
- The haskell lib is very close to not relying on Nixpkgs. I think
   this is good---simpler to think about and matches Nixpkgs's lib.

 - The haskell lib is only imported once

 - stdenv is exposed more shallowly so it can be overriden more easily.
   I'll eventually use this on Darwin to avoid the Sierra shared
   library problems (unless changes are to be made system-wide).

Closes https://github.com/NixOS/nixpkgs/pull/27840.
2017-08-03 13:12:01 +02:00

97 lines
2.9 KiB
Nix

{ pkgs, haskellLib }:
with haskellLib;
self: super: {
# Use the latest LLVM.
inherit (pkgs) llvmPackages;
# Disable GHC 7.11.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;
ghci = null;
haskeline = null;
hoopl = null;
hpc = null;
integer-gmp = null;
pretty = null;
process = null;
rts = null;
template-haskell = null;
terminfo = null;
time = null;
transformers = null;
unix = null;
xhtml = null;
# jailbreak-cabal can use the native Cabal library.
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = null; };
# haddock: No input file(s).
nats = dontHaddock super.nats;
bytestring-builder = dontHaddock super.bytestring-builder;
# We have time 1.5
aeson = disableCabalFlag super.aeson "old-locale";
# Show works differently for record syntax now, breaking haskell-src-exts' parser tests
# https://github.com/haskell-suite/haskell-src-exts/issues/224
haskell-src-exts = dontCheck super.haskell-src-exts;
# Setup: At least the following dependencies are missing: base <4.8
hspec-expectations = overrideCabal super.hspec-expectations (drv: {
postPatch = "sed -i -e 's|base < 4.8|base|' hspec-expectations.cabal";
});
utf8-string = overrideCabal super.utf8-string (drv: {
postPatch = "sed -i -e 's|base >= 4.3 && < 4.10|base|' utf8-string.cabal";
});
# bos/attoparsec#92
attoparsec = dontCheck super.attoparsec;
# test suite hangs silently for at least 10 minutes
split = dontCheck super.split;
# Test suite fails with some (seemingly harmless) error.
# https://code.google.com/p/scrapyourboilerplate/issues/detail?id=24
syb = dontCheck super.syb;
# Test suite has stricter version bounds
retry = dontCheck super.retry;
# Test suite fails with time >= 1.5
http-date = dontCheck super.http-date;
# Version 1.19.5 fails its test suite.
happy = dontCheck super.happy;
# Workaround for a workaround, see comment for "ghcjs" flag.
jsaddle = let jsaddle' = disableCabalFlag super.jsaddle "ghcjs";
in addBuildDepends jsaddle' [ self.glib self.gtk3 self.webkitgtk3
self.webkitgtk3-javascriptcore ];
# The compat library is empty in the presence of mtl 2.2.x.
mtl-compat = dontHaddock super.mtl-compat;
# Won't work with LLVM 3.5.
llvm-general = markBrokenVersion "3.4.5.3" super.llvm-general;
# A bunch of jailbreaks due to 'base' bump
old-time = doJailbreak super.old-time;
old-locale = doJailbreak super.old-locale;
primitive = doJailbreak super.primitive;
test-framework = doJailbreak super.test-framework;
atomic-primops = doJailbreak (appendPatch super.atomic-primops ./patches/atomic-primops-Cabal-1.25.patch);
hashable = doJailbreak super.hashable;
stm = doJailbreak super.stm;
}