Etapa G: freetype/pixman/fribidi reescritas LIMPIAS (meson static mínimo, sin abuild) — bases GUI
Semántico sayk'uy
Mana ima sutichaypas t'ikrakurqanchu: qillqalla, yachachiylla utaq willaylla t'ikrakurqan.
3 qillqakuna · +19 −94
diff --git a/recipes/incoming-clib/freetype.toml b/recipes/incoming-clib/freetype.toml
index d19d0226..3bb0c88c 100644
--- a/recipes/incoming-clib/freetype.toml
+++ b/recipes/incoming-clib/freetype.toml
@@ -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"]
diff --git a/recipes/incoming-clib/fribidi.toml b/recipes/incoming-clib/fribidi.toml
index fc932e18..36352269 100644
--- a/recipes/incoming-clib/fribidi.toml
+++ b/recipes/incoming-clib/fribidi.toml
@@ -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"]
diff --git a/recipes/incoming-clib/pixman.toml b/recipes/incoming-clib/pixman.toml
index ffed1b2c..bce02dbf 100644
--- a/recipes/incoming-clib/pixman.toml
+++ b/recipes/incoming-clib/pixman.toml
@@ -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"]