commit: 8be3c74a328b4776bcf5a26bc3d5df73234b2967
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 2 20:57:13 2025 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Wed Jul 2 21:06:38 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8be3c74a
net-misc/sunshine: Drop old 2025.122.141614
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
net-misc/sunshine/Manifest | 7 -
.../files/sunshine-2025.122.141614-cmake4.patch | 8 -
.../sunshine/files/sunshine-ffmpeg-7.1.1.patch | 11 -
net-misc/sunshine/sunshine-2025.122.141614.ebuild | 398 ---------------------
4 files changed, 424 deletions(-)
diff --git a/net-misc/sunshine/Manifest b/net-misc/sunshine/Manifest
index 26d7b91d717b..81cf3ba97386 100644
--- a/net-misc/sunshine/Manifest
+++ b/net-misc/sunshine/Manifest
@@ -1,19 +1,12 @@
-DIST LizardByte-build-deps-1ac1b57c6d96dceb646170d1c2f0a35703c4c50e.tar.gz
29094 BLAKE2B
8c79353150c764da40821463e0fd682a2f9c17154691c08801a13dd4c1f51ec292a214a4a931506e978ac36247aaa9aa827d15a6e39a253fb4b7dcd899b850ea
SHA512
cd6869bbd562dbe4f5797fc28113bf0eb5eaa12f2622b99fc54d2ed04bc3bfc50c9f3fb54529fec03963439a6d745626dca77531b4d968f4554359e0dcf2e8b6
DIST LizardByte-build-deps-6ad5cf841f592f95be47fb401cde02ae621acd0f.tar.gz
31380 BLAKE2B
42c046e8f7d409efb6917380a6a539f0f0e152deccc40ce5c965637201951dee772418b97567e05645b3a159be8a6ea81c96dc40d8e89f352c2a4145e4a33045
SHA512
b0b04f062049abe76a21d7a3d4fa0ae78fd7fabb8ebfc4a40aec285a891145bcfd726a29d6c4ea69d34fd57c40ad28c25c8567f77294f31945c25183fe2cf17f
DIST LizardByte-tray-d45306e686c90a18f5792a1541783d7bc8555bc6.tar.gz 1083704
BLAKE2B
a7fd4e029a8fc531122312483e21373739eb3a5d11b9048259b7a57313bbb0bbfe695e5873b02be4cfb40c68b989e68338ccd2a6cce9f018f574ac0de779efef
SHA512
b4e4ab0c6d239aaa41dbe09ad818b7bfc80578c5119bd324943fa5e850c004995d228a6241639b2f91ef6bc84417ac9cd4a4af87d6529a313bc37a0bf80544c4
DIST Simple-Web-Server-187f798d54a9c6cee742f2eb2c54e9ba26f5a385.tar.bz2 63539
BLAKE2B
29b04e604649d88e5de0cf60b22aef1ff7e73ee34cd5e76cea79b89f256b98615d445f11a3aaa264accd8b146c5554650fe633fa3a80d3eb895c2d680e106c49
SHA512
5a7de907f45063f0c0a6f43a056fec1931d6af3496ef66a2d2f10438fa2f27ac5516b6721b1749f0812720ae02ae7f77e06e2ea83328c768042471ccb56f6a58
-DIST Simple-Web-Server-4abe3491582b56c0b18fc35278aad33b2db29cdc.tar.bz2 63446
BLAKE2B
0a07d4b3f198ad8c24e42a8a01df86c9386eab1bf28388851d5d7c09fbe28a28023a03c07202aef18b16ae2ff0398a61f0770595e13a11251611903dba293e5e
SHA512
400eea353f7004ae5a7c59cb1f9f102bb3636cf1ab5ea24b07d8895c7b22d8a9b6a433740fbc295ca037b995492ab3b1620c13e1bc490b39c2cc3629ac5b2de2
DIST ffmpeg-7.1.1.tar.xz 11019500 BLAKE2B
85d1850bfa39ec28d358b5454daa7c1cf8580af73a6f83e7c070ea94db40ad485adbaeb89e886e0b3908e0f1765bd9f2b40ddd838e33e0a76e5b286917535310
SHA512
42486e485c8fc6f3ec61598a1a7cb40360535762b3fcf28c10d7c6840bc55afe3334434912746e69eef862d3cedf45a02953bde73d38547d2d9a7a38a65e123a
DIST inputtino-3a7a658782217d77ee1d1055c3930874cfd299aa.tar.gz 102559 BLAKE2B
d8b755014b236066710f20abfedb89d40299745b321b00e6a493d8bf7ea28112232e471d5163813959d6961359366046f542c13d7fadec7bcd7f904a34c0a595
SHA512
b3d9b4a5232adc8540f3c69cadfcb52119b0375f661c38785841a68000259adda5a19f4405879d12b28d22682524a68b988df07ca84938261c46b85452507d3d
-DIST inputtino-8065aeb46e5e5980e700d9c1f1be3c4f7ec29630.tar.gz 80517 BLAKE2B
45931bb168aa685c1a7fbd2ec86f50c514aebe327d44e65b8834f064126a01df2ee5256954bf0f83fb6df9efaa700f2a13f1d7503c6f0a93e26472af64231b2d
SHA512
c6c0d3f3b1bf1a932d8d61a2afb3f133439f173710236b9beee5dcd49c67ea4473d658ff7eb0cf86e949aa5c24aed7a7305a0f6ffed7c686cde8e616320c2a5f
-DIST libdisplaydevice-2025.411.113543.tar.gz 121203 BLAKE2B
f5cd0c14dd01b3e0af0c33bb94bbcc6fdb367b7582145fc0189f1ce7fd3e013060ef72c028861d56ded8e917c0f16aebdc90372abecff43941cd24d98118488b
SHA512
f5cf62f022cd0ba5972ee30f76d1917fc760a12342c473df2c853630317367e7c2ad0c6e63a278c01c5642abf1504a6ed46a6bd0567a0e84f6220b34136b0807
DIST libdisplaydevice-2025.612.225826.tar.gz 116395 BLAKE2B
f4a87145820edefa7c6f8b94aaad7ecce329ec3ca50a958ad40d7313c5e66f51e477b3de82d5449e659ee4512b1c1f704c24c5a2b08971fc2d8b029530a43b49
SHA512
3cc1cee2899a06036fbb95f751a18f5f8ab897ef4bc1b64398363f572b0042a60b6fd6af01e3b3cf44f361156069065c523b7ffea5a4d4a45b0ffff5e2f127e2
DIST moonlight-common-c-58902e342f6d53d6783c99fe79a03168d46cd56f.tar.gz 151341
BLAKE2B
5d0a8a1a6b8ef30d3fb722f433eea027c6b1b4a87bca0ecbcbdf7e979fda1d7c7228caa05e3d2a5955495d22d4955786837ed221e099ed1dde85df19b5ba7da8
SHA512
a5915eac3434d40b907d9ecacb369e7dda999eea1e46cff0eb3ede67447856a174006a8f514e51133f5e383ca27493dca35684064a43212622392902d0a65698
-DIST moonlight-common-c-d3d3e6cf015cd032ce02718246b52aabd1e12294.tar.gz 150660
BLAKE2B
a752157fb50e7994f62b83421a56d46e168b542e2a34f99d4b3d2af8c44489a46f4caa4b2938410c48e8c3940348ed4ff02d2f118d66afc276f2c0008f28ab02
SHA512
00d8a80125065db623f1f4a2c1da8df599ec3e0bc90d044af04ce1ccc10af469e9e2f8bd7c397b7f01e118d039be72e5b5e28640d3eab8f0ff5061a9cbec1de9
DIST moonlight-enet-44c85e16279553d9c052e572bcbfcd745fb74abf.tar.gz 86750
BLAKE2B
e378708d7bcc055a1f9f29f07fe974be18ea054b86c5d8c8f578d63ac20143440058498b5adcaedec1ed6914f0a941992c6762fb1798226eac89fbd714d822c7
SHA512
7be5a8080ef3bc897a88a31571d55faaba1ba92c3651ba8d487f46fece0f79832b08c9abc701757b50b4a899ee973ad346f4f0d9f6bc104f34303dd04c09b503
DIST nanors-19f07b513e924e471cadd141943c1ec4adc8d0e0.tar.gz 194695 BLAKE2B
6b9294c602252aa4e78c87786fdf8586886f2ab798f7c9c190e51af8c15ec3e3da34e8f3ebfae104b3a190dcde830159224384653c858a031e5e36ddb5f9a3b0
SHA512
3b6999babc3db7981ffc7db4655cf15d66fcdb12c2b553f6db1b4e8705a16b689997b2038cfa634f979f55370a26f8ff1c36a0d8ace08e3e4192e7f369748c82
-DIST sunshine-2025.122.141614.tar.gz 24363526 BLAKE2B
129cc51263138d3114129ff5b23c23ea2623b443b10e1678ae31ec6cf25244b5607d797220d17207732bd738acd011418bee4e059ae69f69f9585f81b75bc2e1
SHA512
cdaa24bb38bf7bbbbf8736066290b36a47f1b34ca8864329b4e504a3df27b6d1cd272649643f69de8834b6aa30d11a3260cbb2a9cfa38c46ef9aad7b4dd3ca9e
DIST sunshine-2025.628.4510.tar.gz 24525317 BLAKE2B
100996c258b831f93de8c543bd9dc81113ee707f8d64d74a8dc2b3acb4e588ab9f0100a752f43df70b55ad6ebdb308204808ec51a0c28e6f9602e84c9eaa765a
SHA512
17494f2df42ae5e3f5a52282ae59f831225732c72f14c4a4745868a5281a621e4ea4843aa0e35230c4810f680769b9d1298f521d39ede6020526a0cf3662514c
-DIST sunshine-assets-2025.122.141614.tar.xz 1333740 BLAKE2B
2593b1af1cf2405dd7bfbcbde09ca361af99db8cafc40e4d938257f96671b070940f8744df7a79a46820bfa56650f80101d5490d1e2008aa918be436de95184e
SHA512
cc4dede6c258008585b7dd53df370a5a8f1b6fd9dc109404df766afee6c469c387f41d7f3fae8abffea8917ea93eed7faf95f8e688192ec5c339dbaa198a4191
DIST sunshine-assets-2025.628.4510.tar.xz 1354804 BLAKE2B
294fc51e152071da2c3912dfedec1ba26741e56be20c3e4e150b6ddd5f97f40f84de7bb87a237e48c5e7f2536c79d38b661eec6d2948eba08efe068943798f5f
SHA512
5c53d18e26e6ae060b438455f0474dea9170b930339d024b3909e23a6e52e1ff6f428f6908938ff42fb4b2b51773a6ef144823d942f44e9e4d27f7fa6c64aa33
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
deleted file mode 100644
index 7f1a2e7c4a30..000000000000
--- a/net-misc/sunshine/files/sunshine-2025.122.141614-cmake4.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- 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-ffmpeg-7.1.1.patch
b/net-misc/sunshine/files/sunshine-ffmpeg-7.1.1.patch
deleted file mode 100644
index 8b973f8f5be2..000000000000
--- a/net-misc/sunshine/files/sunshine-ffmpeg-7.1.1.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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/sunshine-2025.122.141614.ebuild
b/net-misc/sunshine/sunshine-2025.122.141614.ebuild
deleted file mode 100644
index ba6116f01f8d..000000000000
--- a/net-misc/sunshine/sunshine-2025.122.141614.ebuild
+++ /dev/null
@@ -1,398 +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="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=
-# 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/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
- -> inputtino-${INPUTTINO_COMMIT}.tar.gz
-
https://github.com/moonlight-stream/moonlight-common-c/archive/${MOONLIGHT_COMMIT}.tar.gz
- -> moonlight-common-c-${MOONLIGHT_COMMIT}.tar.gz
-
https://github.com/sleepybishop/nanors/archive/${NANORS_COMMIT}.tar.gz
- -> 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 systemd 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-1.87*:=[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:= )
- 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}
- dev-cpp/nlohmann_json
- media-libs/amf-headers
- <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 )
- cuda? ( dev-util/nvidia-cuda-toolkit )
- wayland? ( dev-util/wayland-scanner )
-"
-
-PATCHES=(
- "${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.
-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=${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=${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,libdisplaydevice,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
- 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() {
- # Avoid CMake compatibility warning.
- rm third-party/moonlight-common-c/CMakeLists.txt || die
-
- 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/build-deps/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 "${S}"/third-party/build-deps/generated-src/FFmpeg || die
- echo ./configure "${myconf[@]}"
- ./configure "${myconf[@]}" || die
-
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=no
- -DBOOST_USE_STATIC=no
- -DBUILD_DOCS=no
- -DBUILD_TESTS=no
- -DCCACHE_FOUND=no
- -DFFMPEG_PLATFORM_LIBRARIES="$(usex svt-av1 SvtAv1Enc
'');$(usex vaapi 'va;va-drm' '');$(usev x264);$(usev x265)"
- -DFFMPEG_PREPARED_BINARIES="${S}"/third-party/build-deps/dist
- -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_SYSTEM_WAYLAND_PROTOCOLS=yes
- -DUDEV_RULES_INSTALL_DIR=$(get_udevdir)/rules.d
- )
-
- 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 "${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
-}
-
-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
-}