Etapa G: pcre2/libpng/harfbuzz reescritas limpias (static, bottom-up GUI)

This commit is contained in:
2026-06-30 00:00:10 -04:00
parent 7c3ffef8eb
commit dc5fd6701c
3 changed files with 15 additions and 114 deletions
+5 -40
View File
@@ -1,51 +1,16 @@
# 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.
# harfbuzz 14.2.1 — shaping de texto (lo usa pango). meson static MÍNIMO (sin glib/cairo/icu p/ leaf).
name = "harfbuzz"
version = "14.2.1"
[source]
tarball = "https://github.com/harfbuzz/harfbuzz/releases/download/14.2.1/harfbuzz-14.2.1.tar.xz"
# FIXME sha256: el wrapper lo calcula (Alpine publica sha512). sha512 de Alpine:
# sha512 = "481dca68900e57895d3671baf0595c2d3a26f4f08d0db5662e83089f0d0ff6dc0c28c64c2811eb0f812b0525ed428e90db44f091a88bef47ace2f97d8285b013"
sha256 = "a54a5d8e9380a41fbb762ce367bcbf7704792dfca0d93f1bbca86c5a57902e0e"
[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() {
CFLAGS="$CFLAGS -O2 -flto=auto -ffat-lto-objects" \
CXXFLAGS="$CXXFLAGS -O2 -flto=auto -ffat-lto-objects" \
CPPFLAGS="$CPPFLAGS -O2 -flto=auto -ffat-lto-objects" \
abuild-meson \
--default-library=both \
-Dglib=enabled \
-Dgobject=enabled \
-Dgraphite=enabled \
-Dicu=enabled \
-Dfreetype=enabled \
-Dtests="$(want_check && echo enabled || echo disabled)" \
-Dcairo=enabled \
-Ddocs=enabled \
-Dintrospection=enabled \
. 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 -Dglib=disabled -Dgobject=disabled -Dcairo=disabled -Dicu=disabled -Dgraphite=disabled -Dfreetype=enabled -Dtests=disabled -Ddocs=disabled -Dintrospection=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 = ["cairo", "freetype", "glib", "gobject-introspection", "graphite2", "gtk-doc", "icu"]
build = ["meson", "samurai", "python3", "pkgconf", "freetype"]
+6 -33
View File
@@ -1,43 +1,16 @@
# 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.
# libpng 1.6.58 — imágenes PNG (lo usan cairo/gdk-pixbuf). autotools static, dep zlib.
name = "libpng"
version = "1.6.58"
[source]
tarball = "https://downloads.sourceforge.net/libpng/libpng-1.6.58.tar.gz"
# FIXME sha256: el wrapper lo calcula (Alpine publica sha512). sha512 de Alpine:
# sha512 = "177d81fd1ba1a46ff64da7f24260814876bd0a27ee5bed6dc9dbdd1fe28f3a67cb6f11c74a68f8380a9a7ab0d95c0022b847b1a3e4d939f2a562274627205789"
sha256 = "8c9b05b675ca7301a458df2c2e46f26e1d41ff36b8863f8c33530bc58c2e6225"
patches = ["libpng-fix-arm-neon.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() {
./configure \
--disable-shared --enable-static \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--localstatedir=/var
make
}
_abuild_phase
'''
# de package() de Alpine (traducido $pkgdir→/out):
install = '''
_abuild_phase() {
make DESTDIR="/out" install
rm -f "/out"/usr/lib/*.la
}
_abuild_phase
'''
configure = "./configure --prefix=/usr --disable-shared --enable-static"
compile = "make"
install = "make install DESTDIR=/out"
[deps]
build = ["zlib"]
+4 -41
View File
@@ -1,51 +1,14 @@
# 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.
# pcre2 10.47 — regex (lo usa glib). autotools static, limpio.
name = "pcre2"
version = "10.47"
[source]
tarball = "https://github.com/PhilipHazel/pcre2/releases/download/pcre2-10.47/pcre2-10.47.tar.bz2"
# FIXME sha256: el wrapper lo calcula (Alpine publica sha512). sha512 de Alpine:
# sha512 = "889a6fdc80f8a7285e4a75d189c183b4588df81bdf048302cf0830e11bbf9b9eeb387ba43dfd3aff8ffb3aa693291e8c535845c06e8ce92d1028cefa6b474804"
sha256 = "47fe8c99461250d42f89e6e8fdaeba9da057855d06eb7fc08d9ca03fd08d7bc7"
[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() {
# Note: Forced -O3 is recommended (needed?) for Julia.
./configure \
--disable-shared --enable-static \
CFLAGS="$CFLAGS -O3" \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--docdir=/usr/share/doc/pcre2-10.47 \
--htmldir=/usr/share/doc/pcre2-10.47/html \
--enable-pcre2-16 \
--enable-pcre2-32 \
--enable-pcre2grep-libz \
--enable-pcre2test-libedit \
--disable-symvers \
$_enable_jit
make
}
_abuild_phase
'''
# de package() de Alpine (traducido $pkgdir→/out):
install = '''
_abuild_phase() {
make DESTDIR="/out" install
}
_abuild_phase
'''
[deps]
build = ["libedit", "zlib"]
configure = "./configure --prefix=/usr --disable-shared --enable-static --enable-pcre2-16 --enable-pcre2-32 --enable-jit"
compile = "make"
install = "make install DESTDIR=/out"