Etapa G: cairo + pango limpias (meson static --prefer-static) — capstone texto/2D GUI

This commit is contained in:
2026-06-30 00:29:57 -04:00
parent 2c23b1a0b4
commit 97af53d737
2 changed files with 12 additions and 77 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.
# cairo 1.18.4 — render 2D vectorial (base de pango/GTK). meson static, backends X/quartz/win off.
name = "cairo"
version = "1.18.4"
[source]
tarball = "https://gitlab.freedesktop.org/cairo/cairo/-/archive/1.18.4/cairo-1.18.4.tar.bz2"
# FIXME sha256: el wrapper lo calcula (Alpine publica sha512). sha512 de Alpine:
# sha512 = "27b98a17510b4d6f0187fcb280fea1b47ae31243f6999081a7ac94f8cf3c789c05fa6eb0fe65844808ef9ac11bcd29a4c3688c871a6950d888667840385acf9b"
sha256 = "6d9281e786fd289d382324d4588d59973a36911e1865b40e64f9ec39936ceba8"
patches = ["musl-stacksize.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 \
-Db_lto=true \
-Ddefault_library=both \
-Dgtk_doc=true \
-Dtests="$(want_check && echo enabled || echo disabled)" \
-Dfontconfig=enabled \
-Dfreetype=enabled \
-Dglib=enabled \
-Dpng=enabled \
-Dtee=enabled \
-Dxcb=enabled \
-Dxlib=enabled \
-Dzlib=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 --prefer-static -Ddefault_library=static -Dtests=disabled -Dxlib=disabled -Dxcb=disabled -Dquartz=disabled -Dtee=disabled -Dsymbol-lookup=disabled -Dspectre=disabled -Dgtk_doc=false -Dpng=enabled -Dfreetype=enabled -Dfontconfig=enabled -Dglib=enabled"
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 = ["expat", "fontconfig", "freetype", "glib", "gtk-doc", "libpng", "libxext", "libxrender", "pixman", "xcb-util", "zlib"]
build = ["meson", "samurai", "python3", "pkgconf", "pixman", "freetype", "fontconfig", "libpng", "zlib", "glib"]
+7 -37
View File
@@ -1,46 +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.
# pango 1.57.1 — layout/render de texto i18n (base de GTK). meson static.
name = "pango"
version = "1.57.1"
[source]
tarball = "https://download.gnome.org/sources/pango/${pkgver%.*}/pango-1.57.1.tar.xz"
# FIXME sha256: el wrapper lo calcula (Alpine publica sha512). sha512 de Alpine:
# sha512 = "ccfcec11f0beb0487d9225be227e7f31d03229ed1e0dc3309e2647ed5fa953cf036ad352232429f5604f97d20812074ff145ea622110afa4df3a410ebba4d26a"
sha256 = "FIXME-sha256"
patches = ["disable-broken-test.patch"]
tarball = "https://download.gnome.org/sources/pango/1.57/pango-1.57.1.tar.xz"
sha256 = "e65d6d117080dc3aeeb7d8b4b3b518f7383aa2e6cfce23117c623cd624764c2f"
[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 \
-Db_lto=true \
-Dintrospection=enabled \
-Dfontconfig=enabled \
-Ddocumentation=false \
-Dman-pages=true \
-Dxft=enabled \
-Dfreetype=enabled \
build
meson compile -C build
}
_abuild_phase
'''
# de package() de Alpine (traducido $pkgdir→/out):
install = '''
_abuild_phase() {
DESTDIR="/out" meson install --no-rebuild -C build
}
_abuild_phase
'''
configure = "PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release --prefer-static -Ddefault_library=static -Dintrospection=disabled -Dgtk_doc=false -Dbuild-testsuite=false -Dbuild-examples=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 = ["cairo", "expat", "fontconfig", "fribidi", "glib", "gobject-introspection", "harfbuzz", "libxft", "py3-docutils"]
build = ["meson", "samurai", "python3", "pkgconf", "cairo", "harfbuzz", "fribidi", "glib", "freetype", "fontconfig"]