From bf513d42697f17107737dca093c6e6b85eb8268a Mon Sep 17 00:00:00 2001 From: Nicolas PARLANT Date: Wed, 19 Nov 2025 20:34:24 +0100 Subject: [PATCH] dev-util/gammaray: add 3.3.0 skip CMAKE_QA_COMPAT for files unused in bundled 3rdparty/backward-cpp always build manpage use doc for html and qhc/qch enable qml required w/ 3.3.0, anyway it's simplier add useflags highlight and kjob add dev-util/kdstatemachineeditor to complete the scxml plugin use bundled/modified kitemmodels fix deps for wayland remove virtualx and use offscreen instead skip tests w/ comments Signed-off-by: Nicolas PARLANT --- dev-util/gammaray/Manifest | 1 + .../files/gammaray-3.3.0-unbundle_libs.patch | 46 ++++++ dev-util/gammaray/gammaray-3.3.0.ebuild | 146 ++++++++++++++++++ dev-util/gammaray/metadata.xml | 10 +- 4 files changed, 199 insertions(+), 4 deletions(-) create mode 100644 dev-util/gammaray/files/gammaray-3.3.0-unbundle_libs.patch create mode 100644 dev-util/gammaray/gammaray-3.3.0.ebuild diff --git a/dev-util/gammaray/Manifest b/dev-util/gammaray/Manifest index 4986f74cef..a0e5a5094a 100644 --- a/dev-util/gammaray/Manifest +++ b/dev-util/gammaray/Manifest @@ -1 +1,2 @@ DIST gammaray-3.1.0.tar.gz 62728353 BLAKE2B 2adcb59ac0b9b7ae519a71ba5bcf9ae1c5162dcafcaab11028410070026e824fb0838a0aa408eca105d82ffc157d9ef9c3f334e34512d6b74ebb74bf2b38385b SHA512 efc6b075c99966e0b3f1f058b29ff9b4ad2349818e5ff71cfdccfb889807ac6b6afe95d981d033ac773fdfd965320d7644adf19a229160f545b4468d9ab53202 +DIST gammaray-3.3.0.tar.gz 10976302 BLAKE2B d232815171b0330bda6da8cc8e4fe8658bbe46fb547908ce1d7b70f612de20ef824c0a39d37c449bb27df2b46ee0357e614905a39bab4201ad372c669a60f41a SHA512 14bd5a1ac9638f18b359021f8fdf7e76b099a88ac7623c303b2c1813b57812d29b6e59d7ee843e041452a111e03a732056a37f06ce4928cfd86cfdfb87ffebf1 diff --git a/dev-util/gammaray/files/gammaray-3.3.0-unbundle_libs.patch b/dev-util/gammaray/files/gammaray-3.3.0-unbundle_libs.patch new file mode 100644 index 0000000000..265abf6576 --- /dev/null +++ b/dev-util/gammaray/files/gammaray-3.3.0-unbundle_libs.patch @@ -0,0 +1,46 @@ +unbundle KDStateMachineviewer +--- a/3rdparty/CMakeLists.txt ++++ b/3rdparty/CMakeLists.txt +@@ -34,7 +34,6 @@ if(GAMMARAY_WITH_KDSME) + remove_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050500) + add_subdirectory(KDStateMachineEditor) + endfunction() +- add_ksme_subdirectory() + endif() + + add_subdirectory(kde) +--- a/plugins/statemachineviewer/CMakeLists.txt ++++ b/plugins/statemachineviewer/CMakeLists.txt +@@ -81,6 +81,7 @@ if(GAMMARAY_BUILD_UI AND GAMMARAY_WITH_KDSME) + ${gammaray_statemachineviewer_shared_srcs} + ) + ++ find_package(KDSME-qt6 REQUIRED) + target_link_libraries( + gammaray_statemachineviewer_ui_plugin + KDSME::Core +--- a/plugins/statemachineviewer/statemachineviewerwidget.cpp ++++ b/plugins/statemachineviewer/statemachineviewerwidget.cpp +@@ -25,14 +25,14 @@ + #include + #include + +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include + + #include + #include diff --git a/dev-util/gammaray/gammaray-3.3.0.ebuild b/dev-util/gammaray/gammaray-3.3.0.ebuild new file mode 100644 index 0000000000..91aa394e64 --- /dev/null +++ b/dev-util/gammaray/gammaray-3.3.0.ebuild @@ -0,0 +1,146 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# skip warning for unused files in 3rdparty/backward-cpp +CMAKE_QA_COMPAT_SKIP=1 + +inherit cmake qmake-utils xdg + +MY_PN="GammaRay" +DESCRIPTION="High-level runtime introspection tool for Qt applications" +HOMEPAGE=" + https://www.kdab.com/software-technologies/developer-tools/gammaray/ + https://github.com/KDAB/GammaRay +" + +if [[ ${PV} == 9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/KDAB/GammaRay.git" +else + SRC_URI="https://github.com/KDAB/GammaRay/releases/download/v${PV}/${P}.tar.gz" + KEYWORDS="~amd64" + S="${WORKDIR}/${MY_PN}-${PV}" +fi + +LICENSE="BSD-2 GPL-2+ MIT" +SLOT=0 + +IUSE="3d bluetooth designer doc geolocation highlight kjob scxml svg test wayland webengine" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-libs/elfutils + dev-qt/qtbase:6[concurrent,gui,network,widgets,xml] + dev-qt/qtdeclarative:6[widgets] + 3d? ( dev-qt/qt3d:6[qml] ) + bluetooth? ( dev-qt/qtconnectivity:6[bluetooth] ) + designer? ( dev-qt/qttools:6[designer] ) + geolocation? ( + dev-qt/qtlocation:6 + dev-qt/qtpositioning:6 + ) + highlight? ( kde-frameworks/syntax-highlighting:6 ) + kjob? ( kde-frameworks/kcoreaddons:6 ) + scxml? ( + dev-qt/qtscxml:6 + >=dev-util/kdstatemachineeditor-2.2.0 + ) + svg? ( dev-qt/qtsvg:6 ) + wayland? ( + dev-libs/wayland + dev-qt/qtwayland:6[compositor(+)] + ) + webengine? ( dev-qt/qtwebengine:6[widgets] ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-lang/perl + dev-qt/qttools:6[linguist] + doc? ( + app-text/doxygen + dev-qt/qttools:6[assistant,qdoc,qtattributionsscanner] + media-gfx/graphviz + ) + wayland? ( dev-util/wayland-scanner ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-3.3.0-unbundle_libs.patch +) + +src_prepare() { + cmake_src_prepare + + if ! use doc; then + cmake_comment_add_subdirectory -f docs manual api collection + fi +} + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package 3d Qt63DAnimation) + $(cmake_use_find_package 3d Qt63DExtras) + $(cmake_use_find_package 3d Qt63DInput) + $(cmake_use_find_package 3d Qt63DLogic) + $(cmake_use_find_package 3d Qt63DRender) + $(cmake_use_find_package 3d Qt63DQuick) + $(cmake_use_find_package bluetooth Qt6Bluetooth) + $(cmake_use_find_package designer Qt6Designer) + $(cmake_use_find_package geolocation Qt6Location) + $(cmake_use_find_package geolocation Qt6Positioning) + $(cmake_use_find_package highlight KF6SyntaxHighlighting) + $(cmake_use_find_package kjob KF6CoreAddons) + $(cmake_use_find_package svg Qt6Svg) + $(cmake_use_find_package scxml Qt6Scxml) + $(cmake_use_find_package scxml Qt6StateMachine) + $(cmake_use_find_package wayland Qt6WaylandCompositor) + $(cmake_use_find_package wayland Wayland) + $(cmake_use_find_package webengine Qt6WebEngineWidgets) + -DBUILD_TESTING=$(usex test) + -DECM_MKSPECS_INSTALL_DIR="$(qt6_get_mkspecsdir)" + # enable doc for manpages + -DGAMMARAY_BUILD_DOCS=ON + -DGAMMARAY_BUILD_UI=ON + -DGAMMARAY_DISABLE_FEEDBACK=ON + -DGAMMARAY_WITH_KDSME=$(usex scxml) + -DQT_VERSION_MAJOR=6 + ) + + cmake_src_configure +} + +src_test() { + local CMAKE_SKIP_TESTS=( + # avoid gdb/lldb tests + connectiontest-* + connectiontest-*-filter + # GammaRay::ProblemReporterTest::testConnectionIssues() We can't find duplicates with PMF connects, yet. + problemreportertest + # QFATAL : QuickInspectorTest::testModelsReparent() Failed to initialize graphics backend for OpenGL. + quickinspectortest + quickinspectortest2 + # need gdb/lldb + # Yama security extension is blocking runtime attaching + clientconnectiontest + launchertest + # need launcher + quickmaterialtest + quicktexturetest + ) + local -x QT_QPA_PLATFORM=offscreen + cmake_src_test +} + +src_install() { + if use doc; then + local HTML_DOCS=( "${BUILD_DIR}"/docs/api/html/. ) + find "${HTML_DOCS}" \( -iname '*.map' -o -iname '*.md5' \) -delete || die + fi + + cmake_src_install + + docompress -x /usr/share/doc/${PF}/${PN}{.qhc,-manual.qch,-api.qch} + rm -r "${ED}"/usr/share/doc/${PN} || die +} diff --git a/dev-util/gammaray/metadata.xml b/dev-util/gammaray/metadata.xml index edf7e2abdd..9c4c805a50 100644 --- a/dev-util/gammaray/metadata.xml +++ b/dev-util/gammaray/metadata.xml @@ -20,11 +20,13 @@ level, with the same concepts as the frameworks you use. This is especially usef the more complex Qt frameworks such as model/view, state machines or scene graphs. - Build support for Qt5 3D modules + Build support for Qt 3D modules Widget .ui file export - Physical position determination support from Qt5 framework - Build with Qt5 Quick support - Build support for Qt5 State Chart XML (SCXML) + Physical position determination support from Qt framework + Syntax highlighting for code editor + KJob tracker plug-in + Build with Qt Quick support + Build support for Qt State Chart XML (SCXML) Enable support for dev-qt/qtwebengine