# Maintainer: Yagnesh Mistry global pkgname := 'twemproxy' global akaname := 'nutcracker' global pkgver := '0.4.1' global pkgrel := '0' global pkgdesc := '"A fast, light-weight proxy for memcached and redis'" global url := '"https://github.com/twitter/twemproxy'" global arch := '"all'" global license := '"ASL 2.0'" global depends := ''"" global depends_dev := ''"" global makedepends := '"automake autoconf libtool yaml-dev'" global subpackages := ""$pkgname-doc"" global source := ""$pkgname-$pkgver.tar.gz::https://github.com/twitter/twemproxy/archive/v$pkgver.tar.gz nutcracker.initd nutcracker.confd use-system-libyaml.patch "" global _builddir := ""$srcdir"/$pkgname-$pkgver" global _logdir := "/var/log/$akaname" global _rundir := "/var/run/$akaname" proc prepare { var i = '' cd $_builddir for i in [$source] { matchstr $i { *.patch { msg $i; patch -p1 -i "$srcdir"/$i || return 1} } } } proc build { cd $_builddir autoreconf -vif ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ || return 1 make || return 1 } proc package { cd $_builddir make DESTDIR="$pkgdir" install || return 1 install -m644 -D "$srcdir"/$pkgname-$pkgver/conf/nutcracker.yml \ "$pkgdir"/etc/$akaname/nutcracker.yml || return 1 install -m644 -D "$srcdir"/$pkgname-$pkgver/conf/nutcracker.leaf.yml \ "$pkgdir"/etc/$akaname/nutcracker.leaf.yml || return 1 install -m644 -D "$srcdir"/$pkgname-$pkgver/conf/nutcracker.root.yml \ "$pkgdir"/etc/$akaname/nutcracker.root.yml || return 1 install -m755 -D "$srcdir"/$akaname.initd \ "$pkgdir"/etc/init.d/$akaname || return 1 install -m644 -D "$srcdir"/$akaname.confd \ "$pkgdir"/etc/conf.d/$akaname || return 1 install -m0755 -d "$pkgdir"/$_rundir || return 1 install -m0755 -d "$pkgdir"/$_logdir || return 1 global _docs := '"README.md NOTICE ChangeLog'" for _doc in [$_docs] { install -m644 -D "$srcdir"/$pkgname-$pkgver/$_doc \ "$pkgdir"/usr/share/doc/$akaname/$_doc || return 1 } install -m644 -D "$srcdir"/$pkgname-$pkgver/LICENSE \ "$pkgdir"/usr/share/licenses/$akaname/LICENSE || return 1 } global md5sums := '"6b27455285f81e4335d00983076cf4b8 twemproxy-0.4.1.tar.gz 531b2ded35c9f9e3c53388ceb9da9e9d nutcracker.initd 5fcf33052bb7ddd286e58fcdef5335db nutcracker.confd 521837066110c2d0248c11620bf66e15 use-system-libyaml.patch'" global sha256sums := '"00c2940f91947bea9457a348316aac1aa1d4e757238aafbefc9d51057da8ede0 twemproxy-0.4.1.tar.gz f6531c2bbb085e70e4de4b51a01e4b2a6fe6cec41ba4924cc7ac56d51393fdfd nutcracker.initd ff28c0ffb1aa82e7bcd19c79f76cdb05641b4181f6668349fe9ed87044ce0d3e nutcracker.confd 718fe0cf3a48f51f5b8a2b6ef8120068b1604c7588b33e5db27de8301e77fdf4 use-system-libyaml.patch'" global sha512sums := '"581fae1d12feb983ed25b22cd6f597fd28b7070906ac29d3990669ae5c626a468914021cee152a6a2299a2838c838ad907e4c911b911ef04166ac7bbb2982da1 twemproxy-0.4.1.tar.gz 56bc051eac972cc1e4cfb334673f8e4c8a5f0855fb4f0b66e05a148855dae34870d949a5d19c111d072a0405b2014a334151ad9414a40fdc67e559ff37d68093 nutcracker.initd e69e6d7b48a360b8b7b7ec7d7d46e2c736c4e30e6d6a22ed5b01d64ccb3ec701537545b2b6e5c1cbf2ba9f657f86e7a94686e3dc8a43dcba9688695717d62f12 nutcracker.confd beadf407de53378bfe0ee12bbdf2315bde220a322aa13fc1993b487e1503f8825280408c500c902db683ee35b255e304acfe2cb011a6e9ffe02cdbfcfb1d2bf5 use-system-libyaml.patch'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(twemproxy)} spids:[4])] spids: [4] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:akaname) op:Equal rhs:{(nutcracker)} spids:[7])] spids: [7] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(0.4.1)} spids:[10])] spids: [10] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[13])] spids: [13] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("A fast, light-weight proxy for memcached and redis"))} spids: [16] ) ] spids: [16] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("https://github.com/twitter/twemproxy"))} spids: [21] ) ] spids: [21] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[26])] spids: [26] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ ("ASL 2.0"))} spids:[31])] spids: [31] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[36])] spids: [36] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends_dev) op:Equal rhs:{(DQ )} spids:[40])] spids: [40] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: {(DQ ("automake autoconf libtool yaml-dev"))} spids: [44] ) ] spids: [44] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: {(DQ ($ VSub_Name "$pkgname") (-doc))} spids: [49] ) ] spids: [49] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver") (".tar.gz::https://github.com/twitter/twemproxy/archive/v") ($ VSub_Name "$pkgver") (".tar.gz\n") ("\tnutcracker.initd\n") ("\tnutcracker.confd\n") ("\tuse-system-libyaml.patch\n") ("\t") ) } spids: [55] ) ] spids: [55] ) (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: [70] ) ] spids: [70] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_logdir) op: Equal rhs: {(/var/log/) ($ VSub_Name "$akaname")} spids: [79] ) ] spids: [79] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_rundir) op: Equal rhs: {(/var/run/) ($ VSub_Name "$akaname")} spids: [83] ) ] spids: [83] ) (FuncDef name: prepare body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[97])] spids: [95] ) (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))}) (ForEach iter_name: i iter_words: [{($ VSub_Name "$source")}] do_arg_iter: False body: (DoGroup children: [ (Case to_match: {($ VSub_Name "$i")} arms: [ (case_arm pat_list: [{(Lit_Other "*") (.patch)}] action: [ (Sentence child: (C {(msg)} {($ VSub_Name "$i")}) terminator: ) (AndOr children: [ (C {(patch)} {(-p1)} {(-i)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$i")} ) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) ] spids: [126 128 152 -1] ) ] spids: [119 123 155] ) ] spids: [116 158] ) spids: [112 114] ) ] spids: [92] ) spids: [88 91] ) (FuncDef name: build body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))}) (C {(autoreconf)} {(-vif)}) (AndOr children: [ (C {(./configure)} {(--build) (Lit_Other "=") ($ VSub_Name "$CBUILD")} {(--host) (Lit_Other "=") ($ VSub_Name "$CHOST")} {(--prefix) (Lit_Other "=") (/usr)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [(C {(make)}) (ControlFlow token: arg_word:{(1)})] op_id: Op_DPipe ) ] spids: [167] ) spids: [163 166] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))}) (AndOr children: [ (C {(make)} {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$pkgdir"))} {(install)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(install)} {(-m644)} {(-D)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver") (/conf/nutcracker.yml) } {(DQ ($ VSub_Name "$pkgdir")) (/etc/) ($ VSub_Name "$akaname") (/nutcracker.yml)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(install)} {(-m644)} {(-D)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver") (/conf/nutcracker.leaf.yml) } {(DQ ($ VSub_Name "$pkgdir")) (/etc/) ($ VSub_Name "$akaname") (/nutcracker.leaf.yml)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(install)} {(-m644)} {(-D)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver") (/conf/nutcracker.root.yml) } {(DQ ($ VSub_Name "$pkgdir")) (/etc/) ($ VSub_Name "$akaname") (/nutcracker.root.yml)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(install)} {(-m755)} {(-D)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$akaname") (.initd)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/init.d/) ($ VSub_Name "$akaname")} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(install)} {(-m644)} {(-D)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$akaname") (.confd)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/conf.d/) ($ VSub_Name "$akaname")} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(install)} {(-m0755)} {(-d)} {(DQ ($ VSub_Name "$pkgdir")) (/) ($ VSub_Name "$_rundir")} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(install)} {(-m0755)} {(-d)} {(DQ ($ VSub_Name "$pkgdir")) (/) ($ VSub_Name "$_logdir")} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_docs) op: Equal rhs: {(DQ ("README.md NOTICE ChangeLog"))} spids: [441] ) ] spids: [441] ) (ForEach iter_name: _doc iter_words: [{($ VSub_Name "$_docs")}] do_arg_iter: False body: (DoGroup children: [ (AndOr children: [ (C {(install)} {(-m644)} {(-D)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver") (/) ($ VSub_Name "$_doc") } {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/doc/) ($ VSub_Name "$akaname") (/) ($ VSub_Name "$_doc")} ) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) ] spids: [456 492] ) spids: [452 454] ) (AndOr children: [ (C {(install)} {(-m644)} {(-D)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver") (/LICENSE) } {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/licenses/) ($ VSub_Name "$akaname") (/LICENSE)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) ] spids: [226] ) spids: [222 225] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:md5sums) op: Equal rhs: { (DQ ("6b27455285f81e4335d00983076cf4b8 twemproxy-0.4.1.tar.gz\n") ("531b2ded35c9f9e3c53388ceb9da9e9d nutcracker.initd\n") ("5fcf33052bb7ddd286e58fcdef5335db nutcracker.confd\n") ("521837066110c2d0248c11620bf66e15 use-system-libyaml.patch") ) } spids: [530] ) ] spids: [530] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha256sums) op: Equal rhs: { (DQ ( "00c2940f91947bea9457a348316aac1aa1d4e757238aafbefc9d51057da8ede0 twemproxy-0.4.1.tar.gz\n" ) ("f6531c2bbb085e70e4de4b51a01e4b2a6fe6cec41ba4924cc7ac56d51393fdfd nutcracker.initd\n") ( "ff28c0ffb1aa82e7bcd19c79f76cdb05641b4181f6668349fe9ed87044ce0d3e nutcracker.confd\n" ) ("718fe0cf3a48f51f5b8a2b6ef8120068b1604c7588b33e5db27de8301e77fdf4 use-system-libyaml.patch") ) } spids: [538] ) ] spids: [538] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "581fae1d12feb983ed25b22cd6f597fd28b7070906ac29d3990669ae5c626a468914021cee152a6a2299a2838c838ad907e4c911b911ef04166ac7bbb2982da1 twemproxy-0.4.1.tar.gz\n" ) ( "56bc051eac972cc1e4cfb334673f8e4c8a5f0855fb4f0b66e05a148855dae34870d949a5d19c111d072a0405b2014a334151ad9414a40fdc67e559ff37d68093 nutcracker.initd\n" ) ( "e69e6d7b48a360b8b7b7ec7d7d46e2c736c4e30e6d6a22ed5b01d64ccb3ec701537545b2b6e5c1cbf2ba9f657f86e7a94686e3dc8a43dcba9688695717d62f12 nutcracker.confd\n" ) ( "beadf407de53378bfe0ee12bbdf2315bde220a322aa13fc1993b487e1503f8825280408c500c902db683ee35b255e304acfe2cb011a6e9ffe02cdbfcfb1d2bf5 use-system-libyaml.patch" ) ) } spids: [546] ) ] spids: [546] ) ] )