[arch-commits] Commit in ghidra/repos (2 files)

Frederik Schwan freswa at gemini.archlinux.org
Sat Jul 17 00:35:53 UTC 2021


    Date: Saturday, July 17, 2021 @ 00:35:53
  Author: freswa
Revision: 977753

archrelease: copy trunk to community-testing-x86_64

Added:
  ghidra/repos/community-testing-x86_64/
  ghidra/repos/community-testing-x86_64/PKGBUILD
    (from rev 977752, ghidra/trunk/PKGBUILD)

----------+
 PKGBUILD |   85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 85 insertions(+)

Copied: ghidra/repos/community-testing-x86_64/PKGBUILD (from rev 977752, ghidra/trunk/PKGBUILD)
===================================================================
--- community-testing-x86_64/PKGBUILD	                        (rev 0)
+++ community-testing-x86_64/PKGBUILD	2021-07-17 00:35:53 UTC (rev 977753)
@@ -0,0 +1,85 @@
+# Maintainer: Robin Broda <robin at broda dot me>
+# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
+
+pkgname=ghidra
+pkgver=10.0.1
+_ghidra_data=7d843ec229d43c2d1a8178aaa892be90e37e95a2
+_d2j=2.0
+_yajsw=12.12
+_hfsx=0.21
+pkgrel=1
+pkgdesc='Software reverse engineering framework'
+url='https://ghidra-sre.org/'
+arch=('x86_64')
+license=('Apache')
+depends=('java-environment>=11' 'bash')
+makedepends=('git' 'gradle' 'unzip' 'java-environment=11')
+optdepends=('python2: Python feature'
+            'pam: GhidraServer support')
+options=('!strip')
+source=(https://github.com/NationalSecurityAgency/ghidra/archive/Ghidra_${pkgver}_build.tar.gz
+        "git+https://github.com/NationalSecurityAgency/ghidra-data#commit=${_ghidra_data}"
+        https://github.com/pxb1988/dex2jar/releases/download/${_d2j}/dex-tools-${_d2j}.zip
+        https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/android4me/AXMLPrinter2.jar
+        https://sourceforge.net/projects/yajsw/files/yajsw/yajsw-stable-${_yajsw}/yajsw-stable-${_yajsw}.zip
+        https://sourceforge.net/projects/catacombae/files/HFSExplorer/${_hfsx}/hfsexplorer-${_hfsx/./_}-bin.zip)
+noextract=(AXMLPrinter2.jar
+           yajsw-stable-${_yajsw}.zip
+           hfsexplorer-${_hfsx/./_}-bin.zip)
+sha512sums=('6cceb31e29080a653aca17f049778476431eaf779556ae039bc98d06ad81e6c19b3a2b72f9f5aabc4b255cc186ba97f02013ff387dedef82ac94593066e62ea4'
+            'SKIP'
+            'c4a6c72ea09b58a44fcb8918cfada600467f10f99a02b53d2436ac68295e73c8daf9ba0a8bc7160ba1e28e87f032ee034435ebe40af35b6e2fe9fa4607581358'
+            'c1168ec913f1fbb0675915d4fd865ec9a8e8573f6c8aedcb6e68166f61f11aeaececc7548d54d78134843c0102c57d6350973f6d3027d0ffdae52a5c57a7f601'
+            '0ff5a228ae1c5251c8ba59f9bcd9b4a199b0caaf688f6eccba42c3d227784d8f56f9164b2fad73fc173ec314340c036144123ce152fe911013df5598bd708944'
+            'b85b4316115695acc78cc7c675c673058c05a238451562be0c6a48b2d11a28e5645a42cb62cdf063be015369df26201dfab6cf2e60f39e6468d1d53b23f94415')
+
+prepare() {
+  export PATH="/usr/lib/jvm/java-11-openjdk/bin:${PATH}"
+  install -d hfsx
+  unzip -u hfsexplorer-${_hfsx/./_}-bin.zip -d hfsx
+
+  cd ghidra-Ghidra_${pkgver}_build
+
+  # Copy needed libraries into flat repo folder
+  install -Dm 644 ../dex2jar-${_d2j}/lib/dex-*.jar \
+    ../AXMLPrinter2.jar \
+    ../hfsx/lib/{csframework,hfsx*,iharder-base64}.jar \
+    -t dependencies/flatRepo
+
+  # YAJSW expects this symlink
+  ln -sf ghidra-Ghidra_${pkgver}_build ../ghidra.bin
+  install -Dm 644 ../yajsw-stable-${_yajsw}.zip -t Ghidra/Features/GhidraServer
+
+  # Add FID datasets
+  install -Dm 644 ../ghidra-data/FunctionID/*.fidb -t Ghidra/Features/FunctionID/src/main/fidb
+
+  # Ignore lack of licensing for YAJSW zip, packed FID datasets, and the native binaries
+  sed -i '/FileTree tree/a\\t\texclude "yajsw-stable-**.zip"\n\t\texclude "src/main/fidb/**.fidb"\n\t\texclude "os/linux64/**"' gradle/support/ip.gradle
+}
+
+build() {
+  export GRADLE_HOME="$(pwd)/usr/share/java/gradle/"
+  export PATH="$(pwd)/usr/share/java/gradle/bin/:${PATH}"
+  cd ghidra-Ghidra_${pkgver}_build
+  gradle yajswDevUnpack
+  gradle prebuildNatives_linux64
+  gradle sleighCompile
+  gradle buildGhidra
+}
+
+package() {
+  cd ghidra-Ghidra_${pkgver}_build
+
+  # Extract built archive into destination folder
+  install -d "${pkgdir}"/{opt,usr/bin}
+  _appver=$(grep -oP '(?<=^application.version=).*$' Ghidra/application.properties)
+  _relname=$(grep -oP '(?<=^application.release.name=).*$' Ghidra/application.properties)
+  unzip -u "build/dist/ghidra_${_appver}_${_relname}"_*_linux64.zip -d "${pkgdir}"/opt
+
+  # Simplify some directory and binary names
+  mv "${pkgdir}"/opt/ghidra{_*,}
+  ln -s /opt/ghidra/ghidraRun "${pkgdir}"/usr/bin/ghidra
+  ln -s /opt/ghidra/support/analyzeHeadless "${pkgdir}"/usr/bin/ghidra-analyzeHeadless
+}
+
+# vim: ts=2 sw=2 et:




More information about the arch-commits mailing list