about summary refs log tree commit diff
path: root/third_party/overlays/haskell/default.nix
diff options
context:
space:
mode:
authorsterni <sternenseemann@systemli.org>2022-12-27T13·32+0100
committertazjin <tazjin@tvl.su>2022-12-29T20·06+0000
commit5a063def51c72611c98fa2aadaa4c938a12271fa (patch)
tree7e16bd11cf6013fc6d472596b2d59df3889a3fd3 /third_party/overlays/haskell/default.nix
parent86361f0f4a754370b42ae3568ece4bc43850f36b (diff)
chore(3p/sources): Bump channels & overlays r/5543
The main change is that nixpkgs updated to GHC 9.2 and Stackage LTS-20,
so we suffer from a bit of churn.

* //3p/overlays/haskell:

  - use updated dhall-nix patch for hnix 0.16

  - use superrecord fork with fixes for GHC 9.2

  - use graphmod-1.4.5.1 which has support for GHC 9.2

* //users/Profpatsch: relax constraints on base in Haskell pkgs

* //users/Profpatsch/cas-serve: inherit superrecord from 3p

* //users/grfn/xanthous:

  - //3p/overlays/haskell for 8.10.7:

    * Provide missing dependency of binary-orphans. Fix already commited
      upstream as e238c3fdaab710a2ce0135e5a77cd7e6bb023a22, can be
      dropped when channel advances.

    * Downgrade to brick 0.71.1, the latest version xanthous supports.

  - Adjust to generic-arbitrary >= 1.0, providing Arg constraints where
    necessary.

  - Increase constraint-solver-iterations to 6 (default 4), so
    Xanthous.Command and Xanthous.Data can be typechecked.

  - Drop NFData instances for Key and Modifier which have been added to
    vty upstream.

Change-Id: I2170438c2ce8130b65f1a9fe07c4fecab5683d66
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7654
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <tazjin@tvl.su>
Reviewed-by: grfn <grfn@gws.fyi>
Reviewed-by: Profpatsch <mail@profpatsch.de>
Tested-by: BuildkiteCI
Diffstat (limited to 'third_party/overlays/haskell/default.nix')
-rw-r--r--third_party/overlays/haskell/default.nix50
1 files changed, 41 insertions, 9 deletions
diff --git a/third_party/overlays/haskell/default.nix b/third_party/overlays/haskell/default.nix
index 54d278a786..6116c5c339 100644
--- a/third_party/overlays/haskell/default.nix
+++ b/third_party/overlays/haskell/default.nix
@@ -7,15 +7,19 @@
 self: super: # overlay parameters for the nixpkgs overlay
 
 let
-  dhall-source = subdir: pkg: super.haskell.lib.overrideSrc pkg {
-    src = "${super.fetchFromGitHub {
-      owner = "Profpatsch";
-      repo = "dhall-haskell";
-      # https://github.com/dhall-lang/dhall-haskell/pull/2426
-      rev = "82123817316192d39f9a3e68b8ce9c9cff0a48ed";
-      sha256 = "sha256-gbHoUKIdLPIttqeV471jsT8OJz6uiI6LpHOwtLbBGHY=";
-    }}/${subdir}";
-  };
+  haskellLib = self.haskell.lib.compose;
+  dhall-source = subdir: pkg:
+    haskellLib.overrideSrc
+      {
+        src = "${super.fetchFromGitHub {
+          owner = "Profpatsch";
+          repo = "dhall-haskell";
+          # https://github.com/dhall-lang/dhall-haskell/pull/2426
+          rev = "5e3a407d8ac826597d935d8398825a0ca73fc4e9";
+          sha256 = "005plj6kgxlkm9npaq07kmsgmiqk50dpwb9li9w1ly4aj1zgfjnd";
+        }}/${subdir}";
+      }
+      (haskellLib.overrideCabal { patches = [ ]; } pkg);
 
 
 in
@@ -25,6 +29,24 @@ in
       # TODO: this is to fix a bug in dhall-nix
       dhall = dhall-source "dhall" hsSuper.dhall;
       dhall-nix = dhall-source "dhall-nix" hsSuper.dhall-nix;
+
+      # TODO(Profpatsch): move cas-serve off superrecord
+      # https://github.com/agrafix/superrecord/pull/35
+      # https://github.com/agrafix/superrecord/pull/37
+      superrecord = haskellLib.overrideSrc
+        {
+          src = self.fetchFromGitHub {
+            owner = "possehl-analytics";
+            repo = "superrecord";
+            rev = "05c8fdd724af5189a9a8be2f30dfa55a67f8b656";
+            sha256 = "0p6a280kils12ycdlp6dd7392940yzzy6xi8pjar975j38fm3x5a";
+          };
+        }
+        hsSuper.superrecord;
+
+      # Use recently-released version that has 9.2 support
+      graphmod = assert hsSuper.graphmod != "1.4.5.1";
+        hsSelf.callPackage ./extra-pkgs/graphmod-1.4.5.1.nix { };
     };
   };
 
@@ -35,6 +57,16 @@ in
         # 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(grfn): port to brick 1.4
+        # Breaking changes since 0.68:
+        # - handleEditorEvent takes a BrickEvent (0.72)
+        # - EventM gains an additional type argument (1.0)
+        brick = hsSelf.callPackage ./extra-pkgs/brick-0.71.1.nix { };
+
+        # TODO(sterni): upstream into nixpkgs
+        binary-orphans =
+          haskellLib.addBuildDepends [ hsSelf.OneTuple ] hsSuper.binary-orphans;
       };
     };
   };