From f002ffed9ab96ed074aba0f20c54e813e604fc4e Mon Sep 17 00:00:00 2001 From: Artturin Date: Sat, 21 May 2022 19:58:22 +0300 Subject: [PATCH] treewide: enable strictDeps in bootstrap packages --- pkgs/build-support/expand-response-params/default.nix | 1 + pkgs/build-support/fetchurl/default.nix | 1 + pkgs/build-support/nuke-references/default.nix | 1 + pkgs/build-support/pkg-config-wrapper/default.nix | 3 +-- pkgs/build-support/trivial-builders.nix | 1 + pkgs/development/interpreters/perl/default.nix | 1 + pkgs/development/interpreters/python/setup-hook.nix | 1 + pkgs/development/libraries/expat/default.nix | 2 ++ pkgs/development/libraries/gmp/6.x.nix | 1 + pkgs/development/libraries/isl/generic.nix | 1 + pkgs/development/libraries/libelf/default.nix | 1 + pkgs/development/libraries/libffi/default.nix | 1 + pkgs/development/libraries/libidn2/default.nix | 1 + pkgs/development/libraries/libmpc/default.nix | 1 + pkgs/development/libraries/libunistring/default.nix | 1 + pkgs/development/libraries/mpfr/default.nix | 1 + pkgs/development/libraries/zlib/default.nix | 1 + pkgs/development/tools/misc/autoconf-archive/default.nix | 1 + pkgs/development/tools/misc/autoconf/default.nix | 1 + pkgs/development/tools/misc/automake/automake-1.16.x.nix | 1 + pkgs/development/tools/misc/binutils/default.nix | 1 + pkgs/development/tools/misc/gnum4/default.nix | 1 + pkgs/development/tools/misc/libtool/libtool2.nix | 1 + pkgs/development/tools/misc/patchelf/default.nix | 1 + pkgs/development/tools/misc/pkg-config/default.nix | 1 + pkgs/os-specific/linux/kernel-headers/default.nix | 1 + pkgs/stdenv/linux/default.nix | 2 ++ pkgs/tools/compression/bzip2/default.nix | 1 + pkgs/tools/compression/xz/default.nix | 1 + pkgs/tools/misc/file/default.nix | 1 + pkgs/tools/system/which/default.nix | 2 ++ pkgs/top-level/all-packages.nix | 2 +- pkgs/top-level/perl-packages.nix | 1 + 33 files changed, 36 insertions(+), 3 deletions(-) diff --git a/pkgs/build-support/expand-response-params/default.nix b/pkgs/build-support/expand-response-params/default.nix index 402f0071a53..bc161d79022 100644 --- a/pkgs/build-support/expand-response-params/default.nix +++ b/pkgs/build-support/expand-response-params/default.nix @@ -3,6 +3,7 @@ stdenv.mkDerivation { name = "expand-response-params"; src = ./expand-response-params.c; + strictDeps = true; # Work around "stdenv-darwin-boot-2 is not allowed to refer to path # /nix/store/...-expand-response-params.c" unpackPhase = '' diff --git a/pkgs/build-support/fetchurl/default.nix b/pkgs/build-support/fetchurl/default.nix index 32cc416cc89..6dd8a685aee 100644 --- a/pkgs/build-support/fetchurl/default.nix +++ b/pkgs/build-support/fetchurl/default.nix @@ -14,6 +14,7 @@ let mirrorsFile = buildPackages.stdenvNoCC.mkDerivation ({ name = "mirrors-list"; + strictDeps = true; builder = ./write-mirror-list.sh; preferLocalBuild = true; } // mirrors); diff --git a/pkgs/build-support/nuke-references/default.nix b/pkgs/build-support/nuke-references/default.nix index 03f6fe53b54..639992c0b85 100644 --- a/pkgs/build-support/nuke-references/default.nix +++ b/pkgs/build-support/nuke-references/default.nix @@ -14,6 +14,7 @@ in stdenvNoCC.mkDerivation { name = "nuke-references"; + strictDeps = true; dontUnpack = true; dontConfigure = true; dontBuild = true; diff --git a/pkgs/build-support/pkg-config-wrapper/default.nix b/pkgs/build-support/pkg-config-wrapper/default.nix index aa8f57ffb04..2184b87eb1a 100644 --- a/pkgs/build-support/pkg-config-wrapper/default.nix +++ b/pkgs/build-support/pkg-config-wrapper/default.nix @@ -44,6 +44,7 @@ stdenv.mkDerivation { inherit pkg-config; }; + strictDeps = true; dontBuild = true; dontConfigure = true; @@ -80,8 +81,6 @@ stdenv.mkDerivation { ln -s ${pkg-config}/share $out/share ''; - strictDeps = true; - wrapperName = "PKG_CONFIG_WRAPPER"; setupHooks = [ diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix index 7e0c84e24ec..8e853888719 100644 --- a/pkgs/build-support/trivial-builders.nix +++ b/pkgs/build-support/trivial-builders.nix @@ -528,6 +528,7 @@ rec { runCommand name (substitutions // { inherit meta; + strictDeps = true; }) ('' mkdir -p $out/nix-support diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix index 5d6e8e02507..f14c6981143 100644 --- a/pkgs/development/interpreters/perl/default.nix +++ b/pkgs/development/interpreters/perl/default.nix @@ -27,6 +27,7 @@ let inherit sha256; }; + strictDeps = true; # TODO: Add a "dev" output containing the header files. outputs = [ "out" "man" "devdoc" ] ++ optional crossCompiling "mini"; diff --git a/pkgs/development/interpreters/python/setup-hook.nix b/pkgs/development/interpreters/python/setup-hook.nix index b66bd1cc5f6..29ce079317f 100644 --- a/pkgs/development/interpreters/python/setup-hook.nix +++ b/pkgs/development/interpreters/python/setup-hook.nix @@ -5,6 +5,7 @@ sitePackages: let hook = ./setup-hook.sh; in runCommand "python-setup-hook.sh" { + strictDeps = true; inherit sitePackages; } '' cp ${hook} hook.sh diff --git a/pkgs/development/libraries/expat/default.nix b/pkgs/development/libraries/expat/default.nix index da20ac59ec9..67f151c4f57 100644 --- a/pkgs/development/libraries/expat/default.nix +++ b/pkgs/development/libraries/expat/default.nix @@ -23,6 +23,8 @@ stdenv.mkDerivation rec { sha256 = "sha256-95uPkEt0nj4NIK/q3s+CScVbLjLU67CJrjeN9HncryU="; }; + strictDeps = true; + outputs = [ "out" "dev" ]; # TODO: fix referrers outputBin = "dev"; diff --git a/pkgs/development/libraries/gmp/6.x.nix b/pkgs/development/libraries/gmp/6.x.nix index af4f15a151f..9d8a1c03acc 100644 --- a/pkgs/development/libraries/gmp/6.x.nix +++ b/pkgs/development/libraries/gmp/6.x.nix @@ -28,6 +28,7 @@ let self = stdenv.mkDerivation rec { outputs = [ "out" "dev" "info" ]; passthru.static = self.out; + strictDeps = true; depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ m4 ]; diff --git a/pkgs/development/libraries/isl/generic.nix b/pkgs/development/libraries/isl/generic.nix index 0a8c89d88ad..039d7138278 100644 --- a/pkgs/development/libraries/isl/generic.nix +++ b/pkgs/development/libraries/isl/generic.nix @@ -18,6 +18,7 @@ stdenv.mkDerivation { inherit patches; + strictDeps = true; buildInputs = [ gmp ]; inherit configureFlags; diff --git a/pkgs/development/libraries/libelf/default.nix b/pkgs/development/libraries/libelf/default.nix index 47cd849f92c..695670853b7 100644 --- a/pkgs/development/libraries/libelf/default.nix +++ b/pkgs/development/libraries/libelf/default.nix @@ -33,6 +33,7 @@ stdenv.mkDerivation rec { # on Darwin, so disable NLS for now. ++ lib.optional stdenv.hostPlatform.isDarwin "--disable-nls"; + strictDeps = true; nativeBuildInputs = if stdenv.hostPlatform.isNetBSD then [ netbsd.gencat ] else [ gettext ] # Need to regenerate configure script with newer version in order to pass diff --git a/pkgs/development/libraries/libffi/default.nix b/pkgs/development/libraries/libffi/default.nix index 6a22d585fbc..b3065c82e7e 100644 --- a/pkgs/development/libraries/libffi/default.nix +++ b/pkgs/development/libraries/libffi/default.nix @@ -21,6 +21,7 @@ stdenv.mkDerivation rec { patches = []; + strictDeps = true; outputs = [ "out" "dev" "man" "info" ]; configureFlags = [ diff --git a/pkgs/development/libraries/libidn2/default.nix b/pkgs/development/libraries/libidn2/default.nix index d8294f56adc..d49f88a85f7 100644 --- a/pkgs/development/libraries/libidn2/default.nix +++ b/pkgs/development/libraries/libidn2/default.nix @@ -16,6 +16,7 @@ stdenv.mkDerivation rec { sha256 = "sha256-dpQM1Od46Ak1eanRlbJf/16Tbp3GJCBoUotDenZ2T5E="; }; + strictDeps = true; outputs = [ "bin" "dev" "out" "info" "devdoc" ]; patches = optional stdenv.isDarwin ./fix-error-darwin.patch; diff --git a/pkgs/development/libraries/libmpc/default.nix b/pkgs/development/libraries/libmpc/default.nix index 2dede1f976d..176bdbd85e9 100644 --- a/pkgs/development/libraries/libmpc/default.nix +++ b/pkgs/development/libraries/libmpc/default.nix @@ -16,6 +16,7 @@ stdenv.mkDerivation rec { sha256 = "0n846hqfqvmsmim7qdlms0qr86f1hck19p12nq3g3z2x74n3sl0p"; }; + strictDeps = true; buildInputs = [ gmp mpfr ]; doCheck = true; # not cross; diff --git a/pkgs/development/libraries/libunistring/default.nix b/pkgs/development/libraries/libunistring/default.nix index 01b302abd68..7da2c46fafe 100644 --- a/pkgs/development/libraries/libunistring/default.nix +++ b/pkgs/development/libraries/libunistring/default.nix @@ -16,6 +16,7 @@ stdenv.mkDerivation rec { outputs = [ "out" "dev" "info" "doc" ]; + strictDeps = true; propagatedBuildInputs = lib.optional (!stdenv.isLinux) libiconv; configureFlags = [ diff --git a/pkgs/development/libraries/mpfr/default.nix b/pkgs/development/libraries/mpfr/default.nix index fc7eeeab942..bf1625cf2f9 100644 --- a/pkgs/development/libraries/mpfr/default.nix +++ b/pkgs/development/libraries/mpfr/default.nix @@ -19,6 +19,7 @@ stdenv.mkDerivation rec { outputs = [ "out" "dev" "doc" "info" ]; + strictDeps = true; # mpfr.h requires gmp.h propagatedBuildInputs = [ gmp ]; diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix index 9b9938746ca..6681be3c34c 100644 --- a/pkgs/development/libraries/zlib/default.nix +++ b/pkgs/development/libraries/zlib/default.nix @@ -44,6 +44,7 @@ stdenv.mkDerivation (rec { ./fix-configure-issue-cross.patch ]; + strictDeps = true; outputs = [ "out" "dev" ] ++ lib.optional splitStaticOutput "static"; setOutputFlags = false; diff --git a/pkgs/development/tools/misc/autoconf-archive/default.nix b/pkgs/development/tools/misc/autoconf-archive/default.nix index b53adfd0be0..aff3d1ae081 100644 --- a/pkgs/development/tools/misc/autoconf-archive/default.nix +++ b/pkgs/development/tools/misc/autoconf-archive/default.nix @@ -9,6 +9,7 @@ stdenv.mkDerivation rec { sha256 = "sha256-6KbrnSjdy6j/7z+iEWUyOem/I5q6agGmt8/Hzq7GnL0="; }; + strictDeps = true; buildInputs = [ xz ]; meta = with lib; { diff --git a/pkgs/development/tools/misc/autoconf/default.nix b/pkgs/development/tools/misc/autoconf/default.nix index 63302c8ed94..1fcb819bd4b 100644 --- a/pkgs/development/tools/misc/autoconf/default.nix +++ b/pkgs/development/tools/misc/autoconf/default.nix @@ -20,6 +20,7 @@ stdenv.mkDerivation rec { ./2.71-fix-race.patch ]; + strictDeps = true; nativeBuildInputs = [ m4 perl texinfo ]; buildInputs = [ m4 ]; postBuild = " diff --git a/pkgs/development/tools/misc/automake/automake-1.16.x.nix b/pkgs/development/tools/misc/automake/automake-1.16.x.nix index 89a5b487900..65d6185f50c 100644 --- a/pkgs/development/tools/misc/automake/automake-1.16.x.nix +++ b/pkgs/development/tools/misc/automake/automake-1.16.x.nix @@ -9,6 +9,7 @@ stdenv.mkDerivation rec { sha256 = "0sdl32qxdy7m06iggmkkvf7j520rmmgbsjzbm7fgnxwxdp6mh7gh"; }; + strictDeps = true; nativeBuildInputs = [ autoconf perl ]; buildInputs = [ autoconf ]; diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix index 88b6d3a705e..279e0da7155 100644 --- a/pkgs/development/tools/misc/binutils/default.nix +++ b/pkgs/development/tools/misc/binutils/default.nix @@ -109,6 +109,7 @@ stdenv.mkDerivation { outputs = [ "out" "info" "man" ]; + strictDeps = true; depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ bison diff --git a/pkgs/development/tools/misc/gnum4/default.nix b/pkgs/development/tools/misc/gnum4/default.nix index 7d860528022..00e71835ebb 100644 --- a/pkgs/development/tools/misc/gnum4/default.nix +++ b/pkgs/development/tools/misc/gnum4/default.nix @@ -14,6 +14,7 @@ stdenv.mkDerivation rec { sha256 = "sha256-swapHA/ZO8QoDPwumMt6s5gf91oYe+oyk4EfRSyJqMg="; }; + strictDeps = true; doCheck = false; configureFlags = [ "--with-syscmd-shell=${stdenv.shell}" ] diff --git a/pkgs/development/tools/misc/libtool/libtool2.nix b/pkgs/development/tools/misc/libtool/libtool2.nix index 3d15752fc0a..813cc71938f 100644 --- a/pkgs/development/tools/misc/libtool/libtool2.nix +++ b/pkgs/development/tools/misc/libtool/libtool2.nix @@ -44,6 +44,7 @@ stdenv.mkDerivation rec { substituteInPlace build-aux/ltmain.in --replace '#! /usr/bin/env sh' '#!${runtimeShell}' ''; + strictDeps = true; nativeBuildInputs = [ autoconf automake help2man m4 perl ]; propagatedBuildInputs = [ m4 file ]; diff --git a/pkgs/development/tools/misc/patchelf/default.nix b/pkgs/development/tools/misc/patchelf/default.nix index 03e3d003ad1..a3cac523bcb 100644 --- a/pkgs/development/tools/misc/patchelf/default.nix +++ b/pkgs/development/tools/misc/patchelf/default.nix @@ -14,6 +14,7 @@ stdenv.mkDerivation rec { sha256 = "sha256-uaRvKYkyLrifpPYjfiCDbFe0VapDoyVF6gk7Qx2YL1w="; }; + strictDeps = true; setupHook = [ ./setup-hook.sh ]; # fails 8 out of 24 tests, problems when loading libc.so.6 diff --git a/pkgs/development/tools/misc/pkg-config/default.nix b/pkgs/development/tools/misc/pkg-config/default.nix index b0b3115700f..70370e42126 100644 --- a/pkgs/development/tools/misc/pkg-config/default.nix +++ b/pkgs/development/tools/misc/pkg-config/default.nix @@ -12,6 +12,7 @@ stdenv.mkDerivation rec { }; outputs = [ "out" "man" "doc" ]; + strictDeps = true; # Process Requires.private properly, see # http://bugs.freedesktop.org/show_bug.cgi?id=4738, migrated to diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix index 0c1514d01c2..580bb49d8cf 100644 --- a/pkgs/os-specific/linux/kernel-headers/default.nix +++ b/pkgs/os-specific/linux/kernel-headers/default.nix @@ -14,6 +14,7 @@ let ARCH = stdenvNoCC.hostPlatform.linuxArch; + strictDeps = true; # It may look odd that we use `stdenvNoCC`, and yet explicit depend on a cc. # We do this so we have a build->build, not build->host, C compiler. depsBuildBuild = [ buildPackages.stdenv.cc ]; diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index 5c5ca64b1e9..1e6cc3aac50 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -162,6 +162,7 @@ in # stage1. ${localSystem.libc} = self.stdenv.mkDerivation { pname = "bootstrap-stage0-${localSystem.libc}"; + strictDeps = true; version = "bootstrap"; buildCommand = '' mkdir -p $out @@ -269,6 +270,7 @@ in inherit (prevStage.bintools.bintools) name; dontUnpack = true; dontBuild = true; + strictDeps = true; # We wouldn't need to *copy* all, but it's easier and the result is temporary anyway. installPhase = '' mkdir -p "$out"/bin diff --git a/pkgs/tools/compression/bzip2/default.nix b/pkgs/tools/compression/bzip2/default.nix index cd262875a76..3dd3632711c 100644 --- a/pkgs/tools/compression/bzip2/default.nix +++ b/pkgs/tools/compression/bzip2/default.nix @@ -26,6 +26,7 @@ stdenv.mkDerivation rec { sha256 = "sha256-FnhwNy4OHe8d5M6iYCClkxzcB/EHXg0veXwv43ZlxbA="; }; + strictDeps = true; nativeBuildInputs = [ autoreconfHook ]; patches = [ diff --git a/pkgs/tools/compression/xz/default.nix b/pkgs/tools/compression/xz/default.nix index 8304c34af89..ddc3dc574fc 100644 --- a/pkgs/tools/compression/xz/default.nix +++ b/pkgs/tools/compression/xz/default.nix @@ -16,6 +16,7 @@ stdenv.mkDerivation rec { sha256 = "1ps2i8i212n0f4xpq6clp7h13q7m1y8slqvxha9i8d0bj0qgj5si"; }; + strictDeps = true; outputs = [ "bin" "dev" "out" "man" "doc" ]; configureFlags = lib.optional enableStatic "--disable-shared"; diff --git a/pkgs/tools/misc/file/default.nix b/pkgs/tools/misc/file/default.nix index f2f66beffea..26c8bf810f9 100644 --- a/pkgs/tools/misc/file/default.nix +++ b/pkgs/tools/misc/file/default.nix @@ -12,6 +12,7 @@ stdenv.mkDerivation rec { sha256 = "sha256-E+Uyx7Nk99V+I9/uoxRxAxUMuQWTpXr4bBDk9uQRYD8="; }; + strictDeps = true; nativeBuildInputs = lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) file; buildInputs = [ zlib ] ++ lib.optional stdenv.hostPlatform.isWindows libgnurx; diff --git a/pkgs/tools/system/which/default.nix b/pkgs/tools/system/which/default.nix index de823f98596..3eed6538f33 100644 --- a/pkgs/tools/system/which/default.nix +++ b/pkgs/tools/system/which/default.nix @@ -9,6 +9,8 @@ stdenv.mkDerivation rec { sha256 = "1bgafvy3ypbhhfznwjv1lxmd6mci3x1byilnnkc7gcr486wlb8pl"; }; + strictDeps = true; + meta = with lib; { homepage = "https://www.gnu.org/software/which/"; description = "Shows the full path of (shell) commands"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c7d91352973..2bf36a64df4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18833,7 +18833,7 @@ with pkgs; glibcIconv = libc: let inherit (libc) pname version; libcDev = lib.getDev libc; - in runCommand "${pname}-iconv-${version}" {} '' + in runCommand "${pname}-iconv-${version}" { strictDeps = true; } '' mkdir -p $out/include ln -sv ${libcDev}/include/iconv.h $out/include ''; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index a28ae22c136..64895a75b91 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -12373,6 +12373,7 @@ let LocaleGettext = buildPerlPackage { pname = "gettext"; version = "1.07"; + strictDeps = true; buildInputs = [ pkgs.gettext ]; src = fetchurl { url = "mirror://cpan/authors/id/P/PV/PVANDRY/gettext-1.07.tar.gz";