commit:     34f4e562294da67362411c7e4ec5f130779b22eb
Author:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 24 14:06:35 2023 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Fri Nov 24 14:30:31 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=34f4e562

sci-libs/plplot: add 5.15.0_p6

Apply lots of bugfixes from Debian

Closes: https://bugs.gentoo.org/814971
Closes: https://bugs.gentoo.org/828434
Closes: https://bugs.gentoo.org/832513
Closes: https://bugs.gentoo.org/891885
Signed-off-by: Pacho Ramos <pacho <AT> gentoo.org>

 sci-libs/plplot/Manifest                |   1 +
 sci-libs/plplot/plplot-5.15.0_p6.ebuild | 296 ++++++++++++++++++++++++++++++++
 2 files changed, 297 insertions(+)

diff --git a/sci-libs/plplot/Manifest b/sci-libs/plplot/Manifest
index 782cbdef89d3..114740b9cb03 100644
--- a/sci-libs/plplot/Manifest
+++ b/sci-libs/plplot/Manifest
@@ -1 +1,2 @@
 DIST plplot-5.15.0.tar.gz 15380293 BLAKE2B 
41f359c4e86c7a26fe53a9d82a9f02aeb97b5b6f44abca590621640c56e50a62823e8a03165a939689f5456cee419b8292ea34faccd07641bd4a953b6f1d73fe
 SHA512 
54533245569b724a7ef90392cc6e9ae65873e6cbab923df0f841c8b43def5e4307690894c7681802209bd3c8df97f54285310a706428f79b3340cce3207087c8
+DIST plplot_5.15.0+dfsg2-6.debian.tar.xz 73416 BLAKE2B 
2f0a9be0aea6d77b2c538f53a509636a6edca59eb930b7885da7ba915a0324d3cbe0e4b0ffe33a2a552ec7b8b679931e9eaa3e4810372b05ac3c0901ea9c6ee9
 SHA512 
0d64352eb08cb5bb003e8eac11c73533f6ecd08ad542cce002474d20ba4a899fd54b77f96b5e53656b551180fa693da820e7c40b18d6d43e20ea2c7377c36c69

diff --git a/sci-libs/plplot/plplot-5.15.0_p6.ebuild 
b/sci-libs/plplot/plplot-5.15.0_p6.ebuild
new file mode 100644
index 000000000000..7608ead0153c
--- /dev/null
+++ b/sci-libs/plplot/plplot-5.15.0_p6.ebuild
@@ -0,0 +1,296 @@
+# Copyright 1999-2023 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 )
+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 lua-single 
python-single-r1 virtualx wxwidgets
+
+DESCRIPTION="Multi-language scientific plotting library"
+HOMEPAGE="https://plplot.sourceforge.net";
+SRC_URI="mirror://sourceforge/${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 ~amd64-linux ~x86-linux"
+
+IUSE="cairo cxx doc +dynamic examples fortran gd java jpeg latex lua ocaml 
octave pdf
+       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] )
+       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[${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.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() {
+       use wxwidgets && setup-wxwidgets
+       cmake_src_prepare
+
+       # Debian patches
+       for p in $(<"${WORKDIR}"/debian/patches/series) ; do
+               eapply -p1 "${WORKDIR}/debian/patches/${p}"
+       done
+
+       # 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
+               -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=$(usex qt5)
+
+               ## 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=$(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 lua && mycmakeargs+=(
+               -DREQUIRED_LUA_VERSION=$(lua_get_version)
+       )
+       use ocaml && mycmakeargs+=(
+               -DOCAML_INSTALL_DIR="$(ocamlc -where)"
+       )
+       use python && mycmakeargs+=(
+               -DENABLE_pyqt5=$(usex qt5)
+       )
+
+       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
+}

Reply via email to