summary refs log tree commit diff
path: root/pkgs/stdenv
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2021-04-26 18:14:28 +0000
committerGitHub <noreply@github.com>2021-04-26 18:14:28 +0000
commitf0290a5d27b290bf66e72f4e3793251aa9ebdd4d (patch)
tree966aefc8c4ebf48fd55234a3ffe440f657c67d98 /pkgs/stdenv
parentf2ab8d299290170b7738c372be680da49df6d593 (diff)
parent01b7d4abd1393b85d93ea3ecafe18333b7b53d29 (diff)
downloadnixpkgs-f0290a5d27b290bf66e72f4e3793251aa9ebdd4d.tar
nixpkgs-f0290a5d27b290bf66e72f4e3793251aa9ebdd4d.tar.gz
nixpkgs-f0290a5d27b290bf66e72f4e3793251aa9ebdd4d.tar.bz2
nixpkgs-f0290a5d27b290bf66e72f4e3793251aa9ebdd4d.tar.lz
nixpkgs-f0290a5d27b290bf66e72f4e3793251aa9ebdd4d.tar.xz
nixpkgs-f0290a5d27b290bf66e72f4e3793251aa9ebdd4d.tar.zst
nixpkgs-f0290a5d27b290bf66e72f4e3793251aa9ebdd4d.zip
Merge staging-next into staging
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r--pkgs/stdenv/generic/check-meta.nix1
-rw-r--r--pkgs/stdenv/generic/make-derivation.nix10
2 files changed, 11 insertions, 0 deletions
diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix
index 7fa7f2305e8..ac62ad30829 100644
--- a/pkgs/stdenv/generic/check-meta.nix
+++ b/pkgs/stdenv/generic/check-meta.nix
@@ -203,6 +203,7 @@ let
   metaTypes = with lib.types; rec {
     # These keys are documented
     description = str;
+    mainProgram = str;
     longDescription = str;
     branch = str;
     homepage = either (listOf str) str;
diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix
index 4fc58238e5e..f7cddb19c47 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]