2026-10-04 19:15:57 +00:00
2026-09-19 20:31:36 +02:00
2026-09-22 19:44:01 +02:00

PKGBUILDS

Automated AUR packages, kept up to date by Gitea Actions on git.felo.gg.

Every 6 hours the update workflow checks each package's upstream for a new release. When one is found it:

  1. updates the PKGBUILD (pkgver/pkgrel/sha256sums),
  2. test-builds it with makepkg and regenerates .SRCINFO,
  3. commits the changes back to this repository, and
  4. pushes the package files to the AUR.

If a package fails to update, the notify workflow opens an issue for it. The issue closes once that package updates again.

Ground rule

This repository never hosts a binary. Every PKGBUILD sources what upstream published — a release tarball, .deb, wheel or AppImage — and either repackages it (-bin) or builds it (no suffix), exactly like any hand-written AUR package would. CI only bumps pkgver and the checksums.

This is not a style preference. The AUR submission guidelines say:

Packages that use prebuilt deliverables, when the sources are available, must use the -bin suffix. […] The AUR should not contain the binary tarball created by makepkg

A -bin package repackages what upstream ships. Building the software yourself, publishing the result as a release asset and having the AUR PKGBUILD download that makes this repository an unofficial binary repository — users can no longer verify that the package matches what upstream released. Packages set up that way were removed from the AUR in July 2026; do not reintroduce the pattern.

If upstream ships no Linux binary, there are exactly two options: build from source in the PKGBUILD (and drop the -bin suffix), or don't package it.

Packages

Package Upstream Upstream deliverable AUR
bottles-opener LoonixTools/bottles-opener — double-click a file and it opens in its Windows program inside Bottles, with the file types and icons from the bottle's registry built from source bottles-opener
bt-volume-step LoonixTools/bt-volume-step — corrects the coarse internal volume grid of Bluetooth audio devices on PipeWire built from source bt-volume-step
cachy-auto-update LoonixTools/cachy-auto-update — unattended background updates for CachyOS (pacman, AUR, Flatpak, AppImages) built from source cachy-auto-update
capture-studio-bin tenzen.studio: Capture Studio by Tenzen Studio, screen recorder and editor for product demos (proprietary Electron app). Called tenzen-studio-bin before Flatpak bundle capture-studio-bin
chiaki-ng-bin streetpea/chiaki-ng — PlayStation Remote Play client (Qt6) AppImage chiaki-ng-bin
chromium-widevine-helper GloriousEggroll/chromium-widevine-helper — extension + native helper installing Google's Widevine CDM into Chromium-based browser profiles no build step chromium-widevine-helper
concat jub0t/Concat — free and open-source CapCut replacement (a Slint window over a Rust video engine) built from source concat
concat-bin jub0t/Concat — prebuilt release of concat .deb concat-bin
concat-git jub0t/Concat — main branch of concat built from source concat-git
face-unlock LoonixTools/face-unlock: Face ID for Linux, for the lock screen, sudo and admin prompts on Plasma, GNOME, Hyprland and Niri, with a photo check (C++/Qt6, OpenCV). Called plasma-face-unlock before 2.0.0 built from source face-unlock
face-unlock-bin LoonixTools/face-unlock: prebuilt release of face-unlock, with OpenCV linked in tarball (built on Arch) face-unlock-bin
faugus-launcher-bin Faugus/faugus-launcher — launcher for Windows games via UMU-Launcher .deb (all) faugus-launcher-bin
fluxer-bin fluxer.app — Fluxer desktop client (Electron) tarball fluxer-bin
kitty-tune-bin alan7383/KittyTuneDesktop — SoundCloud and YouTube music player (Kotlin/Compose Multiplatform) .deb kitty-tune-bin
lunar-client-bin lunarclient.com — Minecraft PvP modpack launcher AppImage lunar-client-bin
middleclick-autoscroll LoonixTools/middleclick-autoscroll — enables middle-click autoscroll in every application that supports it built from source middleclick-autoscroll
modrinth-app-bin modrinth/code — Minecraft mod manager/launcher .deb modrinth-app-bin
modrinth-enhanced Felitendo/Modrinth-Enhanced — Modrinth App without ads or telemetry, with offline and Ely.by accounts (a patch series on top of each Modrinth App release) built from source modrinth-enhanced
modrinth-enhanced-bin Felitendo/Modrinth-Enhanced — prebuilt release of modrinth-enhanced .deb modrinth-enhanced-bin
moondeckbuddy FrogTheFrog/moondeck-buddy — host companion of the MoonDeck Steam Deck plugin (C++/Qt6) built from source moondeckbuddy
moondeckbuddy-bin FrogTheFrog/moondeck-buddy — prebuilt release of moondeckbuddy AppImage not published yet
moonlight-vrr Nonary/moonlight-qt: fork of the Moonlight game streaming client with smooth VRR pacing and the PyroWave codec (C++/Qt6) built from source moonlight-vrr
moonlight-vrr-bin Nonary/moonlight-qt: prebuilt release of moonlight-vrr, built by upstream without Wayland support (runs through XWayland) AppImage moonlight-vrr-bin
nextcloud-native Obiente/native — adaptive native Nextcloud client for files, media and installed server apps (Compose Multiplatform, unofficial) built from source nextcloud-native
nextcloud-native-bin Obiente/native — prebuilt release of nextcloud-native .deb nextcloud-native-bin
nextcloud-native-git Obiente/native — main branch of nextcloud-native built from source nextcloud-native-git
plezy-bin edde746/plezy — Plex, Jellyfin and Emby client (Flutter); the source package lives in extra .deb plezy-bin
schist Infrawrench/schist: layered image editor with PSD and Affinity support (Rust/gpui, alpha) built from source schist
schist-bin Infrawrench/schist: prebuilt release of schist .pkg.tar.zst schist-bin
sharpemu-bin sharpemu/sharpemu — experimental PlayStation 5 emulator tarball sharpemu-bin
snapx-bin SnapXL/SnapX — ShareX-fork screenshot/sharing tool self-contained tarball snapx-bin
untix ostfriese4/untix: "Timetable", a GTK4 + LibAdwaita client for WebUntis. Called untis and timetable on the AUR before built from source untix
untix-git ostfriese4/untix: main branch of untix built from source untix-git
vacuumtube-bin shy1132/VacuumTube — YouTube Leanback (TV UI) with built-in adblocker .deb vacuumtube-bin
waydroid-helper-bin waydroid-helper/waydroid-helper — GTK4 GUI for Waydroid configuration and extensions AppImage waydroid-helper-bin
wiiudownloader-bin Xpl0itU/WiiUDownloader — Wii U title downloader (Go + GTK4) AppImage wiiudownloader-bin
zapzap-bin rafatosta/zapzap — WhatsApp desktop client (PyQt6 + WebEngine) wheel zapzap-bin

Setup (one-time)

  1. Create an AUR account and add an SSH public key to it (AUR account settings).
  2. Add the matching private key as a repository secret named AUR_SSH_PRIVATE_KEY (Settings → Actions → Secrets → Add secret), base64-encoded on one line (base64 -w0 < key). The Gitea runner prints each step's environment and does not mask a multi-line secret, so a plain key would end up in the log.
  3. Optionally set the repository variable AUR_GIT_NAME and the repository secret AUR_GIT_EMAIL to control the commit identity used on the AUR (defaults: Felitendo / the maintainer's old GitHub noreply address).
  4. Optionally add a GitHub token (no scopes needed) as the secret GITHUB_API_TOKEN. Packages ask the GitHub API about upstream releases; without a token those calls are anonymous and share 60 per hour.

The runner needs the ubuntu-latest label and Docker: every package is built in an archlinux:base-devel container.

The first push to ssh://aur@aur.archlinux.org/<pkgname>.git creates the AUR package automatically.

Adding a package

Check first that upstream actually publishes a Linux binary, that the package is not already in the official repositories (the AUR rejects the push outright: "package already provided by [extra]"), and that the AUR does not already carry an equivalent package — a -bin next to a maintained source package is fine, a second copy of the same thing is not.

Then create a directory named after the AUR package containing:

  • PKGBUILD — sources upstream's release URLs directly. pkgver, pkgrel and sha256sums are maintained by CI, so keep sha256sums on a single line.

  • pkg.sh — bash sourced by scripts/update-package.sh, defining:

    • latest_version — prints the latest upstream version, no v prefix. A channel that has stopped pointing at a release can return 75 (EX_TEMPFAIL) instead: the run then warns, keeps the version the PKGBUILD has and carries on, so packaging changes still reach the AUR (fluxer-bin).
    • refresh_checksums <version> <pkgbuild-path> — updates the sha256sums* lines for that version. If the asset name carries build metadata that does not follow from pkgver (see snapx-bin, faugus-launcher-bin), resolve it via the GitHub API here and sync an _asset variable in the PKGBUILD too.
    • BUILD_DEPS — optional array of Arch packages to install before the CI test build; only needed by packages that build from source or need a tool to unpack upstream's deliverable (capture-studio-bin: ostree).
    • AUR_PUBLISH — optional; set to false to keep a package out of the AUR while it is still being prepared. Everything else still runs, so the PKGBUILD is kept current and test-built; only the publishing waits. Flip it to true to go live (moondeckbuddy-bin). face-unlock-bin sets it itself: it goes live with the first release that has its tarball.

    Other local source files in the directory (.desktop files, patches, …) are pushed to the AUR alongside PKGBUILD and .SRCINFO.

The workflow discovers package directories automatically. Trigger a run manually via Actions → Update AUR packages → Run workflow to publish it immediately. To update only some packages, enter their directory names, separated by commas (e.g. concat, plezy-bin); leave the field empty to update all of them.

S
Description
No description provided
Readme
602 KiB
0 Stars 1 Watchers 0 Forks
Languages
Shell 90.3%
C 9.7%