gioser

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…

⎇ main recipes/mbedtls.toml TOML · 46 líneas · 2.8 KB Historia crudo

takana etapa 5a: los comentarios de las 741 recetas e852f4849 · Sergio ·

1# Mbed TLS 3.6.7 — TLS y criptografía en C. Entra por OBS: `plugins/obs-outputs/CMakeLists.txt:4`
2# hace `find_package(MbedTLS REQUIRED)` y linkea `MbedTLS::mbedtls`. obs-outputs es el plugin de
3# streaming (RTMP), o sea que no hay OBS sin esto — y **no acepta OpenSSL como alternativa**: no hay
4# opción en su CMake, está cableado a mbedtls.
5#
6# ══ TARBALL DE RELEASE Y NO COMMIT DE GIT — LA EXCEPCIÓN AL ADR 0006 ═══════════════════════════
7# La regla del repo es pinear por commit porque los `/archive/` de las forjas se generan al vuelo y
8# su sha256 cambia. Acá NO se puede: mbedtls 3.6 tiene el subdirectorio `framework/` como
9# **submódulo**, y `[source]` de takana no clona submódulos (sólo repo+commit) ⇒ el árbol llegaría
10# incompleto. Se usa el tarball de la página de RELEASES, que es un fichero SUBIDO por upstream y no
11# generado por el servidor: su sha256 es estable, que es la propiedad que el ADR realmente exige.
12# La distinción importa: `/archive/<tag>.tar.gz` es inestable, `/releases/download/<tag>/<fichero>`
13# no. sha256 calculado a mano sobre el fichero bajado.
14#
15# `tar` autodetecta el compresor por la cabecera (ver el comentario en `fetch.rs`), así que el
16# `.tar.bz2` no necesita nada especial.
17#
18# ══ ESTÁTICA, Y POR QUÉ ACÁ SÍ ═════════════════════════════════════════════════════════════════
19# Quien la consume es `obs-outputs.so`, un módulo cargado por dlopen ⇒ el `.a` tiene que ser PIC o
20# repetimos el cuadro de gdk-pixbuf. `-DCMAKE_POSITION_INDEPENDENT_CODE=ON` lo garantiza. Se prefiere
21# estática porque mbedtls sólo la usa OBS: una `.so` más en la imagen sin ningún otro consumidor es
22# superficie sin beneficio.
23#
24# `-DENABLE_TESTING=OFF -DENABLE_PROGRAMS=OFF`: los tests exigen el submódulo `framework` que el
25# tarball sí trae pero que no aporta al artefacto, y los programas son ejemplos.
26name    = "mbedtls"
27version = "3.6.7"
28license = "Apache-2.0 OR GPL-2.0-or-later"
29
30[source]
31tarball = "https://github.com/Mbed-TLS/mbedtls/releases/download/mbedtls-3.6.7/mbedtls-3.6.7.tar.bz2"
32sha256  = "a7e8bcbec0e6f761b4af24f25677626b35f762f68eef79c08677a363212d11f6"
33
34[build]
35compiler = "zig-cc"
36target   = "x86_64-linux-musl"
37link     = "static"
38flags    = []
39
40[build.phases]
41configure = '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'
42compile   = 'cmake --build build'
43install   = 'DESTDIR=/out cmake --install build'
44
45[deps]
46build = ["cmake", "samurai", "pkgconf", "python3"]