summaryrefslogtreecommitdiff
path: root/dev-cpp
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-08-15 20:28:49 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-08-15 20:28:49 +0100
commit7255c5d5fcd8fcdd07d2791563dc43bf4e14cf3a (patch)
tree515e0e28ee6d81ce42725bd00b369ea0c1130d91 /dev-cpp
parent1c3adf43f1b866276828623dd63f9e10d29421d3 (diff)
gentoo auto-resync : 15:08:2022 - 20:28:49
Diffstat (limited to 'dev-cpp')
-rw-r--r--dev-cpp/Manifest.gzbin12415 -> 12419 bytes
-rw-r--r--dev-cpp/edencommon/Manifest2
-rw-r--r--dev-cpp/edencommon/edencommon-0_pre20220815.ebuild44
-rw-r--r--dev-cpp/folly/Manifest3
-rw-r--r--dev-cpp/folly/files/folly-2022.08.15.00-liburing-headers.patch102
-rw-r--r--dev-cpp/folly/folly-2022.08.15.00-r1.ebuild99
6 files changed, 250 insertions, 0 deletions
diff --git a/dev-cpp/Manifest.gz b/dev-cpp/Manifest.gz
index cb07fbf845f4..e024e632a1c1 100644
--- a/dev-cpp/Manifest.gz
+++ b/dev-cpp/Manifest.gz
Binary files differ
diff --git a/dev-cpp/edencommon/Manifest b/dev-cpp/edencommon/Manifest
index 39ee69ffa46b..6d28605797aa 100644
--- a/dev-cpp/edencommon/Manifest
+++ b/dev-cpp/edencommon/Manifest
@@ -1,3 +1,5 @@
DIST edencommon-0_pre20220808.tar.gz 142458 BLAKE2B 0dd501069bc511973e89b21b9dbdce7eeb0e87e31ecd05e585fe83c515894691a02e5725de8c912c4bd0fb70f4172445070ef8fec205243e1df9c35a3ccaffe4 SHA512 63f60e1c406d834cf618e2747c21f928e43fe2a475a97152070aecb61b11b5e515bdfd1c9571a93a159d91fa185c9f89caebe8d41421a94e636e8ff43fd11a3a
+DIST edencommon-0_pre20220815.tar.gz 142456 BLAKE2B 64e2b8e155e56ff50ca348ae53f3e55e123b32816ec199cebf760dcd4b08da920b15b56aab1254a782d202b89e1d119a8180f7d5382da8a94f67752ecb6924db SHA512 7263fb3f85c6142862eac9472c2de2ac94a2b3c5205e0d87ca2f6694d4ed3c5b9f2643c35266141e6bbbb1d45079a59cf5803de3065ef46a9a8d7f321b15bc99
EBUILD edencommon-0_pre20220808.ebuild 1033 BLAKE2B 18d3f8ddc61c0cfac5375e32ba347789eec7eb6e0012315da9deb99ad4be1fc1584dba797df48ffe44ead71e002f677e07eeef0d5bcdd1d5823f8d62d922f0fe SHA512 e21ea8f377f23926fdc31c0948620cea73105c2012af4b797b05212e4b3468346fe9f44bbed84fbdbbdb7ad63835866ebb546d23aa4b60b5a9dbaa48d01938b8
+EBUILD edencommon-0_pre20220815.ebuild 1033 BLAKE2B 04805265a5c81a3c29dd21468b87161463441a621d0598983b6ac813d829c1dda637a9ff76dd32b1ad12e40f29a630260a802b9dc006540ab7fb013f1e13acff SHA512 6e46070dbb76fc15449db09d2a19707238b8dbc0dae2d1ea0302538ae54afd741e8e3b3b8c53fd9c143a4e5297362d3f80ed419da712ce1d1edcfb9c8a4591cf
MISC metadata.xml 336 BLAKE2B d87d655ad085e53410760329202ce130e41d98fd35ca8c9e38c07665177a21d187c94a4570d3c18a409eeb89f00017edd50cd127adbbd35f99a0da1fd342f048 SHA512 894ed9ebd715743d2ce4591456a5776e1e215cf8845ffa0e16e6b6a25b316213b5547b0e3717050dc83518c9c2e100348c0804f25e599cb785415b8411def8ac
diff --git a/dev-cpp/edencommon/edencommon-0_pre20220815.ebuild b/dev-cpp/edencommon/edencommon-0_pre20220815.ebuild
new file mode 100644
index 000000000000..2c1ede94a485
--- /dev/null
+++ b/dev-cpp/edencommon/edencommon-0_pre20220815.ebuild
@@ -0,0 +1,44 @@
+# Copyright 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
+
+# No proper tags yet (https://github.com/facebookexperimental/edencommon/issues/2)
+MY_COMMIT="ca22cf964f1163c2a198d7cd3545f0c9b04b3c75"
+DESCRIPTION="Shared library for Watchman and Eden projects"
+HOMEPAGE="https://github.com/facebookexperimental/edencommon"
+SRC_URI="https://github.com/facebookexperimental/edencommon/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${MY_COMMIT}
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="llvm-libunwind"
+
+RDEPEND="
+ dev-cpp/gflags:=
+ dev-cpp/glog:=[gflags]
+ dev-cpp/folly:=
+ llvm-libunwind? ( sys-libs/llvm-libunwind:= )
+ !llvm-libunwind? ( sys-libs/libunwind:= )
+"
+DEPEND="
+ ${RDEPEND}
+ dev-cpp/gtest
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_DIR="$(get_libdir)/cmake/${PN}"
+ -DLIB_INSTALL_DIR="$(get_libdir)"
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-cpp/folly/Manifest b/dev-cpp/folly/Manifest
index 8aab19226b5f..fabae83c6041 100644
--- a/dev-cpp/folly/Manifest
+++ b/dev-cpp/folly/Manifest
@@ -1,11 +1,14 @@
AUX folly-2022.07.04.00-musl-fix.patch 1150 BLAKE2B 6774badf3856fa94ae69dc4ca3fb3aca628dcf3b96fd7d141967815a9a07c07349f852a35275baba7b91d60e0c61dc3e1639cab4727666fa128d0334f36815a2 SHA512 15029e25b4da1f9cfe227978a54f63c198361df665b4657ef6a80ffdd3911c80be8e6c3799c8c16ff0fcca050932155628651a6e5ed566a41174dced9e51dc58
AUX folly-2022.08.08.00-undefined-reference-fix.patch 1883 BLAKE2B 59e10c05c3a9d12e012127d4df3d939f9d407d8740e6d9161885e1350f86aa0dde1e2ba7e6598c7e665ddb1f37be876aabd24078ad9e4d35038a18940cecd0fb SHA512 4ad4728fcaa8c5768c8019ce84501fbfbea07980fc9056c4e6ad11346e4443dca85c4110a84d81ac9ce75f26e9295bd7a647507c8445f6b28940e9ac2da05697
+AUX folly-2022.08.15.00-liburing-headers.patch 3554 BLAKE2B a0d306659037accce19e61d86d1b55f74247a4cf757adba28102ecb2561eb3bc857680e9df974190005f1164b4f1170b2d48745a63918f8888afcdd5d161e6d9 SHA512 3008157db5814a063321f057b3d4184d40cc9c3ac2d4d60626d0715605aa3ea82c8170a1d461b1f40863c9d2c25784e3dcaa8e1400a1f384e0e72ee217fa8d08
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
+DIST folly-v2022.08.15.00.tar.gz 3691439 BLAKE2B 96ba34a18b51ea91aacd2bbcdbfef855a8924004850534ef342799d1c36d6ece04b77100b8901053fd3d0a997d1764ffdfd5bcd60928b4a4f8c9480f5a6d8ee6 SHA512 72d8d29a1f26f5af33d13e1d2f7ed5ce439bc7345daecc3ed1d30e33b802e0aa4f1ca59fae16db25079e55da14f60cd6a548f0f31eef48abad49b71baa6e6307
EBUILD folly-2022.03.28.00-r1.ebuild 1486 BLAKE2B 629e5c21603de6a7e91532219f357f74df50194e21102c6f2d05e6d613bbecdd5fba2f2042bcbac0dada2066b82def374c671d9c7b263ba3f1f3d16178496dc9 SHA512 2841732188df3b1330ce730aade4a15272208fd16d658c15a29b908963dd8ec1349205cdec2eb218d9acf539043db011498375f248f580730495cee2484a0e96
EBUILD folly-2022.04.11.00-r1.ebuild 1880 BLAKE2B 9bbab33cb481558b9f857eafb813901fa0a3ee9f977772f3d733a49b9e7c2656fb98ebd402f3f0d877e20c547f31e2ebdd1e9a3b234300e104858aec5e49d1a8 SHA512 aab53b44bee8c2a4bef0d5cc0dad9603f0a84b66db02dfa9062676e6bd97cb25fc6593dc2aa1881ab6cd3f5477f369717d0931e670447be3eec80e0161a5b98f
EBUILD folly-2022.07.04.00.ebuild 2306 BLAKE2B 22c80cf66bdc690757b1463593491edd96810debd849bca0d8d125d6b004724c6305d3814a86322f7f86d2dc008a8267475e38ff829de5ac5dbc7286fdbe99ec SHA512 10c6535ba8e833d9bc6a580c9849d6d50c88e5b407cefaed48e292168bd6301db25447330f59f2e87fac596174cae965ad302bb3ad73ee3cbb7b65b3f3b9211a
EBUILD folly-2022.08.08.00.ebuild 2487 BLAKE2B d0dfea130d133d449013991cc88f70b93dcabc7c61f66460b5bdf22b500e5c35efcce6bc1703e3630466412dc6bd99fcdefed78eb7df52d214f22d13c3c8d1f0 SHA512 ab5c3547680888f5aa48ad13825c15c4d47a77c5d25b994a39ecbb516d1b5949e5bd08c83927821582cf6e5eac734f2e664efe697ba397d0d4b806186b12dfc9
+EBUILD folly-2022.08.15.00-r1.ebuild 2469 BLAKE2B 47b08bb1c9698a3581be2dc89bb162dfbf0880a76ca1b8b1f28320b6b467559bb24e729f2e7b0a503eaf71e794b4a4f643ea2a982a24a108629447f09045d662 SHA512 dcd9d837e2f18fce787ad9cf31923a618767dbcfc5cd3c7ae0751a2bc0790fab9d51ae327eae0cbf6960ed3cd66463a7dc2de0902b4db016dde14d04459dbd4d
MISC metadata.xml 319 BLAKE2B 0c8d18b906a50ee77fef7db1f99206b1c4d38dfa7913de363474609bcce38956be8d0958bc400c704ad743396db7230fb0098c83f1caa16ca998d6fd5576369c SHA512 8b077d5d5bf60f0ed5b36aef48188f431ca0675f80190beb407a58fa48fc6f8a48db161b8cde775ab6cfb54a01438fa5edddf0098e80a65b29a403a7f3a2c027
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-r1.ebuild b/dev-cpp/folly/folly-2022.08.15.00-r1.ebuild
new file mode 100644
index 000000000000..15a7565d9977
--- /dev/null
+++ b/dev-cpp/folly/folly-2022.08.15.00-r1.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-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}"/${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
+}