2021-04-10 18:05:16 +02:00
|
|
|
# Defines an overlay for overriding Haskell packages, for example to
|
|
|
|
# avoid breakage currently present in nixpkgs or to modify package
|
|
|
|
# versions.
|
2021-04-10 14:12:25 +02:00
|
|
|
|
2021-11-14 18:33:07 +01:00
|
|
|
{ lib, ... }:
|
2020-06-29 03:27:02 +02:00
|
|
|
|
2021-04-10 18:05:16 +02:00
|
|
|
self: super: # overlay parameters for the nixpkgs overlay
|
2019-12-30 17:31:56 +01:00
|
|
|
|
2021-04-10 18:05:16 +02:00
|
|
|
let
|
2022-12-27 14:32:52 +01:00
|
|
|
haskellLib = self.haskell.lib.compose;
|
|
|
|
dhall-source = subdir: pkg:
|
|
|
|
haskellLib.overrideSrc
|
|
|
|
{
|
|
|
|
src = "${super.fetchFromGitHub {
|
|
|
|
owner = "Profpatsch";
|
|
|
|
repo = "dhall-haskell";
|
|
|
|
# https://github.com/dhall-lang/dhall-haskell/pull/2426
|
|
|
|
rev = "5e3a407d8ac826597d935d8398825a0ca73fc4e9";
|
|
|
|
sha256 = "005plj6kgxlkm9npaq07kmsgmiqk50dpwb9li9w1ly4aj1zgfjnd";
|
|
|
|
}}/${subdir}";
|
|
|
|
}
|
|
|
|
(haskellLib.overrideCabal { patches = [ ]; } pkg);
|
2022-09-25 15:34:23 +02:00
|
|
|
|
|
|
|
|
2021-04-10 18:05:16 +02:00
|
|
|
in
|
|
|
|
{
|
|
|
|
haskellPackages = super.haskellPackages.override {
|
2022-09-25 15:34:23 +02:00
|
|
|
overrides = hsSelf: hsSuper: {
|
2023-08-21 23:45:36 +02:00
|
|
|
|
|
|
|
ihp-hsx = lib.pipe hsSuper.ihp-hsx [
|
|
|
|
(haskellLib.overrideSrc {
|
|
|
|
version = "1.1.0";
|
|
|
|
src = "${self.fetchFromGitHub {
|
|
|
|
owner = "digitallyinduced";
|
|
|
|
repo = "ihp";
|
|
|
|
rev = "b5d47963c998ccd779aa5c3d46484338fd621f0d";
|
|
|
|
sha256 = "sha256-M22W8VX4sRaeU2yVraR0S2t2VOwWGmoteD/M8TahdoE=";
|
|
|
|
}}/ihp-hsx";
|
|
|
|
})
|
|
|
|
haskellLib.doJailbreak
|
|
|
|
];
|
|
|
|
|
2022-09-25 15:34:23 +02:00
|
|
|
# TODO: this is to fix a bug in dhall-nix
|
|
|
|
dhall = dhall-source "dhall" hsSuper.dhall;
|
|
|
|
dhall-nix = dhall-source "dhall-nix" hsSuper.dhall-nix;
|
2023-05-28 17:20:48 +02:00
|
|
|
|
2023-10-15 20:16:52 +02:00
|
|
|
pa-prelude = hsSelf.callPackage ./extra-pkgs/pa-prelude.nix { };
|
2023-05-28 17:20:48 +02:00
|
|
|
pa-error-tree = hsSelf.callPackage ./extra-pkgs/pa-error-tree-0.1.0.0.nix { };
|
2023-10-15 20:16:52 +02:00
|
|
|
pa-field-parser = hsSelf.callPackage ./extra-pkgs/pa-field-parser.nix { };
|
2023-05-28 17:20:48 +02:00
|
|
|
pa-label = hsSelf.callPackage ./extra-pkgs/pa-label-0.1.0.1.nix { };
|
2023-06-19 15:56:32 +02:00
|
|
|
pa-pretty = hsSelf.callPackage ./extra-pkgs/pa-pretty-0.1.1.0.nix { };
|
2023-10-15 20:16:52 +02:00
|
|
|
pa-json = hsSelf.callPackage ./extra-pkgs/pa-json.nix { };
|
2023-06-20 00:22:14 +02:00
|
|
|
pa-run-command = hsSelf.callPackage ./extra-pkgs/pa-run-command-0.1.0.0.nix { };
|
2022-09-25 15:34:23 +02:00
|
|
|
};
|
2021-04-10 18:05:16 +02:00
|
|
|
};
|
2022-03-31 18:40:08 +02:00
|
|
|
|
|
|
|
haskell = lib.recursiveUpdate super.haskell {
|
|
|
|
packages.ghc8107 = super.haskell.packages.ghc8107.override {
|
2022-09-25 15:34:23 +02:00
|
|
|
overrides = hsSelf: hsSuper: {
|
|
|
|
# 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 { };
|
2022-12-27 14:32:52 +01:00
|
|
|
|
2022-12-29 11:36:08 +01:00
|
|
|
# TODO(grfn): port to brick 1.4 (EventM gains an additional type argument in 1.0)
|
|
|
|
brick = hsSelf.callPackage ./extra-pkgs/brick-0.73.nix { };
|
2022-09-25 15:34:23 +02:00
|
|
|
};
|
2022-03-31 18:40:08 +02:00
|
|
|
};
|
|
|
|
};
|
2019-11-30 04:57:58 +01:00
|
|
|
}
|