diff options
Diffstat (limited to 'community/ffmpeg/APKBUILD')
-rw-r--r-- | community/ffmpeg/APKBUILD | 232 |
1 files changed, 178 insertions, 54 deletions
diff --git a/community/ffmpeg/APKBUILD b/community/ffmpeg/APKBUILD index 72dde195823..ec4418f9d0b 100644 --- a/community/ffmpeg/APKBUILD +++ b/community/ffmpeg/APKBUILD @@ -3,24 +3,30 @@ # Contributor: Jakub Skrzypnik <j.skrzypnik@openmailbox.org> # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=ffmpeg -pkgver=5.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=" 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 @@ -31,30 +37,57 @@ 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 0001-ffbuild-libversion.sh-add-shebang.patch add-av_stream_get_first_dts-for-chromium.patch - remove-ipfs-gateway.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: @@ -142,71 +175,95 @@ source="https://ffmpeg.org/releases/ffmpeg-$pkgver.tar.xz # - 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/} -export CPPFLAGS=${CPPFLAGS/-Os/} -export CXXFLAGS=${CXXFLAGS/-Os/} - case "$CARCH" in -x86_64) +x86|armhf|armv7) + ;; +*) makedepends="$makedepends svt-av1-dev" _svt_av1="--enable-libsvtav1" ;; +esac + +case "$CARCH" in +s390x) + ;; *) - _svt_av1="" + makedepends="$makedepends libjxl-dev" + _jxl="--enable-libjxl" + ;; esac +case "$CARCH" in +x86_64) + makedepends="$makedepends onevpl-dev" + _onevpl="--enable-libvpl" + ;; +esac build() { - local _dbg="--disable-debug" - local _asm="" - [ -n "$DEBUG" ] && _dbg="--enable-debug" - case "$CARCH" in - x86) _asm="--disable-asm" ;; + x86) local asm="--disable-asm" ;; esac ./configure \ --prefix=/usr \ + --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-lto \ - --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-librist \ - --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 \ - --enable-libdrm \ - $_asm $_dbg $_svt_av1 + --optflags="-O3" \ + $_jxl \ + $asm \ + $_svt_av1 \ + $_onevpl make - ${CC:-gcc} -o tools/qt-faststart $CFLAGS tools/qt-faststart.c + ${CC:-gcc} -o tools/qt-faststart $CFLAGS $LDFLAGS tools/qt-faststart.c } # https://ffmpeg.org/fate.html @@ -221,20 +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=" -9ba24f7488d1c7f8a3e3fbc3920e329724e75631d769400998f7a0858c58213f2eee2880fdd7caa9a701150217448a834b5008840327478314e4508c5e0e3b19 ffmpeg-5.1.tar.xz -1047a23eda51b576ac200d5106a1cd318d1d5291643b3a69e025c0a7b6f3dbc9f6eb0e1e6faa231b7e38c8dd4e49a54f7431f87a93664da35825cc2e9e8aedf4 0001-libavutil-clean-up-unused-FF_SYMVER-macro.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 -fb358cb3fa9eeee43cb4a76e58d0934c23e623c0c5dbd91121f8a80de5da6d86c9baf781ce2519f6b019312740c49765ed413a1a4cb1a089104405cd3f6ba3e5 remove-ipfs-gateway.patch +c73d751e5d2a8214f0beb1b48fac6829903d46ad7db0dddddf47013193efce487825de495a24408d9a8e3c7f78f15fe62a6c14b54efc80e63dde9903cf08e918 v4l-ioctl.patch +f3d824511a880bf6971f35271c8f8e7001053a93be212a732b49738e990d3d4ac99a302f28002f588e2cb5a2c01d22db159c1990853f3a201bca56a32ba6924e riscv-compliant-rvv.patch " |