diff options
Diffstat (limited to 'community/ffmpeg/APKBUILD')
-rw-r--r-- | community/ffmpeg/APKBUILD | 256 |
1 files changed, 211 insertions, 45 deletions
diff --git a/community/ffmpeg/APKBUILD b/community/ffmpeg/APKBUILD index c7b1f17d577..1ef551406e5 100644 --- a/community/ffmpeg/APKBUILD +++ b/community/ffmpeg/APKBUILD @@ -3,23 +3,31 @@ # Contributor: Jakub Skrzypnik <j.skrzypnik@openmailbox.org> # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=ffmpeg -pkgver=4.4 +pkgver=6.1.1 pkgrel=4 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 -subpackages="$pkgname-dev $pkgname-doc $pkgname-libs" makedepends=" alsa-lib-dev aom-dev bzip2-dev coreutils - gnutls-dev + 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 @@ -29,30 +37,80 @@ makedepends=" 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 - yasm + zeromq-dev + zimg-dev zlib-dev - dav1d-dev - vidstab-dev - vulkan-loader-dev " checkdepends="rsync" +subpackages=" + ffplay + $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-libavutil-clean-up-unused-FF_SYMVER-macro.patch - CVE-2021-33815.patch 0001-ffbuild-libversion.sh-add-shebang.patch + add-av_stream_get_first_dts-for-chromium.patch + v4l-ioctl.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: @@ -116,54 +174,95 @@ source="https://ffmpeg.org/releases/ffmpeg-$pkgver.tar.xz # - CVE-2017-14223 # - CVE-2017-14225 -build() { - local _dbg="--disable-debug" - local _asm="" - [ -n "$DEBUG" ] && _dbg="--enable-debug" +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) _asm="--disable-asm" ;; - mips*) _asm="--disable-asm --disable-inline-asm --disable-mipsdsp --disable-mipsdspr2 --disable-msa --disable-msa2 --disable-mipsfpu --disable-mips64r6 --disable-mips64r2" ;; + x86) local asm="--disable-asm" ;; esac ./configure \ --prefix=/usr \ - --enable-avresample \ + --disable-librtmp \ + --disable-lzma \ + --disable-static \ + --disable-stripping \ --enable-avfilter \ - --enable-gnutls \ --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-libxvid \ + --enable-libwebp \ --enable-libx264 \ --enable-libx265 \ - --enable-libtheora \ - --enable-libv4l2 \ - --enable-libdav1d \ - --enable-postproc \ + --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-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-version3 \ --enable-vulkan \ - $_asm $_dbg + --optflags="-O3" \ + $_jxl \ + $asm \ + $_svt_av1 \ + $_onevpl make - ${CC:-gcc} -o tools/qt-faststart $CFLAGS tools/qt-faststart.c - make doc/ffmpeg.1 doc/ffplay.1 + ${CC:-gcc} -o tools/qt-faststart $CFLAGS $LDFLAGS tools/qt-faststart.c } # https://ffmpeg.org/fate.html @@ -178,19 +277,86 @@ check() { package() { make DESTDIR="$pkgdir" install install-man install -D -m755 tools/qt-faststart "$pkgdir/usr/bin/qt-faststart" -# strip --strip-debug "$pkgdir"/usr/lib/*.a +} + +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="Libraries for ffmpeg" - replaces="ffmpeg" - mkdir -p "$subpkgdir"/usr - mv "$pkgdir"/usr/lib "$subpkgdir"/usr + 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=" -4f9e99958904bf1b99b4b17e2104729dfe67e0080cac525137597974597ff265c9847eb1be0771aa443c85691025bc0747d213e6c1281f7b67d18d8b0e8c5080 ffmpeg-4.4.tar.xz -1047a23eda51b576ac200d5106a1cd318d1d5291643b3a69e025c0a7b6f3dbc9f6eb0e1e6faa231b7e38c8dd4e49a54f7431f87a93664da35825cc2e9e8aedf4 0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch -ebcae42657870fff5542bed2b06f07c9f5cce1bd324842a3c0b1c6d12c72fbb66e00e7354d558c359331cf2c74bd8309b26d8460a9b6f2ef743f1ad0e9b1024d CVE-2021-33815.patch +fca3f8635f29182e3ae0fe843a8a53614e4b47e22c11508df3ff7cdbafbb4b5ee0d82d9b3332871f7c1032033b1cad2f67557d7c5f7f7d85e2adadca122965d5 ffmpeg-6.1.1.tar.xz 38443b570cf32b2ba8ffa9ecc5480425c7da9f93f9773fbb3f9ec5f603b369b6225f4329a1b1f34d0ef30b2c9730f25ff9cff31315ed0a89a600df8e53bd54bf 0001-ffbuild-libversion.sh-add-shebang.patch +2804a3317a9c5fbc793af1dc7b9c13113bf8fd232f14a580ad98f25d848edf93015fd08c0aad0316e3a5439aef88ef15be3520dcbfe844791a5f03490a4c7f0b add-av_stream_get_first_dts-for-chromium.patch +c73d751e5d2a8214f0beb1b48fac6829903d46ad7db0dddddf47013193efce487825de495a24408d9a8e3c7f78f15fe62a6c14b54efc80e63dde9903cf08e918 v4l-ioctl.patch " |