PKGBUILDs/extra/ffmpeg/PKGBUILD

249 lines
5 KiB
Bash
Raw Normal View History

2015-12-20 13:58:12 +00:00
# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Ionut Biru <ibiru@archlinux.org>
2015-01-17 15:31:12 +00:00
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
# Contributor: Paul Mattal <paul@archlinux.org>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
2018-09-21 19:00:45 +00:00
# - remove makedepends on ffnvcodec-headers, remove --enable-nvenc, --enable-nvdec
2018-06-28 13:46:19 +00:00
# - remove depends on aom, remove --enable-libaom
2023-09-19 15:29:14 +00:00
# - remove optdepends on intel-media-sdk, onevpl-intel-gpu
# - remove depends on onevpl, remove --enable-libvpl
2020-05-11 13:48:16 +00:00
# - remove depends on vmaf, remove --enable-vmaf
2020-07-15 02:26:53 +00:00
# - remove depends on rav1e, remove --enable-librav1e
2021-05-06 14:06:44 +00:00
# - remove depends on svt-av1, remove --enable-libsvtav1
2020-12-05 18:46:30 +00:00
# - remove --enable-lto
2015-01-17 15:31:12 +00:00
pkgname=ffmpeg
2024-08-19 23:20:55 +00:00
pkgver=7.0.2
2024-09-21 15:09:13 +00:00
pkgrel=3
2020-06-16 12:22:30 +00:00
epoch=2
2015-12-20 13:58:12 +00:00
pkgdesc='Complete solution to record, convert and stream audio and video'
2019-02-05 14:00:39 +00:00
arch=(x86_64)
2024-02-09 19:32:33 +00:00
url=https://ffmpeg.org
license=(GPL-3.0-only)
2018-06-28 13:46:19 +00:00
depends=(
2019-02-05 14:00:39 +00:00
alsa-lib
bzip2
2023-12-06 13:55:56 +00:00
cairo
2024-02-26 17:45:56 +00:00
dav1d
2019-02-05 14:00:39 +00:00
fontconfig
2024-02-26 17:45:56 +00:00
freetype2
2019-02-05 14:00:39 +00:00
fribidi
2023-12-06 13:55:56 +00:00
glib2
glibc
2019-02-05 14:00:39 +00:00
gmp
2024-08-19 23:20:55 +00:00
gnutls
2019-02-05 14:00:39 +00:00
gsm
2024-02-26 17:45:56 +00:00
harfbuzz
2019-02-05 14:00:39 +00:00
jack
lame
2024-02-26 17:45:56 +00:00
libass
2019-02-05 14:00:39 +00:00
libavc1394
2024-02-26 17:45:56 +00:00
libbluray
libbs2b
2019-02-05 14:00:39 +00:00
libdrm
2024-06-21 22:31:11 +00:00
libdvdnav
libdvdread
2022-09-06 17:52:00 +00:00
libgl
2019-02-05 14:00:39 +00:00
libiec61883
2024-02-26 17:45:56 +00:00
libjxl
2019-02-05 14:00:39 +00:00
libmodplug
2024-02-26 17:45:56 +00:00
libopenmpt
libplacebo
2019-02-05 14:00:39 +00:00
libpulse
libraw1394
2024-02-26 17:45:56 +00:00
librsvg
2019-02-05 14:00:39 +00:00
libsoxr
libssh
libtheora
2024-02-26 17:45:56 +00:00
libva
2019-02-05 14:00:39 +00:00
libvdpau
2024-02-26 17:45:56 +00:00
libvorbis
libvpx
2019-02-05 14:00:39 +00:00
libwebp
libx11
libxcb
libxext
libxml2
libxv
2022-09-06 17:52:00 +00:00
ocl-icd
2019-02-05 14:00:39 +00:00
opencore-amr
openjpeg2
opus
2024-02-26 17:45:56 +00:00
rubberband
2019-02-05 14:00:39 +00:00
sdl2
2024-02-26 17:45:56 +00:00
snappy
2019-02-05 14:00:39 +00:00
speex
2020-04-22 19:57:00 +00:00
srt
2019-02-05 14:00:39 +00:00
v4l-utils
2024-02-26 17:45:56 +00:00
vapoursynth
vid.stab
2023-06-03 18:17:11 +00:00
vulkan-icd-loader
2024-02-26 17:45:56 +00:00
x264
x265
xvidcore
2019-02-05 14:00:39 +00:00
xz
2024-09-21 15:09:13 +00:00
zeromq
2024-02-26 17:45:56 +00:00
zimg
2019-02-05 14:00:39 +00:00
zlib
2024-02-09 19:37:30 +00:00
)
2019-02-05 14:00:39 +00:00
makedepends=(
2020-12-05 18:46:30 +00:00
amf-headers
2020-06-10 12:38:11 +00:00
avisynthplus
2020-12-05 18:46:30 +00:00
clang
2023-12-06 13:55:56 +00:00
frei0r-plugins
2019-02-05 14:00:39 +00:00
git
ladspa
2022-09-06 17:52:00 +00:00
mesa
2019-02-05 14:00:39 +00:00
nasm
2022-09-06 17:52:00 +00:00
opencl-headers
vulkan-headers
2018-06-28 13:46:19 +00:00
)
2020-06-09 16:23:36 +00:00
optdepends=(
'avisynthplus: AviSynthPlus support'
2023-12-06 13:55:56 +00:00
'frei0r-plugins: Frei0r video effects support'
2020-06-09 16:23:36 +00:00
'ladspa: LADSPA filters'
)
2018-06-28 13:46:19 +00:00
provides=(
2019-02-05 14:00:39 +00:00
libavcodec.so
libavdevice.so
libavfilter.so
libavformat.so
libavutil.so
libpostproc.so
libswresample.so
libswscale.so
2018-06-28 13:46:19 +00:00
)
2022-04-05 12:50:00 +00:00
options=(
debug
)
2024-08-19 23:20:55 +00:00
_tag=a18b979d17fa169a6f93c5be8732533c8e06337d
2020-06-09 16:23:36 +00:00
source=(
2022-09-06 12:50:25 +00:00
git+https://git.ffmpeg.org/ffmpeg.git?signed#tag=${_tag}
2022-02-17 19:12:18 +00:00
add-av_stream_get_first_dts-for-chromium.patch
2020-06-09 16:23:36 +00:00
)
2024-08-19 23:20:55 +00:00
b2sums=('bcc0fb367d2822665f0918292a0cf581e0119d6ba6d2e3d0b6e794b6f74d30c118b5c47e26b5687473f01b346f8ec7e885f80729ce6115e18003b2371ff4553f'
'555274228e09a233d92beb365d413ff5c718a782008075552cafb2130a3783cf976b51dfe4513c15777fb6e8397a34122d475080f2c4483e8feea5c0d878e6de')
2022-09-06 12:50:25 +00:00
validpgpkeys=(DD1EC9E8DE085C629B3E1846B18E8928B3948D64) # Michael Niedermayer <michael@niedermayer.cc>
2015-01-17 15:31:12 +00:00
2019-09-18 04:32:36 +00:00
prepare() {
cd ffmpeg
2022-02-17 19:42:21 +00:00
patch -Np1 -i ../add-av_stream_get_first_dts-for-chromium.patch # https://crbug.com/1251779
2024-09-09 01:23:37 +00:00
# Fix VAAPI AV1 performance with Mesa
git cherry-pick -n fe9d889dcd79ea18d4dfaa39df4ddbd4c8c3b15c
git cherry-pick -n d2d911eb9a2fc6eb8d86b3ae025a56c1a2692fba
2022-02-17 19:42:21 +00:00
}
2022-02-17 19:12:18 +00:00
2022-02-17 19:42:21 +00:00
pkgver() {
cd ffmpeg
git describe --tags | sed 's/^n//'
2019-09-18 04:32:36 +00:00
}
2015-01-17 15:31:12 +00:00
build() {
2024-06-21 22:31:11 +00:00
export PKG_CONFIG_PATH='/usr/lib/mbedtls2/pkgconfig'
2018-07-19 18:05:04 +00:00
cd ffmpeg
2015-01-17 15:31:12 +00:00
./configure \
2019-09-07 13:50:03 +00:00
--prefix=/usr \
2015-01-17 15:31:12 +00:00
--disable-debug \
--disable-static \
--disable-stripping \
2020-12-05 18:46:30 +00:00
--enable-amf \
2020-05-26 18:25:04 +00:00
--enable-avisynth \
2020-12-05 18:46:30 +00:00
--enable-cuda-llvm \
2015-01-17 15:31:12 +00:00
--enable-fontconfig \
2023-12-06 13:55:56 +00:00
--enable-frei0r \
2016-09-20 12:46:07 +00:00
--enable-gmp \
2024-08-19 23:20:55 +00:00
--enable-gnutls \
2015-01-17 15:31:12 +00:00
--enable-gpl \
2015-09-08 12:06:28 +00:00
--enable-ladspa \
2015-01-17 15:31:12 +00:00
--enable-libass \
--enable-libbluray \
2022-09-06 17:52:00 +00:00
--enable-libbs2b \
2019-08-06 22:57:29 +00:00
--enable-libdav1d \
2018-05-13 16:22:13 +00:00
--enable-libdrm \
2024-06-21 22:31:11 +00:00
--enable-libdvdnav \
--enable-libdvdread \
2015-01-17 15:31:12 +00:00
--enable-libfreetype \
--enable-libfribidi \
--enable-libgsm \
2023-12-06 13:55:56 +00:00
--enable-libharfbuzz \
2016-04-03 14:03:12 +00:00
--enable-libiec61883 \
2018-07-16 12:37:04 +00:00
--enable-libjack \
2023-03-20 17:53:03 +00:00
--enable-libjxl \
2015-01-17 15:31:12 +00:00
--enable-libmodplug \
--enable-libmp3lame \
--enable-libopencore_amrnb \
--enable-libopencore_amrwb \
--enable-libopenjpeg \
2023-03-09 18:00:37 +00:00
--enable-libopenmpt \
2015-01-17 15:31:12 +00:00
--enable-libopus \
2023-12-06 13:55:56 +00:00
--enable-libplacebo \
2015-01-17 15:31:12 +00:00
--enable-libpulse \
2021-04-27 18:37:59 +00:00
--enable-librsvg \
2023-12-06 13:55:56 +00:00
--enable-librubberband \
--enable-libsnappy \
2015-07-28 23:19:46 +00:00
--enable-libsoxr \
2015-01-17 15:31:12 +00:00
--enable-libspeex \
2020-04-22 19:57:00 +00:00
--enable-libsrt \
2015-03-18 19:27:52 +00:00
--enable-libssh \
2015-01-17 15:31:12 +00:00
--enable-libtheora \
--enable-libv4l2 \
2015-11-03 00:34:32 +00:00
--enable-libvidstab \
2015-01-17 15:31:12 +00:00
--enable-libvorbis \
--enable-libvpx \
2015-07-15 12:15:46 +00:00
--enable-libwebp \
2015-01-17 15:31:12 +00:00
--enable-libx264 \
--enable-libx265 \
2017-04-13 23:51:58 +00:00
--enable-libxcb \
2018-01-11 13:37:40 +00:00
--enable-libxml2 \
2015-01-17 15:31:12 +00:00
--enable-libxvid \
2021-03-16 12:39:54 +00:00
--enable-libzimg \
2024-09-21 15:09:13 +00:00
--enable-libzmq \
2022-09-06 17:52:00 +00:00
--enable-opencl \
--enable-opengl \
2015-01-17 15:31:12 +00:00
--enable-shared \
2024-02-09 19:32:33 +00:00
--enable-vapoursynth \
2015-01-17 15:31:12 +00:00
--enable-version3 \
2022-09-06 17:52:00 +00:00
--enable-vulkan $CONFIG
2015-01-17 15:31:12 +00:00
make
make tools/qt-faststart
2018-05-12 16:35:34 +00:00
make doc/ff{mpeg,play}.1
2015-01-17 15:31:12 +00:00
}
package() {
2024-02-26 17:45:56 +00:00
depends+=(
libass.so
libbluray.so
libbs2b.so
libdav1d.so
libfreetype.so
libharfbuzz.so
libjxl.so
libopenmpt.so
libplacebo.so
librsvg-2.so
librubberband.so
libva.so
libva-drm.so
libva-x11.so
libvidstab.so
libvorbisenc.so
libvorbis.so
libvpx.so
libx264.so
libx265.so
libxvidcore.so
libzimg.so
2024-09-21 15:09:13 +00:00
libazmq.so
2024-02-26 17:45:56 +00:00
)
2018-07-19 18:05:04 +00:00
make DESTDIR="${pkgdir}" -C ffmpeg install install-man
install -Dm 755 ffmpeg/tools/qt-faststart "${pkgdir}"/usr/bin/
2015-01-17 15:31:12 +00:00
}
2015-12-20 13:58:12 +00:00
# vim: ts=2 sw=2 et: