(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(lua-ldap)} spids:[9])]
      spids: [9]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_pkgname) op:Equal rhs:{(lualdap)} spids:[12])]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(1.2.3)} spids:[15])]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(5)} spids:[18])]
      spids: [18]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ('Lua binding to LDAP'))}
          spids: [21]
        )
      ]
      spids: [21]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ('https://github.com/bdellegrazie/lualdap'))}
          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 (MIT))} 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:makedepends)
          op: Equal
          rhs: {(DQ (openldap-dev))}
          spids: [45]
        )
      ]
      spids: [45]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:checkdepends)
          op: Equal
          rhs: {(DQ ('openldap openldap-back-bdb'))}
          spids: [50]
        )
      ]
      spids: [50]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:subpackages) op:Equal rhs:{(DQ )} spids:[55])]
      spids: [55]
    )
    (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/bdellegrazie/') ($ VSub_Name '$_pkgname') (/archive/v) ($ VSub_Name '$pkgver') ('.tar.gz\n') 
                ('\tfix-open_simple-segfault.patch\n') ('\tfix-anonymous-bind.patch\n') ('\tfix-search-iter.patch\n') 
                ('\tscript-to-run-test.lua-against-a-dummy-slapd.patch\n') ('\tupdate-test.lua-for-5.2.patch')
              )
            }
          spids: [59]
        )
      ]
      spids: [59]
    )
    (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: [76]
        )
      ]
      spids: [76]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_luaversions)
          op: Equal
          rhs: {(DQ ('5.1 5.2 5.3'))}
          spids: [86]
        )
      ]
      spids: [86]
    )
    (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: [103]
                )
              ]
              spids: [103]
            )
            (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: [118 122]
                        ) (':_package')
                      )
                    }
                  spids: [112]
                )
              ]
              spids: [112]
            )
          ]
          spids: [100 126]
        )
      spids: [96 98]
    )
    (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'))})
            (C {(sed)} {(-i)} {(-e)} {(SQ </LUA_VERSION_NUM/d>)} {(config)})
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:lver) op:Equal spids:[169])]
                  spids: [167]
                )
              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: [181 205]
                )
              spids: [177 179]
            )
          ]
          spids: [133]
        )
      spids: [129 132]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:lver) op:Equal spids:[219])]
                  spids: [217]
                )
              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 {(cd)} {(DQ ($ VSub_Name '$builddir') (-) ($ VSub_Name '$lver'))})
                    (AndOr
                      children: [
                        (C {(make)} 
                          {(Lit_VarLike 'CFLAGS=') 
                            (DQ ('-fPIC -ansi -Wall ') 
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(pkg-config)} {(--cflags)} {(lua) ($ VSub_Name '$lver')})
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [258 265]
                              )
                            )
                          } {(Lit_VarLike 'OPENLDAP_LIB=') (DQ ('-lldap -llber'))}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [231 282]
                )
              spids: [227 229]
            )
          ]
          spids: [214]
        )
      spids: [210 213]
    )
    (FuncDef
      name: check
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:lver) op:Equal spids:[296])]
                  spids: [294]
                )
              terminator: <Op_Semi ';'>
            )
            (ForEach
              iter_name: lver
              iter_words: [{($ VSub_Name '$_luaversions')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(msg)} {(DQ ('Testing with Lua ') ($ VSub_Name '$lver') (...))})
                    (C {(cd)} {(DQ ($ VSub_Name '$builddir') (-) ($ VSub_Name '$lver'))})
                    (AndOr
                      children: [
                        (C {(make)} {(Lit_VarLike 'LUA=') (lua) ($ VSub_Name '$lver')} {(check)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [308 345]
                )
              spids: [304 306]
            )
          ]
          spids: [291]
        )
      spids: [287 290]
    )
    (FuncDef
      name: package
      body: (BraceGroup children:[(C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$pkgdir'))})] spids:[354])
      spids: [350 353]
    )
    (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: [379 385]
                        )
                      )
                    }
                  spids: [377]
                )
              ]
              spids: [375]
            )
            (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: [391]
                )
              ]
              spids: [389]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$pkgdesc') (' (for Lua ') ($ VSub_Name '$lver') (')'))}
                  spids: [404]
                )
              ]
              spids: [404]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ (lua) ($ VSub_Name '$lver'))}
                  spids: [413]
                )
              ]
              spids: [413]
            )
            (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: [420]
                )
              ]
              spids: [420]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:replaces)
                  op: Equal
                  rhs: {(DQ (lua) ($ VSub_Name '$lver') (-lualdap))}
                  spids: [432]
                )
              ]
              spids: [432]
            )
            (AndOr
              children: [
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$lver'))} {(Lit_Other '=')} {(DQ (5.1))} 
                  {(Lit_Other ']')}
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:replaces)
                      op: Equal
                      rhs: 
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name replaces>
                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                              spids: [461 464]
                            ) (' ') ($ VSub_Name '$pkgname')
                          )
                        }
                      spids: [459]
                    )
                  ]
                  spids: [459]
                )
              ]
              op_id: Op_DAmp
            )
            (C {(cd)} {(DQ ($ VSub_Name '$builddir') (-) ($ VSub_Name '$lver'))})
            (C {(make)} {(Lit_VarLike 'DESTDIR=') (DQ ($ VSub_Name '$subpkgdir'))} 
              {(Lit_VarLike 'LUA_LIBDIR=') 
                (DQ 
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (C {(pkg-config)} {(--variable) (Lit_Other '=') (INSTALL_CMOD)} 
                            {(lua) ($ VSub_Name '$lver')}
                          )
                        ]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [494 503]
                  )
                )
              } {(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: [527]
                )
              ]
            )
          ]
          spids: [372]
        )
      spids: [368 371]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'51934d18d1ee97a0130545e657497e51542eef97c338df14e7171f94a2d6395fceb00313e1e64e46e6cdeedf85a17c63284595fdf6fbce8b7abce29d28f1b4a7  lualdap-1.2.3.tar.gz\n'
                ) 
                (
'f9f88ef13c8dd13064ca338720d461355cc4d32c03a7e597d7d7a0d9a8a20802bafe0dd479f8c341926fc714fb91489f0649c76675609b84d61ee0327fba8a56  fix-open_simple-segfault.patch\n'
                ) 
                (
'733bbe09edba98f7a549d1e4083a45bf05e1ce9aeffea0416b42e22f1a9f3072a4b36dd56bfde78586edcaafeffcd4880cb72953aeb2952121c92afadd0c8816  fix-anonymous-bind.patch\n'
                ) 
                (
'45170c06fe71bc61565fbdb960d74e59745dc91cbf52c760b8495890d9b02d8fa9361dc4c747d1257db8cb0dac16d97415db6fe69d6d17bb0b37b507aa60627e  fix-search-iter.patch\n'
                ) 
                (
'59622fabc03dd669c554cd8a58a934b5990f482da59bd5b7c243e53a41fbaaa55933ebd345d0d5911c48665fa18f6fcb08e0d9d74a61602f80afe6cb0b20dc4a  script-to-run-test.lua-against-a-dummy-slapd.patch\n'
                ) 
                (
'ffc0f08a141667db402b4b523f0de9893035bdbee5f8e68e48792cd7a29d549931ec4be0715b9f872992f492c1ac2e62c0e05552159571ffa05e5f507a1baf85  update-test.lua-for-5.2.patch'
                )
              )
            }
          spids: [537]
        )
      ]
      spids: [537]
    )
  ]
)