Neither packaging/arch/PKGBUILD nor the Homebrew formula had been run since Phase 1, and both were still calling v2's CLI: `wails3 build` takes -tags, -obfuscated and -garbleargs and nothing else, so `-clean -trimpath -ldflags` fails at the flag parser. Both also installed from build/bin/, which is v2's output path — v3 writes to bin/, and build/ is tracked build assets now. Three more things the tree needs that neither recipe had. The tasks invoke `wails3` by bare name, so scripts/toolbin has to be on PATH or the build dies at its first sub-task. `wails3 build` has no -ldflags at all, and build:native computes BUILD_FLAGS in its own vars: so a CLI variable cannot override it — LDFLAGS_EXTRA is appended inside the production -ldflags string instead, on linux and darwin alike, empty by default so make build-dev/build-prod are unchanged. And bundling is a separate step from building: `task build` produces a bare binary on both platforms, so the formula's macOS path runs `task package`. The build assets were the scaffold's, not this app's. Info.plist named CFBundleExecutable `yjref` and com.example.yjref, nfpm packaged ./bin/yjref, the .desktop template said "A yjref application" — an .app built from that plist would not have launched. They generate from build/config.yml, whose info block had never been filled from wails.json either; `wails3 task common:update:build-assets` is the fix. nfpm's homepage and license are not derived from it and are set by hand, which is noted in place, and the refresh regenerates build/ios and build/android, which this repo does not carry. arch-package.yml's pacman list moves to webkitgtk-6.0/gtk4 to match the PKGBUILD's depends(): makepkg installs nothing itself, so a mismatch fails at link time rather than at check time. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UDCbcCZQepnpSQYJ6SxxZm
84 lines
2.3 KiB
YAML
84 lines
2.3 KiB
YAML
# Feel free to remove those if you don't want/need to use them.
|
|
# Make sure to check the documentation at https://nfpm.goreleaser.com
|
|
#
|
|
# The lines below are called `modelines`. See `:help modeline`
|
|
|
|
name: "yellowjacket"
|
|
arch: ${GOARCH}
|
|
platform: "linux"
|
|
version: "1.3.0"
|
|
section: "default"
|
|
priority: "extra"
|
|
maintainer: ${GIT_COMMITTER_NAME} <${GIT_COMMITTER_EMAIL}>
|
|
description: "Cross-platform desktop music player — local library, MusicBrainz explore & auto-tag"
|
|
vendor: "yellowjacket"
|
|
# homepage and license are NOT derived from build/config.yml, so
|
|
# `wails3 task common:update:build-assets` leaves them alone — everything
|
|
# above them is regenerated from that file and hand edits there are lost.
|
|
homepage: "https://git.ljones.me/yonlu/yellowjacket"
|
|
license: "custom" # see the repository; packaging/arch/PKGBUILD says the same
|
|
release: "1"
|
|
|
|
contents:
|
|
- src: "./bin/yellowjacket"
|
|
dst: "/usr/local/bin/yellowjacket"
|
|
- src: "./build/appicon.png"
|
|
dst: "/usr/share/icons/hicolor/128x128/apps/yellowjacket.png"
|
|
- src: "./build/linux/yellowjacket.desktop"
|
|
dst: "/usr/share/applications/yellowjacket.desktop"
|
|
|
|
# Default dependencies for the GTK4 + WebKitGTK 6.0 stack (Ubuntu 24.04+ / Debian 13+)
|
|
depends:
|
|
- libgtk-4-1
|
|
- libwebkitgtk-6.0-4
|
|
|
|
# Distribution-specific overrides for different package formats
|
|
overrides:
|
|
# RPM packages for Fedora / RHEL / AlmaLinux / Rocky Linux
|
|
rpm:
|
|
depends:
|
|
- gtk4
|
|
- webkitgtk6.0
|
|
|
|
# Arch Linux packages
|
|
archlinux:
|
|
depends:
|
|
- gtk4
|
|
- webkitgtk-6.0
|
|
|
|
# scripts section to ensure desktop database is updated after install
|
|
scripts:
|
|
postinstall: "./build/linux/nfpm/scripts/postinstall.sh"
|
|
# You can also add preremove, postremove if needed
|
|
# preremove: "./build/linux/nfpm/scripts/preremove.sh"
|
|
# postremove: "./build/linux/nfpm/scripts/postremove.sh"
|
|
|
|
# If you build your app with -tags gtk3 (legacy WebKit2GTK 4.1 stack — supported through v3.0.x, removed in v3.1),
|
|
# replace the depends/overrides above with these:
|
|
#
|
|
# depends:
|
|
# - libgtk-3-0
|
|
# - libwebkit2gtk-4.1-0
|
|
# overrides:
|
|
# rpm:
|
|
# depends:
|
|
# - gtk3
|
|
# - webkit2gtk4.1
|
|
# archlinux:
|
|
# depends:
|
|
# - gtk3
|
|
# - webkit2gtk-4.1
|
|
#
|
|
# replaces:
|
|
# - foobar
|
|
# provides:
|
|
# - bar
|
|
# recommends:
|
|
# - whatever
|
|
# suggests:
|
|
# - something-else
|
|
# conflicts:
|
|
# - not-foo
|
|
# - not-bar
|
|
# changelog: "changelog.yaml"
|