feat(3p/haskellPackages): port in patches from xanthous

Add a few relatively uncontroversial patches to fix some broken packages
that I had developed for xanthous to the top-level third_party tree, so
they can be reused by other people in the monorepo

Change-Id: I68740477bda278c5dcc123080029ee4bd2cae37a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/740
Reviewed-by: Profpatsch <mail@profpatsch.de>
Reviewed-by: tazjin <mail@tazj.in>
This commit is contained in:
Griffin Smith 2020-06-28 21:27:02 -04:00 committed by glittershark
parent 0ecc9b4ed3
commit 8091da8f0f
9 changed files with 230 additions and 19 deletions

View file

@ -16,6 +16,6 @@ let
xanthous =
(if failOnWarnings then pkgs.haskell.lib.failOnAllWarnings else id)
((pkgs.haskellPackages
.extend (import ./haskell-overlay.nix { inherit pkgs; })
# .extend (import ./haskell-overlay.nix { inherit pkgs; })
).callPackage (import ./pkg.nix { inherit pkgs; }) {}); in
xanthous // { inherit hie; }

View file

@ -1,49 +0,0 @@
{ pkgs ? import ./nixpkgs.nix {} }:
self: super: with pkgs.haskell.lib; rec {
generic-arbitrary = appendPatch
super.generic-arbitrary
[ ./build/generic-arbitrary-export-garbitrary.patch ];
hgeometry =
appendPatch
(self.callHackageDirect {
pkg = "hgeometry";
ver = "0.9.0.0";
sha256 = "02hyvbqm57lr47w90vdgl71cfbd6lvwpqdid9fcnmxkdjbq4kv6b";
} {}) [ ./build/hgeometry-fix-haddock.patch ];
hgeometry-combinatorial =
self.callHackageDirect {
pkg = "hgeometry-combinatorial";
ver = "0.9.0.0";
sha256 = "12k41wd9fd1y3jd5djwcpwg2s1cva87wh14i0m1yn49zax9wl740";
} {};
vinyl = overrideSrc (markUnbroken super.vinyl)
rec {
src = pkgs.fetchzip {
url = "mirror://hackage/vinyl-${version}/vinyl-${version}.tar.gz";
sha256 = "190ffrmm76fh8fi9afkcda2vldf89y7dxj10434h28mbpq55kgsx";
};
version = "0.12.0";
};
comonad-extras = appendPatch (markUnbroken super.comonad-extras)
[ ./build/update-comonad-extras.patch ];
ghc-prof-flamegraph = overrideCabal super.ghc-prof-flamegraph (oldAttrs: rec {
version = "0.2.0.0";
src = pkgs.fetchFromGitHub {
owner = "fpco";
repo = "ghc-prof-flamegraph";
rev = "8edd3b4806adeb25a4d55bed51c3afcc8e7a8e14";
sha256 = "1i05pw495y5n24s1313iip8njn1lkf22a89izvi19iw7qkx062hr";
fetchSubmodules = true;
};
libraryHaskellDepends = oldAttrs.libraryHaskellDepends ++ [
self.optparse-applicative
];
});
}

View file

@ -1,9 +1,3 @@
let
inherit (import <nixpkgs> {}) fetchFromGitHub;
nixpkgs = fetchFromGitHub {
owner = "NixOS";
repo = "nixpkgs-channels";
rev = "54f385241e6649128ba963c10314942d73245479";
sha256 = "0bd4v8v4xcdbaiaa59yqprnc6dkb9jv12mb0h5xz7b51687ygh9l";
};
in import nixpkgs
args:
let pkgs = (import ../../../. args).third_party;
in pkgs // { inherit pkgs; }

View file

@ -1,16 +1,16 @@
{ nixpkgs ? import ./nixpkgs.nix {}, compiler ? "ghc865", withHoogle ? true }:
{ nixpkgs ? import ./nixpkgs.nix {}
, pkgs ? nixpkgs.pkgs
, compiler ? "ghc865"
, withHoogle ? true
}:
let
inherit (nixpkgs) pkgs;
pkg = import ./pkg.nix { inherit nixpkgs; };
pkg = import ./pkg.nix { inherit pkgs; };
packageSet = (
if compiler == "default"
then pkgs.haskellPackages
else pkgs.haskell.packages.${compiler}
).override {
overrides = import ./haskell-overlay.nix { inherit nixpkgs; };
};
);
haskellPackages = (
if withHoogle
@ -18,7 +18,8 @@ let
overrides = (self: super: {
ghc = super.ghc // { withPackages = super.ghc.withHoogle; };
ghcWithPackages = self.ghc.withPackages;
} // (import ./haskell-overlay.nix { inherit nixpkgs; }) self super);
} // (import ../../../third_party/haskell_overlay { inherit pkgs; })
self super);
}
else packageSet
);