[Guix packaging] kha-white/manga-ocr #134

Open
opened 2026-08-14 13:17:47 +00:00 by htayj · 1 comment
htayj commented 2026-08-14 13:17:47 +00:00 (Migrated from github.com)

Candidate

  • Upstream canonical URL: https://github.com/kha-white/manga-ocr
  • Source pinned commit/release when known: default-branch HEAD c333b5d36e88d539d6b040b4c4cf90ad5ecd4f69 (checked 2026-08-14)
  • Target concrete installed deliverable: the manga-ocr local Japanese OCR command
  • Primary category: ai-tool
  • Tags: ai-ml, image-processing, ocr
  • Primary language normalized: Python
  • Build system: pyproject-build-system
  • SPDX expression: Apache-2.0
  • License status: confirmed-free
  • License evidence: Inspected the upstream license text at this pinned commit; GitHub identifies it as Apache-2.0 (Apache License 2.0). No GPL only-or-later term is inferred beyond the upstream evidence.
  • Difficulty: hard — Transformer model/runtime dependencies and offline model handling need substantial closure work.
  • Workflow state: research
  • Existing Guix coverage: Checked 2026-08-14: GNU Guix, Nonguix, Guix Science, Guix HPC, Guix Past, Guix 'R Us, and RDE; no equivalent package with the same upstream origin was found.

Scope and blockers

Package local OCR inference only; model assets must be separately source-pinned and fetched outside the build.

Acceptance checks

  • guix lint -L . manga-ocr
  • guix build -L . manga-ocr
  • OCR a bundled fixture with a preinstalled local model and networking disabled.

Imported from GitHub issue/PR. Originally posted by htayj on 2026-08-14T13:17:47Z.

## Candidate - Upstream canonical URL: https://github.com/kha-white/manga-ocr - Source pinned commit/release when known: default-branch HEAD `c333b5d36e88d539d6b040b4c4cf90ad5ecd4f69` (checked 2026-08-14) - Target concrete installed deliverable: the manga-ocr local Japanese OCR command - Primary category: ai-tool - Tags: ai-ml, image-processing, ocr - Primary language normalized: Python - Build system: pyproject-build-system - SPDX expression: Apache-2.0 - License status: confirmed-free - License evidence: Inspected the upstream license text at this pinned commit; GitHub identifies it as `Apache-2.0` (Apache License 2.0). No GPL only-or-later term is inferred beyond the upstream evidence. - Difficulty: hard — Transformer model/runtime dependencies and offline model handling need substantial closure work. - Workflow state: research - Existing Guix coverage: Checked 2026-08-14: GNU Guix, Nonguix, Guix Science, Guix HPC, Guix Past, Guix 'R Us, and RDE; no equivalent package with the same upstream origin was found. ## Scope and blockers Package local OCR inference only; model assets must be separately source-pinned and fetched outside the build. ## Acceptance checks - `guix lint -L . manga-ocr` - `guix build -L . manga-ocr` - OCR a bundled fixture with a preinstalled local model and networking disabled. --- Imported from [GitHub issue/PR](https://github.com/htayj/guix-channel/issues/134). Originally posted by [htayj](https://github.com/htayj) on 2026-08-14T13:17:47Z.
Owner

Goocastle recorded disposition: blocked.

A distinct manga-ocr package is not yet safely deliverable because the required Python inference closure and native noninteractive runtime contract are unresolved. Canonical upstream is https://github.com/kha-white/manga-ocr at revision c333b5d36e88d539d6b040b4c4cf90ad5ecd4f69; its LICENSE is Apache-2.0, pyproject.toml declares setuptools >= 61, setuptools_scm, Python >= 3.9, fire, fugashi, jaconv, loguru, numpy, Pillow >= 10.0.0, pyperclip, torch >= 1.0, transformers >= 4.45.0, and unidic_lite, and exposes only the manga_ocr console script. The pinned model is kha-white/manga-ocr-base at Hugging Face revision aa6573bd10b0d446cbf622e29c3e084914df9741; its card/metadata declares Apache-2.0 and its pytorch_model.bin has Git OID 5de3f9ccbbaa00931f69b6a72d0f5028e2563374 with LFS SHA-256 c63e0bb5b3ff798c5991de18a8e0956c7ee6d1563aca6729029815eda6f5c2eb. It is separate source and must be source-pinned outside the application build. The local channel contains only kha-white-manga-ocr-source in guix/tay/packages/starred-i-m.scm, not the intended manga-ocr package, so this is not a delivered duplicate. Target module guix/tay/packages/manga-ocr.scm and pyproject-build-system are appropriate. However, targeted inspection found no python-transformers, python-torch, python-fire, python-fugashi, python-unidic-lite, python-jaconv, python-loguru, or python-pyperclip definitions in the local channel, and the reviewed official Guix module check did not establish available compatible definitions for the complete closure. A Guix daemon is unavailable, so daemon-backed closure/build validation could not be performed; that limitation is not itself claimed as an upstream build failure. Upstream run.py only supports an indefinitely looping clipboard/directory CLI, and MangaOcr initialization performs a mandatory warm-up on bundled assets/example.jpg; no native one-shot stdout mode exists. A delivery can add a deterministic package-provided smoke executable that loads a preinstalled local model in offline mode, recognizes the bundled fixture, writes a text output, and emits a fixed single-line success marker, but the executable, exact argv, expected marker, and model/cache placement must be defined. Exact blockers are: (1) obtain or package a mutually compatible complete closure, including transformers >= 4.45.0, torch, fugashi/unidic_lite, and every remaining declared runtime input; (2) obtain the seven model assets at revision aa6573bd10b0d446cbf622e29c3e084914df9741 with the completed Apache-2.0/redistribution provenance record; and (3) validate a daemon-built offline package proof using the deterministic smoke wrapper. Once those prerequisites are present, this candidate should be reassessed as implementation-ready.

<!-- goocastle-disposition:sequential-reviewer:134:1:blocked --> Goocastle recorded disposition: blocked. A distinct manga-ocr package is not yet safely deliverable because the required Python inference closure and native noninteractive runtime contract are unresolved. Canonical upstream is https://github.com/kha-white/manga-ocr at revision c333b5d36e88d539d6b040b4c4cf90ad5ecd4f69; its LICENSE is Apache-2.0, pyproject.toml declares setuptools >= 61, setuptools_scm, Python >= 3.9, fire, fugashi, jaconv, loguru, numpy, Pillow >= 10.0.0, pyperclip, torch >= 1.0, transformers >= 4.45.0, and unidic_lite, and exposes only the manga_ocr console script. The pinned model is kha-white/manga-ocr-base at Hugging Face revision aa6573bd10b0d446cbf622e29c3e084914df9741; its card/metadata declares Apache-2.0 and its pytorch_model.bin has Git OID 5de3f9ccbbaa00931f69b6a72d0f5028e2563374 with LFS SHA-256 c63e0bb5b3ff798c5991de18a8e0956c7ee6d1563aca6729029815eda6f5c2eb. It is separate source and must be source-pinned outside the application build. The local channel contains only kha-white-manga-ocr-source in guix/tay/packages/starred-i-m.scm, not the intended manga-ocr package, so this is not a delivered duplicate. Target module guix/tay/packages/manga-ocr.scm and pyproject-build-system are appropriate. However, targeted inspection found no python-transformers, python-torch, python-fire, python-fugashi, python-unidic-lite, python-jaconv, python-loguru, or python-pyperclip definitions in the local channel, and the reviewed official Guix module check did not establish available compatible definitions for the complete closure. A Guix daemon is unavailable, so daemon-backed closure/build validation could not be performed; that limitation is not itself claimed as an upstream build failure. Upstream run.py only supports an indefinitely looping clipboard/directory CLI, and MangaOcr initialization performs a mandatory warm-up on bundled assets/example.jpg; no native one-shot stdout mode exists. A delivery can add a deterministic package-provided smoke executable that loads a preinstalled local model in offline mode, recognizes the bundled fixture, writes a text output, and emits a fixed single-line success marker, but the executable, exact argv, expected marker, and model/cache placement must be defined. Exact blockers are: (1) obtain or package a mutually compatible complete closure, including transformers >= 4.45.0, torch, fugashi/unidic_lite, and every remaining declared runtime input; (2) obtain the seven model assets at revision aa6573bd10b0d446cbf622e29c3e084914df9741 with the completed Apache-2.0/redistribution provenance record; and (3) validate a daemon-built offline package proof using the deterministic smoke wrapper. Once those prerequisites are present, this candidate should be reassessed as implementation-ready.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
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#134
No description provided.