nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at devShellTools-shell 65 lines 2.2 kB view raw
1{ 2 lib, 3 androidenv, 4 buildPackages, 5 pkgs, 6 targetPackages, 7 androidndkPkgs_23, 8 config, 9}: 10 11let 12 makeNdkPkgs = 13 ndkVersion: llvmPackages: 14 let 15 buildAndroidComposition = buildPackages.buildPackages.androidenv.composeAndroidPackages { 16 includeNDK = true; 17 inherit ndkVersion; 18 }; 19 20 androidComposition = androidenv.composeAndroidPackages { 21 includeNDK = true; 22 inherit ndkVersion; 23 }; 24 majorVersion = lib.versions.major ndkVersion; 25 in 26 import ./androidndk-pkgs.nix { 27 inherit config lib; 28 inherit (buildPackages) 29 makeWrapper 30 autoPatchelfHook 31 ; 32 inherit (pkgs) 33 stdenv 34 runCommand 35 wrapBintoolsWith 36 wrapCCWith 37 ; 38 39 # For hardeningUnsupportedFlagsByTargetPlatform 40 inherit llvmPackages; 41 42 # buildPackages.foo rather than buildPackages.buildPackages.foo would work, 43 # but for splicing messing up on infinite recursion for the variants we 44 # *dont't* use. Using this workaround, but also making a test to ensure 45 # these two really are the same. 46 buildAndroidndk = buildAndroidComposition.ndk-bundle; 47 androidndk = androidComposition.ndk-bundle; 48 targetAndroidndkPkgs = 49 if targetPackages ? "androidndkPkgs_${majorVersion}" then 50 targetPackages."androidndkPkgs_${majorVersion}" 51 else 52 throw "androidndkPkgs_${majorVersion}: no targetPackages, use `buildPackages.androidndkPkgs_${majorVersion}"; 53 }; 54in 55 56lib.recurseIntoAttrs { 57 "21" = makeNdkPkgs "21.0.6113669" pkgs.llvmPackages_14; # "9" 58 "23" = makeNdkPkgs "23.1.7779620" pkgs.llvmPackages_14; # "12" 59 # Versions below 24 use a version not available in nixpkgs/old version which could be removed in the near future so use 14 for them as this is only used to get the hardening flags. 60 "24" = makeNdkPkgs "24.0.8215888" pkgs.llvmPackages_14; 61 "25" = makeNdkPkgs "25.2.9519653" pkgs.llvmPackages_14; 62 "26" = makeNdkPkgs "26.3.11579264" pkgs.llvmPackages_17; 63 "27" = makeNdkPkgs "27.0.12077973" pkgs.llvmPackages_18; 64 "28" = makeNdkPkgs "28.0.13004108" pkgs.llvmPackages_19; 65}