commit:     558ddc978497aae5aa47721176f8b83b1234046c
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: Sat Jun 24 15:12:47 2017 +0000
URL:        https://gitweb.gentoo.org/proj/kde.git/commit/?id=558ddc97

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 | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/eclass/kde5.eclass b/eclass/kde5.eclass
index 3b6810526a..e5e5fb2400 100644
--- a/eclass/kde5.eclass
+++ b/eclass/kde5.eclass
@@ -79,6 +79,14 @@ 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 "+qthelp" to IUSE, add the appropriate dependency, and
+# generate and install Qt compressed help files.
+# If set to "optional", config with -DBUILD_QCH=ON when USE=qthelp.
+: ${KDE_QTHELP:=false}
+
 # @ECLASS-VARIABLE: KDE_TEST
 # @DESCRIPTION:
 # If set to "false", do nothing.
@@ -144,6 +152,8 @@ SLOT=5
 
 if [[ ${CATEGORY} = kde-frameworks ]]; then
        KDE_SUBSLOT=true
+       [[ $(get_version_component_range 2) -ge 36 || ${KDE_BUILD_TYPE} = live 
]] && \
+               KDE_QTHELP=true
 fi
 
 case ${KDE_SUBSLOT} in
@@ -223,6 +233,18 @@ case ${KDE_HANDBOOK} in
                ;;
 esac
 
+case ${KDE_QTHELP} in
+       false)  ;;
+       *)
+               IUSE+=" +qthelp"
+               COMMONDEPEND+=" qthelp? ( $(add_qt_dep qt-docs) )"
+               DEPEND+=" qthelp? (
+                       $(add_qt_dep qthelp)
+                       >=app-doc/doxygen-1.8.13-r1
+               )"
+               ;;
+esac
+
 case ${KDE_TEST} in
        false)  ;;
        *)
@@ -647,6 +669,10 @@ kde5_src_configure() {
                cmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Designer=ON )
        fi
 
+       if use_if_iuse qthelp ; then
+               cmakeargs+=( -DBUILD_QCH=ON )
+       fi
+
        # install mkspecs in the same directory as qt stuff
        cmakeargs+=(-DKDE_INSTALL_USE_QT_SYS_PATHS=ON)
 
@@ -704,6 +730,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