commit:     4c4cbdcbe4c8f5231faff0bba4eb73dd506c924f
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 16 21:53:10 2017 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Jul  9 19:22:43 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4c4cbdcb

kde5.eclass: Add KDE_QTHELP for QCH file support

Do not compress .qch and .tags files.

See also:
https://mail.kde.org/pipermail/distributions/2017-June/000227.html

 eclass/kde5.eclass | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/eclass/kde5.eclass b/eclass/kde5.eclass
index 3b6810526a0..b4cfadc9dfc 100644
--- a/eclass/kde5.eclass
+++ b/eclass/kde5.eclass
@@ -79,6 +79,17 @@ EXPORT_FUNCTIONS pkg_setup pkg_nofetch src_unpack 
src_prepare src_configure src_
 # Defaults to "doc". Otherwise, use alternative KDE handbook path.
 : ${KDE_DOC_DIR:=doc}
 
+# @ECLASS-VARIABLE: KDE_QTHELP
+# @DESCRIPTION:
+# If set to "false", do nothing.
+# Otherwise, add "doc" to IUSE, add the appropriate dependency, generate
+# and install Qt compressed help files with -DBUILD_QCH=ON when USE=doc.
+if [[ ${CATEGORY} = kde-frameworks && ( $(get_version_component_range 2) -ge 
36 || ${KDE_BUILD_TYPE} = live ) ]]; then
+       : ${KDE_QTHELP:=true}
+else
+       : ${KDE_QTHELP:=false}
+fi
+
 # @ECLASS-VARIABLE: KDE_TEST
 # @DESCRIPTION:
 # If set to "false", do nothing.
@@ -223,6 +234,18 @@ case ${KDE_HANDBOOK} in
                ;;
 esac
 
+case ${KDE_QTHELP} in
+       false)  ;;
+       *)
+               IUSE+=" doc"
+               COMMONDEPEND+=" doc? ( $(add_qt_dep qt-docs) )"
+               DEPEND+=" doc? (
+                       $(add_qt_dep qthelp)
+                       >=app-doc/doxygen-1.8.13-r1
+               )"
+               ;;
+esac
+
 case ${KDE_TEST} in
        false)  ;;
        *)
@@ -647,6 +670,10 @@ kde5_src_configure() {
                cmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Designer=ON )
        fi
 
+       if [[ ${KDE_QTHELP} != false ]]; then
+               cmakeargs+=( -DBUILD_QCH=$(usex doc) )
+       fi
+
        # install mkspecs in the same directory as qt stuff
        cmakeargs+=(-DKDE_INSTALL_USE_QT_SYS_PATHS=ON)
 
@@ -704,6 +731,14 @@ kde5_src_install() {
 
        cmake-utils_src_install
 
+       # We don't want QCH and tags files to be compressed, because then
+       # cmake can't find the tags and qthelp viewers can't find the docs
+       local p=$(best_version dev-qt/qtcore:5)
+       local pv=$(echo ${p/%-r[0-9]*/} | rev | cut -d - -f 1 | rev)
+       if [[ -d ${ED%/}/usr/share/doc/qt-${pv} ]]; then
+               docompress -x /usr/share/doc/qt-${pv}
+       fi
+
        # We don't want /usr/share/doc/HTML to be compressed,
        # because then khelpcenter can't find the docs
        if [[ -d ${ED%/}/usr/share/doc/HTML ]]; then

Reply via email to