(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgname)
          op: assign_op.Equal
          rhs: {(freetds)}
          spids: [6]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgver)
          op: assign_op.Equal
          rhs: {(1.00.40)}
          spids: [9]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgrel)
          op: assign_op.Equal
          rhs: {(0)}
          spids: [12]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgdesc)
          op: assign_op.Equal
          rhs: {(DQ ('Tabular Datastream Library'))}
          spids: [15]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:url)
          op: assign_op.Equal
          rhs: {(DQ ('http://www.freetds.org/'))}
          spids: [20]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:arch)
          op: assign_op.Equal
          rhs: {(DQ (all))}
          spids: [25]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:license)
          op: assign_op.Equal
          rhs: {(DQ (GPL))}
          spids: [30]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:depends)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [35]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:makedepends)
          op: assign_op.Equal
          rhs: {(DQ ('unixodbc-dev readline-dev linux-headers'))}
          spids: [37]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:install)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [42]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:subpackages)
          op: assign_op.Equal
          rhs: 
            {
              (DQ ($ Id.VSub_DollarName '$pkgname') ('-doc ') ($ Id.VSub_DollarName '$pkgname') (-dev))
            }
          spids: [44]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:source)
          op: assign_op.Equal
          rhs: 
            {
              (DQ ('ftp://ftp.freetds.org/pub/freetds/stable/') ($ Id.VSub_DollarName '$pkgname') (-) 
                ($ Id.VSub_DollarName '$pkgver') ('.tar.gz\n') ('\tfix-includes.patch')
              )
            }
          spids: [52]
        )
      ]
    )
    (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') (-) 
                ($ Id.VSub_DollarName '$pkgver')
              )
            }
          spids: [62]
        )
      ]
    )
    (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: (Token id:Id.Op_Semi val:';' span_id:112)
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(patch)} {(-p1)} {(-i)} 
                                  {(DQ ($ Id.VSub_DollarName '$srcdir')) (/) 
                                    ($ Id.VSub_DollarName '$i')
                                  }
                                )
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:128)
                                  arg_word: {(1)}
                                )
                              ]
                            )
                          ]
                          spids: [105 107 131 -1]
                        )
                      ]
                    )
                  ]
                )
            )
          ]
        )
    )
    (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)} {(--enable-msdblib)}
                )
                (command.ControlFlow
                  token: (Token id:Id.ControlFlow_Return val:return span_id:202)
                  arg_word: {(1)}
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {(make)})
                (command.ControlFlow
                  token: (Token id:Id.ControlFlow_Return val:return span_id:211)
                  arg_word: {(1)}
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: package
      body: 
        (command.BraceGroup
          children: [
            (C {(cd)} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {(make)} {(-j1)} {(Id.Lit_VarLike 'DESTDIR=') (DQ ($ Id.VSub_DollarName '$pkgdir'))} 
                  {(install)}
                )
                (command.ControlFlow
                  token: (Token id:Id.ControlFlow_Return val:return span_id:245)
                  arg_word: {(1)}
                )
              ]
            )
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:sha512sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (
'7f823bfe49b4017fb0b55ba764a28f324c61c89392c19c0a7651b62fce60ea039f216d92085f650f9fd9f278ed09840fe088a05c1f31470d064a8cf31f20e942  freetds-1.00.40.tar.gz\n'
                ) 
                (
'd75d1aab6687586697f3e430db1e82f21208f10076b45996542eea682e36cbbbb344f479a9336fcfd294b5b87d7acb2ec5fb8ddd1914e990e23dd5e7ae93a0b6  fix-includes.patch'
                )
              )
            }
          spids: [252]
        )
      ]
    )
  ]
)