* [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 +
| 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
--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