diff --git a/recipes/incoming/openrc.toml b/recipes/incoming/openrc.toml new file mode 100644 index 00000000..d7df07d2 --- /dev/null +++ b/recipes/incoming/openrc.toml @@ -0,0 +1,30 @@ +# openrc 0.62.6 — gestor de servicios / init dependency-based (el de Gentoo y Alpine). C, meson. +# Por qué en hammer: hammer bootea con arje-zero como PID1, pero openrc es el SUPERVISOR de +# servicios que falta para una distro instalable de verdad (rc-service/rc-status/rc-update sobre +# /etc/init.d). Es musl-clean por diseño: Alpine lo corre sobre musl en producción ⇒ encaja con el +# toolchain zig-cc/musl static de hammer sin parches. +# +# Estático (modelo hammer): -Ddefault_library=static + --prefer-static ⇒ libeinfo/librc salen .a y +# los binarios rc/rc-service enlazan static-musl. Deps OPCIONALES desactivadas para clausura mínima: +# audit/selinux/pam/libcap son features 'auto'/required:false en el meson.build; sin declararlas ni +# el sandbox las provee ⇒ no se enganchan. Se pueden sumar después (libcap ya está en el corpus) si +# se quiere capability-dropping por servicio; por ahora, el núcleo. +name = "openrc" +version = "0.62.6" + +[source] +tarball = "https://github.com/OpenRC/openrc/archive/refs/tags/0.62.6.tar.gz" +sha256 = "d5c15b37533e2b5d247d9fbab8b41f312614784b9ea11239ddcfe8e4528e7722" + +[build] +compiler = "zig-cc" +target = "x86_64-linux-musl" +link = "static" + +[build.phases] +configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload --prefer-static -Ddefault_library=static -Daudit=disabled -Dselinux=disabled -Dpam=false -Dbash-completions=false -Dzsh-completions=false -Dsysvinit=false" +compile = "ninja -C output" +install = "DESTDIR=/out meson install -C output --no-rebuild" + +[deps] +build = ["meson", "samurai", "python3", "pkgconf"]