sci-libs/vtk: Version bump to 7.0.0, EAPI bump 5 -> 6
authorGerhard Bräunlich <wippbox@gmx.net>
Wed, 25 Jan 2017 21:25:35 +0000 (22:25 +0100)
committerDavid Seifert <soap@gentoo.org>
Thu, 26 Jan 2017 20:11:59 +0000 (21:11 +0100)
Package-Manager: portage-2.3.0
Closes: https://github.com/gentoo/gentoo/pull/2936

sci-libs/vtk/Manifest
sci-libs/vtk/files/vtk-7.0.0-glext.patch [new file with mode: 0644]
sci-libs/vtk/vtk-7.0.0.ebuild [new file with mode: 0644]

index 18fdb61db726453f0a79488355cb80347b1e9247..e65a809e09175fbae6b00ed0ae8c374a1f87ef6a 100644 (file)
@@ -1,4 +1,10 @@
 DIST VTK-6.1.0.tar.gz 27608882 SHA256 bd7df10a479606d529a8b71f466c44a2bdd11fd534c62ce0aa44fad91883fa34 SHA512 3ab922166502348e5cdd68e14dbf4717c0405c9d8881c04aa8be8f95d8516af39cd02aaca5171c6de8af1b462ca386399b7a87a843ec62999f0f32c11788a2dc WHIRLPOOL e387390efdc8cd2e413524794786369ba8a2bfe788913dfb161b82d9bc041e15ed5585286bebe38f955d1def3043481303d3bc74c648bbf5bf856e212ac9950c
+DIST VTK-7.0.0.tar.gz 30659751 SHA256 78a990a15ead79cdc752e86b83cfab7dbf5b7ef51ba409db02570dbdd9ec32c3 SHA512 4ce51ff6ddf56f1fb45c1b09a09389bc43dffd892f80c833ea861537e02a61079e9cfd3931308f7d72f37d1977806ed2ce010a7b5c2c1a0c5bb1435e09e1f049 WHIRLPOOL 5b6aaf42440b27b6d46ceb5484266df84c7dd205eb87353faec034a080b0d2bc61dafaee05ff3d16e381fae8ec00ef093a93f422d531d7061250f4c15dd6be37
 DIST VTKData-6.1.0.tar.gz 94452190 SHA256 aba27ac05d721e36b9424131f1d0f673448f2b31aac34e9e74590fdf208ad0c7 SHA512 4e23cc3de3b81a852458849f2bd4dfe2e84e9df4f77f5f0d4ac249b04a7f74144a483a91876bd748bb90685d1943071e9b36fce8dd618376621bc37e63365e65 WHIRLPOOL 1ee803055e3bbf0c8150807a77efce81406c8a512c40644c5ccc35279cb1098bb8f0382b5f2bb01f483c8a38a4e81ee70ed39145c52b4375a0545919faee2a28
+DIST VTKData-7.0.0.tar.gz 183031503 SHA256 68260172ed85134a135a2a7ab2173f6e44640dc20de43fa0f286b545a53fae15 SHA512 a97fd3a3df96b09ee356f60bae190bbd5ca803d774fcfae5d788a897662ba1344990ca0981e41d2b3caa0750b08ed9e60905df2a1dfe29e4b9fba68e6e13c3de WHIRLPOOL dd1bf3faf428cfecb7f85b0b5239a11b48d4d3240c4b44bcb7bbeac91692d976a53a63d7705814d86450af93d5df8a570f612e67c3503d485d6f5522e33375c9
 DIST VTKLargeData-6.1.0.tar.gz 166019220 SHA256 d8985508ff2b7fbfbae0aadedfbe2b293640cf6441d3cce41da5c3f591c96d4c SHA512 3663a124c16448882ad3aef0fb15f55f438863ba2176106803ad9c6fb561325accd74f2675d8b6e1de791babfa8b992e516d87640efedda4a6daeb5affc2cf3f WHIRLPOOL db62af365a5c1d71b209d21578184ff1ee7a5913aefd7e5729b7dc555bdd20a8f070ed83051387634bf6a9fc1141ab68a291ec0d557602fa5802e3e6020b7ae1
+DIST VTKLargeData-7.0.0.tar.gz 166680081 SHA256 27db751b93480c0ea9362927a25d8ab5b2cb47532b1e898cdf77c1e41db29ecc SHA512 a17d7b883262c12a0cf0689eec02d92415746d3eea64d308e22d4945e0eaa2bef8eadafef995690c1e02d357c8887a62702c5eaf0f46fe19a66cb9993ce18624 WHIRLPOOL 1e19a68d3a4e7e00d417ddf7f460331179b26f9ef434beedfc52e31a4733892fbd11209c45763a69c775fcbd510971f6463f00e9dbc794945db5110fe646bf84
+DIST vtk-6.0.0.tar.gz 24170173 SHA256 426df543cffeacf21154dddcd2a6efbd91a586570a07a0db4c426d3e0acd10e4 SHA512 ac238e2d228df4fc4d324826b8729af9ab3274039d5abf834f013fb4deaddc116ba2b1b24fb93aaf4b1bfc4bb321d19bc05566883cf3db1f982c9650d77583e8 WHIRLPOOL b8619e254f97392dae01b8e2376bd70a07ce21504580d29844fcf1ab5621d85ba12bfd6047b4f90afd2b648d8b6c17e4ce5d789d6e1f84b5a4f847de5ee376b9
+DIST vtkDocHtml-6.0.0.tar.gz 204228463 SHA256 f5324c4c197b0cacd19bf1e5721bb012d753d49526e224d9f2dd7412f34e4434 SHA512 b6d5660f3ae6046c63b22b613cab6822f45f6b30a09522277e32f941c75dc48e8c92abc4d7f02b17e3f4d8e625de6dce7f000acc79e2d588a13d1577c139291a WHIRLPOOL b951c4ee62639c6bada2e02c2fceddbdb730c76d80c61a6ed013d8d9878b78a697158f41f53d68b5d62e4baa1f9ecb88e2437490da7610970622a40ecb14db1f
 DIST vtkDocHtml-6.1.0.tar.gz 230827905 SHA256 e35d0f5b7905e5c827d8daa71ee61b14dc080445efad91f97583a2b9303c1813 SHA512 fcae74a65157d87b39a162facdecbb0ab0a9b95b9f2555ed2b15d635b82034bfc62181eea441caf0b1edbe036b792a8231d409908b943398ce7f662c149d3a60 WHIRLPOOL bc1714223259953a605612c0da124ece60604989458b7de5cf24b37d0f4c339f50c07a13d899f218364e61a35f8e1ace126eda5e83acbc3fe4930b041df0f55d
+DIST vtkDocHtml-7.0.0.tar.gz 114223726 SHA256 e2f5ff7b693880d6f7dd842428d212ea2739dd93f12f008adce3b9958125d65d SHA512 062a2d23df2c1330b2ef46758038cd222923d17c1f3bf810f6df30456729c2f33a921815cd501aa41aeb9739500f121a5b35538613365cbf30f3c7a483e4a235 WHIRLPOOL 853894c3a382dccb3f2947911b7b10fd76956fe48a4ba0ad71169e826a2e663bb965bbf4026c8874e4c9df1778ee5c6a0147fab7140169a9674c63daf7fc6f98
diff --git a/sci-libs/vtk/files/vtk-7.0.0-glext.patch b/sci-libs/vtk/files/vtk-7.0.0-glext.patch
new file mode 100644 (file)
index 0000000..5c32134
--- /dev/null
@@ -0,0 +1,12 @@
+--- a/Rendering/OpenGL/vtkOpenGL.h
++++ b/Rendering/OpenGL/vtkOpenGL.h
+@@ -19,7 +19,8 @@
+ #include "vtkConfigure.h"
+ // To prevent gl.h to include glext.h provided by the system
+-#define GL_GLEXT_LEGACY
++// https://bugzilla.redhat.com/show_bug.cgi?id=1138466
++// #define GL_GLEXT_LEGACY
+ #if defined(__APPLE__) && defined(VTK_USE_COCOA)
+ # include <OpenGL/gl.h> // Include OpenGL API.
+ #else
diff --git a/sci-libs/vtk/vtk-7.0.0.ebuild b/sci-libs/vtk/vtk-7.0.0.ebuild
new file mode 100644 (file)
index 0000000..a7bc9e6
--- /dev/null
@@ -0,0 +1,349 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+WEBAPP_OPTIONAL=yes
+WEBAPP_MANUAL_SLOT=yes
+
+inherit flag-o-matic java-pkg-opt-2 python-single-r1 qmake-utils versionator toolchain-funcs cmake-utils virtualx webapp
+
+# Short package version
+SPV="$(get_version_component_range 1-2)"
+
+DESCRIPTION="The Visualization Toolkit"
+HOMEPAGE="http://www.vtk.org/"
+SRC_URI="
+       http://www.vtk.org/files/release/${SPV}/VTK-${PV}.tar.gz
+       doc? ( http://www.vtk.org/files/release/${SPV}/vtkDocHtml-${PV}.tar.gz )
+       test? (
+               http://www.vtk.org/files/release/${SPV}/VTKData-${PV}.tar.gz
+               http://www.vtk.org/files/release/${SPV}/VTKLargeData-${PV}.tar.gz
+               )
+       "
+
+LICENSE="BSD LGPL-2"
+KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+SLOT="0"
+IUSE="
+       all-modules aqua boost doc examples imaging ffmpeg gdal java json kaapi mpi
+       mysql odbc offscreen postgres python qt5 rendering tbb test theora tk tcl
+       video_cards_nvidia views web xdmf2 R +X"
+
+REQUIRED_USE="
+       all-modules? ( python xdmf2 boost )
+       java? ( qt5 )
+       python? ( ${PYTHON_REQUIRED_USE} )
+       tcl? ( rendering )
+       test? ( python )
+       tk? ( tcl )
+       web? ( python )
+       ^^ ( X aqua offscreen )
+       "
+
+RDEPEND="
+       boost? ( dev-libs/boost:=[mpi?] )
+       dev-libs/expat
+       dev-libs/jsoncpp:=
+       dev-libs/libxml2:2
+       examples? (
+               dev-qt/qtcore:5
+               dev-qt/qtgui:5
+               sci-libs/vtkdata
+       )
+       ffmpeg? ( virtual/ffmpeg )
+       gdal? ( sci-libs/gdal )
+       java? ( >=virtual/jdk-1.7:* )
+       kaapi? ( <sci-libs/xkaapi-3 )
+       >=media-libs/freetype-2.5.4
+       media-libs/libpng:0=
+       media-libs/mesa
+       media-libs/libtheora
+       media-libs/tiff:0
+       mpi? (
+               virtual/mpi[cxx,romio]
+               python? ( dev-python/mpi4py[${PYTHON_USEDEP}] )
+       )
+       mysql? ( virtual/mysql )
+       odbc? ( dev-db/unixODBC )
+       offscreen? ( media-libs/mesa[osmesa] )
+       postgres? ( dev-db/postgresql:= )
+       python? (
+               ${PYTHON_DEPS}
+               dev-python/sip[${PYTHON_USEDEP}]
+       )
+       qt5? (
+               dev-qt/designer:5
+               dev-qt/qtcore:5
+               dev-qt/qtgui:5
+               dev-qt/qtopengl:5
+               dev-qt/qtsql:5
+               dev-qt/qtwebkit:5
+               python? ( dev-python/PyQt5[${PYTHON_USEDEP}] )
+       )
+       R? ( dev-lang/R )
+       sci-libs/exodusii
+       sci-libs/hdf5:=
+       sci-libs/netcdf-cxx:0=
+       sys-libs/zlib
+       tbb? ( dev-cpp/tbb )
+       tcl? ( dev-lang/tcl:0= )
+       tk? ( dev-lang/tk:0= )
+       video_cards_nvidia? ( || ( x11-drivers/nvidia-drivers[tools,static-libs] media-video/nvidia-settings ) )
+       virtual/jpeg:0
+       virtual/opengl
+       web? (
+               ${WEBAPP_DEPEND}
+               dev-python/autobahn[${PYTHON_USEDEP}]
+               dev-python/twisted-core[${PYTHON_USEDEP}]
+               dev-python/zope-interface[${PYTHON_USEDEP}]
+       )
+       xdmf2? ( sci-libs/xdmf2 )
+       >=x11-libs/gl2ps-1.3.8
+       x11-libs/libX11
+       x11-libs/libXmu
+       x11-libs/libXt"
+
+DEPEND="${RDEPEND}
+       doc? ( app-doc/doxygen )"
+
+S="${WORKDIR}"/VTK-${PV}
+
+PATCHES=(
+       "${FILESDIR}"/${P}-glext.patch
+       "${FILESDIR}"/${PN}-6.1.0-memset.patch
+       "${FILESDIR}"/${PN}-6.1.0-gdal2.patch
+       )
+
+RESTRICT=test
+
+pkg_setup() {
+       use java && java-pkg-opt-2_pkg_setup
+       use python && python-single-r1_pkg_setup
+       use web && webapp_pkg_setup
+}
+
+src_prepare() {
+       sed \
+               -e 's:libproj4:libproj:g' \
+               -e 's:lib_proj.h:lib_abi.h:g' \
+               -i CMake/FindLIBPROJ4.cmake || die
+
+       local x
+       # missing: VPIC alglib exodusII freerange ftgl libproj4 mrmpi sqlite utf8 verdict xmdf2 xmdf3
+       for x in expat freetype gl2ps hdf5 jpeg jsoncpp libxml2 netcdf oggtheora png tiff zlib; do
+               ebegin "Dropping bundled ${x}"
+               rm -r ThirdParty/${x}/vtk${x} || die
+               eend $?
+       done
+       rm -r \
+               ThirdParty/AutobahnPython/autobahn \
+               ThirdParty/Twisted/twisted \
+               ThirdParty/ZopeInterface/zope \
+               || die
+
+       cmake-utils_src_prepare
+}
+
+src_configure() {
+       # general configuration
+       local mycmakeargs=(
+               -Wno-dev
+               -DVTK_DIR="${S}"
+               -DVTK_INSTALL_LIBRARY_DIR=$(get_libdir)
+               -DVTK_INSTALL_DOC_DIR="${EPREFIX}/usr/share/doc/${PF}"
+               -DVTK_DATA_ROOT="${EPREFIX}/usr/share/${PN}/data"
+               -DVTK_CUSTOM_LIBRARY_SUFFIX=""
+               -DBUILD_SHARED_LIBS=ON
+               -DVTK_USE_SYSTEM_AUTOBAHN=ON
+               -DVTK_USE_SYSTEM_EXPAT=ON
+               -DVTK_USE_SYSTEM_FREETYPE=ON
+               -DVTK_USE_SYSTEM_FreeType=ON
+               -DVTK_USE_SYSTEM_GL2PS=ON
+               -DVTK_USE_SYSTEM_HDF5=ON
+               -DVTK_USE_SYSTEM_JPEG=ON
+               -DVTK_USE_SYSTEM_LIBPROJ4=OFF
+               -DVTK_USE_SYSTEM_LIBXML2=ON
+               -DVTK_USE_SYSTEM_LibXml2=ON
+               -DVTK_USE_SYSTEM_NETCDF=ON
+               -DVTK_USE_SYSTEM_OGGTHEORA=ON
+               -DVTK_USE_SYSTEM_PNG=ON
+               -DVTK_USE_SYSTEM_TIFF=ON
+               -DVTK_USE_SYSTEM_TWISTED=ON
+               -DVTK_USE_SYSTEM_XDMF2=OFF
+               -DVTK_USE_SYSTEM_XDMF3=OFF
+               -DVTK_USE_SYSTEM_ZLIB=ON
+               -DVTK_USE_SYSTEM_ZOPE=ON
+               -DVTK_USE_SYSTEM_LIBRARIES=ON
+               -DVTK_USE_GL2PS=ON
+               -DVTK_USE_LARGE_DATA=ON
+               -DVTK_USE_PARALLEL=ON
+               -DVTK_EXTRA_COMPILER_WARNINGS=ON
+               -DVTK_Group_StandAlone=ON
+               -DBUILD_DOCUMENTATION=$(usex doc)
+               -DBUILD_EXAMPLES=$(usex examples)
+               -DBUILD_VTK_BUILD_ALL_MODULES_FOR_TESTS=$(usex test)
+               -DVTK_BUILD_ALL_MODULES=$(usex all-modules)
+               -DUSE_DOCUMENTATION_HTML_HELP=$(usex doc)
+               -DVTK_Group_Imaging=$(usex imaging)
+               -DVTK_Group_MPI=$(usex mpi)
+               -DVTK_Group_Rendering=$(usex rendering)
+               -DVTK_Group_Tk=$(usex tk)
+               -DVTK_Group_Views=$(usex views)
+               -DVTK_Group_Web=$(usex web)
+               -DVTK_WWW_DIR="${ED%/}/${MY_HTDOCSDIR}"
+               -DVTK_WRAP_JAVA=$(usex java)
+               -DVTK_WRAP_PYTHON=$(usex python)
+               -DVTK_WRAP_PYTHON_SIP=$(usex python)
+               -DVTK_WRAP_TCL=$(usex tcl)
+               -DVTK_USE_BOOST=$(usex boost)
+               -DUSE_VTK_USE_BOOST=$(usex boost)
+               -DModule_vtkInfovisBoost=$(usex boost)
+               -DModule_vtkInfovisBoostGraphAlgorithms=$(usex boost)
+               -DVTK_USE_ODBC=$(usex odbc)
+               -DModule_vtkIOODBC=$(usex odbc)
+               -DVTK_USE_OFFSCREEN=$(usex offscreen)
+               -DVTK_OPENGL_HAS_OSMESA=$(usex offscreen)
+               -DVTK_USE_OGGTHEORA_ENCODER=$(usex theora)
+               -DVTK_USE_NVCONTROL=$(usex video_cards_nvidia)
+               -DModule_vtkFiltersStatisticsGnuR=$(usex R)
+               -DVTK_USE_X=$(usex X)
+       # IO
+               -DVTK_USE_FFMPEG_ENCODER=$(usex ffmpeg)
+               -DModule_vtkIOGDAL=$(usex gdal)
+               -DModule_vtkIOGeoJSON=$(usex json)
+               -DModule_vtkIOXdmf2=$(usex xdmf2)
+       # Apple stuff, does it really work?
+               -DVTK_USE_COCOA=$(usex aqua)
+       )
+
+       if use examples || use test; then
+               mycmakeargs+=( -DBUILD_TESTING=ON )
+       fi
+
+       if use java; then
+               local javacargs=$(java-pkg_javac-args)
+               mycmakeargs+=( -DJAVAC_OPTIONS=${javacargs// /;} )
+       fi
+
+       if use kaapi; then
+               mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="Kaapi" )
+       elif use tbb; then
+               mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="TBB" )
+       else
+               mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="Sequential" )
+       fi
+
+       if use python; then
+               mycmakeargs+=(
+                       -DVTK_INSTALL_PYTHON_MODULE_DIR="$(python_get_sitedir)"
+                       -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
+                       -DPYTHON_LIBRARY="$(python_get_library_path)"
+                       -DSIP_PYQT_DIR="${EPREFIX}/usr/share/sip"
+                       -DSIP_INCLUDE_DIR="$(python_get_includedir)"
+                       -DVTK_PYTHON_INCLUDE_DIR="$(python_get_includedir)"
+                       -DVTK_PYTHON_LIBRARY="$(python_get_library_path)"
+                       -DVTK_PYTHON_SETUP_ARGS:STRING="--prefix=${EPREFIX} --root=${D}"
+               )
+       fi
+
+       if use qt5; then
+               mycmakeargs+=(
+                       -DVTK_USE_QVTK=ON
+                       -DVTK_USE_QVTK_OPENGL=ON
+                       -DVTK_USE_QVTK_QTOPENGL=ON
+                       -DQT_WRAP_CPP=ON
+                       -DQT_WRAP_UI=ON
+                       -DVTK_INSTALL_QT_DIR="$(qt5_get_libdir)/qt5/plugins/designer"
+                       -DDESIRED_QT_VERSION=5
+                       -DVTK_QT_VERSION=5
+                       -DQT_MOC_EXECUTABLE="$(qt5_get_bindir)/moc"
+                       -DQT_UIC_EXECUTABLE="$(qt5_get_bindir)/uic"
+                       -DQT_INCLUDE_DIR="${EPREFIX}/usr/include/qt5"
+                       -DQT_QMAKE_EXECUTABLE="$(qt5_get_bindir)/qmake"
+                       -DVTK_Group_Qt:BOOL=ON
+               )
+       fi
+
+       if use R; then
+               mycmakeargs+=(
+                       -DR_LIBRARY_BLAS=/usr/$(get_libdir)/R/lib/libR.so
+                       -DR_LIBRARY_LAPACK=/usr/$(get_libdir)/R/lib/libR.so
+               )
+       fi
+
+       append-cppflags -D__STDC_CONSTANT_MACROS -D_UNICODE
+
+       use java && export JAVA_HOME="${EPREFIX}/etc/java-config-2/current-system-vm"
+
+       if use mpi; then
+               export CC=mpicc
+               export CXX=mpicxx
+               export FC=mpif90
+               export F90=mpif90
+               export F77=mpif77
+       fi
+
+       cmake-utils_src_configure
+}
+
+src_test() {
+       local tcllib
+       ln -sf "${BUILD_DIR}"/lib  "${BUILD_DIR}"/lib/Release || die
+       for tcllib in "${BUILD_DIR}"/lib/lib*TCL*so; do
+               ln -sf ${tcllib##*/}.1 "${tcllib/.so/-${SPV}.so}" || die
+       done
+       export LD_LIBRARY_PATH="${BUILD_DIR}"/lib:"${JAVA_HOME}"/jre/lib/${ARCH}/:"${JAVA_HOME}"/jre/lib/${ARCH}/xawt/
+       virtx cmake-utils_src_test
+}
+
+src_install() {
+       use web && webapp_src_preinst
+
+       cmake-utils_src_install
+
+       use java && java-pkg_regjar "${ED%/}"/usr/$(get_libdir)/${PN}.jar
+
+       if use tcl; then
+               # install Tcl docs
+               docinto vtk_tcl
+               dodoc Wrapping/Tcl/README
+               docinto .
+       fi
+
+       # install examples
+       if use examples; then
+               einfo "Installing examples"
+               mv -v {E,e}xamples || die
+               dodoc -r examples
+               docompress -x /usr/share/doc/${PF}/examples
+       fi
+
+       #install big docs
+       if use doc; then
+               rm -f "${WORKDIR}"/html/*.md5 || die "Failed to remove superfluous hashes"
+               einfo "Installing API docs. This may take some time."
+               dodoc -r "${WORKDIR}"/html
+       fi
+
+       # environment
+       cat >> "${T}"/40${PN} <<- EOF || die
+               VTK_DATA_ROOT=${EPREFIX}/usr/share/${PN}/data
+               VTK_DIR=${EPREFIX}/usr/$(get_libdir)/${PN}-${SPV}
+               VTKHOME=${EPREFIX}/usr
+               EOF
+       doenvd "${T}"/40${PN}
+
+       use web && webapp_src_install
+}
+
+# webapp.eclass exports these but we want it optional #534036
+pkg_postinst() {
+       use web && webapp_pkg_postinst
+}
+
+pkg_prerm() {
+       use web && webapp_pkg_prerm
+}