(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(lua-pty)} spids:[3])]
      spids: [3]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_pkgname) op:Equal rhs:{(lpty)} spids:[6])]
      spids: [6]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(1.2.1)} spids:[9])]
      spids: [9]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_rockver) op:Equal rhs:{(1)} 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 module to control other programs via PTYs.'))}
          spids: [18]
        )
      ]
      spids: [18]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ('http://www.tset.de/lpty/'))}
          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 (MIT/X11))} 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:makedepends) op:Equal rhs:{(DQ )} spids:[42])]
      spids: [42]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ('http://www.tset.de/downloads/') ($ VSub_Name '$_pkgname') (-) 
                ($ VSub_Name '$pkgver') (-) ($ VSub_Name '$_rockver') (.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') (-) 
                ($ VSub_Name '$_rockver')
              )
            }
          spids: [57]
        )
      ]
      spids: [57]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_luaversions)
          op: Equal
          rhs: {(DQ ('5.1 5.2 5.3'))}
          spids: [69]
        )
      ]
      spids: [69]
    )
    (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:makedepends)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$makedepends') (' lua') ($ VSub_Name '$_v') (-dev))}
                  spids: [86]
                )
              ]
              spids: [86]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:subpackages)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name '$subpackages') (' lua') ($ VSub_Name '$_v') (-) 
                        (BracedVarSub
                          token: <VSub_Name pkgname>
                          suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(lua-)})
                          spids: [101 105]
                        ) (':_subpackage')
                      )
                    }
                  spids: [95]
                )
              ]
              spids: [95]
            )
          ]
          spids: [83 109]
        )
      spids: [79 81]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(default_prepare)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:lver) op:Equal spids:[131])]
                  spids: [129]
                )
              terminator: <Op_Semi ';'>
            )
            (ForEach
              iter_name: lver
              iter_words: [{($ VSub_Name '$_luaversions')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      children: [
                        (C {(cp)} {(-r)} {(DQ ($ VSub_Name '$builddir'))} 
                          {(DQ ($ VSub_Name '$builddir') (-) ($ VSub_Name '$lver'))}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [143 167]
                )
              spids: [139 141]
            )
          ]
          spids: [116]
        )
      spids: [112 115]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:lver) op:Equal spids:[181])]
                  spids: [179]
                )
              terminator: <Op_Semi ';'>
            )
            (ForEach
              iter_name: lver
              iter_words: [{($ VSub_Name '$_luaversions')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(msg)} {(DQ ('Building for Lua ') ($ VSub_Name '$lver') (...))})
                    (C {(cd)} {(DQ ($ VSub_Name '$builddir') (-) ($ VSub_Name '$lver'))})
                    (AndOr
                      children: [
                        (C {(make)} {(Lit_VarLike 'CFLAGS=') (DQ ($ VSub_Name '$CFLAGS') (' -fPIC'))} 
                          {(Lit_VarLike 'LUA_INCDIR=') 
                            (DQ 
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(pkg-config)} {(--variable) (Lit_Other '=') (includedir)} 
                                        {(lua) ($ VSub_Name '$lver')}
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [227 236]
                              )
                            )
                          } 
                          {(Lit_VarLike 'LUA_LIBDIR=') 
                            (DQ 
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(pkg-config)} {(--variable) (Lit_Other '=') (libdir)} 
                                        {(lua) ($ VSub_Name '$lver')}
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [243 252]
                              )
                            )
                          } {(Lit_VarLike 'LUA=') (lua) ($ VSub_Name '$lver')}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [193 268]
                )
              spids: [189 191]
            )
          ]
          spids: [176]
        )
      spids: [172 175]
    )
    (FuncDef
      name: package
      body: (BraceGroup children:[(C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$pkgdir'))})] spids:[277])
      spids: [273 276]
    )
    (FuncDef
      name: _subpackage
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:lver)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: 
                            (Slice
                              begin: (ArithWord w:{(Lit_Digits 3)})
                              length: (ArithWord w:{(Lit_Digits 3)})
                            )
                          spids: [302 308]
                        )
                      )
                    }
                  spids: [300]
                )
              ]
              spids: [298]
            )
            (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') (-) ($ VSub_Name '$_rockver')
                      )
                    }
                  spids: [314]
                )
              ]
              spids: [312]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$pkgdesc') (' (for Lua ') ($ VSub_Name '$lver') (')'))}
                  spids: [328]
                )
              ]
              spids: [328]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ (lua) ($ VSub_Name '$lver'))}
                  spids: [337]
                )
              ]
              spids: [337]
            )
            (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: [344]
                )
              ]
              spids: [344]
            )
            (AndOr
              children: [
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$lver'))} {(Lit_Other '=')} {(5.1)} 
                  {(Lit_Other ']')}
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:replaces)
                      op: Equal
                      rhs: {(DQ ($ VSub_Name '$pkgname'))}
                      spids: [370]
                    )
                  ]
                  spids: [370]
                )
              ]
              op_id: Op_DAmp
            )
            (C {(cd)} {(DQ ($ VSub_Name '$builddir') (-) ($ VSub_Name '$lver'))})
            (C {(make)} {(Lit_VarLike 'INST_DIR=') (DQ ($ VSub_Name '$subpkgdir') (/usr))} 
              {(Lit_VarLike 'LUAVERSION=') ($ VSub_Name '$lver')} {(install)}
            )
            (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: [416]
                )
              ]
            )
          ]
          spids: [295]
        )
      spids: [291 294]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:md5sums)
          op: Equal
          rhs: {(DQ ('6eadcd08580d8eb5e60abe7273b74d61  lpty-1.2.1-1.tar.gz'))}
          spids: [426]
        )
      ]
      spids: [426]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha256sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'46bf8142ac06a4ed4ac64036f03af63d69a65d3fc03ce578fbb33d56fd5dfb65  lpty-1.2.1-1.tar.gz'
                )
              )
            }
          spids: [431]
        )
      ]
      spids: [431]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'46ffe9f5d9d70bda453c86965b218be4908a965e915aed5e0f4a788f85a8e67e88c9d5aea960048a584bfab08e02b64edfcfafa463bc3821dce056515380e692  lpty-1.2.1-1.tar.gz'
                )
              )
            }
          spids: [436]
        )
      ]
      spids: [436]
    )
  ]
)