diff options
Diffstat (limited to 'community/ffmpeg/APKBUILD')
-rw-r--r-- | community/ffmpeg/APKBUILD | 293 |
1 files changed, 258 insertions, 35 deletions
diff --git a/community/ffmpeg/APKBUILD b/community/ffmpeg/APKBUILD index c1289f6361e..ec4418f9d0b 100644 --- a/community/ffmpeg/APKBUILD +++ b/community/ffmpeg/APKBUILD @@ -3,24 +3,125 @@ # Contributor: Jakub Skrzypnik <j.skrzypnik@openmailbox.org> # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=ffmpeg -pkgver=4.2.1 -pkgrel=1 +pkgver=6.1.1 +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 -subpackages="$pkgname-dev $pkgname-doc $pkgname-libs" -makedepends="gnutls-dev lame-dev libvorbis-dev xvidcore-dev zlib-dev libvdpau-dev - imlib2-dev x264-dev libtheora-dev coreutils bzip2-dev perl-dev - libvpx-dev sdl2-dev libxfixes-dev libva-dev alsa-lib-dev - v4l-utils-dev yasm opus-dev x265-dev libass-dev" +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-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 + 0001-ffbuild-libversion.sh-add-shebang.patch + add-av_stream_get_first_dts-for-chromium.patch + v4l-ioctl.patch + riscv-compliant-rvv.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: @@ -74,45 +175,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 | arm*) _asm="--disable-asm" ;; + 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-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 \ - --disable-stripping \ - --disable-static \ - --disable-librtmp \ --enable-vaapi \ --enable-vdpau \ - --enable-libopus \ - $_asm $_dbg + --enable-version3 \ + --enable-vulkan \ + --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 @@ -127,15 +278,87 @@ 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="3efddc7d6bbccba9a1f55bf0e6caa8a578405a7e12058ce526766ed5eca9d45a783dbf86325ab860a8eabbe29701f8093e691f0138e0d9cc883cfe5200b3561b ffmpeg-4.2.1.tar.xz -1047a23eda51b576ac200d5106a1cd318d1d5291643b3a69e025c0a7b6f3dbc9f6eb0e1e6faa231b7e38c8dd4e49a54f7431f87a93664da35825cc2e9e8aedf4 0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch" +sha512sums=" +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 +f3d824511a880bf6971f35271c8f8e7001053a93be212a732b49738e990d3d4ac99a302f28002f588e2cb5a2c01d22db159c1990853f3a201bca56a32ba6924e riscv-compliant-rvv.patch +" |