(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgname) op: assign_op.Equal rhs: {<lua-dromozoa-utf8>} spids: [6] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_pkgname) op: assign_op.Equal rhs: {<dromozoa-utf8>} spids: [9] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgver) op: assign_op.Equal rhs: {<1.3>} spids: [12] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgrel) op: assign_op.Equal rhs: {<1>} spids: [15] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdesc) op: assign_op.Equal rhs: {(DQ <'Lua 5.3 compatible pure-Lua UTF-8 implementation'>)} spids: [18] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:url) op: assign_op.Equal rhs: {(DQ <'https://github.com/dromozoa/dromozoa-utf8/'>)} spids: [23] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arch) op: assign_op.Equal rhs: {(DQ <all>)} spids: [28] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:license) op: assign_op.Equal rhs: {(DQ <GPL3>)} spids: [33] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:depends) op: assign_op.Equal rhs: {(DQ )} spids: [38] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:checkdepends) op: assign_op.Equal rhs: {(DQ )} spids: [42] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:source) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$pkgname') <-> ($ Id.VSub_DollarName '$pkgver') <'.tar.gz::https://github.com/dromozoa/'> ($ Id.VSub_DollarName '$_pkgname') <'/archive/v'> ($ Id.VSub_DollarName '$pkgver') <.tar.gz> ) } spids: [46] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:builddir) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$srcdir') <'/'> ($ Id.VSub_DollarName '$_pkgname') <-> ($ Id.VSub_DollarName '$pkgver') ) } spids: [58] ) ] ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$CARCH'))} arms: [ (case_arm pat_list: [{<s390x>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_luajit) op: assign_op.Equal rhs: {(DQ )} spids: [83] ) ] ) ] spids: [80 81 86 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:checkdepends) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$checkdepends') <' luajit'>)} spids: [92] ) (assign_pair lhs: (sh_lhs_expr.Name name:_luajit) op: assign_op.Equal rhs: {(DQ <jit>)} spids: [98] ) ] ) ] spids: [89 90 102 -1] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_luaversions) op: assign_op.Equal rhs: {(DQ <'5.1 5.2 5.3'>)} spids: [107] ) ] ) (command.ForEach iter_name: _v iter_words: [{($ Id.VSub_DollarName '$_luaversions')}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:subpackages) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$subpackages') <' lua'> ($ Id.VSub_DollarName '$_v') <-> (braced_var_sub token: <Id.VSub_Name pkgname> suffix_op: (suffix_op.Unary tok:<Id.VOp1_Pound '#'> arg_word:{<lua->}) ) <':_subpackage'> ) } spids: [124] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:checkdepends) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$checkdepends') <' lua'> ($ Id.VSub_DollarName '$_v')) } spids: [139] ) ] ) ] ) ) (command.ShFunction name: check body: (BraceGroup children: [ (C {<local>} {<out>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))}) (command.Sentence child:(C {<local>} {<lver>}) terminator:<Id.Op_Semi _>) (command.ForEach iter_name: lver iter_words: [{($ Id.VSub_DollarName '$_luaversions')} {($ Id.VSub_DollarName '$_luajit')}] do_arg_iter: F body: (command.DoGroup children: [ (C {<msg>} {(DQ <'Testing on lua'> ($ Id.VSub_DollarName '$lver'))}) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:out) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Simple words: [ {<lua> ($ Id.VSub_DollarName '$lver')} {<test.lua>} {<test.exp>} ] redirects: [ (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] do_fork: T ) ) } spids: [196] ) ] ) (BraceGroup children: [ (C {<echo>} {(DQ <'Tests failed, printing last 30 lines of the output...'>)}) (command.Pipeline children: [ (C {<printf>} {(SQ <'%s\\n'>)} {(DQ ($ Id.VSub_DollarName '$out'))}) (C {<tail>} {<-n>} {<30>}) ] negated: F ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) ] ) ] ) ) ] ) ) (command.ShFunction name: package body: (BraceGroup children:[(C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$pkgdir'))})]) ) (command.ShFunction name: _subpackage body: (BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'lver='> (DQ (braced_var_sub token: <Id.VSub_Name subpkgname> suffix_op: (suffix_op.Slice begin:{<Id.Lit_Digits 3>} length:{<Id.Lit_Digits 3>}) ) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdesc) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$pkgdesc') <' (for Lua '> ($ Id.VSub_DollarName '$lver') <')'> ) } spids: [292] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:depends) op: assign_op.Equal rhs: {(DQ <lua> ($ Id.VSub_DollarName '$lver'))} spids: [301] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:install_if) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$pkgname') <'='> ($ Id.VSub_DollarName '$pkgver') <-r> ($ Id.VSub_DollarName '$pkgrel') <' lua'> ($ Id.VSub_DollarName '$lver') ) } spids: [308] ) ] ) (C {<local>} {<Id.Lit_VarLike 'lmod_dir='> (DQ ($ Id.VSub_DollarName '$subpkgdir') <'/usr/share/lua/'> ($ Id.VSub_DollarName '$lver') ) } ) (C {<local>} {<Id.Lit_VarLike 'rockdir='> (DQ ($ Id.VSub_DollarName '$subpkgdir') <'/usr/lib/luarocks/rocks-'> ($ Id.VSub_DollarName '$lver') <'/'> ($ Id.VSub_DollarName '$_pkgname') <'/'> ($ Id.VSub_DollarName '$pkgver') <-1> ) } ) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$lmod_dir'))}) (C {<cp>} {<-r>} {<dromozoa>} {(DQ ($ Id.VSub_DollarName '$lmod_dir')) <'/'>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$rockdir'))}) (command.Simple words: [{<echo>} {(SQ <'rock_manifest = {}'>)}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName '$rockdir')) <'/rock_manifest'>} ) ] do_fork: T ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sha512sums) op: assign_op.Equal rhs: { (DQ < 'c1894692f80cc2204683b7a8f540d59b1a23447bc61492acef3c6bac7f50884ca39b0b372e2d56f4473b92a8263da2c705243e7c341eea43583578964bedd4f4 lua-dromozoa-utf8-1.3.tar.gz' > ) } spids: [400] ) ] ) ] )