1 |
commit: 1451f700162dff261762f3623ed01afa2c24b0c7 |
2 |
Author: Sébastien Fabbro <bicatali <AT> gentoo <DOT> org> |
3 |
AuthorDate: Mon Nov 23 23:16:13 2015 +0000 |
4 |
Commit: Sebastien Fabbro <bicatali <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon Nov 23 23:16:13 2015 +0000 |
6 |
URL: https://gitweb.gentoo.org/dev/bicatali.git/commit/?id=1451f700 |
7 |
|
8 |
sci-libs/vtk: version bump with a few patches and fixes for xdmf |
9 |
|
10 |
Package-Manager: portage-2.2.25 |
11 |
|
12 |
sci-libs/vtk/Manifest | 4 + |
13 |
sci-libs/vtk/files/vtk-6.1.0-glext.patch | 13 + |
14 |
sci-libs/vtk/files/vtk-6.1.0-memset.patch | 147 ++++++++++ |
15 |
sci-libs/vtk/files/vtk-6.3.0-gdal.patch | 31 ++ |
16 |
sci-libs/vtk/files/vtk-6.3.0-xdmf3-libxml2.patch | 42 +++ |
17 |
sci-libs/vtk/files/vtk-6.3.0-xdmf3-linking.patch | 40 +++ |
18 |
sci-libs/vtk/metadata.xml | 26 ++ |
19 |
sci-libs/vtk/vtk-6.3.0.ebuild | 352 +++++++++++++++++++++++ |
20 |
8 files changed, 655 insertions(+) |
21 |
|
22 |
diff --git a/sci-libs/vtk/Manifest b/sci-libs/vtk/Manifest |
23 |
new file mode 100644 |
24 |
index 0000000..ecb1e84 |
25 |
--- /dev/null |
26 |
+++ b/sci-libs/vtk/Manifest |
27 |
@@ -0,0 +1,4 @@ |
28 |
+DIST VTK-6.3.0.tar.gz 30385070 SHA256 92a493354c5fa66bea73b5fc014154af5d9f3f6cee8d20a826f4cd5d4b0e8a5e SHA512 a05598ed2a70fae9f07a8d9172cb963194cf75d0fcd995c9ebb614a488d4272988212494b1e9aa87272c0ed732161bba8ff97a0cf6874391c1c5fcf7dc22c309 WHIRLPOOL 4c90c338526e25c6d9496010b917cf98de2e8ba451a70aab015120f5403493e7a7205e43918e93fb286320265e44266f3ea22029654e805077619f4ddb68683f |
29 |
+DIST VTKData-6.3.0.tar.gz 171222218 SHA256 e1166f71158073358d89c26efbbce144aa89275dc99f7108b113efa08a7a3c25 SHA512 49cbdcb98093fa265c0bfda71bb3cc6116c898a9381bf895361ea70392054bda1e676c805121a6add287a95cd9084318d3e0884412e86a755331e2c2fd1e3d8a WHIRLPOOL 5517ae7ecfd23f64ab4cfecee79577f21ac29741c2e2af76a31296379b20847ba2720809c5762d843099b62a3eba1636d39a6fb207a46b9816f684336b3d0d8c |
30 |
+DIST VTKLargeData-6.3.0.tar.gz 166679850 SHA256 960d01980375e507ba250081551dd67587ee4eca5fd454022e370cc15ba4de3a SHA512 9486033c5729c265d2d96193f0c839e4961e25dcedbbdd905b1a3852779665db4e0dde68c78a2562725d540eec7c4b497cae65db426df9aa46cb7db4b1deb4f6 WHIRLPOOL b88cdbd87c26b9eaf97aa261f0c5b560d897269e5f7738461fc76509f3955f88738867c6828b1152776475bc861efa34468da6b63ebfe9e707688161d391a114 |
31 |
+DIST vtkDocHtml-6.3.0.tar.gz 112708222 SHA256 f1597ea4a1a1e2360dd3515d0cf9370e289c74361987cb43a088f52a6628f24d SHA512 3b98365ebceae4630a091df9e02e71e29f822c08f2f07feb69211b25f230544b9df325ececf3e55402f1e1ba5ad28fa2c4d71ec03bbe0baef90a2ca64d5d613e WHIRLPOOL 6059d266b71ac9b2eba4ec657fb3fbb15ebabb0e03cea0ab2800e06d90a42f49d1e502f4af9cec705448577a381ffc6b1220d725b9bb991df64ab8a0023439f4 |
32 |
|
33 |
diff --git a/sci-libs/vtk/files/vtk-6.1.0-glext.patch b/sci-libs/vtk/files/vtk-6.1.0-glext.patch |
34 |
new file mode 100644 |
35 |
index 0000000..b5529a5 |
36 |
--- /dev/null |
37 |
+++ b/sci-libs/vtk/files/vtk-6.1.0-glext.patch |
38 |
@@ -0,0 +1,13 @@ |
39 |
+diff -up VTK-6.1.0/Rendering/OpenGL/vtkOpenGL.h.glext VTK-6.1.0/Rendering/OpenGL/vtkOpenGL.h |
40 |
+--- VTK-6.1.0/Rendering/OpenGL/vtkOpenGL.h.glext 2014-01-22 08:55:41.000000000 -0700 |
41 |
++++ VTK-6.1.0/Rendering/OpenGL/vtkOpenGL.h 2014-11-19 10:27:12.349345199 -0700 |
42 |
+@@ -19,7 +19,8 @@ |
43 |
+ #include "vtkConfigure.h" |
44 |
+ |
45 |
+ // To prevent gl.h to include glext.h provided by the system |
46 |
+-#define GL_GLEXT_LEGACY |
47 |
++// https://bugzilla.redhat.com/show_bug.cgi?id=1138466 |
48 |
++// #define GL_GLEXT_LEGACY |
49 |
+ #if defined(__APPLE__) && (defined(VTK_USE_CARBON) || defined(VTK_USE_COCOA)) |
50 |
+ # include <OpenGL/gl.h> // Include OpenGL API. |
51 |
+ #else |
52 |
|
53 |
diff --git a/sci-libs/vtk/files/vtk-6.1.0-memset.patch b/sci-libs/vtk/files/vtk-6.1.0-memset.patch |
54 |
new file mode 100644 |
55 |
index 0000000..362022e |
56 |
--- /dev/null |
57 |
+++ b/sci-libs/vtk/files/vtk-6.1.0-memset.patch |
58 |
@@ -0,0 +1,147 @@ |
59 |
+From ef22d3d69421581b33bc0cd94b647da73b61ba96 Mon Sep 17 00:00:00 2001 |
60 |
+From: Anton Gladky <gladk@××××××.org> |
61 |
+Date: Fri, 30 May 2014 23:16:26 +0200 |
62 |
+Subject: [PATCH] Fix compilation by gcc-4.9 |
63 |
+ |
64 |
+VTK fails to build during compilation by gcc-4.9 with the |
65 |
+following message: |
66 |
+ |
67 |
+CMakeFiles/vtkFiltersParallelMPI.dir/vtkDistributedDataFilter.cxx.o: In |
68 |
+function `memset': |
69 |
+/usr/include/x86_64-linux-gnu/bits/string3.h:81: warning: memset used |
70 |
+with constant zero length parameter; this could be due to transposed |
71 |
+parameters |
72 |
+collect2: error: ld returned 1 exit status |
73 |
+ |
74 |
+This patch sets if-condition before all "memsets" in |
75 |
+vtkDistributedDataFilter and checkes, whether the number |
76 |
+of bytes to be set by memset is more than 0 to escape this |
77 |
+error. |
78 |
+--- |
79 |
+ Filters/ParallelMPI/vtkDistributedDataFilter.cxx | 48 ++++++++++++++++++------ |
80 |
+ 1 file changed, 37 insertions(+), 11 deletions(-) |
81 |
+ |
82 |
+diff --git a/Filters/ParallelMPI/vtkDistributedDataFilter.cxx b/Filters/ParallelMPI/vtkDistributedDataFilter.cxx |
83 |
+index 3c1ff30..df4b5d3 100644 |
84 |
+--- a/Filters/ParallelMPI/vtkDistributedDataFilter.cxx |
85 |
++++ b/Filters/ParallelMPI/vtkDistributedDataFilter.cxx |
86 |
+@@ -1091,7 +1091,10 @@ vtkDataSet *vtkDistributedDataFilter::TestFixTooFewInputFiles(vtkDataSet *input) |
87 |
+ vtkIdType cellsPerNode = numTotalCells / nprocs; |
88 |
+ |
89 |
+ vtkIdList **sendCells = new vtkIdList * [ nprocs ]; |
90 |
+- memset(sendCells, 0, sizeof(vtkIdList *) * nprocs); |
91 |
++ |
92 |
++ if (sizeof(vtkIdList *) * nprocs > 0) { |
93 |
++ memset(sendCells, 0, sizeof(vtkIdList *) * nprocs); |
94 |
++ } |
95 |
+ |
96 |
+ if (numConsumers == nprocs - 1) |
97 |
+ { |
98 |
+@@ -1582,7 +1585,9 @@ vtkFloatArray ** |
99 |
+ // Exchange int arrays |
100 |
+ |
101 |
+ float **recvArrays = new float * [nprocs]; |
102 |
+- memset(recvArrays, 0, sizeof(float *) * nprocs); |
103 |
++ if (sizeof(float *) * nprocs > 0) { |
104 |
++ memset(recvArrays, 0, sizeof(float *) * nprocs); |
105 |
++ } |
106 |
+ |
107 |
+ if (sendSize[me] > 0) // sent myself an array |
108 |
+ { |
109 |
+@@ -1703,7 +1708,9 @@ vtkIdTypeArray ** |
110 |
+ // Exchange int arrays |
111 |
+ |
112 |
+ vtkIdType **recvArrays = new vtkIdType * [nprocs]; |
113 |
+- memset(recvArrays, 0, sizeof(vtkIdType *) * nprocs); |
114 |
++ if (sizeof(vtkIdType *) * nprocs > 0) { |
115 |
++ memset(recvArrays, 0, sizeof(vtkIdType *) * nprocs); |
116 |
++ } |
117 |
+ |
118 |
+ if (sendSize[me] > 0) // sent myself an array |
119 |
+ { |
120 |
+@@ -2807,7 +2814,9 @@ void vtkDistributedDataFilter::AddConstantUnsignedCharPointArray( |
121 |
+ |
122 |
+ unsigned char *vals = new unsigned char [npoints]; |
123 |
+ |
124 |
+- memset(vals, val, npoints); |
125 |
++ if (npoints > 0) { |
126 |
++ memset(vals, val, npoints); |
127 |
++ } |
128 |
+ |
129 |
+ vtkUnsignedCharArray *Array = vtkUnsignedCharArray::New(); |
130 |
+ Array->SetName(arrayName); |
131 |
+@@ -2827,7 +2836,9 @@ void vtkDistributedDataFilter::AddConstantUnsignedCharCellArray( |
132 |
+ |
133 |
+ unsigned char *vals = new unsigned char [ncells]; |
134 |
+ |
135 |
+- memset(vals, val, ncells); |
136 |
++ if (ncells > 0) { |
137 |
++ memset(vals, val, ncells); |
138 |
++ } |
139 |
+ |
140 |
+ vtkUnsignedCharArray *Array = vtkUnsignedCharArray::New(); |
141 |
+ Array->SetName(arrayName); |
142 |
+@@ -3026,7 +3037,9 @@ int vtkDistributedDataFilter::AssignGlobalNodeIds(vtkUnstructuredGrid *grid) |
143 |
+ vtkIdType nGridPoints = grid->GetNumberOfPoints(); |
144 |
+ |
145 |
+ vtkIdType *numPointsOutside = new vtkIdType [nprocs]; |
146 |
+- memset(numPointsOutside, 0, sizeof(vtkIdType) * nprocs); |
147 |
++ if (sizeof(vtkIdType) * nprocs > 0) { |
148 |
++ memset(numPointsOutside, 0, sizeof(vtkIdType) * nprocs); |
149 |
++ } |
150 |
+ |
151 |
+ vtkIdTypeArray *globalIds = vtkIdTypeArray::New(); |
152 |
+ globalIds->SetNumberOfValues(nGridPoints); |
153 |
+@@ -3108,10 +3121,16 @@ int vtkDistributedDataFilter::AssignGlobalNodeIds(vtkUnstructuredGrid *grid) |
154 |
+ // global ID back? |
155 |
+ |
156 |
+ vtkFloatArray **ptarrayOut = new vtkFloatArray * [nprocs]; |
157 |
+- memset(ptarrayOut, 0, sizeof(vtkFloatArray *) * nprocs); |
158 |
++ |
159 |
++ if (sizeof(vtkFloatArray *) * nprocs > 0) { |
160 |
++ memset(ptarrayOut, 0, sizeof(vtkFloatArray *) * nprocs); |
161 |
++ } |
162 |
+ |
163 |
+ vtkIdTypeArray **localIds = new vtkIdTypeArray * [nprocs]; |
164 |
+- memset(localIds, 0, sizeof(vtkIdTypeArray *) * nprocs); |
165 |
++ |
166 |
++ if (sizeof(vtkIdTypeArray *) * nprocs > 0) { |
167 |
++ memset(localIds, 0, sizeof(vtkIdTypeArray *) * nprocs); |
168 |
++ } |
169 |
+ |
170 |
+ vtkIdType *next = new vtkIdType [nprocs]; |
171 |
+ vtkIdType *next3 = new vtkIdType [nprocs]; |
172 |
+@@ -3286,7 +3305,9 @@ vtkIdTypeArray **vtkDistributedDataFilter::FindGlobalPointIds( |
173 |
+ { |
174 |
+ // There are no cells in my assigned region |
175 |
+ |
176 |
+- memset(gids, 0, sizeof(vtkIdTypeArray *) * nprocs); |
177 |
++ if (sizeof(vtkIdTypeArray *) * nprocs > 0) { |
178 |
++ memset(gids, 0, sizeof(vtkIdTypeArray *) * nprocs); |
179 |
++ } |
180 |
+ |
181 |
+ return gids; |
182 |
+ } |
183 |
+@@ -3491,7 +3512,10 @@ vtkIdTypeArray **vtkDistributedDataFilter::MakeProcessLists( |
184 |
+ std::multimap<int, int>::iterator mapIt; |
185 |
+ |
186 |
+ vtkIdTypeArray **processList = new vtkIdTypeArray * [nprocs]; |
187 |
+- memset(processList, 0, sizeof (vtkIdTypeArray *) * nprocs); |
188 |
++ |
189 |
++ if (sizeof (vtkIdTypeArray *) * nprocs > 0) { |
190 |
++ memset(processList, 0, sizeof (vtkIdTypeArray *) * nprocs); |
191 |
++ } |
192 |
+ |
193 |
+ for (int i=0; i<nprocs; i++) |
194 |
+ { |
195 |
+@@ -3581,7 +3605,9 @@ vtkIdTypeArray **vtkDistributedDataFilter::GetGhostPointIds( |
196 |
+ vtkIdType numPoints = grid->GetNumberOfPoints(); |
197 |
+ |
198 |
+ vtkIdTypeArray **ghostPtIds = new vtkIdTypeArray * [nprocs]; |
199 |
+- memset(ghostPtIds, 0, sizeof(vtkIdTypeArray *) * nprocs); |
200 |
++ if (sizeof(vtkIdTypeArray *) * nprocs) { |
201 |
++ memset(ghostPtIds, 0, sizeof(vtkIdTypeArray *) * nprocs); |
202 |
++ } |
203 |
+ |
204 |
+ if (numPoints < 1) |
205 |
+ { |
206 |
|
207 |
diff --git a/sci-libs/vtk/files/vtk-6.3.0-gdal.patch b/sci-libs/vtk/files/vtk-6.3.0-gdal.patch |
208 |
new file mode 100644 |
209 |
index 0000000..36c33ee |
210 |
--- /dev/null |
211 |
+++ b/sci-libs/vtk/files/vtk-6.3.0-gdal.patch |
212 |
@@ -0,0 +1,31 @@ |
213 |
+diff --git a/IO/GDAL/vtkGDALVectorReader.cxx b/IO/GDAL/vtkGDALVectorReader.cxx |
214 |
+index 86854a0..a0e234a 100644 |
215 |
+--- a/IO/GDAL/vtkGDALVectorReader.cxx |
216 |
++++ b/IO/GDAL/vtkGDALVectorReader.cxx |
217 |
+@@ -44,7 +44,7 @@ class vtkGDALVectorReader::Internal |
218 |
+ public: |
219 |
+ Internal( const char* srcName, int srcMode, int appendFeatures, int addFeatIds ) |
220 |
+ { |
221 |
+- this->Source = OGRSFDriverRegistrar::Open( srcName, srcMode, &this->Driver ); |
222 |
++ this->Source = (GDALDataset*) OGROpen( srcName, srcMode, NULL ); |
223 |
+ if ( ! this->Source ) |
224 |
+ { |
225 |
+ this->LastError = CPLGetLastErrorMsg(); |
226 |
+@@ -61,7 +61,7 @@ public: |
227 |
+ { |
228 |
+ if ( this->Source ) |
229 |
+ { |
230 |
+- OGRDataSource::DestroyDataSource( this->Source ); |
231 |
++ GDALClose( (GDALDatasetH) this->Source ); |
232 |
+ } |
233 |
+ } |
234 |
+ |
235 |
+@@ -304,7 +304,7 @@ public: |
236 |
+ return nCells; |
237 |
+ } |
238 |
+ |
239 |
+- OGRDataSource* Source; |
240 |
++ GDALDataset* Source; |
241 |
+ OGRSFDriver* Driver; |
242 |
+ const char* LastError; |
243 |
+ int LayerIdx; |
244 |
|
245 |
diff --git a/sci-libs/vtk/files/vtk-6.3.0-xdmf3-libxml2.patch b/sci-libs/vtk/files/vtk-6.3.0-xdmf3-libxml2.patch |
246 |
new file mode 100644 |
247 |
index 0000000..a382a0f |
248 |
--- /dev/null |
249 |
+++ b/sci-libs/vtk/files/vtk-6.3.0-xdmf3-libxml2.patch |
250 |
@@ -0,0 +1,42 @@ |
251 |
+From 6216f98a7124e12a2c1cefd113347f94b51f3c51 Mon Sep 17 00:00:00 2001 |
252 |
+From: =?UTF-8?q?Nico=20Schl=C3=B6mer?= <nico.schloemer@×××××.com> |
253 |
+Date: Thu, 18 Jun 2015 13:30:30 +0200 |
254 |
+Subject: [PATCH] clarify logic for finding libxml2 in xdmf3 |
255 |
+ |
256 |
+--- |
257 |
+ ThirdParty/xdmf3/vtkxdmf3/core/CMakeLists.txt | 21 ++++++++++----------- |
258 |
+ 1 file changed, 10 insertions(+), 11 deletions(-) |
259 |
+ |
260 |
+diff --git a/ThirdParty/xdmf3/vtkxdmf3/core/CMakeLists.txt b/ThirdParty/xdmf3/vtkxdmf3/core/CMakeLists.txt |
261 |
+index 241fa0a..15955b7 100644 |
262 |
+--- a/ThirdParty/xdmf3/vtkxdmf3/core/CMakeLists.txt |
263 |
++++ b/ThirdParty/xdmf3/vtkxdmf3/core/CMakeLists.txt |
264 |
+@@ -93,18 +93,17 @@ if(HDF5_FOUND) |
265 |
+ endif() |
266 |
+ |
267 |
+ |
268 |
+-set(LIBXML2_LIBRARIES ${vtklibxml2_LIBRARIES}) |
269 |
+-set(LIBXML2_INCLUDE_DIR ${vtklibxml2_INCLUDE_DIRS}) |
270 |
+-set(LIBXML2_FOUND TRUE) |
271 |
+-find_package(LibXml2 REQUIRED) |
272 |
+-if(LIBXML2_FOUND) |
273 |
+- include_directories(${LIBXML2_INCLUDE_DIR}) |
274 |
+- get_filename_component(LIBXML2_ROOT "${LIBXML2_INCLUDE_DIR}/../" REALPATH) |
275 |
+- set(LIBXML2_BINARY_DIRS ${LIBXML2_ROOT}/bin) |
276 |
+- set(LIBXML2_BINARY_DIRS ${LIBXML2_BINARY_DIRS} PARENT_SCOPE) |
277 |
+- set(XDMF_LIBRARIES ${XDMF_LIBRARIES} ${LIBXML2_LIBRARIES}) |
278 |
+- set(XDMF_BINARIES ${XDMF_BINARIES} ${LIBXML2_BINARY_DIRS}) |
279 |
++find_package(LibXml2) |
280 |
++if(NOT LIBXML2_FOUND) |
281 |
++ set(LIBXML2_LIBRARIES ${vtklibxml2_LIBRARIES}) |
282 |
++ set(LIBXML2_INCLUDE_DIR ${vtklibxml2_INCLUDE_DIRS}) |
283 |
+ endif() |
284 |
++include_directories(${LIBXML2_INCLUDE_DIR}) |
285 |
++get_filename_component(LIBXML2_ROOT "${LIBXML2_INCLUDE_DIR}/../" REALPATH) |
286 |
++set(LIBXML2_BINARY_DIRS ${LIBXML2_ROOT}/bin) |
287 |
++set(LIBXML2_BINARY_DIRS ${LIBXML2_BINARY_DIRS} PARENT_SCOPE) |
288 |
++set(XDMF_LIBRARIES ${XDMF_LIBRARIES} ${LIBXML2_LIBRARIES}) |
289 |
++set(XDMF_BINARIES ${XDMF_BINARIES} ${LIBXML2_BINARY_DIRS}) |
290 |
+ |
291 |
+ # Perform compile-time checks and generate XdmfCoreConfig.hpp |
292 |
+ |
293 |
|
294 |
diff --git a/sci-libs/vtk/files/vtk-6.3.0-xdmf3-linking.patch b/sci-libs/vtk/files/vtk-6.3.0-xdmf3-linking.patch |
295 |
new file mode 100644 |
296 |
index 0000000..9f49f77 |
297 |
--- /dev/null |
298 |
+++ b/sci-libs/vtk/files/vtk-6.3.0-xdmf3-linking.patch |
299 |
@@ -0,0 +1,40 @@ |
300 |
+From a98527dfe9ce23beebf386fab07caef99b911ede Mon Sep 17 00:00:00 2001 |
301 |
+From: =?UTF-8?q?Nico=20Schl=C3=B6mer?= <nico.schloemer@×××××.com> |
302 |
+Date: Thu, 18 Jun 2015 13:25:14 +0200 |
303 |
+Subject: [PATCH] remove superfluous vtkxdmf3_LINK_DEPENDS from Xdmf3 link line |
304 |
+ |
305 |
+This caused VTK-compiled HDF5 and LibXML2 libraries to appear on the link line |
306 |
+even if VTK_USE_SYSTEM_{HDF5,LIBXML2} was on, immediately resulting in a link |
307 |
+error of the type |
308 |
+``` |
309 |
+/usr/bin/ld: cannot find -lvtkhdf5 |
310 |
+/usr/bin/ld: cannot find -lvtklibxml2 |
311 |
+``` |
312 |
+This commit fixes things by simply removing vtkxdmf3_LINK_DEPENDS from the link |
313 |
+line. The dependencies are already taken care of. |
314 |
+--- |
315 |
+ ThirdParty/xdmf3/vtkxdmf3/core/CMakeLists.txt | 4 ++-- |
316 |
+ 1 file changed, 2 insertions(+), 2 deletions(-) |
317 |
+ |
318 |
+diff --git a/ThirdParty/xdmf3/vtkxdmf3/core/CMakeLists.txt b/ThirdParty/xdmf3/vtkxdmf3/core/CMakeLists.txt |
319 |
+index ff045a6..241fa0a 100644 |
320 |
+--- a/ThirdParty/xdmf3/vtkxdmf3/core/CMakeLists.txt |
321 |
++++ b/ThirdParty/xdmf3/vtkxdmf3/core/CMakeLists.txt |
322 |
+@@ -8,7 +8,7 @@ include(CheckCXXSourceCompiles) |
323 |
+ include(SetUpVersion) |
324 |
+ include(TestBigEndian) |
325 |
+ |
326 |
+-if(VERSION_CONTROL_AUTOUPDATE OR |
327 |
++if(VERSION_CONTROL_AUTOUPDATE OR |
328 |
+ NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/XdmfVersion.hpp) |
329 |
+ VersionCreate("Xdmf" "2" "XDMFCORE_EXPORT" "XdmfCore.hpp") |
330 |
+ endif() |
331 |
+@@ -154,7 +154,7 @@ set(XdmfCoreSources |
332 |
+ add_library(XdmfCore ${LIBTYPE} ${XdmfCoreSources}) |
333 |
+ link_directories(${XDMF_LIBRARY_DIRS}) |
334 |
+ |
335 |
+-target_link_libraries(XdmfCore ${XDMF_LIBRARIES} ${vtkxdmf3_LINK_DEPENDS}) |
336 |
++target_link_libraries(XdmfCore ${XDMF_LIBRARIES}) |
337 |
+ vtk_target_install(XdmfCore) |
338 |
+ |
339 |
+ if(WIN32) |
340 |
|
341 |
diff --git a/sci-libs/vtk/metadata.xml b/sci-libs/vtk/metadata.xml |
342 |
new file mode 100644 |
343 |
index 0000000..50ec9f7 |
344 |
--- /dev/null |
345 |
+++ b/sci-libs/vtk/metadata.xml |
346 |
@@ -0,0 +1,26 @@ |
347 |
+<?xml version="1.0" encoding="UTF-8"?> |
348 |
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
349 |
+<pkgmetadata> |
350 |
+ <herd>sci</herd> |
351 |
+ <herd>java</herd> |
352 |
+ <maintainer> |
353 |
+ <email>jlec@g.o</email> |
354 |
+ <name>Justin Lecher</name> |
355 |
+ </maintainer> |
356 |
+ <use> |
357 |
+ <flag name="all-modules">Build all modules</flag> |
358 |
+ <flag name="boost">Add support for boost</flag> |
359 |
+ <flag name="cg">Use nvidia's cg shaders</flag> |
360 |
+ <flag name="gdal">Support for gdal formated data</flag> |
361 |
+ <flag name="imaging">Building Imaging modules</flag> |
362 |
+ <flag name="json">Support for json formated data</flag> |
363 |
+ <flag name="kaapi">Use <pkg>sci-libs/xkaapi</pkg> to handle smp support</flag> |
364 |
+ <flag name="offscreen">Offscreen rendering through OSMesa</flag> |
365 |
+ <flag name="rendering">Building Redering modules</flag> |
366 |
+ <flag name="tbb">Use <pkg>dev-cpp/tbb</pkg> to handle smp support</flag> |
367 |
+ <flag name="views">Building Views modules</flag> |
368 |
+ <flag name="web">Install web component</flag> |
369 |
+ <flag name="xdmf2">Support for xdmf2 formated data</flag> |
370 |
+ <flag name="R">Enable support for dev-lang/R</flag> |
371 |
+ </use> |
372 |
+</pkgmetadata> |
373 |
|
374 |
diff --git a/sci-libs/vtk/vtk-6.3.0.ebuild b/sci-libs/vtk/vtk-6.3.0.ebuild |
375 |
new file mode 100644 |
376 |
index 0000000..d5f986a |
377 |
--- /dev/null |
378 |
+++ b/sci-libs/vtk/vtk-6.3.0.ebuild |
379 |
@@ -0,0 +1,352 @@ |
380 |
+# Copyright 1999-2015 Gentoo Foundation |
381 |
+# Distributed under the terms of the GNU General Public License v2 |
382 |
+# $Id$ |
383 |
+ |
384 |
+EAPI=5 |
385 |
+ |
386 |
+PYTHON_COMPAT=( python2_7 ) |
387 |
+CMAKE_MAKEFILE_GENERATOR=ninja |
388 |
+WEBAPP_OPTIONAL=yes |
389 |
+WEBAPP_MANUAL_SLOT=yes |
390 |
+ |
391 |
+inherit eutils flag-o-matic java-pkg-opt-2 python-single-r1 qmake-utils versionator toolchain-funcs cmake-utils virtualx webapp |
392 |
+ |
393 |
+# Short package version |
394 |
+SPV="$(get_version_component_range 1-2)" |
395 |
+ |
396 |
+DESCRIPTION="High level 3D visualization toolkit and library" |
397 |
+HOMEPAGE="http://www.vtk.org/" |
398 |
+SRC_URI=" |
399 |
+ http://www.${PN}.org/files/release/${SPV}/VTK-${PV}.tar.gz |
400 |
+ doc? ( http://www.${PN}.org/files/release/${SPV}/${PN}DocHtml-${PV}.tar.gz ) |
401 |
+ test? ( |
402 |
+ http://www.${PN}.org/files/release/${SPV}/VTKData-${PV}.tar.gz |
403 |
+ http://www.${PN}.org/files/release/${SPV}/VTKLargeData-${PV}.tar.gz |
404 |
+ ) |
405 |
+ " |
406 |
+ |
407 |
+LICENSE="BSD LGPL-2" |
408 |
+KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux" |
409 |
+SLOT="0" |
410 |
+IUSE=" |
411 |
+ all-modules aqua boost cg doc examples imaging ffmpeg gdal java json kaapi mpi |
412 |
+ mysql odbc offscreen postgres python qt4 rendering smp tbb test theora tk tcl |
413 |
+ video_cards_nvidia views web R +X" |
414 |
+ |
415 |
+REQUIRED_USE=" |
416 |
+ all-modules? ( ffmpeg gdal mysql python ) |
417 |
+ java? ( qt4 ) |
418 |
+ python? ( ${PYTHON_REQUIRED_USE} ) |
419 |
+ tcl? ( rendering ) |
420 |
+ smp? ( ^^ ( kaapi tbb ) ) |
421 |
+ test? ( python ) |
422 |
+ tk? ( tcl ) |
423 |
+ web? ( python ) |
424 |
+ ^^ ( X aqua offscreen ) |
425 |
+ " |
426 |
+ |
427 |
+RDEPEND=" |
428 |
+ dev-libs/expat |
429 |
+ dev-libs/jsoncpp |
430 |
+ dev-libs/libxml2:2 |
431 |
+ >=media-libs/freetype-2.5.4 |
432 |
+ media-libs/glew:0 |
433 |
+ media-libs/libpng:0 |
434 |
+ media-libs/mesa |
435 |
+ media-libs/libtheora |
436 |
+ media-libs/tiff:0 |
437 |
+ sci-libs/exodusii |
438 |
+ sci-libs/hdf5:= |
439 |
+ sci-libs/netcdf-cxx:3 |
440 |
+ !sci-libs/xdmf2 |
441 |
+ sys-libs/zlib |
442 |
+ virtual/jpeg:0 |
443 |
+ virtual/opengl |
444 |
+ >=x11-libs/gl2ps-1.3.8 |
445 |
+ x11-libs/libX11 |
446 |
+ x11-libs/libXmu |
447 |
+ x11-libs/libXt |
448 |
+ boost? ( >=dev-libs/boost-1.40.0[mpi?] ) |
449 |
+ cg? ( media-gfx/nvidia-cg-toolkit ) |
450 |
+ examples? ( |
451 |
+ dev-qt/qtcore:4 |
452 |
+ dev-qt/qtgui:4 |
453 |
+ sci-libs/vtkdata |
454 |
+ ) |
455 |
+ ffmpeg? ( virtual/ffmpeg ) |
456 |
+ gdal? ( sci-libs/gdal ) |
457 |
+ java? ( >=virtual/jre-1.5:* ) |
458 |
+ kaapi? ( <sci-libs/xkaapi-3 ) |
459 |
+ mpi? ( |
460 |
+ virtual/mpi[cxx,romio] |
461 |
+ python? ( dev-python/mpi4py[${PYTHON_USEDEP}] ) |
462 |
+ mysql? ( virtual/mysql ) |
463 |
+ odbc? ( dev-db/unixODBC ) |
464 |
+ offscreen? ( media-libs/mesa[osmesa] ) |
465 |
+ postgres? ( dev-db/postgresql:= ) |
466 |
+ python? ( |
467 |
+ ${PYTHON_DEPS} |
468 |
+ dev-python/sip[${PYTHON_USEDEP}] |
469 |
+ ) |
470 |
+ ) |
471 |
+ qt4? ( |
472 |
+ dev-qt/designer:4 |
473 |
+ dev-qt/qtcore:4 |
474 |
+ dev-qt/qtgui:4 |
475 |
+ dev-qt/qtopengl:4 |
476 |
+ dev-qt/qtsql:4 |
477 |
+ dev-qt/qtwebkit:4 |
478 |
+ python? ( dev-python/PyQt4[${PYTHON_USEDEP}] ) |
479 |
+ ) |
480 |
+ tbb? ( dev-cpp/tbb ) |
481 |
+ tcl? ( dev-lang/tcl:0= ) |
482 |
+ tk? ( dev-lang/tk:0= ) |
483 |
+ video_cards_nvidia? ( media-video/nvidia-settings ) |
484 |
+ web? ( |
485 |
+ ${WEBAPP_DEPEND} |
486 |
+ python? ( |
487 |
+ dev-python/autobahn[${PYTHON_USEDEP}] |
488 |
+ dev-python/twisted-core[${PYTHON_USEDEP}] |
489 |
+ dev-python/zope-interface[${PYTHON_USEDEP}] |
490 |
+ ) |
491 |
+ ) |
492 |
+ R? ( dev-lang/R )" |
493 |
+ |
494 |
+DEPEND="${RDEPEND} |
495 |
+ doc? ( app-doc/doxygen[dot] ) |
496 |
+ java? ( >=virtual/jdk-1.5 )" |
497 |
+ |
498 |
+S="${WORKDIR}"/VTK-${PV} |
499 |
+ |
500 |
+PATCHES=( |
501 |
+ "${FILESDIR}"/${PN}-6.1.0-glext.patch |
502 |
+ "${FILESDIR}"/${PN}-6.1.0-memset.patch |
503 |
+ "${FILESDIR}"/${PN}-6.3.0-gdal.patch |
504 |
+ "${FILESDIR}"/${PN}-6.3.0-xdmf3-linking.patch |
505 |
+ "${FILESDIR}"/${PN}-6.3.0-xdmf3-libxml2.patch |
506 |
+) |
507 |
+ |
508 |
+RESTRICT=test |
509 |
+ |
510 |
+pkg_setup() { |
511 |
+ use java && java-pkg-opt-2_pkg_setup |
512 |
+ use python && python-single-r1_pkg_setup |
513 |
+ use web && webapp_pkg_setup |
514 |
+ |
515 |
+ append-cppflags -D__STDC_CONSTANT_MACROS -D_UNICODE |
516 |
+} |
517 |
+ |
518 |
+src_prepare() { |
519 |
+ sed -e 's:libproj4:libproj:g' \ |
520 |
+ -e 's:lib_proj.h:proj_api.h:g' \ |
521 |
+ -i "${S}"/CMake/FindLIBPROJ4.cmake || die |
522 |
+ |
523 |
+ use java && export JAVA_HOME="${EPREFIX}/etc/java-config-2/current-system-vm" |
524 |
+ |
525 |
+ if use mpi; then |
526 |
+ export CC=mpicc |
527 |
+ export CXX=mpicxx |
528 |
+ export FC=mpif90 |
529 |
+ export F90=mpif90 |
530 |
+ export F77=mpif77 |
531 |
+ fi |
532 |
+ |
533 |
+ cmake-utils_src_prepare |
534 |
+} |
535 |
+ |
536 |
+src_configure() { |
537 |
+ # general configuration |
538 |
+ local mycmakeargs=( |
539 |
+ -Wno-dev |
540 |
+# -DCMAKE_SKIP_RPATH=YES |
541 |
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr" |
542 |
+ -DVTK_DIR="${S}" |
543 |
+ -DVTK_INSTALL_LIBRARY_DIR=$(get_libdir) |
544 |
+ -DVTK_INSTALL_ARCHIVE_DIR=$(get_libdir) |
545 |
+ -DVTK_INSTALL_PACKAGE_DIR=$(get_libdir)/cmake/${PN} |
546 |
+ -DVTK_INSTALL_DATA_DIR="share/${PN}" |
547 |
+ -DVTK_INSTALL_DOC_DIR="share/${PF}" |
548 |
+ -DVTK_DATA_ROOT="${EPREFIX}/usr/share/${PN}/data" |
549 |
+ -DVTK_CUSTOM_LIBRARY_SUFFIX="" |
550 |
+ -DBUILD_SHARED_LIBS=ON |
551 |
+ -DVTK_USE_LARGE_DATA=ON |
552 |
+ -DVTK_USE_PARALLEL=ON |
553 |
+ -DVTK_EXTRA_COMPILER_WARNINGS=ON |
554 |
+ -DVTK_Group_StandAlone=ON |
555 |
+ ) |
556 |
+ # use system libraries |
557 |
+ local x |
558 |
+ for x in AUTOBAHN EXPAT FREETYPE GL2PS GLEW HDF5 JPEG JSONCPP LIBRARIES \ |
559 |
+ LIBXML2 MPI4PY NETCDF OGGTHEORA PNG SIX TIFF TWISTED ZLIB ZOPE; do |
560 |
+ mycmakeargs+=( -DVTK_USE_SYSTEM_${x}=ON ) |
561 |
+ done |
562 |
+ # some need work, mostly upstream: XDMF2 XDMF3 LIBPROJ4 |
563 |
+ for x in LIBPROJ4 XDMF2 XDMF3; do |
564 |
+ mycmakeargs+=( -DVTK_USE_SYSTEM_${x}=OFF ) |
565 |
+ done |
566 |
+ |
567 |
+ # optional stuff |
568 |
+ mycmakeargs+=( |
569 |
+ $(cmake-utils_use_build doc DOCUMENTATION) |
570 |
+ $(cmake-utils_use_build examples EXAMPLES) |
571 |
+ $(cmake-utils_use_build test VTK_BUILD_ALL_MODULES_FOR_TESTS) |
572 |
+ $(cmake-utils_use all-modules VTK_BUILD_ALL_MODULES) |
573 |
+ $(cmake-utils_use doc DOCUMENTATION_HTML_HELP) |
574 |
+ $(cmake-utils_use imaging VTK_Group_Imaging) |
575 |
+ $(cmake-utils_use mpi VTK_Group_MPI) |
576 |
+ $(cmake-utils_use qt4 VTK_Group_Qt) |
577 |
+ $(cmake-utils_use rendering VTK_Group_Rendering) |
578 |
+ $(cmake-utils_use tk VTK_Group_Tk) |
579 |
+ $(cmake-utils_use views VTK_Group_Views) |
580 |
+ $(cmake-utils_use web VTK_Group_Web) |
581 |
+ $(cmake-utils_use web VTK_WWW_DIR="${ED}/${MY_HTDOCSDIR}") |
582 |
+ $(cmake-utils_use java VTK_WRAP_JAVA) |
583 |
+ $(cmake-utils_use python VTK_WRAP_PYTHON) |
584 |
+ $(cmake-utils_use python VTK_WRAP_PYTHON_SIP) |
585 |
+ $(cmake-utils_use tcl VTK_WRAP_TCL) |
586 |
+ ) |
587 |
+ |
588 |
+ mycmakeargs+=( |
589 |
+ $(cmake-utils_use boost VTK_USE_BOOST) |
590 |
+ $(cmake-utils_use cg VTK_USE_CG_SHADERS) |
591 |
+ $(cmake-utils_use odbc VTK_USE_ODBC) |
592 |
+ $(cmake-utils_use offscreen VTK_USE_OFFSCREEN) |
593 |
+ $(cmake-utils_use offscreen VTK_OPENGL_HAS_OSMESA) |
594 |
+ $(cmake-utils_use smp vtkFiltersSMP) |
595 |
+ $(cmake-utils_use theora VTK_USE_OGGTHEORA_ENCODER) |
596 |
+ $(cmake-utils_use video_cards_nvidia VTK_USE_NVCONTROL) |
597 |
+ $(cmake-utils_use R Module_vtkFiltersStatisticsGnuR) |
598 |
+ $(cmake-utils_use X VTK_USE_X) |
599 |
+ ) |
600 |
+ |
601 |
+ # IO |
602 |
+ mycmakeargs+=( |
603 |
+ $(cmake-utils_use ffmpeg VTK_USE_FFMPEG_ENCODER) |
604 |
+ $(cmake-utils_use gdal Module_vtkIOGDAL) |
605 |
+ $(cmake-utils_use json Module_vtkIOGeoJSON) |
606 |
+ ) |
607 |
+ # Apple stuff, does it really work? |
608 |
+ mycmakeargs+=( $(cmake-utils_use aqua VTK_USE_COCOA) ) |
609 |
+ |
610 |
+ if use examples || use test; then |
611 |
+ mycmakeargs+=( -DBUILD_TESTING=ON ) |
612 |
+ fi |
613 |
+ |
614 |
+ if use kaapi; then |
615 |
+ mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="Kaapi" ) |
616 |
+ elif use tbb; then |
617 |
+ mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="TBB" ) |
618 |
+ else |
619 |
+ mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="Sequential" ) |
620 |
+ fi |
621 |
+ |
622 |
+ if use java; then |
623 |
+ if [ "${ARCH}" == "amd64" ]; then |
624 |
+ mycmakeargs+=( -DJAVA_AWT_LIBRARY="${JAVA_HOME}/jre/lib/${ARCH}/libjawt.so;${JAVA_HOME}/jre/lib/${ARCH}/xawt/libmawt.so" ) |
625 |
+ else |
626 |
+ mycmakeargs+=( -DJAVA_AWT_LIBRARY="${JAVA_HOME}/jre/lib/i386/libjawt.so;${JAVA_HOME}/jre/lib/i386/xawt/libmawt.so" ) |
627 |
+ fi |
628 |
+ fi |
629 |
+ if use python; then |
630 |
+ mycmakeargs+=( |
631 |
+ -DVTK_INSTALL_PYTHON_MODULE_DIR="$(python_get_sitedir)" |
632 |
+ -DPYTHON_INCLUDE_DIR="$(python_get_includedir)" |
633 |
+ -DPYTHON_LIBRARY="$(python_get_library_path)" |
634 |
+ -DSIP_PYQT_DIR="${EPREFIX}/usr/share/sip" |
635 |
+ -DSIP_INCLUDE_DIR="$(python_get_includedir)" |
636 |
+ -DVTK_PYTHON_INCLUDE_DIR="$(python_get_includedir)" |
637 |
+ -DVTK_PYTHON_LIBRARY="$(python_get_library_path)" |
638 |
+ -DVTK_PYTHON_SETUP_ARGS:STRING="--prefix=${PREFIX} --root=${D}" |
639 |
+ ) |
640 |
+ fi |
641 |
+ |
642 |
+ if use qt4; then |
643 |
+ mycmakeargs+=( |
644 |
+ -DVTK_USE_QVTK=ON |
645 |
+ -DVTK_USE_QVTK_OPENGL=ON |
646 |
+ -DVTK_USE_QVTK_QTOPENGL=ON |
647 |
+ -DQT_WRAP_CPP=ON |
648 |
+ -DQT_WRAP_UI=ON |
649 |
+ -DVTK_INSTALL_QT_DIR=/$(get_libdir)/qt4/plugins/designer |
650 |
+ -DDESIRED_QT_VERSION=4 |
651 |
+ -DVTK_QT_VERSION=4 |
652 |
+ -DQT_MOC_EXECUTABLE="$(qt4_get_bindir)/moc" |
653 |
+ -DQT_UIC_EXECUTABLE="$(qt4_get_bindir)/uic" |
654 |
+ -DQT_INCLUDE_DIR="${EPREFIX}/usr/include/qt4" |
655 |
+ -DQT_QMAKE_EXECUTABLE="$(qt4_get_bindir)/qmake" |
656 |
+ ) |
657 |
+ fi |
658 |
+ |
659 |
+ if use R; then |
660 |
+ mycmakeargs+=( |
661 |
+# -DR_LIBRARY_BLAS=$($(tc-getPKG_CONFIG) --libs blas) |
662 |
+# -DR_LIBRARY_LAPACK=$($(tc-getPKG_CONFIG) --libs lapack) |
663 |
+ -DR_LIBRARY_BLAS=/usr/$(get_libdir)/R/lib/libR.so |
664 |
+ -DR_LIBRARY_LAPACK=/usr/$(get_libdir)/R/lib/libR.so |
665 |
+ ) |
666 |
+ fi |
667 |
+ |
668 |
+ cmake-utils_src_configure |
669 |
+} |
670 |
+ |
671 |
+src_test() { |
672 |
+ local tcllib |
673 |
+ ln -sf "${BUILD_DIR}"/lib "${BUILD_DIR}"/lib/Release || die |
674 |
+ for tcllib in "${BUILD_DIR}"/lib/lib*TCL*so; do |
675 |
+ ln -sf $(basename "${tcllib}").1 "${tcllib/.so/-${SPV}.so}" || die |
676 |
+ done |
677 |
+ export LD_LIBRARY_PATH="${BUILD_DIR}"/lib:"${JAVA_HOME}"/jre/lib/${ARCH}/:"${JAVA_HOME}"/jre/lib/${ARCH}/xawt/ |
678 |
+ local VIRTUALX_COMMAND="cmake-utils_src_test" |
679 |
+# local VIRTUALX_COMMAND="cmake-utils_src_test -R Java" |
680 |
+# local VIRTUALX_COMMAND="cmake-utils_src_test -I 364,365" |
681 |
+ virtualmake |
682 |
+} |
683 |
+ |
684 |
+src_install() { |
685 |
+ use web && webapp_src_preinst |
686 |
+ |
687 |
+ cmake-utils_src_install |
688 |
+ |
689 |
+ use java && java-pkg_regjar "${ED}"/usr/$(get_libdir)/${PN}.jar |
690 |
+ |
691 |
+ if use tcl; then |
692 |
+ # install Tcl docs |
693 |
+ docinto vtk_tcl |
694 |
+ dodoc "${S}"/Wrapping/Tcl/README |
695 |
+ fi |
696 |
+ |
697 |
+ # install examples |
698 |
+ if use examples; then |
699 |
+ insinto /usr/share/${PN} |
700 |
+ mv -v Examples examples || die |
701 |
+ doins -r examples |
702 |
+ fi |
703 |
+ |
704 |
+ #install big docs |
705 |
+ if use doc; then |
706 |
+ cd "${WORKDIR}"/html || die |
707 |
+ rm -f *.md5 || die "Failed to remove superfluous hashes" |
708 |
+ einfo "Installing API docs. This may take some time." |
709 |
+ docinto html |
710 |
+ dodoc -r ./* |
711 |
+ fi |
712 |
+ |
713 |
+ # environment |
714 |
+ cat >> "${T}"/40${PN} <<- EOF |
715 |
+ VTK_DATA_ROOT=${EPREFIX}/usr/share/${PN}/data |
716 |
+ VTK_DIR=${EPREFIX}/usr/$(get_libdir)/${PN}-${SPV} |
717 |
+ VTKHOME=${EPREFIX}/usr |
718 |
+ EOF |
719 |
+ doenvd "${T}"/40${PN} |
720 |
+ |
721 |
+ use web && webapp_src_install |
722 |
+} |
723 |
+ |
724 |
+# webapp.eclass exports these but we want it optional #534036 |
725 |
+pkg_postinst() { |
726 |
+ use web && webapp_pkg_postinst |
727 |
+} |
728 |
+ |
729 |
+pkg_prerm() { |
730 |
+ use web && webapp_pkg_prerm |
731 |
+} |