As EAPI 2 support is intended, this requires configuring the build
system to install docs into a temporary location and moving files from
it. Due to the lack of 'dodoc -r', directories inside docdir are
supported only with EAPI 4.

Fixes: https://bugs.gentoo.org/show_bug.cgi?id=350423
---
 eclass/autotools-utils.eclass |   21 ++++++++++++++++++++-
 1 files changed, 20 insertions(+), 1 deletions(-)

diff --git a/eclass/autotools-utils.eclass b/eclass/autotools-utils.eclass
index e5ce908..96b3372 100644
--- a/eclass/autotools-utils.eclass
+++ b/eclass/autotools-utils.eclass
@@ -377,7 +377,9 @@ autotools-utils_src_configure() {
                || die 'autotools-utils.eclass: myeconfargs has to be an array.'
 
        # Common args
-       local econfargs=()
+       local econfargs=(
+               --docdir=/temporary-docdir
+       )
 
        # Handle static-libs found in IUSE, disable them by default
        if in_iuse static-libs; then
@@ -442,6 +444,23 @@ autotools-utils_src_install() {
                dohtml -r "${HTML_DOCS[@]}" || die "dohtml failed"
        fi
 
+       # Move docs installed by autotools.
+       if [[ -d ${D}/temporary-docdir ]]; then
+               if [[ ${EAPI} = 4 ]]; then
+                       dodoc -r "${D}"/temporary-docdir/* || die "docdir dodoc 
failed"
+               else
+                       local f
+                       for f in "${D}"/temporary-docdir/*; do
+                               [[ -d ${f} ]] \
+                                       && die "directories in docdir require 
at least EAPI 4"
+                       done
+
+                       dodoc "${D}"/temporary-docdir/* || die "docdir dodoc 
failed"
+               fi
+
+               rm -r "${D}"/temporary-docdir
+       fi
+
        # Remove libtool files and unnecessary static libs
        remove_libtool_files
 }
-- 
1.7.8.2


Reply via email to