Group A: source upstream binaries instead of self-built artifacts
The AUR does not allow packages to ship a binary tarball built by the maintainer - a -bin package must repackage a deliverable published by upstream. These six packages now do that: snapx-bin upstream's self-contained Linux tar.zst zapzap-bin upstream's pure-Python wheel faugus-launcher-bin upstream's arch-independent .deb wiiudownloader-bin upstream's AppImage waydroid-helper-bin upstream's AppImage chiaki-ng-bin upstream's AppImage All six drop build_artifact() and switch to refresh_checksums(), so CI no longer builds or hosts anything - it only tracks upstream's assets. Where the asset name carries build metadata that does not follow from pkgver (snapx, faugus-launcher), refresh_checksums() resolves it via the GitHub API and syncs an _asset variable in the PKGBUILD. Dependency lists are re-derived from what the bundles actually resolve outside themselves; the AppImage payloads land in /opt with wrappers in /usr/bin, because their entry points resolve paths relative to argv[0].
This commit is contained in:
1 parent
c25c2790e8
commit
fa1c190d17
19 files changed
+428
-379
No files matched your search
@@ -4,8 +4,8 @@
|
||||
|
||||
pkgname=faugus-launcher-bin
|
||||
pkgver=2.0.2
|
||||
pkgrel=1
|
||||
pkgdesc="Simple and lightweight app for running Windows games using UMU-Launcher (prebuilt)"
|
||||
pkgrel=2
|
||||
pkgdesc="Simple and lightweight app for running Windows games using UMU-Launcher (upstream binary)"
|
||||
arch=('any')
|
||||
url="https://github.com/Faugus/faugus-launcher"
|
||||
license=('MIT')
|
||||
@@ -16,9 +16,51 @@ optdepends=('mangohud: performance overlay'
|
||||
'gamemode: feral gamemode integration')
|
||||
provides=('faugus-launcher')
|
||||
conflicts=('faugus-launcher')
|
||||
source=("${pkgname}-${pkgver}-${pkgrel}.tar.zst::https://github.com/Felitendo/PKGBUILDS/releases/download/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.zst")
|
||||
sha256sums=('5fcf441cccb1ccc0ac554760e93744d557fd05a3fc4335132a59e55aefe902af')
|
||||
# The Debian revision in the asset name does not follow from pkgver, so the
|
||||
# exact name is tracked here and refreshed automatically.
|
||||
_asset="faugus-launcher_2.0.2-1_all.deb"
|
||||
source=("${pkgname}-${pkgver}.deb::${url}/releases/download/${pkgver}/${_asset}")
|
||||
noextract=("${pkgname}-${pkgver}.deb")
|
||||
sha256sums=('c694d85af50cdc5fc6fbd50453075b799d5a458cc0bd123abe31aafde8cdc6fa')
|
||||
|
||||
package() {
|
||||
cp -a "$srcdir/usr" "$pkgdir/"
|
||||
local _deb="$srcdir/deb"
|
||||
|
||||
install -d "$_deb"
|
||||
bsdtar -xOf "$srcdir/${pkgname}-${pkgver}.deb" 'data.tar.*' \
|
||||
| bsdtar -xpf - -C "$_deb" ./usr
|
||||
|
||||
# Debian puts the modules in dist-packages, which is not on Arch's
|
||||
# sys.path. A fixed private directory also keeps the package working
|
||||
# across Python minor bumps, since it is only rebuilt for new releases.
|
||||
install -d "$pkgdir/usr/lib/faugus-launcher"
|
||||
cp -a "$_deb/usr/lib/python3/dist-packages/faugus" "$pkgdir/usr/lib/faugus-launcher/"
|
||||
# .pyc compiled for Debian's Python, useless here
|
||||
find "$pkgdir/usr/lib/faugus-launcher" -type d -name __pycache__ -exec rm -rf {} +
|
||||
|
||||
cp -a "$_deb/usr/share" "$pkgdir/usr/"
|
||||
# generated by pacman hooks; shipping them would cause file conflicts
|
||||
rm -f "$pkgdir/usr/share/applications/mimeinfo.cache" \
|
||||
"$pkgdir/usr/share/icons/hicolor/icon-theme.cache"
|
||||
|
||||
# upstream's wrapper relies on Debian's default sys.path, ours points at
|
||||
# the directory above; the rest matches upstream verbatim
|
||||
install -d "$pkgdir/usr/bin"
|
||||
cat > "$pkgdir/usr/bin/faugus-launcher" << 'EOF'
|
||||
#!/bin/sh
|
||||
|
||||
export PYTHONPATH="/usr/lib/faugus-launcher${PYTHONPATH:+:$PYTHONPATH}"
|
||||
export GTK_IM_MODULE="${GTK_IM_MODULE:-simple}"
|
||||
|
||||
case "$1" in
|
||||
--shortcut) exec /usr/bin/python3 -m faugus.shortcut "$2";;
|
||||
--game) exec /usr/bin/python3 -m faugus.runner --game "$2";;
|
||||
--run) msg="$2"; shift 2; exec /usr/bin/python3 -m faugus.runner "$msg" "$@";;
|
||||
*) exec /usr/bin/python3 -m faugus.launcher "$@";;
|
||||
esac
|
||||
EOF
|
||||
chmod 755 "$pkgdir/usr/bin/faugus-launcher"
|
||||
|
||||
mv "$pkgdir/usr/share/licenses/faugus-launcher" \
|
||||
"$pkgdir/usr/share/licenses/$pkgname"
|
||||
}
|
||||
Reference in new issue
Block a user