-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.nix
More file actions
75 lines (72 loc) · 1.89 KB
/
Copy pathpackage.nix
File metadata and controls
75 lines (72 loc) · 1.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
{
pkgs,
inputs,
lib,
...
}:
let
android-sdk = inputs.android-nixpkgs.sdk.${pkgs.stdenv.hostPlatform.system} (
sdkPkgs: with sdkPkgs; [
build-tools-36-0-0
cmdline-tools-latest
platform-tools
platforms-android-36
]
);
gradle-init-script =
(import inputs.gradle-dot-nix {
inherit pkgs;
gradle-verification-metadata-file = ./verification-metadata.xml;
}).gradle-init;
in
pkgs.stdenv.mkDerivation (finalAttrs: {
name = "smouldering_durtles-${finalAttrs.version}.apk";
version = "1.2.8";
src = pkgs.fetchFromGitHub {
owner = "jerryhcooke";
repo = "smouldering_durtles";
tag = "v${finalAttrs.version}";
hash = "sha256-OQuZA7SuKSRe8fP/0useLp0HVHp5aXlFvwx18nOkfX4=";
};
JDK_HOME = "${pkgs.jdk21.home}";
ANDROID_HOME = "${android-sdk}/share/android-sdk";
nativeBuildInputs = [
android-sdk
pkgs.gradle_9
pkgs.jdk21
];
buildPhase = ''
gradle assembleRelease --info -I ${gradle-init-script} \
--offline --no-daemon --full-stacktrace \
-Dorg.gradle.project.android.aapt2FromMavenOverride=$ANDROID_HOME/build-tools/36.0.0/aapt2
'';
installPhase = ''
cp app/build/outputs/apk/release/app-release.apk $out
'';
passthru.tests.meta = lib.verifyApkMeta {
apk = finalAttrs.finalPackage;
sdk = android-sdk;
};
meta = {
description = "Wanikani Android Client - japanese kanji learning platform";
homepage = "https://github.com/jerryhcooke/smouldering_durtles";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ osbm ];
android = {
minSdk = 21;
targetSdk = 36;
applicationId = "com.smouldering_durtles.wk";
versionCode = 89;
abis = [
"armeabi-v7a"
"arm64-v8a"
"x86"
"x86_64"
];
};
sourceProvenance = [
lib.sourceTypes.binaryBytecode
lib.sourceTypes.fromSource
];
};
})