tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
pdftk: convert to gradle setup hook
chayleaf
2 years ago
9b877fd5
dcf6957b
+224
-57
2 changed files
expand all
collapse all
unified
split
pkgs
tools
typesetting
pdftk
default.nix
deps.json
+9
-57
pkgs/tools/typesetting/pdftk/default.nix
···
1
1
-
{ lib, stdenv, fetchFromGitLab, gradle, jre, perl, writeText, runtimeShell }:
1
1
+
{ lib, stdenv, fetchFromGitLab, gradle, jre, runtimeShell }:
2
2
3
3
-
let
3
3
+
stdenv.mkDerivation rec {
4
4
pname = "pdftk";
5
5
version = "3.3.3";
6
6
···
11
11
hash = "sha256-ciKotTHSEcITfQYKFZ6sY2LZnXGChBJy0+eno8B3YHY=";
12
12
};
13
13
14
14
-
deps = stdenv.mkDerivation {
15
15
-
pname = "${pname}-deps";
16
16
-
inherit src version;
14
14
+
nativeBuildInputs = [ gradle ];
17
15
18
18
-
nativeBuildInputs = [ gradle perl ];
19
19
-
20
20
-
buildPhase = ''
21
21
-
export GRADLE_USER_HOME=$(mktemp -d)
22
22
-
gradle -Dfile.encoding=utf-8 shadowJar;
23
23
-
'';
24
24
-
25
25
-
# Mavenize dependency paths
26
26
-
# e.g. org.codehaus.groovy/groovy/2.4.0/{hash}/groovy-2.4.0.jar -> org/codehaus/groovy/groovy/2.4.0/groovy-2.4.0.jar
27
27
-
installPhase = ''
28
28
-
find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
29
29
-
| perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
30
30
-
| sh
31
31
-
'';
32
32
-
33
33
-
outputHashAlgo = "sha256";
34
34
-
outputHashMode = "recursive";
35
35
-
outputHash = "sha256-Mx5CdiRxuql22kbLozzr9Rs2E2Svzg2zN1138Xa0pMc=";
16
16
+
mitmCache = gradle.fetchDeps {
17
17
+
inherit pname;
18
18
+
data = ./deps.json;
36
19
};
37
20
38
38
-
# Point to our local deps repo
39
39
-
gradleInit = writeText "init.gradle" ''
40
40
-
logger.lifecycle 'Replacing Maven repositories with ${deps}...'
41
41
-
gradle.projectsLoaded {
42
42
-
rootProject.allprojects {
43
43
-
buildscript {
44
44
-
repositories {
45
45
-
clear()
46
46
-
maven { url '${deps}' }
47
47
-
}
48
48
-
}
49
49
-
repositories {
50
50
-
clear()
51
51
-
maven { url '${deps}' }
52
52
-
}
53
53
-
}
54
54
-
}
21
21
+
__darwinAllowLocalNetworking = true;
55
22
56
56
-
settingsEvaluated { settings ->
57
57
-
settings.pluginManagement {
58
58
-
repositories {
59
59
-
maven { url '${deps}' }
60
60
-
}
61
61
-
}
62
62
-
}
63
63
-
'';
23
23
+
gradleFlags = [ "-Dfile.encoding=utf-8" ];
64
24
65
65
-
in stdenv.mkDerivation rec {
66
66
-
inherit pname version src;
67
67
-
68
68
-
nativeBuildInputs = [ gradle ];
69
69
-
70
70
-
buildPhase = ''
71
71
-
export GRADLE_USER_HOME=$(mktemp -d)
72
72
-
gradle --offline --no-daemon --info --init-script ${gradleInit} shadowJar
73
73
-
'';
25
25
+
gradleBuildTask = "shadowJar";
74
26
75
27
installPhase = ''
76
28
mkdir -p $out/{bin,share/pdftk,share/man/man1}
+215
pkgs/tools/typesetting/pdftk/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://plugins.gradle.org/m2": {
5
5
+
"com/diffplug/durian#durian-collect/1.2.0": {
6
6
+
"jar": "sha256-sZTAuIAhzBFsIcHcdvScLB/hda9by3TIume527+aSMw=",
7
7
+
"pom": "sha256-i7diCGoKT9KmRzu/kFx0R2OvodWaVjD3O7BLeHLAn/M="
8
8
+
},
9
9
+
"com/diffplug/durian#durian-core/1.2.0": {
10
10
+
"jar": "sha256-F+0KrLOjwWMjMyFou96thpTzKACytH1p1KTEmxFNXa4=",
11
11
+
"pom": "sha256-hwMg6QdVNxsBeW/oG6Ul/R3ui3A0b1VFUe7dQonwtmI="
12
12
+
},
13
13
+
"com/diffplug/durian#durian-io/1.2.0": {
14
14
+
"jar": "sha256-CV/R3HeIjAc/C+OaAYFW7lJnInmLCd6eKF7yE14W6sQ=",
15
15
+
"pom": "sha256-NQkZQkMk4nUKPdwvobzmqQrIziklaYpgqbTR1uSSL/4="
16
16
+
},
17
17
+
"com/diffplug/spotless#com.diffplug.spotless.gradle.plugin/6.10.0": {
18
18
+
"pom": "sha256-KBM628w3hpIzn4fzKVkykdnjBnmrwpsBVCzmULjHoL4="
19
19
+
},
20
20
+
"com/diffplug/spotless#spotless-lib-extra/2.29.0": {
21
21
+
"jar": "sha256-m0zpiqT128dYUP5tmnnoeNMYvnGPmX5epAUsiFYhuqs=",
22
22
+
"module": "sha256-QW44lubwZ/WXlI70QVDJk43wV6NCt31X20gqj5aWgeg=",
23
23
+
"pom": "sha256-hf5PLJpFEVVtzqLbzFth9+f+VlxgedC5ItVmLJCIu+8="
24
24
+
},
25
25
+
"com/diffplug/spotless#spotless-lib/2.29.0": {
26
26
+
"jar": "sha256-G/rNp1jy4JDwLBVoR3PlORR/3od/rezZsAY3v536q8c=",
27
27
+
"module": "sha256-Rty7wtfX0d47lSZoX66uA20b/XwrvhL3izIuD1xLVk8=",
28
28
+
"pom": "sha256-v0UZJkr/2hRWrbjIHLazJ5AiMBqn/tdbNKlM34Oj4bo="
29
29
+
},
30
30
+
"com/diffplug/spotless#spotless-plugin-gradle/6.10.0": {
31
31
+
"jar": "sha256-p8P8jOFdk311AFsuSclmXdp2UfLSLk7Kn7G03eR79As=",
32
32
+
"module": "sha256-m6j/efMjDs5rZomCishSor+pbZl8JXKjre7wtrFckq0=",
33
33
+
"pom": "sha256-+PCTwoomONZy0ML6LCljz5WFVKoeFHuuvLIEsViM4ns="
34
34
+
},
35
35
+
"com/fasterxml#oss-parent/38": {
36
36
+
"pom": "sha256-yD+PRd/cqNC2s2YcYLP4R4D2cbEuBvka1dHBodH5Zug="
37
37
+
},
38
38
+
"com/fasterxml/jackson#jackson-base/2.11.2": {
39
39
+
"pom": "sha256-k0uchkLt8xBMUAKC+4EGxzxWeBw9xMdelr2NG7Ha3p0="
40
40
+
},
41
41
+
"com/fasterxml/jackson#jackson-bom/2.11.2": {
42
42
+
"pom": "sha256-2qQsw65gqJH9ssh0ZxtiPc0tH+/Kd7z7OU/rHRInfME="
43
43
+
},
44
44
+
"com/fasterxml/jackson#jackson-parent/2.11": {
45
45
+
"pom": "sha256-wbChPYz+Y7QLD66EWLmUYxae0MYPf8lj7z8FJXFQy+g="
46
46
+
},
47
47
+
"com/fasterxml/jackson/core#jackson-annotations/2.11.2": {
48
48
+
"jar": "sha256-kNYC0ZVd9QmxVpYYz/hpmUyvlIPLgqPMs5eCpc2lQSY=",
49
49
+
"pom": "sha256-AEEc6Dh0WAKZWB4oOuRaXtN7AFHm9WO2miVQeKtYk+4="
50
50
+
},
51
51
+
"com/fasterxml/jackson/core#jackson-core/2.11.2": {
52
52
+
"jar": "sha256-+NdoxOiIRSK+WIHdKpGuyBLQjU8FhStDQZDiLeZZ38k=",
53
53
+
"pom": "sha256-QL3NBekAYAtBM3NCz1xpwln9ii+en0p5aNYebvWeOYw="
54
54
+
},
55
55
+
"com/fasterxml/jackson/core#jackson-databind/2.11.2": {
56
56
+
"jar": "sha256-y4kLSq2O0hp7V+PI95JNvcoa7/nd0nyw/zckMDeuE0I=",
57
57
+
"pom": "sha256-9a5wZBwK4Svl+UaDjujKE9qIk+d7RNkNXuJfPfjhYQU="
58
58
+
},
59
59
+
"com/github/johnrengelman/shadow#com.github.johnrengelman.shadow.gradle.plugin/7.1.2": {
60
60
+
"pom": "sha256-lW5FCF5S6l7zLTRnHruE6xxBqDxFSa8m5oY18QYXmNM="
61
61
+
},
62
62
+
"com/googlecode/concurrent-trees#concurrent-trees/2.6.1": {
63
63
+
"jar": "sha256-BONySYTipcv1VgbPo3KlvT08XSohUzpwBOPN5Tl2H6U=",
64
64
+
"pom": "sha256-Q8K5sULnBV0fKlgn8QlEkl0idH2XVrMlDAeqtHU4qXE="
65
65
+
},
66
66
+
"com/googlecode/javaewah#JavaEWAH/1.1.12": {
67
67
+
"jar": "sha256-sZIEMxrG4gS++vUIpo9S7GtGONnZus3b69Q1+cTVAPI=",
68
68
+
"pom": "sha256-BhhOmwWeCAkRgnE2r17Hj1fuTDvBn2MutWGw34+HiM4="
69
69
+
},
70
70
+
"commons-io#commons-io/2.11.0": {
71
71
+
"jar": "sha256-lhsvbYfbrMXVSr9Fq3puJJX4m3VZiWLYxyPOqbwhCQg=",
72
72
+
"pom": "sha256-LgFv1+MkS18sIKytg02TqkeQSG7h5FZGQTYaPoMe71k="
73
73
+
},
74
74
+
"gradle/plugin/com/github/johnrengelman#shadow/7.1.2": {
75
75
+
"jar": "sha256-v3BcwupcAYCqhwoPqAs5vxOhTScSjh6zpLZ0vjT1jpA=",
76
76
+
"pom": "sha256-H6qwvkF9ezxBqXzKCsqKWwtkBvw7Etfyjiw0Ex3/k0o="
77
77
+
},
78
78
+
"gradle/plugin/org/mikeneck#graalvm-native-image-plugin/1.4.1": {
79
79
+
"jar": "sha256-hxjq0IdN8UuGNB6IOkxkp3amRd0GbzcO2o+0xaPPZSI=",
80
80
+
"pom": "sha256-nNX2P1cnBVME1ZPa+uqiQK5dE/nZ3xn6meED8wc0lKo="
81
81
+
},
82
82
+
"org/apache#apache/23": {
83
83
+
"pom": "sha256-vBBiTgYj82V3+sVjnKKTbTJA7RUvttjVM6tNJwVDSRw="
84
84
+
},
85
85
+
"org/apache/ant#ant-launcher/1.10.11": {
86
86
+
"jar": "sha256-2rUw33qYC1rI/X6NIIJDrg0+vW3gmxqiznVjYMwu0lY=",
87
87
+
"pom": "sha256-7SoGiCYb624I7FSzgxLx1ILM8aO4Y8R9KNW5CkRtHB4="
88
88
+
},
89
89
+
"org/apache/ant#ant-parent/1.10.11": {
90
90
+
"pom": "sha256-V6BTJoLzD6MHQWoiWSnVcQrNpy17Je4IyvmNyCzTXbY="
91
91
+
},
92
92
+
"org/apache/ant#ant/1.10.11": {
93
93
+
"jar": "sha256-iMC4m7uq4B4Nn8rpO+eS9au+NAkQb47uhY/fNl28B1Q=",
94
94
+
"pom": "sha256-wiiU2ctGq/XOv27rK8z+TXjhju6jEaDqat3VnftLH+M="
95
95
+
},
96
96
+
"org/apache/commons#commons-parent/52": {
97
97
+
"pom": "sha256-ddvo806Y5MP/QtquSi+etMvNO18QR9VEYKzpBtu0UC4="
98
98
+
},
99
99
+
"org/apache/logging#logging-parent/3": {
100
100
+
"pom": "sha256-djouwrgJTUFh3rbCZLEmIIW5vjC/OjHCzhNyQuV3Iqc="
101
101
+
},
102
102
+
"org/apache/logging/log4j#log4j-api/2.17.1": {
103
103
+
"jar": "sha256-sNikyKtPuLGIjQCVgicDsObUeTxBlVAgPanmkZYWHeQ=",
104
104
+
"pom": "sha256-HirO8yILKb4QrgmXKLFYsY2UP5Ghk8xFAbtC+SnB6Io="
105
105
+
},
106
106
+
"org/apache/logging/log4j#log4j-core/2.17.1": {
107
107
+
"jar": "sha256-yWfyI0h5gLk2TpSnx/mooB/T7nwZvb8LD5+MuFEfPUE=",
108
108
+
"pom": "sha256-C7s79tTSKhv6PDwJJ8KUEK8UoPsm47Ark3JvXH6Yqv0="
109
109
+
},
110
110
+
"org/apache/logging/log4j#log4j/2.17.1": {
111
111
+
"pom": "sha256-lnq8AkRDqcsJaTVVmvXprW8P9hN1+Esn1EDS+nCAawk="
112
112
+
},
113
113
+
"org/codehaus/groovy#groovy-xml/3.0.10": {
114
114
+
"jar": "sha256-vCrVETWWo6m7ZQ2mRx8biRUFQheCF0p/5g15DttinoU=",
115
115
+
"pom": "sha256-Zwf5O1jO4BxBc/uuhNLh2DDKQc00LZBgbNW3GKn/fSk="
116
116
+
},
117
117
+
"org/codehaus/groovy#groovy/3.0.10": {
118
118
+
"jar": "sha256-3/762oKUhlvlA1UVwDIPtnlEPShfSl+K2tzwDBEw6Ew=",
119
119
+
"pom": "sha256-SYKt9KbGxQVnsL489JSCXmwqJ9izhx2eGIIqdCcreao="
120
120
+
},
121
121
+
"org/codehaus/plexus#plexus-utils/3.4.1": {
122
122
+
"jar": "sha256-UtheBLORhyKvEdEoVbSoJX35ag52yPTjhS5vqoUfNXs=",
123
123
+
"pom": "sha256-sUTP+bHGJZ/sT+5b38DzYNacI6vU6m5URTOpSbaeNYI="
124
124
+
},
125
125
+
"org/codehaus/plexus#plexus/8": {
126
126
+
"pom": "sha256-/6NJ2wTnq/ZYhb3FogYvQZfA/50/H04qpXILdyM/dCw="
127
127
+
},
128
128
+
"org/eclipse/jgit#org.eclipse.jgit-parent/5.13.0.202109080827-r": {
129
129
+
"pom": "sha256-oY/X0MQf2o2PHEoktQAKhmRWFHokdG7mzEcx54ihje4="
130
130
+
},
131
131
+
"org/eclipse/jgit#org.eclipse.jgit/5.13.0.202109080827-r": {
132
132
+
"jar": "sha256-2r+DafDN+M8Xt/faS9qTIMVwu3VMiOC+t7hSgSz1zSU=",
133
133
+
"pom": "sha256-qEF3Rc+i2V1qlxHpQT/KmE/FZmt2J7rRVAzyfUYq6BM="
134
134
+
},
135
135
+
"org/jdom#jdom2/2.0.6": {
136
136
+
"jar": "sha256-E0XxG6YG0VYD1nQFUajCGUfAIVZAdw7GcnH+eL6pfPU=",
137
137
+
"pom": "sha256-R7I6ef4za3QbgkNMbgSdaBZSVuQF51wQkh/XL6imXY0="
138
138
+
},
139
139
+
"org/jetbrains#annotations/13.0": {
140
140
+
"jar": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg=",
141
141
+
"pom": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c="
142
142
+
},
143
143
+
"org/jetbrains/kotlin#kotlin-stdlib-common/1.3.21": {
144
144
+
"jar": "sha256-zqYfe2EYleZPWFaal1f8CrDVgvEHIR4ZMODOKgrdUqc=",
145
145
+
"pom": "sha256-HkQzMKGrEIPdEjMesYI7zaGM06YWLtxTagNeTeHXhz0="
146
146
+
},
147
147
+
"org/jetbrains/kotlin#kotlin-stdlib/1.3.21": {
148
148
+
"jar": "sha256-OLojcNnwb1BDPgayyndblEc8LieF9BCSYHmreTxysDQ=",
149
149
+
"pom": "sha256-nOHqMzlsW/5I7IQSoM1WHsyQnXHI+TZZZ6FPnyT9uaU="
150
150
+
},
151
151
+
"org/junit#junit-bom/5.7.2": {
152
152
+
"module": "sha256-87zrHFndT2mT9DBN/6WAFyuN9lp2zTb6T9ksBXjSitg=",
153
153
+
"pom": "sha256-zRSqqGmZH4ICHFhdVw0x/zQry6WLtEIztwGTdxuWSHs="
154
154
+
},
155
155
+
"org/mikeneck/graalvm-native-image#org.mikeneck.graalvm-native-image.gradle.plugin/1.4.1": {
156
156
+
"pom": "sha256-vxSiyLGrQgrTQ+r8tt9YEbEtbZsn+mBcM/7yz9QZeW8="
157
157
+
},
158
158
+
"org/ow2#ow2/1.5": {
159
159
+
"pom": "sha256-D4obEW52C4/mOJxRuE5LB6cPwRCC1Pk25FO1g91QtDs="
160
160
+
},
161
161
+
"org/ow2/asm#asm-analysis/9.2": {
162
162
+
"jar": "sha256-h4++UhcxwHLRTS1luYOxvq5q0G/aAAe2qLroH3P0M8Q=",
163
163
+
"pom": "sha256-dzzBor/BTGxKl5xRoHXAI0oL9pT8Or5PrPRU83oUXxs="
164
164
+
},
165
165
+
"org/ow2/asm#asm-commons/9.2": {
166
166
+
"jar": "sha256-vkzlMTiiOLtSLNeBz5Hzulzi9sqT7GLUahYqEnIl4KY=",
167
167
+
"pom": "sha256-AoJOg58qLw5ylZ/dMLSJckDwWvxD3kLXugsYQ3YBwHA="
168
168
+
},
169
169
+
"org/ow2/asm#asm-tree/9.2": {
170
170
+
"jar": "sha256-qr+b0jCRpOv8EJwfPufPPkuJ9rotP1HFJD8Ws8/64BE=",
171
171
+
"pom": "sha256-9h8+vqVSDd8Z9FKwPEJscjG92KgdesKHZctScSJaw3g="
172
172
+
},
173
173
+
"org/ow2/asm#asm/9.2": {
174
174
+
"jar": "sha256-udT+TXGTjfOIOfDspCqqpkz4sxPWeNoDbwyzyhmbR/U=",
175
175
+
"pom": "sha256-37EqGyJL8Bvh/WBAIEZviUJBvLZF3M45Xt2M1vilDfQ="
176
176
+
},
177
177
+
"org/slf4j#slf4j-api/1.7.30": {
178
178
+
"jar": "sha256-zboHlk0btAoHYUhcax6ML4/Z6x0ZxTkorA1/lRAQXFc=",
179
179
+
"pom": "sha256-fgdHdR6bZ+Gdy1IG8E6iLMA9JQxCJCZALq3QNRPywxQ="
180
180
+
},
181
181
+
"org/slf4j#slf4j-parent/1.7.30": {
182
182
+
"pom": "sha256-EWR5VuSKDFv7OsM/bafoPzQQAraFfv0zWlBbaHvjS3U="
183
183
+
},
184
184
+
"org/sonatype/oss#oss-parent/5": {
185
185
+
"pom": "sha256-FnjUEgpYXYpjATGu7ExSTZKDmFg7fqthbufVqH9SDT0="
186
186
+
},
187
187
+
"org/sonatype/oss#oss-parent/7": {
188
188
+
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
189
189
+
},
190
190
+
"org/vafer#jdependency/2.7.0": {
191
191
+
"jar": "sha256-1j79V0b/QIlDp91++Frp8Jqn+2O7KxaRFCfObEW1n9A=",
192
192
+
"pom": "sha256-6yRCKwo+nofVrG6oCHeG+1HEsbvg0iXvdSFSxzaiBNA="
193
193
+
}
194
194
+
},
195
195
+
"https://repo.maven.apache.org/maven2/org": {
196
196
+
"apache#apache/23": {
197
197
+
"pom": "sha256-vBBiTgYj82V3+sVjnKKTbTJA7RUvttjVM6tNJwVDSRw="
198
198
+
},
199
199
+
"apache/commons#commons-lang3/3.12.0": {
200
200
+
"jar": "sha256-2RnZBEhsA3+NGTQS2gyS4iqfokIwudZ6V4VcXDHH6U4=",
201
201
+
"pom": "sha256-gtMfHcxFg+/9dE6XkWWxbaZL+GvKYj/F0bA+2U9FyFo="
202
202
+
},
203
203
+
"apache/commons#commons-parent/52": {
204
204
+
"pom": "sha256-ddvo806Y5MP/QtquSi+etMvNO18QR9VEYKzpBtu0UC4="
205
205
+
},
206
206
+
"bouncycastle#bcprov-jdk18on/1.71": {
207
207
+
"jar": "sha256-80M6l9eA/p+j3D1WKkHezVmy5hfOiE3pBgNJrBR1AEU=",
208
208
+
"pom": "sha256-u90garzosxsfGnMBORtEO6bN4X5y3udcH9LkEBFsXIc="
209
209
+
},
210
210
+
"junit#junit-bom/5.7.1": {
211
211
+
"module": "sha256-mFTjiU1kskhSB+AEa8oHs9QtFp54L0+oyc4imnj67gQ=",
212
212
+
"pom": "sha256-C5sUo9YhBvr+jGinF7h7h60YaFiZRRt1PAT6QbaFd4Q="
213
213
+
}
214
214
+
}
215
215
+
}