commit 95167361f04d90d5575259cccec40baeb837cbdc Author: CrafterPika Date: Fri Apr 25 14:28:06 2025 +0200 init diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7dae48b --- /dev/null +++ b/.gitignore @@ -0,0 +1,14 @@ +# Downloaded files +*.tar.gz +Logo.svg +Ryujinx.xml +Ryujinx.desktop + +# Azahar +azahar.png +azahar.desktop + +# Build Files +src/* +pkg/* +*.pkg.tar.zst diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..7a3094a --- /dev/null +++ b/LICENSE @@ -0,0 +1,11 @@ +DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE +Version 2, December 2004 + +Copyright (C) 2004 Sam Hocevar + +Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed. + +DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. diff --git a/azahar-bin/PKGBUILD b/azahar-bin/PKGBUILD new file mode 100644 index 0000000..9cb6792 --- /dev/null +++ b/azahar-bin/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: CrafterPika + +## basic info +pkgname="azahar-bin" +pkgver=2120.3 +pkgrel=1 +pkgdesc="Merge of Lime3DS and PabloMK7 Citra forks" +url="https://github.com/azahar-emu/azahar" +license=("MIT") +arch=("x86_64") +conflicts=(azahar azahar-git) +options=(!strip !debug !lto) +source=("https://github.com/azahar-emu/azahar/releases/download/2120.3/azahar-2120.3-linux-appimage.tar.gz" + "https://raw.githubusercontent.com/azahar-emu/azahar/refs/heads/master/dist/azahar.png" + "https://raw.githubusercontent.com/azahar-emu/azahar/refs/heads/master/dist/azahar.desktop") +b2sums=("35f645dab4c8d01b245378cac673b90289eb15e7848124529836a723dc48e5cdd80d077047dc648f3dff32c7fa70359a5b4c0d82b006c1ddca4dd86d321fddb9" + "bd09a4f3ce10cd4b67522331e8d050efd9d8847987ac5b61ce464b79743e7605fceac99af378b9ed760f6f3d9b783b634599b59a59d95d1285cf90ba771951f1" + "424dfcffd800bf51ae523f45d3c9fd7db7a59b5243af2fb036cd554435510cdff1385659d7cae284642a91715d6be0d34ce0fd8dd87494bf67f32df46976b29f") + + +# make package +package() { + mkdir --parents "${pkgdir}/opt" + cp "${srcdir}/azahar-2120.3-linux-appimage/azahar.AppImage" "${pkgdir}/opt/azahar.AppImage" + chmod +x "${pkgdir}/opt/azahar.AppImage" + + mkdir --parents "${pkgdir}/usr/bin" + ln --symbolic "/opt/azahar.AppImage" "${pkgdir}/usr/bin/azahar" + + install -D "${srcdir}/azahar.desktop" "${pkgdir}/usr/share/applications/azahar.desktop" + install -D "${srcdir}/azahar.png" "${pkgdir}/usr/share/icons/hicolor/256x256/apps/org.azahar_emu.Azahar.png" +} diff --git a/ryujinx-bin/PKGBUILD b/ryujinx-bin/PKGBUILD new file mode 100644 index 0000000..f574d0a --- /dev/null +++ b/ryujinx-bin/PKGBUILD @@ -0,0 +1,49 @@ +# Maintainer: CrafterPika + +## basic info +pkgname="ryujinx-bin" +pkgver=1.3.1 +#_pkgver="$(python3 ./autofetch.py -v)" +pkgrel=1 +pkgdesc="Experimental Nintendo Switch Emulator written in C# (GreemDev Fork)" +url="https://github.com/Ryubing/Ryujinx" +license=('MIT') +arch=('x86_64') +depends=('dotnet-runtime') +#makedepends=('python') +provides=(ryujinx-bin) +conflicts=(ryujinx ryujinx-git ryujinx-canary-bin) +options=(!strip !debug !lto) + +## Sources +source=("https://github.com/Ryubing/Stable-Releases/releases/download/1.3.1/ryujinx-1.3.1-linux_x64.tar.gz" + "https://git.ryujinx.app/ryubing/ryujinx/-/raw/master/distribution/misc/Logo.svg" + "https://git.ryujinx.app/ryubing/ryujinx/-/raw/master/distribution/linux/Ryujinx.desktop" + "https://git.ryujinx.app/ryubing/ryujinx/-/raw/master/distribution/linux/mime/Ryujinx.xml") +b2sums=("SKIP" + "a52abdf5676ce7e6248bbb8eae1cf235816029d87f23be3dc70379f9caa7c4677b234e95b407cac023fa2071efa961f240a14c6faa79052915024363cee92776" + "aaf7e9ddc24bc0068d75a4136262ab2e7f669acda91b7abc66ac5c8d6332804af45b5f9eec43d1d5541dc8e7944001362fbb67bec873fffde496c6c46d6500fc" + "0002cccf2a3e9dec4b0646e8d50ed105dfd4544baf49ae4868cc2a0785839ab578171063b6149b54fee947a38d88bbd6552647f6c69c590acf8fd1b12835c67a") + +# update pkgver +#pkgver() { +# echo "${_pkgver:?}" +#} + +# make package +package() { + mkdir --parents "${pkgdir}/opt" + cp --recursive "${srcdir}/publish" "${pkgdir}/opt/ryujinx" + chmod +x "${pkgdir}/opt/ryujinx/Ryujinx" + + # create writable logs directory + install --directory --mode=777 "${pkgdir}/opt/ryujinx/Logs" + + mkdir --parents "${pkgdir}/usr/bin" + ln --symbolic "/opt/ryujinx/Ryujinx" "${pkgdir}/usr/bin/Ryujinx" + ln --symbolic "/opt/ryujinx/Ryujinx.sh" "${pkgdir}/usr/bin/Ryujinx.sh" + + install -D "${srcdir}/Ryujinx.desktop" "${pkgdir}/usr/share/applications/Ryujinx.desktop" + install -D "${srcdir}/Logo.svg" "${pkgdir}/usr/share/icons/hicolor/scalable/apps/Ryujinx.svg" + install -D "${srcdir}/Ryujinx.xml" "${pkgdir}/usr/share/mime/packages/Ryujinx.xml" +} diff --git a/ryujinx-canary-bin/PKGBUILD b/ryujinx-canary-bin/PKGBUILD new file mode 100644 index 0000000..eba302b --- /dev/null +++ b/ryujinx-canary-bin/PKGBUILD @@ -0,0 +1,51 @@ +# Maintainer: CrafterPika + +## basic info +pkgname="ryujinx-canary-bin" +pkgver=1.3.8 +_pkgver="$(python3 ./autofetch.py -v)" +pkgrel=1 +pkgdesc="Experimental Nintendo Switch Emulator written in C# (GreemDev Fork)" +url="https://github.com/Ryubing/Ryujinx" +license=('MIT') +arch=('x86_64') +depends=('dotnet-runtime') +makedepends=('python') +provides=(ryujinx-bin) +conflicts=(ryujinx ryujinx-git) +options=(!strip !debug !lto) + +## Sources +source=("$(python3 ./autofetch.py)" + "https://git.ryujinx.app/ryubing/ryujinx/-/raw/master/distribution/misc/Logo.svg" + "https://git.ryujinx.app/ryubing/ryujinx/-/raw/master/distribution/linux/Ryujinx.desktop" + "https://git.ryujinx.app/ryubing/ryujinx/-/raw/master/distribution/linux/mime/Ryujinx.xml" + "autofetch.py") +b2sums=("SKIP" + "a52abdf5676ce7e6248bbb8eae1cf235816029d87f23be3dc70379f9caa7c4677b234e95b407cac023fa2071efa961f240a14c6faa79052915024363cee92776" + "aaf7e9ddc24bc0068d75a4136262ab2e7f669acda91b7abc66ac5c8d6332804af45b5f9eec43d1d5541dc8e7944001362fbb67bec873fffde496c6c46d6500fc" + "0002cccf2a3e9dec4b0646e8d50ed105dfd4544baf49ae4868cc2a0785839ab578171063b6149b54fee947a38d88bbd6552647f6c69c590acf8fd1b12835c67a" + "ee4b3c28230756380208dcbbe62ec7156b6f2e293205ee8c637740b31cc788db6c2e5202204e28bf508d5f55055487a3b26c835f4134031bb0d270cdcdc2a5d4") + +# update pkgver +pkgver() { + echo "${_pkgver:?}" +} + +# make package +package() { + mkdir --parents "${pkgdir}/opt" + cp --recursive "${srcdir}/publish" "${pkgdir}/opt/ryujinx" + chmod +x "${pkgdir}/opt/ryujinx/Ryujinx" + + # create writable logs directory + install --directory --mode=777 "${pkgdir}/opt/ryujinx/Logs" + + mkdir --parents "${pkgdir}/usr/bin" + ln --symbolic "/opt/ryujinx/Ryujinx" "${pkgdir}/usr/bin/Ryujinx" + ln --symbolic "/opt/ryujinx/Ryujinx.sh" "${pkgdir}/usr/bin/Ryujinx.sh" + + install -D "${srcdir}/Ryujinx.desktop" "${pkgdir}/usr/share/applications/Ryujinx.desktop" + install -D "${srcdir}/Logo.svg" "${pkgdir}/usr/share/icons/hicolor/scalable/apps/Ryujinx.svg" + install -D "${srcdir}/Ryujinx.xml" "${pkgdir}/usr/share/mime/packages/Ryujinx.xml" +} diff --git a/ryujinx-canary-bin/autofetch.py b/ryujinx-canary-bin/autofetch.py new file mode 100644 index 0000000..8c76b87 --- /dev/null +++ b/ryujinx-canary-bin/autofetch.py @@ -0,0 +1,23 @@ +# Modules +import json +import re +from argparse import ArgumentParser +from urllib.request import Request, urlopen + +parser = ArgumentParser() +parser.add_argument("-v", "--version", dest="ver", action='store_true') +args = parser.parse_args() + +def fetch(url: str): + req = Request(url) + req.add_header("User-Agent", "RyujinxLatestFetch/1.0") + return urlopen(req).read() + +latest = json.loads(fetch("https://api.github.com/repos/Ryubing/Canary-Releases/releases/latest")) +if not args.ver: + for asset in latest["assets"]: + regex = type(re.search(r"\/(?!sdl2-.*)ryujinx-.*-linux_x64.tar.gz", asset["browser_download_url"])) + if regex == re.Match: + print(asset["browser_download_url"]) +else: + print(latest["tag_name"])