diff options
Diffstat (limited to 'net-misc/sunshine')
-rw-r--r-- | net-misc/sunshine/files/sunshine-miniupnpc.patch | 43 | ||||
-rw-r--r-- | net-misc/sunshine/sunshine-0.23.1.ebuild | 1 | ||||
-rw-r--r-- | net-misc/sunshine/sunshine-9999.ebuild | 11 |
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 |