diff options
Diffstat (limited to 'net-misc/sunshine')
-rw-r--r-- | net-misc/sunshine/Manifest | 17 | ||||
-rw-r--r-- | net-misc/sunshine/files/sunshine-0.21.0-no-x11.patch | 36 | ||||
-rw-r--r-- | net-misc/sunshine/files/sunshine-0.21.0-system-deps.patch | 341 | ||||
-rw-r--r-- | net-misc/sunshine/files/sunshine-0.21.0-vaapi.patch | 26 | ||||
-rw-r--r-- | net-misc/sunshine/sunshine-0.22.0.ebuild (renamed from net-misc/sunshine/sunshine-0.21.0.ebuild) | 28 | ||||
-rw-r--r-- | net-misc/sunshine/sunshine-9999.ebuild | 16 |
6 files changed, 31 insertions, 433 deletions
diff --git a/net-misc/sunshine/Manifest b/net-misc/sunshine/Manifest index 08ad39723465..ad57e0de9742 100644 --- a/net-misc/sunshine/Manifest +++ b/net-misc/sunshine/Manifest @@ -1,19 +1,16 @@ -AUX sunshine-0.21.0-no-x11.patch 959 BLAKE2B 8fe641c9cae08bc280017f1bd2c3a922bda1b7edc73334887d31256b773356b5df55328649a685451b6bf3efaf830f92cfedc8235b7884f6681d63f9e59e7989 SHA512 a95aaaf4aba3c12603598c7d1e710ced7e5aa5b57bea4016c5a8b90083bcf62b4e29d4adf1f5865f61995f28be729198c2faed0c67a32078a49716417cf6efc7 -AUX sunshine-0.21.0-system-deps.patch 15391 BLAKE2B 7b6c79e644513723fc64d9c34093143bda5dc426b2e9aaa013f2fb517e65c841a460b7fc2764dfa8d645c2a41f8057d7bf05539fe25778962e62808821e68498 SHA512 565e5f33eda53f274d5bb75b0c3ce1f2efb05e483704352e30cea558ccb8a9736d06376a790dbfdbd50a901dd812bdc59116ab08d995ad5bbac30b65d1daabb0 -AUX sunshine-0.21.0-vaapi.patch 794 BLAKE2B 28f6a9ab061b467674c836230e81a45399c1f8c5bd2b6e0ec67ce3b264c5f45c749360dfc4bf4633763ea188493f24b9ef4222453ae0512d87e867bc3f6cc339 SHA512 9192c31ea4795cb987d60c493a5c3ece4d08e37f5f78cdf2bf079b470bbd5fcf357ce99385e07fcdfbe60aecffd7b25cc21b93ccae31730c1ecc444612f78d5a AUX sunshine-0.22.0-nvcodec.patch 1009 BLAKE2B 4a2fd3dbd98b64fd6e259c94d218f9853404a4096448ace8153c86717524b7cde5295a00aed972eca73c4a4c3bf6101349e8e61ebcb5e657d59426f903fc8efd SHA512 77ba0e67da4a3c252c5a19041bf0822651de9670ffe7e5732298cc00c6ac8cced97d2a0e0487af0ddc035fdb74fee2593ef91c446bb1125525ba4103b7b95fa2 AUX sunshine-cross-cbs.patch 2020 BLAKE2B b57c6fe66707a86b35a70945ca9b9da9c4e8bb0bba8bd0d66e9ec9e3d15121cc4a193b56ea376ff3e244d652c18ac7504d687cefd54876afcf3cb54d8024c71b SHA512 95710af147509f8c93c875513c01a596fd62fe421495395dfeef41a6230d031e779277a9a2604c4d5dce788d6ecf77e667942d3ae2d6e675ef29db86e6519734 AUX sunshine-custom-ffmpeg.patch 7668 BLAKE2B 2fa8adf912791e8abf73f0ea173228318edb804584c1efbe15077d6b6e08f7e6cfaa4dacf5e02115325ebe9a0ef09b9e49d3e021d6220dff0b364c1bbcd0b7e4 SHA512 ace6b855edf21a91958d843bff730634c585a96c1f728c304e7b79ddacc96fdb767936fd5d8dd8f2df3347d12a25519e9d1511ada3828404b9440d8333bfc013 DIST LizardByte-build-deps-2aafe061cd52a944cb3b5f86d1f25e9ad2a19bec.tar.gz 24171 BLAKE2B bcc8f1829eae4ba85a9cbdaca7876a4a52c979f3b8ef0f0a56876fcb171025544bd1997455c2b8fff59564deca433366ae03f14cbb0929f78c87f991b269156f SHA512 892184ec0ff321b2b7e2000dc605d1162955cb04ff259f6032f124f1ff50a1fe485e2cf2c0b735788f8615c9aba87ca040205599cb4b91881daa462a53340bd7 -DIST LizardByte-tray-e08bdbe5aa7de0ad9c0ce36257016e07c7e6e2c0.tar.gz 1066914 BLAKE2B 814e4aeace655cb06d50cbe26847f107b4141cec40fc812b924e87e4e14c7cddf8ee6dce0f54f76bf1f5c8dd355a8d7e32485759caa2c91aa24b1c594f1a879d SHA512 04df675d3fa8676b08a566bbbfb90af80b1efdd5ffc264f9aced3116ad1a3ad14c80a486a84f1ed800fd2ea2c2046e36f2919a2bb48cecdfca3baa3b650d3c48 +DIST LizardByte-tray-2bf1c610300b27f8d8ce87e2f13223fc83efeb42.tar.gz 1067540 BLAKE2B f832dc11398086236817f25e2343831bd7533737d851958df2bcc155a204f99bd0b491a5c259bf559d83108ec71afc3e85424d79040a641a4bcb832419120da6 SHA512 fa2bacc412268e82c03718e954914fc713d271398dfbef2a86c4da649f63233aff9bf6e99b08d6f3c8385d0c96f25d9d54b145d8d7422a82e80b5aa2e62de641 DIST Simple-Web-Server-27b41f5ee154cca0fce4fe2955dd886d04e3a4ed.tar.bz2 63258 BLAKE2B e80a6cd92825038ca75b973281b676584f9e488b45b1f9c6ed526236c0a7188b97ae2bba9d7b5557893452dd1ba8778faff2ade840cc169d20b4cf0e51fc8394 SHA512 2eba1d8bd53bb3e29e51a72000918b44730f73b4df26824f25cb6a4860dd21f8aaa7f77124fb500ffe9601ebeca66d1c21a06cad239ed27481e9cae088afbd44 DIST ffmpeg-6.1.1.tar.xz 10458600 BLAKE2B 77827ff92b47c773ed82e7b7793dbb135c370fe23501169cb1eab08ff5ede77cfd5b397e8fb1d38756812cc82277898fd5c74b7d8495842556570c0c5570daeb SHA512 fca3f8635f29182e3ae0fe843a8a53614e4b47e22c11508df3ff7cdbafbb4b5ee0d82d9b3332871f7c1032033b1cad2f67557d7c5f7f7d85e2adadca122965d5 -DIST moonlight-common-c-6e9ed871bc3e013386c775b2ee7d31deb1151068.tar.gz 143942 BLAKE2B d8e98cffc683cc7ef6ad9e58c0a154a60e4bf5742fba8c4bce270b84c2af6ff455a6f7e2920e3b83db052c2a1632e787f9a444b381a8a7476ab79fa4f79560ad SHA512 a9024ba400e6804c0b26db57fa16ddbcd080982f852d26fd1ca8ae84f969bacd883c4adc83105bd18e1af4d34e831dc241d0278f88549b46497eb62c72f39bf2 -DIST moonlight-enet-c6bb0e50118d08252eee308de8412751218442d6.tar.gz 85497 BLAKE2B 484cf25d37ed230946edc7417ca20ea4c16828f2a099fd6a88dca08dc78a5314e837c96d9a7536ace3e45c55d0edd8698568af8d5087adc7429bc4d3966cfbae SHA512 1e7f93639139ec3d02c5b442dd2d49e2ab8e729b7c4ee51d9b2da4061f8e3794e7984858cfb87d279b85939a9fed6d0c4a3b9994c30597791461e612a64843e2 +DIST moonlight-common-c-cbd0ec1b25edfb8ee8645fffa49ff95b6e04c70e.tar.gz 148691 BLAKE2B 2650e48ef5d08b5e4a901e0b394364335503cd717ae75b4ecf5329395f39d3312a9bbfe08137d2b7697f7b1672749d148e100fbaa5c7f87d190ab8157f158639 SHA512 f1d7848138b85a88abf798774f12f6491e19ae5e7699715b0454bfccc184439fba0ebf7e05327fd649e320e5d1ad610c57fe71190f92cf2248c8f974f9d79aaf +DIST moonlight-enet-04e27590670a87a7cd40f5a05cda97467e4e25a3.tar.gz 86434 BLAKE2B 8a5535843e4c650b945882abac1542bf8c79dc420607b88433d239aa5a17380f02e77bb8f1fcbe45dcb8ef894e6c9b4d940f4d3b34b956ce42d86f6a8ca5227a SHA512 6d2e9447e546489365b1fb563ed52664a91981717a3a3a9faa9600ab62be5ac09bd24ee9dd505833d31981ce6222f5ef430268a9f92aa83fa288b5b8d681e2aa DIST nanors-e9e242e98e27037830490b2a752895ca68f75f8b.tar.gz 194694 BLAKE2B 1effd7c0884ffd38b63d61a7872337797529ef2012f9de0950088a5004cb32a2fb2c14bcab2ec6719968864e5e6b9a67e96afa39466e2071bf4a0cd752ae4b29 SHA512 548be25650619a6c31944cd7a745fd40d5bc5008f2d7f91e0207a10b923764cb88fd2ddcb71eaed7c4863ec89b34d61011b666e292da071ac3b4429e4d7dd027 -DIST sunshine-0.21.0.tar.gz 24066116 BLAKE2B cc7ecf20ea69ed9c35c97194ca803f5a329234d1857b8f9dcee070c08ccc36de4481acc4f493c4d5f9b7fce5f5bf6986630d26233e7fc0495a688d7f2fea4696 SHA512 96e71ca6e36f7944b5f96005e2cab4287cba0fd0d2e561e6eeea7fa1cbf047576ca6debc786d34d7543dab361841fbf59cbb950e0d3413be8ba8dfb81342056e -DIST sunshine-node-modules-0.21.0.tar.xz 2171156 BLAKE2B aa592d7041d08ff3dc795bf7afb5197e849afc7479df3c2e66e03b279f91cfb083e2e9f51ef594756b83b87b89214f48192be76b2efc7574a6aaf28d77ca7b37 SHA512 0a1cd9017b079a63f58f7fb4f2aaff8e2449788b213ddb6fa1da6bebf8a1d259ecc5900bb4ceaa15ca7bdca817792aeeff31e205d48593c3a55261c9f99d8f04 +DIST sunshine-0.22.0.tar.gz 24103053 BLAKE2B ddb8cfd8df6d5307f1008bfed28c10d05737cee70e8c33e18229e916f4e6aa415cf797bb16127f0e8076af4e9648baff6b0ec5775dd5cba1a9791b0d80f6d834 SHA512 b9b5bff58b4f69b49fe0b62b1cc9e00e1e7e923492d3475ff6cb93f9dbd233751497d62ea3c84100a2b153bcfa7ae84a1819dcebe9fa6816859779a96ca66754 +DIST sunshine-npm-cache-0.22.0.tar.xz 22447384 BLAKE2B 33ab2fd0fde252285bcacc231a32e50b486db7141d425850378c6633da3ba9652cc76a0ef95b6fb9307f9fe59677203a5d861ef143acf609b3b46e0c5727ac34 SHA512 8e5e05421533d467eeac55435de06dab5510993e4f3bb7fa081b80d478497dcc7575d656222178aa01a3f110a781cbd14bb94ca704ef61877b1a02d51960f09d DIST wlr-protocols-4264185db3b7e961e7f157e1cc4fd0ab75137568.tar.bz2 19574 BLAKE2B 65666095f186857e3c5274b23d5c40b40b0ba5d945c7b34331a06320128cb69a36a76baf2381b635858736ca6ed438c2ed67c03fac1c20e1ec4d71de27037e42 SHA512 0e6afde055d9b76bcb8c717433b78814f2cf9338ead451d3119f62463198ef272029767898e8f7d32896f2732be3aaa2a0373c671d8196e745d62f6116cd1583 -EBUILD sunshine-0.21.0.ebuild 11639 BLAKE2B 697f3a6842e158783f86c577e2dc63a49ab0a602f94a930f0959febfbe18d35007e78915b33feba404f1bd60eed42f3dba4573d4ea52298f8579db0120c7d5f5 SHA512 3f800f8168f4caf93f079346dc356018cb1da017c289ae4a7225013a100bd15740bf2f8732da7f03f2a002a8031e2fb59a68f961bf3c9b4e409f6cfc122e59ba -EBUILD sunshine-9999.ebuild 11727 BLAKE2B 1b111f946e903e07a974cac0363d2c05abd5f8cf876cbd87a3cae0d0dd391372d3fef8d7ab33fed94f79ade86013e60696585adb9b8c299b3fe497f4287583a4 SHA512 a02a0631713c64c11838ca876b09178d54e95c06f90da0db4a61e1a50248ea29b27d20548c68cb8e5bda4e789e023718170028a5f72719fb8149d0dbd57a78d9 +EBUILD sunshine-0.22.0.ebuild 11903 BLAKE2B 9f6a1adc8d079f20441051056f05f7c405335980b24b8cb8ec47de2a740c03eab9c6ce78d794cfe98f0a8ab887db1ad94576b7c5ca9e5d937349356a0dc72c74 SHA512 e5ebddd20400cde78875882ccb18ea928e056592af2ac1f0faf58f8f804aff3bde6d2c53026a05f7b968f9c978a381544a906f739ee989a4c194c8b8fc6a9560 +EBUILD sunshine-9999.ebuild 11903 BLAKE2B 9f6a1adc8d079f20441051056f05f7c405335980b24b8cb8ec47de2a740c03eab9c6ce78d794cfe98f0a8ab887db1ad94576b7c5ca9e5d937349356a0dc72c74 SHA512 e5ebddd20400cde78875882ccb18ea928e056592af2ac1f0faf58f8f804aff3bde6d2c53026a05f7b968f9c978a381544a906f739ee989a4c194c8b8fc6a9560 MISC metadata.xml 880 BLAKE2B 656a3a283ae7504498d1a67cc343cfa614e21e0422c1076781164822809079eafe8e514d01182e977f7add5a28c4e7e09db985c8e4ea551eef1a1f92609488d9 SHA512 679f3c676ce568e8c0a8b816463c66d69055d0dba740c9065ce8feb36335981df65fff9d47f35e93f6b60337cc59f3da6ec3b83f9bb01905c73f912b50a0366d diff --git a/net-misc/sunshine/files/sunshine-0.21.0-no-x11.patch b/net-misc/sunshine/files/sunshine-0.21.0-no-x11.patch deleted file mode 100644 index a013be390095..000000000000 --- a/net-misc/sunshine/files/sunshine-0.21.0-no-x11.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 34ca4390bbae4dadf451af7dd4ec920a263558be Mon Sep 17 00:00:00 2001 -From: James Le Cuirot <chewi@gentoo.org> -Date: Sun, 31 Dec 2023 20:57:45 +0000 -Subject: [PATCH 2/2] Fix grabbing code when DRM is enabled and X11 is disabled - (#1956) - ---- - src/platform/linux/x11grab.h | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -diff --git a/src/platform/linux/x11grab.h b/src/platform/linux/x11grab.h -index 24e96f6..4c2f347 100644 ---- a/src/platform/linux/x11grab.h -+++ b/src/platform/linux/x11grab.h -@@ -51,9 +51,6 @@ namespace platf::x11 { - xdisplay_t - make_display(); - #else -- // It's never something different from nullptr -- util::safe_ptr<_XDisplay, std::default_delete<_XDisplay>>; -- - class cursor_t { - public: - static std::optional<cursor_t> -@@ -65,7 +62,7 @@ namespace platf::x11 { - blend(img_t &, int, int) {} - }; - -- xdisplay_t -+ void * - make_display() { return nullptr; } - #endif - } // namespace platf::x11 --- -2.43.0 - diff --git a/net-misc/sunshine/files/sunshine-0.21.0-system-deps.patch b/net-misc/sunshine/files/sunshine-0.21.0-system-deps.patch deleted file mode 100644 index bfb5d41aba15..000000000000 --- a/net-misc/sunshine/files/sunshine-0.21.0-system-deps.patch +++ /dev/null @@ -1,341 +0,0 @@ -From 9ac47f2b21391758065cc32df2d54e59a56425b8 Mon Sep 17 00:00:00 2001 -From: James Le Cuirot <chewi@gentoo.org> -Date: Mon, 1 Jan 2024 01:04:04 +0000 -Subject: [PATCH 1/4] Optionally allow the system installation of MiniUPnP to - be used (#1959) - ---- - cmake/compile_definitions/common.cmake | 2 +- - cmake/dependencies/common.cmake | 38 ++++++++++++++++++-------- - cmake/prep/options.cmake | 2 ++ - 3 files changed, 29 insertions(+), 13 deletions(-) - -diff --git a/cmake/compile_definitions/common.cmake b/cmake/compile_definitions/common.cmake -index f10b200..c096920 100644 ---- a/cmake/compile_definitions/common.cmake -+++ b/cmake/compile_definitions/common.cmake -@@ -118,7 +118,7 @@ else() - endif() - - list(APPEND SUNSHINE_EXTERNAL_LIBRARIES -- libminiupnpc-static -+ ${MINIUPNP_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT} - enet - opus -diff --git a/cmake/dependencies/common.cmake b/cmake/dependencies/common.cmake -index 9bc7c56..b26b12a 100644 ---- a/cmake/dependencies/common.cmake -+++ b/cmake/dependencies/common.cmake -@@ -9,13 +9,33 @@ add_subdirectory(third-party/moonlight-common-c/enet) - # web server - add_subdirectory(third-party/Simple-Web-Server) - -+# common dependencies -+find_package(OpenSSL REQUIRED) -+find_package(PkgConfig REQUIRED) -+find_package(Threads REQUIRED) -+pkg_check_modules(CURL REQUIRED libcurl) -+ - # miniupnp --set(UPNPC_BUILD_SHARED OFF CACHE BOOL "No shared libraries") --set(UPNPC_BUILD_TESTS OFF CACHE BOOL "Don't build tests for miniupnpc") --set(UPNPC_BUILD_SAMPLE OFF CACHE BOOL "Don't build samples for miniupnpc") --set(UPNPC_NO_INSTALL ON CACHE BOOL "Don't install any libraries build for miniupnpc") --add_subdirectory(third-party/miniupnp/miniupnpc) --include_directories(SYSTEM third-party/miniupnp/miniupnpc/include) -+if(SUNSHINE_SYSTEM_MINIUPNP) -+ pkg_check_modules(MINIUPNP miniupnpc REQUIRED) -+ -+ # Use includedir pkg-config variable rather than MINIUPNP_INCLUDE_DIRS -+ # defined above. The latter may be blank, as pkg-config sometimes omits -I -+ # flags for directories that are searched by default (e.g. /usr/include), -+ # but we need a value to append /miniupnpc to. Normally source files would -+ # prefix their #include directives with miniupnpc/, but this does not align -+ # with the directory structure of the git submodule used below. -+ pkg_get_variable(MINIUPNP_INCLUDE_DIR miniupnpc includedir) -+ include_directories(SYSTEM ${MINIUPNP_INCLUDE_DIR}/miniupnpc) -+else() -+ set(UPNPC_BUILD_SHARED OFF CACHE BOOL "No shared libraries") -+ set(UPNPC_BUILD_TESTS OFF CACHE BOOL "Don't build tests for miniupnpc") -+ set(UPNPC_BUILD_SAMPLE OFF CACHE BOOL "Don't build samples for miniupnpc") -+ set(UPNPC_NO_INSTALL ON CACHE BOOL "Don't install any libraries build for miniupnpc") -+ set(MINIUPNP_LIBRARIES libminiupnpc-static) -+ add_subdirectory(third-party/miniupnp/miniupnpc) -+ include_directories(SYSTEM third-party/miniupnp/miniupnpc/include) -+endif() - - # ffmpeg pre-compiled binaries - if(WIN32) -@@ -66,12 +86,6 @@ set(FFMPEG_LIBRARIES - ${HDR10_PLUS_LIBRARY} - ${FFMPEG_PLATFORM_LIBRARIES}) - --# common dependencies --find_package(OpenSSL REQUIRED) --find_package(PkgConfig REQUIRED) --find_package(Threads REQUIRED) --pkg_check_modules(CURL REQUIRED libcurl) -- - # platform specific dependencies - if(WIN32) - include(${CMAKE_MODULE_PATH}/dependencies/windows.cmake) -diff --git a/cmake/prep/options.cmake b/cmake/prep/options.cmake -index 1a216d2..cb26461 100644 ---- a/cmake/prep/options.cmake -+++ b/cmake/prep/options.cmake -@@ -4,6 +4,8 @@ option(SUNSHINE_CONFIGURE_ONLY "Configure special files only, then exit." OFF) - option(SUNSHINE_ENABLE_TRAY "Enable system tray icon. This option will be ignored on macOS." ON) - option(SUNSHINE_REQUIRE_TRAY "Require system tray icon. Fail the build if tray requirements are not met." ON) - -+option(SUNSHINE_SYSTEM_MINIUPNP "Use system installation of MiniUPnP rather than the submodule." OFF) -+ - if(APPLE) - option(SUNSHINE_CONFIGURE_PORTFILE - "Configure macOS Portfile. Recommended to use with SUNSHINE_CONFIGURE_ONLY" OFF) --- -2.43.0 - - -From 2056874748872e820c343556fc6ede4449e376f8 Mon Sep 17 00:00:00 2001 -From: James Le Cuirot <chewi@gentoo.org> -Date: Mon, 1 Jan 2024 16:49:00 +0000 -Subject: [PATCH 2/4] Optionally allow the system installation of - wayland-protocols to be used (#1966) - ---- - cmake/compile_definitions/linux.cmake | 11 +++++++++-- - cmake/macros/linux.cmake | 8 ++++---- - cmake/prep/options.cmake | 1 + - 3 files changed, 14 insertions(+), 6 deletions(-) - -diff --git a/cmake/compile_definitions/linux.cmake b/cmake/compile_definitions/linux.cmake -index f28152e..a13a823 100644 ---- a/cmake/compile_definitions/linux.cmake -+++ b/cmake/compile_definitions/linux.cmake -@@ -127,8 +127,15 @@ endif() - if(WAYLAND_FOUND) - add_compile_definitions(SUNSHINE_BUILD_WAYLAND) - -- GEN_WAYLAND("wayland-protocols" "unstable/xdg-output" xdg-output-unstable-v1) -- GEN_WAYLAND("wlr-protocols" "unstable" wlr-export-dmabuf-unstable-v1) -+ if(NOT SUNSHINE_SYSTEM_WAYLAND_PROTOCOLS) -+ set(WAYLAND_PROTOCOLS_DIR "${CMAKE_SOURCE_DIR}/third-party/wayland-protocols") -+ else() -+ pkg_get_variable(WAYLAND_PROTOCOLS_DIR wayland-protocols pkgdatadir) -+ pkg_check_modules(WAYLAND_PROTOCOLS wayland-protocols REQUIRED) -+ endif() -+ -+ GEN_WAYLAND("${WAYLAND_PROTOCOLS_DIR}" "unstable/xdg-output" xdg-output-unstable-v1) -+ GEN_WAYLAND("${CMAKE_SOURCE_DIR}/third-party/wlr-protocols" "unstable" wlr-export-dmabuf-unstable-v1) - - include_directories( - SYSTEM -diff --git a/cmake/macros/linux.cmake b/cmake/macros/linux.cmake -index d84d045..0bb5e04 100644 ---- a/cmake/macros/linux.cmake -+++ b/cmake/macros/linux.cmake -@@ -5,17 +5,17 @@ macro(GEN_WAYLAND wayland_directory subdirectory filename) - file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/generated-src) - - message("wayland-scanner private-code \ --${CMAKE_SOURCE_DIR}/third-party/${wayland_directory}/${subdirectory}/${filename}.xml \ -+${wayland_directory}/${subdirectory}/${filename}.xml \ - ${CMAKE_BINARY_DIR}/generated-src/${filename}.c") - message("wayland-scanner client-header \ --${CMAKE_SOURCE_DIR}/third-party/${wayland_directory}/${subdirectory}/${filename}.xml \ -+${wayland_directory}/${subdirectory}/${filename}.xml \ - ${CMAKE_BINARY_DIR}/generated-src/${filename}.h") - execute_process( - COMMAND wayland-scanner private-code -- ${CMAKE_SOURCE_DIR}/third-party/${wayland_directory}/${subdirectory}/${filename}.xml -+ ${wayland_directory}/${subdirectory}/${filename}.xml - ${CMAKE_BINARY_DIR}/generated-src/${filename}.c - COMMAND wayland-scanner client-header -- ${CMAKE_SOURCE_DIR}/third-party/${wayland_directory}/${subdirectory}/${filename}.xml -+ ${wayland_directory}/${subdirectory}/${filename}.xml - ${CMAKE_BINARY_DIR}/generated-src/${filename}.h - - RESULT_VARIABLE EXIT_INT -diff --git a/cmake/prep/options.cmake b/cmake/prep/options.cmake -index cb26461..dc6b5f6 100644 ---- a/cmake/prep/options.cmake -+++ b/cmake/prep/options.cmake -@@ -5,6 +5,7 @@ option(SUNSHINE_ENABLE_TRAY "Enable system tray icon. This option will be ignore - option(SUNSHINE_REQUIRE_TRAY "Require system tray icon. Fail the build if tray requirements are not met." ON) - - option(SUNSHINE_SYSTEM_MINIUPNP "Use system installation of MiniUPnP rather than the submodule." OFF) -+option(SUNSHINE_SYSTEM_WAYLAND_PROTOCOLS "Use system installation of wayland-protocols rather than the submodule." OFF) - - if(APPLE) - option(SUNSHINE_CONFIGURE_PORTFILE --- -2.43.0 - - -From a0a6d322c292efa67a59df7b4c71beeb17b322ce Mon Sep 17 00:00:00 2001 -From: James Le Cuirot <chewi@gentoo.org> -Date: Mon, 1 Jan 2024 11:17:08 +0000 -Subject: [PATCH 3/4] Allow a custom FFmpeg build to be provided using CMake - options - ---- - cmake/dependencies/common.cmake | 96 ++++++++++++++++++--------------- - 1 file changed, 53 insertions(+), 43 deletions(-) - -diff --git a/cmake/dependencies/common.cmake b/cmake/dependencies/common.cmake -index b26b12a..30069d3 100644 ---- a/cmake/dependencies/common.cmake -+++ b/cmake/dependencies/common.cmake -@@ -38,53 +38,63 @@ else() - endif() - - # ffmpeg pre-compiled 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_CURRENT_SOURCE_DIR}/third-party/ffmpeg-windows-x86_64") --elseif(APPLE) -- if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") -- set(FFMPEG_PREPARED_BINARIES "${CMAKE_CURRENT_SOURCE_DIR}/third-party/ffmpeg-macos-x86_64") -- elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64") -- set(FFMPEG_PREPARED_BINARIES "${CMAKE_CURRENT_SOURCE_DIR}/third-party/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(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_CURRENT_SOURCE_DIR}/third-party/ffmpeg-windows-x86_64") -+ elseif(APPLE) -+ if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") -+ set(FFMPEG_PREPARED_BINARIES "${CMAKE_CURRENT_SOURCE_DIR}/third-party/ffmpeg-macos-x86_64") -+ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64") -+ set(FFMPEG_PREPARED_BINARIES "${CMAKE_CURRENT_SOURCE_DIR}/third-party/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_CURRENT_SOURCE_DIR}/third-party/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_CURRENT_SOURCE_DIR}/third-party/ffmpeg-linux-aarch64") -+ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64le" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64") -+ set(FFMPEG_PREPARED_BINARIES "${CMAKE_CURRENT_SOURCE_DIR}/third-party/ffmpeg-linux-powerpc64le") -+ else() -+ message(FATAL_ERROR "Unsupported system processor:" ${CMAKE_SYSTEM_PROCESSOR}) -+ endif() - 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_CURRENT_SOURCE_DIR}/third-party/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_CURRENT_SOURCE_DIR}/third-party/ffmpeg-linux-aarch64") -- elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64le" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64") -- set(FFMPEG_PREPARED_BINARIES "${CMAKE_CURRENT_SOURCE_DIR}/third-party/ffmpeg-linux-powerpc64le") -- 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() -+ 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/libswscale.a" -+ ${FFMPEG_PLATFORM_LIBRARIES}) - 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 -- ${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}) -+ "${FFMPEG_PREPARED_BINARIES}/include") - - # platform specific dependencies - if(WIN32) --- -2.43.0 - - -From c871ffc1606f148e55f80415a289317f74820ddf Mon Sep 17 00:00:00 2001 -From: James Le Cuirot <chewi@gentoo.org> -Date: Mon, 1 Jan 2024 13:34:20 +0000 -Subject: [PATCH 4/4] 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 a13a823..a2baa9c 100644 ---- a/cmake/compile_definitions/linux.cmake -+++ b/cmake/compile_definitions/linux.cmake -@@ -223,7 +223,6 @@ list(APPEND PLATFORM_LIBRARIES - Boost::dynamic_linking - dl - evdev -- numa - pulse - pulse-simple) - -diff --git a/cmake/dependencies/common.cmake b/cmake/dependencies/common.cmake -index 30069d3..fc86ab7 100644 ---- a/cmake/dependencies/common.cmake -+++ b/cmake/dependencies/common.cmake -@@ -56,7 +56,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_CURRENT_SOURCE_DIR}/third-party/ffmpeg-linux-x86_64") --- -2.43.0 - diff --git a/net-misc/sunshine/files/sunshine-0.21.0-vaapi.patch b/net-misc/sunshine/files/sunshine-0.21.0-vaapi.patch deleted file mode 100644 index 3db5e47d44d9..000000000000 --- a/net-misc/sunshine/files/sunshine-0.21.0-vaapi.patch +++ /dev/null @@ -1,26 +0,0 @@ -From dac48e21278339e72c9b3efb5dab63d9c10b5975 Mon Sep 17 00:00:00 2001 -From: James Le Cuirot <chewi@aura-online.co.uk> -Date: Sun, 31 Dec 2023 20:10:48 +0000 -Subject: [PATCH 1/2] Use dl handle for libva's vaTerminate rather than actual - function (#1955) - ---- - src/platform/linux/vaapi.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/platform/linux/vaapi.cpp b/src/platform/linux/vaapi.cpp -index 18b0dff..77daeab 100644 ---- a/src/platform/linux/vaapi.cpp -+++ b/src/platform/linux/vaapi.cpp -@@ -520,7 +520,7 @@ namespace va { - auto hwctx = (AVVAAPIDeviceContext *) ctx->hwctx; - auto priv = (VAAPIDevicePriv *) ctx->user_opaque; - -- vaTerminate(hwctx->display); -+ terminate(hwctx->display); - close(priv->drm_fd); - av_freep(&priv); - } --- -2.43.0 - diff --git a/net-misc/sunshine/sunshine-0.21.0.ebuild b/net-misc/sunshine/sunshine-0.22.0.ebuild index 1c21649b7929..87184bed9664 100644 --- a/net-misc/sunshine/sunshine-0.21.0.ebuild +++ b/net-misc/sunshine/sunshine-0.22.0.ebuild @@ -5,10 +5,10 @@ EAPI=8 # These don't necessarily have to align with the upstream release. BUILD_DEPS_COMMIT="2aafe061cd52a944cb3b5f86d1f25e9ad2a19bec" -ENET_COMMIT="c6bb0e50118d08252eee308de8412751218442d6" -MOONLIGHT_COMMIT="6e9ed871bc3e013386c775b2ee7d31deb1151068" +ENET_COMMIT="04e27590670a87a7cd40f5a05cda97467e4e25a3" +MOONLIGHT_COMMIT="cbd0ec1b25edfb8ee8645fffa49ff95b6e04c70e" NANORS_COMMIT="e9e242e98e27037830490b2a752895ca68f75f8b" -TRAY_COMMIT="e08bdbe5aa7de0ad9c0ce36257016e07c7e6e2c0" +TRAY_COMMIT="2bf1c610300b27f8d8ce87e2f13223fc83efeb42" SWS_COMMIT="27b41f5ee154cca0fce4fe2955dd886d04e3a4ed" WLRP_COMMIT="4264185db3b7e961e7f157e1cc4fd0ab75137568" FFMPEG_VERSION="6.1.1" @@ -17,9 +17,9 @@ FFMPEG_VERSION="6.1.1" # PV= # git fetch # git checkout v$PV -# rm -rf node_modules -# npm install -# XZ_OPT=-9 tar --xform="s:^:Sunshine-$PV/:" -Jcf /var/cache/distfiles/sunshine-node-modules-$PV.tar.xz node_modules +# rm -rf node_modules npm_cache package-lock.json +# npm_config_cache="${PWD}"/npm_cache npm install --logs-max=0 --omit=optional +# XZ_OPT=-9 tar --xform="s:^:Sunshine-$PV/:" -Jcf /var/cache/distfiles/sunshine-npm-cache-$PV.tar.xz npm_cache package-lock.json if [[ ${PV} = 9999* ]]; then inherit git-r3 @@ -40,13 +40,13 @@ else 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}-node-modules-${PV}.tar.xz + https://dev.gentoo.org/~chewi/distfiles/${PN}-npm-cache-${PV}.tar.xz " KEYWORDS="~amd64 ~arm64" S="${WORKDIR}/Sunshine-${PV}" fi -inherit cmake fcaps flag-o-matic toolchain-funcs udev xdg +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" @@ -166,7 +166,6 @@ RDEPEND=" DEPEND=" ${CDEPEND} media-libs/amf-headers - media-libs/libva =media-libs/nv-codec-headers-12* wayland? ( dev-libs/wayland-protocols ) " @@ -180,9 +179,8 @@ BDEPEND=" " PATCHES=( - "${FILESDIR}"/${P}-vaapi.patch - "${FILESDIR}"/${P}-no-x11.patch - "${FILESDIR}"/${P}-system-deps.patch + "${FILESDIR}"/${PN}-custom-ffmpeg.patch + "${FILESDIR}"/${PN}-0.22.0-nvcodec.patch ) # Make this mess a bit simpler. @@ -190,9 +188,11 @@ CMAKE_IN_SOURCE_BUILD=1 # Make npm behave. export npm_config_audit=false +export npm_config_cache="${S}"/npm_cache 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 @@ -343,12 +343,14 @@ src_configure() { -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_MINIUPNP=yes -DSUNSHINE_SYSTEM_WAYLAND_PROTOCOLS=yes + -DSYSTEMD_USER_UNIT_INSTALL_DIR=$(systemd_get_userunitdir) + -DUDEV_RULES_INSTALL_DIR=$(get_udevdir)/rules.d ) CMAKE_USE_DIR="${S}" cmake_src_configure } diff --git a/net-misc/sunshine/sunshine-9999.ebuild b/net-misc/sunshine/sunshine-9999.ebuild index 641289cdc732..87184bed9664 100644 --- a/net-misc/sunshine/sunshine-9999.ebuild +++ b/net-misc/sunshine/sunshine-9999.ebuild @@ -5,10 +5,10 @@ EAPI=8 # These don't necessarily have to align with the upstream release. BUILD_DEPS_COMMIT="2aafe061cd52a944cb3b5f86d1f25e9ad2a19bec" -ENET_COMMIT="c6bb0e50118d08252eee308de8412751218442d6" -MOONLIGHT_COMMIT="6e9ed871bc3e013386c775b2ee7d31deb1151068" +ENET_COMMIT="04e27590670a87a7cd40f5a05cda97467e4e25a3" +MOONLIGHT_COMMIT="cbd0ec1b25edfb8ee8645fffa49ff95b6e04c70e" NANORS_COMMIT="e9e242e98e27037830490b2a752895ca68f75f8b" -TRAY_COMMIT="e08bdbe5aa7de0ad9c0ce36257016e07c7e6e2c0" +TRAY_COMMIT="2bf1c610300b27f8d8ce87e2f13223fc83efeb42" SWS_COMMIT="27b41f5ee154cca0fce4fe2955dd886d04e3a4ed" WLRP_COMMIT="4264185db3b7e961e7f157e1cc4fd0ab75137568" FFMPEG_VERSION="6.1.1" @@ -17,9 +17,9 @@ FFMPEG_VERSION="6.1.1" # PV= # git fetch # git checkout v$PV -# rm -rf node_modules -# npm install -# XZ_OPT=-9 tar --xform="s:^:Sunshine-$PV/:" -Jcf /var/cache/distfiles/sunshine-node-modules-$PV.tar.xz node_modules +# rm -rf node_modules npm_cache package-lock.json +# npm_config_cache="${PWD}"/npm_cache npm install --logs-max=0 --omit=optional +# XZ_OPT=-9 tar --xform="s:^:Sunshine-$PV/:" -Jcf /var/cache/distfiles/sunshine-npm-cache-$PV.tar.xz npm_cache package-lock.json if [[ ${PV} = 9999* ]]; then inherit git-r3 @@ -40,7 +40,7 @@ else 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}-node-modules-${PV}.tar.xz + https://dev.gentoo.org/~chewi/distfiles/${PN}-npm-cache-${PV}.tar.xz " KEYWORDS="~amd64 ~arm64" S="${WORKDIR}/Sunshine-${PV}" @@ -188,9 +188,11 @@ CMAKE_IN_SOURCE_BUILD=1 # Make npm behave. export npm_config_audit=false +export npm_config_cache="${S}"/npm_cache 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 |