mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-04-07 03:10:15 -04:00
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>
147 lines
3.9 KiB
Bash
147 lines
3.9 KiB
Bash
# 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
|
|
}
|