Package Details: ghidra-dev 9.2.3.r704.1a3458ef7+debugger-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: debugger)
Upstream URL: https://www.nsa.gov/ghidra
Keywords: asm debugger disassembler engineering gdb ghidra ida ollydbg reverse
Licenses: Apache
Conflicts: ghidra, ghidra-git
Provides: ghidra
Submitter: class101
Maintainer: class101
Last Packager: class101
Votes: 1
Popularity: 0.31
First Submitted: 2021-02-24 13:57
Last Updated: 2021-04-17 14:51

Dependencies (7)

Required by (12)

Sources (6)

Pinned Comments

class101 commented on 2021-04-17 15:02

Latest changes :
  • 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

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

algebro commented on 2021-04-17 17:38

I'm trying it now--I'll let you know if I run into any issues. This is handy because before I was maintaining my own private version of the ghidra-git package for the debugger branch but I didn't have time to optimize it.

class101 commented on 2021-04-17 15:02

Latest changes :
  • 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'

class101 commented on 2021-04-17 08:48

I guess nobody use it since it was broken since the merge few days ago haha.

Anyway, I still use it and want to simplify the PKGBUILD procedures, it contains too much unnecessary things from the ghidra-git fork actually.

WIP

class101 commented on 2021-02-24 13:58

  • Current branch: debugger
  • Added additional desktop icon to run Ghidra as root (attaching to process works best with highest privileges)
  • Added dependency to polkit and ghidra.policy file to request root privileges
  • One patch to fix an error upon attaching gdb to a process [2735]
  • One patch to fix some uninitialized gdb attributes