feat(tui): packaging — meson target, PKGBUILD optdepend, nfpm-tui #83

Merged
charles merged 1 commit from tui/packaging-45 into main 2026-04-11 20:43:48 +00:00
Owner

Stacks on #82. Closes charles/loom#45. Closes out Phase 7 and the full loom-tui v0.1.0 stack.

  • meson.options — new tui feature flag (auto/enabled/disabled, default auto)
  • crates/loom-tui/src/meson.build — mirrors the loom-gtk custom_target pattern: runs cargo build -p loom-tui (release when profile=default) and installs to bindir. Cross-build aware (x86_64 / aarch64)
  • meson.build gains a conditional subdir('crates/loom-tui/src') guarded on get_option('tui').allowed()
  • PKGBUILD adds loom-tui as optdepends
  • nfpm-tui.yaml is a new nfpm config bundling just the loom-tui binary + shared plugins directory, with soft deps (recommends/suggests) on chafa and libsixel so block-art and sixel backends have a clear install path
Stacks on #82. Closes charles/loom#45. Closes out **Phase 7** and the full loom-tui v0.1.0 stack. - `meson.options` — new `tui` feature flag (auto/enabled/disabled, default auto) - `crates/loom-tui/src/meson.build` — mirrors the loom-gtk `custom_target` pattern: runs `cargo build -p loom-tui` (release when `profile=default`) and installs to `bindir`. Cross-build aware (x86_64 / aarch64) - `meson.build` gains a conditional `subdir('crates/loom-tui/src')` guarded on `get_option('tui').allowed()` - `PKGBUILD` adds `loom-tui` as `optdepends` - `nfpm-tui.yaml` is a new nfpm config bundling just the `loom-tui` binary + shared plugins directory, with soft deps (`recommends`/`suggests`) on `chafa` and `libsixel` so block-art and sixel backends have a clear install path
Adds build + packaging bits so loom-tui ships alongside loom-gtk as
an optional companion binary:

- meson.options gains a `tui` feature flag (auto/enabled/disabled,
  default auto)
- crates/loom-tui/src/meson.build mirrors the loom-gtk cargo-build
  custom_target, building -p loom-tui and installing to bindir
- meson.build wires the subdir conditionally on get_option('tui')
- PKGBUILD gains loom-tui as optdepends on the main package
- nfpm-tui.yaml is a new nfpm config that bundles just the loom-tui
  binary + shared plugins directory, with soft dependencies on
  chafa and libsixel for the block-art and sixel backends

Closes charles/loom#45

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
charles changed target branch from tui/tests-46 to main 2026-04-11 20:43:46 +00:00
charles deleted branch tui/packaging-45 2026-04-11 20:43:48 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
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
charles/loom!83
No description provided.