9pine

Created on 2020-08-19T04:34:53.349019

Return to the Index

This card can also be read via Gemini.

Ninepine (9pine) is Iced's stupid experiment to make Alpine even less usable than it currently is.

Plan9Ports is about 160mb fresh off ./INSTALL, but about 60mb when you strip all the binaries. This also includes stuff like rio and acme which aren't strictly needed in a server.

Regardless since an Alpine base image is only 5mb, you're looking at a 70mb full system compared to a 500+mb Fedora/Debian.

Current to-dos

TODO Try running `rc` directly as a user shell

TODO Wrap up as an apk package you can install

TODO Notify upstream how to get this running on alpine/muscl

Packages you need to install

apk add libucontext-dev libxt-dev

Patch you need to apply

diff --git a/src/mkhdr b/src/mkhdr
index 35a2ccc5..9046b7e9 100644
--- a/src/mkhdr
+++ b/src/mkhdr
@@ -8,7 +8,7 @@ OS=$O

 CC=9c
 #CC=9r
-LD=9l
+LD=9l -Wl,--whole-archive /lib/libucontext.a -Wl,--no-whole-archive
 AS=9a
 AR=9ar
 CFLAGS=