notedeck/shell.nix
0xb10c 433558509f add cargo-apk and aarch64-linux-android target
I tried the nix-shell and that's what was missing for me to build the
apk. The desktop app worked out of the box.

Closes: https://github.com/damus-io/android/pull/1
Reviewed-by: William Casarin <jb55@jb55.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2023-11-29 10:27:12 -08:00

35 lines
1.0 KiB
Nix

{ pkgs ? import <nixpkgs> {}, use_android ? true }:
with pkgs;
let
x11libs = lib.makeLibraryPath [ xorg.libX11 xorg.libXcursor xorg.libXrandr xorg.libXi libglvnd vulkan-loader vulkan-validation-layers ];
ndk-version = "24.0.8215888";
androidComposition = androidenv.composeAndroidPackages {
includeNDK = true;
ndkVersions = [ ndk-version ];
platformVersions = [ "28" "29" "30" ];
useGoogleAPIs = false;
#useGoogleTVAddOns = false;
#includeExtras = [
# "extras;google;gcm"
#];
};
androidsdk = androidComposition.androidsdk;
android-home = "${androidsdk}/libexec/android-sdk";
ndk-home = "${android-home}/ndk/${ndk-version}";
in
mkShell ({
nativeBuildInputs = [
cargo-udeps cargo-edit cargo-watch rustup rustfmt libiconv pkg-config cmake fontconfig
brotli wabt
heaptrack
] ++ pkgs.lib.optional use_android [ jre openssl libiconv androidsdk cargo-apk ] ;
LD_LIBRARY_PATH="${x11libs}";
} // (if !use_android then {} else {
ANDROID_HOME = android-home;
NDK_HOME = ndk-home;
}))