aboutsummaryrefslogblamecommitdiffstats
path: root/community/ffmpeg/APKBUILD
blob: df764a07580b24e3aafb797d7208f4925c0e9412 (plain) (tree)
1
2
3
4
5
6
7
8
9
                                                    
                                                   
                                                            

                                                   
            
        
                                                                                              
                         
          
                                                
                                                         
                                                     

                    
               
                 
                 



                  
                  
                   
                  





                     
                   


                     
                      
                
                





                     
                 
                   
                         
         
                    
                                                         
                                                            
                                                    
                                                      
         
 
           









                      

                      









                      

                      


                      




                      











                        
             
                      

                      





                        
             



                      
                     
                     









                      













                      





                                                                    
         
                                    
                     
                                                

                        
                                    

            
                     
                               
                                   
                                 
                              
                                 
                                     
                                   
                                    
                                 

                                  
                                  
                                    
                                  
                                   
                              
                                   
                              
                                   
                                 
                                 
                                  
                                 
                                 
                                     
                                     
                                  
                                   
                                 
                                  
                                  
                                  


                                 
                                 
                           

                                                                     

 

                              






                                     
           


                                                                          
 


                                      
                         
                                 
                                             

 
            
                                                                                                                                                     
                                                                                                                                                                                      
                                                                                                                                                                              
                                                                                                                                                                                
 
# Contributor: Sergei Lukin <sergej.lukin@gmail.com>
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Contributor: Jakub Skrzypnik <j.skrzypnik@openmailbox.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=ffmpeg
pkgver=5.0.1
pkgrel=1
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
	imlib2-dev
	lame-dev
	libass-dev
	libdrm-dev
	librist-dev
	libsrt-dev
	libssh-dev
	libtheora-dev
	libva-dev
	libvdpau-dev
	libvorbis-dev
	libvpx-dev
	libwebp-dev
	libxfixes-dev
	opus-dev
	perl-dev
	pulseaudio-dev
	sdl2-dev
	soxr-dev
	v4l-utils-dev
	x264-dev
	x265-dev
	xvidcore-dev
	yasm
	zlib-dev
	dav1d-dev
	vidstab-dev
	vulkan-loader-dev
	"
checkdepends="rsync"
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
	"

# 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/}
export CPPFLAGS=${CPPFLAGS/-Os/}
export CXXFLAGS=${CXXFLAGS/-Os/}

build() {
	local _dbg="--disable-debug"
	local _asm=""
	[ -n "$DEBUG" ] && _dbg="--enable-debug"

	case "$CARCH" in
	x86) _asm="--disable-asm" ;;
	esac

	./configure \
		--prefix=/usr \
		--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-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-vulkan \
		--enable-libdrm \
		$_asm $_dbg
	make
	${CC:-gcc} -o tools/qt-faststart $CFLAGS tools/qt-faststart.c
}

# 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="
e5810c7379748a6bbe1a903bf36b4372b67cb3973179727b6af6f0118eef46f4c990155961cc37255e08a5bafdc4b4683503ad410ebb7afe7a35b891c01fa602  ffmpeg-5.0.1.tar.xz
1047a23eda51b576ac200d5106a1cd318d1d5291643b3a69e025c0a7b6f3dbc9f6eb0e1e6faa231b7e38c8dd4e49a54f7431f87a93664da35825cc2e9e8aedf4  0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch
38443b570cf32b2ba8ffa9ecc5480425c7da9f93f9773fbb3f9ec5f603b369b6225f4329a1b1f34d0ef30b2c9730f25ff9cff31315ed0a89a600df8e53bd54bf  0001-ffbuild-libversion.sh-add-shebang.patch
8e7cd06612b62f0f42bf92e44720b85babbba8c0b81c629602c49091a5ab2022c073cb708507673d981dab7a1ca95a07c05d764a23f95a189af8c7245570c101  add-av_stream_get_first_dts-for-chromium.patch
"