aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAstroFloyd <AstroFloyd@gmail.com>2023-05-18 11:38:04 +0200
committerAstroFloyd <AstroFloyd@gmail.com>2023-05-18 11:38:04 +0200
commit8602db94fcb7b4682f76d94f4cbc706abe6b1d9b (patch)
treefbf0a82ea441d7fc42cac9f757eda62622696f56
parentsci-libs/plplot: revision bump to v5.15.0-r2. (diff)
downloadAstroFloyd-8602db94fcb7b4682f76d94f4cbc706abe6b1d9b.tar.gz
AstroFloyd-8602db94fcb7b4682f76d94f4cbc706abe6b1d9b.tar.bz2
AstroFloyd-8602db94fcb7b4682f76d94f4cbc706abe6b1d9b.zip
sci-libs/plplot: revision bump to v5.15.0-r2.
Signed-off-by: AstroFloyd <AstroFloyd@gmail.com>
-rw-r--r--sci-libs/plplot/metadata.xml28
-rw-r--r--sci-libs/plplot/plplot-5.13.0-r1.ebuild283
-rw-r--r--sci-libs/plplot/plplot-5.14.0-r2.ebuild144
-rw-r--r--sci-libs/plplot/plplot-5.15.0-r2.ebuild146
4 files changed, 173 insertions, 428 deletions
diff --git a/sci-libs/plplot/metadata.xml b/sci-libs/plplot/metadata.xml
index 93b58c1..f306f1a 100644
--- a/sci-libs/plplot/metadata.xml
+++ b/sci-libs/plplot/metadata.xml
@@ -2,23 +2,21 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<longdescription lang="en">
- PLplot is a library of functions that are useful for making scientific
- plots. It can be used from within compiled languages such as C, C++,
- FORTRAN and Java, as well as interactively from interpreted languages such
- as Octave, Python, Perl and Tcl. It is capable of producing standard x-y
- plots, semilog plots, log-log plots, contour plots, 3D surface plots, mesh
- plots, bar charts and pie charts. Multiple graphs may be composited, and it
- also supports a large variety of output file devices such as Postscript,
- PNG, JPEG, LaTeX and others. It is also possible to to use interactive
- devices such as xwin, tk and xterm as output devices. PLplot also offers
- support for extended characters inculding the Greek alphabet and a host of
- mathematical symbols.
-</longdescription>
+ PLplot is a library of functions that are useful for making scientific
+ plots. It can be used from within compiled languages such as C, C++,
+ FORTRAN and Java, as well as interactively from interpreted languages such
+ as Octave, Python, Perl and Tcl. It is capable of producing standard x-y
+ plots, semilog plots, log-log plots, contour plots, 3D surface plots, mesh
+ plots, bar charts and pie charts. Multiple graphs may be composited, and it
+ also supports a large variety of output file devices such as Postscript,
+ PNG, JPEG, LaTeX and others. It is also possible to to use interactive
+ devices such as xwin, tk and xterm as output devices. PLplot also offers
+ support for extended characters inculding the Greek alphabet and a host of
+ mathematical symbols.
+ </longdescription>
<use>
<flag name="dynamic">Build with dynamic drivers</flag>
- <flag name="octave">Add bindings for
- <pkg>sci-mathematics/octave</pkg></flag>
- <flag name="pdl">Add bindings for <pkg>dev-perl/PDL</pkg></flag>
+ <flag name="octave">Add bindings for <pkg>sci-mathematics/octave</pkg></flag>
<flag name="qhull">Add bindings for <pkg>media-libs/qhull</pkg></flag>
<flag name="shapefile">Enable support for ESRI shapefiles</flag>
</use>
diff --git a/sci-libs/plplot/plplot-5.13.0-r1.ebuild b/sci-libs/plplot/plplot-5.13.0-r1.ebuild
deleted file mode 100644
index 31df733..0000000
--- a/sci-libs/plplot/plplot-5.13.0-r1.ebuild
+++ /dev/null
@@ -1,283 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-WX_GTK_VER=3.0-gtk3
-FORTRAN_NEEDED=fortran
-FORTRAN_STANDARD=95
-PYTHON_COMPAT=( python{2_7,3_6,3_7,3_8,3_9} )
-
-inherit cmake flag-o-matic fortran-2 java-pkg-opt-2 python-single-r1 toolchain-funcs virtualx wxwidgets
-
-DESCRIPTION="Multi-language scientific plotting library"
-HOMEPAGE="http://plplot.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-2"
-SLOT="0/14" # SONAME of libplplot.so
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="cairo cxx doc +dynamic examples fortran gd java jpeg latex lua ocaml octave pdf
- pdl png python qhull qt5 shapefile svg tcl test threads tk truetype wxwidgets X"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) qt5? ( dynamic ) test? ( latex ) tk? ( tcl )"
-RESTRICT="octave? ( test )"
-
-RDEPEND="
- cairo? ( x11-libs/cairo:0=[svg?,X] )
- gd? ( media-libs/gd:2=[jpeg?,png?] )
- java? ( >=virtual/jre-1.5:* )
- latex? (
- app-text/ghostscript-gpl
- virtual/latex-base
- )
- lua? ( dev-lang/lua:0= )
- ocaml? (
- dev-lang/ocaml
- dev-ml/camlidl
- cairo? ( dev-ml/cairo-ocaml[gtk] )
- )
- octave? ( sci-mathematics/octave:0= )
- pdf? ( media-libs/libharu:0= )
- pdl? (
- dev-perl/PDL
- dev-perl/XML-DOM
- )
- python? (
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- qt5? ( dev-python/PyQt5[${PYTHON_USEDEP}] )
- ')
- )
- qhull? ( media-libs/qhull:0= )
- qt5? (
- dev-qt/qtgui:5
- dev-qt/qtsvg:5
- dev-qt/qtprintsupport:5
- )
- shapefile? ( sci-libs/shapelib:0= )
- tcl? (
- dev-lang/tcl:0=
- dev-tcltk/itcl:0=
- tk? (
- dev-lang/tk:0=
- dev-tcltk/itk
- )
- )
- truetype? (
- media-fonts/freefont
- media-libs/lasi:0=
- gd? ( media-libs/gd:2=[truetype] )
- )
- wxwidgets? (
- x11-libs/wxGTK:${WX_GTK_VER}=[X]
- x11-libs/agg:0=[truetype?]
- )
- X? (
- x11-libs/libX11:0=
- x11-libs/libXau:0=
- x11-libs/libXdmcp:0=
- )"
-
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- java? (
- >=virtual/jdk-1.5
- dev-lang/swig
- )
- ocaml? ( dev-ml/findlib )
- octave? ( >=dev-lang/swig-3.0.12 )
- python? ( dev-lang/swig )
- test? (
- media-fonts/font-misc-misc
- media-fonts/font-cursor-misc
- )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-5.9.6-python.patch
- "${FILESDIR}"/${PN}-5.11.0-octave.patch
- "${FILESDIR}"/${PN}-5.12.0-multiarch.patch
- "${FILESDIR}"/${PN}-5.12.0-java-install-path.patch
- "${FILESDIR}"/${PN}-5.12.0-ocaml-remove-rpath.patch
-)
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
- use java && java-pkg-opt-2_pkg_setup
- use fortran && fortran-2_pkg_setup
-}
-
-#src_prepare() {
-# use wxwidgets && need-wxwidgets unicode
-# cmake-utils_src_prepare
-#
-# # avoid installing license
-# sed -i -e '/COPYING.LIB/d' CMakeLists.txt || die
-#
-# # prexify hard-coded /usr/include in cmake modules
-# sed -i \
-# -e "s:/usr/include:${EPREFIX}/usr/include:g" \
-# -e "s:/usr/lib:${EPREFIX}/usr/$(get_libdir):g" \
-# -e "s:/usr/share:${EPREFIX}/usr/share:g" \
-# cmake/modules/*.cmake || die
-#
-# # change default install directories for doc and examples
-# local f
-# while IFS="" read -d $'\0' -r f; do
-# sed -i -e 's:${DATA_DIR}/examples:${DOC_DIR}/examples:g' "${f}" || die
-# done < <(find "${S}" -name CMakeLists.txt -print0)
-#
-# sed -i \
-# -e 's:${VERSION}::g' \
-# -e "s:doc/\${PACKAGE}:doc/${PF}:" \
-# cmake/modules/instdirs.cmake || die
-#
-# java-utils-2_src_prepare
-#}
-
-src_configure() {
- # - don't build doc, it pulls in a whole stack of horrible dependencies
- # - Bindings:
- # * Ada is a mess in Gentoo, don't use
- # * D has been removed from Gentoo, don't use
- # * Qt4 has been disabled, as it is deprecated and unsupported upstream
- # - DPLD_* drivers need to use ON/OFF instead of the usex defaults yes/no, as
- # the testsuite performs a string comparison to determine which tests to run
-
- # Octave bindings now require C++11 support, #609980
- append-cxxflags -std=c++11
-
- local mycmakeargs=(
- # The build system does not honour CMAKE_INSTALL_LIBDIR as a
- # relative dir, which is against the spirit of GNUInstallDirs, #610066
- -DCMAKE_INSTALL_LIBDIR="${EPREFIX}"/usr/$(get_libdir)
-
- ## Features
- -DBUILD_DOC=OFF
- -DBUILD_DOX_DOC=OFF
- -DCMAKE_SKIP_RPATH=ON
- -DPREBUILT_DOC=$(usex doc)
- -DHAVE_SHAPELIB=$(usex shapefile)
- -DWITH_FREETYPE=$(usex truetype)
- -DPL_HAVE_PTHREAD=$(usex threads)
- -DPL_HAVE_QHULL=$(usex qhull)
- -DPLPLOT_USE_QT5=$(usex qt5)
-
- ## Tests
- -DTEST_DYNDRIVERS=OFF
- -DBUILD_TEST=$(usex test)
-
- ## Bindings
- -DENABLE_ada=OFF
- -DENABLE_d=OFF
- -DENABLE_ocaml=$(usex ocaml)
- -DENABLE_pyqt4=OFF
- -DENABLE_cxx=$(usex cxx)
- -DENABLE_DYNDRIVERS=$(usex dynamic)
- -DENABLE_fortran=$(usex fortran)
- -DENABLE_java=$(usex java)
- -DENABLE_lua=$(usex lua)
- -DTRY_OCTAVE4=$(usex octave)
- -DENABLE_octave=$(usex octave)
- -DENABLE_pdl=$(usex pdl)
- -DENABLE_python=$(usex python)
- -DENABLE_qt=$(usex qt5)
- -DENABLE_tcl=$(usex tcl)
- -DENABLE_itcl=$(usex tcl)
- -DENABLE_tk=$(usex tk)
- -DENABLE_itk=$(usex tk)
- -DENABLE_wxwidgets=$(usex wxwidgets)
-
- ## Drivers
- -DPLD_cgm=OFF
- -DPLD_gif=OFF
- -DPLD_jpeg=OFF
- -DPLD_plmeta=OFF
- -DPLD_png=OFF
- -DPLD_pstex=OFF
- -DPLD_wxpng=OFF
- -DPLD_mem=ON
- -DPLD_null=ON
- -DPLD_wingcc=ON
- # Cairo
- $(usex cairo "" "-DDEFAULT_NO_CAIRO_DEVICES=ON")
- -DPLD_epscairo=$(usex cairo ON OFF)
- -DPLD_extcairo=$(usex cairo ON OFF)
- -DPLD_memcairo=$(usex cairo ON OFF)
- -DPLD_pdfcairo=$(usex cairo ON OFF)
- -DPLD_pngcairo=$(usex cairo ON OFF)
- -DPLD_pscairo=$(usex cairo ON OFF)
- -DPLD_svgcairo=$(usex cairo ON OFF)
- -DPLD_xcairo=$(usex cairo ON OFF)
- # LaTeX
- -DPLD_ps=$(usex latex ON OFF)
- # PDF
- -DPLD_pdf=$(usex pdf ON OFF)
- # Qt
- -DPLD_aqt=$(usex qt5 ON OFF)
- -DPLD_bmpqt=$(usex qt5 ON OFF)
- -DPLD_epsqt=$(usex qt5 ON OFF)
- -DPLD_extqt=$(usex qt5 ON OFF)
- -DPLD_jpgqt=$(usex qt5 ON OFF)
- -DPLD_memqt=$(usex qt5 ON OFF)
- -DPLD_pdfqt=$(usex qt5 ON OFF)
- -DPLD_pngqt=$(usex qt5 ON OFF)
- -DPLD_ppmqt=$(usex qt5 ON OFF)
- -DPLD_qtwidget=$(usex qt5 ON OFF)
- -DPLD_svgqt=$(usex qt5 ON OFF)
- -DPLD_tiffqt=$(usex qt5 ON OFF)
- # SVG
- -DPLD_svg=$(usex svg ON OFF)
- # Tk
- -DPLD_ntk=$(usex tk ON OFF)
- -DPLD_tk=$(usex tk ON OFF)
- -DPLD_tkwin=$(usex tk ON OFF)
- # Truetype
- -DPLD_psttf=$(usex truetype ON OFF)
- # Wx
- -DPLD_wxwidgets=$(usex wxwidgets ON OFF)
- # X
- -DPLD_xfig=$(usex X ON OFF)
- -DPLD_xwin=$(usex X ON OFF)
- )
-
- use truetype && mycmakeargs+=(
- -DPL_FREETYPE_FONT_PATH="${EPREFIX}"/usr/share/fonts/freefont
- )
- use shapefile && mycmakeargs+=(
- -DSHAPELIB_INCLUDE_DIR="${EPREFIX}"/usr/include/libshp
- )
- use ocaml && mycmakeargs+=(
- -DOCAML_INSTALL_DIR="$(ocamlc -where)"
- )
- use python && mycmakeargs+=(
- -DENABLE_pyqt5=$(usex qt5)
- )
-
- cmake-utils_src_configure
-
- # clean up bloated pkg-config files (help linking properly on prefix)
- sed -i \
- -e "/Cflags/s:-I\(${EPREFIX}\|\)/usr/include[[:space:]]::g" \
- -e "/Libs/s:-L\(${EPREFIX}\|\)/usr/lib\(64\|\)[[:space:]]::g" \
- -e "s:${LDFLAGS}::g" \
- "${BUILD_DIR}"/pkgcfg/*pc || die
-}
-
-src_test() {
- virtx cmake-utils_src_test
-}
-
-src_install() {
- cmake-utils_src_install
-
- if use examples; then
- docompress -x /usr/share/doc/${PF}/examples
- else
- rm -r "${ED%/}"/usr/share/doc/${PF}/examples || die
- fi
-
- if use java; then
- java-pkg_dojar "${BUILD_DIR}"/examples/java/${PN}.jar
- java-pkg_regso "${EPREFIX}"/usr/$(get_libdir)/jni/plplotjavac_wrap.so
- fi
-}
diff --git a/sci-libs/plplot/plplot-5.14.0-r2.ebuild b/sci-libs/plplot/plplot-5.14.0-r2.ebuild
index b054f90..d4203ac 100644
--- a/sci-libs/plplot/plplot-5.14.0-r2.ebuild
+++ b/sci-libs/plplot/plplot-5.14.0-r2.ebuild
@@ -1,55 +1,61 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
WX_GTK_VER=3.0-gtk3
FORTRAN_NEEDED=fortran
-FORTRAN_STANDARD=95
-PYTHON_COMPAT=( python{2_7,3_6,3_7,3_8,3_9} )
+LUA_COMPAT=( lua5-1 )
+PYTHON_COMPAT=( python3_{9..11} )
+# fails with ninja, due to USE=java missing swig output dependencies
+CMAKE_MAKEFILE_GENERATOR=emake
-inherit cmake flag-o-matic fortran-2 java-pkg-opt-2 python-single-r1 toolchain-funcs virtualx wxwidgets
+inherit cmake flag-o-matic fortran-2 java-pkg-opt-2 lua-single python-single-r1 virtualx wxwidgets
DESCRIPTION="Multi-language scientific plotting library"
-HOMEPAGE="http://plplot.sourceforge.net/"
+HOMEPAGE="https://plplot.sourceforge.net"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="LGPL-2"
SLOT="0/14" # SONAME of libplplot.so
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
IUSE="cairo cxx doc +dynamic examples fortran gd java jpeg latex lua ocaml octave pdf
- pdl png python qhull qt5 shapefile svg tcl test threads tk truetype wxwidgets X"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) qt5? ( dynamic ) test? ( latex ) tk? ( tcl )"
-RESTRICT="octave? ( test )"
+ png python qhull qt5 shapefile svg tcl test threads tk truetype wxwidgets X"
+REQUIRED_USE="
+ lua? ( ${LUA_REQUIRED_USE} )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ qt5? ( dynamic )
+ test? ( latex )
+ tk? ( tcl )
+"
+
+RESTRICT="
+ !test? ( test )
+ octave? ( test )
+"
RDEPEND="
- cairo? (
- x11-libs/cairo:0=[svg?,X]
- x11-libs/pango:0=[X]
- )
+ cairo? ( x11-libs/cairo:0=[svg(+)?,X] )
gd? ( media-libs/gd:2=[jpeg?,png?] )
- java? ( >=virtual/jre-1.5:* )
+ java? ( >=virtual/jre-1.8:* )
latex? (
app-text/ghostscript-gpl
virtual/latex-base
)
- lua? ( dev-lang/lua:0= )
+ lua? ( ${LUA_DEPS} )
ocaml? (
- dev-lang/ocaml
- dev-ml/camlidl
- cairo? ( dev-ml/cairo-ocaml[gtk] )
+ dev-lang/ocaml:=
+ dev-ml/camlidl:=
)
octave? ( sci-mathematics/octave:0= )
pdf? ( media-libs/libharu:0= )
- pdl? (
- dev-perl/PDL
- dev-perl/XML-DOM
- )
python? (
+ ${PYTHON_DEPS}
$(python_gen_cond_dep '
dev-python/numpy[${PYTHON_USEDEP}]
qt5? ( dev-python/PyQt5[${PYTHON_USEDEP}] )
- ')
+ ')
)
qhull? ( media-libs/qhull:0= )
qt5? (
@@ -84,58 +90,64 @@ RDEPEND="
DEPEND="${RDEPEND}
virtual/pkgconfig
java? (
- >=virtual/jdk-1.5
+ >=virtual/jdk-1.8:*
dev-lang/swig
)
+ lua? ( dev-lang/swig )
ocaml? ( dev-ml/findlib )
octave? ( >=dev-lang/swig-3.0.12 )
python? ( dev-lang/swig )
test? (
media-fonts/font-misc-misc
media-fonts/font-cursor-misc
- )"
+ )
+"
PATCHES=(
"${FILESDIR}"/${PN}-5.9.6-python.patch
- "${FILESDIR}"/${PN}-5.11.0-octave.patch
- "${FILESDIR}"/${PN}-5.12.0-multiarch.patch
- "${FILESDIR}"/${PN}-5.12.0-java-install-path.patch
- "${FILESDIR}"/${PN}-5.12.0-ocaml-remove-rpath.patch
+
+ # Fedora patches
+ "${FILESDIR}"/${PN}-5.15.0-ieee.patch
+ "${FILESDIR}"/${PN}-5.15.0-ocaml.patch
+ "${FILESDIR}"/${PN}-5.12.0-safe-string.patch
+ "${FILESDIR}"/${PN}-5.15.0-QPainterPath-include.patch
+ "${FILESDIR}"/${PN}-5.15.0-configure-clang16.patch
)
pkg_setup() {
use python && python-single-r1_pkg_setup
+ use lua && lua-single_pkg_setup
use java && java-pkg-opt-2_pkg_setup
use fortran && fortran-2_pkg_setup
}
-#src_prepare() {
-# use wxwidgets && need-wxwidgets unicode
-# cmake-utils_src_prepare
-#
-# # avoid installing license
-# sed -i -e '/COPYING.LIB/d' CMakeLists.txt || die
-#
-# # prexify hard-coded /usr/include in cmake modules
-# sed -i \
-# -e "s:/usr/include:${EPREFIX}/usr/include:g" \
-# -e "s:/usr/lib:${EPREFIX}/usr/$(get_libdir):g" \
-# -e "s:/usr/share:${EPREFIX}/usr/share:g" \
-# cmake/modules/*.cmake || die
-#
-# # change default install directories for doc and examples
-# local f
-# while IFS="" read -d $'\0' -r f; do
-# sed -i -e 's:${DATA_DIR}/examples:${DOC_DIR}/examples:g' "${f}" || die
-# done < <(find "${S}" -name CMakeLists.txt -print0)
-#
-# sed -i \
-# -e 's:${VERSION}::g' \
-# -e "s:doc/\${PACKAGE}:doc/${PF}:" \
-# cmake/modules/instdirs.cmake || die
-#
-# java-utils-2_src_prepare
-#}
+src_prepare() {
+ use wxwidgets && setup-wxwidgets
+ cmake_src_prepare
+
+ # avoid installing license
+ sed -i -e '/COPYING.LIB/d' CMakeLists.txt || die
+
+ # prexify hard-coded /usr/include in cmake modules
+ sed -i \
+ -e "s:/usr/include:${EPREFIX}/usr/include:g" \
+ -e "s:/usr/lib:${EPREFIX}/usr/$(get_libdir):g" \
+ -e "s:/usr/share:${EPREFIX}/usr/share:g" \
+ cmake/modules/*.cmake || die
+
+ # change default install directories for doc and examples
+ local f
+ while IFS="" read -d $'\0' -r f; do
+ sed -i -e 's:${DATA_DIR}/examples:${DOC_DIR}/examples:g' "${f}" || die
+ done < <(find "${S}" -name CMakeLists.txt -print0)
+
+ sed -i \
+ -e 's:${VERSION}::g' \
+ -e "s:doc/\${PACKAGE}:doc/${PF}:" \
+ cmake/modules/instdirs.cmake || die
+
+ java-utils-2_src_prepare
+}
src_configure() {
# - don't build doc, it pulls in a whole stack of horrible dependencies
@@ -157,7 +169,7 @@ src_configure() {
## Features
-DBUILD_DOC=OFF
-DBUILD_DOX_DOC=OFF
- -DCMAKE_SKIP_RPATH=ON
+ -DUSE_RPATH=OFF
-DPREBUILT_DOC=$(usex doc)
-DHAVE_SHAPELIB=$(usex shapefile)
-DWITH_FREETYPE=$(usex truetype)
@@ -166,7 +178,6 @@ src_configure() {
-DPLPLOT_USE_QT5=$(usex qt5)
## Tests
- -DTEST_DYNDRIVERS=OFF
-DBUILD_TEST=$(usex test)
## Bindings
@@ -179,9 +190,7 @@ src_configure() {
-DENABLE_fortran=$(usex fortran)
-DENABLE_java=$(usex java)
-DENABLE_lua=$(usex lua)
- -DTRY_OCTAVE4=$(usex octave)
-DENABLE_octave=$(usex octave)
- -DENABLE_pdl=$(usex pdl)
-DENABLE_python=$(usex python)
-DENABLE_qt=$(usex qt5)
-DENABLE_tcl=$(usex tcl)
@@ -249,6 +258,9 @@ src_configure() {
use shapefile && mycmakeargs+=(
-DSHAPELIB_INCLUDE_DIR="${EPREFIX}"/usr/include/libshp
)
+ use lua && mycmakeargs+=(
+ -DREQUIRED_LUA_VERSION=$(lua_get_version)
+ )
use ocaml && mycmakeargs+=(
-DOCAML_INSTALL_DIR="$(ocamlc -where)"
)
@@ -256,7 +268,7 @@ src_configure() {
-DENABLE_pyqt5=$(usex qt5)
)
- cmake-utils_src_configure
+ cmake_src_configure
# clean up bloated pkg-config files (help linking properly on prefix)
sed -i \
@@ -267,20 +279,22 @@ src_configure() {
}
src_test() {
- virtx cmake-utils_src_test
+ virtx cmake_src_test
}
src_install() {
- cmake-utils_src_install
+ cmake_src_install
if use examples; then
docompress -x /usr/share/doc/${PF}/examples
else
- rm -r "${ED%/}"/usr/share/doc/${PF}/examples || die
+ rm -r "${ED}"/usr/share/doc/${PF}/examples || die
fi
+ use python && python_optimize
+
if use java; then
java-pkg_dojar "${BUILD_DIR}"/examples/java/${PN}.jar
- java-pkg_regso "${EPREFIX}"/usr/$(get_libdir)/jni/plplotjavac_wrap.so
+ java-pkg_regso "${EPREFIX}"/usr/$(get_libdir)/jni/libplplotjavac_wrap.so
fi
}
diff --git a/sci-libs/plplot/plplot-5.15.0-r2.ebuild b/sci-libs/plplot/plplot-5.15.0-r2.ebuild
index b054f90..5603d28 100644
--- a/sci-libs/plplot/plplot-5.15.0-r2.ebuild
+++ b/sci-libs/plplot/plplot-5.15.0-r2.ebuild
@@ -1,55 +1,61 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
WX_GTK_VER=3.0-gtk3
FORTRAN_NEEDED=fortran
-FORTRAN_STANDARD=95
-PYTHON_COMPAT=( python{2_7,3_6,3_7,3_8,3_9} )
+LUA_COMPAT=( lua5-1 )
+PYTHON_COMPAT=( python3_{9..11} )
+# fails with ninja, due to USE=java missing swig output dependencies
+CMAKE_MAKEFILE_GENERATOR=emake
-inherit cmake flag-o-matic fortran-2 java-pkg-opt-2 python-single-r1 toolchain-funcs virtualx wxwidgets
+inherit cmake flag-o-matic fortran-2 java-pkg-opt-2 lua-single python-single-r1 virtualx wxwidgets
DESCRIPTION="Multi-language scientific plotting library"
-HOMEPAGE="http://plplot.sourceforge.net/"
+HOMEPAGE="https://plplot.sourceforge.net"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="LGPL-2"
SLOT="0/14" # SONAME of libplplot.so
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
IUSE="cairo cxx doc +dynamic examples fortran gd java jpeg latex lua ocaml octave pdf
- pdl png python qhull qt5 shapefile svg tcl test threads tk truetype wxwidgets X"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) qt5? ( dynamic ) test? ( latex ) tk? ( tcl )"
-RESTRICT="octave? ( test )"
+ png python qhull qt5 shapefile svg tcl test threads tk truetype wxwidgets X"
+REQUIRED_USE="
+ lua? ( ${LUA_REQUIRED_USE} )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ qt5? ( dynamic )
+ test? ( latex )
+ tk? ( tcl )
+"
+
+RESTRICT="
+ !test? ( test )
+ octave? ( test )
+"
RDEPEND="
- cairo? (
- x11-libs/cairo:0=[svg?,X]
- x11-libs/pango:0=[X]
- )
+ cairo? ( x11-libs/cairo:0=[svg(+)?,X] )
gd? ( media-libs/gd:2=[jpeg?,png?] )
- java? ( >=virtual/jre-1.5:* )
+ java? ( >=virtual/jre-1.8:* )
latex? (
app-text/ghostscript-gpl
virtual/latex-base
)
- lua? ( dev-lang/lua:0= )
+ lua? ( ${LUA_DEPS} )
ocaml? (
- dev-lang/ocaml
- dev-ml/camlidl
- cairo? ( dev-ml/cairo-ocaml[gtk] )
+ dev-lang/ocaml:=
+ dev-ml/camlidl:=
)
octave? ( sci-mathematics/octave:0= )
pdf? ( media-libs/libharu:0= )
- pdl? (
- dev-perl/PDL
- dev-perl/XML-DOM
- )
python? (
+ ${PYTHON_DEPS}
$(python_gen_cond_dep '
dev-python/numpy[${PYTHON_USEDEP}]
qt5? ( dev-python/PyQt5[${PYTHON_USEDEP}] )
- ')
+ ')
)
qhull? ( media-libs/qhull:0= )
qt5? (
@@ -84,58 +90,66 @@ RDEPEND="
DEPEND="${RDEPEND}
virtual/pkgconfig
java? (
- >=virtual/jdk-1.5
+ >=virtual/jdk-1.8:*
dev-lang/swig
)
+ lua? ( dev-lang/swig )
ocaml? ( dev-ml/findlib )
octave? ( >=dev-lang/swig-3.0.12 )
python? ( dev-lang/swig )
test? (
media-fonts/font-misc-misc
media-fonts/font-cursor-misc
- )"
+ )
+"
PATCHES=(
"${FILESDIR}"/${PN}-5.9.6-python.patch
- "${FILESDIR}"/${PN}-5.11.0-octave.patch
- "${FILESDIR}"/${PN}-5.12.0-multiarch.patch
- "${FILESDIR}"/${PN}-5.12.0-java-install-path.patch
- "${FILESDIR}"/${PN}-5.12.0-ocaml-remove-rpath.patch
+
+ # Fedora patches
+ "${FILESDIR}"/${PN}-5.15.0-ocaml-rpath.patch
+ "${FILESDIR}"/${PN}-5.15.0-ieee.patch
+ "${FILESDIR}"/${PN}-5.15.0-multiarch.patch
+ "${FILESDIR}"/${PN}-5.15.0-ocaml.patch
+ "${FILESDIR}"/${PN}-5.12.0-safe-string.patch
+ "${FILESDIR}"/${PN}-5.15.0-QPainterPath-include.patch
+ "${FILESDIR}"/${PN}-5.15.0-configure-clang16.patch
)
pkg_setup() {
use python && python-single-r1_pkg_setup
+ use lua && lua-single_pkg_setup
use java && java-pkg-opt-2_pkg_setup
use fortran && fortran-2_pkg_setup
}
-#src_prepare() {
-# use wxwidgets && need-wxwidgets unicode
-# cmake-utils_src_prepare
-#
-# # avoid installing license
-# sed -i -e '/COPYING.LIB/d' CMakeLists.txt || die
-#
-# # prexify hard-coded /usr/include in cmake modules
-# sed -i \
-# -e "s:/usr/include:${EPREFIX}/usr/include:g" \
-# -e "s:/usr/lib:${EPREFIX}/usr/$(get_libdir):g" \
-# -e "s:/usr/share:${EPREFIX}/usr/share:g" \
-# cmake/modules/*.cmake || die
-#
-# # change default install directories for doc and examples
-# local f
-# while IFS="" read -d $'\0' -r f; do
-# sed -i -e 's:${DATA_DIR}/examples:${DOC_DIR}/examples:g' "${f}" || die
-# done < <(find "${S}" -name CMakeLists.txt -print0)
-#
-# sed -i \
-# -e 's:${VERSION}::g' \
-# -e "s:doc/\${PACKAGE}:doc/${PF}:" \
-# cmake/modules/instdirs.cmake || die
-#
-# java-utils-2_src_prepare
-#}
+src_prepare() {
+ use wxwidgets && setup-wxwidgets
+ cmake_src_prepare
+
+ # avoid installing license
+ sed -i -e '/COPYING.LIB/d' CMakeLists.txt || die
+
+ # prexify hard-coded /usr/include in cmake modules
+ sed -i \
+ -e "s:/usr/include:${EPREFIX}/usr/include:g" \
+ -e "s:/usr/lib:${EPREFIX}/usr/$(get_libdir):g" \
+ -e "s:/usr/share:${EPREFIX}/usr/share:g" \
+ cmake/modules/*.cmake || die
+
+ # change default install directories for doc and examples
+ local f
+ while IFS="" read -d $'\0' -r f; do
+ sed -i -e 's:${DATA_DIR}/examples:${DOC_DIR}/examples:g' "${f}" || die
+ done < <(find "${S}" -name CMakeLists.txt -print0)
+
+ sed -i \
+ -e 's:${VERSION}::g' \
+ -e "s:doc/\${PACKAGE}:doc/${PF}:" \
+ cmake/modules/instdirs.cmake || die
+
+ java-utils-2_src_prepare
+}
src_configure() {
# - don't build doc, it pulls in a whole stack of horrible dependencies
@@ -157,7 +171,7 @@ src_configure() {
## Features
-DBUILD_DOC=OFF
-DBUILD_DOX_DOC=OFF
- -DCMAKE_SKIP_RPATH=ON
+ -DUSE_RPATH=OFF
-DPREBUILT_DOC=$(usex doc)
-DHAVE_SHAPELIB=$(usex shapefile)
-DWITH_FREETYPE=$(usex truetype)
@@ -166,7 +180,6 @@ src_configure() {
-DPLPLOT_USE_QT5=$(usex qt5)
## Tests
- -DTEST_DYNDRIVERS=OFF
-DBUILD_TEST=$(usex test)
## Bindings
@@ -179,9 +192,7 @@ src_configure() {
-DENABLE_fortran=$(usex fortran)
-DENABLE_java=$(usex java)
-DENABLE_lua=$(usex lua)
- -DTRY_OCTAVE4=$(usex octave)
-DENABLE_octave=$(usex octave)
- -DENABLE_pdl=$(usex pdl)
-DENABLE_python=$(usex python)
-DENABLE_qt=$(usex qt5)
-DENABLE_tcl=$(usex tcl)
@@ -249,6 +260,9 @@ src_configure() {
use shapefile && mycmakeargs+=(
-DSHAPELIB_INCLUDE_DIR="${EPREFIX}"/usr/include/libshp
)
+ use lua && mycmakeargs+=(
+ -DREQUIRED_LUA_VERSION=$(lua_get_version)
+ )
use ocaml && mycmakeargs+=(
-DOCAML_INSTALL_DIR="$(ocamlc -where)"
)
@@ -256,7 +270,7 @@ src_configure() {
-DENABLE_pyqt5=$(usex qt5)
)
- cmake-utils_src_configure
+ cmake_src_configure
# clean up bloated pkg-config files (help linking properly on prefix)
sed -i \
@@ -267,20 +281,22 @@ src_configure() {
}
src_test() {
- virtx cmake-utils_src_test
+ virtx cmake_src_test
}
src_install() {
- cmake-utils_src_install
+ cmake_src_install
if use examples; then
docompress -x /usr/share/doc/${PF}/examples
else
- rm -r "${ED%/}"/usr/share/doc/${PF}/examples || die
+ rm -r "${ED}"/usr/share/doc/${PF}/examples || die
fi
+ use python && python_optimize
+
if use java; then
java-pkg_dojar "${BUILD_DIR}"/examples/java/${PN}.jar
- java-pkg_regso "${EPREFIX}"/usr/$(get_libdir)/jni/plplotjavac_wrap.so
+ java-pkg_regso "${EPREFIX}"/usr/$(get_libdir)/jni/libplplotjavac_wrap.so
fi
}