Name: ghidra Version: 20260827 Release: 2%{?dist} Summary: A software reverse engineering (SRE) suite of tools License: Apache-2.0 URL: https://github.com/NationalSecurityAgency/ghidra Source0: https://github.com/NationalSecurityAgency/ghidra/archive/refs/heads/master.zip Source1: ghidra.desktop %global debug_package %{nil} BuildRequires: java-25-openjdk-devel BuildRequires: python3.14 BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: make BuildRequires: clang BuildRequires: unzip BuildRequires: zip BuildRequires: git BuildRequires: desktop-file-utils BuildRequires: sed Requires: java-25-openjdk Requires: python3 %description Ghidra is a software reverse engineering (SRE) framework created and maintained by the National Security Agency Research Directorate. This framework includes a suite of full-featured, high-end software analysis tools that enable users to analyze compiled code on a variety of platforms including Windows, macOS, and Linux. Capabilities include disassembly, assembly, decompilation, graphing, and scripting, along with hundreds of other features. Ghidra supports a wide variety of processor instruction sets and executable formats and can be run in both user-interactive and automated modes. Users may also develop their own Ghidra extension components and/or scripts using Java or Python. %prep %autosetup -n ghidra-master %build python3.14 -m venv .venv source .venv/bin/activate chmod +x gradlew export ORG_GRADLE_PROJECT_PYTHON_EXEC=$(pwd)/.venv/bin/python3 ./gradlew -I gradle/support/fetchDependencies.gradle ./gradlew buildGhidra %install mkdir -p %{buildroot}/opt unzip build/dist/ghidra_*_DEV_*.zip -d %{buildroot}/opt/ mv %{buildroot}/opt/ghidra_*_DEV %{buildroot}/opt/ghidra # https://github.com/NationalSecurityAgency/ghidra/blob/master/GhidraDocs/GettingStarted.md#linux sed -i 's/^#\s*\(ENVVARS_LINUX=_JAVA_AWT_WM_NONREPARENTING=1\)/\1/g' %{buildroot}/opt/ghidra/support/launch.properties mkdir -p %{buildroot}%{_bindir} ln -s /opt/ghidra/ghidraRun %{buildroot}%{_bindir}/ghidra mkdir -p %{buildroot}%{_datadir}/applications desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE1} mkdir -p %{buildroot}%{_datadir}/pixmaps cp $(find . -name "GhidraIcon256.png" | head -n 1) %{buildroot}%{_datadir}/pixmaps/ghidra.png %files /opt/ghidra %{_bindir}/ghidra %{_datadir}/applications/ghidra.desktop %{_datadir}/pixmaps/ghidra.png %changelog * Thu Aug 27 2026 - 20260827-2 - uncomment launch.properties file for window-managers * Thu Aug 27 2026 - 20260827-1 - Initial build from source using Gradle wrapper