public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-cpp/folly/files/, dev-cpp/folly/
@ 2022-08-13 15:09 Sam James
  0 siblings, 0 replies; 5+ messages in thread
From: Sam James @ 2022-08-13 15:09 UTC (permalink / raw
  To: gentoo-commits

commit:     f51bef9d5b01a1d7289732657b9e0a12e217fdb1
Author:     brahmajit das <listout <AT> protonmail <DOT> com>
AuthorDate: Fri Aug 12 19:46:37 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Aug 13 15:08:59 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f51bef9d

dev-cpp/folly: add 2022.08.08.00

With folly-2022.08.08.00, there seems to be a undefined reference issue
to undefined reference to
folly::detail::base64_detail::base64Decode_SSE4_2. With newer release we
can remove the patch.

Signed-off-by: brahmajit das <listout <AT> protonmail.com>
Closes: https://github.com/gentoo/gentoo/pull/26838
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-cpp/folly/Manifest                             |  1 +
 ...lly-2022.08.08.00-undefined-reference-fix.patch | 62 +++++++++++++++
 dev-cpp/folly/folly-2022.08.08.00.ebuild           | 93 ++++++++++++++++++++++
 3 files changed, 156 insertions(+)

diff --git a/dev-cpp/folly/Manifest b/dev-cpp/folly/Manifest
index 672efed2879e..23c3b4d7dca4 100644
--- a/dev-cpp/folly/Manifest
+++ b/dev-cpp/folly/Manifest
@@ -1,3 +1,4 @@
 DIST folly-2022.03.28.00.tar.gz 3616507 BLAKE2B da003701abe599f20ac87a2785fe9a4cd4a8896d182737eb1eac6384f3d75a792225b426febea7cc4ea99aac1a1f31eb7330e0a297f43ae7d5aafccd93784560 SHA512 6eee07b3e82247c3c8672442503e9a69a1c4607604269fc0760e11a2d0e5595029e6995fbe7c970d2052a7f228f6b92112630e6d5c624369fc52e5ad1823ef74
 DIST folly-2022.04.11.00.tar.gz 3632587 BLAKE2B 13820f6dc600727fa97603181be97a568cc8b3c713659717592853827dac050d5f1f6d98178e3054871233b48ac18f713589bf43b36ea29445cad557ce13bacf SHA512 7aa0be95d6f8b21aaa88558cf5921c526ab5a8c8121b858eb6e7ea19946d7a82dff06d90b7a365cef5c56a43d8d57af8d01b8b11b27262fbed9ee8c9e701b5ac
 DIST folly-v2022.07.04.00.tar.gz 3647988 BLAKE2B ab8916ff4be1468d44dc0892126448682554ea95ce879166f457b621c3157cb22d0292fe2c58744494efe0fbabbf77732184335cd22244724c740910cf3a8303 SHA512 11fc32768539d8d42c7396eeac522238450617c8dde302b45c64bb93fd6ceaef7bb193b897802962782e8211c3931d31bf8df68e06741ce855d9725510677d7a
+DIST folly-v2022.08.08.00.tar.gz 3684846 BLAKE2B 462c183effea452ca706a7a14ebba820f377bc5ba6fd1475b15ca10e3c21df60a16b529b6599cf5dd5df2913b1fbd0432a3c411ab0aa400a9c84bb6aecd2f70f SHA512 f44dbf96f42a86d44cad46129750ae2bc0abb6702e148de10def4b241a3c7afa62ad19acca96609e8a9bfdfeeb7eda3f19d8eb161b5e41702c943ca87a75c88e

diff --git a/dev-cpp/folly/files/folly-2022.08.08.00-undefined-reference-fix.patch b/dev-cpp/folly/files/folly-2022.08.08.00-undefined-reference-fix.patch
new file mode 100644
index 000000000000..1a21386b1e83
--- /dev/null
+++ b/dev-cpp/folly/files/folly-2022.08.08.00-undefined-reference-fix.patch
@@ -0,0 +1,62 @@
+https://github.com/facebook/folly/commit/10fc2e449038d9ffda5cd53999edb9875c4cb151
+
+From 10fc2e449038d9ffda5cd53999edb9875c4cb151 Mon Sep 17 00:00:00 2001
+From: Simon Marlow <smarlow@fb.com>
+Date: Fri, 12 Aug 2022 08:26:40 -0700
+Subject: [PATCH] Fix bugs in Cmake setup
+
+Summary:
+Please see https://github.com/facebook/folly/issues/1823 and
+https://github.com/facebook/folly/issues/1478
+
+* CMAKE_LIBRARY_ARCHITECTURE is not always defined
+* This doesn't work: `set(IS_X86_64_ARCH NOT(IS_X86_64_ARCH STREQUAL "-1"))`
+* Two conditionals for `IS_X86_64_ARCH` were reversed
+
+Reviewed By: bochko
+
+Differential Revision: D38653631
+
+fbshipit-source-id: c4b6f2820a2280356a7eb69bf0e9253434b5e750
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -27,8 +27,19 @@ if(POLICY CMP0075)
+   cmake_policy(SET CMP0075 NEW)
+ endif()
+
+-string(FIND "${CMAKE_LIBRARY_ARCHITECTURE}" "x86_64" IS_X86_64_ARCH)
+-set(IS_X86_64_ARCH NOT(IS_X86_64_ARCH STREQUAL "-1"))
++if("${CMAKE_LIBRARY_ARCHITECTURE}" STREQUAL "")
++  # CMAKE_LIBRARY_ARCHITECTURE is not always set, so we have to assume
++  # arch might be x86_64
++  message(WARNING "CMAKE_LIBRARY_ARCHITECTURE not set, assuming x86_64")
++  set(IS_X86_64_ARCH ON)
++else()
++  string(FIND "${CMAKE_LIBRARY_ARCHITECTURE}" "x86_64" IS_X86_64_ARCH)
++  if(IS_X86_64_ARCH STREQUAL "-1")
++    set(IS_X86_64_ARCH OFF)
++  else()
++    set(IS_X86_64_ARCH ON)
++  endif()
++endif()
+
+ # includes
+ set(CMAKE_MODULE_PATH
+@@ -230,7 +241,7 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+ endif()
+
+ # base64 SIMD files compilation
+-if (${IS_X86_64_ARCH})
++if (NOT(${IS_X86_64_ARCH}))
+   message(
+     STATUS
+     "arch ${CMAKE_LIBRARY_ARCHITECTURE} does not match x86_64, "
+@@ -256,7 +267,7 @@ else()
+ endif()
+
+ if (${LIBSODIUM_FOUND})
+-  if (${IS_X86_64_ARCH})
++  if (NOT(${IS_X86_64_ARCH}))
+     message(
+       STATUS
+       "arch ${CMAKE_LIBRARY_ARCHITECTURE} does not match x86_64, "

diff --git a/dev-cpp/folly/folly-2022.08.08.00.ebuild b/dev-cpp/folly/folly-2022.08.08.00.ebuild
new file mode 100644
index 000000000000..2b7704b001fd
--- /dev/null
+++ b/dev-cpp/folly/folly-2022.08.08.00.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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"
+S="${WORKDIR}"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+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,threads(+)]
+	dev-libs/double-conversion:=
+	dev-libs/libaio
+	dev-libs/libevent:=
+	dev-libs/libfmt:=
+	dev-libs/libsodium:=
+	dev-libs/openssl:=
+	sys-libs/liburing:=
+	sys-libs/zlib
+	llvm-libunwind? ( sys-libs/llvm-libunwind:= )
+	!llvm-libunwind? ( sys-libs/libunwind:= )"
+# libiberty is linked statically
+DEPEND="${RDEPEND}
+	sys-libs/binutils-libs"
+BDEPEND="test? ( sys-devel/clang )"
+
+PATCHES=(
+	"${FILESDIR}/${PN}"-2022.07.04.00-musl-fix.patch
+	"${FILESDIR}/${PN}"-2022.08.08.00-undefined-reference-fix.patch
+)
+
+pkg_setup() {
+	[[ ${BUILD_TYPE} == "binary" ]] && return
+
+	if use test && ! tc-is-clang ; then
+		# Always build w/ Clang for now to avoid gcc ICE
+		# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106230
+		#if [[ $(gcc-major-version) -eq 12 ]] ; then
+		#	return
+		#fi
+
+		## Only older GCC 11 is broken
+		#if [[ $(gcc-major-version) -eq 11 && $(gcc-minor-version) -ge 3 && $(gcc-micro-version) -ge 1 ]] ; then
+		#	return
+		#fi
+
+		ewarn "Forcing build with Clang due to GCC bug (because tests are enabled)"
+		#ewarn "(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104008)"
+
+		export CC=${CHOST}-clang
+		export CXX=${CHOST}-clang++
+	fi
+}
+
+src_configure() {
+	# TODO: liburing could in theory be optional but fails to link
+
+	local mycmakeargs=(
+		-DLIB_INSTALL_DIR="$(get_libdir)"
+
+		-DBUILD_TESTS=$(usex test)
+	)
+
+	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
+		-E "(timeseries_histogram_test.TimeseriesHistogram.Percentile|HHWheelTimerTest.HHWheelTimerTest.CancelTimeout)"
+	)
+
+	cmake_src_test
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-cpp/folly/files/, dev-cpp/folly/
@ 2022-08-15 17:08 Sam James
  0 siblings, 0 replies; 5+ messages in thread
From: Sam James @ 2022-08-15 17:08 UTC (permalink / raw
  To: gentoo-commits

commit:     e7152c19b5530badc728b6b303a4140814ae2d7c
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 15 17:03:45 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Aug 15 17:08:31 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e7152c19

dev-cpp/folly: add 2022.08.15.00

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

 dev-cpp/folly/Manifest                             |   1 +
 .../folly-2022.08.15.00-liburing-headers.patch     | 102 +++++++++++++++++++++
 dev-cpp/folly/folly-2022.08.15.00.ebuild           |  99 ++++++++++++++++++++
 3 files changed, 202 insertions(+)

diff --git a/dev-cpp/folly/Manifest b/dev-cpp/folly/Manifest
index 23c3b4d7dca4..94ae8e64d336 100644
--- a/dev-cpp/folly/Manifest
+++ b/dev-cpp/folly/Manifest
@@ -2,3 +2,4 @@ DIST folly-2022.03.28.00.tar.gz 3616507 BLAKE2B da003701abe599f20ac87a2785fe9a4c
 DIST folly-2022.04.11.00.tar.gz 3632587 BLAKE2B 13820f6dc600727fa97603181be97a568cc8b3c713659717592853827dac050d5f1f6d98178e3054871233b48ac18f713589bf43b36ea29445cad557ce13bacf SHA512 7aa0be95d6f8b21aaa88558cf5921c526ab5a8c8121b858eb6e7ea19946d7a82dff06d90b7a365cef5c56a43d8d57af8d01b8b11b27262fbed9ee8c9e701b5ac
 DIST folly-v2022.07.04.00.tar.gz 3647988 BLAKE2B ab8916ff4be1468d44dc0892126448682554ea95ce879166f457b621c3157cb22d0292fe2c58744494efe0fbabbf77732184335cd22244724c740910cf3a8303 SHA512 11fc32768539d8d42c7396eeac522238450617c8dde302b45c64bb93fd6ceaef7bb193b897802962782e8211c3931d31bf8df68e06741ce855d9725510677d7a
 DIST folly-v2022.08.08.00.tar.gz 3684846 BLAKE2B 462c183effea452ca706a7a14ebba820f377bc5ba6fd1475b15ca10e3c21df60a16b529b6599cf5dd5df2913b1fbd0432a3c411ab0aa400a9c84bb6aecd2f70f SHA512 f44dbf96f42a86d44cad46129750ae2bc0abb6702e148de10def4b241a3c7afa62ad19acca96609e8a9bfdfeeb7eda3f19d8eb161b5e41702c943ca87a75c88e
+DIST folly-v2022.08.15.00.tar.gz 3691439 BLAKE2B 96ba34a18b51ea91aacd2bbcdbfef855a8924004850534ef342799d1c36d6ece04b77100b8901053fd3d0a997d1764ffdfd5bcd60928b4a4f8c9480f5a6d8ee6 SHA512 72d8d29a1f26f5af33d13e1d2f7ed5ce439bc7345daecc3ed1d30e33b802e0aa4f1ca59fae16db25079e55da14f60cd6a548f0f31eef48abad49b71baa6e6307

diff --git a/dev-cpp/folly/files/folly-2022.08.15.00-liburing-headers.patch b/dev-cpp/folly/files/folly-2022.08.15.00-liburing-headers.patch
new file mode 100644
index 000000000000..f485ee2175fc
--- /dev/null
+++ b/dev-cpp/folly/files/folly-2022.08.15.00-liburing-headers.patch
@@ -0,0 +1,102 @@
+Fix build w/ older kernel headers.
+
+https://github.com/facebook/folly/commit/ae20efa9fa8cea81079df519d93dcbd1523c8dc3
+
+From ae20efa9fa8cea81079df519d93dcbd1523c8dc3 Mon Sep 17 00:00:00 2001
+From: Dylan Yudaken <dylany@fb.com>
+Date: Mon, 15 Aug 2022 08:32:53 -0700
+Subject: [PATCH] io_uring: support older versions of liburing
+
+Summary: Some #if to support older versions of liburing as reported here; https://github.com/facebook/folly/issues/1832
+
+Reviewed By: Orvid
+
+Differential Revision: D38650359
+
+fbshipit-source-id: eb78a7607eaaf151dc394cef72df3826c83fdfbc
+--- a/folly/experimental/io/IoUringBackend.cpp
++++ b/folly/experimental/io/IoUringBackend.cpp
+@@ -40,6 +40,16 @@ extern "C" FOLLY_ATTR_WEAK void eb_poll_loop_pre_hook(uint64_t* call_time);
+ extern "C" FOLLY_ATTR_WEAK void eb_poll_loop_post_hook(
+     uint64_t call_time, int ret);
+ 
++// there is no builtin macro we can use in liburing to tell what version we are
++// on or if features are supported. We will try and get this into the next
++// release but for now in the latest release there was also added multishot
++// accept - and so we can use it's pressence to suggest that we can safely use
++// newer features
++#if defined(IORING_ACCEPT_MULTISHOT)
++#define FOLLY_IO_URING_UP_TO_DATE 1
++#else
++#define FOLLY_IO_URING_UP_TO_DATE 0
++#endif
+ namespace folly {
+ 
+ namespace {
+@@ -296,11 +306,7 @@ std::chrono::time_point<std::chrono::steady_clock> getTimerExpireTime(
+   return now + us;
+ }
+ 
+-// there is no builtin macro we can use in liburing to tell if buffer rings are
+-// supported. However in the release that added them, there was also added
+-// multishot accept - and so we can use it's pressence to suggest that we can
+-// safely use provided buffer rings
+-#if defined(IORING_ACCEPT_MULTISHOT)
++#if FOLLY_IO_URING_UP_TO_DATE
+ 
+ class ProvidedBuffersBuffer {
+  public:
+@@ -738,7 +744,11 @@ IoUringBackend::IoUringBackend(Options options)
+   params_.flags |= IORING_SETUP_CQSIZE;
+   params_.cq_entries = options.capacity;
+   if (options_.taskRunCoop) {
++#if FOLLY_IO_URING_UP_TO_DATE
+     params_.flags |= IORING_SETUP_COOP_TASKRUN;
++#else
++    // this has no functional change so just leave it
++#endif
+   }
+ 
+   // poll SQ options
+@@ -1237,9 +1247,12 @@ int IoUringBackend::eb_event_base_loop(int flags) {
+     }
+ 
+     if (options_.registerRingFd) {
++      // registering just has some perf impact, so no need to fall back
++#if FOLLY_IO_URING_UP_TO_DATE
+       if (io_uring_register_ring_fd(&ioRing_) < 0) {
+         LOG(ERROR) << "unable to register io_uring ring fd";
+       }
++#endif
+     }
+   }
+ 
+@@ -1496,9 +1509,11 @@ void IoUringBackend::cancel(IoSqeBase* ioSqe) {
+   auto* sqe = get_sqe();
+   io_uring_prep_cancel64(sqe, (uint64_t)ioSqe, 0);
+   io_uring_sqe_set_data(sqe, (void*)&ioSqeNop); // just need something unique
++#if FOLLY_IO_URING_UP_TO_DATE
+   if (params_.features & IORING_FEAT_CQE_SKIP) {
+     sqe->flags |= IOSQE_CQE_SKIP_SUCCESS;
+   }
++#endif
+ }
+ 
+ int IoUringBackend::cancelOne(IoSqe* ioSqe) {
+@@ -1848,9 +1863,15 @@ void IoUringBackend::processFileOp(IoSqe* sqe, int64_t res) noexcept {
+ }
+ 
+ bool IoUringBackend::kernelHasNonBlockWriteFixes() const {
++#if FOLLY_IO_URING_UP_TO_DATE
+   // this was fixed in 5.18, which introduced linked file
+   // fixed in "io_uring: only wake when the correct events are set"
+   return params_.features & IORING_FEAT_LINKED_FILE;
++#else
++  // this indicates that sockets have to manually remove O_NONBLOCK
++  // which is a bit slower but shouldnt cause any functional changes
++  return false;
++#endif
+ }
+ 
+ namespace {
+

diff --git a/dev-cpp/folly/folly-2022.08.15.00.ebuild b/dev-cpp/folly/folly-2022.08.15.00.ebuild
new file mode 100644
index 000000000000..573667cf38a4
--- /dev/null
+++ b/dev-cpp/folly/folly-2022.08.15.00.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2022 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"
+S="${WORKDIR}"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+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,threads(+)]
+	dev-libs/double-conversion:=
+	dev-libs/libaio
+	dev-libs/libevent:=
+	dev-libs/libfmt:=
+	dev-libs/libsodium:=
+	dev-libs/openssl:=
+	sys-libs/liburing:=
+	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 )"
+BDEPEND="test? ( sys-devel/clang )"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-2022.07.04.00-musl-fix.patch
+	"${FILESDIR}"/${P}-liburing-headers.patch
+)
+
+pkg_setup() {
+	[[ ${BUILD_TYPE} == binary ]] && return
+
+	if use test && ! tc-is-clang ; then
+		# Always build w/ Clang for now to avoid gcc ICE
+		# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106230
+		#if [[ $(gcc-major-version) -eq 12 ]] ; then
+		#	return
+		#fi
+
+		## Only older GCC 11 is broken
+		#if [[ $(gcc-major-version) -eq 11 && $(gcc-minor-version) -ge 3 && $(gcc-micro-version) -ge 1 ]] ; then
+		#	return
+		#fi
+
+		ewarn "Forcing build with Clang due to GCC bug (because tests are enabled)"
+		#ewarn "(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104008)"
+
+		export CC=${CHOST}-clang
+		export CXX=${CHOST}-clang++
+	fi
+}
+
+src_configure() {
+	# TODO: liburing could in theory be optional but fails to link
+
+	local mycmakeargs=(
+		-DLIB_INSTALL_DIR="$(get_libdir)"
+
+		-DBUILD_TESTS=$(usex test)
+	)
+
+	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
+		-E "(timeseries_histogram_test.TimeseriesHistogram.Percentile|HHWheelTimerTest.HHWheelTimerTest.CancelTimeout)"
+	)
+
+	cmake_src_test
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-cpp/folly/files/, dev-cpp/folly/
@ 2023-01-21 21:57 Sam James
  0 siblings, 0 replies; 5+ messages in thread
From: Sam James @ 2023-01-21 21:57 UTC (permalink / raw
  To: gentoo-commits

commit:     2503b56f8a968294d095ecdcb95ad504a6280c85
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 21 21:40:39 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jan 21 21:57:35 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2503b56f

dev-cpp/folly: add 2023.01.16.00

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

 dev-cpp/folly/Manifest                             |   1 +
 .../folly/files/folly-2023.01.16.00-gcc13.patch    |  23 +++++
 .../folly/files/folly-2023.01.16.00-liburing.patch |  54 +++++++++++
 dev-cpp/folly/folly-2023.01.16.00.ebuild           | 104 +++++++++++++++++++++
 4 files changed, 182 insertions(+)

diff --git a/dev-cpp/folly/Manifest b/dev-cpp/folly/Manifest
index 93cd328824c3..a3a4c71865cd 100644
--- a/dev-cpp/folly/Manifest
+++ b/dev-cpp/folly/Manifest
@@ -1,2 +1,3 @@
 DIST folly-v2022.08.29.00.tar.gz 3696645 BLAKE2B c1ff618be8b6a73bf0a1249212cf904ac472711086e54da73dd631ecf002761e30496e8631d6591f51e279b736ae9b3fe50959de6b1f86f01f9d6bc08fe675fc SHA512 1437a1314e26624715a0bb781049e19300eb3a67648287b319c55ce0dfbc867a09bd9d2f0cece6fc75fc62b21899aa94b464ae49c12687be7c94fdf0c7b95790
 DIST folly-v2022.09.12.00.tar.gz 3710760 BLAKE2B af59580ebee3229a6564c4b29e1d24bc405f4ae3b79751af315245c87472293f97c2d78348c92620d3196d1d41a7b55af9627cd42d23f74cbf6f00d129b3b77c SHA512 f9d0ca44f6f0c343d16e8ee5408808830b30155d42a257c48e627f9a82bb4a57568a7feeba01cf73704db68af1eee7424971540635d5dfe1728fc2ae73953940
+DIST folly-v2023.01.16.00.tar.gz 3774935 BLAKE2B e6c5925de0e571d83ac6db363a92f3d8c2fa7e911efc3db8f41b702dacd64aed5247313102ca12ca36a27a6fd8d8d5168ca8e98835f4000b425c10560a39e392 SHA512 941e09c90fab9e668d5f6b77f22caeff1da4347324c017ad64359748e18fc7c713d13f839d90a116164005041824c8a8d2039cfcc7687e23d9be8fa5acbd61ec

diff --git a/dev-cpp/folly/files/folly-2023.01.16.00-gcc13.patch b/dev-cpp/folly/files/folly-2023.01.16.00-gcc13.patch
new file mode 100644
index 000000000000..0fed0efeb505
--- /dev/null
+++ b/dev-cpp/folly/files/folly-2023.01.16.00-gcc13.patch
@@ -0,0 +1,23 @@
+--- a/folly/system/AtFork.cpp
++++ b/folly/system/AtFork.cpp
+@@ -14,6 +14,8 @@
+  * limitations under the License.
+  */
+ 
++#include <stdexcept>
++
+ #include <folly/system/AtFork.h>
+ 
+ #include <folly/ScopeGuard.h>
+diff --git a/folly/system/AtFork.cpp b/folly/system/AtFork.cpp
+index be613c7..a557033 100644
+--- a/folly/system/AtFork.cpp
++++ b/folly/system/AtFork.cpp
+@@ -15,6 +15,7 @@
+  */
+ 
+ #include <stdexcept>
++#include <system_error>
+ 
+ #include <folly/system/AtFork.h>
+ 

diff --git a/dev-cpp/folly/files/folly-2023.01.16.00-liburing.patch b/dev-cpp/folly/files/folly-2023.01.16.00-liburing.patch
new file mode 100644
index 000000000000..e2a692cea50c
--- /dev/null
+++ b/dev-cpp/folly/files/folly-2023.01.16.00-liburing.patch
@@ -0,0 +1,54 @@
+https://bugs.gentoo.org/891633
+https://github.com/facebook/folly/issues/1908
+https://github.com/facebook/folly/commit/259c9d6a4f0eb6d80e0263c2fe5d1af5bff116dc
+
+From 259c9d6a4f0eb6d80e0263c2fe5d1af5bff116dc Mon Sep 17 00:00:00 2001
+From: Dylan Yudaken <dylany@meta.com>
+Date: Mon, 16 Jan 2023 01:20:04 -0800
+Subject: [PATCH] io_uring: implement io_uring_enable_rings locally (#1915)
+
+Summary:
+Pull Request resolved: https://github.com/facebook/folly/pull/1915
+
+io_uring_enable_rings was missing from liburing upstream (see https://github.com/axboe/liburing/issues/773) which is breaking the open source build. See https://github.com/facebook/folly/issues/1908
+
+Instead just implement it locally, as it's trivial
+
+Reviewed By: dmm-fb
+
+Differential Revision: D42497664
+
+fbshipit-source-id: 7241785a36046e867f907bfe74623aaeb38c4b70
+--- a/folly/experimental/io/IoUringBackend.cpp
++++ b/folly/experimental/io/IoUringBackend.cpp
+@@ -56,6 +56,20 @@ namespace folly {
+ 
+ namespace {
+ 
++#if FOLLY_IO_URING_UP_TO_DATE
++int ioUringEnableRings(FOLLY_MAYBE_UNUSED struct io_uring* ring) {
++  // Ideally this would call ::io_uring_enable_rings directly which just runs
++  // the below however this was missing from a stable version of liburing, which
++  // means that some distributions were not able to compile it. see
++  // https://github.com/axboe/liburing/issues/773
++
++  // since it is so simple, just implement it here until the fix rolls out to an
++  // acceptable number of OSS distributions.
++  return ::io_uring_register(
++      ring->ring_fd, IORING_REGISTER_ENABLE_RINGS, nullptr, 0);
++}
++#endif
++
+ struct SignalRegistry {
+   struct SigInfo {
+     struct sigaction sa_ {};
+@@ -1360,7 +1374,7 @@ void IoUringBackend::delayedInit() {
+   if (usingDeferTaskrun_) {
+     // usingDeferTaskrun_ is guarded already on having an up to date liburing
+ #if FOLLY_IO_URING_UP_TO_DATE
+-    int ret = ::io_uring_enable_rings(&ioRing_);
++    int ret = ioUringEnableRings(&ioRing_);
+     if (ret) {
+       LOG(ERROR) << "io_uring_enable_rings gave " << folly::errnoStr(-ret);
+     }
+

diff --git a/dev-cpp/folly/folly-2023.01.16.00.ebuild b/dev-cpp/folly/folly-2023.01.16.00.ebuild
new file mode 100644
index 000000000000..c8873dfdd4ee
--- /dev/null
+++ b/dev-cpp/folly/folly-2023.01.16.00.ebuild
@@ -0,0 +1,104 @@
+# 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"
+S="${WORKDIR}"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+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.2:=
+	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 )"
+BDEPEND="test? ( sys-devel/clang )"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-2022.07.04.00-musl-fix.patch
+	"${FILESDIR}"/${PN}-2023.01.16.00-gcc13.patch
+	"${FILESDIR}"/${P}-liburing.patch
+)
+
+pkg_setup() {
+	[[ ${BUILD_TYPE} == binary ]] && return
+
+	if use test && ! tc-is-clang ; then
+		# Always build w/ Clang for now to avoid gcc ICE
+		# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106230
+		#if [[ $(gcc-major-version) -eq 12 ]] ; then
+		#	return
+		#fi
+
+		## Only older GCC 11 is broken
+		#if [[ $(gcc-major-version) -eq 11 && $(gcc-minor-version) -ge 3 && $(gcc-micro-version) -ge 1 ]] ; then
+		#	return
+		#fi
+
+		ewarn "Forcing build with Clang due to GCC bug (because tests are enabled)"
+		#ewarn "(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104008)"
+
+		export CC=${CHOST}-clang
+		export CXX=${CHOST}-clang++
+	fi
+}
+
+src_configure() {
+	# Fragile when changing compilers
+	export CCACHE_DISABLE=1
+
+	# TODO: liburing could in theory be optional but fails to link
+	local mycmakeargs=(
+		-DLIB_INSTALL_DIR="$(get_libdir)"
+
+		-DBUILD_TESTS=$(usex test)
+	)
+
+	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!
+		-E "(timeseries_histogram_test.TimeseriesHistogram.Percentile|HHWheelTimerTest.HHWheelTimerTest.CancelTimeout|concurrent_hash_map_test.*)"
+	)
+
+	cmake_src_test
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-cpp/folly/files/, dev-cpp/folly/
@ 2023-06-02 12:40 Sam James
  0 siblings, 0 replies; 5+ messages in thread
From: Sam James @ 2023-06-02 12:40 UTC (permalink / raw
  To: gentoo-commits

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


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-cpp/folly/files/, dev-cpp/folly/
@ 2023-06-24  6:32 Sam James
  0 siblings, 0 replies; 5+ messages in thread
From: Sam James @ 2023-06-24  6:32 UTC (permalink / raw
  To: gentoo-commits

commit:     8640d53a4bbaefe2e7b2c27a89a1188a92f68f6d
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 24 05:46:57 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jun 24 06:32:26 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8640d53a

dev-cpp/folly: add 2023.06.19.00

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

 dev-cpp/folly/Manifest                            |  1 +
 dev-cpp/folly/files/folly-2023.06.19.00-fmt.patch | 62 +++++++++++++++
 dev-cpp/folly/folly-2023.06.19.00.ebuild          | 91 +++++++++++++++++++++++
 3 files changed, 154 insertions(+)

diff --git a/dev-cpp/folly/Manifest b/dev-cpp/folly/Manifest
index f1cbc3a5f9f9..0f7c876c562f 100644
--- a/dev-cpp/folly/Manifest
+++ b/dev-cpp/folly/Manifest
@@ -1,2 +1,3 @@
 DIST folly-v2023.02.06.00.tar.gz 3790845 BLAKE2B b1c0eed7a2dccba3ccb5e25aa24cc0a6d628fbc3134bf0ed82a1e0e614825a3ae620d79a54e2bea398274afcb662bdfca48d7193f69db35f624ed6a2fa9bae99 SHA512 b9cd8132a702e88e4c9fefcce190d9fd403253c9b71dc22316f237922d99f9cd980ab81d50ddb48ae0e614a493b3d61865b03eee46d59805f83fce528f831646
 DIST folly-v2023.05.22.00.tar.gz 3834791 BLAKE2B e981f844b12620b274a78fa6640d1510525c1b4cc3bb35594bd5c5daf238eb19291a1ddf19f29e26269effbe79c22ccc9c002f5f547e06566aa804f0d92a0a9c SHA512 4af93f23a6835efaca317dc7a15abe13619d498efbaa5b349a30682be35c129bd87ab9723c5186e63e3d3b646a80816b994f5237108f8d489a50a028bb16c9da
+DIST folly-v2023.06.19.00.tar.gz 3850872 BLAKE2B 6332b6de28fd4a0c19b20c4b23fa7093bded940fb07de92ad9fa7f44b8347fb5e5543e5a57c32d2414f345b4f7b306eed806c5d48a871a06833c1d2a71a34584 SHA512 9189adddf59019787969c7edb27a3e57436c2dca772f3142cdbf66e3a69b398be7ae4f2c36a9576c7ad9c51fd3703555e2a7ad6ed1ddce4036f8760d8095d371

diff --git a/dev-cpp/folly/files/folly-2023.06.19.00-fmt.patch b/dev-cpp/folly/files/folly-2023.06.19.00-fmt.patch
new file mode 100644
index 000000000000..80e4a2fbf80a
--- /dev/null
+++ b/dev-cpp/folly/files/folly-2023.06.19.00-fmt.patch
@@ -0,0 +1,62 @@
+https://github.com/facebook/folly/commit/a65b35c03797c86969a7b0d9ec281935a21cfa18
+https://github.com/facebook/folly/pull/2022
+
+From a65b35c03797c86969a7b0d9ec281935a21cfa18 Mon Sep 17 00:00:00 2001
+From: Giuseppe Ottaviano <ott@meta.com>
+Date: Sun, 18 Jun 2023 00:40:43 -0700
+Subject: [PATCH] fmt/core.h is enough in Core.cpp
+
+Reviewed By: Orvid, luciang
+
+Differential Revision: D46788525
+
+fbshipit-source-id: 03da65f3499ca56b34baa4e75b2340bea36690f6
+---
+ folly/futures/detail/Core.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/folly/futures/detail/Core.cpp b/folly/futures/detail/Core.cpp
+index 26bd4afbffe..858229100f9 100644
+--- a/folly/futures/detail/Core.cpp
++++ b/folly/futures/detail/Core.cpp
+@@ -18,7 +18,7 @@
+ 
+ #include <new>
+ 
+-#include <fmt/format.h>
++#include <fmt/core.h>
+ #include <folly/lang/Assume.h>
+ 
+ namespace folly {
+
+From d783a64391c02b40d78dfc6be04932fa45c46b9a Mon Sep 17 00:00:00 2001
+From: Marcus Holland-Moritz <github@mhxnet.de>
+Date: Tue, 20 Jun 2023 11:59:42 +0200
+Subject: [PATCH] Fix libfmt errors from not finding enum formatter
+
+Recent versions of libfmt have become more strict and require
+`enum` types to be formattable:
+
+  static assertion failed due to requirement 'formattable': Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
+
+This is a quick fix to simply use the underlying type.
+--- a/folly/futures/detail/Core.cpp
++++ b/folly/futures/detail/Core.cpp
+@@ -19,6 +19,7 @@
+ #include <new>
+ 
+ #include <fmt/core.h>
++#include <folly/Utility.h>
+ #include <folly/lang/Assume.h>
+ 
+ namespace folly {
+@@ -30,7 +31,7 @@ namespace {
+ template <class Enum>
+ void terminate_unexpected_state(fmt::string_view context, Enum state) {
+   terminate_with<std::logic_error>(
+-      fmt::format("{} unexpected state: {}", context, state));
++      fmt::format("{} unexpected state: {}", context, to_underlying(state)));
+ }
+ 
+ } // namespace
+

diff --git a/dev-cpp/folly/folly-2023.06.19.00.ebuild b/dev-cpp/folly/folly-2023.06.19.00.ebuild
new file mode 100644
index 000000000000..48db76046492
--- /dev/null
+++ b/dev-cpp/folly/folly-2023.06.19.00.ebuild
@@ -0,0 +1,91 @@
+# 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
+
+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
+	"${FILESDIR}"/${PN}-2023.06.19.00-fmt.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
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-06-24  6:32 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-08-15 17:08 [gentoo-commits] repo/gentoo:master commit in: dev-cpp/folly/files/, dev-cpp/folly/ Sam James
  -- strict thread matches above, loose matches on Subject: below --
2023-06-24  6:32 Sam James
2023-06-02 12:40 Sam James
2023-01-21 21:57 Sam James
2022-08-13 15:09 Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox