commit: 91bdacd637bc65985134de3c9d0d505a9fb52594
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 2 04:41:09 2025 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Apr 2 04:52:24 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=91bdacd6
dev-qt/qttools: add 6.9.0
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
dev-qt/qttools/Manifest | 1 +
dev-qt/qttools/qttools-6.9.0.ebuild | 167 ++++++++++++++++++++++++++++++++++++
2 files changed, 168 insertions(+)
diff --git a/dev-qt/qttools/Manifest b/dev-qt/qttools/Manifest
index 61071e5a414c..56896a38c495 100644
--- a/dev-qt/qttools/Manifest
+++ b/dev-qt/qttools/Manifest
@@ -1,2 +1,3 @@
DIST qttools-everywhere-src-6.8.2.tar.xz 10297596 BLAKE2B
b8dc80718246e5bc72ef5c76c176f0b4bf264d387d22c49c03695a218ce295a946fd2cf84bf45d6a11752875a681d9bde27a33f7f5cb148e9a3c53f167996de0
SHA512
ad448af0656640a712eefe81fc4291209dec27fe10d42dfb68c7c31e65003653fb3821996f44c50d8ab4371853a18cfc0b4032f7876ce6c75d0fb9b4fe91ca27
DIST qttools-everywhere-src-6.8.3.tar.xz 10301984 BLAKE2B
fb07a574d5b7f0dbc964819d217973d8e3a15974c510fa053a4a23bf548e8bb2bf9d8965dcd058eb6c53da7598f68ceccefa181c7f93cfb4506805df8937fda4
SHA512
77141b310f63932678f28682c490ccc75776493994d96582d546545c17937605efac312c008c75fda991b78c369320d0a2c4b543b568a459cc90051d1ed2b9da
+DIST qttools-everywhere-src-6.9.0.tar.xz 10326748 BLAKE2B
be1cc8ac1cdad7a9b1cdb4e5e5cbc9c82750293ac3efe27793031513deea25a999c30b561977ddcc81165955e2464abcd707c89a4cf28cf1b5c536389a230c6b
SHA512
85f1a1e30ec639d5c5ac1eeea6372b2da632616e5b45911ca03846686e8329a1e00e88fe04a44621c48cb68bbabd9680e23aa52b418733166d79be393db5d6a7
diff --git a/dev-qt/qttools/qttools-6.9.0.ebuild
b/dev-qt/qttools/qttools-6.9.0.ebuild
new file mode 100644
index 000000000000..52750e2eb0d8
--- /dev/null
+++ b/dev-qt/qttools/qttools-6.9.0.ebuild
@@ -0,0 +1,167 @@
+# 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
+
+ # *could* consider a USE=gui to guard GUI applications and their
.desktop
+ # files when only want the libraries (Help/UiTools), but cmake logic
makes
+ # it difficult to get only these and we'd be just rm'ing small'ish files
+ 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
+}