summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/sunshine')
-rw-r--r--net-misc/sunshine/files/sunshine-miniupnpc.patch43
-rw-r--r--net-misc/sunshine/sunshine-0.23.1.ebuild1
-rw-r--r--net-misc/sunshine/sunshine-9999.ebuild11
3 files changed, 53 insertions, 2 deletions
diff --git a/net-misc/sunshine/files/sunshine-miniupnpc.patch b/net-misc/sunshine/files/sunshine-miniupnpc.patch
new file mode 100644
index 000000000000..3847724eedc5
--- /dev/null
+++ b/net-misc/sunshine/files/sunshine-miniupnpc.patch
@@ -0,0 +1,43 @@
+https://bugs.gentoo.org/934173
+https://github.com/LizardByte/Sunshine/pull/2746
+
+From 850f656676d30ffb47028e865982e56be161d179 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Sun, 23 Jun 2024 16:21:23 +0100
+Subject: [PATCH] fix(upnp): Support miniupnpc API version 18 (release 2.2.8)
+
+---
+ src/upnp.cpp | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/src/upnp.cpp b/src/upnp.cpp
+index 2743ebae..e6ec057b 100644
+--- a/src/upnp.cpp
++++ b/src/upnp.cpp
+@@ -109,7 +109,11 @@ namespace upnp {
+ IGDdatas data;
+ urls_t urls;
+ std::array<char, INET6_ADDRESS_STRLEN> lan_addr;
++#if (MINIUPNPC_API_VERSION >= 18)
++ auto status = UPNP_GetValidIGD(device.get(), &urls.el, &data, lan_addr.data(), lan_addr.size(), nullptr, 0);
++#else
+ auto status = UPNP_GetValidIGD(device.get(), &urls.el, &data, lan_addr.data(), lan_addr.size());
++#endif
+ if (status != 1 && status != 2) {
+ BOOST_LOG(debug) << "No valid IPv6 IGD: "sv << status_string(status);
+ return false;
+@@ -331,7 +335,11 @@ namespace upnp {
+ std::array<char, INET6_ADDRESS_STRLEN> lan_addr;
+
+ urls_t urls;
++#if (MINIUPNPC_API_VERSION >= 18)
++ auto status = UPNP_GetValidIGD(device.get(), &urls.el, &data, lan_addr.data(), lan_addr.size(), nullptr, 0);
++#else
+ auto status = UPNP_GetValidIGD(device.get(), &urls.el, &data, lan_addr.data(), lan_addr.size());
++#endif
+ if (status != 1 && status != 2) {
+ BOOST_LOG(error) << status_string(status);
+ mapped = false;
+--
+2.45.2
+
diff --git a/net-misc/sunshine/sunshine-0.23.1.ebuild b/net-misc/sunshine/sunshine-0.23.1.ebuild
index f700216a63b6..d197b35c6616 100644
--- a/net-misc/sunshine/sunshine-0.23.1.ebuild
+++ b/net-misc/sunshine/sunshine-0.23.1.ebuild
@@ -179,6 +179,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-custom-ffmpeg.patch
"${FILESDIR}"/${PN}-0.22.0-nvcodec.patch
"${FILESDIR}"/${PN}-find-npm.patch
+ "${FILESDIR}"/${PN}-miniupnpc.patch
)
# Make this mess a bit simpler.
diff --git a/net-misc/sunshine/sunshine-9999.ebuild b/net-misc/sunshine/sunshine-9999.ebuild
index daa9608b1d60..fc9ced64a545 100644
--- a/net-misc/sunshine/sunshine-9999.ebuild
+++ b/net-misc/sunshine/sunshine-9999.ebuild
@@ -6,6 +6,7 @@ EAPI=8
# These don't necessarily have to align with the upstream release.
BUILD_DEPS_COMMIT="2aafe061cd52a944cb3b5f86d1f25e9ad2a19bec"
ENET_COMMIT="04e27590670a87a7cd40f5a05cda97467e4e25a3"
+INPUTTINO_COMMIT="8a33706a146787a1ed3666ce52888634dd16cb86"
MOONLIGHT_COMMIT="cbd0ec1b25edfb8ee8645fffa49ff95b6e04c70e"
NANORS_COMMIT="e9e242e98e27037830490b2a752895ca68f75f8b"
TRAY_COMMIT="4d8b798cafdd11285af9409c16b5f792968e0045"
@@ -28,6 +29,8 @@ else
-> LizardByte-build-deps-${BUILD_DEPS_COMMIT}.tar.gz
https://github.com/cgutman/enet/archive/${ENET_COMMIT}.tar.gz
-> moonlight-enet-${ENET_COMMIT}.tar.gz
+ https://github.com/games-on-whales/inputtino/archive/${INPUTTINO_COMMIT}.tar.gz
+ -> inputtino-${INPUTTINO_COMMIT}.tar.gz
https://github.com/moonlight-stream/moonlight-common-c/archive/${MOONLIGHT_COMMIT}.tar.gz
-> moonlight-common-c-${MOONLIGHT_COMMIT}.tar.gz
https://github.com/sleepybishop/nanors/archive/${NANORS_COMMIT}.tar.gz
@@ -123,7 +126,7 @@ REQUIRED_USE="
"
CDEPEND="
- dev-libs/boost:=[nls]
+ >=dev-libs/boost-1.85:=[nls]
dev-libs/libevdev
dev-libs/openssl:=
media-libs/opus
@@ -208,7 +211,7 @@ src_unpack() {
local EGIT_REPO_URI="https://github.com/LizardByte/Sunshine.git"
local EGIT_SUBMODULES=(
- third-party/{moonlight-common-c{,/enet},nanors,tray,Simple-Web-Server,wlr-protocols}
+ third-party/{inputtino,moonlight-common-c{,/enet},nanors,tray,Simple-Web-Server,wlr-protocols}
)
unset EGIT_CHECKOUT_DIR EGIT_COMMIT EGIT_BRANCH
git-r3_src_unpack
@@ -222,6 +225,7 @@ src_unpack() {
find moonlight-common-c-${MOONLIGHT_COMMIT} "${S}"/third-party build-deps/ffmpeg_sources \
-mindepth 1 -type d -empty -delete || die
ln -snf ../enet-${ENET_COMMIT} moonlight-common-c-${MOONLIGHT_COMMIT}/enet || die
+ ln -snf ../../inputtino-${INPUTTINO_COMMIT} "${S}"/third-party/inputtino || die
ln -snf ../../moonlight-common-c-${MOONLIGHT_COMMIT} "${S}"/third-party/moonlight-common-c || die
ln -snf ../../nanors-${NANORS_COMMIT} "${S}"/third-party/nanors || die
ln -snf ../../tray-${TRAY_COMMIT} "${S}"/third-party/tray || die
@@ -332,7 +336,10 @@ src_configure() {
CMAKE_USE_DIR="${WORKDIR}/build-deps" cmake_src_configure
local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=no
+ -DBOOST_USE_STATIC=no
-DBUILD_TESTS=no
+ -DCCACHE_FOUND=no
-DCMAKE_DISABLE_FIND_PACKAGE_Git=yes
-DFFMPEG_PLATFORM_LIBRARIES="$(usex svt-av1 SvtAv1Enc '');$(usex vaapi 'va;va-drm' '');$(usev x264);$(usev x265)"
-DFFMPEG_PREPARED_BINARIES="${S}"/third-party/ffmpeg