koffi 0.9.37 → 0.9.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -263,13 +263,13 @@ MessageBoxA(null, 'Hello', 'Foobar', MB_ICONINFORMATION);
263
263
 
264
264
  Koffi is tested on multiple architectures using emulated (accelerated when possible) QEMU machines. First, you need to install qemu packages, such as `qemu-system` (or even `qemu-system-gui`) on Ubuntu.
265
265
 
266
- These machines are not included directly in this repository (for license and size reasons), but they are available here: https://koromix.dev/files/koffi/machines/
266
+ These machines are not included directly in this repository (for license and size reasons), but they are available here: https://koromix.dev/files/koffi/
267
267
 
268
268
  For example, if you want to run the tests on Debian ARM64, run the following commands:
269
269
 
270
270
  ```sh
271
- cd luigi/koffi/test/
272
- wget -q -O- https://koromix.dev/files/koffi/machines/qemu_debian_arm64.tar.zst | zstd -d | tar xv
271
+ cd luigi/koffi/qemu/
272
+ wget -q -O- https://koromix.dev/files/koffi/emu_debian_arm64.tar.zst | zstd -d | tar xv
273
273
  sha256sum -c --ignore-missing registry/sha256sum.txt
274
274
  ```
275
275
 
@@ -278,7 +278,7 @@ Note that the machine disk content may change each time the machine runs, so the
278
278
  And now you can run the tests with:
279
279
 
280
280
  ```sh
281
- node test.js # Several options are available, use --help
281
+ node qemu.js # Several options are available, use --help
282
282
  ```
283
283
 
284
284
  And be patient, this can be pretty slow for emulated machines. The Linux machines have and use ccache to build Koffi, so subsequent build steps will get much more tolerable.
@@ -286,32 +286,32 @@ And be patient, this can be pretty slow for emulated machines. The Linux machine
286
286
  By default, machines are started and stopped for each test. But you can start the machines ahead of time and run the tests multiple times instead:
287
287
 
288
288
  ```sh
289
- node test.js start # Start the machines
290
- node test.js # Test (without shutting down)
291
- node test.js # Test again
292
- node test.js stop # Stop everything
289
+ node qemu.js start # Start the machines
290
+ node qemu.js # Test (without shutting down)
291
+ node qemu.js # Test again
292
+ node qemu.js stop # Stop everything
293
293
  ```
294
294
 
295
295
  You can also restrict the test to a subset of machines:
296
296
 
297
297
  ```sh
298
298
  # Full test cycle
299
- node test.js test debian_x64 debian_i386
299
+ node qemu.js test debian_x64 debian_i386
300
300
 
301
301
  # Separate start, test, shutdown
302
- node test.js start debian_x64 debian_i386
303
- node test.js test debian_x64 debian_i386
304
- node test.js stop
302
+ node qemu.js start debian_x64 debian_i386
303
+ node qemu.js test debian_x64 debian_i386
304
+ node qemu.js stop
305
305
  ```
306
306
 
307
307
  Finally, you can join a running machine with SSH with the following shortcut, if you need to do some debugging or any other manual procedure:
308
308
 
309
309
  ```sh
310
- node test.js ssh debian_i386
310
+ node qemu.js ssh debian_i386
311
311
  ```
312
312
 
313
313
  Each machine is configured to run a VNC server available locally, which you can use to access the display, using KRDC or any other compatible viewer. Use the `info` command to get the VNC port.
314
314
 
315
315
  ```sh
316
- node test.js info debian_x64
316
+ node qemu.js info debian_x64
317
317
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "koffi",
3
- "version": "0.9.37",
3
+ "version": "0.9.40",
4
4
  "description": "Fast and simple FFI (foreign function interface) for Node.js",
5
5
  "keywords": [
6
6
  "foreign",
@@ -18,12 +18,13 @@
18
18
  "author": "Niels Martignène <niels.martignene@protonmail.com>",
19
19
  "main": "src/index.js",
20
20
  "scripts": {
21
- "install": "cnoke --prebuild https://koromix.dev/files/koffi/builds/{{version}}/koffi_{{platform}}_{{arch}}.tar.gz",
22
- "test": "node test/test.js"
21
+ "install": "cnoke --prebuild qemu/build/{{version}}/koffi_{{platform}}_{{arch}}.tar.gz",
22
+ "test": "node qemu/qemu.js",
23
+ "prepublishOnly": "node qemu/qemu.js pack"
23
24
  },
24
25
  "license": "AGPL-3.0",
25
26
  "dependencies": {
26
- "cnoke": "^1.0.4"
27
+ "cnoke": "^1.0.5"
27
28
  },
28
29
  "devDependencies": {
29
30
  "chalk": "^4.1.2",
@@ -46,6 +47,7 @@
46
47
  "vendor",
47
48
  "LICENSE.txt",
48
49
  "README.md",
49
- "CMakeLists.txt"
50
+ "CMakeLists.txt",
51
+ "qemu/build/0.9.38/*.tar.gz"
50
52
  ]
51
53
  }
package/src/parser.cc CHANGED
@@ -26,11 +26,13 @@ bool PrototypeParser::Parse(Napi::String proto, FunctionInfo *func)
26
26
  return false;
27
27
  }
28
28
 
29
+ std::string hold = proto;
30
+
29
31
  tokens.Clear();
30
32
  offset = 0;
31
33
  valid = true;
32
34
 
33
- Tokenize(std::string(proto).c_str());
35
+ Tokenize(hold.c_str());
34
36
 
35
37
  func->ret.type = ParseType();
36
38
  if (Match("__cdecl")) {
@@ -107,7 +107,7 @@ endif()
107
107
 
108
108
  # ---- Misc ----
109
109
 
110
- add_library(misc SHARED tests/misc.c)
110
+ add_library(misc SHARED misc.c)
111
111
  set_target_properties(misc PROPERTIES PREFIX "")
112
112
 
113
113
  if(MSVC)
@@ -1,415 +0,0 @@
1
- {
2
- "debian_arm32": {
3
- "name": "Debian ARM32",
4
-
5
- "qemu": {
6
- "binary": "qemu-system-arm",
7
- "arguments": ["-M", "virt", "-cpu", "cortex-a15", "-m", "1G", "-smp", 2, "-kernel", "vmlinuz-5.10.0-12-armmp-lpae", "-initrd", "initrd.img-5.10.0-12-armmp-lpae", "-append", "root=/dev/vda2 apparmor=0", "-drive", "if=none,file=disk.qcow2,format=qcow2,id=hd", "-device", "virtio-blk-device,drive=hd", "-netdev", "user,id=mynet,hostfwd=tcp::22201-:22", "-device", "virtio-net-device,netdev=mynet", "-vnc", "127.0.0.1:11"]
8
- },
9
-
10
- "info": {
11
- "version": 3,
12
- "platform": "linux",
13
- "arch": "arm",
14
-
15
- "ssh_port": 22201,
16
- "vnc_port": 5911,
17
-
18
- "username": "debian",
19
- "password": "debian",
20
-
21
- "shutdown": "sudo poweroff"
22
- },
23
-
24
- "builds": {
25
- "Linux ARM32": {
26
- "directory": "/home/debian/luigi",
27
- "build": "node ../cnoke/cnoke.js"
28
- }
29
- },
30
-
31
- "tests": {
32
- "Linux ARM32": {
33
- "directory": "/home/debian/luigi",
34
- "build": {
35
- "Build": "node ../cnoke/cnoke.js -C test"
36
- },
37
- "commands": {
38
- "Test Raylib": "xvfb-run node test/tests/raylib.js",
39
- "Test Misc": "node test/tests/misc.js",
40
- "Test SQLite": "node test/tests/sqlite.js"
41
- }
42
- }
43
- }
44
- },
45
-
46
- "debian_arm64": {
47
- "name": "Debian ARM64",
48
-
49
- "qemu": {
50
- "binary": "qemu-system-aarch64",
51
- "arguments": ["-M", "virt", "-cpu", "cortex-a53", "-m", "1G", "-smp", 2, "-kernel", "vmlinuz-5.10.0-12-arm64", "-initrd", "initrd.img-5.10.0-12-arm64", "-append", "root=/dev/vda2 apparmor=0", "-drive", "if=none,file=disk.qcow2,format=qcow2,id=hd", "-device", "virtio-blk-device,drive=hd", "-netdev", "user,id=mynet,hostfwd=tcp::22202-:22", "-device", "virtio-net-device,netdev=mynet", "-vnc", "127.0.0.1:12"]
52
- },
53
-
54
- "info": {
55
- "version": 3,
56
- "platform": "linux",
57
- "arch": "arm64",
58
-
59
- "ssh_port": 22202,
60
- "vnc_port": 5912,
61
-
62
- "username": "debian",
63
- "password": "debian",
64
-
65
- "shutdown": "sudo poweroff"
66
- },
67
-
68
- "builds": {
69
- "Linux ARM64": {
70
- "directory": "/home/debian/luigi",
71
- "build": "node ../cnoke/cnoke.js"
72
- }
73
- },
74
-
75
- "tests": {
76
- "Linux ARM64": {
77
- "directory": "/home/debian/luigi",
78
- "build": {
79
- "Build": "node ../cnoke/cnoke.js -C test"
80
- },
81
- "commands": {
82
- "Test Raylib": "xvfb-run node test/tests/raylib.js",
83
- "Test Misc": "node test/tests/misc.js",
84
- "Test SQLite": "node test/tests/sqlite.js"
85
- }
86
- }
87
- }
88
- },
89
-
90
- "debian_i386": {
91
- "name": "Debian i386",
92
-
93
- "qemu": {
94
- "binary": "qemu-system-i386",
95
- "arguments": ["-cpu", "max", "-m", "1G", "-smp", 2, "-kernel", "vmlinuz-5.10.0-12-686-pae", "-initrd", "initrd.img-5.10.0-12-686-pae", "-append", "root=/dev/sda1 apparmor=0", "-hda", "disk.qcow2", "-netdev", "user,id=mynet,hostfwd=tcp::22203-:22", "-device", "e1000,netdev=mynet", "-vnc", "127.0.0.1:13"]
96
- },
97
-
98
- "info": {
99
- "version": 3,
100
- "platform": "linux",
101
- "arch": "ia32",
102
-
103
- "ssh_port": 22203,
104
- "vnc_port": 5913,
105
-
106
- "username": "debian",
107
- "password": "debian",
108
-
109
- "shutdown": "sudo poweroff"
110
- },
111
-
112
- "builds": {
113
- "Linux i386": {
114
- "directory": "/home/debian/luigi",
115
- "build": "node ../cnoke/cnoke.js"
116
- }
117
- },
118
-
119
- "tests": {
120
- "Linux i386": {
121
- "directory": "/home/debian/luigi",
122
- "build": {
123
- "Build": "node ../cnoke/cnoke.js -C test"
124
- },
125
- "commands": {
126
- "Test Raylib": "xvfb-run node test/tests/raylib.js",
127
- "Test Misc": "node test/tests/misc.js",
128
- "Test SQLite": "node test/tests/sqlite.js"
129
- }
130
- }
131
- }
132
- },
133
-
134
- "debian_x64": {
135
- "name": "Debian x64",
136
-
137
- "qemu": {
138
- "binary": "qemu-system-x86_64",
139
- "arguments": ["-m", "1G", "-smp", 2, "-kernel", "vmlinuz-5.10.0-12-amd64", "-initrd", "initrd.img-5.10.0-12-amd64", "-append", "root=/dev/sda1 apparmor=0", "-hda", "disk.qcow2", "-netdev", "user,id=mynet,hostfwd=tcp::22204-:22", "-device", "e1000,netdev=mynet", "-vnc", "127.0.0.1:14"]
140
- },
141
-
142
- "info": {
143
- "version": 3,
144
- "platform": "linux",
145
- "arch": "x64",
146
-
147
- "ssh_port": 22204,
148
- "vnc_port": 5914,
149
-
150
- "username": "debian",
151
- "password": "debian",
152
-
153
- "shutdown": "sudo poweroff"
154
- },
155
-
156
- "builds": {
157
- "Linux x64": {
158
- "directory": "/home/debian/luigi",
159
- "build": "node ../cnoke/cnoke.js"
160
- }
161
- },
162
-
163
- "tests": {
164
- "Linux x64": {
165
- "directory": "/home/debian/luigi",
166
- "build": {
167
- "Build": "node ../cnoke/cnoke.js -C test"
168
- },
169
- "commands": {
170
- "Test Raylib": "xvfb-run node test/tests/raylib.js",
171
- "Test Misc": "node test/tests/misc.js",
172
- "Test SQLite": "node test/tests/sqlite.js"
173
- }
174
- }
175
- }
176
- },
177
-
178
- "windows": {
179
- "name": "Windows",
180
-
181
- "qemu": {
182
- "binary": "qemu-system-x86_64",
183
- "arguments": ["-m", "3G", "-smp", 4, "-rtc", "clock=host,base=localtime", "-bios", "bios.bin", "-hda", "disk.qcow2", "-netdev", "user,id=mynet,hostfwd=tcp::22205-:22", "-device", "e1000,netdev=mynet", "-vga", "std", "-device", "qemu-xhci", "-device", "usb-tablet", "-vnc", "127.0.0.1:15"]
184
- },
185
-
186
- "info": {
187
- "version": 7,
188
- "platform": "win32",
189
- "arch": "x64",
190
-
191
- "ssh_port": 22205,
192
- "vnc_port": 5915,
193
-
194
- "username": "windows",
195
- "password": "windows",
196
-
197
- "shutdown": "shutdown -s -t 0"
198
- },
199
-
200
- "builds": {
201
- "Windows i386": {
202
- "arch": "ia32",
203
- "directory": "C:/Users/windows/Desktop/luigi32",
204
- "build": "C:\\Node32\\node32.cmd node ../cnoke/cnoke.js"
205
- },
206
-
207
- "Windows x64": {
208
- "arch": "x64",
209
- "directory": "C:/Users/windows/Desktop/luigi64",
210
- "build": "C:\\Node64\\node64.cmd node ../cnoke/cnoke.js"
211
- }
212
- },
213
-
214
- "tests": {
215
- "Windows i386": {
216
- "directory": "C:/Users/windows/Desktop/luigi32",
217
- "build": {
218
- "Build": "C:\\Node32\\node32.cmd node ../cnoke/cnoke.js -C test"
219
- },
220
- "commands": {
221
- "Test Raylib": "seatsh C:\\Node32\\node32.cmd node test/tests/raylib.js",
222
- "Test Misc": "C:\\Node32\\node32.cmd node test/tests/misc.js",
223
- "Test SQLite": "C:\\Node32\\node32.cmd node test/tests/sqlite.js"
224
- }
225
- },
226
-
227
- "Windows x64": {
228
- "directory": "C:/Users/windows/Desktop/luigi64",
229
- "build": {
230
- "Build": "C:\\Node64\\node64.cmd node ../cnoke/cnoke.js -C test"
231
- },
232
- "commands": {
233
- "Test Raylib": "seatsh C:\\Node64\\node64.cmd node test/tests/raylib.js",
234
- "Test Misc": "C:\\Node64\\node64.cmd node test/tests/misc.js",
235
- "Test SQLite": "C:\\Node64\\node64.cmd node test/tests/sqlite.js"
236
- }
237
- }
238
- }
239
- },
240
-
241
- "freebsd_x64": {
242
- "name": "FreeBSD x64",
243
-
244
- "qemu": {
245
- "binary": "qemu-system-x86_64",
246
- "arguments": ["-m", "1G", "-smp", 2, "-hda", "disk.qcow2", "-netdev", "user,id=mynet,hostfwd=tcp::22206-:22", "-device", "e1000,netdev=mynet", "-vnc", "127.0.0.1:16"]
247
- },
248
-
249
- "info": {
250
- "version": 1,
251
- "platform": "freebsd",
252
- "arch": "x64",
253
-
254
- "ssh_port": 22206,
255
- "vnc_port": 5916,
256
-
257
- "username": "freebsd",
258
- "password": "freebsd",
259
-
260
- "shutdown": "sudo poweroff"
261
- },
262
-
263
- "builds": {
264
- "FreeBSD x64": {
265
- "directory": "/home/freebsd/luigi",
266
- "build": "node ../cnoke/cnoke.js"
267
- }
268
- },
269
-
270
- "tests": {
271
- "FreeBSD x64": {
272
- "directory": "/home/freebsd/luigi",
273
- "build": {
274
- "Build": "node ../cnoke/cnoke.js -C test"
275
- },
276
- "commands": {
277
- "Test Raylib": "xvfb-run node test/tests/raylib.js",
278
- "Test Misc": "node test/tests/misc.js",
279
- "Test SQLite": "node test/tests/sqlite.js"
280
- }
281
- }
282
- }
283
- },
284
-
285
- "freebsd_i386": {
286
- "name": "FreeBSD i386",
287
-
288
- "qemu": {
289
- "binary": "qemu-system-i386",
290
- "arguments": ["-m", "1G", "-smp", 2, "-hda", "disk.qcow2", "-netdev", "user,id=mynet,hostfwd=tcp::22207-:22", "-device", "e1000,netdev=mynet", "-vnc", "127.0.0.1:17"]
291
- },
292
-
293
- "info": {
294
- "version": 1,
295
- "platform": "freebsd",
296
- "arch": "ia32",
297
-
298
- "ssh_port": 22207,
299
- "vnc_port": 5917,
300
-
301
- "username": "freebsd",
302
- "password": "freebsd",
303
-
304
- "shutdown": "sudo poweroff"
305
- },
306
-
307
- "builds": {
308
- "FreeBSD i386": {
309
- "directory": "/home/freebsd/luigi",
310
- "build": "node ../cnoke/cnoke.js"
311
- }
312
- },
313
-
314
- "tests": {
315
- "FreeBSD i386": {
316
- "directory": "/home/freebsd/luigi",
317
- "build": {
318
- "Build": "node ../cnoke/cnoke.js -C test"
319
- },
320
- "commands": {
321
- "Test Raylib": "xvfb-run node test/tests/raylib.js",
322
- "Test Misc": "node test/tests/misc.js",
323
- "Test SQLite": "node test/tests/sqlite.js"
324
- }
325
- }
326
- }
327
- },
328
-
329
- "freebsd_arm64": {
330
- "name": "FreeBSD ARM64",
331
-
332
- "qemu": {
333
- "binary": "qemu-system-aarch64",
334
- "arguments": ["-M", "virt", "-cpu", "cortex-a53", "-m", "1G", "-smp", 2, "-drive", "if=pflash,format=raw,file=QEMU_EFI.img", "-drive", "if=pflash,file=varstore.img", "-drive", "if=virtio,file=disk.qcow2,format=qcow2", "-netdev", "user,id=mynet,hostfwd=tcp::22208-:22", "-device", "virtio-net-device,netdev=mynet", "-vnc", "127.0.0.1:18"]
335
- },
336
-
337
- "info": {
338
- "version": 1,
339
- "platform": "freebsd",
340
- "arch": "arm64",
341
-
342
- "ssh_port": 22208,
343
- "vnc_port": 5918,
344
-
345
- "username": "freebsd",
346
- "password": "freebsd",
347
-
348
- "shutdown": "sudo poweroff"
349
- },
350
-
351
- "builds": {
352
- "FreeBSD ARM64": {
353
- "directory": "/home/freebsd/luigi",
354
- "build": "node ../cnoke/cnoke.js"
355
- }
356
- },
357
-
358
- "tests": {
359
- "FreeBSD ARM64": {
360
- "directory": "/home/freebsd/luigi",
361
- "build": {
362
- "Build": "node ../cnoke/cnoke.js -C test"
363
- },
364
- "commands": {
365
- "Test Raylib": "xvfb-run node test/tests/raylib.js",
366
- "Test Misc": "node test/tests/misc.js",
367
- "Test SQLite": "node test/tests/sqlite.js"
368
- }
369
- }
370
- }
371
- },
372
-
373
- "macos_x64": {
374
- "name": "macOS x64",
375
-
376
- "qemu": {
377
- "binary": "qemu-system-x86_64",
378
- "arguments": ["-m", "3G", "-machine", "q35", "-smp", 2, "-cpu", "Penryn,vendor=GenuineIntel,kvm=on,+sse3,+sse4.2,+aes,+xsave,+avx,+xsaveopt,+xsavec,+xgetbv1,+avx2,+bmi2,+smep,+bmi1,+fma,+movbe,+invtsc", "-device", "isa-applesmc,osk=ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc", "-smbios", "type=2", "-drive", "if=pflash,format=raw,readonly=on,file=OVMF_CODE.fd", "-drive", "if=pflash,format=raw,file=OVMF_VARS-1024x768.fd", "-vga", "qxl", "-device", "ich9-intel-hda", "-device", "hda-output", "-usb", "-device", "usb-kbd", "-device", "usb-tablet", "-netdev", "user,id=net0,hostfwd=tcp::22209-:22", "-device", "e1000-82545em,netdev=net0,id=net0,mac=52:54:00:c9:18:27", "-device", "ich9-ahci,id=sata", "-drive", "id=ESP,if=none,format=qcow2,file=ESP.qcow2", "-device", "ide-hd,bus=sata.2,drive=ESP", "-drive", "id=SystemDisk,if=none,file=macOS.qcow2", "-device", "ide-hd,bus=sata.4,drive=SystemDisk", "-vnc", "127.0.0.1:19"]
379
- },
380
-
381
- "info": {
382
- "version": 2,
383
- "platform": "darwin",
384
- "arch": "x64",
385
-
386
- "ssh_port": 22209,
387
- "vnc_port": 5919,
388
-
389
- "username": "macos",
390
- "password": "macos",
391
-
392
- "shutdown": "sudo shutdown -h now"
393
- },
394
-
395
- "builds": {
396
- "macOS x64": {
397
- "directory": "/Users/macos/luigi",
398
- "build": "PATH=/usr/local/bin:/usr/bin:/bin SDKROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk node ../cnoke/cnoke.js"
399
- }
400
- },
401
-
402
- "tests": {
403
- "macOS x64": {
404
- "directory": "/Users/macos/luigi",
405
- "build": {
406
- "Build": "PATH=/usr/local/bin:/usr/bin:/bin SDKROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk node ../cnoke/cnoke.js -C test"
407
- },
408
- "commands": {
409
- "Test Misc": "PATH=/usr/local/bin:/usr/bin:/bin node test/tests/misc.js",
410
- "Test SQLite": "PATH=/usr/local/bin:/usr/bin:/bin node test/tests/sqlite.js"
411
- }
412
- }
413
- }
414
- }
415
- }
@@ -1,45 +0,0 @@
1
- 10159baf262b43a92d95db59dae1f72c645127301661e0a3ce4e38b295a97c58 *qemu/windows/VERSION
2
- eb30b5652a0b7962710c72cb2ba79626347eee84ebe3fc5482a93ec8b8fe8b02 *qemu/windows/install.sh
3
- f8c9a1638a3fc2cdd214f2cbcad6fee0e3b2c9383942bbd49b3915bb4c3da102 *qemu/windows/bios.bin
4
- 23792b98aef4d169a9a0382a474b279d24dc0757698870f16b950f44dd7c2c2c *qemu/windows/disk.qcow2
5
- 1121cfccd5913f0a63fec40a6ffd44ea64f9dc135c66634ba001d10bcf4302a2 *qemu/debian_x64/VERSION
6
- ba418d2d602981fe324ae7a1a608b0f2d8d7c6113d03a429cc402e24ddc81311 *qemu/debian_x64/vmlinuz-5.10.0-12-amd64
7
- 4d44622e8ce058017c08051d694b8e5afe9ff406b6ad91c17ebc4ec43d205c42 *qemu/debian_x64/install.sh
8
- e349fd503c943541f24a91198ef29c1df26f120fd294a4a01426bbf46d7423f1 *qemu/debian_x64/initrd.img-5.10.0-12-amd64
9
- c84dc75dcfcd9ceeb969d6d1d2d4c37ef9c5edfa3c5dd93c6073588a2b02be63 *qemu/debian_x64/disk.qcow2
10
- 1121cfccd5913f0a63fec40a6ffd44ea64f9dc135c66634ba001d10bcf4302a2 *qemu/debian_arm64/VERSION
11
- 79c324a3901d8864628e804ac6490ca372782f836c6ea7d9e9843bd066247274 *qemu/debian_arm64/install.sh
12
- d05326434988381b4048a2e4aeac08497487d17f0cddb3b5ab69123a5d7be9ea *qemu/debian_arm64/vmlinuz-5.10.0-12-arm64
13
- b582530fdfbcd347f9a371e059a93b42e68258b2526d7ac1f9facefb89f3194d *qemu/debian_arm64/initrd.img-5.10.0-12-arm64
14
- 272d3d5d8b9a8d9505f0c236c92fbcdab4a118127b18727ca91fdc955927124f *qemu/debian_arm64/disk.qcow2
15
- 1121cfccd5913f0a63fec40a6ffd44ea64f9dc135c66634ba001d10bcf4302a2 *qemu/debian_arm32/VERSION
16
- 1b3784d44757394f8b318b85c2afda659ead4487e31600e635d0512eb41ce718 *qemu/debian_arm32/vmlinuz-5.10.0-12-armmp-lpae
17
- bb37ce287d9d262f467a4b88d0c45220f0d1abfa8e579511322c0c4572dd7774 *qemu/debian_arm32/install.sh
18
- fbbc2ed94c4a7bb22341f621e0226b71b8c3498f9a2cf4f7028af1c5c2b95006 *qemu/debian_arm32/initrd.img-5.10.0-12-armmp-lpae
19
- f52cd3988a0b8a5cd74f0cc3b3a36231f53618309d8ea9e98e056205bd1f8afb *qemu/debian_arm32/disk.qcow2
20
- ed05b84b7759ec945bb5422305a3a3c5b61d89e231844656ea31e07d89451a20 *qemu/debian_i386/vmlinuz-5.10.0-12-686-pae
21
- 1121cfccd5913f0a63fec40a6ffd44ea64f9dc135c66634ba001d10bcf4302a2 *qemu/debian_i386/VERSION
22
- 292a61c415a99a9c63a9337f1e074bea6c5df594e16bc40ded76141963c67ea4 *qemu/debian_i386/install.sh
23
- 8dc1360e1c23ea21931f5eb94461d15fac6bcec00cf42bf1e590b7fb937e80c1 *qemu/debian_i386/initrd.img-5.10.0-12-686-pae
24
- 338602d969f953cd88c2df736b9f8f7ee53029d233c83c7398258ae5bcb4e286 *qemu/debian_i386/disk.qcow2
25
- 6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b *qemu/freebsd_arm64/VERSION
26
- 5daea533330eb8d2f8df946561680e09f8dacc467fbf03d28caa2115d94386b5 *qemu/freebsd_arm64/QEMU_EFI.img
27
- a083e4e1f58f477e4a9e8ae30f75660e82275b88f77b5e2c7f5d6ee1deb43b41 *qemu/freebsd_arm64/varstore.img
28
- 53a4dc48317e1c9de4a088cd45ba39a1810f0bafad75c7f810e18d4e3eb340e3 *qemu/freebsd_arm64/install.sh
29
- a19ad06aec7972f3b95a56fb9bb8ac8a6afcd61b586f398691d58c704e8c466e *qemu/freebsd_arm64/disk.qcow2
30
- 10f2bc603b171368cacda43485f8f72567af0a9a490b7e0fa0c14c983ae66f16 *qemu/freebsd_arm64/xvfb-run.sh
31
- 6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b *qemu/freebsd_x64/VERSION
32
- 06eef544fe9c61d3905b0e588c306d1dedac7ee7d4c01df154ff6ed64e25ef77 *qemu/freebsd_x64/install.sh
33
- 060b66901313ddfcd434c20a7b13052b3e5126e43c4e44884b85191560bd99eb *qemu/freebsd_x64/disk.qcow2
34
- 10f2bc603b171368cacda43485f8f72567af0a9a490b7e0fa0c14c983ae66f16 *qemu/freebsd_x64/xvfb-run.sh
35
- 6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b *qemu/freebsd_i386/VERSION
36
- bdeac2cca1d22d70c2d388a50709d5cba3069bbd4bd1bcb102955b0ee12ca3e9 *qemu/freebsd_i386/install.sh
37
- 8191cea63d738cdca6df0b2d2d6953675e1dd33cac4d98fff88ba4367b182b64 *qemu/freebsd_i386/disk.qcow2
38
- 10f2bc603b171368cacda43485f8f72567af0a9a490b7e0fa0c14c983ae66f16 *qemu/freebsd_i386/xvfb-run.sh
39
- 16a4f09b3e70b97f5cfb1cf9b913d67d0ec45c4342d202cc9a2b2cfee852a8de *qemu/macos_x64/ESP.qcow2
40
- 5d2ac383371b408398accee7ec27c8c09ea5b74a0de0ceea6513388b15be5d1e *qemu/macos_x64/OVMF_VARS.fd
41
- d79538ac489f1948b04b65f12c5618c28e4a5de0be062f5cf1d73e422a091a37 *qemu/macos_x64/install.txt
42
- 5bb918652a31eb2059450c8b0b9b2fdf51fb600a9bd892f4e6f66b4080e3e764 *qemu/macos_x64/macOS.qcow2
43
- 5cc2d42949c7e4e763db0abeb88299972bafef991d87dbf744a5108ef9190f6f *qemu/macos_x64/OVMF_VARS-1024x768.fd
44
- 53c234e5e8472b6ac51c1ae1cab3fe06fad053beb8ebfd8977b010655bfdd3c3 *qemu/macos_x64/VERSION
45
- 2a247500e8ad9aa479994097ba5976bd881fde4de1516abd14491f3dba9fe060 *qemu/macos_x64/OVMF_CODE.fd