summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-06-02 06:59:34 +0100
committerSam James <sam@gentoo.org>2023-06-02 13:40:33 +0100
commit8fc7984e0f9c62034119bf05f52f5fdd3d3c8959 (patch)
treee044f135e29fe90829a7b3b11657ce2d89a90dd6 /dev-cpp
parentdev-java/tomcat-native: bump to 2.0.4 (diff)
downloadgentoo-8fc7984e0f9c62034119bf05f52f5fdd3d3c8959.tar.gz
gentoo-8fc7984e0f9c62034119bf05f52f5fdd3d3c8959.tar.bz2
gentoo-8fc7984e0f9c62034119bf05f52f5fdd3d3c8959.zip
dev-cpp/folly: add 2023.05.22.00
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-cpp')
-rw-r--r--dev-cpp/folly/Manifest1
-rw-r--r--dev-cpp/folly/files/folly-2023.05.22.00-musl-fix.patch26
-rw-r--r--dev-cpp/folly/folly-2023.05.22.00.ebuild90
3 files changed, 117 insertions, 0 deletions
diff --git a/dev-cpp/folly/Manifest b/dev-cpp/folly/Manifest
index caac3bd27ab8..31655e07962d 100644
--- a/dev-cpp/folly/Manifest
+++ b/dev-cpp/folly/Manifest
@@ -2,3 +2,4 @@ DIST folly-v2022.08.29.00.tar.gz 3696645 BLAKE2B c1ff618be8b6a73bf0a1249212cf904
DIST folly-v2023.02.06.00.tar.gz 3790845 BLAKE2B b1c0eed7a2dccba3ccb5e25aa24cc0a6d628fbc3134bf0ed82a1e0e614825a3ae620d79a54e2bea398274afcb662bdfca48d7193f69db35f624ed6a2fa9bae99 SHA512 b9cd8132a702e88e4c9fefcce190d9fd403253c9b71dc22316f237922d99f9cd980ab81d50ddb48ae0e614a493b3d61865b03eee46d59805f83fce528f831646
DIST folly-v2023.04.10.00.tar.gz 3816300 BLAKE2B fe262148583321ee55da9305a9e060e48915598c08edbd0edb884529d0a9547783f2e1a45b0f39e461ea6b92e9c0b74fc7b071ec1ed044b810ac2065c93a5f10 SHA512 4f154127f24e2e57873ed8e135989c214ae3bbaf0302594b3e67de89e04bf4905f45471a488220ecade56b9ae2b928a779b66f7632210a02b1087a4c05141d5a
DIST folly-v2023.05.01.00.tar.gz 3821115 BLAKE2B 6b2e14dd7b88daa5f81294143f0ad62dc119d7f20f4e4a48859213997cf67df9840a46b7933cd806af166394de1981b0a9f2d9f194e2cb54c73eed8e60c3ed04 SHA512 92bea2e7449a85936a93aef8a216e83f402be41bbd9ab4e90759600bb40e7903e4c8e490cadcf40f098c7a69e187db4d1062645fba8ef15764ba753276ada535
+DIST folly-v2023.05.22.00.tar.gz 3834791 BLAKE2B e981f844b12620b274a78fa6640d1510525c1b4cc3bb35594bd5c5daf238eb19291a1ddf19f29e26269effbe79c22ccc9c002f5f547e06566aa804f0d92a0a9c SHA512 4af93f23a6835efaca317dc7a15abe13619d498efbaa5b349a30682be35c129bd87ab9723c5186e63e3d3b646a80816b994f5237108f8d489a50a028bb16c9da
diff --git a/dev-cpp/folly/files/folly-2023.05.22.00-musl-fix.patch b/dev-cpp/folly/files/folly-2023.05.22.00-musl-fix.patch
new file mode 100644
index 000000000000..6f92db0a785a
--- /dev/null
+++ b/dev-cpp/folly/files/folly-2023.05.22.00-musl-fix.patch
@@ -0,0 +1,26 @@
+# Elf.cpp expects __ELF_NATIVE_CLASS to be defined at least for platforms
+# besides FreeBSD-based ones, and so it defines FOLLY_ELF_NATIVE_CLASS with it.
+# Without __ELF_NATIVE_CLASS (and apparently musl does not define it),
+# FOLLY_ELF_NATIVE_CLASS is also not defined so what was supposed to be
+# expanded to ELFCLASS32 or ELFCLASS64 ends up being
+# ELFCLASSFOLLY_ELF_NATIVE_CLASS.
+#
+# Please refer: https://github.com/facebook/folly/issues/1478
+#
+# Closes: https://bugs.gentoo.org/835744
+--- a/folly/experimental/symbolizer/Elf.cpp
++++ b/folly/experimental/symbolizer/Elf.cpp
+@@ -39,12 +39,10 @@
+
+ #if defined(__ELF_NATIVE_CLASS)
+ #define FOLLY_ELF_NATIVE_CLASS __ELF_NATIVE_CLASS
+-#elif defined(__FreeBSD__)
+-#if defined(__LP64__)
++#elif defined(__LP64__)
+ #define FOLLY_ELF_NATIVE_CLASS 64
+ #else
+ #define FOLLY_ELF_NATIVE_CLASS 32
+-#endif
+ #endif // __ELF_NATIVE_CLASS
+
+ namespace folly {
diff --git a/dev-cpp/folly/folly-2023.05.22.00.ebuild b/dev-cpp/folly/folly-2023.05.22.00.ebuild
new file mode 100644
index 000000000000..08296dbb6784
--- /dev/null
+++ b/dev-cpp/folly/folly-2023.05.22.00.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2023 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/folly
+# dev-util/watchman
+
+inherit 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 ~ppc64"
+IUSE="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/gflags:=
+ dev-cpp/glog:=[gflags]
+ dev-libs/boost:=[context]
+ dev-libs/double-conversion:=
+ dev-libs/libaio
+ dev-libs/libevent:=
+ dev-libs/libfmt:=
+ dev-libs/libsodium:=
+ dev-libs/openssl:=
+ >=sys-libs/liburing-2.3:=
+ sys-libs/zlib
+ llvm-libunwind? ( sys-libs/llvm-libunwind:= )
+ !llvm-libunwind? ( sys-libs/libunwind:= )
+"
+# libiberty is linked statically
+DEPEND="
+ ${RDEPEND}
+ sys-libs/binutils-libs
+ test? ( dev-cpp/gtest )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2023.05.22.00-musl-fix.patch
+)
+
+src_unpack() {
+ # Workaround for bug #889420
+ mkdir -p "${S}" || die
+ cd "${S}" || die
+ default
+}
+
+src_configure() {
+ # TODO: liburing could in theory be optional but fails to link
+ local mycmakeargs=(
+ -DLIB_INSTALL_DIR="$(get_libdir)"
+
+ -DBUILD_TESTS=$(usex test)
+
+ # https://github.com/gentoo/gentoo/pull/29393
+ -DCMAKE_LIBRARY_ARCHITECTURE=$(usex amd64 x86_64 ${ARCH})
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ local myctestargs=(
+ # - timeseries_histogram_test.TimeseriesHistogram.Percentile|HHWheelTimerTest
+ # Long-standing known test failure
+ # TODO: report upstream
+ # - HHWheelTimerTest.HHWheelTimerTest.CancelTimeout
+ # Timeouts are fragile
+ # - concurrent_hash_map_test.*
+ # TODO: All SIGSEGV, report upstream!
+ # - ssl_errors_test.SSLErrorsTest.TestMessage
+ # Network...?
+ -E "(timeseries_histogram_test.TimeseriesHistogram.Percentile|HHWheelTimerTest.HHWheelTimerTest.CancelTimeout|concurrent_hash_map_test.*|ssl_errors_test.SSLErrorsTest.TestMessage)"
+ )
+
+ cmake_src_test
+}