mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-14 14:10:33 +03:00
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
4 changed files with 49 additions and 97 deletions
|
@ -60,23 +60,23 @@ rec {
|
||||||
armv7a-android-prebuilt = {
|
armv7a-android-prebuilt = {
|
||||||
config = "armv7a-unknown-linux-androideabi";
|
config = "armv7a-unknown-linux-androideabi";
|
||||||
rust.rustcTarget = "armv7-linux-androideabi";
|
rust.rustcTarget = "armv7-linux-androideabi";
|
||||||
sdkVer = "28";
|
sdkVer = "33";
|
||||||
ndkVer = "24";
|
ndkVer = "26";
|
||||||
useAndroidPrebuilt = true;
|
useAndroidPrebuilt = true;
|
||||||
} // platforms.armv7a-android;
|
} // platforms.armv7a-android;
|
||||||
|
|
||||||
aarch64-android-prebuilt = {
|
aarch64-android-prebuilt = {
|
||||||
config = "aarch64-unknown-linux-android";
|
config = "aarch64-unknown-linux-android";
|
||||||
rust.rustcTarget = "aarch64-linux-android";
|
rust.rustcTarget = "aarch64-linux-android";
|
||||||
sdkVer = "28";
|
sdkVer = "33";
|
||||||
ndkVer = "24";
|
ndkVer = "26";
|
||||||
useAndroidPrebuilt = true;
|
useAndroidPrebuilt = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
aarch64-android = {
|
aarch64-android = {
|
||||||
config = "aarch64-unknown-linux-android";
|
config = "aarch64-unknown-linux-android";
|
||||||
sdkVer = "30";
|
sdkVer = "33";
|
||||||
ndkVer = "24";
|
ndkVer = "26";
|
||||||
libc = "bionic";
|
libc = "bionic";
|
||||||
useAndroidPrebuilt = false;
|
useAndroidPrebuilt = false;
|
||||||
useLLVM = true;
|
useLLVM = true;
|
||||||
|
|
|
@ -75,6 +75,10 @@
|
||||||
before changing the package to `pkgs.stalwart-mail` in
|
before changing the package to `pkgs.stalwart-mail` in
|
||||||
[`services.stalwart-mail.package`](#opt-services.stalwart-mail.package).
|
[`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
|
- `haskell.lib.compose.justStaticExecutables` now disallows references to GHC in the
|
||||||
output by default, to alert users to closure size issues caused by
|
output by default, to alert users to closure size issues caused by
|
||||||
[#164630](https://github.com/NixOS/nixpkgs/issues/164630). See ["Packaging
|
[#164630](https://github.com/NixOS/nixpkgs/issues/164630). See ["Packaging
|
||||||
|
|
|
@ -1,95 +1,41 @@
|
||||||
{ lib, androidenv, buildPackages, pkgs, targetPackages
|
{ 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" =
|
"21" = makeNdkPkgs "21.0.6113669";
|
||||||
let
|
"23b" = makeNdkPkgs "23.1.7779620";
|
||||||
ndkVersion = "21.0.6113669";
|
"24" = makeNdkPkgs "24.0.8215888";
|
||||||
|
"25" = makeNdkPkgs "25.2.9519653";
|
||||||
buildAndroidComposition = buildPackages.buildPackages.androidenv.composeAndroidPackages {
|
"26" = makeNdkPkgs "26.3.11579264";
|
||||||
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";
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4070,10 +4070,12 @@ with pkgs;
|
||||||
|
|
||||||
androidenv = callPackage ../development/mobile/androidenv { };
|
androidenv = callPackage ../development/mobile/androidenv { };
|
||||||
|
|
||||||
androidndkPkgs = androidndkPkgs_21;
|
androidndkPkgs = androidndkPkgs_26;
|
||||||
androidndkPkgs_21 = (callPackage ../development/androidndk-pkgs {})."21";
|
androidndkPkgs_21 = (callPackage ../development/androidndk-pkgs {})."21";
|
||||||
androidndkPkgs_23b = (callPackage ../development/androidndk-pkgs {})."23b";
|
androidndkPkgs_23b = (callPackage ../development/androidndk-pkgs {})."23b";
|
||||||
androidndkPkgs_24 = (callPackage ../development/androidndk-pkgs {})."24";
|
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;
|
androidsdk = androidenv.androidPkgs.androidsdk;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue