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:
Felitendo committed 2026-07-27 17:40:53 +02:00
1 parent c25c2790e8
commit fa1c190d17
19 files changed
+428 -379

No files matched your search

+35 -7
View File
@@ -4,18 +4,46 @@
pkgname=wiiudownloader-bin
pkgver=2.99
pkgrel=1
pkgdesc="Download encrypted Wii U files from Nintendo's official servers (prebuilt)"
pkgrel=2
pkgdesc="Download encrypted Wii U files from Nintendo's official servers (upstream AppImage)"
arch=('x86_64')
url="https://github.com/Xpl0itU/WiiUDownloader"
license=('GPL-3.0-or-later')
depends=('glibc' 'glib2' 'hicolor-icon-theme' 'libx11' 'gtk3' 'gdk-pixbuf2'
'cairo' 'pango' 'fontconfig')
# the AppImage bundles GTK3 and its stack; these are what is left over
depends=('glibc' 'libx11' 'libxcb' 'wayland' 'fontconfig' 'freetype2'
'harfbuzz' 'fribidi' 'zlib' 'bzip2' 'expat' 'libgpg-error'
'hicolor-icon-theme')
provides=('wiiudownloader')
conflicts=('wiiudownloader')
source=("${pkgname}-${pkgver}-${pkgrel}.tar.zst::https://github.com/Felitendo/PKGBUILDS/releases/download/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.zst")
sha256sums=('1a43185b07869b8c25b71c3d43ddd829fd79af9d4cf6bfcfddb201f12cf8ff2e')
options=('!strip' '!debug')
source=("${pkgname}-${pkgver}.AppImage::${url}/releases/download/v${pkgver}/WiiUDownloader-Linux-x86_64.AppImage")
noextract=("${pkgname}-${pkgver}.AppImage")
sha256sums=('3a2e8e7f34a288308666032d6834db00c515a0c897a66a2ae1012702d017f240')
prepare() {
chmod +x "$srcdir/${pkgname}-${pkgver}.AppImage"
"$srcdir/${pkgname}-${pkgver}.AppImage" --appimage-extract > /dev/null
}
package() {
cp -a "$srcdir/usr" "$pkgdir/"
# upstream's AppImage payload, installed unchanged
install -d "$pkgdir/opt/$pkgname"
cp -a "$srcdir/squashfs-root/." "$pkgdir/opt/$pkgname/"
rm -f "$pkgdir/opt/$pkgname/.DirIcon"
# AppRun resolves its own directory, so it has to be exec'd by its real
# path - a symlink from /usr/bin would make it look next to the symlink
install -d "$pkgdir/usr/bin"
cat > "$pkgdir/usr/bin/wiiudownloader" << EOF
#!/bin/sh
exec /opt/$pkgname/AppRun "\$@"
EOF
chmod 755 "$pkgdir/usr/bin/wiiudownloader"
install -Dm644 "$srcdir/squashfs-root/usr/share/icons/hicolor/512x512/apps/WiiUDownloader.png" \
"$pkgdir/usr/share/icons/hicolor/512x512/apps/wiiudownloader.png"
install -Dm644 "$srcdir/squashfs-root/WiiUDownloader.desktop" \
"$pkgdir/usr/share/applications/wiiudownloader.desktop"
sed -i -e 's|^Exec=.*|Exec=wiiudownloader|' -e 's|^Icon=.*|Icon=wiiudownloader|' \
"$pkgdir/usr/share/applications/wiiudownloader.desktop"
}