(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_luaversions) op:Equal rhs:{(DQ ('5.1 5.2'))} spids:[7])]
      spids: [7]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(lua-subprocess)} spids:[12])]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(0.0.20141229)} spids:[15])]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(2)} spids:[18])]
      spids: [18]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'A Lua module written in C that allows you to create child processes and communicate with them'
                )
              )
            }
          spids: [21]
        )
      ]
      spids: [21]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ('https://github.com/tdtrask/lua-subprocess'))}
          spids: [26]
        )
      ]
      spids: [26]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[31])]
      spids: [31]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (AS-IS))} spids:[36])]
      spids: [36]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[41])]
      spids: [41]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:install) op:Equal rhs:{(DQ )} spids:[45])]
      spids: [45]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends_dev) op:Equal rhs:{(DQ )} spids:[49])]
      spids: [49]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$depends_dev') (' asciidoc'))}
          spids: [53]
        )
      ]
      spids: [53]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:subpackages) op:Equal rhs:{(DQ )} spids:[59])]
      spids: [59]
    )
    (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))}
                  spids: [75]
                )
              ]
              spids: [75]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:subpackages)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name '$subpackages') (' lua') ($ VSub_Name '$_i') 
                        ('-subprocess:split_') 
                        (BracedVarSub
                          token: <VSub_Name _i>
                          suffix_op: 
                            (PatSub
                              pat: {(.)}
                              replace: {(_)}
                              do_all: False
                              do_prefix: False
                              do_suffix: False
                            )
                          spids: [90 96]
                        )
                      )
                    }
                  spids: [84]
                )
              ]
              spids: [84]
            )
          ]
          spids: [72 99]
        )
      spids: [68 70]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ('http://dev.alpinelinux.org/archive/') ($ VSub_Name '$pkgname') (/) 
                ($ VSub_Name '$pkgname') (-) ($ VSub_Name '$pkgver') ('.tar.gz\n') ('\tmakefile.patch')
              )
            }
          spids: [101]
        )
      ]
      spids: [101]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_giturl)
          op: Equal
          rhs: {(DQ ('git://github.com/tdtrask/lua-subprocess.git'))}
          spids: [114]
        )
      ]
      spids: [114]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_upload)
          op: Equal
          rhs: {(DQ ('dev.alpinelinux.org:/archive/') ($ VSub_Name '$pkgname') (/))}
          spids: [119]
        )
      ]
      spids: [119]
    )
    (FuncDef
      name: snapshot
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_date)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(date)} 
                                {(Lit_Other '+') (Lit_Other '%') (Y) (Lit_Other '%') (m) (Lit_Other '%') 
                                  (d)
                                }
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [137 147]
                      )
                    }
                  spids: [136]
                )
              ]
              spids: [134]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_ver)
                  op: Equal
                  rhs: {(0.0.) ($ VSub_Name '$_date')}
                  spids: [152]
                )
              ]
              spids: [150]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_pkg)
                  op: Equal
                  rhs: {($ VSub_Name '$pkgname') (-) ($ VSub_Name '$_ver') (.tar.gz)}
                  spids: [159]
                )
              ]
              spids: [157]
            )
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$srcdir'))})
            (C {(cd)} {(DQ ($ VSub_Name '$srcdir'))})
            (C {(msg)} {(DQ ('Creating snapshot: ') ($ VSub_Name '$_pkg'))})
            (C {(rm)} {(-rf)} 
              {
                (BracedVarSub
                  token: <VSub_Name _giturl>
                  suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)})
                  spids: [194 199]
                )
              }
            )
            (AndOr
              children: [
                (C {(git)} {(clone)} {(--depth) (Lit_Other '=') (1)} {(--bare)} {($ VSub_Name '$_giturl')})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(git)} {(--git-dir)} 
                  {
                    (BracedVarSub
                      token: <VSub_Name _giturl>
                      suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)})
                      spids: [225 230]
                    )
                  } {(archive)} {(-o)} {($ VSub_Name '$_pkg')} 
                  {(--prefix) (Lit_Other '=') ($ VSub_Name '$pkgname') (-) ($ VSub_Name '$_ver') (/)} {(HEAD)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(msg)} {(DQ ('Uploading to ') ($ VSub_Name '$_upload'))})
            (AndOr
              children: [
                (C {(rsync)} {(-Lave)} {(ssh)} {($ VSub_Name '$_pkg')} {($ VSub_Name '$_upload')})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(cd)} {(DQ ($ VSub_Name '$startdir'))})
            (AndOr
              children: [
                (C {(sed)} {(-i)} {(-e)} {(DQ ('s/^pkgver=.*/pkgver=') ($ VSub_Name '$_ver') (/))} 
                  {(APKBUILD)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(abuild)} {(checksum)})
          ]
          spids: [131]
        )
      spids: [127 130]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_sdir)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$srcdir')) (/) ($ VSub_Name '$pkgname') (-) ($ VSub_Name '$pkgver')}
          spids: [320]
        )
      ]
      spids: [320]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[339])]
              spids: [337]
            )
            (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: [368 370 394 -1]
                        )
                      ]
                      spids: [361 365 397]
                    )
                  ]
                  spids: [358 400]
                )
              spids: [354 356]
            )
            (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: [412 430]
                )
              spids: [408 410]
            )
          ]
          spids: [334]
        )
      spids: [330 333]
    )
    (FuncDef
      name: build
      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 'lua_package=') (DQ (lua) ($ VSub_Name '$_i'))})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [451 478]
                )
              spids: [447 449]
            )
          ]
          spids: [439]
        )
      spids: [435 438]
    )
    (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 'lua_package=') (DQ (lua) ($ VSub_Name '$_i'))} 
                          {(Lit_VarLike 'DESTDIR=') (DQ ($ VSub_Name '$pkgdir'))} {(install)}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [499 533]
                )
              spids: [495 497]
            )
          ]
          spids: [487]
        )
      spids: [483 486]
    )
    (FuncDef
      name: _split
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair lhs:(LhsName name:d) op:Equal rhs:{(SQ )} spids:[547])
                (assign_pair
                  lhs: (LhsName name:_ver)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [549]
                )
              ]
              spids: [545]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('A Lua ') ($ VSub_Name '$_ver') 
                        (
' module written in C that allows you to create child processes and communicate with them'
                        )
                      )
                    }
                  spids: [553]
                )
              ]
              spids: [553]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:install_if)
                  op: Equal
                  rhs: 
                    {
                      (DQ (lua) ($ VSub_Name '$_ver') (' ') ($ VSub_Name '$pkgname') ('=') 
                        ($ VSub_Name '$pkgver') (-r) ($ VSub_Name '$pkgrel')
                      )
                    }
                  spids: [561]
                )
              ]
              spids: [561]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:replaces)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$pkgname'))}
                  spids: [574]
                )
              ]
              spids: [574]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(SQ )} spids:[580])]
              spids: [580]
            )
            (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')})
                            (AndOr
                              children: [
                                (C {(mv)} 
                                  {(DQ ($ VSub_Name '$pkgdir')) (/) ($ VSub_Name '$d') (/) 
                                    ($ VSub_Name '$_ver')
                                  } {(DQ ($ VSub_Name '$subpkgdir')) (/) ($ VSub_Name '$d') (/)}
                                )
                                (ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(1)}
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [-1 614]
                        )
                      ]
                      spids: [-1 652]
                    )
                  ]
                  spids: [594 655]
                )
              spids: [588 592]
            )
          ]
          spids: [542]
        )
      spids: [538 541]
    )
    (ForEach
      iter_name: _i
      iter_words: [{($ VSub_Name '$_luaversions')}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (C {(eval)} 
              {
                (DQ (split_) 
                  (BracedVarSub
                    token: <VSub_Name _i>
                    suffix_op: 
                      (PatSub
                        pat: {(.)}
                        replace: {(_)}
                        do_all: False
                        do_prefix: False
                        do_suffix: False
                      )
                    spids: [676 682]
                  ) ('() { _split ') ($ VSub_Name '$_i') ('; }')
                )
              }
            )
          ]
          spids: [669 688]
        )
      spids: [665 667]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:md5sums)
          op: Equal
          rhs: 
            {
              (DQ ('a2ab629c701eba6f3300405daf104f1d  lua-subprocess-0.0.20141229.tar.gz\n') 
                ('8e784d1a4c78ca60bdd61c635026ee72  makefile.patch')
              )
            }
          spids: [691]
        )
      ]
      spids: [691]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha256sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'6d58417d9e2791408092ec2b232072c0461343954d3f72ee6943b0103ac6ce20  lua-subprocess-0.0.20141229.tar.gz\n'
                ) ('019f7eb263abe4015581eae90c55ce2265b24ca213239bc02f565a107f8622ab  makefile.patch')
              )
            }
          spids: [697]
        )
      ]
      spids: [697]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'5d0648a883102172bc086a0054f76832d25ce760149f0e0ddac927a325815b1937e780efc5d553bb6b751ed7642d728ff37745be134dfdb42753bde3b338a1b9  lua-subprocess-0.0.20141229.tar.gz\n'
                ) 
                (
'af4e25d8d503e9cb8296a2b8d8b19577e64b412f56607bf38bc828a7c214904ecdf9619fc2541461bc4dda6c6fcd47cbb1051499bd2f132dad76092cf3ae5e9d  makefile.patch'
                )
              )
            }
          spids: [703]
        )
      ]
      spids: [703]
    )
  ]
)