about summary refs log tree commit diff
path: root/third_party/overlays/haskell/default.nix
blob: 6e18752f52701ce73731a2557a4b5d168fd9ca5a (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
29
30
31
32
# Defines an overlay for overriding Haskell packages, for example to
# avoid breakage currently present in nixpkgs or to modify package
# versions.

{ lib, ... }:

self: super: # overlay parameters for the nixpkgs overlay

let
  overrides = hsSelf: hsSuper: with self.haskell.lib.compose; {
    # No overrides for the default package set necessary at the moment
  };
in
{
  haskellPackages = super.haskellPackages.override {
    inherit overrides;
  };

  haskell = lib.recursiveUpdate super.haskell {
    packages.ghc8107 = super.haskell.packages.ghc8107.override {
      overrides = hsSelf: hsSuper: with self.haskell.lib.compose; {
        # TODO(sterni): TODO(grfn): patch xanthous to work with random-fu 0.3.*,
        # 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(sterni): upstream this
        universe-base = addBuildDepend hsSelf.OneTuple hsSuper.universe-base;
      };
    };
  };
}