2024-04-04 18:50:39 +00:00
|
|
|
{ pkgs ? import <nixpkgs> { }
|
2024-05-15 15:09:15 +00:00
|
|
|
, android ? "https://github.com/tadfisher/android-nixpkgs/archive/refs/tags/2024-04-02.tar.gz"
|
2024-05-04 16:31:33 +00:00
|
|
|
, use_android ? true
|
|
|
|
, android_emulator ? false
|
|
|
|
}:
|
2022-11-30 19:57:06 +00:00
|
|
|
with pkgs;
|
2024-04-04 18:50:39 +00:00
|
|
|
|
2022-11-30 19:57:06 +00:00
|
|
|
let
|
2024-02-07 20:06:28 +00:00
|
|
|
x11libs = lib.makeLibraryPath [ xorg.libX11 xorg.libXcursor xorg.libXrandr xorg.libXi libglvnd vulkan-loader vulkan-validation-layers libxkbcommon ];
|
2024-04-04 18:50:39 +00:00
|
|
|
in
|
|
|
|
mkShell ({
|
|
|
|
nativeBuildInputs = [
|
|
|
|
#cargo-udeps
|
|
|
|
#cargo-edit
|
|
|
|
#cargo-watch
|
2024-04-11 21:35:02 +00:00
|
|
|
rustup
|
|
|
|
rustfmt
|
2024-04-04 18:50:39 +00:00
|
|
|
libiconv
|
|
|
|
pkg-config
|
|
|
|
#cmake
|
|
|
|
fontconfig
|
|
|
|
#brotli
|
|
|
|
#wabt
|
|
|
|
#gdb
|
|
|
|
#heaptrack
|
2024-05-15 15:09:15 +00:00
|
|
|
] ++ lib.optionals use_android [
|
2024-04-04 18:50:39 +00:00
|
|
|
jre
|
|
|
|
openssl
|
|
|
|
libiconv
|
|
|
|
cargo-apk
|
|
|
|
] ++ lib.optional stdenv.isDarwin [
|
|
|
|
darwin.apple_sdk.frameworks.Security
|
|
|
|
darwin.apple_sdk.frameworks.OpenGL
|
|
|
|
darwin.apple_sdk.frameworks.CoreServices
|
|
|
|
darwin.apple_sdk.frameworks.AppKit
|
|
|
|
];
|
2022-11-30 19:57:06 +00:00
|
|
|
|
2024-05-15 15:09:15 +00:00
|
|
|
} // (
|
|
|
|
lib.optionalAttrs (!stdenv.isDarwin) {
|
|
|
|
LD_LIBRARY_PATH = "${x11libs}";
|
|
|
|
}
|
|
|
|
) // (
|
|
|
|
lib.optionalAttrs use_android (
|
|
|
|
let
|
|
|
|
android-nixpkgs = callPackage (fetchTarball android) { };
|
|
|
|
ndk-version = "24.0.8215888";
|
|
|
|
|
|
|
|
android-sdk = android-nixpkgs.sdk (sdkPkgs: with sdkPkgs; [
|
|
|
|
cmdline-tools-latest
|
|
|
|
build-tools-34-0-0
|
|
|
|
platform-tools
|
|
|
|
platforms-android-30
|
|
|
|
ndk-24-0-8215888
|
|
|
|
] ++ lib.optional android_emulator [ emulator ]);
|
|
|
|
|
|
|
|
android-sdk-path = "${android-sdk.out}/share/android-sdk";
|
|
|
|
android-ndk-path = "${android-sdk-path}/ndk/${ndk-version}";
|
|
|
|
|
|
|
|
in
|
|
|
|
{
|
|
|
|
buildInputs = [ android-sdk ];
|
|
|
|
ANDROID_NDK_ROOT = android-ndk-path;
|
|
|
|
}
|
|
|
|
)
|
|
|
|
))
|