(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgname)
          op: assign_op.Equal
          rhs: {<suitesparse>}
          spids: [6]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_pkgname)
          op: assign_op.Equal
          rhs: {<SuiteSparse>}
          spids: [9]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgver)
          op: assign_op.Equal
          rhs: {<4.5.5>}
          spids: [12]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgrel)
          op: assign_op.Equal
          rhs: {<1>}
          spids: [15]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgdesc)
          op: assign_op.Equal
          rhs: {(DQ <'A collection of sparse matrix libraries'>)}
          spids: [18]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:url)
          op: assign_op.Equal
          rhs: {(DQ <'http://faculty.cse.tamu.edu/davis/suitesparse.html'>)}
          spids: [23]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:arch)
          op: assign_op.Equal
          rhs: {(DQ <'all !s390x'>)}
          spids: [28]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:license)
          op: assign_op.Equal
          rhs: {(DQ <GPL>)}
          spids: [33]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:depends_dev)
          op: assign_op.Equal
          rhs: {(DQ <openblas-dev>)}
          spids: [38]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:makedepends)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$depends_dev'))}
          spids: [43]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:subpackages)
          op: assign_op.Equal
          rhs: 
            {
              (DQ ($ Id.VSub_DollarName '$pkgname') <'-dev '> ($ Id.VSub_DollarName '$pkgname') <-doc>)
            }
          spids: [48]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:source)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'http://faculty.cse.tamu.edu/davis/'> ($ Id.VSub_DollarName '$_pkgname') <'/'> 
                ($ Id.VSub_DollarName '$_pkgname') <-> ($ Id.VSub_DollarName '$pkgver') <'.tar.gz\n'> <'\t0001-exclude-metis.patch\n'> 
                <'\t0002-remove-rpath.patch\n'> <'\t'>
              )
            }
          spids: [56]
        )
      ]
    )
    (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'))}
          spids: [70]
        )
      ]
    )
    (command.ShFunction
      name: prepare
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (C {<export>} {<Id.Lit_VarLike 'LAPACK='> (DQ <-lopenblas>)})
            (C {<export>} 
              {<Id.Lit_VarLike 'CFLAGS='> (DQ ($ Id.VSub_DollarName '$CFLAGS') <' -DNPARTITION'>)}
            )
            (C {<rm>} {<-r>} {<metis-> <Id.Lit_Star '*'>})
            (C {<default_prepare>})
          ]
        )
    )
    (command.ShFunction
      name: build
      body: 
        (BraceGroup
          children: [(C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))}) (C {<make>} {<library>})]
        )
    )
    (command.ShFunction
      name: package
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (C {<make>} {<install>} 
              {<Id.Lit_VarLike 'INSTALL='> (DQ ($ Id.VSub_DollarName '$pkgdir') <'/usr'>)} 
              {<Id.Lit_VarLike 'INSTALL_INCLUDE='> 
                (DQ ($ Id.VSub_DollarName '$pkgdir') <'/usr/include/'> 
                  ($ Id.VSub_DollarName '$pkgname')
                )
              } 
              {<Id.Lit_VarLike 'INSTALL_DOC='> 
                (DQ ($ Id.VSub_DollarName '$pkgdir') <'/usr/share/doc/'> 
                  ($ Id.VSub_DollarName '$pkgname')
                )
              }
            )
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:sha512sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                <
'4337c683027efca6c0800815587409db14db7d70df673451e307eb3ece5538815d06d90f3a831fa45071372f70b6f37eaa68fe951f69dbb52a5bfd84d2dc4913  SuiteSparse-4.5.5.tar.gz\n'
                > 
                <
'0bdaed29c7770104eb94d9e60a42fe68b5643c8f958aba4cc6d7996888a83ae75a4e509d0c262264c49d5d9b1ca23a958cc71cfaa5e983b0008e65455a987cac  0001-exclude-metis.patch\n'
                > 
                <
'cd40b696515b26c95298b435a5111e582dc42c2fa2e8ef9889558467d375b1d19452838b9463df66958e73ddb0c8c0191936e3e952586a3c7d345edb08fa7e62  0002-remove-rpath.patch'
                >
              )
            }
          spids: [207]
        )
      ]
    )
  ]
)