summary refs log tree commit diff
path: root/pkgs/stdenv
diff options
context:
space:
mode:
authorNicolas Pierron <nicolas.b.pierron@gmail.com>2009-11-16 22:23:11 +0000
committerNicolas Pierron <nicolas.b.pierron@gmail.com>2009-11-16 22:23:11 +0000
commit01e98e49b155d989d8c80066db6de910396cdcaa (patch)
treee6865c23fbbadcd11b92c9c715edc50b67898e8c /pkgs/stdenv
parent29384d43f2d1d1ae86865405c00fdc1e196de246 (diff)
downloadnixlib-01e98e49b155d989d8c80066db6de910396cdcaa.tar
nixlib-01e98e49b155d989d8c80066db6de910396cdcaa.tar.gz
nixlib-01e98e49b155d989d8c80066db6de910396cdcaa.tar.bz2
nixlib-01e98e49b155d989d8c80066db6de910396cdcaa.tar.lz
nixlib-01e98e49b155d989d8c80066db6de910396cdcaa.tar.xz
nixlib-01e98e49b155d989d8c80066db6de910396cdcaa.tar.zst
nixlib-01e98e49b155d989d8c80066db6de910396cdcaa.zip
* Add a stdenv adapter which can remove all maintainers fields. This can
  be used to remove error reports from development branches.

svn path=/nixpkgs/trunk/; revision=18377
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r--pkgs/stdenv/adapters.nix16
1 files changed, 16 insertions, 0 deletions
diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix
index db3803661531..5760c4459ad5 100644
--- a/pkgs/stdenv/adapters.nix
+++ b/pkgs/stdenv/adapters.nix
@@ -186,4 +186,20 @@ rec {
       # `keepBuildTree' adapter as well.
       (cleanupBuildTree (keepBuildTree stdenv));
       
+
+  /* Replace the meta.maintainers field of a derivation.  This is useful
+     when you want to fork to update some packages without disturbing other
+     developers.
+
+     e.g.:  in all-packages.nix:
+
+     # remove all maintainers.
+     defaultStdenv = replaceMaintainersField allStdenvs.stdenv pkgs [];
+  */
+  replaceMaintainersField = stdenv: pkgs: maintainers: stdenv //
+    { mkDerivation = args:
+        pkgs.lib.recursiveUpdate
+          (stdenv.mkDerivation args)
+          { meta.maintainers = maintainers; };
+    };
 }