diff --git a/doc/multiple-output.xml b/doc/multiple-output.xml index 0bbb9ef8be3a..c4e92c7e79a2 100644 --- a/doc/multiple-output.xml +++ b/doc/multiple-output.xml @@ -45,34 +45,48 @@ File type groups The support code currently recognizes some particular kinds of outputs and either instructs the build system of the package to put files into their desired outputs or it moves the files during the fixup phase. Each group of file types has an outputFoo variable specifying the output name where they should go. If that variable isn't defined by the derivation writer, it is guessed – a default output name is defined, falling back to other possibilities if the output isn't defined. + $outputDev is for development-only files. These include C(++) headers, pkg-config, cmake and aclocal files. They go to dev or out by default. - + + + $outputBin is meant for user-facing binaries, typically residing in bin/. They go to bin or out by default. - + + $outputLib is meant for libraries, typically residing in lib/ and libexec/. They go to lib or out by default. - + + $outputDoc is for user documentation, typically residing in share/doc/. It goes to doc or out by default. - + + $outputDocdev - is for developer documentation. Currently we count gtk-doc and man3 pages in there. It goes to devdoc or is removed (!) by default. This is because e.g. gtk-doc tends to be rather large and completely unused by nixpkgs users. - + is for developer documentation. Currently we count gtk-doc in there. It goes to devdoc or is removed (!) by default. This is because e.g. gtk-doc tends to be rather large and completely unused by nixpkgs users. + + $outputMan is for man pages (except for section 3). They go to man or doc or $outputBin by default. - + + + + $outputDevman + is for section 3 man pages. They go to devman or $outputMan by default. + + $outputInfo is for info pages. They go to info or doc or $outputMan by default. - + + @@ -88,4 +102,3 @@ - diff --git a/pkgs/build-support/setup-hooks/multiple-outputs.sh b/pkgs/build-support/setup-hooks/multiple-outputs.sh index 189c98cdfa71..2e853ac40782 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 @@ -40,6 +41,7 @@ _overrideFirst outputDoc "doc" "out" _overrideFirst outputDocdev "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" @@ -140,7 +142,7 @@ _multioutDocs() { # 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.