diff options
author | David Seifert <soap@gentoo.org> | 2016-01-19 19:03:33 +0100 |
---|---|---|
committer | David Seifert <soap@gentoo.org> | 2016-01-19 19:03:53 +0100 |
commit | 86b02d33cd1e4fe22c92754467b376d9f3e76f2c (patch) | |
tree | 3ecd746094d500799337f407b3d9a5eec5d19ecd /sci-libs/plplot | |
parent | media-libs/opencv: 3.0.0 base migration, use contrib repaired (diff) | |
download | gentoo-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.ebuild | 249 |
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 +} |