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 +}