mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-28 22:57:37 +00:00
202 lines
4.3 KiB
Bash
202 lines
4.3 KiB
Bash
# 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>
|
|
|
|
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
|
# - use -fPIC in host cflags for v7/v8 to fix print_options.c compile
|
|
# - remove makedepends on ffnvcodec-headers, remove --enable-nvenc, --enable-nvdec
|
|
# - remove depends on aom, remove --enable-libaom
|
|
# - remove depends on intel-media-sdk, remove --enable-libmfx
|
|
# - remove depends on vmaf, remove --enable-vmaf
|
|
# - remove depends on rav1e, remove --enable-librav1e
|
|
# - remove depends on svt-av1, remove --enable-libsvtav1
|
|
# - remove --enable-lto
|
|
|
|
pkgname=ffmpeg4.4
|
|
pkgver=4.4.4
|
|
pkgrel=4
|
|
pkgdesc='Complete solution to record, convert and stream audio and video'
|
|
arch=(x86_64)
|
|
url=https://ffmpeg.org/
|
|
license=(GPL3)
|
|
depends=(
|
|
alsa-lib
|
|
bzip2
|
|
fontconfig
|
|
fribidi
|
|
gmp
|
|
gnutls
|
|
gsm
|
|
jack
|
|
lame
|
|
libass.so
|
|
libavc1394
|
|
libbluray.so
|
|
libdav1d.so
|
|
libdrm
|
|
libfreetype.so
|
|
libiec61883
|
|
libmodplug
|
|
libpulse
|
|
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
|
|
v4l-utils
|
|
xz
|
|
zlib
|
|
)
|
|
makedepends=(
|
|
amf-headers
|
|
avisynthplus
|
|
clang
|
|
git
|
|
ladspa
|
|
nasm
|
|
)
|
|
optdepends=(
|
|
'avisynthplus: AviSynthPlus support'
|
|
'ladspa: LADSPA filters'
|
|
)
|
|
provides=(
|
|
libavcodec.so
|
|
libavdevice.so
|
|
libavfilter.so
|
|
libavformat.so
|
|
libavutil.so
|
|
libpostproc.so
|
|
libswresample.so
|
|
libswscale.so
|
|
)
|
|
_tag=71fb6132637a2a430375c24afc381fff8b854fe7
|
|
source=(git+https://git.ffmpeg.org/ffmpeg.git#tag=${_tag}
|
|
binutils-2.41.patch)
|
|
b2sums=('SKIP'
|
|
'b656a17dd3996c6871d322ba1fcf25410ed580d9600348cda087d705660601d06070492300d31c12d54b0e9914cb92bb9d997e51462c0577e1a90539bf0b76ee')
|
|
|
|
pkgver() {
|
|
cd ffmpeg
|
|
git describe --tags | sed 's/^n//'
|
|
}
|
|
|
|
prepare() {
|
|
cd ffmpeg
|
|
git cherry-pick -n 988f2e9eb063db7c1a678729f58aab6eba59a55b # fix nvenc on older gpus
|
|
git cherry-pick -n 031f1561cd286596cdb374da32f8aa816ce3b135 # remove compressed_ten_bit_format
|
|
patch -p1 -i ../binutils-2.41.patch # Fix build with binutils 2.41
|
|
|
|
# use non-deprecated nvenc GUID for conftest
|
|
git cherry-pick -n 03823ac0c6a38bd6ba972539e3203a592579792f
|
|
git cherry-pick -n d2b46c1ef768bc31ba9180f6d469d5b8be677500
|
|
}
|
|
|
|
build() {
|
|
cd ffmpeg
|
|
|
|
[[ $CARCH == "armv7h" || $CARCH == "aarch64" ]] && CONFIG='--host-cflags="-fPIC"'
|
|
|
|
./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-fontconfig \
|
|
--enable-gmp \
|
|
--enable-gnutls \
|
|
--enable-gpl \
|
|
--enable-ladspa \
|
|
--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-librsvg \
|
|
--enable-libsoxr \
|
|
--enable-libspeex \
|
|
--enable-libsrt \
|
|
--enable-libssh \
|
|
--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 \
|
|
$CONFIG
|
|
|
|
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:
|