diff options
Diffstat (limited to 'pkgs/build-support')
-rw-r--r-- | pkgs/build-support/setup-hooks/multiple-outputs.sh | 8 | ||||
-rw-r--r-- | pkgs/build-support/substitute/substitute-all.nix | 4 | ||||
-rw-r--r-- | pkgs/build-support/trivial-builders.nix | 20 |
3 files changed, 21 insertions, 11 deletions
diff --git a/pkgs/build-support/setup-hooks/multiple-outputs.sh b/pkgs/build-support/setup-hooks/multiple-outputs.sh index 189c98cdfa71..ae491e8a7ef1 100644 --- a/pkgs/build-support/setup-hooks/multiple-outputs.sh +++ b/pkgs/build-support/setup-hooks/multiple-outputs.sh @@ -16,6 +16,7 @@ _assignFirst() { echo "Error: _assignFirst found no valid variant!" return 1 # none found } + # Same as _assignFirst, but only if "$1" = "" _overrideFirst() { if [ -z "${!1}" ]; then @@ -37,9 +38,10 @@ _overrideFirst outputInclude "$outputDev" _overrideFirst outputLib "lib" "out" _overrideFirst outputDoc "doc" "out" -_overrideFirst outputDocdev "devdoc" REMOVE # documentation for developers +_overrideFirst outputDevdoc "devdoc" REMOVE # documentation for developers # man and info pages are small and often useful to distribute with binaries _overrideFirst outputMan "man" "doc" "$outputBin" +_overrideFirst outputDevman "devman" "devdoc" "$outputMan" _overrideFirst outputInfo "info" "doc" "$outputMan" @@ -136,11 +138,11 @@ _multioutDocs() { moveToOutput share/info "${!outputInfo}" moveToOutput share/doc "${!outputDoc}" - moveToOutput share/gtk-doc "${!outputDocdev}" + moveToOutput share/gtk-doc "${!outputDevdoc}" # the default outputMan is in $bin moveToOutput share/man "${!outputMan}" - moveToOutput share/man/man3 "${!outputDocdev}" + moveToOutput share/man/man3 "${!outputDevman}" } # Move development-only stuff to the desired outputs. diff --git a/pkgs/build-support/substitute/substitute-all.nix b/pkgs/build-support/substitute/substitute-all.nix index 1022b25c4c9b..7fd46f95f998 100644 --- a/pkgs/build-support/substitute/substitute-all.nix +++ b/pkgs/build-support/substitute/substitute-all.nix @@ -1,9 +1,9 @@ -{ stdenv }: +{ stdenvNoCC }: args: # see the substituteAll in the nixpkgs documentation for usage and constaints -stdenv.mkDerivation ({ +stdenvNoCC.mkDerivation ({ name = if args ? name then args.name else baseNameOf (toString args.src); builder = ./substitute-all.sh; inherit (args) src; diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix index 398426bf9a48..d6f390ddfb1c 100644 --- a/pkgs/build-support/trivial-builders.nix +++ b/pkgs/build-support/trivial-builders.nix @@ -1,16 +1,24 @@ -{ lib, stdenv, lndir }: +{ lib, stdenv, stdenvNoCC, lndir }: -rec { +let - # Run the shell command `buildCommand' to produce a store path named - # `name'. The attributes in `env' are added to the environment - # prior to running the command. - runCommand = name: env: buildCommand: + runCommand' = stdenv: name: env: buildCommand: stdenv.mkDerivation ({ inherit name buildCommand; passAsFile = [ "buildCommand" ]; } // env); +in + +rec { + + # Run the shell command `buildCommand' to produce a store path named + # `name'. The attributes in `env' are added to the environment + # prior to running the command. + runCommand = runCommandNoCC; + runCommandNoCC = runCommand' stdenvNoCC; + runCommandCC = runCommand' stdenv; + # Create a single file. writeTextFile = |