commit: 161e02d69d17a9f4c27580b06dfd42fb4f4c1cd3 Author: Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr> AuthorDate: Sun Jan 12 00:24:40 2025 +0000 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org> CommitDate: Tue Feb 18 17:08:19 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=161e02d6
dev-util/kdstatemachineeditor: add 2.0.0 remove qmake-utils port to qt6 rename cmake options add gui useflag: proof-of-concept application with presets files license LGPL-2.1 Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr> Closes: https://github.com/gentoo/gentoo/pull/40108 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org> dev-util/kdstatemachineeditor/Manifest | 1 + .../kdstatemachineeditor-2.0.0.ebuild | 99 ++++++++++++++++++++++ 2 files changed, 100 insertions(+) diff --git a/dev-util/kdstatemachineeditor/Manifest b/dev-util/kdstatemachineeditor/Manifest index 831bcf128600..5910105393dc 100644 --- a/dev-util/kdstatemachineeditor/Manifest +++ b/dev-util/kdstatemachineeditor/Manifest @@ -1 +1,2 @@ DIST kdstatemachineeditor-1.2.8.tar.gz 243271 BLAKE2B 0b44598115d6bf7272ef8a534a857c02141a34070836a010021b8925002f2b87bd590c3c76413904ac52de297bcb322db0dea6d76f5e04947bd98257e2ece229 SHA512 728b8576d2d0b32b285b0fccbd698b426c557ab08470fc4ec044ec5acce5dc7a394c183d24ae3e9cde02d872b3eaef6b60424a3acd22052508b2456b0dad10a3 +DIST KDStateMachineEditor-v2.0.0.tar.gz 1008123 BLAKE2B 5aa60276b91bfec01528300d6d80872a586baf1ef5f76b0b2afb058bed84d4a2400a302b9bbd647cb82e69ca9daad5f1fc14d1b758bdce88010d51a147444e39 SHA512 dedd7166f434689cd5acf4ee3172169d3f77182269d3187f0a7a12966467dd5c7733e3ff64cd1fd03b0f3866c2aafa37cc3f2d7b8a3f4a5d8a7592da039de7af diff --git a/dev-util/kdstatemachineeditor/kdstatemachineeditor-2.0.0.ebuild b/dev-util/kdstatemachineeditor/kdstatemachineeditor-2.0.0.ebuild new file mode 100644 index 000000000000..087476985050 --- /dev/null +++ b/dev-util/kdstatemachineeditor/kdstatemachineeditor-2.0.0.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +MY_PN="KDStateMachineEditor" +MY_P="${MY_PN}-${PV}" + +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}/${MY_PN}-v${PV}.tar.gz" + KEYWORDS="~amd64" + S="${WORKDIR}/${MY_P}" +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] + ) + 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() { + local mycmakeargs=( + -DKDSME_DOCS=$(usex doc) + -DKDSME_EXAMPLES=OFF + -DKDSME_INTERNAL_GRAPHVIZ=OFF + -DKDSME_QT6=ON + ) + + use doc && mycmakeargs+=( + -DQCH_INSTALL_DIR="${EPREFIX}/usr/share/doc/${PF}/" # prevent ${PF}-qt6 + -DQHELPGEN_EXECUTABLE="${EPREFIX}/usr/$(get_libdir)/qt6/libexec/qhelpgenerator" + ) + + 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 + + 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 "${ED}"/usr/share/doc/${PF}/${PN}{-api.qch,.tags} +}
