[Guix packaging] cdgriffith/FastFlix #100
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#100
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
d881887456250b2c523b8ea39f8edd3eee023d81onmaster(default branch snapshot reviewed 2026-08-14).fastflix)pyproject.toml;setuptools_scmand PySide6)LICENSEcontains MIT and thepyproject.tomlproject metadata declares the Python GUI.Scope and blockers
Package the pinned upstream source as the stated deliverable, retaining upstream notices and making runtime services, credentials, downloaded assets, and optional integrations explicit. Package the large Python/PySide6 dependency closure and require an explicit FFmpeg executable input; hardware encoder downloads must remain optional.
Acceptance checks
guix lint -L. fastflixpasses with no new errors.guix build -L. fastflixsucceeds from the pinned source with tests enabled where practical.fastflix --helpor the GUI under Xvfb with a local FFmpeg stub and no network.Imported from GitHub issue/PR. Originally posted by htayj on 2026-08-14T13:17:22Z.
Goocastle recorded disposition: blocked.
Blocked by a concrete redistribution-license gap in required bundled GUI assets. Canonical upstream is https://github.com/cdgriffith/FastFlix at fixed commit d881887456250b2c523b8ea39f8edd3eee023d81, tag 6.2.1, committed 2026-03-21. The local channel already has the source-only snapshot cdgriffith-fastflix-source in tay/packages/starred-a-c.scm, pinned to that commit with Guix hash 1sqha86wlr2dhj74yp8dcra8i0kmpgajhkqw9smdflbnnyz8z63n; guix show/search found no installed fastflix equivalent. The root LICENSE is MIT but says the code itself is licensed; docs/build-licenses.txt likewise documents code/dependencies, not the bundled artwork. pyproject.toml package-data installs all *.ico, *.svg, *.png, and *.qss under fastflix, and resources.py plus the encoder modules load those files at runtime, so the assets are part of the requested GUI deliverable. README.md at this exact revision attributes custom icons to Joey Catt | Onyx Studios, three encoder logos to Wikimedia Commons, and additional button icons to https://uxwing.com, but provides no per-file license, grant, or fixed source revision for the Onyx assets or the UXWing files. The exact UXWing license page, https://uxwing.com/license/, permits use in projects but expressly prohibits reselling, redistributing, and sublicensing; that is incompatible with Guix redistribution. The Onyx attribution is not a redistribution grant. The Wikimedia VP9 and AV1 pages linked by upstream identify public-domain status, but the repository still does not map every copied asset to a fixed upstream revision or license, and the VVC link is only to a Wikipedia file page. Parent MIT coverage cannot cure these separately attributed asset gaps. The condition that unblocks implementation is an upstream/rightsholder grant covering each exact bundled non-code asset, or upstream/package replacement of every uncleared asset with clearly free assets; record each replacement/origin at an immutable revision, preserve the notices, and re-research before implementation. Other source evidence is clear: FastFlix d881887.../LICENSE is MIT with no .gitmodules entries; planned PyPI sdists have fixed license files and hashes (babelfish 0.6.1 BSD-3-Clause decb67a4660888d48480ab6998309837174158d0f1aa63bebb1c2e11aab97aab; cleanit 0.4.8 Apache-2.0 1b19fe2dd2712695ebbf9d429c4d3366a1b51300738bb034c13ea221c84a6ae9; iso639-lang 2.6.3 MIT 078ddb7cd0182dcc04367691acc8022ddf7158b6cb09f08f798af823fa864265; pgsrip 0.1.1 MIT 078c841b4db76e2db021608d18e3a7a73b1acee9bd19fd2d26b7aa322a3b3495; reusables 1.0.0 MIT 02e24e66e8970fe3f5a6ebaef691eced4e2388ae291f3747b1d63e561dba2b0b; trakit 0.2.5 MIT d7e530ed82906eeadf7982d6a357883ae0490f34bbd18f8232b8fc5f250a4ae7), and official Qt for Python v6.10.1 is fixed at peeled commit 42be1cc7d9973b7da44c048981001b823b329704 with sources/pyside6/COPYING and sources/shiboken6/COPYING. No independently fetched Git submodule exists. Technical implementation remains actionable after legal clearance: use pyproject/setuptools build with setuptools_scm and a Python 3.13-compatible closure; upstream requires Python >=3.13 and PySide6 ==6.10.1, while this channel has python-next 3.13.13 but only python-pyside-6 6.9.2 built for Python 3.12, so PySide6/Qt and extension dependencies must be rebuilt or updated as a matching source stack. Use source-built Guix opencv (4.13.0, Modified BSD, includes Python bindings) rather than the wheel-only opencv-python 4.13.0.92; add the absent pure-Python closure components and reconcile the declared python-box >=7.4 and psutil <6 constraints explicitly. Define the installed command fastflix and wrap it so FF_FFMPEG and FF_FFPROBE point to an explicit ffmpeg input (current channel ffmpeg is 8.1.2); do not add FFmpeg downloads to the build or wrapper. Runtime network/download behavior must remain explicit: the source checks GitHub releases for version notifications unless disable_version_check is true, and its Windows-only GPU, FFmpeg, HDR10+, and 7-Zip downloads must remain opt-in/absent; tesseract, mkvmerge, hdr10plus_parser, rigaya encoders, and gifski are optional integrations, with no credentials. After clearance, the isolated proof should run guix lint -L. --no-network with the cve/refresh/archival exclusions and guix build -L. from the fixed source, then launch the installed fastflix GUI under Xvfb with a temporary FF_CONFIG containing explicit stub paths, terms_accepted=true, enable_history=false, disable_version_check=true, auto_gpu_check=false, auto_hdr10plus_check=false, and opencl_support=false. The local ffmpeg/ffprobe stubs must answer -version and -encoders, record invocations, and the smoke must verify startup reaches the UI with no network access and no download/cache writes; run the upstream unit tests where practical and reserve real encode proof for a supplied local FFmpeg, without claiming any proof before those gates pass.
Imported from GitHub comment. Originally posted by htayj on 2026-08-28T11:03:13Z.