diff options
-rwxr-xr-x | nix/androidsdk-fixup.py (renamed from nix/android-shell-shellHook.py) | 6 | ||||
-rw-r--r-- | nix/androidsdk.nix | 29 | ||||
-rw-r--r-- | shell.nix | 13 |
3 files changed, 36 insertions, 12 deletions
diff --git a/nix/android-shell-shellHook.py b/nix/androidsdk-fixup.py index 53a542b..ab419e6 100755 --- a/nix/android-shell-shellHook.py +++ b/nix/androidsdk-fixup.py @@ -2,8 +2,10 @@ import sys, os, shutil -BUILD_TOOLS_PATH = sys.argv[1] -PLATFORMS_PATH = sys.argv[2] +ANDROIDSDK_PATH = sys.argv[1] +BUILD_TOOLS_PATH = f'{ANDROIDSDK_PATH}/build-tools' +PLATFORMS_PATH = f'{ANDROIDSDK_PATH}/platforms' + BUILD_TOOLS = [os.path.join(BUILD_TOOLS_PATH, filename) for filename in os.listdir(BUILD_TOOLS_PATH)] PLATFORMS = [os.path.join(PLATFORMS_PATH, filename) for filename in os.listdir(PLATFORMS_PATH)] diff --git a/nix/androidsdk.nix b/nix/androidsdk.nix new file mode 100644 index 0000000..cf1ea04 --- /dev/null +++ b/nix/androidsdk.nix @@ -0,0 +1,29 @@ +with (import <nixpkgs> {}); +let + android-composition = import ./android-composition.nix; +in +stdenv.mkDerivation { + name = "androidsdk"; + + buildInputs = [ + python3Full + ]; + + src = "${android-composition.androidsdk}"; + + dontUnpack = true; + + buildPhase = '' + buildDir=$PWD/android-composition + mkdir $buildDir + + cp -r $src/* $buildDir + + chmod -R +w "$buildDir/libexec/android-sdk" + python ${./androidsdk-fixup.py} "$buildDir/libexec/android-sdk" + ''; + + installPhase = '' + cp -r $buildDir $out + ''; +} @@ -1,26 +1,19 @@ with (import <nixpkgs> {}); let jdk = jdk11; - android-composition = import ./nix/android-composition.nix; + androidsdk = import ./nix/androidsdk.nix; in mkShell rec { name = "android-shell"; buildInputs = [ - python3Full gnumake jdk - android-composition.androidsdk + androidsdk bazel_4 ]; JAVA_HOME = jdk.home; - ANDROID_SDK_ROOT = "${android-composition.androidsdk}/libexec/android-sdk"; - ANDROID_NDK_ROOT = "${ANDROID_SDK_ROOT}/ndk-bundle"; + ANDROID_SDK_ROOT = "${androidsdk}/libexec/android-sdk"; ANDROID_HOME = "${ANDROID_SDK_ROOT}"; - - shellHook = '' - # TODO: replace with nix builtins - python ./nix/android-shell-shellHook.py ${ANDROID_HOME}/build-tools ${ANDROID_HOME}/platforms - ''; } |