Further refinements to default.nix
This commit is contained in:
parent
5c2cc00b64
commit
5183f5ea13
24
default.nix
24
default.nix
|
@ -4,7 +4,6 @@
|
||||||
, doBenchmark ? false
|
, doBenchmark ? false
|
||||||
, doTracing ? false
|
, doTracing ? false
|
||||||
, doStrict ? false
|
, doStrict ? false
|
||||||
, provideDrv ? false
|
|
||||||
|
|
||||||
, rev ? "9d0b6b9dfc92a2704e2111aa836f5bdbf8c9ba42"
|
, rev ? "9d0b6b9dfc92a2704e2111aa836f5bdbf8c9ba42"
|
||||||
, sha256 ? "096r7ylnwz4nshrfkh127dg8nhrcvgpr69l4xrdgy3kbq049r3nb"
|
, sha256 ? "096r7ylnwz4nshrfkh127dg8nhrcvgpr69l4xrdgy3kbq049r3nb"
|
||||||
|
@ -17,6 +16,7 @@
|
||||||
config.allowUnfree = true;
|
config.allowUnfree = true;
|
||||||
config.allowBroken = false;
|
config.allowBroken = false;
|
||||||
}
|
}
|
||||||
|
, provideDrv ? !nixpkgs.pkgs.lib.inNixShell
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let inherit (nixpkgs) pkgs;
|
let inherit (nixpkgs) pkgs;
|
||||||
|
@ -29,17 +29,15 @@ let inherit (nixpkgs) pkgs;
|
||||||
{ root
|
{ root
|
||||||
, source-overrides ? {}
|
, source-overrides ? {}
|
||||||
, overrides ? self: super: {}
|
, overrides ? self: super: {}
|
||||||
, modifier ? drv: drv }:
|
, modifier ? drv: drv
|
||||||
let name = builtins.baseNameOf root;
|
, provideDrv ? !pkgs.lib.inNixShell }:
|
||||||
drv =
|
let drv =
|
||||||
(this.extend
|
(extensible-self.extend
|
||||||
(pkgs.lib.composeExtensions
|
(pkgs.lib.composeExtensions
|
||||||
(self.packageSourceOverrides source-overrides)
|
(self.packageSourceOverrides source-overrides)
|
||||||
overrides))
|
overrides))
|
||||||
.callCabal2nix name root {};
|
.callCabal2nix (builtins.baseNameOf root) root {};
|
||||||
in if pkgs.lib.inNixShell && !provideDrv
|
in if provideDrv then modifier drv else (modifier drv).env;
|
||||||
then (modifier drv).env
|
|
||||||
else modifier drv;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// (if compiler == "ghcjs" then {} else
|
// (if compiler == "ghcjs" then {} else
|
||||||
|
@ -107,4 +105,6 @@ in haskellPackages.developPackage {
|
||||||
++ pkgs.stdenv.lib.optional doProfiling "--flags=profiling"
|
++ pkgs.stdenv.lib.optional doProfiling "--flags=profiling"
|
||||||
++ pkgs.stdenv.lib.optional doStrict "--ghc-options=-Werror";
|
++ pkgs.stdenv.lib.optional doStrict "--ghc-options=-Werror";
|
||||||
});
|
});
|
||||||
|
|
||||||
|
inherit provideDrv;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue