(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(libotr3)} spids:[6])]
      spids: [6]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(3.2.1)} spids:[9])]
      spids: [9]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(4)} spids:[12])]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ("Off The Record Messaging, an encryption library for secure IM conversations"))}
          spids: [15]
        )
      ]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("http://otr.cypherpunks.ca/"))}
          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 ("LGPL2+"))} spids:[30])]
      spids: [30]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(SQ )} spids:[35])]
      spids: [35]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:depends_dev)
          op: Equal
          rhs: {(DQ (libgcrypt-dev))}
          spids: [37]
        )
      ]
      spids: [37]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$depends_dev"))}
          spids: [42]
        )
      ]
      spids: [42]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:install) op:Equal rhs:{(DQ )} spids:[47])]
      spids: [47]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:replaces) op:Equal rhs:{(DQ (libotr))} spids:[51])]
      spids: [51]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:subpackages)
          op: Equal
          rhs: 
            {
              (DQ ($ VSub_Name "$pkgname") ("-dev ") ($ VSub_Name "$pkgname") ("-doc:doc ") 
                ($ VSub_Name "$pkgname") ("-tools:tools")
              )
            }
          spids: [56]
        )
      ]
      spids: [56]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: {(DQ ("http://www.cypherpunks.ca/otr/libotr-") ($ VSub_Name "$pkgver") (.tar.gz))}
          spids: [66]
        )
      ]
      spids: [66]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_builddir)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$srcdir") (/libotr-) ($ VSub_Name "$pkgver"))}
          spids: [74]
        )
      ]
      spids: [74]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[90])]
              spids: [88]
            )
            (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))})
            (AndOr
              children: [
                (C {(update_config_sub)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (ForEach
              iter_name: i
              iter_words: [{($ VSub_Name "$source")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name "$i")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "*") (.patch)}]
                          action: [
                            (Sentence
                              child: (C {(msg)} {($ VSub_Name "$i")})
                              terminator: <Op_Semi ";">
                            )
                            (AndOr
                              children: [
                                (C {(patch)} {(-p1)} {(-i)} 
                                  {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$i")}
                                )
                                (ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(1)}
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [128 130 154 -1]
                        )
                      ]
                      spids: [121 125 157]
                    )
                  ]
                  spids: [118 160]
                )
              spids: [114 116]
            )
          ]
          spids: [85]
        )
      spids: [81 84]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))})
            (AndOr
              children: [
                (C {(./configure)} {(--build) (Lit_Other "=") ($ VSub_Name "$CBUILD")} 
                  {(--host) (Lit_Other "=") ($ VSub_Name "$CHOST")} {(--prefix) (Lit_Other "=") (/usr)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [(C {(make)}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})]
              op_id: Op_DPipe
            )
          ]
          spids: [169]
        )
      spids: [165 168]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))})
            (AndOr
              children: [
                (C {(make)} {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$pkgdir"))} {(install)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [223]
        )
      spids: [219 222]
    )
    (FuncDef
      name: tools
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (GPL))} spids:[258])]
              spids: [258]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$pkgname"))}
                  spids: [264]
                )
              ]
              spids: [264]
            )
            (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))})
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/)})
            (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin)} 
              {(DQ ($ VSub_Name "$subpkgdir")) (/usr/)}
            )
          ]
          spids: [255]
        )
      spids: [251 254]
    )
    (FuncDef
      name: doc
      body: 
        (BraceGroup
          children: [
            (C {(default_doc)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$pkgname"))}
                  spids: [312]
                )
              ]
              spids: [312]
            )
            (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))})
            (C {(install)} {(-Dm0644)} {(Protocol-v2.html)} 
              {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share/doc/) ($ VSub_Name "$pkgname") 
                (/Protocol-v2.html)
              }
            )
            (C {(install)} {(-Dm0644)} {(README)} 
              {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share/doc/) ($ VSub_Name "$pkgname") (/README)}
            )
          ]
          spids: [306]
        )
      spids: [302 305]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:md5sums)
          op: Equal
          rhs: {(DQ ("974acf937d2ce0ee89b27a9815c17a3f  libotr-3.2.1.tar.gz"))}
          spids: [355]
        )
      ]
      spids: [355]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha256sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"d428eaa584984baa09450cca07742e0ac8fc62401f3a1c556e3025023369cdf4  libotr-3.2.1.tar.gz"
                )
              )
            }
          spids: [360]
        )
      ]
      spids: [360]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"7dfac85cb7dd1a95481330ecf3bfe54477a9de7e20370919386e8aa9553e374a2d3587d7b4bb654d1a30bd1c47e41c577f7b78f4007c5cb97f2f6a2c63078899  libotr-3.2.1.tar.gz"
                )
              )
            }
          spids: [365]
        )
      ]
      spids: [365]
    )
  ]
)