(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_luaversions)
          op: Equal
          rhs: {(DQ ('5.1 5.2 5.3'))}
          spids: [3]
        )
      ]
      spids: [3]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(lua-crypto)} spids:[8])]
      spids: [8]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(0.3.2)} spids:[11])]
      spids: [11]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(4)} spids:[14])]
      spids: [14]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ('a Lua frontend to the OpenSSL cryptographic library'))}
          spids: [17]
        )
      ]
      spids: [17]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ('http://mkottman.github.io/luacrypto/'))}
          spids: [22]
        )
      ]
      spids: [22]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[27])]
      spids: [27]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (MIT/X11))} spids:[32])]
      spids: [32]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(SQ )} spids:[37])]
      spids: [37]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ ('libressl-dev lua-dev'))}
          spids: [39]
        )
      ]
      spids: [39]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:install) op:Equal rhs:{(SQ )} spids:[44])]
      spids: [44]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:subpackages)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$pkgname') ('-dev ') ($ VSub_Name '$pkgname') (-doc))}
          spids: [46]
        )
      ]
      spids: [46]
    )
    (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: [66]
                )
              ]
              spids: [66]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:subpackages)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name '$subpackages') (' lua') ($ VSub_Name '$_v') ('-crypto:split_') 
                        (BracedVarSub
                          token: <VSub_Name _v>
                          suffix_op: 
                            (PatSub
                              pat: {(.)}
                              replace: {(_)}
                              do_all: False
                              do_prefix: False
                              do_suffix: False
                            )
                          spids: [81 87]
                        )
                      )
                    }
                  spids: [75]
                )
              ]
              spids: [75]
            )
          ]
          spids: [63 90]
        )
      spids: [59 61]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ (luacrypto-) ($ VSub_Name '$pkgver') 
                ('.tar.gz::https://github.com/mkottman/luacrypto/archive/') ($ VSub_Name '$pkgver') ('.tar.gz\n') ('\tlua5.1-blank-LUA_CFLAGS-fails-configure.patch')
              )
            }
          spids: [92]
        )
      ]
      spids: [92]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_builddir)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$srcdir')) (/luacrypto-) ($ VSub_Name '$pkgver')}
          spids: [103]
        )
      ]
      spids: [103]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name '$_builddir'))})
            (AndOr
              children: [
                (C {(update_config_sub)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (ForEach
              iter_name: i
              iter_words: [{($ VSub_Name '$_luaversions')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [(C {(mkdir)} {(-p)} {(build-) ($ VSub_Name '$i')})]
                  spids: [143 154]
                )
              spids: [139 141]
            )
          ]
          spids: [115]
        )
      spids: [111 114]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name '$_builddir'))})
            (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)} {(build-) ($ VSub_Name '$i')})
                    (AndOr
                      children: [
                        (SimpleCommand
                          words: [
                            {(../configure)}
                            {(--host) (Lit_Other '=') ($ VSub_Name '$CHOST')}
                            {(--build) (Lit_Other '=') ($ VSub_Name '$CBUILD')}
                            {(--prefix) (Lit_Other '=') (/usr)}
                          ]
                          more_env: [
                            (env_pair
                              name: LUA_CFLAGS
                              val: 
                                {
                                  (DQ 
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (C {(pkg-config)} {(lua) ($ VSub_Name '$i')} {(--cflags)})
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [200 207]
                                    )
                                  )
                                }
                              spids: [198]
                            )
                            (env_pair
                              name: LUA_LIBS
                              val: 
                                {
                                  (DQ 
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (C {(pkg-config)} {(lua) ($ VSub_Name '$i')} {(--libs)})
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [214 221]
                                    )
                                  )
                                }
                              spids: [212]
                            )
                          ]
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (AndOr
                      children: [
                        (C {(make)} 
                          {(Lit_VarLike 'cryptodir=') (/usr/lib/lua/) ($ VSub_Name '$_luaver')}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (C {(cd)} {(..)})
                  ]
                  spids: [181 273]
                )
              spids: [177 179]
            )
          ]
          spids: [162]
        )
      spids: [158 161]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name '$_builddir'))})
            (ForEach
              iter_name: i
              iter_words: [{($ VSub_Name '$_luaversions')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(cd)} {(build-) ($ VSub_Name '$i')})
                    (AndOr
                      children: [
                        (C {(make)} {(install)} {(Lit_VarLike 'DESTDIR=') (DQ ($ VSub_Name '$pkgdir'))} 
                          {(Lit_VarLike 'cryptodir=') (/usr/lib/lua/) ($ VSub_Name '$i')}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (C {(cd)} {(..)})
                  ]
                  spids: [301 337]
                )
              spids: [297 299]
            )
          ]
          spids: [282]
        )
      spids: [278 281]
    )
    (FuncDef
      name: _split
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair lhs:(LhsName name:d) op:Equal rhs:{(SQ )} spids:[351])
                (assign_pair
                  lhs: (LhsName name:_ver)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [353]
                )
              ]
              spids: [349]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$pkgdesc') (' for Lua ') ($ VSub_Name '$_ver'))}
                  spids: [357]
                )
              ]
              spids: [357]
            )
            (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: [365]
                )
              ]
              spids: [365]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(SQ )} spids:[378])]
              spids: [378]
            )
            (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 412]
                        )
                      ]
                      spids: [-1 450]
                    )
                  ]
                  spids: [392 453]
                )
              spids: [386 390]
            )
          ]
          spids: [346]
        )
      spids: [342 345]
    )
    (ForEach
      iter_name: _v
      iter_words: [{($ VSub_Name '$_luaversions')}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (C {(eval)} 
              {
                (DQ (split_) 
                  (BracedVarSub
                    token: <VSub_Name _v>
                    suffix_op: 
                      (PatSub
                        pat: {(.)}
                        replace: {(_)}
                        do_all: False
                        do_prefix: False
                        do_suffix: False
                      )
                    spids: [475 481]
                  ) ('() { _split ') ($ VSub_Name '$_v') ('; }')
                )
              }
            )
          ]
          spids: [468 487]
        )
      spids: [464 466]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'4cb20d2cc348a11f140210dffb803629034c72cc7232590f4488f559d5c7233e0c41e56fcd0863959ac0b07e64c9aa79ea573e4126fdc11bc3f1b3b49d13343e  luacrypto-0.3.2.tar.gz\n'
                ) 
                (
'cca8745c5b46fa8b3adc237eb1d926c008b6d03637978568537da8c505479272f2b08bbcf1b016883eb783dd88759533aae5fd14fe3d5927b36f54074afdcd34  lua5.1-blank-LUA_CFLAGS-fails-configure.patch'
                )
              )
            }
          spids: [490]
        )
      ]
      spids: [490]
    )
  ]
)