# Contributor: Jakub Jirutka # Maintainer: Jakub Jirutka global pkgname := 'lua-dromozoa-utf8' global _pkgname := 'dromozoa-utf8' global pkgver := '1.3' global pkgrel := '1' global pkgdesc := '"Lua 5.3 compatible pure-Lua UTF-8 implementation'" global url := '"https://github.com/dromozoa/dromozoa-utf8/'" global arch := '"all'" global license := '"GPL3'" global depends := ''"" global checkdepends := ''"" global source := ""$pkgname-$pkgver.tar.gz::https://github.com/dromozoa/$_pkgname/archive/v$pkgver.tar.gz"" global builddir := ""$srcdir/$_pkgname-$pkgver"" # luajit is not available for selected arches matchstr $CARCH { s390x { global _luajit := ''""} * { global checkdepends := ""$checkdepends luajit"," _luajit := '"jit'"} } global _luaversions := '"5.1 5.2 5.3'" for _v in [$_luaversions] { global subpackages := ""$subpackages lua$_v-$(pkgname#lua-):_subpackage"" global checkdepends := ""$checkdepends lua$_v"" } proc check { var out = '' cd $builddir var lver = ''; for lver in [$_luaversions $_luajit] { msg "Testing on lua$lver" out := $[lua$lver test.lua test.exp !2 > !1] || do { echo "Tests failed, printing last 30 lines of the output..." printf '%s\n' $out | tail -n 30 return 1 } } } proc package { mkdir -p $pkgdir } proc _subpackage { var lver = $(subpkgname:3:3) global pkgdesc := ""$pkgdesc (for Lua $lver)"" global depends := ""lua$lver"" global install_if := ""$pkgname=$pkgver-r$pkgrel lua$lver"" var lmod_dir = ""$subpkgdir/usr/share/lua/$lver"" var rockdir = ""$subpkgdir/usr/lib/luarocks/rocks-$lver/$_pkgname/$pkgver-1"" cd $builddir mkdir -p $lmod_dir cp -r dromozoa "$lmod_dir"/ mkdir -p $rockdir echo 'rock_manifest = {}' > "$rockdir"/rock_manifest } global sha512sums := '"c1894692f80cc2204683b7a8f540d59b1a23447bc61492acef3c6bac7f50884ca39b0b372e2d56f4473b92a8263da2c705243e7c341eea43583578964bedd4f4 lua-dromozoa-utf8-1.3.tar.gz'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(lua-dromozoa-utf8)} spids:[6])] spids: [6] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_pkgname) op:Equal rhs:{(dromozoa-utf8)} spids:[9])] spids: [9] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(1.3)} spids:[12])] spids: [12] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(1)} spids:[15])] spids: [15] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Lua 5.3 compatible pure-Lua UTF-8 implementation"))} spids: [18] ) ] spids: [18] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("https://github.com/dromozoa/dromozoa-utf8/"))} spids: [23] ) ] spids: [23] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[28])] spids: [28] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (GPL3))} spids:[33])] spids: [33] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[38])] spids: [38] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:checkdepends) op:Equal rhs:{(DQ )} spids:[42])] spids: [42] ) (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/dromozoa/") ($ VSub_Name "$_pkgname") (/archive/v) ($ VSub_Name "$pkgver") (.tar.gz) ) } spids: [46] ) ] spids: [46] ) (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: [58] ) ] spids: [58] ) (Case to_match: {(DQ ($ VSub_Name "$CARCH"))} arms: [ (case_arm pat_list: [{(s390x)}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_luajit) op:Equal rhs:{(DQ )} spids:[83])] spids: [83] ) ] spids: [80 81 86 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:checkdepends) op: Equal rhs: {(DQ ($ VSub_Name "$checkdepends") (" luajit"))} spids: [92] ) (assign_pair lhs: (LhsName name:_luajit) op: Equal rhs: {(DQ (jit))} spids: [98] ) ] spids: [92] ) ] spids: [89 90 102 -1] ) ] spids: [71 77 104] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_luaversions) op: Equal rhs: {(DQ ("5.1 5.2 5.3"))} spids: [107] ) ] spids: [107] ) (ForEach iter_name: _v iter_words: [{($ VSub_Name "$_luaversions")}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: { (DQ ($ VSub_Name "$subpackages") (" lua") ($ VSub_Name "$_v") (-) (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(lua-)}) spids: [130 134] ) (":_subpackage") ) } spids: [124] ) ] spids: [124] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:checkdepends) op: Equal rhs: {(DQ ($ VSub_Name "$checkdepends") (" lua") ($ VSub_Name "$_v"))} spids: [139] ) ] spids: [139] ) ] spids: [121 146] ) spids: [117 119] ) (FuncDef name: check body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:out) op:Equal spids:[158])] spids: [156] ) (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (Sentence child: (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:lver) op:Equal spids:[171])] spids: [169] ) terminator: ) (ForEach iter_name: lver iter_words: [{($ VSub_Name "$_luaversions")} {($ VSub_Name "$_luajit")}] do_arg_iter: False body: (DoGroup children: [ (C {(msg)} {(DQ ("Testing on lua") ($ VSub_Name "$lver"))}) (AndOr children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:out) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(lua) ($ VSub_Name "$lver")} {(test.lua)} {(test.exp)} ] redirects: [ (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [205] ) ] ) ] ) left_token: spids: [197 207] ) } spids: [196] ) ] spids: [196] ) (BraceGroup children: [ (C {(echo)} {(DQ ("Tests failed, printing last 30 lines of the output..."))}) (Pipeline children: [ (C {(printf)} {(SQ <"%s\\n">)} {(DQ ($ VSub_Name "$out"))}) (C {(tail)} {(-n)} {(30)}) ] negated: False ) (ControlFlow token: arg_word: {(1)} ) ] spids: [211] ) ] op_id: Op_DPipe ) ] spids: [185 248] ) spids: [179 183] ) ] spids: [153] ) spids: [149 152] ) (FuncDef name: package body: (BraceGroup children:[(C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir"))})] spids:[257]) spids: [253 256] ) (FuncDef name: _subpackage body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:lver) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 3)}) length: (ArithWord w:{(Lit_Digits 3)}) ) spids: [282 288] ) ) } spids: [280] ) ] spids: [278] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ($ VSub_Name "$pkgdesc") (" (for Lua ") ($ VSub_Name "$lver") (")"))} spids: [292] ) ] spids: [292] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ (lua) ($ VSub_Name "$lver"))} spids: [301] ) ] spids: [301] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:install_if) op: Equal rhs: { (DQ ($ VSub_Name "$pkgname") ("=") ($ VSub_Name "$pkgver") (-r) ($ VSub_Name "$pkgrel") (" lua") ($ VSub_Name "$lver") ) } spids: [308] ) ] spids: [308] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:lmod_dir) op: Equal rhs: {(DQ ($ VSub_Name "$subpkgdir") (/usr/share/lua/) ($ VSub_Name "$lver"))} spids: [322] ) ] spids: [320] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:rockdir) op: Equal rhs: { (DQ ($ VSub_Name "$subpkgdir") (/usr/lib/luarocks/rocks-) ($ VSub_Name "$lver") (/) ($ VSub_Name "$_pkgname") (/) ($ VSub_Name "$pkgver") (-1) ) } spids: [332] ) ] spids: [330] ) (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$lmod_dir"))}) (C {(cp)} {(-r)} {(dromozoa)} {(DQ ($ VSub_Name "$lmod_dir")) (/)}) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$rockdir"))}) (SimpleCommand words: [{(echo)} {(SQ <"rock_manifest = {}">)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name "$rockdir")) (/rock_manifest)} spids: [390] ) ] ) ] spids: [275] ) spids: [271 274] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "c1894692f80cc2204683b7a8f540d59b1a23447bc61492acef3c6bac7f50884ca39b0b372e2d56f4473b92a8263da2c705243e7c341eea43583578964bedd4f4 lua-dromozoa-utf8-1.3.tar.gz" ) ) } spids: [400] ) ] spids: [400] ) ] )