summary refs log tree commit diff
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2018-06-22 10:21:43 -0400
committerMatthew Bauer <mjbauer95@gmail.com>2018-06-22 11:06:17 -0400
commitc8fd285c8d9f307c02baa0da0c3fab0182bdc6ea (patch)
tree6bbf251dabef7bd95397f7dc34a7843c3c3b1852
parentcf09ffe9aaf2a5bddf624a60c4542069c3ed8e7a (diff)
downloadnixpkgs-c8fd285c8d9f307c02baa0da0c3fab0182bdc6ea.tar
nixpkgs-c8fd285c8d9f307c02baa0da0c3fab0182bdc6ea.tar.gz
nixpkgs-c8fd285c8d9f307c02baa0da0c3fab0182bdc6ea.tar.bz2
nixpkgs-c8fd285c8d9f307c02baa0da0c3fab0182bdc6ea.tar.lz
nixpkgs-c8fd285c8d9f307c02baa0da0c3fab0182bdc6ea.tar.xz
nixpkgs-c8fd285c8d9f307c02baa0da0c3fab0182bdc6ea.tar.zst
nixpkgs-c8fd285c8d9f307c02baa0da0c3fab0182bdc6ea.zip
android: add ndkVer to resolve ndk ambiguity
It wasn’t exactly clear which NDK you were using previously. This adds
an attribute to system that handles what version of the NDK we should
use when building things.

/cc @Ericson2314
-rw-r--r--lib/systems/examples.nix5
-rw-r--r--pkgs/development/mobile/androidenv/androidndk-pkgs.nix2
-rw-r--r--pkgs/development/mobile/androidenv/default.nix12
-rw-r--r--pkgs/stdenv/cross/default.nix2
-rw-r--r--pkgs/top-level/all-packages.nix2
5 files changed, 14 insertions, 9 deletions
diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix
index 2d77a57fbe3..108996206a7 100644
--- a/lib/systems/examples.nix
+++ b/lib/systems/examples.nix
@@ -31,7 +31,8 @@ rec {
 
   armv5te-android-prebuilt = rec {
     config = "armv5tel-unknown-linux-androideabi";
-    sdkVer = "24";
+    sdkVer = "21";
+    ndkVer = "10e";
     platform = platforms.armv5te-android;
     useAndroidPrebuilt = true;
   };
@@ -39,6 +40,7 @@ rec {
   armv7a-android-prebuilt = rec {
     config = "armv7a-unknown-linux-androideabi";
     sdkVer = "24";
+    ndkVer = "17";
     platform = platforms.armv7a-android;
     useAndroidPrebuilt = true;
   };
@@ -46,6 +48,7 @@ rec {
   aarch64-android-prebuilt = rec {
     config = "aarch64-unknown-linux-android";
     sdkVer = "24";
+    ndkVer = "17";
     platform = platforms.aarch64-multiplatform;
     useAndroidPrebuilt = true;
   };
diff --git a/pkgs/development/mobile/androidenv/androidndk-pkgs.nix b/pkgs/development/mobile/androidenv/androidndk-pkgs.nix
index a0f684d37cc..5c42f7bc328 100644
--- a/pkgs/development/mobile/androidenv/androidndk-pkgs.nix
+++ b/pkgs/development/mobile/androidenv/androidndk-pkgs.nix
@@ -18,7 +18,7 @@ let
     "armv5tel-unknown-linux-androideabi" = {
       arch = "arm";
       triple = "arm-linux-androideabi";
-      gccVer = "4.9";
+      gccVer = "4.8";
     };
     "armv7a-unknown-linux-androideabi" = {
       arch = "arm";
diff --git a/pkgs/development/mobile/androidenv/default.nix b/pkgs/development/mobile/androidenv/default.nix
index d6d6b8a0cad..3e1f00d6ad5 100644
--- a/pkgs/development/mobile/androidenv/default.nix
+++ b/pkgs/development/mobile/androidenv/default.nix
@@ -246,7 +246,7 @@ rec {
     sha256 = "00frcnvpcsngv00p6l2vxj4cwi2mwcm9lnjvm3zv4wrp6pss9pmw";
   };
 
-  androidndk = import ./androidndk.nix {
+  androidndk_17 = import ./androidndk.nix {
     inherit (buildPackages)
       p7zip makeWrapper;
     inherit (pkgs)
@@ -256,6 +256,7 @@ rec {
     version = "17";
     sha256 = "1jj3zy958zsidywqd5nwdyrnr72rf9zhippkl8rbqxfy8wxq2gds";
   };
+  androidndk = androidndk_17;
 
   androidndk_r8e = import ./androidndk_r8e.nix {
     inherit (buildPackages)
@@ -276,7 +277,7 @@ rec {
     inherit androidsdk;
   };
 
-  androidndkPkgs = import ./androidndk-pkgs.nix {
+  androidndkPkgs_17 = import ./androidndk-pkgs.nix {
     inherit (buildPackages)
       makeWrapper;
     inherit (pkgs)
@@ -286,10 +287,11 @@ rec {
     # but for splicing messing up on infinite recursion for the variants we
     # *dont't* use. Using this workaround, but also making a test to ensure
     # these two really are the same.
-    buildAndroidndk = buildPackages.buildPackages.androidenv.androidndk;
-    inherit androidndk;
-    targetAndroidndkPkgs = targetPackages.androidenv.androidndkPkgs;
+    buildAndroidndk = buildPackages.buildPackages.androidenv.androidndk_17;
+    androidndk = androidndk_17;
+    targetAndroidndkPkgs = targetPackages.androidenv.androidndkPkgs_17;
   };
+  androidndkPkgs = androidndkPkgs_17;
 
   androidndkPkgs_10e = import ./androidndk-pkgs.nix {
     inherit (buildPackages)
diff --git a/pkgs/stdenv/cross/default.nix b/pkgs/stdenv/cross/default.nix
index 973be983186..ab42dd319a6 100644
--- a/pkgs/stdenv/cross/default.nix
+++ b/pkgs/stdenv/cross/default.nix
@@ -42,7 +42,7 @@ in lib.init bootStages ++ [
       cc = if crossSystem.useiOSPrebuilt or false
              then buildPackages.darwin.iosSdkPkgs.clang
            else if crossSystem.useAndroidPrebuilt
-             then buildPackages.androidenv.androidndkPkgs.gcc
+             then buildPackages.androidenv."androidndkPkgs_${crossSystem.ndkVer}".gcc
            else buildPackages.gcc;
     };
   })
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 47c8f1e5872..837995fb61a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -8695,7 +8695,7 @@ with pkgs;
 
   # TODO(@Ericson2314): Build bionic libc from source
   bionic = assert hostPlatform.useAndroidPrebuilt;
-    androidenv.androidndkPkgs.libraries;
+    androidenv."androidndkPkgs_${hostPlatform.ndkVer}".libraries;
 
   bobcat = callPackage ../development/libraries/bobcat { };