diff options
Diffstat (limited to 'community/ffmpeg4/APKBUILD')
-rw-r--r-- | community/ffmpeg4/APKBUILD | 284 |
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 +" |