@daugasauron/dolly-image-default 0.0.0-stage → 0.1.4-rc.1

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.
Files changed (43) hide show
  1. package/Dollyfile +58 -0
  2. package/Dollyfile-amy +24 -0
  3. package/Dollyfile-core +49 -0
  4. package/Dollyfile-curl +58 -0
  5. package/Dollyfile-display +34 -0
  6. package/Dollyfile-ghostty-build +147 -0
  7. package/Dollyfile-git +191 -0
  8. package/Dollyfile-gzip +19 -0
  9. package/Dollyfile-mandoc +131 -0
  10. package/Dollyfile-nena +19 -0
  11. package/Dollyfile-posix +134 -0
  12. package/Dollyfile-ps +22 -0
  13. package/Dollyfile-system-build +464 -0
  14. package/Dollyfile-system-tools +242 -0
  15. package/Dollyfile-transfer +71 -0
  16. package/Dollyfile-zig-build +157 -0
  17. package/Dollyfile-zlib +48 -0
  18. package/README.md +18 -2
  19. package/dist/dolly-amy-system-snapshot.mjs +61 -0
  20. package/dist/dolly-core-system-snapshot.mjs +95 -0
  21. package/dist/dolly-curl-system-snapshot.mjs +74 -0
  22. package/dist/dolly-default-system-snapshot.mjs +459 -0
  23. package/dist/dolly-display-system-snapshot.mjs +98 -0
  24. package/dist/dolly-ghostty-build-system-snapshot.mjs +3583 -0
  25. package/dist/dolly-git-system-snapshot.mjs +137 -0
  26. package/dist/dolly-gzip-system-snapshot.mjs +70 -0
  27. package/dist/dolly-images.mjs +1268 -0
  28. package/dist/dolly-mandoc-system-snapshot.mjs +135 -0
  29. package/dist/dolly-nena-system-snapshot.mjs +58 -0
  30. package/dist/dolly-posix-system-snapshot.mjs +265 -0
  31. package/dist/dolly-ps-system-snapshot.mjs +43 -0
  32. package/dist/dolly-system-build-system-snapshot.mjs +1965 -0
  33. package/dist/dolly-system-tools-system-snapshot.mjs +2296 -0
  34. package/dist/dolly-transfer-system-snapshot.mjs +61 -0
  35. package/dist/dolly-zig-build-system-snapshot.mjs +3502 -0
  36. package/dist/dolly-zlib-system-snapshot.mjs +60 -0
  37. package/dist/packs/0783767f26f8e79bac2e9a5337aa05b4c7cf0e5ec3d03f73ca393d3949a064fa.snapshot.gz +0 -0
  38. package/dist/packs/153becb9a727327866389d89eca64e9f0b60a33d545b9e0e8c561e10c9ab327f.snapshot.gz +0 -0
  39. package/dist/packs/291bc8dc868becf690902a0092d64db86298ff26d6787cb742afb8ec86124ed0.snapshot.gz +0 -0
  40. package/dist/packs/3a6a5f2102877637bc6d81e66af9b5ab063c27a9ad0e9a01ad11df979f6b6acb.snapshot.gz +0 -0
  41. package/dist/packs/4d55e5ac579b6047065f9180df912fa2a21af4e1c764415a299cb89b3c0090c0.snapshot.gz +0 -0
  42. package/index.mjs +6 -0
  43. package/package.json +15 -4
@@ -0,0 +1,242 @@
1
+ DOLLY 7
2
+ TOOLCHAIN system-tools
3
+ REQUIRES HOST runtime@0
4
+ REQUIRES HOST display@0
5
+ REQUIRES HOST input@0
6
+ REQUIRES HOST http@0
7
+ REQUIRES HOST threads@0
8
+
9
+ FROM /v0.1.4/Dollyfile-system-build 7997c05ba08220831088b2aa713c86dbf0ded0229bbfa84f411476f00269d9fc
10
+ # Unchanged upstream sbase commands, built by sbase's own Makefile.
11
+ REQUIRES HEADER libc
12
+ REQUIRES TOOL ar
13
+ REQUIRES TOOL cc
14
+ REQUIRES TOOL make
15
+ REQUIRES TOOL mv
16
+ REQUIRES TOOL rm
17
+ REQUIRES TOOL tar
18
+
19
+ SOURCE /v0.1.4/dist/static/default/sbase.tar 23daa7bd6d5169ba5ad4a9801fe039ba28b103e3dbb74583fccb48f3333253eb /tmp/sbase.tar
20
+ SLOP tar \
21
+ -xf /tmp/sbase.tar \
22
+ -C /
23
+
24
+ FILE /tmp/sbase/dolly.mk
25
+ TOOLS = basename cksum cmp comm cut date dd dirname expand expr false fold \
26
+ grep head join kill ln md5sum mktemp nl od paste pathchk \
27
+ printenv printf readlink rmdir sed seq sha256sum sleep sort split \
28
+ strings tail tee tr true \
29
+ tsort uname unexpand uniq wc which
30
+ .RECIPEPREFIX := >
31
+ dolly-bin: $(TOOLS)
32
+ >mv $(TOOLS) /bin
33
+ >mv $(TOOLS:=.1) /usr/share/man/man1
34
+ .RECIPEPREFIX :=
35
+ include Makefile
36
+ SLOP make \
37
+ -C /tmp/sbase \
38
+ -f dolly.mk \
39
+ CFLAGS=-O2 \
40
+ ARFLAGS=rc \
41
+ RANLIB=:
42
+
43
+ EXPORTS TOOL basename
44
+ EXPORTS TOOL cksum
45
+ EXPORTS TOOL cmp
46
+ EXPORTS TOOL comm
47
+ EXPORTS TOOL cut
48
+ EXPORTS TOOL date
49
+ EXPORTS TOOL dd
50
+ EXPORTS TOOL dirname
51
+ EXPORTS TOOL expand
52
+ EXPORTS TOOL expr
53
+ EXPORTS TOOL false
54
+ EXPORTS TOOL fold
55
+ EXPORTS TOOL grep
56
+ EXPORTS TOOL head
57
+ EXPORTS TOOL join
58
+ EXPORTS TOOL kill
59
+ EXPORTS TOOL ln
60
+ EXPORTS TOOL md5sum
61
+ EXPORTS TOOL mktemp
62
+ EXPORTS TOOL nl
63
+ EXPORTS TOOL od
64
+ EXPORTS TOOL paste
65
+ EXPORTS TOOL pathchk
66
+ EXPORTS TOOL printenv
67
+ EXPORTS TOOL printf
68
+ EXPORTS TOOL readlink
69
+ EXPORTS TOOL rmdir
70
+ EXPORTS TOOL sed
71
+ EXPORTS TOOL seq
72
+ EXPORTS TOOL sha256sum
73
+ EXPORTS TOOL sleep
74
+ EXPORTS TOOL sort
75
+ EXPORTS TOOL split
76
+ EXPORTS TOOL strings
77
+ EXPORTS TOOL tail
78
+ EXPORTS TOOL tee
79
+ EXPORTS TOOL tr
80
+ EXPORTS TOOL true
81
+ EXPORTS TOOL tsort
82
+ EXPORTS TOOL uname
83
+ EXPORTS TOOL unexpand
84
+ EXPORTS TOOL uniq
85
+ EXPORTS TOOL wc
86
+ EXPORTS TOOL which
87
+
88
+ FILE /usr/share/licenses/sbase/LICENSE
89
+
90
+ SLOP rm \
91
+ -rf \
92
+ /tmp/sbase \
93
+ /tmp/sbase.tar
94
+ # Shared C/C++ build and system utilities, without a display or Rust tools.
95
+ # Samurai is a compact Ninja-compatible executor. Its upstream parser, graph,
96
+ # depfile handling, and build log stay as separate ordinary C translation
97
+ # units, and its jobs start through posix_spawn, unchanged. `util.c` has two
98
+ # explicit loop checkpoints and is compiled without generic edge coverage,
99
+ # which otherwise causes a severe bootstrap-compiler blowup for that one file.
100
+ REQUIRES HEADER runtime
101
+
102
+ SOURCE /v0.1.4/dist/static/default/samurai.tar df4d14af0e48a206d1ccc175f134c3c81b6601b3d243b24561b1927ecd0afc45 /tmp/ninja/samurai.tar
103
+ SOURCE /v0.1.4/dist/static/default/runtimes/samurai-unit-dolly.c 4412175ad18939c580d6a31ca89a1284d313026674d5ac4faa0841aab379a4f7 /tmp/ninja/samurai-unit-dolly.c
104
+
105
+ FILE /tmp/ninja/Makefile
106
+ .RECIPEPREFIX := >
107
+ SOURCE_ROOT := /tmp/ninja/source
108
+ NAMES := build deps env graph htab log parse samu scan tool tree util os-posix
109
+ SOURCES := $(addprefix $(SOURCE_ROOT)/,$(addsuffix .c,$(NAMES)))
110
+ PARTS := 1 2 3 4 5 6 7 8 9 10 11 12 13
111
+ UNIT := /tmp/ninja/samurai-unit-dolly.c
112
+ OBJECTS := $(addprefix /tmp/ninja/part-,$(addsuffix .o,$(PARTS)))
113
+ CFLAGS := -O1 -std=c99 -D_POSIX_C_SOURCE=200809L -I $(SOURCE_ROOT)
114
+
115
+ all: /usr/bin/ninja
116
+
117
+ /tmp/ninja/part-12.o: $(UNIT) $(SOURCES)
118
+ >cc \
119
+ > $(CFLAGS) \
120
+ > -O0 \
121
+ > -DDOLLY_SAMURAI_PART=12 \
122
+ > -c $(UNIT) \
123
+ > -o $@
124
+
125
+ /tmp/ninja/part-%.o: $(UNIT) $(SOURCES)
126
+ >cc \
127
+ > $(CFLAGS) \
128
+ > -DDOLLY_SAMURAI_PART=$* \
129
+ > -c $(UNIT) \
130
+ > -o $@
131
+
132
+ /usr/bin/ninja: $(OBJECTS)
133
+ >cc $(OBJECTS) -o $@
134
+
135
+ SLOP tar \
136
+ -xf /tmp/ninja/samurai.tar \
137
+ -C /
138
+ SLOP make \
139
+ -f /tmp/ninja/Makefile
140
+
141
+ EXPORTS TOOL ninja
142
+
143
+ SLOP ninja \
144
+ --version
145
+ SLOP cp /tmp/ninja/source/samu.1 /usr/share/man/man1/ninja.1
146
+
147
+ FILE /usr/share/licenses/samurai/LICENSE
148
+
149
+ SLOP rm \
150
+ -rf \
151
+ /tmp/ninja
152
+ # zlib, gzip and curl for builds, and Git, which Dolly's patch and diff run.
153
+ INSTALL /v0.1.4/Dollyfile-zlib 7f3254e8d51bc7edd2fa47b19f3b1e2e43c747476ab93c57654639e4119abde7
154
+ INSTALL /v0.1.4/Dollyfile-gzip 1be14cb6142500862aa5362445cdfa3c5fc7f4817e775a614754e3dc91ead079
155
+ INSTALL /v0.1.4/Dollyfile-curl 173c3c37eeac846ba8caa316c656cb75e5facea793eb9434337550ddaf3d32d1
156
+ INSTALL /v0.1.4/Dollyfile-git e2e345443c205910aa59f4896970f54726e209eb522083a27ac9307e678eb26f
157
+ SOURCE /v0.1.4/dist/static/default/awk.tar f28cae177fa60793a70066d10667e8d06775d979f2262be1c48f8eb941090015 /tmp/awk.tar
158
+ SLOP tar \
159
+ -xf /tmp/awk.tar \
160
+ -C /
161
+
162
+ FILE /tmp/awk/Makefile
163
+ .RECIPEPREFIX := >
164
+ SOURCES := /usr/src/awk/awkgram.tab.c /usr/src/awk/b.c /usr/src/awk/main.c /usr/src/awk/parse.c /usr/src/awk/proctab.c /usr/src/awk/tran.c /usr/src/awk/lib.c /usr/src/awk/run.c /usr/src/awk/lex.c
165
+ all: /bin/awk
166
+ /usr/libexec/dolly/awk-maketab: /usr/src/awk/maketab.c
167
+ >cc -std=gnu99 -I /usr/src/awk -DNDEBUG $< -o $@
168
+ /usr/src/awk/proctab.c: /usr/libexec/dolly/awk-maketab /usr/src/awk/awkgram.tab.h
169
+ >/usr/libexec/dolly/awk-maketab /usr/src/awk/awkgram.tab.h > $@
170
+ /bin/awk: $(SOURCES)
171
+ >cc -std=gnu99 -fno-builtin -I /usr/src/awk -D_DEFAULT_SOURCE -DNDEBUG $^ -o $@
172
+ SLOP CWD /usr/src/awk make \
173
+ -f /tmp/awk/Makefile
174
+
175
+ EXPORTS TOOL awk
176
+ FILE /usr/share/licenses/awk/LICENSE
177
+
178
+ SLOP awk \
179
+ --version
180
+
181
+ SLOP rm \
182
+ -rf \
183
+ /tmp/awk \
184
+ /tmp/awk.tar \
185
+ /usr/libexec/dolly/awk-maketab \
186
+ /usr/src/awk
187
+ # Focused compatibility commands used by build systems and coding agents.
188
+ # Each remains a separate Wasm executable; wrappers which launch another tool
189
+ # do so through Dolly's in-userspace spawn/wait contract.
190
+ SOURCE /v0.1.4/dist/static/default/commands/run-program.h e73415ba149e8dcb9944313c36d8d2319202d699c810e02a26d5a94caa8f3a9f /tmp/agent-tools/run-program.h
191
+ SOURCE /v0.1.4/dist/static/default/commands/install.c 0aa8729ff8f6d8ecc454757226275b946b28c2e6783afd571f4c33a616cb4ba3 /tmp/agent-tools/install.c
192
+ SOURCE /v0.1.4/dist/static/default/commands/du.c 55b6a61ea8dc2a4355aaafc9a80d2218f397fa4d1e170b78462863fc9cb2ed63 /tmp/agent-tools/du.c
193
+ SOURCE /v0.1.4/dist/static/default/commands/rev.c 3539529d49f26629a6518437dc76631f113bcc5822ff5dbc8aa26481933f3d05 /tmp/agent-tools/rev.c
194
+ SOURCE /v0.1.4/dist/static/default/commands/command.c a84673243407a37f42b1a82a47fab4123c165b383761642874ba2ec081938bd3 /tmp/agent-tools/command.c
195
+ SOURCE /v0.1.4/dist/static/default/commands/xargs.c 4b94714fb29a296df4b71d648dbd222763ca11738b7c651d1de3f5ee5c84e9f3 /tmp/agent-tools/xargs.c
196
+ SOURCE /v0.1.4/dist/static/default/commands/find.c 342ba6df849456d47646b7531718ca9682d27b3215c355ebb156eae7e8b16813 /tmp/agent-tools/find.c
197
+ SOURCE /v0.1.4/dist/static/default/commands/env.c 62c71b67f4623f7b2f253c5474ff8745ed335325ed0392b992e4adc8653a6902 /tmp/agent-tools/env.c
198
+ SOURCE /v0.1.4/dist/static/default/commands/time.c bb49a29e708e9e32716e2d5bf4b4b4e662b07093d0e3731588ef7d41a53ad733 /tmp/agent-tools/time.c
199
+ SOURCE /v0.1.4/dist/static/default/commands/timeout.c 4864285ae0b36f853376e6e77855f4d1f8159b96d716bd9466606b9bef1c5f16 /tmp/agent-tools/timeout.c
200
+ SOURCE /v0.1.4/dist/static/default/commands/realpath.c 6ec82439ecf3ab1d21a40293ab7e585972c523d8c8e4573a60a7cef86af08250 /tmp/agent-tools/realpath.c
201
+ SOURCE /v0.1.4/dist/static/default/commands/hostname.c 14a20a493c8559d8b28f221a6edd9b6f89f893f3e3067093b44d7235b4ae060f /tmp/agent-tools/hostname.c
202
+ SOURCE /v0.1.4/dist/static/default/commands/tty.c c51c9598e8245d5f651ade70995f2b03fb936c42a0e99c4c81c83749c5714c7e /tmp/agent-tools/tty.c
203
+ SOURCE /v0.1.4/dist/static/default/commands/nproc.c 96ce7b8d1b1cee59d12193c2fa6fab5210bb7f0c9a0d0cc9bde7e0fd8d87c7ac /tmp/agent-tools/nproc.c
204
+
205
+ FILE /tmp/agent-tools/Makefile
206
+ .RECIPEPREFIX := >
207
+ NAMES := install du rev command xargs find env time timeout realpath hostname tty nproc
208
+ TOOLS := $(addprefix /bin/,$(NAMES))
209
+ all: $(TOOLS) $(NAMES:%=/usr/share/man/cat1/%.1)
210
+ /bin/%: /tmp/agent-tools/%.c /tmp/agent-tools/run-program.h
211
+ >cc -O2 $< -o $@
212
+ /usr/share/man/cat1/%.1: /bin/%
213
+ >$< --help > $@
214
+ SLOP make \
215
+ -f /tmp/agent-tools/Makefile
216
+
217
+ EXPORTS TOOL install
218
+ EXPORTS TOOL du
219
+ EXPORTS TOOL rev
220
+ EXPORTS TOOL command
221
+ EXPORTS TOOL xargs
222
+ EXPORTS TOOL find
223
+ EXPORTS TOOL env
224
+ EXPORTS TOOL time
225
+ EXPORTS TOOL timeout
226
+ EXPORTS TOOL realpath
227
+ EXPORTS TOOL hostname
228
+ EXPORTS TOOL tty
229
+ EXPORTS TOOL nproc
230
+
231
+ SLOP rm \
232
+ -rf \
233
+ /tmp/agent-tools
234
+ # Conventional pathname for upstream scripts; the implementation is Slop.
235
+ REQUIRES TOOL ln
236
+ SLOP ln -s slop /bin/sh
237
+ EXPORTS TOOL sh
238
+ SLOP cp /usr/share/man/cat1/slop.1 /usr/share/man/cat1/sh.1
239
+ FOLDER /usr/share/man
240
+ INSTALL /v0.1.4/Dollyfile-display d15ef860730ddefa417080c1d27cc0a26f03d5409c93805e9b3cbc5b6af61011
241
+
242
+ ENTRY /bin/foreground -i /bin/slop
@@ -0,0 +1,71 @@
1
+ DOLLY 7
2
+ PACKAGE transfer
3
+ REQUIRES HOST runtime@0
4
+ REQUIRES HOST download@0
5
+ REQUIRES HOST upload@0
6
+
7
+ # The page's file exchange: download offers a file of the session to the
8
+ # browser, upload takes one the user chooses.
9
+ FROM /v0.1.4/Dollyfile-system-build 7997c05ba08220831088b2aa713c86dbf0ded0229bbfa84f411476f00269d9fc
10
+ REQUIRES HEADER libc
11
+ REQUIRES HEADER download
12
+ REQUIRES HEADER upload
13
+ REQUIRES TOOL cc
14
+ REQUIRES TOOL rm
15
+
16
+ FILE /tmp/download/download.c
17
+ #include <stdio.h>
18
+ #include <string.h>
19
+
20
+ #include <dolly/download.h>
21
+
22
+ int main(int argc, char **argv) {
23
+ if (argc == 2 && strcmp(argv[1], "--help") == 0) {
24
+ fputs("usage: download FILE\n", stdout);
25
+ return 0;
26
+ }
27
+ if (argc != 2) {
28
+ fputs("download: expected one file\n", stderr);
29
+ return 2;
30
+ }
31
+ const int status = dolly_download_file(argv[1]);
32
+ if (status != 0) {
33
+ fprintf(stderr, "download: %s failed (%d)\n", argv[1], status);
34
+ return 1;
35
+ }
36
+ printf("download: requested %s\n", argv[1]);
37
+ return 0;
38
+ }
39
+
40
+ SLOP cc \
41
+ /tmp/download/download.c \
42
+ -o /bin/download
43
+
44
+ EXPORTS TOOL download
45
+ SLOP download --help > /usr/share/man/cat1/download.1
46
+
47
+ FILE /tmp/upload/upload.c
48
+ #include <dolly/upload.h>
49
+ #include <stdio.h>
50
+ #include <stdlib.h>
51
+ #include <string.h>
52
+ int main(int argc, char **argv) {
53
+ if (argc != 2 || strcmp(argv[1], "--help") == 0) {
54
+ fprintf(argc == 2 ? stdout : stderr, "usage: upload DESTINATION\nChoose a file in the browser (up to %u MiB). Existing files are never replaced.\n",
55
+ DOLLY_UPLOAD_MAX_SIZE >> 20);
56
+ return argc == 2 ? 0 : 2;
57
+ }
58
+ puts("upload: choose a file in the browser, or cancel");
59
+ fflush(stdout);
60
+ const int result = dolly_upload_file(argv[1]);
61
+ if (result < 0) { fprintf(stderr, "upload: %s\n", strerror((int)-result)); return 1; }
62
+ printf("upload: saved %s\n", argv[1]);
63
+ return 0;
64
+ }
65
+ SLOP cc -O1 /tmp/upload/upload.c -o /bin/upload
66
+ EXPORTS TOOL upload
67
+ SLOP upload --help > /usr/share/man/cat1/upload.1
68
+
69
+ FILE /usr/share/man/cat1/download.1
70
+ FILE /usr/share/man/cat1/upload.1
71
+ SLOP rm -rf /tmp/download /tmp/upload
@@ -0,0 +1,157 @@
1
+ DOLLY 7
2
+ TOOLCHAIN zig-build
3
+ REQUIRES HOST runtime@0
4
+ REQUIRES HOST http@0
5
+
6
+ FROM /v0.1.4/Dollyfile-system-build 7997c05ba08220831088b2aa713c86dbf0ded0229bbfa84f411476f00269d9fc
7
+
8
+ # Zig from its source archive with only Dolly's cc, following upstream
9
+ # bootstrap.c with two substitutions. WAMR runs the zig1.wasm seed instead of
10
+ # wasm2c + cc, whose code overflows a browser Worker's native stack. zig2 keeps
11
+ # only the C backend (/tmp/zig/config.zig), the one that yields Dolly objects
12
+ # without LLVM: this zig emits C for cc and has no `zig build` or `zig cc`.
13
+ REQUIRES HEADER libc
14
+ REQUIRES TOOL cc
15
+ REQUIRES TOOL tar
16
+
17
+ SOURCE /v0.1.4/dist/static/default/zig.tar ecb90770bd24a400120a74903557134642902eb4656d1f7dd3fe5a9eebb11943 /tmp/zig.tar
18
+ SOURCE /v0.1.4/dist/static/default/wamr.tar d35ec64a48e61f6a65397d3d9f13823735a94623a9dcd007b093279e5e0e3615 /tmp/wamr.tar
19
+ SLOP tar \
20
+ -xf /tmp/zig.tar \
21
+ -C /
22
+ SLOP tar \
23
+ -xf /tmp/wamr.tar \
24
+ -C /
25
+
26
+ # WAMR's target is WebAssembly (config/wamr-dolly.patch), which has no native
27
+ # calling convention: only raw natives can be called, and zig1 binds only those.
28
+ SLOP CWD /tmp/wamr/core cc \
29
+ -O2 \
30
+ -std=gnu99 \
31
+ -fno-strict-aliasing \
32
+ -w \
33
+ -D_PLATFORM_WASI_TYPES_H \
34
+ -DBH_PLATFORM_DOLLY \
35
+ -DBH_MALLOC=wasm_runtime_malloc \
36
+ -DBH_FREE=wasm_runtime_free \
37
+ -DWA_MALLOC=wasm_runtime_malloc \
38
+ -DWA_FREE=wasm_runtime_free \
39
+ -DWASM_ENABLE_INTERP=1 \
40
+ -DWASM_ENABLE_FAST_INTERP=1 \
41
+ -DWASM_ENABLE_LABELS_AS_VALUES=0 \
42
+ -DWASM_CPU_SUPPORTS_UNALIGNED_ADDR_ACCESS=0 \
43
+ -DWASM_ENABLE_BULK_MEMORY=1 \
44
+ -DWASM_ENABLE_BULK_MEMORY_OPT=1 \
45
+ -DWASM_ENABLE_SHRUNK_MEMORY=1 \
46
+ -DWASM_DISABLE_HW_BOUND_CHECK=1 \
47
+ -DWASM_DISABLE_STACK_HW_BOUND_CHECK=1 \
48
+ -DWASM_DISABLE_WRITE_GS_BASE=1 \
49
+ -DWASM_DISABLE_WAKEUP_BLOCKING_OP=1 \
50
+ -DWASM_ENABLE_SHARED_MEMORY=0 \
51
+ -DWASM_ENABLE_MULTI_MODULE=0 \
52
+ -DWASM_ENABLE_MINI_LOADER=0 \
53
+ -DWASM_ENABLE_REF_TYPES=0 \
54
+ -DWASM_ENABLE_SIMD=0 \
55
+ -DWASM_ENABLE_EXTENDED_CONST_EXPR=0 \
56
+ -DWASM_ENABLE_MEMORY64=0 \
57
+ -I /tmp/wamr \
58
+ -I /tmp/zig/stage1 \
59
+ -I shared/platform/include \
60
+ -I shared/utils \
61
+ -I shared/mem-alloc \
62
+ -I iwasm/include \
63
+ -I iwasm/common \
64
+ -I iwasm/interpreter \
65
+ /tmp/wamr/zig1.c \
66
+ /tmp/wamr/wamr-platform.c \
67
+ shared/mem-alloc/mem_alloc.c \
68
+ shared/mem-alloc/ems/ems_alloc.c \
69
+ shared/mem-alloc/ems/ems_gc.c \
70
+ shared/mem-alloc/ems/ems_hmu.c \
71
+ shared/mem-alloc/ems/ems_kfc.c \
72
+ shared/utils/bh_assert.c \
73
+ shared/utils/bh_bitmap.c \
74
+ shared/utils/bh_common.c \
75
+ shared/utils/bh_hashmap.c \
76
+ shared/utils/bh_leb128.c \
77
+ shared/utils/bh_list.c \
78
+ shared/utils/bh_log.c \
79
+ shared/utils/bh_queue.c \
80
+ shared/utils/bh_vector.c \
81
+ shared/utils/runtime_timer.c \
82
+ iwasm/common/wasm_application.c \
83
+ iwasm/common/wasm_blocking_op.c \
84
+ iwasm/common/wasm_c_api.c \
85
+ iwasm/common/wasm_exec_env.c \
86
+ iwasm/common/wasm_loader_common.c \
87
+ iwasm/common/wasm_memory.c \
88
+ iwasm/common/wasm_native.c \
89
+ iwasm/common/wasm_runtime_common.c \
90
+ iwasm/common/wasm_shared_memory.c \
91
+ iwasm/interpreter/wasm_interp_fast.c \
92
+ iwasm/interpreter/wasm_loader.c \
93
+ iwasm/interpreter/wasm_runtime.c \
94
+ -o /tmp/zig/zig1
95
+
96
+ # zig1's WASI adapter reaches only its working directory and lib argument.
97
+ SLOP CWD / /tmp/zig/zig1 \
98
+ /tmp/zig/stage1/zig1.wasm \
99
+ /usr/lib/zig \
100
+ build-exe \
101
+ -target wasm64-emscripten \
102
+ -mcpu=generic+atomics \
103
+ -fsingle-threaded \
104
+ -OReleaseSmall \
105
+ -ofmt=c \
106
+ -lc \
107
+ --name zig2 \
108
+ -femit-bin=tmp/zig/zig2.c \
109
+ --dep build_options \
110
+ --dep aro \
111
+ -Mroot=tmp/zig/src/main.zig \
112
+ -Mbuild_options=tmp/zig/config.zig \
113
+ -Maro=usr/lib/zig/compiler/aro/aro.zig
114
+ SLOP CWD / /tmp/zig/zig1 \
115
+ /tmp/zig/stage1/zig1.wasm \
116
+ /usr/lib/zig \
117
+ build-obj \
118
+ -target wasm64-emscripten \
119
+ -mcpu=generic+atomics \
120
+ -fsingle-threaded \
121
+ -OReleaseSmall \
122
+ -ofmt=c \
123
+ --name compiler_rt \
124
+ -femit-bin=tmp/zig/compiler_rt.c \
125
+ -Mroot=usr/lib/zig/compiler_rt.zig
126
+
127
+ # zig.h passes usize (unsigned long) as uint64_t * (unsigned long long *) and,
128
+ # not recognizing Clang's wasm memory builtins, names an undefined
129
+ # zig_unimplemented().
130
+ SLOP CWD /tmp/zig cc \
131
+ -c \
132
+ -O2 \
133
+ -std=c99 \
134
+ -fno-strict-aliasing \
135
+ -Wno-incompatible-pointer-types \
136
+ '-Dzig_unimplemented()=(__builtin_trap(),0)' \
137
+ -I /usr/lib/zig \
138
+ -o zig2.o \
139
+ zig2.c
140
+ SLOP CWD /tmp/zig cc \
141
+ -c \
142
+ -O2 \
143
+ -std=c99 \
144
+ -fno-strict-aliasing \
145
+ -Wno-incompatible-pointer-types \
146
+ -I /usr/lib/zig \
147
+ -o compiler_rt.o \
148
+ compiler_rt.c
149
+ SLOP CWD /tmp/zig cc \
150
+ -o /usr/bin/zig \
151
+ zig2.o \
152
+ compiler_rt.o
153
+
154
+ EXPORTS TOOL zig
155
+ EXPORTS FOLDER zig-lib /usr/lib/zig
156
+ EXPORTS ENV ZIG_LIB_DIR /usr/lib/zig
157
+ FILE /usr/share/licenses/zig/LICENSE
package/Dollyfile-zlib ADDED
@@ -0,0 +1,48 @@
1
+ DOLLY 7
2
+ PACKAGE zlib
3
+ REQUIRES HOST runtime@0
4
+
5
+ FROM /v0.1.4/Dollyfile-system-build 7997c05ba08220831088b2aa713c86dbf0ded0229bbfa84f411476f00269d9fc
6
+
7
+ REQUIRES HEADER libc
8
+ REQUIRES TOOL ar
9
+ REQUIRES TOOL cc
10
+ REQUIRES TOOL make
11
+ REQUIRES TOOL rm
12
+ REQUIRES TOOL tar
13
+
14
+ SOURCE /v0.1.4/dist/static/default/zlib.tar 3ff2e65dc35be0baa91250384dbe2b0d7c16aa73496dc20eeca86221588ead73 /tmp/zlib.tar
15
+ SLOP tar \
16
+ -xf /tmp/zlib.tar \
17
+ -C /
18
+
19
+ FILE /tmp/zlib/Makefile
20
+ .RECIPEPREFIX := >
21
+ CC := cc
22
+ AR := ar
23
+ NAMES := adler32 compress crc32 deflate gzclose gzlib gzread gzwrite infback inffast inflate inftrees trees uncompr zutil
24
+ OBJECTS := $(addprefix /tmp/zlib/,$(addsuffix .o,$(NAMES)))
25
+ all: /usr/lib/libz.a
26
+ /tmp/zlib/%.o: /usr/src/zlib/%.c
27
+ >$(CC) -std=c17 -O2 -I /usr/src/zlib -DZ_HAVE_UNISTD_H -c $< -o $@
28
+ /usr/lib/libz.a: $(OBJECTS)
29
+ >$(AR) rcs $@ $^
30
+ SLOP CWD /usr/src/zlib make \
31
+ -f /tmp/zlib/Makefile
32
+
33
+ EXPORTS LIB z /usr/lib/libz.a
34
+ EXPORTS HEADER zlib /usr/include/zlib.h
35
+ EXPORTS HEADER zconf /usr/include/zconf.h
36
+ FILE /usr/share/licenses/zlib/LICENSE
37
+ # What pkg-config tells a build that asks for zlib.
38
+ FILE /usr/lib/pkgconfig/zlib.pc
39
+ Name: zlib
40
+ Description: zlib compression library
41
+ Version: 1.3.2
42
+ Libs: -lz
43
+
44
+ SLOP rm \
45
+ -rf \
46
+ /tmp/zlib \
47
+ /tmp/zlib.tar \
48
+ /usr/src/zlib
package/README.md CHANGED
@@ -1,3 +1,19 @@
1
- # Temporary Holding Version
1
+ # @daugasauron/dolly-image-default
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ Dolly's `default` image: a shell, its text tools, Ghostty's terminal, curl, `amy`, `nena`
4
+ and `ps`, for @daugasauron/dolly's `boot()`. It depends on the runtime alone: install
5
+ it with the runtime and the host modules it declares, all at version 0.1.4-rc.1:
6
+
7
+ ```sh
8
+ npm install @daugasauron/dolly @daugasauron/dolly-image-default @daugasauron/dolly-host-audio @daugasauron/dolly-host-display @daugasauron/dolly-host-save @daugasauron/dolly-host-input @daugasauron/dolly-host-sockets @daugasauron/dolly-host-touch @daugasauron/dolly-host-upload
9
+ ```
10
+
11
+ ```js
12
+ import { boot } from "./node_modules/@daugasauron/dolly/src/browser.mjs";
13
+ import { images, image, modules } from "./node_modules/@daugasauron/dolly-image-default/index.mjs";
14
+ await boot(document.querySelector("#dolly"), { images, image, modules });
15
+ ```
16
+
17
+ The image holds programs built inside Dolly from their upstream sources, each under its own
18
+ licence: their licence texts are in the image under `/usr/share/licenses`, and Dolly's
19
+ `docs/licences.md` lists every upstream (https://github.com/daugasauron/dolly).
@@ -0,0 +1,61 @@
1
+ // Generated snapshot manifest.
2
+ export const DOLLY_SYSTEM_SNAPSHOT = Object.freeze({
3
+ "image": "amy",
4
+ "buildId": "sha256:45d43ca59eeecb6128c23b546cd9c0d41be3cd7f67ce0c5ff78dfba4b94ef721",
5
+ "runtimeBuildId": "sha256:3642f6397575530c5410de65927a733ad526c2d55d239715800baac568572ec1",
6
+ "formatVersion": 2,
7
+ "identityVersion": 2,
8
+ "inputs": [
9
+ {
10
+ "recipeSha256": "7997c05ba08220831088b2aa713c86dbf0ded0229bbfa84f411476f00269d9fc",
11
+ "sha256": "c09f4f401bcfdcce4f2f53e584530d61ce25226a8a43a169b1b1929912a1f1ff"
12
+ }
13
+ ],
14
+ "recipes": [
15
+ {
16
+ "name": "system-build",
17
+ "locator": "/v0.1.4/Dollyfile-system-build",
18
+ "sourcePath": "/v0.1.4/Dollyfile-system-build",
19
+ "retainedPath": "/etc/dolly/recipes/Dollyfile-system-build",
20
+ "sha256": "7997c05ba08220831088b2aa713c86dbf0ded0229bbfa84f411476f00269d9fc",
21
+ "byteLength": 19945
22
+ },
23
+ {
24
+ "name": "amy",
25
+ "locator": "/v0.1.4/Dollyfile-amy",
26
+ "sourcePath": "/v0.1.4/Dollyfile-amy",
27
+ "retainedPath": "/etc/dolly/recipes/Dollyfile-amy",
28
+ "sha256": "90701fe1be537fae9f0e376f2dcfda377c019426cdbab48faeb9107f91bcb6de",
29
+ "byteLength": 904
30
+ }
31
+ ],
32
+ "hostRequirements": [
33
+ "http@0",
34
+ "packages@0",
35
+ "runtime@0"
36
+ ],
37
+ "entry": null,
38
+ "manifest": [
39
+ "/bin/amy",
40
+ "/bin/dollyfile",
41
+ "/etc/dolly/Dollyfile",
42
+ "/etc/dolly/artifact",
43
+ "/etc/dolly/environment",
44
+ "/etc/dolly/image",
45
+ "/etc/dolly/recipes.lock",
46
+ "/etc/dolly/recipes/Dollyfile-amy",
47
+ "/etc/dolly/recipes/Dollyfile-system-build",
48
+ "/usr/share/man/cat1/amy.1",
49
+ "/usr/share/man/cat1/dollyfile.1"
50
+ ],
51
+ "byteLength": 240691,
52
+ "sha256": "8f6384906d30a0a33ade0ad6bcfef0ed1d393e6261b1869146b59dfe765ddf39",
53
+ "encoding": "packs",
54
+ "packs": [
55
+ {
56
+ "sha256": "8f6384906d30a0a33ade0ad6bcfef0ed1d393e6261b1869146b59dfe765ddf39",
57
+ "byteLength": 240691,
58
+ "encodedByteLength": 87400
59
+ }
60
+ ]
61
+ });