[Guix packaging] oqurum/TheReader #153
Labels
No labels
accessibility
bug
category:ai-tool
category:browser
category:command-line-tool
category:compiler-toolchain
category:desktop-application
category:developer-tool
category:editor-extension
category:emulator
category:font
category:game
category:input-accessibility
category:library-framework
category:mud-client
category:multimedia
category:networking-client
category:programming-language
category:roguelike
category:storage-media-tool
category:system-tool
category:terminal-application
complexity:high
complexity:low
complexity:medium
difficulty:blocked
difficulty:easy
difficulty:hard
difficulty:moderate
documentation
duplicate
enhancement
good first issue
gooflow:guix-package-high
gooflow:guix-package-moderate
gooflow:guix-package-quality-gates
gooflow:guix-research-disposition
gooflow:guix-runtime-evidence-refresh
help wanted
invalid
kind:disposition
kind:packaging
needs:license-investigation
priority:quick
question
ready-for-agent
state:available-elsewhere
state:blocked
state:deferred
state:out-of-scope
state:ready
state:research
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
tay/guix-channel#153
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Candidate
0133f7f1c3680ebd3e18fd35b4fc2a11c5eae5ee(checked 2026-08-14)GPL-3.0(GNU General Public License v3.0). No GPL only-or-later term is inferred beyond the upstream evidence.Scope and blockers
Package the local desktop organizer and its local SQLite data behavior.
Acceptance checks
guix lint -L . thereaderguix build -L . thereaderImported from GitHub issue/PR. Originally posted by htayj on 2026-08-14T13:18:00Z.
Goocastle recorded disposition: blocked.
Canonical source is https://github.com/oqurum/TheReader at fixed commit 0133f7f1c3680ebd3e18fd35b4fc2a11c5eae5ee (2024-10-23; Guix version can be 0-20241023-0133f7f). The upstream LICENSE at that exact revision is the complete GNU General Public License, Version 3, so the main origin is GPL-3.0. The workspace is four local crates (books-backend, books-frontend, common-local, bookie) plus the separately fetched global_common gitlink at ce25aa8d00a2ffa321e6df3da03dc9759f61c01d; global_common/LICENSE at that exact revision grants MIT. crates/frontend/Cargo.toml and Cargo.lock separately fetch https://github.com/oqurum/html-editor at d597a0dd3d9e0ca699839ae8bdb1df5ecbf3b29c; html-editor/LICENSE at that exact revision grants MIT. Bootstrap and Bootstrap Icons files already present in the main tree carry in-file MIT notices; no separately refetched asset origin is proposed. The local channel contains only oqurum-thereader-source in tay/packages/starred-n-r.scm, at the same main commit and GPL-3 declaration; no executable thereader package or equivalent package was found. Source-build assessment: Cargo.lock is version 3 with 559 package records (553 registry records, one html-editor git record, and the local workspace records); the implementation must provide the complete locked registry closure as cargo-inputs, materialize global_common at its gitlink revision, materialize html-editor at its locked revision and replace that git dependency with a local path, and retain/regenerate the lock graph offline. The native build needs cargo/rust, pkg-config, sqlite for libsqlite3-sys 0.27.0, and openssl for openssl-sys 0.9.104. Upstream requires
trunk build --release --public-url /dist -d ../../app/public/distbeforecargo build --bin backend-bundled --release --features=bundled; the source has no app/public/dist, and backend/src/bundle.rs embeds app/public and writes it on first run. The concrete blocker is that this channel has no package named trunk, wasm-pack, or rust-std-wasm32-unknown-unknown, while its available wasm-bindgen-cli is 0.2.120 and the fixed lockfile pins wasm-bindgen 0.2.95. Therefore an unattended cargo-build-system derivation cannot currently produce the required frontend artifact offline; the host also had no cargo/rust executable and no Guix daemon, so no build proof was claimed. Unblock only by adding to the package module a fixed, licensed, offline-compatible wasm32-unknown-unknown standard-library/toolchain and frontend bundler (Trunk or an equivalent explicit cargo/wasm-bindgen pipeline, with wasm-bindgen CLI matching 0.2.95), and by recording exact-revision license evidence for any new origin, then rerunguix lint -L . thereader,guix build -L . thereader, and the runtime smoke. The eventual package should install the bundled backend as bin/thereader and wrap it so it creates${XDG_DATA_HOME:-$HOME/.local/share}/thereader, changes directory there, and execs the real binary; this is required because upstream hardcodes ./app/config.toml, ./app/database.db, and ./app/public. It is a local HTTP service, not a native window: the exact reviewed runtimeEvidence draft is packageName=thereader, artifactPath=bin/thereader, runtime.executable=thereader, runtime.invocation=["thereader","--host","127.0.0.1","--port","18084"], runtime.successMarker="Starting HTTP Server". A meaningful isolated smoke must set fresh HOME/XDG_DATA_HOME, copy the tracked Pride and Prejudice EPUB fixture into a fresh library directory, launch that argv, POST /api/setup with that directory and a server name of at least three characters, POST /auth/password with a temporary local account while retaining the cookie, poll authenticated GET /api/books until count/items is nonzero, and assert config.toml and database.db exist only below the temporary data directory; this also exercises SQLite migration, the queued library scan, EPUB import, and the immutable-store-safe wrapper. Until the fixed frontend toolchain and its offline license/provenance records exist, the requested legal/source-buildable/technically viable unattended package outcome is blocked.Imported from GitHub comment. Originally posted by htayj on 2026-08-29T11:54:02Z.