mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-06 00:48:18 -07:00
dev-cpp/folly: 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@gentoo.org>
This commit is contained in:
22
dev-cpp/folly/files/folly-2025.04.14.00-boost-1.89.patch
Normal file
22
dev-cpp/folly/files/folly-2025.04.14.00-boost-1.89.patch
Normal file
@@ -0,0 +1,22 @@
|
||||
https://bugs.gentoo.org/962946
|
||||
https://github.com/facebook/folly/issues/2489
|
||||
--- a/CMake/folly-config.cmake.in
|
||||
+++ b/CMake/folly-config.cmake.in
|
||||
@@ -38,7 +38,6 @@ find_dependency(Boost 1.51.0 MODULE
|
||||
filesystem
|
||||
program_options
|
||||
regex
|
||||
- system
|
||||
thread
|
||||
REQUIRED
|
||||
)
|
||||
--- a/CMake/folly-deps.cmake
|
||||
+++ b/CMake/folly-deps.cmake
|
||||
@@ -41,7 +41,6 @@ find_package(Boost 1.51.0 MODULE
|
||||
filesystem
|
||||
program_options
|
||||
regex
|
||||
- system
|
||||
thread
|
||||
REQUIRED
|
||||
)
|
||||
123
dev-cpp/folly/folly-2025.04.14.00-r2.ebuild
Normal file
123
dev-cpp/folly/folly-2025.04.14.00-r2.ebuild
Normal file
@@ -0,0 +1,123 @@
|
||||
# Copyright 1999-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 flag-o-matic cmake toolchain-funcs
|
||||
|
||||
DESCRIPTION="An open-source C++ library developed and used at Facebook"
|
||||
HOMEPAGE="https://github.com/facebook/folly"
|
||||
SRC_URI="https://github.com/facebook/folly/releases/download/v${PV}/${PN}-v${PV}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64"
|
||||
IUSE="io-uring llvm-libunwind test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
app-arch/bzip2
|
||||
app-arch/lz4:=
|
||||
app-arch/snappy:=
|
||||
app-arch/xz-utils
|
||||
app-arch/zstd:=
|
||||
dev-cpp/fast_float:=
|
||||
dev-cpp/gflags:=
|
||||
dev-cpp/glog:=[gflags]
|
||||
>=dev-libs/boost-1.71:=[context]
|
||||
dev-libs/double-conversion:=
|
||||
dev-libs/libaio
|
||||
dev-libs/libevent:=
|
||||
dev-libs/libfmt:=
|
||||
dev-libs/libsodium:=
|
||||
dev-libs/openssl:=
|
||||
sys-libs/zlib
|
||||
llvm-libunwind? ( llvm-runtimes/libunwind:= )
|
||||
!llvm-libunwind? ( sys-libs/libunwind:= )
|
||||
io-uring? ( >=sys-libs/liburing-2.10:= )
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
sys-libs/binutils-libs
|
||||
test? ( dev-cpp/gtest )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2024.11.04.00-musl-fix.patch
|
||||
"${FILESDIR}"/${PN}-2025.04.14.00-boost-1.89.patch
|
||||
)
|
||||
|
||||
src_unpack() {
|
||||
# Workaround for bug #889420
|
||||
mkdir -p "${S}" || die
|
||||
cd "${S}" || die
|
||||
default
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Folly has no configuration option for disabling io_uring support
|
||||
# so we need to patch it out.
|
||||
if use !io-uring; then
|
||||
eapply "${FILESDIR}"/${PN}-2025.04.14.00-force-liburing-off.patch
|
||||
eapply "${FILESDIR}"/${PN}-2025.04.14.00-CMake-Avoid-finding-liburing.patch
|
||||
fi
|
||||
|
||||
cmake_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DCMAKE_INSTALL_DIR="$(get_libdir)/cmake/${PN}"
|
||||
-DLIB_INSTALL_DIR="$(get_libdir)"
|
||||
|
||||
-DBUILD_TESTS=$(usex test)
|
||||
|
||||
# https://github.com/gentoo/gentoo/pull/29393
|
||||
-DCMAKE_LIBRARY_ARCHITECTURE=$(usex amd64 x86_64 ${ARCH})
|
||||
)
|
||||
|
||||
# https://github.com/facebook/folly/issues/1984
|
||||
use arm64 && append-cxxflags "-flax-vector-conversions"
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
CMAKE_SKIP_TESTS=(
|
||||
# Mysterious "invalid json" failure
|
||||
io_async_ssl_session_test.SSLSessionTest
|
||||
singleton_thread_local_test.SingletonThreadLocalDeathTest
|
||||
# TODO: All SIGSEGV, report upstream!
|
||||
'concurrency_concurrent_hash_map_test.*'
|
||||
)
|
||||
|
||||
if use arm64; then
|
||||
CMAKE_SKIP_TESTS+=(
|
||||
# Tests are flaky/timing dependent on both QEMU chroot and real hardware
|
||||
io_async_hh_wheel_timer_test.HHWheelTimerTest
|
||||
# Times out on real hardware
|
||||
concurrent_skip_list_test.ConcurrentSkipList
|
||||
futures_retrying_test.RetryingTest.largeRetries
|
||||
)
|
||||
fi
|
||||
|
||||
if [[ $(tc-get-cxx-stdlib) == libc++ ]]; then
|
||||
CMAKE_SKIP_TESTS+=(
|
||||
# Aborts with libc++.
|
||||
# https://github.com/facebook/folly/issues/2345
|
||||
buffered_atomic_test.BufferedAtomic.singleThreadUnguardedAccess
|
||||
)
|
||||
fi
|
||||
|
||||
cmake_src_test
|
||||
}
|
||||
Reference in New Issue
Block a user