(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(nim)} spids:[12])]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(0.17.0)} spids:[15])]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[18])]
      spids: [18]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ('A systems and applications programming language'))}
          spids: [21]
        )
      ]
      spids: [21]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ('https://nim-lang.org/'))}
          spids: [26]
        )
      ]
      spids: [26]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[31])]
      spids: [31]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (MIT))} spids:[36])]
      spids: [36]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:checkdepends)
          op: Equal
          rhs: {(DQ ('sqlite-libs nodejs'))}
          spids: [41]
        )
      ]
      spids: [41]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:subpackages)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$pkgname') ('-doc nimsuggest niminst'))}
          spids: [46]
        )
      ]
      spids: [46]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ('https://nim-lang.org/download/') ($ VSub_Name '$pkgname') (-) 
                ($ VSub_Name '$pkgver') ('.tar.xz\n') ('\t') ($ VSub_Name '$pkgname') (-csources-) ($ VSub_Name '$pkgver') 
                ('.tar.gz::https://github.com/nim-lang/csources/archive/v') ($ VSub_Name '$pkgver') ('.tar.gz\n') ('\tniminst-fix-paths.patch\n') ('\tnim-config-fix-paths.patch')
              )
            }
          spids: [52]
        )
      ]
      spids: [52]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:builddir)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$srcdir') (/) ($ VSub_Name '$pkgname') (-) ($ VSub_Name '$pkgver'))}
          spids: [70]
        )
      ]
      spids: [70]
    )
    (Case
      to_match: {(DQ ($ VSub_Name '$CARCH'))}
      arms: [
        (case_arm
          pat_list: [{(armhf)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:options)
                  op: Equal
                  rhs: {(DQ ('!check'))}
                  spids: [95]
                )
              ]
              spids: [95]
            )
          ]
          spids: [92 93 99 16777215]
        )
      ]
      spids: [83 89 101]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (C {(mv)} {(DQ ($ VSub_Name '$srcdir')) (/csources-) ($ VSub_Name '$pkgver')} 
              {(DQ ($ VSub_Name '$builddir')) (/csources)}
            )
            (C {(default_prepare)})
          ]
          spids: [108]
        )
      spids: [104 107]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name '$builddir')) (/csources)})
            (C {(msg2)} {(DQ ('Building nim csources...'))})
            (C {(./build.sh)})
            (C {(cd)} {(..)})
            (C {(msg2)} {(DQ ('Building koch...'))})
            (C {(./bin/nim)} {(compile)} {(-d) (Lit_Other ':') (release)} {(koch)})
            (C {(msg2)} {(DQ ('Building nim...'))})
            (C {(./koch)} {(boot)} {(-d) (Lit_Other ':') (release)})
            (C {(msg2)} {(DQ ('Building nimsuggest...'))})
            (C {(./bin/nim)} {(compile)} {(-d) (Lit_Other ':') (release)} {(nimsuggest/nimsuggest.nim)})
          ]
          spids: [134]
        )
      spids: [130 133]
    )
    (FuncDef
      name: check
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name '$builddir'))})
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {(./koch)} {(tests)} {(--pedantic)} {(--targets) (Lit_Other '=') (DQ ('c js'))} {(all)})
                (C {(true)})
              ]
            )
          ]
          spids: [223]
        )
      spids: [219 222]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name '$builddir'))})
            (SimpleCommand
              words: [{(./koch)} {(install)} {(/usr/bin)}]
              more_env: [(env_pair name:DESTDIR val:{(DQ ($ VSub_Name '$pkgdir'))} spids:[272])]
            )
            (C {(cd)} {(DQ ($ VSub_Name '$pkgdir'))})
            (C {(mkdir)} {(-p)} {(usr/include)})
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:file) op:Equal spids:[301])]
                  spids: [299]
                )
              terminator: <Op_Semi ';'>
            )
            (ForEach
              iter_name: file
              iter_words: [{(usr/lib/nim/) (Lit_Other '*') (.h)}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (C {(mv)} {($ VSub_Name '$file')} {(usr/include/)})
                    (C {(ln)} {(-s)} 
                      {(../../include/) 
                        (BracedVarSub
                          token: <VSub_Name file>
                          suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)})
                          spids: [330 335]
                        )
                      } 
                      {(usr/lib/nim/) 
                        (BracedVarSub
                          token: <VSub_Name file>
                          suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)})
                          spids: [338 343]
                        )
                      }
                    )
                  ]
                  spids: [315 346]
                )
              spids: [309 313]
            )
          ]
          spids: [262]
        )
      spids: [258 261]
    )
    (FuncDef
      name: nimsuggest
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ('idetools for the nim language'))}
                  spids: [358]
                )
              ]
              spids: [358]
            )
            (C {(install)} {(-D)} {(-m)} {(755)} {(DQ ($ VSub_Name '$builddir')) (/nimsuggest/nimsuggest)} 
              {(DQ ($ VSub_Name '$subpkgdir')) (/usr/bin/nimsuggest)}
            )
          ]
          spids: [355]
        )
      spids: [351 354]
    )
    (FuncDef
      name: niminst
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ('A tool to generate an installer for a Nim program'))}
                  spids: [395]
                )
              ]
              spids: [395]
            )
            (C {(install)} {(-D)} {(-m)} {(755)} {(DQ ($ VSub_Name '$builddir')) (/tools/niminst/niminst)} 
              {(DQ ($ VSub_Name '$subpkgdir')) (/usr/bin/niminst)}
            )
          ]
          spids: [392]
        )
      spids: [388 391]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'90d709b39746fac5582b9df69d3eb9e3b7a39563a98f7a3002f00716b936e4e0d2be47d8b877878318692e6e2b85c08077dfcc20d9059573a1967402c244894b  nim-0.17.0.tar.xz\n'
                ) 
                (
'fbf64d347e25da48d5237eef35209774f0e542975465c5d2cd98878f10ea0ab62ad1404758131543b8cf634afabc90d85e9e59dec96eae9bb60fffb88d204d92  nim-csources-0.17.0.tar.gz\n'
                ) 
                (
'4ab36c5d8772567ba09b536e3dd91ddcf253892056751318ccbfce7ac24f0a646bfcd94f5dadc823c9a8394bea9614fede20c1805638052ebdbe7b5bafba4f05  niminst-fix-paths.patch\n'
                ) 
                (
'813eb4cb93b0e9f12cb7666bef65c583390008ec09bc850f43f621688dc809bc51c105898095a8ef6316fbef49ac657a7abc75d74ad7b8cb3919c8f1a721af02  nim-config-fix-paths.patch'
                )
              )
            }
          spids: [425]
        )
      ]
      spids: [425]
    )
  ]
)