kde/Plasma: sub-deps gmp/mpfr/qrencode/syntax-highlighting/qtspeech (blockers de libqalculate/prison/ktexteditor)
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# GNU GMP 6.3.0 — aritmética de enteros/racionales/floats de precisión arbitraria (libgmp.so + libgmpxx.so).
|
||||
# Campaña KDE (ADR 0011): sustrato de libqalculate (motor matemático de KCalc/KRunner), que exige el
|
||||
# interfaz C++ gmpxx.h además del C. También base de mpfr (#2 de esta tanda).
|
||||
#
|
||||
# compiler=gcc: GMP trae ensamblador x86_64 a mano (mpn/x86_64) muy afinado; zig-cc tropieza con esos
|
||||
# .asm. gcc nativo los consume igual que Alpine (gmp-dev). link=dynamic (libtool descarta -static igual).
|
||||
#
|
||||
# --enable-cxx: construye libgmpxx.so (interfaz C++). libqalculate hace #include <gmpxx.h> y linkea
|
||||
# -lgmpxx, así que SIN esto el consumidor re-bloquea. gcc compila el C++ de gmp sin problema.
|
||||
# La descarga es del mirror GNU (ftp.gnu.org): gmplib.org rechaza curl/hammer-fetch (cuelga en TLS).
|
||||
name = "gmp"
|
||||
version = "6.3.0"
|
||||
|
||||
[source]
|
||||
tarball = "https://ftp.gnu.org/gnu/gmp/gmp-6.3.0.tar.xz"
|
||||
sha256 = "a3c2b80201b89e68616f4ad30bc66aee4927c3ce50e33929ca819d5c43538898"
|
||||
|
||||
[build]
|
||||
compiler = "gcc"
|
||||
target = "x86_64-linux-musl"
|
||||
link = "dynamic"
|
||||
flags = []
|
||||
|
||||
[build.phases]
|
||||
configure = './configure --build=$CBUILD --host=$CHOST --prefix=/usr --disable-static --enable-shared --enable-cxx'
|
||||
compile = 'make -j"$(nproc)"'
|
||||
install = "make install DESTDIR=/out && find /out -name '*.la' -delete"
|
||||
|
||||
[deps]
|
||||
build = ["m4", "pkgconf"]
|
||||
@@ -0,0 +1,29 @@
|
||||
# GNU MPFR 4.2.2 — floats de precisión arbitraria con redondeo correcto (libmpfr.so), sobre GMP.
|
||||
# Campaña KDE (ADR 0011): sustrato de libqalculate (motor matemático). Depende de gmp (#1 de esta tanda).
|
||||
#
|
||||
# compiler=gcc: MPFR se apoya en el asm de GMP y en modos de coma flotante que zig-cc traduce mal; gcc
|
||||
# nativo lo construye idéntico a Alpine (mpfr-dev). link=dynamic (libtool descarta -static).
|
||||
#
|
||||
# --with-gmp=/usr: apunta al GMP sellado (headers en /usr/include, libgmp.so en /usr/lib). El flag exacto
|
||||
# de MPFR es --with-gmp=DIR (NO --with-gmp-prefix); con GMP en el prefix estándar /usr lo hallaría solo,
|
||||
# pero se explicita para determinismo.
|
||||
name = "mpfr"
|
||||
version = "4.2.2"
|
||||
|
||||
[source]
|
||||
tarball = "https://ftp.gnu.org/gnu/mpfr/mpfr-4.2.2.tar.xz"
|
||||
sha256 = "b67ba0383ef7e8a8563734e2e889ef5ec3c3b898a01d00fa0a6869ad81c6ce01"
|
||||
|
||||
[build]
|
||||
compiler = "gcc"
|
||||
target = "x86_64-linux-musl"
|
||||
link = "dynamic"
|
||||
flags = []
|
||||
|
||||
[build.phases]
|
||||
configure = './configure --build=$CBUILD --host=$CHOST --prefix=/usr --disable-static --enable-shared --with-gmp=/usr'
|
||||
compile = 'make -j"$(nproc)"'
|
||||
install = "make install DESTDIR=/out && find /out -name '*.la' -delete"
|
||||
|
||||
[deps]
|
||||
build = ["gmp", "pkgconf"]
|
||||
@@ -0,0 +1,38 @@
|
||||
# libqrencode 4.1.1 — generador de códigos QR (libqrencode.so). Campaña KDE (ADR 0011): sustrato de
|
||||
# prison (KF6 barcode), que a su vez alimenta KRunner/Plasma. C puro, CMake (4.1.1 trae CMakeLists.txt).
|
||||
#
|
||||
# WITH_TOOLS=NO: el ejecutable `qrencode` sólo lo usa la CLI de ejemplo y es lo único que necesita
|
||||
# PNG::PNG (líneas 139-147 del CMakeLists); prison sólo enlaza la lib, así que sin tools no hace falta
|
||||
# libpng (no sellado aún). WITHOUT_PNG=YES lo confirma. BUILD_SHARED_LIBS=ON (default del proyecto es
|
||||
# NO → estático). find_package(PNG)/find_package(Iconv) NO son REQUIRED; iconv lo aporta musl.
|
||||
name = "qrencode"
|
||||
version = "4.1.1"
|
||||
|
||||
[source]
|
||||
tarball = "https://github.com/fukuchi/libqrencode/archive/refs/tags/v4.1.1.tar.gz"
|
||||
sha256 = "5385bc1b8c2f20f3b91d258bf8ccc8cf62023935df2d2676b5b67049f31a049c"
|
||||
|
||||
[build]
|
||||
compiler = "zig-cc"
|
||||
target = "x86_64-linux-musl"
|
||||
link = "dynamic"
|
||||
zig_version = "0.13.0"
|
||||
flags = []
|
||||
|
||||
[build.phases]
|
||||
configure = '''
|
||||
ZW="$PWD/.zwrap"; mkdir -p "$ZW"
|
||||
printf '#!/bin/sh\nexec /opt/zig/zig cc -mcpu=baseline "$@"\n' > "$ZW/cc"
|
||||
printf '#!/bin/sh\nexec /opt/zig/zig c++ -mcpu=baseline "$@"\n' > "$ZW/cxx"
|
||||
chmod +x "$ZW/cc" "$ZW/cxx"
|
||||
cmake -B build -G Ninja -Wno-dev \
|
||||
-DCMAKE_C_COMPILER="$ZW/cc" -DCMAKE_CXX_COMPILER="$ZW/cxx" -DCMAKE_ASM_COMPILER="$ZW/cc" \
|
||||
-DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_PREFIX_PATH=/usr \
|
||||
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF \
|
||||
-DBUILD_SHARED_LIBS=ON -DWITH_TOOLS=NO -DWITHOUT_PNG=YES -DWITH_TESTS=NO
|
||||
'''
|
||||
compile = "cmake --build build"
|
||||
install = "DESTDIR=/out cmake --install build"
|
||||
|
||||
[deps]
|
||||
build = ["cmake", "samurai", "python3", "pkgconf"]
|
||||
@@ -0,0 +1,45 @@
|
||||
# qt6-qtspeech 6.11.1 — módulo Qt TextToSpeech (Qt6::TextToSpeech). Campaña KDE (ADR 0011): habilita
|
||||
# accesibilidad/TTS en apps KDE. Molde Qt del gate H-Qt (dinámico, wrappers zig, Qt6 vía PREFIX_PATH).
|
||||
#
|
||||
# Backends (src/tts/configure.cmake): flite y speechd son FEATURES autodetectadas (CONDITION *_FOUND),
|
||||
# NO REQUIRED → sin las libs construye el plugin dummy (mock). Se desactivan explícitos con
|
||||
# -DQT_FEATURE_flite=OFF -DQT_FEATURE_speechd=OFF para no picar libs del host y ser deterministas.
|
||||
#
|
||||
# ⚠️ BLOCKER DURO: el CMakeLists raíz hace `if(NOT TARGET Qt6::Multimedia) ... return()`, y el módulo
|
||||
# TextToSpeech lista Qt::Multimedia en PUBLIC_LIBRARIES. Sin qtmultimedia sellado, la build sale VACÍA
|
||||
# (no produce libQt6TextToSpeech.so). 'qtmultimedia' NO está sellado → esta pieza no rinde hasta tenerlo.
|
||||
# Es el sub-blocker nuevo de qtspeech (no speech-dispatcher, que es opcional).
|
||||
name = "qt6-qtspeech"
|
||||
version = "6.11.1"
|
||||
|
||||
[source]
|
||||
tarball = "https://download.qt.io/official_releases/qt/6.11/6.11.1/submodules/qtspeech-everywhere-src-6.11.1.tar.xz"
|
||||
sha256 = "c035c318012025875a653245701a23d3807e8e46b8bf7987877842219c273f14"
|
||||
|
||||
[build]
|
||||
compiler = "zig-cc"
|
||||
target = "x86_64-linux-musl"
|
||||
link = "dynamic"
|
||||
flags = []
|
||||
|
||||
[build.phases]
|
||||
configure = '''
|
||||
ZW="$PWD/.zwrap"; mkdir -p "$ZW"
|
||||
printf '#!/bin/sh\nexec /opt/zig/zig cc -mcpu=baseline "$@"\n' > "$ZW/cc"
|
||||
printf '#!/bin/sh\nexec /opt/zig/zig c++ -mcpu=baseline "$@"\n' > "$ZW/cxx"
|
||||
chmod +x "$ZW/cc" "$ZW/cxx"
|
||||
cmake -B build -G Ninja -Wno-dev \
|
||||
-DCMAKE_C_COMPILER="$ZW/cc" -DCMAKE_CXX_COMPILER="$ZW/cxx" -DCMAKE_ASM_COMPILER="$ZW/cc" \
|
||||
-DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF -DCMAKE_PREFIX_PATH=/usr \
|
||||
-DINSTALL_BINDIR=lib/qt6/bin -DINSTALL_PUBLICBINDIR=bin -DINSTALL_LIBEXECDIR=lib/qt6/libexec \
|
||||
-DINSTALL_ARCHDATADIR=lib/qt6 -DINSTALL_DATADIR=share/qt6 -DINSTALL_INCLUDEDIR=include/qt6 \
|
||||
-DINSTALL_MKSPECSDIR=lib/qt6/mkspecs \
|
||||
-DQT_BUILD_EXAMPLES=OFF -DQT_BUILD_TESTS=OFF \
|
||||
-DQT_FEATURE_flite=OFF -DQT_FEATURE_speechd=OFF
|
||||
'''
|
||||
compile = "cmake --build build"
|
||||
install = "DESTDIR=/out cmake --install build"
|
||||
|
||||
[deps]
|
||||
build = ["cmake", "samurai", "python3", "pkgconf", "qtbase", "qtdeclarative", "qtmultimedia", "mesa", "libdrm", "libxkbcommon"]
|
||||
@@ -0,0 +1,53 @@
|
||||
# syntax-highlighting 6.27.0 — KDE Frameworks 6 (KSyntaxHighlighting, KF6::SyntaxHighlighting).
|
||||
# Campaña KDE (ADR 0011): sustrato de ktexteditor (el motor de Kate/KWrite) y de KTextEditor-consumers.
|
||||
# Molde KF6 (kxmlgui): dynamic, wrapper zig que filtra -Wl,--fatal-warnings, CMAKE_PREFIX_PATH=/usr, ECM.
|
||||
#
|
||||
# find_package del CMakeLists: Qt6 Core+Network+Test REQUIRED, Qt6::Gui REQUIRED (KSYNTAXHIGHLIGHTING_USE_GUI
|
||||
# ON por defecto), Qt6::Quick OPCIONAL (→ qtdeclarative, para los bindings QML). PrintSupport/Widgets sólo
|
||||
# para el ejemplo (BUILD_TESTING=OFF los evita). XercesC/Python OPCIONALES (omitidos).
|
||||
#
|
||||
# ⚠️ find_package(Perl REQUIRED): perl regenera las definiciones de sintaxis (data/generators/*.pl,
|
||||
# PHP auto-gen). Es dep de build DURA. 'perl' NO está sellado todavía → esta receta NO construye hasta
|
||||
# tener recipes/…/perl. Es el único blocker nuevo de esta pieza.
|
||||
#
|
||||
# rm -rf po poqm: no hay carpeta po en 6.27.0, pero se limpia poqm defensivamente (gettext-tiny/msgfmt
|
||||
# crashea con catálogos grandes; ecm_install_po_files_as_qm(poqm) quedaría inerte).
|
||||
name = "syntax-highlighting"
|
||||
version = "6.27.0"
|
||||
|
||||
[source]
|
||||
tarball = "https://download.kde.org/stable/frameworks/6.27/syntax-highlighting-6.27.0.tar.xz"
|
||||
sha256 = "cbff001b9f00d032feb254313ecfee9a6e0a0b3c5a8c82a7e0806c5f1915a545"
|
||||
|
||||
[build]
|
||||
compiler = "zig-cc"
|
||||
target = "x86_64-linux-musl"
|
||||
link = "dynamic"
|
||||
flags = []
|
||||
|
||||
[build.phases]
|
||||
configure = '''
|
||||
rm -rf po poqm
|
||||
ZW="$PWD/.zwrap"; mkdir -p "$ZW"
|
||||
cat > "$ZW/cc" <<'W'
|
||||
#!/bin/sh
|
||||
a=""; for x in "$@"; do [ "$x" = "-Wl,--fatal-warnings" ] && continue; a="$a $x"; done
|
||||
exec /opt/zig/zig cc -mcpu=baseline $a
|
||||
W
|
||||
cat > "$ZW/cxx" <<'W'
|
||||
#!/bin/sh
|
||||
a=""; for x in "$@"; do [ "$x" = "-Wl,--fatal-warnings" ] && continue; a="$a $x"; done
|
||||
exec /opt/zig/zig c++ -mcpu=baseline $a
|
||||
W
|
||||
chmod +x "$ZW/cc" "$ZW/cxx"
|
||||
cmake -B build -G Ninja -Wno-dev \
|
||||
-DCMAKE_C_COMPILER="$ZW/cc" -DCMAKE_CXX_COMPILER="$ZW/cxx" -DCMAKE_ASM_COMPILER="$ZW/cc" \
|
||||
-DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_PREFIX_PATH=/usr \
|
||||
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF \
|
||||
-DBUILD_TESTING=OFF -DBUILD_PYTHON_BINDINGS=OFF
|
||||
'''
|
||||
compile = "cmake --build build"
|
||||
install = "DESTDIR=/out cmake --install build"
|
||||
|
||||
[deps]
|
||||
build = ["cmake", "samurai", "python3", "pkgconf", "perl", "qtbase", "qtdeclarative", "dbus", "extra-cmake-modules", "qttools", "mesa", "libdrm", "libxkbcommon", "wayland", "gettext-tiny"]
|
||||
Reference in New Issue
Block a user