summaryrefslogtreecommitdiff
path: root/dev-qt/qttools
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-06-05 00:07:53 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-06-05 00:07:53 +0100
commit9d1e33edaf09cde926d589461f40e378d4124be9 (patch)
treeb0a5a85acd92ce912a95245121dde9cebcf76b71 /dev-qt/qttools
parentdafa6f367240d1f5329ca89fb6f78985dbdc025b (diff)
gentoo auto-resync : 05:06:2024 - 00:07:52
Diffstat (limited to 'dev-qt/qttools')
-rw-r--r--dev-qt/qttools/Manifest5
-rw-r--r--dev-qt/qttools/metadata.xml1
-rw-r--r--dev-qt/qttools/qttools-6.8.9999.ebuild161
-rw-r--r--dev-qt/qttools/qttools-6.9999.ebuild13
4 files changed, 175 insertions, 5 deletions
diff --git a/dev-qt/qttools/Manifest b/dev-qt/qttools/Manifest
index c62ed40862a0..491538212835 100644
--- a/dev-qt/qttools/Manifest
+++ b/dev-qt/qttools/Manifest
@@ -3,5 +3,6 @@ DIST qttools-everywhere-src-6.7.1.tar.xz 9016376 BLAKE2B 081a8a6fc838ee1dcee1b82
EBUILD qttools-6.7.0.ebuild 4650 BLAKE2B e76702c487efe87692d281bc213088f0cf7c7f5e5a62b9d8d9f084848f434309fed487cf8b66abfb31ce3d41347e0298944484270d8eba3f943f15e1b0d1eb8d SHA512 c34acc2c50302f0d799b67440cacfdea1cf15de5df2958437ef06629c132eb96cb06b05930113eae7105868796058f47f4b604cbfe62bbe711884ef49ce67e0d
EBUILD qttools-6.7.1.ebuild 4648 BLAKE2B 3a5aa59fb7d30516c8e805dad84929ddd8a6b351ba22ef6ebd02194785717e97e2433c0c62d0c1306a972809f192d29e63c9aa53aa7f18f7e046c4cf6734c6e0 SHA512 64ae35ea4dd037564af9e5562dede37cb171050de054fcf23c9451c0c79ff8c7527d1547ce01bdfc0d820bc3290da4d7605cdc27a8199505cc23ab3df82be171
EBUILD qttools-6.7.9999.ebuild 4652 BLAKE2B eebd7864fe6b6c135e0a8a3ca82facb8596cd468c6cb7b9064ea2eb88d0340c9756c5c53cb29c8aff02553dc60665391d337bf470d0483e7d7e7dc6b789512d0 SHA512 0f106b67908d04dc45ef0954251dc699c2e4de63a223b03680fe295d2687830dfd2814bf7c0a5996fa847c4e48fa7e3d41fbe076f278e17cdab571fb91dc2f8a
-EBUILD qttools-6.9999.ebuild 4652 BLAKE2B eebd7864fe6b6c135e0a8a3ca82facb8596cd468c6cb7b9064ea2eb88d0340c9756c5c53cb29c8aff02553dc60665391d337bf470d0483e7d7e7dc6b789512d0 SHA512 0f106b67908d04dc45ef0954251dc699c2e4de63a223b03680fe295d2687830dfd2814bf7c0a5996fa847c4e48fa7e3d41fbe076f278e17cdab571fb91dc2f8a
-MISC metadata.xml 1415 BLAKE2B 082d3fb170635bf0434df13b560689eeafd163b618f26e000ec23b8007329e83fe3537be983b44a4e055271fa20a37fed570585c9af950b3488f2cd6806f581a SHA512 c0469f0638488b75ee9a68fb213df728eafa7d13facae1929ca4d847f3b2fbc682522c315c0ae42688cbd7a00a134168009c6fb5bfa66ad318e829704aad6761
+EBUILD qttools-6.8.9999.ebuild 4975 BLAKE2B 35918fb023a017c7c2b958e5ec7990cf80cf45fed3d633b65e26314d62e597e7f19dc72d96b781f498e646f11a0c200c4510b2761c75df892b8a084d8707c823 SHA512 d2f528eabad3c58e41ec133a56715efa394d659cfac183477c8e41ae7c2afeca48cf81dbadf6f52ebff3da9f5f9a42aba761f57cbb436b02446d1d26fcb3cbca
+EBUILD qttools-6.9999.ebuild 4975 BLAKE2B 35918fb023a017c7c2b958e5ec7990cf80cf45fed3d633b65e26314d62e597e7f19dc72d96b781f498e646f11a0c200c4510b2761c75df892b8a084d8707c823 SHA512 d2f528eabad3c58e41ec133a56715efa394d659cfac183477c8e41ae7c2afeca48cf81dbadf6f52ebff3da9f5f9a42aba761f57cbb436b02446d1d26fcb3cbca
+MISC metadata.xml 1495 BLAKE2B 05681d2d714d1d6e2939d105c48c3e16a1a99b4196b04fe0f1ed62cd628f0b3d743d75229aa123c887dfd2abea1e67b43d7224a1603d889f2f75d964f51206b8 SHA512 6c692eed887713ef7a3d33b2644ecfcf0ec2f346e5e15857996b8a6916a137d22cb2255cc2a44de06a4fb1e0818395842c52925b232ac49d7280210d2441f89a
diff --git a/dev-qt/qttools/metadata.xml b/dev-qt/qttools/metadata.xml
index 80f6a033c31d..b08d3bc7e49b 100644
--- a/dev-qt/qttools/metadata.xml
+++ b/dev-qt/qttools/metadata.xml
@@ -15,6 +15,7 @@
<flag name="qdbus">Build the Qt D-Bus Interface (D-Bus Viewer requires USE=widgets)</flag>
<flag name="qdoc">Build Qt Documentation Generator</flag>
<flag name="qml">Build QML/QtQuick bindings and imports</flag>
+ <flag name="qmlls">Build the QtHelp plugin for the QML language server</flag>
<flag name="qtattributionsscanner">Build Qt Source Code Attribution Scanner</flag>
<flag name="qtdiag">Build Qt Diag</flag>
<flag name="qtplugininfo">Build Qt Plugin Info</flag>
diff --git a/dev-qt/qttools/qttools-6.8.9999.ebuild b/dev-qt/qttools/qttools-6.8.9999.ebuild
new file mode 100644
index 000000000000..5ad1c0f2b81d
--- /dev/null
+++ b/dev-qt/qttools/qttools-6.8.9999.ebuild
@@ -0,0 +1,161 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {15..18} ) # 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-r1 optfeature qt6-build
+
+DESCRIPTION="Qt Tools Collection"
+
+if [[ ${QT6_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~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[network,widgets?]
+ assistant? ( ~dev-qt/qtbase-${PV}:6[sql,sqlite] )
+ clang? (
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}=
+ sys-devel/llvm:${LLVM_SLOT}=
+ ')
+ )
+ designer? (
+ ~dev-qt/qtbase-${PV}:6[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[gles2-only=,vulkan=] )
+ widgets? ( ~dev-qt/qtbase-${PV}:6[opengl=] )
+"
+DEPEND="
+ ${RDEPEND}
+ qtdiag? (
+ vulkan? ( dev-util/vulkan-headers )
+ )
+"
+
+pkg_setup() {
+ use clang && llvm-r1_pkg_setup
+}
+
+src_configure() {
+ 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)
+
+ $(usev designer -DQT_UNITY_BUILD=OFF) # fails to build (QTBUG-122634)
+ )
+
+ 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
+}
diff --git a/dev-qt/qttools/qttools-6.9999.ebuild b/dev-qt/qttools/qttools-6.9999.ebuild
index fd8e80ea6380..5ad1c0f2b81d 100644
--- a/dev-qt/qttools/qttools-6.9999.ebuild
+++ b/dev-qt/qttools/qttools-6.9999.ebuild
@@ -20,9 +20,9 @@ if [[ ${QT6_BUILD_TYPE} == release ]]; then
fi
IUSE="
- +assistant clang designer distancefieldgenerator gles2-only
- +linguist opengl pixeltool +qdbus qdoc qml qtattributionsscanner
- qtdiag qtplugininfo vulkan +widgets zstd
+ +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)
@@ -33,6 +33,7 @@ REQUIRED_USE="
distancefieldgenerator? ( qml widgets )
pixeltool? ( widgets )
qdoc? ( clang qml )
+ qmlls? ( assistant qml )
"
RDEPEND="
@@ -50,6 +51,7 @@ RDEPEND="
)
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[gles2-only=,vulkan=] )
widgets? ( ~dev-qt/qtbase-${PV}:6[opengl=] )
"
@@ -87,6 +89,11 @@ src_configure() {
# 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)
+
$(usev designer -DQT_UNITY_BUILD=OFF) # fails to build (QTBUG-122634)
)