commit 92c4e159e9d4ca26b5ac4e2c729f65e1cffbde9c from: ale date: Sat Aug 1 18:43:06 2026 UTC clamui y nezzontli-ctl: builds reales verificados en Guix 1.5.0 Ambos compilan y corren de punta a punta dentro de la VM (guix build + smoke test real, no solo evaluación). Hashes reales vía guix download/ guix hash -rx, reemplazando los placeholders. Fixes encontrados en build real, no anticipables sin Guix: falta de gexp/python-build en imports, tres deps propias (cowsay/flatlatex/textual-image) necesitaban su backend declarado como native-input (setuptools o hatchling según el caso), y clamui pineaba 8 de 10 deps a versiones más nuevas que las empaquetadas en Guix -- relajadas con una fase substitute*. librepods.scm: fix de módulos (gexp, sin guix-build-utils inexistente) pero sigue sin los ~577 crates, pendiente de guix import crate -r. commit - 846c407395396cb54d4d9e28dbfcc83aeee750fd commit + 92c4e159e9d4ca26b5ac4e2c729f65e1cffbde9c blob - 0e8391b8995373fe10ee83c9641de847d629e83c blob + 049e24d83c2fd4c0e27f04845ed3b326c81e55e0 --- ale/packages/clamui.scm +++ ale/packages/clamui.scm @@ -23,6 +23,7 @@ (define-module (ale packages clamui) #:use-module (guix packages) #:use-module (guix git-download) + #:use-module (guix gexp) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system pyproject) #:use-module (gnu packages glib) @@ -31,8 +32,8 @@ #:use-module (gnu packages python-xyz) #:use-module (gnu packages python-web) #:use-module (gnu packages python-crypto) - #:use-module (gnu packages gstreamer) - #:use-module (gnu packages glib-networking)) + #:use-module (gnu packages python-build) + #:use-module (gnu packages gstreamer)) (define-public clamui (package @@ -47,7 +48,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) ; AJUSTAR: `guix download` real sobre el tag v0.3.0 + "1nah7sy81igrz85jgp41y1zvwgn26axyy3gnqimhbmwsjhd6wfwd")))) ;; glib-or-gtk-build-system envuelve pyproject-build-system + las fases ;; extra de glib-compile-schemas/gtk-icon-cache (equivalente combinado a ;; buildPythonApplication + wrapGAppsHook4 en la derivación Nix original). @@ -57,6 +58,26 @@ #:tests? #f ; mismo motivo que en Nix: tests viven en tests/ pero requieren un display GTK real, se corren upstream vía pytest, no acá #:phases #~(modify-phases %standard-phases + ;; pyproject.toml pinea 8 de sus 10 deps a versiones más nuevas que + ;; las empaquetadas en Guix (confirmado build real, 2026-08-01: + ;; sanity-check falla en cadena por ContextualVersionConflict, una + ;; dependencia a la vez) -- relaja esos mínimos, misma idea que + ;; pythonRelaxDepsHook en nixpkgs. Son pines preventivos de + ;; upstream, no por uso real de API nueva -- las versiones de Guix + ;; (confirmadas contra `guix show` en vivo) funcionan igual. + ;; psutil>=7.2.2 y keyring>=25.7.0 SÍ coinciden exacto con Guix -- + ;; no hace falta tocarlas. + (add-after 'unpack 'relax-version-pins + (lambda _ + (substitute* "pyproject.toml" + (("PyGObject>=3\\.56\\.3") "PyGObject") + (("pycairo>=1\\.29\\.0") "pycairo") + (("matplotlib>=3\\.11\\.0") "matplotlib") + (("requests>=2\\.34\\.2") "requests") + (("urllib3>=2\\.7\\.0") "urllib3") + (("certifi>=2026\\.6\\.17") "certifi") + (("Pillow>=12\\.2\\.0") "Pillow") + (("cairosvg>=2\\.9\\.0") "cairosvg")))) ;; Iconos + .desktop + metainfo viven fuera del paquete Python ;; (data/ e icons/ en la raíz del repo) -- mismo postInstall que en ;; pkgs/clamui.nix. blob - c8c9247bd8b6ba656f83507397b5b08d51494119 blob + afedf5defe8cd16059551d0107c5849290ff2218 --- ale/packages/librepods.scm +++ ale/packages/librepods.scm @@ -40,7 +40,7 @@ #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system cargo) - #:use-module (guix build-utils) + #:use-module (guix gexp) #:use-module (gnu packages pkg-config) #:use-module (gnu packages glib) ; dbus #:use-module (gnu packages freedesktop) ; wayland blob - d14750cc39162ca78490de83ccfa8242ac6ef9cf blob + 97cef8f576985b001eb2494290967c56553858f7 --- ale/packages/nezzontli-ctl.scm +++ ale/packages/nezzontli-ctl.scm @@ -16,12 +16,8 @@ ;;; Faltan: python-cowsay, python-textual-image, python-flatlatex (ninguno ;;; encontrado en ningún canal indexado) -- empaquetados acá desde cero. ;;; -;;; IMPORTANTE: los campos `sha256` de abajo son los que reporta PyPI/GitHub -;;; en el momento de escribir esto (2026-07-31), pero NO fueron verificados -;;; con `guix hash`/`guix download` real -- esta máquina corre NixOS, sin Guix -;;; instalado. Antes de construir esto en la VM/Guix real, correr -;;; `guix download ` sobre cada uno y confirmar que coincide (o dejar que -;;; `guix build` falle y te dé el hash correcto, patrón estándar de Guix). +;;; Hashes verificados en vivo con `guix download`/`guix hash -rx` dentro de +;;; una VM Guix 1.5.0 real (2026-08-01, guix acf3d19). (define-module (ale packages nezzontli-ctl) #:use-module (guix packages) @@ -30,6 +26,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system pyproject) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages python-build) #:use-module (gnu packages check)) ;; --- python-cowsay --- @@ -47,9 +44,10 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) ; AJUSTAR: correr `guix download` sobre el tarball del tag v6.1 + "1qaawnckyy1d9ql17d72rl5fn7q5bx18jf78k4ljd9bl7hg6714m")))) (build-system pyproject-build-system) - (native-inputs (list python-pytest python-coverage)) + ;; backend detectado en build real (2026-08-01): setuptools.build_meta + (native-inputs (list python-setuptools python-wheel python-pytest python-coverage)) (arguments (list #:tests? #f)) ; pytest+coverage alcanzan pero no hace falta correrlos para un TUI wrapper chico (home-page "https://github.com/VaasuDevanS/cowsay-python") (synopsis "Cowsay para Python") @@ -71,10 +69,12 @@ "flatlatex-" version ".tar.gz")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) ; AJUSTAR: sha256 real reportado por PyPI es 5170e1bcd4fccb52bdbdff300b14b68730483bc46f6a2a89f7ae2bb024e4d139 (hex) -- convertir a base32 con `guix hash -x` o dejar que el build falle y tomar el valor sugerido + "0ffiwhjb0axfyy4jlskgqhxlhc47nqa0nc7zpnym5jzwsjyf2w2i")))) (build-system pyproject-build-system) (propagated-inputs (list python-regex)) - (native-inputs (list python-pytest)) + ;; backend detectado en build real (2026-08-01): setuptools.build_meta, + ;; sin declararlo el build falla con "ModuleNotFoundError: setuptools". + (native-inputs (list python-setuptools python-wheel python-pytest)) (home-page "https://github.com/rtmigo/flatlatex") (synopsis "Convierte LaTeX matemático a texto unicode plano") (description "@code{flatlatex} traduce expresiones LaTeX matemáticas a su @@ -97,9 +97,12 @@ representación equivalente en texto unicode (sin rend "textual_image-" version ".tar.gz")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) ; AJUSTAR: sha256 real PyPI 8ca0cee2bfcd7734de5b16a1936da226b77b745e28830d9cf2bc202cb70e43ee (hex) -- convertir a base32 + "1vj31svjq85wyaf0v0r8brs7pdr6l9nr788nbgg38xydpzicx84c")))) (build-system pyproject-build-system) + ;; backend detectado en build real (2026-08-01): hatchling.build + (native-inputs (list python-hatchling)) (propagated-inputs (list python-pillow python-rich python-textual)) + (arguments (list #:tests? #f)) ; pide pytest (no declarado, no hace falta para un widget usado como dependencia) (home-page "https://github.com/lnqs/textual-image") (synopsis "Renderiza imágenes en terminal (Kitty Graphics Protocol) para Rich/Textual") (description "Widget de Textual/Rich para mostrar imágenes rasterizadas en @@ -111,18 +114,19 @@ como fallback).") (define-public nezzontli-ctl (package (name "nezzontli-ctl") - (version "0.1.0") ; AJUSTAR: confirmar contra el tag/rev real que quieras pinear del repo + (version "0.1.0-1.97b83a8") ; pineado a HEAD de main al momento de escribir esto -- sin releases/tags en el repo (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/Richard7987/nezzontli-ctl") - (commit "main"))) ; AJUSTAR: pinear a un commit/tag real, "main" no es reproducible + (commit "97b83a82103197915fefaa3b0daf649f14f57280"))) (file-name (git-file-name name version)) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) ; AJUSTAR: `guix download`/`guix hash` sobre el checkout real + "1l72i4c7x8m1wd0cgp5qb87ycphncq2b605fg9kc7nsij9ix16sb")))) (build-system pyproject-build-system) + (native-inputs (list python-hatchling)) ; backend real detectado en build (2026-08-01) (propagated-inputs (list python-textual python-pyfiglet