licencias: 994 de 1141 (87%) — cerradas las familias Qt, freedesktop, kernel.org y PyPI

Tercera tanda curada, agrupada por la URL DE FUENTE de cada receta (que es la evidencia que
el nombre no da): los once módulos Qt sin prefijo, freedesktop (dbus, libinput, libevdev,
libdisplay-info, poppler, pulseaudio, upower, NetworkManager, ModemManager, polkit),
kernel.org (los tres kernels, linux-headers, git, iproute2, libuuid) y PyPI.

Los kernels llevan `GPL-2.0-only WITH Linux-syscall-note` explícita. No es adorno: sin esa
excepción, todo binario de espacio de usuario que hace un syscall sería obra derivada del
kernel. Es exactamente el tipo de dato que un campo de licencia existe para no perder.

Quedan 147 sin declarar: 69 de GitHub donde la propia API dice NOASSERTION (hay que abrir
el fuente), 20 de tawasuyu —que son nuestras o del otro agente, así que la licencia la
decide el usuario, no yo— y el resto repartido en GNOME, gitlab.freedesktop y sueltos.
Más 71 con SPDX ambiguo pendientes de desambiguar (`licencias.sh --revisar`).

Hashes verificados otra vez sobre 20 recetas tocadas: 20 idénticos, 0 cambiados.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-07 13:29:31 -04:00
co-authored by Claude Opus 5
parent a6a9d59e4f
commit fe474dab63
59 changed files with 110 additions and 0 deletions
+1
View File
@@ -3,6 +3,7 @@
# glib/xmlto eran de session-mgmt X11 + docs, opcionales). Build meson estático musl.
name = "dbus"
version = "1.16.2"
license = "AFL-2.1 OR GPL-2.0-or-later"
[source]
tarball = "https://dbus.freedesktop.org/releases/dbus/dbus-1.16.2.tar.xz"
+1
View File
@@ -3,6 +3,7 @@
# sha256 del tarball (el wrapper lo calcula), y adaptar build/install del shell de abuild.
name = "git"
version = "2.54.0"
license = "GPL-2.0-only"
[source]
tarball = "https://www.kernel.org/pub/software/scm/git/git-2.54.0.tar.xz"
+1
View File
@@ -15,6 +15,7 @@
# artefacto siga trayendo dbus-daemon/dbus-run-session y pueda levantar un bus de verdad.
name = "dbus-shared"
version = "1.16.2"
license = "AFL-2.1 OR GPL-2.0-or-later"
[source]
tarball = "https://dbus.freedesktop.org/releases/dbus/dbus-1.16.2.tar.xz"
@@ -14,6 +14,7 @@
# `configure` (ni `configure.ac`). Un `./configure` heredado de la receta vieja sale con 127.
name = "hicolor-icon-theme"
version = "0.18"
license = "GPL-2.0-or-later"
[source]
tarball = "https://icon-theme.freedesktop.org/releases/hicolor-icon-theme-0.18.tar.xz"
@@ -4,6 +4,7 @@
# y meson `files()` EXIGE que exista ⇒ hwdata es dep de build. Sin di-edid-decode (tool) para evitar más deps.
name = "libdisplay-info"
version = "0.2.0"
license = "MIT"
[source]
tarball = "https://gitlab.freedesktop.org/emersion/libdisplay-info/-/archive/0.2.0/libdisplay-info-0.2.0.tar.gz"
+1
View File
@@ -33,6 +33,7 @@
# módulos C cargados por `require` vean la API de Lua, y acá el que exporta es la `.so`.
name = "lua"
version = "5.4.8"
license = "MIT"
[source]
tarball = "https://www.lua.org/ftp/lua-5.4.8.tar.gz"
+1
View File
@@ -7,6 +7,7 @@
# acá y no se da por sentado: los dos artefactos tienen que venir del mismo grafo.
name = "mpfr"
version = "4.2.2"
license = "LGPL-3.0-or-later"
[source]
tarball = "https://www.mpfr.org/mpfr-4.2.2/mpfr-4.2.2.tar.xz"
+1
View File
@@ -2,6 +2,7 @@
# varias libs de media más adelante. No está en el rootfs Alpine ni tenía receta. C plano, autotools.
name = "nasm"
version = "2.16.03"
license = "BSD-2-Clause"
[source]
tarball = "https://www.nasm.us/pub/nasm/releasebuilds/2.16.03/nasm-2.16.03.tar.xz"
+1
View File
@@ -35,6 +35,7 @@
# el resto de la onda: la C-ABI de logind se esquiva salvo en mutter.
name = "pulseaudio"
version = "17.0"
license = "LGPL-2.1-or-later"
[source]
tarball = "https://freedesktop.org/software/pulseaudio/releases/pulseaudio-17.0.tar.xz"
@@ -8,6 +8,7 @@
# para que `_distutils_hack` se active y setuptools gane sobre el distutils del stdlib.
name = "py3-setuptools"
version = "75.8.2"
license = "MIT"
[source]
tarball = "https://files.pythonhosted.org/packages/source/s/setuptools/setuptools-75.8.2.tar.gz"
+1
View File
@@ -2,6 +2,7 @@
# varias libs de media más adelante. No está en el rootfs Alpine ni tenía receta. C plano, autotools.
name = "nasm"
version = "2.16.03"
license = "BSD-2-Clause"
[source]
tarball = "https://www.nasm.us/pub/nasm/releasebuilds/2.16.03/nasm-2.16.03.tar.xz"
@@ -8,6 +8,7 @@
# para que `_distutils_hack` se active y setuptools gane sobre el distutils del stdlib.
name = "py3-setuptools"
version = "75.8.2"
license = "MIT"
[source]
tarball = "https://files.pythonhosted.org/packages/source/s/setuptools/setuptools-75.8.2.tar.gz"
+1
View File
@@ -15,6 +15,7 @@
# artefacto siga trayendo dbus-daemon/dbus-run-session y pueda levantar un bus de verdad.
name = "dbus-shared"
version = "1.16.2"
license = "AFL-2.1 OR GPL-2.0-or-later"
[source]
tarball = "https://dbus.freedesktop.org/releases/dbus/dbus-1.16.2.tar.xz"
@@ -14,6 +14,7 @@
# `configure` (ni `configure.ac`). Un `./configure` heredado de la receta vieja sale con 127.
name = "hicolor-icon-theme"
version = "0.18"
license = "GPL-2.0-or-later"
[source]
tarball = "https://icon-theme.freedesktop.org/releases/hicolor-icon-theme-0.18.tar.xz"
@@ -4,6 +4,7 @@
# y meson `files()` EXIGE que exista ⇒ hwdata es dep de build. Sin di-edid-decode (tool) para evitar más deps.
name = "libdisplay-info"
version = "0.2.0"
license = "MIT"
[source]
tarball = "https://gitlab.freedesktop.org/emersion/libdisplay-info/-/archive/0.2.0/libdisplay-info-0.2.0.tar.gz"
+1
View File
@@ -16,6 +16,7 @@
# usa oeffis, lo usan los clientes que piden permiso al portal.
name = "libei"
version = "1.5.0"
license = "MIT"
[source]
tarball = "http://deb.debian.org/debian/pool/main/libe/libei/libei_1.5.0.orig.tar.bz2"
@@ -14,6 +14,7 @@
# modo preprocesador (`-dM -E -`) y los generadores errnos.h/syscalls.h lo invocan así.
name = "libuuid-shared"
version = "2.42.2"
license = "BSD-3-Clause"
[source]
tarball = "https://www.kernel.org/pub/linux/utils/util-linux/v2.42/util-linux-2.42.2.tar.xz"
+1
View File
@@ -12,6 +12,7 @@
# que es lo único que el script de mutter parsea.
name = "libxcvt"
version = "0.1.3"
license = "MIT"
[source]
tarball = "http://deb.debian.org/debian/pool/main/libx/libxcvt/libxcvt_0.1.3.orig.tar.xz"
+1
View File
@@ -33,6 +33,7 @@
# módulos C cargados por `require` vean la API de Lua, y acá el que exporta es la `.so`.
name = "lua"
version = "5.4.8"
license = "MIT"
[source]
tarball = "https://www.lua.org/ftp/lua-5.4.8.tar.gz"
+1
View File
@@ -2,6 +2,7 @@
# varias libs de media más adelante. No está en el rootfs Alpine ni tenía receta. C plano, autotools.
name = "nasm"
version = "2.16.03"
license = "BSD-2-Clause"
[source]
tarball = "https://www.nasm.us/pub/nasm/releasebuilds/2.16.03/nasm-2.16.03.tar.xz"
+1
View File
@@ -22,6 +22,7 @@
# (la lección que costó los SIGSEGV de colord).
name = "polkit"
version = "127"
license = "LGPL-2.0-or-later"
[source]
# El .orig.tar.gz inmutable del pool de Debian. El proyecto se mudó a github.com/polkit-org/polkit y
+1
View File
@@ -35,6 +35,7 @@
# el resto de la onda: la C-ABI de logind se esquiva salvo en mutter.
name = "pulseaudio"
version = "17.0"
license = "LGPL-2.1-or-later"
[source]
tarball = "https://freedesktop.org/software/pulseaudio/releases/pulseaudio-17.0.tar.xz"
+1
View File
@@ -9,6 +9,7 @@
# wheel/pip; la fuente ES el árbol Python). markupsafe es su única dep.
name = "py3-jinja2"
version = "3.1.6"
license = "BSD-3-Clause"
[source]
tarball = "https://files.pythonhosted.org/packages/source/J/Jinja2/jinja2-3.1.6.tar.gz"
@@ -7,6 +7,7 @@
# una extensión C en un build-tool que corre unas pocas veces.
name = "py3-markupsafe"
version = "3.0.2"
license = "BSD-3-Clause"
[source]
tarball = "https://files.pythonhosted.org/packages/source/M/MarkupSafe/markupsafe-3.0.2.tar.gz"
@@ -8,6 +8,7 @@
# para que `_distutils_hack` se active y setuptools gane sobre el distutils del stdlib.
name = "py3-setuptools"
version = "75.8.2"
license = "MIT"
[source]
tarball = "https://files.pythonhosted.org/packages/source/s/setuptools/setuptools-75.8.2.tar.gz"
+1
View File
@@ -30,6 +30,7 @@
# ISLA DINÁMICA: el typelib nombra `libupower-glib.so.3` y gjs la dlopea.
name = "upower"
version = "1.90.10"
license = "GPL-2.0-or-later"
[source]
tarball = "https://gitlab.freedesktop.org/upower/upower/-/archive/v1.90.10/upower-v1.90.10.tar.gz"
+1
View File
@@ -5,6 +5,7 @@
# tools=false: sólo la lib para construir Qt6DBus; el dbus-daemon (runtime de la sesión) se añade luego.
name = "dbus"
version = "1.16.2"
license = "AFL-2.1 OR GPL-2.0-or-later"
[source]
tarball = "https://dbus.freedesktop.org/releases/dbus/dbus-1.16.2.tar.xz"
@@ -4,6 +4,7 @@
# y meson `files()` EXIGE que exista ⇒ hwdata es dep de build. Sin di-edid-decode (tool) para evitar más deps.
name = "libdisplay-info"
version = "0.2.0"
license = "MIT"
[source]
tarball = "https://gitlab.freedesktop.org/emersion/libdisplay-info/-/archive/0.2.0/libdisplay-info-0.2.0.tar.gz"
+1
View File
@@ -4,6 +4,7 @@
# Dep de build de libinput (que kwin exige ≥1.28). Autotools.
name = "libevdev"
version = "1.13.4"
license = "MIT"
[source]
tarball = "https://www.freedesktop.org/software/libevdev/libevdev-1.13.4.tar.xz"
+1
View File
@@ -4,6 +4,7 @@
# Recorte: sin libwacom, sin debug-gui (GTK), sin tests ni docs. Deps ya selladas.
name = "libinput"
version = "1.28.1"
license = "MIT"
[source]
tarball = "https://gitlab.freedesktop.org/libinput/libinput/-/archive/1.28.1/libinput-1.28.1.tar.gz"
+1
View File
@@ -3,6 +3,7 @@
# Meson, sin deps externas (sólo libm). Las man pages se generan con configure_file (sin asciidoc/xmlto).
name = "libxcvt"
version = "0.1.3"
license = "MIT"
[source]
tarball = "https://gitlab.freedesktop.org/xorg/lib/libxcvt/-/archive/libxcvt-0.1.3/libxcvt-libxcvt-0.1.3.tar.gz"
+1
View File
@@ -8,6 +8,7 @@
# Deps duras: gio (glib-shared, deuda Capa 0 saldada) + libudev (libudev-zero ya sellado).
name = "modemmanager"
version = "1.22.0"
license = "GPL-2.0-or-later"
[source]
tarball = "https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/archive/1.22.0/ModemManager-1.22.0.tar.gz"
+1
View File
@@ -9,6 +9,7 @@
# pero se explicita para determinismo.
name = "mpfr"
version = "4.2.2"
license = "LGPL-3.0-or-later"
[source]
tarball = "https://ftp.gnu.org/gnu/mpfr/mpfr-4.2.2.tar.xz"
+1
View File
@@ -16,6 +16,7 @@
# sin introspection/docs/tests/ebpf/firewalld.
name = "networkmanager"
version = "1.52.0"
license = "GPL-2.0-or-later"
[source]
tarball = "https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/archive/1.52.0/NetworkManager-1.52.0.tar.gz"
+1
View File
@@ -9,6 +9,7 @@
# (DCTDECODER) + libpng-shared + zlib-shared.
name = "poppler"
version = "25.02.0"
license = "GPL-2.0-or-later"
[source]
tarball = "https://poppler.freedesktop.org/poppler-25.02.0.tar.xz"
+1
View File
@@ -11,6 +11,7 @@
# variante glib-shared (deuda Capa 0 saldada). dbus=enabled para el protocolo.
name = "pulseaudio"
version = "17.0"
license = "LGPL-2.1-or-later"
[source]
tarball = "https://freedesktop.org/software/pulseaudio/releases/pulseaudio-17.0.tar.xz"
+1
View File
@@ -18,6 +18,7 @@
# IPO/LTO OFF para el gate: reduce riesgo y tiempo; se puede reactivar tras validar.
name = "qt6-qtbase"
version = "6.11.1"
license = "LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only"
[source]
tarball = "https://download.qt.io/official_releases/qt/6.11/6.11.1/submodules/qtbase-everywhere-src-6.11.1.tar.xz"
+1
View File
@@ -4,6 +4,7 @@
# qtsvg + qtlanguageserver (qmlls). Conserva el parche de Alpine (QQmlTableInstanceModel).
name = "qt6-qtdeclarative"
version = "6.11.1"
license = "LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only"
[source]
tarball = "https://download.qt.io/official_releases/qt/6.11/6.11.1/submodules/qtdeclarative-everywhere-src-6.11.1.tar.xz"
@@ -2,6 +2,7 @@
# qtdeclarative. Campaña KDE (ADR 0011), Capa 1. Módulo sin GUI (sólo Core). Patrón Qt del gate H-Qt.
name = "qt6-qtlanguageserver"
version = "6.11.1"
license = "LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only"
[source]
tarball = "https://download.qt.io/official_releases/qt/6.11/6.11.1/submodules/qtlanguageserver-everywhere-src-6.11.1.tar.xz"
+1
View File
@@ -3,6 +3,7 @@
# PREFIX_PATH). Depende de qtpositioning (sellado) + qtdeclarative + qtshadertools (mapas QML/shaders).
name = "qt6-qtlocation"
version = "6.11.1"
license = "LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only"
[source]
tarball = "https://download.qt.io/official_releases/qt/6.11/6.11.1/submodules/qtlocation-everywhere-src-6.11.1.tar.xz"
+1
View File
@@ -3,6 +3,7 @@
# son FEATURES autodetectadas (no REQUIRED) → build mínimo sin backend (dummy). Molde módulo Qt.
name = "qtmultimedia"
version = "6.11.1"
license = "LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only"
[source]
tarball = "https://download.qt.io/official_releases/qt/6.11/6.11.1/submodules/qtmultimedia-everywhere-src-6.11.1.tar.xz"
+1
View File
@@ -4,6 +4,7 @@
# omite → sólo desactiva backends serie de GPS). Quick/Qml opcionales via qtdeclarative.
name = "qt6-qtpositioning"
version = "6.11.1"
license = "LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only"
[source]
tarball = "https://download.qt.io/official_releases/qt/6.11/6.11.1/submodules/qtpositioning-everywhere-src-6.11.1.tar.xz"
+1
View File
@@ -4,6 +4,7 @@
# el Qt6 sellado, examples/tests off. Linkea contra qtbase .so ⇒ sin la fricción static-PIC de qtbase.
name = "qt6-qtshadertools"
version = "6.11.1"
license = "LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only"
[source]
tarball = "https://download.qt.io/official_releases/qt/6.11/6.11.1/submodules/qtshadertools-everywhere-src-6.11.1.tar.xz"
+1
View File
@@ -11,6 +11,7 @@
# Es el sub-blocker nuevo de qtspeech (no speech-dispatcher, que es opcional).
name = "qt6-qtspeech"
version = "6.11.1"
license = "LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only"
[source]
tarball = "https://download.qt.io/official_releases/qt/6.11/6.11.1/submodules/qtspeech-everywhere-src-6.11.1.tar.xz"
+1
View File
@@ -2,6 +2,7 @@
# (ADR 0011), Capa 1. Patrón Qt del gate H-Qt (dinámico, wrappers zig, Qt6 sellado vía PREFIX_PATH).
name = "qt6-qtsvg"
version = "6.11.1"
license = "LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only"
[source]
tarball = "https://download.qt.io/official_releases/qt/6.11/6.11.1/submodules/qtsvg-everywhere-src-6.11.1.tar.xz"
+1
View File
@@ -4,6 +4,7 @@
# + set Gui (linguist linkea Widgets) + dbus (tools cargan Qt6DBus).
name = "qt6-qttools"
version = "6.11.1"
license = "LGPL-3.0-only OR GPL-3.0-only"
[source]
tarball = "https://download.qt.io/official_releases/qt/6.11/6.11.1/submodules/qttools-everywhere-src-6.11.1.tar.xz"
+1
View File
@@ -6,6 +6,7 @@
# set X11 la compilación de hardwareintegration/wayland-egl aborta en <X11/Xlib.h> (falla previa conocida).
name = "qt6-qtwayland"
version = "6.11.1"
license = "LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only"
[source]
tarball = "https://download.qt.io/official_releases/qt/6.11/6.11.1/submodules/qtwayland-everywhere-src-6.11.1.tar.xz"
+1
View File
@@ -3,6 +3,7 @@
# sha256 del tarball (el wrapper lo calcula), y adaptar build/install del shell de abuild.
name = "iproute2"
version = "7.1.0"
license = "GPL-2.0-or-later"
[source]
tarball = "https://kernel.org/pub/linux/utils/net/iproute2/iproute2-7.1.0.tar.xz"
+1
View File
@@ -2,6 +2,7 @@
# Sin docs (evita doxygen) ni tests.
name = "libevdev"
version = "1.13.4"
license = "MIT"
[source]
tarball = "https://www.freedesktop.org/software/libevdev/libevdev-1.13.4.tar.xz"
+1
View File
@@ -4,6 +4,7 @@
# Deps: libudev (libudev-zero), libevdev, mtdev.
name = "libinput"
version = "1.27.1"
license = "MIT"
[source]
tarball = "https://gitlab.freedesktop.org/libinput/libinput/-/archive/1.27.1/libinput-1.27.1.tar.gz"
+1
View File
@@ -23,6 +23,7 @@
name = "linux-generic"
version = "7.1.2"
license = "GPL-2.0-only WITH Linux-syscall-note"
[source]
tarball = "https://mirrors.edge.kernel.org/pub/linux/kernel/v7.x/linux-7.1.2.tar.gz"
+1
View File
@@ -19,6 +19,7 @@
name = "linux-headers"
version = "6.16.12"
license = "GPL-2.0-only WITH Linux-syscall-note"
[source]
tarball = "https://mirrors.edge.kernel.org/pub/linux/kernel/v6.x/linux-6.16.12.tar.gz"
+1
View File
@@ -31,6 +31,7 @@
name = "linux-metal-dual"
version = "7.1.2"
license = "GPL-2.0-only WITH Linux-syscall-note"
[source]
tarball = "https://mirrors.edge.kernel.org/pub/linux/kernel/v7.x/linux-7.1.2.tar.gz"
+1
View File
@@ -84,6 +84,7 @@
name = "linux-metal"
version = "6.16.12"
license = "GPL-2.0-only WITH Linux-syscall-note"
[source]
tarball = "https://mirrors.edge.kernel.org/pub/linux/kernel/v6.x/linux-6.16.12.tar.gz"
+1
View File
@@ -3,6 +3,7 @@
# `mako/filters.py` importa `markupsafe` a nivel de módulo ⇒ markupsafe es dep de runtime.
name = "mako"
version = "1.3.12"
license = "MIT"
[source]
tarball = "https://files.pythonhosted.org/packages/00/62/791b31e69ae182791ec67f04850f2f062716bbd205483d63a215f3e062d3/mako-1.3.12.tar.gz"
+1
View File
@@ -4,6 +4,7 @@
# python3.12. python3 es dep de runtime.
name = "markupsafe"
version = "3.0.3"
license = "BSD-3-Clause"
[source]
tarball = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz"
+1
View File
@@ -4,6 +4,7 @@
# Mismo patrón que mako/markupsafe/meson: se copia el paquete a site-packages, sin pip/wheel.
name = "packaging"
version = "26.2"
license = "Apache-2.0 OR BSD-2-Clause"
[source]
tarball = "https://files.pythonhosted.org/packages/d7/f1/e7a6dd94a8d4a5626c03e4e99c87f241ba9e350cd9e6d75123f992427270/packaging-26.2.tar.gz"
+1
View File
@@ -25,6 +25,7 @@
name = "wlr-randr"
version = "0.5.0"
license = "MIT"
[source]
# Tarball de RELEASE, no el `-/archive/` autogenerado de GitLab: los archivos