(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_luaversions)
          op: Equal
          rhs: {(DQ ("5.1 5.2 5.3"))}
          spids: [6]
        )
      ]
      spids: [6]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_drivers)
          op: Equal
          rhs: {(DQ ("mysql postgres sqlite3 odbc"))}
          spids: [11]
        )
      ]
      spids: [11]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(lua-sql)} spids:[17])]
      spids: [17]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_pkgname) op:Equal rhs:{(luasql)} spids:[20])]
      spids: [20]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(2.3.5)} spids:[23])]
      spids: [23]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(1)} spids:[26])]
      spids: [26]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ("Lua SQL drivers"))}
          spids: [29]
        )
      ]
      spids: [29]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("http://keplerproject.github.io/luasql/doc/us/"))}
          spids: [34]
        )
      ]
      spids: [34]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[39])]
      spids: [39]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (MIT))} spids:[44])]
      spids: [44]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ ("mariadb-dev postgresql-dev sqlite-dev unixodbc-dev"))}
          spids: [49]
        )
      ]
      spids: [49]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:subpackages) op:Equal rhs:{(DQ )} spids:[54])]
      spids: [54]
    )
    (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: [70]
                )
              ]
              spids: [70]
            )
            (ForEach
              iter_name: _d
              iter_words: [{($ VSub_Name "$_drivers")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:subpackages)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name "$subpackages") (" lua") ($ VSub_Name "$_v") (-sql-) 
                                ($ VSub_Name "$_d") (":_subpackage")
                              )
                            }
                          spids: [91]
                        )
                      ]
                      spids: [91]
                    )
                  ]
                  spids: [88 102]
                )
              spids: [84 86]
            )
          ]
          spids: [67 104]
        )
      spids: [63 65]
    )
    (ForEach
      iter_name: _d
      iter_words: [{($ VSub_Name "$_drivers")}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:subpackages)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name "$subpackages") (" lua-sql-") ($ VSub_Name "$_d") 
                        (":_meta_subpackage")
                      )
                    }
                  spids: [118]
                )
              ]
              spids: [118]
            )
          ]
          spids: [115 126]
        )
      spids: [111 113]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ($ VSub_Name "$_pkgname") (-) ($ VSub_Name "$pkgver") 
                (".tar.gz::https://github.com/keplerproject/") ($ VSub_Name "$_pkgname") (/archive/v) ($ VSub_Name "$pkgver") (.tar.gz)
              )
            }
          spids: [129]
        )
      ]
      spids: [129]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:builddir)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$srcdir") (/) ($ VSub_Name "$_pkgname") (-) ($ VSub_Name "$pkgver"))}
          spids: [141]
        )
      ]
      spids: [141]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(default_prepare)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (AndOr
              children: [
                (C {(sed)} {(-i)} {(SQ <"s:^\\#include \"mysql.h\":\\#include <mysql/mysql.h>:">)} 
                  {(src/ls_mysql.c)}
                )
                (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:[206])]
                  spids: [204]
                )
              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: [218 242]
                )
              spids: [214 216]
            )
          ]
          spids: [155]
        )
      spids: [151 154]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair lhs:(LhsName name:cflags) op:Equal spids:[256])
                (assign_pair lhs:(LhsName name:lver) op:Equal spids:[258])
              ]
              spids: [254]
            )
            (ForEach
              iter_name: lver
              iter_words: [{($ VSub_Name "$_luaversions")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:cflags)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name "$CFLAGS") (" ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(pkg-config)} {(lua) ($ VSub_Name "$lver")} {(--cflags)})
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [278 285]
                                ) (" -fPIC")
                              )
                            }
                          spids: [274]
                        )
                      ]
                      spids: [274]
                    )
                    (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"))} 
                          {(Lit_VarLike "DRIVER_LIBS=") (DQ (-lmysqlclient))} {(mysql)}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (AndOr
                      children: [
                        (C {(make)} {(Lit_VarLike "CFLAGS=") (DQ ($ VSub_Name "$cflags"))} 
                          {(Lit_VarLike "DRIVER_LIBS=") 
                            (DQ 
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(pkg-config)} {(--libs)} {(libpq)})]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [343 349]
                              )
                            )
                          } {(postgres)}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (AndOr
                      children: [
                        (C {(make)} {(Lit_VarLike "CFLAGS=") (DQ ($ VSub_Name "$cflags"))} 
                          {(Lit_VarLike "DRIVER_LIBS=") 
                            (DQ 
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(pkg-config)} {(--libs)} {(sqlite3)})]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [373 379]
                              )
                            )
                          } {(sqlite3)}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (AndOr
                      children: [
                        (C {(make)} 
                          {(Lit_VarLike "CFLAGS=") (DQ ($ VSub_Name "$cflags") (" -DUNIXODBC"))} {(Lit_VarLike "DRIVER_LIBS=") (DQ (-lodbc))} {(odbc)}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [271 418]
                )
              spids: [267 269]
            )
          ]
          spids: [251]
        )
      spids: [247 250]
    )
    (FuncDef
      name: package
      body: (BraceGroup children:[(C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir"))})] spids:[427])
      spids: [423 426]
    )
    (FuncDef
      name: _meta_subpackage
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:driver)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*-")})
                          spids: [452 456]
                        )
                      )
                    }
                  spids: [450]
                )
              ]
              spids: [448]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$pkgdesc") (" for ") ($ VSub_Name "$driver"))}
                  spids: [460]
                )
              ]
              spids: [460]
            )
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir"))})
          ]
          spids: [445]
        )
      spids: [441 444]
    )
    (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: [491 497]
                        )
                      )
                    }
                  spids: [489]
                )
              ]
              spids: [487]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:driver)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*-")})
                          spids: [505 509]
                        )
                      )
                    }
                  spids: [503]
                )
              ]
              spids: [501]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: 
                    {
                      (DQ ("Lua ") ($ VSub_Name "$lver") (" SQL driver for ") ($ VSub_Name "$driver"))
                    }
                  spids: [513]
                )
              ]
              spids: [513]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ (lua) ($ VSub_Name "$lver"))}
                  spids: [522]
                )
              ]
              spids: [522]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:install_if)
                  op: Equal
                  rhs: 
                    {
                      (DQ (lua-sql-) ($ VSub_Name "$driver") ("=") ($ VSub_Name "$pkgver") (-r) 
                        ($ VSub_Name "$pkgrel") (" lua") ($ VSub_Name "$lver")
                      )
                    }
                  spids: [529]
                )
              ]
              spids: [529]
            )
            (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") (-1)
                      )
                    }
                  spids: [544]
                )
              ]
              spids: [542]
            )
            (C {(cd)} {(DQ ($ VSub_Name "$builddir") (-) ($ VSub_Name "$lver"))})
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:install_cmod)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(pkg-config)} {(--variable)} {(INSTALL_CMOD)} 
                                  {(lua) ($ VSub_Name "$lver")}
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [571 580]
                        )
                      )
                    }
                  spids: [569]
                )
              ]
              spids: [567]
            )
            (C {(install)} {(-D)} {(src/) ($ VSub_Name "$driver") (.so)} 
              {(DQ ($ VSub_Name "$subpkgdir")) (/) ($ VSub_Name "$install_cmod") (/luasql/) 
                ($ VSub_Name "$driver") (.so)
              }
            )
            (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: [620]
                )
              ]
            )
          ]
          spids: [484]
        )
      spids: [480 483]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"28e25998366a2517cdd37933f0f00e0bb4b06bd9b6731209361777d6b755d62d763168dc78177cab5dfeee667deea04ff775912fb148ed145d64cea5407df4e7  luasql-2.3.5.tar.gz"
                )
              )
            }
          spids: [630]
        )
      ]
      spids: [630]
    )
  ]
)