Update dependencies

Dropped dependency on lensfun-git and use a locally built static
library: ffmpeg requires lensfun git master, but the lensfun-git
package wrongly installs its files in non-standard locations,
defying the whole purpose of VCS packages, breaking the VCS
package guidelines from the ArchWiki and requiring users to
have both lensfun and lensfun-git packages intalled. Using a
local static library also have the benefit of avoid rebuilding
packages requiring lensfun, like gegl (required for gimp, a
commonly used package), as lensfun git master currently have
a soname bump in relation to the last stable version.

Also in this commit:
  - update obs-studio verison
This commit is contained in:
Daniel Bermond
2025-11-08 11:47:44 -03:00
parent 2dcf285fdc
commit 9e176e4b3d
2 changed files with 37 additions and 15 deletions
+5 -4
View File
@@ -1,7 +1,7 @@
pkgbase = ffmpeg-full
pkgdesc = Complete solution to record, convert and stream audio and video (all possible features including libfdk-aac)
pkgver = 8.0
pkgrel = 2
pkgrel = 3
url = https://ffmpeg.org/
arch = x86_64
license = LicenseRef-nonfree-and-unredistributable
@@ -47,7 +47,6 @@ pkgbase = ffmpeg-full
depends = lame
depends = lcevcdec
depends = lcms2
depends = lensfun-git
depends = libaribcaption
depends = libass
depends = libavc1394
@@ -151,7 +150,8 @@ pkgbase = ffmpeg-full
conflicts = ffmpeg
source = https://ffmpeg.org/releases/ffmpeg-8.0.tar.xz
source = https://ffmpeg.org/releases/ffmpeg-8.0.tar.xz.asc
source = https://github.com/obsproject/obs-studio/archive/32.0.1/obs-studio-32.0.1.tar.gz
source = git+https://github.com/lensfun/lensfun.git
source = https://github.com/obsproject/obs-studio/archive/32.0.2/obs-studio-32.0.2.tar.gz
source = https://github.com/ggml-org/whisper.cpp/archive/v1.8.2/whisper.cpp-1.8.2.tar.gz
source = 010-ffmpeg-add-svt-hevc.patch
source = 020-ffmpeg-add-svt-hevc-docs-ged80959.patch::https://raw.githubusercontent.com/OpenVisualCloud/SVT-HEVC/ed80959ebb5586aa7763c91a397d44be1798587c/ffmpeg_plugin/0002-doc-Add-libsvt_hevc-encoder-docs.patch
@@ -166,7 +166,8 @@ pkgbase = ffmpeg-full
validpgpkeys = FCF986EA15E6E293A5644F10B4322F04D67658D8
sha256sums = b2751fccb6cc4c77708113cd78b561059b6fa904b24162fa0be2d60273d27b8e
sha256sums = SKIP
sha256sums = 906278ccedb5ed919e586697467eb7fa4205fceeda127386ce5b74026113ba96
sha256sums = SKIP
sha256sums = 39e99b9fbdc77e7e87cfd9c7e8709d1d427627bad5b21b791019c887c8598d13
sha256sums = bcee25589bb8052d9e155369f6759a05729a2022d2a8085c1aa4345108523077
sha256sums = 4b1053cc01244c79e3b23dc696eaff1aeb0627a2098e1a720a025d4ad75b5c16
sha256sums = a164ebdc4d281352bf7ad1b179aae4aeb33f1191c444bed96cb8ab333c046f81
+32 -11
View File
@@ -3,9 +3,9 @@
pkgname=ffmpeg-full
pkgver=8.0
pkgrel=2
pkgrel=3
_svt_hevc_ver='ed80959ebb5586aa7763c91a397d44be1798587c'
_obs_studio_ver='32.0.1'
_obs_studio_ver='32.0.2'
_whispercpp_ver='1.8.2'
pkgdesc='Complete solution to record, convert and stream audio and video (all possible features including libfdk-aac)'
arch=('x86_64')
@@ -41,7 +41,6 @@ depends=(
'lame'
'lcevcdec'
'lcms2'
'lensfun-git'
'libaribcaption'
'libass'
'libavc1394'
@@ -160,6 +159,7 @@ provides=(
'libswresample.so')
conflicts=('ffmpeg')
source=("https://ffmpeg.org/releases/ffmpeg-${pkgver}.tar.xz"{,.asc}
'git+https://github.com/lensfun/lensfun.git'
"https://github.com/obsproject/obs-studio/archive/${_obs_studio_ver}/obs-studio-${_obs_studio_ver}.tar.gz"
"https://github.com/ggml-org/whisper.cpp/archive/v${_whispercpp_ver}/whisper.cpp-${_whispercpp_ver}.tar.gz"
'010-ffmpeg-add-svt-hevc.patch'
@@ -174,7 +174,8 @@ source=("https://ffmpeg.org/releases/ffmpeg-${pkgver}.tar.xz"{,.asc}
'LICENSE')
sha256sums=('b2751fccb6cc4c77708113cd78b561059b6fa904b24162fa0be2d60273d27b8e'
'SKIP'
'906278ccedb5ed919e586697467eb7fa4205fceeda127386ce5b74026113ba96'
'SKIP'
'39e99b9fbdc77e7e87cfd9c7e8709d1d427627bad5b21b791019c887c8598d13'
'bcee25589bb8052d9e155369f6759a05729a2022d2a8085c1aa4345108523077'
'4b1053cc01244c79e3b23dc696eaff1aeb0627a2098e1a720a025d4ad75b5c16'
'a164ebdc4d281352bf7ad1b179aae4aeb33f1191c444bed96cb8ab333c046f81'
@@ -202,16 +203,37 @@ prepare() {
}
build() {
local _stagingdir="${srcdir}/staging"
local _pkgconfigdir="${_stagingdir}/lib/pkgconfig"
export PKG_CONFIG_PATH="${_pkgconfigdir}${PKG_CONFIG_PATH:+":${PKG_CONFIG_PATH}"}"
local -a _cmake_opts=(
'-GUnix Makefiles'
'-DBUILD_SHARED_LIBS:BOOL=OFF'
'-DCMAKE_BUILD_TYPE:STRING=None'
"-DCMAKE_INSTALL_PREFIX:PATH=${_stagingdir}"
'-Wno-dev')
# ffmpeg requires lensfun git master, but lensfun-git package wrongly installs its files to non-standard locations:
# https://aur.archlinux.org/cgit/aur.git/commit/?h=lensfun-git&id=7b7a2d4890df59cde62c7dbfde3cefd7868a2707
# building it locally as a static library for the time being - this also have the benefit of avoid rebuilding packages
# requiring lensfun, like gegl (required for gimp, a commonly used package), as lensfun git master have a soname bump
cmake -B build/lensfun -S lensfun \
"${_cmake_opts[@]}" \
-DBUILD_STATIC:BOOL='ON' \
-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"
# whisper.cpp AUR package conflicts with imagemagick at the time of writing
# building it locally as a static library for the time being, as imagemagick is a commonly used package (high usage in pkgstats)
cmake -B build/whisper.cpp -S "whisper.cpp-${_whispercpp_ver}" \
-G 'Unix Makefiles' \
-DBUILD_SHARED_LIBS:BOOL='OFF' \
-DCMAKE_BUILD_TYPE:STRING='None' \
-DCMAKE_INSTALL_PREFIX:PATH="${srcdir}/staging" \
"${_cmake_opts[@]}" \
-DWHISPER_BUILD_EXAMPLES:BOOL='OFF' \
-DWHISPER_BUILD_TESTS:BOOL='OFF' \
-Wno-dev
-DWHISPER_BUILD_TESTS:BOOL='OFF'
cmake --build build/whisper.cpp --target install
cd "ffmpeg-${pkgver}"
@@ -220,7 +242,6 @@ build() {
export CFLAGS+=' -isystem/opt/cuda/include'
export CFLAGS+=" -isystem${srcdir}/obs-studio-${_obs_studio_ver}/plugins/decklink/linux/decklink-sdk"
export LDFLAGS+=' -L/opt/cuda/lib64'
export PKG_CONFIG_PATH="${srcdir}/staging/lib/pkgconfig${PKG_CONFIG_PATH:+":${PKG_CONFIG_PATH}"}"
# fix build of libavfilter/asrc_flite.c with gcc 14
export CFLAGS+=' -Wno-error=incompatible-pointer-types'