snix/third_party/overlays/haskell/default.nix
sterni 7e2023546c fix(3p/haskellPackages): re-add random 1.2.0 to fix xanthous
The random_1_2_0 attribute of haskellPackages currently holds random
1.2.0 which is what we want to have. We need to disable tests because
they cause an infinite recursion as basically all testing libraries
depend on random. This has the nice side effect that we no longer need
import from derivation for random 1.2.0 (but owothia and xanthous still
use it).

Re-enable CI for xanthous.

Additinonally we need to deal with the fallout of the haskellPackages
overlay now also being pulled in for some machines since cl/2910 and
let pandoc compile with random 1.2.0.

Change-Id: I78d220e5bd35f3469d80d69e77e712a529f21d33
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2924
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: glittershark <grfn@gws.fyi>
2021-04-11 20:11:17 +00:00

40 lines
1.4 KiB
Nix

# Defines an overlay for overriding Haskell packages, for example to
# avoid breakage currently present in nixpkgs or to modify package
# versions.
{ ... }: # This file needs nothing from readTree
self: super: # overlay parameters for the nixpkgs overlay
let
overrides = hsSelf: hsSuper: with super.haskell.lib; rec {
generic-arbitrary = appendPatch hsSuper.generic-arbitrary
[ ./patches/generic-arbitrary-export-garbitrary.patch ];
# check dependencies cause circular dependency on itself
# and thus an infinite recursion
random = dontCheck hsSuper.random_1_2_0;
# random <1.2
test-framework = doJailbreak hsSuper.test-framework;
hashable = doJailbreak hsSuper.hashable;
test-framework-quickcheck2 = doJailbreak hsSuper.test-framework-quickcheck2;
pandoc = doJailbreak hsSuper.pandoc;
# can be removed if we have the following PR or equivalent
# https://github.com/NixOS/nixpkgs/pull/116931
hedgehog-classes = overrideCabal hsSuper.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
'';
});
hgeometry-combinatorial = dontCheck hsSuper.hgeometry-combinatorial;
};
in {
haskellPackages = super.haskellPackages.override {
inherit overrides;
};
}