On Fri, Aug 18, 2023 at 08:53:50AM +0200, Rafael Sadowski wrote:
> Update abseil-cpp-20230802.0. Tested with tdesktop and gtest 1.14 on
> amd64. OK?

A number of ports uses abseil-cpp by now, a few more tests can't hurt.

> 
> - https://github.com/abseil/abseil-cpp/issues/819
>   Looks like solved upstream and happy with gtest 1.14
> 
> - Remove cmake types in args. This is rarely necessary unless you have a
>   variable with the same name but different types.
>   And obviously error prone: DABSL_USE_EXTERNAL_GOOGLETEST:BOOL :D

fine with me, although it doesn't hurt either.

> - Update WANTLIB
> - Bump all sahred libs

portwise OK kn, although I prefer a proper patch for getthrid(2).
That's the only part I had already done so far, then you beat me to it.

Feel free to commit the diff below, it is yours with my patch file.
You can also remove the obvious CONFIGURE_ARGS comments for gtest and tests
since you're touching those line already.


Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/abseil-cpp/Makefile,v
retrieving revision 1.23
diff -u -p -r1.23 Makefile
--- Makefile    14 May 2023 16:59:47 -0000      1.23
+++ Makefile    18 Aug 2023 14:31:21 -0000
@@ -3,7 +3,7 @@ CATEGORIES =    devel
 
 GH_ACCOUNT =   abseil
 GH_PROJECT =   ${GH_ACCOUNT}-cpp
-GH_TAGNAME =   20230125.3
+GH_TAGNAME =   20230802.0
 
 HOMEPAGE =     https://abseil.io/
 
@@ -38,36 +38,28 @@ ABSL_LIBS = \
     raw_logging_internal scoped_set_env spinlock_test_common spinlock_wait \
     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
+    throw_delegate time time_internal_test_util time_zone \
+    kernel_timeout_internal string_view
 .for _lib in ${ABSL_LIBS}
-SHARED_LIBS +=         absl_${_lib}    2.0     # 2301.0.0
+SHARED_LIBS +=         absl_${_lib}    3.0     # 2308.0.0
 .endfor
 
+WANTLIB += ${COMPILER_LIBCXX} execinfo gmock gtest m
+
 # C++17
 COMPILER =             base-clang ports-gcc
 COMPILER_LANGS =       c++
-WANTLIB =              ${COMPILER_LIBCXX} execinfo m
 MODULES =              devel/cmake
 
-CONFIGURE_ARGS +=      -DBUILD_SHARED_LIBS:BOOL=ON
-
-# Force the same highest C++ standard because of ABI differences.
-# https://github.com/abseil/abseil-cpp/issues/819
-CONFIGURE_ARGS +=      -DCMAKE_CXX_STANDARD=17
-
-# A future Abseil release will default ABSL_PROPAGATE_CXX_STD=ON
-# for CMake >= 3.8. Abseil developers recommend enabling this option
-# to ensure that our project builds correctly.
-CONFIGURE_ARGS +=      -DABSL_PROPAGATE_CXX_STD:BOOL=ON
+CONFIGURE_ARGS +=      -DBUILD_SHARED_LIBS=ON
 
 # use googletest from ports
-CONFIGURE_ARGS +=      
-DABSL_USE_EXTERNAL_GOOGLETEST:BOOL=${LOCALBASE}/include/gtest
+CONFIGURE_ARGS +=      
-DABSL_USE_EXTERNAL_GOOGLETEST=${LOCALBASE}/include/gtest
 # turn on tests builds
-CONFIGURE_ARGS +=      -DBUILD_TESTING:BOOL=ON \
-                       -DABSL_BUILD_TESTING:BOOL=ON
+CONFIGURE_ARGS +=      -DBUILD_TESTING=ON \
+                       -DABSL_BUILD_TESTING=ON
 
-BUILD_DEPENDS +=       devel/gtest>=1.11.0pl20220208
-TEST_DEPENDS +=                devel/gtest>=1.11.0pl20220208
+LIB_DEPENDS +=         devel/gtest>=1.14.0
 
 TESTTMP =              ${WRKDIR}/tmp
 TESTLDPATH =           ${WRKDIR}/ldpath
Index: distinfo
===================================================================
RCS file: /cvs/ports/devel/abseil-cpp/distinfo,v
retrieving revision 1.6
diff -u -p -r1.6 distinfo
--- distinfo    14 May 2023 16:59:47 -0000      1.6
+++ distinfo    18 Aug 2023 14:16:56 -0000
@@ -1,2 +1,2 @@
-SHA256 (abseil-cpp-20230125.3.tar.gz) = 
U2bX5/p7oNkVAU04e2bQ0ALAMjZEjhup75gSLBOzXDY=
-SIZE (abseil-cpp-20230125.3.tar.gz) = 2119655
+SHA256 (abseil-cpp-20230802.0.tar.gz) = 
WdKXavnW7PABqBo1dJpuVRozW5SdNJGM+t4Hc3udk8U=
+SIZE (abseil-cpp-20230802.0.tar.gz) = 2156669
Index: patches/patch-absl_base_internal_raw_logging_cc
===================================================================
RCS file: 
/cvs/ports/devel/abseil-cpp/patches/patch-absl_base_internal_raw_logging_cc,v
retrieving revision 1.4
diff -u -p -r1.4 patch-absl_base_internal_raw_logging_cc
--- patches/patch-absl_base_internal_raw_logging_cc     20 Feb 2023 17:13:40 
-0000      1.4
+++ patches/patch-absl_base_internal_raw_logging_cc     18 Aug 2023 14:16:56 
-0000
@@ -3,7 +3,7 @@ Use write(2) not syscall(2)
 Index: absl/base/internal/raw_logging.cc
 --- absl/base/internal/raw_logging.cc.orig
 +++ absl/base/internal/raw_logging.cc
-@@ -52,10 +52,12 @@
+@@ -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.
Index: patches/patch-absl_base_internal_sysinfo_cc
===================================================================
RCS file: patches/patch-absl_base_internal_sysinfo_cc
diff -N patches/patch-absl_base_internal_sysinfo_cc
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-absl_base_internal_sysinfo_cc 18 Aug 2023 14:28:39 -0000
@@ -0,0 +1,18 @@
+Use getthrid(2) as GetTID() implementation.
+
+Index: absl/base/internal/sysinfo.cc
+--- absl/base/internal/sysinfo.cc.orig
++++ absl/base/internal/sysinfo.cc
+@@ -441,6 +441,12 @@ pid_t GetTID() {
+   return reinterpret_cast<pid_t>(thread);
+ }
+ 
++#elif defined(__OpenBSD__)
++
++pid_t GetTID() {
++  return getthrid();
++}
++
+ #else
+ 
+ // Fallback implementation of `GetTID` using `pthread_self`.
Index: patches/patch-absl_debugging_CMakeLists_txt
===================================================================
RCS file: 
/cvs/ports/devel/abseil-cpp/patches/patch-absl_debugging_CMakeLists_txt,v
retrieving revision 1.6
diff -u -p -r1.6 patch-absl_debugging_CMakeLists_txt
--- patches/patch-absl_debugging_CMakeLists_txt 4 Feb 2023 17:37:58 -0000       
1.6
+++ patches/patch-absl_debugging_CMakeLists_txt 18 Aug 2023 14:16:56 -0000
@@ -7,7 +7,7 @@ defaults to --exec-only.
 Index: absl/debugging/CMakeLists.txt
 --- absl/debugging/CMakeLists.txt.orig
 +++ absl/debugging/CMakeLists.txt
-@@ -89,6 +89,7 @@ absl_cc_library(
+@@ -90,6 +90,7 @@ absl_cc_library(
    PUBLIC
  )
  
@@ -15,15 +15,15 @@ Index: absl/debugging/CMakeLists.txt
  absl_cc_test(
    NAME
      symbolize_test
-@@ -110,6 +111,7 @@ absl_cc_test(
-     absl::strings
+@@ -112,6 +113,7 @@ absl_cc_test(
+     absl::symbolize
      GTest::gmock
  )
 +endif()
  
  # Internal-only target, do not depend on directly.
  absl_cc_library(
-@@ -220,6 +222,7 @@ absl_cc_test(
+@@ -223,6 +225,7 @@ absl_cc_test(
      GTest::gmock_main
  )
  
@@ -31,15 +31,15 @@ Index: absl/debugging/CMakeLists.txt
  absl_cc_library(
    NAME
      leak_check
-@@ -249,6 +252,7 @@ absl_cc_test(
-     absl::base
+@@ -253,6 +256,7 @@ absl_cc_test(
+     absl::log
      GTest::gmock_main
  )
 +endif()
  
  # Internal-only target, do not depend on directly.
  absl_cc_library(
-@@ -267,6 +271,7 @@ absl_cc_library(
+@@ -271,6 +275,7 @@ absl_cc_library(
    TESTONLY
  )
  
@@ -47,7 +47,7 @@ Index: absl/debugging/CMakeLists.txt
  absl_cc_test(
    NAME
      stack_consumption_test
-@@ -292,3 +297,4 @@ absl_cc_library(
+@@ -296,3 +301,4 @@ absl_cc_library(
      absl::leak_check
    PUBLIC
  )
Index: patches/patch-absl_status_status_cc
===================================================================
RCS file: /cvs/ports/devel/abseil-cpp/patches/patch-absl_status_status_cc,v
retrieving revision 1.2
diff -u -p -r1.2 patch-absl_status_status_cc
--- patches/patch-absl_status_status_cc 4 Feb 2023 17:37:58 -0000       1.2
+++ patches/patch-absl_status_status_cc 18 Aug 2023 14:16:56 -0000
@@ -1,7 +1,7 @@
 Index: absl/status/status.cc
 --- absl/status/status.cc.orig
 +++ absl/status/status.cc
-@@ -467,14 +467,18 @@ StatusCode ErrnoToStatusCode(int error_number) {
+@@ -464,14 +464,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
-@@ -533,9 +537,13 @@ StatusCode ErrnoToStatusCode(int error_number) {
+@@ -530,9 +534,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
  #endif
-@@ -578,7 +586,9 @@ StatusCode ErrnoToStatusCode(int error_number) {
+@@ -575,7 +583,9 @@ StatusCode ErrnoToStatusCode(int error_number) {
      case ENETRESET:     // Connection aborted by network
      case ENETUNREACH:   // Network unreachable
      case ENOLCK:        // No locks available
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/devel/abseil-cpp/pkg/PLIST,v
retrieving revision 1.7
diff -u -p -r1.7 PLIST
--- pkg/PLIST   14 May 2023 16:59:47 -0000      1.7
+++ pkg/PLIST   18 Aug 2023 14:57:33 -0000
@@ -28,6 +28,7 @@ include/absl/base/internal/inline_variab
 include/absl/base/internal/invoke.h
 include/absl/base/internal/low_level_alloc.h
 include/absl/base/internal/low_level_scheduling.h
+include/absl/base/internal/nullability_impl.h
 include/absl/base/internal/per_thread_tls.h
 include/absl/base/internal/prefetch.h
 include/absl/base/internal/pretty_function.h
@@ -51,10 +52,12 @@ include/absl/base/internal/unscaledcycle
 include/absl/base/internal/unscaledcycleclock_config.h
 include/absl/base/log_severity.h
 include/absl/base/macros.h
+include/absl/base/nullability.h
 include/absl/base/optimization.h
 include/absl/base/options.h
 include/absl/base/policy_checks.h
 include/absl/base/port.h
+include/absl/base/prefetch.h
 include/absl/base/thread_annotations.h
 include/absl/cleanup/
 include/absl/cleanup/cleanup.h
@@ -176,13 +179,14 @@ include/absl/hash/hash_testing.h
 include/absl/hash/internal/
 include/absl/hash/internal/city.h
 include/absl/hash/internal/hash.h
+include/absl/hash/internal/hash_test.h
 include/absl/hash/internal/low_level_hash.h
 include/absl/hash/internal/spy_hash_state.h
 include/absl/log/
 include/absl/log/absl_check.h
 include/absl/log/absl_log.h
 include/absl/log/check.h
-include/absl/log/check_test_impl.h
+include/absl/log/check_test_impl.inc
 include/absl/log/die_if_null.h
 include/absl/log/flags.h
 include/absl/log/globals.h
@@ -209,7 +213,7 @@ include/absl/log/internal/test_helpers.h
 include/absl/log/internal/test_matchers.h
 include/absl/log/internal/voidify.h
 include/absl/log/log.h
-include/absl/log/log_basic_test_impl.h
+include/absl/log/log_basic_test_impl.inc
 include/absl/log/log_entry.h
 include/absl/log/log_sink.h
 include/absl/log/log_sink_registry.h
@@ -357,11 +361,17 @@ include/absl/synchronization/blocking_co
 include/absl/synchronization/internal/
 include/absl/synchronization/internal/create_thread_identity.h
 include/absl/synchronization/internal/futex.h
+include/absl/synchronization/internal/futex_waiter.h
 include/absl/synchronization/internal/graphcycles.h
 include/absl/synchronization/internal/kernel_timeout.h
 include/absl/synchronization/internal/per_thread_sem.h
+include/absl/synchronization/internal/pthread_waiter.h
+include/absl/synchronization/internal/sem_waiter.h
+include/absl/synchronization/internal/stdcpp_waiter.h
 include/absl/synchronization/internal/thread_pool.h
 include/absl/synchronization/internal/waiter.h
+include/absl/synchronization/internal/waiter_base.h
+include/absl/synchronization/internal/win32_waiter.h
 include/absl/synchronization/mutex.h
 include/absl/synchronization/notification.h
 include/absl/time/
@@ -408,8 +418,9 @@ include/absl/types/optional.h
 include/absl/types/span.h
 include/absl/types/variant.h
 include/absl/utility/
+include/absl/utility/internal/
+include/absl/utility/internal/if_constexpr.h
 include/absl/utility/utility.h
-lib/cmake/
 lib/cmake/absl/
 lib/cmake/absl/abslConfig.cmake
 lib/cmake/absl/abslConfigVersion.cmake
@@ -456,6 +467,7 @@ lib/cmake/absl/abslTargets.cmake
 @lib 
lib/libabsl_hash_generator_testing.so.${LIBabsl_hash_generator_testing_VERSION}
 @lib lib/libabsl_hashtablez_sampler.so.${LIBabsl_hashtablez_sampler_VERSION}
 @lib lib/libabsl_int128.so.${LIBabsl_int128_VERSION}
+@lib 
lib/libabsl_kernel_timeout_internal.so.${LIBabsl_kernel_timeout_internal_VERSION}
 @lib lib/libabsl_log_entry.so.${LIBabsl_log_entry_VERSION}
 @lib lib/libabsl_log_flags.so.${LIBabsl_log_flags_VERSION}
 @lib lib/libabsl_log_globals.so.${LIBabsl_log_globals_VERSION}
@@ -501,6 +513,7 @@ lib/cmake/absl/abslTargets.cmake
 @lib lib/libabsl_statusor.so.${LIBabsl_statusor_VERSION}
 @lib lib/libabsl_str_format_internal.so.${LIBabsl_str_format_internal_VERSION}
 @lib lib/libabsl_strerror.so.${LIBabsl_strerror_VERSION}
+@lib lib/libabsl_string_view.so.${LIBabsl_string_view_VERSION}
 @lib lib/libabsl_strings.so.${LIBabsl_strings_VERSION}
 @lib lib/libabsl_strings_internal.so.${LIBabsl_strings_internal_VERSION}
 @lib lib/libabsl_symbolize.so.${LIBabsl_symbolize_VERSION}
@@ -596,6 +609,7 @@ lib/pkgconfig/absl_hash_testing.pc
 lib/pkgconfig/absl_hashtable_debug.pc
 lib/pkgconfig/absl_hashtable_debug_hooks.pc
 lib/pkgconfig/absl_hashtablez_sampler.pc
+lib/pkgconfig/absl_if_constexpr.pc
 lib/pkgconfig/absl_inlined_vector.pc
 lib/pkgconfig/absl_inlined_vector_internal.pc
 lib/pkgconfig/absl_int128.pc
@@ -640,6 +654,7 @@ lib/pkgconfig/absl_node_hash_set.pc
 lib/pkgconfig/absl_node_slot_policy.pc
 lib/pkgconfig/absl_non_temporal_arm_intrinsics.pc
 lib/pkgconfig/absl_non_temporal_memcpy.pc
+lib/pkgconfig/absl_nullability.pc
 lib/pkgconfig/absl_numeric.pc
 lib/pkgconfig/absl_numeric_representation.pc
 lib/pkgconfig/absl_optional.pc
@@ -695,6 +710,7 @@ lib/pkgconfig/absl_statusor.pc
 lib/pkgconfig/absl_str_format.pc
 lib/pkgconfig/absl_str_format_internal.pc
 lib/pkgconfig/absl_strerror.pc
+lib/pkgconfig/absl_string_view.pc
 lib/pkgconfig/absl_strings.pc
 lib/pkgconfig/absl_strings_internal.pc
 lib/pkgconfig/absl_symbolize.pc

Reply via email to