diff options
Diffstat (limited to 'dev-qt/qttools')
| -rw-r--r-- | dev-qt/qttools/metadata.xml | 1 | ||||
| -rw-r--r-- | dev-qt/qttools/qttools-6.11.9999.ebuild | 119 | ||||
| -rw-r--r-- | dev-qt/qttools/qttools-6.9999.ebuild | 8 |
3 files changed, 125 insertions, 3 deletions
diff --git a/dev-qt/qttools/metadata.xml b/dev-qt/qttools/metadata.xml index 257a7135bc7c..e3fc7b38eba5 100644 --- a/dev-qt/qttools/metadata.xml +++ b/dev-qt/qttools/metadata.xml @@ -10,6 +10,7 @@ <flag name="clang">Enable using libclang for code parsing (linguist/qdoc)</flag> <flag name="designer">Build Qt Designer</flag> <flag name="distancefieldgenerator">Build Qt Distance Field Generator</flag> + <flag name="kmap2qmap">Build tool to generate keymaps for use on Embedded Linux</flag> <flag name="linguist">Build Qt Linguist tools (GUI requires USE=widgets and USE=qml)</flag> <flag name="pixeltool">Build Qt Pixeltool</flag> <flag name="qdbus">Build the Qt D-Bus Interface (D-Bus Viewer requires USE=widgets)</flag> diff --git a/dev-qt/qttools/qttools-6.11.9999.ebuild b/dev-qt/qttools/qttools-6.11.9999.ebuild new file mode 100644 index 000000000000..18242da673dc --- /dev/null +++ b/dev-qt/qttools/qttools-6.11.9999.ebuild @@ -0,0 +1,119 @@ +# 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 llvm-r2 optfeature qt6-build xdg + +DESCRIPTION="Qt Tools Collection" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE=" + +assistant designer distancefieldgenerator gles2-only kmap2qmap + +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 ) + designer? ( qml widgets ) + distancefieldgenerator? ( qml widgets ) + pixeltool? ( widgets ) + qdoc? ( qml ${LLVM_REQUIRED_USE} ) + qmlls? ( assistant qml ) +" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[widgets?] + assistant? ( + ~dev-qt/qtbase-${PV}:6[concurrent,network,sql,sqlite] + !dev-qt/assistant:5 + ) + designer? ( + ~dev-qt/qtbase-${PV}:6[network,xml,zstd=] + zstd? ( app-arch/zstd:= ) + !<dev-qt/designer-5.15.18-r1:5 + ) + kmap2qmap? ( ~dev-qt/qtbase-${PV}:6[evdev] ) + linguist? ( + widgets? ( !dev-qt/linguist:5 ) + ) + qdbus? ( + ~dev-qt/qtbase-${PV}:6[dbus,xml] + widgets? ( !dev-qt/qdbusviewer:5 ) + ) + qdoc? ( + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') + ) + 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 qdoc && llvm_chost_setup + + local mycmakeargs=( + # prevent the clang test as it can abort due to bug #916098 + $(cmake_use_find_package qdoc WrapLibClang) + $(cmake_use_find_package qml Qt6Qml) + $(cmake_use_find_package widgets Qt6Widgets) + $(qt_feature assistant) + $(qt_feature designer) + $(qt_feature distancefieldgenerator) + $(qt_feature kmap2qmap) + $(qt_feature linguist) + $(qt_feature pixeltool) + $(qt_feature qdbus) + $(qt_feature qdoc) + $(qt_feature qtattributionsscanner) + $(qt_feature qtdiag) + $(qt_feature qtplugininfo) + $(usev widgets -DQT_INSTALL_XDG_DESKTOP_ENTRIES=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 +} + +pkg_postinst() { + xdg_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 eb974cfbd2f1..18242da673dc 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 designer distancefieldgenerator gles2-only +linguist - opengl pixeltool +qdbus qdoc qml qmlls qtattributionsscanner qtdiag - qtplugininfo vulkan +widgets zstd + +assistant designer distancefieldgenerator gles2-only kmap2qmap + +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) @@ -46,6 +46,7 @@ RDEPEND=" zstd? ( app-arch/zstd:= ) !<dev-qt/designer-5.15.18-r1:5 ) + kmap2qmap? ( ~dev-qt/qtbase-${PV}:6[evdev] ) linguist? ( widgets? ( !dev-qt/linguist:5 ) ) @@ -90,6 +91,7 @@ src_configure() { $(qt_feature assistant) $(qt_feature designer) $(qt_feature distancefieldgenerator) + $(qt_feature kmap2qmap) $(qt_feature linguist) $(qt_feature pixeltool) $(qt_feature qdbus) |
