tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
mindustry: convert to gradle setup hook
chayleaf
2 years ago
da8cbf47
83d8edbe
+366
-95
2 changed files
expand all
collapse all
unified
split
pkgs
games
mindustry
default.nix
deps.json
+72
-95
pkgs/games/mindustry/default.nix
···
1
1
-
{ lib, stdenv, fetchurl
1
1
+
{ lib
2
2
+
, stdenv
2
3
, fetchpatch
3
4
, makeWrapper
4
5
, makeDesktopItem
···
6
7
, fetchFromGitHub
7
8
, gradle
8
9
, jdk17
9
9
-
, perl
10
10
11
11
# for arc
12
12
, SDL2
13
13
, pkg-config
14
14
-
, stb
15
14
, ant
15
15
+
, curl
16
16
+
, wget
16
17
, alsa-lib
17
18
, alsa-plugins
18
19
, glew
···
42
43
buildVersion = makeBuildVersion version;
43
44
44
45
jdk = jdk17;
45
45
-
gradleWithJdk = gradle.override { java = jdk; };
46
46
47
47
selectedGlew = if enableWayland then glew-egl else glew;
48
48
···
65
65
rev = "v0.9";
66
66
hash = "sha256-6KlqOtA19MxeqZttNyNrMU7pKqzlNiA4rBZKp9ekanc=";
67
67
};
68
68
-
freetypeSource = fetchurl {
69
69
-
# This is pinned in Arc's extensions/freetype/build.gradle
70
70
-
url = "https://download.savannah.gnu.org/releases/freetype/freetype-2.10.4.tar.gz";
71
71
-
hash = "sha256-Xqt5XrsjrHcAHPtot9TVC11sdGkkewsBsslTJp9ljaw=";
72
72
-
};
73
73
-
glewSource = fetchurl {
74
74
-
# This is pinned in Arc's backends/backend-sdl/build.gradle
75
75
-
url = "https://github.com/nigels-com/glew/releases/download/glew-2.2.0/glew-2.2.0.zip";
76
76
-
hash = "sha256-qQRqkTd0OVoJXtzAsKwtgcOqzKYXh7OYOblB6b4U4NQ=";
77
77
-
};
78
78
-
SDLmingwSource = fetchurl {
79
79
-
# This is pinned in Arc's backends/backend-sdl/build.gradle
80
80
-
url = "https://www.libsdl.org/release/SDL2-devel-2.0.20-mingw.tar.gz";
81
81
-
hash = "sha256-OAlNgqhX1sYjUuXFzex0lIxbTSXFnL0pjW0jNWiXa9E=";
68
68
+
69
69
+
desktopItem = makeDesktopItem {
70
70
+
name = "Mindustry";
71
71
+
desktopName = "Mindustry";
72
72
+
exec = "mindustry";
73
73
+
icon = "mindustry";
74
74
+
categories = [ "Game" ];
82
75
};
83
76
77
77
+
in
78
78
+
assert lib.assertMsg (enableClient || enableServer)
79
79
+
"mindustry: at least one of 'enableClient' and 'enableServer' must be true";
80
80
+
stdenv.mkDerivation {
81
81
+
inherit pname version;
82
82
+
83
83
+
unpackPhase = ''
84
84
+
cp -r ${Mindustry} Mindustry
85
85
+
cp -r ${Arc} Arc
86
86
+
chmod -R u+w -- Mindustry Arc
87
87
+
cp -r ${soloud} Arc/arc-core/csrc/soloud
88
88
+
chmod -R u+w -- Arc/arc-core/csrc/soloud
89
89
+
'';
90
90
+
84
91
patches = [
85
92
./0001-fix-include-path-for-SDL2-on-linux.patch
86
93
# Fix build with gradle 8.8, remove on next Arc release
···
96
103
extraPrefix = "Arc/";
97
104
stripLen = 1;
98
105
})
106
106
+
(fetchpatch {
107
107
+
url = "https://github.com/Anuken/Mindustry/commit/695dad201fb4c2b4252f2ee5abde32e968169ba5.patch";
108
108
+
hash = "sha256-bbTjyfUl+XFG/dgD1XPddVKD/ImOP5ARAP3q0FPnt58=";
109
109
+
name = "always-use-local-arc-1.patch";
110
110
+
stripLen = 1; extraPrefix = "Mindustry/";
111
111
+
})
112
112
+
(fetchpatch {
113
113
+
url = "https://github.com/Anuken/Mindustry/commit/f6082225e859c759c8d9c944250b6ecd490151ed.patch";
114
114
+
hash = "sha256-xFHdAUTS1EiHNQqw6qfzYk2LMr/DjeHoEzQfcfOUcFs=";
115
115
+
name = "always-use-local-arc-2.patch";
116
116
+
stripLen = 1; extraPrefix = "Mindustry/";
117
117
+
})
118
118
+
(fetchpatch {
119
119
+
url = "https://github.com/Anuken/Mindustry/commit/e4eadbbb7f35db3093a0a3d13272bdfbedfaead3.patch";
120
120
+
hash = "sha256-L/XQAxh6UgKsTVTgQKDXNRIAdtVtaY4ameT/Yb/+1p8=";
121
121
+
name = "always-use-local-arc-3.patch";
122
122
+
stripLen = 1; extraPrefix = "Mindustry/";
123
123
+
})
99
124
];
100
125
101
101
-
unpackPhase = ''
102
102
-
cp -r ${Mindustry} Mindustry
103
103
-
cp -r ${Arc} Arc
104
104
-
chmod -R u+w -- Mindustry Arc
105
105
-
cp ${stb.src}/stb_image.h Arc/arc-core/csrc/
106
106
-
cp -r ${soloud} Arc/arc-core/csrc/soloud
107
107
-
chmod -R u+w -- Arc
108
108
-
'';
109
109
-
110
110
-
desktopItem = makeDesktopItem {
111
111
-
name = "Mindustry";
112
112
-
desktopName = "Mindustry";
113
113
-
exec = "mindustry";
114
114
-
icon = "mindustry";
115
115
-
categories = [ "Game" ];
116
116
-
};
117
117
-
118
118
-
cleanupMindustrySrc = ''
126
126
+
postPatch = ''
119
127
# Ensure the prebuilt shared objects don't accidentally get shipped
120
128
rm -r Arc/natives/natives-*/libs/*
121
129
rm -r Arc/backends/backend-*/libs/*
130
130
+
131
131
+
cd Mindustry
122
132
123
133
# Remove unbuildable iOS stuff
124
124
-
sed -i '/^project(":ios"){/,/^}/d' Mindustry/build.gradle
125
125
-
sed -i '/robo(vm|VM)/d' Mindustry/build.gradle
126
126
-
rm Mindustry/ios/build.gradle
134
134
+
sed -i '/^project(":ios"){/,/^}/d' build.gradle
135
135
+
sed -i '/robo(vm|VM)/d' build.gradle
136
136
+
rm ios/build.gradle
127
137
'';
128
138
129
129
-
# fake build to pre-download deps into fixed-output derivation
130
130
-
deps = stdenv.mkDerivation {
131
131
-
pname = "${pname}-deps";
132
132
-
inherit version unpackPhase patches;
133
133
-
postPatch = cleanupMindustrySrc;
134
134
-
135
135
-
nativeBuildInputs = [ gradleWithJdk perl ];
136
136
-
# Here we download dependencies for both the server and the client so
137
137
-
# we only have to specify one hash for 'deps'. Deps can be garbage
138
138
-
# collected after the build, so this is not really an issue.
139
139
-
buildPhase = ''
140
140
-
pushd Mindustry
141
141
-
export GRADLE_USER_HOME=$(mktemp -d)
142
142
-
gradle --no-daemon resolveDependencies
143
143
-
popd
144
144
-
'';
145
145
-
# 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)
146
146
-
installPhase = ''
147
147
-
find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
148
148
-
| perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
149
149
-
| sh
150
150
-
'';
151
151
-
outputHashMode = "recursive";
152
152
-
outputHash = "sha256-hbWLsWorEo+1BBURvrFMXpxvZjJBZ1p7HVlJN5e5JZc=";
139
139
+
mitmCache = gradle.fetchDeps {
140
140
+
inherit pname;
141
141
+
data = ./deps.json;
153
142
};
154
143
155
155
-
in
156
156
-
assert lib.assertMsg (enableClient || enableServer)
157
157
-
"mindustry: at least one of 'enableClient' and 'enableServer' must be true";
158
158
-
stdenv.mkDerivation rec {
159
159
-
inherit pname version unpackPhase patches;
160
160
-
161
161
-
postPatch = cleanupMindustrySrc;
144
144
+
__darwinAllowLocalNetworking = true;
162
145
163
146
buildInputs = lib.optionals enableClient [
164
147
SDL2
···
167
150
];
168
151
nativeBuildInputs = [
169
152
pkg-config
170
170
-
gradleWithJdk
153
153
+
gradle
171
154
makeWrapper
172
155
jdk
173
156
] ++ lib.optionals enableClient [
174
157
ant
175
158
copyDesktopItems
159
159
+
curl
160
160
+
wget
176
161
];
177
162
178
163
desktopItems = lib.optional enableClient desktopItem;
179
164
180
180
-
buildPhase = with lib; ''
181
181
-
export GRADLE_USER_HOME=$(mktemp -d)
165
165
+
gradleFlags = [ "-Pbuildversion=${buildVersion}" "-Dorg.gradle.java.home=${jdk}" ];
182
166
183
183
-
# point to offline repo
184
184
-
sed -ie "1ipluginManagement { repositories { maven { url '${deps}' } } }; " Mindustry/settings.gradle
185
185
-
sed -ie "s#mavenLocal()#mavenLocal(); maven { url '${deps}' }#g" Mindustry/build.gradle
186
186
-
sed -ie "s#mavenCentral()#mavenCentral(); maven { url '${deps}' }#g" Arc/build.gradle
187
187
-
sed -ie "s#wget.*freetype.* -O #cp ${freetypeSource} #" Arc/extensions/freetype/build.gradle
188
188
-
sed -ie "/curl.*glew/{;s#curl -o #cp ${glewSource} #;s# -L http.*\.zip##;}" Arc/backends/backend-sdl/build.gradle
189
189
-
sed -ie "/curl.*sdlmingw/{;s#curl -o #cp ${SDLmingwSource} #;s# -L http.*\.tar.gz##;}" Arc/backends/backend-sdl/build.gradle
190
190
-
191
191
-
pushd Mindustry
167
167
+
buildPhase = with lib; optionalString enableServer ''
168
168
+
gradle server:dist
192
169
'' + optionalString enableClient ''
193
193
-
194
170
pushd ../Arc
195
195
-
gradle --offline --no-daemon jnigenBuild -Pbuildversion=${buildVersion}
196
196
-
gradle --offline --no-daemon jnigenJarNativesDesktop -Pbuildversion=${buildVersion}
171
171
+
gradle jnigenBuild
172
172
+
gradle jnigenJarNativesDesktop
197
173
glewlib=${lib.getLib selectedGlew}/lib/libGLEW.so
198
174
sdllib=${lib.getLib SDL2}/lib/libSDL2.so
199
175
patchelf backends/backend-sdl/libs/linux64/libsdl-arc*.so \
···
204
180
cp extensions/freetype/libs/*/* natives/natives-freetype-desktop/libs/
205
181
popd
206
182
207
207
-
gradle --offline --no-daemon desktop:dist -Pbuildversion=${buildVersion}
208
208
-
'' + optionalString enableServer ''
209
209
-
gradle --offline --no-daemon server:dist -Pbuildversion=${buildVersion}
183
183
+
gradle desktop:dist
210
184
'';
211
185
212
186
installPhase = with lib; let
···
247
221
runHook postInstall
248
222
'';
249
223
250
250
-
passthru.tests = {
251
251
-
nixosTest = nixosTests.mindustry;
252
252
-
};
224
224
+
postGradleUpdate = ''
225
225
+
# this fetches non-gradle dependencies
226
226
+
cd ../Arc
227
227
+
gradle preJni
228
228
+
'';
229
229
+
230
230
+
passthru.tests.nixosTest = nixosTests.mindustry;
253
231
254
232
meta = with lib; {
255
233
homepage = "https://mindustrygame.github.io/";
···
261
239
];
262
240
license = licenses.gpl3Plus;
263
241
maintainers = with maintainers; [ chkno fgaz thekostins ];
264
264
-
platforms = if enableClient then platforms.x86_64 else platforms.linux;
265
265
-
# Hash mismatch on darwin:
266
266
-
# https://github.com/NixOS/nixpkgs/pull/105590#issuecomment-737120293
267
267
-
broken = stdenv.isDarwin;
242
242
+
platforms = platforms.all;
243
243
+
# TODO alsa-lib is linux-only, figure out what dependencies are required on Darwin
244
244
+
broken = enableClient && stdenv.isDarwin;
268
245
};
269
246
}
+294
pkgs/games/mindustry/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://download.savannah.gnu.org": {
5
5
+
"releases/freetype/freetype-2.10.4": {
6
6
+
"tar.gz": "sha256-Xqt5XrsjrHcAHPtot9TVC11sdGkkewsBsslTJp9ljaw="
7
7
+
}
8
8
+
},
9
9
+
"https://github.com": {
10
10
+
"nigels-com/glew/releases/download/glew-2.2.0/glew-2.2.0": {
11
11
+
"zip": "sha256-qQRqkTd0OVoJXtzAsKwtgcOqzKYXh7OYOblB6b4U4NQ="
12
12
+
}
13
13
+
},
14
14
+
"https://jitpack.io/com/github": {
15
15
+
"Anuken#jabel/0.9.0": {
16
16
+
"jar": "sha256-uFYvq/P7dVZNH8xfSZPmm57JI+h47A7YqOaN3bsFLuo=",
17
17
+
"module": "sha256-r0Hiyh4MXzQkBudNhixHcXf1QOr4GWU841ypzRa0w/g=",
18
18
+
"pom": "sha256-2Zp//AsIqW7/+5ybmtConz5ykh3ZYrFBi6SzLuKTz8A="
19
19
+
},
20
20
+
"Anuken#rhino/73a812444ac388ac2d94013b5cadc8f70b7ea027": {
21
21
+
"jar": "sha256-g2+szbtgsHvalu5F4kygVDN89kk0zvzVSw3EOcAL11I=",
22
22
+
"module": "sha256-BbXoWzXoJGKhH6kA6EiluDHhfs3th9X+ojLLZuGISOg=",
23
23
+
"pom": "sha256-ngLvPqdMq7ayWlDHf7qr8MGYsDh+uMK6OYcDX9y5bXk="
24
24
+
},
25
25
+
"Anuken#steamworks4j/0b86023401880bb5e586bc404bedbaae9b1f1c94": {
26
26
+
"jar": "sha256-YbaPhCjWtlExwQ1dFNA6JrkiAfQYWxJ0VRV9rLnoYhY=",
27
27
+
"pom": "sha256-ktvhk8s3T1zswrYWuXz+cWHRyK3YbkikD5Sv/gjcfz4="
28
28
+
},
29
29
+
"libgdx/gdx-jnigen#gdx-jnigen-gradle/dffc32eecbf77aad264991ea44f1767a58cbee9d": {
30
30
+
"jar": "sha256-nuUxM4zDV48+8Z+Rsn2dhEhkH4wOcfG62lz84BUhDH0=",
31
31
+
"module": "sha256-OU9DEb3A9A7OtnJ6jQkS32KImMlNn9NX7eKMX4YVh5E=",
32
32
+
"pom": "sha256-0THLPDNZDZe9PbIEPl71pGwL7E6Oq2Y5LiVevltdbP8="
33
33
+
},
34
34
+
"libgdx/gdx-jnigen#gdx-jnigen/28dd11fa4c33a7ae9e58897912b52ba7d53d54fe": {
35
35
+
"jar": "sha256-fPszziBPrTDACbBuL6OxJ2oK1iA4izBk4TMHK53b+GQ=",
36
36
+
"module": "sha256-0RR9vgSqD1ISADHSO5OV7rxi+6HM9h0ZO4kEYw/Ao4Y=",
37
37
+
"pom": "sha256-vnz59i+3/wY9RizYWGMOuebfrZO4HrpOYV73ShIFH2g="
38
38
+
},
39
39
+
"libgdx/gdx-jnigen#gdx-jnigen/dffc32eecbf77aad264991ea44f1767a58cbee9d": {
40
40
+
"jar": "sha256-bd8xr4/YgvQbvdFkayXdJKpMvYwE9XlISof20vsfcSU=",
41
41
+
"module": "sha256-zQ1DewRtrsdTgxXINq7pOa+UJwnDNrGsVKnX0K/AWRQ=",
42
42
+
"pom": "sha256-HWFvvs+x6DyJioqkRDDVvf0GCKfxPTjhdec8JC2PZvA="
43
43
+
}
44
44
+
},
45
45
+
"https://plugins.gradle.org/m2/org/jetbrains/kotlin": {
46
46
+
"jvm#org.jetbrains.kotlin.jvm.gradle.plugin/1.6.0": {
47
47
+
"pom": "sha256-FeMDwR4tRlKdxOmvd853pFyge29WJvHjkFslMyVlJAg="
48
48
+
},
49
49
+
"kapt#org.jetbrains.kotlin.kapt.gradle.plugin/1.6.0": {
50
50
+
"pom": "sha256-EPl8xsN9xufqKiw5ptVSBLiMrZkniaiGvLSaH/RURV8="
51
51
+
}
52
52
+
},
53
53
+
"https://raw.githubusercontent.com": {
54
54
+
"nothings/stb/e140649ccf40818781b7e408f6228a486f6d254b/stb_image": {
55
55
+
"h": "sha256-jlsNcX38ioNMl+8gLSDnjQg9AJWG4XMcmFgX0BVdVow="
56
56
+
}
57
57
+
},
58
58
+
"https://repo.maven.apache.org/maven2": {
59
59
+
"com/github/gundy#semver4j/0.16.4": {
60
60
+
"pom": "sha256-MgAdskQ7M53SH1t5/ynRreci0boIDCFL3oGfD3LRYE0="
61
61
+
},
62
62
+
"com/github/gundy#semver4j/0.16.4/nodeps": {
63
63
+
"jar": "sha256-P1nspRY3TM1P01UWJb9Q+KSxkfcAUI985IZkYKYSivA="
64
64
+
},
65
65
+
"com/github/javaparser#javaparser-core/3.14.14": {
66
66
+
"jar": "sha256-Z4GYXisXFCvQfhp75Zt5NIXLAms3ZnN30WYQrpgUi24=",
67
67
+
"pom": "sha256-70ERyN/Uh+Zp5w1Qzz2z8O3YuTLKvjXmYzuzzuuGpIo="
68
68
+
},
69
69
+
"com/github/javaparser#javaparser-parent/3.14.14": {
70
70
+
"pom": "sha256-RwgtW3eLzkmjEnRtUWHJ48yhfYwh2eO+MTF68Io2FDc="
71
71
+
},
72
72
+
"com/google/code/findbugs#jsr305/3.0.2": {
73
73
+
"jar": "sha256-dmrSoHg/JoeWLIrXTO7MOKKLn3Ki0IXuQ4t4E+ko0Mc=",
74
74
+
"pom": "sha256-GYidvfGyVLJgGl7mRbgUepdGRIgil2hMeYr+XWPXjf4="
75
75
+
},
76
76
+
"com/google/code/gson#gson-parent/2.8.6": {
77
77
+
"pom": "sha256-NzZGOFnsGSZyleiUlAroKo9oRBMDESL+Nc58/34wp3Q="
78
78
+
},
79
79
+
"com/google/code/gson#gson/2.8.6": {
80
80
+
"jar": "sha256-yPtIOQVNKAswM/gA0fWpfeLwKOuLoutFitKH5Tbz8l8=",
81
81
+
"pom": "sha256-IXRBWmRzMtMP2gS9HPxwij7MhOr3UX9ZYYjYJE4QORE="
82
82
+
},
83
83
+
"com/google/errorprone#error_prone_annotations/2.3.4": {
84
84
+
"jar": "sha256-uvfW6pfOYGxT4RtoVLpfLOfvXCTd3wr6GNEmC9JbACw=",
85
85
+
"pom": "sha256-EyZziktPfMrPYHuGahH7hRk+9g9qWUYRh85yZfm+W+0="
86
86
+
},
87
87
+
"com/google/errorprone#error_prone_parent/2.3.4": {
88
88
+
"pom": "sha256-QElbQ3pg0jmPD9/AVLidnDlKgjR6J0oHIcLpUKQwIYY="
89
89
+
},
90
90
+
"com/google/guava#failureaccess/1.0.1": {
91
91
+
"jar": "sha256-oXHuTHNN0tqDfksWvp30Zhr6typBra8x64Tf2vk2yiY=",
92
92
+
"pom": "sha256-6WBCznj+y6DaK+lkUilHyHtAopG1/TzWcqQ0kkEDxLk="
93
93
+
},
94
94
+
"com/google/guava#guava-parent/26.0-android": {
95
95
+
"pom": "sha256-+GmKtGypls6InBr8jKTyXrisawNNyJjUWDdCNgAWzAQ="
96
96
+
},
97
97
+
"com/google/guava#guava-parent/29.0-jre": {
98
98
+
"pom": "sha256-alf54C9436L0vaNBYGWmRCauG2beIoz24Zbi4ZElU78="
99
99
+
},
100
100
+
"com/google/guava#guava/29.0-jre": {
101
101
+
"jar": "sha256-sixftm1h57lSJTHQSy+RW1FY6AqgtA7nKCyL+wew2iU=",
102
102
+
"pom": "sha256-kCfpNAmJA9KH8bphyLZfAdHR4dp6b7zAS/PeBUQBRCY="
103
103
+
},
104
104
+
"com/google/guava#listenablefuture/9999.0-empty-to-avoid-conflict-with-guava": {
105
105
+
"jar": "sha256-s3KgN9QjCqV/vv/e8w/WEj+cDC24XQrO0AyRuXTzP5k=",
106
106
+
"pom": "sha256-GNSx2yYVPU5VB5zh92ux/gXNuGLvmVSojLzE/zi4Z5s="
107
107
+
},
108
108
+
"com/google/j2objc#j2objc-annotations/1.3": {
109
109
+
"jar": "sha256-Ia8wySJnvWEiwOC00gzMtmQaN+r5VsZUDsRx1YTmSns=",
110
110
+
"pom": "sha256-X6yoJLoRW+5FhzAzff2y/OpGui/XdNQwTtvzD6aj8FU="
111
111
+
},
112
112
+
"com/squareup#javapoet/1.12.1": {
113
113
+
"jar": "sha256-g/D9S66+w78p7jrSwCSzBl3e+CWlqin33PXBifn6KWI=",
114
114
+
"pom": "sha256-pxrD2PJ8ua0yyHtdiVnyLWca60YMejVdCfV35MV+TF8="
115
115
+
},
116
116
+
"de/undercouch#gradle-download-task/4.1.1": {
117
117
+
"jar": "sha256-6wi1cOQI1GRnBecKlJYU1DnqKxFFXxZSqwMw3olU2rk=",
118
118
+
"pom": "sha256-heZgcmDbvbXoXxmIhAsNmsS+kRnd6QobrKjqd1ZGQVo="
119
119
+
},
120
120
+
"net/java/dev/jna#jna/5.6.0": {
121
121
+
"jar": "sha256-VVfiNaiqL5dm1dxgnWeUjyqIMsLXls6p7x1svgs7fq8=",
122
122
+
"pom": "sha256-X+gbAlWXjyRhbTexBgi3lJil8wc+HZsgONhzaoMfJgg="
123
123
+
},
124
124
+
"org/apiguardian#apiguardian-api/1.1.0": {
125
125
+
"jar": "sha256-qarp/4rj4XoqGPeRdegrFiZ8JG+708qd+7spCwjc/dQ=",
126
126
+
"pom": "sha256-qUW5y1zZt3sscRhE5lnEPsBw71nZ9Qn6n0wYYbSGJxE="
127
127
+
},
128
128
+
"org/checkerframework#checker-qual/2.11.1": {
129
129
+
"jar": "sha256-AVIkpLHcbebaBTJz1Np9Oc/qIOYwOBafxFrA0dycWTg=",
130
130
+
"pom": "sha256-zy4MkNj3V0VfSiWOpglzkFNmO9XaannZvVP5NaR955w="
131
131
+
},
132
132
+
"org/jetbrains#annotations/13.0": {
133
133
+
"jar": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg=",
134
134
+
"pom": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c="
135
135
+
},
136
136
+
"org/jetbrains/intellij/deps#trove4j/1.0.20181211": {
137
137
+
"jar": "sha256-r/t8haPIe9z2n/HbuE3hH2PckxKTk0vAjNerGN4INgE=",
138
138
+
"pom": "sha256-MQpqotkFNMMrj0bx/JjNDtrpXc38oj4oR+Xvqa4MAZo="
139
139
+
},
140
140
+
"org/jetbrains/kotlin#kotlin-android-extensions/1.6.0": {
141
141
+
"jar": "sha256-TPrz8BIFF78dbY07r8+uHomMZ9P3yLdocIG/uBk8ftQ=",
142
142
+
"pom": "sha256-hlMj+0VThiKBTO4p4gN1AamL/eUwVzg2+gCBPvSVcR4="
143
143
+
},
144
144
+
"org/jetbrains/kotlin#kotlin-annotation-processing-gradle/1.6.0": {
145
145
+
"jar": "sha256-hnP///sAqxYDPZD2x/7BC10xDKQPvkNRmrQRi/yEF5w=",
146
146
+
"pom": "sha256-G0C/0FxYRRS55Z1YnjPCZb456Z6gRvhHxe411uUFjiM="
147
147
+
},
148
148
+
"org/jetbrains/kotlin#kotlin-build-common/1.6.0": {
149
149
+
"jar": "sha256-4kp7cGukVhi07kOWa2JQETbQBgsDL46fGNGD2gWxv0M=",
150
150
+
"pom": "sha256-93xRil6Ux4dnVflhEApdtQuSQFTH8GQqSIMeJagk8pE="
151
151
+
},
152
152
+
"org/jetbrains/kotlin#kotlin-compiler-embeddable/1.6.0": {
153
153
+
"jar": "sha256-A2aEPNLe/dWDxrFrELwyuF8oxb+VEPEORMiG9b0kw4g=",
154
154
+
"pom": "sha256-KlWcBwvS5YxY2x5/z2T7t92+hHciXec9Zu4AAQiocCQ="
155
155
+
},
156
156
+
"org/jetbrains/kotlin#kotlin-compiler-runner/1.6.0": {
157
157
+
"jar": "sha256-avdSCvhKRCxqvxvXKFunG6xzZWYLLQj9BMhOw1NjPUk=",
158
158
+
"pom": "sha256-Oc+l/Aqzv3VwSfj9Dx6bNbYrebnTJdLPlwLVqaDY/jc="
159
159
+
},
160
160
+
"org/jetbrains/kotlin#kotlin-daemon-client/1.6.0": {
161
161
+
"jar": "sha256-bBsv3jMVh50Ml35fJRU5fngpvQrfiSHkxf262DLrwqE=",
162
162
+
"pom": "sha256-gatFLaX29bavP6ggpywNKNCfVUTU7EXafxFDG6Xtkhg="
163
163
+
},
164
164
+
"org/jetbrains/kotlin#kotlin-daemon-embeddable/1.6.0": {
165
165
+
"jar": "sha256-INCHBqoXdi/lqwOpFtYsm37iEdIIRKiqvg24PZ2QKEo=",
166
166
+
"pom": "sha256-dTHQzBNuWUgjMpvMExxPHv4XP8OVr4Lus4/SZhbckfY="
167
167
+
},
168
168
+
"org/jetbrains/kotlin#kotlin-gradle-plugin-api/1.6.0": {
169
169
+
"jar": "sha256-yGksM4gmxIQlv8h/q2nLef4tT1+B/wWMkpQYvw2pfRU=",
170
170
+
"pom": "sha256-HP5CdZvSCiU6S36NvQ5yll5nReE1Duzd6lOZsjy40Wg="
171
171
+
},
172
172
+
"org/jetbrains/kotlin#kotlin-gradle-plugin-model/1.6.0": {
173
173
+
"jar": "sha256-ne9NHPDZV3pRGiqk9/MQ7MwkJDsFwCpxelExxMj5ll4=",
174
174
+
"pom": "sha256-aZyyu6C03O/rmbelzYHM8MLOPWi8AVgZCAli7mflbUs="
175
175
+
},
176
176
+
"org/jetbrains/kotlin#kotlin-gradle-plugin/1.6.0": {
177
177
+
"jar": "sha256-twN61m6wybWbrcqiONHFQmcVt5eqdwk0cwe3XBrawWo=",
178
178
+
"pom": "sha256-G6PfHEnY5ZBuWyGdFyCRd7nnb4M9xPFuwbjPjRA/qN4="
179
179
+
},
180
180
+
"org/jetbrains/kotlin#kotlin-klib-commonizer-api/1.6.0": {
181
181
+
"jar": "sha256-/GqznpDYIibZuLzOAYdhZOW6/RrAogPz8DB4yxtIMB8=",
182
182
+
"pom": "sha256-elUGa/rRTIyZqq8GCHV+uKfl7LzODzC9J+56qWtWoAk="
183
183
+
},
184
184
+
"org/jetbrains/kotlin#kotlin-klib-commonizer-embeddable/1.6.0": {
185
185
+
"jar": "sha256-x8gRYmPShf5TjnwZaEHiNaqPe52fasNhP4jeU7Jh2MM=",
186
186
+
"pom": "sha256-htOIK0/IKs3DheQpnn76HaZQvzUG/lqg+F5FzNwmmss="
187
187
+
},
188
188
+
"org/jetbrains/kotlin#kotlin-native-utils/1.6.0": {
189
189
+
"jar": "sha256-oLD9fer0/hCwZxNVJYvGN1nj0kpxFc7/h7x0G/p86ew=",
190
190
+
"pom": "sha256-a9fh1Kc7At/mYvqDdkrikRPrWqItrdGKVn8cfpdCQhs="
191
191
+
},
192
192
+
"org/jetbrains/kotlin#kotlin-project-model/1.6.0": {
193
193
+
"jar": "sha256-OBNdP5lfxQXWBK7S6CrFuoWLKmo+R2iZw7i+R/0iK2g=",
194
194
+
"pom": "sha256-sMn75G5kDHVwJEMc9+p5PdmN2nbRFe9K5OXz1B9nH9Q="
195
195
+
},
196
196
+
"org/jetbrains/kotlin#kotlin-reflect/1.6.0": {
197
197
+
"jar": "sha256-xhYYhCCSIdt/XdsDG7SAo8RruQ1bZdfMAWexSaqpxJQ=",
198
198
+
"pom": "sha256-hcz47mWEylEpbV8yn+zAIerbRbxqLDu9qMrmAvWO4lQ="
199
199
+
},
200
200
+
"org/jetbrains/kotlin#kotlin-script-runtime/1.6.0": {
201
201
+
"jar": "sha256-3coPdlxBbnek2IFvPS327alT9hr4EXN4RqIgMyJaDlc=",
202
202
+
"pom": "sha256-GsP9ZI4oCa3h+13heKISaNPXurUYNV7dTEmAXMsx1c4="
203
203
+
},
204
204
+
"org/jetbrains/kotlin#kotlin-scripting-common/1.6.0": {
205
205
+
"jar": "sha256-FmmbBwr8RCIwDJ7WboHpi2X3xpH6qFK41EGV5QndbSI=",
206
206
+
"pom": "sha256-9l4xIUhL0lNnX9BqxOiCkuDk8zV7kBKjRYKlc02OOVA="
207
207
+
},
208
208
+
"org/jetbrains/kotlin#kotlin-scripting-compiler-embeddable/1.6.0": {
209
209
+
"jar": "sha256-LNHG9q9pwWt5NNfY1nwYM0m0NPRQSC1yKalgcTb6BEc=",
210
210
+
"pom": "sha256-4jtqC3HdlDRIRzwooThIk8LMx6tK9hMwCVuFEmBYMvo="
211
211
+
},
212
212
+
"org/jetbrains/kotlin#kotlin-scripting-compiler-impl-embeddable/1.6.0": {
213
213
+
"jar": "sha256-5L1IkGdG5M0Z4BZEVZncomg6mU2gasOMrTg6rEgzjag=",
214
214
+
"pom": "sha256-ZX90rM8Q8WYXJBIvDgLIBkMFyuLSgAxZQmqIQG80cPE="
215
215
+
},
216
216
+
"org/jetbrains/kotlin#kotlin-scripting-jvm/1.6.0": {
217
217
+
"jar": "sha256-X2p+onTLbGxDcglKNXLfKjkqpTifFVO4JIc9YtYANlI=",
218
218
+
"pom": "sha256-nzZY4pTKV2EytPaUIOpJsp3twftsDl0HqygOq75tCzY="
219
219
+
},
220
220
+
"org/jetbrains/kotlin#kotlin-stdlib-common/1.6.0": {
221
221
+
"jar": "sha256-ZEpyV8I7UaH9UGiWDkCSLj5SwhnxHs4+BAo6vHSCPyI=",
222
222
+
"pom": "sha256-iZ6XwgKLX3or2vZ1H6KgG2h+PuKngXZ8iiJ8v/tsAYQ="
223
223
+
},
224
224
+
"org/jetbrains/kotlin#kotlin-stdlib/1.6.0": {
225
225
+
"jar": "sha256-EV2uowsNSEr88jYCN7nZU39IpKLwPzzCoWV338bpA0I=",
226
226
+
"pom": "sha256-cSpt3XF8zVsNUOdMM16TqbGRBSzXu4KWBSAJu4XJRBI="
227
227
+
},
228
228
+
"org/jetbrains/kotlin#kotlin-tooling-metadata/1.6.0": {
229
229
+
"jar": "sha256-X3m1R/gM66SC1vcYRLI0ReEJ9oXrdEgQRGeM11worXc=",
230
230
+
"pom": "sha256-yYlWnKkvPwTPHmuhScQ8SVao2dyXk5vkmPHfUvQMwsU="
231
231
+
},
232
232
+
"org/jetbrains/kotlin#kotlin-util-io/1.6.0": {
233
233
+
"jar": "sha256-rbeHTvdxKKs7CVP/SeyAEjnIN/5xMcMUfO+duLvfVzk=",
234
234
+
"pom": "sha256-PGMhnFxVPRyfo2HTbtzZsDXL6QzpS86hqhR4F3IvY5w="
235
235
+
},
236
236
+
"org/jetbrains/kotlin#kotlin-util-klib/1.6.0": {
237
237
+
"jar": "sha256-qWMcC3gjxpuNM1AqKGPnV0MI2fnBLj8o9LW79sKkH3Q=",
238
238
+
"pom": "sha256-YJjHylRvWZ35UdQOKaAdqT9NepB1l5Uy7hSSmzjE42g="
239
239
+
},
240
240
+
"org/jetbrains/kotlinx#kotlinx-coroutines-core-jvm/1.5.0": {
241
241
+
"jar": "sha256-eNbMcTX4TWkv83Uvz9H6G74JQNffcGUuTx6u7Ax4r7s=",
242
242
+
"module": "sha256-yIXdAoEHbFhDgm3jF+PLzcPYhZ2+71OuHPrNG5xg+W4=",
243
243
+
"pom": "sha256-U2IuA3eN+EQPwBIgGjW7S9/kAWTv7GErvvze7LL/wqs="
244
244
+
},
245
245
+
"org/junit#junit-bom/5.7.1": {
246
246
+
"module": "sha256-mFTjiU1kskhSB+AEa8oHs9QtFp54L0+oyc4imnj67gQ=",
247
247
+
"pom": "sha256-C5sUo9YhBvr+jGinF7h7h60YaFiZRRt1PAT6QbaFd4Q="
248
248
+
},
249
249
+
"org/junit/jupiter#junit-jupiter-api/5.7.1": {
250
250
+
"jar": "sha256-znuYW8Rp4mJXWaTrxFUzxwWBoFo0gnjB1kCOmy414xQ=",
251
251
+
"module": "sha256-AiFvaghBm7NdVHeGPZ0hpoxXWRqol7qYGmHFVFZWzX4=",
252
252
+
"pom": "sha256-1Vvisj13FDKXB3IEMgey5mpnJK4CvVGStyFuS3AbxiM="
253
253
+
},
254
254
+
"org/junit/jupiter#junit-jupiter-engine/5.7.1": {
255
255
+
"jar": "sha256-VmFsk1CzYk92z/72skznuyIpFb/VaI+W089M7zTwd8s=",
256
256
+
"module": "sha256-2A5S75X2XNxQT8Mb4KArJYnJ78JzpCVcs2NyPOVMr/8=",
257
257
+
"pom": "sha256-gRF+OjoCDf3W8wkcXseU0stJhAcxrPQogxxWmQEvTLs="
258
258
+
},
259
259
+
"org/junit/jupiter#junit-jupiter-params/5.7.1": {
260
260
+
"jar": "sha256-jv/df4pLpVWLVoGE3uCACLJEPIbGc++B3lhh+8fvBhM=",
261
261
+
"module": "sha256-TUOYtYCpnIVNnxF6bk44o9GOZSJ2obzmeaDDx5nGFL0=",
262
262
+
"pom": "sha256-UIPD5bw9OhjVY6M0fVPi3f35ONdh60TbsL9PQgX+6Sw="
263
263
+
},
264
264
+
"org/junit/platform#junit-platform-commons/1.7.1": {
265
265
+
"jar": "sha256-fFRr6GhkcY+6zrefqE/x06UWUA/EKPGyHQYcLg+8Wks=",
266
266
+
"module": "sha256-5abLDsz80tAuaGvyt2OnBCTQiB2/+uvjp/kxShhT+TE=",
267
267
+
"pom": "sha256-t8GENMTUsn5yO9SKr5ercK7IwMra1MFTkvvdFEykpQo="
268
268
+
},
269
269
+
"org/junit/platform#junit-platform-engine/1.7.1": {
270
270
+
"jar": "sha256-N99anNbbwfdUuitG+WuIdKg2YOF5a/OMc48CLc+Gwj8=",
271
271
+
"module": "sha256-S2knc2Ouooq1DFpnYZ++q/jAgk5JOOYmC6wEjlvrga8=",
272
272
+
"pom": "sha256-dmAvWZVKo9+mjjHIDKibb7ouoAG0+wbLUfoV6tfIWjA="
273
273
+
},
274
274
+
"org/lz4#lz4-java/1.8.0": {
275
275
+
"jar": "sha256-10ozNPs1GVAJszipUfkYID1rvKPR01kDPcM+3Rytye8=",
276
276
+
"pom": "sha256-DbittR4TJFSlxAbeuy8aDfgfk91Z++IMuUcQKZRokDQ="
277
277
+
},
278
278
+
"org/opentest4j#opentest4j/1.2.0": {
279
279
+
"jar": "sha256-WIEt5giY2Xb7ge87YtoFxmBMGP1KJJ9QRCgkefwoavI=",
280
280
+
"pom": "sha256-qW5nGBbB/4gDvex0ySQfAlvfsnfaXStO4CJmQFk2+ZQ="
281
281
+
},
282
282
+
"org/sonatype/oss#oss-parent/7": {
283
283
+
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
284
284
+
},
285
285
+
"org/sonatype/oss#oss-parent/9": {
286
286
+
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
287
287
+
}
288
288
+
},
289
289
+
"https://www.libsdl.org": {
290
290
+
"release/SDL2-devel-2.0.20-mingw": {
291
291
+
"tar.gz": "sha256-OAlNgqhX1sYjUuXFzex0lIxbTSXFnL0pjW0jNWiXa9E="
292
292
+
}
293
293
+
}
294
294
+
}