mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-09-28 10:50:15 +00:00
haskell.ghc910: overrides for cabal-install and haskell-language-server.
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
{ pkgs, haskellLib }:
|
||||
|
||||
with haskellLib;
|
||||
|
||||
let
|
||||
inherit (pkgs) lib;
|
||||
|
||||
@@ -14,7 +16,7 @@ self: super: {
|
||||
base = null;
|
||||
binary = null;
|
||||
bytestring = null;
|
||||
Cabal = null;
|
||||
Cabal = doDistribute self.Cabal_3_12_1_0; # GHC ships with Cabal 3.12.0.0, but there is no corresponding cabal-install
|
||||
Cabal-syntax = null;
|
||||
containers = null;
|
||||
deepseq = null;
|
||||
@@ -46,7 +48,7 @@ self: super: {
|
||||
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 haskellLib.doDistribute self.terminfo_0_4_1_6;
|
||||
terminfo = if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then null else doDistribute self.terminfo_0_4_1_6;
|
||||
text = null;
|
||||
time = null;
|
||||
transformers = null;
|
||||
@@ -55,4 +57,67 @@ self: super: {
|
||||
|
||||
# https://gitlab.haskell.org/ghc/ghc/-/issues/23392
|
||||
gi-gtk = disableParallelBuilding super.gi-gtk;
|
||||
|
||||
#
|
||||
# Version upgrades
|
||||
#
|
||||
|
||||
# Upgrade to accommodate new core library versions, where the authors have
|
||||
# already made the relevant changes.
|
||||
aeson = doDistribute self.aeson_2_2_3_0;
|
||||
apply-refact = doDistribute self.apply-refact_0_14_0_0;
|
||||
attoparsec-aeson = doDistribute self.attoparsec-aeson_2_2_2_0;
|
||||
extensions = doDistribute self.extensions_0_1_0_2;
|
||||
hashable = doDistribute self.hashable_1_4_7_0;
|
||||
integer-conversion = doDistribute self.integer-conversion_0_1_1;
|
||||
ghc-lib-parser = doDistribute self.ghc-lib-parser_9_10_1_20240511;
|
||||
lens = doDistribute self.lens_5_3_2;
|
||||
lukko = doDistribute self.lukko_0_1_2;
|
||||
primitive = doDistribute (dontCheck self.primitive_0_9_0_0); # tests introduce a recursive dependency via hspec
|
||||
quickcheck-instances = doDistribute self.quickcheck-instances_0_3_31;
|
||||
rebase = doDistribute self.rebase_1_21_1;
|
||||
rerebase = doDistribute self.rerebase_1_21_1;
|
||||
scientific = doDistribute self.scientific_0_3_8_0;
|
||||
semirings = doDistribute self.semirings_0_7;
|
||||
th-abstraction = doDistribute self.th-abstraction_0_7_0_0;
|
||||
uuid-types = doDistribute self.uuid-types_1_0_6;
|
||||
|
||||
# A given major version of ghc-exactprint only supports one version of GHC.
|
||||
ghc-exactprint = doDistribute self.ghc-exactprint_1_10_0_0;
|
||||
ghc-exactprint_1_10_0_0 = addBuildDepends [
|
||||
self.Diff
|
||||
self.extra
|
||||
self.ghc-paths
|
||||
self.silently
|
||||
self.syb
|
||||
self.HUnit
|
||||
] super.ghc-exactprint_1_10_0_0;
|
||||
|
||||
#
|
||||
# Jailbreaks
|
||||
#
|
||||
base64 = doJailbreak super.base64; # base <4.20
|
||||
commutative-semigroups = doJailbreak super.commutative-semigroups; # base <4.20
|
||||
floskell = doJailbreak super.floskell; # base <4.20
|
||||
lucid = doJailbreak super.lucid; # base <4.20
|
||||
tar = doJailbreak super.tar; # base <4.20
|
||||
tree-diff = doJailbreak super.tree-diff; # base <4.20
|
||||
time-compat = doJailbreak super.time-compat; # base <4.20
|
||||
|
||||
bitvec = doJailbreak super.bitvec; # primitive <0.9
|
||||
|
||||
apply-refact_0_14_0_0 = doJailbreak super.apply-refact_0_14_0_0; # ghc-exactprint <1.9
|
||||
retrie = doJailbreak super.retrie; # base <4.20, ghc<9.9, ghc-exactprint<1.9
|
||||
|
||||
hashable_1_4_7_0 = doJailbreak super.hashable_1_4_7_0; # relax bounds for QuickCheck, tasty, and tasty-quickcheck
|
||||
hashable_1_5_0_0 = doJailbreak super.hashable_1_5_0_0; # relax bounds for QuickCheck, tasty, and tasty-quickcheck
|
||||
|
||||
#
|
||||
# Test suite issues
|
||||
#
|
||||
call-stack = dontCheck super.call-stack; # expects the package to be named "main", but we generate a name
|
||||
lifted-base = dontCheck super.lifted-base; # doesn't compile with transformers ==0.6.*
|
||||
lukko_0_1_2 = dontCheck super.lukko_0_1_2; # doesn't compile with tasty ==1.4.*
|
||||
resolv = dontCheck super.resolv; # doesn't compile with filepath ==1.5.*
|
||||
primitive-unlifted = dontCheck super.primitive-unlifted; # doesn't compile with primitive ==0.9.*
|
||||
}
|
||||
|
||||
@@ -76,6 +76,7 @@ extra-packages:
|
||||
- haddock-api == 2.23.* # required on GHC < 8.10.x
|
||||
- haddock-library ==1.7.* # required by stylish-cabal-0.5.0.0
|
||||
- happy == 1.19.12 # for ghcjs
|
||||
- hashable == 1.4.7.0 # allows GHC 9.10
|
||||
- hinotify == 0.3.9 # for xmonad-0.26: https://github.com/kolmodin/hinotify/issues/29
|
||||
- ansi-wl-pprint >= 0.6 && < 0.7 # 2024-03-23: required for ghcjs
|
||||
- hlint == 3.2.8 # 2022-09-21: needed for hls on ghc 8.8
|
||||
|
||||
@@ -139269,6 +139269,27 @@ self: {
|
||||
license = lib.licenses.bsd3;
|
||||
}) {};
|
||||
|
||||
"hashable_1_4_7_0" = callPackage
|
||||
({ mkDerivation, base, bytestring, containers, deepseq, filepath
|
||||
, ghc-bignum, ghc-prim, HUnit, os-string, primitive, QuickCheck
|
||||
, random, tasty, tasty-hunit, tasty-quickcheck, text, unix
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "hashable";
|
||||
version = "1.4.7.0";
|
||||
sha256 = "1np8y26pbwhfg136shp8w52yc7a7q35j9icf2h6q623s0b4y9biv";
|
||||
libraryHaskellDepends = [
|
||||
base bytestring containers deepseq filepath ghc-bignum ghc-prim
|
||||
os-string text
|
||||
];
|
||||
testHaskellDepends = [
|
||||
base bytestring filepath ghc-prim HUnit os-string primitive
|
||||
QuickCheck random tasty tasty-hunit tasty-quickcheck text unix
|
||||
];
|
||||
description = "A class for types that can be converted to a hash value";
|
||||
license = lib.licenses.bsd3;
|
||||
}) {};
|
||||
|
||||
"hashable_1_5_0_0" = callPackage
|
||||
({ mkDerivation, base, bytestring, containers, deepseq, filepath
|
||||
, ghc-bignum, ghc-prim, HUnit, os-string, primitive, QuickCheck
|
||||
|
||||
Reference in New Issue
Block a user