Don't nuke section 3 manpages by default
They now go to devman, devdoc, or $outputMan, in that order. This is to prevent cases such as the man-pages package quietly losing its section 3 pages.
This commit is contained in:
parent
ad8f31df7f
commit
594c47e5eb
2 changed files with 25 additions and 10 deletions
|
@ -45,34 +45,48 @@
|
||||||
<title>File type groups</title>
|
<title>File type groups</title>
|
||||||
<para>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 <varname>outputFoo</varname> 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.</para>
|
<para>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 <varname>outputFoo</varname> 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.</para>
|
||||||
<variablelist>
|
<variablelist>
|
||||||
|
|
||||||
<varlistentry><term><varname>
|
<varlistentry><term><varname>
|
||||||
$outputDev</varname></term><listitem><para>
|
$outputDev</varname></term><listitem><para>
|
||||||
is for development-only files. These include C(++) headers, pkg-config, cmake and aclocal files. They go to <varname>dev</varname> or <varname>out</varname> by default.
|
is for development-only files. These include C(++) headers, pkg-config, cmake and aclocal files. They go to <varname>dev</varname> or <varname>out</varname> by default.
|
||||||
</para></listitem></varlistentry>
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry><term><varname>
|
<varlistentry><term><varname>
|
||||||
$outputBin</varname></term><listitem><para>
|
$outputBin</varname></term><listitem><para>
|
||||||
is meant for user-facing binaries, typically residing in bin/. They go to <varname>bin</varname> or <varname>out</varname> by default.
|
is meant for user-facing binaries, typically residing in bin/. They go to <varname>bin</varname> or <varname>out</varname> by default.
|
||||||
</para></listitem></varlistentry>
|
</para></listitem></varlistentry>
|
||||||
|
|
||||||
<varlistentry><term><varname>
|
<varlistentry><term><varname>
|
||||||
$outputLib</varname></term><listitem><para>
|
$outputLib</varname></term><listitem><para>
|
||||||
is meant for libraries, typically residing in <filename>lib/</filename> and <filename>libexec/</filename>. They go to <varname>lib</varname> or <varname>out</varname> by default.
|
is meant for libraries, typically residing in <filename>lib/</filename> and <filename>libexec/</filename>. They go to <varname>lib</varname> or <varname>out</varname> by default.
|
||||||
</para></listitem></varlistentry>
|
</para></listitem></varlistentry>
|
||||||
|
|
||||||
<varlistentry><term><varname>
|
<varlistentry><term><varname>
|
||||||
$outputDoc</varname></term><listitem><para>
|
$outputDoc</varname></term><listitem><para>
|
||||||
is for user documentation, typically residing in <filename>share/doc/</filename>. It goes to <varname>doc</varname> or <varname>out</varname> by default.
|
is for user documentation, typically residing in <filename>share/doc/</filename>. It goes to <varname>doc</varname> or <varname>out</varname> by default.
|
||||||
</para></listitem></varlistentry>
|
</para></listitem></varlistentry>
|
||||||
|
|
||||||
<varlistentry><term><varname>
|
<varlistentry><term><varname>
|
||||||
$outputDocdev</varname></term><listitem><para>
|
$outputDocdev</varname></term><listitem><para>
|
||||||
is for <emphasis>developer</emphasis> documentation. Currently we count gtk-doc and man3 pages in there. It goes to <varname>devdoc</varname> 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 <emphasis>developer</emphasis> documentation. Currently we count gtk-doc in there. It goes to <varname>devdoc</varname> or is removed (!) by default. This is because e.g. gtk-doc tends to be rather large and completely unused by nixpkgs users.
|
||||||
</para></listitem></varlistentry>
|
</para></listitem></varlistentry>
|
||||||
|
|
||||||
<varlistentry><term><varname>
|
<varlistentry><term><varname>
|
||||||
$outputMan</varname></term><listitem><para>
|
$outputMan</varname></term><listitem><para>
|
||||||
is for man pages (except for section 3). They go to <varname>man</varname> or <varname>doc</varname> or <varname>$outputBin</varname> by default.
|
is for man pages (except for section 3). They go to <varname>man</varname> or <varname>doc</varname> or <varname>$outputBin</varname> by default.
|
||||||
</para></listitem></varlistentry>
|
</para></listitem></varlistentry>
|
||||||
|
|
||||||
|
<varlistentry><term><varname>
|
||||||
|
$outputDevman</varname></term><listitem><para>
|
||||||
|
is for section 3 man pages. They go to <varname>devman</varname> or <varname>$outputMan</varname> by default.
|
||||||
|
</para></listitem></varlistentry>
|
||||||
|
|
||||||
<varlistentry><term><varname>
|
<varlistentry><term><varname>
|
||||||
$outputInfo</varname></term><listitem><para>
|
$outputInfo</varname></term><listitem><para>
|
||||||
is for info pages. They go to <varname>info</varname> or <varname>doc</varname> or <varname>$outputMan</varname> by default.
|
is for info pages. They go to <varname>info</varname> or <varname>doc</varname> or <varname>$outputMan</varname> by default.
|
||||||
</para></listitem></varlistentry>
|
</para></listitem></varlistentry>
|
||||||
|
|
||||||
</variablelist>
|
</variablelist>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
@ -88,4 +102,3 @@
|
||||||
</section><!--Writing a split derivation-->
|
</section><!--Writing a split derivation-->
|
||||||
|
|
||||||
</chapter>
|
</chapter>
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,7 @@ _assignFirst() {
|
||||||
echo "Error: _assignFirst found no valid variant!"
|
echo "Error: _assignFirst found no valid variant!"
|
||||||
return 1 # none found
|
return 1 # none found
|
||||||
}
|
}
|
||||||
|
|
||||||
# Same as _assignFirst, but only if "$1" = ""
|
# Same as _assignFirst, but only if "$1" = ""
|
||||||
_overrideFirst() {
|
_overrideFirst() {
|
||||||
if [ -z "${!1}" ]; then
|
if [ -z "${!1}" ]; then
|
||||||
|
@ -40,6 +41,7 @@ _overrideFirst outputDoc "doc" "out"
|
||||||
_overrideFirst outputDocdev "devdoc" REMOVE # documentation for developers
|
_overrideFirst outputDocdev "devdoc" REMOVE # documentation for developers
|
||||||
# man and info pages are small and often useful to distribute with binaries
|
# man and info pages are small and often useful to distribute with binaries
|
||||||
_overrideFirst outputMan "man" "doc" "$outputBin"
|
_overrideFirst outputMan "man" "doc" "$outputBin"
|
||||||
|
_overrideFirst outputDevman "devman" "devdoc" "$outputMan"
|
||||||
_overrideFirst outputInfo "info" "doc" "$outputMan"
|
_overrideFirst outputInfo "info" "doc" "$outputMan"
|
||||||
|
|
||||||
|
|
||||||
|
@ -140,7 +142,7 @@ _multioutDocs() {
|
||||||
|
|
||||||
# the default outputMan is in $bin
|
# the default outputMan is in $bin
|
||||||
moveToOutput share/man "${!outputMan}"
|
moveToOutput share/man "${!outputMan}"
|
||||||
moveToOutput share/man/man3 "${!outputDocdev}"
|
moveToOutput share/man/man3 "${!outputDevman}"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Move development-only stuff to the desired outputs.
|
# Move development-only stuff to the desired outputs.
|
||||||
|
|
Loading…
Reference in a new issue