commit:     7c61440f2102de169173fa847bc32d0969340430
Author:     Harald Weiner <harald.weiner <AT> jku <DOT> at>
AuthorDate: Mon Apr 11 15:00:48 2016 +0000
Commit:     Justin Lecher <jlec <AT> gentoo <DOT> org>
CommitDate: Mon Apr 11 15:00:48 2016 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=7c61440f

sci-libs/vtk: new revision with qt5 useflag, updated ebuild to EAPI 6

 sci-libs/vtk/files/vtk-6.1.0-freetype.patch |  22 ++
 sci-libs/vtk/files/vtk-6.1.0-gdal2.patch    |  33 +++
 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-memset.patch   | 147 ++++++++++
 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-web.patch      |  25 ++
 sci-libs/vtk/metadata.xml                   |  35 +++
 sci-libs/vtk/vtk-6.1.0-r3.ebuild            | 420 ++++++++++++++++++++++++++++
 10 files changed, 770 insertions(+)

diff --git a/sci-libs/vtk/files/vtk-6.1.0-freetype.patch 
b/sci-libs/vtk/files/vtk-6.1.0-freetype.patch
new file mode 100644
index 0000000..73af13e
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-6.1.0-freetype.patch
@@ -0,0 +1,22 @@
+--- a/Rendering/FreeType/vtkFreeTypeTools.cxx_orig     2014-12-23 
09:25:35.000000000 +0100
++++ b/Rendering/FreeType/vtkFreeTypeTools.cxx  2014-12-24 09:40:31.886953389 
+0100
+@@ -1185,7 +1185,7 @@
+     if (bitmap)
+       {
+       metaData.ascent = std::max(bitmapGlyph->top - 1, metaData.ascent);
+-      metaData.descent = std::min(-(bitmap->rows - (bitmapGlyph->top - 1)),
++      metaData.descent = std::min(-(static_cast<int>(bitmap->rows) - 
(bitmapGlyph->top - 1)),
+                                   metaData.descent);
+       }
+     ++heightString;
+@@ -1952,8 +1952,8 @@
+     if (bitmap)
+       {
+       bbox[0] = std::min(bbox[0], pen[0] + bitmapGlyph->left);
+-      bbox[1] = std::max(bbox[1], pen[0] + bitmapGlyph->left + bitmap->width);
+-      bbox[2] = std::min(bbox[2], pen[1] + bitmapGlyph->top - 1 - 
bitmap->rows);
++      bbox[1] = std::max(bbox[1], pen[0] + bitmapGlyph->left + 
static_cast<int>(bitmap->width));
++      bbox[2] = std::min(bbox[2], pen[1] + bitmapGlyph->top - 1 - 
static_cast<int>(bitmap->rows));
+       bbox[3] = std::max(bbox[3], pen[1] + bitmapGlyph->top - 1);
+       }
+     else

diff --git a/sci-libs/vtk/files/vtk-6.1.0-gdal2.patch 
b/sci-libs/vtk/files/vtk-6.1.0-gdal2.patch
new file mode 100644
index 0000000..c218641
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-6.1.0-gdal2.patch
@@ -0,0 +1,33 @@
+diff --git a/IO/GDAL/vtkGDALVectorReader.cxx b/IO/GDAL/vtkGDALVectorReader.cxx
+index 86854a0..a0e234a 100644
+--- a/IO/GDAL/vtkGDALVectorReader.cxx
++++ b/IO/GDAL/vtkGDALVectorReader.cxx
+# Patch to build against newer GDAL per upstream commit
+# 
https://projects.archlinux.org/svntogit/community.git/tree/trunk/gdal2.patch?h=packages/vtk&id=43307598a98872fd4ce7739e47f5bb4cfcb5372d
+@@ -44,7 +44,7 @@ class vtkGDALVectorReader::Internal
+ public:
+   Internal( const char* srcName, int srcMode, int appendFeatures, int 
addFeatIds )
+     {
+-    this->Source = OGRSFDriverRegistrar::Open( srcName, srcMode, 
&this->Driver );
++    this->Source = (GDALDataset*) OGROpen( srcName, srcMode, NULL );
+     if ( ! this->Source )
+       {
+       this->LastError = CPLGetLastErrorMsg();
+@@ -61,7 +61,7 @@ public:
+     {
+     if ( this->Source )
+       {
+-      OGRDataSource::DestroyDataSource( this->Source );
++      GDALClose( (GDALDatasetH) this->Source );
+       }
+     }
+
+@@ -304,7 +304,7 @@ public:
+     return nCells;
+     }
+
+-  OGRDataSource* Source;
++  GDALDataset* Source;
+   OGRSFDriver* Driver;
+   const char* LastError;
+   int LayerIdx;

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..638de17
--- /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
+--- a/Rendering/OpenGL/vtkOpenGL.h.glext       2014-01-22 08:55:41.000000000 
-0700
++++ b/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..d45bf02
--- /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
+--- a/CMake/vtkModuleTop.cmake.install 2014-01-23 19:12:04.922871103 -0700
++++ b/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-memset.patch 
b/sci-libs/vtk/files/vtk-6.1.0-memset.patch
new file mode 100644
index 0000000..362022e
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-6.1.0-memset.patch
@@ -0,0 +1,147 @@
+From ef22d3d69421581b33bc0cd94b647da73b61ba96 Mon Sep 17 00:00:00 2001
+From: Anton Gladky <[email protected]>
+Date: Fri, 30 May 2014 23:16:26 +0200
+Subject: [PATCH] Fix compilation by gcc-4.9
+
+VTK fails to build during compilation by gcc-4.9 with the
+following message:
+
+CMakeFiles/vtkFiltersParallelMPI.dir/vtkDistributedDataFilter.cxx.o: In
+function `memset':
+/usr/include/x86_64-linux-gnu/bits/string3.h:81: warning: memset used
+with constant zero length parameter; this could be due to transposed
+parameters
+collect2: error: ld returned 1 exit status
+
+This patch sets if-condition before all "memsets" in
+vtkDistributedDataFilter and checkes, whether the number
+of bytes to be set by memset is more than 0 to escape this
+error.
+---
+ Filters/ParallelMPI/vtkDistributedDataFilter.cxx | 48 ++++++++++++++++++------
+ 1 file changed, 37 insertions(+), 11 deletions(-)
+
+diff --git a/Filters/ParallelMPI/vtkDistributedDataFilter.cxx 
b/Filters/ParallelMPI/vtkDistributedDataFilter.cxx
+index 3c1ff30..df4b5d3 100644
+--- a/Filters/ParallelMPI/vtkDistributedDataFilter.cxx
++++ b/Filters/ParallelMPI/vtkDistributedDataFilter.cxx
+@@ -1091,7 +1091,10 @@ vtkDataSet 
*vtkDistributedDataFilter::TestFixTooFewInputFiles(vtkDataSet *input)
+   vtkIdType cellsPerNode = numTotalCells / nprocs;
+ 
+   vtkIdList **sendCells = new vtkIdList * [ nprocs ];
+-  memset(sendCells, 0, sizeof(vtkIdList *) * nprocs);
++  
++  if (sizeof(vtkIdList *) * nprocs > 0) {
++    memset(sendCells, 0, sizeof(vtkIdList *) * nprocs);
++  }
+ 
+   if (numConsumers == nprocs - 1)
+     {
+@@ -1582,7 +1585,9 @@ vtkFloatArray **
+   // Exchange int arrays
+ 
+   float **recvArrays = new float * [nprocs];
+-  memset(recvArrays, 0, sizeof(float *) * nprocs);
++  if (sizeof(float *) * nprocs > 0) {
++    memset(recvArrays, 0, sizeof(float *) * nprocs);
++  }
+ 
+   if (sendSize[me] > 0)  // sent myself an array
+     {
+@@ -1703,7 +1708,9 @@ vtkIdTypeArray **
+   // Exchange int arrays
+ 
+   vtkIdType **recvArrays = new vtkIdType * [nprocs];
+-  memset(recvArrays, 0, sizeof(vtkIdType *) * nprocs);
++  if (sizeof(vtkIdType *) * nprocs > 0) {
++    memset(recvArrays, 0, sizeof(vtkIdType *) * nprocs);
++  }
+ 
+   if (sendSize[me] > 0)  // sent myself an array
+     {
+@@ -2807,7 +2814,9 @@ void 
vtkDistributedDataFilter::AddConstantUnsignedCharPointArray(
+ 
+   unsigned char *vals = new unsigned char [npoints];
+ 
+-  memset(vals, val, npoints);
++  if (npoints > 0) {
++    memset(vals, val, npoints);
++  }
+ 
+   vtkUnsignedCharArray *Array = vtkUnsignedCharArray::New();
+   Array->SetName(arrayName);
+@@ -2827,7 +2836,9 @@ void 
vtkDistributedDataFilter::AddConstantUnsignedCharCellArray(
+ 
+   unsigned char *vals = new unsigned char [ncells];
+ 
+-  memset(vals, val, ncells);
++  if (ncells > 0) {
++    memset(vals, val, ncells);
++  }
+ 
+   vtkUnsignedCharArray *Array = vtkUnsignedCharArray::New();
+   Array->SetName(arrayName);
+@@ -3026,7 +3037,9 @@ int 
vtkDistributedDataFilter::AssignGlobalNodeIds(vtkUnstructuredGrid *grid)
+   vtkIdType nGridPoints = grid->GetNumberOfPoints();
+ 
+   vtkIdType *numPointsOutside = new vtkIdType [nprocs];
+-  memset(numPointsOutside, 0, sizeof(vtkIdType) * nprocs);
++  if (sizeof(vtkIdType) * nprocs > 0) {
++    memset(numPointsOutside, 0, sizeof(vtkIdType) * nprocs);
++  }
+ 
+   vtkIdTypeArray *globalIds = vtkIdTypeArray::New();
+   globalIds->SetNumberOfValues(nGridPoints);
+@@ -3108,10 +3121,16 @@ int 
vtkDistributedDataFilter::AssignGlobalNodeIds(vtkUnstructuredGrid *grid)
+   // global ID back?
+ 
+   vtkFloatArray **ptarrayOut = new vtkFloatArray * [nprocs];
+-  memset(ptarrayOut, 0, sizeof(vtkFloatArray *) * nprocs);
++  
++  if (sizeof(vtkFloatArray *) * nprocs > 0) {
++    memset(ptarrayOut, 0, sizeof(vtkFloatArray *) * nprocs);
++  }
+ 
+   vtkIdTypeArray **localIds     = new vtkIdTypeArray * [nprocs];
+-  memset(localIds, 0, sizeof(vtkIdTypeArray *) * nprocs);
++  
++  if (sizeof(vtkIdTypeArray *) * nprocs > 0) {
++    memset(localIds, 0, sizeof(vtkIdTypeArray *) * nprocs);
++  }
+ 
+   vtkIdType *next = new vtkIdType [nprocs];
+   vtkIdType *next3 = new vtkIdType [nprocs];
+@@ -3286,7 +3305,9 @@ vtkIdTypeArray 
**vtkDistributedDataFilter::FindGlobalPointIds(
+     {
+     // There are no cells in my assigned region
+ 
+-    memset(gids, 0, sizeof(vtkIdTypeArray *) * nprocs);
++    if (sizeof(vtkIdTypeArray *) * nprocs > 0) {
++      memset(gids, 0, sizeof(vtkIdTypeArray *) * nprocs);
++    }
+ 
+     return gids;
+     }
+@@ -3491,7 +3512,10 @@ vtkIdTypeArray 
**vtkDistributedDataFilter::MakeProcessLists(
+   std::multimap<int, int>::iterator mapIt;
+ 
+   vtkIdTypeArray **processList = new vtkIdTypeArray * [nprocs];
+-  memset(processList, 0, sizeof (vtkIdTypeArray *) * nprocs);
++
++  if (sizeof (vtkIdTypeArray *) * nprocs > 0) {
++    memset(processList, 0, sizeof (vtkIdTypeArray *) * nprocs);
++  }
+ 
+   for (int i=0; i<nprocs; i++)
+     {
+@@ -3581,7 +3605,9 @@ vtkIdTypeArray 
**vtkDistributedDataFilter::GetGhostPointIds(
+   vtkIdType numPoints = grid->GetNumberOfPoints();
+ 
+   vtkIdTypeArray **ghostPtIds = new vtkIdTypeArray * [nprocs];
+-  memset(ghostPtIds, 0, sizeof(vtkIdTypeArray *) * nprocs);
++  if (sizeof(vtkIdTypeArray *) * nprocs) {
++    memset(ghostPtIds, 0, sizeof(vtkIdTypeArray *) * nprocs);
++  }
+ 
+   if (numPoints < 1)
+     {

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..29e37ae
--- /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
+--- a/ThirdParty/netcdf/CMakeLists.txt.netcdf  2013-12-27 20:29:11.644289659 
-0700
++++ b/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..5395355
--- /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
+--- a/CMake/vtkModuleMacros.cmake.system       2013-12-24 19:17:43.000000000 
-0700
++++ b/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
+--- a/CMakeLists.txt.system    2013-12-27 20:28:22.374573241 -0700
++++ b/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-web.patch 
b/sci-libs/vtk/files/vtk-6.1.0-web.patch
new file mode 100644
index 0000000..a85f2cd
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-6.1.0-web.patch
@@ -0,0 +1,25 @@
+From 58373b120db6d51c6d5eace38447cdb45ff858d1 Mon Sep 17 00:00:00 2001
+From: Patric Schmitz <[email protected]>
+Date: Tue, 28 Oct 2014 16:24:22 +0100
+Subject: [PATCH] Include vtkPythonPackages in Web/JavaScript/CMakeLists.txt
+
+Change-Id: Ie7bffa19bdaa78c5b090c886e50c1af76e2aadee
+---
+ Web/Applications/CMakeLists.txt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Web/Applications/CMakeLists.txt b/Web/Applications/CMakeLists.txt
+index c9e7ad3..b4c9a60 100644
+--- a/Web/Applications/CMakeLists.txt
++++ b/Web/Applications/CMakeLists.txt
+@@ -12,6 +12,7 @@ set(WEB_APPLICATIONS
+ 
+ set(WEB_APPS_DEPENDS)
+ 
++include(vtkPythonPackages) # for copy_files_recursive
+ foreach(_app ${WEB_APPLICATIONS})
+   file(MAKE_DIRECTORY "${VTK_WWW_DIR}/apps/${_app}")
+ 
+-- 
+2.2.1
+

diff --git a/sci-libs/vtk/metadata.xml b/sci-libs/vtk/metadata.xml
new file mode 100644
index 0000000..6caa274
--- /dev/null
+++ b/sci-libs/vtk/metadata.xml
@@ -0,0 +1,35 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <!--
+       <maintainer type="project">
+               <email>[email protected]</email>
+               <name>Gentoo Science Project</name>
+       </maintainer>
+       <maintainer type="project">
+               <email>[email protected]</email>
+               <name>Java</name>
+       </maintainer>
+       -->
+       <maintainer>
+               <email>[email protected]</email>
+               <name>Harald Weiner</name>
+       </maintainer>
+       <use>
+               <flag name="all-modules">Build all modules</flag>
+               <flag name="boost">Add support for boost</flag>
+               <flag name="cg">Use nvidia's cg shaders</flag>
+               <flag name="gdal">Support for gdal formated data</flag>
+               <flag name="imaging">Building Imaging modules</flag>
+               <flag name="json">Support for json formated data</flag>
+               <flag name="kaapi">Use <pkg>sci-libs/xkaapi</pkg> to handle smp 
support</flag>
+               <flag name="offscreen">Offscreen rendering through OSMesa</flag>
+               <flag name="rendering">Building Redering modules</flag>
+               <flag name="tbb">Use <pkg>dev-cpp/tbb</pkg> to handle smp 
support</flag>
+               <flag name="views">Building Views modules</flag>
+               <flag name="web">Install web component</flag>
+               <flag name="xdmf2">Support for xdmf2 formated data</flag>
+               <flag name="R">Enable support for dev-lang/R</flag>
+       </use>
+</pkgmetadata>
+                          
\ No newline at end of file

diff --git a/sci-libs/vtk/vtk-6.1.0-r3.ebuild b/sci-libs/vtk/vtk-6.1.0-r3.ebuild
new file mode 100644
index 0000000..3365d9a
--- /dev/null
+++ b/sci-libs/vtk/vtk-6.1.0-r3.ebuild
@@ -0,0 +1,420 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+CMAKE_MAKEFILE_GENERATOR=ninja
+WEBAPP_OPTIONAL=yes
+WEBAPP_MANUAL_SLOT=yes
+
+inherit eutils flag-o-matic java-pkg-opt-2 python-single-r1 qmake-utils 
versionator toolchain-funcs cmake-utils virtualx webapp
+
+# Short package version
+SPV="$(get_version_component_range 1-2)"
+
+DESCRIPTION="The Visualization Toolkit"
+HOMEPAGE="http://www.vtk.org/";
+SRC_URI="
+       http://www.${PN}.org/files/release/${SPV}/VTK-${PV}.tar.gz
+       doc? ( 
http://www.${PN}.org/files/release/${SPV}/${PN}DocHtml-${PV}.tar.gz )
+       test? (
+               http://www.${PN}.org/files/release/${SPV}/VTKData-${PV}.tar.gz
+               
http://www.${PN}.org/files/release/${SPV}/VTKLargeData-${PV}.tar.gz
+               )
+       "
+
+LICENSE="BSD LGPL-2"
+#KEYWORDS="~arm ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE="
+       all-modules aqua boost cg doc examples imaging ffmpeg gdal java json 
kaapi mpi
+       mysql odbc offscreen postgres python qt4 qt5 rendering smp tbb test 
theora tk
+       tcl video_cards_nvidia views web xdmf2 R +X"
+
+REQUIRED_USE="
+       all-modules? ( python xdmf2 )
+       java? ( || ( qt4 qt5 ) )
+       python? ( ${PYTHON_REQUIRED_USE} )
+       tcl? ( rendering )
+       smp? ( ^^ ( kaapi tbb ) )
+       test? ( python )
+       tk? ( tcl )
+       web? ( python )
+       ^^ ( X aqua offscreen )
+       ^^ ( qt4 qt5 )
+       "
+
+RDEPEND="
+       dev-libs/expat
+       dev-libs/jsoncpp
+       dev-libs/libxml2:2
+       >=media-libs/freetype-2.5.4
+       media-libs/libpng:0
+       media-libs/mesa
+       media-libs/libtheora
+       media-libs/tiff:0
+       sci-libs/exodusii
+       sci-libs/hdf5:=
+       sci-libs/netcdf-cxx:3
+       sys-libs/zlib
+       virtual/jpeg:0
+       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 )
+       gdal? ( sci-libs/gdal )
+       java? ( >=virtual/jre-1.5:* )
+       kaapi? ( <sci-libs/xkaapi-3 )
+       mpi? (
+               virtual/mpi[cxx,romio]
+               python? ( dev-python/mpi4py[${PYTHON_USEDEP}] )
+       mysql? ( virtual/mysql )
+       odbc? ( dev-db/unixODBC )
+       offscreen? ( media-libs/mesa[osmesa] )
+       postgres? ( dev-db/postgresql:= )
+       python? (
+               ${PYTHON_DEPS}
+               dev-python/sip[${PYTHON_USEDEP}]
+               )
+       )
+       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}] )
+               )
+       qt5? (
+               dev-qt/designer:5
+               dev-qt/qtcore:5
+               dev-qt/qtgui:5
+               dev-qt/qtopengl:5
+               dev-qt/qtsql:5
+               dev-qt/qtwebkit:5
+               python? ( dev-python/PyQt5[${PYTHON_USEDEP}] )
+               )
+       tbb? ( dev-cpp/tbb )
+       tcl? ( dev-lang/tcl:0= )
+       tk? ( dev-lang/tk:0= )
+       video_cards_nvidia? ( media-video/nvidia-settings )
+       web? (
+               ${WEBAPP_DEPEND}
+               python? (
+                       dev-python/autobahn[${PYTHON_USEDEP}]
+                       dev-python/twisted-core[${PYTHON_USEDEP}]
+                       dev-python/zope-interface[${PYTHON_USEDEP}]
+                       )
+               )
+       xdmf2? ( sci-libs/xdmf2 )
+       R? ( dev-lang/R )"
+DEPEND="${RDEPEND}
+       doc? ( app-doc/doxygen )
+       java? ( >=virtual/jdk-1.5 )"
+
+S="${WORKDIR}"/VTK-${PV}
+
+PATCHES=(
+       "${FILESDIR}"/${P}-freetype.patch
+       "${FILESDIR}"/${P}-install.patch
+       "${FILESDIR}"/${P}-system.patch
+       "${FILESDIR}"/${P}-netcdf.patch
+       "${FILESDIR}"/${P}-web.patch
+       "${FILESDIR}"/${P}-glext.patch
+       "${FILESDIR}"/${P}-memset.patch
+       "${FILESDIR}"/${P}-gdal2.patch
+       )
+
+RESTRICT=test
+
+pkg_setup() {
+       use java && java-pkg-opt-2_pkg_setup
+       use python && python-single-r1_pkg_setup
+       use web && webapp_pkg_setup
+
+       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
+       # missing: VPIC alglib exodusII freerange ftgl libproj4 mrmpi sqlite 
utf8 verdict xmdf2 xmdf3
+       for x in expat freetype gl2ps hdf5 jpeg jsoncpp libxml2 netcdf 
oggtheora png tiff zlib; do
+               ebegin "Dropping bundled ${x}"
+               rm -r ThirdParty/${x}/vtk${x} || die
+               eend $?
+       done
+       rm -r \
+               ThirdParty/AutobahnPython/autobahn \
+               ThirdParty/Twisted/twisted \
+               ThirdParty/ZopeInterface/zope \
+               || die
+
+       use java && export 
JAVA_HOME="${EPREFIX}/etc/java-config-2/current-system-vm"
+
+       if use mpi; then
+               export CC=mpicc
+               export CXX=mpicxx
+               export FC=mpif90
+               export F90=mpif90
+               export F77=mpif77
+       fi
+
+       cmake-utils_src_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_AUTOBAHN=ON
+               -DVTK_USE_SYSTEM_EXPAT=ON
+               -DVTK_USE_SYSTEM_FREETYPE=ON
+               -DVTK_USE_SYSTEM_FreeType=ON
+               -DVTK_USE_SYSTEM_GL2PS=ON
+               -DVTK_USE_SYSTEM_HDF5=ON
+               -DVTK_USE_SYSTEM_JPEG=ON
+               -DVTK_USE_SYSTEM_LIBPROJ4=OFF
+#              -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_TWISTED=ON
+               -DVTK_USE_SYSTEM_XDMF2=OFF
+               -DVTK_USE_SYSTEM_XDMF3=OFF
+               -DVTK_USE_SYSTEM_ZLIB=ON
+               -DVTK_USE_SYSTEM_ZOPE=ON
+               -DVTK_USE_SYSTEM_LIBRARIES=ON
+               -DVTK_USE_GL2PS=ON
+               -DVTK_USE_LARGE_DATA=ON
+               -DVTK_USE_PARALLEL=ON
+       )
+
+       mycmakeargs+=(
+               -DVTK_EXTRA_COMPILER_WARNINGS=ON
+               -DVTK_Group_StandAlone=ON
+       )
+
+       mycmakeargs+=(
+               -DBUILD_DOCUMENTATION="$(usex doc)"
+               -DBUILD_EXAMPLES="$(usex examples)"
+               -DBUILD_VTK_BUILD_ALL_MODULES_FOR_TESTS="$(usex test)"
+               -DVTK_BUILD_ALL_MODULES="$(usex all-modules)"
+               -DDOCUMENTATION_HTML_HELP="$(usex doc)"
+               -DVTK_Group_Imaging="$(usex imaging)"
+               -DVTK_Group_MPI="$(usex mpi)"
+               -DVTK_Group_Qt="$(usex qt4)"
+               -DVTK_Group_Rendering="$(usex rendering)"
+               -DVTK_Group_Tk="$(usex tk)"
+               -DVTK_Group_Views="$(usex views)"
+               -DVTK_Group_Web="$(usex web)"
+               # How to convert this to EAPI 6???
+               #$(cmake-utils_use web VTK_WWW_DIR="${ED}/${MY_HTDOCSDIR}")
+               -DVTK_WRAP_JAVA="$(usex java)"
+               -DVTK_WRAP_PYTHON="$(usex python)"
+               -DVTK_WRAP_PYTHON_SIP="$(usex python)"
+               -DVTK_WRAP_TCL="$(usex tcl)"
+       )
+
+       mycmakeargs+=(
+               -DVTK_USE_BOOST="$(usex boost)"
+               -DVTK_USE_CG_SHADERS="$(usex cg)"
+               -DVTK_USE_ODBC="$(usex odbc)"
+               -DVTK_USE_OFFSCREEN="$(usex offscreen)"
+               -DVTK_OPENGL_HAS_OSMESA="$(usex offscreen)"
+               -DvtkFiltersSMP="$(usex smp)"
+               -DVTK_USE_OGGTHEORA_ENCODER="$(usex theora)"
+               -DVTK_USE_NVCONTROL="$(usex video_cards_nvidia)"
+               -DModule_vtkFiltersStatisticsGnuR="$(usex R)"
+               -DVTK_USE_X="$(usex X)"
+       )
+
+       # IO
+       mycmakeargs+=(
+               -DVTK_USE_FFMPEG_ENCODER="$(usex ffmpeg)"
+               -DModule_vtkIOGDAL="$(usex gdal)"
+               -DModule_vtkIOGeoJSON="$(usex json)"
+               -DModule_vtkIOXdmf2="$(usex xdmf2)"
+       )
+       # Apple stuff, does it really work?
+       mycmakeargs+=( -DVTK_USE_COCOA="$(usex aqua)" )
+
+       if use examples || use test; then
+               mycmakeargs+=( -DBUILD_TESTING=ON )
+       fi
+
+       if use kaapi; then
+               mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="Kaapi" )
+       elif use tbb; then
+               mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="TBB" )
+       else
+               mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="Sequential" )
+       fi
+
+       if use 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+=(
+                       -DVTK_INSTALL_PYTHON_MODULE_DIR="$(python_get_sitedir)"
+                       -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
+                       -DPYTHON_LIBRARY="$(python_get_library_path)"
+                       -DSIP_PYQT_DIR="${EPREFIX}/usr/share/sip"
+                       -DSIP_INCLUDE_DIR="$(python_get_includedir)"
+                       -DVTK_PYTHON_INCLUDE_DIR="$(python_get_includedir)"
+                       -DVTK_PYTHON_LIBRARY="$(python_get_library_path)"
+                       -DVTK_PYTHON_SETUP_ARGS:STRING="--prefix=${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
+                       -DVTK_QT_VERSION=4
+                       -DQT_MOC_EXECUTABLE="$(qt4_get_bindir)/moc"
+                       -DQT_UIC_EXECUTABLE="$(qt4_get_bindir)/uic"
+                       -DQT_INCLUDE_DIR="${EPREFIX}/usr/include/qt4"
+                       -DQT_QMAKE_EXECUTABLE="$(qt4_get_bindir)/qmake"
+               )
+       fi
+
+       if use qt5; then
+               mycmakeargs+=(
+                       -DVTK_USE_QVTK=ON
+                       -DVTK_USE_QVTK_OPENGL=ON
+                       -DVTK_USE_QVTK_QTOPENGL=ON
+                       -DQT_WRAP_CPP=ON
+                       -DQT_WRAP_UI=ON
+                       -DVTK_INSTALL_QT_DIR=/$(get_libdir)/qt5/plugins/designer
+                       -DDESIRED_QT_VERSION=5
+                       -DVTK_QT_VERSION=5
+                       -DQT_MOC_EXECUTABLE="$(qt5_get_bindir)/moc"
+                       -DQT_UIC_EXECUTABLE="$(qt5_get_bindir)/uic"
+                       -DQT_INCLUDE_DIR="${EPREFIX}/usr/include/qt5"
+                       -DQT_QMAKE_EXECUTABLE="$(qt5_get_bindir)/qmake"
+                       -DVTK_Group_Qt:BOOL=ON
+               )
+       fi
+
+       if use R; then
+               mycmakeargs+=(
+#                      -DR_LIBRARY_BLAS=$($(tc-getPKG_CONFIG) --libs blas)
+#                      -DR_LIBRARY_LAPACK=$($(tc-getPKG_CONFIG) --libs lapack)
+                       -DR_LIBRARY_BLAS=/usr/$(get_libdir)/R/lib/libR.so
+                       -DR_LIBRARY_LAPACK=/usr/$(get_libdir)/R/lib/libR.so
+               )
+       fi
+
+       cmake-utils_src_configure
+}
+
+src_test() {
+       local tcllib
+       ln -sf "${BUILD_DIR}"/lib  "${BUILD_DIR}"/lib/Release || die
+       for tcllib in "${BUILD_DIR}"/lib/lib*TCL*so; do
+               ln -sf $(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() {
+       use web && webapp_src_preinst
+       # 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."
+               docinto html
+               dodoc -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}
+
+       use web && webapp_src_install
+}
+
+# webapp.eclass exports these but we want it optional #534036
+pkg_postinst() {
+       use web && webapp_pkg_postinst
+}
+
+pkg_prerm() {
+       use web && webapp_pkg_prerm
+}

Reply via email to