* Release under the SolidCraft name: binaries, assets and installers The desktop binary is now `solidcraft` and the CLI `solidcraft-cli` (the two app packages are renamed; their folders move with the rest of the rename later). Every release asset is named solidcraft-<ver>-… / SolidCraft-<ver>-windows-x64.exe, and the installers show the SolidCraft product name. Kept so existing installs keep updating (docs/compatibility.md): - `solvecraft-cli` alias binary in every package, forwarding to solidcraft-cli with a deprecation note on stderr (tests/legacy_alias.rs). - Linux app ID ai.storyteller.solvecraft (Flatpak ID, desktop entry, Wayland app_id). - MSI UpgradeCode, so the MSI upgrades in place. - deb Replaces/Conflicts/Provides and rpm Obsoletes/Provides solvecraft. - An old-named .zsync copy so earlier AppImages find updates; a legacy .flatpakrepo copy. - .solvecraft file associations; SOLVECRAFT_* fallbacks in the packaging scripts. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01RjGw4gA5ZvKrU8MQP6sBgT * MSI: register the legacy .solvecraft extension without a duplicate open verb Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01RjGw4gA5ZvKrU8MQP6sBgT --------- Co-authored-by: Claude Opus 5.5 <[email protected]>
90 lines
3.2 KiB
YAML
90 lines
3.2 KiB
YAML
# .deb and .rpm packages (nfpm: https://nfpm.goreleaser.com). Run by package.sh, which stages
|
|
# the file tree, substitutes its path for ${STAGE} (nfpm doesn't expand env vars in `src`) and
|
|
# exports VERSION and NFPM_ARCH. Adapted from PhotoCraft's (storytold/photocraft, Apache-2.0).
|
|
name: solidcraft
|
|
# Compatibility shim (docs/compatibility.md): releases before the rename were packaged as `solvecraft`.
|
|
# Installing this package replaces that one (Debian Replaces/Conflicts, set under overrides.deb;
|
|
# nfpm writes `replaces` as RPM Obsoletes), so `apt install ./solidcraft-….deb` or `dnf install ./solidcraft-….rpm`
|
|
# upgrades an old install instead of failing on the shared desktop and icon files.
|
|
replaces:
|
|
- solvecraft
|
|
provides:
|
|
- solvecraft
|
|
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: ${SOLIDCRAFT_MAINTAINER}
|
|
vendor: SolidCraft contributors
|
|
homepage: https://bherbruck.github.io/solidcraft/
|
|
license: MIT OR Apache-2.0
|
|
description: |-
|
|
Open-source parametric 3D CAD in the style of Fusion
|
|
Sketches with a constraint solver, a parametric feature timeline, components and
|
|
joints, sheet metal; STEP, IGES, 3MF, STL and OBJ. Includes solidcraft-cli, a
|
|
headless command runner and MCP server for AI agents.
|
|
|
|
# The binaries link only glibc and libgcc_s directly. Windowing (X11/Wayland, xkbcommon) and the
|
|
# GPU (Vulkan, EGL/GL) are loaded at runtime with dlopen, so they aren't ELF NEEDED entries and
|
|
# the package tools can't find them: list them here.
|
|
overrides:
|
|
deb:
|
|
# Debian's rename pattern: Replaces + Conflicts + Provides (docs/compatibility.md).
|
|
conflicts:
|
|
- solvecraft
|
|
depends:
|
|
- libc6 (>= 2.35)
|
|
- libgcc-s1
|
|
- libxkbcommon0
|
|
- libxkbcommon-x11-0
|
|
- libwayland-client0
|
|
- libx11-6
|
|
- libx11-xcb1
|
|
- libxcb1
|
|
- libxcursor1
|
|
- libxi6
|
|
- libvulkan1 | libegl1
|
|
recommends:
|
|
- mesa-vulkan-drivers
|
|
- libegl-mesa0
|
|
- xdg-desktop-portal
|
|
rpm:
|
|
# Soname provides rather than package names, so the same requirements resolve on Fedora/RHEL
|
|
# and openSUSE.
|
|
depends:
|
|
- libxkbcommon.so.0()(64bit)
|
|
- libxkbcommon-x11.so.0()(64bit)
|
|
- libwayland-client.so.0()(64bit)
|
|
- libX11.so.6()(64bit)
|
|
- libX11-xcb.so.1()(64bit)
|
|
- libxcb.so.1()(64bit)
|
|
- libXcursor.so.1()(64bit)
|
|
- libXi.so.6()(64bit)
|
|
- (libvulkan.so.1()(64bit) or libEGL.so.1()(64bit))
|
|
recommends:
|
|
- mesa-vulkan-drivers
|
|
- xdg-desktop-portal
|
|
|
|
contents:
|
|
- src: ${STAGE}/usr/bin/solidcraft
|
|
dst: /usr/bin/solidcraft
|
|
file_info: { mode: 0755 }
|
|
- src: ${STAGE}/usr/bin/solidcraft-cli
|
|
dst: /usr/bin/solidcraft-cli
|
|
file_info: { mode: 0755 }
|
|
# Compatibility shim (docs/compatibility.md): the old CLI name forwards to solidcraft-cli.
|
|
- src: ${STAGE}/usr/bin/solvecraft-cli
|
|
dst: /usr/bin/solvecraft-cli
|
|
file_info: { mode: 0755 }
|
|
- src: ${STAGE}/usr/share/
|
|
dst: /usr/share/
|
|
type: tree
|
|
|
|
scripts:
|
|
postinstall: packaging/linux/postinst.sh
|
|
postremove: packaging/linux/postinst.sh
|