Merge pull request #319139 from NyCodeGHG/android-ndks
android-ndks: add 25, 26 ndks, update default ndk and sdk
This commit is contained in:
commit
2cfac74be5
@ -60,23 +60,23 @@ rec {
|
||||
armv7a-android-prebuilt = {
|
||||
config = "armv7a-unknown-linux-androideabi";
|
||||
rust.rustcTarget = "armv7-linux-androideabi";
|
||||
sdkVer = "28";
|
||||
ndkVer = "24";
|
||||
sdkVer = "33";
|
||||
ndkVer = "26";
|
||||
useAndroidPrebuilt = true;
|
||||
} // platforms.armv7a-android;
|
||||
|
||||
aarch64-android-prebuilt = {
|
||||
config = "aarch64-unknown-linux-android";
|
||||
rust.rustcTarget = "aarch64-linux-android";
|
||||
sdkVer = "28";
|
||||
ndkVer = "24";
|
||||
sdkVer = "33";
|
||||
ndkVer = "26";
|
||||
useAndroidPrebuilt = true;
|
||||
};
|
||||
|
||||
aarch64-android = {
|
||||
config = "aarch64-unknown-linux-android";
|
||||
sdkVer = "30";
|
||||
ndkVer = "24";
|
||||
sdkVer = "33";
|
||||
ndkVer = "26";
|
||||
libc = "bionic";
|
||||
useAndroidPrebuilt = false;
|
||||
useLLVM = true;
|
||||
|
@ -75,6 +75,10 @@
|
||||
before changing the package to `pkgs.stalwart-mail` in
|
||||
[`services.stalwart-mail.package`](#opt-services.stalwart-mail.package).
|
||||
|
||||
- `androidndkPkgs` has been updated to `androidndkPkgs_26`.
|
||||
|
||||
- Android NDK version 26 and SDK version 33 are now the default versions used for cross compilation to android.
|
||||
|
||||
- `haskell.lib.compose.justStaticExecutables` now disallows references to GHC in the
|
||||
output by default, to alert users to closure size issues caused by
|
||||
[#164630](https://github.com/NixOS/nixpkgs/issues/164630). See ["Packaging
|
||||
|
@ -1,95 +1,41 @@
|
||||
{ lib, androidenv, buildPackages, pkgs, targetPackages
|
||||
}:
|
||||
|
||||
let
|
||||
makeNdkPkgs = ndkVersion:
|
||||
let
|
||||
buildAndroidComposition = buildPackages.buildPackages.androidenv.composeAndroidPackages {
|
||||
includeNDK = true;
|
||||
inherit ndkVersion;
|
||||
};
|
||||
|
||||
androidComposition = androidenv.composeAndroidPackages {
|
||||
includeNDK = true;
|
||||
inherit ndkVersion;
|
||||
};
|
||||
majorVersion = lib.versions.major ndkVersion;
|
||||
in
|
||||
import ./androidndk-pkgs.nix {
|
||||
inherit lib;
|
||||
inherit (buildPackages)
|
||||
makeWrapper autoPatchelfHook;
|
||||
inherit (pkgs)
|
||||
stdenv
|
||||
runCommand wrapBintoolsWith wrapCCWith;
|
||||
# buildPackages.foo rather than buildPackages.buildPackages.foo would work,
|
||||
# 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 = buildAndroidComposition.ndk-bundle;
|
||||
androidndk = androidComposition.ndk-bundle;
|
||||
targetAndroidndkPkgs = if targetPackages ? "androidndkPkgs_${majorVersion}" then targetPackages."androidndkPkgs_${majorVersion}" else throw "androidndkPkgs_${majorVersion}: no targetPackages, use `buildPackages.androidndkPkgs_${majorVersion}";
|
||||
};
|
||||
in
|
||||
|
||||
{
|
||||
"21" =
|
||||
let
|
||||
ndkVersion = "21.0.6113669";
|
||||
|
||||
buildAndroidComposition = buildPackages.buildPackages.androidenv.composeAndroidPackages {
|
||||
includeNDK = true;
|
||||
inherit ndkVersion;
|
||||
};
|
||||
|
||||
androidComposition = androidenv.composeAndroidPackages {
|
||||
includeNDK = true;
|
||||
inherit ndkVersion;
|
||||
};
|
||||
in
|
||||
import ./androidndk-pkgs.nix {
|
||||
inherit lib;
|
||||
inherit (buildPackages)
|
||||
makeWrapper autoPatchelfHook;
|
||||
inherit (pkgs)
|
||||
stdenv
|
||||
runCommand wrapBintoolsWith wrapCCWith;
|
||||
# buildPackages.foo rather than buildPackages.buildPackages.foo would work,
|
||||
# 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 = buildAndroidComposition.ndk-bundle;
|
||||
androidndk = androidComposition.ndk-bundle;
|
||||
targetAndroidndkPkgs = if targetPackages ? androidndkPkgs_21 then targetPackages.androidndkPkgs_21 else throw "androidndkPkgs_21: no targetPackages, use `buildPackages.androidndkPkgs_21";
|
||||
};
|
||||
|
||||
"23b" =
|
||||
let
|
||||
ndkVersion = "23.1.7779620";
|
||||
|
||||
buildAndroidComposition = buildPackages.buildPackages.androidenv.composeAndroidPackages {
|
||||
includeNDK = true;
|
||||
inherit ndkVersion;
|
||||
};
|
||||
|
||||
androidComposition = androidenv.composeAndroidPackages {
|
||||
includeNDK = true;
|
||||
inherit ndkVersion;
|
||||
};
|
||||
in
|
||||
import ./androidndk-pkgs.nix {
|
||||
inherit lib;
|
||||
inherit (buildPackages)
|
||||
makeWrapper autoPatchelfHook;
|
||||
inherit (pkgs)
|
||||
stdenv
|
||||
runCommand wrapBintoolsWith wrapCCWith;
|
||||
# buildPackages.foo rather than buildPackages.buildPackages.foo would work,
|
||||
# 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 = buildAndroidComposition.ndk-bundle;
|
||||
androidndk = androidComposition.ndk-bundle;
|
||||
targetAndroidndkPkgs = if targetPackages ? androidndkPkgs_23b then targetPackages.androidndkPkgs_23b else throw "androidndkPkgs_23b: no targetPackages, use `buildPackages.androidndkPkgs_23b";
|
||||
};
|
||||
|
||||
"24" =
|
||||
let
|
||||
ndkVersion = "24.0.8215888";
|
||||
|
||||
buildAndroidComposition = buildPackages.buildPackages.androidenv.composeAndroidPackages {
|
||||
includeNDK = true;
|
||||
inherit ndkVersion;
|
||||
};
|
||||
|
||||
androidComposition = androidenv.composeAndroidPackages {
|
||||
includeNDK = true;
|
||||
inherit ndkVersion;
|
||||
};
|
||||
in
|
||||
import ./androidndk-pkgs.nix {
|
||||
inherit lib;
|
||||
inherit (buildPackages)
|
||||
makeWrapper autoPatchelfHook;
|
||||
inherit (pkgs)
|
||||
stdenv
|
||||
runCommand wrapBintoolsWith wrapCCWith;
|
||||
# buildPackages.foo rather than buildPackages.buildPackages.foo would work,
|
||||
# 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 = buildAndroidComposition.ndk-bundle;
|
||||
androidndk = androidComposition.ndk-bundle;
|
||||
targetAndroidndkPkgs = if targetPackages ? androidndkPkgs_24 then targetPackages.androidndkPkgs_24 else throw "androidndkPkgs_24: no targetPackages, use `buildPackages.androidndkPkgs_24";
|
||||
};
|
||||
|
||||
"21" = makeNdkPkgs "21.0.6113669";
|
||||
"23b" = makeNdkPkgs "23.1.7779620";
|
||||
"24" = makeNdkPkgs "24.0.8215888";
|
||||
"25" = makeNdkPkgs "25.2.9519653";
|
||||
"26" = makeNdkPkgs "26.3.11579264";
|
||||
}
|
||||
|
@ -4070,10 +4070,12 @@ with pkgs;
|
||||
|
||||
androidenv = callPackage ../development/mobile/androidenv { };
|
||||
|
||||
androidndkPkgs = androidndkPkgs_21;
|
||||
androidndkPkgs = androidndkPkgs_26;
|
||||
androidndkPkgs_21 = (callPackage ../development/androidndk-pkgs {})."21";
|
||||
androidndkPkgs_23b = (callPackage ../development/androidndk-pkgs {})."23b";
|
||||
androidndkPkgs_24 = (callPackage ../development/androidndk-pkgs {})."24";
|
||||
androidndkPkgs_25 = (callPackage ../development/androidndk-pkgs {})."25";
|
||||
androidndkPkgs_26 = (callPackage ../development/androidndk-pkgs {})."26";
|
||||
|
||||
androidsdk = androidenv.androidPkgs.androidsdk;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user