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@parhuet.fr>
This commit is contained in:
Nicolas PARLANT
2025-11-19 20:34:24 +01:00
parent e44c069c95
commit bf513d4269
4 changed files with 199 additions and 4 deletions

View File

@@ -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

View File

@@ -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>

View File

@@ -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
}

View File

@@ -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>