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 1428Shell 142Markdown 86Rust 842932 Definiciones

kde/Capa0: saldar deuda SSL — openssl static-PIC + qtbase QT_FEATURE_ssl=ON

KIO (ksslerroruidata.cpp) usa QSslSocket → exige Qt con SSL, pero el gate tenía openssl OFF
(libcrypto.a/libssl.a static sin PIC no entran en .so). Variante openssl-PIC (-fPIC en Configure,
override incoming-kde) + qtbase openssl=ON/openssl_linked=ON/ssl=ON + openssl en deps → libQt6Network
con QSslSocket completo. Cascada rebuild qtbase→Capa1→KF6 (nuevo hash qtbase). Desbloquea KIO + todo
el networking Qt. Deuda Capa 0 SSL CERRADA.

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

0d3bfba6743eaeb6578f8ee5770a967f305ff6df · por sergio · (hace 3 meses) · padre e69eaaaa3 · ver el árbol en este commit

Delta semántico

Ninguna definición cambió: el cambio es de texto, documentación o datos.

2 archivos · +30 −2

diff --git a/recipes/incoming-kde/openssl.toml b/recipes/incoming-kde/openssl.toml
new file mode 100644
index 00000000..4e7b74d5
--- /dev/null
+++ b/recipes/incoming-kde/openssl.toml
@@ -0,0 +1,26 @@
+# OpenSSL 3.5.4 — VARIANTE PIC para la campaña KDE (ADR 0011, Capa 0). Igual que la canónica
+# (recipes/openssl.toml) pero con -fPIC: qtbase (QT_FEATURE_openssl_linked=ON) enlaza libssl.a/
+# libcrypto.a DENTRO de libQt6Network.so (dinámico). El .a canónico es no-shared SIN PIC ⇒ da
+# "recompile with -fPIC" (EVP_SKEYMGMT_free reloc) al meterlo en un .so. Override incoming-kde
+# (mismo name, gana al construir desde esta cola). Saldar la deuda SSL de Capa 0: KIO (ksslerroruidata
+# usa QSslSocket) y todo el networking Qt exigen QSslSocket completo ⇒ Qt con SSL ⇒ openssl PIC.
+# Patrón static↔dinámico Capa 0 (mismo que zstd/libgcrypt/util-linux-shared).
+name    = "openssl"
+version = "3.5.4"
+
+[source]
+tarball = "https://github.com/openssl/openssl/releases/download/openssl-3.5.4/openssl-3.5.4.tar.gz"
+sha256  = "967311f84955316969bdb1d8d4b983718ef42338639c621ec4c34fddef355e99"
+
+[build]
+compiler    = "zig-cc"
+target      = "x86_64-linux-musl"
+link        = "static"
+zig_version = "0.13.0"
+
+[build.phases]
+# -fPIC al final de Configure ⇒ TODOS los objetos del .a son PIC (enlazables en .so). Resto idéntico
+# a la canónica (no-shared: libcrypto.a/libssl.a; no-apps/docs/tests: sólo libs+headers+pkgconfig).
+configure = "./Configure linux-x86_64 --prefix=/usr --libdir=lib no-shared no-docs no-tests no-apps -fPIC"
+compile   = "make -j\"$(nproc)\" build_libs"
+install   = "make DESTDIR=/out install_dev"
diff --git a/recipes/incoming-kde/qtbase.toml b/recipes/incoming-kde/qtbase.toml
index 1779e5cd..fd207240 100644
--- a/recipes/incoming-kde/qtbase.toml
+++ b/recipes/incoming-kde/qtbase.toml
@@ -71,8 +71,9 @@ cmake -B build -G Ninja -Wno-dev \
   -DQT_FEATURE_sql=ON \
   -DQT_FEATURE_sql_sqlite=ON \
   -DQT_FEATURE_system_sqlite=OFF \
-  -DQT_FEATURE_openssl=OFF \
-  -DQT_FEATURE_ssl=OFF \
+  -DQT_FEATURE_openssl=ON \
+  -DQT_FEATURE_openssl_linked=ON \
+  -DQT_FEATURE_ssl=ON \
   -DQT_FEATURE_system_zlib=ON \
   -DQT_FEATURE_system_libpng=OFF \
   -DQT_FEATURE_system_libjpeg=OFF \
@@ -98,6 +99,7 @@ build = [
   "cmake", "samurai", "python3", "pkgconf", "dbus",
   "pcre2", "zlib",
   "wayland", "wayland-protocols", "libxkbcommon", "mesa",
+  "openssl",
 ]
 # NOTA gate (ADR 0011, tensión estático↔dinámico): libQt6Core.so LINKEA bien con las deps estáticas
 # del closure (glib/pcre2 son PIC-compatibles; zlib entra como libz.so). Lo que ROMPE el .so son libs