PKGBUILDs/ffmpeg/custom/PKGBUILD

252 lines
5.1 KiB
Bash

# Maintainer: Martchus <martchus@gmx.net>
# Contributor: Ben Widawsky <ben@bwidawsk.net>
# Contributor: Rob McCathie <korrode at gmail>
# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Bartomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Maxime Gauduin <alucryd@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
# Contributor: Paul Mattal <paul@archlinux.org>
_name=ffmpeg
pkgname=ffmpeg-custom
pkgver=7.0.1
pkgrel=2
epoch=1
pkgdesc='Complete solution to record, convert and stream audio and video (with more features enabled than regular ffmpeg)'
arch=('x86_64')
url='https://ffmpeg.org/'
license=('GPL3' 'custom:libfdk-aac')
depends=(
alsa-lib
aom
bzip2
cairo
fontconfig
fribidi
glib2
glibc
gmp
gsm
jack
lame
libass.so
libavc1394
libbluray.so
libbs2b.so
libdav1d.so
libdrm
libdvdnav
libdvdread
libfreetype.so
libgl
libharfbuzz.so
libiec61883
libjxl.so
libmodplug
libopenmpt.so
libplacebo.so
libpulse
librav1e.so
libraw1394
librsvg-2.so
librubberband.so
libsoxr
libssh
libtheora
libva-drm.so
libva-x11.so
libva.so
libvdpau
libvidstab.so
libvorbis.so
libvorbisenc.so
libvpx.so
libwebp
libx11
libx264.so
libx265.so
libxcb
libxext
libxml2
libxv
mbedtls
libxvidcore.so
libzimg.so
ocl-icd
onevpl
opencore-amr
openjpeg2
opus
sdl2
snappy
speex
srt
svt-av1
v4l-utils
vmaf
vulkan-icd-loader
xz
zlib
libfdk-aac
#glslang - see note below
)
makedepends=(
amf-headers
avisynthplus
clang
ffnvcodec-headers
frei0r-plugins
git
ladspa
mesa
nasm
opencl-headers
vulkan-headers
opencl-clhpp
openal
)
optdepends=(
'avisynthplus: AviSynthPlus support'
'frei0r-plugins: Frei0r video effects support'
'intel-media-sdk: Intel QuickSync support (legacy)'
'onevpl-intel-gpu: Intel QuickSync support'
'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
"ffmpeg=$pkgver"
"ffmpeg-librsvg=$pkgver"
)
conflicts=("$_name")
options=(
debug
)
_tag=47f70eda3e2ff003a787e512afd07b0c266f7a70
source=(
git+https://git.ffmpeg.org/ffmpeg.git#tag=${_tag}
add-av_stream_get_first_dts-for-chromium.patch
)
b2sums=('d2d6a645509e697932dc8f7a57719e069299e53eb37cda7bf01fd94c9e9956e5532dc5c923fa86d72d0e3a051a7f405e768c73c66ca8aea29271923a17222e03'
'555274228e09a233d92beb365d413ff5c718a782008075552cafb2130a3783cf976b51dfe4513c15777fb6e8397a34122d475080f2c4483e8feea5c0d878e6de')
validpgpkeys=(DD1EC9E8DE085C629B3E1846B18E8928B3948D64) # Michael Niedermayer <michael@niedermayer.cc>
prepare() {
cd ffmpeg
patch -Np1 -i ../add-av_stream_get_first_dts-for-chromium.patch # https://crbug.com/1251779
}
pkgver() {
cd ffmpeg
git describe --tags | sed 's/^n//'
}
build() {
cd $_name
./configure \
--prefix=/usr \
--disable-debug \
--disable-static \
--disable-stripping \
--enable-amf \
--enable-avisynth \
--enable-cuda-llvm \
--enable-lto \
--enable-fontconfig \
--enable-frei0r \
--enable-gmp \
--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-libiec61883 \
--enable-libjack \
--enable-libjxl \
--enable-libmodplug \
--enable-libgsm \
--enable-libharfbuzz \
--enable-libmp3lame \
--enable-libopencore_amrnb \
--enable-libopencore_amrwb \
--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-libx264 \
--enable-libx265 \
--enable-libxcb \
--enable-libxml2 \
--enable-libxvid \
--enable-libzimg \
--enable-mbedtls \
--enable-nvdec \
--enable-nvenc \
--enable-opencl \
--enable-opengl \
--enable-omx \
--enable-shared \
--enable-version3 \
--enable-vulkan \
--enable-libfdk_aac \
--enable-vaapi \
--enable-vdpau \
--enable-openal \
--enable-nonfree
# note: removing --enable-libglslang for now due to "ERROR: libglslang not found"
make
make tools/qt-faststart
make doc/ff{mpeg,play}.1
cp /usr/share/licenses/libfdk-aac/NOTICE .
}
package() {
cd $_name
make DESTDIR="${pkgdir}" install install-man
install -Dm 755 tools/qt-faststart "${pkgdir}"/usr/bin/
install -d "$pkgdir/usr/share/licenses/$pkgname"
install -m 0644 NOTICE "$pkgdir/usr/share/licenses/$pkgname/NOTICE"
}
# vim: ts=2 sw=2 et: