From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- sci-visualization/paraview/Manifest | 9 + .../files/paraview-4.0.1-xdmf-cstring.patch | 12 + .../files/paraview-5.3.0-fix_buildsystem.patch | 24 ++ sci-visualization/paraview/metadata.xml | 16 ++ sci-visualization/paraview/paraview-5.2.0.ebuild | 288 +++++++++++++++++++++ sci-visualization/paraview/paraview-5.3.0.ebuild | 286 ++++++++++++++++++++ 6 files changed, 635 insertions(+) create mode 100644 sci-visualization/paraview/Manifest create mode 100644 sci-visualization/paraview/files/paraview-4.0.1-xdmf-cstring.patch create mode 100644 sci-visualization/paraview/files/paraview-5.3.0-fix_buildsystem.patch create mode 100644 sci-visualization/paraview/metadata.xml create mode 100644 sci-visualization/paraview/paraview-5.2.0.ebuild create mode 100644 sci-visualization/paraview/paraview-5.3.0.ebuild (limited to 'sci-visualization/paraview') diff --git a/sci-visualization/paraview/Manifest b/sci-visualization/paraview/Manifest new file mode 100644 index 000000000000..9bfeb44a5191 --- /dev/null +++ b/sci-visualization/paraview/Manifest @@ -0,0 +1,9 @@ +AUX paraview-4.0.1-xdmf-cstring.patch 360 SHA256 4505a480b3775d20cde98f724a20c8b0dbf4f3baf6068013bf69b0e54c1f8473 SHA512 5577b7bae26959546795721d712c4e4f6a5403b35c0871040f6c74c07cd3aecd5b03e9f7a07ef49714b8adb4c7cc880385215b8742895006d2ad3dfeccc50472 WHIRLPOOL e0d0c1603ba4ca66fc05dd5049215f2c988f3452763772df35c7fd6a8cb6fa779fd4efbccd20a01f19778f7c0b1db78e0af12716137976ae7bf54923a6bc0642 +AUX paraview-5.3.0-fix_buildsystem.patch 797 SHA256 abad98f133e817605923d3595ea9e4e579810ca2c0466f6eb29e365e872d6d29 SHA512 18526dc29219fd8dbc3679920ce271977cfb153a51cf217d49ba544510da23ee02f57b3ee9450ad9ee421d272a18fecdf3bd5043225cc16d04a2b115f62ce1f0 WHIRLPOOL 61a5c9e8088bb4aa71d8e0facf944832dce5b27a216ae80bc956d62285b9d7a6033a8958166f1027d7c0a492b5ce00670f69527f86901f16f148fb74915171cb +DIST ParaView-v5.2.0.tar.gz 47087129 SHA256 894e42ef8475bb49e4e7e64f4ee2c37c714facd18bfbb1d6de7f69676b062c96 SHA512 d46b71a03717bde164fe2b6cdcc1c478384ad0d379e203e75e69e1532f8703b4ce12f8992d39e61d09e2ad7bbf1e249fc1f00c4cdd65aabef831e0dca83485f1 WHIRLPOOL bfc63e95d899e9d7be5432f5e6b6e7a68731726b199a7dd897a4bcbe242537fa5cf2210d20ef4c725ab8af92609b0fb875078ec537577a074672776771f4fd2f +DIST ParaView-v5.3.0.tar.gz 45173528 SHA256 046631bbf00775edc927314a3db207509666c9c6aadc7079e5159440fd2f88a0 SHA512 3dc3c2a1c27a0f0dc82fc04ce84477a26aacb329d6ea42c276c4204e39d11bc78adbc1807e1e7168aade31aa48b6d628775841b8b94b5122084eac46e358a23f WHIRLPOOL b69945d2f260a2419339bb289eaca252f018557c520c96fb64c0625e72587e2f3f159fff83b845f29d7de55f50547463cca9b7fe6d0920a2f95cb58a707930b3 +EBUILD paraview-5.2.0.ebuild 9341 SHA256 9e2e926e129d577d33dc74dd39dc1d6ae6d777bc0fc0333c5060af47d06d30df SHA512 34d36ff8075d23da52fab1ef7e97fdea9440dcc753117adc80e886ed3b687d8d29d1f6cf49b52e5b84e4d1c59cf6ecf4a12ccdf57b8dd8d031e7db42310f6336 WHIRLPOOL 0cf9915b990b103319bb24fe7e36b71b7b0071cce90b59d3338d6d1039a54938345f6ba43d5e65d3118530ce3c2d60aafa774fab461191593b9de2da7c0c1635 +EBUILD paraview-5.3.0.ebuild 9225 SHA256 8aa5d4df342ca5149da1fea0120e28b7dde2174213f59e40e318fbbfd2b9cf8a SHA512 11756984a9d9f861d4dd2a8ca9eb3950e910f568a8a9556137fc2a6e823762528abaf2519a921494de1dbd1d6f90057ebdd60562d50e6aef33b55b0e7e518fb2 WHIRLPOOL 8d4926730729124e123215990f7ebf41e26682d00e3631323cafc507c46f6efc05c39cb414b1870557d7de1084d8ebc67a3c1c917706829fafc3d4c789330f90 +MISC ChangeLog 9681 SHA256 739ff54a9818f86cd405fd881c1d09be9c2403731669e342ce1c69afcabd2d43 SHA512 58dd16305dbcf08bea6e5c024932a670f7145001a27b33225189d1db96f8687d1520747e37116ceb60330f2dcca0ec3b775eb6099431c8cc2e1fbae2f59a5953 WHIRLPOOL 57cc0d18b9c54f2fb96955af9097a6835f3f34b16bffc3199a7a6093ef10ef870a5bb7fed19e2c9df157a3d095093ff5c797156db8f296ce85e874323339774c +MISC ChangeLog-2015 19042 SHA256 1e2fe3a96e96ad81b607e717a70b77a8622d0d311b80751c74256789519e91d8 SHA512 37cc7a1ea90f479d32f1d703e8ab03a9fb6a6ed1a42d5906237de084283b8dc4a54ec7a8629e416beddbccf2b87d44f4be063f8936397847c9fd002c55408e97 WHIRLPOOL 1b58a32c46e9f631829c126e39cfe8a20f4ecd87aee03c792e38111592839060b2ca585c4aa22e17816bb99049ed9c80e9f86d516d8bfb9eb0d3cb3e3e9de6da +MISC metadata.xml 748 SHA256 72450380acf2c00869d65907d7e1578aa4caf676363ee61223fa84fadaa68153 SHA512 5354c12b5448883903bca724a5d3adfc1cccf352d378317f7ab43f3e4125e2329d9477081eff7e37c8602aaba2aa6df0c73a240d409541017555920f57847d65 WHIRLPOOL 08bc77c3c38b038314bce0573d0ad7d7c4707cb3ff90d2ed2fe168f9a0c5e31eb0cb0056eaf0929256e61d4aec86f18c115ccc627ff5da20a95b2a3beb2c8902 diff --git a/sci-visualization/paraview/files/paraview-4.0.1-xdmf-cstring.patch b/sci-visualization/paraview/files/paraview-4.0.1-xdmf-cstring.patch new file mode 100644 index 000000000000..665f40ad4fa7 --- /dev/null +++ b/sci-visualization/paraview/files/paraview-4.0.1-xdmf-cstring.patch @@ -0,0 +1,12 @@ +gcc header fix + +--- ParaView-3.98.0-src/VTK/ThirdParty/xdmf2/vtkxdmf2/libsrc/XdmfObject.h ++++ ParaView-3.98.0-src/VTK/ThirdParty/xdmf2/vtkxdmf2/libsrc/XdmfObject.h +@@ -82,6 +82,7 @@ + # ifdef UNIX + # include "sys/file.h" + # include "strings.h" ++# include + # define STRCASECMP strcasecmp + # define STRNCASECMP strncasecmp + # define STRCMP strcmp diff --git a/sci-visualization/paraview/files/paraview-5.3.0-fix_buildsystem.patch b/sci-visualization/paraview/files/paraview-5.3.0-fix_buildsystem.patch new file mode 100644 index 000000000000..600c7d43744a --- /dev/null +++ b/sci-visualization/paraview/files/paraview-5.3.0-fix_buildsystem.patch @@ -0,0 +1,24 @@ +From dcc3d775bddc270aa1a4d06f85807979ab0c8358 Mon Sep 17 00:00:00 2001 +From: Matthias Maier +Date: Thu, 1 Jun 2017 02:27:16 -0500 +Subject: [PATCH] fix buildsystem + +--- + VTK/Utilities/Doxygen/CMakeLists.txt | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/VTK/Utilities/Doxygen/CMakeLists.txt b/VTK/Utilities/Doxygen/CMakeLists.txt +index 3f285f6..7ebf3ee 100644 +--- a/VTK/Utilities/Doxygen/CMakeLists.txt ++++ b/VTK/Utilities/Doxygen/CMakeLists.txt +@@ -80,7 +80,4 @@ if(NOT VTK_INSTALL_NO_DOCUMENTATION) + install(FILES doc_readme.txt + DESTINATION ${VTK_INSTALL_DOXYGEN_DIR} + COMPONENT Development) +- install(DIRECTORY ${VTK_BINARY_DIR}/Utilities/Doxygen/doc/html +- DESTINATION ${VTK_INSTALL_DOXYGEN_DIR} +- COMPONENT Development) + endif() +-- +2.13.0 + diff --git a/sci-visualization/paraview/metadata.xml b/sci-visualization/paraview/metadata.xml new file mode 100644 index 000000000000..d2593b87682c --- /dev/null +++ b/sci-visualization/paraview/metadata.xml @@ -0,0 +1,16 @@ + + + + + tamiko@gentoo.org + Matthias Maier + + + Enable the usage of dev-libs/boost + Enable the coprocessing infrastructure which is mainly useful in the context of clusters + Add support for nvidia's cg shaders + Add NVCONTROL support for OpenGL options + Build and install additional plugins + Install development files including headers + + diff --git a/sci-visualization/paraview/paraview-5.2.0.ebuild b/sci-visualization/paraview/paraview-5.2.0.ebuild new file mode 100644 index 000000000000..e699e91e48cb --- /dev/null +++ b/sci-visualization/paraview/paraview-5.2.0.ebuild @@ -0,0 +1,288 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) +inherit eutils cmake-utils multilib python-single-r1 toolchain-funcs versionator + +MAIN_PV=$(get_major_version) +MAJOR_PV=$(get_version_component_range 1-2) +MY_P="ParaView-v${PV}" + +DESCRIPTION="ParaView is a powerful scientific data visualization application" +HOMEPAGE="http://www.paraview.org" +SRC_URI="http://www.paraview.org/files/v${MAJOR_PV}/${MY_P}.tar.gz" +RESTRICT="mirror" + +LICENSE="paraview GPL-2" +KEYWORDS="~amd64 ~x86" +SLOT="0" +IUSE="boost cg coprocessing development doc examples ffmpeg mpi mysql nvcontrol openmp plugins python +qt5 sqlite tcl test tk" +RESTRICT="test" + +REQUIRED_USE="python? ( mpi ${PYTHON_REQUIRED_USE} ) + mysql? ( sqlite )" # "vtksqlite, needed by vtkIOSQL" and "vtkIOSQL, needed by vtkIOMySQL" + +RDEPEND=" + dev-libs/expat + dev-libs/jsoncpp + dev-libs/libxml2:2 + dev-libs/protobuf + media-libs/freetype + media-libs/libpng:0 + media-libs/libtheora + media-libs/tiff:0= + sci-libs/hdf5[mpi=] + >=sci-libs/netcdf-4.2[hdf5] + >=sci-libs/netcdf-cxx-4.2:3 + sys-libs/zlib + virtual/jpeg:0 + virtual/opengl + virtual/glu + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXmu + x11-libs/libXt + coprocessing? ( + plugins? ( + dev-python/PyQt5 + dev-qt/qtgui:5[-gles2] + ) + ) + ffmpeg? ( virtual/ffmpeg ) + mpi? ( virtual/mpi[cxx,romio] ) + mysql? ( virtual/mysql ) + python? ( + ${PYTHON_DEPS} + dev-python/matplotlib[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/sip[${PYTHON_USEDEP}] + dev-python/twisted-core + dev-python/zope-interface[${PYTHON_USEDEP}] + mpi? ( dev-python/mpi4py ) + qt5? ( dev-python/PyQt5[opengl,webkit,${PYTHON_USEDEP}] ) + ) + qt5? ( + dev-qt/designer:5 + dev-qt/qtgui:5[-gles2] + dev-qt/qthelp:5 + dev-qt/qtopengl:5[-gles2] + dev-qt/qtsql:5 + dev-qt/qttest:5 + dev-qt/qtwebkit:5 + dev-qt/qtx11extras:5 + ) + sqlite? ( dev-db/sqlite:3 ) + tcl? ( dev-lang/tcl:0= ) + tk? ( dev-lang/tk:0= )" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + >=dev-util/cmake-3.4 + boost? ( >=dev-libs/boost-1.40.0[mpi?,${PYTHON_USEDEP}] ) + doc? ( app-doc/doxygen )" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}"/${PN}-4.0.1-xdmf-cstring.patch +) + +pkg_pretend() { + if [[ ${MERGE_TYPE} != "binary" ]] && use openmp && [[ $(tc-getCC)$ == *gcc* ]] && ! tc-has-openmp; then + eerror "For USE=openmp a gcc with openmp support is required" + eerror + return 1 + fi +} + +pkg_setup() { + python-single-r1_pkg_setup + PVLIBDIR=$(get_libdir)/${PN}-${MAJOR_PV} +} + +src_prepare() { + + default + epatch "${PATCHES[@]}" + + # lib64 fixes + sed -i \ + -e "s:/usr/lib:${EPREFIX}/usr/$(get_libdir):g" \ + VTK/ThirdParty/xdmf2/vtkxdmf2/libsrc/CMakeLists.txt || die + sed -i \ + -e "s:\/lib\/python:\/$(get_libdir)\/python:g" \ + VTK/ThirdParty/xdmf2/vtkxdmf2/CMake/setup_install_paths.py || die + sed -i \ + -e "s:lib/paraview-:$(get_libdir)/paraview-:g" \ + CMakeLists.txt \ + Plugins/SciberQuestToolKit/CMakeLists.txt \ + ParaViewConfig.cmake.in \ + CoProcessing/PythonCatalyst/vtkCPPythonScriptPipeline.cxx \ + ParaViewCore/ClientServerCore/Core/vtkProcessModuleInitializePython.h \ + ParaViewCore/ClientServerCore/Core/vtkPVPluginTracker.cxx \ + Plugins/SciberQuestToolKit/ParaViewPlugin/CMakeLists.txt \ + Plugins/SciberQuestToolKit/SciberQuest/CMakeLists.txt || die + + # no proper switch + use nvcontrol || { + sed -i \ + -e '/VTK_USE_NVCONTROL/s#1#0#' \ + VTK/Rendering/OpenGL/CMakeLists.txt || die + } +} + +src_configure() { + if use qt5; then + export QT_SELECT=qt5 + fi + + # VTK_USE_SYSTEM_QTTESTING + # PARAVIEW_USE_SYSTEM_AUTOBAHN + local mycmakeargs=( + -DPV_INSTALL_LIB_DIR="${PVLIBDIR}" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}"/usr + -DEXPAT_INCLUDE_DIR="${EPREFIX}"/usr/include + -DEXPAT_LIBRARY="${EPREFIX}"/usr/$(get_libdir)/libexpat.so + -DOPENGL_gl_LIBRARY="${EPREFIX}"/usr/$(get_libdir)/libGL.so + -DOPENGL_glu_LIBRARY="${EPREFIX}"/usr/$(get_libdir)/libGLU.so + -DBUILD_SHARED_LIBS=ON + -DCMAKE_COLOR_MAKEFILE=TRUE + -DCMAKE_USE_PTHREADS=ON + -DCMAKE_VERBOSE_MAKEFILE=ON + -DPARAVIEW_USE_SYSTEM_MPI4PY=ON + -DPROTOC_LOCATION=$(type -P protoc) + -DVTK_Group_StandAlone=ON + -DVTK_RENDERING_BACKEND=OpenGL2 + -DVTK_USE_FFMPEG_ENCODER=OFF + -DVTK_USE_OFFSCREEN=TRUE + -DVTK_USE_SYSTEM_EXPAT=ON + -DVTK_USE_SYSTEM_FREETYPE=ON + -DVTK_USE_SYSTEM_GL2PS=OFF + -DVTK_USE_SYSTEM_HDF5=ON + -DVTK_USE_SYSTEM_JPEG=ON + -DVTK_USE_SYSTEM_JSONCPP=ON + -DVTK_USE_SYSTEM_LIBXML2=ON + -DVTK_USE_SYSTEM_NETCDF=ON + -DVTK_USE_SYSTEM_OGGTHEORA=ON + -DVTK_USE_SYSTEM_PNG=ON + -DVTK_USE_SYSTEM_PROTOBUF=ON + -DVTK_USE_SYSTEM_TIFF=ON + -DVTK_USE_SYSTEM_TWISTED=ON + -DVTK_USE_SYSTEM_XDMF2=OFF + -DVTK_USE_SYSTEM_ZLIB=ON + -DVTK_USE_SYSTEM_ZOPE=ON + # force this module due to incorrect build system deps + # wrt bug 460528 + -DModule_vtkUtilitiesProcessXML=ON + ) + + # TODO: XDMF_USE_MYSQL? + # VTK_WRAP_JAVA + mycmakeargs+=( + $(cmake-utils_use development PARAVIEW_INSTALL_DEVELOPMENT_FILES) + $(cmake-utils_use qt5 PARAVIEW_BUILD_QT_GUI) + $(usex qt5 "-DPARAVIEW_QT_VERSION=5" "") + $(cmake-utils_use qt5 Module_vtkGUISupportQtOpenGL) + $(cmake-utils_use qt5 Module_vtkGUISupportQtSQL) + $(cmake-utils_use qt5 Module_vtkGUISupportQtWebkit) + $(cmake-utils_use qt5 Module_vtkRenderingQt) + $(cmake-utils_use qt5 Module_vtkViewsQt) + $(cmake-utils_use qt5 VTK_Group_ParaViewQt) + $(cmake-utils_use qt5 VTK_Group_Qt) + $(cmake-utils_use !qt5 PQWIDGETS_DISABLE_QTWEBKIT) + $(cmake-utils_use boost Module_vtkInfovisBoost) + $(cmake-utils_use boost Module_vtkInfovisBoostGraphAlg) + $(cmake-utils_use mpi PARAVIEW_USE_MPI) + $(cmake-utils_use mpi PARAVIEW_USE_MPI_SSEND) + $(cmake-utils_use mpi PARAVIEW_USE_ICE_T) + $(cmake-utils_use mpi VTK_Group_MPI) + $(cmake-utils_use mpi VTK_XDMF_USE_MPI) + $(cmake-utils_use mpi XDMF_BUILD_MPI) + $(cmake-utils_use python PARAVIEW_ENABLE_PYTHON) + $(cmake-utils_use python VTK_Group_ParaViewPython) + $(cmake-utils_use python XDMF_WRAP_PYTHON) + $(cmake-utils_use python Module_vtkPython) + $(cmake-utils_use python Module_pqPython) + $(cmake-utils_use python Module_vtkWrappingPythonCore) + $(cmake-utils_use python Module_vtkPVPythonSupport) + $(cmake-utils_use python Module_AutobahnPython) + $(cmake-utils_use python Module_Twisted) + $(cmake-utils_use python Module_ZopeInterface) + $(cmake-utils_use python Module_vtkmpi4py) + $(usex qt5 "$(cmake-utils_use python Module_pqPython)" "-DModule_pqPython=OFF") + $(cmake-utils_use doc BUILD_DOCUMENTATION) + $(cmake-utils_use doc PARAVIEW_BUILD_WEB_DOCUMENTATION) + $(cmake-utils_use examples BUILD_EXAMPLES) + $(cmake-utils_use cg VTK_USE_CG_SHADERS) + $(cmake-utils_use mysql Module_vtkIOMySQL) + $(cmake-utils_use sqlite Module_vtksqlite) + $(cmake-utils_use coprocessing PARAVIEW_ENABLE_CATALYST) + $(cmake-utils_use ffmpeg PARAVIEW_ENABLE_FFMPEG) + $(cmake-utils_use ffmpeg VTK_USE_FFMPEG_ENCODER) + $(cmake-utils_use ffmpeg Module_vtkIOFFMPEG) + $(cmake-utils_use tk VTK_Group_Tk) + $(cmake-utils_use tk VTK_USE_TK) + $(cmake-utils_use tk Module_vtkRenderingTk) + $(cmake-utils_use tcl Module_vtkTclTk) + $(cmake-utils_use tcl Module_vtkWrappingTcl) + $(cmake-utils_use test BUILD_TESTING) + ) + + if use openmp; then + mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE=OpenMP ) + fi + + if use qt5 ; then + mycmakeargs+=( -DVTK_INSTALL_QT_DIR=/${PVLIBDIR}/plugins/designer ) + if use python ; then + # paraview cannot guess sip directory properly + mycmakeargs+=( -DSIP_INCLUDE_DIR="${EPREFIX}$(python_get_includedir)" ) + fi + fi + + # TODO: MantaView VaporPlugin VRPlugin + mycmakeargs+=( + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_AdiosReader) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_AnalyzeNIfTIIO) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_ArrowGlyph) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_EyeDomeLighting) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_ForceTime) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_GMVReader) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_H5PartReader) + $(cmake-utils_use plugins RAVIEW_BUILD_PLUGIN_MobileRemoteControl) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_Moments) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_NonOrthogonalSource) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_PacMan) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_PointSprite) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_PrismPlugin) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_QuadView) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_SLACTools) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_SciberQuestToolKit) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_SierraPlotTools) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_StreamingParticles) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_SurfaceLIC) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_UncertaintyRendering) + # these are always needed for plugins + $(cmake-utils_use plugins Module_vtkFiltersFlowPaths) + $(cmake-utils_use plugins Module_vtkPVServerManagerApplication) + ) + + cmake-utils_src_configure +} + +src_compile() { + cmake-utils_src_compile +} + +src_install() { + cmake-utils_src_install + + # set up the environment + echo "LDPATH=${EPREFIX}/usr/${PVLIBDIR}" > "${T}"/40${PN} + + newicon "${S}"/Applications/ParaView/pvIcon-32x32.png paraview.png + make_desktop_entry paraview "Paraview" paraview + + use python && python_optimize "${D}"/usr/$(get_libdir)/${PN}-${MAJOR_PV} +} diff --git a/sci-visualization/paraview/paraview-5.3.0.ebuild b/sci-visualization/paraview/paraview-5.3.0.ebuild new file mode 100644 index 000000000000..221ba8da9255 --- /dev/null +++ b/sci-visualization/paraview/paraview-5.3.0.ebuild @@ -0,0 +1,286 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) +inherit eutils cmake-utils multilib python-single-r1 toolchain-funcs versionator + +MAIN_PV=$(get_major_version) +MAJOR_PV=$(get_version_component_range 1-2) +MY_P="ParaView-v${PV}" + +DESCRIPTION="ParaView is a powerful scientific data visualization application" +HOMEPAGE="http://www.paraview.org" +SRC_URI="http://www.paraview.org/files/v${MAJOR_PV}/${MY_P}.tar.gz" +RESTRICT="mirror" + +LICENSE="paraview GPL-2" +KEYWORDS="~amd64 ~x86" +SLOT="0" +IUSE="boost cg coprocessing development doc examples ffmpeg mpi mysql nvcontrol openmp plugins python +qt5 sqlite tcl test tk" +RESTRICT="test" + +REQUIRED_USE="python? ( mpi ${PYTHON_REQUIRED_USE} ) + mysql? ( sqlite )" # "vtksqlite, needed by vtkIOSQL" and "vtkIOSQL, needed by vtkIOMySQL" + +RDEPEND=" + dev-libs/expat + dev-libs/jsoncpp + dev-libs/libxml2:2 + dev-libs/protobuf + media-libs/freetype + media-libs/libpng:0 + media-libs/libtheora + media-libs/tiff:0= + sci-libs/hdf5[mpi=] + >=sci-libs/netcdf-4.2[hdf5] + >=sci-libs/netcdf-cxx-4.2:3 + sys-libs/zlib + virtual/jpeg:0 + virtual/opengl + virtual/glu + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXmu + x11-libs/libXt + coprocessing? ( + plugins? ( + dev-python/PyQt5 + dev-qt/qtgui:5[-gles2] + ) + ) + ffmpeg? ( virtual/ffmpeg ) + mpi? ( virtual/mpi[cxx,romio] ) + mysql? ( virtual/mysql ) + python? ( + ${PYTHON_DEPS} + dev-python/matplotlib[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/sip[${PYTHON_USEDEP}] + dev-python/twisted-core + dev-python/zope-interface[${PYTHON_USEDEP}] + mpi? ( dev-python/mpi4py ) + qt5? ( dev-python/PyQt5[opengl,webkit,${PYTHON_USEDEP}] ) + ) + qt5? ( + dev-qt/designer:5 + dev-qt/qtgui:5[-gles2] + dev-qt/qthelp:5 + dev-qt/qtopengl:5[-gles2] + dev-qt/qtsql:5 + dev-qt/qttest:5 + dev-qt/qtwebkit:5 + dev-qt/qtx11extras:5 + ) + sqlite? ( dev-db/sqlite:3 ) + tcl? ( dev-lang/tcl:0= ) + tk? ( dev-lang/tk:0= )" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + >=dev-util/cmake-3.4 + boost? ( >=dev-libs/boost-1.40.0[mpi?,${PYTHON_USEDEP}] ) + doc? ( app-doc/doxygen )" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}"/${PN}-4.0.1-xdmf-cstring.patch + "${FILESDIR}"/${PN}-5.3.0-fix_buildsystem.patch +) + +pkg_pretend() { + if [[ ${MERGE_TYPE} != "binary" ]] && use openmp && [[ $(tc-getCC)$ == *gcc* ]] && ! tc-has-openmp; then + eerror "For USE=openmp a gcc with openmp support is required" + eerror + return 1 + fi +} + +pkg_setup() { + python-single-r1_pkg_setup + PVLIBDIR=$(get_libdir)/${PN}-${MAJOR_PV} +} + +src_prepare() { + + default + epatch "${PATCHES[@]}" + + # lib64 fixes + sed -i \ + -e "s:/usr/lib:${EPREFIX}/usr/$(get_libdir):g" \ + VTK/ThirdParty/xdmf2/vtkxdmf2/libsrc/CMakeLists.txt || die + sed -i \ + -e "s:\/lib\/python:\/$(get_libdir)\/python:g" \ + VTK/ThirdParty/xdmf2/vtkxdmf2/CMake/setup_install_paths.py || die + sed -i \ + -e "s:lib/paraview-:$(get_libdir)/paraview-:g" \ + CMakeLists.txt \ + ParaViewConfig.cmake.in \ + CoProcessing/PythonCatalyst/vtkCPPythonScriptPipeline.cxx \ + ParaViewCore/ClientServerCore/Core/vtkProcessModuleInitializePython.h \ + ParaViewCore/ClientServerCore/Core/vtkPVPluginTracker.cxx || die + + # no proper switch + use nvcontrol || { + sed -i \ + -e '/VTK_USE_NVCONTROL/s#1#0#' \ + VTK/Rendering/OpenGL/CMakeLists.txt || die + } +} + +src_configure() { + if use qt5; then + export QT_SELECT=qt5 + fi + + # VTK_USE_SYSTEM_QTTESTING + # PARAVIEW_USE_SYSTEM_AUTOBAHN + local mycmakeargs=( + -DPV_INSTALL_LIB_DIR="${PVLIBDIR}" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}"/usr + -DEXPAT_INCLUDE_DIR="${EPREFIX}"/usr/include + -DEXPAT_LIBRARY="${EPREFIX}"/usr/$(get_libdir)/libexpat.so + -DOPENGL_gl_LIBRARY="${EPREFIX}"/usr/$(get_libdir)/libGL.so + -DOPENGL_glu_LIBRARY="${EPREFIX}"/usr/$(get_libdir)/libGLU.so + -DBUILD_SHARED_LIBS=ON + -DCMAKE_COLOR_MAKEFILE=TRUE + -DCMAKE_USE_PTHREADS=ON + -DCMAKE_VERBOSE_MAKEFILE=ON + -DPARAVIEW_USE_SYSTEM_MPI4PY=ON + -DPROTOC_LOCATION=$(type -P protoc) + -DVTK_Group_StandAlone=ON + -DVTK_RENDERING_BACKEND=OpenGL2 + -DVTK_USE_FFMPEG_ENCODER=OFF + -DVTK_USE_OFFSCREEN=TRUE + -DVTK_USE_SYSTEM_EXPAT=ON + -DVTK_USE_SYSTEM_FREETYPE=ON + -DVTK_USE_SYSTEM_GL2PS=OFF + -DVTK_USE_SYSTEM_HDF5=ON + -DVTK_USE_SYSTEM_JPEG=ON + -DVTK_USE_SYSTEM_JSONCPP=ON + -DVTK_USE_SYSTEM_LIBXML2=ON + -DVTK_USE_SYSTEM_NETCDF=ON + -DVTK_USE_SYSTEM_OGGTHEORA=ON + -DVTK_USE_SYSTEM_PNG=ON + -DVTK_USE_SYSTEM_PROTOBUF=ON + -DVTK_USE_SYSTEM_TIFF=ON + -DVTK_USE_SYSTEM_TWISTED=ON + -DVTK_USE_SYSTEM_XDMF2=OFF + -DVTK_USE_SYSTEM_ZLIB=ON + -DVTK_USE_SYSTEM_ZOPE=ON + # force this module due to incorrect build system deps + # wrt bug 460528 + -DModule_vtkUtilitiesProcessXML=ON + ) + + # TODO: XDMF_USE_MYSQL? + # VTK_WRAP_JAVA + mycmakeargs+=( + $(cmake-utils_use development PARAVIEW_INSTALL_DEVELOPMENT_FILES) + $(cmake-utils_use qt5 PARAVIEW_BUILD_QT_GUI) + $(usex qt5 "-DPARAVIEW_QT_VERSION=5" "") + $(cmake-utils_use qt5 Module_vtkGUISupportQtOpenGL) + $(cmake-utils_use qt5 Module_vtkGUISupportQtSQL) + $(cmake-utils_use qt5 Module_vtkGUISupportQtWebkit) + $(cmake-utils_use qt5 Module_vtkRenderingQt) + $(cmake-utils_use qt5 Module_vtkViewsQt) + $(cmake-utils_use qt5 VTK_Group_ParaViewQt) + $(cmake-utils_use qt5 VTK_Group_Qt) + $(cmake-utils_use !qt5 PQWIDGETS_DISABLE_QTWEBKIT) + $(cmake-utils_use boost Module_vtkInfovisBoost) + $(cmake-utils_use boost Module_vtkInfovisBoostGraphAlg) + $(cmake-utils_use mpi PARAVIEW_USE_MPI) + $(cmake-utils_use mpi PARAVIEW_USE_MPI_SSEND) + $(cmake-utils_use mpi PARAVIEW_USE_ICE_T) + $(cmake-utils_use mpi VTK_Group_MPI) + $(cmake-utils_use mpi VTK_XDMF_USE_MPI) + $(cmake-utils_use mpi XDMF_BUILD_MPI) + $(cmake-utils_use python PARAVIEW_ENABLE_PYTHON) + $(cmake-utils_use python VTK_Group_ParaViewPython) + $(cmake-utils_use python XDMF_WRAP_PYTHON) + $(cmake-utils_use python Module_vtkPython) + $(cmake-utils_use python Module_pqPython) + $(cmake-utils_use python Module_vtkWrappingPythonCore) + $(cmake-utils_use python Module_vtkPVPythonSupport) + $(cmake-utils_use python Module_AutobahnPython) + $(cmake-utils_use python Module_Twisted) + $(cmake-utils_use python Module_ZopeInterface) + $(cmake-utils_use python Module_vtkmpi4py) + $(usex qt5 "$(cmake-utils_use python Module_pqPython)" "-DModule_pqPython=OFF") + $(cmake-utils_use doc BUILD_DOCUMENTATION) + $(cmake-utils_use doc PARAVIEW_BUILD_WEB_DOCUMENTATION) + $(cmake-utils_use examples BUILD_EXAMPLES) + $(cmake-utils_use cg VTK_USE_CG_SHADERS) + $(cmake-utils_use mysql Module_vtkIOMySQL) + $(cmake-utils_use sqlite Module_vtksqlite) + $(cmake-utils_use coprocessing PARAVIEW_ENABLE_CATALYST) + $(cmake-utils_use ffmpeg PARAVIEW_ENABLE_FFMPEG) + $(cmake-utils_use ffmpeg VTK_USE_FFMPEG_ENCODER) + $(cmake-utils_use ffmpeg Module_vtkIOFFMPEG) + $(cmake-utils_use tk VTK_Group_Tk) + $(cmake-utils_use tk VTK_USE_TK) + $(cmake-utils_use tk Module_vtkRenderingTk) + $(cmake-utils_use tcl Module_vtkTclTk) + $(cmake-utils_use tcl Module_vtkWrappingTcl) + $(cmake-utils_use test BUILD_TESTING) + ) + + if use openmp; then + mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE=OpenMP ) + fi + + if use qt5 ; then + mycmakeargs+=( -DVTK_INSTALL_QT_DIR=/${PVLIBDIR}/plugins/designer ) + if use python ; then + # paraview cannot guess sip directory properly + mycmakeargs+=( -DSIP_INCLUDE_DIR="${EPREFIX}$(python_get_includedir)" ) + fi + fi + + # TODO: MantaView VaporPlugin VRPlugin + mycmakeargs+=( + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_AdiosReader) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_AnalyzeNIfTIIO) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_ArrowGlyph) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_EyeDomeLighting) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_ForceTime) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_GMVReader) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_H5PartReader) + $(cmake-utils_use plugins RAVIEW_BUILD_PLUGIN_MobileRemoteControl) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_Moments) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_NonOrthogonalSource) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_PacMan) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_PointSprite) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_PrismPlugin) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_QuadView) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_SLACTools) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_SciberQuestToolKit) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_SierraPlotTools) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_StreamingParticles) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_SurfaceLIC) + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_UncertaintyRendering) + # these are always needed for plugins + $(cmake-utils_use plugins Module_vtkFiltersFlowPaths) + $(cmake-utils_use plugins Module_vtkPVServerManagerApplication) + ) + + cmake-utils_src_configure +} + +src_compile() { + cmake-utils_src_compile +} + +src_install() { + cmake-utils_src_install + + # set up the environment + echo "LDPATH=${EPREFIX}/usr/${PVLIBDIR}" > "${T}"/40${PN} + + newicon "${S}"/Applications/ParaView/pvIcon-32x32.png paraview.png + make_desktop_entry paraview "Paraview" paraview + + use python && python_optimize "${D}"/usr/$(get_libdir)/${PN}-${MAJOR_PV} +} -- cgit v1.2.3