[vtk7] 01/01: add debian/, gbp.conf
Nico Schlömer
nschloe-guest at moszumanska.debian.org
Wed May 17 16:04:20 UTC 2017
This is an automated email from the git hooks/post-receive script.
nschloe-guest pushed a commit to branch master
in repository vtk7.
commit a5f25b7afe48db283b7f8eae27de385c87c89f58
Author: Nico Schlömer <nico.schloemer at gmail.com>
Date: Wed May 17 18:04:01 2017 +0200
add debian/, gbp.conf
---
debian/changelog | 6 +
debian/compat | 1 +
debian/control | 309 ++++++++++++
debian/copyright | 293 ++++++++++++
debian/libvtk7-dev.install | 21 +
debian/libvtk7-dev.lintian-overrides | 4 +
debian/libvtk7-java.install | 3 +
debian/libvtk7-java.lintian-overrides | 3 +
debian/libvtk7-jni.install | 1 +
debian/libvtk7-jni.lintian-overrides | 1 +
debian/libvtk7-qt-dev.install | 6 +
debian/libvtk7-qt-dev.lintian-overrides | 3 +
debian/libvtk7.1-qt.install | 1 +
debian/libvtk7.1-qt.lintian-overrides | 3 +
debian/libvtk7.1.install | 1 +
debian/libvtk7.1.lintian-overrides | 5 +
debian/patches/100_javac-heap.patch | 17 +
debian/patches/101_java_install_path.patch | 19 +
debian/patches/102_enable_system_proj4_lib.patch | 222 +++++++++
...06_install_doxygen_scripts_in_nodoc_build.patch | 146 ++++++
debian/patches/10_allpatches.patch | 43 ++
debian/patches/20_soversion-sharedlib.patch | 26 +
debian/patches/30_matplotlib.patch | 13 +
debian/patches/40_use_system_sqlite.patch | 523 +++++++++++++++++++++
debian/patches/50_use_system_utf8.patch | 232 +++++++++
debian/patches/60_use_system_mpi4py.patch | 30 ++
debian/patches/70_fix_ftbfs_gcc49.patch | 128 +++++
debian/patches/80_fix_arm_compilation.patch | 23 +
debian/patches/85_hdf5_1_10.patch | 51 ++
debian/patches/90_xdmf3_install.patch | 134 ++++++
debian/patches/95_xdmf3_version.patch | 137 ++++++
debian/patches/series | 15 +
debian/python3-vtk7.install | 1 +
debian/rules | 124 +++++
debian/source/format | 1 +
debian/tcl-vtk7.install | 3 +
debian/tcl-vtk7.lintian-overrides | 3 +
debian/tests/buildBoolean | 176 +++++++
debian/tests/buildDistance | 59 +++
debian/tests/buildGenericClip | 156 ++++++
debian/tests/buildPNG | 84 ++++
debian/tests/buildPoint | 59 +++
debian/tests/buildVTP | 73 +++
debian/tests/buildVTU | 129 +++++
debian/tests/control | 3 +
debian/vtk7-doc.docs | 2 +
debian/vtk7-doc.links | 1 +
debian/vtk7-examples.examples | 1 +
debian/vtk7.install | 6 +
debian/vtk7.lintian-overrides | 3 +
debian/watch | 3 +
gbp.conf | 7 +
52 files changed, 3314 insertions(+)
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..a7cdaf5
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,6 @@
+vtk7 (7.1.1-1) UNRELEASED; urgency=medium
+
+ * Update to 7.1.1, with all the required changes
+ * Support for Python 3
+
+ -- Nico Schlömer <nico.schloemer at gmail.com> Fri, 14 Apr 2017 18:00:02 +0200
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..ba111c3
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,309 @@
+Source: vtk7
+Maintainer: Debian Science Team <debian-science-maintainers at lists.alioth.debian.org>
+Uploaders: Anton Gladky <gladk at debian.org>,
+ Gert Wollny <gw.fossdev at gmail.com>
+Section: graphics
+Testsuite: autopkgtest
+Priority: optional
+Build-Depends: chrpath,
+ cmake (>= 3.2.0),
+ debhelper (>= 9),
+ default-jdk,
+ default-libmysqlclient-dev,
+ dh-python,
+ ftgl-dev,
+ happycoders-libsocket-dev,
+ hdf5-tools,
+ javahelper,
+ libalglib-dev,
+ libavcodec-dev,
+ libavformat-dev,
+ libavutil-dev,
+ libboost-all-dev,
+ libdigest-md5-perl,
+ libexpat-dev,
+ libfreetype6-dev,
+ libgdal-dev,
+ libgl1-mesa-dev | libgl-dev,
+ libgl2ps-dev (>= 1.3.8),
+ libglew-dev,
+ libglu1-mesa-dev | libglu-dev,
+ libhdf5-mpi-dev,
+ libjpeg-dev,
+ libjsoncpp-dev,
+ libmrmpi-dev,
+ libnetcdf-dev,
+ libnetcdf-cxx-legacy-dev,
+ libogg-dev,
+ libosmesa6-dev,
+ libpng-dev,
+ libpq-dev,
+ libproj-dev,
+ libqt5opengl5-dev,
+ libqt5webkit5-dev,
+ libqt5x11extras5-dev,
+ libsqlite3-dev,
+ libswscale-dev,
+ libtheora-dev,
+ libtiff-dev,
+ libutfcpp-dev,
+ libx11-dev,
+ libxml2-dev,
+ libxpm-dev,
+ libxt-dev,
+ mpi-default-dev,
+ pkg-config,
+ python3-all-dev,
+ python3-autobahn,
+ python3-constantly,
+ python3-incremental,
+ python3-matplotlib,
+ python3-mpi4py,
+ python3-six,
+ python3-twisted,
+ qtbase5-dev,
+ qttools5-private-dev,
+ r-base,
+ r-base-core,
+ r-base-dev,
+ tcl-dev,
+ tk-dev,
+ x11proto-core-dev,
+ xauth,
+ xvfb,
+ zlib1g-dev
+Build-Depends-Indep: doxygen-latex,
+ texlive-binaries,
+ texlive-math-extra,
+ graphviz,
+ ghostscript,
+ gnuplot-nox
+Standards-Version: 3.9.8
+Vcs-Browser: https://anonscm.debian.org/cgit/debian-science/packages/vtk7.git
+Vcs-Git: https://anonscm.debian.org/git/debian-science/packages/vtk7.git
+Homepage: http://www.vtk.org/
+X-Python-Version: current
+
+Package: libvtk7-dev
+Architecture: any
+Section: libdevel
+Depends: default-libmysqlclient-dev,
+ libavcodec-dev,
+ libavformat-dev,
+ libavutil-dev,
+ libc6-dev,
+ libeigen3-dev,
+ libexpat-dev,
+ libfreetype6-dev,
+ libgdal-dev,
+ libgl1-mesa-dev | libgl-dev,
+ libgl2ps-dev,
+ libglu1-mesa-dev | libglu-dev,
+ libhdf5-mpi-dev,
+ libjpeg-dev,
+ libjsoncpp-dev,
+ libnetcdf-dev,
+ libnetcdf-cxx-legacy-dev,
+ libogg-dev,
+ libpng-dev,
+ libpq-dev,
+ libproj-dev,
+ libpython3-dev,
+ libswscale-dev,
+ libtheora-dev,
+ libtiff-dev,
+ libvtk7.1 (= ${binary:Version}),
+ libvtk7-java (= ${binary:Version}),
+ libx11-dev,
+ libxft-dev,
+ libxml2-dev,
+ libxss-dev,
+ libxt-dev,
+ mpi-default-dev,
+ python3-vtk7 (= ${binary:Version}),
+ python3-zope.interface,
+ tcl-dev,
+ tcl-vtk7 (= ${binary:Version}),
+ tk-dev,
+ vtk7 (= ${binary:Version}),
+ x11proto-core-dev,
+ zlib1g-dev,
+ ${misc:Depends},
+ ${shlibs:Depends}
+Suggests: vtk7-doc,
+ vtk7-examples
+Conflicts: libvtk5-dev, libvtk6-dev
+Replaces: libvtk5-dev, libvtk6-dev
+Description: VTK header files
+ The Visualization Toolkit (VTK) is an open-source software system
+ for 3D computer graphics, image processing, and visualization.
+ .
+ This package provides the VTK header files required to compile
+ C++ programs that use VTK to do 3D visualisation.
+
+Package: libvtk7-qt-dev
+Architecture: any
+Section: libdevel
+Depends: libvtk7-dev (= ${binary:Version}),
+ ${misc:Depends},
+ ${shlibs:Depends},
+ qtbase5-dev,
+ qttools5-private-dev,
+ libqt5opengl5-dev,
+ libqt5webkit5-dev
+Breaks: libvtk6-qt-dev
+Replaces: libvtk6-qt-dev
+Description: VTK header files, containing Qt files
+ The Visualization Toolkit (VTK) is an open-source software system
+ for 3D computer graphics, image processing, and visualization.
+ .
+ This package provides the VTK header files required to compile
+ C++ programs that use VTK to do 3D visualisation. Qt files
+
+Package: libvtk7.1
+Architecture: any
+Section: libs
+Depends: ${misc:Depends},
+ ${shlibs:Depends}
+Suggests: mpi-default-bin,
+ vtk7-doc,
+ vtk7-examples
+Conflicts: libvtk6.3
+Replaces: libvtk5.8, libvtk6.3
+Description: VTK libraries
+ The Visualization Toolkit (VTK) is an open-source software system
+ for 3D computer graphics, image processing, and visualization.
+ .
+ This package provides the shared libraries needed to run C++ programs
+ that use VTK.
+
+Package: libvtk7.1-qt
+Architecture: any
+Section: libs
+Depends: ${misc:Depends},
+ ${shlibs:Depends}
+Breaks: libvtk6.3
+Replaces: libvtk6.3
+Description: VTK libraries, Qt files
+ The Visualization Toolkit (VTK) is an open-source software system
+ for 3D computer graphics, image processing, and visualization.
+ .
+ This package provides the shared libraries needed to run C++ programs
+ that use VTK. Qt files
+
+Package: libvtk7-jni
+Architecture: any
+Section: java
+Depends: ${java:Depends},
+ ${misc:Depends},
+ ${shlibs:Depends}
+Breaks: libvtk6-java
+Description: Visualization Toolkit - A high level 3D visualization library - java
+ The Visualization Toolkit (VTK) is an object oriented, high level
+ library that allows one to easily write C++ programs, Tcl, Python and
+ Java scripts that do 3D visualization.
+ .
+ This package provides the VTK Java language support.
+
+Package: libvtk7-java
+Architecture: any
+Section: java
+Depends: libvtk7-jni (= ${binary:Version}),
+ ${java:Depends},
+ ${misc:Depends},
+ ${shlibs:Depends}
+Suggests: java-virtual-machine,
+ libvtk7-dev (= ${binary:Version}),
+ vtk7-doc,
+ vtk7-examples
+Description: Visualization Toolkit - A high level 3D visualization library - java
+ The Visualization Toolkit (VTK) is an object oriented, high level
+ library that allows one to easily write C++ programs, Tcl, Python and
+ Java scripts that do 3D visualization.
+ .
+ This package provides the VTK Java language support.
+
+Package: python3-vtk7
+Architecture: any
+Section: python
+Depends: libvtk7.1 (= ${binary:Version}),
+ libvtk7.1-qt (= ${binary:Version}),
+ python3-autobahn,
+ python3-constantly,
+ python3-incremental,
+ python3-mpi4py,
+ python3-six,
+ python3-twisted,
+ python3-zope.interface,
+ ${misc:Depends},
+ ${python:Depends},
+ ${shlibs:Depends}
+Suggests: mayavi2,
+ vtk7-doc,
+ vtk7-examples
+Conflicts: python3-vtk
+Description: Python bindings for VTK
+ The Visualization Toolkit (VTK) is an open-source software system
+ for 3D computer graphics, image processing, and visualization.
+ .
+ This package provides the python bindings for VTK.
+
+Package: tcl-vtk7
+Architecture: any
+Section: interpreters
+Depends: libvtk7.1 (= ${binary:Version}),
+ libvtk7.1-qt (= ${binary:Version}),
+ ${misc:Depends},
+ ${shlibs:Depends}
+Suggests: vtk7-doc,
+ vtk7-examples
+Description: Tcl bindings for VTK
+ The Visualization Toolkit (VTK) is an open-source software system
+ for 3D computer graphics, image processing, and visualization.
+ .
+ This package provides the shared libraries and executable that enable
+ one to use VTK from Tcl/Tk scripts.
+
+Package: vtk7
+Architecture: any
+Section: interpreters
+Depends: libvtk7.1 (= ${binary:Version}),
+ ${misc:Depends},
+ ${shlibs:Depends}
+Suggests: vtk7-doc,
+ vtk7-examples
+Description: Binaries for VTK6
+ The Visualization Toolkit (VTK) is an open-source software system
+ for 3D computer graphics, image processing, and visualization.
+ .
+ This package provides binaries for VTK6
+
+Package: vtk7-doc
+Architecture: all
+Section: doc
+Depends: doc-base,
+ libjs-jquery,
+ ${misc:Depends}
+Suggests: libvtk7-dev,
+ vtk7-examples
+Description: VTK class reference documentation
+ The Visualization Toolkit (VTK) is an open-source software system
+ for 3D computer graphics, image processing, and visualization.
+ .
+ This package provides documentation for VTK6
+
+Package: vtk7-examples
+Architecture: all
+Section: graphics
+Depends: ${misc:Depends}
+Suggests: libvtk7-dev,
+ python3,
+ python3-vtk7,
+ tcl-vtk7,
+ tclsh,
+ vtk7-doc
+Description: VTK examples
+ The Visualization Toolkit (VTK) is an open-source software system
+ for 3D computer graphics, image processing, and visualization.
+ .
+ This package provides examples for VTK6
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..440ca67
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,293 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Source: http://www.vtk.org/
+Upstream-Name: Visualization Toolkit
+Files-Excluded:
+ Web/*
+ Examples/GUI/Win32
+ ThirdParty/diy2/vtkdiy2
+ ThirdParty/expat/vtkexpat
+ ThirdParty/freetype/vtkfreetype
+ ThirdParty/gl2ps/vtkgl2ps
+ ThirdParty/hdf5/vtkhdf5
+ ThirdParty/jpeg/vtkjpeg
+ ThirdParty/jsoncpp/vtkjsoncpp
+ ThirdParty/libxml2/vtklibxml2
+ ThirdParty/netcdf/vtknetcdf
+ ThirdParty/oggtheora/vtkoggtheora
+ ThirdParty/png/vtkpng
+ ThirdParty/sqlite/vtksqlite
+ ThirdParty/tiff/vtktiff
+ ThirdParty/zlib/vtkzlib
+ ThirdParty/glew/vtkglew
+ ThirdParty/utf8
+ ThirdParty/AutobahnPython
+ ThirdParty/SixPython
+ ThirdParty/ZopeInterface
+ ThirdParty/mpi4py
+ ThirdParty/Twisted
+
+Files: *
+Copyright: 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
+License: BSD-3-clause
+
+Files: ThirdParty/xdmf2/vtkxdmf2/libsrc/*
+Copyright: 2002 US Army Research Laboratory
+License: other
+ This software is distributed WITHOUT ANY WARRANTY; without
+ even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the above copyright notice
+ for more information.
+
+Files: ThirdParty/xdmf3/vtkxdmf3/*
+Copyright: 2011 U.S. Army Research Laboratory
+License: other
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+ .
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ .
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ .
+ * Neither the name of the U.S. Army Research Laboratory nor the names
+ of any contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+ .
+ * Modified source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Files: ThirdParty/verdict/vtkverdict/*
+Copyright: 2006 Sandia Corporation
+License: BSD-3-clause
+
+Files: ThirdParty/VPIC/*
+Copyright: 2007, Los Alamos National Security, LLC
+License: BSD-3-clause
+
+Files: ThirdParty/TclTk/*
+Copyright: 1990-1994 The Regents of the University of California.
+ 1994-1997 Sun Microsystems, Inc.
+ 1998 by Scriptics Corporation.
+License: BSD-like
+ This software is copyrighted by the Regents of the University of
+ California, Sun Microsystems, Inc., Scriptics Corporation,
+ and other parties. The following terms apply to all files associated
+ with the software unless explicitly disclaimed in individual files.
+ .
+ The authors hereby grant permission to use, copy, modify, distribute,
+ and license this software and its documentation for any purpose, provided
+ that existing copyright notices are retained in all copies and that this
+ notice is included verbatim in any distributions. No written agreement,
+ license, or royalty fee is required for any of the authorized uses.
+ Modifications to this software may be copyrighted by their authors
+ and need not follow the licensing terms described here, provided that
+ the new terms are clearly indicated on the first page of each file where
+ they apply.
+ .
+ IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY
+ FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
+ DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+ .
+ THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE
+ IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE
+ NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
+ MODIFICATIONS.
+ .
+ GOVERNMENT USE: If you are acquiring this software on behalf of the
+ U.S. government, the Government shall have only "Restricted Rights"
+ in the software and related documentation as defined in the Federal
+ Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you
+ are acquiring the software on behalf of the Department of Defense, the
+ software shall be classified as "Commercial Computer Software" and the
+ Government shall have only "Restricted Rights" as defined in Clause
+ 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the
+ authors grant the U.S. Government and others acting in its behalf
+ permission to use and distribute the software in accordance with the
+ terms specified in this license.
+
+Files: ThirdParty/libproj4/*
+Copyright: 2003, 2006 Gerald I. Evenden
+License: MIT
+
+Files: ThirdParty/exodusII/*
+Copyright: 2005 Sandia Corporation.
+License: BSD-3-clause
+
+Files: ThirdParty/alglib/*
+Copyright: 2003-2007, Sergey Bochkanov (ALGLIB project).
+License: BSD-3-clause
+
+Files: Examples/Android/NativeVTK/jni/main.cxx Examples/Android/JavaVTK/src/com/kitware/JavaVTK/*
+ Examples/Android/JavaVTK/jni/main.cxx
+ Interaction/Widgets/Testing/Cxx/TestPickingManager*
+Copyright: 2007-2010 The Android Open Source Project
+License: Apache-2
+
+
+Files: Interaction/Widgets/Testing/Cxx/TestPickingManagerWidgets.cxx
+ Interaction/Widgets/Testing/Cxx/TestPickingManagerSeedWidget.cxx
+ Rendering/Core/Testing/Cxx/TestPickingManager.cxx
+ Rendering/Core/vtkPickingManager.*
+ Utilities/Scripts/SetupExternalData.sh
+Copyright: Kitware Inc
+License: Apache-2
+
+
+Files: Utilities/MetaIO/vtkmetaio/metaFEMObject.*
+ Utilities/Maintenance/ArchiveTestingData.py
+ Utilities/Maintenance/computeCodeCoverageLocally.sh
+ Utilities/Maintenance/SourceTarball.bash
+ Utilities/Maintenance/computeCodeCoverageLocallyForOneTest.sh
+Copyright: Insight Software Consortium
+License: Apache-2
+
+
+Files: Common/Color/vtkColorSeries.*
+Copyright: 2010 Brewer, Cynthia A. and Mark Harrower and Andy Woodruff and David Heyman
+License: Apache-2-modified
+ The color schemes below are copyright under the following license, excerpted
+ from http://www.personal.psu.edu/cab38/ColorBrewer/ColorBrewer_updates.html
+ on August 13, 2012:
+ .
+ Apache-Style Software License for ColorBrewer software and
+ ColorBrewer Color Schemes
+ .
+ Copyright (c) 2002 Cynthia Brewer, Mark Harrower, and The Pennsylvania
+ State University.
+ .
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ use this file except in compliance with the License.
+ You may obtain a copy of the License at
+ .
+ http://www.apache.org/licenses/LICENSE-2.0
+ .
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ License for the specific language governing permissions and limitations
+ under the License.
+ .
+ This text from my earlier Apache License Version 1.1 also remains in place for
+ guidance on attribution and permissions:
+ .
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+ 1. Redistributions as source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ 2. The end-user documentation included with the redistribution, if any, must
+ include the following acknowledgment:
+ "This product includes color specifications and designs developed by
+ Cynthia Brewer (http://colorbrewer.org/)."
+ Alternately, this acknowledgment may appear in the software itself, if
+ and wherever such third-party acknowledgments normally appear.
+ 4. The name "ColorBrewer" must not be used to endorse or promote products
+ derived from this software without prior written permission. For written
+ permission, please contact Cynthia Brewer at cbrewer at psu.edu.
+ 5. Products derived from this software may not be called "ColorBrewer", nor
+ may "ColorBrewer" appear in their name, without prior written permission
+ of Cynthia Brewer.
+
+Files: Filters/Parallel/vtkBlockDistribution.h
+ Infovis/Parallel/vtkPBGLConnectedComponents.cxx
+ Infovis/Parallel/Testing/Cxx/*
+ Infovis/Parallel/*
+ Infovis/Boost/Testing/Cxx/TestVariantSerialization.cxx
+ Infovis/Boost/vtkVariantBoostSerialization.h
+ Infovis/BoostGraphAlgorithms/vtkBoostBreadthFirstSearch.cxx
+ Common/DataModel/vtkDistributedGraphHelper.*
+Copyright: 2008 The Trustees of Indiana University
+License: Boost-1.0
+ Boost Software License - Version 1.0 - August 17th, 2003
+ .
+ Permission is hereby granted, free of charge, to any person or organization
+ obtaining a copy of the software and accompanying documentation covered by
+ this license (the "Software") to use, reproduce, display, distribute,
+ execute, and transmit the Software, and to prepare derivative works of the
+ Software, and to permit third-parties to whom the Software is furnished to
+ do so, all subject to the following:
+ .
+ The copyright notices in the Software and this entire statement, including
+ the above license grant, this restriction and the following disclaimer,
+ must be included in all copies of the Software, in whole or in part, and
+ all derivative works of the Software, unless such copies or derivative
+ works are solely in the form of machine-executable object code generated by
+ a source language processor.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+ SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+ FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ DEALINGS IN THE SOFTWARE.
+
+License: BSD-3-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ .
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ .
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+ .
+ * Neither the name of Sandia Corporation nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License: MIT
+ ** Permission is hereby granted, free of charge, to any person obtaining
+ ** a copy of this software and associated documentation files (the
+ ** "Software"), to deal in the Software without restriction, including
+ ** without limitation the rights to use, copy, modify, merge, publish,
+ ** distribute, sublicense, and/or sell copies of the Software, and to
+ ** permit persons to whom the Software is furnished to do so, subject to
+ ** the following conditions:
+ **
+ ** The above copyright notice and this permission notice shall be
+ ** included in all copies or substantial portions of the Software.
+ **
+ ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ ** SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License: Apache-2
+ On Debian systems, the full text of the Apache License
+ Version 2.0 can be found in the file
+ `/usr/share/common-licenses/Apache-2.0'.
diff --git a/debian/libvtk7-dev.install b/debian/libvtk7-dev.install
new file mode 100644
index 0000000..6eed7f4
--- /dev/null
+++ b/debian/libvtk7-dev.install
@@ -0,0 +1,21 @@
+# add doxygen docs
+# to get paraview debian/build properly on top of vtk we now add this as a symlink
+# in the python3-vtk7 package
+# /usr/lib/*/python3.5/site-packages/vtk/*
+CMake/TopologicalSort.cmake usr/lib/cmake/vtk-7.1/
+CMake/vtkGroups.cmake usr/lib/cmake/vtk-7.1/
+CMake/vtkTesting*.cmake usr/lib/cmake/vtk-7.1/
+Common/DataModel/vtkMarchingCubesTriangleCases.h usr/include/vtk-7.1/
+Filters/Statistics/vtkStatisticsAlgorithmPrivate.h usr/include/vtk-7.1/
+IO/Import/vtk3DS.h usr/include/vtk-7.1/
+Testing/Core/vtkTestDriver.h usr/include/vtk-7.1
+Testing/Core/vtkTestUtilities.h usr/include/vtk-7.1/
+Testing/Core/vtkTesting*.h usr/include/vtk-7.1
+Testing/Rendering/vtkRegressionTestImage.h usr/include/vtk-7.1/
+Testing/Rendering/vtkTesting*.h usr/include/vtk-7.1
+Wrapping/Java/JavaDependencies.cmake.in usr/lib/cmake/vtk-7.1/
+debian/build/lib/cmake/vtk-7.1/Modules/*-Headers.cmake usr/lib/cmake/vtk-7.1/Modules/
+usr/include/vtk-7.1 usr/include
+usr/lib/*/*.so
+usr/lib/cmake/vtk-7.1
+usr/share/doc/vtk-7.1/doxygen/* /usr/share/vtk-7.1/doxygen/
diff --git a/debian/libvtk7-dev.lintian-overrides b/debian/libvtk7-dev.lintian-overrides
new file mode 100644
index 0000000..fe582f3
--- /dev/null
+++ b/debian/libvtk7-dev.lintian-overrides
@@ -0,0 +1,4 @@
+libvtk7-dev: shlib-without-versioned-soname
+libvtk7-dev: package-name-doesnt-match-sonames
+libvtk7-dev: postinst-must-call-ldconfig
+libvtk7-dev: hardening-no-relro
diff --git a/debian/libvtk7-java.install b/debian/libvtk7-java.install
new file mode 100644
index 0000000..95c2167
--- /dev/null
+++ b/debian/libvtk7-java.install
@@ -0,0 +1,3 @@
+usr/bin/vtkParseJava-7.1 usr/bin
+usr/bin/vtkWrapJava-7.1 usr/bin
+usr/lib/*/vtk7.jar usr/share/java
diff --git a/debian/libvtk7-java.lintian-overrides b/debian/libvtk7-java.lintian-overrides
new file mode 100644
index 0000000..b87d980
--- /dev/null
+++ b/debian/libvtk7-java.lintian-overrides
@@ -0,0 +1,3 @@
+# Upstream does not provide manpages
+libvtk7-java: binary-without-manpage
+libvtk7-java: hardening-no-relro
diff --git a/debian/libvtk7-jni.install b/debian/libvtk7-jni.install
new file mode 100644
index 0000000..249b773
--- /dev/null
+++ b/debian/libvtk7-jni.install
@@ -0,0 +1 @@
+usr/lib/*/jni/
\ No newline at end of file
diff --git a/debian/libvtk7-jni.lintian-overrides b/debian/libvtk7-jni.lintian-overrides
new file mode 100644
index 0000000..940360d
--- /dev/null
+++ b/debian/libvtk7-jni.lintian-overrides
@@ -0,0 +1 @@
+libvtk7-jni: hardening-no-relro
diff --git a/debian/libvtk7-qt-dev.install b/debian/libvtk7-qt-dev.install
new file mode 100644
index 0000000..7e2986b
--- /dev/null
+++ b/debian/libvtk7-qt-dev.install
@@ -0,0 +1,6 @@
+# remove Python files here and privide a symlink in the python package
+# usr/lib/*/python3.5/site-packages/vtk/*Qt*
+usr/lib/*/*Qt*.so
+usr/lib/cmake/vtk-7.1/Modules/*Qt*
+usr/include/vtk-7.1/*Qt*
+usr/include/vtk-7.1/Q*
diff --git a/debian/libvtk7-qt-dev.lintian-overrides b/debian/libvtk7-qt-dev.lintian-overrides
new file mode 100644
index 0000000..8a65373
--- /dev/null
+++ b/debian/libvtk7-qt-dev.lintian-overrides
@@ -0,0 +1,3 @@
+libvtk7-qt-dev: shlib-without-versioned-soname
+libvtk7-qt-dev: package-name-doesnt-match-sonames
+libvtk7-qt-dev: hardening-no-relro
diff --git a/debian/libvtk7.1-qt.install b/debian/libvtk7.1-qt.install
new file mode 100644
index 0000000..4c7a2dd
--- /dev/null
+++ b/debian/libvtk7.1-qt.install
@@ -0,0 +1 @@
+usr/lib/*/*Qt*.so.*
diff --git a/debian/libvtk7.1-qt.lintian-overrides b/debian/libvtk7.1-qt.lintian-overrides
new file mode 100644
index 0000000..22fc85f
--- /dev/null
+++ b/debian/libvtk7.1-qt.lintian-overrides
@@ -0,0 +1,3 @@
+libvtk7.1-qt: hardening-no-relro
+libvtk7.1-qt: package-name-doesnt-match-sonames
+
diff --git a/debian/libvtk7.1.install b/debian/libvtk7.1.install
new file mode 100644
index 0000000..3de3b10
--- /dev/null
+++ b/debian/libvtk7.1.install
@@ -0,0 +1 @@
+usr/lib/*/*.so.*
diff --git a/debian/libvtk7.1.lintian-overrides b/debian/libvtk7.1.lintian-overrides
new file mode 100644
index 0000000..d5a4064
--- /dev/null
+++ b/debian/libvtk7.1.lintian-overrides
@@ -0,0 +1,5 @@
+libvtk7.1: package-name-doesnt-match-sonames
+libvtk7.1: hardening-no-relro
+# Will be discussed with upstream to have an opportunity to set USE_SYSTEM_lib
+
+libvtk7.1: embedded-library
diff --git a/debian/patches/100_javac-heap.patch b/debian/patches/100_javac-heap.patch
new file mode 100644
index 0000000..f8fa1e3
--- /dev/null
+++ b/debian/patches/100_javac-heap.patch
@@ -0,0 +1,17 @@
+Description: set JVM max memory to 1024m.
+Author: Matthias Klose <doko at ubuntu.com>
+Acked-By: Anton Gladky <gladk at debian.org>
+Last-Update: 2016-02-12
+Bug: https://gitlab.kitware.com/vtk/vtk/issues/17025
+
+--- a/Wrapping/Java/CMakeLists.txt
++++ b/Wrapping/Java/CMakeLists.txt
+@@ -80,6 +80,8 @@
+ set(JAVAC_OPTIONS -J-Xmx512m)
+ endif()
+
++set(JAVAC_OPTIONS -J-Xmx1024m)
++
+ get_property(java_modules GLOBAL PROPERTY VTK_JAVA_WRAPPED)
+ foreach(module IN LISTS java_modules)
+ if(NOT ${module}_EXCLUDE_FROM_WRAPPING)
diff --git a/debian/patches/101_java_install_path.patch b/debian/patches/101_java_install_path.patch
new file mode 100644
index 0000000..5da0e36
--- /dev/null
+++ b/debian/patches/101_java_install_path.patch
@@ -0,0 +1,19 @@
+Description: Install Java modules in the correct path
+ This patch corrects the installation of the native Java modules
+ to go to the path given by the Debian Java Policy. This helps
+ to later use the simple install file to get them to the right
+ location in the package.
+Author: Gert Wollny <gw.fossdev at gmail.com
+Last-Update: 2016-03-26
+
+--- a/CMake/vtkJavaWrapping.cmake
++++ b/CMake/vtkJavaWrapping.cmake
+@@ -79,7 +79,7 @@
+ install(TARGETS ${module_name}Java
+ EXPORT ${VTK_INSTALL_EXPORT_NAME}
+ RUNTIME DESTINATION ${VTK_INSTALL_RUNTIME_DIR} COMPONENT RuntimeLibraries
+- LIBRARY DESTINATION ${VTK_INSTALL_LIBRARY_DIR} COMPONENT RuntimeLibraries
++ LIBRARY DESTINATION ${VTK_INSTALL_LIBRARY_DIR}/jni COMPONENT RuntimeLibraries
+ ARCHIVE DESTINATION ${VTK_INSTALL_ARCHIVE_DIR} COMPONENT Development)
+ endif()
+ endfunction()
diff --git a/debian/patches/102_enable_system_proj4_lib.patch b/debian/patches/102_enable_system_proj4_lib.patch
new file mode 100644
index 0000000..03a9532
--- /dev/null
+++ b/debian/patches/102_enable_system_proj4_lib.patch
@@ -0,0 +1,222 @@
+Description: Correct code to enable use of system proj4
+Author: Matthew Woehlke <matthew.woehlke at kitware.com>
+Bug: https://bugs.debian.org/750184
+Upstream-Bug: http://www.vtk.org/Bug/view.php?id=14126
+
+Index: VTK-6.3.0/CMake/FindLIBPROJ4.cmake
+===================================================================
+--- VTK-6.3.0.orig/CMake/FindLIBPROJ4.cmake
++++ VTK-6.3.0/CMake/FindLIBPROJ4.cmake
+@@ -12,7 +12,7 @@ if ( NOT LIBPROJ4_INCLUDE_DIR OR NOT LIB
+ endif ()
+
+ find_library( LIBPROJ4_LIBRARIES
+- NAMES proj4 libproj4
++ NAMES proj
+ PATHS
+ ${_LIBPROJ4_DIR}/lib64
+ ${CMAKE_INSTALL_PREFIX}/lib64
+@@ -24,11 +24,12 @@ if ( NOT LIBPROJ4_INCLUDE_DIR OR NOT LIB
+ ${CMAKE_INSTALL_PREFIX}/lib
+ /usr/local/lib
+ /usr/lib
+- NO_DEFAULT_PATH
+ )
+
++ MESSAGE(STATUS "LIBPROJ4_LIBRARIES=${LIBPROJ4_LIBRARIES}")
++
+ find_path( LIBPROJ4_INCLUDE_DIR
+- NAMES lib_proj.h
++ NAMES proj_api.h
+ PATHS
+ ${_LIBPROJ4_DIR}
+ ${_LIBPROJ4_DIR}/include
+@@ -40,6 +41,8 @@ if ( NOT LIBPROJ4_INCLUDE_DIR OR NOT LIB
+ NO_DEFAULT_PATH
+ )
+
++ MESSAGE(STATUS "LIBPROJ4_INCLUDE_DIR=${LIBPROJ4_INCLUDE_DIR}")
++
+ if ( NOT LIBPROJ4_INCLUDE_DIR OR NOT LIBPROJ4_LIBRARIES )
+ if ( LIBPROJ4_REQUIRED )
+ message( FATAL_ERROR "LIBPROJ4 is required. Set LIBPROJ4_DIR" )
+Index: VTK-6.3.0/Geovis/Core/vtkGeoProjection.cxx
+===================================================================
+--- VTK-6.3.0.orig/Geovis/Core/vtkGeoProjection.cxx
++++ VTK-6.3.0/Geovis/Core/vtkGeoProjection.cxx
+@@ -80,7 +80,7 @@ int vtkGeoProjection::GetNumberOfProject
+ if ( vtkGeoProjectionNumProj < 0 )
+ {
+ vtkGeoProjectionNumProj = 0;
+- for ( const PROJ_LIST* pj = proj_list; pj && pj->id; ++ pj )
++ for ( const PJ_LIST* pj = pj_list; pj && pj->id; ++ pj )
+ ++ vtkGeoProjectionNumProj;
+ }
+ return vtkGeoProjectionNumProj;
+@@ -91,7 +91,7 @@ const char* vtkGeoProjection::GetProject
+ if ( projection < 0 || projection >= vtkGeoProjection::GetNumberOfProjections() )
+ return 0;
+
+- return proj_list[projection].id;
++ return pj_list[projection].id;
+ }
+ //-----------------------------------------------------------------------------
+ const char* vtkGeoProjection::GetProjectionDescription( int projection )
+@@ -99,7 +99,7 @@ const char* vtkGeoProjection::GetProject
+ if ( projection < 0 || projection >= vtkGeoProjection::GetNumberOfProjections() )
+ return 0;
+
+- return proj_list[projection].descr[0];
++ return pj_list[projection].descr[0];
+ }
+ //-----------------------------------------------------------------------------
+ vtkGeoProjection::vtkGeoProjection()
+@@ -116,7 +116,7 @@ vtkGeoProjection::~vtkGeoProjection()
+ this->SetName( 0 );
+ if ( this->Projection )
+ {
+- proj_free( this->Projection );
++ pj_free( this->Projection );
+ }
+ delete this->Internals;
+ this->Internals = NULL;
+@@ -142,7 +142,7 @@ int vtkGeoProjection::GetIndex()
+ if ( ! this->Projection )
+ return -1;
+ int i = 0;
+- for ( const PROJ_LIST* proj = proj_list; proj && proj->id; ++ proj, ++ i )
++ for ( const PJ_LIST* proj = pj_list; proj && proj->id; ++ proj, ++ i )
+ {
+ if ( ! strcmp( proj->id, this->Name ) )
+ {
+@@ -162,7 +162,7 @@ const char* vtkGeoProjection::GetDescrip
+ return this->Projection->descr;
+ }
+ //-----------------------------------------------------------------------------
+-PROJ* vtkGeoProjection::GetProjection()
++projPJ vtkGeoProjection::GetProjection()
+ {
+ this->UpdateProjection();
+ return this->Projection;
+@@ -178,7 +178,7 @@ int vtkGeoProjection::UpdateProjection()
+
+ if ( this->Projection )
+ {
+- proj_free( this->Projection );
++ pj_free( this->Projection );
+ this->Projection = 0;
+ }
+
+@@ -217,7 +217,7 @@ int vtkGeoProjection::UpdateProjection()
+ pjArgs[3+i] = stringHolder[i].c_str();
+ }
+
+- this->Projection = proj_init( argSize, const_cast<char**>( pjArgs ) );
++ this->Projection = pj_init( argSize, const_cast<char**>( pjArgs ) );
+ delete[] pjArgs;
+ if ( this->Projection )
+ {
+Index: VTK-6.3.0/Geovis/Core/vtkGeoProjection.h
+===================================================================
+--- VTK-6.3.0.orig/Geovis/Core/vtkGeoProjection.h
++++ VTK-6.3.0/Geovis/Core/vtkGeoProjection.h
+@@ -29,8 +29,9 @@
+ #include "vtkGeovisCoreModule.h" // For export macro
+ #include "vtkObject.h"
+
+-struct PROJconsts;
+-typedef PROJconsts PROJ;
++struct PJconsts;
++typedef struct PJconsts PJ;
++typedef PJ* projPJ;
+
+ class VTKGEOVISCORE_EXPORT vtkGeoProjection : public vtkObject
+ {
+@@ -85,7 +86,7 @@ public:
+ // this method returns may be freed, so you should not use the PROJ.4 structure
+ // after changing any parameters. Also, you should not modify the PROJ.4 structure
+ // on your own as it will then be out of sync with the vtkGeoProjection class.
+- PROJ* GetProjection();
++ projPJ GetProjection();
+
+ // Description:
+ // Add an optional parameter to the projection that will be computed or
+@@ -125,7 +126,7 @@ protected:
+
+ char* Name;
+ double CentralMeridian;
+- PROJ* Projection;
++ projPJ Projection;
+ vtkTimeStamp ProjectionMTime;
+
+ private:
+Index: VTK-6.3.0/Geovis/Core/vtkGeoTransform.cxx
+===================================================================
+--- VTK-6.3.0.orig/Geovis/Core/vtkGeoTransform.cxx
++++ VTK-6.3.0/Geovis/Core/vtkGeoTransform.cxx
+@@ -73,8 +73,8 @@ void vtkGeoTransform::TransformPoints( v
+ }
+ dstCoords->DeepCopy( srcCoords );
+
+- PROJ* src = this->SourceProjection ? this->SourceProjection->GetProjection() : 0;
+- PROJ* dst = this->DestinationProjection ? this->DestinationProjection->GetProjection() : 0;
++ projPJ src = this->SourceProjection ? this->SourceProjection->GetProjection() : 0;
++ projPJ dst = this->DestinationProjection ? this->DestinationProjection->GetProjection() : 0;
+ if ( ! src && ! dst )
+ {
+ // we've already copied srcCoords to dstCoords and src=dst=0 implies no transform...
+@@ -156,20 +156,20 @@ vtkAbstractTransform* vtkGeoTransform::M
+
+ void vtkGeoTransform::InternalTransformPoints( double* x, vtkIdType numPts, int stride )
+ {
+- PROJ* src = this->SourceProjection ? this->SourceProjection->GetProjection() : 0;
+- PROJ* dst = this->DestinationProjection ? this->DestinationProjection->GetProjection() : 0;
++ projPJ src = this->SourceProjection ? this->SourceProjection->GetProjection() : 0;
++ projPJ dst = this->DestinationProjection ? this->DestinationProjection->GetProjection() : 0;
+ int delta = stride - 2;
+- PROJ_LP lp;
+- PROJ_XY xy;
++ projLP lp;
++ projXY xy;
+ if ( src )
+ {
+ // Convert from src system to lat/long using inverse of src transform
+ double* coord = x;
+ for ( vtkIdType i = 0; i < numPts; ++ i )
+ {
+- xy.x = coord[0]; xy.y = coord[1];
+- lp = proj_inv( xy, src );
+- coord[0] = lp.lam; coord[1] = lp.phi;
++ xy.u = coord[0]; xy.v = coord[1];
++ lp = pj_inv( xy, src );
++ coord[0] = lp.u; coord[1] = lp.v;
+ }
+ }
+ else // ! src
+@@ -190,9 +190,9 @@ void vtkGeoTransform::InternalTransformP
+ double* coord = x;
+ for ( vtkIdType i = 0; i < numPts; ++ i )
+ {
+- lp.lam = coord[0]; lp.phi = coord[1];
+- xy = proj_fwd( lp, dst );
+- coord[0] = xy.x; coord[1] = xy.y;
++ lp.u = coord[0]; lp.v = coord[1];
++ xy = pj_fwd( lp, dst );
++ coord[0] = xy.u; coord[1] = xy.v;
+ }
+ }
+ else // ! dst
+Index: VTK-6.3.0/ThirdParty/libproj4/vtk_libproj4.h.in
+===================================================================
+--- VTK-6.3.0.orig/ThirdParty/libproj4/vtk_libproj4.h.in
++++ VTK-6.3.0/ThirdParty/libproj4/vtk_libproj4.h.in
+@@ -18,7 +18,8 @@
+ /* Use the libproj4 library configured for VTK. */
+ #cmakedefine VTK_USE_SYSTEM_LIBPROJ4
+ #ifdef VTK_USE_SYSTEM_LIBPROJ4
+-# include <lib_proj.h>
++# include <projects.h>
++# include <proj_api.h>
+ #else
+ # include <vtklibproj4/lib_proj.h>
+ #endif
diff --git a/debian/patches/106_install_doxygen_scripts_in_nodoc_build.patch b/debian/patches/106_install_doxygen_scripts_in_nodoc_build.patch
new file mode 100644
index 0000000..d424c97
--- /dev/null
+++ b/debian/patches/106_install_doxygen_scripts_in_nodoc_build.patch
@@ -0,0 +1,146 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -540,9 +540,7 @@
+
+ # The doxygen documentation needs to be aware of all modules.
+ option(BUILD_DOCUMENTATION "Build the VTK documentation" OFF)
+-if(BUILD_DOCUMENTATION)
+- add_subdirectory(Utilities/Doxygen)
+-endif()
++add_subdirectory(Utilities/Doxygen)
+
+ # If python wrapping and testing is enabled then add driver scripts to run
+ # tests. Note: Many pythong tests used to be automatically converted from TCL
+--- a/Utilities/Doxygen/CMakeLists.txt
++++ b/Utilities/Doxygen/CMakeLists.txt
+@@ -1,69 +1,72 @@
+ #
+ # Build the documentation
+ #
+-find_package(Doxygen REQUIRED)
+-find_package(Perl REQUIRED)
+-find_package(HTMLHelp)
+-
+-option(DOXYGEN_SHORT_NAMES "Build Doxygen of VTK using short file names" OFF)
+-option(DOXYGEN_KEEP_TEMP "Do not delete the temporary Doxygen headers" OFF)
+-option(DOXYGEN_GENERATE_HTMLHELP "Generate HTML help (CHM) files" ON)
+-mark_as_advanced(DOXYGEN_SHORT_NAMES DOXYGEN_KEEP_TEMP DOXYGEN_GENERATE_HTMLHELP)
+-if(DOXYGEN_SHORT_NAMES)
+- set(DOXYGEN_SHORT_NAMES YES)
+-else()
+- set(DOXYGEN_SHORT_NAMES NO)
+-endif()
+-if(DOXYGEN_GENERATE_HTMLHELP)
+- set(DOXYGEN_GENERATE_HTMLHELP YES)
+-else()
+- set(DOXYGEN_GENERATE_HTMLHELP NO)
+-endif()
+-
+-#
+-# Configure the script and the doxyfile, then add target
+-#
+-set(HAVE_DOT_YESNO NO)
+-if(DOT)
+- set(HAVE_DOT_YESNO YES)
+- if(NOT DOT_PATH)
+- get_filename_component(DOT_PATH ${DOT} PATH)
++if (BUILD_DOCUMENTATION)
++ find_package(Doxygen REQUIRED)
++ find_package(Perl REQUIRED)
++ find_package(HTMLHelp)
++
++ option(DOXYGEN_SHORT_NAMES "Build Doxygen of VTK using short file names" OFF)
++ option(DOXYGEN_KEEP_TEMP "Do not delete the temporary Doxygen headers" OFF)
++ option(DOXYGEN_GENERATE_HTMLHELP "Generate HTML help (CHM) files" ON)
++ mark_as_advanced(DOXYGEN_SHORT_NAMES DOXYGEN_KEEP_TEMP DOXYGEN_GENERATE_HTMLHELP)
++ if(DOXYGEN_SHORT_NAMES)
++ set(DOXYGEN_SHORT_NAMES YES)
++ else()
++ set(DOXYGEN_SHORT_NAMES NO)
+ endif()
+-endif()
+-
+-# Build up a list of all module source directories. Note that this should be
+-# all source directories and so does not use the normal variables.
+-unset(VTK_MODULE_DIRS_DOXYGEN)
+-file(GLOB src RELATIVE "${VTK_SOURCE_DIR}" "${VTK_SOURCE_DIR}/*/*/module.cmake")
+-foreach(module ${src})
+- get_filename_component(module_BASE ${module} PATH)
+- if("${module_BASE}" MATCHES "^Utilities" OR ${module_BASE} MATCHES "^Third")
+- # Skip the utilities and third parties directories.
++ if(DOXYGEN_GENERATE_HTMLHELP)
++ set(DOXYGEN_GENERATE_HTMLHELP YES)
+ else()
+- # Use both the source and binary directories, this ensures that
+- # generated files will be included, but they may then be architecture,
+- # build configuration and/or compiler specific. All source directories
+- # are included whether the module is enabled or not.
+- set(VTK_MODULE_DIRS_DOXYGEN
+- "${VTK_MODULE_DIRS_DOXYGEN}
++ set(DOXYGEN_GENERATE_HTMLHELP NO)
++ endif()
++
++ #
++ # Configure the script and the doxyfile, then add target
++ #
++ set(HAVE_DOT_YESNO NO)
++ if(DOT)
++ set(HAVE_DOT_YESNO YES)
++ if(NOT DOT_PATH)
++ get_filename_component(DOT_PATH ${DOT} PATH)
++ endif()
++ endif()
++
++ # Build up a list of all module source directories. Note that this should be
++ # all source directories and so does not use the normal variables.
++ unset(VTK_MODULE_DIRS_DOXYGEN)
++ file(GLOB src RELATIVE "${VTK_SOURCE_DIR}" "${VTK_SOURCE_DIR}/*/*/module.cmake")
++ foreach(module ${src})
++ get_filename_component(module_BASE ${module} PATH)
++ if("${module_BASE}" MATCHES "^Utilities" OR ${module_BASE} MATCHES "^Third")
++ # Skip the utilities and third parties directories.
++ else()
++ # Use both the source and binary directories, this ensures that
++ # generated files will be included, but they may then be architecture,
++ # build configuration and/or compiler specific. All source directories
++ # are included whether the module is enabled or not.
++ set(VTK_MODULE_DIRS_DOXYGEN
++ "${VTK_MODULE_DIRS_DOXYGEN}
+ \"${VTK_SOURCE_DIR}/${module_BASE}\"
+ \"${VTK_BINARY_DIR}/${module_BASE}\"")
+- endif()
+-endforeach()
++ endif()
++ endforeach()
++
++ configure_file(
++ ${VTK_SOURCE_DIR}/Utilities/Doxygen/doxyfile.in
++ ${VTK_BINARY_DIR}/Utilities/Doxygen/doxyfile)
++
++ configure_file(
++ ${VTK_SOURCE_DIR}/Utilities/Doxygen/doc_makeall.cmake.in
++ ${VTK_BINARY_DIR}/Utilities/Doxygen/doc_makeall.cmake
++ @ONLY)
++
++ add_custom_target(DoxygenDoc
++ ${CMAKE_COMMAND}
++ -P ${VTK_BINARY_DIR}/Utilities/Doxygen/doc_makeall.cmake
++ DEPENDS ${VTK_BINARY_DIR}/Utilities/Doxygen/doc_makeall.cmake)
+
+-configure_file(
+- ${VTK_SOURCE_DIR}/Utilities/Doxygen/doxyfile.in
+- ${VTK_BINARY_DIR}/Utilities/Doxygen/doxyfile)
+-
+-configure_file(
+- ${VTK_SOURCE_DIR}/Utilities/Doxygen/doc_makeall.cmake.in
+- ${VTK_BINARY_DIR}/Utilities/Doxygen/doc_makeall.cmake
+- @ONLY)
+-
+-add_custom_target(DoxygenDoc
+- ${CMAKE_COMMAND}
+- -P ${VTK_BINARY_DIR}/Utilities/Doxygen/doc_makeall.cmake
+- DEPENDS ${VTK_BINARY_DIR}/Utilities/Doxygen/doc_makeall.cmake)
++endif()
+
+ if(NOT VTK_INSTALL_NO_DOCUMENTATION)
+ macro(__vtk_install_documentation_files glob)
diff --git a/debian/patches/10_allpatches.patch b/debian/patches/10_allpatches.patch
new file mode 100644
index 0000000..e6d02b5
--- /dev/null
+++ b/debian/patches/10_allpatches.patch
@@ -0,0 +1,43 @@
+Description: <short summary of the patch>
+ TODO: Put a short summary on the line above and replace this paragraph
+ with a longer explanation of this change. Complete the meta-information
+ with other relevant fields (see below for details). To make it easier, the
+ information below has been extracted from the changelog. Adjust it or drop
+ it.
+ .
+ vtk (5.8.0-13) unstable; urgency=low
+ .
+ * Make sure to include VTK/QT cmake file. Closes: #656115
+ * Revert back to libtiff4-dev and use libtiff-dev in d/control. Closes: #674998
+ * Fix tkInt.h installation, using proper cmake magic. Closes: #674169
+ * Make sure to discover init.tcl properly. Closes: #673245
+Author: Mathieu Malaterre <malat at debian.org>
+Bug-Debian: http://bugs.debian.org/656115
+Bug-Debian: http://bugs.debian.org/673245
+Bug-Debian: http://bugs.debian.org/674169
+Bug-Debian: http://bugs.debian.org/674998
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: <vendor|upstream|other>, <url of original patch>
+Bug: <url in upstream bugtracker>
+Bug-Debian: http://bugs.debian.org/<bugnumber>
+Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
+Forwarded: <no|not-needed|url proving that it has been forwarded>
+Reviewed-By: <name and email of someone who approved the patch>
+Last-Update: <YYYY-MM-DD>
+
+--- a/Wrapping/Tcl/vtkTkAppInit.cxx
++++ b/Wrapping/Tcl/vtkTkAppInit.cxx
+@@ -165,6 +165,8 @@
+ // Help Tcl find the Tcl/Tk helper files.
+ const char* relative_dirs[] =
+ {
++ "../share/tcltk",
++ "../../share/tcltk",
+ "TclTk/lib",
+ ".." VTK_INSTALL_TCL_DIR,
+ 0
diff --git a/debian/patches/20_soversion-sharedlib.patch b/debian/patches/20_soversion-sharedlib.patch
new file mode 100644
index 0000000..63a1cd0
--- /dev/null
+++ b/debian/patches/20_soversion-sharedlib.patch
@@ -0,0 +1,26 @@
+Forwarded: https://gitlab.kitware.com/vtk/vtk/merge_requests/2701
+
+--- a/CMake/vtkModuleMacros.cmake
++++ b/CMake/vtkModuleMacros.cmake
+@@ -417,8 +417,8 @@
+ function(vtk_target_name _name)
+ get_property(_type TARGET ${_name} PROPERTY TYPE)
+ if(NOT "${_type}" STREQUAL EXECUTABLE AND NOT VTK_JAVA_INSTALL)
+- set_property(TARGET ${_name} PROPERTY VERSION 1)
+- set_property(TARGET ${_name} PROPERTY SOVERSION 1)
++ set_property(TARGET ${_name} PROPERTY VERSION ${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}.${VTK_BUILD_VERSION})
++ set_property(TARGET ${_name} PROPERTY SOVERSION ${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION})
+ endif()
+ if("${_name}" MATCHES "^[Vv][Tt][Kk]")
+ set(_vtk "")
+--- a/Rendering/Tk/CMakeLists.txt
++++ b/Rendering/Tk/CMakeLists.txt
+@@ -118,7 +118,7 @@
+ vtk_target_install(vtkRenderingPythonTkWidgets)
+
+ set_property(TARGET vtkRenderingPythonTkWidgets PROPERTY OUTPUT_NAME
+- vtkRenderingPythonTkWidgets-${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION})
++ vtkRenderingPythonTkWidgets)
+
+ set(Module_PYTHON_LIBS ${VTK_TK_LIBRARIES})
+ if(VTK_USE_X)
diff --git a/debian/patches/30_matplotlib.patch b/debian/patches/30_matplotlib.patch
new file mode 100644
index 0000000..6888f1c
--- /dev/null
+++ b/debian/patches/30_matplotlib.patch
@@ -0,0 +1,13 @@
+--- a/Rendering/Matplotlib/vtkMatplotlibMathTextUtilities.h
++++ b/Rendering/Matplotlib/vtkMatplotlibMathTextUtilities.h
+@@ -156,6 +156,10 @@
+ * to implement IsAvailable.
+ */
+ static Availability CheckMPLAvailability();
++ static void DisableMPL()
++ {
++ MPLMathTextAvailable = UNAVAILABLE;
++ };
+
+ //@{
+ /**
diff --git a/debian/patches/40_use_system_sqlite.patch b/debian/patches/40_use_system_sqlite.patch
new file mode 100644
index 0000000..ee393a5
--- /dev/null
+++ b/debian/patches/40_use_system_sqlite.patch
@@ -0,0 +1,523 @@
+Description: Use system sqlite
+Author: Anton Gladky <gladk at debian.org>
+Bug-Debian: http://bugs.debian.org/750183
+Last-Update: 2014-06-03
+
+Index: VTK-6.3.0/IO/SQL/vtkSQLiteDatabase.cxx
+===================================================================
+--- VTK-6.3.0.orig/IO/SQL/vtkSQLiteDatabase.cxx
++++ VTK-6.3.0/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 @@ bool vtkSQLiteDatabase::Open(const char*
+ }
+ }
+
+- 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 @@ void vtkSQLiteDatabase::Close()
+ }
+ 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 @@ vtkStringArray * vtkSQLiteDatabase::GetT
+ 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 @@ vtkStringArray * vtkSQLiteDatabase::GetR
+ 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::ParseURL(const c
+ // ----------------------------------------------------------------------
+ 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);
+ }
+Index: VTK-6.3.0/IO/SQL/vtkSQLiteDatabase.h
+===================================================================
+--- VTK-6.3.0.orig/IO/SQL/vtkSQLiteDatabase.h
++++ VTK-6.3.0/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 @@ protected:
+ 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
+Index: VTK-6.3.0/IO/SQL/vtkSQLiteQuery.cxx
+===================================================================
+--- VTK-6.3.0.orig/IO/SQL/vtkSQLiteQuery.cxx
++++ VTK-6.3.0/IO/SQL/vtkSQLiteQuery.cxx
+@@ -25,7 +25,7 @@
+ #include "vtkVariant.h"
+ #include "vtkVariantArray.h"
+
+-#include <vtksqlite/vtk_sqlite3.h>
++#include <sqlite3.h>
+
+ #include <cassert>
+
+@@ -43,7 +43,7 @@ vtkSQLiteQuery::vtkSQLiteQuery()
+ {
+ 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 @@ vtkSQLiteQuery::~vtkSQLiteQuery()
+ {
+ if (this->Database != NULL)
+ {
+- vtk_sqlite3_finalize(this->Statement);
++ sqlite3_finalize(this->Statement);
+ this->Statement = NULL;
+ }
+ }
+@@ -128,8 +128,8 @@ bool vtkSQLiteQuery::SetQuery(const char
+ 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);
+@@ -148,19 +148,19 @@ bool vtkSQLiteQuery::SetQuery(const char
+ 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 << "'");
+@@ -191,31 +191,31 @@ bool vtkSQLiteQuery::Execute()
+ }
+ 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;
+@@ -236,7 +236,7 @@ int vtkSQLiteQuery::GetNumberOfFields()
+ }
+ else
+ {
+- return vtk_sqlite3_column_count(this->Statement);
++ return sqlite3_column_count(this->Statement);
+ }
+ }
+
+@@ -256,7 +256,7 @@ const char * vtkSQLiteQuery::GetFieldNam
+ }
+ else
+ {
+- return vtk_sqlite3_column_name(this->Statement, column);
++ return sqlite3_column_name(this->Statement, column);
+ }
+ }
+
+@@ -276,22 +276,22 @@ int vtkSQLiteQuery::GetFieldType(int col
+ }
+ 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;
+ }
+@@ -312,7 +312,7 @@ bool vtkSQLiteQuery::NextRow()
+ {
+ vtkDebugMacro(<<"NextRow(): Initial fetch being handled.");
+ this->InitialFetch = false;
+- if (this->InitialFetchResult == VTK_SQLITE_DONE)
++ if (this->InitialFetchResult == SQLITE_DONE)
+ {
+ return false;
+ }
+@@ -323,12 +323,12 @@ bool vtkSQLiteQuery::NextRow()
+ }
+ 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;
+ }
+@@ -336,8 +336,8 @@ bool vtkSQLiteQuery::NextRow()
+ {
+ 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());
+@@ -363,33 +363,33 @@ vtkVariant vtkSQLiteQuery::DataValue(vtk
+ }
+ 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();
+ }
+@@ -420,11 +420,11 @@ bool vtkSQLiteQuery::BeginTransaction()
+ 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);
+@@ -448,7 +448,7 @@ bool vtkSQLiteQuery::CommitTransaction()
+ {
+ if (this->Statement)
+ {
+- vtk_sqlite3_finalize(this->Statement);
++ sqlite3_finalize(this->Statement);
+ this->Statement = NULL;
+ }
+
+@@ -460,11 +460,11 @@ bool vtkSQLiteQuery::CommitTransaction()
+
+ 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);
+@@ -496,11 +496,11 @@ bool vtkSQLiteQuery::RollbackTransaction
+
+ 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);
+@@ -644,11 +644,11 @@ bool vtkSQLiteQuery::BindIntegerParamete
+ 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;
+@@ -673,11 +673,11 @@ bool vtkSQLiteQuery::BindInt64Parameter(
+ 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;
+@@ -702,12 +702,12 @@ bool vtkSQLiteQuery::BindDoubleParameter
+ 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;
+@@ -731,12 +731,12 @@ bool vtkSQLiteQuery::BindStringParameter
+ 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;
+@@ -760,17 +760,17 @@ bool vtkSQLiteQuery::BindBlobParameter(i
+ 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;
+@@ -794,12 +794,12 @@ bool vtkSQLiteQuery::ClearParameterBindi
+ 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;
+Index: VTK-6.3.0/IO/SQL/vtkSQLiteQuery.h
+===================================================================
+--- VTK-6.3.0.orig/IO/SQL/vtkSQLiteQuery.h
++++ VTK-6.3.0/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 @@ private:
+ vtkSQLiteQuery(const vtkSQLiteQuery &); // Not implemented.
+ void operator=(const vtkSQLiteQuery &); // Not implemented.
+
+- vtk_sqlite3_stmt *Statement;
++ sqlite3_stmt *Statement;
+ bool InitialFetch;
+ int InitialFetchResult;
+ char *LastErrorText;
+Index: VTK-6.3.0/ThirdParty/sqlite/CMakeLists.txt
+===================================================================
+--- VTK-6.3.0.orig/ThirdParty/sqlite/CMakeLists.txt
++++ VTK-6.3.0/ThirdParty/sqlite/CMakeLists.txt
+@@ -1,4 +1,3 @@
+ set(vtksqlite_THIRD_PARTY 1)
+-set(vtksqlite_LIBRARIES vtksqlite)
++set(vtksqlite_LIBRARIES sqlite3)
+ vtk_module_export_info()
+-add_subdirectory(vtksqlite)
diff --git a/debian/patches/50_use_system_utf8.patch b/debian/patches/50_use_system_utf8.patch
new file mode 100644
index 0000000..ee398ab
--- /dev/null
+++ b/debian/patches/50_use_system_utf8.patch
@@ -0,0 +1,232 @@
+Description: <short summary of the patch>
+ TODO: Put a short summary on the line above and replace this paragraph
+ with a longer explanation of this change. Complete the meta-information
+ with other relevant fields (see below for details). To make it easier, the
+ information below has been extracted from the changelog. Adjust it or drop
+ it.
+ .
+ vtk6 (6.2.0-1) unstable; urgency=medium
+ .
+ [ James Cowgill ]
+ * [0b9b309] Fix FTBFS due to new freetype. (Closes: #779802)
+Author: Anton Gladky <gladk at debian.org>
+Bug-Debian: https://bugs.debian.org/779802
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: <vendor|upstream|other>, <url of original patch>
+Bug: <url in upstream bugtracker>
+Bug-Debian: https://bugs.debian.org/<bugnumber>
+Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
+Forwarded: <no|not-needed|url proving that it has been forwarded>
+Reviewed-By: <name and email of someone who approved the patch>
+Last-Update: <YYYY-MM-DD>
+
+Index: VTK-6.3.0/Common/Core/vtkUnicodeString.cxx
+===================================================================
+--- VTK-6.3.0.orig/Common/Core/vtkUnicodeString.cxx
++++ VTK-6.3.0/Common/Core/vtkUnicodeString.cxx
+@@ -41,7 +41,7 @@ vtkUnicodeString::const_iterator::const_
+
+ vtkUnicodeString::value_type vtkUnicodeString::const_iterator::operator*() const
+ {
+- return vtk_utf8::unchecked::peek_next(this->Position);
++ return utf8::unchecked::peek_next(this->Position);
+ }
+
+ bool vtkUnicodeString::const_iterator::operator==(const const_iterator& rhs) const
+@@ -56,27 +56,27 @@ bool vtkUnicodeString::const_iterator::o
+
+ vtkUnicodeString::const_iterator& vtkUnicodeString::const_iterator::operator++()
+ {
+- vtk_utf8::unchecked::next(this->Position);
++ utf8::unchecked::next(this->Position);
+ return *this;
+ }
+
+ vtkUnicodeString::const_iterator vtkUnicodeString::const_iterator::operator++(int)
+ {
+ const_iterator result(this->Position);
+- vtk_utf8::unchecked::next(this->Position);
++ utf8::unchecked::next(this->Position);
+ return result;
+ }
+
+ vtkUnicodeString::const_iterator& vtkUnicodeString::const_iterator::operator--()
+ {
+- vtk_utf8::unchecked::prior(this->Position);
++ utf8::unchecked::prior(this->Position);
+ return *this;
+ }
+
+ vtkUnicodeString::const_iterator vtkUnicodeString::const_iterator::operator--(int)
+ {
+ const_iterator result(this->Position);
+- vtk_utf8::unchecked::prior(this->Position);
++ utf8::unchecked::prior(this->Position);
+ return result;
+ }
+
+@@ -134,7 +134,7 @@ vtkUnicodeString::vtkUnicodeString(const
+ vtkUnicodeString::vtkUnicodeString(size_type count, value_type character)
+ {
+ for(size_type i = 0; i != count; ++i)
+- vtk_utf8::append(character, vtkUnicodeString::back_insert_iterator(this->Storage));
++ utf8::append(character, vtkUnicodeString::back_insert_iterator(this->Storage));
+ }
+
+ vtkUnicodeString::vtkUnicodeString(const_iterator first, const_iterator last) :
+@@ -149,7 +149,7 @@ bool vtkUnicodeString::is_utf8(const cha
+
+ bool vtkUnicodeString::is_utf8(const std::string& value)
+ {
+- return vtk_utf8::is_valid(value.begin(), value.end());
++ return utf8::is_valid(value.begin(), value.end());
+ }
+
+ vtkUnicodeString vtkUnicodeString::from_utf8(const char* value)
+@@ -160,7 +160,7 @@ vtkUnicodeString vtkUnicodeString::from_
+ vtkUnicodeString vtkUnicodeString::from_utf8(const char* begin, const char* end)
+ {
+ vtkUnicodeString result;
+- if(vtk_utf8::is_valid(begin, end))
++ if(utf8::is_valid(begin, end))
+ {
+ result.Storage = std::string(begin, end);
+ }
+@@ -174,7 +174,7 @@ vtkUnicodeString vtkUnicodeString::from_
+ vtkUnicodeString vtkUnicodeString::from_utf8(const std::string& value)
+ {
+ vtkUnicodeString result;
+- if(vtk_utf8::is_valid(value.begin(), value.end()))
++ if(utf8::is_valid(value.begin(), value.end()))
+ {
+ result.Storage = value;
+ }
+@@ -197,9 +197,9 @@ vtkUnicodeString vtkUnicodeString::from_
+
+ try
+ {
+- vtk_utf8::utf16to8(value, value + length, vtkUnicodeString::back_insert_iterator(result.Storage));
++ utf8::utf16to8(value, value + length, vtkUnicodeString::back_insert_iterator(result.Storage));
+ }
+- catch(vtk_utf8::invalid_utf16&)
++ catch(utf8::invalid_utf16&)
+ {
+ vtkGenericWarningMacro(<< "vtkUnicodeString::from_utf16(): not a valid UTF-16 string.");
+ }
+@@ -233,15 +233,15 @@ vtkUnicodeString::value_type vtkUnicodeS
+ throw std::out_of_range("character out-of-range");
+
+ std::string::const_iterator iterator = this->Storage.begin();
+- vtk_utf8::unchecked::advance(iterator, offset);
+- return vtk_utf8::unchecked::peek_next(iterator);
++ utf8::unchecked::advance(iterator, offset);
++ return utf8::unchecked::peek_next(iterator);
+ }
+
+ vtkUnicodeString::value_type vtkUnicodeString::operator[](size_type offset) const
+ {
+ std::string::const_iterator iterator = this->Storage.begin();
+- vtk_utf8::unchecked::advance(iterator, offset);
+- return vtk_utf8::unchecked::peek_next(iterator);
++ utf8::unchecked::advance(iterator, offset);
++ return utf8::unchecked::peek_next(iterator);
+ }
+
+ const char* vtkUnicodeString::utf8_str() const
+@@ -257,14 +257,14 @@ void vtkUnicodeString::utf8_str(std::str
+ std::vector<vtkTypeUInt16> vtkUnicodeString::utf16_str() const
+ {
+ std::vector<vtkTypeUInt16> result;
+- vtk_utf8::unchecked::utf8to16(this->Storage.begin(), this->Storage.end(), std::back_inserter(result));
++ utf8::unchecked::utf8to16(this->Storage.begin(), this->Storage.end(), std::back_inserter(result));
+ return result;
+ }
+
+ void vtkUnicodeString::utf16_str(std::vector<vtkTypeUInt16>& result) const
+ {
+ result.clear();
+- vtk_utf8::unchecked::utf8to16(this->Storage.begin(), this->Storage.end(), std::back_inserter(result));
++ utf8::unchecked::utf8to16(this->Storage.begin(), this->Storage.end(), std::back_inserter(result));
+ }
+
+ vtkUnicodeString::size_type vtkUnicodeString::byte_count() const
+@@ -274,7 +274,7 @@ vtkUnicodeString::size_type vtkUnicodeSt
+
+ vtkUnicodeString::size_type vtkUnicodeString::character_count() const
+ {
+- return vtk_utf8::unchecked::distance(this->Storage.begin(), this->Storage.end());
++ return utf8::unchecked::distance(this->Storage.begin(), this->Storage.end());
+ }
+
+ bool vtkUnicodeString::empty() const
+@@ -300,9 +300,9 @@ void vtkUnicodeString::push_back(value_t
+ {
+ try
+ {
+- vtk_utf8::append(character, vtkUnicodeString::back_insert_iterator(this->Storage));
++ utf8::append(character, vtkUnicodeString::back_insert_iterator(this->Storage));
+ }
+- catch(vtk_utf8::invalid_code_point&)
++ catch(utf8::invalid_code_point&)
+ {
+ vtkGenericWarningMacro("vtkUnicodeString::push_back(): " << character << "is not a valid Unicode code point");
+ }
+@@ -319,7 +319,7 @@ void vtkUnicodeString::append(size_type
+ {
+ this->Storage.append(vtkUnicodeString(count, character).Storage);
+ }
+- catch(vtk_utf8::invalid_code_point&)
++ catch(utf8::invalid_code_point&)
+ {
+ vtkGenericWarningMacro("vtkUnicodeString::append(): " << character << "is not a valid Unicode code point");
+ }
+@@ -345,7 +345,7 @@ void vtkUnicodeString::assign(size_type
+ {
+ this->Storage.assign(vtkUnicodeString(count, character).Storage);
+ }
+- catch(vtk_utf8::invalid_code_point&)
++ catch(utf8::invalid_code_point&)
+ {
+ vtkGenericWarningMacro("vtkUnicodeString::assign(): " << character << "is not a valid Unicode code point");
+ }
+@@ -415,11 +415,11 @@ vtkUnicodeString vtkUnicodeString::subst
+ std::string::const_iterator last = this->Storage.end();
+
+ while(from != last && offset--)
+- vtk_utf8::unchecked::advance(from, 1);
++ utf8::unchecked::advance(from, 1);
+
+ std::string::const_iterator to = from;
+ while(to != last && count--)
+- vtk_utf8::unchecked::advance(to, 1);
++ utf8::unchecked::advance(to, 1);
+
+ return vtkUnicodeString(from, to);
+ }
+Index: VTK-6.3.0/IO/Core/vtkUTF8TextCodec.cxx
+===================================================================
+--- VTK-6.3.0.orig/IO/Core/vtkUTF8TextCodec.cxx
++++ VTK-6.3.0/IO/Core/vtkUTF8TextCodec.cxx
+@@ -124,7 +124,7 @@ vtkUnicodeString::value_type vtkUTF8Text
+ throw(std::string("End of Input"));
+ }
+
+- getSize = vtk_utf8::internal::sequence_length(c);
++ getSize = utf8::internal::sequence_length(c);
+
+ if (0 == getSize)
+ throw(std::string("Not enough space"));
+@@ -138,7 +138,7 @@ vtkUnicodeString::value_type vtkUTF8Text
+
+ istream::char_type* c1 = c;
+
+- const vtkTypeUInt32 code_point = vtk_utf8::next(c1, &c[getSize]);
++ const vtkTypeUInt32 code_point = utf8::next(c1, &c[getSize]);
+
+ return code_point;
+ }
diff --git a/debian/patches/60_use_system_mpi4py.patch b/debian/patches/60_use_system_mpi4py.patch
new file mode 100644
index 0000000..7f6e035
--- /dev/null
+++ b/debian/patches/60_use_system_mpi4py.patch
@@ -0,0 +1,30 @@
+Description: use system mpi4py
+Author: Anton Gladky <gladk at debian.org>
+Last-Update: 2015-03-24
+
+Index: VTK-6.3.0/Parallel/MPI4Py/CMakeLists.txt
+===================================================================
+--- VTK-6.3.0.orig/Parallel/MPI4Py/CMakeLists.txt
++++ VTK-6.3.0/Parallel/MPI4Py/CMakeLists.txt
+@@ -18,7 +18,7 @@ if(VTK_USE_SYSTEM_MPI4PY)
+ mark_as_advanced(MPI4PY_INCLUDE_DIR)
+ endif()
+ else()
+- set(MPI4PY_INCLUDE_DIR "${vtkmpi4py_SOURCE_DIR}/vtkmpi4py/src/include")
++ set(MPI4PY_INCLUDE_DIR "/usr/include")
+ endif()
+ include_directories("${MPI4PY_INCLUDE_DIR}")
+
+Index: VTK-6.3.0/Parallel/MPI4Py/module.cmake
+===================================================================
+--- VTK-6.3.0.orig/Parallel/MPI4Py/module.cmake
++++ VTK-6.3.0/Parallel/MPI4Py/module.cmake
+@@ -5,8 +5,6 @@ if (VTK_WRAP_PYTHON)
+ DEPENDS
+ vtkParallelMPI
+ vtkPython
+- COMPILE_DEPENDS
+- vtkmpi4py
+ EXCLUDE_FROM_TCL_WRAPPING
+ EXCLUDE_FROM_JAVA_WRAPPING
+ KIT
diff --git a/debian/patches/70_fix_ftbfs_gcc49.patch b/debian/patches/70_fix_ftbfs_gcc49.patch
new file mode 100644
index 0000000..16fbec2
--- /dev/null
+++ b/debian/patches/70_fix_ftbfs_gcc49.patch
@@ -0,0 +1,128 @@
+Description: fix compilation with gcc-4.9
+Author: Anton Gladky <gladk at debian.org>
+Bug-Debian: http://bugs.debian.org/746923
+Forwarded: https://gitlab.kitware.com/vtk/vtk/merge_requests/2700<Paste>
+Last-Update: 2014-05-30
+
+--- a/Filters/ParallelMPI/vtkDistributedDataFilter.cxx
++++ b/Filters/ParallelMPI/vtkDistributedDataFilter.cxx
+@@ -1113,7 +1113,10 @@
+ vtkIdType cellsPerNode = numTotalCells / nprocs;
+
+ vtkIdList **sendCells = new vtkIdList * [ nprocs ];
+- memset(sendCells, 0, sizeof(vtkIdList *) * nprocs);
++
++ if (sizeof(vtkIdList *) * nprocs > 0) {
++ memset(sendCells, 0, sizeof(vtkIdList *) * nprocs);
++ }
+
+ if (numConsumers == nprocs - 1)
+ {
+@@ -1598,7 +1601,9 @@
+ // Exchange int arrays
+
+ float **recvArrays = new float * [nprocs];
+- memset(recvArrays, 0, sizeof(float *) * nprocs);
++ if (sizeof(float *) * nprocs > 0) {
++ memset(recvArrays, 0, sizeof(float *) * nprocs);
++ }
+
+ if (sendSize[me] > 0) // sent myself an array
+ {
+@@ -1720,7 +1725,9 @@
+ // Exchange int arrays
+
+ vtkIdType **recvArrays = new vtkIdType * [nprocs];
+- memset(recvArrays, 0, sizeof(vtkIdType *) * nprocs);
++ if (sizeof(vtkIdType *) * nprocs > 0) {
++ memset(recvArrays, 0, sizeof(vtkIdType *) * nprocs);
++ }
+
+ if (sendSize[me] > 0) // sent myself an array
+ {
+@@ -2789,7 +2796,9 @@
+
+ unsigned char *vals = new unsigned char [npoints];
+
+- memset(vals, val, npoints);
++ if (npoints > 0) {
++ memset(vals, val, npoints);
++ }
+
+ vtkUnsignedCharArray *Array = vtkUnsignedCharArray::New();
+ Array->SetName(arrayName);
+@@ -2809,7 +2818,9 @@
+
+ unsigned char *vals = new unsigned char [ncells];
+
+- memset(vals, val, ncells);
++ if (ncells > 0) {
++ memset(vals, val, ncells);
++ }
+
+ vtkUnsignedCharArray *Array = vtkUnsignedCharArray::New();
+ Array->SetName(arrayName);
+@@ -3008,7 +3019,9 @@
+ vtkIdType nGridPoints = grid->GetNumberOfPoints();
+
+ vtkIdType *numPointsOutside = new vtkIdType [nprocs];
+- memset(numPointsOutside, 0, sizeof(vtkIdType) * nprocs);
++ if (sizeof(vtkIdType) * nprocs > 0) {
++ memset(numPointsOutside, 0, sizeof(vtkIdType) * nprocs);
++ }
+
+ vtkIdTypeArray *globalIds = vtkIdTypeArray::New();
+ globalIds->SetNumberOfValues(nGridPoints);
+@@ -3090,10 +3103,16 @@
+ // global ID back?
+
+ vtkFloatArray **ptarrayOut = new vtkFloatArray * [nprocs];
+- memset(ptarrayOut, 0, sizeof(vtkFloatArray *) * nprocs);
++
++ if (sizeof(vtkFloatArray *) * nprocs > 0) {
++ memset(ptarrayOut, 0, sizeof(vtkFloatArray *) * nprocs);
++ }
+
+ vtkIdTypeArray **localIds = new vtkIdTypeArray * [nprocs];
+- memset(localIds, 0, sizeof(vtkIdTypeArray *) * nprocs);
++
++ if (sizeof(vtkIdTypeArray *) * nprocs > 0) {
++ memset(localIds, 0, sizeof(vtkIdTypeArray *) * nprocs);
++ }
+
+ vtkIdType *next = new vtkIdType [nprocs];
+ vtkIdType *next3 = new vtkIdType [nprocs];
+@@ -3268,7 +3287,9 @@
+ {
+ // There are no cells in my assigned region
+
+- memset(gids, 0, sizeof(vtkIdTypeArray *) * nprocs);
++ if (sizeof(vtkIdTypeArray *) * nprocs > 0) {
++ memset(gids, 0, sizeof(vtkIdTypeArray *) * nprocs);
++ }
+
+ return gids;
+ }
+@@ -3473,7 +3494,10 @@
+ std::multimap<int, int>::iterator mapIt;
+
+ vtkIdTypeArray **processList = new vtkIdTypeArray * [nprocs];
+- memset(processList, 0, sizeof (vtkIdTypeArray *) * nprocs);
++
++ if (sizeof (vtkIdTypeArray *) * nprocs > 0) {
++ memset(processList, 0, sizeof (vtkIdTypeArray *) * nprocs);
++ }
+
+ for (int i=0; i<nprocs; i++)
+ {
+@@ -3563,7 +3587,9 @@
+ vtkIdType numPoints = grid->GetNumberOfPoints();
+
+ vtkIdTypeArray **ghostPtIds = new vtkIdTypeArray * [nprocs];
+- memset(ghostPtIds, 0, sizeof(vtkIdTypeArray *) * nprocs);
++ if (sizeof(vtkIdTypeArray *) * nprocs) {
++ memset(ghostPtIds, 0, sizeof(vtkIdTypeArray *) * nprocs);
++ }
+
+ if (numPoints < 1)
+ {
diff --git a/debian/patches/80_fix_arm_compilation.patch b/debian/patches/80_fix_arm_compilation.patch
new file mode 100644
index 0000000..cf5bcb0
--- /dev/null
+++ b/debian/patches/80_fix_arm_compilation.patch
@@ -0,0 +1,23 @@
+Description: Drop some examples, which require Qt
+ It is neccessary for the fixing of arm-compilation
+ where Qt is not available
+Author: Anton Gladky <gladk at debian.org>
+Bug-Debian: https://bugs.debian.org/793304
+Last-Update: 2015-07-29
+
+Index: VTK-6.3.0/Examples/Infovis/Cxx/CMakeLists.txt
+===================================================================
+--- VTK-6.3.0.orig/Examples/Infovis/Cxx/CMakeLists.txt
++++ VTK-6.3.0/Examples/Infovis/Cxx/CMakeLists.txt
+@@ -26,11 +26,6 @@ if(vtkViewsInfovis_LOADED)
+ endif()
+
+ # If Qt is enabled include the QT based examples
+-if(vtkGUISupportQt_LOADED)
+- add_subdirectory(EasyView)
+- add_subdirectory(CustomLinkView)
+- add_subdirectory(StatsView)
+-endif()
+
+ if(vtkInfovisParallel_LOADED)
+ add_executable(ParallelBFS ParallelBFS.cxx)
diff --git a/debian/patches/85_hdf5_1_10.patch b/debian/patches/85_hdf5_1_10.patch
new file mode 100644
index 0000000..50057e9
--- /dev/null
+++ b/debian/patches/85_hdf5_1_10.patch
@@ -0,0 +1,51 @@
+Description: Fix compilation errors when building with HDF5 1.10.0
+Author: Steven Hahn <hahnse at ornl.gov>
+Bug: https://gitlab.kitware.com/vtk/vtk/commit/6541e9c7662d3987baded0ea90de80937fa23d7a
+
+--- a/ThirdParty/netcdf/vtknetcdf/libsrc4/nc4internal.h
++++ b/ThirdParty/netcdf/vtknetcdf/libsrc4/nc4internal.h
+@@ -367,7 +367,7 @@
+ int nc4_find_dim(NC_GRP_INFO_T *grp, int dimid, NC_DIM_INFO_T **dim, NC_GRP_INFO_T **dim_grp);
+ int nc4_find_dim_len(NC_GRP_INFO_T *grp, int dimid, size_t **len);
+ int nc4_find_type(NC_HDF5_FILE_INFO_T *h5, int typeid, NC_TYPE_INFO_T **type);
+-NC_TYPE_INFO_T *nc4_rec_find_nc_type(NC_GRP_INFO_T *start_grp, hid_t target_nc_typeid);
++NC_TYPE_INFO_T *nc4_rec_find_nc_type(NC_GRP_INFO_T *start_grp, nc_type target_nc_typeid);
+ NC_TYPE_INFO_T *nc4_rec_find_hdf_type(NC_GRP_INFO_T *start_grp, hid_t target_hdf_typeid);
+ NC_TYPE_INFO_T *nc4_rec_find_named_type(NC_GRP_INFO_T *start_grp, char *name);
+ NC_TYPE_INFO_T *nc4_rec_find_equal_type(NC_GRP_INFO_T *start_grp, int ncid1, NC_TYPE_INFO_T *type);
+--- a/ThirdParty/xdmf2/vtkxdmf2/libsrc/XdmfH5Driver.cxx
++++ b/ThirdParty/xdmf2/vtkxdmf2/libsrc/XdmfH5Driver.cxx
+@@ -139,7 +139,11 @@
+ #if (H5_VERS_MAJOR>1)||((H5_VERS_MAJOR==1)&&(H5_VERS_MINOR>=8))
+ static haddr_t H5FD_dsm_get_eoa(const H5FD_t *_file, H5FD_mem_t type);
+ static herr_t H5FD_dsm_set_eoa(H5FD_t *_file, H5FD_mem_t type, haddr_t addr);
++#if (H5_VERS_MAJOR>1)||((H5_VERS_MAJOR==1)&&(H5_VERS_MINOR>=10))
++static haddr_t H5FD_dsm_get_eof(const H5FD_t *_file, H5FD_mem_t type);
++#else
+ static haddr_t H5FD_dsm_get_eof(const H5FD_t *_file);
++#endif
+ #else
+ static haddr_t H5FD_dsm_get_eoa(H5FD_t *_file);
+ static herr_t H5FD_dsm_set_eoa(H5FD_t *_file, haddr_t addr);
+@@ -155,6 +159,9 @@
+ "dsm", /*name */
+ MAXADDR, /*maxaddr */
+ H5F_CLOSE_WEAK, /*fc_degree */
++#if (H5_VERS_MAJOR>1)||((H5_VERS_MAJOR==1)&&(H5_VERS_MINOR>=10))
++ NULL, /*terminate */
++#endif
+ NULL, /*sb_size */
+ NULL, /*sb_encode */
+ NULL, /*sb_decode */
+@@ -687,7 +694,10 @@
+ *-------------------------------------------------------------------------
+ */
+ static haddr_t
+-#if (H5_VERS_MAJOR>1)||((H5_VERS_MAJOR==1)&&(H5_VERS_MINOR>=8))
++
++#if (H5_VERS_MAJOR>1)||((H5_VERS_MAJOR==1)&&(H5_VERS_MINOR>=10))
++H5FD_dsm_get_eof(const H5FD_t *_file, H5FD_mem_t type)
++#elif ((H5_VERS_MAJOR==1)&&(H5_VERS_MINOR>=8))
+ H5FD_dsm_get_eof(const H5FD_t *_file)
+ #else
+ H5FD_dsm_get_eof(H5FD_t *_file)
diff --git a/debian/patches/90_xdmf3_install.patch b/debian/patches/90_xdmf3_install.patch
new file mode 100644
index 0000000..a5f2fdf
--- /dev/null
+++ b/debian/patches/90_xdmf3_install.patch
@@ -0,0 +1,134 @@
+Description: Install XDMF3 in the right places
+Author: Nico Schlömer <nico.schloemer at gmail.com>
+Forwarded: https://gitlab.kitware.com/xdmf/xdmf/merge_requests/29
+
+--- a/ThirdParty/xdmf3/vtkxdmf3/CMakeLists.txt
++++ b/ThirdParty/xdmf3/vtkxdmf3/CMakeLists.txt
+@@ -1,5 +1,5 @@
+ project(Xdmf)
+-cmake_minimum_required(VERSION 2.6)
++cmake_minimum_required(VERSION 2.8.5)
+
+ #Needed to build DSM because relative paths are used to add its libraries
+ if (POLICY CMP0015)
+@@ -189,9 +189,14 @@
+ PROPERTIES
+ OUTPUT_NAME "_${python_name}")
+
++ set(
++ PYTHON_INSTALL_DIR
++ ${CMAKE_INSTALL_PREFIX}/lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/xdmf
++ )
++
+ string(TOUPPER ${python_name} python_name_upper)
+ set(${python_name_upper}_PYTHON
+- ${CMAKE_INSTALL_PREFIX}/lib/python/${python_name}.py)
++ ${PYTHON_INSTALL_DIR}/${python_name}.py)
+ get_directory_property(${python_name}Parent PARENT_DIRECTORY)
+ if(NOT "${${python_name}Parent}" STREQUAL "")
+ set(${python_name_upper}_PYTHON ${${python_name_upper}_PYTHON}
+@@ -199,9 +204,9 @@
+ endif()
+
+ install(FILES ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${python_name}.py
+- DESTINATION lib/python)
++ DESTINATION ${PYTHON_INSTALL_DIR})
+ install(TARGETS ${SWIG_MODULE_${python_name}Python_REAL_NAME}
+- DESTINATION lib/python)
++ DESTINATION ${PYTHON_INSTALL_DIR})
+ endmacro()
+ endif()
+
+@@ -296,6 +301,8 @@
+ include_directories(${XdmfCore_INCLUDE_DIRS} ${XdmfDSM_INCLUDE_DIRS})
+ link_directories(${XDMF_LIBRARY_DIRS})
+
++include(GNUInstallDirs)
++
+ option(XDMF_BUILD_CORE_ONLY OFF)
+ mark_as_advanced(XDMF_BUILD_CORE_ONLY)
+ if(NOT XDMF_BUILD_CORE_ONLY)
+@@ -368,16 +375,16 @@
+ set_target_properties(${XDMF_LIBNAME} PROPERTIES
+ PREFIX ../
+ IMPORT_PREFIX ../
+- RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/
+- LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/${CMAKE_CFG_INTDIR}/
+- ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/${CMAKE_CFG_INTDIR}/)
++ RUNTIME_OUTPUT_DIRECTORY ${CMAKE_INSTALL_BINDIR}
++ LIBRARY_OUTPUT_DIRECTORY ${CMAKE_INSTALL_LIBDIR}/${CMAKE_CFG_INTDIR}/
++ ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_INSTALL_LIBDIR}/${CMAKE_CFG_INTDIR}/)
+ if(XDMF_STATIC_AND_SHARED AND BUILD_SHARED_LIBS)
+ set_target_properties(Xdmf_Static PROPERTIES
+ PREFIX ../
+ IMPORT_PREFIX ../
+- RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/
+- LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/${CMAKE_CFG_INTDIR}/
+- ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/${CMAKE_CFG_INTDIR}/)
++ RUNTIME_OUTPUT_DIRECTORY ${CMAKE_INSTALL_BINDIR}
++ LIBRARY_OUTPUT_DIRECTORY ${CMAKE_INSTALL_LIBDIR}/${CMAKE_CFG_INTDIR}/
++ ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_INSTALL_LIBDIR}/${CMAKE_CFG_INTDIR}/)
+ endif ()
+ endif()
+ endif()
+@@ -396,7 +403,10 @@
+ else()
+ XDMF_SWIG_PYTHON(${XDMF_LIBNAME} XdmfCore)
+ endif()
+- set(XDMF_PYTHON_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib/python/)
++ set(
++ XDMF_PYTHON_INSTALL_DIR
++ ${CMAKE_INSTALL_PREFIX}/lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/xdmf
++ )
+ endif()
+
+ if(XDMF_BUILD_TESTING)
+@@ -414,14 +424,14 @@
+
+ if(UNIX)
+ if (BUILD_SHARED_LIBS)
+- set(XDMF_LIBRARY ${CMAKE_INSTALL_PREFIX}/lib/lib${XDMF_LIBNAME}.so)
++ set(XDMF_LIBRARY ${CMAKE_INSTALL_LIBDIR}/lib${XDMF_LIBNAME}.so)
+ else (BUILD_SHARED_LIBS)
+- set(XDMF_LIBRARY ${CMAKE_INSTALL_PREFIX}/lib/lib${XDMF_LIBNAME}.a)
++ set(XDMF_LIBRARY ${CMAKE_INSTALL_LIBDIR}/lib${XDMF_LIBNAME}.a)
+ endif (BUILD_SHARED_LIBS)
+ endif(UNIX)
+
+ if(APPLE)
+- set(XDMF_LIBRARY ${CMAKE_INSTALL_PREFIX}/lib/lib${XDMF_LIBNAME}.dylib)
++ set(XDMF_LIBRARY ${CMAKE_INSTALL_LIBDIR}/lib${XDMF_LIBNAME}.dylib)
+ endif()
+
+ file(GLOB XdmfHeaders
+@@ -433,17 +443,23 @@
+ )
+ install(FILES ${XdmfHeaders} DESTINATION include)
+ install(TARGETS ${XDMF_LIBNAME}
+- RUNTIME DESTINATION bin
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib)
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ if (XDMF_STATIC_AND_SHARED AND BUILD_SHARED_LIBS)
+ install(TARGETS Xdmf_Static
+- RUNTIME DESTINATION bin
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib)
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ endif()
+ endif()
+
++if(WIN32 AND NOT CYGWIN)
++ set(DEF_INSTALL_CMAKE_DIR CMake)
++else()
++ set(DEF_INSTALL_CMAKE_DIR
++ "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")
++endif()
+ xdmf_create_config_file(${PROJECT_NAME})
+ install(FILES "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
+- DESTINATION ${CMAKE_INSTALL_PREFIX})
++ DESTINATION ${DEF_INSTALL_CMAKE_DIR})
diff --git a/debian/patches/95_xdmf3_version.patch b/debian/patches/95_xdmf3_version.patch
new file mode 100644
index 0000000..b3e2243
--- /dev/null
+++ b/debian/patches/95_xdmf3_version.patch
@@ -0,0 +1,137 @@
+Description: Set {SO}VERSION on XDMF3 library
+Author: Nico Schlömer <nico.schloemer at gmail.com>
+Forwarded: https://gitlab.kitware.com/xdmf/xdmf/merge_requests/28
+
+--- a/ThirdParty/xdmf3/vtkxdmf3/CMakeLists.txt
++++ b/ThirdParty/xdmf3/vtkxdmf3/CMakeLists.txt
+@@ -13,6 +13,12 @@
+ endif()
+
+ set(XDMF_LIBNAME "Xdmf" CACHE STRING "Name for this xdmf library to avoid collision")
++
++set(XDMF_MAJOR_VERSION 3)
++set(XDMF_MINOR_VERSION 0)
++set(XDMF_PATCH_VERSION 0)
++set(XDMF_VERSION "${XDMF_MAJOR_VERSION}.${XDMF_MINOR_VERSION}.${XDMF_PATCH_VERSION}")
++
+ option(BUILD_SHARED_LIBS "Build Shared Libraries" OFF)
+ if(BUILD_SHARED_LIBS)
+ set(LIBTYPE SHARED)
+@@ -336,17 +342,29 @@
+
+ if(XDMF_STATIC_AND_SHARED)
+ add_library(XdmfObjects OBJECT ${XdmfSources})
++ SET_TARGET_PROPERTIES(
++ XdmfObjects PROPERTIES
++ VERSION ${XDMF_VERSION}
++ SOVERSION ${XDMF_MAJOR_VERSION}
++ )
+ set_target_properties(XdmfObjects PROPERTIES
+ POSITION_INDEPENDENT_CODE True)
+ add_library(${XDMF_LIBNAME} $<TARGET_OBJECTS:XdmfObjects>)
+ if (BUILD_SHARED_LIBS)
+ add_library(Xdmf_Static STATIC $<TARGET_OBJECTS:XdmfObjects>)
+- set_target_properties(Xdmf_Static PROPERTIES
+- OUTPUT_NAME "Xdmf")
++ set_target_properties(
++ Xdmf_Static PROPERTIES
++ OUTPUT_NAME "Xdmf"
++ )
+ endif (BUILD_SHARED_LIBS)
+ else()
+ add_library(${XDMF_LIBNAME} ${LIBTYPE} ${XdmfSources})
+ endif()
++ SET_TARGET_PROPERTIES(
++ ${XDMF_LIBNAME} PROPERTIES
++ VERSION ${XDMF_VERSION}
++ SOVERSION ${XDMF_MAJOR_VERSION}
++ )
+ if(XDMF_BUILD_DSM)
+ target_link_libraries(${XDMF_LIBNAME} XdmfCore XdmfDSM)
+ if(XDMF_STATIC_AND_SHARED AND BUILD_SHARED_LIBS)
+@@ -421,7 +439,7 @@
+ if(WIN32)
+ set(XDMF_LIBRARY ${CMAKE_INSTALL_PREFIX}/lib/${XDMF_LIBNAME}.lib)
+ endif()
+-
++
+ if(UNIX)
+ if (BUILD_SHARED_LIBS)
+ set(XDMF_LIBRARY ${CMAKE_INSTALL_LIBDIR}/lib${XDMF_LIBNAME}.so)
+@@ -433,11 +451,11 @@
+ if(APPLE)
+ set(XDMF_LIBRARY ${CMAKE_INSTALL_LIBDIR}/lib${XDMF_LIBNAME}.dylib)
+ endif()
+-
+- file(GLOB XdmfHeaders
+- "*.hpp"
+- "*.tpp"
+- "*.i"
++
++ file(GLOB XdmfHeaders
++ "*.hpp"
++ "*.tpp"
++ "*.i"
+ "CMake/VersionSuite/*.hpp"
+ "${CMAKE_CURRENT_BINARY_DIR}/*.hpp"
+ )
+--- a/ThirdParty/xdmf3/vtkxdmf3/core/CMakeLists.txt
++++ b/ThirdParty/xdmf3/vtkxdmf3/core/CMakeLists.txt
+@@ -163,17 +163,31 @@
+
+ if (XDMF_STATIC_AND_SHARED)
+ add_library(XdmfCoreObjects OBJECT ${XdmfCoreSources})
+- set_target_properties(XdmfCoreObjects PROPERTIES
+- POSITION_INDEPENDENT_CODE True)
++ SET_TARGET_PROPERTIES(
++ XdmfCoreObjects PROPERTIES
++ VERSION ${XDMF_VERSION}
++ SOVERSION ${XDMF_MAJOR_VERSION}
++ )
++ set_target_properties(
++ XdmfCoreObjects PROPERTIES
++ POSITION_INDEPENDENT_CODE True
++ )
+ add_library(XdmfCore ${LIBTYPE} $<TARGET_OBJECTS:XdmfCoreObjects>)
+ if (BUILD_SHARED_LIBS)
+ add_library(XdmfCore_Static STATIC $<TARGET_OBJECTS:XdmfCoreObjects>)
+- set_target_properties(XdmfCore_Static PROPERTIES
+- OUTPUT_NAME "XdmfCore")
++ set_target_properties(
++ XdmfCore_Static PROPERTIES
++ OUTPUT_NAME "XdmfCore"
++ )
+ endif (BUILD_SHARED_LIBS)
+ else()
+ add_library(XdmfCore ${LIBTYPE} ${XdmfCoreSources})
+ endif()
++SET_TARGET_PROPERTIES(
++ XdmfCore PROPERTIES
++ VERSION ${XDMF_VERSION}
++ SOVERSION ${XDMF_MAJOR_VERSION}
++ )
+
+ link_directories(${XDMF_LIBRARY_DIRS})
+
+--- a/ThirdParty/xdmf3/vtkxdmf3/core/dsm/CMakeLists.txt
++++ b/ThirdParty/xdmf3/vtkxdmf3/core/dsm/CMakeLists.txt
+@@ -90,9 +90,19 @@
+ endif (XDMF_DSM_IS_CRAY)
+
+ add_library(XdmfDSMObjects OBJECT ${XdmfDSMSources})
++SET_TARGET_PROPERTIES(
++ XdmfDSMObjects PROPERTIES
++ VERSION ${XDMF_VERSION}
++ SOVERSION ${XDMF_MAJOR_VERSION}
++ )
+ set_target_properties(XdmfDSMObjects PROPERTIES
+ POSITION_INDEPENDENT_CODE True)
+ add_library(XdmfDSM $<TARGET_OBJECTS:XdmfDSMObjects>)
++SET_TARGET_PROPERTIES(
++ XdmfDSM PROPERTIES
++ VERSION ${XDMF_VERSION}
++ SOVERSION ${XDMF_MAJOR_VERSION}
++ )
+ if (BUILD_SHARED_LIBS)
+ add_library(XdmfDSM_Static STATIC $<TARGET_OBJECTS:XdmfDSMObjects>)
+ if (UNIX)
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..f0d57a9
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,15 @@
+10_allpatches.patch
+20_soversion-sharedlib.patch
+30_matplotlib.patch
+#40_use_system_sqlite.patch
+#50_use_system_utf8.patch
+#60_use_system_mpi4py.patch
+70_fix_ftbfs_gcc49.patch
+#80_fix_arm_compilation.patch
+85_hdf5_1_10.patch
+90_xdmf3_install.patch
+95_xdmf3_version.patch
+100_javac-heap.patch
+101_java_install_path.patch
+#102_enable_system_proj4_lib.patch
+106_install_doxygen_scripts_in_nodoc_build.patch
diff --git a/debian/python3-vtk7.install b/debian/python3-vtk7.install
new file mode 100644
index 0000000..0017270
--- /dev/null
+++ b/debian/python3-vtk7.install
@@ -0,0 +1 @@
+usr/lib/python3/dist-packages
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..70cf7e3
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,124 @@
+#!/usr/bin/make -f
+BUILDDIR = $(CURDIR)/debian/build
+
+# deduce documentation option (build-indep target)
+ifeq "" "$(filter %-doc,$(shell dh_listpackages))"
+ BUILDDOC = OFF
+else
+ BUILDDOC = ON
+endif
+
+# export JAVA_HOME to help FindJava.cmake and FindJNI.cmake
+export JAVA_HOME=/usr/lib/jvm/default-java
+
+%:
+ dh $@ --buildsystem=cmake --builddirectory=$(BUILDDIR) --with python3 --with javahelper --parallel
+
+extra_flags += \
+ -DCMAKE_VERBOSE_MAKEFILE=ON \
+ -DCMAKE_C_COMPILER=mpicc \
+ -DCMAKE_CXX_COMPILER=mpic++ \
+ -DBUILD_DOCUMENTATION=$(BUILDDOC) \
+ -DBUILD_EXAMPLES=ON \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DVTK_USE_TK=ON \
+ \
+ -DVTK_WRAP_JAVA=ON \
+ -DVTK_WRAP_PYTHON=ON \
+ -DVTK_PYTHON_VERSION:STRING=3 \
+ -DVTK_WRAP_TCL=ON \
+ \
+ -DVTK_USE_SYSTEM_AUTOBAHN=ON \
+ -DVTK_USE_SYSTEM_CONSTANTLY=ON \
+ -DVTK_USE_SYSTEM_EXPAT=ON \
+ -DVTK_USE_SYSTEM_FREETYPE=ON \
+ -DVTK_USE_SYSTEM_GL2PS=OFF \
+ -DVTK_USE_SYSTEM_GLEW=OFF \
+ -DVTK_USE_SYSTEM_HDF5=ON \
+ -DHDF5_PREFER_PARALLEL=ON \
+ -DVTK_USE_SYSTEM_INCREMENTAL=ON \
+ -DVTK_USE_SYSTEM_JPEG=ON \
+ -DVTK_USE_SYSTEM_JSONCPP=OFF \
+ -DVTK_USE_SYSTEM_LIBPROJ4=OFF \
+ -DVTK_USE_SYSTEM_LIBXML2=ON \
+ -DVTK_USE_SYSTEM_MPI4PY=ON \
+ -DVTK_USE_SYSTEM_NETCDF=ON \
+ -DVTK_USE_SYSTEM_OGGTHEORA=ON \
+ -DVTK_USE_SYSTEM_PNG=ON \
+ -DVTK_USE_SYSTEM_SIX=ON \
+ -DVTK_USE_SYSTEM_TIFF=ON \
+ -DVTK_USE_SYSTEM_TWISTED=ON \
+ -DVTK_USE_SYSTEM_ZLIB=ON \
+ -DVTK_USE_SYSTEM_ZOPE=ON \
+ \
+ -DVTK_EXTRA_COMPILER_WARNINGS=ON \
+ -DVTK_Group_Imaging=ON \
+ -DVTK_Group_MPI=ON \
+ -DVTK_Group_Tk=ON \
+ -DVTK_Group_Views=ON \
+ -DVTK_BUILD_ALL_MODULES=ON \
+ -DMPI_CXX_INCLUDE_PATH="/usr/include/mpi" \
+ -DVTK_INSTALL_LIBRARY_DIR="/usr/lib/$(DEB_HOST_MULTIARCH)" \
+ -DVTK_INSTALL_PYTHON_MODULE_DIR="/usr/lib/python3/dist-packages" \
+ -DVTK_MAKE_INSTANTIATORS=ON \
+ -DCMAKE_EXE_LINKER_FLAGS="-Wl,--as-needed -Wl,--no-undefined" \
+ -DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed -Wl,--no-undefined" \
+ -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed -Wl,--no-undefined" \
+ -DCMAKE_BUILD_TYPE=None \
+ -DVTK_USE_GCC_VISIBILITY=ON \
+ -DModule_vtkRenderingExternal=ON
+
+extra_flags += -DVTK_QT_VERSION=5 -DVTK_Group_Qt=ON
+
+override_dh_auto_configure:
+ifneq (,$(filter $(DEB_HOST_ARCH),$(noqt_archs)))
+ echo '' > $(CURDIR)/Views/Qt/module.cmake
+ echo '' > $(CURDIR)/GUISupport/QtWebkit/module.cmake
+ echo '' > $(CURDIR)/Rendering/Qt/module.cmake
+ echo '' > $(CURDIR)/GUISupport/QtOpenGL/module.cmake
+ echo '' > $(CURDIR)/Examples/GUI/Qt/SimpleView/CMakeLists.txt
+endif
+ dh_auto_configure -- $(extra_flags)
+
+override_dh_auto_clean:
+ dh_auto_clean
+ rm -rf $(BUILDDIR)
+
+override_dh_auto_build-indep:
+ # Make doc (see http://www.vtk.org/Wiki/VTK/BuildingDoxygen)
+ cd $(BUILDDIR) && make DoxygenDoc
+ # remove .md5 files
+ find $(BUILDDIR)/Utilities/Doxygen/doc/html/ -name "*.md5" | xargs rm -f
+
+override_dh_auto_build-arch:
+ dh_auto_build
+
+override_dh_auto_install:
+ pwd
+ dh_auto_install -X.pyc -X.pyo
+ # Modify vtkWrapJava.cmake to properly upload JavaDependencies.cmake.in from $VTK_DIR
+ perl -pi -e "s|{dir}/JavaDependencies.cmake.in\"|{VTK_DIR}/JavaDependencies.cmake.in\"|" debian/tmp/usr/lib/cmake/vtk-7.1/vtkWrapJava.cmake
+ # Correct headers for paraview
+ mv $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/vtk.jar $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/vtk7.jar
+ mv $(CURDIR)/debian/build/bin/vtkpython $(CURDIR)/debian/build/bin/vtk7python
+ sed -i -e "s/FATAL_ERROR/STATUS/g" $(CURDIR)/debian/tmp/usr/lib/cmake/vtk-7.1/VTKTargets.cmake
+ chrpath -d $(CURDIR)/debian/build/bin/vtk7python
+ chrpath -d $(CURDIR)/debian/build/bin/pvtk
+ chrpath -d $(CURDIR)/debian/build/bin/pvtkpython
+ mv $(CURDIR)/debian/tmp/usr/bin/vtk $(CURDIR)/debian/tmp/usr/bin/vtk7
+ find $(CURDIR)/debian/tmp/ -name "*.pyc" | xargs rm -f
+ find $(CURDIR)/debian/tmp/ -name "*.pyo" | xargs rm -f
+ sed -i -e "9 a\ append libPath /${DEB_HOST_MULTIARCH}" $(CURDIR)/debian/tmp/usr/lib/tcltk/vtk-7.1/pkgIndex.tcl
+
+override_dh_install-arch:
+ dh_install -a
+ find $(CURDIR)/debian/libvtk7-dev/ -name "*Qt*" -exec rm {} \;
+ find $(CURDIR)/debian/libvtk7.1/ -name "*Qt*" -exec rm {} \;
+ find $(CURDIR)/debian/libvtk7-dev/ -name "libvtkRenderingPythonTkWidgets.so" -exec rm {} \;
+ find $(CURDIR)/debian/libvtk7-dev/usr/include/ -name "Q*" -exec rm {} \;
+ chmod 755 $(CURDIR)/debian/libvtk7-dev/usr/share/vtk-7.1/doxygen/*.pl
+ rm -rf $(CURDIR)/debian/libvtk7-doc/usr/share/doc/vtk7-doc/html/_formulas.log
+ mkdir -p $(CURDIR)/debian/python-vtk7/usr/lib/$(DEB_HOST_MULTIARCH)/python3.5/site-packages/ && \
+ cd $(CURDIR)/debian/python-vtk7/usr/lib/$(DEB_HOST_MULTIARCH)/python3.5/site-packages/ && \
+ ln -s /usr/lib/python3.5/dist-packages/vtk vtk
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/tcl-vtk7.install b/debian/tcl-vtk7.install
new file mode 100644
index 0000000..20139c3
--- /dev/null
+++ b/debian/tcl-vtk7.install
@@ -0,0 +1,3 @@
+usr/bin/vtkWrapTcl-7.1
+usr/bin/vtkWrapTclInit-7.1
+usr/lib/tcltk
diff --git a/debian/tcl-vtk7.lintian-overrides b/debian/tcl-vtk7.lintian-overrides
new file mode 100644
index 0000000..767bb16
--- /dev/null
+++ b/debian/tcl-vtk7.lintian-overrides
@@ -0,0 +1,3 @@
+# Upstream does not provide manpages
+tcl-vtk7: binary-without-manpage
+tcl-vtk7: hardening-no-relro
diff --git a/debian/tests/buildBoolean b/debian/tests/buildBoolean
new file mode 100755
index 0000000..7a9ad17
--- /dev/null
+++ b/debian/tests/buildBoolean
@@ -0,0 +1,176 @@
+#!/bin/sh
+# autopkgtest check
+# (C) 2014 Anton Gladky
+
+set -e
+
+export OMPI_MCA_orte_rsh_agent=/bin/false
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+mkdir src
+cd src
+
+cat <<EOF > CMakeLists.txt
+cmake_minimum_required(VERSION 2.6)
+project(demo)
+find_package(VTK REQUIRED vtkCommonCore vtkIOImage vtkIOXML vtkRenderingOpenGL vtkIOLegacy)
+include(\${VTK_USE_FILE})
+
+add_executable(demo demo.cpp)
+target_link_libraries(demo \${VTK_LIBRARIES})
+install(TARGETS demo DESTINATION bin)
+
+EOF
+
+cat <<EOF > demo.cpp
+#include <vtkVersion.h>
+#include <vtkBooleanOperationPolyDataFilter.h>
+
+#include <vtkActor.h>
+#include <vtkPolyDataReader.h>
+#include <vtkPolyDataMapper.h>
+#include <vtkProperty.h>
+#include <vtkRenderer.h>
+#include <vtkRenderWindow.h>
+#include <vtkRenderWindowInteractor.h>
+#include <vtkSmartPointer.h>
+#include <vtkSphereSource.h>
+
+int main(int argc, char *argv[])
+{
+ vtkSmartPointer<vtkPolyData> input1;
+ vtkSmartPointer<vtkPolyData> input2;
+
+ std::string operation("intersection");
+
+ if (argc == 4)
+ {
+ vtkSmartPointer<vtkPolyDataReader> reader1 =
+ vtkSmartPointer<vtkPolyDataReader>::New();
+ reader1->SetFileName(argv[1]);
+ reader1->Update();
+ input1 = reader1->GetOutput();
+
+ vtkSmartPointer<vtkPolyDataReader> reader2 =
+ vtkSmartPointer<vtkPolyDataReader>::New();
+ reader2->SetFileName(argv[3]);
+ reader2->Update();
+ input2 = reader2->GetOutput();
+
+ operation = argv[2];
+ }
+ else
+ {
+ vtkSmartPointer<vtkSphereSource> sphereSource1 =
+ vtkSmartPointer<vtkSphereSource>::New();
+ sphereSource1->SetCenter(.25, 0, 0);
+ sphereSource1->Update();
+ input1 = sphereSource1->GetOutput();
+
+ vtkSmartPointer<vtkSphereSource> sphereSource2 =
+ vtkSmartPointer<vtkSphereSource>::New();
+ sphereSource2->Update();
+ input2 = sphereSource2->GetOutput();
+
+ if (argc == 2)
+ {
+ operation = argv[1];
+ }
+ }
+
+ vtkSmartPointer<vtkPolyDataMapper> input1Mapper =
+ vtkSmartPointer<vtkPolyDataMapper>::New();
+#if VTK_MAJOR_VERSION <= 5
+ input1Mapper->SetInputConnection( input1->GetProducerPort() );
+#else
+ input1Mapper->SetInputData( input1 );
+#endif
+ input1Mapper->ScalarVisibilityOff();
+ vtkSmartPointer<vtkActor> input1Actor =
+ vtkSmartPointer<vtkActor>::New();
+ input1Actor->SetMapper( input1Mapper );
+ input1Actor->GetProperty()->SetColor(1,0,0);
+ input1Actor->SetPosition(
+ input1->GetBounds()[1]-input1->GetBounds()[0],
+ 0, 0);
+ vtkSmartPointer<vtkPolyDataMapper> input2Mapper =
+ vtkSmartPointer<vtkPolyDataMapper>::New();
+#if VTK_MAJOR_VERSION <= 5
+ input2Mapper->SetInputConnection( input2->GetProducerPort() );
+#else
+ input2Mapper->SetInputData( input2 );
+#endif
+ input2Mapper->ScalarVisibilityOff();
+ vtkSmartPointer<vtkActor> input2Actor =
+ vtkSmartPointer<vtkActor>::New();
+ input2Actor->SetMapper( input2Mapper );
+ input2Actor->GetProperty()->SetColor(0,1,0);
+ input2Actor->SetPosition(
+ -(input2->GetBounds()[1]-input2->GetBounds()[0]),
+ 0, 0);
+ vtkSmartPointer<vtkBooleanOperationPolyDataFilter> booleanOperation =
+ vtkSmartPointer<vtkBooleanOperationPolyDataFilter>::New();
+ if (operation == "union")
+ {
+ booleanOperation->SetOperationToUnion();
+ }
+ else if (operation == "intersection")
+ {
+ booleanOperation->SetOperationToIntersection();
+ }
+ else if (operation == "difference")
+ {
+ booleanOperation->SetOperationToDifference();
+ }
+ else
+ {
+ std::cout << "Unknown operation: " << operation << std::endl;
+ return EXIT_FAILURE;
+ }
+#if VTK_MAJOR_VERSION <= 5
+ booleanOperation->SetInputConnection( 0, input1->GetProducerPort() );
+ booleanOperation->SetInputConnection( 1, input2->GetProducerPort() );
+#else
+ booleanOperation->SetInputData( 0, input1 );
+ booleanOperation->SetInputData( 1, input2 );
+#endif
+ vtkSmartPointer<vtkPolyDataMapper> booleanOperationMapper =
+ vtkSmartPointer<vtkPolyDataMapper>::New();
+ booleanOperationMapper->SetInputConnection( booleanOperation->GetOutputPort() );
+ booleanOperationMapper->ScalarVisibilityOff();
+
+ vtkSmartPointer<vtkActor> booleanOperationActor =
+ vtkSmartPointer<vtkActor>::New();
+ booleanOperationActor->SetMapper( booleanOperationMapper );
+
+ vtkSmartPointer<vtkRenderer> renderer =
+ vtkSmartPointer<vtkRenderer>::New();
+ renderer->AddViewProp(input1Actor);
+ renderer->AddViewProp(input2Actor);
+ renderer->AddViewProp(booleanOperationActor);
+ renderer->SetBackground(.1, .2, .3);
+ vtkSmartPointer<vtkRenderWindow> renderWindow =
+ vtkSmartPointer<vtkRenderWindow>::New();
+ renderWindow->AddRenderer( renderer );
+
+ vtkSmartPointer<vtkRenderWindowInteractor> renWinInteractor =
+ vtkSmartPointer<vtkRenderWindowInteractor>::New();
+ renWinInteractor->SetRenderWindow( renderWindow );
+
+ return EXIT_SUCCESS;
+}
+
+EOF
+
+cd ..
+mkdir build
+cd build
+cmake -DCMAKE_INSTALL_PREFIX=./../inst ./../src
+make
+make install
+echo "build: OK"
+[ -x demo ]
+./demo
+echo "run: OK"
diff --git a/debian/tests/buildDistance b/debian/tests/buildDistance
new file mode 100755
index 0000000..daba453
--- /dev/null
+++ b/debian/tests/buildDistance
@@ -0,0 +1,59 @@
+#!/bin/sh
+# autopkgtest check
+# (C) 2014 Anton Gladky
+
+set -e
+
+export OMPI_MCA_orte_rsh_agent=/bin/false
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+mkdir src
+cd src
+
+cat <<EOF > CMakeLists.txt
+cmake_minimum_required(VERSION 2.6)
+project(demo)
+find_package(VTK REQUIRED vtkCommonCore vtkIOImage vtkIOXML vtkRenderingOpenGL vtkIOLegacy)
+include(\${VTK_USE_FILE})
+
+add_executable(demo demo.cpp)
+target_link_libraries(demo \${VTK_LIBRARIES})
+install(TARGETS demo DESTINATION bin)
+EOF
+
+cat <<EOF > demo.cpp
+#include <vtkMath.h>
+
+int main(int, char *[])
+{
+ // Create two points.
+ double p0[3] = {0.0, 0.0, 0.0};
+ double p1[3] = {1.0, 1.0, 1.0};
+
+ // Find the squared distance between the points.
+ double squaredDistance = vtkMath::Distance2BetweenPoints(p0, p1);
+
+ // Take the square root to get the Euclidean distance between the points.
+ double distance = sqrt(squaredDistance);
+
+ // Output the results.
+ std::cout << "SquaredDistance = " << squaredDistance << std::endl;
+ std::cout << "Distance = " << distance << std::endl;
+
+ return EXIT_SUCCESS;
+}
+
+EOF
+
+cd ..
+mkdir build
+cd build
+cmake -DCMAKE_INSTALL_PREFIX=./../inst ./../src
+make
+make install
+echo "build: OK"
+[ -x demo ]
+./demo
+echo "run: OK"
diff --git a/debian/tests/buildGenericClip b/debian/tests/buildGenericClip
new file mode 100755
index 0000000..50f7ea6
--- /dev/null
+++ b/debian/tests/buildGenericClip
@@ -0,0 +1,156 @@
+#!/bin/sh
+# autopkgtest check
+# (C) 2014 Anton Gladky
+
+set -e
+
+export OMPI_MCA_orte_rsh_agent=/bin/false
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+mkdir src
+cd src
+
+cat <<EOF > CMakeLists.txt
+cmake_minimum_required(VERSION 2.6)
+project(demo)
+find_package(VTK REQUIRED vtkCommonCore vtkIOImage vtkIOXML vtkRenderingOpenGL vtkIOLegacy)
+include(\${VTK_USE_FILE})
+
+add_executable(demo demo.cpp)
+target_link_libraries(demo \${VTK_LIBRARIES})
+install(TARGETS demo DESTINATION bin)
+
+EOF
+
+cat <<EOF > demo.cpp
+#include <vtkActor.h>
+#include <vtkBridgeDataSet.h>
+#include <vtkCellData.h>
+#include <vtkContourFilter.h>
+#include <vtkDataSetMapper.h>
+#include <vtkDelaunay3D.h>
+#include <vtkElevationFilter.h>
+#include <vtkGenericClip.h>
+#include <vtkImageData.h>
+#include <vtkImplicitDataSet.h>
+#include <vtkIdFilter.h>
+#include <vtkIdTypeArray.h>
+#include <vtkSphereSource.h>
+#include <vtkPolyDataMapper.h>
+#include <vtkProperty.h>
+#include <vtkRenderWindow.h>
+#include <vtkRenderer.h>
+#include <vtkRenderWindowInteractor.h>
+#include <vtkSampleFunction.h>
+#include <vtkSmartPointer.h>
+#include <vtkPlane.h>
+#include <vtkUnstructuredGrid.h>
+
+int main(int, char**)
+{
+
+ vtkSmartPointer<vtkSphereSource> sphereSource =
+ vtkSmartPointer<vtkSphereSource>::New();
+ sphereSource->SetRadius(5);
+ sphereSource->SetThetaResolution(10);
+ sphereSource->SetPhiResolution(10);
+ sphereSource->Update();
+
+ // Add ids to the points and cells of the sphere
+ vtkSmartPointer<vtkIdFilter> idFilter =
+ vtkSmartPointer<vtkIdFilter>::New();
+ idFilter->SetInputConnection(sphereSource->GetOutputPort());
+ idFilter->Update();
+
+ // Create a plane to clip with
+ vtkSmartPointer<vtkPlane> plane = vtkSmartPointer<vtkPlane>::New();
+ plane->SetOrigin(0, 0, 0);
+ plane->SetNormal(1, 1, 1);
+
+ // Convert the DataSet to a GenericDataSet
+ vtkSmartPointer<vtkBridgeDataSet> bridgeDataSet = vtkSmartPointer<vtkBridgeDataSet>::New();
+ bridgeDataSet->SetDataSet(idFilter->GetOutput());
+
+ vtkSmartPointer<vtkGenericClip> clipper =
+ vtkSmartPointer<vtkGenericClip>::New();
+ clipper->SetClipFunction(plane);
+ clipper->SetInputData(bridgeDataSet);
+ clipper->Update();
+
+ // Get the clipped cell ids
+ vtkUnstructuredGrid* clipped = clipper->GetOutput();
+ vtkIdTypeArray* originalIds = vtkIdTypeArray::SafeDownCast(clipped->GetCellData()->GetArray("vtkIdFilter_Ids"));
+ for(vtkIdType i = 0; i < originalIds->GetNumberOfTuples(); i++)
+ {
+ std::cout << "new id " << i << ", original id " << originalIds->GetValue(i) << std::endl;
+ }
+
+ // Create a mapper and actor for clipped points
+ vtkSmartPointer<vtkDataSetMapper> mapper =
+ vtkSmartPointer<vtkDataSetMapper>::New();
+ mapper->SetInputConnection(clipper->GetOutputPort());
+ vtkSmartPointer<vtkActor> actor =
+ vtkSmartPointer<vtkActor>::New();
+ actor->SetMapper(mapper);
+
+ // Create a mapper and actor for clipping function
+ vtkSmartPointer<vtkSampleFunction> sample =
+ vtkSmartPointer<vtkSampleFunction>::New();
+ sample->SetSampleDimensions(20,20,20);
+ sample->SetImplicitFunction(plane);
+ double value = 10.0;
+ double xmin = -value, xmax = value, ymin = -value, ymax = value, zmin = -value, zmax = value;
+ sample->SetModelBounds(xmin, xmax, ymin, ymax, zmin, zmax);
+
+ // Create the 0 isosurface
+ vtkSmartPointer<vtkContourFilter> contours =
+ vtkSmartPointer<vtkContourFilter>::New();
+ contours->SetInputConnection(sample->GetOutputPort());
+ contours->GenerateValues(1, 1, 1);
+
+ // Map the contours to graphical primitives
+ vtkSmartPointer<vtkPolyDataMapper> contourMapper =
+ vtkSmartPointer<vtkPolyDataMapper>::New();
+ contourMapper->SetInputConnection(contours->GetOutputPort());
+ contourMapper->SetScalarRange(0.0, 1.2);
+
+ // Create an actor for the sphere
+ vtkSmartPointer<vtkActor> sphereActor =
+ vtkSmartPointer<vtkActor>::New();
+ sphereActor->SetMapper(contourMapper);
+
+ // Create a renderer, render window, and interactor
+ vtkSmartPointer<vtkRenderer> renderer =
+ vtkSmartPointer<vtkRenderer>::New();
+ vtkSmartPointer<vtkRenderWindow> renderWindow =
+ vtkSmartPointer<vtkRenderWindow>::New();
+ renderWindow->AddRenderer(renderer);
+ vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
+ vtkSmartPointer<vtkRenderWindowInteractor>::New();
+ renderWindowInteractor->SetRenderWindow(renderWindow);
+
+ // Add the actor to the scene
+ renderer->AddActor(actor);
+ renderer->AddActor(sphereActor);
+ renderer->SetBackground(1,1,1); // Background color white
+
+ // Render and interact
+ // renderWindow->Render();
+ // renderWindowInteractor->Start();
+
+ return 0;
+}
+EOF
+
+cd ..
+mkdir build
+cd build
+cmake -DCMAKE_INSTALL_PREFIX=./../inst ./../src
+make
+make install
+echo "build: OK"
+[ -x demo ]
+./demo
+echo "run: OK"
diff --git a/debian/tests/buildPNG b/debian/tests/buildPNG
new file mode 100755
index 0000000..5f028c3
--- /dev/null
+++ b/debian/tests/buildPNG
@@ -0,0 +1,84 @@
+#!/bin/sh
+# autopkgtest check
+# (C) 2014 Anton Gladky
+
+set -e
+
+export OMPI_MCA_orte_rsh_agent=/bin/false
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+mkdir src
+cd src
+
+cat <<EOF > CMakeLists.txt
+cmake_minimum_required(VERSION 2.6)
+project(demo)
+find_package(VTK REQUIRED vtkCommonCore vtkIOImage vtkIOXML vtkRenderingOpenGL vtkIOLegacy vtkImagingGeneral)
+include(\${VTK_USE_FILE})
+
+add_executable(demo demo.cpp)
+target_link_libraries(demo \${VTK_LIBRARIES})
+install(TARGETS demo DESTINATION bin)
+EOF
+
+cat <<EOF > demo.cpp
+#include <vtkImageData.h>
+#include <vtkPNGWriter.h>
+#include <vtkSmartPointer.h>
+#include <vtkImageCanvasSource2D.h>
+#include <vtkImageCast.h>
+
+int main(int argc, char *argv[])
+{
+ std::string outputFilename;
+ if( argc > 1)
+ {
+ outputFilename = argv[1];
+ }
+ else
+ {
+ outputFilename = "output.png";
+ }
+
+ int extent[6] = {0, 99, 0, 99, 0, 0};
+ vtkSmartPointer<vtkImageCanvasSource2D> imageSource =
+ vtkSmartPointer<vtkImageCanvasSource2D>::New();
+ imageSource->SetExtent(extent);
+ imageSource->SetScalarTypeToUnsignedChar();
+ imageSource->SetNumberOfScalarComponents(3);
+ imageSource->SetDrawColor(127, 45, 255);
+ imageSource->FillBox(0, 99, 0, 99);
+ imageSource->SetDrawColor(255,255,255);
+ imageSource->FillBox(40, 70, 20, 50);
+ imageSource->Update();
+
+ vtkSmartPointer<vtkImageCast> castFilter =
+ vtkSmartPointer<vtkImageCast>::New();
+ castFilter->SetOutputScalarTypeToUnsignedChar ();
+ castFilter->SetInputConnection(imageSource->GetOutputPort());
+ castFilter->Update();
+
+ vtkSmartPointer<vtkPNGWriter> writer =
+ vtkSmartPointer<vtkPNGWriter>::New();
+ writer->SetFileName(outputFilename.c_str());
+ writer->SetInputConnection(castFilter->GetOutputPort());
+ writer->Write();
+
+ return EXIT_SUCCESS;
+}
+
+
+EOF
+
+cd ..
+mkdir build
+cd build
+cmake -DCMAKE_INSTALL_PREFIX=./../inst ./../src
+make
+make install
+echo "build: OK"
+[ -x demo ]
+./demo
+echo "run: OK"
diff --git a/debian/tests/buildPoint b/debian/tests/buildPoint
new file mode 100755
index 0000000..1686994
--- /dev/null
+++ b/debian/tests/buildPoint
@@ -0,0 +1,59 @@
+#!/bin/sh
+# autopkgtest check
+# (C) 2014 Anton Gladky
+
+set -e
+
+export OMPI_MCA_orte_rsh_agent=/bin/false
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+mkdir src
+cd src
+
+cat <<EOF > CMakeLists.txt
+cmake_minimum_required(VERSION 2.6)
+project(demo)
+find_package(VTK REQUIRED vtkCommonCore vtkIOImage vtkIOXML vtkRenderingOpenGL vtkIOLegacy)
+include(\${VTK_USE_FILE})
+
+add_executable(demo demo.cpp)
+target_link_libraries(demo \${VTK_LIBRARIES})
+install(TARGETS demo DESTINATION bin)
+EOF
+
+cat <<EOF > demo.cpp
+#include <vtkPolyData.h>
+#include <vtkSimplePointsWriter.h>
+#include <vtkSphereSource.h>
+#include <vtkSmartPointer.h>
+
+int main(int argc, char *argv[])
+{
+ vtkSmartPointer<vtkSphereSource> sphereSource =
+ vtkSmartPointer<vtkSphereSource>::New();
+ sphereSource->Update();
+
+ vtkSmartPointer<vtkSimplePointsWriter> writer =
+ vtkSmartPointer<vtkSimplePointsWriter>::New();
+ writer->SetFileName("test.xyz");
+ writer->SetInputConnection(sphereSource->GetOutputPort());
+ writer->Write();
+
+ return EXIT_SUCCESS;
+}
+
+EOF
+
+cd ..
+mkdir build
+cd build
+cmake -DCMAKE_INSTALL_PREFIX=./../inst ./../src
+make
+make install
+echo "build: OK"
+[ -x demo ]
+./demo
+cat test.xyz
+echo "run: OK"
diff --git a/debian/tests/buildVTP b/debian/tests/buildVTP
new file mode 100755
index 0000000..3f57f5a
--- /dev/null
+++ b/debian/tests/buildVTP
@@ -0,0 +1,73 @@
+#!/bin/sh
+# autopkgtest check
+# (C) 2014 Anton Gladky
+
+set -e
+
+export OMPI_MCA_orte_rsh_agent=/bin/false
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+mkdir src
+cd src
+
+cat <<EOF > CMakeLists.txt
+cmake_minimum_required(VERSION 2.6)
+project(demo)
+find_package(VTK REQUIRED vtkCommonCore vtkIOImage vtkIOXML vtkRenderingOpenGL vtkIOLegacy)
+include(\${VTK_USE_FILE})
+
+add_executable(demo demo.cpp)
+target_link_libraries(demo \${VTK_LIBRARIES})
+install(TARGETS demo DESTINATION bin)
+EOF
+
+cat <<EOF > demo.cpp
+#include <vtkVersion.h>
+#include <vtkCellArray.h>
+#include <vtkPoints.h>
+#include <vtkXMLPolyDataWriter.h>
+#include <vtkPolyData.h>
+#include <vtkSmartPointer.h>
+
+int main ( int, char *[] )
+{
+ vtkSmartPointer<vtkPoints> points =
+ vtkSmartPointer<vtkPoints>::New();
+
+ for ( unsigned int i = 0; i < 10; ++i )
+ {
+ points->InsertNextPoint ( i, i, i );
+ }
+
+ vtkSmartPointer<vtkPolyData> polydata =
+ vtkSmartPointer<vtkPolyData>::New();
+ polydata->SetPoints(points);
+
+ vtkSmartPointer<vtkXMLPolyDataWriter> writer =
+ vtkSmartPointer<vtkXMLPolyDataWriter>::New();
+ writer->SetFileName("test.vtp");
+#if VTK_MAJOR_VERSION <= 5
+ writer->SetInput(polydata);
+#else
+ writer->SetInputData(polydata);
+#endif
+ writer->Write();
+
+ return EXIT_SUCCESS;
+}
+
+EOF
+
+cd ..
+mkdir build
+cd build
+cmake -DCMAKE_INSTALL_PREFIX=./../inst ./../src
+make
+make install
+echo "build: OK"
+[ -x demo ]
+./demo
+cat test.vtp
+echo "run: OK"
diff --git a/debian/tests/buildVTU b/debian/tests/buildVTU
new file mode 100755
index 0000000..3bb86ad
--- /dev/null
+++ b/debian/tests/buildVTU
@@ -0,0 +1,129 @@
+#!/bin/sh
+# autopkgtest check
+# (C) 2014 Anton Gladky
+
+set -e
+
+export OMPI_MCA_orte_rsh_agent=/bin/false
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+mkdir src
+cd src
+
+cat <<EOF > CMakeLists.txt
+cmake_minimum_required(VERSION 2.6)
+project(demo)
+find_package(VTK REQUIRED vtkCommonCore vtkIOImage vtkIOXML vtkRenderingOpenGL vtkIOLegacy)
+include(\${VTK_USE_FILE})
+
+add_executable(demo demo.cpp)
+target_link_libraries(demo \${VTK_LIBRARIES})
+install(TARGETS demo DESTINATION bin)
+EOF
+
+cat <<EOF > demo.cpp
+#include <vtkVersion.h>
+#include <vtkSmartPointer.h>
+#include <vtkTetra.h>
+#include <vtkCellArray.h>
+#include <vtkXMLUnstructuredGridReader.h>
+#include <vtkDataSetMapper.h>
+#include <vtkActor.h>
+#include <vtkRenderer.h>
+#include <vtkRenderWindow.h>
+#include <vtkRenderWindowInteractor.h>
+#include <vtkXMLUnstructuredGridWriter.h>
+#include <vtkUnstructuredGrid.h>
+#include <vtkPointData.h>
+#include <vtkVertexGlyphFilter.h>
+
+int main(int argc, char *argv[])
+{
+ if(argc != 2)
+ {
+ std::cout << "Required arguments: OutputFilename" << std::endl;
+ return EXIT_FAILURE;
+ }
+
+ std::string filename = argv[1];
+
+ vtkSmartPointer<vtkPoints> points =
+ vtkSmartPointer<vtkPoints>::New();
+ points->InsertNextPoint(0, 0, 0);
+ points->InsertNextPoint(1, 0, 0);
+ points->InsertNextPoint(1, 1, 0);
+ points->InsertNextPoint(0, 1, 1);
+
+ vtkSmartPointer<vtkTetra> tetra =
+ vtkSmartPointer<vtkTetra>::New();
+
+ tetra->GetPointIds()->SetId(0, 0);
+ tetra->GetPointIds()->SetId(1, 1);
+ tetra->GetPointIds()->SetId(2, 2);
+ tetra->GetPointIds()->SetId(3, 3);
+
+ vtkSmartPointer<vtkCellArray> cellArray =
+ vtkSmartPointer<vtkCellArray>::New();
+ cellArray->InsertNextCell(tetra);
+
+
+ vtkSmartPointer<vtkUnstructuredGrid> unstructuredGrid =
+ vtkSmartPointer<vtkUnstructuredGrid>::New();
+ unstructuredGrid->SetPoints(points);
+ unstructuredGrid->SetCells(VTK_TETRA, cellArray);
+
+ // Write file
+ vtkSmartPointer<vtkXMLUnstructuredGridWriter> writer =
+ vtkSmartPointer<vtkXMLUnstructuredGridWriter>::New();
+ writer->SetFileName(filename.c_str());
+#if VTK_MAJOR_VERSION <= 5
+ writer->SetInput(unstructuredGrid);
+#else
+ writer->SetInputData(unstructuredGrid);
+#endif
+ writer->Write();
+
+ vtkSmartPointer<vtkXMLUnstructuredGridReader> reader =
+ vtkSmartPointer<vtkXMLUnstructuredGridReader>::New();
+ reader->SetFileName(filename.c_str());
+ reader->Update();
+
+ vtkSmartPointer<vtkDataSetMapper> mapper =
+ vtkSmartPointer<vtkDataSetMapper>::New();
+ mapper->SetInputConnection(reader->GetOutputPort());
+
+ vtkSmartPointer<vtkActor> actor =
+ vtkSmartPointer<vtkActor>::New();
+ actor->SetMapper(mapper);
+
+ vtkSmartPointer<vtkRenderer> renderer =
+ vtkSmartPointer<vtkRenderer>::New();
+ vtkSmartPointer<vtkRenderWindow> renderWindow =
+ vtkSmartPointer<vtkRenderWindow>::New();
+ renderWindow->AddRenderer(renderer);
+ vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
+ vtkSmartPointer<vtkRenderWindowInteractor>::New();
+ renderWindowInteractor->SetRenderWindow(renderWindow);
+
+ renderer->AddActor(actor);
+ renderer->SetBackground(.3, .6, .3);
+
+ return EXIT_SUCCESS;
+}
+
+
+EOF
+
+cd ..
+mkdir build
+cd build
+cmake -DCMAKE_INSTALL_PREFIX=./../inst ./../src
+make
+make install
+echo "build: OK"
+[ -x demo ]
+./demo a.vtu
+cat a.vtu
+echo "run: OK"
diff --git a/debian/tests/control b/debian/tests/control
new file mode 100644
index 0000000..eb05b53
--- /dev/null
+++ b/debian/tests/control
@@ -0,0 +1,3 @@
+Tests: buildBoolean buildPoint buildVTU buildDistance buildPNG buildVTP
+Depends: libvtk7-dev, build-essential, cmake
+Restrictions: allow-stderr
diff --git a/debian/vtk7-doc.docs b/debian/vtk7-doc.docs
new file mode 100644
index 0000000..fd11066
--- /dev/null
+++ b/debian/vtk7-doc.docs
@@ -0,0 +1,2 @@
+debian/tmp/usr/share/doc/vtk-7.1/doxygen
+debian/build/Utilities/Doxygen/doc/html
diff --git a/debian/vtk7-doc.links b/debian/vtk7-doc.links
new file mode 100644
index 0000000..7276810
--- /dev/null
+++ b/debian/vtk7-doc.links
@@ -0,0 +1 @@
+usr/share/javascript/jquery/jquery.js usr/share/doc/vtk7-doc/html/jquery.js
diff --git a/debian/vtk7-examples.examples b/debian/vtk7-examples.examples
new file mode 100644
index 0000000..a8d52f4
--- /dev/null
+++ b/debian/vtk7-examples.examples
@@ -0,0 +1 @@
+Examples/
diff --git a/debian/vtk7.install b/debian/vtk7.install
new file mode 100644
index 0000000..c8164f1
--- /dev/null
+++ b/debian/vtk7.install
@@ -0,0 +1,6 @@
+usr/bin/vtk7
+usr/bin/vtkEncodeString-7.1
+usr/bin/vtkHashSource-7.1
+usr/bin/vtkParseOGLExt-7.1
+usr/bin/vtkWrapHierarchy-7.1
+usr/lib/libvtkWrappingTools-7.1.a
diff --git a/debian/vtk7.lintian-overrides b/debian/vtk7.lintian-overrides
new file mode 100644
index 0000000..a2bd666
--- /dev/null
+++ b/debian/vtk7.lintian-overrides
@@ -0,0 +1,3 @@
+# Upstream does not provide manpages
+vtk7: binary-without-manpage
+vtk7: hardening-no-relro
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..c23ab23
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,3 @@
+version=3
+opts=repacksuffix=+ds1,uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha|b|a)\d*)$/$1~$2/,dversionmangle=s/\+(debian|dfsg|ds|deb)\d*$// \
+https://github.com/Kitware/VTK/tags .*/v?(7\.\d\S*)\.(?:tgz|tbz2|txz|tar\.(?:gz|bz2|xz))
diff --git a/gbp.conf b/gbp.conf
new file mode 100644
index 0000000..f53906f
--- /dev/null
+++ b/gbp.conf
@@ -0,0 +1,7 @@
+[DEFAULT]
+upstream-branch = upstream
+debian-branch = master
+upstream-tag = upstream/%(version)s
+debian-tag = debian/%(version)s
+sign-tags = True
+pristine-tar = True
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/vtk7.git
More information about the debian-science-commits
mailing list