diff options
author | pjan vandaele <pjan@pjan.io> | 2018-01-30 12:29:59 +0900 |
---|---|---|
committer | pjan vandaele <pjan@pjan.io> | 2018-01-30 12:29:59 +0900 |
commit | bdffbc775ebc887932dd79965a70aff5a39feeba (patch) | |
tree | 307adb2201b16a92c87e3275615a1ad683396c73 /pkgs/development/haskell-modules | |
parent | 499b3edb306988d9ec91db50174aa85a896e585b (diff) | |
download | nixlib-bdffbc775ebc887932dd79965a70aff5a39feeba.tar nixlib-bdffbc775ebc887932dd79965a70aff5a39feeba.tar.gz nixlib-bdffbc775ebc887932dd79965a70aff5a39feeba.tar.bz2 nixlib-bdffbc775ebc887932dd79965a70aff5a39feeba.tar.lz nixlib-bdffbc775ebc887932dd79965a70aff5a39feeba.tar.xz nixlib-bdffbc775ebc887932dd79965a70aff5a39feeba.tar.zst nixlib-bdffbc775ebc887932dd79965a70aff5a39feeba.zip |
Adds modifier option to developPackage
Diffstat (limited to 'pkgs/development/haskell-modules')
-rw-r--r-- | pkgs/development/haskell-modules/make-package-set.nix | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix index e1b0f78b7151..223f06528879 100644 --- a/pkgs/development/haskell-modules/make-package-set.nix +++ b/pkgs/development/haskell-modules/make-package-set.nix @@ -161,18 +161,19 @@ in package-set { inherit pkgs stdenv callPackage; } self // { # : { root : Path # , source-overrides : Defaulted (Either Path VersionNumber) # , overrides : Defaulted (HaskellPackageOverrideSet) + # , modifier : Defaulted # } -> NixShellAwareDerivation # Given a path to a haskell package directory whose cabal file is # named the same as the directory name, an optional set of # source overrides as appropriate for the 'packageSourceOverrides' - # function, and an optional set of arbitrary overrides, - # return a derivation appropriate for nix-build or nix-shell - # to build that package. - developPackage = { root, source-overrides ? {}, overrides ? self: super: {} }: + # function, an optional set of arbitrary overrides, and an optional + # haskell package modifier, return a derivation appropriate + # for nix-build or nix-shell to build that package. + developPackage = { root, source-overrides ? {}, overrides ? self: super: {}, modifier ? drv: drv }: let name = builtins.baseNameOf root; drv = (extensible-self.extend (pkgs.lib.composeExtensions (self.packageSourceOverrides source-overrides) overrides)).callCabal2nix name root {}; - in if pkgs.lib.inNixShell then drv.env else drv; + in if pkgs.lib.inNixShell then (modifier drv).env else modifier drv; ghcWithPackages = selectFrom: withPackages (selectFrom self); |