diff --git a/.gitignore b/.gitignore index 78f4f9d..1b38a81 100644 --- a/.gitignore +++ b/.gitignore @@ -47,3 +47,7 @@ vtk-5.6.0.tar.gz /VTKData-9.5.2.tar.gz /VTK-9.6.0.tar.gz /VTKData-9.6.0.tar.gz +/VTK-9.6.1.tar.gz +/VTKData-9.6.1.tar.gz +/VTK-9.6.2.tar.gz +/VTKData-9.6.2.tar.gz diff --git a/packit.yaml b/packit.yaml new file mode 100644 index 0000000..bb0073b --- /dev/null +++ b/packit.yaml @@ -0,0 +1,16 @@ +# See the documentation for more information: +# https://packit.dev/docs/configuration/ + +jobs: + - job: pull_from_upstream + trigger: release + dist_git_branches: + - fedora-rawhide + - job: koji_build + trigger: commit + dist_git_branches: + - fedora-rawhide + - job: bodhi_update + trigger: commit + dist_git_branches: + - fedora-rawhide diff --git a/sources b/sources index 9514ffd..7db9ab2 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (VTK-9.6.0.tar.gz) = 1693df8647338c5f67bdad301d02eae7a098955f96a39e2274aee5b204474b66d706d17265aaedc206d4e7635b9874e4fa66dd7d60b150a17c0e327f1c25cf3f -SHA512 (VTKData-9.6.0.tar.gz) = 3ac6355f441263efa870e2b6b40e6932e2d2f2af54cb0fcdc1d1e4f5e605d781fd0678a646b2e8d91ead6d9dda6b8b04122d3689dd1f48f219eecdf602344444 +SHA512 (VTK-9.6.2.tar.gz) = 1a8d6c89ab03961f59181b12d06d9baca09445485e1cb5ac78a81ec4a2f9d8a25e87d6112f932d856782d0fcab23880295a95fd38e7f9b0b9592138fb2e2e671 +SHA512 (VTKData-9.6.2.tar.gz) = f8cb1332a70a26f79eee65b0a5e8863337b6f53e81f93cf1a536e8cce2b52a69871da7fc4776de7ed1c476825ca3ad3fb85a4982bb8876faad98d72bbb3e6a8a diff --git a/vtk-CVE-2025-34297.patch b/vtk-CVE-2025-34297.patch new file mode 100644 index 0000000..2a1aa5d --- /dev/null +++ b/vtk-CVE-2025-34297.patch @@ -0,0 +1,23 @@ +diff -up VTK-9.6.0/ThirdParty/kissfft/vtkkissfft/kiss_fft.c.CVE-2025-34297 VTK-9.6.0/ThirdParty/kissfft/vtkkissfft/kiss_fft.c +--- VTK-9.6.0/ThirdParty/kissfft/vtkkissfft/kiss_fft.c.CVE-2025-34297 2026-02-10 20:19:44.000000000 -0700 ++++ VTK-9.6.0/ThirdParty/kissfft/vtkkissfft/kiss_fft.c 2026-03-16 19:49:43.257246266 -0600 +@@ -6,7 +6,7 @@ + * See COPYING file for more information. + */ + +- ++#include + #include "_kiss_fft_guts.h" + /* The guts header contains all the multiplication and addition macros that are defined for + fixed or floating point complex numbers. It also delares the kf_ internal functions. +@@ -333,6 +333,10 @@ void kf_factor(int n,int * facbuf) + kiss_fft_cfg kiss_fft_alloc(int nfft,int inverse_fft,void * mem,size_t * lenmem ) + { + kiss_fft_cfg st=NULL; ++ // check for overflow condition {memneeded > SIZE_MAX}. ++ if (nfft >= (SIZE_MAX - 2*sizeof(struct kiss_fft_state))/sizeof(kiss_fft_cpx)) ++ return NULL; ++ + size_t memneeded = sizeof(struct kiss_fft_state) + + sizeof(kiss_fft_cpx)*(nfft-1); /* twiddle factors*/ + diff --git a/vtk-gdal313.patch b/vtk-gdal313.patch new file mode 100644 index 0000000..097cf2e --- /dev/null +++ b/vtk-gdal313.patch @@ -0,0 +1,21 @@ +diff -rupN VTK-9.6.2/IO/GDAL/vtkGDALRasterReader.cxx VTK-9.6.2-new/IO/GDAL/vtkGDALRasterReader.cxx +--- VTK-9.6.2/IO/GDAL/vtkGDALRasterReader.cxx 2026-05-18 21:46:56.000000000 +0200 ++++ VTK-9.6.2-new/IO/GDAL/vtkGDALRasterReader.cxx 2026-06-19 18:08:21.049063630 +0200 +@@ -182,7 +182,7 @@ void vtkGDALRasterReader::vtkGDALRasterR + this->Reader->DriverShortName = GDALGetDriverShortName(driver); + this->Reader->DriverLongName = GDALGetDriverLongName(driver); + +- char** papszMetaData = GDALGetMetadata(this->GDALData, nullptr); ++ CSLConstList papszMetaData = GDALGetMetadata(this->GDALData, nullptr); + if (CSLCount(papszMetaData) > 0) + { + for (int i = 0; papszMetaData[i] != nullptr; ++i) +@@ -882,7 +882,7 @@ std::vector vtkGDALRasterRe + { + std::vector domainMetaData; + +- char** papszMetadata = GDALGetMetadata(this->Impl->GDALData, domain.c_str()); ++ CSLConstList papszMetadata = GDALGetMetadata(this->Impl->GDALData, domain.c_str()); + + if (CSLCount(papszMetadata) > 0) + { diff --git a/vtk.spec b/vtk.spec index ae4c0fa..186ff6e 100644 --- a/vtk.spec +++ b/vtk.spec @@ -76,7 +76,7 @@ Summary: The Visualization Toolkit - A high level 3D visualization library Name: vtk -Version: 9.6.0%{?rc:~%{rc}} +Version: 9.6.2%{?rc:~%{rc}} Release: %autorelease License: BSD-3-Clause %global srcver %{lua:local ver = rpm.expand('%version');ver = ver:gsub('~','.');print(ver)} @@ -89,6 +89,10 @@ Patch: vtk-libharu.patch # https://gitlab.kitware.com/vtk/vtk/-/issues/19622 # https://bugzilla.redhat.com/show_bug.cgi?id=2386242 Patch: vtk-ppc64-no-always-inline.patch +# Fix Integer Overflow on 32-bit in KissFFT +Patch: vtk-CVE-2025-34297.patch +# Fix build against GDAL 3.13+ +Patch: vtk-gdal313.patch URL: https://vtk.org/ @@ -116,7 +120,12 @@ BuildRequires: cli11-devel BuildRequires: eigen3-devel BuildRequires: expat-devel BuildRequires: fast_float-devel -BuildRequires: ffmpeg-free-devel +# FFMPEG libaries +BuildRequires: pkgconfig(libavcodec) +BuildRequires: pkgconfig(libavformat) +BuildRequires: pkgconfig(libavutil) +BuildRequires: pkgconfig(libswresample) +BuildRequires: pkgconfig(libswscale) %if %{with fmt} BuildRequires: fmt-devel >= 8.1.0 %endif @@ -228,7 +237,12 @@ Requires: eigen3-static \ Requires: expat-devel%{?_isa} \ # fast_float is noarch and header-only \ Requires: fast_float-devel \ -Requires: ffmpeg-free-devel%{?_isa} \ +# FFMPEG libraries \ +Requires: pkgconfig(libavcodec) \ +Requires: pkgconfig(libavformat) \ +Requires: pkgconfig(libavutil) \ +Requires: pkgconfig(libswresample) \ +Requires: pkgconfig(libswscale) \ %if %{with fmt} \ Requires: fmt-devel%{?_isa} \ %endif \ @@ -735,8 +749,10 @@ export JAVA_TOOL_OPTIONS=-Xmx2048m %endif +# Defined HDF5_IS_PARALLEL due to https://gitlab.kitware.com/vtk/vtk/-/work_items/20014 %cmake \ %{vtk_cmake_options} \ + -DHDF5_IS_PARALLEL:BOOL=OFF \ -DVTK_BUILD_DOCUMENTATION:BOOL=ON \ -DVTK_BUILD_EXAMPLES:BOOL=ON \ -DVTK_BUILD_TESTING:BOOL=ON @@ -757,6 +773,7 @@ do -DCMAKE_INSTALL_PREFIX:PATH=$MPI_HOME \ -DCMAKE_INSTALL_LIBDIR:PATH=lib \ -DCMAKE_INSTALL_JNILIBDIR:PATH=lib/%{name} \ + -DHDF5_IS_PARALLEL:BOOL=ON \ -DVTK_MODULE_ENABLE_VTK_ParallelMPI=WANT \ -DVTK_MODULE_ENABLE_VTK_mpi=WANT \ -DVTK_MODULE_ENABLE_VTK_RenderingParallelLIC=WANT \