mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-22 15:03:28 +00:00
stdenv multiple-outputs: fix #14782 --docdir location
- the default --docdir is typically DATAROOTDIR/doc/pkgName - I saw no other way than to employ some magic to guess this `pkgName` - user can override it by setting $shareDocName
This commit is contained in:
parent
908aac3ca7
commit
9f8751528c
@ -47,11 +47,28 @@ _overrideFirst outputInfo "info" "doc" "$outputMan"
|
|||||||
_multioutConfig() {
|
_multioutConfig() {
|
||||||
if [ "$outputs" = "out" ] || [ -z "${setOutputFlags-1}" ]; then return; fi;
|
if [ "$outputs" = "out" ] || [ -z "${setOutputFlags-1}" ]; then return; fi;
|
||||||
|
|
||||||
|
# try to detect share/doc/${shareDocName}
|
||||||
|
# Note: sadly, $configureScript detection comes later in configurePhase,
|
||||||
|
# and reordering would cause more trouble than worth.
|
||||||
|
if [ -z "$shareDocName" ]; then
|
||||||
|
local confScript="$configureScript"
|
||||||
|
if [ -z "$confScript" ] && [ -x ./configure ]; then
|
||||||
|
confScript=./configure
|
||||||
|
fi
|
||||||
|
if [ -f "$confScript" ]; then
|
||||||
|
local shareDocName="$(sed -n "s/^PACKAGE_TARNAME='\(.*\)'$/\1/p" < "$confScript")"
|
||||||
|
fi
|
||||||
|
# PACKAGE_TARNAME sometimes contains garbage.
|
||||||
|
if [ -n "$shareDocName" ] || echo "$shareDocName" | grep -q '[^a-zA-Z-_0-9]'; then
|
||||||
|
shareDocName="$(echo "$name" | sed 's/-[^a-zA-Z].*//')"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
configureFlags="\
|
configureFlags="\
|
||||||
--bindir=${!outputBin}/bin --sbindir=${!outputBin}/sbin \
|
--bindir=${!outputBin}/bin --sbindir=${!outputBin}/sbin \
|
||||||
--includedir=${!outputInclude}/include --oldincludedir=${!outputInclude}/include \
|
--includedir=${!outputInclude}/include --oldincludedir=${!outputInclude}/include \
|
||||||
--mandir=${!outputMan}/share/man --infodir=${!outputInfo}/share/info \
|
--mandir=${!outputMan}/share/man --infodir=${!outputInfo}/share/info \
|
||||||
--docdir=${!outputDoc}/share/doc \
|
--docdir=${!outputDoc}/share/doc/${shareDocName} \
|
||||||
--libdir=${!outputLib}/lib --libexecdir=${!outputLib}/libexec \
|
--libdir=${!outputLib}/lib --libexecdir=${!outputLib}/libexec \
|
||||||
--localedir=${!outputLib}/share/locale \
|
--localedir=${!outputLib}/share/locale \
|
||||||
$configureFlags"
|
$configureFlags"
|
||||||
@ -62,6 +79,7 @@ _multioutConfig() {
|
|||||||
$installFlags"
|
$installFlags"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Add rpath prefixes to library paths, and avoid stdenv doing it for $out.
|
# Add rpath prefixes to library paths, and avoid stdenv doing it for $out.
|
||||||
_addRpathPrefix "${!outputLib}"
|
_addRpathPrefix "${!outputLib}"
|
||||||
NIX_NO_SELF_RPATH=1
|
NIX_NO_SELF_RPATH=1
|
||||||
|
Loading…
Reference in New Issue
Block a user