commit: 4b74b4892162ec4944217d592fcf7ea073b5beda Author: James Le Cuirot <chewi <AT> gentoo <DOT> org> AuthorDate: Sat Jul 19 13:36:53 2025 +0000 Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org> CommitDate: Sat Jul 19 13:39:17 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4b74b489
net-misc/sunshine: Build and statically link Boost 1.87 for now Unfortunately, Sunshine relies heavily on the v1 process API that was dropped in Boost 1.88. I tried to make the necessary changes, but v2 is very different and missing features present in v1. I'll leave this mess to upstream. In the meantime, build and statically link 1.87. This is less than ideal but better than holding everyone back. It raises a couple of CMake compatibility warnings, but upstream will hopefully bump Boost before this becomes an issue. Closes: https://bugs.gentoo.org/955560 Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org> net-misc/sunshine/Manifest | 1 + ...2025.628.4510.ebuild => sunshine-2025.628.4510-r1.ebuild} | 12 +++++++++--- net-misc/sunshine/sunshine-9999.ebuild | 12 +++++++++--- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/net-misc/sunshine/Manifest b/net-misc/sunshine/Manifest index 81cf3ba97386..c44d26e7fcd7 100644 --- a/net-misc/sunshine/Manifest +++ b/net-misc/sunshine/Manifest @@ -1,6 +1,7 @@ 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 boost-1.87.0-cmake.tar.xz 99456792 BLAKE2B e0effec92699f73b97a7f0a51326aecdf3fcfa13aa1c5005a8074746ef4d326a9daacd99148a0b2719202329b0671bb8f7e44c2d1c9634adc7cbaace90f8a743 SHA512 e3fca57520d39c29990d875538c1a60b617b2cee50ec3881015417e5fba0ebb7a903b0f17be3cde42ee85e5ffb2cf45228443fefbdb272cb06f6be94f32e06fb DIST ffmpeg-7.1.1.tar.xz 11019500 BLAKE2B 85d1850bfa39ec28d358b5454daa7c1cf8580af73a6f83e7c070ea94db40ad485adbaeb89e886e0b3908e0f1765bd9f2b40ddd838e33e0a76e5b286917535310 SHA512 42486e485c8fc6f3ec61598a1a7cb40360535762b3fcf28c10d7c6840bc55afe3334434912746e69eef862d3cedf45a02953bde73d38547d2d9a7a38a65e123a DIST inputtino-3a7a658782217d77ee1d1055c3930874cfd299aa.tar.gz 102559 BLAKE2B d8b755014b236066710f20abfedb89d40299745b321b00e6a493d8bf7ea28112232e471d5163813959d6961359366046f542c13d7fadec7bcd7f904a34c0a595 SHA512 b3d9b4a5232adc8540f3c69cadfcb52119b0375f661c38785841a68000259adda5a19f4405879d12b28d22682524a68b988df07ca84938261c46b85452507d3d DIST libdisplaydevice-2025.612.225826.tar.gz 116395 BLAKE2B f4a87145820edefa7c6f8b94aaad7ecce329ec3ca50a958ad40d7313c5e66f51e477b3de82d5449e659ee4512b1c1f704c24c5a2b08971fc2d8b029530a43b49 SHA512 3cc1cee2899a06036fbb95f751a18f5f8ab897ef4bc1b64398363f572b0042a60b6fd6af01e3b3cf44f361156069065c523b7ffea5a4d4a45b0ffff5e2f127e2 diff --git a/net-misc/sunshine/sunshine-2025.628.4510.ebuild b/net-misc/sunshine/sunshine-2025.628.4510-r1.ebuild similarity index 96% rename from net-misc/sunshine/sunshine-2025.628.4510.ebuild rename to net-misc/sunshine/sunshine-2025.628.4510-r1.ebuild index b4bff594534d..c3de4a83ff0e 100644 --- a/net-misc/sunshine/sunshine-2025.628.4510.ebuild +++ b/net-misc/sunshine/sunshine-2025.628.4510-r1.ebuild @@ -49,6 +49,9 @@ else S="${WORKDIR}/Sunshine-${PV}" fi +BOOST_VERSION="1.87.0" +SRC_URI+="https://github.com/boostorg/boost/releases/download/boost-${BOOST_VERSION}/boost-${BOOST_VERSION}-cmake.tar.xz" + inherit cmake fcaps flag-o-matic systemd toolchain-funcs udev xdg DESCRIPTION="Self-hosted game stream host for Moonlight" @@ -129,7 +132,6 @@ REQUIRED_USE=" " CDEPEND=" - =dev-libs/boost-1.87*:=[nls] dev-libs/libevdev dev-libs/openssl:= media-libs/opus @@ -228,7 +230,7 @@ src_unpack() { cd "${S}" || die npm install || die else - default + unpack ${A//boost-${BOOST_VERSION}-cmake.tar.xz} 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 @@ -347,9 +349,13 @@ src_configure() { echo ./configure "${myconf[@]}" ./configure "${myconf[@]}" || die + # Symlink Boost tarball for CMake to find instead of fetching live. + mkdir -p "${S}"/_deps/boost-subbuild/boost-populate-prefix/src || die + ln -s "${DISTDIR}/boost-${BOOST_VERSION}-cmake.tar.xz" "${S}"/_deps/boost-subbuild/boost-populate-prefix/src/ || die + local mycmakeargs=( -DBUILD_SHARED_LIBS=no - -DBOOST_USE_STATIC=no + -DBOOST_USE_STATIC=yes -DBUILD_DOCS=no -DBUILD_TESTS=no -DCCACHE_FOUND=no diff --git a/net-misc/sunshine/sunshine-9999.ebuild b/net-misc/sunshine/sunshine-9999.ebuild index 5cad8d0149dc..f5a739571215 100644 --- a/net-misc/sunshine/sunshine-9999.ebuild +++ b/net-misc/sunshine/sunshine-9999.ebuild @@ -49,6 +49,9 @@ else S="${WORKDIR}/Sunshine-${PV}" fi +BOOST_VERSION="1.87.0" +SRC_URI+="https://github.com/boostorg/boost/releases/download/boost-${BOOST_VERSION}/boost-${BOOST_VERSION}-cmake.tar.xz" + inherit cmake fcaps flag-o-matic systemd toolchain-funcs udev xdg DESCRIPTION="Self-hosted game stream host for Moonlight" @@ -129,7 +132,6 @@ REQUIRED_USE=" " CDEPEND=" - =dev-libs/boost-1.87*:=[nls] dev-libs/libevdev dev-libs/openssl:= media-libs/opus @@ -225,7 +227,7 @@ src_unpack() { cd "${S}" || die npm install || die else - default + unpack ${A//boost-${BOOST_VERSION}-cmake.tar.xz} 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 @@ -344,9 +346,13 @@ src_configure() { echo ./configure "${myconf[@]}" ./configure "${myconf[@]}" || die + # Symlink Boost tarball for CMake to find instead of fetching live. + mkdir -p "${S}"/_deps/boost-subbuild/boost-populate-prefix/src || die + ln -s "${DISTDIR}/boost-${BOOST_VERSION}-cmake.tar.xz" "${S}"/_deps/boost-subbuild/boost-populate-prefix/src/ || die + local mycmakeargs=( -DBUILD_SHARED_LIBS=no - -DBOOST_USE_STATIC=no + -DBOOST_USE_STATIC=yes -DBUILD_DOCS=no -DBUILD_TESTS=no -DCCACHE_FOUND=no
