about summary refs log tree commit diff
path: root/third_party/nixpkgs-exposed/haskell_overlay/default.nix
diff options
context:
space:
mode:
authorsterni <sternenseemann@systemli.org>2021-03-19T13·13+0000
committersterni <sternenseemann@systemli.org>2021-03-19T16·49+0000
commita01fe5c06fc99bd66c681b981f63534e03063aee (patch)
tree1da3ace68e4eb6d56fecc0d2d5046c9b74045904 /third_party/nixpkgs-exposed/haskell_overlay/default.nix
parent531fc2b80bd4ca5aac8abe371255bcd40395e766 (diff)
fix(gs/xanthous): fix build failures caused by dependency updates r/2286
The following changes in dependencies of xanthous broke the build and
have been fixed in this CL. Thus we can reenable CI for xanthous.

* random 1.2.0 removed the Read instance for StdGen, so we need use
  System.Random.Internal to un-newtype StdGen into an SMGen in the
  appropriate places as that type still has a Show and Read instance.
  Requires a new direct dependency on splitmix as well.

* witherable 4.0 renamed Data.Witherable into Witherable and no longer
  exports Filter.

* random 1.2.0 probably also broke the Function instance for GameState
  which contains a StdGen. I'm not exactly sure which change exactly
  triggered this, but the fix is easy enough: We implement a Function
  instance for SMGen using functionShow allowing us to write a Function
  instance for StdGen using functionMap. I've put these instances into
  Xanthous.Orphans.

* hgeometry 0.12.0.0 removes the triangulationEdges function (which is
  also not mentioned in the changelog, so I'm not sure if there's a
  replacement yet). Fix by pinning to 0.11.0.0 for now.

* hedgehog-classes: relax bounds on semirings

Change-Id: I3617d8916d753b386c9fa80062be6bcbdfee0131
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2607
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
Diffstat (limited to 'third_party/nixpkgs-exposed/haskell_overlay/default.nix')
-rw-r--r--third_party/nixpkgs-exposed/haskell_overlay/default.nix26
1 files changed, 26 insertions, 0 deletions
diff --git a/third_party/nixpkgs-exposed/haskell_overlay/default.nix b/third_party/nixpkgs-exposed/haskell_overlay/default.nix
index af6bbd475672..4cf3cfb4cb73 100644
--- a/third_party/nixpkgs-exposed/haskell_overlay/default.nix
+++ b/third_party/nixpkgs-exposed/haskell_overlay/default.nix
@@ -15,4 +15,30 @@ self: super: with pkgs.haskell.lib; rec {
   test-framework = doJailbreak super.test-framework;
   hashable = doJailbreak super.hashable;
   test-framework-quickcheck2 = doJailbreak super.test-framework-quickcheck2;
+
+  # 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
+    '';
+  });
+
+  # pin hgeometry* to 0.11.0.0 since 0.12.0.0 removes triangulationEdges
+  # which is used by //users/glittershark/xanthous
+  hgeometry =
+    self.callHackageDirect {
+      pkg = "hgeometry";
+      ver = "0.11.0.0";
+      sha256 = "0qidbpgs6jxrirrhmy7iabwd62178sm68fqrmqg3w3gfyx8nm8ls";
+    } {};
+
+  hgeometry-combinatorial =
+    self.callHackageDirect {
+      pkg = "hgeometry-combinatorial";
+      ver = "0.11.0.0";
+      sha256 = "0c9ccqz1m45kkdkzw00gvzdspjljhg12vish6himqjqpms7g6sag";
+    } {};
 }