about summary refs log tree commit diff
path: root/third_party/overlays/haskell/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/overlays/haskell/default.nix')
-rw-r--r--third_party/overlays/haskell/default.nix31
1 files changed, 31 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..0ed0196a2834
--- /dev/null
+++ b/third_party/overlays/haskell/default.nix
@@ -0,0 +1,31 @@
+# Defines an overlay for overriding Haskell packages, for example to
+# avoid breakage currently present in nixpkgs or to modify package
+# versions.
+
+{ lib, ... }:
+
+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
+  };
+in
+{
+  haskellPackages = super.haskellPackages.override {
+    inherit overrides;
+  };
+
+  haskell = lib.recursiveUpdate super.haskell {
+    packages.ghc8107 = super.haskell.packages.ghc8107.override {
+      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 { };
+        }
+      );
+    };
+  };
+}