qt5-build.eclass: Introduce qt5_tools_configure
authorAndreas Sturmlechner <asturm@gentoo.org>
Mon, 27 Apr 2020 22:01:10 +0000 (00:01 +0200)
committerAndreas Sturmlechner <asturm@gentoo.org>
Tue, 26 May 2020 14:32:27 +0000 (16:32 +0200)
This is run in src_configure for qttools modules unless
QT5_TARGET_SUBDIRS is defined.

Implementing an idea of Chiitoo in the linked PR.

Closes: https://github.com/gentoo/qt/pull/218
Thanks-to: Jimi Huotari <chiitoo@gentoo.org>
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
eclass/qt5-build.eclass

index 9a757ccedf2fd6da286f6ecefa26373a8d8b0b78..d82f3d253e2277ef73acc903761395af98af79c7 100644 (file)
@@ -194,6 +194,9 @@ qt5-build_src_configure() {
        if [[ ${QT5_MODULE} == qtbase ]]; then
                qt5_base_configure
        fi
+       if [[ ${QT5_MINOR_VERSION} -ge 15 ]] && [[ ${QT5_MODULE} == qttools ]] && [[ -z ${QT5_TARGET_SUBDIRS[@]} ]]; then
+               qt5_tools_configure
+       fi
 
        qt5_foreach_target_subdir qt5_qmake
 }
@@ -670,6 +673,34 @@ qt5_base_configure() {
 
 }
 
+# @FUNCTION: qt5_tools_configure
+# @INTERNAL
+# @DESCRIPTION:
+# Disables modules other than ${PN} belonging to qttools.
+qt5_tools_configure() {
+       # configure arguments
+       local qmakeargs=(
+               --
+               # not packaged in Gentoo
+               -no-feature-distancefieldgenerator
+               -no-feature-kmap2qmap
+               -no-feature-macdeployqt
+               -no-feature-makeqpf
+               -no-feature-qev
+               -no-feature-qtattributionsscanner
+               -no-feature-windeployqt
+               -no-feature-winrtrunner
+       )
+
+       local i
+       for i in assistant designer linguist pixeltool qdbus qdoc qtdiag qtpaths qtplugininfo; do
+               [[ ${PN} == ${i} ]] || qmakeargs+=( -no-feature-${i} )
+       done
+
+       # allow the ebuild to override what we set here
+       myqmakeargs=( "${qmakeargs[@]}" "${myqmakeargs[@]}" )
+}
+
 # @FUNCTION: qt5_qmake_args
 # @INTERNAL
 # @DESCRIPTION: