e7ec2969af
GitOrigin-RevId: 9b19f5e77dd906cb52dade0b7bd280339d2a1f3d
119 lines
4.1 KiB
Nix
119 lines
4.1 KiB
Nix
{ pkgs, haskellLib }:
|
|
|
|
with haskellLib;
|
|
|
|
let
|
|
inherit (pkgs.stdenv.hostPlatform) isDarwin;
|
|
in
|
|
|
|
self: super: {
|
|
|
|
llvmPackages = pkgs.lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
|
|
|
|
# Disable GHC core libraries.
|
|
array = null;
|
|
base = null;
|
|
binary = null;
|
|
bytestring = null;
|
|
Cabal = null;
|
|
Cabal-syntax = null;
|
|
containers = null;
|
|
deepseq = null;
|
|
directory = null;
|
|
exceptions = null;
|
|
filepath = null;
|
|
ghc-bignum = null;
|
|
ghc-boot = null;
|
|
ghc-boot-th = null;
|
|
ghc-compact = null;
|
|
ghc-heap = null;
|
|
ghc-prim = null;
|
|
ghci = null;
|
|
haskeline = null;
|
|
hpc = null;
|
|
integer-gmp = null;
|
|
libiserv = null;
|
|
mtl = null;
|
|
parsec = null;
|
|
pretty = null;
|
|
process = null;
|
|
rts = null;
|
|
stm = null;
|
|
system-cxx-std-lib = null;
|
|
template-haskell = null;
|
|
# GHC only builds terminfo if it is a native compiler
|
|
terminfo = if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then null else doDistribute self.terminfo_0_4_1_6;
|
|
text = null;
|
|
time = null;
|
|
transformers = null;
|
|
unix = null;
|
|
xhtml = null;
|
|
|
|
# HLS
|
|
# https://haskell-language-server.readthedocs.io/en/latest/support/plugin-support.html
|
|
haskell-language-server = super.haskell-language-server.override {
|
|
hls-class-plugin = null;
|
|
hls-floskell-plugin = null;
|
|
hls-fourmolu-plugin = null;
|
|
hls-gadt-plugin = null;
|
|
hls-hlint-plugin = null;
|
|
hls-ormolu-plugin = null;
|
|
hls-refactor-plugin = null;
|
|
hls-rename-plugin = null;
|
|
hls-retrie-plugin = null;
|
|
hls-splice-plugin = null;
|
|
hls-stylish-haskell-plugin = null;
|
|
};
|
|
|
|
# Version upgrades
|
|
alex = doDistribute self.alex_3_4_0_1;
|
|
some = doDistribute self.some_1_0_6;
|
|
tagged = doDistribute self.tagged_0_8_8;
|
|
th-abstraction = doDistribute self.th-abstraction_0_6_0_0;
|
|
hspec-core = doDistribute self.hspec-core_2_11_7;
|
|
hspec-meta = doDistribute self.hspec-meta_2_11_7;
|
|
hspec-discover = doDistribute self.hspec-discover_2_11_7;
|
|
hspec = doDistribute self.hspec_2_11_7;
|
|
hspec-expectations = doDistribute self.hspec-expectations_0_8_4;
|
|
bifunctors = doDistribute self.bifunctors_5_6_1;
|
|
free = doDistribute self.free_5_2;
|
|
semigroupoids = doDistribute self.semigroupoids_6_0_0_1;
|
|
doctest = doDistribute self.doctest_0_22_2;
|
|
ghc-lib-parser = doDistribute self.ghc-lib-parser_9_8_1_20231121;
|
|
ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_8_0_0;
|
|
ghc-lib = doDistribute self.ghc-lib_9_8_1_20231121;
|
|
megaparsec = doDistribute self.megaparsec_9_6_1;
|
|
tasty-hspec = doDistribute self.tasty-hspec_1_2_0_4;
|
|
hedgehog = doDistribute self.hedgehog_1_4;
|
|
rebase = doDistribute self.rebase_1_20_2;
|
|
rerebase = doDistribute self.rerebase_1_20_2;
|
|
aeson = doDistribute self.aeson_2_2_1_0;
|
|
aeson-pretty = doDistribute self.aeson-pretty_0_8_10;
|
|
attoparsec-aeson = doDistribute self.attoparsec-aeson_2_2_0_1;
|
|
ormolu = doDistribute self.ormolu_0_7_3_0;
|
|
fourmolu = doDistribute (dontCheck self.fourmolu_0_14_1_0);
|
|
|
|
# Jailbreaks
|
|
commutative-semigroups = doJailbreak super.commutative-semigroups; # base < 4.19
|
|
ghc-trace-events = doJailbreak super.ghc-trace-events; # text < 2.1, bytestring < 0.12, base < 4.19
|
|
primitive-unlifted = doJailbreak super.primitive-unlifted; # bytestring < 0.12
|
|
newtype-generics = doJailbreak super.newtype-generics; # base < 4.19
|
|
hw-prim = doJailbreak super.hw-prim; # doctest < 0.22, ghc-prim < 0.11, hedgehog < 1.4
|
|
hw-fingertree = doJailbreak super.hw-fingertree; # deepseq <1.5, doctest < 0.22, hedgehog < 1.4
|
|
# Too strict bound on base, believe it or not.
|
|
# https://github.com/judah/terminfo/pull/55#issuecomment-1876894232
|
|
terminfo_0_4_1_6 = doJailbreak super.terminfo_0_4_1_6;
|
|
|
|
# Test suite issues
|
|
unordered-containers = dontCheck super.unordered-containers; # ChasingBottoms doesn't support base 4.20
|
|
lifted-base = dontCheck super.lifted-base; # doesn't compile with transformers == 0.6.*
|
|
# https://github.com/wz1000/HieDb/issues/64
|
|
hiedb = overrideCabal (drv: {
|
|
testFlags = drv.testFlags or [ ] ++ [
|
|
"--match" "!/hiedb/Command line/point-info/correctly prints type signatures/"
|
|
];
|
|
}) super.hiedb;
|
|
|
|
# Unbroken due to hspec* upgrades
|
|
hspec-api = doDistribute (unmarkBroken super.hspec-api);
|
|
}
|