(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgname)
          op: assign_op.Equal
          rhs: {<texlive>}
          spids: [6]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgver)
          op: assign_op.Equal
          rhs: {<20170524>}
          spids: [9]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgrel)
          op: assign_op.Equal
          rhs: {<2>}
          spids: [12]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgdesc)
          op: assign_op.Equal
          rhs: {(DQ <'Comprehensive TeX document production system'>)}
          spids: [15]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:url)
          op: assign_op.Equal
          rhs: {(DQ <'http://tug.org/texlive/'>)}
          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: {(DQ <perl>)}
          spids: [35]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:depends_dev)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [40]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:makedepends)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'freetype-dev libpng-dev poppler-dev icu-dev harfbuzz-dev\n'> 
                <'\tcairo-dev pixman-dev zziplib-dev libpaper-dev graphite2-dev\n'> <'\tlibxmu-dev fontconfig-dev libxaw-dev motif-dev'>
              )
            }
          spids: [44]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:install)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [51]
        )
      ]
    )
    (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 xdvik:xdvi '> ($ Id.VSub_DollarName '$pkgname') <'-xetex:xetex '> ($ Id.VSub_DollarName '$pkgname') <'-luatex:lua '> 
                ($ Id.VSub_DollarName '$pkgname') <'-full:meta'>
              )
            }
          spids: [55]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:source)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'ftp://ftp.tug.org/texlive/historic/'> 
                (braced_var_sub
                  token: <Id.VSub_Name pkgver>
                  suffix_op: (suffix_op.Slice begin:{<Id.Lit_Digits 0>} length:{<Id.Lit_Digits 4>})
                ) <'/texlive-'> ($ Id.VSub_DollarName '$pkgver') <-source.tar.xz>
              )
            }
          spids: [69]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:builddir)
          op: assign_op.Equal
          rhs: 
            {(DQ ($ Id.VSub_DollarName '$srcdir')) <'/texlive-'> (${ Id.VSub_Name pkgver) <-source>}
          spids: [84]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_luatex)
          op: assign_op.Equal
          rhs: {(DQ <'dvilualatex dviluatex lualollipop'>)}
          spids: [95]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_pdftex)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'amstex cslatex csplain eplain etex jadetex latex lollipop mex\n'> 
                <'\tmllatex mltex pdfetex pdfcslatex pdfcsplain pdfjadetex pdflatex\n'> <'\tpdfmex pdfxmltex texsis utf8mex xmltex'>
              )
            }
          spids: [100]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_xetex)
          op: assign_op.Equal
          rhs: {(DQ <'xelatex xelollipop'>)}
          spids: [107]
        )
      ]
    )
    (command.ShFunction
      name: build
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$CARCH'))} 
                              {<Id.Lit_Equals '='>} {(DQ <ppc64le>)} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:EXTRA)
                          op: assign_op.Equal
                          rhs: {(DQ <'--disable-luajittex --disable-mfluajit'>)}
                          spids: [149]
                        )
                      ]
                    )
                  ]
                  spids: [128 146]
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$builddir') <'/build'>})
                (C {<cd>} {($ Id.VSub_DollarName '$builddir') <'/build'>})
              ]
            )
            (C {<'../configure'>} {<-C>} 
              {<--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'>} {<--localstatedir> <Id.Lit_Equals '='> <'/var'>} {<--enable-biber>} {<--enable-epsfwin>} {<--enable-ipc>} 
              {<--enable-luatex>} {<--enable-mftalkwin>} {<--enable-regiswin>} {<--enable-shared>} {<--enable-tektronixwin>} 
              {<--enable-unitermwin>} {<--enable-xetex>} {<--disable-bibtex-x>} {<--disable-chktex>} {<--disable-cjkutils>} {<--disable-detex>} 
              {<--disable-dialog>} {<--disable-dvi2tty>} {<--disable-dvipng>} {<--disable-dvipsk>} {<--disable-dvisvgm>} 
              {<--disable-largefile>} {<--disable-lcdf-typetools>} {<--disable-multiplatform>} {<--disable-native-texlive-build>} 
              {<--disable-pdfopen>} {<--disable-ps2eps>} {<--disable-ps2pkm>} {<--disable-psutils>} {<--disable-t1utils>} 
              {<--disable-tex4htk>} {<--disable-ttf2pk2>} {<--disable-vlna>} {<--disable-xindy>} {<--with-ps> <Id.Lit_Equals '='> <gs>} 
              {<--with-banner-add> <Id.Lit_Equals '='> (DQ <'/Alpine Linux'>)} {<--with-system-cairo>} {<--with-system-freetype2>} {<--with-system-graphite2>} 
              {<--with-system-harfbuzz>} {<--with-system-icu>} {<--with-system-libpaper>} {<--with-system-libpng>} {<--with-system-pixman>} 
              {<--with-system-poppler>} {<--with-system-xpdf>} {<--with-system-zlib>} {<--with-system-zziplib>} 
              {<--with-x-dvi-toolkit> <Id.Lit_Equals '='> <motif>} {<--without-texinfo>} {($ Id.VSub_DollarName '$EXTRA')}
            )
            (C {<make>})
          ]
        )
    )
    (command.ShFunction
      name: package
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir')) <'/build'>})
            (C {<make>} {<Id.Lit_VarLike 'DESTDIR='> (DQ ($ Id.VSub_DollarName '$pkgdir'))} {<install>})
            (C {<cp>} {<-rf>} {<'../texk/tests/TeXLive'>} 
              {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/share/texmf-dist/scripts/texlive'>}
            )
            (command.Sentence child:(C {<local>} {<texcmd>}) terminator:<Id.Op_Semi _>)
            (command.ForEach
              iter_name: texcmd
              iter_words: [{($ Id.VSub_DollarName '$_pdftex')}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (C {<ln>} {<-s>} {<pdftex>} 
                      {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/bin/'> 
                        ($ Id.VSub_DollarName '$texcmd')
                      }
                    )
                  ]
                )
            )
            (C {<ln>} {<-s>} {<eptex>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/bin/platex'>})
            (C {<ln>} {<-s>} {<euptex>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/bin/uplatex'>})
            (C {<sed>} {<-i>} {<-e>} {(SQ <'s:SELFAUTOPARENT:TEXMFROOT:'>)} 
              {(DQ ($ Id.VSub_DollarName '$pkgdir')) 
                <'/usr/share/texmf-dist/scripts/texlive/tlmgr.pl'>
              }
            )
            (C {<sed>} {<-i>} {<-e>} {(SQ <'s:^\\(TEXMFROOT *= *\\)$SELFAUTOPARENT$:\\1/usr/share:g'>)} 
              {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/share/texmf-dist/web2c/texmf.cnf'>}
            )
          ]
        )
    )
    (command.ShFunction
      name: xetex
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:pkgdesc)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        <
'TeX typesetting engine supporting modern typography and bidirectional text'
                        >
                      )
                    }
                  spids: [579]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:depends)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_DollarName '$pkgname'))}
                  spids: [585]
                )
              ]
            )
            (C {<install>} {<-d>} {<-m>} {<0755>} {(DQ ($ Id.VSub_DollarName '$subpkgdir')) <'/usr/bin'>})
            (C {<mv>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/bin/xetex'>} 
              {(DQ ($ Id.VSub_DollarName '$subpkgdir')) <'/usr/bin/'>}
            )
            (command.Sentence child:(C {<local>} {<texcmd>}) terminator:<Id.Op_Semi _>)
            (command.ForEach
              iter_name: texcmd
              iter_words: [{($ Id.VSub_DollarName '$_xetex')}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (C {<ln>} {<-s>} {<xetex>} 
                      {(DQ ($ Id.VSub_DollarName '$subpkgdir')) <'/usr/bin/'> 
                        ($ Id.VSub_DollarName '$texcmd')
                      }
                    )
                  ]
                )
            )
          ]
        )
    )
    (command.ShFunction
      name: meta
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:pkgdesc)
                  op: assign_op.Equal
                  rhs: {(DQ <'A complete TeX distribution'>)}
                  spids: [662]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:depends)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ ($ Id.VSub_DollarName '$pkgname') <' '> ($ Id.VSub_DollarName '$pkgname') 
                        <'-doc '> ($ Id.VSub_DollarName '$pkgname') <'-luatex '> ($ Id.VSub_DollarName '$pkgname') <'-xetex xdvik'>
                      )
                    }
                  spids: [668]
                )
              ]
            )
            (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$subpkgdir'))})
          ]
        )
    )
    (command.ShFunction
      name: lua
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:pkgdesc)
                  op: assign_op.Equal
                  rhs: {(DQ <'LuaTeX is an extended version of pdfTeX, scriptable in Lua'>)}
                  spids: [700]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:depends)
                  op: assign_op.Equal
                  rhs: {(DQ <'bash '> ($ Id.VSub_DollarName '$pkgname'))}
                  spids: [706]
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$subpkgdir'))})
                (C {<cd>} {(DQ ($ Id.VSub_DollarName '$subpkgdir'))})
              ]
            )
            (C {<install>} {<-d>} {<-m>} {<0755>} {<'usr/bin'>} {<'usr/lib'>} 
              {<'usr/share/texmf-dist/scripts/context/stubs/unix'>}
            )
            (C {<mv>} 
              {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/bin/'> <Id.Lit_Star '*'> <lua> 
                <Id.Lit_Star '*'>
              } {(DQ ($ Id.VSub_DollarName '$subpkgdir')) <'/usr/bin/'>}
            )
            (C {<mv>} 
              {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/lib/lib'> <Id.Lit_Star '*'> <lua> 
                <Id.Lit_Star '*'> <.so.> <Id.Lit_Star '*'>
              } {(DQ ($ Id.VSub_DollarName '$subpkgdir')) <'/usr/lib/'>}
            )
            (C {<mv>} 
              {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/share/texmf-dist/scripts/'> 
                <Id.Lit_Star '*'> <lua> <Id.Lit_Star '*'>
              } {(DQ ($ Id.VSub_DollarName '$subpkgdir')) <'/usr/share/texmf-dist/scripts/'>}
            )
            (C {<mv>} 
              {(DQ ($ Id.VSub_DollarName '$pkgdir')) 
                <'/usr/share/texmf-dist/scripts/context/stubs/unix/luatools'>
              } 
              {(DQ ($ Id.VSub_DollarName '$subpkgdir')) 
                <'/usr/share/texmf-dist/scripts/context/stubs/unix/luatools'>
              }
            )
            (command.Sentence child:(C {<local>} {<texcmd>}) terminator:<Id.Op_Semi _>)
            (command.ForEach
              iter_name: texcmd
              iter_words: [{($ Id.VSub_DollarName '$_luatex')}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (C {<ln>} {<-s>} {<luatex>} 
                      {(DQ ($ Id.VSub_DollarName '$subpkgdir')) <'/usr/bin/'> 
                        ($ Id.VSub_DollarName '$texcmd')
                      }
                    )
                  ]
                )
            )
            (C {<cd>} {<->})
          ]
        )
    )
    (command.ShFunction
      name: xdvi
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:depends)
                  op: assign_op.Equal
                  rhs: {(DQ <texlive>)}
                  spids: [912]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:pkgdesc)
                  op: assign_op.Equal
                  rhs: {(DQ <'Xdvi from texlive, using the texlive libraries'>)}
                  spids: [918]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:provides)
                  op: assign_op.Equal
                  rhs: {(DQ <xdvi>)}
                  spids: [924]
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$subpkgdir'))})
                (C {<cd>} {(DQ ($ Id.VSub_DollarName '$subpkgdir'))})
              ]
            )
            (C {<install>} {<-d>} {<-m>} {<0755>} {<'usr/bin'>} {<'usr/share/texmf-dist/'>})
            (C {<mv>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/bin/xdvi'>} 
              {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/bin/xdvi-'> <Id.Lit_Star '*'>} {<'usr/bin/'>}
            )
            (C {<mv>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/share/texmf-dist/xdvi'>} 
              {<'usr/share/texmf-dist/'>}
            )
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:sha512sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                <
'18c18940992ab94ce22e22ccd4ad798253ea14ac2ab296a10ea5e9a8da9f33989f2e2641b42b564d1d5fb53bd371da3e68726b676d706b469016ad146cd19daa  texlive-20170524-source.tar.xz'
                >
              )
            }
          spids: [991]
        )
      ]
    )
  ]
)