@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.
- package/Dollyfile +58 -0
- package/Dollyfile-amy +24 -0
- package/Dollyfile-core +49 -0
- package/Dollyfile-curl +58 -0
- package/Dollyfile-display +34 -0
- package/Dollyfile-ghostty-build +147 -0
- package/Dollyfile-git +191 -0
- package/Dollyfile-gzip +19 -0
- package/Dollyfile-mandoc +131 -0
- package/Dollyfile-nena +19 -0
- package/Dollyfile-posix +134 -0
- package/Dollyfile-ps +22 -0
- package/Dollyfile-system-build +464 -0
- package/Dollyfile-system-tools +242 -0
- package/Dollyfile-transfer +71 -0
- package/Dollyfile-zig-build +157 -0
- package/Dollyfile-zlib +48 -0
- package/README.md +18 -2
- package/dist/dolly-amy-system-snapshot.mjs +61 -0
- package/dist/dolly-core-system-snapshot.mjs +95 -0
- package/dist/dolly-curl-system-snapshot.mjs +74 -0
- package/dist/dolly-default-system-snapshot.mjs +459 -0
- package/dist/dolly-display-system-snapshot.mjs +98 -0
- package/dist/dolly-ghostty-build-system-snapshot.mjs +3583 -0
- package/dist/dolly-git-system-snapshot.mjs +137 -0
- package/dist/dolly-gzip-system-snapshot.mjs +70 -0
- package/dist/dolly-images.mjs +1268 -0
- package/dist/dolly-mandoc-system-snapshot.mjs +135 -0
- package/dist/dolly-nena-system-snapshot.mjs +58 -0
- package/dist/dolly-posix-system-snapshot.mjs +265 -0
- package/dist/dolly-ps-system-snapshot.mjs +43 -0
- package/dist/dolly-system-build-system-snapshot.mjs +1965 -0
- package/dist/dolly-system-tools-system-snapshot.mjs +2296 -0
- package/dist/dolly-transfer-system-snapshot.mjs +61 -0
- package/dist/dolly-zig-build-system-snapshot.mjs +3502 -0
- package/dist/dolly-zlib-system-snapshot.mjs +60 -0
- package/dist/packs/0783767f26f8e79bac2e9a5337aa05b4c7cf0e5ec3d03f73ca393d3949a064fa.snapshot.gz +0 -0
- package/dist/packs/153becb9a727327866389d89eca64e9f0b60a33d545b9e0e8c561e10c9ab327f.snapshot.gz +0 -0
- package/dist/packs/291bc8dc868becf690902a0092d64db86298ff26d6787cb742afb8ec86124ed0.snapshot.gz +0 -0
- package/dist/packs/3a6a5f2102877637bc6d81e66af9b5ab063c27a9ad0e9a01ad11df979f6b6acb.snapshot.gz +0 -0
- package/dist/packs/4d55e5ac579b6047065f9180df912fa2a21af4e1c764415a299cb89b3c0090c0.snapshot.gz +0 -0
- package/index.mjs +6 -0
- package/package.json +15 -4
|
@@ -0,0 +1,464 @@
|
|
|
1
|
+
DOLLY 7
|
|
2
|
+
TOOLCHAIN system-build
|
|
3
|
+
REQUIRES HOST runtime@0
|
|
4
|
+
REQUIRES HOST http@0
|
|
5
|
+
|
|
6
|
+
# This is the first step. It has no requirements: its exact compiler commands
|
|
7
|
+
# and C headers are the externally supplied bootstrap seed. How those headers
|
|
8
|
+
# eventually map to the lower-level machine contract is deliberately open.
|
|
9
|
+
SOURCE /v0.1.4/include/dolly/toolchain.h 6f9da3258e970e356c31034e1f109a04ac8bd5ab57dc82c19aebf293289fb415 /usr/include/dolly/toolchain.h
|
|
10
|
+
SOURCE /v0.1.4/include/dolly/runtime.h 1db3b267703af948051a171b06029560c3660ddbdc9f33f0c15f0b770bac7d3f /usr/include/dolly/runtime.h
|
|
11
|
+
SOURCE /v0.1.4/include/dolly/process.h 6919b5de21efa877d73ea8d004d88b66ec00b5a883bdbeece12e2ed14dc370b5 /usr/include/dolly/process.h
|
|
12
|
+
SOURCE /v0.1.4/host/http/http.h d09f57cda4a6cde89106653f12366ac95554c21d37d05a69c15764d4254b70a5 /usr/include/dolly/http.h
|
|
13
|
+
SOURCE /v0.1.4/host/http/http-abi.h 2f4e1e5c7145730babc91a0ff0a38db8b5e100ae1fab0b722b38ecbd53ad64a0 /usr/include/dolly/http-abi.h
|
|
14
|
+
SOURCE /v0.1.4/host/display/display.h 31054ebb6af133ea0a5de7e01730475a536a362261b1c24569a67d0749969633 /usr/include/dolly/display.h
|
|
15
|
+
SOURCE /v0.1.4/host/display/display-abi.h 89e4ac84fb4b807ed1aa5e47c28eb402746a1596d7949fa373ea45878782c05f /usr/include/dolly/display-abi.h
|
|
16
|
+
SOURCE /v0.1.4/host/input/input.h c380e2c168061ebd22785cbbcd6f7c7e05be2df187115ae1054c24cf39042a41 /usr/include/dolly/input.h
|
|
17
|
+
SOURCE /v0.1.4/host/input/input-abi.h f84f9ab4008108895a3e853fbb41b2194cd0cd41265cc9e14eae1c3b5a75220b /usr/include/dolly/input-abi.h
|
|
18
|
+
SOURCE /v0.1.4/host/download/download.h 666bca4fba5da7bf1e998c6486f56dce24cdbc82f1126f9be59067eb03b03bfa /usr/include/dolly/download.h
|
|
19
|
+
SOURCE /v0.1.4/host/download/download-abi.h 45cfbbc85fd2ea3846db581cc3129ef1ae1304a3f9ede06d5dae3b544bd6c0e0 /usr/include/dolly/download-abi.h
|
|
20
|
+
|
|
21
|
+
SOURCE /v0.1.4/include/dolly/host.h 9737f9b15bd65f5732e16bd942fe593132c7c886c3076dfda89a529a23fee08a /usr/include/dolly/host.h
|
|
22
|
+
SOURCE /v0.1.4/include/dolly/host-abi.h 3f2d26426bb088d61a0cc18b6c464697e98c83d8d34ffaf1d063768e619eb766 /usr/include/dolly/host-abi.h
|
|
23
|
+
SOURCE /v0.1.4/host/upload/upload.h 8d5b888175631a2f6dba010942f73e53c8514559de13ea336af804aa75f15eff /usr/include/dolly/upload.h
|
|
24
|
+
SOURCE /v0.1.4/host/upload/upload-abi.h 006056e6891a4d4399f521bc3b6a52362044dc146efb1bca46184c3cd9afb3e6 /usr/include/dolly/upload-abi.h
|
|
25
|
+
|
|
26
|
+
SOURCE /v0.1.4/host/threads/threads.h ec223fbc34ff65f173f4b15e338cb25bf34d8bf01b699418f4598d7fc4626394 /usr/include/dolly/threads.h
|
|
27
|
+
SOURCE /v0.1.4/host/threads/threads-abi.h 894528f5f392b8f95e4617035ac799b9ff4d520a246ec1bd89b6d04257c644c1 /usr/include/dolly/threads-abi.h
|
|
28
|
+
SOURCE /v0.1.4/host/dso/dso.h 8f58b257826b92a7f903d2a33484d6bc49bcc035dac5de3af288bc906728a67b /usr/include/dolly/dso.h
|
|
29
|
+
SOURCE /v0.1.4/host/dso/dso-abi.h 7b2243afa5cf82109b2768264686cb57e4a611a577a74793056b4f7cfc2e68f4 /usr/include/dolly/dso-abi.h
|
|
30
|
+
|
|
31
|
+
EXPORTS HEADER libc /usr/include
|
|
32
|
+
EXPORTS HEADER toolchain /usr/include/dolly/toolchain.h
|
|
33
|
+
EXPORTS HEADER runtime /usr/include/dolly/runtime.h
|
|
34
|
+
EXPORTS HEADER process /usr/include/dolly/process.h
|
|
35
|
+
EXPORTS HEADER http /usr/include/dolly/http.h
|
|
36
|
+
EXPORTS HEADER http-abi /usr/include/dolly/http-abi.h
|
|
37
|
+
EXPORTS HEADER display /usr/include/dolly/display.h
|
|
38
|
+
EXPORTS HEADER display-abi /usr/include/dolly/display-abi.h
|
|
39
|
+
EXPORTS HEADER input /usr/include/dolly/input.h
|
|
40
|
+
EXPORTS HEADER input-abi /usr/include/dolly/input-abi.h
|
|
41
|
+
EXPORTS HEADER download /usr/include/dolly/download.h
|
|
42
|
+
EXPORTS HEADER download-abi /usr/include/dolly/download-abi.h
|
|
43
|
+
|
|
44
|
+
EXPORTS HEADER host /usr/include/dolly/host.h
|
|
45
|
+
EXPORTS HEADER host-abi /usr/include/dolly/host-abi.h
|
|
46
|
+
EXPORTS HEADER upload /usr/include/dolly/upload.h
|
|
47
|
+
EXPORTS HEADER upload-abi /usr/include/dolly/upload-abi.h
|
|
48
|
+
EXPORTS HEADER threads /usr/include/dolly/threads.h
|
|
49
|
+
EXPORTS HEADER threads-abi /usr/include/dolly/threads-abi.h
|
|
50
|
+
EXPORTS HEADER dso /usr/include/dolly/dso.h
|
|
51
|
+
EXPORTS HEADER dso-abi /usr/include/dolly/dso-abi.h
|
|
52
|
+
|
|
53
|
+
EXPORTS LIB compiler-rt /usr/lib/libclang_rt.builtins.a
|
|
54
|
+
|
|
55
|
+
# These are the complete externally seeded compiler dependencies, not ambient
|
|
56
|
+
# additions to every boot. Images retain them by re-exporting these objects.
|
|
57
|
+
EXPORTS FOLDER process-sdk /usr/lib/dolly/process
|
|
58
|
+
EXPORTS FOLDER clang-headers /usr/lib/clang/24/include
|
|
59
|
+
EXPORTS FILE compiler /usr/libexec/dolly/process-bin/compiler
|
|
60
|
+
EXPORTS FILE kernel-plugin-abi /usr/lib/dolly/dolly-kernel-plugin-0.wasm
|
|
61
|
+
|
|
62
|
+
# Every program links the process libc: Emscripten's musl.
|
|
63
|
+
SOURCE /v0.1.4/dist/static/default/licenses/musl b870108ec5e7790e9f9919064f1b9421d62d5f9b0e6c230c6adf7ea2da62e97b /usr/share/licenses/musl/COPYRIGHT
|
|
64
|
+
SOURCE /v0.1.4/dist/static/default/licenses/emscripten 620a78084fc7ca97c0b5dea9abf891f3ffcadfdbf305276f099c9c4e12fc1d86 /usr/share/licenses/emscripten/LICENSE
|
|
65
|
+
FILE /usr/share/licenses/musl/COPYRIGHT
|
|
66
|
+
FILE /usr/share/licenses/emscripten/LICENSE
|
|
67
|
+
|
|
68
|
+
# cc, c++, ld and ar forward to the seed compiler. Only that compiler exists at
|
|
69
|
+
# this point, so RUN starts it for them; every later recipe step uses SLOP.
|
|
70
|
+
SOURCE /v0.1.4/dist/static/default/commands/cc.c b8e86a460434a6b60538229120365909697393d2c11bc3f18357be2c8d13c7f5 /tmp/process-tools/cc.c
|
|
71
|
+
SOURCE /v0.1.4/dist/static/default/commands/cxx.c a19b6b99a9a4f6c3473bb673c4e86c4857563839586e6e7c939c397585b281f3 /tmp/process-tools/cxx.c
|
|
72
|
+
SOURCE /v0.1.4/dist/static/default/commands/ld.c d12309353aeb2a80e3766e87c3e9936ac9fb434114e36287a1acbf3339bf104b /tmp/process-tools/ld.c
|
|
73
|
+
SOURCE /v0.1.4/dist/static/default/commands/ar.c f3007ddb171959a587b62d840253144198749acd8dbe0212b2cbd73a55dd83bd /tmp/process-tools/ar.c
|
|
74
|
+
RUN /usr/libexec/dolly/process-bin/compiler --dolly-toolchain-mode=c -O1 /tmp/process-tools/cc.c -o /bin/cc
|
|
75
|
+
RUN /usr/libexec/dolly/process-bin/compiler --dolly-toolchain-mode=c -O1 /tmp/process-tools/cxx.c -o /bin/c++
|
|
76
|
+
RUN /usr/libexec/dolly/process-bin/compiler --dolly-toolchain-mode=c -O1 /tmp/process-tools/ld.c -o /bin/ld
|
|
77
|
+
RUN /usr/libexec/dolly/process-bin/compiler --dolly-toolchain-mode=c -O1 /tmp/process-tools/ar.c -o /bin/ar
|
|
78
|
+
|
|
79
|
+
EXPORTS ENV CC cc
|
|
80
|
+
EXPORTS ENV AR ar
|
|
81
|
+
EXPORTS ENV PATH /bin:/usr/bin
|
|
82
|
+
|
|
83
|
+
# These programs are linked against the seeded process adapter, so their
|
|
84
|
+
# complete input identity is the image build ID rather than this recipe
|
|
85
|
+
# alone. They are still validated as dolly-process-0 executables when loaded.
|
|
86
|
+
# /bin/dollyfile is the engine running this recipe; the bootstrap compiles it.
|
|
87
|
+
EXPORTS TOOL cc
|
|
88
|
+
EXPORTS TOOL c++
|
|
89
|
+
EXPORTS TOOL ld
|
|
90
|
+
EXPORTS TOOL ar
|
|
91
|
+
EXPORTS TOOL dollyfile
|
|
92
|
+
# Slop runs every SLOP step, so it is built before any shell exists: RUN
|
|
93
|
+
# starts the seed compiler alone.
|
|
94
|
+
REQUIRES HEADER libc
|
|
95
|
+
REQUIRES HEADER runtime
|
|
96
|
+
|
|
97
|
+
SOURCE /v0.1.4/dist/static/default/slop.c 44ed93bd97c101396895c9351c42f572d17d33b4c843a17aa8074c34c2889bc4 /tmp/slop/slop.c
|
|
98
|
+
RUN /usr/libexec/dolly/process-bin/compiler --dolly-toolchain-mode=c -O1 /tmp/slop/slop.c -o /bin/slop
|
|
99
|
+
|
|
100
|
+
EXPORTS TOOL slop
|
|
101
|
+
EXPORTS ENV SHELL /bin/slop
|
|
102
|
+
REQUIRES TOOL cc
|
|
103
|
+
|
|
104
|
+
# Dolly's own small commands, from src/commands. Each TOOL export names the
|
|
105
|
+
# compiled result.
|
|
106
|
+
SOURCE /v0.1.4/dist/static/default/commands/mkdir.c 318f11bbf81beea92df1e4a2cb8dc02787c5eea4cffe62a8be9893503a8e572e /tmp/core-tools/mkdir.c
|
|
107
|
+
SOURCE /v0.1.4/dist/static/default/commands/rm.c 1213c22dc41e247f5fa072aad0431cdc54193dcf9091c8c749ea7880bef30af2 /tmp/core-tools/rm.c
|
|
108
|
+
SOURCE /v0.1.4/dist/static/default/commands/foreground.c e926c3c87764e44064744fc1d3cba008c46666ed7a06d351824ce67792bcdd76 /tmp/core-tools/foreground.c
|
|
109
|
+
SOURCE /v0.1.4/dist/static/default/commands/help.c 03ee0e2d8de33d99506f9a7c14018d2bd6e8e8146f9372f19c4974db1afee958 /tmp/core-tools/help.c
|
|
110
|
+
SOURCE /v0.1.4/dist/static/default/commands/man.c 03df8950d27ccd413c9da9cac1641d582f720d483e58e1e6f8e4b90e61e15fa0 /tmp/core-tools/man.c
|
|
111
|
+
SOURCE /v0.1.4/dist/static/default/commands/pwd.c 87886a74d8626d0bdbc2b364fe6ed8882522512d9f595709152dda298ef5c03f /tmp/core-tools/pwd.c
|
|
112
|
+
SOURCE /v0.1.4/dist/static/default/commands/cd.c 36d4c7708b332be6df90105bbc61cf8eb70556e3ed0f9f24756016eebec3d622 /tmp/core-tools/cd.c
|
|
113
|
+
SOURCE /v0.1.4/dist/static/default/commands/cat.c 82bffbefba15dcbd3aacb04135f3236be176a19704678aacb168ef02b91e04d4 /tmp/core-tools/cat.c
|
|
114
|
+
SOURCE /v0.1.4/dist/static/default/commands/echo.c afa079a258f25f9a7bcfce7191647e4bae8b0b0518476e903538ac88b3d9ad19 /tmp/core-tools/echo.c
|
|
115
|
+
SOURCE /v0.1.4/dist/static/default/commands/touch.c d80d0b12c21d4da8a238ca736b690452b94455a5e3e3bced7fc9ba20e44be286 /tmp/core-tools/touch.c
|
|
116
|
+
SOURCE /v0.1.4/dist/static/default/commands/clear.c f2e6915b3fe34393087ec7d04e61d090c0d62e551b86b36e8c3ff6bfff72598d /tmp/core-tools/clear.c
|
|
117
|
+
SOURCE /v0.1.4/dist/static/default/commands/ls.c 7c510abd3849e7d7966f5fe59378a096459b5591749ce61ae488b7436a48326e /tmp/core-tools/ls.c
|
|
118
|
+
SOURCE /v0.1.4/dist/static/default/commands/stat.c 1d39b289d8b2b4680e5c8ae8ec63bd183ba62864f5fd9bc0f180d1d97a64ef21 /tmp/core-tools/stat.c
|
|
119
|
+
SOURCE /v0.1.4/dist/static/default/commands/file.c ce908d435b9b29f79085e3fc8ddc36e52a9012e2a5e5da3c707b236d3b85f85e /tmp/core-tools/file.c
|
|
120
|
+
SOURCE /v0.1.4/dist/static/default/commands/test.c 738c318548c39b9e8e6b2108707c1f3a030fef9fd4ba3d4e6b84fbbb071e1866 /tmp/core-tools/test.c
|
|
121
|
+
SOURCE /v0.1.4/dist/static/default/commands/bracket.c 5dadee574cc128d583fe337e68b271cebbb3220dcd7e307fac08d4b5e9d73e4c /tmp/core-tools/bracket.c
|
|
122
|
+
SOURCE /v0.1.4/dist/static/default/commands/mv.c 326b21d8de8cd70652ec1ae1d42356095ee792c2608dfe362bba7ec05eacc9c3 /tmp/core-tools/mv.c
|
|
123
|
+
SOURCE /v0.1.4/dist/static/default/commands/cp.c 69ba86c9338bd97df04f06ccf84b9acd4e163f26d820efa066b6883152784ff1 /tmp/core-tools/cp.c
|
|
124
|
+
SLOP cc \
|
|
125
|
+
-O2 \
|
|
126
|
+
/tmp/core-tools/foreground.c \
|
|
127
|
+
-o /bin/foreground
|
|
128
|
+
SLOP cc \
|
|
129
|
+
-O2 \
|
|
130
|
+
/tmp/core-tools/help.c \
|
|
131
|
+
-o /bin/help
|
|
132
|
+
SLOP cc \
|
|
133
|
+
-O2 \
|
|
134
|
+
/tmp/core-tools/man.c \
|
|
135
|
+
-o /bin/man
|
|
136
|
+
SLOP cc \
|
|
137
|
+
-O2 \
|
|
138
|
+
/tmp/core-tools/pwd.c \
|
|
139
|
+
-o /bin/pwd
|
|
140
|
+
SLOP cc \
|
|
141
|
+
-O2 \
|
|
142
|
+
/tmp/core-tools/cd.c \
|
|
143
|
+
-o /bin/cd
|
|
144
|
+
SLOP cc \
|
|
145
|
+
-O2 \
|
|
146
|
+
/tmp/core-tools/cat.c \
|
|
147
|
+
-o /bin/cat
|
|
148
|
+
SLOP cc \
|
|
149
|
+
-O2 \
|
|
150
|
+
/tmp/core-tools/echo.c \
|
|
151
|
+
-o /bin/echo
|
|
152
|
+
SLOP cc \
|
|
153
|
+
-O2 \
|
|
154
|
+
/tmp/core-tools/touch.c \
|
|
155
|
+
-o /bin/touch
|
|
156
|
+
SLOP cc \
|
|
157
|
+
-O2 \
|
|
158
|
+
/tmp/core-tools/clear.c \
|
|
159
|
+
-o /bin/clear
|
|
160
|
+
SLOP cc \
|
|
161
|
+
-O2 \
|
|
162
|
+
/tmp/core-tools/ls.c \
|
|
163
|
+
-o /bin/ls
|
|
164
|
+
SLOP cc \
|
|
165
|
+
-O2 \
|
|
166
|
+
/tmp/core-tools/stat.c \
|
|
167
|
+
-o /bin/stat
|
|
168
|
+
SLOP cc \
|
|
169
|
+
-O2 \
|
|
170
|
+
/tmp/core-tools/file.c \
|
|
171
|
+
-o /bin/file
|
|
172
|
+
SLOP cc \
|
|
173
|
+
-O2 \
|
|
174
|
+
/tmp/core-tools/test.c \
|
|
175
|
+
-o /bin/test
|
|
176
|
+
SLOP cc \
|
|
177
|
+
-O2 \
|
|
178
|
+
-I /tmp/core-tools \
|
|
179
|
+
/tmp/core-tools/bracket.c \
|
|
180
|
+
-o /bin/[
|
|
181
|
+
SLOP cc \
|
|
182
|
+
-O2 \
|
|
183
|
+
/tmp/core-tools/mv.c \
|
|
184
|
+
-o /bin/mv
|
|
185
|
+
SLOP cc \
|
|
186
|
+
-O2 \
|
|
187
|
+
/tmp/core-tools/cp.c \
|
|
188
|
+
-o /bin/cp
|
|
189
|
+
SLOP cc \
|
|
190
|
+
-O2 \
|
|
191
|
+
/tmp/core-tools/mkdir.c \
|
|
192
|
+
-o /bin/mkdir
|
|
193
|
+
SLOP cc \
|
|
194
|
+
-O2 \
|
|
195
|
+
/tmp/core-tools/rm.c \
|
|
196
|
+
-o /bin/rm
|
|
197
|
+
EXPORTS TOOL mkdir
|
|
198
|
+
EXPORTS TOOL rm
|
|
199
|
+
EXPORTS TOOL foreground
|
|
200
|
+
EXPORTS TOOL help
|
|
201
|
+
EXPORTS TOOL man
|
|
202
|
+
EXPORTS TOOL pwd
|
|
203
|
+
EXPORTS TOOL cd
|
|
204
|
+
EXPORTS TOOL cat
|
|
205
|
+
EXPORTS TOOL echo
|
|
206
|
+
EXPORTS TOOL touch
|
|
207
|
+
EXPORTS TOOL clear
|
|
208
|
+
EXPORTS TOOL ls
|
|
209
|
+
EXPORTS TOOL stat
|
|
210
|
+
EXPORTS TOOL file
|
|
211
|
+
EXPORTS TOOL test
|
|
212
|
+
EXPORTS TOOL [
|
|
213
|
+
EXPORTS TOOL mv
|
|
214
|
+
EXPORTS TOOL cp
|
|
215
|
+
|
|
216
|
+
# A page is a file under /usr/share/man. One of Dolly's own commands has a
|
|
217
|
+
# single text: the page is what NAME --help prints, captured when it is built.
|
|
218
|
+
SLOP mkdir \
|
|
219
|
+
-p \
|
|
220
|
+
/usr/share/man/cat1 \
|
|
221
|
+
/usr/share/man/man1
|
|
222
|
+
SLOP for name in ar c++ cat cc cd clear cp dollyfile echo file foreground help ld ls man mkdir mv pwd rm slop stat touch; do \
|
|
223
|
+
"/bin/$name" --help > "/usr/share/man/cat1/$name.1"; \
|
|
224
|
+
done
|
|
225
|
+
SLOP help >> /usr/share/man/cat1/slop.1
|
|
226
|
+
FILE /usr/share/man/cat1/test.1
|
|
227
|
+
usage: test EXPRESSION
|
|
228
|
+
[ EXPRESSION ]
|
|
229
|
+
Exit 0 when EXPRESSION is true, 1 when it is false or missing, 2 when it is malformed.
|
|
230
|
+
-e FILE FILE exists (-r and -w are the same: there are no permission bits)
|
|
231
|
+
-f FILE FILE is a regular file
|
|
232
|
+
-d FILE FILE is a directory
|
|
233
|
+
-x FILE FILE is a regular file or a directory
|
|
234
|
+
-h FILE, -L FILE FILE is a symbolic link
|
|
235
|
+
-s FILE FILE is not empty
|
|
236
|
+
-n STRING STRING is not empty (so is a lone STRING)
|
|
237
|
+
-z STRING STRING is empty
|
|
238
|
+
A = B, A != B the strings are equal (== is the same), differ
|
|
239
|
+
M -eq N the integers are equal; also -ne -lt -le -gt -ge
|
|
240
|
+
F -nt G, F -ot G F was modified after, before G (a missing file is older)
|
|
241
|
+
F -ef G F and G are the same file
|
|
242
|
+
! E, E -a E, E -o E, ( E ) not, and, or, grouping
|
|
243
|
+
example: test -d /tmp && [ "$HOME" != / ]
|
|
244
|
+
SLOP cp /usr/share/man/cat1/test.1 '/usr/share/man/cat1/[.1'
|
|
245
|
+
|
|
246
|
+
SLOP rm \
|
|
247
|
+
-rf \
|
|
248
|
+
/tmp/core-tools
|
|
249
|
+
REQUIRES TOOL rm
|
|
250
|
+
|
|
251
|
+
# Dolly's deliberately small ustar extractor.
|
|
252
|
+
SOURCE /v0.1.4/dist/static/default/commands/tar.c 18adec6edc7ae34a305f31890f671cb69ae6ec3979df4d34e2d759295a410890 /tmp/bootstrap/tar.c
|
|
253
|
+
SLOP cc \
|
|
254
|
+
/tmp/bootstrap/tar.c \
|
|
255
|
+
-o /bin/tar
|
|
256
|
+
|
|
257
|
+
EXPORTS TOOL tar
|
|
258
|
+
|
|
259
|
+
SLOP tar --help > /usr/share/man/cat1/tar.1
|
|
260
|
+
|
|
261
|
+
SLOP rm \
|
|
262
|
+
-rf \
|
|
263
|
+
/tmp/bootstrap
|
|
264
|
+
# The module owns Make's build-time command vocabulary. `cp` is required here,
|
|
265
|
+
# rather than by consumers which merely invoke Make, because real Make recipes
|
|
266
|
+
# rely on it. The Dollyfile checker documents this build contract; it is not a
|
|
267
|
+
# runtime sandbox for Make or Slop.
|
|
268
|
+
REQUIRES TOOL cp
|
|
269
|
+
REQUIRES TOOL mkdir
|
|
270
|
+
REQUIRES TOOL tar
|
|
271
|
+
|
|
272
|
+
SOURCE /v0.1.4/dist/static/default/make-4.4.1.tar 5dce03b47a90e26891e789b3361481c65765e12bd8dc79ec0cf949336ef94616 /tmp/make-4.4.1.tar
|
|
273
|
+
SOURCE /v0.1.4/dist/static/default/runtimes/make-amalgamation-dolly.c c37c85dd20c843b9bface7e12bd190f8d943b18c0b2b5e0341cfdc2cba11b4fd /tmp/make-4.4.1/make-amalgamation-dolly.c
|
|
274
|
+
|
|
275
|
+
SLOP tar \
|
|
276
|
+
-xf /tmp/make-4.4.1.tar \
|
|
277
|
+
-C /
|
|
278
|
+
SLOP mkdir \
|
|
279
|
+
-p \
|
|
280
|
+
/usr/bin
|
|
281
|
+
SLOP cc \
|
|
282
|
+
-c \
|
|
283
|
+
-O1 \
|
|
284
|
+
-std=gnu11 \
|
|
285
|
+
-DHAVE_CONFIG_H \
|
|
286
|
+
-I /usr/src/make \
|
|
287
|
+
-I /usr/src/make/src \
|
|
288
|
+
-I /usr/src/make/lib \
|
|
289
|
+
'-DLIBDIR="/usr/lib"' \
|
|
290
|
+
'-DLOCALEDIR="/usr/share/locale"' \
|
|
291
|
+
-DDOLLY_MAKE_PART=1 \
|
|
292
|
+
/tmp/make-4.4.1/make-amalgamation-dolly.c \
|
|
293
|
+
-o /tmp/make-4.4.1/part-1.o
|
|
294
|
+
SLOP cc \
|
|
295
|
+
-c \
|
|
296
|
+
-O1 \
|
|
297
|
+
-std=gnu11 \
|
|
298
|
+
-DHAVE_CONFIG_H \
|
|
299
|
+
-I /usr/src/make \
|
|
300
|
+
-I /usr/src/make/src \
|
|
301
|
+
-I /usr/src/make/lib \
|
|
302
|
+
'-DLIBDIR="/usr/lib"' \
|
|
303
|
+
'-DLOCALEDIR="/usr/share/locale"' \
|
|
304
|
+
-DDOLLY_MAKE_PART=2 \
|
|
305
|
+
/tmp/make-4.4.1/make-amalgamation-dolly.c \
|
|
306
|
+
-o /tmp/make-4.4.1/part-2.o
|
|
307
|
+
SLOP cc \
|
|
308
|
+
-c \
|
|
309
|
+
-O1 \
|
|
310
|
+
-std=gnu11 \
|
|
311
|
+
-DHAVE_CONFIG_H \
|
|
312
|
+
-I /usr/src/make \
|
|
313
|
+
-I /usr/src/make/src \
|
|
314
|
+
-I /usr/src/make/lib \
|
|
315
|
+
'-DLIBDIR="/usr/lib"' \
|
|
316
|
+
'-DLOCALEDIR="/usr/share/locale"' \
|
|
317
|
+
-DDOLLY_MAKE_PART=3 \
|
|
318
|
+
/tmp/make-4.4.1/make-amalgamation-dolly.c \
|
|
319
|
+
-o /tmp/make-4.4.1/part-3.o
|
|
320
|
+
SLOP cc \
|
|
321
|
+
-c \
|
|
322
|
+
-O1 \
|
|
323
|
+
-std=gnu11 \
|
|
324
|
+
-DHAVE_CONFIG_H \
|
|
325
|
+
-I /usr/src/make \
|
|
326
|
+
-I /usr/src/make/src \
|
|
327
|
+
-I /usr/src/make/lib \
|
|
328
|
+
'-DLIBDIR="/usr/lib"' \
|
|
329
|
+
'-DLOCALEDIR="/usr/share/locale"' \
|
|
330
|
+
-DDOLLY_MAKE_PART=4 \
|
|
331
|
+
/tmp/make-4.4.1/make-amalgamation-dolly.c \
|
|
332
|
+
-o /tmp/make-4.4.1/part-4.o
|
|
333
|
+
SLOP cc \
|
|
334
|
+
-c \
|
|
335
|
+
-O1 \
|
|
336
|
+
-std=gnu11 \
|
|
337
|
+
-DHAVE_CONFIG_H \
|
|
338
|
+
-I /usr/src/make \
|
|
339
|
+
-I /usr/src/make/src \
|
|
340
|
+
-I /usr/src/make/lib \
|
|
341
|
+
'-DLIBDIR="/usr/lib"' \
|
|
342
|
+
'-DLOCALEDIR="/usr/share/locale"' \
|
|
343
|
+
-DDOLLY_MAKE_PART=5 \
|
|
344
|
+
/tmp/make-4.4.1/make-amalgamation-dolly.c \
|
|
345
|
+
-o /tmp/make-4.4.1/part-5.o
|
|
346
|
+
SLOP cc \
|
|
347
|
+
-c \
|
|
348
|
+
-O1 \
|
|
349
|
+
-std=gnu11 \
|
|
350
|
+
-DHAVE_CONFIG_H \
|
|
351
|
+
-I /usr/src/make \
|
|
352
|
+
-I /usr/src/make/src \
|
|
353
|
+
-I /usr/src/make/lib \
|
|
354
|
+
'-DLIBDIR="/usr/lib"' \
|
|
355
|
+
'-DLOCALEDIR="/usr/share/locale"' \
|
|
356
|
+
-DDOLLY_MAKE_PART=6 \
|
|
357
|
+
/tmp/make-4.4.1/make-amalgamation-dolly.c \
|
|
358
|
+
-o /tmp/make-4.4.1/part-6.o
|
|
359
|
+
SLOP cc \
|
|
360
|
+
-c \
|
|
361
|
+
-O1 \
|
|
362
|
+
-std=gnu11 \
|
|
363
|
+
-DHAVE_CONFIG_H \
|
|
364
|
+
-I /usr/src/make \
|
|
365
|
+
-I /usr/src/make/src \
|
|
366
|
+
-I /usr/src/make/lib \
|
|
367
|
+
'-DLIBDIR="/usr/lib"' \
|
|
368
|
+
'-DLOCALEDIR="/usr/share/locale"' \
|
|
369
|
+
-DDOLLY_MAKE_PART=7 \
|
|
370
|
+
/tmp/make-4.4.1/make-amalgamation-dolly.c \
|
|
371
|
+
-o /tmp/make-4.4.1/part-7.o
|
|
372
|
+
SLOP cc \
|
|
373
|
+
/tmp/make-4.4.1/part-1.o \
|
|
374
|
+
/tmp/make-4.4.1/part-2.o \
|
|
375
|
+
/tmp/make-4.4.1/part-3.o \
|
|
376
|
+
/tmp/make-4.4.1/part-4.o \
|
|
377
|
+
/tmp/make-4.4.1/part-5.o \
|
|
378
|
+
/tmp/make-4.4.1/part-6.o \
|
|
379
|
+
/tmp/make-4.4.1/part-7.o \
|
|
380
|
+
-o /usr/bin/make
|
|
381
|
+
|
|
382
|
+
EXPORTS TOOL make
|
|
383
|
+
|
|
384
|
+
SLOP make \
|
|
385
|
+
--version
|
|
386
|
+
SLOP make --help > /usr/share/man/cat1/make.1
|
|
387
|
+
# FOLDER keeps the members a directory has at this row: the last page is written.
|
|
388
|
+
FOLDER /usr/share/man
|
|
389
|
+
|
|
390
|
+
FILE /usr/share/licenses/make/COPYING
|
|
391
|
+
|
|
392
|
+
SLOP rm \
|
|
393
|
+
-rf \
|
|
394
|
+
/tmp/make-4.4.1 \
|
|
395
|
+
/tmp/make-4.4.1.tar \
|
|
396
|
+
/usr/src/make
|
|
397
|
+
# libc++, libc++abi and libunwind are Emscripten's copy, compiled here from its
|
|
398
|
+
# pinned source with the flags of its own build (tools/system_libs.py,
|
|
399
|
+
# -ww-wasmexcept; its -mt-wasmexcept build is the same bytes) for the headers
|
|
400
|
+
# installed beside them. Every C++ link takes them, including explicit
|
|
401
|
+
# -lc++/-lc++abi; the links above this point are C and need none.
|
|
402
|
+
REQUIRES FOLDER process-sdk
|
|
403
|
+
REQUIRES TOOL c++
|
|
404
|
+
REQUIRES TOOL cc
|
|
405
|
+
REQUIRES TOOL ar
|
|
406
|
+
REQUIRES TOOL make
|
|
407
|
+
|
|
408
|
+
SOURCE /v0.1.4/dist/static/default/libcxx-headers.tar 5e558f6f862d4a3fb22cc3c5b62c5e2652bf699f176fa349eeecb85d1a946735 /tmp/cpp/libcxx-headers.tar
|
|
409
|
+
SOURCE /v0.1.4/dist/static/default/libcxx.tar 2dff834a9e5e907476841437518cfdd568563e922e7a22f3261da114e1b1a1e8 /tmp/cpp/libcxx.tar
|
|
410
|
+
SOURCE /v0.1.4/dist/static/default/licenses/libcxx 539dd7aed86e8a4f12cbdd0e6c50c189c7d74847e4fecc64ce2c6ee3a01da38b /usr/share/licenses/libcxx/LICENSE
|
|
411
|
+
SOURCE /v0.1.4/dist/static/default/licenses/libcxxabi e2b35be49f7284a45b7baca8fc7b3ab7440e7902392b2528a457816b5bb2a15c /usr/share/licenses/libcxxabi/LICENSE
|
|
412
|
+
|
|
413
|
+
SLOP tar \
|
|
414
|
+
-xf /tmp/cpp/libcxx-headers.tar \
|
|
415
|
+
-C /
|
|
416
|
+
SLOP tar \
|
|
417
|
+
-xf /tmp/cpp/libcxx.tar \
|
|
418
|
+
-C /
|
|
419
|
+
|
|
420
|
+
FILE /tmp/cpp/Makefile
|
|
421
|
+
.RECIPEPREFIX := >
|
|
422
|
+
S := /tmp/cpp/system/lib
|
|
423
|
+
L := /usr/lib/dolly/process
|
|
424
|
+
# Static code with hidden symbols, as for a program. The directory is the one
|
|
425
|
+
# Emscripten's build names, so the code and data are its archives' bytes.
|
|
426
|
+
FLAGS := -Oz -g -fno-pic -fvisibility=hidden -ffile-prefix-map=/tmp/cpp=/emsdk/emscripten -DNDEBUG
|
|
427
|
+
COMPILE := c++ $(FLAGS) -std=c++23 -D_LIBCPP_BUILDING_LIBRARY -I$S/libcxx/src -I/tmp/cpp/system/include
|
|
428
|
+
LIBCXX := $(filter-out %/int128_builtins.cpp,$(wildcard $S/libcxx/src/*.cpp $S/libcxx/src/filesystem/*.cpp \
|
|
429
|
+
$S/libcxx/src/ryu/*.cpp)) $(addprefix $S/libcxx/src/experimental/,chrono_exception.cpp keep.cpp log_hardening_failure.cpp)
|
|
430
|
+
LIBCXXABI := $(addprefix $S/libcxxabi/src/,abort_message.cpp cxa_aux_runtime.cpp cxa_default_handlers.cpp \
|
|
431
|
+
cxa_demangle.cpp cxa_guard.cpp cxa_handlers.cpp cxa_virtual.cpp cxa_thread_atexit.cpp fallback_malloc.cpp \
|
|
432
|
+
stdlib_new_delete.cpp stdlib_exception.cpp stdlib_stdexcept.cpp stdlib_typeinfo.cpp private_typeinfo.cpp \
|
|
433
|
+
cxa_exception_js_utils.cpp cxa_exception_storage.cpp cxa_exception.cpp cxa_personality.cpp)
|
|
434
|
+
objects = $(sort $(addprefix /tmp/cpp/$1/,$(addsuffix .o,$(basename $(notdir $2)))))
|
|
435
|
+
all: $L/libc++-ww-wasmexcept.a $L/libc++abi-ww-wasmexcept.a $L/libunwind-ww-wasmexcept.a
|
|
436
|
+
$L/libc++-ww-wasmexcept.a: $(call objects,libc++,$(LIBCXX))
|
|
437
|
+
$L/libc++abi-ww-wasmexcept.a: $(call objects,libc++abi,$(LIBCXXABI))
|
|
438
|
+
$L/libunwind-ww-wasmexcept.a: /tmp/cpp/libunwind/Unwind-wasm.o
|
|
439
|
+
$L/%.a:
|
|
440
|
+
>ar rc $@ $^
|
|
441
|
+
define compile
|
|
442
|
+
/tmp/cpp/$1/$(basename $(notdir $2)).o: $2
|
|
443
|
+
>$3 -c $$< -o $$@
|
|
444
|
+
endef
|
|
445
|
+
$(foreach source,$(LIBCXX),$(eval $(call compile,libc++,$(source),$(COMPILE) -DLIBCXX_BUILDING_LIBCXXABI=1 \
|
|
446
|
+
-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -DLIBC_NAMESPACE=__llvm_libc -I$S/llvm-libc)))
|
|
447
|
+
$(foreach source,$(LIBCXXABI),$(eval $(call compile,libc++abi,$(source),$(COMPILE) -D_LIBCXXABI_USE_FUTEX \
|
|
448
|
+
-D_LIBCXXABI_BUILDING_LIBRARY -DLIBCXXABI_NON_DEMANGLING_TERMINATE -I$S/libunwind/include)))
|
|
449
|
+
$(eval $(call compile,libunwind,$S/libunwind/src/Unwind-wasm.c,cc $(FLAGS) -D_LIBUNWIND_HIDE_SYMBOLS \
|
|
450
|
+
-I$S/libunwind/include))
|
|
451
|
+
SLOP mkdir /tmp/cpp/libc++ /tmp/cpp/libc++abi /tmp/cpp/libunwind
|
|
452
|
+
SLOP make -C /tmp/cpp -j2
|
|
453
|
+
|
|
454
|
+
EXPORTS HEADER cpp /usr/include/c++/v1
|
|
455
|
+
EXPORTS LIB c++ /usr/lib/dolly/process/libc++-ww-wasmexcept.a
|
|
456
|
+
EXPORTS LIB c++abi /usr/lib/dolly/process/libc++abi-ww-wasmexcept.a
|
|
457
|
+
EXPORTS ENV CXX c++
|
|
458
|
+
|
|
459
|
+
FILE /usr/share/licenses/libcxx/LICENSE
|
|
460
|
+
FILE /usr/share/licenses/libcxxabi/LICENSE
|
|
461
|
+
|
|
462
|
+
SLOP rm \
|
|
463
|
+
-rf \
|
|
464
|
+
/tmp/cpp
|