From a01fe5c06fc99bd66c681b981f63534e03063aee Mon Sep 17 00:00:00 2001 From: sterni Date: Fri, 19 Mar 2021 13:13:44 +0000 Subject: fix(gs/xanthous): fix build failures caused by dependency updates 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 --- .../nixpkgs-exposed/haskell_overlay/default.nix | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'third_party/nixpkgs-exposed/haskell_overlay/default.nix') 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"; + } {}; } -- cgit 1.4.1