# Importada de Alpine aports por `hammer import-alpine` (Etapa G). PUNTO DE PARTIDA — pero # YA trae los parches de musl de Alpine (lo que un import de nix pierde). Pendiente: el # sha256 del tarball (el wrapper lo calcula), y adaptar build/install del shell de abuild. name = "foot" version = "1.27.0" [source] tarball = "https://codeberg.org/dnkl/foot/archive/1.27.0.tar.gz" # FIXME sha256: el wrapper lo calcula (Alpine publica sha512). sha512 de Alpine: # sha512 = "cb4635c2afc18799c3c5b30715e575e0fa7e1621a1b6dab27bebdb9a530fd999a7d551986404ad17aaa8a8986e7250541a33324ef4acc5a6ff8058537545400b" sha256 = "FIXME-sha256" [build] compiler = "zig-cc" target = "x86_64-linux-musl" link = "static" flags = [] [build.phases] # de build() de Alpine (traducido; el lab provee $CBUILD/$CHOST — Etapa G Fase 3; revisá --shared para estático): compile = ''' _abuild_phase() { export CFLAGS="$CFLAGS -O3" # -O3 as the package is intended to use it export CXXFLAGS="$CXXFLAGS -O3" export CPPFLAGS="$CPPFLAGS -O3" abuild-meson \ -Db_pgo=generate \ -Db_lto=true \ -Dterminfo-base-name=foot-extra \ -Dutmp-backend=none \ . output meson compile -C output ninja -C output test # segfault on loongarch64 if [ "$CARCH" != "loongarch64" ]; then ./pgo/full-headless-cage.sh . output fi meson configure -Db_pgo=use output meson compile -C output } _abuild_phase ''' # de package() de Alpine (traducido $pkgdir→/out): install = ''' _abuild_phase() { DESTDIR="/out" meson install --no-rebuild -C output install -Dm755 "$srcdir"/foot.initd "/out"/etc/user/init.d/foot } _abuild_phase ''' # depends de runtime de Alpine (NO build-deps): ncurses-terminfo [deps] build = ["cage", "font-dejavu", "fcft", "fontconfig", "freetype", "libxkbcommon", "ncurses", "pixman", "scdoc", "tllist", "utf8proc", "wayland", "wayland-protocols"]