commit:     d2c791edc7ed0e77835178b7fd1d84321f6d46cf
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Sep  7 06:13:28 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Sep  7 20:36:57 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d2c791ed

dev-qt/qtwebengine: add IUSE=pdf for QtPdf support in live

Nothing seems too special here, so can just enable it.

Live-only given IUSE=pdf is a default on desktop profiles and will
cause a big unnecessary rebuild (nothing needs QtPdf yet). Note
that QtPdf is fairly trivial (and small'ish) after chromium bits
are already built either way, and does not hurt as a default.

Does require cups at build time (dlopen, left DEPEND-only). May be
possible to be optional but would rather no pdf-only IUSE=cups on
this big package (may revisit if someone wants this).

Would be nicer split (or allow IUSE=-webengine) but, even though the
option exists, build system files note that webengine cannot really
be disabled and then QtPdf still needs parts of chromium to be built
(splitting would cause to rebuild some of the same things twice, but
it is not nearly as big as webengine proper). May revisit.

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 dev-qt/qtwebengine/metadata.xml                | 1 +
 dev-qt/qtwebengine/qtwebengine-6.5.9999.ebuild | 9 +++++----
 dev-qt/qtwebengine/qtwebengine-6.9999.ebuild   | 9 +++++----
 3 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/dev-qt/qtwebengine/metadata.xml b/dev-qt/qtwebengine/metadata.xml
index ca6040fdb1aa..7bf30c9e28a5 100644
--- a/dev-qt/qtwebengine/metadata.xml
+++ b/dev-qt/qtwebengine/metadata.xml
@@ -13,6 +13,7 @@
        <use>
                <flag name="designer">Install the QWebEngineView plugin used to 
add widgets in <pkg>dev-qt/designer</pkg> forms that display web pages.</flag>
                <flag name="jumbo-build">Combine source files to speed up build 
process.</flag>
+               <flag name="pdf">Build the QtPdf module</flag>
                <flag name="qml">Build QML/QtQuick bindings and imports</flag>
                <flag name="system-icu">Use the system-wide 
<pkg>dev-libs/icu</pkg> instead of bundled.</flag>
                <flag name="widgets">Enable QtWidgets support</flag>

diff --git a/dev-qt/qtwebengine/qtwebengine-6.5.9999.ebuild 
b/dev-qt/qtwebengine/qtwebengine-6.5.9999.ebuild
index 4f2f7fbf799d..de90fe927c8f 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.5.9999.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.5.9999.ebuild
@@ -21,7 +21,7 @@ fi
 
 IUSE="
        +alsa bindist custom-cflags designer geolocation +jumbo-build kerberos
-       opengl pulseaudio qml screencast +system-icu vulkan +widgets
+       opengl pdf pulseaudio qml screencast +system-icu vulkan +widgets
 "
 REQUIRED_USE="
        designer? ( qml widgets )
@@ -83,6 +83,7 @@ DEPEND="
        x11-base/xorg-proto
        x11-libs/libxshmfence
        screencast? ( media-libs/libepoxy[egl(+)] )
+       pdf? ( net-print/cups )
        test? (
                widgets? ( app-text/poppler[cxx(+)] )
        )
@@ -158,9 +159,9 @@ src_prepare() {
 
 src_configure() {
        local mycmakeargs=(
-               -DQT_FEATURE_qtpdf_build=OFF # TODO?
-               -DQT_FEATURE_qtpdf_quick_build=OFF
-               -DQT_FEATURE_qtpdf_widgets_build=OFF
+               $(qt_feature pdf qtpdf_build)
+               $(qt_feature qml qtpdf_quick_build)
+               $(qt_feature widgets qtpdf_widgets_build)
 
                -DQT_FEATURE_qtwebengine_build=ON
                $(qt_feature qml qtwebengine_quick_build)

diff --git a/dev-qt/qtwebengine/qtwebengine-6.9999.ebuild 
b/dev-qt/qtwebengine/qtwebengine-6.9999.ebuild
index 45ffa95a789a..2ecd3fe98f7b 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.9999.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.9999.ebuild
@@ -21,7 +21,7 @@ fi
 
 IUSE="
        +alsa bindist custom-cflags designer geolocation +jumbo-build kerberos
-       opengl pulseaudio qml screencast +system-icu vulkan +widgets
+       opengl pdf pulseaudio qml screencast +system-icu vulkan +widgets
 "
 REQUIRED_USE="
        designer? ( qml widgets )
@@ -83,6 +83,7 @@ DEPEND="
        x11-base/xorg-proto
        x11-libs/libxshmfence
        screencast? ( media-libs/libepoxy[egl(+)] )
+       pdf? ( net-print/cups )
        test? (
                widgets? ( app-text/poppler[cxx(+)] )
        )
@@ -157,9 +158,9 @@ src_prepare() {
 
 src_configure() {
        local mycmakeargs=(
-               -DQT_FEATURE_qtpdf_build=OFF # TODO?
-               -DQT_FEATURE_qtpdf_quick_build=OFF
-               -DQT_FEATURE_qtpdf_widgets_build=OFF
+               $(qt_feature pdf qtpdf_build)
+               $(qt_feature qml qtpdf_quick_build)
+               $(qt_feature widgets qtpdf_widgets_build)
 
                -DQT_FEATURE_qtwebengine_build=ON
                $(qt_feature qml qtwebengine_quick_build)

Reply via email to