commit:     a182978c328d9b12a87cfc2c03e2eae9bfc35c1b
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 14 06:17:23 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Mar 14 08:14:15 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a182978c

dev-qt/qttools: add 6.9.0_rc

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

 dev-qt/qttools/Manifest                |   1 +
 dev-qt/qttools/qttools-6.9.0_rc.ebuild | 164 +++++++++++++++++++++++++++++++++
 2 files changed, 165 insertions(+)

diff --git a/dev-qt/qttools/Manifest b/dev-qt/qttools/Manifest
index e8f5b9260e15..7828e4db6edc 100644
--- a/dev-qt/qttools/Manifest
+++ b/dev-qt/qttools/Manifest
@@ -1 +1,2 @@
 DIST qttools-everywhere-src-6.8.2.tar.xz 10297596 BLAKE2B 
b8dc80718246e5bc72ef5c76c176f0b4bf264d387d22c49c03695a218ce295a946fd2cf84bf45d6a11752875a681d9bde27a33f7f5cb148e9a3c53f167996de0
 SHA512 
ad448af0656640a712eefe81fc4291209dec27fe10d42dfb68c7c31e65003653fb3821996f44c50d8ab4371853a18cfc0b4032f7876ce6c75d0fb9b4fe91ca27
+DIST qttools-everywhere-src-6.9.0-rc.tar.xz 10327268 BLAKE2B 
2f5cbfe29dbae60bc9f7e09b7416c7d2103094b933188b250c6bde84f2683e2351acd1f31c6dbab1bda0b61f7ad9e09870995dc9c5556a3244cdfd07ced1cfa1
 SHA512 
2f3ada6863160de32fbdca7d0315dc82976cc3f2c8fde3581fc580107c301201959a00c52a1d06f4b909a91ffd3f49cc94798c5d3260a8750a3046d65ab40b3e

diff --git a/dev-qt/qttools/qttools-6.9.0_rc.ebuild 
b/dev-qt/qttools/qttools-6.9.0_rc.ebuild
new file mode 100644
index 000000000000..74e7e707f774
--- /dev/null
+++ b/dev-qt/qttools/qttools-6.9.0_rc.ebuild
@@ -0,0 +1,164 @@
+# Copyright 2021-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {17..20} ) # see .cmake.conf for minimum
+LLVM_OPTIONAL=1
+
+# behaves very badly when qttools is not already installed, also
+# other issues to handle (clang tests flaky depending on version,
+# and 3rdparty/ tries to FetchContent gtest)
+QT6_RESTRICT_TESTS=1
+
+inherit desktop llvm-r2 optfeature qt6-build
+
+DESCRIPTION="Qt Tools Collection"
+
+if [[ ${QT6_BUILD_TYPE} == release ]]; then
+       KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
+fi
+
+IUSE="
+       +assistant clang designer distancefieldgenerator gles2-only +linguist
+       opengl pixeltool +qdbus qdoc qml qmlls qtattributionsscanner qtdiag
+       qtplugininfo vulkan +widgets zstd
+"
+# note that some tools do not *require* widgets but will skip a sub-tool
+# if not enabled (e.g. linguist gives lrelease but not the GUI linguist6)
+REQUIRED_USE="
+       assistant? ( widgets )
+       clang? ( ${LLVM_REQUIRED_USE} )
+       designer? ( qml widgets )
+       distancefieldgenerator? ( qml widgets )
+       pixeltool? ( widgets )
+       qdoc? ( clang qml )
+       qmlls? ( assistant qml )
+"
+
+RDEPEND="
+       ~dev-qt/qtbase-${PV}:6[widgets?]
+       assistant? ( ~dev-qt/qtbase-${PV}:6[concurrent,network,sql,sqlite] )
+       clang? (
+               $(llvm_gen_dep '
+                       llvm-core/clang:${LLVM_SLOT}=
+                       llvm-core/llvm:${LLVM_SLOT}=
+               ')
+       )
+       designer? (
+               ~dev-qt/qtbase-${PV}:6[network,xml,zstd=]
+               zstd? ( app-arch/zstd:= )
+       )
+       qdbus? ( ~dev-qt/qtbase-${PV}:6[dbus,xml] )
+       qml? ( ~dev-qt/qtdeclarative-${PV}:6[widgets?] )
+       qmlls? ( ~dev-qt/qtdeclarative-${PV}:6[qmlls] )
+       qtdiag? ( ~dev-qt/qtbase-${PV}:6[network,gles2-only=,vulkan=] )
+       widgets? ( ~dev-qt/qtbase-${PV}:6[opengl=] )
+"
+DEPEND="
+       ${RDEPEND}
+       qtdiag? (
+               vulkan? ( dev-util/vulkan-headers )
+       )
+"
+
+src_prepare() {
+       qt6-build_src_prepare
+
+       # qttools is picky about clang versions and ignores LLVM_SLOT
+       sed -i '/find_package/s/${VERSION}//' cmake/FindWrapLibClang.cmake || 
die
+}
+
+src_configure() {
+       use clang && llvm_chost_setup
+
+       local mycmakeargs=(
+               # prevent the clang test as it can abort due to bug #916098
+               $(cmake_use_find_package clang WrapLibClang)
+               $(cmake_use_find_package qml Qt6Qml)
+               $(cmake_use_find_package widgets Qt6Widgets)
+               $(qt_feature assistant)
+               $(qt_feature clang)
+               $(qt_feature designer)
+               $(qt_feature distancefieldgenerator)
+               $(qt_feature linguist)
+               $(qt_feature pixeltool)
+               $(qt_feature qdbus)
+               $(qt_feature qdoc)
+               $(qt_feature qtattributionsscanner)
+               $(qt_feature qtdiag)
+               $(qt_feature qtplugininfo)
+
+               # TODO?: package litehtml, but support for latest releases seem
+               # to lag behind and bundled may work out better for now
+               # https://github.com/litehtml/litehtml/issues/266
+               $(usev assistant -DCMAKE_DISABLE_FIND_PACKAGE_litehtml=ON)
+
+               # USE=qmlls' help plugin may be temporary, upstream has plans 
to split
+               # QtHelp into another package so that qtdeclarative can depend 
on it
+               # without a circular dependency with qttools
+               $(cmake_use_find_package qmlls Qt6QmlLSPrivate)
+       )
+
+       qt6-build_src_configure
+}
+
+src_install() {
+       qt6-build_src_install
+
+       if use widgets; then #914766
+               use designer || use distancefieldgenerator || use pixeltool &&
+                       newicon src/designer/src/designer/images/designer.png 
designer6.png
+
+               if use assistant; then
+                       make_desktop_entry assistant6 'Qt 6 Assistant' 
assistant6 \
+                               'Qt;Development;Documentation' \
+                               'Comment=Tool for viewing online documentation 
in Qt help file format'
+                       newicon 
src/assistant/assistant/images/assistant-128.png assistant6.png
+               fi
+
+               if use designer; then
+                       make_desktop_entry designer6 'Qt 6 Designer' designer6 \
+                               'Qt;Development;GUIDesigner' \
+                               'Comment=WYSIWYG tool for designing and 
building graphical user interfaces with QtWidgets'
+               fi
+
+               if use distancefieldgenerator; then
+                       # no icon, sharing with designer which fits letter-wise
+                       make_desktop_entry qdistancefieldgenerator6 'Qt 6 
Distance Field Generator' designer6 \
+                               'Qt;Development' \
+                               'Comment=Tool for pregenerating the font cache 
of Qt applications'
+               fi
+
+               if use linguist; then
+                       make_desktop_entry linguist6 'Qt 6 Linguist' linguist6 \
+                               'Qt;Development;Translation' \
+                               'Comment=Tool for translating Qt applications'
+                       newicon 
src/linguist/linguist/images/icons/linguist-128-32.png linguist6.png
+               fi
+
+               if use pixeltool; then
+                       # no icon, not fitting but share with designer for now
+                       make_desktop_entry pixeltool6 'Qt 6 Pixel Tool' 
designer6 \
+                               'Qt;Development' \
+                               'Comment=Tool for zooming in the desktop area 
pointed by the cursor'
+               fi
+
+               if use qdbus; then
+                       make_desktop_entry qdbusviewer6 'Qt 6 QDBusViewer' 
qdbusviewer6 \
+                               'Qt;Development' \
+                               'Comment=Tool that lets introspect D-Bus 
objects and messages'
+                       newicon 
src/qdbus/qdbusviewer/images/qdbusviewer-128.png qdbusviewer6.png
+               fi
+
+               # hack: make_destop_entry does not support overriding 
DESCRIPTION
+               find "${ED}" -type f -name "*.desktop" \
+                       -exec sed -i "/^Comment=${DESCRIPTION}/d" -- {} + || die
+       fi
+}
+
+pkg_postinst() {
+       use assistant &&
+               optfeature "Qt documentation viewable in assistant" \
+                       'dev-qt/qt-docs:6[qch]' #602296
+}

Reply via email to