From b2c7a5a271269175bbcb2907ca821139a7ee465f Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Wed, 5 Sep 2018 18:33:56 +0000 Subject: [PATCH] bintools-wrapper, cc-wrapper, stdenv: infer propagateDoc automatically 02c09e01712ce0b61e5c8f7159047699a434f7fc (NixOS/nixpkgs#44558) was reverted in c981787db951afb11c1328461df82d4277ebec07 but, as it turns out, it fixed an issue I didn't know about at the time: the values of `propagateDoc` options were (and now again are) inconsistent with the underlying things those wrappers wrap (see NixOS/nixpkgs#46119), which was (and now is) likely to produce more instances of NixOS/nixpkgs#43547, if not now, then eventually as stdenv changes. This patch (which is a simplified version of the original reverted patch) is the simplest solution to this whole thing: it forces wrappers to directly inspect the outputs of the things they are wrapping instead of making stdenv guess the correct values. --- pkgs/build-support/bintools-wrapper/default.nix | 7 ++++--- pkgs/build-support/cc-wrapper/default.nix | 4 +++- pkgs/stdenv/darwin/default.nix | 1 - pkgs/stdenv/linux/default.nix | 1 - 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix index 7948f726c62..f9ca245beea 100644 --- a/pkgs/build-support/bintools-wrapper/default.nix +++ b/pkgs/build-support/bintools-wrapper/default.nix @@ -6,9 +6,10 @@ # compiler and the linker just "work". { name ? "" -, stdenvNoCC, nativeTools, propagateDoc ? !nativeTools, noLibc ? false, nativeLibc, nativePrefix ? "" -, bintools ? null, libc ? null -, coreutils ? null, shell ? stdenvNoCC.shell, gnugrep ? null +, stdenvNoCC +, bintools ? null, libc ? null, coreutils ? null, shell ? stdenvNoCC.shell, gnugrep ? null +, nativeTools, noLibc ? false, nativeLibc, nativePrefix ? "" +, propagateDoc ? bintools != null && bintools ? man , extraPackages ? [], extraBuildCommands ? "" , buildPackages ? {} , useMacosReexportHack ? false diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index 301bc2694c4..e59758371a3 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -6,8 +6,10 @@ # compiler and the linker just "work". { name ? "" -, stdenvNoCC, nativeTools, propagateDoc ? !nativeTools, noLibc ? false, nativeLibc, nativePrefix ? "" +, stdenvNoCC , cc ? null, libc ? null, bintools, coreutils ? null, shell ? stdenvNoCC.shell +, nativeTools, noLibc ? false, nativeLibc, nativePrefix ? "" +, propagateDoc ? cc != null && cc ? man , extraPackages ? [], extraBuildCommands ? "" , isGNU ? false, isClang ? cc.isClang or false, gnugrep ? null , buildPackages ? {} diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix index 6d224e4cc44..bfeac09ea65 100644 --- a/pkgs/stdenv/darwin/default.nix +++ b/pkgs/stdenv/darwin/default.nix @@ -88,7 +88,6 @@ in rec { extraPackages = lib.optional (libcxx != null) libcxx; nativeTools = false; - propagateDoc = false; nativeLibc = false; inherit buildPackages coreutils gnugrep bintools; libc = last.pkgs.darwin.Libsystem; diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index 08703b6934e..978beea692c 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -92,7 +92,6 @@ let else lib.makeOverridable (import ../../build-support/cc-wrapper) { name = "${name}-gcc-wrapper"; nativeTools = false; - propagateDoc = false; nativeLibc = false; buildPackages = lib.optionalAttrs (prevStage ? stdenv) { inherit (prevStage) stdenv;