[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