summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Seifert <soap@gentoo.org>2016-01-19 19:03:33 +0100
committerDavid Seifert <soap@gentoo.org>2016-01-19 19:03:53 +0100
commit86b02d33cd1e4fe22c92754467b376d9f3e76f2c (patch)
tree3ecd746094d500799337f407b3d9a5eec5d19ecd /sci-libs/plplot
parentmedia-libs/opencv: 3.0.0 base migration, use contrib repaired (diff)
downloadgentoo-86b02d33cd1e4fe22c92754467b376d9f3e76f2c.tar.gz
gentoo-86b02d33cd1e4fe22c92754467b376d9f3e76f2c.tar.bz2
gentoo-86b02d33cd1e4fe22c92754467b376d9f3e76f2c.zip
sci-libs/plplot: Do not copy plplotjavac_wrap.so from BUILD_DIR
Gentoo-Bug: 546578 Instead, we use the installed .so file instead, which has RPATH removed by cmake and register the .so file with the Java environment. Package-Manager: portage-2.2.26
Diffstat (limited to 'sci-libs/plplot')
-rw-r--r--sci-libs/plplot/plplot-5.11.1-r1.ebuild249
1 files changed, 249 insertions, 0 deletions
diff --git a/sci-libs/plplot/plplot-5.11.1-r1.ebuild b/sci-libs/plplot/plplot-5.11.1-r1.ebuild
new file mode 100644
index 000000000000..a64af2bd779c
--- /dev/null
+++ b/sci-libs/plplot/plplot-5.11.1-r1.ebuild
@@ -0,0 +1,249 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+WX_GTK_VER="3.0"
+FORTRAN_NEEDED=fortran
+PYTHON_COMPAT=( python2_7 )
+VIRTUALX_REQUIRED=test
+
+inherit eutils fortran-2 cmake-utils python-single-r1 toolchain-funcs \
+ virtualx wxwidgets java-pkg-opt-2 multilib
+
+DESCRIPTION="Multi-language scientific plotting library"
+HOMEPAGE="http://plplot.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0/12"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="ada cairo cxx doc +dynamic examples fortran gd java jpeg latex lua
+ ocaml octave pdf pdl png python qhull qt4 shapefile svg tcl test
+ threads tk truetype wxwidgets X"
+
+RDEPEND="
+ ada? ( virtual/gnat:* )
+ 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? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ qt4? ( dev-python/PyQt4[${PYTHON_USEDEP}] )
+ )
+ qhull? ( media-libs/qhull:0= )
+ qt4? (
+ dev-qt/qtgui:4=
+ dev-qt/qtsvg:4=
+ )
+ 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-2.0.12 )
+ python? ( dev-lang/swig )
+ test? (
+ media-fonts/font-misc-misc
+ media-fonts/font-cursor-misc
+ )"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) qt4? ( dynamic ) test? ( latex ) tk? ( tcl )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.9.6-python.patch
+ "${FILESDIR}"/${PN}-5.11.0-ocaml.patch
+ "${FILESDIR}"/${PN}-5.11.0-octave.patch
+ "${FILESDIR}"/${PN}-5.11.0-multiarch.patch
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+ java-pkg-opt-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
+ sed -i \
+ -e 's:${DATA_DIR}/examples:${DOC_DIR}/examples:g' \
+ $(find "${S}" -name CMakeLists.txt) || die
+ 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 brings a whole lot of horrible dependencies
+
+ # -DPLPLOT_USE_QT5=ON
+ # Not recomended by upstream, check next release
+
+ local mycmakeargs=(
+ -DPLD_plmeta=ON
+ -DPLD_cgm=ON
+ -DTEST_DYNDRIVERS=OFF
+ -DCMAKE_INSTALL_LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ -DENABLE_d=OFF
+ -DBUILD_DVI=OFF
+ -DDOX_DOC=OFF
+ -DBUILD_DOC=OFF
+ -DUSE_RPATH=OFF
+ -DPLD_wxpng=OFF
+ $(cmake-utils_use doc PREBUILT_DOC)
+ $(cmake-utils_use_build test)
+ $(cmake-utils_use_has python NUMPY)
+ $(cmake-utils_use_has shapefile SHAPELIB)
+ $(cmake-utils_use_with truetype FREETYPE)
+ $(cmake-utils_use_enable ada)
+ $(cmake-utils_use_enable cxx)
+ $(cmake-utils_use_enable dynamic DYNDRIVERS)
+ $(cmake-utils_use_enable fortran f77)
+ $(cmake-utils_use_enable java)
+ $(cmake-utils_use_enable lua)
+ $(cmake-utils_use_enable ocaml)
+ $(cmake-utils_use_enable octave)
+ $(cmake-utils_use_enable pdl)
+ $(cmake-utils_use_enable python)
+ $(cmake-utils_use_enable qt4 qt)
+ $(cmake-utils_use_enable tcl)
+ $(cmake-utils_use_enable tcl itcl)
+ $(cmake-utils_use_enable tk)
+ $(cmake-utils_use_enable tk itk)
+ $(cmake-utils_use_enable wxwidgets)
+ $(cmake-utils_use threads PL_HAVE_PTHREAD)
+ $(cmake-utils_use qhull PL_HAVE_QHULL)
+ $(cmake-utils_use qt4 PLD_aqt)
+ $(cmake-utils_use qt4 PLD_bmpqt)
+ $(cmake-utils_use qt4 PLD_epsqt)
+ $(cmake-utils_use qt4 PLD_extqt)
+ $(cmake-utils_use qt4 PLD_jpgqt)
+ $(cmake-utils_use qt4 PLD_memqt)
+ $(cmake-utils_use qt4 PLD_pdfqt)
+ $(cmake-utils_use qt4 PLD_pngqt)
+ $(cmake-utils_use qt4 PLD_ppmqt)
+ $(cmake-utils_use qt4 PLD_svgqt)
+ $(cmake-utils_use qt4 PLD_qtwidget)
+ $(cmake-utils_use qt4 PLD_tiffqt)
+ $(cmake-utils_use cairo PLD_extcairo)
+ $(cmake-utils_use cairo PLD_memcairo)
+ $(cmake-utils_use cairo PLD_pdfcairo)
+ $(cmake-utils_use cairo PLD_pngcairo)
+ $(cmake-utils_use cairo PLD_pscairo)
+ $(cmake-utils_use cairo PLD_svgcairo)
+ $(cmake-utils_use cairo PLD_wincairo)
+ $(cmake-utils_use cairo PLD_xcairo)
+ $(usex cairo "" "-DDEFAULT_NO_CAIRO_DEVICES=ON")
+ $(cmake-utils_use tk PLD_ntk)
+ $(cmake-utils_use tk PLD_tk)
+ $(cmake-utils_use tk PLD_tkwin)
+ $(cmake-utils_use gd PLD_gif)
+ $(cmake-utils_use gd PLD_jpeg)
+ $(cmake-utils_use gd PLD_png)
+ $(cmake-utils_use pdf PLD_pdf)
+ $(cmake-utils_use latex PLD_ps)
+ $(cmake-utils_use latex PLD_pstex)
+ $(cmake-utils_use truetype PLD_psttf)
+ $(cmake-utils_use svg PLD_svg)
+ $(cmake-utils_use wxwidgets PLD_wxwidgets)
+ $(cmake-utils_use X PLD_xwin)
+ )
+
+ [[ $(tc-getFC) != *g77 ]] && \
+ mycmakeargs+=(
+ $(cmake-utils_use_enable fortran f95)
+ )
+
+ use truetype && mycmakeargs+=(
+ -DPL_FREETYPE_FONT_PATH: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+=(
+ $(cmake-utils_use_enable qt4 pyqt4)
+ )
+
+ 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() {
+ VIRTUALX_COMMAND=cmake-utils_src_test virtualmake
+}
+
+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 "${ED}"/usr/$(get_libdir)/jni/plplotjavac_wrap.so
+ fi
+}