aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-visualization')
-rw-r--r--sci-visualization/paraview/ChangeLog16
-rw-r--r--sci-visualization/paraview/files/paraview-3.14.1-gcc-4.7.patch28
-rw-r--r--sci-visualization/paraview/files/paraview-3.14.1-mpi4py.patch15
-rw-r--r--sci-visualization/paraview/files/paraview-3.14.1-python-exit.patch46
-rw-r--r--sci-visualization/paraview/files/paraview-3.14.1-removesqlite.patch526
-rw-r--r--sci-visualization/paraview/files/paraview-3.14.1-vtknetcd.patch75
-rw-r--r--sci-visualization/paraview/paraview-3.14.1-r2.ebuild (renamed from sci-visualization/paraview/paraview-3.14.1.ebuild)37
7 files changed, 738 insertions, 5 deletions
diff --git a/sci-visualization/paraview/ChangeLog b/sci-visualization/paraview/ChangeLog
index 4db958d38..67889a1d4 100644
--- a/sci-visualization/paraview/ChangeLog
+++ b/sci-visualization/paraview/ChangeLog
@@ -2,6 +2,22 @@
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
+*paraview-3.14.1-r2 (31 Aug 2012)
+
+ 31 Aug 2012; François Bissey <francois.bissey@canterbury.ac.nz>
+ -paraview-3.14.1-r1.ebuild, +paraview-3.14.1-r2.ebuild,
+ +files/paraview-3.14.1-vtknetcd.patch:
+ netcdf dealt with
+
+*paraview-3.14.1-r1 (30 Aug 2012)
+
+ 30 Aug 2012; François Bissey <francois.bissey@canterbury.ac.nz>
+ -paraview-3.14.1.ebuild, +paraview-3.14.1-r1.ebuild,
+ +files/paraview-3.14.1-gcc-4.7.patch, +files/paraview-3.14.1-mpi4py.patch,
+ +files/paraview-3.14.1-python-exit.patch,
+ +files/paraview-3.14.1-removesqlite.patch:
+ fix a number of things
+
*paraview-3.14.1 (28 Aug 2012)
28 Aug 2012; François Bissey <francois.bissey@canterbury.ac.nz>
diff --git a/sci-visualization/paraview/files/paraview-3.14.1-gcc-4.7.patch b/sci-visualization/paraview/files/paraview-3.14.1-gcc-4.7.patch
new file mode 100644
index 000000000..0da9aab78
--- /dev/null
+++ b/sci-visualization/paraview/files/paraview-3.14.1-gcc-4.7.patch
@@ -0,0 +1,28 @@
+Description: fix FTBFS with gcc-4.7
+Author: Mathieu Malaterre <malat@debian.org>
+Origin: http://anonscm.debian.org/gitweb/?p=collab-maint/vtk.git;a=commitdiff;h=428e763c995bb303805e07da70c1a34fc103d208
+Reviewed-by: Anton Gladky <gladky.anton@gmail.com>
+Last-Update: 2012-05-08
+
+--- a/VTK/Rendering/vtkFreeTypeTools.cxx
++++ b/VTK/Rendering/vtkFreeTypeTools.cxx
+@@ -35,6 +35,8 @@
+ using namespace ftgl;
+ #endif
+
++#include <stdint.h>
++
+ // Print debug info
+ #define VTK_FTFC_DEBUG 0
+ #define VTK_FTFC_DEBUG_CD 0
+--- a/VTK/Rendering/vtkFreeTypeUtilities.cxx
++++ b/VTK/Rendering/vtkFreeTypeUtilities.cxx
+@@ -36,6 +36,8 @@
+ using namespace ftgl;
+ #endif
+
++#include <stdint.h>
++
+ // Print debug info
+
+ #define VTK_FTFC_DEBUG 0
diff --git a/sci-visualization/paraview/files/paraview-3.14.1-mpi4py.patch b/sci-visualization/paraview/files/paraview-3.14.1-mpi4py.patch
new file mode 100644
index 000000000..95a0d7ac8
--- /dev/null
+++ b/sci-visualization/paraview/files/paraview-3.14.1-mpi4py.patch
@@ -0,0 +1,15 @@
+--- CMake/ParaViewCommon.cmake.orig 2012-08-29 13:38:19.392381797 +1200
++++ CMake/ParaViewCommon.cmake 2012-08-29 13:38:47.271407061 +1200
+@@ -497,9 +497,9 @@
+
+ #########################################################################
+ # Configure mpi4py
+-IF(PARAVIEW_ENABLE_PYTHON AND PARAVIEW_USE_MPI)
+- ADD_SUBDIRECTORY(Utilities/mpi4py)
+-ENDIF(PARAVIEW_ENABLE_PYTHON AND PARAVIEW_USE_MPI)
++#IF(PARAVIEW_ENABLE_PYTHON AND PARAVIEW_USE_MPI)
++# ADD_SUBDIRECTORY(Utilities/mpi4py)
++#ENDIF(PARAVIEW_ENABLE_PYTHON AND PARAVIEW_USE_MPI)
+
+
+
diff --git a/sci-visualization/paraview/files/paraview-3.14.1-python-exit.patch b/sci-visualization/paraview/files/paraview-3.14.1-python-exit.patch
new file mode 100644
index 000000000..03ae27ae5
--- /dev/null
+++ b/sci-visualization/paraview/files/paraview-3.14.1-python-exit.patch
@@ -0,0 +1,46 @@
+--- ParaViewCore/ClientServerCore/vtkPythonProgrammableFilter.cxx.orig 2012-08-28 15:42:34.410099857 +1200
++++ ParaViewCore/ClientServerCore/vtkPythonProgrammableFilter.cxx 2012-08-28 15:45:25.731279418 +1200
+@@ -80,6 +80,16 @@
+ }
+
+ //----------------------------------------------------------------------------
++void vtkPythonProgrammableFilter::DeleteGlobalPythonInterpretor()
++{
++ if(GlobalPipelineInterpretor)
++ {
++ GlobalPipelineInterpretor->Delete();
++ GlobalPipelineInterpretor = 0;
++ }
++}
++
++//----------------------------------------------------------------------------
+ vtkPythonProgrammableFilter::vtkPythonProgrammableFilter() :
+ Implementation(new vtkPythonProgrammableFilterImplementation())
+ {
+--- ParaViewCore/ClientServerCore/vtkPythonProgrammableFilter.h.orig 2012-08-28 15:42:45.892355278 +1200
++++ ParaViewCore/ClientServerCore/vtkPythonProgrammableFilter.h 2012-08-28 15:45:54.883213682 +1200
+@@ -102,6 +102,7 @@
+ //BTX
+ static vtkPVPythonInterpretor* GetGlobalPipelineInterpretor();
+ //ETX
++static void DeleteGlobalPythonInterpretor();
+ protected:
+ vtkPythonProgrammableFilter();
+ ~vtkPythonProgrammableFilter();
+--- Utilities/VTKPythonWrapping/paraview/servermanager.py.orig 2012-08-28 15:47:14.611830975 +1200
++++ Utilities/VTKPythonWrapping/paraview/servermanager.py 2012-08-28 15:48:11.995520340 +1200
+@@ -40,7 +40,7 @@
+ # PURPOSE. See the above copyright notice for more information.
+ #
+ #==============================================================================
+-import paraview, re, os, os.path, new, sys, vtk
++import paraview, re, os, os.path, new, sys, atexit, vtk
+
+ if not paraview.compatibility.minor:
+ paraview.compatibility.major = 3
+@@ -3027,3 +3027,5 @@
+
+ def GetNumberOfConnections():
+ return len(MultiServerConnections)
++
++atexit.register(vtkPythonProgrammableFilter.DeleteGlobalPythonInterpretor)
diff --git a/sci-visualization/paraview/files/paraview-3.14.1-removesqlite.patch b/sci-visualization/paraview/files/paraview-3.14.1-removesqlite.patch
new file mode 100644
index 000000000..3467fa965
--- /dev/null
+++ b/sci-visualization/paraview/files/paraview-3.14.1-removesqlite.patch
@@ -0,0 +1,526 @@
+Description: Import patch from VTK to remove sqlite
+Author: Mathieu Malaterre <mathieu.malaterre@gmail.com>
+Last-Update: 2011-09-07
+
+--- a/VTK/IO/vtkSQLiteDatabase.cxx
++++ b/VTK/IO/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);
+ }
+--- a/VTK/IO/vtkSQLiteQuery.cxx
++++ b/VTK/IO/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;
+--- a/VTK/IO/vtkSQLiteDatabase.h
++++ b/VTK/IO/vtkSQLiteDatabase.h
+@@ -48,7 +48,7 @@
+ class vtkSQLQuery;
+ class vtkSQLiteQuery;
+ class vtkStringArray;
+-struct vtk_sqlite3;
++struct sqlite3;
+
+ class VTK_IO_EXPORT vtkSQLiteDatabase : public vtkSQLDatabase
+ {
+@@ -146,7 +146,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
+--- a/VTK/IO/vtkSQLiteQuery.h
++++ b/VTK/IO/vtkSQLiteQuery.h
+@@ -46,7 +46,7 @@
+ class vtkSQLiteDatabase;
+ class vtkVariant;
+ class vtkVariantArray;
+-struct vtk_sqlite3_stmt;
++struct sqlite3_stmt;
+
+ class VTK_IO_EXPORT vtkSQLiteQuery : public vtkSQLQuery
+ {
+@@ -154,7 +154,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;
+--- a/VTK/Utilities/CMakeLists.txt
++++ b/VTK/Utilities/CMakeLists.txt
+@@ -55,7 +55,7 @@
+ SET_PROPERTY(GLOBAL APPEND PROPERTY VTK_TARGETS vtkmetaio)
+ ENDIF(NOT VTK_INSTALL_NO_LIBRARIES)
+ ENDIF(VTK_USE_METAIO)
+-ADD_SUBDIRECTORY(vtksqlite)
++#ADD_SUBDIRECTORY(vtksqlite)
+
+ IF(VTK_HAS_EXODUS)
+ ADD_SUBDIRECTORY(vtkexodus2)
+--- a/VTK/IO/CMakeLists.txt
++++ b/VTK/IO/CMakeLists.txt
+@@ -19,7 +19,7 @@
+ SET(KIT_JAVA_LIBS vtkFilteringJava)
+ SET(KIT_INTERFACE_LIBRARIES vtkFiltering)
+ SET(KIT_LIBS vtkDICOMParser vtkNetCDF vtkNetCDF_cxx LSDyna
+- ${_VTK_METAIO_LIB} vtksqlite
++ ${_VTK_METAIO_LIB} sqlite3
+ ${VTK_PNG_LIBRARIES} ${VTK_ZLIB_LIBRARIES} ${VTK_JPEG_LIBRARIES}
+ ${VTK_TIFF_LIBRARIES} ${VTK_EXPAT_LIBRARIES} ${VTK_OGGTHEORA_LIBRARIES}
+ ${KWSYS_NAMESPACE})
diff --git a/sci-visualization/paraview/files/paraview-3.14.1-vtknetcd.patch b/sci-visualization/paraview/files/paraview-3.14.1-vtknetcd.patch
new file mode 100644
index 000000000..eb4046669
--- /dev/null
+++ b/sci-visualization/paraview/files/paraview-3.14.1-vtknetcd.patch
@@ -0,0 +1,75 @@
+--- Utilities/CMakeLists.txt.orig 2012-08-31 13:55:56.616827748 +1200
++++ Utilities/CMakeLists.txt 2012-08-31 13:56:43.487830247 +1200
+@@ -47,7 +47,7 @@
+ SET( verdict_INSTALL_LIB_DIR ${VTK_INSTALL_LIB_DIR_CM24})
+ ADD_SUBDIRECTORY(verdict)
+
+-ADD_SUBDIRECTORY(vtknetcdf)
++#ADD_SUBDIRECTORY(vtknetcdf)
+ IF(VTK_USE_METAIO)
+ SET(METAIO_FOR_VTK 1)
+ ADD_SUBDIRECTORY(vtkmetaio)
+--- Utilities/vtk_netcdf.h.orig 2012-08-31 13:57:25.704832693 +1200
++++ Utilities/vtk_netcdf.h 2012-08-31 13:57:59.823834877 +1200
+@@ -16,6 +16,6 @@
+ #define __vtk_netcdf_h
+
+ /* Use the netcdf library configured for VTK. */
+-#include <vtknetcdf/include/netcdf.h>
++#include <netcdf.h>
+
+ #endif
+--- Utilities/vtk_netcdfcpp.h.orig 2012-08-31 13:58:48.800838210 +1200
++++ Utilities/vtk_netcdfcpp.h 2012-08-31 13:59:31.223841343 +1200
+@@ -16,6 +16,6 @@
+ #define __vtk_netcdfcpp_h
+
+ /* Use the netcdf library configured for VTK. */
+-#include <vtknetcdf/cxx/netcdfcpp.h>
++#include <netcdfcpp.h>
+
+ #endif
+--- Utilities/vtkexodus2/CMakeLists.txt.orig 2012-08-31 14:01:26.536856845 +1200
++++ Utilities/vtkexodus2/CMakeLists.txt 2012-08-31 14:02:11.503872711 +1200
+@@ -241,7 +241,7 @@
+
+
+ VTK_ADD_LIBRARY(vtkexoIIc ${cbind_SRCS})
+-TARGET_LINK_LIBRARIES(vtkexoIIc vtkNetCDF)
++TARGET_LINK_LIBRARIES(vtkexoIIc netcdf)
+
+ # Apply user-defined properties to the library target.
+ IF(VTK_LIBRARY_PROPERTIES)
+--- Utilities/vtkexodus2/test/CMakeLists.txt.orig 2012-08-31 14:02:39.696882673 +1200
++++ Utilities/vtkexodus2/test/CMakeLists.txt 2012-08-31 14:02:59.743889790 +1200
+@@ -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 )
+--- IO/CMakeLists.txt.orig 2012-08-31 14:05:00.657933170 +1200
++++ IO/CMakeLists.txt 2012-08-31 14:06:18.024961299 +1200
+@@ -18,7 +18,7 @@
+ SET(KIT_PYTHON_LIBS vtkFilteringPythonD)
+ SET(KIT_JAVA_LIBS vtkFilteringJava)
+ SET(KIT_INTERFACE_LIBRARIES vtkFiltering)
+-SET(KIT_LIBS vtkDICOMParser vtkNetCDF vtkNetCDF_cxx LSDyna
++SET(KIT_LIBS vtkDICOMParser netcdf netcdf_c++ LSDyna
+ ${_VTK_METAIO_LIB} sqlite3
+ ${VTK_PNG_LIBRARIES} ${VTK_ZLIB_LIBRARIES} ${VTK_JPEG_LIBRARIES}
+ ${VTK_TIFF_LIBRARIES} ${VTK_EXPAT_LIBRARIES} ${VTK_OGGTHEORA_LIBRARIES}
+--- vtkIncludeDirectories.cmake.orig 2012-08-31 15:36:06.599955661 +1200
++++ vtkIncludeDirectories.cmake 2012-08-31 15:37:35.759045094 +1200
+@@ -193,7 +193,7 @@
+ VTK_THIRD_PARTY_INCLUDE2(TIFF)
+ VTK_THIRD_PARTY_INCLUDE2(EXPAT)
+ VTK_THIRD_PARTY_INCLUDE2(LIBXML2)
+-VTK_THIRD_PARTY_INCLUDE(NETCDF vtknetcdf/include)
++#VTK_THIRD_PARTY_INCLUDE(NETCDF vtknetcdf/include)
+ VTK_THIRD_PARTY_INCLUDE2(Exodus2)
+ IF(VTK_USE_GL2PS)
+ VTK_THIRD_PARTY_INCLUDE2(GL2PS)
diff --git a/sci-visualization/paraview/paraview-3.14.1.ebuild b/sci-visualization/paraview/paraview-3.14.1-r2.ebuild
index 3afa0f379..30bbe3333 100644
--- a/sci-visualization/paraview/paraview-3.14.1.ebuild
+++ b/sci-visualization/paraview/paraview-3.14.1-r2.ebuild
@@ -23,6 +23,7 @@ SLOT="0"
IUSE="boost cg -coprocessing doc examples +gui mpi mysql nvcontrol +plugins +python webkit ffmpeg theora"
RDEPEND="
+ ~sci-libs/netcdf-4.1.3[cxx,hdf5]
sci-libs/hdf5[mpi=]
mpi? ( virtual/mpi[cxx,romio] )
gui? (
@@ -39,10 +40,13 @@ RDEPEND="
python? (
dev-python/sip
gui? ( dev-python/PyQt4 )
- dev-python/numpy )
+ dev-python/numpy
+ mpi? ( dev-python/mpi4py )
+ )
ffmpeg? ( virtual/ffmpeg )
theora? ( media-libs/libtheora )
dev-libs/libxml2:2
+ dev-db/sqlite:3
media-libs/libpng
virtual/jpeg
media-libs/tiff
@@ -75,6 +79,17 @@ src_prepare() {
epatch "${FILESDIR}"/${PN}-3.14.1-ffmpeg-noinstall.patch
# patch from debian for some underlinking in xdmf
epatch "${FILESDIR}"/${PN}-3.14.1-xdmf-linking.patch
+ # upstream http://paraview.org/Bug/view.php?id=13222 and
+ # commit https://github.com/Kitware/ParaView/commit/559af72e540f418310b6425055348336a48ad557
+ epatch "${FILESDIR}"/${PN}-3.14.1-python-exit.patch
+ # disable internal mpi4py copy
+ epatch "${FILESDIR}"/${PN}-3.14.1-mpi4py.patch
+ # remove the internal copy of sqlite (vtksqlite)
+ # http://patch-tracker.debian.org/patch/series/view/paraview/3.14.1-7/removesqlite.patch
+ epatch "${FILESDIR}"/${PN}-3.14.1-removesqlite.patch
+ # gcc 4.7 fix
+ # http://patch-tracker.debian.org/patch/series/view/paraview/3.14.1-7/fix_FTBFS_gcc-4.7.patch
+ epatch "${FILESDIR}"/${PN}-3.14.1-gcc-4.7.patch
# lib64 fixes
sed -i "s:/usr/lib:${EPREFIX}/usr/$(get_libdir):g" \
@@ -82,7 +97,8 @@ src_prepare() {
sed -i "s:\/lib\/python:\/$(get_libdir)\/python:g" \
Utilities/Xdmf2/CMake/setup_install_paths.py || die
- # Install internal vtk binaries inside /usr/${PVLIBDIR}
+ # Install internal vtk binaries to PV_INSTALL_LIB_DIR as noted in the comment in the cmake file.
+ # upstream doesn't even do what they say they do.
sed -e 's:VTK_INSTALL_BIN_DIR \"/${PV_INSTALL_BIN_DIR}\":VTK_INSTALL_BIN_DIR \"/${PV_INSTALL_LIB_DIR}\":' \
-i CMake/ParaViewCommon.cmake || die "failed to patch vtk install location"
@@ -93,6 +109,8 @@ src_prepare() {
epatch "${FILESDIR}"/vtk-5.6.1-libav-0.8.patch
# debian patch for recent boost should work with 1.48 too
epatch "${FILESDIR}"/vtk-boost1.49.patch
+ # adapted from debian patch need to be applied after paraview-3.14.1-removesqlite.patch
+ epatch "${FILESDIR}"/${PN}-3.14.1-vtknetcd.patch
}
src_configure() {
@@ -114,12 +132,12 @@ src_configure() {
-DVTK_USE_SYSTEM_ZLIB=ON
-DVTK_USE_SYSTEM_EXPAT=ON
-DPARAVIEW_USE_SYSTEM_HDF5=ON
+ -DVTK_USE_SYSTEM_HDF5=ON
-DCMAKE_VERBOSE_MAKEFILE=ON
-DCMAKE_COLOR_MAKEFILE=TRUE
-DVTK_USE_SYSTEM_LIBXML2=ON
-DVTK_USE_OFFSCREEN=TRUE
-DCMAKE_USE_PTHREADS=ON
- -DBUILD_TESTING=OFF
-DVTK_USE_FFMPEG_ENCODER=OFF
-DPARAVIEW_INSTALL_THIRD_PARTY_LIBRARIES=OFF
-DPROTOC_LOCATION=$(which protoc))
@@ -147,8 +165,14 @@ src_configure() {
$(cmake-utils_use theora VTK_USE_THEORA_ENCODER)
$(cmake-utils_use theora VTK_USE_SYSTEM_OGGTHEORA))
+ # testing, disabling vtk testing as vtkpython is tested and will fail.
+ mycmakeargs+=(
+ $(cmake-utils_use test BUILD_TESTING)
+ $(cmake-utils_use test PARAVIEW_DISABLE_VTK_TESTING))
+
if ( use gui ); then
- mycmakeargs+=(-DVTK_INSTALL_QT_DIR=/${PVLIBDIR}/plugins/designer
+ mycmakeargs+=(
+ -DVTK_INSTALL_QT_DIR=/${PVLIBDIR}/plugins/designer
$(cmake-utils_use webkit VTK_QT_USE_WEBKIT))
if use python ; then
# paraview cannot guess sip directory right probably because a path is not propagated properly
@@ -177,7 +201,8 @@ src_configure() {
$(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_VisTrailPlugin))
if use python; then
- mycmakeargs+=($(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_pvblot))
+ mycmakeargs+=(
+ $(cmake-utils_use plugins PARAVIEW_BUILD_PLUGIN_pvblot))
fi
if use coprocessing; then
@@ -214,6 +239,8 @@ pkg_postinst() {
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"
echo
}