status-go/nix/shell.nix
Siddarth Kumar 139484a2d5
chore_: bring in xcodewrapper nix derivation (#5473)
This commit brings in xcode-wrapper nix derivation and doesn't rely on the version in nixpkgs.

There is a fix for this in nixpkgs here -> https://github.com/NixOS/nixpkgs/pull/324248
We can remove this derivation when this fix is available and backported to a release we use.

Fixes the following issue :

```
Running phase: unpackPhase
unpacking source archive /nix/store/6pgidabd04p8ggj76j7z948i0dskvd74-source
error: builder for '/nix/store/81hpb4179zgsr5hrw3m8f92bbs8a36fa-xcode-wrapper-plus-14.3.drv'
failed with exit code 141
error (ignored): error: cannot unlink
'"/private/tmp/nix-build-golangci-lint-1.54.0.drv-9/source/test/testdata"': Directory not empty
error: build of '/nix/store/81hpb4179zgsr5hrw3m8f92bbs8a36fa-xcode-wrapper-plus-14.3.drv',
'/nix/store/ahpl1sjw5g633kdcwafz2jjcc5rxz5i3-golangci-lint-1.54.0.drv',
'/nix/store/h3sj6grz66svlr9rg8w5grkl91x64pk6-gomobile-unstable-2022-05-18.drv',
'/nix/store/jp500nsqmm7wg3ch6lkp07lf5fg5lixs-go-modvendor-0.5.0.drv',
'/nix/store/p06sr4p6fb01b55pkkbk68cvfhszr891-cc-test-reporter-0.11.1.drv' failed
make: *** [shell] Error 1
```
2024-07-04 16:37:05 +05:30

39 lines
1.2 KiB
Nix

{ config ? {}
, pkgs ? import ./pkgs.nix { inherit config; } }:
let
inherit (pkgs) lib stdenv callPackage;
/* No Android SDK for Darwin aarch64. */
isMacM1 = stdenv.isDarwin && stdenv.isAarch64;
/* Lock requires Xcode verison. */
xcodeWrapper = callPackage ./pkgs/xcodeenv/compose-xcodewrapper.nix { } {
versions = ["14.3" "15.1" "15.2" "15.3" "15.4"];
};
/* 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
mockgen protobuf3_20 protoc-gen-go gotestsum go-modvendor openjdk cc-test-reporter
] ++ 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;
}