commit: 270e046570595e2c3db3b8b44f799d85b7b56b0a Author: Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr> AuthorDate: Sun Dec 21 12:35:44 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Tue Dec 30 13:17:34 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=270e0465
sci-libs/jkqtplotter: add 5.0.0_beta1 Same content as the pre-version in tree, but finally tagged as beta1 to facilitate packaging in distribs (use in avogadrolibs) add a patch to avoid Qt5 Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr> Part-of: https://github.com/gentoo/gentoo/pull/45115 Signed-off-by: Sam James <sam <AT> gentoo.org> sci-libs/jkqtplotter/Manifest | 1 + .../files/jkqtplotter-5.0.0_beta1-qt6.patch | 18 ++++ .../jkqtplotter/jkqtplotter-5.0.0_beta1.ebuild | 97 ++++++++++++++++++++++ 3 files changed, 116 insertions(+) diff --git a/sci-libs/jkqtplotter/Manifest b/sci-libs/jkqtplotter/Manifest index 0c44d05cc8e7..7a05db742b9b 100644 --- a/sci-libs/jkqtplotter/Manifest +++ b/sci-libs/jkqtplotter/Manifest @@ -1 +1,2 @@ +DIST jkqtplotter-5.0.0_beta1.tar.gz 93991427 BLAKE2B 0ad8cf040e05fa62a35c8755abf0a0fb58b8b388dc0f2d21f521fe2f373b14b2282f6eef0a3e42d7c6dba3e7ab1a076780637e550bbf37513ab24345c5773ca2 SHA512 57a456b4bd0ccf9e295cd5c2783ea44611af9fab12e060f60751027a0a705325e6054a4a293c952123986e7c7ed0a792b71bf548c6fdc2b3d52385e84c09b6ce DIST jkqtplotter-5.0.0_pre20251013.tar.gz 94004704 BLAKE2B 99af83e3c2a06874dbaa5c2d39c4f1b88fb76cea1bfd47b5b8daadd437cb96bc92254f5d7c5b0e163aec55eedcc7c175f2fd4b87c1b6ace04a8129f0e4f6707c SHA512 035760a88772236d7411d0ad289e79e0540803a8c2405c5fee94be596925d383d090cc70fde6f17737d669e0ce44fd9399262b0e3a2e630371c78c5361829ee1 diff --git a/sci-libs/jkqtplotter/files/jkqtplotter-5.0.0_beta1-qt6.patch b/sci-libs/jkqtplotter/files/jkqtplotter-5.0.0_beta1-qt6.patch new file mode 100644 index 000000000000..a2e6745b8128 --- /dev/null +++ b/sci-libs/jkqtplotter/files/jkqtplotter-5.0.0_beta1-qt6.patch @@ -0,0 +1,18 @@ +see https://bugs.gentoo.org/966047 +PR pending https://github.com/jkriege2/JKQtPlotter/pull/156.patch +avoid Qt5 automagic, respect an exported value of QT_VERSION_MAJOR +--- a/cmake/jkqtplotter_common_qtsettings.cmake ++++ b/cmake/jkqtplotter_common_qtsettings.cmake +@@ -4,7 +4,11 @@ set(CMAKE_AUTOMOC ON) + set(CMAKE_AUTORCC ON) + set(CMAKE_AUTOUIC ON) + +-find_package(QT NAMES Qt6 Qt5 COMPONENTS Core REQUIRED) ++if(QT_VERSION_MAJOR) ++ find_package(QT NAMES Qt${QT_VERSION_MAJOR} COMPONENTS Core REQUIRED) ++else() ++ find_package(QT NAMES Qt6 Qt5 COMPONENTS Core REQUIRED) ++endif() + + if(QT_VERSION_MAJOR LESS 5) + message(FATAL_ERROR "Minimum supported Qt version is 5, but you are trying to compile against Qt${QT_VERSION_MAJOR}") diff --git a/sci-libs/jkqtplotter/jkqtplotter-5.0.0_beta1.ebuild b/sci-libs/jkqtplotter/jkqtplotter-5.0.0_beta1.ebuild new file mode 100644 index 000000000000..28536b22b2e6 --- /dev/null +++ b/sci-libs/jkqtplotter/jkqtplotter-5.0.0_beta1.ebuild @@ -0,0 +1,97 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +MY_PN="JKQtPlotter" +DESCRIPTION="Extensive Qt Plotter framework" +HOMEPAGE="https://jkriege2.github.io/JKQtPlotter/" +if [[ ${PV} == *9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/jkriege2/${MY_PN}.git" +else + SRC_URI="https://github.com/jkriege2/JKQtPlotter/archive/v${PV/_/-}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" + S="${WORKDIR}/${MY_PN}-${PV/_/-}" +fi + +LICENSE="LGPL-2.1+" +SLOT="0/5" +IUSE="doc test" +RESTRICT="!test? ( test )" + +DEPEND=" + dev-qt/qtbase:6[gui,opengl,widgets,xml] + dev-qt/qtsvg:6 +" +RDEPEND=" + ${DEPEND} + dev-texlive/texlive-fontsextra +" +BDEPEND=" + doc? ( + app-text/doxygen + dev-texlive/texlive-latex + media-gfx/graphviz[cairo] + ) +" + +PATCHES=( + # bug #966047, https://github.com/jkriege2/JKQtPlotter/pull/156.patch + "${FILESDIR}"/${PN}-5.0.0_beta1-qt6.patch +) + +src_configure() { + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DJKQtPlotter_BUILD_DECORATE_LIBNAMES_WITH_BUILDTYPE=OFF + -DJKQtPlotter_BUILD_EXAMPLES=OFF + -DJKQtPlotter_BUILD_INCLUDE_FIRAMATH_FONTS=OFF # texlive-fontsextra + -DJKQtPlotter_BUILD_INCLUDE_XITS_FONTS=OFF # texlive-fontsextra + -DJKQtPlotter_BUILD_LIB_JKQTFASTPLOTTER=OFF # deprecated + -DJKQtPlotter_BUILD_LIB_JKQTPLOTTER=ON + -DJKQtPlotter_BUILD_TESTS=$(usex test) + -DJKQtPlotter_BUILD_TOOLS=ON + -DJKQtPlotter_BUILD_WITH_PRECOMPILED_HEADERS=OFF + -DJKQtPlotter_ENABLED_CXX20=ON + -DJKQtPlotter_HAS_NO_PRINTER_SUPPORT=OFF + -DQT_VERSION_MAJOR=6 + ) + + cmake_src_configure +} + +src_compile() { + cmake_src_compile + + if use doc; then + doxygen Doxyfile || die + fi +} + +src_test() { + if use x86; then + local CMAKE_SKIP_TESTS+=( + #JKQTPStringToolsTest.test_jkqtp_floattounitstr + JKQTPStringTools_test + ) + fi + + local -x QT_QPA_PLATFORM=offscreen + LD_LIBRARY_PATH="${BUILD_DIR}/output" cmake_src_test +} + +src_install() { + use doc && local HTML_DOCS=( doc/html/. ) + + cmake_src_install + + rm "${ED}"/usr/share/doc/${PF}/LICENSE || die + + # don't install test binaries + if use test; then + rm "${ED}"/usr/bin/*{benchmark,test}* || die + fi +}
