about summary refs log tree commit diff
path: root/third_party/overlays/haskell/default.nix
blob: 45681194acc6b4ec2cf0b453c8564d07abef9b7b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 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;
  };
in {
  haskellPackages = super.haskellPackages.override {
    inherit overrides;
  };
}