Gentoo Archives: gentoo-commits

From: Matthias Maier <tamiko@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-visualization/paraview/
Date: Thu, 26 Jan 2017 19:06:23
Message-Id: 1485457572.c480a2000618f4533545388174b8686d5f7a7a28.tamiko@gentoo
1 commit: c480a2000618f4533545388174b8686d5f7a7a28
2 Author: Chris White <cwprogram <AT> live <DOT> com>
3 AuthorDate: Tue Dec 6 08:37:25 2016 +0000
4 Commit: Matthias Maier <tamiko <AT> gentoo <DOT> org>
5 CommitDate: Thu Jan 26 19:06:12 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c480a200
7
8 sci-visualization/paraview: add glu depend
9
10 Paraview requires glu to compile one of the
11 VTK components. This satisfies the requirement
12 by adding a depend on virtual/glu.
13
14 Verified amd64 compliation
15 Verified lack of glu provider will cause it
16 to appear in the emerge pretend listing
17
18 .../paraview/paraview-5.1.2-r1.ebuild | 286 +++++++++++++++++++++
19 1 file changed, 286 insertions(+)
20
21 diff --git a/sci-visualization/paraview/paraview-5.1.2-r1.ebuild b/sci-visualization/paraview/paraview-5.1.2-r1.ebuild
22 new file mode 100644
23 index 00000000..54d6d17
24 --- /dev/null
25 +++ b/sci-visualization/paraview/paraview-5.1.2-r1.ebuild
26 @@ -0,0 +1,286 @@
27 +# Copyright 1999-2016 Gentoo Foundation
28 +# Distributed under the terms of the GNU General Public License v2
29 +# $Id$
30 +
31 +EAPI=5
32 +
33 +PYTHON_COMPAT=( python2_7 )
34 +inherit eutils cmake-utils multilib python-single-r1 toolchain-funcs versionator
35 +
36 +MAIN_PV=$(get_major_version)
37 +MAJOR_PV=$(get_version_component_range 1-2)
38 +MY_P="ParaView-v${PV}"
39 +
40 +DESCRIPTION="ParaView is a powerful scientific data visualization application"
41 +HOMEPAGE="http://www.paraview.org"
42 +SRC_URI="http://www.paraview.org/files/v${MAJOR_PV}/${MY_P}.tar.gz"
43 +RESTRICT="mirror"
44 +
45 +LICENSE="paraview GPL-2"
46 +KEYWORDS="~amd64 ~x86"
47 +SLOT="0"
48 +IUSE="boost cg coprocessing development doc examples ffmpeg mpi mysql nvcontrol openmp plugins python +qt5 sqlite tcl test tk"
49 +RESTRICT="test"
50 +
51 +REQUIRED_USE="python? ( mpi ${PYTHON_REQUIRED_USE} )
52 + mysql? ( sqlite )" # "vtksqlite, needed by vtkIOSQL" and "vtkIOSQL, needed by vtkIOMySQL"
53 +
54 +RDEPEND="
55 + dev-libs/expat
56 + <dev-libs/jsoncpp-1.7.5
57 + dev-libs/libxml2:2
58 + dev-libs/protobuf
59 + media-libs/freetype
60 + media-libs/libpng:0
61 + media-libs/libtheora
62 + media-libs/tiff:0=
63 + sci-libs/hdf5[mpi=]
64 + >=sci-libs/netcdf-4.2[hdf5]
65 + >=sci-libs/netcdf-cxx-4.2:3
66 + sys-libs/zlib
67 + virtual/jpeg:0
68 + virtual/opengl
69 + virtual/glu
70 + x11-libs/libX11
71 + x11-libs/libXext
72 + x11-libs/libXmu
73 + x11-libs/libXt
74 + coprocessing? (
75 + plugins? (
76 + dev-python/PyQt5
77 + dev-qt/qtgui:5
78 + )
79 + )
80 + ffmpeg? ( virtual/ffmpeg )
81 + mpi? ( virtual/mpi[cxx,romio] )
82 + mysql? ( virtual/mysql )
83 + python? (
84 + ${PYTHON_DEPS}
85 + dev-python/matplotlib[${PYTHON_USEDEP}]
86 + dev-python/numpy[${PYTHON_USEDEP}]
87 + dev-python/sip[${PYTHON_USEDEP}]
88 + dev-python/twisted-core
89 + dev-python/zope-interface[${PYTHON_USEDEP}]
90 + mpi? ( dev-python/mpi4py )
91 + qt5? ( dev-python/PyQt5[opengl,webkit,${PYTHON_USEDEP}] )
92 + )
93 + qt5? (
94 + dev-qt/designer:5
95 + dev-qt/qtgui:5
96 + dev-qt/qthelp:5
97 + dev-qt/qtopengl:5
98 + dev-qt/qtsql:5
99 + dev-qt/qttest:5
100 + dev-qt/qtwebkit:5
101 + dev-qt/qtx11extras:5
102 + )
103 + sqlite? ( dev-db/sqlite:3 )
104 + tcl? ( dev-lang/tcl:0= )
105 + tk? ( dev-lang/tk:0= )"
106 +DEPEND="${RDEPEND}
107 + ${PYTHON_DEPS}
108 + >=dev-util/cmake-3.4
109 + boost? ( >=dev-libs/boost-1.40.0[mpi?,${PYTHON_USEDEP}] )
110 + doc? ( app-doc/doxygen )"
111 +
112 +S="${WORKDIR}/${MY_P}"
113 +
114 +pkg_pretend() {
115 + if [[ ${MERGE_TYPE} != "binary" ]] && use openmp && [[ $(tc-getCC)$ == *gcc* ]] && ! tc-has-openmp; then
116 + eerror "For USE=openmp a gcc with openmp support is required"
117 + eerror
118 + return 1
119 + fi
120 +}
121 +
122 +pkg_setup() {
123 + python-single-r1_pkg_setup
124 + PVLIBDIR=$(get_libdir)/${PN}-${MAJOR_PV}
125 +}
126 +
127 +src_prepare() {
128 + # see patch headers for description
129 + epatch "${FILESDIR}"/${PN}-4.0.1-xdmf-cstring.patch \
130 + "${FILESDIR}"/${PN}-4.3.1-fix-development-install.patch \
131 + "${FILESDIR}"/${PN}-4.4.0-removesqlite.patch
132 +
133 + # lib64 fixes
134 + sed -i \
135 + -e "s:/usr/lib:${EPREFIX}/usr/$(get_libdir):g" \
136 + VTK/ThirdParty/xdmf2/vtkxdmf2/libsrc/CMakeLists.txt || die
137 + sed -i \
138 + -e "s:\/lib\/python:\/$(get_libdir)\/python:g" \
139 + VTK/ThirdParty/xdmf2/vtkxdmf2/CMake/setup_install_paths.py || die
140 + sed -i \
141 + -e "s:lib/paraview-:$(get_libdir)/paraview-:g" \
142 + CMakeLists.txt \
143 + Plugins/SciberQuestToolKit/CMakeLists.txt \
144 + ParaViewConfig.cmake.in \
145 + CoProcessing/PythonCatalyst/vtkCPPythonScriptPipeline.cxx \
146 + ParaViewCore/ClientServerCore/Core/vtkProcessModuleInitializePython.h \
147 + ParaViewCore/ClientServerCore/Core/vtkPVPluginTracker.cxx \
148 + Plugins/SciberQuestToolKit/ParaViewPlugin/CMakeLists.txt \
149 + Plugins/SciberQuestToolKit/SciberQuest/CMakeLists.txt || die
150 +
151 + # no proper switch
152 + use nvcontrol || {
153 + sed -i \
154 + -e '/VTK_USE_NVCONTROL/s#1#0#' \
155 + VTK/Rendering/OpenGL/CMakeLists.txt || die
156 + }
157 +}
158 +
159 +src_configure() {
160 + if use qt5; then
161 + export QT_SELECT=qt5
162 + fi
163 +
164 + # VTK_USE_SYSTEM_QTTESTING
165 + # PARAVIEW_USE_SYSTEM_AUTOBAHN
166 + local mycmakeargs=(
167 + -DPV_INSTALL_LIB_DIR="${PVLIBDIR}"
168 + -DCMAKE_INSTALL_PREFIX="${EPREFIX}"/usr
169 + -DEXPAT_INCLUDE_DIR="${EPREFIX}"/usr/include
170 + -DEXPAT_LIBRARY="${EPREFIX}"/usr/$(get_libdir)/libexpat.so
171 + -DOPENGL_gl_LIBRARY="${EPREFIX}"/usr/$(get_libdir)/libGL.so
172 + -DOPENGL_glu_LIBRARY="${EPREFIX}"/usr/$(get_libdir)/libGLU.so
173 + -DBUILD_SHARED_LIBS=ON
174 + -DCMAKE_COLOR_MAKEFILE=TRUE
175 + -DCMAKE_USE_PTHREADS=ON
176 + -DCMAKE_VERBOSE_MAKEFILE=ON
177 + -DPARAVIEW_USE_SYSTEM_MPI4PY=ON
178 + -DPROTOC_LOCATION=$(type -P protoc)
179 + -DVTK_Group_StandAlone=ON
180 + -DVTK_RENDERING_BACKEND=OpenGL2
181 + -DVTK_USE_FFMPEG_ENCODER=OFF
182 + -DVTK_USE_OFFSCREEN=TRUE
183 + -DVTK_USE_SYSTEM_EXPAT=ON
184 + -DVTK_USE_SYSTEM_FREETYPE=ON
185 + -DVTK_USE_SYSTEM_GL2PS=OFF
186 + -DVTK_USE_SYSTEM_HDF5=ON
187 + -DVTK_USE_SYSTEM_JPEG=ON
188 + -DVTK_USE_SYSTEM_JSONCPP=ON
189 + -DVTK_USE_SYSTEM_LIBXML2=ON
190 + -DVTK_USE_SYSTEM_NETCDF=ON
191 + -DVTK_USE_SYSTEM_OGGTHEORA=ON
192 + -DVTK_USE_SYSTEM_PNG=ON
193 + -DVTK_USE_SYSTEM_PROTOBUF=ON
194 + -DVTK_USE_SYSTEM_TIFF=ON
195 + -DVTK_USE_SYSTEM_TWISTED=ON
196 + -DVTK_USE_SYSTEM_XDMF2=OFF
197 + -DVTK_USE_SYSTEM_ZLIB=ON
198 + -DVTK_USE_SYSTEM_ZOPE=ON
199 + # force this module due to incorrect build system deps
200 + # wrt bug 460528
201 + -DModule_vtkUtilitiesProcessXML=ON
202 + )
203 +
204 + # TODO: XDMF_USE_MYSQL?
205 + # VTK_WRAP_JAVA
206 + mycmakeargs+=(
207 + $(cmake-utils_use development PARAVIEW_INSTALL_DEVELOPMENT_FILES)
208 + $(cmake-utils_use qt5 PARAVIEW_BUILD_QT_GUI)
209 + $(usex qt5 "-DPARAVIEW_QT_VERSION=5" "")
210 + $(cmake-utils_use qt5 Module_vtkGUISupportQtOpenGL)
211 + $(cmake-utils_use qt5 Module_vtkGUISupportQtSQL)
212 + $(cmake-utils_use qt5 Module_vtkGUISupportQtWebkit)
213 + $(cmake-utils_use qt5 Module_vtkRenderingQt)
214 + $(cmake-utils_use qt5 Module_vtkViewsQt)
215 + $(cmake-utils_use qt5 VTK_Group_ParaViewQt)
216 + $(cmake-utils_use qt5 VTK_Group_Qt)
217 + $(cmake-utils_use !qt5 PQWIDGETS_DISABLE_QTWEBKIT)
218 + $(cmake-utils_use boost Module_vtkInfovisBoost)
219 + $(cmake-utils_use boost Module_vtkInfovisBoostGraphAlg)
220 + $(cmake-utils_use mpi PARAVIEW_USE_MPI)
221 + $(cmake-utils_use mpi PARAVIEW_USE_MPI_SSEND)
222 + $(cmake-utils_use mpi PARAVIEW_USE_ICE_T)
223 + $(cmake-utils_use mpi VTK_Group_MPI)
224 + $(cmake-utils_use mpi VTK_XDMF_USE_MPI)
225 + $(cmake-utils_use mpi XDMF_BUILD_MPI)
226 + $(cmake-utils_use python PARAVIEW_ENABLE_PYTHON)
227 + $(cmake-utils_use python VTK_Group_ParaViewPython)
228 + $(cmake-utils_use python XDMF_WRAP_PYTHON)
229 + $(cmake-utils_use python Module_vtkPython)
230 + $(cmake-utils_use python Module_pqPython)
231 + $(cmake-utils_use python Module_vtkWrappingPythonCore)
232 + $(cmake-utils_use python Module_vtkPVPythonSupport)
233 + $(cmake-utils_use python Module_AutobahnPython)
234 + $(cmake-utils_use python Module_Twisted)
235 + $(cmake-utils_use python Module_ZopeInterface)
236 + $(cmake-utils_use python Module_vtkmpi4py)
237 + $(usex qt5 "$(cmake-utils_use python Module_pqPython)" "-DModule_pqPython=OFF")
238 + $(cmake-utils_use doc BUILD_DOCUMENTATION)
239 + $(cmake-utils_use doc PARAVIEW_BUILD_WEB_DOCUMENTATION)
240 + $(cmake-utils_use examples BUILD_EXAMPLES)
241 + $(cmake-utils_use cg VTK_USE_CG_SHADERS)
242 + $(cmake-utils_use mysql Module_vtkIOMySQL)
243 + $(cmake-utils_use sqlite Module_vtksqlite)
244 + $(cmake-utils_use coprocessing PARAVIEW_ENABLE_CATALYST)
245 + $(cmake-utils_use ffmpeg PARAVIEW_ENABLE_FFMPEG)
246 + $(cmake-utils_use ffmpeg VTK_USE_FFMPEG_ENCODER)
247 + $(cmake-utils_use ffmpeg Module_vtkIOFFMPEG)
248 + $(cmake-utils_use tk VTK_Group_Tk)
249 + $(cmake-utils_use tk VTK_USE_TK)
250 + $(cmake-utils_use tk Module_vtkRenderingTk)
251 + $(cmake-utils_use tcl Module_vtkTclTk)
252 + $(cmake-utils_use tcl Module_vtkWrappingTcl)
253 + $(cmake-utils_use test BUILD_TESTING)
254 + )
255 +
256 + if use openmp; then
257 + mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE=OpenMP )
258 + fi
259 +
260 + if use qt5 ; then
261 + mycmakeargs+=( -DVTK_INSTALL_QT_DIR=/${PVLIBDIR}/plugins/designer )
262 + if use python ; then
263 + # paraview cannot guess sip directory properly
264 + mycmakeargs+=( -DSIP_INCLUDE_DIR="${EPREFIX}$(python_get_includedir)" )
265 + fi
266 + fi
267 +
268 + # TODO: MantaView VaporPlugin VRPlugin
269 + mycmakeargs+=(
270 + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_AdiosReader)
271 + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_AnalyzeNIfTIIO)
272 + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_ArrowGlyph)
273 + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_EyeDomeLighting)
274 + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_ForceTime)
275 + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_GMVReader)
276 + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_H5PartReader)
277 + $(cmake-utils_use plugins RAVIEW_BUILD_PLUGIN_MobileRemoteControl)
278 + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_Moments)
279 + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_NonOrthogonalSource)
280 + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_PacMan)
281 + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_PointSprite)
282 + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_PrismPlugin)
283 + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_QuadView)
284 + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_SLACTools)
285 + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_SciberQuestToolKit)
286 + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_SierraPlotTools)
287 + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_StreamingParticles)
288 + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_SurfaceLIC)
289 + $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_UncertaintyRendering)
290 + # these are always needed for plugins
291 + $(cmake-utils_use plugins Module_vtkFiltersFlowPaths)
292 + $(cmake-utils_use plugins Module_vtkPVServerManagerApplication)
293 + )
294 +
295 + cmake-utils_src_configure
296 +}
297 +
298 +src_compile() {
299 + cmake-utils_src_compile
300 +}
301 +
302 +src_install() {
303 + cmake-utils_src_install
304 +
305 + # set up the environment
306 + echo "LDPATH=${EPREFIX}/usr/${PVLIBDIR}" > "${T}"/40${PN}
307 +
308 + newicon "${S}"/Applications/ParaView/pvIcon-32x32.png paraview.png
309 + make_desktop_entry paraview "Paraview" paraview
310 +
311 + use python && python_optimize "${D}"/usr/$(get_libdir)/${PN}-${MAJOR_PV}
312 +}