commit:     9d1346c5d73d98ed3b982e33cf2afe7ef4596621
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 17 22:50:30 2025 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Tue Jun 17 22:50:30 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9d1346c5

net-misc/sunshine: Drop old 0.23.1

Bug: https://bugs.gentoo.org/956631
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>

 net-misc/sunshine/Manifest                         |  10 -
 .../sunshine/files/sunshine-0.22.0-nvcodec.patch   |  27 --
 net-misc/sunshine/files/sunshine-0.23.1-amf.patch  |  17 -
 net-misc/sunshine/files/sunshine-boost-1.86.patch  | 150 --------
 net-misc/sunshine/files/sunshine-boost-1.87.patch  | 100 ------
 net-misc/sunshine/files/sunshine-cross-cbs.patch   |  59 ----
 .../sunshine/files/sunshine-custom-ffmpeg.patch    | 162 ---------
 net-misc/sunshine/files/sunshine-find-npm.patch    |  92 -----
 net-misc/sunshine/files/sunshine-miniupnpc.patch   |  43 ---
 net-misc/sunshine/sunshine-0.23.1.ebuild           | 381 ---------------------
 10 files changed, 1041 deletions(-)

diff --git a/net-misc/sunshine/Manifest b/net-misc/sunshine/Manifest
index 7366fb1b756a..455f2ae3f992 100644
--- a/net-misc/sunshine/Manifest
+++ b/net-misc/sunshine/Manifest
@@ -1,22 +1,12 @@
 DIST LizardByte-build-deps-1ac1b57c6d96dceb646170d1c2f0a35703c4c50e.tar.gz 
29094 BLAKE2B 
8c79353150c764da40821463e0fd682a2f9c17154691c08801a13dd4c1f51ec292a214a4a931506e978ac36247aaa9aa827d15a6e39a253fb4b7dcd899b850ea
 SHA512 
cd6869bbd562dbe4f5797fc28113bf0eb5eaa12f2622b99fc54d2ed04bc3bfc50c9f3fb54529fec03963439a6d745626dca77531b4d968f4554359e0dcf2e8b6
-DIST LizardByte-build-deps-2aafe061cd52a944cb3b5f86d1f25e9ad2a19bec.tar.gz 
24171 BLAKE2B 
bcc8f1829eae4ba85a9cbdaca7876a4a52c979f3b8ef0f0a56876fcb171025544bd1997455c2b8fff59564deca433366ae03f14cbb0929f78c87f991b269156f
 SHA512 
892184ec0ff321b2b7e2000dc605d1162955cb04ff259f6032f124f1ff50a1fe485e2cf2c0b735788f8615c9aba87ca040205599cb4b91881daa462a53340bd7
-DIST LizardByte-tray-4d8b798cafdd11285af9409c16b5f792968e0045.tar.gz 1068346 
BLAKE2B 
6da778c6dc1efb1147363de239a4170dad23288322285b847ed86837b316162bce861b848b8371ea8562efbfa0d36dc6921e8a36da0a05740e3f6aa1da29fae1
 SHA512 
9c6535a6a3ba4489b5af0821a8c42bbb706259c10d70237bd3d3b31283a7e8ad0e3c2326a34c229d899389156909c36252a931ea47eef8daeb8b7c54b26e92cb
 DIST LizardByte-tray-d45306e686c90a18f5792a1541783d7bc8555bc6.tar.gz 1083704 
BLAKE2B 
a7fd4e029a8fc531122312483e21373739eb3a5d11b9048259b7a57313bbb0bbfe695e5873b02be4cfb40c68b989e68338ccd2a6cce9f018f574ac0de779efef
 SHA512 
b4e4ab0c6d239aaa41dbe09ad818b7bfc80578c5119bd324943fa5e850c004995d228a6241639b2f91ef6bc84417ac9cd4a4af87d6529a313bc37a0bf80544c4
-DIST Simple-Web-Server-27b41f5ee154cca0fce4fe2955dd886d04e3a4ed.tar.bz2 63258 
BLAKE2B 
e80a6cd92825038ca75b973281b676584f9e488b45b1f9c6ed526236c0a7188b97ae2bba9d7b5557893452dd1ba8778faff2ade840cc169d20b4cf0e51fc8394
 SHA512 
2eba1d8bd53bb3e29e51a72000918b44730f73b4df26824f25cb6a4860dd21f8aaa7f77124fb500ffe9601ebeca66d1c21a06cad239ed27481e9cae088afbd44
 DIST Simple-Web-Server-4abe3491582b56c0b18fc35278aad33b2db29cdc.tar.bz2 63446 
BLAKE2B 
0a07d4b3f198ad8c24e42a8a01df86c9386eab1bf28388851d5d7c09fbe28a28023a03c07202aef18b16ae2ff0398a61f0770595e13a11251611903dba293e5e
 SHA512 
400eea353f7004ae5a7c59cb1f9f102bb3636cf1ab5ea24b07d8895c7b22d8a9b6a433740fbc295ca037b995492ab3b1620c13e1bc490b39c2cc3629ac5b2de2
-DIST ffmpeg-6.1.1.tar.xz 10458600 BLAKE2B 
77827ff92b47c773ed82e7b7793dbb135c370fe23501169cb1eab08ff5ede77cfd5b397e8fb1d38756812cc82277898fd5c74b7d8495842556570c0c5570daeb
 SHA512 
fca3f8635f29182e3ae0fe843a8a53614e4b47e22c11508df3ff7cdbafbb4b5ee0d82d9b3332871f7c1032033b1cad2f67557d7c5f7f7d85e2adadca122965d5
 DIST ffmpeg-7.1.1.tar.xz 11019500 BLAKE2B 
85d1850bfa39ec28d358b5454daa7c1cf8580af73a6f83e7c070ea94db40ad485adbaeb89e886e0b3908e0f1765bd9f2b40ddd838e33e0a76e5b286917535310
 SHA512 
42486e485c8fc6f3ec61598a1a7cb40360535762b3fcf28c10d7c6840bc55afe3334434912746e69eef862d3cedf45a02953bde73d38547d2d9a7a38a65e123a
 DIST inputtino-8065aeb46e5e5980e700d9c1f1be3c4f7ec29630.tar.gz 80517 BLAKE2B 
45931bb168aa685c1a7fbd2ec86f50c514aebe327d44e65b8834f064126a01df2ee5256954bf0f83fb6df9efaa700f2a13f1d7503c6f0a93e26472af64231b2d
 SHA512 
c6c0d3f3b1bf1a932d8d61a2afb3f133439f173710236b9beee5dcd49c67ea4473d658ff7eb0cf86e949aa5c24aed7a7305a0f6ffed7c686cde8e616320c2a5f
 DIST libdisplaydevice-2025.411.113543.tar.gz 121203 BLAKE2B 
f5cd0c14dd01b3e0af0c33bb94bbcc6fdb367b7582145fc0189f1ce7fd3e013060ef72c028861d56ded8e917c0f16aebdc90372abecff43941cd24d98118488b
 SHA512 
f5cf62f022cd0ba5972ee30f76d1917fc760a12342c473df2c853630317367e7c2ad0c6e63a278c01c5642abf1504a6ed46a6bd0567a0e84f6220b34136b0807
-DIST moonlight-common-c-cbd0ec1b25edfb8ee8645fffa49ff95b6e04c70e.tar.gz 148691 
BLAKE2B 
2650e48ef5d08b5e4a901e0b394364335503cd717ae75b4ecf5329395f39d3312a9bbfe08137d2b7697f7b1672749d148e100fbaa5c7f87d190ab8157f158639
 SHA512 
f1d7848138b85a88abf798774f12f6491e19ae5e7699715b0454bfccc184439fba0ebf7e05327fd649e320e5d1ad610c57fe71190f92cf2248c8f974f9d79aaf
 DIST moonlight-common-c-d3d3e6cf015cd032ce02718246b52aabd1e12294.tar.gz 150660 
BLAKE2B 
a752157fb50e7994f62b83421a56d46e168b542e2a34f99d4b3d2af8c44489a46f4caa4b2938410c48e8c3940348ed4ff02d2f118d66afc276f2c0008f28ab02
 SHA512 
00d8a80125065db623f1f4a2c1da8df599ec3e0bc90d044af04ce1ccc10af469e9e2f8bd7c397b7f01e118d039be72e5b5e28640d3eab8f0ff5061a9cbec1de9
-DIST moonlight-enet-04e27590670a87a7cd40f5a05cda97467e4e25a3.tar.gz 86434 
BLAKE2B 
8a5535843e4c650b945882abac1542bf8c79dc420607b88433d239aa5a17380f02e77bb8f1fcbe45dcb8ef894e6c9b4d940f4d3b34b956ce42d86f6a8ca5227a
 SHA512 
6d2e9447e546489365b1fb563ed52664a91981717a3a3a9faa9600ab62be5ac09bd24ee9dd505833d31981ce6222f5ef430268a9f92aa83fa288b5b8d681e2aa
 DIST moonlight-enet-44c85e16279553d9c052e572bcbfcd745fb74abf.tar.gz 86750 
BLAKE2B 
e378708d7bcc055a1f9f29f07fe974be18ea054b86c5d8c8f578d63ac20143440058498b5adcaedec1ed6914f0a941992c6762fb1798226eac89fbd714d822c7
 SHA512 
7be5a8080ef3bc897a88a31571d55faaba1ba92c3651ba8d487f46fece0f79832b08c9abc701757b50b4a899ee973ad346f4f0d9f6bc104f34303dd04c09b503
 DIST nanors-19f07b513e924e471cadd141943c1ec4adc8d0e0.tar.gz 194695 BLAKE2B 
6b9294c602252aa4e78c87786fdf8586886f2ab798f7c9c190e51af8c15ec3e3da34e8f3ebfae104b3a190dcde830159224384653c858a031e5e36ddb5f9a3b0
 SHA512 
3b6999babc3db7981ffc7db4655cf15d66fcdb12c2b553f6db1b4e8705a16b689997b2038cfa634f979f55370a26f8ff1c36a0d8ace08e3e4192e7f369748c82
-DIST nanors-e9e242e98e27037830490b2a752895ca68f75f8b.tar.gz 194694 BLAKE2B 
1effd7c0884ffd38b63d61a7872337797529ef2012f9de0950088a5004cb32a2fb2c14bcab2ec6719968864e5e6b9a67e96afa39466e2071bf4a0cd752ae4b29
 SHA512 
548be25650619a6c31944cd7a745fd40d5bc5008f2d7f91e0207a10b923764cb88fd2ddcb71eaed7c4863ec89b34d61011b666e292da071ac3b4429e4d7dd027
-DIST sunshine-0.23.1.tar.gz 24503568 BLAKE2B 
0c589f38a7d638c49af6385def2676de04af422f85d37228988bd7c822ffc006dbac0a1695e01527ac7a1d5ee28103cff00d78a97d57f61247772a6e6cc1fe18
 SHA512 
7a9150baf4ecdad1035666993c60744390e227ebeaf467447c53675dc0aecc7031cd9c9b253fbbbbac072f5592c3690c6acfde41f38d441497a17157417f1e16
 DIST sunshine-2025.122.141614.tar.gz 24363526 BLAKE2B 
129cc51263138d3114129ff5b23c23ea2623b443b10e1678ae31ec6cf25244b5607d797220d17207732bd738acd011418bee4e059ae69f69f9585f81b75bc2e1
 SHA512 
cdaa24bb38bf7bbbbf8736066290b36a47f1b34ca8864329b4e504a3df27b6d1cd272649643f69de8834b6aa30d11a3260cbb2a9cfa38c46ef9aad7b4dd3ca9e
-DIST sunshine-assets-0.23.1.tar.xz 1269348 BLAKE2B 
36dd00fbf4bb1bfa213d53fd9dc78ed1fee9e12efcfb138dbd54932c3f19447d832da506175a982be7564408e06b0699b0b7cb4b9811ab81b47e30681c915bab
 SHA512 
9fe9e0ee29864faa0f67dd4d501d116be1476f2c7ec688646b91eb87cb38e9e9d2baecb8335df29075fd3f60bf05b900c20dcb8406306d68a62c30ff55d1b7aa
 DIST sunshine-assets-2025.122.141614.tar.xz 1333740 BLAKE2B 
2593b1af1cf2405dd7bfbcbde09ca361af99db8cafc40e4d938257f96671b070940f8744df7a79a46820bfa56650f80101d5490d1e2008aa918be436de95184e
 SHA512 
cc4dede6c258008585b7dd53df370a5a8f1b6fd9dc109404df766afee6c469c387f41d7f3fae8abffea8917ea93eed7faf95f8e688192ec5c339dbaa198a4191
-DIST wlr-protocols-2b8d43325b7012cc3f9b55c08d26e50e42beac7d.tar.bz2 19708 
BLAKE2B 
fe20f21ee8282d7afcdbb8f3863e50b217fb71e7814f404f288b0d09d30c9e30135769b12342d9e9126a8cb2ab35d6ced0c5562807d274b1d97224f5f3d02511
 SHA512 
7935b5089820304aa8cb0e1a8f4e0db6ccd5285973a3f3554ccc935dd88e379eb03c3b2dd199da97b6ff8dfbbbf124ca65fb1c12821a168d34bd7e26d8514edb
 DIST wlr-protocols-ffb89ac790096f6e6272822c8d5df7d0cc6fcdfa.tar.bz2 19875 
BLAKE2B 
1150fc20a55bf034d622aef1729aebb72677da542fba96a2d732486b87404143406902b63bbcbb6ffc1ec7b4bd8b1916d791c3b8b954e9810ae81358a423a01e
 SHA512 
6712a9b6fbbed588470a9b5e71653d168a63ad285e18eb1ba32c030704475d56a8de0a52b192a379ffa49e79879a5b4976f275ecbf6dd2a96822f7e03b04eeb1

diff --git a/net-misc/sunshine/files/sunshine-0.22.0-nvcodec.patch 
b/net-misc/sunshine/files/sunshine-0.22.0-nvcodec.patch
deleted file mode 100644
index bc7681beedf0..000000000000
--- a/net-misc/sunshine/files/sunshine-0.22.0-nvcodec.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 36b5a18ffd0cdf379b579db91bfaacc46e8c4757 Mon Sep 17 00:00:00 2001
-From: James Le Cuirot <[email protected]>
-Date: Sun, 18 Feb 2024 10:25:25 +0000
-Subject: [PATCH] Be less strict about the nv-codec-headers version
-
-Using the bundled version is awkward. Restrict the major version only
-and deal with any issues later.
----
- src/nvenc/nvenc_base.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/nvenc/nvenc_base.cpp b/src/nvenc/nvenc_base.cpp
-index b9eba5a..e11c4e2 100644
---- a/src/nvenc/nvenc_base.cpp
-+++ b/src/nvenc/nvenc_base.cpp
-@@ -11,7 +11,7 @@
- // - NV_ENC_*_VER definitions where the value inside 
NVENCAPI_STRUCT_VERSION() was increased
- // - Incompatible struct changes in nvEncodeAPI.h (fields removed, semantics 
changed, etc.)
- // - Test both old and new drivers with all supported codecs
--#if NVENCAPI_VERSION != MAKE_NVENC_VER(12U, 0U)
-+#if NVENCAPI_MAJOR_VERSION != 12
-   #error Check and update NVENC code for backwards compatibility!
- #endif
- 
--- 
-2.43.0
-

diff --git a/net-misc/sunshine/files/sunshine-0.23.1-amf.patch 
b/net-misc/sunshine/files/sunshine-0.23.1-amf.patch
deleted file mode 100644
index b08fcc1e2515..000000000000
--- a/net-misc/sunshine/files/sunshine-0.23.1-amf.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-https://bugs.gentoo.org/950686
-https://github.com/LizardByte/Sunshine/commit/7dd836dab63e15db54f18ed2b64cb394aa30c308#diff-6b2f0a449fdefd8930e23ef0dcd752beec69242e1303d77653f047c5e0766385
-
-diff --git a/src/config.cpp b/src/config.cpp
-index 6a9e1cec..366e2b2a 100644
---- a/src/config.cpp
-+++ b/src/config.cpp
-@@ -100,6 +100,9 @@ namespace config {
-   #define AMF_VIDEO_ENCODER_CABAC 1
-   #define AMF_VIDEO_ENCODER_CALV 2
- #else
-+  #ifdef _GLIBCXX_USE_C99_INTTYPES
-+    #undef _GLIBCXX_USE_C99_INTTYPES
-+  #endif
-   #include <AMF/components/VideoEncoderAV1.h>
-   #include <AMF/components/VideoEncoderHEVC.h>
-   #include <AMF/components/VideoEncoderVCE.h>

diff --git a/net-misc/sunshine/files/sunshine-boost-1.86.patch 
b/net-misc/sunshine/files/sunshine-boost-1.86.patch
deleted file mode 100644
index 374e8b5ab004..000000000000
--- a/net-misc/sunshine/files/sunshine-boost-1.86.patch
+++ /dev/null
@@ -1,150 +0,0 @@
-diff --git a/src/platform/common.h b/src/platform/common.h
-index 007f7ece..e3827d33 100644
---- a/src/platform/common.h
-+++ b/src/platform/common.h
-@@ -23,6 +23,14 @@ extern "C" {
- 
- using namespace std::literals;
- 
-+#if BOOST_VERSION < 108600
-+#include <boost/process.hpp>
-+namespace bp = boost::process;
-+#else
-+#include <boost/process/v1.hpp>
-+namespace bp = boost::process::v1;
-+#endif
-+
- struct sockaddr;
- struct AVFrame;
- struct AVBufferRef;
-@@ -39,7 +47,11 @@ namespace boost {
-   namespace filesystem {
-     class path;
-   }
-+#if BOOST_VERSION < 108600
-   namespace process {
-+#else
-+  namespace process::inline v1 {
-+#endif
-     class child;
-     class group;
-     template <typename Char>
-@@ -585,8 +597,8 @@ namespace platf {
-   bool
-   needs_encoder_reenumeration();
- 
--  boost::process::child
--  run_command(bool elevated, bool interactive, const std::string &cmd, 
boost::filesystem::path &working_dir, const boost::process::environment &env, 
FILE *file, std::error_code &ec, boost::process::group *group);
-+  bp::child
-+  run_command(bool elevated, bool interactive, const std::string &cmd, 
boost::filesystem::path &working_dir, const bp::environment &env, FILE *file, 
std::error_code &ec, bp::group *group);
- 
-   enum class thread_priority_e : int {
-     low,
-diff --git a/src/platform/linux/misc.cpp b/src/platform/linux/misc.cpp
-index 980c0804..1eed6c76 100644
---- a/src/platform/linux/misc.cpp
-+++ b/src/platform/linux/misc.cpp
-@@ -15,7 +15,6 @@
- // lib includes
- #include <arpa/inet.h>
- #include <boost/asio/ip/address.hpp>
--#include <boost/process.hpp>
- #include <dlfcn.h>
- #include <fcntl.h>
- #include <ifaddrs.h>
-@@ -40,7 +39,6 @@
- 
- using namespace std::literals;
- namespace fs = std::filesystem;
--namespace bp = boost::process;
- 
- window_system_e window_system;
- 
-@@ -269,7 +267,7 @@ namespace platf {
-     auto working_dir = boost::filesystem::path(std::getenv("HOME"));
-     std::string cmd = R"(xdg-open ")" + url + R"(")";
- 
--    boost::process::environment _env = boost::this_process::environment();
-+    bp::environment _env = boost::this_process::environment();
-     std::error_code ec;
-     auto child = run_command(false, false, cmd, working_dir, _env, nullptr, 
ec, nullptr);
-     if (ec) {
-diff --git a/src/process.cpp b/src/process.cpp
-index 89dc4dc5..678a48f6 100644
---- a/src/process.cpp
-+++ b/src/process.cpp
-@@ -40,7 +40,6 @@
- 
- namespace proc {
-   using namespace std::literals;
--  namespace bp = boost::process;
-   namespace pt = boost::property_tree;
- 
-   proc_t proc;
-@@ -131,7 +130,7 @@ namespace proc {
-     // If the cmd path is not an absolute path, resolve it using our PATH 
variable
-     boost::filesystem::path cmd_path(parts.at(0));
-     if (!cmd_path.is_absolute()) {
--      cmd_path = boost::process::search_path(parts.at(0));
-+      cmd_path = bp::search_path(parts.at(0));
-       if (cmd_path.empty()) {
-         BOOST_LOG(error) << "Unable to find executable ["sv << parts.at(0) << 
"]. Is it in your PATH?"sv;
-         return boost::filesystem::path();
-diff --git a/src/process.h b/src/process.h
-index c8754992..771af105 100644
---- a/src/process.h
-+++ b/src/process.h
-@@ -11,8 +11,6 @@
- #include <optional>
- #include <unordered_map>
- 
--#include <boost/process.hpp>
--
- #include "config.h"
- #include "platform/common.h"
- #include "rtsp.h"
-@@ -68,7 +66,7 @@ namespace proc {
-     KITTY_DEFAULT_CONSTR_MOVE_THROW(proc_t)
- 
-     proc_t(
--      boost::process::environment &&env,
-+      bp::environment &&env,
-       std::vector<ctx_t> &&apps):
-         _app_id(0),
-         _env(std::move(env)),
-@@ -99,7 +97,7 @@ namespace proc {
-   private:
-     int _app_id;
- 
--    boost::process::environment _env;
-+    bp::environment _env;
-     std::vector<ctx_t> _apps;
-     ctx_t _app;
-     std::chrono::steady_clock::time_point _app_launch_time;
-@@ -107,8 +105,8 @@ namespace proc {
-     // If no command associated with _app_id, yet it's still running
-     bool placebo {};
- 
--    boost::process::child _process;
--    boost::process::group _process_group;
-+    bp::child _process;
-+    bp::group _process_group;
- 
-     file_t _pipe;
-     std::vector<cmd_t>::const_iterator _app_prep_it;
-diff --git a/src/system_tray.cpp b/src/system_tray.cpp
-index c34c3d75..e684ec83 100644
---- a/src/system_tray.cpp
-+++ b/src/system_tray.cpp
-@@ -33,7 +33,11 @@
-   // lib includes
-   #include "tray/tray.h"
-   #include <boost/filesystem.hpp>
-+#if BOOST_VERSION < 108600
-   #include <boost/process/environment.hpp>
-+#else
-+  #include <boost/process/v1/environment.hpp>
-+#endif
- 
-   // local includes
-   #include "confighttp.h"

diff --git a/net-misc/sunshine/files/sunshine-boost-1.87.patch 
b/net-misc/sunshine/files/sunshine-boost-1.87.patch
deleted file mode 100644
index ba871fcab26b..000000000000
--- a/net-misc/sunshine/files/sunshine-boost-1.87.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-diff --git a/src/rtsp.cpp b/src/rtsp.cpp
-index 0180fbee..da20d134 100644
---- a/src/rtsp.cpp
-+++ b/src/rtsp.cpp
-@@ -90,8 +90,8 @@ namespace rtsp_stream {
- 
-   class socket_t: public std::enable_shared_from_this<socket_t> {
-   public:
--    socket_t(boost::asio::io_service &ios, std::function<void(tcp::socket 
&sock, launch_session_t &, msg_t &&)> &&handle_data_fn):
--        handle_data_fn { std::move(handle_data_fn) }, sock { ios } {}
-+    socket_t(boost::asio::io_context &io_context, 
std::function<void(tcp::socket &sock, launch_session_t &, msg_t &&)> 
&&handle_data_fn):
-+        handle_data_fn { std::move(handle_data_fn) }, sock { io_context } {}
- 
-     /**
-      * @brief Queues an asynchronous read to begin the next message.
-@@ -440,7 +440,7 @@ namespace rtsp_stream {
-         return -1;
-       }
- 
--      next_socket = std::make_shared<socket_t>(ios, [this](tcp::socket &sock, 
launch_session_t &session, msg_t &&msg) {
-+      next_socket = std::make_shared<socket_t>(io_context, [this](tcp::socket 
&sock, launch_session_t &session, msg_t &&msg) {
-         handle_msg(sock, session, std::move(msg));
-       });
- 
-@@ -454,7 +454,7 @@ namespace rtsp_stream {
-     template <class T, class X>
-     void
-     iterate(std::chrono::duration<T, X> timeout) {
--      ios.run_one_for(timeout);
-+      io_context.run_one_for(timeout);
-     }
- 
-     void
-@@ -499,7 +499,7 @@ namespace rtsp_stream {
-       }
- 
-       // Queue another asynchronous accept for the next incoming connection
--      next_socket = std::make_shared<socket_t>(ios, [this](tcp::socket &sock, 
launch_session_t &session, msg_t &&msg) {
-+      next_socket = std::make_shared<socket_t>(io_context, [this](tcp::socket 
&sock, launch_session_t &session, msg_t &&msg) {
-         handle_msg(sock, session, std::move(msg));
-       });
-       acceptor.async_accept(next_socket->sock, [this](const auto &ec) {
-@@ -591,8 +591,8 @@ namespace rtsp_stream {
-         }
-       }
- 
--      if (all && !ios.stopped()) {
--        ios.stop();
-+      if (all && !io_context.stopped()) {
-+        io_context.stop();
-       }
-     }
- 
-@@ -627,8 +627,8 @@ namespace rtsp_stream {
-     std::chrono::steady_clock::time_point raised_timeout;
-     int _slot_count;
- 
--    boost::asio::io_service ios;
--    tcp::acceptor acceptor { ios };
-+    boost::asio::io_context io_context;
-+    tcp::acceptor acceptor { io_context };
- 
-     std::shared_ptr<socket_t> next_socket;
-   };
-diff --git a/src/stream.cpp b/src/stream.cpp
-index df5b3d96..0b304e23 100644
---- a/src/stream.cpp
-+++ b/src/stream.cpp
-@@ -340,10 +340,10 @@ namespace stream {
-     std::thread audio_thread;
-     std::thread control_thread;
- 
--    asio::io_service io;
-+    asio::io_context io_context;
- 
--    udp::socket video_sock { io };
--    udp::socket audio_sock { io };
-+    udp::socket video_sock { io_context };
-+    udp::socket audio_sock { io_context };
- 
-     control_server_t control_server;
-   };
-@@ -1159,7 +1159,7 @@ namespace stream {
-     auto &message_queue_queue = ctx.message_queue_queue;
-     auto broadcast_shutdown_event = 
mail::man->event<bool>(mail::broadcast_shutdown);
- 
--    auto &io = ctx.io;
-+    auto &io = ctx.io_context;
- 
-     udp::endpoint peer;
- 
-@@ -1664,7 +1664,7 @@ namespace stream {
-     audio_packets->stop();
- 
-     ctx.message_queue_queue->stop();
--    ctx.io.stop();
-+    ctx.io_context.stop();
- 
-     ctx.video_sock.close();
-     ctx.audio_sock.close();

diff --git a/net-misc/sunshine/files/sunshine-cross-cbs.patch 
b/net-misc/sunshine/files/sunshine-cross-cbs.patch
deleted file mode 100644
index e6173597e476..000000000000
--- a/net-misc/sunshine/files/sunshine-cross-cbs.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 40654399bd090dda20750b184eb6b15bc615a5dc Mon Sep 17 00:00:00 2001
-From: James Le Cuirot <[email protected]>
-Date: Sun, 25 Feb 2024 16:24:25 +0000
-Subject: [PATCH] Fix cross-compiling and don't treat x86 as the default case
-
-If you set arch-specific CFLAGS, then ffmpeg's configure script may
-fail when it tries to use these flags against the build host's compiler.
-
-Also use CMAKE_SYSTEM_PROCESSOR to set up cross-compiling without
-relying on any custom variables. ffmpeg normalises its --arch option and
-will accept just about any string that you'll likely throw at it.
-
-diff --git a/cmake/ffmpeg_cbs.cmake b/cmake/ffmpeg_cbs.cmake
-index 573bec0..4a75e1a 100644
---- a/cmake/ffmpeg_cbs.cmake
-+++ b/cmake/ffmpeg_cbs.cmake
-@@ -30,23 +30,30 @@ if (WIN32)
-     set(LEADING_SH_COMMAND sh)
- endif ()
- 
--if (CROSS_COMPILE_ARM)
--    set(FFMPEG_EXTRA_CONFIGURE
--            --arch=aarch64
--            --enable-cross-compile)
-+string(TOLOWER ${CMAKE_SYSTEM_PROCESSOR} arch)
-+
-+if (${arch} STREQUAL "aarch64" OR ${arch} STREQUAL "arm64")
-     set(CBS_ARCH_PATH arm)
--elseif (CROSS_COMPILE_PPC)
--    set(FFMPEG_EXTRA_CONFIGURE
--            --arch=powerpc64le
--            --enable-cross-compile)
-+elseif (${arch} STREQUAL "ppc64le")
-     set(CBS_ARCH_PATH ppc)
--else ()
-+elseif (${arch} STREQUAL "amd64" OR ${arch} STREQUAL "x86_64")
-     set(CBS_ARCH_PATH x86)
-+else ()
-+    message(FATAL_ERROR "Unsupported system processor:" 
${CMAKE_SYSTEM_PROCESSOR})
-+endif ()
-+
-+if (CMAKE_CROSSCOMPILING)
-+    set(FFMPEG_EXTRA_CONFIGURE --arch=${arch} --enable-cross-compile)
- endif ()
- 
- # The generated config.h needs to have `CONFIG_CBS_` flags enabled (from 
`--enable-bsfs`)
- execute_process(
-         COMMAND ${LEADING_SH_COMMAND} ./configure
-+            --cc=${CMAKE_C_COMPILER}
-+            --cxx=${CMAKE_CXX_COMPILER}
-+            --ar=${CMAKE_AR}
-+            --ranlib=${CMAKE_RANLIB}
-+            --optflags=${CMAKE_C_FLAGS}
-             --disable-all
-             --disable-autodetect
-             --disable-iconv
--- 
-2.43.2
-

diff --git a/net-misc/sunshine/files/sunshine-custom-ffmpeg.patch 
b/net-misc/sunshine/files/sunshine-custom-ffmpeg.patch
deleted file mode 100644
index 172ae3ff7d59..000000000000
--- a/net-misc/sunshine/files/sunshine-custom-ffmpeg.patch
+++ /dev/null
@@ -1,162 +0,0 @@
-From 20c589554a1b10dad206619e11d143c420aa6c82 Mon Sep 17 00:00:00 2001
-From: James Le Cuirot <[email protected]>
-Date: Mon, 1 Jan 2024 11:17:08 +0000
-Subject: [PATCH 1/2] Allow a custom FFmpeg build to be provided using CMake
- options
-
----
- cmake/dependencies/common.cmake | 90 ++++++++++++++++++---------------
- 1 file changed, 50 insertions(+), 40 deletions(-)
-
-diff --git a/cmake/dependencies/common.cmake b/cmake/dependencies/common.cmake
-index 29bed10..d43a6e0 100644
---- a/cmake/dependencies/common.cmake
-+++ b/cmake/dependencies/common.cmake
-@@ -20,53 +20,63 @@ pkg_check_modules(MINIUPNP miniupnpc REQUIRED)
- include_directories(SYSTEM ${MINIUPNP_INCLUDE_DIRS})
- 
- # ffmpeg pre-compiled binaries
--if(WIN32)
--    if(NOT CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64")
--        message(FATAL_ERROR "Unsupported system processor:" 
${CMAKE_SYSTEM_PROCESSOR})
-+if(NOT DEFINED FFMPEG_PREPARED_BINARIES)
-+    if(WIN32)
-+        if(NOT CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64")
-+            message(FATAL_ERROR "Unsupported system processor:" 
${CMAKE_SYSTEM_PROCESSOR})
-+        endif()
-+        set(FFMPEG_PLATFORM_LIBRARIES mfplat ole32 strmiids mfuuid vpl)
-+        set(FFMPEG_PREPARED_BINARIES 
"${CMAKE_SOURCE_DIR}/third-party/build-deps/ffmpeg/windows-x86_64")
-+    elseif(APPLE)
-+        if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
-+            set(FFMPEG_PREPARED_BINARIES 
"${CMAKE_SOURCE_DIR}/third-party/build-deps/ffmpeg/macos-x86_64")
-+        elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64")
-+            set(FFMPEG_PREPARED_BINARIES 
"${CMAKE_SOURCE_DIR}/third-party/build-deps/ffmpeg/macos-aarch64")
-+        elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "powerpc")
-+            message(FATAL_ERROR "PowerPC is not supported on macOS")
-+        else()
-+            message(FATAL_ERROR "Unsupported system processor:" 
${CMAKE_SYSTEM_PROCESSOR})
-+        endif()
-+    elseif(UNIX)
-+        set(FFMPEG_PLATFORM_LIBRARIES va va-drm va-x11 vdpau X11)
-+        if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
-+            list(APPEND FFMPEG_PLATFORM_LIBRARIES mfx)
-+            set(FFMPEG_PREPARED_BINARIES 
"${CMAKE_SOURCE_DIR}/third-party/build-deps/ffmpeg/linux-x86_64")
-+            set(CPACK_DEB_PLATFORM_PACKAGE_DEPENDS "libmfx1,")
-+            set(CPACK_RPM_PLATFORM_PACKAGE_REQUIRES "intel-mediasdk >= 
22.3.0,")
-+        elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
-+            set(FFMPEG_PREPARED_BINARIES 
"${CMAKE_SOURCE_DIR}/third-party/build-deps/ffmpeg/linux-aarch64")
-+        elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64le" OR 
CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64")
-+            set(FFMPEG_PREPARED_BINARIES 
"${CMAKE_SOURCE_DIR}/third-party/build-deps/ffmpeg/linux-powerpc64le")
-+        else()
-+            message(FATAL_ERROR "Unsupported system processor:" 
${CMAKE_SYSTEM_PROCESSOR})
-+        endif()
-     endif()
--    set(FFMPEG_PLATFORM_LIBRARIES mfplat ole32 strmiids mfuuid vpl)
--    set(FFMPEG_PREPARED_BINARIES 
"${CMAKE_SOURCE_DIR}/third-party/build-deps/ffmpeg/windows-x86_64")
--elseif(APPLE)
--    if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
--        set(FFMPEG_PREPARED_BINARIES 
"${CMAKE_SOURCE_DIR}/third-party/build-deps/ffmpeg/macos-x86_64")
--    elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64")
--        set(FFMPEG_PREPARED_BINARIES 
"${CMAKE_SOURCE_DIR}/third-party/build-deps/ffmpeg/macos-aarch64")
--    elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "powerpc")
--        message(FATAL_ERROR "PowerPC is not supported on macOS")
--    else()
--        message(FATAL_ERROR "Unsupported system processor:" 
${CMAKE_SYSTEM_PROCESSOR})
-+    if(EXISTS "${FFMPEG_PREPARED_BINARIES}/lib/libhdr10plus.a")
-+        set(HDR10_PLUS_LIBRARY
-+                "${FFMPEG_PREPARED_BINARIES}/lib/libhdr10plus.a")
-     endif()
--elseif(UNIX)
--    set(FFMPEG_PLATFORM_LIBRARIES va va-drm va-x11 vdpau X11)
--    if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
--        list(APPEND FFMPEG_PLATFORM_LIBRARIES mfx)
--        set(FFMPEG_PREPARED_BINARIES 
"${CMAKE_SOURCE_DIR}/third-party/build-deps/ffmpeg/linux-x86_64")
--        set(CPACK_DEB_PLATFORM_PACKAGE_DEPENDS "libmfx1,")
--        set(CPACK_RPM_PLATFORM_PACKAGE_REQUIRES "intel-mediasdk >= 22.3.0,")
--    elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
--        set(FFMPEG_PREPARED_BINARIES 
"${CMAKE_SOURCE_DIR}/third-party/build-deps/ffmpeg/linux-aarch64")
--    elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64le" OR 
CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64")
--        set(FFMPEG_PREPARED_BINARIES 
"${CMAKE_SOURCE_DIR}/third-party/build-deps/ffmpeg/linux-powerpc64le")
--    else()
--        message(FATAL_ERROR "Unsupported system processor:" 
${CMAKE_SYSTEM_PROCESSOR})
--    endif()
--endif()
--set(FFMPEG_INCLUDE_DIRS
--        "${FFMPEG_PREPARED_BINARIES}/include")
--if(EXISTS "${FFMPEG_PREPARED_BINARIES}/lib/libhdr10plus.a")
--    set(HDR10_PLUS_LIBRARY
--            "${FFMPEG_PREPARED_BINARIES}/lib/libhdr10plus.a")
--endif()
--set(FFMPEG_LIBRARIES
-+    set(FFMPEG_LIBRARIES
-+            "${FFMPEG_PREPARED_BINARIES}/lib/libavcodec.a"
-+            "${FFMPEG_PREPARED_BINARIES}/lib/libavutil.a"
-+            "${FFMPEG_PREPARED_BINARIES}/lib/libcbs.a"
-+            "${FFMPEG_PREPARED_BINARIES}/lib/libSvtAv1Enc.a"
-+            "${FFMPEG_PREPARED_BINARIES}/lib/libswscale.a"
-+            "${FFMPEG_PREPARED_BINARIES}/lib/libx264.a"
-+            "${FFMPEG_PREPARED_BINARIES}/lib/libx265.a"
-+            ${HDR10_PLUS_LIBRARY}
-+            ${FFMPEG_PLATFORM_LIBRARIES})
-+else()
-+    set(FFMPEG_LIBRARIES
-         "${FFMPEG_PREPARED_BINARIES}/lib/libavcodec.a"
-         "${FFMPEG_PREPARED_BINARIES}/lib/libavutil.a"
-         "${FFMPEG_PREPARED_BINARIES}/lib/libcbs.a"
--        "${FFMPEG_PREPARED_BINARIES}/lib/libSvtAv1Enc.a"
-         "${FFMPEG_PREPARED_BINARIES}/lib/libswscale.a"
--        "${FFMPEG_PREPARED_BINARIES}/lib/libx264.a"
--        "${FFMPEG_PREPARED_BINARIES}/lib/libx265.a"
--        ${HDR10_PLUS_LIBRARY}
-         ${FFMPEG_PLATFORM_LIBRARIES})
-+endif()
-+
-+set(FFMPEG_INCLUDE_DIRS
-+        "${FFMPEG_PREPARED_BINARIES}/include")
- 
- # platform specific dependencies
- if(WIN32)
--- 
-2.43.2
-
-From 53cd96560114dd700c943db63723e340100446a3 Mon Sep 17 00:00:00 2001
-From: James Le Cuirot <[email protected]>
-Date: Mon, 1 Jan 2024 13:34:20 +0000
-Subject: [PATCH 2/2] Move numa from general PLATFORM_LIBRARIES to
- FFMPEG_PLATFORM_LIBRARIES
-
-It's only needed if libx265 was built with NUMA support. This support
-may be disabled in a custom FFmpeg build.
----
- cmake/compile_definitions/linux.cmake | 1 -
- cmake/dependencies/common.cmake       | 2 +-
- 2 files changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/cmake/compile_definitions/linux.cmake 
b/cmake/compile_definitions/linux.cmake
-index b6d1990..ec668f7 100644
---- a/cmake/compile_definitions/linux.cmake
-+++ b/cmake/compile_definitions/linux.cmake
-@@ -252,7 +252,6 @@ list(APPEND PLATFORM_TARGET_FILES
- list(APPEND PLATFORM_LIBRARIES
-         Boost::dynamic_linking
-         dl
--        numa
-         pulse
-         pulse-simple)
- 
-diff --git a/cmake/dependencies/common.cmake b/cmake/dependencies/common.cmake
-index d43a6e0..bddee03 100644
---- a/cmake/dependencies/common.cmake
-+++ b/cmake/dependencies/common.cmake
-@@ -38,7 +38,7 @@ if(NOT DEFINED FFMPEG_PREPARED_BINARIES)
-             message(FATAL_ERROR "Unsupported system processor:" 
${CMAKE_SYSTEM_PROCESSOR})
-         endif()
-     elseif(UNIX)
--        set(FFMPEG_PLATFORM_LIBRARIES va va-drm va-x11 vdpau X11)
-+        set(FFMPEG_PLATFORM_LIBRARIES numa va va-drm va-x11 vdpau X11)
-         if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
-             list(APPEND FFMPEG_PLATFORM_LIBRARIES mfx)
-             set(FFMPEG_PREPARED_BINARIES 
"${CMAKE_SOURCE_DIR}/third-party/build-deps/ffmpeg/linux-x86_64")
--- 
-2.43.2
-

diff --git a/net-misc/sunshine/files/sunshine-find-npm.patch 
b/net-misc/sunshine/files/sunshine-find-npm.patch
deleted file mode 100644
index ab25b4527b78..000000000000
--- a/net-misc/sunshine/files/sunshine-find-npm.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From 66740900522f42564a2b0bd4e8a435ed24a61725 Mon Sep 17 00:00:00 2001
-From: James Le Cuirot <[email protected]>
-Date: Sun, 12 May 2024 17:26:14 +0100
-Subject: [PATCH] Unify asset building and use find_program to find NPM (#2522)
-
----
- cmake/targets/common.cmake  | 33 +++++++++++++++++++++------------
- cmake/targets/unix.cmake    |  6 ------
- cmake/targets/windows.cmake |  6 ------
- 3 files changed, 21 insertions(+), 24 deletions(-)
-
-diff --git a/cmake/targets/common.cmake b/cmake/targets/common.cmake
-index ee79528c..941ef0b7 100644
---- a/cmake/targets/common.cmake
-+++ b/cmake/targets/common.cmake
-@@ -3,18 +3,6 @@
- 
- add_executable(sunshine ${SUNSHINE_TARGET_FILES})
- 
--# Homebrew build fails the vite build if we set these environment variables
--# this block must be before the platform specific code
--if(${SUNSHINE_BUILD_HOMEBREW})
--    set(NPM_SOURCE_ASSETS_DIR "")
--    set(NPM_ASSETS_DIR "")
--    set(NPM_BUILD_HOMEBREW "true")
--else()
--    set(NPM_SOURCE_ASSETS_DIR ${SUNSHINE_SOURCE_ASSETS_DIR})
--    set(NPM_ASSETS_DIR ${CMAKE_BINARY_DIR})
--    set(NPM_BUILD_HOMEBREW "")
--endif()
--
- # platform specific target definitions
- if(WIN32)
-     include(${CMAKE_MODULE_PATH}/targets/windows.cmake)
-@@ -49,6 +37,27 @@ endif()
- 
- target_compile_options(sunshine PRIVATE 
$<$<COMPILE_LANGUAGE:CXX>:${SUNSHINE_COMPILE_OPTIONS}>;$<$<COMPILE_LANGUAGE:CUDA>:${SUNSHINE_COMPILE_OPTIONS_CUDA};-std=c++17>)
  # cmake-lint: disable=C0301
- 
-+# Homebrew build fails the vite build if we set these environment variables
-+if(${SUNSHINE_BUILD_HOMEBREW})
-+    set(NPM_SOURCE_ASSETS_DIR "")
-+    set(NPM_ASSETS_DIR "")
-+    set(NPM_BUILD_HOMEBREW "true")
-+else()
-+    set(NPM_SOURCE_ASSETS_DIR ${SUNSHINE_SOURCE_ASSETS_DIR})
-+    set(NPM_ASSETS_DIR ${CMAKE_BINARY_DIR})
-+    set(NPM_BUILD_HOMEBREW "")
-+endif()
-+
-+#WebUI build
-+find_program(NPM npm REQUIRED)
-+add_custom_target(web-ui ALL
-+        WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
-+        COMMENT "Installing NPM Dependencies and Building the Web UI"
-+        COMMAND "$<$<BOOL:${WIN32}>:cmd;/C>" "${NPM}" install
-+        COMMAND "${CMAKE_COMMAND}" -E env 
"SUNSHINE_BUILD_HOMEBREW=${NPM_BUILD_HOMEBREW}" 
"SUNSHINE_SOURCE_ASSETS_DIR=${NPM_SOURCE_ASSETS_DIR}" 
"SUNSHINE_ASSETS_DIR=${NPM_ASSETS_DIR}" "$<$<BOOL:${WIN32}>:cmd;/C>" "${NPM}" 
run build  # cmake-lint: disable=C0301
-+        COMMAND_EXPAND_LISTS
-+        VERBATIM)
-+
- # tests
- if(BUILD_TESTS)
-     add_subdirectory(tests)
-diff --git a/cmake/targets/unix.cmake b/cmake/targets/unix.cmake
-index 5527a987..047a0b3d 100644
---- a/cmake/targets/unix.cmake
-+++ b/cmake/targets/unix.cmake
-@@ -1,8 +1,2 @@
- # unix specific target definitions
- # put anything here that applies to both linux and macos
--
--#WebUI build
--add_custom_target(web-ui ALL
--        WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
--        COMMENT "Installing NPM Dependencies and Building the Web UI"
--        COMMAND sh -c \"npm install && 
SUNSHINE_BUILD_HOMEBREW=${NPM_BUILD_HOMEBREW} 
SUNSHINE_SOURCE_ASSETS_DIR=${NPM_SOURCE_ASSETS_DIR} 
SUNSHINE_ASSETS_DIR=${NPM_ASSETS_DIR} npm run build\")  # cmake-lint: 
disable=C0301
-diff --git a/cmake/targets/windows.cmake b/cmake/targets/windows.cmake
-index e429feaa..341d7c2e 100644
---- a/cmake/targets/windows.cmake
-+++ b/cmake/targets/windows.cmake
-@@ -4,9 +4,3 @@ set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll")
- find_library(ZLIB ZLIB1)
- list(APPEND SUNSHINE_EXTERNAL_LIBRARIES
-         Wtsapi32.lib)
--
--#WebUI build
--add_custom_target(web-ui ALL
--        WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
--        COMMENT "Installing NPM Dependencies and Building the Web UI"
--        COMMAND cmd /C "npm install && set 
\"SUNSHINE_SOURCE_ASSETS_DIR=${NPM_SOURCE_ASSETS_DIR}\" && set 
\"SUNSHINE_ASSETS_DIR=${NPM_ASSETS_DIR}\" && npm run build")   # cmake-lint: 
disable=C0301
--- 
-2.44.0
-

diff --git a/net-misc/sunshine/files/sunshine-miniupnpc.patch 
b/net-misc/sunshine/files/sunshine-miniupnpc.patch
deleted file mode 100644
index 3847724eedc5..000000000000
--- a/net-misc/sunshine/files/sunshine-miniupnpc.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-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 <[email protected]>
-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
deleted file mode 100644
index f801bd7db728..000000000000
--- a/net-misc/sunshine/sunshine-0.23.1.ebuild
+++ /dev/null
@@ -1,381 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# These don't necessarily have to align with the upstream release.
-BUILD_DEPS_COMMIT="2aafe061cd52a944cb3b5f86d1f25e9ad2a19bec"
-ENET_COMMIT="04e27590670a87a7cd40f5a05cda97467e4e25a3"
-MOONLIGHT_COMMIT="cbd0ec1b25edfb8ee8645fffa49ff95b6e04c70e"
-NANORS_COMMIT="e9e242e98e27037830490b2a752895ca68f75f8b"
-TRAY_COMMIT="4d8b798cafdd11285af9409c16b5f792968e0045"
-SWS_COMMIT="27b41f5ee154cca0fce4fe2955dd886d04e3a4ed"
-WLRP_COMMIT="2b8d43325b7012cc3f9b55c08d26e50e42beac7d"
-FFMPEG_VERSION="6.1.1"
-
-# To make the assets tarball:
-# PV=
-# EGIT_OVERRIDE_COMMIT_LIZARDBYTE_SUNSHINE=v$PV ebuild sunshine-9999.ebuild 
clean compile
-# XZ_OPT=-9 tar --xform="s:^:Sunshine-$PV/:" -Jcf 
/var/cache/distfiles/sunshine-assets-$PV.tar.xz -C 
/var/tmp/portage/net-misc/sunshine-9999/work/sunshine-9999 assets/
-
-if [[ ${PV} = 9999* ]]; then
-       inherit git-r3
-else
-       SRC_URI="
-               
https://github.com/LizardByte/Sunshine/archive/refs/tags/v${PV}.tar.gz
-                       -> ${P}.tar.gz
-               
https://github.com/LizardByte/build-deps/archive/${BUILD_DEPS_COMMIT}.tar.gz
-                       -> 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/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
-                       -> nanors-${NANORS_COMMIT}.tar.gz
-               https://github.com/LizardByte/tray/archive/${TRAY_COMMIT}.tar.gz
-                       -> LizardByte-tray-${TRAY_COMMIT}.tar.gz
-               
https://gitlab.com/eidheim/Simple-Web-Server/-/archive/${SWS_COMMIT}/Simple-Web-Server-${SWS_COMMIT}.tar.bz2
-               
https://gitlab.freedesktop.org/wlroots/wlr-protocols/-/archive/${WLRP_COMMIT}/wlr-protocols-${WLRP_COMMIT}.tar.bz2
-               https://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.xz
-               
https://dev.gentoo.org/~chewi/distfiles/${PN}-assets-${PV}.tar.xz
-       "
-       KEYWORDS="~amd64 ~arm64"
-       S="${WORKDIR}/Sunshine-${PV}"
-fi
-
-inherit cmake fcaps flag-o-matic systemd toolchain-funcs udev xdg
-
-DESCRIPTION="Self-hosted game stream host for Moonlight"
-HOMEPAGE="https://github.com/LizardByte/Sunshine";
-LICENSE="GPL-3"
-SLOT="0"
-IUSE="cuda debug libdrm svt-av1 trayicon vaapi wayland X x264 x265"
-
-# Strings for CPU features in the useflag[:configure_option] form
-# if :configure_option isn't set, it will use 'useflag' as configure option
-ARM_CPU_FEATURES=(
-       cpu_flags_arm_thumb:armv5te
-       cpu_flags_arm_v6:armv6
-       cpu_flags_arm_thumb2:armv6t2
-       cpu_flags_arm_neon:neon
-       cpu_flags_arm_vfp:vfp
-       cpu_flags_arm_vfpv3:vfpv3
-       cpu_flags_arm_v8:armv8
-       cpu_flags_arm_asimddp:dotprod
-       cpu_flags_arm_i8mm:i8mm
-)
-ARM_CPU_REQUIRED_USE="
-       arm64? ( cpu_flags_arm_v8 )
-       cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon )
-       cpu_flags_arm_neon? (
-               cpu_flags_arm_vfp
-               arm? ( cpu_flags_arm_thumb2 )
-       )
-       cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp )
-       cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 )
-       cpu_flags_arm_v6? (
-               arm? ( cpu_flags_arm_thumb )
-       )
-"
-PPC_CPU_FEATURES=( cpu_flags_ppc_altivec:altivec cpu_flags_ppc_vsx:vsx 
cpu_flags_ppc_vsx2:power8 )
-PPC_CPU_REQUIRED_USE="
-       cpu_flags_ppc_vsx? ( cpu_flags_ppc_altivec )
-       cpu_flags_ppc_vsx2? ( cpu_flags_ppc_vsx )
-"
-X86_CPU_FEATURES_RAW=( 3dnow:amd3dnow 3dnowext:amd3dnowext aes:aesni avx:avx 
avx2:avx2 fma3:fma3 fma4:fma4 mmx:mmx
-                                          mmxext:mmxext sse:sse sse2:sse2 
sse3:sse3 ssse3:ssse3 sse4_1:sse4 sse4_2:sse42 xop:xop )
-X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} )
-X86_CPU_REQUIRED_USE="
-       cpu_flags_x86_avx2? ( cpu_flags_x86_avx )
-       cpu_flags_x86_fma4? ( cpu_flags_x86_avx )
-       cpu_flags_x86_fma3? ( cpu_flags_x86_avx )
-       cpu_flags_x86_xop?  ( cpu_flags_x86_avx )
-       cpu_flags_x86_avx?  ( cpu_flags_x86_sse4_2 )
-       cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 )
-       cpu_flags_x86_sse4_2?  ( cpu_flags_x86_sse4_1 )
-       cpu_flags_x86_sse4_1?  ( cpu_flags_x86_ssse3 )
-       cpu_flags_x86_ssse3?  ( cpu_flags_x86_sse3 )
-       cpu_flags_x86_sse3?  ( cpu_flags_x86_sse2 )
-       cpu_flags_x86_sse2?  ( cpu_flags_x86_sse )
-       cpu_flags_x86_sse?  ( cpu_flags_x86_mmxext )
-       cpu_flags_x86_mmxext?  ( cpu_flags_x86_mmx )
-       cpu_flags_x86_3dnowext?  ( cpu_flags_x86_3dnow )
-       cpu_flags_x86_3dnow?  ( cpu_flags_x86_mmx )
-"
-
-CPU_FEATURES_MAP=(
-       ${ARM_CPU_FEATURES[@]}
-       ${PPC_CPU_FEATURES[@]}
-       ${X86_CPU_FEATURES[@]}
-)
-IUSE="${IUSE}
-       ${CPU_FEATURES_MAP[@]%:*}"
-
-CPU_REQUIRED_USE="
-       ${ARM_CPU_REQUIRED_USE}
-       ${PPC_CPU_REQUIRED_USE}
-       ${X86_CPU_REQUIRED_USE}
-"
-
-REQUIRED_USE="
-       ${CPU_REQUIRED_USE}
-       || ( cuda libdrm wayland X )
-"
-
-CDEPEND="
-       dev-libs/boost:=[nls]
-       dev-libs/libevdev
-       dev-libs/openssl:=
-       media-libs/opus
-       net-libs/miniupnpc:=
-       net-misc/curl
-       || (
-               media-libs/libpulse
-               media-sound/apulse[sdk]
-       )
-       libdrm? (
-               sys-libs/libcap
-               x11-libs/libdrm
-       )
-       svt-av1? ( <media-libs/svt-av1-3:= )
-       trayicon? (
-               dev-libs/libayatana-appindicator
-               x11-libs/libnotify
-       )
-       vaapi? ( media-libs/libva:=[wayland?,X?] )
-       wayland? ( dev-libs/wayland )
-       X? ( x11-libs/libX11 )
-       x264? ( media-libs/x264:= )
-       x265? ( media-libs/x265:= )
-"
-
-RDEPEND="
-       ${CDEPEND}
-       media-libs/mesa[vaapi?]
-       X? (
-               x11-libs/libxcb
-               x11-libs/libXfixes
-               x11-libs/libXrandr
-               x11-libs/libXtst
-       )
-"
-
-DEPEND="
-       ${CDEPEND}
-       media-libs/amf-headers
-       =media-libs/nv-codec-headers-12*
-       wayland? ( dev-libs/wayland-protocols )
-"
-
-BDEPEND="
-       net-libs/nodejs[npm]
-       virtual/pkgconfig
-       cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) )
-       cuda? ( dev-util/nvidia-cuda-toolkit )
-       wayland? ( dev-util/wayland-scanner )
-"
-
-PATCHES=(
-       "${FILESDIR}"/${PN}-custom-ffmpeg.patch
-       "${FILESDIR}"/${PN}-0.22.0-nvcodec.patch
-       "${FILESDIR}"/${PN}-0.23.1-amf.patch
-       "${FILESDIR}"/${PN}-find-npm.patch
-       "${FILESDIR}"/${PN}-miniupnpc.patch
-       "${FILESDIR}"/${PN}-boost-1.86.patch
-       "${FILESDIR}"/${PN}-boost-1.87.patch
-)
-
-# Make this mess a bit simpler.
-CMAKE_IN_SOURCE_BUILD=1
-
-# Make npm behave.
-export npm_config_audit=false
-export npm_config_color=false
-export npm_config_foreground_scripts=true
-export npm_config_loglevel=verbose
-export npm_config_optional=false
-export npm_config_progress=false
-export npm_config_save=false
-
-src_unpack() {
-       if [[ ${PV} = 9999* ]]; then
-               local 
EGIT_REPO_URI="https://github.com/LizardByte/build-deps.git";
-               local EGIT_SUBMODULES=( '-*' )
-               local EGIT_CHECKOUT_DIR=${WORKDIR}/build-deps
-               git-r3_src_unpack
-
-               # Use upstream server like our ffmpeg package does, not GitHub.
-               local EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git";
-               local EGIT_SUBMODULES=( '-*' )
-               local 
EGIT_CHECKOUT_DIR=${EGIT_CHECKOUT_DIR}/ffmpeg_sources/ffmpeg
-               local EGIT_COMMIT=$(git --git-dir=build-deps/.git rev-parse 
HEAD:ffmpeg_sources/ffmpeg)
-               local EGIT_BRANCH=release/$(ver_cut 1-2 ${FFMPEG_VERSION})
-               git-r3_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}
-               )
-               unset EGIT_CHECKOUT_DIR EGIT_COMMIT EGIT_BRANCH
-               git-r3_src_unpack
-
-               # This downloads things so must go in src_unpack to avoid the 
sandbox.
-               cd "${S}" || die
-               npm install || die
-       else
-               default
-               ln -snf build-deps-${BUILD_DEPS_COMMIT} build-deps || die
-               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 ../../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
-               ln -snf ../../Simple-Web-Server-${SWS_COMMIT} 
"${S}"/third-party/Simple-Web-Server || die
-               ln -snf ../../wlr-protocols-${WLRP_COMMIT} 
"${S}"/third-party/wlr-protocols || die
-               ln -snf ../../ffmpeg-${FFMPEG_VERSION} 
build-deps/ffmpeg_sources/ffmpeg || die
-       fi
-}
-
-src_prepare() {
-       # Apply CBS patch.
-       cd "${WORKDIR}"/build-deps || die
-       eapply "${FILESDIR}"/${PN}-cross-cbs.patch
-
-       # Apply general ffmpeg patches.
-       cd "${WORKDIR}"/build-deps/ffmpeg_sources/ffmpeg || die
-       eapply "${WORKDIR}"/build-deps/ffmpeg_patches/ffmpeg/*.patch
-
-       # Copy ffmpeg sources because CBS build applies extra patches.
-       cp -a ./ "${WORKDIR}"/ffmpeg-build || die
-
-       cd "${S}" || die
-       CMAKE_USE_DIR="${WORKDIR}/build-deps" cmake_src_prepare
-       default_src_prepare() { :; } # Hack to avoid double patching! :(
-       CMAKE_USE_DIR="${S}" cmake_src_prepare
-}
-
-src_configure() {
-       local myconf=(
-               --prefix="${S}"/third-party/ffmpeg
-               --cc="$(tc-getCC)"
-               --cxx="$(tc-getCXX)"
-               --ar="$(tc-getAR)"
-               --nm="$(tc-getNM)"
-               --strip="$(tc-getSTRIP)"
-               --ranlib="$(tc-getRANLIB)"
-               --pkg-config="$(tc-getPKG_CONFIG)"
-               --optflags="${CFLAGS}"
-               --disable-all
-               --disable-autodetect
-               --disable-error-resilience
-               --disable-everything
-               --disable-faan
-               --disable-iconv
-               --disable-network
-               --disable-optimizations
-               --disable-stripping
-               --enable-amf
-               --enable-avcodec
-               --enable-ffnvcodec
-               --enable-gpl
-               --enable-nvenc
-               --enable-static
-               --enable-swscale
-               --enable-v4l2_m2m
-               $(use_enable cuda)
-               $(use_enable cuda cuda_llvm)
-               $(use_enable svt-av1 libsvtav1)
-               $(use_enable vaapi)
-               $(use_enable x264 libx264)
-               $(use_enable x265 libx265)
-               $(usex svt-av1 --enable-encoder=libsvtav1 "")
-               $(usex vaapi --enable-encoder=h264_vaapi,hevc_vaapi,av1_vaapi 
"")
-               $(usex x264 --enable-encoder=libx264 "")
-               $(usex x265 --enable-encoder=libx265 "")
-               --enable-encoder=h264_amf,hevc_amf,av1_amf
-               --enable-encoder=h264_nvenc,hevc_nvenc,av1_nvenc
-               --enable-encoder=h264_v4l2m2m,hevc_v4l2m2m
-       )
-
-       # CPU features
-       for i in "${CPU_FEATURES_MAP[@]}" ; do
-               use ${i%:*} || myconf+=( --disable-${i#*:} )
-       done
-
-       # Try to get cpu type based on CFLAGS.
-       # Bug #172723
-       # We need to do this so that features of that CPU will be better used
-       # If they contain an unknown CPU it will not hurt since ffmpeg's 
configure
-       # will just ignore it.
-       for i in $(get-flag mcpu) $(get-flag march) ; do
-               [[ ${i} = native ]] && i="host" # bug #273421
-               myconf+=( --cpu=${i} )
-               break
-       done
-
-       # cross compile support
-       if tc-is-cross-compiler ; then
-               myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) 
--cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" )
-               case ${CHOST} in
-                       *mingw32*)
-                               myconf+=( --target-os=mingw32 )
-                               ;;
-                       *linux*)
-                               myconf+=( --target-os=linux )
-                               ;;
-               esac
-       fi
-
-       cd "${WORKDIR}"/ffmpeg-build || die
-       echo ./configure "${myconf[@]}"
-       ./configure "${myconf[@]}" || die
-
-       local mycmakeargs=(
-               -DBUILD_SHARED_LIBS=no
-               -DCMAKE_INSTALL_PREFIX="${S}"/third-party/ffmpeg
-       )
-       CMAKE_USE_DIR="${WORKDIR}/build-deps" cmake_src_configure
-
-       local mycmakeargs=(
-               -DBUILD_TESTS=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
-               -DSUNSHINE_ASSETS_DIR=share/${PN}
-               -DSUNSHINE_ENABLE_CUDA=$(usex cuda)
-               -DSUNSHINE_ENABLE_DRM=$(usex libdrm)
-               -DSUNSHINE_ENABLE_VAAPI=$(usex vaapi)
-               -DSUNSHINE_ENABLE_WAYLAND=$(usex wayland)
-               -DSUNSHINE_ENABLE_X11=$(usex X)
-               -DSUNSHINE_ENABLE_TRAY=$(usex trayicon)
-               -DSUNSHINE_REQUIRE_TRAY=$(usex trayicon)
-               -DSUNSHINE_SYSTEM_WAYLAND_PROTOCOLS=yes
-               -DSYSTEMD_USER_UNIT_INSTALL_DIR=$(systemd_get_userunitdir)
-               -DUDEV_RULES_INSTALL_DIR=$(get_udevdir)/rules.d
-       )
-       [[ ${PV} = 9999* ]] || mycmakeargs+=( -DNPM="${BROOT}"/bin/true )
-       CMAKE_USE_DIR="${S}" cmake_src_configure
-}
-
-src_compile() {
-       emake -C "${WORKDIR}"/ffmpeg-build V=1
-       emake -C "${WORKDIR}"/ffmpeg-build V=1 install
-       CMAKE_USE_DIR="${WORKDIR}/build-deps" cmake_src_compile
-       CMAKE_USE_DIR="${WORKDIR}/build-deps" cmake_build install
-       CMAKE_USE_DIR="${S}" npm_config_offline=1 cmake_src_compile
-}
-
-pkg_postinst() {
-       udev_reload
-       xdg_pkg_postinst
-       use libdrm && fcaps cap_sys_admin+p usr/bin/"$(readlink 
"${EROOT}"/usr/bin/${PN})"
-
-       elog "At upstream's request, please report any issues to 
https://bugs.gentoo.org";
-       elog "rather than going directly to them."
-}
-
-pkg_postrm() {
-       udev_reload
-       xdg_pkg_postrm
-}


Reply via email to