Package Details: ghidra-dev 10.0.BETA.r25.52d07a8e6+master-1

Git Clone URL: https://aur.archlinux.org/ghidra-dev.git (read-only, click to copy)
Package Base: ghidra-dev
Description: Software reverse engineering framework (git, current branch: master)
Upstream URL: https://www.nsa.gov/ghidra
Keywords: binary compiler cryptor debugger decompiler disassembler ELF executable gdb ida-pro MACH MSDOS NSA OEP ollydbg open-source packer PEiD plugin reverse-engineering
Licenses: Apache
Conflicts: ghidra, ghidra-git
Provides: ghidra
Submitter: class101
Maintainer: class101
Last Packager: class101
Votes: 2
Popularity: 0.183779
First Submitted: 2021-02-24 13:57
Last Updated: 2021-06-03 02:38

Dependencies (7)

Required by (16)

Sources (5)

Pinned Comments

class101 commented on 2021-04-17 15:02

⚠ Since the origin/debugger branch has been merged into the origin/master branch, from now, please use aur/ghidra-git


Latest changes :
  • Since gradle has been upgraded to v7.0 upstream and the ghidra's build not supporting it, you have to install aur/gradle6 to build (can be installed near community/gradle)
  • Rebuilt the PKGBUILD master file from scratch, there were a lot of unneeded and dirty things left since the fork of aur/ghidra-git
  • Enabled gradle --parallel build (on core i7 or greater it takes 5min to compile everything at 100% cpu cores usage)
    By default, gradle uses the number of your cpu cores, but you can modify this if you pass the -Dorg.gradle.workers.max= parameter to gradle
  • All the build environment is prepared by the gradle script provided by the ghidra developers. It gives the possibility to receive new dependencies as the developers add them !
  • FOR GHIDRA DEVELOPERS : added few steps to uncomment to prepare the dev environment (eclipse, linux64 tools, etc..)
  • Deprecated one patch already upstream and no more necessary
Advice :

To speedup compression/decompression time, I suggest you to force makepkg to use ZST compression instead of XZ (archlinux official package are moving to this format, for the 0.8% size increase, you win more than 1000% in compression/decompression time)

ZST threaded compression is also a must to have

  • Install the package extra/devtools >= 2.19 for a complete zst support
  • Open /etc/makepkg.conf
  • Add --threads=0 to COMPRESSZST as in the following code
COMPRESSZST=(zstd -c -z -q - --threads=0)
  • Comment out all the other COMPRESS* variables
#COMPRESSGZ=(pigz -c -f -n)
#COMPRESSBZ2=(pbzip2 -c -f)
#COMPRESSXZ=(xz -c -z - --threads=0)
COMPRESSZST=(zstd -c -z -q - --threads=0)
#COMPRESSLRZ=(lrzip -q)
#COMPRESSLZO=(lzop -q)
#COMPRESSZ=(compress -c -f)
#COMPRESSLZ4=(lz4 -q)
#COMPRESSLZ=(lzip -c -f)
  • And change PKGEXT and SRCEXT to zst
PKGEXT='.pkg.tar.zst'
SRCEXT='.src.tar.zst'

Latest Comments

1 2 Next › Last »

class101 commented on 2021-06-03 09:25

⚠ Since the origin/debugger branch has been merged into the origin/master branch, from now, please use aur/ghidra-git

class101 commented on 2021-05-20 20:08

You are welcome ;) I have enabled the gradle v7.x support as it seems to compile now, let me know if it is causing troubles. I have also imported a fix from origin/master to fix the build failure.

algebro commented on 2021-04-28 00:16

Awesome, thanks for responding quickly and packaging up that version of gradle. Also thanks for the recommendation on paru, I had not heard of it and didn't know the backstory there.

class101 commented on 2021-04-27 23:04

Yes I have seen this, fixed now.

I have added aur/gradle6 you can install with yay/paru -S gradle6 (can be installed near community/gradle, I made sure should not conflict

Btw Paru is just a recommendation, it is made by the main committer of Yay, he made up Paru from scratch because yay was too problematic. Yay had bugs like it was missing commit update on -git packages, no more happening now with Paru, you can see it in the popular packages.

algebro commented on 2021-04-27 19:32

openjdk version "11.0.11" 2021-04-20

The issue doesn't appear to be related to yay--it does the same thing with makepkg

Update: It seems to be related to this: https://github.com/NationalSecurityAgency/ghidra/issues/2949

I downgraded from gradle 7 to 6.8.3 and it builds now--just a heads up

class101 commented on 2021-04-27 17:03

@algebro

What version of openjdk are you using ? I suspect it is because your openjdk is not supported (not your fault I'm currently allowing openjdk11+ while it is not really good practice to go against the developer advice to use openjdk11)

I found it useful to allow a higher version of openjdk but I may have to force it to openjdk11 to avoid such unknown errors. The proper approach is probably

  • openjdk11 as a makedeps
  • openjdk>=11 as rundeps

Like that I'm not forcing openjdk11 to be installed, and it can be auto removed as makedeps by the aur helpers.

Note: I notice you are using yay :) Maybe you want to try paru, is the successor of yay

algebro commented on 2021-04-27 16:59

Got a build error today for some reason:

FAILURE: Build failed with an exception.

* Where:
Script '/home/algebro/.cache/yay/ghidra-dev/src/ghidra/gradle/helpProject.gradle' line: 62

* What went wrong:
A problem occurred evaluating script.
> Could not find method helpIndexCompile() for arguments [javax.help:javahelp:2.0.05] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

Any ideas on how to troubleshoot?

class101 commented on 2021-04-22 16:18

@encounter

No problems, you are welcome :)

encounter commented on 2021-04-22 16:14

Hi @class101,

I integrated a lot of your changes back into ghidra-git, and credited you as a contributor.

I adopted the package from another maintainer and wasn't aware gradle/support/fetchDependencies.gradle was a thing. Thanks!

class101 commented on 2021-04-17 19:03

@algebro

Thank you for your feedback, I hope you like the improvments I have made to it. Now it just does what is recommended on the Ghidra developer's guide, I find it better to do this than to remake the wheel, this is also what crashed the previous build