(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgname)
          op: assign_op.Equal
          rhs: {<R>}
          spids: [9]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgver)
          op: assign_op.Equal
          rhs: {<3.4.2>}
          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 <'Language and environment for statistical computing'>)}
          spids: [18]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:url)
          op: assign_op.Equal
          rhs: {(DQ <'https://www.r-project.org'>)}
          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-2 GPL-3 LGPL-2.1'>)}
          spids: [33]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:depends)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$pkgname') <-mathlib>)}
          spids: [38]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:depends_dev)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'gcc gfortran icu-dev libjpeg-turbo libpng-dev make openblas-dev\n'> 
                <'\tpcre-dev>=8.10 readline-dev xz-dev zlib-dev bzip2-dev curl-dev>=7.28\n'> <'\t'>
              )
            }
          spids: [44]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:makedepends)
          op: assign_op.Equal
          rhs: 
            {
              (DQ ($ Id.VSub_DollarName '$depends_dev') 
                <' cairo-dev libxmu-dev openjdk8-jre-base pango-dev\n'> <'\tperl tiff-dev tk-dev\n'> <'\t'>
              )
            }
          spids: [51]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:install)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$pkgname') <.post-install>)}
          spids: [59]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:subpackages)
          op: assign_op.Equal
          rhs: 
            {
              (DQ ($ Id.VSub_DollarName '$pkgname') <'-mathlib '> ($ Id.VSub_DollarName '$pkgname') 
                <'-dev '> ($ Id.VSub_DollarName '$pkgname') <-doc>
              )
            }
          spids: [65]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:source)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'https://cran.r-project.org/src/base/R-'> 
                (braced_var_sub
                  token: <Id.VSub_Name pkgver>
                  suffix_op: 
                    (suffix_op.Unary
                      tok: <Id.VOp1_DPercent '%%'>
                      arg_word: {<.> <Id.Lit_Other '*'>}
                    )
                ) <'/'> ($ Id.VSub_DollarName '$pkgname') <-> ($ Id.VSub_DollarName '$pkgver') <.tar.gz>
              )
            }
          spids: [75]
        )
      ]
    )
    (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: [91]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_rhome)
          op: assign_op.Equal
          rhs: {(DQ <'usr/lib/R'>)}
          spids: [101]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ldpath)
          op: assign_op.Equal
          rhs: {(DQ <'/'> ($ Id.VSub_DollarName '$_rhome') <'/lib'>)}
          spids: [106]
        )
      ]
    )
    (command.ShFunction
      name: build
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (command.Simple
              words: [
                {<'./configure'>}
                {<--prefix> <Id.Lit_Equals '='> <'/usr'>}
                {<--sysconfdir> <Id.Lit_Equals '='> <'/etc/R'>}
                {<--localstatedir> <Id.Lit_Equals '='> <'/var'>}
                {<--mandir> <Id.Lit_Equals '='> <'/usr/share/man'>}
                {<--libdir> <Id.Lit_Equals '='> <'/usr/lib'>}
                {<Id.Lit_VarLike 'rdocdir='> <'/usr/share/doc/R'>}
                {<Id.Lit_VarLike 'rincludedir='> <'/usr/include/R'>}
                {<Id.Lit_VarLike 'rsharedir='> <'/usr/share/R'>}
                {<--disable-nls>}
                {<--enable-R-shlib>}
                {<--enable-java>}
                {<--without-recommended-packages>}
                {<--with-blas> <Id.Lit_Equals '='> <openblas>}
                {<--with-cairo>}
                {<--with-ICU>}
                {<--with-jpeglib>}
                {<--with-lapack>}
                {<--with-libpng>}
                {<--with-libtiff>}
                {<--with-tcltk>}
                {<--with-x>}
              ]
              more_env: [
                (env_pair
                  name: CXXFLAGS
                  val: {(DQ ($ Id.VSub_DollarName '$CXXFLAGS') <' -D__MUSL__'>)}
                  spids: [141]
                )
              ]
              do_fork: T
            )
            (C {<make>})
            (C {<make>} {<-C>} {<'src/nmath/standalone'>})
          ]
        )
    )
    (command.ShFunction
      name: check
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (C {<'./bin/R'>} {<--version>})
            (C {<'./bin/R'>} {<--slave>} {<--vanilla>} {<-e>} {(SQ <'print("Hello, world!")'>)})
          ]
        )
    )
    (command.ShFunction
      name: package
      body: 
        (BraceGroup
          children: [
            (C {<local>} 
              {<Id.Lit_VarLike 'destdir='> 
                (DQ ($ Id.VSub_DollarName '$pkgdir') <'/'> ($ Id.VSub_DollarName '$_rhome'))
              }
            )
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (C {<make>} {<Id.Lit_VarLike 'DESTDIR='> (DQ ($ Id.VSub_DollarName '$pkgdir'))} {<install>})
            (C {<cd>} {<'src/nmath/standalone'>})
            (C {<make>} {<Id.Lit_VarLike 'DESTDIR='> (DQ ($ Id.VSub_DollarName '$pkgdir'))} {<install>})
            (C {<cd>} {<->})
            (C {<rm>} {(DQ ($ Id.VSub_DollarName '$destdir')) <'/bin/R'>})
            (C {<ln>} {<-sf>} {<'/usr/bin/R'>} {(DQ ($ Id.VSub_DollarName '$destdir')) <'/bin/R'>})
            (C {<rm>} {(DQ ($ Id.VSub_DollarName '$destdir')) <'/COPYING'>} 
              {(DQ ($ Id.VSub_DollarName '$destdir')) <'/SVN-REVISION'>}
            )
            (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/etc/R'>})
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$destdir')) <'/etc'>})
            (command.Sentence child:(C {<local>} {<f>}) terminator:<Id.Op_Semi _>)
            (command.ForEach
              iter_name: f
              iter_words: [{<Id.Lit_Star '*'>}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (C {<mv>} {(DQ ($ Id.VSub_DollarName '$f'))} 
                          {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/etc/R/'>}
                        )
                        (C {<ln>} {<-sf>} {<'/etc/R/'> ($ Id.VSub_DollarName '$f')} 
                          {($ Id.VSub_DollarName '$f')}
                        )
                      ]
                    )
                  ]
                )
            )
            (C {<cd>} {<->})
          ]
        )
    )
    (command.ShFunction
      name: mathlib
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:pkgdesc)
                  op: assign_op.Equal
                  rhs: {(DQ <'Standalone math library from the R project'>)}
                  spids: [493]
                )
              ]
            )
            (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$subpkgdir')) <'/usr/lib'>})
            (C {<mv>} 
              {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/lib/libRmath.so'> <Id.Lit_Star '*'>} {(DQ ($ Id.VSub_DollarName '$subpkgdir')) <'/usr/lib'>}
            )
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:sha512sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                <
'd432b65aad8d8ed41a8470365c4d354b83a0e1228413963420f753aead8b84596c9ca3efc58506c8797e887af9dd6fdaf833ac1ad9339ac1ffb4b5aed577803d  R-3.4.2.tar.gz'
                >
              )
            }
          spids: [526]
        )
      ]
    )
  ]
)