diff options
author | saxonbeta | 2015-10-28 14:12:32 -0600 |
---|---|---|
committer | saxonbeta | 2015-10-28 14:12:32 -0600 |
commit | 711cec5dd1f396d39febbdb76fef59508bb19d19 (patch) | |
tree | b58d869dea914c1a77425f3ba0288f53aaa4deef | |
download | aur-711cec5dd1f396d39febbdb76fef59508bb19d19.tar.gz |
Initial commit
-rw-r--r-- | .SRCINFO | 63 | ||||
-rw-r--r-- | PKGBUILD | 129 | ||||
-rw-r--r-- | find-libxml2.patch | 42 | ||||
-rw-r--r-- | gdal2.patch | 31 | ||||
-rw-r--r-- | remove-vtkxdmf3.patch | 40 |
5 files changed, 305 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..bf7b8f3d3c91 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,63 @@ +pkgbase = vtk-qt4 + pkgdesc = A software system for 3D computer graphics, image processing, and visualization. Linked against QT4 + pkgver = 6.3.0 + pkgrel = 2 + url = http://www.vtk.org/ + arch = i686 + arch = x86_64 + license = BSD + makedepends = boost + makedepends = cmake + makedepends = java-environment + makedepends = doxygen + makedepends = gnuplot + makedepends = tk + makedepends = wget + makedepends = python2-matplotlib + makedepends = python2-twisted + makedepends = python2-mpi4py + makedepends = python2-autobahn + makedepends = unixodbc + makedepends = gdal + makedepends = openmpi + makedepends = mariadb + makedepends = glew + makedepends = gl2ps + depends = boost-libs + depends = ffmpeg + depends = qtwebkit + depends = lesstif + depends = jsoncpp + optdepends = python2: python bindings + optdepends = java-runtime: java bindings + optdepends = tk: tcl bindings + optdepends = gnuplot: plotting tools + optdepends = graphviz: drawing tools + optdepends = python2-matplotlib: for Matplotlib rendering + optdepends = python2-twisted: for vtkWeb + optdepends = python2-autobahn: for vtkWeb + optdepends = openmpi: OpenMPI support + optdepends = python2-mpi4py: OpenMPI python support + optdepends = unixodbc + optdepends = glew + optdepends = gl2ps + optdepends = gdal + optdepends = mariadb + provides = vtk + conflicts = vtk + options = staticlibs + source = http://www.vtk.org/files/release/6.3/VTK-6.3.0.tar.gz + source = http://www.vtk.org/files/release/6.3/VTKData-6.3.0.tar.gz + source = http://www.vtk.org/files/release/6.3/VTKLargeData-6.3.0.tar.gz + source = remove-vtkxdmf3.patch::https://github.com/nschloe/VTK/commit/a98527dfe9ce23beebf386fab07caef99b911ede.patch + source = find-libxml2.patch::https://github.com/nschloe/VTK/commit/6216f98a7124e12a2c1cefd113347f94b51f3c51.patch + source = gdal2.patch + sha1sums = 452efab1eedf6202f2d9a3362b5f69adfc44edda + sha1sums = 424b138c079a688cd8c52c43d12b54e2f2b06acf + sha1sums = 622a2bd314262961c6d96f2686f96224e8e31de3 + sha1sums = f8c9270941707a296ff5e0ea3c73a1f0407c6f9b + sha1sums = baa807e4495219b3104b6245ca79b8f33ff299db + sha1sums = c60610e7c8cf0ad93d7c02cbf8a20fc415f59b3e + +pkgname = vtk-qt4 + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..7e39a08cd4c0 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,129 @@ +# $Id$ +# Maintainer: Ray Rashif <schiv@archlinux.org> +# Contributor: Andrzej Giniewicz <gginiu@gmail.com> +# Contributor: Thomas Dziedzic < gostrc at gmail > + +# TODO: for Qt5 see FS#43007 + +pkgname=vtk-qt4 +pkgver=6.3.0 +_majorver=6.3 +pkgrel=2 +pkgdesc='A software system for 3D computer graphics, image processing, and visualization. Linked against QT4' +arch=('i686' 'x86_64') +url='http://www.vtk.org/' +license=('BSD') +provides=(vtk) +conflicts=(vtk) +depends=('boost-libs' 'ffmpeg' 'qtwebkit' 'lesstif' 'jsoncpp') +makedepends=('boost' 'cmake' 'java-environment' 'doxygen' 'gnuplot' 'tk' 'wget' 'python2-matplotlib' 'python2-twisted' 'python2-mpi4py' 'python2-autobahn' 'unixodbc' 'gdal' 'openmpi' 'mariadb' 'glew' 'gl2ps') +optdepends=('python2: python bindings' + 'java-runtime: java bindings' + 'tk: tcl bindings' + 'gnuplot: plotting tools' + 'graphviz: drawing tools' + 'python2-matplotlib: for Matplotlib rendering' + 'python2-twisted: for vtkWeb' + 'python2-autobahn: for vtkWeb' + 'openmpi: OpenMPI support' + 'python2-mpi4py: OpenMPI python support' + 'unixodbc' + 'glew' + 'gl2ps' + 'gdal' + 'mariadb') +source=("http://www.vtk.org/files/release/${_majorver}/VTK-${pkgver}.tar.gz" + "http://www.vtk.org/files/release/${_majorver}/VTKData-${pkgver}.tar.gz" + "http://www.vtk.org/files/release/${_majorver}/VTKLargeData-${pkgver}.tar.gz" + # https://github.com/Kitware/VTK/pull/21 + remove-vtkxdmf3.patch::https://github.com/nschloe/VTK/commit/a98527dfe9ce23beebf386fab07caef99b911ede.patch + find-libxml2.patch::https://github.com/nschloe/VTK/commit/6216f98a7124e12a2c1cefd113347f94b51f3c51.patch + gdal2.patch) +options=(staticlibs) +sha1sums=('452efab1eedf6202f2d9a3362b5f69adfc44edda' + '424b138c079a688cd8c52c43d12b54e2f2b06acf' + '622a2bd314262961c6d96f2686f96224e8e31de3' + 'f8c9270941707a296ff5e0ea3c73a1f0407c6f9b' + 'baa807e4495219b3104b6245ca79b8f33ff299db' + 'c60610e7c8cf0ad93d7c02cbf8a20fc415f59b3e') + +prepare() { + cd "${srcdir}"/VTK-$pkgver + + # fix compilation errors: + patch -Np1 -i "${srcdir}"/remove-vtkxdmf3.patch + patch -Np1 -i "${srcdir}"/find-libxml2.patch + patch -Np1 -i "${srcdir}"/gdal2.patch + + sed -e "s|#![ ]*/usr/bin/python$|#!/usr/bin/python2|" \ + -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \ + -e "s|#![ ]*/bin/env python$|#!/usr/bin/env python2|" \ + -i $(find . -name '*.py') +} + +build() { + cd "${srcdir}" + rm -rf build + mkdir build + cd build + + # to help cmake find java + export JAVA_HOME=/usr/lib/jvm/default + + # flags to enable using system libs + local cmake_system_flags="" + # TODO: try to use system provided XDMF2, XDMF3, LIBPROJ4 NETCDF + # VTK fails to compile with recent netcdf-cxx package, VTK should be ported to the latest API + for lib in HDF5 EXPAT FREETYPE JPEG PNG TIFF ZLIB LIBXML2 OGGTHEORA TWISTED ZOPE SIX AUTOBAHN MPI4PY JSONCPP GLEW GL2PS; do + cmake_system_flags+="-DVTK_USE_SYSTEM_${lib}:BOOL=ON " + done + + # flags to use python2 instead of python which is 3.x.x on archlinux + local cmake_system_python_flags="-DPYTHON_EXECUTABLE:PATH=/usr/bin/python2 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python2.7 -DPYTHON_LIBRARY:PATH=/usr/lib/libpython2.7.so" + + cmake \ + -Wno-dev \ + -DCMAKE_SKIP_RPATH=ON \ + -DBUILD_SHARED_LIBS:BOOL=ON \ + -DCMAKE_INSTALL_PREFIX:FILEPATH=/usr \ + -DBUILD_DOCUMENTATION:BOOL=ON \ + -DDOCUMENTATION_HTML_HELP:BOOL=ON \ + -DDOCUMENTATION_HTML_TARZ:BOOL=ON \ + -DBUILD_EXAMPLES:BOOL=ON \ + -DVTK_USE_FFMPEG_ENCODER:BOOL=ON \ + -DVTK_BUILD_ALL_MODULES:BOOL=ON \ + -DVTK_USE_LARGE_DATA:BOOL=ON \ + -DVTK_QT_VERSION:STRING="4" \ + -DVTK_WRAP_JAVA:BOOL=ON \ + -DVTK_WRAP_PYTHON:BOOL=ON \ + -DVTK_WRAP_TCL:BOOL=ON \ + -DCMAKE_CXX_FLAGS="-D__STDC_CONSTANT_MACROS" \ + -DVTK_CUSTOM_LIBRARY_SUFFIX="" \ + -DVTK_INSTALL_INCLUDE_DIR:PATH=include/vtk \ + ${cmake_system_flags} \ + ${cmake_system_python_flags} \ + -DCMAKE_BUILD_TYPE=Release \ + "${srcdir}/VTK-$pkgver" + + make +} + +package() { + cd "${srcdir}/build" + + make DESTDIR="${pkgdir}" install + + # Move the vtk.jar to the arch-specific location + install -dv "${pkgdir}/usr/share/java/vtk" + mv -v "${pkgdir}/usr/lib/vtk.jar" "${pkgdir}/usr/share/java/vtk" + rm -rf "${pkgdir}/usr/lib/vtk-${_majorver}/java" + + # Install license + install -dv "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 "${srcdir}/VTK-$pkgver/Copyright.txt" "${pkgdir}/usr/share/licenses/${pkgname}" + + # Fix path of QtDesigner plugin + install -dv "${pkgdir}/usr/lib/qt4" + mv "$pkgdir"/usr/plugins "$pkgdir"/usr/lib/qt4/plugins +} + diff --git a/find-libxml2.patch b/find-libxml2.patch new file mode 100644 index 000000000000..a382a0fdb757 --- /dev/null +++ b/find-libxml2.patch @@ -0,0 +1,42 @@ +From 6216f98a7124e12a2c1cefd113347f94b51f3c51 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Nico=20Schl=C3=B6mer?= <nico.schloemer@gmail.com> +Date: Thu, 18 Jun 2015 13:30:30 +0200 +Subject: [PATCH] clarify logic for finding libxml2 in xdmf3 + +--- + ThirdParty/xdmf3/vtkxdmf3/core/CMakeLists.txt | 21 ++++++++++----------- + 1 file changed, 10 insertions(+), 11 deletions(-) + +diff --git a/ThirdParty/xdmf3/vtkxdmf3/core/CMakeLists.txt b/ThirdParty/xdmf3/vtkxdmf3/core/CMakeLists.txt +index 241fa0a..15955b7 100644 +--- a/ThirdParty/xdmf3/vtkxdmf3/core/CMakeLists.txt ++++ b/ThirdParty/xdmf3/vtkxdmf3/core/CMakeLists.txt +@@ -93,18 +93,17 @@ if(HDF5_FOUND) + endif() + + +-set(LIBXML2_LIBRARIES ${vtklibxml2_LIBRARIES}) +-set(LIBXML2_INCLUDE_DIR ${vtklibxml2_INCLUDE_DIRS}) +-set(LIBXML2_FOUND TRUE) +-find_package(LibXml2 REQUIRED) +-if(LIBXML2_FOUND) +- include_directories(${LIBXML2_INCLUDE_DIR}) +- get_filename_component(LIBXML2_ROOT "${LIBXML2_INCLUDE_DIR}/../" REALPATH) +- set(LIBXML2_BINARY_DIRS ${LIBXML2_ROOT}/bin) +- set(LIBXML2_BINARY_DIRS ${LIBXML2_BINARY_DIRS} PARENT_SCOPE) +- set(XDMF_LIBRARIES ${XDMF_LIBRARIES} ${LIBXML2_LIBRARIES}) +- set(XDMF_BINARIES ${XDMF_BINARIES} ${LIBXML2_BINARY_DIRS}) ++find_package(LibXml2) ++if(NOT LIBXML2_FOUND) ++ set(LIBXML2_LIBRARIES ${vtklibxml2_LIBRARIES}) ++ set(LIBXML2_INCLUDE_DIR ${vtklibxml2_INCLUDE_DIRS}) + endif() ++include_directories(${LIBXML2_INCLUDE_DIR}) ++get_filename_component(LIBXML2_ROOT "${LIBXML2_INCLUDE_DIR}/../" REALPATH) ++set(LIBXML2_BINARY_DIRS ${LIBXML2_ROOT}/bin) ++set(LIBXML2_BINARY_DIRS ${LIBXML2_BINARY_DIRS} PARENT_SCOPE) ++set(XDMF_LIBRARIES ${XDMF_LIBRARIES} ${LIBXML2_LIBRARIES}) ++set(XDMF_BINARIES ${XDMF_BINARIES} ${LIBXML2_BINARY_DIRS}) + + # Perform compile-time checks and generate XdmfCoreConfig.hpp + diff --git a/gdal2.patch b/gdal2.patch new file mode 100644 index 000000000000..36c33ee14caf --- /dev/null +++ b/gdal2.patch @@ -0,0 +1,31 @@ +diff --git a/IO/GDAL/vtkGDALVectorReader.cxx b/IO/GDAL/vtkGDALVectorReader.cxx +index 86854a0..a0e234a 100644 +--- a/IO/GDAL/vtkGDALVectorReader.cxx ++++ b/IO/GDAL/vtkGDALVectorReader.cxx +@@ -44,7 +44,7 @@ class vtkGDALVectorReader::Internal + public: + Internal( const char* srcName, int srcMode, int appendFeatures, int addFeatIds ) + { +- this->Source = OGRSFDriverRegistrar::Open( srcName, srcMode, &this->Driver ); ++ this->Source = (GDALDataset*) OGROpen( srcName, srcMode, NULL ); + if ( ! this->Source ) + { + this->LastError = CPLGetLastErrorMsg(); +@@ -61,7 +61,7 @@ public: + { + if ( this->Source ) + { +- OGRDataSource::DestroyDataSource( this->Source ); ++ GDALClose( (GDALDatasetH) this->Source ); + } + } + +@@ -304,7 +304,7 @@ public: + return nCells; + } + +- OGRDataSource* Source; ++ GDALDataset* Source; + OGRSFDriver* Driver; + const char* LastError; + int LayerIdx; diff --git a/remove-vtkxdmf3.patch b/remove-vtkxdmf3.patch new file mode 100644 index 000000000000..9f49f77e9098 --- /dev/null +++ b/remove-vtkxdmf3.patch @@ -0,0 +1,40 @@ +From a98527dfe9ce23beebf386fab07caef99b911ede Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Nico=20Schl=C3=B6mer?= <nico.schloemer@gmail.com> +Date: Thu, 18 Jun 2015 13:25:14 +0200 +Subject: [PATCH] remove superfluous vtkxdmf3_LINK_DEPENDS from Xdmf3 link line + +This caused VTK-compiled HDF5 and LibXML2 libraries to appear on the link line +even if VTK_USE_SYSTEM_{HDF5,LIBXML2} was on, immediately resulting in a link +error of the type +``` +/usr/bin/ld: cannot find -lvtkhdf5 +/usr/bin/ld: cannot find -lvtklibxml2 +``` +This commit fixes things by simply removing vtkxdmf3_LINK_DEPENDS from the link +line. The dependencies are already taken care of. +--- + ThirdParty/xdmf3/vtkxdmf3/core/CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/ThirdParty/xdmf3/vtkxdmf3/core/CMakeLists.txt b/ThirdParty/xdmf3/vtkxdmf3/core/CMakeLists.txt +index ff045a6..241fa0a 100644 +--- a/ThirdParty/xdmf3/vtkxdmf3/core/CMakeLists.txt ++++ b/ThirdParty/xdmf3/vtkxdmf3/core/CMakeLists.txt +@@ -8,7 +8,7 @@ include(CheckCXXSourceCompiles) + include(SetUpVersion) + include(TestBigEndian) + +-if(VERSION_CONTROL_AUTOUPDATE OR ++if(VERSION_CONTROL_AUTOUPDATE OR + NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/XdmfVersion.hpp) + VersionCreate("Xdmf" "2" "XDMFCORE_EXPORT" "XdmfCore.hpp") + endif() +@@ -154,7 +154,7 @@ set(XdmfCoreSources + add_library(XdmfCore ${LIBTYPE} ${XdmfCoreSources}) + link_directories(${XDMF_LIBRARY_DIRS}) + +-target_link_libraries(XdmfCore ${XDMF_LIBRARIES} ${vtkxdmf3_LINK_DEPENDS}) ++target_link_libraries(XdmfCore ${XDMF_LIBRARIES}) + vtk_target_install(XdmfCore) + + if(WIN32) |