Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 129 lines 3.7 kB view raw
1{ pkgs, haskellLib }: 2 3self: super: 4 5with haskellLib; 6 7let 8 inherit (pkgs) lib; 9 10 warnAfterVersion = 11 ver: pkg: 12 lib.warnIf (lib.versionOlder ver 13 super.${pkg.pname}.version 14 ) "override for haskell.packages.ghc910.${pkg.pname} may no longer be needed" pkg; 15 16in 17 18{ 19 llvmPackages = lib.dontRecurseIntoAttrs self.ghc.llvmPackages; 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-experimental = null; 38 ghc-heap = null; 39 ghc-internal = null; 40 ghc-platform = null; 41 ghc-prim = null; 42 ghc-toolchain = null; 43 ghci = null; 44 haskeline = null; 45 hpc = null; 46 integer-gmp = null; 47 mtl = null; 48 os-string = null; 49 parsec = null; 50 pretty = null; 51 process = null; 52 rts = null; 53 semaphore-compat = null; 54 stm = null; 55 system-cxx-std-lib = null; 56 template-haskell = null; 57 # GHC only builds terminfo if it is a native compiler 58 terminfo = 59 if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then 60 null 61 else 62 doDistribute self.terminfo_0_4_1_7; 63 text = null; 64 time = null; 65 transformers = null; 66 unix = null; 67 xhtml = null; 68 69 # 70 # Version upgrades 71 # 72 73 # Upgrade to accommodate new core library versions, where the authors have 74 # already made the relevant changes. 75 # 2025-04-09: jailbreak to allow hedgehog >= 1.5, hspec-hedgehog >=0.2 76 extensions = doJailbreak (doDistribute self.extensions_0_1_0_2); 77 fourmolu = doDistribute self.fourmolu_0_16_0_0; 78 # https://github.com/digital-asset/ghc-lib/issues/600 79 ghc-lib = doDistribute self.ghc-lib_9_10_2_20250515; 80 ghc-lib-parser = doDistribute self.ghc-lib-parser_9_10_2_20250515; 81 ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_10_0_0; 82 htree = doDistribute self.htree_0_2_0_0; 83 ormolu = doDistribute self.ormolu_0_7_7_0; 84 stylish-haskell = doDistribute self.stylish-haskell_0_15_0_1; 85 86 # A given major version of ghc-exactprint only supports one version of GHC. 87 ghc-exactprint = doDistribute self.ghc-exactprint_1_9_0_0; 88 ghc-exactprint_1_9_0_0 = addBuildDepends [ 89 self.Diff 90 self.extra 91 self.ghc-paths 92 self.silently 93 self.syb 94 self.HUnit 95 ] super.ghc-exactprint_1_9_0_0; 96 97 # 98 # Jailbreaks 99 # 100 # 2025-04-09: base <4.20, containers <0.7, filepath <1.5, Cabal-syntax <3.11 101 cabal-install-parsers = 102 assert super.cabal-install-parsers.version == "0.6.1.1"; 103 doJailbreak super.cabal-install-parsers; 104 floskell = doJailbreak super.floskell; # base <4.20 105 # 2025-04-09: filepath <1.5 106 haddock-library = 107 assert super.haddock-library.version == "1.11.0"; 108 doJailbreak super.haddock-library; 109 large-generics = doJailbreak super.large-generics; # base <4.20 110 tree-sitter = doJailbreak super.tree-sitter; # containers <0.7, filepath <1.5 111 112 hashable_1_5_0_0 = doJailbreak super.hashable_1_5_0_0; # relax bounds for QuickCheck, tasty, and tasty-quickcheck 113 114 # 115 # Test suite issues 116 # 117 call-stack = dontCheck super.call-stack; # https://github.com/sol/call-stack/issues/19 118 fsnotify = dontCheck super.fsnotify; # https://github.com/haskell-fswatch/hfsnotify/issues/115 119 hinotify = pkgs.haskell.lib.dontCheck super.hinotify; # https://github.com/kolmodin/hinotify/issues/38 120 monad-dijkstra = dontCheck super.monad-dijkstra; # needs hlint 3.10 121 122 haskell-language-server = super.haskell-language-server.override { 123 floskell = null; 124 retrie = null; 125 hlint = null; 126 apply-refact = null; 127 }; 128 129}