Argyll sidecar fetch & binary resolution #3

Closed
opened 2026-09-08 17:38:54 +01:00 by gronod · 0 comments
Owner

Summary

fetch-argyll script + resolveBinary. Sidecars are release artefacts, not git blobs.

Spec refs

docs/04-argyll-binaries.md §0.1/§0.6, 05-argyll-fork.md §8–10. #127, #165, #185.

Scope

In: fetch, ad-hoc sign, resolve, mocks, real sRGB.gam.
Out: Windows USB INF, Linux trees, committing binaries.

Implementation notes

  • Pull Gronod tag v3.5.0-ICCery.1.x (override ARGYLL_RELEASE_TAG) into Resources/argyll/{macos-universal,macos-x86_64,macos-aarch64}/ + mocks/ + reference_gamuts/ + License.txt.
  • After fetch: codesign -s - every Mach-O (including fat), then codesign -dvv must succeed. Script fails if still unsigned.
  • resolveBinary(name): settings argyll_binary_dir if that file exists → bundled dir. Prefer macos-universal ONLY when that folder contains marker instlist. Do not search $PATH. Missing file → return constructed path; spawn surfaces error.
  • Ship the real v0.8.5 sRGB.gam (448v/892f) as an app resource. Do not use the 8-cusp stub in reference_gamuts/ for the viewer overlay.
  • Mocks chartread.mock, colprof.mock, profcheck.mock are first-class CI binaries. Ad-hoc sign them too.
  • .gitignore the fetched trees.

Rewrite invariants

#127 not git blobs. #165 unsigned arm64 → Killed: 9. #185 real sRGB.gam.

Dependencies

Blocks-on: 1.
Unblocks: 2 (real paths), 7, 9, 18, 28, 32.

Test

  • CI/mock: fixture tree + resolve override; unsigned file fails the check; universal marker preference.
  • Hardware: N/A.

Acceptance criteria

  • Clean checkout + fetch produces resolvable instlist.
  • Unsigned sidecar fails the script.
  • Real sRGB.gam is in the app bundle resources.
## Summary `fetch-argyll` script + `resolveBinary`. Sidecars are release artefacts, not git blobs. ## Spec refs docs/04-argyll-binaries.md §0.1/§0.6, 05-argyll-fork.md §8–10. #127, #165, #185. ## Scope In: fetch, ad-hoc sign, resolve, mocks, real sRGB.gam. Out: Windows USB INF, Linux trees, committing binaries. ## Implementation notes - Pull Gronod tag `v3.5.0-ICCery.1.x` (override `ARGYLL_RELEASE_TAG`) into `Resources/argyll/{macos-universal,macos-x86_64,macos-aarch64}/` + `mocks/` + `reference_gamuts/` + `License.txt`. - After fetch: `codesign -s -` every Mach-O (including fat), then `codesign -dvv` must succeed. Script fails if still unsigned. - `resolveBinary(name)`: settings `argyll_binary_dir` if that file exists → bundled dir. Prefer `macos-universal` ONLY when that folder contains marker `instlist`. Do not search `$PATH`. Missing file → return constructed path; spawn surfaces `error`. - Ship the **real** v0.8.5 `sRGB.gam` (448v/892f) as an app resource. Do not use the 8-cusp stub in `reference_gamuts/` for the viewer overlay. - Mocks `chartread.mock`, `colprof.mock`, `profcheck.mock` are first-class CI binaries. Ad-hoc sign them too. - `.gitignore` the fetched trees. ## Rewrite invariants #127 not git blobs. #165 unsigned arm64 → Killed: 9. #185 real sRGB.gam. ## Dependencies Blocks-on: 1. Unblocks: 2 (real paths), 7, 9, 18, 28, 32. ## Test - CI/mock: fixture tree + resolve override; unsigned file fails the check; universal marker preference. - Hardware: N/A. ## Acceptance criteria - [ ] Clean checkout + fetch produces resolvable `instlist`. - [ ] Unsigned sidecar fails the script. - [ ] Real `sRGB.gam` is in the app bundle resources.
gronod added this to the M1 — Foundation & process core milestone 2026-09-08 17:38:54 +01:00
gronod added the
Priority
Critical
1
Project/ICCery-v2Feature/BackendFeature/DevOps
labels 2026-09-08 17:38:54 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gronod/iccery-v2-mac#3