Phase 1 of plan 009. The app still builds and runs on v2 — nothing in main.go or backend/ has moved yet — but the v3 CLI, its pinned runtime and its build-asset tree are now present, which is what Phase 2 needs. - wails/v3 v3.0.0-beta.8 pinned per D5, and wails3 added to the `tool` block beside the v2 CLI per D3. Both are vendored; neither is a global install. - build/ now holds the v3 build assets, copied wholesale from a `wails3 init` scaffold rather than hand-written. That collides with this repo's existing use of build/ as ignored build *output*, so .gitignore narrows to build/bin/ and bin/ and the assets are tracked. The mobile platforms are not carried: this is a desktop player (MPRIS over D-Bus, beep, XDG paths) and cannot target them. - build/config.yml's info block is filled from wails.json, which stays for now because the v2 CLI still reads it. - Taskfile.yml defaults PACKAGE_MANAGER to pnpm, since the scaffold assumes npm and frontend/package.json.md5 is part of the dep-caching scheme. One deviation from the plan worth recording. webkitgtk-6.0 is not installed on this machine, so the default GTK4 path is unavailable and the gtk3 fallback is in use. That also means `go tool wails3` does not work — the CLI itself fails to compile without webkitgtk-6.0 — while `go run -tags gtk3 .../cmd/wails3` does. The Makefile rewrite in the next commit has to account for that, and it goes away once the GTK4 dependency is installed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UDCbcCZQepnpSQYJ6SxxZm
81 lines
1.9 KiB
YAML
81 lines
1.9 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: "yjref"
|
|
arch: ${GOARCH}
|
|
platform: "linux"
|
|
version: "0.1.0"
|
|
section: "default"
|
|
priority: "extra"
|
|
maintainer: ${GIT_COMMITTER_NAME} <${GIT_COMMITTER_EMAIL}>
|
|
description: "A yjref application"
|
|
vendor: "My Company"
|
|
homepage: "https://wails.io"
|
|
license: "MIT"
|
|
release: "1"
|
|
|
|
contents:
|
|
- src: "./bin/yjref"
|
|
dst: "/usr/local/bin/yjref"
|
|
- src: "./build/appicon.png"
|
|
dst: "/usr/share/icons/hicolor/128x128/apps/yjref.png"
|
|
- src: "./build/linux/yjref.desktop"
|
|
dst: "/usr/share/applications/yjref.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"
|