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@gentoo.org>
This commit is contained in:
James Le Cuirot 2025-07-19 14:36:53 +01:00
parent 92ef885ac5
commit 4b74b48921
No known key found for this signature in database
GPG Key ID: 1226415D00DD3137
3 changed files with 19 additions and 6 deletions

View File

@ -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

View File

@ -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

View File

@ -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