PKGBUILDS

Automated AUR packages, kept up to date by GitHub Actions.

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.

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
bt-volume-step Felitendo/bt-volume-step — corrects the coarse internal volume grid of Bluetooth audio devices on PipeWire built from source bt-volume-step
cachy-auto-update Felitendo/cachy-auto-update — unattended background updates for CachyOS (pacman, AUR, Flatpak, AppImages) built from source cachy-auto-update
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 not published yet
concat-bin jub0t/Concat — prebuilt release of concat self-contained tarball not published yet
concat-git jub0t/Concat — main branch of concat built from source concat-git
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
lunar-client-bin lunarclient.com — Minecraft PvP modpack launcher AppImage lunar-client-bin
middleclick-autoscroll Felitendo/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
nextcloud-native Obiente/nc-native — adaptive native Nextcloud client for files, media and installed server apps (Compose Multiplatform, unofficial) built from source nextcloud-native
nextcloud-native-bin Obiente/nc-native — prebuilt release of nextcloud-native .deb nextcloud-native-bin
nextcloud-native-git Obiente/nc-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
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
timetable ostfriese4/untis — "Timetable", a GTK4 + LibAdwaita client for WebUntis built from source timetable
vacuumtube-bin shy1132/VacuumTube — YouTube Leanback (TV UI) with built-in adblocker .deb vacuumtube-bin
waydroid-helper-bin ayasa520/waydroid-helper — GTK4 GUI for Waydroid configuration and extensions AppImage waydroid-helper-bin
wiiudownloader-bin Xpl0itU/WiiUDownloader — Wii U title downloader (Go + GTK3) 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 → Secrets and variables → Actions → New repository secret).
  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 GitHub noreply address).

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.
    • 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.
    • 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 (concat, concat-bin).

    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.

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