about summary refs log tree commit diff
path: root/third_party/overlays
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/overlays')
-rw-r--r--third_party/overlays/haskell/.skip-subtree1
-rw-r--r--third_party/overlays/haskell/default.nix19
-rw-r--r--third_party/overlays/haskell/extra-pkgs/random-fu-0.2.nix41
-rw-r--r--third_party/overlays/haskell/extra-pkgs/rvar-0.2.nix25
-rw-r--r--third_party/overlays/haskell/patches/generic-arbitrary-export-garbitrary.patch12
-rw-r--r--third_party/overlays/tvl.nix26
6 files changed, 93 insertions, 31 deletions
diff --git a/third_party/overlays/haskell/.skip-subtree b/third_party/overlays/haskell/.skip-subtree
new file mode 100644
index 0000000000..2a528eaa8a
--- /dev/null
+++ b/third_party/overlays/haskell/.skip-subtree
@@ -0,0 +1 @@
+extra-pkgs need to be callPackage-ed
diff --git a/third_party/overlays/haskell/default.nix b/third_party/overlays/haskell/default.nix
index 8ea57f2096..6e18752f52 100644
--- a/third_party/overlays/haskell/default.nix
+++ b/third_party/overlays/haskell/default.nix
@@ -7,13 +7,26 @@
 self: super: # overlay parameters for the nixpkgs overlay
 
 let
-  overrides = hsSelf: hsSuper: with super.haskell.lib; {
-    generic-arbitrary = appendPatch hsSuper.generic-arbitrary
-      [ ./patches/generic-arbitrary-export-garbitrary.patch ];
+  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 = 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;
+      };
+    };
+  };
 }
diff --git a/third_party/overlays/haskell/extra-pkgs/random-fu-0.2.nix b/third_party/overlays/haskell/extra-pkgs/random-fu-0.2.nix
new file mode 100644
index 0000000000..1626eca7be
--- /dev/null
+++ b/third_party/overlays/haskell/extra-pkgs/random-fu-0.2.nix
@@ -0,0 +1,41 @@
+{ mkDerivation
+, base
+, erf
+, lib
+, math-functions
+, monad-loops
+, mtl
+, random
+, random-shuffle
+, random-source
+, rvar
+, syb
+, template-haskell
+, transformers
+, vector
+}:
+mkDerivation {
+  pname = "random-fu";
+  version = "0.2.7.7";
+  sha256 = "8466bcfb5290bdc30a571c91e1eb526c419ea9773bc118996778b516cfc665ca";
+  revision = "1";
+  editedCabalFile = "16nhymfriygqr2by9v72vdzv93v6vhd9z07pgaji4zvv66jikv82";
+  libraryHaskellDepends = [
+    base
+    erf
+    math-functions
+    monad-loops
+    mtl
+    random
+    random-shuffle
+    random-source
+    rvar
+    syb
+    template-haskell
+    transformers
+    vector
+  ];
+  homepage = "https://github.com/mokus0/random-fu";
+  description = "Random number generation";
+  license = lib.licenses.publicDomain;
+}
diff --git a/third_party/overlays/haskell/extra-pkgs/rvar-0.2.nix b/third_party/overlays/haskell/extra-pkgs/rvar-0.2.nix
new file mode 100644
index 0000000000..c00f5a1a8d
--- /dev/null
+++ b/third_party/overlays/haskell/extra-pkgs/rvar-0.2.nix
@@ -0,0 +1,25 @@
+{ mkDerivation
+, base
+, lib
+, MonadPrompt
+, mtl
+, random-source
+, transformers
+}:
+mkDerivation {
+  pname = "rvar";
+  version = "0.2.0.6";
+  sha256 = "01e18875ffde43f9591a8acd9f60c9c51704a026e51c1a6797faecd1c7ae8cd3";
+  revision = "1";
+  editedCabalFile = "1jn9ivlj3k65n8d9sfsp882m5lvni1ah79mk0cvkz91pgywvkiyq";
+  libraryHaskellDepends = [
+    base
+    MonadPrompt
+    mtl
+    random-source
+    transformers
+  ];
+  homepage = "https://github.com/mokus0/random-fu";
+  description = "Random Variables";
+  license = lib.licenses.publicDomain;
+}
diff --git a/third_party/overlays/haskell/patches/generic-arbitrary-export-garbitrary.patch b/third_party/overlays/haskell/patches/generic-arbitrary-export-garbitrary.patch
deleted file mode 100644
index f0c936bfca..0000000000
--- a/third_party/overlays/haskell/patches/generic-arbitrary-export-garbitrary.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-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
diff --git a/third_party/overlays/tvl.nix b/third_party/overlays/tvl.nix
index a51035d0c6..caf0998a0a 100644
--- a/third_party/overlays/tvl.nix
+++ b/third_party/overlays/tvl.nix
@@ -75,21 +75,15 @@ self: super: {
     });
   });
 
-  # Temporary workaround until the following commit is in channels:
-  # https://github.com/nixos/nixpkgs/commit/5819b99350d7ac6e20f91adce38e7bb22e4d6fc4
-  ocamlPackages = super.ocamlPackages.overrideScope' (oself: osuper: {
-    uutf =
-      let
-        expectedUrls = [
-          "https://erratique.ch/software/uutf/releases/uutf-${osuper.uutf.version}.tbz"
-        ];
-      in
-      assert osuper.uutf.src.urls != expectedUrls;
-      osuper.uutf.overrideAttrs (old: {
-        src = self.fetchurl {
-          urls = expectedUrls;
-          sha256 = old.src.outputHash;
-        };
-      });
+  # upgrade home-manager until the service-generation fix has landed upstream
+  # https://github.com/nix-community/home-manager/issues/2846
+  home-manager = super.home-manager.overrideAttrs (old: rec {
+    version = assert super.home-manager.version == "2021-12-25"; "2022-04-08";
+    src = self.fetchFromGitHub {
+      owner = "nix-community";
+      repo = "home-manager";
+      rev = "f911ebbec927e8e9b582f2e32e2b35f730074cfc";
+      sha256 = "07qa2qkbjczj3d0m03jpw85hfj35cbjm48xhifz3viy4khjw88vl";
+    };
   });
 }