2023-11-23 14:55:13 +00:00
|
|
|
{ config ? {}
|
|
|
|
, pkgs ? import ./pkgs.nix { inherit config; } }:
|
|
|
|
|
|
|
|
let
|
|
|
|
inherit (pkgs) lib stdenv;
|
|
|
|
/* No Android SDK for Darwin aarch64. */
|
|
|
|
isMacM1 = stdenv.isDarwin && stdenv.isAarch64;
|
|
|
|
/* Lock requires Xcode verison. */
|
|
|
|
xcodeWrapper = pkgs.xcodeenv.composeXcodeWrapper {
|
|
|
|
version = "14.3";
|
|
|
|
allowHigher = true;
|
|
|
|
};
|
|
|
|
/* Gomobile also needs the Xcode wrapper. */
|
|
|
|
gomobileMod = pkgs.gomobile.override {
|
|
|
|
inherit xcodeWrapper;
|
|
|
|
withAndroidPkgs = !isMacM1;
|
|
|
|
};
|
|
|
|
in pkgs.mkShell {
|
|
|
|
name = "status-go-shell";
|
|
|
|
|
|
|
|
buildInputs = with pkgs; [
|
|
|
|
git jq which
|
|
|
|
go golangci-lint go-junit-report gopls go-bindata gomobileMod
|
2024-05-08 08:25:01 +00:00
|
|
|
mockgen protobuf3_20 protoc-gen-go gotestsum go-modvendor openjdk cc-test-reporter
|
2023-11-23 14:55:13 +00:00
|
|
|
] ++ lib.optionals (stdenv.isDarwin) [ xcodeWrapper ];
|
|
|
|
|
|
|
|
shellHook = lib.optionalString (!isMacM1) ''
|
|
|
|
ANDROID_HOME=${pkgs.androidPkgs.androidsdk}/libexec/android-sdk
|
|
|
|
ANDROID_NDK=$ANDROID_HOME/ndk-bundle
|
|
|
|
ANDROID_SDK_ROOT=$ANDROID_HOME
|
|
|
|
ANDROID_NDK_HOME=$ANDROID_NDK
|
|
|
|
'';
|
|
|
|
# Sandbox causes Xcode issues on MacOS. Requires sandbox=relaxed.
|
|
|
|
# https://github.com/status-im/status-mobile/pull/13912
|
|
|
|
__noChroot = stdenv.isDarwin;
|
|
|
|
}
|
|
|
|
|