Sunday, January 28, 2024

devel/abseil-cpp: update to 20240116.0, sync consumers (bulk wanted)

https://github.com/abseil/abseil-cpp/releases/tag/20240116.0
breaking changes:
- AbslHashValue() no longer accepts C-style arrays as a parameter.
Previously the array would decay to a pointer type, which could lead to subtle,
unintended bugs. The most common potential error is passing a C-string literal.
After this change, these call-sites require wrapping the literal in absl::string_view.
- absl::weak_equality and absl::strong_equality have been removed.
The corresponding std types were removed before C++20 was finalized

Upstream merged out write(2) syscall patch.

"bad_any_cast_impl" got removed, but no port links to it.
"flags" got removed as lib, .pc pointing at flags_* remains.
Two new libs "log_internal_fnmatch", "vlog_config_internal".

Diff below is the update plus build-tested WANTLIB sync for "flags" consumers
(except for geo/qgis, [652/11477] Qt/C++ building over night).

I have not done built all consumers, but expect them to work fine, some probably
also pick up the new libs as well.

Can someone put this through a bulk, please?


Index: devel/abseil-cpp/Makefile
===================================================================
RCS file: /cvs/ports/devel/abseil-cpp/Makefile,v
diff -u -p -r1.28 Makefile
--- devel/abseil-cpp/Makefile 23 Jan 2024 13:16:12 -0000 1.28
+++ devel/abseil-cpp/Makefile 24 Jan 2024 11:15:44 -0000
@@ -3,7 +3,7 @@ CATEGORIES = devel

GH_ACCOUNT = abseil
GH_PROJECT = ${GH_ACCOUNT}-cpp
-GH_TAGNAME = 20230802.1
+GH_TAGNAME = 20240116.0

HOMEPAGE = https://abseil.io/

@@ -14,12 +14,12 @@ MAINTAINER = Andrew Krasavin <noiseless-
PERMIT_PACKAGE = Yes

ABSL_LIBS = \
- scoped_mock_log atomic_hook_test_helper bad_any_cast_impl \
+ scoped_mock_log atomic_hook_test_helper \
bad_optional_access bad_variant_access base city civil_time cord \
cord_internal cordz_functions cordz_handle cordz_info cordz_sample_token \
crc32c crc_cord_state crc_cpu_detect crc_internal debugging_internal \
demangle_internal die_if_null examine_stack exception_safety_testing \
- exponential_biased failure_signal_handler flags flags_commandlineflag \
+ exponential_biased failure_signal_handler flags_commandlineflag \
flags_commandlineflag_internal flags_config flags_internal \
flags_marshalling flags_parse flags_private_handle_accessor \
flags_program_name flags_reflection flags_usage flags_usage_internal \
@@ -39,9 +39,10 @@ ABSL_LIBS = \
stack_consumption stacktrace status statusor str_format_internal strerror \
strings strings_internal symbolize synchronization test_instance_tracker \
throw_delegate time time_internal_test_util time_zone \
+ log_internal_fnmatch vlog_config_internal \
kernel_timeout_internal string_view
.for _lib in ${ABSL_LIBS}
-SHARED_LIBS += absl_${_lib} 3.0 # 2308.0.0
+SHARED_LIBS += absl_${_lib} 4.0 # 2401.0.0
.endfor

WANTLIB += ${COMPILER_LIBCXX} execinfo gmock gtest m
Index: devel/abseil-cpp/distinfo
===================================================================
RCS file: /cvs/ports/devel/abseil-cpp/distinfo,v
diff -u -p -r1.8 distinfo
--- devel/abseil-cpp/distinfo 19 Sep 2023 22:00:03 -0000 1.8
+++ devel/abseil-cpp/distinfo 23 Jan 2024 13:16:41 -0000
@@ -1,2 +1,2 @@
-SHA256 (abseil-cpp-20230802.1.tar.gz) = mHzpjwLu+6+TDW44qxaqBXNyNNevurLVxOp62+UMKO0=
-SIZE (abseil-cpp-20230802.1.tar.gz) = 2157158
+SHA256 (abseil-cpp-20240116.0.tar.gz) = M4QgRIsUDw39Gh6jw85xs7wXIHHyT02aV9WbRQN9pEA=
+SIZE (abseil-cpp-20240116.0.tar.gz) = 2150815
Index: devel/abseil-cpp/patches/patch-absl_base_internal_raw_logging_cc
===================================================================
RCS file: devel/abseil-cpp/patches/patch-absl_base_internal_raw_logging_cc
diff -N devel/abseil-cpp/patches/patch-absl_base_internal_raw_logging_cc
--- devel/abseil-cpp/patches/patch-absl_base_internal_raw_logging_cc 25 Oct 2023 05:06:50 -0000 1.6
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,21 +0,0 @@
-Use write(2) not syscall(2)
-
-https://github.com/abseil/abseil-cpp/pull/1553
-
-Index: absl/base/internal/raw_logging.cc
---- absl/base/internal/raw_logging.cc.orig
-+++ absl/base/internal/raw_logging.cc
-@@ -56,10 +56,12 @@
- // ABSL_HAVE_SYSCALL_WRITE is defined when the platform provides the syscall
- // syscall(SYS_write, /*int*/ fd, /*char* */ buf, /*size_t*/ len);
- // for low level operations that want to avoid libc.
--#if (defined(__linux__) || defined(__FreeBSD__) || defined(__OpenBSD__)) && \
-+#if (defined(__linux__) || defined(__FreeBSD__)) && \
- !defined(__ANDROID__)
- #include <sys/syscall.h>
- #define ABSL_HAVE_SYSCALL_WRITE 1
-+#define ABSL_LOW_LEVEL_WRITE_SUPPORTED 1
-+#elif defined(__OpenBSD__)
- #define ABSL_LOW_LEVEL_WRITE_SUPPORTED 1
- #else
- #undef ABSL_HAVE_SYSCALL_WRITE
Index: devel/abseil-cpp/patches/patch-absl_container_CMakeLists_txt
===================================================================
RCS file: devel/abseil-cpp/patches/patch-absl_container_CMakeLists_txt
diff -N devel/abseil-cpp/patches/patch-absl_container_CMakeLists_txt
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ devel/abseil-cpp/patches/patch-absl_container_CMakeLists_txt 29 Jan 2024 00:43:31 -0000
@@ -0,0 +1,38 @@
+Disable all tests that require a leak sanitizer because
+OpenBSD does not support it.
+
+Index: absl/container/CMakeLists.txt
+--- absl/container/CMakeLists.txt.orig
++++ absl/container/CMakeLists.txt
+@@ -101,6 +101,7 @@ absl_cc_library(
+ PUBLIC
+ )
+
++if (NOT CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
+ absl_cc_test(
+ NAME
+ compressed_tuple_test
+@@ -117,6 +118,7 @@ absl_cc_test(
+ absl::utility
+ GTest::gmock_main
+ )
++endif()
+
+ absl_cc_library(
+ NAME
+@@ -294,6 +296,7 @@ absl_cc_library(
+ PUBLIC
+ )
+
++if (NOT CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
+ absl_cc_test(
+ NAME
+ flat_hash_map_test
+@@ -313,6 +316,7 @@ absl_cc_test(
+ absl::unordered_map_modifiers_test
+ GTest::gmock_main
+ )
++endif()
+
+ absl_cc_library(
+ NAME
Index: devel/abseil-cpp/patches/patch-absl_status_status_cc
===================================================================
RCS file: /cvs/ports/devel/abseil-cpp/patches/patch-absl_status_status_cc,v
diff -u -p -r1.3 patch-absl_status_status_cc
--- devel/abseil-cpp/patches/patch-absl_status_status_cc 20 Aug 2023 05:42:05 -0000 1.3
+++ devel/abseil-cpp/patches/patch-absl_status_status_cc 23 Jan 2024 13:16:41 -0000
@@ -1,7 +1,7 @@
Index: absl/status/status.cc
--- absl/status/status.cc.orig
+++ absl/status/status.cc
-@@ -464,14 +464,18 @@ StatusCode ErrnoToStatusCode(int error_number) {
+@@ -273,14 +273,18 @@ StatusCode ErrnoToStatusCode(int error_number) {
case EFAULT: // Bad address
case EILSEQ: // Illegal byte sequence
case ENOPROTOOPT: // Protocol not available
@@ -20,7 +20,7 @@ Index: absl/status/status.cc
return StatusCode::kDeadlineExceeded;
case ENODEV: // No such device
case ENOENT: // No such file or directory
-@@ -530,9 +534,13 @@ StatusCode ErrnoToStatusCode(int error_number) {
+@@ -339,9 +343,13 @@ StatusCode ErrnoToStatusCode(int error_number) {
case EMLINK: // Too many links
case ENFILE: // Too many open files in system
case ENOBUFS: // No buffer space available
@@ -34,7 +34,7 @@ Index: absl/status/status.cc
#ifdef EUSERS
case EUSERS: // Too many users

No comments:

Post a Comment