aboutsummaryrefslogtreecommitdiffstats
path: root/community/ffmpeg4/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/ffmpeg4/APKBUILD')
-rw-r--r--community/ffmpeg4/APKBUILD284
1 files changed, 284 insertions, 0 deletions
diff --git a/community/ffmpeg4/APKBUILD b/community/ffmpeg4/APKBUILD
new file mode 100644
index 00000000000..653336731a2
--- /dev/null
+++ b/community/ffmpeg4/APKBUILD
@@ -0,0 +1,284 @@
+# 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.4
+pkgrel=6
+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
+ nasm
+ opus-dev
+ perl-dev
+ pulseaudio-dev
+ sdl2-dev
+ soxr-dev
+ v4l-utils-dev
+ x264-dev
+ x265-dev
+ xvidcore-dev
+ 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
+ flto-auto.patch
+ 0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch
+ 0001-ffbuild-libversion.sh-add-shebang.patch
+ 32bit.patch
+ ffmpeg4-binutils-2.41.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="
+253799eccd129dad331db85def5352178ae22303e42af47fc013a6adfd4b60d1e59ff5f9ac6118fe3b403affa56ea1f3ba658042f526a914fba27050c3065daf ffmpeg-4.4.4.tar.xz
+47dda03ef3fddac1f79998bd07044dd907f9ac311737071546cb5cf6b6c51e29dd39cc4458bb07cab049e8ed497358c1e03a4fab07c6c66d7cfeb782ab752e63 flto-auto.patch
+1047a23eda51b576ac200d5106a1cd318d1d5291643b3a69e025c0a7b6f3dbc9f6eb0e1e6faa231b7e38c8dd4e49a54f7431f87a93664da35825cc2e9e8aedf4 0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch
+38443b570cf32b2ba8ffa9ecc5480425c7da9f93f9773fbb3f9ec5f603b369b6225f4329a1b1f34d0ef30b2c9730f25ff9cff31315ed0a89a600df8e53bd54bf 0001-ffbuild-libversion.sh-add-shebang.patch
+c8efe229b66575c375d74352fbab20780a70a8e600974db1ccdc45822ad7b975825738bc971ef9c226f01cdf2829a76586fe2863c0cb732238536427d056d8ae 32bit.patch
+8ebb11f81b78110f25b902e1c8843612897b4a3fbfc123dfb94986a5841451fbf69fc5938ac6dda41bc28d3e25e53cb1da88600b0da1222ba061425ed12c5f5f ffmpeg4-binutils-2.41.patch
+"