Compare commits

..
Author SHA1 Message Date
Felitendo 8c0d79f9c0 gearlever-bin, bottles-bin: bundle AUR-only dependencies
gearlever-bin: ship ftputil + desktop-entry-lib inside /usr/share/gearlever
(pinned via upstream requirements.txt) instead of depending on the AUR
packages.

bottles-bin: build the fvs2 CLI (with its core library) from source and
bundle it under /usr/lib/bottles (Bottles patched to use that path), and
ship patool, pathvalidate and vkbasalt-cli in /usr/share/bottles. vkbasalt
becomes an optdepend. Installing either package now needs no AUR builds.
2026-07-24 10:52:43 +02:00
Felitendo 4c008fd3e4 waydroid-helper-bin: add package (0.2.9-1) 2026-07-24 10:39:29 +02:00
Felitendo 14deed65d7 gnome-network-displays-bin: add package (0.99.0-1) 2026-07-24 10:31:31 +02:00
github-actions[bot] 254a666c0d chiaki-ng-bin: update to 1.10.0-1 [skip ci] 2026-07-24 08:00:07 +00:00
Felitendo 83db919716 chiaki-ng-bin: apply Qt6GuiPrivate patch only when the tag lacks the fix 2026-07-24 09:56:46 +02:00
github-actions[bot] f42572b41a linux-wallpaperengine-bin: update to r627.b016d7d-1 [skip ci] 2026-07-24 07:32:57 +00:00
github-actions[bot] 1515c673ea bazaar-bin: update to 0.9.1-1 [skip ci] 2026-07-24 07:20:52 +00:00
19 changed files with 373 additions and 22 deletions

No files matched your search

+2
View File
@@ -42,6 +42,8 @@ users don't need any build dependencies.
| `bazaar-bin` | [bazaar-org/bazaar](https://github.com/bazaar-org/bazaar) — GNOME app store for flatpaks/Flathub | [bazaar-bin](https://aur.archlinux.org/packages/bazaar-bin) |
| `snapx-bin` | [SnapXL/SnapX](https://github.com/SnapXL/SnapX) — ShareX-fork screenshot/sharing tool (repackaged upstream bundle) | [snapx-bin](https://aur.archlinux.org/packages/snapx-bin) |
| `chiaki-ng-bin` | [streetpea/chiaki-ng](https://github.com/streetpea/chiaki-ng) — PlayStation Remote Play client (Qt6) | [chiaki-ng-bin](https://aur.archlinux.org/packages/chiaki-ng-bin) |
| `gnome-network-displays-bin` | [GNOME/gnome-network-displays](https://gitlab.gnome.org/GNOME/gnome-network-displays) — GNOME screencasting (Miracast/Chromecast) | [gnome-network-displays-bin](https://aur.archlinux.org/packages/gnome-network-displays-bin) |
| `waydroid-helper-bin` | [ayasa520/waydroid-helper](https://github.com/ayasa520/waydroid-helper) — GTK4 GUI for Waydroid configuration and extensions | [waydroid-helper-bin](https://aur.archlinux.org/packages/waydroid-helper-bin) |
## Setup (one-time)
+39
View File
@@ -0,0 +1,39 @@
pkgbase = bazaar-bin
pkgdesc = App store for GNOME with a focus on flatpaks and Flathub (prebuilt)
pkgver = 0.9.1
pkgrel = 1
url = https://github.com/bazaar-org/bazaar
arch = x86_64
license = GPL-3.0-only
depends = appstream
depends = cairo
depends = dconf
depends = flatpak
depends = glib2
depends = glycin
depends = glycin-gtk4
depends = graphene
depends = gtk4
depends = gtksourceview5
depends = json-glib
depends = libadwaita
depends = libdex
depends = libheif
depends = libmalcontent
depends = libproxy
depends = libsecret
depends = libsoup3
depends = libxmlb
depends = libyaml
depends = md4c
depends = pango
depends = webkitgtk-6.0
depends = hicolor-icon-theme
optdepends = krunner-bazaar: krunner integration
optdepends = malcontent: parental controls
provides = bazaar
conflicts = bazaar
source = https://github.com/Felitendo/PKGBUILDS/releases/download/bazaar-bin-0.9.1/bazaar-bin-0.9.1.tar.zst
sha256sums = 236a8b672a9a67de9a240450f527b119bb4cbdfa0533e49578589fe83638e3dc
pkgname = bazaar-bin
+2 -2
View File
@@ -3,7 +3,7 @@
# https://github.com/Felitendo/PKGBUILDS
pkgname=bazaar-bin
pkgver=0
pkgver=0.9.1
pkgrel=1
pkgdesc="App store for GNOME with a focus on flatpaks and Flathub (prebuilt)"
arch=('x86_64')
@@ -18,7 +18,7 @@ optdepends=('krunner-bazaar: krunner integration'
provides=('bazaar')
conflicts=('bazaar')
source=("https://github.com/Felitendo/PKGBUILDS/releases/download/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.zst")
sha256sums=('SKIP')
sha256sums=('236a8b672a9a67de9a240450f527b119bb4cbdfa0533e49578589fe83638e3dc')
package() {
cp -a "$srcdir/usr" "$pkgdir/"
+6 -6
View File
@@ -9,14 +9,14 @@ pkgdesc="Easily manage wine and proton prefixes (prebuilt)"
arch=('any')
url="https://usebottles.com"
license=('GPL-3.0-only')
depends=('fvs2' 'gtk4' 'gtksourceview5' 'hicolor-icon-theme' 'icoextract'
'libadwaita' 'libportal-gtk4' 'patool' 'python' 'python-cairo'
depends=('gtk4' 'gtksourceview5' 'hicolor-icon-theme' 'icoextract'
'libadwaita' 'libportal-gtk4' 'python' 'python-cairo'
'python-certifi' 'python-chardet' 'python-charset-normalizer'
'python-gobject' 'python-idna' 'python-markdown' 'python-orjson'
'python-pathvalidate' 'python-pefile' 'python-pycurl'
'python-requests' 'python-urllib3' 'python-yaml' 'python-yara'
'vkbasalt-cli')
optdepends=('vulkan-tools: vkcube test / Vulkan info'
'python-pefile' 'python-pycurl'
'python-requests' 'python-urllib3' 'python-yaml' 'python-yara')
optdepends=('vkbasalt: post-processing layer that applies the configured effects'
'vulkan-tools: vkcube test / Vulkan info'
'xorg-xdpyinfo: display info detection'
'imagemagick: icon/image conversion'
'vmtouch: preload bottle files into memory'
+33 -1
View File
@@ -9,12 +9,18 @@
UPSTREAM_REPO="bottlesdevs/Bottles"
# fvs-lab/fvs2 (+ its core library) is AUR-only, so the binary is built here
# and bundled under /usr/lib/bottles. Versions pinned to the combination the
# AUR fvs2 package ships; bump on new fvs2 releases.
FVS2_VERSION=0.8.1
FVS2_CORE_VERSION=0.1.1
# Installed in CI (pacman) before build_artifact runs. blueprint-compiler
# resolves Gtk/Adw/GtkSource imports via their typelibs, hence the GUI libs.
BUILD_DEPS=(meson ninja blueprint-compiler gobject-introspection
desktop-file-utils appstream-glib gettext glib2-devel
python python-gobject gtk4 libadwaita gtksourceview5
libportal-gtk4)
libportal-gtk4 go python-pip)
latest_version() {
gh api "repos/$UPSTREAM_REPO/releases/latest" --jq '.tag_name' | sed 's/^v//'
@@ -33,9 +39,35 @@ build_artifact() {
patch -d "$srctree" -p1 < "$pkgdir/remove-flatpak-checks.patch"
# the bundled fvs2 lives outside $PATH; point Bottles at it
grep -q 'return "fvs2"' "$srctree/bottles/fvs/repo.py" \
|| { echo "fvs2 path hook not found in bottles/fvs/repo.py" >&2; return 1; }
sed -i 's|return "fvs2"|return "/usr/lib/bottles/fvs2"|' "$srctree/bottles/fvs/repo.py"
meson setup "$workdir/build" "$srctree" --prefix=/usr --buildtype=release
meson install -C "$workdir/build" --destdir "$destdir"
# Build the fvs2 CLI (Go) and bundle it. Its "core" library is a sibling
# repository that go.mod expects next to the source tree.
mkdir -p "$workdir/fvs" "$destdir/usr/lib/bottles"
curl -sfL "https://github.com/fvs-lab/fvs2/archive/refs/tags/v$FVS2_VERSION.tar.gz" | tar -xz -C "$workdir/fvs"
curl -sfL "https://github.com/fvs-lab/core/archive/refs/tags/v$FVS2_CORE_VERSION.tar.gz" | tar -xz -C "$workdir/fvs"
ln -s "core-$FVS2_CORE_VERSION" "$workdir/fvs/core"
(cd "$workdir/fvs/fvs2-$FVS2_VERSION" && \
GOPATH="$workdir/gopath" \
GOFLAGS="-buildmode=pie -trimpath -mod=readonly -modcacherw" \
go build -o "$destdir/usr/lib/bottles/fvs2" ./cmd/fvs2)
# patool, pathvalidate and vkbasalt-cli are AUR-only pure-python libs;
# bundle them into the app's module dir, which the launcher puts on
# sys.path. patool/pathvalidate pinned via upstream's requirements.txt.
grep -E '^(patool|pathvalidate)==' "$srctree/requirements.txt" > "$workdir/bundle-reqs.txt"
[[ "$(wc -l < "$workdir/bundle-reqs.txt")" -eq 2 ]] || { echo "expected patool+pathvalidate pins in requirements.txt" >&2; return 1; }
echo 'vkbasalt-cli' >> "$workdir/bundle-reqs.txt"
python -m pip install --isolated --no-deps --target "$destdir/usr/share/bottles" \
-r "$workdir/bundle-reqs.txt"
rm -rf "$destdir/usr/share/bottles/bin"
# These caches are generated by pacman hooks; shipping them would cause
# file conflicts on install.
rm -f "$destdir/usr/share/glib-2.0/schemas/gschemas.compiled" \
+40
View File
@@ -0,0 +1,40 @@
pkgbase = chiaki-ng-bin
pkgdesc = Free and Open Source PlayStation Remote Play client (prebuilt)
pkgver = 1.10.0
pkgrel = 1
url = https://streetpea.github.io/chiaki-ng/
arch = x86_64
license = LicenseRef-AGPL-3.0-only-OpenSSL
depends = curl
depends = ffmpeg
depends = fftw
depends = gcc-libs
depends = glibc
depends = hicolor-icon-theme
depends = hidapi
depends = json-c
depends = libidn2
depends = libplacebo
depends = libpsl
depends = libssh2
depends = miniupnpc
depends = openssl
depends = opus
depends = qt6-base
depends = qt6-declarative
depends = qt6-svg
depends = qt6-webengine
depends = sdl2
depends = speexdsp
depends = zlib
optdepends = intel-media-driver: vaapi backend for Intel GPUs [>= Broadwell]
optdepends = libva-intel-driver: vaapi backend for Intel GPUs [<= Haswell]
optdepends = libva-mesa-driver: vaapi backend for AMD GPUs
provides = chiaki-ng
provides = chiaki
conflicts = chiaki-ng
conflicts = chiaki
source = https://github.com/Felitendo/PKGBUILDS/releases/download/chiaki-ng-bin-1.10.0/chiaki-ng-bin-1.10.0.tar.zst
sha256sums = 76c55be0342c651a65ffe5df5ed14930d43b844590cac9f4ea67d23e80557599
pkgname = chiaki-ng-bin
+2 -2
View File
@@ -3,7 +3,7 @@
# https://github.com/Felitendo/PKGBUILDS
pkgname=chiaki-ng-bin
pkgver=0
pkgver=1.10.0
pkgrel=1
pkgdesc="Free and Open Source PlayStation Remote Play client (prebuilt)"
arch=('x86_64')
@@ -19,7 +19,7 @@ optdepends=('intel-media-driver: vaapi backend for Intel GPUs [>= Broadwell]'
provides=('chiaki-ng' 'chiaki')
conflicts=('chiaki-ng' 'chiaki')
source=("https://github.com/Felitendo/PKGBUILDS/releases/download/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.zst")
sha256sums=('SKIP')
sha256sums=('76c55be0342c651a65ffe5df5ed14930d43b844590cac9f4ea67d23e80557599')
package() {
cp -a "$srcdir/usr" "$pkgdir/"
+4 -1
View File
@@ -33,7 +33,10 @@ build_artifact() {
# use the system curl instead of the vendored submodule
git -C "$srctree" rm -q third-party/curl
sed -i 's:libcurl_shared:libcurl:' "$srctree/lib/CMakeLists.txt"
patch -d "$srctree" -p1 < "$pkgdir/Qt6GuiPrivate-fix.patch"
# newer tags (>= 1.10.0) carry the GuiPrivate fix themselves
if ! grep -q 'GuiPrivate' "$srctree/gui/CMakeLists.txt"; then
patch -d "$srctree" -p1 < "$pkgdir/Qt6GuiPrivate-fix.patch"
fi
git -C "$srctree" submodule update --init
CFLAGS="${CFLAGS:-} -std=gnu17" cmake -B "$workdir/build" -S "$srctree" -Wno-dev \
+2 -4
View File
@@ -1,7 +1,7 @@
pkgbase = gearlever-bin
pkgdesc = Manage AppImages with ease (prebuilt)
pkgver = 4.6.2
pkgrel = 1
pkgrel = 2
url = https://gearlever.mijorus.it
arch = any
license = GPL-3.0-or-later
@@ -15,8 +15,6 @@ pkgbase = gearlever-bin
depends = python-dbus
depends = python-requests
depends = python-pyxdg
depends = python-ftputil
depends = python-desktop-entry-lib
depends = 7zip
depends = binutils
depends = squashfs-tools
@@ -26,6 +24,6 @@ pkgbase = gearlever-bin
provides = gearlever
conflicts = gearlever
source = https://github.com/Felitendo/PKGBUILDS/releases/download/gearlever-bin-4.6.2/gearlever-bin-4.6.2.tar.zst
sha256sums = 319841a5dffd942b6f3b86822ac4d9d52a5b4ee559ea03ee5c2a6318a5161546
sha256sums = 225dd08d1fbdf33bb5979660737cee180f60b8cfa6477f1553025a6c2f5236a5
pkgname = gearlever-bin
+2 -3
View File
@@ -4,21 +4,20 @@
pkgname=gearlever-bin
pkgver=4.6.2
pkgrel=1
pkgrel=2
pkgdesc="Manage AppImages with ease (prebuilt)"
arch=('any')
url="https://gearlever.mijorus.it"
license=('GPL-3.0-or-later')
depends=('gtk4' 'libadwaita' 'glib2' 'dconf' 'hicolor-icon-theme' 'python'
'python-gobject' 'python-dbus' 'python-requests' 'python-pyxdg'
'python-ftputil' 'python-desktop-entry-lib'
'7zip' 'binutils' 'squashfs-tools' 'fuse2')
optdepends=('dwarfs: extract AppImages that use a DwarFS filesystem'
'libxml2-legacy: required by the LibreOffice AppImage')
provides=('gearlever')
conflicts=('gearlever')
source=("https://github.com/Felitendo/PKGBUILDS/releases/download/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.zst")
sha256sums=('319841a5dffd942b6f3b86822ac4d9d52a5b4ee559ea03ee5c2a6318a5161546')
sha256sums=('225dd08d1fbdf33bb5979660737cee180f60b8cfa6477f1553025a6c2f5236a5')
package() {
cp -a "$srcdir/usr" "$pkgdir/"
+10 -1
View File
@@ -8,7 +8,7 @@
UPSTREAM_REPO="mijorus/gearlever"
# Installed in CI (pacman) before build_artifact runs.
BUILD_DEPS=(meson ninja glib2 glib2-devel python gettext)
BUILD_DEPS=(meson ninja glib2 glib2-devel python gettext python-pip)
latest_version() {
# gh instead of curl: unauthenticated GitHub API calls are rate-limited on
@@ -43,6 +43,15 @@ build_artifact() {
# files themselves into the install tree.
find "$destdir" -name meson.build -delete
# ftputil and desktop-entry-lib are AUR-only; bundle them (pure python)
# into the app's module dir, which the launcher puts on sys.path. Versions
# come from upstream's requirements.txt pins.
grep -E '^(ftputil|desktop-entry-lib)' "$srctree/requirements.txt" > "$workdir/bundle-reqs.txt"
[[ "$(wc -l < "$workdir/bundle-reqs.txt")" -eq 2 ]] || { echo "expected 2 pinned bundle deps in requirements.txt" >&2; return 1; }
python -m pip install --isolated --no-deps --target "$destdir/usr/share/gearlever" \
-r "$workdir/bundle-reqs.txt"
rm -rf "$destdir/usr/share/gearlever/bin"
# These caches are generated by pacman hooks; shipping them would cause
# file conflicts on install.
rm -f "$destdir/usr/share/glib-2.0/schemas/gschemas.compiled" \
+34
View File
@@ -0,0 +1,34 @@
pkgbase = gnome-network-displays-bin
pkgdesc = Screencasting for GNOME - Miracast and Chromecast (prebuilt)
pkgver = 0.99.0
pkgrel = 1
url = https://gitlab.gnome.org/GNOME/gnome-network-displays
arch = x86_64
license = GPL-3.0-or-later
depends = avahi
depends = dnsmasq
depends = gst-plugin-pipewire
depends = gst-plugins-bad
depends = gst-plugins-good
depends = gst-plugins-ugly
depends = gst-rtsp-server
depends = gstreamer
depends = gtk4
depends = json-glib
depends = libadwaita
depends = libnm
depends = libportal
depends = libportal-gtk4
depends = libpulse
depends = libsoup3
depends = networkmanager
depends = protobuf-c
depends = xdg-desktop-portal
depends = hicolor-icon-theme
optdepends = gstreamer-vaapi: hardware accelerated encoding
provides = gnome-network-displays
conflicts = gnome-network-displays
source = https://github.com/Felitendo/PKGBUILDS/releases/download/gnome-network-displays-bin-0.99.0/gnome-network-displays-bin-0.99.0.tar.zst
sha256sums = 6e7f93f491226bab6ae54139dcaf009d9cedd8e983b04b5128701c3250936ac1
pkgname = gnome-network-displays-bin
+25
View File
@@ -0,0 +1,25 @@
# Maintainer: Felitendo
# This PKGBUILD is updated automatically:
# https://github.com/Felitendo/PKGBUILDS
pkgname=gnome-network-displays-bin
pkgver=0.99.0
pkgrel=1
pkgdesc="Screencasting for GNOME - Miracast and Chromecast (prebuilt)"
arch=('x86_64')
url="https://gitlab.gnome.org/GNOME/gnome-network-displays"
license=('GPL-3.0-or-later')
depends=('avahi' 'dnsmasq' 'gst-plugin-pipewire' 'gst-plugins-bad'
'gst-plugins-good' 'gst-plugins-ugly' 'gst-rtsp-server' 'gstreamer'
'gtk4' 'json-glib' 'libadwaita' 'libnm' 'libportal' 'libportal-gtk4'
'libpulse' 'libsoup3' 'networkmanager' 'protobuf-c'
'xdg-desktop-portal' 'hicolor-icon-theme')
optdepends=('gstreamer-vaapi: hardware accelerated encoding')
provides=('gnome-network-displays')
conflicts=('gnome-network-displays')
source=("https://github.com/Felitendo/PKGBUILDS/releases/download/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.zst")
sha256sums=('6e7f93f491226bab6ae54139dcaf009d9cedd8e983b04b5128701c3250936ac1')
package() {
cp -a "$srcdir/usr" "$pkgdir/"
}
+47
View File
@@ -0,0 +1,47 @@
# gnome-network-displays-bin - prebuilt package of
# https://gitlab.gnome.org/GNOME/gnome-network-displays
# (GNOME screencasting via Miracast/Chromecast, C + GTK4/LibAdwaita).
#
# Upstream publishes no binary assets, so build_artifact() builds from the
# GitLab release tarball.
GITLAB_PROJECT="GNOME%2Fgnome-network-displays"
# Installed in CI (pacman) before build_artifact runs.
BUILD_DEPS=(meson ninja glib2-devel gettext gtk4 libadwaita gstreamer
gst-rtsp-server gst-plugins-bad json-glib libnm libportal
libportal-gtk4 libpulse libsoup3 protobuf-c avahi)
latest_version() {
curl -sf "https://gitlab.gnome.org/api/v4/projects/$GITLAB_PROJECT/releases?per_page=1" \
| jq -r '.[0].tag_name' | sed 's/^v//'
}
# build_artifact <version> <output-file>
build_artifact() {
local ver="$1" outfile="$2"
local workdir destdir srctree
workdir="$(mktemp -d)"
destdir="$(mktemp -d)"
curl -sfL "https://gitlab.gnome.org/GNOME/gnome-network-displays/-/archive/$ver/gnome-network-displays-$ver.tar.gz" \
| tar -xz -C "$workdir"
srctree="$workdir/gnome-network-displays-$ver"
# Arch has no /usr/libexec; same fix as the AUR source package
sed -i 's/libexec/lib/g' "$srctree/src/nd-systemd-helpers.c" "$srctree/src/meson.build"
meson setup "$workdir/build" "$srctree" --prefix=/usr --buildtype=release
meson install -C "$workdir/build" --destdir "$destdir"
# These caches are generated by pacman hooks; shipping them would cause
# file conflicts on install.
rm -f "$destdir/usr/share/glib-2.0/schemas/gschemas.compiled" \
"$destdir/usr/share/applications/mimeinfo.cache" \
"$destdir/usr/share/icons/hicolor/icon-theme.cache"
tar --zstd --sort=name --owner=0 --group=0 --numeric-owner --mtime='@0' \
-cf "$outfile" -C "$destdir" usr
rm -rf "$workdir" "$destdir"
}
+29
View File
@@ -0,0 +1,29 @@
pkgbase = linux-wallpaperengine-bin
pkgdesc = Use Steam's Wallpaper Engine wallpapers on Linux (prebuilt snapshot of main)
pkgver = r627.b016d7d
pkgrel = 1
url = https://github.com/Almamu/linux-wallpaperengine
arch = x86_64
license = GPL-3.0-only
depends = lz4
depends = ffmpeg
depends = mpv
depends = glfw
depends = glew
depends = freeglut
depends = libpulse
depends = libcups
depends = at-spi2-core
depends = nss
depends = libxcomposite
depends = libxdamage
depends = nspr
provides = linux-wallpaperengine
conflicts = linux-wallpaperengine
conflicts = linux-wallpaperengine-git
options = !strip
options = !debug
source = https://github.com/Felitendo/PKGBUILDS/releases/download/linux-wallpaperengine-bin-r627.b016d7d/linux-wallpaperengine-bin-r627.b016d7d.tar.zst
sha256sums = ed71a7ca046003c368b6af7aa9766dee36cd5da84921a4a34991248d62d7bc6b
pkgname = linux-wallpaperengine-bin
+2 -2
View File
@@ -3,7 +3,7 @@
# https://github.com/Felitendo/PKGBUILDS
pkgname=linux-wallpaperengine-bin
pkgver=0
pkgver=r627.b016d7d
pkgrel=1
pkgdesc="Use Steam's Wallpaper Engine wallpapers on Linux (prebuilt snapshot of main)"
arch=('x86_64')
@@ -15,7 +15,7 @@ provides=('linux-wallpaperengine')
conflicts=('linux-wallpaperengine' 'linux-wallpaperengine-git')
options=('!strip' '!debug')
source=("https://github.com/Felitendo/PKGBUILDS/releases/download/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.zst")
sha256sums=('SKIP')
sha256sums=('ed71a7ca046003c368b6af7aa9766dee36cd5da84921a4a34991248d62d7bc6b')
package() {
cp -a "$srcdir/usr" "$pkgdir/"
+30
View File
@@ -0,0 +1,30 @@
pkgbase = waydroid-helper-bin
pkgdesc = GUI application for Waydroid configuration and extension installation (prebuilt)
pkgver = 0.2.9
pkgrel = 1
url = https://github.com/ayasa520/waydroid-helper
arch = any
license = GPL-3.0-or-later
depends = python
depends = fakeroot
depends = python-bidict
depends = python-httpx
depends = python-gobject
depends = python-yaml
depends = python-pywayland
depends = python-cairo
depends = gtk4
depends = libadwaita
depends = python-aiofiles
depends = python-dbus
depends = android-tools
depends = vte4
depends = hicolor-icon-theme
optdepends = bindfs: shared folders support
optdepends = waydroid: the container this tool configures
provides = waydroid-helper
conflicts = waydroid-helper
source = https://github.com/Felitendo/PKGBUILDS/releases/download/waydroid-helper-bin-0.2.9/waydroid-helper-bin-0.2.9.tar.zst
sha256sums = 8a02695c6a3f102d1fa2a0b6266bb1978874338eac5a33b3391ada3243c01e56
pkgname = waydroid-helper-bin
+25
View File
@@ -0,0 +1,25 @@
# Maintainer: Felitendo
# This PKGBUILD is updated automatically:
# https://github.com/Felitendo/PKGBUILDS
pkgname=waydroid-helper-bin
pkgver=0.2.9
pkgrel=1
pkgdesc="GUI application for Waydroid configuration and extension installation (prebuilt)"
arch=('any')
url="https://github.com/ayasa520/waydroid-helper"
license=('GPL-3.0-or-later')
depends=('python' 'fakeroot' 'python-bidict' 'python-httpx' 'python-gobject'
'python-yaml' 'python-pywayland' 'python-cairo' 'gtk4' 'libadwaita'
'python-aiofiles' 'python-dbus' 'android-tools' 'vte4'
'hicolor-icon-theme')
optdepends=('bindfs: shared folders support'
'waydroid: the container this tool configures')
provides=('waydroid-helper')
conflicts=('waydroid-helper')
source=("https://github.com/Felitendo/PKGBUILDS/releases/download/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.zst")
sha256sums=('8a02695c6a3f102d1fa2a0b6266bb1978874338eac5a33b3391ada3243c01e56')
package() {
cp -a "$srcdir/usr" "$pkgdir/"
}
+39
View File
@@ -0,0 +1,39 @@
# waydroid-helper-bin - prebuilt package of https://github.com/ayasa520/waydroid-helper
# (GTK4 + LibAdwaita GUI for Waydroid configuration/extensions, Python).
#
# Upstream only ships AppImages, so build_artifact() builds the meson project
# from the release tarball.
UPSTREAM_REPO="ayasa520/waydroid-helper"
# Installed in CI (pacman) before build_artifact runs.
BUILD_DEPS=(meson ninja python python-setuptools glib2 glib2-devel gettext)
latest_version() {
gh api "repos/$UPSTREAM_REPO/releases/latest" --jq '.tag_name' | sed 's/^v//'
}
# build_artifact <version> <output-file>
build_artifact() {
local ver="$1" outfile="$2"
local workdir destdir srctree
workdir="$(mktemp -d)"
destdir="$(mktemp -d)"
curl -sfL "https://github.com/$UPSTREAM_REPO/archive/refs/tags/v$ver.tar.gz" | tar -xz -C "$workdir"
srctree="$workdir/waydroid-helper-$ver"
meson setup "$workdir/build" "$srctree" --prefix=/usr --buildtype=release
meson install -C "$workdir/build" --destdir "$destdir"
# These caches are generated by pacman hooks; shipping them would cause
# file conflicts on install.
rm -f "$destdir/usr/share/glib-2.0/schemas/gschemas.compiled" \
"$destdir/usr/share/applications/mimeinfo.cache" \
"$destdir/usr/share/icons/hicolor/icon-theme.cache"
tar --zstd --sort=name --owner=0 --group=0 --numeric-owner --mtime='@0' \
-cf "$outfile" -C "$destdir" usr
rm -rf "$workdir" "$destdir"
}