Revert "sci-visualization/paraview: Only keep version 4.3.1"
authorMatthias Maier <tamiko@gentoo.org>
Sun, 20 Sep 2015 06:53:39 +0000 (01:53 -0500)
committerMatthias Maier <tamiko@gentoo.org>
Sun, 20 Sep 2015 06:56:20 +0000 (01:56 -0500)
This reverts commit 781fdf38053da604fcb269c354ad3cd86bd0e0ec.

Signed-off-by: Matthias Maier <tamiko@gentoo.org>
sci-visualization/paraview/Manifest
sci-visualization/paraview/files/paraview-4.0.1-Protobuf.patch [new file with mode: 0644]
sci-visualization/paraview/files/paraview-4.0.1-removesqlite.patch [new file with mode: 0644]
sci-visualization/paraview/files/paraview-4.0.1-vtk-cg-path.patch [new file with mode: 0644]
sci-visualization/paraview/files/paraview-4.0.1-vtknetcd.patch [new file with mode: 0644]
sci-visualization/paraview/files/paraview-4.1.0-glxext-legacy.patch [new file with mode: 0644]
sci-visualization/paraview/files/paraview-4.1.0-vtk-freetype.patch [new file with mode: 0644]
sci-visualization/paraview/paraview-4.1.0-r2.ebuild [new file with mode: 0644]
sci-visualization/paraview/paraview-4.2.0-r1.ebuild [new file with mode: 0644]

index 011c2601f3a249d5db9dfff7d7cb2c4facdc15c9..4b660f96c05295e2ef439e6499e1db728287ce02 100644 (file)
@@ -1,2 +1,4 @@
+DIST ParaView-v4.1.0-source.tar.gz 50460304 SHA256 80ef898c158d7fd9ceb0bcd83be1f679eef06ce4f20514a2435330cc97a3fdf3 SHA512 da91f7332a91746d60968a9d6cc1fe4878a3710f8e4a3d675dc65c337d6844f39df4c3e307d424ee0d2a832fd3c0f3d0c4da6a8b0a2aa6902920988fb53b9f7f WHIRLPOOL c3572d12f05b8443eb21a342c140d55e3c41e2af383aa850491aaeec412e62a45a4ee44e6d772dc9b6f141028911cb96b22a7818c6f15bc80bb8553d37008d96
+DIST ParaView-v4.2.0-source.tar.gz 50285547 SHA256 ac26cc5fe5ce82d27531727a01242353d40984826eaa580edea0791887a07b6b SHA512 611f641ccaa62b285c595df0318da94a9e0e67a1c3040f60c33bdd32bf980db8371c84958c9d5f3191cfd5249969a60f51f8e5dfa9bd234c96ec51caecdb37c8 WHIRLPOOL 1c81a95e00f06b3c60e31c82aa6e87979c6d9b8000ca7298904d8c3f09df58153f6dde7b96df5f538a991f5764862d3059d1395db61f12464306d3c3fe919fe7
 DIST ParaView-v4.3.1-source.tar.gz 50842525 SHA256 d534c475fc052215ecadf4ad19d9c7996c634b5d965951292b966710509a2542 SHA512 73c17f7ba757647869b26992c0ac3a6b9298bce9d2b8c2fca28286064f2b83a29753028a29c6f478654fffc96c9d9f5dd638c64df2b05ded425da122109d31e3 WHIRLPOOL 3db1d02db95acf16f29c4784714985e4f6f7a32fbdf7fa58ad85ecfaf6ab60d7959ea3d5a3ab5d36739e56f1ee5b025d9b6275749966b576324629f14e96bde0
 DIST ParaView-v4.4.0-source.tar.gz 58397252 SHA256 c2dc334a89df24ce5233b81b74740fc9f10bc181cd604109fd13f6ad2381fc73 SHA512 092dee4ca75b9f4e3b4a53c85ebc89f406a91f6dd9ac9a3deb65de776189c2582d15c2b1f8f0393ff4d7a438333f8801de22d2cf916b314d8b85d93cc5f4671e WHIRLPOOL 722be36c45563066a2e91e7ea3e382d6928056a38c01920089f6e16a721259e1e8f99b26c982f136f9cfac8f1cb1d9f54ee0267cea79360ace4c00e81a47e61b
diff --git a/sci-visualization/paraview/files/paraview-4.0.1-Protobuf.patch b/sci-visualization/paraview/files/paraview-4.0.1-Protobuf.patch
new file mode 100644 (file)
index 0000000..6a09a1a
--- /dev/null
@@ -0,0 +1,72 @@
+http://paraview.org/Bug/view.php?id=13656
+
+diff -up ParaView/ParaViewCore/ServerImplementation/Core/CMakeLists.txt.Protobuf ParaView/ParaViewCore/ServerImplementation/Core/CMakeLists.txt
+--- ParaView/ParaViewCore/ServerImplementation/Core/CMakeLists.txt.Protobuf    2012-11-08 07:51:51.000000000 -0700
++++ ParaView/ParaViewCore/ServerImplementation/Core/CMakeLists.txt     2012-11-13 15:17:53.980027098 -0700
+@@ -81,16 +81,24 @@
+ #------------------------------------------------------------------------------
+ # Generate the protbuf message file.
+ #------------------------------------------------------------------------------
+-get_target_property(PROTOC_LOCATION protoc_compiler LOCATION)
++if (VTK_USE_SYSTEM_PROTOBUF)
++      set (_PROTOC_COMPILER protoc)
++      set (_PROTOC_DEPEND "")
++else()
++      set (_PROTOC_COMPILER protoc_compiler)
++      set (_PROTOC_DEPEND ${_PROTOC_COMPILER})
++endif()
++
++get_target_property(PROTOC_LOCATION ${_PROTOC_COMPILER} LOCATION)
+ add_custom_command(
+     OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/vtkPVMessage.pb.h
+            ${CMAKE_CURRENT_BINARY_DIR}/vtkPVMessage.pb.cc
+     
+-    COMMAND protoc_compiler
++    COMMAND ${_PROTOC_COMPILER}
+            "--cpp_out=dllexport_decl=VTKPVSERVERIMPLEMENTATIONCORE_EXPORT:${CMAKE_CURRENT_BINARY_DIR}"
+            --proto_path "@CMAKE_CURRENT_SOURCE_DIR@"
+            "${CMAKE_CURRENT_SOURCE_DIR}/vtkPVMessage.proto"
+-    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/vtkPVMessage.proto protoc_compiler
++    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/vtkPVMessage.proto ${_PROTOC_DEPEND}
+     WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ )
+@@ -109,5 +117,9 @@
+ vtk_module_library(vtkPVServerImplementationCore
+   ${Module_SRCS})
++if (VTK_USE_SYSTEM_PROTOBUF)
++      target_link_libraries(vtkPVServerImplementationCore ${CMAKE_THREAD_LIBS_INIT})
++endif()
++
+ add_dependencies(vtkPVServerImplementationCore
+   protobuf_code_generation)
+diff -up ParaView/ThirdParty/protobuf/CMakeLists.txt.Protobuf ParaView/ThirdParty/protobuf/CMakeLists.txt
+--- ParaView/ThirdParty/protobuf/CMakeLists.txt.Protobuf       2012-11-08 07:51:51.000000000 -0700
++++ ParaView/ThirdParty/protobuf/CMakeLists.txt        2012-11-13 15:09:31.526673020 -0700
+@@ -34,7 +34,7 @@
+ set (PROTOBUF_INSTALL_LIB_DIR ${VTK_INSTALL_LIBRARY_DIR})
+ set (PROTOBUF_INSTALL_EXPORT_NAME ${VTK_INSTALL_EXPORT_NAME})
+-vtk_module_third_party(protobuf
++vtk_module_third_party(Protobuf
+   INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/vtkprotobuf/src
+   LIBRARIES protobuf
+ )
+@@ -42,10 +42,12 @@
+ # protobuf exports it's build-dir targets to a custom file
+ # (PROTOBUF_EXPORTS.cmake). We don't care much about that. We export
+ # build-dir targets ourselves.
+-vtk_target_export(protobuf)
+-vtk_target_export(protobuf-lite)
+-if (NOT CMAKE_CROSSCOMPILING)
+-  vtk_compile_tools_target_export(protoc_compiler)
++if (NOT VTK_USE_SYSTEM_PROTOBUF)
++  vtk_target_export(protobuf)
++  vtk_target_export(protobuf-lite)
++  if (NOT CMAKE_CROSSCOMPILING)
++    vtk_compile_tools_target_export(protoc_compiler)
++  endif()
+ endif()
+ # All these exports don't add any install rules. However we make protobuf itself
diff --git a/sci-visualization/paraview/files/paraview-4.0.1-removesqlite.patch b/sci-visualization/paraview/files/paraview-4.0.1-removesqlite.patch
new file mode 100644 (file)
index 0000000..be495b4
--- /dev/null
@@ -0,0 +1,517 @@
+Description: Import patch from VTK to remove sqlite
+Author: Mathieu Malaterre <mathieu.malaterre@gmail.com>
+Last-Update: Mon Feb 11 14:58:03 UTC 2013
+
+remove the internal copy of sqlite (vtksqlite)
+http://patch-tracker.debian.org/patch/series/view/paraview/3.14.1-7/removesqlite.patch
+
+--- VTK/IO/SQL/vtkSQLiteDatabase.cxx
++++ VTK/IO/SQL/vtkSQLiteDatabase.cxx
+@@ -29,7 +29,7 @@
+ #include <vtksys/ios/fstream>
+ #include <vtksys/ios/sstream>
+-#include <vtksqlite/vtk_sqlite3.h>
++#include <sqlite3.h>
+ vtkStandardNewMacro(vtkSQLiteDatabase);
+@@ -307,15 +307,15 @@
+       }
+     }
+-  int result = vtk_sqlite3_open(this->DatabaseFileName, & (this->SQLiteInstance));
++  int result = sqlite3_open(this->DatabaseFileName, & (this->SQLiteInstance));
+-  if (result != VTK_SQLITE_OK)
++  if (result != SQLITE_OK)
+     {
+     vtkDebugMacro(<<"SQLite open() failed.  Error code is "
+                   << result << " and message is "
+-                  << vtk_sqlite3_errmsg(this->SQLiteInstance) );
++                  << sqlite3_errmsg(this->SQLiteInstance) );
+-    vtk_sqlite3_close(this->SQLiteInstance);
++    sqlite3_close(this->SQLiteInstance);
+     return false;
+     }
+   else
+@@ -334,8 +334,8 @@
+     }
+   else
+     {
+-    int result = vtk_sqlite3_close(this->SQLiteInstance);
+-    if (result != VTK_SQLITE_OK)
++    int result = sqlite3_close(this->SQLiteInstance);
++    if (result != SQLITE_OK)
+       {
+       vtkWarningMacro(<< "Close(): SQLite returned result code " << result);
+       }
+@@ -374,7 +374,7 @@
+   if (!status)
+     {
+     vtkErrorMacro(<< "GetTables(): Database returned error: "
+-                  << vtk_sqlite3_errmsg(this->SQLiteInstance) );
++                  << sqlite3_errmsg(this->SQLiteInstance) );
+     query->Delete();
+     return this->Tables;
+     }
+@@ -403,7 +403,7 @@
+   if (!status)
+     {
+     vtkErrorMacro(<< "GetRecord(" << table << "): Database returned error: "
+-                  << vtk_sqlite3_errmsg(this->SQLiteInstance) );
++                  << sqlite3_errmsg(this->SQLiteInstance) );
+     query->Delete();
+     return NULL;
+     }
+@@ -467,10 +467,10 @@
+ // ----------------------------------------------------------------------
+ bool vtkSQLiteDatabase::HasError()
+ {
+-  return (vtk_sqlite3_errcode(this->SQLiteInstance)!=VTK_SQLITE_OK);
++  return (sqlite3_errcode(this->SQLiteInstance)!=SQLITE_OK);
+ }
+ const char* vtkSQLiteDatabase::GetLastErrorText()
+ {
+-  return vtk_sqlite3_errmsg(this->SQLiteInstance);
++  return sqlite3_errmsg(this->SQLiteInstance);
+ }
+--- VTK/IO/SQL/vtkSQLiteQuery.cxx
++++ VTK/IO/SQL/vtkSQLiteQuery.cxx
+@@ -25,7 +25,7 @@
+ #include "vtkVariant.h"
+ #include "vtkVariantArray.h"
+-#include <vtksqlite/vtk_sqlite3.h>
++#include <sqlite3.h>
+ #include <assert.h>
+@@ -43,7 +43,7 @@
+ {
+   this->Statement = NULL;
+   this->InitialFetch = true;
+-  this->InitialFetchResult=VTK_SQLITE_DONE;
++  this->InitialFetchResult=SQLITE_DONE;
+   this->LastErrorText = NULL;
+   this->TransactionInProgress = false;
+ }
+@@ -61,7 +61,7 @@
+     {
+     if (this->Database != NULL)
+       {
+-      vtk_sqlite3_finalize(this->Statement);
++      sqlite3_finalize(this->Statement);
+       this->Statement = NULL;
+       }
+     }
+@@ -131,8 +131,8 @@
+   if (this->Statement)
+     {
+     vtkDebugMacro(<<"Finalizing old statement");
+-    int finalizeStatus = vtk_sqlite3_finalize(this->Statement);
+-    if (finalizeStatus != VTK_SQLITE_OK)
++    int finalizeStatus = sqlite3_finalize(this->Statement);
++    if (finalizeStatus != SQLITE_OK)
+       {
+       vtkWarningMacro(<<"SetQuery(): Finalize returned unexpected code "
+                       << finalizeStatus);
+@@ -151,19 +151,19 @@
+       return false;
+       }
+-    vtk_sqlite3 *db = dbContainer->SQLiteInstance;
++    sqlite3 *db = dbContainer->SQLiteInstance;
+     const char *unused_statement;
+-    int prepareStatus = vtk_sqlite3_prepare_v2(db,
++    int prepareStatus = sqlite3_prepare_v2(db,
+                                                this->Query,
+                                                static_cast<int>(strlen(this->Query)),
+                                                &this->Statement,
+                                                &unused_statement);
+-    if (prepareStatus != VTK_SQLITE_OK)
++    if (prepareStatus != SQLITE_OK)
+       {
+-      this->SetLastErrorText(vtk_sqlite3_errmsg(db));
+-      vtkWarningMacro(<<"SetQuery(): vtk_sqlite3_prepare_v2() failed with error message "
++      this->SetLastErrorText(sqlite3_errmsg(db));
++      vtkWarningMacro(<<"SetQuery(): sqlite3_prepare_v2() failed with error message "
+                     << this->GetLastErrorText()
+                     << " on statement: '"
+                     << this->Query << "'");
+@@ -194,31 +194,31 @@
+     }
+   else
+     {
+-    vtk_sqlite3_reset(this->Statement);
++    sqlite3_reset(this->Statement);
+     }
+   vtkDebugMacro(<<"Execute(): Query ready to execute.");
+   this->InitialFetch = true;
+-  int result = vtk_sqlite3_step(this->Statement);
++  int result = sqlite3_step(this->Statement);
+   this->InitialFetchResult = result;
+-  if (result == VTK_SQLITE_DONE)
++  if (result == SQLITE_DONE)
+     {
+     this->SetLastErrorText(NULL);
+     this->Active = true;
+     return true;
+     }
+-  else if (result != VTK_SQLITE_ROW)
++  else if (result != SQLITE_ROW)
+     {
+     vtkSQLiteDatabase *dbContainer =
+       vtkSQLiteDatabase::SafeDownCast(this->Database);
+     assert(dbContainer != NULL);
+-    vtk_sqlite3 *db = dbContainer->SQLiteInstance;
++    sqlite3 *db = dbContainer->SQLiteInstance;
+-    this->SetLastErrorText(vtk_sqlite3_errmsg(db));
+-    vtkDebugMacro(<< "Execute(): vtk_sqlite3_step() returned error message "
++    this->SetLastErrorText(sqlite3_errmsg(db));
++    vtkDebugMacro(<< "Execute(): sqlite3_step() returned error message "
+                   << this->GetLastErrorText());
+     this->Active = false;
+     return false;
+@@ -239,7 +239,7 @@
+     }
+   else
+     {
+-    return vtk_sqlite3_column_count(this->Statement);
++    return sqlite3_column_count(this->Statement);
+     }
+ }
+@@ -259,7 +259,7 @@
+     }
+   else
+     {
+-    return vtk_sqlite3_column_name(this->Statement, column);
++    return sqlite3_column_name(this->Statement, column);
+     }
+ }
+@@ -279,22 +279,22 @@
+     }
+   else
+     {
+-    switch (vtk_sqlite3_column_type(this->Statement, column))
++    switch (sqlite3_column_type(this->Statement, column))
+       {
+-      case VTK_SQLITE_INTEGER:
++      case SQLITE_INTEGER:
+         return VTK_INT;
+-      case VTK_SQLITE_FLOAT:
++      case SQLITE_FLOAT:
+         return VTK_FLOAT;
+-      case VTK_SQLITE_TEXT:
++      case SQLITE_TEXT:
+         return VTK_STRING;
+-      case VTK_SQLITE_BLOB:
++      case SQLITE_BLOB:
+         return VTK_STRING; // until we have a BLOB type of our own
+-      case VTK_SQLITE_NULL:
++      case SQLITE_NULL:
+         return VTK_VOID; // ??? what makes sense here?
+       default:
+       {
+       vtkErrorMacro(<<"GetFieldType(): Unknown data type "
+-                    << vtk_sqlite3_column_type(this->Statement, column)
++                    << sqlite3_column_type(this->Statement, column)
+                     <<" from SQLite.");
+       return VTK_VOID;
+       }
+@@ -315,7 +315,7 @@
+     {
+     vtkDebugMacro(<<"NextRow(): Initial fetch being handled.");
+     this->InitialFetch = false;
+-    if (this->InitialFetchResult == VTK_SQLITE_DONE)
++    if (this->InitialFetchResult == SQLITE_DONE)
+       {
+       return false;
+       }
+@@ -326,12 +326,12 @@
+     }
+   else
+     {
+-    int result = vtk_sqlite3_step(this->Statement);
+-    if (result == VTK_SQLITE_DONE)
++    int result = sqlite3_step(this->Statement);
++    if (result == SQLITE_DONE)
+       {
+       return false;
+       }
+-    else if (result == VTK_SQLITE_ROW)
++    else if (result == SQLITE_ROW)
+       {
+       return true;
+       }
+@@ -339,8 +339,8 @@
+       {
+       vtkSQLiteDatabase *dbContainer = vtkSQLiteDatabase::SafeDownCast( this->Database );
+       assert(dbContainer != NULL);
+-      vtk_sqlite3 *db = dbContainer->SQLiteInstance;
+-      this->SetLastErrorText(vtk_sqlite3_errmsg(db));
++      sqlite3 *db = dbContainer->SQLiteInstance;
++      this->SetLastErrorText(sqlite3_errmsg(db));
+       vtkErrorMacro(<<"NextRow(): Database returned error code "
+                     << result << " with the following message: "
+                     << this->GetLastErrorText());
+@@ -366,33 +366,33 @@
+     }
+   else
+     {
+-    switch (vtk_sqlite3_column_type(this->Statement, column))
++    switch (sqlite3_column_type(this->Statement, column))
+       {
+-      case VTK_SQLITE_INTEGER:
+-        return vtkVariant(vtk_sqlite3_column_int(this->Statement, column));
++      case SQLITE_INTEGER:
++        return vtkVariant(sqlite3_column_int(this->Statement, column));
+-      case VTK_SQLITE_FLOAT:
+-        return vtkVariant(vtk_sqlite3_column_double(this->Statement, column));
++      case SQLITE_FLOAT:
++        return vtkVariant(sqlite3_column_double(this->Statement, column));
+-      case VTK_SQLITE_TEXT:
++      case SQLITE_TEXT:
+       {
+       vtksys_ios::ostringstream str;
+-      str << vtk_sqlite3_column_text(this->Statement, column);
++      str << sqlite3_column_text(this->Statement, column);
+       return vtkVariant(vtkStdString(str.str()));
+       }
+-      case VTK_SQLITE_BLOB:
++      case SQLITE_BLOB:
+       {
+       // This is a hack ... by passing the BLOB to vtkStdString with an explicit
+       // byte count, we ensure that the string will store all of the BLOB's bytes,
+       // even if there are NULL values.
+       return vtkVariant(vtkStdString(
+-        static_cast<const char*>(vtk_sqlite3_column_blob(this->Statement, column)),
+-        vtk_sqlite3_column_bytes(this->Statement, column)));
++        static_cast<const char*>(sqlite3_column_blob(this->Statement, column)),
++        sqlite3_column_bytes(this->Statement, column)));
+       }
+-      case VTK_SQLITE_NULL:
++      case SQLITE_NULL:
+       default:
+         return vtkVariant();
+       }
+@@ -423,11 +423,11 @@
+   vtkSQLiteDatabase *dbContainer = vtkSQLiteDatabase::SafeDownCast( this->Database );
+   assert(dbContainer != NULL);
+-  vtk_sqlite3 *db = dbContainer->SQLiteInstance;
++  sqlite3 *db = dbContainer->SQLiteInstance;
+   char *errorMessage = NULL;
+-  int result = vtk_sqlite3_exec(db, BEGIN_TRANSACTION, NULL, NULL, &errorMessage);
++  int result = sqlite3_exec(db, BEGIN_TRANSACTION, NULL, NULL, &errorMessage);
+-  if (result == VTK_SQLITE_OK)
++  if (result == SQLITE_OK)
+     {
+     this->TransactionInProgress = true;
+     this->SetLastErrorText(NULL);
+@@ -451,7 +451,7 @@
+ {
+   if (this->Statement)
+     {
+-    vtk_sqlite3_finalize(this->Statement);
++    sqlite3_finalize(this->Statement);
+     this->Statement = NULL;
+     }
+@@ -463,11 +463,11 @@
+   vtkSQLiteDatabase *dbContainer = vtkSQLiteDatabase::SafeDownCast( this->Database );
+   assert(dbContainer != NULL);
+-  vtk_sqlite3 *db = dbContainer->SQLiteInstance;
++  sqlite3 *db = dbContainer->SQLiteInstance;
+   char *errorMessage = NULL;
+-  int result = vtk_sqlite3_exec(db, COMMIT_TRANSACTION, NULL, NULL, &errorMessage);
++  int result = sqlite3_exec(db, COMMIT_TRANSACTION, NULL, NULL, &errorMessage);
+-  if (result == VTK_SQLITE_OK)
++  if (result == SQLITE_OK)
+     {
+     this->TransactionInProgress = false;
+     this->SetLastErrorText(NULL);
+@@ -499,11 +499,11 @@
+   vtkSQLiteDatabase *dbContainer = vtkSQLiteDatabase::SafeDownCast( this->Database );
+   assert(dbContainer != NULL);
+-  vtk_sqlite3 *db = dbContainer->SQLiteInstance;
++  sqlite3 *db = dbContainer->SQLiteInstance;
+   char *errorMessage = NULL;
+-  int result = vtk_sqlite3_exec(db, ROLLBACK_TRANSACTION, NULL, NULL, &errorMessage);
++  int result = sqlite3_exec(db, ROLLBACK_TRANSACTION, NULL, NULL, &errorMessage);
+-  if (result == VTK_SQLITE_OK)
++  if (result == SQLITE_OK)
+     {
+     this->TransactionInProgress = false;
+     this->SetLastErrorText(NULL);
+@@ -647,11 +647,11 @@
+   if (this->Active)
+     {
+     this->Active = false;
+-    vtk_sqlite3_reset(this->Statement);
++    sqlite3_reset(this->Statement);
+     }
+-  int status = vtk_sqlite3_bind_int(this->Statement, index+1, value);
++  int status = sqlite3_bind_int(this->Statement, index+1, value);
+-  if (status != VTK_SQLITE_OK)
++  if (status != SQLITE_OK)
+     {
+     vtksys_ios::ostringstream errormessage;
+     errormessage << "sqlite_bind_int returned error: " << status;
+@@ -676,11 +676,11 @@
+   if (this->Active)
+     {
+     this->Active = false;
+-    vtk_sqlite3_reset(this->Statement);
++    sqlite3_reset(this->Statement);
+     }
+-  int status = vtk_sqlite3_bind_int(this->Statement, index+1, static_cast<vtk_sqlite_int64>(value));
++  int status = sqlite3_bind_int(this->Statement, index+1, static_cast<sqlite_int64>(value));
+-  if (status != VTK_SQLITE_OK)
++  if (status != SQLITE_OK)
+     {
+     vtksys_ios::ostringstream errormessage;
+     errormessage << "sqlite_bind_int64 returned error: " << status;
+@@ -705,12 +705,12 @@
+   if (this->Active)
+     {
+     this->Active = false;
+-    vtk_sqlite3_reset(this->Statement);
++    sqlite3_reset(this->Statement);
+     }
+-  int status = vtk_sqlite3_bind_double(this->Statement, index+1, value);
++  int status = sqlite3_bind_double(this->Statement, index+1, value);
+-  if (status != VTK_SQLITE_OK)
++  if (status != SQLITE_OK)
+     {
+     vtksys_ios::ostringstream errormessage;
+     errormessage << "sqlite_bind_double returned error: " << status;
+@@ -734,12 +734,12 @@
+   if (this->Active)
+     {
+     this->Active = false;
+-    vtk_sqlite3_reset(this->Statement);
++    sqlite3_reset(this->Statement);
+     }
+-  int status = vtk_sqlite3_bind_text(this->Statement, index+1, value, length, VTK_SQLITE_TRANSIENT);
++  int status = sqlite3_bind_text(this->Statement, index+1, value, length, SQLITE_TRANSIENT);
+-  if (status != VTK_SQLITE_OK)
++  if (status != SQLITE_OK)
+     {
+     vtksys_ios::ostringstream errormessage;
+     errormessage << "sqlite_bind_text returned error: " << status;
+@@ -763,17 +763,17 @@
+   if (this->Active)
+     {
+     this->Active = false;
+-    vtk_sqlite3_reset(this->Statement);
++    sqlite3_reset(this->Statement);
+     }
+   int status =
+-    vtk_sqlite3_bind_blob(this->Statement,
++    sqlite3_bind_blob(this->Statement,
+                           index+1,
+                           data,
+                           length,
+-                          VTK_SQLITE_TRANSIENT);
++                          SQLITE_TRANSIENT);
+-  if (status != VTK_SQLITE_OK)
++  if (status != SQLITE_OK)
+     {
+     vtksys_ios::ostringstream errormessage;
+     errormessage << "sqlite_bind_blob returned error: " << status;
+@@ -797,12 +797,12 @@
+   if (this->Active)
+     {
+     this->Active = false;
+-    vtk_sqlite3_reset(this->Statement);
++    sqlite3_reset(this->Statement);
+     }
+-  int status = vtk_sqlite3_clear_bindings(this->Statement);
++  int status = sqlite3_clear_bindings(this->Statement);
+-  if (status != VTK_SQLITE_OK)
++  if (status != SQLITE_OK)
+     {
+     vtksys_ios::ostringstream errormessage;
+     errormessage << "sqlite_clear_bindings returned error: " << status;
+--- VTK/IO/SQL/vtkSQLiteDatabase.h
++++ VTK/IO/SQL/vtkSQLiteDatabase.h
+@@ -49,7 +49,7 @@
+ class vtkSQLQuery;
+ class vtkSQLiteQuery;
+ class vtkStringArray;
+-struct vtk_sqlite3;
++struct sqlite3;
+ class VTKIOSQL_EXPORT vtkSQLiteDatabase : public vtkSQLDatabase
+ {
+@@ -147,7 +147,7 @@
+   virtual bool ParseURL(const char* url);
+ private:
+-  vtk_sqlite3 *SQLiteInstance;
++  sqlite3 *SQLiteInstance;
+   // We want this to be private, a user of this class
+   // should not be setting this for any reason
+--- VTK/IO/SQL/vtkSQLiteQuery.h
++++ VTK/IO/SQL/vtkSQLiteQuery.h
+@@ -47,7 +47,7 @@
+ class vtkSQLiteDatabase;
+ class vtkVariant;
+ class vtkVariantArray;
+-struct vtk_sqlite3_stmt;
++struct sqlite3_stmt;
+ class VTKIOSQL_EXPORT vtkSQLiteQuery : public vtkSQLQuery
+ {
+@@ -155,7 +155,7 @@
+   vtkSQLiteQuery(const vtkSQLiteQuery &); // Not implemented.
+   void operator=(const vtkSQLiteQuery &); // Not implemented.
+-  vtk_sqlite3_stmt *Statement;
++  sqlite3_stmt *Statement;
+   bool InitialFetch;
+   int InitialFetchResult;
+   char *LastErrorText;
+--- VTK/ThirdParty/sqlite/CMakeLists.txt
++++ VTK/ThirdParty/sqlite/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-set(vtksqlite_THIRD_PARTY 1)
+-set(vtksqlite_LIBRARIES vtksqlite)
++#set(vtksqlite_THIRD_PARTY 1)
++set(vtksqlite_LIBRARIES sqlite3)
+ vtk_module_export_info()
+-add_subdirectory(vtksqlite)
++#add_subdirectory(vtksqlite)
diff --git a/sci-visualization/paraview/files/paraview-4.0.1-vtk-cg-path.patch b/sci-visualization/paraview/files/paraview-4.0.1-vtk-cg-path.patch
new file mode 100644 (file)
index 0000000..58ddde9
--- /dev/null
@@ -0,0 +1,36 @@
+--- ParaView-3.98.0-src/VTK/CMake/FindCg.cmake
++++ ParaView-3.98.0-src/VTK/CMake/FindCg.cmake
+@@ -82,6 +82,7 @@
+     FIND_PROGRAM( CG_COMPILER cgc
+       /usr/bin
+       /usr/local/bin
++      /opt/nvidia-cg-toolkit/bin
+       DOC "The Cg Compiler"
+       )
+     GET_FILENAME_COMPONENT(CG_COMPILER_DIR "${CG_COMPILER}" PATH)
+@@ -89,6 +90,7 @@
+     FIND_PATH( CG_INCLUDE_PATH Cg/cg.h
+       /usr/include
+       /usr/local/include
++      /opt/nvidia-cg-toolkit/include
+       ${CG_COMPILER_SUPER_DIR}/include
+       DOC "The directory where Cg/cg.h resides"
+       )
+@@ -98,6 +100,8 @@
+       /usr/lib
+       /usr/local/lib64
+       /usr/local/lib
++      /opt/nvidia-cg-toolkit/lib64
++      /opt/nvidia-cg-toolkit/lib
+       ${CG_COMPILER_SUPER_DIR}/lib64
+       ${CG_COMPILER_SUPER_DIR}/lib
+       DOC "The Cg runtime library"
+@@ -108,6 +112,8 @@
+       /usr/lib
+       /usr/local/lib64
+       /usr/local/lib
++      /opt/nvidia-cg-toolkit/lib64
++      /opt/nvidia-cg-toolkit/lib
+       ${CG_COMPILER_SUPER_DIR}/lib64
+       ${CG_COMPILER_SUPER_DIR}/lib
+       DOC "The Cg runtime library"
diff --git a/sci-visualization/paraview/files/paraview-4.0.1-vtknetcd.patch b/sci-visualization/paraview/files/paraview-4.0.1-vtknetcd.patch
new file mode 100644 (file)
index 0000000..a478b7d
--- /dev/null
@@ -0,0 +1,79 @@
+adapted from debian patch need to be applied after paraview-3.14.1-removesqlite.patch
+
+--- ParaView-3.98.0-src/VTK/ThirdParty/netcdf/CMakeLists.txt
++++ ParaView-3.98.0-src/VTK/ThirdParty/netcdf/CMakeLists.txt
+@@ -1,8 +1,8 @@
+-set(vtknetcdf_THIRD_PARTY 1)
+-set(vtknetcdf_LIBRARIES vtkNetCDF vtkNetCDF_cxx)
+-set(vtknetcdf_INCLUDE_DIRS
+-  ${vtknetcdf_SOURCE_DIR}/vtknetcdf/include
+-  ${vtknetcdf_BINARY_DIR}/vtknetcdf
+-  )
++#set(vtknetcdf_THIRD_PARTY 1)
++set(vtknetcdf_LIBRARIES netcdf netcdf_c++)
++#set(vtknetcdf_INCLUDE_DIRS
++#  ${vtknetcdf_SOURCE_DIR}/vtknetcdf/include
++#  ${vtknetcdf_BINARY_DIR}/vtknetcdf
++#  )
+ vtk_module_export_info()
+-add_subdirectory(vtknetcdf)
++#add_subdirectory(vtknetcdf)
+--- ParaView-3.98.0-src/VTK/ThirdParty/netcdf/vtk_netcdf.h
++++ ParaView-3.98.0-src/VTK/ThirdParty/netcdf/vtk_netcdf.h
+@@ -16,6 +16,6 @@
+ #define __vtk_netcdf_h
+ /* Use the netcdf library configured for VTK.  */
+-#include <vtknetcdf/include/netcdf.h>
++#include <netcdf.h>
+ #endif
+--- ParaView-3.98.0-src/VTK/ThirdParty/netcdf/vtk_netcdfcpp.h
++++ ParaView-3.98.0-src/VTK/ThirdParty/netcdf/vtk_netcdfcpp.h
+@@ -16,6 +16,6 @@
+ #define __vtk_netcdfcpp_h
+ /* Use the netcdf library configured for VTK.  */
+-#include <vtknetcdf/cxx/netcdfcpp.h>
++#include <netcdfcpp.h>
+ #endif
+--- ParaView-3.98.0-src/VTK/ThirdParty/exodusII/vtkexodusII/test/CMakeLists.txt
++++ ParaView-3.98.0-src/VTK/ThirdParty/exodusII/vtkexodusII/test/CMakeLists.txt
+@@ -21,7 +21,7 @@
+   )
+ add_executable(ExoIICTests ${ExoIICTests})
+-target_link_libraries(ExoIICTests vtkCommon vtkexoIIc vtkNetCDF)
++target_link_libraries(ExoIICTests vtkCommon vtkexoIIc netcdf)
+ set(TestsToRun ${ExoIICTests})
+ remove(TestsToRun ExoIICTests.cxx)
+--- ParaView-3.98.0-src/VTK/ThirdParty/exodusII/vtkexodusII/CMakeLists.txt
++++ ParaView-3.98.0-src/VTK/ThirdParty/exodusII/vtkexodusII/CMakeLists.txt
+@@ -241,7 +241,7 @@
+ VTK_ADD_LIBRARY(vtkexoIIc ${cbind_SRCS})
+-TARGET_LINK_LIBRARIES(vtkexoIIc vtkNetCDF)
++TARGET_LINK_LIBRARIES(vtkexoIIc netcdf)
+ IF(NOT VTK_INSTALL_NO_DEVELOPMENT)
+ #  INSTALL_FILES(${VTK_INSTALL_INCLUDE_DIR}/vtkexodus2 .h
+--- ParaView-3.98.0-src/VTK/IO/NetCDF/CMakeLists.txt
++++ ParaView-3.98.0-src/VTK/IO/NetCDF/CMakeLists.txt
+@@ -10,5 +10,5 @@
+ vtk_module_library(vtkIONetCDF ${Module_SRCS})
+-target_link_libraries(vtkIONetCDF vtkNetCDF_cxx)
++target_link_libraries(vtkIONetCDF netcdf netcdf_c++)
+ set_target_properties(vtkIONetCDF PROPERTIES LINK_INTERFACE_LIBRARIES "")
+--- ParaView-3.98.0-src/VTK/IO/ParallelNetCDF/CMakeLists.txt
++++ ParaView-3.98.0-src/VTK/IO/ParallelNetCDF/CMakeLists.txt
+@@ -8,4 +8,4 @@
+ vtk_module_library(vtkIOParallelNetCDF ${Module_SRCS})
+-target_link_libraries(vtkIOParallelNetCDF vtkNetCDF_cxx)
++target_link_libraries(vtkIOParallelNetCDF netcdf netcdf_c++)
diff --git a/sci-visualization/paraview/files/paraview-4.1.0-glxext-legacy.patch b/sci-visualization/paraview/files/paraview-4.1.0-glxext-legacy.patch
new file mode 100644 (file)
index 0000000..65a5b20
--- /dev/null
@@ -0,0 +1,9 @@
+--- a/ParaView-v4.1.0/VTK/Rendering/OpenGL/vtkXOpenGLRenderWindow.cxx_orig     2014-01-11 15:02:10.000000000 +0100
++++ b/ParaView-v4.1.0/VTK/Rendering/OpenGL/vtkXOpenGLRenderWindow.cxx  2014-11-11 13:12:25.000000000 +0100
+@@ -28,5 +28,5 @@
+ // define GLX_GLXEXT_LEGACY to prevent glx.h to include glxext.h provided by
+ // the system
+-//#define GLX_GLXEXT_LEGACY
++#define GLX_GLXEXT_LEGACY
+ #include "GL/glx.h"
diff --git a/sci-visualization/paraview/files/paraview-4.1.0-vtk-freetype.patch b/sci-visualization/paraview/files/paraview-4.1.0-vtk-freetype.patch
new file mode 100644 (file)
index 0000000..b7d3e40
--- /dev/null
@@ -0,0 +1,22 @@
+--- a/ParaView-v4.2.0-source/VTK/Rendering/FreeType/vtkFreeTypeTools.cxx_orig  2014-12-23 09:25:35.000000000 +0100
++++ b/ParaView-v4.2.0-source/VTK/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-visualization/paraview/paraview-4.1.0-r2.ebuild b/sci-visualization/paraview/paraview-4.1.0-r2.ebuild
new file mode 100644 (file)
index 0000000..20bed18
--- /dev/null
@@ -0,0 +1,302 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+inherit eutils multilib versionator python-single-r1 cmake-utils
+
+MAIN_PV=$(get_major_version)
+MAJOR_PV=$(get_version_component_range 1-2)
+MY_P="ParaView-v${PV}-source"
+
+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 plugins python qt4 sqlite tcl test tk"
+RESTRICT="test"
+
+REQUIRED_USE="python? ( ${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-2.6
+       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
+       >=x11-libs/gl2ps-1.3.8
+       x11-libs/libX11
+       x11-libs/libXext
+       x11-libs/libXmu
+       x11-libs/libXt
+       boost? ( >=dev-libs/boost-1.40.0[mpi?,${PYTHON_USEDEP}] )
+       coprocessing? (
+               plugins? (
+                       dev-python/PyQt4
+                       dev-qt/qtgui:4
+               )
+       )
+       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[${PYTHON_USEDEP}]
+               dev-python/zope-interface[${PYTHON_USEDEP}]
+               mpi? ( dev-python/mpi4py[${PYTHON_USEDEP}] )
+               qt4? ( dev-python/PyQt4[opengl,webkit,${PYTHON_USEDEP}] )
+       )
+       qt4? (
+               dev-qt/designer:4
+               dev-qt/qtgui:4
+               dev-qt/qtopengl:4
+               dev-qt/qthelp:4[compat]
+               dev-qt/qtsql:4
+               dev-qt/qtwebkit:4
+       )
+       sqlite? ( dev-db/sqlite:3 )
+       tcl? ( dev-lang/tcl:0= )
+       tk? ( dev-lang/tk:0= )"
+DEPEND="${RDEPEND}
+       doc? ( app-doc/doxygen )"
+
+S=${WORKDIR}/${MY_P%-source}
+
+pkg_setup() {
+       python-single-r1_pkg_setup
+       PVLIBDIR=$(get_libdir)/${PN}-${MAJOR_PV}
+}
+
+src_prepare() {
+       # see patch headers for description
+       epatch "${FILESDIR}"/${PN}-4.0.1-xdmf-cstring.patch \
+               "${FILESDIR}"/${PN}-4.0.1-removesqlite.patch \
+               "${FILESDIR}"/${PN}-4.0.1-gcc-4.7.patch \
+               "${FILESDIR}"/${PN}-4.0.1-vtk-cg-path.patch \
+               "${FILESDIR}"/${PN}-4.0.1-Protobuf.patch \
+               "${FILESDIR}"/${P}-glxext-legacy.patch \
+               "${FILESDIR}"/${P}-no-fatal-warnings.patch \
+               "${FILESDIR}"/${P}-vtk-freetype.patch
+
+       # 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() {
+       local mysql_lib mysql_includedir
+
+       if use mysql ; then
+               if [[ $(mysql_config --version | sed 's/\.//g') -lt 5529 ]] ; then
+                       mysql_lib="/usr/$(get_libdir)/mysql/libmysqlclient.so"
+                       mysql_includedir="/usr/include/mysql"
+               else
+                       mysql_lib="$(mysql_config --variable=pkglibdir)/libmysqlclient.so"
+                       mysql_includedir="$(mysql_config --variable=pkgincludedir)"
+               fi
+       fi
+
+       # TODO: use system jsoncpp
+       # 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
+               -DVTK_USE_SYSTEM_EXPAT=ON
+               -DVTK_USE_SYSTEM_FREETYPE=ON
+               -DVTK_USE_SYSTEM_GL2PS=ON
+               -DVTK_USE_SYSTEM_HDF5=ON
+               -DVTK_USE_SYSTEM_JPEG=ON
+               -DVTK_USE_SYSTEM_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_XDMF2=OFF
+               -DVTK_USE_SYSTEM_ZLIB=ON
+               -DPARAVIEW_USE_SYSTEM_MPI4PY=ON
+               -DVTK_USE_SYSTEM_ZOPE=ON
+               -DVTK_USE_SYSTEM_TWISTED=ON
+               -DCMAKE_VERBOSE_MAKEFILE=ON
+               -DCMAKE_COLOR_MAKEFILE=TRUE
+               -DVTK_USE_OFFSCREEN=TRUE
+               -DCMAKE_USE_PTHREADS=ON
+               -DVTK_USE_FFMPEG_ENCODER=OFF
+               -DPROTOC_LOCATION=$(type -P protoc)
+               -DVTK_Group_StandAlone=ON
+               -DMYSQL_INCLUDE_DIRECTORIES="$(usex mysql "${mysql_includedir}" "")"
+               -DMYSQL_LIBRARY="$(usex mysql "${mysql_lib}" "")"
+               # 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 qt4 PARAVIEW_BUILD_QT_GUI)
+               $(cmake-utils_use qt4 Module_vtkGUISupportQtOpenGL)
+               $(cmake-utils_use qt4 Module_vtkGUISupportQtSQL)
+               $(cmake-utils_use qt4 Module_vtkGUISupportQtWebkit)
+               $(cmake-utils_use qt4 Module_vtkRenderingQt)
+               $(cmake-utils_use qt4 Module_vtkViewsQt)
+               $(cmake-utils_use qt4 VTK_Group_ParaViewQt)
+               $(cmake-utils_use qt4 VTK_Group_Qt)
+               $(cmake-utils_use !qt4 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 qt4 "$(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 qt4 ; 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.png paraview.png
+       make_desktop_entry paraview "Paraview" paraview
+
+       use python && python_optimize "${D}"/usr/$(get_libdir)/${PN}-${MAJOR_PV}
+}
+
+pkg_postinst() {
+       # with Qt4.5 there seem to be issues reading data files
+       # under certain locales. Setting LC_ALL=C should fix these.
+       elog ""
+       elog "If you experience data corruption during parsing of"
+       elog "data files with paraview please try setting your"
+       elog "locale to LC_ALL=C."
+       elog "If you plan to use paraview component from an existing shell"
+       elog "you should run env-update and . /etc/profile first"
+       elog ""
+       elog "paraview no longer exports bundled python modules in PYTHONPATH"
+       elog "globally due to clashes of bundled packages with system-wide"
+       elog "site-packages. If you want to use paraview's python modules"
+       elog "export"
+       elog "  PYTHONPATH=${EPREFIX}/usr/${PVLIBDIR}:${EPREFIX}/usr/${PVLIBDIR}/site-packages"
+       elog "as needed."
+}
diff --git a/sci-visualization/paraview/paraview-4.2.0-r1.ebuild b/sci-visualization/paraview/paraview-4.2.0-r1.ebuild
new file mode 100644 (file)
index 0000000..7777925
--- /dev/null
@@ -0,0 +1,300 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+inherit eutils multilib versionator python-single-r1 cmake-utils
+
+MAIN_PV=$(get_major_version)
+MAJOR_PV=$(get_version_component_range 1-2)
+MY_P="ParaView-v${PV}-source"
+
+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 plugins python qt4 sqlite tcl test tk"
+RESTRICT="test"
+
+REQUIRED_USE="python? ( ${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-2.6
+       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
+       >=x11-libs/gl2ps-1.3.8
+       x11-libs/libX11
+       x11-libs/libXext
+       x11-libs/libXmu
+       x11-libs/libXt
+       boost? ( >=dev-libs/boost-1.40.0[mpi?,${PYTHON_USEDEP}] )
+       coprocessing? (
+               plugins? (
+                       dev-python/PyQt4
+                       dev-qt/qtgui:4
+               )
+       )
+       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[${PYTHON_USEDEP}]
+               dev-python/zope-interface[${PYTHON_USEDEP}]
+               mpi? ( dev-python/mpi4py[${PYTHON_USEDEP}] )
+               qt4? ( dev-python/PyQt4[opengl,webkit,${PYTHON_USEDEP}] )
+       )
+       qt4? (
+               dev-qt/designer:4
+               dev-qt/qtgui:4
+               dev-qt/qtopengl:4
+               dev-qt/qthelp:4[compat]
+               dev-qt/qtsql:4
+               dev-qt/qtwebkit:4
+       )
+       sqlite? ( dev-db/sqlite:3 )
+       tcl? ( dev-lang/tcl:0= )
+       tk? ( dev-lang/tk:0= )"
+DEPEND="${RDEPEND}
+       doc? ( app-doc/doxygen )"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+       python-single-r1_pkg_setup
+       PVLIBDIR=$(get_libdir)/${PN}-${MAJOR_PV}
+}
+
+src_prepare() {
+       # see patch headers for description
+       epatch "${FILESDIR}"/${PN}-4.0.1-xdmf-cstring.patch \
+               "${FILESDIR}"/${P}-removesqlite.patch \
+               "${FILESDIR}"/${PN}-4.0.1-gcc-4.7.patch \
+               "${FILESDIR}"/${P}-protobuf.patch \
+               "${FILESDIR}"/${PN}-4.1.0-no-fatal-warnings.patch \
+               "${FILESDIR}"/${P}-vtk-freetype.patch
+
+       # 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() {
+       local mysql_lib mysql_includedir
+
+       if use mysql ; then
+               if [[ $(mysql_config --version | sed 's/\.//g') -lt 5529 ]] ; then
+                       mysql_lib="/usr/$(get_libdir)/mysql/libmysqlclient.so"
+                       mysql_includedir="/usr/include/mysql"
+               else
+                       mysql_lib="$(mysql_config --variable=pkglibdir)/libmysqlclient.so"
+                       mysql_includedir="$(mysql_config --variable=pkgincludedir)"
+               fi
+       fi
+
+       # TODO: use system jsoncpp
+       # 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
+               -DVTK_USE_SYSTEM_EXPAT=ON
+               -DVTK_USE_SYSTEM_FREETYPE=ON
+               -DVTK_USE_SYSTEM_GL2PS=ON
+               -DVTK_USE_SYSTEM_HDF5=ON
+               -DVTK_USE_SYSTEM_JPEG=ON
+               -DVTK_USE_SYSTEM_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_XDMF2=OFF
+               -DVTK_USE_SYSTEM_ZLIB=ON
+               -DPARAVIEW_USE_SYSTEM_MPI4PY=ON
+               -DVTK_USE_SYSTEM_ZOPE=ON
+               -DVTK_USE_SYSTEM_TWISTED=ON
+               -DCMAKE_VERBOSE_MAKEFILE=ON
+               -DCMAKE_COLOR_MAKEFILE=TRUE
+               -DVTK_USE_OFFSCREEN=TRUE
+               -DCMAKE_USE_PTHREADS=ON
+               -DVTK_USE_FFMPEG_ENCODER=OFF
+               -DPROTOC_LOCATION=$(type -P protoc)
+               -DVTK_Group_StandAlone=ON
+               -DMYSQL_INCLUDE_DIRECTORIES="$(usex mysql "${mysql_includedir}" "")"
+               -DMYSQL_LIBRARY="$(usex mysql "${mysql_lib}" "")"
+               # 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 qt4 PARAVIEW_BUILD_QT_GUI)
+               $(cmake-utils_use qt4 Module_vtkGUISupportQtOpenGL)
+               $(cmake-utils_use qt4 Module_vtkGUISupportQtSQL)
+               $(cmake-utils_use qt4 Module_vtkGUISupportQtWebkit)
+               $(cmake-utils_use qt4 Module_vtkRenderingQt)
+               $(cmake-utils_use qt4 Module_vtkViewsQt)
+               $(cmake-utils_use qt4 VTK_Group_ParaViewQt)
+               $(cmake-utils_use qt4 VTK_Group_Qt)
+               $(cmake-utils_use !qt4 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 qt4 "$(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 qt4 ; 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}
+}
+
+pkg_postinst() {
+       # with Qt4.5 there seem to be issues reading data files
+       # under certain locales. Setting LC_ALL=C should fix these.
+       elog ""
+       elog "If you experience data corruption during parsing of"
+       elog "data files with paraview please try setting your"
+       elog "locale to LC_ALL=C."
+       elog "If you plan to use paraview component from an existing shell"
+       elog "you should run env-update and . /etc/profile first"
+       elog ""
+       elog "paraview no longer exports bundled python modules in PYTHONPATH"
+       elog "globally due to clashes of bundled packages with system-wide"
+       elog "site-packages. If you want to use paraview's python modules"
+       elog "export"
+       elog "  PYTHONPATH=${EPREFIX}/usr/${PVLIBDIR}:${EPREFIX}/usr/${PVLIBDIR}/site-packages"
+       elog "as needed."
+}