package/libabseil-cpp: bump to version 20260817.0

- libabseil now requires gcc >= 10
- drop patch trying to fix build with gcc <= 12 as this is now handled
  in protobuf >= 35 directly.

Changelog:
https://github.com/abseil/abseil-cpp/releases/tag/20260817.0
https://github.com/abseil/abseil-cpp/releases/tag/20260526.0

Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Julien Olivain <ju.o@free.fr>
This commit is contained in:
Michael Nosthoff
2026-09-02 16:27:50 +02:00
committed by Julien Olivain
parent dc1f1818d9
commit 76241e89e1
12 changed files with 25 additions and 80 deletions

View File

@@ -692,7 +692,7 @@ config BR2_PACKAGE_COLLECTD_GRPC
depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC # grpc
depends on BR2_INSTALL_LIBSTDCPP # grpc -> protobuf
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # grpc -> protobuf
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # grpc -> libabseil-cpp
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # grpc -> libabseil-cpp
depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS # grpc
select BR2_PACKAGE_GRPC
help

View File

@@ -4,7 +4,7 @@ config BR2_PACKAGE_FALCOSECURITY_LIBS
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # protobuf
depends on BR2_LINUX_KERNEL
depends on BR2_INSTALL_LIBSTDCPP # jsoncpp, protobuf, tbb
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # grpc -> libabseil-cpp
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # grpc -> libabseil-cpp
depends on BR2_TOOLCHAIN_HAS_THREADS # jq, protobuf, tbb
depends on !BR2_STATIC_LIBS # protobuf, tbb
depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC # grpc

View File

@@ -3,7 +3,7 @@ config BR2_PACKAGE_GRPC
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS # protobuf, re2
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # protobuf
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # libabseil-cpp, re2
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # libabseil-cpp, re2
depends on !BR2_STATIC_LIBS # protobuf, libabseil-cpp, re2
depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC
depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS
@@ -19,9 +19,9 @@ config BR2_PACKAGE_GRPC
http://github.com/grpc/grpc
comment "grpc needs a toolchain w/ C++, threads, dynamic library, gcc >= 8"
comment "grpc needs a toolchain w/ C++, threads, dynamic library, gcc >= 10"
depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \
|| BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_8
|| BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_10
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS

View File

@@ -1,55 +0,0 @@
From 77326826119439c06e341c9d090633ecd9b520d6 Mon Sep 17 00:00:00 2001
From: Julien Olivain <ju.o@free.fr>
Date: Mon, 27 Apr 2026 19:38:19 +0200
Subject: [PATCH] base: fix ABSL_ATTRIBUTE_WARN_UNUSED with gcc <= 12
Gcc <= 12 does not support mixing standard C++ attributes with
GNU attributes. See [1].
This can lead to build failures such as [2] [3] and [4]. In those
situations, the compilation fails with error such as:
/usr/include/absl/base/attributes.h:1076:36: error: expected identifier before '[' token
Gcc maintainers mentioned in [1] comment 9 that this bugfix will
not be backported in Gcc 12. Gcc 12 is still used in LTS
distributions. For example, it is included in Debian 12 (Bookworm),
which is still supported until 2028. See [5].
This commit adds a workaround for gcc <= 12 which uses
__attribute__ in that case, which fixes the compilation failure.
[1] https://gcc.gnu.org/PR69585
[2] https://github.com/protocolbuffers/protobuf/issues/26383
[3] https://autobuild.buildroot.org/results/33f6cfd37cb48c15a53b3e7123d5ce8388a0f2ab/build-end.log
[4] https://gitlab.com/buildroot.org/buildroot/-/jobs/13904066346
[5] https://www.debian.org/releases/bookworm/
Upstream: https://github.com/abseil/abseil-cpp/pull/2044
Signed-off-by: Julien Olivain <ju.o@free.fr>
---
absl/base/attributes.h | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/absl/base/attributes.h b/absl/base/attributes.h
index 5887fcaf..a26143e1 100644
--- a/absl/base/attributes.h
+++ b/absl/base/attributes.h
@@ -1092,7 +1092,14 @@ struct AbslInternal_YouForgotToExplicitlyInitializeAField {
// See https://clang.llvm.org/docs/AttributeReference.html#warn-unused and
// https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Attributes.html#index-warn_005funused-type-attribute
#if ABSL_HAVE_CPP_ATTRIBUTE(gnu::warn_unused)
+// Only GCC >= 13 allows mixing standard and gnu attributes.
+// In case of gcc < 13, fallback on using __attribute__.
+// https://gcc.gnu.org/PR69585
+#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ < 13
+#define ABSL_ATTRIBUTE_WARN_UNUSED __attribute__((warn_unused))
+#else
#define ABSL_ATTRIBUTE_WARN_UNUSED [[gnu::warn_unused]]
+#endif
#else
#define ABSL_ATTRIBUTE_WARN_UNUSED
#endif
--
2.54.0

View File

@@ -18,7 +18,7 @@ config BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS
config BR2_PACKAGE_LIBABSEIL_CPP
bool "libabseil-cpp"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # C++17
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_STATIC_LIBS # uses dlfcn.h
depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS
@@ -31,7 +31,7 @@ config BR2_PACKAGE_LIBABSEIL_CPP
https://github.com/abseil/abseil-cpp
comment "libabseil-cpp needs a toolchain w/ gcc >= 8, C++, threads, dynamic library"
comment "libabseil-cpp needs a toolchain w/ gcc >= 10, C++, threads, dynamic library"
depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_8
BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_10

View File

@@ -1,3 +1,3 @@
# Locally computed
sha256 4314e2a7cbac89cac25a2f2322870f343d81579756ceff7f431803c2c9090195 libabseil-cpp-20260107.1.tar.gz
sha256 f7e05179df39c45434cad433f5783840bb3788ef322976f9138bc6b72b3a107d libabseil-cpp-20260817.0.tar.gz
sha256 c79a7fea0e3cac04cd43f20e7b648e5a0ff8fa5344e644b0ee09ca1162b62747 LICENSE

View File

@@ -4,7 +4,7 @@
#
################################################################################
LIBABSEIL_CPP_VERSION = 20260107.1
LIBABSEIL_CPP_VERSION = 20260817.0
LIBABSEIL_CPP_SITE = $(call github,abseil,abseil-cpp,$(LIBABSEIL_CPP_VERSION))
LIBABSEIL_CPP_LICENSE = Apache-2.0
LIBABSEIL_CPP_LICENSE_FILES = LICENSE

View File

@@ -45,7 +45,7 @@ config BR2_PACKAGE_PROTOBUF
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # libabseil-cpp
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # libabseil-cpp
depends on !BR2_STATIC_LIBS
select BR2_PACKAGE_LIBABSEIL_CPP
help
@@ -55,7 +55,7 @@ config BR2_PACKAGE_PROTOBUF
https://developers.google.com/protocol-buffers
comment "protobuf needs a toolchain w/ C++, threads, dynamic library, gcc >= 8"
comment "protobuf needs a toolchain w/ C++, threads, dynamic library, gcc >= 10"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \
|| BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_8
|| BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_10
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS

View File

@@ -2,7 +2,7 @@ config BR2_PACKAGE_RE2
bool "re2"
depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # C++17, libabseil-cpp
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_STATIC_LIBS # libabseil-cpp
select BR2_PACKAGE_LIBABSEIL_CPP
@@ -14,8 +14,8 @@ config BR2_PACKAGE_RE2
https://github.com/google/re2
comment "re2 needs a toolchain w/ C++, threads, dynamic library, gcc >= 8"
comment "re2 needs a toolchain w/ C++, threads, dynamic library, gcc >= 10"
depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS
depends on !BR2_INSTALL_LIBSTDCPP || \
!BR2_TOOLCHAIN_HAS_THREADS || \
BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_8
BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_10

View File

@@ -4,7 +4,7 @@ config BR2_PACKAGE_SYSDIG
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # falcosecurity-libs
depends on BR2_LINUX_KERNEL # falcosecurity-libs
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # falcosecurity-libs -> grpc -> libabseil-cpp
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # falcosecurity-libs -> grpc -> libabseil-cpp
depends on BR2_TOOLCHAIN_HAS_THREADS # falcosecurity-libs
depends on !BR2_STATIC_LIBS # falcosecurity-libs
depends on BR2_TOOLCHAIN_USES_GLIBC # falcosecurity-libs
@@ -23,12 +23,12 @@ config BR2_PACKAGE_SYSDIG
https://github.com/draios/sysdig/wiki
comment "sysdig needs a glibc toolchain w/ C++, threads, gcc >= 8, dynamic library, a Linux kernel, and luajit or lua 5.1 to be built"
comment "sysdig needs a glibc toolchain w/ C++, threads, gcc >= 10, dynamic library, a Linux kernel, and luajit or lua 5.1 to be built"
depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC
depends on !BR2_LINUX_KERNEL || !BR2_INSTALL_LIBSTDCPP \
|| !BR2_TOOLCHAIN_HAS_THREADS \
|| !BR2_TOOLCHAIN_GCC_AT_LEAST_8 || BR2_STATIC_LIBS \
|| !BR2_TOOLCHAIN_GCC_AT_LEAST_10 || BR2_STATIC_LIBS \
|| !BR2_TOOLCHAIN_USES_GLIBC \
|| !BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_1

View File

@@ -10,7 +10,7 @@ config BR2_PACKAGE_TENSORFLOW_LITE
bool "tensorflow-lite"
depends on BR2_PACKAGE_TENSORFLOW_LITE_ARCH_SUPPORTS
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # libabseil-cpp
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # libabseil-cpp
depends on BR2_TOOLCHAIN_HAS_THREADS # cpuinfo
depends on BR2_TOOLCHAIN_USES_GLIBC
depends on BR2_SHARED_LIBS
@@ -30,9 +30,9 @@ config BR2_PACKAGE_TENSORFLOW_LITE
https://www.tensorflow.org/
comment "tensorflow-lite needs a toolchain w/ gcc >= 8, C++, threads"
comment "tensorflow-lite needs a toolchain w/ gcc >= 10, C++, threads"
depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_INSTALL_LIBSTDCPP || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_8 || !BR2_TOOLCHAIN_HAS_THREADS
!BR2_TOOLCHAIN_GCC_AT_LEAST_10 || !BR2_TOOLCHAIN_HAS_THREADS
comment "tensorflow-lite needs a toolchain w/ shared libraries"
depends on !BR2_SHARED_LIBS

View File

@@ -7,7 +7,7 @@ config BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING
depends on BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING_ARCH_SUPPORTS
depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # libabseil-cpp
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # libabseil-cpp
# pthread_condattr_setclock
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
depends on !BR2_STATIC_LIBS # libabseil-cpp
@@ -18,8 +18,8 @@ config BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING
http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/
comment "webrtc-audio-processing needs a toolchain w/ C++, NPTL, dynamic library, gcc >= 8"
comment "webrtc-audio-processing needs a toolchain w/ C++, NPTL, dynamic library, gcc >= 10"
depends on BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING_ARCH_SUPPORTS
depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL \
|| BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_8
|| BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_10