make-derivation: put patches in all derivations

This puts patches in all derivations even if it unspecified by the
derivation. By default it will be an empty list. This simplifies
overrides, as we can now assume that patches is a valid name so that
this works:

self: super: {
  mypkg = super.pkg.overrideAttrs (o: {
    patches = o.patches ++ [ ./my-very-own.patch ];
  });
}

That is, you don’t need to provide a default "or []", make-derivation
provides one for you.

Unfortunately, this is a mass rebuild.
wip/yesman
Matthew Bauer 5 years ago
parent ef54604ce4
commit c7ccb9f197
  1. 4
      pkgs/stdenv/generic/make-derivation.nix

@ -86,6 +86,8 @@ in rec {
, hardeningEnable ? []
, hardeningDisable ? []
, patches ? []
, ... } @ attrs:
let
@ -235,6 +237,8 @@ in rec {
++ optional (elem "host" configurePlatforms) "--host=${stdenv.hostPlatform.config}"
++ optional (elem "target" configurePlatforms) "--target=${stdenv.targetPlatform.config}";
inherit patches;
inherit doCheck doInstallCheck;
inherit outputs;

Loading…
Cancel
Save