Date: Friday, December 22, 2017 @ 08:42:06 Author: anthraxx Revision: 275490
archrelease: copy trunk to staging-x86_64 Added: vtk6/repos/staging-x86_64/ vtk6/repos/staging-x86_64/PKGBUILD (from rev 275489, vtk6/trunk/PKGBUILD) vtk6/repos/staging-x86_64/ffmpeg3_compat.patch (from rev 275489, vtk6/trunk/ffmpeg3_compat.patch) vtk6/repos/staging-x86_64/gcc6.patch (from rev 275489, vtk6/trunk/gcc6.patch) vtk6/repos/staging-x86_64/gdal2.patch (from rev 275489, vtk6/trunk/gdal2.patch) ----------------------+ PKGBUILD | 136 +++++++++++++++++++++++++++++++++++++++++++++++++ ffmpeg3_compat.patch | 62 ++++++++++++++++++++++ gcc6.patch | 24 ++++++++ gdal2.patch | 31 +++++++++++ 4 files changed, 253 insertions(+) Copied: vtk6/repos/staging-x86_64/PKGBUILD (from rev 275489, vtk6/trunk/PKGBUILD) =================================================================== --- staging-x86_64/PKGBUILD (rev 0) +++ staging-x86_64/PKGBUILD 2017-12-22 08:42:06 UTC (rev 275490) @@ -0,0 +1,136 @@ +# Mainteriner: Florian Pritz <bluew...@xinu.at> +# Contributor: Ray Rashif <sc...@archlinux.org> +# Contributor: Andrzej Giniewicz <ggi...@gmail.com> +# Contributor: Thomas Dziedzic < gostrc at gmail > + +pkgname=vtk6 +pkgver=6.3.0 +_majorver=6.3 +pkgrel=10 +pkgdesc='A software system for 3D computer graphics, image processing, and visualization. Legacy 6.3 version.' +arch=('x86_64') +url='https://www.vtk.org/' +license=('BSD') +depends=('gcc-libs' 'gl2ps') +makedepends=('boost' 'cmake' 'ninja' 'java-environment' 'doxygen' 'gnuplot' 'tk' 'wget' 'python2-matplotlib' 'python2-twisted' 'python2-mpi4py' 'python2-autobahn' 'unixodbc' 'gdal' 'openmpi' 'mariadb' 'glew' 'ffmpeg' 'qt5-base' 'jsoncpp' 'qt5-webkit' 'qt5-tools') +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' + 'gdal' + 'mariadb') +source=("https://www.vtk.org/files/release/${_majorver}/VTK-${pkgver}.tar.gz" + "https://www.vtk.org/files/release/${_majorver}/VTKData-${pkgver}.tar.gz" + "https://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 + ffmpeg3_compat.patch + gdal2.patch + gcc6.patch) +options=(staticlibs) +sha1sums=('452efab1eedf6202f2d9a3362b5f69adfc44edda' + '424b138c079a688cd8c52c43d12b54e2f2b06acf' + '622a2bd314262961c6d96f2686f96224e8e31de3' + '191a9393dc0e2e8c40e5042611102cd5e421dfaa' + '1c26fc85939eb95696e52c7ae1bfac3cc0df52b7' + 'a78177f8dd6dedd9ad189fa12730ec53c7d02508' + 'c60610e7c8cf0ad93d7c02cbf8a20fc415f59b3e' + '0dc5e510a7f522e32484e2e77205c1a9d2c48854') + +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 + patch -Np1 -i "${srcdir}"/ffmpeg3_compat.patch + patch -Np1 -i "${srcdir}"/gcc6.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 + # VTK does not work with XDMF2 compiled from git. TODO: make vtk compatible with system XDMF library. + # Note: VTK explicitly disables system GLEW dependency, it uses embedded sources with modifications + for lib in 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=/opt/${pkgname} \ + -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="5" \ + -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}" \ + -GNinja + + ninja +} + + +package() { + cd "${srcdir}/build" + + DESTDIR="${pkgdir}" ninja install + + mkdir -p "$pkgdir/etc/ld.so.conf.d/" + printf "%s\n" "/opt/vtk6/lib" > "$pkgdir/etc/ld.so.conf.d/$pkgname.conf" + + # Move the vtk.jar to the arch-specific location + install -dv "${pkgdir}/opt/${pkgname}/share/java/vtk" + mv -v "${pkgdir}/opt/${pkgname}/lib/vtk.jar" "${pkgdir}/opt/${pkgname}/share/java/vtk" + rm -rf "${pkgdir}/opt/${pkgname}/lib/vtk-${_majorver}/java" + + # Install license + install -dv "${pkgdir}/opt/${pkgname}/share/licenses/vtk" + install -m644 "${srcdir}/VTK-${pkgver}/Copyright.txt" "${pkgdir}/opt/${pkgname}/share/licenses/vtk" + + # Fix path of QtDesigner plugin + install -dv "${pkgdir}/opt/${pkgname}/lib/qt5" + mv "${pkgdir}"/opt/${pkgname}/plugins "${pkgdir}"/opt/${pkgname}/lib/qt5/plugins +} Copied: vtk6/repos/staging-x86_64/ffmpeg3_compat.patch (from rev 275489, vtk6/trunk/ffmpeg3_compat.patch) =================================================================== --- staging-x86_64/ffmpeg3_compat.patch (rev 0) +++ staging-x86_64/ffmpeg3_compat.patch 2017-12-22 08:42:06 UTC (rev 275490) @@ -0,0 +1,62 @@ +diff --git a/IO/FFMPEG/vtkFFMPEGWriter.cxx b/IO/FFMPEG/vtkFFMPEGWriter.cxx +index d3fd421..294b421 100644 +--- a/IO/FFMPEG/vtkFFMPEGWriter.cxx ++++ b/IO/FFMPEG/vtkFFMPEGWriter.cxx +@@ -191,11 +191,11 @@ int vtkFFMPEGWriterInternal::Start() + c->height = this->Dim[1]; + if (this->Writer->GetCompression()) + { +- c->pix_fmt = PIX_FMT_YUVJ422P; ++ c->pix_fmt = AV_PIX_FMT_YUVJ422P; + } + else + { +- c->pix_fmt = PIX_FMT_BGR24; ++ c->pix_fmt = AV_PIX_FMT_BGR24; + } + + //to do playback at actual recorded rate, this will need more work see also below +@@ -274,13 +274,13 @@ int vtkFFMPEGWriterInternal::Start() + #endif + + //for the output of the writer's input... +- this->rgbInput = avcodec_alloc_frame(); ++ this->rgbInput = av_frame_alloc(); + if (!this->rgbInput) + { + vtkGenericWarningMacro (<< "Could not make rgbInput avframe." ); + return 0; + } +- int RGBsize = avpicture_get_size(PIX_FMT_RGB24, c->width, c->height); ++ int RGBsize = avpicture_get_size(AV_PIX_FMT_RGB24, c->width, c->height); + unsigned char *rgb = (unsigned char *)av_malloc(sizeof(unsigned char) * RGBsize); + if (!rgb) + { +@@ -288,10 +288,10 @@ int vtkFFMPEGWriterInternal::Start() + return 0; + } + //The rgb buffer should get deleted when this->rgbInput is. +- avpicture_fill((AVPicture *)this->rgbInput, rgb, PIX_FMT_RGB24, c->width, c->height); ++ avpicture_fill((AVPicture *)this->rgbInput, rgb, AV_PIX_FMT_RGB24, c->width, c->height); + + //and for the output to the codec's input. +- this->yuvOutput = avcodec_alloc_frame(); ++ this->yuvOutput = av_frame_alloc(); + if (!this->yuvOutput) + { + vtkGenericWarningMacro (<< "Could not make yuvOutput avframe." ); +@@ -349,12 +349,12 @@ int vtkFFMPEGWriterInternal::Write(vtkImageData *id) + //convert that to YUV for input to the codec + #ifdef VTK_FFMPEG_HAS_IMG_CONVERT + img_convert((AVPicture *)this->yuvOutput, cc->pix_fmt, +- (AVPicture *)this->rgbInput, PIX_FMT_RGB24, ++ (AVPicture *)this->rgbInput, AV_PIX_FMT_RGB24, + cc->width, cc->height); + #else + //convert that to YUV for input to the codec + SwsContext* convert_ctx = sws_getContext( +- cc->width, cc->height, PIX_FMT_RGB24, ++ cc->width, cc->height, AV_PIX_FMT_RGB24, + cc->width, cc->height, cc->pix_fmt, + SWS_BICUBIC, NULL, NULL, NULL); + Copied: vtk6/repos/staging-x86_64/gcc6.patch (from rev 275489, vtk6/trunk/gcc6.patch) =================================================================== --- staging-x86_64/gcc6.patch (rev 0) +++ staging-x86_64/gcc6.patch 2017-12-22 08:42:06 UTC (rev 275490) @@ -0,0 +1,24 @@ +diff -Naur a/CMake/GenerateExportHeader.cmake b/CMake/GenerateExportHeader.cmake +--- a/CMake/GenerateExportHeader.cmake 2016-05-07 10:25:47.104258276 +0200 ++++ b/CMake/GenerateExportHeader.cmake 2016-05-07 10:26:51.085595051 +0200 +@@ -166,7 +166,7 @@ + execute_process(COMMAND ${CMAKE_C_COMPILER} ARGS --version + OUTPUT_VARIABLE _gcc_version_info + ERROR_VARIABLE _gcc_version_info) +- string(REGEX MATCH "[345]\\.[0-9]\\.[0-9]*" ++ string(REGEX MATCH "[3-9]\\.[0-9]\\.[0-9]*" + _gcc_version "${_gcc_version_info}") + # gcc on mac just reports: "gcc (GCC) 3.3 20030304 ..." without the + # patch level, handle this here: +diff -Naur a/CMake/vtkCompilerExtras.cmake b/CMake/vtkCompilerExtras.cmake +--- a/CMake/vtkCompilerExtras.cmake 2016-05-07 10:25:47.104258276 +0200 ++++ b/CMake/vtkCompilerExtras.cmake 2016-05-07 10:27:20.496204378 +0200 +@@ -32,7 +32,7 @@ + OUTPUT_VARIABLE _gcc_version_info + ERROR_VARIABLE _gcc_version_info) + +- string (REGEX MATCH "[345]\\.[0-9]\\.[0-9]*" ++ string (REGEX MATCH "[3-9]\\.[0-9]\\.[0-9]*" + _gcc_version "${_gcc_version_info}") + if(NOT _gcc_version) + string (REGEX REPLACE ".*\\(GCC\\).*([34]\\.[0-9]).*" "\\1.0" Copied: vtk6/repos/staging-x86_64/gdal2.patch (from rev 275489, vtk6/trunk/gdal2.patch) =================================================================== --- staging-x86_64/gdal2.patch (rev 0) +++ staging-x86_64/gdal2.patch 2017-12-22 08:42:06 UTC (rev 275490) @@ -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;