# Contributor: Sergei Lukin # Contributor: Ɓukasz Jendrysik # Contributor: Jakub Skrzypnik # Maintainer: Natanael Copa global pkgname := 'ffmpeg' global pkgver := '3.3.4' global pkgrel := '0' global pkgdesc := '"Complete and free Internet live audio and video broadcasting solution for Linux/Unix'" global url := '"http://ffmpeg.org/'" global arch := '"all'" global license := '"GPL'" global subpackages := ""$pkgname-dev $pkgname-doc $pkgname-libs"" global 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 libvpx-dev sdl2-dev libxfixes-dev libva-dev alsa-lib-dev rtmpdump-dev v4l-utils-dev yasm opus-dev x265-dev'" global source := ""http://ffmpeg.org/releases/ffmpeg-$pkgver.tar.xz 0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch "" global builddir := ""$srcdir/$pkgname-$pkgver"" # secfixes: # 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 proc build { var _dbg = '"--disable-debug'" var _asm = ''"" test -n $DEBUG && _dbg := '"--enable-debug'" matchstr $CARCH { x86 | arm* { _asm := '"--disable-asm'" } } cd $builddir ./configure \ --prefix=/usr \ --enable-avresample \ --enable-avfilter \ --enable-gnutls \ --enable-gpl \ --enable-libmp3lame \ --enable-librtmp \ --enable-libvorbis \ --enable-libvpx \ --enable-libxvid \ --enable-libx264 \ --enable-libx265 \ --enable-libtheora \ --enable-libv4l2 \ --enable-postproc \ --enable-pic \ --enable-pthreads \ --enable-shared \ --enable-libxcb \ --disable-stripping \ --disable-static \ --enable-vaapi \ --enable-vdpau \ --enable-libopus \ $_asm $_dbg make $(CC:-gcc) -o tools/qt-faststart $CFLAGS tools/qt-faststart.c make doc/ffmpeg.1 doc/ffplay.1 doc/ffserver.1 } proc package { cd $builddir make DESTDIR="$pkgdir" install install-man install -D -m755 tools/qt-faststart "$pkgdir/usr/bin/qt-faststart" # strip --strip-debug "$pkgdir"/usr/lib/*.a } proc libs { global pkgdesc := '"Libraries for ffmpeg'" global replaces := '"ffmpeg'" mkdir -p "$subpkgdir"/usr mv "$pkgdir"/usr/lib "$subpkgdir"/usr } global sha512sums := '"ddeab4ab3d149a1b560c8ad2242f8ea5fb37a57a06a5af1adf6d5afde9975aa4b2d72f7c5106f20d2194b546164f55f93f6b3d1bb784501b842b0eae89a6a691 ffmpeg-3.3.4.tar.xz 32652e18d4eb231a2e32ad1cacffdf33264aac9d459e0e2e6dd91484fced4e1ca5a62886057b1f0b4b1589c014bbe793d17c78adbaffec195f9a75733b5b18cb 0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(ffmpeg)} spids:[12])] spids: [12] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(3.3.4)} spids:[15])] spids: [15] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[18])] spids: [18] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: { (DQ ( "Complete and free Internet live audio and video broadcasting solution for Linux/Unix" ) ) } spids: [21] ) ] spids: [21] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://ffmpeg.org/"))} spids: [26] ) ] spids: [26] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[31])] spids: [31] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (GPL))} spids:[36])] spids: [36] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: { (DQ ($ VSub_Name "$pkgname") ("-dev ") ($ VSub_Name "$pkgname") ("-doc ") ($ VSub_Name "$pkgname") (-libs) ) } spids: [41] ) ] spids: [41] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: { (DQ ("gnutls-dev lame-dev libvorbis-dev xvidcore-dev zlib-dev libvdpau-dev\n") ("\timlib2-dev x264-dev libtheora-dev coreutils bzip2-dev perl-dev libvpx-dev\n") ("\tlibvpx-dev sdl2-dev libxfixes-dev libva-dev alsa-lib-dev rtmpdump-dev\n") ("\tv4l-utils-dev yasm opus-dev x265-dev") ) } spids: [51] ) ] spids: [51] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("http://ffmpeg.org/releases/ffmpeg-") ($ VSub_Name "$pkgver") (".tar.xz\n") ("\t0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch\n") ("\t") ) } spids: [59] ) ] spids: [59] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:builddir) op: Equal rhs: {(DQ ($ VSub_Name "$srcdir") (/) ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver"))} spids: [68] ) ] spids: [68] ) (FuncDef name: build body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:_dbg) op: Equal rhs: {(DQ (--disable-debug))} spids: [130] ) ] spids: [128] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:_asm) op:Equal rhs:{(DQ )} spids:[138])] spids: [136] ) (AndOr children: [ (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$DEBUG"))} {(Lit_Other "]")}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_dbg) op: Equal rhs: {(DQ (--enable-debug))} spids: [155] ) ] spids: [155] ) ] op_id: Op_DAmp ) (Case to_match: {(DQ ($ VSub_Name "$CARCH"))} arms: [ (case_arm pat_list: [{(x86)} {(arm) (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_asm) op: Equal rhs: {(DQ (--disable-asm))} spids: [179] ) ] spids: [179] ) ] spids: [171 177 184 -1] ) ] spids: [162 168 187] ) (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(./configure)} {(--prefix) (Lit_Other "=") (/usr)} {(--enable-avresample)} {(--enable-avfilter)} {(--enable-gnutls)} {(--enable-gpl)} {(--enable-libmp3lame)} {(--enable-librtmp)} {(--enable-libvorbis)} {(--enable-libvpx)} {(--enable-libxvid)} {(--enable-libx264)} {(--enable-libx265)} {(--enable-libtheora)} {(--enable-libv4l2)} {(--enable-postproc)} {(--enable-pic)} {(--enable-pthreads)} {(--enable-shared)} {(--enable-libxcb)} {(--disable-stripping)} {(--disable-static)} {(--enable-vaapi)} {(--enable-vdpau)} {(--enable-libopus)} {($ VSub_Name "$_asm")} {($ VSub_Name "$_dbg")} ) (C {(make)}) (C { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(gcc)}) spids: [308 312] ) } {(-o)} {(tools/qt-faststart)} {($ VSub_Name "$CFLAGS")} {(tools/qt-faststart.c)} ) (C {(make)} {(doc/ffmpeg.1)} {(doc/ffplay.1)} {(doc/ffserver.1)}) ] spids: [125] ) spids: [121 124] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(make)} {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$pkgdir"))} {(install)} {(install-man)} ) (C {(install)} {(-D)} {(-m755)} {(tools/qt-faststart)} {(DQ ($ VSub_Name "$pkgdir") (/usr/bin/qt-faststart))} ) ] spids: [338] ) spids: [334 337] ) (FuncDef name: libs body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Libraries for ffmpeg"))} spids: [386] ) ] spids: [386] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:replaces) op: Equal rhs: {(DQ (ffmpeg))} spids: [392] ) ] spids: [392] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr)}) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr)}) ] spids: [383] ) spids: [379 382] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "ddeab4ab3d149a1b560c8ad2242f8ea5fb37a57a06a5af1adf6d5afde9975aa4b2d72f7c5106f20d2194b546164f55f93f6b3d1bb784501b842b0eae89a6a691 ffmpeg-3.3.4.tar.xz\n" ) ( "32652e18d4eb231a2e32ad1cacffdf33264aac9d459e0e2e6dd91484fced4e1ca5a62886057b1f0b4b1589c014bbe793d17c78adbaffec195f9a75733b5b18cb 0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch" ) ) } spids: [423] ) ] spids: [423] ) ] )