11{ pkgs ? import <nixpkgs> { }
2- , android ? fetchTarball "https://github.com/tadfisher/android-nixpkgs/archive/refs/tags/2024-04-02.tar.gz"
2+ , android ? "https://github.com/tadfisher/android-nixpkgs/archive/refs/tags/2024-04-02.tar.gz"
33, use_android ? true
44, android_emulator ? false
55} :
66with pkgs ;
77
88let
99 x11libs = lib . makeLibraryPath [ xorg . libX11 xorg . libXcursor xorg . libXrandr xorg . libXi libglvnd vulkan-loader vulkan-validation-layers libxkbcommon ] ;
10- android-nixpkgs = callPackage android { } ;
11- ndk-version = "24.0.8215888" ;
12-
13- android-sdk = android-nixpkgs . sdk ( sdkPkgs : with sdkPkgs ; [
14- cmdline-tools-latest
15- build-tools-34-0-0
16- platform-tools
17- platforms-android-30
18- ndk-24-0-8215888
19- ] ++ lib . optional android_emulator [ emulator ] ) ;
20-
21- android-sdk-path = "${ android-sdk . out } /share/android-sdk" ;
22- android-ndk-path = "${ android-sdk-path } /ndk/${ ndk-version } " ;
23-
2410in
2511mkShell ( {
26- buildInputs = [ ] ++ pkgs . lib . optional use_android [
27- android-sdk
28- ] ;
2912 nativeBuildInputs = [
3013 #cargo-udeps
3114 #cargo-edit
@@ -40,7 +23,7 @@ mkShell ({
4023 #wabt
4124 #gdb
4225 #heaptrack
43- ] ++ lib . optional use_android [
26+ ] ++ lib . optionals use_android [
4427 jre
4528 openssl
4629 libiconv
@@ -52,7 +35,31 @@ mkShell ({
5235 darwin . apple_sdk . frameworks . AppKit
5336 ] ;
5437
55- ANDROID_NDK_ROOT = android-ndk-path ;
56- } // ( if ! stdenv . isDarwin then {
57- LD_LIBRARY_PATH = "${ x11libs } " ;
58- } else { } ) )
38+ } // (
39+ lib . optionalAttrs ( ! stdenv . isDarwin ) {
40+ LD_LIBRARY_PATH = "${ x11libs } " ;
41+ }
42+ ) // (
43+ lib . optionalAttrs use_android (
44+ let
45+ android-nixpkgs = callPackage ( fetchTarball android ) { } ;
46+ ndk-version = "24.0.8215888" ;
47+
48+ android-sdk = android-nixpkgs . sdk ( sdkPkgs : with sdkPkgs ; [
49+ cmdline-tools-latest
50+ build-tools-34-0-0
51+ platform-tools
52+ platforms-android-30
53+ ndk-24-0-8215888
54+ ] ++ lib . optional android_emulator [ emulator ] ) ;
55+
56+ android-sdk-path = "${ android-sdk . out } /share/android-sdk" ;
57+ android-ndk-path = "${ android-sdk-path } /ndk/${ ndk-version } " ;
58+
59+ in
60+ {
61+ buildInputs = [ android-sdk ] ;
62+ ANDROID_NDK_ROOT = android-ndk-path ;
63+ }
64+ )
65+ ) )
0 commit comments