wails/v3
Lea Anthony 9f96439ba1
feat: Add distribution-specific build dependencies for Linux (#4339) (#4345)
* feat: Add distribution-specific dependencies using nfpm overrides

Implements feature #4339 by enhancing the nfpm.yaml.tmpl to use nfpm's built-in
overrides feature for different Linux distributions and package formats.

## Changes Made:

### Enhanced nfpm configuration with overrides:
- **Default**: Debian 12/Ubuntu 22.04+ with WebKit 4.1 dependencies
  - Uses libgtk-3-dev, libwebkit2gtk-4.1-dev, build-essential, pkg-config
- **RPM override**: RHEL/CentOS/AlmaLinux/Rocky Linux with WebKit 4.0 dependencies
  - Uses gtk3-devel, webkit2gtk3-devel, gcc-c++, pkg-config
- **Arch override**: Arch Linux with WebKit 4.1 dependencies
  - Uses gtk3, webkit2gtk-4.1, base-devel, pkgconf

This approach uses nfpm's native override system to automatically select
the correct dependencies based on the target package format, ensuring
that each distribution gets the appropriate WebKit version and package names.

### How it works:
- DEB packages get WebKit 4.1 dependencies (default)
- RPM packages get WebKit 4.0 dependencies (RHEL/CentOS compatibility)
- Arch packages get WebKit 4.1 dependencies with Arch-specific package names

Fixes #4339

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* feat: Enhance wails doctor with WebKit fallback support

Improves the doctor command to better detect WebKit dependencies across
different Linux distributions by adding fallback package support.

## Changes Made:

### Enhanced Package Manager Detection:
- **APT (Debian/Ubuntu)**: Added WebKit 4.1 → 4.0 fallback support
- **DNF (Fedora/RHEL)**: Added webkit2gtk4.0-devel fallback for older systems
- **Zypper (SUSE)**: Added webkit2gtk4_1-devel for modern SUSE distributions
- **Emerge (Gentoo)**: Added support for both webkit-gtk:6 and webkit-gtk:4 slots
- **Pacman (Arch)**: Added fallback from webkit2gtk-4.1 to webkit2gtk

### Improved Developer Experience:
- Doctor command now tries newer WebKit versions first, falls back gracefully
- Provides more accurate dependency detection across distributions
- Better guidance for developers on different Linux systems

### How It Works:
- Each package manager lists multiple WebKit package options in order of preference
- The dependency system tries packages in order until it finds one that's available
- Developers get appropriate installation commands for their specific distribution

This complements the nfpm overrides by ensuring developers can properly
set up their development environment regardless of distribution.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* update changelog

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-07-11 21:03:33 +10:00
..
cmd/wails3 Add wails3 tool version command 2025-04-23 10:29:51 +10:00
examples Refactor Manager API to use singular naming convention (#4367) 2025-06-22 12:19:14 +10:00
internal feat: Add distribution-specific build dependencies for Linux (#4339) (#4345) 2025-07-11 21:03:33 +10:00
pkg Fix window visibility issue #2861 - initialize showRequested based on Hidden option 2025-07-06 15:55:36 +10:00
tasks Refactor Manager API to use singular naming convention (#4367) 2025-06-22 12:19:14 +10:00
test/docker feat: Complete App API restructuring with organized manager pattern (#4359) 2025-06-21 19:51:14 +10:00
tests/window-visibility-test Refactor Manager API to use singular naming convention (#4367) 2025-06-22 12:19:14 +10:00
wep [WEP] Customise Window Titlebars (#3508) 2024-06-08 13:42:27 +10:00
.gitignore Refactor Manager API to use singular naming convention (#4367) 2025-06-22 12:19:14 +10:00
.prettierignore chore: add Prettier as format tool (#2689) 2023-05-30 07:40:54 +10:00
.prettierrc.yml chore: add Prettier as format tool (#2689) 2023-05-30 07:40:54 +10:00
go.mod fix: Implement robust cross-platform window visibility fallback for issue #2861 2025-06-14 12:59:44 +10:00
go.sum fix: Implement robust cross-platform window visibility fallback for issue #2861 2025-06-14 12:59:44 +10:00
README.md Update doc dependencies 2023-09-08 10:57:47 +10:00
Taskfile.yaml fix: remove conflicting dir setting in test:examples task 2025-07-02 19:47:29 +10:00
TESTING.md feat: Complete App API restructuring with organized manager pattern (#4359) 2025-06-21 19:51:14 +10:00

v3 Alpha

Thanks for wanting to help out with testing/developing Wails v3! This guide will help you get started.

Getting Started

All the instructions for getting started are in the v3 documentation directory: mkdocs-website. Please read the README.md file in that directory for more information.