[Guix packaging] cizra/pycat #255

Closed
opened 2026-08-22 05:13:30 +00:00 by htayj · 1 comment
htayj commented 2026-08-22 05:13:30 +00:00 (Migrated from github.com)

Candidate

User-facing deliverable

Small Python MUD client intended for interactive terminal use.

Packaging approach

Package a pinned commit with pyproject or a small custom install phase, install its console entry point, and add a local fake-MUD smoke test.

Known blockers and investigation points

No tagged release; verify current Python compatibility and whether packaging metadata needs patching.

Acceptance checks

  • Pin an immutable upstream release or commit and record a real Guix source hash.
  • Build without network access using Guix-provided dependencies; do not download runtimes or plugins during the build.
  • Preserve all applicable project and bundled-component license notices.
  • Verify the installed launcher/version output and run an offline protocol smoke test against a local fake MUD endpoint where the platform permits it.
  • Keep profiles, logs, maps, plugins, and other mutable state outside the store.

Existing-package coverage

Checked on 2026-08-22 against GNU Guix, Nonguix, Guix Science, Guix HPC, Guix Past, Guix R Us, and RDE, plus all states of this repository issue tracker. No same-upstream package or existing ticket was found. GNU Guix already packages TinTin++ and POWWOW; this candidate is distinct.


Imported from GitHub issue/PR. Originally posted by htayj on 2026-08-22T05:13:30Z.

## Candidate - Canonical upstream: [https://github.com/cizra/pycat](https://github.com/cizra/pycat) - Packaging target: current master (no tagged release) - Category: MUD client - Tags: mud-client, terminal, Python, telnet - Primary language/build ecosystem: Python - License: Unlicense / public-domain dedication - License evidence: https://github.com/cizra/pycat/blob/master/LICENSE - Expected Guix packaging difficulty: easy ## User-facing deliverable Small Python MUD client intended for interactive terminal use. ## Packaging approach Package a pinned commit with pyproject or a small custom install phase, install its console entry point, and add a local fake-MUD smoke test. ## Known blockers and investigation points No tagged release; verify current Python compatibility and whether packaging metadata needs patching. ## Acceptance checks - Pin an immutable upstream release or commit and record a real Guix source hash. - Build without network access using Guix-provided dependencies; do not download runtimes or plugins during the build. - Preserve all applicable project and bundled-component license notices. - Verify the installed launcher/version output and run an offline protocol smoke test against a local fake MUD endpoint where the platform permits it. - Keep profiles, logs, maps, plugins, and other mutable state outside the store. ## Existing-package coverage Checked on 2026-08-22 against GNU Guix, Nonguix, Guix Science, Guix HPC, Guix Past, Guix R Us, and RDE, plus all states of this repository issue tracker. No same-upstream package or existing ticket was found. GNU Guix already packages TinTin++ and POWWOW; this candidate is distinct. --- Imported from [GitHub issue/PR](https://github.com/htayj/guix-channel/issues/255). Originally posted by [htayj](https://github.com/htayj) on 2026-08-22T05:13:30Z.
htayj commented 2026-08-22 06:11:12 +00:00 (Migrated from github.com)

Implemented and published in signed commit 930326ddab.

Packaged cizra/pycat at immutable commit 55c0389b8be3d5623a707698c00a9baa1f393f4e (Unlicense). The final output is /gnu/store/9v729f594fb6vs94wbf5h9x2hjif52ri-pycat-20240731-1.55c0389.

Verification:

  • real Guix build and --no-substitutes --check rebuild passed
  • upstream tests and full Python compileall passed
  • focused no-network lint passed
  • loopback proxy smoke verified frontend input, cached server output, and reply delivery
  • user worlds retain sibling imports and a genuine #reload re-execution (generation 1 to 2)
  • regression coverage proves a malicious cwd proxy.py cannot hijack pycat core imports
  • fresh HOME was used and no public MUD server was contacted

Imported from GitHub comment. Originally posted by htayj on 2026-08-22T06:11:12Z.

Implemented and published in signed commit 930326ddabd92ad19b96773e5776b9c22bc48974. Packaged cizra/pycat at immutable commit 55c0389b8be3d5623a707698c00a9baa1f393f4e (Unlicense). The final output is /gnu/store/9v729f594fb6vs94wbf5h9x2hjif52ri-pycat-20240731-1.55c0389. Verification: - real Guix build and --no-substitutes --check rebuild passed - upstream tests and full Python compileall passed - focused no-network lint passed - loopback proxy smoke verified frontend input, cached server output, and reply delivery - user worlds retain sibling imports and a genuine #reload re-execution (generation 1 to 2) - regression coverage proves a malicious cwd proxy.py cannot hijack pycat core imports - fresh HOME was used and no public MUD server was contacted --- Imported from [GitHub comment](https://github.com/htayj/guix-channel/issues/255#issuecomment-5378377950). Originally posted by [htayj](https://github.com/htayj) on 2026-08-22T06:11:12Z.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
tay/guix-channel#255
No description provided.