commit:     05a3d368c5ddedeed94720dea23d694dfa9be070
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 17 22:47:43 2025 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Tue Jun 17 22:47:43 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=05a3d368

net-misc/sunshine: Version bump to 2025.122.141614 and refresh 9999

Sorry this took so long, and thank you to the users who contributed fixes. This
has always been a tricky package, but hopefully we won't have to go through this
amount of change again.

Unfortunately, Boost 1.87 is still required for now. I tried to port it to 1.88,
but Sunshine uses parts of boost::process that just aren't there anymore. I'll
send what I have so far upstream shortly.

Bug: https://bugs.gentoo.org/955560
Bug: https://bugs.gentoo.org/956631
Closes: https://bugs.gentoo.org/947046
Closes: https://bugs.gentoo.org/951973
Closes: https://bugs.gentoo.org/956006
Closes: https://github.com/gentoo/gentoo/pull/42477
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>

 net-misc/sunshine/Manifest                         |  12 ++
 .../files/sunshine-2025.122.141614-cmake4.patch    |   8 ++
 .../files/sunshine-2025.122.141614-nvcodec.patch   |  44 +++++++
 .../sunshine/files/sunshine-ffmpeg-7.1.1.patch     |  11 ++
 .../files/sunshine-tray-notification-cb.patch      |  11 ++
 ...9999.ebuild => sunshine-2025.122.141614.ebuild} | 130 ++++++++++++---------
 net-misc/sunshine/sunshine-9999.ebuild             | 128 +++++++++++---------
 7 files changed, 232 insertions(+), 112 deletions(-)

diff --git a/net-misc/sunshine/Manifest b/net-misc/sunshine/Manifest
index 2efe3ef8929a..7366fb1b756a 100644
--- a/net-misc/sunshine/Manifest
+++ b/net-misc/sunshine/Manifest
@@ -1,10 +1,22 @@
+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-2025.122.141614-cmake4.patch 
b/net-misc/sunshine/files/sunshine-2025.122.141614-cmake4.patch
new file mode 100644
index 000000000000..7f1a2e7c4a30
--- /dev/null
+++ b/net-misc/sunshine/files/sunshine-2025.122.141614-cmake4.patch
@@ -0,0 +1,8 @@
+--- a/tools/CMakeLists.txt
++++ b/tools/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-cmake_minimum_required(VERSION 3.0)
++cmake_minimum_required(VERSION 3.20)
+ 
+ project(sunshine_tools)
+ 

diff --git a/net-misc/sunshine/files/sunshine-2025.122.141614-nvcodec.patch 
b/net-misc/sunshine/files/sunshine-2025.122.141614-nvcodec.patch
new file mode 100644
index 000000000000..861e07bc5f47
--- /dev/null
+++ b/net-misc/sunshine/files/sunshine-2025.122.141614-nvcodec.patch
@@ -0,0 +1,44 @@
+From bc4e3f63d7c9d5790b1849d807d30bd9f2133040 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <[email protected]>
+Date: Sun, 18 Feb 2024 10:25:25 +0000
+Subject: [PATCH] Broaden the accepted versions of nvenc
+
+--- a/src/nvenc/nvenc_base.cpp
++++ b/src/nvenc/nvenc_base.cpp
+@@ -17,7 +17,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 || NVENCAPI_MAJOR_VERSION > 13
+   #error Check and update NVENC code for backwards compatibility!
+ #endif
+ 
+@@ -322,7 +322,11 @@ namespace nvenc {
+           auto &format_config = enc_config.encodeCodecConfig.hevcConfig;
+           set_h264_hevc_common_format_config(format_config);
+           if (buffer_is_10bit()) {
++#if NVENCAPI_MAJOR_VERSION > 12 || (NVENCAPI_MAJOR_VERSION == 12 && 
NVENCAPI_MINOR_VERSION >= 2)
++            format_config.inputBitDepth = format_config.outputBitDepth = 
NV_ENC_BIT_DEPTH_10;
++#else
+             format_config.pixelBitDepthMinus8 = 2;
++#endif
+           }
+           set_ref_frames(format_config.maxNumRefFramesInDPB, 
format_config.numRefL0, 5);
+           set_minqp_if_enabled(config.min_qp_hevc);
+@@ -355,8 +359,12 @@ namespace nvenc {
+           }
+           format_config.enableBitstreamPadding = config.insert_filler_data;
+           if (buffer_is_10bit()) {
++#if NVENCAPI_MAJOR_VERSION > 12 || (NVENCAPI_MAJOR_VERSION == 12 && 
NVENCAPI_MINOR_VERSION >= 2)
++            format_config.inputBitDepth = format_config.outputBitDepth = 
NV_ENC_BIT_DEPTH_10;
++#else
+             format_config.inputPixelBitDepthMinus8 = 2;
+             format_config.pixelBitDepthMinus8 = 2;
++#endif
+           }
+           format_config.colorPrimaries = colorspace.primaries;
+           format_config.transferCharacteristics = colorspace.tranfer_function;
+-- 
+2.49.0
+

diff --git a/net-misc/sunshine/files/sunshine-ffmpeg-7.1.1.patch 
b/net-misc/sunshine/files/sunshine-ffmpeg-7.1.1.patch
new file mode 100644
index 000000000000..8b973f8f5be2
--- /dev/null
+++ b/net-misc/sunshine/files/sunshine-ffmpeg-7.1.1.patch
@@ -0,0 +1,11 @@
+--- a/third-party/build-deps/patches/FFmpeg/cbs/03-size-specifier.patch
++++ b/third-party/build-deps/patches/FFmpeg/cbs/03-size-specifier.patch
+@@ -27,7 +27,7 @@
+          goto fail;
+      }
+ @@ -741,7 +741,7 @@ static int cbs_av1_split_fragment(CodedBitstreamContext 
*ctx,
+-         if (header.obu_has_size_field) {
++         if (obu_header.obu_has_size_field) {
+              if (get_bits_left(&gbc) < 8) {
+                  av_log(ctx->log_ctx, AV_LOG_ERROR, "Invalid OBU: fragment "
+ -                       "too short (%"SIZE_SPECIFIER" bytes).\n", size);

diff --git a/net-misc/sunshine/files/sunshine-tray-notification-cb.patch 
b/net-misc/sunshine/files/sunshine-tray-notification-cb.patch
new file mode 100644
index 000000000000..248018490ff9
--- /dev/null
+++ b/net-misc/sunshine/files/sunshine-tray-notification-cb.patch
@@ -0,0 +1,11 @@
+--- a/third-party/tray/src/tray_linux.c
++++ b/third-party/tray/src/tray_linux.c
+@@ -100,7 +100,7 @@ static gboolean tray_update_internal(gpointer user_data) {
+     currentNotification = notify_notification_new(tray->notification_title, 
tray->notification_text, notification_icon);
+     if (currentNotification != NULL && 
NOTIFY_IS_NOTIFICATION(currentNotification)) {
+       if (tray->notification_cb != NULL) {
+-        notify_notification_add_action(currentNotification, "default", 
"Default", tray->notification_cb, NULL, NULL);
++        notify_notification_add_action(currentNotification, "default", 
"Default", NOTIFY_ACTION_CALLBACK(tray->notification_cb), NULL, NULL);
+       }
+       notify_notification_show(currentNotification, NULL);
+     }

diff --git a/net-misc/sunshine/sunshine-9999.ebuild 
b/net-misc/sunshine/sunshine-2025.122.141614.ebuild
similarity index 73%
copy from net-misc/sunshine/sunshine-9999.ebuild
copy to net-misc/sunshine/sunshine-2025.122.141614.ebuild
index 8f54fed602fa..51636fb427f7 100644
--- a/net-misc/sunshine/sunshine-9999.ebuild
+++ b/net-misc/sunshine/sunshine-2025.122.141614.ebuild
@@ -4,15 +4,16 @@
 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"
-SWS_COMMIT="27b41f5ee154cca0fce4fe2955dd886d04e3a4ed"
-WLRP_COMMIT="2b8d43325b7012cc3f9b55c08d26e50e42beac7d"
-FFMPEG_VERSION="6.1.1"
+BUILD_DEPS_COMMIT="1ac1b57c6d96dceb646170d1c2f0a35703c4c50e"
+DISPLAYDEV_COMMIT="v2025.411.113543"
+ENET_COMMIT="44c85e16279553d9c052e572bcbfcd745fb74abf"
+INPUTTINO_COMMIT="8065aeb46e5e5980e700d9c1f1be3c4f7ec29630"
+MOONLIGHT_COMMIT="d3d3e6cf015cd032ce02718246b52aabd1e12294"
+NANORS_COMMIT="19f07b513e924e471cadd141943c1ec4adc8d0e0"
+TRAY_COMMIT="d45306e686c90a18f5792a1541783d7bc8555bc6"
+SWS_COMMIT="4abe3491582b56c0b18fc35278aad33b2db29cdc"
+WLRP_COMMIT="ffb89ac790096f6e6272822c8d5df7d0cc6fcdfa"
+FFMPEG_VERSION="7.1.1"
 
 # To make the assets tarball:
 # PV=
@@ -27,6 +28,8 @@ else
                        -> ${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/LizardByte/libdisplaydevice/archive/${DISPLAYDEV_COMMIT}.tar.gz
+                       -> libdisplaydevice-${DISPLAYDEV_COMMIT#v}.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
@@ -126,7 +129,7 @@ REQUIRED_USE="
 "
 
 CDEPEND="
-       >=dev-libs/boost-1.86:=[nls]
+       =dev-libs/boost-1.87*:=[nls]
        dev-libs/libevdev
        dev-libs/openssl:=
        media-libs/opus
@@ -140,7 +143,7 @@ CDEPEND="
                sys-libs/libcap
                x11-libs/libdrm
        )
-       svt-av1? ( <media-libs/svt-av1-3:= )
+       svt-av1? ( media-libs/svt-av1:= )
        trayicon? (
                dev-libs/libayatana-appindicator
                x11-libs/libnotify
@@ -166,20 +169,23 @@ RDEPEND="
 DEPEND="
        ${CDEPEND}
        media-libs/amf-headers
-       =media-libs/nv-codec-headers-12*
+       <media-libs/nv-codec-headers-14
        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 ) )
+       cpu_flags_x86_mmx? ( >=dev-lang/nasm-2.13 )
        cuda? ( dev-util/nvidia-cuda-toolkit )
        wayland? ( dev-util/wayland-scanner )
 "
 
 PATCHES=(
-       "${FILESDIR}"/${PN}-0.22.0-nvcodec.patch
+       "${FILESDIR}"/${PN}-2025.122.141614-nvcodec.patch
+       "${FILESDIR}"/${PN}-tray-notification-cb.patch
+       "${FILESDIR}"/${PN}-ffmpeg-7.1.1.patch
+       "${FILESDIR}"/${PN}-2025.122.141614-cmake4.patch
 )
 
 # Make this mess a bit simpler.
@@ -198,21 +204,19 @@ 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
+               local EGIT_CHECKOUT_DIR=${S}/third-party/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_CHECKOUT_DIR=${S}/third-party/build-deps/third-party/FFmpeg/FFmpeg
+               local EGIT_COMMIT=$(git --git-dir=build-deps/.git rev-parse 
HEAD:third-party/FFmpeg/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/{inputtino,moonlight-common-c{,/enet},nanors,tray,Simple-Web-Server,wlr-protocols}
-               )
+               local EGIT_SUBMODULES=( 
third-party/{inputtino,libdisplaydevice,moonlight-common-c{,/enet},nanors,tray,Simple-Web-Server,wlr-protocols}
 )
                unset EGIT_CHECKOUT_DIR EGIT_COMMIT EGIT_BRANCH
                git-r3_src_unpack
 
@@ -221,37 +225,51 @@ src_unpack() {
                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 ../../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
-               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
+               find moonlight-common-c-${MOONLIGHT_COMMIT} "${S}"/third-party \
+                       build-deps-${BUILD_DEPS_COMMIT}/third-party/FFmpeg 
-mindepth 1 -type d -empty -delete || die
+               mv enet-${ENET_COMMIT} 
moonlight-common-c-${MOONLIGHT_COMMIT}/enet || die
+               mv libdisplaydevice-${DISPLAYDEV_COMMIT#v} 
"${S}"/third-party/libdisplaydevice || die
+               mv inputtino-${INPUTTINO_COMMIT} "${S}"/third-party/inputtino 
|| die
+               mv moonlight-common-c-${MOONLIGHT_COMMIT} 
"${S}"/third-party/moonlight-common-c || die
+               mv nanors-${NANORS_COMMIT} "${S}"/third-party/nanors || die
+               mv tray-${TRAY_COMMIT} "${S}"/third-party/tray || die
+               mv Simple-Web-Server-${SWS_COMMIT} 
"${S}"/third-party/Simple-Web-Server || die
+               mv wlr-protocols-${WLRP_COMMIT} 
"${S}"/third-party/wlr-protocols || die
+               mv build-deps-${BUILD_DEPS_COMMIT} 
"${S}"/third-party/build-deps || die
+               mv ffmpeg-${FFMPEG_VERSION} 
"${S}"/third-party/build-deps/third-party/FFmpeg/FFmpeg || die
        fi
 }
 
 src_prepare() {
-       # Apply general ffmpeg patches.
-       cd "${WORKDIR}"/build-deps/ffmpeg_sources/ffmpeg || die
-       eapply "${WORKDIR}"/build-deps/ffmpeg_patches/ffmpeg/*.patch
+       # Avoid CMake compatibility warning.
+       rm third-party/moonlight-common-c/CMakeLists.txt || die
 
-       # 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
+       CMAKE_USE_DIR="${S}"/third-party/build-deps cmake_src_prepare
        default_src_prepare() { :; } # Hack to avoid double patching! :(
        CMAKE_USE_DIR="${S}" cmake_src_prepare
 }
 
 src_configure() {
+       local mycmakeargs=(
+               -DBASH_EXECUTABLE="${BROOT}"/bin/true
+               -DBUILD_ALL_SUNSHINE=no
+               -DBUILD_ALL=no
+               -DBUILD_FFMPEG_ALL_PATCHES=yes
+               -DBUILD_FFMPEG_AMF=no
+               -DBUILD_FFMPEG_CBS=yes
+               -DBUILD_FFMPEG_MF=no
+               -DBUILD_FFMPEG_NV_CODEC_HEADERS=no
+               -DBUILD_FFMPEG_SVT_AV1=no
+               -DBUILD_FFMPEG_VAAPI=no
+               -DBUILD_FFMPEG_X264=no
+               -DBUILD_FFMPEG_X265=no
+               -DBUILD_SHARED_LIBS=no
+               -DCMAKE_INSTALL_PREFIX="${S}"/third-party/build-deps/dist
+       )
+       CMAKE_USE_DIR="${S}"/third-party/build-deps cmake_src_configure
+
        local myconf=(
-               --prefix="${S}"/third-party/ffmpeg
+               --prefix="${S}"/third-party/build-deps/FFmpeg
                --cc="$(tc-getCC)"
                --cxx="$(tc-getCXX)"
                --ar="$(tc-getAR)"
@@ -321,25 +339,18 @@ src_configure() {
                esac
        fi
 
-       cd "${WORKDIR}"/ffmpeg-build || die
+       cd "${S}"/third-party/build-deps/generated-src/FFmpeg || 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_SHARED_LIBS=no
                -DBOOST_USE_STATIC=no
                -DBUILD_DOCS=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
+               -DFFMPEG_PREPARED_BINARIES="${S}"/third-party/build-deps/dist
                -DSUNSHINE_ASSETS_DIR=share/${PN}
                -DSUNSHINE_ENABLE_CUDA=$(usex cuda)
                -DSUNSHINE_ENABLE_DRM=$(usex libdrm)
@@ -347,20 +358,27 @@ src_configure() {
                -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
                -DUDEV_RULES_INSTALL_DIR=$(get_udevdir)/rules.d
        )
-       use systemd && mycmakeargs+=( 
-DSYSTEMD_USER_UNIT_INSTALL_DIR=$(systemd_get_userunitdir) )
-       [[ ${PV} = 9999* ]] || mycmakeargs+=( -DNPM="${BROOT}"/bin/true )
+
+       if use systemd; then
+               mycmakeargs+=( 
-DSYSTEMD_USER_UNIT_INSTALL_DIR=$(systemd_get_userunitdir) )
+       fi
+
+       if [[ ${PV} != 9999* ]]; then
+               mycmakeargs+=( -DNPM="${BROOT}"/bin/true )
+               local -x BUILD_VERSION=v${PV} BRANCH=master COMMIT=
+       fi
+
        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
+       emake -C "${S}"/third-party/build-deps/generated-src/FFmpeg V=1
+       emake -C "${S}"/third-party/build-deps/generated-src/FFmpeg V=1 install
+       CMAKE_USE_DIR="${S}"/third-party/build-deps cmake_src_compile cbs
+       CMAKE_USE_DIR="${S}"/third-party/build-deps cmake_build install cbs
        CMAKE_USE_DIR="${S}" npm_config_offline=1 cmake_src_compile
 }
 

diff --git a/net-misc/sunshine/sunshine-9999.ebuild 
b/net-misc/sunshine/sunshine-9999.ebuild
index 8f54fed602fa..218e7ffcefdd 100644
--- a/net-misc/sunshine/sunshine-9999.ebuild
+++ b/net-misc/sunshine/sunshine-9999.ebuild
@@ -4,15 +4,16 @@
 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"
-SWS_COMMIT="27b41f5ee154cca0fce4fe2955dd886d04e3a4ed"
-WLRP_COMMIT="2b8d43325b7012cc3f9b55c08d26e50e42beac7d"
-FFMPEG_VERSION="6.1.1"
+BUILD_DEPS_COMMIT="1ac1b57c6d96dceb646170d1c2f0a35703c4c50e"
+DISPLAYDEV_COMMIT="v2025.411.113543"
+ENET_COMMIT="44c85e16279553d9c052e572bcbfcd745fb74abf"
+INPUTTINO_COMMIT="8065aeb46e5e5980e700d9c1f1be3c4f7ec29630"
+MOONLIGHT_COMMIT="d3d3e6cf015cd032ce02718246b52aabd1e12294"
+NANORS_COMMIT="19f07b513e924e471cadd141943c1ec4adc8d0e0"
+TRAY_COMMIT="d45306e686c90a18f5792a1541783d7bc8555bc6"
+SWS_COMMIT="4abe3491582b56c0b18fc35278aad33b2db29cdc"
+WLRP_COMMIT="ffb89ac790096f6e6272822c8d5df7d0cc6fcdfa"
+FFMPEG_VERSION="7.1.1"
 
 # To make the assets tarball:
 # PV=
@@ -27,6 +28,8 @@ else
                        -> ${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/LizardByte/libdisplaydevice/archive/${DISPLAYDEV_COMMIT}.tar.gz
+                       -> libdisplaydevice-${DISPLAYDEV_COMMIT#v}.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
@@ -126,7 +129,7 @@ REQUIRED_USE="
 "
 
 CDEPEND="
-       >=dev-libs/boost-1.86:=[nls]
+       =dev-libs/boost-1.87*:=[nls]
        dev-libs/libevdev
        dev-libs/openssl:=
        media-libs/opus
@@ -140,7 +143,7 @@ CDEPEND="
                sys-libs/libcap
                x11-libs/libdrm
        )
-       svt-av1? ( <media-libs/svt-av1-3:= )
+       svt-av1? ( media-libs/svt-av1:= )
        trayicon? (
                dev-libs/libayatana-appindicator
                x11-libs/libnotify
@@ -166,20 +169,21 @@ RDEPEND="
 DEPEND="
        ${CDEPEND}
        media-libs/amf-headers
-       =media-libs/nv-codec-headers-12*
+       <media-libs/nv-codec-headers-14
        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 ) )
+       cpu_flags_x86_mmx? ( >=dev-lang/nasm-2.13 )
        cuda? ( dev-util/nvidia-cuda-toolkit )
        wayland? ( dev-util/wayland-scanner )
 "
 
 PATCHES=(
-       "${FILESDIR}"/${PN}-0.22.0-nvcodec.patch
+       "${FILESDIR}"/${PN}-2025.122.141614-nvcodec.patch
+       "${FILESDIR}"/${PN}-tray-notification-cb.patch
 )
 
 # Make this mess a bit simpler.
@@ -198,21 +202,19 @@ 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
+               local EGIT_CHECKOUT_DIR=${S}/third-party/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_CHECKOUT_DIR=${S}/third-party/build-deps/third-party/FFmpeg/FFmpeg
+               local EGIT_COMMIT=$(git --git-dir=build-deps/.git rev-parse 
HEAD:third-party/FFmpeg/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/{inputtino,moonlight-common-c{,/enet},nanors,tray,Simple-Web-Server,wlr-protocols}
-               )
+               local EGIT_SUBMODULES=( 
third-party/{inputtino,libdisplaydevice,moonlight-common-c{,/enet},nanors,tray,Simple-Web-Server,wlr-protocols}
 )
                unset EGIT_CHECKOUT_DIR EGIT_COMMIT EGIT_BRANCH
                git-r3_src_unpack
 
@@ -221,37 +223,51 @@ src_unpack() {
                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 ../../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
-               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
+               find moonlight-common-c-${MOONLIGHT_COMMIT} "${S}"/third-party \
+                       build-deps-${BUILD_DEPS_COMMIT}/third-party/FFmpeg 
-mindepth 1 -type d -empty -delete || die
+               mv enet-${ENET_COMMIT} 
moonlight-common-c-${MOONLIGHT_COMMIT}/enet || die
+               mv libdisplaydevice-${DISPLAYDEV_COMMIT#v} 
"${S}"/third-party/libdisplaydevice || die
+               mv inputtino-${INPUTTINO_COMMIT} "${S}"/third-party/inputtino 
|| die
+               mv moonlight-common-c-${MOONLIGHT_COMMIT} 
"${S}"/third-party/moonlight-common-c || die
+               mv nanors-${NANORS_COMMIT} "${S}"/third-party/nanors || die
+               mv tray-${TRAY_COMMIT} "${S}"/third-party/tray || die
+               mv Simple-Web-Server-${SWS_COMMIT} 
"${S}"/third-party/Simple-Web-Server || die
+               mv wlr-protocols-${WLRP_COMMIT} 
"${S}"/third-party/wlr-protocols || die
+               mv build-deps-${BUILD_DEPS_COMMIT} 
"${S}"/third-party/build-deps || die
+               mv ffmpeg-${FFMPEG_VERSION} 
"${S}"/third-party/build-deps/third-party/FFmpeg/FFmpeg || die
        fi
 }
 
 src_prepare() {
-       # Apply general ffmpeg patches.
-       cd "${WORKDIR}"/build-deps/ffmpeg_sources/ffmpeg || die
-       eapply "${WORKDIR}"/build-deps/ffmpeg_patches/ffmpeg/*.patch
+       # Avoid CMake compatibility warning.
+       rm third-party/moonlight-common-c/CMakeLists.txt || die
 
-       # 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
+       CMAKE_USE_DIR="${S}"/third-party/build-deps cmake_src_prepare
        default_src_prepare() { :; } # Hack to avoid double patching! :(
        CMAKE_USE_DIR="${S}" cmake_src_prepare
 }
 
 src_configure() {
+       local mycmakeargs=(
+               -DBASH_EXECUTABLE="${BROOT}"/bin/true
+               -DBUILD_ALL_SUNSHINE=no
+               -DBUILD_ALL=no
+               -DBUILD_FFMPEG_ALL_PATCHES=yes
+               -DBUILD_FFMPEG_AMF=no
+               -DBUILD_FFMPEG_CBS=yes
+               -DBUILD_FFMPEG_MF=no
+               -DBUILD_FFMPEG_NV_CODEC_HEADERS=no
+               -DBUILD_FFMPEG_SVT_AV1=no
+               -DBUILD_FFMPEG_VAAPI=no
+               -DBUILD_FFMPEG_X264=no
+               -DBUILD_FFMPEG_X265=no
+               -DBUILD_SHARED_LIBS=no
+               -DCMAKE_INSTALL_PREFIX="${S}"/third-party/build-deps/dist
+       )
+       CMAKE_USE_DIR="${S}"/third-party/build-deps cmake_src_configure
+
        local myconf=(
-               --prefix="${S}"/third-party/ffmpeg
+               --prefix="${S}"/third-party/build-deps/FFmpeg
                --cc="$(tc-getCC)"
                --cxx="$(tc-getCXX)"
                --ar="$(tc-getAR)"
@@ -321,25 +337,18 @@ src_configure() {
                esac
        fi
 
-       cd "${WORKDIR}"/ffmpeg-build || die
+       cd "${S}"/third-party/build-deps/generated-src/FFmpeg || 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_SHARED_LIBS=no
                -DBOOST_USE_STATIC=no
                -DBUILD_DOCS=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
+               -DFFMPEG_PREPARED_BINARIES="${S}"/third-party/build-deps/dist
                -DSUNSHINE_ASSETS_DIR=share/${PN}
                -DSUNSHINE_ENABLE_CUDA=$(usex cuda)
                -DSUNSHINE_ENABLE_DRM=$(usex libdrm)
@@ -347,20 +356,27 @@ src_configure() {
                -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
                -DUDEV_RULES_INSTALL_DIR=$(get_udevdir)/rules.d
        )
-       use systemd && mycmakeargs+=( 
-DSYSTEMD_USER_UNIT_INSTALL_DIR=$(systemd_get_userunitdir) )
-       [[ ${PV} = 9999* ]] || mycmakeargs+=( -DNPM="${BROOT}"/bin/true )
+
+       if use systemd; then
+               mycmakeargs+=( 
-DSYSTEMD_USER_UNIT_INSTALL_DIR=$(systemd_get_userunitdir) )
+       fi
+
+       if [[ ${PV} != 9999* ]]; then
+               mycmakeargs+=( -DNPM="${BROOT}"/bin/true )
+               local -x BUILD_VERSION=v${PV} BRANCH=master COMMIT=
+       fi
+
        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
+       emake -C "${S}"/third-party/build-deps/generated-src/FFmpeg V=1
+       emake -C "${S}"/third-party/build-deps/generated-src/FFmpeg V=1 install
+       CMAKE_USE_DIR="${S}"/third-party/build-deps cmake_src_compile cbs
+       CMAKE_USE_DIR="${S}"/third-party/build-deps cmake_build install cbs
        CMAKE_USE_DIR="${S}" npm_config_offline=1 cmake_src_compile
 }
 

Reply via email to