(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(protobuf)} spids:[6])]
      spids: [6]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_gemname) op:Equal rhs:{(google-protobuf)} spids:[9])]
      spids: [9]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(3.3.2)} spids:[12])]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(1)} spids:[15])]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ('Library for extensible, efficient structure packing'))}
          spids: [18]
        )
      ]
      spids: [18]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ('https://github.com/google/protobuf'))}
          spids: [23]
        )
      ]
      spids: [23]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[28])]
      spids: [28]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (BSD))} spids:[33])]
      spids: [33]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends_dev) op:Equal rhs:{(DQ (zlib-dev))} spids:[38])]
      spids: [38]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: 
            {
              (DQ ($ VSub_Name '$depends_dev') (' autoconf automake libtool ruby ruby-dev ruby-rake'))
            }
          spids: [43]
        )
      ]
      spids: [43]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:subpackages)
          op: Equal
          rhs: 
            {
              (DQ (ruby-) ($ VSub_Name '$_gemname') (':_ruby ') ($ VSub_Name '$pkgname') ('-dev ') 
                ($ VSub_Name '$pkgname') ('-vim::noarch')
              )
            }
          spids: [49]
        )
      ]
      spids: [49]
    )
    (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/google/') ($ VSub_Name '$pkgname') (/archive/v) ($ VSub_Name '$pkgver') ('.tar.gz\n') ('\tmusl-fix.patch\n') 
                ('\ttrim-rakefile.patch\n') ('\t')
              )
            }
          spids: [60]
        )
      ]
      spids: [60]
    )
    (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: [75]
        )
      ]
      spids: [75]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (C {(default_prepare)})
            (C {(cd)} {(DQ ($ VSub_Name '$builddir'))})
            (C {(./autogen.sh)})
          ]
          spids: [89]
        )
      spids: [85 88]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name '$builddir'))})
            (SimpleCommand
              words: [
                {(./configure)}
                {(--prefix) (Lit_Other '=') (/usr)}
                {(--sysconfdir) (Lit_Other '=') (/etc)}
                {(--mandir) (Lit_Other '=') (/usr/share/man)}
                {(--infodir) (Lit_Other '=') (/usr/share/info)}
                {(--localstatedir) (Lit_Other '=') (/var)}
              ]
              more_env: [
                (env_pair
                  name: CXXFLAGS
                  val: {(DQ ($ VSub_Name '$CXXFLAGS') (' -fno-delete-null-pointer-checks'))}
                  spids: [123]
                )
              ]
            )
            (C {(make)})
            (C {(cd)} {(DQ ($ VSub_Name '$builddir')) (/ruby)})
            (C {(rake)} {(genproto)})
            (C {(gem)} {(build)} {($ VSub_Name '$_gemname') (.gemspec)})
            (C {(gem)} {(install)} {(--local)} {(--install-dir)} {(dist)} {(--ignore-dependencies)} 
              {(--no-document)} {(--verbose)} {($ VSub_Name '$_gemname')}
            )
          ]
          spids: [112]
        )
      spids: [108 111]
    )
    (FuncDef
      name: check
      body: 
        (BraceGroup
          children: [(C {(cd)} {(DQ ($ VSub_Name '$builddir'))}) (C {(make)} {(check)})]
          spids: [231]
        )
      spids: [227 230]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name '$builddir'))})
            (C {(make)} {(Lit_VarLike 'DESTDIR=') (DQ ($ VSub_Name '$pkgdir'))} {(install)})
          ]
          spids: [252]
        )
      spids: [248 251]
    )
    (FuncDef
      name: _ruby
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ("Ruby bindings to Google's data interchange format"))}
                  spids: [281]
                )
              ]
              spids: [281]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:gemdir)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name '$subpkgdir') (/) 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(ruby)} {(-rubygems)} {(-e)} {(SQ <'puts Gem.default_dir'>)})
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [294 304]
                        )
                      )
                    }
                  spids: [290]
                )
              ]
              spids: [288]
            )
            (C {(cd)} {(DQ ($ VSub_Name '$builddir')) (/ruby/dist)})
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$gemdir'))})
            (C {(cp)} {(-r)} {(extensions)} {(gems)} {(specifications)} {(DQ ($ VSub_Name '$gemdir')) (/)})
            (C {(find)} {(DQ ($ VSub_Name '$gemdir')) (/gems/)} {(-name)} {(DQ ('*.so'))} {(-delete)})
            (C {(cd)} 
              {(DQ ($ VSub_Name '$gemdir')) (/gems/) ($ VSub_Name '$_gemname') (-) 
                ($ VSub_Name '$pkgver')
              }
            )
            (C {(rm)} {(-r)} {(ext/)} {(tests/)})
          ]
          spids: [278]
        )
      spids: [274 277]
    )
    (FuncDef
      name: vim
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ('Vim syntax for ') ($ VSub_Name '$pkgname'))}
                  spids: [397]
                )
              ]
              spids: [397]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[404])]
              spids: [404]
            )
            (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') (' vim')
                      )
                    }
                  spids: [409]
                )
              ]
              spids: [409]
            )
            (C {(install)} {(-Dm644)} {(DQ ($ VSub_Name '$builddir')) (/editors/proto.vim)} 
              {(DQ ($ VSub_Name '$subpkgdir')) (/usr/share/vim/vimfiles/syntax/proto.vim)}
            )
          ]
          spids: [394]
        )
      spids: [390 393]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'795b2b438e6c3628f574bdb2929b7a3771a8105af2d320ca0f9b144b93d9be4f713fb389f5a08c1c771ce93585b7aefc9b272c9cb57299d9ee6827e06e7ff557  protobuf-3.3.2.tar.gz\n'
                ) 
                (
'66b430c81f34f49a86dfca50edbb517e4ad1a5ea922625b6266410c5feacfb621fe583c2998ac8994c6de45470652d2408c6c731d9746b74891a627564ca01f0  musl-fix.patch\n'
                ) 
                (
'e1f6483b7e8d38b07cd01883bda439b2017fa0a87626fa49628f1d2042b5097ba8a68bdf1a03cd385e3e9a7c0bd2af6fbccec25e1c061617c3cceccabd17dce4  trim-rakefile.patch'
                )
              )
            }
          spids: [440]
        )
      ]
      spids: [440]
    )
  ]
)