@daugasauron/dolly-package-git 0.0.0-stage → 0.1.5-rc.0

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-curl ADDED
@@ -0,0 +1,58 @@
1
+ DOLLY 7
2
+ PACKAGE curl
3
+ REQUIRES HOST runtime@0
4
+ REQUIRES HOST http@0
5
+
6
+ FROM /v0.1.5/Dollyfile-system-build cf9cf053fb5debc080062e6e44c1b139175739f6158fa8a825b0255ba2063aee
7
+
8
+ REQUIRES HEADER libc
9
+ REQUIRES HEADER http
10
+ REQUIRES TOOL ar
11
+ REQUIRES TOOL cc
12
+ REQUIRES TOOL make
13
+ REQUIRES TOOL rm
14
+ REQUIRES TOOL tar
15
+
16
+ SOURCE /v0.1.5/dist/static/default/curl-headers.tar 346a0298fcbdafbad7d0c0259a2d7b8539ca46c39222797c01dcac213564bf30 /tmp/curl-headers.tar
17
+ SOURCE /v0.1.5/dist/static/default/libcurl-fetch.c bdf44cc786ba51355b4fe4b9e9621341a0d71e88710ba3ab653153bdf00aa4e0 /usr/src/dolly/libcurl-fetch.c
18
+ SOURCE /v0.1.5/dist/static/default/commands/curl.c 27025bd6aa514801c5592bd616a3e62e9ebe436c5d1092eafc31fd0c43f50bed /usr/src/dolly/commands/curl.c
19
+ SLOP tar \
20
+ -xf /tmp/curl-headers.tar \
21
+ -C /
22
+
23
+ FILE /tmp/curl/Makefile
24
+ .RECIPEPREFIX := >
25
+ all: /usr/lib/libcurl.a /usr/bin/curl
26
+ /tmp/libcurl-fetch.o: /usr/src/dolly/libcurl-fetch.c
27
+ >cc \
28
+ > -c $< \
29
+ > -o $@
30
+ /usr/lib/libcurl.a: /tmp/libcurl-fetch.o
31
+ >ar rcs $@ $^
32
+ /usr/bin/curl: /usr/src/dolly/commands/curl.c /usr/lib/libcurl.a
33
+ >cc \
34
+ > -O2 \
35
+ > $< \
36
+ > -lcurl \
37
+ > -o $@
38
+ SLOP CWD / make \
39
+ -f /tmp/curl/Makefile
40
+
41
+ EXPORTS TOOL curl
42
+
43
+ SLOP curl \
44
+ --version
45
+ SLOP curl --help > /usr/share/man/cat1/curl.1
46
+ FILE /usr/share/man/cat1/curl.1
47
+
48
+ EXPORTS LIB curl /usr/lib/libcurl.a
49
+ EXPORTS HEADER curl /usr/include/curl
50
+ FILE /usr/share/licenses/curl/COPYING
51
+
52
+ SLOP rm \
53
+ -rf \
54
+ /tmp/curl \
55
+ /tmp/curl-headers.tar \
56
+ /tmp/libcurl-fetch.o \
57
+ /usr/src/dolly/commands/curl.c \
58
+ /usr/src/dolly/libcurl-fetch.c
package/Dollyfile-git ADDED
@@ -0,0 +1,175 @@
1
+ DOLLY 7
2
+ PACKAGE git
3
+ REQUIRES HOST runtime@0
4
+ REQUIRES HOST http@0
5
+ REQUIRES HOST threads@0
6
+
7
+ # Git with its HTTP helpers, and Dolly's diff and patch, which run it. Git
8
+ # links zlib and its helpers libcurl too; both serve the build and are not
9
+ # installed with it. Git runs its asyncs, a side band's reader among them, as
10
+ # threads; without threads it would fork them.
11
+ FROM /v0.1.5/Dollyfile-system-build cf9cf053fb5debc080062e6e44c1b139175739f6158fa8a825b0255ba2063aee
12
+ USE /v0.1.5/Dollyfile-zlib 0b706df4c643faf419bd9089995b97d13ff7237493d9bb9727f8d3df91cbe033
13
+ USE /v0.1.5/Dollyfile-curl f31998555b9cca60e8ad5d7e6b5d8476aa119ecefbdc186f04461edad59f9e7d
14
+ REQUIRES HEADER libc
15
+ REQUIRES HEADER runtime
16
+ REQUIRES HEADER curl
17
+ REQUIRES HEADER zlib
18
+ REQUIRES LIB curl
19
+ REQUIRES LIB z
20
+ REQUIRES TOOL ar
21
+ REQUIRES TOOL cc
22
+ REQUIRES TOOL make
23
+ REQUIRES TOOL mkdir
24
+ REQUIRES TOOL rm
25
+ REQUIRES TOOL tar
26
+
27
+ SOURCE /v0.1.5/dist/static/default/git.tar 5c190c2a9301f54afab080b85341a8cd683bee1995b2d911e0bdea93f5eb845a /tmp/git.tar
28
+ SLOP tar \
29
+ -xf /tmp/git.tar \
30
+ -C /
31
+
32
+ # Automatic maintenance forks; the system configuration turns it off.
33
+ FILE /etc/gitconfig
34
+ [maintenance]
35
+ auto = false
36
+ FILE /home/dolly/.gitconfig
37
+ [user]
38
+ name = Dolly
39
+ email = dolly@example.invalid
40
+ FILE /tmp/git/Makefile
41
+ .RECIPEPREFIX := >
42
+ SOURCES := $(file </usr/src/git/dolly-sources.txt)
43
+ OBJECTS := $(addprefix /tmp/git/objects/,$(SOURCES:.c=.o))
44
+ # NO_REGEX takes Git's regex, with GAWK and NO_MBSUPPORT as its Makefile
45
+ # sets them: the sysroot's regex.h has no REG_STARTEND.
46
+ # Git ends with status 128 when its pager cannot start, so the default one
47
+ # is a command for Slop: less when it is installed, cat otherwise.
48
+ CPPFLAGS := \
49
+ -O2 \
50
+ -std=gnu99 \
51
+ -Wno-ignored-attributes \
52
+ -D_DEFAULT_SOURCE \
53
+ -DNO_GETTEXT \
54
+ -DNO_ICONV \
55
+ -DNO_EXPAT \
56
+ -pthread \
57
+ -DNO_UNIX_SOCKETS \
58
+ -DNO_OPENSSL \
59
+ -DNO_PERL \
60
+ -DNO_PYTHON \
61
+ -DNO_IPV6 \
62
+ -DNO_MMAP \
63
+ -DNO_REGEX \
64
+ -DGAWK \
65
+ -DNO_MBSUPPORT \
66
+ -DNO_STRLCPY \
67
+ -DSHA1_BLK \
68
+ -DSHA256_BLK \
69
+ -DHAVE_ALLOCA_H \
70
+ -DHAVE_STRINGS_H \
71
+ -DHAVE_CLOCK_GETTIME \
72
+ -DHAVE_GETRANDOM \
73
+ '-DGIT_VERSION_H="version-def.h"' \
74
+ '-DBINDIR="/usr/bin"' \
75
+ '-DGIT_EXEC_PATH="/usr/libexec/dolly"' \
76
+ '-DDEFAULT_GIT_TEMPLATE_DIR="/usr/share/git-core/templates"' \
77
+ '-DFALLBACK_RUNTIME_PREFIX="/usr"' \
78
+ '-DGIT_HOST_CPU="wasm64"' \
79
+ '-DGIT_LOCALE_PATH="/usr/share/locale"' \
80
+ '-DSHELL_PATH="/bin/slop"' \
81
+ '-DDEFAULT_PAGER="$$(command -v less || command -v cat)"' \
82
+ '-DPAGER_ENV="LESS=FRX LV=-c"' \
83
+ '-DETC_GITCONFIG="/etc/gitconfig"' \
84
+ '-DETC_GITATTRIBUTES="/etc/gitattributes"' \
85
+ '-DGIT_HTML_PATH="/usr/share/doc/git/html"' \
86
+ '-DGIT_MAN_PATH="/usr/share/man"' \
87
+ '-DGIT_INFO_PATH="/usr/share/info"' \
88
+ -I /usr/src/git/compat/regex \
89
+ -I /usr/src/git \
90
+ -include dolly/runtime.h
91
+ all: /usr/bin/git /usr/libexec/dolly/git-remote-http
92
+ /tmp/git/objects/%.o: /usr/src/git/%.c
93
+ >mkdir -p $(dir $@)
94
+ >cc \
95
+ > $(CPPFLAGS) \
96
+ > -c $< \
97
+ > -o $@
98
+ /usr/lib/libgit.a: $(OBJECTS)
99
+ >ar rcs $@ $^
100
+ /usr/bin/git: /usr/src/git/common-main.c /usr/src/git/git.c /usr/lib/libgit.a
101
+ >cc \
102
+ > $(CPPFLAGS) \
103
+ > /usr/src/git/common-main.c \
104
+ > /usr/src/git/git.c \
105
+ > -lgit \
106
+ > -lz \
107
+ > -o $@
108
+ /usr/libexec/dolly:
109
+ >mkdir -p $@
110
+ /usr/libexec/dolly/git-remote-http: /usr/src/git/common-main.c /usr/src/git/remote-curl.c /usr/src/git/http.c /usr/src/git/http-walker.c /usr/lib/libgit.a | /usr/libexec/dolly
111
+ >cc \
112
+ > $(CPPFLAGS) \
113
+ > /usr/src/git/common-main.c \
114
+ > /usr/src/git/remote-curl.c \
115
+ > /usr/src/git/http.c \
116
+ > /usr/src/git/http-walker.c \
117
+ > -lgit \
118
+ > -lcurl \
119
+ > -lz \
120
+ > -o $@
121
+ SLOP CWD /usr/src/git make \
122
+ -f /tmp/git/Makefile
123
+
124
+ EXPORTS TOOL git
125
+
126
+ SLOP git \
127
+ --version
128
+ # The builtins a local transport runs by their dashed names (git clone PATH
129
+ # runs git-upload-pack on its other side), as upstream installs them, and
130
+ # the HTTPS helper, which upstream links to the HTTP one.
131
+ FILE /usr/libexec/dolly/git-upload-pack
132
+ #!/bin/slop
133
+ exec git upload-pack "$@"
134
+ FILE /usr/libexec/dolly/git-receive-pack
135
+ #!/bin/slop
136
+ exec git receive-pack "$@"
137
+ FILE /usr/libexec/dolly/git-upload-archive
138
+ #!/bin/slop
139
+ exec git upload-archive "$@"
140
+ FILE /usr/libexec/dolly/git-remote-https
141
+ #!/bin/slop
142
+ exec /usr/libexec/dolly/git-remote-http "$@"
143
+ SLOP git init -q /tmp/git-check/origin && git -C /tmp/git-check/origin commit -q --allow-empty -m one && \
144
+ git clone -q /tmp/git-check/origin /tmp/git-check/clone && test "$(git -C /tmp/git-check/clone log --format=%s)" = one && \
145
+ git -C /tmp/git-check/clone commit -q --allow-empty -m two && git -C /tmp/git-check/clone push -q origin HEAD:pushed && \
146
+ test "$(git -C /tmp/git-check/origin log -1 --format=%s pushed)" = two
147
+ SLOP git --help > /usr/share/man/cat1/git.1
148
+
149
+ FILE /usr/libexec/dolly/git-remote-http
150
+ FOLDER /usr/share/git-core/templates
151
+ FILE /usr/share/licenses/git/COPYING
152
+ # git links libcurl statically and carries its licence.
153
+ FILE /usr/share/licenses/curl/COPYING
154
+ FILE /usr/share/man/cat1/git.1
155
+
156
+ # Dolly's diff and patch: git diff --no-index and git apply, for programs and
157
+ # build systems that run them.
158
+ SOURCE /v0.1.5/dist/static/default/commands/run-program.h e73415ba149e8dcb9944313c36d8d2319202d699c810e02a26d5a94caa8f3a9f /tmp/git-tools/run-program.h
159
+ SOURCE /v0.1.5/dist/static/default/commands/diff.c cda06a2a94c9d7c5f1ccab54f847011e35379f7cc452b7d4a0d7046ae61b7de9 /tmp/git-tools/diff.c
160
+ SOURCE /v0.1.5/dist/static/default/commands/patch.c bd5ec1cb0224099738b9f12f9b30896c134989dbebd7ecdb652e255c2ad29236 /tmp/git-tools/patch.c
161
+ SLOP cc -O2 /tmp/git-tools/diff.c -o /bin/diff
162
+ SLOP cc -O2 /tmp/git-tools/patch.c -o /bin/patch
163
+ EXPORTS TOOL diff
164
+ EXPORTS TOOL patch
165
+ SLOP diff --help > /usr/share/man/cat1/diff.1
166
+ SLOP patch --help > /usr/share/man/cat1/patch.1
167
+ FILE /usr/share/man/cat1/diff.1
168
+ FILE /usr/share/man/cat1/patch.1
169
+
170
+ SLOP rm \
171
+ -rf \
172
+ /tmp/git \
173
+ /tmp/git.tar \
174
+ /tmp/git-tools \
175
+ /usr/src/git
@@ -0,0 +1,393 @@
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.5/include/dolly/toolchain.h 6f9da3258e970e356c31034e1f109a04ac8bd5ab57dc82c19aebf293289fb415 /usr/include/dolly/toolchain.h
10
+ SOURCE /v0.1.5/include/dolly/runtime.h 20bd9bfd7cb18340bfd44350b92ff54959ce0e68acb24b95c270308625d0e8cf /usr/include/dolly/runtime.h
11
+ SOURCE /v0.1.5/include/dolly/process.h f6df6b3369b7ebae8d222e28c3d5dfc5697ba85e2db65f98399611740c3fa77a /usr/include/dolly/process.h
12
+ SOURCE /v0.1.5/host/http/http.h 818c79d767ebb7ccc0c6afe33d57ef1a57c7b9ccadeaa106511c9c07fedbaee7 /usr/include/dolly/http.h
13
+ SOURCE /v0.1.5/host/http/http-abi.h b6c8e68ee13daf0a47a2cdee15282608fb2f1c6c81c46d0815007c683bb7ca7e /usr/include/dolly/http-abi.h
14
+ SOURCE /v0.1.5/host/display/display.h 65fca62d15bf911ec8beb11a4f17736c9545dc0b308097eeb8074d741a39d1cc /usr/include/dolly/display.h
15
+ SOURCE /v0.1.5/host/display/display-abi.h 9c19f626e9bc9bdb736ea35c87a01889d9b16713841ec8e98791d3bbac7aad6e /usr/include/dolly/display-abi.h
16
+ SOURCE /v0.1.5/host/input/input.h 970be8cc5af832bae95cdad982e6aed6ea4c607adf73ba59faf640840f4e624e /usr/include/dolly/input.h
17
+ SOURCE /v0.1.5/host/input/input-abi.h 829d846abd9b89918ad8be13b32e2f015f3a750d5344a49e682cc8dbc30cb8f8 /usr/include/dolly/input-abi.h
18
+ SOURCE /v0.1.5/host/download/download.h 666bca4fba5da7bf1e998c6486f56dce24cdbc82f1126f9be59067eb03b03bfa /usr/include/dolly/download.h
19
+ SOURCE /v0.1.5/host/download/download-abi.h 6252f84477c990f9df2ffc5905c0717a94c9f4e557fccccbbf593ac02198dbc2 /usr/include/dolly/download-abi.h
20
+
21
+ SOURCE /v0.1.5/include/dolly/host.h 9737f9b15bd65f5732e16bd942fe593132c7c886c3076dfda89a529a23fee08a /usr/include/dolly/host.h
22
+ SOURCE /v0.1.5/include/dolly/host-abi.h 3f2d26426bb088d61a0cc18b6c464697e98c83d8d34ffaf1d063768e619eb766 /usr/include/dolly/host-abi.h
23
+ SOURCE /v0.1.5/host/upload/upload.h 8d5b888175631a2f6dba010942f73e53c8514559de13ea336af804aa75f15eff /usr/include/dolly/upload.h
24
+ SOURCE /v0.1.5/host/upload/upload-abi.h 6b115efacafcd8406c509c494dac0db8a78949ec201d8d4bf3ed0dd145848a43 /usr/include/dolly/upload-abi.h
25
+
26
+ SOURCE /v0.1.5/host/threads/threads.h ec223fbc34ff65f173f4b15e338cb25bf34d8bf01b699418f4598d7fc4626394 /usr/include/dolly/threads.h
27
+ SOURCE /v0.1.5/host/threads/threads-abi.h cda45054bc2ec6b021302cc1c840c3d3c18871e735998e9710a743aba4128173 /usr/include/dolly/threads-abi.h
28
+ SOURCE /v0.1.5/host/dso/dso.h 57ee5b695140136a4bd62ad4cd302c10ac31d68f6169cf6019405b1234e715f9 /usr/include/dolly/dso.h
29
+ SOURCE /v0.1.5/host/dso/dso-abi.h 834574e02efad11017a1e008d5477fbab09a9fb14d0f79aedf0b323a094061ee /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.5/dist/static/default/licenses/musl b870108ec5e7790e9f9919064f1b9421d62d5f9b0e6c230c6adf7ea2da62e97b /usr/share/licenses/musl/COPYRIGHT
64
+ SOURCE /v0.1.5/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.5/dist/static/default/commands/cc.c a282fe564c0387114321839e30a5f66e5ae964d014f206baa7d742f9698d1026 /tmp/process-tools/cc.c
71
+ SOURCE /v0.1.5/dist/static/default/commands/cxx.c 0fd83199b0d1063bf5e81b8e762f7105b013e83eb1c2953967e51db34dd94524 /tmp/process-tools/cxx.c
72
+ SOURCE /v0.1.5/dist/static/default/commands/ld.c d12309353aeb2a80e3766e87c3e9936ac9fb434114e36287a1acbf3339bf104b /tmp/process-tools/ld.c
73
+ SOURCE /v0.1.5/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.5/dist/static/default/slop.c 307f9ccf561345702323f982764c75776525b13264442c4c960b9003bcb9d309 /tmp/slop/slop.c
98
+ # Slop runs the code of the system's test, [, echo and printf itself.
99
+ SOURCE /v0.1.5/dist/static/default/commands/test.c 3b21b6855f7495f8e6dca7b46bc8b9ce54f4f589570c30339b1ea5e869471edd /tmp/slop/commands/test.c
100
+ SOURCE /v0.1.5/dist/static/default/commands/echo.c b452aa1e2e101d11bc6ac27052d116a8b9e1792cb3ad3406dc23f31f218adb56 /tmp/slop/commands/echo.c
101
+ SOURCE /v0.1.5/dist/static/default/commands/printf.c 7188ef27e1c62707313cb627b7d75865a28b1b186bba1180a8913b61c07ed5d7 /tmp/slop/commands/printf.c
102
+ RUN /usr/libexec/dolly/process-bin/compiler --dolly-toolchain-mode=c -O1 /tmp/slop/slop.c -o /bin/slop
103
+
104
+ EXPORTS TOOL slop
105
+ EXPORTS ENV SHELL /bin/slop
106
+ REQUIRES TOOL cc
107
+
108
+ # Dolly's own small commands, from src/commands. Each TOOL export names the
109
+ # compiled result.
110
+ SOURCE /v0.1.5/dist/static/default/commands/mkdir.c 0713179c0b44c92e30d2fd22c87a930ca23f5417b1b3392b3997547648617ad6 /tmp/core-tools/mkdir.c
111
+ SOURCE /v0.1.5/dist/static/default/commands/rm.c 2adb95ed560a55f22b91eda217fdbfc4108bd14ebe71b143ef706869d88a1997 /tmp/core-tools/rm.c
112
+ SOURCE /v0.1.5/dist/static/default/commands/foreground.c e926c3c87764e44064744fc1d3cba008c46666ed7a06d351824ce67792bcdd76 /tmp/core-tools/foreground.c
113
+ SOURCE /v0.1.5/dist/static/default/commands/help.c 2cf1323f34d0130fe518a9da768594c6549a78ce72c53cc04d54d6f2207890f7 /tmp/core-tools/help.c
114
+ SOURCE /v0.1.5/dist/static/default/commands/man.c cd13cdece7706188e083a1754187cb19b7627e9cb8d2b294ba21cd2f88ff39d8 /tmp/core-tools/man.c
115
+ SOURCE /v0.1.5/dist/static/default/commands/pwd.c 61b2840bfba274f511c3777f5b800bcdfff1947bef13b771c5d9a98eb5d03d3d /tmp/core-tools/pwd.c
116
+ SOURCE /v0.1.5/dist/static/default/commands/cat.c 43eabd1e83f6c56cd5b5a7d8e5f9621e214c35e9407dea6bbce34120cb9da723 /tmp/core-tools/cat.c
117
+ SOURCE /v0.1.5/dist/static/default/commands/echo.c b452aa1e2e101d11bc6ac27052d116a8b9e1792cb3ad3406dc23f31f218adb56 /tmp/core-tools/echo.c
118
+ SOURCE /v0.1.5/dist/static/default/commands/printf.c 7188ef27e1c62707313cb627b7d75865a28b1b186bba1180a8913b61c07ed5d7 /tmp/core-tools/printf.c
119
+ SOURCE /v0.1.5/dist/static/default/commands/touch.c 1eb3737abe39d9efe0c66d9e84a7bf6445fa2c07c12b46ad107cd799f2f0747c /tmp/core-tools/touch.c
120
+ SOURCE /v0.1.5/dist/static/default/commands/clear.c f2e6915b3fe34393087ec7d04e61d090c0d62e551b86b36e8c3ff6bfff72598d /tmp/core-tools/clear.c
121
+ SOURCE /v0.1.5/dist/static/default/commands/ls.c 9a1ad375e4e1688b3ed8a27a3d9e9220be6780a279559e8032e6b15c45611a5e /tmp/core-tools/ls.c
122
+ SOURCE /v0.1.5/dist/static/default/commands/stat.c 716e40d4db491a766b738e21c780d4f386641be93daccc4481b4d71b603110c2 /tmp/core-tools/stat.c
123
+ SOURCE /v0.1.5/dist/static/default/commands/file.c 3fd871ab9da0233ab738683f3ae45ab8cac3b37df3be92359575448137b4ec37 /tmp/core-tools/file.c
124
+ SOURCE /v0.1.5/dist/static/default/commands/test.c 3b21b6855f7495f8e6dca7b46bc8b9ce54f4f589570c30339b1ea5e869471edd /tmp/core-tools/test.c
125
+ SOURCE /v0.1.5/dist/static/default/commands/mv.c 326b21d8de8cd70652ec1ae1d42356095ee792c2608dfe362bba7ec05eacc9c3 /tmp/core-tools/mv.c
126
+ SOURCE /v0.1.5/dist/static/default/commands/cp.c 0598cc06e13171dc95314d644f7dc0adb0419d78e776745d430225639ca5b123 /tmp/core-tools/cp.c
127
+ SOURCE /v0.1.5/dist/static/default/commands/sleep.c 7723af4c2a4feb4a3393482fe3e58beaba36b2b0d83fcc67787b339a87e031e6 /tmp/core-tools/sleep.c
128
+ SLOP cc \
129
+ -O2 \
130
+ /tmp/core-tools/foreground.c \
131
+ -o /bin/foreground
132
+ SLOP cc \
133
+ -O2 \
134
+ /tmp/core-tools/help.c \
135
+ -o /bin/help
136
+ SLOP cc \
137
+ -O2 \
138
+ /tmp/core-tools/man.c \
139
+ -o /bin/man
140
+ SLOP cc \
141
+ -O2 \
142
+ /tmp/core-tools/pwd.c \
143
+ -o /bin/pwd
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/printf.c \
155
+ -o /bin/printf
156
+ SLOP cc \
157
+ -O2 \
158
+ /tmp/core-tools/touch.c \
159
+ -o /bin/touch
160
+ SLOP cc \
161
+ -O2 \
162
+ /tmp/core-tools/clear.c \
163
+ -o /bin/clear
164
+ SLOP cc \
165
+ -O2 \
166
+ /tmp/core-tools/ls.c \
167
+ -o /bin/ls
168
+ SLOP cc \
169
+ -O2 \
170
+ /tmp/core-tools/stat.c \
171
+ -o /bin/stat
172
+ SLOP cc \
173
+ -O2 \
174
+ /tmp/core-tools/file.c \
175
+ -o /bin/file
176
+ SLOP cc \
177
+ -O2 \
178
+ /tmp/core-tools/test.c \
179
+ -o /bin/test
180
+ SLOP cc \
181
+ -O2 \
182
+ /tmp/core-tools/test.c \
183
+ -o /bin/[
184
+ SLOP cc \
185
+ -O2 \
186
+ /tmp/core-tools/mv.c \
187
+ -o /bin/mv
188
+ SLOP cc \
189
+ -O2 \
190
+ /tmp/core-tools/cp.c \
191
+ -o /bin/cp
192
+ SLOP cc \
193
+ -O2 \
194
+ /tmp/core-tools/mkdir.c \
195
+ -o /bin/mkdir
196
+ SLOP cc \
197
+ -O2 \
198
+ /tmp/core-tools/rm.c \
199
+ -o /bin/rm
200
+ SLOP cc \
201
+ -O2 \
202
+ /tmp/core-tools/sleep.c \
203
+ -o /bin/sleep
204
+ EXPORTS TOOL mkdir
205
+ EXPORTS TOOL rm
206
+ EXPORTS TOOL foreground
207
+ EXPORTS TOOL help
208
+ EXPORTS TOOL man
209
+ EXPORTS TOOL pwd
210
+ EXPORTS TOOL cat
211
+ EXPORTS TOOL echo
212
+ EXPORTS TOOL printf
213
+ EXPORTS TOOL touch
214
+ EXPORTS TOOL clear
215
+ EXPORTS TOOL ls
216
+ EXPORTS TOOL stat
217
+ EXPORTS TOOL file
218
+ EXPORTS TOOL test
219
+ EXPORTS TOOL [
220
+ EXPORTS TOOL mv
221
+ EXPORTS TOOL cp
222
+ EXPORTS TOOL sleep
223
+
224
+ # A page is a file under /usr/share/man. One of Dolly's own commands has a
225
+ # single text: the page is what NAME --help prints, captured when it is built.
226
+ SLOP mkdir \
227
+ -p \
228
+ /usr/share/man/cat1 \
229
+ /usr/share/man/man1
230
+ SLOP for name in ar c++ cat cc clear cp dollyfile file foreground help ld ls man mkdir mv pwd rm sleep slop stat touch; do \
231
+ "/bin/$name" --help > "/usr/share/man/cat1/$name.1"; \
232
+ done
233
+ SLOP help >> /usr/share/man/cat1/slop.1
234
+ # echo prints its operands, --help among them, as POSIX says.
235
+ FILE /usr/share/man/cat1/echo.1
236
+ usage: echo [-n] [ARG ...]
237
+ Print the ARGs separated by spaces and a newline; -n as the first ARG omits the newline.
238
+ Backslashes are printed as they are: printf interprets escapes.
239
+ # printf takes a FORMAT, so --help is one too.
240
+ FILE /usr/share/man/cat1/printf.1
241
+ usage: printf FORMAT [ARG ...]
242
+ Write FORMAT, reused while ARGs remain. FORMAT's escapes are \\ \a \b \f \n \r \t \v,
243
+ \e, \xHH and \NNN in octal; \c ends the output. Each conversion takes the next ARG,
244
+ or an empty one: %s, %c, %b (the ARG's escapes, octal as \0NNN), %d %i %o %u %x %X,
245
+ whose ARG is a C integer constant or a quote and a character, and %e %f %g %a and
246
+ their capitals; flags - + space # 0, a width and a .precision, each may be *. %% is %.
247
+ FILE /usr/share/man/cat1/test.1
248
+ usage: test EXPRESSION
249
+ [ EXPRESSION ]
250
+ Exit 0 when EXPRESSION is true, 1 when it is false or missing, 2 when it is malformed.
251
+ -e FILE FILE exists (-r and -w are the same: there are no permission bits)
252
+ -f FILE FILE is a regular file
253
+ -d FILE FILE is a directory
254
+ -x FILE FILE is a regular file or a directory
255
+ -h FILE, -L FILE FILE is a symbolic link
256
+ -s FILE FILE is not empty
257
+ -b, -c, -p, -S FILE FILE is a block or character device, a FIFO, a socket
258
+ -g, -u, -k FILE the set-group-ID, set-user-ID, sticky bit of the fixed modes stat reports
259
+ -t FD descriptor FD is a terminal
260
+ -n STRING STRING is not empty (so is a lone STRING)
261
+ -z STRING STRING is empty
262
+ A = B, A != B the strings are equal (== is the same), differ
263
+ A < B, A > B A sorts before, after B
264
+ M -eq N the integers are equal; also -ne -lt -le -gt -ge
265
+ F -nt G, F -ot G F was modified after, before G (a missing file is older)
266
+ F -ef G F and G are the same file
267
+ ! E, E -a E, E -o E, ( E ) not, and, or, grouping; up to four arguments
268
+ count, as POSIX says, so test "$x" = -a compares strings
269
+ example: test -d /tmp && [ "$HOME" != / ]
270
+ SLOP cp /usr/share/man/cat1/test.1 '/usr/share/man/cat1/[.1'
271
+
272
+ SLOP rm \
273
+ -rf \
274
+ /tmp/core-tools
275
+ REQUIRES TOOL rm
276
+
277
+ # Dolly's deliberately small ustar extractor.
278
+ SOURCE /v0.1.5/dist/static/default/commands/tar.c 9e01d3df0905b893afe02232c713d5feafbead706392f7fc62967bdffad1779f /tmp/bootstrap/tar.c
279
+ SLOP cc \
280
+ /tmp/bootstrap/tar.c \
281
+ -o /bin/tar
282
+
283
+ EXPORTS TOOL tar
284
+
285
+ SLOP tar --help > /usr/share/man/cat1/tar.1
286
+
287
+ SLOP rm \
288
+ -rf \
289
+ /tmp/bootstrap
290
+ REQUIRES TOOL mkdir
291
+ REQUIRES TOOL tar
292
+
293
+ SOURCE /v0.1.5/dist/static/default/make-4.4.1.tar 5dce03b47a90e26891e789b3361481c65765e12bd8dc79ec0cf949336ef94616 /tmp/make-4.4.1.tar
294
+ SLOP tar \
295
+ -xf /tmp/make-4.4.1.tar \
296
+ -C /
297
+ SLOP mkdir \
298
+ -p \
299
+ /usr/bin
300
+ # The sources of upstream's build (dolly-sources.txt) in one cc.
301
+ SLOP CWD /usr/src/make cc \
302
+ -O1 \
303
+ -std=gnu11 \
304
+ -DHAVE_CONFIG_H \
305
+ -I /usr/src/make \
306
+ -I /usr/src/make/src \
307
+ -I /usr/src/make/lib \
308
+ '-DLIBDIR="/usr/lib"' \
309
+ '-DLOCALEDIR="/usr/share/locale"' \
310
+ $(cat dolly-sources.txt) \
311
+ -o /usr/bin/make
312
+
313
+ EXPORTS TOOL make
314
+
315
+ SLOP make \
316
+ --version
317
+ SLOP make --help > /usr/share/man/cat1/make.1
318
+ # FOLDER keeps the members a directory has at this row: the last page is written.
319
+ FOLDER /usr/share/man
320
+
321
+ FILE /usr/share/licenses/make/COPYING
322
+
323
+ SLOP rm \
324
+ -rf \
325
+ /tmp/make-4.4.1.tar \
326
+ /usr/src/make
327
+ # libc++, libc++abi and libunwind are Emscripten's copy, compiled here from its
328
+ # pinned source with the flags of its own build (tools/system_libs.py,
329
+ # -ww-wasmexcept; its -mt-wasmexcept build is the same bytes) for the headers
330
+ # installed beside them. Every C++ link takes them, including explicit
331
+ # -lc++/-lc++abi; the links above this point are C and need none.
332
+ REQUIRES TOOL c++
333
+ REQUIRES TOOL cc
334
+ REQUIRES TOOL ar
335
+ REQUIRES TOOL make
336
+
337
+ SOURCE /v0.1.5/dist/static/default/libcxx-headers.tar 5e558f6f862d4a3fb22cc3c5b62c5e2652bf699f176fa349eeecb85d1a946735 /tmp/cpp/libcxx-headers.tar
338
+ SOURCE /v0.1.5/dist/static/default/libcxx.tar 2dff834a9e5e907476841437518cfdd568563e922e7a22f3261da114e1b1a1e8 /tmp/cpp/libcxx.tar
339
+ SOURCE /v0.1.5/dist/static/default/licenses/libcxx 539dd7aed86e8a4f12cbdd0e6c50c189c7d74847e4fecc64ce2c6ee3a01da38b /usr/share/licenses/libcxx/LICENSE
340
+ SOURCE /v0.1.5/dist/static/default/licenses/libcxxabi e2b35be49f7284a45b7baca8fc7b3ab7440e7902392b2528a457816b5bb2a15c /usr/share/licenses/libcxxabi/LICENSE
341
+
342
+ SLOP tar \
343
+ -xf /tmp/cpp/libcxx-headers.tar \
344
+ -C /
345
+ SLOP tar \
346
+ -xf /tmp/cpp/libcxx.tar \
347
+ -C /
348
+
349
+ FILE /tmp/cpp/Makefile
350
+ .RECIPEPREFIX := >
351
+ S := /tmp/cpp/system/lib
352
+ L := /usr/lib/dolly/process
353
+ # Static code with hidden symbols, as for a program. The directory is the one
354
+ # Emscripten's build names, so the code and data are its archives' bytes.
355
+ FLAGS := -Oz -g -fno-pic -fvisibility=hidden -ffile-prefix-map=/tmp/cpp=/emsdk/emscripten -DNDEBUG
356
+ COMPILE := c++ $(FLAGS) -std=c++23 -D_LIBCPP_BUILDING_LIBRARY -I$S/libcxx/src -I/tmp/cpp/system/include
357
+ LIBCXX := $(filter-out %/int128_builtins.cpp,$(wildcard $S/libcxx/src/*.cpp $S/libcxx/src/filesystem/*.cpp \
358
+ $S/libcxx/src/ryu/*.cpp)) $(addprefix $S/libcxx/src/experimental/,chrono_exception.cpp keep.cpp log_hardening_failure.cpp)
359
+ LIBCXXABI := $(addprefix $S/libcxxabi/src/,abort_message.cpp cxa_aux_runtime.cpp cxa_default_handlers.cpp \
360
+ cxa_demangle.cpp cxa_guard.cpp cxa_handlers.cpp cxa_virtual.cpp cxa_thread_atexit.cpp fallback_malloc.cpp \
361
+ stdlib_new_delete.cpp stdlib_exception.cpp stdlib_stdexcept.cpp stdlib_typeinfo.cpp private_typeinfo.cpp \
362
+ cxa_exception_js_utils.cpp cxa_exception_storage.cpp cxa_exception.cpp cxa_personality.cpp)
363
+ objects = $(sort $(addprefix /tmp/cpp/$1/,$(addsuffix .o,$(basename $(notdir $2)))))
364
+ all: $L/libc++-ww-wasmexcept.a $L/libc++abi-ww-wasmexcept.a $L/libunwind-ww-wasmexcept.a
365
+ $L/libc++-ww-wasmexcept.a: $(call objects,libc++,$(LIBCXX))
366
+ $L/libc++abi-ww-wasmexcept.a: $(call objects,libc++abi,$(LIBCXXABI))
367
+ $L/libunwind-ww-wasmexcept.a: /tmp/cpp/libunwind/Unwind-wasm.o
368
+ $L/%.a:
369
+ >ar rc $@ $^
370
+ define compile
371
+ /tmp/cpp/$1/$(basename $(notdir $2)).o: $2
372
+ >$3 -c $$< -o $$@
373
+ endef
374
+ $(foreach source,$(LIBCXX),$(eval $(call compile,libc++,$(source),$(COMPILE) -DLIBCXX_BUILDING_LIBCXXABI=1 \
375
+ -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -DLIBC_NAMESPACE=__llvm_libc -I$S/llvm-libc)))
376
+ $(foreach source,$(LIBCXXABI),$(eval $(call compile,libc++abi,$(source),$(COMPILE) -D_LIBCXXABI_USE_FUTEX \
377
+ -D_LIBCXXABI_BUILDING_LIBRARY -DLIBCXXABI_NON_DEMANGLING_TERMINATE -I$S/libunwind/include)))
378
+ $(eval $(call compile,libunwind,$S/libunwind/src/Unwind-wasm.c,cc $(FLAGS) -D_LIBUNWIND_HIDE_SYMBOLS \
379
+ -I$S/libunwind/include))
380
+ SLOP mkdir /tmp/cpp/libc++ /tmp/cpp/libc++abi /tmp/cpp/libunwind
381
+ SLOP make -C /tmp/cpp -j2
382
+
383
+ EXPORTS HEADER cpp /usr/include/c++/v1
384
+ EXPORTS LIB c++ /usr/lib/dolly/process/libc++-ww-wasmexcept.a
385
+ EXPORTS LIB c++abi /usr/lib/dolly/process/libc++abi-ww-wasmexcept.a
386
+ EXPORTS ENV CXX c++
387
+
388
+ FILE /usr/share/licenses/libcxx/LICENSE
389
+ FILE /usr/share/licenses/libcxxabi/LICENSE
390
+
391
+ SLOP rm \
392
+ -rf \
393
+ /tmp/cpp
package/Dollyfile-zlib ADDED
@@ -0,0 +1,48 @@
1
+ DOLLY 7
2
+ PACKAGE zlib
3
+ REQUIRES HOST runtime@0
4
+
5
+ FROM /v0.1.5/Dollyfile-system-build cf9cf053fb5debc080062e6e44c1b139175739f6158fa8a825b0255ba2063aee
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.5/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