hnix/default.nix

62 lines
1.8 KiB
Nix
Raw Normal View History

2018-04-25 01:43:56 +02:00
{ compiler ? "ghc822" # "ghc842" also works
, doProfiling ? false
, doBenchmark ? false
, doTracing ? false
, rev ? "255a833e841628c0b834575664eae373e28cdc27"
, sha256 ? "022xm1pf4fpjjy69g7qz6rpqnwpjcy1l0vj49m8xmgn553cs42ch"
# , nixpkgs ? import ((import <nixpkgs> {}).fetchFromGitHub {
# owner = "NixOS"; repo = "nixpkgs"; inherit rev sha256; }) {
, nixpkgs ? import (builtins.fetchTarball {
url = "https://github.com/NixOS/nixpkgs/archive/${rev}.tar.gz";
inherit sha256; }) {
2018-04-17 06:57:27 +02:00
config.allowUnfree = true;
config.allowBroken = false;
2018-04-17 06:57:27 +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-25 01:43:56 +02:00
compact = if compiler == "ghc842"
then doJailbreak super.compact
else super.compact;
2018-04-16 20:37:45 +02:00
serialise = dontCheck super.serialise;
2018-04-29 02:12:32 +02:00
ghc-datasize =
pkgs.haskell.lib.overrideCabal super.ghc-datasize (attrs: {
enableLibraryProfiling = false;
enableExecutableProfiling = false;
});
ghc-heap-view =
pkgs.haskell.lib.overrideCabal super.ghc-heap-view (attrs: {
enableLibraryProfiling = false;
enableExecutableProfiling = false;
});
};
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
# 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;
configureFlags = if doTracing
then [ "--flags=tracing" ]
else [];
2018-04-17 00:10:47 +02:00
});
}