From 2f4562567398e145083e8df79e839f9f2728e4e8 Mon Sep 17 00:00:00 2001
From: regnat <rg@regnat.ovh>
Date: Fri, 23 Apr 2021 10:49:10 +0200
Subject: [PATCH] Allow easily marking a derivation as content-addressed

---
 pkgs/stdenv/generic/make-derivation.nix | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix
index 74609412782..5b446b11826 100644
--- a/pkgs/stdenv/generic/make-derivation.nix
+++ b/pkgs/stdenv/generic/make-derivation.nix
@@ -89,6 +89,8 @@ in rec {
 
     , patches ? []
 
+    , __contentAddressed ? false
+
     , ... } @ attrs:
 
     let
@@ -253,6 +255,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]