(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(outils)} spids:[6])]
      spids: [6]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(0.6)} spids:[9])]
      spids: [9]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[12])]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ("Port of some non-standard OpenBSD tools to Linux"))}
          spids: [15]
        )
      ]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("https://github.com/chneukirchen/outils"))}
          spids: [20]
        )
      ]
      spids: [20]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[25])]
      spids: [25]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ ("BSD ISC"))} spids:[30])]
      spids: [30]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[35])]
      spids: [35]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends_dev) op:Equal rhs:{(DQ )} spids:[39])]
      spids: [39]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ ("libressl-dev linux-headers"))}
          spids: [43]
        )
      ]
      spids: [43]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:install) op:Equal rhs:{(DQ )} spids:[48])]
      spids: [48]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:subpackages)
          op: Equal
          rhs: 
            {
              (DQ ($ VSub_Name "$pkgname") ("-doc\n") ("\t") ($ VSub_Name "$pkgname") ("-sha256:_tool\n") 
                ("\t") ($ VSub_Name "$pkgname") ("-lndir:_tool\n") ("\t") ($ VSub_Name "$pkgname") ("-rdate:_tool\n") ("\t") 
                ($ VSub_Name "$pkgname") ("-calendar:_tool\n") ("\t") ($ VSub_Name "$pkgname") ("-lam:_tool\n") ("\t") ($ VSub_Name "$pkgname") 
                ("-what:_tool\n") ("\t") ($ VSub_Name "$pkgname") ("-rs:_tool\n") ("\t") ($ VSub_Name "$pkgname") ("-unvis:_tool\n") ("\t") 
                ($ VSub_Name "$pkgname") ("-md5:_tool\n") ("\t") ($ VSub_Name "$pkgname") ("-sha1:_tool\n") ("\t") ($ VSub_Name "$pkgname") 
                ("-apply:_tool\n") ("\t") ($ VSub_Name "$pkgname") ("-sha512:_tool\n") ("\t") ($ VSub_Name "$pkgname") ("-vis:_tool\n") ("\t") 
                ($ VSub_Name "$pkgname") ("-signify:_tool\n") ("\t") ($ VSub_Name "$pkgname") ("-jot:_tool\n") ("\t") ($ VSub_Name "$pkgname") 
                ("-cksum:_tool")
              )
            }
          spids: [52]
        )
      ]
      spids: [52]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver") 
                (".tar.gz::https://github.com/chneukirchen/") ($ VSub_Name "$pkgname") (/archive/v) ($ VSub_Name "$pkgver") (.tar.gz)
              )
            }
          spids: [106]
        )
      ]
      spids: [106]
    )
    (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: [119]
        )
      ]
      spids: [119]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(find)} {(DQ ($ VSub_Name "$builddir")) (/src)} {(-type)} {(f)} {(-exec)} {(sed)} {(-i)} 
                  {(EscapedLiteralPart token:<Lit_EscapedChar "\\{">) 
                    (EscapedLiteralPart token:<Lit_EscapedChar "\\}">)
                  } {(-e)} {(DQ ("s;u_int;uint;g"))} {(-e)} {(DQ ("s;u_char;uint8_t;g"))} 
                  {(EscapedLiteralPart token:<Lit_EscapedChar "\\;">)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(sed)} {(-i)} {(DQ ($ VSub_Name "$builddir")) (/src/liboutils/sha1.c)} {(-e)} 
                  {(DQ ("s;uint i;uint32_t i;"))}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [132]
        )
      spids: [128 131]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(make)} {(Lit_VarLike "CC=") (DQ ($ VSub_Name "$CC"))} 
                  {(Lit_VarLike "CFLAGS=") (DQ ($ VSub_Name "$CFLAGS"))} {(-C)} {(DQ ($ VSub_Name "$builddir"))}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [208]
        )
      spids: [204 207]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(make)} {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$pkgdir"))} {(install)} {(-C)} 
                  {(DQ ($ VSub_Name "$builddir"))}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [244]
        )
      spids: [240 243]
    )
    (FuncDef
      name: _tool
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:name)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(echo)} {($ VSub_Name "$subpkgname")})
                                  (C {(cut)} {(-d)} {(SQ <->)} {(-f2)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [283 299]
                      )
                    }
                  spids: [282]
                )
              ]
              spids: [280]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$name") (" tool from ") ($ VSub_Name "$pkgname"))}
                  spids: [302]
                )
              ]
              spids: [302]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$name"))} {(Lit_Other "=")} {(DQ (cksum))} 
                          {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:depends)
                          op: Equal
                          rhs: {(DQ ("!coreutils ") ($ VSub_Name "$depends"))}
                          spids: [331]
                        )
                      ]
                      spids: [331]
                    )
                  ]
                  spids: [-1 328]
                )
              ]
              spids: [-1 338]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$name"))} {(Lit_Other "=")} {(DQ (rdate))} 
                          {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/sbin)})
                    (AndOr
                      children: [
                        (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/) ($ VSub_Name "$name")} 
                          {(DQ ($ VSub_Name "$subpkgdir")) (/usr/sbin/) ($ VSub_Name "$name")}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [-1 359]
                )
              ]
              else_action: [
                (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin)})
                (AndOr
                  children: [
                    (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/) ($ VSub_Name "$name")} 
                      {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin/) ($ VSub_Name "$name")}
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                  ]
                  op_id: Op_DPipe
                )
              ]
              spids: [395 431]
            )
            (AndOr
              children: [
                (SimpleCommand
                  words: [{(rmdir)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[442])]
                )
                (C {(true)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (SimpleCommand
                  words: [{(rmdir)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[457])]
                )
                (C {(true)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [277]
        )
      spids: [273 276]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:md5sums)
          op: Equal
          rhs: {(DQ ("02ca98e4c1847e73b1881b521e12df4c  outils-0.6.tar.gz"))}
          spids: [467]
        )
      ]
      spids: [467]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha256sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"544c9778ab698d5225e8cd4386bd1a7d65cbbe6826dc42c6bba6cea150ba507e  outils-0.6.tar.gz"
                )
              )
            }
          spids: [472]
        )
      ]
      spids: [472]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"51b3a9e4c421a1590a3eab3feffec0066830d67b0ec31e825ae99c17148ed764022cf559f67f9ccbe58390c19fd144465ebdb41dff5e51a5988a195d3eaa365f  outils-0.6.tar.gz"
                )
              )
            }
          spids: [477]
        )
      ]
      spids: [477]
    )
  ]
)