|
| 1 | +{ pkgs }: |
| 2 | +final: prev: |
| 3 | +let |
| 4 | + inherit (pkgs.haskell.lib) dontCheck doJailbreak markUnbroken; |
| 5 | +in |
| 6 | +{ |
| 7 | + # Use an older version than the default in nixpkgs. Since rewrite-inspector |
| 8 | + # is basically abandonware it catches fire with brick 1.0+. |
| 9 | + brick = doJailbreak prev.brick_0_70_1; |
| 10 | + |
| 11 | + # brick 0.70.1 requires vty < 6.0. |
| 12 | + vty = doJailbreak (prev.callHackage "vty" "5.39" { }); |
| 13 | + |
| 14 | + # Relies on older versions of some libraries. |
| 15 | + hint = doJailbreak prev.hint; |
| 16 | + |
| 17 | + # Marked as broken in nixpkgs, since it specifies much older dependencies |
| 18 | + # than the defaults in nixpkgs. |
| 19 | + rewrite-inspector = doJailbreak (markUnbroken prev.rewrite-inspector); |
| 20 | + |
| 21 | + # Requires some old versions of libraries, but still works. |
| 22 | + derive-storable-plugin = doJailbreak prev.derive-storable-plugin; |
| 23 | + |
| 24 | + # Marken as broken, but compiles anyway. |
| 25 | + hedgehog-fakedata = doJailbreak (markUnbroken prev.hedgehog-fakedata); |
| 26 | + |
| 27 | + # Fails on GHC 9.10 with: |
| 28 | + # library/Text/Regex/PCRE/Heavy.hs:123: failure in expression `head $ scan [re|\s*entry (\d+) (\w+)\s*&?|] (" entry 1 hello &entry 2 hi" :: String)' |
| 29 | + # expected: (" entry 1 hello &",["1","hello"]) |
| 30 | + # but got: <interactive>:55:1: warning: [GHC-63394] [-Wx-partial] |
| 31 | + # ^ |
| 32 | + # In the use of ‘head’ |
| 33 | + # (imported from Prelude.Compat, but defined in GHC.Internal.List): |
| 34 | + # "This is a partial function, it throws an error on empty lists. Use pattern matching, 'Data.List.uncons' or 'Data.Maybe.listToMaybe' instead. Consider refactoring to use "Data.List.NonEmpty"." |
| 35 | + # (" entry 1 hello &",["1","hello"]) |
| 36 | + |
| 37 | + pcre-heavy = dontCheck prev.pcre-heavy; |
| 38 | + |
| 39 | + # Relies on older versions of text. |
| 40 | + string-random = doJailbreak prev.string-random; |
| 41 | + |
| 42 | + # We need the newest version from nixpkgs for these packages. |
| 43 | + singletons-base = prev.singletons-base_3_4; |
| 44 | + |
| 45 | + microstache = prev.microstache_1_0_3; |
| 46 | + |
| 47 | + th-desugar = prev.th-desugar_1_17; |
| 48 | + |
| 49 | + # We need a new tasty-flaky. The one from Hackage doesn't build for some weird |
| 50 | + # reason.. |
| 51 | + tasty-flaky = prev.callCabal2nix "tasty-flaky" (pkgs.fetchFromGitHub { |
| 52 | + owner = "LaurentRDC"; |
| 53 | + repo = "tasty-flaky"; |
| 54 | + rev = "fc31a9d622c1eb60030a50152258a9bef785e365"; |
| 55 | + sha256 = "sha256-irLM3aVMxpBgsM72ArulMXcoLY2glalVkG//Lrj2JBI="; |
| 56 | + }) {}; |
| 57 | + |
| 58 | + tasty = prev.tasty_1_5; |
| 59 | + |
| 60 | + singletons-th = prev.singletons-th_3_4; |
| 61 | + |
| 62 | + # nixplgs doesn't include revision 1, changing dependency on template-haskell. |
| 63 | + string-interpolate = pkgs.haskell.lib.compose.overrideCabal (drv: { |
| 64 | + revision = "1"; |
| 65 | + editedCabalFile = "sha256-oh0tR+LDFcVzQnm4kSrmhAU+P7wdai536d72Cvhzipg="; |
| 66 | + }) (prev.callHackageDirect { |
| 67 | + pkg = "string-interpolate"; |
| 68 | + ver = "0.3.4.0"; |
| 69 | + sha256 = "sha256-KA8P6cc6N7pZ9/ay3edcEGx4vpKtp+EY7tn8U1NrbG8="; |
| 70 | + } { }); |
| 71 | +} |
0 commit comments