From d76021402d59e49c88c7281343603cef71cba2f0 Mon Sep 17 00:00:00 2001 From: Artturin Date: Wed, 27 Apr 2022 17:53:08 +0300 Subject: [PATCH 1/2] config.strictDepsByDefault: init option so i won't have to change make-derivation.nix when i wan't to make this true --- pkgs/stdenv/generic/make-derivation.nix | 2 +- pkgs/top-level/config.nix | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix index 8749e8b75552..edfb43f7cd07 100644 --- a/pkgs/stdenv/generic/make-derivation.nix +++ b/pkgs/stdenv/generic/make-derivation.nix @@ -69,7 +69,7 @@ in , doInstallCheck ? config.doCheckByDefault or false , # TODO(@Ericson2314): Make always true and remove - strictDeps ? stdenv.hostPlatform != stdenv.buildPlatform + strictDeps ? if config.strictDepsByDefault then true else stdenv.hostPlatform != stdenv.buildPlatform , meta ? {} , passthru ? {} , pos ? # position used in error messages and for meta.position diff --git a/pkgs/top-level/config.nix b/pkgs/top-level/config.nix index 948eb5ef9b72..98e87d7f5ace 100644 --- a/pkgs/top-level/config.nix +++ b/pkgs/top-level/config.nix @@ -32,6 +32,10 @@ let feature = "run checkPhase by default"; }; + strictDepsByDefault = mkMassRebuild { + feature = "set strictDeps to true by default"; + }; + allowAliases = mkOption { type = types.bool; default = true; From 33415135b0d1269cd7d62293e6b3129ecce01c90 Mon Sep 17 00:00:00 2001 From: Artturin Date: Wed, 27 Apr 2022 23:21:32 +0300 Subject: [PATCH 2/2] config.contentAddressedByDefault: init option --- pkgs/stdenv/darwin/default.nix | 2 +- pkgs/stdenv/freebsd/default.nix | 2 +- pkgs/stdenv/generic/default.nix | 2 +- pkgs/stdenv/generic/make-derivation.nix | 2 +- pkgs/stdenv/linux/default.nix | 2 +- pkgs/stdenv/linux/make-bootstrap-tools.nix | 2 +- pkgs/top-level/config.nix | 4 ++++ 7 files changed, 10 insertions(+), 6 deletions(-) diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix index a6f927c287da..6fbd78c422da 100644 --- a/pkgs/stdenv/darwin/default.nix +++ b/pkgs/stdenv/darwin/default.nix @@ -75,7 +75,7 @@ rec { inherit (bootstrapFiles) mkdir bzip2 cpio tarball; __impureHostDeps = commonImpureHostDeps; - } // lib.optionalAttrs (config.contentAddressedByDefault or false) { + } // lib.optionalAttrs config.contentAddressedByDefault { __contentAddressed = true; outputHashAlgo = "sha256"; outputHashMode = "recursive"; diff --git a/pkgs/stdenv/freebsd/default.nix b/pkgs/stdenv/freebsd/default.nix index ddcdc6a66e08..de6608587605 100644 --- a/pkgs/stdenv/freebsd/default.nix +++ b/pkgs/stdenv/freebsd/default.nix @@ -182,7 +182,7 @@ in buildInputs = [ make ]; mkdir = "/bin/mkdir"; ln = "/bin/ln"; - } // lib.optionalAttrs (config.contentAddressedByDefault or false) { + } // lib.optionalAttrs config.contentAddressedByDefault { __contentAddressed = true; outputHashAlgo = "sha256"; outputHashMode = "recursive"; diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index 4fb98e5e8013..5f49aca5aa91 100644 --- a/pkgs/stdenv/generic/default.nix +++ b/pkgs/stdenv/generic/default.nix @@ -90,7 +90,7 @@ let allowedRequisites = allowedRequisites ++ defaultNativeBuildInputs ++ defaultBuildInputs; } - // lib.optionalAttrs (config.contentAddressedByDefault or false) { + // lib.optionalAttrs config.contentAddressedByDefault { __contentAddressed = true; outputHashAlgo = "sha256"; outputHashMode = "recursive"; diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix index edfb43f7cd07..d1b93874a25a 100644 --- a/pkgs/stdenv/generic/make-derivation.nix +++ b/pkgs/stdenv/generic/make-derivation.nix @@ -93,7 +93,7 @@ in , __contentAddressed ? (! attrs ? outputHash) # Fixed-output drvs can't be content addressed too - && (config.contentAddressedByDefault or false) + && config.contentAddressedByDefault , ... } @ attrs: diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index e9104dd88cfa..5c5ca64b1e95 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -66,7 +66,7 @@ let bootstrapTools = import (if localSystem.libc == "musl" then ./bootstrap-tools-musl else ./bootstrap-tools) { inherit system bootstrapFiles; extraAttrs = lib.optionalAttrs - (config.contentAddressedByDefault or false) + config.contentAddressedByDefault { __contentAddressed = true; outputHashAlgo = "sha256"; diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix index 2263341b23fc..d23a996dfcb4 100644 --- a/pkgs/stdenv/linux/make-bootstrap-tools.nix +++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix @@ -235,7 +235,7 @@ in with pkgs; rec { bootstrapTools = let extraAttrs = lib.optionalAttrs - (config.contentAddressedByDefault or false) + config.contentAddressedByDefault { __contentAddressed = true; outputHashAlgo = "sha256"; diff --git a/pkgs/top-level/config.nix b/pkgs/top-level/config.nix index 98e87d7f5ace..1ee44a47af9f 100644 --- a/pkgs/top-level/config.nix +++ b/pkgs/top-level/config.nix @@ -36,6 +36,10 @@ let feature = "set strictDeps to true by default"; }; + contentAddressedByDefault = mkMassRebuild { + feature = "set __contentAddressed to true by default"; + }; + allowAliases = mkOption { type = types.bool; default = true;