mirror of
https://github.com/storytold/lightcraft.git
synced 2026-11-10 10:29:55 -06:00
- brand.toml is the only place the product name lives; every crate and app
reads it through dac-brand (env vars with legacy fallback, settings folder
with copy-only migration, default library, preset extensions, i18n {app})
- cargo xtask brand check|test, run|install|package, docs, rename-crates,
deny and immich; packaging files are templates rendered from brand.toml
- icons regenerated from brand/icon.svg; upstream branding removed
- MIT licence (segment and fetch stay Apache-2.0); cargo deny licence policy
- clean-room rules in AGENTS.md/CLAUDE.md; docs/upstream-merge.md
- plan/ rebuilt and committed; parity tracker reopens Classic rows, adds
PLAN.md section 2 rows and the IMM Immich section; plan/immich.md and a
pinned Immich test server
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
70 lines
2.1 KiB
Plaintext
70 lines
2.1 KiB
Plaintext
# .deb and .rpm packages (nfpm: https://nfpm.goreleaser.com). A template: package.sh fills the {{…}}
|
|
# placeholders from brand.toml, stages the file tree, substitutes its path for ${STAGE} (nfpm
|
|
# doesn't expand env vars in `src`) and exports VERSION, NFPM_ARCH and PACKAGE_MAINTAINER.
|
|
name: {{binary}}
|
|
arch: ${NFPM_ARCH}
|
|
platform: linux
|
|
version: ${VERSION}
|
|
# semver: 0.2.0-rc.1 becomes 0.2.0~rc.1 in deb/rpm, so pre-releases sort before the release.
|
|
version_schema: semver
|
|
release: 1
|
|
section: graphics
|
|
priority: optional
|
|
maintainer: ${PACKAGE_MAINTAINER}
|
|
vendor: {{vendor}}
|
|
homepage: {{homepage}}
|
|
license: MIT AND Apache-2.0
|
|
description: |-
|
|
Open-source, native photo library and raw developer that works the way
|
|
Lightroom users expect. Import, rate, keyword and organise photos; develop
|
|
raw files non-destructively with exposure, tone, color grading, masks and
|
|
presets; GPU processing (wgpu). Includes {{cli_binary}}, a headless renderer
|
|
and command runner.
|
|
|
|
# The binaries link only glibc and libgcc_s directly. Windowing (X11/Wayland, xkbcommon) and the
|
|
# GPU (Vulkan, EGL/GL) are loaded at runtime, so they are dependencies/recommendations here
|
|
# rather than ELF NEEDED entries.
|
|
overrides:
|
|
deb:
|
|
depends:
|
|
- libc6 (>= 2.35)
|
|
- libgcc-s1
|
|
- libxkbcommon0
|
|
- libvulkan1 | libegl1
|
|
recommends:
|
|
- libwayland-client0
|
|
- libx11-6
|
|
- libx11-xcb1
|
|
- libxcursor1
|
|
- libxi6
|
|
- libxrandr2
|
|
- mesa-vulkan-drivers
|
|
- xdg-desktop-portal
|
|
rpm:
|
|
depends:
|
|
- libxkbcommon
|
|
- (vulkan-loader or libglvnd-egl)
|
|
recommends:
|
|
- libwayland-client
|
|
- libX11
|
|
- libXcursor
|
|
- libXi
|
|
- libXrandr
|
|
- mesa-vulkan-drivers
|
|
- xdg-desktop-portal
|
|
|
|
contents:
|
|
- src: ${STAGE}/usr/bin/{{binary}}
|
|
dst: /usr/bin/{{binary}}
|
|
file_info: { mode: 0755 }
|
|
- src: ${STAGE}/usr/bin/{{cli_binary}}
|
|
dst: /usr/bin/{{cli_binary}}
|
|
file_info: { mode: 0755 }
|
|
- src: ${STAGE}/usr/share/
|
|
dst: /usr/share/
|
|
type: tree
|
|
|
|
scripts:
|
|
postinstall: packaging/linux/postinst.sh
|
|
postremove: packaging/linux/postinst.sh
|