packages/ffmpeg4.4/PKGBUILD

218 lines
4.4 KiB
Bash

# POWER Maintainer: Alexander Baldeck <alex.bldck@gmail.com>
# Maintainer: 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=ffmpeg4.4
pkgver=4.4.5
pkgrel=1
pkgdesc='Complete solution to record, convert and stream audio and video'
arch=(x86_64 powerpc64le powerpc64 powerpc riscv64)
url=https://ffmpeg.org/
license=(GPL3)
depends=(
alsa-lib
aom
bzip2
fontconfig
fribidi
gmp
gnutls
gsm
jack
lame
libass.so
libavc1394
libbluray.so
libdav1d.so
libdrm
libfreetype.so
libiec61883
libmodplug
libpulse
librav1e.so
libraw1394
librsvg-2.so
libsoxr
libssh
libtheora
libva.so
libva-drm.so
libva-x11.so
libvdpau
libvidstab.so
libvorbisenc.so
libvorbis.so
libvpx.so
libwebp
libx11
libx264.so
libx265.so
libxcb
libxext
libxml2
libxv
libxvidcore.so
libzimg.so
opencore-amr
openjpeg2
opus
sdl2
speex
srt
svt-av1
v4l-utils
xz
zlib
)
depends_x86_64=(
libmfx
)
makedepends=(
amf-headers
avisynthplus
clang
git
ladspa
)
makedepends_x86_64=(
libmfx
ffnvcodec-headers
nasm
)
optdepends=(
'avisynthplus: AviSynthPlus support'
'ladspa: LADSPA filters'
'nvidia-utils: Nvidia NVDEC/NVENC support'
)
optdepends_x86_64=('intel-media-sdk: Intel QuickSync support')
provides=(
libavcodec.so
libavdevice.so
libavfilter.so
libavformat.so
libavutil.so
libpostproc.so
libswresample.so
libswscale.so
)
_tag=9bcede27c26b2f7cd469ab6b5c8b9694c30cfca3
source=(git+https://git.ffmpeg.org/ffmpeg.git#tag=${_tag})
b2sums=('d9975a7578d982a1beab69cd63b6894bc4ab0338cf15716c3775bc09ffafe469eb0213c07b0575d4ca192148d29e67d00f0c3779aea0a1c1099b5505589db67b')
options=(!distcc)
pkgver() {
cd ffmpeg
git describe --tags | sed 's/^n//'
}
prepare() {
cd ffmpeg
git cherry-pick -n 031f1561cd286596cdb374da32f8aa816ce3b135 # remove compressed_ten_bit_format
git cherry-pick -n 74b14ccd314aa091fa6217ebd4954489fbb7ccc8 # fix build against x265 4.0
}
build() {
cd ffmpeg
case "${CARCH}" in
powerpc|powerpc64) _configure_flags=(
--disable-altivec # altivec support on 32/64be is broken
--disable-power8 # buildbot may be a power9
--disable-vsx # later SIMD, disable them forcefully
)
export CFLAGS+=' -Wno-incompatible-pointer-types'
;;
x86_64) _configure_flags=(
--enable-libmfx
--enable-nvdec
--enable-nvenc
)
;;
esac
./configure \
--prefix=/usr \
--incdir=/usr/include/ffmpeg4.4 \
--libdir=/usr/lib/ffmpeg4.4 \
--disable-debug \
--disable-doc \
--disable-programs \
--disable-static \
--disable-stripping \
--enable-amf \
--enable-avisynth \
--enable-cuda-llvm \
--enable-lto \
--enable-fontconfig \
--enable-gmp \
--enable-gnutls \
--enable-gpl \
--enable-ladspa \
--enable-libaom \
--enable-libass \
--enable-libbluray \
--enable-libdav1d \
--enable-libdrm \
--enable-libfreetype \
--enable-libfribidi \
--enable-libgsm \
--enable-libiec61883 \
--enable-libjack \
--enable-libmodplug \
--enable-libmp3lame \
--enable-libopencore_amrnb \
--enable-libopencore_amrwb \
--enable-libopenjpeg \
--enable-libopus \
--enable-libpulse \
--enable-librav1e \
--enable-librsvg \
--enable-libsoxr \
--enable-libspeex \
--enable-libsrt \
--enable-libssh \
--enable-libsvtav1 \
--enable-libtheora \
--enable-libv4l2 \
--enable-libvidstab \
--enable-libvorbis \
--enable-libvpx \
--enable-libwebp \
--enable-libx264 \
--enable-libx265 \
--enable-libxcb \
--enable-libxml2 \
--enable-libxvid \
--enable-libzimg \
--enable-shared \
--enable-version3 ${_configure_flags}
make
make tools/qt-faststart
make doc/ff{mpeg,play}.1
}
package() {
make DESTDIR="${pkgdir}" -C ffmpeg install
cd "${pkgdir}"
# Move libs to /usr/lib, except the .so symlinks
local f
for f in usr/lib/ffmpeg4.4/*; do
if [[ $f == *.so ]]; then
ln -srf -- usr/lib/"$(readlink "$f")" "$f"
elif [[ ! -d $f ]]; then
mv "$f" usr/lib
fi
done
rm -r usr/share
}
# vim:set sw=2 et: