(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(ocaml)} spids:[6])]
      spids: [6]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(4.04.2)} spids:[9])]
      spids: [9]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(1)} spids:[12])]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ("Main implementation of the Caml programming language"))}
          spids: [15]
        )
      ]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("http://ocaml.org/"))}
          spids: [20]
        )
      ]
      spids: [20]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:arch)
          op: Equal
          rhs: {(DQ ("all !x86 !armhf !s390x"))}
          spids: [25]
        )
      ]
      spids: [25]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (LGPLv2))} spids:[30])]
      spids: [30]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ ("ncurses-dev zlib-dev gdbm-dev"))}
          spids: [35]
        )
      ]
      spids: [35]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ (ncurses-dev))} spids:[40])]
      spids: [40]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:options) op:Equal rhs:{(DQ (textrels))} spids:[45])]
      spids: [45]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:subpackages)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$pkgname") (-doc))}
          spids: [50]
        )
      ]
      spids: [50]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ("http://caml.inria.fr/pub/distrib/ocaml-") 
                (BracedVarSub
                  token: <VSub_Name pkgver>
                  suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(".*")})
                  spids: [59 63]
                ) (/) ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver") (".tar.gz\n") ("\t010_all_execstacks.patch\n") 
                ("\t020_all_configure.patch\n") ("\t050_all_objinfoldflags.patch\n") ("\tfix-mcontext-fields.patch\n") 
                ("\tfix-segfault-in-ppc64le.patch\n") ("\t")
              )
            }
          spids: [56]
        )
      ]
      spids: [56]
    )
    (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: [77]
        )
      ]
      spids: [77]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_cflags)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$CFLAGS"))}
                  spids: [108]
                )
              ]
              spids: [106]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:CFLAGS) op:Equal rhs:{(DQ (-fPIC))} spids:[114])]
              spids: [114]
            )
            (ForEach
              iter_name: i
              iter_words: [{($ VSub_Name "$_cflags")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name "$i")}
                      arms: [
                        (case_arm
                          pat_list: [{(-fomit-frame-pointer)}]
                          spids: [139 140 141 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CFLAGS)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$CFLAGS") (" ") ($ VSub_Name "$i"))}
                                  spids: [147]
                                )
                              ]
                              spids: [147]
                            )
                          ]
                          spids: [144 145 153 -1]
                        )
                      ]
                      spids: [132 136 156]
                    )
                  ]
                  spids: [129 159]
                )
              spids: [125 127]
            )
            (C {(./configure)} {(-cc)} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name CC>
                    suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(gcc)})
                    spids: [168 172]
                  )
                )
              } {(--bindir)} {(/usr/bin)} {(--libdir)} {(/usr/lib/ocaml)} {(--mandir)} {(/usr/share/man)}
            )
            (C {(make)} {(-j1)} {(world.opt)})
          ]
          spids: [91]
        )
      spids: [87 90]
    )
    (FuncDef
      name: check
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (AndOr children:[(C {(make)} {(test)})(C {(true)})] op_id:Op_DPipe)
            (C {(cd)} {(testsuite)})
            (AndOr children:[(C {(make)} {(report)})(C {(true)})] op_id:Op_DPipe)
          ]
          spids: [207]
        )
      spids: [203 206]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (C {(make)} {(Lit_VarLike "BINDIR=") (DQ ($ VSub_Name "$pkgdir")) (/usr/bin)} 
              {(Lit_VarLike "LIBDIR=") (DQ ($ VSub_Name "$pkgdir")) (/usr/lib/ocaml)} {(Lit_VarLike "MANDIR=") (DQ ($ VSub_Name "$pkgdir")) (/usr/share/man)} {(install)}
            )
            (C {(install)} {(-Dm644)} {(LICENSE)} 
              {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/licenses/) ($ VSub_Name "$pkgname") (/LICENSE)}
            )
            (C {(install)} {(-Dm644)} {(Changes)} 
              {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/doc/) ($ VSub_Name "$pkgname") (/Changes)}
            )
            (C {(find)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/ocaml)} {(-name)} 
              {(EscapedLiteralPart token:<Lit_EscapedChar "\\*">) (.ml)} {(-delete)}
            )
          ]
          spids: [250]
        )
      spids: [246 249]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"c02e9353e8e62154ca683027c005154a7f280034d1ec9184ee52286d4a41852ba70f4ec976c01e07720f3c75e949da049eafc553e7a35ebaa65136e29ab248f5  ocaml-4.04.2.tar.gz\n"
                ) 
                (
"71ac807fb1173863b9dcf8e5fb4e651e0155d6cd0e4b327f5457b83fc09e1b5fbe34150c5d8ccd24f0faff1a8419f5ed8310aa60af1f38c2766ccc37dc6c3835  010_all_execstacks.patch\n"
                ) 
                (
"286758402517a1345556d374b0c3fc49eb93f1ec2bb9ccd2ffe1cc043f59d93b154f68eb9ff410020a15d3d8f148b27f249b7f97954b0e8a080cdd32d6014b4a  020_all_configure.patch\n"
                ) 
                (
"61d9cae6c8be7c16ed4aa6fafc533e2879caadbbe0e023775c1d735c0e54e66e94b9ffab8dc0b0b12c19ccf5c389e05f62af822014d202ae54c52943a0639753  050_all_objinfoldflags.patch\n"
                ) 
                (
"75c67e143a4a05b334bdebbad48ded1e04d383d8ea9b747df2633a5af96b1115b502510faf57753c71bbac38fbc9d9746b167861a63b2fd295901db0d22ea317  fix-mcontext-fields.patch\n"
                ) 
                (
"87e1c7dff0d550aa9855ec5c22226f7d6d3411256eef250bf985c1ef42089610ca6c3dd483c51c4edf656ebfc1728580b933c02f3043159ec01411e6f54e5a88  fix-segfault-in-ppc64le.patch"
                )
              )
            }
          spids: [329]
        )
      ]
      spids: [329]
    )
  ]
)