Merge pull request #362 from omacom/fix/sunshine-aur-arm
Fix Sunshine AUR sync and ARM submodule checkout
This commit is contained in:
4 files changed
+47
-53
No files matched your search
@@ -1,4 +1,4 @@
|
|||||||
{
|
{
|
||||||
"source": "aur",
|
"source": "aur",
|
||||||
"upstream_commit": "3c38fe4064f8c8a49b9d2420468c29f812074d3f"
|
"upstream_commit": "42bc63ecad9478b35338d34ed923887bdbd81b29"
|
||||||
}
|
}
|
||||||
@@ -1,50 +1,49 @@
|
|||||||
--- a/PKGBUILD
|
--- a/PKGBUILD
|
||||||
+++ b/PKGBUILD
|
+++ b/PKGBUILD
|
||||||
@@ -36,7 +36,6 @@ depends=(
|
@@ -38,7 +38,6 @@
|
||||||
'libcap'
|
'libcap'
|
||||||
'libdrm'
|
'libdrm'
|
||||||
'libevdev'
|
'libevdev'
|
||||||
- 'libmfx'
|
- 'libmfx'
|
||||||
'libnotify'
|
|
||||||
'libpipewire'
|
'libpipewire'
|
||||||
'libpulse'
|
'libpulse'
|
||||||
@@ -53,6 +52,10 @@ depends=(
|
'libva'
|
||||||
|
@@ -58,6 +57,9 @@
|
||||||
'which'
|
'which'
|
||||||
)
|
)
|
||||||
|
|
||||||
+depends_x86_64=(
|
+# Intel Media SDK is unavailable on ARM.
|
||||||
+ 'libmfx'
|
+depends_x86_64=('libmfx')
|
||||||
+)
|
|
||||||
+
|
+
|
||||||
makedepends=(
|
makedepends=(
|
||||||
'appstream'
|
'appstream'
|
||||||
'appstream-glib'
|
'appstream-glib'
|
||||||
@@ -69,6 +72,10 @@ makedepends=(
|
@@ -72,6 +74,9 @@
|
||||||
'shaderc'
|
'shaderc'
|
||||||
)
|
)
|
||||||
|
|
||||||
+makedepends_aarch64=(
|
+# Use distro Vulkan headers instead of the bundled SDK's recursive sources.
|
||||||
+ 'vulkan-headers'
|
+makedepends_aarch64=('vulkan-headers')
|
||||||
+)
|
|
||||||
+
|
+
|
||||||
checkdepends=(
|
checkdepends=(
|
||||||
'gcovr'
|
'gcovr'
|
||||||
)
|
'imagemagick'
|
||||||
@@ -111,7 +118,12 @@ if [ -n "${optdepends+x}" ]; then
|
@@ -119,7 +124,13 @@
|
||||||
|
|
||||||
prepare() {
|
prepare() {
|
||||||
cd "$pkgname"
|
cd "$pkgname"
|
||||||
- git submodule update --recursive --init
|
- git submodule update --recursive --init --depth 1
|
||||||
+ if [[ $CARCH == aarch64 ]]; then
|
+ if [[ $CARCH == aarch64 ]]; then
|
||||||
+ git submodule update --init
|
+ git submodule update --init --depth 1
|
||||||
+ git -C third-party/moonlight-common-c submodule update --init enet
|
+ # Fetch Moonlight's nested sources without pulling in the bundled SDK.
|
||||||
|
+ git -C third-party/moonlight-common-c submodule update --recursive --init --depth 1
|
||||||
+ else
|
+ else
|
||||||
+ git submodule update --recursive --init
|
+ git submodule update --recursive --init --depth 1
|
||||||
+ fi
|
+ fi
|
||||||
|
}
|
||||||
|
|
||||||
# Backport https://github.com/LizardByte/Sunshine/commit/060b6b07d376e9ef4c4ce4a5c6d648d08fe0eab9
|
build() {
|
||||||
patch -Np1 -i "${srcdir}/2026.516.143833-060b6b07-remove-setuptools-from-glad-dependencies.patch"
|
@@ -149,6 +160,10 @@
|
||||||
@@ -145,6 +157,10 @@ build() {
|
|
||||||
-D SUNSHINE_PUBLISHER_ISSUE_URL='https://app.lizardbyte.dev/support'
|
-D SUNSHINE_PUBLISHER_ISSUE_URL='https://app.lizardbyte.dev/support'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
+23
-32
@@ -6,11 +6,11 @@
|
|||||||
: "${_support_headless_testing:=false}"
|
: "${_support_headless_testing:=false}"
|
||||||
: "${_use_cuda:=detect}" # nvenc
|
: "${_use_cuda:=detect}" # nvenc
|
||||||
|
|
||||||
: "${_commit:=14ffa6fdaa53f7b51512be2b3d24f3939695403c}"
|
: "${_commit:=cb72dffa3233c5815cd5ba88f09f049dd679ba75}"
|
||||||
|
|
||||||
pkgname='sunshine'
|
pkgname='sunshine'
|
||||||
pkgver=2026.516.143833
|
pkgver=2026.906.222525
|
||||||
pkgrel=4.1
|
pkgrel=1.1
|
||||||
pkgdesc="Self-hosted game stream host for Moonlight"
|
pkgdesc="Self-hosted game stream host for Moonlight"
|
||||||
arch=('x86_64' 'aarch64')
|
arch=('x86_64' 'aarch64')
|
||||||
url=https://app.lizardbyte.dev/Sunshine
|
url=https://app.lizardbyte.dev/Sunshine
|
||||||
@@ -32,11 +32,12 @@ depends=(
|
|||||||
'avahi'
|
'avahi'
|
||||||
'curl'
|
'curl'
|
||||||
'gcc-libs'
|
'gcc-libs'
|
||||||
|
'gtk3'
|
||||||
|
'hicolor-icon-theme'
|
||||||
'libayatana-appindicator'
|
'libayatana-appindicator'
|
||||||
'libcap'
|
'libcap'
|
||||||
'libdrm'
|
'libdrm'
|
||||||
'libevdev'
|
'libevdev'
|
||||||
'libnotify'
|
|
||||||
'libpipewire'
|
'libpipewire'
|
||||||
'libpulse'
|
'libpulse'
|
||||||
'libva'
|
'libva'
|
||||||
@@ -49,14 +50,15 @@ depends=(
|
|||||||
'numactl'
|
'numactl'
|
||||||
'openssl'
|
'openssl'
|
||||||
'opus'
|
'opus'
|
||||||
|
'qt6-base'
|
||||||
|
'qt6-svg'
|
||||||
'udev'
|
'udev'
|
||||||
'vulkan-icd-loader'
|
'vulkan-icd-loader'
|
||||||
'which'
|
'which'
|
||||||
)
|
)
|
||||||
|
|
||||||
depends_x86_64=(
|
# Intel Media SDK is unavailable on ARM.
|
||||||
'libmfx'
|
depends_x86_64=('libmfx')
|
||||||
)
|
|
||||||
|
|
||||||
makedepends=(
|
makedepends=(
|
||||||
'appstream'
|
'appstream'
|
||||||
@@ -72,12 +74,12 @@ makedepends=(
|
|||||||
'shaderc'
|
'shaderc'
|
||||||
)
|
)
|
||||||
|
|
||||||
makedepends_aarch64=(
|
# Use distro Vulkan headers instead of the bundled SDK's recursive sources.
|
||||||
'vulkan-headers'
|
makedepends_aarch64=('vulkan-headers')
|
||||||
)
|
|
||||||
|
|
||||||
checkdepends=(
|
checkdepends=(
|
||||||
'gcovr'
|
'gcovr'
|
||||||
|
'imagemagick'
|
||||||
)
|
)
|
||||||
|
|
||||||
optdepends=(
|
optdepends=(
|
||||||
@@ -87,16 +89,8 @@ optdepends=(
|
|||||||
provides=()
|
provides=()
|
||||||
conflicts=()
|
conflicts=()
|
||||||
|
|
||||||
source=(
|
source=("$pkgname::git+https://github.com/LizardByte/Sunshine.git#commit=${_commit}")
|
||||||
"$pkgname::git+https://github.com/LizardByte/Sunshine.git#commit=${_commit}"
|
sha256sums=('SKIP')
|
||||||
'2026.516.143833-060b6b07-remove-setuptools-from-glad-dependencies.patch'
|
|
||||||
'2026.516.143833-3377f7a7-link-shared-libstdcxx-with-gcc-15.patch'
|
|
||||||
)
|
|
||||||
sha256sums=(
|
|
||||||
'SKIP'
|
|
||||||
'06a78d624975887541e2b0013b3085e798195e334fdb05d35caf4bbad818ddde'
|
|
||||||
'63f86f6ffd6d9f3da35353109fa4a4df9a900a791f70b29cafc8e464b870337d'
|
|
||||||
)
|
|
||||||
|
|
||||||
# Options Handling
|
# Options Handling
|
||||||
if [[ "${_use_cuda::1}" == "d" ]] && pacman -Qi cuda &> /dev/null; then
|
if [[ "${_use_cuda::1}" == "d" ]] && pacman -Qi cuda &> /dev/null; then
|
||||||
@@ -131,22 +125,17 @@ fi
|
|||||||
prepare() {
|
prepare() {
|
||||||
cd "$pkgname"
|
cd "$pkgname"
|
||||||
if [[ $CARCH == aarch64 ]]; then
|
if [[ $CARCH == aarch64 ]]; then
|
||||||
git submodule update --init
|
git submodule update --init --depth 1
|
||||||
git -C third-party/moonlight-common-c submodule update --init enet
|
# Fetch Moonlight's nested sources without pulling in the bundled SDK.
|
||||||
|
git -C third-party/moonlight-common-c submodule update --recursive --init --depth 1
|
||||||
else
|
else
|
||||||
git submodule update --recursive --init
|
git submodule update --recursive --init --depth 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Backport https://github.com/LizardByte/Sunshine/commit/060b6b07d376e9ef4c4ce4a5c6d648d08fe0eab9
|
|
||||||
patch -Np1 -i "${srcdir}/2026.516.143833-060b6b07-remove-setuptools-from-glad-dependencies.patch"
|
|
||||||
|
|
||||||
# Backport the GCC 15+ linking fix from https://github.com/LizardByte/Sunshine/commit/3377f7a73f8768518430f4c771987153fcd77b77
|
|
||||||
patch -Np1 -i "${srcdir}/2026.516.143833-3377f7a7-link-shared-libstdcxx-with-gcc-15.patch"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
export BRANCH="master"
|
export BRANCH="master"
|
||||||
export BUILD_VERSION="2026.516.143833"
|
export BUILD_VERSION="2026.906.222525"
|
||||||
export COMMIT="${_commit}"
|
export COMMIT="${_commit}"
|
||||||
|
|
||||||
export CC="gcc${_gcc_env_suffix}"
|
export CC="gcc${_gcc_env_suffix}"
|
||||||
@@ -198,7 +187,7 @@ build() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -z "${GITHUB_ACTIONS}" ]]; then
|
if [[ -z "${GITHUB_ACTIONS}" ]]; then
|
||||||
_appstreamcli_arguments=(--no-net)
|
_appstreamcli_arguments=(--no-net)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cmake "${_cmake_options[@]}"
|
cmake "${_cmake_options[@]}"
|
||||||
@@ -217,7 +206,9 @@ check() {
|
|||||||
export CXX="g++${_gcc_env_suffix}"
|
export CXX="g++${_gcc_env_suffix}"
|
||||||
|
|
||||||
cd "${srcdir}/build/tests"
|
cd "${srcdir}/build/tests"
|
||||||
./test_sunshine --gtest_color=yes --gtest_output=xml:test_results.xml
|
# Do not silently upload misleading coverage if the gcov runtime cannot
|
||||||
|
# write profile data, such as when its version differs from the compiler.
|
||||||
|
GCOV_EXIT_AT_ERROR=1 ./test_sunshine --gtest_color=yes --gtest_output=xml:test_results.xml
|
||||||
|
|
||||||
# Generate coverage report
|
# Generate coverage report
|
||||||
# Run gcovr from the build directory (where all .gcda/.gcno files are)
|
# Run gcovr from the build directory (where all .gcda/.gcno files are)
|
||||||
|
|||||||
@@ -1,11 +1,15 @@
|
|||||||
|
# shellcheck shell=bash
|
||||||
|
|
||||||
do_setcap() {
|
do_setcap() {
|
||||||
setcap cap_sys_admin,cap_sys_nice+p $(readlink -f usr/bin/sunshine)
|
setcap cap_sys_admin,cap_sys_nice+p "$(readlink -f usr/bin/sunshine)"
|
||||||
}
|
}
|
||||||
|
|
||||||
do_udev_reload() {
|
do_udev_reload() {
|
||||||
udevadm control --reload-rules
|
udevadm control --reload-rules
|
||||||
udevadm trigger --property-match=DEVNAME=/dev/uinput
|
udevadm trigger --property-match=DEVNAME=/dev/uinput
|
||||||
udevadm trigger --property-match=DEVNAME=/dev/uhid
|
udevadm trigger --property-match=DEVNAME=/dev/uhid
|
||||||
|
udevadm trigger --subsystem-match=hidraw
|
||||||
|
udevadm trigger --subsystem-match=input
|
||||||
modprobe uinput || true
|
modprobe uinput || true
|
||||||
modprobe uhid || true
|
modprobe uhid || true
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user