aboutsummaryrefslogtreecommitdiff
path: root/dist/packaging/arch/eglantine-git
diff options
context:
space:
mode:
Diffstat (limited to 'dist/packaging/arch/eglantine-git')
-rw-r--r--dist/packaging/arch/eglantine-git/PKGBUILD78
-rw-r--r--dist/packaging/arch/eglantine-git/README.md26
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.