Etapa G: freetype/pixman/fribidi reescritas LIMPIAS (meson static mínimo, sin abuild) — bases GUI

This commit is contained in:
2026-06-29 23:26:35 -04:00
parent b32f3a0174
commit 6e28cd9566
3 changed files with 19 additions and 94 deletions
+7 -28
View File
@@ -1,43 +1,22 @@
# 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.
# freetype 2.14.3 — ladrillo base de GUI (rasterizado de fuentes). Reescrita LIMPIA del import Alpine
# (abuild-meson + ft2demos como fuente aparte) a meson static mínimo del lab. Sin png/harfbuzz/brotli
# (deps opcionales) ⇒ leaf; zlib es la única dep real.
name = "freetype"
version = "2.14.3"
[source]
tarball = "https://download.savannah.gnu.org/releases/freetype/freetype-2.14.3.tar.xz"
# FIXME sha256: el wrapper lo calcula (Alpine publica sha512). sha512 de Alpine:
# sha512 = "43de86ea70b4b47f6efaae67f3440f65a24ffac29dc6d11203a9764e4f1a749ce1ba7645acd23525220b3ba12ddad8687b962b9f1254e2c0a86070854e85d5a0"
sha256 = "36bc4f1cc413335368ee656c42afca65c5a3987e8768cc28cf11ba775e785a5f"
patches = ["pcf-family-names.patch", "subpixel.patch", "table-validation-modules.patch"]
[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() {
abuild-meson \
-Dfreetype2:default_library=both \
-Dlibrsvg=disabled \
"$srcdir"/ft2demos-2.14.3 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 -Dm644 builds/unix/freetype2.m4 \
-t "/out"/usr/share/aclocal
}
_abuild_phase
'''
configure = "PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release -Ddefault_library=static -Dharfbuzz=disabled -Dpng=disabled -Dbrotli=disabled -Dtests=disabled"
compile = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output"
install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild"
[deps]
build = ["brotli", "bzip2", "libpng", "libx11", "zlib"]
build = ["meson", "samurai", "python3", "pkgconf", "zlib"]
+6 -25
View File
@@ -1,40 +1,21 @@
# 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.
# fribidi 1.0.16 — ladrillo base de GUI (algoritmo bidireccional Unicode; lo usa pango). meson static
# mínimo, leaf (sin deps).
name = "fribidi"
version = "1.0.16"
[source]
tarball = "https://github.com/fribidi/fribidi/releases/download/v1.0.16/fribidi-1.0.16.tar.xz"
# FIXME sha256: el wrapper lo calcula (Alpine publica sha512). sha512 de Alpine:
# sha512 = "e3a56f36155f6813e3609473639fc533de742309f561c463012dc90b412a1ac7694b765d92669b2cbfaee973ca0e92fa5e926e68a1a078921f26ef17d82ab651"
sha256 = "1b1cde5b235d40479e91be2f0e88a309e3214c8ab470ec8a2744d82a5a9ea05c"
[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() {
abuild-muon \
-Ddefault_library=both \
-Dtests="$(want_check && echo true || echo false)" \
output .
ninja -C output
}
_abuild_phase
'''
# de package() de Alpine (traducido $pkgdir→/out):
install = '''
_abuild_phase() {
DESTDIR="/out" muon -C output install
}
_abuild_phase
'''
configure = "PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release -Ddefault_library=static -Dtests=false -Ddocs=false -Dbin=false"
compile = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output"
install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild"
[deps]
build = ["muon", "python3"]
build = ["meson", "samurai", "python3", "pkgconf"]
+6 -41
View File
@@ -1,56 +1,21 @@
# 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.
# pixman 0.46.4 — ladrillo base de GUI (rasterizado 2D; lo usa cairo). meson static mínimo, leaf
# (sin libpng/demos/tests/gtk).
name = "pixman"
version = "0.46.4"
[source]
tarball = "https://xorg.freedesktop.org/releases/individual/lib/pixman-0.46.4.tar.xz"
# FIXME sha256: el wrapper lo calcula (Alpine publica sha512). sha512 de Alpine:
# sha512 = "83b133e7969ba34f883f4e08dcc5d388c4397f43ce836c191c05945fe77c16ff501d531600780c12678a0d08105828a6bdeff2156b63f9c1a84087bc7f40ae9f"
sha256 = "a098c33924754ad43f981b740f6d576c70f9ed1006e12221b1845431ebce1239"
[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() {
case "$CARCH" in
armhf|riscv64)
# target-specific builtin not available
local lto=false
;;
*)
local lto=true
;;
esac
# We need to increase the stacksize here: https://gitlab.gnome.org/GNOME/librsvg/-/issues/595
LDFLAGS="$LDFLAGS -Wl,-z,stack-size=2097152" \
# auto-features=auto: a lot of features are architecture dependent
abuild-meson \
--auto-features=auto \
-Db_lto=$lto \
-Ddefault_library=both \
-Dlibpng=enabled \
-Ddemos=disabled \
-Dtests="$(want_check && echo enabled || echo disabled)" \
. 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
}
_abuild_phase
'''
configure = "PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release -Ddefault_library=static -Dlibpng=disabled -Ddemos=disabled -Dtests=disabled -Dgtk=disabled"
compile = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output"
install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild"
[deps]
build = ["libpng", "linux-headers"]
build = ["meson", "samurai", "python3", "pkgconf"]