diff options
Diffstat (limited to 'sci-libs/vtk/files')
-rw-r--r-- | sci-libs/vtk/files/vtk-8.1.0-openmpi-4-compatibility.patch | 14 | ||||
-rw-r--r-- | sci-libs/vtk/files/vtk-8.2.0-0001-fix-library-installation-dir-for-xdmf3.patch | 57 | ||||
-rw-r--r-- | sci-libs/vtk/files/vtk-8.2.0-fno-common.patch | 40 | ||||
-rw-r--r-- | sci-libs/vtk/files/vtk-8.2.0-gcc-10.patch | 16 | ||||
-rw-r--r-- | sci-libs/vtk/files/vtk-8.2.0-pugixml.patch | 12 | ||||
-rw-r--r-- | sci-libs/vtk/files/vtk-8.2.0-py38.patch | 175 | ||||
-rw-r--r-- | sci-libs/vtk/files/vtk-8.2.0-qt-5.15.patch | 37 | ||||
-rw-r--r-- | sci-libs/vtk/files/vtk-9.0.3-IO-FFMPEG-support-FFmpeg-5.0-API-changes.patch | 141 |
8 files changed, 141 insertions, 351 deletions
diff --git a/sci-libs/vtk/files/vtk-8.1.0-openmpi-4-compatibility.patch b/sci-libs/vtk/files/vtk-8.1.0-openmpi-4-compatibility.patch deleted file mode 100644 index 267c1d91b0cb..000000000000 --- a/sci-libs/vtk/files/vtk-8.1.0-openmpi-4-compatibility.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/ThirdParty/mpi4py/vtkmpi4py/src/lib-mpi/config/openmpi.h b/ThirdParty/mpi4py/vtkmpi4py/src/lib-mpi/config/openmpi.h -index 3173831..e8ee74b 100644 ---- a/ThirdParty/mpi4py/vtkmpi4py/src/lib-mpi/config/openmpi.h -+++ b/ThirdParty/mpi4py/vtkmpi4py/src/lib-mpi/config/openmpi.h -@@ -141,4 +141,9 @@ - - #endif - -+ #if OMPI_NUMVERSION >= 40000 -+ #undef PyMPI_HAVE_MPI_LB -+ #undef PyMPI_HAVE_MPI_UB -+ #endif /* OMPI >= 4.0.0 */ -+ - #endif /* !PyMPI_CONFIG_OPENMPI_H */ diff --git a/sci-libs/vtk/files/vtk-8.2.0-0001-fix-library-installation-dir-for-xdmf3.patch b/sci-libs/vtk/files/vtk-8.2.0-0001-fix-library-installation-dir-for-xdmf3.patch deleted file mode 100644 index d03cab326f4f..000000000000 --- a/sci-libs/vtk/files/vtk-8.2.0-0001-fix-library-installation-dir-for-xdmf3.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 3aad9ec6004b7e3a82817f2f1e2840fc5f07c050 Mon Sep 17 00:00:00 2001 -From: Bernd Waibel <waebbl-gentoo@posteo.net> -Date: Thu, 3 Jun 2021 13:13:38 +0200 -Subject: [PATCH] fix library installation dir for xdmf3 - -Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net> ---- - ThirdParty/xdmf3/vtkxdmf3/core/CMakeLists.txt | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -diff --git a/ThirdParty/xdmf3/vtkxdmf3/core/CMakeLists.txt b/ThirdParty/xdmf3/vtkxdmf3/core/CMakeLists.txt -index 86d688f8..7d009dfe 100644 ---- a/ThirdParty/xdmf3/vtkxdmf3/core/CMakeLists.txt -+++ b/ThirdParty/xdmf3/vtkxdmf3/core/CMakeLists.txt -@@ -269,10 +269,10 @@ endif() - - if(UNIX) - if (BUILD_SHARED_LIBS) -- set(XDMFCORE_LIBRARY ${CMAKE_INSTALL_PREFIX}/lib/libXdmfCore.so -+ set(XDMFCORE_LIBRARY ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/libXdmfCore.so - PARENT_SCOPE) - else() -- set(XDMFCORE_LIBRARY ${CMAKE_INSTALL_PREFIX}/lib/libXdmfCore.a -+ set(XDMFCORE_LIBRARY ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/libXdmfCore.a - PARENT_SCOPE) - endif() - endif() -@@ -297,13 +297,13 @@ if (NOT XDMF_INSTALL_NO_DEVELOPMENT) - endif() - install(TARGETS XdmfCore - RUNTIME DESTINATION bin -- LIBRARY DESTINATION lib -- ARCHIVE DESTINATION lib) -+ LIBRARY DESTINATION lib${LIB_SUFFIX} -+ ARCHIVE DESTINATION lib${LIB_SUFFIX}) - if (XDMF_STATIC_AND_SHARED AND BUILD_SHARED_LIBS) - install(TARGETS XdmfCore_Static - RUNTIME DESTINATION bin -- LIBRARY DESTINATION lib -- ARCHIVE DESTINATION lib) -+ LIBRARY DESTINATION lib${LIB_SUFFIX} -+ ARCHIVE DESTINATION lib${LIB_SUFFIX}) - endif () - - if (Boost_FOUND) -@@ -329,7 +329,7 @@ set(XdmfCore_INCLUDE_DIRS - CACHE INTERNAL "") - - set(XDMF_INCLUDE_DIRS ${CMAKE_INSTALL_PREFIX}/include PARENT_SCOPE) --set(XDMF_LIBRARIES ${XDMF_LIBRARIES} ${CMAKE_INSTALL_PREFIX}/lib) -+set(XDMF_LIBRARIES ${XDMF_LIBRARIES} ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}) - set(XDMF_DIR ${CMAKE_INSTALL_PREFIX} PARENT_SCOPE) - set(XDMF_BINARIES ${XDMF_BINARIES} ${CMAKE_INSTALL_PREFIX}/bin) - --- -2.31.1 - diff --git a/sci-libs/vtk/files/vtk-8.2.0-fno-common.patch b/sci-libs/vtk/files/vtk-8.2.0-fno-common.patch deleted file mode 100644 index d7268ef7566b..000000000000 --- a/sci-libs/vtk/files/vtk-8.2.0-fno-common.patch +++ /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). ---- - ThirdParty/exodusII/vtkexodusII/src/ex_create_par.c | 2 +- - ThirdParty/exodusII/vtkexodusII/src/ex_open_par.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/ThirdParty/exodusII/vtkexodusII/src/ex_create_par.c b/ThirdParty/exodusII/vtkexodusII/src/ex_create_par.c -index 8d5d6734f0..ef439618da 100644 ---- a/ThirdParty/exodusII/vtkexodusII/src/ex_create_par.c -+++ b/ThirdParty/exodusII/vtkexodusII/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/ThirdParty/exodusII/vtkexodusII/src/ex_open_par.c b/ThirdParty/exodusII/vtkexodusII/src/ex_open_par.c -index b2faa22c29..9df4818767 100644 ---- a/ThirdParty/exodusII/vtkexodusII/src/ex_open_par.c -+++ b/ThirdParty/exodusII/vtkexodusII/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 --- -2.26.2 - diff --git a/sci-libs/vtk/files/vtk-8.2.0-gcc-10.patch b/sci-libs/vtk/files/vtk-8.2.0-gcc-10.patch deleted file mode 100644 index a903b0375304..000000000000 --- a/sci-libs/vtk/files/vtk-8.2.0-gcc-10.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- a/CMake/VTKGenerateExportHeader.cmake 2020-05-24 14:33:12.154603698 -0600 -+++ b/CMake/VTKGenerateExportHeader.cmake 2020-05-24 14:33:34.864603776 -0600 -@@ -174,8 +174,12 @@ - execute_process(COMMAND ${CMAKE_C_COMPILER} --version - OUTPUT_VARIABLE _gcc_version_info - ERROR_VARIABLE _gcc_version_info) -- string(REGEX MATCH "[3-9]\\.[0-9]\\.[0-9]*" -+ string(REGEX MATCH "[1-9][0-9]\\.[0-9]\\.[0-9]*" - _gcc_version "${_gcc_version_info}") -+ if(NOT _gcc_version) -+ string(REGEX MATCH "[3-9]\\.[0-9]\\.[0-9]*" -+ _gcc_version "${_gcc_version_info}") -+ endif() - # gcc on mac just reports: "gcc (GCC) 3.3 20030304 ..." without the - # patch level, handle this here: - if(NOT _gcc_version)
\ No newline at end of file diff --git a/sci-libs/vtk/files/vtk-8.2.0-pugixml.patch b/sci-libs/vtk/files/vtk-8.2.0-pugixml.patch deleted file mode 100644 index d890f696388d..000000000000 --- a/sci-libs/vtk/files/vtk-8.2.0-pugixml.patch +++ /dev/null @@ -1,12 +0,0 @@ -https://bugs.gentoo.org/758611 ---- a/IO/CityGML/CMakeLists.txt -+++ b/IO/CityGML/CMakeLists.txt -@@ -5,7 +5,4 @@ vtk_module_library(vtkIOCityGML ${Module_SRCS}) - if(VTK_USE_SYSTEM_PUGIXML AND NOT pugixml_INCLUDE_DIRS) - find_package(pugixml REQUIRED) -- get_target_property(pugixml_INCLUDE_DIRS pugixml INTERFACE_INCLUDE_DIRECTORIES) -- get_target_property(pugixml_LIBRARIES pugixml LOCATION) -- include_directories(${pugixml_INCLUDE_DIRS}) -- vtk_module_link_libraries(vtkIOCityGML LINK_PRIVATE ${pugixml_LIBRARIES}) -+ vtk_module_link_libraries(vtkIOCityGML LINK_PRIVATE pugixml::pugixml) - endif() diff --git a/sci-libs/vtk/files/vtk-8.2.0-py38.patch b/sci-libs/vtk/files/vtk-8.2.0-py38.patch deleted file mode 100644 index c4c235dafd3f..000000000000 --- a/sci-libs/vtk/files/vtk-8.2.0-py38.patch +++ /dev/null @@ -1,175 +0,0 @@ -From 257b9d7b18d5f3db3fe099dc18f230e23f7dfbab Mon Sep 17 00:00:00 2001 -From: David Gobbi <david.gobbi@gmail.com> -Date: Tue, 20 Aug 2019 17:02:24 -0600 -Subject: [PATCH] Compatibility for Python 3.8 - -The PyTypeObject struct was modified in Python 3.8, this change is -required to avoid compile errors. ---- - .../PythonInterpreter/vtkPythonStdStreamCaptureHelper.h | 6 ++++++ - Wrapping/PythonCore/PyVTKMethodDescriptor.cxx | 2 +- - Wrapping/PythonCore/PyVTKNamespace.cxx | 2 +- - Wrapping/PythonCore/PyVTKReference.cxx | 8 ++++---- - Wrapping/PythonCore/PyVTKTemplate.cxx | 2 +- - Wrapping/PythonCore/vtkPythonCompatibility.h | 8 +++++++- - Wrapping/Tools/vtkWrapPythonClass.c | 2 +- - Wrapping/Tools/vtkWrapPythonEnum.c | 2 +- - Wrapping/Tools/vtkWrapPythonType.c | 2 +- - 9 files changed, 23 insertions(+), 11 deletions(-) - -diff --git a/Utilities/PythonInterpreter/vtkPythonStdStreamCaptureHelper.h b/Utilities/PythonInterpreter/vtkPythonStdStreamCaptureHelper.h -index b1c12c83de..14ccfbe928 100644 ---- a/Utilities/PythonInterpreter/vtkPythonStdStreamCaptureHelper.h -+++ b/Utilities/PythonInterpreter/vtkPythonStdStreamCaptureHelper.h -@@ -140,6 +140,12 @@ static PyTypeObject vtkPythonStdStreamCaptureHelperType = { - #if PY_VERSION_HEX >= 0x03040000 - 0, // tp_finalize - #endif -+#if PY_VERSION_HEX >= 0x03080000 -+ 0, // tp_vectorcall -+#if PY_VERSION_HEX < 0x03090000 -+ 0, // tp_print -+#endif -+#endif - }; - - static PyObject* vtkWrite(PyObject* self, PyObject* args) -diff --git a/Wrapping/PythonCore/PyVTKMethodDescriptor.cxx b/Wrapping/PythonCore/PyVTKMethodDescriptor.cxx -index 2b0d443537..3840038498 100644 ---- a/Wrapping/PythonCore/PyVTKMethodDescriptor.cxx -+++ b/Wrapping/PythonCore/PyVTKMethodDescriptor.cxx -@@ -186,7 +186,7 @@ PyTypeObject PyVTKMethodDescriptor_Type = { - sizeof(PyMethodDescrObject), // tp_basicsize - 0, // tp_itemsize - PyVTKMethodDescriptor_Delete, // tp_dealloc -- nullptr, // tp_print -+ 0, // tp_vectorcall_offset - nullptr, // tp_getattr - nullptr, // tp_setattr - nullptr, // tp_compare -diff --git a/Wrapping/PythonCore/PyVTKNamespace.cxx b/Wrapping/PythonCore/PyVTKNamespace.cxx -index 71ee2a3516..5cf5bfbe6b 100644 ---- a/Wrapping/PythonCore/PyVTKNamespace.cxx -+++ b/Wrapping/PythonCore/PyVTKNamespace.cxx -@@ -49,7 +49,7 @@ PyTypeObject PyVTKNamespace_Type = { - 0, // tp_basicsize - 0, // tp_itemsize - PyVTKNamespace_Delete, // tp_dealloc -- nullptr, // tp_print -+ 0, // tp_vectorcall_offset - nullptr, // tp_getattr - nullptr, // tp_setattr - nullptr, // tp_compare -diff --git a/Wrapping/PythonCore/PyVTKReference.cxx b/Wrapping/PythonCore/PyVTKReference.cxx -index 943ac71080..b7104091c0 100644 ---- a/Wrapping/PythonCore/PyVTKReference.cxx -+++ b/Wrapping/PythonCore/PyVTKReference.cxx -@@ -1010,7 +1010,7 @@ PyTypeObject PyVTKReference_Type = { - sizeof(PyVTKReference), // tp_basicsize - 0, // tp_itemsize - PyVTKReference_Delete, // tp_dealloc -- nullptr, // tp_print -+ 0, // tp_vectorcall_offset - nullptr, // tp_getattr - nullptr, // tp_setattr - nullptr, // tp_compare -@@ -1067,7 +1067,7 @@ PyTypeObject PyVTKNumberReference_Type = { - sizeof(PyVTKReference), // tp_basicsize - 0, // tp_itemsize - PyVTKReference_Delete, // tp_dealloc -- nullptr, // tp_print -+ 0, // tp_vectorcall_offset - nullptr, // tp_getattr - nullptr, // tp_setattr - nullptr, // tp_compare -@@ -1124,7 +1124,7 @@ PyTypeObject PyVTKStringReference_Type = { - sizeof(PyVTKReference), // tp_basicsize - 0, // tp_itemsize - PyVTKReference_Delete, // tp_dealloc -- nullptr, // tp_print -+ 0, // tp_vectorcall_offset - nullptr, // tp_getattr - nullptr, // tp_setattr - nullptr, // tp_compare -@@ -1181,7 +1181,7 @@ PyTypeObject PyVTKTupleReference_Type = { - sizeof(PyVTKReference), // tp_basicsize - 0, // tp_itemsize - PyVTKReference_Delete, // tp_dealloc -- nullptr, // tp_print -+ 0, // tp_vectorcall_offset - nullptr, // tp_getattr - nullptr, // tp_setattr - nullptr, // tp_compare -diff --git a/Wrapping/PythonCore/PyVTKTemplate.cxx b/Wrapping/PythonCore/PyVTKTemplate.cxx -index be200985b3..340fe7953b 100644 ---- a/Wrapping/PythonCore/PyVTKTemplate.cxx -+++ b/Wrapping/PythonCore/PyVTKTemplate.cxx -@@ -268,7 +268,7 @@ PyTypeObject PyVTKTemplate_Type = { - 0, // tp_basicsize - 0, // tp_itemsize - nullptr, // tp_dealloc -- nullptr, // tp_print -+ 0, // tp_vectorcall_offset - nullptr, // tp_getattr - nullptr, // tp_setattr - nullptr, // tp_compare -diff --git a/Wrapping/PythonCore/vtkPythonCompatibility.h b/Wrapping/PythonCore/vtkPythonCompatibility.h -index 4a767844a6..be208faeef 100644 ---- a/Wrapping/PythonCore/vtkPythonCompatibility.h -+++ b/Wrapping/PythonCore/vtkPythonCompatibility.h -@@ -64,7 +64,13 @@ - #endif - - // PyTypeObject compatibility --#if PY_VERSION_HEX >= 0x03040000 -+#if PY_VERSION_HEX >= 0x03090000 -+#define VTK_WRAP_PYTHON_SUPPRESS_UNINITIALIZED \ -+ 0, 0, 0, 0, -+#elif PY_VERSION_HEX >= 0x03080000 -+#define VTK_WRAP_PYTHON_SUPPRESS_UNINITIALIZED \ -+ 0, 0, 0, 0, 0, -+#elif PY_VERSION_HEX >= 0x03040000 - #define VTK_WRAP_PYTHON_SUPPRESS_UNINITIALIZED \ - 0, 0, 0, - #else -diff --git a/Wrapping/Tools/vtkWrapPythonClass.c b/Wrapping/Tools/vtkWrapPythonClass.c -index b1e45f8e80..4d558ea081 100644 ---- a/Wrapping/Tools/vtkWrapPythonClass.c -+++ b/Wrapping/Tools/vtkWrapPythonClass.c -@@ -521,7 +521,7 @@ void vtkWrapPython_GenerateObjectType( - " sizeof(PyVTKObject), // tp_basicsize\n" - " 0, // tp_itemsize\n" - " PyVTKObject_Delete, // tp_dealloc\n" -- " nullptr, // tp_print\n" -+ " 0, // tp_vectorcall_offset\n" - " nullptr, // tp_getattr\n" - " nullptr, // tp_setattr\n" - " nullptr, // tp_compare\n" -diff --git a/Wrapping/Tools/vtkWrapPythonEnum.c b/Wrapping/Tools/vtkWrapPythonEnum.c -index b933702242..1249362854 100644 ---- a/Wrapping/Tools/vtkWrapPythonEnum.c -+++ b/Wrapping/Tools/vtkWrapPythonEnum.c -@@ -145,7 +145,7 @@ void vtkWrapPython_GenerateEnumType( - " sizeof(PyIntObject), // tp_basicsize\n" - " 0, // tp_itemsize\n" - " nullptr, // tp_dealloc\n" -- " nullptr, // tp_print\n" -+ " 0, // tp_vectorcall_offset\n" - " nullptr, // tp_getattr\n" - " nullptr, // tp_setattr\n" - " nullptr, // tp_compare\n" -diff --git a/Wrapping/Tools/vtkWrapPythonType.c b/Wrapping/Tools/vtkWrapPythonType.c -index 744cb1b9d3..0a1375e541 100644 ---- a/Wrapping/Tools/vtkWrapPythonType.c -+++ b/Wrapping/Tools/vtkWrapPythonType.c -@@ -709,7 +709,7 @@ void vtkWrapPython_GenerateSpecialType( - " sizeof(PyVTKSpecialObject), // tp_basicsize\n" - " 0, // tp_itemsize\n" - " Py%s_Delete, // tp_dealloc\n" -- " nullptr, // tp_print\n" -+ " 0, // tp_vectorcall_offset\n" - " nullptr, // tp_getattr\n" - " nullptr, // tp_setattr\n" - " nullptr, // tp_compare\n" --- -2.21.0 diff --git a/sci-libs/vtk/files/vtk-8.2.0-qt-5.15.patch b/sci-libs/vtk/files/vtk-8.2.0-qt-5.15.patch deleted file mode 100644 index d5a02ca75929..000000000000 --- a/sci-libs/vtk/files/vtk-8.2.0-qt-5.15.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 797f28697d5ba50c1fa2bc5596af626a3c277826 Mon Sep 17 00:00:00 2001 -From: "Andrew J. P. Maclean" <andrew.amaclean@gmail.com> -Date: Wed, 27 May 2020 15:27:15 +1000 -Subject: [PATCH] Qt 5.15 needs the include file QPainterPath - ---- - Rendering/Qt/vtkQtLabelRenderStrategy.cxx | 1 + - Rendering/Qt/vtkQtStringToImage.cxx | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/Rendering/Qt/vtkQtLabelRenderStrategy.cxx b/Rendering/Qt/vtkQtLabelRenderStrategy.cxx -index afda585cca..eca65c64cd 100644 ---- a/Rendering/Qt/vtkQtLabelRenderStrategy.cxx -+++ b/Rendering/Qt/vtkQtLabelRenderStrategy.cxx -@@ -41,6 +41,7 @@ - #include <QImage> - #include <QMap> - #include <QPainter> -+#include <QPainterPath> - #include <QPair> - #include <QPixmap> - #include <QTextDocument> -diff --git a/Rendering/Qt/vtkQtStringToImage.cxx b/Rendering/Qt/vtkQtStringToImage.cxx -index 659c71570e..fbb9b78f05 100644 ---- a/Rendering/Qt/vtkQtStringToImage.cxx -+++ b/Rendering/Qt/vtkQtStringToImage.cxx -@@ -30,6 +30,7 @@ - #include <QFontMetrics> - #include <QImage> - #include <QPainter> -+#include <QPainterPath> - #include <QPixmap> - #include <QString> - #include <QTextDocument> --- -2.26.2 - diff --git a/sci-libs/vtk/files/vtk-9.0.3-IO-FFMPEG-support-FFmpeg-5.0-API-changes.patch b/sci-libs/vtk/files/vtk-9.0.3-IO-FFMPEG-support-FFmpeg-5.0-API-changes.patch new file mode 100644 index 000000000000..276831d8491e --- /dev/null +++ b/sci-libs/vtk/files/vtk-9.0.3-IO-FFMPEG-support-FFmpeg-5.0-API-changes.patch @@ -0,0 +1,141 @@ +From https://gitlab.kitware.com/ben.boeckel/vtk/-/commit/bad8f3e9d0aad03e8f2aff9524cb3c5f2d10ccaf +From: Ben Boeckel <ben.boeckel@kitware.com> +Date: Fri, 28 Jan 2022 10:44:28 -0500 +Subject: [PATCH] IO/FFMPEG: support FFmpeg 5.0 API changes + +Fixes: #18445 +--- /dev/null ++++ b/Documentation/release/dev/ffmpeg-5.0.md +@@ -0,0 +1,3 @@ ++## FFmpeg 5.0 support ++ ++FFmpeg 5.0 API changes are now supported. +--- a/IO/FFMPEG/CMakeLists.txt ++++ b/IO/FFMPEG/CMakeLists.txt +@@ -6,7 +6,9 @@ vtk_module_find_package( + avformat + avcodec + avutil +- swscale) ++ swscale ++ OPTIONAL_COMPONENTS ++ swresample) + + set(classes + vtkFFMPEGWriter) +@@ -21,6 +23,17 @@ if (NOT FFMPEG_VERSION VERSION_LESS "3.1") + vtkFFMPEGVideoSource) + endif () + ++set(ffmpeg_libraries) ++if (NOT FFMPEG_VERSION VERSION_LESS "5.0") ++ if (NOT FFMPEG_swresample_FOUND) ++ message(FATAL_ERROR ++ "FFMPEG 5.0 requires the `swresample` library.") ++ endif () ++ ++ list(APPEND ffmpeg_libraries ++ FFMPEG::swresample) ++endif () ++ + vtk_module_add_module(VTK::IOFFMPEG + CLASSES ${classes}) + vtk_module_link(VTK::IOFFMPEG +@@ -28,4 +41,5 @@ vtk_module_link(VTK::IOFFMPEG + FFMPEG::avformat + FFMPEG::avcodec + FFMPEG::avutil +- FFMPEG::swscale) ++ FFMPEG::swscale ++ ${ffmpeg_libraries}) +--- a/IO/FFMPEG/vtkFFMPEGVideoSource.cxx ++++ b/IO/FFMPEG/vtkFFMPEGVideoSource.cxx +@@ -205,7 +205,7 @@ void vtkFFMPEGVideoSource::Initialize() + + this->Internal->VideoStream = fcontext->streams[this->Internal->VideoStreamIndex]; + +- AVCodec* dec = avcodec_find_decoder(this->Internal->VideoStream->codecpar->codec_id); ++ const AVCodec* dec = avcodec_find_decoder(this->Internal->VideoStream->codecpar->codec_id); + if (!dec) + { + vtkErrorMacro("Failed to find codec for video"); +@@ -271,7 +271,7 @@ void vtkFFMPEGVideoSource::Initialize() + { + this->Internal->AudioStream = fcontext->streams[this->Internal->AudioStreamIndex]; + +- AVCodec* adec = avcodec_find_decoder(this->Internal->AudioStream->codecpar->codec_id); ++ const AVCodec* adec = avcodec_find_decoder(this->Internal->AudioStream->codecpar->codec_id); + if (!adec) + { + vtkErrorMacro("Failed to find codec for audio"); +--- a/IO/FFMPEG/vtkFFMPEGWriter.cxx ++++ b/IO/FFMPEG/vtkFFMPEGWriter.cxx +@@ -21,10 +21,17 @@ + + extern "C" + { ++#include <libavcodec/avcodec.h> + #include <libavformat/avformat.h> + #include <libswscale/swscale.h> + } + ++#if LIBAVFORMAT_VERSION_MAJOR < 59 ++#define vtk_ff_const59 ++#else ++#define vtk_ff_const59 const ++#endif ++ + #if defined(LIBAVFORMAT_VERSION_MAJOR) && LIBAVFORMAT_VERSION_MAJOR >= 57 + extern "C" + { +@@ -51,7 +58,7 @@ private: + + AVFormatContext* avFormatContext; + +- AVOutputFormat* avOutputFormat; ++ vtk_ff_const59 AVOutputFormat* avOutputFormat; + + AVStream* avStream; + +@@ -115,15 +122,9 @@ int vtkFFMPEGWriterInternal::Start() + return 0; + } + +- if (this->Writer->GetCompression()) +- { +- // choose a codec that is easily playable on windows +- this->avOutputFormat->video_codec = AV_CODEC_ID_MJPEG; +- } +- else +- { +- this->avOutputFormat->video_codec = AV_CODEC_ID_RAWVIDEO; +- } ++ enum AVCodecID video_codec = this->Writer->GetCompression() ++ ? AV_CODEC_ID_MJPEG // choose a codec that is easily playable on windows ++ : AV_CODEC_ID_RAWVIDEO; + + // create the format context that wraps all of the media output structures + if (avformat_alloc_output_context2( +@@ -133,8 +134,8 @@ int vtkFFMPEGWriterInternal::Start() + return 0; + } + +- AVCodec* codec; +- if (!(codec = avcodec_find_encoder(this->avOutputFormat->video_codec))) ++ vtk_ff_const59 AVCodec* codec; ++ if (!(codec = avcodec_find_encoder(video_codec))) + { + vtkGenericWarningMacro(<< "Failed to get video codec."); + return 0; +@@ -155,7 +156,7 @@ int vtkFFMPEGWriterInternal::Start() + return 0; + } + +- this->avStream->codecpar->codec_id = static_cast<AVCodecID>(this->avOutputFormat->video_codec); ++ this->avStream->codecpar->codec_id = video_codec; + this->avStream->codecpar->codec_type = AVMEDIA_TYPE_VIDEO; + this->avStream->codecpar->width = this->Dim[0]; + this->avStream->codecpar->height = this->Dim[1]; +-- +2.35.1 + |