summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /sci-visualization/paraview/files
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'sci-visualization/paraview/files')
-rw-r--r--sci-visualization/paraview/files/paraview-4.0.1-Protobuf.patch72
-rw-r--r--sci-visualization/paraview/files/paraview-4.0.1-gcc-4.7.patch28
-rw-r--r--sci-visualization/paraview/files/paraview-4.0.1-removesqlite.patch517
-rw-r--r--sci-visualization/paraview/files/paraview-4.0.1-vtk-cg-path.patch36
-rw-r--r--sci-visualization/paraview/files/paraview-4.0.1-vtknetcd.patch79
-rw-r--r--sci-visualization/paraview/files/paraview-4.0.1-xdmf-cstring.patch12
-rw-r--r--sci-visualization/paraview/files/paraview-4.1.0-glxext-legacy.patch9
-rw-r--r--sci-visualization/paraview/files/paraview-4.1.0-no-fatal-warnings.patch19
-rw-r--r--sci-visualization/paraview/files/paraview-4.1.0-vtk-freetype.patch22
-rw-r--r--sci-visualization/paraview/files/paraview-4.2.0-protobuf-2.patch161
-rw-r--r--sci-visualization/paraview/files/paraview-4.2.0-protobuf.patch39
-rw-r--r--sci-visualization/paraview/files/paraview-4.2.0-removesqlite.patch541
-rw-r--r--sci-visualization/paraview/files/paraview-4.2.0-vtk-freetype.patch22
13 files changed, 1557 insertions, 0 deletions
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
index 000000000000..6a09a1ac9a74
--- /dev/null
+++ b/sci-visualization/paraview/files/paraview-4.0.1-Protobuf.patch
@@ -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-gcc-4.7.patch b/sci-visualization/paraview/files/paraview-4.0.1-gcc-4.7.patch
new file mode 100644
index 000000000000..1b941cfa9431
--- /dev/null
+++ b/sci-visualization/paraview/files/paraview-4.0.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/FreeType/vtkFreeTypeTools.cxx
++++ b/VTK/Rendering/FreeType/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/FreeType/vtkFreeTypeUtilities.cxx
++++ b/VTK/Rendering/FreeType/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-4.0.1-removesqlite.patch b/sci-visualization/paraview/files/paraview-4.0.1-removesqlite.patch
new file mode 100644
index 000000000000..be495b4fbb3a
--- /dev/null
+++ b/sci-visualization/paraview/files/paraview-4.0.1-removesqlite.patch
@@ -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
index 000000000000..58ddde97d4fb
--- /dev/null
+++ b/sci-visualization/paraview/files/paraview-4.0.1-vtk-cg-path.patch
@@ -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
index 000000000000..a478b7dfc2d4
--- /dev/null
+++ b/sci-visualization/paraview/files/paraview-4.0.1-vtknetcd.patch
@@ -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.0.1-xdmf-cstring.patch b/sci-visualization/paraview/files/paraview-4.0.1-xdmf-cstring.patch
new file mode 100644
index 000000000000..665f40ad4fa7
--- /dev/null
+++ b/sci-visualization/paraview/files/paraview-4.0.1-xdmf-cstring.patch
@@ -0,0 +1,12 @@
+gcc header fix
+
+--- ParaView-3.98.0-src/VTK/ThirdParty/xdmf2/vtkxdmf2/libsrc/XdmfObject.h
++++ ParaView-3.98.0-src/VTK/ThirdParty/xdmf2/vtkxdmf2/libsrc/XdmfObject.h
+@@ -82,6 +82,7 @@
+ # ifdef UNIX
+ # include "sys/file.h"
+ # include "strings.h"
++# include <cstring>
+ # define STRCASECMP strcasecmp
+ # define STRNCASECMP strncasecmp
+ # define STRCMP strcmp
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
index 000000000000..65a5b20d60fd
--- /dev/null
+++ b/sci-visualization/paraview/files/paraview-4.1.0-glxext-legacy.patch
@@ -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-no-fatal-warnings.patch b/sci-visualization/paraview/files/paraview-4.1.0-no-fatal-warnings.patch
new file mode 100644
index 000000000000..531be2f614f0
--- /dev/null
+++ b/sci-visualization/paraview/files/paraview-4.1.0-no-fatal-warnings.patch
@@ -0,0 +1,19 @@
+diff --git a/VTK/CMake/vtkCompilerExtras.cmake b/VTK/CMake/vtkCompilerExtras.cmake
+index 05b2db9..48d9395 100644
+--- a/VTK/CMake/vtkCompilerExtras.cmake
++++ b/VTK/CMake/vtkCompilerExtras.cmake
+@@ -15,11 +15,11 @@ if(CMAKE_COMPILER_IS_GNUCXX)
+ # If we are compiling on Linux then set some extra linker flags too
+ if(CMAKE_SYSTEM_NAME MATCHES Linux)
+ set(CMAKE_SHARED_LINKER_FLAGS
+- "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_SHARED_LINKER_FLAGS}")
++ "-Wl,--no-undefined -lc ${CMAKE_SHARED_LINKER_FLAGS}")
+ set(CMAKE_MODULE_LINKER_FLAGS
+- "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_SHARED_LINKER_FLAGS}")
++ "-Wl,--no-undefined -lc ${CMAKE_SHARED_LINKER_FLAGS}")
+ set (CMAKE_EXE_LINKER_FLAGS
+- "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_SHARED_LINKER_FLAGS}")
++ "-Wl,--no-undefined -lc ${CMAKE_SHARED_LINKER_FLAGS}")
+ endif()
+
+ # Now check if we can use visibility to selectively export symbols
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
index 000000000000..b7d3e409cde1
--- /dev/null
+++ b/sci-visualization/paraview/files/paraview-4.1.0-vtk-freetype.patch
@@ -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/files/paraview-4.2.0-protobuf-2.patch b/sci-visualization/paraview/files/paraview-4.2.0-protobuf-2.patch
new file mode 100644
index 000000000000..f1ea7b5b01bc
--- /dev/null
+++ b/sci-visualization/paraview/files/paraview-4.2.0-protobuf-2.patch
@@ -0,0 +1,161 @@
+diff --git a/ParaViewCore/ServerImplementation/Core/vtkPVMessage.proto b/ParaViewCore/ServerImplementation/Core/vtkPVMessage.proto
+index 60e084c..aed5832 100644
+--- a/ParaViewCore/ServerImplementation/Core/vtkPVMessage.proto
++++ b/ParaViewCore/ServerImplementation/Core/vtkPVMessage.proto
+@@ -21,7 +21,7 @@ message Variant {
+ MAP = 7;
+ }
+
+- required Type type = 1;
++ optional Type type = 1;
+ repeated sint64 idtype = 3;
+ repeated sint32 integer = 4;
+ repeated double float64 = 5;
+@@ -47,8 +47,8 @@ message MessageCollection
+
+ message Message
+ {
+- required uint64 global_id = 1;
+- required uint32 location = 2;
++ optional uint64 global_id = 1;
++ optional uint32 location = 2;
+ optional bool share_only = 3 [default = false];
+ optional bool req_def = 4 [default = false];
+ optional uint32 client_id = 5 [default = 0];
+@@ -62,10 +62,10 @@ message DefinitionHeader
+ {
+ extend Message {
+ // The classname for the driver process i.e. the client, typically
+- required string client_class = 10;
++ optional string client_class = 10;
+
+ // The classname for the process where the processing occurs
+- required string server_class = 11;
++ optional string server_class = 11;
+ }
+ }
+
+@@ -76,32 +76,32 @@ message ProxyState
+
+ message SubProxy
+ {
+- required string name = 1;
+- required uint32 global_id = 2;
++ optional string name = 1;
++ optional uint32 global_id = 2;
+ }
+
+ message Annotation
+ {
+- required string key = 1;
+- required string value = 2;
++ optional string key = 1;
++ optional string value = 2;
+ }
+
+ message UserData
+ {
+- required string key = 1;
++ optional string key = 1;
+ repeated Variant variant = 2;
+ }
+
+ message Property
+ {
+- required string name = 1;
++ optional string name = 1;
+ optional Variant value = 2;
+ repeated UserData user_data = 3;
+ }
+
+ extend Message {
+- required string xml_group = 20;
+- required string xml_name = 21;
++ optional string xml_group = 20;
++ optional string xml_name = 21;
+ optional string xml_sub_proxy_name = 22;
+ repeated Property property = 23;
+ repeated SubProxy subproxy = 24;
+@@ -118,8 +118,8 @@ message PXMRegistrationState
+ message Entry
+ {
+ optional string group = 1;
+- required string name = 2;
+- required uint64 global_id = 3;
++ optional string name = 2;
++ optional uint64 global_id = 3;
+ }
+
+ extend Message {
+@@ -135,9 +135,9 @@ message ProxyDefinitionState
+ {
+ message ProxyXMLDefinition
+ {
+- required string group = 1;
+- required string name = 2;
+- required string xml = 3;
++ optional string group = 1;
++ optional string name = 2;
++ optional string xml = 3;
+ }
+
+ extend Message {
+@@ -181,9 +181,9 @@ message LinkState {
+ OUTPUT = 2;
+ }
+
+- required uint32 proxy = 1;
++ optional uint32 proxy = 1;
+ optional string property_name = 2;
+- required Direction direction = 3;
++ optional Direction direction = 3;
+ }
+
+ extend Message {
+@@ -206,7 +206,7 @@ message MousePointer {
+ }
+
+ extend Message {
+- required uint32 view = 70;
++ optional uint32 view = 70;
+ optional double x = 71 [default = 0];
+ optional double y = 72 [default = 0];
+ optional bool forceShow = 73 [default = false];
+@@ -219,7 +219,7 @@ message MousePointer {
+ message ChartViewBounds {
+
+ extend Message {
+- required uint32 view = 75;
++ optional uint32 view = 75;
+ repeated double range = 76;
+ }
+ }
+@@ -229,7 +229,7 @@ message ChartViewBounds {
+ message ClientsInformation {
+
+ message ClientInfo {
+- required uint32 user = 1;
++ optional uint32 user = 1;
+ optional string name = 2;
+ optional bool is_master = 3 [default = false];
+ optional bool follow_cam = 4 [default = false];
+@@ -242,8 +242,8 @@ message ClientsInformation {
+
+ message ChatMessage {
+ extend Message {
+- required uint32 author = 84;
+- required string txt = 85;
++ optional uint32 author = 84;
++ optional string txt = 85;
+ }
+ }
+
+@@ -256,7 +256,7 @@ message QtEvent {
+ }
+
+ extend Message {
+- required QtEventType type = 98;
++ optional QtEventType type = 98;
+ }
+ }
+
diff --git a/sci-visualization/paraview/files/paraview-4.2.0-protobuf.patch b/sci-visualization/paraview/files/paraview-4.2.0-protobuf.patch
new file mode 100644
index 000000000000..498ad9b78ac0
--- /dev/null
+++ b/sci-visualization/paraview/files/paraview-4.2.0-protobuf.patch
@@ -0,0 +1,39 @@
+http://paraview.org/Bug/view.php?id=13656
+
+---
+ ParaViewCore/ServerImplementation/Core/CMakeLists.txt | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/ParaViewCore/ServerImplementation/Core/CMakeLists.txt b/ParaViewCore/ServerImplementation/Core/CMakeLists.txt
+index 5ca5168..2a7ff4b 100644
+--- a/ParaViewCore/ServerImplementation/Core/CMakeLists.txt
++++ b/ParaViewCore/ServerImplementation/Core/CMakeLists.txt
+@@ -82,15 +82,23 @@ set (${vtk-module}_HDRS
+ #------------------------------------------------------------------------------
+ # Generate the protbuf message file.
+ #------------------------------------------------------------------------------
++if (VTK_USE_SYSTEM_PROTOBUF)
++ set (_PROTOC_COMPILER protoc)
++ set (_PROTOC_DEPEND "")
++else()
++ set (_PROTOC_COMPILER protoc_compiler)
++ set (_PROTOC_DEPEND ${_PROTOC_COMPILER})
++endif()
++
+ 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}
+ )
+
+--
+2.0.5
+
diff --git a/sci-visualization/paraview/files/paraview-4.2.0-removesqlite.patch b/sci-visualization/paraview/files/paraview-4.2.0-removesqlite.patch
new file mode 100644
index 000000000000..98619627c7ce
--- /dev/null
+++ b/sci-visualization/paraview/files/paraview-4.2.0-removesqlite.patch
@@ -0,0 +1,541 @@
+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)
+-vtk_module_export_info()
+-add_subdirectory(vtksqlite)
++#set(vtksqlite_THIRD_PARTY 1)
++#set(vtksqlite_LIBRARIES sqlite3)
++#vtk_module_export_info()
++#add_subdirectory(vtksqlite)
+--- VTK/ThirdParty/sqlite/module.cmake
++++ VTK/ThirdParty/sqlite/module.cmake
+@@ -1 +1 @@
+-vtk_module(vtksqlite EXCLUDE_FROM_WRAPPING)
++#vtk_module(vtksqlite EXCLUDE_FROM_WRAPPING)
+--- VTK/IO/SQL/module.cmake
++++ VTK/IO/SQL/module.cmake
+@@ -5,7 +5,7 @@
+ vtkIOCore
+ PRIVATE_DEPENDS
+ vtksys
+- vtksqlite # We should consider splitting this into a module.
++# vtksqlite # We should consider splitting this into a module.
+ TEST_DEPENDS
+ vtkIOLegacy
+ vtkTestingIOSQL
+--- VTK/IO/SQL/CMakeLists.txt
++++ VTK/IO/SQL/CMakeLists.txt
+@@ -28,3 +28,4 @@
+ )
+
+ vtk_module_library(vtkIOSQL ${Module_SRCS} ${SQLite_SRCS})
++target_link_libraries(vtkIOSQL -lsqlite3)
diff --git a/sci-visualization/paraview/files/paraview-4.2.0-vtk-freetype.patch b/sci-visualization/paraview/files/paraview-4.2.0-vtk-freetype.patch
new file mode 100644
index 000000000000..b7d3e409cde1
--- /dev/null
+++ b/sci-visualization/paraview/files/paraview-4.2.0-vtk-freetype.patch
@@ -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