-
Notifications
You must be signed in to change notification settings - Fork 164
Backport flake.nix changes to 1.8 #3060
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,71 @@ | ||
| { pkgs }: | ||
| final: prev: | ||
| let | ||
| inherit (pkgs.haskell.lib) dontCheck doJailbreak markUnbroken; | ||
| in | ||
| { | ||
| # Use an older version than the default in nixpkgs. Since rewrite-inspector | ||
| # is basically abandonware it catches fire with brick 1.0+. | ||
| brick = doJailbreak prev.brick_0_70_1; | ||
|
|
||
| # brick 0.70.1 requires vty < 6.0. | ||
| vty = doJailbreak (prev.callHackage "vty" "5.39" { }); | ||
|
|
||
| # Relies on older versions of some libraries. | ||
| hint = doJailbreak prev.hint; | ||
|
|
||
| # Marked as broken in nixpkgs, since it specifies much older dependencies | ||
| # than the defaults in nixpkgs. | ||
| rewrite-inspector = doJailbreak (markUnbroken prev.rewrite-inspector); | ||
|
|
||
| # Requires some old versions of libraries, but still works. | ||
| derive-storable-plugin = doJailbreak prev.derive-storable-plugin; | ||
|
|
||
| # Marken as broken, but compiles anyway. | ||
| hedgehog-fakedata = doJailbreak (markUnbroken prev.hedgehog-fakedata); | ||
|
|
||
| # Fails on GHC 9.10 with: | ||
| # 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)' | ||
| # expected: (" entry 1 hello &",["1","hello"]) | ||
| # but got: <interactive>:55:1: warning: [GHC-63394] [-Wx-partial] | ||
| # ^ | ||
| # In the use of ‘head’ | ||
| # (imported from Prelude.Compat, but defined in GHC.Internal.List): | ||
| # "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"." | ||
| # (" entry 1 hello &",["1","hello"]) | ||
|
|
||
| pcre-heavy = dontCheck prev.pcre-heavy; | ||
|
|
||
| # Relies on older versions of text. | ||
| string-random = doJailbreak prev.string-random; | ||
|
|
||
| # We need the newest version from nixpkgs for these packages. | ||
| singletons-base = prev.singletons-base_3_4; | ||
|
|
||
| microstache = prev.microstache_1_0_3; | ||
|
|
||
| th-desugar = prev.th-desugar_1_17; | ||
|
|
||
| # We need a new tasty-flaky. The one from Hackage doesn't build for some weird | ||
| # reason.. | ||
| tasty-flaky = prev.callCabal2nix "tasty-flaky" (pkgs.fetchFromGitHub { | ||
| owner = "LaurentRDC"; | ||
| repo = "tasty-flaky"; | ||
| rev = "fc31a9d622c1eb60030a50152258a9bef785e365"; | ||
| sha256 = "sha256-irLM3aVMxpBgsM72ArulMXcoLY2glalVkG//Lrj2JBI="; | ||
| }) {}; | ||
|
|
||
| tasty = prev.tasty_1_5; | ||
|
|
||
| singletons-th = prev.singletons-th_3_4; | ||
|
|
||
| # nixpkgs doesn't include revision 1, changing dependency on template-haskell. | ||
| string-interpolate = pkgs.haskell.lib.compose.overrideCabal (drv: { | ||
| revision = "1"; | ||
| editedCabalFile = "sha256-oh0tR+LDFcVzQnm4kSrmhAU+P7wdai536d72Cvhzipg="; | ||
| }) (prev.callHackageDirect { | ||
| pkg = "string-interpolate"; | ||
| ver = "0.3.4.0"; | ||
| sha256 = "sha256-KA8P6cc6N7pZ9/ay3edcEGx4vpKtp+EY7tn8U1NrbG8="; | ||
| } { }); | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,13 +1,19 @@ | ||
| { pkgs }: | ||
| final: prev: | ||
| let | ||
| inherit (pkgs.haskell.lib) doJailbreak dontCheck markUnbroken; | ||
| inherit (pkgs.haskell.lib) doJailbreak markUnbroken dontCheck; | ||
| in | ||
| { | ||
| # Use an older version than the default in nixpkgs. Since rewrite-inspector | ||
| # is basically abandonware it catches fire with brick 1.0+. | ||
| brick = doJailbreak prev.brick_0_70_1; | ||
|
|
||
| # brick 0.70.1 requires vty < 6.0. | ||
| vty = prev.callHackage "vty" "5.39" { }; | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why is this vty = prev.callHackage "vty" "5.39" { };in vty = doJailbreak (prev.callHackage "vty" "5.39" { });in
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ghc98 has a different set of packages (since the compiler is newer) and in this set of packages for ghc98 certain packages (deepseq) has the wrong version, however it still compiles fine. That is why the jailbreak is required in ghc98 and not in ghc62 (where deepseq has the right version).
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Okay! |
||
|
|
||
| # Marked as broken in nixpkgs, since it needs a newer hashable than the | ||
| # .cabal file currently uploaded to hackage. | ||
| concurrent-supply = doJailbreak (markUnbroken prev.concurrent-supply); | ||
|
|
||
| # Use a branch with changes to support GHC 9.6.1. | ||
| hint = | ||
|
|
@@ -25,28 +31,18 @@ in | |
| # than the defaults in nixpkgs. | ||
| rewrite-inspector = doJailbreak (markUnbroken prev.rewrite-inspector); | ||
|
|
||
| # We want a version that matches with singletons-th, but the tests in here | ||
| # are also a bit flaky since GHC 9.6 isn't officially supported. | ||
| singletons-base = dontCheck prev.singletons-base_3_2; | ||
|
|
||
| # Use a newer version than the default in nixpkgs. | ||
| singletons-th = prev.singletons-th_3_2; | ||
|
|
||
| # Needs a newer text than the .cabal file currently uploaded to hackage. | ||
| string-qq = doJailbreak prev.string-qq; | ||
|
|
||
| # Needs a newer version than the default in nixpkgs. | ||
| th-desugar = prev.th-desugar_1_15; | ||
|
|
||
| # Needs a newer base than the .cabal file currently uploaded to hackage. | ||
| vector-binary-instances = doJailbreak prev.vector-binary-instances; | ||
|
|
||
| # Use an older version than the default in nixpkgs. | ||
| th-abstraction = prev.th-abstraction_0_5_0_0; | ||
|
|
||
| # type-errors 0.2.0.2 is bounded on doctest >=0.16.0.1 && <0.22 | ||
| doctest = prev.callHackage "doctest" "0.21.1" { }; | ||
|
|
||
| # Marken as broken, but compiles anyway. | ||
| hedgehog-fakedata = doJailbreak (markUnbroken prev.hedgehog-fakedata); | ||
|
|
||
| # We need a new tasty-flaky. The one from Hackage doesn't build for some weird | ||
| # reason.. | ||
| tasty-flaky = prev.callCabal2nix "tasty-flaky" (pkgs.fetchFromGitHub { | ||
|
|
@@ -55,4 +51,15 @@ in | |
| rev = "fc31a9d622c1eb60030a50152258a9bef785e365"; | ||
| sha256 = "sha256-irLM3aVMxpBgsM72ArulMXcoLY2glalVkG//Lrj2JBI="; | ||
| }) {}; | ||
|
|
||
| # This version of tasty isn't available in the nix ghc96 package set | ||
| tasty = prev.callHackageDirect { | ||
| pkg = "tasty"; | ||
| ver = "1.5.3"; | ||
| sha256 = "sha256-Ogd8J4aHNeL+xmcRWuJeGBNaePyLs5yo1IoMzvWrVPY="; | ||
| } {}; | ||
|
|
||
| # The tests (not the package itself!) require a tasty <1.5, which won't work as we pull in | ||
| # tasty 1.5.3. Solution: don't test! | ||
| time-compat = dontCheck prev.time-compat; | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,43 @@ | ||
| { pkgs }: | ||
| final: prev: | ||
| let | ||
| inherit (pkgs.haskell.lib) doJailbreak markUnbroken dontCheck; | ||
| in | ||
| { | ||
| # Use an older version than the default in nixpkgs. Since rewrite-inspector | ||
| # is basically abandonware it catches fire with brick 1.0+. | ||
| brick = doJailbreak prev.brick_0_70_1; | ||
|
|
||
| # brick 0.70.1 requires vty < 6.0. | ||
| vty = doJailbreak (prev.callHackage "vty" "5.39" { }); | ||
|
|
||
| # Marked as broken in nixpkgs, since it specifies much older dependencies | ||
| # than the defaults in nixpkgs. | ||
| rewrite-inspector = doJailbreak (markUnbroken prev.rewrite-inspector); | ||
|
|
||
| # Requires some old versions of libraries, but still works. | ||
| derive-storable-plugin = doJailbreak prev.derive-storable-plugin; | ||
|
|
||
| # Marken as broken, but compiles anyway. | ||
| hedgehog-fakedata = doJailbreak (markUnbroken prev.hedgehog-fakedata); | ||
|
|
||
| # We need a new tasty-flaky. The one from Hackage doesn't build for some weird | ||
| # reason.. | ||
| tasty-flaky = prev.callCabal2nix "tasty-flaky" (pkgs.fetchFromGitHub { | ||
| owner = "LaurentRDC"; | ||
| repo = "tasty-flaky"; | ||
| rev = "fc31a9d622c1eb60030a50152258a9bef785e365"; | ||
| sha256 = "sha256-irLM3aVMxpBgsM72ArulMXcoLY2glalVkG//Lrj2JBI="; | ||
| }) {}; | ||
|
|
||
| # This version of tasty isn't available in the nix ghc98 package set | ||
| tasty = prev.callHackageDirect { | ||
| pkg = "tasty"; | ||
| ver = "1.5.3"; | ||
| sha256 = "sha256-Ogd8J4aHNeL+xmcRWuJeGBNaePyLs5yo1IoMzvWrVPY="; | ||
| } {}; | ||
|
|
||
| # The tests (not the package itself!) require a tasty <1.5, which won't work as we pull in | ||
| # tasty 1.5.3. Solution: don't test! | ||
| time-compat = dontCheck prev.time-compat; | ||
| } |
Uh oh!
There was an error while loading. Please reload this page.