diff options
author | Vincent Ambo <mail@tazj.in> | 2021-04-10T12·12+0200 |
---|---|---|
committer | tazjin <mail@tazj.in> | 2021-04-10T15·23+0000 |
commit | e6d1e68f4add807b94173788b9e53da98b4e255b (patch) | |
tree | fa2bbb6eccc0d1b09e12d8772129c21d7a04bce0 /third_party/overlays/haskell | |
parent | 6489d94ad60c431d27836a0bc65953e44175b262 (diff) |
refactor(3p/overlays): Move haskell overlay to new tree location r/2466
nixpkgs_exposed is going away, and the haskell overlay is independent from that. See also b/108, cl/2910 Change-Id: I3aea6dfc427a914f3f88146fd0b45d60dfd45a1a Reviewed-on: https://cl.tvl.fyi/c/depot/+/2918 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
Diffstat (limited to 'third_party/overlays/haskell')
-rw-r--r-- | third_party/overlays/haskell/default.nix | 34 | ||||
-rw-r--r-- | third_party/overlays/haskell/patches/generic-arbitrary-export-garbitrary.patch | 12 |
2 files changed, 46 insertions, 0 deletions
diff --git a/third_party/overlays/haskell/default.nix b/third_party/overlays/haskell/default.nix new file mode 100644 index 000000000000..975918803e29 --- /dev/null +++ b/third_party/overlays/haskell/default.nix @@ -0,0 +1,34 @@ +# Defines overrides for Haskell packages, for example to avoid +# breakage currently present in nixpkgs or to modify package versions. + +{ ... }: # This file needs nothing from readTree +{ pkgs }: # ... but is called with a separate package set in the overlay + +self: super: with pkgs.haskell.lib; rec { + generic-arbitrary = appendPatch + super.generic-arbitrary + [ ./patches/generic-arbitrary-export-garbitrary.patch ]; + + random = dontCheck (self.callHackageDirect { + pkg = "random"; + ver = "1.2.0"; + sha256 = "06s3mmqbsfwv09j2s45qnd66nrxfp9280gnl9ng8yh128pfr7bjh"; + } {}); + + # random <1.2 + test-framework = doJailbreak super.test-framework; + hashable = doJailbreak super.hashable; + test-framework-quickcheck2 = doJailbreak super.test-framework-quickcheck2; + + # can be removed if we have the following PR or equivalent + # https://github.com/NixOS/nixpkgs/pull/116931 + hedgehog-classes = overrideCabal super.hedgehog-classes (attrs: { + # remove version bound on semirings which is inside a + # conditional, so doJailbreak doesn't work + prePatch = '' + sed -i 's|semirings.*0.6|semirings|g' hedgehog-classes.cabal + ''; + }); + + hgeometry-combinatorial = dontCheck super.hgeometry-combinatorial; +} diff --git a/third_party/overlays/haskell/patches/generic-arbitrary-export-garbitrary.patch b/third_party/overlays/haskell/patches/generic-arbitrary-export-garbitrary.patch new file mode 100644 index 000000000000..f0c936bfca18 --- /dev/null +++ b/third_party/overlays/haskell/patches/generic-arbitrary-export-garbitrary.patch @@ -0,0 +1,12 @@ +diff --git a/src/Test/QuickCheck/Arbitrary/Generic.hs b/src/Test/QuickCheck/Arbitrary/Generic.hs +index fed6ab3..91f59f1 100644 +--- a/src/Test/QuickCheck/Arbitrary/Generic.hs ++++ b/src/Test/QuickCheck/Arbitrary/Generic.hs +@@ -23,6 +23,7 @@ The generated 'arbitrary' method is equivalent to + + module Test.QuickCheck.Arbitrary.Generic + ( Arbitrary(..) ++ , GArbitrary + , genericArbitrary + , genericShrink + ) where |