kde/Plasma: kcalc 25.04.3 (4ta app, calculadora) + mpc 1.3.1

kcalc sella (156ea599) con su lib interna knumber sobre GMP+MPFR+MPC. mpc 1.3.1 (f3ca42a4, deps
gmp/mpfr ya sellados) es build-dep duro: knumber_complex.cpp incluye <mpc.h> incondicionalmente.
NEEDED verificado: libgmp.so.10 + libmpfr.so.6 + libmpc.so.3 + cierre KF6/Qt6 (Widgets/XmlGui/
ConfigWidgets/Crash/Notifications/...). Apps: konsole + dolphin + kate + kcalc.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-14 08:00:44 -04:00
co-authored by Claude Opus 4.8
parent 6054de73a5
commit 2192aeb8b1
2 changed files with 80 additions and 0 deletions
+53
View File
@@ -0,0 +1,53 @@
# kcalc 25.04.3 — la calculadora de KDE (release-service). 4ta APP del escritorio.
# Patrón KF6 app (dynamic, wrapper zig, ECM). Su lib interna `knumber` usa GMP+MPFR+MPC (aritmética de
# enteros/floats/complejos de precisión arbitraria); knumber_complex.cpp incluye <mpc.h> siempre ⇒ mpc
# es build-dep duro (además de gmp/mpfr ya sellados). find_package(MPC) por módulo bundleado
# (cmake/modules/FindMPC.cmake) localiza mpc.h/libmpc en /usr (deps materializadas).
name = "kcalc"
version = "25.04.3"
[source]
tarball = "https://download.kde.org/stable/release-service/25.04.3/src/kcalc-25.04.3.tar.xz"
sha256 = "1b6f52ff6950a5c7f6754bb41fd036af4a016939227b2f4351f3836ba705348b"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "dynamic"
flags = []
[build.phases]
configure = '''
rm -rf po doc appiumtests
# KF6DocTools opcional (no REQUIRED) → nada de doc. BUILD_TESTING=OFF cubre autotests/knumber/tests.
sed -i '/add_subdirectory(doc)/d' CMakeLists.txt
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
'''
compile = "cmake --build build"
install = "DESTDIR=/out cmake --install build"
[deps]
build = ["cmake", "samurai", "python3", "pkgconf", "qtbase", "dbus", "extra-cmake-modules", "qttools",
"gettext-tiny", "mesa", "libdrm", "libxkbcommon", "wayland", "qtdeclarative",
"gmp", "mpfr", "mpc",
"kcoreaddons", "kconfig", "kconfigwidgets", "kcolorscheme", "kcodecs", "kguiaddons", "ki18n",
"kwidgetsaddons", "kxmlgui", "kcrash", "knotifications", "kiconthemes", "karchive", "sonnet",
"kwindowsystem", "kglobalaccel", "kauth", "solid", "attica", "kcompletion", "kitemviews",
"kjobwidgets", "kservice", "kdbusaddons", "icu4c",
"libX11", "xorgproto", "libXau", "libXdmcp", "libXext", "libXrender", "libXfixes", "libXi",
"libxcb", "xcb-util", "xcb-util-keysyms", "xcb-util-wm", "xcb-util-image", "xcb-util-renderutil"]
+27
View File
@@ -0,0 +1,27 @@
# GNU MPC 1.3.1 — aritmética de números complejos de precisión arbitraria con redondeo correcto
# (libmpc.so), sobre GMP+MPFR. Campaña KDE (ADR 0011): lo exige knumber (el motor matemático de KCalc);
# knumber/knumber_complex.cpp incluye <mpc.h> incondicionalmente ⇒ MPC es build-dep duro de kcalc.
#
# compiler=zig-cc como gmp/mpfr (el gueto-gcc del sandbox falla el link test libgcc/ssp "wrong format").
# --with-gmp=/usr --with-mpfr=/usr apuntan a los sellados. link=dynamic (libtool descarta -static).
name = "mpc"
version = "1.3.1"
[source]
tarball = "https://ftp.gnu.org/gnu/mpc/mpc-1.3.1.tar.gz"
sha256 = "ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8"
[build]
compiler = "zig-cc"
zig_version = "0.13.0"
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 --with-mpfr=/usr'
compile = 'make -j"$(nproc)"'
install = "make install DESTDIR=/out && find /out -name '*.la' -delete"
[deps]
build = ["gmp", "mpfr", "pkgconf"]