|
1 |
| -{ pkgs ? import <nixpkgs> { } |
2 |
| -, android ? "https://github.com/tadfisher/android-nixpkgs/archive/refs/tags/2024-04-02.tar.gz" |
| 1 | +{ android ? "https://github.com/tadfisher/android-nixpkgs/archive/refs/tags/2024-04-02.tar.gz" |
3 | 2 | , use_android ? true
|
4 | 3 | , android_emulator ? false
|
5 | 4 | }:
|
6 |
| -with pkgs; |
| 5 | +with import <nixpkgs> |
| 6 | +{ |
| 7 | + overlays = [ |
| 8 | + (import (builtins.fetchTarball { |
| 9 | + url = "https://github.com/oxalica/rust-overlay/archive/master.tar.gz"; |
| 10 | + })) |
| 11 | + ]; |
| 12 | + config = { |
| 13 | + android_sdk.accept_license = use_android; |
| 14 | + allowUnfree = use_android; |
| 15 | + }; |
| 16 | +}; |
7 | 17 |
|
8 | 18 | let
|
9 | 19 | x11libs = lib.makeLibraryPath [ xorg.libX11 xorg.libXcursor xorg.libXrandr xorg.libXi libglvnd vulkan-loader vulkan-validation-layers libxkbcommon ];
|
| 20 | + rustc = (rust-bin.fromRustupToolchainFile ./rust-toolchain).override { |
| 21 | + targets = [ ] ++ |
| 22 | + (lib.optionals (stdenv.isLinux && use_android) [ |
| 23 | + "aarch64-linux-android" |
| 24 | + ]) ++ |
| 25 | + (lib.optionals (stdenv.isLinux && stdenv.isx86_64 && use_android && android_emulator) [ |
| 26 | + "x86_64-linux-android" |
| 27 | + ]) ++ |
| 28 | + (lib.optionals (stdenv.isLinux && stdenv.isx86_64) [ |
| 29 | + "x86_64-unknown-linux-gnu" |
| 30 | + ]) ++ |
| 31 | + (lib.optionals stdenv.isDarwin [ |
| 32 | + # TODO |
| 33 | + ]); |
| 34 | + }; |
10 | 35 | in
|
11 | 36 | mkShell ({
|
12 | 37 | nativeBuildInputs = [
|
| 38 | + rustc |
13 | 39 | #cargo-udeps
|
14 | 40 | #cargo-edit
|
15 | 41 | #cargo-watch
|
16 |
| - rustup |
17 |
| - rustfmt |
| 42 | + # rustup |
| 43 | + # rustfmt |
18 | 44 | libiconv
|
19 | 45 | pkg-config
|
20 | 46 | #cmake
|
@@ -45,13 +71,17 @@ mkShell ({
|
45 | 71 | android-nixpkgs = callPackage (fetchTarball android) { };
|
46 | 72 | ndk-version = "24.0.8215888";
|
47 | 73 |
|
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 ]); |
| 74 | + android-sdk = android-nixpkgs.sdk |
| 75 | + (sdkPkgs: with sdkPkgs; [ |
| 76 | + cmdline-tools-latest |
| 77 | + build-tools-34-0-0 |
| 78 | + platform-tools |
| 79 | + platforms-android-30 |
| 80 | + ndk-24-0-8215888 |
| 81 | + ] ++ |
| 82 | + (lib.optionals android_emulator [ emulator ]) ++ |
| 83 | + (lib.optionals (android_emulator && stdenv.isx86_64) [ system-images-android-34-google-apis-x86-64 ]) ++ |
| 84 | + (lib.optionals (android_emulator && !stdenv.isx86_64) [ system-images-android-34-google-apis-arm64-v8a ])); |
55 | 85 |
|
56 | 86 | android-sdk-path = "${android-sdk.out}/share/android-sdk";
|
57 | 87 | android-ndk-path = "${android-sdk-path}/ndk/${ndk-version}";
|
|
0 commit comments