summaryrefslogtreecommitdiff
path: root/dev-cpp
diff options
context:
space:
mode:
Diffstat (limited to 'dev-cpp')
-rw-r--r--dev-cpp/fbthrift/fbthrift-2025.04.14.00-r2.ebuild (renamed from dev-cpp/fbthrift/fbthrift-2025.04.14.00-r1.ebuild)4
-rw-r--r--dev-cpp/folly/files/folly-2025.04.14.00-CMake-Avoid-finding-liburing.patch30
-rw-r--r--dev-cpp/folly/folly-2025.04.14.00-r1.ebuild (renamed from dev-cpp/folly/folly-2025.04.14.00.ebuild)25
-rw-r--r--dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.16.1-cstdint.patch14
-rw-r--r--dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.16.1-fix-clang-template.patch43
-rw-r--r--dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.16.1.ebuild9
-rw-r--r--dev-cpp/prometheus-cpp/prometheus-cpp-1.2.4.ebuild4
7 files changed, 111 insertions, 18 deletions
diff --git a/dev-cpp/fbthrift/fbthrift-2025.04.14.00-r1.ebuild b/dev-cpp/fbthrift/fbthrift-2025.04.14.00-r2.ebuild
index 5f2ab3b86d24..997bad946d90 100644
--- a/dev-cpp/fbthrift/fbthrift-2025.04.14.00-r1.ebuild
+++ b/dev-cpp/fbthrift/fbthrift-2025.04.14.00-r2.ebuild
@@ -22,14 +22,14 @@ SRC_URI="https://github.com/facebook/fbthrift/archive/refs/tags/v${PV}.tar.gz ->
LICENSE="Apache-2.0"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~arm64"
-IUSE="test"
+IUSE="io-uring test"
# See https://github.com/facebook/fbthrift/issues/628
RESTRICT="test"
DEPEND="
~dev-cpp/fizz-${PV}:=
- ~dev-cpp/folly-${PV}:=
+ ~dev-cpp/folly-${PV}:=[io-uring(+)=]
~dev-cpp/mvfst-${PV}:=
~dev-cpp/wangle-${PV}:=
dev-cpp/gflags:=
diff --git a/dev-cpp/folly/files/folly-2025.04.14.00-CMake-Avoid-finding-liburing.patch b/dev-cpp/folly/files/folly-2025.04.14.00-CMake-Avoid-finding-liburing.patch
new file mode 100644
index 000000000000..80399fb9c432
--- /dev/null
+++ b/dev-cpp/folly/files/folly-2025.04.14.00-CMake-Avoid-finding-liburing.patch
@@ -0,0 +1,30 @@
+From a0d86ed3bc2150ddfad50ab1b2eb09bea7a277d2 Mon Sep 17 00:00:00 2001
+From: sin-ack <sin-ack@protonmail.com>
+Date: Thu, 24 Apr 2025 20:59:06 +0000
+Subject: [PATCH] CMake: Avoid finding liburing
+
+Otherwise, Folly will unconditionally add it to the list of libraries to
+link even if io_uring support is otherwise disabled, creating an
+implicit dependency on it that can't be tracked by package managers.
+---
+ CMake/folly-deps.cmake | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/CMake/folly-deps.cmake b/CMake/folly-deps.cmake
+index 6ce4c679a..b1e20a901 100644
+--- a/CMake/folly-deps.cmake
++++ b/CMake/folly-deps.cmake
+@@ -139,10 +139,6 @@ find_package(LibAIO)
+ list(APPEND FOLLY_LINK_LIBRARIES ${LIBAIO_LIBRARIES})
+ list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBAIO_INCLUDE_DIRS})
+
+-find_package(LibUring)
+-list(APPEND FOLLY_LINK_LIBRARIES ${LIBURING_LIBRARIES})
+-list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBURING_INCLUDE_DIRS})
+-
+ find_package(Libsodium)
+ list(APPEND FOLLY_LINK_LIBRARIES ${LIBSODIUM_LIBRARIES})
+ list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBSODIUM_INCLUDE_DIRS})
+--
+2.49.0
+
diff --git a/dev-cpp/folly/folly-2025.04.14.00.ebuild b/dev-cpp/folly/folly-2025.04.14.00-r1.ebuild
index 05ec9d0a3f03..48695a36dd84 100644
--- a/dev-cpp/folly/folly-2025.04.14.00.ebuild
+++ b/dev-cpp/folly/folly-2025.04.14.00-r1.ebuild
@@ -22,16 +22,9 @@ SRC_URI="https://github.com/facebook/folly/releases/download/v${PV}/${PN}-v${PV}
LICENSE="Apache-2.0"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~arm64 ~ppc64"
-IUSE="llvm-libunwind test"
+IUSE="io-uring llvm-libunwind test"
RESTRICT="!test? ( test )"
-# NOTE: liburing support is disabled because Folly depends on features
-# that are not available in the current stable version of liburing.
-#
-# See: https://github.com/facebook/folly/issues/2420
-#
-# NOTE: Re-check during next bump whether liburing released a version with
-# zcrx support.
RDEPEND="
app-arch/bzip2
app-arch/lz4:=
@@ -51,8 +44,8 @@ RDEPEND="
sys-libs/zlib
llvm-libunwind? ( llvm-runtimes/libunwind:= )
!llvm-libunwind? ( sys-libs/libunwind:= )
+ io-uring? ( >=sys-libs/liburing-2.10:= )
"
-# libiberty is linked statically
DEPEND="
${RDEPEND}
sys-libs/binutils-libs
@@ -61,9 +54,6 @@ DEPEND="
PATCHES=(
"${FILESDIR}"/${PN}-2024.11.04.00-musl-fix.patch
- # NOTE: Disable liburing support as mentioned above. Folly doesn't have
- # a configure flag for this so we must patch the check out.
- "${FILESDIR}"/${PN}-2025.04.14.00-force-liburing-off.patch
)
src_unpack() {
@@ -73,6 +63,17 @@ src_unpack() {
default
}
+src_prepare() {
+ # Folly has no configuration option for disabling io_uring support
+ # so we need to patch it out.
+ if use !io-uring; then
+ eapply "${FILESDIR}"/${PN}-2025.04.14.00-force-liburing-off.patch
+ eapply "${FILESDIR}"/${PN}-2025.04.14.00-CMake-Avoid-finding-liburing.patch
+ fi
+
+ cmake_src_prepare
+}
+
src_configure() {
local mycmakeargs=(
-DCMAKE_INSTALL_DIR="$(get_libdir)/cmake/${PN}"
diff --git a/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.16.1-cstdint.patch b/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.16.1-cstdint.patch
new file mode 100644
index 000000000000..65fc5baf0f80
--- /dev/null
+++ b/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.16.1-cstdint.patch
@@ -0,0 +1,14 @@
+Fix compilation with gcc-15.
+Bug: https://bugs.gentoo.org/946146
+Upstream PR: https://github.com/open-telemetry/opentelemetry-cpp/pull/3240
+--- a/api/include/opentelemetry/logs/severity.h
++++ b/api/include/opentelemetry/logs/severity.h
+@@ -3,6 +3,8 @@
+
+ #pragma once
+
++#include <cstdint>
++
+ #include "opentelemetry/nostd/string_view.h"
+ #include "opentelemetry/version.h"
+
diff --git a/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.16.1-fix-clang-template.patch b/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.16.1-fix-clang-template.patch
new file mode 100644
index 000000000000..85d013227a32
--- /dev/null
+++ b/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.16.1-fix-clang-template.patch
@@ -0,0 +1,43 @@
+Fix clang-19 error: a template argument list is expected after a name prefixed by the template keyword
+Upstream PR: https://github.com/open-telemetry/opentelemetry-cpp/pull/3133
+--- a/api/include/opentelemetry/logs/event_logger.h
++++ b/api/include/opentelemetry/logs/event_logger.h
+@@ -65,9 +65,8 @@ class EventLogger
+ }
+ nostd::unique_ptr<LogRecord> log_record = delegate_logger->CreateLogRecord();
+
+- IgnoreTraitResult(
+- detail::LogRecordSetterTrait<typename std::decay<ArgumentType>::type>::template Set(
+- log_record.get(), std::forward<ArgumentType>(args))...);
++ IgnoreTraitResult(detail::LogRecordSetterTrait<typename std::decay<ArgumentType>::type>::Set(
++ log_record.get(), std::forward<ArgumentType>(args))...);
+
+ EmitEvent(event_name, std::move(log_record));
+ }
+--- a/api/include/opentelemetry/logs/logger.h
++++ b/api/include/opentelemetry/logs/logger.h
+@@ -72,9 +72,8 @@ class Logger
+ return;
+ }
+
+- IgnoreTraitResult(
+- detail::LogRecordSetterTrait<typename std::decay<ArgumentType>::type>::template Set(
+- log_record.get(), std::forward<ArgumentType>(args))...);
++ IgnoreTraitResult(detail::LogRecordSetterTrait<typename std::decay<ArgumentType>::type>::Set(
++ log_record.get(), std::forward<ArgumentType>(args))...);
+
+ EmitLogRecord(std::move(log_record));
+ }
+--- a/api/include/opentelemetry/logs/logger_type_traits.h
++++ b/api/include/opentelemetry/logs/logger_type_traits.h
+@@ -166,8 +166,8 @@ struct LogRecordSetterTrait
+ * = nullptr>
+ inline static LogRecord *Set(LogRecord *log_record, ArgumentType &&arg) noexcept
+ {
+- return LogRecordSetterTrait<common::KeyValueIterable>::template Set(
+- log_record, std::forward<ArgumentType>(arg));
++ return LogRecordSetterTrait<common::KeyValueIterable>::Set(log_record,
++ std::forward<ArgumentType>(arg));
+ }
+
+ template <class ArgumentType,
diff --git a/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.16.1.ebuild b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.16.1.ebuild
index aff74e33e519..77c626523688 100644
--- a/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.16.1.ebuild
+++ b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.16.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -23,6 +23,9 @@ RDEPEND="
"
DEPEND="
${RDEPEND}
+ prometheus? (
+ dev-cpp/prometheus-cpp
+ )
test? (
dev-cpp/gtest
dev-cpp/benchmark
@@ -33,7 +36,9 @@ RESTRICT="!test? ( test )"
PATCHES=(
# remove tests the need network
- "${FILESDIR}/opentelemetry-cpp-1.5.0-tests.patch"
+ "${FILESDIR}/${PN}-1.5.0-tests.patch"
+ "${FILESDIR}/${PN}-1.16.1-cstdint.patch"
+ "${FILESDIR}/${PN}-1.16.1-fix-clang-template.patch"
)
src_configure() {
diff --git a/dev-cpp/prometheus-cpp/prometheus-cpp-1.2.4.ebuild b/dev-cpp/prometheus-cpp/prometheus-cpp-1.2.4.ebuild
index c63b8b7eb353..296f437914a3 100644
--- a/dev-cpp/prometheus-cpp/prometheus-cpp-1.2.4.ebuild
+++ b/dev-cpp/prometheus-cpp/prometheus-cpp-1.2.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/jupp0r/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
+KEYWORDS="amd64 ~riscv x86"
IUSE="test zlib"
RESTRICT="!test? ( test )"