Files
gunit/Ghidra._scm
2025-08-07 20:28:32 -05:00

191 lines
6.8 KiB
Plaintext

(define-module (bolt-launcher)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages algebra)
#:use-module (gnu packages assembly)
#:use-module (gnu packages astronomy)
#:use-module (gnu packages audio)
#:use-module (gnu packages avahi)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages backup)
#:use-module (gnu packages bash)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages chromium)
#:use-module (gnu packages commencement)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages documentation)
#:use-module (gnu packages engineering)
#:use-module (gnu packages fltk)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gd)
#:use-module (gnu packages geo)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages gps)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages java)
#:use-module (gnu packages javascript)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages libedit)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages logging)
#:use-module (gnu packages lua)
#:use-module (gnu packages man)
#:use-module (gnu packages maths)
#:use-module (gnu packages mp3)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages nss)
#:use-module (gnu packages openstack)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages ruby)
#:use-module (gnu packages sdl)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages swig)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tls)
#:use-module (gnu packages toolkits)
#:use-module (gnu packages vulkan)
#:use-module (gnu packages video)
#:use-module (gnu packages web)
#:use-module (gnu packages wget)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages version-control)
#:use-module (guix build-system copy)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix build utils)
#:use-module (guix build gnu-build-system)
#:use-module (guix base16)
#:use-module (nongnu packages chromium)
#:use-module (nongnu packages editors)
)
(define-public ghidra
(package
(name "ghidra")
(version "11.3.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/NationalSecurityAgency/ghidra")
(commit "Ghidra_11.3.1_build")
(recursive? #t)))
(sha256
(base32 "0dy8jvwggizb3wxmvikg50hadazdbqv9di659gv38mcz36h76w3h"))))
(build-system copy-build-system)
(inputs
(list
gcc
gcc-toolchain
python
`(,openjdk "jdk")
gnu-make
unzip
))
(arguments
(list
#:tests? #f ; no check target
#:phases
#~(modify-phases %standard-phases
;;(add-after 'unpack 'build
;;(lambda _
;;(display (invoke "pwd"))
;;(invoke "ls" "-a")
;;))
(add-after 'unpack 'build
(lambda _
(display (invoke "pwd"))
(invoke "ls" "-a" "./")
(let* ((gradle-url "https://services.gradle.org/distributions/gradle-8.12.1-bin.zip")
(local-gradle-dir "./gradle-ins")
(gradle-zip (string-append local-gradle-dir "/gradle-8.12.1-bin.zip"))
(gradle (string-append local-gradle-dir "/gradle-8.12.1/bin/gradle")))
(mkdir-p local-gradle-dir)
(invoke "wget" gradle-url "-O" gradle-zip)
(system* "unzip" gradle-zip "-d" local-gradle-dir)
(invoke (string-append local-gradle-dir "/gradle-8.12.1/bin/gradle") "tasks")
(system* "sh" (gradle) "-I" "gradle/support/fetchDependencies.gradle" "-Dorg.gradle.dependency.locking=lockMode=DISABLED")
(system* "sh" (gradle) "buildGhidra")
)
;; Open the file for both reading and writing
(system* "sh" "-c" "echo '\ndependencyLocking {\n lockMode = LockMode.DISABLED\n}' >> './settings.gradle'")
(system* "sh" "-c" "echo 'org.gradle.dependency.locking=lockMode=DISABLED' >> './gradle.properties'")
(invoke "cat" "./gradle.properties")
;;(system* "sh" (gradle) "-I" "gradle/support/fetchDependencies.gradle" "-Dorg.gradle.dependency.locking=lockMode=DISABLED")
;;(system* "sh" (gradle) "buildGhidra")
(display "CAT"))
)
(delete 'install)
;;(add-after 'install 'link-cef
;;(lambda _
;;(display (assoc-ref %outputs "out"))
;;(display "Do nothing.") #t)
;;)
)
))
(native-inputs
(list gcc-toolchain git unzip wget))
(synopsis "Soup")
(home-page "https://ghidra-sre.org/")
(description "A software reverse engineering (SRE) suite of tools developed by NSA's Research Directorate in support of the Cybersecurity mission")
(license license:agpl3)))
ghidra