(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(ucspi-tcp)} spids:[7])]
      spids: [7]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(0.88)} spids:[10])]
      spids: [10]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[13])]
      spids: [13]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ('Easy-to-use command-line tools for building TCP client-server applications.'))}
          spids: [16]
        )
      ]
      spids: [16]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ('http://cr.yp.to/ucspi-tcp.html'))}
          spids: [21]
        )
      ]
      spids: [21]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[26])]
      spids: [26]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (public-domain))} spids:[31])]
      spids: [31]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[36])]
      spids: [36]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:makedepends) op:Equal rhs:{(DQ )} spids:[40])]
      spids: [40]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ('http://cr.yp.to/') ($ VSub_Name '$pkgname') (/) ($ VSub_Name '$pkgname') (-) 
                ($ VSub_Name '$pkgver') ('.tar.gz\n') ('\tucspi-tcp-0.88.a_record.patch\n') ('\tucspi-tcp-0.88.errno.patch\n') ('\t')
              )
            }
          spids: [44]
        )
      ]
      spids: [44]
    )
    (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: [59]
        )
      ]
      spids: [59]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name '$builddir'))})
            (SimpleCommand
              words: [
                {(echo)}
                {
                  (DQ 
                    (BracedVarSub
                      token: <VSub_Name CC>
                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ (gcc))})
                      spids: [86 92]
                    ) (' ') (${ VSub_Name CFLAGS)
                  )
                }
              ]
              redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(conf-cc)} spids:[99])]
            )
            (SimpleCommand
              words: [
                {(echo)}
                {
                  (DQ 
                    (BracedVarSub
                      token: <VSub_Name CC>
                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ (gcc))})
                      spids: [107 113]
                    ) (' ') (${ VSub_Name LDFLAGS)
                  )
                }
              ]
              redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(conf-ld)} spids:[120])]
            )
            (SimpleCommand
              words: [{(echo)} {(DQ (/usr))}]
              redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(conf-home)} spids:[131])]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [(C {(make)}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})]
            )
          ]
          spids: [73]
        )
      spids: [69 72]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:f) op:Equal spids:[156])]
              spids: [154]
            )
            (C {(cd)} {(DQ ($ VSub_Name '$builddir'))})
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$pkgdir')) (/usr/bin)})
            (ForEach
              iter_name: f
              iter_words: [
                {(tcpserver)}
                {(tcprules)}
                {(tcprulescheck)}
                {(argv0)}
                {(recordio)}
                {(tcpclient)}
                {(Lit_Other '*') (EscapedLiteralPart token:<Lit_EscapedChar '\\@'>)}
                {(tcpcat)}
                {(mconnect)}
                {(mconnect-io)}
                {(addcr)}
                {(delcr)}
                {(fixcrio)}
                {(rblsmtpd)}
              ]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (C {(cp)} {($ VSub_Name '$f')} 
                      {(DQ ($ VSub_Name '$pkgdir')) (/usr/bin/) ($ VSub_Name '$f')}
                    )
                  ]
                  spids: [214 228]
                )
              spids: [181 212]
            )
          ]
          spids: [151]
        )
      spids: [147 150]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:md5sums)
          op: Equal
          rhs: 
            {
              (DQ ('39b619147db54687c4a583a7a94c9163  ucspi-tcp-0.88.tar.gz\n') 
                ('554ec0eb60f619667efde3fb5325310d  ucspi-tcp-0.88.a_record.patch\n') ('759a11fafff188d9580be6498a028095  ucspi-tcp-0.88.errno.patch')
              )
            }
          spids: [233]
        )
      ]
      spids: [233]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha256sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'4a0615cab74886f5b4f7e8fd32933a07b955536a3476d74ea087a3ea66a23e9c  ucspi-tcp-0.88.tar.gz\n'
                ) ('5101354eb86d8e11edefd7b83df4e9c274a55b845f4cb2ce36dda912aced56f4  ucspi-tcp-0.88.a_record.patch\n') 
                (
'3a4c0d8770c5716f749450a12b678b2282a06e43360478ce9c1d25bd3890e816  ucspi-tcp-0.88.errno.patch'
                )
              )
            }
          spids: [240]
        )
      ]
      spids: [240]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'44efbd477dacf31d39fc970e2d2f74526dc815b905742f6127f0d5c80928ecc7e743089eaab0492386a58d5b97905113fbe8bbc7214ae179b7be27966b7566c7  ucspi-tcp-0.88.tar.gz\n'
                ) 
                (
'643514c57570fc0b4e817b07e6d26e831cec5b4657c3d1b9948bd90267fe370a340b911897d575eb94192e24ba71a03ac68ceb2774ef7c0e7ff819c5b4285bc3  ucspi-tcp-0.88.a_record.patch\n'
                ) 
                (
'86b58807e5d2dcd4ab15a4c0f62baaa0988aa4c6b49b522fa1721da5dcab32b1ceb9bde6c07b2a7340471ed5932af5a9c160e345805626b16fd9b1bad55be0eb  ucspi-tcp-0.88.errno.patch'
                )
              )
            }
          spids: [247]
        )
      ]
      spids: [247]
    )
  ]
)