From 8098f4a62c19d677d0d12ff82742fa91f3095ab3 Mon Sep 17 00:00:00 2001 From: Felitendo <95575686+Felitendo@users.noreply.github.com> Date: Fri, 24 Jul 2026 08:26:27 +0200 Subject: [PATCH] faugus-launcher-bin: add package (2.0.2-1) --- faugus-launcher-bin/.SRCINFO | 27 ++++++++++++++++++ faugus-launcher-bin/PKGBUILD | 24 ++++++++++++++++ faugus-launcher-bin/pkg.sh | 54 ++++++++++++++++++++++++++++++++++++ 3 files changed, 105 insertions(+) create mode 100644 faugus-launcher-bin/.SRCINFO create mode 100644 faugus-launcher-bin/PKGBUILD create mode 100644 faugus-launcher-bin/pkg.sh diff --git a/faugus-launcher-bin/.SRCINFO b/faugus-launcher-bin/.SRCINFO new file mode 100644 index 0000000..2f55bac --- /dev/null +++ b/faugus-launcher-bin/.SRCINFO @@ -0,0 +1,27 @@ +pkgbase = faugus-launcher-bin + pkgdesc = Simple and lightweight app for running Windows games using UMU-Launcher (prebuilt) + pkgver = 2.0.2 + pkgrel = 1 + url = https://github.com/Faugus/faugus-launcher + arch = any + license = MIT + depends = gtk4 + depends = libadwaita + depends = libmanette + depends = icoextract + depends = python + depends = python-gobject + depends = python-requests + depends = python-pillow + depends = python-vdf + depends = python-psutil + depends = python-dbus + depends = umu-launcher + optdepends = mangohud: performance overlay + optdepends = gamemode: feral gamemode integration + provides = faugus-launcher + conflicts = faugus-launcher + source = https://github.com/Felitendo/PKGBUILDS/releases/download/faugus-launcher-bin-2.0.2/faugus-launcher-bin-2.0.2.tar.zst + sha256sums = 5fcf441cccb1ccc0ac554760e93744d557fd05a3fc4335132a59e55aefe902af + +pkgname = faugus-launcher-bin diff --git a/faugus-launcher-bin/PKGBUILD b/faugus-launcher-bin/PKGBUILD new file mode 100644 index 0000000..c7205ca --- /dev/null +++ b/faugus-launcher-bin/PKGBUILD @@ -0,0 +1,24 @@ +# Maintainer: Felitendo +# This PKGBUILD is updated automatically: +# https://github.com/Felitendo/PKGBUILDS + +pkgname=faugus-launcher-bin +pkgver=2.0.2 +pkgrel=1 +pkgdesc="Simple and lightweight app for running Windows games using UMU-Launcher (prebuilt)" +arch=('any') +url="https://github.com/Faugus/faugus-launcher" +license=('MIT') +depends=('gtk4' 'libadwaita' 'libmanette' 'icoextract' 'python' + 'python-gobject' 'python-requests' 'python-pillow' 'python-vdf' + 'python-psutil' 'python-dbus' 'umu-launcher') +optdepends=('mangohud: performance overlay' + 'gamemode: feral gamemode integration') +provides=('faugus-launcher') +conflicts=('faugus-launcher') +source=("https://github.com/Felitendo/PKGBUILDS/releases/download/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.zst") +sha256sums=('5fcf441cccb1ccc0ac554760e93744d557fd05a3fc4335132a59e55aefe902af') + +package() { + cp -a "$srcdir/usr" "$pkgdir/" +} diff --git a/faugus-launcher-bin/pkg.sh b/faugus-launcher-bin/pkg.sh new file mode 100644 index 0000000..bb71264 --- /dev/null +++ b/faugus-launcher-bin/pkg.sh @@ -0,0 +1,54 @@ +# faugus-launcher-bin - prebuilt package of https://github.com/Faugus/faugus-launcher +# (GTK4 game launcher for running Windows games through UMU-Launcher, Python). +# +# Upstream ships AppImage/deb/rpm but no Arch-friendly binary, so +# build_artifact() builds the meson project from the release tarball. + +UPSTREAM_REPO="Faugus/faugus-launcher" + +# Installed in CI (pacman) before build_artifact runs. +# (Translations ship as prebuilt .mo files, so no gettext needed.) +BUILD_DEPS=(meson ninja python) + +latest_version() { + gh api "repos/$UPSTREAM_REPO/releases/latest" --jq '.tag_name' | sed 's/^v//' +} + +# build_artifact +build_artifact() { + local ver="$1" outfile="$2" + local workdir destdir srctree sitedir + workdir="$(mktemp -d)" + destdir="$(mktemp -d)" + + curl -sfL "https://github.com/$UPSTREAM_REPO/archive/refs/tags/$ver.tar.gz" | tar -xz -C "$workdir" + srctree="$workdir/faugus-launcher-$ver" + + meson setup "$workdir/build" "$srctree" --prefix=/usr --buildtype=release + meson install -C "$workdir/build" --destdir "$destdir" + + # meson installs the python modules into site-packages, whose path changes + # with every Python minor bump and would silently break a prebuilt package. + # Relocate to a fixed dir and put it on the launcher's PYTHONPATH (the + # launcher script already appends any pre-set PYTHONPATH to its own). + sitedir="$(find "$destdir/usr/lib" -maxdepth 2 -type d -name site-packages)" + [[ -d "$sitedir/faugus" ]] || { echo "faugus module not found in $sitedir" >&2; return 1; } + mkdir -p "$destdir/usr/lib/faugus-launcher" + mv "$sitedir/faugus" "$destdir/usr/lib/faugus-launcher/" + rm -rf "$destdir/usr/lib/python"* + + head -1 "$destdir/usr/bin/faugus-launcher" | grep -qx '#!/bin/sh' \ + || { echo "unexpected launcher script format" >&2; return 1; } + sed -i '1a export PYTHONPATH="/usr/lib/faugus-launcher${PYTHONPATH:+:$PYTHONPATH}"' \ + "$destdir/usr/bin/faugus-launcher" + + # These caches are generated by pacman hooks; shipping them would cause + # file conflicts on install. + rm -f "$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" +}