# Mbed TLS 3.6.7 — TLS y criptografía en C. Entra por OBS: `plugins/obs-outputs/CMakeLists.txt:4` # hace `find_package(MbedTLS REQUIRED)` y linkea `MbedTLS::mbedtls`. obs-outputs es el plugin de # streaming (RTMP), o sea que no hay OBS sin esto — y **no acepta OpenSSL como alternativa**: no hay # opción en su CMake, está cableado a mbedtls. # # ══ TARBALL DE RELEASE Y NO COMMIT DE GIT — LA EXCEPCIÓN AL ADR 0006 ═══════════════════════════ # La regla del repo es pinear por commit porque los `/archive/` de las forjas se generan al vuelo y # su sha256 cambia. Acá NO se puede: mbedtls 3.6 tiene el subdirectorio `framework/` como # **submódulo**, y `[source]` de takana no clona submódulos (sólo repo+commit) ⇒ el árbol llegaría # incompleto. Se usa el tarball de la página de RELEASES, que es un fichero SUBIDO por upstream y no # generado por el servidor: su sha256 es estable, que es la propiedad que el ADR realmente exige. # La distinción importa: `/archive/.tar.gz` es inestable, `/releases/download//` # no. sha256 calculado a mano sobre el fichero bajado. # # `tar` autodetecta el compresor por la cabecera (ver el comentario en `fetch.rs`), así que el # `.tar.bz2` no necesita nada especial. # # ══ ESTÁTICA, Y POR QUÉ ACÁ SÍ ═════════════════════════════════════════════════════════════════ # Quien la consume es `obs-outputs.so`, un módulo cargado por dlopen ⇒ el `.a` tiene que ser PIC o # repetimos el cuadro de gdk-pixbuf. `-DCMAKE_POSITION_INDEPENDENT_CODE=ON` lo garantiza. Se prefiere # estática porque mbedtls sólo la usa OBS: una `.so` más en la imagen sin ningún otro consumidor es # superficie sin beneficio. # # `-DENABLE_TESTING=OFF -DENABLE_PROGRAMS=OFF`: los tests exigen el submódulo `framework` que el # tarball sí trae pero que no aporta al artefacto, y los programas son ejemplos. name = "mbedtls" version = "3.6.7" license = "Apache-2.0 OR GPL-2.0-or-later" [source] tarball = "https://github.com/Mbed-TLS/mbedtls/releases/download/mbedtls-3.6.7/mbedtls-3.6.7.tar.bz2" sha256 = "a7e8bcbec0e6f761b4af24f25677626b35f762f68eef79c08677a363212d11f6" [build] compiler = "zig-cc" target = "x86_64-linux-musl" link = "static" flags = [] [build.phases] configure = 'cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DENABLE_TESTING=OFF -DENABLE_PROGRAMS=OFF -DUSE_SHARED_MBEDTLS_LIBRARY=OFF -DUSE_STATIC_MBEDTLS_LIBRARY=ON' compile = 'cmake --build build' install = 'DESTDIR=/out cmake --install build' [deps] build = ["cmake", "samurai", "pkgconf", "python3"]