(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgname)
          op: assign_op.Equal
          rhs: {<binutils-avr>}
          spids: [6]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgver)
          op: assign_op.Equal
          rhs: {<2.28>}
          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 <'Tools necessary to build programs for AVR targets'>)}
          spids: [15]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:url)
          op: assign_op.Equal
          rhs: {(DQ <'http://www.gnu.org/software/binutils/'>)}
          spids: [20]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:makedepends)
          op: assign_op.Equal
          rhs: {(DQ <'gettext libtool autoconf automake'>)}
          spids: [25]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:arch)
          op: assign_op.Equal
          rhs: {(DQ <all>)}
          spids: [30]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:license)
          op: assign_op.Equal
          rhs: {(DQ <'GPL2 GPL3+ LGPL2 BSD'>)}
          spids: [35]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:subpackages)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$pkgname') <-doc>)}
          spids: [40]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:source)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'http://ftp.gnu.org/gnu/binutils/binutils-'> ($ Id.VSub_DollarName '$pkgver') 
                <'.tar.bz2\n'> <'\tbinutils-ld-fix-static-linking.patch\n'> <'\thash-style-gnu.patch'>
              )
            }
          spids: [46]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:builddir)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$srcdir') <'/binutils-'> ($ Id.VSub_DollarName '$pkgver'))}
          spids: [56]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_workingdir)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$srcdir') <'/binutils-build'>)}
          spids: [63]
        )
      ]
    )
    (command.ShFunction
      name: build
      body: 
        (BraceGroup
          children: [
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<mkdir>} {(DQ ($ Id.VSub_DollarName '$_workingdir'))})
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$_workingdir'))})
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {(DQ ($ Id.VSub_DollarName '$builddir')) <'/configure'>} 
                  {<--build> <Id.Lit_Equals '='> (DQ ($ Id.VSub_DollarName '$CBUILD'))} {<--target> <Id.Lit_Equals '='> <avr>} {<--with-lib-path> <Id.Lit_Equals '='> <'/usr/lib'>} 
                  {<--prefix> <Id.Lit_Equals '='> <'/usr'>} {<--enable-ld> <Id.Lit_Equals '='> <default>} {<--enable-gold> <Id.Lit_Equals '='> <yes>} 
                  {<--enable-plugins>} {<--disable-multilib>} {<--disable-werror>} {<--disable-nls>}
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (C {<make>} {<-j1>} {<Id.Lit_VarLike 'tooldir='> <'/usr'>})
          ]
        )
    )
    (command.ShFunction
      name: package
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$_workingdir'))})
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<make>} {<Id.Lit_VarLike 'tooldir='> <'/usr'>} {<install>} 
                  {<Id.Lit_VarLike 'DESTDIR='> (DQ ($ Id.VSub_DollarName '$pkgdir'))}
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (C {<rm>} {<-rf>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/share/info'>})
            (command.ForEach
              iter_name: bin
              iter_words: [{<ar>} {<as>} {<nm>} {<objcopy>} {<objdump>} {<ranlib>} {<strip>} {<readelf>}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (C {<rm>} {<-f>} 
                      {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/bin/'> 
                        (DQ ($ Id.VSub_DollarName '$bin'))
                      }
                    )
                  ]
                )
            )
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:sha512sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                <
'ede2e4e59a800260eea8c14eafbaee94e30abadafd5c419a3370f9f62213cf027d6400a1d4970b6958bd4d220e675dcd483a708107016e7abd5c99d7392ba8fd  binutils-2.28.tar.bz2\n'
                > 
                <
'ecee33b0e435aa704af1c334e560f201638ff79e199aa11ed78a72f7c9b46f85fbb227af5748e735fd681d1965fcc42ac81b0c8824e540430ce0c706c81e8b49  binutils-ld-fix-static-linking.patch\n'
                > 
                <
'24e853bf4b58621a77921087e599da2ace47ba3079e2d50fb5d08ae399be5f060c5fdd7f65257bcc0526aebc66e68b98aafd45d714c035da8ea2bdc3d8d4e375  hash-style-gnu.patch'
                >
              )
            }
          spids: [262]
        )
      ]
    )
  ]
)