mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-08 22:45:43 +00:00
community/vtk to 9.1.0-12
This commit is contained in:
parent
7598c863ee
commit
1849e0a7d8
2 changed files with 11 additions and 170 deletions
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
pkgname=vtk
|
pkgname=vtk
|
||||||
pkgver=9.1.0
|
pkgver=9.1.0
|
||||||
pkgrel=11
|
pkgrel=12
|
||||||
pkgdesc="Software system for 3D computer graphics, image processing, and visualization"
|
pkgdesc="Software system for 3D computer graphics, image processing, and visualization"
|
||||||
arch=(x86_64)
|
arch=(x86_64)
|
||||||
url="https://www.vtk.org/"
|
url="https://www.vtk.org/"
|
||||||
|
@ -23,10 +23,11 @@ makedepends=(cmake boost doxygen ffmpeg gdal git gnuplot java-environment=11
|
||||||
liblas libxt openmp openmpi openvdb openvr pdal
|
liblas libxt openmp openmpi openvdb openvr pdal
|
||||||
postgresql python-matplotlib qt5-base qt5-tools qt5-webkit
|
postgresql python-matplotlib qt5-base qt5-tools qt5-webkit
|
||||||
qt5-x11extras tk unixodbc wget
|
qt5-x11extras tk unixodbc wget
|
||||||
cgns double-conversion eigen expat fmt freetype2 gl2ps glew hdf5 libjpeg
|
cgns cli11 double-conversion eigen expat fmt freetype2 gl2ps glew hdf5
|
||||||
jsoncpp libharu proj libxml2 lz4 xz python-mpi4py netcdf libogg
|
libjpeg jsoncpp libjsoncpp.so libharu proj libxml2 lz4 xz python-mpi4py
|
||||||
libpng rapidjson sqlite libtheora libtiff utf8cpp zfp zlib)
|
netcdf libogg libpng rapidjson sqlite libtheora libtiff utf8cpp zfp zlib)
|
||||||
# pegtl https://gitlab.kitware.com/vtk/vtk/-/issues/18151
|
# pegtl: https://gitlab.kitware.com/vtk/vtk/-/issues/18151
|
||||||
|
# exprtk, ioss: not packaged
|
||||||
optdepends=('gnuplot: plotting tools'
|
optdepends=('gnuplot: plotting tools'
|
||||||
'graphviz: drawing tools'
|
'graphviz: drawing tools'
|
||||||
'java-runtime=11: java bindings'
|
'java-runtime=11: java bindings'
|
||||||
|
@ -57,8 +58,8 @@ optdepends=('gnuplot: plotting tools'
|
||||||
sqlite
|
sqlite
|
||||||
unixodbc)
|
unixodbc)
|
||||||
source=(${url}/files/release/${pkgver%.*}/VTK-${pkgver}.tar.gz
|
source=(${url}/files/release/${pkgver%.*}/VTK-${pkgver}.tar.gz
|
||||||
vtk-tbb-2021.patch::https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/2509.patch
|
vtkm-tbb-2021.patch::https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/2509.patch
|
||||||
ffmpeg5.patch)
|
vtk-ffmpeg5.patch::https://gitlab.kitware.com/vtk/vtk/-/merge_requests/8863.patch)
|
||||||
options=(staticlibs)
|
options=(staticlibs)
|
||||||
sha256sums=('8fed42f4f8f1eb8083107b68eaa9ad71da07110161a3116ad807f43e5ca5ce96'
|
sha256sums=('8fed42f4f8f1eb8083107b68eaa9ad71da07110161a3116ad807f43e5ca5ce96'
|
||||||
'37cff664c4eaacf44ecb995e62e9e54e54880bae0857d598c74660a2159ccb2e'
|
'37cff664c4eaacf44ecb995e62e9e54e54880bae0857d598c74660a2159ccb2e'
|
||||||
|
@ -71,9 +72,9 @@ prepare() {
|
||||||
# We have a patched fmt
|
# We have a patched fmt
|
||||||
sed -i "s|8.1.0|8.0.1|" ThirdParty/fmt/CMakeLists.txt
|
sed -i "s|8.1.0|8.0.1|" ThirdParty/fmt/CMakeLists.txt
|
||||||
# Fix build with TBB 2021
|
# Fix build with TBB 2021
|
||||||
patch -d ThirdParty/vtkm/vtkvtkm/vtk-m -p1 -i "$srcdir"/vtk-tbb-2021.patch
|
patch -p1 -d ThirdParty/vtkm/vtkvtkm/vtk-m < ../vtkm-tbb-2021.patch
|
||||||
# Fix build with FFmpeg 5 https://gitlab.kitware.com/vtk/vtk/-/merge_requests/8863
|
# Fix build with FFmpeg 5
|
||||||
patch -p1 -i "$srcdir"/ffmpeg5.patch
|
patch -p1 < ../vtk-ffmpeg5.patch
|
||||||
}
|
}
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
|
@ -81,7 +82,6 @@ build() {
|
||||||
export JAVA_HOME=/usr/lib/jvm/default
|
export JAVA_HOME=/usr/lib/jvm/default
|
||||||
# To set tcl lib path
|
# To set tcl lib path
|
||||||
local _tkver=$(echo 'puts $tcl_version' | tclsh)
|
local _tkver=$(echo 'puts $tcl_version' | tclsh)
|
||||||
# We do not have packages for cli11, exprtk, ioss
|
|
||||||
cmake -B build -S VTK-${pkgver} \
|
cmake -B build -S VTK-${pkgver} \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||||
|
@ -108,7 +108,6 @@ build() {
|
||||||
-DVTKm_ENABLE_OPENMP=ON \
|
-DVTKm_ENABLE_OPENMP=ON \
|
||||||
-DVTK_ENABLE_OSPRAY=OFF \
|
-DVTK_ENABLE_OSPRAY=OFF \
|
||||||
-DVTK_USE_EXTERNAL=ON \
|
-DVTK_USE_EXTERNAL=ON \
|
||||||
-DVTK_MODULE_USE_EXTERNAL_VTK_cli11=OFF \
|
|
||||||
-DVTK_MODULE_USE_EXTERNAL_VTK_exprtk=OFF \
|
-DVTK_MODULE_USE_EXTERNAL_VTK_exprtk=OFF \
|
||||||
-DVTK_MODULE_USE_EXTERNAL_VTK_ioss=OFF \
|
-DVTK_MODULE_USE_EXTERNAL_VTK_ioss=OFF \
|
||||||
-DVTK_MODULE_USE_EXTERNAL_VTK_pegtl=OFF \
|
-DVTK_MODULE_USE_EXTERNAL_VTK_pegtl=OFF \
|
||||||
|
|
|
@ -1,158 +0,0 @@
|
||||||
From bad8f3e9d0aad03e8f2aff9524cb3c5f2d10ccaf Mon Sep 17 00:00:00 2001
|
|
||||||
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
|
|
||||||
---
|
|
||||||
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
|
|
||||||
|
|
Loading…
Reference in a new issue