(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgname)
          op: assign_op.Equal
          rhs: {<apache-ant>}
          spids: [9]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgver)
          op: assign_op.Equal
          rhs: {<1.10.1>}
          spids: [12]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgrel)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [15]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgdesc)
          op: assign_op.Equal
          rhs: {(DQ <'A java-based build tool.'>)}
          spids: [18]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:url)
          op: assign_op.Equal
          rhs: {(DQ <'http://ant.apache.org/'>)}
          spids: [23]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:arch)
          op: assign_op.Equal
          rhs: {(DQ <noarch>)}
          spids: [28]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:license)
          op: assign_op.Equal
          rhs: {(DQ <ASL-2.0>)}
          spids: [33]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:depends)
          op: assign_op.Equal
          rhs: {(DQ <openjdk8-jre-base>)}
          spids: [38]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:makedepends)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [43]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:source)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'http://archive.apache.org/dist/ant/binaries/'> ($ Id.VSub_DollarName '$pkgname') 
                <-> ($ Id.VSub_DollarName '$pkgver') <-bin.tar.bz2>
              )
            }
          spids: [47]
        )
      ]
    )
    (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: [56]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_anthome)
          op: assign_op.Equal
          rhs: {(DQ <'/usr/share/java/'> ($ Id.VSub_DollarName '$pkgname'))}
          spids: [66]
        )
      ]
    )
    (command.ShFunction
      name: build
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (command.Simple
              words: [{<cat>}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName '$pkgname') <.sh>}
                )
                (redir
                  op: <Id.Redir_DLessDash '<<-'>
                  loc: (redir_loc.Fd fd:0)
                  arg: 
                    (redir_param.HereDoc
                      here_begin: {<EOF>}
                      here_end_span_id: 105
                      stdin_parts: [
                        <'ANT_HOME='>
                        <Id.Right_DoubleQuote '"'>
                        ($ Id.VSub_DollarName '$_anthome')
                        <Id.Right_DoubleQuote '"'>
                        <'\n'>
                        <'export ANT_HOME\n'>
                      ]
                    )
                )
              ]
              do_fork: T
            )
          ]
        )
    )
    (command.ShFunction
      name: package
      body: 
        (BraceGroup
          children: [
            (C {<local>} 
              {<Id.Lit_VarLike 'destdir='> 
                (DQ ($ Id.VSub_DollarName '$pkgdir') <'/'> ($ Id.VSub_DollarName '$_anthome'))
              }
            )
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (C {<install>} {<-dm755>} {(DQ ($ Id.VSub_DollarName '$destdir')) <'/bin'>})
            (C {<rm>} {<'bin/'> <Id.Lit_Star '*'> <.bat>} {<'bin/'> <Id.Lit_Star '*'> <.cmd>})
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<install>} {<-m755>} {<'bin/'> <Id.Lit_Star '*'>} 
                  {(DQ ($ Id.VSub_DollarName '$destdir')) <'/bin'>}
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (C {<install>} {<-dm755>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/bin'>})
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<ln>} {<-sf>} {($ Id.VSub_DollarName '$_anthome') <'/bin/ant'>} 
                  {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/bin/ant'>}
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<cp>} {<-r>} {<etc>} {(DQ ($ Id.VSub_DollarName '$destdir')) <'/'>})
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (C {<install>} {<-dm755>} {(DQ ($ Id.VSub_DollarName '$destdir')) <'/lib'>})
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<install>} {<-m644>} {<'lib/'> <Id.Lit_Star '*'> <.jar>} 
                  {(DQ ($ Id.VSub_DollarName '$destdir')) <'/lib'>}
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<ln>} {<-sf>} {<'../../junit.jar'>} 
                  {(DQ ($ Id.VSub_DollarName '$destdir')) <'/lib/junit.jar'>}
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (command.Sentence child:(C {<local>} {<file>}) terminator:<Id.Op_Semi _>)
            (command.ForEach
              iter_name: file
              iter_words: [{<LICENSE>} {<NOTICE>}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (C {<install>} {<-m644>} {<-D>} {($ Id.VSub_DollarName '$file')} 
                          {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/share/licenses/'> 
                            ($ Id.VSub_DollarName '$pkgname') <'/'> ($ Id.VSub_DollarName '$file')
                          }
                        )
                        (command.ControlFlow
                          token: <Id.ControlFlow_Return return>
                          arg_word: {<1>}
                        )
                      ]
                    )
                  ]
                )
            )
            (C {<install>} {<-m644>} {<-D>} {($ Id.VSub_DollarName '$pkgname') <.sh>} 
              {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/etc/profile.d/'> 
                ($ Id.VSub_DollarName '$pkgname') <.sh>
              }
            )
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:sha512sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                <
'91992ae8ed122be8d5a6cc423149a8d0cef4e49ada60691c4802eab44bf65dc4d14b9cdfde61b3d4b705a24c7cdc8ab62502f93b4b8a1cbf0b3ffa580ff23738  apache-ant-1.10.1-bin.tar.bz2'
                >
              )
            }
          spids: [360]
        )
      ]
    )
  ]
)