tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
apksigner: convert to gradle setup hook
chayleaf
2 years ago
3304e8a0
5aa611e4
+124
-35
2 changed files
expand all
collapse all
unified
split
pkgs
development
tools
apksigner
default.nix
deps.json
+5
-35
pkgs/development/tools/apksigner/default.nix
···
3
3
, fetchgit
4
4
, jdk_headless
5
5
, gradle
6
6
-
, perl
7
6
, makeWrapper
8
7
}:
9
8
···
39
38
sed -i -e '/conscrypt/s/testImplementation/implementation/' build.gradle
40
39
'';
41
40
42
42
-
# fake build to pre-download deps into fixed-output derivation
43
43
-
deps = stdenv.mkDerivation {
44
44
-
pname = "${pname}-deps";
45
45
-
inherit src version postPatch;
46
46
-
nativeBuildInputs = [ gradle perl ];
47
47
-
buildPhase = ''
48
48
-
export GRADLE_USER_HOME=$(mktemp -d)
49
49
-
gradle --no-daemon build
50
50
-
'';
51
51
-
# perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
52
52
-
installPhase = ''
53
53
-
find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
54
54
-
| perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/''${\($5 =~ s/okio-jvm/okio/r)}" #e' \
55
55
-
| sh
56
56
-
'';
57
57
-
# Don't move info to share/
58
58
-
forceShare = [ "dummy" ];
59
59
-
outputHashMode = "recursive";
60
60
-
# Downloaded jars differ by platform
61
61
-
outputHash = "sha256-cs95YI0SpvzCo5x5trMXlVUGepNKIH9oZ95AfLErKIU=";
41
41
+
mitmCache = gradle.fetchDeps {
42
42
+
inherit pname;
43
43
+
data = ./deps.json;
62
44
};
63
45
64
64
-
preBuild = ''
65
65
-
# Use the local packages from -deps
66
66
-
sed -i -e '/repositories {/a maven { url uri("${deps}") }' build.gradle
67
67
-
'';
68
68
-
69
69
-
buildPhase = ''
70
70
-
runHook preBuild
71
71
-
72
72
-
export GRADLE_USER_HOME=$(mktemp -d)
73
73
-
gradle --offline --no-daemon build
46
46
+
__darwinAllowLocalNetworking = true;
74
47
75
75
-
runHook postBuild
76
76
-
'';
48
48
+
doCheck = true;
77
49
78
50
nativeBuildInputs = [ gradle makeWrapper ];
79
51
···
82
54
makeWrapper "${jdk_headless}/bin/java" "$out/bin/apksigner" \
83
55
--add-flags "-jar $out/lib/apksigner.jar"
84
56
'';
85
85
-
86
86
-
__darwinAllowLocalNetworking = true;
87
57
88
58
meta = with lib; {
89
59
description = "Command line tool to sign and verify Android APKs";
+119
pkgs/development/tools/apksigner/deps.json
···
1
1
+
{
2
2
+
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
3
3
+
"!version": 1,
4
4
+
"https://jcenter.bintray.com": {
5
5
+
"com/google#google/1": {
6
6
+
"pom": "sha256-zW2xehGjHt55TMvR3w5Nl1D2QCNHMfIc/4hamZcnfoE="
7
7
+
},
8
8
+
"com/google/code/findbugs#jsr305/3.0.2": {
9
9
+
"jar": "sha256-dmrSoHg/JoeWLIrXTO7MOKKLn3Ki0IXuQ4t4E+ko0Mc=",
10
10
+
"pom": "sha256-GYidvfGyVLJgGl7mRbgUepdGRIgil2hMeYr+XWPXjf4="
11
11
+
},
12
12
+
"com/google/errorprone#error_prone_annotations/2.2.0": {
13
13
+
"jar": "sha256-br0iyhudjsBtQd6NZOBZaYHZYHtCA1+e03T53icaSBo=",
14
14
+
"pom": "sha256-XgJY6huk5RoTN0JoC8IkSPerIUvkBz6GGfZF7xvkLdU="
15
15
+
},
16
16
+
"com/google/errorprone#error_prone_parent/2.2.0": {
17
17
+
"pom": "sha256-xGCQLd9ezmiDLGsnHOUqCSiwXPOmrIGo9UjHPL1UETg="
18
18
+
},
19
19
+
"com/google/gradle#osdetector-gradle-plugin/1.6.2": {
20
20
+
"jar": "sha256-hFw+/OY70j2WLyELE77rqwXE1YOJihsaf/uMez7X1dQ=",
21
21
+
"pom": "sha256-W/T2le0Rd+gFJFJbbloECl1+pLFhlrERCILGLmmlVeg="
22
22
+
},
23
23
+
"com/google/guava#failureaccess/1.0.1": {
24
24
+
"jar": "sha256-oXHuTHNN0tqDfksWvp30Zhr6typBra8x64Tf2vk2yiY=",
25
25
+
"pom": "sha256-6WBCznj+y6DaK+lkUilHyHtAopG1/TzWcqQ0kkEDxLk="
26
26
+
},
27
27
+
"com/google/guava#guava-parent/26.0-android": {
28
28
+
"pom": "sha256-+GmKtGypls6InBr8jKTyXrisawNNyJjUWDdCNgAWzAQ="
29
29
+
},
30
30
+
"com/google/guava#guava-parent/27.0.1-jre": {
31
31
+
"pom": "sha256-MX6IKRJi4M8oBelWwYhQ8dRWXIXC4REvXZ0Iqxcy5pY="
32
32
+
},
33
33
+
"com/google/guava#guava/27.0.1-jre": {
34
34
+
"jar": "sha256-4cgU/QRJKifDjgMX6r6qGz6VDsgBAjnkAP6QrWyRB7Q=",
35
35
+
"pom": "sha256-ao3QQfI6a7FKhuRA/MuZNTe2InE1eg2sCjyw/zkVjzY="
36
36
+
},
37
37
+
"com/google/guava#listenablefuture/9999.0-empty-to-avoid-conflict-with-guava": {
38
38
+
"jar": "sha256-s3KgN9QjCqV/vv/e8w/WEj+cDC24XQrO0AyRuXTzP5k=",
39
39
+
"pom": "sha256-GNSx2yYVPU5VB5zh92ux/gXNuGLvmVSojLzE/zi4Z5s="
40
40
+
},
41
41
+
"com/google/j2objc#j2objc-annotations/1.1": {
42
42
+
"jar": "sha256-KZSn63jycQvT07+2ObLJTiGc7awNTQhNUW54wW3d7PY=",
43
43
+
"pom": "sha256-8MmMVx6Tp8tN0Y3w+jCPCWPnoGIKwtQkTmHnCdA61r4="
44
44
+
},
45
45
+
"com/google/protobuf#protobuf-bom/3.8.0": {
46
46
+
"pom": "sha256-WjrGCFOIDEORPNXLY7Np626WRuHtDEgGnsmpMTd700c="
47
47
+
},
48
48
+
"com/google/protobuf#protobuf-gradle-plugin/0.8.11": {
49
49
+
"jar": "sha256-gFr+/pf6AYFXpWvxQtvuStIo0RSyq3s97le5fD4teHk=",
50
50
+
"pom": "sha256-RBeVBVv4AjSXKcjFWdrVcmi4C4tk6KPePK2lQmo45aA="
51
51
+
},
52
52
+
"com/google/protobuf#protobuf-javalite/3.8.0": {
53
53
+
"jar": "sha256-HSWDsgkvIdvCnJCabwV+u4bYTkxU/LHXvAAmO4AaM/g=",
54
54
+
"pom": "sha256-4EnZCbCH/zokFi4H0KgIFE7BnnwK6Z1Ee0dZZ83361s="
55
55
+
},
56
56
+
"com/google/protobuf#protobuf-parent/3.8.0": {
57
57
+
"pom": "sha256-cGPoFu/yyZcFW9KmbuLJtObNEvhcj8lW5UhweQmAHEU="
58
58
+
},
59
59
+
"com/google/protobuf#protoc/3.8.0": {
60
60
+
"pom": "sha256-0bqQU0Wx2o1GXQ0DCkzgiuVX0nz8krZiMvEN3ks4V9I="
61
61
+
},
62
62
+
"com/google/protobuf/protoc/3.8.0/protoc-3.8.0-linux-x86_64": {
63
63
+
"exe": "sha256-eeGGIvawJqOETt7d5Fzw4M98+8emLCho2dgtvtYSZeQ="
64
64
+
},
65
65
+
"commons-lang#commons-lang/2.6": {
66
66
+
"jar": "sha256-UPEbCfh3wpTVbyRGP0fSj5Kc9QRPZIZhwPDPuumi9Jw=",
67
67
+
"pom": "sha256-7Xa4iRwwtWYonHQ2Vvik1DWYaYJDjUDFZ8YmIzJH5xE="
68
68
+
},
69
69
+
"junit#junit/4.13": {
70
70
+
"jar": "sha256-S4Uy9jvcDgZhUH+UfrMkqVTR26xjGtGciqmgD+7R2GM=",
71
71
+
"pom": "sha256-mg3Ew/orCG5wgiZzfvS7N4R8PLHOTiA1F8CfYwWyJn4="
72
72
+
},
73
73
+
"kr/motd/maven#os-maven-plugin/1.6.2": {
74
74
+
"jar": "sha256-OgxJXeHOvIP2e+qhd2p5NvAvEfKt3Th5WWp4sqhryqM=",
75
75
+
"pom": "sha256-bXDR8vJydzDXedMqH9L7seoI51pnpQotjn0P2zoqSvM="
76
76
+
},
77
77
+
"org/apache#apache/7": {
78
78
+
"pom": "sha256-E5fOHbQzrcnyI9vwdJbRM2gUSHUfSuKeWPaOePtLbCU="
79
79
+
},
80
80
+
"org/apache/commons#commons-parent/17": {
81
81
+
"pom": "sha256-lucYuvU0h07mLOTULeJl8t2s2IORpUDgMNWdmPp8RAg="
82
82
+
},
83
83
+
"org/bouncycastle#bcprov-jdk15on/1.68": {
84
84
+
"jar": "sha256-9zKkbI3n4iMvIAfGgqIdH0zIqKAUm2t71qoa/cZaD40=",
85
85
+
"pom": "sha256-2QfezWhfnNlx5xvfbOWXzzqVt8j/ajSCNRv9irwXz+A="
86
86
+
},
87
87
+
"org/checkerframework#checker-qual/2.5.2": {
88
88
+
"jar": "sha256-ZLAmkci51OdwD47i50Lc5+osboHmYrdSLJ7jv1aMBAo=",
89
89
+
"pom": "sha256-3EzUOKNkYtATwjOMjiBtECoyKgDzNynolV7iGYWcnt4="
90
90
+
},
91
91
+
"org/codehaus/mojo#animal-sniffer-annotations/1.17": {
92
92
+
"jar": "sha256-kmVPST7P7FIILnY1Tw6/h2SNw9XOwuPDzblHwBZ0elM=",
93
93
+
"pom": "sha256-6VarXS60j6uuEjANDNLTKU1KKkGrwgaMI8tNYK12y+U="
94
94
+
},
95
95
+
"org/codehaus/mojo#animal-sniffer-parent/1.17": {
96
96
+
"pom": "sha256-GKA98W4qGExYLbexJWM8Fft3FAJ6hMG1MtcpM9wIuB8="
97
97
+
},
98
98
+
"org/codehaus/mojo#mojo-parent/40": {
99
99
+
"pom": "sha256-/GSNzcQE+L9m4Fg5FOz5gBdmGCASJ76hFProUEPLdV4="
100
100
+
},
101
101
+
"org/conscrypt#conscrypt-openjdk-uber/2.5.1": {
102
102
+
"jar": "sha256-AfnHQstZKhUeLmK9U5eomAYoqWcAH82s1KpHRGeGhfM=",
103
103
+
"pom": "sha256-XivA41GARnUwxVpnqvq+XvmOBg7raY6a9tCw3N26lc0="
104
104
+
},
105
105
+
"org/hamcrest#hamcrest-core/1.3": {
106
106
+
"jar": "sha256-Zv3vkelzk0jfeglqo4SlaF9Oh1WEzOiThqekclHE2Ok=",
107
107
+
"pom": "sha256-/eOGp5BRc6GxA95quCBydYS1DQ4yKC4nl3h8IKZP+pM="
108
108
+
},
109
109
+
"org/hamcrest#hamcrest-parent/1.3": {
110
110
+
"pom": "sha256-bVNflO+2Y722gsnyelAzU5RogAlkK6epZ3UEvBvkEps="
111
111
+
},
112
112
+
"org/sonatype/oss#oss-parent/7": {
113
113
+
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
114
114
+
},
115
115
+
"org/sonatype/oss#oss-parent/9": {
116
116
+
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
117
117
+
}
118
118
+
}
119
119
+
}