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