(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(lua-mpack)} spids:[6])]
      spids: [6]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_rockname) op:Equal rhs:{(mpack)} spids:[9])]
      spids: [9]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_pkgname) op:Equal rhs:{(libmpack-lua)} spids:[12])]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(1.0.6)} spids:[15])]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(1)} spids:[18])]
      spids: [18]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_libmpack_ver) op:Equal rhs:{(1.0.4)} spids:[21])]
      spids: [21]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ("Libmpack bindings for Lua"))}
          spids: [24]
        )
      ]
      spids: [24]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("https://github.com/libmpack/libmpack-lua"))}
          spids: [29]
        )
      ]
      spids: [29]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[34])]
      spids: [34]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (MIT))} spids:[39])]
      spids: [39]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ (libmpack-dev))}
          spids: [44]
        )
      ]
      spids: [44]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:checkdepends)
          op: Equal
          rhs: {(DQ (lua-busted))}
          spids: [49]
        )
      ]
      spids: [49]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:subpackages) op:Equal rhs:{(DQ )} spids:[54])]
      spids: [54]
    )
    (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/libmpack/") ($ VSub_Name "$_pkgname") (/archive/) ($ VSub_Name "$pkgver") (".tar.gz\n") ("\tlibmpack-") 
                ($ VSub_Name "$_libmpack_ver") (".tar.gz::https://github.com/libmpack/libmpack/archive/") ($ VSub_Name "$_libmpack_ver") (".tar.gz\n") 
                ("\tskip-memleak-test.patch\n") ("\tdont-install-busted.patch\n") ("\tdont-download-libmpack.patch")
              )
            }
          spids: [58]
        )
      ]
      spids: [58]
    )
    (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: [78]
        )
      ]
      spids: [78]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_luaversions)
          op: Equal
          rhs: {(DQ ("5.1 5.2 5.3"))}
          spids: [88]
        )
      ]
      spids: [88]
    )
    (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: [105]
                )
              ]
              spids: [105]
            )
            (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: [120 124]
                        ) (":_subpackage")
                      )
                    }
                  spids: [114]
                )
              ]
              spids: [114]
            )
          ]
          spids: [102 128]
        )
      spids: [98 100]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libver)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(sed)} {(-En)} 
                                {
                                  (DQ ("s/^MPACK_VERSION") 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar "\\s">
                                    ) ("*") (EscapedLiteralPart token:<Lit_EscapedChar "\\?">) ("?=") 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar "\\s">
                                    ) ("*([^ ]+).*/") (EscapedLiteralPart token:<Lit_EscapedChar "\\1">) (/p)
                                  )
                                } {(Makefile)}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [149 167]
                      )
                    }
                  spids: [148]
                )
              ]
              spids: [146]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$libver"))} 
                          {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$_libmpack_ver"))} {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(warning)} 
                      {
                        (DQ ("libmpack-lua should be built with libmpack ") ($ VSub_Name "$libver") 
                          (", not ") ($ VSub_Name "$_libmpack_ver") ("!")
                        )
                      }
                    )
                  ]
                  spids: [-1 188]
                )
              ]
              spids: [-1 202]
            )
            (AndOr
              children: [
                (C {(ln)} {(-s)} 
                  {(DQ ($ VSub_Name "$srcdir")) (/libmpack-) ($ VSub_Name "$_libmpack_ver")} {(mpack-src)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (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:[238])]
                  spids: [236]
                )
              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: [250 274]
                )
              spids: [246 248]
            )
          ]
          spids: [135]
        )
      spids: [131 134]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:lver) op:Equal spids:[288])]
                  spids: [286]
                )
              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") (...))})
                    (AndOr
                      children: [
                        (C {(make)} {(-C)} {(DQ ($ VSub_Name "$builddir") (-) ($ VSub_Name "$lver"))} 
                          {(Lit_VarLike "CFLAGS=") (DQ ($ VSub_Name "$CFLAGS") (" -lmpack"))} {(Lit_VarLike "FETCH=") (false)} {(Lit_VarLike "USE_SYSTEM_LUA=") (yes)} 
                          {(Lit_VarLike "LUA_INCLUDE=") 
                            (DQ 
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(pkg-config)} {(--cflags)} {(lua) ($ VSub_Name "$lver")})
                                    ]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [344 351]
                              )
                            )
                          } 
                          {(Lit_VarLike "LUA_LIB=") 
                            (DQ 
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(pkg-config)} {(--libs)} {(lua) ($ VSub_Name "$lver")})
                                    ]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [358 365]
                              )
                            )
                          }
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [300 375]
                )
              spids: [296 298]
            )
          ]
          spids: [283]
        )
      spids: [279 282]
    )
    (FuncDef
      name: check
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:lver) op:Equal spids:[389])]
                  spids: [387]
                )
              terminator: <Op_Semi ";">
            )
            (ForEach
              iter_name: lver
              iter_words: [{($ VSub_Name "$_luaversions")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(msg)} {(DQ ("Testing on Lua ") ($ VSub_Name "$lver") (...))})
                    (AndOr
                      children: [
                        (C {(make)} {(-C)} {(DQ ($ VSub_Name "$builddir") (-) ($ VSub_Name "$lver"))} 
                          {(Lit_VarLike "USE_SYSTEM_LUA=") (yes)} {(Lit_VarLike "LUA=") (/usr/bin/lua) ($ VSub_Name "$lver")} 
                          {(Lit_VarLike "BUSTED=") (/usr/bin/busted-) ($ VSub_Name "$lver")} {(test)}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [401 451]
                )
              spids: [397 399]
            )
          ]
          spids: [384]
        )
      spids: [380 383]
    )
    (FuncDef
      name: package
      body: (BraceGroup children:[(C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir"))})] spids:[460])
      spids: [456 459]
    )
    (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: [485 491]
                        )
                      )
                    }
                  spids: [483]
                )
              ]
              spids: [481]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$pkgdesc") (" ") ($ VSub_Name "$lver"))}
                  spids: [495]
                )
              ]
              spids: [495]
            )
            (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: [503]
                )
              ]
              spids: [503]
            )
            (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") (-0)
                      )
                    }
                  spids: [517]
                )
              ]
              spids: [515]
            )
            (C {(make)} {(-C)} {(DQ ($ VSub_Name "$builddir") (-) ($ VSub_Name "$lver"))} 
              {(Lit_VarLike "USE_SYSTEM_LUA=") (yes)} 
              {(Lit_VarLike "LUA_CMOD_INSTALLDIR=") 
                (DQ 
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (C {(pkg-config)} {(--variable) (Lit_Other "=") (INSTALL_CMOD)} 
                            {(lua) ($ VSub_Name "$lver")}
                          )
                        ]
                      )
                    left_token: <Left_CommandSub "$(">
                    spids: [550 559]
                  )
                )
              } {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$subpkgdir"))} {(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: [590]
                )
              ]
            )
          ]
          spids: [478]
        )
      spids: [474 477]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"3a2f0697f94957c15a78ff24b296a034f301d1e8ab51d5636389f0fad7be838d450c59038c61d4173fa9e0463aa5565cfc0c35c273b4961a5e5631d343ca0605  libmpack-lua-1.0.6.tar.gz\n"
                ) 
                (
"8e40a562faf8b62137dec0733cbb9006fa7054e5a47bdd128fb4dfd676fac4e4385a23c3d908a4ce2edd65d673db25916695fa74bc08c5316b0c80e571a7442c  libmpack-1.0.4.tar.gz\n"
                ) 
                (
"af6b670c1007aa86b696798ede30d17addc45d27dd7e78be6e7bd4a3eac931a9ce47b8e12d8146dadf44c80d21917983a836915dd8f0c33abf3be0381a24a642  skip-memleak-test.patch\n"
                ) 
                (
"f688f34c6893dbb4590b93e14de459c33d8efe621a41699a36286b117b874fac37fe473ef46ad2f2855c4672d90defb600c7e93555989d0c45a4964fda49c5a9  dont-install-busted.patch\n"
                ) 
                (
"6c151d65f2f5c2e5e5b5f851035a7be478544cf4152e40d81d2abdca724a6e41b3767e37e9ed59f1aa8d269477ae768716f7c6e4dfc93bc3cf577e83c6c0da56  dont-download-libmpack.patch"
                )
              )
            }
          spids: [600]
        )
      ]
      spids: [600]
    )
  ]
)