commit:     96b387a0f8ea3ab002aea2d7aef69b0421ccdec5
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 17 03:08:31 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Sep 17 03:08:47 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=96b387a0

dev-cpp/mvfst: fix build w/ boost-1.89

Choose the hack approach and require >=1.71.

Closes: https://bugs.gentoo.org/962946
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/mvfst-2025.04.14.00-boost-1.89.patch     | 23 ++++++++
 dev-cpp/mvfst/mvfst-2025.04.14.00-r1.ebuild        | 67 ++++++++++++++++++++++
 2 files changed, 90 insertions(+)

diff --git a/dev-cpp/mvfst/files/mvfst-2025.04.14.00-boost-1.89.patch 
b/dev-cpp/mvfst/files/mvfst-2025.04.14.00-boost-1.89.patch
new file mode 100644
index 000000000000..14cc3814a138
--- /dev/null
+++ b/dev-cpp/mvfst/files/mvfst-2025.04.14.00-boost-1.89.patch
@@ -0,0 +1,23 @@
+https://bugs.gentoo.org/962946
+https://github.com/facebook/folly/issues/2489
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -44,7 +44,6 @@ set(QUIC_FBCODE_ROOT ${CMAKE_CURRENT_SOURCE_DIR})
+ find_package(Boost 1.62
+   REQUIRED COMPONENTS
+   iostreams
+-  system
+   thread
+   filesystem
+   regex
+--- a/cmake/mvfst-config.cmake.in
++++ b/cmake/mvfst-config.cmake.in
+@@ -20,7 +20,7 @@ include(CMakeFindDependencyMacro)
+ find_dependency(folly)
+ find_dependency(Fizz)
+ find_dependency(Threads)
+-find_dependency(Boost COMPONENTS iostreams system thread filesystem regex 
context)
++find_dependency(Boost COMPONENTS iostreams thread filesystem regex context)
+ 
+ if(NOT TARGET mvfst::mvfst_transport)
+   include("${CMAKE_CURRENT_LIST_DIR}/mvfst-targets.cmake")

diff --git a/dev-cpp/mvfst/mvfst-2025.04.14.00-r1.ebuild 
b/dev-cpp/mvfst/mvfst-2025.04.14.00-r1.ebuild
new file mode 100644
index 000000000000..67fd4aa6f0af
--- /dev/null
+++ b/dev-cpp/mvfst/mvfst-2025.04.14.00-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# These must be bumped together:
+# dev-cpp/edencommon
+# dev-cpp/fb303
+# dev-cpp/fbthrift
+# dev-cpp/fizz
+# dev-cpp/folly
+# dev-cpp/mvfst
+# dev-cpp/wangle
+# dev-util/watchman
+
+inherit cmake
+
+DESCRIPTION="An implementation of the QUIC transport protocol"
+HOMEPAGE="https://github.com/facebook/mvfst";
+SRC_URI="https://github.com/facebook/mvfst/archive/refs/tags/v${PV}.tar.gz -> 
${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       ~dev-cpp/fizz-${PV}:=
+       ~dev-cpp/folly-${PV}:=
+       dev-cpp/gflags:=
+       dev-cpp/glog:=[gflags]
+       dev-libs/double-conversion:=
+       dev-libs/libfmt:=
+       dev-libs/openssl:=
+"
+DEPEND="
+       ${RDEPEND}
+       test? ( dev-cpp/gtest )
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-2025.04.14.00-boost-1.89.patch
+)
+
+src_configure() {
+       local mycmakeargs=(
+               -DCMAKE_INSTALL_MODULE_DIR="$(get_libdir)/cmake/${PN}"
+               -DCMAKE_INSTALL_LIBDIR="$(get_libdir)"
+               -DBUILD_TESTS="$(usex test ON OFF)"
+       )
+
+       cmake_src_configure
+}
+
+src_test() {
+       if use arm64; then
+               # These tests segfault on arm64.
+               # https://github.com/facebook/mvfst/issues/363
+               CMAKE_SKIP_TESTS=(
+                       QuicClientTransportIntegrationTest.ResetClient
+                       
QuicClientTransportIntegrationTest.TestStatelessResetToken
+               )
+       fi
+
+       cmake_src_test
+}

Reply via email to