diff options
Diffstat (limited to 'pkgs/build-support')
-rw-r--r-- | pkgs/build-support/bintools-wrapper/default.nix | 26 | ||||
-rw-r--r-- | pkgs/build-support/cc-wrapper/default.nix | 22 |
2 files changed, 24 insertions, 24 deletions
diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix index 48fd8665cb47..e88482397f2f 100644 --- a/pkgs/build-support/bintools-wrapper/default.nix +++ b/pkgs/build-support/bintools-wrapper/default.nix @@ -5,7 +5,8 @@ # script that sets up the right environment variables so that the # compiler and the linker just "work". -{ name ? "", stdenvNoCC, nativeTools, noLibc ? false, nativeLibc, nativePrefix ? "" +{ name ? "" +, stdenvNoCC, nativeTools, propagateDoc ? !nativeTools, noLibc ? false, nativeLibc, nativePrefix ? "" , bintools ? null, libc ? null , coreutils ? null, shell ? stdenvNoCC.shell, gnugrep ? null , extraPackages ? [], extraBuildCommands ? "" @@ -15,7 +16,7 @@ with stdenvNoCC.lib; -assert nativeTools -> nativePrefix != ""; +assert nativeTools -> !propagateDoc && nativePrefix != ""; assert !nativeTools -> bintools != null && coreutils != null && gnugrep != null; assert !(nativeLibc && noLibc); @@ -83,7 +84,7 @@ stdenv.mkDerivation { inherit targetPrefix infixSalt; - outputs = [ "out" "info" "man" ]; + outputs = [ "out" ] ++ optionals propagateDoc [ "man" "info" ]; passthru = { inherit bintools libc nativeTools nativeLibc nativePrefix; @@ -111,7 +112,7 @@ stdenv.mkDerivation { '' set -u - mkdir -p $out/bin {$out,$info,$man}/nix-support + mkdir -p $out/bin $out/nix-support wrap() { local dst="$1" @@ -237,28 +238,27 @@ stdenv.mkDerivation { '') + optionalString (!nativeTools) '' - ## ## User env support ## # Propagate the underling unwrapped bintools so that if you - # install the wrapper, you get tools like objdump, the manpages, - # etc. as well (same for any binaries of libc). + # install the wrapper, you get tools like objdump (same for any + # binaries of libc). printWords ${bintools_bin} ${if libc == null then "" else libc_bin} > $out/nix-support/propagated-user-env-packages + '' + + optionalString propagateDoc '' ## ## Man page and info support ## - printWords ${bintools.info or ""} \ - >> $info/nix-support/propagated-build-inputs - printWords ${bintools.man or ""} \ - >> $man/nix-support/propagated-build-inputs + mkdir -p $man/nix-support $info/nix-support + printWords ${bintools.man or ""} >> $man/nix-support/propagated-build-inputs + printWords ${bintools.info or ""} >> $info/nix-support/propagated-build-inputs '' + '' - ## ## Hardening support ## @@ -286,8 +286,8 @@ stdenv.mkDerivation { ## ## Extra custom steps ## - '' + + extraBuildCommands; inherit dynamicLinker expand-response-params; diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index 8de2366ff5f5..ba8aca87c72b 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -5,7 +5,8 @@ # script that sets up the right environment variables so that the # compiler and the linker just "work". -{ name ? "", stdenvNoCC, nativeTools, noLibc ? false, nativeLibc, nativePrefix ? "" +{ name ? "" +, stdenvNoCC, nativeTools, propagateDoc ? !nativeTools, noLibc ? false, nativeLibc, nativePrefix ? "" , cc ? null, libc ? null, bintools, coreutils ? null, shell ? stdenvNoCC.shell , zlib ? null, extraPackages ? [], extraBuildCommands ? "" , isGNU ? false, isClang ? cc.isClang or false, gnugrep ? null @@ -14,7 +15,7 @@ with stdenvNoCC.lib; -assert nativeTools -> nativePrefix != ""; +assert nativeTools -> !propagateDoc && nativePrefix != ""; assert !nativeTools -> cc != null && coreutils != null && gnugrep != null; assert !(nativeLibc && noLibc); @@ -84,7 +85,7 @@ stdenv.mkDerivation { inherit targetPrefix infixSalt; - outputs = [ "out" "man" ]; + outputs = [ "out" ] ++ optionals propagateDoc [ "man" "info" ]; passthru = { # "cc" is the generic name for a C compiler, but there is no one for package @@ -115,7 +116,7 @@ stdenv.mkDerivation { '' set -u - mkdir -p $out/bin $out/nix-support $man/nix-support + mkdir -p $out/bin $out/nix-support wrap() { local dst="$1" @@ -246,7 +247,6 @@ stdenv.mkDerivation { '' + optionalString (!nativeTools) '' - ## ## Initial CFLAGS ## @@ -276,19 +276,19 @@ stdenv.mkDerivation { echo "$ccLDFlags" > $out/nix-support/cc-ldflags echo "$ccCFlags" > $out/nix-support/cc-cflags + '' + + optionalString propagateDoc '' ## - ## User env support + ## Man page and info support ## - # Propagate the wrapped cc so that if you install the wrapper, - # you get tools like gcov, the manpages, etc. as well (including - # for binutils and Glibc). + mkdir -p $man/nix-support $info/nix-support printWords ${cc.man or ""} > $man/nix-support/propagated-user-env-packages + printWords ${cc.info or ""} > $info/nix-support/propagated-user-env-packages '' + '' - ## ## Hardening support ## @@ -308,8 +308,8 @@ stdenv.mkDerivation { ## ## Extra custom steps ## - '' + + extraBuildCommands; inherit expand-response-params; |