From 1d18b53ed419c49eb3f71637ccd58a431c1368d4 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 14 Apr 2023 05:44:50 +0100 Subject: gentoo auto-resync : 14:04:2023 - 05:44:49 --- sci-libs/plplot/Manifest | 3 +- .../files/plplot-5.15.0-configure-clang16.patch | 18 ++ sci-libs/plplot/plplot-5.15.0-r104.ebuild | 301 -------------------- sci-libs/plplot/plplot-5.15.0-r105.ebuild | 302 +++++++++++++++++++++ 4 files changed, 322 insertions(+), 302 deletions(-) create mode 100644 sci-libs/plplot/files/plplot-5.15.0-configure-clang16.patch delete mode 100644 sci-libs/plplot/plplot-5.15.0-r104.ebuild create mode 100644 sci-libs/plplot/plplot-5.15.0-r105.ebuild (limited to 'sci-libs/plplot') diff --git a/sci-libs/plplot/Manifest b/sci-libs/plplot/Manifest index a80360fb4762..b362ec13a151 100644 --- a/sci-libs/plplot/Manifest +++ b/sci-libs/plplot/Manifest @@ -1,10 +1,11 @@ AUX plplot-5.12.0-safe-string.patch 791 BLAKE2B 8a3b37dd236d3086fe0780dd0e10d670884f706b4e6164980d8197de1a3f49fc0ef2ee15cd9f499c50b14a454bf62a6d6aee1512522ab5a3fe16c8fb93fc042f SHA512 c531a57ef2203c01f5d44f0bd1edc5101c740986987e454019fe42f4905dbd9b5f13ad93e91e3c73c95c320e9128ac4696021e258dc523fc9f5559348eda9129 AUX plplot-5.15.0-QPainterPath-include.patch 190 BLAKE2B 097e21f0a5a8c5d941f95f089529762d080fb18880f607b00e8c0a33ebb37ef2efa1be025274a2d7ad1cca5590f060560c7679424cb5f2c572de919f9a168ea8 SHA512 52d656294fe75ebf28102575e191a4e43f0cba0b1d39826bb3eabd3044d83c00dd1a774d3df3de4eea6fba7af8138842352f76218cb9fdceb444be487c9f14f6 +AUX plplot-5.15.0-configure-clang16.patch 512 BLAKE2B 44dc699eaec802f143c0659736b9f87d7430b3a13f672549c6b55da62c4b3eb117efdc6132386589bcb2c889a4c3544ec92479db5aff764e61284b327047f4d4 SHA512 5fdec8150d3ee50ab086b0c49ef0ae754fe0c2129444b1bc435b7f3b64c04195b83bceb3ae8cedc92d1231c50f1322cd035a6f5c516e5386b0dd486808b5bf3a AUX plplot-5.15.0-ieee.patch 1243 BLAKE2B 291274ae674f3471fdf081619c2b8e14caec490b391413e52bc8b424f596757297b48b9af09647196adc3069f81750652d05d8da5582092ad13e92d56af05c01 SHA512 e242ff53ac490f17b898cf8184446a342bd9ca36f6245f4142cefe275aa2f5865e13428cdbc8663e80a56d7f0c438492b3529dd7c3dd0400d380d99928c58318 AUX plplot-5.15.0-multiarch.patch 2544 BLAKE2B 288fc0f26f1f30cdbb786642ca5a59d8ba29958ffa690f87622748d4fa47ba098bce6671988e55f59526113dba08370ef15b0bc516552a9dee6918f430444dd5 SHA512 f98ea4f09cfaff7b1b2ad78940a10c5368ad29f402daca34a9a1ee2eeb3b275137576db884f1304ddc4c48ca83c032b9b2b10132a850839fba9c176bb27255a7 AUX plplot-5.15.0-ocaml-rpath.patch 9583 BLAKE2B b475580f9e4da0ab660dc2d0dfbdbbfbd277787a12421cf24c31453952257111c06e790a7f728f9b97ef16a8c4ea5a5e856e852f54cd81445a1f5b2aadb9df9d SHA512 5262e9922829ee3ec223b60b794de728e15104ba176f1a1e2fe4ba14929b08943cc5f00d166441c0e8ed5dfb09902044e3c62d944efdcf4bc3be604a56cb424a AUX plplot-5.15.0-ocaml.patch 3424 BLAKE2B ba1c9f758c319a76b0a457a287ee6934ee39300401e2d9a364c70446e12af679ce55c22eda0bf7aa7cb621fd4c76f56268afa649ba935a716495049f41706187 SHA512 1387625d1e784fb92ab3279a342c08d8f85fc055e0c69ce1af9656492102072c7a1d5a6498f8758dc3fd35e0543e80b65cd315641886f9baff60f7740583a0e3 AUX plplot-5.9.6-python.patch 379 BLAKE2B cf08250c851c3405517183e8f3425f42ede2f850cc8bcd89828e3e1b89035731a8a3face0988750e9f9e5dce2fa0404b23b2721c5b315ff61aeac552fd6e05f2 SHA512 cb2022bda3d5408ef0b2dc280981ad8bdb2f7ecb20d827f7e71ce063fba60963e68aeaa5efd8eef87da8e3dc270b609f7cb342c1da175cd757c9f135173842e4 DIST plplot-5.15.0.tar.gz 15380293 BLAKE2B 41f359c4e86c7a26fe53a9d82a9f02aeb97b5b6f44abca590621640c56e50a62823e8a03165a939689f5456cee419b8292ea34faccd07641bd4a953b6f1d73fe SHA512 54533245569b724a7ef90392cc6e9ae65873e6cbab923df0f841c8b43def5e4307690894c7681802209bd3c8df97f54285310a706428f79b3340cce3207087c8 -EBUILD plplot-5.15.0-r104.ebuild 7483 BLAKE2B cb291f65bace22adaa562ed9a6a5cb8573500e45123a998dc8bc26d82eb8d7456d75dd8fa919fd4e9cbf9b36113aa2c574c84b747af486c4beeee9531869b88e SHA512 1b2928aedb7f2a424715c22694ccc035429a619529be2245eacfbdfefa0f46fd55f8c856b555dac0d51ad65de51f3d4ad7c1081f537b87de56937c3fecea9efc +EBUILD plplot-5.15.0-r105.ebuild 7535 BLAKE2B 29ccd7f575ef133daa1b2dbe42131ae987de260ba8bc306f03a8aac0c39620094a6de84cd3804aca210eff5f46cab095060e4f1cd0a6b960fe54b8e59aa582a8 SHA512 8cb5d231dad4cf5f02ef3db2b22234a44ab5be71236fa459d9e18e34f538db444274bcaee097ed8d93cf2aca7045e045ae9023c8067b37fffe621bdc589dae2a MISC metadata.xml 1421 BLAKE2B a15479caf11e0f90cb45613ee48ca2d4270a18b57b8f409d4687cee5c55f660fca46a8a2a36c3c1c4a5d02a4c964b1d8db6ea4112039af8bcda808e50b4bf1f1 SHA512 fc99a3225ce54af9945e8fec3cd96f9c75cdc74b8ad4d5362bd5b1529b3872eddd06a190ea9f1cafa727d28e3e2086a27ecd5db89afd993d844ba8f299f2f317 diff --git a/sci-libs/plplot/files/plplot-5.15.0-configure-clang16.patch b/sci-libs/plplot/files/plplot-5.15.0-configure-clang16.patch new file mode 100644 index 000000000000..1f72da24ffb0 --- /dev/null +++ b/sci-libs/plplot/files/plplot-5.15.0-configure-clang16.patch @@ -0,0 +1,18 @@ +https://bugs.gentoo.org/898258 +https://sourceforge.net/p/plplot/patches/37/ + +Avoid implicitly declaring exit. Future compilers will not support +implicit function declarations, so this cmake probe will always fail. + +--- a/cmake/modules/TestForHighBitCharacters.c ++++ b/cmake/modules/TestForHighBitCharacters.c +@@ -17,6 +17,6 @@ int + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) +- exit(1); +- exit (0); ++ return 1; ++ return 0; + } + diff --git a/sci-libs/plplot/plplot-5.15.0-r104.ebuild b/sci-libs/plplot/plplot-5.15.0-r104.ebuild deleted file mode 100644 index a36423a145f2..000000000000 --- a/sci-libs/plplot/plplot-5.15.0-r104.ebuild +++ /dev/null @@ -1,301 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -WX_GTK_VER=3.0-gtk3 -FORTRAN_NEEDED=fortran -LUA_COMPAT=( lua5-1 ) -PYTHON_COMPAT=( python3_{9..10} ) -# 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}.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 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 - ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-5.9.6-python.patch - - # Fedora patches - "${FILESDIR}"/${PN}-5.15.0-ocaml-rpath.patch - "${FILESDIR}"/${PN}-5.15.0-ieee.patch - "${FILESDIR}"/${PN}-5.15.0-multiarch.patch - "${FILESDIR}"/${PN}-5.15.0-ocaml.patch - "${FILESDIR}"/${PN}-5.12.0-safe-string.patch - "${FILESDIR}"/${PN}-5.15.0-QPainterPath-include.patch -) - -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 - - # 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 -} diff --git a/sci-libs/plplot/plplot-5.15.0-r105.ebuild b/sci-libs/plplot/plplot-5.15.0-r105.ebuild new file mode 100644 index 000000000000..0f4ce8cab531 --- /dev/null +++ b/sci-libs/plplot/plplot-5.15.0-r105.ebuild @@ -0,0 +1,302 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +WX_GTK_VER=3.0-gtk3 +FORTRAN_NEEDED=fortran +LUA_COMPAT=( lua5-1 ) +PYTHON_COMPAT=( python3_{9..10} ) +# 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}.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 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 + ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-5.9.6-python.patch + + # Fedora patches + "${FILESDIR}"/${PN}-5.15.0-ocaml-rpath.patch + "${FILESDIR}"/${PN}-5.15.0-ieee.patch + "${FILESDIR}"/${PN}-5.15.0-multiarch.patch + "${FILESDIR}"/${PN}-5.15.0-ocaml.patch + "${FILESDIR}"/${PN}-5.12.0-safe-string.patch + "${FILESDIR}"/${PN}-5.15.0-QPainterPath-include.patch + "${FILESDIR}"/${PN}-5.15.0-configure-clang16.patch +) + +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 + + # 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 +} -- cgit v1.2.3