summary refs log tree commit diff
path: root/pkgs/stdenv/linux
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2017-08-13 11:44:36 +0200
committerVladimír Čunát <vcunat@gmail.com>2017-08-13 11:44:36 +0200
commit505e94256ef247dc5425068304583f8dc1b2064a (patch)
treed629cd7992345dd8077d036c1360eb0d727ede95 /pkgs/stdenv/linux
parent6899c7fdb989ce02f877ce5c0490a20ac4a64bf0 (diff)
downloadnixlib-505e94256ef247dc5425068304583f8dc1b2064a.tar
nixlib-505e94256ef247dc5425068304583f8dc1b2064a.tar.gz
nixlib-505e94256ef247dc5425068304583f8dc1b2064a.tar.bz2
nixlib-505e94256ef247dc5425068304583f8dc1b2064a.tar.lz
nixlib-505e94256ef247dc5425068304583f8dc1b2064a.tar.xz
nixlib-505e94256ef247dc5425068304583f8dc1b2064a.tar.zst
nixlib-505e94256ef247dc5425068304583f8dc1b2064a.zip
stdenv: resurrect the allowedRequisites check
Discovered in #28091.  I'm sorry I forgot to re-check my TODOs, long ago.
Diffstat (limited to 'pkgs/stdenv/linux')
-rw-r--r--pkgs/stdenv/linux/default.nix22
1 files changed, 15 insertions, 7 deletions
diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix
index c475d2d1e927..0aeb292e3169 100644
--- a/pkgs/stdenv/linux/default.nix
+++ b/pkgs/stdenv/linux/default.nix
@@ -299,13 +299,21 @@ in
         shellPackage = prevStage.bash;
       };
 
-      /* outputs TODO
-      allowedRequisites = with prevStage;
-        [ gzip bzip2 xz bash binutils coreutils diffutils findutils gawk
-          glibc gnumake gnused gnutar gnugrep gnupatch patchelf attr acl
-          paxctl zlib pcre linuxHeaders ed gcc gcc.cc libsigsegv
-        ] ++ lib.optional (system == "aarch64-linux") prevStage.updateAutotoolsGnuConfigScriptsHook;
-        */
+      # Mainly avoid reference to bootstrap tools
+      allowedRequisites = with prevStage; with lib;
+        # Simple executable tools
+        concatMap (p: [ (getBin p) (getLib p) ])
+          [ gzip bzip2 xz bash binutils coreutils diffutils findutils gawk
+            gnumake gnused gnutar gnugrep gnupatch patchelf ed paxctl
+          ]
+        # Library dependencies
+        ++ map getLib [ attr acl zlib pcre libsigsegv ]
+        # More complicated cases
+        ++ [
+            glibc.out glibc.dev glibc.bin/*propagated from .dev*/ linuxHeaders
+            gcc gcc.cc gcc.cc.lib gcc.expandResponseParams
+          ]
+        ++ lib.optional (system == "aarch64-linux") prevStage.updateAutotoolsGnuConfigScriptsHook;
 
       overrides = self: super: {
         inherit (prevStage)