nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 151 lines 4.1 kB view raw
1{ pkgs, haskellLib }: 2 3self: super: 4 5with haskellLib; 6 7let 8 inherit (pkgs.stdenv.hostPlatform) isDarwin; 9 inherit (pkgs) lib; 10 11 warnAfterVersion = 12 ver: pkg: 13 lib.warnIf (lib.versionOlder ver 14 super.${pkg.pname}.version 15 ) "override for haskell.packages.ghc98.${pkg.pname} may no longer be needed" pkg; 16 17in 18 19{ 20 21 # Disable GHC core libraries. 22 array = null; 23 base = null; 24 binary = null; 25 bytestring = null; 26 Cabal = null; 27 Cabal-syntax = null; 28 containers = null; 29 deepseq = null; 30 directory = null; 31 exceptions = null; 32 filepath = null; 33 ghc-bignum = null; 34 ghc-boot = null; 35 ghc-boot-th = null; 36 ghc-compact = null; 37 ghc-heap = null; 38 ghc-prim = null; 39 ghci = null; 40 haskeline = null; 41 hpc = null; 42 integer-gmp = null; 43 libiserv = null; 44 mtl = null; 45 parsec = null; 46 pretty = null; 47 process = null; 48 rts = null; 49 stm = null; 50 semaphore-compat = null; 51 system-cxx-std-lib = null; 52 template-haskell = null; 53 # GHC only builds terminfo if it is a native compiler 54 terminfo = 55 if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then 56 null 57 else 58 doDistribute self.terminfo_0_4_1_7; 59 text = null; 60 time = null; 61 transformers = null; 62 unix = null; 63 xhtml = null; 64 Win32 = null; 65 66 # Becomes a core package in GHC >= 9.10 67 os-string = doDistribute self.os-string_2_0_8; 68 69 # Becomes a core package in GHC >= 9.10, no release compatible with GHC < 9.10 is available 70 ghc-internal = null; 71 # Become core packages in GHC >= 9.10, but aren't uploaded to Hackage 72 ghc-toolchain = null; 73 ghc-platform = null; 74 75 # 76 # Version upgrades 77 # 78 ghc-tags = self.ghc-tags_1_8; 79 80 # 81 # Jailbreaks 82 # 83 hashing = doJailbreak super.hashing; # bytestring <0.12 84 hevm = appendPatch (pkgs.fetchpatch { 85 url = "https://github.com/hellwolf/hevm/commit/338674d1fe22d46ea1e8582b24c224d76d47d0f3.patch"; 86 name = "release-0.54.2-ghc-9.8.4-patch"; 87 sha256 = "sha256-Mo65FfP1nh7QTY+oLia22hj4eV2v9hpXlYsrFKljA3E="; 88 }) super.hevm; 89 HaskellNet-SSL = doJailbreak super.HaskellNet-SSL; # bytestring >=0.9 && <0.12 90 inflections = doJailbreak super.inflections; # text >=0.2 && <2.1 91 92 # 93 # Test suite issues 94 # 95 pcre-heavy = dontCheck super.pcre-heavy; # GHC warnings cause the tests to fail 96 97 # 98 # Other build fixes 99 # 100 101 # 2023-12-23: It needs this to build under ghc-9.6.3. 102 # A factor of 100 is insufficient, 200 seems seems to work. 103 hip = appendConfigureFlag "--ghc-options=-fsimpl-tick-factor=200" super.hip; 104 105 # A given major version of ghc-exactprint only supports one version of GHC. 106 ghc-exactprint = doDistribute super.ghc-exactprint_1_8_0_0; 107 108 haddock-library = doJailbreak super.haddock-library; 109 ghc-lib = doDistribute self.ghc-lib_9_8_5_20250214; 110 ghc-lib-parser = doDistribute self.ghc-lib-parser_9_8_5_20250214; 111 ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_8_0_2; 112 inherit 113 ( 114 let 115 hls_overlay = lself: lsuper: { 116 Cabal-syntax = lself.Cabal-syntax_3_10_3_0; 117 Cabal = lself.Cabal_3_10_3_0; 118 extensions = dontCheck (doJailbreak lself.extensions_0_1_0_1); 119 }; 120 in 121 lib.mapAttrs (_: pkg: doDistribute (pkg.overrideScope hls_overlay)) { 122 apply-refact = addBuildDepend self.data-default-class super.apply-refact; 123 floskell = doJailbreak super.floskell; 124 fourmolu = dontCheck (doJailbreak self.fourmolu_0_15_0_0); 125 ghcide = super.ghcide; 126 haskell-language-server = addBuildDepends [ 127 self.retrie 128 self.floskell 129 self.markdown-unlit 130 ] super.haskell-language-server; 131 hls-plugin-api = super.hls-plugin-api; 132 hlint = self.hlint_3_8; 133 lsp-types = super.lsp-types; 134 ormolu = self.ormolu_0_7_4_0; 135 retrie = doJailbreak (unmarkBroken super.retrie); 136 stylish-haskell = self.stylish-haskell_0_14_6_0; 137 } 138 ) 139 apply-refact 140 floskell 141 fourmolu 142 ghcide 143 haskell-language-server 144 hls-plugin-api 145 hlint 146 lsp-types 147 ormolu 148 retrie 149 stylish-haskell 150 ; 151}