Fix multiple issues in the CPack packaging configuration for the GTK3V2MAIN branch, bump the version to 5.4.0 (GTK3 is the next release, replacing GTK2), and add a GitHub Actions release workflow that publishes binary packages when tests pass and creates GitHub Releases on version tags.
CPack fixes required
Both branches (default + GTK3V2MAIN)
- Debian architecture hardcoded to 'amd64' — replace with variable mapping CMAKE_SYSTEM_PROCESSOR to Debian arch names (fixes ARM64 .deb builds)
- Debian package name 'XTrkCad' violates Debian policy (must be lowercase) — change to 'xtrkcad'
- webkitgtk dependency condition is inverted (NOT XTRKCAD_USE_BROWSER adds it, should be XTRKCAD_USE_BROWSER)
- CPACK_PACKAGE_EXECUTABLES references stale version string 'XTrkCad-5.2.1-Beta'
GTK3V2MAIN only
- RPM runtime deps still list 'gtk2' — change to gtk3, add libzip, mxml, librsvg2
- RPM BUILDREQUIRES still lists 'gtk2-devel' — change to gtk3-devel
- Version bump: 5.3.2DevGTK3 -> 5.4.0 (clear XTRKCAD_VERSION_MODIFIER)
- Flatpak manifest xtrkcad.manifest.yaml still includes shared-modules/gtk2/gtk2.json — remove
- Flatpak manifest missing mxml module declaration
- Flatpak manifest source still points to SourceForge 5.3.1 — update to GitHub
GitHub Actions release workflow (new file: .github/workflows/release.yml)
Trigger: every push to GTK3V2MAIN where all test jobs pass (artifacts, 14-day retention); additionally create a GitHub Release on version tags (v..*).
Package matrix:
- Linux x86-64: DEB + RPM + STGZ (ubuntu-latest)
- Linux ARM64: DEB (ubuntu-24.04-arm)
- macOS ARM64: tar.gz (Homebrew-dependent) + DMG (self-contained, unsigned — ready for volunteer signing)
- Windows x86-64: ZIP (DLLs bundled via ntldd) + NSIS installer (DLLs bundled)
All package jobs depend on (needs:) the full test matrix passing and use CMAKE_BUILD_TYPE=Release.
Am 03.06.26 um 20:32 schrieb Allen D Byrne:
variable naming might be confusing here. When XTRKCAD_USE_BROWSER is set
help texts are shown using the system's default browser like Safari on
Mac. If is not set a built-in html viewer is used that is based on webkit.
Also, as far as Ican see, webkit is not available for GTK3 so this might
be obsolete anyway