(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(java-jna)} spids:[6])]
      spids: [6]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_pkgname)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name pkgname>
                suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(java-)})
                spids: [10 14]
              )
            }
          spids: [9]
        )
      ]
      spids: [9]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(4.3.0)} spids:[16])]
      spids: [16]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[19])]
      spids: [19]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ("JNA provides Java programs easy access to native shared libraries."))}
          spids: [22]
        )
      ]
      spids: [22]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("https://github.com/java-native-access/jna"))}
          spids: [27]
        )
      ]
      spids: [27]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[32])]
      spids: [32]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:license)
          op: Equal
          rhs: {(DQ ("ASL-2.0 LGPL-2.1"))}
          spids: [37]
        )
      ]
      spids: [37]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:depends)
          op: Equal
          rhs: {(DQ (openjdk8-jre-base))}
          spids: [42]
        )
      ]
      spids: [42]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ ("apache-ant autoconf automake libffi-dev>=3.2 libtool openjdk8"))}
          spids: [47]
        )
      ]
      spids: [47]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:subpackages)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$pkgname") (-native))}
          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/java-native-access/") ($ VSub_Name "$_pkgname") (/archive/) ($ VSub_Name "$pkgver") (".tar.gz\n") 
                ("\t0001-jar-without-natives.patch\n") ("\t")
              )
            }
          spids: [58]
        )
      ]
      spids: [58]
    )
    (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: [72]
        )
      ]
      spids: [72]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(default_prepare)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (AndOr
              children: [
                (C {(sed)} {(-i)} {(-E)} 
                  {
                    (DQ ("s/^(CDEFINES=.*)") (Lit_Other "$") (/) 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\1">) (" -DNO_JAWT/g")
                    )
                  } {(native/Makefile)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(rm)} {(-r)} {(native/libffi)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(find)} {(-name)} {(DQ ("*.jar"))} {(-exec)} {(rm)} {(Lit_LBrace "{") (Lit_RBrace "}")} 
                  {(Lit_Other "+")}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [86]
        )
      spids: [82 85]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (C {(ant)} {(clean)})
            (AndOr
              children: [
                (SimpleCommand
                  words: [
                    {(ant)}
                    {(native)}
                    {(-Drelease) (Lit_Other "=") (true)}
                    {(-Ddynlink.native) (Lit_Other "=") (true)}
                  ]
                  more_env: [(env_pair name:MAKEFLAGS val:{(DQ (-j1))} spids:[204])]
                )
                (C {(ant)} {(jar)} {(-Domit-jnilib) (Lit_Other "=") (true)})
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [183]
        )
      spids: [179 182]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$depends") (" ") ($ VSub_Name "$pkgname") (-native))}
                  spids: [245]
                )
              ]
              spids: [245]
            )
            (AndOr
              children: [
                (C {(install)} {(-m644)} {(-D)} {(DQ ($ VSub_Name "$builddir")) (/build/jna.jar)} 
                  {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/java/) ($ VSub_Name "$_pkgname") (-) 
                    ($ VSub_Name "$pkgver") (.jar)
                  }
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(ln)} {(-sf)} {($ VSub_Name "$_pkgname") (-) ($ VSub_Name "$pkgver") (.jar)} 
              {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/java/) ($ VSub_Name "$_pkgname") (.jar)}
            )
          ]
          spids: [242]
        )
      spids: [238 241]
    )
    (FuncDef
      name: native
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:soname)
                  op: Equal
                  rhs: {(DQ (libjnidispatch.so))}
                  spids: [312]
                )
              ]
              spids: [310]
            )
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:sover)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(sed)} {(-En)} {(SQ <"s/^JNA_JNI_VERSION=([^ ]+).*/\\1/p">)} 
                                  {(native/Makefile)}
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [331 341]
                        )
                      )
                    }
                  spids: [329]
                )
              ]
              spids: [327]
            )
            (AndOr
              children: [
                (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$sover"))} {(Lit_Other "]")})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(install)} {(-m755)} {(-D)} 
                  {(build/native-linux-) (Lit_Other "*") (/) ($ VSub_Name "$soname")} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/) ($ VSub_Name "$soname") (.) ($ VSub_Name "$sover")}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(ln)} {(-sf)} {($ VSub_Name "$soname") (.) ($ VSub_Name "$sover")} 
              {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/) ($ VSub_Name "$soname")}
            )
          ]
          spids: [307]
        )
      spids: [303 306]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:md5sums)
          op: Equal
          rhs: 
            {
              (DQ ("2de8ba99fc91809935e6c2ab02f49a82  java-jna-4.3.0.tar.gz\n") 
                ("2eceb51b9eafbe0a7f162fe6b3297c03  0001-jar-without-natives.patch")
              )
            }
          spids: [408]
        )
      ]
      spids: [408]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha256sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"f7e3ef21051ef7dcc2176db19aca6b759c2809bd93c363c6fe697cdf86908ae8  java-jna-4.3.0.tar.gz\n"
                ) ("bad5487a1c8aa4e227b1a27fbac787e9d84a6bf748325708cdf045b625bd1f82  0001-jar-without-natives.patch")
              )
            }
          spids: [414]
        )
      ]
      spids: [414]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"5e27771c114ead302196f7f99bc4928e12acd72687a481501a4c1753952517b7ed411828f9f4a7ae4631a4473a86720b4eba7bae9e22704c53dfc7a46609fa3d  java-jna-4.3.0.tar.gz\n"
                ) 
                (
"67110a14ef0879c590427c919ec0057aab5902ba1fb3a3a1aa9f9c395aefb31f4b2244d0a2a59fde1a2fae418ee45d666f3fd780784c6194abe533f4f5cbebbc  0001-jar-without-natives.patch"
                )
              )
            }
          spids: [420]
        )
      ]
      spids: [420]
    )
  ]
)