commit:     8fc7984e0f9c62034119bf05f52f5fdd3d3c8959
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  2 05:59:34 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jun  2 12:40:33 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8fc7984e

dev-cpp/folly: add 2023.05.22.00

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-cpp/folly/Manifest                             |  1 +
 .../folly/files/folly-2023.05.22.00-musl-fix.patch | 26 +++++++
 dev-cpp/folly/folly-2023.05.22.00.ebuild           | 90 ++++++++++++++++++++++
 3 files changed, 117 insertions(+)

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

Reply via email to