1
0
Fork 0
mirror of https://gitlab.alpinelinux.org/alpine/aports.git synced 2025-07-24 19:55:26 +03:00
aports/community/ffmpeg4/APKBUILD

278 lines
5.7 KiB
Text

# Contributor: Sergei Lukin <sergej.lukin@gmail.com>
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Contributor: Jakub Skrzypnik <j.skrzypnik@openmailbox.org>
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=ffmpeg4
pkgver=4.4.3
pkgrel=2
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"
options="!check" # tests/data/hls-lists.append.m3u8 fails
depends_dev="!ffmpeg-dev"
makedepends="
alsa-lib-dev
aom-dev
bzip2-dev
coreutils
gnutls-dev
imlib2-dev
lame-dev
libass-dev
libdrm-dev
libsrt-dev
libssh-dev
libtheora-dev
libva-dev
libvdpau-dev
libvorbis-dev
libvpx-dev
libwebp-dev
libxfixes-dev
opus-dev
perl-dev
pulseaudio-dev
sdl2-dev
soxr-dev
v4l-utils-dev
x264-dev
x265-dev
xvidcore-dev
yasm
zlib-dev
dav1d-dev
vidstab-dev
vulkan-loader-dev
"
checkdepends="rsync"
subpackages="
$pkgname-dev
$pkgname-libavcodec
$pkgname-libavdevice
$pkgname-libavfilter
$pkgname-libavformat
$pkgname-libavutil
$pkgname-libpostproc
$pkgname-libswresample
$pkgname-libswscale
"
source="https://ffmpeg.org/releases/ffmpeg-$pkgver.tar.xz
0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch
0001-ffbuild-libversion.sh-add-shebang.patch
"
builddir="$srcdir/ffmpeg-$pkgver"
# secfixes:
# 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
# This is a huge library of audio/video codecs; performance matters,
# compiling it with -Os doesn't make sense.
export CFLAGS=${CFLAGS/-Os/-O2}
export CPPFLAGS=${CPPFLAGS/-Os/-O2}
export CXXFLAGS=${CXXFLAGS/-Os/-O2}
build() {
local _dbg="--disable-debug"
local _asm=""
[ -n "$DEBUG" ] && _dbg="--enable-debug"
case "$CARCH" in
x86) _asm="--disable-asm" ;;
esac
./configure \
--prefix=/usr \
--enable-avresample \
--enable-avfilter \
--enable-gnutls \
--enable-gpl \
--enable-libass \
--enable-libmp3lame \
--enable-libpulse \
--enable-libvorbis \
--enable-libvpx \
--enable-libxvid \
--enable-libx264 \
--enable-libx265 \
--enable-libtheora \
--enable-libv4l2 \
--enable-libdav1d \
--enable-lto \
--enable-postproc \
--enable-pic \
--enable-pthreads \
--enable-shared \
--enable-libxcb \
--enable-libsrt \
--enable-libssh \
--enable-libvidstab \
--disable-stripping \
--disable-static \
--disable-librtmp \
--enable-libaom \
--enable-libopus \
--enable-libsoxr \
--enable-libwebp \
--enable-vaapi \
--enable-vdpau \
--enable-vulkan \
--enable-libdrm \
$_asm $_dbg
make
}
# https://ffmpeg.org/fate.html
check() {
./configure \
--samples=fate-suite/
make fate-rsync
make fate-list
make fate
}
package() {
make DESTDIR="$pkgdir" install
# remove files conflicting with main ffmpeg package
rm -rf "$pkgdir"/usr/bin
rm -rf "$pkgdir"/usr/share
}
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.*
}
sha512sums="
0b232b66555237ed1a061807f88dbc5e6cd156e604c5d611bb6ac0c32b9006414cc4f30d632b482d9cb95f526df98b36efa3af9c863c52e7b7aa1a183545d915 ffmpeg-4.4.3.tar.xz
1047a23eda51b576ac200d5106a1cd318d1d5291643b3a69e025c0a7b6f3dbc9f6eb0e1e6faa231b7e38c8dd4e49a54f7431f87a93664da35825cc2e9e8aedf4 0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch
38443b570cf32b2ba8ffa9ecc5480425c7da9f93f9773fbb3f9ec5f603b369b6225f4329a1b1f34d0ef30b2c9730f25ff9cff31315ed0a89a600df8e53bd54bf 0001-ffbuild-libversion.sh-add-shebang.patch
"