5a063def51
The main change is that nixpkgs updated to GHC 9.2 and Stackage LTS-20, so we suffer from a bit of churn. * //3p/overlays/haskell: - use updated dhall-nix patch for hnix 0.16 - use superrecord fork with fixes for GHC 9.2 - use graphmod-1.4.5.1 which has support for GHC 9.2 * //users/Profpatsch: relax constraints on base in Haskell pkgs * //users/Profpatsch/cas-serve: inherit superrecord from 3p * //users/grfn/xanthous: - //3p/overlays/haskell for 8.10.7: * Provide missing dependency of binary-orphans. Fix already commited upstream as e238c3fdaab710a2ce0135e5a77cd7e6bb023a22, can be dropped when channel advances. * Downgrade to brick 0.71.1, the latest version xanthous supports. - Adjust to generic-arbitrary >= 1.0, providing Arg constraints where necessary. - Increase constraint-solver-iterations to 6 (default 4), so Xanthous.Command and Xanthous.Data can be typechecked. - Drop NFData instances for Key and Modifier which have been added to vty upstream. Change-Id: I2170438c2ce8130b65f1a9fe07c4fecab5683d66 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7654 Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: tazjin <tazjin@tvl.su> Reviewed-by: grfn <grfn@gws.fyi> Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
73 lines
2.5 KiB
Nix
73 lines
2.5 KiB
Nix
# 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
|
|
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);
|
|
|
|
|
|
in
|
|
{
|
|
haskellPackages = super.haskellPackages.override {
|
|
overrides = hsSelf: hsSuper: {
|
|
# 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;
|
|
|
|
# TODO(Profpatsch): move cas-serve off superrecord
|
|
# https://github.com/agrafix/superrecord/pull/35
|
|
# https://github.com/agrafix/superrecord/pull/37
|
|
superrecord = haskellLib.overrideSrc
|
|
{
|
|
src = self.fetchFromGitHub {
|
|
owner = "possehl-analytics";
|
|
repo = "superrecord";
|
|
rev = "05c8fdd724af5189a9a8be2f30dfa55a67f8b656";
|
|
sha256 = "0p6a280kils12ycdlp6dd7392940yzzy6xi8pjar975j38fm3x5a";
|
|
};
|
|
}
|
|
hsSuper.superrecord;
|
|
|
|
# Use recently-released version that has 9.2 support
|
|
graphmod = assert hsSuper.graphmod != "1.4.5.1";
|
|
hsSelf.callPackage ./extra-pkgs/graphmod-1.4.5.1.nix { };
|
|
};
|
|
};
|
|
|
|
haskell = lib.recursiveUpdate super.haskell {
|
|
packages.ghc8107 = super.haskell.packages.ghc8107.override {
|
|
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 { };
|
|
|
|
# TODO(grfn): port to brick 1.4
|
|
# Breaking changes since 0.68:
|
|
# - handleEditorEvent takes a BrickEvent (0.72)
|
|
# - EventM gains an additional type argument (1.0)
|
|
brick = hsSelf.callPackage ./extra-pkgs/brick-0.71.1.nix { };
|
|
|
|
# TODO(sterni): upstream into nixpkgs
|
|
binary-orphans =
|
|
haskellLib.addBuildDepends [ hsSelf.OneTuple ] hsSuper.binary-orphans;
|
|
};
|
|
};
|
|
};
|
|
}
|