ghidra: add support for aarch64-darwin
This also changes the method used to change Java's notion of the user home directory. Instead of redirecting /etc/passwd to a generated file, the JAVA_TOOL_OPTIONS environment variable is used to provide a value for the user.home system property. The redirect method did not seem to be effective on my Monterey (12.6) system and the new approach is IMO simpler anyway.
This commit is contained in:
parent
d473597e33
commit
e69d148812
1 changed files with 9 additions and 17 deletions
|
@ -84,7 +84,10 @@ HERE
|
|||
|
||||
nativeBuildInputs = [ gradle perl ] ++ lib.optional stdenv.isDarwin xcbuild;
|
||||
buildPhase = ''
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
export HOME="$NIX_BUILD_TOP/home"
|
||||
mkdir -p "$HOME"
|
||||
export JAVA_TOOL_OPTIONS="-Duser.home='$HOME'"
|
||||
export GRADLE_USER_HOME="$HOME/.gradle"
|
||||
|
||||
# First, fetch the static dependencies.
|
||||
gradle --no-daemon --info -Dorg.gradle.java.home=${openjdk11} -I gradle/support/fetchDependencies.gradle init
|
||||
|
@ -116,21 +119,10 @@ in stdenv.mkDerivation rec {
|
|||
patches = [ ./0001-Use-protobuf-gradle-plugin.patch ];
|
||||
postPatch = fixProtoc;
|
||||
|
||||
buildPhase = (lib.optionalString stdenv.isDarwin ''
|
||||
export HOME=$(mktemp -d)
|
||||
|
||||
# construct a dummy /etc/passwd file - something attempts to determine
|
||||
# the user's "real" home using this
|
||||
DUMMY_PASSWD=$(realpath ../dummy-passwd)
|
||||
cat > $DUMMY_PASSWD <<EOF
|
||||
$(whoami)::$(id -u):$(id -g)::$HOME:$SHELL
|
||||
EOF
|
||||
|
||||
export NIX_REDIRECTS=/etc/passwd=$DUMMY_PASSWD
|
||||
export DYLD_INSERT_LIBRARIES=${libredirect}/lib/libredirect.dylib
|
||||
'') + ''
|
||||
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
buildPhase = ''
|
||||
export HOME="$NIX_BUILD_TOP/home"
|
||||
mkdir -p "$HOME"
|
||||
export JAVA_TOOL_OPTIONS="-Duser.home='$HOME'"
|
||||
|
||||
ln -s ${deps}/dependencies dependencies
|
||||
|
||||
|
@ -170,7 +162,7 @@ in stdenv.mkDerivation rec {
|
|||
meta = with lib; {
|
||||
description = "A software reverse engineering (SRE) suite of tools developed by NSA's Research Directorate in support of the Cybersecurity mission";
|
||||
homepage = "https://ghidra-sre.org/";
|
||||
platforms = [ "x86_64-linux" "x86_64-darwin" ];
|
||||
platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
|
||||
sourceProvenance = with sourceTypes; [
|
||||
fromSource
|
||||
binaryBytecode # deps
|
||||
|
|
Loading…
Reference in a new issue