@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
package/Dollyfile ADDED
@@ -0,0 +1,58 @@
1
+ DOLLY 7
2
+ APPLICATION default
3
+ REQUIRES HOST runtime@0
4
+ REQUIRES HOST display@0
5
+ REQUIRES HOST input@0
6
+ REQUIRES HOST audio@0
7
+ REQUIRES HOST download@0
8
+ REQUIRES HOST dso@0
9
+ REQUIRES HOST http@0
10
+ REQUIRES HOST nena@0
11
+ REQUIRES HOST packages@0
12
+ REQUIRES HOST snapshot@0
13
+ REQUIRES HOST sockets@0
14
+ REQUIRES HOST threads@0
15
+ REQUIRES HOST touch@0
16
+ REQUIRES HOST upload@0
17
+
18
+ # The image people open: a shell, its text tools, the terminal, curl, amy, ps
19
+ # and the page's file exchange.
20
+ # It holds no compiler; amy installs what a session needs, and nena enables
21
+ # the host modules a package needs beyond these (nena@0).
22
+ INSTALL /v0.1.4/Dollyfile-core c3aa527edcbac3332fe2aee277b392cc4e9b66b570935967f04d0bd3378ac506
23
+ INSTALL /v0.1.4/Dollyfile-posix e8bc6b8368a186bea1a6f3f667ba0eafb30f40e1a0faac81705aab7ccb058e8f
24
+ INSTALL /v0.1.4/Dollyfile-display d15ef860730ddefa417080c1d27cc0a26f03d5409c93805e9b3cbc5b6af61011
25
+ INSTALL /v0.1.4/Dollyfile-curl 173c3c37eeac846ba8caa316c656cb75e5facea793eb9434337550ddaf3d32d1
26
+ INSTALL /v0.1.4/Dollyfile-amy 90701fe1be537fae9f0e376f2dcfda377c019426cdbab48faeb9107f91bcb6de
27
+ INSTALL /v0.1.4/Dollyfile-nena 2e851d9a70ca04b6ef01be6980cdc2e4e9e0c49a291573dde00df9558f04d249
28
+ INSTALL /v0.1.4/Dollyfile-transfer a7a6e30cd5b1680791d91f56daecaeec446b0aeff20bdad68ae4c2c06b81df5b
29
+ INSTALL /v0.1.4/Dollyfile-ps 39cdf2bfaa3fb52f3c161672634f9600381754e6f006971896d6f79b6b345b77
30
+ REQUIRES TOOL foreground
31
+ REQUIRES TOOL test
32
+ REQUIRES TOOL echo
33
+
34
+ FILE /etc/dolly/init.slop
35
+ if test -f "$HOME/.dollyrc"; then
36
+ /bin/foreground /bin/slop -e "$HOME/.dollyrc"
37
+ status=$?
38
+ case "$status" in
39
+ 0|130) ;;
40
+ *) echo "Dolly: $HOME/.dollyrc exited with status $status; continuing." >&2 ;;
41
+ esac
42
+ fi
43
+ /bin/foreground -i /bin/slop
44
+ echo
45
+ echo 'Dolly: image entry exited; entering the recovery Slop shell.'
46
+ /bin/foreground -i /bin/slop
47
+
48
+ FILE /home/dolly/.dollyrc
49
+ echo 'DOLLY: a small Unix-like machine inside this browser tab.'
50
+ echo 'Files and programs stay in the tab; Ctrl+Shift+S saves the session.'
51
+ echo 'This image is small. amy list shows what it can install, for example:'
52
+ echo ' amy install cc the C and C++ compiler and Make'
53
+ echo ' amy install git Git'
54
+ echo ' amy install python CPython and pip'
55
+ echo 'help describes the shell, man NAME a command.'
56
+ echo
57
+
58
+ ENTRY /bin/foreground -i /bin/slop /etc/dolly/init.slop
package/Dollyfile-amy ADDED
@@ -0,0 +1,24 @@
1
+ DOLLY 7
2
+ PACKAGE amy
3
+ REQUIRES HOST runtime@0
4
+ REQUIRES HOST http@0
5
+ REQUIRES HOST packages@0
6
+
7
+ # amy and the recipe engine it runs: what a session needs to install packages.
8
+ # amy asks the site for the package index of the version it was built for.
9
+ FROM /v0.1.4/Dollyfile-system-build 7997c05ba08220831088b2aa713c86dbf0ded0229bbfa84f411476f00269d9fc
10
+ REQUIRES HEADER libc
11
+ REQUIRES HEADER http
12
+ REQUIRES TOOL cc
13
+ REQUIRES TOOL rm
14
+
15
+ SOURCE /v0.1.4/dist/static/default/commands/amy.c 38b7b4d9551ebca083028952a10d8a99da3f62d05f7e057c1618855b700fcca8 /tmp/amy/amy.c
16
+ SOURCE /v0.1.4/dist/static/default/commands/version.h 26530b4c4fe62f84d3a4e133a3ac1363c4b3d26673c67b0ba0c5944aa870bc18 /tmp/amy/version.h
17
+ SLOP cc -O2 /tmp/amy/amy.c -o /bin/amy
18
+
19
+ EXPORTS TOOL amy
20
+ EXPORTS TOOL dollyfile
21
+ SLOP amy --help > /usr/share/man/cat1/amy.1
22
+ FILE /usr/share/man/cat1/amy.1
23
+ FILE /usr/share/man/cat1/dollyfile.1
24
+ SLOP rm -rf /tmp/amy
package/Dollyfile-core ADDED
@@ -0,0 +1,49 @@
1
+ DOLLY 7
2
+ PACKAGE core
3
+ REQUIRES HOST runtime@0
4
+
5
+ # Slop and the commands system-build compiles beside it: a shell without the
6
+ # compiler or the recipe engine.
7
+ FROM /v0.1.4/Dollyfile-system-build 7997c05ba08220831088b2aa713c86dbf0ded0229bbfa84f411476f00269d9fc
8
+
9
+ EXPORTS TOOL slop
10
+ EXPORTS ENV SHELL /bin/slop
11
+ EXPORTS TOOL foreground
12
+ EXPORTS TOOL help
13
+ EXPORTS TOOL man
14
+ EXPORTS TOOL pwd
15
+ EXPORTS TOOL cd
16
+ EXPORTS TOOL cat
17
+ EXPORTS TOOL echo
18
+ EXPORTS TOOL touch
19
+ EXPORTS TOOL clear
20
+ EXPORTS TOOL ls
21
+ EXPORTS TOOL stat
22
+ EXPORTS TOOL file
23
+ EXPORTS TOOL test
24
+ EXPORTS TOOL [
25
+ EXPORTS TOOL mv
26
+ EXPORTS TOOL cp
27
+ EXPORTS TOOL mkdir
28
+ EXPORTS TOOL rm
29
+ EXPORTS TOOL tar
30
+ FILE /usr/share/man/cat1/[.1
31
+ FILE /usr/share/man/cat1/cat.1
32
+ FILE /usr/share/man/cat1/cd.1
33
+ FILE /usr/share/man/cat1/clear.1
34
+ FILE /usr/share/man/cat1/cp.1
35
+ FILE /usr/share/man/cat1/echo.1
36
+ FILE /usr/share/man/cat1/file.1
37
+ FILE /usr/share/man/cat1/foreground.1
38
+ FILE /usr/share/man/cat1/help.1
39
+ FILE /usr/share/man/cat1/ls.1
40
+ FILE /usr/share/man/cat1/man.1
41
+ FILE /usr/share/man/cat1/mkdir.1
42
+ FILE /usr/share/man/cat1/mv.1
43
+ FILE /usr/share/man/cat1/pwd.1
44
+ FILE /usr/share/man/cat1/rm.1
45
+ FILE /usr/share/man/cat1/slop.1
46
+ FILE /usr/share/man/cat1/stat.1
47
+ FILE /usr/share/man/cat1/tar.1
48
+ FILE /usr/share/man/cat1/test.1
49
+ FILE /usr/share/man/cat1/touch.1
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.4/Dollyfile-system-build 7997c05ba08220831088b2aa713c86dbf0ded0229bbfa84f411476f00269d9fc
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.4/dist/static/default/curl-headers.tar 346a0298fcbdafbad7d0c0259a2d7b8539ca46c39222797c01dcac213564bf30 /tmp/curl-headers.tar
17
+ SOURCE /v0.1.4/dist/static/default/libcurl-fetch.c bdf44cc786ba51355b4fe4b9e9621341a0d71e88710ba3ab653153bdf00aa4e0 /usr/src/dolly/libcurl-fetch.c
18
+ SOURCE /v0.1.4/dist/static/default/commands/curl.c 1cb956eba05199235940ec4a5420558b3c68177405d25ba3cc20d5fc160cfbe3 /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
@@ -0,0 +1,34 @@
1
+ DOLLY 7
2
+ PACKAGE display
3
+ REQUIRES HOST runtime@0
4
+ REQUIRES HOST display@0
5
+
6
+ COPY /v0.1.4/Dollyfile-ghostty-build f38a8d00f83771f683325881db2823730beb943ce0a0eb470e1cdef802d25206 /usr/lib/libdisplay.so /usr/lib/libdisplay.so
7
+ COPY /v0.1.4/Dollyfile-ghostty-build f38a8d00f83771f683325881db2823730beb943ce0a0eb470e1cdef802d25206 /usr/share/fonts/IosevkaTerm-SemiBold.ttf /usr/share/fonts/IosevkaTerm-SemiBold.ttf
8
+ COPY /v0.1.4/Dollyfile-ghostty-build f38a8d00f83771f683325881db2823730beb943ce0a0eb470e1cdef802d25206 /usr/share/licenses/ghostty /usr/share/licenses/ghostty
9
+ COPY /v0.1.4/Dollyfile-ghostty-build f38a8d00f83771f683325881db2823730beb943ce0a0eb470e1cdef802d25206 /usr/share/licenses/uucode /usr/share/licenses/uucode
10
+ COPY /v0.1.4/Dollyfile-ghostty-build f38a8d00f83771f683325881db2823730beb943ce0a0eb470e1cdef802d25206 /usr/share/fonts/DroidSansFallback.ttf /usr/share/fonts/DroidSansFallback.ttf
11
+ COPY /v0.1.4/Dollyfile-ghostty-build f38a8d00f83771f683325881db2823730beb943ce0a0eb470e1cdef802d25206 /usr/share/fonts/NotoEmoji-Regular.ttf /usr/share/fonts/NotoEmoji-Regular.ttf
12
+ COPY /v0.1.4/Dollyfile-ghostty-build f38a8d00f83771f683325881db2823730beb943ce0a0eb470e1cdef802d25206 /usr/share/licenses/droid-fonts /usr/share/licenses/droid-fonts
13
+ COPY /v0.1.4/Dollyfile-ghostty-build f38a8d00f83771f683325881db2823730beb943ce0a0eb470e1cdef802d25206 /usr/share/licenses/noto-emoji /usr/share/licenses/noto-emoji
14
+ # The terminal as termcap describes it, for programs that link a termcap
15
+ # library (less, Emacs): TERM is xterm-256color.
16
+ FILE /etc/termcap
17
+ xterm-256color|xterm|Dolly terminal:\
18
+ :am:bs:km:mi:ms:xn:co#80:it#8:li#24:Co#256:pa#32767:\
19
+ :AB=\E[48;5;%dm:AF=\E[38;5;%dm:op=\E[39;49m:\
20
+ :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
21
+ :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\
22
+ :ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:\
23
+ :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=\r:cs=\E[%i%d;%dr:ct=\E[3g:\
24
+ :dc=\E[P:dl=\E[M:do=\n:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\
25
+ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:\
26
+ :k7=\E[18~:k8=\E[19~:k9=\E[20~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\
27
+ :kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:@7=\EOF:\
28
+ :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:\
29
+ :me=\E[0m:mh=\E[2m:mr=\E[7m:nd=\E[C:rc=\E8:sc=\E7:se=\E[27m:\
30
+ :sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:\
31
+ :ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?12l\E[?25h:vi=\E[?25l:\
32
+ :vs=\E[?12;25h:
33
+ EXPORTS LIB display /usr/lib/libdisplay.so
34
+ EXPORTS ENV DISPLAY /usr/lib/libdisplay.so
@@ -0,0 +1,147 @@
1
+ DOLLY 7
2
+ TOOLCHAIN ghostty-build
3
+ REQUIRES HOST runtime@0
4
+ REQUIRES HOST display@0
5
+ REQUIRES HOST input@0
6
+ REQUIRES HOST http@0
7
+
8
+ FROM /v0.1.4/Dollyfile-zig-build 6c16bde5b02b9b125bc8f020c7fc225d9dd226e8e0609a1e826b2c826109d4ef
9
+
10
+ REQUIRES HEADER libc
11
+ REQUIRES HEADER display
12
+ REQUIRES HEADER input
13
+ REQUIRES TOOL ar
14
+ REQUIRES TOOL cc
15
+ REQUIRES TOOL make
16
+ REQUIRES TOOL rm
17
+ REQUIRES TOOL tar
18
+ REQUIRES TOOL zig
19
+
20
+ SOURCE /v0.1.4/dist/static/default/ghostty.tar 3add3703b5d426311460df7b0474595549b9791af2855082d01ab26571232ba6 /tmp/ghostty.tar
21
+ SOURCE /v0.1.4/dist/static/default/uucode.tar 27d4103c73b68b20c21adaee05c4cd2c01fc418e083f5961148e1f872951453e /tmp/uucode.tar
22
+ SOURCE /v0.1.4/dist/static/default/ghostty/display.c 8c4ad6cc67a72e13724aa823c58a3ac0c20908ae5e2490d5f7e30cac9276145e /usr/src/dolly/ghostty/display.c
23
+ SOURCE /v0.1.4/dist/static/default/stb_truetype.h ecd30b05e0dd4fea3a13c26810dd9e1992dc379049482c393d5a19e6b5090aab /tmp/ghostty/stb_truetype.h
24
+ SOURCE /v0.1.4/dist/static/default/stb_image.h 594c2fe35d49488b4382dbfaec8f98366defca819d916ac95becf3e75f4200b3 /tmp/ghostty/stb_image.h
25
+ SOURCE /v0.1.4/dist/static/default/IosevkaTerm-SemiBold.ttf 754545a4f6250efdd3d2cc916bb344c59f0c59830405307dfd44d183f919a654 /usr/share/fonts/IosevkaTerm-SemiBold.ttf
26
+ # What IosevkaTerm has no glyph for: Chinese, Japanese and Korean, then emoji.
27
+ SOURCE /v0.1.4/dist/static/default/DroidSansFallback.ttf 56d3edfb377a8bc3c4b77f4476405c770173c0e31221ad7c77d0a8e1f3039a3e /usr/share/fonts/DroidSansFallback.ttf
28
+ SOURCE /v0.1.4/dist/static/default/droid-fonts-NOTICE 38751245389e1e23f73e6f5384b5cbe7fa972cc4410c5adc9c04b082a0b9561a /usr/share/licenses/droid-fonts/NOTICE
29
+ SOURCE /v0.1.4/dist/static/default/NotoEmoji-Regular.ttf cd07743a4c93d8da929afdd28c1d368f11da478a1093146a13610081c2a58440 /usr/share/fonts/NotoEmoji-Regular.ttf
30
+ SOURCE /v0.1.4/dist/static/default/noto-emoji-OFL.txt fb755fa3280d1d215a20df2e64fe6a0f75f8208439b11671978214aae60d2997 /usr/share/licenses/noto-emoji/OFL.txt
31
+ SLOP tar \
32
+ -xf /tmp/ghostty.tar \
33
+ -C /
34
+ SLOP tar \
35
+ -xf /tmp/uucode.tar \
36
+ -C /
37
+
38
+ # Zig emits Ghostty VT and compiler_rt as C; cc compiles them. zig.h passes
39
+ # usize as uint64_t *, and @returnAddress would import an Emscripten helper.
40
+ FILE /tmp/ghostty/Makefile
41
+ .RECIPEPREFIX := >
42
+ ZIGFLAGS := -OReleaseSmall -target wasm64-emscripten -mcpu=generic+atomics -fsingle-threaded -ofmt=c
43
+ CFLAGS := -O2 -std=c99 -fno-strict-aliasing -Wno-incompatible-pointer-types -I /usr/lib/zig
44
+ all: /usr/lib/libghostty-vt.a /usr/lib/libdisplay.so
45
+ /tmp/ghostty/ghostty-vt.c:
46
+ >zig build-obj \
47
+ > $(ZIGFLAGS) \
48
+ > -lc \
49
+ > --name ghostty-vt \
50
+ > --dep build_options \
51
+ > --dep terminal_options \
52
+ > --dep wuffs \
53
+ > --dep unicode_tables \
54
+ > --dep symbols_tables \
55
+ > --dep uucode \
56
+ > -Mroot=/usr/src/ghostty/src/lib_vt.zig \
57
+ > -Mbuild_options=/usr/src/ghostty/generated/build-options.zig \
58
+ > -Mterminal_options=/usr/src/ghostty/generated/terminal-options.zig \
59
+ > -Municode_tables=/usr/src/ghostty/generated/unicode-props.zig \
60
+ > -Msymbols_tables=/usr/src/ghostty/generated/unicode-symbols.zig \
61
+ > -ODebug \
62
+ > --dep types.zig \
63
+ > --dep config.zig \
64
+ > --dep tables \
65
+ > -Muucode=/usr/src/uucode/src/root.zig \
66
+ > -ODebug \
67
+ > -Mtypes.zig=/usr/src/uucode/src/types.zig \
68
+ > -ODebug \
69
+ > --dep types.zig \
70
+ > --dep storage.zig \
71
+ > -Mconfig.zig=/usr/src/uucode/src/config.zig \
72
+ > -ODebug \
73
+ > --dep config.zig \
74
+ > --dep storage.zig \
75
+ > --dep build_config \
76
+ > -Mtables=/usr/src/ghostty/generated/uucode-tables.zig \
77
+ > -ODebug \
78
+ > --dep config.zig \
79
+ > -Mstorage.zig=/usr/src/uucode/src/storage.zig \
80
+ > --dep config.zig \
81
+ > --dep storage.zig \
82
+ > -Mbuild_config=/usr/src/ghostty/src/build/uucode_config.zig \
83
+ > -OReleaseSmall \
84
+ > --dep wuffs_c \
85
+ > -Mwuffs=/usr/src/ghostty/pkg/wuffs/src/main.zig \
86
+ > --dep c_builtins \
87
+ > --dep helpers \
88
+ > -Mwuffs_c=/usr/src/ghostty/generated/wuffs-c.zig \
89
+ > -Mc_builtins=/usr/src/translate_c/lib/c_builtins.zig \
90
+ > -Mhelpers=/usr/src/translate_c/lib/helpers.zig \
91
+ > -femit-bin=$@
92
+ /tmp/ghostty/compiler_rt.c:
93
+ >zig build-obj $(ZIGFLAGS) --name compiler_rt -Mroot=/usr/lib/zig/compiler_rt.zig -femit-bin=$@
94
+ /tmp/ghostty/ghostty-vt.o: /tmp/ghostty/ghostty-vt.c
95
+ >cc -c $(CFLAGS) '-D__builtin_return_address(level)=0' -o $@ $<
96
+ /tmp/ghostty/compiler_rt.o: /tmp/ghostty/compiler_rt.c
97
+ >cc -c $(CFLAGS) -o $@ $<
98
+ # Wuffs as Ghostty's pkg/wuffs/build.zig builds it, for kitty graphics;
99
+ # hidden, as the plugin's own code: its vtables name its functions.
100
+ /tmp/ghostty/wuffs.o: /usr/src/wuffs/wuffs-v0.4.c
101
+ >cc -c -O2 -fvisibility=hidden -DWUFFS_IMPLEMENTATION -DWUFFS_CONFIG__MODULES -DWUFFS_CONFIG__MODULE__AUX__BASE \
102
+ > -DWUFFS_CONFIG__MODULE__AUX__IMAGE -DWUFFS_CONFIG__MODULE__BASE -DWUFFS_CONFIG__MODULE__ADLER32 \
103
+ > -DWUFFS_CONFIG__MODULE__CRC32 -DWUFFS_CONFIG__MODULE__DEFLATE -DWUFFS_CONFIG__MODULE__JPEG \
104
+ > -DWUFFS_CONFIG__MODULE__PNG -DWUFFS_CONFIG__MODULE__ZLIB -o $@ $<
105
+ /usr/lib/libghostty-vt.a: /tmp/ghostty/ghostty-vt.o /tmp/ghostty/compiler_rt.o /tmp/ghostty/wuffs.o
106
+ >ar rcs $@ $^
107
+ /usr/lib/libdisplay.so: /usr/src/dolly/ghostty/display.c /usr/lib/libghostty-vt.a
108
+ >cc \
109
+ > -shared \
110
+ > --dolly-kernel-plugin \
111
+ > -O2 \
112
+ > -I /tmp/ghostty \
113
+ > -I /usr/include \
114
+ > $< \
115
+ > -lghostty-vt \
116
+ > -o $@
117
+ SLOP CWD /usr/src/ghostty make \
118
+ -f /tmp/ghostty/Makefile
119
+
120
+ FILE /usr/share/fonts/IosevkaTerm-SemiBold.ttf
121
+ FILE /usr/share/fonts/DroidSansFallback.ttf
122
+ FILE /usr/share/fonts/NotoEmoji-Regular.ttf
123
+ FILE /usr/share/licenses/droid-fonts/NOTICE
124
+ FILE /usr/share/licenses/noto-emoji/OFL.txt
125
+ FILE /usr/share/licenses/ghostty/LICENSE
126
+ FILE /usr/share/licenses/uucode/LICENSE.md
127
+ FILE /usr/share/licenses/wuffs/LICENSE-APACHE
128
+ FILE /usr/share/licenses/wuffs/LICENSE-MIT
129
+ FILE /usr/share/licenses/translate-c/LICENSE
130
+
131
+ EXPORTS LIB ghostty-vt /usr/lib/libghostty-vt.a
132
+ EXPORTS LIB display /usr/lib/libdisplay.so
133
+ EXPORTS HEADER ghostty-vt /usr/include/ghostty
134
+
135
+ SLOP rm \
136
+ -rf \
137
+ /tmp/ghostty \
138
+ /tmp/ghostty.tar \
139
+ /tmp/uucode.tar \
140
+ /usr/src/dolly/ghostty \
141
+ /usr/src/ghostty \
142
+ /usr/src/uucode
143
+
144
+ # Opened, the image runs the display library it just built.
145
+ EXPORTS ENV DISPLAY /usr/lib/libdisplay.so
146
+
147
+ ENTRY /bin/foreground -i /bin/slop
package/Dollyfile-git ADDED
@@ -0,0 +1,191 @@
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.4/Dollyfile-system-build 7997c05ba08220831088b2aa713c86dbf0ded0229bbfa84f411476f00269d9fc
12
+ USE /v0.1.4/Dollyfile-zlib 7f3254e8d51bc7edd2fa47b19f3b1e2e43c747476ab93c57654639e4119abde7
13
+ USE /v0.1.4/Dollyfile-curl 173c3c37eeac846ba8caa316c656cb75e5facea793eb9434337550ddaf3d32d1
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.4/dist/static/default/git.tar 80a61ce947350bfd0c425ec5624c30379d99c9b443ad2588c6c361f8e0fee5d2 /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
+ # Keep the bootstrap build unoptimized: Git has hundreds of translation
45
+ # units and this layer is optimized for deterministic browser cold-build
46
+ # latency rather than execution throughput.
47
+ # Git ends with status 128 when its pager cannot start, so the default one
48
+ # is a command for Slop: less when it is installed, cat otherwise.
49
+ CPPFLAGS := \
50
+ -O0 \
51
+ -std=gnu99 \
52
+ -Wno-ignored-attributes \
53
+ -D_DEFAULT_SOURCE \
54
+ -DNO_GETTEXT \
55
+ -DNO_ICONV \
56
+ -DNO_EXPAT \
57
+ -pthread \
58
+ -DNO_UNIX_SOCKETS \
59
+ -DNO_OPENSSL \
60
+ -DNO_PERL \
61
+ -DNO_PYTHON \
62
+ -DNO_IPV6 \
63
+ -DNO_MMAP \
64
+ -DNO_REGEX \
65
+ -DGAWK \
66
+ -DNO_MBSUPPORT \
67
+ -DNO_MEMMEM \
68
+ -DNO_PREAD \
69
+ -DNO_SETENV \
70
+ -DNO_STRCASESTR \
71
+ -DNO_STRLCPY \
72
+ -DNO_STRTOUMAX \
73
+ -Dprintf=iprintf \
74
+ -Dfprintf=fiprintf \
75
+ -DSHA1_BLK \
76
+ -DSHA256_BLK \
77
+ -DHAVE_ALLOCA_H \
78
+ -DHAVE_STRINGS_H \
79
+ -DHAVE_CLOCK_GETTIME \
80
+ -DHAVE_GETRANDOM \
81
+ '-DGIT_VERSION_H="version-def.h"' \
82
+ '-DBINDIR="/usr/bin"' \
83
+ '-DGIT_EXEC_PATH="/usr/libexec/dolly"' \
84
+ '-DDEFAULT_GIT_TEMPLATE_DIR="/usr/share/git-core/templates"' \
85
+ '-DFALLBACK_RUNTIME_PREFIX="/usr"' \
86
+ '-DGIT_HOST_CPU="wasm64"' \
87
+ '-DGIT_LOCALE_PATH="/usr/share/locale"' \
88
+ '-DSHELL_PATH="/bin/slop"' \
89
+ '-DDEFAULT_PAGER="$$(command -v less || command -v cat)"' \
90
+ '-DPAGER_ENV="LESS=FRX LV=-c"' \
91
+ '-DETC_GITCONFIG="/etc/gitconfig"' \
92
+ '-DETC_GITATTRIBUTES="/etc/gitattributes"' \
93
+ '-DGIT_HTML_PATH="/usr/share/doc/git/html"' \
94
+ '-DGIT_MAN_PATH="/usr/share/man"' \
95
+ '-DGIT_INFO_PATH="/usr/share/info"' \
96
+ -I /usr/src/git/compat/regex \
97
+ -I /usr/src/git \
98
+ -include dolly/runtime.h
99
+ all: /usr/bin/git /usr/libexec/dolly/git-remote-http /usr/libexec/dolly/git-remote-https
100
+ /tmp/git/objects/%.o: /usr/src/git/%.c
101
+ >mkdir -p $(dir $@)
102
+ >cc \
103
+ > $(CPPFLAGS) \
104
+ > -c $< \
105
+ > -o $@
106
+ /usr/lib/libgit.a: $(OBJECTS)
107
+ >ar rcs $@ $^
108
+ /usr/bin/git: /usr/src/git/common-main.c /usr/src/git/git.c /usr/lib/libgit.a
109
+ >cc \
110
+ > $(CPPFLAGS) \
111
+ > /usr/src/git/common-main.c \
112
+ > /usr/src/git/git.c \
113
+ > -lgit \
114
+ > -lz \
115
+ > -o $@
116
+ /usr/libexec/dolly:
117
+ >mkdir -p $@
118
+ /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
119
+ >cc \
120
+ > $(CPPFLAGS) \
121
+ > /usr/src/git/common-main.c \
122
+ > /usr/src/git/remote-curl.c \
123
+ > /usr/src/git/http.c \
124
+ > /usr/src/git/http-walker.c \
125
+ > -lgit \
126
+ > -lcurl \
127
+ > -lz \
128
+ > -o $@
129
+ /usr/libexec/dolly/git-remote-https: /usr/libexec/dolly/git-remote-http
130
+ >cc \
131
+ > $(CPPFLAGS) \
132
+ > /usr/src/git/common-main.c \
133
+ > /usr/src/git/remote-curl.c \
134
+ > /usr/src/git/http.c \
135
+ > /usr/src/git/http-walker.c \
136
+ > -lgit \
137
+ > -lcurl \
138
+ > -lz \
139
+ > -o $@
140
+ SLOP CWD /usr/src/git make \
141
+ -f /tmp/git/Makefile
142
+
143
+ EXPORTS TOOL git
144
+
145
+ SLOP git \
146
+ --version
147
+ # The builtins a local transport runs by their dashed names (git clone PATH
148
+ # runs git-upload-pack on its other side), as upstream installs them.
149
+ FILE /usr/libexec/dolly/git-upload-pack
150
+ #!/bin/slop
151
+ exec git upload-pack "$@"
152
+ FILE /usr/libexec/dolly/git-receive-pack
153
+ #!/bin/slop
154
+ exec git receive-pack "$@"
155
+ FILE /usr/libexec/dolly/git-upload-archive
156
+ #!/bin/slop
157
+ exec git upload-archive "$@"
158
+ SLOP git init -q /tmp/git-check/origin && git -C /tmp/git-check/origin commit -q --allow-empty -m one && \
159
+ git clone -q /tmp/git-check/origin /tmp/git-check/clone && test "$(git -C /tmp/git-check/clone log --format=%s)" = one && \
160
+ git -C /tmp/git-check/clone commit -q --allow-empty -m two && git -C /tmp/git-check/clone push -q origin HEAD:pushed && \
161
+ test "$(git -C /tmp/git-check/origin log -1 --format=%s pushed)" = two
162
+ SLOP git --help > /usr/share/man/cat1/git.1
163
+
164
+ FILE /usr/libexec/dolly/git-remote-http
165
+ FILE /usr/libexec/dolly/git-remote-https
166
+ FOLDER /usr/share/git-core/templates
167
+ FILE /usr/share/licenses/git/COPYING
168
+ # git links libcurl statically and carries its licence.
169
+ FILE /usr/share/licenses/curl/COPYING
170
+ FILE /usr/share/man/cat1/git.1
171
+
172
+ # Dolly's diff and patch: git diff --no-index and git apply, for programs and
173
+ # build systems that run them.
174
+ SOURCE /v0.1.4/dist/static/default/commands/run-program.h e73415ba149e8dcb9944313c36d8d2319202d699c810e02a26d5a94caa8f3a9f /tmp/git-tools/run-program.h
175
+ SOURCE /v0.1.4/dist/static/default/commands/diff.c e1e71b3947fac230f221715577fbbfbd6ba3cf82c6c3cd027905f10ace8cf11e /tmp/git-tools/diff.c
176
+ SOURCE /v0.1.4/dist/static/default/commands/patch.c 01a81c0b50df26223772e568bdc951db73d0be59b71251a1b023234c10a1b63e /tmp/git-tools/patch.c
177
+ SLOP cc -O2 /tmp/git-tools/diff.c -o /bin/diff
178
+ SLOP cc -O2 /tmp/git-tools/patch.c -o /bin/patch
179
+ EXPORTS TOOL diff
180
+ EXPORTS TOOL patch
181
+ SLOP diff --help > /usr/share/man/cat1/diff.1
182
+ SLOP patch --help > /usr/share/man/cat1/patch.1
183
+ FILE /usr/share/man/cat1/diff.1
184
+ FILE /usr/share/man/cat1/patch.1
185
+
186
+ SLOP rm \
187
+ -rf \
188
+ /tmp/git \
189
+ /tmp/git.tar \
190
+ /tmp/git-tools \
191
+ /usr/src/git
package/Dollyfile-gzip ADDED
@@ -0,0 +1,19 @@
1
+ DOLLY 7
2
+ PACKAGE gzip
3
+ REQUIRES HOST runtime@0
4
+
5
+ FROM /v0.1.4/Dollyfile-system-build 7997c05ba08220831088b2aa713c86dbf0ded0229bbfa84f411476f00269d9fc
6
+ USE /v0.1.4/Dollyfile-zlib 7f3254e8d51bc7edd2fa47b19f3b1e2e43c747476ab93c57654639e4119abde7
7
+
8
+ REQUIRES HEADER libc
9
+ REQUIRES HEADER zlib
10
+ REQUIRES LIB z
11
+ REQUIRES TOOL cc
12
+ REQUIRES TOOL rm
13
+
14
+ SOURCE /v0.1.4/dist/static/default/commands/gzip.c 54b1517e8151c007dfc768a9af73cfbc5e4a5a6a6d5dd6b1d773c02283d054d6 /tmp/gzip.c
15
+ SLOP cc /tmp/gzip.c -lz -o /bin/gzip
16
+ SLOP rm /tmp/gzip.c
17
+ EXPORTS TOOL gzip
18
+ SLOP gzip --help > /usr/share/man/cat1/gzip.1
19
+ FILE /usr/share/man/cat1/gzip.1