(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:pkgname) op:Equal rhs:{(lua-compat53)} spids:[11])]
      spids: [11]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_rockname) op:Equal rhs:{(compat53)} spids:[14])]
      spids: [14]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_pkgname) op:Equal rhs:{(lua-compat-5.3)} spids:[17])]
      spids: [17]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(0.3)} spids:[20])]
      spids: [20]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(1)} spids:[23])]
      spids: [23]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ("Compatibility module providing Lua-5.3-style APIs for Lua"))}
          spids: [26]
        )
      ]
      spids: [26]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("https://github.com/keplerproject/lua-compat-5.3"))}
          spids: [31]
        )
      ]
      spids: [31]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[36])]
      spids: [36]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (MIT))} spids:[41])]
      spids: [41]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[46])]
      spids: [46]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:makedepends) op:Equal rhs:{(DQ )} spids:[50])]
      spids: [50]
    )
    (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 luarocks") 
                        ($ VSub_Name "$_v")
                      )
                    }
                  spids: [70]
                )
              ]
              spids: [70]
            )
            (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: [86 90]
                        ) (":_package")
                      )
                    }
                  spids: [80]
                )
              ]
              spids: [80]
            )
          ]
          spids: [67 94]
        )
      spids: [63 65]
    )
    (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: [96]
        )
      ]
      spids: [96]
    )
    (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: [108]
        )
      ]
      spids: [108]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:lver) op:Equal spids:[135])]
                  spids: [133]
                )
              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 {(luarocks-) ($ VSub_Name "$lver")} 
                      {(Lit_VarLike "CC=") (DQ ($ VSub_Name "$CC"))} {(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: [182 191]
                          )
                        )
                      } 
                      {(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: [198 207]
                          )
                        )
                      } {(make)} {(--tree) (Lit_Other "=") (./build)} {(rockspecs/compat53-scm-0.rockspec)}
                    )
                  ]
                  spids: [147 221]
                )
              spids: [143 145]
            )
          ]
          spids: [122]
        )
      spids: [118 121]
    )
    (FuncDef
      name: package
      body: (BraceGroup children:[(C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir"))})] spids:[230])
      spids: [226 229]
    )
    (FuncDef
      name: _package
      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: [255 261]
                        )
                      )
                    }
                  spids: [253]
                )
              ]
              spids: [251]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$pkgdesc") (" ") ($ VSub_Name "$lver"))}
                  spids: [265]
                )
              ]
              spids: [265]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ (lua) ($ VSub_Name "$lver"))}
                  spids: [273]
                )
              ]
              spids: [273]
            )
            (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: [280]
                )
              ]
              spids: [280]
            )
            (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 "$_rockname") (/) ($ VSub_Name "$pkgver") (-1)
                      )
                    }
                  spids: [294]
                )
              ]
              spids: [292]
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:path) op:Equal spids:[310])]
                  spids: [308]
                )
              terminator: <Op_Semi ";">
            )
            (ForEach
              iter_name: path
              iter_words: [{(lib/lua/) ($ VSub_Name "$lver")} {(share/lua/) ($ VSub_Name "$lver")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(mkdir)} {(-p)} 
                      {(DQ ($ VSub_Name "$subpkgdir")) (/usr/) 
                        (BracedVarSub
                          token: <VSub_Name path>
                          suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ("*")})
                          spids: [337 342]
                        )
                      }
                    )
                    (AndOr
                      children: [
                        (C {(mv)} {(DQ ($ VSub_Name "$builddir")) (/build/) ($ VSub_Name "$path")} 
                          {(DQ ($ VSub_Name "$subpkgdir")) (/usr/) ($ VSub_Name "$path") (/)}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [326 367]
                )
              spids: [318 324]
            )
            (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: [386]
                )
              ]
            )
          ]
          spids: [248]
        )
      spids: [244 247]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:md5sums)
          op: Equal
          rhs: {(DQ ("98f93f9de24b26ee5f6f7053979599f8  lua-compat53-0.3.tar.gz"))}
          spids: [396]
        )
      ]
      spids: [396]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha256sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"ac61979b944b17a245c6b1a696a23b18e664296d392dc1966788afda6a911ccd  lua-compat53-0.3.tar.gz"
                )
              )
            }
          spids: [401]
        )
      ]
      spids: [401]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"e8be1e0327c445b2025f52b578ecf1e842a108785268e1b82bf3999d00f352ac450d0b5bd22f2c63e382d178fae0b86989c67d8c91eddcf8994eb9c5fc0569c5  lua-compat53-0.3.tar.gz"
                )
              )
            }
          spids: [406]
        )
      ]
      spids: [406]
    )
  ]
)