diff --git a/pkgs/build-support/prefer-remote-fetch/default.nix b/pkgs/build-support/prefer-remote-fetch/default.nix index d686533f69e0f..ba7d2f4a7cd1d 100644 --- a/pkgs/build-support/prefer-remote-fetch/default.nix +++ b/pkgs/build-support/prefer-remote-fetch/default.nix @@ -10,24 +10,26 @@ # $ mkdir ~/.config/nixpkgs/overlays/ # $ echo 'self: super: super.prefer-remote-fetch self super' > ~/.config/nixpkgs/overlays/prefer-remote-fetch.nix # -self: super: { +self: super: +let + extendDrvArgs = + finalAttrs: args: + { + preferLocalBuild = args.preferLocalBuild or false; + }; +in +{ binary-cache = args: super.binary-cache ({ preferLocalBuild = false; } // args); buildenv = args: super.buildenv ({ preferLocalBuild = false; } // args); fetchfossil = args: super.fetchfossil ({ preferLocalBuild = false; } // args); fetchdocker = args: super.fetchdocker ({ preferLocalBuild = false; } // args); - fetchgit = args: super.fetchgit ({ preferLocalBuild = false; } // args); + fetchgit = super.lib.extendMkDerivation { constructDrv = super.fetchgit; inherit extendDrvArgs; }; fetchgx = args: super.fetchgx ({ preferLocalBuild = false; } // args); - fetchhg = args: super.fetchhg ({ preferLocalBuild = false; } // args); + fetchhg = super.lib.extendMkDerivation { constructDrv = super.fetchhg; inherit extendDrvArgs; }; fetchipfs = args: super.fetchipfs ({ preferLocalBuild = false; } // args); fetchrepoproject = args: super.fetchrepoproject ({ preferLocalBuild = false; } // args); fetchs3 = args: super.fetchs3 ({ preferLocalBuild = false; } // args); fetchsvn = args: super.fetchsvn ({ preferLocalBuild = false; } // args); - fetchurl = - fpArgs: - super.fetchurl ( - super.lib.extends (finalAttrs: args: { preferLocalBuild = args.preferLocalBuild or false; }) ( - super.lib.toFunction fpArgs - ) - ); + fetchurl = super.lib.extendMkDerivation { constructDrv = super.fetchurl; inherit extendDrvArgs; }; mkNugetSource = args: super.mkNugetSource ({ preferLocalBuild = false; } // args); }