summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Seifert <soap@gentoo.org>2017-02-18 20:09:44 +0100
committerDavid Seifert <soap@gentoo.org>2017-02-18 20:10:08 +0100
commit51fd4fb2277b7117039a9572f242dd39ffd322cb (patch)
tree0c01ec2ac166bd8165bf6a7418c28e842211b5c8
parentdev-python/jupyter_console: Fix doc building (diff)
downloadgentoo-51fd4fb2277b7117039a9572f242dd39ffd322cb.tar.gz
gentoo-51fd4fb2277b7117039a9572f242dd39ffd322cb.tar.bz2
gentoo-51fd4fb2277b7117039a9572f242dd39ffd322cb.zip
sci-libs/plplot: Version bump to 5.12.0
Bug: https://bugs.gentoo.org/show_bug.cgi?id=529382 Bug: https://bugs.gentoo.org/show_bug.cgi?id=554156 Bug: https://bugs.gentoo.org/show_bug.cgi?id=585114 Package-Manager: Portage-2.3.3, Repoman-2.3.1
-rw-r--r--sci-libs/plplot/Manifest1
-rw-r--r--sci-libs/plplot/files/plplot-5.12.0-java-install-path.patch13
-rw-r--r--sci-libs/plplot/files/plplot-5.12.0-multiarch.patch49
-rw-r--r--sci-libs/plplot/plplot-5.12.0.ebuild269
4 files changed, 332 insertions, 0 deletions
diff --git a/sci-libs/plplot/Manifest b/sci-libs/plplot/Manifest
index f31d3e9684cb..e94655ac8ece 100644
--- a/sci-libs/plplot/Manifest
+++ b/sci-libs/plplot/Manifest
@@ -1 +1,2 @@
DIST plplot-5.11.1.tar.gz 15445404 SHA256 289dff828c440121e57b70538b3f0fb4056dc47159bc1819ea444321f2ff1c4c SHA512 663da681a2e1ab2cb551e028485a55dfa111d8828187e84a50f5605c3346288ebd07a0e20ff4c50f00efc4f52be84bc100602de42e5713868ad32fdb431b80fd WHIRLPOOL 21e11c496b89060d00c9b0e513a0fb4833713f021d1fa63ea9210198713324e6efc3a1a28a218a75acd1fa5752ee4058465575481c27cfaec1cb91c52db40864
+DIST plplot-5.12.0.tar.gz 16253895 SHA256 8dc5da5ef80e4e19993d4c3ef2a84a24cc0e44a5dade83201fca7160a6d352ce SHA512 5566b9db0ddbb5ecaa677168f65f240197b2b8b23a02a812efc7e97fc79686b523591edad9c83de2e72935090d426b4cb9fe82496d9eb5a5a521c42161e9848b WHIRLPOOL ef50a5974d6e5043cf225e840021517bd13b9c3ae8680f8f4f808c9e641f5593d2faab6e0825a93e884c42509dc7a9b77655b2da7e793991e9384ccf0bf00ecb
diff --git a/sci-libs/plplot/files/plplot-5.12.0-java-install-path.patch b/sci-libs/plplot/files/plplot-5.12.0-java-install-path.patch
new file mode 100644
index 000000000000..2c053a2b1669
--- /dev/null
+++ b/sci-libs/plplot/files/plplot-5.12.0-java-install-path.patch
@@ -0,0 +1,13 @@
+Java libs are installed into an already prefixed path.
+
+--- a/bindings/java/CMakeLists.txt
++++ b/bindings/java/CMakeLists.txt
+@@ -189,7 +189,7 @@
+ )
+ endif(APPLE)
+
+- install(TARGETS plplotjavac_wrap LIBRARY DESTINATION ${JAVAWRAPPER_HARDDIR})
++ install(TARGETS plplotjavac_wrap LIBRARY DESTINATION ${JAVAWRAPPER_DIR})
+
+ set(JAVA_CLASSES)
+ foreach( srcfile ${JAVA_FILES_FULL} )
diff --git a/sci-libs/plplot/files/plplot-5.12.0-multiarch.patch b/sci-libs/plplot/files/plplot-5.12.0-multiarch.patch
new file mode 100644
index 000000000000..63e92f5aa5ab
--- /dev/null
+++ b/sci-libs/plplot/files/plplot-5.12.0-multiarch.patch
@@ -0,0 +1,49 @@
+--- a/examples/c/Makefile.examples.in
++++ b/examples/c/Makefile.examples.in
+@@ -25,9 +25,6 @@
+ CC = @CC@
+ EXEEXT = @EXEEXT@
+
+-PKG_CONFIG_ENV = @PKG_CONFIG_ENV@
+-RPATHCMD = @RPATHCMD@
+-
+ @extXdrawable_true@extXdrawable_EXECUTABLES_list = \
+ @extXdrawable_true@ extXdrawable_demo$(EXEEXT)
+
+--- a/examples/c++/Makefile.examples.in
++++ b/examples/c++/Makefile.examples.in
+@@ -25,10 +25,7 @@
+ CXX = @CXX@
+ EXEEXT = @EXEEXT@
+
+-PKG_CONFIG_ENV = @PKG_CONFIG_ENV@
+-RPATHCMD = @RPATHCMD@
+ @qt_gui_true@QT_MOC_EXECUTABLE = @QT_MOC_EXECUTABLE@
+-@qt_gui_true@qt_RPATHCMD = @qt_RPATHCMD@
+
+ @wxwidgets_true@PLPLOTWXWIDGETS_EXECUTABLES_list = \
+ @wxwidgets_true@ @wxdemo_name@$(EXEEXT)
+--- a/examples/f95/Makefile.examples.in
++++ b/examples/f95/Makefile.examples.in
+@@ -25,9 +25,6 @@
+ F95 = @FC@
+ EXEEXT = @EXEEXT@
+
+-PKG_CONFIG_ENV = @PKG_CONFIG_ENV@
+-FORTRAN_RPATHCMD = @FORTRAN_RPATHCMD@
+-
+ EXECUTABLES_list = \
+ x00f$(EXEEXT) \
+ x01f$(EXEEXT) \
+--- a/examples/tk/Makefile.examples.in
++++ b/examples/tk/Makefile.examples.in
+@@ -24,9 +24,6 @@
+ CC = @CC@
+ EXEEXT = @EXEEXT@
+
+-PKG_CONFIG_ENV = @PKG_CONFIG_ENV@
+-plplottcltk_Main_RPATHCMD = @plplottcltk_Main_RPATHCMD@
+-
+ EXECUTABLES_list = xtk01$(EXEEXT)
+ # Second and fourth examples depend on itk.
+ @itk_true@itk_EXECUTABLES_list = xtk02$(EXEEXT) xtk04$(EXEEXT)
diff --git a/sci-libs/plplot/plplot-5.12.0.ebuild b/sci-libs/plplot/plplot-5.12.0.ebuild
new file mode 100644
index 000000000000..5bf49807a6d8
--- /dev/null
+++ b/sci-libs/plplot/plplot-5.12.0.ebuild
@@ -0,0 +1,269 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+WX_GTK_VER=3.0-gtk3
+FORTRAN_NEEDED=fortran
+FORTRAN_STANDARD=95
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils 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 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= )
+ octave? ( sci-mathematics/octave:0= )
+ pdf? ( media-libs/libharu:0= )
+ pdl? (
+ dev-perl/PDL
+ dev-perl/XML-DOM
+ )
+ python? (
+ ${PYTHON_DEPS}
+ 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
+ )
+ 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
+ )
+ 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
+)
+
+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
+ # * OCaml is a general disaster and randomly inserts RPATH
+ # on the basis of absolute -L linker paths:
+ # https://caml.inria.fr/mantis/view.php?id=5943
+ # * 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
+ local mycmakeargs=(
+ ## Features
+ -DBUILD_DOC=OFF
+ -DBUILD_DOX_DOC=OFF
+ -DUSE_RPATH=OFF
+ -DCMAKE_SKIP_INSTALL_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=OFF
+ -DENABLE_pyqt4=OFF
+ -DENABLE_cxx=$(usex cxx)
+ -DENABLE_DYNDRIVERS=$(usex dynamic)
+ -DENABLE_f95=$(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 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 /usr/$(get_libdir)/jni/plplotjavac_wrap.so
+ fi
+}