tawasuyu

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 1373Shell 116Rust 74Markdown 641915 Sutichaykuna

kde/Plasma: ark 25.04.3 (5ta app, comprimidos) + libarchive/libzip + bzip2-shared/xz-shared

ark sella (8ebf0e10) con sus plugins kerfuffle: kerfuffle_libarchive.so→libarchive.so.13 y
kerfuffle_libzip.so→libzip.so.5. Motor nuevo: libarchive 3.7.7 (41f9959c) + libzip 1.11.3 (f64869dc).

Deuda Capa 0 pagada (static↔dinámico): el libbz2.a/liblzma.a canónicos son SIN -fPIC → no enlazan en
un .so ('R_X86_64_PC32 recompile with -fPIC'). Nuevas variantes shared como zlib-shared: bzip2-shared
(4a015f8a, Makefile-libbz2_so → libbz2.so.1.0) y xz-shared (25765982, autotools --enable-shared →
liblzma.so.5). Cierre libarchive.so verificado soberano: liblzma.so.5 + libzstd.so.1 + libbz2.so.1.0 +
libz.so.1, sin fugas al sysroot. Apps: konsole + dolphin + kate + kcalc + ark.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

89cf661d9ec3bbd08da08659b1a36a56743e4b5e · ruwaq sergio · (3 killa ñawpaq) · tayta 2192aeb8b · kay commitpi sach'ata qhaway

Semántico sayk'uy

Mana ima sutichaypas t'ikrakurqanchu: qillqalla, yachachiylla utaq willaylla t'ikrakurqan.

5 qillqakuna · +187 −0

diff --git a/recipes/incoming-kde/ark.toml b/recipes/incoming-kde/ark.toml
new file mode 100644
index 00000000..bad5575b
--- /dev/null
+++ b/recipes/incoming-kde/ark.toml
@@ -0,0 +1,56 @@
+# ark 25.04.3 — el gestor de archivos comprimidos de KDE. 5ta APP del escritorio.
+# Patrón KF6 app (dynamic, wrapper zig, ECM). Motor: libarchive (tar/gz/bz2/xz/zstd/7z/iso) + libzip
+# (ZIP nativo). find_package(LibArchive) usa el FindLibArchive.cmake de cmake; LibZip vía su config
+# cmake instalado. KF6DocTools se degrada a opcional (evita docbook).
+name    = "ark"
+version = "25.04.3"
+
+[source]
+tarball = "https://download.kde.org/stable/release-service/25.04.3/src/ark-25.04.3.tar.xz"
+sha256  = "f93a428c88226d61e5a632e0660391189731f80adb574825108015a07bb1051c"
+
+[build]
+compiler = "zig-cc"
+target   = "x86_64-linux-musl"
+link     = "dynamic"
+flags    = []
+
+[build.phases]
+configure = '''
+rm -rf po doc
+# KF6DocTools está en el COMPONENTS REQUIRED → sacarlo, borrar doc y la macro kdoctools_install (queda
+# indefinida sin el framework).
+sed -i 's/\bDocTools\b//' CMakeLists.txt
+sed -i '/add_subdirectory(doc)/d' CMakeLists.txt
+sed -i '/kdoctools_install/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",
+  "libarchive", "libzip", "zlib-shared", "bzip2-shared", "xz-shared", "zstd", "openssl",
+  "kconfig", "kcrash", "kdbusaddons", "kfilemetadata", "ki18n", "kio", "kservice", "kparts",
+  "kwidgetsaddons", "kwindowsystem", "kiconthemes", "kpty",
+  "kcoreaddons", "kcompletion", "kcodecs", "kcolorscheme", "kconfigwidgets", "kxmlgui", "kguiaddons",
+  "kitemviews", "kjobwidgets", "sonnet", "karchive", "kbookmarks", "solid", "attica", "kglobalaccel",
+  "kauth", "icu4c", "knotifications", "ktextwidgets", "kirigami", "kpackage",
+  "libX11", "xorgproto", "libXau", "libXdmcp", "libXext", "libXrender", "libXfixes", "libXi",
+  "libxcb", "xcb-util", "xcb-util-keysyms", "xcb-util-wm", "xcb-util-image", "xcb-util-renderutil"]
diff --git a/recipes/incoming-kde/bzip2-shared.toml b/recipes/incoming-kde/bzip2-shared.toml
new file mode 100644
index 00000000..78b26aab
--- /dev/null
+++ b/recipes/incoming-kde/bzip2-shared.toml
@@ -0,0 +1,31 @@
+# bzip2-shared 1.0.8 — variante DINÁMICA (libbz2.so, PIC) para el escritorio KDE.
+#
+# El bzip2 canónico (recipes/bzip2.toml) sólo sella libbz2.a SIN -fPIC (cola static-musl del toolchain).
+# Linkear ese .a dentro de un .so (libarchive.so/libzip.so) falla: "relocation R_X86_64_PC32 ... recompile
+# with -fPIC". Como zlib-shared, esta variante sella el libbz2.so soberano vía el Makefile-libbz2_so del
+# tarball (ya trae -fpic -fPIC, soname libbz2.so.1.0). Nombre distinto para no colisionar con el canónico.
+name    = "bzip2-shared"
+version = "1.0.8"
+
+[source]
+tarball = "https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz"
+sha256  = "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269"
+
+[build]
+compiler = "zig-cc"
+target   = "x86_64-linux-musl"
+link     = "dynamic"
+flags    = []
+
+[build.phases]
+compile = 'make -f Makefile-libbz2_so CC="zig cc"'
+install = '''
+install -Dm644 bzlib.h /out/usr/include/bzlib.h
+install -Dm755 libbz2.so.1.0.8 /out/usr/lib/libbz2.so.1.0.8
+ln -sf libbz2.so.1.0.8 /out/usr/lib/libbz2.so.1.0
+ln -sf libbz2.so.1.0.8 /out/usr/lib/libbz2.so.1
+ln -sf libbz2.so.1.0   /out/usr/lib/libbz2.so
+'''
+
+[deps]
+build = ["pkgconf"]
diff --git a/recipes/incoming-kde/libarchive.toml b/recipes/incoming-kde/libarchive.toml
new file mode 100644
index 00000000..7efce0a8
--- /dev/null
+++ b/recipes/incoming-kde/libarchive.toml
@@ -0,0 +1,30 @@
+# libarchive 3.7.7 — lectura/escritura de múltiples formatos de archivo comprimido (libarchive.so).
+# Campaña KDE (ADR 0011): motor de ark (el gestor de comprimidos). Autotools + zig-cc/musl.
+#
+# Formatos: zlib + bz2 + lzma/xz + zstd + openssl(libcrypto, cifrado zip/7z), todos como .so dinámicos
+# (bzip2-shared/xz-shared aportan el libbz2.so/liblzma.so PIC; el .a canónico sin PIC no enlaza en un .so).
+# Se desactivan libs ausentes (lz4, libb2, xml2, nettle) para que configure no autodetecte nada del host y
+# el cierre sea explícito.
+name    = "libarchive"
+version = "3.7.7"
+
+[source]
+tarball = "https://github.com/libarchive/libarchive/releases/download/v3.7.7/libarchive-3.7.7.tar.xz"
+sha256  = "879acd83c3399c7caaee73fe5f7418e06087ab2aaf40af3e99b9e29beb29faee"
+
+[build]
+compiler = "zig-cc"
+target   = "x86_64-linux-musl"
+link     = "dynamic"
+flags    = []
+
+[build.phases]
+configure = '''./configure --build=$CBUILD --host=$CHOST --prefix=/usr --disable-static --enable-shared \
+  --with-zlib --with-bz2lib --with-lzma --with-zstd --with-openssl \
+  --without-lz4 --without-libb2 --without-xml2 --without-expat --without-nettle --without-cng \
+  --disable-bsdtar --disable-bsdcpio --disable-bsdcat --disable-bsdunzip'''
+compile   = 'make -j"$(nproc)"'
+install   = "make install DESTDIR=/out && find /out -name '*.la' -delete"
+
+[deps]
+build = ["pkgconf", "zlib-shared", "bzip2-shared", "xz-shared", "zstd", "openssl"]
diff --git a/recipes/incoming-kde/libzip.toml b/recipes/incoming-kde/libzip.toml
new file mode 100644
index 00000000..3bfd4a8c
--- /dev/null
+++ b/recipes/incoming-kde/libzip.toml
@@ -0,0 +1,43 @@
+# libzip 1.11.3 — lectura/escritura de archivos ZIP (libzip.so). Campaña KDE (ADR 0011): ark lo usa
+# opcionalmente (find_package(LibZip 1.3.0), sin REQUIRED) para el formato ZIP nativo.
+#
+# CMake + wrapper zig (descarta -Wl,--fatal-warnings como konsole/kate). zlib/bz2/lzma/zstd/openssl todos
+# como .so dinámicos (bzip2-shared/xz-shared aportan el PIC); openssl para el cifrado AES del ZIP.
+name    = "libzip"
+version = "1.11.3"
+
+[source]
+tarball = "https://libzip.org/download/libzip-1.11.3.tar.xz"
+sha256  = "9509d878ba788271c8b5abca9cfde1720f075335686237b7e9a9e7210fe67c1b"
+
+[build]
+compiler = "zig-cc"
+target   = "x86_64-linux-musl"
+link     = "dynamic"
+flags    = []
+
+[build.phases]
+configure = '''
+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_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_PREFIX_PATH=/usr \
+  -DBUILD_SHARED_LIBS=ON -DBUILD_TOOLS=OFF -DBUILD_REGRESS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_DOC=OFF \
+  -DENABLE_BZIP2=ON -DENABLE_LZMA=ON -DENABLE_ZSTD=ON -DENABLE_OPENSSL=ON -DENABLE_GNUTLS=OFF -DENABLE_MBEDTLS=OFF
+'''
+compile = "cmake --build build"
+install = "DESTDIR=/out cmake --install build"
+
+[deps]
+build = ["cmake", "samurai", "pkgconf", "zlib-shared", "bzip2-shared", "xz-shared", "zstd", "openssl"]
diff --git a/recipes/incoming-kde/xz-shared.toml b/recipes/incoming-kde/xz-shared.toml
new file mode 100644
index 00000000..783f20bd
--- /dev/null
+++ b/recipes/incoming-kde/xz-shared.toml
@@ -0,0 +1,27 @@
+# xz-shared 5.8.3 — variante DINÁMICA (liblzma.so, PIC) para el escritorio KDE.
+#
+# El xz canónico (recipes/xz.toml) sella liblzma.a --disable-shared (cola static-musl). Ese .a sin PIC no
+# enlaza dentro de libarchive.so/libzip.so. Como zlib-shared/bzip2-shared, esta variante construye
+# liblzma.so con autotools --enable-shared (PIC nativo). Nombre distinto para no colisionar con el canónico.
+name    = "xz-shared"
+version = "5.8.3"
+
+[source]
+tarball = "https://github.com/tukaani-project/xz/releases/download/v5.8.3/xz-5.8.3.tar.xz"
+sha256  = "fff1ffcf2b0da84d308a14de513a1aa23d4e9aa3464d17e64b9714bfdd0bbfb6"
+
+[build]
+compiler = "zig-cc"
+target   = "x86_64-linux-musl"
+link     = "dynamic"
+flags    = []
+
+[build.phases]
+configure = '''./configure --build=$CBUILD --host=$CHOST --prefix=/usr \
+  --enable-shared --disable-static \
+  --disable-xz --disable-xzdec --disable-lzmadec --disable-lzmainfo --disable-scripts --disable-doc'''
+compile = 'make -j"$(nproc)"'
+install = "make DESTDIR=/out install && find /out -name '*.la' -delete"
+
+[deps]
+build = ["pkgconf"]