public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Pacho Ramos" <pacho@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-libs/plplot/
Date: Fri, 24 Nov 2023 14:31:18 +0000 (UTC)	[thread overview]
Message-ID: <1700836231.34f4e562294da67362411c7e4ec5f130779b22eb.pacho@gentoo> (raw)

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	other threads:[~2023-11-24 14:31 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-24 14:31 Pacho Ramos [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-05-04 12:39 [gentoo-commits] repo/gentoo:master commit in: sci-libs/plplot/ Pacho Ramos
2022-11-19 11:41 Andrew Ammerlaan
2022-10-08 19:06 Sam James
2022-06-21  1:53 Sam James
2022-06-14 13:06 Sam James
2021-07-17 18:18 David Seifert
2021-06-06 16:53 David Seifert
2021-06-06 16:53 David Seifert
2021-06-06 11:17 Andrew Ammerlaan
2021-06-05 15:10 Andrew Ammerlaan
2021-03-28  0:00 Andreas Sturmlechner
2021-03-28  0:00 Andreas Sturmlechner
2021-02-18 18:57 David Seifert
2021-02-14 16:32 Pacho Ramos
2020-02-09 16:36 Michał Górny
2019-12-12 16:46 Michał Górny
2017-04-20 16:41 David Seifert
2017-03-13  1:57 Michael Palimaka
2017-02-20 19:33 David Seifert
2017-02-19 11:07 David Seifert
2017-02-13 13:18 David Seifert
2016-10-08 12:13 David Seifert
2016-08-03 17:45 David Seifert
2016-02-01  8:14 Agostino Sarubbo
2016-01-20  8:50 Justin Lecher
2016-01-20  8:20 Justin Lecher
2016-01-19 18:04 David Seifert
2015-10-25 10:42 Pacho Ramos
2015-08-26 14:24 Mikle Kolyada
2015-08-16 23:03 Mikle Kolyada

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1700836231.34f4e562294da67362411c7e4ec5f130779b22eb.pacho@gentoo \
    --to=pacho@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox