commit:     bf513d42697f17107737dca093c6e6b85eb8268a
Author:     Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr>
AuthorDate: Wed Nov 19 19:34:24 2025 +0000
Commit:     Nicolas PARLANT <ppn <AT> parhuet <DOT> fr>
CommitDate: Sat Nov 22 12:57:52 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=bf513d42

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 <nicolas.parlant <AT> parhuet.fr>

 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(-)

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 <ui/contextmenuextension.h>
+ #include <ui/clientdecorationidentityproxymodel.h>
+ 
+-#include <elementmodel.h>
+-#include <layoutproperties.h>
+-#include <state.h>
+-#include <transition.h>
+-#include <runtimecontroller.h>
+-#include <statemachinescene.h>
+-#include <statemachinetoolbar.h>
+-#include <statemachineview.h>
++#include <kdstatemachineeditor/core/elementmodel.h>
++#include <kdstatemachineeditor/core/layoutproperties.h>
++#include <kdstatemachineeditor/core/state.h>
++#include <kdstatemachineeditor/core/transition.h>
++#include <kdstatemachineeditor/core/runtimecontroller.h>
++#include <kdstatemachineeditor/view/statemachinescene.h>
++#include <kdstatemachineeditor/view/statemachinetoolbar.h>
++#include <kdstatemachineeditor/view/statemachineview.h>
+ 
+ #include <QDebug>
+ #include <QMenu>

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.
        </longdescription>
        <use>
-               <flag name="3d">Build support for Qt5 3D modules</flag>
+               <flag name="3d">Build support for Qt 3D modules</flag>
                <flag name="designer">Widget .ui file export</flag>
-               <flag name="geolocation">Physical position determination 
support from Qt5 framework</flag>
-               <flag name="qml">Build with Qt5 Quick support</flag>
-               <flag name="scxml">Build support for Qt5 State Chart XML 
(SCXML)</flag>
+               <flag name="geolocation">Physical position determination 
support from Qt framework</flag>
+               <flag name="highlight">Syntax highlighting for code 
editor</flag>
+               <flag name="kjob">KJob tracker plug-in</flag>
+               <flag name="qml">Build with Qt Quick support</flag>
+               <flag name="scxml">Build support for Qt State Chart XML 
(SCXML)</flag>
                <flag name="webengine">Enable support for 
dev-qt/qtwebengine</flag>
        </use>
        <upstream>

Reply via email to