diff options
Diffstat (limited to 'third_party/overlays/haskell/default.nix')
-rw-r--r-- | third_party/overlays/haskell/default.nix | 59 |
1 files changed, 33 insertions, 26 deletions
diff --git a/third_party/overlays/haskell/default.nix b/third_party/overlays/haskell/default.nix index 975918803e29..7b17e61e3e02 100644 --- a/third_party/overlays/haskell/default.nix +++ b/third_party/overlays/haskell/default.nix @@ -1,34 +1,41 @@ -# Defines overrides for Haskell packages, for example to avoid -# breakage currently present in nixpkgs or to modify package versions. +# Defines an overlay for overriding 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 ]; +self: super: # overlay parameters for the nixpkgs overlay - random = dontCheck (self.callHackageDirect { - pkg = "random"; - ver = "1.2.0"; - sha256 = "06s3mmqbsfwv09j2s45qnd66nrxfp9280gnl9ng8yh128pfr7bjh"; - } {}); +let + overrides = hsSelf: hsSuper: with super.haskell.lib; rec { + generic-arbitrary = appendPatch hsSuper.generic-arbitrary + [ ./patches/generic-arbitrary-export-garbitrary.patch ]; - # random <1.2 - test-framework = doJailbreak super.test-framework; - hashable = doJailbreak super.hashable; - test-framework-quickcheck2 = doJailbreak super.test-framework-quickcheck2; + # random = dontCheck (hsSuper.callHackageDirect { + # pkg = "random"; + # ver = "1.2.0"; + # sha256 = "06s3mmqbsfwv09j2s45qnd66nrxfp9280gnl9ng8yh128pfr7bjh"; + # } {}); - # 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 - ''; - }); + # random <1.2 + test-framework = doJailbreak hsSuper.test-framework; + hashable = doJailbreak hsSuper.hashable; + test-framework-quickcheck2 = doJailbreak hsSuper.test-framework-quickcheck2; - hgeometry-combinatorial = dontCheck super.hgeometry-combinatorial; + # can be removed if we have the following PR or equivalent + # https://github.com/NixOS/nixpkgs/pull/116931 + hedgehog-classes = overrideCabal hsSuper.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 hsSuper.hgeometry-combinatorial; + }; +in { + haskellPackages = super.haskellPackages.override { + inherit overrides; + }; } |