diff options
Diffstat (limited to 'nixpkgs/pkgs/development/mobile/androidenv/ndk-bundle/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/mobile/androidenv/ndk-bundle/default.nix | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/nixpkgs/pkgs/development/mobile/androidenv/ndk-bundle/default.nix b/nixpkgs/pkgs/development/mobile/androidenv/ndk-bundle/default.nix index ca305e0398d5..f74b949a7b3c 100644 --- a/nixpkgs/pkgs/development/mobile/androidenv/ndk-bundle/default.nix +++ b/nixpkgs/pkgs/development/mobile/androidenv/ndk-bundle/default.nix @@ -9,14 +9,14 @@ let in deployAndroidPackage { inherit package os; - buildInputs = [ autoPatchelfHook makeWrapper pkgs.python2 ] - ++ lib.optional (os == "linux") [ pkgs.glibc pkgs.stdenv.cc.cc pkgs.ncurses5 pkgs.zlib pkgs.libcxx.out ]; + nativeBuildInputs = [ autoPatchelfHook makeWrapper ]; + buildInputs = lib.optional (os == "linux") [ pkgs.glibc pkgs.stdenv.cc.cc pkgs.python2 pkgs.ncurses5 pkgs.zlib pkgs.libcxx.out pkgs.libxml2 ]; patchInstructions = lib.optionalString (os == "linux") ('' patchShebangs . '' + lib.optionalString (builtins.compareVersions (lib.getVersion package) "21" > 0) '' patch -p1 \ - --no-backup-if-mismatch < ${./make_standalone_toolchain.py_18.patch} + --no-backup-if-mismatch < ${./make_standalone_toolchain.py_18.patch} || true wrapProgram $(pwd)/build/tools/make_standalone_toolchain.py --prefix PATH : "${runtime_paths}" '' + '' @@ -24,33 +24,35 @@ deployAndroidPackage { rm -rf docs tests # Patch the executables of the toolchains, but not the libraries -- they are needed for crosscompiling + if [ -d $out/libexec/android-sdk/ndk-bundle/toolchains/renderscript/prebuilt/linux-x86_64/lib64 ]; then + addAutoPatchelfSearchPath $out/libexec/android-sdk/ndk-bundle/toolchains/renderscript/prebuilt/linux-x86_64/lib64 + fi - addAutoPatchelfSearchPath $out/libexec/android-sdk/ndk-bundle/toolchains/renderscript/prebuilt/linux-x86_64/lib64 - find toolchains -type d -name bin | while read dir - do + if [ -d $out/libexec/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/lib64 ]; then + 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 # fix ineffective PROGDIR / MYNDKDIR determination - for i in ndk-build - do - sed -i -e 's|^PROGDIR=`dirname $0`|PROGDIR=`dirname $(readlink -f $(which $0))`|' $i + for progname in ndk-build; do + sed -i -e 's|^PROGDIR=`dirname $0`|PROGDIR=`dirname $(readlink -f $(which $0))`|' $progname done # Patch executables autoPatchelf prebuilt/linux-x86_64 # wrap - for i in ndk-build - do - wrapProgram "$(pwd)/$i" --prefix PATH : "${runtime_paths}" + for progname in ndk-build; do + wrapProgram "$(pwd)/$progname" --prefix PATH : "${runtime_paths}" done # make some executables available in PATH mkdir -p $out/bin - for i in ndk-build - do - ln -sf ../libexec/android-sdk/ndk-bundle/$i $out/bin/$i + 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 |