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@parhuet.fr>
Part-of: https://github.com/gentoo/gentoo/pull/45115
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Nicolas PARLANT
2025-12-21 13:35:44 +01:00
committed by Sam James
parent 7427112de3
commit 270e046570
3 changed files with 116 additions and 0 deletions

View File

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

View File

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

View File

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