Document GTK4 blocker in README and devel-setup.sh
Tauri v2's Linux backend hard-depends on GTK3 + webkit2gtk-4.1; GTK4 support is tracked upstream (tauri#7335, tao#1104, wry#1228) but unmerged with no ETA. Note this so it isn't re-investigated from scratch later. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
17
README.md
17
README.md
@@ -31,6 +31,14 @@ Both default to the OS app-data dir (e.g. `~/.local/share/com.garrettmills.mtgc/
|
||||
npm install # frontend deps
|
||||
```
|
||||
|
||||
> **Why GTK3, not GTK4?** Tauri v2's Linux backend (`wry`/`tao`) hard-depends on
|
||||
> GTK3 + `webkit2gtk-4.1`; there's no GTK4/webkitgtk-6.0 option yet. GTK4 support is
|
||||
> tracked upstream but unmerged with no ETA:
|
||||
> [tauri#7335](https://github.com/tauri-apps/tauri/issues/7335),
|
||||
> [tao#1104](https://github.com/tauri-apps/tao/pull/1104),
|
||||
> [wry#1228](https://github.com/tauri-apps/wry/issues/1228). Revisit once Tauri
|
||||
> ships GTK4 support (likely Tauri v3).
|
||||
|
||||
## Run
|
||||
|
||||
```bash
|
||||
@@ -63,24 +71,19 @@ Outputs (under the workspace `target/release/`):
|
||||
libraries (`webkit2gtk4.1`, `gtk3`), so those must be present on the machine that
|
||||
runs it — they are on any modern desktop Linux and are installed by
|
||||
`devel-setup.sh`.
|
||||
- **`target/release/bundle/appimage/*.AppImage`** — a single portable file that
|
||||
bundles the app together with its runtime. This is the closest thing to a
|
||||
download-and-run **single self-contained binary**: `chmod +x` it and run.
|
||||
**Recommended** for copying to another machine.
|
||||
- **`target/release/bundle/rpm/*.rpm`** and **`.../deb/*.deb`** — native installers
|
||||
(Fedora / Debian-based) that add a menu entry and icon.
|
||||
|
||||
Useful variants:
|
||||
|
||||
```bash
|
||||
cargo tauri build --bundles appimage # only the portable AppImage, skip installers
|
||||
cargo tauri build --no-bundle # only the bare target/release/mtgc-app binary
|
||||
```
|
||||
|
||||
Notes:
|
||||
|
||||
- On Linux the truly portable single file is the **AppImage**; the bare `mtgc-app`
|
||||
binary is also a single file but relies on the system WebKit/GTK libs.
|
||||
- The `mtgc-app` binary is a single file but relies on the system WebKit/GTK libs
|
||||
being present (installed by `devel-setup.sh`).
|
||||
- The binary does **not** embed card data — first run still downloads the Scryfall
|
||||
bulk into the OS app-data dir, and your synced `library.db` lives there by default
|
||||
(override with *Choose library file…*).
|
||||
|
||||
@@ -33,6 +33,11 @@ else
|
||||
fi
|
||||
|
||||
# --- 2. Tauri v2 system libraries (Fedora / dnf) ---------------------------
|
||||
#
|
||||
# These are GTK3 packages by necessity, not choice: Tauri v2's Linux backend
|
||||
# (wry/tao) hard-depends on GTK3 + webkit2gtk-4.1. GTK4 support is tracked
|
||||
# upstream but unmerged with no ETA — see the README's "Why GTK3, not GTK4?"
|
||||
# note (tauri#7335, tao#1104, wry#1228) before "fixing" this in isolation.
|
||||
|
||||
FEDORA_PKGS=(
|
||||
webkit2gtk4.1-devel
|
||||
|
||||
Reference in New Issue
Block a user