diff options
-rw-r--r-- | dev-qt/qttools/Manifest | 1 | ||||
-rw-r--r-- | dev-qt/qttools/qttools-6.7.0.ebuild | 153 |
2 files changed, 154 insertions, 0 deletions
diff --git a/dev-qt/qttools/Manifest b/dev-qt/qttools/Manifest index 1ec4632a6e81..847e8deee9c4 100644 --- a/dev-qt/qttools/Manifest +++ b/dev-qt/qttools/Manifest @@ -1,2 +1,3 @@ DIST qttools-everywhere-src-6.6.2.tar.xz 8594492 BLAKE2B 17d4385df9c0a70e8c3c135bd56f835c80d98008694331a2c2e8381b1489aafd56ca140ad300d868bdf795742326771358fc18f9c4e27b9aceb937a59536ddd9 SHA512 bf8d7fc92768b2a4992cef021576b1a6ed1405995ab18113db22c72f9e159b38012ff98d797b2a9578cc82527dc51fae92605a5e6a94fdeecd7e0da95509ce90 DIST qttools-everywhere-src-6.6.3.tar.xz 8596272 BLAKE2B 375a018d3fff0ef52e7e8e38455f8a801d6a4e715f14826605e0c6b5d33b321aa7395b598041f1459fb361773688255c0ff1e4e300d05aef18aa42f5e785a8e7 SHA512 621277c1f8ea7b0742ce2679bc938d8c5611f712b06f6ec7afa8231e9d8ae3184870f0d9d9358076bdeac220072798e236745bf68c33eaf23dc7896a1a478235 +DIST qttools-everywhere-src-6.7.0.tar.xz 9012572 BLAKE2B 12bfc43d390c40faafdf825d333348fb1672eb52c3f1e47ea0362542712dfac56fa3b07f01a2bc196872a04e9cf1a101ea2feb4ed6b744a70c75b67111ec806e SHA512 8d478568d8e7ffc40af8099e95f2b37913c05490cc127d559c13ed3cba75bf8cca06ad3afce65649186a3e52442f8e0f820a2ac6b655ec0e2b808e6df834d560 diff --git a/dev-qt/qttools/qttools-6.7.0.ebuild b/dev-qt/qttools/qttools-6.7.0.ebuild new file mode 100644 index 000000000000..6156f4c02a83 --- /dev/null +++ b/dev-qt/qttools/qttools-6.7.0.ebuild @@ -0,0 +1,153 @@ +# 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 +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 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 ) +" + +# behaves very badly when qttools is not already installed, also +# other more minor issues (clang tests flaky depending on version, +# and 3rdparty/ tries to FetchContent gtest) +RESTRICT="test" + +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?] ) + 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) + + $(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 +} |