diff options
-rw-r--r-- | lib/systems/examples.nix | 12 | ||||
-rw-r--r-- | nixos/doc/manual/release-notes/rl-2411.section.md | 4 | ||||
-rw-r--r-- | pkgs/development/androidndk-pkgs/default.nix | 76 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 4 |
4 files changed, 24 insertions, 72 deletions
diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix index 6a9427b2d9de7..7e50266748434 100644 --- a/lib/systems/examples.nix +++ b/lib/systems/examples.nix @@ -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; diff --git a/nixos/doc/manual/release-notes/rl-2411.section.md b/nixos/doc/manual/release-notes/rl-2411.section.md index 68cf867975f66..2a979a1e14e77 100644 --- a/nixos/doc/manual/release-notes/rl-2411.section.md +++ b/nixos/doc/manual/release-notes/rl-2411.section.md @@ -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 diff --git a/pkgs/development/androidndk-pkgs/default.nix b/pkgs/development/androidndk-pkgs/default.nix index 8aa7eefe4215e..b11776acebf59 100644 --- a/pkgs/development/androidndk-pkgs/default.nix +++ b/pkgs/development/androidndk-pkgs/default.nix @@ -1,41 +1,9 @@ { lib, androidenv, buildPackages, pkgs, targetPackages }: -{ - "21" = +let + makeNdkPkgs = ndkVersion: 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; @@ -45,6 +13,7 @@ includeNDK = true; inherit ndkVersion; }; + majorVersion = lib.versions.major ndkVersion; in import ./androidndk-pkgs.nix { inherit lib; @@ -59,37 +28,14 @@ # 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"; + targetAndroidndkPkgs = if targetPackages ? "androidndkPkgs_${majorVersion}" then targetPackages."androidndkPkgs_${majorVersion}" else throw "androidndkPkgs_${majorVersion}: no targetPackages, use `buildPackages.androidndkPkgs_${majorVersion}"; }; +in +{ + "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"; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a4899646b82cb..ae15165165ff2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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; |