(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_luaversions)
          op: Equal
          rhs: {(DQ ("5.1 5.2 5.3"))}
          spids: [4]
        )
      ]
      spids: [4]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(lua-posix)} spids:[10])]
      spids: [10]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_name) op:Equal rhs:{(luaposix)} spids:[13])]
      spids: [13]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(33.4.0)} spids:[16])]
      spids: [16]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[19])]
      spids: [19]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ("POSIX library for Lua ") ($ VSub_Name "$_luaver"))}
          spids: [22]
        )
      ]
      spids: [22]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("https://github.com/luaposix/luaposix"))}
          spids: [28]
        )
      ]
      spids: [28]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[33])]
      spids: [33]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (MIT))} spids:[38])]
      spids: [38]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[43])]
      spids: [43]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ ("perl automake autoconf linux-headers lua-bitlib"))}
          spids: [47]
        )
      ]
      spids: [47]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:subpackages)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$pkgname") (-doc))}
          spids: [52]
        )
      ]
      spids: [52]
    )
    (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: [71]
                )
              ]
              spids: [71]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:subpackages)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name "$subpackages") (" lua") ($ VSub_Name "$_i") ("-posix:_posix_") 
                        (BracedVarSub
                          token: <VSub_Name _i>
                          suffix_op: 
                            (PatSub
                              pat: {(.)}
                              replace: {(_)}
                              do_all: False
                              do_prefix: False
                              do_suffix: False
                            )
                          spids: [87 93]
                        )
                      )
                    }
                  spids: [81]
                )
              ]
              spids: [81]
            )
          ]
          spids: [68 96]
        )
      spids: [64 66]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ (luaposix-) ($ VSub_Name "$pkgver") 
                (".tar.gz::https://github.com/luaposix/luaposix/archive/release-v") ($ VSub_Name "$pkgver") (".tar.gz\n") ("\t")
              )
            }
          spids: [98]
        )
      ]
      spids: [98]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_sdir)
          op: Equal
          rhs: 
            {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$_name") (-release-v) 
              ($ VSub_Name "$pkgver")
            }
          spids: [109]
        )
      ]
      spids: [109]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$_sdir"))})
            (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: <Op_Semi ";">
                            )
                            (AndOr
                              children: [
                                (C {(patch)} {(-p1)} {(-i)} 
                                  {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$i")}
                                )
                                (ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(1)}
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [152 154 178 -1]
                        )
                      ]
                      spids: [145 149 181]
                    )
                  ]
                  spids: [142 184]
                )
              spids: [138 140]
            )
            (AndOr
              children: [
                (C {(aclocal)})
                (AndOr
                  children: [
                    (C {(autoconf)})
                    (AndOr
                      children: [
                        (C {(automake)} {(--add-missing)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  op_id: Op_DAmp
                )
              ]
              op_id: Op_DAmp
            )
            (ForEach
              iter_name: _i
              iter_words: [{($ VSub_Name "$_luaversions")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(cp)} {(-r)} {(DQ ($ VSub_Name "$_sdir"))} 
                      {(DQ ($ VSub_Name "$srcdir")) (/build-) ($ VSub_Name "$_i")}
                    )
                  ]
                  spids: [215 233]
                )
              spids: [211 213]
            )
          ]
          spids: [123]
        )
      spids: [119 122]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (ForEach
              iter_name: _i
              iter_words: [{($ VSub_Name "$_luaversions")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(msg)} {(DQ ("build for Lua ") ($ VSub_Name "$_i"))})
                    (C {(cd)} {(DQ ($ VSub_Name "$srcdir")) (/build-) ($ VSub_Name "$_i")})
                    (AndOr
                      children: [
                        (SimpleCommand
                          words: [
                            {(./configure)}
                            {(--prefix) (Lit_Other "=") (/usr)}
                            {(--libdir) (Lit_Other "=") (/usr/lib/lua/) ($ VSub_Name "$_i")}
                            {(--datadir) (Lit_Other "=") (/usr/share/lua/) ($ VSub_Name "$_i")}
                          ]
                          more_env: [
                            (env_pair
                              name: LUA
                              val: {(lua) ($ VSub_Name "$_i")}
                              spids: [274]
                            )
                            (env_pair
                              name: LUA_INCLUDE
                              val: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (C {(pkg-config)} {(lua) ($ VSub_Name "$_i")} {(--cflags)})
                                        ]
                                      )
                                    left_token: <Left_CommandSub "$(">
                                    spids: [279 286]
                                  )
                                }
                              spids: [278]
                            )
                          ]
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (AndOr
                      children: [
                        (C {(make)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [254 328]
                )
              spids: [250 252]
            )
          ]
          spids: [242]
        )
      spids: [238 241]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (ForEach
              iter_name: _i
              iter_words: [{($ VSub_Name "$_luaversions")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(cd)} {(DQ ($ VSub_Name "$srcdir")) (/build-) ($ VSub_Name "$_i")})
                    (AndOr
                      children: [
                        (C {(make)} {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$pkgdir"))} 
                          {(Lit_VarLike "luadir=") (DQ (/usr/share/lua/) ($ VSub_Name "$_i"))} {(install)}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [349 385]
                )
              spids: [345 347]
            )
          ]
          spids: [337]
        )
      spids: [333 336]
    )
    (FuncDef
      name: _split
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(SQ )} spids:[397])]
              spids: [397]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair lhs:(LhsName name:d) op:Equal rhs:{(SQ )} spids:[402])
                (assign_pair
                  lhs: (LhsName name:_ver)
                  op: Equal
                  rhs: {($ VSub_Number "$1")}
                  spids: [404]
                )
                (assign_pair
                  lhs: (LhsName name:_f)
                  op: Equal
                  rhs: {($ VSub_Number "$2")}
                  spids: [407]
                )
              ]
              spids: [400]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$_ver"))} 
                          {(KW_Bang "!") (Lit_Other "=")} {(DQ (5.2))} {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:depends)
                          op: Equal
                          rhs: {(DQ (lua) ($ VSub_Name "$_ver") ("-bitlib<26"))}
                          spids: [440]
                        )
                      ]
                      spids: [440]
                    )
                  ]
                  spids: [-1 429]
                )
              ]
              spids: [-1 448]
            )
            (ForEach
              iter_name: d
              iter_words: [{(usr/lib/lua)} {(usr/share/lua)}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other "[")} {(-d)} 
                                  {(DQ ($ VSub_Name "$pkgdir")) (/) ($ VSub_Name "$d") (/) 
                                    ($ VSub_Name "$_ver")
                                  } {(Lit_Other "]")}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {(mkdir)} {(-p)} 
                              {(DQ ($ VSub_Name "$subpkgdir")) (/) ($ VSub_Name "$d") (/) 
                                ($ VSub_Name "$_ver")
                              }
                            )
                            (AndOr
                              children: [
                                (C {(mv)} 
                                  {(DQ ($ VSub_Name "$pkgdir")) (/) ($ VSub_Name "$d") (/) 
                                    ($ VSub_Name "$_ver") (/) ($ VSub_Name "$_f") (Lit_Other "*")
                                  } {(DQ ($ VSub_Name "$subpkgdir")) (/) ($ VSub_Name "$d") (/) ($ VSub_Name "$_ver") (/)}
                                )
                                (ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(1)}
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (AndOr
                              children: [
                                (SimpleCommand
                                  words: [
                                    {(rmdir)}
                                    {(DQ ($ VSub_Name "$pkgdir")) (/) ($ VSub_Name "$d") (/) 
                                      ($ VSub_Name "$_ver")
                                    }
                                  ]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [539]
                                    )
                                  ]
                                )
                                (C {(true)})
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [-1 482]
                        )
                      ]
                      spids: [-1 547]
                    )
                  ]
                  spids: [462 550]
                )
              spids: [456 460]
            )
          ]
          spids: [394]
        )
      spids: [390 393]
    )
    (FuncDef
      name: _split_posix
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_ver)
                  op: Equal
                  rhs: {($ VSub_Number "$1")}
                  spids: [564]
                )
              ]
              spids: [562]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ("POSIX library for Lua ") ($ VSub_Name "$_ver"))}
                  spids: [568]
                )
              ]
              spids: [568]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:install_if)
                  op: Equal
                  rhs: 
                    {
                      (DQ (lua) ($ VSub_Name "$_ver") (" lua-posix=") ($ VSub_Name "$pkgver") (-r) 
                        ($ VSub_Name "$pkgrel")
                      )
                    }
                  spids: [575]
                )
              ]
              spids: [575]
            )
            (C {(_split)} {($ VSub_Name "$_ver")} {(posix)})
          ]
          spids: [559]
        )
      spids: [555 558]
    )
    (ForEach
      iter_name: _i
      iter_words: [{($ VSub_Name "$_luaversions")}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (C {(eval)} 
              {
                (DQ (_posix_) 
                  (BracedVarSub
                    token: <VSub_Name _i>
                    suffix_op: 
                      (PatSub
                        pat: {(.)}
                        replace: {(_)}
                        do_all: False
                        do_prefix: False
                        do_suffix: False
                      )
                    spids: [611 617]
                  ) ("() { _split_posix ") ($ VSub_Name "$_i") ("; }")
                )
              }
            )
          ]
          spids: [604 623]
        )
      spids: [600 602]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:md5sums)
          op: Equal
          rhs: {(DQ ("b36ff049095f28752caeb0b46144516c  luaposix-33.4.0.tar.gz"))}
          spids: [626]
        )
      ]
      spids: [626]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha256sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"e66262f5b7fe1c32c65f17a5ef5ffb31c4d1877019b4870a5d373e2ab6526a21  luaposix-33.4.0.tar.gz"
                )
              )
            }
          spids: [631]
        )
      ]
      spids: [631]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"3cb78ccb343a55e2bf5b182410e2050356379e8f7a86d42a79853db6198628cae85f9984854f99f41505cb7e4fbb5288e4a46633a6db459649837729af76044c  luaposix-33.4.0.tar.gz"
                )
              )
            }
          spids: [636]
        )
      ]
      spids: [636]
    )
  ]
)