summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2018-01-30 19:26:07 +0100
committerGitHub <noreply@github.com>2018-01-30 19:26:07 +0100
commitade2840f2045a5d1fdc4dc90ebeeec6415a42697 (patch)
treeb0d4ce3a960c5c2620a22fb19453f3b2e8e040fa
parent7e7477295e1629093a1f23ade37ad0ac91eecf36 (diff)
parentbdffbc775ebc887932dd79965a70aff5a39feeba (diff)
downloadnixlib-ade2840f2045a5d1fdc4dc90ebeeec6415a42697.tar
nixlib-ade2840f2045a5d1fdc4dc90ebeeec6415a42697.tar.gz
nixlib-ade2840f2045a5d1fdc4dc90ebeeec6415a42697.tar.bz2
nixlib-ade2840f2045a5d1fdc4dc90ebeeec6415a42697.tar.lz
nixlib-ade2840f2045a5d1fdc4dc90ebeeec6415a42697.tar.xz
nixlib-ade2840f2045a5d1fdc4dc90ebeeec6415a42697.tar.zst
nixlib-ade2840f2045a5d1fdc4dc90ebeeec6415a42697.zip
Merge pull request #34405 from pjan/developPackage-modifier
Adds modifier option to developPackage
-rw-r--r--pkgs/development/haskell-modules/make-package-set.nix11
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);