El probe has_function('ctime_r') de meson corre sin prefix de header ⇒ prototipo desnudo
que bajo zig-cc/gcc+musl choca con el builtin y FALLA ⇒ cairo-ps-surface.c:105 define un
fallback static que colisiona con <time.h> (error duro, tanto zig como gcc; _GNU_SOURCE en
c_args no alcanza). El patch fuerza HAVE_CTIME_R=1 tras el loop. Segundo hunk: salta los
ejecutables util csi-*/cairo-trace, que no linkean libpixman-1.a bajo la estrategia
no_fallback de zig — son dev-tools, no la librería que pango/gtk4 consumen. Resultado:
cairo 1.18.4 sella desde fuente (store c7b8703f), destraba el rebuild de la cadena GUI que
el drift de fontconfig/freetype había forzado. Cierra la Opción A (inviable) con la B real.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
19 lines
1.3 KiB
TOML
19 lines
1.3 KiB
TOML
# 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"
|
|
sha256 = "6d9281e786fd289d382324d4588d59973a36911e1865b40e64f9ec39936ceba8"
|
|
# fuerza HAVE_CTIME_R: el probe has_function de meson falla bajo zig/gcc+musl (ver el .patch)
|
|
patches = ["cairo-ctime-r.patch"]
|
|
[build]
|
|
compiler = "zig-cc"
|
|
target = "x86_64-linux-musl"
|
|
link = "static"
|
|
[build.phases]
|
|
configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload --prefer-static -Ddefault_library=static -Dc_args=-Wno-error=date-time -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 = ["meson", "samurai", "python3", "pkgconf", "pixman", "freetype", "fontconfig", "libpng", "zlib", "glib", "expat", "libffi", "pcre2"]
|