commit: 1ff2d4732095dcdc44167d5eb898237467d3e759 Author: Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr> AuthorDate: Tue Oct 28 13:07:08 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sat Nov 22 11:37:54 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1ff2d473
dev-util/kdstatemachineeditor: add 2.2.0 release with qt-6.10 support use doxygen/graphviz instead of doxygen[dot] Install a static file (and use dot-a) required by cmake files, it may be used by gammaray::guru for the KDSME plugin. Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr> Part-of: https://github.com/gentoo/gentoo/pull/44671 Closes: https://github.com/gentoo/gentoo/pull/44671 Signed-off-by: Sam James <sam <AT> gentoo.org> dev-util/kdstatemachineeditor/Manifest | 1 + .../kdstatemachineeditor-2.2.0.ebuild | 101 +++++++++++++++++++++ 2 files changed, 102 insertions(+) diff --git a/dev-util/kdstatemachineeditor/Manifest b/dev-util/kdstatemachineeditor/Manifest index afd73a9b5f08..cb872bf03230 100644 --- a/dev-util/kdstatemachineeditor/Manifest +++ b/dev-util/kdstatemachineeditor/Manifest @@ -1 +1,2 @@ DIST kdstatemachineeditor-2.1.0.tar.gz 1012048 BLAKE2B 0af13049e5a9ef983eb3f9ddda2cf344d0f0326deb2e08a72dbde1da15e4ff795ce3ffc624eb28de32805f75cc2fd30326a3f93f704ffaa1af72b28c0dbaa7ab SHA512 2027dd27d296f13c46d3efb11653d26d832e573b65fe98e982d320aa034df9df386b822d0a2dadacd230b0594d125bfd1dfa1443487dccb6e9074efcd7abe59b +DIST kdstatemachineeditor-2.2.0.tar.gz 1010337 BLAKE2B 32610d1ca8dc769b2a3e2d13b24d0a9bb9b762bc1ee2671f2786b93c5c087e01dd33e81733cf59df2d47e9825120312865f2b89d88b4ed36b5b852010f6b774d SHA512 72943b1ae9dcdc8e39b8465b7dc7d7e79600c9d1e464928cafe593fa49ce7369a7d801c879c5204ef807afc36c0ef85475020e8eab73fe1fda709f56303195bc diff --git a/dev-util/kdstatemachineeditor/kdstatemachineeditor-2.2.0.ebuild b/dev-util/kdstatemachineeditor/kdstatemachineeditor-2.2.0.ebuild new file mode 100644 index 000000000000..4cc8836263b0 --- /dev/null +++ b/dev-util/kdstatemachineeditor/kdstatemachineeditor-2.2.0.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake dot-a + +MY_PN="KDStateMachineEditor" +DESCRIPTION="Framework for creating Qt State Machine metacode using graphical user interfaces" +HOMEPAGE="https://github.com/KDAB/KDStateMachineEditor" + +if [[ ${PV} == *9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/KDAB/KDStateMachineEditor.git" +else + SRC_URI="https://github.com/KDAB/KDStateMachineEditor/releases/download/v${PV}/${P}.tar.gz" + KEYWORDS="~amd64" + S="${WORKDIR}/${MY_PN}-${PV}" +fi + +LICENSE="LGPL-2.1" +SLOT="0" +IUSE="doc gui test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-qt/qtbase:6[gui,network,opengl,widgets] + dev-qt/qtdeclarative:6[widgets] + dev-qt/qtremoteobjects:6 + dev-qt/qtscxml:6 + media-gfx/graphviz + gui? ( dev-qt/qt5compat:6[qml] ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + doc? ( + app-text/doxygen + dev-qt/qttools:6[assistant] + media-gfx/graphviz + ) + gui? ( dev-util/patchelf ) +" + +src_prepare() { + # set TEST_DATA_DIR for application env instead of test env. + if use gui; then + sed -e 's:${CMAKE_CURRENT_SOURCE_DIR}/data:'"${EPREFIX}"'/usr/share/'"${PN}"'/data:' \ + -i CMakeLists.txt || die + fi + + cmake_src_prepare +} + +src_configure() { + # libkdstatemachineeditor_debuginterfacesource-qt6.a used by KSME-qt6Targets-relwithdebinfo.cmake + lto-guarantee-fat + + local mycmakeargs=( + -DKDSME_DOCS=$(usex doc) + -DKDSME_EXAMPLES=OFF + -DKDSME_INTERNAL_GRAPHVIZ=OFF + ) + + use doc && mycmakeargs+=( + # prevent ${PF}-qt6 + -DQCH_INSTALL_DIR="${EPREFIX}/usr/share/doc/${PF}/" + ) + + if use gui || use test; then + mycmakeargs+=( -DBUILD_TESTING=ON ) + else + mycmakeargs+=( -DBUILD_TESTING=OFF ) + fi + + cmake_src_configure +} + +src_test() { + # skip tests that use scxml files in modified TEST_DATA_DIR + use gui && CMAKE_SKIP_TESTS=( + test_layouter + test_scxmlimport + ) + local -x QT_QPA_PLATFORM=offscreen + KDE_DEBUG=1 cmake_src_test +} + +src_install() { + cmake_src_install + + strip-lto-bytecode + + if use gui; then + patchelf --remove-rpath "${BUILD_DIR}"/bin/${PN} || die + dobin "${BUILD_DIR}"/bin/${PN} + mkdir -p "${ED}"/usr/share/${PN} || die + cp -R data "${ED}"/usr/share/${PN}/ || die + fi + + use doc && docompress -x /usr/share/doc/${PF}/${PN}{-api.qch,.tags} +}
