Skip to content

build(aur): add flow-desktop-bin and flow-desktop packages - #145

Merged
A-EDev merged 3 commits into
mainfrom
build/aur-packages
Oct 20, 2026
Merged

A-EDev merged 3 commits into
mainfrom
build/aur-packages

Conversation

@A-EDev

@A-EDev A-EDev commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • packaging/aur/flow-desktop-bin: repackages the release .deb for x86_64 and aarch64.
  • packaging/aur/flow-desktop: builds the tagged source with pnpm tauri build --bundles deb (updater artifacts off, prerelease config for beta tags, as release.yml does) and installs that .deb the same way.
  • Both install the binary as /usr/bin/flow-desktop, because the AUR's flow and flow-bin (Facebook's type checker) own /usr/bin/flow. They point the desktop file's Exec and StartupWMClass at it, and add the empty /usr/lib/<product>/distro-managed marker that feat(updater): turn off in-app updates for Flatpak, package-manager and unbundled installs #144 reads to keep the in-app updater off.
  • Runtime depends: webkit2gtk-4.1, gtk3, libsoup3, nodejs, gst-plugins-base/good/bad, gst-libav and the libraries the binary links directly. No tray, openssl or xdo packages: tray-icon is off and the lockfile has neither.
  • The source build appends --cfg reqwest_unstable to RUSTFLAGS, because makepkg sets RUSTFLAGS and Cargo then ignores .cargo/config.toml. It also sets pnpm_config_pm_on_fail=warn, so Arch's pnpm 12 is used instead of downloading the pinned 11.9.0.
  • pkgver maps 0.1.0-beta3 to 0.1.0beta3, which vercmp sorts below 0.1.0.
  • New AUR packages workflow (manual, and on PRs that touch packaging/aur/) in an archlinux:base-devel container. It builds both packages, runs namcap, checks .SRCINFO against makepkg --printsrcinfo, installs each package and checks the binary, sidecar, marker, ldd and desktop entry.
  • packaging/aur/README.md covers updating and publishing. The PKGBUILDs stay pinned to the latest published release (v0.1.0-beta2) so the workflow has real assets. The first AUR publish should be v0.1.0-beta3 or later, since earlier builds predate fix(sidecar): find bundled scripts in the Tauri resource folder #143 and feat(updater): turn off in-app updates for Flatpak, package-manager and unbundled installs #144.

Related issue

Closes #38

Change type

  • Bug fix
  • Feature
  • Refactor or maintenance
  • Documentation
  • Build, packaging, or CI

Validation

  • pnpm test
  • pnpm build
  • cargo fmt --manifest-path src-tauri/Cargo.toml --all -- --check
  • cargo clippy --manifest-path src-tauri/Cargo.toml --all-targets --all-features
  • cargo test --manifest-path src-tauri/Cargo.toml --all-targets --all-features
  • I smoke-tested the affected desktop behavior.

No app code changed, so the app checks were not rerun. Done on macOS:

  • bash -n and shellcheck on both PKGBUILDs (only the usual makepkg-variable warnings). The workflow YAML parses, and its run: blocks pass shellcheck.
  • Each .SRCINFO matches a script that mirrors makepkg --printsrcinfo.
  • The install steps were run against the real v0.1.0-beta2 .deb (amd64 and arm64 checksums match GitHub's asset digests) and produced the expected tree.

Not run locally (no Arch or container runtime here): makepkg, namcap, the full source build and the pacman install. The new workflow covers these on x86_64 only.

Screenshots or recordings

Risk and compatibility

  • Packaging only. No migrations, database, permission or network changes in the app.

  • The AUR packages use the system WebKitGTK and GStreamer instead of the AppImage's bundled copies.

  • Prerelease packages install as "Flow Beta" with the beta identifier and data folder, the same as the beta .deb.

  • StartupWMClass=flow-desktop assumes the window class follows the binary name; xprop WM_CLASS on a device confirms it.

  • The source build takes about 20 minutes and needs Rust, pnpm and Node on the user's machine.

  • No new secrets, private data, telemetry, or broad Tauri permissions were introduced.

  • User-facing documentation was updated where needed.

  • Dependency and lockfile changes are intentional and limited to this PR.

  • Breaking changes and upgrade steps are clearly documented.

Copilot AI balanced review requested due to automatic review settings October 20, 2026 14:38

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@A-EDev
A-EDev force-pushed the build/aur-packages branch from b637a6f to 9a770f4 Compare October 20, 2026 16:44
@A-EDev
A-EDev merged commit bb14e71 into main Oct 20, 2026
6 checks passed
@A-EDev
A-EDev deleted the build/aur-packages branch October 29, 2026 21:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: PKGBUILD for Arch-based distros

2 participants