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; }; + }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 272f39c9400a..04b52299f03f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -237,7 +237,8 @@ let inherit (import ../stdenv/adapters.nix {inherit (pkgs) dietlibc fetchurl runCommand;}) overrideGCC overrideInStdenv overrideSetup useDietLibC useKlibc makeStaticBinaries addAttrsToDerivation - keepBuildTree cleanupBuildTree addCoverageInstrumentation; + keepBuildTree cleanupBuildTree addCoverageInstrumentation + replaceMaintainersField; ### BUILD SUPPORT