[arch-commits] Commit in vtk/trunk (PKGBUILD ffmpeg5.patch)
Bruno Pagani
archange at gemini.archlinux.org
Sat Mar 19 20:29:27 UTC 2022
Date: Saturday, March 19, 2022 @ 20:29:26
Author: archange
Revision: 1161815
Use system cl11, take ffmpeg5 patch upstream
Modified:
vtk/trunk/PKGBUILD
Deleted:
vtk/trunk/ffmpeg5.patch
---------------+
PKGBUILD | 23 +++-----
ffmpeg5.patch | 158 --------------------------------------------------------
2 files changed, 11 insertions(+), 170 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2022-03-19 18:58:10 UTC (rev 1161814)
+++ PKGBUILD 2022-03-19 20:29:26 UTC (rev 1161815)
@@ -7,7 +7,7 @@
pkgname=vtk
pkgver=9.1.0
-pkgrel=11
+pkgrel=12
pkgdesc="Software system for 3D computer graphics, image processing, and visualization"
arch=(x86_64)
url="https://www.vtk.org/"
@@ -17,10 +17,11 @@
liblas libxt openimagedenoise openmp openmpi openvdb openvr ospray pdal
postgresql python-matplotlib qt5-base qt5-tools qt5-webkit
qt5-x11extras tk unixodbc wget
- cgns double-conversion eigen expat fmt freetype2 gl2ps glew hdf5 libjpeg
- jsoncpp libharu proj libxml2 lz4 xz python-mpi4py netcdf libogg
- libpng rapidjson sqlite libtheora libtiff utf8cpp zfp zlib)
-# pegtl https://gitlab.kitware.com/vtk/vtk/-/issues/18151
+ cgns cli11 double-conversion eigen expat fmt freetype2 gl2ps glew hdf5
+ libjpeg jsoncpp libjsoncpp.so libharu proj libxml2 lz4 xz python-mpi4py
+ netcdf libogg libpng rapidjson sqlite libtheora libtiff utf8cpp zfp zlib)
+# pegtl: https://gitlab.kitware.com/vtk/vtk/-/issues/18151
+# exprtk, ioss: not packaged
optdepends=('gnuplot: plotting tools'
'graphviz: drawing tools'
'java-runtime=11: java bindings'
@@ -54,8 +55,8 @@
sqlite
unixodbc)
source=(${url}/files/release/${pkgver%.*}/VTK-${pkgver}.tar.gz
- vtk-tbb-2021.patch::https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/2509.patch
- ffmpeg5.patch)
+ vtkm-tbb-2021.patch::https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/2509.patch
+ vtk-ffmpeg5.patch::https://gitlab.kitware.com/vtk/vtk/-/merge_requests/8863.patch)
options=(staticlibs)
sha256sums=('8fed42f4f8f1eb8083107b68eaa9ad71da07110161a3116ad807f43e5ca5ce96'
'37cff664c4eaacf44ecb995e62e9e54e54880bae0857d598c74660a2159ccb2e'
@@ -68,9 +69,9 @@
# We have a patched fmt
sed -i "s|8.1.0|8.0.1|" ThirdParty/fmt/CMakeLists.txt
# Fix build with TBB 2021
- patch -d ThirdParty/vtkm/vtkvtkm/vtk-m -p1 -i "$srcdir"/vtk-tbb-2021.patch
- # Fix build with FFmpeg 5 https://gitlab.kitware.com/vtk/vtk/-/merge_requests/8863
- patch -p1 -i "$srcdir"/ffmpeg5.patch
+ patch -p1 -d ThirdParty/vtkm/vtkvtkm/vtk-m < ../vtkm-tbb-2021.patch
+ # Fix build with FFmpeg 5
+ patch -p1 < ../vtk-ffmpeg5.patch
}
build() {
@@ -78,7 +79,6 @@
export JAVA_HOME=/usr/lib/jvm/default
# To set tcl lib path
local _tkver=$(echo 'puts $tcl_version' | tclsh)
- # We do not have packages for cli11, exprtk, ioss
cmake -B build -S VTK-${pkgver} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
@@ -102,7 +102,6 @@
-DVTKm_ENABLE_MPI=ON \
-DVTKm_ENABLE_OPENMP=ON \
-DVTK_USE_EXTERNAL=ON \
- -DVTK_MODULE_USE_EXTERNAL_VTK_cli11=OFF \
-DVTK_MODULE_USE_EXTERNAL_VTK_exprtk=OFF \
-DVTK_MODULE_USE_EXTERNAL_VTK_ioss=OFF \
-DVTK_MODULE_USE_EXTERNAL_VTK_pegtl=OFF \
Deleted: ffmpeg5.patch
===================================================================
--- ffmpeg5.patch 2022-03-19 18:58:10 UTC (rev 1161814)
+++ ffmpeg5.patch 2022-03-19 20:29:26 UTC (rev 1161815)
@@ -1,158 +0,0 @@
-From bad8f3e9d0aad03e8f2aff9524cb3c5f2d10ccaf Mon Sep 17 00:00:00 2001
-From: Ben Boeckel <ben.boeckel at kitware.com>
-Date: Fri, 28 Jan 2022 10:44:28 -0500
-Subject: [PATCH] IO/FFMPEG: support FFmpeg 5.0 API changes
-
-Fixes: #18445
----
- Documentation/release/dev/ffmpeg-5.0.md | 3 +++
- IO/FFMPEG/CMakeLists.txt | 18 +++++++++++++++--
- IO/FFMPEG/vtkFFMPEGVideoSource.cxx | 4 ++--
- IO/FFMPEG/vtkFFMPEGWriter.cxx | 27 +++++++++++++------------
- 4 files changed, 35 insertions(+), 17 deletions(-)
- create mode 100644 Documentation/release/dev/ffmpeg-5.0.md
-
-diff --git a/Documentation/release/dev/ffmpeg-5.0.md b/Documentation/release/dev/ffmpeg-5.0.md
-new file mode 100644
-index 00000000000..02ebd3ff840
---- /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.
-diff --git a/IO/FFMPEG/CMakeLists.txt b/IO/FFMPEG/CMakeLists.txt
-index f6900843ac0..ed43978cfc6 100644
---- 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})
-diff --git a/IO/FFMPEG/vtkFFMPEGVideoSource.cxx b/IO/FFMPEG/vtkFFMPEGVideoSource.cxx
-index 45900ee02bc..f3169d3545d 100644
---- 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");
-diff --git a/IO/FFMPEG/vtkFFMPEGWriter.cxx b/IO/FFMPEG/vtkFFMPEGWriter.cxx
-index 5011b40f579..5d284b088ed 100644
---- 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];
---
-GitLab
-
More information about the arch-commits
mailing list