diff options
author | Eelco Dolstra <edolstra@gmail.com> | 2021-04-26 16:21:05 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-26 16:21:05 +0200 |
commit | 6b19be4124d642e21a8520bd8ad5496059d8e620 (patch) | |
tree | 603d9d055fff6467b6917d7c0540d311b0d4a1f9 /pkgs/stdenv | |
parent | 32f7980afb5e33f1e078a51e715b9f102f396a69 (diff) | |
parent | 559c5792ef1d0ef413e0abd5ddd07409989ceb1c (diff) | |
download | nixpkgs-6b19be4124d642e21a8520bd8ad5496059d8e620.tar nixpkgs-6b19be4124d642e21a8520bd8ad5496059d8e620.tar.gz nixpkgs-6b19be4124d642e21a8520bd8ad5496059d8e620.tar.bz2 nixpkgs-6b19be4124d642e21a8520bd8ad5496059d8e620.tar.lz nixpkgs-6b19be4124d642e21a8520bd8ad5496059d8e620.tar.xz nixpkgs-6b19be4124d642e21a8520bd8ad5496059d8e620.tar.zst nixpkgs-6b19be4124d642e21a8520bd8ad5496059d8e620.zip |
Merge pull request #120316 from regnat/easy-ca
Make it easy to try out content-addressed derivations
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r-- | pkgs/stdenv/generic/make-derivation.nix | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix index 74609412782..de1b1abd615 100644 --- a/pkgs/stdenv/generic/make-derivation.nix +++ b/pkgs/stdenv/generic/make-derivation.nix @@ -89,6 +89,10 @@ in rec { , patches ? [] + , __contentAddressed ? + (! attrs ? outputHash) # Fixed-output drvs can't be content addressed too + && (config.contentAddressedByDefault or false) + , ... } @ attrs: let @@ -253,6 +257,12 @@ in rec { inherit doCheck doInstallCheck; inherit outputs; + } // lib.optionalAttrs (__contentAddressed) { + inherit __contentAddressed; + # Provide default values for outputHashMode and outputHashAlgo because + # most people won't care about these anyways + outputHashAlgo = attrs.outputHashAlgo or "sha256"; + outputHashMode = attrs.outputHashMode or "recursive"; } // lib.optionalAttrs (stdenv.hostPlatform != stdenv.buildPlatform) { cmakeFlags = (/**/ if lib.isString cmakeFlags then [cmakeFlags] |