commit: 00a1cd982a499efeb66d74697f9e7af44100cc9d Author: Justin Lecher <jlec <AT> gentoo <DOT> org> AuthorDate: Mon Dec 22 12:35:26 2014 +0000 Commit: Justin Lecher <jlec <AT> gentoo <DOT> org> CommitDate: Mon Dec 22 12:35:26 2014 +0000 URL: http://sources.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=00a1cd98
Import tree ebuild Signed-off-by: Justin Lecher <jlec <AT> gentoo.org> --- sci-libs/vtk/files/vtk-6.1.0-glext.patch | 13 ++ sci-libs/vtk/files/vtk-6.1.0-install.patch | 19 ++ sci-libs/vtk/files/vtk-6.1.0-netcdf.patch | 29 +++ sci-libs/vtk/files/vtk-6.1.0-system.patch | 27 +++ sci-libs/vtk/files/vtk-6.1.0-vtkpython.patch | 12 + sci-libs/vtk/vtk-6.0.0.ebuild | 279 ----------------------- sci-libs/vtk/vtk-6.1.0.ebuild | 324 +++++++++++++++++++++++++++ 7 files changed, 424 insertions(+), 279 deletions(-) diff --git a/sci-libs/vtk/files/vtk-6.1.0-glext.patch b/sci-libs/vtk/files/vtk-6.1.0-glext.patch new file mode 100644 index 0000000..b5529a5 --- /dev/null +++ b/sci-libs/vtk/files/vtk-6.1.0-glext.patch @@ -0,0 +1,13 @@ +diff -up VTK-6.1.0/Rendering/OpenGL/vtkOpenGL.h.glext VTK-6.1.0/Rendering/OpenGL/vtkOpenGL.h +--- VTK-6.1.0/Rendering/OpenGL/vtkOpenGL.h.glext 2014-01-22 08:55:41.000000000 -0700 ++++ VTK-6.1.0/Rendering/OpenGL/vtkOpenGL.h 2014-11-19 10:27:12.349345199 -0700 +@@ -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_CARBON) || defined(VTK_USE_COCOA)) + # include <OpenGL/gl.h> // Include OpenGL API. + #else diff --git a/sci-libs/vtk/files/vtk-6.1.0-install.patch b/sci-libs/vtk/files/vtk-6.1.0-install.patch new file mode 100644 index 0000000..27c6c3a --- /dev/null +++ b/sci-libs/vtk/files/vtk-6.1.0-install.patch @@ -0,0 +1,19 @@ +diff -up VTK-6.1.0/CMake/vtkModuleTop.cmake.install VTK-6.1.0/CMake/vtkModuleTop.cmake +--- VTK-6.1.0/CMake/vtkModuleTop.cmake.install 2014-01-23 19:12:04.922871103 -0700 ++++ VTK-6.1.0/CMake/vtkModuleTop.cmake 2014-01-23 19:14:33.002645155 -0700 +@@ -330,11 +330,15 @@ if (NOT VTK_INSTALL_NO_DEVELOPMENT) + CMake/pythonmodules.h.in + CMake/UseVTK.cmake + CMake/FindTCL.cmake ++ CMake/TopologicalSort.cmake + CMake/vtkTclTkMacros.cmake + CMake/vtk-forward.c.in ++ CMake/vtkGroups.cmake + CMake/vtkForwardingExecutable.cmake + CMake/vtkJavaWrapping.cmake + CMake/vtkMakeInstantiator.cmake ++ CMake/vtkMakeInstantiator.cxx.in ++ CMake/vtkMakeInstantiator.h.in + CMake/vtkModuleAPI.cmake + CMake/vtkModuleHeaders.cmake.in + CMake/vtkModuleInfo.cmake.in diff --git a/sci-libs/vtk/files/vtk-6.1.0-netcdf.patch b/sci-libs/vtk/files/vtk-6.1.0-netcdf.patch new file mode 100644 index 0000000..e6f8b64 --- /dev/null +++ b/sci-libs/vtk/files/vtk-6.1.0-netcdf.patch @@ -0,0 +1,29 @@ +diff -up VTK/ThirdParty/netcdf/CMakeLists.txt.netcdf VTK/ThirdParty/netcdf/CMakeLists.txt +--- VTK/ThirdParty/netcdf/CMakeLists.txt.netcdf 2013-12-27 20:29:11.644289659 -0700 ++++ VTK/ThirdParty/netcdf/CMakeLists.txt 2013-12-27 20:33:48.071895769 -0700 +@@ -1,10 +1,18 @@ +-vtk_module_third_party(NetCDF +- LIBRARIES vtkNetCDF vtkNetCDF_cxx +- INCLUDE_DIRS +- ${CMAKE_CURRENT_SOURCE_DIR}/vtknetcdf/include +- ${CMAKE_CURRENT_BINARY_DIR}/vtknetcdf +- COMPONENTS C CXX +- ) ++if(NOT VTK_USE_SYSTEM_NETCDF) ++ vtk_module_third_party(NetCDF ++ LIBRARIES vtkNetCDF vtkNetCDF_cxx ++ INCLUDE_DIRS ++ ${CMAKE_CURRENT_SOURCE_DIR}/vtknetcdf/include ++ ${CMAKE_CURRENT_BINARY_DIR}/vtknetcdf ++ COMPONENTS C CXX ++ ) ++else(NOT VTK_USE_SYSTEM_NETCDF) ++ vtk_module_third_party(NetCDF ++ LIBRARIES vtkNetCDF netcdf ++ COMPONENTS C CXX ++ ) ++endif() ++ + + #Configure the top cpp header to switch between system and internal + #netcdf just like vtk_module_third_party does for the c header. diff --git a/sci-libs/vtk/files/vtk-6.1.0-system.patch b/sci-libs/vtk/files/vtk-6.1.0-system.patch new file mode 100644 index 0000000..c75d544 --- /dev/null +++ b/sci-libs/vtk/files/vtk-6.1.0-system.patch @@ -0,0 +1,27 @@ +diff -up VTK/CMake/vtkModuleMacros.cmake.system VTK/CMake/vtkModuleMacros.cmake +--- VTK/CMake/vtkModuleMacros.cmake.system 2013-12-24 19:17:43.000000000 -0700 ++++ VTK/CMake/vtkModuleMacros.cmake 2013-12-27 20:28:22.375573277 -0700 +@@ -682,7 +682,7 @@ macro(vtk_module_third_party _pkg) + message(FATAL_ERROR "Cannot specify both LIBRARIES and NO_LIBRARIES") + endif() + +- option(VTK_USE_SYSTEM_${_upper} "Use system-installed ${_pkg}" OFF) ++ option(VTK_USE_SYSTEM_${_upper} "Use system-installed ${_pkg}" ${VTK_USE_SYSTEM_LIBRARIES}) + mark_as_advanced(VTK_USE_SYSTEM_${_upper}) + + if(VTK_USE_SYSTEM_${_upper}) +diff -up VTK/CMakeLists.txt.system VTK/CMakeLists.txt +--- VTK/CMakeLists.txt.system 2013-12-27 20:28:22.374573241 -0700 ++++ VTK/CMakeLists.txt 2013-12-27 20:28:48.118669708 -0700 +@@ -132,6 +132,11 @@ if (CMAKE_CROSSCOMPILING AND NOT COMPILE + endif() + + #----------------------------------------------------------------------------- ++# Do we try to use system libraries by default? ++OPTION(VTK_USE_SYSTEM_LIBRARIES "Use the system's libraries by default." OFF) ++MARK_AS_ADVANCED(VTK_USE_SYSTEM_LIBRARIES) ++ ++#----------------------------------------------------------------------------- + # The third party macros are still used in one or two third party builds. + include(vtkThirdParty) + diff --git a/sci-libs/vtk/files/vtk-6.1.0-vtkpython.patch b/sci-libs/vtk/files/vtk-6.1.0-vtkpython.patch new file mode 100644 index 0000000..f310479 --- /dev/null +++ b/sci-libs/vtk/files/vtk-6.1.0-vtkpython.patch @@ -0,0 +1,12 @@ +diff -up VTK6.0.0/Wrapping/Python/CMakeLists.txt.vtkpython VTK6.0.0/Wrapping/Python/CMakeLists.txt +--- VTK6.0.0/Wrapping/Python/CMakeLists.txt.vtkpython 2013-06-12 13:47:10.000000000 -0600 ++++ VTK6.0.0/Wrapping/Python/CMakeLists.txt 2013-07-26 16:44:19.954295281 -0600 +@@ -371,3 +371,8 @@ endif() + + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/setup.py.in + ${CMAKE_CURRENT_BINARY_DIR}/setup.py @ONLY IMMEDIATE) ++ ++if(NOT VTK_INSTALL_NO_RUNTIME AND NOT VTK_INSTALL_NO_PYTHON) ++ install(TARGETS vtkpython ${VTKPYTHON_EXECUTABLE} ++ DESTINATION ${VTK_INSTALL_RUNTIME_DIR}) ++endif() diff --git a/sci-libs/vtk/vtk-6.0.0.ebuild b/sci-libs/vtk/vtk-6.0.0.ebuild deleted file mode 100644 index 36a30ba..0000000 --- a/sci-libs/vtk/vtk-6.0.0.ebuild +++ /dev/null @@ -1,279 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sci-libs/vtk/vtk-5.10.1.ebuild,v 1.6 2013/03/02 23:24:14 hwoarang Exp $ - -EAPI=5 - -PYTHON_COMPAT=( python{2_6,2_7} ) - -WANT_CMAKE="always" - -inherit eutils flag-o-matic java-pkg-opt-2 python-single-r1 qt4-r2 versionator toolchain-funcs cmake-utils - -# Short package version -SPV="$(get_version_component_range 1-2)" - -DESCRIPTION="The Visualization Toolkit" -HOMEPAGE="http://www.vtk.org/" -SRC_URI=" - http://www.${PN}.org/files/release/${SPV}/${P/_rc/.rc}.tar.gz - doc? ( http://www.${PN}.org/files/release/${SPV}/${PN}DocHtml-${PV}.tar.gz ) - examples? ( http://www.${PN}.org/files/release/${SPV}/${PN}data-${PV}.tar.gz )" - -LICENSE="BSD LGPL-2" -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" -SLOT="0" -IUSE=" - boost chemistry cg doc examples ffmpeg java mpi mysql odbc offscreen - patented postgres python qt4 R test theora threads tk - video_cards_nvidia X" - -REQUIRED_USE=" - python? ( ${PYTHON_REQUIRED_USE} ) - ^^ ( X offscreen )" - -RDEPEND=" - dev-libs/expat - dev-libs/libxml2:2 - media-libs/freetype - media-libs/libpng - media-libs/mesa - media-libs/tiff - sci-libs/hdf5 - sys-libs/zlib - virtual/jpeg - virtual/opengl - x11-libs/gl2ps - x11-libs/libX11 - x11-libs/libXmu - x11-libs/libXt - cg? ( media-gfx/nvidia-cg-toolkit ) - examples? ( - dev-qt/qtcore:4[qt3support] - dev-qt/qtgui:4[qt3support] ) - ffmpeg? ( virtual/ffmpeg ) - java? ( >=virtual/jre-1.5 ) - mpi? ( virtual/mpi[cxx,romio] ) - mysql? ( virtual/mysql ) - odbc? ( dev-db/unixODBC ) - offscreen? ( media-libs/mesa[osmesa] ) - postgres? ( dev-db/postgresql-base ) - python? ( - ${PYTHON_DEPS} - dev-python/sip[${PYTHON_USEDEP}] ) - qt4? ( - dev-qt/qtcore:4 - dev-qt/qtgui:4 - dev-qt/qtopengl:4 - dev-qt/qtsql:4 - dev-qt/qtwebkit:4 - python? ( dev-python/PyQt4[${PYTHON_USEDEP}] ) - ) - tk? ( dev-lang/tk ) - theora? ( media-libs/libtheora ) - tk? ( dev-lang/tk ) - video_cards_nvidia? ( media-video/nvidia-settings ) - R? ( dev-lang/R )" -DEPEND="${RDEPEND} - boost? ( >=dev-libs/boost-1.40.0[mpi?] ) - doc? ( app-doc/doxygen ) - java? ( >=virtual/jdk-1.5 ) - dev-util/cmake" - -S="${WORKDIR}"/VTK${PV/_rc/.rc} - -PATCHES=( - "${FILESDIR}"/${P}-cg-path.patch - ) - -pkg_setup() { - echo - einfo "Please note that the VTK build occasionally fails when" - einfo "using parallel make. Hence, if you experience a build" - einfo "failure please try re-emerging with MAKEOPTS=\"-j1\" first." - echo - - java-pkg-opt-2_pkg_setup - - use python && python-single-r1_pkg_setup - append-cppflags -D__STDC_CONSTANT_MACROS -} - -src_prepare() { - cmake-utils_src_prepare -} - -src_configure() { - # general configuration - local mycmakeargs=( - -Wno-dev -# -DVTK_INSTALL_PACKAGE_DIR=/$(get_libdir)/${PN}-${SPV} - -DCMAKE_SKIP_RPATH=YES - -DVTK_DIR="${S}" - -DVTK_INSTALL_LIBRARY_DIR=$(get_libdir) - -DVTK_DATA_ROOT:PATH="${EPREFIX}/usr/share/${PN}/data" - -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr" - -DBUILD_SHARED_LIBS=ON - -DVTK_USE_SYSTEM_EXPAT=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=ON - -DVTK_USE_SYSTEM_LibXml2=ON - -DVTK_USE_SYSTEM_PNG=ON - -DVTK_USE_SYSTEM_TIFF=ON - -DVTK_USE_SYSTEM_ZLIB=ON -# -DVTK_USE_SYSTEM_xdmf2=ON - -DHDF5_LIBRARY="${EPREFIX}/usr/$(get_libdir)" - -DHDF5_INCLUDE_DIRS="${EPREFIX}/usr/include" - -DBUILD_TESTING=OFF - -DBUILD_EXAMPLES=OFF - -DVTK_USE_HYBRID=ON - -DVTK_USE_GL2PS=ON - -DVTK_USE_RENDERING=ON - ) - - # use flag triggered options - mycmakeargs+=( - $(cmake-utils_use boost VTK_USE_BOOST) - $(cmake-utils_use cg VTK_USE_CG_SHADERS) - $(cmake-utils_use chemistry VTK_USE_CHEMISTRY) - $(cmake-utils_use doc DOCUMENTATION_HTML_HELP) - $(cmake-utils_use_build doc DOCUMENTATION) - $(cmake-utils_use java VTK_USE_JAVA) - $(cmake-utils_use mpi VTK_USE_MPI) - $(cmake-utils_use mysql VTK_USE_MYSQL) - $(cmake-utils_use patented VTK_USE_PATENTED) - $(cmake-utils_use postgres VTK_USE_POSTGRES) - $(cmake-utils_use odbc VTK_USE_ODBC) - $(cmake-utils_use offscreen VTK_OPENGL_HAS_OSMESA) - $(cmake-utils_use offscreen VTK_OPENGL_HAS_OSMESA) - $(cmake-utils_use qt4 VTK_USE_QT) - $(cmake-utils_use theora VTK_USE_OGGTHEORA_ENCODER) - $(cmake-utils_use ffmpeg VTK_USE_FFMPEG_ENCODER) - $(cmake-utils_use tk VTK_USE_TK) - $(cmake-utils_use threads VTK_USE_PARALLEL) - $(cmake-utils_use video_cards_nvidia VTK_USE_NVCONTROL) - $(cmake-utils_use X VTK_USE_X) - $(cmake-utils_use X VTK_USE_GUISUPPORT) - $(cmake-utils_use R VTK_USE_GNU_R) - ) - - use tk && - mycmakeargs+=( - -DVTK_WRAP_TCL=ON - -DVTK_WRAP_TK=ON - -DVTK_TCL_INCLUDE_DIR="${EPREFIX}/usr/include" - -DVTK_TCL_LIBRARY="${EPREFIX}/usr/$(get_libdir)" - -DVTK_TK_INCLUDE_DIR="${EPREFIX}/usr/include" - -DVTK_TK_LIBRARY="${EPREFIX}/usr/$(get_libdir)" - -DVTK_INSTALL_TCL_DIR="$(get_libdir)" - ) - - use theora && mycmakeargs+=( -DVTK_USE_SYSTEM_OGGTHEORA=ON ) - - # mpi needs the parallel framework - if use mpi && use !threads; then - mycmakeargs+=( -DVTK_USE_PARALLEL=ON ) - fi - - if use java; then - mycmakeargs+=( - -DVTK_WRAP_JAVA=ON - -DJAVA_AWT_INCLUDE_PATH=`java-config -O`/include - -DJAVA_INCLUDE_PATH:PATH=`java-config -O`/include - -DJAVA_INCLUDE_PATH2:PATH=`java-config -O`/include/linux - ) - - if [ "${ARCH}" == "amd64" ]; then - mycmakeargs+=(-DJAVA_AWT_LIBRARY=`java-config -O`/jre/lib/${ARCH}/libjawt.so) - else - mycmakeargs+=(-DJAVA_AWT_LIBRARY:PATH=`java-config -O`/jre/lib/i386/libjawt.so) - fi - fi - - if use python; then - mycmakeargs+=( - -DPYTHON_INCLUDE_DIR="$(python_get_includedir)" - -DPYTHON_LIBRARY="$(python_get_library_path)" - -DVTK_WRAP_PYTHON=ON - -DVTK_WRAP_PYTHON_SIP=ON - -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=--root="${D}") - fi - - if use qt4 ; then - mycmakeargs+=( - -DVTK_USE_GUISUPPORT=ON - -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=/$(get_libdir)/qt4/plugins/${PN} - -DDESIRED_QT_VERSION=4 - -DQT_MOC_EXECUTABLE="${EPREFIX}/usr/bin/moc" - -DQT_UIC_EXECUTABLE="${EPREFIX}/usr/bin/uic" - -DQT_INCLUDE_DIR="${EPREFIX}/usr/include/qt4" - -DQT_QMAKE_EXECUTABLE="${EPREFIX}/usr/bin/qmake") - fi - - cmake-utils_src_configure - - cat >> "${BUILD_DIR}"/Utilities/MaterialLibrary/ProcessShader.sh <<- EOF - #!${EPREFIX}/bin/bash - - export LD_LIBRARY_PATH="${BUILD_DIR}"/lib - "${BUILD_DIR}"/bin/vtkProcessShader-${SPV} \$@ - EOF - chmod 750 "${BUILD_DIR}"/Utilities/MaterialLibrary/ProcessShader.sh || die -} - -src_install() { - # install docs - HTML_DOCS=( "${S}"/README.html ) - - cmake-utils_src_install - - # install Tcl docs - docinto vtk_tcl - dodoc "${S}"/Wrapping/Tcl/README - - # install examples - if use examples; then - insinto /usr/share/${PN} - mv -v Examples examples || die - doins -r examples - mv -v "${WORKDIR}"/{VTKDATA${PV},data} || die - doins -r "${WORKDIR}"/data - fi - - #install big docs - if use doc; then - cd "${WORKDIR}"/html - rm -f *.md5 || die "Failed to remove superfluous hashes" - einfo "Installing API docs. This may take some time." - insinto "/usr/share/doc/${PF}/api-docs" - doins -r ./* - fi - - # environment - cat >> "${T}"/40${PN} <<- EOF - VTK_DATA_ROOT=${EPREFIX}/usr/share/${PN}/data - VTK_DIR=${EPREFIX}/usr/$(get_libdir)/${PN}-${SPV} - VTKHOME=${EPREFIX}/usr - EOF - doenvd "${T}"/40${PN} -} - -pkg_postinst() { - if use patented; then - ewarn "Using patented code in VTK may require a license." - ewarn "For more information, please read:" - ewarn "http://public.kitware.com/cgi-bin/vtkfaq?req=show&file=faq07.005.htp" - fi -} diff --git a/sci-libs/vtk/vtk-6.1.0.ebuild b/sci-libs/vtk/vtk-6.1.0.ebuild new file mode 100644 index 0000000..e243f37 --- /dev/null +++ b/sci-libs/vtk/vtk-6.1.0.ebuild @@ -0,0 +1,324 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sci-libs/vtk/vtk-6.0.0.ebuild,v 1.8 2014/11/03 13:58:24 titanofold Exp $ + +EAPI=5 + +PYTHON_COMPAT=( python{2_6,2_7} ) +CMAKE_MAKEFILE_GENERATOR=ninja + +inherit eutils flag-o-matic java-pkg-opt-2 python-single-r1 qt4-r2 versionator toolchain-funcs cmake-utils virtualx + +# Short package version +SPV="$(get_version_component_range 1-2)" + +DESCRIPTION="The Visualization Toolkit" +HOMEPAGE="http://www.vtk.org/" +SRC_URI=" + http://www.${PN}.org/files/release/${SPV}/${P/_rc/.rc}.tar.gz + doc? ( http://www.${PN}.org/files/release/${SPV}/${PN}DocHtml-${PV}.tar.gz )" + +LICENSE="BSD LGPL-2" +KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux" +SLOT="0" +IUSE=" + aqua boost cg doc examples imaging ffmpeg java mpi mysql odbc + offscreen postgres python qt4 rendering test theora tk tcl + video_cards_nvidia views R +X" + +REQUIRED_USE=" + java? ( qt4 ) + python? ( ${PYTHON_REQUIRED_USE} ) + tcl? ( rendering ) + test? ( python ) + tk? ( tcl ) + ^^ ( X aqua offscreen )" + +RDEPEND=" + dev-libs/expat + dev-libs/libxml2:2 + media-libs/freetype + media-libs/libpng + media-libs/mesa + media-libs/libtheora + media-libs/tiff + sci-libs/exodusii + sci-libs/hdf5 + sci-libs/netcdf-cxx:3 + sys-libs/zlib + virtual/jpeg + virtual/opengl + >=x11-libs/gl2ps-1.3.8 + x11-libs/libX11 + x11-libs/libXmu + x11-libs/libXt + boost? ( >=dev-libs/boost-1.40.0[mpi?] ) + cg? ( media-gfx/nvidia-cg-toolkit ) + examples? ( + dev-qt/qtcore:4 + dev-qt/qtgui:4 + sci-libs/vtkdata + ) + ffmpeg? ( virtual/ffmpeg ) + java? ( >=virtual/jre-1.5 ) + mpi? ( virtual/mpi[cxx,romio] ) + mysql? ( virtual/mysql ) + odbc? ( dev-db/unixODBC ) + offscreen? ( media-libs/mesa[osmesa] ) + postgres? ( virtual/postgresql ) + python? ( + ${PYTHON_DEPS} + dev-python/sip[${PYTHON_USEDEP}] + ) + qt4? ( + dev-qt/designer:4 + dev-qt/qtcore:4 + dev-qt/qtgui:4 + dev-qt/qtopengl:4 + dev-qt/qtsql:4 + dev-qt/qtwebkit:4 + python? ( dev-python/PyQt4[${PYTHON_USEDEP}] ) + ) + tcl? ( dev-lang/tcl ) + tk? ( dev-lang/tk ) + video_cards_nvidia? ( media-video/nvidia-settings ) + R? ( dev-lang/R )" +DEPEND="${RDEPEND} + doc? ( app-doc/doxygen ) + java? ( >=virtual/jdk-1.5 ) + test? ( sci-libs/vtkdata )" + +S="${WORKDIR}"/VTK${PV} + +PATCHES=( + "${FILESDIR}"/${P}-cg-path.patch + "${FILESDIR}"/${P}-install.patch + "${FILESDIR}"/${P}-system.patch + "${FILESDIR}"/${P}-netcdf.patch + "${FILESDIR}"/${P}-vtkpython.patch + "${FILESDIR}"/${P}-glext.patch + ) + +#RESTRICT=test + +pkg_setup() { + use java && java-pkg-opt-2_pkg_setup + use python && python-single-r1_pkg_setup + + append-cppflags -D__STDC_CONSTANT_MACROS -D_UNICODE +} + +src_prepare() { + sed \ + -e 's:libproj4:libproj:g' \ + -e 's:lib_proj.h:lib_abi.h:g' \ + -i CMake/FindLIBPROJ4.cmake || die + + local x + for x in expat freetype gl2ps hdf5 jpeg libxml2 netcdf oggtheora png tiff zlib; do + rm -r ThirdParty/${x}/vtk${x} || die + done + + if use examples || use test; then + # Replace relative path ../../../VTKData with + # otherwise it will break on symlinks. + grep -rl '\.\./\.\./\.\./\.\./VTKData' . | xargs \ + sed \ + -e "s|\.\./\.\./\.\./\.\./VTKData|${EPREFIX}/usr/share/vtk/data|g" \ + -e "s|\.\./\.\./\.\./\.\./\.\./VTKData|${EPREFIX}/usr/share/vtk/data|g" \ + -i || die + fi + + use java && export JAVA_HOME="${EPREFIX}/etc/java-config-2/current-system-vm" + + cmake-utils_src_prepare +} + +src_configure() { + # general configuration + local mycmakeargs=( + -Wno-dev +# -DCMAKE_SKIP_RPATH=YES + -DVTK_DIR="${S}" + -DVTK_INSTALL_LIBRARY_DIR=$(get_libdir) + -DVTK_DATA_ROOT:PATH="${EPREFIX}/usr/share/${PN}/data" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr" + -DVTK_CUSTOM_LIBRARY_SUFFIX="" + -DBUILD_SHARED_LIBS=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 +# -DLIBPROJ4_DIR="${EPREFIX}/usr" + -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_XDMF2=ON + -DVTK_USE_SYSTEM_ZLIB=ON + -DVTK_USE_SYSTEM_LIBRARIES=ON + -DVTK_USE_GL2PS=ON + -DVTK_USE_PARALLEL=ON + ) + + mycmakeargs+=( + -DVTK_EXTRA_COMPILER_WARNINGS=ON + -DVTK_Group_StandAlone=ON + ) + + mycmakeargs+=( + $(cmake-utils_use_build doc DOCUMENTATION) + $(cmake-utils_use_build examples EXAMPLES) + $(cmake-utils_use_build test TESTING) + $(cmake-utils_use_build test VTK_BUILD_ALL_MODULES_FOR_TESTS) + $(cmake-utils_use doc DOCUMENTATION_HTML_HELP) + $(cmake-utils_use imaging VTK_Group_Imaging) + $(cmake-utils_use mpi VTK_Group_MPI) + $(cmake-utils_use qt4 VTK_Group_Qt) + $(cmake-utils_use rendering VTK_Group_Rendering) + $(cmake-utils_use tk VTK_Group_Tk) + $(cmake-utils_use views VTK_Group_Views) + $(cmake-utils_use java VTK_WRAP_JAVA) + $(cmake-utils_use python VTK_WRAP_PYTHON) + $(cmake-utils_use python VTK_WRAP_PYTHON_SIP) + $(cmake-utils_use tcl VTK_WRAP_TCL) +# -DVTK_BUILD_ALL_MODULES=ON + ) + + mycmakeargs+=( + $(cmake-utils_use boost VTK_USE_BOOST) + $(cmake-utils_use cg VTK_USE_CG_SHADERS) + $(cmake-utils_use odbc VTK_USE_ODBC) + $(cmake-utils_use offscreen VTK_USE_OFFSCREEN) + $(cmake-utils_use offscreen VTK_OPENGL_HAS_OSMESA) + $(cmake-utils_use theora VTK_USE_OGGTHEORA_ENCODER) + $(cmake-utils_use ffmpeg VTK_USE_FFMPEG_ENCODER) + $(cmake-utils_use video_cards_nvidia VTK_USE_NVCONTROL) + $(cmake-utils_use R Module_vtkFiltersStatisticsGnuR) + $(cmake-utils_use X VTK_USE_X) + ) + + # Apple stuff, does it really work? + mycmakeargs+=( $(cmake-utils_use aqua VTK_USE_COCOA) ) + + if use java; then +# local _ejavahome=${EPREFIX}/etc/java-config-2/current-system-vm +# +# mycmakeargs+=( +# -DJAVAC=${EPREFIX}/usr/bin/javac +# -DJAVAC=$(java-config -c) +# -DJAVA_AWT_INCLUDE_PATH=${JAVA_HOME}/include +# -DJAVA_INCLUDE_PATH:PATH=${JAVA_HOME}/include +# -DJAVA_INCLUDE_PATH2:PATH=${JAVA_HOME}/include/linux +# ) +# + if [ "${ARCH}" == "amd64" ]; then + mycmakeargs+=( -DJAVA_AWT_LIBRARY="${JAVA_HOME}/jre/lib/${ARCH}/libjawt.so;${JAVA_HOME}/jre/lib/${ARCH}/xawt/libmawt.so" ) + else + mycmakeargs+=( -DJAVA_AWT_LIBRARY="${JAVA_HOME}/jre/lib/i386/libjawt.so;${JAVA_HOME}/jre/lib/i386/xawt/libmawt.so" ) + fi + fi + if use python; then + mycmakeargs+=( + -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=${PREFIX} --root=${D}" + ) + fi + + if use qt4; 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=/$(get_libdir)/qt4/plugins/designer + -DDESIRED_QT_VERSION=4 + -DQT_MOC_EXECUTABLE="${EPREFIX}/usr/bin/moc" + -DQT_UIC_EXECUTABLE="${EPREFIX}/usr/bin/uic" + -DQT_INCLUDE_DIR="${EPREFIX}/usr/include/qt4" + -DQT_QMAKE_EXECUTABLE="${EPREFIX}/usr/bin/qmake" + ) + fi + + if use R; then + mycmakeargs+=( +# -DR_LIBRARY_BLAS=$($(tc-getPKG_CONFIG) --libs blas) +# -DR_LIBRARY_LAPACK=$($(tc-getPKG_CONFIG) --libs lapack) + -DR_LIBRARY_BLAS=/usr/lib64/R/lib/libR.so + -DR_LIBRARY_LAPACK=/usr/lib64/R/lib/libR.so + ) + fi + + cmake-utils_src_configure + + cat >> "${BUILD_DIR}"/Utilities/MaterialLibrary/ProcessShader.sh <<- EOF + #!${EPREFIX}/bin/bash + + export LD_LIBRARY_PATH="${BUILD_DIR}"/lib + "${BUILD_DIR}"/bin/vtkProcessShader \$@ + EOF + chmod 750 "${BUILD_DIR}"/Utilities/MaterialLibrary/ProcessShader.sh || die +} + +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 $(basename "${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/ + local VIRTUALX_COMMAND="cmake-utils_src_test" +# local VIRTUALX_COMMAND="cmake-utils_src_test -R Java" +# local VIRTUALX_COMMAND="cmake-utils_src_test -I 364,365" + virtualmake +} + +src_install() { + # install docs + HTML_DOCS=( "${S}"/README.html ) + + 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 "${S}"/Wrapping/Tcl/README + fi + + # install examples + if use examples; then + insinto /usr/share/${PN} + mv -v Examples examples || die + doins -r examples + fi + + #install big docs + if use doc; then + cd "${WORKDIR}"/html || die + rm -f *.md5 || die "Failed to remove superfluous hashes" + einfo "Installing API docs. This may take some time." + insinto "/usr/share/doc/${PF}/api-docs" + doins -r ./* + fi + + # environment + cat >> "${T}"/40${PN} <<- EOF + VTK_DATA_ROOT=${EPREFIX}/usr/share/${PN}/data + VTK_DIR=${EPREFIX}/usr/$(get_libdir)/${PN}-${SPV} + VTKHOME=${EPREFIX}/usr + EOF + doenvd "${T}"/40${PN} +}
