File PKGBUILD of Package ffmpeg
# Maintainer: Giovanni 'ItachiSan' Santini <giovannisantini93@yahoo.it>
# Contributor: Maxime Gauduin <alucryd@archlinux.org>
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
# Contributor: Paul Mattal <paul@archlinux.org>
pkgname=ffmpeg
pkgver=7.1.1
pkgrel=0
epoch=1
pkgdesc='Complete solution to record, convert and stream audio and video - OBS compliant version'
arch=(x86_64)
url=https://ffmpeg.org
license=(GPL-3.0-only)
# Modified PKGBUILD to be compliant with openSUSE legal standards.
# See the issue here: https://github.com/openSUSE/open-build-service/issues/2601
# Packages to be removed are found here:
# https://build.opensuse.org/projects/multimedia:libs/packages/ffmpeg-7/files/ffmpeg-7.spec?expand=1
# in the "bcond_with" prefixed with BUILD_ORIG.
# Packages to be removed are:
# amf_sdk: done (makedepends)
# cuda: done (build flag)
# fdk_aac_dlopen: none, seems
# opencore: done (depends and build flag)
# x264: done (depends and build flag)
# x265: done (depends and build flag)
# xvid: done (depends and build flag)
# Do not re-add:
#libx264.so
#libx265.so
#libxvidcore.so
#opencore-amr
depends=(
alsa-lib
aom
bzip2
cairo
dav1d
fontconfig
freetype2
fribidi
glib2
glibc
glslang
gmp
gnutls
gsm
harfbuzz
jack
lame
libass
libavc1394
libbluray
libbs2b
libdrm
libdvdnav
libdvdread
libgl
libiec61883
libjxl
libmodplug
libopenmpt
libplacebo
libpulse
libraw1394
librsvg
libsoxr
libssh
libtheora
libva
libvdpau
libvorbis
libvpx
libwebp
libx11
libxcb
libxext
libxml2
libxv
ocl-icd
onevpl
openjpeg2
opus
rav1e
rubberband
sdl2
snappy
speex
srt
svt-av1
v4l-utils
vapoursynth
vid.stab
vmaf
vulkan-icd-loader
xz
zeromq
zimg
zlib
)
# Do not re-add:
#amf-headers
makedepends=(
avisynthplus
clang
ffnvcodec-headers
frei0r-plugins
git
ladspa
mesa
nasm
opencl-headers
vulkan-headers
)
optdepends=(
'avisynthplus: AviSynthPlus support'
'frei0r-plugins: Frei0r video effects support'
'intel-media-sdk: Intel QuickSync support (legacy)'
'ladspa: LADSPA filters'
'nvidia-utils: Nvidia NVDEC/NVENC support'
'onevpl-intel-gpu: Intel QuickSync support'
)
provides=(
libavcodec.so
libavdevice.so
libavfilter.so
libavformat.so
libavutil.so
libpostproc.so
libswresample.so
libswscale.so
)
_tag=a1328e68877e12ab5a6e5d92a84aefa566783ea5
source=(
"$pkgname-$pkgver.tar"
https://gitlab.archlinux.org/archlinux/packaging/packages/ffmpeg/-/raw/main/0001-Add-av_stream_get_first_dts-for-Chromium.patch
https://gitlab.archlinux.org/archlinux/packaging/packages/ffmpeg/-/raw/main/0002-avcodec-libsvtav1-unbreak-build-with-latest-svtav1.patch
https://gitlab.archlinux.org/archlinux/packaging/packages/ffmpeg/-/raw/main/fix_build_with_v4l2_1.30.patch
https://github.com/FFmpeg/FFmpeg/commit/bcfbf2bac8f9eeeedc407b40596f5c7aaa0d5b47.patch
https://github.com/FFmpeg/FFmpeg/commit/d0facac679faf45d3356dff2e2cb382580d7a521.patch
)
b2sums=('SKIP'
'e5f7b79f7731be9ee5a7280a9221fb531ac5a2d9820fc5870b68b0eabea667dfbe8f39f41c1e1763a4c84982896afaa54c81ff57847d203b70afafd726689e5d'
'a32aeff68032a78d661011654bbdba138002833f7d17d23bba6f95479ca22bef5697eb9e7e4cb9e0b5140fc23eab3aab16fc60962d62809c3c02f890599a8332'
'a713b3a4243cc5de3867f7c210172c094f50bd614c0c8be2c99d6161b06d43d9183ae9c442ac3056bfe06c28419e276d129b1235471466eedd340bf0c4780acb'
'fb83f92e701b855ea8e14de44d0ca5ef79271e09ff6212e44d48c3f11aef92fb6219fdfe466d2f118da7ee92c6bfc0af20736a9763ef99487f1dca6674bcc5b2'
'30d2ee8c246fc2b743bb3755e758bbc0db582ff51c95d2542f334ed62860462f3f053e232f0088de8fbd7dee889b8df386a1ecfdab2cedfe5f63039f6840ac36')
validpgpkeys=(DD1EC9E8DE085C629B3E1846B18E8928B3948D64) # Michael Niedermayer <michael@niedermayer.cc>
prepare() {
cd $pkgname-$pkgver
# Fix build with v4l2 >= 1.30
# https://trac.ffmpeg.org/ticket/11570
patch -Np1 -i "${srcdir}/fix_build_with_v4l2_1.30.patch"
# https://crbug.com/1251779
patch -Np1 -i $srcdir/0001-Add-av_stream_get_first_dts-for-Chromium.patch
# Fix for svt-av1
# Taken from https://github.com/FFmpeg/FFmpeg/commit/d1ed5c06e3edc5f2b5f3664c80121fa55b0baa95.patch
patch -Np1 -i $srcdir/0002-avcodec-libsvtav1-unbreak-build-with-latest-svtav1.patch
# VAAPI HEVC encode alignment fix
patch -Np1 -i $srcdir/bcfbf2bac8f9eeeedc407b40596f5c7aaa0d5b47.patch
patch -Np1 -i $srcdir/d0facac679faf45d3356dff2e2cb382580d7a521.patch
}
build() {
export PKG_CONFIG_PATH='/usr/lib/mbedtls2/pkgconfig'
cd $pkgname-$pkgver
# Removed flags
#--enable-amf \
#--enable-cuda-llvm \
#--enable-libopencore_amrnb \
#--enable-libopencore_amrwb \
#--enable-libx264 \
#--enable-libx265 \
#--enable-libxvid \
./configure \
--prefix=/usr \
--disable-debug \
--disable-static \
--disable-stripping \
--enable-avisynth \
--enable-cuda-llvm \
--enable-lto \
--enable-fontconfig \
--enable-frei0r \
--enable-gmp \
--enable-gnutls \
--enable-gpl \
--enable-ladspa \
--enable-libaom \
--enable-libass \
--enable-libbluray \
--enable-libbs2b \
--enable-libdav1d \
--enable-libdrm \
--enable-libdvdnav \
--enable-libdvdread \
--enable-libfreetype \
--enable-libfribidi \
--enable-libglslang \
--enable-libgsm \
--enable-libharfbuzz \
--enable-libiec61883 \
--enable-libjack \
--enable-libjxl \
--enable-libmodplug \
--enable-libmp3lame \
--enable-libopenjpeg \
--enable-libopenmpt \
--enable-libopus \
--enable-libplacebo \
--enable-libpulse \
--enable-librav1e \
--enable-librsvg \
--enable-librubberband \
--enable-libsnappy \
--enable-libsoxr \
--enable-libspeex \
--enable-libsrt \
--enable-libssh \
--enable-libsvtav1 \
--enable-libtheora \
--enable-libv4l2 \
--enable-libvidstab \
--enable-libvmaf \
--enable-libvorbis \
--enable-libvpl \
--enable-libvpx \
--enable-libwebp \
--enable-libxcb \
--enable-libxml2 \
--enable-libzimg \
--enable-libzmq \
--enable-nvdec \
--enable-nvenc \
--enable-opencl \
--enable-opengl \
--enable-shared \
--enable-vapoursynth \
--enable-version3 \
--enable-vulkan
make -j
make tools/qt-faststart
make doc/ff{mpeg,play}.1
}
package() {
depends+=(
libass.so
libbluray.so
libbs2b.so
libdav1d.so
libfreetype.so
libharfbuzz.so
libjxl.so
libopenmpt.so
libplacebo.so
librav1e.so
librsvg-2.so
librubberband.so
libva.so
libva-drm.so
libva-x11.so
libvidstab.so
libvorbisenc.so
libvorbis.so
libvpx.so
libzimg.so
libzmq.so
)
make DESTDIR="${pkgdir}" -C $pkgname-$pkgver install install-man
install -Dm 755 $pkgname-$pkgver/tools/qt-faststart "${pkgdir}"/usr/bin/
}
# vim: ts=2 sw=2 et: