summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xnix/androidsdk-fixup.py (renamed from nix/android-shell-shellHook.py)6
-rw-r--r--nix/androidsdk.nix29
-rw-r--r--shell.nix13
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
+ '';
+}
diff --git a/shell.nix b/shell.nix
index d457038..412b6ac 100644
--- a/shell.nix
+++ b/shell.nix
@@ -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
- '';
}