From e5d262e1cc61d2ac3c77907e71a2449b4fec4698 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Fri, 22 Jun 2018 16:09:14 -0400 Subject: [PATCH 1/4] androidndk: fixup --- pkgs/development/mobile/androidenv/androidndk.nix | 7 ++----- pkgs/development/mobile/androidenv/androidndk_r8e.nix | 2 +- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/pkgs/development/mobile/androidenv/androidndk.nix b/pkgs/development/mobile/androidenv/androidndk.nix index 6a647192e091..7550830a4efd 100644 --- a/pkgs/development/mobile/androidenv/androidndk.nix +++ b/pkgs/development/mobile/androidenv/androidndk.nix @@ -32,9 +32,6 @@ stdenv.mkDerivation rec { ]) + ":${platformTools}/platform-tools"; in '' mkdir -pv $out/libexec - mkdir -pv $out/lib64 - ln -s ${ncurses5.out}/lib/libncursesw.so.5 $out/lib64/libtinfo.so.5 - ln -s ${ncurses5.out}/lib/libncurses.so.5 $out/lib64/libncurses.so.5 cd $out/libexec 7z x $src @@ -58,11 +55,11 @@ stdenv.mkDerivation rec { } cd ${pkg_path} - find $out \( \ + find ${pkg_path}/toolchains \( \ \( -type f -a -name "*.so*" \) -o \ \( -type f -a -perm -0100 \) \ \) -exec patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-*so.? \ - --set-rpath $out/lib64:${stdenv.lib.makeLibraryPath [ libcxx.out zlib.out ncurses5 ]} {} \; + --set-rpath ${stdenv.lib.makeLibraryPath [ libcxx zlib ncurses5 ]} {} \; # fix ineffective PROGDIR / MYNDKDIR determination for i in ndk-build ${lib.optionalString (version == "10e") "ndk-gdb ndk-gdb-py"} do diff --git a/pkgs/development/mobile/androidenv/androidndk_r8e.nix b/pkgs/development/mobile/androidenv/androidndk_r8e.nix index 3b5da19da9e1..4aeaaf039279 100644 --- a/pkgs/development/mobile/androidenv/androidndk_r8e.nix +++ b/pkgs/development/mobile/androidenv/androidndk_r8e.nix @@ -49,7 +49,7 @@ stdenv.mkDerivation rec { -d $out/libexec/${name} < ${ ./make-standalone-toolchain_r8e.patch } cd ${pkg_path} - find $out \( \ + find ${pkg_path}/toolchains \( \ \( -type f -a -name "*.so*" \) -o \ \( -type f -a -perm -0100 \) \ \) -exec patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-*so.? \ From a7fc8ad140fdc95742b7a09e9e919ffc98112645 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Fri, 22 Jun 2018 16:40:19 -0400 Subject: [PATCH 2/4] androidndk: use unzip This is a free version and preferred to 7zip. --- pkgs/development/mobile/androidenv/androidndk.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/mobile/androidenv/androidndk.nix b/pkgs/development/mobile/androidenv/androidndk.nix index 7550830a4efd..3f9e53089c18 100644 --- a/pkgs/development/mobile/androidenv/androidndk.nix +++ b/pkgs/development/mobile/androidenv/androidndk.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, zlib, ncurses5, p7zip, lib, makeWrapper +{ stdenv, fetchurl, zlib, ncurses5, unzip, lib, makeWrapper , coreutils, file, findutils, gawk, gnugrep, gnused, jdk, which , platformTools, python3, libcxx, version, sha256 }: @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { phases = "buildPhase"; - nativeBuildInputs = [ p7zip makeWrapper file ]; + nativeBuildInputs = [ unzip makeWrapper file ]; buildCommand = let bin_path = "$out/bin"; @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { in '' mkdir -pv $out/libexec cd $out/libexec - 7z x $src + unzip -qq $src patchShebangs ${pkg_path} From 054656a2fca813cfcd3da5692c080ddfa610b41f Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Fri, 22 Jun 2018 16:47:07 -0400 Subject: [PATCH 3/4] androidndk: reduce output sizw Fixes #41704 --- pkgs/development/mobile/androidenv/androidndk.nix | 5 +++++ pkgs/development/mobile/androidenv/androidndk_r8e.nix | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/pkgs/development/mobile/androidenv/androidndk.nix b/pkgs/development/mobile/androidenv/androidndk.nix index 3f9e53089c18..cc46c1b2b99c 100644 --- a/pkgs/development/mobile/androidenv/androidndk.nix +++ b/pkgs/development/mobile/androidenv/androidndk.nix @@ -35,6 +35,11 @@ stdenv.mkDerivation rec { cd $out/libexec unzip -qq $src + # Steps to reduce output size + rm -rf docs sources tests + # We only support cross compiling with gcc for now + rm -rf toolchains/*-clang* toolchains/llvm-* + patchShebangs ${pkg_path} # so that it doesn't fail because of read-only permissions set diff --git a/pkgs/development/mobile/androidenv/androidndk_r8e.nix b/pkgs/development/mobile/androidenv/androidndk_r8e.nix index 4aeaaf039279..44fa961b992f 100644 --- a/pkgs/development/mobile/androidenv/androidndk_r8e.nix +++ b/pkgs/development/mobile/androidenv/androidndk_r8e.nix @@ -49,6 +49,11 @@ stdenv.mkDerivation rec { -d $out/libexec/${name} < ${ ./make-standalone-toolchain_r8e.patch } cd ${pkg_path} + # Steps to reduce output size + rm -rf docs sources tests + # We only support cross compiling with gcc for now + rm -rf toolchains/*-clang* toolchains/llvm-* + find ${pkg_path}/toolchains \( \ \( -type f -a -name "*.so*" \) -o \ \( -type f -a -perm -0100 \) \ From 7b49d3b335a6dd5c1f10da2f68317d2777b2ad9f Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Fri, 22 Jun 2018 16:48:54 -0400 Subject: [PATCH 4/4] androidndk: fix eval --- pkgs/development/mobile/androidenv/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/mobile/androidenv/default.nix b/pkgs/development/mobile/androidenv/default.nix index d6d6b8a0cadc..fcd6752fcf0f 100644 --- a/pkgs/development/mobile/androidenv/default.nix +++ b/pkgs/development/mobile/androidenv/default.nix @@ -226,7 +226,7 @@ rec { androidndk_10e = import ./androidndk.nix { inherit (buildPackages) - p7zip makeWrapper; + unzip makeWrapper; inherit (pkgs) stdenv fetchurl zlib ncurses5 lib python3 libcxx coreutils file findutils gawk gnugrep gnused jdk which; @@ -237,7 +237,7 @@ rec { androidndk_16b = import ./androidndk.nix { inherit (buildPackages) - p7zip makeWrapper; + unzip makeWrapper; inherit (pkgs) stdenv fetchurl zlib ncurses5 lib python3 libcxx coreutils file findutils gawk gnugrep gnused jdk which; @@ -248,7 +248,7 @@ rec { androidndk = import ./androidndk.nix { inherit (buildPackages) - p7zip makeWrapper; + unzip makeWrapper; inherit (pkgs) stdenv fetchurl zlib ncurses5 lib python3 libcxx coreutils file findutils gawk gnugrep gnused jdk which;