2018-04-16 20:37:45 +02:00
|
|
|
{ compiler ? "ghc822"
|
2018-04-12 05:21:52 +02:00
|
|
|
, doProfiling ? false
|
|
|
|
, doBenchmark ? false
|
2018-04-16 20:37:45 +02:00
|
|
|
, rev ? "ee28e35ba37ab285fc29e4a09f26235ffe4123e2"
|
|
|
|
, sha256 ? "0a6xrqjj2ihkz1bizhy5r843n38xgimzw5s2mfc42kk2rgc95gw5"
|
2018-04-12 05:21:52 +02:00
|
|
|
, nixpkgs ? import (builtins.fetchTarball {
|
2018-04-10 20:44:41 +02:00
|
|
|
url = "https://github.com/NixOS/nixpkgs/archive/${rev}.tar.gz";
|
2018-04-17 06:57:27 +02:00
|
|
|
sha256 = sha256; }) {
|
|
|
|
config.allowBroken = false;
|
|
|
|
config.allowUnfree = true;
|
|
|
|
}
|
2018-04-12 05:21:52 +02:00
|
|
|
}:
|
2018-04-07 01:23:24 +02:00
|
|
|
|
2018-04-17 00:10:47 +02:00
|
|
|
let inherit (nixpkgs) pkgs;
|
2018-04-07 01:23:24 +02:00
|
|
|
|
2018-04-17 00:10:47 +02:00
|
|
|
haskellPackages = pkgs.haskell.packages.${compiler}.override {
|
|
|
|
overrides = with pkgs.haskell.lib; self: super: rec {
|
2018-04-16 20:37:45 +02:00
|
|
|
serialise = dontCheck super.serialise;
|
2018-04-12 02:59:42 +02:00
|
|
|
};
|
2018-04-07 01:23:24 +02:00
|
|
|
};
|
|
|
|
|
2018-04-17 00:10:47 +02:00
|
|
|
in haskellPackages.developPackage {
|
|
|
|
root = ./.;
|
|
|
|
|
|
|
|
source-overrides = {
|
|
|
|
};
|
|
|
|
|
|
|
|
modifier = drv: pkgs.haskell.lib.overrideCabal drv (attrs: {
|
|
|
|
testHaskellDepends = attrs.testHaskellDepends ++
|
|
|
|
[
|
|
|
|
pkgs.nix
|
|
|
|
haskellPackages.hpack
|
2018-04-21 07:36:40 +02:00
|
|
|
# haskellPackages.cabal-install
|
2018-04-17 00:10:47 +02:00
|
|
|
];
|
|
|
|
|
|
|
|
enableLibraryProfiling = doProfiling;
|
|
|
|
enableExecutableProfiling = doProfiling;
|
2018-04-07 01:23:24 +02:00
|
|
|
|
2018-04-17 00:10:47 +02:00
|
|
|
inherit doBenchmark;
|
|
|
|
});
|
|
|
|
}
|