diff options
Diffstat (limited to 'libraries/VTK')
-rw-r--r-- | libraries/VTK/README | 52 | ||||
-rw-r--r-- | libraries/VTK/VTK.SlackBuild | 73 | ||||
-rw-r--r-- | libraries/VTK/VTK.info | 8 | ||||
-rw-r--r-- | libraries/VTK/cstdint-for-gcc13.diff | 10 | ||||
-rw-r--r-- | libraries/VTK/include_limits.patch | 40 | ||||
-rw-r--r-- | libraries/VTK/patch-gcc10.diff | 40 | ||||
-rw-r--r-- | libraries/VTK/patch-gdal2.diff | 31 | ||||
-rw-r--r-- | libraries/VTK/patch-proj6.diff | 110 |
8 files changed, 110 insertions, 254 deletions
diff --git a/libraries/VTK/README b/libraries/VTK/README index 30fe0149da..b352886970 100644 --- a/libraries/VTK/README +++ b/libraries/VTK/README @@ -1,39 +1,31 @@ -The Visualization Toolkit (VTK) is an open source, freely available software -system for 3D computer graphics, modeling, image processing, volume rendering, -scientific visualization and information visualization. VTK also includes -ancillary support for 3D interaction widgets, two and three-dimensional -annotation, and parallel computing. At its core VTK is implemented as a C++ -toolkit, requiring users to build applications by combining various objects into -an application. The system also supports automated wrapping of the C++ core into -Python, Java and Tcl, so that VTK applications may also be written using these -interpreted programming languages. - -Since version 8.1.0, VTK requires the qt5 package. - -Version 8.2.0 is the last VTK suitable for Slackware version 14.2 due to the age -of some SL-14.2 support packages (ncluding, in particular, cmake). - -Some optional additional packages, if detected during configuration, are used -in preference to versions provided in the source code. These packages, available -from SlackBuilds.org, are: +The Visualization Toolkit (VTK) is an open source, freely +available software system for 3D computer graphics, modeling, +image processing, volume rendering, scientific visualization and +information visualization. VTK also includes ancillary support for +3D interaction widgets, two and three-dimensional annotation, and +parallel computing. At its core VTK is implemented as a C++ toolkit, +requiring users to build applications by combining various objects +into an application. The system also supports automated wrapping of +the C++ core into Python, Java and Tcl, so that VTK applications may +also be written using these interpreted programming languages. + +Some optional additional packages, if detected during configuration, +are used in preference to versions provided in the source code. These +packages, available from SlackBuilds.org, are: jsoncpp proj -You can enable a number of optional features by passing variables to the script -(VAR=yes|no ./VTK.SlackBuild): +You can enable a number of optional features by passing variables to +the script (VAR=yes|no ./VTK.SlackBuild): -IMAGING=yes|no (default: no) +IMAGING=yes|no (default: yes) MPI=yes|no (default: no), requires openmpi TK=yes|no (default: yes) -VIEWS=yes|no (default: no) -WEB=yes|no (default: no), requires python-twisted +VIEWS=yes|no (default: yes) +WEB=yes|no (default: no), requires python3-twisted JAVA=yes|no (default: no), requires jdk PYTHON=yes|no (default: yes) QT=yes|no (default: yes) -VTK is an optional dependency for the opencv SlackBuild. However since VTK-8.2.0, -it is not suitable as an optional dependency for opencv-legacy. The last suitable -version of VTK for building opencv-legacy is VTK-8.1.2. - -Due to unmet build requirements (in particular, required cmake version), -8.2.0 is the last version of VTK which is suitable for Slackware 14.2. - +NB. Some combinations of options are known to result in compilation +errors if the build machine already has VTK installed. Please remove +any VTK installation before running the SlackBuild. diff --git a/libraries/VTK/VTK.SlackBuild b/libraries/VTK/VTK.SlackBuild index 8767c4a0c4..d9f977f554 100644 --- a/libraries/VTK/VTK.SlackBuild +++ b/libraries/VTK/VTK.SlackBuild @@ -1,10 +1,10 @@ -#!/bin/sh +#!/bin/bash # Slackware build script for VTK # Copyright 2013,2014 Youjie Zhou <jmpopush@gmail.com> # All rights reserved. -# Copyright 2016-2020 Christoph Willing, Brisbane Australia +# Copyright 2016-2023 Christoph Willing, Brisbane Australia # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -25,11 +25,13 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # +cd $(dirname $0) ; CWD=$(pwd) + PRGNAM=VTK -VERSION=${VERSION:-8.2.0} -SHORT_VERSION=${SHORT_VERSION:-$(echo $VERSION | sed -e 's/\.[0-9]*//2g')} -BUILD=${BUILD:-2} +VERSION=${VERSION:-9.3.0} +BUILD=${BUILD:-1} TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} if [ -z "$ARCH" ]; then case "$( uname -m )" in @@ -39,7 +41,11 @@ if [ -z "$ARCH" ]; then esac fi -CWD=$(pwd) +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} @@ -60,14 +66,14 @@ fi # configure VTK features # (defaults suitable for OpenCASCADE, it's the only SBo package that depends on VTK) -group_imaging="" ; [ "${IMAGING:-yes}" != "no" ] && group_imaging="-DVTK_Group_Imaging=true" -group_mpi="" ; [ "${MPI:-no}" != "no" ] && group_mpi="-DVTK_Group_MPI=true" -group_qt="" ; [ "${QT:-yes}" != "no" ] && group_qt="-DVTK_Group_Qt=true" -group_tk="" ; [ "${TK:-yes}" != "no" ] && group_tk="-DVTK_Group_Tk=true" -group_views="" ; [ "${VIEWS:-no}" != "no" ] && group_views="-DVTK_Group_Views=true" -group_web="" ; [ "${WEB:-no}" != "no" ] && group_web="-DVTK_Group_Web=true" -wrap_python="" ; [ "${PYTHON:-yes}" != "no" ] && wrap_python="-DVTK_WRAP_PYTHON=true" +group_imaging="" ; [ "${IMAGING:-yes}" != "no" ] && group_imaging="-DVTK_GROUP_ENABLE_Imaging=YES" +group_mpi="" ; [ "${MPI:-no}" != "no" ] && group_mpi="-DVTK_GROUP_ENABLE_MPI=YES -DVTK_USE_MPI=yes" +group_qt="" ; [ "${QT:-yes}" != "no" ] && group_qt="-DVTK_GROUP_ENABLE_Qt=YES" +group_views="" ; [ "${VIEWS:-yes}" != "no" ] && group_views="-DVTK_GROUP_ENABLE_Views=YES" +group_web="" ; [ "${WEB:-no}" != "no" ] && group_web="-DVTK_GROUP_ENABLE_Web=YES" wrap_java="" ; [ "${JAVA:-no}" != "no" ] && wrap_java="-DVTK_WRAP_JAVA=true" +wrap_python="" ; [ "${PYTHON:-yes}" != "no" ] && wrap_python="-DVTK_WRAP_PYTHON=true" +python_version="-DVTK_PYTHON_VERSION=3"; [ "${PYTHONVERSION:-3}" == "2" ] && python_version="-DVTK_PYTHON_VERSION=2" if pkg-config --exists jsoncpp ; then jsoncpp="-DVTK_USE_SYSTEM_JSONCPP:BOOL=ON" ; else jsoncpp="" ; fi @@ -89,6 +95,10 @@ cd $TMP rm -rf $PRGNAM-$VERSION tar xvf $CWD/$PRGNAM-$VERSION.tar.gz cd $PRGNAM-$VERSION + +patch -p1 < $CWD/include_limits.patch +patch -p0 < $CWD/cstdint-for-gcc13.diff + chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ @@ -102,18 +112,10 @@ sed -i '/include <QTextStream>/a #include <QPainterPath>' \ if pkg-config --exists proj ; then proj="-DVTK_USE_SYSTEM_LIBPROJ:BOOL=ON" - # proj6 patch courtesy of - # https://git.archlinux.org/svntogit/community.git/plain/trunk/proj6.patch?h=packages/vtk - patch -p1 < $CWD/patch-proj6.diff else proj="" fi -# https://github.com/archlinux/svntogit-community/blob/packages/vtk/trunk/PKGBUILD -( cd ThirdParty/exodusII/vtkexodusII - patch -p1 < $CWD/patch-gcc10.diff ) -sed -i 's|REGEX MATCH \"\[3-9\]|REGEX MATCH \"[1-9][0-9]|' CMake/VTKGenerateExportHeader.cmake - mkdir -p build cd build cmake \ @@ -124,24 +126,17 @@ cd build -DBUILD_SHARED_LIBS=ON \ -DVTK_CUSTOM_LIBRARY_SUFFIX="" \ -DVTK_INSTALL_INCLUDE_DIR:PATH=include/VTK \ + -DVTK_USE_TK=ON \ + -DVTK_BUILD_EXAMPLES=ON \ + -DINSTALL_DOCS=ON \ $group_imaging \ $group_mpi \ $group_qt \ - $group_tk \ $group_views \ $group_web \ - $wrap_python \ $wrap_java \ - -DVTK_USE_SYSTEM_EXPAT:BOOL=ON \ - -DVTK_USE_SYSTEM_FREETYPE:BOOL=ON \ - -DVTK_USE_SYSTEM_GLEW:BOOL=ON \ - -DVTK_USE_SYSTEM_JPEG:BOOL=ON \ - -DVTK_USE_SYSTEM_LIBXML2:BOOL=ON \ - -DVTK_USE_SYSTEM_OGG:BOOL=ON \ - -DVTK_USE_SYSTEM_THEORA:BOOL=ON \ - -DVTK_USE_SYSTEM_PNG:BOOL=ON \ - -DVTK_USE_SYSTEM_TIFF:BOOL=ON \ - -DVTK_USE_SYSTEM_ZLIB:BOOL=ON \ + $wrap_python \ + $python_version \ $jsoncpp \ $proj \ $gl2ps \ @@ -163,18 +158,18 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr $PKG/usr/lib${LIBDIRSUFFIX}/qt } -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/licenses cp -a \ CONTRIBUTING.md Copyright.txt README.md \ $PKG/usr/doc/$PRGNAM-$VERSION -mv \ - $PKG/usr/share/doc/vtk-$SHORT_VERSION/verdict/ \ - $PKG/usr/doc/$PRGNAM-$VERSION -rm -rf $PKG/usr/share/doc +cp -a \ + $PKG/usr/share/licenses/VTK/* \ + $PKG/usr/doc/$PRGNAM-$VERSION/licenses/ +rm -rf $PKG/usr/share cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/libraries/VTK/VTK.info b/libraries/VTK/VTK.info index 49e1afcade..6f49176f4c 100644 --- a/libraries/VTK/VTK.info +++ b/libraries/VTK/VTK.info @@ -1,10 +1,10 @@ PRGNAM="VTK" -VERSION="8.2.0" +VERSION="9.3.0" HOMEPAGE="https://www.vtk.org" -DOWNLOAD="https://www.vtk.org/files/release/8.2/VTK-8.2.0.tar.gz" -MD5SUM="8af3307da0fc2ef8cafe4a312b821111" +DOWNLOAD="https://www.vtk.org/files/release/9.3/VTK-9.3.0.tar.gz" +MD5SUM="8b4dbb0ec85a6c0cf39803b6f891a8f2" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="qt5" +REQUIRES="" MAINTAINER="Christoph Willing" EMAIL="chris.willing@linux.com" diff --git a/libraries/VTK/cstdint-for-gcc13.diff b/libraries/VTK/cstdint-for-gcc13.diff new file mode 100644 index 0000000000..17cb0796f4 --- /dev/null +++ b/libraries/VTK/cstdint-for-gcc13.diff @@ -0,0 +1,10 @@ +--- ThirdParty/libproj/vtklibproj/src/proj_json_streaming_writer.hpp.orig 2023-02-15 14:03:53.000000000 +1000 ++++ ThirdParty/libproj/vtklibproj/src/proj_json_streaming_writer.hpp 2023-06-11 17:42:36.366000000 +1000 +@@ -32,6 +32,7 @@ + /*! @cond Doxygen_Suppress */ + + #include <vector> ++#include <cstdint> + #include <string> + + #define CPL_DLL diff --git a/libraries/VTK/include_limits.patch b/libraries/VTK/include_limits.patch new file mode 100644 index 0000000000..888dcb9912 --- /dev/null +++ b/libraries/VTK/include_limits.patch @@ -0,0 +1,40 @@ +--- ../Common/Core/vtkGenericDataArrayLookupHelper.h.orig 2021-07-03 01:31:21.000000000 +1000 ++++ ../Common/Core/vtkGenericDataArrayLookupHelper.h 2021-08-22 22:38:52.682000000 +1000 +@@ -22,6 +22,7 @@ + #ifndef vtkGenericDataArrayLookupHelper_h + #define vtkGenericDataArrayLookupHelper_h + ++#include <limits> + #include "vtkIdList.h" + #include <algorithm> + #include <cmath> +--- ../Common/DataModel/vtkPiecewiseFunction.h.orig 2021-07-03 01:31:21.000000000 +1000 ++++ ../Common/DataModel/vtkPiecewiseFunction.h 2021-08-22 22:40:08.253000000 +1000 +@@ -37,6 +37,7 @@ + #ifndef vtkPiecewiseFunction_h + #define vtkPiecewiseFunction_h + ++#include <limits> + #include "vtkCommonDataModelModule.h" // For export macro + #include "vtkDataObject.h" + +--- ../Rendering/Core/vtkColorTransferFunction.h.orig 2021-07-03 01:31:21.000000000 +1000 ++++ ../Rendering/Core/vtkColorTransferFunction.h 2021-08-22 22:40:42.364000000 +1000 +@@ -36,6 +36,7 @@ + #ifndef vtkColorTransferFunction_h + #define vtkColorTransferFunction_h + ++#include <limits> + #include "vtkRenderingCoreModule.h" // For export macro + #include "vtkScalarsToColors.h" + +--- ../Filters/HyperTree/vtkHyperTreeGridThreshold.h.orig 2021-07-03 01:31:21.000000000 +1000 ++++ ../Filters/HyperTree/vtkHyperTreeGridThreshold.h 2021-08-22 22:46:16.135000000 +1000 +@@ -40,6 +40,7 @@ + #ifndef vtkHyperTreeGridThreshold_h + #define vtkHyperTreeGridThreshold_h + ++#include <limits> + #include "vtkFiltersHyperTreeModule.h" // For export macro + #include "vtkHyperTreeGridAlgorithm.h" + diff --git a/libraries/VTK/patch-gcc10.diff b/libraries/VTK/patch-gcc10.diff deleted file mode 100644 index 507c8a7a64..0000000000 --- a/libraries/VTK/patch-gcc10.diff +++ /dev/null @@ -1,40 +0,0 @@ -From a9079bdccbb2165583d6773a5ed848427e2a38a8 Mon Sep 17 00:00:00 2001 -From: Seacas Upstream <kwrobot@kitware.com> -Date: Tue, 28 Jan 2020 09:13:38 -0500 -Subject: [PATCH] exodusII 2020-01-28 (d97eb08d) - -Code extracted from: - - https://gitlab.kitware.com/third-party/seacas.git - -at commit d97eb08d79e87c82facfae39bc75deb60c0a2d83 (for/vtk-20200128-7.24f-v2019-12-18). ---- - src/ex_create_par.c | 2 +- - src/ex_open_par.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/ex_create_par.c b/src/ex_create_par.c -index 8d5d6734f0..ef439618da 100644 ---- a/src/ex_create_par.c -+++ b/src/ex_create_par.c -@@ -216,5 +216,5 @@ int ex_create_par_int(const char *path, int cmode, int *comp_ws, int *io_ws, MPI - * Prevent warning in some versions of ranlib(1) because the object - * file has no symbols. - */ --const char exodus_unused_symbol_dummy_1; -+const char exodus_unused_symbol_dummy_ex_create_par; - #endif -diff --git a/src/ex_open_par.c b/src/ex_open_par.c -index b2faa22c29..9df4818767 100644 ---- a/src/ex_open_par.c -+++ b/src/ex_open_par.c -@@ -459,5 +459,5 @@ int ex_open_par_int(const char *path, int mode, int *comp_ws, int *io_ws, float - * Prevent warning in some versions of ranlib(1) because the object - * file has no symbols. - */ --const char exodus_unused_symbol_dummy_1; -+const char exodus_unused_symbol_dummy_ex_open_par; - #endif --- -GitLab - diff --git a/libraries/VTK/patch-gdal2.diff b/libraries/VTK/patch-gdal2.diff deleted file mode 100644 index 36c33ee14c..0000000000 --- a/libraries/VTK/patch-gdal2.diff +++ /dev/null @@ -1,31 +0,0 @@ -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/libraries/VTK/patch-proj6.diff b/libraries/VTK/patch-proj6.diff deleted file mode 100644 index 3ae71acef7..0000000000 --- a/libraries/VTK/patch-proj6.diff +++ /dev/null @@ -1,110 +0,0 @@ -diff --git a/Geovis/Core/vtkGeoProjection.cxx b/Geovis/Core/vtkGeoProjection.cxx -index f3a8852d94..824060348a 100644 ---- a/Geovis/Core/vtkGeoProjection.cxx -+++ b/Geovis/Core/vtkGeoProjection.cxx -@@ -72,6 +72,7 @@ public: - } - - std::map< std::string, std::string > OptionalParameters; -+ PJ_PROJ_INFO ProjInfo; - }; - - //----------------------------------------------------------------------------- -@@ -80,7 +83,7 @@ int vtkGeoProjection::GetNumberOfProjections() - if ( vtkGeoProjectionNumProj < 0 ) - { - vtkGeoProjectionNumProj = 0; -- for ( const PJ_LIST* pj = pj_get_list_ref(); pj && pj->id; ++ pj ) -+ for ( const PJ_LIST* pj = proj_list_operations(); pj && pj->id; ++ pj ) - ++ vtkGeoProjectionNumProj; - } - return vtkGeoProjectionNumProj; -@@ -91,7 +94,7 @@ const char* vtkGeoProjection::GetProjectionName( int projection ) - if ( projection < 0 || projection >= vtkGeoProjection::GetNumberOfProjections() ) - return nullptr; - -- return pj_get_list_ref()[projection].id; -+ return proj_list_operations()[projection].id; - } - //----------------------------------------------------------------------------- - const char* vtkGeoProjection::GetProjectionDescription( int projection ) -@@ -99,7 +102,7 @@ const char* vtkGeoProjection::GetProjectionDescription( int projection ) - if ( projection < 0 || projection >= vtkGeoProjection::GetNumberOfProjections() ) - return nullptr; - -- return pj_get_list_ref()[projection].descr[0]; -+ return proj_list_operations()[projection].descr[0]; - } - //----------------------------------------------------------------------------- - vtkGeoProjection::vtkGeoProjection() -@@ -144,7 +147,7 @@ void vtkGeoProjection::PrintSelf( ostream& os, vtkIndent indent ) - int vtkGeoProjection::GetIndex() - { - int i = 0; -- for ( const PJ_LIST* proj = pj_get_list_ref(); proj && proj->id; ++ proj, ++ i ) -+ for ( const PJ_LIST* proj = proj_list_operations(); proj && proj->id; ++ proj, ++ i ) - { - if ( ! strcmp( proj->id, this->Name ) ) - { -@@ -161,7 +164,7 @@ const char* vtkGeoProjection::GetDescription() - { - return nullptr; - } -- return this->Projection->descr; -+ return this->Internals->ProjInfo.description; - } - //----------------------------------------------------------------------------- - projPJ vtkGeoProjection::GetProjection() -@@ -232,6 +239,7 @@ int vtkGeoProjection::UpdateProjection() - this->ProjectionMTime = this->GetMTime(); - if ( this->Projection ) - { -+ this->Internals->ProjInfo = proj_pj_info(this->Projection); - return 0; - } - return 1; -diff --git a/Geovis/Core/vtkGeoTransform.cxx b/Geovis/Core/vtkGeoTransform.cxx -index aeeabc1075..b80a8c010c 100644 ---- a/Geovis/Core/vtkGeoTransform.cxx -+++ b/Geovis/Core/vtkGeoTransform.cxx -@@ -167,9 +167,9 @@ void vtkGeoTransform::InternalTransformPoints( double* x, vtkIdType numPts, int - double* coord = x; - for ( vtkIdType i = 0; i < numPts; ++ i ) - { -- xy.u = coord[0]; xy.v = coord[1]; -+ xy.x = coord[0]; xy.y = coord[1]; - lp = pj_inv( xy, src ); -- coord[0] = lp.u; coord[1] = lp.v; -+ coord[0] = lp.lam; coord[1] = lp.phi; - coord += stride; - } - } -@@ -191,9 +199,9 @@ void vtkGeoTransform::InternalTransformPoints( double* x, vtkIdType numPts, int - double* coord = x; - for ( vtkIdType i = 0; i < numPts; ++ i ) - { -- lp.u = coord[0]; lp.v = coord[1]; -+ lp.lam = coord[0]; lp.phi = coord[1]; - xy = pj_fwd( lp, dst ); -- coord[0] = xy.u; coord[1] = xy.v; -+ coord[0] = xy.x; coord[1] = xy.y; - coord += stride; - } - } -diff --git a/ThirdParty/libproj/vtk_libproj.h.in b/ThirdParty/libproj/vtk_libproj.h.in -index d52db07a95..4d8ffc3c5d 100644 ---- a/ThirdParty/libproj/vtk_libproj.h.in -+++ b/ThirdParty/libproj/vtk_libproj.h.in -@@ -18,7 +18,8 @@ - /* Use the libproj library configured for VTK. */ - #cmakedefine VTK_USE_SYSTEM_LIBPROJ - #ifdef VTK_USE_SYSTEM_LIBPROJ --# include <projects.h> -+# include <proj.h> -+# define ACCEPT_USE_OF_DEPRECATED_PROJ_API_H 1 - # include <proj_api.h> - # include <geodesic.h> - #else --- -2.21.0 - |