The latest release 60ffc2e has no linux build, so this script is failing right now.
I dug through the releases on the github and it looks like randomly they'll have a linux-only or windows-only release. Im not sure if theres an easy way to fix the pkgbuild to account for this, cause iirc github only has that /latest/ link and no other dynamic ones like that, so i guess we just have to wait till the next linux build.
Any idea why this is being installed on every update?
I get this...
:: 1 package to upgrade/install.
1 aur/xenia-canary-bin f2554eb-2 -> 7650730-2
but at the end...
-> xenia-canary-bin-f2554eb-2 already made -- skipping build
==> Making package: xenia-canary-bin f2554eb-2 (Sa 29 Nov 2025 13:53:32 CET)
...
Package (1) Old Version New Version Net Change
xenia-canary-bin f2554eb-2 f2554eb-2 0,00 MiB
It installs the same version over and over again.
I made a new PKGBUILD, but I don't maintain this package anymore
pkgname="xenia-canary-bin"
ver=$( echo $(curl -s "https://api.github.com/repos/xenia-canary/xenia-canary-releases/releases/latest" | grep tag_name) | cut -b 14-20 )
pkgver=r7885.${ver}
pkgrel=1
pkgdesc="Xenia Canary is an experimental fork of the Xenia emulator. "
arch=('x86_64')
url="https://github.com/xenia-canary"
license=('BSD-3-Clause')
depends=(
'glib2'
'gtk3'
'hicolor-icon-theme'
'libx11'
'libxcb'
'sdl2'
'zlib')
makedepends=()
_target="xenia_canary_linux_clang20.tar.gz"
conflicts=()
provides=('xenia-canary')
source=("https://github.com/xenia-canary/xenia-canary-releases/releases/download/${ver}/${_target}"
'https://raw.githubusercontent.com/xenia-canary/xenia-canary/refs/heads/canary_experimental/assets/icon/1024.png'
'https://raw.githubusercontent.com/xenia-canary/xenia-canary/refs/heads/canary_experimental/assets/icon/512.png'
'https://raw.githubusercontent.com/xenia-canary/xenia-canary/refs/heads/canary_experimental/assets/icon/256.png'
'https://raw.githubusercontent.com/xenia-canary/xenia-canary/refs/heads/canary_experimental/assets/icon/128.png'
'https://raw.githubusercontent.com/xenia-canary/xenia-canary/refs/heads/canary_experimental/assets/icon/64.png'
'https://raw.githubusercontent.com/xenia-canary/xenia-canary/refs/heads/canary_experimental/assets/icon/48.png'
'https://raw.githubusercontent.com/xenia-canary/xenia-canary/refs/heads/canary_experimental/assets/icon/32.png'
'https://raw.githubusercontent.com/xenia-canary/xenia-canary/refs/heads/canary_experimental/assets/icon/16.png'
'xenia-canary-bin'
'xenia-canary-bin.desktop')
sha512sums=('SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP')
options=('!strip')
prepare() {
tar xvf "${_target}"
}
package() {
install -Dm755 xenia_canary "${pkgdir}/usr/bin/xenia_canary"
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
install -Dm644 16.png "${pkgdir}/usr/share/icons/hicolor/16x16/apps/xenia-canary.png"
install -Dm644 32.png "${pkgdir}/usr/share/icons/hicolor/32x32/apps/xenia-canary.png"
install -Dm644 48.png "${pkgdir}/usr/share/icons/hicolor/48x48/apps/xenia-canary.png"
install -Dm644 64.png "${pkgdir}/usr/share/icons/hicolor/64x64/apps/xenia-canary.png"
install -Dm644 128.png "${pkgdir}/usr/share/icons/hicolor/128x128/apps/xenia-canary.png"
install -Dm644 256.png "${pkgdir}/usr/share/icons/hicolor/256x256/apps/xenia-canary.png"
install -Dm644 512.png "${pkgdir}/usr/share/icons/hicolor/512x512/apps/xenia-canary.png"
install -Dm644 1024.png "${pkgdir}/usr/share/icons/hicolor/1024x1024/apps/xenia-canary.png"
install -Dm644 xenia-canary-bin.desktop "${pkgdir}/usr/share/applications/xenia-canary-bin.desktop"
install -Dm755 xenia-canary-bin "${pkgdir}/usr/bin/xenia-canary-bin"
}
The next time you update the PKGBUILD, could you change the version number to "latest" like how the jdownloader2 AUR package is set up? The reason to do this is some AUR package managers (Manjaro's pamac for me) think the installed package is not up to date, since the versioning system see's the version listed here as newer than the version of the installed package.
The current PKGBUILD fails to build due to change in the filename in the release.
_target="xenia_canary_linux.tar.gz"
must be changed to
_target="xenia_canary_linux_clang20.tar.gz"
The .SRCINFO has to updated too.
@xAsh Thank you, I've modified the PKGBUILD to use it
I've made my own PKGBUILD for this long ago that uses the same system duckstation-preview-latest-bin, rpcs3-latest-bin etc have, so I don't have to edit the PKGBUILD every single time a new binary is released.
pkgname=xenia-canary-latest-bin
pkgver=$(curl -s "https://api.github.com/repos/xenia-canary/xenia-canary-releases/releases/latest" \
| jq -r .tag_name)
pkgrel=1
pkgdesc="Xbox 360 Emulator - Latest release from GitHub"
arch=('x86_64')
url="https://github.com/xenia-canary/xenia-canary-releases"
provides=('xenia_canary')
license=('custom')
depends=('tar')
makedepends=('curl' 'jq' 'tar' 'file' 'wget')
_target="xenia_canary_linux.tar.gz"
source=(
"https://github.com/xenia-canary/xenia-canary-releases/releases/download/${pkgver}/${_target}"
"xenia-canary.desktop"
"xenia-canary.png"
)
# we skip checksum on the binary so it can update freely
sha256sums=('SKIP'
'bc80585ab3487ae68d359a7d73fea7b5247b893592c5c71b2b1f4310d1ae7ef8'
'3be4e926fe5fd5acfd2d70a5d76c2554dae45f6de75a328f0285cabbee13161a')
prepare() {
tar -xvf "${_target}"
}
package() {
install -Dm755 xenia_canary "${pkgdir}/usr/bin/xenia_canary"
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
install -Dm644 xenia-canary.png \
"${pkgdir}/usr/share/icons/hicolor/256x256/apps/xenia-canary.png"
install -Dm644 xenia-canary.desktop \
"${pkgdir}/usr/share/applications/xenia-canary.desktop"
}