about summary refs log tree commit diff
path: root/third_party/overlays/haskell
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/overlays/haskell')
-rw-r--r--third_party/overlays/haskell/default.nix26
1 files changed, 18 insertions, 8 deletions
diff --git a/third_party/overlays/haskell/default.nix b/third_party/overlays/haskell/default.nix
index 6e18752f5270..2d01042f31de 100644
--- a/third_party/overlays/haskell/default.nix
+++ b/third_party/overlays/haskell/default.nix
@@ -9,6 +9,14 @@ self: super: # overlay parameters for the nixpkgs overlay
 let
   overrides = hsSelf: hsSuper: with self.haskell.lib.compose; {
     # No overrides for the default package set necessary at the moment
+    # TODO(sterni): upstreamable?
+    generic-arbitrary = appendPatch
+      (self.fetchpatch {
+        name = "generic-arbitrary-no-negative-resize.patch";
+        url = "https://github.com/typeable/generic-arbitrary/commit/c13d119d8ad0d43860ecdb93b357b0239e366a6c.patch";
+        sha256 = "1jgbd2jn575icqw9nfdzh57nacm3pn8n53ka52129pnfjqfzyhsi";
+      })
+      hsSuper.generic-arbitrary;
   };
 in
 {
@@ -18,15 +26,17 @@ in
 
   haskell = lib.recursiveUpdate super.haskell {
     packages.ghc8107 = super.haskell.packages.ghc8107.override {
-      overrides = hsSelf: hsSuper: with self.haskell.lib.compose; {
-        # TODO(sterni): TODO(grfn): patch xanthous to work with random-fu 0.3.*,
-        # so we can use GHC 9.0.2 and benefit from upstream binary cache.
-        random-fu = hsSelf.callPackage ./extra-pkgs/random-fu-0.2.nix { };
-        rvar = hsSelf.callPackage ./extra-pkgs/rvar-0.2.nix { };
+      overrides = lib.composeExtensions overrides (
+        hsSelf: hsSuper: with self.haskell.lib.compose; {
+          # TODO(sterni): TODO(grfn): patch xanthous to work with random-fu 0.3.*,
+          # so we can use GHC 9.0.2 and benefit from upstream binary cache.
+          random-fu = hsSelf.callPackage ./extra-pkgs/random-fu-0.2.nix { };
+          rvar = hsSelf.callPackage ./extra-pkgs/rvar-0.2.nix { };
 
-        # TODO(sterni): upstream this
-        universe-base = addBuildDepend hsSelf.OneTuple hsSuper.universe-base;
-      };
+          # TODO(sterni): upstream this
+          universe-base = addBuildDepend hsSelf.OneTuple hsSuper.universe-base;
+        }
+      );
     };
   };
 }