diff options
| author | Ionen Wolkens <ionen@gentoo.org> | 2025-09-30 06:02:54 -0400 |
|---|---|---|
| committer | Ionen Wolkens <ionen@gentoo.org> | 2025-09-30 07:55:23 -0400 |
| commit | 2dbbc00bc656e0e572e8ba873c4afe4c08a7c6fd (patch) | |
| tree | d18ae5fc907c54402b954ca38c1f8c00eba3b21e | |
| parent | 990bcc03e017c4f63a75c4b2e0d6843139128d7b (diff) | |
| download | gentoo-2dbbc00bc656e0e572e8ba873c4afe4c08a7c6fd.tar.gz gentoo-2dbbc00bc656e0e572e8ba873c4afe4c08a7c6fd.tar.bz2 gentoo-2dbbc00bc656e0e572e8ba873c4afe4c08a7c6fd.zip | |
dev-qt/qttools: add 6.9.3
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
| -rw-r--r-- | dev-qt/qttools/Manifest | 1 | ||||
| -rw-r--r-- | dev-qt/qttools/qttools-6.9.3.ebuild | 163 |
2 files changed, 164 insertions, 0 deletions
diff --git a/dev-qt/qttools/Manifest b/dev-qt/qttools/Manifest index d2a807d96a30..d928b43b2a12 100644 --- a/dev-qt/qttools/Manifest +++ b/dev-qt/qttools/Manifest @@ -1,2 +1,3 @@ DIST qttools-everywhere-src-6.10.0-rc.tar.xz 10036684 BLAKE2B ef4f6b9309499a4fa88bd2e45146dc257f23dadc8a7eb302a8393918ba4f98b1ce3c29c573b178ebccfc5560f36a9238ec0b5ca02703725007cf4e816aab6509 SHA512 93ecd157158b55c12d2ee129683ea3de75a35e498de44fce0b1aef6c45df33f8b82f8429b961a75f2363eb727313aa13380dc7d1e76195595a0dc0170399a66a DIST qttools-everywhere-src-6.9.2.tar.xz 10330412 BLAKE2B 96f585f87dd43d5bbe9f7080b0f49ec8474f7ee4830858f2d5a9fe2dafeed548cd96cec5cac5faef82a990a1324dbb80b41c4e63abc252c5788b9b25660ae79d SHA512 95f2e666accbb474d2a7bb0ac88b4fb006e14a419301272fdb1f168b79e9437cad224b678298a355faba243853e9314c5f2b5e5192e56f4772a373e41d74dce0 +DIST qttools-everywhere-src-6.9.3.tar.xz 10334740 BLAKE2B 55bdafdf8f162b0700f104afb3cc8532e217fed4f76e83a54ba8d7a62e202d75263cc14cbb7ba1e507a1a43213ad7d62b00adcad963d86681e5937e58b465553 SHA512 529aae86f9d4ba52b6ec1f72d19c611ce17c8e6644974cb1f202a5eef54f83167b072dfae9d94d29f0ab2269ba97a99bd7744b573b3dbd1aa2e40a55729242c0 diff --git a/dev-qt/qttools/qttools-6.9.3.ebuild b/dev-qt/qttools/qttools-6.9.3.ebuild new file mode 100644 index 000000000000..68004733cfe7 --- /dev/null +++ b/dev-qt/qttools/qttools-6.9.3.ebuild @@ -0,0 +1,163 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {17..21} ) # 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 -e '/find_package/s/${\(LLVM_\)*VERSION_CLEAN}//' \ + -i 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) + + # 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 +} |
