(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgname)
          op: assign_op.Equal
          rhs: {<dircproxy>}
          spids: [6]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgver)
          op: assign_op.Equal
          rhs: {<1.2.0_rc>}
          spids: [9]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_status)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: <Id.VSub_Name pkgver>
                suffix_op: 
                  (suffix_op.PatSub
                    pat: {<_rc>}
                    replace: {<-BETA>}
                    replace_mode: Id.Undefined_Tok
                  )
              )
            }
          spids: [12]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_ver)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: <Id.VSub_Name _status>
                suffix_op: (suffix_op.PatSub pat:{<.>} replace:{<_>} replace_mode:Id.Lit_Slash)
              )
            }
          spids: [21]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgrel)
          op: assign_op.Equal
          rhs: {<1>}
          spids: [31]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgdesc)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                <
'IRC proxy server designed for people who use IRC from lots of different workstations or clients'
                >
              )
            }
          spids: [34]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:url)
          op: assign_op.Equal
          rhs: {(DQ <'https://github.com/w8tvi/dircproxy'>)}
          spids: [39]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:arch)
          op: assign_op.Equal
          rhs: {(DQ <all>)}
          spids: [44]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:license)
          op: assign_op.Equal
          rhs: {(DQ <GPL>)}
          spids: [49]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:depends)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [54]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:makedepends)
          op: assign_op.Equal
          rhs: {(DQ <'autoconf automake'>)}
          spids: [58]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:install)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [63]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:subpackages)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$pkgname') <-doc>)}
          spids: [65]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:source)
          op: assign_op.Equal
          rhs: 
            {
              (DQ ($ Id.VSub_DollarName '$pkgname') <-> ($ Id.VSub_DollarName '$_ver') 
                <'.tar.gz::https://github.com/w8tvi/dircproxy/archive/RELEASE-'> ($ Id.VSub_DollarName '$_ver') <'.tar.gz\n'> <'\tfix-gcc4-issue.patch\n'> <'\tfix-segfault.patch\n'> 
                <'\tfix-issue54-1.patch\n'> <'\tfix-issue54-2.patch\n'> <'\t'>
              )
            }
          spids: [71]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_builddir)
          op: assign_op.Equal
          rhs: 
            {
              (DQ ($ Id.VSub_DollarName '$srcdir') </> ($ Id.VSub_DollarName '$pkgname') <-RELEASE-> 
                ($ Id.VSub_DollarName '$_ver')
              )
            }
          spids: [87]
        )
      ]
    )
    (command.ShFunction
      name: prepare
      body: 
        (command.BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$_builddir'))})
            (command.ForEach
              iter_name: i
              iter_words: [{($ Id.VSub_DollarName '$source')}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.Case
                      to_match: {($ Id.VSub_DollarName '$i')}
                      arms: [
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'> <.patch>}]
                          action: [
                            (command.Sentence
                              child: (C {<msg>} {($ Id.VSub_DollarName '$i')})
                              terminator: <Id.Op_Semi _>
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<patch>} {<-p1>} {<-i>} 
                                  {(DQ ($ Id.VSub_DollarName '$srcdir')) </> 
                                    ($ Id.VSub_DollarName '$i')
                                  }
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {<1>}
                                )
                              ]
                            )
                          ]
                          spids: [129 131 155 -1]
                        )
                      ]
                    )
                  ]
                )
            )
            (C {<./autogen.sh>})
          ]
        )
    )
    (command.ShFunction
      name: build
      body: 
        (command.BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$_builddir'))})
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<./configure>} {<--build> <Id.Lit_Equals '='> ($ Id.VSub_DollarName '$CBUILD')} 
                  {<--host> <Id.Lit_Equals '='> ($ Id.VSub_DollarName '$CHOST')} {<--prefix> <Id.Lit_Equals '='> </usr>} {<--sysconfdir> <Id.Lit_Equals '='> </etc>} 
                  {<--mandir> <Id.Lit_Equals '='> </usr/share/man>} {<--infodir> <Id.Lit_Equals '='> </usr/share/info>}
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<make>})
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: package
      body: 
        (command.BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$_builddir'))})
            (C {<make>} {<Id.Lit_VarLike 'DESTDIR='> (DQ ($ Id.VSub_DollarName '$pkgdir'))} {<install>})
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:md5sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'fbff23c43845e5a6c0bdc8d439186af3  dircproxy-1_2_0-BETA.tar.gz\n'> 
                <'c407e3111510dc86347826d922d3d292  fix-gcc4-issue.patch\n'> <'65adeaa67ccbbea5f98a6f8b2b0b32f0  fix-segfault.patch\n'> 
                <'2867659a46fb059cae0f261d058a8c23  fix-issue54-1.patch\n'> <'30287d85baab9c1d98d970ee95640e24  fix-issue54-2.patch'>
              )
            }
          spids: [267]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:sha256sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                <
'84ce1e2496868f55de3cabc2668e68689c2ff56468fff46546418a8795a60403  dircproxy-1_2_0-BETA.tar.gz\n'
                > <'0a1273040bd203aaf7f40b86c4e8e893f06356aa8899b89c97c05769e60dddee  fix-gcc4-issue.patch\n'> 
                <
'ca21b76c8356d821c82324aaaeff9e64e8ca6ba202f9755b1b2656de0af6d74f  fix-segfault.patch\n'
                > <'fe6fac70a09de7afd8778d03b8357425a10a111daa154a2ddb99fd6a6f8f6a3b  fix-issue54-1.patch\n'> 
                <
'9491af798003dfd1f8c0e1e2bb97366880e046418d19eee3bf6e17bcc057224f  fix-issue54-2.patch'
                >
              )
            }
          spids: [276]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:sha512sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                <
'9a720823cba52b1e3670a2ef76578f952e07275d7455f7609eff7d88bcb89f8c3098e9d517266efd19f84b3adf3163a3359b4113e253bd5c5bdbb36597a333c8  dircproxy-1_2_0-BETA.tar.gz\n'
                > 
                <
'182c1907317e669bb9f2f410c683a8ce4682ad29b3caa07548b7e126f66b85f3e1f8ad258d5a90b017f21b5e03be1aa2480c5919be25ae40b4debb6b8740e93e  fix-gcc4-issue.patch\n'
                > 
                <
'906556a5a64670bb25394a424be281f90018c255b0dccb21f0805724899977d4041482c584f1aeb022d6acf56d5c0ab65065123bb045a2e7eb56674026be7fb4  fix-segfault.patch\n'
                > 
                <
'66624cc8be5c891ccd3591397608ccdbe5b8496928ab77220214ef02a10433fe7d6b67a4abbfb36b60dd8a198581814ec2485b88778c2f1c14089d0b0246c66e  fix-issue54-1.patch\n'
                > 
                <
'517b67297d51d4327aabb0054eb5bac1a15bf26a45091517d27998e861555e5320573f315ea4d2a719387d9a30482ebf3e58d731048f78a63ecba8b4c2664fe2  fix-issue54-2.patch'
                >
              )
            }
          spids: [285]
        )
      ]
    )
  ]
)