- scripts/fetch-argyll.sh: POSIX sh port of fetch-argyll.mjs; queries
the Gitea release API for the *_macOS_universal_bin.tgz asset,
extracts Argyll_V*/bin, chmod+x, strips quarantine xattr; honors
ARGYLL_SERVER_URL / ARGYLL_REPO / ARGYLL_RELEASE_TAG / GITEA_TOKEN.
Verified end-to-end: 51 universal tools from v3.5.0-ICCery1.8.
- BinaryResolver: settings argyll_binary_dir override (existence-gated)
→ bundled Argyll/<platform>/, macos-universal preferred when instlist
marker present, else macos-arm64/macos-x86_64; constructed path
returned even when absent (spawn surfaces process:error). Mock and
reference-gamut helpers.
- Vendored tracked resources: mocks/{chartread,colprof,profcheck}.mock
+ reference_gamuts/sRGB.gam from ICCery v1, copied as a folder
reference so the Argyll/ subtree structure survives into the bundle.
- Build phase rsyncs Vendor/Argyll/ → Contents/Resources/Argyll/.
- AppDelegate: killAll via terminateLater so children are signaled
before teardown (#147/#149).
- 6 resolver tests + fetch script smoke-verified against real release.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
gronod
merged commit 6b122b2cbc into milestone/m1-foundation2026-09-08 19:01:02 +01:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Implements issue #3 (M1).
scripts/fetch-argyll.sh— POSIX sh + curl + tar (no Node). Queries$ARGYLL_SERVER_URL/api/v1/repos/$ARGYLL_REPO/releases/(tags/$TAG|latest), picks the*_macOS_universal_bin.tgzasset bybrowser_download_urlsuffix, extractsArgyll_V*/bin,chmod 0755,xattr -dr com.apple.quarantine. Env overrides:ARGYLL_SERVER_URL,ARGYLL_REPO,ARGYLL_RELEASE_TAG,GITEA_TOKEN. Marker binaryinstlist. Verified live: pulledv3.5.0-ICCery1.8→ 51 universal (x86_64+arm64) tools inVendor/Argyll/macos-universal/.BinaryResolver:argyll_binary_diroverride (existence-gated) → bundledArgyll/<platform>/,macos-universalpreferred when theinstlistmarker exists, elsemacos-arm64/macos-x86_64; missing → constructed path returned so spawn surfacesprocess:error(v1 semantic).Resources/Argyll/(folder reference, structure preserved):mocks/{chartread,colprof,profcheck}.mock,reference_gamuts/sRGB.gam— from ICCery v1.Vendor/Argyll/→Contents/Resources/Argyll/.AppDelegatedefers termination (terminateLater) untilProcessManager.shared.killAll()has signaled children — #147/#149.Verified: bundle contains
Argyll/macos-universal/instlist,Argyll/mocks/,Argyll/reference_gamuts/; 29/29 tests pass.Closes #3
- scripts/fetch-argyll.sh: POSIX sh port of fetch-argyll.mjs; queries the Gitea release API for the *_macOS_universal_bin.tgz asset, extracts Argyll_V*/bin, chmod+x, strips quarantine xattr; honors ARGYLL_SERVER_URL / ARGYLL_REPO / ARGYLL_RELEASE_TAG / GITEA_TOKEN. Verified end-to-end: 51 universal tools from v3.5.0-ICCery1.8. - BinaryResolver: settings argyll_binary_dir override (existence-gated) → bundled Argyll/<platform>/, macos-universal preferred when instlist marker present, else macos-arm64/macos-x86_64; constructed path returned even when absent (spawn surfaces process:error). Mock and reference-gamut helpers. - Vendored tracked resources: mocks/{chartread,colprof,profcheck}.mock + reference_gamuts/sRGB.gam from ICCery v1, copied as a folder reference so the Argyll/ subtree structure survives into the bundle. - Build phase rsyncs Vendor/Argyll/ → Contents/Resources/Argyll/. - AppDelegate: killAll via terminateLater so children are signaled before teardown (#147/#149). - 6 resolver tests + fetch script smoke-verified against real release. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>