From dc1f4d0be387fa9990370e7b10440a7da5536705 Mon Sep 17 00:00:00 2001 From: Uyanide Date: Mon, 21 Sep 2026 21:41:28 +0800 Subject: [PATCH] Update to 9.0.2 --- .SRCINFO | 26 +++++++------- .gitignore | 4 +-- 060-ffmpeg-lensfun-fix-pkgconfig.patch | 10 ++++++ ...070-ffmpeg-whisper.cpp-fix-pkgconfig.patch | 4 +-- PKGBUILD | 35 +++++++++++-------- 5 files changed, 48 insertions(+), 31 deletions(-) create mode 100644 060-ffmpeg-lensfun-fix-pkgconfig.patch rename 060-ffmpeg-whisper.cpp-fix-pkgconfig.patch => 070-ffmpeg-whisper.cpp-fix-pkgconfig.patch (82%) diff --git a/.SRCINFO b/.SRCINFO index 4a7d0fb..24cdfb7 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,6 +1,6 @@ pkgbase = ffmpeg-full pkgdesc = Complete solution to record, convert and stream audio and video (all possible features including libfdk-aac) - pkgver = 9.0.1 + pkgver = 9.0.2 pkgrel = 1.1 url = https://ffmpeg.org/ arch = x86_64 @@ -8,7 +8,6 @@ pkgbase = ffmpeg-full makedepends = amf-headers makedepends = clang makedepends = cmake - makedepends = cuda makedepends = ffnvcodec-headers makedepends = git makedepends = glslang @@ -24,6 +23,7 @@ pkgbase = ffmpeg-full depends = bzip2 depends = cairo depends = chromaprint-fftw + depends = cuda depends = dav1d depends = fontconfig depends = freetype2 @@ -72,6 +72,8 @@ pkgbase = ffmpeg-full depends = libxv depends = libwebp depends = lilv + depends = nccl + depends = nvidia-utils depends = ocl-icd depends = opencolorio depends = openh264 @@ -98,8 +100,6 @@ pkgbase = ffmpeg-full depends = xz depends = zimg depends = zlib - optdepends = cuda: for CUDA runtime support (CUDART/cuBLAS) - optdepends = nvidia-utils: for NVIDIA CUVID/NVDEC/NVENC support optdepends = vpl-runtime: for Intel Quick Sync Video provides = ffmpeg provides = libavcodec.so @@ -110,22 +110,24 @@ pkgbase = ffmpeg-full provides = libswscale.so provides = libswresample.so conflicts = ffmpeg - source = https://ffmpeg.org/releases/ffmpeg-9.0.1.tar.xz - source = https://ffmpeg.org/releases/ffmpeg-9.0.1.tar.xz.asc - source = git+https://github.com/lensfun/lensfun.git - source = https://github.com/ggml-org/whisper.cpp/archive/v1.9.2/whisper.cpp-1.9.2.tar.gz + source = https://ffmpeg.org/releases/ffmpeg-9.0.2.tar.xz + source = https://ffmpeg.org/releases/ffmpeg-9.0.2.tar.xz.asc + source = git+https://github.com/lensfun/lensfun.git#commit=5bfb8d8cb151a3a4068219cfc798f63d0641ff19 + source = https://github.com/ggml-org/whisper.cpp/archive/v1.9.4/whisper.cpp-1.9.4.tar.gz source = 040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch source = 050-ffmpeg-fix-cuda-nvcc-with-gcc14.patch - source = 060-ffmpeg-whisper.cpp-fix-pkgconfig.patch + source = 060-ffmpeg-lensfun-fix-pkgconfig.patch + source = 070-ffmpeg-whisper.cpp-fix-pkgconfig.patch source = LICENSE validpgpkeys = FCF986EA15E6E293A5644F10B4322F04D67658D8 - sha256sums = cf38e0e28c7e5605942c4a77755349b0145804a397af37eb1fb4c77cb237f635 + sha256sums = 8c3850283eb25fa026482078a04051e0be17347b09ef81a0849bec15a96e002e sha256sums = SKIP sha256sums = SKIP - sha256sums = a6abd064fcca8b85e794d205abf328c522e9451db43a3eadc178b883b7d0e9cd + sha256sums = 57e280cee375ab02425b806ad5146b99f6eb9357e3c2b31357c8a6af2e2e44ae sha256sums = cd1aa93e78800247b4516a01ef391106acb362957bd1e56f85d64906343cddac sha256sums = 4a9a672f67cc0e5dd63bd7659f5a5198cd981e60bbbc1b9a63277758be6a7fdf - sha256sums = afc3c9ef7ae72a7e28547d893bf48429c7b801fe765458980e5d45c169cc401a + sha256sums = c39addf190d25d1182c5c5658677f77ee7c1ae542969b2004441c62a425d324b + sha256sums = 355c6a22c02ca2b6248a8394ebd4e51fe44e0e79c33682a9f0b842a0cc45df93 sha256sums = 04a7176400907fd7db0d69116b99de49e582a6e176b3bfb36a03e50a4cb26a36 pkgname = ffmpeg-full diff --git a/.gitignore b/.gitignore index d10e717..2ba26c9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ * -!.gitgignore +!.gitignore !.SRCINFO -!.0*.patch +!0*.patch !LICENSE !PKGBUILD diff --git a/060-ffmpeg-lensfun-fix-pkgconfig.patch b/060-ffmpeg-lensfun-fix-pkgconfig.patch new file mode 100644 index 0000000..72ce3a8 --- /dev/null +++ b/060-ffmpeg-lensfun-fix-pkgconfig.patch @@ -0,0 +1,10 @@ +--- a/libs/lensfun/lensfun.pc.cmake ++++ b/libs/lensfun/lensfun.pc.cmake +@@ -10,5 +10,5 @@ Name: lensfun + Description: A photographic lens database and access library + Version: @VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_MICRO@.@VERSION_BUGFIX@ + Requires.private: glib-2.0 +-Libs: -L${libdir} -llensfun +-Cflags: -I${includedir} -I${includedir}/lensfun ++Libs: -L${libdir} -llensfun -lglib-2.0 -lstdc++ ++Cflags: -I${includedir} -I${includedir}/lensfun -DCONF_LENSFUN_STATIC diff --git a/060-ffmpeg-whisper.cpp-fix-pkgconfig.patch b/070-ffmpeg-whisper.cpp-fix-pkgconfig.patch similarity index 82% rename from 060-ffmpeg-whisper.cpp-fix-pkgconfig.patch rename to 070-ffmpeg-whisper.cpp-fix-pkgconfig.patch index b2c4ec6..56df434 100644 --- a/060-ffmpeg-whisper.cpp-fix-pkgconfig.patch +++ b/070-ffmpeg-whisper.cpp-fix-pkgconfig.patch @@ -1,9 +1,9 @@ --- a/cmake/whisper.pc.in +++ b/cmake/whisper.pc.in -@@ -6,5 +6,5 @@ includedir=${prefix}/include +@@ -6,5 +6,5 @@ includedir=@CMAKE_INSTALL_FULL_INCLUDEDI Name: whisper Description: Port of OpenAI's Whisper model in C/C++ - Version: @PROJECT_VERSION@ + Version: @WHISPER_VERSION@ -Libs: -L${libdir} -lggml -lggml-base -lwhisper -Cflags: -I${includedir} +Libs: -L${libdir} -L/opt/cuda/lib64 -L/opt/cuda/lib64/stubs -lwhisper -lggml -lggml-cuda -lggml-cpu -lggml-base -lcudart -lcublas -lcuda -lnccl -lstdc++ -lm -fopenmp -fPIC diff --git a/PKGBUILD b/PKGBUILD index 5596809..b750972 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -2,9 +2,10 @@ # Contributor: Iacopo Isimbaldi pkgname=ffmpeg-full -pkgver=9.0.1 +pkgver=9.0.2 pkgrel=1.1 -_whispercpp_ver='1.9.2' +_whispercpp_ver='1.9.4' +_lensfun_commit='5bfb8d8cb151a3a4068219cfc798f63d0641ff19' pkgdesc='Complete solution to record, convert and stream audio and video (all possible features including libfdk-aac)' arch=('x86_64') url='https://ffmpeg.org/' @@ -15,6 +16,7 @@ depends=( 'bzip2' 'cairo' 'chromaprint-fftw' + 'cuda' 'dav1d' 'fontconfig' 'freetype2' @@ -63,6 +65,8 @@ depends=( 'libxv' 'libwebp' 'lilv' + 'nccl' + 'nvidia-utils' 'ocl-icd' 'opencolorio' 'openh264' @@ -90,14 +94,11 @@ depends=( 'zimg' 'zlib') optdepends=( - 'cuda: for CUDA runtime support (CUDART/cuBLAS)' - 'nvidia-utils: for NVIDIA CUVID/NVDEC/NVENC support' 'vpl-runtime: for Intel Quick Sync Video') makedepends=( 'amf-headers' 'clang' 'cmake' - 'cuda' 'ffnvcodec-headers' 'git' 'glslang' @@ -119,26 +120,29 @@ provides=( 'libswresample.so') conflicts=('ffmpeg') source=("https://ffmpeg.org/releases/ffmpeg-${pkgver}.tar.xz"{,.asc} - 'git+https://github.com/lensfun/lensfun.git' + "git+https://github.com/lensfun/lensfun.git#commit=${_lensfun_commit}" "https://github.com/ggml-org/whisper.cpp/archive/v${_whispercpp_ver}/whisper.cpp-${_whispercpp_ver}.tar.gz" '040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch' '050-ffmpeg-fix-cuda-nvcc-with-gcc14.patch' - '060-ffmpeg-whisper.cpp-fix-pkgconfig.patch' + '060-ffmpeg-lensfun-fix-pkgconfig.patch' + '070-ffmpeg-whisper.cpp-fix-pkgconfig.patch' 'LICENSE') -sha256sums=('cf38e0e28c7e5605942c4a77755349b0145804a397af37eb1fb4c77cb237f635' +sha256sums=('8c3850283eb25fa026482078a04051e0be17347b09ef81a0849bec15a96e002e' 'SKIP' 'SKIP' - 'a6abd064fcca8b85e794d205abf328c522e9451db43a3eadc178b883b7d0e9cd' + '57e280cee375ab02425b806ad5146b99f6eb9357e3c2b31357c8a6af2e2e44ae' 'cd1aa93e78800247b4516a01ef391106acb362957bd1e56f85d64906343cddac' '4a9a672f67cc0e5dd63bd7659f5a5198cd981e60bbbc1b9a63277758be6a7fdf' - 'afc3c9ef7ae72a7e28547d893bf48429c7b801fe765458980e5d45c169cc401a' + 'c39addf190d25d1182c5c5658677f77ee7c1ae542969b2004441c62a425d324b' + '355c6a22c02ca2b6248a8394ebd4e51fe44e0e79c33682a9f0b842a0cc45df93' '04a7176400907fd7db0d69116b99de49e582a6e176b3bfb36a03e50a4cb26a36') validpgpkeys=('FCF986EA15E6E293A5644F10B4322F04D67658D8') prepare() { patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch" patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/050-ffmpeg-fix-cuda-nvcc-with-gcc14.patch" - patch -d "whisper.cpp-${_whispercpp_ver}" -Np1 -i "${srcdir}/060-ffmpeg-whisper.cpp-fix-pkgconfig.patch" + patch -d lensfun -Np1 -i "${srcdir}/060-ffmpeg-lensfun-fix-pkgconfig.patch" + patch -d "whisper.cpp-${_whispercpp_ver}" -Np1 -i "${srcdir}/070-ffmpeg-whisper.cpp-fix-pkgconfig.patch" } build() { @@ -164,14 +168,12 @@ build() { -DINSTALL_PYTHON_MODULE:BOOL='OFF' \ -DINSTALL_HELPER_SCRIPTS:BOOL='OFF' cmake --build build/lensfun --target install - sed -i \ - -e 's/\(-llensfun\)/\1 -lglib-2.0 -lstdc++/' \ - -e '/Cflags: /s/$/ -DCONF_LENSFUN_STATIC/' "${_pkgconfigdir}/lensfun.pc" # using whisper-cpp package from the official repositories will cause a circular dependency with ffmpeg, # building it locally as a static library for the time being cmake -B build/whisper.cpp -S "whisper.cpp-${_whispercpp_ver}" \ "${_cmake_opts[@]}" \ + -DGGML_CCACHE:BOOL='OFF' \ -DWHISPER_BUILD_EXAMPLES:BOOL='OFF' \ -DWHISPER_BUILD_TESTS:BOOL='OFF' \ -DGGML_CUDA:BOOL='ON' \ @@ -303,9 +305,12 @@ package() { make -C "ffmpeg-${pkgver}" DESTDIR="$pkgdir" install install -D -m755 "ffmpeg-${pkgver}/tools/qt-faststart" -t "${pkgdir}/usr/bin" install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" - sed -i \ + # These libraries are embedded in libavfilter and are not installed with the package. + sed -i -E \ -e 's|-llensfun ||' \ -e 's|-lwhisper ||' \ + -e 's/(^|[[:space:]])-lggml(-[[:alnum:]_]+)*\>/\1/g' \ + -e 's#-L/opt/cuda/lib64/stubs([[:space:]]|$)##g' \ -e "s|-L${srcdir}/staging/lib ||g" \ "${pkgdir}/usr/lib/pkgconfig/libavfilter.pc" }