(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_gemname) op:Equal rhs:{(posix-spawn)} spids:[6])]
      spids: [6]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgname)
          op: Equal
          rhs: {(ruby-) ($ VSub_Name "$_gemname")}
          spids: [9]
        )
      ]
      spids: [9]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(0.3.8)} spids:[13])]
      spids: [13]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(1)} spids:[16])]
      spids: [16]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ("posix-spawn uses posix_spawnp(2) for faster process spawning"))}
          spids: [19]
        )
      ]
      spids: [19]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("http://rubygems.org/gems/") ($ VSub_Name "$_gemname"))}
          spids: [24]
        )
      ]
      spids: [24]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[30])]
      spids: [30]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (MIT))} spids:[35])]
      spids: [35]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ (ruby))} spids:[40])]
      spids: [40]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends_dev) op:Equal rhs:{(DQ )} spids:[45])]
      spids: [45]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$depends_dev") (" ruby-dev"))}
          spids: [49]
        )
      ]
      spids: [49]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:install) op:Equal rhs:{(DQ )} spids:[55])]
      spids: [55]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:subpackages) op:Equal rhs:{(DQ )} spids:[59])]
      spids: [59]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ("http://gems.rubyforge.org/gems/") ($ VSub_Name "$_gemname") (-) 
                ($ VSub_Name "$pkgver") (".gem\n") ("\t0001-Only-use-POSIX_SPAWN_USEVFORK-if-defined-or-if-GNU-l.patch\n") ("\t")
              )
            }
          spids: [63]
        )
      ]
      spids: [63]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_builddir)
          op: Equal
          rhs: 
            {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$_realname") (-) ($ VSub_Name "$pkgver")}
          spids: [75]
        )
      ]
      spids: [75]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$srcdir"))})
            (AndOr
              children: [
                (C {(gem)} {(unpack)} {($ VSub_Name "$_gemname") (-) ($ VSub_Name "$pkgver") (.gem)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(rm)} {($ VSub_Name "$_gemname") (-) ($ VSub_Name "$pkgver") (.gem)})
            (AndOr
              children: [
                (C {(cd)} {($ VSub_Name "$_gemname") (-) ($ VSub_Name "$pkgver")})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (ForEach
              iter_name: i
              iter_words: [{($ VSub_Name "$source")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name "$i")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "*") (.patch)}]
                          action: [
                            (Sentence
                              child: (C {(msg)} {($ VSub_Name "$i")})
                              terminator: <Op_Semi ";">
                            )
                            (AndOr
                              children: [
                                (C {(patch)} {(-p1)} {(-i)} 
                                  {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$i")}
                                )
                                (ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(1)}
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [155 157 181 -1]
                        )
                      ]
                      spids: [148 152 184]
                    )
                  ]
                  spids: [145 187]
                )
              spids: [141 143]
            )
            (C {(gem)} {(build)} {($ VSub_Name "$_gemname") (.gemspec)})
            (AndOr
              children: [
                (C {(mv)} {(Lit_Other "*") (.gem)} {(..)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [89]
        )
      spids: [85 88]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})]
          spids: [218]
        )
      spids: [214 217]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_gemdir)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(ruby)} {(-rubygems)} {(-e) (SQ <"puts Gem.default_dir">)})]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [239 248]
                        )
                      )
                    }
                  spids: [237]
                )
              ]
              spids: [235]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_geminstdir)
                  op: Equal
                  rhs: 
                    {($ VSub_Name "$_gemdir") (/gems/) ($ VSub_Name "$_gemname") (-) 
                      ($ VSub_Name "$pkgver")
                    }
                  spids: [254]
                )
              ]
              spids: [252]
            )
            (AndOr
              children: [
                (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir"))})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(gem)} {(install)} {(--local)} {(--install-dir)} 
                  {(DQ ($ VSub_Name "$pkgdir")) (/) ($ VSub_Name "$_gemdir")} {(--ignore-dependencies)} {(--verbose)} {(--no-rdoc)} {(--no-ri)} 
                  {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$_gemname") (-) 
                    ($ VSub_Name "$pkgver") (.gem)
                  }
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(rm)} {(-rf)} {(DQ ($ VSub_Name "$pkgdir")) (/) ($ VSub_Name "$_gemdir") (/cache)} 
              {(DQ ($ VSub_Name "$pkgdir")) (/) ($ VSub_Name "$_geminstdir") (/ext)} {(DQ ($ VSub_Name "$pkgdir")) (/) ($ VSub_Name "$_geminstdir") (/.require_paths)}
            )
          ]
          spids: [232]
        )
      spids: [228 231]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:md5sums)
          op: Equal
          rhs: 
            {
              (DQ ("bcde276ff03e0f80c42981bb1c3cfcf8  posix-spawn-0.3.8.gem\n") 
                (
"ab5beb84d3950d6b6a327c8c9cb25fa0  0001-Only-use-POSIX_SPAWN_USEVFORK-if-defined-or-if-GNU-l.patch"
                )
              )
            }
          spids: [352]
        )
      ]
      spids: [352]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha256sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"2185d0834e8a097178caaffb4955245a0ae6195ad764804c8d9f0814e2771469  posix-spawn-0.3.8.gem\n"
                ) 
                (
"1d5b769023142eca39351ac60795ab8976be7520ff11eda8f5365f0b4b651a23  0001-Only-use-POSIX_SPAWN_USEVFORK-if-defined-or-if-GNU-l.patch"
                )
              )
            }
          spids: [358]
        )
      ]
      spids: [358]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"0a03cd8dd11ea3c61db2bff2ecefdfac66978a3a75d3e42aaa59203422fc36e3f03fbede13a71629f80d260e3e95cf24f84ab9f7353cf5816d3c8b630cc2945e  posix-spawn-0.3.8.gem\n"
                ) 
                (
"59d171b4165d08eee8252a5a3d51c3806884a0a3dca12c01c7edcee4036b27f430a14792aaa12bb3764feaf70158986b67365572422f0b5075a94acac6555757  0001-Only-use-POSIX_SPAWN_USEVFORK-if-defined-or-if-GNU-l.patch"
                )
              )
            }
          spids: [364]
        )
      ]
      spids: [364]
    )
  ]
)