Etapa G: freetype/pixman/fribidi reescritas LIMPIAS (meson static mínimo, sin abuild) — bases GUI
This commit is contained in:
@@ -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"]
|
||||
|
||||
@@ -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"]
|
||||
|
||||
@@ -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"]
|
||||
|
||||
Reference in New Issue
Block a user