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…
licencias: 994 de 1141 (87%) — cerradas las familias Qt, freedesktop, kernel.org y PyPI
1# NetworkManager 1.52.0 — libnm (libnm.so + libnm.pc + headers NetworkManager.h/nm-*.h). Campaña KDE
2# (ADR 0011): destraba networkmanager-qt (KF6NetworkManagerQt) → plasma-nm, el applet de red. Era el
3# "rabbit-hole libnm→glib" que plasma-workspace esquivó parcheando NetworkManagerQt a opcional.
4#
5# El tarball NO está en download.gnome.org (sólo llega a 1.9.x; NM migró) ⇒ git-archive de
6# gitlab.freedesktop.org.
7#
8# **-Dcrypto=null es la clave**: NM ofrece crypto ∈ {nss, gnutls, null}; 'null' evita nss (→nspr/sqlite) y
9# gnutls (→nettle/libtasn1/p11-kit), dos cadenas enormes. Sin cripto no valida certificados 802.1X, pero
10# libnm compila y la API D-Bus que usa networkmanager-qt es completa.
11#
12# Deps DURAS de NM (dependency() sin required:false): libudev (→ libudev-zero YA sellado, da libudev.so.1
13# + libudev.pc), libndp (receta nueva), gio-unix-2.0 (→ glib-shared, la deuda Capa 0 recién saldada).
14# jansson/libpsl son required:false. Todo lo demás se apaga: sin daemon-extras (ovs/ppp/modem/wifi/nmtui/
15# teamdctl/ofono/cloud-setup), sin systemd (session_tracking=no, journal off), sin polkit/selinux/audit,
16# sin introspection/docs/tests/ebpf/firewalld.
17name = "networkmanager"
18version = "1.52.0"
19license = "GPL-2.0-or-later"
20
21[source]
22tarball = "https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/archive/1.52.0/NetworkManager-1.52.0.tar.gz"
23sha256 = "2ebe60a1497a9650d58336b73413d838189b04543365b3dbc22e1eb8023d205f"
24
25[build]
26compiler = "zig-cc"
27target = "x86_64-linux-musl"
28link = "dynamic"
29flags = []
30
31[build.phases]
32configure = '''
33# meson.build:92 hace `find_program('xsltproc')` INCONDICIONAL (required por defecto), pero xsltproc sólo
34# se usa en man/meson.build (páginas de manual), que no se construye con -Ddocs=false. Se degrada a
35# required:false y así se evita la receta libxslt entera. (sed DIRECTO: el sandbox usa busybox grep, que
36# no soporta --include.)
37sed -i "s/xsltproc = find_program('xsltproc')/xsltproc = find_program('xsltproc', required: false)/" meson.build
38PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release \
39 -Ddefault_library=shared \
40 -Dld_gc=false -Dconcheck=false -Dnmcli=false -Dreadline=none \
41 -Dcrypto=null \
42 -Dsystemdsystemunitdir=no \
43 -Dsession_tracking=no -Dsession_tracking_consolekit=false -Dsuspend_resume=consolekit \
44 -Dpolkit=false -Dselinux=false -Dsystemd_journal=false -Dlibaudit=no \
45 -Dwifi=false -Dppp=false -Dmodem_manager=false -Dovs=false -Dnmtui=false -Dnm_cloud_setup=false \
46 -Dteamdctl=false -Dofono=false -Debpf=false -Dfirewalld_zone=false -Dlibpsl=false \
47 -Dintrospection=false -Ddocs=false -Dtests=no -Dvapi=false \
48 -Dconfig_dhcp_default=internal -Dqt=false
49'''
50compile = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output"
51install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild"
52
53[deps]
54build = ["meson", "samurai", "python3", "pkgconf", "glib-shared", "pcre2-shared", "libffi",
55 "libudev-zero", "libndp", "libnl", "zlib-shared", "gettext-tiny", "libxml2", "util-linux", "perl", "dbus", "expat"]