# Contributor: Sergei Lukin # Contributor: Ɓukasz Jendrysik # Contributor: Jakub Skrzypnik # Maintainer: Natanael Copa pkgname=ffmpeg pkgver=4.2.2 pkgrel=2 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 coreutils bzip2-dev gnutls-dev imlib2-dev lame-dev libass-dev libssh-dev libtheora-dev libva-dev libvdpau-dev libvorbis-dev libvpx-dev libxfixes-dev opus-dev perl-dev sdl2-dev v4l-utils-dev x264-dev x265-dev xvidcore-dev yasm zlib-dev dav1d-dev " checkdepends="rsync" source="https://ffmpeg.org/releases/ffmpeg-$pkgver.tar.xz 0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch " # secfixes: # 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 # add support for AV1 codec for all archies except armhf and armv7 # as aom is not available on them _aom=""; case "$CARCH" in x86|x86_64|aarch64|ppc64le|s390x ) _aom="--enable-libaom"; makedepends="$makedepends aom-dev" ;; esac build() { local _dbg="--disable-debug" local _asm="" [ -n "$DEBUG" ] && _dbg="--enable-debug" 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" ;; esac ./configure \ --prefix=/usr \ --enable-avresample \ --enable-avfilter \ --enable-gnutls \ --enable-gpl \ --enable-libass \ --enable-libmp3lame \ --enable-libvorbis \ --enable-libvpx \ --enable-libxvid \ --enable-libx264 \ --enable-libx265 \ --enable-libtheora \ --enable-libv4l2 \ --enable-libdav1d \ --enable-postproc \ --enable-pic \ --enable-pthreads \ --enable-shared \ --enable-libxcb \ --enable-libssh \ --disable-stripping \ --disable-static \ --disable-librtmp \ --enable-vaapi \ --enable-vdpau \ --enable-libopus \ $_asm $_aom $_dbg make ${CC:-gcc} -o tools/qt-faststart $CFLAGS tools/qt-faststart.c make doc/ffmpeg.1 doc/ffplay.1 } # https://ffmpeg.org/fate.html check() { ./configure \ --samples=fate-suite/ make fate-rsync make fate-list make fate } 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 } libs() { pkgdesc="Libraries for ffmpeg" replaces="ffmpeg" mkdir -p "$subpkgdir"/usr mv "$pkgdir"/usr/lib "$subpkgdir"/usr } sha512sums="381cd6732fa699eb89000621cf34256920596ed1f9de3c2194dbad35fdf2165269eb7d3a147a0eb75dc18fbb6d601382b5801750e09fc63547766842f84208e3 ffmpeg-4.2.2.tar.xz 1047a23eda51b576ac200d5106a1cd318d1d5291643b3a69e025c0a7b6f3dbc9f6eb0e1e6faa231b7e38c8dd4e49a54f7431f87a93664da35825cc2e9e8aedf4 0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch"