androidenv: fix darwin ndk symlink

Today the nix ndk package on darwin points to a directory that doesn't
exist. This fix was added previously for linux but is needed on all
platforms.
This commit is contained in:
Sheldon Neuberger 2022-10-12 18:34:04 -07:00
parent 1c6eb4876f
commit a5f4369130

View file

@ -13,7 +13,7 @@ deployAndroidPackage {
++ lib.optionals stdenv.isLinux [ autoPatchelfHook ];
autoPatchelfIgnoreMissingDeps = true;
buildInputs = lib.optionals (os == "linux") [ pkgs.zlib ];
patchInstructions = lib.optionalString (os == "linux") (''
patchInstructions = ''
patchShebangs .
# TODO: allow this stuff
@ -37,9 +37,11 @@ deployAndroidPackage {
addAutoPatchelfSearchPath $out/libexec/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/lib64
fi
find toolchains -type d -name bin -or -name lib64 | while read dir; do
autoPatchelf "$dir"
done
if [ -d toolchains/llvm/prebuilt/linux-x86_64 ]; then
find toolchains/llvm/prebuilt/linux-x86_64 -type d -name bin -or -name lib64 | while read dir; do
autoPatchelf "$dir"
done
fi
# fix ineffective PROGDIR / MYNDKDIR determination
for progname in ndk-build; do
@ -47,7 +49,9 @@ deployAndroidPackage {
done
# Patch executables
autoPatchelf prebuilt/linux-x86_64
if [ -d prebuild/linux-x86_64 ]; then
autoPatchelf prebuilt/linux-x86_64
fi
# wrap
for progname in ndk-build; do
@ -59,6 +63,6 @@ deployAndroidPackage {
for progname in ndk-build; do
ln -sf ../libexec/android-sdk/ndk-bundle/$progname $out/bin/$progname
done
'');
'';
noAuditTmpdir = true; # Audit script gets invoked by the build/ component in the path for the make standalone script
}