(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(rust)} spids:[9])]
      spids: [9]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(1.17.0)} spids:[12])]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_llvmver) op:Equal rhs:{(3.9)} spids:[15])]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_bootver) op:Equal rhs:{(1.16.0)} spids:[18])]
      spids: [18]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(3)} spids:[21])]
      spids: [21]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ("The Rust Programming Language (compiler)"))}
          spids: [24]
        )
      ]
      spids: [24]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("http://www.rust-lang.org"))}
          spids: [29]
        )
      ]
      spids: [29]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (x86_64))} spids:[34])]
      spids: [34]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:license)
          op: Equal
          rhs: {(DQ ("ASL-2.0 BSD ISC MIT"))}
          spids: [39]
        )
      ]
      spids: [39]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:depends)
          op: Equal
          rhs: 
            {
              (DQ ($ VSub_Name "$pkgname") ("-stdlib=") ($ VSub_Name "$pkgver") (-r) 
                ($ VSub_Name "$pkgrel") (" gcc llvm-libunwind-dev musl-dev")
              )
            }
          spids: [54]
        )
      ]
      spids: [54]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: 
            {
              (DQ ("rust>=") ($ VSub_Name "$_bootver") (" cargo\n") ("\tcmake file libffi-dev llvm") 
                ($ VSub_Name "$_llvmver") ("-dev python2 tar zlib-dev")
              )
            }
          spids: [77]
        )
      ]
      spids: [77]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:subpackages)
          op: Equal
          rhs: 
            {
              (DQ ($ VSub_Name "$pkgname") ("-dbg ") ($ VSub_Name "$pkgname") ("-stdlib\n") ("\t") 
                ($ VSub_Name "$pkgname") ("-gdb::noarch ") ($ VSub_Name "$pkgname") ("-lldb::noarch ") ($ VSub_Name "$pkgname") (-doc)
              )
            }
          spids: [88]
        )
      ]
      spids: [88]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ("https://static.rust-lang.org/dist/rustc-") ($ VSub_Name "$pkgver") 
                ("-src.tar.gz\n") ("\tmusl-support-dynamic-linking.patch\n") ("\tmusl-fix-static-linking.patch\n") 
                ("\tmusl-fix-linux_musl_base.patch\n") ("\tmusl-fix-jemalloc.patch\n") ("\tllvm-with-ffi.patch\n") ("\tstatic-pie.patch\n") 
                ("\tneed-rpath.patch\n") ("\tminimize-rpath.patch\n") ("\talpine-allow-crt-static.patch\n") 
                ("\talpine-move-py-scripts-to-share.patch\n") ("\talpine-change-rpath-to-rustlib.patch\n") ("\talpine-target.patch\n") ("\tcheck-rustc\n") ("\t")
              )
            }
          spids: [103]
        )
      ]
      spids: [103]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:builddir)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$srcdir") (/rustc-) ($ VSub_Name "$pkgver") (-src))}
          spids: [124]
        )
      ]
      spids: [124]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_rlibdir)
          op: Equal
          rhs: {(DQ (usr/lib/rustlib/) ($ VSub_Name "$CTARGET") (/lib))}
          spids: [133]
        )
      ]
      spids: [133]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_sharedir)
          op: Equal
          rhs: {(DQ (usr/share/rust))}
          spids: [140]
        )
      ]
      spids: [140]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ldpath)
          op: Equal
          rhs: {(DQ (/) ($ VSub_Name "$_rlibdir"))}
          spids: [146]
        )
      ]
      spids: [146]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (C {(default_prepare)})
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (C {(rm)} {(-Rf)} {(src/llvm/)} {(src/jemalloc/)})
            (SimpleCommand
              words: [
                {(printf)}
                {(SQ <"[target.%s]\\nllvm_config = \"/usr/lib/llvm%s/bin/llvm-config\"\\n">)}
                {(DQ ($ VSub_Name "$CTARGET"))}
                {(DQ ($ VSub_Name "$_llvmver"))}
              ]
              redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(config.toml)} spids:[206])]
            )
          ]
          spids: [157]
        )
      spids: [153 156]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (C {(./configure)} {(--build) (Lit_Other "=") (DQ ($ VSub_Name "$CBUILD"))} 
              {(--host) (Lit_Other "=") (DQ ($ VSub_Name "$CTARGET"))} {(--target) (Lit_Other "=") (DQ ($ VSub_Name "$CTARGET"))} {(--prefix) (Lit_Other "=") (DQ (/usr))} 
              {(--release-channel) (Lit_Other "=") (DQ (stable))} {(--enable-local-rust)} {(--local-rust-root) (Lit_Other "=") (DQ (/usr))} 
              {(--llvm-root) (Lit_Other "=") (DQ (/usr/lib/llvm) ($ VSub_Name "$_llvmver"))} {(--musl-root) (Lit_Other "=") (DQ (/usr))} {(--enable-vendor)} {(--enable-llvm-link-shared)} 
              {(--disable-jemalloc)} {(--disable-docs)}
            )
            (C {(make)} {(Lit_VarLike "RUST_BACKTRACE=") (1)} 
              {(Lit_VarLike "RUST_CRT_STATIC=") (DQ (false))} {(Lit_VarLike "VERBOSE=") (1)}
            )
          ]
          spids: [217]
        )
      spids: [213 216]
    )
    (FuncDef
      name: check
      body: 
        (BraceGroup
          children: [
            (C {(DQ ($ VSub_Name "$srcdir")) (/check-rustc)} 
              {(DQ ($ VSub_Name "$builddir") (/build/) ($ VSub_Name "$CTARGET") (/stage2/bin/rustc))}
            )
          ]
          spids: [355]
        )
      spids: [351 354]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (C {(make)} {(dist)} {(Lit_VarLike "RUST_BACKTRACE=") (1)} 
              {(Lit_VarLike "RUST_CRT_STATIC=") (DQ (false))} {(Lit_VarLike "VERBOSE=") (1)}
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:component) op:Equal spids:[435])]
                  spids: [433]
                )
              terminator: <Op_Semi ";">
            )
            (ForEach
              iter_name: component
              iter_words: [{(rustc)} {(rust-std)}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(tar)} {(-xf)} 
                      {
                        (DQ (build/dist/) ($ VSub_Name "$component") (-) ($ VSub_Name "$pkgver") (-) 
                          ($ VSub_Name "$CTARGET") (.tar.gz)
                        )
                      }
                    )
                    (C 
                      {(./) 
                        (DQ ($ VSub_Name "$component") (-) ($ VSub_Name "$pkgver") (-) 
                          ($ VSub_Name "$CTARGET")
                        ) (/install.sh)
                      } {(--destdir) (Lit_Other "=") (DQ ($ VSub_Name "$pkgdir"))} {(--prefix) (Lit_Other "=") (/usr)} 
                      {(--disable-ldconfig)}
                    )
                  ]
                  spids: [449 490]
                )
              spids: [443 447]
            )
            (C {(cd)} {(DQ ($ VSub_Name "$pkgdir"))})
            (C {(rm)} {(-r)} {(usr/lib/) (Lit_Other "*") (.so)})
            (C {(rm)} {($ VSub_Name "$_rlibdir") (/crt) (Lit_Other "*") (.o)})
            (C {(chmod)} {(Lit_Other "+") (x)} {($ VSub_Name "$_rlibdir") (/) (Lit_Other "*") (.so)})
            (C {(_mv)} {(usr/lib/rustlib/etc/) (Lit_Other "*") (.py)} 
              {($ VSub_Name "$_sharedir") (/etc/)}
            )
            (AndOr
              children: [
                (SimpleCommand
                  words: [{(rmdir)} {(-p)} {(usr/lib/rustlib/etc)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[577])]
                )
                (C {(true)})
              ]
              op_id: Op_DPipe
            )
            (C {(cd)} {(usr/lib/rustlib)})
            (C {(rm)} {(components)} {(install.log)} {(manifest-) (Lit_Other "*")} 
              {(rust-installer-version)} {(uninstall.sh)}
            )
          ]
          spids: [399]
        )
      spids: [395 398]
    )
    (FuncDef
      name: stdlib
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ("Standard library for Rust (static rlibs)"))}
                  spids: [618]
                )
              ]
              spids: [618]
            )
            (C {(_mv)} 
              {(DQ ($ VSub_Name "$pkgdir")) (/) ($ VSub_Name "$_rlibdir") (/) (Lit_Other "*") (.rlib)} {(DQ ($ VSub_Name "$subpkgdir")) (/) ($ VSub_Name "$_rlibdir") (/)}
            )
          ]
          spids: [615]
        )
      spids: [611 614]
    )
    (FuncDef
      name: gdb
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ("GDB pretty printers for Rust"))}
                  spids: [653]
                )
              ]
              spids: [653]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$pkgname") (" gdb"))}
                  spids: [659]
                )
              ]
              spids: [659]
            )
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir"))})
            (C {(cd)} {(DQ ($ VSub_Name "$subpkgdir"))})
            (C {(_mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/rust-gdb)} {(usr/bin/)})
            (C {(_mv)} 
              {(DQ ($ VSub_Name "$pkgdir")) (/) ($ VSub_Name "$_sharedir") (/etc/gdb_) (Lit_Other "*") 
                (.py)
              } {($ VSub_Name "$_sharedir") (/etc/)}
            )
          ]
          spids: [650]
        )
      spids: [646 649]
    )
    (FuncDef
      name: lldb
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ("LLDB pretty printers for Rust"))}
                  spids: [718]
                )
              ]
              spids: [718]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$pkgname") (" lldb py-lldb"))}
                  spids: [724]
                )
              ]
              spids: [724]
            )
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir"))})
            (C {(cd)} {(DQ ($ VSub_Name "$subpkgdir"))})
            (C {(_mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/rust-lldb)} {(usr/bin/)})
            (C {(_mv)} 
              {(DQ ($ VSub_Name "$pkgdir")) (/) ($ VSub_Name "$_sharedir") (/etc/lldb_) (Lit_Other "*") 
                (.py)
              } {($ VSub_Name "$_sharedir") (/etc/)}
            )
          ]
          spids: [715]
        )
      spids: [711 714]
    )
    (FuncDef
      name: _mv
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:dest) op:Equal spids:[785])]
                  spids: [783]
                )
              terminator: <Op_Semi ";">
            )
            (ForEach
              iter_name: dest
              do_arg_iter: True
              body: 
                (DoGroup
                  children: [(Sentence child:(C {(true)}) terminator:<Op_Semi ";">)]
                  spids: [793 798]
                )
              spids: [-1 -1]
            )
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$dest"))})
            (C {(mv)} {($ VSub_At "$@")})
          ]
          spids: [780]
        )
      spids: [776 779]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"781799b29d83b4f0f433814bd818df034526db8e7f88c2df51d3b814eacafe8098d4bbe47ace951e1943325b3267b244007cf04f1f11083645b25aeacd40ebb6  rustc-1.17.0-src.tar.gz\n"
                ) 
                (
"b0a8883e4469b60edd150c84486ab950396d757220f97bd271529576614c6c3b49456098507503832c20619d4bd74246dbc99c78116634a68a6df994793e9a94  musl-support-dynamic-linking.patch\n"
                ) 
                (
"292c1cb4f751d830f5f1300d7ef94f573f698ac51e18243d7ff0d5a47bb1729bb2cbe8fb456e7a479213df5e5fbf49e360c9439d0f5ad7126cb72d161c91566a  musl-fix-static-linking.patch\n"
                ) 
                (
"f436fddf7ab70ca5f1424081f5b75450270b200b3d997231323863e11addf76e1d65831a7ca09e3a5b7904ce828766c1f70b08326a175890298f28e5bc8646ef  musl-fix-linux_musl_base.patch\n"
                ) 
                (
"c913d04ef419b2b6d8e453f72894070f263c9292abf97114a51884d475d03ce5b032053f1676ba9364800b4b35e394f707995058530ad5e4122c60f65ddd3db7  musl-fix-jemalloc.patch\n"
                ) 
                (
"dc6432293bd060d5e3a73f25870867654fae61995dcd919e244a2dc686b6107556deed8c59ca6002182bfeff5ebc1ca2b89c4028ab0fbfb79e65defe47c9b4b0  llvm-with-ffi.patch\n"
                ) 
                (
"5aaf6715b27b8b786740a55b91216d47985fbef3ccb0ef7e6a81696a2823671f8306143f7ecf77e66af91ef1500072524b9b4c7569508922ad5268df6080fda1  static-pie.patch\n"
                ) 
                (
"ff633f2a46c683ad698d1c09c98c06ce9ee9b8d55fa5593cdd485b439ebca3273794d29b5ff32b887be8666f52913a23af6e133c782bd0c4e2c88e306dd3a494  need-rpath.patch\n"
                ) 
                (
"d352614e7c774e181decae210140e789de7fc090327ff371981ad28a11ce51c8c01b27c1101a24bb84d75ed2f706f67868f7dbc52196d4ccdf4ebd2d6d6b6b5e  minimize-rpath.patch\n"
                ) 
                (
"b00997c65d1a451fafae8b547893c5cbf03f028d2d70f6971aa670f34c2d6fc82728c740ac4a9909fc1999925ff300e4525cfec745cb9c9521e564eb166872a2  alpine-allow-crt-static.patch\n"
                ) 
                (
"498f4649163974afc4f042c43cd0c15d36784031514201a2962061f288a9336c2bc9749f8d2308b8ce3656f8097b5fc5bef505f61e2a6ed422ef4153f5339d77  alpine-move-py-scripts-to-share.patch\n"
                ) 
                (
"8d6206f8c50856724cf7b4c1854ec82547f040358a1c7d44abeacc27a5c205a963b1fec51e58ec06c68d85bd2f68a9e6e27ebe457f39e8dd043de17758f5063f  alpine-change-rpath-to-rustlib.patch\n"
                ) 
                (
"aaf359dbfb8f379bef42647890e99ada4b5326c29f726edb16c51b23a5033b5e00363d2fb6d74a4f11dfbb241b21b22c578e2ec269ecd77a87cf20d3620b29a5  alpine-target.patch\n"
                ) 
                (
"79549055dea81379c890b495c82456ab497a9179ec6702c59e11d0748bc668f47fc3d6a69c27a0545bb87c01318631dffc69260bf2d4badc75f53cbf7fad7528  check-rustc"
                )
              )
            }
          spids: [820]
        )
      ]
      spids: [820]
    )
  ]
)