diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-04 16:47:34 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-04 16:47:34 -0500 |
| commit | dda948891d3731927b821ce31f9d9a2d03ba20c5 (patch) | |
| tree | 99cd40be4cbb0606260da212cd81b8ab2db9da9b /sci-libs/plplot | |
| parent | a3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7 (diff) | |
| download | baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.gz baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.xz baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.zip | |
Adding metadata
Diffstat (limited to 'sci-libs/plplot')
| -rw-r--r-- | sci-libs/plplot/Manifest | 2 | ||||
| -rw-r--r-- | sci-libs/plplot/files/plplot-5.15.0_p15-sighandler_t.patch | 15 | ||||
| -rw-r--r-- | sci-libs/plplot/files/plplot-5.15.0_p6-configure-c99.patch | 18 | ||||
| -rw-r--r-- | sci-libs/plplot/metadata.xml | 18 | ||||
| -rw-r--r-- | sci-libs/plplot/plplot-5.15.0_p15-r1.ebuild | 292 |
5 files changed, 345 insertions, 0 deletions
diff --git a/sci-libs/plplot/Manifest b/sci-libs/plplot/Manifest new file mode 100644 index 000000000000..8ad597717c3b --- /dev/null +++ b/sci-libs/plplot/Manifest @@ -0,0 +1,2 @@ +DIST plplot-5.15.0.tar.gz 15380293 BLAKE2B 41f359c4e86c7a26fe53a9d82a9f02aeb97b5b6f44abca590621640c56e50a62823e8a03165a939689f5456cee419b8292ea34faccd07641bd4a953b6f1d73fe SHA512 54533245569b724a7ef90392cc6e9ae65873e6cbab923df0f841c8b43def5e4307690894c7681802209bd3c8df97f54285310a706428f79b3340cce3207087c8 +DIST plplot_5.15.0+dfsg2-15.debian.tar.xz 76988 BLAKE2B a4be40f40e30a8ea76c5c23e41db578de72847dc1b028bcb3aaf9ce889f27774941abede6eeced22479e867b3f7c1d7a365e94db4c7cb8284f1d9d210ae59634 SHA512 6bcd80d502e51120dd8c1a7d49ecc26ac0ba4e953acd9dc1cf8f3af2e13b01e776ddc8f885d0264e9db9fc3fb9309b204e3ef0b14d1e8b039e17cd9bba2af3e1 diff --git a/sci-libs/plplot/files/plplot-5.15.0_p15-sighandler_t.patch b/sci-libs/plplot/files/plplot-5.15.0_p15-sighandler_t.patch new file mode 100644 index 000000000000..4ee883c1b2de --- /dev/null +++ b/sci-libs/plplot/files/plplot-5.15.0_p15-sighandler_t.patch @@ -0,0 +1,15 @@ +--- a/drivers/test-drv-info.c ++++ b/drivers/test-drv-info.c +@@ -36,10 +36,10 @@ + #define DRVSPEC_LEN 400 + + // function prototype +-RETSIGTYPE catch_segv( int sig ); ++void catch_segv( int sig ); + + // SEGV signal handler +-RETSIGTYPE ++void + catch_segv( int PL_UNUSED( sig ) ) + { + fprintf( stderr, "libltdl error: %s\n", lt_dlerror() ); diff --git a/sci-libs/plplot/files/plplot-5.15.0_p6-configure-c99.patch b/sci-libs/plplot/files/plplot-5.15.0_p6-configure-c99.patch new file mode 100644 index 000000000000..60bb7aaf4501 --- /dev/null +++ b/sci-libs/plplot/files/plplot-5.15.0_p6-configure-c99.patch @@ -0,0 +1,18 @@ +https://bugs.gentoo.org/879761 +https://sourceforge.net/p/plplot/patches/37/ + +Avoid implicitly declaring exit. Future compilers will not support +implicit function declarations, so this cmake probe will always fail. + +--- a/cmake/modules/TestForHighBitCharacters.c ++++ b/cmake/modules/TestForHighBitCharacters.c +@@ -17,6 +17,6 @@ int + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) +- exit(1); +- exit (0); ++ return 1; ++ return 0; + } + diff --git a/sci-libs/plplot/metadata.xml b/sci-libs/plplot/metadata.xml new file mode 100644 index 000000000000..93f560a4ef48 --- /dev/null +++ b/sci-libs/plplot/metadata.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>sci@gentoo.org</email> + <name>Gentoo Science Project</name> + </maintainer> + <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> + <use> + <flag name="dynamic">Build with dynamic drivers</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> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/sci-libs/plplot/plplot-5.15.0_p15-r1.ebuild b/sci-libs/plplot/plplot-5.15.0_p15-r1.ebuild new file mode 100644 index 000000000000..a55e30e26fa7 --- /dev/null +++ b/sci-libs/plplot/plplot-5.15.0_p15-r1.ebuild @@ -0,0 +1,292 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +WX_GTK_VER=3.2-gtk3 +FORTRAN_NEEDED=fortran +LUA_COMPAT=( lua5-{1,3,4} luajit ) +PYTHON_COMPAT=( python3_{13..14} ) +# 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 lua-single python-single-r1 virtualx wxwidgets + +DESCRIPTION="Multi-language scientific plotting library" +HOMEPAGE="https://plplot.sourceforge.net" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P/_p*}.tar.gz + mirror://debian/pool/main/${PN:0:1}/${PN}/${PN}_${PV/_p*}+dfsg2-${PV/*_p}.debian.tar.xz" +S="${WORKDIR}/${P/_p*}" + +LICENSE="LGPL-2" +SLOT="0/14" # SONAME of libplplot.so +KEYWORDS="~amd64 ~x86" + +IUSE="cairo cxx doc +dynamic examples fortran gd java jpeg latex lua ocaml octave pdf + png python qhull shapefile svg tcl test threads tk truetype wxwidgets X" +REQUIRED_USE=" + lua? ( ${LUA_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} ) + test? ( latex ) + tk? ( tcl ) +" + +RESTRICT=" + !test? ( test ) + octave? ( test ) +" + +RDEPEND=" + cairo? ( x11-libs/cairo:0=[svg(+)?,X] ) + gd? ( media-libs/gd:2=[jpeg?,png?] ) + java? ( >=virtual/jre-1.8:* ) + latex? ( + app-text/ghostscript-gpl + virtual/latex-base + ) + lua? ( ${LUA_DEPS} ) + ocaml? ( + dev-lang/ocaml:= + dev-ml/camlidl:= + ) + octave? ( sci-mathematics/octave:0= ) + pdf? ( media-libs/libharu:0= ) + python? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + >=dev-python/numpy-2[${PYTHON_USEDEP}] + ') + ) + qhull? ( media-libs/qhull:0= ) + 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.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 + ) +" + +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() { + cmake_src_prepare + + # Debian patches + for p in $(<"${WORKDIR}"/debian/patches/series) ; do + eapply -p1 "${WORKDIR}/debian/patches/${p}" + done + eapply "${FILESDIR}"/${PN}-5.15.0_p6-configure-c99.patch + eapply "${FILESDIR}"/${PN}-5.15.0_p15-sighandler_t.patch + + # 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() { + use wxwidgets && setup-wxwidgets + + # - 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 + -DUSE_RPATH=OFF + -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=OFF # bug #953991 + + ## Tests + -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) + -DENABLE_octave=$(usex octave) + -DENABLE_python=$(usex python) + -DENABLE_qt=OFF # bug #953991 + -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=OFF # bug #953991 + -DPLD_bmpqt=OFF # bug #953991 + -DPLD_epsqt=OFF # bug #953991 + -DPLD_extqt=OFF # bug #953991 + -DPLD_jpgqt=OFF # bug #953991 + -DPLD_memqt=OFF # bug #953991 + -DPLD_pdfqt=OFF # bug #953991 + -DPLD_pngqt=OFF # bug #953991 + -DPLD_ppmqt=OFF # bug #953991 + -DPLD_qtwidget=OFF # bug #953991 + -DPLD_svgqt=OFF # bug #953991 + -DPLD_tiffqt=OFF # bug #953991 + # 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 lua && mycmakeargs+=( + -DREQUIRED_LUA_VERSION=$(lua_get_version) + ) + use ocaml && mycmakeargs+=( + -DOCAML_INSTALL_DIR="$(ocamlc -where)" + ) + use python && mycmakeargs+=( + -DENABLE_pyqt5=OFF # bug #953991 + ) + + cmake_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_src_test +} + +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 + 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/libplplotjavac_wrap.so + fi +} |
