(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(unison)} spids:[6])]
      spids: [6]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(2.48.4)} spids:[9])]
      spids: [9]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(3)} spids:[12])]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ("Unison - efficient file-synchronization tool"))}
          spids: [15]
        )
      ]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("https://www.cis.upenn.edu/~bcpierce/unison/"))}
          spids: [20]
        )
      ]
      spids: [20]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:arch)
          op: Equal
          rhs: {(DQ ("all !x86 !armhf !aarch64 !s390x"))}
          spids: [31]
        )
      ]
      spids: [31]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (GPL))} spids:[36])]
      spids: [36]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ ("ocaml lablgtk-dev linux-headers emacs-nox"))}
          spids: [41]
        )
      ]
      spids: [41]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:subpackages)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$pkgname") (-doc))}
          spids: [46]
        )
      ]
      spids: [46]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ("http://www.seas.upenn.edu/~bcpierce/unison/download/releases/stable/unison-") 
                ($ VSub_Name "$pkgver") (".tar.gz\n") ("\thttp://www.seas.upenn.edu/~bcpierce/unison/download/releases/stable/unison-") 
                ($ VSub_Name "$pkgver") ("-manual.html\n") ("\tfix_inotify_check.patch\n") ("\tmarshalling.patch")
              )
            }
          spids: [52]
        )
      ]
      spids: [52]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:options) op:Equal rhs:{(DQ ("!check"))} spids:[70])]
      spids: [70]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:builddir)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$srcdir") (/src))}
          spids: [75]
        )
      ]
      spids: [75]
    )
    (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 )} spids:[110])]
              spids: [108]
            )
            (ForEach
              iter_name: i
              iter_words: [{($ VSub_Name "$CFLAGS")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:_cflags)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name "$_cflags") (" -ccopt ") ($ VSub_Name "$i"))}
                              spids: [126]
                            )
                          ]
                          spids: [126]
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  spids: [124 134]
                )
              spids: [120 122]
            )
            (C {(export)} {(Lit_VarLike "CFLAGS=") (DQ ($ VSub_Name "$_cflags"))})
            (ForEach
              iter_name: ui
              iter_words: [{(text)} {(gtk2)}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(make)} {(-j1)} {(clean)})
                    (C {(make)} {(-j1)} {(mkProjectInfo)})
                    (C {(make)} {(-j1)} {(Lit_VarLike "UISTYLE=") ($ VSub_Name "$ui")} 
                      {(Lit_VarLike "DEBUGGING=") (false)} {(Lit_VarLike "THREADS=") (true)}
                    )
                    (C {(mv)} {(unison)} {(unison-) ($ VSub_Name "$ui")})
                  ]
                  spids: [156 195]
                )
              spids: [150 154]
            )
          ]
          spids: [86]
        )
      spids: [82 85]
    )
    (FuncDef
      name: doc
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ("Unison - efficient file-synchronization tool (documentation)"))}
                  spids: [207]
                )
              ]
              spids: [207]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_docdir)
                  op: Equal
                  rhs: 
                    {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share/doc/) ($ VSub_Name "$pkgname") (/)}
                  spids: [215]
                )
              ]
              spids: [213]
            )
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$_docdir"))})
            (C {(cd)} {(DQ ($ VSub_Name "$srcdir"))})
            (C {(cp)} {(unison-) ($ VSub_Name "$pkgver") (-manual.html)} {(DQ ($ VSub_Name "$_docdir"))})
          ]
          spids: [204]
        )
      spids: [200 203]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (C {(install)} {(-d)} {(DQ (${ VSub_Name pkgdir)) (/usr/bin)})
            (C {(install)} {(-m755)} {(unison-) (Lit_Other "*")} {(DQ (${ VSub_Name pkgdir)) (/usr/bin)})
            (C {(cd)} {(DQ (${ VSub_Name pkgdir)) (/usr/bin)})
            (C {(ln)} {(-s)} {(unison-text)} {(unison)})
            (C {(ln)} {(-s)} {(unison)} 
              {(unison-) 
                (BracedVarSub
                  token: <VSub_Name pkgver>
                  suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(".*")})
                  spids: [320 324]
                )
              }
            )
          ]
          spids: [257]
        )
      spids: [253 256]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:md5sums)
          op: Equal
          rhs: 
            {
              (DQ ("5334b78c7e68169df7de95f4c6c4b60f  unison-2.48.4.tar.gz\n") 
                ("3dc5de6c0609ae2e3019d22f76345b91  unison-2.48.4-manual.html\n") ("c40a53099c98f7a82eaad52b7e5d0df2  fix_inotify_check.patch\n") 
                ("e4da5777b26376de728f22b2c296950d  marshalling.patch")
              )
            }
          spids: [329]
        )
      ]
      spids: [329]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha256sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"30aa53cd671d673580104f04be3cf81ac1e20a2e8baaf7274498739d59e99de8  unison-2.48.4.tar.gz\n"
                ) ("2b5674e2fd7751148784a716ce5a03f8cd0a321c8a3bd4343832ed9b83d2d404  unison-2.48.4-manual.html\n") 
                (
"ef0371e70c94250ca04e80a5fddf61f3edab1c6ec0854e9bf5b2edd6dd18e986  fix_inotify_check.patch\n"
                ) ("6e652b120f1b526557ab0a88c162aec3957444bfdeaf7f9c52ca0f3c48c58d9a  marshalling.patch")
              )
            }
          spids: [337]
        )
      ]
      spids: [337]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"c8e7bd2b14edae31e7d08154cdc2dce8173546b6163b9e5f4f2b1c8255792a7645d8449da88d7acfcbf498746481d24d0a3936978969920530a15a16bcbc6024  unison-2.48.4.tar.gz\n"
                ) 
                (
"b995712cda51d612bd81c89589d872099b3b9c90f7413268b24ab399a1eff7690200980514a834ee3d12bd3c89ef61bb8a29b3970c01433e0c4671d363a96b68  unison-2.48.4-manual.html\n"
                ) 
                (
"27eaf4f347dc827dc14b338ef2be40d25507c6c9d65ecdc8f811ebe994f6e23577ad85fcc86b63d148b57844b24e6034061c869b641fbd3173532a26e0828803  fix_inotify_check.patch\n"
                ) 
                (
"3ca783527ee4b5eacd060086a72987e479b2f04d795d6689c8357eb33635e91021b6cd8b926cb583a4ca3dd18373c8ce5b50ba44dd5fa18b2e2e78922cea3c9f  marshalling.patch"
                )
              )
            }
          spids: [345]
        )
      ]
      spids: [345]
    )
  ]
)