# Maintainer: Natanael Copa global pkgname := 'live-media' global pkgver := '2017.04.26' global pkgrel := '0' global pkgdesc := '"A set of C++ libraries for multimedia streaming'" global url := '"http://live555.com/liveMedia'" global arch := '"all'" global license := '"LGPL'" global subpackages := ""$pkgname-dev $pkgname-utils"" global options := '"!check'" global source := ""http://live555.com/liveMedia/public/live.$pkgver.tar.gz"" global builddir := ""$srcdir"/live" proc prepare { cd $builddir sed -e "/^COMPILE_OPTS/s/$/ $CFLAGS -fPIC -DPIC -DXLOCALE_NOT_USED=1 -DRTSPCLIENT_SYNCHRONOUS_INTERFACE/" \ -i config.linux-with-shared-libraries } proc build { cd $builddir ./genMakefiles linux-with-shared-libraries make C_COMPILER="$(CC:-gcc)" CPLUSPLUS_COMPILER="$(CXX:-g++)" \ || return 1 } proc package { var testprog = '', f = '', so = '' cd $builddir mkdir -p "$pkgdir"/usr/lib for f in [BasicUsageEnvironment UsageEnvironment liveMedia groupsock] { mkdir -p "$pkgdir"/usr/include/$f cp $f/include/*.h* "$pkgdir"/usr/include/$f cp $f/lib$(f).a "$pkgdir"/usr/lib || true for so in [$f/lib*.so.*] { global soname := $[scanelf -B --format "#F%S" $so] cp $so "$pkgdir"/usr/lib/ || return 1 so := $(so##*/) ln -s $(so) "$pkgdir"/usr/lib/$(soname) || return 1 ln -s $(so) "$pkgdir"/usr/lib/$(soname%.so.*).so || return 1 } } mkdir -p "$pkgdir"/usr/bin for testprog in [$[find testProgs -type f -perm 755]] { install $(testprog) "$pkgdir"/usr/bin } } proc utils { global pkgdesc := '"multimedia RTSP streaming tools'" mkdir -p "$subpkgdir"/usr mv "$pkgdir"/usr/bin "$subpkgdir"/usr/ } global sha512sums := '"444b3c63e30b2ddd0fac8b11f09efff3796953f6bad558cc59c093273a351ef6b1631abc5d89a8be422caf54b1c46104c59b507fc104785795c3e8622a8a4efd live.2017.04.26.tar.gz'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(live-media)} spids:[3])] spids: [3] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(2017.04.26)} spids:[6])] spids: [6] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[9])] spids: [9] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("A set of C++ libraries for multimedia streaming"))} spids: [12] ) ] spids: [12] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://live555.com/liveMedia"))} spids: [17] ) ] spids: [17] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[22])] spids: [22] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (LGPL))} spids:[27])] spids: [27] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: {(DQ ($ VSub_Name "$pkgname") ("-dev ") ($ VSub_Name "$pkgname") (-utils))} spids: [32] ) ] spids: [32] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:options) op:Equal rhs:{(DQ ("!check"))} spids:[40])] spids: [40] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: {(DQ ("http://live555.com/liveMedia/public/live.") ($ VSub_Name "$pkgver") (.tar.gz))} spids: [45] ) ] spids: [45] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:builddir) op: Equal rhs: {(DQ ($ VSub_Name "$srcdir")) (/live)} spids: [52] ) ] spids: [52] ) (FuncDef name: prepare body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(sed)} {(-e)} { (DQ ("/^COMPILE_OPTS/s/") (Lit_Other "$") ("/ ") ($ VSub_Name "$CFLAGS") (" -fPIC -DPIC -DXLOCALE_NOT_USED=1 -DRTSPCLIENT_SYNCHRONOUS_INTERFACE/") ) } {(-i)} {(config.linux-with-shared-libraries)} ) ] spids: [63] ) spids: [59 62] ) (FuncDef name: build body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(./genMakefiles)} {(linux-with-shared-libraries)}) (AndOr children: [ (C {(make)} {(Lit_VarLike "C_COMPILER=") (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(gcc)}) spids: [117 121] ) ) } {(Lit_VarLike "CPLUSPLUS_COMPILER=") (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{("g++")}) spids: [126 130] ) ) } ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) ] spids: [98] ) spids: [94 97] ) (FuncDef name: package body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:testprog) op:Equal spids:[153]) (assign_pair lhs:(LhsName name:f) op:Equal spids:[155]) (assign_pair lhs:(LhsName name:so) op:Equal spids:[157]) ] spids: [151] ) (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib)}) (ForEach iter_name: f iter_words: [{(BasicUsageEnvironment)} {(UsageEnvironment)} {(liveMedia)} {(groupsock)}] do_arg_iter: False body: (DoGroup children: [ (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/include/) ($ VSub_Name "$f")} ) (C {(cp)} {($ VSub_Name "$f") (/include/) (Lit_Other "*") (.h) (Lit_Other "*")} {(DQ ($ VSub_Name "$pkgdir")) (/usr/include/) ($ VSub_Name "$f")} ) (AndOr children: [ (C {(cp)} {($ VSub_Name "$f") (/lib) (${ VSub_Name f) (.a)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib)} ) (C {(true)}) ] op_id: Op_DPipe ) (ForEach iter_name: so iter_words: [{($ VSub_Name "$f") (/lib) (Lit_Other "*") (.so.) (Lit_Other "*")}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:soname) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(scanelf)} {(-B)} {(--format)} {(DQ ("#F%S"))} {($ VSub_Name "$so")} ) ] ) left_token: spids: [257 269] ) } spids: [256] ) ] spids: [256] ) (AndOr children: [ (C {(cp)} {($ VSub_Name "$so")} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/)} ) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:so) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id: VOp1_DPound arg_word: {("*") (Lit_Slash /)} ) spids: [289 294] ) } spids: [288] ) ] spids: [288] ) (AndOr children: [ (C {(ln)} {(-s)} {(${ VSub_Name so)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/) (${ VSub_Name soname)} ) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) (AndOr children: [ (C {(ln)} {(-s)} {(${ VSub_Name so)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/) (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(".so.*")}) spids: [332 336] ) (.so) } ) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) ] spids: [253 346] ) spids: [245 251] ) ] spids: [192 349] ) spids: [182 190] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin)}) (ForEach iter_name: testprog iter_words: [ { (CommandSubPart command_list: (CommandList children: [(C {(find)} {(testProgs)} {(-type)} {(f)} {(-perm)} {(755)})] ) left_token: spids: [369 381] ) } ] do_arg_iter: False body: (DoGroup children: [ (C {(install)} {(${ VSub_Name testprog)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin)}) ] spids: [384 399] ) spids: [368 382] ) ] spids: [148] ) spids: [144 147] ) (FuncDef name: utils body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("multimedia RTSP streaming tools"))} spids: [411] ) ] spids: [411] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr)}) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/)} ) ] spids: [408] ) spids: [404 407] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "444b3c63e30b2ddd0fac8b11f09efff3796953f6bad558cc59c093273a351ef6b1631abc5d89a8be422caf54b1c46104c59b507fc104785795c3e8622a8a4efd live.2017.04.26.tar.gz" ) ) } spids: [442] ) ] spids: [442] ) ] )