diff options
-rw-r--r-- | .SRCINFO | 20 | ||||
-rw-r--r-- | PKGBUILD | 61 |
2 files changed, 63 insertions, 18 deletions
@@ -1,6 +1,6 @@ pkgbase = citra-nightly-bin - pkgdesc = Nintendo 3DS emulator - pkgver = 2082.20240122.eddc4a0 + pkgdesc = Nintendo 3DS emulator - reviewed and tested features + pkgver = 2093.20240210.de993dc pkgrel = 1 url = https://github.com/citra-emu/citra-nightly arch = x86_64 @@ -13,7 +13,21 @@ pkgbase = citra-nightly-bin conflicts = citra-qt-git options = !strip options = !debug - source = citra-linux-appimage-20240122-eddc4a0.tar.gz::https://github.com/citra-emu/citra-nightly/releases/download/nightly-2082/citra-linux-appimage-20240122-eddc4a0.tar.gz + source = citra-nightly-20240210-de993dc.tar.gz::https://github.com/citra-emu/citra-nightly/releases/download/nightly-2093/citra-linux-appimage-20240210-de993dc.tar.gz sha256sums = SKIP pkgname = citra-nightly-bin + depends = alsa-lib + depends = e2fsprogs + depends = fontconfig + depends = freetype2 + depends = harfbuzz + depends = libdrm + depends = libglvnd + depends = libgpg-error + depends = libice + depends = libsm + depends = libx11 + depends = libxcb + depends = mesa + depends = zlib @@ -8,16 +8,32 @@ else : ${_autoupdate:=true} fi +: ${_build_channel:=nightly} # nightly or canary + # basic info -_pkgname='citra-nightly' +_pkgname="citra-${_build_channel:?}" pkgname="$_pkgname-bin" pkgrel=1 -pkgver=2082.20240122.eddc4a0 +pkgver=2093.20240210.de993dc pkgdesc="Nintendo 3DS emulator" -url="https://github.com/citra-emu/citra-nightly" license=('GPL-2.0-or-later') arch=('x86_64') +case "$_build_channel" in + canary) + url="https://github.com/citra-emu/citra-canary" + pkgdesc+=" - additional features still under review" + ;; + nightly) + url="https://github.com/citra-emu/citra-nightly" + pkgdesc+=" - reviewed and tested features" + ;; + *) + echo "Invalid release channel: ${_build_channel}" + return 1 + ;; +esac + # main package _main_package() { _update_version @@ -42,7 +58,7 @@ _main_package() { _pkgsrc="citra-linux-appimage-$_date-$_hash" _pkgext="tar.gz" - source+=("$_pkgsrc.$_pkgext"::"$url/releases/download/nightly-$_version/$_pkgsrc.$_pkgext") + source+=("$_pkgname-$_date-$_hash.$_pkgext"::"$url/releases/download/${_build_channel:?}-$_version/$_pkgsrc.$_pkgext") sha256sums+=('SKIP') } @@ -51,36 +67,51 @@ pkgver() { printf '%s' "${_pkgver:?}" } -build() { +prepare() { local _app for _app in citra-qt citra-room citra ; do local _appimage="$_pkgsrc/$_app.AppImage" chmod +x "$_appimage" "$_appimage" --appimage-extract done - - rm -rf "squashfs-root/usr/optional" } package() { + depends+=( + alsa-lib + e2fsprogs + fontconfig + freetype2 + harfbuzz + libdrm + libglvnd + libgpg-error + libice + libsm + libx11 + libxcb + mesa + zlib + ) + + install -dm755 "$pkgdir/opt/citra" install -dm755 "$pkgdir/usr/bin" install -dm755 "$pkgdir/usr/share/applications/" + # symlinks local _app for _app in citra-qt citra-room citra ; do - # symlink ln -sf "/opt/citra/bin/$_app" "$pkgdir/usr/bin/$_app" - - # desktop file - mv "squashfs-root/$_app.desktop" "$pkgdir/usr/share/applications/" done + # desktop file + mv "squashfs-root/usr/share/applications/citra-qt.desktop" "$pkgdir/usr/share/applications/" + # icon - install -Dm644 "$_pkgsrc/dist/citra.png" -t "$pkgdir/usr/share/pixmaps/" + install -Dm644 "squashfs-root/usr/share/icons/hicolor/scalable/apps/citra.svg" -t "$pkgdir/usr/share/pixmaps/" # move main files - install -dm755 "$pkgdir/opt" - mv "$srcdir/squashfs-root/usr" "$pkgdir/opt/citra" + mv "squashfs-root/usr"/{bin,lib,plugins,translations} "$pkgdir/opt/citra/" # fix permissions chmod -R u=rwX,go=rX "$pkgdir" @@ -95,7 +126,7 @@ _update_version() { fi local _response=$(curl -Ssf "$url/releases") - local _regex='<a href="(.*/nightly-([0-9]+)/(citra-linux-appimage-([0-9]+)-(.*)\.tar\.gz))"' + local _regex='<a href="(.*/'"${_build_channel:?}"'-([0-9]+)/(citra-linux-appimage-([0-9]+)-(.*)\.tar\.gz))"' local _dl_path=$( printf '%s' "$_response" \ |