mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-06-09 11:35:43 +02:00
379 lines
8.8 KiB
Text
379 lines
8.8 KiB
Text
# Contributor: Sergei Lukin <sergej.lukin@gmail.com>
|
|
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
|
|
# Contributor: Jakub Skrzypnik <j.skrzypnik@openmailbox.org>
|
|
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
|
|
pkgname=ffmpeg
|
|
pkgver=6.1.2
|
|
pkgrel=3
|
|
pkgdesc="Complete and free Internet live audio and video broadcasting solution for Linux/Unix"
|
|
url="https://ffmpeg.org/"
|
|
arch="all"
|
|
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
|
|
makedepends="
|
|
alsa-lib-dev
|
|
aom-dev
|
|
bzip2-dev
|
|
coreutils
|
|
dav1d-dev
|
|
fontconfig-dev
|
|
freetype-dev
|
|
fribidi-dev
|
|
harfbuzz-dev
|
|
imlib2-dev
|
|
ladspa-dev
|
|
lame-dev
|
|
libass-dev
|
|
libbluray-dev
|
|
libdrm-dev
|
|
libopenmpt-dev
|
|
libplacebo-dev
|
|
librist-dev
|
|
libsrt-dev
|
|
libssh-dev
|
|
libtheora-dev
|
|
libva-dev
|
|
libvdpau-dev
|
|
libvorbis-dev
|
|
libvpx-dev
|
|
libwebp-dev
|
|
libxfixes-dev
|
|
libxml2-dev
|
|
lilv-dev
|
|
nasm
|
|
openssl-dev
|
|
opus-dev
|
|
perl-dev
|
|
pulseaudio-dev
|
|
rav1e-dev
|
|
sdl2-dev
|
|
soxr-dev
|
|
v4l-utils-dev
|
|
vidstab-dev
|
|
vulkan-loader-dev
|
|
x264-dev
|
|
x265-dev
|
|
xvidcore-dev
|
|
zeromq-dev
|
|
zimg-dev
|
|
zlib-dev
|
|
"
|
|
checkdepends="rsync"
|
|
subpackages="
|
|
ffplay
|
|
$pkgname-dbg
|
|
$pkgname-dev
|
|
$pkgname-doc
|
|
$pkgname-libavcodec
|
|
$pkgname-libavdevice
|
|
$pkgname-libavfilter
|
|
$pkgname-libavformat
|
|
$pkgname-libavutil
|
|
$pkgname-libpostproc
|
|
$pkgname-libswresample
|
|
$pkgname-libswscale
|
|
$pkgname-libs
|
|
"
|
|
source="https://ffmpeg.org/releases/ffmpeg-$pkgver.tar.xz
|
|
0001-ffbuild-libversion.sh-add-shebang.patch
|
|
add-av_stream_get_first_dts-for-chromium.patch
|
|
vaapi-type.patch
|
|
vulkan-gcc14.patch
|
|
s390x-pcm-bluray.patch
|
|
riscv-compliant-rvv.patch
|
|
mlpdsp_armv5te-labels.patch
|
|
detect-v4l2-fbdev.patch
|
|
posix-ioctl.patch
|
|
FFmpeg-devel-v2-1-2-lavc-vaapi_decode-Make-it-possible-to-send-multiple-slice-params-buffers.patch
|
|
FFmpeg-devel-v2-2-2-lavc-vaapi_av1-Avoid-sending-the-same-slice-buffer-multiple-times.patch
|
|
"
|
|
options="!check" # tests/data/hls-lists.append.m3u8 fails
|
|
|
|
# secfixes:
|
|
# 6.1-r0:
|
|
# - CVE-2023-47470
|
|
# - CVE-2023-46407
|
|
# 6.0.1-r0:
|
|
# - CVE-2023-47342
|
|
# 6.0-r0:
|
|
# - CVE-2022-3965
|
|
# 5.1-r1:
|
|
# - ALPINE-14094
|
|
# 4.4.1-r0:
|
|
# - CVE-2020-20446
|
|
# - CVE-2020-20453
|
|
# - CVE-2020-22015
|
|
# - CVE-2020-22019
|
|
# - CVE-2020-22021
|
|
# - CVE-2020-22037
|
|
# - CVE-2021-38114
|
|
# - CVE-2021-38171
|
|
# - CVE-2021-38291
|
|
# 4.4-r1:
|
|
# - CVE-2021-33815
|
|
# 4.4-r0:
|
|
# - CVE-2020-20450
|
|
# - CVE-2020-21041
|
|
# - CVE-2020-22038
|
|
# - CVE-2020-22042
|
|
# - CVE-2020-24020
|
|
# - CVE-2021-30123
|
|
# 4.3.2-r0:
|
|
# - CVE-2020-35964
|
|
# - CVE-2020-35965
|
|
# 4.3.1-r0:
|
|
# - CVE-2020-14212
|
|
# 4.3-r0:
|
|
# - CVE-2020-13904
|
|
# - CVE-2020-12284
|
|
# 4.2.1-r0:
|
|
# - CVE-2019-15942
|
|
# 4.2-r0:
|
|
# - CVE-2019-17539
|
|
# - CVE-2019-17542
|
|
# 4.1.4-r0:
|
|
# - CVE-2019-12730
|
|
# 4.1.3-r0:
|
|
# - CVE-2019-9718
|
|
# - CVE-2019-9721
|
|
# - CVE-2019-11338
|
|
# - CVE-2019-11339
|
|
# 4.1.1-r0:
|
|
# - CVE-2019-1000016
|
|
# 4.1-r0:
|
|
# - CVE-2018-13305
|
|
# - CVE-2018-15822
|
|
# 4.0.2-r0:
|
|
# - CVE-2018-13301
|
|
# - CVE-2018-13303
|
|
# - CVE-2018-13304
|
|
# - CVE-2018-1999010
|
|
# - CVE-2018-1999011
|
|
# - CVE-2018-1999012
|
|
# - CVE-2018-1999013
|
|
# - CVE-2018-1999014
|
|
# - CVE-2018-1999015
|
|
# 4.0.1-r0:
|
|
# - CVE-2018-12459
|
|
# - CVE-2018-12460
|
|
# 4.0.0-r0:
|
|
# - CVE-2018-6912
|
|
# - CVE-2018-7757
|
|
# - CVE-2018-9841
|
|
# 3.4.4-r0:
|
|
# - CVE-2018-14395
|
|
# 3.4.3-r0:
|
|
# - CVE-2018-7557
|
|
# - CVE-2018-7751
|
|
# - CVE-2018-10001
|
|
# - CVE-2018-12458
|
|
# - CVE-2018-13300
|
|
# - CVE-2018-13302
|
|
# - CVE-2018-14394
|
|
# 3.3.4-r0:
|
|
# - CVE-2017-14054
|
|
# - CVE-2017-14055
|
|
# - CVE-2017-14056
|
|
# - CVE-2017-14057
|
|
# - CVE-2017-14058
|
|
# - CVE-2017-14059
|
|
# - CVE-2017-14169
|
|
# - CVE-2017-14170
|
|
# - CVE-2017-14171
|
|
# - CVE-2017-14222
|
|
# - CVE-2017-14223
|
|
# - CVE-2017-14225
|
|
|
|
case "$CARCH" in
|
|
x86|armhf|armv7)
|
|
;;
|
|
*)
|
|
makedepends="$makedepends svt-av1-dev"
|
|
_svt_av1="--enable-libsvtav1"
|
|
;;
|
|
esac
|
|
|
|
case "$CARCH" in
|
|
s390x)
|
|
;;
|
|
*)
|
|
makedepends="$makedepends libjxl-dev"
|
|
_jxl="--enable-libjxl"
|
|
;;
|
|
esac
|
|
|
|
case "$CARCH" in
|
|
x86_64)
|
|
makedepends="$makedepends onevpl-dev"
|
|
_onevpl="--enable-libvpl"
|
|
;;
|
|
esac
|
|
|
|
build() {
|
|
case "$CARCH" in
|
|
x86) local asm="--disable-asm" ;;
|
|
esac
|
|
|
|
./configure \
|
|
--prefix=/usr \
|
|
--disable-librtmp \
|
|
--disable-lzma \
|
|
--disable-static \
|
|
--disable-stripping \
|
|
--enable-avfilter \
|
|
--enable-gpl \
|
|
--enable-ladspa \
|
|
--enable-libaom \
|
|
--enable-libass \
|
|
--enable-libbluray \
|
|
--enable-libdav1d \
|
|
--enable-libdrm \
|
|
--enable-libfontconfig \
|
|
--enable-libfreetype \
|
|
--enable-libfribidi \
|
|
--enable-libharfbuzz \
|
|
--enable-libmp3lame \
|
|
--enable-libopenmpt \
|
|
--enable-libopus \
|
|
--enable-libplacebo \
|
|
--enable-libpulse \
|
|
--enable-librav1e \
|
|
--enable-librist \
|
|
--enable-libsoxr \
|
|
--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-libzmq \
|
|
--enable-lto=auto \
|
|
--enable-lv2 \
|
|
--enable-openssl \
|
|
--enable-pic \
|
|
--enable-postproc \
|
|
--enable-pthreads \
|
|
--enable-shared \
|
|
--enable-vaapi \
|
|
--enable-vdpau \
|
|
--enable-version3 \
|
|
--enable-vulkan \
|
|
--optflags="-O3" \
|
|
$_jxl \
|
|
$asm \
|
|
$_svt_av1 \
|
|
$_onevpl
|
|
make
|
|
${CC:-gcc} -o tools/qt-faststart $CFLAGS $LDFLAGS tools/qt-faststart.c
|
|
}
|
|
|
|
# https://ffmpeg.org/fate.html
|
|
check() {
|
|
./configure \
|
|
--samples=fate-suite/
|
|
make fate-rsync
|
|
make fate-list
|
|
make fate
|
|
}
|
|
|
|
package() {
|
|
make DESTDIR="$pkgdir" install install-man
|
|
install -D -m755 tools/qt-faststart "$pkgdir/usr/bin/qt-faststart"
|
|
}
|
|
|
|
doc() {
|
|
default_doc
|
|
|
|
amove usr/share/ffmpeg/examples
|
|
}
|
|
|
|
libavcodec() {
|
|
pkgdesc="$pkgdesc (libavcodec library)"
|
|
|
|
amove usr/lib/libavcodec.so.*
|
|
}
|
|
|
|
libavdevice() {
|
|
pkgdesc="$pkgdesc (libavdevice library)"
|
|
|
|
amove usr/lib/libavdevice.so.*
|
|
}
|
|
|
|
libavfilter() {
|
|
pkgdesc="$pkgdesc (libavfilter library)"
|
|
|
|
amove usr/lib/libavfilter.so.*
|
|
}
|
|
|
|
libavformat() {
|
|
pkgdesc="$pkgdesc (libavformat library)"
|
|
|
|
amove usr/lib/libavformat.so.*
|
|
}
|
|
|
|
libavutil() {
|
|
pkgdesc="$pkgdesc (libavutil library)"
|
|
|
|
amove usr/lib/libavutil.so.*
|
|
}
|
|
|
|
libpostproc() {
|
|
pkgdesc="$pkgdesc (libpostproc library)"
|
|
|
|
amove usr/lib/libpostproc.so.*
|
|
}
|
|
|
|
libswresample() {
|
|
pkgdesc="$pkgdesc (libswresample library)"
|
|
|
|
amove usr/lib/libswresample.so.*
|
|
}
|
|
|
|
libswscale() {
|
|
pkgdesc="$pkgdesc (libswscale library)"
|
|
|
|
amove usr/lib/libswscale.so.*
|
|
}
|
|
|
|
libs() {
|
|
pkgdesc="compat hack for all ffmpeg libs"
|
|
|
|
mkdir -p "$subpkgdir"
|
|
depends="
|
|
$pkgname-libavcodec=$pkgver-r$pkgrel
|
|
$pkgname-libavdevice=$pkgver-r$pkgrel
|
|
$pkgname-libavfilter=$pkgver-r$pkgrel
|
|
$pkgname-libavformat=$pkgver-r$pkgrel
|
|
$pkgname-libavutil=$pkgver-r$pkgrel
|
|
$pkgname-libpostproc=$pkgver-r$pkgrel
|
|
$pkgname-libswresample=$pkgver-r$pkgrel
|
|
$pkgname-libswscale=$pkgver-r$pkgrel
|
|
"
|
|
}
|
|
|
|
ffplay() {
|
|
pkgdesc="$pkgdesc (example media player)"
|
|
amove usr/bin/ffplay
|
|
}
|
|
|
|
sha512sums="
|
|
3a009184d971fc3168e1322d1d724aae787ed0e9c152d8d1813ea0b9099bda3b35c41fcabbd7b140560e7a8fa9fa1ffd7f0938432d5d498c43829fc6cc3d9e08 ffmpeg-6.1.2.tar.xz
|
|
38443b570cf32b2ba8ffa9ecc5480425c7da9f93f9773fbb3f9ec5f603b369b6225f4329a1b1f34d0ef30b2c9730f25ff9cff31315ed0a89a600df8e53bd54bf 0001-ffbuild-libversion.sh-add-shebang.patch
|
|
2804a3317a9c5fbc793af1dc7b9c13113bf8fd232f14a580ad98f25d848edf93015fd08c0aad0316e3a5439aef88ef15be3520dcbfe844791a5f03490a4c7f0b add-av_stream_get_first_dts-for-chromium.patch
|
|
de033646a125716a6f37400c3a917ce2c36193b0b79403392b6c8ea22cc23472d0dd394f689ba900b9eef41f33fa34c30a26459145151415b62b2bdc718e1cff vaapi-type.patch
|
|
24022de34db1834375dd28a3bfa19dc35a54d8b3d982f61649575730e3fad704b4e710f997f8a096b6318cd6249685ecfa64134e42d0c2a12ecdc9c2d6fce1b4 vulkan-gcc14.patch
|
|
5b64725fd11323b78b90f077458e513c53e50be0a34715b2425e647901901f502e440596441a385a2f375a6735c871eac53867c928861ab27e042e7a6b40c0cd s390x-pcm-bluray.patch
|
|
f3d824511a880bf6971f35271c8f8e7001053a93be212a732b49738e990d3d4ac99a302f28002f588e2cb5a2c01d22db159c1990853f3a201bca56a32ba6924e riscv-compliant-rvv.patch
|
|
a678b4721e06bde21e34778c859e3826e3d60c8e9ae35b21b33cf480279ea7b57814216a2fe223a50eb9a1f98145cac0c8835e0c54d6f55fc2f6f08c1aa0db83 mlpdsp_armv5te-labels.patch
|
|
1183cfdb1d7d0ce1b73f6f202d21136b3c3d14503f2be0b7a79c9d8a9e6e85d85a56f24bc86046e90b51c23f7235f60175a9db22b4be78260487d604357276b2 detect-v4l2-fbdev.patch
|
|
2e26740e43f59e218c3d3abebdac87c9ffd35b336e8e8f25692c25538ba95abe664deac52ac47f55d6ebb803ce8cd80c3576da5f90b48feb26b8abcc571e43c0 posix-ioctl.patch
|
|
d536f253f97b3c406c31f1eb7016194180f581968c4c0cb0135d199df20850784e38428e2c87da923179723278624da351343d1e1015363d2554cc15d5fa6401 FFmpeg-devel-v2-1-2-lavc-vaapi_decode-Make-it-possible-to-send-multiple-slice-params-buffers.patch
|
|
3750d6c00bf0114161fbf373c7dac8c5ad56022820d0b32f3e077b61f8b334b6732a42141df853ac4d7dcc5b18113cb1538c3b99ccbaab30facd9c835fb4bf4e FFmpeg-devel-v2-2-2-lavc-vaapi_av1-Avoid-sending-the-same-slice-buffer-multiple-times.patch
|
|
"
|