# Maintainer: Natanael Copa global _luaversions := '"5.1 5.2 5.3'" global pkgname := 'lua-rex' global pkgver := '2.8.0' global pkgrel := '0' global pkgdesc := '"Lua bindings to regular expression library pcre and posix'" global url := '"http://lrexlib.luaforge.net/'" global arch := '"all'" global license := '"MIT'" global depends := '"lua-rex-pcre lua-rex-posix'" global makedepends := '"pcre-dev'" global install := '' global subpackages := ""$pkgname-pcre:_pcre $pkgname-posix:_posix"" for _i in [$_luaversions] { global makedepends := ""$makedepends lua$_i-dev lua$_i"" global subpackages := ""$subpackages lua$_i-rex-pcre:_pcre_$(_i/./_) lua$_i-rex-posix:_posix_$(_i/./_)"" eval "_pcre_$(_i/./_)() { _split $_i pcre; }" eval "_posix_$(_i/./_)() { _split $_i posix; }" } global source := ""$pkgname-$pkgver.tar.gz::https://github.com/rrthomas/lrexlib/archive/rel-$(pkgver//./-).tar.gz"" global _builddir := ""$srcdir"/lrexlib-rel-$(pkgver//./-)" proc prepare { var _ver = '' for _ver in [$_luaversions] { cp -r $_builddir "$srcdir"/build-$_ver } } proc _build_variant { var _ver = $1 var _obj = $2 var _flags = $3 $(CC:-gcc) \ $(CFLAGS) \ $[pkg-config --cflags lua$_ver] \ -shared \ -fPIC \ -o $_obj.$(pkgver%.*) \ $_flags \ -DVERSION='"'$pkgver'"' \ -DLUA_COMPAT_5_2 || return 1 ln -s $_obj.$(pkgver%.*) $_obj || return 1 } proc build { var _ver = '' for _ver in [$_luaversions] { msg "build for Lua $_ver" cd "$srcdir"/build-$_ver _build_variant $_ver rex_pcre.so \ 'src/common.c src/pcre/lpcre.c src/pcre/lpcre_f.c -lpcre' || return 1 _build_variant $_ver rex_posix.so \ 'src/common.c src/posix/lposix.c' || return 1 } } proc package { mkdir -p $pkgdir } proc _pcre { global pkgdesc := '"Lua bindings to pcre regular expressions library'" global depends := '' mkdir -p $subpkgdir } proc _posix { global pkgdesc := '"Lua bindings to posix regular expressions library'" global depends := '' mkdir -p $subpkgdir } proc _split { var _ver = $1 var _lib = $2 global pkgdesc := ""Lua $_ver bindings to $_lib regular expressions library"" global install_if := ""lua$_ver lua-rex-$_lib=$pkgver-r$pkgrel"" global depends := '' install -d "$subpkgdir"/usr/lib/lua/$_ver || return 1 cp -a "$srcdir"/build-$_ver/rex_$_lib.so* \ "$subpkgdir"/usr/lib/lua/$_ver || return 1 } global md5sums := '"25b88d455e3d389ab431568290060af5 lua-rex-2.8.0.tar.gz'" global sha256sums := '"d47f2de3340b30c75a849feaf02f79de5a8adf735edf631bbd58447db2101822 lua-rex-2.8.0.tar.gz'" global sha512sums := '"9593263541757f384df327c85a01df648767041c494f9f7b3491a521e7d4f94918b967c48adff6794bc93baf3b4a11add6feb4630de8bf53903ff7a819c1b006 lua-rex-2.8.0.tar.gz'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_luaversions) op: Equal rhs: {(DQ ("5.1 5.2 5.3"))} spids: [3] ) ] spids: [3] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(lua-rex)} spids:[8])] spids: [8] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(2.8.0)} spids:[11])] spids: [11] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[14])] spids: [14] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Lua bindings to regular expression library pcre and posix"))} spids: [17] ) ] spids: [17] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://lrexlib.luaforge.net/"))} spids: [22] ) ] spids: [22] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[27])] spids: [27] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (MIT))} spids:[32])] spids: [32] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ ("lua-rex-pcre lua-rex-posix"))} spids: [37] ) ] spids: [37] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:makedepends) op:Equal rhs:{(DQ (pcre-dev))} spids:[42])] spids: [42] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:install) op:Equal rhs:{(SQ )} spids:[47])] spids: [47] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: { (DQ ($ VSub_Name "$pkgname") ("-pcre:_pcre ") ($ VSub_Name "$pkgname") ("-posix:_posix")) } spids: [49] ) ] spids: [49] ) (ForEach iter_name: _i iter_words: [{($ VSub_Name "$_luaversions")}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: { (DQ ($ VSub_Name "$makedepends") (" lua") ($ VSub_Name "$_i") ("-dev lua") ($ VSub_Name "$_i") ) } spids: [70] ) ] spids: [70] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: { (DQ ($ VSub_Name "$subpackages") (" lua") ($ VSub_Name "$_i") ("-rex-pcre:_pcre_") (BracedVarSub token: suffix_op: (PatSub pat: {(.)} replace: {(_)} do_all: False do_prefix: False do_suffix: False ) spids: [86 92] ) ("\n") ("\t\tlua") ($ VSub_Name "$_i") ("-rex-posix:_posix_") (BracedVarSub token: suffix_op: (PatSub pat: {(.)} replace: {(_)} do_all: False do_prefix: False do_suffix: False ) spids: [97 103] ) ) } spids: [80] ) ] spids: [80] ) (C {(eval)} { (DQ (_pcre_) (BracedVarSub token: suffix_op: (PatSub pat: {(.)} replace: {(_)} do_all: False do_prefix: False do_suffix: False ) spids: [112 118] ) ("() { _split ") ($ VSub_Name "$_i") (" pcre; }") ) } ) (C {(eval)} { (DQ (_posix_) (BracedVarSub token: suffix_op: (PatSub pat: {(.)} replace: {(_)} do_all: False do_prefix: False do_suffix: False ) spids: [129 135] ) ("() { _split ") ($ VSub_Name "$_i") (" posix; }") ) } ) ] spids: [67 141] ) spids: [63 65] ) (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/rrthomas/lrexlib/archive/rel-") (BracedVarSub token: suffix_op: (PatSub pat: {(.)} replace: {(-)} do_all: True do_prefix: False do_suffix: False ) spids: [150 157] ) (.tar.gz) ) } spids: [144] ) ] spids: [144] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_builddir) op: Equal rhs: {(DQ ($ VSub_Name "$srcdir")) (/lrexlib-rel-) (BracedVarSub token: suffix_op: (PatSub pat: {(.)} replace: {(-)} do_all: True do_prefix: False do_suffix: False ) spids: [167 174] ) } spids: [162] ) ] spids: [162] ) (FuncDef name: prepare body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:_ver) op:Equal spids:[186])] spids: [184] ) (ForEach iter_name: _ver iter_words: [{($ VSub_Name "$_luaversions")}] do_arg_iter: False body: (DoGroup children: [ (C {(cp)} {(-r)} {(DQ ($ VSub_Name "$_builddir"))} {(DQ ($ VSub_Name "$srcdir")) (/build-) ($ VSub_Name "$_ver")} ) ] spids: [198 216] ) spids: [194 196] ) ] spids: [181] ) spids: [177 180] ) (FuncDef name: _build_variant body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:_ver) op: Equal rhs: {($ VSub_Number "$1")} spids: [230] ) ] spids: [228] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:_obj) op: Equal rhs: {($ VSub_Number "$2")} spids: [236] ) ] spids: [234] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:_flags) op: Equal rhs: {(DQ ($ VSub_Number "$3"))} spids: [242] ) ] spids: [240] ) (AndOr children: [ (C { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(gcc)}) spids: [249 253] ) } {(${ VSub_Name CFLAGS)} { (CommandSubPart command_list: (CommandList children: [(C {(pkg-config)} {(--cflags)} {(lua) ($ VSub_Name "$_ver")})] ) left_token: spids: [263 270] ) } {(-shared)} {(-fPIC)} {(-o)} {($ VSub_Name "$_obj") (.) (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(".*")}) spids: [286 290] ) } {($ VSub_Name "$_flags")} {(-DVERSION) (Lit_Other "=") (EscapedLiteralPart token:) ($ VSub_Name "$pkgver") (EscapedLiteralPart token:) } {(-DLUA_COMPAT_5_2)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(ln)} {(-s)} {($ VSub_Name "$_obj") (.) (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(".*")}) spids: [321 325] ) } {($ VSub_Name "$_obj")} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) ] spids: [225] ) spids: [221 224] ) (FuncDef name: build body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:_ver) op:Equal spids:[347])] spids: [345] ) (ForEach iter_name: _ver iter_words: [{($ VSub_Name "$_luaversions")}] do_arg_iter: False body: (DoGroup children: [ (C {(msg)} {(DQ ("build for Lua ") ($ VSub_Name "$_ver"))}) (C {(cd)} {(DQ ($ VSub_Name "$srcdir")) (/build-) ($ VSub_Name "$_ver")}) (AndOr children: [ (C {(_build_variant)} {($ VSub_Name "$_ver")} {(rex_pcre.so)} { (SQ <"src/common.c src/pcre/lpcre.c src/pcre/lpcre_f.c\n"> <"\t\t\t-lpcre"> ) } ) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) (AndOr children: [ (C {(_build_variant)} {($ VSub_Name "$_ver")} {(rex_posix.so)} {(SQ <"src/common.c src/posix/lposix.c">)} ) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) ] spids: [359 418] ) spids: [355 357] ) ] spids: [342] ) spids: [338 341] ) (FuncDef name: package body: (BraceGroup children:[(C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir"))})] spids:[427]) spids: [423 426] ) (FuncDef name: _pcre body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Lua bindings to pcre regular expressions library"))} spids: [448] ) ] spids: [448] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(SQ )} spids:[454])] spids: [454] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir"))}) ] spids: [445] ) spids: [441 444] ) (FuncDef name: _posix body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Lua bindings to posix regular expressions library"))} spids: [475] ) ] spids: [475] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(SQ )} spids:[481])] spids: [481] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir"))}) ] spids: [472] ) spids: [468 471] ) (FuncDef name: _split body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:_ver) op: Equal rhs: {($ VSub_Number "$1")} spids: [504] ) ] spids: [502] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:_lib) op: Equal rhs: {($ VSub_Number "$2")} spids: [510] ) ] spids: [508] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: { (DQ ("Lua ") ($ VSub_Name "$_ver") (" bindings to ") ($ VSub_Name "$_lib") (" regular expressions library") ) } spids: [514] ) ] spids: [514] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:install_if) op: Equal rhs: { (DQ (lua) ($ VSub_Name "$_ver") (" lua-rex-") ($ VSub_Name "$_lib") ("=") ($ VSub_Name "$pkgver") (-r) ($ VSub_Name "$pkgrel") ) } spids: [524] ) ] spids: [524] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(SQ )} spids:[537])] spids: [537] ) (AndOr children: [ (C {(install)} {(-d)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/lua/) ($ VSub_Name "$_ver")} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(cp)} {(-a)} {(DQ ($ VSub_Name "$srcdir")) (/build-) ($ VSub_Name "$_ver") (/rex_) ($ VSub_Name "$_lib") (.so) (Lit_Other "*") } {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/lua/) ($ VSub_Name "$_ver")} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) ] spids: [499] ) spids: [495 498] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:md5sums) op: Equal rhs: {(DQ ("25b88d455e3d389ab431568290060af5 lua-rex-2.8.0.tar.gz"))} spids: [588] ) ] spids: [588] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha256sums) op: Equal rhs: { (DQ ( "d47f2de3340b30c75a849feaf02f79de5a8adf735edf631bbd58447db2101822 lua-rex-2.8.0.tar.gz" ) ) } spids: [593] ) ] spids: [593] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "9593263541757f384df327c85a01df648767041c494f9f7b3491a521e7d4f94918b967c48adff6794bc93baf3b4a11add6feb4630de8bf53903ff7a819c1b006 lua-rex-2.8.0.tar.gz" ) ) } spids: [598] ) ] spids: [598] ) ] )