blob: 88868a4b3b4b2d4a60cfe4bdf4ab3f7b93947abc (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
PORTNAME= ghidra
DISTVERSION= 11.3.1
CATEGORIES= devel security java
MASTER_SITES= https://github.com/NationalSecurityAgency/${PORTNAME}/releases/download/Ghidra_${DISTVERSION}_build/
DISTNAME= ${PORTNAME}_${DISTVERSION}_PUBLIC_20250219
MAINTAINER= tiga@FreeBSD.org
COMMENT= Software reverse engineering (SRE) framework
WWW= https://ghidra-sre.org/
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
ONLY_FOR_ARCHS= amd64
BUILD_DEPENDS= bash:shells/bash \
gradle>=8.12:devel/gradle
RUN_DEPENDS= bash:shells/bash
USES= compiler:gcc-c++11-lib cpe java shebangfix zip
CPE_VENDOR= nsa
JAVA_VERSION= 21+
SHEBANG_FILES= Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/local-gdb.sh \
Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/qemu-gdb.sh \
Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/qemu-sys-gdb.sh \
Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/remote-gdb.sh \
Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/ssh-gdb.sh \
Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/ssh-gdbserver.sh \
Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/wine-gdb.sh \
Ghidra/Debug/Debugger-agent-lldb/data/debugger-launchers/android-lldb.sh \
Ghidra/Debug/Debugger-agent-lldb/data/debugger-launchers/kernel-lldb.sh \
Ghidra/Debug/Debugger-agent-lldb/data/debugger-launchers/local-lldb.sh \
Ghidra/Debug/Debugger-agent-lldb/data/debugger-launchers/remote-lldb.sh \
Ghidra/Debug/Debugger-rmi-trace/data/debugger-launchers/raw-python3.sh \
Ghidra/Features/BSim/support/make-postgres.sh \
ghidraRun \
server/ghidraSvr \
server/jaas_external_program.example.sh \
server/svrAdmin \
server/svrInstall \
server/svrUninstall \
support/GhidraGo/ghidraGo \
support/analyzeHeadless \
support/bsim \
support/bsim_ctl \
support/buildGhidraJar \
support/convertStorage \
support/gdbGADPServerRun \
support/ghidraClean \
support/ghidraDebug \
support/launch.sh \
support/sleigh
SUB_FILES= ghidra.desktop
WRKSRC= ${WRKDIR}/${PORTNAME}_${DISTVERSION}_PUBLIC
GRADLE_HOME_BASE= /tmp
GRADLE_RUN= ${SETENV} ${MAKE_ENV} gradle --gradle-user-home \
${GRADLE_HOME_BASE}/gradle-${PORTNAME} --no-daemon
BUILD_SUBDIR= build/os/freebsd_x86_64
TMP_DIRS= Ghidra/.gradle \
Ghidra/Features/Decompiler/build/objs \
Ghidra/Features/Decompiler/build/tmp \
Ghidra/Features/FileFormats/build/objs \
Ghidra/Features/FileFormats/build/tmp \
Ghidra/Ghidra/.gradle \
Ghidra/build \
GPL/.gradle \
GPL/DemanglerGnu/build/objs \
GPL/DemanglerGnu/build/tmp \
GPL/build \
GPL/nativeBuildProperties.gradle.orig \
support/gradle/.gradle
PROGRAM_FILES= Ghidra/Features/FileFormats/${BUILD_SUBDIR}/lzfse \
Ghidra/Features/Decompiler/${BUILD_SUBDIR}/decompile \
Ghidra/Features/Decompiler/${BUILD_SUBDIR}/sleigh \
GPL/DemanglerGnu/${BUILD_SUBDIR}/demangler_gnu_v2_24 \
GPL/DemanglerGnu/${BUILD_SUBDIR}/demangler_gnu_v2_41
post-patch:
${REINPLACE_CMD} -e 's|%%CC_BINARY%%|${CXX}|' -e 's|%%CPP_BINARY%%|${CXX}|' \
${WRKSRC}/GPL/nativeBuildProperties.gradle
do-build:
@cd ${WRKSRC}/support/gradle && ${GRADLE_RUN} build
pre-install:
${REINPLACE_CMD} '1s|bash$$|bash\n\nexport JAVA_HOME="${JAVA_HOME}"|g' \
${WRKSRC}/ghidraRun
do-install:
.for F in ${TMP_DIRS}
${RM} -r ${WRKSRC}/${F}
.endfor
cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}
.for F in ${SHEBANG_FILES}
${RM} ${STAGEDIR}${DATADIR}/${F}
${INSTALL_SCRIPT} ${WRKSRC}/${F} ${STAGEDIR}${DATADIR}/${F}
.endfor
.for F in ${PROGRAM_FILES}
${RM} ${STAGEDIR}${DATADIR}/${F}
${INSTALL_PROGRAM} ${WRKSRC}/${F} ${STAGEDIR}${DATADIR}/${F}
.endfor
${INSTALL_DATA} ${WRKDIR}/ghidra.desktop ${STAGEDIR}/${PREFIX}/share/applications
${INSTALL_DATA} ${FILESDIR}/ghidra.svg ${STAGEDIR}${DATADIR}/ghidra.svg
${RLN} ${STAGEDIR}${DATADIR}/ghidraRun ${STAGEDIR}/${PREFIX}/bin/ghidra
.include <bsd.port.mk>
|