diff options
Diffstat (limited to 'dist/packaging/arch/eglantine-git')
| -rw-r--r-- | dist/packaging/arch/eglantine-git/PKGBUILD | 78 | ||||
| -rw-r--r-- | dist/packaging/arch/eglantine-git/README.md | 26 |
2 files changed, 104 insertions, 0 deletions
diff --git a/dist/packaging/arch/eglantine-git/PKGBUILD b/dist/packaging/arch/eglantine-git/PKGBUILD new file mode 100644 index 0000000000..2c536e7b98 --- /dev/null +++ b/dist/packaging/arch/eglantine-git/PKGBUILD @@ -0,0 +1,78 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + +pkgname=eglantine-git +pkgver=0.r0.g0000000 +pkgrel=1 +pkgdesc='Nintendo Switch emulator (development branch)' +arch=('x86_64') +url='https://github.com/Djihads80/Eglantine' +license=('GPL-3.0-or-later') +depends=( + 'enet' + 'ffmpeg' + 'libusb' + 'opus' + 'openssl' + 'qt6-base' + 'qt6-charts' + 'sdl3' + 'vulkan-icd-loader' +) +makedepends=( + 'boost' + 'cmake' + 'git' + 'glslang' + 'libzip' + 'lz4' + 'ninja' + 'nlohmann-json' + 'opus' + 'qt6-base' + 'qt6-charts' + 'spirv-headers' + 'spirv-tools' + 'vulkan-headers' + 'vulkan-utility-libraries' + 'xbyak' + 'zlib' + 'zstd' +) +optdepends=( + 'qt6-wayland: native Wayland support' +) +provides=('eglantine') +conflicts=('eglantine') +source=("eglantine::git+https://github.com/Djihads80/Eglantine.git#branch=nx2") +sha256sums=('SKIP') + +pkgver() { + cd "$srcdir/eglantine" + printf '0.r%s.g%s' "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)" +} + +build() { + cmake -S "$srcdir/eglantine" -B "$srcdir/build" -G Ninja \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DENABLE_QT=ON \ + -DENABLE_UPDATE_CHECKER=OFF \ + -DYUZU_CMD=ON \ + -DYUZU_ROOM=OFF \ + -DYUZU_USE_BUNDLED_QT=OFF \ + -DYUZU_USE_BUNDLED_SDL3=OFF \ + -DYUZU_USE_BUNDLED_FFMPEG=OFF \ + -DYUZU_TESTS=OFF \ + -DBUILD_TESTING=OFF + cmake --build "$srcdir/build" --parallel +} + +package() { + DESTDIR="$pkgdir" cmake --install "$srcdir/build" + + # The desktop entry uses the Eglantine icon name; the upstream install uses + # the older Eden filename, so install an alias that matches the desktop file. + install -Dm644 "$srcdir/eglantine/dist/dev.eden_emu.eden.svg" \ + "$pkgdir/usr/share/icons/hicolor/scalable/apps/dev.eglantine.eglantine.svg" +} diff --git a/dist/packaging/arch/eglantine-git/README.md b/dist/packaging/arch/eglantine-git/README.md new file mode 100644 index 0000000000..ef201872c4 --- /dev/null +++ b/dist/packaging/arch/eglantine-git/README.md @@ -0,0 +1,26 @@ +# Arch Linux development package + +This directory contains a draft `eglantine-git` PKGBUILD for the open Linux +packaging request in [issue #167](https://github.com/Djihads80/Eglantine/issues/167). +It builds the `nx2` branch from source against Arch's system Qt, SDL3 and FFmpeg. +That avoids shipping Ubuntu-linked binaries to a rolling-release distribution +and gives the Qt frontend access to the host's platform plugins, including +Wayland when `qt6-wayland` is installed. + +## Local build + +On an up-to-date Arch Linux system, install the dependencies listed in +`PKGBUILD`, then run: + +```sh +makepkg --syncdeps --cleanbuild +``` + +For package review, also build it in a clean chroot with `extra-x86_64-build` +and inspect the result with `namcap`. The source branch moves over time, so +review the generated `.SRCINFO` after each `pkgver` update before publishing +this recipe to the AUR. + +This recipe is a starting point for review, not an official AUR package. It +does not modify the project's release binaries or CI workflow. The updater is +disabled because package updates should be handled by pacman/AUR helpers. |
