Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] protobuf/abseil-cpp: update
@ 2023-07-08 11:45 Johnnynator
  2023-07-08 12:45 ` [PR PATCH] [Updated] protobuf/abseil-cpp/grpc: update Johnnynator
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: Johnnynator @ 2023-07-08 11:45 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 606 bytes --]

There is a new pull request by Johnnynator against master on the void-packages repository

https://github.com/Johnnynator/void-packages google-stuff
https://github.com/void-linux/void-packages/pull/44920

protobuf/abseil-cpp: update
"Fun" with google stuff

#### Testing the changes
- I tested the changes in this PR: **WiP**


#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):



A patch file from https://github.com/void-linux/void-packages/pull/44920.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-google-stuff-44920.patch --]
[-- Type: text/x-diff, Size: 99578 bytes --]

From 3dd41e456f5589465b105b429a96c0331496cae7 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:24:01 +0200
Subject: [PATCH 01/34] abseil-cpp: update to 20230125.3.

---
 common/shlibs                                 | 128 ++++++++++++------
 srcpkgs/abseil-cpp/patches/google-sucks.patch |  77 -----------
 srcpkgs/abseil-cpp/template                   |   4 +-
 3 files changed, 85 insertions(+), 124 deletions(-)
 delete mode 100644 srcpkgs/abseil-cpp/patches/google-sucks.patch

diff --git a/common/shlibs b/common/shlibs
index b8ab3ec37bff..839657574cc5 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4202,51 +4202,89 @@ libsunpinyin.so.3 libsunpinyin-3.0.0rc2_1
 libtpm2-totp.so.0 libtpm2-totp-0.3.0_1
 libmujs.so.1.2.0 mujs-1.2.0_2
 libiir.so.1 libiir1-1.9.3_1
-libabsl_statusor.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_hash.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_raw_hash_set.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_bad_variant_access.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_status.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_pool_urbg.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_hwaes_impl.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_slow.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cord.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_city.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_bad_optional_access.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_info.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_str_format_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_synchronization.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_time.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strings.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_throw_delegate.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_time_zone.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_spinlock_wait.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_base.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_civil_time.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cord_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_functions.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_handle.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_debugging_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_demangle_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_exponential_biased.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_graphcycles_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_hashtablez_sampler.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_int128.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_log_severity.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_low_level_hash.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_malloc_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_distributions.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_platform.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_hwaes.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_seed_material.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_seed_gen_exception.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_seed_sequences.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_raw_logging_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_stacktrace.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strerror.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strings_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_symbolize.so.2206.0.0 abseil-cpp-20220623.1_1
+libabsl_flags.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_raw_logging_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_parse.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_reflection.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_globals.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_config.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_seed_sequences.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_statusor.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_usage_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_commandlineflag.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_hwaes_impl.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_status.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_any_cast_impl.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_variant_access.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_raw_hash_set.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_optional_access.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cord.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_distribution_test_util.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_handle.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_graphcycles_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_spinlock_wait.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_functions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_usage.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_debugging_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strerror.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_seed_material.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_log_sink_set.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_proto.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_civil_time.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_conditions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_cpu_detect.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_entry.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_distributions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_globals.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_format.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_exponential_biased.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_city.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_symbolize.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_leak_check.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_low_level_hash.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_severity.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_scoped_set_env.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strings.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_die_if_null.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_hash.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_commandlineflag_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_periodic_sampler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_platform.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_malloc_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_sample_token.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_str_format_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_synchronization.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_message.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strings_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_private_handle_accessor.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cord_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_hwaes.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_throw_delegate.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_cord_state.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_flags.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_program_name.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_time_zone.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_examine_stack.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc32c.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_initialize.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_failure_signal_handler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_time.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_info.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_sink.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_nullguard.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_demangle_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_base.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_hashtablez_sampler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_marshalling.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_pool_urbg.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_int128.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_stacktrace.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_seed_gen_exception.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_check_op.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_slow.so.2301.0.0 abseil-cpp-20230125.3_1
 libairspyhf.so.0 libairspyhf-1.6.8_1
 libtraceevent.so.1 libtraceevent-1.6.2_1
 libtracefs.so.1 libtracefs-1.4.2_1
diff --git a/srcpkgs/abseil-cpp/patches/google-sucks.patch b/srcpkgs/abseil-cpp/patches/google-sucks.patch
deleted file mode 100644
index 511bae847101..000000000000
--- a/srcpkgs/abseil-cpp/patches/google-sucks.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-commit 1fbfea71fb42b2e79f9e342c1843bd26a8703536
-Author: Daniel Kolesa <daniel@octaforge.org>
-Date:   Thu Aug 25 01:20:58 2022 +0200
-
-    An all-in-one patch that fixes several issues:
-    
-    1) UnscaledCycleClock not fully implemented for ppc*-musl (disabled on musl)
-    2) powerpc stacktrace implementation only works on glibc (disabled on musl)
-    3) powerpc stacktrace implementation has ppc64 assumptions (fixed)
-    4) examine_stack.cpp makes glibc assumptions on powerpc (fixed)
-
-diff --git a/absl/base/internal/unscaledcycleclock.cc b/absl/base/internal/unscaledcycleclock.cc
-index b1c396c..d62bfd6 100644
---- a/absl/base/internal/unscaledcycleclock.cc
-+++ b/absl/base/internal/unscaledcycleclock.cc
-@@ -20,7 +20,7 @@
- #include <intrin.h>
- #endif
- 
--#if defined(__powerpc__) || defined(__ppc__)
-+#if (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
- #ifdef __GLIBC__
- #include <sys/platform/ppc.h>
- #elif defined(__FreeBSD__)
-@@ -58,7 +58,7 @@ double UnscaledCycleClock::Frequency() {
-   return base_internal::NominalCPUFrequency();
- }
- 
--#elif defined(__powerpc__) || defined(__ppc__)
-+#elif (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
- 
- int64_t UnscaledCycleClock::Now() {
- #ifdef __GLIBC__
-diff --git a/absl/base/internal/unscaledcycleclock.h b/absl/base/internal/unscaledcycleclock.h
-index 2cbeae3..83d8c98 100644
---- a/absl/base/internal/unscaledcycleclock.h
-+++ b/absl/base/internal/unscaledcycleclock.h
-@@ -46,8 +46,8 @@
- 
- // The following platforms have an implementation of a hardware counter.
- #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \
--    defined(__powerpc__) || defined(__ppc__) || defined(__riscv) ||     \
--    defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
-+    ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \
-+    defined(__riscv) || defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
- #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
- #else
- #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 0
-diff --git a/absl/debugging/internal/examine_stack.cc b/absl/debugging/internal/examine_stack.cc
-index 5bdd341..a42a3c4 100644
---- a/absl/debugging/internal/examine_stack.cc
-+++ b/absl/debugging/internal/examine_stack.cc
-@@ -174,8 +174,10 @@ void* GetProgramCounter(void* const vuc) {
-     return reinterpret_cast<void*>(context->uc_mcontext.pc);
- #elif defined(__powerpc64__)
-     return reinterpret_cast<void*>(context->uc_mcontext.gp_regs[32]);
--#elif defined(__powerpc__)
-+#elif defined(__powerpc__) && defined(__GLIBC__)
-     return reinterpret_cast<void*>(context->uc_mcontext.uc_regs->gregs[32]);
-+#elif defined(__powerpc__)
-+    return reinterpret_cast<void*>(context->uc_mcontext.gregs[32]);
- #elif defined(__riscv)
-     return reinterpret_cast<void*>(context->uc_mcontext.__gregs[REG_PC]);
- #elif defined(__s390__) && !defined(__s390x__)
-diff --git a/absl/debugging/internal/stacktrace_config.h b/absl/debugging/internal/stacktrace_config.h
-index 3929b1b..23d5e50 100644
---- a/absl/debugging/internal/stacktrace_config.h
-+++ b/absl/debugging/internal/stacktrace_config.h
-@@ -60,7 +60,7 @@
- #elif defined(__i386__) || defined(__x86_64__)
- #define ABSL_STACKTRACE_INL_HEADER \
-   "absl/debugging/internal/stacktrace_x86-inl.inc"
--#elif defined(__ppc__) || defined(__PPC__)
-+#elif (defined(__ppc__) || defined(__PPC__)) && defined(__GLIBC__)
- #define ABSL_STACKTRACE_INL_HEADER \
-   "absl/debugging/internal/stacktrace_powerpc-inl.inc"
- #elif defined(__aarch64__)
diff --git a/srcpkgs/abseil-cpp/template b/srcpkgs/abseil-cpp/template
index 8640d2489406..3ffdb4d99d33 100644
--- a/srcpkgs/abseil-cpp/template
+++ b/srcpkgs/abseil-cpp/template
@@ -1,6 +1,6 @@
 # Template file for 'abseil-cpp'
 pkgname=abseil-cpp
-version=20220623.1
+version=20230125.3
 revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON -DABSL_PROPAGATE_CXX_STD=ON"
@@ -10,7 +10,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="Apache-2.0"
 homepage="https://abseil.io"
 distfiles="https://github.com/abseil/abseil-cpp/archive/${version}.tar.gz"
-checksum=91ac87d30cc6d79f9ab974c51874a704de9c2647c40f6932597329a282217ba8
+checksum=5366d7e7fa7ba0d915014d387b66d0d002c03236448e1ba9ef98122c13b35c36
 
 abseil-cpp-devel_package() {
 	short_desc+=" (development files)"

From 661b7210f2e1ab985aa59b1cae88f0a0a375c20a Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 02/34] Bear: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/Bear/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/Bear/template b/srcpkgs/Bear/template
index cebf51b64728..2e6da3ba9a30 100644
--- a/srcpkgs/Bear/template
+++ b/srcpkgs/Bear/template
@@ -1,7 +1,7 @@
 # Template file for 'Bear'
 pkgname=Bear
 version=3.1.2
-revision=1
+revision=2
 build_style=cmake
 hostmakedepends="pkg-config protobuf protobuf-devel grpc"
 makedepends="json-c++ spdlog grpc-devel protobuf-devel gtest-devel"

From 7f41aec5358526c8dd43a1523f166980dd1c1c43 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 03/34] grpc: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/grpc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index 5b4547a5c0fc..f9d197a1c354 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -1,7 +1,7 @@
 # Template file for 'grpc'
 pkgname=grpc
 version=1.49.1
-revision=2
+revision=3
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON
  -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package

From 83fd9b3a72d4ea624398e7ecfcbb1558822d5de6 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 04/34] justbuild: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/justbuild/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index 1ad8e334617d..ee36f6dae575 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
 # Template file for 'justbuild'
 pkgname=justbuild
 version=1.1.2
-revision=1
+revision=2
 create_wrksrc=yes
 hostmakedepends="jo pandoc pkg-config python3 tar unzip wget"
 makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++

From c1fb7e422c3808f202dadf84b6aff4b31f43fcf5 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 05/34] python3-grpcio: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/python3-grpcio/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 826eda0fc560..9b3c7288a9dd 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-grpcio'
 pkgname=python3-grpcio
 version=1.49.1
-revision=3
+revision=4
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-six python3-Cython"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel

From f8934f02bd2095ae2a1d5b4cb8c772fe432fbb4f Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 06/34] sysdig: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/sysdig/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index 81ddb7aba5e3..4a04e762468c 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,7 +1,7 @@
 # Template file for 'sysdig'
 pkgname=sysdig
 version=0.28.0
-revision=7
+revision=8
 build_style=cmake
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF
@@ -36,7 +36,8 @@ CXXFLAGS="-Wno-deprecated-declarations"
 CXXFLAGS+=" -I/usr/include/grpc_absl"
 
 post_extract() {
-	sed -i 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' scripts/CMakeLists.txt
+	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
+	vsed -e 's|-std=c++0x||' -i CMakeLists.txt
 }
 
 post_install() {

From 74d69788b289573ecfb26a794b18fcc24141c126 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 22:01:12 +0200
Subject: [PATCH 07/34] python3-grpcio: update to 1.56.0.

---
 srcpkgs/python3-grpcio/template | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 9b3c7288a9dd..25ea3fc34620 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-grpcio'
 pkgname=python3-grpcio
-version=1.49.1
-revision=4
+version=1.56.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-six python3-Cython"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel
@@ -12,7 +12,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://grpc.io"
 distfiles="${PYPI_SITE}/g/grpcio/grpcio-${version}.tar.gz"
-checksum=d4725fc9ec8e8822906ae26bb26f5546891aa7fbc3443de970cc556d43a5c99f
+checksum=4c08ee21b3d10315b8dc26f6c13917b20ed574cdbed2d2d80c53d5508fdcc0f2
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	makedepends+=" libatomic-devel"
@@ -29,5 +29,7 @@ export GRPC_PYTHON_BUILD_SYSTEM_RE2=1
 export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
 
 post_extract() {
+	# abseil-cpp 2023xxxxxx requires at least c++ 17
+	vsed -e 's/c++14/c++17/g' -i setup.py
 	rm src/python/grpcio/grpc/_cython/cygrpc.cpp
 }

From f162e5bcb26510f5c8ebe3aaf8d246883674ecda Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 22:01:47 +0200
Subject: [PATCH 08/34] grpc: update to 1.56.0.

---
 common/shlibs                    | 24 ++++++++++++------------
 srcpkgs/grpc/patches/cmake.patch |  9 +++++++++
 srcpkgs/grpc/template            |  9 +++++----
 3 files changed, 26 insertions(+), 16 deletions(-)
 create mode 100644 srcpkgs/grpc/patches/cmake.patch

diff --git a/common/shlibs b/common/shlibs
index 839657574cc5..f9a282013d85 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3678,18 +3678,18 @@ liboblibs.so.0.1 oblibs-0.1.1.1_1
 libaal-1.0.so.7 libaal-1.0.7_1
 libaal-minimal.so.0 libaal-1.0.7_1
 libcli.so.1.9 libcli-1.9.8.4_1
-libaddress_sorting.so.27 libgrpc-1.49.1_1
-libgpr.so.27 libgrpc-1.49.1_1
-libgrpc.so.27 libgrpc-1.49.1_1
-libgrpc_unsecure.so.27 libgrpc-1.49.1_1
-libupb.so.27 libgrpc-1.49.1_1
-libgrpc++.so.1.49 libgrpc-1.49.1_1
-libgrpc++_alts.so.1.49 libgrpc-1.49.1_1
-libgrpc++_error_details.so.1.49 libgrpc-1.49.1_1
-libgrpc++_reflection.so.1.49 libgrpc-1.49.1_1
-libgrpc++_unsecure.so.1.49 libgrpc-1.49.1_1
-libgrpc_plugin_support.so.1.49 libgrpc-1.49.1_1
-libgrpcpp_channelz.so.1.49 libgrpc-1.49.1_1
+libaddress_sorting.so.33 libgrpc-1.56.0_1
+libgpr.so.33 libgrpc-1.56.0_1
+libgrpc.so.33 libgrpc-1.56.0_1
+libgrpc_unsecure.so.33 libgrpc-1.56.0_1
+libupb.so.33 libgrpc-1.56.0_1
+libgrpc++.so.1.56 libgrpc-1.56.0_1
+libgrpc++_alts.so.1.56 libgrpc-1.56.0_1
+libgrpc++_error_details.so.1.56 libgrpc-1.56.0_1
+libgrpc++_reflection.so.1.56 libgrpc-1.56.0_1
+libgrpc++_unsecure.so.1.56 libgrpc-1.56.0_1
+libgrpc_plugin_support.so.1.56 libgrpc-1.56.0_1
+libgrpcpp_channelz.so.1.56 libgrpc-1.56.0_1
 libircclient.so.1 libircclient-1.10_5
 libFAudio.so.0 FAudio-19.05_1
 libqaccessibilityclient-qt5.so.0 libqaccessibilityclient-0.4.0_1
diff --git a/srcpkgs/grpc/patches/cmake.patch b/srcpkgs/grpc/patches/cmake.patch
new file mode 100644
index 000000000000..d452e4ea59bf
--- /dev/null
+++ b/srcpkgs/grpc/patches/cmake.patch
@@ -0,0 +1,9 @@
+--- a/cmake/gRPCConfig.cmake.in	2023-06-14 22:21:16.000000000 +0200
++++ -	2023-06-28 11:11:32.902678412 +0200
+@@ -1,5 +1,6 @@
+ # Module path
+ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/modules)
++include(CMakeFindDependencyMacro)
+ 
+ # Depend packages
+ @_gRPC_FIND_ZLIB@
diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index f9d197a1c354..56ade5283e6f 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -1,7 +1,7 @@
 # Template file for 'grpc'
 pkgname=grpc
-version=1.49.1
-revision=3
+version=1.56.0
+revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON
  -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package
@@ -16,7 +16,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://github.com/grpc/grpc"
 distfiles="${homepage}/archive/v${version}/${pkgname}-${version}.tar.gz"
-checksum=5071b630e2a14707ad060636990f1b25b0984bd168c7ea1ab95e48a3bdc0081f
+checksum=e034992a0b464042021f6d440f2090acc2422c103a322b0844e3921ccea981dc
 
 if [ "$CROSS_BUILD" ]; then
 	# need host grpc_cpp_plugin
@@ -38,7 +38,8 @@ libgrpc_package() {
 
 grpc-devel_package() {
 	short_desc+=" - development files"
-	depends="${sourcepkg}>=${version}_${revision} ${_devel_depends}"
+	depends="${sourcepkg}>=${version}_${revision} ${_devel_depends}
+	 protobuf-devel"
 	pkg_install() {
 		vmove usr/include
 		vmove usr/lib/*.so

From ecd65ca642bbf860dff447c4bc2428f701c2a5a2 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:40:13 +0200
Subject: [PATCH 09/34] protobuf: update to 23.4.

- switch to cmake buildstyle
- grpc needs the .cmake files to find protobuf
- newer version of protobuf will drop autoconf
---
 common/shlibs             |  6 +++---
 srcpkgs/protobuf/template | 44 +++++++++++++--------------------------
 2 files changed, 17 insertions(+), 33 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index f9a282013d85..712df469a3ee 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3110,9 +3110,9 @@ libm17n-flt.so.0 m17n-lib-1.7.0_1
 libm17n-gui.so.0 m17n-lib-1.7.0_1
 libm17n-core.so.0 m17n-lib-1.7.0_1
 libm17n.so.0 m17n-lib-1.7.0_1
-libprotobuf-lite.so.32 libprotobuf-lite-21.4_1
-libprotoc.so.32 libprotoc-21.4_1
-libprotobuf.so.32 libprotobuf-21.4_1
+libprotobuf-lite.so.23.4.0 libprotobuf-lite-23.4_1
+libprotoc.so.23.4.0 libprotoc-23.4_1
+libprotobuf.so.23.4.0 libprotobuf-23.4_1
 libsombok.so.3 sombok-2.4.0_1
 libdeviceclient.so.0 pragha-1.3.3_1
 libykclient.so.3 ykclient-2.15_1
diff --git a/srcpkgs/protobuf/template b/srcpkgs/protobuf/template
index 571f06487c85..b36cc3998dc9 100644
--- a/srcpkgs/protobuf/template
+++ b/srcpkgs/protobuf/template
@@ -1,22 +1,22 @@
 # Template file for 'protobuf'
 pkgname=protobuf
-version=21.12
+version=23.4
 revision=1
-create_wrksrc="yes"
-build_wrksrc="${pkgname}-${version}"
-build_style=gnu-configure
-hostmakedepends="pkg-config automake libtool"
-makedepends="zlib-devel"
+build_style=cmake
+hostmakedepends="pkg-config"
+configure_args="-Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_USE_EXTERNAL_GTEST=ON
+ -Dprotobuf_BUILD_LIBPROTOC=ON -Dprotobuf_ABSL_PROVIDER=package"
+# XXX: Tests require that the abseil-cpp provides absl::scoped_mock_log
+configure_args+=" -Dprotobuf_BUILD_TESTS=OFF"
+makedepends="zlib-devel gtest-devel libatomic-devel
+ abseil-cpp-devel"
 short_desc="Protocol buffers compiler"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
 changelog="https://raw.githubusercontent.com/google/protobuf/master/CHANGES.txt"
-_googletest_commit="5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081"
-distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz
- https://github.com/google/googletest/archive/${_googletest_commit}.tar.gz"
-checksum="22fdaf641b31655d4b2297f9981fa5203b2866f8332d3c6333f6b0107bb320de
- 0e2f36e8e403c125fd0ab02171bdb786d3b6b3875b6ccf3b2eb7969be8faecd0"
+distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz"
+checksum=a700a49470d301f1190a487a923b5095bf60f08f4ae4cac9f5f7c36883d17971
 
 # Switch to versioned package
 conflicts="protobuf18>=0 protobuf23>=0 protobuf24>=0
@@ -26,23 +26,9 @@ replaces="${conflicts}"
 if [ "$CROSS_BUILD" ]; then
 	# needs host protoc
 	hostmakedepends+=" ${pkgname}"
-	configure_args+=" --with-protoc=/usr/bin/protoc"
+	configure_args+=" -Dprotobuf_PROTOC_EXE=/usr/bin/protoc"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-	LDFLAGS+=" -latomic"
-fi
-
-post_extract() {
-	rmdir "${build_wrksrc}/third_party/googletest"
-	mv "googletest-${_googletest_commit}" "${build_wrksrc}/third_party/googletest"
-}
-
-pre_configure() {
-	autoreconf -fi
-}
-
 post_install() {
 	vlicense LICENSE
 }
@@ -80,7 +66,6 @@ libprotoc-devel_package() {
 	 libprotoc26-devel>=0 libprotoc28-devel>=0"
 	replaces="${conflicts}"
 	pkg_install() {
-		vmove usr/lib/libprotoc.a
 		vmove usr/lib/libprotoc.so
 		vmove usr/include/google/protobuf/compiler
 	}
@@ -89,7 +74,8 @@ libprotoc-devel_package() {
 protobuf-devel_package() {
 	depends="zlib-devel
 	 libprotobuf-${version}_${revision}
-	 libprotobuf-lite-${version}_${revision}"
+	 libprotobuf-lite-${version}_${revision}
+	 abseil-cpp-devel"
 	short_desc="Protocol buffers C++ library - development files"
 	# Switch to versioned package
 	conflicts="protobuf18-devel>=0 protobuf23-devel>=0
@@ -98,8 +84,6 @@ protobuf-devel_package() {
 	replaces="${conflicts}"
 	pkg_install() {
 		vmove usr/include
-		vmove usr/lib/libprotobuf.a
-		vmove usr/lib/libprotobuf-lite.a
 		vmove usr/lib/libprotobuf.so
 		vmove usr/lib/libprotobuf-lite.so
 		vmove usr/lib/pkgconfig

From af3fece898d11fe65610d12cc001f540fb52f2a9 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 10/34] EternalTerminal: rebuild against protobuf-23.3_1

---
 srcpkgs/EternalTerminal/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/EternalTerminal/template b/srcpkgs/EternalTerminal/template
index 1017a1b4a1ec..156eab6ce47e 100644
--- a/srcpkgs/EternalTerminal/template
+++ b/srcpkgs/EternalTerminal/template
@@ -1,7 +1,7 @@
 # Template file for 'EternalTerminal'
 pkgname=EternalTerminal
 version=6.2.1
-revision=1
+revision=2
 # revisions used for the specific versions of submodules.
 # they can be found in the external/ directory of the source code.
 _sanitizers_gitrev="99e159ec9bc8dd362b08d18436bd40ff0648417b"

From bb4dd83d7752449a3bd09acf679b6eeb8bf8e444 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 11/34] vlc: rebuild against protobuf-23.3_1

---
 srcpkgs/vlc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vlc/template b/srcpkgs/vlc/template
index 210762b0a7e2..651c94a1353a 100644
--- a/srcpkgs/vlc/template
+++ b/srcpkgs/vlc/template
@@ -1,7 +1,7 @@
 # Template file for 'vlc'
 pkgname=vlc
 version=3.0.18
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--disable-gme --disable-libtar --enable-jack
  --enable-live555 --disable-fluidsynth --enable-dvdread

From 50f262020f16b39303a5119da7161fc692d011c0 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 12/34] mixxx: rebuild against protobuf-23.3_1

---
 srcpkgs/mixxx/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mixxx/template b/srcpkgs/mixxx/template
index 619ddca0d332..4b9ea00d3fb3 100644
--- a/srcpkgs/mixxx/template
+++ b/srcpkgs/mixxx/template
@@ -1,7 +1,7 @@
 # Template file for 'mixxx'
 pkgname=mixxx
 version=2.3.3
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="extra-cmake-modules pkg-config protobuf qt5-host-tools qt5-devel"

From 940a372017f5638e8e11f6a463fc3110e20dc28d Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 13/34] telegram-desktop: rebuild against protobuf-23.3_1

---
 srcpkgs/telegram-desktop/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/telegram-desktop/template b/srcpkgs/telegram-desktop/template
index f114b2341dc5..9db9f80c1a53 100644
--- a/srcpkgs/telegram-desktop/template
+++ b/srcpkgs/telegram-desktop/template
@@ -1,7 +1,7 @@
 # Template file for 'telegram-desktop'
 pkgname=telegram-desktop
 version=4.8.1
-revision=3
+revision=4
 build_style=cmake
 build_helper="qemu"
 configure_args="-DTDESKTOP_API_ID=209235

From 875f042c912b15c5f22bbee56c68a3082024b7cc Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:56 +0200
Subject: [PATCH 14/34] usbguard: rebuild against protobuf-23.3_1

---
 srcpkgs/usbguard/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/usbguard/template b/srcpkgs/usbguard/template
index 8625c80a7eda..df4411202568 100644
--- a/srcpkgs/usbguard/template
+++ b/srcpkgs/usbguard/template
@@ -1,7 +1,7 @@
 # Template file for 'usbguard'
 pkgname=usbguard
 version=1.1.2
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-crypto-library=sodium --with-bundled-catch --with-bundled-pegtl"
 conf_files="/etc/usbguard/*"

From be72ae548840a85ce8466b61118c5c6df711be4a Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 15/34] nsjail: rebuild against protobuf-23.3_1

---
 srcpkgs/nsjail/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/nsjail/template b/srcpkgs/nsjail/template
index 346348fdf17b..7573d68779b6 100644
--- a/srcpkgs/nsjail/template
+++ b/srcpkgs/nsjail/template
@@ -1,7 +1,7 @@
 # Template file for 'nsjail'
 pkgname=nsjail
 version=3.0
-revision=9
+revision=10
 create_wrksrc=yes
 build_style=gnu-makefile
 hostmakedepends="bison flex pkg-config protobuf which"

From 9f7adac916dbc17f8dbc2461749e679ef5e860fc Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 16/34] netdata: rebuild against protobuf-23.3_1

---
 srcpkgs/netdata/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 18dbe4394a4e..781120b3f275 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -1,7 +1,7 @@
 # Template file for 'netdata'
 pkgname=netdata
 version=1.37.1
-revision=1
+revision=2
 build_style=gnu-configure
 build_helper=qemu
 configure_args="--with-user=_netdata ac_cv_file_externaldeps_libbpf_libbpf_a=no

From 11a19e141aabdd4592376a7e13cfd957b54b5350 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 17/34] mumble: rebuild against protobuf-23.3_1

---
 srcpkgs/mumble/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 35c2728c74ce..5c30d4ae64b4 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.4.287
-revision=3
+revision=4
 build_style=cmake
 make_cmd=make
 configure_args="-Doverlay-xcompile=OFF -Dbundled-opus=OFF

From e8e4ccac4377c86108034341201a8d21ddc3ce5c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 18/34] mumble: rebuild against protobuf-23.3_1

---
 srcpkgs/mumble/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 5c30d4ae64b4..3dc669705365 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.4.287
-revision=4
+revision=5
 build_style=cmake
 make_cmd=make
 configure_args="-Doverlay-xcompile=OFF -Dbundled-opus=OFF

From 94a4cc99f0128dc3de30075643ea34d52e674f92 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 19/34] mozc: statically link against vendored prootbuf

protobuf 23+ links against abseil, which conflicts with the vendored
abseil version in mozc. The build system does not have a flag to use
system abseil.
---
 srcpkgs/mozc/template | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/mozc/template b/srcpkgs/mozc/template
index 3fdb986b3213..e7735cb57f4f 100644
--- a/srcpkgs/mozc/template
+++ b/srcpkgs/mozc/template
@@ -3,16 +3,17 @@ pkgname=mozc
 # src/data/version/mozc_version_template.bzl
 # revision is always 102, template always says 100 ;)
 version=2.28.4800.102
-revision=1
+revision=2
 _commit=056163a5fddbb261b258beb8444998e4882f0cc5
 _abseil=20211102.0
+_protobuf_commit=cc7b1b53234cd7a8f50d90ac3933b240dcf4cd97
 _gyp=0.1+20220404git9ecf45e
 _jpn_dict=e5b3425575734c323e1d947009dd74709437b684
 create_wrksrc=yes
 build_wrksrc=mozc/src
-hostmakedepends="gettext ninja pkg-config protobuf protobuf-devel
+hostmakedepends="gettext ninja pkg-config
  python3-six which qt5-qmake qt5-host-tools"
-makedepends="gtk+-devel ibus-devel libzinnia-devel protobuf-devel qt5-devel
+makedepends="gtk+-devel ibus-devel libzinnia-devel qt5-devel
  fcitx-devel libfcitx5-devel"
 depends="tegaki-zinnia-japanese>=0.3 mozc-base-${version}_${revision}"
 short_desc="Japanese IME (Open Source version of Google Japanese Input)"
@@ -22,11 +23,13 @@ homepage="https://github.com/google/mozc"
 distfiles="
  https://github.com/fcitx/mozc/archive/$_commit.tar.gz
  https://github.com/abseil/abseil-cpp/archive/refs/tags/$_abseil.tar.gz
+ https://github.com/protocolbuffers/protobuf/archive/$_protobuf_commit.tar.gz
  ${DEBIAN_SITE}/main/g/gyp/gyp_$_gyp.orig.tar.xz
  https://github.com/hiroyuki-komatsu/japanese-usage-dictionary/archive/$_jpn_dict.tar.gz
 "
 checksum="259d87bfd7535ad03bd554185677d7345a90166353a6db0b6a3606183ad2923d
  dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4
+ 863e27f6d24f40bce2bbfe5adcf365f2af5479ea917f254331ee60ce88f8c8a5
  0325006f012db66dfa27bf7bb048f3fe38f96e512ebe065930cbc70bcdc06bc9
  0b6efee0eebac2c1a8eeea333278aa40fcef7846bba9a379962c6e567e7e3dc1"
 
@@ -47,7 +50,8 @@ post_extract() {
 	# symlink "submodules" into place
 	for _src_dest in gyp \
 		abseil-cpp \
-		japanese-usage-dictionary:japanese_usage_dictionary
+		japanese-usage-dictionary:japanese_usage_dictionary \
+		protobuf
 	do
 		_src=${_src_dest%:*}
 		_dst=${_src_dest#*:}
@@ -61,7 +65,6 @@ do_configure() {
 	GYP_DEFINES="
 	 document_dir=/usr/share/licenses/${pkgname}
 	 ibus_mozc_path=/usr/libexec/ibus-engine-mozc
-	 use_libprotobuf=1
 	 use_libzinnia=1
 	 ${XBPS_TARGET_NO_ATOMIC8:+use_libatomic=1}
 	" python3 build_mozc.py gyp --target_platform=Linux

From 3f7a9d1a79e427414e90fa361450b4f907f6a402 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 20/34] mosh: rebuild against protobuf-23.3_1

---
 srcpkgs/mosh/patches/cpp17.patch | 14 ++++++++++++++
 srcpkgs/mosh/template            |  5 +++--
 2 files changed, 17 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/mosh/patches/cpp17.patch

diff --git a/srcpkgs/mosh/patches/cpp17.patch b/srcpkgs/mosh/patches/cpp17.patch
new file mode 100644
index 000000000000..2fedeb15d79b
--- /dev/null
+++ b/srcpkgs/mosh/patches/cpp17.patch
@@ -0,0 +1,14 @@
+--- configure.ac	2022-10-27 05:29:47.000000000 +0200
++++ -	2023-07-08 13:19:05.270079012 +0200
+@@ -22,9 +22,9 @@
+ # automake 1.12 seems to require this, but automake 1.11 doesn't recognize it
+ m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+ 
+-# Protobuf 3.6+ requires C++11.
++# Protobuf 3.6+ requires C++11., 4.2.2 with abseil requires C++17
+ AS_IF([pkg-config --atleast-version 3.6.0 protobuf],
+-  [AX_CXX_COMPILE_STDCXX([11])])
++  [AX_CXX_COMPILE_STDCXX([17])])
+ 
+ WARNING_CXXFLAGS=""
+ PICKY_CXXFLAGS=""
diff --git a/srcpkgs/mosh/template b/srcpkgs/mosh/template
index 173ba14bcd47..d252a0c29755 100644
--- a/srcpkgs/mosh/template
+++ b/srcpkgs/mosh/template
@@ -1,9 +1,9 @@
 # Template file for 'mosh'
 pkgname=mosh
 version=1.4.0
-revision=3
+revision=4
 build_style=gnu-configure
-hostmakedepends="perl pkg-config protobuf"
+hostmakedepends="perl pkg-config protobuf autoconf automake"
 makedepends="ncurses-devel protobuf-devel libutempter-devel openssl-devel"
 depends="perl-IO-Tty"
 short_desc="Mobile shell, remote terminal application that allows roaming"
@@ -16,4 +16,5 @@ checksum=872e4b134e5df29c8933dff12350785054d2fd2839b5ae6b5587b14db1465ddd
 pre_configure() {
 	# make local.test always succeed. It fails due to missing X server in chroot.
 	printf "%s\n" "#!/bin/sh" ":" > src/tests/local.test
+	autoreconf -fi
 }

From b37b477d4b58a507928eb2b450865bc93c89e8c9 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 21/34] libcompizconfig: rebuild against protobuf-23.3_1

---
 srcpkgs/libcompizconfig/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libcompizconfig/template b/srcpkgs/libcompizconfig/template
index 5b59eda97c78..3fb33698bfa6 100644
--- a/srcpkgs/libcompizconfig/template
+++ b/srcpkgs/libcompizconfig/template
@@ -1,7 +1,7 @@
 # Template file for 'libcompizconfig'
 pkgname=libcompizconfig
 version=0.8.18
-revision=10
+revision=11
 build_style=gnu-configure
 configure_args="--disable-static"
 hostmakedepends="automake intltool libtool pkg-config protobuf"

From 035e30ad88fd69f4a130e5328fbc03eb0a014563 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 22/34] libArcus: rebuild against protobuf-23.3_1

---
 srcpkgs/libArcus/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libArcus/template b/srcpkgs/libArcus/template
index d6fedecc5599..1cf1b866d650 100644
--- a/srcpkgs/libArcus/template
+++ b/srcpkgs/libArcus/template
@@ -1,7 +1,7 @@
 # Template file for 'libArcus'
 pkgname=libArcus
 version=4.13.1
-revision=4
+revision=5
 build_style=cmake
 configure_args="-DBUILD_EXAMPLES=OFF"
 hostmakedepends="protobuf python3-sip-devel"

From 57ef2669a94ab8001e9e580370a68316e26c147d Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 23/34] kismet: rebuild against protobuf-23.3_1

---
 srcpkgs/kismet/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/kismet/template b/srcpkgs/kismet/template
index 48a0fc5fa6f1..46cbf7b31811 100644
--- a/srcpkgs/kismet/template
+++ b/srcpkgs/kismet/template
@@ -1,7 +1,7 @@
 # Template file for 'kismet'
 pkgname=kismet
 version=2022.08.R1
-revision=2
+revision=3
 _realver="${version//./-}"
 build_style=gnu-configure
 configure_args="--disable-python-tools"

From 7cf3220bdd370e8838330e55f0d3584dc9452e57 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 24/34] cura-engine: rebuild against protobuf-23.3_1

---
 srcpkgs/cura-engine/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cura-engine/template b/srcpkgs/cura-engine/template
index 4f3118d30252..1f23ddace749 100644
--- a/srcpkgs/cura-engine/template
+++ b/srcpkgs/cura-engine/template
@@ -1,7 +1,7 @@
 # Template file for 'cura-engine'
 pkgname=cura-engine
 version=4.13.1
-revision=3
+revision=4
 build_style=cmake
 configure_args="-DCURA_ENGINE_VERSION=${version}"
 hostmakedepends="protobuf git"

From 3b9c975418edc0def3c36ef5c64752964c23f842 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 25/34] clementine: rebuild against protobuf-23.3_1

---
 srcpkgs/clementine/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/clementine/template b/srcpkgs/clementine/template
index acd098124529..a1cacbb73d8e 100644
--- a/srcpkgs/clementine/template
+++ b/srcpkgs/clementine/template
@@ -1,11 +1,11 @@
 # Template file for 'clementine'
 pkgname=clementine
 version=1.4.0rc1
-revision=10
+revision=11
 _fullver=${version}-873-g3471134d5
 build_style=cmake
 configure_args="-DUSE_SYSTEM_TAGLIB=ON -DBUILD_WERROR=OFF -DUSE_SYSTEM_PROJECTM=ON
- -DFORCE_GIT_REVISION=${_fullver}"
+ -DFORCE_GIT_REVISION=${_fullver} -DCMAKE_CXX_STANDARD=17"
 hostmakedepends="gettext sparsehash pkg-config qt5-qmake qt5-host-tools protobuf"
 makedepends="chromaprint-devel boost-devel gst-plugins-base1-devel
  qt5-devel glew-devel sqlite-devel protobuf-devel libplist-devel

From 11dd1b38d4b0c7806a9e24ec0f4c327055c89921 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 26/34] bloaty: rebuild against protobuf-23.3_1

---
 srcpkgs/bloaty/patches/cpp17.patch         | 20 ++++++++
 srcpkgs/bloaty/patches/system-abseil.patch | 58 ++++++++++++++++++++++
 srcpkgs/bloaty/template                    |  2 +-
 3 files changed, 79 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/bloaty/patches/cpp17.patch
 create mode 100644 srcpkgs/bloaty/patches/system-abseil.patch

diff --git a/srcpkgs/bloaty/patches/cpp17.patch b/srcpkgs/bloaty/patches/cpp17.patch
new file mode 100644
index 000000000000..ca458dd79fb6
--- /dev/null
+++ b/srcpkgs/bloaty/patches/cpp17.patch
@@ -0,0 +1,20 @@
+--- bloaty-1.1/CMakeLists.txt	2020-05-24 06:43:55.000000000 +0200
++++ -	2023-07-08 12:51:24.115742363 +0200
+@@ -2,7 +2,7 @@
+ cmake_policy(SET CMP0048 NEW)
+ project (Bloaty VERSION 1.0)
+ project (Bloaty VERSION 1.1)
+-set(CMAKE_CXX_STANDARD 11)
++set(CMAKE_CXX_STANDARD 17)
+ 
+ # Options we define for users.
+ option(BLOATY_ENABLE_ASAN "Enable address sanitizer." OFF)
+@@ -93,7 +93,7 @@
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/src")
+ 
+ # Baseline build flags.
+-set(CMAKE_CXX_FLAGS "-std=c++11 -W -Wall -Wno-sign-compare")
++set(CMAKE_CXX_FLAGS "-W -Wall -Wno-sign-compare")
+ set(CMAKE_CXX_FLAGS_DEBUG "-g1")
+ set(CMAKE_CXX_FLAGS_RELEASE "-O2")
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g1")
diff --git a/srcpkgs/bloaty/patches/system-abseil.patch b/srcpkgs/bloaty/patches/system-abseil.patch
new file mode 100644
index 000000000000..799e10a3b540
--- /dev/null
+++ b/srcpkgs/bloaty/patches/system-abseil.patch
@@ -0,0 +1,58 @@
+--- bloaty-1.1/CMakeLists.txt	2020-05-24 06:43:55.000000000 +0200
++++ -	2023-07-08 13:07:06.559266321 +0200
+@@ -35,6 +35,12 @@
+   MESSAGE(STATUS "pkg-config not found, using bundled dependencies")
+ endif(${PKG_CONFIG_FOUND})
+ endif(UNIX)
++find_package(absl CONFIG)
++if(absl_FOUND)
++  MESSAGE(STATUS "System absl found, using")
++else()
++  MESSAGE(STATUS "System absl not found, using bundled version")
++endif()
+ 
+ # Set default build type.
+ if(NOT CMAKE_BUILD_TYPE)
+@@ -89,7 +95,6 @@
+ 
+ include_directories(.)
+ include_directories(src)
+-include_directories(third_party/abseil-cpp)
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/src")
+ 
+ # Baseline build flags.
+@@ -159,24 +164,6 @@
+     src/macho.cc
+     src/range_map.cc
+     src/webassembly.cc
+-    # Until Abseil has a proper CMake build system
+-    third_party/abseil-cpp/absl/base/internal/raw_logging.cc # Grrrr...
+-    third_party/abseil-cpp/absl/base/internal/throw_delegate.cc
+-    third_party/abseil-cpp/absl/numeric/int128.cc
+-    third_party/abseil-cpp/absl/strings/ascii.cc
+-    third_party/abseil-cpp/absl/strings/charconv.cc
+-    third_party/abseil-cpp/absl/strings/escaping.cc
+-    third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc
+-    third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc
+-    third_party/abseil-cpp/absl/strings/internal/memutil.cc
+-    third_party/abseil-cpp/absl/strings/internal/utf8.cc
+-    third_party/abseil-cpp/absl/strings/match.cc
+-    third_party/abseil-cpp/absl/strings/numbers.cc
+-    third_party/abseil-cpp/absl/strings/str_cat.cc
+-    third_party/abseil-cpp/absl/strings/string_view.cc
+-    third_party/abseil-cpp/absl/strings/str_split.cc
+-    third_party/abseil-cpp/absl/strings/substitute.cc
+-    third_party/abseil-cpp/absl/types/bad_optional_access.cc
+     # One source file, no special build system needed.
+     third_party/demumble/third_party/libcxxabi/cxa_demangle.cpp
+     )
+@@ -214,6 +201,9 @@
+   endif(${PROTOBUF_FOUND})
+ endif(UNIX)
+ 
++list(APPEND LIBBLOATY_LIBS absl::strings)
++list(APPEND LIBBLOATY_LIBS absl::optional)
++
+ if(DEFINED ENV{LIB_FUZZING_ENGINE})
+   message("LIB_FUZZING_ENGINE set, building fuzz_target instead of Bloaty")
+   add_executable(fuzz_target tests/fuzz_target.cc)
diff --git a/srcpkgs/bloaty/template b/srcpkgs/bloaty/template
index 226d2f30ffcd..2a79fb502f99 100644
--- a/srcpkgs/bloaty/template
+++ b/srcpkgs/bloaty/template
@@ -1,7 +1,7 @@
 # Template file for 'bloaty'
 pkgname=bloaty
 version=1.1
-revision=11
+revision=12
 build_style=cmake
 hostmakedepends="pkg-config protobuf"
 makedepends="capstone-devel protobuf-devel re2-devel zlib-devel"

From 853a5b7a9058ecdaec996233b4faada7da397a2c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 27/34] astroid: rebuild against protobuf-23.3_1

---
 srcpkgs/astroid/patches/cpp17.patch       | 11 +++++++++++
 srcpkgs/astroid/patches/protobuf-23.patch | 14 ++++++++++++++
 srcpkgs/astroid/template                  |  2 +-
 3 files changed, 26 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/astroid/patches/cpp17.patch
 create mode 100644 srcpkgs/astroid/patches/protobuf-23.patch

diff --git a/srcpkgs/astroid/patches/cpp17.patch b/srcpkgs/astroid/patches/cpp17.patch
new file mode 100644
index 000000000000..9ac9a9f952e6
--- /dev/null
+++ b/srcpkgs/astroid/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- astroid-0.16/CMakeLists.txt	2021-08-05 15:31:11.000000000 +0200
++++ -	2023-07-03 21:53:30.304595787 +0200
+@@ -145,7 +145,7 @@
+ # compile flags and options
+ #
+ 
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ 
+ include_directories (
+   ${GTKMM3_INCLUDE_DIRS}
diff --git a/srcpkgs/astroid/patches/protobuf-23.patch b/srcpkgs/astroid/patches/protobuf-23.patch
new file mode 100644
index 000000000000..00a8e7442fdb
--- /dev/null
+++ b/srcpkgs/astroid/patches/protobuf-23.patch
@@ -0,0 +1,14 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6eb00cf..10296e8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -117,7 +117,9 @@ find_package ( Boost REQUIRED
+   system
+   )
+ 
++find_package (Protobuf CONFIG REQUIRED)
+ find_package (Protobuf 3.0 REQUIRED)
++set (PROTOBUF_LIBRARIES protobuf::libprotobuf)
+ set (PROTO_FILES
+   src/modes/thread_view/webextension/messages.proto
+   )
diff --git a/srcpkgs/astroid/template b/srcpkgs/astroid/template
index 25d3da44e024..8fd1c032be2c 100644
--- a/srcpkgs/astroid/template
+++ b/srcpkgs/astroid/template
@@ -1,7 +1,7 @@
 # Template file for 'astroid'
 pkgname=astroid
 version=0.16
-revision=8
+revision=9
 build_style=cmake
 build_helper=gir
 hostmakedepends="pkg-config scdoc protobuf gobject-introspection"

From 4cedeb8cff9d4a6e45be1702217e11c6fb6a2740 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 28/34] android-tools: rebuild against protobuf-23.3_1

---
 .../android-tools/patches/protobuf-23.patch   | 31 +++++++++++++++++++
 srcpkgs/android-tools/template                |  2 +-
 2 files changed, 32 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/android-tools/patches/protobuf-23.patch

diff --git a/srcpkgs/android-tools/patches/protobuf-23.patch b/srcpkgs/android-tools/patches/protobuf-23.patch
new file mode 100644
index 000000000000..517fcf5f1cde
--- /dev/null
+++ b/srcpkgs/android-tools/patches/protobuf-23.patch
@@ -0,0 +1,31 @@
+--- android-tools-34.0.1.orig/vendor/CMakeLists.txt     2023-06-28 23:15:15.544237905 +0200
++++ android-tools-34.0.1/vendor/CMakeLists.txt  2023-06-28 23:45:28.672277935 +0200
+@@ -73,6 +73,8 @@
+ pkg_check_modules(libzstd REQUIRED IMPORTED_TARGET libzstd)
+ 
++find_package(Protobuf CONFIG REQUIRED)
+ find_package(Protobuf REQUIRED)
++set(PROTOBUF_LIBRARIES protobuf::libprotobuf)
+ set(THREADS_PREFER_PTHREAD_FLAG ON)
+ find_package(Threads REQUIRED)
+ 
+--- android-tools-34.0.1.orig/vendor/extras/libjsonpb/parse/jsonpb.cpp  2023-06-28 23:15:15.414236253 +0200
++++ android-tools-34.0.1/vendor/extras/libjsonpb/parse/jsonpb.cpp       2023-06-28 23:34:21.672962973 +0200
+@@ -51,7 +51,7 @@
+ #if GOOGLE_PROTOBUF_VERSION < 3016000
+     return MakeError<std::string>(status.error_message().as_string());
+ #else
+-    return MakeError<std::string>(status.message().as_string());
++    return MakeError<std::string>(std::string(status.message()));
+ #endif
+   }
+   return ErrorOr<std::string>(std::move(json));
+@@ -68,7 +68,7 @@
+ #if GOOGLE_PROTOBUF_VERSION < 3016000
+     return MakeError<std::monostate>(status.error_message().as_string());
+ #else
+-    return MakeError<std::monostate>(status.message().as_string());
++    return MakeError<std::monostate>(std::string(status.message()));
+ #endif
+   }
+   if (!message->ParseFromString(binary)) {
diff --git a/srcpkgs/android-tools/template b/srcpkgs/android-tools/template
index 329674482b69..b813474eace0 100644
--- a/srcpkgs/android-tools/template
+++ b/srcpkgs/android-tools/template
@@ -1,7 +1,7 @@
 # Template file for 'android-tools'
 pkgname=android-tools
 version=34.0.1
-revision=1
+revision=2
 archs="armv* aarch64* x86_64* i686* ppc64le*"
 build_style=cmake
 hostmakedepends="perl go protobuf pkg-config"

From 8d50a6ce19d2314746ec0f4b23138f56cc3b4be7 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:06:25 +0200
Subject: [PATCH 29/34] justbuild: rebuild against grpc-1.56.0_1

---
 srcpkgs/justbuild/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index ee36f6dae575..f933611d1283 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
 # Template file for 'justbuild'
 pkgname=justbuild
 version=1.1.2
-revision=2
+revision=3
 create_wrksrc=yes
 hostmakedepends="jo pandoc pkg-config python3 tar unzip wget"
 makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++

From f0ce534532314fcaa841f499bf29ac221acf65e1 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Wed, 28 Jun 2023 11:07:13 +0200
Subject: [PATCH 30/34] sysdig: update to 0.31.5.

---
 srcpkgs/sysdig/files/libsinsp-zstd.patch      |  22 +
 ...d9aab87801281e22898242e24e0bc63873b2.patch | 557 ++++++++++++++++++
 .../falcosecurity-libs-nodownload.patch       |  28 +
 srcpkgs/sysdig/template                       |  32 +-
 4 files changed, 625 insertions(+), 14 deletions(-)
 create mode 100644 srcpkgs/sysdig/files/libsinsp-zstd.patch
 create mode 100644 srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
 create mode 100644 srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch

diff --git a/srcpkgs/sysdig/files/libsinsp-zstd.patch b/srcpkgs/sysdig/files/libsinsp-zstd.patch
new file mode 100644
index 000000000000..e99e4f7c1207
--- /dev/null
+++ b/srcpkgs/sysdig/files/libsinsp-zstd.patch
@@ -0,0 +1,22 @@
+diff --git a/userspace/libsinsp/CMakeLists.txt b/userspace/libsinsp/CMakeLists.txt
+index 18e59b1..b23e890 100644
+--- a/userspace/libsinsp/CMakeLists.txt
++++ b/userspace/libsinsp/CMakeLists.txt
+@@ -38,6 +38,7 @@ include(ExternalProject)
+ 
+ if(NOT WIN32 AND NOT APPLE)
+ 	include(b64)
++	find_library(ZSTD_LIB NAMES zstd)
+ endif()
+ 
+ include(jsoncpp)
+@@ -246,7 +247,8 @@ if(NOT WIN32)
+ 				"${PROTOBUF_LIB}"
+ 				"${CARES_LIB}"
+ 				"${JQ_LIB}"
+-				"${B64_LIB}")
++				"${B64_LIB}"
++				"${ZSTD_LIB}")
+ 
+ 			if(NOT MUSL_OPTIMIZED_BUILD)
+ 				list(APPEND SINSP_LIBRARIES
diff --git a/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch b/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
new file mode 100644
index 000000000000..54c2ed8d0d98
--- /dev/null
+++ b/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
@@ -0,0 +1,557 @@
+From 3d22309a7317d500f75d053af6f9e5b5b5728b40 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 09:56:04 +0000
+Subject: [PATCH 1/6] update(cmake): bump driver to 5.0.0+driver
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ cmake/modules/driver.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/driver.cmake b/cmake/modules/driver.cmake
+index bee1926d3a..7fd35d7f99 100644
+--- a/cmake/modules/driver.cmake
++++ b/cmake/modules/driver.cmake
+@@ -31,8 +31,8 @@ else()
+   # In case you want to test against another driver version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DDRIVER_VERSION=dev ..`
+   if(NOT DRIVER_VERSION)
+-    set(DRIVER_VERSION "4.0.1+driver")
+-    set(DRIVER_CHECKSUM "SHA256=424d647aa6b6fa45b6701c4bbc9293c161ed00a08254d83eea419c0a736f280d")
++    set(DRIVER_VERSION "5.0.0+driver")
++    set(DRIVER_CHECKSUM "SHA256=c988ca7ac7d174f62d1bfbaaca49efd117f7b329f474d1b46b643635b2e35083")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+
+From 847e602404dcee85f06dde5a1d8ad0c740c49c98 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 09:56:08 +0000
+Subject: [PATCH 2/6] update(cmake): bump libs to 0.11.0-rc1
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ cmake/modules/falcosecurity-libs.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index b345c057ad..f30233b9e3 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -32,8 +32,8 @@ else()
+   # In case you want to test against another falcosecurity/libs version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DFALCOSECURITY_LIBS_VERSION=dev ..`
+   if(NOT FALCOSECURITY_LIBS_VERSION)
+-    set(FALCOSECURITY_LIBS_VERSION "0.10.5")
+-    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=2a4b37c08bec4ba81326314831f341385aff267062e8d4483437958689662936")
++    set(FALCOSECURITY_LIBS_VERSION "0.11.0-rc1")
++    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=bb6e57f66ae85dcda6e695226cd14082d9a1215902909cdde5b83f7abef44d8f")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+
+From 1d1dbaf06265d8eefd4038e8474f71f7958ec840 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 10:43:27 +0000
+Subject: [PATCH 3/6] fix(cmake): solve c++17 compilation issues
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ CMakeLists.txt                         |  3 +++
+ cmake/modules/falcosecurity-libs.cmake | 10 +++++-----
+ 2 files changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0309d66633..6d28c6c67d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -146,6 +146,9 @@ if(NOT DEFINED SYSDIG_COMPONENT_NAME)
+     set(SYSDIG_COMPONENT_NAME "${CMAKE_PROJECT_NAME}")
+ endif()
+ 
++set(CMAKE_CXX_STANDARD 17)
++set(CMAKE_CXX_EXTENSIONS OFF)
++
+ include(falcosecurity-libs)
+ include(yaml-cpp)
+ include(nlohmann-json)
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index f30233b9e3..fe5dacd7ad 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -94,12 +94,12 @@ else()
+ endif()
+ 
+ include(CheckCXXCompilerFlag)
+-CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX14)
+-if(CREATE_TEST_TARGETS AND NOT WIN32 AND COMPILER_SUPPORTS_CXX14)
+-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
++CHECK_CXX_COMPILER_FLAG("-std=c++17" COMPILER_SUPPORTS_CXX17)
++if(CREATE_TEST_TARGETS AND NOT WIN32 AND COMPILER_SUPPORTS_CXX17)
++	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ 	include(gtest)
+-elseif(CREATE_TEST_TARGETS AND NOT COMPILER_SUPPORTS_CXX14)
+-	message(FATAL_ERROR "Your compiler doesn't support c++14: cannot include gtest and create test targets.")
++elseif(CREATE_TEST_TARGETS AND NOT COMPILER_SUPPORTS_CXX17)
++	message(FATAL_ERROR "Your compiler doesn't support c++17: cannot include gtest and create test targets.")
+ endif()
+ 
+ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
+
+From d5fcbad2d5ea63e1439ab7174a5cfd9a7a2e1545 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 10:44:05 +0000
+Subject: [PATCH 4/6] update(userspace): sync sysdig and csysdig with latest
+ libs
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ userspace/sysdig/csysdig.cpp                |  6 +--
+ userspace/sysdig/sysdig.cpp                 |  9 +---
+ userspace/sysdig/utils/plugin_utils.cpp     | 37 ++++++++++-----
+ userspace/sysdig/utils/sinsp_opener.cpp     | 18 ++++----
+ userspace/sysdig/utils/supported_events.cpp | 50 +++++++++++----------
+ userspace/sysdig/utils/supported_fields.cpp | 15 +++----
+ 6 files changed, 70 insertions(+), 65 deletions(-)
+
+diff --git a/userspace/sysdig/csysdig.cpp b/userspace/sysdig/csysdig.cpp
+index 9419882341..edd8129a0e 100644
+--- a/userspace/sysdig/csysdig.cpp
++++ b/userspace/sysdig/csysdig.cpp
+@@ -39,11 +39,11 @@ limitations under the License.
+ #include "chisel.h"
+ #include "chisel_utils.h"
+ #endif
+-#include "fields_info.h"
+ #include "chisel_table.h"
+ #include "utils.h"
+ #include "utils/plugin_utils.h"
+ #include "utils/sinsp_opener.h"
++#include "utils/supported_fields.h"
+ 
+ #ifdef _WIN32
+ #include "win32/getopt.h"
+@@ -704,8 +704,8 @@ sysdig_init_res csysdig_init(int argc, char **argv)
+ 		//
+ 		if(list_flds)
+ 		{
+-			list_fields(false, false);
+-
++			// todo(jasondellaluce): support source selection, verbosity, markdown
++			print_supported_fields(inspector, plugins, "", true, false);
+ 			res.m_res = EXIT_SUCCESS;
+ 			goto exit;
+ 		}
+diff --git a/userspace/sysdig/sysdig.cpp b/userspace/sysdig/sysdig.cpp
+index 40f2b39ef9..a978070d73 100644
+--- a/userspace/sysdig/sysdig.cpp
++++ b/userspace/sysdig/sysdig.cpp
+@@ -43,7 +43,6 @@ limitations under the License.
+ #include "chisel_utils.h"
+ #include "chisel_fields_info.h"
+ #endif
+-#include "fields_info.h"
+ #include "utils.h"
+ #include "plugin.h"
+ #include "plugin_manager.h"
+@@ -455,8 +454,6 @@ void print_summary_table(sinsp* inspector,
+ 						 std::vector<summary_table_entry> &summary_table,
+ 						 uint32_t nentries)
+ {
+-	sinsp_evttables* einfo = inspector->get_event_info_tables();
+-
+ 	std::cout << "----------------------\n";
+ 	std::string tstr = std::string("Event");
+ 	tstr.resize(16, ' ');
+@@ -478,7 +475,7 @@ void print_summary_table(sinsp* inspector,
+ 
+ 		if(e.m_is_unsupported_syscall)
+ 		{
+-			tstr = einfo->m_syscall_info_table[e.m_id / 2].name;
++			tstr = scap_get_ppm_sc_name((ppm_sc_code) (e.m_id / 2));
+ 			tstr.resize(16, ' ');
+ 
+ 			printf("%s%s%" PRIu64 "\n",
+@@ -488,7 +485,7 @@ void print_summary_table(sinsp* inspector,
+ 		}
+ 		else
+ 		{
+-			tstr = einfo->m_event_info[e.m_id].name;
++			tstr = libsinsp::events::info((ppm_event_code) e.m_id)->name;
+ 			tstr.resize(16, ' ');
+ 
+ 			printf("%s%s%" PRIu64 "\n",
+@@ -1862,8 +1859,6 @@ sysdig_init_res sysdig_init(int argc, char **argv)
+ 					res.m_res = EXIT_FAILURE;
+ 					goto exit;
+ 				}
+-
+-				inspector->filter_proc_table_when_saving(true);
+ 			}
+ 			else
+ 			{
+diff --git a/userspace/sysdig/utils/plugin_utils.cpp b/userspace/sysdig/utils/plugin_utils.cpp
+index ad69543b3e..b99de98b66 100644
+--- a/userspace/sysdig/utils/plugin_utils.cpp
++++ b/userspace/sysdig/utils/plugin_utils.cpp
+@@ -146,6 +146,7 @@ void plugin_utils::plugin_entry::init(sinsp *inspector)
+     }
+     if (plugin->caps() & CAP_EXTRACTION)
+     {
++        // todo(jasondellaluce): manage field name conflicts
+         g_filterlist.add_filter_check(sinsp_plugin::new_filtercheck(plugin));
+     }
+     inited = true;
+@@ -185,13 +186,30 @@ void plugin_utils::plugin_entry::print_info(sinsp* inspector, std::ostringstream
+     os << "Capabilities: " << std::endl;
+     if(plugin->caps() & CAP_SOURCING)
+     {
+-        os << "  - Event Sourcing (ID=" << plugin->id();
+-        os << ", source='" << plugin->event_source() << "')" << std::endl;
++        os << "  - Event Sourcing";
++        if (plugin->id() != 0)
++        {
++            os << " (ID=" << plugin->id();
++            os << ", source='" << plugin->event_source() << "')";
++        }
++        else
++        {
++            os << " (system events)";
++        }
++        os << std::endl;
+     }
+     if(plugin->caps() & CAP_EXTRACTION)
+     {
+         os << "  - Field Extraction" << std::endl;
+     }
++    if(plugin->caps() & CAP_PARSING)
++    {
++        os << "  - Event Parsing" << std::endl;
++    }
++    if(plugin->caps() & CAP_ASYNC)
++    {
++        os << "  - Async Events" << std::endl;
++    }
+ }
+ 
+ void plugin_utils::add_dir(std::string dirname, bool front_add)
+@@ -609,7 +627,7 @@ std::vector<std::string> plugin_utils::get_event_sources(sinsp *inspector)
+         // the plugin, in case it was not registered already
+         pl.get_plugin(inspector);
+     }
+-    return inspector->get_plugin_manager()->sources();
++    return inspector->event_sources();
+ }
+ 
+ std::vector<std::unique_ptr<sinsp_filter_check>> plugin_utils::get_filterchecks(sinsp *inspector, const std::string& source)
+@@ -617,16 +635,13 @@ std::vector<std::unique_ptr<sinsp_filter_check>> plugin_utils::get_filterchecks(
+     std::vector<std::unique_ptr<sinsp_filter_check>> list;
+     list.push_back(std::unique_ptr<sinsp_filter_check>(inspector->new_generic_filtercheck()));
+ 
+-    // todo(jasondellaluce): remove this once we support extracting plugin fields from syscalls
+-    if (source != s_syscall_source)
++    for (auto &pl : m_plugins)
+     {
+-        for (auto &pl : m_plugins)
++        auto plugin = pl.get_plugin(inspector);
++        if (plugin->caps() & CAP_EXTRACTION
++            && sinsp_plugin::is_source_compatible(plugin->extract_event_sources(), source))
+         {
+-            auto plugin = pl.get_plugin(inspector);
+-            if (plugin->caps() & CAP_EXTRACTION && plugin->is_source_compatible(source))
+-            {
+-                list.push_back(std::unique_ptr<sinsp_filter_check>(sinsp_plugin::new_filtercheck(plugin)));
+-            }
++            list.push_back(std::unique_ptr<sinsp_filter_check>(sinsp_plugin::new_filtercheck(plugin)));
+         }
+     }
+     return list;
+diff --git a/userspace/sysdig/utils/sinsp_opener.cpp b/userspace/sysdig/utils/sinsp_opener.cpp
+index eafdb631d3..7315b99c7d 100644
+--- a/userspace/sysdig/utils/sinsp_opener.cpp
++++ b/userspace/sysdig/utils/sinsp_opener.cpp
+@@ -50,14 +50,12 @@ void sinsp_opener::open(sinsp* inspector) const
+ 
+ #if defined(HAS_CAPTURE)
+     /* Populate syscalls of interest */
+-    std::unordered_set<uint32_t> sc_of_interest = inspector->get_all_ppm_sc();
++    auto sc_of_interest = libsinsp::events::all_sc_set();
+ 
+-    /* Populate tracepoints of interest */
+-    std::unordered_set<uint32_t> tp_of_interest = inspector->get_all_tp();
+     if(!options.page_faults)
+     {
+-        tp_of_interest.erase(PAGE_FAULT_USER);
+-        tp_of_interest.erase(PAGE_FAULT_KERN);
++        sc_of_interest.remove(ppm_sc_code::PPM_SC_PAGE_FAULT_USER);
++        sc_of_interest.remove(ppm_sc_code::PPM_SC_PAGE_FAULT_KERNEL);
+     }
+ 
+     if(udig.enabled)
+@@ -77,7 +75,7 @@ void sinsp_opener::open(sinsp* inspector) const
+ #ifdef HAS_MODERN_BPF
+ 		if(bpf.modern)
+ 		{
+-			inspector->open_modern_bpf(DEFAULT_DRIVER_BUFFER_BYTES_DIM, bpf.cpus_for_each_syscall_buffer, true, sc_of_interest, tp_of_interest);
++			inspector->open_modern_bpf(DEFAULT_DRIVER_BUFFER_BYTES_DIM, bpf.cpus_for_each_syscall_buffer, true, sc_of_interest);
+ 			return;
+ 		}
+ #endif
+@@ -95,7 +93,7 @@ void sinsp_opener::open(sinsp* inspector) const
+ 
+         try
+         {
+-            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+         }
+         catch(const sinsp_exception& e)
+         {
+@@ -103,7 +101,7 @@ void sinsp_opener::open(sinsp* inspector) const
+             {
+                 fprintf(stderr, "Unable to load the BPF probe\n");
+             }
+-            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+         }
+ 
+         // Enable gathering the CPU from the kernel module
+@@ -114,7 +112,7 @@ void sinsp_opener::open(sinsp* inspector) const
+     // default to kernel module if no other option is specified
+     try
+     {
+-        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+     }
+     catch(const sinsp_exception& e)
+     {
+@@ -124,7 +122,7 @@ void sinsp_opener::open(sinsp* inspector) const
+         {
+             fprintf(stderr, "Unable to load the driver\n");
+         }
+-        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+     }
+ 
+     // Enable gathering the CPU from the kernel module
+diff --git a/userspace/sysdig/utils/supported_events.cpp b/userspace/sysdig/utils/supported_events.cpp
+index 1442911209..7f0d630011 100644
+--- a/userspace/sysdig/utils/supported_events.cpp
++++ b/userspace/sysdig/utils/supported_events.cpp
+@@ -27,25 +27,25 @@ struct event_entry
+ {
+     bool is_enter;
+     std::string name;
+-    struct ppm_event_info info;
++    const ppm_event_info* info;
+ };
+ 
+-static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include_generics)
++static std::vector<event_entry> get_event_entries(bool include_generics)
+ {
+     event_entry entry;
+     std::vector<event_entry> events;
+-    const struct ppm_event_info* etable = inspector->get_event_info_tables()->m_event_info;
+ 
+     // skip generic events
+-    for(uint32_t evt = PPME_GENERIC_X + 1; evt < PPM_EVENT_MAX; evt++)
++    for(const auto& evt : libsinsp::events::all_event_set())
+     {
+-        if (!sinsp::is_old_version_event(evt)
+-                && !sinsp::is_unused_event(evt)
+-                && !sinsp::is_unknown_event(evt))
++        if (!libsinsp::events::is_generic(evt)
++            && !libsinsp::events::is_old_version_event(evt)
++            && !libsinsp::events::is_unused_event(evt)
++            && !libsinsp::events::is_unknown_event(evt))
+         {
+             entry.is_enter = PPME_IS_ENTER(evt);
+-            entry.name = etable[evt].name;
+-            entry.info = etable[evt];
++            entry.info = libsinsp::events::info(evt);
++			entry.name = entry.info->name;
+             events.push_back(entry);
+         }
+     }
+@@ -53,17 +53,19 @@ static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include
+     if (include_generics)
+     {
+         // append generic events
+-        const auto generic_syscalls = inspector->get_events_names({PPME_GENERIC_E});
+-        for (const auto& name : generic_syscalls)
+-        {
+-            for(uint32_t evt = PPME_GENERIC_E; evt <= PPME_GENERIC_X; evt++)
+-            {
+-                entry.is_enter = PPME_IS_ENTER(evt);
+-                entry.name = name;
+-                entry.info = etable[evt];
+-                events.push_back(entry);
+-            }
+-        }
++		const auto names = libsinsp::events::event_set_to_names({ppm_event_code::PPME_GENERIC_E});
++		for (const auto& name : names)
++		{
++			entry.is_enter = PPME_IS_ENTER(ppm_event_code::PPME_GENERIC_E);
++			entry.info = libsinsp::events::info(ppm_event_code::PPME_GENERIC_E);
++			entry.name = name;
++			events.push_back(entry);
++
++			entry.is_enter = PPME_IS_ENTER(ppm_event_code::PPME_GENERIC_X);
++			entry.info = libsinsp::events::info(ppm_event_code::PPME_GENERIC_X);
++			entry.name = name;
++			events.push_back(entry);
++		}
+     }
+ 
+     return events;
+@@ -71,7 +73,7 @@ static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include
+ 
+ void print_supported_events(sinsp* inspector, bool markdown)
+ {
+-    const auto events = get_event_entries(inspector, true);
++    const auto events = get_event_entries(true);
+ 
+     if(markdown)
+     {
+@@ -91,15 +93,15 @@ void print_supported_events(sinsp* inspector, bool markdown)
+             printf("%c %s(", dir, e.name.c_str());
+         }
+ 
+-        for(uint32_t k = 0; k < e.info.nparams; k++)
++        for(uint32_t k = 0; k < e.info->nparams; k++)
+         {
+             if(k != 0)
+             {
+                 printf(", ");
+             }
+ 
+-            printf("%s %s", param_type_to_string(e.info.params[k].type),
+-                e.info.params[k].name);
++            printf("%s %s", param_type_to_string(e.info->params[k].type),
++                e.info->params[k].name);
+         }
+         printf(")\n");
+     }
+diff --git a/userspace/sysdig/utils/supported_fields.cpp b/userspace/sysdig/utils/supported_fields.cpp
+index 6e2575b030..3127fb7220 100644
+--- a/userspace/sysdig/utils/supported_fields.cpp
++++ b/userspace/sysdig/utils/supported_fields.cpp
+@@ -35,11 +35,9 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+ {
+     std::vector<fields_info> field_infos;
+     std::vector<std::unique_ptr<const sinsp_filter_check>> filtecheck_lists; // only used to retain memory until we finish
+-    std::vector<std::string> sources = { s_syscall_source };
++    std::vector<std::string> sources = plugins.get_event_sources(inspector);
+ 
+     // add event sources defined by the loaded plugins
+-    const auto& plugin_sources = plugins.get_event_sources(inspector);
+-    sources.insert(sources.end(), plugin_sources.begin(), plugin_sources.end());
+     if (!source.empty())
+     {
+         bool found = false;
+@@ -66,7 +64,6 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+         }
+ 
+         std::vector<const filter_check_info*> filterchecks;
+-        // todo(jasondellaluce): change this once we support extracting plugin fields from syscalls
+         if (src == s_syscall_source)
+         {
+             std::vector<const filter_check_info*> all_checks;
+@@ -81,13 +78,11 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+                 }
+             }
+         }
+-        else
++
++        for (auto& check: plugins.get_filterchecks(inspector, src))
+         {
+-            for (auto& check: plugins.get_filterchecks(inspector, src))
+-            {
+-                filterchecks.push_back(check->get_fields());
+-                filtecheck_lists.push_back(std::move(check));
+-            }
++            filterchecks.push_back(check->get_fields());
++            filtecheck_lists.push_back(std::move(check));
+         }
+         
+         const auto classes = sinsp_filter_factory::check_infos_to_fieldclass_infos(filterchecks);
+
+From c8b0d055aec4d2378b7934dd9436fd4500d1021e Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 14:15:23 +0000
+Subject: [PATCH 5/6] fix: solve compilation issues on windows
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ CMakeLists.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6d28c6c67d..5afd967f27 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -148,6 +148,9 @@ endif()
+ 
+ set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_CXX_EXTENSIONS OFF)
++if(MSVC OR WIN32)
++	add_compile_definitions(_HAS_STD_BYTE=0)
++endif()
+ 
+ include(falcosecurity-libs)
+ include(yaml-cpp)
+
+From 954e6fc6238f21d4870a491395d68a7dd3062aa9 Mon Sep 17 00:00:00 2001
+From: Roberto Scolaro <roberto.scolaro21@gmail.com>
+Date: Mon, 5 Jun 2023 10:34:03 +0000
+Subject: [PATCH 6/6] update(cmake): bump libs 0.11.0 + driver 5.0.1
+
+Signed-off-by: Roberto Scolaro <roberto.scolaro21@gmail.com>
+---
+ CMakeLists.txt                         | 2 +-
+ cmake/modules/driver.cmake             | 4 ++--
+ cmake/modules/falcosecurity-libs.cmake | 4 ++--
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5afd967f27..f3f23b5e9a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -90,7 +90,7 @@ if(NOT WIN32)
+ 	endif()
+ 
+ 	set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_COMMON_FLAGS}")
+-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++0x")
++	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++17")
+ 
+ 	set(CMAKE_C_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+ 	set(CMAKE_CXX_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+diff --git a/cmake/modules/driver.cmake b/cmake/modules/driver.cmake
+index 7fd35d7f99..ca1e56718c 100644
+--- a/cmake/modules/driver.cmake
++++ b/cmake/modules/driver.cmake
+@@ -31,8 +31,8 @@ else()
+   # In case you want to test against another driver version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DDRIVER_VERSION=dev ..`
+   if(NOT DRIVER_VERSION)
+-    set(DRIVER_VERSION "5.0.0+driver")
+-    set(DRIVER_CHECKSUM "SHA256=c988ca7ac7d174f62d1bfbaaca49efd117f7b329f474d1b46b643635b2e35083")
++    set(DRIVER_VERSION "5.0.1+driver")
++    set(DRIVER_CHECKSUM "SHA256=8b197b916b6419dac8fb41807aa05d822164c7bfd2c3eef66d20d060a05a485a")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index fe5dacd7ad..c626d7944e 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -32,8 +32,8 @@ else()
+   # In case you want to test against another falcosecurity/libs version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DFALCOSECURITY_LIBS_VERSION=dev ..`
+   if(NOT FALCOSECURITY_LIBS_VERSION)
+-    set(FALCOSECURITY_LIBS_VERSION "0.11.0-rc1")
+-    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=bb6e57f66ae85dcda6e695226cd14082d9a1215902909cdde5b83f7abef44d8f")
++    set(FALCOSECURITY_LIBS_VERSION "0.11.0")
++    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=90414d00591986e94f2c49e7d65eef5c2dedee266354dd3db8234bb3b06c86fa")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
diff --git a/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch b/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch
new file mode 100644
index 000000000000..467cffacba2f
--- /dev/null
+++ b/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch
@@ -0,0 +1,28 @@
+diff --git a/cmake/modules/driver-repo/CMakeLists.txt b/cmake/modules/driver-repo/CMakeLists.txt
+index 479611a..5238121 100644
+--- a/cmake/modules/driver-repo/CMakeLists.txt
++++ b/cmake/modules/driver-repo/CMakeLists.txt
+@@ -25,8 +25,7 @@ message(STATUS "Driver version: ${DRIVER_VERSION}")
+ 
+ ExternalProject_Add(
+   driver
+-  URL "https://github.com/falcosecurity/libs/archive/${DRIVER_VERSION}.tar.gz"
+-  URL_HASH "${DRIVER_CHECKSUM}"
++  URL "${CMAKE_CURRENT_SOURCE_DIR}/../../../../libs-${DRIVER_VERSION}"
+   CONFIGURE_COMMAND ""
+   BUILD_COMMAND ""
+   INSTALL_COMMAND ""
+diff --git a/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt b/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
+index 2059547..74e78e2 100644
+--- a/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
++++ b/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
+@@ -25,8 +25,7 @@ message(STATUS "Libs version: ${FALCOSECURITY_LIBS_VERSION}")
+ 
+ ExternalProject_Add(
+   falcosecurity-libs
+-  URL "https://github.com/falcosecurity/libs/archive/${FALCOSECURITY_LIBS_VERSION}.tar.gz"
+-  URL_HASH "${FALCOSECURITY_LIBS_CHECKSUM}"
++  URL "${CMAKE_CURRENT_SOURCE_DIR}/../../../../libs-${FALCOSECURITY_LIBS_VERSION}"
+   CONFIGURE_COMMAND ""
+   BUILD_COMMAND ""
+   INSTALL_COMMAND ""
diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index 4a04e762468c..d088357125b8 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,43 +1,47 @@
 # Template file for 'sysdig'
 pkgname=sysdig
-version=0.28.0
-revision=8
+version=0.31.5
+revision=1
+_falcover=0.11.0
 build_style=cmake
+build_wrksrc="sysdig-${version}"
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF
  -DLUA_INCLUDE_DIR=${XBPS_CROSS_BASE}/usr/include/luajit-2.1
- -DLUA_LIBRARY=/usr/lib/libluajit-5.1.so -DCREATE_TEST_TARGETS=OFF"
-make_cmd=make
+ -DLUA_LIBRARY=/usr/lib/libluajit-5.1.so -DCREATE_TEST_TARGETS=OFF
+ -DUSE_BUNDLED_TBB=OFF -DBUILD_LIBSCAP_EXAMPLES=OFF
+ -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_EXTENSIONS=OFF
+ -DDRIVER_VERSION=${_falcover}"
 hostmakedepends="wget pkg-config protobuf"
-makedepends="LuaJIT-devel c-ares-devel elfutils-devel grpc-devel jsoncpp-devel
+makedepends="LuaJIT-devel c-ares-devel elfutils-devel grpc-devel
  libcurl-devel libprotoc-devel openssl-devel ncurses-devel protobuf-devel
- tbb-devel zlib-devel"
+ tbb-devel zlib-devel yaml-cpp-devel json-c++"
 depends="dkms"
 short_desc="Open source system-level exploration and troubleshooting tool"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0, MIT, GPL-2.0-only"
 homepage="http://www.sysdig.org/"
 changelog="https://github.com/draios/sysdig/releases"
-distfiles="https://github.com/draios/${pkgname}/archive/${version}.tar.gz"
-checksum=817e595d501acf3fe11dc659a154aadbba848dd87ae801f5bf34a42e84979f37
-disable_parallel_build=yes
+distfiles="https://github.com/draios/sysdig/archive/${version}.tar.gz
+ https://github.com/falcosecurity/libs/archive/${_falcover}.tar.gz"
+checksum="9af98cae7c38273f7429ba0df628c9745bd92c949f444e180b9dd800af14c6dd
+ 90414d00591986e94f2c49e7d65eef5c2dedee266354dd3db8234bb3b06c86fa"
 dkms_modules="scap 2160111cd088aea9ae2235d3385ecb0b1ab6623c"
 nocross=yes
+patch_args="-Np1 --directory=${build_wrksrc}"
 
 case "$XBPS_TARGET_MACHINE" in
 	*-musl) configure_args+=" -DMUSL_OPTIMIZED_BUILD=On"
 esac
 
-export CMAKE_GENERATOR="Unix Makefiles"
-
 # Avoid excessive warnings spam to the log
 CXXFLAGS="-Wno-deprecated-declarations"
 
-CXXFLAGS+=" -I/usr/include/grpc_absl"
+post_patch() {
+	patch -d "${wrksrc}/libs-${_falcover}" -Np1 < "${FILESDIR}/libsinsp-zstd.patch"
 
-post_extract() {
 	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
-	vsed -e 's|-std=c++0x||' -i CMakeLists.txt
+	vsed -e 's|-std=c++0x||' -i CMakeLists.txt -i "${wrksrc}/libs-${_falcover}/cmake/modules/CompilerFlags.cmake"
 }
 
 post_install() {

From b09d45a9115a3899686fdb3079f93c02d49eaeba Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 2 Jul 2023 13:36:29 +0200
Subject: [PATCH 31/34] protobuf-c: rebuild against 23.3

---
 ...4f3fd85a205eb7c90b790477d5415364209e.patch |  44 +++
 srcpkgs/protobuf-c/patches/66a0b0d2.patch     | 308 ++++++++++++++++++
 srcpkgs/protobuf-c/template                   |   8 +-
 3 files changed, 358 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
 create mode 100644 srcpkgs/protobuf-c/patches/66a0b0d2.patch

diff --git a/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch b/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
new file mode 100644
index 000000000000..7d1e97032d32
--- /dev/null
+++ b/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
@@ -0,0 +1,44 @@
+From 66574f3fd85a205eb7c90b790477d5415364209e Mon Sep 17 00:00:00 2001
+From: Steve Peters <scpeters@openrobotics.org>
+Date: Sat, 24 Jun 2023 22:15:42 -0700
+Subject: [PATCH] Use FileDescriptorLegacy for deprecated syntax()
+
+---
+ protoc-c/c_file.cc   | 2 +-
+ protoc-c/c_helpers.h | 3 ++-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/protoc-c/c_file.cc b/protoc-c/c_file.cc
+index 59c1824e..4b60b889 100644
+--- a/protoc-c/c_file.cc
++++ b/protoc-c/c_file.cc
+@@ -119,7 +119,7 @@ void FileGenerator::GenerateHeader(io::Printer* printer) {
+ 
+   int min_header_version = 1000000;
+ #if defined(HAVE_PROTO3)
+-  if (file_->syntax() == FileDescriptor::SYNTAX_PROTO3) {
++  if (FileDescriptorLegacy(file_).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3) {
+     min_header_version = 1003000;
+   }
+ #endif
+diff --git a/protoc-c/c_helpers.h b/protoc-c/c_helpers.h
+index 7598a4e1..87deea24 100644
+--- a/protoc-c/c_helpers.h
++++ b/protoc-c/c_helpers.h
+@@ -67,6 +67,7 @@
+ #include <vector>
+ #include <sstream>
+ #include <google/protobuf/descriptor.h>
++#include <google/protobuf/descriptor_legacy.h>
+ #include <protobuf-c/protobuf-c.pb.h>
+ #include <google/protobuf/io/printer.h>
+ 
+@@ -172,7 +173,7 @@ int compare_name_indices_by_name(const void*, const void*);
+ // This wrapper is needed to be able to compile against protobuf2.
+ inline int FieldSyntax(const FieldDescriptor* field) {
+ #ifdef HAVE_PROTO3
+-  return field->file()->syntax() == FileDescriptor::SYNTAX_PROTO3 ? 3 : 2;
++  return FileDescriptorLegacy(field->file()).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3 ? 3 : 2;
+ #else
+   return 2;
+ #endif
diff --git a/srcpkgs/protobuf-c/patches/66a0b0d2.patch b/srcpkgs/protobuf-c/patches/66a0b0d2.patch
new file mode 100644
index 000000000000..790db6329120
--- /dev/null
+++ b/srcpkgs/protobuf-c/patches/66a0b0d2.patch
@@ -0,0 +1,308 @@
+From 66a0b0d205224f63f19dd8f96abf9dcdc2112331 Mon Sep 17 00:00:00 2001
+From: Xiangyu Chen <xiangyu.chen@windriver.com>
+Date: Wed, 29 Mar 2023 14:25:17 +0800
+Subject: [PATCH] add support of protobuf 4.22.x
+
+after upgrade the protobuf to 4.22.x, the protobuf-c cannot compile anymore (#544) due to following changes:
+1.protobuf using c++14, that cause the command_line_interface.h report error
+2.protobuf using abseil-cpp library instead the trace API with GOOGLE_ header
+3. removed GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
+---
+ Makefile.am                   | 2 +-
+ configure.ac                  | 8 ++++++++
+ protoc-c/c_bytes_field.h      | 1 -
+ protoc-c/c_enum.h             | 1 -
+ protoc-c/c_enum_field.h       | 1 -
+ protoc-c/c_extension.h        | 1 -
+ protoc-c/c_field.cc           | 2 +-
+ protoc-c/c_field.h            | 3 ---
+ protoc-c/c_file.h             | 1 -
+ protoc-c/c_generator.h        | 2 --
+ protoc-c/c_helpers.cc         | 4 ++--
+ protoc-c/c_message.cc         | 4 ++--
+ protoc-c/c_message.h          | 1 -
+ protoc-c/c_message_field.h    | 3 ---
+ protoc-c/c_primitive_field.cc | 6 +++---
+ protoc-c/c_primitive_field.h  | 3 ---
+ protoc-c/c_service.h          | 1 -
+ protoc-c/c_string_field.h     | 1 -
+ 18 files changed, 17 insertions(+), 28 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index c7339efe..3b0d1d66 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -20,7 +20,7 @@ AM_CPPFLAGS = \
+ 	-I${top_builddir} \
+ 	-I${top_srcdir}
+ AM_CFLAGS = ${my_CFLAGS}
+-AM_LDFLAGS =
++AM_LDFLAGS = ${ABSL_LOG_INTERNAL_CHECK_OP_LIBS} ${ABSL_LOG_RAW_HASH_SET_LIBS}
+ 
+ # code coverage
+ 
+diff --git a/configure.ac b/configure.ac
+index f5a0261e..8ed549ac 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -78,6 +78,14 @@ if test "x$enable_protoc" != "xno"; then
+ 
+   AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
+ 
++# now checking 4.22.x protobuf, if so, set cxx as 17
++  AS_IF([pkg-config --atleast-version 4.22.0 protobuf],[AX_CXX_COMPILE_STDCXX(17, noext, mandatory)])
++
++  AS_IF([pkg-config --atleast-version 4.22.0 protobuf],
++    [PKG_CHECK_MODULES([ABSL_LOG_INTERNAL_CHECK_OP], [absl_log_internal_check_op],
++       [PKG_CHECK_MODULES([ABSL_LOG_RAW_HASH_SET], [absl_raw_hash_set], [], [AC_MSG_ERROR([Missing absl_raw_hash_set library.])])],
++       [AC_MSG_ERROR([Missing absl_log_internal_check_op library.])])])
++
+   PKG_CHECK_MODULES([protobuf], [protobuf >= 3.0.0],
+     [proto3_supported=yes],
+     [PKG_CHECK_MODULES([protobuf], [protobuf >= 2.6.0])]
+diff --git a/protoc-c/c_bytes_field.h b/protoc-c/c_bytes_field.h
+index bf873f0f..8fc63d35 100644
+--- a/protoc-c/c_bytes_field.h
++++ b/protoc-c/c_bytes_field.h
+@@ -88,7 +88,6 @@ class BytesFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(BytesFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_enum.h b/protoc-c/c_enum.h
+index 9c34b697..d5e58f0a 100644
+--- a/protoc-c/c_enum.h
++++ b/protoc-c/c_enum.h
+@@ -107,7 +107,6 @@ class EnumGenerator {
+   const EnumDescriptor* descriptor_;
+   std::string dllexport_decl_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_enum_field.h b/protoc-c/c_enum_field.h
+index 3f8c005d..03eb4028 100644
+--- a/protoc-c/c_enum_field.h
++++ b/protoc-c/c_enum_field.h
+@@ -86,7 +86,6 @@ class EnumFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_extension.h b/protoc-c/c_extension.h
+index 95413885..9c5797d6 100644
+--- a/protoc-c/c_extension.h
++++ b/protoc-c/c_extension.h
+@@ -99,7 +99,6 @@ class ExtensionGenerator {
+   std::string type_traits_;
+   std::string dllexport_decl_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ExtensionGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_field.cc b/protoc-c/c_field.cc
+index 0716744a..4abdc6d3 100644
+--- a/protoc-c/c_field.cc
++++ b/protoc-c/c_field.cc
+@@ -231,7 +231,7 @@ FieldGeneratorMap::~FieldGeneratorMap() {}
+ 
+ const FieldGenerator& FieldGeneratorMap::get(
+     const FieldDescriptor* field) const {
+-  GOOGLE_CHECK_EQ(field->containing_type(), descriptor_);
++  ABSL_CHECK_EQ(field->containing_type(), descriptor_);
+   return *field_generators_[field->index()];
+ }
+ 
+diff --git a/protoc-c/c_field.h b/protoc-c/c_field.h
+index 3cad35d3..76d3b0bc 100644
+--- a/protoc-c/c_field.h
++++ b/protoc-c/c_field.h
+@@ -104,8 +104,6 @@ class FieldGenerator {
+                                             const std::string &descriptor_addr) const;
+   const FieldDescriptor *descriptor_;
+ 
+- private:
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGenerator);
+ };
+ 
+ // Convenience class which constructs FieldGenerators for a Descriptor.
+@@ -122,7 +120,6 @@ class FieldGeneratorMap {
+ 
+   static FieldGenerator* MakeGenerator(const FieldDescriptor* field);
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGeneratorMap);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_file.h b/protoc-c/c_file.h
+index 8dfd8ba0..ec55906e 100644
+--- a/protoc-c/c_file.h
++++ b/protoc-c/c_file.h
+@@ -104,7 +104,6 @@ class FileGenerator {
+   std::unique_ptr<std::unique_ptr<ServiceGenerator>[]> service_generators_;
+   std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FileGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_generator.h b/protoc-c/c_generator.h
+index ac1ffafe..92601164 100644
+--- a/protoc-c/c_generator.h
++++ b/protoc-c/c_generator.h
+@@ -94,8 +94,6 @@ class PROTOC_C_EXPORT CGenerator : public CodeGenerator {
+                 OutputDirectory* output_directory,
+                 std::string* error) const;
+ 
+- private:
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(CGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_helpers.cc b/protoc-c/c_helpers.cc
+index 6fd0cd3a..1eaeeb42 100644
+--- a/protoc-c/c_helpers.cc
++++ b/protoc-c/c_helpers.cc
+@@ -286,7 +286,7 @@ const char* const kKeywordList[] = {
+ 
+ std::set<std::string> MakeKeywordsMap() {
+   std::set<std::string> result;
+-  for (int i = 0; i < GOOGLE_ARRAYSIZE(kKeywordList); i++) {
++  for (int i = 0; i < ABSL_ARRAYSIZE(kKeywordList); i++) {
+     result.insert(kKeywordList[i]);
+   }
+   return result;
+@@ -548,7 +548,7 @@ std::string CEscape(const std::string& src) {
+   std::unique_ptr<char[]> dest(new char[dest_length]);
+   const int len = CEscapeInternal(src.data(), src.size(),
+                                   dest.get(), dest_length, false);
+-  GOOGLE_DCHECK_GE(len, 0);
++  ABSL_DCHECK_GE(len, 0);
+   return std::string(dest.get(), len);
+ }
+ 
+diff --git a/protoc-c/c_message.cc b/protoc-c/c_message.cc
+index 37e8bf8b..c7e85155 100755
+--- a/protoc-c/c_message.cc
++++ b/protoc-c/c_message.cc
+@@ -499,7 +499,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ 	  // NOTE: not supported by protobuf
+ 	  vars["maybe_static"] = "";
+ 	  vars["field_dv_ctype"] = "{ ... }";
+-	  GOOGLE_LOG(DFATAL) << "Messages can't have default values!";
++	  ABSL_LOG(FATAL) << "Messages can't have default values!";
+ 	  break;
+ 	case FieldDescriptor::CPPTYPE_STRING:
+ 	  if (fd->type() == FieldDescriptor::TYPE_BYTES || opt.string_as_bytes())
+@@ -521,7 +521,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ 	    break;
+ 	  }
+ 	default:
+-	  GOOGLE_LOG(DFATAL) << "Unknown CPPTYPE";
++	  ABSL_LOG(FATAL) << "Unknown CPPTYPE";
+ 	  break;
+ 	}
+ 	if (!already_defined)
+diff --git a/protoc-c/c_message.h b/protoc-c/c_message.h
+index ea1c3ab3..e90782bf 100644
+--- a/protoc-c/c_message.h
++++ b/protoc-c/c_message.h
+@@ -137,7 +137,6 @@ class MessageGenerator {
+   std::unique_ptr<std::unique_ptr<EnumGenerator>[]> enum_generators_;
+   std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_message_field.h b/protoc-c/c_message_field.h
+index 39b8d999..42efe368 100644
+--- a/protoc-c/c_message_field.h
++++ b/protoc-c/c_message_field.h
+@@ -83,9 +83,6 @@ class MessageFieldGenerator : public FieldGenerator {
+   std::string GetDefaultValue(void) const;
+   void GenerateStaticInit(io::Printer* printer) const;
+ 
+- private:
+-
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_primitive_field.cc b/protoc-c/c_primitive_field.cc
+index 6990893f..d5a7b60c 100644
+--- a/protoc-c/c_primitive_field.cc
++++ b/protoc-c/c_primitive_field.cc
+@@ -99,7 +99,7 @@ void PrimitiveFieldGenerator::GenerateStructMembers(io::Printer* printer) const
+     case FieldDescriptor::TYPE_STRING  :
+     case FieldDescriptor::TYPE_BYTES   :
+     case FieldDescriptor::TYPE_GROUP   :
+-    case FieldDescriptor::TYPE_MESSAGE : GOOGLE_LOG(FATAL) << "not a primitive type"; break;
++    case FieldDescriptor::TYPE_MESSAGE : ABSL_LOG(FATAL) << "not a primitive type"; break;
+ 
+     // No default because we want the compiler to complain if any new
+     // types are added.
+@@ -143,7 +143,7 @@ std::string PrimitiveFieldGenerator::GetDefaultValue() const
+     case FieldDescriptor::CPPTYPE_BOOL:
+       return descriptor_->default_value_bool() ? "1" : "0";
+     default:
+-      GOOGLE_LOG(DFATAL) << "unexpected CPPTYPE in c_primitive_field";
++      ABSL_LOG(FATAL) << "unexpected CPPTYPE in c_primitive_field";
+       return "UNEXPECTED_CPPTYPE";
+   }
+ }
+@@ -197,7 +197,7 @@ void PrimitiveFieldGenerator::GenerateDescriptorInitializer(io::Printer* printer
+     case FieldDescriptor::TYPE_STRING  :
+     case FieldDescriptor::TYPE_BYTES   :
+     case FieldDescriptor::TYPE_GROUP   :
+-    case FieldDescriptor::TYPE_MESSAGE : GOOGLE_LOG(FATAL) << "not a primitive type"; break;
++    case FieldDescriptor::TYPE_MESSAGE : ABSL_LOG(FATAL) << "not a primitive type"; break;
+ 
+     // No default because we want the compiler to complain if any new
+     // types are added.
+diff --git a/protoc-c/c_primitive_field.h b/protoc-c/c_primitive_field.h
+index a9eb893b..d2bb7243 100644
+--- a/protoc-c/c_primitive_field.h
++++ b/protoc-c/c_primitive_field.h
+@@ -83,9 +83,6 @@ class PrimitiveFieldGenerator : public FieldGenerator {
+   std::string GetDefaultValue(void) const;
+   void GenerateStaticInit(io::Printer* printer) const;
+ 
+- private:
+-
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(PrimitiveFieldGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_service.h b/protoc-c/c_service.h
+index 27125a60..4737ff3b 100644
+--- a/protoc-c/c_service.h
++++ b/protoc-c/c_service.h
+@@ -101,7 +101,6 @@ class ServiceGenerator {
+   const ServiceDescriptor* descriptor_;
+   std::map<std::string, std::string> vars_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ServiceGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_string_field.h b/protoc-c/c_string_field.h
+index 513cea75..ba258e44 100644
+--- a/protoc-c/c_string_field.h
++++ b/protoc-c/c_string_field.h
+@@ -88,7 +88,6 @@ class StringFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(StringFieldGenerator);
+ };
+ 
+ 
diff --git a/srcpkgs/protobuf-c/template b/srcpkgs/protobuf-c/template
index 7d1b529d8936..e703b138152d 100644
--- a/srcpkgs/protobuf-c/template
+++ b/srcpkgs/protobuf-c/template
@@ -1,10 +1,10 @@
 # Template file for 'protobuf-c'
 pkgname=protobuf-c
 version=1.4.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="$(vopt_enable protoc)"
-hostmakedepends="pkg-config protobuf protobuf-devel"
+hostmakedepends="pkg-config protobuf protobuf-devel automake libtool"
 makedepends="protobuf-devel boost-devel $(vopt_if protoc libprotoc-devel)"
 short_desc="C implementation of the Google Protocol Buffers"
 maintainer="Enno Boland <gottox@voidlinux.org>"
@@ -17,6 +17,10 @@ build_options="protoc"
 build_options_default="protoc"
 desc_option_protoc="Build protoc-c compiler"
 
+pre_configure() {
+	autoreconf -if
+}
+
 post_install() {
 	vlicense LICENSE
 }

From 1478d535b61e017ff2d7d6586c5d9e2e42933996 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 2 Jul 2023 21:07:55 +0200
Subject: [PATCH 32/34] netdata: update to 1.40.1.

---
 srcpkgs/netdata/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/netdata/template            | 13 +++++++++----
 2 files changed, 20 insertions(+), 4 deletions(-)
 create mode 100644 srcpkgs/netdata/patches/cpp17.patch

diff --git a/srcpkgs/netdata/patches/cpp17.patch b/srcpkgs/netdata/patches/cpp17.patch
new file mode 100644
index 000000000000..b197ccd57bd9
--- /dev/null
+++ b/srcpkgs/netdata/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac	2023-06-27 16:25:03.364605041 +0200
++++ -	2023-07-02 21:27:31.113408278 +0200
+@@ -237,7 +237,7 @@
+ # C++ version check
+ 
+ # Check for C++17 support (optional)
+-# AX_CXX_COMPILE_STDCXX(17, noext, optional)
++AX_CXX_COMPILE_STDCXX(17, noext, optional)
+ 
+ if test "x$HAVE_CXX17" != "x1"; then
+   # Check for C++11 support (optional)
diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 781120b3f275..9065c5140361 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -1,14 +1,14 @@
 # Template file for 'netdata'
 pkgname=netdata
-version=1.37.1
-revision=2
+version=1.40.1
+revision=1
 build_style=gnu-configure
 build_helper=qemu
 configure_args="--with-user=_netdata ac_cv_file_externaldeps_libbpf_libbpf_a=no
  $(vopt_if cloud --enable-cloud --disable-cloud) $(vopt_if ipmi --enable-plugin-freeipmi)
  $(vopt_if xen --enable-plugin-xenstat) $(vopt_if cups --enable-plugin-cups)"
 hostmakedepends="pkg-config autoconf automake $(vopt_if cloud "protobuf protobuf-devel")"
-makedepends="json-c-devel libcap-devel liblz4-devel libmnl-devel
+makedepends="json-c-devel libcap-devel liblz4-devel libmnl-devel libyaml-devel
  libnetfilter_acct-devel openssl-devel libuuid-devel libuv-devel zlib-devel
  snappy-devel $(vopt_if cloud protobuf-devel) $(vopt_if ipmi freeipmi-devel)
  $(vopt_if xen "xen-devel yajl-devel") $(vopt_if cups cups-devel)"
@@ -18,7 +18,7 @@ maintainer="Michael Aldridge <maldridge@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://www.netdata.cloud/"
 distfiles="https://github.com/netdata/netdata/releases/download/v${version}/netdata-v${version}.tar.gz"
-checksum=2caa042d43ca61007a61294a5ececa037d83a1973bd38032233760341eb1706b
+checksum=cc86172acd5e6ec05bc0fa86a50d967502a264d8adf7f79293923ccd8febb251
 python_version=3
 make_dirs="
  /var/lib/netdata          0755 _netdata _netdata
@@ -43,6 +43,11 @@ if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 fi
 
 pre_configure() {
+	vsed -e 's/#define info(/#define netdata_log_info(/g' -i libnetdata/log/log.h
+	vsed -e 's/^\([ ]*\)info[ ]*(/\1netdata_log_info(/g' -i $(grep -rl '^[ ]*info *(' ./)
+	vsed -e 's/^\([ ]*\)else info(/\1else netdata_log_info(/g' -i $(grep -rl '^[ ]*else info(' ./)
+	vsed -e 's/^\([ ]*\)if(\([^)]*\))[ ]*info(/\1if(\2) netdata_log_info(/g' -i $(grep -rl '^[ ]*if.*info(' ./)
+
 	if [ "$CROSS_BUILD" ]; then
 		sed -i "s|	\$(builddir)/judyltablesgen\$(EXEEXT)|	qemu-${XBPS_TARGET_QEMU_MACHINE}-static \$(builddir)/judyltablesgen\$(EXEEXT)|g" Makefile.am
 	fi

From 9d35d9f1c0ad44ba689a72186b6b509bf3e7c1f3 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 8 Jul 2023 12:47:51 +0200
Subject: [PATCH 33/34] strawberry: rebuild against protobuf-23.3_1

---
 srcpkgs/strawberry/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/strawberry/template b/srcpkgs/strawberry/template
index b42efa1b89b2..91f2e07a0ec0 100644
--- a/srcpkgs/strawberry/template
+++ b/srcpkgs/strawberry/template
@@ -1,7 +1,7 @@
 # Template file for 'strawberry'
 pkgname=strawberry
 version=1.0.17
-revision=2
+revision=3
 build_style=cmake
 hostmakedepends="pkg-config protobuf gettext"
 makedepends="alsa-lib-devel boost-devel gnutls-devel fftw-devel

From db6475a4555583eb59fbe59fc85e3ef45aea09d9 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 8 Jul 2023 12:47:51 +0200
Subject: [PATCH 34/34] libphonenumber: rebuild against protobuf-23.3_1

---
 srcpkgs/libphonenumber/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libphonenumber/template b/srcpkgs/libphonenumber/template
index f554714b3c7a..058939459f6a 100644
--- a/srcpkgs/libphonenumber/template
+++ b/srcpkgs/libphonenumber/template
@@ -1,7 +1,7 @@
 # Template file for 'libphonenumber'
 pkgname=libphonenumber
 version=8.12.39
-revision=12
+revision=13
 build_wrksrc=cpp
 build_style=cmake
 build_helper=qemu

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] protobuf/abseil-cpp/grpc: update
  2023-07-08 11:45 [PR PATCH] protobuf/abseil-cpp: update Johnnynator
@ 2023-07-08 12:45 ` Johnnynator
  2023-07-08 12:48 ` Johnnynator
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Johnnynator @ 2023-07-08 12:45 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 616 bytes --]

There is an updated pull request by Johnnynator against master on the void-packages repository

https://github.com/Johnnynator/void-packages google-stuff
https://github.com/void-linux/void-packages/pull/44920

protobuf/abseil-cpp/grpc: update
"Fun" with google stuff

#### Testing the changes
- I tested the changes in this PR: **WiP**


#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):



A patch file from https://github.com/void-linux/void-packages/pull/44920.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-google-stuff-44920.patch --]
[-- Type: text/x-diff, Size: 99580 bytes --]

From 2d7e59d990ede737787ed3bb3ef3f4c79df26060 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:24:01 +0200
Subject: [PATCH 01/34] abseil-cpp: update to 20230125.3.

---
 common/shlibs                                 | 128 ++++++++++++------
 srcpkgs/abseil-cpp/patches/google-sucks.patch |  77 -----------
 srcpkgs/abseil-cpp/template                   |   4 +-
 3 files changed, 85 insertions(+), 124 deletions(-)
 delete mode 100644 srcpkgs/abseil-cpp/patches/google-sucks.patch

diff --git a/common/shlibs b/common/shlibs
index b8ab3ec37bff..839657574cc5 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4202,51 +4202,89 @@ libsunpinyin.so.3 libsunpinyin-3.0.0rc2_1
 libtpm2-totp.so.0 libtpm2-totp-0.3.0_1
 libmujs.so.1.2.0 mujs-1.2.0_2
 libiir.so.1 libiir1-1.9.3_1
-libabsl_statusor.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_hash.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_raw_hash_set.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_bad_variant_access.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_status.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_pool_urbg.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_hwaes_impl.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_slow.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cord.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_city.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_bad_optional_access.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_info.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_str_format_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_synchronization.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_time.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strings.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_throw_delegate.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_time_zone.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_spinlock_wait.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_base.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_civil_time.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cord_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_functions.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_handle.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_debugging_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_demangle_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_exponential_biased.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_graphcycles_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_hashtablez_sampler.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_int128.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_log_severity.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_low_level_hash.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_malloc_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_distributions.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_platform.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_hwaes.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_seed_material.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_seed_gen_exception.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_seed_sequences.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_raw_logging_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_stacktrace.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strerror.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strings_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_symbolize.so.2206.0.0 abseil-cpp-20220623.1_1
+libabsl_flags.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_raw_logging_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_parse.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_reflection.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_globals.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_config.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_seed_sequences.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_statusor.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_usage_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_commandlineflag.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_hwaes_impl.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_status.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_any_cast_impl.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_variant_access.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_raw_hash_set.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_optional_access.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cord.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_distribution_test_util.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_handle.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_graphcycles_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_spinlock_wait.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_functions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_usage.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_debugging_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strerror.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_seed_material.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_log_sink_set.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_proto.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_civil_time.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_conditions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_cpu_detect.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_entry.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_distributions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_globals.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_format.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_exponential_biased.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_city.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_symbolize.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_leak_check.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_low_level_hash.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_severity.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_scoped_set_env.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strings.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_die_if_null.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_hash.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_commandlineflag_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_periodic_sampler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_platform.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_malloc_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_sample_token.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_str_format_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_synchronization.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_message.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strings_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_private_handle_accessor.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cord_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_hwaes.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_throw_delegate.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_cord_state.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_flags.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_program_name.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_time_zone.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_examine_stack.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc32c.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_initialize.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_failure_signal_handler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_time.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_info.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_sink.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_nullguard.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_demangle_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_base.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_hashtablez_sampler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_marshalling.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_pool_urbg.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_int128.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_stacktrace.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_seed_gen_exception.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_check_op.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_slow.so.2301.0.0 abseil-cpp-20230125.3_1
 libairspyhf.so.0 libairspyhf-1.6.8_1
 libtraceevent.so.1 libtraceevent-1.6.2_1
 libtracefs.so.1 libtracefs-1.4.2_1
diff --git a/srcpkgs/abseil-cpp/patches/google-sucks.patch b/srcpkgs/abseil-cpp/patches/google-sucks.patch
deleted file mode 100644
index 511bae847101..000000000000
--- a/srcpkgs/abseil-cpp/patches/google-sucks.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-commit 1fbfea71fb42b2e79f9e342c1843bd26a8703536
-Author: Daniel Kolesa <daniel@octaforge.org>
-Date:   Thu Aug 25 01:20:58 2022 +0200
-
-    An all-in-one patch that fixes several issues:
-    
-    1) UnscaledCycleClock not fully implemented for ppc*-musl (disabled on musl)
-    2) powerpc stacktrace implementation only works on glibc (disabled on musl)
-    3) powerpc stacktrace implementation has ppc64 assumptions (fixed)
-    4) examine_stack.cpp makes glibc assumptions on powerpc (fixed)
-
-diff --git a/absl/base/internal/unscaledcycleclock.cc b/absl/base/internal/unscaledcycleclock.cc
-index b1c396c..d62bfd6 100644
---- a/absl/base/internal/unscaledcycleclock.cc
-+++ b/absl/base/internal/unscaledcycleclock.cc
-@@ -20,7 +20,7 @@
- #include <intrin.h>
- #endif
- 
--#if defined(__powerpc__) || defined(__ppc__)
-+#if (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
- #ifdef __GLIBC__
- #include <sys/platform/ppc.h>
- #elif defined(__FreeBSD__)
-@@ -58,7 +58,7 @@ double UnscaledCycleClock::Frequency() {
-   return base_internal::NominalCPUFrequency();
- }
- 
--#elif defined(__powerpc__) || defined(__ppc__)
-+#elif (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
- 
- int64_t UnscaledCycleClock::Now() {
- #ifdef __GLIBC__
-diff --git a/absl/base/internal/unscaledcycleclock.h b/absl/base/internal/unscaledcycleclock.h
-index 2cbeae3..83d8c98 100644
---- a/absl/base/internal/unscaledcycleclock.h
-+++ b/absl/base/internal/unscaledcycleclock.h
-@@ -46,8 +46,8 @@
- 
- // The following platforms have an implementation of a hardware counter.
- #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \
--    defined(__powerpc__) || defined(__ppc__) || defined(__riscv) ||     \
--    defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
-+    ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \
-+    defined(__riscv) || defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
- #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
- #else
- #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 0
-diff --git a/absl/debugging/internal/examine_stack.cc b/absl/debugging/internal/examine_stack.cc
-index 5bdd341..a42a3c4 100644
---- a/absl/debugging/internal/examine_stack.cc
-+++ b/absl/debugging/internal/examine_stack.cc
-@@ -174,8 +174,10 @@ void* GetProgramCounter(void* const vuc) {
-     return reinterpret_cast<void*>(context->uc_mcontext.pc);
- #elif defined(__powerpc64__)
-     return reinterpret_cast<void*>(context->uc_mcontext.gp_regs[32]);
--#elif defined(__powerpc__)
-+#elif defined(__powerpc__) && defined(__GLIBC__)
-     return reinterpret_cast<void*>(context->uc_mcontext.uc_regs->gregs[32]);
-+#elif defined(__powerpc__)
-+    return reinterpret_cast<void*>(context->uc_mcontext.gregs[32]);
- #elif defined(__riscv)
-     return reinterpret_cast<void*>(context->uc_mcontext.__gregs[REG_PC]);
- #elif defined(__s390__) && !defined(__s390x__)
-diff --git a/absl/debugging/internal/stacktrace_config.h b/absl/debugging/internal/stacktrace_config.h
-index 3929b1b..23d5e50 100644
---- a/absl/debugging/internal/stacktrace_config.h
-+++ b/absl/debugging/internal/stacktrace_config.h
-@@ -60,7 +60,7 @@
- #elif defined(__i386__) || defined(__x86_64__)
- #define ABSL_STACKTRACE_INL_HEADER \
-   "absl/debugging/internal/stacktrace_x86-inl.inc"
--#elif defined(__ppc__) || defined(__PPC__)
-+#elif (defined(__ppc__) || defined(__PPC__)) && defined(__GLIBC__)
- #define ABSL_STACKTRACE_INL_HEADER \
-   "absl/debugging/internal/stacktrace_powerpc-inl.inc"
- #elif defined(__aarch64__)
diff --git a/srcpkgs/abseil-cpp/template b/srcpkgs/abseil-cpp/template
index 8640d2489406..3ffdb4d99d33 100644
--- a/srcpkgs/abseil-cpp/template
+++ b/srcpkgs/abseil-cpp/template
@@ -1,6 +1,6 @@
 # Template file for 'abseil-cpp'
 pkgname=abseil-cpp
-version=20220623.1
+version=20230125.3
 revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON -DABSL_PROPAGATE_CXX_STD=ON"
@@ -10,7 +10,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="Apache-2.0"
 homepage="https://abseil.io"
 distfiles="https://github.com/abseil/abseil-cpp/archive/${version}.tar.gz"
-checksum=91ac87d30cc6d79f9ab974c51874a704de9c2647c40f6932597329a282217ba8
+checksum=5366d7e7fa7ba0d915014d387b66d0d002c03236448e1ba9ef98122c13b35c36
 
 abseil-cpp-devel_package() {
 	short_desc+=" (development files)"

From 95a6884e8c99c0ffa2b5123cacf7e0625261a1c5 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 02/34] Bear: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/Bear/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/Bear/template b/srcpkgs/Bear/template
index cebf51b64728..2e6da3ba9a30 100644
--- a/srcpkgs/Bear/template
+++ b/srcpkgs/Bear/template
@@ -1,7 +1,7 @@
 # Template file for 'Bear'
 pkgname=Bear
 version=3.1.2
-revision=1
+revision=2
 build_style=cmake
 hostmakedepends="pkg-config protobuf protobuf-devel grpc"
 makedepends="json-c++ spdlog grpc-devel protobuf-devel gtest-devel"

From 6bb7da0cdf720dfbd501d32e730e1f234e078683 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 03/34] grpc: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/grpc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index 5b4547a5c0fc..f9d197a1c354 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -1,7 +1,7 @@
 # Template file for 'grpc'
 pkgname=grpc
 version=1.49.1
-revision=2
+revision=3
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON
  -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package

From d841bf3b6f7be0acfbcda6d7153241904c41960b Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 04/34] justbuild: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/justbuild/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index 1ad8e334617d..ee36f6dae575 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
 # Template file for 'justbuild'
 pkgname=justbuild
 version=1.1.2
-revision=1
+revision=2
 create_wrksrc=yes
 hostmakedepends="jo pandoc pkg-config python3 tar unzip wget"
 makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++

From 8d17815dac8db586e4088046edc2a84f5b1f7f05 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 05/34] python3-grpcio: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/python3-grpcio/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 826eda0fc560..9b3c7288a9dd 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-grpcio'
 pkgname=python3-grpcio
 version=1.49.1
-revision=3
+revision=4
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-six python3-Cython"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel

From 8a4552a463d06e82d1c9832a20279c1cb7046549 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 06/34] sysdig: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/sysdig/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index 81ddb7aba5e3..4a04e762468c 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,7 +1,7 @@
 # Template file for 'sysdig'
 pkgname=sysdig
 version=0.28.0
-revision=7
+revision=8
 build_style=cmake
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF
@@ -36,7 +36,8 @@ CXXFLAGS="-Wno-deprecated-declarations"
 CXXFLAGS+=" -I/usr/include/grpc_absl"
 
 post_extract() {
-	sed -i 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' scripts/CMakeLists.txt
+	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
+	vsed -e 's|-std=c++0x||' -i CMakeLists.txt
 }
 
 post_install() {

From c4237607bf6191bb9793fcb9702aadcb4ebdd6d2 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 22:01:12 +0200
Subject: [PATCH 07/34] python3-grpcio: update to 1.56.0.

---
 srcpkgs/python3-grpcio/template | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 9b3c7288a9dd..25ea3fc34620 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-grpcio'
 pkgname=python3-grpcio
-version=1.49.1
-revision=4
+version=1.56.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-six python3-Cython"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel
@@ -12,7 +12,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://grpc.io"
 distfiles="${PYPI_SITE}/g/grpcio/grpcio-${version}.tar.gz"
-checksum=d4725fc9ec8e8822906ae26bb26f5546891aa7fbc3443de970cc556d43a5c99f
+checksum=4c08ee21b3d10315b8dc26f6c13917b20ed574cdbed2d2d80c53d5508fdcc0f2
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	makedepends+=" libatomic-devel"
@@ -29,5 +29,7 @@ export GRPC_PYTHON_BUILD_SYSTEM_RE2=1
 export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
 
 post_extract() {
+	# abseil-cpp 2023xxxxxx requires at least c++ 17
+	vsed -e 's/c++14/c++17/g' -i setup.py
 	rm src/python/grpcio/grpc/_cython/cygrpc.cpp
 }

From d75ec305f9bd8959ebc54461fc9395c49e742c51 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 22:01:47 +0200
Subject: [PATCH 08/34] grpc: update to 1.56.0.

---
 common/shlibs                    | 24 ++++++++++++------------
 srcpkgs/grpc/patches/cmake.patch |  9 +++++++++
 srcpkgs/grpc/template            |  9 +++++----
 3 files changed, 26 insertions(+), 16 deletions(-)
 create mode 100644 srcpkgs/grpc/patches/cmake.patch

diff --git a/common/shlibs b/common/shlibs
index 839657574cc5..f9a282013d85 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3678,18 +3678,18 @@ liboblibs.so.0.1 oblibs-0.1.1.1_1
 libaal-1.0.so.7 libaal-1.0.7_1
 libaal-minimal.so.0 libaal-1.0.7_1
 libcli.so.1.9 libcli-1.9.8.4_1
-libaddress_sorting.so.27 libgrpc-1.49.1_1
-libgpr.so.27 libgrpc-1.49.1_1
-libgrpc.so.27 libgrpc-1.49.1_1
-libgrpc_unsecure.so.27 libgrpc-1.49.1_1
-libupb.so.27 libgrpc-1.49.1_1
-libgrpc++.so.1.49 libgrpc-1.49.1_1
-libgrpc++_alts.so.1.49 libgrpc-1.49.1_1
-libgrpc++_error_details.so.1.49 libgrpc-1.49.1_1
-libgrpc++_reflection.so.1.49 libgrpc-1.49.1_1
-libgrpc++_unsecure.so.1.49 libgrpc-1.49.1_1
-libgrpc_plugin_support.so.1.49 libgrpc-1.49.1_1
-libgrpcpp_channelz.so.1.49 libgrpc-1.49.1_1
+libaddress_sorting.so.33 libgrpc-1.56.0_1
+libgpr.so.33 libgrpc-1.56.0_1
+libgrpc.so.33 libgrpc-1.56.0_1
+libgrpc_unsecure.so.33 libgrpc-1.56.0_1
+libupb.so.33 libgrpc-1.56.0_1
+libgrpc++.so.1.56 libgrpc-1.56.0_1
+libgrpc++_alts.so.1.56 libgrpc-1.56.0_1
+libgrpc++_error_details.so.1.56 libgrpc-1.56.0_1
+libgrpc++_reflection.so.1.56 libgrpc-1.56.0_1
+libgrpc++_unsecure.so.1.56 libgrpc-1.56.0_1
+libgrpc_plugin_support.so.1.56 libgrpc-1.56.0_1
+libgrpcpp_channelz.so.1.56 libgrpc-1.56.0_1
 libircclient.so.1 libircclient-1.10_5
 libFAudio.so.0 FAudio-19.05_1
 libqaccessibilityclient-qt5.so.0 libqaccessibilityclient-0.4.0_1
diff --git a/srcpkgs/grpc/patches/cmake.patch b/srcpkgs/grpc/patches/cmake.patch
new file mode 100644
index 000000000000..d452e4ea59bf
--- /dev/null
+++ b/srcpkgs/grpc/patches/cmake.patch
@@ -0,0 +1,9 @@
+--- a/cmake/gRPCConfig.cmake.in	2023-06-14 22:21:16.000000000 +0200
++++ -	2023-06-28 11:11:32.902678412 +0200
+@@ -1,5 +1,6 @@
+ # Module path
+ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/modules)
++include(CMakeFindDependencyMacro)
+ 
+ # Depend packages
+ @_gRPC_FIND_ZLIB@
diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index f9d197a1c354..56ade5283e6f 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -1,7 +1,7 @@
 # Template file for 'grpc'
 pkgname=grpc
-version=1.49.1
-revision=3
+version=1.56.0
+revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON
  -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package
@@ -16,7 +16,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://github.com/grpc/grpc"
 distfiles="${homepage}/archive/v${version}/${pkgname}-${version}.tar.gz"
-checksum=5071b630e2a14707ad060636990f1b25b0984bd168c7ea1ab95e48a3bdc0081f
+checksum=e034992a0b464042021f6d440f2090acc2422c103a322b0844e3921ccea981dc
 
 if [ "$CROSS_BUILD" ]; then
 	# need host grpc_cpp_plugin
@@ -38,7 +38,8 @@ libgrpc_package() {
 
 grpc-devel_package() {
 	short_desc+=" - development files"
-	depends="${sourcepkg}>=${version}_${revision} ${_devel_depends}"
+	depends="${sourcepkg}>=${version}_${revision} ${_devel_depends}
+	 protobuf-devel"
 	pkg_install() {
 		vmove usr/include
 		vmove usr/lib/*.so

From 326ce6abe415f88383b97a57cdd120dc2a5e5dfa Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:40:13 +0200
Subject: [PATCH 09/34] protobuf: update to 23.4.

- switch to cmake buildstyle
- grpc needs the .cmake files to find protobuf
- newer version of protobuf will drop autoconf
---
 common/shlibs             |  6 +++---
 srcpkgs/protobuf/template | 44 +++++++++++++--------------------------
 2 files changed, 17 insertions(+), 33 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index f9a282013d85..712df469a3ee 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3110,9 +3110,9 @@ libm17n-flt.so.0 m17n-lib-1.7.0_1
 libm17n-gui.so.0 m17n-lib-1.7.0_1
 libm17n-core.so.0 m17n-lib-1.7.0_1
 libm17n.so.0 m17n-lib-1.7.0_1
-libprotobuf-lite.so.32 libprotobuf-lite-21.4_1
-libprotoc.so.32 libprotoc-21.4_1
-libprotobuf.so.32 libprotobuf-21.4_1
+libprotobuf-lite.so.23.4.0 libprotobuf-lite-23.4_1
+libprotoc.so.23.4.0 libprotoc-23.4_1
+libprotobuf.so.23.4.0 libprotobuf-23.4_1
 libsombok.so.3 sombok-2.4.0_1
 libdeviceclient.so.0 pragha-1.3.3_1
 libykclient.so.3 ykclient-2.15_1
diff --git a/srcpkgs/protobuf/template b/srcpkgs/protobuf/template
index 571f06487c85..b36cc3998dc9 100644
--- a/srcpkgs/protobuf/template
+++ b/srcpkgs/protobuf/template
@@ -1,22 +1,22 @@
 # Template file for 'protobuf'
 pkgname=protobuf
-version=21.12
+version=23.4
 revision=1
-create_wrksrc="yes"
-build_wrksrc="${pkgname}-${version}"
-build_style=gnu-configure
-hostmakedepends="pkg-config automake libtool"
-makedepends="zlib-devel"
+build_style=cmake
+hostmakedepends="pkg-config"
+configure_args="-Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_USE_EXTERNAL_GTEST=ON
+ -Dprotobuf_BUILD_LIBPROTOC=ON -Dprotobuf_ABSL_PROVIDER=package"
+# XXX: Tests require that the abseil-cpp provides absl::scoped_mock_log
+configure_args+=" -Dprotobuf_BUILD_TESTS=OFF"
+makedepends="zlib-devel gtest-devel libatomic-devel
+ abseil-cpp-devel"
 short_desc="Protocol buffers compiler"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
 changelog="https://raw.githubusercontent.com/google/protobuf/master/CHANGES.txt"
-_googletest_commit="5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081"
-distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz
- https://github.com/google/googletest/archive/${_googletest_commit}.tar.gz"
-checksum="22fdaf641b31655d4b2297f9981fa5203b2866f8332d3c6333f6b0107bb320de
- 0e2f36e8e403c125fd0ab02171bdb786d3b6b3875b6ccf3b2eb7969be8faecd0"
+distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz"
+checksum=a700a49470d301f1190a487a923b5095bf60f08f4ae4cac9f5f7c36883d17971
 
 # Switch to versioned package
 conflicts="protobuf18>=0 protobuf23>=0 protobuf24>=0
@@ -26,23 +26,9 @@ replaces="${conflicts}"
 if [ "$CROSS_BUILD" ]; then
 	# needs host protoc
 	hostmakedepends+=" ${pkgname}"
-	configure_args+=" --with-protoc=/usr/bin/protoc"
+	configure_args+=" -Dprotobuf_PROTOC_EXE=/usr/bin/protoc"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-	LDFLAGS+=" -latomic"
-fi
-
-post_extract() {
-	rmdir "${build_wrksrc}/third_party/googletest"
-	mv "googletest-${_googletest_commit}" "${build_wrksrc}/third_party/googletest"
-}
-
-pre_configure() {
-	autoreconf -fi
-}
-
 post_install() {
 	vlicense LICENSE
 }
@@ -80,7 +66,6 @@ libprotoc-devel_package() {
 	 libprotoc26-devel>=0 libprotoc28-devel>=0"
 	replaces="${conflicts}"
 	pkg_install() {
-		vmove usr/lib/libprotoc.a
 		vmove usr/lib/libprotoc.so
 		vmove usr/include/google/protobuf/compiler
 	}
@@ -89,7 +74,8 @@ libprotoc-devel_package() {
 protobuf-devel_package() {
 	depends="zlib-devel
 	 libprotobuf-${version}_${revision}
-	 libprotobuf-lite-${version}_${revision}"
+	 libprotobuf-lite-${version}_${revision}
+	 abseil-cpp-devel"
 	short_desc="Protocol buffers C++ library - development files"
 	# Switch to versioned package
 	conflicts="protobuf18-devel>=0 protobuf23-devel>=0
@@ -98,8 +84,6 @@ protobuf-devel_package() {
 	replaces="${conflicts}"
 	pkg_install() {
 		vmove usr/include
-		vmove usr/lib/libprotobuf.a
-		vmove usr/lib/libprotobuf-lite.a
 		vmove usr/lib/libprotobuf.so
 		vmove usr/lib/libprotobuf-lite.so
 		vmove usr/lib/pkgconfig

From c71f66656946fbf717836dbaae1de62bf8e2bf90 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 10/34] EternalTerminal: rebuild against protobuf-23.3_1

---
 srcpkgs/EternalTerminal/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/EternalTerminal/template b/srcpkgs/EternalTerminal/template
index 1017a1b4a1ec..156eab6ce47e 100644
--- a/srcpkgs/EternalTerminal/template
+++ b/srcpkgs/EternalTerminal/template
@@ -1,7 +1,7 @@
 # Template file for 'EternalTerminal'
 pkgname=EternalTerminal
 version=6.2.1
-revision=1
+revision=2
 # revisions used for the specific versions of submodules.
 # they can be found in the external/ directory of the source code.
 _sanitizers_gitrev="99e159ec9bc8dd362b08d18436bd40ff0648417b"

From fe418f021e044683122d2d81934d030433467b4a Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 11/34] vlc: rebuild against protobuf-23.3_1

---
 srcpkgs/vlc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vlc/template b/srcpkgs/vlc/template
index 210762b0a7e2..651c94a1353a 100644
--- a/srcpkgs/vlc/template
+++ b/srcpkgs/vlc/template
@@ -1,7 +1,7 @@
 # Template file for 'vlc'
 pkgname=vlc
 version=3.0.18
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--disable-gme --disable-libtar --enable-jack
  --enable-live555 --disable-fluidsynth --enable-dvdread

From 02f0d275e5c417ed50407a3f2053163ae20b53b7 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 12/34] mixxx: rebuild against protobuf-23.3_1

---
 srcpkgs/mixxx/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mixxx/template b/srcpkgs/mixxx/template
index 619ddca0d332..4b9ea00d3fb3 100644
--- a/srcpkgs/mixxx/template
+++ b/srcpkgs/mixxx/template
@@ -1,7 +1,7 @@
 # Template file for 'mixxx'
 pkgname=mixxx
 version=2.3.3
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="extra-cmake-modules pkg-config protobuf qt5-host-tools qt5-devel"

From e810695b580018c83614877f218737fe83d0bc0e Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 13/34] telegram-desktop: rebuild against protobuf-23.3_1

---
 srcpkgs/telegram-desktop/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/telegram-desktop/template b/srcpkgs/telegram-desktop/template
index f114b2341dc5..9db9f80c1a53 100644
--- a/srcpkgs/telegram-desktop/template
+++ b/srcpkgs/telegram-desktop/template
@@ -1,7 +1,7 @@
 # Template file for 'telegram-desktop'
 pkgname=telegram-desktop
 version=4.8.1
-revision=3
+revision=4
 build_style=cmake
 build_helper="qemu"
 configure_args="-DTDESKTOP_API_ID=209235

From 73b1e79e1e77c4d265d5c92d537d9f9de619939e Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:56 +0200
Subject: [PATCH 14/34] usbguard: rebuild against protobuf-23.3_1

---
 srcpkgs/usbguard/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/usbguard/template b/srcpkgs/usbguard/template
index 8625c80a7eda..df4411202568 100644
--- a/srcpkgs/usbguard/template
+++ b/srcpkgs/usbguard/template
@@ -1,7 +1,7 @@
 # Template file for 'usbguard'
 pkgname=usbguard
 version=1.1.2
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-crypto-library=sodium --with-bundled-catch --with-bundled-pegtl"
 conf_files="/etc/usbguard/*"

From c9331ff635c0aa4cf77d85a378fa84aeab8d52a0 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 15/34] nsjail: rebuild against protobuf-23.3_1

---
 srcpkgs/nsjail/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/nsjail/template b/srcpkgs/nsjail/template
index 346348fdf17b..7573d68779b6 100644
--- a/srcpkgs/nsjail/template
+++ b/srcpkgs/nsjail/template
@@ -1,7 +1,7 @@
 # Template file for 'nsjail'
 pkgname=nsjail
 version=3.0
-revision=9
+revision=10
 create_wrksrc=yes
 build_style=gnu-makefile
 hostmakedepends="bison flex pkg-config protobuf which"

From 789714238b78dca655ef753872ef4f93563a2deb Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 16/34] netdata: rebuild against protobuf-23.3_1

---
 srcpkgs/netdata/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 18dbe4394a4e..781120b3f275 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -1,7 +1,7 @@
 # Template file for 'netdata'
 pkgname=netdata
 version=1.37.1
-revision=1
+revision=2
 build_style=gnu-configure
 build_helper=qemu
 configure_args="--with-user=_netdata ac_cv_file_externaldeps_libbpf_libbpf_a=no

From 678a11a044223452fbd40f9a4afd346c579f5ec3 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 17/34] mumble: rebuild against protobuf-23.3_1

---
 srcpkgs/mumble/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 35c2728c74ce..5c30d4ae64b4 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.4.287
-revision=3
+revision=4
 build_style=cmake
 make_cmd=make
 configure_args="-Doverlay-xcompile=OFF -Dbundled-opus=OFF

From 518f1d385c2cdbf7723659be2943e3adaf58667a Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 18/34] mumble: rebuild against protobuf-23.3_1

---
 srcpkgs/mumble/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 5c30d4ae64b4..3dc669705365 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.4.287
-revision=4
+revision=5
 build_style=cmake
 make_cmd=make
 configure_args="-Doverlay-xcompile=OFF -Dbundled-opus=OFF

From 46da3ca95ef1585e5c3aeb995caaf73033129a1f Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 19/34] mozc: statically link against vendored prootbuf

protobuf 23+ links against abseil, which conflicts with the vendored
abseil version in mozc. The build system does not have a flag to use
system abseil.
---
 srcpkgs/mozc/template | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/mozc/template b/srcpkgs/mozc/template
index 3fdb986b3213..e7735cb57f4f 100644
--- a/srcpkgs/mozc/template
+++ b/srcpkgs/mozc/template
@@ -3,16 +3,17 @@ pkgname=mozc
 # src/data/version/mozc_version_template.bzl
 # revision is always 102, template always says 100 ;)
 version=2.28.4800.102
-revision=1
+revision=2
 _commit=056163a5fddbb261b258beb8444998e4882f0cc5
 _abseil=20211102.0
+_protobuf_commit=cc7b1b53234cd7a8f50d90ac3933b240dcf4cd97
 _gyp=0.1+20220404git9ecf45e
 _jpn_dict=e5b3425575734c323e1d947009dd74709437b684
 create_wrksrc=yes
 build_wrksrc=mozc/src
-hostmakedepends="gettext ninja pkg-config protobuf protobuf-devel
+hostmakedepends="gettext ninja pkg-config
  python3-six which qt5-qmake qt5-host-tools"
-makedepends="gtk+-devel ibus-devel libzinnia-devel protobuf-devel qt5-devel
+makedepends="gtk+-devel ibus-devel libzinnia-devel qt5-devel
  fcitx-devel libfcitx5-devel"
 depends="tegaki-zinnia-japanese>=0.3 mozc-base-${version}_${revision}"
 short_desc="Japanese IME (Open Source version of Google Japanese Input)"
@@ -22,11 +23,13 @@ homepage="https://github.com/google/mozc"
 distfiles="
  https://github.com/fcitx/mozc/archive/$_commit.tar.gz
  https://github.com/abseil/abseil-cpp/archive/refs/tags/$_abseil.tar.gz
+ https://github.com/protocolbuffers/protobuf/archive/$_protobuf_commit.tar.gz
  ${DEBIAN_SITE}/main/g/gyp/gyp_$_gyp.orig.tar.xz
  https://github.com/hiroyuki-komatsu/japanese-usage-dictionary/archive/$_jpn_dict.tar.gz
 "
 checksum="259d87bfd7535ad03bd554185677d7345a90166353a6db0b6a3606183ad2923d
  dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4
+ 863e27f6d24f40bce2bbfe5adcf365f2af5479ea917f254331ee60ce88f8c8a5
  0325006f012db66dfa27bf7bb048f3fe38f96e512ebe065930cbc70bcdc06bc9
  0b6efee0eebac2c1a8eeea333278aa40fcef7846bba9a379962c6e567e7e3dc1"
 
@@ -47,7 +50,8 @@ post_extract() {
 	# symlink "submodules" into place
 	for _src_dest in gyp \
 		abseil-cpp \
-		japanese-usage-dictionary:japanese_usage_dictionary
+		japanese-usage-dictionary:japanese_usage_dictionary \
+		protobuf
 	do
 		_src=${_src_dest%:*}
 		_dst=${_src_dest#*:}
@@ -61,7 +65,6 @@ do_configure() {
 	GYP_DEFINES="
 	 document_dir=/usr/share/licenses/${pkgname}
 	 ibus_mozc_path=/usr/libexec/ibus-engine-mozc
-	 use_libprotobuf=1
 	 use_libzinnia=1
 	 ${XBPS_TARGET_NO_ATOMIC8:+use_libatomic=1}
 	" python3 build_mozc.py gyp --target_platform=Linux

From 19b0cb0996eeb0ec8e4209ee10135a1d6530aa12 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 20/34] mosh: rebuild against protobuf-23.3_1

---
 srcpkgs/mosh/patches/cpp17.patch | 14 ++++++++++++++
 srcpkgs/mosh/template            |  5 +++--
 2 files changed, 17 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/mosh/patches/cpp17.patch

diff --git a/srcpkgs/mosh/patches/cpp17.patch b/srcpkgs/mosh/patches/cpp17.patch
new file mode 100644
index 000000000000..5463adc2718b
--- /dev/null
+++ b/srcpkgs/mosh/patches/cpp17.patch
@@ -0,0 +1,14 @@
+--- a/configure.ac	2022-10-27 05:29:47.000000000 +0200
++++ -	2023-07-08 13:19:05.270079012 +0200
+@@ -22,9 +22,9 @@
+ # automake 1.12 seems to require this, but automake 1.11 doesn't recognize it
+ m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+ 
+-# Protobuf 3.6+ requires C++11.
++# Protobuf 3.6+ requires C++11., 4.2.2 with abseil requires C++17
+ AS_IF([pkg-config --atleast-version 3.6.0 protobuf],
+-  [AX_CXX_COMPILE_STDCXX([11])])
++  [AX_CXX_COMPILE_STDCXX([17])])
+ 
+ WARNING_CXXFLAGS=""
+ PICKY_CXXFLAGS=""
diff --git a/srcpkgs/mosh/template b/srcpkgs/mosh/template
index 173ba14bcd47..d252a0c29755 100644
--- a/srcpkgs/mosh/template
+++ b/srcpkgs/mosh/template
@@ -1,9 +1,9 @@
 # Template file for 'mosh'
 pkgname=mosh
 version=1.4.0
-revision=3
+revision=4
 build_style=gnu-configure
-hostmakedepends="perl pkg-config protobuf"
+hostmakedepends="perl pkg-config protobuf autoconf automake"
 makedepends="ncurses-devel protobuf-devel libutempter-devel openssl-devel"
 depends="perl-IO-Tty"
 short_desc="Mobile shell, remote terminal application that allows roaming"
@@ -16,4 +16,5 @@ checksum=872e4b134e5df29c8933dff12350785054d2fd2839b5ae6b5587b14db1465ddd
 pre_configure() {
 	# make local.test always succeed. It fails due to missing X server in chroot.
 	printf "%s\n" "#!/bin/sh" ":" > src/tests/local.test
+	autoreconf -fi
 }

From 115fe82503026b333d79d9155ec98218f860f9a4 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 21/34] libcompizconfig: rebuild against protobuf-23.3_1

---
 srcpkgs/libcompizconfig/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libcompizconfig/template b/srcpkgs/libcompizconfig/template
index 5b59eda97c78..3fb33698bfa6 100644
--- a/srcpkgs/libcompizconfig/template
+++ b/srcpkgs/libcompizconfig/template
@@ -1,7 +1,7 @@
 # Template file for 'libcompizconfig'
 pkgname=libcompizconfig
 version=0.8.18
-revision=10
+revision=11
 build_style=gnu-configure
 configure_args="--disable-static"
 hostmakedepends="automake intltool libtool pkg-config protobuf"

From fbdfe9021ef6aa831421d027f023b5d41f9cf0a7 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 22/34] libArcus: rebuild against protobuf-23.3_1

---
 srcpkgs/libArcus/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libArcus/template b/srcpkgs/libArcus/template
index d6fedecc5599..1cf1b866d650 100644
--- a/srcpkgs/libArcus/template
+++ b/srcpkgs/libArcus/template
@@ -1,7 +1,7 @@
 # Template file for 'libArcus'
 pkgname=libArcus
 version=4.13.1
-revision=4
+revision=5
 build_style=cmake
 configure_args="-DBUILD_EXAMPLES=OFF"
 hostmakedepends="protobuf python3-sip-devel"

From 35aac6dd5ca4386e505e2fe2299e97de3ece119d Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 23/34] kismet: rebuild against protobuf-23.3_1

---
 srcpkgs/kismet/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/kismet/template b/srcpkgs/kismet/template
index 48a0fc5fa6f1..46cbf7b31811 100644
--- a/srcpkgs/kismet/template
+++ b/srcpkgs/kismet/template
@@ -1,7 +1,7 @@
 # Template file for 'kismet'
 pkgname=kismet
 version=2022.08.R1
-revision=2
+revision=3
 _realver="${version//./-}"
 build_style=gnu-configure
 configure_args="--disable-python-tools"

From 49ac68dbad8cd3b8cc3ec3c65c58afcfa33b2fa8 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 24/34] cura-engine: rebuild against protobuf-23.3_1

---
 srcpkgs/cura-engine/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cura-engine/template b/srcpkgs/cura-engine/template
index 4f3118d30252..1f23ddace749 100644
--- a/srcpkgs/cura-engine/template
+++ b/srcpkgs/cura-engine/template
@@ -1,7 +1,7 @@
 # Template file for 'cura-engine'
 pkgname=cura-engine
 version=4.13.1
-revision=3
+revision=4
 build_style=cmake
 configure_args="-DCURA_ENGINE_VERSION=${version}"
 hostmakedepends="protobuf git"

From 2a7554471781dd299724d6cb2ff594ea80b63e21 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 25/34] clementine: rebuild against protobuf-23.3_1

---
 srcpkgs/clementine/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/clementine/template b/srcpkgs/clementine/template
index acd098124529..a1cacbb73d8e 100644
--- a/srcpkgs/clementine/template
+++ b/srcpkgs/clementine/template
@@ -1,11 +1,11 @@
 # Template file for 'clementine'
 pkgname=clementine
 version=1.4.0rc1
-revision=10
+revision=11
 _fullver=${version}-873-g3471134d5
 build_style=cmake
 configure_args="-DUSE_SYSTEM_TAGLIB=ON -DBUILD_WERROR=OFF -DUSE_SYSTEM_PROJECTM=ON
- -DFORCE_GIT_REVISION=${_fullver}"
+ -DFORCE_GIT_REVISION=${_fullver} -DCMAKE_CXX_STANDARD=17"
 hostmakedepends="gettext sparsehash pkg-config qt5-qmake qt5-host-tools protobuf"
 makedepends="chromaprint-devel boost-devel gst-plugins-base1-devel
  qt5-devel glew-devel sqlite-devel protobuf-devel libplist-devel

From 61e28b3c017443954729e35782fb0402837ce1ca Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 26/34] bloaty: rebuild against protobuf-23.3_1

---
 srcpkgs/bloaty/patches/cpp17.patch         | 20 ++++++++
 srcpkgs/bloaty/patches/system-abseil.patch | 58 ++++++++++++++++++++++
 srcpkgs/bloaty/template                    |  2 +-
 3 files changed, 79 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/bloaty/patches/cpp17.patch
 create mode 100644 srcpkgs/bloaty/patches/system-abseil.patch

diff --git a/srcpkgs/bloaty/patches/cpp17.patch b/srcpkgs/bloaty/patches/cpp17.patch
new file mode 100644
index 000000000000..ca458dd79fb6
--- /dev/null
+++ b/srcpkgs/bloaty/patches/cpp17.patch
@@ -0,0 +1,20 @@
+--- bloaty-1.1/CMakeLists.txt	2020-05-24 06:43:55.000000000 +0200
++++ -	2023-07-08 12:51:24.115742363 +0200
+@@ -2,7 +2,7 @@
+ cmake_policy(SET CMP0048 NEW)
+ project (Bloaty VERSION 1.0)
+ project (Bloaty VERSION 1.1)
+-set(CMAKE_CXX_STANDARD 11)
++set(CMAKE_CXX_STANDARD 17)
+ 
+ # Options we define for users.
+ option(BLOATY_ENABLE_ASAN "Enable address sanitizer." OFF)
+@@ -93,7 +93,7 @@
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/src")
+ 
+ # Baseline build flags.
+-set(CMAKE_CXX_FLAGS "-std=c++11 -W -Wall -Wno-sign-compare")
++set(CMAKE_CXX_FLAGS "-W -Wall -Wno-sign-compare")
+ set(CMAKE_CXX_FLAGS_DEBUG "-g1")
+ set(CMAKE_CXX_FLAGS_RELEASE "-O2")
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g1")
diff --git a/srcpkgs/bloaty/patches/system-abseil.patch b/srcpkgs/bloaty/patches/system-abseil.patch
new file mode 100644
index 000000000000..799e10a3b540
--- /dev/null
+++ b/srcpkgs/bloaty/patches/system-abseil.patch
@@ -0,0 +1,58 @@
+--- bloaty-1.1/CMakeLists.txt	2020-05-24 06:43:55.000000000 +0200
++++ -	2023-07-08 13:07:06.559266321 +0200
+@@ -35,6 +35,12 @@
+   MESSAGE(STATUS "pkg-config not found, using bundled dependencies")
+ endif(${PKG_CONFIG_FOUND})
+ endif(UNIX)
++find_package(absl CONFIG)
++if(absl_FOUND)
++  MESSAGE(STATUS "System absl found, using")
++else()
++  MESSAGE(STATUS "System absl not found, using bundled version")
++endif()
+ 
+ # Set default build type.
+ if(NOT CMAKE_BUILD_TYPE)
+@@ -89,7 +95,6 @@
+ 
+ include_directories(.)
+ include_directories(src)
+-include_directories(third_party/abseil-cpp)
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/src")
+ 
+ # Baseline build flags.
+@@ -159,24 +164,6 @@
+     src/macho.cc
+     src/range_map.cc
+     src/webassembly.cc
+-    # Until Abseil has a proper CMake build system
+-    third_party/abseil-cpp/absl/base/internal/raw_logging.cc # Grrrr...
+-    third_party/abseil-cpp/absl/base/internal/throw_delegate.cc
+-    third_party/abseil-cpp/absl/numeric/int128.cc
+-    third_party/abseil-cpp/absl/strings/ascii.cc
+-    third_party/abseil-cpp/absl/strings/charconv.cc
+-    third_party/abseil-cpp/absl/strings/escaping.cc
+-    third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc
+-    third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc
+-    third_party/abseil-cpp/absl/strings/internal/memutil.cc
+-    third_party/abseil-cpp/absl/strings/internal/utf8.cc
+-    third_party/abseil-cpp/absl/strings/match.cc
+-    third_party/abseil-cpp/absl/strings/numbers.cc
+-    third_party/abseil-cpp/absl/strings/str_cat.cc
+-    third_party/abseil-cpp/absl/strings/string_view.cc
+-    third_party/abseil-cpp/absl/strings/str_split.cc
+-    third_party/abseil-cpp/absl/strings/substitute.cc
+-    third_party/abseil-cpp/absl/types/bad_optional_access.cc
+     # One source file, no special build system needed.
+     third_party/demumble/third_party/libcxxabi/cxa_demangle.cpp
+     )
+@@ -214,6 +201,9 @@
+   endif(${PROTOBUF_FOUND})
+ endif(UNIX)
+ 
++list(APPEND LIBBLOATY_LIBS absl::strings)
++list(APPEND LIBBLOATY_LIBS absl::optional)
++
+ if(DEFINED ENV{LIB_FUZZING_ENGINE})
+   message("LIB_FUZZING_ENGINE set, building fuzz_target instead of Bloaty")
+   add_executable(fuzz_target tests/fuzz_target.cc)
diff --git a/srcpkgs/bloaty/template b/srcpkgs/bloaty/template
index 226d2f30ffcd..2a79fb502f99 100644
--- a/srcpkgs/bloaty/template
+++ b/srcpkgs/bloaty/template
@@ -1,7 +1,7 @@
 # Template file for 'bloaty'
 pkgname=bloaty
 version=1.1
-revision=11
+revision=12
 build_style=cmake
 hostmakedepends="pkg-config protobuf"
 makedepends="capstone-devel protobuf-devel re2-devel zlib-devel"

From cbbee324284f82a1ad921cbab561f19820cb01f5 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 27/34] astroid: rebuild against protobuf-23.3_1

---
 srcpkgs/astroid/patches/cpp17.patch       | 11 +++++++++++
 srcpkgs/astroid/patches/protobuf-23.patch | 14 ++++++++++++++
 srcpkgs/astroid/template                  |  2 +-
 3 files changed, 26 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/astroid/patches/cpp17.patch
 create mode 100644 srcpkgs/astroid/patches/protobuf-23.patch

diff --git a/srcpkgs/astroid/patches/cpp17.patch b/srcpkgs/astroid/patches/cpp17.patch
new file mode 100644
index 000000000000..9ac9a9f952e6
--- /dev/null
+++ b/srcpkgs/astroid/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- astroid-0.16/CMakeLists.txt	2021-08-05 15:31:11.000000000 +0200
++++ -	2023-07-03 21:53:30.304595787 +0200
+@@ -145,7 +145,7 @@
+ # compile flags and options
+ #
+ 
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ 
+ include_directories (
+   ${GTKMM3_INCLUDE_DIRS}
diff --git a/srcpkgs/astroid/patches/protobuf-23.patch b/srcpkgs/astroid/patches/protobuf-23.patch
new file mode 100644
index 000000000000..00a8e7442fdb
--- /dev/null
+++ b/srcpkgs/astroid/patches/protobuf-23.patch
@@ -0,0 +1,14 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6eb00cf..10296e8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -117,7 +117,9 @@ find_package ( Boost REQUIRED
+   system
+   )
+ 
++find_package (Protobuf CONFIG REQUIRED)
+ find_package (Protobuf 3.0 REQUIRED)
++set (PROTOBUF_LIBRARIES protobuf::libprotobuf)
+ set (PROTO_FILES
+   src/modes/thread_view/webextension/messages.proto
+   )
diff --git a/srcpkgs/astroid/template b/srcpkgs/astroid/template
index 25d3da44e024..8fd1c032be2c 100644
--- a/srcpkgs/astroid/template
+++ b/srcpkgs/astroid/template
@@ -1,7 +1,7 @@
 # Template file for 'astroid'
 pkgname=astroid
 version=0.16
-revision=8
+revision=9
 build_style=cmake
 build_helper=gir
 hostmakedepends="pkg-config scdoc protobuf gobject-introspection"

From 51e35a5986f0fb4808e12f76fb433ed11a0e24c1 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 28/34] android-tools: rebuild against protobuf-23.3_1

---
 .../android-tools/patches/protobuf-23.patch   | 31 +++++++++++++++++++
 srcpkgs/android-tools/template                |  2 +-
 2 files changed, 32 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/android-tools/patches/protobuf-23.patch

diff --git a/srcpkgs/android-tools/patches/protobuf-23.patch b/srcpkgs/android-tools/patches/protobuf-23.patch
new file mode 100644
index 000000000000..517fcf5f1cde
--- /dev/null
+++ b/srcpkgs/android-tools/patches/protobuf-23.patch
@@ -0,0 +1,31 @@
+--- android-tools-34.0.1.orig/vendor/CMakeLists.txt     2023-06-28 23:15:15.544237905 +0200
++++ android-tools-34.0.1/vendor/CMakeLists.txt  2023-06-28 23:45:28.672277935 +0200
+@@ -73,6 +73,8 @@
+ pkg_check_modules(libzstd REQUIRED IMPORTED_TARGET libzstd)
+ 
++find_package(Protobuf CONFIG REQUIRED)
+ find_package(Protobuf REQUIRED)
++set(PROTOBUF_LIBRARIES protobuf::libprotobuf)
+ set(THREADS_PREFER_PTHREAD_FLAG ON)
+ find_package(Threads REQUIRED)
+ 
+--- android-tools-34.0.1.orig/vendor/extras/libjsonpb/parse/jsonpb.cpp  2023-06-28 23:15:15.414236253 +0200
++++ android-tools-34.0.1/vendor/extras/libjsonpb/parse/jsonpb.cpp       2023-06-28 23:34:21.672962973 +0200
+@@ -51,7 +51,7 @@
+ #if GOOGLE_PROTOBUF_VERSION < 3016000
+     return MakeError<std::string>(status.error_message().as_string());
+ #else
+-    return MakeError<std::string>(status.message().as_string());
++    return MakeError<std::string>(std::string(status.message()));
+ #endif
+   }
+   return ErrorOr<std::string>(std::move(json));
+@@ -68,7 +68,7 @@
+ #if GOOGLE_PROTOBUF_VERSION < 3016000
+     return MakeError<std::monostate>(status.error_message().as_string());
+ #else
+-    return MakeError<std::monostate>(status.message().as_string());
++    return MakeError<std::monostate>(std::string(status.message()));
+ #endif
+   }
+   if (!message->ParseFromString(binary)) {
diff --git a/srcpkgs/android-tools/template b/srcpkgs/android-tools/template
index 329674482b69..b813474eace0 100644
--- a/srcpkgs/android-tools/template
+++ b/srcpkgs/android-tools/template
@@ -1,7 +1,7 @@
 # Template file for 'android-tools'
 pkgname=android-tools
 version=34.0.1
-revision=1
+revision=2
 archs="armv* aarch64* x86_64* i686* ppc64le*"
 build_style=cmake
 hostmakedepends="perl go protobuf pkg-config"

From 2040b4cf3165c7a665633d032c52d6b8a415d1e1 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:06:25 +0200
Subject: [PATCH 29/34] justbuild: rebuild against grpc-1.56.0_1

---
 srcpkgs/justbuild/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index ee36f6dae575..f933611d1283 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
 # Template file for 'justbuild'
 pkgname=justbuild
 version=1.1.2
-revision=2
+revision=3
 create_wrksrc=yes
 hostmakedepends="jo pandoc pkg-config python3 tar unzip wget"
 makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++

From 08c421575c5a8a699ec9b75cf3c5fc27ff57ebc0 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Wed, 28 Jun 2023 11:07:13 +0200
Subject: [PATCH 30/34] sysdig: update to 0.31.5.

---
 srcpkgs/sysdig/files/libsinsp-zstd.patch      |  22 +
 ...d9aab87801281e22898242e24e0bc63873b2.patch | 557 ++++++++++++++++++
 .../falcosecurity-libs-nodownload.patch       |  28 +
 srcpkgs/sysdig/template                       |  32 +-
 4 files changed, 625 insertions(+), 14 deletions(-)
 create mode 100644 srcpkgs/sysdig/files/libsinsp-zstd.patch
 create mode 100644 srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
 create mode 100644 srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch

diff --git a/srcpkgs/sysdig/files/libsinsp-zstd.patch b/srcpkgs/sysdig/files/libsinsp-zstd.patch
new file mode 100644
index 000000000000..e99e4f7c1207
--- /dev/null
+++ b/srcpkgs/sysdig/files/libsinsp-zstd.patch
@@ -0,0 +1,22 @@
+diff --git a/userspace/libsinsp/CMakeLists.txt b/userspace/libsinsp/CMakeLists.txt
+index 18e59b1..b23e890 100644
+--- a/userspace/libsinsp/CMakeLists.txt
++++ b/userspace/libsinsp/CMakeLists.txt
+@@ -38,6 +38,7 @@ include(ExternalProject)
+ 
+ if(NOT WIN32 AND NOT APPLE)
+ 	include(b64)
++	find_library(ZSTD_LIB NAMES zstd)
+ endif()
+ 
+ include(jsoncpp)
+@@ -246,7 +247,8 @@ if(NOT WIN32)
+ 				"${PROTOBUF_LIB}"
+ 				"${CARES_LIB}"
+ 				"${JQ_LIB}"
+-				"${B64_LIB}")
++				"${B64_LIB}"
++				"${ZSTD_LIB}")
+ 
+ 			if(NOT MUSL_OPTIMIZED_BUILD)
+ 				list(APPEND SINSP_LIBRARIES
diff --git a/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch b/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
new file mode 100644
index 000000000000..54c2ed8d0d98
--- /dev/null
+++ b/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
@@ -0,0 +1,557 @@
+From 3d22309a7317d500f75d053af6f9e5b5b5728b40 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 09:56:04 +0000
+Subject: [PATCH 1/6] update(cmake): bump driver to 5.0.0+driver
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ cmake/modules/driver.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/driver.cmake b/cmake/modules/driver.cmake
+index bee1926d3a..7fd35d7f99 100644
+--- a/cmake/modules/driver.cmake
++++ b/cmake/modules/driver.cmake
+@@ -31,8 +31,8 @@ else()
+   # In case you want to test against another driver version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DDRIVER_VERSION=dev ..`
+   if(NOT DRIVER_VERSION)
+-    set(DRIVER_VERSION "4.0.1+driver")
+-    set(DRIVER_CHECKSUM "SHA256=424d647aa6b6fa45b6701c4bbc9293c161ed00a08254d83eea419c0a736f280d")
++    set(DRIVER_VERSION "5.0.0+driver")
++    set(DRIVER_CHECKSUM "SHA256=c988ca7ac7d174f62d1bfbaaca49efd117f7b329f474d1b46b643635b2e35083")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+
+From 847e602404dcee85f06dde5a1d8ad0c740c49c98 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 09:56:08 +0000
+Subject: [PATCH 2/6] update(cmake): bump libs to 0.11.0-rc1
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ cmake/modules/falcosecurity-libs.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index b345c057ad..f30233b9e3 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -32,8 +32,8 @@ else()
+   # In case you want to test against another falcosecurity/libs version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DFALCOSECURITY_LIBS_VERSION=dev ..`
+   if(NOT FALCOSECURITY_LIBS_VERSION)
+-    set(FALCOSECURITY_LIBS_VERSION "0.10.5")
+-    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=2a4b37c08bec4ba81326314831f341385aff267062e8d4483437958689662936")
++    set(FALCOSECURITY_LIBS_VERSION "0.11.0-rc1")
++    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=bb6e57f66ae85dcda6e695226cd14082d9a1215902909cdde5b83f7abef44d8f")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+
+From 1d1dbaf06265d8eefd4038e8474f71f7958ec840 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 10:43:27 +0000
+Subject: [PATCH 3/6] fix(cmake): solve c++17 compilation issues
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ CMakeLists.txt                         |  3 +++
+ cmake/modules/falcosecurity-libs.cmake | 10 +++++-----
+ 2 files changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0309d66633..6d28c6c67d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -146,6 +146,9 @@ if(NOT DEFINED SYSDIG_COMPONENT_NAME)
+     set(SYSDIG_COMPONENT_NAME "${CMAKE_PROJECT_NAME}")
+ endif()
+ 
++set(CMAKE_CXX_STANDARD 17)
++set(CMAKE_CXX_EXTENSIONS OFF)
++
+ include(falcosecurity-libs)
+ include(yaml-cpp)
+ include(nlohmann-json)
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index f30233b9e3..fe5dacd7ad 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -94,12 +94,12 @@ else()
+ endif()
+ 
+ include(CheckCXXCompilerFlag)
+-CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX14)
+-if(CREATE_TEST_TARGETS AND NOT WIN32 AND COMPILER_SUPPORTS_CXX14)
+-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
++CHECK_CXX_COMPILER_FLAG("-std=c++17" COMPILER_SUPPORTS_CXX17)
++if(CREATE_TEST_TARGETS AND NOT WIN32 AND COMPILER_SUPPORTS_CXX17)
++	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ 	include(gtest)
+-elseif(CREATE_TEST_TARGETS AND NOT COMPILER_SUPPORTS_CXX14)
+-	message(FATAL_ERROR "Your compiler doesn't support c++14: cannot include gtest and create test targets.")
++elseif(CREATE_TEST_TARGETS AND NOT COMPILER_SUPPORTS_CXX17)
++	message(FATAL_ERROR "Your compiler doesn't support c++17: cannot include gtest and create test targets.")
+ endif()
+ 
+ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
+
+From d5fcbad2d5ea63e1439ab7174a5cfd9a7a2e1545 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 10:44:05 +0000
+Subject: [PATCH 4/6] update(userspace): sync sysdig and csysdig with latest
+ libs
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ userspace/sysdig/csysdig.cpp                |  6 +--
+ userspace/sysdig/sysdig.cpp                 |  9 +---
+ userspace/sysdig/utils/plugin_utils.cpp     | 37 ++++++++++-----
+ userspace/sysdig/utils/sinsp_opener.cpp     | 18 ++++----
+ userspace/sysdig/utils/supported_events.cpp | 50 +++++++++++----------
+ userspace/sysdig/utils/supported_fields.cpp | 15 +++----
+ 6 files changed, 70 insertions(+), 65 deletions(-)
+
+diff --git a/userspace/sysdig/csysdig.cpp b/userspace/sysdig/csysdig.cpp
+index 9419882341..edd8129a0e 100644
+--- a/userspace/sysdig/csysdig.cpp
++++ b/userspace/sysdig/csysdig.cpp
+@@ -39,11 +39,11 @@ limitations under the License.
+ #include "chisel.h"
+ #include "chisel_utils.h"
+ #endif
+-#include "fields_info.h"
+ #include "chisel_table.h"
+ #include "utils.h"
+ #include "utils/plugin_utils.h"
+ #include "utils/sinsp_opener.h"
++#include "utils/supported_fields.h"
+ 
+ #ifdef _WIN32
+ #include "win32/getopt.h"
+@@ -704,8 +704,8 @@ sysdig_init_res csysdig_init(int argc, char **argv)
+ 		//
+ 		if(list_flds)
+ 		{
+-			list_fields(false, false);
+-
++			// todo(jasondellaluce): support source selection, verbosity, markdown
++			print_supported_fields(inspector, plugins, "", true, false);
+ 			res.m_res = EXIT_SUCCESS;
+ 			goto exit;
+ 		}
+diff --git a/userspace/sysdig/sysdig.cpp b/userspace/sysdig/sysdig.cpp
+index 40f2b39ef9..a978070d73 100644
+--- a/userspace/sysdig/sysdig.cpp
++++ b/userspace/sysdig/sysdig.cpp
+@@ -43,7 +43,6 @@ limitations under the License.
+ #include "chisel_utils.h"
+ #include "chisel_fields_info.h"
+ #endif
+-#include "fields_info.h"
+ #include "utils.h"
+ #include "plugin.h"
+ #include "plugin_manager.h"
+@@ -455,8 +454,6 @@ void print_summary_table(sinsp* inspector,
+ 						 std::vector<summary_table_entry> &summary_table,
+ 						 uint32_t nentries)
+ {
+-	sinsp_evttables* einfo = inspector->get_event_info_tables();
+-
+ 	std::cout << "----------------------\n";
+ 	std::string tstr = std::string("Event");
+ 	tstr.resize(16, ' ');
+@@ -478,7 +475,7 @@ void print_summary_table(sinsp* inspector,
+ 
+ 		if(e.m_is_unsupported_syscall)
+ 		{
+-			tstr = einfo->m_syscall_info_table[e.m_id / 2].name;
++			tstr = scap_get_ppm_sc_name((ppm_sc_code) (e.m_id / 2));
+ 			tstr.resize(16, ' ');
+ 
+ 			printf("%s%s%" PRIu64 "\n",
+@@ -488,7 +485,7 @@ void print_summary_table(sinsp* inspector,
+ 		}
+ 		else
+ 		{
+-			tstr = einfo->m_event_info[e.m_id].name;
++			tstr = libsinsp::events::info((ppm_event_code) e.m_id)->name;
+ 			tstr.resize(16, ' ');
+ 
+ 			printf("%s%s%" PRIu64 "\n",
+@@ -1862,8 +1859,6 @@ sysdig_init_res sysdig_init(int argc, char **argv)
+ 					res.m_res = EXIT_FAILURE;
+ 					goto exit;
+ 				}
+-
+-				inspector->filter_proc_table_when_saving(true);
+ 			}
+ 			else
+ 			{
+diff --git a/userspace/sysdig/utils/plugin_utils.cpp b/userspace/sysdig/utils/plugin_utils.cpp
+index ad69543b3e..b99de98b66 100644
+--- a/userspace/sysdig/utils/plugin_utils.cpp
++++ b/userspace/sysdig/utils/plugin_utils.cpp
+@@ -146,6 +146,7 @@ void plugin_utils::plugin_entry::init(sinsp *inspector)
+     }
+     if (plugin->caps() & CAP_EXTRACTION)
+     {
++        // todo(jasondellaluce): manage field name conflicts
+         g_filterlist.add_filter_check(sinsp_plugin::new_filtercheck(plugin));
+     }
+     inited = true;
+@@ -185,13 +186,30 @@ void plugin_utils::plugin_entry::print_info(sinsp* inspector, std::ostringstream
+     os << "Capabilities: " << std::endl;
+     if(plugin->caps() & CAP_SOURCING)
+     {
+-        os << "  - Event Sourcing (ID=" << plugin->id();
+-        os << ", source='" << plugin->event_source() << "')" << std::endl;
++        os << "  - Event Sourcing";
++        if (plugin->id() != 0)
++        {
++            os << " (ID=" << plugin->id();
++            os << ", source='" << plugin->event_source() << "')";
++        }
++        else
++        {
++            os << " (system events)";
++        }
++        os << std::endl;
+     }
+     if(plugin->caps() & CAP_EXTRACTION)
+     {
+         os << "  - Field Extraction" << std::endl;
+     }
++    if(plugin->caps() & CAP_PARSING)
++    {
++        os << "  - Event Parsing" << std::endl;
++    }
++    if(plugin->caps() & CAP_ASYNC)
++    {
++        os << "  - Async Events" << std::endl;
++    }
+ }
+ 
+ void plugin_utils::add_dir(std::string dirname, bool front_add)
+@@ -609,7 +627,7 @@ std::vector<std::string> plugin_utils::get_event_sources(sinsp *inspector)
+         // the plugin, in case it was not registered already
+         pl.get_plugin(inspector);
+     }
+-    return inspector->get_plugin_manager()->sources();
++    return inspector->event_sources();
+ }
+ 
+ std::vector<std::unique_ptr<sinsp_filter_check>> plugin_utils::get_filterchecks(sinsp *inspector, const std::string& source)
+@@ -617,16 +635,13 @@ std::vector<std::unique_ptr<sinsp_filter_check>> plugin_utils::get_filterchecks(
+     std::vector<std::unique_ptr<sinsp_filter_check>> list;
+     list.push_back(std::unique_ptr<sinsp_filter_check>(inspector->new_generic_filtercheck()));
+ 
+-    // todo(jasondellaluce): remove this once we support extracting plugin fields from syscalls
+-    if (source != s_syscall_source)
++    for (auto &pl : m_plugins)
+     {
+-        for (auto &pl : m_plugins)
++        auto plugin = pl.get_plugin(inspector);
++        if (plugin->caps() & CAP_EXTRACTION
++            && sinsp_plugin::is_source_compatible(plugin->extract_event_sources(), source))
+         {
+-            auto plugin = pl.get_plugin(inspector);
+-            if (plugin->caps() & CAP_EXTRACTION && plugin->is_source_compatible(source))
+-            {
+-                list.push_back(std::unique_ptr<sinsp_filter_check>(sinsp_plugin::new_filtercheck(plugin)));
+-            }
++            list.push_back(std::unique_ptr<sinsp_filter_check>(sinsp_plugin::new_filtercheck(plugin)));
+         }
+     }
+     return list;
+diff --git a/userspace/sysdig/utils/sinsp_opener.cpp b/userspace/sysdig/utils/sinsp_opener.cpp
+index eafdb631d3..7315b99c7d 100644
+--- a/userspace/sysdig/utils/sinsp_opener.cpp
++++ b/userspace/sysdig/utils/sinsp_opener.cpp
+@@ -50,14 +50,12 @@ void sinsp_opener::open(sinsp* inspector) const
+ 
+ #if defined(HAS_CAPTURE)
+     /* Populate syscalls of interest */
+-    std::unordered_set<uint32_t> sc_of_interest = inspector->get_all_ppm_sc();
++    auto sc_of_interest = libsinsp::events::all_sc_set();
+ 
+-    /* Populate tracepoints of interest */
+-    std::unordered_set<uint32_t> tp_of_interest = inspector->get_all_tp();
+     if(!options.page_faults)
+     {
+-        tp_of_interest.erase(PAGE_FAULT_USER);
+-        tp_of_interest.erase(PAGE_FAULT_KERN);
++        sc_of_interest.remove(ppm_sc_code::PPM_SC_PAGE_FAULT_USER);
++        sc_of_interest.remove(ppm_sc_code::PPM_SC_PAGE_FAULT_KERNEL);
+     }
+ 
+     if(udig.enabled)
+@@ -77,7 +75,7 @@ void sinsp_opener::open(sinsp* inspector) const
+ #ifdef HAS_MODERN_BPF
+ 		if(bpf.modern)
+ 		{
+-			inspector->open_modern_bpf(DEFAULT_DRIVER_BUFFER_BYTES_DIM, bpf.cpus_for_each_syscall_buffer, true, sc_of_interest, tp_of_interest);
++			inspector->open_modern_bpf(DEFAULT_DRIVER_BUFFER_BYTES_DIM, bpf.cpus_for_each_syscall_buffer, true, sc_of_interest);
+ 			return;
+ 		}
+ #endif
+@@ -95,7 +93,7 @@ void sinsp_opener::open(sinsp* inspector) const
+ 
+         try
+         {
+-            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+         }
+         catch(const sinsp_exception& e)
+         {
+@@ -103,7 +101,7 @@ void sinsp_opener::open(sinsp* inspector) const
+             {
+                 fprintf(stderr, "Unable to load the BPF probe\n");
+             }
+-            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+         }
+ 
+         // Enable gathering the CPU from the kernel module
+@@ -114,7 +112,7 @@ void sinsp_opener::open(sinsp* inspector) const
+     // default to kernel module if no other option is specified
+     try
+     {
+-        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+     }
+     catch(const sinsp_exception& e)
+     {
+@@ -124,7 +122,7 @@ void sinsp_opener::open(sinsp* inspector) const
+         {
+             fprintf(stderr, "Unable to load the driver\n");
+         }
+-        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+     }
+ 
+     // Enable gathering the CPU from the kernel module
+diff --git a/userspace/sysdig/utils/supported_events.cpp b/userspace/sysdig/utils/supported_events.cpp
+index 1442911209..7f0d630011 100644
+--- a/userspace/sysdig/utils/supported_events.cpp
++++ b/userspace/sysdig/utils/supported_events.cpp
+@@ -27,25 +27,25 @@ struct event_entry
+ {
+     bool is_enter;
+     std::string name;
+-    struct ppm_event_info info;
++    const ppm_event_info* info;
+ };
+ 
+-static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include_generics)
++static std::vector<event_entry> get_event_entries(bool include_generics)
+ {
+     event_entry entry;
+     std::vector<event_entry> events;
+-    const struct ppm_event_info* etable = inspector->get_event_info_tables()->m_event_info;
+ 
+     // skip generic events
+-    for(uint32_t evt = PPME_GENERIC_X + 1; evt < PPM_EVENT_MAX; evt++)
++    for(const auto& evt : libsinsp::events::all_event_set())
+     {
+-        if (!sinsp::is_old_version_event(evt)
+-                && !sinsp::is_unused_event(evt)
+-                && !sinsp::is_unknown_event(evt))
++        if (!libsinsp::events::is_generic(evt)
++            && !libsinsp::events::is_old_version_event(evt)
++            && !libsinsp::events::is_unused_event(evt)
++            && !libsinsp::events::is_unknown_event(evt))
+         {
+             entry.is_enter = PPME_IS_ENTER(evt);
+-            entry.name = etable[evt].name;
+-            entry.info = etable[evt];
++            entry.info = libsinsp::events::info(evt);
++			entry.name = entry.info->name;
+             events.push_back(entry);
+         }
+     }
+@@ -53,17 +53,19 @@ static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include
+     if (include_generics)
+     {
+         // append generic events
+-        const auto generic_syscalls = inspector->get_events_names({PPME_GENERIC_E});
+-        for (const auto& name : generic_syscalls)
+-        {
+-            for(uint32_t evt = PPME_GENERIC_E; evt <= PPME_GENERIC_X; evt++)
+-            {
+-                entry.is_enter = PPME_IS_ENTER(evt);
+-                entry.name = name;
+-                entry.info = etable[evt];
+-                events.push_back(entry);
+-            }
+-        }
++		const auto names = libsinsp::events::event_set_to_names({ppm_event_code::PPME_GENERIC_E});
++		for (const auto& name : names)
++		{
++			entry.is_enter = PPME_IS_ENTER(ppm_event_code::PPME_GENERIC_E);
++			entry.info = libsinsp::events::info(ppm_event_code::PPME_GENERIC_E);
++			entry.name = name;
++			events.push_back(entry);
++
++			entry.is_enter = PPME_IS_ENTER(ppm_event_code::PPME_GENERIC_X);
++			entry.info = libsinsp::events::info(ppm_event_code::PPME_GENERIC_X);
++			entry.name = name;
++			events.push_back(entry);
++		}
+     }
+ 
+     return events;
+@@ -71,7 +73,7 @@ static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include
+ 
+ void print_supported_events(sinsp* inspector, bool markdown)
+ {
+-    const auto events = get_event_entries(inspector, true);
++    const auto events = get_event_entries(true);
+ 
+     if(markdown)
+     {
+@@ -91,15 +93,15 @@ void print_supported_events(sinsp* inspector, bool markdown)
+             printf("%c %s(", dir, e.name.c_str());
+         }
+ 
+-        for(uint32_t k = 0; k < e.info.nparams; k++)
++        for(uint32_t k = 0; k < e.info->nparams; k++)
+         {
+             if(k != 0)
+             {
+                 printf(", ");
+             }
+ 
+-            printf("%s %s", param_type_to_string(e.info.params[k].type),
+-                e.info.params[k].name);
++            printf("%s %s", param_type_to_string(e.info->params[k].type),
++                e.info->params[k].name);
+         }
+         printf(")\n");
+     }
+diff --git a/userspace/sysdig/utils/supported_fields.cpp b/userspace/sysdig/utils/supported_fields.cpp
+index 6e2575b030..3127fb7220 100644
+--- a/userspace/sysdig/utils/supported_fields.cpp
++++ b/userspace/sysdig/utils/supported_fields.cpp
+@@ -35,11 +35,9 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+ {
+     std::vector<fields_info> field_infos;
+     std::vector<std::unique_ptr<const sinsp_filter_check>> filtecheck_lists; // only used to retain memory until we finish
+-    std::vector<std::string> sources = { s_syscall_source };
++    std::vector<std::string> sources = plugins.get_event_sources(inspector);
+ 
+     // add event sources defined by the loaded plugins
+-    const auto& plugin_sources = plugins.get_event_sources(inspector);
+-    sources.insert(sources.end(), plugin_sources.begin(), plugin_sources.end());
+     if (!source.empty())
+     {
+         bool found = false;
+@@ -66,7 +64,6 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+         }
+ 
+         std::vector<const filter_check_info*> filterchecks;
+-        // todo(jasondellaluce): change this once we support extracting plugin fields from syscalls
+         if (src == s_syscall_source)
+         {
+             std::vector<const filter_check_info*> all_checks;
+@@ -81,13 +78,11 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+                 }
+             }
+         }
+-        else
++
++        for (auto& check: plugins.get_filterchecks(inspector, src))
+         {
+-            for (auto& check: plugins.get_filterchecks(inspector, src))
+-            {
+-                filterchecks.push_back(check->get_fields());
+-                filtecheck_lists.push_back(std::move(check));
+-            }
++            filterchecks.push_back(check->get_fields());
++            filtecheck_lists.push_back(std::move(check));
+         }
+         
+         const auto classes = sinsp_filter_factory::check_infos_to_fieldclass_infos(filterchecks);
+
+From c8b0d055aec4d2378b7934dd9436fd4500d1021e Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 14:15:23 +0000
+Subject: [PATCH 5/6] fix: solve compilation issues on windows
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ CMakeLists.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6d28c6c67d..5afd967f27 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -148,6 +148,9 @@ endif()
+ 
+ set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_CXX_EXTENSIONS OFF)
++if(MSVC OR WIN32)
++	add_compile_definitions(_HAS_STD_BYTE=0)
++endif()
+ 
+ include(falcosecurity-libs)
+ include(yaml-cpp)
+
+From 954e6fc6238f21d4870a491395d68a7dd3062aa9 Mon Sep 17 00:00:00 2001
+From: Roberto Scolaro <roberto.scolaro21@gmail.com>
+Date: Mon, 5 Jun 2023 10:34:03 +0000
+Subject: [PATCH 6/6] update(cmake): bump libs 0.11.0 + driver 5.0.1
+
+Signed-off-by: Roberto Scolaro <roberto.scolaro21@gmail.com>
+---
+ CMakeLists.txt                         | 2 +-
+ cmake/modules/driver.cmake             | 4 ++--
+ cmake/modules/falcosecurity-libs.cmake | 4 ++--
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5afd967f27..f3f23b5e9a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -90,7 +90,7 @@ if(NOT WIN32)
+ 	endif()
+ 
+ 	set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_COMMON_FLAGS}")
+-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++0x")
++	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++17")
+ 
+ 	set(CMAKE_C_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+ 	set(CMAKE_CXX_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+diff --git a/cmake/modules/driver.cmake b/cmake/modules/driver.cmake
+index 7fd35d7f99..ca1e56718c 100644
+--- a/cmake/modules/driver.cmake
++++ b/cmake/modules/driver.cmake
+@@ -31,8 +31,8 @@ else()
+   # In case you want to test against another driver version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DDRIVER_VERSION=dev ..`
+   if(NOT DRIVER_VERSION)
+-    set(DRIVER_VERSION "5.0.0+driver")
+-    set(DRIVER_CHECKSUM "SHA256=c988ca7ac7d174f62d1bfbaaca49efd117f7b329f474d1b46b643635b2e35083")
++    set(DRIVER_VERSION "5.0.1+driver")
++    set(DRIVER_CHECKSUM "SHA256=8b197b916b6419dac8fb41807aa05d822164c7bfd2c3eef66d20d060a05a485a")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index fe5dacd7ad..c626d7944e 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -32,8 +32,8 @@ else()
+   # In case you want to test against another falcosecurity/libs version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DFALCOSECURITY_LIBS_VERSION=dev ..`
+   if(NOT FALCOSECURITY_LIBS_VERSION)
+-    set(FALCOSECURITY_LIBS_VERSION "0.11.0-rc1")
+-    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=bb6e57f66ae85dcda6e695226cd14082d9a1215902909cdde5b83f7abef44d8f")
++    set(FALCOSECURITY_LIBS_VERSION "0.11.0")
++    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=90414d00591986e94f2c49e7d65eef5c2dedee266354dd3db8234bb3b06c86fa")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
diff --git a/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch b/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch
new file mode 100644
index 000000000000..467cffacba2f
--- /dev/null
+++ b/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch
@@ -0,0 +1,28 @@
+diff --git a/cmake/modules/driver-repo/CMakeLists.txt b/cmake/modules/driver-repo/CMakeLists.txt
+index 479611a..5238121 100644
+--- a/cmake/modules/driver-repo/CMakeLists.txt
++++ b/cmake/modules/driver-repo/CMakeLists.txt
+@@ -25,8 +25,7 @@ message(STATUS "Driver version: ${DRIVER_VERSION}")
+ 
+ ExternalProject_Add(
+   driver
+-  URL "https://github.com/falcosecurity/libs/archive/${DRIVER_VERSION}.tar.gz"
+-  URL_HASH "${DRIVER_CHECKSUM}"
++  URL "${CMAKE_CURRENT_SOURCE_DIR}/../../../../libs-${DRIVER_VERSION}"
+   CONFIGURE_COMMAND ""
+   BUILD_COMMAND ""
+   INSTALL_COMMAND ""
+diff --git a/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt b/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
+index 2059547..74e78e2 100644
+--- a/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
++++ b/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
+@@ -25,8 +25,7 @@ message(STATUS "Libs version: ${FALCOSECURITY_LIBS_VERSION}")
+ 
+ ExternalProject_Add(
+   falcosecurity-libs
+-  URL "https://github.com/falcosecurity/libs/archive/${FALCOSECURITY_LIBS_VERSION}.tar.gz"
+-  URL_HASH "${FALCOSECURITY_LIBS_CHECKSUM}"
++  URL "${CMAKE_CURRENT_SOURCE_DIR}/../../../../libs-${FALCOSECURITY_LIBS_VERSION}"
+   CONFIGURE_COMMAND ""
+   BUILD_COMMAND ""
+   INSTALL_COMMAND ""
diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index 4a04e762468c..d088357125b8 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,43 +1,47 @@
 # Template file for 'sysdig'
 pkgname=sysdig
-version=0.28.0
-revision=8
+version=0.31.5
+revision=1
+_falcover=0.11.0
 build_style=cmake
+build_wrksrc="sysdig-${version}"
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF
  -DLUA_INCLUDE_DIR=${XBPS_CROSS_BASE}/usr/include/luajit-2.1
- -DLUA_LIBRARY=/usr/lib/libluajit-5.1.so -DCREATE_TEST_TARGETS=OFF"
-make_cmd=make
+ -DLUA_LIBRARY=/usr/lib/libluajit-5.1.so -DCREATE_TEST_TARGETS=OFF
+ -DUSE_BUNDLED_TBB=OFF -DBUILD_LIBSCAP_EXAMPLES=OFF
+ -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_EXTENSIONS=OFF
+ -DDRIVER_VERSION=${_falcover}"
 hostmakedepends="wget pkg-config protobuf"
-makedepends="LuaJIT-devel c-ares-devel elfutils-devel grpc-devel jsoncpp-devel
+makedepends="LuaJIT-devel c-ares-devel elfutils-devel grpc-devel
  libcurl-devel libprotoc-devel openssl-devel ncurses-devel protobuf-devel
- tbb-devel zlib-devel"
+ tbb-devel zlib-devel yaml-cpp-devel json-c++"
 depends="dkms"
 short_desc="Open source system-level exploration and troubleshooting tool"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0, MIT, GPL-2.0-only"
 homepage="http://www.sysdig.org/"
 changelog="https://github.com/draios/sysdig/releases"
-distfiles="https://github.com/draios/${pkgname}/archive/${version}.tar.gz"
-checksum=817e595d501acf3fe11dc659a154aadbba848dd87ae801f5bf34a42e84979f37
-disable_parallel_build=yes
+distfiles="https://github.com/draios/sysdig/archive/${version}.tar.gz
+ https://github.com/falcosecurity/libs/archive/${_falcover}.tar.gz"
+checksum="9af98cae7c38273f7429ba0df628c9745bd92c949f444e180b9dd800af14c6dd
+ 90414d00591986e94f2c49e7d65eef5c2dedee266354dd3db8234bb3b06c86fa"
 dkms_modules="scap 2160111cd088aea9ae2235d3385ecb0b1ab6623c"
 nocross=yes
+patch_args="-Np1 --directory=${build_wrksrc}"
 
 case "$XBPS_TARGET_MACHINE" in
 	*-musl) configure_args+=" -DMUSL_OPTIMIZED_BUILD=On"
 esac
 
-export CMAKE_GENERATOR="Unix Makefiles"
-
 # Avoid excessive warnings spam to the log
 CXXFLAGS="-Wno-deprecated-declarations"
 
-CXXFLAGS+=" -I/usr/include/grpc_absl"
+post_patch() {
+	patch -d "${wrksrc}/libs-${_falcover}" -Np1 < "${FILESDIR}/libsinsp-zstd.patch"
 
-post_extract() {
 	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
-	vsed -e 's|-std=c++0x||' -i CMakeLists.txt
+	vsed -e 's|-std=c++0x||' -i CMakeLists.txt -i "${wrksrc}/libs-${_falcover}/cmake/modules/CompilerFlags.cmake"
 }
 
 post_install() {

From 054a0654375fd64adb129c6205f60c2fcd32c35a Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 2 Jul 2023 13:36:29 +0200
Subject: [PATCH 31/34] protobuf-c: rebuild against 23.3

---
 ...4f3fd85a205eb7c90b790477d5415364209e.patch |  44 +++
 srcpkgs/protobuf-c/patches/66a0b0d2.patch     | 308 ++++++++++++++++++
 srcpkgs/protobuf-c/template                   |   8 +-
 3 files changed, 358 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
 create mode 100644 srcpkgs/protobuf-c/patches/66a0b0d2.patch

diff --git a/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch b/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
new file mode 100644
index 000000000000..7d1e97032d32
--- /dev/null
+++ b/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
@@ -0,0 +1,44 @@
+From 66574f3fd85a205eb7c90b790477d5415364209e Mon Sep 17 00:00:00 2001
+From: Steve Peters <scpeters@openrobotics.org>
+Date: Sat, 24 Jun 2023 22:15:42 -0700
+Subject: [PATCH] Use FileDescriptorLegacy for deprecated syntax()
+
+---
+ protoc-c/c_file.cc   | 2 +-
+ protoc-c/c_helpers.h | 3 ++-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/protoc-c/c_file.cc b/protoc-c/c_file.cc
+index 59c1824e..4b60b889 100644
+--- a/protoc-c/c_file.cc
++++ b/protoc-c/c_file.cc
+@@ -119,7 +119,7 @@ void FileGenerator::GenerateHeader(io::Printer* printer) {
+ 
+   int min_header_version = 1000000;
+ #if defined(HAVE_PROTO3)
+-  if (file_->syntax() == FileDescriptor::SYNTAX_PROTO3) {
++  if (FileDescriptorLegacy(file_).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3) {
+     min_header_version = 1003000;
+   }
+ #endif
+diff --git a/protoc-c/c_helpers.h b/protoc-c/c_helpers.h
+index 7598a4e1..87deea24 100644
+--- a/protoc-c/c_helpers.h
++++ b/protoc-c/c_helpers.h
+@@ -67,6 +67,7 @@
+ #include <vector>
+ #include <sstream>
+ #include <google/protobuf/descriptor.h>
++#include <google/protobuf/descriptor_legacy.h>
+ #include <protobuf-c/protobuf-c.pb.h>
+ #include <google/protobuf/io/printer.h>
+ 
+@@ -172,7 +173,7 @@ int compare_name_indices_by_name(const void*, const void*);
+ // This wrapper is needed to be able to compile against protobuf2.
+ inline int FieldSyntax(const FieldDescriptor* field) {
+ #ifdef HAVE_PROTO3
+-  return field->file()->syntax() == FileDescriptor::SYNTAX_PROTO3 ? 3 : 2;
++  return FileDescriptorLegacy(field->file()).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3 ? 3 : 2;
+ #else
+   return 2;
+ #endif
diff --git a/srcpkgs/protobuf-c/patches/66a0b0d2.patch b/srcpkgs/protobuf-c/patches/66a0b0d2.patch
new file mode 100644
index 000000000000..790db6329120
--- /dev/null
+++ b/srcpkgs/protobuf-c/patches/66a0b0d2.patch
@@ -0,0 +1,308 @@
+From 66a0b0d205224f63f19dd8f96abf9dcdc2112331 Mon Sep 17 00:00:00 2001
+From: Xiangyu Chen <xiangyu.chen@windriver.com>
+Date: Wed, 29 Mar 2023 14:25:17 +0800
+Subject: [PATCH] add support of protobuf 4.22.x
+
+after upgrade the protobuf to 4.22.x, the protobuf-c cannot compile anymore (#544) due to following changes:
+1.protobuf using c++14, that cause the command_line_interface.h report error
+2.protobuf using abseil-cpp library instead the trace API with GOOGLE_ header
+3. removed GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
+---
+ Makefile.am                   | 2 +-
+ configure.ac                  | 8 ++++++++
+ protoc-c/c_bytes_field.h      | 1 -
+ protoc-c/c_enum.h             | 1 -
+ protoc-c/c_enum_field.h       | 1 -
+ protoc-c/c_extension.h        | 1 -
+ protoc-c/c_field.cc           | 2 +-
+ protoc-c/c_field.h            | 3 ---
+ protoc-c/c_file.h             | 1 -
+ protoc-c/c_generator.h        | 2 --
+ protoc-c/c_helpers.cc         | 4 ++--
+ protoc-c/c_message.cc         | 4 ++--
+ protoc-c/c_message.h          | 1 -
+ protoc-c/c_message_field.h    | 3 ---
+ protoc-c/c_primitive_field.cc | 6 +++---
+ protoc-c/c_primitive_field.h  | 3 ---
+ protoc-c/c_service.h          | 1 -
+ protoc-c/c_string_field.h     | 1 -
+ 18 files changed, 17 insertions(+), 28 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index c7339efe..3b0d1d66 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -20,7 +20,7 @@ AM_CPPFLAGS = \
+ 	-I${top_builddir} \
+ 	-I${top_srcdir}
+ AM_CFLAGS = ${my_CFLAGS}
+-AM_LDFLAGS =
++AM_LDFLAGS = ${ABSL_LOG_INTERNAL_CHECK_OP_LIBS} ${ABSL_LOG_RAW_HASH_SET_LIBS}
+ 
+ # code coverage
+ 
+diff --git a/configure.ac b/configure.ac
+index f5a0261e..8ed549ac 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -78,6 +78,14 @@ if test "x$enable_protoc" != "xno"; then
+ 
+   AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
+ 
++# now checking 4.22.x protobuf, if so, set cxx as 17
++  AS_IF([pkg-config --atleast-version 4.22.0 protobuf],[AX_CXX_COMPILE_STDCXX(17, noext, mandatory)])
++
++  AS_IF([pkg-config --atleast-version 4.22.0 protobuf],
++    [PKG_CHECK_MODULES([ABSL_LOG_INTERNAL_CHECK_OP], [absl_log_internal_check_op],
++       [PKG_CHECK_MODULES([ABSL_LOG_RAW_HASH_SET], [absl_raw_hash_set], [], [AC_MSG_ERROR([Missing absl_raw_hash_set library.])])],
++       [AC_MSG_ERROR([Missing absl_log_internal_check_op library.])])])
++
+   PKG_CHECK_MODULES([protobuf], [protobuf >= 3.0.0],
+     [proto3_supported=yes],
+     [PKG_CHECK_MODULES([protobuf], [protobuf >= 2.6.0])]
+diff --git a/protoc-c/c_bytes_field.h b/protoc-c/c_bytes_field.h
+index bf873f0f..8fc63d35 100644
+--- a/protoc-c/c_bytes_field.h
++++ b/protoc-c/c_bytes_field.h
+@@ -88,7 +88,6 @@ class BytesFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(BytesFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_enum.h b/protoc-c/c_enum.h
+index 9c34b697..d5e58f0a 100644
+--- a/protoc-c/c_enum.h
++++ b/protoc-c/c_enum.h
+@@ -107,7 +107,6 @@ class EnumGenerator {
+   const EnumDescriptor* descriptor_;
+   std::string dllexport_decl_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_enum_field.h b/protoc-c/c_enum_field.h
+index 3f8c005d..03eb4028 100644
+--- a/protoc-c/c_enum_field.h
++++ b/protoc-c/c_enum_field.h
+@@ -86,7 +86,6 @@ class EnumFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_extension.h b/protoc-c/c_extension.h
+index 95413885..9c5797d6 100644
+--- a/protoc-c/c_extension.h
++++ b/protoc-c/c_extension.h
+@@ -99,7 +99,6 @@ class ExtensionGenerator {
+   std::string type_traits_;
+   std::string dllexport_decl_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ExtensionGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_field.cc b/protoc-c/c_field.cc
+index 0716744a..4abdc6d3 100644
+--- a/protoc-c/c_field.cc
++++ b/protoc-c/c_field.cc
+@@ -231,7 +231,7 @@ FieldGeneratorMap::~FieldGeneratorMap() {}
+ 
+ const FieldGenerator& FieldGeneratorMap::get(
+     const FieldDescriptor* field) const {
+-  GOOGLE_CHECK_EQ(field->containing_type(), descriptor_);
++  ABSL_CHECK_EQ(field->containing_type(), descriptor_);
+   return *field_generators_[field->index()];
+ }
+ 
+diff --git a/protoc-c/c_field.h b/protoc-c/c_field.h
+index 3cad35d3..76d3b0bc 100644
+--- a/protoc-c/c_field.h
++++ b/protoc-c/c_field.h
+@@ -104,8 +104,6 @@ class FieldGenerator {
+                                             const std::string &descriptor_addr) const;
+   const FieldDescriptor *descriptor_;
+ 
+- private:
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGenerator);
+ };
+ 
+ // Convenience class which constructs FieldGenerators for a Descriptor.
+@@ -122,7 +120,6 @@ class FieldGeneratorMap {
+ 
+   static FieldGenerator* MakeGenerator(const FieldDescriptor* field);
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGeneratorMap);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_file.h b/protoc-c/c_file.h
+index 8dfd8ba0..ec55906e 100644
+--- a/protoc-c/c_file.h
++++ b/protoc-c/c_file.h
+@@ -104,7 +104,6 @@ class FileGenerator {
+   std::unique_ptr<std::unique_ptr<ServiceGenerator>[]> service_generators_;
+   std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FileGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_generator.h b/protoc-c/c_generator.h
+index ac1ffafe..92601164 100644
+--- a/protoc-c/c_generator.h
++++ b/protoc-c/c_generator.h
+@@ -94,8 +94,6 @@ class PROTOC_C_EXPORT CGenerator : public CodeGenerator {
+                 OutputDirectory* output_directory,
+                 std::string* error) const;
+ 
+- private:
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(CGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_helpers.cc b/protoc-c/c_helpers.cc
+index 6fd0cd3a..1eaeeb42 100644
+--- a/protoc-c/c_helpers.cc
++++ b/protoc-c/c_helpers.cc
+@@ -286,7 +286,7 @@ const char* const kKeywordList[] = {
+ 
+ std::set<std::string> MakeKeywordsMap() {
+   std::set<std::string> result;
+-  for (int i = 0; i < GOOGLE_ARRAYSIZE(kKeywordList); i++) {
++  for (int i = 0; i < ABSL_ARRAYSIZE(kKeywordList); i++) {
+     result.insert(kKeywordList[i]);
+   }
+   return result;
+@@ -548,7 +548,7 @@ std::string CEscape(const std::string& src) {
+   std::unique_ptr<char[]> dest(new char[dest_length]);
+   const int len = CEscapeInternal(src.data(), src.size(),
+                                   dest.get(), dest_length, false);
+-  GOOGLE_DCHECK_GE(len, 0);
++  ABSL_DCHECK_GE(len, 0);
+   return std::string(dest.get(), len);
+ }
+ 
+diff --git a/protoc-c/c_message.cc b/protoc-c/c_message.cc
+index 37e8bf8b..c7e85155 100755
+--- a/protoc-c/c_message.cc
++++ b/protoc-c/c_message.cc
+@@ -499,7 +499,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ 	  // NOTE: not supported by protobuf
+ 	  vars["maybe_static"] = "";
+ 	  vars["field_dv_ctype"] = "{ ... }";
+-	  GOOGLE_LOG(DFATAL) << "Messages can't have default values!";
++	  ABSL_LOG(FATAL) << "Messages can't have default values!";
+ 	  break;
+ 	case FieldDescriptor::CPPTYPE_STRING:
+ 	  if (fd->type() == FieldDescriptor::TYPE_BYTES || opt.string_as_bytes())
+@@ -521,7 +521,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ 	    break;
+ 	  }
+ 	default:
+-	  GOOGLE_LOG(DFATAL) << "Unknown CPPTYPE";
++	  ABSL_LOG(FATAL) << "Unknown CPPTYPE";
+ 	  break;
+ 	}
+ 	if (!already_defined)
+diff --git a/protoc-c/c_message.h b/protoc-c/c_message.h
+index ea1c3ab3..e90782bf 100644
+--- a/protoc-c/c_message.h
++++ b/protoc-c/c_message.h
+@@ -137,7 +137,6 @@ class MessageGenerator {
+   std::unique_ptr<std::unique_ptr<EnumGenerator>[]> enum_generators_;
+   std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_message_field.h b/protoc-c/c_message_field.h
+index 39b8d999..42efe368 100644
+--- a/protoc-c/c_message_field.h
++++ b/protoc-c/c_message_field.h
+@@ -83,9 +83,6 @@ class MessageFieldGenerator : public FieldGenerator {
+   std::string GetDefaultValue(void) const;
+   void GenerateStaticInit(io::Printer* printer) const;
+ 
+- private:
+-
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_primitive_field.cc b/protoc-c/c_primitive_field.cc
+index 6990893f..d5a7b60c 100644
+--- a/protoc-c/c_primitive_field.cc
++++ b/protoc-c/c_primitive_field.cc
+@@ -99,7 +99,7 @@ void PrimitiveFieldGenerator::GenerateStructMembers(io::Printer* printer) const
+     case FieldDescriptor::TYPE_STRING  :
+     case FieldDescriptor::TYPE_BYTES   :
+     case FieldDescriptor::TYPE_GROUP   :
+-    case FieldDescriptor::TYPE_MESSAGE : GOOGLE_LOG(FATAL) << "not a primitive type"; break;
++    case FieldDescriptor::TYPE_MESSAGE : ABSL_LOG(FATAL) << "not a primitive type"; break;
+ 
+     // No default because we want the compiler to complain if any new
+     // types are added.
+@@ -143,7 +143,7 @@ std::string PrimitiveFieldGenerator::GetDefaultValue() const
+     case FieldDescriptor::CPPTYPE_BOOL:
+       return descriptor_->default_value_bool() ? "1" : "0";
+     default:
+-      GOOGLE_LOG(DFATAL) << "unexpected CPPTYPE in c_primitive_field";
++      ABSL_LOG(FATAL) << "unexpected CPPTYPE in c_primitive_field";
+       return "UNEXPECTED_CPPTYPE";
+   }
+ }
+@@ -197,7 +197,7 @@ void PrimitiveFieldGenerator::GenerateDescriptorInitializer(io::Printer* printer
+     case FieldDescriptor::TYPE_STRING  :
+     case FieldDescriptor::TYPE_BYTES   :
+     case FieldDescriptor::TYPE_GROUP   :
+-    case FieldDescriptor::TYPE_MESSAGE : GOOGLE_LOG(FATAL) << "not a primitive type"; break;
++    case FieldDescriptor::TYPE_MESSAGE : ABSL_LOG(FATAL) << "not a primitive type"; break;
+ 
+     // No default because we want the compiler to complain if any new
+     // types are added.
+diff --git a/protoc-c/c_primitive_field.h b/protoc-c/c_primitive_field.h
+index a9eb893b..d2bb7243 100644
+--- a/protoc-c/c_primitive_field.h
++++ b/protoc-c/c_primitive_field.h
+@@ -83,9 +83,6 @@ class PrimitiveFieldGenerator : public FieldGenerator {
+   std::string GetDefaultValue(void) const;
+   void GenerateStaticInit(io::Printer* printer) const;
+ 
+- private:
+-
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(PrimitiveFieldGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_service.h b/protoc-c/c_service.h
+index 27125a60..4737ff3b 100644
+--- a/protoc-c/c_service.h
++++ b/protoc-c/c_service.h
+@@ -101,7 +101,6 @@ class ServiceGenerator {
+   const ServiceDescriptor* descriptor_;
+   std::map<std::string, std::string> vars_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ServiceGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_string_field.h b/protoc-c/c_string_field.h
+index 513cea75..ba258e44 100644
+--- a/protoc-c/c_string_field.h
++++ b/protoc-c/c_string_field.h
+@@ -88,7 +88,6 @@ class StringFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(StringFieldGenerator);
+ };
+ 
+ 
diff --git a/srcpkgs/protobuf-c/template b/srcpkgs/protobuf-c/template
index 7d1b529d8936..e703b138152d 100644
--- a/srcpkgs/protobuf-c/template
+++ b/srcpkgs/protobuf-c/template
@@ -1,10 +1,10 @@
 # Template file for 'protobuf-c'
 pkgname=protobuf-c
 version=1.4.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="$(vopt_enable protoc)"
-hostmakedepends="pkg-config protobuf protobuf-devel"
+hostmakedepends="pkg-config protobuf protobuf-devel automake libtool"
 makedepends="protobuf-devel boost-devel $(vopt_if protoc libprotoc-devel)"
 short_desc="C implementation of the Google Protocol Buffers"
 maintainer="Enno Boland <gottox@voidlinux.org>"
@@ -17,6 +17,10 @@ build_options="protoc"
 build_options_default="protoc"
 desc_option_protoc="Build protoc-c compiler"
 
+pre_configure() {
+	autoreconf -if
+}
+
 post_install() {
 	vlicense LICENSE
 }

From 1c3f449ea50f4ec85c1e8deae7eb76ff1a68e8c2 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 2 Jul 2023 21:07:55 +0200
Subject: [PATCH 32/34] netdata: update to 1.40.1.

---
 srcpkgs/netdata/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/netdata/template            | 13 +++++++++----
 2 files changed, 20 insertions(+), 4 deletions(-)
 create mode 100644 srcpkgs/netdata/patches/cpp17.patch

diff --git a/srcpkgs/netdata/patches/cpp17.patch b/srcpkgs/netdata/patches/cpp17.patch
new file mode 100644
index 000000000000..b197ccd57bd9
--- /dev/null
+++ b/srcpkgs/netdata/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac	2023-06-27 16:25:03.364605041 +0200
++++ -	2023-07-02 21:27:31.113408278 +0200
+@@ -237,7 +237,7 @@
+ # C++ version check
+ 
+ # Check for C++17 support (optional)
+-# AX_CXX_COMPILE_STDCXX(17, noext, optional)
++AX_CXX_COMPILE_STDCXX(17, noext, optional)
+ 
+ if test "x$HAVE_CXX17" != "x1"; then
+   # Check for C++11 support (optional)
diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 781120b3f275..9065c5140361 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -1,14 +1,14 @@
 # Template file for 'netdata'
 pkgname=netdata
-version=1.37.1
-revision=2
+version=1.40.1
+revision=1
 build_style=gnu-configure
 build_helper=qemu
 configure_args="--with-user=_netdata ac_cv_file_externaldeps_libbpf_libbpf_a=no
  $(vopt_if cloud --enable-cloud --disable-cloud) $(vopt_if ipmi --enable-plugin-freeipmi)
  $(vopt_if xen --enable-plugin-xenstat) $(vopt_if cups --enable-plugin-cups)"
 hostmakedepends="pkg-config autoconf automake $(vopt_if cloud "protobuf protobuf-devel")"
-makedepends="json-c-devel libcap-devel liblz4-devel libmnl-devel
+makedepends="json-c-devel libcap-devel liblz4-devel libmnl-devel libyaml-devel
  libnetfilter_acct-devel openssl-devel libuuid-devel libuv-devel zlib-devel
  snappy-devel $(vopt_if cloud protobuf-devel) $(vopt_if ipmi freeipmi-devel)
  $(vopt_if xen "xen-devel yajl-devel") $(vopt_if cups cups-devel)"
@@ -18,7 +18,7 @@ maintainer="Michael Aldridge <maldridge@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://www.netdata.cloud/"
 distfiles="https://github.com/netdata/netdata/releases/download/v${version}/netdata-v${version}.tar.gz"
-checksum=2caa042d43ca61007a61294a5ececa037d83a1973bd38032233760341eb1706b
+checksum=cc86172acd5e6ec05bc0fa86a50d967502a264d8adf7f79293923ccd8febb251
 python_version=3
 make_dirs="
  /var/lib/netdata          0755 _netdata _netdata
@@ -43,6 +43,11 @@ if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 fi
 
 pre_configure() {
+	vsed -e 's/#define info(/#define netdata_log_info(/g' -i libnetdata/log/log.h
+	vsed -e 's/^\([ ]*\)info[ ]*(/\1netdata_log_info(/g' -i $(grep -rl '^[ ]*info *(' ./)
+	vsed -e 's/^\([ ]*\)else info(/\1else netdata_log_info(/g' -i $(grep -rl '^[ ]*else info(' ./)
+	vsed -e 's/^\([ ]*\)if(\([^)]*\))[ ]*info(/\1if(\2) netdata_log_info(/g' -i $(grep -rl '^[ ]*if.*info(' ./)
+
 	if [ "$CROSS_BUILD" ]; then
 		sed -i "s|	\$(builddir)/judyltablesgen\$(EXEEXT)|	qemu-${XBPS_TARGET_QEMU_MACHINE}-static \$(builddir)/judyltablesgen\$(EXEEXT)|g" Makefile.am
 	fi

From da72073aa4762029f549653ac51297f76d75519c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 8 Jul 2023 12:47:51 +0200
Subject: [PATCH 33/34] strawberry: rebuild against protobuf-23.3_1

---
 srcpkgs/strawberry/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/strawberry/template b/srcpkgs/strawberry/template
index b42efa1b89b2..91f2e07a0ec0 100644
--- a/srcpkgs/strawberry/template
+++ b/srcpkgs/strawberry/template
@@ -1,7 +1,7 @@
 # Template file for 'strawberry'
 pkgname=strawberry
 version=1.0.17
-revision=2
+revision=3
 build_style=cmake
 hostmakedepends="pkg-config protobuf gettext"
 makedepends="alsa-lib-devel boost-devel gnutls-devel fftw-devel

From 88cd068959501575274bebd57f7f09f68cbb3bf1 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 8 Jul 2023 12:47:51 +0200
Subject: [PATCH 34/34] libphonenumber: rebuild against protobuf-23.3_1

---
 srcpkgs/libphonenumber/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libphonenumber/template b/srcpkgs/libphonenumber/template
index f554714b3c7a..058939459f6a 100644
--- a/srcpkgs/libphonenumber/template
+++ b/srcpkgs/libphonenumber/template
@@ -1,7 +1,7 @@
 # Template file for 'libphonenumber'
 pkgname=libphonenumber
 version=8.12.39
-revision=12
+revision=13
 build_wrksrc=cpp
 build_style=cmake
 build_helper=qemu

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] protobuf/abseil-cpp/grpc: update
  2023-07-08 11:45 [PR PATCH] protobuf/abseil-cpp: update Johnnynator
  2023-07-08 12:45 ` [PR PATCH] [Updated] protobuf/abseil-cpp/grpc: update Johnnynator
@ 2023-07-08 12:48 ` Johnnynator
  2023-07-10 21:07 ` Johnnynator
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Johnnynator @ 2023-07-08 12:48 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 616 bytes --]

There is an updated pull request by Johnnynator against master on the void-packages repository

https://github.com/Johnnynator/void-packages google-stuff
https://github.com/void-linux/void-packages/pull/44920

protobuf/abseil-cpp/grpc: update
"Fun" with google stuff

#### Testing the changes
- I tested the changes in this PR: **WiP**


#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):



A patch file from https://github.com/void-linux/void-packages/pull/44920.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-google-stuff-44920.patch --]
[-- Type: text/x-diff, Size: 100374 bytes --]

From 2d7e59d990ede737787ed3bb3ef3f4c79df26060 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:24:01 +0200
Subject: [PATCH 01/34] abseil-cpp: update to 20230125.3.

---
 common/shlibs                                 | 128 ++++++++++++------
 srcpkgs/abseil-cpp/patches/google-sucks.patch |  77 -----------
 srcpkgs/abseil-cpp/template                   |   4 +-
 3 files changed, 85 insertions(+), 124 deletions(-)
 delete mode 100644 srcpkgs/abseil-cpp/patches/google-sucks.patch

diff --git a/common/shlibs b/common/shlibs
index b8ab3ec37bff..839657574cc5 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4202,51 +4202,89 @@ libsunpinyin.so.3 libsunpinyin-3.0.0rc2_1
 libtpm2-totp.so.0 libtpm2-totp-0.3.0_1
 libmujs.so.1.2.0 mujs-1.2.0_2
 libiir.so.1 libiir1-1.9.3_1
-libabsl_statusor.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_hash.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_raw_hash_set.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_bad_variant_access.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_status.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_pool_urbg.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_hwaes_impl.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_slow.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cord.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_city.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_bad_optional_access.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_info.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_str_format_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_synchronization.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_time.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strings.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_throw_delegate.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_time_zone.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_spinlock_wait.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_base.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_civil_time.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cord_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_functions.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_handle.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_debugging_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_demangle_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_exponential_biased.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_graphcycles_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_hashtablez_sampler.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_int128.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_log_severity.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_low_level_hash.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_malloc_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_distributions.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_platform.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_hwaes.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_seed_material.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_seed_gen_exception.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_seed_sequences.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_raw_logging_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_stacktrace.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strerror.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strings_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_symbolize.so.2206.0.0 abseil-cpp-20220623.1_1
+libabsl_flags.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_raw_logging_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_parse.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_reflection.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_globals.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_config.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_seed_sequences.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_statusor.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_usage_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_commandlineflag.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_hwaes_impl.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_status.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_any_cast_impl.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_variant_access.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_raw_hash_set.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_optional_access.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cord.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_distribution_test_util.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_handle.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_graphcycles_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_spinlock_wait.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_functions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_usage.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_debugging_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strerror.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_seed_material.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_log_sink_set.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_proto.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_civil_time.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_conditions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_cpu_detect.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_entry.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_distributions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_globals.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_format.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_exponential_biased.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_city.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_symbolize.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_leak_check.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_low_level_hash.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_severity.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_scoped_set_env.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strings.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_die_if_null.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_hash.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_commandlineflag_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_periodic_sampler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_platform.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_malloc_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_sample_token.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_str_format_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_synchronization.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_message.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strings_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_private_handle_accessor.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cord_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_hwaes.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_throw_delegate.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_cord_state.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_flags.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_program_name.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_time_zone.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_examine_stack.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc32c.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_initialize.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_failure_signal_handler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_time.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_info.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_sink.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_nullguard.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_demangle_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_base.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_hashtablez_sampler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_marshalling.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_pool_urbg.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_int128.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_stacktrace.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_seed_gen_exception.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_check_op.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_slow.so.2301.0.0 abseil-cpp-20230125.3_1
 libairspyhf.so.0 libairspyhf-1.6.8_1
 libtraceevent.so.1 libtraceevent-1.6.2_1
 libtracefs.so.1 libtracefs-1.4.2_1
diff --git a/srcpkgs/abseil-cpp/patches/google-sucks.patch b/srcpkgs/abseil-cpp/patches/google-sucks.patch
deleted file mode 100644
index 511bae847101..000000000000
--- a/srcpkgs/abseil-cpp/patches/google-sucks.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-commit 1fbfea71fb42b2e79f9e342c1843bd26a8703536
-Author: Daniel Kolesa <daniel@octaforge.org>
-Date:   Thu Aug 25 01:20:58 2022 +0200
-
-    An all-in-one patch that fixes several issues:
-    
-    1) UnscaledCycleClock not fully implemented for ppc*-musl (disabled on musl)
-    2) powerpc stacktrace implementation only works on glibc (disabled on musl)
-    3) powerpc stacktrace implementation has ppc64 assumptions (fixed)
-    4) examine_stack.cpp makes glibc assumptions on powerpc (fixed)
-
-diff --git a/absl/base/internal/unscaledcycleclock.cc b/absl/base/internal/unscaledcycleclock.cc
-index b1c396c..d62bfd6 100644
---- a/absl/base/internal/unscaledcycleclock.cc
-+++ b/absl/base/internal/unscaledcycleclock.cc
-@@ -20,7 +20,7 @@
- #include <intrin.h>
- #endif
- 
--#if defined(__powerpc__) || defined(__ppc__)
-+#if (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
- #ifdef __GLIBC__
- #include <sys/platform/ppc.h>
- #elif defined(__FreeBSD__)
-@@ -58,7 +58,7 @@ double UnscaledCycleClock::Frequency() {
-   return base_internal::NominalCPUFrequency();
- }
- 
--#elif defined(__powerpc__) || defined(__ppc__)
-+#elif (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
- 
- int64_t UnscaledCycleClock::Now() {
- #ifdef __GLIBC__
-diff --git a/absl/base/internal/unscaledcycleclock.h b/absl/base/internal/unscaledcycleclock.h
-index 2cbeae3..83d8c98 100644
---- a/absl/base/internal/unscaledcycleclock.h
-+++ b/absl/base/internal/unscaledcycleclock.h
-@@ -46,8 +46,8 @@
- 
- // The following platforms have an implementation of a hardware counter.
- #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \
--    defined(__powerpc__) || defined(__ppc__) || defined(__riscv) ||     \
--    defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
-+    ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \
-+    defined(__riscv) || defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
- #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
- #else
- #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 0
-diff --git a/absl/debugging/internal/examine_stack.cc b/absl/debugging/internal/examine_stack.cc
-index 5bdd341..a42a3c4 100644
---- a/absl/debugging/internal/examine_stack.cc
-+++ b/absl/debugging/internal/examine_stack.cc
-@@ -174,8 +174,10 @@ void* GetProgramCounter(void* const vuc) {
-     return reinterpret_cast<void*>(context->uc_mcontext.pc);
- #elif defined(__powerpc64__)
-     return reinterpret_cast<void*>(context->uc_mcontext.gp_regs[32]);
--#elif defined(__powerpc__)
-+#elif defined(__powerpc__) && defined(__GLIBC__)
-     return reinterpret_cast<void*>(context->uc_mcontext.uc_regs->gregs[32]);
-+#elif defined(__powerpc__)
-+    return reinterpret_cast<void*>(context->uc_mcontext.gregs[32]);
- #elif defined(__riscv)
-     return reinterpret_cast<void*>(context->uc_mcontext.__gregs[REG_PC]);
- #elif defined(__s390__) && !defined(__s390x__)
-diff --git a/absl/debugging/internal/stacktrace_config.h b/absl/debugging/internal/stacktrace_config.h
-index 3929b1b..23d5e50 100644
---- a/absl/debugging/internal/stacktrace_config.h
-+++ b/absl/debugging/internal/stacktrace_config.h
-@@ -60,7 +60,7 @@
- #elif defined(__i386__) || defined(__x86_64__)
- #define ABSL_STACKTRACE_INL_HEADER \
-   "absl/debugging/internal/stacktrace_x86-inl.inc"
--#elif defined(__ppc__) || defined(__PPC__)
-+#elif (defined(__ppc__) || defined(__PPC__)) && defined(__GLIBC__)
- #define ABSL_STACKTRACE_INL_HEADER \
-   "absl/debugging/internal/stacktrace_powerpc-inl.inc"
- #elif defined(__aarch64__)
diff --git a/srcpkgs/abseil-cpp/template b/srcpkgs/abseil-cpp/template
index 8640d2489406..3ffdb4d99d33 100644
--- a/srcpkgs/abseil-cpp/template
+++ b/srcpkgs/abseil-cpp/template
@@ -1,6 +1,6 @@
 # Template file for 'abseil-cpp'
 pkgname=abseil-cpp
-version=20220623.1
+version=20230125.3
 revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON -DABSL_PROPAGATE_CXX_STD=ON"
@@ -10,7 +10,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="Apache-2.0"
 homepage="https://abseil.io"
 distfiles="https://github.com/abseil/abseil-cpp/archive/${version}.tar.gz"
-checksum=91ac87d30cc6d79f9ab974c51874a704de9c2647c40f6932597329a282217ba8
+checksum=5366d7e7fa7ba0d915014d387b66d0d002c03236448e1ba9ef98122c13b35c36
 
 abseil-cpp-devel_package() {
 	short_desc+=" (development files)"

From 95a6884e8c99c0ffa2b5123cacf7e0625261a1c5 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 02/34] Bear: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/Bear/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/Bear/template b/srcpkgs/Bear/template
index cebf51b64728..2e6da3ba9a30 100644
--- a/srcpkgs/Bear/template
+++ b/srcpkgs/Bear/template
@@ -1,7 +1,7 @@
 # Template file for 'Bear'
 pkgname=Bear
 version=3.1.2
-revision=1
+revision=2
 build_style=cmake
 hostmakedepends="pkg-config protobuf protobuf-devel grpc"
 makedepends="json-c++ spdlog grpc-devel protobuf-devel gtest-devel"

From 6bb7da0cdf720dfbd501d32e730e1f234e078683 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 03/34] grpc: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/grpc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index 5b4547a5c0fc..f9d197a1c354 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -1,7 +1,7 @@
 # Template file for 'grpc'
 pkgname=grpc
 version=1.49.1
-revision=2
+revision=3
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON
  -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package

From d841bf3b6f7be0acfbcda6d7153241904c41960b Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 04/34] justbuild: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/justbuild/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index 1ad8e334617d..ee36f6dae575 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
 # Template file for 'justbuild'
 pkgname=justbuild
 version=1.1.2
-revision=1
+revision=2
 create_wrksrc=yes
 hostmakedepends="jo pandoc pkg-config python3 tar unzip wget"
 makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++

From 8d17815dac8db586e4088046edc2a84f5b1f7f05 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 05/34] python3-grpcio: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/python3-grpcio/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 826eda0fc560..9b3c7288a9dd 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-grpcio'
 pkgname=python3-grpcio
 version=1.49.1
-revision=3
+revision=4
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-six python3-Cython"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel

From 8a4552a463d06e82d1c9832a20279c1cb7046549 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 06/34] sysdig: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/sysdig/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index 81ddb7aba5e3..4a04e762468c 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,7 +1,7 @@
 # Template file for 'sysdig'
 pkgname=sysdig
 version=0.28.0
-revision=7
+revision=8
 build_style=cmake
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF
@@ -36,7 +36,8 @@ CXXFLAGS="-Wno-deprecated-declarations"
 CXXFLAGS+=" -I/usr/include/grpc_absl"
 
 post_extract() {
-	sed -i 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' scripts/CMakeLists.txt
+	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
+	vsed -e 's|-std=c++0x||' -i CMakeLists.txt
 }
 
 post_install() {

From c4237607bf6191bb9793fcb9702aadcb4ebdd6d2 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 22:01:12 +0200
Subject: [PATCH 07/34] python3-grpcio: update to 1.56.0.

---
 srcpkgs/python3-grpcio/template | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 9b3c7288a9dd..25ea3fc34620 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-grpcio'
 pkgname=python3-grpcio
-version=1.49.1
-revision=4
+version=1.56.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-six python3-Cython"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel
@@ -12,7 +12,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://grpc.io"
 distfiles="${PYPI_SITE}/g/grpcio/grpcio-${version}.tar.gz"
-checksum=d4725fc9ec8e8822906ae26bb26f5546891aa7fbc3443de970cc556d43a5c99f
+checksum=4c08ee21b3d10315b8dc26f6c13917b20ed574cdbed2d2d80c53d5508fdcc0f2
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	makedepends+=" libatomic-devel"
@@ -29,5 +29,7 @@ export GRPC_PYTHON_BUILD_SYSTEM_RE2=1
 export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
 
 post_extract() {
+	# abseil-cpp 2023xxxxxx requires at least c++ 17
+	vsed -e 's/c++14/c++17/g' -i setup.py
 	rm src/python/grpcio/grpc/_cython/cygrpc.cpp
 }

From d75ec305f9bd8959ebc54461fc9395c49e742c51 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 22:01:47 +0200
Subject: [PATCH 08/34] grpc: update to 1.56.0.

---
 common/shlibs                    | 24 ++++++++++++------------
 srcpkgs/grpc/patches/cmake.patch |  9 +++++++++
 srcpkgs/grpc/template            |  9 +++++----
 3 files changed, 26 insertions(+), 16 deletions(-)
 create mode 100644 srcpkgs/grpc/patches/cmake.patch

diff --git a/common/shlibs b/common/shlibs
index 839657574cc5..f9a282013d85 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3678,18 +3678,18 @@ liboblibs.so.0.1 oblibs-0.1.1.1_1
 libaal-1.0.so.7 libaal-1.0.7_1
 libaal-minimal.so.0 libaal-1.0.7_1
 libcli.so.1.9 libcli-1.9.8.4_1
-libaddress_sorting.so.27 libgrpc-1.49.1_1
-libgpr.so.27 libgrpc-1.49.1_1
-libgrpc.so.27 libgrpc-1.49.1_1
-libgrpc_unsecure.so.27 libgrpc-1.49.1_1
-libupb.so.27 libgrpc-1.49.1_1
-libgrpc++.so.1.49 libgrpc-1.49.1_1
-libgrpc++_alts.so.1.49 libgrpc-1.49.1_1
-libgrpc++_error_details.so.1.49 libgrpc-1.49.1_1
-libgrpc++_reflection.so.1.49 libgrpc-1.49.1_1
-libgrpc++_unsecure.so.1.49 libgrpc-1.49.1_1
-libgrpc_plugin_support.so.1.49 libgrpc-1.49.1_1
-libgrpcpp_channelz.so.1.49 libgrpc-1.49.1_1
+libaddress_sorting.so.33 libgrpc-1.56.0_1
+libgpr.so.33 libgrpc-1.56.0_1
+libgrpc.so.33 libgrpc-1.56.0_1
+libgrpc_unsecure.so.33 libgrpc-1.56.0_1
+libupb.so.33 libgrpc-1.56.0_1
+libgrpc++.so.1.56 libgrpc-1.56.0_1
+libgrpc++_alts.so.1.56 libgrpc-1.56.0_1
+libgrpc++_error_details.so.1.56 libgrpc-1.56.0_1
+libgrpc++_reflection.so.1.56 libgrpc-1.56.0_1
+libgrpc++_unsecure.so.1.56 libgrpc-1.56.0_1
+libgrpc_plugin_support.so.1.56 libgrpc-1.56.0_1
+libgrpcpp_channelz.so.1.56 libgrpc-1.56.0_1
 libircclient.so.1 libircclient-1.10_5
 libFAudio.so.0 FAudio-19.05_1
 libqaccessibilityclient-qt5.so.0 libqaccessibilityclient-0.4.0_1
diff --git a/srcpkgs/grpc/patches/cmake.patch b/srcpkgs/grpc/patches/cmake.patch
new file mode 100644
index 000000000000..d452e4ea59bf
--- /dev/null
+++ b/srcpkgs/grpc/patches/cmake.patch
@@ -0,0 +1,9 @@
+--- a/cmake/gRPCConfig.cmake.in	2023-06-14 22:21:16.000000000 +0200
++++ -	2023-06-28 11:11:32.902678412 +0200
+@@ -1,5 +1,6 @@
+ # Module path
+ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/modules)
++include(CMakeFindDependencyMacro)
+ 
+ # Depend packages
+ @_gRPC_FIND_ZLIB@
diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index f9d197a1c354..56ade5283e6f 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -1,7 +1,7 @@
 # Template file for 'grpc'
 pkgname=grpc
-version=1.49.1
-revision=3
+version=1.56.0
+revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON
  -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package
@@ -16,7 +16,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://github.com/grpc/grpc"
 distfiles="${homepage}/archive/v${version}/${pkgname}-${version}.tar.gz"
-checksum=5071b630e2a14707ad060636990f1b25b0984bd168c7ea1ab95e48a3bdc0081f
+checksum=e034992a0b464042021f6d440f2090acc2422c103a322b0844e3921ccea981dc
 
 if [ "$CROSS_BUILD" ]; then
 	# need host grpc_cpp_plugin
@@ -38,7 +38,8 @@ libgrpc_package() {
 
 grpc-devel_package() {
 	short_desc+=" - development files"
-	depends="${sourcepkg}>=${version}_${revision} ${_devel_depends}"
+	depends="${sourcepkg}>=${version}_${revision} ${_devel_depends}
+	 protobuf-devel"
 	pkg_install() {
 		vmove usr/include
 		vmove usr/lib/*.so

From 326ce6abe415f88383b97a57cdd120dc2a5e5dfa Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:40:13 +0200
Subject: [PATCH 09/34] protobuf: update to 23.4.

- switch to cmake buildstyle
- grpc needs the .cmake files to find protobuf
- newer version of protobuf will drop autoconf
---
 common/shlibs             |  6 +++---
 srcpkgs/protobuf/template | 44 +++++++++++++--------------------------
 2 files changed, 17 insertions(+), 33 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index f9a282013d85..712df469a3ee 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3110,9 +3110,9 @@ libm17n-flt.so.0 m17n-lib-1.7.0_1
 libm17n-gui.so.0 m17n-lib-1.7.0_1
 libm17n-core.so.0 m17n-lib-1.7.0_1
 libm17n.so.0 m17n-lib-1.7.0_1
-libprotobuf-lite.so.32 libprotobuf-lite-21.4_1
-libprotoc.so.32 libprotoc-21.4_1
-libprotobuf.so.32 libprotobuf-21.4_1
+libprotobuf-lite.so.23.4.0 libprotobuf-lite-23.4_1
+libprotoc.so.23.4.0 libprotoc-23.4_1
+libprotobuf.so.23.4.0 libprotobuf-23.4_1
 libsombok.so.3 sombok-2.4.0_1
 libdeviceclient.so.0 pragha-1.3.3_1
 libykclient.so.3 ykclient-2.15_1
diff --git a/srcpkgs/protobuf/template b/srcpkgs/protobuf/template
index 571f06487c85..b36cc3998dc9 100644
--- a/srcpkgs/protobuf/template
+++ b/srcpkgs/protobuf/template
@@ -1,22 +1,22 @@
 # Template file for 'protobuf'
 pkgname=protobuf
-version=21.12
+version=23.4
 revision=1
-create_wrksrc="yes"
-build_wrksrc="${pkgname}-${version}"
-build_style=gnu-configure
-hostmakedepends="pkg-config automake libtool"
-makedepends="zlib-devel"
+build_style=cmake
+hostmakedepends="pkg-config"
+configure_args="-Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_USE_EXTERNAL_GTEST=ON
+ -Dprotobuf_BUILD_LIBPROTOC=ON -Dprotobuf_ABSL_PROVIDER=package"
+# XXX: Tests require that the abseil-cpp provides absl::scoped_mock_log
+configure_args+=" -Dprotobuf_BUILD_TESTS=OFF"
+makedepends="zlib-devel gtest-devel libatomic-devel
+ abseil-cpp-devel"
 short_desc="Protocol buffers compiler"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
 changelog="https://raw.githubusercontent.com/google/protobuf/master/CHANGES.txt"
-_googletest_commit="5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081"
-distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz
- https://github.com/google/googletest/archive/${_googletest_commit}.tar.gz"
-checksum="22fdaf641b31655d4b2297f9981fa5203b2866f8332d3c6333f6b0107bb320de
- 0e2f36e8e403c125fd0ab02171bdb786d3b6b3875b6ccf3b2eb7969be8faecd0"
+distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz"
+checksum=a700a49470d301f1190a487a923b5095bf60f08f4ae4cac9f5f7c36883d17971
 
 # Switch to versioned package
 conflicts="protobuf18>=0 protobuf23>=0 protobuf24>=0
@@ -26,23 +26,9 @@ replaces="${conflicts}"
 if [ "$CROSS_BUILD" ]; then
 	# needs host protoc
 	hostmakedepends+=" ${pkgname}"
-	configure_args+=" --with-protoc=/usr/bin/protoc"
+	configure_args+=" -Dprotobuf_PROTOC_EXE=/usr/bin/protoc"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-	LDFLAGS+=" -latomic"
-fi
-
-post_extract() {
-	rmdir "${build_wrksrc}/third_party/googletest"
-	mv "googletest-${_googletest_commit}" "${build_wrksrc}/third_party/googletest"
-}
-
-pre_configure() {
-	autoreconf -fi
-}
-
 post_install() {
 	vlicense LICENSE
 }
@@ -80,7 +66,6 @@ libprotoc-devel_package() {
 	 libprotoc26-devel>=0 libprotoc28-devel>=0"
 	replaces="${conflicts}"
 	pkg_install() {
-		vmove usr/lib/libprotoc.a
 		vmove usr/lib/libprotoc.so
 		vmove usr/include/google/protobuf/compiler
 	}
@@ -89,7 +74,8 @@ libprotoc-devel_package() {
 protobuf-devel_package() {
 	depends="zlib-devel
 	 libprotobuf-${version}_${revision}
-	 libprotobuf-lite-${version}_${revision}"
+	 libprotobuf-lite-${version}_${revision}
+	 abseil-cpp-devel"
 	short_desc="Protocol buffers C++ library - development files"
 	# Switch to versioned package
 	conflicts="protobuf18-devel>=0 protobuf23-devel>=0
@@ -98,8 +84,6 @@ protobuf-devel_package() {
 	replaces="${conflicts}"
 	pkg_install() {
 		vmove usr/include
-		vmove usr/lib/libprotobuf.a
-		vmove usr/lib/libprotobuf-lite.a
 		vmove usr/lib/libprotobuf.so
 		vmove usr/lib/libprotobuf-lite.so
 		vmove usr/lib/pkgconfig

From c71f66656946fbf717836dbaae1de62bf8e2bf90 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 10/34] EternalTerminal: rebuild against protobuf-23.3_1

---
 srcpkgs/EternalTerminal/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/EternalTerminal/template b/srcpkgs/EternalTerminal/template
index 1017a1b4a1ec..156eab6ce47e 100644
--- a/srcpkgs/EternalTerminal/template
+++ b/srcpkgs/EternalTerminal/template
@@ -1,7 +1,7 @@
 # Template file for 'EternalTerminal'
 pkgname=EternalTerminal
 version=6.2.1
-revision=1
+revision=2
 # revisions used for the specific versions of submodules.
 # they can be found in the external/ directory of the source code.
 _sanitizers_gitrev="99e159ec9bc8dd362b08d18436bd40ff0648417b"

From fe418f021e044683122d2d81934d030433467b4a Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 11/34] vlc: rebuild against protobuf-23.3_1

---
 srcpkgs/vlc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vlc/template b/srcpkgs/vlc/template
index 210762b0a7e2..651c94a1353a 100644
--- a/srcpkgs/vlc/template
+++ b/srcpkgs/vlc/template
@@ -1,7 +1,7 @@
 # Template file for 'vlc'
 pkgname=vlc
 version=3.0.18
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--disable-gme --disable-libtar --enable-jack
  --enable-live555 --disable-fluidsynth --enable-dvdread

From 02f0d275e5c417ed50407a3f2053163ae20b53b7 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 12/34] mixxx: rebuild against protobuf-23.3_1

---
 srcpkgs/mixxx/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mixxx/template b/srcpkgs/mixxx/template
index 619ddca0d332..4b9ea00d3fb3 100644
--- a/srcpkgs/mixxx/template
+++ b/srcpkgs/mixxx/template
@@ -1,7 +1,7 @@
 # Template file for 'mixxx'
 pkgname=mixxx
 version=2.3.3
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="extra-cmake-modules pkg-config protobuf qt5-host-tools qt5-devel"

From e810695b580018c83614877f218737fe83d0bc0e Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 13/34] telegram-desktop: rebuild against protobuf-23.3_1

---
 srcpkgs/telegram-desktop/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/telegram-desktop/template b/srcpkgs/telegram-desktop/template
index f114b2341dc5..9db9f80c1a53 100644
--- a/srcpkgs/telegram-desktop/template
+++ b/srcpkgs/telegram-desktop/template
@@ -1,7 +1,7 @@
 # Template file for 'telegram-desktop'
 pkgname=telegram-desktop
 version=4.8.1
-revision=3
+revision=4
 build_style=cmake
 build_helper="qemu"
 configure_args="-DTDESKTOP_API_ID=209235

From 73b1e79e1e77c4d265d5c92d537d9f9de619939e Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:56 +0200
Subject: [PATCH 14/34] usbguard: rebuild against protobuf-23.3_1

---
 srcpkgs/usbguard/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/usbguard/template b/srcpkgs/usbguard/template
index 8625c80a7eda..df4411202568 100644
--- a/srcpkgs/usbguard/template
+++ b/srcpkgs/usbguard/template
@@ -1,7 +1,7 @@
 # Template file for 'usbguard'
 pkgname=usbguard
 version=1.1.2
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-crypto-library=sodium --with-bundled-catch --with-bundled-pegtl"
 conf_files="/etc/usbguard/*"

From f2e61436bf34c04ec9b5e96af50994acf082a428 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 15/34] nsjail: rebuild against protobuf-23.3_1

---
 srcpkgs/nsjail/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/nsjail/template            |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/nsjail/patches/cpp17.patch

diff --git a/srcpkgs/nsjail/patches/cpp17.patch b/srcpkgs/nsjail/patches/cpp17.patch
new file mode 100644
index 000000000000..80401d580a0f
--- /dev/null
+++ b/srcpkgs/nsjail/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- nsjail-3.0/Makefile	2020-07-23 00:09:23.000000000 +0200
++++ -	2023-07-08 14:47:08.077495361 +0200
+@@ -32,7 +32,7 @@
+ 	-Ikafel/include
+ 
+ CXXFLAGS += $(USER_DEFINES) $(COMMON_FLAGS) $(shell pkg-config --cflags protobuf) \
+-	-std=c++11 -fno-exceptions -Wno-unused -Wno-unused-parameter
++	-std=c++17 -fno-exceptions -Wno-unused -Wno-unused-parameter
+ LDFLAGS += -pie -Wl,-z,noexecstack -lpthread $(shell pkg-config --libs protobuf)
+ 
+ BIN = nsjail
diff --git a/srcpkgs/nsjail/template b/srcpkgs/nsjail/template
index 346348fdf17b..7573d68779b6 100644
--- a/srcpkgs/nsjail/template
+++ b/srcpkgs/nsjail/template
@@ -1,7 +1,7 @@
 # Template file for 'nsjail'
 pkgname=nsjail
 version=3.0
-revision=9
+revision=10
 create_wrksrc=yes
 build_style=gnu-makefile
 hostmakedepends="bison flex pkg-config protobuf which"

From bca7886382d89cfbd6de6e58fd9ddcf3a991082e Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 16/34] netdata: rebuild against protobuf-23.3_1

---
 srcpkgs/netdata/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 18dbe4394a4e..781120b3f275 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -1,7 +1,7 @@
 # Template file for 'netdata'
 pkgname=netdata
 version=1.37.1
-revision=1
+revision=2
 build_style=gnu-configure
 build_helper=qemu
 configure_args="--with-user=_netdata ac_cv_file_externaldeps_libbpf_libbpf_a=no

From 6aacd1e1a1ae596de2d9be4e2e7067eb658638db Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 17/34] mumble: rebuild against protobuf-23.3_1

---
 srcpkgs/mumble/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 35c2728c74ce..5c30d4ae64b4 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.4.287
-revision=3
+revision=4
 build_style=cmake
 make_cmd=make
 configure_args="-Doverlay-xcompile=OFF -Dbundled-opus=OFF

From 0e08579a0e6f94d14094f7288832eef2785f36f1 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 18/34] mumble: rebuild against protobuf-23.3_1

---
 srcpkgs/mumble/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 5c30d4ae64b4..3dc669705365 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.4.287
-revision=4
+revision=5
 build_style=cmake
 make_cmd=make
 configure_args="-Doverlay-xcompile=OFF -Dbundled-opus=OFF

From 67ef1296b86dcd62bbab24f2bdf01987592c0633 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 19/34] mozc: statically link against vendored prootbuf

protobuf 23+ links against abseil, which conflicts with the vendored
abseil version in mozc. The build system does not have a flag to use
system abseil.
---
 srcpkgs/mozc/template | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/mozc/template b/srcpkgs/mozc/template
index 3fdb986b3213..e7735cb57f4f 100644
--- a/srcpkgs/mozc/template
+++ b/srcpkgs/mozc/template
@@ -3,16 +3,17 @@ pkgname=mozc
 # src/data/version/mozc_version_template.bzl
 # revision is always 102, template always says 100 ;)
 version=2.28.4800.102
-revision=1
+revision=2
 _commit=056163a5fddbb261b258beb8444998e4882f0cc5
 _abseil=20211102.0
+_protobuf_commit=cc7b1b53234cd7a8f50d90ac3933b240dcf4cd97
 _gyp=0.1+20220404git9ecf45e
 _jpn_dict=e5b3425575734c323e1d947009dd74709437b684
 create_wrksrc=yes
 build_wrksrc=mozc/src
-hostmakedepends="gettext ninja pkg-config protobuf protobuf-devel
+hostmakedepends="gettext ninja pkg-config
  python3-six which qt5-qmake qt5-host-tools"
-makedepends="gtk+-devel ibus-devel libzinnia-devel protobuf-devel qt5-devel
+makedepends="gtk+-devel ibus-devel libzinnia-devel qt5-devel
  fcitx-devel libfcitx5-devel"
 depends="tegaki-zinnia-japanese>=0.3 mozc-base-${version}_${revision}"
 short_desc="Japanese IME (Open Source version of Google Japanese Input)"
@@ -22,11 +23,13 @@ homepage="https://github.com/google/mozc"
 distfiles="
  https://github.com/fcitx/mozc/archive/$_commit.tar.gz
  https://github.com/abseil/abseil-cpp/archive/refs/tags/$_abseil.tar.gz
+ https://github.com/protocolbuffers/protobuf/archive/$_protobuf_commit.tar.gz
  ${DEBIAN_SITE}/main/g/gyp/gyp_$_gyp.orig.tar.xz
  https://github.com/hiroyuki-komatsu/japanese-usage-dictionary/archive/$_jpn_dict.tar.gz
 "
 checksum="259d87bfd7535ad03bd554185677d7345a90166353a6db0b6a3606183ad2923d
  dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4
+ 863e27f6d24f40bce2bbfe5adcf365f2af5479ea917f254331ee60ce88f8c8a5
  0325006f012db66dfa27bf7bb048f3fe38f96e512ebe065930cbc70bcdc06bc9
  0b6efee0eebac2c1a8eeea333278aa40fcef7846bba9a379962c6e567e7e3dc1"
 
@@ -47,7 +50,8 @@ post_extract() {
 	# symlink "submodules" into place
 	for _src_dest in gyp \
 		abseil-cpp \
-		japanese-usage-dictionary:japanese_usage_dictionary
+		japanese-usage-dictionary:japanese_usage_dictionary \
+		protobuf
 	do
 		_src=${_src_dest%:*}
 		_dst=${_src_dest#*:}
@@ -61,7 +65,6 @@ do_configure() {
 	GYP_DEFINES="
 	 document_dir=/usr/share/licenses/${pkgname}
 	 ibus_mozc_path=/usr/libexec/ibus-engine-mozc
-	 use_libprotobuf=1
 	 use_libzinnia=1
 	 ${XBPS_TARGET_NO_ATOMIC8:+use_libatomic=1}
 	" python3 build_mozc.py gyp --target_platform=Linux

From 83acbdf695f2cde12d705f9d0dd52e4eb8d49ce6 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 20/34] mosh: rebuild against protobuf-23.3_1

---
 srcpkgs/mosh/patches/cpp17.patch | 14 ++++++++++++++
 srcpkgs/mosh/template            |  5 +++--
 2 files changed, 17 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/mosh/patches/cpp17.patch

diff --git a/srcpkgs/mosh/patches/cpp17.patch b/srcpkgs/mosh/patches/cpp17.patch
new file mode 100644
index 000000000000..5463adc2718b
--- /dev/null
+++ b/srcpkgs/mosh/patches/cpp17.patch
@@ -0,0 +1,14 @@
+--- a/configure.ac	2022-10-27 05:29:47.000000000 +0200
++++ -	2023-07-08 13:19:05.270079012 +0200
+@@ -22,9 +22,9 @@
+ # automake 1.12 seems to require this, but automake 1.11 doesn't recognize it
+ m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+ 
+-# Protobuf 3.6+ requires C++11.
++# Protobuf 3.6+ requires C++11., 4.2.2 with abseil requires C++17
+ AS_IF([pkg-config --atleast-version 3.6.0 protobuf],
+-  [AX_CXX_COMPILE_STDCXX([11])])
++  [AX_CXX_COMPILE_STDCXX([17])])
+ 
+ WARNING_CXXFLAGS=""
+ PICKY_CXXFLAGS=""
diff --git a/srcpkgs/mosh/template b/srcpkgs/mosh/template
index 173ba14bcd47..d252a0c29755 100644
--- a/srcpkgs/mosh/template
+++ b/srcpkgs/mosh/template
@@ -1,9 +1,9 @@
 # Template file for 'mosh'
 pkgname=mosh
 version=1.4.0
-revision=3
+revision=4
 build_style=gnu-configure
-hostmakedepends="perl pkg-config protobuf"
+hostmakedepends="perl pkg-config protobuf autoconf automake"
 makedepends="ncurses-devel protobuf-devel libutempter-devel openssl-devel"
 depends="perl-IO-Tty"
 short_desc="Mobile shell, remote terminal application that allows roaming"
@@ -16,4 +16,5 @@ checksum=872e4b134e5df29c8933dff12350785054d2fd2839b5ae6b5587b14db1465ddd
 pre_configure() {
 	# make local.test always succeed. It fails due to missing X server in chroot.
 	printf "%s\n" "#!/bin/sh" ":" > src/tests/local.test
+	autoreconf -fi
 }

From 0969d3d51d65d470b60bc8f502d2c165c0a007cc Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 21/34] libcompizconfig: rebuild against protobuf-23.3_1

---
 srcpkgs/libcompizconfig/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libcompizconfig/template b/srcpkgs/libcompizconfig/template
index 5b59eda97c78..3fb33698bfa6 100644
--- a/srcpkgs/libcompizconfig/template
+++ b/srcpkgs/libcompizconfig/template
@@ -1,7 +1,7 @@
 # Template file for 'libcompizconfig'
 pkgname=libcompizconfig
 version=0.8.18
-revision=10
+revision=11
 build_style=gnu-configure
 configure_args="--disable-static"
 hostmakedepends="automake intltool libtool pkg-config protobuf"

From 748bd63a1e692f72db9e615a63295329f11417ef Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 22/34] libArcus: rebuild against protobuf-23.3_1

---
 srcpkgs/libArcus/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libArcus/template b/srcpkgs/libArcus/template
index d6fedecc5599..1cf1b866d650 100644
--- a/srcpkgs/libArcus/template
+++ b/srcpkgs/libArcus/template
@@ -1,7 +1,7 @@
 # Template file for 'libArcus'
 pkgname=libArcus
 version=4.13.1
-revision=4
+revision=5
 build_style=cmake
 configure_args="-DBUILD_EXAMPLES=OFF"
 hostmakedepends="protobuf python3-sip-devel"

From 893ce16e1742f0f942558d0ec4dfaeb7b5a79ef6 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 23/34] kismet: rebuild against protobuf-23.3_1

---
 srcpkgs/kismet/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/kismet/template b/srcpkgs/kismet/template
index 48a0fc5fa6f1..46cbf7b31811 100644
--- a/srcpkgs/kismet/template
+++ b/srcpkgs/kismet/template
@@ -1,7 +1,7 @@
 # Template file for 'kismet'
 pkgname=kismet
 version=2022.08.R1
-revision=2
+revision=3
 _realver="${version//./-}"
 build_style=gnu-configure
 configure_args="--disable-python-tools"

From ec04f6c263a4efd231bf92269b5d5223601f9dc6 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 24/34] cura-engine: rebuild against protobuf-23.3_1

---
 srcpkgs/cura-engine/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cura-engine/template b/srcpkgs/cura-engine/template
index 4f3118d30252..1f23ddace749 100644
--- a/srcpkgs/cura-engine/template
+++ b/srcpkgs/cura-engine/template
@@ -1,7 +1,7 @@
 # Template file for 'cura-engine'
 pkgname=cura-engine
 version=4.13.1
-revision=3
+revision=4
 build_style=cmake
 configure_args="-DCURA_ENGINE_VERSION=${version}"
 hostmakedepends="protobuf git"

From 4e6cedaefb01fcf43feaa0a1d183bd6bfe381a52 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 25/34] clementine: rebuild against protobuf-23.3_1

---
 srcpkgs/clementine/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/clementine/template b/srcpkgs/clementine/template
index acd098124529..a1cacbb73d8e 100644
--- a/srcpkgs/clementine/template
+++ b/srcpkgs/clementine/template
@@ -1,11 +1,11 @@
 # Template file for 'clementine'
 pkgname=clementine
 version=1.4.0rc1
-revision=10
+revision=11
 _fullver=${version}-873-g3471134d5
 build_style=cmake
 configure_args="-DUSE_SYSTEM_TAGLIB=ON -DBUILD_WERROR=OFF -DUSE_SYSTEM_PROJECTM=ON
- -DFORCE_GIT_REVISION=${_fullver}"
+ -DFORCE_GIT_REVISION=${_fullver} -DCMAKE_CXX_STANDARD=17"
 hostmakedepends="gettext sparsehash pkg-config qt5-qmake qt5-host-tools protobuf"
 makedepends="chromaprint-devel boost-devel gst-plugins-base1-devel
  qt5-devel glew-devel sqlite-devel protobuf-devel libplist-devel

From 3d05e1655359e5c89920dc1780714c69cc5afe3d Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 26/34] bloaty: rebuild against protobuf-23.3_1

---
 srcpkgs/bloaty/patches/cpp17.patch         | 20 ++++++++
 srcpkgs/bloaty/patches/system-abseil.patch | 58 ++++++++++++++++++++++
 srcpkgs/bloaty/template                    |  2 +-
 3 files changed, 79 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/bloaty/patches/cpp17.patch
 create mode 100644 srcpkgs/bloaty/patches/system-abseil.patch

diff --git a/srcpkgs/bloaty/patches/cpp17.patch b/srcpkgs/bloaty/patches/cpp17.patch
new file mode 100644
index 000000000000..ca458dd79fb6
--- /dev/null
+++ b/srcpkgs/bloaty/patches/cpp17.patch
@@ -0,0 +1,20 @@
+--- bloaty-1.1/CMakeLists.txt	2020-05-24 06:43:55.000000000 +0200
++++ -	2023-07-08 12:51:24.115742363 +0200
+@@ -2,7 +2,7 @@
+ cmake_policy(SET CMP0048 NEW)
+ project (Bloaty VERSION 1.0)
+ project (Bloaty VERSION 1.1)
+-set(CMAKE_CXX_STANDARD 11)
++set(CMAKE_CXX_STANDARD 17)
+ 
+ # Options we define for users.
+ option(BLOATY_ENABLE_ASAN "Enable address sanitizer." OFF)
+@@ -93,7 +93,7 @@
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/src")
+ 
+ # Baseline build flags.
+-set(CMAKE_CXX_FLAGS "-std=c++11 -W -Wall -Wno-sign-compare")
++set(CMAKE_CXX_FLAGS "-W -Wall -Wno-sign-compare")
+ set(CMAKE_CXX_FLAGS_DEBUG "-g1")
+ set(CMAKE_CXX_FLAGS_RELEASE "-O2")
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g1")
diff --git a/srcpkgs/bloaty/patches/system-abseil.patch b/srcpkgs/bloaty/patches/system-abseil.patch
new file mode 100644
index 000000000000..799e10a3b540
--- /dev/null
+++ b/srcpkgs/bloaty/patches/system-abseil.patch
@@ -0,0 +1,58 @@
+--- bloaty-1.1/CMakeLists.txt	2020-05-24 06:43:55.000000000 +0200
++++ -	2023-07-08 13:07:06.559266321 +0200
+@@ -35,6 +35,12 @@
+   MESSAGE(STATUS "pkg-config not found, using bundled dependencies")
+ endif(${PKG_CONFIG_FOUND})
+ endif(UNIX)
++find_package(absl CONFIG)
++if(absl_FOUND)
++  MESSAGE(STATUS "System absl found, using")
++else()
++  MESSAGE(STATUS "System absl not found, using bundled version")
++endif()
+ 
+ # Set default build type.
+ if(NOT CMAKE_BUILD_TYPE)
+@@ -89,7 +95,6 @@
+ 
+ include_directories(.)
+ include_directories(src)
+-include_directories(third_party/abseil-cpp)
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/src")
+ 
+ # Baseline build flags.
+@@ -159,24 +164,6 @@
+     src/macho.cc
+     src/range_map.cc
+     src/webassembly.cc
+-    # Until Abseil has a proper CMake build system
+-    third_party/abseil-cpp/absl/base/internal/raw_logging.cc # Grrrr...
+-    third_party/abseil-cpp/absl/base/internal/throw_delegate.cc
+-    third_party/abseil-cpp/absl/numeric/int128.cc
+-    third_party/abseil-cpp/absl/strings/ascii.cc
+-    third_party/abseil-cpp/absl/strings/charconv.cc
+-    third_party/abseil-cpp/absl/strings/escaping.cc
+-    third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc
+-    third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc
+-    third_party/abseil-cpp/absl/strings/internal/memutil.cc
+-    third_party/abseil-cpp/absl/strings/internal/utf8.cc
+-    third_party/abseil-cpp/absl/strings/match.cc
+-    third_party/abseil-cpp/absl/strings/numbers.cc
+-    third_party/abseil-cpp/absl/strings/str_cat.cc
+-    third_party/abseil-cpp/absl/strings/string_view.cc
+-    third_party/abseil-cpp/absl/strings/str_split.cc
+-    third_party/abseil-cpp/absl/strings/substitute.cc
+-    third_party/abseil-cpp/absl/types/bad_optional_access.cc
+     # One source file, no special build system needed.
+     third_party/demumble/third_party/libcxxabi/cxa_demangle.cpp
+     )
+@@ -214,6 +201,9 @@
+   endif(${PROTOBUF_FOUND})
+ endif(UNIX)
+ 
++list(APPEND LIBBLOATY_LIBS absl::strings)
++list(APPEND LIBBLOATY_LIBS absl::optional)
++
+ if(DEFINED ENV{LIB_FUZZING_ENGINE})
+   message("LIB_FUZZING_ENGINE set, building fuzz_target instead of Bloaty")
+   add_executable(fuzz_target tests/fuzz_target.cc)
diff --git a/srcpkgs/bloaty/template b/srcpkgs/bloaty/template
index 226d2f30ffcd..2a79fb502f99 100644
--- a/srcpkgs/bloaty/template
+++ b/srcpkgs/bloaty/template
@@ -1,7 +1,7 @@
 # Template file for 'bloaty'
 pkgname=bloaty
 version=1.1
-revision=11
+revision=12
 build_style=cmake
 hostmakedepends="pkg-config protobuf"
 makedepends="capstone-devel protobuf-devel re2-devel zlib-devel"

From 79a87c44c2864b383ed2f2f6d73ed6a105cbcead Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 27/34] astroid: rebuild against protobuf-23.3_1

---
 srcpkgs/astroid/patches/cpp17.patch       | 11 +++++++++++
 srcpkgs/astroid/patches/protobuf-23.patch | 14 ++++++++++++++
 srcpkgs/astroid/template                  |  2 +-
 3 files changed, 26 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/astroid/patches/cpp17.patch
 create mode 100644 srcpkgs/astroid/patches/protobuf-23.patch

diff --git a/srcpkgs/astroid/patches/cpp17.patch b/srcpkgs/astroid/patches/cpp17.patch
new file mode 100644
index 000000000000..9ac9a9f952e6
--- /dev/null
+++ b/srcpkgs/astroid/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- astroid-0.16/CMakeLists.txt	2021-08-05 15:31:11.000000000 +0200
++++ -	2023-07-03 21:53:30.304595787 +0200
+@@ -145,7 +145,7 @@
+ # compile flags and options
+ #
+ 
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ 
+ include_directories (
+   ${GTKMM3_INCLUDE_DIRS}
diff --git a/srcpkgs/astroid/patches/protobuf-23.patch b/srcpkgs/astroid/patches/protobuf-23.patch
new file mode 100644
index 000000000000..00a8e7442fdb
--- /dev/null
+++ b/srcpkgs/astroid/patches/protobuf-23.patch
@@ -0,0 +1,14 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6eb00cf..10296e8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -117,7 +117,9 @@ find_package ( Boost REQUIRED
+   system
+   )
+ 
++find_package (Protobuf CONFIG REQUIRED)
+ find_package (Protobuf 3.0 REQUIRED)
++set (PROTOBUF_LIBRARIES protobuf::libprotobuf)
+ set (PROTO_FILES
+   src/modes/thread_view/webextension/messages.proto
+   )
diff --git a/srcpkgs/astroid/template b/srcpkgs/astroid/template
index 25d3da44e024..8fd1c032be2c 100644
--- a/srcpkgs/astroid/template
+++ b/srcpkgs/astroid/template
@@ -1,7 +1,7 @@
 # Template file for 'astroid'
 pkgname=astroid
 version=0.16
-revision=8
+revision=9
 build_style=cmake
 build_helper=gir
 hostmakedepends="pkg-config scdoc protobuf gobject-introspection"

From 9d1382b2b092f50fbbea73e6d91cd6411ceec050 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 28/34] android-tools: rebuild against protobuf-23.3_1

---
 .../android-tools/patches/protobuf-23.patch   | 31 +++++++++++++++++++
 srcpkgs/android-tools/template                |  2 +-
 2 files changed, 32 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/android-tools/patches/protobuf-23.patch

diff --git a/srcpkgs/android-tools/patches/protobuf-23.patch b/srcpkgs/android-tools/patches/protobuf-23.patch
new file mode 100644
index 000000000000..517fcf5f1cde
--- /dev/null
+++ b/srcpkgs/android-tools/patches/protobuf-23.patch
@@ -0,0 +1,31 @@
+--- android-tools-34.0.1.orig/vendor/CMakeLists.txt     2023-06-28 23:15:15.544237905 +0200
++++ android-tools-34.0.1/vendor/CMakeLists.txt  2023-06-28 23:45:28.672277935 +0200
+@@ -73,6 +73,8 @@
+ pkg_check_modules(libzstd REQUIRED IMPORTED_TARGET libzstd)
+ 
++find_package(Protobuf CONFIG REQUIRED)
+ find_package(Protobuf REQUIRED)
++set(PROTOBUF_LIBRARIES protobuf::libprotobuf)
+ set(THREADS_PREFER_PTHREAD_FLAG ON)
+ find_package(Threads REQUIRED)
+ 
+--- android-tools-34.0.1.orig/vendor/extras/libjsonpb/parse/jsonpb.cpp  2023-06-28 23:15:15.414236253 +0200
++++ android-tools-34.0.1/vendor/extras/libjsonpb/parse/jsonpb.cpp       2023-06-28 23:34:21.672962973 +0200
+@@ -51,7 +51,7 @@
+ #if GOOGLE_PROTOBUF_VERSION < 3016000
+     return MakeError<std::string>(status.error_message().as_string());
+ #else
+-    return MakeError<std::string>(status.message().as_string());
++    return MakeError<std::string>(std::string(status.message()));
+ #endif
+   }
+   return ErrorOr<std::string>(std::move(json));
+@@ -68,7 +68,7 @@
+ #if GOOGLE_PROTOBUF_VERSION < 3016000
+     return MakeError<std::monostate>(status.error_message().as_string());
+ #else
+-    return MakeError<std::monostate>(status.message().as_string());
++    return MakeError<std::monostate>(std::string(status.message()));
+ #endif
+   }
+   if (!message->ParseFromString(binary)) {
diff --git a/srcpkgs/android-tools/template b/srcpkgs/android-tools/template
index 329674482b69..b813474eace0 100644
--- a/srcpkgs/android-tools/template
+++ b/srcpkgs/android-tools/template
@@ -1,7 +1,7 @@
 # Template file for 'android-tools'
 pkgname=android-tools
 version=34.0.1
-revision=1
+revision=2
 archs="armv* aarch64* x86_64* i686* ppc64le*"
 build_style=cmake
 hostmakedepends="perl go protobuf pkg-config"

From ca4d3d6b734355be16ec562a2ddec669da488952 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:06:25 +0200
Subject: [PATCH 29/34] justbuild: rebuild against grpc-1.56.0_1

---
 srcpkgs/justbuild/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index ee36f6dae575..f933611d1283 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
 # Template file for 'justbuild'
 pkgname=justbuild
 version=1.1.2
-revision=2
+revision=3
 create_wrksrc=yes
 hostmakedepends="jo pandoc pkg-config python3 tar unzip wget"
 makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++

From 0f3ddc6f54b97289ce2834cc7192499a2d673b03 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Wed, 28 Jun 2023 11:07:13 +0200
Subject: [PATCH 30/34] sysdig: update to 0.31.5.

---
 srcpkgs/sysdig/files/libsinsp-zstd.patch      |  22 +
 ...d9aab87801281e22898242e24e0bc63873b2.patch | 557 ++++++++++++++++++
 .../falcosecurity-libs-nodownload.patch       |  28 +
 srcpkgs/sysdig/template                       |  32 +-
 4 files changed, 625 insertions(+), 14 deletions(-)
 create mode 100644 srcpkgs/sysdig/files/libsinsp-zstd.patch
 create mode 100644 srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
 create mode 100644 srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch

diff --git a/srcpkgs/sysdig/files/libsinsp-zstd.patch b/srcpkgs/sysdig/files/libsinsp-zstd.patch
new file mode 100644
index 000000000000..e99e4f7c1207
--- /dev/null
+++ b/srcpkgs/sysdig/files/libsinsp-zstd.patch
@@ -0,0 +1,22 @@
+diff --git a/userspace/libsinsp/CMakeLists.txt b/userspace/libsinsp/CMakeLists.txt
+index 18e59b1..b23e890 100644
+--- a/userspace/libsinsp/CMakeLists.txt
++++ b/userspace/libsinsp/CMakeLists.txt
+@@ -38,6 +38,7 @@ include(ExternalProject)
+ 
+ if(NOT WIN32 AND NOT APPLE)
+ 	include(b64)
++	find_library(ZSTD_LIB NAMES zstd)
+ endif()
+ 
+ include(jsoncpp)
+@@ -246,7 +247,8 @@ if(NOT WIN32)
+ 				"${PROTOBUF_LIB}"
+ 				"${CARES_LIB}"
+ 				"${JQ_LIB}"
+-				"${B64_LIB}")
++				"${B64_LIB}"
++				"${ZSTD_LIB}")
+ 
+ 			if(NOT MUSL_OPTIMIZED_BUILD)
+ 				list(APPEND SINSP_LIBRARIES
diff --git a/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch b/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
new file mode 100644
index 000000000000..54c2ed8d0d98
--- /dev/null
+++ b/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
@@ -0,0 +1,557 @@
+From 3d22309a7317d500f75d053af6f9e5b5b5728b40 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 09:56:04 +0000
+Subject: [PATCH 1/6] update(cmake): bump driver to 5.0.0+driver
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ cmake/modules/driver.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/driver.cmake b/cmake/modules/driver.cmake
+index bee1926d3a..7fd35d7f99 100644
+--- a/cmake/modules/driver.cmake
++++ b/cmake/modules/driver.cmake
+@@ -31,8 +31,8 @@ else()
+   # In case you want to test against another driver version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DDRIVER_VERSION=dev ..`
+   if(NOT DRIVER_VERSION)
+-    set(DRIVER_VERSION "4.0.1+driver")
+-    set(DRIVER_CHECKSUM "SHA256=424d647aa6b6fa45b6701c4bbc9293c161ed00a08254d83eea419c0a736f280d")
++    set(DRIVER_VERSION "5.0.0+driver")
++    set(DRIVER_CHECKSUM "SHA256=c988ca7ac7d174f62d1bfbaaca49efd117f7b329f474d1b46b643635b2e35083")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+
+From 847e602404dcee85f06dde5a1d8ad0c740c49c98 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 09:56:08 +0000
+Subject: [PATCH 2/6] update(cmake): bump libs to 0.11.0-rc1
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ cmake/modules/falcosecurity-libs.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index b345c057ad..f30233b9e3 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -32,8 +32,8 @@ else()
+   # In case you want to test against another falcosecurity/libs version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DFALCOSECURITY_LIBS_VERSION=dev ..`
+   if(NOT FALCOSECURITY_LIBS_VERSION)
+-    set(FALCOSECURITY_LIBS_VERSION "0.10.5")
+-    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=2a4b37c08bec4ba81326314831f341385aff267062e8d4483437958689662936")
++    set(FALCOSECURITY_LIBS_VERSION "0.11.0-rc1")
++    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=bb6e57f66ae85dcda6e695226cd14082d9a1215902909cdde5b83f7abef44d8f")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+
+From 1d1dbaf06265d8eefd4038e8474f71f7958ec840 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 10:43:27 +0000
+Subject: [PATCH 3/6] fix(cmake): solve c++17 compilation issues
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ CMakeLists.txt                         |  3 +++
+ cmake/modules/falcosecurity-libs.cmake | 10 +++++-----
+ 2 files changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0309d66633..6d28c6c67d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -146,6 +146,9 @@ if(NOT DEFINED SYSDIG_COMPONENT_NAME)
+     set(SYSDIG_COMPONENT_NAME "${CMAKE_PROJECT_NAME}")
+ endif()
+ 
++set(CMAKE_CXX_STANDARD 17)
++set(CMAKE_CXX_EXTENSIONS OFF)
++
+ include(falcosecurity-libs)
+ include(yaml-cpp)
+ include(nlohmann-json)
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index f30233b9e3..fe5dacd7ad 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -94,12 +94,12 @@ else()
+ endif()
+ 
+ include(CheckCXXCompilerFlag)
+-CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX14)
+-if(CREATE_TEST_TARGETS AND NOT WIN32 AND COMPILER_SUPPORTS_CXX14)
+-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
++CHECK_CXX_COMPILER_FLAG("-std=c++17" COMPILER_SUPPORTS_CXX17)
++if(CREATE_TEST_TARGETS AND NOT WIN32 AND COMPILER_SUPPORTS_CXX17)
++	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ 	include(gtest)
+-elseif(CREATE_TEST_TARGETS AND NOT COMPILER_SUPPORTS_CXX14)
+-	message(FATAL_ERROR "Your compiler doesn't support c++14: cannot include gtest and create test targets.")
++elseif(CREATE_TEST_TARGETS AND NOT COMPILER_SUPPORTS_CXX17)
++	message(FATAL_ERROR "Your compiler doesn't support c++17: cannot include gtest and create test targets.")
+ endif()
+ 
+ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
+
+From d5fcbad2d5ea63e1439ab7174a5cfd9a7a2e1545 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 10:44:05 +0000
+Subject: [PATCH 4/6] update(userspace): sync sysdig and csysdig with latest
+ libs
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ userspace/sysdig/csysdig.cpp                |  6 +--
+ userspace/sysdig/sysdig.cpp                 |  9 +---
+ userspace/sysdig/utils/plugin_utils.cpp     | 37 ++++++++++-----
+ userspace/sysdig/utils/sinsp_opener.cpp     | 18 ++++----
+ userspace/sysdig/utils/supported_events.cpp | 50 +++++++++++----------
+ userspace/sysdig/utils/supported_fields.cpp | 15 +++----
+ 6 files changed, 70 insertions(+), 65 deletions(-)
+
+diff --git a/userspace/sysdig/csysdig.cpp b/userspace/sysdig/csysdig.cpp
+index 9419882341..edd8129a0e 100644
+--- a/userspace/sysdig/csysdig.cpp
++++ b/userspace/sysdig/csysdig.cpp
+@@ -39,11 +39,11 @@ limitations under the License.
+ #include "chisel.h"
+ #include "chisel_utils.h"
+ #endif
+-#include "fields_info.h"
+ #include "chisel_table.h"
+ #include "utils.h"
+ #include "utils/plugin_utils.h"
+ #include "utils/sinsp_opener.h"
++#include "utils/supported_fields.h"
+ 
+ #ifdef _WIN32
+ #include "win32/getopt.h"
+@@ -704,8 +704,8 @@ sysdig_init_res csysdig_init(int argc, char **argv)
+ 		//
+ 		if(list_flds)
+ 		{
+-			list_fields(false, false);
+-
++			// todo(jasondellaluce): support source selection, verbosity, markdown
++			print_supported_fields(inspector, plugins, "", true, false);
+ 			res.m_res = EXIT_SUCCESS;
+ 			goto exit;
+ 		}
+diff --git a/userspace/sysdig/sysdig.cpp b/userspace/sysdig/sysdig.cpp
+index 40f2b39ef9..a978070d73 100644
+--- a/userspace/sysdig/sysdig.cpp
++++ b/userspace/sysdig/sysdig.cpp
+@@ -43,7 +43,6 @@ limitations under the License.
+ #include "chisel_utils.h"
+ #include "chisel_fields_info.h"
+ #endif
+-#include "fields_info.h"
+ #include "utils.h"
+ #include "plugin.h"
+ #include "plugin_manager.h"
+@@ -455,8 +454,6 @@ void print_summary_table(sinsp* inspector,
+ 						 std::vector<summary_table_entry> &summary_table,
+ 						 uint32_t nentries)
+ {
+-	sinsp_evttables* einfo = inspector->get_event_info_tables();
+-
+ 	std::cout << "----------------------\n";
+ 	std::string tstr = std::string("Event");
+ 	tstr.resize(16, ' ');
+@@ -478,7 +475,7 @@ void print_summary_table(sinsp* inspector,
+ 
+ 		if(e.m_is_unsupported_syscall)
+ 		{
+-			tstr = einfo->m_syscall_info_table[e.m_id / 2].name;
++			tstr = scap_get_ppm_sc_name((ppm_sc_code) (e.m_id / 2));
+ 			tstr.resize(16, ' ');
+ 
+ 			printf("%s%s%" PRIu64 "\n",
+@@ -488,7 +485,7 @@ void print_summary_table(sinsp* inspector,
+ 		}
+ 		else
+ 		{
+-			tstr = einfo->m_event_info[e.m_id].name;
++			tstr = libsinsp::events::info((ppm_event_code) e.m_id)->name;
+ 			tstr.resize(16, ' ');
+ 
+ 			printf("%s%s%" PRIu64 "\n",
+@@ -1862,8 +1859,6 @@ sysdig_init_res sysdig_init(int argc, char **argv)
+ 					res.m_res = EXIT_FAILURE;
+ 					goto exit;
+ 				}
+-
+-				inspector->filter_proc_table_when_saving(true);
+ 			}
+ 			else
+ 			{
+diff --git a/userspace/sysdig/utils/plugin_utils.cpp b/userspace/sysdig/utils/plugin_utils.cpp
+index ad69543b3e..b99de98b66 100644
+--- a/userspace/sysdig/utils/plugin_utils.cpp
++++ b/userspace/sysdig/utils/plugin_utils.cpp
+@@ -146,6 +146,7 @@ void plugin_utils::plugin_entry::init(sinsp *inspector)
+     }
+     if (plugin->caps() & CAP_EXTRACTION)
+     {
++        // todo(jasondellaluce): manage field name conflicts
+         g_filterlist.add_filter_check(sinsp_plugin::new_filtercheck(plugin));
+     }
+     inited = true;
+@@ -185,13 +186,30 @@ void plugin_utils::plugin_entry::print_info(sinsp* inspector, std::ostringstream
+     os << "Capabilities: " << std::endl;
+     if(plugin->caps() & CAP_SOURCING)
+     {
+-        os << "  - Event Sourcing (ID=" << plugin->id();
+-        os << ", source='" << plugin->event_source() << "')" << std::endl;
++        os << "  - Event Sourcing";
++        if (plugin->id() != 0)
++        {
++            os << " (ID=" << plugin->id();
++            os << ", source='" << plugin->event_source() << "')";
++        }
++        else
++        {
++            os << " (system events)";
++        }
++        os << std::endl;
+     }
+     if(plugin->caps() & CAP_EXTRACTION)
+     {
+         os << "  - Field Extraction" << std::endl;
+     }
++    if(plugin->caps() & CAP_PARSING)
++    {
++        os << "  - Event Parsing" << std::endl;
++    }
++    if(plugin->caps() & CAP_ASYNC)
++    {
++        os << "  - Async Events" << std::endl;
++    }
+ }
+ 
+ void plugin_utils::add_dir(std::string dirname, bool front_add)
+@@ -609,7 +627,7 @@ std::vector<std::string> plugin_utils::get_event_sources(sinsp *inspector)
+         // the plugin, in case it was not registered already
+         pl.get_plugin(inspector);
+     }
+-    return inspector->get_plugin_manager()->sources();
++    return inspector->event_sources();
+ }
+ 
+ std::vector<std::unique_ptr<sinsp_filter_check>> plugin_utils::get_filterchecks(sinsp *inspector, const std::string& source)
+@@ -617,16 +635,13 @@ std::vector<std::unique_ptr<sinsp_filter_check>> plugin_utils::get_filterchecks(
+     std::vector<std::unique_ptr<sinsp_filter_check>> list;
+     list.push_back(std::unique_ptr<sinsp_filter_check>(inspector->new_generic_filtercheck()));
+ 
+-    // todo(jasondellaluce): remove this once we support extracting plugin fields from syscalls
+-    if (source != s_syscall_source)
++    for (auto &pl : m_plugins)
+     {
+-        for (auto &pl : m_plugins)
++        auto plugin = pl.get_plugin(inspector);
++        if (plugin->caps() & CAP_EXTRACTION
++            && sinsp_plugin::is_source_compatible(plugin->extract_event_sources(), source))
+         {
+-            auto plugin = pl.get_plugin(inspector);
+-            if (plugin->caps() & CAP_EXTRACTION && plugin->is_source_compatible(source))
+-            {
+-                list.push_back(std::unique_ptr<sinsp_filter_check>(sinsp_plugin::new_filtercheck(plugin)));
+-            }
++            list.push_back(std::unique_ptr<sinsp_filter_check>(sinsp_plugin::new_filtercheck(plugin)));
+         }
+     }
+     return list;
+diff --git a/userspace/sysdig/utils/sinsp_opener.cpp b/userspace/sysdig/utils/sinsp_opener.cpp
+index eafdb631d3..7315b99c7d 100644
+--- a/userspace/sysdig/utils/sinsp_opener.cpp
++++ b/userspace/sysdig/utils/sinsp_opener.cpp
+@@ -50,14 +50,12 @@ void sinsp_opener::open(sinsp* inspector) const
+ 
+ #if defined(HAS_CAPTURE)
+     /* Populate syscalls of interest */
+-    std::unordered_set<uint32_t> sc_of_interest = inspector->get_all_ppm_sc();
++    auto sc_of_interest = libsinsp::events::all_sc_set();
+ 
+-    /* Populate tracepoints of interest */
+-    std::unordered_set<uint32_t> tp_of_interest = inspector->get_all_tp();
+     if(!options.page_faults)
+     {
+-        tp_of_interest.erase(PAGE_FAULT_USER);
+-        tp_of_interest.erase(PAGE_FAULT_KERN);
++        sc_of_interest.remove(ppm_sc_code::PPM_SC_PAGE_FAULT_USER);
++        sc_of_interest.remove(ppm_sc_code::PPM_SC_PAGE_FAULT_KERNEL);
+     }
+ 
+     if(udig.enabled)
+@@ -77,7 +75,7 @@ void sinsp_opener::open(sinsp* inspector) const
+ #ifdef HAS_MODERN_BPF
+ 		if(bpf.modern)
+ 		{
+-			inspector->open_modern_bpf(DEFAULT_DRIVER_BUFFER_BYTES_DIM, bpf.cpus_for_each_syscall_buffer, true, sc_of_interest, tp_of_interest);
++			inspector->open_modern_bpf(DEFAULT_DRIVER_BUFFER_BYTES_DIM, bpf.cpus_for_each_syscall_buffer, true, sc_of_interest);
+ 			return;
+ 		}
+ #endif
+@@ -95,7 +93,7 @@ void sinsp_opener::open(sinsp* inspector) const
+ 
+         try
+         {
+-            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+         }
+         catch(const sinsp_exception& e)
+         {
+@@ -103,7 +101,7 @@ void sinsp_opener::open(sinsp* inspector) const
+             {
+                 fprintf(stderr, "Unable to load the BPF probe\n");
+             }
+-            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+         }
+ 
+         // Enable gathering the CPU from the kernel module
+@@ -114,7 +112,7 @@ void sinsp_opener::open(sinsp* inspector) const
+     // default to kernel module if no other option is specified
+     try
+     {
+-        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+     }
+     catch(const sinsp_exception& e)
+     {
+@@ -124,7 +122,7 @@ void sinsp_opener::open(sinsp* inspector) const
+         {
+             fprintf(stderr, "Unable to load the driver\n");
+         }
+-        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+     }
+ 
+     // Enable gathering the CPU from the kernel module
+diff --git a/userspace/sysdig/utils/supported_events.cpp b/userspace/sysdig/utils/supported_events.cpp
+index 1442911209..7f0d630011 100644
+--- a/userspace/sysdig/utils/supported_events.cpp
++++ b/userspace/sysdig/utils/supported_events.cpp
+@@ -27,25 +27,25 @@ struct event_entry
+ {
+     bool is_enter;
+     std::string name;
+-    struct ppm_event_info info;
++    const ppm_event_info* info;
+ };
+ 
+-static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include_generics)
++static std::vector<event_entry> get_event_entries(bool include_generics)
+ {
+     event_entry entry;
+     std::vector<event_entry> events;
+-    const struct ppm_event_info* etable = inspector->get_event_info_tables()->m_event_info;
+ 
+     // skip generic events
+-    for(uint32_t evt = PPME_GENERIC_X + 1; evt < PPM_EVENT_MAX; evt++)
++    for(const auto& evt : libsinsp::events::all_event_set())
+     {
+-        if (!sinsp::is_old_version_event(evt)
+-                && !sinsp::is_unused_event(evt)
+-                && !sinsp::is_unknown_event(evt))
++        if (!libsinsp::events::is_generic(evt)
++            && !libsinsp::events::is_old_version_event(evt)
++            && !libsinsp::events::is_unused_event(evt)
++            && !libsinsp::events::is_unknown_event(evt))
+         {
+             entry.is_enter = PPME_IS_ENTER(evt);
+-            entry.name = etable[evt].name;
+-            entry.info = etable[evt];
++            entry.info = libsinsp::events::info(evt);
++			entry.name = entry.info->name;
+             events.push_back(entry);
+         }
+     }
+@@ -53,17 +53,19 @@ static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include
+     if (include_generics)
+     {
+         // append generic events
+-        const auto generic_syscalls = inspector->get_events_names({PPME_GENERIC_E});
+-        for (const auto& name : generic_syscalls)
+-        {
+-            for(uint32_t evt = PPME_GENERIC_E; evt <= PPME_GENERIC_X; evt++)
+-            {
+-                entry.is_enter = PPME_IS_ENTER(evt);
+-                entry.name = name;
+-                entry.info = etable[evt];
+-                events.push_back(entry);
+-            }
+-        }
++		const auto names = libsinsp::events::event_set_to_names({ppm_event_code::PPME_GENERIC_E});
++		for (const auto& name : names)
++		{
++			entry.is_enter = PPME_IS_ENTER(ppm_event_code::PPME_GENERIC_E);
++			entry.info = libsinsp::events::info(ppm_event_code::PPME_GENERIC_E);
++			entry.name = name;
++			events.push_back(entry);
++
++			entry.is_enter = PPME_IS_ENTER(ppm_event_code::PPME_GENERIC_X);
++			entry.info = libsinsp::events::info(ppm_event_code::PPME_GENERIC_X);
++			entry.name = name;
++			events.push_back(entry);
++		}
+     }
+ 
+     return events;
+@@ -71,7 +73,7 @@ static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include
+ 
+ void print_supported_events(sinsp* inspector, bool markdown)
+ {
+-    const auto events = get_event_entries(inspector, true);
++    const auto events = get_event_entries(true);
+ 
+     if(markdown)
+     {
+@@ -91,15 +93,15 @@ void print_supported_events(sinsp* inspector, bool markdown)
+             printf("%c %s(", dir, e.name.c_str());
+         }
+ 
+-        for(uint32_t k = 0; k < e.info.nparams; k++)
++        for(uint32_t k = 0; k < e.info->nparams; k++)
+         {
+             if(k != 0)
+             {
+                 printf(", ");
+             }
+ 
+-            printf("%s %s", param_type_to_string(e.info.params[k].type),
+-                e.info.params[k].name);
++            printf("%s %s", param_type_to_string(e.info->params[k].type),
++                e.info->params[k].name);
+         }
+         printf(")\n");
+     }
+diff --git a/userspace/sysdig/utils/supported_fields.cpp b/userspace/sysdig/utils/supported_fields.cpp
+index 6e2575b030..3127fb7220 100644
+--- a/userspace/sysdig/utils/supported_fields.cpp
++++ b/userspace/sysdig/utils/supported_fields.cpp
+@@ -35,11 +35,9 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+ {
+     std::vector<fields_info> field_infos;
+     std::vector<std::unique_ptr<const sinsp_filter_check>> filtecheck_lists; // only used to retain memory until we finish
+-    std::vector<std::string> sources = { s_syscall_source };
++    std::vector<std::string> sources = plugins.get_event_sources(inspector);
+ 
+     // add event sources defined by the loaded plugins
+-    const auto& plugin_sources = plugins.get_event_sources(inspector);
+-    sources.insert(sources.end(), plugin_sources.begin(), plugin_sources.end());
+     if (!source.empty())
+     {
+         bool found = false;
+@@ -66,7 +64,6 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+         }
+ 
+         std::vector<const filter_check_info*> filterchecks;
+-        // todo(jasondellaluce): change this once we support extracting plugin fields from syscalls
+         if (src == s_syscall_source)
+         {
+             std::vector<const filter_check_info*> all_checks;
+@@ -81,13 +78,11 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+                 }
+             }
+         }
+-        else
++
++        for (auto& check: plugins.get_filterchecks(inspector, src))
+         {
+-            for (auto& check: plugins.get_filterchecks(inspector, src))
+-            {
+-                filterchecks.push_back(check->get_fields());
+-                filtecheck_lists.push_back(std::move(check));
+-            }
++            filterchecks.push_back(check->get_fields());
++            filtecheck_lists.push_back(std::move(check));
+         }
+         
+         const auto classes = sinsp_filter_factory::check_infos_to_fieldclass_infos(filterchecks);
+
+From c8b0d055aec4d2378b7934dd9436fd4500d1021e Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 14:15:23 +0000
+Subject: [PATCH 5/6] fix: solve compilation issues on windows
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ CMakeLists.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6d28c6c67d..5afd967f27 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -148,6 +148,9 @@ endif()
+ 
+ set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_CXX_EXTENSIONS OFF)
++if(MSVC OR WIN32)
++	add_compile_definitions(_HAS_STD_BYTE=0)
++endif()
+ 
+ include(falcosecurity-libs)
+ include(yaml-cpp)
+
+From 954e6fc6238f21d4870a491395d68a7dd3062aa9 Mon Sep 17 00:00:00 2001
+From: Roberto Scolaro <roberto.scolaro21@gmail.com>
+Date: Mon, 5 Jun 2023 10:34:03 +0000
+Subject: [PATCH 6/6] update(cmake): bump libs 0.11.0 + driver 5.0.1
+
+Signed-off-by: Roberto Scolaro <roberto.scolaro21@gmail.com>
+---
+ CMakeLists.txt                         | 2 +-
+ cmake/modules/driver.cmake             | 4 ++--
+ cmake/modules/falcosecurity-libs.cmake | 4 ++--
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5afd967f27..f3f23b5e9a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -90,7 +90,7 @@ if(NOT WIN32)
+ 	endif()
+ 
+ 	set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_COMMON_FLAGS}")
+-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++0x")
++	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++17")
+ 
+ 	set(CMAKE_C_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+ 	set(CMAKE_CXX_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+diff --git a/cmake/modules/driver.cmake b/cmake/modules/driver.cmake
+index 7fd35d7f99..ca1e56718c 100644
+--- a/cmake/modules/driver.cmake
++++ b/cmake/modules/driver.cmake
+@@ -31,8 +31,8 @@ else()
+   # In case you want to test against another driver version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DDRIVER_VERSION=dev ..`
+   if(NOT DRIVER_VERSION)
+-    set(DRIVER_VERSION "5.0.0+driver")
+-    set(DRIVER_CHECKSUM "SHA256=c988ca7ac7d174f62d1bfbaaca49efd117f7b329f474d1b46b643635b2e35083")
++    set(DRIVER_VERSION "5.0.1+driver")
++    set(DRIVER_CHECKSUM "SHA256=8b197b916b6419dac8fb41807aa05d822164c7bfd2c3eef66d20d060a05a485a")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index fe5dacd7ad..c626d7944e 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -32,8 +32,8 @@ else()
+   # In case you want to test against another falcosecurity/libs version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DFALCOSECURITY_LIBS_VERSION=dev ..`
+   if(NOT FALCOSECURITY_LIBS_VERSION)
+-    set(FALCOSECURITY_LIBS_VERSION "0.11.0-rc1")
+-    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=bb6e57f66ae85dcda6e695226cd14082d9a1215902909cdde5b83f7abef44d8f")
++    set(FALCOSECURITY_LIBS_VERSION "0.11.0")
++    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=90414d00591986e94f2c49e7d65eef5c2dedee266354dd3db8234bb3b06c86fa")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
diff --git a/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch b/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch
new file mode 100644
index 000000000000..467cffacba2f
--- /dev/null
+++ b/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch
@@ -0,0 +1,28 @@
+diff --git a/cmake/modules/driver-repo/CMakeLists.txt b/cmake/modules/driver-repo/CMakeLists.txt
+index 479611a..5238121 100644
+--- a/cmake/modules/driver-repo/CMakeLists.txt
++++ b/cmake/modules/driver-repo/CMakeLists.txt
+@@ -25,8 +25,7 @@ message(STATUS "Driver version: ${DRIVER_VERSION}")
+ 
+ ExternalProject_Add(
+   driver
+-  URL "https://github.com/falcosecurity/libs/archive/${DRIVER_VERSION}.tar.gz"
+-  URL_HASH "${DRIVER_CHECKSUM}"
++  URL "${CMAKE_CURRENT_SOURCE_DIR}/../../../../libs-${DRIVER_VERSION}"
+   CONFIGURE_COMMAND ""
+   BUILD_COMMAND ""
+   INSTALL_COMMAND ""
+diff --git a/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt b/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
+index 2059547..74e78e2 100644
+--- a/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
++++ b/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
+@@ -25,8 +25,7 @@ message(STATUS "Libs version: ${FALCOSECURITY_LIBS_VERSION}")
+ 
+ ExternalProject_Add(
+   falcosecurity-libs
+-  URL "https://github.com/falcosecurity/libs/archive/${FALCOSECURITY_LIBS_VERSION}.tar.gz"
+-  URL_HASH "${FALCOSECURITY_LIBS_CHECKSUM}"
++  URL "${CMAKE_CURRENT_SOURCE_DIR}/../../../../libs-${FALCOSECURITY_LIBS_VERSION}"
+   CONFIGURE_COMMAND ""
+   BUILD_COMMAND ""
+   INSTALL_COMMAND ""
diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index 4a04e762468c..d088357125b8 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,43 +1,47 @@
 # Template file for 'sysdig'
 pkgname=sysdig
-version=0.28.0
-revision=8
+version=0.31.5
+revision=1
+_falcover=0.11.0
 build_style=cmake
+build_wrksrc="sysdig-${version}"
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF
  -DLUA_INCLUDE_DIR=${XBPS_CROSS_BASE}/usr/include/luajit-2.1
- -DLUA_LIBRARY=/usr/lib/libluajit-5.1.so -DCREATE_TEST_TARGETS=OFF"
-make_cmd=make
+ -DLUA_LIBRARY=/usr/lib/libluajit-5.1.so -DCREATE_TEST_TARGETS=OFF
+ -DUSE_BUNDLED_TBB=OFF -DBUILD_LIBSCAP_EXAMPLES=OFF
+ -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_EXTENSIONS=OFF
+ -DDRIVER_VERSION=${_falcover}"
 hostmakedepends="wget pkg-config protobuf"
-makedepends="LuaJIT-devel c-ares-devel elfutils-devel grpc-devel jsoncpp-devel
+makedepends="LuaJIT-devel c-ares-devel elfutils-devel grpc-devel
  libcurl-devel libprotoc-devel openssl-devel ncurses-devel protobuf-devel
- tbb-devel zlib-devel"
+ tbb-devel zlib-devel yaml-cpp-devel json-c++"
 depends="dkms"
 short_desc="Open source system-level exploration and troubleshooting tool"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0, MIT, GPL-2.0-only"
 homepage="http://www.sysdig.org/"
 changelog="https://github.com/draios/sysdig/releases"
-distfiles="https://github.com/draios/${pkgname}/archive/${version}.tar.gz"
-checksum=817e595d501acf3fe11dc659a154aadbba848dd87ae801f5bf34a42e84979f37
-disable_parallel_build=yes
+distfiles="https://github.com/draios/sysdig/archive/${version}.tar.gz
+ https://github.com/falcosecurity/libs/archive/${_falcover}.tar.gz"
+checksum="9af98cae7c38273f7429ba0df628c9745bd92c949f444e180b9dd800af14c6dd
+ 90414d00591986e94f2c49e7d65eef5c2dedee266354dd3db8234bb3b06c86fa"
 dkms_modules="scap 2160111cd088aea9ae2235d3385ecb0b1ab6623c"
 nocross=yes
+patch_args="-Np1 --directory=${build_wrksrc}"
 
 case "$XBPS_TARGET_MACHINE" in
 	*-musl) configure_args+=" -DMUSL_OPTIMIZED_BUILD=On"
 esac
 
-export CMAKE_GENERATOR="Unix Makefiles"
-
 # Avoid excessive warnings spam to the log
 CXXFLAGS="-Wno-deprecated-declarations"
 
-CXXFLAGS+=" -I/usr/include/grpc_absl"
+post_patch() {
+	patch -d "${wrksrc}/libs-${_falcover}" -Np1 < "${FILESDIR}/libsinsp-zstd.patch"
 
-post_extract() {
 	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
-	vsed -e 's|-std=c++0x||' -i CMakeLists.txt
+	vsed -e 's|-std=c++0x||' -i CMakeLists.txt -i "${wrksrc}/libs-${_falcover}/cmake/modules/CompilerFlags.cmake"
 }
 
 post_install() {

From efbd5d8cb5912e418ff9f499699e96076d8c4c9c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 2 Jul 2023 13:36:29 +0200
Subject: [PATCH 31/34] protobuf-c: rebuild against 23.3

---
 ...4f3fd85a205eb7c90b790477d5415364209e.patch |  44 +++
 srcpkgs/protobuf-c/patches/66a0b0d2.patch     | 308 ++++++++++++++++++
 srcpkgs/protobuf-c/template                   |   8 +-
 3 files changed, 358 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
 create mode 100644 srcpkgs/protobuf-c/patches/66a0b0d2.patch

diff --git a/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch b/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
new file mode 100644
index 000000000000..7d1e97032d32
--- /dev/null
+++ b/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
@@ -0,0 +1,44 @@
+From 66574f3fd85a205eb7c90b790477d5415364209e Mon Sep 17 00:00:00 2001
+From: Steve Peters <scpeters@openrobotics.org>
+Date: Sat, 24 Jun 2023 22:15:42 -0700
+Subject: [PATCH] Use FileDescriptorLegacy for deprecated syntax()
+
+---
+ protoc-c/c_file.cc   | 2 +-
+ protoc-c/c_helpers.h | 3 ++-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/protoc-c/c_file.cc b/protoc-c/c_file.cc
+index 59c1824e..4b60b889 100644
+--- a/protoc-c/c_file.cc
++++ b/protoc-c/c_file.cc
+@@ -119,7 +119,7 @@ void FileGenerator::GenerateHeader(io::Printer* printer) {
+ 
+   int min_header_version = 1000000;
+ #if defined(HAVE_PROTO3)
+-  if (file_->syntax() == FileDescriptor::SYNTAX_PROTO3) {
++  if (FileDescriptorLegacy(file_).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3) {
+     min_header_version = 1003000;
+   }
+ #endif
+diff --git a/protoc-c/c_helpers.h b/protoc-c/c_helpers.h
+index 7598a4e1..87deea24 100644
+--- a/protoc-c/c_helpers.h
++++ b/protoc-c/c_helpers.h
+@@ -67,6 +67,7 @@
+ #include <vector>
+ #include <sstream>
+ #include <google/protobuf/descriptor.h>
++#include <google/protobuf/descriptor_legacy.h>
+ #include <protobuf-c/protobuf-c.pb.h>
+ #include <google/protobuf/io/printer.h>
+ 
+@@ -172,7 +173,7 @@ int compare_name_indices_by_name(const void*, const void*);
+ // This wrapper is needed to be able to compile against protobuf2.
+ inline int FieldSyntax(const FieldDescriptor* field) {
+ #ifdef HAVE_PROTO3
+-  return field->file()->syntax() == FileDescriptor::SYNTAX_PROTO3 ? 3 : 2;
++  return FileDescriptorLegacy(field->file()).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3 ? 3 : 2;
+ #else
+   return 2;
+ #endif
diff --git a/srcpkgs/protobuf-c/patches/66a0b0d2.patch b/srcpkgs/protobuf-c/patches/66a0b0d2.patch
new file mode 100644
index 000000000000..790db6329120
--- /dev/null
+++ b/srcpkgs/protobuf-c/patches/66a0b0d2.patch
@@ -0,0 +1,308 @@
+From 66a0b0d205224f63f19dd8f96abf9dcdc2112331 Mon Sep 17 00:00:00 2001
+From: Xiangyu Chen <xiangyu.chen@windriver.com>
+Date: Wed, 29 Mar 2023 14:25:17 +0800
+Subject: [PATCH] add support of protobuf 4.22.x
+
+after upgrade the protobuf to 4.22.x, the protobuf-c cannot compile anymore (#544) due to following changes:
+1.protobuf using c++14, that cause the command_line_interface.h report error
+2.protobuf using abseil-cpp library instead the trace API with GOOGLE_ header
+3. removed GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
+---
+ Makefile.am                   | 2 +-
+ configure.ac                  | 8 ++++++++
+ protoc-c/c_bytes_field.h      | 1 -
+ protoc-c/c_enum.h             | 1 -
+ protoc-c/c_enum_field.h       | 1 -
+ protoc-c/c_extension.h        | 1 -
+ protoc-c/c_field.cc           | 2 +-
+ protoc-c/c_field.h            | 3 ---
+ protoc-c/c_file.h             | 1 -
+ protoc-c/c_generator.h        | 2 --
+ protoc-c/c_helpers.cc         | 4 ++--
+ protoc-c/c_message.cc         | 4 ++--
+ protoc-c/c_message.h          | 1 -
+ protoc-c/c_message_field.h    | 3 ---
+ protoc-c/c_primitive_field.cc | 6 +++---
+ protoc-c/c_primitive_field.h  | 3 ---
+ protoc-c/c_service.h          | 1 -
+ protoc-c/c_string_field.h     | 1 -
+ 18 files changed, 17 insertions(+), 28 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index c7339efe..3b0d1d66 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -20,7 +20,7 @@ AM_CPPFLAGS = \
+ 	-I${top_builddir} \
+ 	-I${top_srcdir}
+ AM_CFLAGS = ${my_CFLAGS}
+-AM_LDFLAGS =
++AM_LDFLAGS = ${ABSL_LOG_INTERNAL_CHECK_OP_LIBS} ${ABSL_LOG_RAW_HASH_SET_LIBS}
+ 
+ # code coverage
+ 
+diff --git a/configure.ac b/configure.ac
+index f5a0261e..8ed549ac 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -78,6 +78,14 @@ if test "x$enable_protoc" != "xno"; then
+ 
+   AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
+ 
++# now checking 4.22.x protobuf, if so, set cxx as 17
++  AS_IF([pkg-config --atleast-version 4.22.0 protobuf],[AX_CXX_COMPILE_STDCXX(17, noext, mandatory)])
++
++  AS_IF([pkg-config --atleast-version 4.22.0 protobuf],
++    [PKG_CHECK_MODULES([ABSL_LOG_INTERNAL_CHECK_OP], [absl_log_internal_check_op],
++       [PKG_CHECK_MODULES([ABSL_LOG_RAW_HASH_SET], [absl_raw_hash_set], [], [AC_MSG_ERROR([Missing absl_raw_hash_set library.])])],
++       [AC_MSG_ERROR([Missing absl_log_internal_check_op library.])])])
++
+   PKG_CHECK_MODULES([protobuf], [protobuf >= 3.0.0],
+     [proto3_supported=yes],
+     [PKG_CHECK_MODULES([protobuf], [protobuf >= 2.6.0])]
+diff --git a/protoc-c/c_bytes_field.h b/protoc-c/c_bytes_field.h
+index bf873f0f..8fc63d35 100644
+--- a/protoc-c/c_bytes_field.h
++++ b/protoc-c/c_bytes_field.h
+@@ -88,7 +88,6 @@ class BytesFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(BytesFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_enum.h b/protoc-c/c_enum.h
+index 9c34b697..d5e58f0a 100644
+--- a/protoc-c/c_enum.h
++++ b/protoc-c/c_enum.h
+@@ -107,7 +107,6 @@ class EnumGenerator {
+   const EnumDescriptor* descriptor_;
+   std::string dllexport_decl_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_enum_field.h b/protoc-c/c_enum_field.h
+index 3f8c005d..03eb4028 100644
+--- a/protoc-c/c_enum_field.h
++++ b/protoc-c/c_enum_field.h
+@@ -86,7 +86,6 @@ class EnumFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_extension.h b/protoc-c/c_extension.h
+index 95413885..9c5797d6 100644
+--- a/protoc-c/c_extension.h
++++ b/protoc-c/c_extension.h
+@@ -99,7 +99,6 @@ class ExtensionGenerator {
+   std::string type_traits_;
+   std::string dllexport_decl_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ExtensionGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_field.cc b/protoc-c/c_field.cc
+index 0716744a..4abdc6d3 100644
+--- a/protoc-c/c_field.cc
++++ b/protoc-c/c_field.cc
+@@ -231,7 +231,7 @@ FieldGeneratorMap::~FieldGeneratorMap() {}
+ 
+ const FieldGenerator& FieldGeneratorMap::get(
+     const FieldDescriptor* field) const {
+-  GOOGLE_CHECK_EQ(field->containing_type(), descriptor_);
++  ABSL_CHECK_EQ(field->containing_type(), descriptor_);
+   return *field_generators_[field->index()];
+ }
+ 
+diff --git a/protoc-c/c_field.h b/protoc-c/c_field.h
+index 3cad35d3..76d3b0bc 100644
+--- a/protoc-c/c_field.h
++++ b/protoc-c/c_field.h
+@@ -104,8 +104,6 @@ class FieldGenerator {
+                                             const std::string &descriptor_addr) const;
+   const FieldDescriptor *descriptor_;
+ 
+- private:
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGenerator);
+ };
+ 
+ // Convenience class which constructs FieldGenerators for a Descriptor.
+@@ -122,7 +120,6 @@ class FieldGeneratorMap {
+ 
+   static FieldGenerator* MakeGenerator(const FieldDescriptor* field);
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGeneratorMap);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_file.h b/protoc-c/c_file.h
+index 8dfd8ba0..ec55906e 100644
+--- a/protoc-c/c_file.h
++++ b/protoc-c/c_file.h
+@@ -104,7 +104,6 @@ class FileGenerator {
+   std::unique_ptr<std::unique_ptr<ServiceGenerator>[]> service_generators_;
+   std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FileGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_generator.h b/protoc-c/c_generator.h
+index ac1ffafe..92601164 100644
+--- a/protoc-c/c_generator.h
++++ b/protoc-c/c_generator.h
+@@ -94,8 +94,6 @@ class PROTOC_C_EXPORT CGenerator : public CodeGenerator {
+                 OutputDirectory* output_directory,
+                 std::string* error) const;
+ 
+- private:
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(CGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_helpers.cc b/protoc-c/c_helpers.cc
+index 6fd0cd3a..1eaeeb42 100644
+--- a/protoc-c/c_helpers.cc
++++ b/protoc-c/c_helpers.cc
+@@ -286,7 +286,7 @@ const char* const kKeywordList[] = {
+ 
+ std::set<std::string> MakeKeywordsMap() {
+   std::set<std::string> result;
+-  for (int i = 0; i < GOOGLE_ARRAYSIZE(kKeywordList); i++) {
++  for (int i = 0; i < ABSL_ARRAYSIZE(kKeywordList); i++) {
+     result.insert(kKeywordList[i]);
+   }
+   return result;
+@@ -548,7 +548,7 @@ std::string CEscape(const std::string& src) {
+   std::unique_ptr<char[]> dest(new char[dest_length]);
+   const int len = CEscapeInternal(src.data(), src.size(),
+                                   dest.get(), dest_length, false);
+-  GOOGLE_DCHECK_GE(len, 0);
++  ABSL_DCHECK_GE(len, 0);
+   return std::string(dest.get(), len);
+ }
+ 
+diff --git a/protoc-c/c_message.cc b/protoc-c/c_message.cc
+index 37e8bf8b..c7e85155 100755
+--- a/protoc-c/c_message.cc
++++ b/protoc-c/c_message.cc
+@@ -499,7 +499,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ 	  // NOTE: not supported by protobuf
+ 	  vars["maybe_static"] = "";
+ 	  vars["field_dv_ctype"] = "{ ... }";
+-	  GOOGLE_LOG(DFATAL) << "Messages can't have default values!";
++	  ABSL_LOG(FATAL) << "Messages can't have default values!";
+ 	  break;
+ 	case FieldDescriptor::CPPTYPE_STRING:
+ 	  if (fd->type() == FieldDescriptor::TYPE_BYTES || opt.string_as_bytes())
+@@ -521,7 +521,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ 	    break;
+ 	  }
+ 	default:
+-	  GOOGLE_LOG(DFATAL) << "Unknown CPPTYPE";
++	  ABSL_LOG(FATAL) << "Unknown CPPTYPE";
+ 	  break;
+ 	}
+ 	if (!already_defined)
+diff --git a/protoc-c/c_message.h b/protoc-c/c_message.h
+index ea1c3ab3..e90782bf 100644
+--- a/protoc-c/c_message.h
++++ b/protoc-c/c_message.h
+@@ -137,7 +137,6 @@ class MessageGenerator {
+   std::unique_ptr<std::unique_ptr<EnumGenerator>[]> enum_generators_;
+   std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_message_field.h b/protoc-c/c_message_field.h
+index 39b8d999..42efe368 100644
+--- a/protoc-c/c_message_field.h
++++ b/protoc-c/c_message_field.h
+@@ -83,9 +83,6 @@ class MessageFieldGenerator : public FieldGenerator {
+   std::string GetDefaultValue(void) const;
+   void GenerateStaticInit(io::Printer* printer) const;
+ 
+- private:
+-
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_primitive_field.cc b/protoc-c/c_primitive_field.cc
+index 6990893f..d5a7b60c 100644
+--- a/protoc-c/c_primitive_field.cc
++++ b/protoc-c/c_primitive_field.cc
+@@ -99,7 +99,7 @@ void PrimitiveFieldGenerator::GenerateStructMembers(io::Printer* printer) const
+     case FieldDescriptor::TYPE_STRING  :
+     case FieldDescriptor::TYPE_BYTES   :
+     case FieldDescriptor::TYPE_GROUP   :
+-    case FieldDescriptor::TYPE_MESSAGE : GOOGLE_LOG(FATAL) << "not a primitive type"; break;
++    case FieldDescriptor::TYPE_MESSAGE : ABSL_LOG(FATAL) << "not a primitive type"; break;
+ 
+     // No default because we want the compiler to complain if any new
+     // types are added.
+@@ -143,7 +143,7 @@ std::string PrimitiveFieldGenerator::GetDefaultValue() const
+     case FieldDescriptor::CPPTYPE_BOOL:
+       return descriptor_->default_value_bool() ? "1" : "0";
+     default:
+-      GOOGLE_LOG(DFATAL) << "unexpected CPPTYPE in c_primitive_field";
++      ABSL_LOG(FATAL) << "unexpected CPPTYPE in c_primitive_field";
+       return "UNEXPECTED_CPPTYPE";
+   }
+ }
+@@ -197,7 +197,7 @@ void PrimitiveFieldGenerator::GenerateDescriptorInitializer(io::Printer* printer
+     case FieldDescriptor::TYPE_STRING  :
+     case FieldDescriptor::TYPE_BYTES   :
+     case FieldDescriptor::TYPE_GROUP   :
+-    case FieldDescriptor::TYPE_MESSAGE : GOOGLE_LOG(FATAL) << "not a primitive type"; break;
++    case FieldDescriptor::TYPE_MESSAGE : ABSL_LOG(FATAL) << "not a primitive type"; break;
+ 
+     // No default because we want the compiler to complain if any new
+     // types are added.
+diff --git a/protoc-c/c_primitive_field.h b/protoc-c/c_primitive_field.h
+index a9eb893b..d2bb7243 100644
+--- a/protoc-c/c_primitive_field.h
++++ b/protoc-c/c_primitive_field.h
+@@ -83,9 +83,6 @@ class PrimitiveFieldGenerator : public FieldGenerator {
+   std::string GetDefaultValue(void) const;
+   void GenerateStaticInit(io::Printer* printer) const;
+ 
+- private:
+-
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(PrimitiveFieldGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_service.h b/protoc-c/c_service.h
+index 27125a60..4737ff3b 100644
+--- a/protoc-c/c_service.h
++++ b/protoc-c/c_service.h
+@@ -101,7 +101,6 @@ class ServiceGenerator {
+   const ServiceDescriptor* descriptor_;
+   std::map<std::string, std::string> vars_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ServiceGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_string_field.h b/protoc-c/c_string_field.h
+index 513cea75..ba258e44 100644
+--- a/protoc-c/c_string_field.h
++++ b/protoc-c/c_string_field.h
+@@ -88,7 +88,6 @@ class StringFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(StringFieldGenerator);
+ };
+ 
+ 
diff --git a/srcpkgs/protobuf-c/template b/srcpkgs/protobuf-c/template
index 7d1b529d8936..e703b138152d 100644
--- a/srcpkgs/protobuf-c/template
+++ b/srcpkgs/protobuf-c/template
@@ -1,10 +1,10 @@
 # Template file for 'protobuf-c'
 pkgname=protobuf-c
 version=1.4.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="$(vopt_enable protoc)"
-hostmakedepends="pkg-config protobuf protobuf-devel"
+hostmakedepends="pkg-config protobuf protobuf-devel automake libtool"
 makedepends="protobuf-devel boost-devel $(vopt_if protoc libprotoc-devel)"
 short_desc="C implementation of the Google Protocol Buffers"
 maintainer="Enno Boland <gottox@voidlinux.org>"
@@ -17,6 +17,10 @@ build_options="protoc"
 build_options_default="protoc"
 desc_option_protoc="Build protoc-c compiler"
 
+pre_configure() {
+	autoreconf -if
+}
+
 post_install() {
 	vlicense LICENSE
 }

From 910e9b51b6133077f26bd07c5e7a8d469e88a7cf Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 2 Jul 2023 21:07:55 +0200
Subject: [PATCH 32/34] netdata: update to 1.40.1.

---
 srcpkgs/netdata/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/netdata/template            | 13 +++++++++----
 2 files changed, 20 insertions(+), 4 deletions(-)
 create mode 100644 srcpkgs/netdata/patches/cpp17.patch

diff --git a/srcpkgs/netdata/patches/cpp17.patch b/srcpkgs/netdata/patches/cpp17.patch
new file mode 100644
index 000000000000..b197ccd57bd9
--- /dev/null
+++ b/srcpkgs/netdata/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac	2023-06-27 16:25:03.364605041 +0200
++++ -	2023-07-02 21:27:31.113408278 +0200
+@@ -237,7 +237,7 @@
+ # C++ version check
+ 
+ # Check for C++17 support (optional)
+-# AX_CXX_COMPILE_STDCXX(17, noext, optional)
++AX_CXX_COMPILE_STDCXX(17, noext, optional)
+ 
+ if test "x$HAVE_CXX17" != "x1"; then
+   # Check for C++11 support (optional)
diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 781120b3f275..9065c5140361 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -1,14 +1,14 @@
 # Template file for 'netdata'
 pkgname=netdata
-version=1.37.1
-revision=2
+version=1.40.1
+revision=1
 build_style=gnu-configure
 build_helper=qemu
 configure_args="--with-user=_netdata ac_cv_file_externaldeps_libbpf_libbpf_a=no
  $(vopt_if cloud --enable-cloud --disable-cloud) $(vopt_if ipmi --enable-plugin-freeipmi)
  $(vopt_if xen --enable-plugin-xenstat) $(vopt_if cups --enable-plugin-cups)"
 hostmakedepends="pkg-config autoconf automake $(vopt_if cloud "protobuf protobuf-devel")"
-makedepends="json-c-devel libcap-devel liblz4-devel libmnl-devel
+makedepends="json-c-devel libcap-devel liblz4-devel libmnl-devel libyaml-devel
  libnetfilter_acct-devel openssl-devel libuuid-devel libuv-devel zlib-devel
  snappy-devel $(vopt_if cloud protobuf-devel) $(vopt_if ipmi freeipmi-devel)
  $(vopt_if xen "xen-devel yajl-devel") $(vopt_if cups cups-devel)"
@@ -18,7 +18,7 @@ maintainer="Michael Aldridge <maldridge@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://www.netdata.cloud/"
 distfiles="https://github.com/netdata/netdata/releases/download/v${version}/netdata-v${version}.tar.gz"
-checksum=2caa042d43ca61007a61294a5ececa037d83a1973bd38032233760341eb1706b
+checksum=cc86172acd5e6ec05bc0fa86a50d967502a264d8adf7f79293923ccd8febb251
 python_version=3
 make_dirs="
  /var/lib/netdata          0755 _netdata _netdata
@@ -43,6 +43,11 @@ if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 fi
 
 pre_configure() {
+	vsed -e 's/#define info(/#define netdata_log_info(/g' -i libnetdata/log/log.h
+	vsed -e 's/^\([ ]*\)info[ ]*(/\1netdata_log_info(/g' -i $(grep -rl '^[ ]*info *(' ./)
+	vsed -e 's/^\([ ]*\)else info(/\1else netdata_log_info(/g' -i $(grep -rl '^[ ]*else info(' ./)
+	vsed -e 's/^\([ ]*\)if(\([^)]*\))[ ]*info(/\1if(\2) netdata_log_info(/g' -i $(grep -rl '^[ ]*if.*info(' ./)
+
 	if [ "$CROSS_BUILD" ]; then
 		sed -i "s|	\$(builddir)/judyltablesgen\$(EXEEXT)|	qemu-${XBPS_TARGET_QEMU_MACHINE}-static \$(builddir)/judyltablesgen\$(EXEEXT)|g" Makefile.am
 	fi

From 5e99f6752f8a3c903c047fae84366c7869cd5b6e Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 8 Jul 2023 12:47:51 +0200
Subject: [PATCH 33/34] strawberry: rebuild against protobuf-23.3_1

---
 srcpkgs/strawberry/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/strawberry/template b/srcpkgs/strawberry/template
index b42efa1b89b2..91f2e07a0ec0 100644
--- a/srcpkgs/strawberry/template
+++ b/srcpkgs/strawberry/template
@@ -1,7 +1,7 @@
 # Template file for 'strawberry'
 pkgname=strawberry
 version=1.0.17
-revision=2
+revision=3
 build_style=cmake
 hostmakedepends="pkg-config protobuf gettext"
 makedepends="alsa-lib-devel boost-devel gnutls-devel fftw-devel

From 4c8c0fb39d4865e0e24deaeb7d137d2a2b89f66a Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 8 Jul 2023 12:47:51 +0200
Subject: [PATCH 34/34] libphonenumber: rebuild against protobuf-23.3_1

---
 srcpkgs/libphonenumber/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libphonenumber/template b/srcpkgs/libphonenumber/template
index f554714b3c7a..058939459f6a 100644
--- a/srcpkgs/libphonenumber/template
+++ b/srcpkgs/libphonenumber/template
@@ -1,7 +1,7 @@
 # Template file for 'libphonenumber'
 pkgname=libphonenumber
 version=8.12.39
-revision=12
+revision=13
 build_wrksrc=cpp
 build_style=cmake
 build_helper=qemu

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] protobuf/abseil-cpp/grpc: update
  2023-07-08 11:45 [PR PATCH] protobuf/abseil-cpp: update Johnnynator
  2023-07-08 12:45 ` [PR PATCH] [Updated] protobuf/abseil-cpp/grpc: update Johnnynator
  2023-07-08 12:48 ` Johnnynator
@ 2023-07-10 21:07 ` Johnnynator
  2023-07-11  6:57 ` Johnnynator
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Johnnynator @ 2023-07-10 21:07 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 616 bytes --]

There is an updated pull request by Johnnynator against master on the void-packages repository

https://github.com/Johnnynator/void-packages google-stuff
https://github.com/void-linux/void-packages/pull/44920

protobuf/abseil-cpp/grpc: update
"Fun" with google stuff

#### Testing the changes
- I tested the changes in this PR: **WiP**


#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):



A patch file from https://github.com/void-linux/void-packages/pull/44920.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-google-stuff-44920.patch --]
[-- Type: text/x-diff, Size: 107945 bytes --]

From 2d7e59d990ede737787ed3bb3ef3f4c79df26060 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:24:01 +0200
Subject: [PATCH 01/34] abseil-cpp: update to 20230125.3.

---
 common/shlibs                                 | 128 ++++++++++++------
 srcpkgs/abseil-cpp/patches/google-sucks.patch |  77 -----------
 srcpkgs/abseil-cpp/template                   |   4 +-
 3 files changed, 85 insertions(+), 124 deletions(-)
 delete mode 100644 srcpkgs/abseil-cpp/patches/google-sucks.patch

diff --git a/common/shlibs b/common/shlibs
index b8ab3ec37bff..839657574cc5 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4202,51 +4202,89 @@ libsunpinyin.so.3 libsunpinyin-3.0.0rc2_1
 libtpm2-totp.so.0 libtpm2-totp-0.3.0_1
 libmujs.so.1.2.0 mujs-1.2.0_2
 libiir.so.1 libiir1-1.9.3_1
-libabsl_statusor.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_hash.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_raw_hash_set.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_bad_variant_access.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_status.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_pool_urbg.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_hwaes_impl.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_slow.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cord.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_city.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_bad_optional_access.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_info.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_str_format_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_synchronization.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_time.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strings.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_throw_delegate.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_time_zone.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_spinlock_wait.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_base.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_civil_time.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cord_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_functions.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_handle.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_debugging_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_demangle_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_exponential_biased.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_graphcycles_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_hashtablez_sampler.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_int128.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_log_severity.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_low_level_hash.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_malloc_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_distributions.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_platform.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_hwaes.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_seed_material.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_seed_gen_exception.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_seed_sequences.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_raw_logging_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_stacktrace.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strerror.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strings_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_symbolize.so.2206.0.0 abseil-cpp-20220623.1_1
+libabsl_flags.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_raw_logging_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_parse.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_reflection.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_globals.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_config.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_seed_sequences.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_statusor.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_usage_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_commandlineflag.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_hwaes_impl.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_status.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_any_cast_impl.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_variant_access.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_raw_hash_set.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_optional_access.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cord.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_distribution_test_util.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_handle.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_graphcycles_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_spinlock_wait.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_functions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_usage.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_debugging_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strerror.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_seed_material.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_log_sink_set.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_proto.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_civil_time.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_conditions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_cpu_detect.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_entry.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_distributions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_globals.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_format.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_exponential_biased.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_city.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_symbolize.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_leak_check.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_low_level_hash.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_severity.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_scoped_set_env.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strings.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_die_if_null.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_hash.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_commandlineflag_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_periodic_sampler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_platform.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_malloc_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_sample_token.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_str_format_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_synchronization.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_message.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strings_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_private_handle_accessor.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cord_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_hwaes.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_throw_delegate.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_cord_state.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_flags.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_program_name.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_time_zone.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_examine_stack.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc32c.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_initialize.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_failure_signal_handler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_time.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_info.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_sink.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_nullguard.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_demangle_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_base.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_hashtablez_sampler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_marshalling.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_pool_urbg.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_int128.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_stacktrace.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_seed_gen_exception.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_check_op.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_slow.so.2301.0.0 abseil-cpp-20230125.3_1
 libairspyhf.so.0 libairspyhf-1.6.8_1
 libtraceevent.so.1 libtraceevent-1.6.2_1
 libtracefs.so.1 libtracefs-1.4.2_1
diff --git a/srcpkgs/abseil-cpp/patches/google-sucks.patch b/srcpkgs/abseil-cpp/patches/google-sucks.patch
deleted file mode 100644
index 511bae847101..000000000000
--- a/srcpkgs/abseil-cpp/patches/google-sucks.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-commit 1fbfea71fb42b2e79f9e342c1843bd26a8703536
-Author: Daniel Kolesa <daniel@octaforge.org>
-Date:   Thu Aug 25 01:20:58 2022 +0200
-
-    An all-in-one patch that fixes several issues:
-    
-    1) UnscaledCycleClock not fully implemented for ppc*-musl (disabled on musl)
-    2) powerpc stacktrace implementation only works on glibc (disabled on musl)
-    3) powerpc stacktrace implementation has ppc64 assumptions (fixed)
-    4) examine_stack.cpp makes glibc assumptions on powerpc (fixed)
-
-diff --git a/absl/base/internal/unscaledcycleclock.cc b/absl/base/internal/unscaledcycleclock.cc
-index b1c396c..d62bfd6 100644
---- a/absl/base/internal/unscaledcycleclock.cc
-+++ b/absl/base/internal/unscaledcycleclock.cc
-@@ -20,7 +20,7 @@
- #include <intrin.h>
- #endif
- 
--#if defined(__powerpc__) || defined(__ppc__)
-+#if (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
- #ifdef __GLIBC__
- #include <sys/platform/ppc.h>
- #elif defined(__FreeBSD__)
-@@ -58,7 +58,7 @@ double UnscaledCycleClock::Frequency() {
-   return base_internal::NominalCPUFrequency();
- }
- 
--#elif defined(__powerpc__) || defined(__ppc__)
-+#elif (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
- 
- int64_t UnscaledCycleClock::Now() {
- #ifdef __GLIBC__
-diff --git a/absl/base/internal/unscaledcycleclock.h b/absl/base/internal/unscaledcycleclock.h
-index 2cbeae3..83d8c98 100644
---- a/absl/base/internal/unscaledcycleclock.h
-+++ b/absl/base/internal/unscaledcycleclock.h
-@@ -46,8 +46,8 @@
- 
- // The following platforms have an implementation of a hardware counter.
- #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \
--    defined(__powerpc__) || defined(__ppc__) || defined(__riscv) ||     \
--    defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
-+    ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \
-+    defined(__riscv) || defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
- #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
- #else
- #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 0
-diff --git a/absl/debugging/internal/examine_stack.cc b/absl/debugging/internal/examine_stack.cc
-index 5bdd341..a42a3c4 100644
---- a/absl/debugging/internal/examine_stack.cc
-+++ b/absl/debugging/internal/examine_stack.cc
-@@ -174,8 +174,10 @@ void* GetProgramCounter(void* const vuc) {
-     return reinterpret_cast<void*>(context->uc_mcontext.pc);
- #elif defined(__powerpc64__)
-     return reinterpret_cast<void*>(context->uc_mcontext.gp_regs[32]);
--#elif defined(__powerpc__)
-+#elif defined(__powerpc__) && defined(__GLIBC__)
-     return reinterpret_cast<void*>(context->uc_mcontext.uc_regs->gregs[32]);
-+#elif defined(__powerpc__)
-+    return reinterpret_cast<void*>(context->uc_mcontext.gregs[32]);
- #elif defined(__riscv)
-     return reinterpret_cast<void*>(context->uc_mcontext.__gregs[REG_PC]);
- #elif defined(__s390__) && !defined(__s390x__)
-diff --git a/absl/debugging/internal/stacktrace_config.h b/absl/debugging/internal/stacktrace_config.h
-index 3929b1b..23d5e50 100644
---- a/absl/debugging/internal/stacktrace_config.h
-+++ b/absl/debugging/internal/stacktrace_config.h
-@@ -60,7 +60,7 @@
- #elif defined(__i386__) || defined(__x86_64__)
- #define ABSL_STACKTRACE_INL_HEADER \
-   "absl/debugging/internal/stacktrace_x86-inl.inc"
--#elif defined(__ppc__) || defined(__PPC__)
-+#elif (defined(__ppc__) || defined(__PPC__)) && defined(__GLIBC__)
- #define ABSL_STACKTRACE_INL_HEADER \
-   "absl/debugging/internal/stacktrace_powerpc-inl.inc"
- #elif defined(__aarch64__)
diff --git a/srcpkgs/abseil-cpp/template b/srcpkgs/abseil-cpp/template
index 8640d2489406..3ffdb4d99d33 100644
--- a/srcpkgs/abseil-cpp/template
+++ b/srcpkgs/abseil-cpp/template
@@ -1,6 +1,6 @@
 # Template file for 'abseil-cpp'
 pkgname=abseil-cpp
-version=20220623.1
+version=20230125.3
 revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON -DABSL_PROPAGATE_CXX_STD=ON"
@@ -10,7 +10,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="Apache-2.0"
 homepage="https://abseil.io"
 distfiles="https://github.com/abseil/abseil-cpp/archive/${version}.tar.gz"
-checksum=91ac87d30cc6d79f9ab974c51874a704de9c2647c40f6932597329a282217ba8
+checksum=5366d7e7fa7ba0d915014d387b66d0d002c03236448e1ba9ef98122c13b35c36
 
 abseil-cpp-devel_package() {
 	short_desc+=" (development files)"

From 95a6884e8c99c0ffa2b5123cacf7e0625261a1c5 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 02/34] Bear: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/Bear/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/Bear/template b/srcpkgs/Bear/template
index cebf51b64728..2e6da3ba9a30 100644
--- a/srcpkgs/Bear/template
+++ b/srcpkgs/Bear/template
@@ -1,7 +1,7 @@
 # Template file for 'Bear'
 pkgname=Bear
 version=3.1.2
-revision=1
+revision=2
 build_style=cmake
 hostmakedepends="pkg-config protobuf protobuf-devel grpc"
 makedepends="json-c++ spdlog grpc-devel protobuf-devel gtest-devel"

From 6bb7da0cdf720dfbd501d32e730e1f234e078683 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 03/34] grpc: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/grpc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index 5b4547a5c0fc..f9d197a1c354 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -1,7 +1,7 @@
 # Template file for 'grpc'
 pkgname=grpc
 version=1.49.1
-revision=2
+revision=3
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON
  -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package

From d841bf3b6f7be0acfbcda6d7153241904c41960b Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 04/34] justbuild: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/justbuild/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index 1ad8e334617d..ee36f6dae575 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
 # Template file for 'justbuild'
 pkgname=justbuild
 version=1.1.2
-revision=1
+revision=2
 create_wrksrc=yes
 hostmakedepends="jo pandoc pkg-config python3 tar unzip wget"
 makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++

From 8d17815dac8db586e4088046edc2a84f5b1f7f05 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 05/34] python3-grpcio: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/python3-grpcio/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 826eda0fc560..9b3c7288a9dd 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-grpcio'
 pkgname=python3-grpcio
 version=1.49.1
-revision=3
+revision=4
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-six python3-Cython"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel

From 8a4552a463d06e82d1c9832a20279c1cb7046549 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 06/34] sysdig: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/sysdig/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index 81ddb7aba5e3..4a04e762468c 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,7 +1,7 @@
 # Template file for 'sysdig'
 pkgname=sysdig
 version=0.28.0
-revision=7
+revision=8
 build_style=cmake
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF
@@ -36,7 +36,8 @@ CXXFLAGS="-Wno-deprecated-declarations"
 CXXFLAGS+=" -I/usr/include/grpc_absl"
 
 post_extract() {
-	sed -i 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' scripts/CMakeLists.txt
+	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
+	vsed -e 's|-std=c++0x||' -i CMakeLists.txt
 }
 
 post_install() {

From c4237607bf6191bb9793fcb9702aadcb4ebdd6d2 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 22:01:12 +0200
Subject: [PATCH 07/34] python3-grpcio: update to 1.56.0.

---
 srcpkgs/python3-grpcio/template | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 9b3c7288a9dd..25ea3fc34620 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-grpcio'
 pkgname=python3-grpcio
-version=1.49.1
-revision=4
+version=1.56.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-six python3-Cython"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel
@@ -12,7 +12,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://grpc.io"
 distfiles="${PYPI_SITE}/g/grpcio/grpcio-${version}.tar.gz"
-checksum=d4725fc9ec8e8822906ae26bb26f5546891aa7fbc3443de970cc556d43a5c99f
+checksum=4c08ee21b3d10315b8dc26f6c13917b20ed574cdbed2d2d80c53d5508fdcc0f2
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	makedepends+=" libatomic-devel"
@@ -29,5 +29,7 @@ export GRPC_PYTHON_BUILD_SYSTEM_RE2=1
 export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
 
 post_extract() {
+	# abseil-cpp 2023xxxxxx requires at least c++ 17
+	vsed -e 's/c++14/c++17/g' -i setup.py
 	rm src/python/grpcio/grpc/_cython/cygrpc.cpp
 }

From bf6d6cfa82fb144e513a2949afae923b282597fc Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 22:01:47 +0200
Subject: [PATCH 08/34] grpc: update to 1.56.0.

---
 common/shlibs                                 | 24 +++++++++----------
 srcpkgs/grpc/patches/cmake.patch              |  9 +++++++
 .../grpc/patches/revert-find-protobuf.patch   | 23 ++++++++++++++++++
 srcpkgs/grpc/template                         | 10 ++++----
 4 files changed, 50 insertions(+), 16 deletions(-)
 create mode 100644 srcpkgs/grpc/patches/cmake.patch
 create mode 100644 srcpkgs/grpc/patches/revert-find-protobuf.patch

diff --git a/common/shlibs b/common/shlibs
index 839657574cc5..f9a282013d85 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3678,18 +3678,18 @@ liboblibs.so.0.1 oblibs-0.1.1.1_1
 libaal-1.0.so.7 libaal-1.0.7_1
 libaal-minimal.so.0 libaal-1.0.7_1
 libcli.so.1.9 libcli-1.9.8.4_1
-libaddress_sorting.so.27 libgrpc-1.49.1_1
-libgpr.so.27 libgrpc-1.49.1_1
-libgrpc.so.27 libgrpc-1.49.1_1
-libgrpc_unsecure.so.27 libgrpc-1.49.1_1
-libupb.so.27 libgrpc-1.49.1_1
-libgrpc++.so.1.49 libgrpc-1.49.1_1
-libgrpc++_alts.so.1.49 libgrpc-1.49.1_1
-libgrpc++_error_details.so.1.49 libgrpc-1.49.1_1
-libgrpc++_reflection.so.1.49 libgrpc-1.49.1_1
-libgrpc++_unsecure.so.1.49 libgrpc-1.49.1_1
-libgrpc_plugin_support.so.1.49 libgrpc-1.49.1_1
-libgrpcpp_channelz.so.1.49 libgrpc-1.49.1_1
+libaddress_sorting.so.33 libgrpc-1.56.0_1
+libgpr.so.33 libgrpc-1.56.0_1
+libgrpc.so.33 libgrpc-1.56.0_1
+libgrpc_unsecure.so.33 libgrpc-1.56.0_1
+libupb.so.33 libgrpc-1.56.0_1
+libgrpc++.so.1.56 libgrpc-1.56.0_1
+libgrpc++_alts.so.1.56 libgrpc-1.56.0_1
+libgrpc++_error_details.so.1.56 libgrpc-1.56.0_1
+libgrpc++_reflection.so.1.56 libgrpc-1.56.0_1
+libgrpc++_unsecure.so.1.56 libgrpc-1.56.0_1
+libgrpc_plugin_support.so.1.56 libgrpc-1.56.0_1
+libgrpcpp_channelz.so.1.56 libgrpc-1.56.0_1
 libircclient.so.1 libircclient-1.10_5
 libFAudio.so.0 FAudio-19.05_1
 libqaccessibilityclient-qt5.so.0 libqaccessibilityclient-0.4.0_1
diff --git a/srcpkgs/grpc/patches/cmake.patch b/srcpkgs/grpc/patches/cmake.patch
new file mode 100644
index 000000000000..d452e4ea59bf
--- /dev/null
+++ b/srcpkgs/grpc/patches/cmake.patch
@@ -0,0 +1,9 @@
+--- a/cmake/gRPCConfig.cmake.in	2023-06-14 22:21:16.000000000 +0200
++++ -	2023-06-28 11:11:32.902678412 +0200
+@@ -1,5 +1,6 @@
+ # Module path
+ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/modules)
++include(CMakeFindDependencyMacro)
+ 
+ # Depend packages
+ @_gRPC_FIND_ZLIB@
diff --git a/srcpkgs/grpc/patches/revert-find-protobuf.patch b/srcpkgs/grpc/patches/revert-find-protobuf.patch
new file mode 100644
index 000000000000..6001f37c6b1b
--- /dev/null
+++ b/srcpkgs/grpc/patches/revert-find-protobuf.patch
@@ -0,0 +1,23 @@
+Use the old cmake provided FindProtobuf() implementation for now.
+A future cmake update will remove this module, but use it for now until
+all packages are updated to the new system
+---
+--- a/cmake/protobuf.cmake	2023-06-14 22:21:16.000000000 +0200
++++ -	2023-07-10 21:05:41.114443796 +0200
+@@ -55,7 +55,7 @@
+     set(gRPC_INSTALL FALSE)
+   endif()
+ elseif(gRPC_PROTOBUF_PROVIDER STREQUAL "package")
+-  find_package(Protobuf REQUIRED CONFIG)
++  find_package(Protobuf REQUIRED)
+ 
+   if(Protobuf_FOUND OR PROTOBUF_FOUND)
+     if(TARGET protobuf::${_gRPC_PROTOBUF_LIBRARY_NAME})
+@@ -86,6 +86,6 @@
+         set(_gRPC_PROTOBUF_PROTOC_EXECUTABLE ${PROTOBUF_PROTOC_EXECUTABLE})
+       endif()
+     endif()
+-    set(_gRPC_FIND_PROTOBUF "find_dependency(Protobuf CONFIG)")
++    set(_gRPC_FIND_PROTOBUF "find_dependency(Protobuf)")
+   endif()
+ endif()
diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index f9d197a1c354..5e127c2ddfb2 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -1,7 +1,7 @@
 # Template file for 'grpc'
 pkgname=grpc
-version=1.49.1
-revision=3
+version=1.56.0
+revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON
  -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package
@@ -16,11 +16,12 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://github.com/grpc/grpc"
 distfiles="${homepage}/archive/v${version}/${pkgname}-${version}.tar.gz"
-checksum=5071b630e2a14707ad060636990f1b25b0984bd168c7ea1ab95e48a3bdc0081f
+checksum=e034992a0b464042021f6d440f2090acc2422c103a322b0844e3921ccea981dc
 
 if [ "$CROSS_BUILD" ]; then
 	# need host grpc_cpp_plugin
 	hostmakedepends+=" grpc"
+	configure_args+=" -DProtobuf_PROTOC_EXECUTABLE=/usr/bin/protoc"
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
@@ -38,7 +39,8 @@ libgrpc_package() {
 
 grpc-devel_package() {
 	short_desc+=" - development files"
-	depends="${sourcepkg}>=${version}_${revision} ${_devel_depends}"
+	depends="${sourcepkg}>=${version}_${revision} ${_devel_depends}
+	 protobuf-devel"
 	pkg_install() {
 		vmove usr/include
 		vmove usr/lib/*.so

From b20f8f0da3e82e79c27156fc24d3678305055dfe Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:40:13 +0200
Subject: [PATCH 09/34] protobuf: update to 23.4.

- switch to cmake buildstyle
- grpc needs the .cmake files to find protobuf
- newer version of protobuf will drop autoconf
---
 common/shlibs             |  6 ++---
 srcpkgs/protobuf/template | 46 ++++++++++++++-------------------------
 2 files changed, 19 insertions(+), 33 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index f9a282013d85..712df469a3ee 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3110,9 +3110,9 @@ libm17n-flt.so.0 m17n-lib-1.7.0_1
 libm17n-gui.so.0 m17n-lib-1.7.0_1
 libm17n-core.so.0 m17n-lib-1.7.0_1
 libm17n.so.0 m17n-lib-1.7.0_1
-libprotobuf-lite.so.32 libprotobuf-lite-21.4_1
-libprotoc.so.32 libprotoc-21.4_1
-libprotobuf.so.32 libprotobuf-21.4_1
+libprotobuf-lite.so.23.4.0 libprotobuf-lite-23.4_1
+libprotoc.so.23.4.0 libprotoc-23.4_1
+libprotobuf.so.23.4.0 libprotobuf-23.4_1
 libsombok.so.3 sombok-2.4.0_1
 libdeviceclient.so.0 pragha-1.3.3_1
 libykclient.so.3 ykclient-2.15_1
diff --git a/srcpkgs/protobuf/template b/srcpkgs/protobuf/template
index 571f06487c85..91324a4da612 100644
--- a/srcpkgs/protobuf/template
+++ b/srcpkgs/protobuf/template
@@ -1,22 +1,22 @@
 # Template file for 'protobuf'
 pkgname=protobuf
-version=21.12
+version=23.4
 revision=1
-create_wrksrc="yes"
-build_wrksrc="${pkgname}-${version}"
-build_style=gnu-configure
-hostmakedepends="pkg-config automake libtool"
-makedepends="zlib-devel"
+build_style=cmake
+hostmakedepends="pkg-config"
+configure_args="-Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_USE_EXTERNAL_GTEST=ON
+ -Dprotobuf_BUILD_LIBPROTOC=ON -Dprotobuf_ABSL_PROVIDER=package"
+# XXX: Tests require that the abseil-cpp provides absl::scoped_mock_log
+configure_args+=" -Dprotobuf_BUILD_TESTS=OFF"
+makedepends="zlib-devel gtest-devel libatomic-devel
+ abseil-cpp-devel"
 short_desc="Protocol buffers compiler"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
 changelog="https://raw.githubusercontent.com/google/protobuf/master/CHANGES.txt"
-_googletest_commit="5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081"
-distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz
- https://github.com/google/googletest/archive/${_googletest_commit}.tar.gz"
-checksum="22fdaf641b31655d4b2297f9981fa5203b2866f8332d3c6333f6b0107bb320de
- 0e2f36e8e403c125fd0ab02171bdb786d3b6b3875b6ccf3b2eb7969be8faecd0"
+distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz"
+checksum=a700a49470d301f1190a487a923b5095bf60f08f4ae4cac9f5f7c36883d17971
 
 # Switch to versioned package
 conflicts="protobuf18>=0 protobuf23>=0 protobuf24>=0
@@ -26,24 +26,11 @@ replaces="${conflicts}"
 if [ "$CROSS_BUILD" ]; then
 	# needs host protoc
 	hostmakedepends+=" ${pkgname}"
-	configure_args+=" --with-protoc=/usr/bin/protoc"
+	configure_args+=" -Dprotobuf_PROTOC_EXE=/usr/bin/protoc"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-	LDFLAGS+=" -latomic"
-fi
-
-post_extract() {
-	rmdir "${build_wrksrc}/third_party/googletest"
-	mv "googletest-${_googletest_commit}" "${build_wrksrc}/third_party/googletest"
-}
-
-pre_configure() {
-	autoreconf -fi
-}
-
 post_install() {
+	rm -rf "${DESTDIR}/usr/lib/cmake"
 	vlicense LICENSE
 }
 
@@ -80,7 +67,6 @@ libprotoc-devel_package() {
 	 libprotoc26-devel>=0 libprotoc28-devel>=0"
 	replaces="${conflicts}"
 	pkg_install() {
-		vmove usr/lib/libprotoc.a
 		vmove usr/lib/libprotoc.so
 		vmove usr/include/google/protobuf/compiler
 	}
@@ -89,7 +75,8 @@ libprotoc-devel_package() {
 protobuf-devel_package() {
 	depends="zlib-devel
 	 libprotobuf-${version}_${revision}
-	 libprotobuf-lite-${version}_${revision}"
+	 libprotobuf-lite-${version}_${revision}
+	 abseil-cpp-devel"
 	short_desc="Protocol buffers C++ library - development files"
 	# Switch to versioned package
 	conflicts="protobuf18-devel>=0 protobuf23-devel>=0
@@ -98,10 +85,9 @@ protobuf-devel_package() {
 	replaces="${conflicts}"
 	pkg_install() {
 		vmove usr/include
-		vmove usr/lib/libprotobuf.a
-		vmove usr/lib/libprotobuf-lite.a
 		vmove usr/lib/libprotobuf.so
 		vmove usr/lib/libprotobuf-lite.so
 		vmove usr/lib/pkgconfig
+		vmove "usr/lib/*.a"
 	}
 }

From b350e31ca250096f5a1d3b1a3299f1f8b46c01a1 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 10/34] EternalTerminal: rebuild against protobuf-23.3_1

---
 srcpkgs/EternalTerminal/patches/limits.patch | 10 ++++++++++
 srcpkgs/EternalTerminal/template             |  2 +-
 2 files changed, 11 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/EternalTerminal/patches/limits.patch

diff --git a/srcpkgs/EternalTerminal/patches/limits.patch b/srcpkgs/EternalTerminal/patches/limits.patch
new file mode 100644
index 000000000000..9226bd45001a
--- /dev/null
+++ b/srcpkgs/EternalTerminal/patches/limits.patch
@@ -0,0 +1,10 @@
+--- a/EternalTerminal/external_imported/cxxopts/include/cxxopts.hpp	2022-05-05 17:20:44.000000000 +0200
++++ -	2023-07-10 20:07:25.607948589 +0200
+@@ -37,6 +37,7 @@
+ #include <unordered_map>
+ #include <unordered_set>
+ #include <vector>
++#include <limits>
+ 
+ #ifdef __cpp_lib_optional
+ #include <optional>
diff --git a/srcpkgs/EternalTerminal/template b/srcpkgs/EternalTerminal/template
index 1017a1b4a1ec..156eab6ce47e 100644
--- a/srcpkgs/EternalTerminal/template
+++ b/srcpkgs/EternalTerminal/template
@@ -1,7 +1,7 @@
 # Template file for 'EternalTerminal'
 pkgname=EternalTerminal
 version=6.2.1
-revision=1
+revision=2
 # revisions used for the specific versions of submodules.
 # they can be found in the external/ directory of the source code.
 _sanitizers_gitrev="99e159ec9bc8dd362b08d18436bd40ff0648417b"

From 97c81e13cc84a3312665350f3f0bd0f10d6e7950 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 11/34] vlc: rebuild against protobuf-23.3_1

---
 srcpkgs/vlc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vlc/template b/srcpkgs/vlc/template
index 210762b0a7e2..651c94a1353a 100644
--- a/srcpkgs/vlc/template
+++ b/srcpkgs/vlc/template
@@ -1,7 +1,7 @@
 # Template file for 'vlc'
 pkgname=vlc
 version=3.0.18
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--disable-gme --disable-libtar --enable-jack
  --enable-live555 --disable-fluidsynth --enable-dvdread

From 044361eab0d69c07276c6539f8ac34d10a0c6d81 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 12/34] mixxx: rebuild against protobuf-23.3_1

---
 srcpkgs/mixxx/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mixxx/template b/srcpkgs/mixxx/template
index 619ddca0d332..4b9ea00d3fb3 100644
--- a/srcpkgs/mixxx/template
+++ b/srcpkgs/mixxx/template
@@ -1,7 +1,7 @@
 # Template file for 'mixxx'
 pkgname=mixxx
 version=2.3.3
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="extra-cmake-modules pkg-config protobuf qt5-host-tools qt5-devel"

From 733fc358605d208716e9efab99766c3780de6951 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 13/34] telegram-desktop: rebuild against protobuf-23.3_1

---
 srcpkgs/telegram-desktop/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/telegram-desktop/template b/srcpkgs/telegram-desktop/template
index f114b2341dc5..9db9f80c1a53 100644
--- a/srcpkgs/telegram-desktop/template
+++ b/srcpkgs/telegram-desktop/template
@@ -1,7 +1,7 @@
 # Template file for 'telegram-desktop'
 pkgname=telegram-desktop
 version=4.8.1
-revision=3
+revision=4
 build_style=cmake
 build_helper="qemu"
 configure_args="-DTDESKTOP_API_ID=209235

From 0135ec7b2c1664ce88bf0f98af1ee43e19775632 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:56 +0200
Subject: [PATCH 14/34] usbguard: rebuild against protobuf-23.3_1

---
 srcpkgs/usbguard/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/usbguard/template b/srcpkgs/usbguard/template
index 8625c80a7eda..df4411202568 100644
--- a/srcpkgs/usbguard/template
+++ b/srcpkgs/usbguard/template
@@ -1,7 +1,7 @@
 # Template file for 'usbguard'
 pkgname=usbguard
 version=1.1.2
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-crypto-library=sodium --with-bundled-catch --with-bundled-pegtl"
 conf_files="/etc/usbguard/*"

From 5d353818e4baccc2300f036a1a3c58ea639948d4 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 15/34] nsjail: rebuild against protobuf-23.3_1

---
 srcpkgs/nsjail/patches/cpp17.patch       | 11 +++++++++
 srcpkgs/nsjail/patches/kafel-bison.patch | 30 ------------------------
 srcpkgs/nsjail/patches/ldflags.patch     | 11 +++++++++
 srcpkgs/nsjail/patches/log.patch         | 24 +++++++++++++++++++
 srcpkgs/nsjail/template                  | 13 +++++-----
 5 files changed, 53 insertions(+), 36 deletions(-)
 create mode 100644 srcpkgs/nsjail/patches/cpp17.patch
 delete mode 100644 srcpkgs/nsjail/patches/kafel-bison.patch
 create mode 100644 srcpkgs/nsjail/patches/ldflags.patch
 create mode 100644 srcpkgs/nsjail/patches/log.patch

diff --git a/srcpkgs/nsjail/patches/cpp17.patch b/srcpkgs/nsjail/patches/cpp17.patch
new file mode 100644
index 000000000000..384ff7b51258
--- /dev/null
+++ b/srcpkgs/nsjail/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/Makefile	2022-11-22 22:25:15.000000000 +0100
++++ -	2023-07-08 16:35:16.308351723 +0200
+@@ -32,7 +32,7 @@
+ 	-Ikafel/include
+ 
+ CXXFLAGS += $(USER_DEFINES) $(COMMON_FLAGS) $(shell pkg-config --cflags protobuf) \
+-	-std=c++14 -fno-exceptions -Wno-unused -Wno-unused-parameter
++	-std=c++17 -fno-exceptions -Wno-unused -Wno-unused-parameter
+ LDFLAGS += -pie -Wl,-z,noexecstack -lpthread $(shell pkg-config --libs protobuf)
+ 
+ BIN = nsjail
diff --git a/srcpkgs/nsjail/patches/kafel-bison.patch b/srcpkgs/nsjail/patches/kafel-bison.patch
deleted file mode 100644
index 48eff0d36369..000000000000
--- a/srcpkgs/nsjail/patches/kafel-bison.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 32768d3cc8cecbc30d9020dbfa8d9ec541d057e4 Mon Sep 17 00:00:00 2001
-From: Evangelos Foutras <evangelos@foutrelis.com>
-Date: Wed, 17 Mar 2021 16:36:40 +0200
-Subject: [PATCH] Replace YYUSE call with void cast in src/parser.y
-
-The YYUSE macro was renamed to YY_USE in bison 3.7.5; we might as well
-avoid using it altogether and cast the unused variable to void instead.
-
-Fixes the following linker error:
-
-/usr/bin/ld: kafel/libkafel.a(libkafel.o): in function `kafel_yyerror':
-arm_syscalls.c:(.text+0x6984): undefined reference to `YYUSE'
----
- src/parser.y | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git kafel/src/parser.y kafel/src/parser.y
-index e0f109c..0e01373 100644
---- a/kafel/src/parser.y
-+++ b/kafel/src/parser.y
-@@ -420,8 +420,8 @@ const_def
- 
- void yyerror(YYLTYPE * loc, struct kafel_ctxt* ctxt, yyscan_t scanner,
-              const char *msg) {
-+  (void)scanner; /* suppress unused-parameter warning */
-   if (!ctxt->lexical_error) {
--    YYUSE(scanner);
-     if (loc->filename != NULL) {
-       append_error(ctxt, "%s:%d:%d: %s", loc->filename, loc->first_line, loc->first_column, msg);
-     } else {
diff --git a/srcpkgs/nsjail/patches/ldflags.patch b/srcpkgs/nsjail/patches/ldflags.patch
new file mode 100644
index 000000000000..c039ea09e237
--- /dev/null
+++ b/srcpkgs/nsjail/patches/ldflags.patch
@@ -0,0 +1,11 @@
+--- a/kafel/src/Makefile	2023-07-08 16:40:45.058218240 +0200
++++ -	2023-07-08 16:54:04.459715051 +0200
+@@ -56,7 +56,7 @@
+ 	$(CC) $(CFLAGS) -Wl,-soname,$@.${VERSION} -shared $^ -o $@
+ 
+ ${STATIC_TARGET}: ${OBJECTS}
+-	$(LD) $(LDFLAGS) -r ${OBJECTS} -o libkafel_r.o
++	$(LD) -r ${OBJECTS} -o libkafel_r.o
+ 	# Fix x86 PIC symbols
+ 	$(OBJDUMP) -t libkafel_r.o | grep '.hidden' | grep -v 'get_pc_thunk' | sed -e 's/^.*\.hidden //' > libkafel.localize_symbols
+ 	$(OBJCOPY) -w --localize-symbols=libkafel.localize_symbols libkafel_r.o libkafel.o
diff --git a/srcpkgs/nsjail/patches/log.patch b/srcpkgs/nsjail/patches/log.patch
new file mode 100644
index 000000000000..9e7f12368076
--- /dev/null
+++ b/srcpkgs/nsjail/patches/log.patch
@@ -0,0 +1,24 @@
+diff --git a/config.cc b/config.cc
+index 5242ba4..bbb2b6d 100644
+--- a/config.cc
++++ b/config.cc
+@@ -302,11 +302,6 @@ static bool configParseInternal(nsjconf_t* nsjconf, const nsjail::NsJailConfig&
+ 	return true;
+ }
+ 
+-static void LogHandler(
+-    google::protobuf::LogLevel level, const char* filename, int line, const std::string& message) {
+-	LOG_W("config.cc: '%s'", message.c_str());
+-}
+-
+ bool parseFile(nsjconf_t* nsjconf, const char* file) {
+ 	LOG_D("Parsing configuration from '%s'", file);
+ 
+@@ -316,7 +311,6 @@ bool parseFile(nsjconf_t* nsjconf, const char* file) {
+ 		return false;
+ 	}
+ 
+-	SetLogHandler(LogHandler);
+ 	google::protobuf::io::FileInputStream input(fd);
+ 	input.SetCloseOnDelete(true);
+ 
diff --git a/srcpkgs/nsjail/template b/srcpkgs/nsjail/template
index 346348fdf17b..5c5d0a508f38 100644
--- a/srcpkgs/nsjail/template
+++ b/srcpkgs/nsjail/template
@@ -1,7 +1,7 @@
 # Template file for 'nsjail'
 pkgname=nsjail
-version=3.0
-revision=9
+version=3.3
+revision=1
 create_wrksrc=yes
 build_style=gnu-makefile
 hostmakedepends="bison flex pkg-config protobuf which"
@@ -11,9 +11,9 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="http://nsjail.com"
 distfiles="https://github.com/google/nsjail/archive/${version}.tar.gz
- https://github.com/google/kafel/archive/8e69b8efae415cde3debffbb1e379d9e7a16835a.tar.gz"
-checksum="cfa66d3ed136b2e221752287b95e544915e8a6760aa866f023b604d14a374919
- 4a6c9a1a70ed99bbed767adc106081b017a3090307ea88cc7e329b82daa1373b"
+ https://github.com/google/kafel/archive/1af0975af45ca4404f357b9a4e1636f53a01bfd3.tar.gz"
+checksum="9c247d0cba565b4e3f91cc76e827ddf7f3ad499f54ba611edd25d4d7be4890c3
+ e8c195a2a08daa70c7712adae3eaa01656b039dcc8cc1e5e8210006716761ad5"
 
 archs="aarch64* armv5tel* armv6l* armv7l* x86_64*"
 
@@ -28,7 +28,8 @@ post_extract() {
 }
 
 post_patch() {
-	sed -i -e 's/-Werror\b//g' -e 's/\b\(\(C\(XX\)\?\|LD\)FLAGS\s*+=\)/override \1/g' Makefile kafel/build/Makefile.mk kafel/src/Makefile
+	vsed -e 's/-Werror\b//g' -i Makefile kafel/build/Makefile.mk
+	vsed -e 's/\b\(\(C\(XX\)\?\|LD\)FLAGS\s*+=\)/override \1/g' -i Makefile kafel/build/Makefile.mk kafel/src/Makefile
 }
 
 do_install() {

From 37b8f177a1f3c8e3b9302515eb180bf3283adf92 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 16/34] netdata: rebuild against protobuf-23.3_1

---
 srcpkgs/netdata/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 18dbe4394a4e..781120b3f275 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -1,7 +1,7 @@
 # Template file for 'netdata'
 pkgname=netdata
 version=1.37.1
-revision=1
+revision=2
 build_style=gnu-configure
 build_helper=qemu
 configure_args="--with-user=_netdata ac_cv_file_externaldeps_libbpf_libbpf_a=no

From e38f5cdb5857894122a65a8477df08ddcbe899c3 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 17/34] mumble: rebuild against protobuf-23.3_1

---
 srcpkgs/mumble/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/mumble/patches/musl.patch  | 14 ++++++++++++++
 srcpkgs/mumble/template            |  2 +-
 3 files changed, 26 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/mumble/patches/cpp17.patch
 create mode 100644 srcpkgs/mumble/patches/musl.patch

diff --git a/srcpkgs/mumble/patches/cpp17.patch b/srcpkgs/mumble/patches/cpp17.patch
new file mode 100644
index 000000000000..7cb9c9a93355
--- /dev/null
+++ b/srcpkgs/mumble/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- mumble-1.4.287/CMakeLists.txt	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-07-10 20:12:27.869019033 +0200
+@@ -35,7 +35,7 @@
+ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/3rdparty")
+ set(PLUGINS_DIR "${CMAKE_SOURCE_DIR}/plugins")
+ 
+-set(CMAKE_CXX_STANDARD 14)
++set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_OSX_DEPLOYMENT_TARGET 10.13)
+ 
+ list(APPEND CMAKE_MODULE_PATH
diff --git a/srcpkgs/mumble/patches/musl.patch b/srcpkgs/mumble/patches/musl.patch
new file mode 100644
index 000000000000..49d83a422b8e
--- /dev/null
+++ b/srcpkgs/mumble/patches/musl.patch
@@ -0,0 +1,14 @@
+Newer musl expands NULL to nullptr, which is not a bool.
+Either way, the check is always true with openssl 1.1+, so it can probably removed alltogether
+---
+--- mumble-1.4.287/src/SSL.cpp	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-02-07 22:18:16.093759105 +0100
+@@ -33,7 +34,7 @@
+ 	// If we detect that no locking callback is configured, we
+ 	// have to set it up ourselves to allow multi-threaded use
+ 	// of OpenSSL.
+-	if (!CRYPTO_get_locking_callback()) {
++	if (CRYPTO_get_locking_callback() == NULL) {
+ 		SSLLocks::initialize();
+ 	}
+ }
diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 35c2728c74ce..5c30d4ae64b4 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.4.287
-revision=3
+revision=4
 build_style=cmake
 make_cmd=make
 configure_args="-Doverlay-xcompile=OFF -Dbundled-opus=OFF

From ca351e1714fff21870d903a910e9daf4fd02c6cd Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 18/34] mumble: rebuild against protobuf-23.3_1

---
 srcpkgs/mumble/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 5c30d4ae64b4..3dc669705365 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.4.287
-revision=4
+revision=5
 build_style=cmake
 make_cmd=make
 configure_args="-Doverlay-xcompile=OFF -Dbundled-opus=OFF

From ec30ad38db632330ec8b3618e86e8675b5e7a953 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 19/34] mozc: statically link against vendored prootbuf

protobuf 23+ links against abseil, which conflicts with the vendored
abseil version in mozc. The build system does not have a flag to use
system abseil.
---
 srcpkgs/mozc/template | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/mozc/template b/srcpkgs/mozc/template
index 3fdb986b3213..e7735cb57f4f 100644
--- a/srcpkgs/mozc/template
+++ b/srcpkgs/mozc/template
@@ -3,16 +3,17 @@ pkgname=mozc
 # src/data/version/mozc_version_template.bzl
 # revision is always 102, template always says 100 ;)
 version=2.28.4800.102
-revision=1
+revision=2
 _commit=056163a5fddbb261b258beb8444998e4882f0cc5
 _abseil=20211102.0
+_protobuf_commit=cc7b1b53234cd7a8f50d90ac3933b240dcf4cd97
 _gyp=0.1+20220404git9ecf45e
 _jpn_dict=e5b3425575734c323e1d947009dd74709437b684
 create_wrksrc=yes
 build_wrksrc=mozc/src
-hostmakedepends="gettext ninja pkg-config protobuf protobuf-devel
+hostmakedepends="gettext ninja pkg-config
  python3-six which qt5-qmake qt5-host-tools"
-makedepends="gtk+-devel ibus-devel libzinnia-devel protobuf-devel qt5-devel
+makedepends="gtk+-devel ibus-devel libzinnia-devel qt5-devel
  fcitx-devel libfcitx5-devel"
 depends="tegaki-zinnia-japanese>=0.3 mozc-base-${version}_${revision}"
 short_desc="Japanese IME (Open Source version of Google Japanese Input)"
@@ -22,11 +23,13 @@ homepage="https://github.com/google/mozc"
 distfiles="
  https://github.com/fcitx/mozc/archive/$_commit.tar.gz
  https://github.com/abseil/abseil-cpp/archive/refs/tags/$_abseil.tar.gz
+ https://github.com/protocolbuffers/protobuf/archive/$_protobuf_commit.tar.gz
  ${DEBIAN_SITE}/main/g/gyp/gyp_$_gyp.orig.tar.xz
  https://github.com/hiroyuki-komatsu/japanese-usage-dictionary/archive/$_jpn_dict.tar.gz
 "
 checksum="259d87bfd7535ad03bd554185677d7345a90166353a6db0b6a3606183ad2923d
  dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4
+ 863e27f6d24f40bce2bbfe5adcf365f2af5479ea917f254331ee60ce88f8c8a5
  0325006f012db66dfa27bf7bb048f3fe38f96e512ebe065930cbc70bcdc06bc9
  0b6efee0eebac2c1a8eeea333278aa40fcef7846bba9a379962c6e567e7e3dc1"
 
@@ -47,7 +50,8 @@ post_extract() {
 	# symlink "submodules" into place
 	for _src_dest in gyp \
 		abseil-cpp \
-		japanese-usage-dictionary:japanese_usage_dictionary
+		japanese-usage-dictionary:japanese_usage_dictionary \
+		protobuf
 	do
 		_src=${_src_dest%:*}
 		_dst=${_src_dest#*:}
@@ -61,7 +65,6 @@ do_configure() {
 	GYP_DEFINES="
 	 document_dir=/usr/share/licenses/${pkgname}
 	 ibus_mozc_path=/usr/libexec/ibus-engine-mozc
-	 use_libprotobuf=1
 	 use_libzinnia=1
 	 ${XBPS_TARGET_NO_ATOMIC8:+use_libatomic=1}
 	" python3 build_mozc.py gyp --target_platform=Linux

From bb73fdbdcc83e217a630498621244b32f01cbebc Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 20/34] mosh: rebuild against protobuf-23.3_1

---
 srcpkgs/mosh/patches/cpp17.patch | 14 ++++++++++++++
 srcpkgs/mosh/template            |  5 +++--
 2 files changed, 17 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/mosh/patches/cpp17.patch

diff --git a/srcpkgs/mosh/patches/cpp17.patch b/srcpkgs/mosh/patches/cpp17.patch
new file mode 100644
index 000000000000..5463adc2718b
--- /dev/null
+++ b/srcpkgs/mosh/patches/cpp17.patch
@@ -0,0 +1,14 @@
+--- a/configure.ac	2022-10-27 05:29:47.000000000 +0200
++++ -	2023-07-08 13:19:05.270079012 +0200
+@@ -22,9 +22,9 @@
+ # automake 1.12 seems to require this, but automake 1.11 doesn't recognize it
+ m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+ 
+-# Protobuf 3.6+ requires C++11.
++# Protobuf 3.6+ requires C++11., 4.2.2 with abseil requires C++17
+ AS_IF([pkg-config --atleast-version 3.6.0 protobuf],
+-  [AX_CXX_COMPILE_STDCXX([11])])
++  [AX_CXX_COMPILE_STDCXX([17])])
+ 
+ WARNING_CXXFLAGS=""
+ PICKY_CXXFLAGS=""
diff --git a/srcpkgs/mosh/template b/srcpkgs/mosh/template
index 173ba14bcd47..d252a0c29755 100644
--- a/srcpkgs/mosh/template
+++ b/srcpkgs/mosh/template
@@ -1,9 +1,9 @@
 # Template file for 'mosh'
 pkgname=mosh
 version=1.4.0
-revision=3
+revision=4
 build_style=gnu-configure
-hostmakedepends="perl pkg-config protobuf"
+hostmakedepends="perl pkg-config protobuf autoconf automake"
 makedepends="ncurses-devel protobuf-devel libutempter-devel openssl-devel"
 depends="perl-IO-Tty"
 short_desc="Mobile shell, remote terminal application that allows roaming"
@@ -16,4 +16,5 @@ checksum=872e4b134e5df29c8933dff12350785054d2fd2839b5ae6b5587b14db1465ddd
 pre_configure() {
 	# make local.test always succeed. It fails due to missing X server in chroot.
 	printf "%s\n" "#!/bin/sh" ":" > src/tests/local.test
+	autoreconf -fi
 }

From b26c1354b6ba7a0719369374c9b320f0c85d3244 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 21/34] libcompizconfig: rebuild against protobuf-23.3_1

---
 srcpkgs/libcompizconfig/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libcompizconfig/template b/srcpkgs/libcompizconfig/template
index 5b59eda97c78..3fb33698bfa6 100644
--- a/srcpkgs/libcompizconfig/template
+++ b/srcpkgs/libcompizconfig/template
@@ -1,7 +1,7 @@
 # Template file for 'libcompizconfig'
 pkgname=libcompizconfig
 version=0.8.18
-revision=10
+revision=11
 build_style=gnu-configure
 configure_args="--disable-static"
 hostmakedepends="automake intltool libtool pkg-config protobuf"

From 59f2f9d2ff3b497fef2ddfd83f92ef2e7676a94b Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 22/34] libArcus: rebuild against protobuf-23.3_1

---
 srcpkgs/libArcus/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libArcus/template b/srcpkgs/libArcus/template
index d6fedecc5599..1cf1b866d650 100644
--- a/srcpkgs/libArcus/template
+++ b/srcpkgs/libArcus/template
@@ -1,7 +1,7 @@
 # Template file for 'libArcus'
 pkgname=libArcus
 version=4.13.1
-revision=4
+revision=5
 build_style=cmake
 configure_args="-DBUILD_EXAMPLES=OFF"
 hostmakedepends="protobuf python3-sip-devel"

From 0675f6af0a276dd080edddbf6615b2cc1648ff7e Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 23/34] kismet: rebuild against protobuf-23.3_1

---
 srcpkgs/kismet/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/kismet/template b/srcpkgs/kismet/template
index 48a0fc5fa6f1..46cbf7b31811 100644
--- a/srcpkgs/kismet/template
+++ b/srcpkgs/kismet/template
@@ -1,7 +1,7 @@
 # Template file for 'kismet'
 pkgname=kismet
 version=2022.08.R1
-revision=2
+revision=3
 _realver="${version//./-}"
 build_style=gnu-configure
 configure_args="--disable-python-tools"

From e560ceb258c3b31c8a24ea374b449413733fdd95 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 24/34] cura-engine: rebuild against protobuf-23.3_1

---
 srcpkgs/cura-engine/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cura-engine/template b/srcpkgs/cura-engine/template
index 4f3118d30252..1f23ddace749 100644
--- a/srcpkgs/cura-engine/template
+++ b/srcpkgs/cura-engine/template
@@ -1,7 +1,7 @@
 # Template file for 'cura-engine'
 pkgname=cura-engine
 version=4.13.1
-revision=3
+revision=4
 build_style=cmake
 configure_args="-DCURA_ENGINE_VERSION=${version}"
 hostmakedepends="protobuf git"

From 617999690fa16d74fd4dbf70d7d505afe25b3cc1 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 25/34] clementine: rebuild against protobuf-23.3_1

---
 srcpkgs/clementine/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/clementine/template b/srcpkgs/clementine/template
index acd098124529..a1cacbb73d8e 100644
--- a/srcpkgs/clementine/template
+++ b/srcpkgs/clementine/template
@@ -1,11 +1,11 @@
 # Template file for 'clementine'
 pkgname=clementine
 version=1.4.0rc1
-revision=10
+revision=11
 _fullver=${version}-873-g3471134d5
 build_style=cmake
 configure_args="-DUSE_SYSTEM_TAGLIB=ON -DBUILD_WERROR=OFF -DUSE_SYSTEM_PROJECTM=ON
- -DFORCE_GIT_REVISION=${_fullver}"
+ -DFORCE_GIT_REVISION=${_fullver} -DCMAKE_CXX_STANDARD=17"
 hostmakedepends="gettext sparsehash pkg-config qt5-qmake qt5-host-tools protobuf"
 makedepends="chromaprint-devel boost-devel gst-plugins-base1-devel
  qt5-devel glew-devel sqlite-devel protobuf-devel libplist-devel

From ec238ec4a4ac9b3dc1a09149bc1743637c9fc6c4 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 26/34] bloaty: rebuild against protobuf-23.3_1

---
 srcpkgs/bloaty/patches/cpp17.patch         | 20 ++++++++
 srcpkgs/bloaty/patches/system-abseil.patch | 58 ++++++++++++++++++++++
 srcpkgs/bloaty/template                    |  2 +-
 3 files changed, 79 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/bloaty/patches/cpp17.patch
 create mode 100644 srcpkgs/bloaty/patches/system-abseil.patch

diff --git a/srcpkgs/bloaty/patches/cpp17.patch b/srcpkgs/bloaty/patches/cpp17.patch
new file mode 100644
index 000000000000..ca458dd79fb6
--- /dev/null
+++ b/srcpkgs/bloaty/patches/cpp17.patch
@@ -0,0 +1,20 @@
+--- bloaty-1.1/CMakeLists.txt	2020-05-24 06:43:55.000000000 +0200
++++ -	2023-07-08 12:51:24.115742363 +0200
+@@ -2,7 +2,7 @@
+ cmake_policy(SET CMP0048 NEW)
+ project (Bloaty VERSION 1.0)
+ project (Bloaty VERSION 1.1)
+-set(CMAKE_CXX_STANDARD 11)
++set(CMAKE_CXX_STANDARD 17)
+ 
+ # Options we define for users.
+ option(BLOATY_ENABLE_ASAN "Enable address sanitizer." OFF)
+@@ -93,7 +93,7 @@
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/src")
+ 
+ # Baseline build flags.
+-set(CMAKE_CXX_FLAGS "-std=c++11 -W -Wall -Wno-sign-compare")
++set(CMAKE_CXX_FLAGS "-W -Wall -Wno-sign-compare")
+ set(CMAKE_CXX_FLAGS_DEBUG "-g1")
+ set(CMAKE_CXX_FLAGS_RELEASE "-O2")
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g1")
diff --git a/srcpkgs/bloaty/patches/system-abseil.patch b/srcpkgs/bloaty/patches/system-abseil.patch
new file mode 100644
index 000000000000..799e10a3b540
--- /dev/null
+++ b/srcpkgs/bloaty/patches/system-abseil.patch
@@ -0,0 +1,58 @@
+--- bloaty-1.1/CMakeLists.txt	2020-05-24 06:43:55.000000000 +0200
++++ -	2023-07-08 13:07:06.559266321 +0200
+@@ -35,6 +35,12 @@
+   MESSAGE(STATUS "pkg-config not found, using bundled dependencies")
+ endif(${PKG_CONFIG_FOUND})
+ endif(UNIX)
++find_package(absl CONFIG)
++if(absl_FOUND)
++  MESSAGE(STATUS "System absl found, using")
++else()
++  MESSAGE(STATUS "System absl not found, using bundled version")
++endif()
+ 
+ # Set default build type.
+ if(NOT CMAKE_BUILD_TYPE)
+@@ -89,7 +95,6 @@
+ 
+ include_directories(.)
+ include_directories(src)
+-include_directories(third_party/abseil-cpp)
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/src")
+ 
+ # Baseline build flags.
+@@ -159,24 +164,6 @@
+     src/macho.cc
+     src/range_map.cc
+     src/webassembly.cc
+-    # Until Abseil has a proper CMake build system
+-    third_party/abseil-cpp/absl/base/internal/raw_logging.cc # Grrrr...
+-    third_party/abseil-cpp/absl/base/internal/throw_delegate.cc
+-    third_party/abseil-cpp/absl/numeric/int128.cc
+-    third_party/abseil-cpp/absl/strings/ascii.cc
+-    third_party/abseil-cpp/absl/strings/charconv.cc
+-    third_party/abseil-cpp/absl/strings/escaping.cc
+-    third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc
+-    third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc
+-    third_party/abseil-cpp/absl/strings/internal/memutil.cc
+-    third_party/abseil-cpp/absl/strings/internal/utf8.cc
+-    third_party/abseil-cpp/absl/strings/match.cc
+-    third_party/abseil-cpp/absl/strings/numbers.cc
+-    third_party/abseil-cpp/absl/strings/str_cat.cc
+-    third_party/abseil-cpp/absl/strings/string_view.cc
+-    third_party/abseil-cpp/absl/strings/str_split.cc
+-    third_party/abseil-cpp/absl/strings/substitute.cc
+-    third_party/abseil-cpp/absl/types/bad_optional_access.cc
+     # One source file, no special build system needed.
+     third_party/demumble/third_party/libcxxabi/cxa_demangle.cpp
+     )
+@@ -214,6 +201,9 @@
+   endif(${PROTOBUF_FOUND})
+ endif(UNIX)
+ 
++list(APPEND LIBBLOATY_LIBS absl::strings)
++list(APPEND LIBBLOATY_LIBS absl::optional)
++
+ if(DEFINED ENV{LIB_FUZZING_ENGINE})
+   message("LIB_FUZZING_ENGINE set, building fuzz_target instead of Bloaty")
+   add_executable(fuzz_target tests/fuzz_target.cc)
diff --git a/srcpkgs/bloaty/template b/srcpkgs/bloaty/template
index 226d2f30ffcd..2a79fb502f99 100644
--- a/srcpkgs/bloaty/template
+++ b/srcpkgs/bloaty/template
@@ -1,7 +1,7 @@
 # Template file for 'bloaty'
 pkgname=bloaty
 version=1.1
-revision=11
+revision=12
 build_style=cmake
 hostmakedepends="pkg-config protobuf"
 makedepends="capstone-devel protobuf-devel re2-devel zlib-devel"

From 2ebc57cd5f6b84f04fac4fecc482ed0c08819381 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 27/34] astroid: rebuild against protobuf-23.3_1

---
 srcpkgs/astroid/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/astroid/template            |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/astroid/patches/cpp17.patch

diff --git a/srcpkgs/astroid/patches/cpp17.patch b/srcpkgs/astroid/patches/cpp17.patch
new file mode 100644
index 000000000000..9ac9a9f952e6
--- /dev/null
+++ b/srcpkgs/astroid/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- astroid-0.16/CMakeLists.txt	2021-08-05 15:31:11.000000000 +0200
++++ -	2023-07-03 21:53:30.304595787 +0200
+@@ -145,7 +145,7 @@
+ # compile flags and options
+ #
+ 
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ 
+ include_directories (
+   ${GTKMM3_INCLUDE_DIRS}
diff --git a/srcpkgs/astroid/template b/srcpkgs/astroid/template
index 25d3da44e024..8fd1c032be2c 100644
--- a/srcpkgs/astroid/template
+++ b/srcpkgs/astroid/template
@@ -1,7 +1,7 @@
 # Template file for 'astroid'
 pkgname=astroid
 version=0.16
-revision=8
+revision=9
 build_style=cmake
 build_helper=gir
 hostmakedepends="pkg-config scdoc protobuf gobject-introspection"

From 5d65fb4c63b073a57f786ff8d24c612560593196 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 28/34] android-tools: rebuild against protobuf-23.3_1

---
 .../android-tools/patches/protobuf-23.patch   | 31 +++++++++++++++++++
 srcpkgs/android-tools/template                |  2 +-
 2 files changed, 32 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/android-tools/patches/protobuf-23.patch

diff --git a/srcpkgs/android-tools/patches/protobuf-23.patch b/srcpkgs/android-tools/patches/protobuf-23.patch
new file mode 100644
index 000000000000..21012126ea9a
--- /dev/null
+++ b/srcpkgs/android-tools/patches/protobuf-23.patch
@@ -0,0 +1,31 @@
+--- android-tools-34.0.1.orig/vendor/extras/libjsonpb/parse/jsonpb.cpp  2023-06-28 23:15:15.414236253 +0200
++++ android-tools-34.0.1/vendor/extras/libjsonpb/parse/jsonpb.cpp       2023-06-28 23:34:21.672962973 +0200
+@@ -51,7 +51,7 @@
+ #if GOOGLE_PROTOBUF_VERSION < 3016000
+     return MakeError<std::string>(status.error_message().as_string());
+ #else
+-    return MakeError<std::string>(status.message().as_string());
++    return MakeError<std::string>(std::string(status.message()));
+ #endif
+   }
+   return ErrorOr<std::string>(std::move(json));
+@@ -68,7 +68,7 @@
+ #if GOOGLE_PROTOBUF_VERSION < 3016000
+     return MakeError<std::monostate>(status.error_message().as_string());
+ #else
+-    return MakeError<std::monostate>(status.message().as_string());
++    return MakeError<std::monostate>(std::string(status.message()));
+ #endif
+   }
+   if (!message->ParseFromString(binary)) {
+--- a/vendor/CMakeLists.partition.txt	2023-03-03 17:18:50.000000000 +0100
++++ -	2023-07-10 23:06:19.290718502 +0200
+@@ -20,7 +20,7 @@
+ 
+ add_library(libjsonpbparse STATIC
+ 	extras/libjsonpb/parse/jsonpb.cpp)
+-target_link_libraries(libjsonpbparse PRIVATE libbase)
++target_link_libraries(libjsonpbparse PRIVATE libbase absl_status)
+ target_include_directories(libjsonpbparse PUBLIC
+ 	extras/libjsonpb/parse/include)
+ 
diff --git a/srcpkgs/android-tools/template b/srcpkgs/android-tools/template
index 329674482b69..b813474eace0 100644
--- a/srcpkgs/android-tools/template
+++ b/srcpkgs/android-tools/template
@@ -1,7 +1,7 @@
 # Template file for 'android-tools'
 pkgname=android-tools
 version=34.0.1
-revision=1
+revision=2
 archs="armv* aarch64* x86_64* i686* ppc64le*"
 build_style=cmake
 hostmakedepends="perl go protobuf pkg-config"

From 838cda96df6ebf0b2a12847058492fdeb5af29b8 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:06:25 +0200
Subject: [PATCH 29/34] justbuild: rebuild against grpc-1.56.0_1

---
 srcpkgs/justbuild/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index ee36f6dae575..f933611d1283 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
 # Template file for 'justbuild'
 pkgname=justbuild
 version=1.1.2
-revision=2
+revision=3
 create_wrksrc=yes
 hostmakedepends="jo pandoc pkg-config python3 tar unzip wget"
 makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++

From 5be555d96b0d78d50b4c8bcdcaa88aa2f271298a Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Wed, 28 Jun 2023 11:07:13 +0200
Subject: [PATCH 30/34] sysdig: update to 0.31.5.

---
 srcpkgs/sysdig/files/libsinsp-zstd.patch      |  22 +
 ...d9aab87801281e22898242e24e0bc63873b2.patch | 557 ++++++++++++++++++
 .../falcosecurity-libs-nodownload.patch       |  28 +
 srcpkgs/sysdig/template                       |  32 +-
 4 files changed, 625 insertions(+), 14 deletions(-)
 create mode 100644 srcpkgs/sysdig/files/libsinsp-zstd.patch
 create mode 100644 srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
 create mode 100644 srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch

diff --git a/srcpkgs/sysdig/files/libsinsp-zstd.patch b/srcpkgs/sysdig/files/libsinsp-zstd.patch
new file mode 100644
index 000000000000..e99e4f7c1207
--- /dev/null
+++ b/srcpkgs/sysdig/files/libsinsp-zstd.patch
@@ -0,0 +1,22 @@
+diff --git a/userspace/libsinsp/CMakeLists.txt b/userspace/libsinsp/CMakeLists.txt
+index 18e59b1..b23e890 100644
+--- a/userspace/libsinsp/CMakeLists.txt
++++ b/userspace/libsinsp/CMakeLists.txt
+@@ -38,6 +38,7 @@ include(ExternalProject)
+ 
+ if(NOT WIN32 AND NOT APPLE)
+ 	include(b64)
++	find_library(ZSTD_LIB NAMES zstd)
+ endif()
+ 
+ include(jsoncpp)
+@@ -246,7 +247,8 @@ if(NOT WIN32)
+ 				"${PROTOBUF_LIB}"
+ 				"${CARES_LIB}"
+ 				"${JQ_LIB}"
+-				"${B64_LIB}")
++				"${B64_LIB}"
++				"${ZSTD_LIB}")
+ 
+ 			if(NOT MUSL_OPTIMIZED_BUILD)
+ 				list(APPEND SINSP_LIBRARIES
diff --git a/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch b/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
new file mode 100644
index 000000000000..54c2ed8d0d98
--- /dev/null
+++ b/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
@@ -0,0 +1,557 @@
+From 3d22309a7317d500f75d053af6f9e5b5b5728b40 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 09:56:04 +0000
+Subject: [PATCH 1/6] update(cmake): bump driver to 5.0.0+driver
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ cmake/modules/driver.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/driver.cmake b/cmake/modules/driver.cmake
+index bee1926d3a..7fd35d7f99 100644
+--- a/cmake/modules/driver.cmake
++++ b/cmake/modules/driver.cmake
+@@ -31,8 +31,8 @@ else()
+   # In case you want to test against another driver version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DDRIVER_VERSION=dev ..`
+   if(NOT DRIVER_VERSION)
+-    set(DRIVER_VERSION "4.0.1+driver")
+-    set(DRIVER_CHECKSUM "SHA256=424d647aa6b6fa45b6701c4bbc9293c161ed00a08254d83eea419c0a736f280d")
++    set(DRIVER_VERSION "5.0.0+driver")
++    set(DRIVER_CHECKSUM "SHA256=c988ca7ac7d174f62d1bfbaaca49efd117f7b329f474d1b46b643635b2e35083")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+
+From 847e602404dcee85f06dde5a1d8ad0c740c49c98 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 09:56:08 +0000
+Subject: [PATCH 2/6] update(cmake): bump libs to 0.11.0-rc1
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ cmake/modules/falcosecurity-libs.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index b345c057ad..f30233b9e3 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -32,8 +32,8 @@ else()
+   # In case you want to test against another falcosecurity/libs version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DFALCOSECURITY_LIBS_VERSION=dev ..`
+   if(NOT FALCOSECURITY_LIBS_VERSION)
+-    set(FALCOSECURITY_LIBS_VERSION "0.10.5")
+-    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=2a4b37c08bec4ba81326314831f341385aff267062e8d4483437958689662936")
++    set(FALCOSECURITY_LIBS_VERSION "0.11.0-rc1")
++    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=bb6e57f66ae85dcda6e695226cd14082d9a1215902909cdde5b83f7abef44d8f")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+
+From 1d1dbaf06265d8eefd4038e8474f71f7958ec840 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 10:43:27 +0000
+Subject: [PATCH 3/6] fix(cmake): solve c++17 compilation issues
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ CMakeLists.txt                         |  3 +++
+ cmake/modules/falcosecurity-libs.cmake | 10 +++++-----
+ 2 files changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0309d66633..6d28c6c67d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -146,6 +146,9 @@ if(NOT DEFINED SYSDIG_COMPONENT_NAME)
+     set(SYSDIG_COMPONENT_NAME "${CMAKE_PROJECT_NAME}")
+ endif()
+ 
++set(CMAKE_CXX_STANDARD 17)
++set(CMAKE_CXX_EXTENSIONS OFF)
++
+ include(falcosecurity-libs)
+ include(yaml-cpp)
+ include(nlohmann-json)
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index f30233b9e3..fe5dacd7ad 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -94,12 +94,12 @@ else()
+ endif()
+ 
+ include(CheckCXXCompilerFlag)
+-CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX14)
+-if(CREATE_TEST_TARGETS AND NOT WIN32 AND COMPILER_SUPPORTS_CXX14)
+-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
++CHECK_CXX_COMPILER_FLAG("-std=c++17" COMPILER_SUPPORTS_CXX17)
++if(CREATE_TEST_TARGETS AND NOT WIN32 AND COMPILER_SUPPORTS_CXX17)
++	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ 	include(gtest)
+-elseif(CREATE_TEST_TARGETS AND NOT COMPILER_SUPPORTS_CXX14)
+-	message(FATAL_ERROR "Your compiler doesn't support c++14: cannot include gtest and create test targets.")
++elseif(CREATE_TEST_TARGETS AND NOT COMPILER_SUPPORTS_CXX17)
++	message(FATAL_ERROR "Your compiler doesn't support c++17: cannot include gtest and create test targets.")
+ endif()
+ 
+ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
+
+From d5fcbad2d5ea63e1439ab7174a5cfd9a7a2e1545 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 10:44:05 +0000
+Subject: [PATCH 4/6] update(userspace): sync sysdig and csysdig with latest
+ libs
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ userspace/sysdig/csysdig.cpp                |  6 +--
+ userspace/sysdig/sysdig.cpp                 |  9 +---
+ userspace/sysdig/utils/plugin_utils.cpp     | 37 ++++++++++-----
+ userspace/sysdig/utils/sinsp_opener.cpp     | 18 ++++----
+ userspace/sysdig/utils/supported_events.cpp | 50 +++++++++++----------
+ userspace/sysdig/utils/supported_fields.cpp | 15 +++----
+ 6 files changed, 70 insertions(+), 65 deletions(-)
+
+diff --git a/userspace/sysdig/csysdig.cpp b/userspace/sysdig/csysdig.cpp
+index 9419882341..edd8129a0e 100644
+--- a/userspace/sysdig/csysdig.cpp
++++ b/userspace/sysdig/csysdig.cpp
+@@ -39,11 +39,11 @@ limitations under the License.
+ #include "chisel.h"
+ #include "chisel_utils.h"
+ #endif
+-#include "fields_info.h"
+ #include "chisel_table.h"
+ #include "utils.h"
+ #include "utils/plugin_utils.h"
+ #include "utils/sinsp_opener.h"
++#include "utils/supported_fields.h"
+ 
+ #ifdef _WIN32
+ #include "win32/getopt.h"
+@@ -704,8 +704,8 @@ sysdig_init_res csysdig_init(int argc, char **argv)
+ 		//
+ 		if(list_flds)
+ 		{
+-			list_fields(false, false);
+-
++			// todo(jasondellaluce): support source selection, verbosity, markdown
++			print_supported_fields(inspector, plugins, "", true, false);
+ 			res.m_res = EXIT_SUCCESS;
+ 			goto exit;
+ 		}
+diff --git a/userspace/sysdig/sysdig.cpp b/userspace/sysdig/sysdig.cpp
+index 40f2b39ef9..a978070d73 100644
+--- a/userspace/sysdig/sysdig.cpp
++++ b/userspace/sysdig/sysdig.cpp
+@@ -43,7 +43,6 @@ limitations under the License.
+ #include "chisel_utils.h"
+ #include "chisel_fields_info.h"
+ #endif
+-#include "fields_info.h"
+ #include "utils.h"
+ #include "plugin.h"
+ #include "plugin_manager.h"
+@@ -455,8 +454,6 @@ void print_summary_table(sinsp* inspector,
+ 						 std::vector<summary_table_entry> &summary_table,
+ 						 uint32_t nentries)
+ {
+-	sinsp_evttables* einfo = inspector->get_event_info_tables();
+-
+ 	std::cout << "----------------------\n";
+ 	std::string tstr = std::string("Event");
+ 	tstr.resize(16, ' ');
+@@ -478,7 +475,7 @@ void print_summary_table(sinsp* inspector,
+ 
+ 		if(e.m_is_unsupported_syscall)
+ 		{
+-			tstr = einfo->m_syscall_info_table[e.m_id / 2].name;
++			tstr = scap_get_ppm_sc_name((ppm_sc_code) (e.m_id / 2));
+ 			tstr.resize(16, ' ');
+ 
+ 			printf("%s%s%" PRIu64 "\n",
+@@ -488,7 +485,7 @@ void print_summary_table(sinsp* inspector,
+ 		}
+ 		else
+ 		{
+-			tstr = einfo->m_event_info[e.m_id].name;
++			tstr = libsinsp::events::info((ppm_event_code) e.m_id)->name;
+ 			tstr.resize(16, ' ');
+ 
+ 			printf("%s%s%" PRIu64 "\n",
+@@ -1862,8 +1859,6 @@ sysdig_init_res sysdig_init(int argc, char **argv)
+ 					res.m_res = EXIT_FAILURE;
+ 					goto exit;
+ 				}
+-
+-				inspector->filter_proc_table_when_saving(true);
+ 			}
+ 			else
+ 			{
+diff --git a/userspace/sysdig/utils/plugin_utils.cpp b/userspace/sysdig/utils/plugin_utils.cpp
+index ad69543b3e..b99de98b66 100644
+--- a/userspace/sysdig/utils/plugin_utils.cpp
++++ b/userspace/sysdig/utils/plugin_utils.cpp
+@@ -146,6 +146,7 @@ void plugin_utils::plugin_entry::init(sinsp *inspector)
+     }
+     if (plugin->caps() & CAP_EXTRACTION)
+     {
++        // todo(jasondellaluce): manage field name conflicts
+         g_filterlist.add_filter_check(sinsp_plugin::new_filtercheck(plugin));
+     }
+     inited = true;
+@@ -185,13 +186,30 @@ void plugin_utils::plugin_entry::print_info(sinsp* inspector, std::ostringstream
+     os << "Capabilities: " << std::endl;
+     if(plugin->caps() & CAP_SOURCING)
+     {
+-        os << "  - Event Sourcing (ID=" << plugin->id();
+-        os << ", source='" << plugin->event_source() << "')" << std::endl;
++        os << "  - Event Sourcing";
++        if (plugin->id() != 0)
++        {
++            os << " (ID=" << plugin->id();
++            os << ", source='" << plugin->event_source() << "')";
++        }
++        else
++        {
++            os << " (system events)";
++        }
++        os << std::endl;
+     }
+     if(plugin->caps() & CAP_EXTRACTION)
+     {
+         os << "  - Field Extraction" << std::endl;
+     }
++    if(plugin->caps() & CAP_PARSING)
++    {
++        os << "  - Event Parsing" << std::endl;
++    }
++    if(plugin->caps() & CAP_ASYNC)
++    {
++        os << "  - Async Events" << std::endl;
++    }
+ }
+ 
+ void plugin_utils::add_dir(std::string dirname, bool front_add)
+@@ -609,7 +627,7 @@ std::vector<std::string> plugin_utils::get_event_sources(sinsp *inspector)
+         // the plugin, in case it was not registered already
+         pl.get_plugin(inspector);
+     }
+-    return inspector->get_plugin_manager()->sources();
++    return inspector->event_sources();
+ }
+ 
+ std::vector<std::unique_ptr<sinsp_filter_check>> plugin_utils::get_filterchecks(sinsp *inspector, const std::string& source)
+@@ -617,16 +635,13 @@ std::vector<std::unique_ptr<sinsp_filter_check>> plugin_utils::get_filterchecks(
+     std::vector<std::unique_ptr<sinsp_filter_check>> list;
+     list.push_back(std::unique_ptr<sinsp_filter_check>(inspector->new_generic_filtercheck()));
+ 
+-    // todo(jasondellaluce): remove this once we support extracting plugin fields from syscalls
+-    if (source != s_syscall_source)
++    for (auto &pl : m_plugins)
+     {
+-        for (auto &pl : m_plugins)
++        auto plugin = pl.get_plugin(inspector);
++        if (plugin->caps() & CAP_EXTRACTION
++            && sinsp_plugin::is_source_compatible(plugin->extract_event_sources(), source))
+         {
+-            auto plugin = pl.get_plugin(inspector);
+-            if (plugin->caps() & CAP_EXTRACTION && plugin->is_source_compatible(source))
+-            {
+-                list.push_back(std::unique_ptr<sinsp_filter_check>(sinsp_plugin::new_filtercheck(plugin)));
+-            }
++            list.push_back(std::unique_ptr<sinsp_filter_check>(sinsp_plugin::new_filtercheck(plugin)));
+         }
+     }
+     return list;
+diff --git a/userspace/sysdig/utils/sinsp_opener.cpp b/userspace/sysdig/utils/sinsp_opener.cpp
+index eafdb631d3..7315b99c7d 100644
+--- a/userspace/sysdig/utils/sinsp_opener.cpp
++++ b/userspace/sysdig/utils/sinsp_opener.cpp
+@@ -50,14 +50,12 @@ void sinsp_opener::open(sinsp* inspector) const
+ 
+ #if defined(HAS_CAPTURE)
+     /* Populate syscalls of interest */
+-    std::unordered_set<uint32_t> sc_of_interest = inspector->get_all_ppm_sc();
++    auto sc_of_interest = libsinsp::events::all_sc_set();
+ 
+-    /* Populate tracepoints of interest */
+-    std::unordered_set<uint32_t> tp_of_interest = inspector->get_all_tp();
+     if(!options.page_faults)
+     {
+-        tp_of_interest.erase(PAGE_FAULT_USER);
+-        tp_of_interest.erase(PAGE_FAULT_KERN);
++        sc_of_interest.remove(ppm_sc_code::PPM_SC_PAGE_FAULT_USER);
++        sc_of_interest.remove(ppm_sc_code::PPM_SC_PAGE_FAULT_KERNEL);
+     }
+ 
+     if(udig.enabled)
+@@ -77,7 +75,7 @@ void sinsp_opener::open(sinsp* inspector) const
+ #ifdef HAS_MODERN_BPF
+ 		if(bpf.modern)
+ 		{
+-			inspector->open_modern_bpf(DEFAULT_DRIVER_BUFFER_BYTES_DIM, bpf.cpus_for_each_syscall_buffer, true, sc_of_interest, tp_of_interest);
++			inspector->open_modern_bpf(DEFAULT_DRIVER_BUFFER_BYTES_DIM, bpf.cpus_for_each_syscall_buffer, true, sc_of_interest);
+ 			return;
+ 		}
+ #endif
+@@ -95,7 +93,7 @@ void sinsp_opener::open(sinsp* inspector) const
+ 
+         try
+         {
+-            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+         }
+         catch(const sinsp_exception& e)
+         {
+@@ -103,7 +101,7 @@ void sinsp_opener::open(sinsp* inspector) const
+             {
+                 fprintf(stderr, "Unable to load the BPF probe\n");
+             }
+-            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+         }
+ 
+         // Enable gathering the CPU from the kernel module
+@@ -114,7 +112,7 @@ void sinsp_opener::open(sinsp* inspector) const
+     // default to kernel module if no other option is specified
+     try
+     {
+-        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+     }
+     catch(const sinsp_exception& e)
+     {
+@@ -124,7 +122,7 @@ void sinsp_opener::open(sinsp* inspector) const
+         {
+             fprintf(stderr, "Unable to load the driver\n");
+         }
+-        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+     }
+ 
+     // Enable gathering the CPU from the kernel module
+diff --git a/userspace/sysdig/utils/supported_events.cpp b/userspace/sysdig/utils/supported_events.cpp
+index 1442911209..7f0d630011 100644
+--- a/userspace/sysdig/utils/supported_events.cpp
++++ b/userspace/sysdig/utils/supported_events.cpp
+@@ -27,25 +27,25 @@ struct event_entry
+ {
+     bool is_enter;
+     std::string name;
+-    struct ppm_event_info info;
++    const ppm_event_info* info;
+ };
+ 
+-static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include_generics)
++static std::vector<event_entry> get_event_entries(bool include_generics)
+ {
+     event_entry entry;
+     std::vector<event_entry> events;
+-    const struct ppm_event_info* etable = inspector->get_event_info_tables()->m_event_info;
+ 
+     // skip generic events
+-    for(uint32_t evt = PPME_GENERIC_X + 1; evt < PPM_EVENT_MAX; evt++)
++    for(const auto& evt : libsinsp::events::all_event_set())
+     {
+-        if (!sinsp::is_old_version_event(evt)
+-                && !sinsp::is_unused_event(evt)
+-                && !sinsp::is_unknown_event(evt))
++        if (!libsinsp::events::is_generic(evt)
++            && !libsinsp::events::is_old_version_event(evt)
++            && !libsinsp::events::is_unused_event(evt)
++            && !libsinsp::events::is_unknown_event(evt))
+         {
+             entry.is_enter = PPME_IS_ENTER(evt);
+-            entry.name = etable[evt].name;
+-            entry.info = etable[evt];
++            entry.info = libsinsp::events::info(evt);
++			entry.name = entry.info->name;
+             events.push_back(entry);
+         }
+     }
+@@ -53,17 +53,19 @@ static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include
+     if (include_generics)
+     {
+         // append generic events
+-        const auto generic_syscalls = inspector->get_events_names({PPME_GENERIC_E});
+-        for (const auto& name : generic_syscalls)
+-        {
+-            for(uint32_t evt = PPME_GENERIC_E; evt <= PPME_GENERIC_X; evt++)
+-            {
+-                entry.is_enter = PPME_IS_ENTER(evt);
+-                entry.name = name;
+-                entry.info = etable[evt];
+-                events.push_back(entry);
+-            }
+-        }
++		const auto names = libsinsp::events::event_set_to_names({ppm_event_code::PPME_GENERIC_E});
++		for (const auto& name : names)
++		{
++			entry.is_enter = PPME_IS_ENTER(ppm_event_code::PPME_GENERIC_E);
++			entry.info = libsinsp::events::info(ppm_event_code::PPME_GENERIC_E);
++			entry.name = name;
++			events.push_back(entry);
++
++			entry.is_enter = PPME_IS_ENTER(ppm_event_code::PPME_GENERIC_X);
++			entry.info = libsinsp::events::info(ppm_event_code::PPME_GENERIC_X);
++			entry.name = name;
++			events.push_back(entry);
++		}
+     }
+ 
+     return events;
+@@ -71,7 +73,7 @@ static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include
+ 
+ void print_supported_events(sinsp* inspector, bool markdown)
+ {
+-    const auto events = get_event_entries(inspector, true);
++    const auto events = get_event_entries(true);
+ 
+     if(markdown)
+     {
+@@ -91,15 +93,15 @@ void print_supported_events(sinsp* inspector, bool markdown)
+             printf("%c %s(", dir, e.name.c_str());
+         }
+ 
+-        for(uint32_t k = 0; k < e.info.nparams; k++)
++        for(uint32_t k = 0; k < e.info->nparams; k++)
+         {
+             if(k != 0)
+             {
+                 printf(", ");
+             }
+ 
+-            printf("%s %s", param_type_to_string(e.info.params[k].type),
+-                e.info.params[k].name);
++            printf("%s %s", param_type_to_string(e.info->params[k].type),
++                e.info->params[k].name);
+         }
+         printf(")\n");
+     }
+diff --git a/userspace/sysdig/utils/supported_fields.cpp b/userspace/sysdig/utils/supported_fields.cpp
+index 6e2575b030..3127fb7220 100644
+--- a/userspace/sysdig/utils/supported_fields.cpp
++++ b/userspace/sysdig/utils/supported_fields.cpp
+@@ -35,11 +35,9 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+ {
+     std::vector<fields_info> field_infos;
+     std::vector<std::unique_ptr<const sinsp_filter_check>> filtecheck_lists; // only used to retain memory until we finish
+-    std::vector<std::string> sources = { s_syscall_source };
++    std::vector<std::string> sources = plugins.get_event_sources(inspector);
+ 
+     // add event sources defined by the loaded plugins
+-    const auto& plugin_sources = plugins.get_event_sources(inspector);
+-    sources.insert(sources.end(), plugin_sources.begin(), plugin_sources.end());
+     if (!source.empty())
+     {
+         bool found = false;
+@@ -66,7 +64,6 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+         }
+ 
+         std::vector<const filter_check_info*> filterchecks;
+-        // todo(jasondellaluce): change this once we support extracting plugin fields from syscalls
+         if (src == s_syscall_source)
+         {
+             std::vector<const filter_check_info*> all_checks;
+@@ -81,13 +78,11 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+                 }
+             }
+         }
+-        else
++
++        for (auto& check: plugins.get_filterchecks(inspector, src))
+         {
+-            for (auto& check: plugins.get_filterchecks(inspector, src))
+-            {
+-                filterchecks.push_back(check->get_fields());
+-                filtecheck_lists.push_back(std::move(check));
+-            }
++            filterchecks.push_back(check->get_fields());
++            filtecheck_lists.push_back(std::move(check));
+         }
+         
+         const auto classes = sinsp_filter_factory::check_infos_to_fieldclass_infos(filterchecks);
+
+From c8b0d055aec4d2378b7934dd9436fd4500d1021e Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 14:15:23 +0000
+Subject: [PATCH 5/6] fix: solve compilation issues on windows
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ CMakeLists.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6d28c6c67d..5afd967f27 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -148,6 +148,9 @@ endif()
+ 
+ set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_CXX_EXTENSIONS OFF)
++if(MSVC OR WIN32)
++	add_compile_definitions(_HAS_STD_BYTE=0)
++endif()
+ 
+ include(falcosecurity-libs)
+ include(yaml-cpp)
+
+From 954e6fc6238f21d4870a491395d68a7dd3062aa9 Mon Sep 17 00:00:00 2001
+From: Roberto Scolaro <roberto.scolaro21@gmail.com>
+Date: Mon, 5 Jun 2023 10:34:03 +0000
+Subject: [PATCH 6/6] update(cmake): bump libs 0.11.0 + driver 5.0.1
+
+Signed-off-by: Roberto Scolaro <roberto.scolaro21@gmail.com>
+---
+ CMakeLists.txt                         | 2 +-
+ cmake/modules/driver.cmake             | 4 ++--
+ cmake/modules/falcosecurity-libs.cmake | 4 ++--
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5afd967f27..f3f23b5e9a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -90,7 +90,7 @@ if(NOT WIN32)
+ 	endif()
+ 
+ 	set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_COMMON_FLAGS}")
+-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++0x")
++	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++17")
+ 
+ 	set(CMAKE_C_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+ 	set(CMAKE_CXX_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+diff --git a/cmake/modules/driver.cmake b/cmake/modules/driver.cmake
+index 7fd35d7f99..ca1e56718c 100644
+--- a/cmake/modules/driver.cmake
++++ b/cmake/modules/driver.cmake
+@@ -31,8 +31,8 @@ else()
+   # In case you want to test against another driver version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DDRIVER_VERSION=dev ..`
+   if(NOT DRIVER_VERSION)
+-    set(DRIVER_VERSION "5.0.0+driver")
+-    set(DRIVER_CHECKSUM "SHA256=c988ca7ac7d174f62d1bfbaaca49efd117f7b329f474d1b46b643635b2e35083")
++    set(DRIVER_VERSION "5.0.1+driver")
++    set(DRIVER_CHECKSUM "SHA256=8b197b916b6419dac8fb41807aa05d822164c7bfd2c3eef66d20d060a05a485a")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index fe5dacd7ad..c626d7944e 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -32,8 +32,8 @@ else()
+   # In case you want to test against another falcosecurity/libs version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DFALCOSECURITY_LIBS_VERSION=dev ..`
+   if(NOT FALCOSECURITY_LIBS_VERSION)
+-    set(FALCOSECURITY_LIBS_VERSION "0.11.0-rc1")
+-    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=bb6e57f66ae85dcda6e695226cd14082d9a1215902909cdde5b83f7abef44d8f")
++    set(FALCOSECURITY_LIBS_VERSION "0.11.0")
++    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=90414d00591986e94f2c49e7d65eef5c2dedee266354dd3db8234bb3b06c86fa")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
diff --git a/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch b/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch
new file mode 100644
index 000000000000..467cffacba2f
--- /dev/null
+++ b/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch
@@ -0,0 +1,28 @@
+diff --git a/cmake/modules/driver-repo/CMakeLists.txt b/cmake/modules/driver-repo/CMakeLists.txt
+index 479611a..5238121 100644
+--- a/cmake/modules/driver-repo/CMakeLists.txt
++++ b/cmake/modules/driver-repo/CMakeLists.txt
+@@ -25,8 +25,7 @@ message(STATUS "Driver version: ${DRIVER_VERSION}")
+ 
+ ExternalProject_Add(
+   driver
+-  URL "https://github.com/falcosecurity/libs/archive/${DRIVER_VERSION}.tar.gz"
+-  URL_HASH "${DRIVER_CHECKSUM}"
++  URL "${CMAKE_CURRENT_SOURCE_DIR}/../../../../libs-${DRIVER_VERSION}"
+   CONFIGURE_COMMAND ""
+   BUILD_COMMAND ""
+   INSTALL_COMMAND ""
+diff --git a/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt b/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
+index 2059547..74e78e2 100644
+--- a/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
++++ b/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
+@@ -25,8 +25,7 @@ message(STATUS "Libs version: ${FALCOSECURITY_LIBS_VERSION}")
+ 
+ ExternalProject_Add(
+   falcosecurity-libs
+-  URL "https://github.com/falcosecurity/libs/archive/${FALCOSECURITY_LIBS_VERSION}.tar.gz"
+-  URL_HASH "${FALCOSECURITY_LIBS_CHECKSUM}"
++  URL "${CMAKE_CURRENT_SOURCE_DIR}/../../../../libs-${FALCOSECURITY_LIBS_VERSION}"
+   CONFIGURE_COMMAND ""
+   BUILD_COMMAND ""
+   INSTALL_COMMAND ""
diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index 4a04e762468c..d088357125b8 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,43 +1,47 @@
 # Template file for 'sysdig'
 pkgname=sysdig
-version=0.28.0
-revision=8
+version=0.31.5
+revision=1
+_falcover=0.11.0
 build_style=cmake
+build_wrksrc="sysdig-${version}"
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF
  -DLUA_INCLUDE_DIR=${XBPS_CROSS_BASE}/usr/include/luajit-2.1
- -DLUA_LIBRARY=/usr/lib/libluajit-5.1.so -DCREATE_TEST_TARGETS=OFF"
-make_cmd=make
+ -DLUA_LIBRARY=/usr/lib/libluajit-5.1.so -DCREATE_TEST_TARGETS=OFF
+ -DUSE_BUNDLED_TBB=OFF -DBUILD_LIBSCAP_EXAMPLES=OFF
+ -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_EXTENSIONS=OFF
+ -DDRIVER_VERSION=${_falcover}"
 hostmakedepends="wget pkg-config protobuf"
-makedepends="LuaJIT-devel c-ares-devel elfutils-devel grpc-devel jsoncpp-devel
+makedepends="LuaJIT-devel c-ares-devel elfutils-devel grpc-devel
  libcurl-devel libprotoc-devel openssl-devel ncurses-devel protobuf-devel
- tbb-devel zlib-devel"
+ tbb-devel zlib-devel yaml-cpp-devel json-c++"
 depends="dkms"
 short_desc="Open source system-level exploration and troubleshooting tool"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0, MIT, GPL-2.0-only"
 homepage="http://www.sysdig.org/"
 changelog="https://github.com/draios/sysdig/releases"
-distfiles="https://github.com/draios/${pkgname}/archive/${version}.tar.gz"
-checksum=817e595d501acf3fe11dc659a154aadbba848dd87ae801f5bf34a42e84979f37
-disable_parallel_build=yes
+distfiles="https://github.com/draios/sysdig/archive/${version}.tar.gz
+ https://github.com/falcosecurity/libs/archive/${_falcover}.tar.gz"
+checksum="9af98cae7c38273f7429ba0df628c9745bd92c949f444e180b9dd800af14c6dd
+ 90414d00591986e94f2c49e7d65eef5c2dedee266354dd3db8234bb3b06c86fa"
 dkms_modules="scap 2160111cd088aea9ae2235d3385ecb0b1ab6623c"
 nocross=yes
+patch_args="-Np1 --directory=${build_wrksrc}"
 
 case "$XBPS_TARGET_MACHINE" in
 	*-musl) configure_args+=" -DMUSL_OPTIMIZED_BUILD=On"
 esac
 
-export CMAKE_GENERATOR="Unix Makefiles"
-
 # Avoid excessive warnings spam to the log
 CXXFLAGS="-Wno-deprecated-declarations"
 
-CXXFLAGS+=" -I/usr/include/grpc_absl"
+post_patch() {
+	patch -d "${wrksrc}/libs-${_falcover}" -Np1 < "${FILESDIR}/libsinsp-zstd.patch"
 
-post_extract() {
 	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
-	vsed -e 's|-std=c++0x||' -i CMakeLists.txt
+	vsed -e 's|-std=c++0x||' -i CMakeLists.txt -i "${wrksrc}/libs-${_falcover}/cmake/modules/CompilerFlags.cmake"
 }
 
 post_install() {

From 3f5b6242cfd8e49e155263464bb8ef56eeee35c0 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 2 Jul 2023 13:36:29 +0200
Subject: [PATCH 31/34] protobuf-c: rebuild against 23.3

---
 ...4f3fd85a205eb7c90b790477d5415364209e.patch |  44 +++
 srcpkgs/protobuf-c/patches/66a0b0d2.patch     | 308 ++++++++++++++++++
 srcpkgs/protobuf-c/template                   |   8 +-
 3 files changed, 358 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
 create mode 100644 srcpkgs/protobuf-c/patches/66a0b0d2.patch

diff --git a/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch b/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
new file mode 100644
index 000000000000..7d1e97032d32
--- /dev/null
+++ b/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
@@ -0,0 +1,44 @@
+From 66574f3fd85a205eb7c90b790477d5415364209e Mon Sep 17 00:00:00 2001
+From: Steve Peters <scpeters@openrobotics.org>
+Date: Sat, 24 Jun 2023 22:15:42 -0700
+Subject: [PATCH] Use FileDescriptorLegacy for deprecated syntax()
+
+---
+ protoc-c/c_file.cc   | 2 +-
+ protoc-c/c_helpers.h | 3 ++-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/protoc-c/c_file.cc b/protoc-c/c_file.cc
+index 59c1824e..4b60b889 100644
+--- a/protoc-c/c_file.cc
++++ b/protoc-c/c_file.cc
+@@ -119,7 +119,7 @@ void FileGenerator::GenerateHeader(io::Printer* printer) {
+ 
+   int min_header_version = 1000000;
+ #if defined(HAVE_PROTO3)
+-  if (file_->syntax() == FileDescriptor::SYNTAX_PROTO3) {
++  if (FileDescriptorLegacy(file_).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3) {
+     min_header_version = 1003000;
+   }
+ #endif
+diff --git a/protoc-c/c_helpers.h b/protoc-c/c_helpers.h
+index 7598a4e1..87deea24 100644
+--- a/protoc-c/c_helpers.h
++++ b/protoc-c/c_helpers.h
+@@ -67,6 +67,7 @@
+ #include <vector>
+ #include <sstream>
+ #include <google/protobuf/descriptor.h>
++#include <google/protobuf/descriptor_legacy.h>
+ #include <protobuf-c/protobuf-c.pb.h>
+ #include <google/protobuf/io/printer.h>
+ 
+@@ -172,7 +173,7 @@ int compare_name_indices_by_name(const void*, const void*);
+ // This wrapper is needed to be able to compile against protobuf2.
+ inline int FieldSyntax(const FieldDescriptor* field) {
+ #ifdef HAVE_PROTO3
+-  return field->file()->syntax() == FileDescriptor::SYNTAX_PROTO3 ? 3 : 2;
++  return FileDescriptorLegacy(field->file()).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3 ? 3 : 2;
+ #else
+   return 2;
+ #endif
diff --git a/srcpkgs/protobuf-c/patches/66a0b0d2.patch b/srcpkgs/protobuf-c/patches/66a0b0d2.patch
new file mode 100644
index 000000000000..790db6329120
--- /dev/null
+++ b/srcpkgs/protobuf-c/patches/66a0b0d2.patch
@@ -0,0 +1,308 @@
+From 66a0b0d205224f63f19dd8f96abf9dcdc2112331 Mon Sep 17 00:00:00 2001
+From: Xiangyu Chen <xiangyu.chen@windriver.com>
+Date: Wed, 29 Mar 2023 14:25:17 +0800
+Subject: [PATCH] add support of protobuf 4.22.x
+
+after upgrade the protobuf to 4.22.x, the protobuf-c cannot compile anymore (#544) due to following changes:
+1.protobuf using c++14, that cause the command_line_interface.h report error
+2.protobuf using abseil-cpp library instead the trace API with GOOGLE_ header
+3. removed GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
+---
+ Makefile.am                   | 2 +-
+ configure.ac                  | 8 ++++++++
+ protoc-c/c_bytes_field.h      | 1 -
+ protoc-c/c_enum.h             | 1 -
+ protoc-c/c_enum_field.h       | 1 -
+ protoc-c/c_extension.h        | 1 -
+ protoc-c/c_field.cc           | 2 +-
+ protoc-c/c_field.h            | 3 ---
+ protoc-c/c_file.h             | 1 -
+ protoc-c/c_generator.h        | 2 --
+ protoc-c/c_helpers.cc         | 4 ++--
+ protoc-c/c_message.cc         | 4 ++--
+ protoc-c/c_message.h          | 1 -
+ protoc-c/c_message_field.h    | 3 ---
+ protoc-c/c_primitive_field.cc | 6 +++---
+ protoc-c/c_primitive_field.h  | 3 ---
+ protoc-c/c_service.h          | 1 -
+ protoc-c/c_string_field.h     | 1 -
+ 18 files changed, 17 insertions(+), 28 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index c7339efe..3b0d1d66 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -20,7 +20,7 @@ AM_CPPFLAGS = \
+ 	-I${top_builddir} \
+ 	-I${top_srcdir}
+ AM_CFLAGS = ${my_CFLAGS}
+-AM_LDFLAGS =
++AM_LDFLAGS = ${ABSL_LOG_INTERNAL_CHECK_OP_LIBS} ${ABSL_LOG_RAW_HASH_SET_LIBS}
+ 
+ # code coverage
+ 
+diff --git a/configure.ac b/configure.ac
+index f5a0261e..8ed549ac 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -78,6 +78,14 @@ if test "x$enable_protoc" != "xno"; then
+ 
+   AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
+ 
++# now checking 4.22.x protobuf, if so, set cxx as 17
++  AS_IF([pkg-config --atleast-version 4.22.0 protobuf],[AX_CXX_COMPILE_STDCXX(17, noext, mandatory)])
++
++  AS_IF([pkg-config --atleast-version 4.22.0 protobuf],
++    [PKG_CHECK_MODULES([ABSL_LOG_INTERNAL_CHECK_OP], [absl_log_internal_check_op],
++       [PKG_CHECK_MODULES([ABSL_LOG_RAW_HASH_SET], [absl_raw_hash_set], [], [AC_MSG_ERROR([Missing absl_raw_hash_set library.])])],
++       [AC_MSG_ERROR([Missing absl_log_internal_check_op library.])])])
++
+   PKG_CHECK_MODULES([protobuf], [protobuf >= 3.0.0],
+     [proto3_supported=yes],
+     [PKG_CHECK_MODULES([protobuf], [protobuf >= 2.6.0])]
+diff --git a/protoc-c/c_bytes_field.h b/protoc-c/c_bytes_field.h
+index bf873f0f..8fc63d35 100644
+--- a/protoc-c/c_bytes_field.h
++++ b/protoc-c/c_bytes_field.h
+@@ -88,7 +88,6 @@ class BytesFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(BytesFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_enum.h b/protoc-c/c_enum.h
+index 9c34b697..d5e58f0a 100644
+--- a/protoc-c/c_enum.h
++++ b/protoc-c/c_enum.h
+@@ -107,7 +107,6 @@ class EnumGenerator {
+   const EnumDescriptor* descriptor_;
+   std::string dllexport_decl_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_enum_field.h b/protoc-c/c_enum_field.h
+index 3f8c005d..03eb4028 100644
+--- a/protoc-c/c_enum_field.h
++++ b/protoc-c/c_enum_field.h
+@@ -86,7 +86,6 @@ class EnumFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_extension.h b/protoc-c/c_extension.h
+index 95413885..9c5797d6 100644
+--- a/protoc-c/c_extension.h
++++ b/protoc-c/c_extension.h
+@@ -99,7 +99,6 @@ class ExtensionGenerator {
+   std::string type_traits_;
+   std::string dllexport_decl_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ExtensionGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_field.cc b/protoc-c/c_field.cc
+index 0716744a..4abdc6d3 100644
+--- a/protoc-c/c_field.cc
++++ b/protoc-c/c_field.cc
+@@ -231,7 +231,7 @@ FieldGeneratorMap::~FieldGeneratorMap() {}
+ 
+ const FieldGenerator& FieldGeneratorMap::get(
+     const FieldDescriptor* field) const {
+-  GOOGLE_CHECK_EQ(field->containing_type(), descriptor_);
++  ABSL_CHECK_EQ(field->containing_type(), descriptor_);
+   return *field_generators_[field->index()];
+ }
+ 
+diff --git a/protoc-c/c_field.h b/protoc-c/c_field.h
+index 3cad35d3..76d3b0bc 100644
+--- a/protoc-c/c_field.h
++++ b/protoc-c/c_field.h
+@@ -104,8 +104,6 @@ class FieldGenerator {
+                                             const std::string &descriptor_addr) const;
+   const FieldDescriptor *descriptor_;
+ 
+- private:
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGenerator);
+ };
+ 
+ // Convenience class which constructs FieldGenerators for a Descriptor.
+@@ -122,7 +120,6 @@ class FieldGeneratorMap {
+ 
+   static FieldGenerator* MakeGenerator(const FieldDescriptor* field);
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGeneratorMap);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_file.h b/protoc-c/c_file.h
+index 8dfd8ba0..ec55906e 100644
+--- a/protoc-c/c_file.h
++++ b/protoc-c/c_file.h
+@@ -104,7 +104,6 @@ class FileGenerator {
+   std::unique_ptr<std::unique_ptr<ServiceGenerator>[]> service_generators_;
+   std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FileGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_generator.h b/protoc-c/c_generator.h
+index ac1ffafe..92601164 100644
+--- a/protoc-c/c_generator.h
++++ b/protoc-c/c_generator.h
+@@ -94,8 +94,6 @@ class PROTOC_C_EXPORT CGenerator : public CodeGenerator {
+                 OutputDirectory* output_directory,
+                 std::string* error) const;
+ 
+- private:
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(CGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_helpers.cc b/protoc-c/c_helpers.cc
+index 6fd0cd3a..1eaeeb42 100644
+--- a/protoc-c/c_helpers.cc
++++ b/protoc-c/c_helpers.cc
+@@ -286,7 +286,7 @@ const char* const kKeywordList[] = {
+ 
+ std::set<std::string> MakeKeywordsMap() {
+   std::set<std::string> result;
+-  for (int i = 0; i < GOOGLE_ARRAYSIZE(kKeywordList); i++) {
++  for (int i = 0; i < ABSL_ARRAYSIZE(kKeywordList); i++) {
+     result.insert(kKeywordList[i]);
+   }
+   return result;
+@@ -548,7 +548,7 @@ std::string CEscape(const std::string& src) {
+   std::unique_ptr<char[]> dest(new char[dest_length]);
+   const int len = CEscapeInternal(src.data(), src.size(),
+                                   dest.get(), dest_length, false);
+-  GOOGLE_DCHECK_GE(len, 0);
++  ABSL_DCHECK_GE(len, 0);
+   return std::string(dest.get(), len);
+ }
+ 
+diff --git a/protoc-c/c_message.cc b/protoc-c/c_message.cc
+index 37e8bf8b..c7e85155 100755
+--- a/protoc-c/c_message.cc
++++ b/protoc-c/c_message.cc
+@@ -499,7 +499,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ 	  // NOTE: not supported by protobuf
+ 	  vars["maybe_static"] = "";
+ 	  vars["field_dv_ctype"] = "{ ... }";
+-	  GOOGLE_LOG(DFATAL) << "Messages can't have default values!";
++	  ABSL_LOG(FATAL) << "Messages can't have default values!";
+ 	  break;
+ 	case FieldDescriptor::CPPTYPE_STRING:
+ 	  if (fd->type() == FieldDescriptor::TYPE_BYTES || opt.string_as_bytes())
+@@ -521,7 +521,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ 	    break;
+ 	  }
+ 	default:
+-	  GOOGLE_LOG(DFATAL) << "Unknown CPPTYPE";
++	  ABSL_LOG(FATAL) << "Unknown CPPTYPE";
+ 	  break;
+ 	}
+ 	if (!already_defined)
+diff --git a/protoc-c/c_message.h b/protoc-c/c_message.h
+index ea1c3ab3..e90782bf 100644
+--- a/protoc-c/c_message.h
++++ b/protoc-c/c_message.h
+@@ -137,7 +137,6 @@ class MessageGenerator {
+   std::unique_ptr<std::unique_ptr<EnumGenerator>[]> enum_generators_;
+   std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_message_field.h b/protoc-c/c_message_field.h
+index 39b8d999..42efe368 100644
+--- a/protoc-c/c_message_field.h
++++ b/protoc-c/c_message_field.h
+@@ -83,9 +83,6 @@ class MessageFieldGenerator : public FieldGenerator {
+   std::string GetDefaultValue(void) const;
+   void GenerateStaticInit(io::Printer* printer) const;
+ 
+- private:
+-
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_primitive_field.cc b/protoc-c/c_primitive_field.cc
+index 6990893f..d5a7b60c 100644
+--- a/protoc-c/c_primitive_field.cc
++++ b/protoc-c/c_primitive_field.cc
+@@ -99,7 +99,7 @@ void PrimitiveFieldGenerator::GenerateStructMembers(io::Printer* printer) const
+     case FieldDescriptor::TYPE_STRING  :
+     case FieldDescriptor::TYPE_BYTES   :
+     case FieldDescriptor::TYPE_GROUP   :
+-    case FieldDescriptor::TYPE_MESSAGE : GOOGLE_LOG(FATAL) << "not a primitive type"; break;
++    case FieldDescriptor::TYPE_MESSAGE : ABSL_LOG(FATAL) << "not a primitive type"; break;
+ 
+     // No default because we want the compiler to complain if any new
+     // types are added.
+@@ -143,7 +143,7 @@ std::string PrimitiveFieldGenerator::GetDefaultValue() const
+     case FieldDescriptor::CPPTYPE_BOOL:
+       return descriptor_->default_value_bool() ? "1" : "0";
+     default:
+-      GOOGLE_LOG(DFATAL) << "unexpected CPPTYPE in c_primitive_field";
++      ABSL_LOG(FATAL) << "unexpected CPPTYPE in c_primitive_field";
+       return "UNEXPECTED_CPPTYPE";
+   }
+ }
+@@ -197,7 +197,7 @@ void PrimitiveFieldGenerator::GenerateDescriptorInitializer(io::Printer* printer
+     case FieldDescriptor::TYPE_STRING  :
+     case FieldDescriptor::TYPE_BYTES   :
+     case FieldDescriptor::TYPE_GROUP   :
+-    case FieldDescriptor::TYPE_MESSAGE : GOOGLE_LOG(FATAL) << "not a primitive type"; break;
++    case FieldDescriptor::TYPE_MESSAGE : ABSL_LOG(FATAL) << "not a primitive type"; break;
+ 
+     // No default because we want the compiler to complain if any new
+     // types are added.
+diff --git a/protoc-c/c_primitive_field.h b/protoc-c/c_primitive_field.h
+index a9eb893b..d2bb7243 100644
+--- a/protoc-c/c_primitive_field.h
++++ b/protoc-c/c_primitive_field.h
+@@ -83,9 +83,6 @@ class PrimitiveFieldGenerator : public FieldGenerator {
+   std::string GetDefaultValue(void) const;
+   void GenerateStaticInit(io::Printer* printer) const;
+ 
+- private:
+-
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(PrimitiveFieldGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_service.h b/protoc-c/c_service.h
+index 27125a60..4737ff3b 100644
+--- a/protoc-c/c_service.h
++++ b/protoc-c/c_service.h
+@@ -101,7 +101,6 @@ class ServiceGenerator {
+   const ServiceDescriptor* descriptor_;
+   std::map<std::string, std::string> vars_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ServiceGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_string_field.h b/protoc-c/c_string_field.h
+index 513cea75..ba258e44 100644
+--- a/protoc-c/c_string_field.h
++++ b/protoc-c/c_string_field.h
+@@ -88,7 +88,6 @@ class StringFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(StringFieldGenerator);
+ };
+ 
+ 
diff --git a/srcpkgs/protobuf-c/template b/srcpkgs/protobuf-c/template
index 7d1b529d8936..e703b138152d 100644
--- a/srcpkgs/protobuf-c/template
+++ b/srcpkgs/protobuf-c/template
@@ -1,10 +1,10 @@
 # Template file for 'protobuf-c'
 pkgname=protobuf-c
 version=1.4.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="$(vopt_enable protoc)"
-hostmakedepends="pkg-config protobuf protobuf-devel"
+hostmakedepends="pkg-config protobuf protobuf-devel automake libtool"
 makedepends="protobuf-devel boost-devel $(vopt_if protoc libprotoc-devel)"
 short_desc="C implementation of the Google Protocol Buffers"
 maintainer="Enno Boland <gottox@voidlinux.org>"
@@ -17,6 +17,10 @@ build_options="protoc"
 build_options_default="protoc"
 desc_option_protoc="Build protoc-c compiler"
 
+pre_configure() {
+	autoreconf -if
+}
+
 post_install() {
 	vlicense LICENSE
 }

From 5fd92985ac2076fa48d8fc556257586fd4194837 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 2 Jul 2023 21:07:55 +0200
Subject: [PATCH 32/34] netdata: update to 1.40.1.

---
 srcpkgs/netdata/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/netdata/template            | 13 +++++++++----
 2 files changed, 20 insertions(+), 4 deletions(-)
 create mode 100644 srcpkgs/netdata/patches/cpp17.patch

diff --git a/srcpkgs/netdata/patches/cpp17.patch b/srcpkgs/netdata/patches/cpp17.patch
new file mode 100644
index 000000000000..b197ccd57bd9
--- /dev/null
+++ b/srcpkgs/netdata/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac	2023-06-27 16:25:03.364605041 +0200
++++ -	2023-07-02 21:27:31.113408278 +0200
+@@ -237,7 +237,7 @@
+ # C++ version check
+ 
+ # Check for C++17 support (optional)
+-# AX_CXX_COMPILE_STDCXX(17, noext, optional)
++AX_CXX_COMPILE_STDCXX(17, noext, optional)
+ 
+ if test "x$HAVE_CXX17" != "x1"; then
+   # Check for C++11 support (optional)
diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 781120b3f275..9065c5140361 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -1,14 +1,14 @@
 # Template file for 'netdata'
 pkgname=netdata
-version=1.37.1
-revision=2
+version=1.40.1
+revision=1
 build_style=gnu-configure
 build_helper=qemu
 configure_args="--with-user=_netdata ac_cv_file_externaldeps_libbpf_libbpf_a=no
  $(vopt_if cloud --enable-cloud --disable-cloud) $(vopt_if ipmi --enable-plugin-freeipmi)
  $(vopt_if xen --enable-plugin-xenstat) $(vopt_if cups --enable-plugin-cups)"
 hostmakedepends="pkg-config autoconf automake $(vopt_if cloud "protobuf protobuf-devel")"
-makedepends="json-c-devel libcap-devel liblz4-devel libmnl-devel
+makedepends="json-c-devel libcap-devel liblz4-devel libmnl-devel libyaml-devel
  libnetfilter_acct-devel openssl-devel libuuid-devel libuv-devel zlib-devel
  snappy-devel $(vopt_if cloud protobuf-devel) $(vopt_if ipmi freeipmi-devel)
  $(vopt_if xen "xen-devel yajl-devel") $(vopt_if cups cups-devel)"
@@ -18,7 +18,7 @@ maintainer="Michael Aldridge <maldridge@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://www.netdata.cloud/"
 distfiles="https://github.com/netdata/netdata/releases/download/v${version}/netdata-v${version}.tar.gz"
-checksum=2caa042d43ca61007a61294a5ececa037d83a1973bd38032233760341eb1706b
+checksum=cc86172acd5e6ec05bc0fa86a50d967502a264d8adf7f79293923ccd8febb251
 python_version=3
 make_dirs="
  /var/lib/netdata          0755 _netdata _netdata
@@ -43,6 +43,11 @@ if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 fi
 
 pre_configure() {
+	vsed -e 's/#define info(/#define netdata_log_info(/g' -i libnetdata/log/log.h
+	vsed -e 's/^\([ ]*\)info[ ]*(/\1netdata_log_info(/g' -i $(grep -rl '^[ ]*info *(' ./)
+	vsed -e 's/^\([ ]*\)else info(/\1else netdata_log_info(/g' -i $(grep -rl '^[ ]*else info(' ./)
+	vsed -e 's/^\([ ]*\)if(\([^)]*\))[ ]*info(/\1if(\2) netdata_log_info(/g' -i $(grep -rl '^[ ]*if.*info(' ./)
+
 	if [ "$CROSS_BUILD" ]; then
 		sed -i "s|	\$(builddir)/judyltablesgen\$(EXEEXT)|	qemu-${XBPS_TARGET_QEMU_MACHINE}-static \$(builddir)/judyltablesgen\$(EXEEXT)|g" Makefile.am
 	fi

From 0ff422d0d39aaad7c7fbff855814c60d2b12cabf Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 8 Jul 2023 12:47:51 +0200
Subject: [PATCH 33/34] strawberry: rebuild against protobuf-23.3_1

---
 srcpkgs/strawberry/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/strawberry/template b/srcpkgs/strawberry/template
index b42efa1b89b2..91f2e07a0ec0 100644
--- a/srcpkgs/strawberry/template
+++ b/srcpkgs/strawberry/template
@@ -1,7 +1,7 @@
 # Template file for 'strawberry'
 pkgname=strawberry
 version=1.0.17
-revision=2
+revision=3
 build_style=cmake
 hostmakedepends="pkg-config protobuf gettext"
 makedepends="alsa-lib-devel boost-devel gnutls-devel fftw-devel

From 311a38e704d8e64f28438092c438d8729ef71f94 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 8 Jul 2023 12:47:51 +0200
Subject: [PATCH 34/34] libphonenumber: rebuild against protobuf-23.3_1

---
 srcpkgs/libphonenumber/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libphonenumber/template b/srcpkgs/libphonenumber/template
index f554714b3c7a..058939459f6a 100644
--- a/srcpkgs/libphonenumber/template
+++ b/srcpkgs/libphonenumber/template
@@ -1,7 +1,7 @@
 # Template file for 'libphonenumber'
 pkgname=libphonenumber
 version=8.12.39
-revision=12
+revision=13
 build_wrksrc=cpp
 build_style=cmake
 build_helper=qemu

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] protobuf/abseil-cpp/grpc: update
  2023-07-08 11:45 [PR PATCH] protobuf/abseil-cpp: update Johnnynator
                   ` (2 preceding siblings ...)
  2023-07-10 21:07 ` Johnnynator
@ 2023-07-11  6:57 ` Johnnynator
  2023-07-11  7:10 ` Johnnynator
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Johnnynator @ 2023-07-11  6:57 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 616 bytes --]

There is an updated pull request by Johnnynator against master on the void-packages repository

https://github.com/Johnnynator/void-packages google-stuff
https://github.com/void-linux/void-packages/pull/44920

protobuf/abseil-cpp/grpc: update
"Fun" with google stuff

#### Testing the changes
- I tested the changes in this PR: **WiP**


#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):



A patch file from https://github.com/void-linux/void-packages/pull/44920.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-google-stuff-44920.patch --]
[-- Type: text/x-diff, Size: 108761 bytes --]

From e52824493cc828e3014fe39565ecb99e0b9a385e Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:24:01 +0200
Subject: [PATCH 01/34] abseil-cpp: update to 20230125.3.

---
 common/shlibs                                 | 128 ++++++++++++------
 srcpkgs/abseil-cpp/patches/google-sucks.patch |  77 -----------
 srcpkgs/abseil-cpp/template                   |   4 +-
 3 files changed, 85 insertions(+), 124 deletions(-)
 delete mode 100644 srcpkgs/abseil-cpp/patches/google-sucks.patch

diff --git a/common/shlibs b/common/shlibs
index 4b2122d1b199..d1e779f4e7cb 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4207,51 +4207,89 @@ libsunpinyin.so.3 libsunpinyin-3.0.0rc2_1
 libtpm2-totp.so.0 libtpm2-totp-0.3.0_1
 libmujs.so.1.2.0 mujs-1.2.0_2
 libiir.so.1 libiir1-1.9.3_1
-libabsl_statusor.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_hash.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_raw_hash_set.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_bad_variant_access.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_status.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_pool_urbg.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_hwaes_impl.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_slow.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cord.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_city.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_bad_optional_access.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_info.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_str_format_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_synchronization.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_time.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strings.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_throw_delegate.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_time_zone.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_spinlock_wait.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_base.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_civil_time.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cord_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_functions.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_handle.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_debugging_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_demangle_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_exponential_biased.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_graphcycles_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_hashtablez_sampler.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_int128.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_log_severity.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_low_level_hash.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_malloc_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_distributions.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_platform.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_hwaes.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_seed_material.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_seed_gen_exception.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_seed_sequences.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_raw_logging_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_stacktrace.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strerror.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strings_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_symbolize.so.2206.0.0 abseil-cpp-20220623.1_1
+libabsl_flags.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_raw_logging_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_parse.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_reflection.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_globals.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_config.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_seed_sequences.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_statusor.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_usage_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_commandlineflag.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_hwaes_impl.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_status.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_any_cast_impl.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_variant_access.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_raw_hash_set.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_optional_access.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cord.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_distribution_test_util.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_handle.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_graphcycles_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_spinlock_wait.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_functions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_usage.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_debugging_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strerror.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_seed_material.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_log_sink_set.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_proto.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_civil_time.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_conditions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_cpu_detect.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_entry.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_distributions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_globals.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_format.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_exponential_biased.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_city.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_symbolize.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_leak_check.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_low_level_hash.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_severity.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_scoped_set_env.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strings.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_die_if_null.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_hash.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_commandlineflag_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_periodic_sampler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_platform.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_malloc_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_sample_token.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_str_format_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_synchronization.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_message.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strings_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_private_handle_accessor.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cord_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_hwaes.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_throw_delegate.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_cord_state.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_flags.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_program_name.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_time_zone.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_examine_stack.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc32c.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_initialize.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_failure_signal_handler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_time.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_info.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_sink.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_nullguard.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_demangle_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_base.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_hashtablez_sampler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_marshalling.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_pool_urbg.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_int128.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_stacktrace.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_seed_gen_exception.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_check_op.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_slow.so.2301.0.0 abseil-cpp-20230125.3_1
 libairspyhf.so.0 libairspyhf-1.6.8_1
 libtraceevent.so.1 libtraceevent-1.6.2_1
 libtracefs.so.1 libtracefs-1.4.2_1
diff --git a/srcpkgs/abseil-cpp/patches/google-sucks.patch b/srcpkgs/abseil-cpp/patches/google-sucks.patch
deleted file mode 100644
index 511bae847101..000000000000
--- a/srcpkgs/abseil-cpp/patches/google-sucks.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-commit 1fbfea71fb42b2e79f9e342c1843bd26a8703536
-Author: Daniel Kolesa <daniel@octaforge.org>
-Date:   Thu Aug 25 01:20:58 2022 +0200
-
-    An all-in-one patch that fixes several issues:
-    
-    1) UnscaledCycleClock not fully implemented for ppc*-musl (disabled on musl)
-    2) powerpc stacktrace implementation only works on glibc (disabled on musl)
-    3) powerpc stacktrace implementation has ppc64 assumptions (fixed)
-    4) examine_stack.cpp makes glibc assumptions on powerpc (fixed)
-
-diff --git a/absl/base/internal/unscaledcycleclock.cc b/absl/base/internal/unscaledcycleclock.cc
-index b1c396c..d62bfd6 100644
---- a/absl/base/internal/unscaledcycleclock.cc
-+++ b/absl/base/internal/unscaledcycleclock.cc
-@@ -20,7 +20,7 @@
- #include <intrin.h>
- #endif
- 
--#if defined(__powerpc__) || defined(__ppc__)
-+#if (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
- #ifdef __GLIBC__
- #include <sys/platform/ppc.h>
- #elif defined(__FreeBSD__)
-@@ -58,7 +58,7 @@ double UnscaledCycleClock::Frequency() {
-   return base_internal::NominalCPUFrequency();
- }
- 
--#elif defined(__powerpc__) || defined(__ppc__)
-+#elif (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
- 
- int64_t UnscaledCycleClock::Now() {
- #ifdef __GLIBC__
-diff --git a/absl/base/internal/unscaledcycleclock.h b/absl/base/internal/unscaledcycleclock.h
-index 2cbeae3..83d8c98 100644
---- a/absl/base/internal/unscaledcycleclock.h
-+++ b/absl/base/internal/unscaledcycleclock.h
-@@ -46,8 +46,8 @@
- 
- // The following platforms have an implementation of a hardware counter.
- #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \
--    defined(__powerpc__) || defined(__ppc__) || defined(__riscv) ||     \
--    defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
-+    ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \
-+    defined(__riscv) || defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
- #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
- #else
- #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 0
-diff --git a/absl/debugging/internal/examine_stack.cc b/absl/debugging/internal/examine_stack.cc
-index 5bdd341..a42a3c4 100644
---- a/absl/debugging/internal/examine_stack.cc
-+++ b/absl/debugging/internal/examine_stack.cc
-@@ -174,8 +174,10 @@ void* GetProgramCounter(void* const vuc) {
-     return reinterpret_cast<void*>(context->uc_mcontext.pc);
- #elif defined(__powerpc64__)
-     return reinterpret_cast<void*>(context->uc_mcontext.gp_regs[32]);
--#elif defined(__powerpc__)
-+#elif defined(__powerpc__) && defined(__GLIBC__)
-     return reinterpret_cast<void*>(context->uc_mcontext.uc_regs->gregs[32]);
-+#elif defined(__powerpc__)
-+    return reinterpret_cast<void*>(context->uc_mcontext.gregs[32]);
- #elif defined(__riscv)
-     return reinterpret_cast<void*>(context->uc_mcontext.__gregs[REG_PC]);
- #elif defined(__s390__) && !defined(__s390x__)
-diff --git a/absl/debugging/internal/stacktrace_config.h b/absl/debugging/internal/stacktrace_config.h
-index 3929b1b..23d5e50 100644
---- a/absl/debugging/internal/stacktrace_config.h
-+++ b/absl/debugging/internal/stacktrace_config.h
-@@ -60,7 +60,7 @@
- #elif defined(__i386__) || defined(__x86_64__)
- #define ABSL_STACKTRACE_INL_HEADER \
-   "absl/debugging/internal/stacktrace_x86-inl.inc"
--#elif defined(__ppc__) || defined(__PPC__)
-+#elif (defined(__ppc__) || defined(__PPC__)) && defined(__GLIBC__)
- #define ABSL_STACKTRACE_INL_HEADER \
-   "absl/debugging/internal/stacktrace_powerpc-inl.inc"
- #elif defined(__aarch64__)
diff --git a/srcpkgs/abseil-cpp/template b/srcpkgs/abseil-cpp/template
index 8640d2489406..3ffdb4d99d33 100644
--- a/srcpkgs/abseil-cpp/template
+++ b/srcpkgs/abseil-cpp/template
@@ -1,6 +1,6 @@
 # Template file for 'abseil-cpp'
 pkgname=abseil-cpp
-version=20220623.1
+version=20230125.3
 revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON -DABSL_PROPAGATE_CXX_STD=ON"
@@ -10,7 +10,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="Apache-2.0"
 homepage="https://abseil.io"
 distfiles="https://github.com/abseil/abseil-cpp/archive/${version}.tar.gz"
-checksum=91ac87d30cc6d79f9ab974c51874a704de9c2647c40f6932597329a282217ba8
+checksum=5366d7e7fa7ba0d915014d387b66d0d002c03236448e1ba9ef98122c13b35c36
 
 abseil-cpp-devel_package() {
 	short_desc+=" (development files)"

From 070c94ef46fae72a215611c0cd5091aa6c2d0a06 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 02/34] Bear: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/Bear/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/Bear/template b/srcpkgs/Bear/template
index cebf51b64728..2e6da3ba9a30 100644
--- a/srcpkgs/Bear/template
+++ b/srcpkgs/Bear/template
@@ -1,7 +1,7 @@
 # Template file for 'Bear'
 pkgname=Bear
 version=3.1.2
-revision=1
+revision=2
 build_style=cmake
 hostmakedepends="pkg-config protobuf protobuf-devel grpc"
 makedepends="json-c++ spdlog grpc-devel protobuf-devel gtest-devel"

From f0d5fbd24e91caa8ec80f5a00395997f90c055b4 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 03/34] grpc: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/grpc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index 5b4547a5c0fc..f9d197a1c354 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -1,7 +1,7 @@
 # Template file for 'grpc'
 pkgname=grpc
 version=1.49.1
-revision=2
+revision=3
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON
  -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package

From 5135b2469b605af7a30f54f996ae79342c0a0083 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 04/34] justbuild: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/justbuild/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index 1ad8e334617d..ee36f6dae575 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
 # Template file for 'justbuild'
 pkgname=justbuild
 version=1.1.2
-revision=1
+revision=2
 create_wrksrc=yes
 hostmakedepends="jo pandoc pkg-config python3 tar unzip wget"
 makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++

From 83d0bcb86fc591094cb8f322b15d25d0f1bb7c09 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 05/34] python3-grpcio: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/python3-grpcio/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 826eda0fc560..9b3c7288a9dd 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-grpcio'
 pkgname=python3-grpcio
 version=1.49.1
-revision=3
+revision=4
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-six python3-Cython"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel

From e70416672cfbac20254e87e4cdcfdaf0f971d171 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 06/34] sysdig: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/sysdig/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index 81ddb7aba5e3..4a04e762468c 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,7 +1,7 @@
 # Template file for 'sysdig'
 pkgname=sysdig
 version=0.28.0
-revision=7
+revision=8
 build_style=cmake
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF
@@ -36,7 +36,8 @@ CXXFLAGS="-Wno-deprecated-declarations"
 CXXFLAGS+=" -I/usr/include/grpc_absl"
 
 post_extract() {
-	sed -i 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' scripts/CMakeLists.txt
+	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
+	vsed -e 's|-std=c++0x||' -i CMakeLists.txt
 }
 
 post_install() {

From 800ca7d5875ce0ad81cf9da4910ea2016a37e737 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 22:01:12 +0200
Subject: [PATCH 07/34] python3-grpcio: update to 1.56.0.

---
 srcpkgs/python3-grpcio/template | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 9b3c7288a9dd..25ea3fc34620 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-grpcio'
 pkgname=python3-grpcio
-version=1.49.1
-revision=4
+version=1.56.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-six python3-Cython"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel
@@ -12,7 +12,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://grpc.io"
 distfiles="${PYPI_SITE}/g/grpcio/grpcio-${version}.tar.gz"
-checksum=d4725fc9ec8e8822906ae26bb26f5546891aa7fbc3443de970cc556d43a5c99f
+checksum=4c08ee21b3d10315b8dc26f6c13917b20ed574cdbed2d2d80c53d5508fdcc0f2
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	makedepends+=" libatomic-devel"
@@ -29,5 +29,7 @@ export GRPC_PYTHON_BUILD_SYSTEM_RE2=1
 export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
 
 post_extract() {
+	# abseil-cpp 2023xxxxxx requires at least c++ 17
+	vsed -e 's/c++14/c++17/g' -i setup.py
 	rm src/python/grpcio/grpc/_cython/cygrpc.cpp
 }

From c76a291deda8265fcaaf4d12f30dcde98f0ab156 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 22:01:47 +0200
Subject: [PATCH 08/34] grpc: update to 1.56.0.

---
 common/shlibs                                 | 24 +++++++++----------
 srcpkgs/grpc/patches/cmake.patch              | 20 ++++++++++++++++
 .../grpc/patches/revert-find-protobuf.patch   | 23 ++++++++++++++++++
 srcpkgs/grpc/template                         | 15 ++++++------
 4 files changed, 63 insertions(+), 19 deletions(-)
 create mode 100644 srcpkgs/grpc/patches/cmake.patch
 create mode 100644 srcpkgs/grpc/patches/revert-find-protobuf.patch

diff --git a/common/shlibs b/common/shlibs
index d1e779f4e7cb..5adfa4d6e69f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3683,18 +3683,18 @@ liboblibs.so.0.1 oblibs-0.1.1.1_1
 libaal-1.0.so.7 libaal-1.0.7_1
 libaal-minimal.so.0 libaal-1.0.7_1
 libcli.so.1.9 libcli-1.9.8.4_1
-libaddress_sorting.so.27 libgrpc-1.49.1_1
-libgpr.so.27 libgrpc-1.49.1_1
-libgrpc.so.27 libgrpc-1.49.1_1
-libgrpc_unsecure.so.27 libgrpc-1.49.1_1
-libupb.so.27 libgrpc-1.49.1_1
-libgrpc++.so.1.49 libgrpc-1.49.1_1
-libgrpc++_alts.so.1.49 libgrpc-1.49.1_1
-libgrpc++_error_details.so.1.49 libgrpc-1.49.1_1
-libgrpc++_reflection.so.1.49 libgrpc-1.49.1_1
-libgrpc++_unsecure.so.1.49 libgrpc-1.49.1_1
-libgrpc_plugin_support.so.1.49 libgrpc-1.49.1_1
-libgrpcpp_channelz.so.1.49 libgrpc-1.49.1_1
+libaddress_sorting.so.33 libgrpc-1.56.0_1
+libgpr.so.33 libgrpc-1.56.0_1
+libgrpc.so.33 libgrpc-1.56.0_1
+libgrpc_unsecure.so.33 libgrpc-1.56.0_1
+libupb.so.33 libgrpc-1.56.0_1
+libgrpc++.so.1.56 libgrpc-1.56.0_1
+libgrpc++_alts.so.1.56 libgrpc-1.56.0_1
+libgrpc++_error_details.so.1.56 libgrpc-1.56.0_1
+libgrpc++_reflection.so.1.56 libgrpc-1.56.0_1
+libgrpc++_unsecure.so.1.56 libgrpc-1.56.0_1
+libgrpc_plugin_support.so.1.56 libgrpc-1.56.0_1
+libgrpcpp_channelz.so.1.56 libgrpc-1.56.0_1
 libircclient.so.1 libircclient-1.10_5
 libFAudio.so.0 FAudio-19.05_1
 libqaccessibilityclient-qt5.so.0 libqaccessibilityclient-0.4.0_1
diff --git a/srcpkgs/grpc/patches/cmake.patch b/srcpkgs/grpc/patches/cmake.patch
new file mode 100644
index 000000000000..54d04e29837d
--- /dev/null
+++ b/srcpkgs/grpc/patches/cmake.patch
@@ -0,0 +1,20 @@
+--- a/cmake/gRPCConfig.cmake.in	2023-06-14 22:21:16.000000000 +0200
++++ -	2023-06-28 11:11:32.902678412 +0200
+@@ -1,5 +1,6 @@
+ # Module path
+ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/modules)
++include(CMakeFindDependencyMacro)
+ 
+ # Depend packages
+ @_gRPC_FIND_ZLIB@
+--- a/CMakeLists.txt	2023-07-11 08:54:22.009027477 +0200
++++ -	2023-07-11 08:54:38.950947984 +0200
+@@ -12375,6 +12375,8 @@
+   ${_gRPC_ZLIB_LIBRARIES}
+   ${_gRPC_ALLTARGETS_LIBRARIES}
+   grpc_plugin_support
++  absl::hash
++  absl::raw_hash_set
+ )
+ 
+ 
diff --git a/srcpkgs/grpc/patches/revert-find-protobuf.patch b/srcpkgs/grpc/patches/revert-find-protobuf.patch
new file mode 100644
index 000000000000..6001f37c6b1b
--- /dev/null
+++ b/srcpkgs/grpc/patches/revert-find-protobuf.patch
@@ -0,0 +1,23 @@
+Use the old cmake provided FindProtobuf() implementation for now.
+A future cmake update will remove this module, but use it for now until
+all packages are updated to the new system
+---
+--- a/cmake/protobuf.cmake	2023-06-14 22:21:16.000000000 +0200
++++ -	2023-07-10 21:05:41.114443796 +0200
+@@ -55,7 +55,7 @@
+     set(gRPC_INSTALL FALSE)
+   endif()
+ elseif(gRPC_PROTOBUF_PROVIDER STREQUAL "package")
+-  find_package(Protobuf REQUIRED CONFIG)
++  find_package(Protobuf REQUIRED)
+ 
+   if(Protobuf_FOUND OR PROTOBUF_FOUND)
+     if(TARGET protobuf::${_gRPC_PROTOBUF_LIBRARY_NAME})
+@@ -86,6 +86,6 @@
+         set(_gRPC_PROTOBUF_PROTOC_EXECUTABLE ${PROTOBUF_PROTOC_EXECUTABLE})
+       endif()
+     endif()
+-    set(_gRPC_FIND_PROTOBUF "find_dependency(Protobuf CONFIG)")
++    set(_gRPC_FIND_PROTOBUF "find_dependency(Protobuf)")
+   endif()
+ endif()
diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index f9d197a1c354..9c58c2509bee 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -1,14 +1,13 @@
 # Template file for 'grpc'
 pkgname=grpc
-version=1.49.1
-revision=3
+version=1.56.0
+revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON
  -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package
  -DgRPC_SSL_PROVIDER=package -DgRPC_ZLIB_PROVIDER=package
- -DgRPC_ABSL_PROVIDER=package -D_gRPC_RE2_LIBRARIES=-lre2
- -D_gRPC_RE2_INCLUDE_DIR=${XBPS_CROSS_BASE}/usr/include"
-hostmakedepends="which protobuf"
+ -DgRPC_ABSL_PROVIDER=package -DgRPC_RE2_PROVIDER=package"
+hostmakedepends="protobuf pkg-config"
 _devel_depends="c-ares-devel re2-devel zlib-devel openssl-devel abseil-cpp-devel"
 makedepends="libprotoc-devel protobuf-devel gperftools-devel ${_devel_depends}"
 short_desc="High performance, open source, general RPC framework"
@@ -16,11 +15,12 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://github.com/grpc/grpc"
 distfiles="${homepage}/archive/v${version}/${pkgname}-${version}.tar.gz"
-checksum=5071b630e2a14707ad060636990f1b25b0984bd168c7ea1ab95e48a3bdc0081f
+checksum=e034992a0b464042021f6d440f2090acc2422c103a322b0844e3921ccea981dc
 
 if [ "$CROSS_BUILD" ]; then
 	# need host grpc_cpp_plugin
 	hostmakedepends+=" grpc"
+	configure_args+=" -DProtobuf_PROTOC_EXECUTABLE=/usr/bin/protoc"
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
@@ -38,7 +38,8 @@ libgrpc_package() {
 
 grpc-devel_package() {
 	short_desc+=" - development files"
-	depends="${sourcepkg}>=${version}_${revision} ${_devel_depends}"
+	depends="${sourcepkg}>=${version}_${revision} ${_devel_depends}
+	 protobuf-devel"
 	pkg_install() {
 		vmove usr/include
 		vmove usr/lib/*.so

From 8df7415731235e0c4c1b3e2b14ea5f53149d994e Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:40:13 +0200
Subject: [PATCH 09/34] protobuf: update to 23.4.

- switch to cmake buildstyle
- grpc needs the .cmake files to find protobuf
- newer version of protobuf will drop autoconf
---
 common/shlibs             |  6 ++---
 srcpkgs/protobuf/template | 46 ++++++++++++++-------------------------
 2 files changed, 19 insertions(+), 33 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 5adfa4d6e69f..3cd47fb4f486 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3115,9 +3115,9 @@ libm17n-flt.so.0 m17n-lib-1.7.0_1
 libm17n-gui.so.0 m17n-lib-1.7.0_1
 libm17n-core.so.0 m17n-lib-1.7.0_1
 libm17n.so.0 m17n-lib-1.7.0_1
-libprotobuf-lite.so.32 libprotobuf-lite-21.4_1
-libprotoc.so.32 libprotoc-21.4_1
-libprotobuf.so.32 libprotobuf-21.4_1
+libprotobuf-lite.so.23.4.0 libprotobuf-lite-23.4_1
+libprotoc.so.23.4.0 libprotoc-23.4_1
+libprotobuf.so.23.4.0 libprotobuf-23.4_1
 libsombok.so.3 sombok-2.4.0_1
 libdeviceclient.so.0 pragha-1.3.3_1
 libykclient.so.3 ykclient-2.15_1
diff --git a/srcpkgs/protobuf/template b/srcpkgs/protobuf/template
index 571f06487c85..91324a4da612 100644
--- a/srcpkgs/protobuf/template
+++ b/srcpkgs/protobuf/template
@@ -1,22 +1,22 @@
 # Template file for 'protobuf'
 pkgname=protobuf
-version=21.12
+version=23.4
 revision=1
-create_wrksrc="yes"
-build_wrksrc="${pkgname}-${version}"
-build_style=gnu-configure
-hostmakedepends="pkg-config automake libtool"
-makedepends="zlib-devel"
+build_style=cmake
+hostmakedepends="pkg-config"
+configure_args="-Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_USE_EXTERNAL_GTEST=ON
+ -Dprotobuf_BUILD_LIBPROTOC=ON -Dprotobuf_ABSL_PROVIDER=package"
+# XXX: Tests require that the abseil-cpp provides absl::scoped_mock_log
+configure_args+=" -Dprotobuf_BUILD_TESTS=OFF"
+makedepends="zlib-devel gtest-devel libatomic-devel
+ abseil-cpp-devel"
 short_desc="Protocol buffers compiler"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
 changelog="https://raw.githubusercontent.com/google/protobuf/master/CHANGES.txt"
-_googletest_commit="5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081"
-distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz
- https://github.com/google/googletest/archive/${_googletest_commit}.tar.gz"
-checksum="22fdaf641b31655d4b2297f9981fa5203b2866f8332d3c6333f6b0107bb320de
- 0e2f36e8e403c125fd0ab02171bdb786d3b6b3875b6ccf3b2eb7969be8faecd0"
+distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz"
+checksum=a700a49470d301f1190a487a923b5095bf60f08f4ae4cac9f5f7c36883d17971
 
 # Switch to versioned package
 conflicts="protobuf18>=0 protobuf23>=0 protobuf24>=0
@@ -26,24 +26,11 @@ replaces="${conflicts}"
 if [ "$CROSS_BUILD" ]; then
 	# needs host protoc
 	hostmakedepends+=" ${pkgname}"
-	configure_args+=" --with-protoc=/usr/bin/protoc"
+	configure_args+=" -Dprotobuf_PROTOC_EXE=/usr/bin/protoc"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-	LDFLAGS+=" -latomic"
-fi
-
-post_extract() {
-	rmdir "${build_wrksrc}/third_party/googletest"
-	mv "googletest-${_googletest_commit}" "${build_wrksrc}/third_party/googletest"
-}
-
-pre_configure() {
-	autoreconf -fi
-}
-
 post_install() {
+	rm -rf "${DESTDIR}/usr/lib/cmake"
 	vlicense LICENSE
 }
 
@@ -80,7 +67,6 @@ libprotoc-devel_package() {
 	 libprotoc26-devel>=0 libprotoc28-devel>=0"
 	replaces="${conflicts}"
 	pkg_install() {
-		vmove usr/lib/libprotoc.a
 		vmove usr/lib/libprotoc.so
 		vmove usr/include/google/protobuf/compiler
 	}
@@ -89,7 +75,8 @@ libprotoc-devel_package() {
 protobuf-devel_package() {
 	depends="zlib-devel
 	 libprotobuf-${version}_${revision}
-	 libprotobuf-lite-${version}_${revision}"
+	 libprotobuf-lite-${version}_${revision}
+	 abseil-cpp-devel"
 	short_desc="Protocol buffers C++ library - development files"
 	# Switch to versioned package
 	conflicts="protobuf18-devel>=0 protobuf23-devel>=0
@@ -98,10 +85,9 @@ protobuf-devel_package() {
 	replaces="${conflicts}"
 	pkg_install() {
 		vmove usr/include
-		vmove usr/lib/libprotobuf.a
-		vmove usr/lib/libprotobuf-lite.a
 		vmove usr/lib/libprotobuf.so
 		vmove usr/lib/libprotobuf-lite.so
 		vmove usr/lib/pkgconfig
+		vmove "usr/lib/*.a"
 	}
 }

From 9bccf6aee2e776be6b7e05a641821f5fec675a8f Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 10/34] EternalTerminal: rebuild against protobuf-23.3_1

---
 srcpkgs/EternalTerminal/patches/limits.patch | 10 ++++++++++
 srcpkgs/EternalTerminal/template             |  2 +-
 2 files changed, 11 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/EternalTerminal/patches/limits.patch

diff --git a/srcpkgs/EternalTerminal/patches/limits.patch b/srcpkgs/EternalTerminal/patches/limits.patch
new file mode 100644
index 000000000000..9226bd45001a
--- /dev/null
+++ b/srcpkgs/EternalTerminal/patches/limits.patch
@@ -0,0 +1,10 @@
+--- a/EternalTerminal/external_imported/cxxopts/include/cxxopts.hpp	2022-05-05 17:20:44.000000000 +0200
++++ -	2023-07-10 20:07:25.607948589 +0200
+@@ -37,6 +37,7 @@
+ #include <unordered_map>
+ #include <unordered_set>
+ #include <vector>
++#include <limits>
+ 
+ #ifdef __cpp_lib_optional
+ #include <optional>
diff --git a/srcpkgs/EternalTerminal/template b/srcpkgs/EternalTerminal/template
index 1017a1b4a1ec..156eab6ce47e 100644
--- a/srcpkgs/EternalTerminal/template
+++ b/srcpkgs/EternalTerminal/template
@@ -1,7 +1,7 @@
 # Template file for 'EternalTerminal'
 pkgname=EternalTerminal
 version=6.2.1
-revision=1
+revision=2
 # revisions used for the specific versions of submodules.
 # they can be found in the external/ directory of the source code.
 _sanitizers_gitrev="99e159ec9bc8dd362b08d18436bd40ff0648417b"

From 986df5b350313696ec57f400c5afac12cc4c9b55 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 11/34] vlc: rebuild against protobuf-23.3_1

---
 srcpkgs/vlc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vlc/template b/srcpkgs/vlc/template
index 210762b0a7e2..651c94a1353a 100644
--- a/srcpkgs/vlc/template
+++ b/srcpkgs/vlc/template
@@ -1,7 +1,7 @@
 # Template file for 'vlc'
 pkgname=vlc
 version=3.0.18
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--disable-gme --disable-libtar --enable-jack
  --enable-live555 --disable-fluidsynth --enable-dvdread

From d0fed1c54435881af8c962c4c84cf617a7bfe5d6 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 12/34] mixxx: rebuild against protobuf-23.3_1

---
 srcpkgs/mixxx/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mixxx/template b/srcpkgs/mixxx/template
index 619ddca0d332..4b9ea00d3fb3 100644
--- a/srcpkgs/mixxx/template
+++ b/srcpkgs/mixxx/template
@@ -1,7 +1,7 @@
 # Template file for 'mixxx'
 pkgname=mixxx
 version=2.3.3
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="extra-cmake-modules pkg-config protobuf qt5-host-tools qt5-devel"

From bdced854dc9e6c85ef36464d6b734bd8b96a6347 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 13/34] telegram-desktop: rebuild against protobuf-23.3_1

---
 srcpkgs/telegram-desktop/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/telegram-desktop/template b/srcpkgs/telegram-desktop/template
index f114b2341dc5..9db9f80c1a53 100644
--- a/srcpkgs/telegram-desktop/template
+++ b/srcpkgs/telegram-desktop/template
@@ -1,7 +1,7 @@
 # Template file for 'telegram-desktop'
 pkgname=telegram-desktop
 version=4.8.1
-revision=3
+revision=4
 build_style=cmake
 build_helper="qemu"
 configure_args="-DTDESKTOP_API_ID=209235

From 1da68f2ac5c176c2a3edb23d58bcde0a218ea25a Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:56 +0200
Subject: [PATCH 14/34] usbguard: rebuild against protobuf-23.3_1

---
 srcpkgs/usbguard/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/usbguard/template b/srcpkgs/usbguard/template
index 8625c80a7eda..df4411202568 100644
--- a/srcpkgs/usbguard/template
+++ b/srcpkgs/usbguard/template
@@ -1,7 +1,7 @@
 # Template file for 'usbguard'
 pkgname=usbguard
 version=1.1.2
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-crypto-library=sodium --with-bundled-catch --with-bundled-pegtl"
 conf_files="/etc/usbguard/*"

From 42aff316e19aa152a14aceeab691241350d13b07 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 15/34] nsjail: rebuild against protobuf-23.3_1

---
 srcpkgs/nsjail/patches/cpp17.patch       | 11 +++++++++
 srcpkgs/nsjail/patches/kafel-bison.patch | 30 ------------------------
 srcpkgs/nsjail/patches/ldflags.patch     | 11 +++++++++
 srcpkgs/nsjail/patches/log.patch         | 24 +++++++++++++++++++
 srcpkgs/nsjail/template                  | 13 +++++-----
 5 files changed, 53 insertions(+), 36 deletions(-)
 create mode 100644 srcpkgs/nsjail/patches/cpp17.patch
 delete mode 100644 srcpkgs/nsjail/patches/kafel-bison.patch
 create mode 100644 srcpkgs/nsjail/patches/ldflags.patch
 create mode 100644 srcpkgs/nsjail/patches/log.patch

diff --git a/srcpkgs/nsjail/patches/cpp17.patch b/srcpkgs/nsjail/patches/cpp17.patch
new file mode 100644
index 000000000000..384ff7b51258
--- /dev/null
+++ b/srcpkgs/nsjail/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/Makefile	2022-11-22 22:25:15.000000000 +0100
++++ -	2023-07-08 16:35:16.308351723 +0200
+@@ -32,7 +32,7 @@
+ 	-Ikafel/include
+ 
+ CXXFLAGS += $(USER_DEFINES) $(COMMON_FLAGS) $(shell pkg-config --cflags protobuf) \
+-	-std=c++14 -fno-exceptions -Wno-unused -Wno-unused-parameter
++	-std=c++17 -fno-exceptions -Wno-unused -Wno-unused-parameter
+ LDFLAGS += -pie -Wl,-z,noexecstack -lpthread $(shell pkg-config --libs protobuf)
+ 
+ BIN = nsjail
diff --git a/srcpkgs/nsjail/patches/kafel-bison.patch b/srcpkgs/nsjail/patches/kafel-bison.patch
deleted file mode 100644
index 48eff0d36369..000000000000
--- a/srcpkgs/nsjail/patches/kafel-bison.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 32768d3cc8cecbc30d9020dbfa8d9ec541d057e4 Mon Sep 17 00:00:00 2001
-From: Evangelos Foutras <evangelos@foutrelis.com>
-Date: Wed, 17 Mar 2021 16:36:40 +0200
-Subject: [PATCH] Replace YYUSE call with void cast in src/parser.y
-
-The YYUSE macro was renamed to YY_USE in bison 3.7.5; we might as well
-avoid using it altogether and cast the unused variable to void instead.
-
-Fixes the following linker error:
-
-/usr/bin/ld: kafel/libkafel.a(libkafel.o): in function `kafel_yyerror':
-arm_syscalls.c:(.text+0x6984): undefined reference to `YYUSE'
----
- src/parser.y | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git kafel/src/parser.y kafel/src/parser.y
-index e0f109c..0e01373 100644
---- a/kafel/src/parser.y
-+++ b/kafel/src/parser.y
-@@ -420,8 +420,8 @@ const_def
- 
- void yyerror(YYLTYPE * loc, struct kafel_ctxt* ctxt, yyscan_t scanner,
-              const char *msg) {
-+  (void)scanner; /* suppress unused-parameter warning */
-   if (!ctxt->lexical_error) {
--    YYUSE(scanner);
-     if (loc->filename != NULL) {
-       append_error(ctxt, "%s:%d:%d: %s", loc->filename, loc->first_line, loc->first_column, msg);
-     } else {
diff --git a/srcpkgs/nsjail/patches/ldflags.patch b/srcpkgs/nsjail/patches/ldflags.patch
new file mode 100644
index 000000000000..c039ea09e237
--- /dev/null
+++ b/srcpkgs/nsjail/patches/ldflags.patch
@@ -0,0 +1,11 @@
+--- a/kafel/src/Makefile	2023-07-08 16:40:45.058218240 +0200
++++ -	2023-07-08 16:54:04.459715051 +0200
+@@ -56,7 +56,7 @@
+ 	$(CC) $(CFLAGS) -Wl,-soname,$@.${VERSION} -shared $^ -o $@
+ 
+ ${STATIC_TARGET}: ${OBJECTS}
+-	$(LD) $(LDFLAGS) -r ${OBJECTS} -o libkafel_r.o
++	$(LD) -r ${OBJECTS} -o libkafel_r.o
+ 	# Fix x86 PIC symbols
+ 	$(OBJDUMP) -t libkafel_r.o | grep '.hidden' | grep -v 'get_pc_thunk' | sed -e 's/^.*\.hidden //' > libkafel.localize_symbols
+ 	$(OBJCOPY) -w --localize-symbols=libkafel.localize_symbols libkafel_r.o libkafel.o
diff --git a/srcpkgs/nsjail/patches/log.patch b/srcpkgs/nsjail/patches/log.patch
new file mode 100644
index 000000000000..9e7f12368076
--- /dev/null
+++ b/srcpkgs/nsjail/patches/log.patch
@@ -0,0 +1,24 @@
+diff --git a/config.cc b/config.cc
+index 5242ba4..bbb2b6d 100644
+--- a/config.cc
++++ b/config.cc
+@@ -302,11 +302,6 @@ static bool configParseInternal(nsjconf_t* nsjconf, const nsjail::NsJailConfig&
+ 	return true;
+ }
+ 
+-static void LogHandler(
+-    google::protobuf::LogLevel level, const char* filename, int line, const std::string& message) {
+-	LOG_W("config.cc: '%s'", message.c_str());
+-}
+-
+ bool parseFile(nsjconf_t* nsjconf, const char* file) {
+ 	LOG_D("Parsing configuration from '%s'", file);
+ 
+@@ -316,7 +311,6 @@ bool parseFile(nsjconf_t* nsjconf, const char* file) {
+ 		return false;
+ 	}
+ 
+-	SetLogHandler(LogHandler);
+ 	google::protobuf::io::FileInputStream input(fd);
+ 	input.SetCloseOnDelete(true);
+ 
diff --git a/srcpkgs/nsjail/template b/srcpkgs/nsjail/template
index 346348fdf17b..5c5d0a508f38 100644
--- a/srcpkgs/nsjail/template
+++ b/srcpkgs/nsjail/template
@@ -1,7 +1,7 @@
 # Template file for 'nsjail'
 pkgname=nsjail
-version=3.0
-revision=9
+version=3.3
+revision=1
 create_wrksrc=yes
 build_style=gnu-makefile
 hostmakedepends="bison flex pkg-config protobuf which"
@@ -11,9 +11,9 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="http://nsjail.com"
 distfiles="https://github.com/google/nsjail/archive/${version}.tar.gz
- https://github.com/google/kafel/archive/8e69b8efae415cde3debffbb1e379d9e7a16835a.tar.gz"
-checksum="cfa66d3ed136b2e221752287b95e544915e8a6760aa866f023b604d14a374919
- 4a6c9a1a70ed99bbed767adc106081b017a3090307ea88cc7e329b82daa1373b"
+ https://github.com/google/kafel/archive/1af0975af45ca4404f357b9a4e1636f53a01bfd3.tar.gz"
+checksum="9c247d0cba565b4e3f91cc76e827ddf7f3ad499f54ba611edd25d4d7be4890c3
+ e8c195a2a08daa70c7712adae3eaa01656b039dcc8cc1e5e8210006716761ad5"
 
 archs="aarch64* armv5tel* armv6l* armv7l* x86_64*"
 
@@ -28,7 +28,8 @@ post_extract() {
 }
 
 post_patch() {
-	sed -i -e 's/-Werror\b//g' -e 's/\b\(\(C\(XX\)\?\|LD\)FLAGS\s*+=\)/override \1/g' Makefile kafel/build/Makefile.mk kafel/src/Makefile
+	vsed -e 's/-Werror\b//g' -i Makefile kafel/build/Makefile.mk
+	vsed -e 's/\b\(\(C\(XX\)\?\|LD\)FLAGS\s*+=\)/override \1/g' -i Makefile kafel/build/Makefile.mk kafel/src/Makefile
 }
 
 do_install() {

From a660f86f0a3d2c26009014248077fd5784f2d719 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 16/34] netdata: rebuild against protobuf-23.3_1

---
 srcpkgs/netdata/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 18dbe4394a4e..781120b3f275 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -1,7 +1,7 @@
 # Template file for 'netdata'
 pkgname=netdata
 version=1.37.1
-revision=1
+revision=2
 build_style=gnu-configure
 build_helper=qemu
 configure_args="--with-user=_netdata ac_cv_file_externaldeps_libbpf_libbpf_a=no

From 18a7b9026d1e56646affaf069287f22590b5b01e Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 17/34] mumble: rebuild against protobuf-23.3_1

---
 srcpkgs/mumble/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/mumble/patches/musl.patch  | 14 ++++++++++++++
 srcpkgs/mumble/template            |  2 +-
 3 files changed, 26 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/mumble/patches/cpp17.patch
 create mode 100644 srcpkgs/mumble/patches/musl.patch

diff --git a/srcpkgs/mumble/patches/cpp17.patch b/srcpkgs/mumble/patches/cpp17.patch
new file mode 100644
index 000000000000..7cb9c9a93355
--- /dev/null
+++ b/srcpkgs/mumble/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- mumble-1.4.287/CMakeLists.txt	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-07-10 20:12:27.869019033 +0200
+@@ -35,7 +35,7 @@
+ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/3rdparty")
+ set(PLUGINS_DIR "${CMAKE_SOURCE_DIR}/plugins")
+ 
+-set(CMAKE_CXX_STANDARD 14)
++set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_OSX_DEPLOYMENT_TARGET 10.13)
+ 
+ list(APPEND CMAKE_MODULE_PATH
diff --git a/srcpkgs/mumble/patches/musl.patch b/srcpkgs/mumble/patches/musl.patch
new file mode 100644
index 000000000000..49d83a422b8e
--- /dev/null
+++ b/srcpkgs/mumble/patches/musl.patch
@@ -0,0 +1,14 @@
+Newer musl expands NULL to nullptr, which is not a bool.
+Either way, the check is always true with openssl 1.1+, so it can probably removed alltogether
+---
+--- mumble-1.4.287/src/SSL.cpp	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-02-07 22:18:16.093759105 +0100
+@@ -33,7 +34,7 @@
+ 	// If we detect that no locking callback is configured, we
+ 	// have to set it up ourselves to allow multi-threaded use
+ 	// of OpenSSL.
+-	if (!CRYPTO_get_locking_callback()) {
++	if (CRYPTO_get_locking_callback() == NULL) {
+ 		SSLLocks::initialize();
+ 	}
+ }
diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 35c2728c74ce..5c30d4ae64b4 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.4.287
-revision=3
+revision=4
 build_style=cmake
 make_cmd=make
 configure_args="-Doverlay-xcompile=OFF -Dbundled-opus=OFF

From ec299deaeb4d04c8a46fdfcf4ca50fac0c047829 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 18/34] mumble: rebuild against protobuf-23.3_1

---
 srcpkgs/mumble/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 5c30d4ae64b4..3dc669705365 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.4.287
-revision=4
+revision=5
 build_style=cmake
 make_cmd=make
 configure_args="-Doverlay-xcompile=OFF -Dbundled-opus=OFF

From 94fe9a82bc1b9c82c35aeac5900575f510437d00 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 19/34] mozc: statically link against vendored prootbuf

protobuf 23+ links against abseil, which conflicts with the vendored
abseil version in mozc. The build system does not have a flag to use
system abseil.
---
 srcpkgs/mozc/template | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/mozc/template b/srcpkgs/mozc/template
index 3fdb986b3213..e7735cb57f4f 100644
--- a/srcpkgs/mozc/template
+++ b/srcpkgs/mozc/template
@@ -3,16 +3,17 @@ pkgname=mozc
 # src/data/version/mozc_version_template.bzl
 # revision is always 102, template always says 100 ;)
 version=2.28.4800.102
-revision=1
+revision=2
 _commit=056163a5fddbb261b258beb8444998e4882f0cc5
 _abseil=20211102.0
+_protobuf_commit=cc7b1b53234cd7a8f50d90ac3933b240dcf4cd97
 _gyp=0.1+20220404git9ecf45e
 _jpn_dict=e5b3425575734c323e1d947009dd74709437b684
 create_wrksrc=yes
 build_wrksrc=mozc/src
-hostmakedepends="gettext ninja pkg-config protobuf protobuf-devel
+hostmakedepends="gettext ninja pkg-config
  python3-six which qt5-qmake qt5-host-tools"
-makedepends="gtk+-devel ibus-devel libzinnia-devel protobuf-devel qt5-devel
+makedepends="gtk+-devel ibus-devel libzinnia-devel qt5-devel
  fcitx-devel libfcitx5-devel"
 depends="tegaki-zinnia-japanese>=0.3 mozc-base-${version}_${revision}"
 short_desc="Japanese IME (Open Source version of Google Japanese Input)"
@@ -22,11 +23,13 @@ homepage="https://github.com/google/mozc"
 distfiles="
  https://github.com/fcitx/mozc/archive/$_commit.tar.gz
  https://github.com/abseil/abseil-cpp/archive/refs/tags/$_abseil.tar.gz
+ https://github.com/protocolbuffers/protobuf/archive/$_protobuf_commit.tar.gz
  ${DEBIAN_SITE}/main/g/gyp/gyp_$_gyp.orig.tar.xz
  https://github.com/hiroyuki-komatsu/japanese-usage-dictionary/archive/$_jpn_dict.tar.gz
 "
 checksum="259d87bfd7535ad03bd554185677d7345a90166353a6db0b6a3606183ad2923d
  dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4
+ 863e27f6d24f40bce2bbfe5adcf365f2af5479ea917f254331ee60ce88f8c8a5
  0325006f012db66dfa27bf7bb048f3fe38f96e512ebe065930cbc70bcdc06bc9
  0b6efee0eebac2c1a8eeea333278aa40fcef7846bba9a379962c6e567e7e3dc1"
 
@@ -47,7 +50,8 @@ post_extract() {
 	# symlink "submodules" into place
 	for _src_dest in gyp \
 		abseil-cpp \
-		japanese-usage-dictionary:japanese_usage_dictionary
+		japanese-usage-dictionary:japanese_usage_dictionary \
+		protobuf
 	do
 		_src=${_src_dest%:*}
 		_dst=${_src_dest#*:}
@@ -61,7 +65,6 @@ do_configure() {
 	GYP_DEFINES="
 	 document_dir=/usr/share/licenses/${pkgname}
 	 ibus_mozc_path=/usr/libexec/ibus-engine-mozc
-	 use_libprotobuf=1
 	 use_libzinnia=1
 	 ${XBPS_TARGET_NO_ATOMIC8:+use_libatomic=1}
 	" python3 build_mozc.py gyp --target_platform=Linux

From caaf0b548295af185f5ca74c7c59c3cd8f298d9c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 20/34] mosh: rebuild against protobuf-23.3_1

---
 srcpkgs/mosh/patches/cpp17.patch | 14 ++++++++++++++
 srcpkgs/mosh/template            |  5 +++--
 2 files changed, 17 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/mosh/patches/cpp17.patch

diff --git a/srcpkgs/mosh/patches/cpp17.patch b/srcpkgs/mosh/patches/cpp17.patch
new file mode 100644
index 000000000000..5463adc2718b
--- /dev/null
+++ b/srcpkgs/mosh/patches/cpp17.patch
@@ -0,0 +1,14 @@
+--- a/configure.ac	2022-10-27 05:29:47.000000000 +0200
++++ -	2023-07-08 13:19:05.270079012 +0200
+@@ -22,9 +22,9 @@
+ # automake 1.12 seems to require this, but automake 1.11 doesn't recognize it
+ m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+ 
+-# Protobuf 3.6+ requires C++11.
++# Protobuf 3.6+ requires C++11., 4.2.2 with abseil requires C++17
+ AS_IF([pkg-config --atleast-version 3.6.0 protobuf],
+-  [AX_CXX_COMPILE_STDCXX([11])])
++  [AX_CXX_COMPILE_STDCXX([17])])
+ 
+ WARNING_CXXFLAGS=""
+ PICKY_CXXFLAGS=""
diff --git a/srcpkgs/mosh/template b/srcpkgs/mosh/template
index 173ba14bcd47..d252a0c29755 100644
--- a/srcpkgs/mosh/template
+++ b/srcpkgs/mosh/template
@@ -1,9 +1,9 @@
 # Template file for 'mosh'
 pkgname=mosh
 version=1.4.0
-revision=3
+revision=4
 build_style=gnu-configure
-hostmakedepends="perl pkg-config protobuf"
+hostmakedepends="perl pkg-config protobuf autoconf automake"
 makedepends="ncurses-devel protobuf-devel libutempter-devel openssl-devel"
 depends="perl-IO-Tty"
 short_desc="Mobile shell, remote terminal application that allows roaming"
@@ -16,4 +16,5 @@ checksum=872e4b134e5df29c8933dff12350785054d2fd2839b5ae6b5587b14db1465ddd
 pre_configure() {
 	# make local.test always succeed. It fails due to missing X server in chroot.
 	printf "%s\n" "#!/bin/sh" ":" > src/tests/local.test
+	autoreconf -fi
 }

From 072119c314844f6e3afdd58cfc54b5cfab4c89a1 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 21/34] libcompizconfig: rebuild against protobuf-23.3_1

---
 srcpkgs/libcompizconfig/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libcompizconfig/template b/srcpkgs/libcompizconfig/template
index 5b59eda97c78..3fb33698bfa6 100644
--- a/srcpkgs/libcompizconfig/template
+++ b/srcpkgs/libcompizconfig/template
@@ -1,7 +1,7 @@
 # Template file for 'libcompizconfig'
 pkgname=libcompizconfig
 version=0.8.18
-revision=10
+revision=11
 build_style=gnu-configure
 configure_args="--disable-static"
 hostmakedepends="automake intltool libtool pkg-config protobuf"

From d69a35fdcd31fb61587ecaa34139efacb810b090 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 22/34] libArcus: rebuild against protobuf-23.3_1

---
 srcpkgs/libArcus/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libArcus/template b/srcpkgs/libArcus/template
index d6fedecc5599..1cf1b866d650 100644
--- a/srcpkgs/libArcus/template
+++ b/srcpkgs/libArcus/template
@@ -1,7 +1,7 @@
 # Template file for 'libArcus'
 pkgname=libArcus
 version=4.13.1
-revision=4
+revision=5
 build_style=cmake
 configure_args="-DBUILD_EXAMPLES=OFF"
 hostmakedepends="protobuf python3-sip-devel"

From cf1ea6970ef2c39b9970bfd97fd971e52d1ee5ae Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 23/34] kismet: rebuild against protobuf-23.3_1

---
 srcpkgs/kismet/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/kismet/template b/srcpkgs/kismet/template
index 48a0fc5fa6f1..46cbf7b31811 100644
--- a/srcpkgs/kismet/template
+++ b/srcpkgs/kismet/template
@@ -1,7 +1,7 @@
 # Template file for 'kismet'
 pkgname=kismet
 version=2022.08.R1
-revision=2
+revision=3
 _realver="${version//./-}"
 build_style=gnu-configure
 configure_args="--disable-python-tools"

From 3f8cce658a16557bd550fde7a1b46abf05f2a0e5 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 24/34] cura-engine: rebuild against protobuf-23.3_1

---
 srcpkgs/cura-engine/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cura-engine/template b/srcpkgs/cura-engine/template
index 4f3118d30252..1f23ddace749 100644
--- a/srcpkgs/cura-engine/template
+++ b/srcpkgs/cura-engine/template
@@ -1,7 +1,7 @@
 # Template file for 'cura-engine'
 pkgname=cura-engine
 version=4.13.1
-revision=3
+revision=4
 build_style=cmake
 configure_args="-DCURA_ENGINE_VERSION=${version}"
 hostmakedepends="protobuf git"

From f6942005e204538b35c51d39707514e67bda7307 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 25/34] clementine: rebuild against protobuf-23.3_1

---
 srcpkgs/clementine/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/clementine/template b/srcpkgs/clementine/template
index acd098124529..a1cacbb73d8e 100644
--- a/srcpkgs/clementine/template
+++ b/srcpkgs/clementine/template
@@ -1,11 +1,11 @@
 # Template file for 'clementine'
 pkgname=clementine
 version=1.4.0rc1
-revision=10
+revision=11
 _fullver=${version}-873-g3471134d5
 build_style=cmake
 configure_args="-DUSE_SYSTEM_TAGLIB=ON -DBUILD_WERROR=OFF -DUSE_SYSTEM_PROJECTM=ON
- -DFORCE_GIT_REVISION=${_fullver}"
+ -DFORCE_GIT_REVISION=${_fullver} -DCMAKE_CXX_STANDARD=17"
 hostmakedepends="gettext sparsehash pkg-config qt5-qmake qt5-host-tools protobuf"
 makedepends="chromaprint-devel boost-devel gst-plugins-base1-devel
  qt5-devel glew-devel sqlite-devel protobuf-devel libplist-devel

From 60a72615cc643f00225e9ef68541ee50931da30e Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 26/34] bloaty: rebuild against protobuf-23.3_1

---
 srcpkgs/bloaty/patches/cpp17.patch         | 20 ++++++++
 srcpkgs/bloaty/patches/system-abseil.patch | 58 ++++++++++++++++++++++
 srcpkgs/bloaty/template                    |  2 +-
 3 files changed, 79 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/bloaty/patches/cpp17.patch
 create mode 100644 srcpkgs/bloaty/patches/system-abseil.patch

diff --git a/srcpkgs/bloaty/patches/cpp17.patch b/srcpkgs/bloaty/patches/cpp17.patch
new file mode 100644
index 000000000000..ca458dd79fb6
--- /dev/null
+++ b/srcpkgs/bloaty/patches/cpp17.patch
@@ -0,0 +1,20 @@
+--- bloaty-1.1/CMakeLists.txt	2020-05-24 06:43:55.000000000 +0200
++++ -	2023-07-08 12:51:24.115742363 +0200
+@@ -2,7 +2,7 @@
+ cmake_policy(SET CMP0048 NEW)
+ project (Bloaty VERSION 1.0)
+ project (Bloaty VERSION 1.1)
+-set(CMAKE_CXX_STANDARD 11)
++set(CMAKE_CXX_STANDARD 17)
+ 
+ # Options we define for users.
+ option(BLOATY_ENABLE_ASAN "Enable address sanitizer." OFF)
+@@ -93,7 +93,7 @@
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/src")
+ 
+ # Baseline build flags.
+-set(CMAKE_CXX_FLAGS "-std=c++11 -W -Wall -Wno-sign-compare")
++set(CMAKE_CXX_FLAGS "-W -Wall -Wno-sign-compare")
+ set(CMAKE_CXX_FLAGS_DEBUG "-g1")
+ set(CMAKE_CXX_FLAGS_RELEASE "-O2")
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g1")
diff --git a/srcpkgs/bloaty/patches/system-abseil.patch b/srcpkgs/bloaty/patches/system-abseil.patch
new file mode 100644
index 000000000000..799e10a3b540
--- /dev/null
+++ b/srcpkgs/bloaty/patches/system-abseil.patch
@@ -0,0 +1,58 @@
+--- bloaty-1.1/CMakeLists.txt	2020-05-24 06:43:55.000000000 +0200
++++ -	2023-07-08 13:07:06.559266321 +0200
+@@ -35,6 +35,12 @@
+   MESSAGE(STATUS "pkg-config not found, using bundled dependencies")
+ endif(${PKG_CONFIG_FOUND})
+ endif(UNIX)
++find_package(absl CONFIG)
++if(absl_FOUND)
++  MESSAGE(STATUS "System absl found, using")
++else()
++  MESSAGE(STATUS "System absl not found, using bundled version")
++endif()
+ 
+ # Set default build type.
+ if(NOT CMAKE_BUILD_TYPE)
+@@ -89,7 +95,6 @@
+ 
+ include_directories(.)
+ include_directories(src)
+-include_directories(third_party/abseil-cpp)
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/src")
+ 
+ # Baseline build flags.
+@@ -159,24 +164,6 @@
+     src/macho.cc
+     src/range_map.cc
+     src/webassembly.cc
+-    # Until Abseil has a proper CMake build system
+-    third_party/abseil-cpp/absl/base/internal/raw_logging.cc # Grrrr...
+-    third_party/abseil-cpp/absl/base/internal/throw_delegate.cc
+-    third_party/abseil-cpp/absl/numeric/int128.cc
+-    third_party/abseil-cpp/absl/strings/ascii.cc
+-    third_party/abseil-cpp/absl/strings/charconv.cc
+-    third_party/abseil-cpp/absl/strings/escaping.cc
+-    third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc
+-    third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc
+-    third_party/abseil-cpp/absl/strings/internal/memutil.cc
+-    third_party/abseil-cpp/absl/strings/internal/utf8.cc
+-    third_party/abseil-cpp/absl/strings/match.cc
+-    third_party/abseil-cpp/absl/strings/numbers.cc
+-    third_party/abseil-cpp/absl/strings/str_cat.cc
+-    third_party/abseil-cpp/absl/strings/string_view.cc
+-    third_party/abseil-cpp/absl/strings/str_split.cc
+-    third_party/abseil-cpp/absl/strings/substitute.cc
+-    third_party/abseil-cpp/absl/types/bad_optional_access.cc
+     # One source file, no special build system needed.
+     third_party/demumble/third_party/libcxxabi/cxa_demangle.cpp
+     )
+@@ -214,6 +201,9 @@
+   endif(${PROTOBUF_FOUND})
+ endif(UNIX)
+ 
++list(APPEND LIBBLOATY_LIBS absl::strings)
++list(APPEND LIBBLOATY_LIBS absl::optional)
++
+ if(DEFINED ENV{LIB_FUZZING_ENGINE})
+   message("LIB_FUZZING_ENGINE set, building fuzz_target instead of Bloaty")
+   add_executable(fuzz_target tests/fuzz_target.cc)
diff --git a/srcpkgs/bloaty/template b/srcpkgs/bloaty/template
index 226d2f30ffcd..2a79fb502f99 100644
--- a/srcpkgs/bloaty/template
+++ b/srcpkgs/bloaty/template
@@ -1,7 +1,7 @@
 # Template file for 'bloaty'
 pkgname=bloaty
 version=1.1
-revision=11
+revision=12
 build_style=cmake
 hostmakedepends="pkg-config protobuf"
 makedepends="capstone-devel protobuf-devel re2-devel zlib-devel"

From d38c667381a07f5d91aa3e547e549d3b7989f67e Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 27/34] astroid: rebuild against protobuf-23.3_1

---
 srcpkgs/astroid/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/astroid/template            |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/astroid/patches/cpp17.patch

diff --git a/srcpkgs/astroid/patches/cpp17.patch b/srcpkgs/astroid/patches/cpp17.patch
new file mode 100644
index 000000000000..9ac9a9f952e6
--- /dev/null
+++ b/srcpkgs/astroid/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- astroid-0.16/CMakeLists.txt	2021-08-05 15:31:11.000000000 +0200
++++ -	2023-07-03 21:53:30.304595787 +0200
+@@ -145,7 +145,7 @@
+ # compile flags and options
+ #
+ 
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ 
+ include_directories (
+   ${GTKMM3_INCLUDE_DIRS}
diff --git a/srcpkgs/astroid/template b/srcpkgs/astroid/template
index 25d3da44e024..8fd1c032be2c 100644
--- a/srcpkgs/astroid/template
+++ b/srcpkgs/astroid/template
@@ -1,7 +1,7 @@
 # Template file for 'astroid'
 pkgname=astroid
 version=0.16
-revision=8
+revision=9
 build_style=cmake
 build_helper=gir
 hostmakedepends="pkg-config scdoc protobuf gobject-introspection"

From 3d7e2d810fe38566382a7418af773a23a6aeb088 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 28/34] android-tools: rebuild against protobuf-23.3_1

---
 .../android-tools/patches/protobuf-23.patch   | 31 +++++++++++++++++++
 srcpkgs/android-tools/template                |  2 +-
 2 files changed, 32 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/android-tools/patches/protobuf-23.patch

diff --git a/srcpkgs/android-tools/patches/protobuf-23.patch b/srcpkgs/android-tools/patches/protobuf-23.patch
new file mode 100644
index 000000000000..21012126ea9a
--- /dev/null
+++ b/srcpkgs/android-tools/patches/protobuf-23.patch
@@ -0,0 +1,31 @@
+--- android-tools-34.0.1.orig/vendor/extras/libjsonpb/parse/jsonpb.cpp  2023-06-28 23:15:15.414236253 +0200
++++ android-tools-34.0.1/vendor/extras/libjsonpb/parse/jsonpb.cpp       2023-06-28 23:34:21.672962973 +0200
+@@ -51,7 +51,7 @@
+ #if GOOGLE_PROTOBUF_VERSION < 3016000
+     return MakeError<std::string>(status.error_message().as_string());
+ #else
+-    return MakeError<std::string>(status.message().as_string());
++    return MakeError<std::string>(std::string(status.message()));
+ #endif
+   }
+   return ErrorOr<std::string>(std::move(json));
+@@ -68,7 +68,7 @@
+ #if GOOGLE_PROTOBUF_VERSION < 3016000
+     return MakeError<std::monostate>(status.error_message().as_string());
+ #else
+-    return MakeError<std::monostate>(status.message().as_string());
++    return MakeError<std::monostate>(std::string(status.message()));
+ #endif
+   }
+   if (!message->ParseFromString(binary)) {
+--- a/vendor/CMakeLists.partition.txt	2023-03-03 17:18:50.000000000 +0100
++++ -	2023-07-10 23:06:19.290718502 +0200
+@@ -20,7 +20,7 @@
+ 
+ add_library(libjsonpbparse STATIC
+ 	extras/libjsonpb/parse/jsonpb.cpp)
+-target_link_libraries(libjsonpbparse PRIVATE libbase)
++target_link_libraries(libjsonpbparse PRIVATE libbase absl_status)
+ target_include_directories(libjsonpbparse PUBLIC
+ 	extras/libjsonpb/parse/include)
+ 
diff --git a/srcpkgs/android-tools/template b/srcpkgs/android-tools/template
index 329674482b69..b813474eace0 100644
--- a/srcpkgs/android-tools/template
+++ b/srcpkgs/android-tools/template
@@ -1,7 +1,7 @@
 # Template file for 'android-tools'
 pkgname=android-tools
 version=34.0.1
-revision=1
+revision=2
 archs="armv* aarch64* x86_64* i686* ppc64le*"
 build_style=cmake
 hostmakedepends="perl go protobuf pkg-config"

From 86a7da9e9cfc761c6a5e6423725186d05aa04d17 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:06:25 +0200
Subject: [PATCH 29/34] justbuild: rebuild against grpc-1.56.0_1

---
 srcpkgs/justbuild/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index ee36f6dae575..f933611d1283 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
 # Template file for 'justbuild'
 pkgname=justbuild
 version=1.1.2
-revision=2
+revision=3
 create_wrksrc=yes
 hostmakedepends="jo pandoc pkg-config python3 tar unzip wget"
 makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++

From c17c2d26bbce39ceccd10b7e405b1d3f7ddf4d02 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Wed, 28 Jun 2023 11:07:13 +0200
Subject: [PATCH 30/34] sysdig: update to 0.31.5.

---
 srcpkgs/sysdig/files/libsinsp-zstd.patch      |  22 +
 ...d9aab87801281e22898242e24e0bc63873b2.patch | 557 ++++++++++++++++++
 .../falcosecurity-libs-nodownload.patch       |  28 +
 srcpkgs/sysdig/template                       |  32 +-
 4 files changed, 625 insertions(+), 14 deletions(-)
 create mode 100644 srcpkgs/sysdig/files/libsinsp-zstd.patch
 create mode 100644 srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
 create mode 100644 srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch

diff --git a/srcpkgs/sysdig/files/libsinsp-zstd.patch b/srcpkgs/sysdig/files/libsinsp-zstd.patch
new file mode 100644
index 000000000000..e99e4f7c1207
--- /dev/null
+++ b/srcpkgs/sysdig/files/libsinsp-zstd.patch
@@ -0,0 +1,22 @@
+diff --git a/userspace/libsinsp/CMakeLists.txt b/userspace/libsinsp/CMakeLists.txt
+index 18e59b1..b23e890 100644
+--- a/userspace/libsinsp/CMakeLists.txt
++++ b/userspace/libsinsp/CMakeLists.txt
+@@ -38,6 +38,7 @@ include(ExternalProject)
+ 
+ if(NOT WIN32 AND NOT APPLE)
+ 	include(b64)
++	find_library(ZSTD_LIB NAMES zstd)
+ endif()
+ 
+ include(jsoncpp)
+@@ -246,7 +247,8 @@ if(NOT WIN32)
+ 				"${PROTOBUF_LIB}"
+ 				"${CARES_LIB}"
+ 				"${JQ_LIB}"
+-				"${B64_LIB}")
++				"${B64_LIB}"
++				"${ZSTD_LIB}")
+ 
+ 			if(NOT MUSL_OPTIMIZED_BUILD)
+ 				list(APPEND SINSP_LIBRARIES
diff --git a/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch b/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
new file mode 100644
index 000000000000..54c2ed8d0d98
--- /dev/null
+++ b/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
@@ -0,0 +1,557 @@
+From 3d22309a7317d500f75d053af6f9e5b5b5728b40 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 09:56:04 +0000
+Subject: [PATCH 1/6] update(cmake): bump driver to 5.0.0+driver
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ cmake/modules/driver.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/driver.cmake b/cmake/modules/driver.cmake
+index bee1926d3a..7fd35d7f99 100644
+--- a/cmake/modules/driver.cmake
++++ b/cmake/modules/driver.cmake
+@@ -31,8 +31,8 @@ else()
+   # In case you want to test against another driver version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DDRIVER_VERSION=dev ..`
+   if(NOT DRIVER_VERSION)
+-    set(DRIVER_VERSION "4.0.1+driver")
+-    set(DRIVER_CHECKSUM "SHA256=424d647aa6b6fa45b6701c4bbc9293c161ed00a08254d83eea419c0a736f280d")
++    set(DRIVER_VERSION "5.0.0+driver")
++    set(DRIVER_CHECKSUM "SHA256=c988ca7ac7d174f62d1bfbaaca49efd117f7b329f474d1b46b643635b2e35083")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+
+From 847e602404dcee85f06dde5a1d8ad0c740c49c98 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 09:56:08 +0000
+Subject: [PATCH 2/6] update(cmake): bump libs to 0.11.0-rc1
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ cmake/modules/falcosecurity-libs.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index b345c057ad..f30233b9e3 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -32,8 +32,8 @@ else()
+   # In case you want to test against another falcosecurity/libs version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DFALCOSECURITY_LIBS_VERSION=dev ..`
+   if(NOT FALCOSECURITY_LIBS_VERSION)
+-    set(FALCOSECURITY_LIBS_VERSION "0.10.5")
+-    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=2a4b37c08bec4ba81326314831f341385aff267062e8d4483437958689662936")
++    set(FALCOSECURITY_LIBS_VERSION "0.11.0-rc1")
++    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=bb6e57f66ae85dcda6e695226cd14082d9a1215902909cdde5b83f7abef44d8f")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+
+From 1d1dbaf06265d8eefd4038e8474f71f7958ec840 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 10:43:27 +0000
+Subject: [PATCH 3/6] fix(cmake): solve c++17 compilation issues
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ CMakeLists.txt                         |  3 +++
+ cmake/modules/falcosecurity-libs.cmake | 10 +++++-----
+ 2 files changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0309d66633..6d28c6c67d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -146,6 +146,9 @@ if(NOT DEFINED SYSDIG_COMPONENT_NAME)
+     set(SYSDIG_COMPONENT_NAME "${CMAKE_PROJECT_NAME}")
+ endif()
+ 
++set(CMAKE_CXX_STANDARD 17)
++set(CMAKE_CXX_EXTENSIONS OFF)
++
+ include(falcosecurity-libs)
+ include(yaml-cpp)
+ include(nlohmann-json)
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index f30233b9e3..fe5dacd7ad 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -94,12 +94,12 @@ else()
+ endif()
+ 
+ include(CheckCXXCompilerFlag)
+-CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX14)
+-if(CREATE_TEST_TARGETS AND NOT WIN32 AND COMPILER_SUPPORTS_CXX14)
+-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
++CHECK_CXX_COMPILER_FLAG("-std=c++17" COMPILER_SUPPORTS_CXX17)
++if(CREATE_TEST_TARGETS AND NOT WIN32 AND COMPILER_SUPPORTS_CXX17)
++	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ 	include(gtest)
+-elseif(CREATE_TEST_TARGETS AND NOT COMPILER_SUPPORTS_CXX14)
+-	message(FATAL_ERROR "Your compiler doesn't support c++14: cannot include gtest and create test targets.")
++elseif(CREATE_TEST_TARGETS AND NOT COMPILER_SUPPORTS_CXX17)
++	message(FATAL_ERROR "Your compiler doesn't support c++17: cannot include gtest and create test targets.")
+ endif()
+ 
+ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
+
+From d5fcbad2d5ea63e1439ab7174a5cfd9a7a2e1545 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 10:44:05 +0000
+Subject: [PATCH 4/6] update(userspace): sync sysdig and csysdig with latest
+ libs
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ userspace/sysdig/csysdig.cpp                |  6 +--
+ userspace/sysdig/sysdig.cpp                 |  9 +---
+ userspace/sysdig/utils/plugin_utils.cpp     | 37 ++++++++++-----
+ userspace/sysdig/utils/sinsp_opener.cpp     | 18 ++++----
+ userspace/sysdig/utils/supported_events.cpp | 50 +++++++++++----------
+ userspace/sysdig/utils/supported_fields.cpp | 15 +++----
+ 6 files changed, 70 insertions(+), 65 deletions(-)
+
+diff --git a/userspace/sysdig/csysdig.cpp b/userspace/sysdig/csysdig.cpp
+index 9419882341..edd8129a0e 100644
+--- a/userspace/sysdig/csysdig.cpp
++++ b/userspace/sysdig/csysdig.cpp
+@@ -39,11 +39,11 @@ limitations under the License.
+ #include "chisel.h"
+ #include "chisel_utils.h"
+ #endif
+-#include "fields_info.h"
+ #include "chisel_table.h"
+ #include "utils.h"
+ #include "utils/plugin_utils.h"
+ #include "utils/sinsp_opener.h"
++#include "utils/supported_fields.h"
+ 
+ #ifdef _WIN32
+ #include "win32/getopt.h"
+@@ -704,8 +704,8 @@ sysdig_init_res csysdig_init(int argc, char **argv)
+ 		//
+ 		if(list_flds)
+ 		{
+-			list_fields(false, false);
+-
++			// todo(jasondellaluce): support source selection, verbosity, markdown
++			print_supported_fields(inspector, plugins, "", true, false);
+ 			res.m_res = EXIT_SUCCESS;
+ 			goto exit;
+ 		}
+diff --git a/userspace/sysdig/sysdig.cpp b/userspace/sysdig/sysdig.cpp
+index 40f2b39ef9..a978070d73 100644
+--- a/userspace/sysdig/sysdig.cpp
++++ b/userspace/sysdig/sysdig.cpp
+@@ -43,7 +43,6 @@ limitations under the License.
+ #include "chisel_utils.h"
+ #include "chisel_fields_info.h"
+ #endif
+-#include "fields_info.h"
+ #include "utils.h"
+ #include "plugin.h"
+ #include "plugin_manager.h"
+@@ -455,8 +454,6 @@ void print_summary_table(sinsp* inspector,
+ 						 std::vector<summary_table_entry> &summary_table,
+ 						 uint32_t nentries)
+ {
+-	sinsp_evttables* einfo = inspector->get_event_info_tables();
+-
+ 	std::cout << "----------------------\n";
+ 	std::string tstr = std::string("Event");
+ 	tstr.resize(16, ' ');
+@@ -478,7 +475,7 @@ void print_summary_table(sinsp* inspector,
+ 
+ 		if(e.m_is_unsupported_syscall)
+ 		{
+-			tstr = einfo->m_syscall_info_table[e.m_id / 2].name;
++			tstr = scap_get_ppm_sc_name((ppm_sc_code) (e.m_id / 2));
+ 			tstr.resize(16, ' ');
+ 
+ 			printf("%s%s%" PRIu64 "\n",
+@@ -488,7 +485,7 @@ void print_summary_table(sinsp* inspector,
+ 		}
+ 		else
+ 		{
+-			tstr = einfo->m_event_info[e.m_id].name;
++			tstr = libsinsp::events::info((ppm_event_code) e.m_id)->name;
+ 			tstr.resize(16, ' ');
+ 
+ 			printf("%s%s%" PRIu64 "\n",
+@@ -1862,8 +1859,6 @@ sysdig_init_res sysdig_init(int argc, char **argv)
+ 					res.m_res = EXIT_FAILURE;
+ 					goto exit;
+ 				}
+-
+-				inspector->filter_proc_table_when_saving(true);
+ 			}
+ 			else
+ 			{
+diff --git a/userspace/sysdig/utils/plugin_utils.cpp b/userspace/sysdig/utils/plugin_utils.cpp
+index ad69543b3e..b99de98b66 100644
+--- a/userspace/sysdig/utils/plugin_utils.cpp
++++ b/userspace/sysdig/utils/plugin_utils.cpp
+@@ -146,6 +146,7 @@ void plugin_utils::plugin_entry::init(sinsp *inspector)
+     }
+     if (plugin->caps() & CAP_EXTRACTION)
+     {
++        // todo(jasondellaluce): manage field name conflicts
+         g_filterlist.add_filter_check(sinsp_plugin::new_filtercheck(plugin));
+     }
+     inited = true;
+@@ -185,13 +186,30 @@ void plugin_utils::plugin_entry::print_info(sinsp* inspector, std::ostringstream
+     os << "Capabilities: " << std::endl;
+     if(plugin->caps() & CAP_SOURCING)
+     {
+-        os << "  - Event Sourcing (ID=" << plugin->id();
+-        os << ", source='" << plugin->event_source() << "')" << std::endl;
++        os << "  - Event Sourcing";
++        if (plugin->id() != 0)
++        {
++            os << " (ID=" << plugin->id();
++            os << ", source='" << plugin->event_source() << "')";
++        }
++        else
++        {
++            os << " (system events)";
++        }
++        os << std::endl;
+     }
+     if(plugin->caps() & CAP_EXTRACTION)
+     {
+         os << "  - Field Extraction" << std::endl;
+     }
++    if(plugin->caps() & CAP_PARSING)
++    {
++        os << "  - Event Parsing" << std::endl;
++    }
++    if(plugin->caps() & CAP_ASYNC)
++    {
++        os << "  - Async Events" << std::endl;
++    }
+ }
+ 
+ void plugin_utils::add_dir(std::string dirname, bool front_add)
+@@ -609,7 +627,7 @@ std::vector<std::string> plugin_utils::get_event_sources(sinsp *inspector)
+         // the plugin, in case it was not registered already
+         pl.get_plugin(inspector);
+     }
+-    return inspector->get_plugin_manager()->sources();
++    return inspector->event_sources();
+ }
+ 
+ std::vector<std::unique_ptr<sinsp_filter_check>> plugin_utils::get_filterchecks(sinsp *inspector, const std::string& source)
+@@ -617,16 +635,13 @@ std::vector<std::unique_ptr<sinsp_filter_check>> plugin_utils::get_filterchecks(
+     std::vector<std::unique_ptr<sinsp_filter_check>> list;
+     list.push_back(std::unique_ptr<sinsp_filter_check>(inspector->new_generic_filtercheck()));
+ 
+-    // todo(jasondellaluce): remove this once we support extracting plugin fields from syscalls
+-    if (source != s_syscall_source)
++    for (auto &pl : m_plugins)
+     {
+-        for (auto &pl : m_plugins)
++        auto plugin = pl.get_plugin(inspector);
++        if (plugin->caps() & CAP_EXTRACTION
++            && sinsp_plugin::is_source_compatible(plugin->extract_event_sources(), source))
+         {
+-            auto plugin = pl.get_plugin(inspector);
+-            if (plugin->caps() & CAP_EXTRACTION && plugin->is_source_compatible(source))
+-            {
+-                list.push_back(std::unique_ptr<sinsp_filter_check>(sinsp_plugin::new_filtercheck(plugin)));
+-            }
++            list.push_back(std::unique_ptr<sinsp_filter_check>(sinsp_plugin::new_filtercheck(plugin)));
+         }
+     }
+     return list;
+diff --git a/userspace/sysdig/utils/sinsp_opener.cpp b/userspace/sysdig/utils/sinsp_opener.cpp
+index eafdb631d3..7315b99c7d 100644
+--- a/userspace/sysdig/utils/sinsp_opener.cpp
++++ b/userspace/sysdig/utils/sinsp_opener.cpp
+@@ -50,14 +50,12 @@ void sinsp_opener::open(sinsp* inspector) const
+ 
+ #if defined(HAS_CAPTURE)
+     /* Populate syscalls of interest */
+-    std::unordered_set<uint32_t> sc_of_interest = inspector->get_all_ppm_sc();
++    auto sc_of_interest = libsinsp::events::all_sc_set();
+ 
+-    /* Populate tracepoints of interest */
+-    std::unordered_set<uint32_t> tp_of_interest = inspector->get_all_tp();
+     if(!options.page_faults)
+     {
+-        tp_of_interest.erase(PAGE_FAULT_USER);
+-        tp_of_interest.erase(PAGE_FAULT_KERN);
++        sc_of_interest.remove(ppm_sc_code::PPM_SC_PAGE_FAULT_USER);
++        sc_of_interest.remove(ppm_sc_code::PPM_SC_PAGE_FAULT_KERNEL);
+     }
+ 
+     if(udig.enabled)
+@@ -77,7 +75,7 @@ void sinsp_opener::open(sinsp* inspector) const
+ #ifdef HAS_MODERN_BPF
+ 		if(bpf.modern)
+ 		{
+-			inspector->open_modern_bpf(DEFAULT_DRIVER_BUFFER_BYTES_DIM, bpf.cpus_for_each_syscall_buffer, true, sc_of_interest, tp_of_interest);
++			inspector->open_modern_bpf(DEFAULT_DRIVER_BUFFER_BYTES_DIM, bpf.cpus_for_each_syscall_buffer, true, sc_of_interest);
+ 			return;
+ 		}
+ #endif
+@@ -95,7 +93,7 @@ void sinsp_opener::open(sinsp* inspector) const
+ 
+         try
+         {
+-            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+         }
+         catch(const sinsp_exception& e)
+         {
+@@ -103,7 +101,7 @@ void sinsp_opener::open(sinsp* inspector) const
+             {
+                 fprintf(stderr, "Unable to load the BPF probe\n");
+             }
+-            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+         }
+ 
+         // Enable gathering the CPU from the kernel module
+@@ -114,7 +112,7 @@ void sinsp_opener::open(sinsp* inspector) const
+     // default to kernel module if no other option is specified
+     try
+     {
+-        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+     }
+     catch(const sinsp_exception& e)
+     {
+@@ -124,7 +122,7 @@ void sinsp_opener::open(sinsp* inspector) const
+         {
+             fprintf(stderr, "Unable to load the driver\n");
+         }
+-        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+     }
+ 
+     // Enable gathering the CPU from the kernel module
+diff --git a/userspace/sysdig/utils/supported_events.cpp b/userspace/sysdig/utils/supported_events.cpp
+index 1442911209..7f0d630011 100644
+--- a/userspace/sysdig/utils/supported_events.cpp
++++ b/userspace/sysdig/utils/supported_events.cpp
+@@ -27,25 +27,25 @@ struct event_entry
+ {
+     bool is_enter;
+     std::string name;
+-    struct ppm_event_info info;
++    const ppm_event_info* info;
+ };
+ 
+-static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include_generics)
++static std::vector<event_entry> get_event_entries(bool include_generics)
+ {
+     event_entry entry;
+     std::vector<event_entry> events;
+-    const struct ppm_event_info* etable = inspector->get_event_info_tables()->m_event_info;
+ 
+     // skip generic events
+-    for(uint32_t evt = PPME_GENERIC_X + 1; evt < PPM_EVENT_MAX; evt++)
++    for(const auto& evt : libsinsp::events::all_event_set())
+     {
+-        if (!sinsp::is_old_version_event(evt)
+-                && !sinsp::is_unused_event(evt)
+-                && !sinsp::is_unknown_event(evt))
++        if (!libsinsp::events::is_generic(evt)
++            && !libsinsp::events::is_old_version_event(evt)
++            && !libsinsp::events::is_unused_event(evt)
++            && !libsinsp::events::is_unknown_event(evt))
+         {
+             entry.is_enter = PPME_IS_ENTER(evt);
+-            entry.name = etable[evt].name;
+-            entry.info = etable[evt];
++            entry.info = libsinsp::events::info(evt);
++			entry.name = entry.info->name;
+             events.push_back(entry);
+         }
+     }
+@@ -53,17 +53,19 @@ static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include
+     if (include_generics)
+     {
+         // append generic events
+-        const auto generic_syscalls = inspector->get_events_names({PPME_GENERIC_E});
+-        for (const auto& name : generic_syscalls)
+-        {
+-            for(uint32_t evt = PPME_GENERIC_E; evt <= PPME_GENERIC_X; evt++)
+-            {
+-                entry.is_enter = PPME_IS_ENTER(evt);
+-                entry.name = name;
+-                entry.info = etable[evt];
+-                events.push_back(entry);
+-            }
+-        }
++		const auto names = libsinsp::events::event_set_to_names({ppm_event_code::PPME_GENERIC_E});
++		for (const auto& name : names)
++		{
++			entry.is_enter = PPME_IS_ENTER(ppm_event_code::PPME_GENERIC_E);
++			entry.info = libsinsp::events::info(ppm_event_code::PPME_GENERIC_E);
++			entry.name = name;
++			events.push_back(entry);
++
++			entry.is_enter = PPME_IS_ENTER(ppm_event_code::PPME_GENERIC_X);
++			entry.info = libsinsp::events::info(ppm_event_code::PPME_GENERIC_X);
++			entry.name = name;
++			events.push_back(entry);
++		}
+     }
+ 
+     return events;
+@@ -71,7 +73,7 @@ static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include
+ 
+ void print_supported_events(sinsp* inspector, bool markdown)
+ {
+-    const auto events = get_event_entries(inspector, true);
++    const auto events = get_event_entries(true);
+ 
+     if(markdown)
+     {
+@@ -91,15 +93,15 @@ void print_supported_events(sinsp* inspector, bool markdown)
+             printf("%c %s(", dir, e.name.c_str());
+         }
+ 
+-        for(uint32_t k = 0; k < e.info.nparams; k++)
++        for(uint32_t k = 0; k < e.info->nparams; k++)
+         {
+             if(k != 0)
+             {
+                 printf(", ");
+             }
+ 
+-            printf("%s %s", param_type_to_string(e.info.params[k].type),
+-                e.info.params[k].name);
++            printf("%s %s", param_type_to_string(e.info->params[k].type),
++                e.info->params[k].name);
+         }
+         printf(")\n");
+     }
+diff --git a/userspace/sysdig/utils/supported_fields.cpp b/userspace/sysdig/utils/supported_fields.cpp
+index 6e2575b030..3127fb7220 100644
+--- a/userspace/sysdig/utils/supported_fields.cpp
++++ b/userspace/sysdig/utils/supported_fields.cpp
+@@ -35,11 +35,9 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+ {
+     std::vector<fields_info> field_infos;
+     std::vector<std::unique_ptr<const sinsp_filter_check>> filtecheck_lists; // only used to retain memory until we finish
+-    std::vector<std::string> sources = { s_syscall_source };
++    std::vector<std::string> sources = plugins.get_event_sources(inspector);
+ 
+     // add event sources defined by the loaded plugins
+-    const auto& plugin_sources = plugins.get_event_sources(inspector);
+-    sources.insert(sources.end(), plugin_sources.begin(), plugin_sources.end());
+     if (!source.empty())
+     {
+         bool found = false;
+@@ -66,7 +64,6 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+         }
+ 
+         std::vector<const filter_check_info*> filterchecks;
+-        // todo(jasondellaluce): change this once we support extracting plugin fields from syscalls
+         if (src == s_syscall_source)
+         {
+             std::vector<const filter_check_info*> all_checks;
+@@ -81,13 +78,11 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+                 }
+             }
+         }
+-        else
++
++        for (auto& check: plugins.get_filterchecks(inspector, src))
+         {
+-            for (auto& check: plugins.get_filterchecks(inspector, src))
+-            {
+-                filterchecks.push_back(check->get_fields());
+-                filtecheck_lists.push_back(std::move(check));
+-            }
++            filterchecks.push_back(check->get_fields());
++            filtecheck_lists.push_back(std::move(check));
+         }
+         
+         const auto classes = sinsp_filter_factory::check_infos_to_fieldclass_infos(filterchecks);
+
+From c8b0d055aec4d2378b7934dd9436fd4500d1021e Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 14:15:23 +0000
+Subject: [PATCH 5/6] fix: solve compilation issues on windows
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ CMakeLists.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6d28c6c67d..5afd967f27 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -148,6 +148,9 @@ endif()
+ 
+ set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_CXX_EXTENSIONS OFF)
++if(MSVC OR WIN32)
++	add_compile_definitions(_HAS_STD_BYTE=0)
++endif()
+ 
+ include(falcosecurity-libs)
+ include(yaml-cpp)
+
+From 954e6fc6238f21d4870a491395d68a7dd3062aa9 Mon Sep 17 00:00:00 2001
+From: Roberto Scolaro <roberto.scolaro21@gmail.com>
+Date: Mon, 5 Jun 2023 10:34:03 +0000
+Subject: [PATCH 6/6] update(cmake): bump libs 0.11.0 + driver 5.0.1
+
+Signed-off-by: Roberto Scolaro <roberto.scolaro21@gmail.com>
+---
+ CMakeLists.txt                         | 2 +-
+ cmake/modules/driver.cmake             | 4 ++--
+ cmake/modules/falcosecurity-libs.cmake | 4 ++--
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5afd967f27..f3f23b5e9a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -90,7 +90,7 @@ if(NOT WIN32)
+ 	endif()
+ 
+ 	set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_COMMON_FLAGS}")
+-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++0x")
++	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++17")
+ 
+ 	set(CMAKE_C_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+ 	set(CMAKE_CXX_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+diff --git a/cmake/modules/driver.cmake b/cmake/modules/driver.cmake
+index 7fd35d7f99..ca1e56718c 100644
+--- a/cmake/modules/driver.cmake
++++ b/cmake/modules/driver.cmake
+@@ -31,8 +31,8 @@ else()
+   # In case you want to test against another driver version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DDRIVER_VERSION=dev ..`
+   if(NOT DRIVER_VERSION)
+-    set(DRIVER_VERSION "5.0.0+driver")
+-    set(DRIVER_CHECKSUM "SHA256=c988ca7ac7d174f62d1bfbaaca49efd117f7b329f474d1b46b643635b2e35083")
++    set(DRIVER_VERSION "5.0.1+driver")
++    set(DRIVER_CHECKSUM "SHA256=8b197b916b6419dac8fb41807aa05d822164c7bfd2c3eef66d20d060a05a485a")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index fe5dacd7ad..c626d7944e 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -32,8 +32,8 @@ else()
+   # In case you want to test against another falcosecurity/libs version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DFALCOSECURITY_LIBS_VERSION=dev ..`
+   if(NOT FALCOSECURITY_LIBS_VERSION)
+-    set(FALCOSECURITY_LIBS_VERSION "0.11.0-rc1")
+-    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=bb6e57f66ae85dcda6e695226cd14082d9a1215902909cdde5b83f7abef44d8f")
++    set(FALCOSECURITY_LIBS_VERSION "0.11.0")
++    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=90414d00591986e94f2c49e7d65eef5c2dedee266354dd3db8234bb3b06c86fa")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
diff --git a/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch b/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch
new file mode 100644
index 000000000000..467cffacba2f
--- /dev/null
+++ b/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch
@@ -0,0 +1,28 @@
+diff --git a/cmake/modules/driver-repo/CMakeLists.txt b/cmake/modules/driver-repo/CMakeLists.txt
+index 479611a..5238121 100644
+--- a/cmake/modules/driver-repo/CMakeLists.txt
++++ b/cmake/modules/driver-repo/CMakeLists.txt
+@@ -25,8 +25,7 @@ message(STATUS "Driver version: ${DRIVER_VERSION}")
+ 
+ ExternalProject_Add(
+   driver
+-  URL "https://github.com/falcosecurity/libs/archive/${DRIVER_VERSION}.tar.gz"
+-  URL_HASH "${DRIVER_CHECKSUM}"
++  URL "${CMAKE_CURRENT_SOURCE_DIR}/../../../../libs-${DRIVER_VERSION}"
+   CONFIGURE_COMMAND ""
+   BUILD_COMMAND ""
+   INSTALL_COMMAND ""
+diff --git a/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt b/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
+index 2059547..74e78e2 100644
+--- a/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
++++ b/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
+@@ -25,8 +25,7 @@ message(STATUS "Libs version: ${FALCOSECURITY_LIBS_VERSION}")
+ 
+ ExternalProject_Add(
+   falcosecurity-libs
+-  URL "https://github.com/falcosecurity/libs/archive/${FALCOSECURITY_LIBS_VERSION}.tar.gz"
+-  URL_HASH "${FALCOSECURITY_LIBS_CHECKSUM}"
++  URL "${CMAKE_CURRENT_SOURCE_DIR}/../../../../libs-${FALCOSECURITY_LIBS_VERSION}"
+   CONFIGURE_COMMAND ""
+   BUILD_COMMAND ""
+   INSTALL_COMMAND ""
diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index 4a04e762468c..d088357125b8 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,43 +1,47 @@
 # Template file for 'sysdig'
 pkgname=sysdig
-version=0.28.0
-revision=8
+version=0.31.5
+revision=1
+_falcover=0.11.0
 build_style=cmake
+build_wrksrc="sysdig-${version}"
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF
  -DLUA_INCLUDE_DIR=${XBPS_CROSS_BASE}/usr/include/luajit-2.1
- -DLUA_LIBRARY=/usr/lib/libluajit-5.1.so -DCREATE_TEST_TARGETS=OFF"
-make_cmd=make
+ -DLUA_LIBRARY=/usr/lib/libluajit-5.1.so -DCREATE_TEST_TARGETS=OFF
+ -DUSE_BUNDLED_TBB=OFF -DBUILD_LIBSCAP_EXAMPLES=OFF
+ -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_EXTENSIONS=OFF
+ -DDRIVER_VERSION=${_falcover}"
 hostmakedepends="wget pkg-config protobuf"
-makedepends="LuaJIT-devel c-ares-devel elfutils-devel grpc-devel jsoncpp-devel
+makedepends="LuaJIT-devel c-ares-devel elfutils-devel grpc-devel
  libcurl-devel libprotoc-devel openssl-devel ncurses-devel protobuf-devel
- tbb-devel zlib-devel"
+ tbb-devel zlib-devel yaml-cpp-devel json-c++"
 depends="dkms"
 short_desc="Open source system-level exploration and troubleshooting tool"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0, MIT, GPL-2.0-only"
 homepage="http://www.sysdig.org/"
 changelog="https://github.com/draios/sysdig/releases"
-distfiles="https://github.com/draios/${pkgname}/archive/${version}.tar.gz"
-checksum=817e595d501acf3fe11dc659a154aadbba848dd87ae801f5bf34a42e84979f37
-disable_parallel_build=yes
+distfiles="https://github.com/draios/sysdig/archive/${version}.tar.gz
+ https://github.com/falcosecurity/libs/archive/${_falcover}.tar.gz"
+checksum="9af98cae7c38273f7429ba0df628c9745bd92c949f444e180b9dd800af14c6dd
+ 90414d00591986e94f2c49e7d65eef5c2dedee266354dd3db8234bb3b06c86fa"
 dkms_modules="scap 2160111cd088aea9ae2235d3385ecb0b1ab6623c"
 nocross=yes
+patch_args="-Np1 --directory=${build_wrksrc}"
 
 case "$XBPS_TARGET_MACHINE" in
 	*-musl) configure_args+=" -DMUSL_OPTIMIZED_BUILD=On"
 esac
 
-export CMAKE_GENERATOR="Unix Makefiles"
-
 # Avoid excessive warnings spam to the log
 CXXFLAGS="-Wno-deprecated-declarations"
 
-CXXFLAGS+=" -I/usr/include/grpc_absl"
+post_patch() {
+	patch -d "${wrksrc}/libs-${_falcover}" -Np1 < "${FILESDIR}/libsinsp-zstd.patch"
 
-post_extract() {
 	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
-	vsed -e 's|-std=c++0x||' -i CMakeLists.txt
+	vsed -e 's|-std=c++0x||' -i CMakeLists.txt -i "${wrksrc}/libs-${_falcover}/cmake/modules/CompilerFlags.cmake"
 }
 
 post_install() {

From 18652c885518a0500ac2a96e725bf0d0e2339cff Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 2 Jul 2023 13:36:29 +0200
Subject: [PATCH 31/34] protobuf-c: rebuild against 23.3

---
 ...4f3fd85a205eb7c90b790477d5415364209e.patch |  44 +++
 srcpkgs/protobuf-c/patches/66a0b0d2.patch     | 308 ++++++++++++++++++
 srcpkgs/protobuf-c/template                   |   8 +-
 3 files changed, 358 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
 create mode 100644 srcpkgs/protobuf-c/patches/66a0b0d2.patch

diff --git a/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch b/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
new file mode 100644
index 000000000000..7d1e97032d32
--- /dev/null
+++ b/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
@@ -0,0 +1,44 @@
+From 66574f3fd85a205eb7c90b790477d5415364209e Mon Sep 17 00:00:00 2001
+From: Steve Peters <scpeters@openrobotics.org>
+Date: Sat, 24 Jun 2023 22:15:42 -0700
+Subject: [PATCH] Use FileDescriptorLegacy for deprecated syntax()
+
+---
+ protoc-c/c_file.cc   | 2 +-
+ protoc-c/c_helpers.h | 3 ++-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/protoc-c/c_file.cc b/protoc-c/c_file.cc
+index 59c1824e..4b60b889 100644
+--- a/protoc-c/c_file.cc
++++ b/protoc-c/c_file.cc
+@@ -119,7 +119,7 @@ void FileGenerator::GenerateHeader(io::Printer* printer) {
+ 
+   int min_header_version = 1000000;
+ #if defined(HAVE_PROTO3)
+-  if (file_->syntax() == FileDescriptor::SYNTAX_PROTO3) {
++  if (FileDescriptorLegacy(file_).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3) {
+     min_header_version = 1003000;
+   }
+ #endif
+diff --git a/protoc-c/c_helpers.h b/protoc-c/c_helpers.h
+index 7598a4e1..87deea24 100644
+--- a/protoc-c/c_helpers.h
++++ b/protoc-c/c_helpers.h
+@@ -67,6 +67,7 @@
+ #include <vector>
+ #include <sstream>
+ #include <google/protobuf/descriptor.h>
++#include <google/protobuf/descriptor_legacy.h>
+ #include <protobuf-c/protobuf-c.pb.h>
+ #include <google/protobuf/io/printer.h>
+ 
+@@ -172,7 +173,7 @@ int compare_name_indices_by_name(const void*, const void*);
+ // This wrapper is needed to be able to compile against protobuf2.
+ inline int FieldSyntax(const FieldDescriptor* field) {
+ #ifdef HAVE_PROTO3
+-  return field->file()->syntax() == FileDescriptor::SYNTAX_PROTO3 ? 3 : 2;
++  return FileDescriptorLegacy(field->file()).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3 ? 3 : 2;
+ #else
+   return 2;
+ #endif
diff --git a/srcpkgs/protobuf-c/patches/66a0b0d2.patch b/srcpkgs/protobuf-c/patches/66a0b0d2.patch
new file mode 100644
index 000000000000..790db6329120
--- /dev/null
+++ b/srcpkgs/protobuf-c/patches/66a0b0d2.patch
@@ -0,0 +1,308 @@
+From 66a0b0d205224f63f19dd8f96abf9dcdc2112331 Mon Sep 17 00:00:00 2001
+From: Xiangyu Chen <xiangyu.chen@windriver.com>
+Date: Wed, 29 Mar 2023 14:25:17 +0800
+Subject: [PATCH] add support of protobuf 4.22.x
+
+after upgrade the protobuf to 4.22.x, the protobuf-c cannot compile anymore (#544) due to following changes:
+1.protobuf using c++14, that cause the command_line_interface.h report error
+2.protobuf using abseil-cpp library instead the trace API with GOOGLE_ header
+3. removed GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
+---
+ Makefile.am                   | 2 +-
+ configure.ac                  | 8 ++++++++
+ protoc-c/c_bytes_field.h      | 1 -
+ protoc-c/c_enum.h             | 1 -
+ protoc-c/c_enum_field.h       | 1 -
+ protoc-c/c_extension.h        | 1 -
+ protoc-c/c_field.cc           | 2 +-
+ protoc-c/c_field.h            | 3 ---
+ protoc-c/c_file.h             | 1 -
+ protoc-c/c_generator.h        | 2 --
+ protoc-c/c_helpers.cc         | 4 ++--
+ protoc-c/c_message.cc         | 4 ++--
+ protoc-c/c_message.h          | 1 -
+ protoc-c/c_message_field.h    | 3 ---
+ protoc-c/c_primitive_field.cc | 6 +++---
+ protoc-c/c_primitive_field.h  | 3 ---
+ protoc-c/c_service.h          | 1 -
+ protoc-c/c_string_field.h     | 1 -
+ 18 files changed, 17 insertions(+), 28 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index c7339efe..3b0d1d66 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -20,7 +20,7 @@ AM_CPPFLAGS = \
+ 	-I${top_builddir} \
+ 	-I${top_srcdir}
+ AM_CFLAGS = ${my_CFLAGS}
+-AM_LDFLAGS =
++AM_LDFLAGS = ${ABSL_LOG_INTERNAL_CHECK_OP_LIBS} ${ABSL_LOG_RAW_HASH_SET_LIBS}
+ 
+ # code coverage
+ 
+diff --git a/configure.ac b/configure.ac
+index f5a0261e..8ed549ac 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -78,6 +78,14 @@ if test "x$enable_protoc" != "xno"; then
+ 
+   AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
+ 
++# now checking 4.22.x protobuf, if so, set cxx as 17
++  AS_IF([pkg-config --atleast-version 4.22.0 protobuf],[AX_CXX_COMPILE_STDCXX(17, noext, mandatory)])
++
++  AS_IF([pkg-config --atleast-version 4.22.0 protobuf],
++    [PKG_CHECK_MODULES([ABSL_LOG_INTERNAL_CHECK_OP], [absl_log_internal_check_op],
++       [PKG_CHECK_MODULES([ABSL_LOG_RAW_HASH_SET], [absl_raw_hash_set], [], [AC_MSG_ERROR([Missing absl_raw_hash_set library.])])],
++       [AC_MSG_ERROR([Missing absl_log_internal_check_op library.])])])
++
+   PKG_CHECK_MODULES([protobuf], [protobuf >= 3.0.0],
+     [proto3_supported=yes],
+     [PKG_CHECK_MODULES([protobuf], [protobuf >= 2.6.0])]
+diff --git a/protoc-c/c_bytes_field.h b/protoc-c/c_bytes_field.h
+index bf873f0f..8fc63d35 100644
+--- a/protoc-c/c_bytes_field.h
++++ b/protoc-c/c_bytes_field.h
+@@ -88,7 +88,6 @@ class BytesFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(BytesFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_enum.h b/protoc-c/c_enum.h
+index 9c34b697..d5e58f0a 100644
+--- a/protoc-c/c_enum.h
++++ b/protoc-c/c_enum.h
+@@ -107,7 +107,6 @@ class EnumGenerator {
+   const EnumDescriptor* descriptor_;
+   std::string dllexport_decl_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_enum_field.h b/protoc-c/c_enum_field.h
+index 3f8c005d..03eb4028 100644
+--- a/protoc-c/c_enum_field.h
++++ b/protoc-c/c_enum_field.h
+@@ -86,7 +86,6 @@ class EnumFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_extension.h b/protoc-c/c_extension.h
+index 95413885..9c5797d6 100644
+--- a/protoc-c/c_extension.h
++++ b/protoc-c/c_extension.h
+@@ -99,7 +99,6 @@ class ExtensionGenerator {
+   std::string type_traits_;
+   std::string dllexport_decl_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ExtensionGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_field.cc b/protoc-c/c_field.cc
+index 0716744a..4abdc6d3 100644
+--- a/protoc-c/c_field.cc
++++ b/protoc-c/c_field.cc
+@@ -231,7 +231,7 @@ FieldGeneratorMap::~FieldGeneratorMap() {}
+ 
+ const FieldGenerator& FieldGeneratorMap::get(
+     const FieldDescriptor* field) const {
+-  GOOGLE_CHECK_EQ(field->containing_type(), descriptor_);
++  ABSL_CHECK_EQ(field->containing_type(), descriptor_);
+   return *field_generators_[field->index()];
+ }
+ 
+diff --git a/protoc-c/c_field.h b/protoc-c/c_field.h
+index 3cad35d3..76d3b0bc 100644
+--- a/protoc-c/c_field.h
++++ b/protoc-c/c_field.h
+@@ -104,8 +104,6 @@ class FieldGenerator {
+                                             const std::string &descriptor_addr) const;
+   const FieldDescriptor *descriptor_;
+ 
+- private:
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGenerator);
+ };
+ 
+ // Convenience class which constructs FieldGenerators for a Descriptor.
+@@ -122,7 +120,6 @@ class FieldGeneratorMap {
+ 
+   static FieldGenerator* MakeGenerator(const FieldDescriptor* field);
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGeneratorMap);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_file.h b/protoc-c/c_file.h
+index 8dfd8ba0..ec55906e 100644
+--- a/protoc-c/c_file.h
++++ b/protoc-c/c_file.h
+@@ -104,7 +104,6 @@ class FileGenerator {
+   std::unique_ptr<std::unique_ptr<ServiceGenerator>[]> service_generators_;
+   std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FileGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_generator.h b/protoc-c/c_generator.h
+index ac1ffafe..92601164 100644
+--- a/protoc-c/c_generator.h
++++ b/protoc-c/c_generator.h
+@@ -94,8 +94,6 @@ class PROTOC_C_EXPORT CGenerator : public CodeGenerator {
+                 OutputDirectory* output_directory,
+                 std::string* error) const;
+ 
+- private:
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(CGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_helpers.cc b/protoc-c/c_helpers.cc
+index 6fd0cd3a..1eaeeb42 100644
+--- a/protoc-c/c_helpers.cc
++++ b/protoc-c/c_helpers.cc
+@@ -286,7 +286,7 @@ const char* const kKeywordList[] = {
+ 
+ std::set<std::string> MakeKeywordsMap() {
+   std::set<std::string> result;
+-  for (int i = 0; i < GOOGLE_ARRAYSIZE(kKeywordList); i++) {
++  for (int i = 0; i < ABSL_ARRAYSIZE(kKeywordList); i++) {
+     result.insert(kKeywordList[i]);
+   }
+   return result;
+@@ -548,7 +548,7 @@ std::string CEscape(const std::string& src) {
+   std::unique_ptr<char[]> dest(new char[dest_length]);
+   const int len = CEscapeInternal(src.data(), src.size(),
+                                   dest.get(), dest_length, false);
+-  GOOGLE_DCHECK_GE(len, 0);
++  ABSL_DCHECK_GE(len, 0);
+   return std::string(dest.get(), len);
+ }
+ 
+diff --git a/protoc-c/c_message.cc b/protoc-c/c_message.cc
+index 37e8bf8b..c7e85155 100755
+--- a/protoc-c/c_message.cc
++++ b/protoc-c/c_message.cc
+@@ -499,7 +499,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ 	  // NOTE: not supported by protobuf
+ 	  vars["maybe_static"] = "";
+ 	  vars["field_dv_ctype"] = "{ ... }";
+-	  GOOGLE_LOG(DFATAL) << "Messages can't have default values!";
++	  ABSL_LOG(FATAL) << "Messages can't have default values!";
+ 	  break;
+ 	case FieldDescriptor::CPPTYPE_STRING:
+ 	  if (fd->type() == FieldDescriptor::TYPE_BYTES || opt.string_as_bytes())
+@@ -521,7 +521,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ 	    break;
+ 	  }
+ 	default:
+-	  GOOGLE_LOG(DFATAL) << "Unknown CPPTYPE";
++	  ABSL_LOG(FATAL) << "Unknown CPPTYPE";
+ 	  break;
+ 	}
+ 	if (!already_defined)
+diff --git a/protoc-c/c_message.h b/protoc-c/c_message.h
+index ea1c3ab3..e90782bf 100644
+--- a/protoc-c/c_message.h
++++ b/protoc-c/c_message.h
+@@ -137,7 +137,6 @@ class MessageGenerator {
+   std::unique_ptr<std::unique_ptr<EnumGenerator>[]> enum_generators_;
+   std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_message_field.h b/protoc-c/c_message_field.h
+index 39b8d999..42efe368 100644
+--- a/protoc-c/c_message_field.h
++++ b/protoc-c/c_message_field.h
+@@ -83,9 +83,6 @@ class MessageFieldGenerator : public FieldGenerator {
+   std::string GetDefaultValue(void) const;
+   void GenerateStaticInit(io::Printer* printer) const;
+ 
+- private:
+-
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_primitive_field.cc b/protoc-c/c_primitive_field.cc
+index 6990893f..d5a7b60c 100644
+--- a/protoc-c/c_primitive_field.cc
++++ b/protoc-c/c_primitive_field.cc
+@@ -99,7 +99,7 @@ void PrimitiveFieldGenerator::GenerateStructMembers(io::Printer* printer) const
+     case FieldDescriptor::TYPE_STRING  :
+     case FieldDescriptor::TYPE_BYTES   :
+     case FieldDescriptor::TYPE_GROUP   :
+-    case FieldDescriptor::TYPE_MESSAGE : GOOGLE_LOG(FATAL) << "not a primitive type"; break;
++    case FieldDescriptor::TYPE_MESSAGE : ABSL_LOG(FATAL) << "not a primitive type"; break;
+ 
+     // No default because we want the compiler to complain if any new
+     // types are added.
+@@ -143,7 +143,7 @@ std::string PrimitiveFieldGenerator::GetDefaultValue() const
+     case FieldDescriptor::CPPTYPE_BOOL:
+       return descriptor_->default_value_bool() ? "1" : "0";
+     default:
+-      GOOGLE_LOG(DFATAL) << "unexpected CPPTYPE in c_primitive_field";
++      ABSL_LOG(FATAL) << "unexpected CPPTYPE in c_primitive_field";
+       return "UNEXPECTED_CPPTYPE";
+   }
+ }
+@@ -197,7 +197,7 @@ void PrimitiveFieldGenerator::GenerateDescriptorInitializer(io::Printer* printer
+     case FieldDescriptor::TYPE_STRING  :
+     case FieldDescriptor::TYPE_BYTES   :
+     case FieldDescriptor::TYPE_GROUP   :
+-    case FieldDescriptor::TYPE_MESSAGE : GOOGLE_LOG(FATAL) << "not a primitive type"; break;
++    case FieldDescriptor::TYPE_MESSAGE : ABSL_LOG(FATAL) << "not a primitive type"; break;
+ 
+     // No default because we want the compiler to complain if any new
+     // types are added.
+diff --git a/protoc-c/c_primitive_field.h b/protoc-c/c_primitive_field.h
+index a9eb893b..d2bb7243 100644
+--- a/protoc-c/c_primitive_field.h
++++ b/protoc-c/c_primitive_field.h
+@@ -83,9 +83,6 @@ class PrimitiveFieldGenerator : public FieldGenerator {
+   std::string GetDefaultValue(void) const;
+   void GenerateStaticInit(io::Printer* printer) const;
+ 
+- private:
+-
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(PrimitiveFieldGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_service.h b/protoc-c/c_service.h
+index 27125a60..4737ff3b 100644
+--- a/protoc-c/c_service.h
++++ b/protoc-c/c_service.h
+@@ -101,7 +101,6 @@ class ServiceGenerator {
+   const ServiceDescriptor* descriptor_;
+   std::map<std::string, std::string> vars_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ServiceGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_string_field.h b/protoc-c/c_string_field.h
+index 513cea75..ba258e44 100644
+--- a/protoc-c/c_string_field.h
++++ b/protoc-c/c_string_field.h
+@@ -88,7 +88,6 @@ class StringFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(StringFieldGenerator);
+ };
+ 
+ 
diff --git a/srcpkgs/protobuf-c/template b/srcpkgs/protobuf-c/template
index 7d1b529d8936..e703b138152d 100644
--- a/srcpkgs/protobuf-c/template
+++ b/srcpkgs/protobuf-c/template
@@ -1,10 +1,10 @@
 # Template file for 'protobuf-c'
 pkgname=protobuf-c
 version=1.4.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="$(vopt_enable protoc)"
-hostmakedepends="pkg-config protobuf protobuf-devel"
+hostmakedepends="pkg-config protobuf protobuf-devel automake libtool"
 makedepends="protobuf-devel boost-devel $(vopt_if protoc libprotoc-devel)"
 short_desc="C implementation of the Google Protocol Buffers"
 maintainer="Enno Boland <gottox@voidlinux.org>"
@@ -17,6 +17,10 @@ build_options="protoc"
 build_options_default="protoc"
 desc_option_protoc="Build protoc-c compiler"
 
+pre_configure() {
+	autoreconf -if
+}
+
 post_install() {
 	vlicense LICENSE
 }

From 06ce9eef2c589e3fa80db753cb1abeaf733c39a7 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 2 Jul 2023 21:07:55 +0200
Subject: [PATCH 32/34] netdata: update to 1.40.1.

---
 srcpkgs/netdata/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/netdata/template            | 13 +++++++++----
 2 files changed, 20 insertions(+), 4 deletions(-)
 create mode 100644 srcpkgs/netdata/patches/cpp17.patch

diff --git a/srcpkgs/netdata/patches/cpp17.patch b/srcpkgs/netdata/patches/cpp17.patch
new file mode 100644
index 000000000000..b197ccd57bd9
--- /dev/null
+++ b/srcpkgs/netdata/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac	2023-06-27 16:25:03.364605041 +0200
++++ -	2023-07-02 21:27:31.113408278 +0200
+@@ -237,7 +237,7 @@
+ # C++ version check
+ 
+ # Check for C++17 support (optional)
+-# AX_CXX_COMPILE_STDCXX(17, noext, optional)
++AX_CXX_COMPILE_STDCXX(17, noext, optional)
+ 
+ if test "x$HAVE_CXX17" != "x1"; then
+   # Check for C++11 support (optional)
diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 781120b3f275..9065c5140361 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -1,14 +1,14 @@
 # Template file for 'netdata'
 pkgname=netdata
-version=1.37.1
-revision=2
+version=1.40.1
+revision=1
 build_style=gnu-configure
 build_helper=qemu
 configure_args="--with-user=_netdata ac_cv_file_externaldeps_libbpf_libbpf_a=no
  $(vopt_if cloud --enable-cloud --disable-cloud) $(vopt_if ipmi --enable-plugin-freeipmi)
  $(vopt_if xen --enable-plugin-xenstat) $(vopt_if cups --enable-plugin-cups)"
 hostmakedepends="pkg-config autoconf automake $(vopt_if cloud "protobuf protobuf-devel")"
-makedepends="json-c-devel libcap-devel liblz4-devel libmnl-devel
+makedepends="json-c-devel libcap-devel liblz4-devel libmnl-devel libyaml-devel
  libnetfilter_acct-devel openssl-devel libuuid-devel libuv-devel zlib-devel
  snappy-devel $(vopt_if cloud protobuf-devel) $(vopt_if ipmi freeipmi-devel)
  $(vopt_if xen "xen-devel yajl-devel") $(vopt_if cups cups-devel)"
@@ -18,7 +18,7 @@ maintainer="Michael Aldridge <maldridge@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://www.netdata.cloud/"
 distfiles="https://github.com/netdata/netdata/releases/download/v${version}/netdata-v${version}.tar.gz"
-checksum=2caa042d43ca61007a61294a5ececa037d83a1973bd38032233760341eb1706b
+checksum=cc86172acd5e6ec05bc0fa86a50d967502a264d8adf7f79293923ccd8febb251
 python_version=3
 make_dirs="
  /var/lib/netdata          0755 _netdata _netdata
@@ -43,6 +43,11 @@ if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 fi
 
 pre_configure() {
+	vsed -e 's/#define info(/#define netdata_log_info(/g' -i libnetdata/log/log.h
+	vsed -e 's/^\([ ]*\)info[ ]*(/\1netdata_log_info(/g' -i $(grep -rl '^[ ]*info *(' ./)
+	vsed -e 's/^\([ ]*\)else info(/\1else netdata_log_info(/g' -i $(grep -rl '^[ ]*else info(' ./)
+	vsed -e 's/^\([ ]*\)if(\([^)]*\))[ ]*info(/\1if(\2) netdata_log_info(/g' -i $(grep -rl '^[ ]*if.*info(' ./)
+
 	if [ "$CROSS_BUILD" ]; then
 		sed -i "s|	\$(builddir)/judyltablesgen\$(EXEEXT)|	qemu-${XBPS_TARGET_QEMU_MACHINE}-static \$(builddir)/judyltablesgen\$(EXEEXT)|g" Makefile.am
 	fi

From 96ef51008edaef3bcedf0f718b1afba4675b1032 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 8 Jul 2023 12:47:51 +0200
Subject: [PATCH 33/34] strawberry: rebuild against protobuf-23.3_1

---
 srcpkgs/strawberry/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/strawberry/template b/srcpkgs/strawberry/template
index b42efa1b89b2..91f2e07a0ec0 100644
--- a/srcpkgs/strawberry/template
+++ b/srcpkgs/strawberry/template
@@ -1,7 +1,7 @@
 # Template file for 'strawberry'
 pkgname=strawberry
 version=1.0.17
-revision=2
+revision=3
 build_style=cmake
 hostmakedepends="pkg-config protobuf gettext"
 makedepends="alsa-lib-devel boost-devel gnutls-devel fftw-devel

From 46dc260376731d4f508d32fed9f2ffb641bc1905 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 8 Jul 2023 12:47:51 +0200
Subject: [PATCH 34/34] libphonenumber: rebuild against protobuf-23.3_1

---
 srcpkgs/libphonenumber/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libphonenumber/template b/srcpkgs/libphonenumber/template
index f554714b3c7a..058939459f6a 100644
--- a/srcpkgs/libphonenumber/template
+++ b/srcpkgs/libphonenumber/template
@@ -1,7 +1,7 @@
 # Template file for 'libphonenumber'
 pkgname=libphonenumber
 version=8.12.39
-revision=12
+revision=13
 build_wrksrc=cpp
 build_style=cmake
 build_helper=qemu

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] protobuf/abseil-cpp/grpc: update
  2023-07-08 11:45 [PR PATCH] protobuf/abseil-cpp: update Johnnynator
                   ` (3 preceding siblings ...)
  2023-07-11  6:57 ` Johnnynator
@ 2023-07-11  7:10 ` Johnnynator
  2023-07-14 14:22 ` Johnnynator
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Johnnynator @ 2023-07-11  7:10 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 616 bytes --]

There is an updated pull request by Johnnynator against master on the void-packages repository

https://github.com/Johnnynator/void-packages google-stuff
https://github.com/void-linux/void-packages/pull/44920

protobuf/abseil-cpp/grpc: update
"Fun" with google stuff

#### Testing the changes
- I tested the changes in this PR: **WiP**


#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):



A patch file from https://github.com/void-linux/void-packages/pull/44920.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-google-stuff-44920.patch --]
[-- Type: text/x-diff, Size: 110415 bytes --]

From e52824493cc828e3014fe39565ecb99e0b9a385e Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:24:01 +0200
Subject: [PATCH 01/35] abseil-cpp: update to 20230125.3.

---
 common/shlibs                                 | 128 ++++++++++++------
 srcpkgs/abseil-cpp/patches/google-sucks.patch |  77 -----------
 srcpkgs/abseil-cpp/template                   |   4 +-
 3 files changed, 85 insertions(+), 124 deletions(-)
 delete mode 100644 srcpkgs/abseil-cpp/patches/google-sucks.patch

diff --git a/common/shlibs b/common/shlibs
index 4b2122d1b199..d1e779f4e7cb 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4207,51 +4207,89 @@ libsunpinyin.so.3 libsunpinyin-3.0.0rc2_1
 libtpm2-totp.so.0 libtpm2-totp-0.3.0_1
 libmujs.so.1.2.0 mujs-1.2.0_2
 libiir.so.1 libiir1-1.9.3_1
-libabsl_statusor.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_hash.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_raw_hash_set.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_bad_variant_access.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_status.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_pool_urbg.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_hwaes_impl.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_slow.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cord.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_city.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_bad_optional_access.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_info.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_str_format_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_synchronization.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_time.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strings.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_throw_delegate.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_time_zone.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_spinlock_wait.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_base.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_civil_time.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cord_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_functions.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_handle.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_debugging_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_demangle_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_exponential_biased.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_graphcycles_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_hashtablez_sampler.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_int128.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_log_severity.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_low_level_hash.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_malloc_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_distributions.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_platform.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_hwaes.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_seed_material.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_seed_gen_exception.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_seed_sequences.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_raw_logging_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_stacktrace.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strerror.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strings_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_symbolize.so.2206.0.0 abseil-cpp-20220623.1_1
+libabsl_flags.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_raw_logging_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_parse.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_reflection.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_globals.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_config.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_seed_sequences.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_statusor.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_usage_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_commandlineflag.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_hwaes_impl.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_status.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_any_cast_impl.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_variant_access.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_raw_hash_set.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_optional_access.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cord.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_distribution_test_util.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_handle.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_graphcycles_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_spinlock_wait.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_functions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_usage.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_debugging_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strerror.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_seed_material.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_log_sink_set.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_proto.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_civil_time.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_conditions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_cpu_detect.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_entry.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_distributions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_globals.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_format.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_exponential_biased.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_city.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_symbolize.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_leak_check.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_low_level_hash.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_severity.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_scoped_set_env.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strings.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_die_if_null.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_hash.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_commandlineflag_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_periodic_sampler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_platform.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_malloc_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_sample_token.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_str_format_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_synchronization.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_message.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strings_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_private_handle_accessor.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cord_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_hwaes.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_throw_delegate.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_cord_state.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_flags.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_program_name.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_time_zone.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_examine_stack.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc32c.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_initialize.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_failure_signal_handler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_time.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_info.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_sink.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_nullguard.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_demangle_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_base.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_hashtablez_sampler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_marshalling.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_pool_urbg.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_int128.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_stacktrace.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_seed_gen_exception.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_check_op.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_slow.so.2301.0.0 abseil-cpp-20230125.3_1
 libairspyhf.so.0 libairspyhf-1.6.8_1
 libtraceevent.so.1 libtraceevent-1.6.2_1
 libtracefs.so.1 libtracefs-1.4.2_1
diff --git a/srcpkgs/abseil-cpp/patches/google-sucks.patch b/srcpkgs/abseil-cpp/patches/google-sucks.patch
deleted file mode 100644
index 511bae847101..000000000000
--- a/srcpkgs/abseil-cpp/patches/google-sucks.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-commit 1fbfea71fb42b2e79f9e342c1843bd26a8703536
-Author: Daniel Kolesa <daniel@octaforge.org>
-Date:   Thu Aug 25 01:20:58 2022 +0200
-
-    An all-in-one patch that fixes several issues:
-    
-    1) UnscaledCycleClock not fully implemented for ppc*-musl (disabled on musl)
-    2) powerpc stacktrace implementation only works on glibc (disabled on musl)
-    3) powerpc stacktrace implementation has ppc64 assumptions (fixed)
-    4) examine_stack.cpp makes glibc assumptions on powerpc (fixed)
-
-diff --git a/absl/base/internal/unscaledcycleclock.cc b/absl/base/internal/unscaledcycleclock.cc
-index b1c396c..d62bfd6 100644
---- a/absl/base/internal/unscaledcycleclock.cc
-+++ b/absl/base/internal/unscaledcycleclock.cc
-@@ -20,7 +20,7 @@
- #include <intrin.h>
- #endif
- 
--#if defined(__powerpc__) || defined(__ppc__)
-+#if (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
- #ifdef __GLIBC__
- #include <sys/platform/ppc.h>
- #elif defined(__FreeBSD__)
-@@ -58,7 +58,7 @@ double UnscaledCycleClock::Frequency() {
-   return base_internal::NominalCPUFrequency();
- }
- 
--#elif defined(__powerpc__) || defined(__ppc__)
-+#elif (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
- 
- int64_t UnscaledCycleClock::Now() {
- #ifdef __GLIBC__
-diff --git a/absl/base/internal/unscaledcycleclock.h b/absl/base/internal/unscaledcycleclock.h
-index 2cbeae3..83d8c98 100644
---- a/absl/base/internal/unscaledcycleclock.h
-+++ b/absl/base/internal/unscaledcycleclock.h
-@@ -46,8 +46,8 @@
- 
- // The following platforms have an implementation of a hardware counter.
- #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \
--    defined(__powerpc__) || defined(__ppc__) || defined(__riscv) ||     \
--    defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
-+    ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \
-+    defined(__riscv) || defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
- #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
- #else
- #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 0
-diff --git a/absl/debugging/internal/examine_stack.cc b/absl/debugging/internal/examine_stack.cc
-index 5bdd341..a42a3c4 100644
---- a/absl/debugging/internal/examine_stack.cc
-+++ b/absl/debugging/internal/examine_stack.cc
-@@ -174,8 +174,10 @@ void* GetProgramCounter(void* const vuc) {
-     return reinterpret_cast<void*>(context->uc_mcontext.pc);
- #elif defined(__powerpc64__)
-     return reinterpret_cast<void*>(context->uc_mcontext.gp_regs[32]);
--#elif defined(__powerpc__)
-+#elif defined(__powerpc__) && defined(__GLIBC__)
-     return reinterpret_cast<void*>(context->uc_mcontext.uc_regs->gregs[32]);
-+#elif defined(__powerpc__)
-+    return reinterpret_cast<void*>(context->uc_mcontext.gregs[32]);
- #elif defined(__riscv)
-     return reinterpret_cast<void*>(context->uc_mcontext.__gregs[REG_PC]);
- #elif defined(__s390__) && !defined(__s390x__)
-diff --git a/absl/debugging/internal/stacktrace_config.h b/absl/debugging/internal/stacktrace_config.h
-index 3929b1b..23d5e50 100644
---- a/absl/debugging/internal/stacktrace_config.h
-+++ b/absl/debugging/internal/stacktrace_config.h
-@@ -60,7 +60,7 @@
- #elif defined(__i386__) || defined(__x86_64__)
- #define ABSL_STACKTRACE_INL_HEADER \
-   "absl/debugging/internal/stacktrace_x86-inl.inc"
--#elif defined(__ppc__) || defined(__PPC__)
-+#elif (defined(__ppc__) || defined(__PPC__)) && defined(__GLIBC__)
- #define ABSL_STACKTRACE_INL_HEADER \
-   "absl/debugging/internal/stacktrace_powerpc-inl.inc"
- #elif defined(__aarch64__)
diff --git a/srcpkgs/abseil-cpp/template b/srcpkgs/abseil-cpp/template
index 8640d2489406..3ffdb4d99d33 100644
--- a/srcpkgs/abseil-cpp/template
+++ b/srcpkgs/abseil-cpp/template
@@ -1,6 +1,6 @@
 # Template file for 'abseil-cpp'
 pkgname=abseil-cpp
-version=20220623.1
+version=20230125.3
 revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON -DABSL_PROPAGATE_CXX_STD=ON"
@@ -10,7 +10,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="Apache-2.0"
 homepage="https://abseil.io"
 distfiles="https://github.com/abseil/abseil-cpp/archive/${version}.tar.gz"
-checksum=91ac87d30cc6d79f9ab974c51874a704de9c2647c40f6932597329a282217ba8
+checksum=5366d7e7fa7ba0d915014d387b66d0d002c03236448e1ba9ef98122c13b35c36
 
 abseil-cpp-devel_package() {
 	short_desc+=" (development files)"

From 070c94ef46fae72a215611c0cd5091aa6c2d0a06 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 02/35] Bear: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/Bear/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/Bear/template b/srcpkgs/Bear/template
index cebf51b64728..2e6da3ba9a30 100644
--- a/srcpkgs/Bear/template
+++ b/srcpkgs/Bear/template
@@ -1,7 +1,7 @@
 # Template file for 'Bear'
 pkgname=Bear
 version=3.1.2
-revision=1
+revision=2
 build_style=cmake
 hostmakedepends="pkg-config protobuf protobuf-devel grpc"
 makedepends="json-c++ spdlog grpc-devel protobuf-devel gtest-devel"

From f0d5fbd24e91caa8ec80f5a00395997f90c055b4 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 03/35] grpc: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/grpc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index 5b4547a5c0fc..f9d197a1c354 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -1,7 +1,7 @@
 # Template file for 'grpc'
 pkgname=grpc
 version=1.49.1
-revision=2
+revision=3
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON
  -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package

From 5135b2469b605af7a30f54f996ae79342c0a0083 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 04/35] justbuild: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/justbuild/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index 1ad8e334617d..ee36f6dae575 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
 # Template file for 'justbuild'
 pkgname=justbuild
 version=1.1.2
-revision=1
+revision=2
 create_wrksrc=yes
 hostmakedepends="jo pandoc pkg-config python3 tar unzip wget"
 makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++

From 83d0bcb86fc591094cb8f322b15d25d0f1bb7c09 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 05/35] python3-grpcio: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/python3-grpcio/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 826eda0fc560..9b3c7288a9dd 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-grpcio'
 pkgname=python3-grpcio
 version=1.49.1
-revision=3
+revision=4
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-six python3-Cython"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel

From e70416672cfbac20254e87e4cdcfdaf0f971d171 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 06/35] sysdig: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/sysdig/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index 81ddb7aba5e3..4a04e762468c 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,7 +1,7 @@
 # Template file for 'sysdig'
 pkgname=sysdig
 version=0.28.0
-revision=7
+revision=8
 build_style=cmake
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF
@@ -36,7 +36,8 @@ CXXFLAGS="-Wno-deprecated-declarations"
 CXXFLAGS+=" -I/usr/include/grpc_absl"
 
 post_extract() {
-	sed -i 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' scripts/CMakeLists.txt
+	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
+	vsed -e 's|-std=c++0x||' -i CMakeLists.txt
 }
 
 post_install() {

From 800ca7d5875ce0ad81cf9da4910ea2016a37e737 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 22:01:12 +0200
Subject: [PATCH 07/35] python3-grpcio: update to 1.56.0.

---
 srcpkgs/python3-grpcio/template | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 9b3c7288a9dd..25ea3fc34620 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-grpcio'
 pkgname=python3-grpcio
-version=1.49.1
-revision=4
+version=1.56.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-six python3-Cython"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel
@@ -12,7 +12,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://grpc.io"
 distfiles="${PYPI_SITE}/g/grpcio/grpcio-${version}.tar.gz"
-checksum=d4725fc9ec8e8822906ae26bb26f5546891aa7fbc3443de970cc556d43a5c99f
+checksum=4c08ee21b3d10315b8dc26f6c13917b20ed574cdbed2d2d80c53d5508fdcc0f2
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	makedepends+=" libatomic-devel"
@@ -29,5 +29,7 @@ export GRPC_PYTHON_BUILD_SYSTEM_RE2=1
 export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
 
 post_extract() {
+	# abseil-cpp 2023xxxxxx requires at least c++ 17
+	vsed -e 's/c++14/c++17/g' -i setup.py
 	rm src/python/grpcio/grpc/_cython/cygrpc.cpp
 }

From c76a291deda8265fcaaf4d12f30dcde98f0ab156 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 22:01:47 +0200
Subject: [PATCH 08/35] grpc: update to 1.56.0.

---
 common/shlibs                                 | 24 +++++++++----------
 srcpkgs/grpc/patches/cmake.patch              | 20 ++++++++++++++++
 .../grpc/patches/revert-find-protobuf.patch   | 23 ++++++++++++++++++
 srcpkgs/grpc/template                         | 15 ++++++------
 4 files changed, 63 insertions(+), 19 deletions(-)
 create mode 100644 srcpkgs/grpc/patches/cmake.patch
 create mode 100644 srcpkgs/grpc/patches/revert-find-protobuf.patch

diff --git a/common/shlibs b/common/shlibs
index d1e779f4e7cb..5adfa4d6e69f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3683,18 +3683,18 @@ liboblibs.so.0.1 oblibs-0.1.1.1_1
 libaal-1.0.so.7 libaal-1.0.7_1
 libaal-minimal.so.0 libaal-1.0.7_1
 libcli.so.1.9 libcli-1.9.8.4_1
-libaddress_sorting.so.27 libgrpc-1.49.1_1
-libgpr.so.27 libgrpc-1.49.1_1
-libgrpc.so.27 libgrpc-1.49.1_1
-libgrpc_unsecure.so.27 libgrpc-1.49.1_1
-libupb.so.27 libgrpc-1.49.1_1
-libgrpc++.so.1.49 libgrpc-1.49.1_1
-libgrpc++_alts.so.1.49 libgrpc-1.49.1_1
-libgrpc++_error_details.so.1.49 libgrpc-1.49.1_1
-libgrpc++_reflection.so.1.49 libgrpc-1.49.1_1
-libgrpc++_unsecure.so.1.49 libgrpc-1.49.1_1
-libgrpc_plugin_support.so.1.49 libgrpc-1.49.1_1
-libgrpcpp_channelz.so.1.49 libgrpc-1.49.1_1
+libaddress_sorting.so.33 libgrpc-1.56.0_1
+libgpr.so.33 libgrpc-1.56.0_1
+libgrpc.so.33 libgrpc-1.56.0_1
+libgrpc_unsecure.so.33 libgrpc-1.56.0_1
+libupb.so.33 libgrpc-1.56.0_1
+libgrpc++.so.1.56 libgrpc-1.56.0_1
+libgrpc++_alts.so.1.56 libgrpc-1.56.0_1
+libgrpc++_error_details.so.1.56 libgrpc-1.56.0_1
+libgrpc++_reflection.so.1.56 libgrpc-1.56.0_1
+libgrpc++_unsecure.so.1.56 libgrpc-1.56.0_1
+libgrpc_plugin_support.so.1.56 libgrpc-1.56.0_1
+libgrpcpp_channelz.so.1.56 libgrpc-1.56.0_1
 libircclient.so.1 libircclient-1.10_5
 libFAudio.so.0 FAudio-19.05_1
 libqaccessibilityclient-qt5.so.0 libqaccessibilityclient-0.4.0_1
diff --git a/srcpkgs/grpc/patches/cmake.patch b/srcpkgs/grpc/patches/cmake.patch
new file mode 100644
index 000000000000..54d04e29837d
--- /dev/null
+++ b/srcpkgs/grpc/patches/cmake.patch
@@ -0,0 +1,20 @@
+--- a/cmake/gRPCConfig.cmake.in	2023-06-14 22:21:16.000000000 +0200
++++ -	2023-06-28 11:11:32.902678412 +0200
+@@ -1,5 +1,6 @@
+ # Module path
+ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/modules)
++include(CMakeFindDependencyMacro)
+ 
+ # Depend packages
+ @_gRPC_FIND_ZLIB@
+--- a/CMakeLists.txt	2023-07-11 08:54:22.009027477 +0200
++++ -	2023-07-11 08:54:38.950947984 +0200
+@@ -12375,6 +12375,8 @@
+   ${_gRPC_ZLIB_LIBRARIES}
+   ${_gRPC_ALLTARGETS_LIBRARIES}
+   grpc_plugin_support
++  absl::hash
++  absl::raw_hash_set
+ )
+ 
+ 
diff --git a/srcpkgs/grpc/patches/revert-find-protobuf.patch b/srcpkgs/grpc/patches/revert-find-protobuf.patch
new file mode 100644
index 000000000000..6001f37c6b1b
--- /dev/null
+++ b/srcpkgs/grpc/patches/revert-find-protobuf.patch
@@ -0,0 +1,23 @@
+Use the old cmake provided FindProtobuf() implementation for now.
+A future cmake update will remove this module, but use it for now until
+all packages are updated to the new system
+---
+--- a/cmake/protobuf.cmake	2023-06-14 22:21:16.000000000 +0200
++++ -	2023-07-10 21:05:41.114443796 +0200
+@@ -55,7 +55,7 @@
+     set(gRPC_INSTALL FALSE)
+   endif()
+ elseif(gRPC_PROTOBUF_PROVIDER STREQUAL "package")
+-  find_package(Protobuf REQUIRED CONFIG)
++  find_package(Protobuf REQUIRED)
+ 
+   if(Protobuf_FOUND OR PROTOBUF_FOUND)
+     if(TARGET protobuf::${_gRPC_PROTOBUF_LIBRARY_NAME})
+@@ -86,6 +86,6 @@
+         set(_gRPC_PROTOBUF_PROTOC_EXECUTABLE ${PROTOBUF_PROTOC_EXECUTABLE})
+       endif()
+     endif()
+-    set(_gRPC_FIND_PROTOBUF "find_dependency(Protobuf CONFIG)")
++    set(_gRPC_FIND_PROTOBUF "find_dependency(Protobuf)")
+   endif()
+ endif()
diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index f9d197a1c354..9c58c2509bee 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -1,14 +1,13 @@
 # Template file for 'grpc'
 pkgname=grpc
-version=1.49.1
-revision=3
+version=1.56.0
+revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON
  -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package
  -DgRPC_SSL_PROVIDER=package -DgRPC_ZLIB_PROVIDER=package
- -DgRPC_ABSL_PROVIDER=package -D_gRPC_RE2_LIBRARIES=-lre2
- -D_gRPC_RE2_INCLUDE_DIR=${XBPS_CROSS_BASE}/usr/include"
-hostmakedepends="which protobuf"
+ -DgRPC_ABSL_PROVIDER=package -DgRPC_RE2_PROVIDER=package"
+hostmakedepends="protobuf pkg-config"
 _devel_depends="c-ares-devel re2-devel zlib-devel openssl-devel abseil-cpp-devel"
 makedepends="libprotoc-devel protobuf-devel gperftools-devel ${_devel_depends}"
 short_desc="High performance, open source, general RPC framework"
@@ -16,11 +15,12 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://github.com/grpc/grpc"
 distfiles="${homepage}/archive/v${version}/${pkgname}-${version}.tar.gz"
-checksum=5071b630e2a14707ad060636990f1b25b0984bd168c7ea1ab95e48a3bdc0081f
+checksum=e034992a0b464042021f6d440f2090acc2422c103a322b0844e3921ccea981dc
 
 if [ "$CROSS_BUILD" ]; then
 	# need host grpc_cpp_plugin
 	hostmakedepends+=" grpc"
+	configure_args+=" -DProtobuf_PROTOC_EXECUTABLE=/usr/bin/protoc"
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
@@ -38,7 +38,8 @@ libgrpc_package() {
 
 grpc-devel_package() {
 	short_desc+=" - development files"
-	depends="${sourcepkg}>=${version}_${revision} ${_devel_depends}"
+	depends="${sourcepkg}>=${version}_${revision} ${_devel_depends}
+	 protobuf-devel"
 	pkg_install() {
 		vmove usr/include
 		vmove usr/lib/*.so

From 8df7415731235e0c4c1b3e2b14ea5f53149d994e Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:40:13 +0200
Subject: [PATCH 09/35] protobuf: update to 23.4.

- switch to cmake buildstyle
- grpc needs the .cmake files to find protobuf
- newer version of protobuf will drop autoconf
---
 common/shlibs             |  6 ++---
 srcpkgs/protobuf/template | 46 ++++++++++++++-------------------------
 2 files changed, 19 insertions(+), 33 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 5adfa4d6e69f..3cd47fb4f486 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3115,9 +3115,9 @@ libm17n-flt.so.0 m17n-lib-1.7.0_1
 libm17n-gui.so.0 m17n-lib-1.7.0_1
 libm17n-core.so.0 m17n-lib-1.7.0_1
 libm17n.so.0 m17n-lib-1.7.0_1
-libprotobuf-lite.so.32 libprotobuf-lite-21.4_1
-libprotoc.so.32 libprotoc-21.4_1
-libprotobuf.so.32 libprotobuf-21.4_1
+libprotobuf-lite.so.23.4.0 libprotobuf-lite-23.4_1
+libprotoc.so.23.4.0 libprotoc-23.4_1
+libprotobuf.so.23.4.0 libprotobuf-23.4_1
 libsombok.so.3 sombok-2.4.0_1
 libdeviceclient.so.0 pragha-1.3.3_1
 libykclient.so.3 ykclient-2.15_1
diff --git a/srcpkgs/protobuf/template b/srcpkgs/protobuf/template
index 571f06487c85..91324a4da612 100644
--- a/srcpkgs/protobuf/template
+++ b/srcpkgs/protobuf/template
@@ -1,22 +1,22 @@
 # Template file for 'protobuf'
 pkgname=protobuf
-version=21.12
+version=23.4
 revision=1
-create_wrksrc="yes"
-build_wrksrc="${pkgname}-${version}"
-build_style=gnu-configure
-hostmakedepends="pkg-config automake libtool"
-makedepends="zlib-devel"
+build_style=cmake
+hostmakedepends="pkg-config"
+configure_args="-Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_USE_EXTERNAL_GTEST=ON
+ -Dprotobuf_BUILD_LIBPROTOC=ON -Dprotobuf_ABSL_PROVIDER=package"
+# XXX: Tests require that the abseil-cpp provides absl::scoped_mock_log
+configure_args+=" -Dprotobuf_BUILD_TESTS=OFF"
+makedepends="zlib-devel gtest-devel libatomic-devel
+ abseil-cpp-devel"
 short_desc="Protocol buffers compiler"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
 changelog="https://raw.githubusercontent.com/google/protobuf/master/CHANGES.txt"
-_googletest_commit="5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081"
-distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz
- https://github.com/google/googletest/archive/${_googletest_commit}.tar.gz"
-checksum="22fdaf641b31655d4b2297f9981fa5203b2866f8332d3c6333f6b0107bb320de
- 0e2f36e8e403c125fd0ab02171bdb786d3b6b3875b6ccf3b2eb7969be8faecd0"
+distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz"
+checksum=a700a49470d301f1190a487a923b5095bf60f08f4ae4cac9f5f7c36883d17971
 
 # Switch to versioned package
 conflicts="protobuf18>=0 protobuf23>=0 protobuf24>=0
@@ -26,24 +26,11 @@ replaces="${conflicts}"
 if [ "$CROSS_BUILD" ]; then
 	# needs host protoc
 	hostmakedepends+=" ${pkgname}"
-	configure_args+=" --with-protoc=/usr/bin/protoc"
+	configure_args+=" -Dprotobuf_PROTOC_EXE=/usr/bin/protoc"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-	LDFLAGS+=" -latomic"
-fi
-
-post_extract() {
-	rmdir "${build_wrksrc}/third_party/googletest"
-	mv "googletest-${_googletest_commit}" "${build_wrksrc}/third_party/googletest"
-}
-
-pre_configure() {
-	autoreconf -fi
-}
-
 post_install() {
+	rm -rf "${DESTDIR}/usr/lib/cmake"
 	vlicense LICENSE
 }
 
@@ -80,7 +67,6 @@ libprotoc-devel_package() {
 	 libprotoc26-devel>=0 libprotoc28-devel>=0"
 	replaces="${conflicts}"
 	pkg_install() {
-		vmove usr/lib/libprotoc.a
 		vmove usr/lib/libprotoc.so
 		vmove usr/include/google/protobuf/compiler
 	}
@@ -89,7 +75,8 @@ libprotoc-devel_package() {
 protobuf-devel_package() {
 	depends="zlib-devel
 	 libprotobuf-${version}_${revision}
-	 libprotobuf-lite-${version}_${revision}"
+	 libprotobuf-lite-${version}_${revision}
+	 abseil-cpp-devel"
 	short_desc="Protocol buffers C++ library - development files"
 	# Switch to versioned package
 	conflicts="protobuf18-devel>=0 protobuf23-devel>=0
@@ -98,10 +85,9 @@ protobuf-devel_package() {
 	replaces="${conflicts}"
 	pkg_install() {
 		vmove usr/include
-		vmove usr/lib/libprotobuf.a
-		vmove usr/lib/libprotobuf-lite.a
 		vmove usr/lib/libprotobuf.so
 		vmove usr/lib/libprotobuf-lite.so
 		vmove usr/lib/pkgconfig
+		vmove "usr/lib/*.a"
 	}
 }

From 9bccf6aee2e776be6b7e05a641821f5fec675a8f Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 10/35] EternalTerminal: rebuild against protobuf-23.3_1

---
 srcpkgs/EternalTerminal/patches/limits.patch | 10 ++++++++++
 srcpkgs/EternalTerminal/template             |  2 +-
 2 files changed, 11 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/EternalTerminal/patches/limits.patch

diff --git a/srcpkgs/EternalTerminal/patches/limits.patch b/srcpkgs/EternalTerminal/patches/limits.patch
new file mode 100644
index 000000000000..9226bd45001a
--- /dev/null
+++ b/srcpkgs/EternalTerminal/patches/limits.patch
@@ -0,0 +1,10 @@
+--- a/EternalTerminal/external_imported/cxxopts/include/cxxopts.hpp	2022-05-05 17:20:44.000000000 +0200
++++ -	2023-07-10 20:07:25.607948589 +0200
+@@ -37,6 +37,7 @@
+ #include <unordered_map>
+ #include <unordered_set>
+ #include <vector>
++#include <limits>
+ 
+ #ifdef __cpp_lib_optional
+ #include <optional>
diff --git a/srcpkgs/EternalTerminal/template b/srcpkgs/EternalTerminal/template
index 1017a1b4a1ec..156eab6ce47e 100644
--- a/srcpkgs/EternalTerminal/template
+++ b/srcpkgs/EternalTerminal/template
@@ -1,7 +1,7 @@
 # Template file for 'EternalTerminal'
 pkgname=EternalTerminal
 version=6.2.1
-revision=1
+revision=2
 # revisions used for the specific versions of submodules.
 # they can be found in the external/ directory of the source code.
 _sanitizers_gitrev="99e159ec9bc8dd362b08d18436bd40ff0648417b"

From 986df5b350313696ec57f400c5afac12cc4c9b55 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 11/35] vlc: rebuild against protobuf-23.3_1

---
 srcpkgs/vlc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vlc/template b/srcpkgs/vlc/template
index 210762b0a7e2..651c94a1353a 100644
--- a/srcpkgs/vlc/template
+++ b/srcpkgs/vlc/template
@@ -1,7 +1,7 @@
 # Template file for 'vlc'
 pkgname=vlc
 version=3.0.18
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--disable-gme --disable-libtar --enable-jack
  --enable-live555 --disable-fluidsynth --enable-dvdread

From d0fed1c54435881af8c962c4c84cf617a7bfe5d6 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 12/35] mixxx: rebuild against protobuf-23.3_1

---
 srcpkgs/mixxx/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mixxx/template b/srcpkgs/mixxx/template
index 619ddca0d332..4b9ea00d3fb3 100644
--- a/srcpkgs/mixxx/template
+++ b/srcpkgs/mixxx/template
@@ -1,7 +1,7 @@
 # Template file for 'mixxx'
 pkgname=mixxx
 version=2.3.3
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="extra-cmake-modules pkg-config protobuf qt5-host-tools qt5-devel"

From bdced854dc9e6c85ef36464d6b734bd8b96a6347 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 13/35] telegram-desktop: rebuild against protobuf-23.3_1

---
 srcpkgs/telegram-desktop/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/telegram-desktop/template b/srcpkgs/telegram-desktop/template
index f114b2341dc5..9db9f80c1a53 100644
--- a/srcpkgs/telegram-desktop/template
+++ b/srcpkgs/telegram-desktop/template
@@ -1,7 +1,7 @@
 # Template file for 'telegram-desktop'
 pkgname=telegram-desktop
 version=4.8.1
-revision=3
+revision=4
 build_style=cmake
 build_helper="qemu"
 configure_args="-DTDESKTOP_API_ID=209235

From 1da68f2ac5c176c2a3edb23d58bcde0a218ea25a Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:56 +0200
Subject: [PATCH 14/35] usbguard: rebuild against protobuf-23.3_1

---
 srcpkgs/usbguard/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/usbguard/template b/srcpkgs/usbguard/template
index 8625c80a7eda..df4411202568 100644
--- a/srcpkgs/usbguard/template
+++ b/srcpkgs/usbguard/template
@@ -1,7 +1,7 @@
 # Template file for 'usbguard'
 pkgname=usbguard
 version=1.1.2
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-crypto-library=sodium --with-bundled-catch --with-bundled-pegtl"
 conf_files="/etc/usbguard/*"

From 42aff316e19aa152a14aceeab691241350d13b07 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 15/35] nsjail: rebuild against protobuf-23.3_1

---
 srcpkgs/nsjail/patches/cpp17.patch       | 11 +++++++++
 srcpkgs/nsjail/patches/kafel-bison.patch | 30 ------------------------
 srcpkgs/nsjail/patches/ldflags.patch     | 11 +++++++++
 srcpkgs/nsjail/patches/log.patch         | 24 +++++++++++++++++++
 srcpkgs/nsjail/template                  | 13 +++++-----
 5 files changed, 53 insertions(+), 36 deletions(-)
 create mode 100644 srcpkgs/nsjail/patches/cpp17.patch
 delete mode 100644 srcpkgs/nsjail/patches/kafel-bison.patch
 create mode 100644 srcpkgs/nsjail/patches/ldflags.patch
 create mode 100644 srcpkgs/nsjail/patches/log.patch

diff --git a/srcpkgs/nsjail/patches/cpp17.patch b/srcpkgs/nsjail/patches/cpp17.patch
new file mode 100644
index 000000000000..384ff7b51258
--- /dev/null
+++ b/srcpkgs/nsjail/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/Makefile	2022-11-22 22:25:15.000000000 +0100
++++ -	2023-07-08 16:35:16.308351723 +0200
+@@ -32,7 +32,7 @@
+ 	-Ikafel/include
+ 
+ CXXFLAGS += $(USER_DEFINES) $(COMMON_FLAGS) $(shell pkg-config --cflags protobuf) \
+-	-std=c++14 -fno-exceptions -Wno-unused -Wno-unused-parameter
++	-std=c++17 -fno-exceptions -Wno-unused -Wno-unused-parameter
+ LDFLAGS += -pie -Wl,-z,noexecstack -lpthread $(shell pkg-config --libs protobuf)
+ 
+ BIN = nsjail
diff --git a/srcpkgs/nsjail/patches/kafel-bison.patch b/srcpkgs/nsjail/patches/kafel-bison.patch
deleted file mode 100644
index 48eff0d36369..000000000000
--- a/srcpkgs/nsjail/patches/kafel-bison.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 32768d3cc8cecbc30d9020dbfa8d9ec541d057e4 Mon Sep 17 00:00:00 2001
-From: Evangelos Foutras <evangelos@foutrelis.com>
-Date: Wed, 17 Mar 2021 16:36:40 +0200
-Subject: [PATCH] Replace YYUSE call with void cast in src/parser.y
-
-The YYUSE macro was renamed to YY_USE in bison 3.7.5; we might as well
-avoid using it altogether and cast the unused variable to void instead.
-
-Fixes the following linker error:
-
-/usr/bin/ld: kafel/libkafel.a(libkafel.o): in function `kafel_yyerror':
-arm_syscalls.c:(.text+0x6984): undefined reference to `YYUSE'
----
- src/parser.y | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git kafel/src/parser.y kafel/src/parser.y
-index e0f109c..0e01373 100644
---- a/kafel/src/parser.y
-+++ b/kafel/src/parser.y
-@@ -420,8 +420,8 @@ const_def
- 
- void yyerror(YYLTYPE * loc, struct kafel_ctxt* ctxt, yyscan_t scanner,
-              const char *msg) {
-+  (void)scanner; /* suppress unused-parameter warning */
-   if (!ctxt->lexical_error) {
--    YYUSE(scanner);
-     if (loc->filename != NULL) {
-       append_error(ctxt, "%s:%d:%d: %s", loc->filename, loc->first_line, loc->first_column, msg);
-     } else {
diff --git a/srcpkgs/nsjail/patches/ldflags.patch b/srcpkgs/nsjail/patches/ldflags.patch
new file mode 100644
index 000000000000..c039ea09e237
--- /dev/null
+++ b/srcpkgs/nsjail/patches/ldflags.patch
@@ -0,0 +1,11 @@
+--- a/kafel/src/Makefile	2023-07-08 16:40:45.058218240 +0200
++++ -	2023-07-08 16:54:04.459715051 +0200
+@@ -56,7 +56,7 @@
+ 	$(CC) $(CFLAGS) -Wl,-soname,$@.${VERSION} -shared $^ -o $@
+ 
+ ${STATIC_TARGET}: ${OBJECTS}
+-	$(LD) $(LDFLAGS) -r ${OBJECTS} -o libkafel_r.o
++	$(LD) -r ${OBJECTS} -o libkafel_r.o
+ 	# Fix x86 PIC symbols
+ 	$(OBJDUMP) -t libkafel_r.o | grep '.hidden' | grep -v 'get_pc_thunk' | sed -e 's/^.*\.hidden //' > libkafel.localize_symbols
+ 	$(OBJCOPY) -w --localize-symbols=libkafel.localize_symbols libkafel_r.o libkafel.o
diff --git a/srcpkgs/nsjail/patches/log.patch b/srcpkgs/nsjail/patches/log.patch
new file mode 100644
index 000000000000..9e7f12368076
--- /dev/null
+++ b/srcpkgs/nsjail/patches/log.patch
@@ -0,0 +1,24 @@
+diff --git a/config.cc b/config.cc
+index 5242ba4..bbb2b6d 100644
+--- a/config.cc
++++ b/config.cc
+@@ -302,11 +302,6 @@ static bool configParseInternal(nsjconf_t* nsjconf, const nsjail::NsJailConfig&
+ 	return true;
+ }
+ 
+-static void LogHandler(
+-    google::protobuf::LogLevel level, const char* filename, int line, const std::string& message) {
+-	LOG_W("config.cc: '%s'", message.c_str());
+-}
+-
+ bool parseFile(nsjconf_t* nsjconf, const char* file) {
+ 	LOG_D("Parsing configuration from '%s'", file);
+ 
+@@ -316,7 +311,6 @@ bool parseFile(nsjconf_t* nsjconf, const char* file) {
+ 		return false;
+ 	}
+ 
+-	SetLogHandler(LogHandler);
+ 	google::protobuf::io::FileInputStream input(fd);
+ 	input.SetCloseOnDelete(true);
+ 
diff --git a/srcpkgs/nsjail/template b/srcpkgs/nsjail/template
index 346348fdf17b..5c5d0a508f38 100644
--- a/srcpkgs/nsjail/template
+++ b/srcpkgs/nsjail/template
@@ -1,7 +1,7 @@
 # Template file for 'nsjail'
 pkgname=nsjail
-version=3.0
-revision=9
+version=3.3
+revision=1
 create_wrksrc=yes
 build_style=gnu-makefile
 hostmakedepends="bison flex pkg-config protobuf which"
@@ -11,9 +11,9 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="http://nsjail.com"
 distfiles="https://github.com/google/nsjail/archive/${version}.tar.gz
- https://github.com/google/kafel/archive/8e69b8efae415cde3debffbb1e379d9e7a16835a.tar.gz"
-checksum="cfa66d3ed136b2e221752287b95e544915e8a6760aa866f023b604d14a374919
- 4a6c9a1a70ed99bbed767adc106081b017a3090307ea88cc7e329b82daa1373b"
+ https://github.com/google/kafel/archive/1af0975af45ca4404f357b9a4e1636f53a01bfd3.tar.gz"
+checksum="9c247d0cba565b4e3f91cc76e827ddf7f3ad499f54ba611edd25d4d7be4890c3
+ e8c195a2a08daa70c7712adae3eaa01656b039dcc8cc1e5e8210006716761ad5"
 
 archs="aarch64* armv5tel* armv6l* armv7l* x86_64*"
 
@@ -28,7 +28,8 @@ post_extract() {
 }
 
 post_patch() {
-	sed -i -e 's/-Werror\b//g' -e 's/\b\(\(C\(XX\)\?\|LD\)FLAGS\s*+=\)/override \1/g' Makefile kafel/build/Makefile.mk kafel/src/Makefile
+	vsed -e 's/-Werror\b//g' -i Makefile kafel/build/Makefile.mk
+	vsed -e 's/\b\(\(C\(XX\)\?\|LD\)FLAGS\s*+=\)/override \1/g' -i Makefile kafel/build/Makefile.mk kafel/src/Makefile
 }
 
 do_install() {

From a660f86f0a3d2c26009014248077fd5784f2d719 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 16/35] netdata: rebuild against protobuf-23.3_1

---
 srcpkgs/netdata/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 18dbe4394a4e..781120b3f275 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -1,7 +1,7 @@
 # Template file for 'netdata'
 pkgname=netdata
 version=1.37.1
-revision=1
+revision=2
 build_style=gnu-configure
 build_helper=qemu
 configure_args="--with-user=_netdata ac_cv_file_externaldeps_libbpf_libbpf_a=no

From 18a7b9026d1e56646affaf069287f22590b5b01e Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 17/35] mumble: rebuild against protobuf-23.3_1

---
 srcpkgs/mumble/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/mumble/patches/musl.patch  | 14 ++++++++++++++
 srcpkgs/mumble/template            |  2 +-
 3 files changed, 26 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/mumble/patches/cpp17.patch
 create mode 100644 srcpkgs/mumble/patches/musl.patch

diff --git a/srcpkgs/mumble/patches/cpp17.patch b/srcpkgs/mumble/patches/cpp17.patch
new file mode 100644
index 000000000000..7cb9c9a93355
--- /dev/null
+++ b/srcpkgs/mumble/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- mumble-1.4.287/CMakeLists.txt	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-07-10 20:12:27.869019033 +0200
+@@ -35,7 +35,7 @@
+ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/3rdparty")
+ set(PLUGINS_DIR "${CMAKE_SOURCE_DIR}/plugins")
+ 
+-set(CMAKE_CXX_STANDARD 14)
++set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_OSX_DEPLOYMENT_TARGET 10.13)
+ 
+ list(APPEND CMAKE_MODULE_PATH
diff --git a/srcpkgs/mumble/patches/musl.patch b/srcpkgs/mumble/patches/musl.patch
new file mode 100644
index 000000000000..49d83a422b8e
--- /dev/null
+++ b/srcpkgs/mumble/patches/musl.patch
@@ -0,0 +1,14 @@
+Newer musl expands NULL to nullptr, which is not a bool.
+Either way, the check is always true with openssl 1.1+, so it can probably removed alltogether
+---
+--- mumble-1.4.287/src/SSL.cpp	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-02-07 22:18:16.093759105 +0100
+@@ -33,7 +34,7 @@
+ 	// If we detect that no locking callback is configured, we
+ 	// have to set it up ourselves to allow multi-threaded use
+ 	// of OpenSSL.
+-	if (!CRYPTO_get_locking_callback()) {
++	if (CRYPTO_get_locking_callback() == NULL) {
+ 		SSLLocks::initialize();
+ 	}
+ }
diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 35c2728c74ce..5c30d4ae64b4 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.4.287
-revision=3
+revision=4
 build_style=cmake
 make_cmd=make
 configure_args="-Doverlay-xcompile=OFF -Dbundled-opus=OFF

From ec299deaeb4d04c8a46fdfcf4ca50fac0c047829 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 18/35] mumble: rebuild against protobuf-23.3_1

---
 srcpkgs/mumble/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 5c30d4ae64b4..3dc669705365 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.4.287
-revision=4
+revision=5
 build_style=cmake
 make_cmd=make
 configure_args="-Doverlay-xcompile=OFF -Dbundled-opus=OFF

From 94fe9a82bc1b9c82c35aeac5900575f510437d00 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 19/35] mozc: statically link against vendored prootbuf

protobuf 23+ links against abseil, which conflicts with the vendored
abseil version in mozc. The build system does not have a flag to use
system abseil.
---
 srcpkgs/mozc/template | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/mozc/template b/srcpkgs/mozc/template
index 3fdb986b3213..e7735cb57f4f 100644
--- a/srcpkgs/mozc/template
+++ b/srcpkgs/mozc/template
@@ -3,16 +3,17 @@ pkgname=mozc
 # src/data/version/mozc_version_template.bzl
 # revision is always 102, template always says 100 ;)
 version=2.28.4800.102
-revision=1
+revision=2
 _commit=056163a5fddbb261b258beb8444998e4882f0cc5
 _abseil=20211102.0
+_protobuf_commit=cc7b1b53234cd7a8f50d90ac3933b240dcf4cd97
 _gyp=0.1+20220404git9ecf45e
 _jpn_dict=e5b3425575734c323e1d947009dd74709437b684
 create_wrksrc=yes
 build_wrksrc=mozc/src
-hostmakedepends="gettext ninja pkg-config protobuf protobuf-devel
+hostmakedepends="gettext ninja pkg-config
  python3-six which qt5-qmake qt5-host-tools"
-makedepends="gtk+-devel ibus-devel libzinnia-devel protobuf-devel qt5-devel
+makedepends="gtk+-devel ibus-devel libzinnia-devel qt5-devel
  fcitx-devel libfcitx5-devel"
 depends="tegaki-zinnia-japanese>=0.3 mozc-base-${version}_${revision}"
 short_desc="Japanese IME (Open Source version of Google Japanese Input)"
@@ -22,11 +23,13 @@ homepage="https://github.com/google/mozc"
 distfiles="
  https://github.com/fcitx/mozc/archive/$_commit.tar.gz
  https://github.com/abseil/abseil-cpp/archive/refs/tags/$_abseil.tar.gz
+ https://github.com/protocolbuffers/protobuf/archive/$_protobuf_commit.tar.gz
  ${DEBIAN_SITE}/main/g/gyp/gyp_$_gyp.orig.tar.xz
  https://github.com/hiroyuki-komatsu/japanese-usage-dictionary/archive/$_jpn_dict.tar.gz
 "
 checksum="259d87bfd7535ad03bd554185677d7345a90166353a6db0b6a3606183ad2923d
  dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4
+ 863e27f6d24f40bce2bbfe5adcf365f2af5479ea917f254331ee60ce88f8c8a5
  0325006f012db66dfa27bf7bb048f3fe38f96e512ebe065930cbc70bcdc06bc9
  0b6efee0eebac2c1a8eeea333278aa40fcef7846bba9a379962c6e567e7e3dc1"
 
@@ -47,7 +50,8 @@ post_extract() {
 	# symlink "submodules" into place
 	for _src_dest in gyp \
 		abseil-cpp \
-		japanese-usage-dictionary:japanese_usage_dictionary
+		japanese-usage-dictionary:japanese_usage_dictionary \
+		protobuf
 	do
 		_src=${_src_dest%:*}
 		_dst=${_src_dest#*:}
@@ -61,7 +65,6 @@ do_configure() {
 	GYP_DEFINES="
 	 document_dir=/usr/share/licenses/${pkgname}
 	 ibus_mozc_path=/usr/libexec/ibus-engine-mozc
-	 use_libprotobuf=1
 	 use_libzinnia=1
 	 ${XBPS_TARGET_NO_ATOMIC8:+use_libatomic=1}
 	" python3 build_mozc.py gyp --target_platform=Linux

From caaf0b548295af185f5ca74c7c59c3cd8f298d9c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 20/35] mosh: rebuild against protobuf-23.3_1

---
 srcpkgs/mosh/patches/cpp17.patch | 14 ++++++++++++++
 srcpkgs/mosh/template            |  5 +++--
 2 files changed, 17 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/mosh/patches/cpp17.patch

diff --git a/srcpkgs/mosh/patches/cpp17.patch b/srcpkgs/mosh/patches/cpp17.patch
new file mode 100644
index 000000000000..5463adc2718b
--- /dev/null
+++ b/srcpkgs/mosh/patches/cpp17.patch
@@ -0,0 +1,14 @@
+--- a/configure.ac	2022-10-27 05:29:47.000000000 +0200
++++ -	2023-07-08 13:19:05.270079012 +0200
+@@ -22,9 +22,9 @@
+ # automake 1.12 seems to require this, but automake 1.11 doesn't recognize it
+ m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+ 
+-# Protobuf 3.6+ requires C++11.
++# Protobuf 3.6+ requires C++11., 4.2.2 with abseil requires C++17
+ AS_IF([pkg-config --atleast-version 3.6.0 protobuf],
+-  [AX_CXX_COMPILE_STDCXX([11])])
++  [AX_CXX_COMPILE_STDCXX([17])])
+ 
+ WARNING_CXXFLAGS=""
+ PICKY_CXXFLAGS=""
diff --git a/srcpkgs/mosh/template b/srcpkgs/mosh/template
index 173ba14bcd47..d252a0c29755 100644
--- a/srcpkgs/mosh/template
+++ b/srcpkgs/mosh/template
@@ -1,9 +1,9 @@
 # Template file for 'mosh'
 pkgname=mosh
 version=1.4.0
-revision=3
+revision=4
 build_style=gnu-configure
-hostmakedepends="perl pkg-config protobuf"
+hostmakedepends="perl pkg-config protobuf autoconf automake"
 makedepends="ncurses-devel protobuf-devel libutempter-devel openssl-devel"
 depends="perl-IO-Tty"
 short_desc="Mobile shell, remote terminal application that allows roaming"
@@ -16,4 +16,5 @@ checksum=872e4b134e5df29c8933dff12350785054d2fd2839b5ae6b5587b14db1465ddd
 pre_configure() {
 	# make local.test always succeed. It fails due to missing X server in chroot.
 	printf "%s\n" "#!/bin/sh" ":" > src/tests/local.test
+	autoreconf -fi
 }

From 072119c314844f6e3afdd58cfc54b5cfab4c89a1 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 21/35] libcompizconfig: rebuild against protobuf-23.3_1

---
 srcpkgs/libcompizconfig/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libcompizconfig/template b/srcpkgs/libcompizconfig/template
index 5b59eda97c78..3fb33698bfa6 100644
--- a/srcpkgs/libcompizconfig/template
+++ b/srcpkgs/libcompizconfig/template
@@ -1,7 +1,7 @@
 # Template file for 'libcompizconfig'
 pkgname=libcompizconfig
 version=0.8.18
-revision=10
+revision=11
 build_style=gnu-configure
 configure_args="--disable-static"
 hostmakedepends="automake intltool libtool pkg-config protobuf"

From d69a35fdcd31fb61587ecaa34139efacb810b090 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 22/35] libArcus: rebuild against protobuf-23.3_1

---
 srcpkgs/libArcus/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libArcus/template b/srcpkgs/libArcus/template
index d6fedecc5599..1cf1b866d650 100644
--- a/srcpkgs/libArcus/template
+++ b/srcpkgs/libArcus/template
@@ -1,7 +1,7 @@
 # Template file for 'libArcus'
 pkgname=libArcus
 version=4.13.1
-revision=4
+revision=5
 build_style=cmake
 configure_args="-DBUILD_EXAMPLES=OFF"
 hostmakedepends="protobuf python3-sip-devel"

From cf1ea6970ef2c39b9970bfd97fd971e52d1ee5ae Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 23/35] kismet: rebuild against protobuf-23.3_1

---
 srcpkgs/kismet/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/kismet/template b/srcpkgs/kismet/template
index 48a0fc5fa6f1..46cbf7b31811 100644
--- a/srcpkgs/kismet/template
+++ b/srcpkgs/kismet/template
@@ -1,7 +1,7 @@
 # Template file for 'kismet'
 pkgname=kismet
 version=2022.08.R1
-revision=2
+revision=3
 _realver="${version//./-}"
 build_style=gnu-configure
 configure_args="--disable-python-tools"

From 3f8cce658a16557bd550fde7a1b46abf05f2a0e5 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 24/35] cura-engine: rebuild against protobuf-23.3_1

---
 srcpkgs/cura-engine/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cura-engine/template b/srcpkgs/cura-engine/template
index 4f3118d30252..1f23ddace749 100644
--- a/srcpkgs/cura-engine/template
+++ b/srcpkgs/cura-engine/template
@@ -1,7 +1,7 @@
 # Template file for 'cura-engine'
 pkgname=cura-engine
 version=4.13.1
-revision=3
+revision=4
 build_style=cmake
 configure_args="-DCURA_ENGINE_VERSION=${version}"
 hostmakedepends="protobuf git"

From f6942005e204538b35c51d39707514e67bda7307 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 25/35] clementine: rebuild against protobuf-23.3_1

---
 srcpkgs/clementine/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/clementine/template b/srcpkgs/clementine/template
index acd098124529..a1cacbb73d8e 100644
--- a/srcpkgs/clementine/template
+++ b/srcpkgs/clementine/template
@@ -1,11 +1,11 @@
 # Template file for 'clementine'
 pkgname=clementine
 version=1.4.0rc1
-revision=10
+revision=11
 _fullver=${version}-873-g3471134d5
 build_style=cmake
 configure_args="-DUSE_SYSTEM_TAGLIB=ON -DBUILD_WERROR=OFF -DUSE_SYSTEM_PROJECTM=ON
- -DFORCE_GIT_REVISION=${_fullver}"
+ -DFORCE_GIT_REVISION=${_fullver} -DCMAKE_CXX_STANDARD=17"
 hostmakedepends="gettext sparsehash pkg-config qt5-qmake qt5-host-tools protobuf"
 makedepends="chromaprint-devel boost-devel gst-plugins-base1-devel
  qt5-devel glew-devel sqlite-devel protobuf-devel libplist-devel

From 60a72615cc643f00225e9ef68541ee50931da30e Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 26/35] bloaty: rebuild against protobuf-23.3_1

---
 srcpkgs/bloaty/patches/cpp17.patch         | 20 ++++++++
 srcpkgs/bloaty/patches/system-abseil.patch | 58 ++++++++++++++++++++++
 srcpkgs/bloaty/template                    |  2 +-
 3 files changed, 79 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/bloaty/patches/cpp17.patch
 create mode 100644 srcpkgs/bloaty/patches/system-abseil.patch

diff --git a/srcpkgs/bloaty/patches/cpp17.patch b/srcpkgs/bloaty/patches/cpp17.patch
new file mode 100644
index 000000000000..ca458dd79fb6
--- /dev/null
+++ b/srcpkgs/bloaty/patches/cpp17.patch
@@ -0,0 +1,20 @@
+--- bloaty-1.1/CMakeLists.txt	2020-05-24 06:43:55.000000000 +0200
++++ -	2023-07-08 12:51:24.115742363 +0200
+@@ -2,7 +2,7 @@
+ cmake_policy(SET CMP0048 NEW)
+ project (Bloaty VERSION 1.0)
+ project (Bloaty VERSION 1.1)
+-set(CMAKE_CXX_STANDARD 11)
++set(CMAKE_CXX_STANDARD 17)
+ 
+ # Options we define for users.
+ option(BLOATY_ENABLE_ASAN "Enable address sanitizer." OFF)
+@@ -93,7 +93,7 @@
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/src")
+ 
+ # Baseline build flags.
+-set(CMAKE_CXX_FLAGS "-std=c++11 -W -Wall -Wno-sign-compare")
++set(CMAKE_CXX_FLAGS "-W -Wall -Wno-sign-compare")
+ set(CMAKE_CXX_FLAGS_DEBUG "-g1")
+ set(CMAKE_CXX_FLAGS_RELEASE "-O2")
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g1")
diff --git a/srcpkgs/bloaty/patches/system-abseil.patch b/srcpkgs/bloaty/patches/system-abseil.patch
new file mode 100644
index 000000000000..799e10a3b540
--- /dev/null
+++ b/srcpkgs/bloaty/patches/system-abseil.patch
@@ -0,0 +1,58 @@
+--- bloaty-1.1/CMakeLists.txt	2020-05-24 06:43:55.000000000 +0200
++++ -	2023-07-08 13:07:06.559266321 +0200
+@@ -35,6 +35,12 @@
+   MESSAGE(STATUS "pkg-config not found, using bundled dependencies")
+ endif(${PKG_CONFIG_FOUND})
+ endif(UNIX)
++find_package(absl CONFIG)
++if(absl_FOUND)
++  MESSAGE(STATUS "System absl found, using")
++else()
++  MESSAGE(STATUS "System absl not found, using bundled version")
++endif()
+ 
+ # Set default build type.
+ if(NOT CMAKE_BUILD_TYPE)
+@@ -89,7 +95,6 @@
+ 
+ include_directories(.)
+ include_directories(src)
+-include_directories(third_party/abseil-cpp)
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/src")
+ 
+ # Baseline build flags.
+@@ -159,24 +164,6 @@
+     src/macho.cc
+     src/range_map.cc
+     src/webassembly.cc
+-    # Until Abseil has a proper CMake build system
+-    third_party/abseil-cpp/absl/base/internal/raw_logging.cc # Grrrr...
+-    third_party/abseil-cpp/absl/base/internal/throw_delegate.cc
+-    third_party/abseil-cpp/absl/numeric/int128.cc
+-    third_party/abseil-cpp/absl/strings/ascii.cc
+-    third_party/abseil-cpp/absl/strings/charconv.cc
+-    third_party/abseil-cpp/absl/strings/escaping.cc
+-    third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc
+-    third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc
+-    third_party/abseil-cpp/absl/strings/internal/memutil.cc
+-    third_party/abseil-cpp/absl/strings/internal/utf8.cc
+-    third_party/abseil-cpp/absl/strings/match.cc
+-    third_party/abseil-cpp/absl/strings/numbers.cc
+-    third_party/abseil-cpp/absl/strings/str_cat.cc
+-    third_party/abseil-cpp/absl/strings/string_view.cc
+-    third_party/abseil-cpp/absl/strings/str_split.cc
+-    third_party/abseil-cpp/absl/strings/substitute.cc
+-    third_party/abseil-cpp/absl/types/bad_optional_access.cc
+     # One source file, no special build system needed.
+     third_party/demumble/third_party/libcxxabi/cxa_demangle.cpp
+     )
+@@ -214,6 +201,9 @@
+   endif(${PROTOBUF_FOUND})
+ endif(UNIX)
+ 
++list(APPEND LIBBLOATY_LIBS absl::strings)
++list(APPEND LIBBLOATY_LIBS absl::optional)
++
+ if(DEFINED ENV{LIB_FUZZING_ENGINE})
+   message("LIB_FUZZING_ENGINE set, building fuzz_target instead of Bloaty")
+   add_executable(fuzz_target tests/fuzz_target.cc)
diff --git a/srcpkgs/bloaty/template b/srcpkgs/bloaty/template
index 226d2f30ffcd..2a79fb502f99 100644
--- a/srcpkgs/bloaty/template
+++ b/srcpkgs/bloaty/template
@@ -1,7 +1,7 @@
 # Template file for 'bloaty'
 pkgname=bloaty
 version=1.1
-revision=11
+revision=12
 build_style=cmake
 hostmakedepends="pkg-config protobuf"
 makedepends="capstone-devel protobuf-devel re2-devel zlib-devel"

From d38c667381a07f5d91aa3e547e549d3b7989f67e Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 27/35] astroid: rebuild against protobuf-23.3_1

---
 srcpkgs/astroid/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/astroid/template            |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/astroid/patches/cpp17.patch

diff --git a/srcpkgs/astroid/patches/cpp17.patch b/srcpkgs/astroid/patches/cpp17.patch
new file mode 100644
index 000000000000..9ac9a9f952e6
--- /dev/null
+++ b/srcpkgs/astroid/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- astroid-0.16/CMakeLists.txt	2021-08-05 15:31:11.000000000 +0200
++++ -	2023-07-03 21:53:30.304595787 +0200
+@@ -145,7 +145,7 @@
+ # compile flags and options
+ #
+ 
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ 
+ include_directories (
+   ${GTKMM3_INCLUDE_DIRS}
diff --git a/srcpkgs/astroid/template b/srcpkgs/astroid/template
index 25d3da44e024..8fd1c032be2c 100644
--- a/srcpkgs/astroid/template
+++ b/srcpkgs/astroid/template
@@ -1,7 +1,7 @@
 # Template file for 'astroid'
 pkgname=astroid
 version=0.16
-revision=8
+revision=9
 build_style=cmake
 build_helper=gir
 hostmakedepends="pkg-config scdoc protobuf gobject-introspection"

From 3d7e2d810fe38566382a7418af773a23a6aeb088 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 28/35] android-tools: rebuild against protobuf-23.3_1

---
 .../android-tools/patches/protobuf-23.patch   | 31 +++++++++++++++++++
 srcpkgs/android-tools/template                |  2 +-
 2 files changed, 32 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/android-tools/patches/protobuf-23.patch

diff --git a/srcpkgs/android-tools/patches/protobuf-23.patch b/srcpkgs/android-tools/patches/protobuf-23.patch
new file mode 100644
index 000000000000..21012126ea9a
--- /dev/null
+++ b/srcpkgs/android-tools/patches/protobuf-23.patch
@@ -0,0 +1,31 @@
+--- android-tools-34.0.1.orig/vendor/extras/libjsonpb/parse/jsonpb.cpp  2023-06-28 23:15:15.414236253 +0200
++++ android-tools-34.0.1/vendor/extras/libjsonpb/parse/jsonpb.cpp       2023-06-28 23:34:21.672962973 +0200
+@@ -51,7 +51,7 @@
+ #if GOOGLE_PROTOBUF_VERSION < 3016000
+     return MakeError<std::string>(status.error_message().as_string());
+ #else
+-    return MakeError<std::string>(status.message().as_string());
++    return MakeError<std::string>(std::string(status.message()));
+ #endif
+   }
+   return ErrorOr<std::string>(std::move(json));
+@@ -68,7 +68,7 @@
+ #if GOOGLE_PROTOBUF_VERSION < 3016000
+     return MakeError<std::monostate>(status.error_message().as_string());
+ #else
+-    return MakeError<std::monostate>(status.message().as_string());
++    return MakeError<std::monostate>(std::string(status.message()));
+ #endif
+   }
+   if (!message->ParseFromString(binary)) {
+--- a/vendor/CMakeLists.partition.txt	2023-03-03 17:18:50.000000000 +0100
++++ -	2023-07-10 23:06:19.290718502 +0200
+@@ -20,7 +20,7 @@
+ 
+ add_library(libjsonpbparse STATIC
+ 	extras/libjsonpb/parse/jsonpb.cpp)
+-target_link_libraries(libjsonpbparse PRIVATE libbase)
++target_link_libraries(libjsonpbparse PRIVATE libbase absl_status)
+ target_include_directories(libjsonpbparse PUBLIC
+ 	extras/libjsonpb/parse/include)
+ 
diff --git a/srcpkgs/android-tools/template b/srcpkgs/android-tools/template
index 329674482b69..b813474eace0 100644
--- a/srcpkgs/android-tools/template
+++ b/srcpkgs/android-tools/template
@@ -1,7 +1,7 @@
 # Template file for 'android-tools'
 pkgname=android-tools
 version=34.0.1
-revision=1
+revision=2
 archs="armv* aarch64* x86_64* i686* ppc64le*"
 build_style=cmake
 hostmakedepends="perl go protobuf pkg-config"

From 86a7da9e9cfc761c6a5e6423725186d05aa04d17 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:06:25 +0200
Subject: [PATCH 29/35] justbuild: rebuild against grpc-1.56.0_1

---
 srcpkgs/justbuild/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index ee36f6dae575..f933611d1283 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
 # Template file for 'justbuild'
 pkgname=justbuild
 version=1.1.2
-revision=2
+revision=3
 create_wrksrc=yes
 hostmakedepends="jo pandoc pkg-config python3 tar unzip wget"
 makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++

From c17c2d26bbce39ceccd10b7e405b1d3f7ddf4d02 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Wed, 28 Jun 2023 11:07:13 +0200
Subject: [PATCH 30/35] sysdig: update to 0.31.5.

---
 srcpkgs/sysdig/files/libsinsp-zstd.patch      |  22 +
 ...d9aab87801281e22898242e24e0bc63873b2.patch | 557 ++++++++++++++++++
 .../falcosecurity-libs-nodownload.patch       |  28 +
 srcpkgs/sysdig/template                       |  32 +-
 4 files changed, 625 insertions(+), 14 deletions(-)
 create mode 100644 srcpkgs/sysdig/files/libsinsp-zstd.patch
 create mode 100644 srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
 create mode 100644 srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch

diff --git a/srcpkgs/sysdig/files/libsinsp-zstd.patch b/srcpkgs/sysdig/files/libsinsp-zstd.patch
new file mode 100644
index 000000000000..e99e4f7c1207
--- /dev/null
+++ b/srcpkgs/sysdig/files/libsinsp-zstd.patch
@@ -0,0 +1,22 @@
+diff --git a/userspace/libsinsp/CMakeLists.txt b/userspace/libsinsp/CMakeLists.txt
+index 18e59b1..b23e890 100644
+--- a/userspace/libsinsp/CMakeLists.txt
++++ b/userspace/libsinsp/CMakeLists.txt
+@@ -38,6 +38,7 @@ include(ExternalProject)
+ 
+ if(NOT WIN32 AND NOT APPLE)
+ 	include(b64)
++	find_library(ZSTD_LIB NAMES zstd)
+ endif()
+ 
+ include(jsoncpp)
+@@ -246,7 +247,8 @@ if(NOT WIN32)
+ 				"${PROTOBUF_LIB}"
+ 				"${CARES_LIB}"
+ 				"${JQ_LIB}"
+-				"${B64_LIB}")
++				"${B64_LIB}"
++				"${ZSTD_LIB}")
+ 
+ 			if(NOT MUSL_OPTIMIZED_BUILD)
+ 				list(APPEND SINSP_LIBRARIES
diff --git a/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch b/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
new file mode 100644
index 000000000000..54c2ed8d0d98
--- /dev/null
+++ b/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
@@ -0,0 +1,557 @@
+From 3d22309a7317d500f75d053af6f9e5b5b5728b40 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 09:56:04 +0000
+Subject: [PATCH 1/6] update(cmake): bump driver to 5.0.0+driver
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ cmake/modules/driver.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/driver.cmake b/cmake/modules/driver.cmake
+index bee1926d3a..7fd35d7f99 100644
+--- a/cmake/modules/driver.cmake
++++ b/cmake/modules/driver.cmake
+@@ -31,8 +31,8 @@ else()
+   # In case you want to test against another driver version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DDRIVER_VERSION=dev ..`
+   if(NOT DRIVER_VERSION)
+-    set(DRIVER_VERSION "4.0.1+driver")
+-    set(DRIVER_CHECKSUM "SHA256=424d647aa6b6fa45b6701c4bbc9293c161ed00a08254d83eea419c0a736f280d")
++    set(DRIVER_VERSION "5.0.0+driver")
++    set(DRIVER_CHECKSUM "SHA256=c988ca7ac7d174f62d1bfbaaca49efd117f7b329f474d1b46b643635b2e35083")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+
+From 847e602404dcee85f06dde5a1d8ad0c740c49c98 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 09:56:08 +0000
+Subject: [PATCH 2/6] update(cmake): bump libs to 0.11.0-rc1
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ cmake/modules/falcosecurity-libs.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index b345c057ad..f30233b9e3 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -32,8 +32,8 @@ else()
+   # In case you want to test against another falcosecurity/libs version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DFALCOSECURITY_LIBS_VERSION=dev ..`
+   if(NOT FALCOSECURITY_LIBS_VERSION)
+-    set(FALCOSECURITY_LIBS_VERSION "0.10.5")
+-    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=2a4b37c08bec4ba81326314831f341385aff267062e8d4483437958689662936")
++    set(FALCOSECURITY_LIBS_VERSION "0.11.0-rc1")
++    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=bb6e57f66ae85dcda6e695226cd14082d9a1215902909cdde5b83f7abef44d8f")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+
+From 1d1dbaf06265d8eefd4038e8474f71f7958ec840 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 10:43:27 +0000
+Subject: [PATCH 3/6] fix(cmake): solve c++17 compilation issues
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ CMakeLists.txt                         |  3 +++
+ cmake/modules/falcosecurity-libs.cmake | 10 +++++-----
+ 2 files changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0309d66633..6d28c6c67d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -146,6 +146,9 @@ if(NOT DEFINED SYSDIG_COMPONENT_NAME)
+     set(SYSDIG_COMPONENT_NAME "${CMAKE_PROJECT_NAME}")
+ endif()
+ 
++set(CMAKE_CXX_STANDARD 17)
++set(CMAKE_CXX_EXTENSIONS OFF)
++
+ include(falcosecurity-libs)
+ include(yaml-cpp)
+ include(nlohmann-json)
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index f30233b9e3..fe5dacd7ad 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -94,12 +94,12 @@ else()
+ endif()
+ 
+ include(CheckCXXCompilerFlag)
+-CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX14)
+-if(CREATE_TEST_TARGETS AND NOT WIN32 AND COMPILER_SUPPORTS_CXX14)
+-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
++CHECK_CXX_COMPILER_FLAG("-std=c++17" COMPILER_SUPPORTS_CXX17)
++if(CREATE_TEST_TARGETS AND NOT WIN32 AND COMPILER_SUPPORTS_CXX17)
++	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ 	include(gtest)
+-elseif(CREATE_TEST_TARGETS AND NOT COMPILER_SUPPORTS_CXX14)
+-	message(FATAL_ERROR "Your compiler doesn't support c++14: cannot include gtest and create test targets.")
++elseif(CREATE_TEST_TARGETS AND NOT COMPILER_SUPPORTS_CXX17)
++	message(FATAL_ERROR "Your compiler doesn't support c++17: cannot include gtest and create test targets.")
+ endif()
+ 
+ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
+
+From d5fcbad2d5ea63e1439ab7174a5cfd9a7a2e1545 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 10:44:05 +0000
+Subject: [PATCH 4/6] update(userspace): sync sysdig and csysdig with latest
+ libs
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ userspace/sysdig/csysdig.cpp                |  6 +--
+ userspace/sysdig/sysdig.cpp                 |  9 +---
+ userspace/sysdig/utils/plugin_utils.cpp     | 37 ++++++++++-----
+ userspace/sysdig/utils/sinsp_opener.cpp     | 18 ++++----
+ userspace/sysdig/utils/supported_events.cpp | 50 +++++++++++----------
+ userspace/sysdig/utils/supported_fields.cpp | 15 +++----
+ 6 files changed, 70 insertions(+), 65 deletions(-)
+
+diff --git a/userspace/sysdig/csysdig.cpp b/userspace/sysdig/csysdig.cpp
+index 9419882341..edd8129a0e 100644
+--- a/userspace/sysdig/csysdig.cpp
++++ b/userspace/sysdig/csysdig.cpp
+@@ -39,11 +39,11 @@ limitations under the License.
+ #include "chisel.h"
+ #include "chisel_utils.h"
+ #endif
+-#include "fields_info.h"
+ #include "chisel_table.h"
+ #include "utils.h"
+ #include "utils/plugin_utils.h"
+ #include "utils/sinsp_opener.h"
++#include "utils/supported_fields.h"
+ 
+ #ifdef _WIN32
+ #include "win32/getopt.h"
+@@ -704,8 +704,8 @@ sysdig_init_res csysdig_init(int argc, char **argv)
+ 		//
+ 		if(list_flds)
+ 		{
+-			list_fields(false, false);
+-
++			// todo(jasondellaluce): support source selection, verbosity, markdown
++			print_supported_fields(inspector, plugins, "", true, false);
+ 			res.m_res = EXIT_SUCCESS;
+ 			goto exit;
+ 		}
+diff --git a/userspace/sysdig/sysdig.cpp b/userspace/sysdig/sysdig.cpp
+index 40f2b39ef9..a978070d73 100644
+--- a/userspace/sysdig/sysdig.cpp
++++ b/userspace/sysdig/sysdig.cpp
+@@ -43,7 +43,6 @@ limitations under the License.
+ #include "chisel_utils.h"
+ #include "chisel_fields_info.h"
+ #endif
+-#include "fields_info.h"
+ #include "utils.h"
+ #include "plugin.h"
+ #include "plugin_manager.h"
+@@ -455,8 +454,6 @@ void print_summary_table(sinsp* inspector,
+ 						 std::vector<summary_table_entry> &summary_table,
+ 						 uint32_t nentries)
+ {
+-	sinsp_evttables* einfo = inspector->get_event_info_tables();
+-
+ 	std::cout << "----------------------\n";
+ 	std::string tstr = std::string("Event");
+ 	tstr.resize(16, ' ');
+@@ -478,7 +475,7 @@ void print_summary_table(sinsp* inspector,
+ 
+ 		if(e.m_is_unsupported_syscall)
+ 		{
+-			tstr = einfo->m_syscall_info_table[e.m_id / 2].name;
++			tstr = scap_get_ppm_sc_name((ppm_sc_code) (e.m_id / 2));
+ 			tstr.resize(16, ' ');
+ 
+ 			printf("%s%s%" PRIu64 "\n",
+@@ -488,7 +485,7 @@ void print_summary_table(sinsp* inspector,
+ 		}
+ 		else
+ 		{
+-			tstr = einfo->m_event_info[e.m_id].name;
++			tstr = libsinsp::events::info((ppm_event_code) e.m_id)->name;
+ 			tstr.resize(16, ' ');
+ 
+ 			printf("%s%s%" PRIu64 "\n",
+@@ -1862,8 +1859,6 @@ sysdig_init_res sysdig_init(int argc, char **argv)
+ 					res.m_res = EXIT_FAILURE;
+ 					goto exit;
+ 				}
+-
+-				inspector->filter_proc_table_when_saving(true);
+ 			}
+ 			else
+ 			{
+diff --git a/userspace/sysdig/utils/plugin_utils.cpp b/userspace/sysdig/utils/plugin_utils.cpp
+index ad69543b3e..b99de98b66 100644
+--- a/userspace/sysdig/utils/plugin_utils.cpp
++++ b/userspace/sysdig/utils/plugin_utils.cpp
+@@ -146,6 +146,7 @@ void plugin_utils::plugin_entry::init(sinsp *inspector)
+     }
+     if (plugin->caps() & CAP_EXTRACTION)
+     {
++        // todo(jasondellaluce): manage field name conflicts
+         g_filterlist.add_filter_check(sinsp_plugin::new_filtercheck(plugin));
+     }
+     inited = true;
+@@ -185,13 +186,30 @@ void plugin_utils::plugin_entry::print_info(sinsp* inspector, std::ostringstream
+     os << "Capabilities: " << std::endl;
+     if(plugin->caps() & CAP_SOURCING)
+     {
+-        os << "  - Event Sourcing (ID=" << plugin->id();
+-        os << ", source='" << plugin->event_source() << "')" << std::endl;
++        os << "  - Event Sourcing";
++        if (plugin->id() != 0)
++        {
++            os << " (ID=" << plugin->id();
++            os << ", source='" << plugin->event_source() << "')";
++        }
++        else
++        {
++            os << " (system events)";
++        }
++        os << std::endl;
+     }
+     if(plugin->caps() & CAP_EXTRACTION)
+     {
+         os << "  - Field Extraction" << std::endl;
+     }
++    if(plugin->caps() & CAP_PARSING)
++    {
++        os << "  - Event Parsing" << std::endl;
++    }
++    if(plugin->caps() & CAP_ASYNC)
++    {
++        os << "  - Async Events" << std::endl;
++    }
+ }
+ 
+ void plugin_utils::add_dir(std::string dirname, bool front_add)
+@@ -609,7 +627,7 @@ std::vector<std::string> plugin_utils::get_event_sources(sinsp *inspector)
+         // the plugin, in case it was not registered already
+         pl.get_plugin(inspector);
+     }
+-    return inspector->get_plugin_manager()->sources();
++    return inspector->event_sources();
+ }
+ 
+ std::vector<std::unique_ptr<sinsp_filter_check>> plugin_utils::get_filterchecks(sinsp *inspector, const std::string& source)
+@@ -617,16 +635,13 @@ std::vector<std::unique_ptr<sinsp_filter_check>> plugin_utils::get_filterchecks(
+     std::vector<std::unique_ptr<sinsp_filter_check>> list;
+     list.push_back(std::unique_ptr<sinsp_filter_check>(inspector->new_generic_filtercheck()));
+ 
+-    // todo(jasondellaluce): remove this once we support extracting plugin fields from syscalls
+-    if (source != s_syscall_source)
++    for (auto &pl : m_plugins)
+     {
+-        for (auto &pl : m_plugins)
++        auto plugin = pl.get_plugin(inspector);
++        if (plugin->caps() & CAP_EXTRACTION
++            && sinsp_plugin::is_source_compatible(plugin->extract_event_sources(), source))
+         {
+-            auto plugin = pl.get_plugin(inspector);
+-            if (plugin->caps() & CAP_EXTRACTION && plugin->is_source_compatible(source))
+-            {
+-                list.push_back(std::unique_ptr<sinsp_filter_check>(sinsp_plugin::new_filtercheck(plugin)));
+-            }
++            list.push_back(std::unique_ptr<sinsp_filter_check>(sinsp_plugin::new_filtercheck(plugin)));
+         }
+     }
+     return list;
+diff --git a/userspace/sysdig/utils/sinsp_opener.cpp b/userspace/sysdig/utils/sinsp_opener.cpp
+index eafdb631d3..7315b99c7d 100644
+--- a/userspace/sysdig/utils/sinsp_opener.cpp
++++ b/userspace/sysdig/utils/sinsp_opener.cpp
+@@ -50,14 +50,12 @@ void sinsp_opener::open(sinsp* inspector) const
+ 
+ #if defined(HAS_CAPTURE)
+     /* Populate syscalls of interest */
+-    std::unordered_set<uint32_t> sc_of_interest = inspector->get_all_ppm_sc();
++    auto sc_of_interest = libsinsp::events::all_sc_set();
+ 
+-    /* Populate tracepoints of interest */
+-    std::unordered_set<uint32_t> tp_of_interest = inspector->get_all_tp();
+     if(!options.page_faults)
+     {
+-        tp_of_interest.erase(PAGE_FAULT_USER);
+-        tp_of_interest.erase(PAGE_FAULT_KERN);
++        sc_of_interest.remove(ppm_sc_code::PPM_SC_PAGE_FAULT_USER);
++        sc_of_interest.remove(ppm_sc_code::PPM_SC_PAGE_FAULT_KERNEL);
+     }
+ 
+     if(udig.enabled)
+@@ -77,7 +75,7 @@ void sinsp_opener::open(sinsp* inspector) const
+ #ifdef HAS_MODERN_BPF
+ 		if(bpf.modern)
+ 		{
+-			inspector->open_modern_bpf(DEFAULT_DRIVER_BUFFER_BYTES_DIM, bpf.cpus_for_each_syscall_buffer, true, sc_of_interest, tp_of_interest);
++			inspector->open_modern_bpf(DEFAULT_DRIVER_BUFFER_BYTES_DIM, bpf.cpus_for_each_syscall_buffer, true, sc_of_interest);
+ 			return;
+ 		}
+ #endif
+@@ -95,7 +93,7 @@ void sinsp_opener::open(sinsp* inspector) const
+ 
+         try
+         {
+-            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+         }
+         catch(const sinsp_exception& e)
+         {
+@@ -103,7 +101,7 @@ void sinsp_opener::open(sinsp* inspector) const
+             {
+                 fprintf(stderr, "Unable to load the BPF probe\n");
+             }
+-            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+         }
+ 
+         // Enable gathering the CPU from the kernel module
+@@ -114,7 +112,7 @@ void sinsp_opener::open(sinsp* inspector) const
+     // default to kernel module if no other option is specified
+     try
+     {
+-        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+     }
+     catch(const sinsp_exception& e)
+     {
+@@ -124,7 +122,7 @@ void sinsp_opener::open(sinsp* inspector) const
+         {
+             fprintf(stderr, "Unable to load the driver\n");
+         }
+-        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+     }
+ 
+     // Enable gathering the CPU from the kernel module
+diff --git a/userspace/sysdig/utils/supported_events.cpp b/userspace/sysdig/utils/supported_events.cpp
+index 1442911209..7f0d630011 100644
+--- a/userspace/sysdig/utils/supported_events.cpp
++++ b/userspace/sysdig/utils/supported_events.cpp
+@@ -27,25 +27,25 @@ struct event_entry
+ {
+     bool is_enter;
+     std::string name;
+-    struct ppm_event_info info;
++    const ppm_event_info* info;
+ };
+ 
+-static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include_generics)
++static std::vector<event_entry> get_event_entries(bool include_generics)
+ {
+     event_entry entry;
+     std::vector<event_entry> events;
+-    const struct ppm_event_info* etable = inspector->get_event_info_tables()->m_event_info;
+ 
+     // skip generic events
+-    for(uint32_t evt = PPME_GENERIC_X + 1; evt < PPM_EVENT_MAX; evt++)
++    for(const auto& evt : libsinsp::events::all_event_set())
+     {
+-        if (!sinsp::is_old_version_event(evt)
+-                && !sinsp::is_unused_event(evt)
+-                && !sinsp::is_unknown_event(evt))
++        if (!libsinsp::events::is_generic(evt)
++            && !libsinsp::events::is_old_version_event(evt)
++            && !libsinsp::events::is_unused_event(evt)
++            && !libsinsp::events::is_unknown_event(evt))
+         {
+             entry.is_enter = PPME_IS_ENTER(evt);
+-            entry.name = etable[evt].name;
+-            entry.info = etable[evt];
++            entry.info = libsinsp::events::info(evt);
++			entry.name = entry.info->name;
+             events.push_back(entry);
+         }
+     }
+@@ -53,17 +53,19 @@ static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include
+     if (include_generics)
+     {
+         // append generic events
+-        const auto generic_syscalls = inspector->get_events_names({PPME_GENERIC_E});
+-        for (const auto& name : generic_syscalls)
+-        {
+-            for(uint32_t evt = PPME_GENERIC_E; evt <= PPME_GENERIC_X; evt++)
+-            {
+-                entry.is_enter = PPME_IS_ENTER(evt);
+-                entry.name = name;
+-                entry.info = etable[evt];
+-                events.push_back(entry);
+-            }
+-        }
++		const auto names = libsinsp::events::event_set_to_names({ppm_event_code::PPME_GENERIC_E});
++		for (const auto& name : names)
++		{
++			entry.is_enter = PPME_IS_ENTER(ppm_event_code::PPME_GENERIC_E);
++			entry.info = libsinsp::events::info(ppm_event_code::PPME_GENERIC_E);
++			entry.name = name;
++			events.push_back(entry);
++
++			entry.is_enter = PPME_IS_ENTER(ppm_event_code::PPME_GENERIC_X);
++			entry.info = libsinsp::events::info(ppm_event_code::PPME_GENERIC_X);
++			entry.name = name;
++			events.push_back(entry);
++		}
+     }
+ 
+     return events;
+@@ -71,7 +73,7 @@ static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include
+ 
+ void print_supported_events(sinsp* inspector, bool markdown)
+ {
+-    const auto events = get_event_entries(inspector, true);
++    const auto events = get_event_entries(true);
+ 
+     if(markdown)
+     {
+@@ -91,15 +93,15 @@ void print_supported_events(sinsp* inspector, bool markdown)
+             printf("%c %s(", dir, e.name.c_str());
+         }
+ 
+-        for(uint32_t k = 0; k < e.info.nparams; k++)
++        for(uint32_t k = 0; k < e.info->nparams; k++)
+         {
+             if(k != 0)
+             {
+                 printf(", ");
+             }
+ 
+-            printf("%s %s", param_type_to_string(e.info.params[k].type),
+-                e.info.params[k].name);
++            printf("%s %s", param_type_to_string(e.info->params[k].type),
++                e.info->params[k].name);
+         }
+         printf(")\n");
+     }
+diff --git a/userspace/sysdig/utils/supported_fields.cpp b/userspace/sysdig/utils/supported_fields.cpp
+index 6e2575b030..3127fb7220 100644
+--- a/userspace/sysdig/utils/supported_fields.cpp
++++ b/userspace/sysdig/utils/supported_fields.cpp
+@@ -35,11 +35,9 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+ {
+     std::vector<fields_info> field_infos;
+     std::vector<std::unique_ptr<const sinsp_filter_check>> filtecheck_lists; // only used to retain memory until we finish
+-    std::vector<std::string> sources = { s_syscall_source };
++    std::vector<std::string> sources = plugins.get_event_sources(inspector);
+ 
+     // add event sources defined by the loaded plugins
+-    const auto& plugin_sources = plugins.get_event_sources(inspector);
+-    sources.insert(sources.end(), plugin_sources.begin(), plugin_sources.end());
+     if (!source.empty())
+     {
+         bool found = false;
+@@ -66,7 +64,6 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+         }
+ 
+         std::vector<const filter_check_info*> filterchecks;
+-        // todo(jasondellaluce): change this once we support extracting plugin fields from syscalls
+         if (src == s_syscall_source)
+         {
+             std::vector<const filter_check_info*> all_checks;
+@@ -81,13 +78,11 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+                 }
+             }
+         }
+-        else
++
++        for (auto& check: plugins.get_filterchecks(inspector, src))
+         {
+-            for (auto& check: plugins.get_filterchecks(inspector, src))
+-            {
+-                filterchecks.push_back(check->get_fields());
+-                filtecheck_lists.push_back(std::move(check));
+-            }
++            filterchecks.push_back(check->get_fields());
++            filtecheck_lists.push_back(std::move(check));
+         }
+         
+         const auto classes = sinsp_filter_factory::check_infos_to_fieldclass_infos(filterchecks);
+
+From c8b0d055aec4d2378b7934dd9436fd4500d1021e Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 14:15:23 +0000
+Subject: [PATCH 5/6] fix: solve compilation issues on windows
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ CMakeLists.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6d28c6c67d..5afd967f27 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -148,6 +148,9 @@ endif()
+ 
+ set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_CXX_EXTENSIONS OFF)
++if(MSVC OR WIN32)
++	add_compile_definitions(_HAS_STD_BYTE=0)
++endif()
+ 
+ include(falcosecurity-libs)
+ include(yaml-cpp)
+
+From 954e6fc6238f21d4870a491395d68a7dd3062aa9 Mon Sep 17 00:00:00 2001
+From: Roberto Scolaro <roberto.scolaro21@gmail.com>
+Date: Mon, 5 Jun 2023 10:34:03 +0000
+Subject: [PATCH 6/6] update(cmake): bump libs 0.11.0 + driver 5.0.1
+
+Signed-off-by: Roberto Scolaro <roberto.scolaro21@gmail.com>
+---
+ CMakeLists.txt                         | 2 +-
+ cmake/modules/driver.cmake             | 4 ++--
+ cmake/modules/falcosecurity-libs.cmake | 4 ++--
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5afd967f27..f3f23b5e9a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -90,7 +90,7 @@ if(NOT WIN32)
+ 	endif()
+ 
+ 	set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_COMMON_FLAGS}")
+-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++0x")
++	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++17")
+ 
+ 	set(CMAKE_C_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+ 	set(CMAKE_CXX_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+diff --git a/cmake/modules/driver.cmake b/cmake/modules/driver.cmake
+index 7fd35d7f99..ca1e56718c 100644
+--- a/cmake/modules/driver.cmake
++++ b/cmake/modules/driver.cmake
+@@ -31,8 +31,8 @@ else()
+   # In case you want to test against another driver version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DDRIVER_VERSION=dev ..`
+   if(NOT DRIVER_VERSION)
+-    set(DRIVER_VERSION "5.0.0+driver")
+-    set(DRIVER_CHECKSUM "SHA256=c988ca7ac7d174f62d1bfbaaca49efd117f7b329f474d1b46b643635b2e35083")
++    set(DRIVER_VERSION "5.0.1+driver")
++    set(DRIVER_CHECKSUM "SHA256=8b197b916b6419dac8fb41807aa05d822164c7bfd2c3eef66d20d060a05a485a")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index fe5dacd7ad..c626d7944e 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -32,8 +32,8 @@ else()
+   # In case you want to test against another falcosecurity/libs version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DFALCOSECURITY_LIBS_VERSION=dev ..`
+   if(NOT FALCOSECURITY_LIBS_VERSION)
+-    set(FALCOSECURITY_LIBS_VERSION "0.11.0-rc1")
+-    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=bb6e57f66ae85dcda6e695226cd14082d9a1215902909cdde5b83f7abef44d8f")
++    set(FALCOSECURITY_LIBS_VERSION "0.11.0")
++    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=90414d00591986e94f2c49e7d65eef5c2dedee266354dd3db8234bb3b06c86fa")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
diff --git a/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch b/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch
new file mode 100644
index 000000000000..467cffacba2f
--- /dev/null
+++ b/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch
@@ -0,0 +1,28 @@
+diff --git a/cmake/modules/driver-repo/CMakeLists.txt b/cmake/modules/driver-repo/CMakeLists.txt
+index 479611a..5238121 100644
+--- a/cmake/modules/driver-repo/CMakeLists.txt
++++ b/cmake/modules/driver-repo/CMakeLists.txt
+@@ -25,8 +25,7 @@ message(STATUS "Driver version: ${DRIVER_VERSION}")
+ 
+ ExternalProject_Add(
+   driver
+-  URL "https://github.com/falcosecurity/libs/archive/${DRIVER_VERSION}.tar.gz"
+-  URL_HASH "${DRIVER_CHECKSUM}"
++  URL "${CMAKE_CURRENT_SOURCE_DIR}/../../../../libs-${DRIVER_VERSION}"
+   CONFIGURE_COMMAND ""
+   BUILD_COMMAND ""
+   INSTALL_COMMAND ""
+diff --git a/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt b/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
+index 2059547..74e78e2 100644
+--- a/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
++++ b/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
+@@ -25,8 +25,7 @@ message(STATUS "Libs version: ${FALCOSECURITY_LIBS_VERSION}")
+ 
+ ExternalProject_Add(
+   falcosecurity-libs
+-  URL "https://github.com/falcosecurity/libs/archive/${FALCOSECURITY_LIBS_VERSION}.tar.gz"
+-  URL_HASH "${FALCOSECURITY_LIBS_CHECKSUM}"
++  URL "${CMAKE_CURRENT_SOURCE_DIR}/../../../../libs-${FALCOSECURITY_LIBS_VERSION}"
+   CONFIGURE_COMMAND ""
+   BUILD_COMMAND ""
+   INSTALL_COMMAND ""
diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index 4a04e762468c..d088357125b8 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,43 +1,47 @@
 # Template file for 'sysdig'
 pkgname=sysdig
-version=0.28.0
-revision=8
+version=0.31.5
+revision=1
+_falcover=0.11.0
 build_style=cmake
+build_wrksrc="sysdig-${version}"
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF
  -DLUA_INCLUDE_DIR=${XBPS_CROSS_BASE}/usr/include/luajit-2.1
- -DLUA_LIBRARY=/usr/lib/libluajit-5.1.so -DCREATE_TEST_TARGETS=OFF"
-make_cmd=make
+ -DLUA_LIBRARY=/usr/lib/libluajit-5.1.so -DCREATE_TEST_TARGETS=OFF
+ -DUSE_BUNDLED_TBB=OFF -DBUILD_LIBSCAP_EXAMPLES=OFF
+ -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_EXTENSIONS=OFF
+ -DDRIVER_VERSION=${_falcover}"
 hostmakedepends="wget pkg-config protobuf"
-makedepends="LuaJIT-devel c-ares-devel elfutils-devel grpc-devel jsoncpp-devel
+makedepends="LuaJIT-devel c-ares-devel elfutils-devel grpc-devel
  libcurl-devel libprotoc-devel openssl-devel ncurses-devel protobuf-devel
- tbb-devel zlib-devel"
+ tbb-devel zlib-devel yaml-cpp-devel json-c++"
 depends="dkms"
 short_desc="Open source system-level exploration and troubleshooting tool"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0, MIT, GPL-2.0-only"
 homepage="http://www.sysdig.org/"
 changelog="https://github.com/draios/sysdig/releases"
-distfiles="https://github.com/draios/${pkgname}/archive/${version}.tar.gz"
-checksum=817e595d501acf3fe11dc659a154aadbba848dd87ae801f5bf34a42e84979f37
-disable_parallel_build=yes
+distfiles="https://github.com/draios/sysdig/archive/${version}.tar.gz
+ https://github.com/falcosecurity/libs/archive/${_falcover}.tar.gz"
+checksum="9af98cae7c38273f7429ba0df628c9745bd92c949f444e180b9dd800af14c6dd
+ 90414d00591986e94f2c49e7d65eef5c2dedee266354dd3db8234bb3b06c86fa"
 dkms_modules="scap 2160111cd088aea9ae2235d3385ecb0b1ab6623c"
 nocross=yes
+patch_args="-Np1 --directory=${build_wrksrc}"
 
 case "$XBPS_TARGET_MACHINE" in
 	*-musl) configure_args+=" -DMUSL_OPTIMIZED_BUILD=On"
 esac
 
-export CMAKE_GENERATOR="Unix Makefiles"
-
 # Avoid excessive warnings spam to the log
 CXXFLAGS="-Wno-deprecated-declarations"
 
-CXXFLAGS+=" -I/usr/include/grpc_absl"
+post_patch() {
+	patch -d "${wrksrc}/libs-${_falcover}" -Np1 < "${FILESDIR}/libsinsp-zstd.patch"
 
-post_extract() {
 	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
-	vsed -e 's|-std=c++0x||' -i CMakeLists.txt
+	vsed -e 's|-std=c++0x||' -i CMakeLists.txt -i "${wrksrc}/libs-${_falcover}/cmake/modules/CompilerFlags.cmake"
 }
 
 post_install() {

From 18652c885518a0500ac2a96e725bf0d0e2339cff Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 2 Jul 2023 13:36:29 +0200
Subject: [PATCH 31/35] protobuf-c: rebuild against 23.3

---
 ...4f3fd85a205eb7c90b790477d5415364209e.patch |  44 +++
 srcpkgs/protobuf-c/patches/66a0b0d2.patch     | 308 ++++++++++++++++++
 srcpkgs/protobuf-c/template                   |   8 +-
 3 files changed, 358 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
 create mode 100644 srcpkgs/protobuf-c/patches/66a0b0d2.patch

diff --git a/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch b/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
new file mode 100644
index 000000000000..7d1e97032d32
--- /dev/null
+++ b/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
@@ -0,0 +1,44 @@
+From 66574f3fd85a205eb7c90b790477d5415364209e Mon Sep 17 00:00:00 2001
+From: Steve Peters <scpeters@openrobotics.org>
+Date: Sat, 24 Jun 2023 22:15:42 -0700
+Subject: [PATCH] Use FileDescriptorLegacy for deprecated syntax()
+
+---
+ protoc-c/c_file.cc   | 2 +-
+ protoc-c/c_helpers.h | 3 ++-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/protoc-c/c_file.cc b/protoc-c/c_file.cc
+index 59c1824e..4b60b889 100644
+--- a/protoc-c/c_file.cc
++++ b/protoc-c/c_file.cc
+@@ -119,7 +119,7 @@ void FileGenerator::GenerateHeader(io::Printer* printer) {
+ 
+   int min_header_version = 1000000;
+ #if defined(HAVE_PROTO3)
+-  if (file_->syntax() == FileDescriptor::SYNTAX_PROTO3) {
++  if (FileDescriptorLegacy(file_).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3) {
+     min_header_version = 1003000;
+   }
+ #endif
+diff --git a/protoc-c/c_helpers.h b/protoc-c/c_helpers.h
+index 7598a4e1..87deea24 100644
+--- a/protoc-c/c_helpers.h
++++ b/protoc-c/c_helpers.h
+@@ -67,6 +67,7 @@
+ #include <vector>
+ #include <sstream>
+ #include <google/protobuf/descriptor.h>
++#include <google/protobuf/descriptor_legacy.h>
+ #include <protobuf-c/protobuf-c.pb.h>
+ #include <google/protobuf/io/printer.h>
+ 
+@@ -172,7 +173,7 @@ int compare_name_indices_by_name(const void*, const void*);
+ // This wrapper is needed to be able to compile against protobuf2.
+ inline int FieldSyntax(const FieldDescriptor* field) {
+ #ifdef HAVE_PROTO3
+-  return field->file()->syntax() == FileDescriptor::SYNTAX_PROTO3 ? 3 : 2;
++  return FileDescriptorLegacy(field->file()).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3 ? 3 : 2;
+ #else
+   return 2;
+ #endif
diff --git a/srcpkgs/protobuf-c/patches/66a0b0d2.patch b/srcpkgs/protobuf-c/patches/66a0b0d2.patch
new file mode 100644
index 000000000000..790db6329120
--- /dev/null
+++ b/srcpkgs/protobuf-c/patches/66a0b0d2.patch
@@ -0,0 +1,308 @@
+From 66a0b0d205224f63f19dd8f96abf9dcdc2112331 Mon Sep 17 00:00:00 2001
+From: Xiangyu Chen <xiangyu.chen@windriver.com>
+Date: Wed, 29 Mar 2023 14:25:17 +0800
+Subject: [PATCH] add support of protobuf 4.22.x
+
+after upgrade the protobuf to 4.22.x, the protobuf-c cannot compile anymore (#544) due to following changes:
+1.protobuf using c++14, that cause the command_line_interface.h report error
+2.protobuf using abseil-cpp library instead the trace API with GOOGLE_ header
+3. removed GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
+---
+ Makefile.am                   | 2 +-
+ configure.ac                  | 8 ++++++++
+ protoc-c/c_bytes_field.h      | 1 -
+ protoc-c/c_enum.h             | 1 -
+ protoc-c/c_enum_field.h       | 1 -
+ protoc-c/c_extension.h        | 1 -
+ protoc-c/c_field.cc           | 2 +-
+ protoc-c/c_field.h            | 3 ---
+ protoc-c/c_file.h             | 1 -
+ protoc-c/c_generator.h        | 2 --
+ protoc-c/c_helpers.cc         | 4 ++--
+ protoc-c/c_message.cc         | 4 ++--
+ protoc-c/c_message.h          | 1 -
+ protoc-c/c_message_field.h    | 3 ---
+ protoc-c/c_primitive_field.cc | 6 +++---
+ protoc-c/c_primitive_field.h  | 3 ---
+ protoc-c/c_service.h          | 1 -
+ protoc-c/c_string_field.h     | 1 -
+ 18 files changed, 17 insertions(+), 28 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index c7339efe..3b0d1d66 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -20,7 +20,7 @@ AM_CPPFLAGS = \
+ 	-I${top_builddir} \
+ 	-I${top_srcdir}
+ AM_CFLAGS = ${my_CFLAGS}
+-AM_LDFLAGS =
++AM_LDFLAGS = ${ABSL_LOG_INTERNAL_CHECK_OP_LIBS} ${ABSL_LOG_RAW_HASH_SET_LIBS}
+ 
+ # code coverage
+ 
+diff --git a/configure.ac b/configure.ac
+index f5a0261e..8ed549ac 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -78,6 +78,14 @@ if test "x$enable_protoc" != "xno"; then
+ 
+   AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
+ 
++# now checking 4.22.x protobuf, if so, set cxx as 17
++  AS_IF([pkg-config --atleast-version 4.22.0 protobuf],[AX_CXX_COMPILE_STDCXX(17, noext, mandatory)])
++
++  AS_IF([pkg-config --atleast-version 4.22.0 protobuf],
++    [PKG_CHECK_MODULES([ABSL_LOG_INTERNAL_CHECK_OP], [absl_log_internal_check_op],
++       [PKG_CHECK_MODULES([ABSL_LOG_RAW_HASH_SET], [absl_raw_hash_set], [], [AC_MSG_ERROR([Missing absl_raw_hash_set library.])])],
++       [AC_MSG_ERROR([Missing absl_log_internal_check_op library.])])])
++
+   PKG_CHECK_MODULES([protobuf], [protobuf >= 3.0.0],
+     [proto3_supported=yes],
+     [PKG_CHECK_MODULES([protobuf], [protobuf >= 2.6.0])]
+diff --git a/protoc-c/c_bytes_field.h b/protoc-c/c_bytes_field.h
+index bf873f0f..8fc63d35 100644
+--- a/protoc-c/c_bytes_field.h
++++ b/protoc-c/c_bytes_field.h
+@@ -88,7 +88,6 @@ class BytesFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(BytesFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_enum.h b/protoc-c/c_enum.h
+index 9c34b697..d5e58f0a 100644
+--- a/protoc-c/c_enum.h
++++ b/protoc-c/c_enum.h
+@@ -107,7 +107,6 @@ class EnumGenerator {
+   const EnumDescriptor* descriptor_;
+   std::string dllexport_decl_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_enum_field.h b/protoc-c/c_enum_field.h
+index 3f8c005d..03eb4028 100644
+--- a/protoc-c/c_enum_field.h
++++ b/protoc-c/c_enum_field.h
+@@ -86,7 +86,6 @@ class EnumFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_extension.h b/protoc-c/c_extension.h
+index 95413885..9c5797d6 100644
+--- a/protoc-c/c_extension.h
++++ b/protoc-c/c_extension.h
+@@ -99,7 +99,6 @@ class ExtensionGenerator {
+   std::string type_traits_;
+   std::string dllexport_decl_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ExtensionGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_field.cc b/protoc-c/c_field.cc
+index 0716744a..4abdc6d3 100644
+--- a/protoc-c/c_field.cc
++++ b/protoc-c/c_field.cc
+@@ -231,7 +231,7 @@ FieldGeneratorMap::~FieldGeneratorMap() {}
+ 
+ const FieldGenerator& FieldGeneratorMap::get(
+     const FieldDescriptor* field) const {
+-  GOOGLE_CHECK_EQ(field->containing_type(), descriptor_);
++  ABSL_CHECK_EQ(field->containing_type(), descriptor_);
+   return *field_generators_[field->index()];
+ }
+ 
+diff --git a/protoc-c/c_field.h b/protoc-c/c_field.h
+index 3cad35d3..76d3b0bc 100644
+--- a/protoc-c/c_field.h
++++ b/protoc-c/c_field.h
+@@ -104,8 +104,6 @@ class FieldGenerator {
+                                             const std::string &descriptor_addr) const;
+   const FieldDescriptor *descriptor_;
+ 
+- private:
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGenerator);
+ };
+ 
+ // Convenience class which constructs FieldGenerators for a Descriptor.
+@@ -122,7 +120,6 @@ class FieldGeneratorMap {
+ 
+   static FieldGenerator* MakeGenerator(const FieldDescriptor* field);
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGeneratorMap);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_file.h b/protoc-c/c_file.h
+index 8dfd8ba0..ec55906e 100644
+--- a/protoc-c/c_file.h
++++ b/protoc-c/c_file.h
+@@ -104,7 +104,6 @@ class FileGenerator {
+   std::unique_ptr<std::unique_ptr<ServiceGenerator>[]> service_generators_;
+   std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FileGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_generator.h b/protoc-c/c_generator.h
+index ac1ffafe..92601164 100644
+--- a/protoc-c/c_generator.h
++++ b/protoc-c/c_generator.h
+@@ -94,8 +94,6 @@ class PROTOC_C_EXPORT CGenerator : public CodeGenerator {
+                 OutputDirectory* output_directory,
+                 std::string* error) const;
+ 
+- private:
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(CGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_helpers.cc b/protoc-c/c_helpers.cc
+index 6fd0cd3a..1eaeeb42 100644
+--- a/protoc-c/c_helpers.cc
++++ b/protoc-c/c_helpers.cc
+@@ -286,7 +286,7 @@ const char* const kKeywordList[] = {
+ 
+ std::set<std::string> MakeKeywordsMap() {
+   std::set<std::string> result;
+-  for (int i = 0; i < GOOGLE_ARRAYSIZE(kKeywordList); i++) {
++  for (int i = 0; i < ABSL_ARRAYSIZE(kKeywordList); i++) {
+     result.insert(kKeywordList[i]);
+   }
+   return result;
+@@ -548,7 +548,7 @@ std::string CEscape(const std::string& src) {
+   std::unique_ptr<char[]> dest(new char[dest_length]);
+   const int len = CEscapeInternal(src.data(), src.size(),
+                                   dest.get(), dest_length, false);
+-  GOOGLE_DCHECK_GE(len, 0);
++  ABSL_DCHECK_GE(len, 0);
+   return std::string(dest.get(), len);
+ }
+ 
+diff --git a/protoc-c/c_message.cc b/protoc-c/c_message.cc
+index 37e8bf8b..c7e85155 100755
+--- a/protoc-c/c_message.cc
++++ b/protoc-c/c_message.cc
+@@ -499,7 +499,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ 	  // NOTE: not supported by protobuf
+ 	  vars["maybe_static"] = "";
+ 	  vars["field_dv_ctype"] = "{ ... }";
+-	  GOOGLE_LOG(DFATAL) << "Messages can't have default values!";
++	  ABSL_LOG(FATAL) << "Messages can't have default values!";
+ 	  break;
+ 	case FieldDescriptor::CPPTYPE_STRING:
+ 	  if (fd->type() == FieldDescriptor::TYPE_BYTES || opt.string_as_bytes())
+@@ -521,7 +521,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ 	    break;
+ 	  }
+ 	default:
+-	  GOOGLE_LOG(DFATAL) << "Unknown CPPTYPE";
++	  ABSL_LOG(FATAL) << "Unknown CPPTYPE";
+ 	  break;
+ 	}
+ 	if (!already_defined)
+diff --git a/protoc-c/c_message.h b/protoc-c/c_message.h
+index ea1c3ab3..e90782bf 100644
+--- a/protoc-c/c_message.h
++++ b/protoc-c/c_message.h
+@@ -137,7 +137,6 @@ class MessageGenerator {
+   std::unique_ptr<std::unique_ptr<EnumGenerator>[]> enum_generators_;
+   std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_message_field.h b/protoc-c/c_message_field.h
+index 39b8d999..42efe368 100644
+--- a/protoc-c/c_message_field.h
++++ b/protoc-c/c_message_field.h
+@@ -83,9 +83,6 @@ class MessageFieldGenerator : public FieldGenerator {
+   std::string GetDefaultValue(void) const;
+   void GenerateStaticInit(io::Printer* printer) const;
+ 
+- private:
+-
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_primitive_field.cc b/protoc-c/c_primitive_field.cc
+index 6990893f..d5a7b60c 100644
+--- a/protoc-c/c_primitive_field.cc
++++ b/protoc-c/c_primitive_field.cc
+@@ -99,7 +99,7 @@ void PrimitiveFieldGenerator::GenerateStructMembers(io::Printer* printer) const
+     case FieldDescriptor::TYPE_STRING  :
+     case FieldDescriptor::TYPE_BYTES   :
+     case FieldDescriptor::TYPE_GROUP   :
+-    case FieldDescriptor::TYPE_MESSAGE : GOOGLE_LOG(FATAL) << "not a primitive type"; break;
++    case FieldDescriptor::TYPE_MESSAGE : ABSL_LOG(FATAL) << "not a primitive type"; break;
+ 
+     // No default because we want the compiler to complain if any new
+     // types are added.
+@@ -143,7 +143,7 @@ std::string PrimitiveFieldGenerator::GetDefaultValue() const
+     case FieldDescriptor::CPPTYPE_BOOL:
+       return descriptor_->default_value_bool() ? "1" : "0";
+     default:
+-      GOOGLE_LOG(DFATAL) << "unexpected CPPTYPE in c_primitive_field";
++      ABSL_LOG(FATAL) << "unexpected CPPTYPE in c_primitive_field";
+       return "UNEXPECTED_CPPTYPE";
+   }
+ }
+@@ -197,7 +197,7 @@ void PrimitiveFieldGenerator::GenerateDescriptorInitializer(io::Printer* printer
+     case FieldDescriptor::TYPE_STRING  :
+     case FieldDescriptor::TYPE_BYTES   :
+     case FieldDescriptor::TYPE_GROUP   :
+-    case FieldDescriptor::TYPE_MESSAGE : GOOGLE_LOG(FATAL) << "not a primitive type"; break;
++    case FieldDescriptor::TYPE_MESSAGE : ABSL_LOG(FATAL) << "not a primitive type"; break;
+ 
+     // No default because we want the compiler to complain if any new
+     // types are added.
+diff --git a/protoc-c/c_primitive_field.h b/protoc-c/c_primitive_field.h
+index a9eb893b..d2bb7243 100644
+--- a/protoc-c/c_primitive_field.h
++++ b/protoc-c/c_primitive_field.h
+@@ -83,9 +83,6 @@ class PrimitiveFieldGenerator : public FieldGenerator {
+   std::string GetDefaultValue(void) const;
+   void GenerateStaticInit(io::Printer* printer) const;
+ 
+- private:
+-
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(PrimitiveFieldGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_service.h b/protoc-c/c_service.h
+index 27125a60..4737ff3b 100644
+--- a/protoc-c/c_service.h
++++ b/protoc-c/c_service.h
+@@ -101,7 +101,6 @@ class ServiceGenerator {
+   const ServiceDescriptor* descriptor_;
+   std::map<std::string, std::string> vars_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ServiceGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_string_field.h b/protoc-c/c_string_field.h
+index 513cea75..ba258e44 100644
+--- a/protoc-c/c_string_field.h
++++ b/protoc-c/c_string_field.h
+@@ -88,7 +88,6 @@ class StringFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(StringFieldGenerator);
+ };
+ 
+ 
diff --git a/srcpkgs/protobuf-c/template b/srcpkgs/protobuf-c/template
index 7d1b529d8936..e703b138152d 100644
--- a/srcpkgs/protobuf-c/template
+++ b/srcpkgs/protobuf-c/template
@@ -1,10 +1,10 @@
 # Template file for 'protobuf-c'
 pkgname=protobuf-c
 version=1.4.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="$(vopt_enable protoc)"
-hostmakedepends="pkg-config protobuf protobuf-devel"
+hostmakedepends="pkg-config protobuf protobuf-devel automake libtool"
 makedepends="protobuf-devel boost-devel $(vopt_if protoc libprotoc-devel)"
 short_desc="C implementation of the Google Protocol Buffers"
 maintainer="Enno Boland <gottox@voidlinux.org>"
@@ -17,6 +17,10 @@ build_options="protoc"
 build_options_default="protoc"
 desc_option_protoc="Build protoc-c compiler"
 
+pre_configure() {
+	autoreconf -if
+}
+
 post_install() {
 	vlicense LICENSE
 }

From 06ce9eef2c589e3fa80db753cb1abeaf733c39a7 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 2 Jul 2023 21:07:55 +0200
Subject: [PATCH 32/35] netdata: update to 1.40.1.

---
 srcpkgs/netdata/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/netdata/template            | 13 +++++++++----
 2 files changed, 20 insertions(+), 4 deletions(-)
 create mode 100644 srcpkgs/netdata/patches/cpp17.patch

diff --git a/srcpkgs/netdata/patches/cpp17.patch b/srcpkgs/netdata/patches/cpp17.patch
new file mode 100644
index 000000000000..b197ccd57bd9
--- /dev/null
+++ b/srcpkgs/netdata/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac	2023-06-27 16:25:03.364605041 +0200
++++ -	2023-07-02 21:27:31.113408278 +0200
+@@ -237,7 +237,7 @@
+ # C++ version check
+ 
+ # Check for C++17 support (optional)
+-# AX_CXX_COMPILE_STDCXX(17, noext, optional)
++AX_CXX_COMPILE_STDCXX(17, noext, optional)
+ 
+ if test "x$HAVE_CXX17" != "x1"; then
+   # Check for C++11 support (optional)
diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 781120b3f275..9065c5140361 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -1,14 +1,14 @@
 # Template file for 'netdata'
 pkgname=netdata
-version=1.37.1
-revision=2
+version=1.40.1
+revision=1
 build_style=gnu-configure
 build_helper=qemu
 configure_args="--with-user=_netdata ac_cv_file_externaldeps_libbpf_libbpf_a=no
  $(vopt_if cloud --enable-cloud --disable-cloud) $(vopt_if ipmi --enable-plugin-freeipmi)
  $(vopt_if xen --enable-plugin-xenstat) $(vopt_if cups --enable-plugin-cups)"
 hostmakedepends="pkg-config autoconf automake $(vopt_if cloud "protobuf protobuf-devel")"
-makedepends="json-c-devel libcap-devel liblz4-devel libmnl-devel
+makedepends="json-c-devel libcap-devel liblz4-devel libmnl-devel libyaml-devel
  libnetfilter_acct-devel openssl-devel libuuid-devel libuv-devel zlib-devel
  snappy-devel $(vopt_if cloud protobuf-devel) $(vopt_if ipmi freeipmi-devel)
  $(vopt_if xen "xen-devel yajl-devel") $(vopt_if cups cups-devel)"
@@ -18,7 +18,7 @@ maintainer="Michael Aldridge <maldridge@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://www.netdata.cloud/"
 distfiles="https://github.com/netdata/netdata/releases/download/v${version}/netdata-v${version}.tar.gz"
-checksum=2caa042d43ca61007a61294a5ececa037d83a1973bd38032233760341eb1706b
+checksum=cc86172acd5e6ec05bc0fa86a50d967502a264d8adf7f79293923ccd8febb251
 python_version=3
 make_dirs="
  /var/lib/netdata          0755 _netdata _netdata
@@ -43,6 +43,11 @@ if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 fi
 
 pre_configure() {
+	vsed -e 's/#define info(/#define netdata_log_info(/g' -i libnetdata/log/log.h
+	vsed -e 's/^\([ ]*\)info[ ]*(/\1netdata_log_info(/g' -i $(grep -rl '^[ ]*info *(' ./)
+	vsed -e 's/^\([ ]*\)else info(/\1else netdata_log_info(/g' -i $(grep -rl '^[ ]*else info(' ./)
+	vsed -e 's/^\([ ]*\)if(\([^)]*\))[ ]*info(/\1if(\2) netdata_log_info(/g' -i $(grep -rl '^[ ]*if.*info(' ./)
+
 	if [ "$CROSS_BUILD" ]; then
 		sed -i "s|	\$(builddir)/judyltablesgen\$(EXEEXT)|	qemu-${XBPS_TARGET_QEMU_MACHINE}-static \$(builddir)/judyltablesgen\$(EXEEXT)|g" Makefile.am
 	fi

From 96ef51008edaef3bcedf0f718b1afba4675b1032 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 8 Jul 2023 12:47:51 +0200
Subject: [PATCH 33/35] strawberry: rebuild against protobuf-23.3_1

---
 srcpkgs/strawberry/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/strawberry/template b/srcpkgs/strawberry/template
index b42efa1b89b2..91f2e07a0ec0 100644
--- a/srcpkgs/strawberry/template
+++ b/srcpkgs/strawberry/template
@@ -1,7 +1,7 @@
 # Template file for 'strawberry'
 pkgname=strawberry
 version=1.0.17
-revision=2
+revision=3
 build_style=cmake
 hostmakedepends="pkg-config protobuf gettext"
 makedepends="alsa-lib-devel boost-devel gnutls-devel fftw-devel

From 46dc260376731d4f508d32fed9f2ffb641bc1905 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 8 Jul 2023 12:47:51 +0200
Subject: [PATCH 34/35] libphonenumber: rebuild against protobuf-23.3_1

---
 srcpkgs/libphonenumber/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libphonenumber/template b/srcpkgs/libphonenumber/template
index f554714b3c7a..058939459f6a 100644
--- a/srcpkgs/libphonenumber/template
+++ b/srcpkgs/libphonenumber/template
@@ -1,7 +1,7 @@
 # Template file for 'libphonenumber'
 pkgname=libphonenumber
 version=8.12.39
-revision=12
+revision=13
 build_wrksrc=cpp
 build_style=cmake
 build_helper=qemu

From 7080395e2bb9200d0168a2cb33d188c4a5f6161a Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 11 Jul 2023 09:10:32 +0200
Subject: [PATCH 35/35] fixup! sysdig: update to 0.31.5.

---
 srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch | 11 +++++++++++
 srcpkgs/sysdig/template                           |  1 +
 2 files changed, 12 insertions(+)
 create mode 100644 srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch

diff --git a/srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch b/srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch
new file mode 100644
index 000000000000..387be65954e6
--- /dev/null
+++ b/srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch
@@ -0,0 +1,11 @@
+--- a/userspace/libsinsp/CMakeLists.txt	2023-06-05 10:25:32.000000000 +0200
++++ -	2023-07-11 09:03:42.496439385 +0200
+@@ -289,7 +289,7 @@
+ 	endif()
+ endif() # NOT WIN32
+ 
+-
++LIST(APPEND SINSP_LIBRARIES absl_log_internal_message absl_log_internal_nullguard)
+ target_link_libraries(sinsp ${SINSP_LIBRARIES})
+ 
+ if(APPLE)
diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index d088357125b8..0f2260a928ed 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -39,6 +39,7 @@ CXXFLAGS="-Wno-deprecated-declarations"
 
 post_patch() {
 	patch -d "${wrksrc}/libs-${_falcover}" -Np1 < "${FILESDIR}/libsinsp-zstd.patch"
+	patch -d "${wrksrc}/libs-${_falcover}" -Np1 < "${FILESDIR}/libsinsp-absl-protobuf.patch"
 
 	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
 	vsed -e 's|-std=c++0x||' -i CMakeLists.txt -i "${wrksrc}/libs-${_falcover}/cmake/modules/CompilerFlags.cmake"

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] protobuf/abseil-cpp/grpc: update
  2023-07-08 11:45 [PR PATCH] protobuf/abseil-cpp: update Johnnynator
                   ` (4 preceding siblings ...)
  2023-07-11  7:10 ` Johnnynator
@ 2023-07-14 14:22 ` Johnnynator
  2023-07-14 14:39 ` Johnnynator
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Johnnynator @ 2023-07-14 14:22 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 616 bytes --]

There is an updated pull request by Johnnynator against master on the void-packages repository

https://github.com/Johnnynator/void-packages google-stuff
https://github.com/void-linux/void-packages/pull/44920

protobuf/abseil-cpp/grpc: update
"Fun" with google stuff

#### Testing the changes
- I tested the changes in this PR: **WiP**


#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):



A patch file from https://github.com/void-linux/void-packages/pull/44920.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-google-stuff-44920.patch --]
[-- Type: text/x-diff, Size: 117035 bytes --]

From 2fa9d09713592cbb1af14d87d047818bd4685933 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:24:01 +0200
Subject: [PATCH 01/36] abseil-cpp: update to 20230125.3.

---
 common/shlibs                                 | 128 ++++++++++++------
 srcpkgs/abseil-cpp/patches/google-sucks.patch |  77 -----------
 srcpkgs/abseil-cpp/template                   |   4 +-
 3 files changed, 85 insertions(+), 124 deletions(-)
 delete mode 100644 srcpkgs/abseil-cpp/patches/google-sucks.patch

diff --git a/common/shlibs b/common/shlibs
index 4b2122d1b199..d1e779f4e7cb 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4207,51 +4207,89 @@ libsunpinyin.so.3 libsunpinyin-3.0.0rc2_1
 libtpm2-totp.so.0 libtpm2-totp-0.3.0_1
 libmujs.so.1.2.0 mujs-1.2.0_2
 libiir.so.1 libiir1-1.9.3_1
-libabsl_statusor.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_hash.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_raw_hash_set.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_bad_variant_access.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_status.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_pool_urbg.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_hwaes_impl.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_slow.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cord.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_city.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_bad_optional_access.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_info.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_str_format_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_synchronization.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_time.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strings.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_throw_delegate.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_time_zone.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_spinlock_wait.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_base.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_civil_time.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cord_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_functions.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_handle.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_debugging_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_demangle_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_exponential_biased.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_graphcycles_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_hashtablez_sampler.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_int128.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_log_severity.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_low_level_hash.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_malloc_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_distributions.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_platform.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_hwaes.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_seed_material.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_seed_gen_exception.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_seed_sequences.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_raw_logging_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_stacktrace.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strerror.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strings_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_symbolize.so.2206.0.0 abseil-cpp-20220623.1_1
+libabsl_flags.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_raw_logging_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_parse.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_reflection.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_globals.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_config.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_seed_sequences.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_statusor.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_usage_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_commandlineflag.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_hwaes_impl.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_status.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_any_cast_impl.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_variant_access.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_raw_hash_set.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_optional_access.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cord.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_distribution_test_util.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_handle.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_graphcycles_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_spinlock_wait.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_functions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_usage.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_debugging_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strerror.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_seed_material.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_log_sink_set.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_proto.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_civil_time.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_conditions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_cpu_detect.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_entry.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_distributions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_globals.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_format.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_exponential_biased.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_city.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_symbolize.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_leak_check.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_low_level_hash.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_severity.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_scoped_set_env.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strings.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_die_if_null.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_hash.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_commandlineflag_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_periodic_sampler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_platform.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_malloc_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_sample_token.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_str_format_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_synchronization.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_message.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strings_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_private_handle_accessor.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cord_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_hwaes.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_throw_delegate.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_cord_state.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_flags.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_program_name.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_time_zone.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_examine_stack.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc32c.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_initialize.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_failure_signal_handler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_time.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_info.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_sink.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_nullguard.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_demangle_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_base.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_hashtablez_sampler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_marshalling.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_pool_urbg.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_int128.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_stacktrace.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_seed_gen_exception.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_check_op.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_slow.so.2301.0.0 abseil-cpp-20230125.3_1
 libairspyhf.so.0 libairspyhf-1.6.8_1
 libtraceevent.so.1 libtraceevent-1.6.2_1
 libtracefs.so.1 libtracefs-1.4.2_1
diff --git a/srcpkgs/abseil-cpp/patches/google-sucks.patch b/srcpkgs/abseil-cpp/patches/google-sucks.patch
deleted file mode 100644
index 511bae847101..000000000000
--- a/srcpkgs/abseil-cpp/patches/google-sucks.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-commit 1fbfea71fb42b2e79f9e342c1843bd26a8703536
-Author: Daniel Kolesa <daniel@octaforge.org>
-Date:   Thu Aug 25 01:20:58 2022 +0200
-
-    An all-in-one patch that fixes several issues:
-    
-    1) UnscaledCycleClock not fully implemented for ppc*-musl (disabled on musl)
-    2) powerpc stacktrace implementation only works on glibc (disabled on musl)
-    3) powerpc stacktrace implementation has ppc64 assumptions (fixed)
-    4) examine_stack.cpp makes glibc assumptions on powerpc (fixed)
-
-diff --git a/absl/base/internal/unscaledcycleclock.cc b/absl/base/internal/unscaledcycleclock.cc
-index b1c396c..d62bfd6 100644
---- a/absl/base/internal/unscaledcycleclock.cc
-+++ b/absl/base/internal/unscaledcycleclock.cc
-@@ -20,7 +20,7 @@
- #include <intrin.h>
- #endif
- 
--#if defined(__powerpc__) || defined(__ppc__)
-+#if (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
- #ifdef __GLIBC__
- #include <sys/platform/ppc.h>
- #elif defined(__FreeBSD__)
-@@ -58,7 +58,7 @@ double UnscaledCycleClock::Frequency() {
-   return base_internal::NominalCPUFrequency();
- }
- 
--#elif defined(__powerpc__) || defined(__ppc__)
-+#elif (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
- 
- int64_t UnscaledCycleClock::Now() {
- #ifdef __GLIBC__
-diff --git a/absl/base/internal/unscaledcycleclock.h b/absl/base/internal/unscaledcycleclock.h
-index 2cbeae3..83d8c98 100644
---- a/absl/base/internal/unscaledcycleclock.h
-+++ b/absl/base/internal/unscaledcycleclock.h
-@@ -46,8 +46,8 @@
- 
- // The following platforms have an implementation of a hardware counter.
- #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \
--    defined(__powerpc__) || defined(__ppc__) || defined(__riscv) ||     \
--    defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
-+    ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \
-+    defined(__riscv) || defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
- #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
- #else
- #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 0
-diff --git a/absl/debugging/internal/examine_stack.cc b/absl/debugging/internal/examine_stack.cc
-index 5bdd341..a42a3c4 100644
---- a/absl/debugging/internal/examine_stack.cc
-+++ b/absl/debugging/internal/examine_stack.cc
-@@ -174,8 +174,10 @@ void* GetProgramCounter(void* const vuc) {
-     return reinterpret_cast<void*>(context->uc_mcontext.pc);
- #elif defined(__powerpc64__)
-     return reinterpret_cast<void*>(context->uc_mcontext.gp_regs[32]);
--#elif defined(__powerpc__)
-+#elif defined(__powerpc__) && defined(__GLIBC__)
-     return reinterpret_cast<void*>(context->uc_mcontext.uc_regs->gregs[32]);
-+#elif defined(__powerpc__)
-+    return reinterpret_cast<void*>(context->uc_mcontext.gregs[32]);
- #elif defined(__riscv)
-     return reinterpret_cast<void*>(context->uc_mcontext.__gregs[REG_PC]);
- #elif defined(__s390__) && !defined(__s390x__)
-diff --git a/absl/debugging/internal/stacktrace_config.h b/absl/debugging/internal/stacktrace_config.h
-index 3929b1b..23d5e50 100644
---- a/absl/debugging/internal/stacktrace_config.h
-+++ b/absl/debugging/internal/stacktrace_config.h
-@@ -60,7 +60,7 @@
- #elif defined(__i386__) || defined(__x86_64__)
- #define ABSL_STACKTRACE_INL_HEADER \
-   "absl/debugging/internal/stacktrace_x86-inl.inc"
--#elif defined(__ppc__) || defined(__PPC__)
-+#elif (defined(__ppc__) || defined(__PPC__)) && defined(__GLIBC__)
- #define ABSL_STACKTRACE_INL_HEADER \
-   "absl/debugging/internal/stacktrace_powerpc-inl.inc"
- #elif defined(__aarch64__)
diff --git a/srcpkgs/abseil-cpp/template b/srcpkgs/abseil-cpp/template
index 8640d2489406..3ffdb4d99d33 100644
--- a/srcpkgs/abseil-cpp/template
+++ b/srcpkgs/abseil-cpp/template
@@ -1,6 +1,6 @@
 # Template file for 'abseil-cpp'
 pkgname=abseil-cpp
-version=20220623.1
+version=20230125.3
 revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON -DABSL_PROPAGATE_CXX_STD=ON"
@@ -10,7 +10,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="Apache-2.0"
 homepage="https://abseil.io"
 distfiles="https://github.com/abseil/abseil-cpp/archive/${version}.tar.gz"
-checksum=91ac87d30cc6d79f9ab974c51874a704de9c2647c40f6932597329a282217ba8
+checksum=5366d7e7fa7ba0d915014d387b66d0d002c03236448e1ba9ef98122c13b35c36
 
 abseil-cpp-devel_package() {
 	short_desc+=" (development files)"

From 890d802c66e66caacde2d4010022beb952242fa7 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 02/36] Bear: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/Bear/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/Bear/template b/srcpkgs/Bear/template
index cebf51b64728..2e6da3ba9a30 100644
--- a/srcpkgs/Bear/template
+++ b/srcpkgs/Bear/template
@@ -1,7 +1,7 @@
 # Template file for 'Bear'
 pkgname=Bear
 version=3.1.2
-revision=1
+revision=2
 build_style=cmake
 hostmakedepends="pkg-config protobuf protobuf-devel grpc"
 makedepends="json-c++ spdlog grpc-devel protobuf-devel gtest-devel"

From 88e754bb31c06e8f7a15c8938ace693600708eaf Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 03/36] grpc: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/grpc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index 5b4547a5c0fc..f9d197a1c354 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -1,7 +1,7 @@
 # Template file for 'grpc'
 pkgname=grpc
 version=1.49.1
-revision=2
+revision=3
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON
  -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package

From b38f03b380fbf622b18ceec71ee3bf0e76e8d298 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 04/36] justbuild: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/justbuild/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index 1ad8e334617d..ee36f6dae575 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
 # Template file for 'justbuild'
 pkgname=justbuild
 version=1.1.2
-revision=1
+revision=2
 create_wrksrc=yes
 hostmakedepends="jo pandoc pkg-config python3 tar unzip wget"
 makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++

From 3ebf2dd20a5ae7283d817fc5390a9a76794473ec Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 05/36] python3-grpcio: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/python3-grpcio/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 826eda0fc560..9b3c7288a9dd 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-grpcio'
 pkgname=python3-grpcio
 version=1.49.1
-revision=3
+revision=4
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-six python3-Cython"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel

From 0aac8463d0d41a2a7e48711826c077840dd367f3 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 06/36] sysdig: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/sysdig/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index 81ddb7aba5e3..4a04e762468c 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,7 +1,7 @@
 # Template file for 'sysdig'
 pkgname=sysdig
 version=0.28.0
-revision=7
+revision=8
 build_style=cmake
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF
@@ -36,7 +36,8 @@ CXXFLAGS="-Wno-deprecated-declarations"
 CXXFLAGS+=" -I/usr/include/grpc_absl"
 
 post_extract() {
-	sed -i 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' scripts/CMakeLists.txt
+	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
+	vsed -e 's|-std=c++0x||' -i CMakeLists.txt
 }
 
 post_install() {

From 2fb9d639d2e07e41f91bb3b3a1037eec54746b69 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 22:01:12 +0200
Subject: [PATCH 07/36] python3-grpcio: update to 1.56.0.

---
 srcpkgs/python3-grpcio/template | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 9b3c7288a9dd..25ea3fc34620 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-grpcio'
 pkgname=python3-grpcio
-version=1.49.1
-revision=4
+version=1.56.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-six python3-Cython"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel
@@ -12,7 +12,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://grpc.io"
 distfiles="${PYPI_SITE}/g/grpcio/grpcio-${version}.tar.gz"
-checksum=d4725fc9ec8e8822906ae26bb26f5546891aa7fbc3443de970cc556d43a5c99f
+checksum=4c08ee21b3d10315b8dc26f6c13917b20ed574cdbed2d2d80c53d5508fdcc0f2
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	makedepends+=" libatomic-devel"
@@ -29,5 +29,7 @@ export GRPC_PYTHON_BUILD_SYSTEM_RE2=1
 export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
 
 post_extract() {
+	# abseil-cpp 2023xxxxxx requires at least c++ 17
+	vsed -e 's/c++14/c++17/g' -i setup.py
 	rm src/python/grpcio/grpc/_cython/cygrpc.cpp
 }

From 9cf5cffe9fe5d6aea416ef6f72d12e5479eec125 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 22:01:47 +0200
Subject: [PATCH 08/36] grpc: update to 1.56.0.

---
 common/shlibs                                 | 24 +++++++++----------
 srcpkgs/grpc/patches/cmake.patch              | 20 ++++++++++++++++
 .../grpc/patches/revert-find-protobuf.patch   | 23 ++++++++++++++++++
 srcpkgs/grpc/template                         | 15 ++++++------
 4 files changed, 63 insertions(+), 19 deletions(-)
 create mode 100644 srcpkgs/grpc/patches/cmake.patch
 create mode 100644 srcpkgs/grpc/patches/revert-find-protobuf.patch

diff --git a/common/shlibs b/common/shlibs
index d1e779f4e7cb..5adfa4d6e69f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3683,18 +3683,18 @@ liboblibs.so.0.1 oblibs-0.1.1.1_1
 libaal-1.0.so.7 libaal-1.0.7_1
 libaal-minimal.so.0 libaal-1.0.7_1
 libcli.so.1.9 libcli-1.9.8.4_1
-libaddress_sorting.so.27 libgrpc-1.49.1_1
-libgpr.so.27 libgrpc-1.49.1_1
-libgrpc.so.27 libgrpc-1.49.1_1
-libgrpc_unsecure.so.27 libgrpc-1.49.1_1
-libupb.so.27 libgrpc-1.49.1_1
-libgrpc++.so.1.49 libgrpc-1.49.1_1
-libgrpc++_alts.so.1.49 libgrpc-1.49.1_1
-libgrpc++_error_details.so.1.49 libgrpc-1.49.1_1
-libgrpc++_reflection.so.1.49 libgrpc-1.49.1_1
-libgrpc++_unsecure.so.1.49 libgrpc-1.49.1_1
-libgrpc_plugin_support.so.1.49 libgrpc-1.49.1_1
-libgrpcpp_channelz.so.1.49 libgrpc-1.49.1_1
+libaddress_sorting.so.33 libgrpc-1.56.0_1
+libgpr.so.33 libgrpc-1.56.0_1
+libgrpc.so.33 libgrpc-1.56.0_1
+libgrpc_unsecure.so.33 libgrpc-1.56.0_1
+libupb.so.33 libgrpc-1.56.0_1
+libgrpc++.so.1.56 libgrpc-1.56.0_1
+libgrpc++_alts.so.1.56 libgrpc-1.56.0_1
+libgrpc++_error_details.so.1.56 libgrpc-1.56.0_1
+libgrpc++_reflection.so.1.56 libgrpc-1.56.0_1
+libgrpc++_unsecure.so.1.56 libgrpc-1.56.0_1
+libgrpc_plugin_support.so.1.56 libgrpc-1.56.0_1
+libgrpcpp_channelz.so.1.56 libgrpc-1.56.0_1
 libircclient.so.1 libircclient-1.10_5
 libFAudio.so.0 FAudio-19.05_1
 libqaccessibilityclient-qt5.so.0 libqaccessibilityclient-0.4.0_1
diff --git a/srcpkgs/grpc/patches/cmake.patch b/srcpkgs/grpc/patches/cmake.patch
new file mode 100644
index 000000000000..54d04e29837d
--- /dev/null
+++ b/srcpkgs/grpc/patches/cmake.patch
@@ -0,0 +1,20 @@
+--- a/cmake/gRPCConfig.cmake.in	2023-06-14 22:21:16.000000000 +0200
++++ -	2023-06-28 11:11:32.902678412 +0200
+@@ -1,5 +1,6 @@
+ # Module path
+ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/modules)
++include(CMakeFindDependencyMacro)
+ 
+ # Depend packages
+ @_gRPC_FIND_ZLIB@
+--- a/CMakeLists.txt	2023-07-11 08:54:22.009027477 +0200
++++ -	2023-07-11 08:54:38.950947984 +0200
+@@ -12375,6 +12375,8 @@
+   ${_gRPC_ZLIB_LIBRARIES}
+   ${_gRPC_ALLTARGETS_LIBRARIES}
+   grpc_plugin_support
++  absl::hash
++  absl::raw_hash_set
+ )
+ 
+ 
diff --git a/srcpkgs/grpc/patches/revert-find-protobuf.patch b/srcpkgs/grpc/patches/revert-find-protobuf.patch
new file mode 100644
index 000000000000..6001f37c6b1b
--- /dev/null
+++ b/srcpkgs/grpc/patches/revert-find-protobuf.patch
@@ -0,0 +1,23 @@
+Use the old cmake provided FindProtobuf() implementation for now.
+A future cmake update will remove this module, but use it for now until
+all packages are updated to the new system
+---
+--- a/cmake/protobuf.cmake	2023-06-14 22:21:16.000000000 +0200
++++ -	2023-07-10 21:05:41.114443796 +0200
+@@ -55,7 +55,7 @@
+     set(gRPC_INSTALL FALSE)
+   endif()
+ elseif(gRPC_PROTOBUF_PROVIDER STREQUAL "package")
+-  find_package(Protobuf REQUIRED CONFIG)
++  find_package(Protobuf REQUIRED)
+ 
+   if(Protobuf_FOUND OR PROTOBUF_FOUND)
+     if(TARGET protobuf::${_gRPC_PROTOBUF_LIBRARY_NAME})
+@@ -86,6 +86,6 @@
+         set(_gRPC_PROTOBUF_PROTOC_EXECUTABLE ${PROTOBUF_PROTOC_EXECUTABLE})
+       endif()
+     endif()
+-    set(_gRPC_FIND_PROTOBUF "find_dependency(Protobuf CONFIG)")
++    set(_gRPC_FIND_PROTOBUF "find_dependency(Protobuf)")
+   endif()
+ endif()
diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index f9d197a1c354..9c58c2509bee 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -1,14 +1,13 @@
 # Template file for 'grpc'
 pkgname=grpc
-version=1.49.1
-revision=3
+version=1.56.0
+revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON
  -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package
  -DgRPC_SSL_PROVIDER=package -DgRPC_ZLIB_PROVIDER=package
- -DgRPC_ABSL_PROVIDER=package -D_gRPC_RE2_LIBRARIES=-lre2
- -D_gRPC_RE2_INCLUDE_DIR=${XBPS_CROSS_BASE}/usr/include"
-hostmakedepends="which protobuf"
+ -DgRPC_ABSL_PROVIDER=package -DgRPC_RE2_PROVIDER=package"
+hostmakedepends="protobuf pkg-config"
 _devel_depends="c-ares-devel re2-devel zlib-devel openssl-devel abseil-cpp-devel"
 makedepends="libprotoc-devel protobuf-devel gperftools-devel ${_devel_depends}"
 short_desc="High performance, open source, general RPC framework"
@@ -16,11 +15,12 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://github.com/grpc/grpc"
 distfiles="${homepage}/archive/v${version}/${pkgname}-${version}.tar.gz"
-checksum=5071b630e2a14707ad060636990f1b25b0984bd168c7ea1ab95e48a3bdc0081f
+checksum=e034992a0b464042021f6d440f2090acc2422c103a322b0844e3921ccea981dc
 
 if [ "$CROSS_BUILD" ]; then
 	# need host grpc_cpp_plugin
 	hostmakedepends+=" grpc"
+	configure_args+=" -DProtobuf_PROTOC_EXECUTABLE=/usr/bin/protoc"
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
@@ -38,7 +38,8 @@ libgrpc_package() {
 
 grpc-devel_package() {
 	short_desc+=" - development files"
-	depends="${sourcepkg}>=${version}_${revision} ${_devel_depends}"
+	depends="${sourcepkg}>=${version}_${revision} ${_devel_depends}
+	 protobuf-devel"
 	pkg_install() {
 		vmove usr/include
 		vmove usr/lib/*.so

From 1b9f9f8775b66c8e94f0cd621070940368f4a271 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:40:13 +0200
Subject: [PATCH 09/36] protobuf: update to 23.4.

- switch to cmake buildstyle
- grpc needs the .cmake files to find protobuf
- newer version of protobuf will drop autoconf
---
 common/shlibs             |  6 ++---
 srcpkgs/protobuf/template | 46 ++++++++++++++-------------------------
 2 files changed, 19 insertions(+), 33 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 5adfa4d6e69f..3cd47fb4f486 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3115,9 +3115,9 @@ libm17n-flt.so.0 m17n-lib-1.7.0_1
 libm17n-gui.so.0 m17n-lib-1.7.0_1
 libm17n-core.so.0 m17n-lib-1.7.0_1
 libm17n.so.0 m17n-lib-1.7.0_1
-libprotobuf-lite.so.32 libprotobuf-lite-21.4_1
-libprotoc.so.32 libprotoc-21.4_1
-libprotobuf.so.32 libprotobuf-21.4_1
+libprotobuf-lite.so.23.4.0 libprotobuf-lite-23.4_1
+libprotoc.so.23.4.0 libprotoc-23.4_1
+libprotobuf.so.23.4.0 libprotobuf-23.4_1
 libsombok.so.3 sombok-2.4.0_1
 libdeviceclient.so.0 pragha-1.3.3_1
 libykclient.so.3 ykclient-2.15_1
diff --git a/srcpkgs/protobuf/template b/srcpkgs/protobuf/template
index 571f06487c85..91324a4da612 100644
--- a/srcpkgs/protobuf/template
+++ b/srcpkgs/protobuf/template
@@ -1,22 +1,22 @@
 # Template file for 'protobuf'
 pkgname=protobuf
-version=21.12
+version=23.4
 revision=1
-create_wrksrc="yes"
-build_wrksrc="${pkgname}-${version}"
-build_style=gnu-configure
-hostmakedepends="pkg-config automake libtool"
-makedepends="zlib-devel"
+build_style=cmake
+hostmakedepends="pkg-config"
+configure_args="-Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_USE_EXTERNAL_GTEST=ON
+ -Dprotobuf_BUILD_LIBPROTOC=ON -Dprotobuf_ABSL_PROVIDER=package"
+# XXX: Tests require that the abseil-cpp provides absl::scoped_mock_log
+configure_args+=" -Dprotobuf_BUILD_TESTS=OFF"
+makedepends="zlib-devel gtest-devel libatomic-devel
+ abseil-cpp-devel"
 short_desc="Protocol buffers compiler"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
 changelog="https://raw.githubusercontent.com/google/protobuf/master/CHANGES.txt"
-_googletest_commit="5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081"
-distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz
- https://github.com/google/googletest/archive/${_googletest_commit}.tar.gz"
-checksum="22fdaf641b31655d4b2297f9981fa5203b2866f8332d3c6333f6b0107bb320de
- 0e2f36e8e403c125fd0ab02171bdb786d3b6b3875b6ccf3b2eb7969be8faecd0"
+distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz"
+checksum=a700a49470d301f1190a487a923b5095bf60f08f4ae4cac9f5f7c36883d17971
 
 # Switch to versioned package
 conflicts="protobuf18>=0 protobuf23>=0 protobuf24>=0
@@ -26,24 +26,11 @@ replaces="${conflicts}"
 if [ "$CROSS_BUILD" ]; then
 	# needs host protoc
 	hostmakedepends+=" ${pkgname}"
-	configure_args+=" --with-protoc=/usr/bin/protoc"
+	configure_args+=" -Dprotobuf_PROTOC_EXE=/usr/bin/protoc"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-	LDFLAGS+=" -latomic"
-fi
-
-post_extract() {
-	rmdir "${build_wrksrc}/third_party/googletest"
-	mv "googletest-${_googletest_commit}" "${build_wrksrc}/third_party/googletest"
-}
-
-pre_configure() {
-	autoreconf -fi
-}
-
 post_install() {
+	rm -rf "${DESTDIR}/usr/lib/cmake"
 	vlicense LICENSE
 }
 
@@ -80,7 +67,6 @@ libprotoc-devel_package() {
 	 libprotoc26-devel>=0 libprotoc28-devel>=0"
 	replaces="${conflicts}"
 	pkg_install() {
-		vmove usr/lib/libprotoc.a
 		vmove usr/lib/libprotoc.so
 		vmove usr/include/google/protobuf/compiler
 	}
@@ -89,7 +75,8 @@ libprotoc-devel_package() {
 protobuf-devel_package() {
 	depends="zlib-devel
 	 libprotobuf-${version}_${revision}
-	 libprotobuf-lite-${version}_${revision}"
+	 libprotobuf-lite-${version}_${revision}
+	 abseil-cpp-devel"
 	short_desc="Protocol buffers C++ library - development files"
 	# Switch to versioned package
 	conflicts="protobuf18-devel>=0 protobuf23-devel>=0
@@ -98,10 +85,9 @@ protobuf-devel_package() {
 	replaces="${conflicts}"
 	pkg_install() {
 		vmove usr/include
-		vmove usr/lib/libprotobuf.a
-		vmove usr/lib/libprotobuf-lite.a
 		vmove usr/lib/libprotobuf.so
 		vmove usr/lib/libprotobuf-lite.so
 		vmove usr/lib/pkgconfig
+		vmove "usr/lib/*.a"
 	}
 }

From 4ca026ab0fc4b66fba4ea5bfcbb04de792e294c3 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 10/36] EternalTerminal: rebuild against protobuf-23.3_1

---
 srcpkgs/EternalTerminal/patches/limits.patch | 10 ++++++++++
 srcpkgs/EternalTerminal/template             |  2 +-
 2 files changed, 11 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/EternalTerminal/patches/limits.patch

diff --git a/srcpkgs/EternalTerminal/patches/limits.patch b/srcpkgs/EternalTerminal/patches/limits.patch
new file mode 100644
index 000000000000..9226bd45001a
--- /dev/null
+++ b/srcpkgs/EternalTerminal/patches/limits.patch
@@ -0,0 +1,10 @@
+--- a/EternalTerminal/external_imported/cxxopts/include/cxxopts.hpp	2022-05-05 17:20:44.000000000 +0200
++++ -	2023-07-10 20:07:25.607948589 +0200
+@@ -37,6 +37,7 @@
+ #include <unordered_map>
+ #include <unordered_set>
+ #include <vector>
++#include <limits>
+ 
+ #ifdef __cpp_lib_optional
+ #include <optional>
diff --git a/srcpkgs/EternalTerminal/template b/srcpkgs/EternalTerminal/template
index 1017a1b4a1ec..156eab6ce47e 100644
--- a/srcpkgs/EternalTerminal/template
+++ b/srcpkgs/EternalTerminal/template
@@ -1,7 +1,7 @@
 # Template file for 'EternalTerminal'
 pkgname=EternalTerminal
 version=6.2.1
-revision=1
+revision=2
 # revisions used for the specific versions of submodules.
 # they can be found in the external/ directory of the source code.
 _sanitizers_gitrev="99e159ec9bc8dd362b08d18436bd40ff0648417b"

From d2b1ca8825e1f07cb6c77c8e458f5e13b0d58e35 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 11/36] vlc: rebuild against protobuf-23.3_1

---
 srcpkgs/vlc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vlc/template b/srcpkgs/vlc/template
index 210762b0a7e2..651c94a1353a 100644
--- a/srcpkgs/vlc/template
+++ b/srcpkgs/vlc/template
@@ -1,7 +1,7 @@
 # Template file for 'vlc'
 pkgname=vlc
 version=3.0.18
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--disable-gme --disable-libtar --enable-jack
  --enable-live555 --disable-fluidsynth --enable-dvdread

From 7d9411e3c18ecc2aa77408330e840965f4f4664c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 12/36] mixxx: rebuild against protobuf-23.3_1

---
 srcpkgs/mixxx/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mixxx/template b/srcpkgs/mixxx/template
index 619ddca0d332..4b9ea00d3fb3 100644
--- a/srcpkgs/mixxx/template
+++ b/srcpkgs/mixxx/template
@@ -1,7 +1,7 @@
 # Template file for 'mixxx'
 pkgname=mixxx
 version=2.3.3
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="extra-cmake-modules pkg-config protobuf qt5-host-tools qt5-devel"

From 4fe4b5459c8ebe10454bfa79e0218ae3f7171a37 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 13/36] telegram-desktop: rebuild against protobuf-23.3_1

---
 srcpkgs/telegram-desktop/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/telegram-desktop/template b/srcpkgs/telegram-desktop/template
index f114b2341dc5..9db9f80c1a53 100644
--- a/srcpkgs/telegram-desktop/template
+++ b/srcpkgs/telegram-desktop/template
@@ -1,7 +1,7 @@
 # Template file for 'telegram-desktop'
 pkgname=telegram-desktop
 version=4.8.1
-revision=3
+revision=4
 build_style=cmake
 build_helper="qemu"
 configure_args="-DTDESKTOP_API_ID=209235

From 33c5a47722324ca848014b23eb82d72725b8d31b Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:56 +0200
Subject: [PATCH 14/36] usbguard: rebuild against protobuf-23.3_1

---
 srcpkgs/usbguard/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/usbguard/template b/srcpkgs/usbguard/template
index 8625c80a7eda..df4411202568 100644
--- a/srcpkgs/usbguard/template
+++ b/srcpkgs/usbguard/template
@@ -1,7 +1,7 @@
 # Template file for 'usbguard'
 pkgname=usbguard
 version=1.1.2
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-crypto-library=sodium --with-bundled-catch --with-bundled-pegtl"
 conf_files="/etc/usbguard/*"

From 38073ea7aa77731072d95999babc3acf1f74ef04 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 15/36] nsjail: rebuild against protobuf-23.3_1

---
 srcpkgs/nsjail/patches/cpp17.patch       | 11 +++++++++
 srcpkgs/nsjail/patches/kafel-bison.patch | 30 ------------------------
 srcpkgs/nsjail/patches/ldflags.patch     | 11 +++++++++
 srcpkgs/nsjail/patches/log.patch         | 24 +++++++++++++++++++
 srcpkgs/nsjail/template                  | 13 +++++-----
 5 files changed, 53 insertions(+), 36 deletions(-)
 create mode 100644 srcpkgs/nsjail/patches/cpp17.patch
 delete mode 100644 srcpkgs/nsjail/patches/kafel-bison.patch
 create mode 100644 srcpkgs/nsjail/patches/ldflags.patch
 create mode 100644 srcpkgs/nsjail/patches/log.patch

diff --git a/srcpkgs/nsjail/patches/cpp17.patch b/srcpkgs/nsjail/patches/cpp17.patch
new file mode 100644
index 000000000000..384ff7b51258
--- /dev/null
+++ b/srcpkgs/nsjail/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/Makefile	2022-11-22 22:25:15.000000000 +0100
++++ -	2023-07-08 16:35:16.308351723 +0200
+@@ -32,7 +32,7 @@
+ 	-Ikafel/include
+ 
+ CXXFLAGS += $(USER_DEFINES) $(COMMON_FLAGS) $(shell pkg-config --cflags protobuf) \
+-	-std=c++14 -fno-exceptions -Wno-unused -Wno-unused-parameter
++	-std=c++17 -fno-exceptions -Wno-unused -Wno-unused-parameter
+ LDFLAGS += -pie -Wl,-z,noexecstack -lpthread $(shell pkg-config --libs protobuf)
+ 
+ BIN = nsjail
diff --git a/srcpkgs/nsjail/patches/kafel-bison.patch b/srcpkgs/nsjail/patches/kafel-bison.patch
deleted file mode 100644
index 48eff0d36369..000000000000
--- a/srcpkgs/nsjail/patches/kafel-bison.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 32768d3cc8cecbc30d9020dbfa8d9ec541d057e4 Mon Sep 17 00:00:00 2001
-From: Evangelos Foutras <evangelos@foutrelis.com>
-Date: Wed, 17 Mar 2021 16:36:40 +0200
-Subject: [PATCH] Replace YYUSE call with void cast in src/parser.y
-
-The YYUSE macro was renamed to YY_USE in bison 3.7.5; we might as well
-avoid using it altogether and cast the unused variable to void instead.
-
-Fixes the following linker error:
-
-/usr/bin/ld: kafel/libkafel.a(libkafel.o): in function `kafel_yyerror':
-arm_syscalls.c:(.text+0x6984): undefined reference to `YYUSE'
----
- src/parser.y | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git kafel/src/parser.y kafel/src/parser.y
-index e0f109c..0e01373 100644
---- a/kafel/src/parser.y
-+++ b/kafel/src/parser.y
-@@ -420,8 +420,8 @@ const_def
- 
- void yyerror(YYLTYPE * loc, struct kafel_ctxt* ctxt, yyscan_t scanner,
-              const char *msg) {
-+  (void)scanner; /* suppress unused-parameter warning */
-   if (!ctxt->lexical_error) {
--    YYUSE(scanner);
-     if (loc->filename != NULL) {
-       append_error(ctxt, "%s:%d:%d: %s", loc->filename, loc->first_line, loc->first_column, msg);
-     } else {
diff --git a/srcpkgs/nsjail/patches/ldflags.patch b/srcpkgs/nsjail/patches/ldflags.patch
new file mode 100644
index 000000000000..c039ea09e237
--- /dev/null
+++ b/srcpkgs/nsjail/patches/ldflags.patch
@@ -0,0 +1,11 @@
+--- a/kafel/src/Makefile	2023-07-08 16:40:45.058218240 +0200
++++ -	2023-07-08 16:54:04.459715051 +0200
+@@ -56,7 +56,7 @@
+ 	$(CC) $(CFLAGS) -Wl,-soname,$@.${VERSION} -shared $^ -o $@
+ 
+ ${STATIC_TARGET}: ${OBJECTS}
+-	$(LD) $(LDFLAGS) -r ${OBJECTS} -o libkafel_r.o
++	$(LD) -r ${OBJECTS} -o libkafel_r.o
+ 	# Fix x86 PIC symbols
+ 	$(OBJDUMP) -t libkafel_r.o | grep '.hidden' | grep -v 'get_pc_thunk' | sed -e 's/^.*\.hidden //' > libkafel.localize_symbols
+ 	$(OBJCOPY) -w --localize-symbols=libkafel.localize_symbols libkafel_r.o libkafel.o
diff --git a/srcpkgs/nsjail/patches/log.patch b/srcpkgs/nsjail/patches/log.patch
new file mode 100644
index 000000000000..9e7f12368076
--- /dev/null
+++ b/srcpkgs/nsjail/patches/log.patch
@@ -0,0 +1,24 @@
+diff --git a/config.cc b/config.cc
+index 5242ba4..bbb2b6d 100644
+--- a/config.cc
++++ b/config.cc
+@@ -302,11 +302,6 @@ static bool configParseInternal(nsjconf_t* nsjconf, const nsjail::NsJailConfig&
+ 	return true;
+ }
+ 
+-static void LogHandler(
+-    google::protobuf::LogLevel level, const char* filename, int line, const std::string& message) {
+-	LOG_W("config.cc: '%s'", message.c_str());
+-}
+-
+ bool parseFile(nsjconf_t* nsjconf, const char* file) {
+ 	LOG_D("Parsing configuration from '%s'", file);
+ 
+@@ -316,7 +311,6 @@ bool parseFile(nsjconf_t* nsjconf, const char* file) {
+ 		return false;
+ 	}
+ 
+-	SetLogHandler(LogHandler);
+ 	google::protobuf::io::FileInputStream input(fd);
+ 	input.SetCloseOnDelete(true);
+ 
diff --git a/srcpkgs/nsjail/template b/srcpkgs/nsjail/template
index 346348fdf17b..5c5d0a508f38 100644
--- a/srcpkgs/nsjail/template
+++ b/srcpkgs/nsjail/template
@@ -1,7 +1,7 @@
 # Template file for 'nsjail'
 pkgname=nsjail
-version=3.0
-revision=9
+version=3.3
+revision=1
 create_wrksrc=yes
 build_style=gnu-makefile
 hostmakedepends="bison flex pkg-config protobuf which"
@@ -11,9 +11,9 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="http://nsjail.com"
 distfiles="https://github.com/google/nsjail/archive/${version}.tar.gz
- https://github.com/google/kafel/archive/8e69b8efae415cde3debffbb1e379d9e7a16835a.tar.gz"
-checksum="cfa66d3ed136b2e221752287b95e544915e8a6760aa866f023b604d14a374919
- 4a6c9a1a70ed99bbed767adc106081b017a3090307ea88cc7e329b82daa1373b"
+ https://github.com/google/kafel/archive/1af0975af45ca4404f357b9a4e1636f53a01bfd3.tar.gz"
+checksum="9c247d0cba565b4e3f91cc76e827ddf7f3ad499f54ba611edd25d4d7be4890c3
+ e8c195a2a08daa70c7712adae3eaa01656b039dcc8cc1e5e8210006716761ad5"
 
 archs="aarch64* armv5tel* armv6l* armv7l* x86_64*"
 
@@ -28,7 +28,8 @@ post_extract() {
 }
 
 post_patch() {
-	sed -i -e 's/-Werror\b//g' -e 's/\b\(\(C\(XX\)\?\|LD\)FLAGS\s*+=\)/override \1/g' Makefile kafel/build/Makefile.mk kafel/src/Makefile
+	vsed -e 's/-Werror\b//g' -i Makefile kafel/build/Makefile.mk
+	vsed -e 's/\b\(\(C\(XX\)\?\|LD\)FLAGS\s*+=\)/override \1/g' -i Makefile kafel/build/Makefile.mk kafel/src/Makefile
 }
 
 do_install() {

From 807fd4123613815e6476082234ccc611f28c5e7c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 16/36] netdata: rebuild against protobuf-23.3_1

---
 srcpkgs/netdata/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 18dbe4394a4e..781120b3f275 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -1,7 +1,7 @@
 # Template file for 'netdata'
 pkgname=netdata
 version=1.37.1
-revision=1
+revision=2
 build_style=gnu-configure
 build_helper=qemu
 configure_args="--with-user=_netdata ac_cv_file_externaldeps_libbpf_libbpf_a=no

From bc648e9aab755facc83a6383a23a2232b89416d3 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 17/36] mumble: rebuild against protobuf-23.3_1

---
 srcpkgs/mumble/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/mumble/patches/musl.patch  | 14 ++++++++++++++
 srcpkgs/mumble/template            |  2 +-
 3 files changed, 26 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/mumble/patches/cpp17.patch
 create mode 100644 srcpkgs/mumble/patches/musl.patch

diff --git a/srcpkgs/mumble/patches/cpp17.patch b/srcpkgs/mumble/patches/cpp17.patch
new file mode 100644
index 000000000000..7cb9c9a93355
--- /dev/null
+++ b/srcpkgs/mumble/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- mumble-1.4.287/CMakeLists.txt	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-07-10 20:12:27.869019033 +0200
+@@ -35,7 +35,7 @@
+ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/3rdparty")
+ set(PLUGINS_DIR "${CMAKE_SOURCE_DIR}/plugins")
+ 
+-set(CMAKE_CXX_STANDARD 14)
++set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_OSX_DEPLOYMENT_TARGET 10.13)
+ 
+ list(APPEND CMAKE_MODULE_PATH
diff --git a/srcpkgs/mumble/patches/musl.patch b/srcpkgs/mumble/patches/musl.patch
new file mode 100644
index 000000000000..49d83a422b8e
--- /dev/null
+++ b/srcpkgs/mumble/patches/musl.patch
@@ -0,0 +1,14 @@
+Newer musl expands NULL to nullptr, which is not a bool.
+Either way, the check is always true with openssl 1.1+, so it can probably removed alltogether
+---
+--- mumble-1.4.287/src/SSL.cpp	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-02-07 22:18:16.093759105 +0100
+@@ -33,7 +34,7 @@
+ 	// If we detect that no locking callback is configured, we
+ 	// have to set it up ourselves to allow multi-threaded use
+ 	// of OpenSSL.
+-	if (!CRYPTO_get_locking_callback()) {
++	if (CRYPTO_get_locking_callback() == NULL) {
+ 		SSLLocks::initialize();
+ 	}
+ }
diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 35c2728c74ce..5c30d4ae64b4 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.4.287
-revision=3
+revision=4
 build_style=cmake
 make_cmd=make
 configure_args="-Doverlay-xcompile=OFF -Dbundled-opus=OFF

From 50446c5ad3b5d85316c1b17f1c89f68a5dbf5f4b Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 18/36] mumble: rebuild against protobuf-23.3_1

---
 srcpkgs/mumble/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 5c30d4ae64b4..3dc669705365 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.4.287
-revision=4
+revision=5
 build_style=cmake
 make_cmd=make
 configure_args="-Doverlay-xcompile=OFF -Dbundled-opus=OFF

From 7633bb18ee379448929265aeed15d55ac0b49479 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 19/36] mozc: statically link against vendored prootbuf

protobuf 23+ links against abseil, which conflicts with the vendored
abseil version in mozc. The build system does not have a flag to use
system abseil.
---
 srcpkgs/mozc/template | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/mozc/template b/srcpkgs/mozc/template
index 3fdb986b3213..e7735cb57f4f 100644
--- a/srcpkgs/mozc/template
+++ b/srcpkgs/mozc/template
@@ -3,16 +3,17 @@ pkgname=mozc
 # src/data/version/mozc_version_template.bzl
 # revision is always 102, template always says 100 ;)
 version=2.28.4800.102
-revision=1
+revision=2
 _commit=056163a5fddbb261b258beb8444998e4882f0cc5
 _abseil=20211102.0
+_protobuf_commit=cc7b1b53234cd7a8f50d90ac3933b240dcf4cd97
 _gyp=0.1+20220404git9ecf45e
 _jpn_dict=e5b3425575734c323e1d947009dd74709437b684
 create_wrksrc=yes
 build_wrksrc=mozc/src
-hostmakedepends="gettext ninja pkg-config protobuf protobuf-devel
+hostmakedepends="gettext ninja pkg-config
  python3-six which qt5-qmake qt5-host-tools"
-makedepends="gtk+-devel ibus-devel libzinnia-devel protobuf-devel qt5-devel
+makedepends="gtk+-devel ibus-devel libzinnia-devel qt5-devel
  fcitx-devel libfcitx5-devel"
 depends="tegaki-zinnia-japanese>=0.3 mozc-base-${version}_${revision}"
 short_desc="Japanese IME (Open Source version of Google Japanese Input)"
@@ -22,11 +23,13 @@ homepage="https://github.com/google/mozc"
 distfiles="
  https://github.com/fcitx/mozc/archive/$_commit.tar.gz
  https://github.com/abseil/abseil-cpp/archive/refs/tags/$_abseil.tar.gz
+ https://github.com/protocolbuffers/protobuf/archive/$_protobuf_commit.tar.gz
  ${DEBIAN_SITE}/main/g/gyp/gyp_$_gyp.orig.tar.xz
  https://github.com/hiroyuki-komatsu/japanese-usage-dictionary/archive/$_jpn_dict.tar.gz
 "
 checksum="259d87bfd7535ad03bd554185677d7345a90166353a6db0b6a3606183ad2923d
  dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4
+ 863e27f6d24f40bce2bbfe5adcf365f2af5479ea917f254331ee60ce88f8c8a5
  0325006f012db66dfa27bf7bb048f3fe38f96e512ebe065930cbc70bcdc06bc9
  0b6efee0eebac2c1a8eeea333278aa40fcef7846bba9a379962c6e567e7e3dc1"
 
@@ -47,7 +50,8 @@ post_extract() {
 	# symlink "submodules" into place
 	for _src_dest in gyp \
 		abseil-cpp \
-		japanese-usage-dictionary:japanese_usage_dictionary
+		japanese-usage-dictionary:japanese_usage_dictionary \
+		protobuf
 	do
 		_src=${_src_dest%:*}
 		_dst=${_src_dest#*:}
@@ -61,7 +65,6 @@ do_configure() {
 	GYP_DEFINES="
 	 document_dir=/usr/share/licenses/${pkgname}
 	 ibus_mozc_path=/usr/libexec/ibus-engine-mozc
-	 use_libprotobuf=1
 	 use_libzinnia=1
 	 ${XBPS_TARGET_NO_ATOMIC8:+use_libatomic=1}
 	" python3 build_mozc.py gyp --target_platform=Linux

From 112c6d4fb1bbfeef75f6771520bf29578930b9d0 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 20/36] mosh: rebuild against protobuf-23.3_1

---
 srcpkgs/mosh/patches/cpp17.patch | 14 ++++++++++++++
 srcpkgs/mosh/template            |  5 +++--
 2 files changed, 17 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/mosh/patches/cpp17.patch

diff --git a/srcpkgs/mosh/patches/cpp17.patch b/srcpkgs/mosh/patches/cpp17.patch
new file mode 100644
index 000000000000..5463adc2718b
--- /dev/null
+++ b/srcpkgs/mosh/patches/cpp17.patch
@@ -0,0 +1,14 @@
+--- a/configure.ac	2022-10-27 05:29:47.000000000 +0200
++++ -	2023-07-08 13:19:05.270079012 +0200
+@@ -22,9 +22,9 @@
+ # automake 1.12 seems to require this, but automake 1.11 doesn't recognize it
+ m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+ 
+-# Protobuf 3.6+ requires C++11.
++# Protobuf 3.6+ requires C++11., 4.2.2 with abseil requires C++17
+ AS_IF([pkg-config --atleast-version 3.6.0 protobuf],
+-  [AX_CXX_COMPILE_STDCXX([11])])
++  [AX_CXX_COMPILE_STDCXX([17])])
+ 
+ WARNING_CXXFLAGS=""
+ PICKY_CXXFLAGS=""
diff --git a/srcpkgs/mosh/template b/srcpkgs/mosh/template
index 173ba14bcd47..d252a0c29755 100644
--- a/srcpkgs/mosh/template
+++ b/srcpkgs/mosh/template
@@ -1,9 +1,9 @@
 # Template file for 'mosh'
 pkgname=mosh
 version=1.4.0
-revision=3
+revision=4
 build_style=gnu-configure
-hostmakedepends="perl pkg-config protobuf"
+hostmakedepends="perl pkg-config protobuf autoconf automake"
 makedepends="ncurses-devel protobuf-devel libutempter-devel openssl-devel"
 depends="perl-IO-Tty"
 short_desc="Mobile shell, remote terminal application that allows roaming"
@@ -16,4 +16,5 @@ checksum=872e4b134e5df29c8933dff12350785054d2fd2839b5ae6b5587b14db1465ddd
 pre_configure() {
 	# make local.test always succeed. It fails due to missing X server in chroot.
 	printf "%s\n" "#!/bin/sh" ":" > src/tests/local.test
+	autoreconf -fi
 }

From 97b811e4babc026de088e94f61fa7f877cdc4cf6 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 21/36] libcompizconfig: rebuild against protobuf-23.3_1

---
 srcpkgs/libcompizconfig/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libcompizconfig/template b/srcpkgs/libcompizconfig/template
index 5b59eda97c78..3fb33698bfa6 100644
--- a/srcpkgs/libcompizconfig/template
+++ b/srcpkgs/libcompizconfig/template
@@ -1,7 +1,7 @@
 # Template file for 'libcompizconfig'
 pkgname=libcompizconfig
 version=0.8.18
-revision=10
+revision=11
 build_style=gnu-configure
 configure_args="--disable-static"
 hostmakedepends="automake intltool libtool pkg-config protobuf"

From b866fea37ff75bcb90eec809601bc3432df6175c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 22/36] libArcus: rebuild against protobuf-23.3_1

---
 srcpkgs/libArcus/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libArcus/template b/srcpkgs/libArcus/template
index d6fedecc5599..1cf1b866d650 100644
--- a/srcpkgs/libArcus/template
+++ b/srcpkgs/libArcus/template
@@ -1,7 +1,7 @@
 # Template file for 'libArcus'
 pkgname=libArcus
 version=4.13.1
-revision=4
+revision=5
 build_style=cmake
 configure_args="-DBUILD_EXAMPLES=OFF"
 hostmakedepends="protobuf python3-sip-devel"

From d7abbc97e26dd809d5d470c9f718e549655a3463 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 23/36] kismet: rebuild against protobuf-23.3_1

---
 srcpkgs/kismet/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/kismet/template b/srcpkgs/kismet/template
index 48a0fc5fa6f1..46cbf7b31811 100644
--- a/srcpkgs/kismet/template
+++ b/srcpkgs/kismet/template
@@ -1,7 +1,7 @@
 # Template file for 'kismet'
 pkgname=kismet
 version=2022.08.R1
-revision=2
+revision=3
 _realver="${version//./-}"
 build_style=gnu-configure
 configure_args="--disable-python-tools"

From 0f5b1008027a32b90fe6eae5bed8f4084a08cb38 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 24/36] cura-engine: rebuild against protobuf-23.3_1

---
 srcpkgs/cura-engine/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cura-engine/template b/srcpkgs/cura-engine/template
index 4f3118d30252..1f23ddace749 100644
--- a/srcpkgs/cura-engine/template
+++ b/srcpkgs/cura-engine/template
@@ -1,7 +1,7 @@
 # Template file for 'cura-engine'
 pkgname=cura-engine
 version=4.13.1
-revision=3
+revision=4
 build_style=cmake
 configure_args="-DCURA_ENGINE_VERSION=${version}"
 hostmakedepends="protobuf git"

From c51500905cc202708ff6c2b67560509ce474adc0 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 25/36] clementine: rebuild against protobuf-23.3_1

---
 srcpkgs/clementine/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/clementine/template b/srcpkgs/clementine/template
index acd098124529..a1cacbb73d8e 100644
--- a/srcpkgs/clementine/template
+++ b/srcpkgs/clementine/template
@@ -1,11 +1,11 @@
 # Template file for 'clementine'
 pkgname=clementine
 version=1.4.0rc1
-revision=10
+revision=11
 _fullver=${version}-873-g3471134d5
 build_style=cmake
 configure_args="-DUSE_SYSTEM_TAGLIB=ON -DBUILD_WERROR=OFF -DUSE_SYSTEM_PROJECTM=ON
- -DFORCE_GIT_REVISION=${_fullver}"
+ -DFORCE_GIT_REVISION=${_fullver} -DCMAKE_CXX_STANDARD=17"
 hostmakedepends="gettext sparsehash pkg-config qt5-qmake qt5-host-tools protobuf"
 makedepends="chromaprint-devel boost-devel gst-plugins-base1-devel
  qt5-devel glew-devel sqlite-devel protobuf-devel libplist-devel

From 7d62de8a872895bf94d64c629e2142ee6c9ece23 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 26/36] bloaty: rebuild against protobuf-23.3_1

---
 srcpkgs/bloaty/patches/cpp17.patch         | 20 ++++++++
 srcpkgs/bloaty/patches/system-abseil.patch | 58 ++++++++++++++++++++++
 srcpkgs/bloaty/template                    |  2 +-
 3 files changed, 79 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/bloaty/patches/cpp17.patch
 create mode 100644 srcpkgs/bloaty/patches/system-abseil.patch

diff --git a/srcpkgs/bloaty/patches/cpp17.patch b/srcpkgs/bloaty/patches/cpp17.patch
new file mode 100644
index 000000000000..ca458dd79fb6
--- /dev/null
+++ b/srcpkgs/bloaty/patches/cpp17.patch
@@ -0,0 +1,20 @@
+--- bloaty-1.1/CMakeLists.txt	2020-05-24 06:43:55.000000000 +0200
++++ -	2023-07-08 12:51:24.115742363 +0200
+@@ -2,7 +2,7 @@
+ cmake_policy(SET CMP0048 NEW)
+ project (Bloaty VERSION 1.0)
+ project (Bloaty VERSION 1.1)
+-set(CMAKE_CXX_STANDARD 11)
++set(CMAKE_CXX_STANDARD 17)
+ 
+ # Options we define for users.
+ option(BLOATY_ENABLE_ASAN "Enable address sanitizer." OFF)
+@@ -93,7 +93,7 @@
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/src")
+ 
+ # Baseline build flags.
+-set(CMAKE_CXX_FLAGS "-std=c++11 -W -Wall -Wno-sign-compare")
++set(CMAKE_CXX_FLAGS "-W -Wall -Wno-sign-compare")
+ set(CMAKE_CXX_FLAGS_DEBUG "-g1")
+ set(CMAKE_CXX_FLAGS_RELEASE "-O2")
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g1")
diff --git a/srcpkgs/bloaty/patches/system-abseil.patch b/srcpkgs/bloaty/patches/system-abseil.patch
new file mode 100644
index 000000000000..799e10a3b540
--- /dev/null
+++ b/srcpkgs/bloaty/patches/system-abseil.patch
@@ -0,0 +1,58 @@
+--- bloaty-1.1/CMakeLists.txt	2020-05-24 06:43:55.000000000 +0200
++++ -	2023-07-08 13:07:06.559266321 +0200
+@@ -35,6 +35,12 @@
+   MESSAGE(STATUS "pkg-config not found, using bundled dependencies")
+ endif(${PKG_CONFIG_FOUND})
+ endif(UNIX)
++find_package(absl CONFIG)
++if(absl_FOUND)
++  MESSAGE(STATUS "System absl found, using")
++else()
++  MESSAGE(STATUS "System absl not found, using bundled version")
++endif()
+ 
+ # Set default build type.
+ if(NOT CMAKE_BUILD_TYPE)
+@@ -89,7 +95,6 @@
+ 
+ include_directories(.)
+ include_directories(src)
+-include_directories(third_party/abseil-cpp)
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/src")
+ 
+ # Baseline build flags.
+@@ -159,24 +164,6 @@
+     src/macho.cc
+     src/range_map.cc
+     src/webassembly.cc
+-    # Until Abseil has a proper CMake build system
+-    third_party/abseil-cpp/absl/base/internal/raw_logging.cc # Grrrr...
+-    third_party/abseil-cpp/absl/base/internal/throw_delegate.cc
+-    third_party/abseil-cpp/absl/numeric/int128.cc
+-    third_party/abseil-cpp/absl/strings/ascii.cc
+-    third_party/abseil-cpp/absl/strings/charconv.cc
+-    third_party/abseil-cpp/absl/strings/escaping.cc
+-    third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc
+-    third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc
+-    third_party/abseil-cpp/absl/strings/internal/memutil.cc
+-    third_party/abseil-cpp/absl/strings/internal/utf8.cc
+-    third_party/abseil-cpp/absl/strings/match.cc
+-    third_party/abseil-cpp/absl/strings/numbers.cc
+-    third_party/abseil-cpp/absl/strings/str_cat.cc
+-    third_party/abseil-cpp/absl/strings/string_view.cc
+-    third_party/abseil-cpp/absl/strings/str_split.cc
+-    third_party/abseil-cpp/absl/strings/substitute.cc
+-    third_party/abseil-cpp/absl/types/bad_optional_access.cc
+     # One source file, no special build system needed.
+     third_party/demumble/third_party/libcxxabi/cxa_demangle.cpp
+     )
+@@ -214,6 +201,9 @@
+   endif(${PROTOBUF_FOUND})
+ endif(UNIX)
+ 
++list(APPEND LIBBLOATY_LIBS absl::strings)
++list(APPEND LIBBLOATY_LIBS absl::optional)
++
+ if(DEFINED ENV{LIB_FUZZING_ENGINE})
+   message("LIB_FUZZING_ENGINE set, building fuzz_target instead of Bloaty")
+   add_executable(fuzz_target tests/fuzz_target.cc)
diff --git a/srcpkgs/bloaty/template b/srcpkgs/bloaty/template
index 226d2f30ffcd..2a79fb502f99 100644
--- a/srcpkgs/bloaty/template
+++ b/srcpkgs/bloaty/template
@@ -1,7 +1,7 @@
 # Template file for 'bloaty'
 pkgname=bloaty
 version=1.1
-revision=11
+revision=12
 build_style=cmake
 hostmakedepends="pkg-config protobuf"
 makedepends="capstone-devel protobuf-devel re2-devel zlib-devel"

From d41269a84c723ab8d9f2900d0b2fb31f4dd6b6b1 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 27/36] astroid: rebuild against protobuf-23.3_1

---
 srcpkgs/astroid/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/astroid/template            |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/astroid/patches/cpp17.patch

diff --git a/srcpkgs/astroid/patches/cpp17.patch b/srcpkgs/astroid/patches/cpp17.patch
new file mode 100644
index 000000000000..9ac9a9f952e6
--- /dev/null
+++ b/srcpkgs/astroid/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- astroid-0.16/CMakeLists.txt	2021-08-05 15:31:11.000000000 +0200
++++ -	2023-07-03 21:53:30.304595787 +0200
+@@ -145,7 +145,7 @@
+ # compile flags and options
+ #
+ 
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ 
+ include_directories (
+   ${GTKMM3_INCLUDE_DIRS}
diff --git a/srcpkgs/astroid/template b/srcpkgs/astroid/template
index 25d3da44e024..8fd1c032be2c 100644
--- a/srcpkgs/astroid/template
+++ b/srcpkgs/astroid/template
@@ -1,7 +1,7 @@
 # Template file for 'astroid'
 pkgname=astroid
 version=0.16
-revision=8
+revision=9
 build_style=cmake
 build_helper=gir
 hostmakedepends="pkg-config scdoc protobuf gobject-introspection"

From 87f628cb12b28814b48127cde2b8995cd26c0ce0 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 28/36] android-tools: rebuild against protobuf-23.3_1

---
 .../android-tools/patches/protobuf-23.patch   | 31 +++++++++++++++++++
 srcpkgs/android-tools/template                |  2 +-
 2 files changed, 32 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/android-tools/patches/protobuf-23.patch

diff --git a/srcpkgs/android-tools/patches/protobuf-23.patch b/srcpkgs/android-tools/patches/protobuf-23.patch
new file mode 100644
index 000000000000..21012126ea9a
--- /dev/null
+++ b/srcpkgs/android-tools/patches/protobuf-23.patch
@@ -0,0 +1,31 @@
+--- android-tools-34.0.1.orig/vendor/extras/libjsonpb/parse/jsonpb.cpp  2023-06-28 23:15:15.414236253 +0200
++++ android-tools-34.0.1/vendor/extras/libjsonpb/parse/jsonpb.cpp       2023-06-28 23:34:21.672962973 +0200
+@@ -51,7 +51,7 @@
+ #if GOOGLE_PROTOBUF_VERSION < 3016000
+     return MakeError<std::string>(status.error_message().as_string());
+ #else
+-    return MakeError<std::string>(status.message().as_string());
++    return MakeError<std::string>(std::string(status.message()));
+ #endif
+   }
+   return ErrorOr<std::string>(std::move(json));
+@@ -68,7 +68,7 @@
+ #if GOOGLE_PROTOBUF_VERSION < 3016000
+     return MakeError<std::monostate>(status.error_message().as_string());
+ #else
+-    return MakeError<std::monostate>(status.message().as_string());
++    return MakeError<std::monostate>(std::string(status.message()));
+ #endif
+   }
+   if (!message->ParseFromString(binary)) {
+--- a/vendor/CMakeLists.partition.txt	2023-03-03 17:18:50.000000000 +0100
++++ -	2023-07-10 23:06:19.290718502 +0200
+@@ -20,7 +20,7 @@
+ 
+ add_library(libjsonpbparse STATIC
+ 	extras/libjsonpb/parse/jsonpb.cpp)
+-target_link_libraries(libjsonpbparse PRIVATE libbase)
++target_link_libraries(libjsonpbparse PRIVATE libbase absl_status)
+ target_include_directories(libjsonpbparse PUBLIC
+ 	extras/libjsonpb/parse/include)
+ 
diff --git a/srcpkgs/android-tools/template b/srcpkgs/android-tools/template
index 329674482b69..b813474eace0 100644
--- a/srcpkgs/android-tools/template
+++ b/srcpkgs/android-tools/template
@@ -1,7 +1,7 @@
 # Template file for 'android-tools'
 pkgname=android-tools
 version=34.0.1
-revision=1
+revision=2
 archs="armv* aarch64* x86_64* i686* ppc64le*"
 build_style=cmake
 hostmakedepends="perl go protobuf pkg-config"

From 9122d5fd8aeac941d7b4b89547c9a4cfd8576019 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:06:25 +0200
Subject: [PATCH 29/36] justbuild: rebuild against grpc-1.56.0_1

---
 srcpkgs/justbuild/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index ee36f6dae575..f933611d1283 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
 # Template file for 'justbuild'
 pkgname=justbuild
 version=1.1.2
-revision=2
+revision=3
 create_wrksrc=yes
 hostmakedepends="jo pandoc pkg-config python3 tar unzip wget"
 makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++

From eff4b774ce9daaa11a6ef7b77d0fd9239bd44be7 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Wed, 28 Jun 2023 11:07:13 +0200
Subject: [PATCH 30/36] sysdig: update to 0.31.5.

---
 srcpkgs/sysdig/files/libsinsp-zstd.patch      |  22 +
 ...d9aab87801281e22898242e24e0bc63873b2.patch | 557 ++++++++++++++++++
 .../falcosecurity-libs-nodownload.patch       |  28 +
 srcpkgs/sysdig/template                       |  32 +-
 4 files changed, 625 insertions(+), 14 deletions(-)
 create mode 100644 srcpkgs/sysdig/files/libsinsp-zstd.patch
 create mode 100644 srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
 create mode 100644 srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch

diff --git a/srcpkgs/sysdig/files/libsinsp-zstd.patch b/srcpkgs/sysdig/files/libsinsp-zstd.patch
new file mode 100644
index 000000000000..e99e4f7c1207
--- /dev/null
+++ b/srcpkgs/sysdig/files/libsinsp-zstd.patch
@@ -0,0 +1,22 @@
+diff --git a/userspace/libsinsp/CMakeLists.txt b/userspace/libsinsp/CMakeLists.txt
+index 18e59b1..b23e890 100644
+--- a/userspace/libsinsp/CMakeLists.txt
++++ b/userspace/libsinsp/CMakeLists.txt
+@@ -38,6 +38,7 @@ include(ExternalProject)
+ 
+ if(NOT WIN32 AND NOT APPLE)
+ 	include(b64)
++	find_library(ZSTD_LIB NAMES zstd)
+ endif()
+ 
+ include(jsoncpp)
+@@ -246,7 +247,8 @@ if(NOT WIN32)
+ 				"${PROTOBUF_LIB}"
+ 				"${CARES_LIB}"
+ 				"${JQ_LIB}"
+-				"${B64_LIB}")
++				"${B64_LIB}"
++				"${ZSTD_LIB}")
+ 
+ 			if(NOT MUSL_OPTIMIZED_BUILD)
+ 				list(APPEND SINSP_LIBRARIES
diff --git a/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch b/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
new file mode 100644
index 000000000000..54c2ed8d0d98
--- /dev/null
+++ b/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
@@ -0,0 +1,557 @@
+From 3d22309a7317d500f75d053af6f9e5b5b5728b40 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 09:56:04 +0000
+Subject: [PATCH 1/6] update(cmake): bump driver to 5.0.0+driver
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ cmake/modules/driver.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/driver.cmake b/cmake/modules/driver.cmake
+index bee1926d3a..7fd35d7f99 100644
+--- a/cmake/modules/driver.cmake
++++ b/cmake/modules/driver.cmake
+@@ -31,8 +31,8 @@ else()
+   # In case you want to test against another driver version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DDRIVER_VERSION=dev ..`
+   if(NOT DRIVER_VERSION)
+-    set(DRIVER_VERSION "4.0.1+driver")
+-    set(DRIVER_CHECKSUM "SHA256=424d647aa6b6fa45b6701c4bbc9293c161ed00a08254d83eea419c0a736f280d")
++    set(DRIVER_VERSION "5.0.0+driver")
++    set(DRIVER_CHECKSUM "SHA256=c988ca7ac7d174f62d1bfbaaca49efd117f7b329f474d1b46b643635b2e35083")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+
+From 847e602404dcee85f06dde5a1d8ad0c740c49c98 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 09:56:08 +0000
+Subject: [PATCH 2/6] update(cmake): bump libs to 0.11.0-rc1
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ cmake/modules/falcosecurity-libs.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index b345c057ad..f30233b9e3 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -32,8 +32,8 @@ else()
+   # In case you want to test against another falcosecurity/libs version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DFALCOSECURITY_LIBS_VERSION=dev ..`
+   if(NOT FALCOSECURITY_LIBS_VERSION)
+-    set(FALCOSECURITY_LIBS_VERSION "0.10.5")
+-    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=2a4b37c08bec4ba81326314831f341385aff267062e8d4483437958689662936")
++    set(FALCOSECURITY_LIBS_VERSION "0.11.0-rc1")
++    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=bb6e57f66ae85dcda6e695226cd14082d9a1215902909cdde5b83f7abef44d8f")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+
+From 1d1dbaf06265d8eefd4038e8474f71f7958ec840 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 10:43:27 +0000
+Subject: [PATCH 3/6] fix(cmake): solve c++17 compilation issues
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ CMakeLists.txt                         |  3 +++
+ cmake/modules/falcosecurity-libs.cmake | 10 +++++-----
+ 2 files changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0309d66633..6d28c6c67d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -146,6 +146,9 @@ if(NOT DEFINED SYSDIG_COMPONENT_NAME)
+     set(SYSDIG_COMPONENT_NAME "${CMAKE_PROJECT_NAME}")
+ endif()
+ 
++set(CMAKE_CXX_STANDARD 17)
++set(CMAKE_CXX_EXTENSIONS OFF)
++
+ include(falcosecurity-libs)
+ include(yaml-cpp)
+ include(nlohmann-json)
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index f30233b9e3..fe5dacd7ad 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -94,12 +94,12 @@ else()
+ endif()
+ 
+ include(CheckCXXCompilerFlag)
+-CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX14)
+-if(CREATE_TEST_TARGETS AND NOT WIN32 AND COMPILER_SUPPORTS_CXX14)
+-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
++CHECK_CXX_COMPILER_FLAG("-std=c++17" COMPILER_SUPPORTS_CXX17)
++if(CREATE_TEST_TARGETS AND NOT WIN32 AND COMPILER_SUPPORTS_CXX17)
++	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ 	include(gtest)
+-elseif(CREATE_TEST_TARGETS AND NOT COMPILER_SUPPORTS_CXX14)
+-	message(FATAL_ERROR "Your compiler doesn't support c++14: cannot include gtest and create test targets.")
++elseif(CREATE_TEST_TARGETS AND NOT COMPILER_SUPPORTS_CXX17)
++	message(FATAL_ERROR "Your compiler doesn't support c++17: cannot include gtest and create test targets.")
+ endif()
+ 
+ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
+
+From d5fcbad2d5ea63e1439ab7174a5cfd9a7a2e1545 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 10:44:05 +0000
+Subject: [PATCH 4/6] update(userspace): sync sysdig and csysdig with latest
+ libs
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ userspace/sysdig/csysdig.cpp                |  6 +--
+ userspace/sysdig/sysdig.cpp                 |  9 +---
+ userspace/sysdig/utils/plugin_utils.cpp     | 37 ++++++++++-----
+ userspace/sysdig/utils/sinsp_opener.cpp     | 18 ++++----
+ userspace/sysdig/utils/supported_events.cpp | 50 +++++++++++----------
+ userspace/sysdig/utils/supported_fields.cpp | 15 +++----
+ 6 files changed, 70 insertions(+), 65 deletions(-)
+
+diff --git a/userspace/sysdig/csysdig.cpp b/userspace/sysdig/csysdig.cpp
+index 9419882341..edd8129a0e 100644
+--- a/userspace/sysdig/csysdig.cpp
++++ b/userspace/sysdig/csysdig.cpp
+@@ -39,11 +39,11 @@ limitations under the License.
+ #include "chisel.h"
+ #include "chisel_utils.h"
+ #endif
+-#include "fields_info.h"
+ #include "chisel_table.h"
+ #include "utils.h"
+ #include "utils/plugin_utils.h"
+ #include "utils/sinsp_opener.h"
++#include "utils/supported_fields.h"
+ 
+ #ifdef _WIN32
+ #include "win32/getopt.h"
+@@ -704,8 +704,8 @@ sysdig_init_res csysdig_init(int argc, char **argv)
+ 		//
+ 		if(list_flds)
+ 		{
+-			list_fields(false, false);
+-
++			// todo(jasondellaluce): support source selection, verbosity, markdown
++			print_supported_fields(inspector, plugins, "", true, false);
+ 			res.m_res = EXIT_SUCCESS;
+ 			goto exit;
+ 		}
+diff --git a/userspace/sysdig/sysdig.cpp b/userspace/sysdig/sysdig.cpp
+index 40f2b39ef9..a978070d73 100644
+--- a/userspace/sysdig/sysdig.cpp
++++ b/userspace/sysdig/sysdig.cpp
+@@ -43,7 +43,6 @@ limitations under the License.
+ #include "chisel_utils.h"
+ #include "chisel_fields_info.h"
+ #endif
+-#include "fields_info.h"
+ #include "utils.h"
+ #include "plugin.h"
+ #include "plugin_manager.h"
+@@ -455,8 +454,6 @@ void print_summary_table(sinsp* inspector,
+ 						 std::vector<summary_table_entry> &summary_table,
+ 						 uint32_t nentries)
+ {
+-	sinsp_evttables* einfo = inspector->get_event_info_tables();
+-
+ 	std::cout << "----------------------\n";
+ 	std::string tstr = std::string("Event");
+ 	tstr.resize(16, ' ');
+@@ -478,7 +475,7 @@ void print_summary_table(sinsp* inspector,
+ 
+ 		if(e.m_is_unsupported_syscall)
+ 		{
+-			tstr = einfo->m_syscall_info_table[e.m_id / 2].name;
++			tstr = scap_get_ppm_sc_name((ppm_sc_code) (e.m_id / 2));
+ 			tstr.resize(16, ' ');
+ 
+ 			printf("%s%s%" PRIu64 "\n",
+@@ -488,7 +485,7 @@ void print_summary_table(sinsp* inspector,
+ 		}
+ 		else
+ 		{
+-			tstr = einfo->m_event_info[e.m_id].name;
++			tstr = libsinsp::events::info((ppm_event_code) e.m_id)->name;
+ 			tstr.resize(16, ' ');
+ 
+ 			printf("%s%s%" PRIu64 "\n",
+@@ -1862,8 +1859,6 @@ sysdig_init_res sysdig_init(int argc, char **argv)
+ 					res.m_res = EXIT_FAILURE;
+ 					goto exit;
+ 				}
+-
+-				inspector->filter_proc_table_when_saving(true);
+ 			}
+ 			else
+ 			{
+diff --git a/userspace/sysdig/utils/plugin_utils.cpp b/userspace/sysdig/utils/plugin_utils.cpp
+index ad69543b3e..b99de98b66 100644
+--- a/userspace/sysdig/utils/plugin_utils.cpp
++++ b/userspace/sysdig/utils/plugin_utils.cpp
+@@ -146,6 +146,7 @@ void plugin_utils::plugin_entry::init(sinsp *inspector)
+     }
+     if (plugin->caps() & CAP_EXTRACTION)
+     {
++        // todo(jasondellaluce): manage field name conflicts
+         g_filterlist.add_filter_check(sinsp_plugin::new_filtercheck(plugin));
+     }
+     inited = true;
+@@ -185,13 +186,30 @@ void plugin_utils::plugin_entry::print_info(sinsp* inspector, std::ostringstream
+     os << "Capabilities: " << std::endl;
+     if(plugin->caps() & CAP_SOURCING)
+     {
+-        os << "  - Event Sourcing (ID=" << plugin->id();
+-        os << ", source='" << plugin->event_source() << "')" << std::endl;
++        os << "  - Event Sourcing";
++        if (plugin->id() != 0)
++        {
++            os << " (ID=" << plugin->id();
++            os << ", source='" << plugin->event_source() << "')";
++        }
++        else
++        {
++            os << " (system events)";
++        }
++        os << std::endl;
+     }
+     if(plugin->caps() & CAP_EXTRACTION)
+     {
+         os << "  - Field Extraction" << std::endl;
+     }
++    if(plugin->caps() & CAP_PARSING)
++    {
++        os << "  - Event Parsing" << std::endl;
++    }
++    if(plugin->caps() & CAP_ASYNC)
++    {
++        os << "  - Async Events" << std::endl;
++    }
+ }
+ 
+ void plugin_utils::add_dir(std::string dirname, bool front_add)
+@@ -609,7 +627,7 @@ std::vector<std::string> plugin_utils::get_event_sources(sinsp *inspector)
+         // the plugin, in case it was not registered already
+         pl.get_plugin(inspector);
+     }
+-    return inspector->get_plugin_manager()->sources();
++    return inspector->event_sources();
+ }
+ 
+ std::vector<std::unique_ptr<sinsp_filter_check>> plugin_utils::get_filterchecks(sinsp *inspector, const std::string& source)
+@@ -617,16 +635,13 @@ std::vector<std::unique_ptr<sinsp_filter_check>> plugin_utils::get_filterchecks(
+     std::vector<std::unique_ptr<sinsp_filter_check>> list;
+     list.push_back(std::unique_ptr<sinsp_filter_check>(inspector->new_generic_filtercheck()));
+ 
+-    // todo(jasondellaluce): remove this once we support extracting plugin fields from syscalls
+-    if (source != s_syscall_source)
++    for (auto &pl : m_plugins)
+     {
+-        for (auto &pl : m_plugins)
++        auto plugin = pl.get_plugin(inspector);
++        if (plugin->caps() & CAP_EXTRACTION
++            && sinsp_plugin::is_source_compatible(plugin->extract_event_sources(), source))
+         {
+-            auto plugin = pl.get_plugin(inspector);
+-            if (plugin->caps() & CAP_EXTRACTION && plugin->is_source_compatible(source))
+-            {
+-                list.push_back(std::unique_ptr<sinsp_filter_check>(sinsp_plugin::new_filtercheck(plugin)));
+-            }
++            list.push_back(std::unique_ptr<sinsp_filter_check>(sinsp_plugin::new_filtercheck(plugin)));
+         }
+     }
+     return list;
+diff --git a/userspace/sysdig/utils/sinsp_opener.cpp b/userspace/sysdig/utils/sinsp_opener.cpp
+index eafdb631d3..7315b99c7d 100644
+--- a/userspace/sysdig/utils/sinsp_opener.cpp
++++ b/userspace/sysdig/utils/sinsp_opener.cpp
+@@ -50,14 +50,12 @@ void sinsp_opener::open(sinsp* inspector) const
+ 
+ #if defined(HAS_CAPTURE)
+     /* Populate syscalls of interest */
+-    std::unordered_set<uint32_t> sc_of_interest = inspector->get_all_ppm_sc();
++    auto sc_of_interest = libsinsp::events::all_sc_set();
+ 
+-    /* Populate tracepoints of interest */
+-    std::unordered_set<uint32_t> tp_of_interest = inspector->get_all_tp();
+     if(!options.page_faults)
+     {
+-        tp_of_interest.erase(PAGE_FAULT_USER);
+-        tp_of_interest.erase(PAGE_FAULT_KERN);
++        sc_of_interest.remove(ppm_sc_code::PPM_SC_PAGE_FAULT_USER);
++        sc_of_interest.remove(ppm_sc_code::PPM_SC_PAGE_FAULT_KERNEL);
+     }
+ 
+     if(udig.enabled)
+@@ -77,7 +75,7 @@ void sinsp_opener::open(sinsp* inspector) const
+ #ifdef HAS_MODERN_BPF
+ 		if(bpf.modern)
+ 		{
+-			inspector->open_modern_bpf(DEFAULT_DRIVER_BUFFER_BYTES_DIM, bpf.cpus_for_each_syscall_buffer, true, sc_of_interest, tp_of_interest);
++			inspector->open_modern_bpf(DEFAULT_DRIVER_BUFFER_BYTES_DIM, bpf.cpus_for_each_syscall_buffer, true, sc_of_interest);
+ 			return;
+ 		}
+ #endif
+@@ -95,7 +93,7 @@ void sinsp_opener::open(sinsp* inspector) const
+ 
+         try
+         {
+-            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+         }
+         catch(const sinsp_exception& e)
+         {
+@@ -103,7 +101,7 @@ void sinsp_opener::open(sinsp* inspector) const
+             {
+                 fprintf(stderr, "Unable to load the BPF probe\n");
+             }
+-            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+         }
+ 
+         // Enable gathering the CPU from the kernel module
+@@ -114,7 +112,7 @@ void sinsp_opener::open(sinsp* inspector) const
+     // default to kernel module if no other option is specified
+     try
+     {
+-        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+     }
+     catch(const sinsp_exception& e)
+     {
+@@ -124,7 +122,7 @@ void sinsp_opener::open(sinsp* inspector) const
+         {
+             fprintf(stderr, "Unable to load the driver\n");
+         }
+-        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+     }
+ 
+     // Enable gathering the CPU from the kernel module
+diff --git a/userspace/sysdig/utils/supported_events.cpp b/userspace/sysdig/utils/supported_events.cpp
+index 1442911209..7f0d630011 100644
+--- a/userspace/sysdig/utils/supported_events.cpp
++++ b/userspace/sysdig/utils/supported_events.cpp
+@@ -27,25 +27,25 @@ struct event_entry
+ {
+     bool is_enter;
+     std::string name;
+-    struct ppm_event_info info;
++    const ppm_event_info* info;
+ };
+ 
+-static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include_generics)
++static std::vector<event_entry> get_event_entries(bool include_generics)
+ {
+     event_entry entry;
+     std::vector<event_entry> events;
+-    const struct ppm_event_info* etable = inspector->get_event_info_tables()->m_event_info;
+ 
+     // skip generic events
+-    for(uint32_t evt = PPME_GENERIC_X + 1; evt < PPM_EVENT_MAX; evt++)
++    for(const auto& evt : libsinsp::events::all_event_set())
+     {
+-        if (!sinsp::is_old_version_event(evt)
+-                && !sinsp::is_unused_event(evt)
+-                && !sinsp::is_unknown_event(evt))
++        if (!libsinsp::events::is_generic(evt)
++            && !libsinsp::events::is_old_version_event(evt)
++            && !libsinsp::events::is_unused_event(evt)
++            && !libsinsp::events::is_unknown_event(evt))
+         {
+             entry.is_enter = PPME_IS_ENTER(evt);
+-            entry.name = etable[evt].name;
+-            entry.info = etable[evt];
++            entry.info = libsinsp::events::info(evt);
++			entry.name = entry.info->name;
+             events.push_back(entry);
+         }
+     }
+@@ -53,17 +53,19 @@ static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include
+     if (include_generics)
+     {
+         // append generic events
+-        const auto generic_syscalls = inspector->get_events_names({PPME_GENERIC_E});
+-        for (const auto& name : generic_syscalls)
+-        {
+-            for(uint32_t evt = PPME_GENERIC_E; evt <= PPME_GENERIC_X; evt++)
+-            {
+-                entry.is_enter = PPME_IS_ENTER(evt);
+-                entry.name = name;
+-                entry.info = etable[evt];
+-                events.push_back(entry);
+-            }
+-        }
++		const auto names = libsinsp::events::event_set_to_names({ppm_event_code::PPME_GENERIC_E});
++		for (const auto& name : names)
++		{
++			entry.is_enter = PPME_IS_ENTER(ppm_event_code::PPME_GENERIC_E);
++			entry.info = libsinsp::events::info(ppm_event_code::PPME_GENERIC_E);
++			entry.name = name;
++			events.push_back(entry);
++
++			entry.is_enter = PPME_IS_ENTER(ppm_event_code::PPME_GENERIC_X);
++			entry.info = libsinsp::events::info(ppm_event_code::PPME_GENERIC_X);
++			entry.name = name;
++			events.push_back(entry);
++		}
+     }
+ 
+     return events;
+@@ -71,7 +73,7 @@ static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include
+ 
+ void print_supported_events(sinsp* inspector, bool markdown)
+ {
+-    const auto events = get_event_entries(inspector, true);
++    const auto events = get_event_entries(true);
+ 
+     if(markdown)
+     {
+@@ -91,15 +93,15 @@ void print_supported_events(sinsp* inspector, bool markdown)
+             printf("%c %s(", dir, e.name.c_str());
+         }
+ 
+-        for(uint32_t k = 0; k < e.info.nparams; k++)
++        for(uint32_t k = 0; k < e.info->nparams; k++)
+         {
+             if(k != 0)
+             {
+                 printf(", ");
+             }
+ 
+-            printf("%s %s", param_type_to_string(e.info.params[k].type),
+-                e.info.params[k].name);
++            printf("%s %s", param_type_to_string(e.info->params[k].type),
++                e.info->params[k].name);
+         }
+         printf(")\n");
+     }
+diff --git a/userspace/sysdig/utils/supported_fields.cpp b/userspace/sysdig/utils/supported_fields.cpp
+index 6e2575b030..3127fb7220 100644
+--- a/userspace/sysdig/utils/supported_fields.cpp
++++ b/userspace/sysdig/utils/supported_fields.cpp
+@@ -35,11 +35,9 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+ {
+     std::vector<fields_info> field_infos;
+     std::vector<std::unique_ptr<const sinsp_filter_check>> filtecheck_lists; // only used to retain memory until we finish
+-    std::vector<std::string> sources = { s_syscall_source };
++    std::vector<std::string> sources = plugins.get_event_sources(inspector);
+ 
+     // add event sources defined by the loaded plugins
+-    const auto& plugin_sources = plugins.get_event_sources(inspector);
+-    sources.insert(sources.end(), plugin_sources.begin(), plugin_sources.end());
+     if (!source.empty())
+     {
+         bool found = false;
+@@ -66,7 +64,6 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+         }
+ 
+         std::vector<const filter_check_info*> filterchecks;
+-        // todo(jasondellaluce): change this once we support extracting plugin fields from syscalls
+         if (src == s_syscall_source)
+         {
+             std::vector<const filter_check_info*> all_checks;
+@@ -81,13 +78,11 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+                 }
+             }
+         }
+-        else
++
++        for (auto& check: plugins.get_filterchecks(inspector, src))
+         {
+-            for (auto& check: plugins.get_filterchecks(inspector, src))
+-            {
+-                filterchecks.push_back(check->get_fields());
+-                filtecheck_lists.push_back(std::move(check));
+-            }
++            filterchecks.push_back(check->get_fields());
++            filtecheck_lists.push_back(std::move(check));
+         }
+         
+         const auto classes = sinsp_filter_factory::check_infos_to_fieldclass_infos(filterchecks);
+
+From c8b0d055aec4d2378b7934dd9436fd4500d1021e Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 14:15:23 +0000
+Subject: [PATCH 5/6] fix: solve compilation issues on windows
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ CMakeLists.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6d28c6c67d..5afd967f27 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -148,6 +148,9 @@ endif()
+ 
+ set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_CXX_EXTENSIONS OFF)
++if(MSVC OR WIN32)
++	add_compile_definitions(_HAS_STD_BYTE=0)
++endif()
+ 
+ include(falcosecurity-libs)
+ include(yaml-cpp)
+
+From 954e6fc6238f21d4870a491395d68a7dd3062aa9 Mon Sep 17 00:00:00 2001
+From: Roberto Scolaro <roberto.scolaro21@gmail.com>
+Date: Mon, 5 Jun 2023 10:34:03 +0000
+Subject: [PATCH 6/6] update(cmake): bump libs 0.11.0 + driver 5.0.1
+
+Signed-off-by: Roberto Scolaro <roberto.scolaro21@gmail.com>
+---
+ CMakeLists.txt                         | 2 +-
+ cmake/modules/driver.cmake             | 4 ++--
+ cmake/modules/falcosecurity-libs.cmake | 4 ++--
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5afd967f27..f3f23b5e9a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -90,7 +90,7 @@ if(NOT WIN32)
+ 	endif()
+ 
+ 	set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_COMMON_FLAGS}")
+-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++0x")
++	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++17")
+ 
+ 	set(CMAKE_C_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+ 	set(CMAKE_CXX_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+diff --git a/cmake/modules/driver.cmake b/cmake/modules/driver.cmake
+index 7fd35d7f99..ca1e56718c 100644
+--- a/cmake/modules/driver.cmake
++++ b/cmake/modules/driver.cmake
+@@ -31,8 +31,8 @@ else()
+   # In case you want to test against another driver version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DDRIVER_VERSION=dev ..`
+   if(NOT DRIVER_VERSION)
+-    set(DRIVER_VERSION "5.0.0+driver")
+-    set(DRIVER_CHECKSUM "SHA256=c988ca7ac7d174f62d1bfbaaca49efd117f7b329f474d1b46b643635b2e35083")
++    set(DRIVER_VERSION "5.0.1+driver")
++    set(DRIVER_CHECKSUM "SHA256=8b197b916b6419dac8fb41807aa05d822164c7bfd2c3eef66d20d060a05a485a")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index fe5dacd7ad..c626d7944e 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -32,8 +32,8 @@ else()
+   # In case you want to test against another falcosecurity/libs version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DFALCOSECURITY_LIBS_VERSION=dev ..`
+   if(NOT FALCOSECURITY_LIBS_VERSION)
+-    set(FALCOSECURITY_LIBS_VERSION "0.11.0-rc1")
+-    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=bb6e57f66ae85dcda6e695226cd14082d9a1215902909cdde5b83f7abef44d8f")
++    set(FALCOSECURITY_LIBS_VERSION "0.11.0")
++    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=90414d00591986e94f2c49e7d65eef5c2dedee266354dd3db8234bb3b06c86fa")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
diff --git a/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch b/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch
new file mode 100644
index 000000000000..467cffacba2f
--- /dev/null
+++ b/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch
@@ -0,0 +1,28 @@
+diff --git a/cmake/modules/driver-repo/CMakeLists.txt b/cmake/modules/driver-repo/CMakeLists.txt
+index 479611a..5238121 100644
+--- a/cmake/modules/driver-repo/CMakeLists.txt
++++ b/cmake/modules/driver-repo/CMakeLists.txt
+@@ -25,8 +25,7 @@ message(STATUS "Driver version: ${DRIVER_VERSION}")
+ 
+ ExternalProject_Add(
+   driver
+-  URL "https://github.com/falcosecurity/libs/archive/${DRIVER_VERSION}.tar.gz"
+-  URL_HASH "${DRIVER_CHECKSUM}"
++  URL "${CMAKE_CURRENT_SOURCE_DIR}/../../../../libs-${DRIVER_VERSION}"
+   CONFIGURE_COMMAND ""
+   BUILD_COMMAND ""
+   INSTALL_COMMAND ""
+diff --git a/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt b/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
+index 2059547..74e78e2 100644
+--- a/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
++++ b/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
+@@ -25,8 +25,7 @@ message(STATUS "Libs version: ${FALCOSECURITY_LIBS_VERSION}")
+ 
+ ExternalProject_Add(
+   falcosecurity-libs
+-  URL "https://github.com/falcosecurity/libs/archive/${FALCOSECURITY_LIBS_VERSION}.tar.gz"
+-  URL_HASH "${FALCOSECURITY_LIBS_CHECKSUM}"
++  URL "${CMAKE_CURRENT_SOURCE_DIR}/../../../../libs-${FALCOSECURITY_LIBS_VERSION}"
+   CONFIGURE_COMMAND ""
+   BUILD_COMMAND ""
+   INSTALL_COMMAND ""
diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index 4a04e762468c..d088357125b8 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,43 +1,47 @@
 # Template file for 'sysdig'
 pkgname=sysdig
-version=0.28.0
-revision=8
+version=0.31.5
+revision=1
+_falcover=0.11.0
 build_style=cmake
+build_wrksrc="sysdig-${version}"
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF
  -DLUA_INCLUDE_DIR=${XBPS_CROSS_BASE}/usr/include/luajit-2.1
- -DLUA_LIBRARY=/usr/lib/libluajit-5.1.so -DCREATE_TEST_TARGETS=OFF"
-make_cmd=make
+ -DLUA_LIBRARY=/usr/lib/libluajit-5.1.so -DCREATE_TEST_TARGETS=OFF
+ -DUSE_BUNDLED_TBB=OFF -DBUILD_LIBSCAP_EXAMPLES=OFF
+ -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_EXTENSIONS=OFF
+ -DDRIVER_VERSION=${_falcover}"
 hostmakedepends="wget pkg-config protobuf"
-makedepends="LuaJIT-devel c-ares-devel elfutils-devel grpc-devel jsoncpp-devel
+makedepends="LuaJIT-devel c-ares-devel elfutils-devel grpc-devel
  libcurl-devel libprotoc-devel openssl-devel ncurses-devel protobuf-devel
- tbb-devel zlib-devel"
+ tbb-devel zlib-devel yaml-cpp-devel json-c++"
 depends="dkms"
 short_desc="Open source system-level exploration and troubleshooting tool"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0, MIT, GPL-2.0-only"
 homepage="http://www.sysdig.org/"
 changelog="https://github.com/draios/sysdig/releases"
-distfiles="https://github.com/draios/${pkgname}/archive/${version}.tar.gz"
-checksum=817e595d501acf3fe11dc659a154aadbba848dd87ae801f5bf34a42e84979f37
-disable_parallel_build=yes
+distfiles="https://github.com/draios/sysdig/archive/${version}.tar.gz
+ https://github.com/falcosecurity/libs/archive/${_falcover}.tar.gz"
+checksum="9af98cae7c38273f7429ba0df628c9745bd92c949f444e180b9dd800af14c6dd
+ 90414d00591986e94f2c49e7d65eef5c2dedee266354dd3db8234bb3b06c86fa"
 dkms_modules="scap 2160111cd088aea9ae2235d3385ecb0b1ab6623c"
 nocross=yes
+patch_args="-Np1 --directory=${build_wrksrc}"
 
 case "$XBPS_TARGET_MACHINE" in
 	*-musl) configure_args+=" -DMUSL_OPTIMIZED_BUILD=On"
 esac
 
-export CMAKE_GENERATOR="Unix Makefiles"
-
 # Avoid excessive warnings spam to the log
 CXXFLAGS="-Wno-deprecated-declarations"
 
-CXXFLAGS+=" -I/usr/include/grpc_absl"
+post_patch() {
+	patch -d "${wrksrc}/libs-${_falcover}" -Np1 < "${FILESDIR}/libsinsp-zstd.patch"
 
-post_extract() {
 	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
-	vsed -e 's|-std=c++0x||' -i CMakeLists.txt
+	vsed -e 's|-std=c++0x||' -i CMakeLists.txt -i "${wrksrc}/libs-${_falcover}/cmake/modules/CompilerFlags.cmake"
 }
 
 post_install() {

From f4da5ecf57d1ca12457fb34006d8f73226179eac Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 2 Jul 2023 13:36:29 +0200
Subject: [PATCH 31/36] protobuf-c: rebuild against 23.3

---
 ...4f3fd85a205eb7c90b790477d5415364209e.patch |  44 +++
 srcpkgs/protobuf-c/patches/66a0b0d2.patch     | 308 ++++++++++++++++++
 srcpkgs/protobuf-c/template                   |   8 +-
 3 files changed, 358 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
 create mode 100644 srcpkgs/protobuf-c/patches/66a0b0d2.patch

diff --git a/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch b/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
new file mode 100644
index 000000000000..7d1e97032d32
--- /dev/null
+++ b/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
@@ -0,0 +1,44 @@
+From 66574f3fd85a205eb7c90b790477d5415364209e Mon Sep 17 00:00:00 2001
+From: Steve Peters <scpeters@openrobotics.org>
+Date: Sat, 24 Jun 2023 22:15:42 -0700
+Subject: [PATCH] Use FileDescriptorLegacy for deprecated syntax()
+
+---
+ protoc-c/c_file.cc   | 2 +-
+ protoc-c/c_helpers.h | 3 ++-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/protoc-c/c_file.cc b/protoc-c/c_file.cc
+index 59c1824e..4b60b889 100644
+--- a/protoc-c/c_file.cc
++++ b/protoc-c/c_file.cc
+@@ -119,7 +119,7 @@ void FileGenerator::GenerateHeader(io::Printer* printer) {
+ 
+   int min_header_version = 1000000;
+ #if defined(HAVE_PROTO3)
+-  if (file_->syntax() == FileDescriptor::SYNTAX_PROTO3) {
++  if (FileDescriptorLegacy(file_).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3) {
+     min_header_version = 1003000;
+   }
+ #endif
+diff --git a/protoc-c/c_helpers.h b/protoc-c/c_helpers.h
+index 7598a4e1..87deea24 100644
+--- a/protoc-c/c_helpers.h
++++ b/protoc-c/c_helpers.h
+@@ -67,6 +67,7 @@
+ #include <vector>
+ #include <sstream>
+ #include <google/protobuf/descriptor.h>
++#include <google/protobuf/descriptor_legacy.h>
+ #include <protobuf-c/protobuf-c.pb.h>
+ #include <google/protobuf/io/printer.h>
+ 
+@@ -172,7 +173,7 @@ int compare_name_indices_by_name(const void*, const void*);
+ // This wrapper is needed to be able to compile against protobuf2.
+ inline int FieldSyntax(const FieldDescriptor* field) {
+ #ifdef HAVE_PROTO3
+-  return field->file()->syntax() == FileDescriptor::SYNTAX_PROTO3 ? 3 : 2;
++  return FileDescriptorLegacy(field->file()).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3 ? 3 : 2;
+ #else
+   return 2;
+ #endif
diff --git a/srcpkgs/protobuf-c/patches/66a0b0d2.patch b/srcpkgs/protobuf-c/patches/66a0b0d2.patch
new file mode 100644
index 000000000000..790db6329120
--- /dev/null
+++ b/srcpkgs/protobuf-c/patches/66a0b0d2.patch
@@ -0,0 +1,308 @@
+From 66a0b0d205224f63f19dd8f96abf9dcdc2112331 Mon Sep 17 00:00:00 2001
+From: Xiangyu Chen <xiangyu.chen@windriver.com>
+Date: Wed, 29 Mar 2023 14:25:17 +0800
+Subject: [PATCH] add support of protobuf 4.22.x
+
+after upgrade the protobuf to 4.22.x, the protobuf-c cannot compile anymore (#544) due to following changes:
+1.protobuf using c++14, that cause the command_line_interface.h report error
+2.protobuf using abseil-cpp library instead the trace API with GOOGLE_ header
+3. removed GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
+---
+ Makefile.am                   | 2 +-
+ configure.ac                  | 8 ++++++++
+ protoc-c/c_bytes_field.h      | 1 -
+ protoc-c/c_enum.h             | 1 -
+ protoc-c/c_enum_field.h       | 1 -
+ protoc-c/c_extension.h        | 1 -
+ protoc-c/c_field.cc           | 2 +-
+ protoc-c/c_field.h            | 3 ---
+ protoc-c/c_file.h             | 1 -
+ protoc-c/c_generator.h        | 2 --
+ protoc-c/c_helpers.cc         | 4 ++--
+ protoc-c/c_message.cc         | 4 ++--
+ protoc-c/c_message.h          | 1 -
+ protoc-c/c_message_field.h    | 3 ---
+ protoc-c/c_primitive_field.cc | 6 +++---
+ protoc-c/c_primitive_field.h  | 3 ---
+ protoc-c/c_service.h          | 1 -
+ protoc-c/c_string_field.h     | 1 -
+ 18 files changed, 17 insertions(+), 28 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index c7339efe..3b0d1d66 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -20,7 +20,7 @@ AM_CPPFLAGS = \
+ 	-I${top_builddir} \
+ 	-I${top_srcdir}
+ AM_CFLAGS = ${my_CFLAGS}
+-AM_LDFLAGS =
++AM_LDFLAGS = ${ABSL_LOG_INTERNAL_CHECK_OP_LIBS} ${ABSL_LOG_RAW_HASH_SET_LIBS}
+ 
+ # code coverage
+ 
+diff --git a/configure.ac b/configure.ac
+index f5a0261e..8ed549ac 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -78,6 +78,14 @@ if test "x$enable_protoc" != "xno"; then
+ 
+   AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
+ 
++# now checking 4.22.x protobuf, if so, set cxx as 17
++  AS_IF([pkg-config --atleast-version 4.22.0 protobuf],[AX_CXX_COMPILE_STDCXX(17, noext, mandatory)])
++
++  AS_IF([pkg-config --atleast-version 4.22.0 protobuf],
++    [PKG_CHECK_MODULES([ABSL_LOG_INTERNAL_CHECK_OP], [absl_log_internal_check_op],
++       [PKG_CHECK_MODULES([ABSL_LOG_RAW_HASH_SET], [absl_raw_hash_set], [], [AC_MSG_ERROR([Missing absl_raw_hash_set library.])])],
++       [AC_MSG_ERROR([Missing absl_log_internal_check_op library.])])])
++
+   PKG_CHECK_MODULES([protobuf], [protobuf >= 3.0.0],
+     [proto3_supported=yes],
+     [PKG_CHECK_MODULES([protobuf], [protobuf >= 2.6.0])]
+diff --git a/protoc-c/c_bytes_field.h b/protoc-c/c_bytes_field.h
+index bf873f0f..8fc63d35 100644
+--- a/protoc-c/c_bytes_field.h
++++ b/protoc-c/c_bytes_field.h
+@@ -88,7 +88,6 @@ class BytesFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(BytesFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_enum.h b/protoc-c/c_enum.h
+index 9c34b697..d5e58f0a 100644
+--- a/protoc-c/c_enum.h
++++ b/protoc-c/c_enum.h
+@@ -107,7 +107,6 @@ class EnumGenerator {
+   const EnumDescriptor* descriptor_;
+   std::string dllexport_decl_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_enum_field.h b/protoc-c/c_enum_field.h
+index 3f8c005d..03eb4028 100644
+--- a/protoc-c/c_enum_field.h
++++ b/protoc-c/c_enum_field.h
+@@ -86,7 +86,6 @@ class EnumFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_extension.h b/protoc-c/c_extension.h
+index 95413885..9c5797d6 100644
+--- a/protoc-c/c_extension.h
++++ b/protoc-c/c_extension.h
+@@ -99,7 +99,6 @@ class ExtensionGenerator {
+   std::string type_traits_;
+   std::string dllexport_decl_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ExtensionGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_field.cc b/protoc-c/c_field.cc
+index 0716744a..4abdc6d3 100644
+--- a/protoc-c/c_field.cc
++++ b/protoc-c/c_field.cc
+@@ -231,7 +231,7 @@ FieldGeneratorMap::~FieldGeneratorMap() {}
+ 
+ const FieldGenerator& FieldGeneratorMap::get(
+     const FieldDescriptor* field) const {
+-  GOOGLE_CHECK_EQ(field->containing_type(), descriptor_);
++  ABSL_CHECK_EQ(field->containing_type(), descriptor_);
+   return *field_generators_[field->index()];
+ }
+ 
+diff --git a/protoc-c/c_field.h b/protoc-c/c_field.h
+index 3cad35d3..76d3b0bc 100644
+--- a/protoc-c/c_field.h
++++ b/protoc-c/c_field.h
+@@ -104,8 +104,6 @@ class FieldGenerator {
+                                             const std::string &descriptor_addr) const;
+   const FieldDescriptor *descriptor_;
+ 
+- private:
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGenerator);
+ };
+ 
+ // Convenience class which constructs FieldGenerators for a Descriptor.
+@@ -122,7 +120,6 @@ class FieldGeneratorMap {
+ 
+   static FieldGenerator* MakeGenerator(const FieldDescriptor* field);
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGeneratorMap);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_file.h b/protoc-c/c_file.h
+index 8dfd8ba0..ec55906e 100644
+--- a/protoc-c/c_file.h
++++ b/protoc-c/c_file.h
+@@ -104,7 +104,6 @@ class FileGenerator {
+   std::unique_ptr<std::unique_ptr<ServiceGenerator>[]> service_generators_;
+   std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FileGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_generator.h b/protoc-c/c_generator.h
+index ac1ffafe..92601164 100644
+--- a/protoc-c/c_generator.h
++++ b/protoc-c/c_generator.h
+@@ -94,8 +94,6 @@ class PROTOC_C_EXPORT CGenerator : public CodeGenerator {
+                 OutputDirectory* output_directory,
+                 std::string* error) const;
+ 
+- private:
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(CGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_helpers.cc b/protoc-c/c_helpers.cc
+index 6fd0cd3a..1eaeeb42 100644
+--- a/protoc-c/c_helpers.cc
++++ b/protoc-c/c_helpers.cc
+@@ -286,7 +286,7 @@ const char* const kKeywordList[] = {
+ 
+ std::set<std::string> MakeKeywordsMap() {
+   std::set<std::string> result;
+-  for (int i = 0; i < GOOGLE_ARRAYSIZE(kKeywordList); i++) {
++  for (int i = 0; i < ABSL_ARRAYSIZE(kKeywordList); i++) {
+     result.insert(kKeywordList[i]);
+   }
+   return result;
+@@ -548,7 +548,7 @@ std::string CEscape(const std::string& src) {
+   std::unique_ptr<char[]> dest(new char[dest_length]);
+   const int len = CEscapeInternal(src.data(), src.size(),
+                                   dest.get(), dest_length, false);
+-  GOOGLE_DCHECK_GE(len, 0);
++  ABSL_DCHECK_GE(len, 0);
+   return std::string(dest.get(), len);
+ }
+ 
+diff --git a/protoc-c/c_message.cc b/protoc-c/c_message.cc
+index 37e8bf8b..c7e85155 100755
+--- a/protoc-c/c_message.cc
++++ b/protoc-c/c_message.cc
+@@ -499,7 +499,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ 	  // NOTE: not supported by protobuf
+ 	  vars["maybe_static"] = "";
+ 	  vars["field_dv_ctype"] = "{ ... }";
+-	  GOOGLE_LOG(DFATAL) << "Messages can't have default values!";
++	  ABSL_LOG(FATAL) << "Messages can't have default values!";
+ 	  break;
+ 	case FieldDescriptor::CPPTYPE_STRING:
+ 	  if (fd->type() == FieldDescriptor::TYPE_BYTES || opt.string_as_bytes())
+@@ -521,7 +521,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ 	    break;
+ 	  }
+ 	default:
+-	  GOOGLE_LOG(DFATAL) << "Unknown CPPTYPE";
++	  ABSL_LOG(FATAL) << "Unknown CPPTYPE";
+ 	  break;
+ 	}
+ 	if (!already_defined)
+diff --git a/protoc-c/c_message.h b/protoc-c/c_message.h
+index ea1c3ab3..e90782bf 100644
+--- a/protoc-c/c_message.h
++++ b/protoc-c/c_message.h
+@@ -137,7 +137,6 @@ class MessageGenerator {
+   std::unique_ptr<std::unique_ptr<EnumGenerator>[]> enum_generators_;
+   std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_message_field.h b/protoc-c/c_message_field.h
+index 39b8d999..42efe368 100644
+--- a/protoc-c/c_message_field.h
++++ b/protoc-c/c_message_field.h
+@@ -83,9 +83,6 @@ class MessageFieldGenerator : public FieldGenerator {
+   std::string GetDefaultValue(void) const;
+   void GenerateStaticInit(io::Printer* printer) const;
+ 
+- private:
+-
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_primitive_field.cc b/protoc-c/c_primitive_field.cc
+index 6990893f..d5a7b60c 100644
+--- a/protoc-c/c_primitive_field.cc
++++ b/protoc-c/c_primitive_field.cc
+@@ -99,7 +99,7 @@ void PrimitiveFieldGenerator::GenerateStructMembers(io::Printer* printer) const
+     case FieldDescriptor::TYPE_STRING  :
+     case FieldDescriptor::TYPE_BYTES   :
+     case FieldDescriptor::TYPE_GROUP   :
+-    case FieldDescriptor::TYPE_MESSAGE : GOOGLE_LOG(FATAL) << "not a primitive type"; break;
++    case FieldDescriptor::TYPE_MESSAGE : ABSL_LOG(FATAL) << "not a primitive type"; break;
+ 
+     // No default because we want the compiler to complain if any new
+     // types are added.
+@@ -143,7 +143,7 @@ std::string PrimitiveFieldGenerator::GetDefaultValue() const
+     case FieldDescriptor::CPPTYPE_BOOL:
+       return descriptor_->default_value_bool() ? "1" : "0";
+     default:
+-      GOOGLE_LOG(DFATAL) << "unexpected CPPTYPE in c_primitive_field";
++      ABSL_LOG(FATAL) << "unexpected CPPTYPE in c_primitive_field";
+       return "UNEXPECTED_CPPTYPE";
+   }
+ }
+@@ -197,7 +197,7 @@ void PrimitiveFieldGenerator::GenerateDescriptorInitializer(io::Printer* printer
+     case FieldDescriptor::TYPE_STRING  :
+     case FieldDescriptor::TYPE_BYTES   :
+     case FieldDescriptor::TYPE_GROUP   :
+-    case FieldDescriptor::TYPE_MESSAGE : GOOGLE_LOG(FATAL) << "not a primitive type"; break;
++    case FieldDescriptor::TYPE_MESSAGE : ABSL_LOG(FATAL) << "not a primitive type"; break;
+ 
+     // No default because we want the compiler to complain if any new
+     // types are added.
+diff --git a/protoc-c/c_primitive_field.h b/protoc-c/c_primitive_field.h
+index a9eb893b..d2bb7243 100644
+--- a/protoc-c/c_primitive_field.h
++++ b/protoc-c/c_primitive_field.h
+@@ -83,9 +83,6 @@ class PrimitiveFieldGenerator : public FieldGenerator {
+   std::string GetDefaultValue(void) const;
+   void GenerateStaticInit(io::Printer* printer) const;
+ 
+- private:
+-
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(PrimitiveFieldGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_service.h b/protoc-c/c_service.h
+index 27125a60..4737ff3b 100644
+--- a/protoc-c/c_service.h
++++ b/protoc-c/c_service.h
+@@ -101,7 +101,6 @@ class ServiceGenerator {
+   const ServiceDescriptor* descriptor_;
+   std::map<std::string, std::string> vars_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ServiceGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_string_field.h b/protoc-c/c_string_field.h
+index 513cea75..ba258e44 100644
+--- a/protoc-c/c_string_field.h
++++ b/protoc-c/c_string_field.h
+@@ -88,7 +88,6 @@ class StringFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(StringFieldGenerator);
+ };
+ 
+ 
diff --git a/srcpkgs/protobuf-c/template b/srcpkgs/protobuf-c/template
index 7d1b529d8936..e703b138152d 100644
--- a/srcpkgs/protobuf-c/template
+++ b/srcpkgs/protobuf-c/template
@@ -1,10 +1,10 @@
 # Template file for 'protobuf-c'
 pkgname=protobuf-c
 version=1.4.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="$(vopt_enable protoc)"
-hostmakedepends="pkg-config protobuf protobuf-devel"
+hostmakedepends="pkg-config protobuf protobuf-devel automake libtool"
 makedepends="protobuf-devel boost-devel $(vopt_if protoc libprotoc-devel)"
 short_desc="C implementation of the Google Protocol Buffers"
 maintainer="Enno Boland <gottox@voidlinux.org>"
@@ -17,6 +17,10 @@ build_options="protoc"
 build_options_default="protoc"
 desc_option_protoc="Build protoc-c compiler"
 
+pre_configure() {
+	autoreconf -if
+}
+
 post_install() {
 	vlicense LICENSE
 }

From 94d71c14204baa1ec7ef1c2675503311806b8fdc Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 2 Jul 2023 21:07:55 +0200
Subject: [PATCH 32/36] netdata: update to 1.40.1.

---
 srcpkgs/netdata/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/netdata/template            | 13 +++++++++----
 2 files changed, 20 insertions(+), 4 deletions(-)
 create mode 100644 srcpkgs/netdata/patches/cpp17.patch

diff --git a/srcpkgs/netdata/patches/cpp17.patch b/srcpkgs/netdata/patches/cpp17.patch
new file mode 100644
index 000000000000..b197ccd57bd9
--- /dev/null
+++ b/srcpkgs/netdata/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac	2023-06-27 16:25:03.364605041 +0200
++++ -	2023-07-02 21:27:31.113408278 +0200
+@@ -237,7 +237,7 @@
+ # C++ version check
+ 
+ # Check for C++17 support (optional)
+-# AX_CXX_COMPILE_STDCXX(17, noext, optional)
++AX_CXX_COMPILE_STDCXX(17, noext, optional)
+ 
+ if test "x$HAVE_CXX17" != "x1"; then
+   # Check for C++11 support (optional)
diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 781120b3f275..9065c5140361 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -1,14 +1,14 @@
 # Template file for 'netdata'
 pkgname=netdata
-version=1.37.1
-revision=2
+version=1.40.1
+revision=1
 build_style=gnu-configure
 build_helper=qemu
 configure_args="--with-user=_netdata ac_cv_file_externaldeps_libbpf_libbpf_a=no
  $(vopt_if cloud --enable-cloud --disable-cloud) $(vopt_if ipmi --enable-plugin-freeipmi)
  $(vopt_if xen --enable-plugin-xenstat) $(vopt_if cups --enable-plugin-cups)"
 hostmakedepends="pkg-config autoconf automake $(vopt_if cloud "protobuf protobuf-devel")"
-makedepends="json-c-devel libcap-devel liblz4-devel libmnl-devel
+makedepends="json-c-devel libcap-devel liblz4-devel libmnl-devel libyaml-devel
  libnetfilter_acct-devel openssl-devel libuuid-devel libuv-devel zlib-devel
  snappy-devel $(vopt_if cloud protobuf-devel) $(vopt_if ipmi freeipmi-devel)
  $(vopt_if xen "xen-devel yajl-devel") $(vopt_if cups cups-devel)"
@@ -18,7 +18,7 @@ maintainer="Michael Aldridge <maldridge@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://www.netdata.cloud/"
 distfiles="https://github.com/netdata/netdata/releases/download/v${version}/netdata-v${version}.tar.gz"
-checksum=2caa042d43ca61007a61294a5ececa037d83a1973bd38032233760341eb1706b
+checksum=cc86172acd5e6ec05bc0fa86a50d967502a264d8adf7f79293923ccd8febb251
 python_version=3
 make_dirs="
  /var/lib/netdata          0755 _netdata _netdata
@@ -43,6 +43,11 @@ if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 fi
 
 pre_configure() {
+	vsed -e 's/#define info(/#define netdata_log_info(/g' -i libnetdata/log/log.h
+	vsed -e 's/^\([ ]*\)info[ ]*(/\1netdata_log_info(/g' -i $(grep -rl '^[ ]*info *(' ./)
+	vsed -e 's/^\([ ]*\)else info(/\1else netdata_log_info(/g' -i $(grep -rl '^[ ]*else info(' ./)
+	vsed -e 's/^\([ ]*\)if(\([^)]*\))[ ]*info(/\1if(\2) netdata_log_info(/g' -i $(grep -rl '^[ ]*if.*info(' ./)
+
 	if [ "$CROSS_BUILD" ]; then
 		sed -i "s|	\$(builddir)/judyltablesgen\$(EXEEXT)|	qemu-${XBPS_TARGET_QEMU_MACHINE}-static \$(builddir)/judyltablesgen\$(EXEEXT)|g" Makefile.am
 	fi

From 7178fae15002f3b97fd642d55e9962af2143172f Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 8 Jul 2023 12:47:51 +0200
Subject: [PATCH 33/36] strawberry: rebuild against protobuf-23.3_1

---
 srcpkgs/strawberry/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/strawberry/template b/srcpkgs/strawberry/template
index b42efa1b89b2..91f2e07a0ec0 100644
--- a/srcpkgs/strawberry/template
+++ b/srcpkgs/strawberry/template
@@ -1,7 +1,7 @@
 # Template file for 'strawberry'
 pkgname=strawberry
 version=1.0.17
-revision=2
+revision=3
 build_style=cmake
 hostmakedepends="pkg-config protobuf gettext"
 makedepends="alsa-lib-devel boost-devel gnutls-devel fftw-devel

From 84a3f4baa34f652d8a08dcd566ceab4304afa635 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 8 Jul 2023 12:47:51 +0200
Subject: [PATCH 34/36] libphonenumber: rebuild against protobuf-23.3_1

---
 srcpkgs/libphonenumber/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libphonenumber/template b/srcpkgs/libphonenumber/template
index f554714b3c7a..058939459f6a 100644
--- a/srcpkgs/libphonenumber/template
+++ b/srcpkgs/libphonenumber/template
@@ -1,7 +1,7 @@
 # Template file for 'libphonenumber'
 pkgname=libphonenumber
 version=8.12.39
-revision=12
+revision=13
 build_wrksrc=cpp
 build_style=cmake
 build_helper=qemu

From 4803c50449127426f062419900097c59a59d08ad Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 11 Jul 2023 09:10:32 +0200
Subject: [PATCH 35/36] fixup! sysdig: update to 0.31.5.

---
 srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch | 11 +++++++++++
 srcpkgs/sysdig/template                           |  1 +
 2 files changed, 12 insertions(+)
 create mode 100644 srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch

diff --git a/srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch b/srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch
new file mode 100644
index 000000000000..387be65954e6
--- /dev/null
+++ b/srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch
@@ -0,0 +1,11 @@
+--- a/userspace/libsinsp/CMakeLists.txt	2023-06-05 10:25:32.000000000 +0200
++++ -	2023-07-11 09:03:42.496439385 +0200
+@@ -289,7 +289,7 @@
+ 	endif()
+ endif() # NOT WIN32
+ 
+-
++LIST(APPEND SINSP_LIBRARIES absl_log_internal_message absl_log_internal_nullguard)
+ target_link_libraries(sinsp ${SINSP_LIBRARIES})
+ 
+ if(APPLE)
diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index d088357125b8..0f2260a928ed 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -39,6 +39,7 @@ CXXFLAGS="-Wno-deprecated-declarations"
 
 post_patch() {
 	patch -d "${wrksrc}/libs-${_falcover}" -Np1 < "${FILESDIR}/libsinsp-zstd.patch"
+	patch -d "${wrksrc}/libs-${_falcover}" -Np1 < "${FILESDIR}/libsinsp-absl-protobuf.patch"
 
 	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
 	vsed -e 's|-std=c++0x||' -i CMakeLists.txt -i "${wrksrc}/libs-${_falcover}/cmake/modules/CompilerFlags.cmake"

From 1dde8ed592953bedbc36aeee19f2d1906d8e3f01 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 14 Jul 2023 15:44:21 +0200
Subject: [PATCH 36/36] python3-protobuf: update to 4.23.4.

---
 srcpkgs/python3-protobuf/patches/cpp17.patch  |  11 ++
 .../patches/python-3.11.patch                 | 132 ------------------
 srcpkgs/python3-protobuf/template             |  11 +-
 3 files changed, 18 insertions(+), 136 deletions(-)
 create mode 100644 srcpkgs/python3-protobuf/patches/cpp17.patch
 delete mode 100644 srcpkgs/python3-protobuf/patches/python-3.11.patch

diff --git a/srcpkgs/python3-protobuf/patches/cpp17.patch b/srcpkgs/python3-protobuf/patches/cpp17.patch
new file mode 100644
index 000000000000..97b81e1bfa5a
--- /dev/null
+++ b/srcpkgs/python3-protobuf/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/python/setup.py	2023-07-05 23:53:30.000000000 +0200
++++ -	2023-07-14 16:19:35.949677747 +0200
+@@ -370,7 +370,7 @@
+       extra_compile_args.append('-Wno-invalid-offsetof')
+       extra_compile_args.append('-Wno-sign-compare')
+       extra_compile_args.append('-Wno-unused-variable')
+-      extra_compile_args.append('-std=c++14')
++      extra_compile_args.append('-std=c++17')
+ 
+     if sys.platform == 'darwin':
+       extra_compile_args.append('-Wno-shorten-64-to-32')
diff --git a/srcpkgs/python3-protobuf/patches/python-3.11.patch b/srcpkgs/python3-protobuf/patches/python-3.11.patch
deleted file mode 100644
index f6ed1b078357..000000000000
--- a/srcpkgs/python3-protobuf/patches/python-3.11.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From da973aff2adab60a9e516d3202c111dbdde1a50f Mon Sep 17 00:00:00 2001
-From: Alexander Shadchin <alexandr.shadchin@gmail.com>
-Date: Sun, 14 Aug 2022 21:13:49 +0300
-Subject: [PATCH] Fix build with Python 3.11
-
-The PyFrameObject structure members have been removed from the public C API.
----
- google/protobuf/pyext/descriptor.cc | 75 ++++++++++++++++++----
- 1 file changed, 62 insertions(+), 13 deletions(-)
-
-diff --git a/google/protobuf/pyext/descriptor.cc b/google/protobuf/pyext/descriptor.cc
-index fc83acf01a..fc97b0fa6c 100644
---- a/google/protobuf/pyext/descriptor.cc
-+++ b/google/protobuf/pyext/descriptor.cc
-@@ -58,6 +58,37 @@
-               : 0)                                               \
-        : PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
- 
-+#if PY_VERSION_HEX < 0x030900B1 && !defined(PYPY_VERSION)
-+static PyCodeObject* PyFrame_GetCode(PyFrameObject *frame)
-+{
-+    Py_INCREF(frame->f_code);
-+    return frame->f_code;
-+}
-+
-+static PyFrameObject* PyFrame_GetBack(PyFrameObject *frame)
-+{
-+    Py_XINCREF(frame->f_back);
-+    return frame->f_back;
-+}
-+#endif
-+
-+#if PY_VERSION_HEX < 0x030B00A7 && !defined(PYPY_VERSION)
-+static PyObject* PyFrame_GetLocals(PyFrameObject *frame)
-+{
-+    if (PyFrame_FastToLocalsWithError(frame) < 0) {
-+        return NULL;
-+    }
-+    Py_INCREF(frame->f_locals);
-+    return frame->f_locals;
-+}
-+
-+static PyObject* PyFrame_GetGlobals(PyFrameObject *frame)
-+{
-+    Py_INCREF(frame->f_globals);
-+    return frame->f_globals;
-+}
-+#endif
-+
- namespace google {
- namespace protobuf {
- namespace python {
-@@ -96,48 +127,66 @@ bool _CalledFromGeneratedFile(int stacklevel) {
-   // This check is not critical and is somewhat difficult to implement correctly
-   // in PyPy.
-   PyFrameObject* frame = PyEval_GetFrame();
-+  PyCodeObject* frame_code = nullptr;
-+  PyObject* frame_globals = nullptr;
-+  PyObject* frame_locals = nullptr;
-+  bool result = false;
-+
-   if (frame == nullptr) {
--    return false;
-+    goto exit;
-   }
-+  Py_INCREF(frame);
-   while (stacklevel-- > 0) {
--    frame = frame->f_back;
-+    PyFrameObject* next_frame = PyFrame_GetBack(frame);
-+    Py_DECREF(frame);
-+    frame = next_frame;
-     if (frame == nullptr) {
--      return false;
-+      goto exit;
-     }
-   }
- 
--  if (frame->f_code->co_filename == nullptr) {
--    return false;
-+  frame_code = PyFrame_GetCode(frame);
-+  if (frame_code->co_filename == nullptr) {
-+    goto exit;
-   }
-   char* filename;
-   Py_ssize_t filename_size;
--  if (PyString_AsStringAndSize(frame->f_code->co_filename,
-+  if (PyString_AsStringAndSize(frame_code->co_filename,
-                                &filename, &filename_size) < 0) {
-     // filename is not a string.
-     PyErr_Clear();
--    return false;
-+    goto exit;
-   }
-   if ((filename_size < 3) ||
-       (strcmp(&filename[filename_size - 3], ".py") != 0)) {
-     // Cython's stack does not have .py file name and is not at global module
-     // scope.
--    return true;
-+    result = true;
-+    goto exit;
-   }
-   if (filename_size < 7) {
-     // filename is too short.
--    return false;
-+    goto exit;
-   }
-   if (strcmp(&filename[filename_size - 7], "_pb2.py") != 0) {
-     // Filename is not ending with _pb2.
--    return false;
-+    goto exit;
-   }
- 
--  if (frame->f_globals != frame->f_locals) {
-+  frame_globals = PyFrame_GetGlobals(frame);
-+  frame_locals = PyFrame_GetLocals(frame);
-+  if (frame_globals != frame_locals) {
-     // Not at global module scope
--    return false;
-+    goto exit;
-   }
- #endif
--  return true;
-+  result = true;
-+exit:
-+  Py_XDECREF(frame_globals);
-+  Py_XDECREF(frame_locals);
-+  Py_XDECREF(frame_code);
-+  Py_XDECREF(frame);
-+  return result;
- }
- 
- // If the calling code is not a _pb2.py file, raise AttributeError.
diff --git a/srcpkgs/python3-protobuf/template b/srcpkgs/python3-protobuf/template
index e965c4432162..5c78e4794018 100644
--- a/srcpkgs/python3-protobuf/template
+++ b/srcpkgs/python3-protobuf/template
@@ -1,16 +1,19 @@
 # Template file for 'python3-protobuf'
 pkgname=python3-protobuf
-version=4.21.12
+version=4.23.4
+_protobuf=${version#*.}
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-wheel"
+build_wrksrc=python
+hostmakedepends="python3-setuptools python3-wheel protobuf"
 depends="python3-setuptools python3-six"
 short_desc="Python3 bindings for Google Protocol Buffers"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
-distfiles="${PYPI_SITE}/p/protobuf/protobuf-${version}.tar.gz"
-checksum=7cd532c4566d0e6feafecc1059d04c7915aec8e182d1cf7adee8b24ef1e2e6ab
+# PyPi release does not have bits for cppext
+distfiles="https://github.com/protocolbuffers/protobuf/releases/download/v${_protobuf}/protobuf-${_protobuf}.tar.gz"
+checksum=a700a49470d301f1190a487a923b5095bf60f08f4ae4cac9f5f7c36883d17971
 
 build_options="cppext"
 build_options_default="cppext"

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] protobuf/abseil-cpp/grpc: update
  2023-07-08 11:45 [PR PATCH] protobuf/abseil-cpp: update Johnnynator
                   ` (5 preceding siblings ...)
  2023-07-14 14:22 ` Johnnynator
@ 2023-07-14 14:39 ` Johnnynator
  2023-07-14 15:33 ` Johnnynator
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Johnnynator @ 2023-07-14 14:39 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 616 bytes --]

There is an updated pull request by Johnnynator against master on the void-packages repository

https://github.com/Johnnynator/void-packages google-stuff
https://github.com/void-linux/void-packages/pull/44920

protobuf/abseil-cpp/grpc: update
"Fun" with google stuff

#### Testing the changes
- I tested the changes in this PR: **WiP**


#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):



A patch file from https://github.com/void-linux/void-packages/pull/44920.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-google-stuff-44920.patch --]
[-- Type: text/x-diff, Size: 116217 bytes --]

From 2fa9d09713592cbb1af14d87d047818bd4685933 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:24:01 +0200
Subject: [PATCH 01/35] abseil-cpp: update to 20230125.3.

---
 common/shlibs                                 | 128 ++++++++++++------
 srcpkgs/abseil-cpp/patches/google-sucks.patch |  77 -----------
 srcpkgs/abseil-cpp/template                   |   4 +-
 3 files changed, 85 insertions(+), 124 deletions(-)
 delete mode 100644 srcpkgs/abseil-cpp/patches/google-sucks.patch

diff --git a/common/shlibs b/common/shlibs
index 4b2122d1b199..d1e779f4e7cb 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4207,51 +4207,89 @@ libsunpinyin.so.3 libsunpinyin-3.0.0rc2_1
 libtpm2-totp.so.0 libtpm2-totp-0.3.0_1
 libmujs.so.1.2.0 mujs-1.2.0_2
 libiir.so.1 libiir1-1.9.3_1
-libabsl_statusor.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_hash.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_raw_hash_set.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_bad_variant_access.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_status.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_pool_urbg.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_hwaes_impl.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_slow.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cord.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_city.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_bad_optional_access.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_info.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_str_format_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_synchronization.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_time.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strings.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_throw_delegate.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_time_zone.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_spinlock_wait.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_base.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_civil_time.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cord_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_functions.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_handle.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_debugging_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_demangle_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_exponential_biased.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_graphcycles_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_hashtablez_sampler.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_int128.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_log_severity.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_low_level_hash.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_malloc_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_distributions.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_platform.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_hwaes.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_seed_material.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_seed_gen_exception.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_seed_sequences.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_raw_logging_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_stacktrace.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strerror.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strings_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_symbolize.so.2206.0.0 abseil-cpp-20220623.1_1
+libabsl_flags.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_raw_logging_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_parse.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_reflection.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_globals.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_config.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_seed_sequences.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_statusor.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_usage_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_commandlineflag.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_hwaes_impl.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_status.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_any_cast_impl.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_variant_access.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_raw_hash_set.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_optional_access.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cord.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_distribution_test_util.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_handle.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_graphcycles_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_spinlock_wait.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_functions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_usage.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_debugging_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strerror.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_seed_material.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_log_sink_set.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_proto.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_civil_time.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_conditions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_cpu_detect.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_entry.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_distributions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_globals.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_format.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_exponential_biased.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_city.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_symbolize.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_leak_check.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_low_level_hash.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_severity.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_scoped_set_env.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strings.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_die_if_null.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_hash.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_commandlineflag_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_periodic_sampler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_platform.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_malloc_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_sample_token.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_str_format_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_synchronization.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_message.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strings_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_private_handle_accessor.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cord_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_hwaes.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_throw_delegate.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_cord_state.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_flags.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_program_name.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_time_zone.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_examine_stack.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc32c.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_initialize.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_failure_signal_handler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_time.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_info.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_sink.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_nullguard.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_demangle_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_base.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_hashtablez_sampler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_marshalling.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_pool_urbg.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_int128.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_stacktrace.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_seed_gen_exception.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_check_op.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_slow.so.2301.0.0 abseil-cpp-20230125.3_1
 libairspyhf.so.0 libairspyhf-1.6.8_1
 libtraceevent.so.1 libtraceevent-1.6.2_1
 libtracefs.so.1 libtracefs-1.4.2_1
diff --git a/srcpkgs/abseil-cpp/patches/google-sucks.patch b/srcpkgs/abseil-cpp/patches/google-sucks.patch
deleted file mode 100644
index 511bae847101..000000000000
--- a/srcpkgs/abseil-cpp/patches/google-sucks.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-commit 1fbfea71fb42b2e79f9e342c1843bd26a8703536
-Author: Daniel Kolesa <daniel@octaforge.org>
-Date:   Thu Aug 25 01:20:58 2022 +0200
-
-    An all-in-one patch that fixes several issues:
-    
-    1) UnscaledCycleClock not fully implemented for ppc*-musl (disabled on musl)
-    2) powerpc stacktrace implementation only works on glibc (disabled on musl)
-    3) powerpc stacktrace implementation has ppc64 assumptions (fixed)
-    4) examine_stack.cpp makes glibc assumptions on powerpc (fixed)
-
-diff --git a/absl/base/internal/unscaledcycleclock.cc b/absl/base/internal/unscaledcycleclock.cc
-index b1c396c..d62bfd6 100644
---- a/absl/base/internal/unscaledcycleclock.cc
-+++ b/absl/base/internal/unscaledcycleclock.cc
-@@ -20,7 +20,7 @@
- #include <intrin.h>
- #endif
- 
--#if defined(__powerpc__) || defined(__ppc__)
-+#if (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
- #ifdef __GLIBC__
- #include <sys/platform/ppc.h>
- #elif defined(__FreeBSD__)
-@@ -58,7 +58,7 @@ double UnscaledCycleClock::Frequency() {
-   return base_internal::NominalCPUFrequency();
- }
- 
--#elif defined(__powerpc__) || defined(__ppc__)
-+#elif (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
- 
- int64_t UnscaledCycleClock::Now() {
- #ifdef __GLIBC__
-diff --git a/absl/base/internal/unscaledcycleclock.h b/absl/base/internal/unscaledcycleclock.h
-index 2cbeae3..83d8c98 100644
---- a/absl/base/internal/unscaledcycleclock.h
-+++ b/absl/base/internal/unscaledcycleclock.h
-@@ -46,8 +46,8 @@
- 
- // The following platforms have an implementation of a hardware counter.
- #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \
--    defined(__powerpc__) || defined(__ppc__) || defined(__riscv) ||     \
--    defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
-+    ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \
-+    defined(__riscv) || defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
- #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
- #else
- #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 0
-diff --git a/absl/debugging/internal/examine_stack.cc b/absl/debugging/internal/examine_stack.cc
-index 5bdd341..a42a3c4 100644
---- a/absl/debugging/internal/examine_stack.cc
-+++ b/absl/debugging/internal/examine_stack.cc
-@@ -174,8 +174,10 @@ void* GetProgramCounter(void* const vuc) {
-     return reinterpret_cast<void*>(context->uc_mcontext.pc);
- #elif defined(__powerpc64__)
-     return reinterpret_cast<void*>(context->uc_mcontext.gp_regs[32]);
--#elif defined(__powerpc__)
-+#elif defined(__powerpc__) && defined(__GLIBC__)
-     return reinterpret_cast<void*>(context->uc_mcontext.uc_regs->gregs[32]);
-+#elif defined(__powerpc__)
-+    return reinterpret_cast<void*>(context->uc_mcontext.gregs[32]);
- #elif defined(__riscv)
-     return reinterpret_cast<void*>(context->uc_mcontext.__gregs[REG_PC]);
- #elif defined(__s390__) && !defined(__s390x__)
-diff --git a/absl/debugging/internal/stacktrace_config.h b/absl/debugging/internal/stacktrace_config.h
-index 3929b1b..23d5e50 100644
---- a/absl/debugging/internal/stacktrace_config.h
-+++ b/absl/debugging/internal/stacktrace_config.h
-@@ -60,7 +60,7 @@
- #elif defined(__i386__) || defined(__x86_64__)
- #define ABSL_STACKTRACE_INL_HEADER \
-   "absl/debugging/internal/stacktrace_x86-inl.inc"
--#elif defined(__ppc__) || defined(__PPC__)
-+#elif (defined(__ppc__) || defined(__PPC__)) && defined(__GLIBC__)
- #define ABSL_STACKTRACE_INL_HEADER \
-   "absl/debugging/internal/stacktrace_powerpc-inl.inc"
- #elif defined(__aarch64__)
diff --git a/srcpkgs/abseil-cpp/template b/srcpkgs/abseil-cpp/template
index 8640d2489406..3ffdb4d99d33 100644
--- a/srcpkgs/abseil-cpp/template
+++ b/srcpkgs/abseil-cpp/template
@@ -1,6 +1,6 @@
 # Template file for 'abseil-cpp'
 pkgname=abseil-cpp
-version=20220623.1
+version=20230125.3
 revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON -DABSL_PROPAGATE_CXX_STD=ON"
@@ -10,7 +10,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="Apache-2.0"
 homepage="https://abseil.io"
 distfiles="https://github.com/abseil/abseil-cpp/archive/${version}.tar.gz"
-checksum=91ac87d30cc6d79f9ab974c51874a704de9c2647c40f6932597329a282217ba8
+checksum=5366d7e7fa7ba0d915014d387b66d0d002c03236448e1ba9ef98122c13b35c36
 
 abseil-cpp-devel_package() {
 	short_desc+=" (development files)"

From 890d802c66e66caacde2d4010022beb952242fa7 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 02/35] Bear: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/Bear/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/Bear/template b/srcpkgs/Bear/template
index cebf51b64728..2e6da3ba9a30 100644
--- a/srcpkgs/Bear/template
+++ b/srcpkgs/Bear/template
@@ -1,7 +1,7 @@
 # Template file for 'Bear'
 pkgname=Bear
 version=3.1.2
-revision=1
+revision=2
 build_style=cmake
 hostmakedepends="pkg-config protobuf protobuf-devel grpc"
 makedepends="json-c++ spdlog grpc-devel protobuf-devel gtest-devel"

From 88e754bb31c06e8f7a15c8938ace693600708eaf Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 03/35] grpc: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/grpc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index 5b4547a5c0fc..f9d197a1c354 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -1,7 +1,7 @@
 # Template file for 'grpc'
 pkgname=grpc
 version=1.49.1
-revision=2
+revision=3
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON
  -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package

From b38f03b380fbf622b18ceec71ee3bf0e76e8d298 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 04/35] justbuild: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/justbuild/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index 1ad8e334617d..ee36f6dae575 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
 # Template file for 'justbuild'
 pkgname=justbuild
 version=1.1.2
-revision=1
+revision=2
 create_wrksrc=yes
 hostmakedepends="jo pandoc pkg-config python3 tar unzip wget"
 makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++

From 3ebf2dd20a5ae7283d817fc5390a9a76794473ec Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 05/35] python3-grpcio: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/python3-grpcio/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 826eda0fc560..9b3c7288a9dd 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-grpcio'
 pkgname=python3-grpcio
 version=1.49.1
-revision=3
+revision=4
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-six python3-Cython"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel

From 0aac8463d0d41a2a7e48711826c077840dd367f3 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 06/35] sysdig: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/sysdig/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index 81ddb7aba5e3..4a04e762468c 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,7 +1,7 @@
 # Template file for 'sysdig'
 pkgname=sysdig
 version=0.28.0
-revision=7
+revision=8
 build_style=cmake
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF
@@ -36,7 +36,8 @@ CXXFLAGS="-Wno-deprecated-declarations"
 CXXFLAGS+=" -I/usr/include/grpc_absl"
 
 post_extract() {
-	sed -i 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' scripts/CMakeLists.txt
+	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
+	vsed -e 's|-std=c++0x||' -i CMakeLists.txt
 }
 
 post_install() {

From 2fb9d639d2e07e41f91bb3b3a1037eec54746b69 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 22:01:12 +0200
Subject: [PATCH 07/35] python3-grpcio: update to 1.56.0.

---
 srcpkgs/python3-grpcio/template | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 9b3c7288a9dd..25ea3fc34620 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-grpcio'
 pkgname=python3-grpcio
-version=1.49.1
-revision=4
+version=1.56.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-six python3-Cython"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel
@@ -12,7 +12,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://grpc.io"
 distfiles="${PYPI_SITE}/g/grpcio/grpcio-${version}.tar.gz"
-checksum=d4725fc9ec8e8822906ae26bb26f5546891aa7fbc3443de970cc556d43a5c99f
+checksum=4c08ee21b3d10315b8dc26f6c13917b20ed574cdbed2d2d80c53d5508fdcc0f2
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	makedepends+=" libatomic-devel"
@@ -29,5 +29,7 @@ export GRPC_PYTHON_BUILD_SYSTEM_RE2=1
 export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
 
 post_extract() {
+	# abseil-cpp 2023xxxxxx requires at least c++ 17
+	vsed -e 's/c++14/c++17/g' -i setup.py
 	rm src/python/grpcio/grpc/_cython/cygrpc.cpp
 }

From 9cf5cffe9fe5d6aea416ef6f72d12e5479eec125 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 22:01:47 +0200
Subject: [PATCH 08/35] grpc: update to 1.56.0.

---
 common/shlibs                                 | 24 +++++++++----------
 srcpkgs/grpc/patches/cmake.patch              | 20 ++++++++++++++++
 .../grpc/patches/revert-find-protobuf.patch   | 23 ++++++++++++++++++
 srcpkgs/grpc/template                         | 15 ++++++------
 4 files changed, 63 insertions(+), 19 deletions(-)
 create mode 100644 srcpkgs/grpc/patches/cmake.patch
 create mode 100644 srcpkgs/grpc/patches/revert-find-protobuf.patch

diff --git a/common/shlibs b/common/shlibs
index d1e779f4e7cb..5adfa4d6e69f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3683,18 +3683,18 @@ liboblibs.so.0.1 oblibs-0.1.1.1_1
 libaal-1.0.so.7 libaal-1.0.7_1
 libaal-minimal.so.0 libaal-1.0.7_1
 libcli.so.1.9 libcli-1.9.8.4_1
-libaddress_sorting.so.27 libgrpc-1.49.1_1
-libgpr.so.27 libgrpc-1.49.1_1
-libgrpc.so.27 libgrpc-1.49.1_1
-libgrpc_unsecure.so.27 libgrpc-1.49.1_1
-libupb.so.27 libgrpc-1.49.1_1
-libgrpc++.so.1.49 libgrpc-1.49.1_1
-libgrpc++_alts.so.1.49 libgrpc-1.49.1_1
-libgrpc++_error_details.so.1.49 libgrpc-1.49.1_1
-libgrpc++_reflection.so.1.49 libgrpc-1.49.1_1
-libgrpc++_unsecure.so.1.49 libgrpc-1.49.1_1
-libgrpc_plugin_support.so.1.49 libgrpc-1.49.1_1
-libgrpcpp_channelz.so.1.49 libgrpc-1.49.1_1
+libaddress_sorting.so.33 libgrpc-1.56.0_1
+libgpr.so.33 libgrpc-1.56.0_1
+libgrpc.so.33 libgrpc-1.56.0_1
+libgrpc_unsecure.so.33 libgrpc-1.56.0_1
+libupb.so.33 libgrpc-1.56.0_1
+libgrpc++.so.1.56 libgrpc-1.56.0_1
+libgrpc++_alts.so.1.56 libgrpc-1.56.0_1
+libgrpc++_error_details.so.1.56 libgrpc-1.56.0_1
+libgrpc++_reflection.so.1.56 libgrpc-1.56.0_1
+libgrpc++_unsecure.so.1.56 libgrpc-1.56.0_1
+libgrpc_plugin_support.so.1.56 libgrpc-1.56.0_1
+libgrpcpp_channelz.so.1.56 libgrpc-1.56.0_1
 libircclient.so.1 libircclient-1.10_5
 libFAudio.so.0 FAudio-19.05_1
 libqaccessibilityclient-qt5.so.0 libqaccessibilityclient-0.4.0_1
diff --git a/srcpkgs/grpc/patches/cmake.patch b/srcpkgs/grpc/patches/cmake.patch
new file mode 100644
index 000000000000..54d04e29837d
--- /dev/null
+++ b/srcpkgs/grpc/patches/cmake.patch
@@ -0,0 +1,20 @@
+--- a/cmake/gRPCConfig.cmake.in	2023-06-14 22:21:16.000000000 +0200
++++ -	2023-06-28 11:11:32.902678412 +0200
+@@ -1,5 +1,6 @@
+ # Module path
+ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/modules)
++include(CMakeFindDependencyMacro)
+ 
+ # Depend packages
+ @_gRPC_FIND_ZLIB@
+--- a/CMakeLists.txt	2023-07-11 08:54:22.009027477 +0200
++++ -	2023-07-11 08:54:38.950947984 +0200
+@@ -12375,6 +12375,8 @@
+   ${_gRPC_ZLIB_LIBRARIES}
+   ${_gRPC_ALLTARGETS_LIBRARIES}
+   grpc_plugin_support
++  absl::hash
++  absl::raw_hash_set
+ )
+ 
+ 
diff --git a/srcpkgs/grpc/patches/revert-find-protobuf.patch b/srcpkgs/grpc/patches/revert-find-protobuf.patch
new file mode 100644
index 000000000000..6001f37c6b1b
--- /dev/null
+++ b/srcpkgs/grpc/patches/revert-find-protobuf.patch
@@ -0,0 +1,23 @@
+Use the old cmake provided FindProtobuf() implementation for now.
+A future cmake update will remove this module, but use it for now until
+all packages are updated to the new system
+---
+--- a/cmake/protobuf.cmake	2023-06-14 22:21:16.000000000 +0200
++++ -	2023-07-10 21:05:41.114443796 +0200
+@@ -55,7 +55,7 @@
+     set(gRPC_INSTALL FALSE)
+   endif()
+ elseif(gRPC_PROTOBUF_PROVIDER STREQUAL "package")
+-  find_package(Protobuf REQUIRED CONFIG)
++  find_package(Protobuf REQUIRED)
+ 
+   if(Protobuf_FOUND OR PROTOBUF_FOUND)
+     if(TARGET protobuf::${_gRPC_PROTOBUF_LIBRARY_NAME})
+@@ -86,6 +86,6 @@
+         set(_gRPC_PROTOBUF_PROTOC_EXECUTABLE ${PROTOBUF_PROTOC_EXECUTABLE})
+       endif()
+     endif()
+-    set(_gRPC_FIND_PROTOBUF "find_dependency(Protobuf CONFIG)")
++    set(_gRPC_FIND_PROTOBUF "find_dependency(Protobuf)")
+   endif()
+ endif()
diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index f9d197a1c354..9c58c2509bee 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -1,14 +1,13 @@
 # Template file for 'grpc'
 pkgname=grpc
-version=1.49.1
-revision=3
+version=1.56.0
+revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON
  -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package
  -DgRPC_SSL_PROVIDER=package -DgRPC_ZLIB_PROVIDER=package
- -DgRPC_ABSL_PROVIDER=package -D_gRPC_RE2_LIBRARIES=-lre2
- -D_gRPC_RE2_INCLUDE_DIR=${XBPS_CROSS_BASE}/usr/include"
-hostmakedepends="which protobuf"
+ -DgRPC_ABSL_PROVIDER=package -DgRPC_RE2_PROVIDER=package"
+hostmakedepends="protobuf pkg-config"
 _devel_depends="c-ares-devel re2-devel zlib-devel openssl-devel abseil-cpp-devel"
 makedepends="libprotoc-devel protobuf-devel gperftools-devel ${_devel_depends}"
 short_desc="High performance, open source, general RPC framework"
@@ -16,11 +15,12 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://github.com/grpc/grpc"
 distfiles="${homepage}/archive/v${version}/${pkgname}-${version}.tar.gz"
-checksum=5071b630e2a14707ad060636990f1b25b0984bd168c7ea1ab95e48a3bdc0081f
+checksum=e034992a0b464042021f6d440f2090acc2422c103a322b0844e3921ccea981dc
 
 if [ "$CROSS_BUILD" ]; then
 	# need host grpc_cpp_plugin
 	hostmakedepends+=" grpc"
+	configure_args+=" -DProtobuf_PROTOC_EXECUTABLE=/usr/bin/protoc"
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
@@ -38,7 +38,8 @@ libgrpc_package() {
 
 grpc-devel_package() {
 	short_desc+=" - development files"
-	depends="${sourcepkg}>=${version}_${revision} ${_devel_depends}"
+	depends="${sourcepkg}>=${version}_${revision} ${_devel_depends}
+	 protobuf-devel"
 	pkg_install() {
 		vmove usr/include
 		vmove usr/lib/*.so

From 1b9f9f8775b66c8e94f0cd621070940368f4a271 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:40:13 +0200
Subject: [PATCH 09/35] protobuf: update to 23.4.

- switch to cmake buildstyle
- grpc needs the .cmake files to find protobuf
- newer version of protobuf will drop autoconf
---
 common/shlibs             |  6 ++---
 srcpkgs/protobuf/template | 46 ++++++++++++++-------------------------
 2 files changed, 19 insertions(+), 33 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 5adfa4d6e69f..3cd47fb4f486 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3115,9 +3115,9 @@ libm17n-flt.so.0 m17n-lib-1.7.0_1
 libm17n-gui.so.0 m17n-lib-1.7.0_1
 libm17n-core.so.0 m17n-lib-1.7.0_1
 libm17n.so.0 m17n-lib-1.7.0_1
-libprotobuf-lite.so.32 libprotobuf-lite-21.4_1
-libprotoc.so.32 libprotoc-21.4_1
-libprotobuf.so.32 libprotobuf-21.4_1
+libprotobuf-lite.so.23.4.0 libprotobuf-lite-23.4_1
+libprotoc.so.23.4.0 libprotoc-23.4_1
+libprotobuf.so.23.4.0 libprotobuf-23.4_1
 libsombok.so.3 sombok-2.4.0_1
 libdeviceclient.so.0 pragha-1.3.3_1
 libykclient.so.3 ykclient-2.15_1
diff --git a/srcpkgs/protobuf/template b/srcpkgs/protobuf/template
index 571f06487c85..91324a4da612 100644
--- a/srcpkgs/protobuf/template
+++ b/srcpkgs/protobuf/template
@@ -1,22 +1,22 @@
 # Template file for 'protobuf'
 pkgname=protobuf
-version=21.12
+version=23.4
 revision=1
-create_wrksrc="yes"
-build_wrksrc="${pkgname}-${version}"
-build_style=gnu-configure
-hostmakedepends="pkg-config automake libtool"
-makedepends="zlib-devel"
+build_style=cmake
+hostmakedepends="pkg-config"
+configure_args="-Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_USE_EXTERNAL_GTEST=ON
+ -Dprotobuf_BUILD_LIBPROTOC=ON -Dprotobuf_ABSL_PROVIDER=package"
+# XXX: Tests require that the abseil-cpp provides absl::scoped_mock_log
+configure_args+=" -Dprotobuf_BUILD_TESTS=OFF"
+makedepends="zlib-devel gtest-devel libatomic-devel
+ abseil-cpp-devel"
 short_desc="Protocol buffers compiler"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
 changelog="https://raw.githubusercontent.com/google/protobuf/master/CHANGES.txt"
-_googletest_commit="5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081"
-distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz
- https://github.com/google/googletest/archive/${_googletest_commit}.tar.gz"
-checksum="22fdaf641b31655d4b2297f9981fa5203b2866f8332d3c6333f6b0107bb320de
- 0e2f36e8e403c125fd0ab02171bdb786d3b6b3875b6ccf3b2eb7969be8faecd0"
+distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz"
+checksum=a700a49470d301f1190a487a923b5095bf60f08f4ae4cac9f5f7c36883d17971
 
 # Switch to versioned package
 conflicts="protobuf18>=0 protobuf23>=0 protobuf24>=0
@@ -26,24 +26,11 @@ replaces="${conflicts}"
 if [ "$CROSS_BUILD" ]; then
 	# needs host protoc
 	hostmakedepends+=" ${pkgname}"
-	configure_args+=" --with-protoc=/usr/bin/protoc"
+	configure_args+=" -Dprotobuf_PROTOC_EXE=/usr/bin/protoc"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-	LDFLAGS+=" -latomic"
-fi
-
-post_extract() {
-	rmdir "${build_wrksrc}/third_party/googletest"
-	mv "googletest-${_googletest_commit}" "${build_wrksrc}/third_party/googletest"
-}
-
-pre_configure() {
-	autoreconf -fi
-}
-
 post_install() {
+	rm -rf "${DESTDIR}/usr/lib/cmake"
 	vlicense LICENSE
 }
 
@@ -80,7 +67,6 @@ libprotoc-devel_package() {
 	 libprotoc26-devel>=0 libprotoc28-devel>=0"
 	replaces="${conflicts}"
 	pkg_install() {
-		vmove usr/lib/libprotoc.a
 		vmove usr/lib/libprotoc.so
 		vmove usr/include/google/protobuf/compiler
 	}
@@ -89,7 +75,8 @@ libprotoc-devel_package() {
 protobuf-devel_package() {
 	depends="zlib-devel
 	 libprotobuf-${version}_${revision}
-	 libprotobuf-lite-${version}_${revision}"
+	 libprotobuf-lite-${version}_${revision}
+	 abseil-cpp-devel"
 	short_desc="Protocol buffers C++ library - development files"
 	# Switch to versioned package
 	conflicts="protobuf18-devel>=0 protobuf23-devel>=0
@@ -98,10 +85,9 @@ protobuf-devel_package() {
 	replaces="${conflicts}"
 	pkg_install() {
 		vmove usr/include
-		vmove usr/lib/libprotobuf.a
-		vmove usr/lib/libprotobuf-lite.a
 		vmove usr/lib/libprotobuf.so
 		vmove usr/lib/libprotobuf-lite.so
 		vmove usr/lib/pkgconfig
+		vmove "usr/lib/*.a"
 	}
 }

From 4ca026ab0fc4b66fba4ea5bfcbb04de792e294c3 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 10/35] EternalTerminal: rebuild against protobuf-23.3_1

---
 srcpkgs/EternalTerminal/patches/limits.patch | 10 ++++++++++
 srcpkgs/EternalTerminal/template             |  2 +-
 2 files changed, 11 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/EternalTerminal/patches/limits.patch

diff --git a/srcpkgs/EternalTerminal/patches/limits.patch b/srcpkgs/EternalTerminal/patches/limits.patch
new file mode 100644
index 000000000000..9226bd45001a
--- /dev/null
+++ b/srcpkgs/EternalTerminal/patches/limits.patch
@@ -0,0 +1,10 @@
+--- a/EternalTerminal/external_imported/cxxopts/include/cxxopts.hpp	2022-05-05 17:20:44.000000000 +0200
++++ -	2023-07-10 20:07:25.607948589 +0200
+@@ -37,6 +37,7 @@
+ #include <unordered_map>
+ #include <unordered_set>
+ #include <vector>
++#include <limits>
+ 
+ #ifdef __cpp_lib_optional
+ #include <optional>
diff --git a/srcpkgs/EternalTerminal/template b/srcpkgs/EternalTerminal/template
index 1017a1b4a1ec..156eab6ce47e 100644
--- a/srcpkgs/EternalTerminal/template
+++ b/srcpkgs/EternalTerminal/template
@@ -1,7 +1,7 @@
 # Template file for 'EternalTerminal'
 pkgname=EternalTerminal
 version=6.2.1
-revision=1
+revision=2
 # revisions used for the specific versions of submodules.
 # they can be found in the external/ directory of the source code.
 _sanitizers_gitrev="99e159ec9bc8dd362b08d18436bd40ff0648417b"

From d2b1ca8825e1f07cb6c77c8e458f5e13b0d58e35 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 11/35] vlc: rebuild against protobuf-23.3_1

---
 srcpkgs/vlc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vlc/template b/srcpkgs/vlc/template
index 210762b0a7e2..651c94a1353a 100644
--- a/srcpkgs/vlc/template
+++ b/srcpkgs/vlc/template
@@ -1,7 +1,7 @@
 # Template file for 'vlc'
 pkgname=vlc
 version=3.0.18
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--disable-gme --disable-libtar --enable-jack
  --enable-live555 --disable-fluidsynth --enable-dvdread

From 7d9411e3c18ecc2aa77408330e840965f4f4664c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 12/35] mixxx: rebuild against protobuf-23.3_1

---
 srcpkgs/mixxx/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mixxx/template b/srcpkgs/mixxx/template
index 619ddca0d332..4b9ea00d3fb3 100644
--- a/srcpkgs/mixxx/template
+++ b/srcpkgs/mixxx/template
@@ -1,7 +1,7 @@
 # Template file for 'mixxx'
 pkgname=mixxx
 version=2.3.3
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="extra-cmake-modules pkg-config protobuf qt5-host-tools qt5-devel"

From 4fe4b5459c8ebe10454bfa79e0218ae3f7171a37 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 13/35] telegram-desktop: rebuild against protobuf-23.3_1

---
 srcpkgs/telegram-desktop/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/telegram-desktop/template b/srcpkgs/telegram-desktop/template
index f114b2341dc5..9db9f80c1a53 100644
--- a/srcpkgs/telegram-desktop/template
+++ b/srcpkgs/telegram-desktop/template
@@ -1,7 +1,7 @@
 # Template file for 'telegram-desktop'
 pkgname=telegram-desktop
 version=4.8.1
-revision=3
+revision=4
 build_style=cmake
 build_helper="qemu"
 configure_args="-DTDESKTOP_API_ID=209235

From 33c5a47722324ca848014b23eb82d72725b8d31b Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:56 +0200
Subject: [PATCH 14/35] usbguard: rebuild against protobuf-23.3_1

---
 srcpkgs/usbguard/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/usbguard/template b/srcpkgs/usbguard/template
index 8625c80a7eda..df4411202568 100644
--- a/srcpkgs/usbguard/template
+++ b/srcpkgs/usbguard/template
@@ -1,7 +1,7 @@
 # Template file for 'usbguard'
 pkgname=usbguard
 version=1.1.2
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-crypto-library=sodium --with-bundled-catch --with-bundled-pegtl"
 conf_files="/etc/usbguard/*"

From 38073ea7aa77731072d95999babc3acf1f74ef04 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 15/35] nsjail: rebuild against protobuf-23.3_1

---
 srcpkgs/nsjail/patches/cpp17.patch       | 11 +++++++++
 srcpkgs/nsjail/patches/kafel-bison.patch | 30 ------------------------
 srcpkgs/nsjail/patches/ldflags.patch     | 11 +++++++++
 srcpkgs/nsjail/patches/log.patch         | 24 +++++++++++++++++++
 srcpkgs/nsjail/template                  | 13 +++++-----
 5 files changed, 53 insertions(+), 36 deletions(-)
 create mode 100644 srcpkgs/nsjail/patches/cpp17.patch
 delete mode 100644 srcpkgs/nsjail/patches/kafel-bison.patch
 create mode 100644 srcpkgs/nsjail/patches/ldflags.patch
 create mode 100644 srcpkgs/nsjail/patches/log.patch

diff --git a/srcpkgs/nsjail/patches/cpp17.patch b/srcpkgs/nsjail/patches/cpp17.patch
new file mode 100644
index 000000000000..384ff7b51258
--- /dev/null
+++ b/srcpkgs/nsjail/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/Makefile	2022-11-22 22:25:15.000000000 +0100
++++ -	2023-07-08 16:35:16.308351723 +0200
+@@ -32,7 +32,7 @@
+ 	-Ikafel/include
+ 
+ CXXFLAGS += $(USER_DEFINES) $(COMMON_FLAGS) $(shell pkg-config --cflags protobuf) \
+-	-std=c++14 -fno-exceptions -Wno-unused -Wno-unused-parameter
++	-std=c++17 -fno-exceptions -Wno-unused -Wno-unused-parameter
+ LDFLAGS += -pie -Wl,-z,noexecstack -lpthread $(shell pkg-config --libs protobuf)
+ 
+ BIN = nsjail
diff --git a/srcpkgs/nsjail/patches/kafel-bison.patch b/srcpkgs/nsjail/patches/kafel-bison.patch
deleted file mode 100644
index 48eff0d36369..000000000000
--- a/srcpkgs/nsjail/patches/kafel-bison.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 32768d3cc8cecbc30d9020dbfa8d9ec541d057e4 Mon Sep 17 00:00:00 2001
-From: Evangelos Foutras <evangelos@foutrelis.com>
-Date: Wed, 17 Mar 2021 16:36:40 +0200
-Subject: [PATCH] Replace YYUSE call with void cast in src/parser.y
-
-The YYUSE macro was renamed to YY_USE in bison 3.7.5; we might as well
-avoid using it altogether and cast the unused variable to void instead.
-
-Fixes the following linker error:
-
-/usr/bin/ld: kafel/libkafel.a(libkafel.o): in function `kafel_yyerror':
-arm_syscalls.c:(.text+0x6984): undefined reference to `YYUSE'
----
- src/parser.y | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git kafel/src/parser.y kafel/src/parser.y
-index e0f109c..0e01373 100644
---- a/kafel/src/parser.y
-+++ b/kafel/src/parser.y
-@@ -420,8 +420,8 @@ const_def
- 
- void yyerror(YYLTYPE * loc, struct kafel_ctxt* ctxt, yyscan_t scanner,
-              const char *msg) {
-+  (void)scanner; /* suppress unused-parameter warning */
-   if (!ctxt->lexical_error) {
--    YYUSE(scanner);
-     if (loc->filename != NULL) {
-       append_error(ctxt, "%s:%d:%d: %s", loc->filename, loc->first_line, loc->first_column, msg);
-     } else {
diff --git a/srcpkgs/nsjail/patches/ldflags.patch b/srcpkgs/nsjail/patches/ldflags.patch
new file mode 100644
index 000000000000..c039ea09e237
--- /dev/null
+++ b/srcpkgs/nsjail/patches/ldflags.patch
@@ -0,0 +1,11 @@
+--- a/kafel/src/Makefile	2023-07-08 16:40:45.058218240 +0200
++++ -	2023-07-08 16:54:04.459715051 +0200
+@@ -56,7 +56,7 @@
+ 	$(CC) $(CFLAGS) -Wl,-soname,$@.${VERSION} -shared $^ -o $@
+ 
+ ${STATIC_TARGET}: ${OBJECTS}
+-	$(LD) $(LDFLAGS) -r ${OBJECTS} -o libkafel_r.o
++	$(LD) -r ${OBJECTS} -o libkafel_r.o
+ 	# Fix x86 PIC symbols
+ 	$(OBJDUMP) -t libkafel_r.o | grep '.hidden' | grep -v 'get_pc_thunk' | sed -e 's/^.*\.hidden //' > libkafel.localize_symbols
+ 	$(OBJCOPY) -w --localize-symbols=libkafel.localize_symbols libkafel_r.o libkafel.o
diff --git a/srcpkgs/nsjail/patches/log.patch b/srcpkgs/nsjail/patches/log.patch
new file mode 100644
index 000000000000..9e7f12368076
--- /dev/null
+++ b/srcpkgs/nsjail/patches/log.patch
@@ -0,0 +1,24 @@
+diff --git a/config.cc b/config.cc
+index 5242ba4..bbb2b6d 100644
+--- a/config.cc
++++ b/config.cc
+@@ -302,11 +302,6 @@ static bool configParseInternal(nsjconf_t* nsjconf, const nsjail::NsJailConfig&
+ 	return true;
+ }
+ 
+-static void LogHandler(
+-    google::protobuf::LogLevel level, const char* filename, int line, const std::string& message) {
+-	LOG_W("config.cc: '%s'", message.c_str());
+-}
+-
+ bool parseFile(nsjconf_t* nsjconf, const char* file) {
+ 	LOG_D("Parsing configuration from '%s'", file);
+ 
+@@ -316,7 +311,6 @@ bool parseFile(nsjconf_t* nsjconf, const char* file) {
+ 		return false;
+ 	}
+ 
+-	SetLogHandler(LogHandler);
+ 	google::protobuf::io::FileInputStream input(fd);
+ 	input.SetCloseOnDelete(true);
+ 
diff --git a/srcpkgs/nsjail/template b/srcpkgs/nsjail/template
index 346348fdf17b..5c5d0a508f38 100644
--- a/srcpkgs/nsjail/template
+++ b/srcpkgs/nsjail/template
@@ -1,7 +1,7 @@
 # Template file for 'nsjail'
 pkgname=nsjail
-version=3.0
-revision=9
+version=3.3
+revision=1
 create_wrksrc=yes
 build_style=gnu-makefile
 hostmakedepends="bison flex pkg-config protobuf which"
@@ -11,9 +11,9 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="http://nsjail.com"
 distfiles="https://github.com/google/nsjail/archive/${version}.tar.gz
- https://github.com/google/kafel/archive/8e69b8efae415cde3debffbb1e379d9e7a16835a.tar.gz"
-checksum="cfa66d3ed136b2e221752287b95e544915e8a6760aa866f023b604d14a374919
- 4a6c9a1a70ed99bbed767adc106081b017a3090307ea88cc7e329b82daa1373b"
+ https://github.com/google/kafel/archive/1af0975af45ca4404f357b9a4e1636f53a01bfd3.tar.gz"
+checksum="9c247d0cba565b4e3f91cc76e827ddf7f3ad499f54ba611edd25d4d7be4890c3
+ e8c195a2a08daa70c7712adae3eaa01656b039dcc8cc1e5e8210006716761ad5"
 
 archs="aarch64* armv5tel* armv6l* armv7l* x86_64*"
 
@@ -28,7 +28,8 @@ post_extract() {
 }
 
 post_patch() {
-	sed -i -e 's/-Werror\b//g' -e 's/\b\(\(C\(XX\)\?\|LD\)FLAGS\s*+=\)/override \1/g' Makefile kafel/build/Makefile.mk kafel/src/Makefile
+	vsed -e 's/-Werror\b//g' -i Makefile kafel/build/Makefile.mk
+	vsed -e 's/\b\(\(C\(XX\)\?\|LD\)FLAGS\s*+=\)/override \1/g' -i Makefile kafel/build/Makefile.mk kafel/src/Makefile
 }
 
 do_install() {

From 807fd4123613815e6476082234ccc611f28c5e7c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 16/35] netdata: rebuild against protobuf-23.3_1

---
 srcpkgs/netdata/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 18dbe4394a4e..781120b3f275 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -1,7 +1,7 @@
 # Template file for 'netdata'
 pkgname=netdata
 version=1.37.1
-revision=1
+revision=2
 build_style=gnu-configure
 build_helper=qemu
 configure_args="--with-user=_netdata ac_cv_file_externaldeps_libbpf_libbpf_a=no

From bc648e9aab755facc83a6383a23a2232b89416d3 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 17/35] mumble: rebuild against protobuf-23.3_1

---
 srcpkgs/mumble/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/mumble/patches/musl.patch  | 14 ++++++++++++++
 srcpkgs/mumble/template            |  2 +-
 3 files changed, 26 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/mumble/patches/cpp17.patch
 create mode 100644 srcpkgs/mumble/patches/musl.patch

diff --git a/srcpkgs/mumble/patches/cpp17.patch b/srcpkgs/mumble/patches/cpp17.patch
new file mode 100644
index 000000000000..7cb9c9a93355
--- /dev/null
+++ b/srcpkgs/mumble/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- mumble-1.4.287/CMakeLists.txt	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-07-10 20:12:27.869019033 +0200
+@@ -35,7 +35,7 @@
+ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/3rdparty")
+ set(PLUGINS_DIR "${CMAKE_SOURCE_DIR}/plugins")
+ 
+-set(CMAKE_CXX_STANDARD 14)
++set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_OSX_DEPLOYMENT_TARGET 10.13)
+ 
+ list(APPEND CMAKE_MODULE_PATH
diff --git a/srcpkgs/mumble/patches/musl.patch b/srcpkgs/mumble/patches/musl.patch
new file mode 100644
index 000000000000..49d83a422b8e
--- /dev/null
+++ b/srcpkgs/mumble/patches/musl.patch
@@ -0,0 +1,14 @@
+Newer musl expands NULL to nullptr, which is not a bool.
+Either way, the check is always true with openssl 1.1+, so it can probably removed alltogether
+---
+--- mumble-1.4.287/src/SSL.cpp	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-02-07 22:18:16.093759105 +0100
+@@ -33,7 +34,7 @@
+ 	// If we detect that no locking callback is configured, we
+ 	// have to set it up ourselves to allow multi-threaded use
+ 	// of OpenSSL.
+-	if (!CRYPTO_get_locking_callback()) {
++	if (CRYPTO_get_locking_callback() == NULL) {
+ 		SSLLocks::initialize();
+ 	}
+ }
diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 35c2728c74ce..5c30d4ae64b4 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.4.287
-revision=3
+revision=4
 build_style=cmake
 make_cmd=make
 configure_args="-Doverlay-xcompile=OFF -Dbundled-opus=OFF

From 50446c5ad3b5d85316c1b17f1c89f68a5dbf5f4b Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 18/35] mumble: rebuild against protobuf-23.3_1

---
 srcpkgs/mumble/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 5c30d4ae64b4..3dc669705365 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.4.287
-revision=4
+revision=5
 build_style=cmake
 make_cmd=make
 configure_args="-Doverlay-xcompile=OFF -Dbundled-opus=OFF

From 7633bb18ee379448929265aeed15d55ac0b49479 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 19/35] mozc: statically link against vendored prootbuf

protobuf 23+ links against abseil, which conflicts with the vendored
abseil version in mozc. The build system does not have a flag to use
system abseil.
---
 srcpkgs/mozc/template | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/mozc/template b/srcpkgs/mozc/template
index 3fdb986b3213..e7735cb57f4f 100644
--- a/srcpkgs/mozc/template
+++ b/srcpkgs/mozc/template
@@ -3,16 +3,17 @@ pkgname=mozc
 # src/data/version/mozc_version_template.bzl
 # revision is always 102, template always says 100 ;)
 version=2.28.4800.102
-revision=1
+revision=2
 _commit=056163a5fddbb261b258beb8444998e4882f0cc5
 _abseil=20211102.0
+_protobuf_commit=cc7b1b53234cd7a8f50d90ac3933b240dcf4cd97
 _gyp=0.1+20220404git9ecf45e
 _jpn_dict=e5b3425575734c323e1d947009dd74709437b684
 create_wrksrc=yes
 build_wrksrc=mozc/src
-hostmakedepends="gettext ninja pkg-config protobuf protobuf-devel
+hostmakedepends="gettext ninja pkg-config
  python3-six which qt5-qmake qt5-host-tools"
-makedepends="gtk+-devel ibus-devel libzinnia-devel protobuf-devel qt5-devel
+makedepends="gtk+-devel ibus-devel libzinnia-devel qt5-devel
  fcitx-devel libfcitx5-devel"
 depends="tegaki-zinnia-japanese>=0.3 mozc-base-${version}_${revision}"
 short_desc="Japanese IME (Open Source version of Google Japanese Input)"
@@ -22,11 +23,13 @@ homepage="https://github.com/google/mozc"
 distfiles="
  https://github.com/fcitx/mozc/archive/$_commit.tar.gz
  https://github.com/abseil/abseil-cpp/archive/refs/tags/$_abseil.tar.gz
+ https://github.com/protocolbuffers/protobuf/archive/$_protobuf_commit.tar.gz
  ${DEBIAN_SITE}/main/g/gyp/gyp_$_gyp.orig.tar.xz
  https://github.com/hiroyuki-komatsu/japanese-usage-dictionary/archive/$_jpn_dict.tar.gz
 "
 checksum="259d87bfd7535ad03bd554185677d7345a90166353a6db0b6a3606183ad2923d
  dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4
+ 863e27f6d24f40bce2bbfe5adcf365f2af5479ea917f254331ee60ce88f8c8a5
  0325006f012db66dfa27bf7bb048f3fe38f96e512ebe065930cbc70bcdc06bc9
  0b6efee0eebac2c1a8eeea333278aa40fcef7846bba9a379962c6e567e7e3dc1"
 
@@ -47,7 +50,8 @@ post_extract() {
 	# symlink "submodules" into place
 	for _src_dest in gyp \
 		abseil-cpp \
-		japanese-usage-dictionary:japanese_usage_dictionary
+		japanese-usage-dictionary:japanese_usage_dictionary \
+		protobuf
 	do
 		_src=${_src_dest%:*}
 		_dst=${_src_dest#*:}
@@ -61,7 +65,6 @@ do_configure() {
 	GYP_DEFINES="
 	 document_dir=/usr/share/licenses/${pkgname}
 	 ibus_mozc_path=/usr/libexec/ibus-engine-mozc
-	 use_libprotobuf=1
 	 use_libzinnia=1
 	 ${XBPS_TARGET_NO_ATOMIC8:+use_libatomic=1}
 	" python3 build_mozc.py gyp --target_platform=Linux

From 112c6d4fb1bbfeef75f6771520bf29578930b9d0 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 20/35] mosh: rebuild against protobuf-23.3_1

---
 srcpkgs/mosh/patches/cpp17.patch | 14 ++++++++++++++
 srcpkgs/mosh/template            |  5 +++--
 2 files changed, 17 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/mosh/patches/cpp17.patch

diff --git a/srcpkgs/mosh/patches/cpp17.patch b/srcpkgs/mosh/patches/cpp17.patch
new file mode 100644
index 000000000000..5463adc2718b
--- /dev/null
+++ b/srcpkgs/mosh/patches/cpp17.patch
@@ -0,0 +1,14 @@
+--- a/configure.ac	2022-10-27 05:29:47.000000000 +0200
++++ -	2023-07-08 13:19:05.270079012 +0200
+@@ -22,9 +22,9 @@
+ # automake 1.12 seems to require this, but automake 1.11 doesn't recognize it
+ m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+ 
+-# Protobuf 3.6+ requires C++11.
++# Protobuf 3.6+ requires C++11., 4.2.2 with abseil requires C++17
+ AS_IF([pkg-config --atleast-version 3.6.0 protobuf],
+-  [AX_CXX_COMPILE_STDCXX([11])])
++  [AX_CXX_COMPILE_STDCXX([17])])
+ 
+ WARNING_CXXFLAGS=""
+ PICKY_CXXFLAGS=""
diff --git a/srcpkgs/mosh/template b/srcpkgs/mosh/template
index 173ba14bcd47..d252a0c29755 100644
--- a/srcpkgs/mosh/template
+++ b/srcpkgs/mosh/template
@@ -1,9 +1,9 @@
 # Template file for 'mosh'
 pkgname=mosh
 version=1.4.0
-revision=3
+revision=4
 build_style=gnu-configure
-hostmakedepends="perl pkg-config protobuf"
+hostmakedepends="perl pkg-config protobuf autoconf automake"
 makedepends="ncurses-devel protobuf-devel libutempter-devel openssl-devel"
 depends="perl-IO-Tty"
 short_desc="Mobile shell, remote terminal application that allows roaming"
@@ -16,4 +16,5 @@ checksum=872e4b134e5df29c8933dff12350785054d2fd2839b5ae6b5587b14db1465ddd
 pre_configure() {
 	# make local.test always succeed. It fails due to missing X server in chroot.
 	printf "%s\n" "#!/bin/sh" ":" > src/tests/local.test
+	autoreconf -fi
 }

From 97b811e4babc026de088e94f61fa7f877cdc4cf6 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 21/35] libcompizconfig: rebuild against protobuf-23.3_1

---
 srcpkgs/libcompizconfig/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libcompizconfig/template b/srcpkgs/libcompizconfig/template
index 5b59eda97c78..3fb33698bfa6 100644
--- a/srcpkgs/libcompizconfig/template
+++ b/srcpkgs/libcompizconfig/template
@@ -1,7 +1,7 @@
 # Template file for 'libcompizconfig'
 pkgname=libcompizconfig
 version=0.8.18
-revision=10
+revision=11
 build_style=gnu-configure
 configure_args="--disable-static"
 hostmakedepends="automake intltool libtool pkg-config protobuf"

From b866fea37ff75bcb90eec809601bc3432df6175c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 22/35] libArcus: rebuild against protobuf-23.3_1

---
 srcpkgs/libArcus/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libArcus/template b/srcpkgs/libArcus/template
index d6fedecc5599..1cf1b866d650 100644
--- a/srcpkgs/libArcus/template
+++ b/srcpkgs/libArcus/template
@@ -1,7 +1,7 @@
 # Template file for 'libArcus'
 pkgname=libArcus
 version=4.13.1
-revision=4
+revision=5
 build_style=cmake
 configure_args="-DBUILD_EXAMPLES=OFF"
 hostmakedepends="protobuf python3-sip-devel"

From d7abbc97e26dd809d5d470c9f718e549655a3463 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 23/35] kismet: rebuild against protobuf-23.3_1

---
 srcpkgs/kismet/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/kismet/template b/srcpkgs/kismet/template
index 48a0fc5fa6f1..46cbf7b31811 100644
--- a/srcpkgs/kismet/template
+++ b/srcpkgs/kismet/template
@@ -1,7 +1,7 @@
 # Template file for 'kismet'
 pkgname=kismet
 version=2022.08.R1
-revision=2
+revision=3
 _realver="${version//./-}"
 build_style=gnu-configure
 configure_args="--disable-python-tools"

From 0f5b1008027a32b90fe6eae5bed8f4084a08cb38 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 24/35] cura-engine: rebuild against protobuf-23.3_1

---
 srcpkgs/cura-engine/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cura-engine/template b/srcpkgs/cura-engine/template
index 4f3118d30252..1f23ddace749 100644
--- a/srcpkgs/cura-engine/template
+++ b/srcpkgs/cura-engine/template
@@ -1,7 +1,7 @@
 # Template file for 'cura-engine'
 pkgname=cura-engine
 version=4.13.1
-revision=3
+revision=4
 build_style=cmake
 configure_args="-DCURA_ENGINE_VERSION=${version}"
 hostmakedepends="protobuf git"

From c51500905cc202708ff6c2b67560509ce474adc0 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 25/35] clementine: rebuild against protobuf-23.3_1

---
 srcpkgs/clementine/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/clementine/template b/srcpkgs/clementine/template
index acd098124529..a1cacbb73d8e 100644
--- a/srcpkgs/clementine/template
+++ b/srcpkgs/clementine/template
@@ -1,11 +1,11 @@
 # Template file for 'clementine'
 pkgname=clementine
 version=1.4.0rc1
-revision=10
+revision=11
 _fullver=${version}-873-g3471134d5
 build_style=cmake
 configure_args="-DUSE_SYSTEM_TAGLIB=ON -DBUILD_WERROR=OFF -DUSE_SYSTEM_PROJECTM=ON
- -DFORCE_GIT_REVISION=${_fullver}"
+ -DFORCE_GIT_REVISION=${_fullver} -DCMAKE_CXX_STANDARD=17"
 hostmakedepends="gettext sparsehash pkg-config qt5-qmake qt5-host-tools protobuf"
 makedepends="chromaprint-devel boost-devel gst-plugins-base1-devel
  qt5-devel glew-devel sqlite-devel protobuf-devel libplist-devel

From 7d62de8a872895bf94d64c629e2142ee6c9ece23 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 26/35] bloaty: rebuild against protobuf-23.3_1

---
 srcpkgs/bloaty/patches/cpp17.patch         | 20 ++++++++
 srcpkgs/bloaty/patches/system-abseil.patch | 58 ++++++++++++++++++++++
 srcpkgs/bloaty/template                    |  2 +-
 3 files changed, 79 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/bloaty/patches/cpp17.patch
 create mode 100644 srcpkgs/bloaty/patches/system-abseil.patch

diff --git a/srcpkgs/bloaty/patches/cpp17.patch b/srcpkgs/bloaty/patches/cpp17.patch
new file mode 100644
index 000000000000..ca458dd79fb6
--- /dev/null
+++ b/srcpkgs/bloaty/patches/cpp17.patch
@@ -0,0 +1,20 @@
+--- bloaty-1.1/CMakeLists.txt	2020-05-24 06:43:55.000000000 +0200
++++ -	2023-07-08 12:51:24.115742363 +0200
+@@ -2,7 +2,7 @@
+ cmake_policy(SET CMP0048 NEW)
+ project (Bloaty VERSION 1.0)
+ project (Bloaty VERSION 1.1)
+-set(CMAKE_CXX_STANDARD 11)
++set(CMAKE_CXX_STANDARD 17)
+ 
+ # Options we define for users.
+ option(BLOATY_ENABLE_ASAN "Enable address sanitizer." OFF)
+@@ -93,7 +93,7 @@
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/src")
+ 
+ # Baseline build flags.
+-set(CMAKE_CXX_FLAGS "-std=c++11 -W -Wall -Wno-sign-compare")
++set(CMAKE_CXX_FLAGS "-W -Wall -Wno-sign-compare")
+ set(CMAKE_CXX_FLAGS_DEBUG "-g1")
+ set(CMAKE_CXX_FLAGS_RELEASE "-O2")
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g1")
diff --git a/srcpkgs/bloaty/patches/system-abseil.patch b/srcpkgs/bloaty/patches/system-abseil.patch
new file mode 100644
index 000000000000..799e10a3b540
--- /dev/null
+++ b/srcpkgs/bloaty/patches/system-abseil.patch
@@ -0,0 +1,58 @@
+--- bloaty-1.1/CMakeLists.txt	2020-05-24 06:43:55.000000000 +0200
++++ -	2023-07-08 13:07:06.559266321 +0200
+@@ -35,6 +35,12 @@
+   MESSAGE(STATUS "pkg-config not found, using bundled dependencies")
+ endif(${PKG_CONFIG_FOUND})
+ endif(UNIX)
++find_package(absl CONFIG)
++if(absl_FOUND)
++  MESSAGE(STATUS "System absl found, using")
++else()
++  MESSAGE(STATUS "System absl not found, using bundled version")
++endif()
+ 
+ # Set default build type.
+ if(NOT CMAKE_BUILD_TYPE)
+@@ -89,7 +95,6 @@
+ 
+ include_directories(.)
+ include_directories(src)
+-include_directories(third_party/abseil-cpp)
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/src")
+ 
+ # Baseline build flags.
+@@ -159,24 +164,6 @@
+     src/macho.cc
+     src/range_map.cc
+     src/webassembly.cc
+-    # Until Abseil has a proper CMake build system
+-    third_party/abseil-cpp/absl/base/internal/raw_logging.cc # Grrrr...
+-    third_party/abseil-cpp/absl/base/internal/throw_delegate.cc
+-    third_party/abseil-cpp/absl/numeric/int128.cc
+-    third_party/abseil-cpp/absl/strings/ascii.cc
+-    third_party/abseil-cpp/absl/strings/charconv.cc
+-    third_party/abseil-cpp/absl/strings/escaping.cc
+-    third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc
+-    third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc
+-    third_party/abseil-cpp/absl/strings/internal/memutil.cc
+-    third_party/abseil-cpp/absl/strings/internal/utf8.cc
+-    third_party/abseil-cpp/absl/strings/match.cc
+-    third_party/abseil-cpp/absl/strings/numbers.cc
+-    third_party/abseil-cpp/absl/strings/str_cat.cc
+-    third_party/abseil-cpp/absl/strings/string_view.cc
+-    third_party/abseil-cpp/absl/strings/str_split.cc
+-    third_party/abseil-cpp/absl/strings/substitute.cc
+-    third_party/abseil-cpp/absl/types/bad_optional_access.cc
+     # One source file, no special build system needed.
+     third_party/demumble/third_party/libcxxabi/cxa_demangle.cpp
+     )
+@@ -214,6 +201,9 @@
+   endif(${PROTOBUF_FOUND})
+ endif(UNIX)
+ 
++list(APPEND LIBBLOATY_LIBS absl::strings)
++list(APPEND LIBBLOATY_LIBS absl::optional)
++
+ if(DEFINED ENV{LIB_FUZZING_ENGINE})
+   message("LIB_FUZZING_ENGINE set, building fuzz_target instead of Bloaty")
+   add_executable(fuzz_target tests/fuzz_target.cc)
diff --git a/srcpkgs/bloaty/template b/srcpkgs/bloaty/template
index 226d2f30ffcd..2a79fb502f99 100644
--- a/srcpkgs/bloaty/template
+++ b/srcpkgs/bloaty/template
@@ -1,7 +1,7 @@
 # Template file for 'bloaty'
 pkgname=bloaty
 version=1.1
-revision=11
+revision=12
 build_style=cmake
 hostmakedepends="pkg-config protobuf"
 makedepends="capstone-devel protobuf-devel re2-devel zlib-devel"

From d41269a84c723ab8d9f2900d0b2fb31f4dd6b6b1 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 27/35] astroid: rebuild against protobuf-23.3_1

---
 srcpkgs/astroid/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/astroid/template            |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/astroid/patches/cpp17.patch

diff --git a/srcpkgs/astroid/patches/cpp17.patch b/srcpkgs/astroid/patches/cpp17.patch
new file mode 100644
index 000000000000..9ac9a9f952e6
--- /dev/null
+++ b/srcpkgs/astroid/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- astroid-0.16/CMakeLists.txt	2021-08-05 15:31:11.000000000 +0200
++++ -	2023-07-03 21:53:30.304595787 +0200
+@@ -145,7 +145,7 @@
+ # compile flags and options
+ #
+ 
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ 
+ include_directories (
+   ${GTKMM3_INCLUDE_DIRS}
diff --git a/srcpkgs/astroid/template b/srcpkgs/astroid/template
index 25d3da44e024..8fd1c032be2c 100644
--- a/srcpkgs/astroid/template
+++ b/srcpkgs/astroid/template
@@ -1,7 +1,7 @@
 # Template file for 'astroid'
 pkgname=astroid
 version=0.16
-revision=8
+revision=9
 build_style=cmake
 build_helper=gir
 hostmakedepends="pkg-config scdoc protobuf gobject-introspection"

From 87f628cb12b28814b48127cde2b8995cd26c0ce0 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 28/35] android-tools: rebuild against protobuf-23.3_1

---
 .../android-tools/patches/protobuf-23.patch   | 31 +++++++++++++++++++
 srcpkgs/android-tools/template                |  2 +-
 2 files changed, 32 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/android-tools/patches/protobuf-23.patch

diff --git a/srcpkgs/android-tools/patches/protobuf-23.patch b/srcpkgs/android-tools/patches/protobuf-23.patch
new file mode 100644
index 000000000000..21012126ea9a
--- /dev/null
+++ b/srcpkgs/android-tools/patches/protobuf-23.patch
@@ -0,0 +1,31 @@
+--- android-tools-34.0.1.orig/vendor/extras/libjsonpb/parse/jsonpb.cpp  2023-06-28 23:15:15.414236253 +0200
++++ android-tools-34.0.1/vendor/extras/libjsonpb/parse/jsonpb.cpp       2023-06-28 23:34:21.672962973 +0200
+@@ -51,7 +51,7 @@
+ #if GOOGLE_PROTOBUF_VERSION < 3016000
+     return MakeError<std::string>(status.error_message().as_string());
+ #else
+-    return MakeError<std::string>(status.message().as_string());
++    return MakeError<std::string>(std::string(status.message()));
+ #endif
+   }
+   return ErrorOr<std::string>(std::move(json));
+@@ -68,7 +68,7 @@
+ #if GOOGLE_PROTOBUF_VERSION < 3016000
+     return MakeError<std::monostate>(status.error_message().as_string());
+ #else
+-    return MakeError<std::monostate>(status.message().as_string());
++    return MakeError<std::monostate>(std::string(status.message()));
+ #endif
+   }
+   if (!message->ParseFromString(binary)) {
+--- a/vendor/CMakeLists.partition.txt	2023-03-03 17:18:50.000000000 +0100
++++ -	2023-07-10 23:06:19.290718502 +0200
+@@ -20,7 +20,7 @@
+ 
+ add_library(libjsonpbparse STATIC
+ 	extras/libjsonpb/parse/jsonpb.cpp)
+-target_link_libraries(libjsonpbparse PRIVATE libbase)
++target_link_libraries(libjsonpbparse PRIVATE libbase absl_status)
+ target_include_directories(libjsonpbparse PUBLIC
+ 	extras/libjsonpb/parse/include)
+ 
diff --git a/srcpkgs/android-tools/template b/srcpkgs/android-tools/template
index 329674482b69..b813474eace0 100644
--- a/srcpkgs/android-tools/template
+++ b/srcpkgs/android-tools/template
@@ -1,7 +1,7 @@
 # Template file for 'android-tools'
 pkgname=android-tools
 version=34.0.1
-revision=1
+revision=2
 archs="armv* aarch64* x86_64* i686* ppc64le*"
 build_style=cmake
 hostmakedepends="perl go protobuf pkg-config"

From 9122d5fd8aeac941d7b4b89547c9a4cfd8576019 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:06:25 +0200
Subject: [PATCH 29/35] justbuild: rebuild against grpc-1.56.0_1

---
 srcpkgs/justbuild/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index ee36f6dae575..f933611d1283 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
 # Template file for 'justbuild'
 pkgname=justbuild
 version=1.1.2
-revision=2
+revision=3
 create_wrksrc=yes
 hostmakedepends="jo pandoc pkg-config python3 tar unzip wget"
 makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++

From 1ced22ad0b50e7ba59e2ffdb7225a2dd5fc51e4f Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Wed, 28 Jun 2023 11:07:13 +0200
Subject: [PATCH 30/35] sysdig: update to 0.31.5.

---
 .../sysdig/files/libsinsp-absl-protobuf.patch |  11 +
 srcpkgs/sysdig/files/libsinsp-zstd.patch      |  22 +
 ...d9aab87801281e22898242e24e0bc63873b2.patch | 557 ++++++++++++++++++
 .../falcosecurity-libs-nodownload.patch       |  28 +
 srcpkgs/sysdig/template                       |  35 +-
 5 files changed, 638 insertions(+), 15 deletions(-)
 create mode 100644 srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch
 create mode 100644 srcpkgs/sysdig/files/libsinsp-zstd.patch
 create mode 100644 srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
 create mode 100644 srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch

diff --git a/srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch b/srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch
new file mode 100644
index 000000000000..387be65954e6
--- /dev/null
+++ b/srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch
@@ -0,0 +1,11 @@
+--- a/userspace/libsinsp/CMakeLists.txt	2023-06-05 10:25:32.000000000 +0200
++++ -	2023-07-11 09:03:42.496439385 +0200
+@@ -289,7 +289,7 @@
+ 	endif()
+ endif() # NOT WIN32
+ 
+-
++LIST(APPEND SINSP_LIBRARIES absl_log_internal_message absl_log_internal_nullguard)
+ target_link_libraries(sinsp ${SINSP_LIBRARIES})
+ 
+ if(APPLE)
diff --git a/srcpkgs/sysdig/files/libsinsp-zstd.patch b/srcpkgs/sysdig/files/libsinsp-zstd.patch
new file mode 100644
index 000000000000..e99e4f7c1207
--- /dev/null
+++ b/srcpkgs/sysdig/files/libsinsp-zstd.patch
@@ -0,0 +1,22 @@
+diff --git a/userspace/libsinsp/CMakeLists.txt b/userspace/libsinsp/CMakeLists.txt
+index 18e59b1..b23e890 100644
+--- a/userspace/libsinsp/CMakeLists.txt
++++ b/userspace/libsinsp/CMakeLists.txt
+@@ -38,6 +38,7 @@ include(ExternalProject)
+ 
+ if(NOT WIN32 AND NOT APPLE)
+ 	include(b64)
++	find_library(ZSTD_LIB NAMES zstd)
+ endif()
+ 
+ include(jsoncpp)
+@@ -246,7 +247,8 @@ if(NOT WIN32)
+ 				"${PROTOBUF_LIB}"
+ 				"${CARES_LIB}"
+ 				"${JQ_LIB}"
+-				"${B64_LIB}")
++				"${B64_LIB}"
++				"${ZSTD_LIB}")
+ 
+ 			if(NOT MUSL_OPTIMIZED_BUILD)
+ 				list(APPEND SINSP_LIBRARIES
diff --git a/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch b/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
new file mode 100644
index 000000000000..54c2ed8d0d98
--- /dev/null
+++ b/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
@@ -0,0 +1,557 @@
+From 3d22309a7317d500f75d053af6f9e5b5b5728b40 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 09:56:04 +0000
+Subject: [PATCH 1/6] update(cmake): bump driver to 5.0.0+driver
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ cmake/modules/driver.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/driver.cmake b/cmake/modules/driver.cmake
+index bee1926d3a..7fd35d7f99 100644
+--- a/cmake/modules/driver.cmake
++++ b/cmake/modules/driver.cmake
+@@ -31,8 +31,8 @@ else()
+   # In case you want to test against another driver version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DDRIVER_VERSION=dev ..`
+   if(NOT DRIVER_VERSION)
+-    set(DRIVER_VERSION "4.0.1+driver")
+-    set(DRIVER_CHECKSUM "SHA256=424d647aa6b6fa45b6701c4bbc9293c161ed00a08254d83eea419c0a736f280d")
++    set(DRIVER_VERSION "5.0.0+driver")
++    set(DRIVER_CHECKSUM "SHA256=c988ca7ac7d174f62d1bfbaaca49efd117f7b329f474d1b46b643635b2e35083")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+
+From 847e602404dcee85f06dde5a1d8ad0c740c49c98 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 09:56:08 +0000
+Subject: [PATCH 2/6] update(cmake): bump libs to 0.11.0-rc1
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ cmake/modules/falcosecurity-libs.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index b345c057ad..f30233b9e3 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -32,8 +32,8 @@ else()
+   # In case you want to test against another falcosecurity/libs version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DFALCOSECURITY_LIBS_VERSION=dev ..`
+   if(NOT FALCOSECURITY_LIBS_VERSION)
+-    set(FALCOSECURITY_LIBS_VERSION "0.10.5")
+-    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=2a4b37c08bec4ba81326314831f341385aff267062e8d4483437958689662936")
++    set(FALCOSECURITY_LIBS_VERSION "0.11.0-rc1")
++    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=bb6e57f66ae85dcda6e695226cd14082d9a1215902909cdde5b83f7abef44d8f")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+
+From 1d1dbaf06265d8eefd4038e8474f71f7958ec840 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 10:43:27 +0000
+Subject: [PATCH 3/6] fix(cmake): solve c++17 compilation issues
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ CMakeLists.txt                         |  3 +++
+ cmake/modules/falcosecurity-libs.cmake | 10 +++++-----
+ 2 files changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0309d66633..6d28c6c67d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -146,6 +146,9 @@ if(NOT DEFINED SYSDIG_COMPONENT_NAME)
+     set(SYSDIG_COMPONENT_NAME "${CMAKE_PROJECT_NAME}")
+ endif()
+ 
++set(CMAKE_CXX_STANDARD 17)
++set(CMAKE_CXX_EXTENSIONS OFF)
++
+ include(falcosecurity-libs)
+ include(yaml-cpp)
+ include(nlohmann-json)
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index f30233b9e3..fe5dacd7ad 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -94,12 +94,12 @@ else()
+ endif()
+ 
+ include(CheckCXXCompilerFlag)
+-CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX14)
+-if(CREATE_TEST_TARGETS AND NOT WIN32 AND COMPILER_SUPPORTS_CXX14)
+-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
++CHECK_CXX_COMPILER_FLAG("-std=c++17" COMPILER_SUPPORTS_CXX17)
++if(CREATE_TEST_TARGETS AND NOT WIN32 AND COMPILER_SUPPORTS_CXX17)
++	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ 	include(gtest)
+-elseif(CREATE_TEST_TARGETS AND NOT COMPILER_SUPPORTS_CXX14)
+-	message(FATAL_ERROR "Your compiler doesn't support c++14: cannot include gtest and create test targets.")
++elseif(CREATE_TEST_TARGETS AND NOT COMPILER_SUPPORTS_CXX17)
++	message(FATAL_ERROR "Your compiler doesn't support c++17: cannot include gtest and create test targets.")
+ endif()
+ 
+ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
+
+From d5fcbad2d5ea63e1439ab7174a5cfd9a7a2e1545 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 10:44:05 +0000
+Subject: [PATCH 4/6] update(userspace): sync sysdig and csysdig with latest
+ libs
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ userspace/sysdig/csysdig.cpp                |  6 +--
+ userspace/sysdig/sysdig.cpp                 |  9 +---
+ userspace/sysdig/utils/plugin_utils.cpp     | 37 ++++++++++-----
+ userspace/sysdig/utils/sinsp_opener.cpp     | 18 ++++----
+ userspace/sysdig/utils/supported_events.cpp | 50 +++++++++++----------
+ userspace/sysdig/utils/supported_fields.cpp | 15 +++----
+ 6 files changed, 70 insertions(+), 65 deletions(-)
+
+diff --git a/userspace/sysdig/csysdig.cpp b/userspace/sysdig/csysdig.cpp
+index 9419882341..edd8129a0e 100644
+--- a/userspace/sysdig/csysdig.cpp
++++ b/userspace/sysdig/csysdig.cpp
+@@ -39,11 +39,11 @@ limitations under the License.
+ #include "chisel.h"
+ #include "chisel_utils.h"
+ #endif
+-#include "fields_info.h"
+ #include "chisel_table.h"
+ #include "utils.h"
+ #include "utils/plugin_utils.h"
+ #include "utils/sinsp_opener.h"
++#include "utils/supported_fields.h"
+ 
+ #ifdef _WIN32
+ #include "win32/getopt.h"
+@@ -704,8 +704,8 @@ sysdig_init_res csysdig_init(int argc, char **argv)
+ 		//
+ 		if(list_flds)
+ 		{
+-			list_fields(false, false);
+-
++			// todo(jasondellaluce): support source selection, verbosity, markdown
++			print_supported_fields(inspector, plugins, "", true, false);
+ 			res.m_res = EXIT_SUCCESS;
+ 			goto exit;
+ 		}
+diff --git a/userspace/sysdig/sysdig.cpp b/userspace/sysdig/sysdig.cpp
+index 40f2b39ef9..a978070d73 100644
+--- a/userspace/sysdig/sysdig.cpp
++++ b/userspace/sysdig/sysdig.cpp
+@@ -43,7 +43,6 @@ limitations under the License.
+ #include "chisel_utils.h"
+ #include "chisel_fields_info.h"
+ #endif
+-#include "fields_info.h"
+ #include "utils.h"
+ #include "plugin.h"
+ #include "plugin_manager.h"
+@@ -455,8 +454,6 @@ void print_summary_table(sinsp* inspector,
+ 						 std::vector<summary_table_entry> &summary_table,
+ 						 uint32_t nentries)
+ {
+-	sinsp_evttables* einfo = inspector->get_event_info_tables();
+-
+ 	std::cout << "----------------------\n";
+ 	std::string tstr = std::string("Event");
+ 	tstr.resize(16, ' ');
+@@ -478,7 +475,7 @@ void print_summary_table(sinsp* inspector,
+ 
+ 		if(e.m_is_unsupported_syscall)
+ 		{
+-			tstr = einfo->m_syscall_info_table[e.m_id / 2].name;
++			tstr = scap_get_ppm_sc_name((ppm_sc_code) (e.m_id / 2));
+ 			tstr.resize(16, ' ');
+ 
+ 			printf("%s%s%" PRIu64 "\n",
+@@ -488,7 +485,7 @@ void print_summary_table(sinsp* inspector,
+ 		}
+ 		else
+ 		{
+-			tstr = einfo->m_event_info[e.m_id].name;
++			tstr = libsinsp::events::info((ppm_event_code) e.m_id)->name;
+ 			tstr.resize(16, ' ');
+ 
+ 			printf("%s%s%" PRIu64 "\n",
+@@ -1862,8 +1859,6 @@ sysdig_init_res sysdig_init(int argc, char **argv)
+ 					res.m_res = EXIT_FAILURE;
+ 					goto exit;
+ 				}
+-
+-				inspector->filter_proc_table_when_saving(true);
+ 			}
+ 			else
+ 			{
+diff --git a/userspace/sysdig/utils/plugin_utils.cpp b/userspace/sysdig/utils/plugin_utils.cpp
+index ad69543b3e..b99de98b66 100644
+--- a/userspace/sysdig/utils/plugin_utils.cpp
++++ b/userspace/sysdig/utils/plugin_utils.cpp
+@@ -146,6 +146,7 @@ void plugin_utils::plugin_entry::init(sinsp *inspector)
+     }
+     if (plugin->caps() & CAP_EXTRACTION)
+     {
++        // todo(jasondellaluce): manage field name conflicts
+         g_filterlist.add_filter_check(sinsp_plugin::new_filtercheck(plugin));
+     }
+     inited = true;
+@@ -185,13 +186,30 @@ void plugin_utils::plugin_entry::print_info(sinsp* inspector, std::ostringstream
+     os << "Capabilities: " << std::endl;
+     if(plugin->caps() & CAP_SOURCING)
+     {
+-        os << "  - Event Sourcing (ID=" << plugin->id();
+-        os << ", source='" << plugin->event_source() << "')" << std::endl;
++        os << "  - Event Sourcing";
++        if (plugin->id() != 0)
++        {
++            os << " (ID=" << plugin->id();
++            os << ", source='" << plugin->event_source() << "')";
++        }
++        else
++        {
++            os << " (system events)";
++        }
++        os << std::endl;
+     }
+     if(plugin->caps() & CAP_EXTRACTION)
+     {
+         os << "  - Field Extraction" << std::endl;
+     }
++    if(plugin->caps() & CAP_PARSING)
++    {
++        os << "  - Event Parsing" << std::endl;
++    }
++    if(plugin->caps() & CAP_ASYNC)
++    {
++        os << "  - Async Events" << std::endl;
++    }
+ }
+ 
+ void plugin_utils::add_dir(std::string dirname, bool front_add)
+@@ -609,7 +627,7 @@ std::vector<std::string> plugin_utils::get_event_sources(sinsp *inspector)
+         // the plugin, in case it was not registered already
+         pl.get_plugin(inspector);
+     }
+-    return inspector->get_plugin_manager()->sources();
++    return inspector->event_sources();
+ }
+ 
+ std::vector<std::unique_ptr<sinsp_filter_check>> plugin_utils::get_filterchecks(sinsp *inspector, const std::string& source)
+@@ -617,16 +635,13 @@ std::vector<std::unique_ptr<sinsp_filter_check>> plugin_utils::get_filterchecks(
+     std::vector<std::unique_ptr<sinsp_filter_check>> list;
+     list.push_back(std::unique_ptr<sinsp_filter_check>(inspector->new_generic_filtercheck()));
+ 
+-    // todo(jasondellaluce): remove this once we support extracting plugin fields from syscalls
+-    if (source != s_syscall_source)
++    for (auto &pl : m_plugins)
+     {
+-        for (auto &pl : m_plugins)
++        auto plugin = pl.get_plugin(inspector);
++        if (plugin->caps() & CAP_EXTRACTION
++            && sinsp_plugin::is_source_compatible(plugin->extract_event_sources(), source))
+         {
+-            auto plugin = pl.get_plugin(inspector);
+-            if (plugin->caps() & CAP_EXTRACTION && plugin->is_source_compatible(source))
+-            {
+-                list.push_back(std::unique_ptr<sinsp_filter_check>(sinsp_plugin::new_filtercheck(plugin)));
+-            }
++            list.push_back(std::unique_ptr<sinsp_filter_check>(sinsp_plugin::new_filtercheck(plugin)));
+         }
+     }
+     return list;
+diff --git a/userspace/sysdig/utils/sinsp_opener.cpp b/userspace/sysdig/utils/sinsp_opener.cpp
+index eafdb631d3..7315b99c7d 100644
+--- a/userspace/sysdig/utils/sinsp_opener.cpp
++++ b/userspace/sysdig/utils/sinsp_opener.cpp
+@@ -50,14 +50,12 @@ void sinsp_opener::open(sinsp* inspector) const
+ 
+ #if defined(HAS_CAPTURE)
+     /* Populate syscalls of interest */
+-    std::unordered_set<uint32_t> sc_of_interest = inspector->get_all_ppm_sc();
++    auto sc_of_interest = libsinsp::events::all_sc_set();
+ 
+-    /* Populate tracepoints of interest */
+-    std::unordered_set<uint32_t> tp_of_interest = inspector->get_all_tp();
+     if(!options.page_faults)
+     {
+-        tp_of_interest.erase(PAGE_FAULT_USER);
+-        tp_of_interest.erase(PAGE_FAULT_KERN);
++        sc_of_interest.remove(ppm_sc_code::PPM_SC_PAGE_FAULT_USER);
++        sc_of_interest.remove(ppm_sc_code::PPM_SC_PAGE_FAULT_KERNEL);
+     }
+ 
+     if(udig.enabled)
+@@ -77,7 +75,7 @@ void sinsp_opener::open(sinsp* inspector) const
+ #ifdef HAS_MODERN_BPF
+ 		if(bpf.modern)
+ 		{
+-			inspector->open_modern_bpf(DEFAULT_DRIVER_BUFFER_BYTES_DIM, bpf.cpus_for_each_syscall_buffer, true, sc_of_interest, tp_of_interest);
++			inspector->open_modern_bpf(DEFAULT_DRIVER_BUFFER_BYTES_DIM, bpf.cpus_for_each_syscall_buffer, true, sc_of_interest);
+ 			return;
+ 		}
+ #endif
+@@ -95,7 +93,7 @@ void sinsp_opener::open(sinsp* inspector) const
+ 
+         try
+         {
+-            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+         }
+         catch(const sinsp_exception& e)
+         {
+@@ -103,7 +101,7 @@ void sinsp_opener::open(sinsp* inspector) const
+             {
+                 fprintf(stderr, "Unable to load the BPF probe\n");
+             }
+-            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+         }
+ 
+         // Enable gathering the CPU from the kernel module
+@@ -114,7 +112,7 @@ void sinsp_opener::open(sinsp* inspector) const
+     // default to kernel module if no other option is specified
+     try
+     {
+-        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+     }
+     catch(const sinsp_exception& e)
+     {
+@@ -124,7 +122,7 @@ void sinsp_opener::open(sinsp* inspector) const
+         {
+             fprintf(stderr, "Unable to load the driver\n");
+         }
+-        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+     }
+ 
+     // Enable gathering the CPU from the kernel module
+diff --git a/userspace/sysdig/utils/supported_events.cpp b/userspace/sysdig/utils/supported_events.cpp
+index 1442911209..7f0d630011 100644
+--- a/userspace/sysdig/utils/supported_events.cpp
++++ b/userspace/sysdig/utils/supported_events.cpp
+@@ -27,25 +27,25 @@ struct event_entry
+ {
+     bool is_enter;
+     std::string name;
+-    struct ppm_event_info info;
++    const ppm_event_info* info;
+ };
+ 
+-static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include_generics)
++static std::vector<event_entry> get_event_entries(bool include_generics)
+ {
+     event_entry entry;
+     std::vector<event_entry> events;
+-    const struct ppm_event_info* etable = inspector->get_event_info_tables()->m_event_info;
+ 
+     // skip generic events
+-    for(uint32_t evt = PPME_GENERIC_X + 1; evt < PPM_EVENT_MAX; evt++)
++    for(const auto& evt : libsinsp::events::all_event_set())
+     {
+-        if (!sinsp::is_old_version_event(evt)
+-                && !sinsp::is_unused_event(evt)
+-                && !sinsp::is_unknown_event(evt))
++        if (!libsinsp::events::is_generic(evt)
++            && !libsinsp::events::is_old_version_event(evt)
++            && !libsinsp::events::is_unused_event(evt)
++            && !libsinsp::events::is_unknown_event(evt))
+         {
+             entry.is_enter = PPME_IS_ENTER(evt);
+-            entry.name = etable[evt].name;
+-            entry.info = etable[evt];
++            entry.info = libsinsp::events::info(evt);
++			entry.name = entry.info->name;
+             events.push_back(entry);
+         }
+     }
+@@ -53,17 +53,19 @@ static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include
+     if (include_generics)
+     {
+         // append generic events
+-        const auto generic_syscalls = inspector->get_events_names({PPME_GENERIC_E});
+-        for (const auto& name : generic_syscalls)
+-        {
+-            for(uint32_t evt = PPME_GENERIC_E; evt <= PPME_GENERIC_X; evt++)
+-            {
+-                entry.is_enter = PPME_IS_ENTER(evt);
+-                entry.name = name;
+-                entry.info = etable[evt];
+-                events.push_back(entry);
+-            }
+-        }
++		const auto names = libsinsp::events::event_set_to_names({ppm_event_code::PPME_GENERIC_E});
++		for (const auto& name : names)
++		{
++			entry.is_enter = PPME_IS_ENTER(ppm_event_code::PPME_GENERIC_E);
++			entry.info = libsinsp::events::info(ppm_event_code::PPME_GENERIC_E);
++			entry.name = name;
++			events.push_back(entry);
++
++			entry.is_enter = PPME_IS_ENTER(ppm_event_code::PPME_GENERIC_X);
++			entry.info = libsinsp::events::info(ppm_event_code::PPME_GENERIC_X);
++			entry.name = name;
++			events.push_back(entry);
++		}
+     }
+ 
+     return events;
+@@ -71,7 +73,7 @@ static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include
+ 
+ void print_supported_events(sinsp* inspector, bool markdown)
+ {
+-    const auto events = get_event_entries(inspector, true);
++    const auto events = get_event_entries(true);
+ 
+     if(markdown)
+     {
+@@ -91,15 +93,15 @@ void print_supported_events(sinsp* inspector, bool markdown)
+             printf("%c %s(", dir, e.name.c_str());
+         }
+ 
+-        for(uint32_t k = 0; k < e.info.nparams; k++)
++        for(uint32_t k = 0; k < e.info->nparams; k++)
+         {
+             if(k != 0)
+             {
+                 printf(", ");
+             }
+ 
+-            printf("%s %s", param_type_to_string(e.info.params[k].type),
+-                e.info.params[k].name);
++            printf("%s %s", param_type_to_string(e.info->params[k].type),
++                e.info->params[k].name);
+         }
+         printf(")\n");
+     }
+diff --git a/userspace/sysdig/utils/supported_fields.cpp b/userspace/sysdig/utils/supported_fields.cpp
+index 6e2575b030..3127fb7220 100644
+--- a/userspace/sysdig/utils/supported_fields.cpp
++++ b/userspace/sysdig/utils/supported_fields.cpp
+@@ -35,11 +35,9 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+ {
+     std::vector<fields_info> field_infos;
+     std::vector<std::unique_ptr<const sinsp_filter_check>> filtecheck_lists; // only used to retain memory until we finish
+-    std::vector<std::string> sources = { s_syscall_source };
++    std::vector<std::string> sources = plugins.get_event_sources(inspector);
+ 
+     // add event sources defined by the loaded plugins
+-    const auto& plugin_sources = plugins.get_event_sources(inspector);
+-    sources.insert(sources.end(), plugin_sources.begin(), plugin_sources.end());
+     if (!source.empty())
+     {
+         bool found = false;
+@@ -66,7 +64,6 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+         }
+ 
+         std::vector<const filter_check_info*> filterchecks;
+-        // todo(jasondellaluce): change this once we support extracting plugin fields from syscalls
+         if (src == s_syscall_source)
+         {
+             std::vector<const filter_check_info*> all_checks;
+@@ -81,13 +78,11 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+                 }
+             }
+         }
+-        else
++
++        for (auto& check: plugins.get_filterchecks(inspector, src))
+         {
+-            for (auto& check: plugins.get_filterchecks(inspector, src))
+-            {
+-                filterchecks.push_back(check->get_fields());
+-                filtecheck_lists.push_back(std::move(check));
+-            }
++            filterchecks.push_back(check->get_fields());
++            filtecheck_lists.push_back(std::move(check));
+         }
+         
+         const auto classes = sinsp_filter_factory::check_infos_to_fieldclass_infos(filterchecks);
+
+From c8b0d055aec4d2378b7934dd9436fd4500d1021e Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 14:15:23 +0000
+Subject: [PATCH 5/6] fix: solve compilation issues on windows
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ CMakeLists.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6d28c6c67d..5afd967f27 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -148,6 +148,9 @@ endif()
+ 
+ set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_CXX_EXTENSIONS OFF)
++if(MSVC OR WIN32)
++	add_compile_definitions(_HAS_STD_BYTE=0)
++endif()
+ 
+ include(falcosecurity-libs)
+ include(yaml-cpp)
+
+From 954e6fc6238f21d4870a491395d68a7dd3062aa9 Mon Sep 17 00:00:00 2001
+From: Roberto Scolaro <roberto.scolaro21@gmail.com>
+Date: Mon, 5 Jun 2023 10:34:03 +0000
+Subject: [PATCH 6/6] update(cmake): bump libs 0.11.0 + driver 5.0.1
+
+Signed-off-by: Roberto Scolaro <roberto.scolaro21@gmail.com>
+---
+ CMakeLists.txt                         | 2 +-
+ cmake/modules/driver.cmake             | 4 ++--
+ cmake/modules/falcosecurity-libs.cmake | 4 ++--
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5afd967f27..f3f23b5e9a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -90,7 +90,7 @@ if(NOT WIN32)
+ 	endif()
+ 
+ 	set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_COMMON_FLAGS}")
+-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++0x")
++	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++17")
+ 
+ 	set(CMAKE_C_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+ 	set(CMAKE_CXX_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+diff --git a/cmake/modules/driver.cmake b/cmake/modules/driver.cmake
+index 7fd35d7f99..ca1e56718c 100644
+--- a/cmake/modules/driver.cmake
++++ b/cmake/modules/driver.cmake
+@@ -31,8 +31,8 @@ else()
+   # In case you want to test against another driver version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DDRIVER_VERSION=dev ..`
+   if(NOT DRIVER_VERSION)
+-    set(DRIVER_VERSION "5.0.0+driver")
+-    set(DRIVER_CHECKSUM "SHA256=c988ca7ac7d174f62d1bfbaaca49efd117f7b329f474d1b46b643635b2e35083")
++    set(DRIVER_VERSION "5.0.1+driver")
++    set(DRIVER_CHECKSUM "SHA256=8b197b916b6419dac8fb41807aa05d822164c7bfd2c3eef66d20d060a05a485a")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index fe5dacd7ad..c626d7944e 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -32,8 +32,8 @@ else()
+   # In case you want to test against another falcosecurity/libs version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DFALCOSECURITY_LIBS_VERSION=dev ..`
+   if(NOT FALCOSECURITY_LIBS_VERSION)
+-    set(FALCOSECURITY_LIBS_VERSION "0.11.0-rc1")
+-    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=bb6e57f66ae85dcda6e695226cd14082d9a1215902909cdde5b83f7abef44d8f")
++    set(FALCOSECURITY_LIBS_VERSION "0.11.0")
++    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=90414d00591986e94f2c49e7d65eef5c2dedee266354dd3db8234bb3b06c86fa")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
diff --git a/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch b/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch
new file mode 100644
index 000000000000..467cffacba2f
--- /dev/null
+++ b/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch
@@ -0,0 +1,28 @@
+diff --git a/cmake/modules/driver-repo/CMakeLists.txt b/cmake/modules/driver-repo/CMakeLists.txt
+index 479611a..5238121 100644
+--- a/cmake/modules/driver-repo/CMakeLists.txt
++++ b/cmake/modules/driver-repo/CMakeLists.txt
+@@ -25,8 +25,7 @@ message(STATUS "Driver version: ${DRIVER_VERSION}")
+ 
+ ExternalProject_Add(
+   driver
+-  URL "https://github.com/falcosecurity/libs/archive/${DRIVER_VERSION}.tar.gz"
+-  URL_HASH "${DRIVER_CHECKSUM}"
++  URL "${CMAKE_CURRENT_SOURCE_DIR}/../../../../libs-${DRIVER_VERSION}"
+   CONFIGURE_COMMAND ""
+   BUILD_COMMAND ""
+   INSTALL_COMMAND ""
+diff --git a/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt b/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
+index 2059547..74e78e2 100644
+--- a/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
++++ b/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
+@@ -25,8 +25,7 @@ message(STATUS "Libs version: ${FALCOSECURITY_LIBS_VERSION}")
+ 
+ ExternalProject_Add(
+   falcosecurity-libs
+-  URL "https://github.com/falcosecurity/libs/archive/${FALCOSECURITY_LIBS_VERSION}.tar.gz"
+-  URL_HASH "${FALCOSECURITY_LIBS_CHECKSUM}"
++  URL "${CMAKE_CURRENT_SOURCE_DIR}/../../../../libs-${FALCOSECURITY_LIBS_VERSION}"
+   CONFIGURE_COMMAND ""
+   BUILD_COMMAND ""
+   INSTALL_COMMAND ""
diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index 4a04e762468c..ab6d1bcc7f41 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,43 +1,48 @@
 # Template file for 'sysdig'
 pkgname=sysdig
-version=0.28.0
-revision=8
+version=0.31.5
+revision=1
+_falcover=0.11.0
 build_style=cmake
+build_wrksrc="sysdig-${version}"
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF
  -DLUA_INCLUDE_DIR=${XBPS_CROSS_BASE}/usr/include/luajit-2.1
- -DLUA_LIBRARY=/usr/lib/libluajit-5.1.so -DCREATE_TEST_TARGETS=OFF"
-make_cmd=make
+ -DLUA_LIBRARY=/usr/lib/libluajit-5.1.so -DCREATE_TEST_TARGETS=OFF
+ -DUSE_BUNDLED_TBB=OFF -DBUILD_LIBSCAP_EXAMPLES=OFF
+ -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_EXTENSIONS=OFF
+ -DDRIVER_VERSION=${_falcover}"
 hostmakedepends="wget pkg-config protobuf"
-makedepends="LuaJIT-devel c-ares-devel elfutils-devel grpc-devel jsoncpp-devel
+makedepends="LuaJIT-devel c-ares-devel elfutils-devel grpc-devel
  libcurl-devel libprotoc-devel openssl-devel ncurses-devel protobuf-devel
- tbb-devel zlib-devel"
+ tbb-devel zlib-devel yaml-cpp-devel json-c++"
 depends="dkms"
 short_desc="Open source system-level exploration and troubleshooting tool"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0, MIT, GPL-2.0-only"
 homepage="http://www.sysdig.org/"
 changelog="https://github.com/draios/sysdig/releases"
-distfiles="https://github.com/draios/${pkgname}/archive/${version}.tar.gz"
-checksum=817e595d501acf3fe11dc659a154aadbba848dd87ae801f5bf34a42e84979f37
-disable_parallel_build=yes
-dkms_modules="scap 2160111cd088aea9ae2235d3385ecb0b1ab6623c"
+distfiles="https://github.com/draios/sysdig/archive/${version}.tar.gz
+ https://github.com/falcosecurity/libs/archive/${_falcover}.tar.gz"
+checksum="9af98cae7c38273f7429ba0df628c9745bd92c949f444e180b9dd800af14c6dd
+ 90414d00591986e94f2c49e7d65eef5c2dedee266354dd3db8234bb3b06c86fa"
+dkms_modules="scap ${_falcover}"
 nocross=yes
+patch_args="-Np1 --directory=${build_wrksrc}"
 
 case "$XBPS_TARGET_MACHINE" in
 	*-musl) configure_args+=" -DMUSL_OPTIMIZED_BUILD=On"
 esac
 
-export CMAKE_GENERATOR="Unix Makefiles"
-
 # Avoid excessive warnings spam to the log
 CXXFLAGS="-Wno-deprecated-declarations"
 
-CXXFLAGS+=" -I/usr/include/grpc_absl"
+post_patch() {
+	patch -d "${wrksrc}/libs-${_falcover}" -Np1 < "${FILESDIR}/libsinsp-zstd.patch"
+	patch -d "${wrksrc}/libs-${_falcover}" -Np1 < "${FILESDIR}/libsinsp-absl-protobuf.patch"
 
-post_extract() {
 	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
-	vsed -e 's|-std=c++0x||' -i CMakeLists.txt
+	vsed -e 's|-std=c++0x||' -i CMakeLists.txt -i "${wrksrc}/libs-${_falcover}/cmake/modules/CompilerFlags.cmake"
 }
 
 post_install() {

From de6bab173918f3855f71465c83c35d01241d2072 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 2 Jul 2023 13:36:29 +0200
Subject: [PATCH 31/35] protobuf-c: rebuild against 23.3

---
 ...4f3fd85a205eb7c90b790477d5415364209e.patch |  44 +++
 srcpkgs/protobuf-c/patches/66a0b0d2.patch     | 308 ++++++++++++++++++
 srcpkgs/protobuf-c/template                   |   8 +-
 3 files changed, 358 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
 create mode 100644 srcpkgs/protobuf-c/patches/66a0b0d2.patch

diff --git a/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch b/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
new file mode 100644
index 000000000000..7d1e97032d32
--- /dev/null
+++ b/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
@@ -0,0 +1,44 @@
+From 66574f3fd85a205eb7c90b790477d5415364209e Mon Sep 17 00:00:00 2001
+From: Steve Peters <scpeters@openrobotics.org>
+Date: Sat, 24 Jun 2023 22:15:42 -0700
+Subject: [PATCH] Use FileDescriptorLegacy for deprecated syntax()
+
+---
+ protoc-c/c_file.cc   | 2 +-
+ protoc-c/c_helpers.h | 3 ++-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/protoc-c/c_file.cc b/protoc-c/c_file.cc
+index 59c1824e..4b60b889 100644
+--- a/protoc-c/c_file.cc
++++ b/protoc-c/c_file.cc
+@@ -119,7 +119,7 @@ void FileGenerator::GenerateHeader(io::Printer* printer) {
+ 
+   int min_header_version = 1000000;
+ #if defined(HAVE_PROTO3)
+-  if (file_->syntax() == FileDescriptor::SYNTAX_PROTO3) {
++  if (FileDescriptorLegacy(file_).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3) {
+     min_header_version = 1003000;
+   }
+ #endif
+diff --git a/protoc-c/c_helpers.h b/protoc-c/c_helpers.h
+index 7598a4e1..87deea24 100644
+--- a/protoc-c/c_helpers.h
++++ b/protoc-c/c_helpers.h
+@@ -67,6 +67,7 @@
+ #include <vector>
+ #include <sstream>
+ #include <google/protobuf/descriptor.h>
++#include <google/protobuf/descriptor_legacy.h>
+ #include <protobuf-c/protobuf-c.pb.h>
+ #include <google/protobuf/io/printer.h>
+ 
+@@ -172,7 +173,7 @@ int compare_name_indices_by_name(const void*, const void*);
+ // This wrapper is needed to be able to compile against protobuf2.
+ inline int FieldSyntax(const FieldDescriptor* field) {
+ #ifdef HAVE_PROTO3
+-  return field->file()->syntax() == FileDescriptor::SYNTAX_PROTO3 ? 3 : 2;
++  return FileDescriptorLegacy(field->file()).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3 ? 3 : 2;
+ #else
+   return 2;
+ #endif
diff --git a/srcpkgs/protobuf-c/patches/66a0b0d2.patch b/srcpkgs/protobuf-c/patches/66a0b0d2.patch
new file mode 100644
index 000000000000..790db6329120
--- /dev/null
+++ b/srcpkgs/protobuf-c/patches/66a0b0d2.patch
@@ -0,0 +1,308 @@
+From 66a0b0d205224f63f19dd8f96abf9dcdc2112331 Mon Sep 17 00:00:00 2001
+From: Xiangyu Chen <xiangyu.chen@windriver.com>
+Date: Wed, 29 Mar 2023 14:25:17 +0800
+Subject: [PATCH] add support of protobuf 4.22.x
+
+after upgrade the protobuf to 4.22.x, the protobuf-c cannot compile anymore (#544) due to following changes:
+1.protobuf using c++14, that cause the command_line_interface.h report error
+2.protobuf using abseil-cpp library instead the trace API with GOOGLE_ header
+3. removed GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
+---
+ Makefile.am                   | 2 +-
+ configure.ac                  | 8 ++++++++
+ protoc-c/c_bytes_field.h      | 1 -
+ protoc-c/c_enum.h             | 1 -
+ protoc-c/c_enum_field.h       | 1 -
+ protoc-c/c_extension.h        | 1 -
+ protoc-c/c_field.cc           | 2 +-
+ protoc-c/c_field.h            | 3 ---
+ protoc-c/c_file.h             | 1 -
+ protoc-c/c_generator.h        | 2 --
+ protoc-c/c_helpers.cc         | 4 ++--
+ protoc-c/c_message.cc         | 4 ++--
+ protoc-c/c_message.h          | 1 -
+ protoc-c/c_message_field.h    | 3 ---
+ protoc-c/c_primitive_field.cc | 6 +++---
+ protoc-c/c_primitive_field.h  | 3 ---
+ protoc-c/c_service.h          | 1 -
+ protoc-c/c_string_field.h     | 1 -
+ 18 files changed, 17 insertions(+), 28 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index c7339efe..3b0d1d66 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -20,7 +20,7 @@ AM_CPPFLAGS = \
+ 	-I${top_builddir} \
+ 	-I${top_srcdir}
+ AM_CFLAGS = ${my_CFLAGS}
+-AM_LDFLAGS =
++AM_LDFLAGS = ${ABSL_LOG_INTERNAL_CHECK_OP_LIBS} ${ABSL_LOG_RAW_HASH_SET_LIBS}
+ 
+ # code coverage
+ 
+diff --git a/configure.ac b/configure.ac
+index f5a0261e..8ed549ac 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -78,6 +78,14 @@ if test "x$enable_protoc" != "xno"; then
+ 
+   AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
+ 
++# now checking 4.22.x protobuf, if so, set cxx as 17
++  AS_IF([pkg-config --atleast-version 4.22.0 protobuf],[AX_CXX_COMPILE_STDCXX(17, noext, mandatory)])
++
++  AS_IF([pkg-config --atleast-version 4.22.0 protobuf],
++    [PKG_CHECK_MODULES([ABSL_LOG_INTERNAL_CHECK_OP], [absl_log_internal_check_op],
++       [PKG_CHECK_MODULES([ABSL_LOG_RAW_HASH_SET], [absl_raw_hash_set], [], [AC_MSG_ERROR([Missing absl_raw_hash_set library.])])],
++       [AC_MSG_ERROR([Missing absl_log_internal_check_op library.])])])
++
+   PKG_CHECK_MODULES([protobuf], [protobuf >= 3.0.0],
+     [proto3_supported=yes],
+     [PKG_CHECK_MODULES([protobuf], [protobuf >= 2.6.0])]
+diff --git a/protoc-c/c_bytes_field.h b/protoc-c/c_bytes_field.h
+index bf873f0f..8fc63d35 100644
+--- a/protoc-c/c_bytes_field.h
++++ b/protoc-c/c_bytes_field.h
+@@ -88,7 +88,6 @@ class BytesFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(BytesFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_enum.h b/protoc-c/c_enum.h
+index 9c34b697..d5e58f0a 100644
+--- a/protoc-c/c_enum.h
++++ b/protoc-c/c_enum.h
+@@ -107,7 +107,6 @@ class EnumGenerator {
+   const EnumDescriptor* descriptor_;
+   std::string dllexport_decl_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_enum_field.h b/protoc-c/c_enum_field.h
+index 3f8c005d..03eb4028 100644
+--- a/protoc-c/c_enum_field.h
++++ b/protoc-c/c_enum_field.h
+@@ -86,7 +86,6 @@ class EnumFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_extension.h b/protoc-c/c_extension.h
+index 95413885..9c5797d6 100644
+--- a/protoc-c/c_extension.h
++++ b/protoc-c/c_extension.h
+@@ -99,7 +99,6 @@ class ExtensionGenerator {
+   std::string type_traits_;
+   std::string dllexport_decl_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ExtensionGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_field.cc b/protoc-c/c_field.cc
+index 0716744a..4abdc6d3 100644
+--- a/protoc-c/c_field.cc
++++ b/protoc-c/c_field.cc
+@@ -231,7 +231,7 @@ FieldGeneratorMap::~FieldGeneratorMap() {}
+ 
+ const FieldGenerator& FieldGeneratorMap::get(
+     const FieldDescriptor* field) const {
+-  GOOGLE_CHECK_EQ(field->containing_type(), descriptor_);
++  ABSL_CHECK_EQ(field->containing_type(), descriptor_);
+   return *field_generators_[field->index()];
+ }
+ 
+diff --git a/protoc-c/c_field.h b/protoc-c/c_field.h
+index 3cad35d3..76d3b0bc 100644
+--- a/protoc-c/c_field.h
++++ b/protoc-c/c_field.h
+@@ -104,8 +104,6 @@ class FieldGenerator {
+                                             const std::string &descriptor_addr) const;
+   const FieldDescriptor *descriptor_;
+ 
+- private:
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGenerator);
+ };
+ 
+ // Convenience class which constructs FieldGenerators for a Descriptor.
+@@ -122,7 +120,6 @@ class FieldGeneratorMap {
+ 
+   static FieldGenerator* MakeGenerator(const FieldDescriptor* field);
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGeneratorMap);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_file.h b/protoc-c/c_file.h
+index 8dfd8ba0..ec55906e 100644
+--- a/protoc-c/c_file.h
++++ b/protoc-c/c_file.h
+@@ -104,7 +104,6 @@ class FileGenerator {
+   std::unique_ptr<std::unique_ptr<ServiceGenerator>[]> service_generators_;
+   std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FileGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_generator.h b/protoc-c/c_generator.h
+index ac1ffafe..92601164 100644
+--- a/protoc-c/c_generator.h
++++ b/protoc-c/c_generator.h
+@@ -94,8 +94,6 @@ class PROTOC_C_EXPORT CGenerator : public CodeGenerator {
+                 OutputDirectory* output_directory,
+                 std::string* error) const;
+ 
+- private:
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(CGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_helpers.cc b/protoc-c/c_helpers.cc
+index 6fd0cd3a..1eaeeb42 100644
+--- a/protoc-c/c_helpers.cc
++++ b/protoc-c/c_helpers.cc
+@@ -286,7 +286,7 @@ const char* const kKeywordList[] = {
+ 
+ std::set<std::string> MakeKeywordsMap() {
+   std::set<std::string> result;
+-  for (int i = 0; i < GOOGLE_ARRAYSIZE(kKeywordList); i++) {
++  for (int i = 0; i < ABSL_ARRAYSIZE(kKeywordList); i++) {
+     result.insert(kKeywordList[i]);
+   }
+   return result;
+@@ -548,7 +548,7 @@ std::string CEscape(const std::string& src) {
+   std::unique_ptr<char[]> dest(new char[dest_length]);
+   const int len = CEscapeInternal(src.data(), src.size(),
+                                   dest.get(), dest_length, false);
+-  GOOGLE_DCHECK_GE(len, 0);
++  ABSL_DCHECK_GE(len, 0);
+   return std::string(dest.get(), len);
+ }
+ 
+diff --git a/protoc-c/c_message.cc b/protoc-c/c_message.cc
+index 37e8bf8b..c7e85155 100755
+--- a/protoc-c/c_message.cc
++++ b/protoc-c/c_message.cc
+@@ -499,7 +499,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ 	  // NOTE: not supported by protobuf
+ 	  vars["maybe_static"] = "";
+ 	  vars["field_dv_ctype"] = "{ ... }";
+-	  GOOGLE_LOG(DFATAL) << "Messages can't have default values!";
++	  ABSL_LOG(FATAL) << "Messages can't have default values!";
+ 	  break;
+ 	case FieldDescriptor::CPPTYPE_STRING:
+ 	  if (fd->type() == FieldDescriptor::TYPE_BYTES || opt.string_as_bytes())
+@@ -521,7 +521,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ 	    break;
+ 	  }
+ 	default:
+-	  GOOGLE_LOG(DFATAL) << "Unknown CPPTYPE";
++	  ABSL_LOG(FATAL) << "Unknown CPPTYPE";
+ 	  break;
+ 	}
+ 	if (!already_defined)
+diff --git a/protoc-c/c_message.h b/protoc-c/c_message.h
+index ea1c3ab3..e90782bf 100644
+--- a/protoc-c/c_message.h
++++ b/protoc-c/c_message.h
+@@ -137,7 +137,6 @@ class MessageGenerator {
+   std::unique_ptr<std::unique_ptr<EnumGenerator>[]> enum_generators_;
+   std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_message_field.h b/protoc-c/c_message_field.h
+index 39b8d999..42efe368 100644
+--- a/protoc-c/c_message_field.h
++++ b/protoc-c/c_message_field.h
+@@ -83,9 +83,6 @@ class MessageFieldGenerator : public FieldGenerator {
+   std::string GetDefaultValue(void) const;
+   void GenerateStaticInit(io::Printer* printer) const;
+ 
+- private:
+-
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_primitive_field.cc b/protoc-c/c_primitive_field.cc
+index 6990893f..d5a7b60c 100644
+--- a/protoc-c/c_primitive_field.cc
++++ b/protoc-c/c_primitive_field.cc
+@@ -99,7 +99,7 @@ void PrimitiveFieldGenerator::GenerateStructMembers(io::Printer* printer) const
+     case FieldDescriptor::TYPE_STRING  :
+     case FieldDescriptor::TYPE_BYTES   :
+     case FieldDescriptor::TYPE_GROUP   :
+-    case FieldDescriptor::TYPE_MESSAGE : GOOGLE_LOG(FATAL) << "not a primitive type"; break;
++    case FieldDescriptor::TYPE_MESSAGE : ABSL_LOG(FATAL) << "not a primitive type"; break;
+ 
+     // No default because we want the compiler to complain if any new
+     // types are added.
+@@ -143,7 +143,7 @@ std::string PrimitiveFieldGenerator::GetDefaultValue() const
+     case FieldDescriptor::CPPTYPE_BOOL:
+       return descriptor_->default_value_bool() ? "1" : "0";
+     default:
+-      GOOGLE_LOG(DFATAL) << "unexpected CPPTYPE in c_primitive_field";
++      ABSL_LOG(FATAL) << "unexpected CPPTYPE in c_primitive_field";
+       return "UNEXPECTED_CPPTYPE";
+   }
+ }
+@@ -197,7 +197,7 @@ void PrimitiveFieldGenerator::GenerateDescriptorInitializer(io::Printer* printer
+     case FieldDescriptor::TYPE_STRING  :
+     case FieldDescriptor::TYPE_BYTES   :
+     case FieldDescriptor::TYPE_GROUP   :
+-    case FieldDescriptor::TYPE_MESSAGE : GOOGLE_LOG(FATAL) << "not a primitive type"; break;
++    case FieldDescriptor::TYPE_MESSAGE : ABSL_LOG(FATAL) << "not a primitive type"; break;
+ 
+     // No default because we want the compiler to complain if any new
+     // types are added.
+diff --git a/protoc-c/c_primitive_field.h b/protoc-c/c_primitive_field.h
+index a9eb893b..d2bb7243 100644
+--- a/protoc-c/c_primitive_field.h
++++ b/protoc-c/c_primitive_field.h
+@@ -83,9 +83,6 @@ class PrimitiveFieldGenerator : public FieldGenerator {
+   std::string GetDefaultValue(void) const;
+   void GenerateStaticInit(io::Printer* printer) const;
+ 
+- private:
+-
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(PrimitiveFieldGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_service.h b/protoc-c/c_service.h
+index 27125a60..4737ff3b 100644
+--- a/protoc-c/c_service.h
++++ b/protoc-c/c_service.h
+@@ -101,7 +101,6 @@ class ServiceGenerator {
+   const ServiceDescriptor* descriptor_;
+   std::map<std::string, std::string> vars_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ServiceGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_string_field.h b/protoc-c/c_string_field.h
+index 513cea75..ba258e44 100644
+--- a/protoc-c/c_string_field.h
++++ b/protoc-c/c_string_field.h
+@@ -88,7 +88,6 @@ class StringFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(StringFieldGenerator);
+ };
+ 
+ 
diff --git a/srcpkgs/protobuf-c/template b/srcpkgs/protobuf-c/template
index 7d1b529d8936..e703b138152d 100644
--- a/srcpkgs/protobuf-c/template
+++ b/srcpkgs/protobuf-c/template
@@ -1,10 +1,10 @@
 # Template file for 'protobuf-c'
 pkgname=protobuf-c
 version=1.4.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="$(vopt_enable protoc)"
-hostmakedepends="pkg-config protobuf protobuf-devel"
+hostmakedepends="pkg-config protobuf protobuf-devel automake libtool"
 makedepends="protobuf-devel boost-devel $(vopt_if protoc libprotoc-devel)"
 short_desc="C implementation of the Google Protocol Buffers"
 maintainer="Enno Boland <gottox@voidlinux.org>"
@@ -17,6 +17,10 @@ build_options="protoc"
 build_options_default="protoc"
 desc_option_protoc="Build protoc-c compiler"
 
+pre_configure() {
+	autoreconf -if
+}
+
 post_install() {
 	vlicense LICENSE
 }

From 01b37652ae40d3c6f4b3b09b5f399c032a8d9e18 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 2 Jul 2023 21:07:55 +0200
Subject: [PATCH 32/35] netdata: update to 1.40.1.

---
 srcpkgs/netdata/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/netdata/template            | 13 +++++++++----
 2 files changed, 20 insertions(+), 4 deletions(-)
 create mode 100644 srcpkgs/netdata/patches/cpp17.patch

diff --git a/srcpkgs/netdata/patches/cpp17.patch b/srcpkgs/netdata/patches/cpp17.patch
new file mode 100644
index 000000000000..b197ccd57bd9
--- /dev/null
+++ b/srcpkgs/netdata/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac	2023-06-27 16:25:03.364605041 +0200
++++ -	2023-07-02 21:27:31.113408278 +0200
+@@ -237,7 +237,7 @@
+ # C++ version check
+ 
+ # Check for C++17 support (optional)
+-# AX_CXX_COMPILE_STDCXX(17, noext, optional)
++AX_CXX_COMPILE_STDCXX(17, noext, optional)
+ 
+ if test "x$HAVE_CXX17" != "x1"; then
+   # Check for C++11 support (optional)
diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 781120b3f275..9065c5140361 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -1,14 +1,14 @@
 # Template file for 'netdata'
 pkgname=netdata
-version=1.37.1
-revision=2
+version=1.40.1
+revision=1
 build_style=gnu-configure
 build_helper=qemu
 configure_args="--with-user=_netdata ac_cv_file_externaldeps_libbpf_libbpf_a=no
  $(vopt_if cloud --enable-cloud --disable-cloud) $(vopt_if ipmi --enable-plugin-freeipmi)
  $(vopt_if xen --enable-plugin-xenstat) $(vopt_if cups --enable-plugin-cups)"
 hostmakedepends="pkg-config autoconf automake $(vopt_if cloud "protobuf protobuf-devel")"
-makedepends="json-c-devel libcap-devel liblz4-devel libmnl-devel
+makedepends="json-c-devel libcap-devel liblz4-devel libmnl-devel libyaml-devel
  libnetfilter_acct-devel openssl-devel libuuid-devel libuv-devel zlib-devel
  snappy-devel $(vopt_if cloud protobuf-devel) $(vopt_if ipmi freeipmi-devel)
  $(vopt_if xen "xen-devel yajl-devel") $(vopt_if cups cups-devel)"
@@ -18,7 +18,7 @@ maintainer="Michael Aldridge <maldridge@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://www.netdata.cloud/"
 distfiles="https://github.com/netdata/netdata/releases/download/v${version}/netdata-v${version}.tar.gz"
-checksum=2caa042d43ca61007a61294a5ececa037d83a1973bd38032233760341eb1706b
+checksum=cc86172acd5e6ec05bc0fa86a50d967502a264d8adf7f79293923ccd8febb251
 python_version=3
 make_dirs="
  /var/lib/netdata          0755 _netdata _netdata
@@ -43,6 +43,11 @@ if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 fi
 
 pre_configure() {
+	vsed -e 's/#define info(/#define netdata_log_info(/g' -i libnetdata/log/log.h
+	vsed -e 's/^\([ ]*\)info[ ]*(/\1netdata_log_info(/g' -i $(grep -rl '^[ ]*info *(' ./)
+	vsed -e 's/^\([ ]*\)else info(/\1else netdata_log_info(/g' -i $(grep -rl '^[ ]*else info(' ./)
+	vsed -e 's/^\([ ]*\)if(\([^)]*\))[ ]*info(/\1if(\2) netdata_log_info(/g' -i $(grep -rl '^[ ]*if.*info(' ./)
+
 	if [ "$CROSS_BUILD" ]; then
 		sed -i "s|	\$(builddir)/judyltablesgen\$(EXEEXT)|	qemu-${XBPS_TARGET_QEMU_MACHINE}-static \$(builddir)/judyltablesgen\$(EXEEXT)|g" Makefile.am
 	fi

From 4af9953c93797336b30f00fdadf1ddf068056c0f Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 8 Jul 2023 12:47:51 +0200
Subject: [PATCH 33/35] strawberry: rebuild against protobuf-23.3_1

---
 srcpkgs/strawberry/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/strawberry/template b/srcpkgs/strawberry/template
index b42efa1b89b2..91f2e07a0ec0 100644
--- a/srcpkgs/strawberry/template
+++ b/srcpkgs/strawberry/template
@@ -1,7 +1,7 @@
 # Template file for 'strawberry'
 pkgname=strawberry
 version=1.0.17
-revision=2
+revision=3
 build_style=cmake
 hostmakedepends="pkg-config protobuf gettext"
 makedepends="alsa-lib-devel boost-devel gnutls-devel fftw-devel

From 746dfe7ea0d9d1812353fab645f7209a811e2034 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 8 Jul 2023 12:47:51 +0200
Subject: [PATCH 34/35] libphonenumber: rebuild against protobuf-23.3_1

---
 srcpkgs/libphonenumber/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libphonenumber/template b/srcpkgs/libphonenumber/template
index f554714b3c7a..058939459f6a 100644
--- a/srcpkgs/libphonenumber/template
+++ b/srcpkgs/libphonenumber/template
@@ -1,7 +1,7 @@
 # Template file for 'libphonenumber'
 pkgname=libphonenumber
 version=8.12.39
-revision=12
+revision=13
 build_wrksrc=cpp
 build_style=cmake
 build_helper=qemu

From 3bda79a877f9b9299fe833bd7b8bd6c3b47e4cae Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 14 Jul 2023 15:44:21 +0200
Subject: [PATCH 35/35] python3-protobuf: update to 4.23.4.

---
 srcpkgs/python3-protobuf/patches/cpp17.patch  |  11 ++
 .../patches/python-3.11.patch                 | 132 ------------------
 srcpkgs/python3-protobuf/template             |  11 +-
 3 files changed, 18 insertions(+), 136 deletions(-)
 create mode 100644 srcpkgs/python3-protobuf/patches/cpp17.patch
 delete mode 100644 srcpkgs/python3-protobuf/patches/python-3.11.patch

diff --git a/srcpkgs/python3-protobuf/patches/cpp17.patch b/srcpkgs/python3-protobuf/patches/cpp17.patch
new file mode 100644
index 000000000000..97b81e1bfa5a
--- /dev/null
+++ b/srcpkgs/python3-protobuf/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/python/setup.py	2023-07-05 23:53:30.000000000 +0200
++++ -	2023-07-14 16:19:35.949677747 +0200
+@@ -370,7 +370,7 @@
+       extra_compile_args.append('-Wno-invalid-offsetof')
+       extra_compile_args.append('-Wno-sign-compare')
+       extra_compile_args.append('-Wno-unused-variable')
+-      extra_compile_args.append('-std=c++14')
++      extra_compile_args.append('-std=c++17')
+ 
+     if sys.platform == 'darwin':
+       extra_compile_args.append('-Wno-shorten-64-to-32')
diff --git a/srcpkgs/python3-protobuf/patches/python-3.11.patch b/srcpkgs/python3-protobuf/patches/python-3.11.patch
deleted file mode 100644
index f6ed1b078357..000000000000
--- a/srcpkgs/python3-protobuf/patches/python-3.11.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From da973aff2adab60a9e516d3202c111dbdde1a50f Mon Sep 17 00:00:00 2001
-From: Alexander Shadchin <alexandr.shadchin@gmail.com>
-Date: Sun, 14 Aug 2022 21:13:49 +0300
-Subject: [PATCH] Fix build with Python 3.11
-
-The PyFrameObject structure members have been removed from the public C API.
----
- google/protobuf/pyext/descriptor.cc | 75 ++++++++++++++++++----
- 1 file changed, 62 insertions(+), 13 deletions(-)
-
-diff --git a/google/protobuf/pyext/descriptor.cc b/google/protobuf/pyext/descriptor.cc
-index fc83acf01a..fc97b0fa6c 100644
---- a/google/protobuf/pyext/descriptor.cc
-+++ b/google/protobuf/pyext/descriptor.cc
-@@ -58,6 +58,37 @@
-               : 0)                                               \
-        : PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
- 
-+#if PY_VERSION_HEX < 0x030900B1 && !defined(PYPY_VERSION)
-+static PyCodeObject* PyFrame_GetCode(PyFrameObject *frame)
-+{
-+    Py_INCREF(frame->f_code);
-+    return frame->f_code;
-+}
-+
-+static PyFrameObject* PyFrame_GetBack(PyFrameObject *frame)
-+{
-+    Py_XINCREF(frame->f_back);
-+    return frame->f_back;
-+}
-+#endif
-+
-+#if PY_VERSION_HEX < 0x030B00A7 && !defined(PYPY_VERSION)
-+static PyObject* PyFrame_GetLocals(PyFrameObject *frame)
-+{
-+    if (PyFrame_FastToLocalsWithError(frame) < 0) {
-+        return NULL;
-+    }
-+    Py_INCREF(frame->f_locals);
-+    return frame->f_locals;
-+}
-+
-+static PyObject* PyFrame_GetGlobals(PyFrameObject *frame)
-+{
-+    Py_INCREF(frame->f_globals);
-+    return frame->f_globals;
-+}
-+#endif
-+
- namespace google {
- namespace protobuf {
- namespace python {
-@@ -96,48 +127,66 @@ bool _CalledFromGeneratedFile(int stacklevel) {
-   // This check is not critical and is somewhat difficult to implement correctly
-   // in PyPy.
-   PyFrameObject* frame = PyEval_GetFrame();
-+  PyCodeObject* frame_code = nullptr;
-+  PyObject* frame_globals = nullptr;
-+  PyObject* frame_locals = nullptr;
-+  bool result = false;
-+
-   if (frame == nullptr) {
--    return false;
-+    goto exit;
-   }
-+  Py_INCREF(frame);
-   while (stacklevel-- > 0) {
--    frame = frame->f_back;
-+    PyFrameObject* next_frame = PyFrame_GetBack(frame);
-+    Py_DECREF(frame);
-+    frame = next_frame;
-     if (frame == nullptr) {
--      return false;
-+      goto exit;
-     }
-   }
- 
--  if (frame->f_code->co_filename == nullptr) {
--    return false;
-+  frame_code = PyFrame_GetCode(frame);
-+  if (frame_code->co_filename == nullptr) {
-+    goto exit;
-   }
-   char* filename;
-   Py_ssize_t filename_size;
--  if (PyString_AsStringAndSize(frame->f_code->co_filename,
-+  if (PyString_AsStringAndSize(frame_code->co_filename,
-                                &filename, &filename_size) < 0) {
-     // filename is not a string.
-     PyErr_Clear();
--    return false;
-+    goto exit;
-   }
-   if ((filename_size < 3) ||
-       (strcmp(&filename[filename_size - 3], ".py") != 0)) {
-     // Cython's stack does not have .py file name and is not at global module
-     // scope.
--    return true;
-+    result = true;
-+    goto exit;
-   }
-   if (filename_size < 7) {
-     // filename is too short.
--    return false;
-+    goto exit;
-   }
-   if (strcmp(&filename[filename_size - 7], "_pb2.py") != 0) {
-     // Filename is not ending with _pb2.
--    return false;
-+    goto exit;
-   }
- 
--  if (frame->f_globals != frame->f_locals) {
-+  frame_globals = PyFrame_GetGlobals(frame);
-+  frame_locals = PyFrame_GetLocals(frame);
-+  if (frame_globals != frame_locals) {
-     // Not at global module scope
--    return false;
-+    goto exit;
-   }
- #endif
--  return true;
-+  result = true;
-+exit:
-+  Py_XDECREF(frame_globals);
-+  Py_XDECREF(frame_locals);
-+  Py_XDECREF(frame_code);
-+  Py_XDECREF(frame);
-+  return result;
- }
- 
- // If the calling code is not a _pb2.py file, raise AttributeError.
diff --git a/srcpkgs/python3-protobuf/template b/srcpkgs/python3-protobuf/template
index e965c4432162..5c78e4794018 100644
--- a/srcpkgs/python3-protobuf/template
+++ b/srcpkgs/python3-protobuf/template
@@ -1,16 +1,19 @@
 # Template file for 'python3-protobuf'
 pkgname=python3-protobuf
-version=4.21.12
+version=4.23.4
+_protobuf=${version#*.}
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-wheel"
+build_wrksrc=python
+hostmakedepends="python3-setuptools python3-wheel protobuf"
 depends="python3-setuptools python3-six"
 short_desc="Python3 bindings for Google Protocol Buffers"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
-distfiles="${PYPI_SITE}/p/protobuf/protobuf-${version}.tar.gz"
-checksum=7cd532c4566d0e6feafecc1059d04c7915aec8e182d1cf7adee8b24ef1e2e6ab
+# PyPi release does not have bits for cppext
+distfiles="https://github.com/protocolbuffers/protobuf/releases/download/v${_protobuf}/protobuf-${_protobuf}.tar.gz"
+checksum=a700a49470d301f1190a487a923b5095bf60f08f4ae4cac9f5f7c36883d17971
 
 build_options="cppext"
 build_options_default="cppext"

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] protobuf/abseil-cpp/grpc: update
  2023-07-08 11:45 [PR PATCH] protobuf/abseil-cpp: update Johnnynator
                   ` (6 preceding siblings ...)
  2023-07-14 14:39 ` Johnnynator
@ 2023-07-14 15:33 ` Johnnynator
  2023-07-14 15:36 ` Johnnynator
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Johnnynator @ 2023-07-14 15:33 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 616 bytes --]

There is an updated pull request by Johnnynator against master on the void-packages repository

https://github.com/Johnnynator/void-packages google-stuff
https://github.com/void-linux/void-packages/pull/44920

protobuf/abseil-cpp/grpc: update
"Fun" with google stuff

#### Testing the changes
- I tested the changes in this PR: **WiP**


#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):



A patch file from https://github.com/void-linux/void-packages/pull/44920.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-google-stuff-44920.patch --]
[-- Type: text/x-diff, Size: 116351 bytes --]

From 2fa9d09713592cbb1af14d87d047818bd4685933 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:24:01 +0200
Subject: [PATCH 01/35] abseil-cpp: update to 20230125.3.

---
 common/shlibs                                 | 128 ++++++++++++------
 srcpkgs/abseil-cpp/patches/google-sucks.patch |  77 -----------
 srcpkgs/abseil-cpp/template                   |   4 +-
 3 files changed, 85 insertions(+), 124 deletions(-)
 delete mode 100644 srcpkgs/abseil-cpp/patches/google-sucks.patch

diff --git a/common/shlibs b/common/shlibs
index 4b2122d1b199..d1e779f4e7cb 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4207,51 +4207,89 @@ libsunpinyin.so.3 libsunpinyin-3.0.0rc2_1
 libtpm2-totp.so.0 libtpm2-totp-0.3.0_1
 libmujs.so.1.2.0 mujs-1.2.0_2
 libiir.so.1 libiir1-1.9.3_1
-libabsl_statusor.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_hash.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_raw_hash_set.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_bad_variant_access.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_status.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_pool_urbg.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_hwaes_impl.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_slow.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cord.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_city.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_bad_optional_access.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_info.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_str_format_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_synchronization.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_time.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strings.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_throw_delegate.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_time_zone.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_spinlock_wait.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_base.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_civil_time.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cord_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_functions.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_handle.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_debugging_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_demangle_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_exponential_biased.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_graphcycles_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_hashtablez_sampler.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_int128.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_log_severity.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_low_level_hash.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_malloc_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_distributions.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_platform.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_hwaes.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_seed_material.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_seed_gen_exception.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_seed_sequences.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_raw_logging_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_stacktrace.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strerror.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strings_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_symbolize.so.2206.0.0 abseil-cpp-20220623.1_1
+libabsl_flags.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_raw_logging_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_parse.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_reflection.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_globals.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_config.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_seed_sequences.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_statusor.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_usage_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_commandlineflag.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_hwaes_impl.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_status.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_any_cast_impl.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_variant_access.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_raw_hash_set.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_optional_access.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cord.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_distribution_test_util.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_handle.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_graphcycles_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_spinlock_wait.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_functions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_usage.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_debugging_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strerror.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_seed_material.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_log_sink_set.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_proto.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_civil_time.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_conditions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_cpu_detect.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_entry.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_distributions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_globals.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_format.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_exponential_biased.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_city.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_symbolize.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_leak_check.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_low_level_hash.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_severity.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_scoped_set_env.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strings.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_die_if_null.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_hash.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_commandlineflag_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_periodic_sampler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_platform.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_malloc_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_sample_token.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_str_format_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_synchronization.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_message.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strings_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_private_handle_accessor.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cord_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_hwaes.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_throw_delegate.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_cord_state.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_flags.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_program_name.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_time_zone.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_examine_stack.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc32c.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_initialize.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_failure_signal_handler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_time.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_info.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_sink.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_nullguard.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_demangle_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_base.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_hashtablez_sampler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_marshalling.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_pool_urbg.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_int128.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_stacktrace.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_seed_gen_exception.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_check_op.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_slow.so.2301.0.0 abseil-cpp-20230125.3_1
 libairspyhf.so.0 libairspyhf-1.6.8_1
 libtraceevent.so.1 libtraceevent-1.6.2_1
 libtracefs.so.1 libtracefs-1.4.2_1
diff --git a/srcpkgs/abseil-cpp/patches/google-sucks.patch b/srcpkgs/abseil-cpp/patches/google-sucks.patch
deleted file mode 100644
index 511bae847101..000000000000
--- a/srcpkgs/abseil-cpp/patches/google-sucks.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-commit 1fbfea71fb42b2e79f9e342c1843bd26a8703536
-Author: Daniel Kolesa <daniel@octaforge.org>
-Date:   Thu Aug 25 01:20:58 2022 +0200
-
-    An all-in-one patch that fixes several issues:
-    
-    1) UnscaledCycleClock not fully implemented for ppc*-musl (disabled on musl)
-    2) powerpc stacktrace implementation only works on glibc (disabled on musl)
-    3) powerpc stacktrace implementation has ppc64 assumptions (fixed)
-    4) examine_stack.cpp makes glibc assumptions on powerpc (fixed)
-
-diff --git a/absl/base/internal/unscaledcycleclock.cc b/absl/base/internal/unscaledcycleclock.cc
-index b1c396c..d62bfd6 100644
---- a/absl/base/internal/unscaledcycleclock.cc
-+++ b/absl/base/internal/unscaledcycleclock.cc
-@@ -20,7 +20,7 @@
- #include <intrin.h>
- #endif
- 
--#if defined(__powerpc__) || defined(__ppc__)
-+#if (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
- #ifdef __GLIBC__
- #include <sys/platform/ppc.h>
- #elif defined(__FreeBSD__)
-@@ -58,7 +58,7 @@ double UnscaledCycleClock::Frequency() {
-   return base_internal::NominalCPUFrequency();
- }
- 
--#elif defined(__powerpc__) || defined(__ppc__)
-+#elif (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
- 
- int64_t UnscaledCycleClock::Now() {
- #ifdef __GLIBC__
-diff --git a/absl/base/internal/unscaledcycleclock.h b/absl/base/internal/unscaledcycleclock.h
-index 2cbeae3..83d8c98 100644
---- a/absl/base/internal/unscaledcycleclock.h
-+++ b/absl/base/internal/unscaledcycleclock.h
-@@ -46,8 +46,8 @@
- 
- // The following platforms have an implementation of a hardware counter.
- #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \
--    defined(__powerpc__) || defined(__ppc__) || defined(__riscv) ||     \
--    defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
-+    ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \
-+    defined(__riscv) || defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
- #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
- #else
- #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 0
-diff --git a/absl/debugging/internal/examine_stack.cc b/absl/debugging/internal/examine_stack.cc
-index 5bdd341..a42a3c4 100644
---- a/absl/debugging/internal/examine_stack.cc
-+++ b/absl/debugging/internal/examine_stack.cc
-@@ -174,8 +174,10 @@ void* GetProgramCounter(void* const vuc) {
-     return reinterpret_cast<void*>(context->uc_mcontext.pc);
- #elif defined(__powerpc64__)
-     return reinterpret_cast<void*>(context->uc_mcontext.gp_regs[32]);
--#elif defined(__powerpc__)
-+#elif defined(__powerpc__) && defined(__GLIBC__)
-     return reinterpret_cast<void*>(context->uc_mcontext.uc_regs->gregs[32]);
-+#elif defined(__powerpc__)
-+    return reinterpret_cast<void*>(context->uc_mcontext.gregs[32]);
- #elif defined(__riscv)
-     return reinterpret_cast<void*>(context->uc_mcontext.__gregs[REG_PC]);
- #elif defined(__s390__) && !defined(__s390x__)
-diff --git a/absl/debugging/internal/stacktrace_config.h b/absl/debugging/internal/stacktrace_config.h
-index 3929b1b..23d5e50 100644
---- a/absl/debugging/internal/stacktrace_config.h
-+++ b/absl/debugging/internal/stacktrace_config.h
-@@ -60,7 +60,7 @@
- #elif defined(__i386__) || defined(__x86_64__)
- #define ABSL_STACKTRACE_INL_HEADER \
-   "absl/debugging/internal/stacktrace_x86-inl.inc"
--#elif defined(__ppc__) || defined(__PPC__)
-+#elif (defined(__ppc__) || defined(__PPC__)) && defined(__GLIBC__)
- #define ABSL_STACKTRACE_INL_HEADER \
-   "absl/debugging/internal/stacktrace_powerpc-inl.inc"
- #elif defined(__aarch64__)
diff --git a/srcpkgs/abseil-cpp/template b/srcpkgs/abseil-cpp/template
index 8640d2489406..3ffdb4d99d33 100644
--- a/srcpkgs/abseil-cpp/template
+++ b/srcpkgs/abseil-cpp/template
@@ -1,6 +1,6 @@
 # Template file for 'abseil-cpp'
 pkgname=abseil-cpp
-version=20220623.1
+version=20230125.3
 revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON -DABSL_PROPAGATE_CXX_STD=ON"
@@ -10,7 +10,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="Apache-2.0"
 homepage="https://abseil.io"
 distfiles="https://github.com/abseil/abseil-cpp/archive/${version}.tar.gz"
-checksum=91ac87d30cc6d79f9ab974c51874a704de9c2647c40f6932597329a282217ba8
+checksum=5366d7e7fa7ba0d915014d387b66d0d002c03236448e1ba9ef98122c13b35c36
 
 abseil-cpp-devel_package() {
 	short_desc+=" (development files)"

From 890d802c66e66caacde2d4010022beb952242fa7 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 02/35] Bear: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/Bear/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/Bear/template b/srcpkgs/Bear/template
index cebf51b64728..2e6da3ba9a30 100644
--- a/srcpkgs/Bear/template
+++ b/srcpkgs/Bear/template
@@ -1,7 +1,7 @@
 # Template file for 'Bear'
 pkgname=Bear
 version=3.1.2
-revision=1
+revision=2
 build_style=cmake
 hostmakedepends="pkg-config protobuf protobuf-devel grpc"
 makedepends="json-c++ spdlog grpc-devel protobuf-devel gtest-devel"

From 88e754bb31c06e8f7a15c8938ace693600708eaf Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 03/35] grpc: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/grpc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index 5b4547a5c0fc..f9d197a1c354 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -1,7 +1,7 @@
 # Template file for 'grpc'
 pkgname=grpc
 version=1.49.1
-revision=2
+revision=3
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON
  -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package

From b38f03b380fbf622b18ceec71ee3bf0e76e8d298 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 04/35] justbuild: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/justbuild/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index 1ad8e334617d..ee36f6dae575 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
 # Template file for 'justbuild'
 pkgname=justbuild
 version=1.1.2
-revision=1
+revision=2
 create_wrksrc=yes
 hostmakedepends="jo pandoc pkg-config python3 tar unzip wget"
 makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++

From 3ebf2dd20a5ae7283d817fc5390a9a76794473ec Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 05/35] python3-grpcio: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/python3-grpcio/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 826eda0fc560..9b3c7288a9dd 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-grpcio'
 pkgname=python3-grpcio
 version=1.49.1
-revision=3
+revision=4
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-six python3-Cython"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel

From 0aac8463d0d41a2a7e48711826c077840dd367f3 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 06/35] sysdig: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/sysdig/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index 81ddb7aba5e3..4a04e762468c 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,7 +1,7 @@
 # Template file for 'sysdig'
 pkgname=sysdig
 version=0.28.0
-revision=7
+revision=8
 build_style=cmake
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF
@@ -36,7 +36,8 @@ CXXFLAGS="-Wno-deprecated-declarations"
 CXXFLAGS+=" -I/usr/include/grpc_absl"
 
 post_extract() {
-	sed -i 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' scripts/CMakeLists.txt
+	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
+	vsed -e 's|-std=c++0x||' -i CMakeLists.txt
 }
 
 post_install() {

From 2fb9d639d2e07e41f91bb3b3a1037eec54746b69 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 22:01:12 +0200
Subject: [PATCH 07/35] python3-grpcio: update to 1.56.0.

---
 srcpkgs/python3-grpcio/template | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 9b3c7288a9dd..25ea3fc34620 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-grpcio'
 pkgname=python3-grpcio
-version=1.49.1
-revision=4
+version=1.56.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-six python3-Cython"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel
@@ -12,7 +12,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://grpc.io"
 distfiles="${PYPI_SITE}/g/grpcio/grpcio-${version}.tar.gz"
-checksum=d4725fc9ec8e8822906ae26bb26f5546891aa7fbc3443de970cc556d43a5c99f
+checksum=4c08ee21b3d10315b8dc26f6c13917b20ed574cdbed2d2d80c53d5508fdcc0f2
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	makedepends+=" libatomic-devel"
@@ -29,5 +29,7 @@ export GRPC_PYTHON_BUILD_SYSTEM_RE2=1
 export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
 
 post_extract() {
+	# abseil-cpp 2023xxxxxx requires at least c++ 17
+	vsed -e 's/c++14/c++17/g' -i setup.py
 	rm src/python/grpcio/grpc/_cython/cygrpc.cpp
 }

From 9cf5cffe9fe5d6aea416ef6f72d12e5479eec125 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 22:01:47 +0200
Subject: [PATCH 08/35] grpc: update to 1.56.0.

---
 common/shlibs                                 | 24 +++++++++----------
 srcpkgs/grpc/patches/cmake.patch              | 20 ++++++++++++++++
 .../grpc/patches/revert-find-protobuf.patch   | 23 ++++++++++++++++++
 srcpkgs/grpc/template                         | 15 ++++++------
 4 files changed, 63 insertions(+), 19 deletions(-)
 create mode 100644 srcpkgs/grpc/patches/cmake.patch
 create mode 100644 srcpkgs/grpc/patches/revert-find-protobuf.patch

diff --git a/common/shlibs b/common/shlibs
index d1e779f4e7cb..5adfa4d6e69f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3683,18 +3683,18 @@ liboblibs.so.0.1 oblibs-0.1.1.1_1
 libaal-1.0.so.7 libaal-1.0.7_1
 libaal-minimal.so.0 libaal-1.0.7_1
 libcli.so.1.9 libcli-1.9.8.4_1
-libaddress_sorting.so.27 libgrpc-1.49.1_1
-libgpr.so.27 libgrpc-1.49.1_1
-libgrpc.so.27 libgrpc-1.49.1_1
-libgrpc_unsecure.so.27 libgrpc-1.49.1_1
-libupb.so.27 libgrpc-1.49.1_1
-libgrpc++.so.1.49 libgrpc-1.49.1_1
-libgrpc++_alts.so.1.49 libgrpc-1.49.1_1
-libgrpc++_error_details.so.1.49 libgrpc-1.49.1_1
-libgrpc++_reflection.so.1.49 libgrpc-1.49.1_1
-libgrpc++_unsecure.so.1.49 libgrpc-1.49.1_1
-libgrpc_plugin_support.so.1.49 libgrpc-1.49.1_1
-libgrpcpp_channelz.so.1.49 libgrpc-1.49.1_1
+libaddress_sorting.so.33 libgrpc-1.56.0_1
+libgpr.so.33 libgrpc-1.56.0_1
+libgrpc.so.33 libgrpc-1.56.0_1
+libgrpc_unsecure.so.33 libgrpc-1.56.0_1
+libupb.so.33 libgrpc-1.56.0_1
+libgrpc++.so.1.56 libgrpc-1.56.0_1
+libgrpc++_alts.so.1.56 libgrpc-1.56.0_1
+libgrpc++_error_details.so.1.56 libgrpc-1.56.0_1
+libgrpc++_reflection.so.1.56 libgrpc-1.56.0_1
+libgrpc++_unsecure.so.1.56 libgrpc-1.56.0_1
+libgrpc_plugin_support.so.1.56 libgrpc-1.56.0_1
+libgrpcpp_channelz.so.1.56 libgrpc-1.56.0_1
 libircclient.so.1 libircclient-1.10_5
 libFAudio.so.0 FAudio-19.05_1
 libqaccessibilityclient-qt5.so.0 libqaccessibilityclient-0.4.0_1
diff --git a/srcpkgs/grpc/patches/cmake.patch b/srcpkgs/grpc/patches/cmake.patch
new file mode 100644
index 000000000000..54d04e29837d
--- /dev/null
+++ b/srcpkgs/grpc/patches/cmake.patch
@@ -0,0 +1,20 @@
+--- a/cmake/gRPCConfig.cmake.in	2023-06-14 22:21:16.000000000 +0200
++++ -	2023-06-28 11:11:32.902678412 +0200
+@@ -1,5 +1,6 @@
+ # Module path
+ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/modules)
++include(CMakeFindDependencyMacro)
+ 
+ # Depend packages
+ @_gRPC_FIND_ZLIB@
+--- a/CMakeLists.txt	2023-07-11 08:54:22.009027477 +0200
++++ -	2023-07-11 08:54:38.950947984 +0200
+@@ -12375,6 +12375,8 @@
+   ${_gRPC_ZLIB_LIBRARIES}
+   ${_gRPC_ALLTARGETS_LIBRARIES}
+   grpc_plugin_support
++  absl::hash
++  absl::raw_hash_set
+ )
+ 
+ 
diff --git a/srcpkgs/grpc/patches/revert-find-protobuf.patch b/srcpkgs/grpc/patches/revert-find-protobuf.patch
new file mode 100644
index 000000000000..6001f37c6b1b
--- /dev/null
+++ b/srcpkgs/grpc/patches/revert-find-protobuf.patch
@@ -0,0 +1,23 @@
+Use the old cmake provided FindProtobuf() implementation for now.
+A future cmake update will remove this module, but use it for now until
+all packages are updated to the new system
+---
+--- a/cmake/protobuf.cmake	2023-06-14 22:21:16.000000000 +0200
++++ -	2023-07-10 21:05:41.114443796 +0200
+@@ -55,7 +55,7 @@
+     set(gRPC_INSTALL FALSE)
+   endif()
+ elseif(gRPC_PROTOBUF_PROVIDER STREQUAL "package")
+-  find_package(Protobuf REQUIRED CONFIG)
++  find_package(Protobuf REQUIRED)
+ 
+   if(Protobuf_FOUND OR PROTOBUF_FOUND)
+     if(TARGET protobuf::${_gRPC_PROTOBUF_LIBRARY_NAME})
+@@ -86,6 +86,6 @@
+         set(_gRPC_PROTOBUF_PROTOC_EXECUTABLE ${PROTOBUF_PROTOC_EXECUTABLE})
+       endif()
+     endif()
+-    set(_gRPC_FIND_PROTOBUF "find_dependency(Protobuf CONFIG)")
++    set(_gRPC_FIND_PROTOBUF "find_dependency(Protobuf)")
+   endif()
+ endif()
diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index f9d197a1c354..9c58c2509bee 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -1,14 +1,13 @@
 # Template file for 'grpc'
 pkgname=grpc
-version=1.49.1
-revision=3
+version=1.56.0
+revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON
  -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package
  -DgRPC_SSL_PROVIDER=package -DgRPC_ZLIB_PROVIDER=package
- -DgRPC_ABSL_PROVIDER=package -D_gRPC_RE2_LIBRARIES=-lre2
- -D_gRPC_RE2_INCLUDE_DIR=${XBPS_CROSS_BASE}/usr/include"
-hostmakedepends="which protobuf"
+ -DgRPC_ABSL_PROVIDER=package -DgRPC_RE2_PROVIDER=package"
+hostmakedepends="protobuf pkg-config"
 _devel_depends="c-ares-devel re2-devel zlib-devel openssl-devel abseil-cpp-devel"
 makedepends="libprotoc-devel protobuf-devel gperftools-devel ${_devel_depends}"
 short_desc="High performance, open source, general RPC framework"
@@ -16,11 +15,12 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://github.com/grpc/grpc"
 distfiles="${homepage}/archive/v${version}/${pkgname}-${version}.tar.gz"
-checksum=5071b630e2a14707ad060636990f1b25b0984bd168c7ea1ab95e48a3bdc0081f
+checksum=e034992a0b464042021f6d440f2090acc2422c103a322b0844e3921ccea981dc
 
 if [ "$CROSS_BUILD" ]; then
 	# need host grpc_cpp_plugin
 	hostmakedepends+=" grpc"
+	configure_args+=" -DProtobuf_PROTOC_EXECUTABLE=/usr/bin/protoc"
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
@@ -38,7 +38,8 @@ libgrpc_package() {
 
 grpc-devel_package() {
 	short_desc+=" - development files"
-	depends="${sourcepkg}>=${version}_${revision} ${_devel_depends}"
+	depends="${sourcepkg}>=${version}_${revision} ${_devel_depends}
+	 protobuf-devel"
 	pkg_install() {
 		vmove usr/include
 		vmove usr/lib/*.so

From 1b9f9f8775b66c8e94f0cd621070940368f4a271 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:40:13 +0200
Subject: [PATCH 09/35] protobuf: update to 23.4.

- switch to cmake buildstyle
- grpc needs the .cmake files to find protobuf
- newer version of protobuf will drop autoconf
---
 common/shlibs             |  6 ++---
 srcpkgs/protobuf/template | 46 ++++++++++++++-------------------------
 2 files changed, 19 insertions(+), 33 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 5adfa4d6e69f..3cd47fb4f486 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3115,9 +3115,9 @@ libm17n-flt.so.0 m17n-lib-1.7.0_1
 libm17n-gui.so.0 m17n-lib-1.7.0_1
 libm17n-core.so.0 m17n-lib-1.7.0_1
 libm17n.so.0 m17n-lib-1.7.0_1
-libprotobuf-lite.so.32 libprotobuf-lite-21.4_1
-libprotoc.so.32 libprotoc-21.4_1
-libprotobuf.so.32 libprotobuf-21.4_1
+libprotobuf-lite.so.23.4.0 libprotobuf-lite-23.4_1
+libprotoc.so.23.4.0 libprotoc-23.4_1
+libprotobuf.so.23.4.0 libprotobuf-23.4_1
 libsombok.so.3 sombok-2.4.0_1
 libdeviceclient.so.0 pragha-1.3.3_1
 libykclient.so.3 ykclient-2.15_1
diff --git a/srcpkgs/protobuf/template b/srcpkgs/protobuf/template
index 571f06487c85..91324a4da612 100644
--- a/srcpkgs/protobuf/template
+++ b/srcpkgs/protobuf/template
@@ -1,22 +1,22 @@
 # Template file for 'protobuf'
 pkgname=protobuf
-version=21.12
+version=23.4
 revision=1
-create_wrksrc="yes"
-build_wrksrc="${pkgname}-${version}"
-build_style=gnu-configure
-hostmakedepends="pkg-config automake libtool"
-makedepends="zlib-devel"
+build_style=cmake
+hostmakedepends="pkg-config"
+configure_args="-Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_USE_EXTERNAL_GTEST=ON
+ -Dprotobuf_BUILD_LIBPROTOC=ON -Dprotobuf_ABSL_PROVIDER=package"
+# XXX: Tests require that the abseil-cpp provides absl::scoped_mock_log
+configure_args+=" -Dprotobuf_BUILD_TESTS=OFF"
+makedepends="zlib-devel gtest-devel libatomic-devel
+ abseil-cpp-devel"
 short_desc="Protocol buffers compiler"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
 changelog="https://raw.githubusercontent.com/google/protobuf/master/CHANGES.txt"
-_googletest_commit="5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081"
-distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz
- https://github.com/google/googletest/archive/${_googletest_commit}.tar.gz"
-checksum="22fdaf641b31655d4b2297f9981fa5203b2866f8332d3c6333f6b0107bb320de
- 0e2f36e8e403c125fd0ab02171bdb786d3b6b3875b6ccf3b2eb7969be8faecd0"
+distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz"
+checksum=a700a49470d301f1190a487a923b5095bf60f08f4ae4cac9f5f7c36883d17971
 
 # Switch to versioned package
 conflicts="protobuf18>=0 protobuf23>=0 protobuf24>=0
@@ -26,24 +26,11 @@ replaces="${conflicts}"
 if [ "$CROSS_BUILD" ]; then
 	# needs host protoc
 	hostmakedepends+=" ${pkgname}"
-	configure_args+=" --with-protoc=/usr/bin/protoc"
+	configure_args+=" -Dprotobuf_PROTOC_EXE=/usr/bin/protoc"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-	LDFLAGS+=" -latomic"
-fi
-
-post_extract() {
-	rmdir "${build_wrksrc}/third_party/googletest"
-	mv "googletest-${_googletest_commit}" "${build_wrksrc}/third_party/googletest"
-}
-
-pre_configure() {
-	autoreconf -fi
-}
-
 post_install() {
+	rm -rf "${DESTDIR}/usr/lib/cmake"
 	vlicense LICENSE
 }
 
@@ -80,7 +67,6 @@ libprotoc-devel_package() {
 	 libprotoc26-devel>=0 libprotoc28-devel>=0"
 	replaces="${conflicts}"
 	pkg_install() {
-		vmove usr/lib/libprotoc.a
 		vmove usr/lib/libprotoc.so
 		vmove usr/include/google/protobuf/compiler
 	}
@@ -89,7 +75,8 @@ libprotoc-devel_package() {
 protobuf-devel_package() {
 	depends="zlib-devel
 	 libprotobuf-${version}_${revision}
-	 libprotobuf-lite-${version}_${revision}"
+	 libprotobuf-lite-${version}_${revision}
+	 abseil-cpp-devel"
 	short_desc="Protocol buffers C++ library - development files"
 	# Switch to versioned package
 	conflicts="protobuf18-devel>=0 protobuf23-devel>=0
@@ -98,10 +85,9 @@ protobuf-devel_package() {
 	replaces="${conflicts}"
 	pkg_install() {
 		vmove usr/include
-		vmove usr/lib/libprotobuf.a
-		vmove usr/lib/libprotobuf-lite.a
 		vmove usr/lib/libprotobuf.so
 		vmove usr/lib/libprotobuf-lite.so
 		vmove usr/lib/pkgconfig
+		vmove "usr/lib/*.a"
 	}
 }

From 4ca026ab0fc4b66fba4ea5bfcbb04de792e294c3 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 10/35] EternalTerminal: rebuild against protobuf-23.3_1

---
 srcpkgs/EternalTerminal/patches/limits.patch | 10 ++++++++++
 srcpkgs/EternalTerminal/template             |  2 +-
 2 files changed, 11 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/EternalTerminal/patches/limits.patch

diff --git a/srcpkgs/EternalTerminal/patches/limits.patch b/srcpkgs/EternalTerminal/patches/limits.patch
new file mode 100644
index 000000000000..9226bd45001a
--- /dev/null
+++ b/srcpkgs/EternalTerminal/patches/limits.patch
@@ -0,0 +1,10 @@
+--- a/EternalTerminal/external_imported/cxxopts/include/cxxopts.hpp	2022-05-05 17:20:44.000000000 +0200
++++ -	2023-07-10 20:07:25.607948589 +0200
+@@ -37,6 +37,7 @@
+ #include <unordered_map>
+ #include <unordered_set>
+ #include <vector>
++#include <limits>
+ 
+ #ifdef __cpp_lib_optional
+ #include <optional>
diff --git a/srcpkgs/EternalTerminal/template b/srcpkgs/EternalTerminal/template
index 1017a1b4a1ec..156eab6ce47e 100644
--- a/srcpkgs/EternalTerminal/template
+++ b/srcpkgs/EternalTerminal/template
@@ -1,7 +1,7 @@
 # Template file for 'EternalTerminal'
 pkgname=EternalTerminal
 version=6.2.1
-revision=1
+revision=2
 # revisions used for the specific versions of submodules.
 # they can be found in the external/ directory of the source code.
 _sanitizers_gitrev="99e159ec9bc8dd362b08d18436bd40ff0648417b"

From d2b1ca8825e1f07cb6c77c8e458f5e13b0d58e35 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 11/35] vlc: rebuild against protobuf-23.3_1

---
 srcpkgs/vlc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vlc/template b/srcpkgs/vlc/template
index 210762b0a7e2..651c94a1353a 100644
--- a/srcpkgs/vlc/template
+++ b/srcpkgs/vlc/template
@@ -1,7 +1,7 @@
 # Template file for 'vlc'
 pkgname=vlc
 version=3.0.18
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--disable-gme --disable-libtar --enable-jack
  --enable-live555 --disable-fluidsynth --enable-dvdread

From 7d9411e3c18ecc2aa77408330e840965f4f4664c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 12/35] mixxx: rebuild against protobuf-23.3_1

---
 srcpkgs/mixxx/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mixxx/template b/srcpkgs/mixxx/template
index 619ddca0d332..4b9ea00d3fb3 100644
--- a/srcpkgs/mixxx/template
+++ b/srcpkgs/mixxx/template
@@ -1,7 +1,7 @@
 # Template file for 'mixxx'
 pkgname=mixxx
 version=2.3.3
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="extra-cmake-modules pkg-config protobuf qt5-host-tools qt5-devel"

From 4fe4b5459c8ebe10454bfa79e0218ae3f7171a37 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 13/35] telegram-desktop: rebuild against protobuf-23.3_1

---
 srcpkgs/telegram-desktop/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/telegram-desktop/template b/srcpkgs/telegram-desktop/template
index f114b2341dc5..9db9f80c1a53 100644
--- a/srcpkgs/telegram-desktop/template
+++ b/srcpkgs/telegram-desktop/template
@@ -1,7 +1,7 @@
 # Template file for 'telegram-desktop'
 pkgname=telegram-desktop
 version=4.8.1
-revision=3
+revision=4
 build_style=cmake
 build_helper="qemu"
 configure_args="-DTDESKTOP_API_ID=209235

From 33c5a47722324ca848014b23eb82d72725b8d31b Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:56 +0200
Subject: [PATCH 14/35] usbguard: rebuild against protobuf-23.3_1

---
 srcpkgs/usbguard/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/usbguard/template b/srcpkgs/usbguard/template
index 8625c80a7eda..df4411202568 100644
--- a/srcpkgs/usbguard/template
+++ b/srcpkgs/usbguard/template
@@ -1,7 +1,7 @@
 # Template file for 'usbguard'
 pkgname=usbguard
 version=1.1.2
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-crypto-library=sodium --with-bundled-catch --with-bundled-pegtl"
 conf_files="/etc/usbguard/*"

From 38073ea7aa77731072d95999babc3acf1f74ef04 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 15/35] nsjail: rebuild against protobuf-23.3_1

---
 srcpkgs/nsjail/patches/cpp17.patch       | 11 +++++++++
 srcpkgs/nsjail/patches/kafel-bison.patch | 30 ------------------------
 srcpkgs/nsjail/patches/ldflags.patch     | 11 +++++++++
 srcpkgs/nsjail/patches/log.patch         | 24 +++++++++++++++++++
 srcpkgs/nsjail/template                  | 13 +++++-----
 5 files changed, 53 insertions(+), 36 deletions(-)
 create mode 100644 srcpkgs/nsjail/patches/cpp17.patch
 delete mode 100644 srcpkgs/nsjail/patches/kafel-bison.patch
 create mode 100644 srcpkgs/nsjail/patches/ldflags.patch
 create mode 100644 srcpkgs/nsjail/patches/log.patch

diff --git a/srcpkgs/nsjail/patches/cpp17.patch b/srcpkgs/nsjail/patches/cpp17.patch
new file mode 100644
index 000000000000..384ff7b51258
--- /dev/null
+++ b/srcpkgs/nsjail/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/Makefile	2022-11-22 22:25:15.000000000 +0100
++++ -	2023-07-08 16:35:16.308351723 +0200
+@@ -32,7 +32,7 @@
+ 	-Ikafel/include
+ 
+ CXXFLAGS += $(USER_DEFINES) $(COMMON_FLAGS) $(shell pkg-config --cflags protobuf) \
+-	-std=c++14 -fno-exceptions -Wno-unused -Wno-unused-parameter
++	-std=c++17 -fno-exceptions -Wno-unused -Wno-unused-parameter
+ LDFLAGS += -pie -Wl,-z,noexecstack -lpthread $(shell pkg-config --libs protobuf)
+ 
+ BIN = nsjail
diff --git a/srcpkgs/nsjail/patches/kafel-bison.patch b/srcpkgs/nsjail/patches/kafel-bison.patch
deleted file mode 100644
index 48eff0d36369..000000000000
--- a/srcpkgs/nsjail/patches/kafel-bison.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 32768d3cc8cecbc30d9020dbfa8d9ec541d057e4 Mon Sep 17 00:00:00 2001
-From: Evangelos Foutras <evangelos@foutrelis.com>
-Date: Wed, 17 Mar 2021 16:36:40 +0200
-Subject: [PATCH] Replace YYUSE call with void cast in src/parser.y
-
-The YYUSE macro was renamed to YY_USE in bison 3.7.5; we might as well
-avoid using it altogether and cast the unused variable to void instead.
-
-Fixes the following linker error:
-
-/usr/bin/ld: kafel/libkafel.a(libkafel.o): in function `kafel_yyerror':
-arm_syscalls.c:(.text+0x6984): undefined reference to `YYUSE'
----
- src/parser.y | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git kafel/src/parser.y kafel/src/parser.y
-index e0f109c..0e01373 100644
---- a/kafel/src/parser.y
-+++ b/kafel/src/parser.y
-@@ -420,8 +420,8 @@ const_def
- 
- void yyerror(YYLTYPE * loc, struct kafel_ctxt* ctxt, yyscan_t scanner,
-              const char *msg) {
-+  (void)scanner; /* suppress unused-parameter warning */
-   if (!ctxt->lexical_error) {
--    YYUSE(scanner);
-     if (loc->filename != NULL) {
-       append_error(ctxt, "%s:%d:%d: %s", loc->filename, loc->first_line, loc->first_column, msg);
-     } else {
diff --git a/srcpkgs/nsjail/patches/ldflags.patch b/srcpkgs/nsjail/patches/ldflags.patch
new file mode 100644
index 000000000000..c039ea09e237
--- /dev/null
+++ b/srcpkgs/nsjail/patches/ldflags.patch
@@ -0,0 +1,11 @@
+--- a/kafel/src/Makefile	2023-07-08 16:40:45.058218240 +0200
++++ -	2023-07-08 16:54:04.459715051 +0200
+@@ -56,7 +56,7 @@
+ 	$(CC) $(CFLAGS) -Wl,-soname,$@.${VERSION} -shared $^ -o $@
+ 
+ ${STATIC_TARGET}: ${OBJECTS}
+-	$(LD) $(LDFLAGS) -r ${OBJECTS} -o libkafel_r.o
++	$(LD) -r ${OBJECTS} -o libkafel_r.o
+ 	# Fix x86 PIC symbols
+ 	$(OBJDUMP) -t libkafel_r.o | grep '.hidden' | grep -v 'get_pc_thunk' | sed -e 's/^.*\.hidden //' > libkafel.localize_symbols
+ 	$(OBJCOPY) -w --localize-symbols=libkafel.localize_symbols libkafel_r.o libkafel.o
diff --git a/srcpkgs/nsjail/patches/log.patch b/srcpkgs/nsjail/patches/log.patch
new file mode 100644
index 000000000000..9e7f12368076
--- /dev/null
+++ b/srcpkgs/nsjail/patches/log.patch
@@ -0,0 +1,24 @@
+diff --git a/config.cc b/config.cc
+index 5242ba4..bbb2b6d 100644
+--- a/config.cc
++++ b/config.cc
+@@ -302,11 +302,6 @@ static bool configParseInternal(nsjconf_t* nsjconf, const nsjail::NsJailConfig&
+ 	return true;
+ }
+ 
+-static void LogHandler(
+-    google::protobuf::LogLevel level, const char* filename, int line, const std::string& message) {
+-	LOG_W("config.cc: '%s'", message.c_str());
+-}
+-
+ bool parseFile(nsjconf_t* nsjconf, const char* file) {
+ 	LOG_D("Parsing configuration from '%s'", file);
+ 
+@@ -316,7 +311,6 @@ bool parseFile(nsjconf_t* nsjconf, const char* file) {
+ 		return false;
+ 	}
+ 
+-	SetLogHandler(LogHandler);
+ 	google::protobuf::io::FileInputStream input(fd);
+ 	input.SetCloseOnDelete(true);
+ 
diff --git a/srcpkgs/nsjail/template b/srcpkgs/nsjail/template
index 346348fdf17b..5c5d0a508f38 100644
--- a/srcpkgs/nsjail/template
+++ b/srcpkgs/nsjail/template
@@ -1,7 +1,7 @@
 # Template file for 'nsjail'
 pkgname=nsjail
-version=3.0
-revision=9
+version=3.3
+revision=1
 create_wrksrc=yes
 build_style=gnu-makefile
 hostmakedepends="bison flex pkg-config protobuf which"
@@ -11,9 +11,9 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="http://nsjail.com"
 distfiles="https://github.com/google/nsjail/archive/${version}.tar.gz
- https://github.com/google/kafel/archive/8e69b8efae415cde3debffbb1e379d9e7a16835a.tar.gz"
-checksum="cfa66d3ed136b2e221752287b95e544915e8a6760aa866f023b604d14a374919
- 4a6c9a1a70ed99bbed767adc106081b017a3090307ea88cc7e329b82daa1373b"
+ https://github.com/google/kafel/archive/1af0975af45ca4404f357b9a4e1636f53a01bfd3.tar.gz"
+checksum="9c247d0cba565b4e3f91cc76e827ddf7f3ad499f54ba611edd25d4d7be4890c3
+ e8c195a2a08daa70c7712adae3eaa01656b039dcc8cc1e5e8210006716761ad5"
 
 archs="aarch64* armv5tel* armv6l* armv7l* x86_64*"
 
@@ -28,7 +28,8 @@ post_extract() {
 }
 
 post_patch() {
-	sed -i -e 's/-Werror\b//g' -e 's/\b\(\(C\(XX\)\?\|LD\)FLAGS\s*+=\)/override \1/g' Makefile kafel/build/Makefile.mk kafel/src/Makefile
+	vsed -e 's/-Werror\b//g' -i Makefile kafel/build/Makefile.mk
+	vsed -e 's/\b\(\(C\(XX\)\?\|LD\)FLAGS\s*+=\)/override \1/g' -i Makefile kafel/build/Makefile.mk kafel/src/Makefile
 }
 
 do_install() {

From 807fd4123613815e6476082234ccc611f28c5e7c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 16/35] netdata: rebuild against protobuf-23.3_1

---
 srcpkgs/netdata/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 18dbe4394a4e..781120b3f275 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -1,7 +1,7 @@
 # Template file for 'netdata'
 pkgname=netdata
 version=1.37.1
-revision=1
+revision=2
 build_style=gnu-configure
 build_helper=qemu
 configure_args="--with-user=_netdata ac_cv_file_externaldeps_libbpf_libbpf_a=no

From bc648e9aab755facc83a6383a23a2232b89416d3 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 17/35] mumble: rebuild against protobuf-23.3_1

---
 srcpkgs/mumble/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/mumble/patches/musl.patch  | 14 ++++++++++++++
 srcpkgs/mumble/template            |  2 +-
 3 files changed, 26 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/mumble/patches/cpp17.patch
 create mode 100644 srcpkgs/mumble/patches/musl.patch

diff --git a/srcpkgs/mumble/patches/cpp17.patch b/srcpkgs/mumble/patches/cpp17.patch
new file mode 100644
index 000000000000..7cb9c9a93355
--- /dev/null
+++ b/srcpkgs/mumble/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- mumble-1.4.287/CMakeLists.txt	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-07-10 20:12:27.869019033 +0200
+@@ -35,7 +35,7 @@
+ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/3rdparty")
+ set(PLUGINS_DIR "${CMAKE_SOURCE_DIR}/plugins")
+ 
+-set(CMAKE_CXX_STANDARD 14)
++set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_OSX_DEPLOYMENT_TARGET 10.13)
+ 
+ list(APPEND CMAKE_MODULE_PATH
diff --git a/srcpkgs/mumble/patches/musl.patch b/srcpkgs/mumble/patches/musl.patch
new file mode 100644
index 000000000000..49d83a422b8e
--- /dev/null
+++ b/srcpkgs/mumble/patches/musl.patch
@@ -0,0 +1,14 @@
+Newer musl expands NULL to nullptr, which is not a bool.
+Either way, the check is always true with openssl 1.1+, so it can probably removed alltogether
+---
+--- mumble-1.4.287/src/SSL.cpp	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-02-07 22:18:16.093759105 +0100
+@@ -33,7 +34,7 @@
+ 	// If we detect that no locking callback is configured, we
+ 	// have to set it up ourselves to allow multi-threaded use
+ 	// of OpenSSL.
+-	if (!CRYPTO_get_locking_callback()) {
++	if (CRYPTO_get_locking_callback() == NULL) {
+ 		SSLLocks::initialize();
+ 	}
+ }
diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 35c2728c74ce..5c30d4ae64b4 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.4.287
-revision=3
+revision=4
 build_style=cmake
 make_cmd=make
 configure_args="-Doverlay-xcompile=OFF -Dbundled-opus=OFF

From 50446c5ad3b5d85316c1b17f1c89f68a5dbf5f4b Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 18/35] mumble: rebuild against protobuf-23.3_1

---
 srcpkgs/mumble/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 5c30d4ae64b4..3dc669705365 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.4.287
-revision=4
+revision=5
 build_style=cmake
 make_cmd=make
 configure_args="-Doverlay-xcompile=OFF -Dbundled-opus=OFF

From 7633bb18ee379448929265aeed15d55ac0b49479 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 19/35] mozc: statically link against vendored prootbuf

protobuf 23+ links against abseil, which conflicts with the vendored
abseil version in mozc. The build system does not have a flag to use
system abseil.
---
 srcpkgs/mozc/template | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/mozc/template b/srcpkgs/mozc/template
index 3fdb986b3213..e7735cb57f4f 100644
--- a/srcpkgs/mozc/template
+++ b/srcpkgs/mozc/template
@@ -3,16 +3,17 @@ pkgname=mozc
 # src/data/version/mozc_version_template.bzl
 # revision is always 102, template always says 100 ;)
 version=2.28.4800.102
-revision=1
+revision=2
 _commit=056163a5fddbb261b258beb8444998e4882f0cc5
 _abseil=20211102.0
+_protobuf_commit=cc7b1b53234cd7a8f50d90ac3933b240dcf4cd97
 _gyp=0.1+20220404git9ecf45e
 _jpn_dict=e5b3425575734c323e1d947009dd74709437b684
 create_wrksrc=yes
 build_wrksrc=mozc/src
-hostmakedepends="gettext ninja pkg-config protobuf protobuf-devel
+hostmakedepends="gettext ninja pkg-config
  python3-six which qt5-qmake qt5-host-tools"
-makedepends="gtk+-devel ibus-devel libzinnia-devel protobuf-devel qt5-devel
+makedepends="gtk+-devel ibus-devel libzinnia-devel qt5-devel
  fcitx-devel libfcitx5-devel"
 depends="tegaki-zinnia-japanese>=0.3 mozc-base-${version}_${revision}"
 short_desc="Japanese IME (Open Source version of Google Japanese Input)"
@@ -22,11 +23,13 @@ homepage="https://github.com/google/mozc"
 distfiles="
  https://github.com/fcitx/mozc/archive/$_commit.tar.gz
  https://github.com/abseil/abseil-cpp/archive/refs/tags/$_abseil.tar.gz
+ https://github.com/protocolbuffers/protobuf/archive/$_protobuf_commit.tar.gz
  ${DEBIAN_SITE}/main/g/gyp/gyp_$_gyp.orig.tar.xz
  https://github.com/hiroyuki-komatsu/japanese-usage-dictionary/archive/$_jpn_dict.tar.gz
 "
 checksum="259d87bfd7535ad03bd554185677d7345a90166353a6db0b6a3606183ad2923d
  dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4
+ 863e27f6d24f40bce2bbfe5adcf365f2af5479ea917f254331ee60ce88f8c8a5
  0325006f012db66dfa27bf7bb048f3fe38f96e512ebe065930cbc70bcdc06bc9
  0b6efee0eebac2c1a8eeea333278aa40fcef7846bba9a379962c6e567e7e3dc1"
 
@@ -47,7 +50,8 @@ post_extract() {
 	# symlink "submodules" into place
 	for _src_dest in gyp \
 		abseil-cpp \
-		japanese-usage-dictionary:japanese_usage_dictionary
+		japanese-usage-dictionary:japanese_usage_dictionary \
+		protobuf
 	do
 		_src=${_src_dest%:*}
 		_dst=${_src_dest#*:}
@@ -61,7 +65,6 @@ do_configure() {
 	GYP_DEFINES="
 	 document_dir=/usr/share/licenses/${pkgname}
 	 ibus_mozc_path=/usr/libexec/ibus-engine-mozc
-	 use_libprotobuf=1
 	 use_libzinnia=1
 	 ${XBPS_TARGET_NO_ATOMIC8:+use_libatomic=1}
 	" python3 build_mozc.py gyp --target_platform=Linux

From 112c6d4fb1bbfeef75f6771520bf29578930b9d0 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 20/35] mosh: rebuild against protobuf-23.3_1

---
 srcpkgs/mosh/patches/cpp17.patch | 14 ++++++++++++++
 srcpkgs/mosh/template            |  5 +++--
 2 files changed, 17 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/mosh/patches/cpp17.patch

diff --git a/srcpkgs/mosh/patches/cpp17.patch b/srcpkgs/mosh/patches/cpp17.patch
new file mode 100644
index 000000000000..5463adc2718b
--- /dev/null
+++ b/srcpkgs/mosh/patches/cpp17.patch
@@ -0,0 +1,14 @@
+--- a/configure.ac	2022-10-27 05:29:47.000000000 +0200
++++ -	2023-07-08 13:19:05.270079012 +0200
+@@ -22,9 +22,9 @@
+ # automake 1.12 seems to require this, but automake 1.11 doesn't recognize it
+ m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+ 
+-# Protobuf 3.6+ requires C++11.
++# Protobuf 3.6+ requires C++11., 4.2.2 with abseil requires C++17
+ AS_IF([pkg-config --atleast-version 3.6.0 protobuf],
+-  [AX_CXX_COMPILE_STDCXX([11])])
++  [AX_CXX_COMPILE_STDCXX([17])])
+ 
+ WARNING_CXXFLAGS=""
+ PICKY_CXXFLAGS=""
diff --git a/srcpkgs/mosh/template b/srcpkgs/mosh/template
index 173ba14bcd47..d252a0c29755 100644
--- a/srcpkgs/mosh/template
+++ b/srcpkgs/mosh/template
@@ -1,9 +1,9 @@
 # Template file for 'mosh'
 pkgname=mosh
 version=1.4.0
-revision=3
+revision=4
 build_style=gnu-configure
-hostmakedepends="perl pkg-config protobuf"
+hostmakedepends="perl pkg-config protobuf autoconf automake"
 makedepends="ncurses-devel protobuf-devel libutempter-devel openssl-devel"
 depends="perl-IO-Tty"
 short_desc="Mobile shell, remote terminal application that allows roaming"
@@ -16,4 +16,5 @@ checksum=872e4b134e5df29c8933dff12350785054d2fd2839b5ae6b5587b14db1465ddd
 pre_configure() {
 	# make local.test always succeed. It fails due to missing X server in chroot.
 	printf "%s\n" "#!/bin/sh" ":" > src/tests/local.test
+	autoreconf -fi
 }

From 97b811e4babc026de088e94f61fa7f877cdc4cf6 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 21/35] libcompizconfig: rebuild against protobuf-23.3_1

---
 srcpkgs/libcompizconfig/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libcompizconfig/template b/srcpkgs/libcompizconfig/template
index 5b59eda97c78..3fb33698bfa6 100644
--- a/srcpkgs/libcompizconfig/template
+++ b/srcpkgs/libcompizconfig/template
@@ -1,7 +1,7 @@
 # Template file for 'libcompizconfig'
 pkgname=libcompizconfig
 version=0.8.18
-revision=10
+revision=11
 build_style=gnu-configure
 configure_args="--disable-static"
 hostmakedepends="automake intltool libtool pkg-config protobuf"

From b866fea37ff75bcb90eec809601bc3432df6175c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 22/35] libArcus: rebuild against protobuf-23.3_1

---
 srcpkgs/libArcus/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libArcus/template b/srcpkgs/libArcus/template
index d6fedecc5599..1cf1b866d650 100644
--- a/srcpkgs/libArcus/template
+++ b/srcpkgs/libArcus/template
@@ -1,7 +1,7 @@
 # Template file for 'libArcus'
 pkgname=libArcus
 version=4.13.1
-revision=4
+revision=5
 build_style=cmake
 configure_args="-DBUILD_EXAMPLES=OFF"
 hostmakedepends="protobuf python3-sip-devel"

From d7abbc97e26dd809d5d470c9f718e549655a3463 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 23/35] kismet: rebuild against protobuf-23.3_1

---
 srcpkgs/kismet/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/kismet/template b/srcpkgs/kismet/template
index 48a0fc5fa6f1..46cbf7b31811 100644
--- a/srcpkgs/kismet/template
+++ b/srcpkgs/kismet/template
@@ -1,7 +1,7 @@
 # Template file for 'kismet'
 pkgname=kismet
 version=2022.08.R1
-revision=2
+revision=3
 _realver="${version//./-}"
 build_style=gnu-configure
 configure_args="--disable-python-tools"

From 0f5b1008027a32b90fe6eae5bed8f4084a08cb38 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 24/35] cura-engine: rebuild against protobuf-23.3_1

---
 srcpkgs/cura-engine/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cura-engine/template b/srcpkgs/cura-engine/template
index 4f3118d30252..1f23ddace749 100644
--- a/srcpkgs/cura-engine/template
+++ b/srcpkgs/cura-engine/template
@@ -1,7 +1,7 @@
 # Template file for 'cura-engine'
 pkgname=cura-engine
 version=4.13.1
-revision=3
+revision=4
 build_style=cmake
 configure_args="-DCURA_ENGINE_VERSION=${version}"
 hostmakedepends="protobuf git"

From c51500905cc202708ff6c2b67560509ce474adc0 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 25/35] clementine: rebuild against protobuf-23.3_1

---
 srcpkgs/clementine/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/clementine/template b/srcpkgs/clementine/template
index acd098124529..a1cacbb73d8e 100644
--- a/srcpkgs/clementine/template
+++ b/srcpkgs/clementine/template
@@ -1,11 +1,11 @@
 # Template file for 'clementine'
 pkgname=clementine
 version=1.4.0rc1
-revision=10
+revision=11
 _fullver=${version}-873-g3471134d5
 build_style=cmake
 configure_args="-DUSE_SYSTEM_TAGLIB=ON -DBUILD_WERROR=OFF -DUSE_SYSTEM_PROJECTM=ON
- -DFORCE_GIT_REVISION=${_fullver}"
+ -DFORCE_GIT_REVISION=${_fullver} -DCMAKE_CXX_STANDARD=17"
 hostmakedepends="gettext sparsehash pkg-config qt5-qmake qt5-host-tools protobuf"
 makedepends="chromaprint-devel boost-devel gst-plugins-base1-devel
  qt5-devel glew-devel sqlite-devel protobuf-devel libplist-devel

From 7d62de8a872895bf94d64c629e2142ee6c9ece23 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 26/35] bloaty: rebuild against protobuf-23.3_1

---
 srcpkgs/bloaty/patches/cpp17.patch         | 20 ++++++++
 srcpkgs/bloaty/patches/system-abseil.patch | 58 ++++++++++++++++++++++
 srcpkgs/bloaty/template                    |  2 +-
 3 files changed, 79 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/bloaty/patches/cpp17.patch
 create mode 100644 srcpkgs/bloaty/patches/system-abseil.patch

diff --git a/srcpkgs/bloaty/patches/cpp17.patch b/srcpkgs/bloaty/patches/cpp17.patch
new file mode 100644
index 000000000000..ca458dd79fb6
--- /dev/null
+++ b/srcpkgs/bloaty/patches/cpp17.patch
@@ -0,0 +1,20 @@
+--- bloaty-1.1/CMakeLists.txt	2020-05-24 06:43:55.000000000 +0200
++++ -	2023-07-08 12:51:24.115742363 +0200
+@@ -2,7 +2,7 @@
+ cmake_policy(SET CMP0048 NEW)
+ project (Bloaty VERSION 1.0)
+ project (Bloaty VERSION 1.1)
+-set(CMAKE_CXX_STANDARD 11)
++set(CMAKE_CXX_STANDARD 17)
+ 
+ # Options we define for users.
+ option(BLOATY_ENABLE_ASAN "Enable address sanitizer." OFF)
+@@ -93,7 +93,7 @@
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/src")
+ 
+ # Baseline build flags.
+-set(CMAKE_CXX_FLAGS "-std=c++11 -W -Wall -Wno-sign-compare")
++set(CMAKE_CXX_FLAGS "-W -Wall -Wno-sign-compare")
+ set(CMAKE_CXX_FLAGS_DEBUG "-g1")
+ set(CMAKE_CXX_FLAGS_RELEASE "-O2")
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g1")
diff --git a/srcpkgs/bloaty/patches/system-abseil.patch b/srcpkgs/bloaty/patches/system-abseil.patch
new file mode 100644
index 000000000000..799e10a3b540
--- /dev/null
+++ b/srcpkgs/bloaty/patches/system-abseil.patch
@@ -0,0 +1,58 @@
+--- bloaty-1.1/CMakeLists.txt	2020-05-24 06:43:55.000000000 +0200
++++ -	2023-07-08 13:07:06.559266321 +0200
+@@ -35,6 +35,12 @@
+   MESSAGE(STATUS "pkg-config not found, using bundled dependencies")
+ endif(${PKG_CONFIG_FOUND})
+ endif(UNIX)
++find_package(absl CONFIG)
++if(absl_FOUND)
++  MESSAGE(STATUS "System absl found, using")
++else()
++  MESSAGE(STATUS "System absl not found, using bundled version")
++endif()
+ 
+ # Set default build type.
+ if(NOT CMAKE_BUILD_TYPE)
+@@ -89,7 +95,6 @@
+ 
+ include_directories(.)
+ include_directories(src)
+-include_directories(third_party/abseil-cpp)
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/src")
+ 
+ # Baseline build flags.
+@@ -159,24 +164,6 @@
+     src/macho.cc
+     src/range_map.cc
+     src/webassembly.cc
+-    # Until Abseil has a proper CMake build system
+-    third_party/abseil-cpp/absl/base/internal/raw_logging.cc # Grrrr...
+-    third_party/abseil-cpp/absl/base/internal/throw_delegate.cc
+-    third_party/abseil-cpp/absl/numeric/int128.cc
+-    third_party/abseil-cpp/absl/strings/ascii.cc
+-    third_party/abseil-cpp/absl/strings/charconv.cc
+-    third_party/abseil-cpp/absl/strings/escaping.cc
+-    third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc
+-    third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc
+-    third_party/abseil-cpp/absl/strings/internal/memutil.cc
+-    third_party/abseil-cpp/absl/strings/internal/utf8.cc
+-    third_party/abseil-cpp/absl/strings/match.cc
+-    third_party/abseil-cpp/absl/strings/numbers.cc
+-    third_party/abseil-cpp/absl/strings/str_cat.cc
+-    third_party/abseil-cpp/absl/strings/string_view.cc
+-    third_party/abseil-cpp/absl/strings/str_split.cc
+-    third_party/abseil-cpp/absl/strings/substitute.cc
+-    third_party/abseil-cpp/absl/types/bad_optional_access.cc
+     # One source file, no special build system needed.
+     third_party/demumble/third_party/libcxxabi/cxa_demangle.cpp
+     )
+@@ -214,6 +201,9 @@
+   endif(${PROTOBUF_FOUND})
+ endif(UNIX)
+ 
++list(APPEND LIBBLOATY_LIBS absl::strings)
++list(APPEND LIBBLOATY_LIBS absl::optional)
++
+ if(DEFINED ENV{LIB_FUZZING_ENGINE})
+   message("LIB_FUZZING_ENGINE set, building fuzz_target instead of Bloaty")
+   add_executable(fuzz_target tests/fuzz_target.cc)
diff --git a/srcpkgs/bloaty/template b/srcpkgs/bloaty/template
index 226d2f30ffcd..2a79fb502f99 100644
--- a/srcpkgs/bloaty/template
+++ b/srcpkgs/bloaty/template
@@ -1,7 +1,7 @@
 # Template file for 'bloaty'
 pkgname=bloaty
 version=1.1
-revision=11
+revision=12
 build_style=cmake
 hostmakedepends="pkg-config protobuf"
 makedepends="capstone-devel protobuf-devel re2-devel zlib-devel"

From d41269a84c723ab8d9f2900d0b2fb31f4dd6b6b1 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 27/35] astroid: rebuild against protobuf-23.3_1

---
 srcpkgs/astroid/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/astroid/template            |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/astroid/patches/cpp17.patch

diff --git a/srcpkgs/astroid/patches/cpp17.patch b/srcpkgs/astroid/patches/cpp17.patch
new file mode 100644
index 000000000000..9ac9a9f952e6
--- /dev/null
+++ b/srcpkgs/astroid/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- astroid-0.16/CMakeLists.txt	2021-08-05 15:31:11.000000000 +0200
++++ -	2023-07-03 21:53:30.304595787 +0200
+@@ -145,7 +145,7 @@
+ # compile flags and options
+ #
+ 
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ 
+ include_directories (
+   ${GTKMM3_INCLUDE_DIRS}
diff --git a/srcpkgs/astroid/template b/srcpkgs/astroid/template
index 25d3da44e024..8fd1c032be2c 100644
--- a/srcpkgs/astroid/template
+++ b/srcpkgs/astroid/template
@@ -1,7 +1,7 @@
 # Template file for 'astroid'
 pkgname=astroid
 version=0.16
-revision=8
+revision=9
 build_style=cmake
 build_helper=gir
 hostmakedepends="pkg-config scdoc protobuf gobject-introspection"

From 87f628cb12b28814b48127cde2b8995cd26c0ce0 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 28/35] android-tools: rebuild against protobuf-23.3_1

---
 .../android-tools/patches/protobuf-23.patch   | 31 +++++++++++++++++++
 srcpkgs/android-tools/template                |  2 +-
 2 files changed, 32 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/android-tools/patches/protobuf-23.patch

diff --git a/srcpkgs/android-tools/patches/protobuf-23.patch b/srcpkgs/android-tools/patches/protobuf-23.patch
new file mode 100644
index 000000000000..21012126ea9a
--- /dev/null
+++ b/srcpkgs/android-tools/patches/protobuf-23.patch
@@ -0,0 +1,31 @@
+--- android-tools-34.0.1.orig/vendor/extras/libjsonpb/parse/jsonpb.cpp  2023-06-28 23:15:15.414236253 +0200
++++ android-tools-34.0.1/vendor/extras/libjsonpb/parse/jsonpb.cpp       2023-06-28 23:34:21.672962973 +0200
+@@ -51,7 +51,7 @@
+ #if GOOGLE_PROTOBUF_VERSION < 3016000
+     return MakeError<std::string>(status.error_message().as_string());
+ #else
+-    return MakeError<std::string>(status.message().as_string());
++    return MakeError<std::string>(std::string(status.message()));
+ #endif
+   }
+   return ErrorOr<std::string>(std::move(json));
+@@ -68,7 +68,7 @@
+ #if GOOGLE_PROTOBUF_VERSION < 3016000
+     return MakeError<std::monostate>(status.error_message().as_string());
+ #else
+-    return MakeError<std::monostate>(status.message().as_string());
++    return MakeError<std::monostate>(std::string(status.message()));
+ #endif
+   }
+   if (!message->ParseFromString(binary)) {
+--- a/vendor/CMakeLists.partition.txt	2023-03-03 17:18:50.000000000 +0100
++++ -	2023-07-10 23:06:19.290718502 +0200
+@@ -20,7 +20,7 @@
+ 
+ add_library(libjsonpbparse STATIC
+ 	extras/libjsonpb/parse/jsonpb.cpp)
+-target_link_libraries(libjsonpbparse PRIVATE libbase)
++target_link_libraries(libjsonpbparse PRIVATE libbase absl_status)
+ target_include_directories(libjsonpbparse PUBLIC
+ 	extras/libjsonpb/parse/include)
+ 
diff --git a/srcpkgs/android-tools/template b/srcpkgs/android-tools/template
index 329674482b69..b813474eace0 100644
--- a/srcpkgs/android-tools/template
+++ b/srcpkgs/android-tools/template
@@ -1,7 +1,7 @@
 # Template file for 'android-tools'
 pkgname=android-tools
 version=34.0.1
-revision=1
+revision=2
 archs="armv* aarch64* x86_64* i686* ppc64le*"
 build_style=cmake
 hostmakedepends="perl go protobuf pkg-config"

From 9122d5fd8aeac941d7b4b89547c9a4cfd8576019 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:06:25 +0200
Subject: [PATCH 29/35] justbuild: rebuild against grpc-1.56.0_1

---
 srcpkgs/justbuild/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index ee36f6dae575..f933611d1283 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
 # Template file for 'justbuild'
 pkgname=justbuild
 version=1.1.2
-revision=2
+revision=3
 create_wrksrc=yes
 hostmakedepends="jo pandoc pkg-config python3 tar unzip wget"
 makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++

From f1bb356a78de09043fa57a85dafe2547391d3c57 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Wed, 28 Jun 2023 11:07:13 +0200
Subject: [PATCH 30/35] sysdig: update to 0.31.5.

---
 .../sysdig/files/libsinsp-absl-protobuf.patch |  11 +
 srcpkgs/sysdig/files/libsinsp-zstd.patch      |  22 +
 ...d9aab87801281e22898242e24e0bc63873b2.patch | 557 ++++++++++++++++++
 .../falcosecurity-libs-nodownload.patch       |  28 +
 srcpkgs/sysdig/template                       |  38 +-
 5 files changed, 640 insertions(+), 16 deletions(-)
 create mode 100644 srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch
 create mode 100644 srcpkgs/sysdig/files/libsinsp-zstd.patch
 create mode 100644 srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
 create mode 100644 srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch

diff --git a/srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch b/srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch
new file mode 100644
index 000000000000..387be65954e6
--- /dev/null
+++ b/srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch
@@ -0,0 +1,11 @@
+--- a/userspace/libsinsp/CMakeLists.txt	2023-06-05 10:25:32.000000000 +0200
++++ -	2023-07-11 09:03:42.496439385 +0200
+@@ -289,7 +289,7 @@
+ 	endif()
+ endif() # NOT WIN32
+ 
+-
++LIST(APPEND SINSP_LIBRARIES absl_log_internal_message absl_log_internal_nullguard)
+ target_link_libraries(sinsp ${SINSP_LIBRARIES})
+ 
+ if(APPLE)
diff --git a/srcpkgs/sysdig/files/libsinsp-zstd.patch b/srcpkgs/sysdig/files/libsinsp-zstd.patch
new file mode 100644
index 000000000000..e99e4f7c1207
--- /dev/null
+++ b/srcpkgs/sysdig/files/libsinsp-zstd.patch
@@ -0,0 +1,22 @@
+diff --git a/userspace/libsinsp/CMakeLists.txt b/userspace/libsinsp/CMakeLists.txt
+index 18e59b1..b23e890 100644
+--- a/userspace/libsinsp/CMakeLists.txt
++++ b/userspace/libsinsp/CMakeLists.txt
+@@ -38,6 +38,7 @@ include(ExternalProject)
+ 
+ if(NOT WIN32 AND NOT APPLE)
+ 	include(b64)
++	find_library(ZSTD_LIB NAMES zstd)
+ endif()
+ 
+ include(jsoncpp)
+@@ -246,7 +247,8 @@ if(NOT WIN32)
+ 				"${PROTOBUF_LIB}"
+ 				"${CARES_LIB}"
+ 				"${JQ_LIB}"
+-				"${B64_LIB}")
++				"${B64_LIB}"
++				"${ZSTD_LIB}")
+ 
+ 			if(NOT MUSL_OPTIMIZED_BUILD)
+ 				list(APPEND SINSP_LIBRARIES
diff --git a/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch b/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
new file mode 100644
index 000000000000..54c2ed8d0d98
--- /dev/null
+++ b/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
@@ -0,0 +1,557 @@
+From 3d22309a7317d500f75d053af6f9e5b5b5728b40 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 09:56:04 +0000
+Subject: [PATCH 1/6] update(cmake): bump driver to 5.0.0+driver
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ cmake/modules/driver.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/driver.cmake b/cmake/modules/driver.cmake
+index bee1926d3a..7fd35d7f99 100644
+--- a/cmake/modules/driver.cmake
++++ b/cmake/modules/driver.cmake
+@@ -31,8 +31,8 @@ else()
+   # In case you want to test against another driver version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DDRIVER_VERSION=dev ..`
+   if(NOT DRIVER_VERSION)
+-    set(DRIVER_VERSION "4.0.1+driver")
+-    set(DRIVER_CHECKSUM "SHA256=424d647aa6b6fa45b6701c4bbc9293c161ed00a08254d83eea419c0a736f280d")
++    set(DRIVER_VERSION "5.0.0+driver")
++    set(DRIVER_CHECKSUM "SHA256=c988ca7ac7d174f62d1bfbaaca49efd117f7b329f474d1b46b643635b2e35083")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+
+From 847e602404dcee85f06dde5a1d8ad0c740c49c98 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 09:56:08 +0000
+Subject: [PATCH 2/6] update(cmake): bump libs to 0.11.0-rc1
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ cmake/modules/falcosecurity-libs.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index b345c057ad..f30233b9e3 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -32,8 +32,8 @@ else()
+   # In case you want to test against another falcosecurity/libs version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DFALCOSECURITY_LIBS_VERSION=dev ..`
+   if(NOT FALCOSECURITY_LIBS_VERSION)
+-    set(FALCOSECURITY_LIBS_VERSION "0.10.5")
+-    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=2a4b37c08bec4ba81326314831f341385aff267062e8d4483437958689662936")
++    set(FALCOSECURITY_LIBS_VERSION "0.11.0-rc1")
++    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=bb6e57f66ae85dcda6e695226cd14082d9a1215902909cdde5b83f7abef44d8f")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+
+From 1d1dbaf06265d8eefd4038e8474f71f7958ec840 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 10:43:27 +0000
+Subject: [PATCH 3/6] fix(cmake): solve c++17 compilation issues
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ CMakeLists.txt                         |  3 +++
+ cmake/modules/falcosecurity-libs.cmake | 10 +++++-----
+ 2 files changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0309d66633..6d28c6c67d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -146,6 +146,9 @@ if(NOT DEFINED SYSDIG_COMPONENT_NAME)
+     set(SYSDIG_COMPONENT_NAME "${CMAKE_PROJECT_NAME}")
+ endif()
+ 
++set(CMAKE_CXX_STANDARD 17)
++set(CMAKE_CXX_EXTENSIONS OFF)
++
+ include(falcosecurity-libs)
+ include(yaml-cpp)
+ include(nlohmann-json)
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index f30233b9e3..fe5dacd7ad 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -94,12 +94,12 @@ else()
+ endif()
+ 
+ include(CheckCXXCompilerFlag)
+-CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX14)
+-if(CREATE_TEST_TARGETS AND NOT WIN32 AND COMPILER_SUPPORTS_CXX14)
+-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
++CHECK_CXX_COMPILER_FLAG("-std=c++17" COMPILER_SUPPORTS_CXX17)
++if(CREATE_TEST_TARGETS AND NOT WIN32 AND COMPILER_SUPPORTS_CXX17)
++	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ 	include(gtest)
+-elseif(CREATE_TEST_TARGETS AND NOT COMPILER_SUPPORTS_CXX14)
+-	message(FATAL_ERROR "Your compiler doesn't support c++14: cannot include gtest and create test targets.")
++elseif(CREATE_TEST_TARGETS AND NOT COMPILER_SUPPORTS_CXX17)
++	message(FATAL_ERROR "Your compiler doesn't support c++17: cannot include gtest and create test targets.")
+ endif()
+ 
+ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
+
+From d5fcbad2d5ea63e1439ab7174a5cfd9a7a2e1545 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 10:44:05 +0000
+Subject: [PATCH 4/6] update(userspace): sync sysdig and csysdig with latest
+ libs
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ userspace/sysdig/csysdig.cpp                |  6 +--
+ userspace/sysdig/sysdig.cpp                 |  9 +---
+ userspace/sysdig/utils/plugin_utils.cpp     | 37 ++++++++++-----
+ userspace/sysdig/utils/sinsp_opener.cpp     | 18 ++++----
+ userspace/sysdig/utils/supported_events.cpp | 50 +++++++++++----------
+ userspace/sysdig/utils/supported_fields.cpp | 15 +++----
+ 6 files changed, 70 insertions(+), 65 deletions(-)
+
+diff --git a/userspace/sysdig/csysdig.cpp b/userspace/sysdig/csysdig.cpp
+index 9419882341..edd8129a0e 100644
+--- a/userspace/sysdig/csysdig.cpp
++++ b/userspace/sysdig/csysdig.cpp
+@@ -39,11 +39,11 @@ limitations under the License.
+ #include "chisel.h"
+ #include "chisel_utils.h"
+ #endif
+-#include "fields_info.h"
+ #include "chisel_table.h"
+ #include "utils.h"
+ #include "utils/plugin_utils.h"
+ #include "utils/sinsp_opener.h"
++#include "utils/supported_fields.h"
+ 
+ #ifdef _WIN32
+ #include "win32/getopt.h"
+@@ -704,8 +704,8 @@ sysdig_init_res csysdig_init(int argc, char **argv)
+ 		//
+ 		if(list_flds)
+ 		{
+-			list_fields(false, false);
+-
++			// todo(jasondellaluce): support source selection, verbosity, markdown
++			print_supported_fields(inspector, plugins, "", true, false);
+ 			res.m_res = EXIT_SUCCESS;
+ 			goto exit;
+ 		}
+diff --git a/userspace/sysdig/sysdig.cpp b/userspace/sysdig/sysdig.cpp
+index 40f2b39ef9..a978070d73 100644
+--- a/userspace/sysdig/sysdig.cpp
++++ b/userspace/sysdig/sysdig.cpp
+@@ -43,7 +43,6 @@ limitations under the License.
+ #include "chisel_utils.h"
+ #include "chisel_fields_info.h"
+ #endif
+-#include "fields_info.h"
+ #include "utils.h"
+ #include "plugin.h"
+ #include "plugin_manager.h"
+@@ -455,8 +454,6 @@ void print_summary_table(sinsp* inspector,
+ 						 std::vector<summary_table_entry> &summary_table,
+ 						 uint32_t nentries)
+ {
+-	sinsp_evttables* einfo = inspector->get_event_info_tables();
+-
+ 	std::cout << "----------------------\n";
+ 	std::string tstr = std::string("Event");
+ 	tstr.resize(16, ' ');
+@@ -478,7 +475,7 @@ void print_summary_table(sinsp* inspector,
+ 
+ 		if(e.m_is_unsupported_syscall)
+ 		{
+-			tstr = einfo->m_syscall_info_table[e.m_id / 2].name;
++			tstr = scap_get_ppm_sc_name((ppm_sc_code) (e.m_id / 2));
+ 			tstr.resize(16, ' ');
+ 
+ 			printf("%s%s%" PRIu64 "\n",
+@@ -488,7 +485,7 @@ void print_summary_table(sinsp* inspector,
+ 		}
+ 		else
+ 		{
+-			tstr = einfo->m_event_info[e.m_id].name;
++			tstr = libsinsp::events::info((ppm_event_code) e.m_id)->name;
+ 			tstr.resize(16, ' ');
+ 
+ 			printf("%s%s%" PRIu64 "\n",
+@@ -1862,8 +1859,6 @@ sysdig_init_res sysdig_init(int argc, char **argv)
+ 					res.m_res = EXIT_FAILURE;
+ 					goto exit;
+ 				}
+-
+-				inspector->filter_proc_table_when_saving(true);
+ 			}
+ 			else
+ 			{
+diff --git a/userspace/sysdig/utils/plugin_utils.cpp b/userspace/sysdig/utils/plugin_utils.cpp
+index ad69543b3e..b99de98b66 100644
+--- a/userspace/sysdig/utils/plugin_utils.cpp
++++ b/userspace/sysdig/utils/plugin_utils.cpp
+@@ -146,6 +146,7 @@ void plugin_utils::plugin_entry::init(sinsp *inspector)
+     }
+     if (plugin->caps() & CAP_EXTRACTION)
+     {
++        // todo(jasondellaluce): manage field name conflicts
+         g_filterlist.add_filter_check(sinsp_plugin::new_filtercheck(plugin));
+     }
+     inited = true;
+@@ -185,13 +186,30 @@ void plugin_utils::plugin_entry::print_info(sinsp* inspector, std::ostringstream
+     os << "Capabilities: " << std::endl;
+     if(plugin->caps() & CAP_SOURCING)
+     {
+-        os << "  - Event Sourcing (ID=" << plugin->id();
+-        os << ", source='" << plugin->event_source() << "')" << std::endl;
++        os << "  - Event Sourcing";
++        if (plugin->id() != 0)
++        {
++            os << " (ID=" << plugin->id();
++            os << ", source='" << plugin->event_source() << "')";
++        }
++        else
++        {
++            os << " (system events)";
++        }
++        os << std::endl;
+     }
+     if(plugin->caps() & CAP_EXTRACTION)
+     {
+         os << "  - Field Extraction" << std::endl;
+     }
++    if(plugin->caps() & CAP_PARSING)
++    {
++        os << "  - Event Parsing" << std::endl;
++    }
++    if(plugin->caps() & CAP_ASYNC)
++    {
++        os << "  - Async Events" << std::endl;
++    }
+ }
+ 
+ void plugin_utils::add_dir(std::string dirname, bool front_add)
+@@ -609,7 +627,7 @@ std::vector<std::string> plugin_utils::get_event_sources(sinsp *inspector)
+         // the plugin, in case it was not registered already
+         pl.get_plugin(inspector);
+     }
+-    return inspector->get_plugin_manager()->sources();
++    return inspector->event_sources();
+ }
+ 
+ std::vector<std::unique_ptr<sinsp_filter_check>> plugin_utils::get_filterchecks(sinsp *inspector, const std::string& source)
+@@ -617,16 +635,13 @@ std::vector<std::unique_ptr<sinsp_filter_check>> plugin_utils::get_filterchecks(
+     std::vector<std::unique_ptr<sinsp_filter_check>> list;
+     list.push_back(std::unique_ptr<sinsp_filter_check>(inspector->new_generic_filtercheck()));
+ 
+-    // todo(jasondellaluce): remove this once we support extracting plugin fields from syscalls
+-    if (source != s_syscall_source)
++    for (auto &pl : m_plugins)
+     {
+-        for (auto &pl : m_plugins)
++        auto plugin = pl.get_plugin(inspector);
++        if (plugin->caps() & CAP_EXTRACTION
++            && sinsp_plugin::is_source_compatible(plugin->extract_event_sources(), source))
+         {
+-            auto plugin = pl.get_plugin(inspector);
+-            if (plugin->caps() & CAP_EXTRACTION && plugin->is_source_compatible(source))
+-            {
+-                list.push_back(std::unique_ptr<sinsp_filter_check>(sinsp_plugin::new_filtercheck(plugin)));
+-            }
++            list.push_back(std::unique_ptr<sinsp_filter_check>(sinsp_plugin::new_filtercheck(plugin)));
+         }
+     }
+     return list;
+diff --git a/userspace/sysdig/utils/sinsp_opener.cpp b/userspace/sysdig/utils/sinsp_opener.cpp
+index eafdb631d3..7315b99c7d 100644
+--- a/userspace/sysdig/utils/sinsp_opener.cpp
++++ b/userspace/sysdig/utils/sinsp_opener.cpp
+@@ -50,14 +50,12 @@ void sinsp_opener::open(sinsp* inspector) const
+ 
+ #if defined(HAS_CAPTURE)
+     /* Populate syscalls of interest */
+-    std::unordered_set<uint32_t> sc_of_interest = inspector->get_all_ppm_sc();
++    auto sc_of_interest = libsinsp::events::all_sc_set();
+ 
+-    /* Populate tracepoints of interest */
+-    std::unordered_set<uint32_t> tp_of_interest = inspector->get_all_tp();
+     if(!options.page_faults)
+     {
+-        tp_of_interest.erase(PAGE_FAULT_USER);
+-        tp_of_interest.erase(PAGE_FAULT_KERN);
++        sc_of_interest.remove(ppm_sc_code::PPM_SC_PAGE_FAULT_USER);
++        sc_of_interest.remove(ppm_sc_code::PPM_SC_PAGE_FAULT_KERNEL);
+     }
+ 
+     if(udig.enabled)
+@@ -77,7 +75,7 @@ void sinsp_opener::open(sinsp* inspector) const
+ #ifdef HAS_MODERN_BPF
+ 		if(bpf.modern)
+ 		{
+-			inspector->open_modern_bpf(DEFAULT_DRIVER_BUFFER_BYTES_DIM, bpf.cpus_for_each_syscall_buffer, true, sc_of_interest, tp_of_interest);
++			inspector->open_modern_bpf(DEFAULT_DRIVER_BUFFER_BYTES_DIM, bpf.cpus_for_each_syscall_buffer, true, sc_of_interest);
+ 			return;
+ 		}
+ #endif
+@@ -95,7 +93,7 @@ void sinsp_opener::open(sinsp* inspector) const
+ 
+         try
+         {
+-            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+         }
+         catch(const sinsp_exception& e)
+         {
+@@ -103,7 +101,7 @@ void sinsp_opener::open(sinsp* inspector) const
+             {
+                 fprintf(stderr, "Unable to load the BPF probe\n");
+             }
+-            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+         }
+ 
+         // Enable gathering the CPU from the kernel module
+@@ -114,7 +112,7 @@ void sinsp_opener::open(sinsp* inspector) const
+     // default to kernel module if no other option is specified
+     try
+     {
+-        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+     }
+     catch(const sinsp_exception& e)
+     {
+@@ -124,7 +122,7 @@ void sinsp_opener::open(sinsp* inspector) const
+         {
+             fprintf(stderr, "Unable to load the driver\n");
+         }
+-        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+     }
+ 
+     // Enable gathering the CPU from the kernel module
+diff --git a/userspace/sysdig/utils/supported_events.cpp b/userspace/sysdig/utils/supported_events.cpp
+index 1442911209..7f0d630011 100644
+--- a/userspace/sysdig/utils/supported_events.cpp
++++ b/userspace/sysdig/utils/supported_events.cpp
+@@ -27,25 +27,25 @@ struct event_entry
+ {
+     bool is_enter;
+     std::string name;
+-    struct ppm_event_info info;
++    const ppm_event_info* info;
+ };
+ 
+-static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include_generics)
++static std::vector<event_entry> get_event_entries(bool include_generics)
+ {
+     event_entry entry;
+     std::vector<event_entry> events;
+-    const struct ppm_event_info* etable = inspector->get_event_info_tables()->m_event_info;
+ 
+     // skip generic events
+-    for(uint32_t evt = PPME_GENERIC_X + 1; evt < PPM_EVENT_MAX; evt++)
++    for(const auto& evt : libsinsp::events::all_event_set())
+     {
+-        if (!sinsp::is_old_version_event(evt)
+-                && !sinsp::is_unused_event(evt)
+-                && !sinsp::is_unknown_event(evt))
++        if (!libsinsp::events::is_generic(evt)
++            && !libsinsp::events::is_old_version_event(evt)
++            && !libsinsp::events::is_unused_event(evt)
++            && !libsinsp::events::is_unknown_event(evt))
+         {
+             entry.is_enter = PPME_IS_ENTER(evt);
+-            entry.name = etable[evt].name;
+-            entry.info = etable[evt];
++            entry.info = libsinsp::events::info(evt);
++			entry.name = entry.info->name;
+             events.push_back(entry);
+         }
+     }
+@@ -53,17 +53,19 @@ static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include
+     if (include_generics)
+     {
+         // append generic events
+-        const auto generic_syscalls = inspector->get_events_names({PPME_GENERIC_E});
+-        for (const auto& name : generic_syscalls)
+-        {
+-            for(uint32_t evt = PPME_GENERIC_E; evt <= PPME_GENERIC_X; evt++)
+-            {
+-                entry.is_enter = PPME_IS_ENTER(evt);
+-                entry.name = name;
+-                entry.info = etable[evt];
+-                events.push_back(entry);
+-            }
+-        }
++		const auto names = libsinsp::events::event_set_to_names({ppm_event_code::PPME_GENERIC_E});
++		for (const auto& name : names)
++		{
++			entry.is_enter = PPME_IS_ENTER(ppm_event_code::PPME_GENERIC_E);
++			entry.info = libsinsp::events::info(ppm_event_code::PPME_GENERIC_E);
++			entry.name = name;
++			events.push_back(entry);
++
++			entry.is_enter = PPME_IS_ENTER(ppm_event_code::PPME_GENERIC_X);
++			entry.info = libsinsp::events::info(ppm_event_code::PPME_GENERIC_X);
++			entry.name = name;
++			events.push_back(entry);
++		}
+     }
+ 
+     return events;
+@@ -71,7 +73,7 @@ static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include
+ 
+ void print_supported_events(sinsp* inspector, bool markdown)
+ {
+-    const auto events = get_event_entries(inspector, true);
++    const auto events = get_event_entries(true);
+ 
+     if(markdown)
+     {
+@@ -91,15 +93,15 @@ void print_supported_events(sinsp* inspector, bool markdown)
+             printf("%c %s(", dir, e.name.c_str());
+         }
+ 
+-        for(uint32_t k = 0; k < e.info.nparams; k++)
++        for(uint32_t k = 0; k < e.info->nparams; k++)
+         {
+             if(k != 0)
+             {
+                 printf(", ");
+             }
+ 
+-            printf("%s %s", param_type_to_string(e.info.params[k].type),
+-                e.info.params[k].name);
++            printf("%s %s", param_type_to_string(e.info->params[k].type),
++                e.info->params[k].name);
+         }
+         printf(")\n");
+     }
+diff --git a/userspace/sysdig/utils/supported_fields.cpp b/userspace/sysdig/utils/supported_fields.cpp
+index 6e2575b030..3127fb7220 100644
+--- a/userspace/sysdig/utils/supported_fields.cpp
++++ b/userspace/sysdig/utils/supported_fields.cpp
+@@ -35,11 +35,9 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+ {
+     std::vector<fields_info> field_infos;
+     std::vector<std::unique_ptr<const sinsp_filter_check>> filtecheck_lists; // only used to retain memory until we finish
+-    std::vector<std::string> sources = { s_syscall_source };
++    std::vector<std::string> sources = plugins.get_event_sources(inspector);
+ 
+     // add event sources defined by the loaded plugins
+-    const auto& plugin_sources = plugins.get_event_sources(inspector);
+-    sources.insert(sources.end(), plugin_sources.begin(), plugin_sources.end());
+     if (!source.empty())
+     {
+         bool found = false;
+@@ -66,7 +64,6 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+         }
+ 
+         std::vector<const filter_check_info*> filterchecks;
+-        // todo(jasondellaluce): change this once we support extracting plugin fields from syscalls
+         if (src == s_syscall_source)
+         {
+             std::vector<const filter_check_info*> all_checks;
+@@ -81,13 +78,11 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+                 }
+             }
+         }
+-        else
++
++        for (auto& check: plugins.get_filterchecks(inspector, src))
+         {
+-            for (auto& check: plugins.get_filterchecks(inspector, src))
+-            {
+-                filterchecks.push_back(check->get_fields());
+-                filtecheck_lists.push_back(std::move(check));
+-            }
++            filterchecks.push_back(check->get_fields());
++            filtecheck_lists.push_back(std::move(check));
+         }
+         
+         const auto classes = sinsp_filter_factory::check_infos_to_fieldclass_infos(filterchecks);
+
+From c8b0d055aec4d2378b7934dd9436fd4500d1021e Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 14:15:23 +0000
+Subject: [PATCH 5/6] fix: solve compilation issues on windows
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ CMakeLists.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6d28c6c67d..5afd967f27 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -148,6 +148,9 @@ endif()
+ 
+ set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_CXX_EXTENSIONS OFF)
++if(MSVC OR WIN32)
++	add_compile_definitions(_HAS_STD_BYTE=0)
++endif()
+ 
+ include(falcosecurity-libs)
+ include(yaml-cpp)
+
+From 954e6fc6238f21d4870a491395d68a7dd3062aa9 Mon Sep 17 00:00:00 2001
+From: Roberto Scolaro <roberto.scolaro21@gmail.com>
+Date: Mon, 5 Jun 2023 10:34:03 +0000
+Subject: [PATCH 6/6] update(cmake): bump libs 0.11.0 + driver 5.0.1
+
+Signed-off-by: Roberto Scolaro <roberto.scolaro21@gmail.com>
+---
+ CMakeLists.txt                         | 2 +-
+ cmake/modules/driver.cmake             | 4 ++--
+ cmake/modules/falcosecurity-libs.cmake | 4 ++--
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5afd967f27..f3f23b5e9a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -90,7 +90,7 @@ if(NOT WIN32)
+ 	endif()
+ 
+ 	set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_COMMON_FLAGS}")
+-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++0x")
++	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++17")
+ 
+ 	set(CMAKE_C_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+ 	set(CMAKE_CXX_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+diff --git a/cmake/modules/driver.cmake b/cmake/modules/driver.cmake
+index 7fd35d7f99..ca1e56718c 100644
+--- a/cmake/modules/driver.cmake
++++ b/cmake/modules/driver.cmake
+@@ -31,8 +31,8 @@ else()
+   # In case you want to test against another driver version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DDRIVER_VERSION=dev ..`
+   if(NOT DRIVER_VERSION)
+-    set(DRIVER_VERSION "5.0.0+driver")
+-    set(DRIVER_CHECKSUM "SHA256=c988ca7ac7d174f62d1bfbaaca49efd117f7b329f474d1b46b643635b2e35083")
++    set(DRIVER_VERSION "5.0.1+driver")
++    set(DRIVER_CHECKSUM "SHA256=8b197b916b6419dac8fb41807aa05d822164c7bfd2c3eef66d20d060a05a485a")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index fe5dacd7ad..c626d7944e 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -32,8 +32,8 @@ else()
+   # In case you want to test against another falcosecurity/libs version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DFALCOSECURITY_LIBS_VERSION=dev ..`
+   if(NOT FALCOSECURITY_LIBS_VERSION)
+-    set(FALCOSECURITY_LIBS_VERSION "0.11.0-rc1")
+-    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=bb6e57f66ae85dcda6e695226cd14082d9a1215902909cdde5b83f7abef44d8f")
++    set(FALCOSECURITY_LIBS_VERSION "0.11.0")
++    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=90414d00591986e94f2c49e7d65eef5c2dedee266354dd3db8234bb3b06c86fa")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
diff --git a/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch b/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch
new file mode 100644
index 000000000000..467cffacba2f
--- /dev/null
+++ b/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch
@@ -0,0 +1,28 @@
+diff --git a/cmake/modules/driver-repo/CMakeLists.txt b/cmake/modules/driver-repo/CMakeLists.txt
+index 479611a..5238121 100644
+--- a/cmake/modules/driver-repo/CMakeLists.txt
++++ b/cmake/modules/driver-repo/CMakeLists.txt
+@@ -25,8 +25,7 @@ message(STATUS "Driver version: ${DRIVER_VERSION}")
+ 
+ ExternalProject_Add(
+   driver
+-  URL "https://github.com/falcosecurity/libs/archive/${DRIVER_VERSION}.tar.gz"
+-  URL_HASH "${DRIVER_CHECKSUM}"
++  URL "${CMAKE_CURRENT_SOURCE_DIR}/../../../../libs-${DRIVER_VERSION}"
+   CONFIGURE_COMMAND ""
+   BUILD_COMMAND ""
+   INSTALL_COMMAND ""
+diff --git a/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt b/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
+index 2059547..74e78e2 100644
+--- a/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
++++ b/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
+@@ -25,8 +25,7 @@ message(STATUS "Libs version: ${FALCOSECURITY_LIBS_VERSION}")
+ 
+ ExternalProject_Add(
+   falcosecurity-libs
+-  URL "https://github.com/falcosecurity/libs/archive/${FALCOSECURITY_LIBS_VERSION}.tar.gz"
+-  URL_HASH "${FALCOSECURITY_LIBS_CHECKSUM}"
++  URL "${CMAKE_CURRENT_SOURCE_DIR}/../../../../libs-${FALCOSECURITY_LIBS_VERSION}"
+   CONFIGURE_COMMAND ""
+   BUILD_COMMAND ""
+   INSTALL_COMMAND ""
diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index 4a04e762468c..7990669d1d34 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,43 +1,49 @@
 # Template file for 'sysdig'
 pkgname=sysdig
-version=0.28.0
-revision=8
+version=0.31.5
+revision=1
+_falcover=0.11.0
 build_style=cmake
+build_wrksrc="sysdig-${version}"
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF
  -DLUA_INCLUDE_DIR=${XBPS_CROSS_BASE}/usr/include/luajit-2.1
- -DLUA_LIBRARY=/usr/lib/libluajit-5.1.so -DCREATE_TEST_TARGETS=OFF"
-make_cmd=make
+ -DLUA_LIBRARY=/usr/lib/libluajit-5.1.so -DCREATE_TEST_TARGETS=OFF
+ -DUSE_BUNDLED_TBB=OFF -DBUILD_LIBSCAP_EXAMPLES=OFF
+ -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_EXTENSIONS=OFF
+ -DDRIVER_VERSION=${_falcover}"
 hostmakedepends="wget pkg-config protobuf"
-makedepends="LuaJIT-devel c-ares-devel elfutils-devel grpc-devel jsoncpp-devel
+makedepends="LuaJIT-devel c-ares-devel elfutils-devel grpc-devel
  libcurl-devel libprotoc-devel openssl-devel ncurses-devel protobuf-devel
- tbb-devel zlib-devel"
+ tbb-devel zlib-devel yaml-cpp-devel json-c++"
 depends="dkms"
 short_desc="Open source system-level exploration and troubleshooting tool"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0, MIT, GPL-2.0-only"
 homepage="http://www.sysdig.org/"
 changelog="https://github.com/draios/sysdig/releases"
-distfiles="https://github.com/draios/${pkgname}/archive/${version}.tar.gz"
-checksum=817e595d501acf3fe11dc659a154aadbba848dd87ae801f5bf34a42e84979f37
-disable_parallel_build=yes
-dkms_modules="scap 2160111cd088aea9ae2235d3385ecb0b1ab6623c"
+distfiles="https://github.com/draios/sysdig/archive/${version}.tar.gz
+ https://github.com/falcosecurity/libs/archive/${_falcover}.tar.gz"
+checksum="9af98cae7c38273f7429ba0df628c9745bd92c949f444e180b9dd800af14c6dd
+ 90414d00591986e94f2c49e7d65eef5c2dedee266354dd3db8234bb3b06c86fa"
+dkms_modules="scap ${_falcover}"
 nocross=yes
+patch_args="-Np1 --directory=${build_wrksrc}"
 
 case "$XBPS_TARGET_MACHINE" in
-	*-musl) configure_args+=" -DMUSL_OPTIMIZED_BUILD=On"
+	i686*) broken="/syscall_table.c:567:10: error: '__NR_rt_tgsigqueueinfo'";;
+	*-musl) configure_args+=" -DMUSL_OPTIMIZED_BUILD=On";;
 esac
 
-export CMAKE_GENERATOR="Unix Makefiles"
-
 # Avoid excessive warnings spam to the log
 CXXFLAGS="-Wno-deprecated-declarations"
 
-CXXFLAGS+=" -I/usr/include/grpc_absl"
+post_patch() {
+	patch -d "${wrksrc}/libs-${_falcover}" -Np1 < "${FILESDIR}/libsinsp-zstd.patch"
+	patch -d "${wrksrc}/libs-${_falcover}" -Np1 < "${FILESDIR}/libsinsp-absl-protobuf.patch"
 
-post_extract() {
 	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
-	vsed -e 's|-std=c++0x||' -i CMakeLists.txt
+	vsed -e 's|-std=c++0x||' -i CMakeLists.txt -i "${wrksrc}/libs-${_falcover}/cmake/modules/CompilerFlags.cmake"
 }
 
 post_install() {

From 6677feddf05016fb1e45dbfc3782a02b3c7c4482 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 2 Jul 2023 13:36:29 +0200
Subject: [PATCH 31/35] protobuf-c: rebuild against 23.3

---
 ...4f3fd85a205eb7c90b790477d5415364209e.patch |  44 +++
 srcpkgs/protobuf-c/patches/66a0b0d2.patch     | 308 ++++++++++++++++++
 srcpkgs/protobuf-c/template                   |   8 +-
 3 files changed, 358 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
 create mode 100644 srcpkgs/protobuf-c/patches/66a0b0d2.patch

diff --git a/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch b/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
new file mode 100644
index 000000000000..7d1e97032d32
--- /dev/null
+++ b/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
@@ -0,0 +1,44 @@
+From 66574f3fd85a205eb7c90b790477d5415364209e Mon Sep 17 00:00:00 2001
+From: Steve Peters <scpeters@openrobotics.org>
+Date: Sat, 24 Jun 2023 22:15:42 -0700
+Subject: [PATCH] Use FileDescriptorLegacy for deprecated syntax()
+
+---
+ protoc-c/c_file.cc   | 2 +-
+ protoc-c/c_helpers.h | 3 ++-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/protoc-c/c_file.cc b/protoc-c/c_file.cc
+index 59c1824e..4b60b889 100644
+--- a/protoc-c/c_file.cc
++++ b/protoc-c/c_file.cc
+@@ -119,7 +119,7 @@ void FileGenerator::GenerateHeader(io::Printer* printer) {
+ 
+   int min_header_version = 1000000;
+ #if defined(HAVE_PROTO3)
+-  if (file_->syntax() == FileDescriptor::SYNTAX_PROTO3) {
++  if (FileDescriptorLegacy(file_).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3) {
+     min_header_version = 1003000;
+   }
+ #endif
+diff --git a/protoc-c/c_helpers.h b/protoc-c/c_helpers.h
+index 7598a4e1..87deea24 100644
+--- a/protoc-c/c_helpers.h
++++ b/protoc-c/c_helpers.h
+@@ -67,6 +67,7 @@
+ #include <vector>
+ #include <sstream>
+ #include <google/protobuf/descriptor.h>
++#include <google/protobuf/descriptor_legacy.h>
+ #include <protobuf-c/protobuf-c.pb.h>
+ #include <google/protobuf/io/printer.h>
+ 
+@@ -172,7 +173,7 @@ int compare_name_indices_by_name(const void*, const void*);
+ // This wrapper is needed to be able to compile against protobuf2.
+ inline int FieldSyntax(const FieldDescriptor* field) {
+ #ifdef HAVE_PROTO3
+-  return field->file()->syntax() == FileDescriptor::SYNTAX_PROTO3 ? 3 : 2;
++  return FileDescriptorLegacy(field->file()).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3 ? 3 : 2;
+ #else
+   return 2;
+ #endif
diff --git a/srcpkgs/protobuf-c/patches/66a0b0d2.patch b/srcpkgs/protobuf-c/patches/66a0b0d2.patch
new file mode 100644
index 000000000000..790db6329120
--- /dev/null
+++ b/srcpkgs/protobuf-c/patches/66a0b0d2.patch
@@ -0,0 +1,308 @@
+From 66a0b0d205224f63f19dd8f96abf9dcdc2112331 Mon Sep 17 00:00:00 2001
+From: Xiangyu Chen <xiangyu.chen@windriver.com>
+Date: Wed, 29 Mar 2023 14:25:17 +0800
+Subject: [PATCH] add support of protobuf 4.22.x
+
+after upgrade the protobuf to 4.22.x, the protobuf-c cannot compile anymore (#544) due to following changes:
+1.protobuf using c++14, that cause the command_line_interface.h report error
+2.protobuf using abseil-cpp library instead the trace API with GOOGLE_ header
+3. removed GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
+---
+ Makefile.am                   | 2 +-
+ configure.ac                  | 8 ++++++++
+ protoc-c/c_bytes_field.h      | 1 -
+ protoc-c/c_enum.h             | 1 -
+ protoc-c/c_enum_field.h       | 1 -
+ protoc-c/c_extension.h        | 1 -
+ protoc-c/c_field.cc           | 2 +-
+ protoc-c/c_field.h            | 3 ---
+ protoc-c/c_file.h             | 1 -
+ protoc-c/c_generator.h        | 2 --
+ protoc-c/c_helpers.cc         | 4 ++--
+ protoc-c/c_message.cc         | 4 ++--
+ protoc-c/c_message.h          | 1 -
+ protoc-c/c_message_field.h    | 3 ---
+ protoc-c/c_primitive_field.cc | 6 +++---
+ protoc-c/c_primitive_field.h  | 3 ---
+ protoc-c/c_service.h          | 1 -
+ protoc-c/c_string_field.h     | 1 -
+ 18 files changed, 17 insertions(+), 28 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index c7339efe..3b0d1d66 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -20,7 +20,7 @@ AM_CPPFLAGS = \
+ 	-I${top_builddir} \
+ 	-I${top_srcdir}
+ AM_CFLAGS = ${my_CFLAGS}
+-AM_LDFLAGS =
++AM_LDFLAGS = ${ABSL_LOG_INTERNAL_CHECK_OP_LIBS} ${ABSL_LOG_RAW_HASH_SET_LIBS}
+ 
+ # code coverage
+ 
+diff --git a/configure.ac b/configure.ac
+index f5a0261e..8ed549ac 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -78,6 +78,14 @@ if test "x$enable_protoc" != "xno"; then
+ 
+   AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
+ 
++# now checking 4.22.x protobuf, if so, set cxx as 17
++  AS_IF([pkg-config --atleast-version 4.22.0 protobuf],[AX_CXX_COMPILE_STDCXX(17, noext, mandatory)])
++
++  AS_IF([pkg-config --atleast-version 4.22.0 protobuf],
++    [PKG_CHECK_MODULES([ABSL_LOG_INTERNAL_CHECK_OP], [absl_log_internal_check_op],
++       [PKG_CHECK_MODULES([ABSL_LOG_RAW_HASH_SET], [absl_raw_hash_set], [], [AC_MSG_ERROR([Missing absl_raw_hash_set library.])])],
++       [AC_MSG_ERROR([Missing absl_log_internal_check_op library.])])])
++
+   PKG_CHECK_MODULES([protobuf], [protobuf >= 3.0.0],
+     [proto3_supported=yes],
+     [PKG_CHECK_MODULES([protobuf], [protobuf >= 2.6.0])]
+diff --git a/protoc-c/c_bytes_field.h b/protoc-c/c_bytes_field.h
+index bf873f0f..8fc63d35 100644
+--- a/protoc-c/c_bytes_field.h
++++ b/protoc-c/c_bytes_field.h
+@@ -88,7 +88,6 @@ class BytesFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(BytesFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_enum.h b/protoc-c/c_enum.h
+index 9c34b697..d5e58f0a 100644
+--- a/protoc-c/c_enum.h
++++ b/protoc-c/c_enum.h
+@@ -107,7 +107,6 @@ class EnumGenerator {
+   const EnumDescriptor* descriptor_;
+   std::string dllexport_decl_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_enum_field.h b/protoc-c/c_enum_field.h
+index 3f8c005d..03eb4028 100644
+--- a/protoc-c/c_enum_field.h
++++ b/protoc-c/c_enum_field.h
+@@ -86,7 +86,6 @@ class EnumFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_extension.h b/protoc-c/c_extension.h
+index 95413885..9c5797d6 100644
+--- a/protoc-c/c_extension.h
++++ b/protoc-c/c_extension.h
+@@ -99,7 +99,6 @@ class ExtensionGenerator {
+   std::string type_traits_;
+   std::string dllexport_decl_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ExtensionGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_field.cc b/protoc-c/c_field.cc
+index 0716744a..4abdc6d3 100644
+--- a/protoc-c/c_field.cc
++++ b/protoc-c/c_field.cc
+@@ -231,7 +231,7 @@ FieldGeneratorMap::~FieldGeneratorMap() {}
+ 
+ const FieldGenerator& FieldGeneratorMap::get(
+     const FieldDescriptor* field) const {
+-  GOOGLE_CHECK_EQ(field->containing_type(), descriptor_);
++  ABSL_CHECK_EQ(field->containing_type(), descriptor_);
+   return *field_generators_[field->index()];
+ }
+ 
+diff --git a/protoc-c/c_field.h b/protoc-c/c_field.h
+index 3cad35d3..76d3b0bc 100644
+--- a/protoc-c/c_field.h
++++ b/protoc-c/c_field.h
+@@ -104,8 +104,6 @@ class FieldGenerator {
+                                             const std::string &descriptor_addr) const;
+   const FieldDescriptor *descriptor_;
+ 
+- private:
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGenerator);
+ };
+ 
+ // Convenience class which constructs FieldGenerators for a Descriptor.
+@@ -122,7 +120,6 @@ class FieldGeneratorMap {
+ 
+   static FieldGenerator* MakeGenerator(const FieldDescriptor* field);
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGeneratorMap);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_file.h b/protoc-c/c_file.h
+index 8dfd8ba0..ec55906e 100644
+--- a/protoc-c/c_file.h
++++ b/protoc-c/c_file.h
+@@ -104,7 +104,6 @@ class FileGenerator {
+   std::unique_ptr<std::unique_ptr<ServiceGenerator>[]> service_generators_;
+   std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FileGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_generator.h b/protoc-c/c_generator.h
+index ac1ffafe..92601164 100644
+--- a/protoc-c/c_generator.h
++++ b/protoc-c/c_generator.h
+@@ -94,8 +94,6 @@ class PROTOC_C_EXPORT CGenerator : public CodeGenerator {
+                 OutputDirectory* output_directory,
+                 std::string* error) const;
+ 
+- private:
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(CGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_helpers.cc b/protoc-c/c_helpers.cc
+index 6fd0cd3a..1eaeeb42 100644
+--- a/protoc-c/c_helpers.cc
++++ b/protoc-c/c_helpers.cc
+@@ -286,7 +286,7 @@ const char* const kKeywordList[] = {
+ 
+ std::set<std::string> MakeKeywordsMap() {
+   std::set<std::string> result;
+-  for (int i = 0; i < GOOGLE_ARRAYSIZE(kKeywordList); i++) {
++  for (int i = 0; i < ABSL_ARRAYSIZE(kKeywordList); i++) {
+     result.insert(kKeywordList[i]);
+   }
+   return result;
+@@ -548,7 +548,7 @@ std::string CEscape(const std::string& src) {
+   std::unique_ptr<char[]> dest(new char[dest_length]);
+   const int len = CEscapeInternal(src.data(), src.size(),
+                                   dest.get(), dest_length, false);
+-  GOOGLE_DCHECK_GE(len, 0);
++  ABSL_DCHECK_GE(len, 0);
+   return std::string(dest.get(), len);
+ }
+ 
+diff --git a/protoc-c/c_message.cc b/protoc-c/c_message.cc
+index 37e8bf8b..c7e85155 100755
+--- a/protoc-c/c_message.cc
++++ b/protoc-c/c_message.cc
+@@ -499,7 +499,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ 	  // NOTE: not supported by protobuf
+ 	  vars["maybe_static"] = "";
+ 	  vars["field_dv_ctype"] = "{ ... }";
+-	  GOOGLE_LOG(DFATAL) << "Messages can't have default values!";
++	  ABSL_LOG(FATAL) << "Messages can't have default values!";
+ 	  break;
+ 	case FieldDescriptor::CPPTYPE_STRING:
+ 	  if (fd->type() == FieldDescriptor::TYPE_BYTES || opt.string_as_bytes())
+@@ -521,7 +521,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ 	    break;
+ 	  }
+ 	default:
+-	  GOOGLE_LOG(DFATAL) << "Unknown CPPTYPE";
++	  ABSL_LOG(FATAL) << "Unknown CPPTYPE";
+ 	  break;
+ 	}
+ 	if (!already_defined)
+diff --git a/protoc-c/c_message.h b/protoc-c/c_message.h
+index ea1c3ab3..e90782bf 100644
+--- a/protoc-c/c_message.h
++++ b/protoc-c/c_message.h
+@@ -137,7 +137,6 @@ class MessageGenerator {
+   std::unique_ptr<std::unique_ptr<EnumGenerator>[]> enum_generators_;
+   std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_message_field.h b/protoc-c/c_message_field.h
+index 39b8d999..42efe368 100644
+--- a/protoc-c/c_message_field.h
++++ b/protoc-c/c_message_field.h
+@@ -83,9 +83,6 @@ class MessageFieldGenerator : public FieldGenerator {
+   std::string GetDefaultValue(void) const;
+   void GenerateStaticInit(io::Printer* printer) const;
+ 
+- private:
+-
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_primitive_field.cc b/protoc-c/c_primitive_field.cc
+index 6990893f..d5a7b60c 100644
+--- a/protoc-c/c_primitive_field.cc
++++ b/protoc-c/c_primitive_field.cc
+@@ -99,7 +99,7 @@ void PrimitiveFieldGenerator::GenerateStructMembers(io::Printer* printer) const
+     case FieldDescriptor::TYPE_STRING  :
+     case FieldDescriptor::TYPE_BYTES   :
+     case FieldDescriptor::TYPE_GROUP   :
+-    case FieldDescriptor::TYPE_MESSAGE : GOOGLE_LOG(FATAL) << "not a primitive type"; break;
++    case FieldDescriptor::TYPE_MESSAGE : ABSL_LOG(FATAL) << "not a primitive type"; break;
+ 
+     // No default because we want the compiler to complain if any new
+     // types are added.
+@@ -143,7 +143,7 @@ std::string PrimitiveFieldGenerator::GetDefaultValue() const
+     case FieldDescriptor::CPPTYPE_BOOL:
+       return descriptor_->default_value_bool() ? "1" : "0";
+     default:
+-      GOOGLE_LOG(DFATAL) << "unexpected CPPTYPE in c_primitive_field";
++      ABSL_LOG(FATAL) << "unexpected CPPTYPE in c_primitive_field";
+       return "UNEXPECTED_CPPTYPE";
+   }
+ }
+@@ -197,7 +197,7 @@ void PrimitiveFieldGenerator::GenerateDescriptorInitializer(io::Printer* printer
+     case FieldDescriptor::TYPE_STRING  :
+     case FieldDescriptor::TYPE_BYTES   :
+     case FieldDescriptor::TYPE_GROUP   :
+-    case FieldDescriptor::TYPE_MESSAGE : GOOGLE_LOG(FATAL) << "not a primitive type"; break;
++    case FieldDescriptor::TYPE_MESSAGE : ABSL_LOG(FATAL) << "not a primitive type"; break;
+ 
+     // No default because we want the compiler to complain if any new
+     // types are added.
+diff --git a/protoc-c/c_primitive_field.h b/protoc-c/c_primitive_field.h
+index a9eb893b..d2bb7243 100644
+--- a/protoc-c/c_primitive_field.h
++++ b/protoc-c/c_primitive_field.h
+@@ -83,9 +83,6 @@ class PrimitiveFieldGenerator : public FieldGenerator {
+   std::string GetDefaultValue(void) const;
+   void GenerateStaticInit(io::Printer* printer) const;
+ 
+- private:
+-
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(PrimitiveFieldGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_service.h b/protoc-c/c_service.h
+index 27125a60..4737ff3b 100644
+--- a/protoc-c/c_service.h
++++ b/protoc-c/c_service.h
+@@ -101,7 +101,6 @@ class ServiceGenerator {
+   const ServiceDescriptor* descriptor_;
+   std::map<std::string, std::string> vars_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ServiceGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_string_field.h b/protoc-c/c_string_field.h
+index 513cea75..ba258e44 100644
+--- a/protoc-c/c_string_field.h
++++ b/protoc-c/c_string_field.h
+@@ -88,7 +88,6 @@ class StringFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(StringFieldGenerator);
+ };
+ 
+ 
diff --git a/srcpkgs/protobuf-c/template b/srcpkgs/protobuf-c/template
index 7d1b529d8936..e703b138152d 100644
--- a/srcpkgs/protobuf-c/template
+++ b/srcpkgs/protobuf-c/template
@@ -1,10 +1,10 @@
 # Template file for 'protobuf-c'
 pkgname=protobuf-c
 version=1.4.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="$(vopt_enable protoc)"
-hostmakedepends="pkg-config protobuf protobuf-devel"
+hostmakedepends="pkg-config protobuf protobuf-devel automake libtool"
 makedepends="protobuf-devel boost-devel $(vopt_if protoc libprotoc-devel)"
 short_desc="C implementation of the Google Protocol Buffers"
 maintainer="Enno Boland <gottox@voidlinux.org>"
@@ -17,6 +17,10 @@ build_options="protoc"
 build_options_default="protoc"
 desc_option_protoc="Build protoc-c compiler"
 
+pre_configure() {
+	autoreconf -if
+}
+
 post_install() {
 	vlicense LICENSE
 }

From b2dcd21c9cac7147805597571f6289a7d3996182 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 2 Jul 2023 21:07:55 +0200
Subject: [PATCH 32/35] netdata: update to 1.40.1.

---
 srcpkgs/netdata/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/netdata/template            | 13 +++++++++----
 2 files changed, 20 insertions(+), 4 deletions(-)
 create mode 100644 srcpkgs/netdata/patches/cpp17.patch

diff --git a/srcpkgs/netdata/patches/cpp17.patch b/srcpkgs/netdata/patches/cpp17.patch
new file mode 100644
index 000000000000..b197ccd57bd9
--- /dev/null
+++ b/srcpkgs/netdata/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac	2023-06-27 16:25:03.364605041 +0200
++++ -	2023-07-02 21:27:31.113408278 +0200
+@@ -237,7 +237,7 @@
+ # C++ version check
+ 
+ # Check for C++17 support (optional)
+-# AX_CXX_COMPILE_STDCXX(17, noext, optional)
++AX_CXX_COMPILE_STDCXX(17, noext, optional)
+ 
+ if test "x$HAVE_CXX17" != "x1"; then
+   # Check for C++11 support (optional)
diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 781120b3f275..9065c5140361 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -1,14 +1,14 @@
 # Template file for 'netdata'
 pkgname=netdata
-version=1.37.1
-revision=2
+version=1.40.1
+revision=1
 build_style=gnu-configure
 build_helper=qemu
 configure_args="--with-user=_netdata ac_cv_file_externaldeps_libbpf_libbpf_a=no
  $(vopt_if cloud --enable-cloud --disable-cloud) $(vopt_if ipmi --enable-plugin-freeipmi)
  $(vopt_if xen --enable-plugin-xenstat) $(vopt_if cups --enable-plugin-cups)"
 hostmakedepends="pkg-config autoconf automake $(vopt_if cloud "protobuf protobuf-devel")"
-makedepends="json-c-devel libcap-devel liblz4-devel libmnl-devel
+makedepends="json-c-devel libcap-devel liblz4-devel libmnl-devel libyaml-devel
  libnetfilter_acct-devel openssl-devel libuuid-devel libuv-devel zlib-devel
  snappy-devel $(vopt_if cloud protobuf-devel) $(vopt_if ipmi freeipmi-devel)
  $(vopt_if xen "xen-devel yajl-devel") $(vopt_if cups cups-devel)"
@@ -18,7 +18,7 @@ maintainer="Michael Aldridge <maldridge@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://www.netdata.cloud/"
 distfiles="https://github.com/netdata/netdata/releases/download/v${version}/netdata-v${version}.tar.gz"
-checksum=2caa042d43ca61007a61294a5ececa037d83a1973bd38032233760341eb1706b
+checksum=cc86172acd5e6ec05bc0fa86a50d967502a264d8adf7f79293923ccd8febb251
 python_version=3
 make_dirs="
  /var/lib/netdata          0755 _netdata _netdata
@@ -43,6 +43,11 @@ if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 fi
 
 pre_configure() {
+	vsed -e 's/#define info(/#define netdata_log_info(/g' -i libnetdata/log/log.h
+	vsed -e 's/^\([ ]*\)info[ ]*(/\1netdata_log_info(/g' -i $(grep -rl '^[ ]*info *(' ./)
+	vsed -e 's/^\([ ]*\)else info(/\1else netdata_log_info(/g' -i $(grep -rl '^[ ]*else info(' ./)
+	vsed -e 's/^\([ ]*\)if(\([^)]*\))[ ]*info(/\1if(\2) netdata_log_info(/g' -i $(grep -rl '^[ ]*if.*info(' ./)
+
 	if [ "$CROSS_BUILD" ]; then
 		sed -i "s|	\$(builddir)/judyltablesgen\$(EXEEXT)|	qemu-${XBPS_TARGET_QEMU_MACHINE}-static \$(builddir)/judyltablesgen\$(EXEEXT)|g" Makefile.am
 	fi

From 96ab846e6ea08e5d12cf44f598b67a23213dd862 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 8 Jul 2023 12:47:51 +0200
Subject: [PATCH 33/35] strawberry: rebuild against protobuf-23.3_1

---
 srcpkgs/strawberry/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/strawberry/template b/srcpkgs/strawberry/template
index b42efa1b89b2..91f2e07a0ec0 100644
--- a/srcpkgs/strawberry/template
+++ b/srcpkgs/strawberry/template
@@ -1,7 +1,7 @@
 # Template file for 'strawberry'
 pkgname=strawberry
 version=1.0.17
-revision=2
+revision=3
 build_style=cmake
 hostmakedepends="pkg-config protobuf gettext"
 makedepends="alsa-lib-devel boost-devel gnutls-devel fftw-devel

From c332f802cd07a2ed2016f1e859418c59d5d2e069 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 8 Jul 2023 12:47:51 +0200
Subject: [PATCH 34/35] libphonenumber: rebuild against protobuf-23.3_1

---
 srcpkgs/libphonenumber/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libphonenumber/template b/srcpkgs/libphonenumber/template
index f554714b3c7a..058939459f6a 100644
--- a/srcpkgs/libphonenumber/template
+++ b/srcpkgs/libphonenumber/template
@@ -1,7 +1,7 @@
 # Template file for 'libphonenumber'
 pkgname=libphonenumber
 version=8.12.39
-revision=12
+revision=13
 build_wrksrc=cpp
 build_style=cmake
 build_helper=qemu

From 3b5436317fec2ff4a591a43f6edc2b450c64b8fa Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 14 Jul 2023 15:44:21 +0200
Subject: [PATCH 35/35] python3-protobuf: update to 4.23.4.

---
 srcpkgs/python3-protobuf/patches/cpp17.patch  |  11 ++
 .../patches/python-3.11.patch                 | 132 ------------------
 srcpkgs/python3-protobuf/template             |  11 +-
 3 files changed, 18 insertions(+), 136 deletions(-)
 create mode 100644 srcpkgs/python3-protobuf/patches/cpp17.patch
 delete mode 100644 srcpkgs/python3-protobuf/patches/python-3.11.patch

diff --git a/srcpkgs/python3-protobuf/patches/cpp17.patch b/srcpkgs/python3-protobuf/patches/cpp17.patch
new file mode 100644
index 000000000000..97b81e1bfa5a
--- /dev/null
+++ b/srcpkgs/python3-protobuf/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/python/setup.py	2023-07-05 23:53:30.000000000 +0200
++++ -	2023-07-14 16:19:35.949677747 +0200
+@@ -370,7 +370,7 @@
+       extra_compile_args.append('-Wno-invalid-offsetof')
+       extra_compile_args.append('-Wno-sign-compare')
+       extra_compile_args.append('-Wno-unused-variable')
+-      extra_compile_args.append('-std=c++14')
++      extra_compile_args.append('-std=c++17')
+ 
+     if sys.platform == 'darwin':
+       extra_compile_args.append('-Wno-shorten-64-to-32')
diff --git a/srcpkgs/python3-protobuf/patches/python-3.11.patch b/srcpkgs/python3-protobuf/patches/python-3.11.patch
deleted file mode 100644
index f6ed1b078357..000000000000
--- a/srcpkgs/python3-protobuf/patches/python-3.11.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From da973aff2adab60a9e516d3202c111dbdde1a50f Mon Sep 17 00:00:00 2001
-From: Alexander Shadchin <alexandr.shadchin@gmail.com>
-Date: Sun, 14 Aug 2022 21:13:49 +0300
-Subject: [PATCH] Fix build with Python 3.11
-
-The PyFrameObject structure members have been removed from the public C API.
----
- google/protobuf/pyext/descriptor.cc | 75 ++++++++++++++++++----
- 1 file changed, 62 insertions(+), 13 deletions(-)
-
-diff --git a/google/protobuf/pyext/descriptor.cc b/google/protobuf/pyext/descriptor.cc
-index fc83acf01a..fc97b0fa6c 100644
---- a/google/protobuf/pyext/descriptor.cc
-+++ b/google/protobuf/pyext/descriptor.cc
-@@ -58,6 +58,37 @@
-               : 0)                                               \
-        : PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
- 
-+#if PY_VERSION_HEX < 0x030900B1 && !defined(PYPY_VERSION)
-+static PyCodeObject* PyFrame_GetCode(PyFrameObject *frame)
-+{
-+    Py_INCREF(frame->f_code);
-+    return frame->f_code;
-+}
-+
-+static PyFrameObject* PyFrame_GetBack(PyFrameObject *frame)
-+{
-+    Py_XINCREF(frame->f_back);
-+    return frame->f_back;
-+}
-+#endif
-+
-+#if PY_VERSION_HEX < 0x030B00A7 && !defined(PYPY_VERSION)
-+static PyObject* PyFrame_GetLocals(PyFrameObject *frame)
-+{
-+    if (PyFrame_FastToLocalsWithError(frame) < 0) {
-+        return NULL;
-+    }
-+    Py_INCREF(frame->f_locals);
-+    return frame->f_locals;
-+}
-+
-+static PyObject* PyFrame_GetGlobals(PyFrameObject *frame)
-+{
-+    Py_INCREF(frame->f_globals);
-+    return frame->f_globals;
-+}
-+#endif
-+
- namespace google {
- namespace protobuf {
- namespace python {
-@@ -96,48 +127,66 @@ bool _CalledFromGeneratedFile(int stacklevel) {
-   // This check is not critical and is somewhat difficult to implement correctly
-   // in PyPy.
-   PyFrameObject* frame = PyEval_GetFrame();
-+  PyCodeObject* frame_code = nullptr;
-+  PyObject* frame_globals = nullptr;
-+  PyObject* frame_locals = nullptr;
-+  bool result = false;
-+
-   if (frame == nullptr) {
--    return false;
-+    goto exit;
-   }
-+  Py_INCREF(frame);
-   while (stacklevel-- > 0) {
--    frame = frame->f_back;
-+    PyFrameObject* next_frame = PyFrame_GetBack(frame);
-+    Py_DECREF(frame);
-+    frame = next_frame;
-     if (frame == nullptr) {
--      return false;
-+      goto exit;
-     }
-   }
- 
--  if (frame->f_code->co_filename == nullptr) {
--    return false;
-+  frame_code = PyFrame_GetCode(frame);
-+  if (frame_code->co_filename == nullptr) {
-+    goto exit;
-   }
-   char* filename;
-   Py_ssize_t filename_size;
--  if (PyString_AsStringAndSize(frame->f_code->co_filename,
-+  if (PyString_AsStringAndSize(frame_code->co_filename,
-                                &filename, &filename_size) < 0) {
-     // filename is not a string.
-     PyErr_Clear();
--    return false;
-+    goto exit;
-   }
-   if ((filename_size < 3) ||
-       (strcmp(&filename[filename_size - 3], ".py") != 0)) {
-     // Cython's stack does not have .py file name and is not at global module
-     // scope.
--    return true;
-+    result = true;
-+    goto exit;
-   }
-   if (filename_size < 7) {
-     // filename is too short.
--    return false;
-+    goto exit;
-   }
-   if (strcmp(&filename[filename_size - 7], "_pb2.py") != 0) {
-     // Filename is not ending with _pb2.
--    return false;
-+    goto exit;
-   }
- 
--  if (frame->f_globals != frame->f_locals) {
-+  frame_globals = PyFrame_GetGlobals(frame);
-+  frame_locals = PyFrame_GetLocals(frame);
-+  if (frame_globals != frame_locals) {
-     // Not at global module scope
--    return false;
-+    goto exit;
-   }
- #endif
--  return true;
-+  result = true;
-+exit:
-+  Py_XDECREF(frame_globals);
-+  Py_XDECREF(frame_locals);
-+  Py_XDECREF(frame_code);
-+  Py_XDECREF(frame);
-+  return result;
- }
- 
- // If the calling code is not a _pb2.py file, raise AttributeError.
diff --git a/srcpkgs/python3-protobuf/template b/srcpkgs/python3-protobuf/template
index e965c4432162..5c78e4794018 100644
--- a/srcpkgs/python3-protobuf/template
+++ b/srcpkgs/python3-protobuf/template
@@ -1,16 +1,19 @@
 # Template file for 'python3-protobuf'
 pkgname=python3-protobuf
-version=4.21.12
+version=4.23.4
+_protobuf=${version#*.}
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-wheel"
+build_wrksrc=python
+hostmakedepends="python3-setuptools python3-wheel protobuf"
 depends="python3-setuptools python3-six"
 short_desc="Python3 bindings for Google Protocol Buffers"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
-distfiles="${PYPI_SITE}/p/protobuf/protobuf-${version}.tar.gz"
-checksum=7cd532c4566d0e6feafecc1059d04c7915aec8e182d1cf7adee8b24ef1e2e6ab
+# PyPi release does not have bits for cppext
+distfiles="https://github.com/protocolbuffers/protobuf/releases/download/v${_protobuf}/protobuf-${_protobuf}.tar.gz"
+checksum=a700a49470d301f1190a487a923b5095bf60f08f4ae4cac9f5f7c36883d17971
 
 build_options="cppext"
 build_options_default="cppext"

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] protobuf/abseil-cpp/grpc: update
  2023-07-08 11:45 [PR PATCH] protobuf/abseil-cpp: update Johnnynator
                   ` (7 preceding siblings ...)
  2023-07-14 15:33 ` Johnnynator
@ 2023-07-14 15:36 ` Johnnynator
  2023-07-16 14:09 ` Johnnynator
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Johnnynator @ 2023-07-14 15:36 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 616 bytes --]

There is an updated pull request by Johnnynator against master on the void-packages repository

https://github.com/Johnnynator/void-packages google-stuff
https://github.com/void-linux/void-packages/pull/44920

protobuf/abseil-cpp/grpc: update
"Fun" with google stuff

#### Testing the changes
- I tested the changes in this PR: **WiP**


#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):



A patch file from https://github.com/void-linux/void-packages/pull/44920.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-google-stuff-44920.patch --]
[-- Type: text/x-diff, Size: 117221 bytes --]

From 2fa9d09713592cbb1af14d87d047818bd4685933 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:24:01 +0200
Subject: [PATCH 01/35] abseil-cpp: update to 20230125.3.

---
 common/shlibs                                 | 128 ++++++++++++------
 srcpkgs/abseil-cpp/patches/google-sucks.patch |  77 -----------
 srcpkgs/abseil-cpp/template                   |   4 +-
 3 files changed, 85 insertions(+), 124 deletions(-)
 delete mode 100644 srcpkgs/abseil-cpp/patches/google-sucks.patch

diff --git a/common/shlibs b/common/shlibs
index 4b2122d1b199..d1e779f4e7cb 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4207,51 +4207,89 @@ libsunpinyin.so.3 libsunpinyin-3.0.0rc2_1
 libtpm2-totp.so.0 libtpm2-totp-0.3.0_1
 libmujs.so.1.2.0 mujs-1.2.0_2
 libiir.so.1 libiir1-1.9.3_1
-libabsl_statusor.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_hash.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_raw_hash_set.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_bad_variant_access.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_status.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_pool_urbg.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_hwaes_impl.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_slow.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cord.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_city.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_bad_optional_access.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_info.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_str_format_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_synchronization.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_time.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strings.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_throw_delegate.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_time_zone.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_spinlock_wait.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_base.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_civil_time.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cord_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_functions.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_handle.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_debugging_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_demangle_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_exponential_biased.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_graphcycles_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_hashtablez_sampler.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_int128.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_log_severity.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_low_level_hash.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_malloc_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_distributions.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_platform.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_hwaes.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_seed_material.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_seed_gen_exception.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_seed_sequences.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_raw_logging_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_stacktrace.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strerror.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strings_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_symbolize.so.2206.0.0 abseil-cpp-20220623.1_1
+libabsl_flags.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_raw_logging_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_parse.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_reflection.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_globals.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_config.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_seed_sequences.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_statusor.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_usage_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_commandlineflag.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_hwaes_impl.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_status.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_any_cast_impl.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_variant_access.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_raw_hash_set.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_optional_access.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cord.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_distribution_test_util.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_handle.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_graphcycles_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_spinlock_wait.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_functions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_usage.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_debugging_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strerror.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_seed_material.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_log_sink_set.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_proto.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_civil_time.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_conditions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_cpu_detect.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_entry.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_distributions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_globals.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_format.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_exponential_biased.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_city.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_symbolize.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_leak_check.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_low_level_hash.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_severity.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_scoped_set_env.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strings.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_die_if_null.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_hash.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_commandlineflag_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_periodic_sampler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_platform.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_malloc_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_sample_token.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_str_format_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_synchronization.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_message.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strings_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_private_handle_accessor.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cord_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_hwaes.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_throw_delegate.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_cord_state.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_flags.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_program_name.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_time_zone.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_examine_stack.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc32c.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_initialize.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_failure_signal_handler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_time.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_info.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_sink.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_nullguard.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_demangle_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_base.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_hashtablez_sampler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_marshalling.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_pool_urbg.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_int128.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_stacktrace.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_seed_gen_exception.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_check_op.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_slow.so.2301.0.0 abseil-cpp-20230125.3_1
 libairspyhf.so.0 libairspyhf-1.6.8_1
 libtraceevent.so.1 libtraceevent-1.6.2_1
 libtracefs.so.1 libtracefs-1.4.2_1
diff --git a/srcpkgs/abseil-cpp/patches/google-sucks.patch b/srcpkgs/abseil-cpp/patches/google-sucks.patch
deleted file mode 100644
index 511bae847101..000000000000
--- a/srcpkgs/abseil-cpp/patches/google-sucks.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-commit 1fbfea71fb42b2e79f9e342c1843bd26a8703536
-Author: Daniel Kolesa <daniel@octaforge.org>
-Date:   Thu Aug 25 01:20:58 2022 +0200
-
-    An all-in-one patch that fixes several issues:
-    
-    1) UnscaledCycleClock not fully implemented for ppc*-musl (disabled on musl)
-    2) powerpc stacktrace implementation only works on glibc (disabled on musl)
-    3) powerpc stacktrace implementation has ppc64 assumptions (fixed)
-    4) examine_stack.cpp makes glibc assumptions on powerpc (fixed)
-
-diff --git a/absl/base/internal/unscaledcycleclock.cc b/absl/base/internal/unscaledcycleclock.cc
-index b1c396c..d62bfd6 100644
---- a/absl/base/internal/unscaledcycleclock.cc
-+++ b/absl/base/internal/unscaledcycleclock.cc
-@@ -20,7 +20,7 @@
- #include <intrin.h>
- #endif
- 
--#if defined(__powerpc__) || defined(__ppc__)
-+#if (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
- #ifdef __GLIBC__
- #include <sys/platform/ppc.h>
- #elif defined(__FreeBSD__)
-@@ -58,7 +58,7 @@ double UnscaledCycleClock::Frequency() {
-   return base_internal::NominalCPUFrequency();
- }
- 
--#elif defined(__powerpc__) || defined(__ppc__)
-+#elif (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
- 
- int64_t UnscaledCycleClock::Now() {
- #ifdef __GLIBC__
-diff --git a/absl/base/internal/unscaledcycleclock.h b/absl/base/internal/unscaledcycleclock.h
-index 2cbeae3..83d8c98 100644
---- a/absl/base/internal/unscaledcycleclock.h
-+++ b/absl/base/internal/unscaledcycleclock.h
-@@ -46,8 +46,8 @@
- 
- // The following platforms have an implementation of a hardware counter.
- #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \
--    defined(__powerpc__) || defined(__ppc__) || defined(__riscv) ||     \
--    defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
-+    ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \
-+    defined(__riscv) || defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
- #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
- #else
- #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 0
-diff --git a/absl/debugging/internal/examine_stack.cc b/absl/debugging/internal/examine_stack.cc
-index 5bdd341..a42a3c4 100644
---- a/absl/debugging/internal/examine_stack.cc
-+++ b/absl/debugging/internal/examine_stack.cc
-@@ -174,8 +174,10 @@ void* GetProgramCounter(void* const vuc) {
-     return reinterpret_cast<void*>(context->uc_mcontext.pc);
- #elif defined(__powerpc64__)
-     return reinterpret_cast<void*>(context->uc_mcontext.gp_regs[32]);
--#elif defined(__powerpc__)
-+#elif defined(__powerpc__) && defined(__GLIBC__)
-     return reinterpret_cast<void*>(context->uc_mcontext.uc_regs->gregs[32]);
-+#elif defined(__powerpc__)
-+    return reinterpret_cast<void*>(context->uc_mcontext.gregs[32]);
- #elif defined(__riscv)
-     return reinterpret_cast<void*>(context->uc_mcontext.__gregs[REG_PC]);
- #elif defined(__s390__) && !defined(__s390x__)
-diff --git a/absl/debugging/internal/stacktrace_config.h b/absl/debugging/internal/stacktrace_config.h
-index 3929b1b..23d5e50 100644
---- a/absl/debugging/internal/stacktrace_config.h
-+++ b/absl/debugging/internal/stacktrace_config.h
-@@ -60,7 +60,7 @@
- #elif defined(__i386__) || defined(__x86_64__)
- #define ABSL_STACKTRACE_INL_HEADER \
-   "absl/debugging/internal/stacktrace_x86-inl.inc"
--#elif defined(__ppc__) || defined(__PPC__)
-+#elif (defined(__ppc__) || defined(__PPC__)) && defined(__GLIBC__)
- #define ABSL_STACKTRACE_INL_HEADER \
-   "absl/debugging/internal/stacktrace_powerpc-inl.inc"
- #elif defined(__aarch64__)
diff --git a/srcpkgs/abseil-cpp/template b/srcpkgs/abseil-cpp/template
index 8640d2489406..3ffdb4d99d33 100644
--- a/srcpkgs/abseil-cpp/template
+++ b/srcpkgs/abseil-cpp/template
@@ -1,6 +1,6 @@
 # Template file for 'abseil-cpp'
 pkgname=abseil-cpp
-version=20220623.1
+version=20230125.3
 revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON -DABSL_PROPAGATE_CXX_STD=ON"
@@ -10,7 +10,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="Apache-2.0"
 homepage="https://abseil.io"
 distfiles="https://github.com/abseil/abseil-cpp/archive/${version}.tar.gz"
-checksum=91ac87d30cc6d79f9ab974c51874a704de9c2647c40f6932597329a282217ba8
+checksum=5366d7e7fa7ba0d915014d387b66d0d002c03236448e1ba9ef98122c13b35c36
 
 abseil-cpp-devel_package() {
 	short_desc+=" (development files)"

From 890d802c66e66caacde2d4010022beb952242fa7 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 02/35] Bear: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/Bear/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/Bear/template b/srcpkgs/Bear/template
index cebf51b64728..2e6da3ba9a30 100644
--- a/srcpkgs/Bear/template
+++ b/srcpkgs/Bear/template
@@ -1,7 +1,7 @@
 # Template file for 'Bear'
 pkgname=Bear
 version=3.1.2
-revision=1
+revision=2
 build_style=cmake
 hostmakedepends="pkg-config protobuf protobuf-devel grpc"
 makedepends="json-c++ spdlog grpc-devel protobuf-devel gtest-devel"

From 88e754bb31c06e8f7a15c8938ace693600708eaf Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 03/35] grpc: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/grpc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index 5b4547a5c0fc..f9d197a1c354 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -1,7 +1,7 @@
 # Template file for 'grpc'
 pkgname=grpc
 version=1.49.1
-revision=2
+revision=3
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON
  -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package

From b38f03b380fbf622b18ceec71ee3bf0e76e8d298 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 04/35] justbuild: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/justbuild/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index 1ad8e334617d..ee36f6dae575 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
 # Template file for 'justbuild'
 pkgname=justbuild
 version=1.1.2
-revision=1
+revision=2
 create_wrksrc=yes
 hostmakedepends="jo pandoc pkg-config python3 tar unzip wget"
 makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++

From 3ebf2dd20a5ae7283d817fc5390a9a76794473ec Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 05/35] python3-grpcio: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/python3-grpcio/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 826eda0fc560..9b3c7288a9dd 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-grpcio'
 pkgname=python3-grpcio
 version=1.49.1
-revision=3
+revision=4
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-six python3-Cython"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel

From 0aac8463d0d41a2a7e48711826c077840dd367f3 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 06/35] sysdig: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/sysdig/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index 81ddb7aba5e3..4a04e762468c 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,7 +1,7 @@
 # Template file for 'sysdig'
 pkgname=sysdig
 version=0.28.0
-revision=7
+revision=8
 build_style=cmake
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF
@@ -36,7 +36,8 @@ CXXFLAGS="-Wno-deprecated-declarations"
 CXXFLAGS+=" -I/usr/include/grpc_absl"
 
 post_extract() {
-	sed -i 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' scripts/CMakeLists.txt
+	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
+	vsed -e 's|-std=c++0x||' -i CMakeLists.txt
 }
 
 post_install() {

From 2fb9d639d2e07e41f91bb3b3a1037eec54746b69 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 22:01:12 +0200
Subject: [PATCH 07/35] python3-grpcio: update to 1.56.0.

---
 srcpkgs/python3-grpcio/template | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 9b3c7288a9dd..25ea3fc34620 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-grpcio'
 pkgname=python3-grpcio
-version=1.49.1
-revision=4
+version=1.56.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-six python3-Cython"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel
@@ -12,7 +12,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://grpc.io"
 distfiles="${PYPI_SITE}/g/grpcio/grpcio-${version}.tar.gz"
-checksum=d4725fc9ec8e8822906ae26bb26f5546891aa7fbc3443de970cc556d43a5c99f
+checksum=4c08ee21b3d10315b8dc26f6c13917b20ed574cdbed2d2d80c53d5508fdcc0f2
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	makedepends+=" libatomic-devel"
@@ -29,5 +29,7 @@ export GRPC_PYTHON_BUILD_SYSTEM_RE2=1
 export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
 
 post_extract() {
+	# abseil-cpp 2023xxxxxx requires at least c++ 17
+	vsed -e 's/c++14/c++17/g' -i setup.py
 	rm src/python/grpcio/grpc/_cython/cygrpc.cpp
 }

From 9cf5cffe9fe5d6aea416ef6f72d12e5479eec125 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 22:01:47 +0200
Subject: [PATCH 08/35] grpc: update to 1.56.0.

---
 common/shlibs                                 | 24 +++++++++----------
 srcpkgs/grpc/patches/cmake.patch              | 20 ++++++++++++++++
 .../grpc/patches/revert-find-protobuf.patch   | 23 ++++++++++++++++++
 srcpkgs/grpc/template                         | 15 ++++++------
 4 files changed, 63 insertions(+), 19 deletions(-)
 create mode 100644 srcpkgs/grpc/patches/cmake.patch
 create mode 100644 srcpkgs/grpc/patches/revert-find-protobuf.patch

diff --git a/common/shlibs b/common/shlibs
index d1e779f4e7cb..5adfa4d6e69f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3683,18 +3683,18 @@ liboblibs.so.0.1 oblibs-0.1.1.1_1
 libaal-1.0.so.7 libaal-1.0.7_1
 libaal-minimal.so.0 libaal-1.0.7_1
 libcli.so.1.9 libcli-1.9.8.4_1
-libaddress_sorting.so.27 libgrpc-1.49.1_1
-libgpr.so.27 libgrpc-1.49.1_1
-libgrpc.so.27 libgrpc-1.49.1_1
-libgrpc_unsecure.so.27 libgrpc-1.49.1_1
-libupb.so.27 libgrpc-1.49.1_1
-libgrpc++.so.1.49 libgrpc-1.49.1_1
-libgrpc++_alts.so.1.49 libgrpc-1.49.1_1
-libgrpc++_error_details.so.1.49 libgrpc-1.49.1_1
-libgrpc++_reflection.so.1.49 libgrpc-1.49.1_1
-libgrpc++_unsecure.so.1.49 libgrpc-1.49.1_1
-libgrpc_plugin_support.so.1.49 libgrpc-1.49.1_1
-libgrpcpp_channelz.so.1.49 libgrpc-1.49.1_1
+libaddress_sorting.so.33 libgrpc-1.56.0_1
+libgpr.so.33 libgrpc-1.56.0_1
+libgrpc.so.33 libgrpc-1.56.0_1
+libgrpc_unsecure.so.33 libgrpc-1.56.0_1
+libupb.so.33 libgrpc-1.56.0_1
+libgrpc++.so.1.56 libgrpc-1.56.0_1
+libgrpc++_alts.so.1.56 libgrpc-1.56.0_1
+libgrpc++_error_details.so.1.56 libgrpc-1.56.0_1
+libgrpc++_reflection.so.1.56 libgrpc-1.56.0_1
+libgrpc++_unsecure.so.1.56 libgrpc-1.56.0_1
+libgrpc_plugin_support.so.1.56 libgrpc-1.56.0_1
+libgrpcpp_channelz.so.1.56 libgrpc-1.56.0_1
 libircclient.so.1 libircclient-1.10_5
 libFAudio.so.0 FAudio-19.05_1
 libqaccessibilityclient-qt5.so.0 libqaccessibilityclient-0.4.0_1
diff --git a/srcpkgs/grpc/patches/cmake.patch b/srcpkgs/grpc/patches/cmake.patch
new file mode 100644
index 000000000000..54d04e29837d
--- /dev/null
+++ b/srcpkgs/grpc/patches/cmake.patch
@@ -0,0 +1,20 @@
+--- a/cmake/gRPCConfig.cmake.in	2023-06-14 22:21:16.000000000 +0200
++++ -	2023-06-28 11:11:32.902678412 +0200
+@@ -1,5 +1,6 @@
+ # Module path
+ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/modules)
++include(CMakeFindDependencyMacro)
+ 
+ # Depend packages
+ @_gRPC_FIND_ZLIB@
+--- a/CMakeLists.txt	2023-07-11 08:54:22.009027477 +0200
++++ -	2023-07-11 08:54:38.950947984 +0200
+@@ -12375,6 +12375,8 @@
+   ${_gRPC_ZLIB_LIBRARIES}
+   ${_gRPC_ALLTARGETS_LIBRARIES}
+   grpc_plugin_support
++  absl::hash
++  absl::raw_hash_set
+ )
+ 
+ 
diff --git a/srcpkgs/grpc/patches/revert-find-protobuf.patch b/srcpkgs/grpc/patches/revert-find-protobuf.patch
new file mode 100644
index 000000000000..6001f37c6b1b
--- /dev/null
+++ b/srcpkgs/grpc/patches/revert-find-protobuf.patch
@@ -0,0 +1,23 @@
+Use the old cmake provided FindProtobuf() implementation for now.
+A future cmake update will remove this module, but use it for now until
+all packages are updated to the new system
+---
+--- a/cmake/protobuf.cmake	2023-06-14 22:21:16.000000000 +0200
++++ -	2023-07-10 21:05:41.114443796 +0200
+@@ -55,7 +55,7 @@
+     set(gRPC_INSTALL FALSE)
+   endif()
+ elseif(gRPC_PROTOBUF_PROVIDER STREQUAL "package")
+-  find_package(Protobuf REQUIRED CONFIG)
++  find_package(Protobuf REQUIRED)
+ 
+   if(Protobuf_FOUND OR PROTOBUF_FOUND)
+     if(TARGET protobuf::${_gRPC_PROTOBUF_LIBRARY_NAME})
+@@ -86,6 +86,6 @@
+         set(_gRPC_PROTOBUF_PROTOC_EXECUTABLE ${PROTOBUF_PROTOC_EXECUTABLE})
+       endif()
+     endif()
+-    set(_gRPC_FIND_PROTOBUF "find_dependency(Protobuf CONFIG)")
++    set(_gRPC_FIND_PROTOBUF "find_dependency(Protobuf)")
+   endif()
+ endif()
diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index f9d197a1c354..9c58c2509bee 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -1,14 +1,13 @@
 # Template file for 'grpc'
 pkgname=grpc
-version=1.49.1
-revision=3
+version=1.56.0
+revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON
  -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package
  -DgRPC_SSL_PROVIDER=package -DgRPC_ZLIB_PROVIDER=package
- -DgRPC_ABSL_PROVIDER=package -D_gRPC_RE2_LIBRARIES=-lre2
- -D_gRPC_RE2_INCLUDE_DIR=${XBPS_CROSS_BASE}/usr/include"
-hostmakedepends="which protobuf"
+ -DgRPC_ABSL_PROVIDER=package -DgRPC_RE2_PROVIDER=package"
+hostmakedepends="protobuf pkg-config"
 _devel_depends="c-ares-devel re2-devel zlib-devel openssl-devel abseil-cpp-devel"
 makedepends="libprotoc-devel protobuf-devel gperftools-devel ${_devel_depends}"
 short_desc="High performance, open source, general RPC framework"
@@ -16,11 +15,12 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://github.com/grpc/grpc"
 distfiles="${homepage}/archive/v${version}/${pkgname}-${version}.tar.gz"
-checksum=5071b630e2a14707ad060636990f1b25b0984bd168c7ea1ab95e48a3bdc0081f
+checksum=e034992a0b464042021f6d440f2090acc2422c103a322b0844e3921ccea981dc
 
 if [ "$CROSS_BUILD" ]; then
 	# need host grpc_cpp_plugin
 	hostmakedepends+=" grpc"
+	configure_args+=" -DProtobuf_PROTOC_EXECUTABLE=/usr/bin/protoc"
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
@@ -38,7 +38,8 @@ libgrpc_package() {
 
 grpc-devel_package() {
 	short_desc+=" - development files"
-	depends="${sourcepkg}>=${version}_${revision} ${_devel_depends}"
+	depends="${sourcepkg}>=${version}_${revision} ${_devel_depends}
+	 protobuf-devel"
 	pkg_install() {
 		vmove usr/include
 		vmove usr/lib/*.so

From 1b9f9f8775b66c8e94f0cd621070940368f4a271 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:40:13 +0200
Subject: [PATCH 09/35] protobuf: update to 23.4.

- switch to cmake buildstyle
- grpc needs the .cmake files to find protobuf
- newer version of protobuf will drop autoconf
---
 common/shlibs             |  6 ++---
 srcpkgs/protobuf/template | 46 ++++++++++++++-------------------------
 2 files changed, 19 insertions(+), 33 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 5adfa4d6e69f..3cd47fb4f486 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3115,9 +3115,9 @@ libm17n-flt.so.0 m17n-lib-1.7.0_1
 libm17n-gui.so.0 m17n-lib-1.7.0_1
 libm17n-core.so.0 m17n-lib-1.7.0_1
 libm17n.so.0 m17n-lib-1.7.0_1
-libprotobuf-lite.so.32 libprotobuf-lite-21.4_1
-libprotoc.so.32 libprotoc-21.4_1
-libprotobuf.so.32 libprotobuf-21.4_1
+libprotobuf-lite.so.23.4.0 libprotobuf-lite-23.4_1
+libprotoc.so.23.4.0 libprotoc-23.4_1
+libprotobuf.so.23.4.0 libprotobuf-23.4_1
 libsombok.so.3 sombok-2.4.0_1
 libdeviceclient.so.0 pragha-1.3.3_1
 libykclient.so.3 ykclient-2.15_1
diff --git a/srcpkgs/protobuf/template b/srcpkgs/protobuf/template
index 571f06487c85..91324a4da612 100644
--- a/srcpkgs/protobuf/template
+++ b/srcpkgs/protobuf/template
@@ -1,22 +1,22 @@
 # Template file for 'protobuf'
 pkgname=protobuf
-version=21.12
+version=23.4
 revision=1
-create_wrksrc="yes"
-build_wrksrc="${pkgname}-${version}"
-build_style=gnu-configure
-hostmakedepends="pkg-config automake libtool"
-makedepends="zlib-devel"
+build_style=cmake
+hostmakedepends="pkg-config"
+configure_args="-Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_USE_EXTERNAL_GTEST=ON
+ -Dprotobuf_BUILD_LIBPROTOC=ON -Dprotobuf_ABSL_PROVIDER=package"
+# XXX: Tests require that the abseil-cpp provides absl::scoped_mock_log
+configure_args+=" -Dprotobuf_BUILD_TESTS=OFF"
+makedepends="zlib-devel gtest-devel libatomic-devel
+ abseil-cpp-devel"
 short_desc="Protocol buffers compiler"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
 changelog="https://raw.githubusercontent.com/google/protobuf/master/CHANGES.txt"
-_googletest_commit="5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081"
-distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz
- https://github.com/google/googletest/archive/${_googletest_commit}.tar.gz"
-checksum="22fdaf641b31655d4b2297f9981fa5203b2866f8332d3c6333f6b0107bb320de
- 0e2f36e8e403c125fd0ab02171bdb786d3b6b3875b6ccf3b2eb7969be8faecd0"
+distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz"
+checksum=a700a49470d301f1190a487a923b5095bf60f08f4ae4cac9f5f7c36883d17971
 
 # Switch to versioned package
 conflicts="protobuf18>=0 protobuf23>=0 protobuf24>=0
@@ -26,24 +26,11 @@ replaces="${conflicts}"
 if [ "$CROSS_BUILD" ]; then
 	# needs host protoc
 	hostmakedepends+=" ${pkgname}"
-	configure_args+=" --with-protoc=/usr/bin/protoc"
+	configure_args+=" -Dprotobuf_PROTOC_EXE=/usr/bin/protoc"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-	LDFLAGS+=" -latomic"
-fi
-
-post_extract() {
-	rmdir "${build_wrksrc}/third_party/googletest"
-	mv "googletest-${_googletest_commit}" "${build_wrksrc}/third_party/googletest"
-}
-
-pre_configure() {
-	autoreconf -fi
-}
-
 post_install() {
+	rm -rf "${DESTDIR}/usr/lib/cmake"
 	vlicense LICENSE
 }
 
@@ -80,7 +67,6 @@ libprotoc-devel_package() {
 	 libprotoc26-devel>=0 libprotoc28-devel>=0"
 	replaces="${conflicts}"
 	pkg_install() {
-		vmove usr/lib/libprotoc.a
 		vmove usr/lib/libprotoc.so
 		vmove usr/include/google/protobuf/compiler
 	}
@@ -89,7 +75,8 @@ libprotoc-devel_package() {
 protobuf-devel_package() {
 	depends="zlib-devel
 	 libprotobuf-${version}_${revision}
-	 libprotobuf-lite-${version}_${revision}"
+	 libprotobuf-lite-${version}_${revision}
+	 abseil-cpp-devel"
 	short_desc="Protocol buffers C++ library - development files"
 	# Switch to versioned package
 	conflicts="protobuf18-devel>=0 protobuf23-devel>=0
@@ -98,10 +85,9 @@ protobuf-devel_package() {
 	replaces="${conflicts}"
 	pkg_install() {
 		vmove usr/include
-		vmove usr/lib/libprotobuf.a
-		vmove usr/lib/libprotobuf-lite.a
 		vmove usr/lib/libprotobuf.so
 		vmove usr/lib/libprotobuf-lite.so
 		vmove usr/lib/pkgconfig
+		vmove "usr/lib/*.a"
 	}
 }

From 4ca026ab0fc4b66fba4ea5bfcbb04de792e294c3 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 10/35] EternalTerminal: rebuild against protobuf-23.3_1

---
 srcpkgs/EternalTerminal/patches/limits.patch | 10 ++++++++++
 srcpkgs/EternalTerminal/template             |  2 +-
 2 files changed, 11 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/EternalTerminal/patches/limits.patch

diff --git a/srcpkgs/EternalTerminal/patches/limits.patch b/srcpkgs/EternalTerminal/patches/limits.patch
new file mode 100644
index 000000000000..9226bd45001a
--- /dev/null
+++ b/srcpkgs/EternalTerminal/patches/limits.patch
@@ -0,0 +1,10 @@
+--- a/EternalTerminal/external_imported/cxxopts/include/cxxopts.hpp	2022-05-05 17:20:44.000000000 +0200
++++ -	2023-07-10 20:07:25.607948589 +0200
+@@ -37,6 +37,7 @@
+ #include <unordered_map>
+ #include <unordered_set>
+ #include <vector>
++#include <limits>
+ 
+ #ifdef __cpp_lib_optional
+ #include <optional>
diff --git a/srcpkgs/EternalTerminal/template b/srcpkgs/EternalTerminal/template
index 1017a1b4a1ec..156eab6ce47e 100644
--- a/srcpkgs/EternalTerminal/template
+++ b/srcpkgs/EternalTerminal/template
@@ -1,7 +1,7 @@
 # Template file for 'EternalTerminal'
 pkgname=EternalTerminal
 version=6.2.1
-revision=1
+revision=2
 # revisions used for the specific versions of submodules.
 # they can be found in the external/ directory of the source code.
 _sanitizers_gitrev="99e159ec9bc8dd362b08d18436bd40ff0648417b"

From d2b1ca8825e1f07cb6c77c8e458f5e13b0d58e35 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 11/35] vlc: rebuild against protobuf-23.3_1

---
 srcpkgs/vlc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vlc/template b/srcpkgs/vlc/template
index 210762b0a7e2..651c94a1353a 100644
--- a/srcpkgs/vlc/template
+++ b/srcpkgs/vlc/template
@@ -1,7 +1,7 @@
 # Template file for 'vlc'
 pkgname=vlc
 version=3.0.18
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--disable-gme --disable-libtar --enable-jack
  --enable-live555 --disable-fluidsynth --enable-dvdread

From 7d9411e3c18ecc2aa77408330e840965f4f4664c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 12/35] mixxx: rebuild against protobuf-23.3_1

---
 srcpkgs/mixxx/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mixxx/template b/srcpkgs/mixxx/template
index 619ddca0d332..4b9ea00d3fb3 100644
--- a/srcpkgs/mixxx/template
+++ b/srcpkgs/mixxx/template
@@ -1,7 +1,7 @@
 # Template file for 'mixxx'
 pkgname=mixxx
 version=2.3.3
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="extra-cmake-modules pkg-config protobuf qt5-host-tools qt5-devel"

From 4fe4b5459c8ebe10454bfa79e0218ae3f7171a37 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 13/35] telegram-desktop: rebuild against protobuf-23.3_1

---
 srcpkgs/telegram-desktop/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/telegram-desktop/template b/srcpkgs/telegram-desktop/template
index f114b2341dc5..9db9f80c1a53 100644
--- a/srcpkgs/telegram-desktop/template
+++ b/srcpkgs/telegram-desktop/template
@@ -1,7 +1,7 @@
 # Template file for 'telegram-desktop'
 pkgname=telegram-desktop
 version=4.8.1
-revision=3
+revision=4
 build_style=cmake
 build_helper="qemu"
 configure_args="-DTDESKTOP_API_ID=209235

From 33c5a47722324ca848014b23eb82d72725b8d31b Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:56 +0200
Subject: [PATCH 14/35] usbguard: rebuild against protobuf-23.3_1

---
 srcpkgs/usbguard/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/usbguard/template b/srcpkgs/usbguard/template
index 8625c80a7eda..df4411202568 100644
--- a/srcpkgs/usbguard/template
+++ b/srcpkgs/usbguard/template
@@ -1,7 +1,7 @@
 # Template file for 'usbguard'
 pkgname=usbguard
 version=1.1.2
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-crypto-library=sodium --with-bundled-catch --with-bundled-pegtl"
 conf_files="/etc/usbguard/*"

From 38073ea7aa77731072d95999babc3acf1f74ef04 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 15/35] nsjail: rebuild against protobuf-23.3_1

---
 srcpkgs/nsjail/patches/cpp17.patch       | 11 +++++++++
 srcpkgs/nsjail/patches/kafel-bison.patch | 30 ------------------------
 srcpkgs/nsjail/patches/ldflags.patch     | 11 +++++++++
 srcpkgs/nsjail/patches/log.patch         | 24 +++++++++++++++++++
 srcpkgs/nsjail/template                  | 13 +++++-----
 5 files changed, 53 insertions(+), 36 deletions(-)
 create mode 100644 srcpkgs/nsjail/patches/cpp17.patch
 delete mode 100644 srcpkgs/nsjail/patches/kafel-bison.patch
 create mode 100644 srcpkgs/nsjail/patches/ldflags.patch
 create mode 100644 srcpkgs/nsjail/patches/log.patch

diff --git a/srcpkgs/nsjail/patches/cpp17.patch b/srcpkgs/nsjail/patches/cpp17.patch
new file mode 100644
index 000000000000..384ff7b51258
--- /dev/null
+++ b/srcpkgs/nsjail/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/Makefile	2022-11-22 22:25:15.000000000 +0100
++++ -	2023-07-08 16:35:16.308351723 +0200
+@@ -32,7 +32,7 @@
+ 	-Ikafel/include
+ 
+ CXXFLAGS += $(USER_DEFINES) $(COMMON_FLAGS) $(shell pkg-config --cflags protobuf) \
+-	-std=c++14 -fno-exceptions -Wno-unused -Wno-unused-parameter
++	-std=c++17 -fno-exceptions -Wno-unused -Wno-unused-parameter
+ LDFLAGS += -pie -Wl,-z,noexecstack -lpthread $(shell pkg-config --libs protobuf)
+ 
+ BIN = nsjail
diff --git a/srcpkgs/nsjail/patches/kafel-bison.patch b/srcpkgs/nsjail/patches/kafel-bison.patch
deleted file mode 100644
index 48eff0d36369..000000000000
--- a/srcpkgs/nsjail/patches/kafel-bison.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 32768d3cc8cecbc30d9020dbfa8d9ec541d057e4 Mon Sep 17 00:00:00 2001
-From: Evangelos Foutras <evangelos@foutrelis.com>
-Date: Wed, 17 Mar 2021 16:36:40 +0200
-Subject: [PATCH] Replace YYUSE call with void cast in src/parser.y
-
-The YYUSE macro was renamed to YY_USE in bison 3.7.5; we might as well
-avoid using it altogether and cast the unused variable to void instead.
-
-Fixes the following linker error:
-
-/usr/bin/ld: kafel/libkafel.a(libkafel.o): in function `kafel_yyerror':
-arm_syscalls.c:(.text+0x6984): undefined reference to `YYUSE'
----
- src/parser.y | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git kafel/src/parser.y kafel/src/parser.y
-index e0f109c..0e01373 100644
---- a/kafel/src/parser.y
-+++ b/kafel/src/parser.y
-@@ -420,8 +420,8 @@ const_def
- 
- void yyerror(YYLTYPE * loc, struct kafel_ctxt* ctxt, yyscan_t scanner,
-              const char *msg) {
-+  (void)scanner; /* suppress unused-parameter warning */
-   if (!ctxt->lexical_error) {
--    YYUSE(scanner);
-     if (loc->filename != NULL) {
-       append_error(ctxt, "%s:%d:%d: %s", loc->filename, loc->first_line, loc->first_column, msg);
-     } else {
diff --git a/srcpkgs/nsjail/patches/ldflags.patch b/srcpkgs/nsjail/patches/ldflags.patch
new file mode 100644
index 000000000000..c039ea09e237
--- /dev/null
+++ b/srcpkgs/nsjail/patches/ldflags.patch
@@ -0,0 +1,11 @@
+--- a/kafel/src/Makefile	2023-07-08 16:40:45.058218240 +0200
++++ -	2023-07-08 16:54:04.459715051 +0200
+@@ -56,7 +56,7 @@
+ 	$(CC) $(CFLAGS) -Wl,-soname,$@.${VERSION} -shared $^ -o $@
+ 
+ ${STATIC_TARGET}: ${OBJECTS}
+-	$(LD) $(LDFLAGS) -r ${OBJECTS} -o libkafel_r.o
++	$(LD) -r ${OBJECTS} -o libkafel_r.o
+ 	# Fix x86 PIC symbols
+ 	$(OBJDUMP) -t libkafel_r.o | grep '.hidden' | grep -v 'get_pc_thunk' | sed -e 's/^.*\.hidden //' > libkafel.localize_symbols
+ 	$(OBJCOPY) -w --localize-symbols=libkafel.localize_symbols libkafel_r.o libkafel.o
diff --git a/srcpkgs/nsjail/patches/log.patch b/srcpkgs/nsjail/patches/log.patch
new file mode 100644
index 000000000000..9e7f12368076
--- /dev/null
+++ b/srcpkgs/nsjail/patches/log.patch
@@ -0,0 +1,24 @@
+diff --git a/config.cc b/config.cc
+index 5242ba4..bbb2b6d 100644
+--- a/config.cc
++++ b/config.cc
+@@ -302,11 +302,6 @@ static bool configParseInternal(nsjconf_t* nsjconf, const nsjail::NsJailConfig&
+ 	return true;
+ }
+ 
+-static void LogHandler(
+-    google::protobuf::LogLevel level, const char* filename, int line, const std::string& message) {
+-	LOG_W("config.cc: '%s'", message.c_str());
+-}
+-
+ bool parseFile(nsjconf_t* nsjconf, const char* file) {
+ 	LOG_D("Parsing configuration from '%s'", file);
+ 
+@@ -316,7 +311,6 @@ bool parseFile(nsjconf_t* nsjconf, const char* file) {
+ 		return false;
+ 	}
+ 
+-	SetLogHandler(LogHandler);
+ 	google::protobuf::io::FileInputStream input(fd);
+ 	input.SetCloseOnDelete(true);
+ 
diff --git a/srcpkgs/nsjail/template b/srcpkgs/nsjail/template
index 346348fdf17b..5c5d0a508f38 100644
--- a/srcpkgs/nsjail/template
+++ b/srcpkgs/nsjail/template
@@ -1,7 +1,7 @@
 # Template file for 'nsjail'
 pkgname=nsjail
-version=3.0
-revision=9
+version=3.3
+revision=1
 create_wrksrc=yes
 build_style=gnu-makefile
 hostmakedepends="bison flex pkg-config protobuf which"
@@ -11,9 +11,9 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="http://nsjail.com"
 distfiles="https://github.com/google/nsjail/archive/${version}.tar.gz
- https://github.com/google/kafel/archive/8e69b8efae415cde3debffbb1e379d9e7a16835a.tar.gz"
-checksum="cfa66d3ed136b2e221752287b95e544915e8a6760aa866f023b604d14a374919
- 4a6c9a1a70ed99bbed767adc106081b017a3090307ea88cc7e329b82daa1373b"
+ https://github.com/google/kafel/archive/1af0975af45ca4404f357b9a4e1636f53a01bfd3.tar.gz"
+checksum="9c247d0cba565b4e3f91cc76e827ddf7f3ad499f54ba611edd25d4d7be4890c3
+ e8c195a2a08daa70c7712adae3eaa01656b039dcc8cc1e5e8210006716761ad5"
 
 archs="aarch64* armv5tel* armv6l* armv7l* x86_64*"
 
@@ -28,7 +28,8 @@ post_extract() {
 }
 
 post_patch() {
-	sed -i -e 's/-Werror\b//g' -e 's/\b\(\(C\(XX\)\?\|LD\)FLAGS\s*+=\)/override \1/g' Makefile kafel/build/Makefile.mk kafel/src/Makefile
+	vsed -e 's/-Werror\b//g' -i Makefile kafel/build/Makefile.mk
+	vsed -e 's/\b\(\(C\(XX\)\?\|LD\)FLAGS\s*+=\)/override \1/g' -i Makefile kafel/build/Makefile.mk kafel/src/Makefile
 }
 
 do_install() {

From 807fd4123613815e6476082234ccc611f28c5e7c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 16/35] netdata: rebuild against protobuf-23.3_1

---
 srcpkgs/netdata/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 18dbe4394a4e..781120b3f275 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -1,7 +1,7 @@
 # Template file for 'netdata'
 pkgname=netdata
 version=1.37.1
-revision=1
+revision=2
 build_style=gnu-configure
 build_helper=qemu
 configure_args="--with-user=_netdata ac_cv_file_externaldeps_libbpf_libbpf_a=no

From d4661b29d159a8497fe24cd6e41565a49c422c95 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 17/35] mumble: rebuild against protobuf-23.3_1

---
 srcpkgs/mumble/patches/absl.patch  | 20 ++++++++++++++++++++
 srcpkgs/mumble/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/mumble/patches/musl.patch  | 14 ++++++++++++++
 srcpkgs/mumble/template            |  2 +-
 4 files changed, 46 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/mumble/patches/absl.patch
 create mode 100644 srcpkgs/mumble/patches/cpp17.patch
 create mode 100644 srcpkgs/mumble/patches/musl.patch

diff --git a/srcpkgs/mumble/patches/absl.patch b/srcpkgs/mumble/patches/absl.patch
new file mode 100644
index 000000000000..b737fc40fdf9
--- /dev/null
+++ b/srcpkgs/mumble/patches/absl.patch
@@ -0,0 +1,20 @@
+--- a/src/murmur/CMakeLists.txt	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-07-14 17:23:13.145173297 +0200
+@@ -77,6 +77,7 @@
+ )
+ 
+ target_link_libraries(mumble-server PRIVATE shared Qt5::Sql)
++target_link_libraries(mumble-server PRIVATE shared absl_log_internal_message)
+ 
+ if(static)
+ 	# MariaDB and MySQL
+--- a/src/mumble/CMakeLists.txt	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-07-14 17:25:05.556023593 +0200
+@@ -472,6 +472,7 @@
+ 		Qt5::Sql
+ 		Qt5::Svg
+ 		Qt5::Widgets
++		absl_log_internal_message
+ )
+ 
+ if(static)
diff --git a/srcpkgs/mumble/patches/cpp17.patch b/srcpkgs/mumble/patches/cpp17.patch
new file mode 100644
index 000000000000..7cb9c9a93355
--- /dev/null
+++ b/srcpkgs/mumble/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- mumble-1.4.287/CMakeLists.txt	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-07-10 20:12:27.869019033 +0200
+@@ -35,7 +35,7 @@
+ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/3rdparty")
+ set(PLUGINS_DIR "${CMAKE_SOURCE_DIR}/plugins")
+ 
+-set(CMAKE_CXX_STANDARD 14)
++set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_OSX_DEPLOYMENT_TARGET 10.13)
+ 
+ list(APPEND CMAKE_MODULE_PATH
diff --git a/srcpkgs/mumble/patches/musl.patch b/srcpkgs/mumble/patches/musl.patch
new file mode 100644
index 000000000000..49d83a422b8e
--- /dev/null
+++ b/srcpkgs/mumble/patches/musl.patch
@@ -0,0 +1,14 @@
+Newer musl expands NULL to nullptr, which is not a bool.
+Either way, the check is always true with openssl 1.1+, so it can probably removed alltogether
+---
+--- mumble-1.4.287/src/SSL.cpp	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-02-07 22:18:16.093759105 +0100
+@@ -33,7 +34,7 @@
+ 	// If we detect that no locking callback is configured, we
+ 	// have to set it up ourselves to allow multi-threaded use
+ 	// of OpenSSL.
+-	if (!CRYPTO_get_locking_callback()) {
++	if (CRYPTO_get_locking_callback() == NULL) {
+ 		SSLLocks::initialize();
+ 	}
+ }
diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 35c2728c74ce..5c30d4ae64b4 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.4.287
-revision=3
+revision=4
 build_style=cmake
 make_cmd=make
 configure_args="-Doverlay-xcompile=OFF -Dbundled-opus=OFF

From 6e0e81e6316a8d8c8191879e4d7ac8bf512e3f77 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 18/35] mumble: rebuild against protobuf-23.3_1

---
 srcpkgs/mumble/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 5c30d4ae64b4..3dc669705365 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.4.287
-revision=4
+revision=5
 build_style=cmake
 make_cmd=make
 configure_args="-Doverlay-xcompile=OFF -Dbundled-opus=OFF

From 0607a3dc3635d2f986f9b62391cd463af5cbc0e9 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 19/35] mozc: statically link against vendored prootbuf

protobuf 23+ links against abseil, which conflicts with the vendored
abseil version in mozc. The build system does not have a flag to use
system abseil.
---
 srcpkgs/mozc/template | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/mozc/template b/srcpkgs/mozc/template
index 3fdb986b3213..e7735cb57f4f 100644
--- a/srcpkgs/mozc/template
+++ b/srcpkgs/mozc/template
@@ -3,16 +3,17 @@ pkgname=mozc
 # src/data/version/mozc_version_template.bzl
 # revision is always 102, template always says 100 ;)
 version=2.28.4800.102
-revision=1
+revision=2
 _commit=056163a5fddbb261b258beb8444998e4882f0cc5
 _abseil=20211102.0
+_protobuf_commit=cc7b1b53234cd7a8f50d90ac3933b240dcf4cd97
 _gyp=0.1+20220404git9ecf45e
 _jpn_dict=e5b3425575734c323e1d947009dd74709437b684
 create_wrksrc=yes
 build_wrksrc=mozc/src
-hostmakedepends="gettext ninja pkg-config protobuf protobuf-devel
+hostmakedepends="gettext ninja pkg-config
  python3-six which qt5-qmake qt5-host-tools"
-makedepends="gtk+-devel ibus-devel libzinnia-devel protobuf-devel qt5-devel
+makedepends="gtk+-devel ibus-devel libzinnia-devel qt5-devel
  fcitx-devel libfcitx5-devel"
 depends="tegaki-zinnia-japanese>=0.3 mozc-base-${version}_${revision}"
 short_desc="Japanese IME (Open Source version of Google Japanese Input)"
@@ -22,11 +23,13 @@ homepage="https://github.com/google/mozc"
 distfiles="
  https://github.com/fcitx/mozc/archive/$_commit.tar.gz
  https://github.com/abseil/abseil-cpp/archive/refs/tags/$_abseil.tar.gz
+ https://github.com/protocolbuffers/protobuf/archive/$_protobuf_commit.tar.gz
  ${DEBIAN_SITE}/main/g/gyp/gyp_$_gyp.orig.tar.xz
  https://github.com/hiroyuki-komatsu/japanese-usage-dictionary/archive/$_jpn_dict.tar.gz
 "
 checksum="259d87bfd7535ad03bd554185677d7345a90166353a6db0b6a3606183ad2923d
  dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4
+ 863e27f6d24f40bce2bbfe5adcf365f2af5479ea917f254331ee60ce88f8c8a5
  0325006f012db66dfa27bf7bb048f3fe38f96e512ebe065930cbc70bcdc06bc9
  0b6efee0eebac2c1a8eeea333278aa40fcef7846bba9a379962c6e567e7e3dc1"
 
@@ -47,7 +50,8 @@ post_extract() {
 	# symlink "submodules" into place
 	for _src_dest in gyp \
 		abseil-cpp \
-		japanese-usage-dictionary:japanese_usage_dictionary
+		japanese-usage-dictionary:japanese_usage_dictionary \
+		protobuf
 	do
 		_src=${_src_dest%:*}
 		_dst=${_src_dest#*:}
@@ -61,7 +65,6 @@ do_configure() {
 	GYP_DEFINES="
 	 document_dir=/usr/share/licenses/${pkgname}
 	 ibus_mozc_path=/usr/libexec/ibus-engine-mozc
-	 use_libprotobuf=1
 	 use_libzinnia=1
 	 ${XBPS_TARGET_NO_ATOMIC8:+use_libatomic=1}
 	" python3 build_mozc.py gyp --target_platform=Linux

From 47f08abc94008483399794d49d2e5e8b389eb0fe Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 20/35] mosh: rebuild against protobuf-23.3_1

---
 srcpkgs/mosh/patches/cpp17.patch | 14 ++++++++++++++
 srcpkgs/mosh/template            |  5 +++--
 2 files changed, 17 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/mosh/patches/cpp17.patch

diff --git a/srcpkgs/mosh/patches/cpp17.patch b/srcpkgs/mosh/patches/cpp17.patch
new file mode 100644
index 000000000000..5463adc2718b
--- /dev/null
+++ b/srcpkgs/mosh/patches/cpp17.patch
@@ -0,0 +1,14 @@
+--- a/configure.ac	2022-10-27 05:29:47.000000000 +0200
++++ -	2023-07-08 13:19:05.270079012 +0200
+@@ -22,9 +22,9 @@
+ # automake 1.12 seems to require this, but automake 1.11 doesn't recognize it
+ m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+ 
+-# Protobuf 3.6+ requires C++11.
++# Protobuf 3.6+ requires C++11., 4.2.2 with abseil requires C++17
+ AS_IF([pkg-config --atleast-version 3.6.0 protobuf],
+-  [AX_CXX_COMPILE_STDCXX([11])])
++  [AX_CXX_COMPILE_STDCXX([17])])
+ 
+ WARNING_CXXFLAGS=""
+ PICKY_CXXFLAGS=""
diff --git a/srcpkgs/mosh/template b/srcpkgs/mosh/template
index 173ba14bcd47..d252a0c29755 100644
--- a/srcpkgs/mosh/template
+++ b/srcpkgs/mosh/template
@@ -1,9 +1,9 @@
 # Template file for 'mosh'
 pkgname=mosh
 version=1.4.0
-revision=3
+revision=4
 build_style=gnu-configure
-hostmakedepends="perl pkg-config protobuf"
+hostmakedepends="perl pkg-config protobuf autoconf automake"
 makedepends="ncurses-devel protobuf-devel libutempter-devel openssl-devel"
 depends="perl-IO-Tty"
 short_desc="Mobile shell, remote terminal application that allows roaming"
@@ -16,4 +16,5 @@ checksum=872e4b134e5df29c8933dff12350785054d2fd2839b5ae6b5587b14db1465ddd
 pre_configure() {
 	# make local.test always succeed. It fails due to missing X server in chroot.
 	printf "%s\n" "#!/bin/sh" ":" > src/tests/local.test
+	autoreconf -fi
 }

From aad12fcb80255b070b7a3707ec40955e60f67d1b Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 21/35] libcompizconfig: rebuild against protobuf-23.3_1

---
 srcpkgs/libcompizconfig/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libcompizconfig/template b/srcpkgs/libcompizconfig/template
index 5b59eda97c78..3fb33698bfa6 100644
--- a/srcpkgs/libcompizconfig/template
+++ b/srcpkgs/libcompizconfig/template
@@ -1,7 +1,7 @@
 # Template file for 'libcompizconfig'
 pkgname=libcompizconfig
 version=0.8.18
-revision=10
+revision=11
 build_style=gnu-configure
 configure_args="--disable-static"
 hostmakedepends="automake intltool libtool pkg-config protobuf"

From c825ca09a617ef2c043c915ce7564b3b31566795 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 22/35] libArcus: rebuild against protobuf-23.3_1

---
 srcpkgs/libArcus/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libArcus/template b/srcpkgs/libArcus/template
index d6fedecc5599..1cf1b866d650 100644
--- a/srcpkgs/libArcus/template
+++ b/srcpkgs/libArcus/template
@@ -1,7 +1,7 @@
 # Template file for 'libArcus'
 pkgname=libArcus
 version=4.13.1
-revision=4
+revision=5
 build_style=cmake
 configure_args="-DBUILD_EXAMPLES=OFF"
 hostmakedepends="protobuf python3-sip-devel"

From ac17f4b6d63c7784f4bd9ec9d2deaa369e60febe Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 23/35] kismet: rebuild against protobuf-23.3_1

---
 srcpkgs/kismet/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/kismet/template b/srcpkgs/kismet/template
index 48a0fc5fa6f1..46cbf7b31811 100644
--- a/srcpkgs/kismet/template
+++ b/srcpkgs/kismet/template
@@ -1,7 +1,7 @@
 # Template file for 'kismet'
 pkgname=kismet
 version=2022.08.R1
-revision=2
+revision=3
 _realver="${version//./-}"
 build_style=gnu-configure
 configure_args="--disable-python-tools"

From a6f9ea121c42a5170032f6439d33136b90384876 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 24/35] cura-engine: rebuild against protobuf-23.3_1

---
 srcpkgs/cura-engine/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cura-engine/template b/srcpkgs/cura-engine/template
index 4f3118d30252..1f23ddace749 100644
--- a/srcpkgs/cura-engine/template
+++ b/srcpkgs/cura-engine/template
@@ -1,7 +1,7 @@
 # Template file for 'cura-engine'
 pkgname=cura-engine
 version=4.13.1
-revision=3
+revision=4
 build_style=cmake
 configure_args="-DCURA_ENGINE_VERSION=${version}"
 hostmakedepends="protobuf git"

From 9cc04673186d39e1343ee4f268f5e1c2b3801755 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 25/35] clementine: rebuild against protobuf-23.3_1

---
 srcpkgs/clementine/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/clementine/template b/srcpkgs/clementine/template
index acd098124529..a1cacbb73d8e 100644
--- a/srcpkgs/clementine/template
+++ b/srcpkgs/clementine/template
@@ -1,11 +1,11 @@
 # Template file for 'clementine'
 pkgname=clementine
 version=1.4.0rc1
-revision=10
+revision=11
 _fullver=${version}-873-g3471134d5
 build_style=cmake
 configure_args="-DUSE_SYSTEM_TAGLIB=ON -DBUILD_WERROR=OFF -DUSE_SYSTEM_PROJECTM=ON
- -DFORCE_GIT_REVISION=${_fullver}"
+ -DFORCE_GIT_REVISION=${_fullver} -DCMAKE_CXX_STANDARD=17"
 hostmakedepends="gettext sparsehash pkg-config qt5-qmake qt5-host-tools protobuf"
 makedepends="chromaprint-devel boost-devel gst-plugins-base1-devel
  qt5-devel glew-devel sqlite-devel protobuf-devel libplist-devel

From 3e37490436afb2f84c6f3618095f14e6813e9976 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 26/35] bloaty: rebuild against protobuf-23.3_1

---
 srcpkgs/bloaty/patches/cpp17.patch         | 20 ++++++++
 srcpkgs/bloaty/patches/system-abseil.patch | 58 ++++++++++++++++++++++
 srcpkgs/bloaty/template                    |  2 +-
 3 files changed, 79 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/bloaty/patches/cpp17.patch
 create mode 100644 srcpkgs/bloaty/patches/system-abseil.patch

diff --git a/srcpkgs/bloaty/patches/cpp17.patch b/srcpkgs/bloaty/patches/cpp17.patch
new file mode 100644
index 000000000000..ca458dd79fb6
--- /dev/null
+++ b/srcpkgs/bloaty/patches/cpp17.patch
@@ -0,0 +1,20 @@
+--- bloaty-1.1/CMakeLists.txt	2020-05-24 06:43:55.000000000 +0200
++++ -	2023-07-08 12:51:24.115742363 +0200
+@@ -2,7 +2,7 @@
+ cmake_policy(SET CMP0048 NEW)
+ project (Bloaty VERSION 1.0)
+ project (Bloaty VERSION 1.1)
+-set(CMAKE_CXX_STANDARD 11)
++set(CMAKE_CXX_STANDARD 17)
+ 
+ # Options we define for users.
+ option(BLOATY_ENABLE_ASAN "Enable address sanitizer." OFF)
+@@ -93,7 +93,7 @@
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/src")
+ 
+ # Baseline build flags.
+-set(CMAKE_CXX_FLAGS "-std=c++11 -W -Wall -Wno-sign-compare")
++set(CMAKE_CXX_FLAGS "-W -Wall -Wno-sign-compare")
+ set(CMAKE_CXX_FLAGS_DEBUG "-g1")
+ set(CMAKE_CXX_FLAGS_RELEASE "-O2")
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g1")
diff --git a/srcpkgs/bloaty/patches/system-abseil.patch b/srcpkgs/bloaty/patches/system-abseil.patch
new file mode 100644
index 000000000000..799e10a3b540
--- /dev/null
+++ b/srcpkgs/bloaty/patches/system-abseil.patch
@@ -0,0 +1,58 @@
+--- bloaty-1.1/CMakeLists.txt	2020-05-24 06:43:55.000000000 +0200
++++ -	2023-07-08 13:07:06.559266321 +0200
+@@ -35,6 +35,12 @@
+   MESSAGE(STATUS "pkg-config not found, using bundled dependencies")
+ endif(${PKG_CONFIG_FOUND})
+ endif(UNIX)
++find_package(absl CONFIG)
++if(absl_FOUND)
++  MESSAGE(STATUS "System absl found, using")
++else()
++  MESSAGE(STATUS "System absl not found, using bundled version")
++endif()
+ 
+ # Set default build type.
+ if(NOT CMAKE_BUILD_TYPE)
+@@ -89,7 +95,6 @@
+ 
+ include_directories(.)
+ include_directories(src)
+-include_directories(third_party/abseil-cpp)
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/src")
+ 
+ # Baseline build flags.
+@@ -159,24 +164,6 @@
+     src/macho.cc
+     src/range_map.cc
+     src/webassembly.cc
+-    # Until Abseil has a proper CMake build system
+-    third_party/abseil-cpp/absl/base/internal/raw_logging.cc # Grrrr...
+-    third_party/abseil-cpp/absl/base/internal/throw_delegate.cc
+-    third_party/abseil-cpp/absl/numeric/int128.cc
+-    third_party/abseil-cpp/absl/strings/ascii.cc
+-    third_party/abseil-cpp/absl/strings/charconv.cc
+-    third_party/abseil-cpp/absl/strings/escaping.cc
+-    third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc
+-    third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc
+-    third_party/abseil-cpp/absl/strings/internal/memutil.cc
+-    third_party/abseil-cpp/absl/strings/internal/utf8.cc
+-    third_party/abseil-cpp/absl/strings/match.cc
+-    third_party/abseil-cpp/absl/strings/numbers.cc
+-    third_party/abseil-cpp/absl/strings/str_cat.cc
+-    third_party/abseil-cpp/absl/strings/string_view.cc
+-    third_party/abseil-cpp/absl/strings/str_split.cc
+-    third_party/abseil-cpp/absl/strings/substitute.cc
+-    third_party/abseil-cpp/absl/types/bad_optional_access.cc
+     # One source file, no special build system needed.
+     third_party/demumble/third_party/libcxxabi/cxa_demangle.cpp
+     )
+@@ -214,6 +201,9 @@
+   endif(${PROTOBUF_FOUND})
+ endif(UNIX)
+ 
++list(APPEND LIBBLOATY_LIBS absl::strings)
++list(APPEND LIBBLOATY_LIBS absl::optional)
++
+ if(DEFINED ENV{LIB_FUZZING_ENGINE})
+   message("LIB_FUZZING_ENGINE set, building fuzz_target instead of Bloaty")
+   add_executable(fuzz_target tests/fuzz_target.cc)
diff --git a/srcpkgs/bloaty/template b/srcpkgs/bloaty/template
index 226d2f30ffcd..2a79fb502f99 100644
--- a/srcpkgs/bloaty/template
+++ b/srcpkgs/bloaty/template
@@ -1,7 +1,7 @@
 # Template file for 'bloaty'
 pkgname=bloaty
 version=1.1
-revision=11
+revision=12
 build_style=cmake
 hostmakedepends="pkg-config protobuf"
 makedepends="capstone-devel protobuf-devel re2-devel zlib-devel"

From 8ed700a2d584c9f157639270d22b878bc0b94e31 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 27/35] astroid: rebuild against protobuf-23.3_1

---
 srcpkgs/astroid/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/astroid/template            |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/astroid/patches/cpp17.patch

diff --git a/srcpkgs/astroid/patches/cpp17.patch b/srcpkgs/astroid/patches/cpp17.patch
new file mode 100644
index 000000000000..9ac9a9f952e6
--- /dev/null
+++ b/srcpkgs/astroid/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- astroid-0.16/CMakeLists.txt	2021-08-05 15:31:11.000000000 +0200
++++ -	2023-07-03 21:53:30.304595787 +0200
+@@ -145,7 +145,7 @@
+ # compile flags and options
+ #
+ 
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ 
+ include_directories (
+   ${GTKMM3_INCLUDE_DIRS}
diff --git a/srcpkgs/astroid/template b/srcpkgs/astroid/template
index 25d3da44e024..8fd1c032be2c 100644
--- a/srcpkgs/astroid/template
+++ b/srcpkgs/astroid/template
@@ -1,7 +1,7 @@
 # Template file for 'astroid'
 pkgname=astroid
 version=0.16
-revision=8
+revision=9
 build_style=cmake
 build_helper=gir
 hostmakedepends="pkg-config scdoc protobuf gobject-introspection"

From c4be934eb5891254d201b721caae15502de643f2 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 28/35] android-tools: rebuild against protobuf-23.3_1

---
 .../android-tools/patches/protobuf-23.patch   | 31 +++++++++++++++++++
 srcpkgs/android-tools/template                |  2 +-
 2 files changed, 32 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/android-tools/patches/protobuf-23.patch

diff --git a/srcpkgs/android-tools/patches/protobuf-23.patch b/srcpkgs/android-tools/patches/protobuf-23.patch
new file mode 100644
index 000000000000..21012126ea9a
--- /dev/null
+++ b/srcpkgs/android-tools/patches/protobuf-23.patch
@@ -0,0 +1,31 @@
+--- android-tools-34.0.1.orig/vendor/extras/libjsonpb/parse/jsonpb.cpp  2023-06-28 23:15:15.414236253 +0200
++++ android-tools-34.0.1/vendor/extras/libjsonpb/parse/jsonpb.cpp       2023-06-28 23:34:21.672962973 +0200
+@@ -51,7 +51,7 @@
+ #if GOOGLE_PROTOBUF_VERSION < 3016000
+     return MakeError<std::string>(status.error_message().as_string());
+ #else
+-    return MakeError<std::string>(status.message().as_string());
++    return MakeError<std::string>(std::string(status.message()));
+ #endif
+   }
+   return ErrorOr<std::string>(std::move(json));
+@@ -68,7 +68,7 @@
+ #if GOOGLE_PROTOBUF_VERSION < 3016000
+     return MakeError<std::monostate>(status.error_message().as_string());
+ #else
+-    return MakeError<std::monostate>(status.message().as_string());
++    return MakeError<std::monostate>(std::string(status.message()));
+ #endif
+   }
+   if (!message->ParseFromString(binary)) {
+--- a/vendor/CMakeLists.partition.txt	2023-03-03 17:18:50.000000000 +0100
++++ -	2023-07-10 23:06:19.290718502 +0200
+@@ -20,7 +20,7 @@
+ 
+ add_library(libjsonpbparse STATIC
+ 	extras/libjsonpb/parse/jsonpb.cpp)
+-target_link_libraries(libjsonpbparse PRIVATE libbase)
++target_link_libraries(libjsonpbparse PRIVATE libbase absl_status)
+ target_include_directories(libjsonpbparse PUBLIC
+ 	extras/libjsonpb/parse/include)
+ 
diff --git a/srcpkgs/android-tools/template b/srcpkgs/android-tools/template
index 329674482b69..b813474eace0 100644
--- a/srcpkgs/android-tools/template
+++ b/srcpkgs/android-tools/template
@@ -1,7 +1,7 @@
 # Template file for 'android-tools'
 pkgname=android-tools
 version=34.0.1
-revision=1
+revision=2
 archs="armv* aarch64* x86_64* i686* ppc64le*"
 build_style=cmake
 hostmakedepends="perl go protobuf pkg-config"

From c83443324ffdf390b863be3e013d3272f5b024c8 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:06:25 +0200
Subject: [PATCH 29/35] justbuild: rebuild against grpc-1.56.0_1

---
 srcpkgs/justbuild/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index ee36f6dae575..f933611d1283 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
 # Template file for 'justbuild'
 pkgname=justbuild
 version=1.1.2
-revision=2
+revision=3
 create_wrksrc=yes
 hostmakedepends="jo pandoc pkg-config python3 tar unzip wget"
 makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++

From 92966fd450117549259d8162850bbf4b14f1f6ce Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Wed, 28 Jun 2023 11:07:13 +0200
Subject: [PATCH 30/35] sysdig: update to 0.31.5.

---
 .../sysdig/files/libsinsp-absl-protobuf.patch |  11 +
 srcpkgs/sysdig/files/libsinsp-zstd.patch      |  22 +
 ...d9aab87801281e22898242e24e0bc63873b2.patch | 557 ++++++++++++++++++
 .../falcosecurity-libs-nodownload.patch       |  28 +
 srcpkgs/sysdig/template                       |  38 +-
 5 files changed, 640 insertions(+), 16 deletions(-)
 create mode 100644 srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch
 create mode 100644 srcpkgs/sysdig/files/libsinsp-zstd.patch
 create mode 100644 srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
 create mode 100644 srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch

diff --git a/srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch b/srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch
new file mode 100644
index 000000000000..387be65954e6
--- /dev/null
+++ b/srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch
@@ -0,0 +1,11 @@
+--- a/userspace/libsinsp/CMakeLists.txt	2023-06-05 10:25:32.000000000 +0200
++++ -	2023-07-11 09:03:42.496439385 +0200
+@@ -289,7 +289,7 @@
+ 	endif()
+ endif() # NOT WIN32
+ 
+-
++LIST(APPEND SINSP_LIBRARIES absl_log_internal_message absl_log_internal_nullguard)
+ target_link_libraries(sinsp ${SINSP_LIBRARIES})
+ 
+ if(APPLE)
diff --git a/srcpkgs/sysdig/files/libsinsp-zstd.patch b/srcpkgs/sysdig/files/libsinsp-zstd.patch
new file mode 100644
index 000000000000..e99e4f7c1207
--- /dev/null
+++ b/srcpkgs/sysdig/files/libsinsp-zstd.patch
@@ -0,0 +1,22 @@
+diff --git a/userspace/libsinsp/CMakeLists.txt b/userspace/libsinsp/CMakeLists.txt
+index 18e59b1..b23e890 100644
+--- a/userspace/libsinsp/CMakeLists.txt
++++ b/userspace/libsinsp/CMakeLists.txt
+@@ -38,6 +38,7 @@ include(ExternalProject)
+ 
+ if(NOT WIN32 AND NOT APPLE)
+ 	include(b64)
++	find_library(ZSTD_LIB NAMES zstd)
+ endif()
+ 
+ include(jsoncpp)
+@@ -246,7 +247,8 @@ if(NOT WIN32)
+ 				"${PROTOBUF_LIB}"
+ 				"${CARES_LIB}"
+ 				"${JQ_LIB}"
+-				"${B64_LIB}")
++				"${B64_LIB}"
++				"${ZSTD_LIB}")
+ 
+ 			if(NOT MUSL_OPTIMIZED_BUILD)
+ 				list(APPEND SINSP_LIBRARIES
diff --git a/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch b/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
new file mode 100644
index 000000000000..54c2ed8d0d98
--- /dev/null
+++ b/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
@@ -0,0 +1,557 @@
+From 3d22309a7317d500f75d053af6f9e5b5b5728b40 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 09:56:04 +0000
+Subject: [PATCH 1/6] update(cmake): bump driver to 5.0.0+driver
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ cmake/modules/driver.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/driver.cmake b/cmake/modules/driver.cmake
+index bee1926d3a..7fd35d7f99 100644
+--- a/cmake/modules/driver.cmake
++++ b/cmake/modules/driver.cmake
+@@ -31,8 +31,8 @@ else()
+   # In case you want to test against another driver version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DDRIVER_VERSION=dev ..`
+   if(NOT DRIVER_VERSION)
+-    set(DRIVER_VERSION "4.0.1+driver")
+-    set(DRIVER_CHECKSUM "SHA256=424d647aa6b6fa45b6701c4bbc9293c161ed00a08254d83eea419c0a736f280d")
++    set(DRIVER_VERSION "5.0.0+driver")
++    set(DRIVER_CHECKSUM "SHA256=c988ca7ac7d174f62d1bfbaaca49efd117f7b329f474d1b46b643635b2e35083")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+
+From 847e602404dcee85f06dde5a1d8ad0c740c49c98 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 09:56:08 +0000
+Subject: [PATCH 2/6] update(cmake): bump libs to 0.11.0-rc1
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ cmake/modules/falcosecurity-libs.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index b345c057ad..f30233b9e3 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -32,8 +32,8 @@ else()
+   # In case you want to test against another falcosecurity/libs version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DFALCOSECURITY_LIBS_VERSION=dev ..`
+   if(NOT FALCOSECURITY_LIBS_VERSION)
+-    set(FALCOSECURITY_LIBS_VERSION "0.10.5")
+-    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=2a4b37c08bec4ba81326314831f341385aff267062e8d4483437958689662936")
++    set(FALCOSECURITY_LIBS_VERSION "0.11.0-rc1")
++    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=bb6e57f66ae85dcda6e695226cd14082d9a1215902909cdde5b83f7abef44d8f")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+
+From 1d1dbaf06265d8eefd4038e8474f71f7958ec840 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 10:43:27 +0000
+Subject: [PATCH 3/6] fix(cmake): solve c++17 compilation issues
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ CMakeLists.txt                         |  3 +++
+ cmake/modules/falcosecurity-libs.cmake | 10 +++++-----
+ 2 files changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0309d66633..6d28c6c67d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -146,6 +146,9 @@ if(NOT DEFINED SYSDIG_COMPONENT_NAME)
+     set(SYSDIG_COMPONENT_NAME "${CMAKE_PROJECT_NAME}")
+ endif()
+ 
++set(CMAKE_CXX_STANDARD 17)
++set(CMAKE_CXX_EXTENSIONS OFF)
++
+ include(falcosecurity-libs)
+ include(yaml-cpp)
+ include(nlohmann-json)
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index f30233b9e3..fe5dacd7ad 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -94,12 +94,12 @@ else()
+ endif()
+ 
+ include(CheckCXXCompilerFlag)
+-CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX14)
+-if(CREATE_TEST_TARGETS AND NOT WIN32 AND COMPILER_SUPPORTS_CXX14)
+-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
++CHECK_CXX_COMPILER_FLAG("-std=c++17" COMPILER_SUPPORTS_CXX17)
++if(CREATE_TEST_TARGETS AND NOT WIN32 AND COMPILER_SUPPORTS_CXX17)
++	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ 	include(gtest)
+-elseif(CREATE_TEST_TARGETS AND NOT COMPILER_SUPPORTS_CXX14)
+-	message(FATAL_ERROR "Your compiler doesn't support c++14: cannot include gtest and create test targets.")
++elseif(CREATE_TEST_TARGETS AND NOT COMPILER_SUPPORTS_CXX17)
++	message(FATAL_ERROR "Your compiler doesn't support c++17: cannot include gtest and create test targets.")
+ endif()
+ 
+ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
+
+From d5fcbad2d5ea63e1439ab7174a5cfd9a7a2e1545 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 10:44:05 +0000
+Subject: [PATCH 4/6] update(userspace): sync sysdig and csysdig with latest
+ libs
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ userspace/sysdig/csysdig.cpp                |  6 +--
+ userspace/sysdig/sysdig.cpp                 |  9 +---
+ userspace/sysdig/utils/plugin_utils.cpp     | 37 ++++++++++-----
+ userspace/sysdig/utils/sinsp_opener.cpp     | 18 ++++----
+ userspace/sysdig/utils/supported_events.cpp | 50 +++++++++++----------
+ userspace/sysdig/utils/supported_fields.cpp | 15 +++----
+ 6 files changed, 70 insertions(+), 65 deletions(-)
+
+diff --git a/userspace/sysdig/csysdig.cpp b/userspace/sysdig/csysdig.cpp
+index 9419882341..edd8129a0e 100644
+--- a/userspace/sysdig/csysdig.cpp
++++ b/userspace/sysdig/csysdig.cpp
+@@ -39,11 +39,11 @@ limitations under the License.
+ #include "chisel.h"
+ #include "chisel_utils.h"
+ #endif
+-#include "fields_info.h"
+ #include "chisel_table.h"
+ #include "utils.h"
+ #include "utils/plugin_utils.h"
+ #include "utils/sinsp_opener.h"
++#include "utils/supported_fields.h"
+ 
+ #ifdef _WIN32
+ #include "win32/getopt.h"
+@@ -704,8 +704,8 @@ sysdig_init_res csysdig_init(int argc, char **argv)
+ 		//
+ 		if(list_flds)
+ 		{
+-			list_fields(false, false);
+-
++			// todo(jasondellaluce): support source selection, verbosity, markdown
++			print_supported_fields(inspector, plugins, "", true, false);
+ 			res.m_res = EXIT_SUCCESS;
+ 			goto exit;
+ 		}
+diff --git a/userspace/sysdig/sysdig.cpp b/userspace/sysdig/sysdig.cpp
+index 40f2b39ef9..a978070d73 100644
+--- a/userspace/sysdig/sysdig.cpp
++++ b/userspace/sysdig/sysdig.cpp
+@@ -43,7 +43,6 @@ limitations under the License.
+ #include "chisel_utils.h"
+ #include "chisel_fields_info.h"
+ #endif
+-#include "fields_info.h"
+ #include "utils.h"
+ #include "plugin.h"
+ #include "plugin_manager.h"
+@@ -455,8 +454,6 @@ void print_summary_table(sinsp* inspector,
+ 						 std::vector<summary_table_entry> &summary_table,
+ 						 uint32_t nentries)
+ {
+-	sinsp_evttables* einfo = inspector->get_event_info_tables();
+-
+ 	std::cout << "----------------------\n";
+ 	std::string tstr = std::string("Event");
+ 	tstr.resize(16, ' ');
+@@ -478,7 +475,7 @@ void print_summary_table(sinsp* inspector,
+ 
+ 		if(e.m_is_unsupported_syscall)
+ 		{
+-			tstr = einfo->m_syscall_info_table[e.m_id / 2].name;
++			tstr = scap_get_ppm_sc_name((ppm_sc_code) (e.m_id / 2));
+ 			tstr.resize(16, ' ');
+ 
+ 			printf("%s%s%" PRIu64 "\n",
+@@ -488,7 +485,7 @@ void print_summary_table(sinsp* inspector,
+ 		}
+ 		else
+ 		{
+-			tstr = einfo->m_event_info[e.m_id].name;
++			tstr = libsinsp::events::info((ppm_event_code) e.m_id)->name;
+ 			tstr.resize(16, ' ');
+ 
+ 			printf("%s%s%" PRIu64 "\n",
+@@ -1862,8 +1859,6 @@ sysdig_init_res sysdig_init(int argc, char **argv)
+ 					res.m_res = EXIT_FAILURE;
+ 					goto exit;
+ 				}
+-
+-				inspector->filter_proc_table_when_saving(true);
+ 			}
+ 			else
+ 			{
+diff --git a/userspace/sysdig/utils/plugin_utils.cpp b/userspace/sysdig/utils/plugin_utils.cpp
+index ad69543b3e..b99de98b66 100644
+--- a/userspace/sysdig/utils/plugin_utils.cpp
++++ b/userspace/sysdig/utils/plugin_utils.cpp
+@@ -146,6 +146,7 @@ void plugin_utils::plugin_entry::init(sinsp *inspector)
+     }
+     if (plugin->caps() & CAP_EXTRACTION)
+     {
++        // todo(jasondellaluce): manage field name conflicts
+         g_filterlist.add_filter_check(sinsp_plugin::new_filtercheck(plugin));
+     }
+     inited = true;
+@@ -185,13 +186,30 @@ void plugin_utils::plugin_entry::print_info(sinsp* inspector, std::ostringstream
+     os << "Capabilities: " << std::endl;
+     if(plugin->caps() & CAP_SOURCING)
+     {
+-        os << "  - Event Sourcing (ID=" << plugin->id();
+-        os << ", source='" << plugin->event_source() << "')" << std::endl;
++        os << "  - Event Sourcing";
++        if (plugin->id() != 0)
++        {
++            os << " (ID=" << plugin->id();
++            os << ", source='" << plugin->event_source() << "')";
++        }
++        else
++        {
++            os << " (system events)";
++        }
++        os << std::endl;
+     }
+     if(plugin->caps() & CAP_EXTRACTION)
+     {
+         os << "  - Field Extraction" << std::endl;
+     }
++    if(plugin->caps() & CAP_PARSING)
++    {
++        os << "  - Event Parsing" << std::endl;
++    }
++    if(plugin->caps() & CAP_ASYNC)
++    {
++        os << "  - Async Events" << std::endl;
++    }
+ }
+ 
+ void plugin_utils::add_dir(std::string dirname, bool front_add)
+@@ -609,7 +627,7 @@ std::vector<std::string> plugin_utils::get_event_sources(sinsp *inspector)
+         // the plugin, in case it was not registered already
+         pl.get_plugin(inspector);
+     }
+-    return inspector->get_plugin_manager()->sources();
++    return inspector->event_sources();
+ }
+ 
+ std::vector<std::unique_ptr<sinsp_filter_check>> plugin_utils::get_filterchecks(sinsp *inspector, const std::string& source)
+@@ -617,16 +635,13 @@ std::vector<std::unique_ptr<sinsp_filter_check>> plugin_utils::get_filterchecks(
+     std::vector<std::unique_ptr<sinsp_filter_check>> list;
+     list.push_back(std::unique_ptr<sinsp_filter_check>(inspector->new_generic_filtercheck()));
+ 
+-    // todo(jasondellaluce): remove this once we support extracting plugin fields from syscalls
+-    if (source != s_syscall_source)
++    for (auto &pl : m_plugins)
+     {
+-        for (auto &pl : m_plugins)
++        auto plugin = pl.get_plugin(inspector);
++        if (plugin->caps() & CAP_EXTRACTION
++            && sinsp_plugin::is_source_compatible(plugin->extract_event_sources(), source))
+         {
+-            auto plugin = pl.get_plugin(inspector);
+-            if (plugin->caps() & CAP_EXTRACTION && plugin->is_source_compatible(source))
+-            {
+-                list.push_back(std::unique_ptr<sinsp_filter_check>(sinsp_plugin::new_filtercheck(plugin)));
+-            }
++            list.push_back(std::unique_ptr<sinsp_filter_check>(sinsp_plugin::new_filtercheck(plugin)));
+         }
+     }
+     return list;
+diff --git a/userspace/sysdig/utils/sinsp_opener.cpp b/userspace/sysdig/utils/sinsp_opener.cpp
+index eafdb631d3..7315b99c7d 100644
+--- a/userspace/sysdig/utils/sinsp_opener.cpp
++++ b/userspace/sysdig/utils/sinsp_opener.cpp
+@@ -50,14 +50,12 @@ void sinsp_opener::open(sinsp* inspector) const
+ 
+ #if defined(HAS_CAPTURE)
+     /* Populate syscalls of interest */
+-    std::unordered_set<uint32_t> sc_of_interest = inspector->get_all_ppm_sc();
++    auto sc_of_interest = libsinsp::events::all_sc_set();
+ 
+-    /* Populate tracepoints of interest */
+-    std::unordered_set<uint32_t> tp_of_interest = inspector->get_all_tp();
+     if(!options.page_faults)
+     {
+-        tp_of_interest.erase(PAGE_FAULT_USER);
+-        tp_of_interest.erase(PAGE_FAULT_KERN);
++        sc_of_interest.remove(ppm_sc_code::PPM_SC_PAGE_FAULT_USER);
++        sc_of_interest.remove(ppm_sc_code::PPM_SC_PAGE_FAULT_KERNEL);
+     }
+ 
+     if(udig.enabled)
+@@ -77,7 +75,7 @@ void sinsp_opener::open(sinsp* inspector) const
+ #ifdef HAS_MODERN_BPF
+ 		if(bpf.modern)
+ 		{
+-			inspector->open_modern_bpf(DEFAULT_DRIVER_BUFFER_BYTES_DIM, bpf.cpus_for_each_syscall_buffer, true, sc_of_interest, tp_of_interest);
++			inspector->open_modern_bpf(DEFAULT_DRIVER_BUFFER_BYTES_DIM, bpf.cpus_for_each_syscall_buffer, true, sc_of_interest);
+ 			return;
+ 		}
+ #endif
+@@ -95,7 +93,7 @@ void sinsp_opener::open(sinsp* inspector) const
+ 
+         try
+         {
+-            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+         }
+         catch(const sinsp_exception& e)
+         {
+@@ -103,7 +101,7 @@ void sinsp_opener::open(sinsp* inspector) const
+             {
+                 fprintf(stderr, "Unable to load the BPF probe\n");
+             }
+-            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+         }
+ 
+         // Enable gathering the CPU from the kernel module
+@@ -114,7 +112,7 @@ void sinsp_opener::open(sinsp* inspector) const
+     // default to kernel module if no other option is specified
+     try
+     {
+-        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+     }
+     catch(const sinsp_exception& e)
+     {
+@@ -124,7 +122,7 @@ void sinsp_opener::open(sinsp* inspector) const
+         {
+             fprintf(stderr, "Unable to load the driver\n");
+         }
+-        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+     }
+ 
+     // Enable gathering the CPU from the kernel module
+diff --git a/userspace/sysdig/utils/supported_events.cpp b/userspace/sysdig/utils/supported_events.cpp
+index 1442911209..7f0d630011 100644
+--- a/userspace/sysdig/utils/supported_events.cpp
++++ b/userspace/sysdig/utils/supported_events.cpp
+@@ -27,25 +27,25 @@ struct event_entry
+ {
+     bool is_enter;
+     std::string name;
+-    struct ppm_event_info info;
++    const ppm_event_info* info;
+ };
+ 
+-static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include_generics)
++static std::vector<event_entry> get_event_entries(bool include_generics)
+ {
+     event_entry entry;
+     std::vector<event_entry> events;
+-    const struct ppm_event_info* etable = inspector->get_event_info_tables()->m_event_info;
+ 
+     // skip generic events
+-    for(uint32_t evt = PPME_GENERIC_X + 1; evt < PPM_EVENT_MAX; evt++)
++    for(const auto& evt : libsinsp::events::all_event_set())
+     {
+-        if (!sinsp::is_old_version_event(evt)
+-                && !sinsp::is_unused_event(evt)
+-                && !sinsp::is_unknown_event(evt))
++        if (!libsinsp::events::is_generic(evt)
++            && !libsinsp::events::is_old_version_event(evt)
++            && !libsinsp::events::is_unused_event(evt)
++            && !libsinsp::events::is_unknown_event(evt))
+         {
+             entry.is_enter = PPME_IS_ENTER(evt);
+-            entry.name = etable[evt].name;
+-            entry.info = etable[evt];
++            entry.info = libsinsp::events::info(evt);
++			entry.name = entry.info->name;
+             events.push_back(entry);
+         }
+     }
+@@ -53,17 +53,19 @@ static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include
+     if (include_generics)
+     {
+         // append generic events
+-        const auto generic_syscalls = inspector->get_events_names({PPME_GENERIC_E});
+-        for (const auto& name : generic_syscalls)
+-        {
+-            for(uint32_t evt = PPME_GENERIC_E; evt <= PPME_GENERIC_X; evt++)
+-            {
+-                entry.is_enter = PPME_IS_ENTER(evt);
+-                entry.name = name;
+-                entry.info = etable[evt];
+-                events.push_back(entry);
+-            }
+-        }
++		const auto names = libsinsp::events::event_set_to_names({ppm_event_code::PPME_GENERIC_E});
++		for (const auto& name : names)
++		{
++			entry.is_enter = PPME_IS_ENTER(ppm_event_code::PPME_GENERIC_E);
++			entry.info = libsinsp::events::info(ppm_event_code::PPME_GENERIC_E);
++			entry.name = name;
++			events.push_back(entry);
++
++			entry.is_enter = PPME_IS_ENTER(ppm_event_code::PPME_GENERIC_X);
++			entry.info = libsinsp::events::info(ppm_event_code::PPME_GENERIC_X);
++			entry.name = name;
++			events.push_back(entry);
++		}
+     }
+ 
+     return events;
+@@ -71,7 +73,7 @@ static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include
+ 
+ void print_supported_events(sinsp* inspector, bool markdown)
+ {
+-    const auto events = get_event_entries(inspector, true);
++    const auto events = get_event_entries(true);
+ 
+     if(markdown)
+     {
+@@ -91,15 +93,15 @@ void print_supported_events(sinsp* inspector, bool markdown)
+             printf("%c %s(", dir, e.name.c_str());
+         }
+ 
+-        for(uint32_t k = 0; k < e.info.nparams; k++)
++        for(uint32_t k = 0; k < e.info->nparams; k++)
+         {
+             if(k != 0)
+             {
+                 printf(", ");
+             }
+ 
+-            printf("%s %s", param_type_to_string(e.info.params[k].type),
+-                e.info.params[k].name);
++            printf("%s %s", param_type_to_string(e.info->params[k].type),
++                e.info->params[k].name);
+         }
+         printf(")\n");
+     }
+diff --git a/userspace/sysdig/utils/supported_fields.cpp b/userspace/sysdig/utils/supported_fields.cpp
+index 6e2575b030..3127fb7220 100644
+--- a/userspace/sysdig/utils/supported_fields.cpp
++++ b/userspace/sysdig/utils/supported_fields.cpp
+@@ -35,11 +35,9 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+ {
+     std::vector<fields_info> field_infos;
+     std::vector<std::unique_ptr<const sinsp_filter_check>> filtecheck_lists; // only used to retain memory until we finish
+-    std::vector<std::string> sources = { s_syscall_source };
++    std::vector<std::string> sources = plugins.get_event_sources(inspector);
+ 
+     // add event sources defined by the loaded plugins
+-    const auto& plugin_sources = plugins.get_event_sources(inspector);
+-    sources.insert(sources.end(), plugin_sources.begin(), plugin_sources.end());
+     if (!source.empty())
+     {
+         bool found = false;
+@@ -66,7 +64,6 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+         }
+ 
+         std::vector<const filter_check_info*> filterchecks;
+-        // todo(jasondellaluce): change this once we support extracting plugin fields from syscalls
+         if (src == s_syscall_source)
+         {
+             std::vector<const filter_check_info*> all_checks;
+@@ -81,13 +78,11 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+                 }
+             }
+         }
+-        else
++
++        for (auto& check: plugins.get_filterchecks(inspector, src))
+         {
+-            for (auto& check: plugins.get_filterchecks(inspector, src))
+-            {
+-                filterchecks.push_back(check->get_fields());
+-                filtecheck_lists.push_back(std::move(check));
+-            }
++            filterchecks.push_back(check->get_fields());
++            filtecheck_lists.push_back(std::move(check));
+         }
+         
+         const auto classes = sinsp_filter_factory::check_infos_to_fieldclass_infos(filterchecks);
+
+From c8b0d055aec4d2378b7934dd9436fd4500d1021e Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 14:15:23 +0000
+Subject: [PATCH 5/6] fix: solve compilation issues on windows
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ CMakeLists.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6d28c6c67d..5afd967f27 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -148,6 +148,9 @@ endif()
+ 
+ set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_CXX_EXTENSIONS OFF)
++if(MSVC OR WIN32)
++	add_compile_definitions(_HAS_STD_BYTE=0)
++endif()
+ 
+ include(falcosecurity-libs)
+ include(yaml-cpp)
+
+From 954e6fc6238f21d4870a491395d68a7dd3062aa9 Mon Sep 17 00:00:00 2001
+From: Roberto Scolaro <roberto.scolaro21@gmail.com>
+Date: Mon, 5 Jun 2023 10:34:03 +0000
+Subject: [PATCH 6/6] update(cmake): bump libs 0.11.0 + driver 5.0.1
+
+Signed-off-by: Roberto Scolaro <roberto.scolaro21@gmail.com>
+---
+ CMakeLists.txt                         | 2 +-
+ cmake/modules/driver.cmake             | 4 ++--
+ cmake/modules/falcosecurity-libs.cmake | 4 ++--
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5afd967f27..f3f23b5e9a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -90,7 +90,7 @@ if(NOT WIN32)
+ 	endif()
+ 
+ 	set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_COMMON_FLAGS}")
+-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++0x")
++	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++17")
+ 
+ 	set(CMAKE_C_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+ 	set(CMAKE_CXX_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+diff --git a/cmake/modules/driver.cmake b/cmake/modules/driver.cmake
+index 7fd35d7f99..ca1e56718c 100644
+--- a/cmake/modules/driver.cmake
++++ b/cmake/modules/driver.cmake
+@@ -31,8 +31,8 @@ else()
+   # In case you want to test against another driver version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DDRIVER_VERSION=dev ..`
+   if(NOT DRIVER_VERSION)
+-    set(DRIVER_VERSION "5.0.0+driver")
+-    set(DRIVER_CHECKSUM "SHA256=c988ca7ac7d174f62d1bfbaaca49efd117f7b329f474d1b46b643635b2e35083")
++    set(DRIVER_VERSION "5.0.1+driver")
++    set(DRIVER_CHECKSUM "SHA256=8b197b916b6419dac8fb41807aa05d822164c7bfd2c3eef66d20d060a05a485a")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index fe5dacd7ad..c626d7944e 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -32,8 +32,8 @@ else()
+   # In case you want to test against another falcosecurity/libs version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DFALCOSECURITY_LIBS_VERSION=dev ..`
+   if(NOT FALCOSECURITY_LIBS_VERSION)
+-    set(FALCOSECURITY_LIBS_VERSION "0.11.0-rc1")
+-    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=bb6e57f66ae85dcda6e695226cd14082d9a1215902909cdde5b83f7abef44d8f")
++    set(FALCOSECURITY_LIBS_VERSION "0.11.0")
++    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=90414d00591986e94f2c49e7d65eef5c2dedee266354dd3db8234bb3b06c86fa")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
diff --git a/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch b/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch
new file mode 100644
index 000000000000..467cffacba2f
--- /dev/null
+++ b/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch
@@ -0,0 +1,28 @@
+diff --git a/cmake/modules/driver-repo/CMakeLists.txt b/cmake/modules/driver-repo/CMakeLists.txt
+index 479611a..5238121 100644
+--- a/cmake/modules/driver-repo/CMakeLists.txt
++++ b/cmake/modules/driver-repo/CMakeLists.txt
+@@ -25,8 +25,7 @@ message(STATUS "Driver version: ${DRIVER_VERSION}")
+ 
+ ExternalProject_Add(
+   driver
+-  URL "https://github.com/falcosecurity/libs/archive/${DRIVER_VERSION}.tar.gz"
+-  URL_HASH "${DRIVER_CHECKSUM}"
++  URL "${CMAKE_CURRENT_SOURCE_DIR}/../../../../libs-${DRIVER_VERSION}"
+   CONFIGURE_COMMAND ""
+   BUILD_COMMAND ""
+   INSTALL_COMMAND ""
+diff --git a/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt b/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
+index 2059547..74e78e2 100644
+--- a/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
++++ b/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
+@@ -25,8 +25,7 @@ message(STATUS "Libs version: ${FALCOSECURITY_LIBS_VERSION}")
+ 
+ ExternalProject_Add(
+   falcosecurity-libs
+-  URL "https://github.com/falcosecurity/libs/archive/${FALCOSECURITY_LIBS_VERSION}.tar.gz"
+-  URL_HASH "${FALCOSECURITY_LIBS_CHECKSUM}"
++  URL "${CMAKE_CURRENT_SOURCE_DIR}/../../../../libs-${FALCOSECURITY_LIBS_VERSION}"
+   CONFIGURE_COMMAND ""
+   BUILD_COMMAND ""
+   INSTALL_COMMAND ""
diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index 4a04e762468c..7990669d1d34 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,43 +1,49 @@
 # Template file for 'sysdig'
 pkgname=sysdig
-version=0.28.0
-revision=8
+version=0.31.5
+revision=1
+_falcover=0.11.0
 build_style=cmake
+build_wrksrc="sysdig-${version}"
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF
  -DLUA_INCLUDE_DIR=${XBPS_CROSS_BASE}/usr/include/luajit-2.1
- -DLUA_LIBRARY=/usr/lib/libluajit-5.1.so -DCREATE_TEST_TARGETS=OFF"
-make_cmd=make
+ -DLUA_LIBRARY=/usr/lib/libluajit-5.1.so -DCREATE_TEST_TARGETS=OFF
+ -DUSE_BUNDLED_TBB=OFF -DBUILD_LIBSCAP_EXAMPLES=OFF
+ -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_EXTENSIONS=OFF
+ -DDRIVER_VERSION=${_falcover}"
 hostmakedepends="wget pkg-config protobuf"
-makedepends="LuaJIT-devel c-ares-devel elfutils-devel grpc-devel jsoncpp-devel
+makedepends="LuaJIT-devel c-ares-devel elfutils-devel grpc-devel
  libcurl-devel libprotoc-devel openssl-devel ncurses-devel protobuf-devel
- tbb-devel zlib-devel"
+ tbb-devel zlib-devel yaml-cpp-devel json-c++"
 depends="dkms"
 short_desc="Open source system-level exploration and troubleshooting tool"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0, MIT, GPL-2.0-only"
 homepage="http://www.sysdig.org/"
 changelog="https://github.com/draios/sysdig/releases"
-distfiles="https://github.com/draios/${pkgname}/archive/${version}.tar.gz"
-checksum=817e595d501acf3fe11dc659a154aadbba848dd87ae801f5bf34a42e84979f37
-disable_parallel_build=yes
-dkms_modules="scap 2160111cd088aea9ae2235d3385ecb0b1ab6623c"
+distfiles="https://github.com/draios/sysdig/archive/${version}.tar.gz
+ https://github.com/falcosecurity/libs/archive/${_falcover}.tar.gz"
+checksum="9af98cae7c38273f7429ba0df628c9745bd92c949f444e180b9dd800af14c6dd
+ 90414d00591986e94f2c49e7d65eef5c2dedee266354dd3db8234bb3b06c86fa"
+dkms_modules="scap ${_falcover}"
 nocross=yes
+patch_args="-Np1 --directory=${build_wrksrc}"
 
 case "$XBPS_TARGET_MACHINE" in
-	*-musl) configure_args+=" -DMUSL_OPTIMIZED_BUILD=On"
+	i686*) broken="/syscall_table.c:567:10: error: '__NR_rt_tgsigqueueinfo'";;
+	*-musl) configure_args+=" -DMUSL_OPTIMIZED_BUILD=On";;
 esac
 
-export CMAKE_GENERATOR="Unix Makefiles"
-
 # Avoid excessive warnings spam to the log
 CXXFLAGS="-Wno-deprecated-declarations"
 
-CXXFLAGS+=" -I/usr/include/grpc_absl"
+post_patch() {
+	patch -d "${wrksrc}/libs-${_falcover}" -Np1 < "${FILESDIR}/libsinsp-zstd.patch"
+	patch -d "${wrksrc}/libs-${_falcover}" -Np1 < "${FILESDIR}/libsinsp-absl-protobuf.patch"
 
-post_extract() {
 	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
-	vsed -e 's|-std=c++0x||' -i CMakeLists.txt
+	vsed -e 's|-std=c++0x||' -i CMakeLists.txt -i "${wrksrc}/libs-${_falcover}/cmake/modules/CompilerFlags.cmake"
 }
 
 post_install() {

From d658f49ca12bf26836a3d327356a9275d278c827 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 2 Jul 2023 13:36:29 +0200
Subject: [PATCH 31/35] protobuf-c: rebuild against 23.3

---
 ...4f3fd85a205eb7c90b790477d5415364209e.patch |  44 +++
 srcpkgs/protobuf-c/patches/66a0b0d2.patch     | 308 ++++++++++++++++++
 srcpkgs/protobuf-c/template                   |   8 +-
 3 files changed, 358 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
 create mode 100644 srcpkgs/protobuf-c/patches/66a0b0d2.patch

diff --git a/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch b/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
new file mode 100644
index 000000000000..7d1e97032d32
--- /dev/null
+++ b/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
@@ -0,0 +1,44 @@
+From 66574f3fd85a205eb7c90b790477d5415364209e Mon Sep 17 00:00:00 2001
+From: Steve Peters <scpeters@openrobotics.org>
+Date: Sat, 24 Jun 2023 22:15:42 -0700
+Subject: [PATCH] Use FileDescriptorLegacy for deprecated syntax()
+
+---
+ protoc-c/c_file.cc   | 2 +-
+ protoc-c/c_helpers.h | 3 ++-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/protoc-c/c_file.cc b/protoc-c/c_file.cc
+index 59c1824e..4b60b889 100644
+--- a/protoc-c/c_file.cc
++++ b/protoc-c/c_file.cc
+@@ -119,7 +119,7 @@ void FileGenerator::GenerateHeader(io::Printer* printer) {
+ 
+   int min_header_version = 1000000;
+ #if defined(HAVE_PROTO3)
+-  if (file_->syntax() == FileDescriptor::SYNTAX_PROTO3) {
++  if (FileDescriptorLegacy(file_).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3) {
+     min_header_version = 1003000;
+   }
+ #endif
+diff --git a/protoc-c/c_helpers.h b/protoc-c/c_helpers.h
+index 7598a4e1..87deea24 100644
+--- a/protoc-c/c_helpers.h
++++ b/protoc-c/c_helpers.h
+@@ -67,6 +67,7 @@
+ #include <vector>
+ #include <sstream>
+ #include <google/protobuf/descriptor.h>
++#include <google/protobuf/descriptor_legacy.h>
+ #include <protobuf-c/protobuf-c.pb.h>
+ #include <google/protobuf/io/printer.h>
+ 
+@@ -172,7 +173,7 @@ int compare_name_indices_by_name(const void*, const void*);
+ // This wrapper is needed to be able to compile against protobuf2.
+ inline int FieldSyntax(const FieldDescriptor* field) {
+ #ifdef HAVE_PROTO3
+-  return field->file()->syntax() == FileDescriptor::SYNTAX_PROTO3 ? 3 : 2;
++  return FileDescriptorLegacy(field->file()).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3 ? 3 : 2;
+ #else
+   return 2;
+ #endif
diff --git a/srcpkgs/protobuf-c/patches/66a0b0d2.patch b/srcpkgs/protobuf-c/patches/66a0b0d2.patch
new file mode 100644
index 000000000000..790db6329120
--- /dev/null
+++ b/srcpkgs/protobuf-c/patches/66a0b0d2.patch
@@ -0,0 +1,308 @@
+From 66a0b0d205224f63f19dd8f96abf9dcdc2112331 Mon Sep 17 00:00:00 2001
+From: Xiangyu Chen <xiangyu.chen@windriver.com>
+Date: Wed, 29 Mar 2023 14:25:17 +0800
+Subject: [PATCH] add support of protobuf 4.22.x
+
+after upgrade the protobuf to 4.22.x, the protobuf-c cannot compile anymore (#544) due to following changes:
+1.protobuf using c++14, that cause the command_line_interface.h report error
+2.protobuf using abseil-cpp library instead the trace API with GOOGLE_ header
+3. removed GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
+---
+ Makefile.am                   | 2 +-
+ configure.ac                  | 8 ++++++++
+ protoc-c/c_bytes_field.h      | 1 -
+ protoc-c/c_enum.h             | 1 -
+ protoc-c/c_enum_field.h       | 1 -
+ protoc-c/c_extension.h        | 1 -
+ protoc-c/c_field.cc           | 2 +-
+ protoc-c/c_field.h            | 3 ---
+ protoc-c/c_file.h             | 1 -
+ protoc-c/c_generator.h        | 2 --
+ protoc-c/c_helpers.cc         | 4 ++--
+ protoc-c/c_message.cc         | 4 ++--
+ protoc-c/c_message.h          | 1 -
+ protoc-c/c_message_field.h    | 3 ---
+ protoc-c/c_primitive_field.cc | 6 +++---
+ protoc-c/c_primitive_field.h  | 3 ---
+ protoc-c/c_service.h          | 1 -
+ protoc-c/c_string_field.h     | 1 -
+ 18 files changed, 17 insertions(+), 28 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index c7339efe..3b0d1d66 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -20,7 +20,7 @@ AM_CPPFLAGS = \
+ 	-I${top_builddir} \
+ 	-I${top_srcdir}
+ AM_CFLAGS = ${my_CFLAGS}
+-AM_LDFLAGS =
++AM_LDFLAGS = ${ABSL_LOG_INTERNAL_CHECK_OP_LIBS} ${ABSL_LOG_RAW_HASH_SET_LIBS}
+ 
+ # code coverage
+ 
+diff --git a/configure.ac b/configure.ac
+index f5a0261e..8ed549ac 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -78,6 +78,14 @@ if test "x$enable_protoc" != "xno"; then
+ 
+   AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
+ 
++# now checking 4.22.x protobuf, if so, set cxx as 17
++  AS_IF([pkg-config --atleast-version 4.22.0 protobuf],[AX_CXX_COMPILE_STDCXX(17, noext, mandatory)])
++
++  AS_IF([pkg-config --atleast-version 4.22.0 protobuf],
++    [PKG_CHECK_MODULES([ABSL_LOG_INTERNAL_CHECK_OP], [absl_log_internal_check_op],
++       [PKG_CHECK_MODULES([ABSL_LOG_RAW_HASH_SET], [absl_raw_hash_set], [], [AC_MSG_ERROR([Missing absl_raw_hash_set library.])])],
++       [AC_MSG_ERROR([Missing absl_log_internal_check_op library.])])])
++
+   PKG_CHECK_MODULES([protobuf], [protobuf >= 3.0.0],
+     [proto3_supported=yes],
+     [PKG_CHECK_MODULES([protobuf], [protobuf >= 2.6.0])]
+diff --git a/protoc-c/c_bytes_field.h b/protoc-c/c_bytes_field.h
+index bf873f0f..8fc63d35 100644
+--- a/protoc-c/c_bytes_field.h
++++ b/protoc-c/c_bytes_field.h
+@@ -88,7 +88,6 @@ class BytesFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(BytesFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_enum.h b/protoc-c/c_enum.h
+index 9c34b697..d5e58f0a 100644
+--- a/protoc-c/c_enum.h
++++ b/protoc-c/c_enum.h
+@@ -107,7 +107,6 @@ class EnumGenerator {
+   const EnumDescriptor* descriptor_;
+   std::string dllexport_decl_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_enum_field.h b/protoc-c/c_enum_field.h
+index 3f8c005d..03eb4028 100644
+--- a/protoc-c/c_enum_field.h
++++ b/protoc-c/c_enum_field.h
+@@ -86,7 +86,6 @@ class EnumFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_extension.h b/protoc-c/c_extension.h
+index 95413885..9c5797d6 100644
+--- a/protoc-c/c_extension.h
++++ b/protoc-c/c_extension.h
+@@ -99,7 +99,6 @@ class ExtensionGenerator {
+   std::string type_traits_;
+   std::string dllexport_decl_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ExtensionGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_field.cc b/protoc-c/c_field.cc
+index 0716744a..4abdc6d3 100644
+--- a/protoc-c/c_field.cc
++++ b/protoc-c/c_field.cc
+@@ -231,7 +231,7 @@ FieldGeneratorMap::~FieldGeneratorMap() {}
+ 
+ const FieldGenerator& FieldGeneratorMap::get(
+     const FieldDescriptor* field) const {
+-  GOOGLE_CHECK_EQ(field->containing_type(), descriptor_);
++  ABSL_CHECK_EQ(field->containing_type(), descriptor_);
+   return *field_generators_[field->index()];
+ }
+ 
+diff --git a/protoc-c/c_field.h b/protoc-c/c_field.h
+index 3cad35d3..76d3b0bc 100644
+--- a/protoc-c/c_field.h
++++ b/protoc-c/c_field.h
+@@ -104,8 +104,6 @@ class FieldGenerator {
+                                             const std::string &descriptor_addr) const;
+   const FieldDescriptor *descriptor_;
+ 
+- private:
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGenerator);
+ };
+ 
+ // Convenience class which constructs FieldGenerators for a Descriptor.
+@@ -122,7 +120,6 @@ class FieldGeneratorMap {
+ 
+   static FieldGenerator* MakeGenerator(const FieldDescriptor* field);
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGeneratorMap);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_file.h b/protoc-c/c_file.h
+index 8dfd8ba0..ec55906e 100644
+--- a/protoc-c/c_file.h
++++ b/protoc-c/c_file.h
+@@ -104,7 +104,6 @@ class FileGenerator {
+   std::unique_ptr<std::unique_ptr<ServiceGenerator>[]> service_generators_;
+   std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FileGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_generator.h b/protoc-c/c_generator.h
+index ac1ffafe..92601164 100644
+--- a/protoc-c/c_generator.h
++++ b/protoc-c/c_generator.h
+@@ -94,8 +94,6 @@ class PROTOC_C_EXPORT CGenerator : public CodeGenerator {
+                 OutputDirectory* output_directory,
+                 std::string* error) const;
+ 
+- private:
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(CGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_helpers.cc b/protoc-c/c_helpers.cc
+index 6fd0cd3a..1eaeeb42 100644
+--- a/protoc-c/c_helpers.cc
++++ b/protoc-c/c_helpers.cc
+@@ -286,7 +286,7 @@ const char* const kKeywordList[] = {
+ 
+ std::set<std::string> MakeKeywordsMap() {
+   std::set<std::string> result;
+-  for (int i = 0; i < GOOGLE_ARRAYSIZE(kKeywordList); i++) {
++  for (int i = 0; i < ABSL_ARRAYSIZE(kKeywordList); i++) {
+     result.insert(kKeywordList[i]);
+   }
+   return result;
+@@ -548,7 +548,7 @@ std::string CEscape(const std::string& src) {
+   std::unique_ptr<char[]> dest(new char[dest_length]);
+   const int len = CEscapeInternal(src.data(), src.size(),
+                                   dest.get(), dest_length, false);
+-  GOOGLE_DCHECK_GE(len, 0);
++  ABSL_DCHECK_GE(len, 0);
+   return std::string(dest.get(), len);
+ }
+ 
+diff --git a/protoc-c/c_message.cc b/protoc-c/c_message.cc
+index 37e8bf8b..c7e85155 100755
+--- a/protoc-c/c_message.cc
++++ b/protoc-c/c_message.cc
+@@ -499,7 +499,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ 	  // NOTE: not supported by protobuf
+ 	  vars["maybe_static"] = "";
+ 	  vars["field_dv_ctype"] = "{ ... }";
+-	  GOOGLE_LOG(DFATAL) << "Messages can't have default values!";
++	  ABSL_LOG(FATAL) << "Messages can't have default values!";
+ 	  break;
+ 	case FieldDescriptor::CPPTYPE_STRING:
+ 	  if (fd->type() == FieldDescriptor::TYPE_BYTES || opt.string_as_bytes())
+@@ -521,7 +521,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ 	    break;
+ 	  }
+ 	default:
+-	  GOOGLE_LOG(DFATAL) << "Unknown CPPTYPE";
++	  ABSL_LOG(FATAL) << "Unknown CPPTYPE";
+ 	  break;
+ 	}
+ 	if (!already_defined)
+diff --git a/protoc-c/c_message.h b/protoc-c/c_message.h
+index ea1c3ab3..e90782bf 100644
+--- a/protoc-c/c_message.h
++++ b/protoc-c/c_message.h
+@@ -137,7 +137,6 @@ class MessageGenerator {
+   std::unique_ptr<std::unique_ptr<EnumGenerator>[]> enum_generators_;
+   std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_message_field.h b/protoc-c/c_message_field.h
+index 39b8d999..42efe368 100644
+--- a/protoc-c/c_message_field.h
++++ b/protoc-c/c_message_field.h
+@@ -83,9 +83,6 @@ class MessageFieldGenerator : public FieldGenerator {
+   std::string GetDefaultValue(void) const;
+   void GenerateStaticInit(io::Printer* printer) const;
+ 
+- private:
+-
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_primitive_field.cc b/protoc-c/c_primitive_field.cc
+index 6990893f..d5a7b60c 100644
+--- a/protoc-c/c_primitive_field.cc
++++ b/protoc-c/c_primitive_field.cc
+@@ -99,7 +99,7 @@ void PrimitiveFieldGenerator::GenerateStructMembers(io::Printer* printer) const
+     case FieldDescriptor::TYPE_STRING  :
+     case FieldDescriptor::TYPE_BYTES   :
+     case FieldDescriptor::TYPE_GROUP   :
+-    case FieldDescriptor::TYPE_MESSAGE : GOOGLE_LOG(FATAL) << "not a primitive type"; break;
++    case FieldDescriptor::TYPE_MESSAGE : ABSL_LOG(FATAL) << "not a primitive type"; break;
+ 
+     // No default because we want the compiler to complain if any new
+     // types are added.
+@@ -143,7 +143,7 @@ std::string PrimitiveFieldGenerator::GetDefaultValue() const
+     case FieldDescriptor::CPPTYPE_BOOL:
+       return descriptor_->default_value_bool() ? "1" : "0";
+     default:
+-      GOOGLE_LOG(DFATAL) << "unexpected CPPTYPE in c_primitive_field";
++      ABSL_LOG(FATAL) << "unexpected CPPTYPE in c_primitive_field";
+       return "UNEXPECTED_CPPTYPE";
+   }
+ }
+@@ -197,7 +197,7 @@ void PrimitiveFieldGenerator::GenerateDescriptorInitializer(io::Printer* printer
+     case FieldDescriptor::TYPE_STRING  :
+     case FieldDescriptor::TYPE_BYTES   :
+     case FieldDescriptor::TYPE_GROUP   :
+-    case FieldDescriptor::TYPE_MESSAGE : GOOGLE_LOG(FATAL) << "not a primitive type"; break;
++    case FieldDescriptor::TYPE_MESSAGE : ABSL_LOG(FATAL) << "not a primitive type"; break;
+ 
+     // No default because we want the compiler to complain if any new
+     // types are added.
+diff --git a/protoc-c/c_primitive_field.h b/protoc-c/c_primitive_field.h
+index a9eb893b..d2bb7243 100644
+--- a/protoc-c/c_primitive_field.h
++++ b/protoc-c/c_primitive_field.h
+@@ -83,9 +83,6 @@ class PrimitiveFieldGenerator : public FieldGenerator {
+   std::string GetDefaultValue(void) const;
+   void GenerateStaticInit(io::Printer* printer) const;
+ 
+- private:
+-
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(PrimitiveFieldGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_service.h b/protoc-c/c_service.h
+index 27125a60..4737ff3b 100644
+--- a/protoc-c/c_service.h
++++ b/protoc-c/c_service.h
+@@ -101,7 +101,6 @@ class ServiceGenerator {
+   const ServiceDescriptor* descriptor_;
+   std::map<std::string, std::string> vars_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ServiceGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_string_field.h b/protoc-c/c_string_field.h
+index 513cea75..ba258e44 100644
+--- a/protoc-c/c_string_field.h
++++ b/protoc-c/c_string_field.h
+@@ -88,7 +88,6 @@ class StringFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(StringFieldGenerator);
+ };
+ 
+ 
diff --git a/srcpkgs/protobuf-c/template b/srcpkgs/protobuf-c/template
index 7d1b529d8936..e703b138152d 100644
--- a/srcpkgs/protobuf-c/template
+++ b/srcpkgs/protobuf-c/template
@@ -1,10 +1,10 @@
 # Template file for 'protobuf-c'
 pkgname=protobuf-c
 version=1.4.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="$(vopt_enable protoc)"
-hostmakedepends="pkg-config protobuf protobuf-devel"
+hostmakedepends="pkg-config protobuf protobuf-devel automake libtool"
 makedepends="protobuf-devel boost-devel $(vopt_if protoc libprotoc-devel)"
 short_desc="C implementation of the Google Protocol Buffers"
 maintainer="Enno Boland <gottox@voidlinux.org>"
@@ -17,6 +17,10 @@ build_options="protoc"
 build_options_default="protoc"
 desc_option_protoc="Build protoc-c compiler"
 
+pre_configure() {
+	autoreconf -if
+}
+
 post_install() {
 	vlicense LICENSE
 }

From b5bc7bf96490883cd75a3d31f876411b702e8cea Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 2 Jul 2023 21:07:55 +0200
Subject: [PATCH 32/35] netdata: update to 1.40.1.

---
 srcpkgs/netdata/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/netdata/template            | 13 +++++++++----
 2 files changed, 20 insertions(+), 4 deletions(-)
 create mode 100644 srcpkgs/netdata/patches/cpp17.patch

diff --git a/srcpkgs/netdata/patches/cpp17.patch b/srcpkgs/netdata/patches/cpp17.patch
new file mode 100644
index 000000000000..b197ccd57bd9
--- /dev/null
+++ b/srcpkgs/netdata/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac	2023-06-27 16:25:03.364605041 +0200
++++ -	2023-07-02 21:27:31.113408278 +0200
+@@ -237,7 +237,7 @@
+ # C++ version check
+ 
+ # Check for C++17 support (optional)
+-# AX_CXX_COMPILE_STDCXX(17, noext, optional)
++AX_CXX_COMPILE_STDCXX(17, noext, optional)
+ 
+ if test "x$HAVE_CXX17" != "x1"; then
+   # Check for C++11 support (optional)
diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 781120b3f275..9065c5140361 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -1,14 +1,14 @@
 # Template file for 'netdata'
 pkgname=netdata
-version=1.37.1
-revision=2
+version=1.40.1
+revision=1
 build_style=gnu-configure
 build_helper=qemu
 configure_args="--with-user=_netdata ac_cv_file_externaldeps_libbpf_libbpf_a=no
  $(vopt_if cloud --enable-cloud --disable-cloud) $(vopt_if ipmi --enable-plugin-freeipmi)
  $(vopt_if xen --enable-plugin-xenstat) $(vopt_if cups --enable-plugin-cups)"
 hostmakedepends="pkg-config autoconf automake $(vopt_if cloud "protobuf protobuf-devel")"
-makedepends="json-c-devel libcap-devel liblz4-devel libmnl-devel
+makedepends="json-c-devel libcap-devel liblz4-devel libmnl-devel libyaml-devel
  libnetfilter_acct-devel openssl-devel libuuid-devel libuv-devel zlib-devel
  snappy-devel $(vopt_if cloud protobuf-devel) $(vopt_if ipmi freeipmi-devel)
  $(vopt_if xen "xen-devel yajl-devel") $(vopt_if cups cups-devel)"
@@ -18,7 +18,7 @@ maintainer="Michael Aldridge <maldridge@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://www.netdata.cloud/"
 distfiles="https://github.com/netdata/netdata/releases/download/v${version}/netdata-v${version}.tar.gz"
-checksum=2caa042d43ca61007a61294a5ececa037d83a1973bd38032233760341eb1706b
+checksum=cc86172acd5e6ec05bc0fa86a50d967502a264d8adf7f79293923ccd8febb251
 python_version=3
 make_dirs="
  /var/lib/netdata          0755 _netdata _netdata
@@ -43,6 +43,11 @@ if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 fi
 
 pre_configure() {
+	vsed -e 's/#define info(/#define netdata_log_info(/g' -i libnetdata/log/log.h
+	vsed -e 's/^\([ ]*\)info[ ]*(/\1netdata_log_info(/g' -i $(grep -rl '^[ ]*info *(' ./)
+	vsed -e 's/^\([ ]*\)else info(/\1else netdata_log_info(/g' -i $(grep -rl '^[ ]*else info(' ./)
+	vsed -e 's/^\([ ]*\)if(\([^)]*\))[ ]*info(/\1if(\2) netdata_log_info(/g' -i $(grep -rl '^[ ]*if.*info(' ./)
+
 	if [ "$CROSS_BUILD" ]; then
 		sed -i "s|	\$(builddir)/judyltablesgen\$(EXEEXT)|	qemu-${XBPS_TARGET_QEMU_MACHINE}-static \$(builddir)/judyltablesgen\$(EXEEXT)|g" Makefile.am
 	fi

From 6a766bda252d6e09df522a601d62824dc61d9af6 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 8 Jul 2023 12:47:51 +0200
Subject: [PATCH 33/35] strawberry: rebuild against protobuf-23.3_1

---
 srcpkgs/strawberry/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/strawberry/template b/srcpkgs/strawberry/template
index b42efa1b89b2..91f2e07a0ec0 100644
--- a/srcpkgs/strawberry/template
+++ b/srcpkgs/strawberry/template
@@ -1,7 +1,7 @@
 # Template file for 'strawberry'
 pkgname=strawberry
 version=1.0.17
-revision=2
+revision=3
 build_style=cmake
 hostmakedepends="pkg-config protobuf gettext"
 makedepends="alsa-lib-devel boost-devel gnutls-devel fftw-devel

From e74e4ba5df193239a9906e1710d189a5869b2a73 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 8 Jul 2023 12:47:51 +0200
Subject: [PATCH 34/35] libphonenumber: rebuild against protobuf-23.3_1

---
 srcpkgs/libphonenumber/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libphonenumber/template b/srcpkgs/libphonenumber/template
index f554714b3c7a..058939459f6a 100644
--- a/srcpkgs/libphonenumber/template
+++ b/srcpkgs/libphonenumber/template
@@ -1,7 +1,7 @@
 # Template file for 'libphonenumber'
 pkgname=libphonenumber
 version=8.12.39
-revision=12
+revision=13
 build_wrksrc=cpp
 build_style=cmake
 build_helper=qemu

From e3f8ff9aceda49984c0892ed29211d03f80acfa1 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 14 Jul 2023 15:44:21 +0200
Subject: [PATCH 35/35] python3-protobuf: update to 4.23.4.

---
 srcpkgs/python3-protobuf/patches/cpp17.patch  |  11 ++
 .../patches/python-3.11.patch                 | 132 ------------------
 srcpkgs/python3-protobuf/template             |  11 +-
 3 files changed, 18 insertions(+), 136 deletions(-)
 create mode 100644 srcpkgs/python3-protobuf/patches/cpp17.patch
 delete mode 100644 srcpkgs/python3-protobuf/patches/python-3.11.patch

diff --git a/srcpkgs/python3-protobuf/patches/cpp17.patch b/srcpkgs/python3-protobuf/patches/cpp17.patch
new file mode 100644
index 000000000000..97b81e1bfa5a
--- /dev/null
+++ b/srcpkgs/python3-protobuf/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/python/setup.py	2023-07-05 23:53:30.000000000 +0200
++++ -	2023-07-14 16:19:35.949677747 +0200
+@@ -370,7 +370,7 @@
+       extra_compile_args.append('-Wno-invalid-offsetof')
+       extra_compile_args.append('-Wno-sign-compare')
+       extra_compile_args.append('-Wno-unused-variable')
+-      extra_compile_args.append('-std=c++14')
++      extra_compile_args.append('-std=c++17')
+ 
+     if sys.platform == 'darwin':
+       extra_compile_args.append('-Wno-shorten-64-to-32')
diff --git a/srcpkgs/python3-protobuf/patches/python-3.11.patch b/srcpkgs/python3-protobuf/patches/python-3.11.patch
deleted file mode 100644
index f6ed1b078357..000000000000
--- a/srcpkgs/python3-protobuf/patches/python-3.11.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From da973aff2adab60a9e516d3202c111dbdde1a50f Mon Sep 17 00:00:00 2001
-From: Alexander Shadchin <alexandr.shadchin@gmail.com>
-Date: Sun, 14 Aug 2022 21:13:49 +0300
-Subject: [PATCH] Fix build with Python 3.11
-
-The PyFrameObject structure members have been removed from the public C API.
----
- google/protobuf/pyext/descriptor.cc | 75 ++++++++++++++++++----
- 1 file changed, 62 insertions(+), 13 deletions(-)
-
-diff --git a/google/protobuf/pyext/descriptor.cc b/google/protobuf/pyext/descriptor.cc
-index fc83acf01a..fc97b0fa6c 100644
---- a/google/protobuf/pyext/descriptor.cc
-+++ b/google/protobuf/pyext/descriptor.cc
-@@ -58,6 +58,37 @@
-               : 0)                                               \
-        : PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
- 
-+#if PY_VERSION_HEX < 0x030900B1 && !defined(PYPY_VERSION)
-+static PyCodeObject* PyFrame_GetCode(PyFrameObject *frame)
-+{
-+    Py_INCREF(frame->f_code);
-+    return frame->f_code;
-+}
-+
-+static PyFrameObject* PyFrame_GetBack(PyFrameObject *frame)
-+{
-+    Py_XINCREF(frame->f_back);
-+    return frame->f_back;
-+}
-+#endif
-+
-+#if PY_VERSION_HEX < 0x030B00A7 && !defined(PYPY_VERSION)
-+static PyObject* PyFrame_GetLocals(PyFrameObject *frame)
-+{
-+    if (PyFrame_FastToLocalsWithError(frame) < 0) {
-+        return NULL;
-+    }
-+    Py_INCREF(frame->f_locals);
-+    return frame->f_locals;
-+}
-+
-+static PyObject* PyFrame_GetGlobals(PyFrameObject *frame)
-+{
-+    Py_INCREF(frame->f_globals);
-+    return frame->f_globals;
-+}
-+#endif
-+
- namespace google {
- namespace protobuf {
- namespace python {
-@@ -96,48 +127,66 @@ bool _CalledFromGeneratedFile(int stacklevel) {
-   // This check is not critical and is somewhat difficult to implement correctly
-   // in PyPy.
-   PyFrameObject* frame = PyEval_GetFrame();
-+  PyCodeObject* frame_code = nullptr;
-+  PyObject* frame_globals = nullptr;
-+  PyObject* frame_locals = nullptr;
-+  bool result = false;
-+
-   if (frame == nullptr) {
--    return false;
-+    goto exit;
-   }
-+  Py_INCREF(frame);
-   while (stacklevel-- > 0) {
--    frame = frame->f_back;
-+    PyFrameObject* next_frame = PyFrame_GetBack(frame);
-+    Py_DECREF(frame);
-+    frame = next_frame;
-     if (frame == nullptr) {
--      return false;
-+      goto exit;
-     }
-   }
- 
--  if (frame->f_code->co_filename == nullptr) {
--    return false;
-+  frame_code = PyFrame_GetCode(frame);
-+  if (frame_code->co_filename == nullptr) {
-+    goto exit;
-   }
-   char* filename;
-   Py_ssize_t filename_size;
--  if (PyString_AsStringAndSize(frame->f_code->co_filename,
-+  if (PyString_AsStringAndSize(frame_code->co_filename,
-                                &filename, &filename_size) < 0) {
-     // filename is not a string.
-     PyErr_Clear();
--    return false;
-+    goto exit;
-   }
-   if ((filename_size < 3) ||
-       (strcmp(&filename[filename_size - 3], ".py") != 0)) {
-     // Cython's stack does not have .py file name and is not at global module
-     // scope.
--    return true;
-+    result = true;
-+    goto exit;
-   }
-   if (filename_size < 7) {
-     // filename is too short.
--    return false;
-+    goto exit;
-   }
-   if (strcmp(&filename[filename_size - 7], "_pb2.py") != 0) {
-     // Filename is not ending with _pb2.
--    return false;
-+    goto exit;
-   }
- 
--  if (frame->f_globals != frame->f_locals) {
-+  frame_globals = PyFrame_GetGlobals(frame);
-+  frame_locals = PyFrame_GetLocals(frame);
-+  if (frame_globals != frame_locals) {
-     // Not at global module scope
--    return false;
-+    goto exit;
-   }
- #endif
--  return true;
-+  result = true;
-+exit:
-+  Py_XDECREF(frame_globals);
-+  Py_XDECREF(frame_locals);
-+  Py_XDECREF(frame_code);
-+  Py_XDECREF(frame);
-+  return result;
- }
- 
- // If the calling code is not a _pb2.py file, raise AttributeError.
diff --git a/srcpkgs/python3-protobuf/template b/srcpkgs/python3-protobuf/template
index e965c4432162..5c78e4794018 100644
--- a/srcpkgs/python3-protobuf/template
+++ b/srcpkgs/python3-protobuf/template
@@ -1,16 +1,19 @@
 # Template file for 'python3-protobuf'
 pkgname=python3-protobuf
-version=4.21.12
+version=4.23.4
+_protobuf=${version#*.}
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-wheel"
+build_wrksrc=python
+hostmakedepends="python3-setuptools python3-wheel protobuf"
 depends="python3-setuptools python3-six"
 short_desc="Python3 bindings for Google Protocol Buffers"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
-distfiles="${PYPI_SITE}/p/protobuf/protobuf-${version}.tar.gz"
-checksum=7cd532c4566d0e6feafecc1059d04c7915aec8e182d1cf7adee8b24ef1e2e6ab
+# PyPi release does not have bits for cppext
+distfiles="https://github.com/protocolbuffers/protobuf/releases/download/v${_protobuf}/protobuf-${_protobuf}.tar.gz"
+checksum=a700a49470d301f1190a487a923b5095bf60f08f4ae4cac9f5f7c36883d17971
 
 build_options="cppext"
 build_options_default="cppext"

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] protobuf/abseil-cpp/grpc: update
  2023-07-08 11:45 [PR PATCH] protobuf/abseil-cpp: update Johnnynator
                   ` (8 preceding siblings ...)
  2023-07-14 15:36 ` Johnnynator
@ 2023-07-16 14:09 ` Johnnynator
  2023-07-16 15:06 ` Johnnynator
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Johnnynator @ 2023-07-16 14:09 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 616 bytes --]

There is an updated pull request by Johnnynator against master on the void-packages repository

https://github.com/Johnnynator/void-packages google-stuff
https://github.com/void-linux/void-packages/pull/44920

protobuf/abseil-cpp/grpc: update
"Fun" with google stuff

#### Testing the changes
- I tested the changes in this PR: **WiP**


#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):



A patch file from https://github.com/void-linux/void-packages/pull/44920.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-google-stuff-44920.patch --]
[-- Type: text/x-diff, Size: 117656 bytes --]

From dbd31ad25bb1ce8dad7c577d3bcc7d943e56cc39 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:24:01 +0200
Subject: [PATCH 01/35] abseil-cpp: update to 20230125.3.

---
 common/shlibs                                 | 128 ++++++++++++------
 srcpkgs/abseil-cpp/patches/google-sucks.patch |  77 -----------
 srcpkgs/abseil-cpp/template                   |   4 +-
 3 files changed, 85 insertions(+), 124 deletions(-)
 delete mode 100644 srcpkgs/abseil-cpp/patches/google-sucks.patch

diff --git a/common/shlibs b/common/shlibs
index 4b2122d1b199..d1e779f4e7cb 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4207,51 +4207,89 @@ libsunpinyin.so.3 libsunpinyin-3.0.0rc2_1
 libtpm2-totp.so.0 libtpm2-totp-0.3.0_1
 libmujs.so.1.2.0 mujs-1.2.0_2
 libiir.so.1 libiir1-1.9.3_1
-libabsl_statusor.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_hash.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_raw_hash_set.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_bad_variant_access.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_status.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_pool_urbg.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_hwaes_impl.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_slow.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cord.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_city.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_bad_optional_access.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_info.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_str_format_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_synchronization.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_time.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strings.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_throw_delegate.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_time_zone.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_spinlock_wait.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_base.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_civil_time.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cord_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_functions.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_handle.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_debugging_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_demangle_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_exponential_biased.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_graphcycles_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_hashtablez_sampler.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_int128.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_log_severity.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_low_level_hash.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_malloc_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_distributions.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_platform.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_hwaes.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_seed_material.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_seed_gen_exception.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_seed_sequences.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_raw_logging_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_stacktrace.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strerror.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strings_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_symbolize.so.2206.0.0 abseil-cpp-20220623.1_1
+libabsl_flags.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_raw_logging_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_parse.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_reflection.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_globals.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_config.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_seed_sequences.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_statusor.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_usage_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_commandlineflag.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_hwaes_impl.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_status.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_any_cast_impl.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_variant_access.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_raw_hash_set.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_optional_access.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cord.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_distribution_test_util.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_handle.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_graphcycles_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_spinlock_wait.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_functions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_usage.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_debugging_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strerror.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_seed_material.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_log_sink_set.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_proto.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_civil_time.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_conditions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_cpu_detect.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_entry.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_distributions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_globals.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_format.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_exponential_biased.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_city.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_symbolize.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_leak_check.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_low_level_hash.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_severity.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_scoped_set_env.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strings.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_die_if_null.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_hash.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_commandlineflag_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_periodic_sampler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_platform.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_malloc_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_sample_token.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_str_format_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_synchronization.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_message.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strings_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_private_handle_accessor.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cord_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_hwaes.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_throw_delegate.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_cord_state.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_flags.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_program_name.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_time_zone.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_examine_stack.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc32c.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_initialize.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_failure_signal_handler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_time.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_info.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_sink.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_nullguard.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_demangle_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_base.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_hashtablez_sampler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_marshalling.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_pool_urbg.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_int128.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_stacktrace.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_seed_gen_exception.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_check_op.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_slow.so.2301.0.0 abseil-cpp-20230125.3_1
 libairspyhf.so.0 libairspyhf-1.6.8_1
 libtraceevent.so.1 libtraceevent-1.6.2_1
 libtracefs.so.1 libtracefs-1.4.2_1
diff --git a/srcpkgs/abseil-cpp/patches/google-sucks.patch b/srcpkgs/abseil-cpp/patches/google-sucks.patch
deleted file mode 100644
index 511bae847101..000000000000
--- a/srcpkgs/abseil-cpp/patches/google-sucks.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-commit 1fbfea71fb42b2e79f9e342c1843bd26a8703536
-Author: Daniel Kolesa <daniel@octaforge.org>
-Date:   Thu Aug 25 01:20:58 2022 +0200
-
-    An all-in-one patch that fixes several issues:
-    
-    1) UnscaledCycleClock not fully implemented for ppc*-musl (disabled on musl)
-    2) powerpc stacktrace implementation only works on glibc (disabled on musl)
-    3) powerpc stacktrace implementation has ppc64 assumptions (fixed)
-    4) examine_stack.cpp makes glibc assumptions on powerpc (fixed)
-
-diff --git a/absl/base/internal/unscaledcycleclock.cc b/absl/base/internal/unscaledcycleclock.cc
-index b1c396c..d62bfd6 100644
---- a/absl/base/internal/unscaledcycleclock.cc
-+++ b/absl/base/internal/unscaledcycleclock.cc
-@@ -20,7 +20,7 @@
- #include <intrin.h>
- #endif
- 
--#if defined(__powerpc__) || defined(__ppc__)
-+#if (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
- #ifdef __GLIBC__
- #include <sys/platform/ppc.h>
- #elif defined(__FreeBSD__)
-@@ -58,7 +58,7 @@ double UnscaledCycleClock::Frequency() {
-   return base_internal::NominalCPUFrequency();
- }
- 
--#elif defined(__powerpc__) || defined(__ppc__)
-+#elif (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
- 
- int64_t UnscaledCycleClock::Now() {
- #ifdef __GLIBC__
-diff --git a/absl/base/internal/unscaledcycleclock.h b/absl/base/internal/unscaledcycleclock.h
-index 2cbeae3..83d8c98 100644
---- a/absl/base/internal/unscaledcycleclock.h
-+++ b/absl/base/internal/unscaledcycleclock.h
-@@ -46,8 +46,8 @@
- 
- // The following platforms have an implementation of a hardware counter.
- #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \
--    defined(__powerpc__) || defined(__ppc__) || defined(__riscv) ||     \
--    defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
-+    ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \
-+    defined(__riscv) || defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
- #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
- #else
- #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 0
-diff --git a/absl/debugging/internal/examine_stack.cc b/absl/debugging/internal/examine_stack.cc
-index 5bdd341..a42a3c4 100644
---- a/absl/debugging/internal/examine_stack.cc
-+++ b/absl/debugging/internal/examine_stack.cc
-@@ -174,8 +174,10 @@ void* GetProgramCounter(void* const vuc) {
-     return reinterpret_cast<void*>(context->uc_mcontext.pc);
- #elif defined(__powerpc64__)
-     return reinterpret_cast<void*>(context->uc_mcontext.gp_regs[32]);
--#elif defined(__powerpc__)
-+#elif defined(__powerpc__) && defined(__GLIBC__)
-     return reinterpret_cast<void*>(context->uc_mcontext.uc_regs->gregs[32]);
-+#elif defined(__powerpc__)
-+    return reinterpret_cast<void*>(context->uc_mcontext.gregs[32]);
- #elif defined(__riscv)
-     return reinterpret_cast<void*>(context->uc_mcontext.__gregs[REG_PC]);
- #elif defined(__s390__) && !defined(__s390x__)
-diff --git a/absl/debugging/internal/stacktrace_config.h b/absl/debugging/internal/stacktrace_config.h
-index 3929b1b..23d5e50 100644
---- a/absl/debugging/internal/stacktrace_config.h
-+++ b/absl/debugging/internal/stacktrace_config.h
-@@ -60,7 +60,7 @@
- #elif defined(__i386__) || defined(__x86_64__)
- #define ABSL_STACKTRACE_INL_HEADER \
-   "absl/debugging/internal/stacktrace_x86-inl.inc"
--#elif defined(__ppc__) || defined(__PPC__)
-+#elif (defined(__ppc__) || defined(__PPC__)) && defined(__GLIBC__)
- #define ABSL_STACKTRACE_INL_HEADER \
-   "absl/debugging/internal/stacktrace_powerpc-inl.inc"
- #elif defined(__aarch64__)
diff --git a/srcpkgs/abseil-cpp/template b/srcpkgs/abseil-cpp/template
index 8640d2489406..3ffdb4d99d33 100644
--- a/srcpkgs/abseil-cpp/template
+++ b/srcpkgs/abseil-cpp/template
@@ -1,6 +1,6 @@
 # Template file for 'abseil-cpp'
 pkgname=abseil-cpp
-version=20220623.1
+version=20230125.3
 revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON -DABSL_PROPAGATE_CXX_STD=ON"
@@ -10,7 +10,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="Apache-2.0"
 homepage="https://abseil.io"
 distfiles="https://github.com/abseil/abseil-cpp/archive/${version}.tar.gz"
-checksum=91ac87d30cc6d79f9ab974c51874a704de9c2647c40f6932597329a282217ba8
+checksum=5366d7e7fa7ba0d915014d387b66d0d002c03236448e1ba9ef98122c13b35c36
 
 abseil-cpp-devel_package() {
 	short_desc+=" (development files)"

From 8b64cd33177fcc2e990627cdc35105031a3e6ccc Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 02/35] Bear: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/Bear/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/Bear/template b/srcpkgs/Bear/template
index cebf51b64728..2e6da3ba9a30 100644
--- a/srcpkgs/Bear/template
+++ b/srcpkgs/Bear/template
@@ -1,7 +1,7 @@
 # Template file for 'Bear'
 pkgname=Bear
 version=3.1.2
-revision=1
+revision=2
 build_style=cmake
 hostmakedepends="pkg-config protobuf protobuf-devel grpc"
 makedepends="json-c++ spdlog grpc-devel protobuf-devel gtest-devel"

From ad1ab46211d8317535b8d04bf6bf3c809a603de4 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 03/35] grpc: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/grpc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index 5b4547a5c0fc..f9d197a1c354 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -1,7 +1,7 @@
 # Template file for 'grpc'
 pkgname=grpc
 version=1.49.1
-revision=2
+revision=3
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON
  -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package

From 9255d1dbdb8e720b4f8c9298498100ab29a87b19 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 04/35] justbuild: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/justbuild/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index 1ad8e334617d..ee36f6dae575 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
 # Template file for 'justbuild'
 pkgname=justbuild
 version=1.1.2
-revision=1
+revision=2
 create_wrksrc=yes
 hostmakedepends="jo pandoc pkg-config python3 tar unzip wget"
 makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++

From 1d52dcf2666e9637a0fdd8d11d5fe850886e14d8 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 05/35] python3-grpcio: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/python3-grpcio/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 826eda0fc560..9b3c7288a9dd 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-grpcio'
 pkgname=python3-grpcio
 version=1.49.1
-revision=3
+revision=4
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-six python3-Cython"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel

From 9ec6d5ba8eedcc1e1e71040a87d1cf155c03a7de Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 06/35] sysdig: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/sysdig/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index 81ddb7aba5e3..4a04e762468c 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,7 +1,7 @@
 # Template file for 'sysdig'
 pkgname=sysdig
 version=0.28.0
-revision=7
+revision=8
 build_style=cmake
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF
@@ -36,7 +36,8 @@ CXXFLAGS="-Wno-deprecated-declarations"
 CXXFLAGS+=" -I/usr/include/grpc_absl"
 
 post_extract() {
-	sed -i 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' scripts/CMakeLists.txt
+	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
+	vsed -e 's|-std=c++0x||' -i CMakeLists.txt
 }
 
 post_install() {

From b2dcbdef5d4de3fa59c22921a9f5b190bb41833c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 22:01:12 +0200
Subject: [PATCH 07/35] python3-grpcio: update to 1.56.0.

---
 srcpkgs/python3-grpcio/template | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 9b3c7288a9dd..25ea3fc34620 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-grpcio'
 pkgname=python3-grpcio
-version=1.49.1
-revision=4
+version=1.56.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-six python3-Cython"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel
@@ -12,7 +12,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://grpc.io"
 distfiles="${PYPI_SITE}/g/grpcio/grpcio-${version}.tar.gz"
-checksum=d4725fc9ec8e8822906ae26bb26f5546891aa7fbc3443de970cc556d43a5c99f
+checksum=4c08ee21b3d10315b8dc26f6c13917b20ed574cdbed2d2d80c53d5508fdcc0f2
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	makedepends+=" libatomic-devel"
@@ -29,5 +29,7 @@ export GRPC_PYTHON_BUILD_SYSTEM_RE2=1
 export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
 
 post_extract() {
+	# abseil-cpp 2023xxxxxx requires at least c++ 17
+	vsed -e 's/c++14/c++17/g' -i setup.py
 	rm src/python/grpcio/grpc/_cython/cygrpc.cpp
 }

From ce863887fe1d463c8725716b200ce428cd2b24e6 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 22:01:47 +0200
Subject: [PATCH 08/35] grpc: update to 1.56.0.

---
 common/shlibs                                 | 24 +++++++++----------
 srcpkgs/grpc/patches/cmake.patch              | 20 ++++++++++++++++
 .../grpc/patches/revert-find-protobuf.patch   | 23 ++++++++++++++++++
 srcpkgs/grpc/template                         | 15 ++++++------
 4 files changed, 63 insertions(+), 19 deletions(-)
 create mode 100644 srcpkgs/grpc/patches/cmake.patch
 create mode 100644 srcpkgs/grpc/patches/revert-find-protobuf.patch

diff --git a/common/shlibs b/common/shlibs
index d1e779f4e7cb..5adfa4d6e69f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3683,18 +3683,18 @@ liboblibs.so.0.1 oblibs-0.1.1.1_1
 libaal-1.0.so.7 libaal-1.0.7_1
 libaal-minimal.so.0 libaal-1.0.7_1
 libcli.so.1.9 libcli-1.9.8.4_1
-libaddress_sorting.so.27 libgrpc-1.49.1_1
-libgpr.so.27 libgrpc-1.49.1_1
-libgrpc.so.27 libgrpc-1.49.1_1
-libgrpc_unsecure.so.27 libgrpc-1.49.1_1
-libupb.so.27 libgrpc-1.49.1_1
-libgrpc++.so.1.49 libgrpc-1.49.1_1
-libgrpc++_alts.so.1.49 libgrpc-1.49.1_1
-libgrpc++_error_details.so.1.49 libgrpc-1.49.1_1
-libgrpc++_reflection.so.1.49 libgrpc-1.49.1_1
-libgrpc++_unsecure.so.1.49 libgrpc-1.49.1_1
-libgrpc_plugin_support.so.1.49 libgrpc-1.49.1_1
-libgrpcpp_channelz.so.1.49 libgrpc-1.49.1_1
+libaddress_sorting.so.33 libgrpc-1.56.0_1
+libgpr.so.33 libgrpc-1.56.0_1
+libgrpc.so.33 libgrpc-1.56.0_1
+libgrpc_unsecure.so.33 libgrpc-1.56.0_1
+libupb.so.33 libgrpc-1.56.0_1
+libgrpc++.so.1.56 libgrpc-1.56.0_1
+libgrpc++_alts.so.1.56 libgrpc-1.56.0_1
+libgrpc++_error_details.so.1.56 libgrpc-1.56.0_1
+libgrpc++_reflection.so.1.56 libgrpc-1.56.0_1
+libgrpc++_unsecure.so.1.56 libgrpc-1.56.0_1
+libgrpc_plugin_support.so.1.56 libgrpc-1.56.0_1
+libgrpcpp_channelz.so.1.56 libgrpc-1.56.0_1
 libircclient.so.1 libircclient-1.10_5
 libFAudio.so.0 FAudio-19.05_1
 libqaccessibilityclient-qt5.so.0 libqaccessibilityclient-0.4.0_1
diff --git a/srcpkgs/grpc/patches/cmake.patch b/srcpkgs/grpc/patches/cmake.patch
new file mode 100644
index 000000000000..54d04e29837d
--- /dev/null
+++ b/srcpkgs/grpc/patches/cmake.patch
@@ -0,0 +1,20 @@
+--- a/cmake/gRPCConfig.cmake.in	2023-06-14 22:21:16.000000000 +0200
++++ -	2023-06-28 11:11:32.902678412 +0200
+@@ -1,5 +1,6 @@
+ # Module path
+ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/modules)
++include(CMakeFindDependencyMacro)
+ 
+ # Depend packages
+ @_gRPC_FIND_ZLIB@
+--- a/CMakeLists.txt	2023-07-11 08:54:22.009027477 +0200
++++ -	2023-07-11 08:54:38.950947984 +0200
+@@ -12375,6 +12375,8 @@
+   ${_gRPC_ZLIB_LIBRARIES}
+   ${_gRPC_ALLTARGETS_LIBRARIES}
+   grpc_plugin_support
++  absl::hash
++  absl::raw_hash_set
+ )
+ 
+ 
diff --git a/srcpkgs/grpc/patches/revert-find-protobuf.patch b/srcpkgs/grpc/patches/revert-find-protobuf.patch
new file mode 100644
index 000000000000..6001f37c6b1b
--- /dev/null
+++ b/srcpkgs/grpc/patches/revert-find-protobuf.patch
@@ -0,0 +1,23 @@
+Use the old cmake provided FindProtobuf() implementation for now.
+A future cmake update will remove this module, but use it for now until
+all packages are updated to the new system
+---
+--- a/cmake/protobuf.cmake	2023-06-14 22:21:16.000000000 +0200
++++ -	2023-07-10 21:05:41.114443796 +0200
+@@ -55,7 +55,7 @@
+     set(gRPC_INSTALL FALSE)
+   endif()
+ elseif(gRPC_PROTOBUF_PROVIDER STREQUAL "package")
+-  find_package(Protobuf REQUIRED CONFIG)
++  find_package(Protobuf REQUIRED)
+ 
+   if(Protobuf_FOUND OR PROTOBUF_FOUND)
+     if(TARGET protobuf::${_gRPC_PROTOBUF_LIBRARY_NAME})
+@@ -86,6 +86,6 @@
+         set(_gRPC_PROTOBUF_PROTOC_EXECUTABLE ${PROTOBUF_PROTOC_EXECUTABLE})
+       endif()
+     endif()
+-    set(_gRPC_FIND_PROTOBUF "find_dependency(Protobuf CONFIG)")
++    set(_gRPC_FIND_PROTOBUF "find_dependency(Protobuf)")
+   endif()
+ endif()
diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index f9d197a1c354..9c58c2509bee 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -1,14 +1,13 @@
 # Template file for 'grpc'
 pkgname=grpc
-version=1.49.1
-revision=3
+version=1.56.0
+revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON
  -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package
  -DgRPC_SSL_PROVIDER=package -DgRPC_ZLIB_PROVIDER=package
- -DgRPC_ABSL_PROVIDER=package -D_gRPC_RE2_LIBRARIES=-lre2
- -D_gRPC_RE2_INCLUDE_DIR=${XBPS_CROSS_BASE}/usr/include"
-hostmakedepends="which protobuf"
+ -DgRPC_ABSL_PROVIDER=package -DgRPC_RE2_PROVIDER=package"
+hostmakedepends="protobuf pkg-config"
 _devel_depends="c-ares-devel re2-devel zlib-devel openssl-devel abseil-cpp-devel"
 makedepends="libprotoc-devel protobuf-devel gperftools-devel ${_devel_depends}"
 short_desc="High performance, open source, general RPC framework"
@@ -16,11 +15,12 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://github.com/grpc/grpc"
 distfiles="${homepage}/archive/v${version}/${pkgname}-${version}.tar.gz"
-checksum=5071b630e2a14707ad060636990f1b25b0984bd168c7ea1ab95e48a3bdc0081f
+checksum=e034992a0b464042021f6d440f2090acc2422c103a322b0844e3921ccea981dc
 
 if [ "$CROSS_BUILD" ]; then
 	# need host grpc_cpp_plugin
 	hostmakedepends+=" grpc"
+	configure_args+=" -DProtobuf_PROTOC_EXECUTABLE=/usr/bin/protoc"
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
@@ -38,7 +38,8 @@ libgrpc_package() {
 
 grpc-devel_package() {
 	short_desc+=" - development files"
-	depends="${sourcepkg}>=${version}_${revision} ${_devel_depends}"
+	depends="${sourcepkg}>=${version}_${revision} ${_devel_depends}
+	 protobuf-devel"
 	pkg_install() {
 		vmove usr/include
 		vmove usr/lib/*.so

From fd6f274c9787248bb578985cef774295b84aa340 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:40:13 +0200
Subject: [PATCH 09/35] protobuf: update to 23.4.

- switch to cmake buildstyle
- grpc needs the .cmake files to find protobuf
- newer version of protobuf will drop autoconf
---
 common/shlibs             |  6 ++---
 srcpkgs/protobuf/template | 46 ++++++++++++++-------------------------
 2 files changed, 19 insertions(+), 33 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 5adfa4d6e69f..3cd47fb4f486 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3115,9 +3115,9 @@ libm17n-flt.so.0 m17n-lib-1.7.0_1
 libm17n-gui.so.0 m17n-lib-1.7.0_1
 libm17n-core.so.0 m17n-lib-1.7.0_1
 libm17n.so.0 m17n-lib-1.7.0_1
-libprotobuf-lite.so.32 libprotobuf-lite-21.4_1
-libprotoc.so.32 libprotoc-21.4_1
-libprotobuf.so.32 libprotobuf-21.4_1
+libprotobuf-lite.so.23.4.0 libprotobuf-lite-23.4_1
+libprotoc.so.23.4.0 libprotoc-23.4_1
+libprotobuf.so.23.4.0 libprotobuf-23.4_1
 libsombok.so.3 sombok-2.4.0_1
 libdeviceclient.so.0 pragha-1.3.3_1
 libykclient.so.3 ykclient-2.15_1
diff --git a/srcpkgs/protobuf/template b/srcpkgs/protobuf/template
index 571f06487c85..828c4b050fdc 100644
--- a/srcpkgs/protobuf/template
+++ b/srcpkgs/protobuf/template
@@ -1,22 +1,22 @@
 # Template file for 'protobuf'
 pkgname=protobuf
-version=21.12
+version=23.4
 revision=1
-create_wrksrc="yes"
-build_wrksrc="${pkgname}-${version}"
-build_style=gnu-configure
-hostmakedepends="pkg-config automake libtool"
-makedepends="zlib-devel"
+build_style=cmake
+configure_args="-Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_USE_EXTERNAL_GTEST=ON
+ -Dprotobuf_BUILD_LIBPROTOC=ON -Dprotobuf_ABSL_PROVIDER=package
+ -Dprotobuf_BUILD_TESTS=OFF"
+# XXX: Tests require that the abseil-cpp provides absl::scoped_mock_log
+hostmakedepends="pkg-config"
+makedepends="zlib-devel gtest-devel libatomic-devel
+ abseil-cpp-devel"
 short_desc="Protocol buffers compiler"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
 changelog="https://raw.githubusercontent.com/google/protobuf/master/CHANGES.txt"
-_googletest_commit="5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081"
-distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz
- https://github.com/google/googletest/archive/${_googletest_commit}.tar.gz"
-checksum="22fdaf641b31655d4b2297f9981fa5203b2866f8332d3c6333f6b0107bb320de
- 0e2f36e8e403c125fd0ab02171bdb786d3b6b3875b6ccf3b2eb7969be8faecd0"
+distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz"
+checksum=a700a49470d301f1190a487a923b5095bf60f08f4ae4cac9f5f7c36883d17971
 
 # Switch to versioned package
 conflicts="protobuf18>=0 protobuf23>=0 protobuf24>=0
@@ -26,24 +26,11 @@ replaces="${conflicts}"
 if [ "$CROSS_BUILD" ]; then
 	# needs host protoc
 	hostmakedepends+=" ${pkgname}"
-	configure_args+=" --with-protoc=/usr/bin/protoc"
+	configure_args+=" -Dprotobuf_PROTOC_EXE=/usr/bin/protoc"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-	LDFLAGS+=" -latomic"
-fi
-
-post_extract() {
-	rmdir "${build_wrksrc}/third_party/googletest"
-	mv "googletest-${_googletest_commit}" "${build_wrksrc}/third_party/googletest"
-}
-
-pre_configure() {
-	autoreconf -fi
-}
-
 post_install() {
+	rm -rf "${DESTDIR}/usr/lib/cmake"
 	vlicense LICENSE
 }
 
@@ -80,7 +67,6 @@ libprotoc-devel_package() {
 	 libprotoc26-devel>=0 libprotoc28-devel>=0"
 	replaces="${conflicts}"
 	pkg_install() {
-		vmove usr/lib/libprotoc.a
 		vmove usr/lib/libprotoc.so
 		vmove usr/include/google/protobuf/compiler
 	}
@@ -89,7 +75,8 @@ libprotoc-devel_package() {
 protobuf-devel_package() {
 	depends="zlib-devel
 	 libprotobuf-${version}_${revision}
-	 libprotobuf-lite-${version}_${revision}"
+	 libprotobuf-lite-${version}_${revision}
+	 abseil-cpp-devel"
 	short_desc="Protocol buffers C++ library - development files"
 	# Switch to versioned package
 	conflicts="protobuf18-devel>=0 protobuf23-devel>=0
@@ -98,10 +85,9 @@ protobuf-devel_package() {
 	replaces="${conflicts}"
 	pkg_install() {
 		vmove usr/include
-		vmove usr/lib/libprotobuf.a
-		vmove usr/lib/libprotobuf-lite.a
 		vmove usr/lib/libprotobuf.so
 		vmove usr/lib/libprotobuf-lite.so
 		vmove usr/lib/pkgconfig
+		vmove "usr/lib/*.a"
 	}
 }

From 2b147acfb4ca715ebaad0fe108d71f66dc27e84d Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 10/35] EternalTerminal: rebuild against protobuf-23.3_1

---
 srcpkgs/EternalTerminal/patches/limits.patch | 10 ++++++++++
 srcpkgs/EternalTerminal/template             |  2 +-
 2 files changed, 11 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/EternalTerminal/patches/limits.patch

diff --git a/srcpkgs/EternalTerminal/patches/limits.patch b/srcpkgs/EternalTerminal/patches/limits.patch
new file mode 100644
index 000000000000..9226bd45001a
--- /dev/null
+++ b/srcpkgs/EternalTerminal/patches/limits.patch
@@ -0,0 +1,10 @@
+--- a/EternalTerminal/external_imported/cxxopts/include/cxxopts.hpp	2022-05-05 17:20:44.000000000 +0200
++++ -	2023-07-10 20:07:25.607948589 +0200
+@@ -37,6 +37,7 @@
+ #include <unordered_map>
+ #include <unordered_set>
+ #include <vector>
++#include <limits>
+ 
+ #ifdef __cpp_lib_optional
+ #include <optional>
diff --git a/srcpkgs/EternalTerminal/template b/srcpkgs/EternalTerminal/template
index 1017a1b4a1ec..156eab6ce47e 100644
--- a/srcpkgs/EternalTerminal/template
+++ b/srcpkgs/EternalTerminal/template
@@ -1,7 +1,7 @@
 # Template file for 'EternalTerminal'
 pkgname=EternalTerminal
 version=6.2.1
-revision=1
+revision=2
 # revisions used for the specific versions of submodules.
 # they can be found in the external/ directory of the source code.
 _sanitizers_gitrev="99e159ec9bc8dd362b08d18436bd40ff0648417b"

From 5c9765de80058d60889fcfc3def190f7fa575ecd Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 11/35] vlc: rebuild against protobuf-23.3_1

---
 srcpkgs/vlc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vlc/template b/srcpkgs/vlc/template
index 210762b0a7e2..651c94a1353a 100644
--- a/srcpkgs/vlc/template
+++ b/srcpkgs/vlc/template
@@ -1,7 +1,7 @@
 # Template file for 'vlc'
 pkgname=vlc
 version=3.0.18
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--disable-gme --disable-libtar --enable-jack
  --enable-live555 --disable-fluidsynth --enable-dvdread

From f9fd3e7a2a6f0172fefb0d0fb183c28bc5203d4c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 12/35] mixxx: rebuild against protobuf-23.3_1

---
 srcpkgs/mixxx/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mixxx/template b/srcpkgs/mixxx/template
index 619ddca0d332..4b9ea00d3fb3 100644
--- a/srcpkgs/mixxx/template
+++ b/srcpkgs/mixxx/template
@@ -1,7 +1,7 @@
 # Template file for 'mixxx'
 pkgname=mixxx
 version=2.3.3
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="extra-cmake-modules pkg-config protobuf qt5-host-tools qt5-devel"

From ae8815afbd75646d2fa738eb175cc7dd5bc8299f Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 13/35] telegram-desktop: rebuild against protobuf-23.3_1

---
 srcpkgs/telegram-desktop/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/telegram-desktop/template b/srcpkgs/telegram-desktop/template
index f114b2341dc5..9db9f80c1a53 100644
--- a/srcpkgs/telegram-desktop/template
+++ b/srcpkgs/telegram-desktop/template
@@ -1,7 +1,7 @@
 # Template file for 'telegram-desktop'
 pkgname=telegram-desktop
 version=4.8.1
-revision=3
+revision=4
 build_style=cmake
 build_helper="qemu"
 configure_args="-DTDESKTOP_API_ID=209235

From 3f8e0448eef7df8ca7cd933ba0e7e4c778e04268 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:56 +0200
Subject: [PATCH 14/35] usbguard: rebuild against protobuf-23.3_1

---
 srcpkgs/usbguard/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/usbguard/template b/srcpkgs/usbguard/template
index 8625c80a7eda..df4411202568 100644
--- a/srcpkgs/usbguard/template
+++ b/srcpkgs/usbguard/template
@@ -1,7 +1,7 @@
 # Template file for 'usbguard'
 pkgname=usbguard
 version=1.1.2
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-crypto-library=sodium --with-bundled-catch --with-bundled-pegtl"
 conf_files="/etc/usbguard/*"

From 1cb39cfbb5acffeeefb06dfbea4459fca5b3e94a Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 15/35] nsjail: rebuild against protobuf-23.3_1

---
 srcpkgs/nsjail/patches/32bitint.patch    | 10 ++++++++
 srcpkgs/nsjail/patches/cpp17.patch       | 11 +++++++++
 srcpkgs/nsjail/patches/kafel-bison.patch | 30 ------------------------
 srcpkgs/nsjail/patches/ldflags.patch     | 11 +++++++++
 srcpkgs/nsjail/patches/log.patch         | 24 +++++++++++++++++++
 srcpkgs/nsjail/template                  | 13 +++++-----
 6 files changed, 63 insertions(+), 36 deletions(-)
 create mode 100644 srcpkgs/nsjail/patches/32bitint.patch
 create mode 100644 srcpkgs/nsjail/patches/cpp17.patch
 delete mode 100644 srcpkgs/nsjail/patches/kafel-bison.patch
 create mode 100644 srcpkgs/nsjail/patches/ldflags.patch
 create mode 100644 srcpkgs/nsjail/patches/log.patch

diff --git a/srcpkgs/nsjail/patches/32bitint.patch b/srcpkgs/nsjail/patches/32bitint.patch
new file mode 100644
index 000000000000..055caa909e36
--- /dev/null
+++ b/srcpkgs/nsjail/patches/32bitint.patch
@@ -0,0 +1,10 @@
+--- a/macros.h	2022-11-22 22:25:15.000000000 +0100
++++ -	2023-07-14 21:21:14.506361610 +0200
+@@ -65,6 +65,6 @@
+ #endif
+ 
+ #define NS_VALSTR_STRUCT(x) \
+-	{ (uint64_t) x, #x }
++	{ (long unsigned int) x, #x }
+ 
+ #endif /* NS_COMMON_H */
diff --git a/srcpkgs/nsjail/patches/cpp17.patch b/srcpkgs/nsjail/patches/cpp17.patch
new file mode 100644
index 000000000000..384ff7b51258
--- /dev/null
+++ b/srcpkgs/nsjail/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/Makefile	2022-11-22 22:25:15.000000000 +0100
++++ -	2023-07-08 16:35:16.308351723 +0200
+@@ -32,7 +32,7 @@
+ 	-Ikafel/include
+ 
+ CXXFLAGS += $(USER_DEFINES) $(COMMON_FLAGS) $(shell pkg-config --cflags protobuf) \
+-	-std=c++14 -fno-exceptions -Wno-unused -Wno-unused-parameter
++	-std=c++17 -fno-exceptions -Wno-unused -Wno-unused-parameter
+ LDFLAGS += -pie -Wl,-z,noexecstack -lpthread $(shell pkg-config --libs protobuf)
+ 
+ BIN = nsjail
diff --git a/srcpkgs/nsjail/patches/kafel-bison.patch b/srcpkgs/nsjail/patches/kafel-bison.patch
deleted file mode 100644
index 48eff0d36369..000000000000
--- a/srcpkgs/nsjail/patches/kafel-bison.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 32768d3cc8cecbc30d9020dbfa8d9ec541d057e4 Mon Sep 17 00:00:00 2001
-From: Evangelos Foutras <evangelos@foutrelis.com>
-Date: Wed, 17 Mar 2021 16:36:40 +0200
-Subject: [PATCH] Replace YYUSE call with void cast in src/parser.y
-
-The YYUSE macro was renamed to YY_USE in bison 3.7.5; we might as well
-avoid using it altogether and cast the unused variable to void instead.
-
-Fixes the following linker error:
-
-/usr/bin/ld: kafel/libkafel.a(libkafel.o): in function `kafel_yyerror':
-arm_syscalls.c:(.text+0x6984): undefined reference to `YYUSE'
----
- src/parser.y | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git kafel/src/parser.y kafel/src/parser.y
-index e0f109c..0e01373 100644
---- a/kafel/src/parser.y
-+++ b/kafel/src/parser.y
-@@ -420,8 +420,8 @@ const_def
- 
- void yyerror(YYLTYPE * loc, struct kafel_ctxt* ctxt, yyscan_t scanner,
-              const char *msg) {
-+  (void)scanner; /* suppress unused-parameter warning */
-   if (!ctxt->lexical_error) {
--    YYUSE(scanner);
-     if (loc->filename != NULL) {
-       append_error(ctxt, "%s:%d:%d: %s", loc->filename, loc->first_line, loc->first_column, msg);
-     } else {
diff --git a/srcpkgs/nsjail/patches/ldflags.patch b/srcpkgs/nsjail/patches/ldflags.patch
new file mode 100644
index 000000000000..c039ea09e237
--- /dev/null
+++ b/srcpkgs/nsjail/patches/ldflags.patch
@@ -0,0 +1,11 @@
+--- a/kafel/src/Makefile	2023-07-08 16:40:45.058218240 +0200
++++ -	2023-07-08 16:54:04.459715051 +0200
+@@ -56,7 +56,7 @@
+ 	$(CC) $(CFLAGS) -Wl,-soname,$@.${VERSION} -shared $^ -o $@
+ 
+ ${STATIC_TARGET}: ${OBJECTS}
+-	$(LD) $(LDFLAGS) -r ${OBJECTS} -o libkafel_r.o
++	$(LD) -r ${OBJECTS} -o libkafel_r.o
+ 	# Fix x86 PIC symbols
+ 	$(OBJDUMP) -t libkafel_r.o | grep '.hidden' | grep -v 'get_pc_thunk' | sed -e 's/^.*\.hidden //' > libkafel.localize_symbols
+ 	$(OBJCOPY) -w --localize-symbols=libkafel.localize_symbols libkafel_r.o libkafel.o
diff --git a/srcpkgs/nsjail/patches/log.patch b/srcpkgs/nsjail/patches/log.patch
new file mode 100644
index 000000000000..9e7f12368076
--- /dev/null
+++ b/srcpkgs/nsjail/patches/log.patch
@@ -0,0 +1,24 @@
+diff --git a/config.cc b/config.cc
+index 5242ba4..bbb2b6d 100644
+--- a/config.cc
++++ b/config.cc
+@@ -302,11 +302,6 @@ static bool configParseInternal(nsjconf_t* nsjconf, const nsjail::NsJailConfig&
+ 	return true;
+ }
+ 
+-static void LogHandler(
+-    google::protobuf::LogLevel level, const char* filename, int line, const std::string& message) {
+-	LOG_W("config.cc: '%s'", message.c_str());
+-}
+-
+ bool parseFile(nsjconf_t* nsjconf, const char* file) {
+ 	LOG_D("Parsing configuration from '%s'", file);
+ 
+@@ -316,7 +311,6 @@ bool parseFile(nsjconf_t* nsjconf, const char* file) {
+ 		return false;
+ 	}
+ 
+-	SetLogHandler(LogHandler);
+ 	google::protobuf::io::FileInputStream input(fd);
+ 	input.SetCloseOnDelete(true);
+ 
diff --git a/srcpkgs/nsjail/template b/srcpkgs/nsjail/template
index 346348fdf17b..5c5d0a508f38 100644
--- a/srcpkgs/nsjail/template
+++ b/srcpkgs/nsjail/template
@@ -1,7 +1,7 @@
 # Template file for 'nsjail'
 pkgname=nsjail
-version=3.0
-revision=9
+version=3.3
+revision=1
 create_wrksrc=yes
 build_style=gnu-makefile
 hostmakedepends="bison flex pkg-config protobuf which"
@@ -11,9 +11,9 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="http://nsjail.com"
 distfiles="https://github.com/google/nsjail/archive/${version}.tar.gz
- https://github.com/google/kafel/archive/8e69b8efae415cde3debffbb1e379d9e7a16835a.tar.gz"
-checksum="cfa66d3ed136b2e221752287b95e544915e8a6760aa866f023b604d14a374919
- 4a6c9a1a70ed99bbed767adc106081b017a3090307ea88cc7e329b82daa1373b"
+ https://github.com/google/kafel/archive/1af0975af45ca4404f357b9a4e1636f53a01bfd3.tar.gz"
+checksum="9c247d0cba565b4e3f91cc76e827ddf7f3ad499f54ba611edd25d4d7be4890c3
+ e8c195a2a08daa70c7712adae3eaa01656b039dcc8cc1e5e8210006716761ad5"
 
 archs="aarch64* armv5tel* armv6l* armv7l* x86_64*"
 
@@ -28,7 +28,8 @@ post_extract() {
 }
 
 post_patch() {
-	sed -i -e 's/-Werror\b//g' -e 's/\b\(\(C\(XX\)\?\|LD\)FLAGS\s*+=\)/override \1/g' Makefile kafel/build/Makefile.mk kafel/src/Makefile
+	vsed -e 's/-Werror\b//g' -i Makefile kafel/build/Makefile.mk
+	vsed -e 's/\b\(\(C\(XX\)\?\|LD\)FLAGS\s*+=\)/override \1/g' -i Makefile kafel/build/Makefile.mk kafel/src/Makefile
 }
 
 do_install() {

From 7be9745cf80a2b15ccf94ac92e9a264a4aaf480e Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 16/35] netdata: rebuild against protobuf-23.3_1

---
 srcpkgs/netdata/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 18dbe4394a4e..781120b3f275 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -1,7 +1,7 @@
 # Template file for 'netdata'
 pkgname=netdata
 version=1.37.1
-revision=1
+revision=2
 build_style=gnu-configure
 build_helper=qemu
 configure_args="--with-user=_netdata ac_cv_file_externaldeps_libbpf_libbpf_a=no

From ab97c6d7c3258be495b18c52b9a6f996455e618e Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 17/35] mumble: rebuild against protobuf-23.3_1

---
 srcpkgs/mumble/patches/absl.patch  | 20 ++++++++++++++++++++
 srcpkgs/mumble/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/mumble/patches/musl.patch  | 14 ++++++++++++++
 srcpkgs/mumble/template            |  2 +-
 4 files changed, 46 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/mumble/patches/absl.patch
 create mode 100644 srcpkgs/mumble/patches/cpp17.patch
 create mode 100644 srcpkgs/mumble/patches/musl.patch

diff --git a/srcpkgs/mumble/patches/absl.patch b/srcpkgs/mumble/patches/absl.patch
new file mode 100644
index 000000000000..b737fc40fdf9
--- /dev/null
+++ b/srcpkgs/mumble/patches/absl.patch
@@ -0,0 +1,20 @@
+--- a/src/murmur/CMakeLists.txt	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-07-14 17:23:13.145173297 +0200
+@@ -77,6 +77,7 @@
+ )
+ 
+ target_link_libraries(mumble-server PRIVATE shared Qt5::Sql)
++target_link_libraries(mumble-server PRIVATE shared absl_log_internal_message)
+ 
+ if(static)
+ 	# MariaDB and MySQL
+--- a/src/mumble/CMakeLists.txt	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-07-14 17:25:05.556023593 +0200
+@@ -472,6 +472,7 @@
+ 		Qt5::Sql
+ 		Qt5::Svg
+ 		Qt5::Widgets
++		absl_log_internal_message
+ )
+ 
+ if(static)
diff --git a/srcpkgs/mumble/patches/cpp17.patch b/srcpkgs/mumble/patches/cpp17.patch
new file mode 100644
index 000000000000..7cb9c9a93355
--- /dev/null
+++ b/srcpkgs/mumble/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- mumble-1.4.287/CMakeLists.txt	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-07-10 20:12:27.869019033 +0200
+@@ -35,7 +35,7 @@
+ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/3rdparty")
+ set(PLUGINS_DIR "${CMAKE_SOURCE_DIR}/plugins")
+ 
+-set(CMAKE_CXX_STANDARD 14)
++set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_OSX_DEPLOYMENT_TARGET 10.13)
+ 
+ list(APPEND CMAKE_MODULE_PATH
diff --git a/srcpkgs/mumble/patches/musl.patch b/srcpkgs/mumble/patches/musl.patch
new file mode 100644
index 000000000000..49d83a422b8e
--- /dev/null
+++ b/srcpkgs/mumble/patches/musl.patch
@@ -0,0 +1,14 @@
+Newer musl expands NULL to nullptr, which is not a bool.
+Either way, the check is always true with openssl 1.1+, so it can probably removed alltogether
+---
+--- mumble-1.4.287/src/SSL.cpp	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-02-07 22:18:16.093759105 +0100
+@@ -33,7 +34,7 @@
+ 	// If we detect that no locking callback is configured, we
+ 	// have to set it up ourselves to allow multi-threaded use
+ 	// of OpenSSL.
+-	if (!CRYPTO_get_locking_callback()) {
++	if (CRYPTO_get_locking_callback() == NULL) {
+ 		SSLLocks::initialize();
+ 	}
+ }
diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 35c2728c74ce..5c30d4ae64b4 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.4.287
-revision=3
+revision=4
 build_style=cmake
 make_cmd=make
 configure_args="-Doverlay-xcompile=OFF -Dbundled-opus=OFF

From 333255b962c9e5fa46117b101d41bdf3d964560d Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 18/35] mumble: rebuild against protobuf-23.3_1

---
 srcpkgs/mumble/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 5c30d4ae64b4..3dc669705365 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.4.287
-revision=4
+revision=5
 build_style=cmake
 make_cmd=make
 configure_args="-Doverlay-xcompile=OFF -Dbundled-opus=OFF

From 4f14516ee44613b19633115ef584a632d5a2356b Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 19/35] mozc: statically link against vendored prootbuf

protobuf 23+ links against abseil, which conflicts with the vendored
abseil version in mozc. The build system does not have a flag to use
system abseil.
---
 srcpkgs/mozc/template | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/mozc/template b/srcpkgs/mozc/template
index 3fdb986b3213..e7735cb57f4f 100644
--- a/srcpkgs/mozc/template
+++ b/srcpkgs/mozc/template
@@ -3,16 +3,17 @@ pkgname=mozc
 # src/data/version/mozc_version_template.bzl
 # revision is always 102, template always says 100 ;)
 version=2.28.4800.102
-revision=1
+revision=2
 _commit=056163a5fddbb261b258beb8444998e4882f0cc5
 _abseil=20211102.0
+_protobuf_commit=cc7b1b53234cd7a8f50d90ac3933b240dcf4cd97
 _gyp=0.1+20220404git9ecf45e
 _jpn_dict=e5b3425575734c323e1d947009dd74709437b684
 create_wrksrc=yes
 build_wrksrc=mozc/src
-hostmakedepends="gettext ninja pkg-config protobuf protobuf-devel
+hostmakedepends="gettext ninja pkg-config
  python3-six which qt5-qmake qt5-host-tools"
-makedepends="gtk+-devel ibus-devel libzinnia-devel protobuf-devel qt5-devel
+makedepends="gtk+-devel ibus-devel libzinnia-devel qt5-devel
  fcitx-devel libfcitx5-devel"
 depends="tegaki-zinnia-japanese>=0.3 mozc-base-${version}_${revision}"
 short_desc="Japanese IME (Open Source version of Google Japanese Input)"
@@ -22,11 +23,13 @@ homepage="https://github.com/google/mozc"
 distfiles="
  https://github.com/fcitx/mozc/archive/$_commit.tar.gz
  https://github.com/abseil/abseil-cpp/archive/refs/tags/$_abseil.tar.gz
+ https://github.com/protocolbuffers/protobuf/archive/$_protobuf_commit.tar.gz
  ${DEBIAN_SITE}/main/g/gyp/gyp_$_gyp.orig.tar.xz
  https://github.com/hiroyuki-komatsu/japanese-usage-dictionary/archive/$_jpn_dict.tar.gz
 "
 checksum="259d87bfd7535ad03bd554185677d7345a90166353a6db0b6a3606183ad2923d
  dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4
+ 863e27f6d24f40bce2bbfe5adcf365f2af5479ea917f254331ee60ce88f8c8a5
  0325006f012db66dfa27bf7bb048f3fe38f96e512ebe065930cbc70bcdc06bc9
  0b6efee0eebac2c1a8eeea333278aa40fcef7846bba9a379962c6e567e7e3dc1"
 
@@ -47,7 +50,8 @@ post_extract() {
 	# symlink "submodules" into place
 	for _src_dest in gyp \
 		abseil-cpp \
-		japanese-usage-dictionary:japanese_usage_dictionary
+		japanese-usage-dictionary:japanese_usage_dictionary \
+		protobuf
 	do
 		_src=${_src_dest%:*}
 		_dst=${_src_dest#*:}
@@ -61,7 +65,6 @@ do_configure() {
 	GYP_DEFINES="
 	 document_dir=/usr/share/licenses/${pkgname}
 	 ibus_mozc_path=/usr/libexec/ibus-engine-mozc
-	 use_libprotobuf=1
 	 use_libzinnia=1
 	 ${XBPS_TARGET_NO_ATOMIC8:+use_libatomic=1}
 	" python3 build_mozc.py gyp --target_platform=Linux

From 7acac95b3c28d81ae9f0528eb1138a1a812a9fb1 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 20/35] mosh: rebuild against protobuf-23.3_1

---
 srcpkgs/mosh/patches/cpp17.patch | 14 ++++++++++++++
 srcpkgs/mosh/template            |  5 +++--
 2 files changed, 17 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/mosh/patches/cpp17.patch

diff --git a/srcpkgs/mosh/patches/cpp17.patch b/srcpkgs/mosh/patches/cpp17.patch
new file mode 100644
index 000000000000..5463adc2718b
--- /dev/null
+++ b/srcpkgs/mosh/patches/cpp17.patch
@@ -0,0 +1,14 @@
+--- a/configure.ac	2022-10-27 05:29:47.000000000 +0200
++++ -	2023-07-08 13:19:05.270079012 +0200
+@@ -22,9 +22,9 @@
+ # automake 1.12 seems to require this, but automake 1.11 doesn't recognize it
+ m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+ 
+-# Protobuf 3.6+ requires C++11.
++# Protobuf 3.6+ requires C++11., 4.2.2 with abseil requires C++17
+ AS_IF([pkg-config --atleast-version 3.6.0 protobuf],
+-  [AX_CXX_COMPILE_STDCXX([11])])
++  [AX_CXX_COMPILE_STDCXX([17])])
+ 
+ WARNING_CXXFLAGS=""
+ PICKY_CXXFLAGS=""
diff --git a/srcpkgs/mosh/template b/srcpkgs/mosh/template
index 173ba14bcd47..d252a0c29755 100644
--- a/srcpkgs/mosh/template
+++ b/srcpkgs/mosh/template
@@ -1,9 +1,9 @@
 # Template file for 'mosh'
 pkgname=mosh
 version=1.4.0
-revision=3
+revision=4
 build_style=gnu-configure
-hostmakedepends="perl pkg-config protobuf"
+hostmakedepends="perl pkg-config protobuf autoconf automake"
 makedepends="ncurses-devel protobuf-devel libutempter-devel openssl-devel"
 depends="perl-IO-Tty"
 short_desc="Mobile shell, remote terminal application that allows roaming"
@@ -16,4 +16,5 @@ checksum=872e4b134e5df29c8933dff12350785054d2fd2839b5ae6b5587b14db1465ddd
 pre_configure() {
 	# make local.test always succeed. It fails due to missing X server in chroot.
 	printf "%s\n" "#!/bin/sh" ":" > src/tests/local.test
+	autoreconf -fi
 }

From 5b232e6cb7d8cf87631b244237d9b94004e72cc2 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 21/35] libcompizconfig: rebuild against protobuf-23.3_1

---
 srcpkgs/libcompizconfig/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libcompizconfig/template b/srcpkgs/libcompizconfig/template
index 5b59eda97c78..3fb33698bfa6 100644
--- a/srcpkgs/libcompizconfig/template
+++ b/srcpkgs/libcompizconfig/template
@@ -1,7 +1,7 @@
 # Template file for 'libcompizconfig'
 pkgname=libcompizconfig
 version=0.8.18
-revision=10
+revision=11
 build_style=gnu-configure
 configure_args="--disable-static"
 hostmakedepends="automake intltool libtool pkg-config protobuf"

From 3de066252a5437196c18be460f29d1cc1e72aa3a Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 22/35] libArcus: rebuild against protobuf-23.3_1

---
 srcpkgs/libArcus/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libArcus/template b/srcpkgs/libArcus/template
index d6fedecc5599..1cf1b866d650 100644
--- a/srcpkgs/libArcus/template
+++ b/srcpkgs/libArcus/template
@@ -1,7 +1,7 @@
 # Template file for 'libArcus'
 pkgname=libArcus
 version=4.13.1
-revision=4
+revision=5
 build_style=cmake
 configure_args="-DBUILD_EXAMPLES=OFF"
 hostmakedepends="protobuf python3-sip-devel"

From e64c3464b69514c0e0a2f6f6aac30b616ec2f31a Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 23/35] kismet: rebuild against protobuf-23.3_1

---
 srcpkgs/kismet/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/kismet/template b/srcpkgs/kismet/template
index 48a0fc5fa6f1..46cbf7b31811 100644
--- a/srcpkgs/kismet/template
+++ b/srcpkgs/kismet/template
@@ -1,7 +1,7 @@
 # Template file for 'kismet'
 pkgname=kismet
 version=2022.08.R1
-revision=2
+revision=3
 _realver="${version//./-}"
 build_style=gnu-configure
 configure_args="--disable-python-tools"

From 34f48b30de95c68dc12edc6f33655eb085c6d656 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 24/35] cura-engine: rebuild against protobuf-23.3_1

---
 srcpkgs/cura-engine/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cura-engine/template b/srcpkgs/cura-engine/template
index 4f3118d30252..1f23ddace749 100644
--- a/srcpkgs/cura-engine/template
+++ b/srcpkgs/cura-engine/template
@@ -1,7 +1,7 @@
 # Template file for 'cura-engine'
 pkgname=cura-engine
 version=4.13.1
-revision=3
+revision=4
 build_style=cmake
 configure_args="-DCURA_ENGINE_VERSION=${version}"
 hostmakedepends="protobuf git"

From bcb1bf4e9d9cbc9aeea86b55d3e2c7e592a26da6 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 25/35] clementine: rebuild against protobuf-23.3_1

---
 srcpkgs/clementine/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/clementine/template b/srcpkgs/clementine/template
index acd098124529..a1cacbb73d8e 100644
--- a/srcpkgs/clementine/template
+++ b/srcpkgs/clementine/template
@@ -1,11 +1,11 @@
 # Template file for 'clementine'
 pkgname=clementine
 version=1.4.0rc1
-revision=10
+revision=11
 _fullver=${version}-873-g3471134d5
 build_style=cmake
 configure_args="-DUSE_SYSTEM_TAGLIB=ON -DBUILD_WERROR=OFF -DUSE_SYSTEM_PROJECTM=ON
- -DFORCE_GIT_REVISION=${_fullver}"
+ -DFORCE_GIT_REVISION=${_fullver} -DCMAKE_CXX_STANDARD=17"
 hostmakedepends="gettext sparsehash pkg-config qt5-qmake qt5-host-tools protobuf"
 makedepends="chromaprint-devel boost-devel gst-plugins-base1-devel
  qt5-devel glew-devel sqlite-devel protobuf-devel libplist-devel

From 15a705f4e838a8effe062ebdbeec98fa07ee993f Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 26/35] bloaty: rebuild against protobuf-23.3_1

---
 srcpkgs/bloaty/patches/cpp17.patch         | 20 ++++++++
 srcpkgs/bloaty/patches/system-abseil.patch | 58 ++++++++++++++++++++++
 srcpkgs/bloaty/template                    |  2 +-
 3 files changed, 79 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/bloaty/patches/cpp17.patch
 create mode 100644 srcpkgs/bloaty/patches/system-abseil.patch

diff --git a/srcpkgs/bloaty/patches/cpp17.patch b/srcpkgs/bloaty/patches/cpp17.patch
new file mode 100644
index 000000000000..ca458dd79fb6
--- /dev/null
+++ b/srcpkgs/bloaty/patches/cpp17.patch
@@ -0,0 +1,20 @@
+--- bloaty-1.1/CMakeLists.txt	2020-05-24 06:43:55.000000000 +0200
++++ -	2023-07-08 12:51:24.115742363 +0200
+@@ -2,7 +2,7 @@
+ cmake_policy(SET CMP0048 NEW)
+ project (Bloaty VERSION 1.0)
+ project (Bloaty VERSION 1.1)
+-set(CMAKE_CXX_STANDARD 11)
++set(CMAKE_CXX_STANDARD 17)
+ 
+ # Options we define for users.
+ option(BLOATY_ENABLE_ASAN "Enable address sanitizer." OFF)
+@@ -93,7 +93,7 @@
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/src")
+ 
+ # Baseline build flags.
+-set(CMAKE_CXX_FLAGS "-std=c++11 -W -Wall -Wno-sign-compare")
++set(CMAKE_CXX_FLAGS "-W -Wall -Wno-sign-compare")
+ set(CMAKE_CXX_FLAGS_DEBUG "-g1")
+ set(CMAKE_CXX_FLAGS_RELEASE "-O2")
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g1")
diff --git a/srcpkgs/bloaty/patches/system-abseil.patch b/srcpkgs/bloaty/patches/system-abseil.patch
new file mode 100644
index 000000000000..799e10a3b540
--- /dev/null
+++ b/srcpkgs/bloaty/patches/system-abseil.patch
@@ -0,0 +1,58 @@
+--- bloaty-1.1/CMakeLists.txt	2020-05-24 06:43:55.000000000 +0200
++++ -	2023-07-08 13:07:06.559266321 +0200
+@@ -35,6 +35,12 @@
+   MESSAGE(STATUS "pkg-config not found, using bundled dependencies")
+ endif(${PKG_CONFIG_FOUND})
+ endif(UNIX)
++find_package(absl CONFIG)
++if(absl_FOUND)
++  MESSAGE(STATUS "System absl found, using")
++else()
++  MESSAGE(STATUS "System absl not found, using bundled version")
++endif()
+ 
+ # Set default build type.
+ if(NOT CMAKE_BUILD_TYPE)
+@@ -89,7 +95,6 @@
+ 
+ include_directories(.)
+ include_directories(src)
+-include_directories(third_party/abseil-cpp)
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/src")
+ 
+ # Baseline build flags.
+@@ -159,24 +164,6 @@
+     src/macho.cc
+     src/range_map.cc
+     src/webassembly.cc
+-    # Until Abseil has a proper CMake build system
+-    third_party/abseil-cpp/absl/base/internal/raw_logging.cc # Grrrr...
+-    third_party/abseil-cpp/absl/base/internal/throw_delegate.cc
+-    third_party/abseil-cpp/absl/numeric/int128.cc
+-    third_party/abseil-cpp/absl/strings/ascii.cc
+-    third_party/abseil-cpp/absl/strings/charconv.cc
+-    third_party/abseil-cpp/absl/strings/escaping.cc
+-    third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc
+-    third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc
+-    third_party/abseil-cpp/absl/strings/internal/memutil.cc
+-    third_party/abseil-cpp/absl/strings/internal/utf8.cc
+-    third_party/abseil-cpp/absl/strings/match.cc
+-    third_party/abseil-cpp/absl/strings/numbers.cc
+-    third_party/abseil-cpp/absl/strings/str_cat.cc
+-    third_party/abseil-cpp/absl/strings/string_view.cc
+-    third_party/abseil-cpp/absl/strings/str_split.cc
+-    third_party/abseil-cpp/absl/strings/substitute.cc
+-    third_party/abseil-cpp/absl/types/bad_optional_access.cc
+     # One source file, no special build system needed.
+     third_party/demumble/third_party/libcxxabi/cxa_demangle.cpp
+     )
+@@ -214,6 +201,9 @@
+   endif(${PROTOBUF_FOUND})
+ endif(UNIX)
+ 
++list(APPEND LIBBLOATY_LIBS absl::strings)
++list(APPEND LIBBLOATY_LIBS absl::optional)
++
+ if(DEFINED ENV{LIB_FUZZING_ENGINE})
+   message("LIB_FUZZING_ENGINE set, building fuzz_target instead of Bloaty")
+   add_executable(fuzz_target tests/fuzz_target.cc)
diff --git a/srcpkgs/bloaty/template b/srcpkgs/bloaty/template
index 226d2f30ffcd..2a79fb502f99 100644
--- a/srcpkgs/bloaty/template
+++ b/srcpkgs/bloaty/template
@@ -1,7 +1,7 @@
 # Template file for 'bloaty'
 pkgname=bloaty
 version=1.1
-revision=11
+revision=12
 build_style=cmake
 hostmakedepends="pkg-config protobuf"
 makedepends="capstone-devel protobuf-devel re2-devel zlib-devel"

From 66e5e1ac43c0635898ff113865e938c50d2ee578 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 27/35] astroid: rebuild against protobuf-23.3_1

---
 srcpkgs/astroid/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/astroid/template            |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/astroid/patches/cpp17.patch

diff --git a/srcpkgs/astroid/patches/cpp17.patch b/srcpkgs/astroid/patches/cpp17.patch
new file mode 100644
index 000000000000..9ac9a9f952e6
--- /dev/null
+++ b/srcpkgs/astroid/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- astroid-0.16/CMakeLists.txt	2021-08-05 15:31:11.000000000 +0200
++++ -	2023-07-03 21:53:30.304595787 +0200
+@@ -145,7 +145,7 @@
+ # compile flags and options
+ #
+ 
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ 
+ include_directories (
+   ${GTKMM3_INCLUDE_DIRS}
diff --git a/srcpkgs/astroid/template b/srcpkgs/astroid/template
index 25d3da44e024..8fd1c032be2c 100644
--- a/srcpkgs/astroid/template
+++ b/srcpkgs/astroid/template
@@ -1,7 +1,7 @@
 # Template file for 'astroid'
 pkgname=astroid
 version=0.16
-revision=8
+revision=9
 build_style=cmake
 build_helper=gir
 hostmakedepends="pkg-config scdoc protobuf gobject-introspection"

From 7590dceee2487d207c7ad42a98629f4492b27eb2 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 28/35] android-tools: rebuild against protobuf-23.3_1

---
 .../android-tools/patches/protobuf-23.patch   | 31 +++++++++++++++++++
 srcpkgs/android-tools/template                |  2 +-
 2 files changed, 32 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/android-tools/patches/protobuf-23.patch

diff --git a/srcpkgs/android-tools/patches/protobuf-23.patch b/srcpkgs/android-tools/patches/protobuf-23.patch
new file mode 100644
index 000000000000..21012126ea9a
--- /dev/null
+++ b/srcpkgs/android-tools/patches/protobuf-23.patch
@@ -0,0 +1,31 @@
+--- android-tools-34.0.1.orig/vendor/extras/libjsonpb/parse/jsonpb.cpp  2023-06-28 23:15:15.414236253 +0200
++++ android-tools-34.0.1/vendor/extras/libjsonpb/parse/jsonpb.cpp       2023-06-28 23:34:21.672962973 +0200
+@@ -51,7 +51,7 @@
+ #if GOOGLE_PROTOBUF_VERSION < 3016000
+     return MakeError<std::string>(status.error_message().as_string());
+ #else
+-    return MakeError<std::string>(status.message().as_string());
++    return MakeError<std::string>(std::string(status.message()));
+ #endif
+   }
+   return ErrorOr<std::string>(std::move(json));
+@@ -68,7 +68,7 @@
+ #if GOOGLE_PROTOBUF_VERSION < 3016000
+     return MakeError<std::monostate>(status.error_message().as_string());
+ #else
+-    return MakeError<std::monostate>(status.message().as_string());
++    return MakeError<std::monostate>(std::string(status.message()));
+ #endif
+   }
+   if (!message->ParseFromString(binary)) {
+--- a/vendor/CMakeLists.partition.txt	2023-03-03 17:18:50.000000000 +0100
++++ -	2023-07-10 23:06:19.290718502 +0200
+@@ -20,7 +20,7 @@
+ 
+ add_library(libjsonpbparse STATIC
+ 	extras/libjsonpb/parse/jsonpb.cpp)
+-target_link_libraries(libjsonpbparse PRIVATE libbase)
++target_link_libraries(libjsonpbparse PRIVATE libbase absl_status)
+ target_include_directories(libjsonpbparse PUBLIC
+ 	extras/libjsonpb/parse/include)
+ 
diff --git a/srcpkgs/android-tools/template b/srcpkgs/android-tools/template
index 329674482b69..b813474eace0 100644
--- a/srcpkgs/android-tools/template
+++ b/srcpkgs/android-tools/template
@@ -1,7 +1,7 @@
 # Template file for 'android-tools'
 pkgname=android-tools
 version=34.0.1
-revision=1
+revision=2
 archs="armv* aarch64* x86_64* i686* ppc64le*"
 build_style=cmake
 hostmakedepends="perl go protobuf pkg-config"

From 6d029b941937b9bdfe50432cb46b5ece9a9e1638 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:06:25 +0200
Subject: [PATCH 29/35] justbuild: rebuild against grpc-1.56.0_1

---
 srcpkgs/justbuild/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index ee36f6dae575..f933611d1283 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
 # Template file for 'justbuild'
 pkgname=justbuild
 version=1.1.2
-revision=2
+revision=3
 create_wrksrc=yes
 hostmakedepends="jo pandoc pkg-config python3 tar unzip wget"
 makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++

From c7cbc018ba4c1f0b67f6d439e36ec2f3cd75d316 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Wed, 28 Jun 2023 11:07:13 +0200
Subject: [PATCH 30/35] sysdig: update to 0.31.5.

---
 .../sysdig/files/libsinsp-absl-protobuf.patch |  11 +
 srcpkgs/sysdig/files/libsinsp-zstd.patch      |  22 +
 ...d9aab87801281e22898242e24e0bc63873b2.patch | 557 ++++++++++++++++++
 .../falcosecurity-libs-nodownload.patch       |  28 +
 srcpkgs/sysdig/template                       |  37 +-
 5 files changed, 639 insertions(+), 16 deletions(-)
 create mode 100644 srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch
 create mode 100644 srcpkgs/sysdig/files/libsinsp-zstd.patch
 create mode 100644 srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
 create mode 100644 srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch

diff --git a/srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch b/srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch
new file mode 100644
index 000000000000..387be65954e6
--- /dev/null
+++ b/srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch
@@ -0,0 +1,11 @@
+--- a/userspace/libsinsp/CMakeLists.txt	2023-06-05 10:25:32.000000000 +0200
++++ -	2023-07-11 09:03:42.496439385 +0200
+@@ -289,7 +289,7 @@
+ 	endif()
+ endif() # NOT WIN32
+ 
+-
++LIST(APPEND SINSP_LIBRARIES absl_log_internal_message absl_log_internal_nullguard)
+ target_link_libraries(sinsp ${SINSP_LIBRARIES})
+ 
+ if(APPLE)
diff --git a/srcpkgs/sysdig/files/libsinsp-zstd.patch b/srcpkgs/sysdig/files/libsinsp-zstd.patch
new file mode 100644
index 000000000000..e99e4f7c1207
--- /dev/null
+++ b/srcpkgs/sysdig/files/libsinsp-zstd.patch
@@ -0,0 +1,22 @@
+diff --git a/userspace/libsinsp/CMakeLists.txt b/userspace/libsinsp/CMakeLists.txt
+index 18e59b1..b23e890 100644
+--- a/userspace/libsinsp/CMakeLists.txt
++++ b/userspace/libsinsp/CMakeLists.txt
+@@ -38,6 +38,7 @@ include(ExternalProject)
+ 
+ if(NOT WIN32 AND NOT APPLE)
+ 	include(b64)
++	find_library(ZSTD_LIB NAMES zstd)
+ endif()
+ 
+ include(jsoncpp)
+@@ -246,7 +247,8 @@ if(NOT WIN32)
+ 				"${PROTOBUF_LIB}"
+ 				"${CARES_LIB}"
+ 				"${JQ_LIB}"
+-				"${B64_LIB}")
++				"${B64_LIB}"
++				"${ZSTD_LIB}")
+ 
+ 			if(NOT MUSL_OPTIMIZED_BUILD)
+ 				list(APPEND SINSP_LIBRARIES
diff --git a/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch b/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
new file mode 100644
index 000000000000..54c2ed8d0d98
--- /dev/null
+++ b/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
@@ -0,0 +1,557 @@
+From 3d22309a7317d500f75d053af6f9e5b5b5728b40 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 09:56:04 +0000
+Subject: [PATCH 1/6] update(cmake): bump driver to 5.0.0+driver
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ cmake/modules/driver.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/driver.cmake b/cmake/modules/driver.cmake
+index bee1926d3a..7fd35d7f99 100644
+--- a/cmake/modules/driver.cmake
++++ b/cmake/modules/driver.cmake
+@@ -31,8 +31,8 @@ else()
+   # In case you want to test against another driver version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DDRIVER_VERSION=dev ..`
+   if(NOT DRIVER_VERSION)
+-    set(DRIVER_VERSION "4.0.1+driver")
+-    set(DRIVER_CHECKSUM "SHA256=424d647aa6b6fa45b6701c4bbc9293c161ed00a08254d83eea419c0a736f280d")
++    set(DRIVER_VERSION "5.0.0+driver")
++    set(DRIVER_CHECKSUM "SHA256=c988ca7ac7d174f62d1bfbaaca49efd117f7b329f474d1b46b643635b2e35083")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+
+From 847e602404dcee85f06dde5a1d8ad0c740c49c98 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 09:56:08 +0000
+Subject: [PATCH 2/6] update(cmake): bump libs to 0.11.0-rc1
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ cmake/modules/falcosecurity-libs.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index b345c057ad..f30233b9e3 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -32,8 +32,8 @@ else()
+   # In case you want to test against another falcosecurity/libs version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DFALCOSECURITY_LIBS_VERSION=dev ..`
+   if(NOT FALCOSECURITY_LIBS_VERSION)
+-    set(FALCOSECURITY_LIBS_VERSION "0.10.5")
+-    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=2a4b37c08bec4ba81326314831f341385aff267062e8d4483437958689662936")
++    set(FALCOSECURITY_LIBS_VERSION "0.11.0-rc1")
++    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=bb6e57f66ae85dcda6e695226cd14082d9a1215902909cdde5b83f7abef44d8f")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+
+From 1d1dbaf06265d8eefd4038e8474f71f7958ec840 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 10:43:27 +0000
+Subject: [PATCH 3/6] fix(cmake): solve c++17 compilation issues
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ CMakeLists.txt                         |  3 +++
+ cmake/modules/falcosecurity-libs.cmake | 10 +++++-----
+ 2 files changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0309d66633..6d28c6c67d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -146,6 +146,9 @@ if(NOT DEFINED SYSDIG_COMPONENT_NAME)
+     set(SYSDIG_COMPONENT_NAME "${CMAKE_PROJECT_NAME}")
+ endif()
+ 
++set(CMAKE_CXX_STANDARD 17)
++set(CMAKE_CXX_EXTENSIONS OFF)
++
+ include(falcosecurity-libs)
+ include(yaml-cpp)
+ include(nlohmann-json)
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index f30233b9e3..fe5dacd7ad 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -94,12 +94,12 @@ else()
+ endif()
+ 
+ include(CheckCXXCompilerFlag)
+-CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX14)
+-if(CREATE_TEST_TARGETS AND NOT WIN32 AND COMPILER_SUPPORTS_CXX14)
+-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
++CHECK_CXX_COMPILER_FLAG("-std=c++17" COMPILER_SUPPORTS_CXX17)
++if(CREATE_TEST_TARGETS AND NOT WIN32 AND COMPILER_SUPPORTS_CXX17)
++	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ 	include(gtest)
+-elseif(CREATE_TEST_TARGETS AND NOT COMPILER_SUPPORTS_CXX14)
+-	message(FATAL_ERROR "Your compiler doesn't support c++14: cannot include gtest and create test targets.")
++elseif(CREATE_TEST_TARGETS AND NOT COMPILER_SUPPORTS_CXX17)
++	message(FATAL_ERROR "Your compiler doesn't support c++17: cannot include gtest and create test targets.")
+ endif()
+ 
+ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
+
+From d5fcbad2d5ea63e1439ab7174a5cfd9a7a2e1545 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 10:44:05 +0000
+Subject: [PATCH 4/6] update(userspace): sync sysdig and csysdig with latest
+ libs
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ userspace/sysdig/csysdig.cpp                |  6 +--
+ userspace/sysdig/sysdig.cpp                 |  9 +---
+ userspace/sysdig/utils/plugin_utils.cpp     | 37 ++++++++++-----
+ userspace/sysdig/utils/sinsp_opener.cpp     | 18 ++++----
+ userspace/sysdig/utils/supported_events.cpp | 50 +++++++++++----------
+ userspace/sysdig/utils/supported_fields.cpp | 15 +++----
+ 6 files changed, 70 insertions(+), 65 deletions(-)
+
+diff --git a/userspace/sysdig/csysdig.cpp b/userspace/sysdig/csysdig.cpp
+index 9419882341..edd8129a0e 100644
+--- a/userspace/sysdig/csysdig.cpp
++++ b/userspace/sysdig/csysdig.cpp
+@@ -39,11 +39,11 @@ limitations under the License.
+ #include "chisel.h"
+ #include "chisel_utils.h"
+ #endif
+-#include "fields_info.h"
+ #include "chisel_table.h"
+ #include "utils.h"
+ #include "utils/plugin_utils.h"
+ #include "utils/sinsp_opener.h"
++#include "utils/supported_fields.h"
+ 
+ #ifdef _WIN32
+ #include "win32/getopt.h"
+@@ -704,8 +704,8 @@ sysdig_init_res csysdig_init(int argc, char **argv)
+ 		//
+ 		if(list_flds)
+ 		{
+-			list_fields(false, false);
+-
++			// todo(jasondellaluce): support source selection, verbosity, markdown
++			print_supported_fields(inspector, plugins, "", true, false);
+ 			res.m_res = EXIT_SUCCESS;
+ 			goto exit;
+ 		}
+diff --git a/userspace/sysdig/sysdig.cpp b/userspace/sysdig/sysdig.cpp
+index 40f2b39ef9..a978070d73 100644
+--- a/userspace/sysdig/sysdig.cpp
++++ b/userspace/sysdig/sysdig.cpp
+@@ -43,7 +43,6 @@ limitations under the License.
+ #include "chisel_utils.h"
+ #include "chisel_fields_info.h"
+ #endif
+-#include "fields_info.h"
+ #include "utils.h"
+ #include "plugin.h"
+ #include "plugin_manager.h"
+@@ -455,8 +454,6 @@ void print_summary_table(sinsp* inspector,
+ 						 std::vector<summary_table_entry> &summary_table,
+ 						 uint32_t nentries)
+ {
+-	sinsp_evttables* einfo = inspector->get_event_info_tables();
+-
+ 	std::cout << "----------------------\n";
+ 	std::string tstr = std::string("Event");
+ 	tstr.resize(16, ' ');
+@@ -478,7 +475,7 @@ void print_summary_table(sinsp* inspector,
+ 
+ 		if(e.m_is_unsupported_syscall)
+ 		{
+-			tstr = einfo->m_syscall_info_table[e.m_id / 2].name;
++			tstr = scap_get_ppm_sc_name((ppm_sc_code) (e.m_id / 2));
+ 			tstr.resize(16, ' ');
+ 
+ 			printf("%s%s%" PRIu64 "\n",
+@@ -488,7 +485,7 @@ void print_summary_table(sinsp* inspector,
+ 		}
+ 		else
+ 		{
+-			tstr = einfo->m_event_info[e.m_id].name;
++			tstr = libsinsp::events::info((ppm_event_code) e.m_id)->name;
+ 			tstr.resize(16, ' ');
+ 
+ 			printf("%s%s%" PRIu64 "\n",
+@@ -1862,8 +1859,6 @@ sysdig_init_res sysdig_init(int argc, char **argv)
+ 					res.m_res = EXIT_FAILURE;
+ 					goto exit;
+ 				}
+-
+-				inspector->filter_proc_table_when_saving(true);
+ 			}
+ 			else
+ 			{
+diff --git a/userspace/sysdig/utils/plugin_utils.cpp b/userspace/sysdig/utils/plugin_utils.cpp
+index ad69543b3e..b99de98b66 100644
+--- a/userspace/sysdig/utils/plugin_utils.cpp
++++ b/userspace/sysdig/utils/plugin_utils.cpp
+@@ -146,6 +146,7 @@ void plugin_utils::plugin_entry::init(sinsp *inspector)
+     }
+     if (plugin->caps() & CAP_EXTRACTION)
+     {
++        // todo(jasondellaluce): manage field name conflicts
+         g_filterlist.add_filter_check(sinsp_plugin::new_filtercheck(plugin));
+     }
+     inited = true;
+@@ -185,13 +186,30 @@ void plugin_utils::plugin_entry::print_info(sinsp* inspector, std::ostringstream
+     os << "Capabilities: " << std::endl;
+     if(plugin->caps() & CAP_SOURCING)
+     {
+-        os << "  - Event Sourcing (ID=" << plugin->id();
+-        os << ", source='" << plugin->event_source() << "')" << std::endl;
++        os << "  - Event Sourcing";
++        if (plugin->id() != 0)
++        {
++            os << " (ID=" << plugin->id();
++            os << ", source='" << plugin->event_source() << "')";
++        }
++        else
++        {
++            os << " (system events)";
++        }
++        os << std::endl;
+     }
+     if(plugin->caps() & CAP_EXTRACTION)
+     {
+         os << "  - Field Extraction" << std::endl;
+     }
++    if(plugin->caps() & CAP_PARSING)
++    {
++        os << "  - Event Parsing" << std::endl;
++    }
++    if(plugin->caps() & CAP_ASYNC)
++    {
++        os << "  - Async Events" << std::endl;
++    }
+ }
+ 
+ void plugin_utils::add_dir(std::string dirname, bool front_add)
+@@ -609,7 +627,7 @@ std::vector<std::string> plugin_utils::get_event_sources(sinsp *inspector)
+         // the plugin, in case it was not registered already
+         pl.get_plugin(inspector);
+     }
+-    return inspector->get_plugin_manager()->sources();
++    return inspector->event_sources();
+ }
+ 
+ std::vector<std::unique_ptr<sinsp_filter_check>> plugin_utils::get_filterchecks(sinsp *inspector, const std::string& source)
+@@ -617,16 +635,13 @@ std::vector<std::unique_ptr<sinsp_filter_check>> plugin_utils::get_filterchecks(
+     std::vector<std::unique_ptr<sinsp_filter_check>> list;
+     list.push_back(std::unique_ptr<sinsp_filter_check>(inspector->new_generic_filtercheck()));
+ 
+-    // todo(jasondellaluce): remove this once we support extracting plugin fields from syscalls
+-    if (source != s_syscall_source)
++    for (auto &pl : m_plugins)
+     {
+-        for (auto &pl : m_plugins)
++        auto plugin = pl.get_plugin(inspector);
++        if (plugin->caps() & CAP_EXTRACTION
++            && sinsp_plugin::is_source_compatible(plugin->extract_event_sources(), source))
+         {
+-            auto plugin = pl.get_plugin(inspector);
+-            if (plugin->caps() & CAP_EXTRACTION && plugin->is_source_compatible(source))
+-            {
+-                list.push_back(std::unique_ptr<sinsp_filter_check>(sinsp_plugin::new_filtercheck(plugin)));
+-            }
++            list.push_back(std::unique_ptr<sinsp_filter_check>(sinsp_plugin::new_filtercheck(plugin)));
+         }
+     }
+     return list;
+diff --git a/userspace/sysdig/utils/sinsp_opener.cpp b/userspace/sysdig/utils/sinsp_opener.cpp
+index eafdb631d3..7315b99c7d 100644
+--- a/userspace/sysdig/utils/sinsp_opener.cpp
++++ b/userspace/sysdig/utils/sinsp_opener.cpp
+@@ -50,14 +50,12 @@ void sinsp_opener::open(sinsp* inspector) const
+ 
+ #if defined(HAS_CAPTURE)
+     /* Populate syscalls of interest */
+-    std::unordered_set<uint32_t> sc_of_interest = inspector->get_all_ppm_sc();
++    auto sc_of_interest = libsinsp::events::all_sc_set();
+ 
+-    /* Populate tracepoints of interest */
+-    std::unordered_set<uint32_t> tp_of_interest = inspector->get_all_tp();
+     if(!options.page_faults)
+     {
+-        tp_of_interest.erase(PAGE_FAULT_USER);
+-        tp_of_interest.erase(PAGE_FAULT_KERN);
++        sc_of_interest.remove(ppm_sc_code::PPM_SC_PAGE_FAULT_USER);
++        sc_of_interest.remove(ppm_sc_code::PPM_SC_PAGE_FAULT_KERNEL);
+     }
+ 
+     if(udig.enabled)
+@@ -77,7 +75,7 @@ void sinsp_opener::open(sinsp* inspector) const
+ #ifdef HAS_MODERN_BPF
+ 		if(bpf.modern)
+ 		{
+-			inspector->open_modern_bpf(DEFAULT_DRIVER_BUFFER_BYTES_DIM, bpf.cpus_for_each_syscall_buffer, true, sc_of_interest, tp_of_interest);
++			inspector->open_modern_bpf(DEFAULT_DRIVER_BUFFER_BYTES_DIM, bpf.cpus_for_each_syscall_buffer, true, sc_of_interest);
+ 			return;
+ 		}
+ #endif
+@@ -95,7 +93,7 @@ void sinsp_opener::open(sinsp* inspector) const
+ 
+         try
+         {
+-            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+         }
+         catch(const sinsp_exception& e)
+         {
+@@ -103,7 +101,7 @@ void sinsp_opener::open(sinsp* inspector) const
+             {
+                 fprintf(stderr, "Unable to load the BPF probe\n");
+             }
+-            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+         }
+ 
+         // Enable gathering the CPU from the kernel module
+@@ -114,7 +112,7 @@ void sinsp_opener::open(sinsp* inspector) const
+     // default to kernel module if no other option is specified
+     try
+     {
+-        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+     }
+     catch(const sinsp_exception& e)
+     {
+@@ -124,7 +122,7 @@ void sinsp_opener::open(sinsp* inspector) const
+         {
+             fprintf(stderr, "Unable to load the driver\n");
+         }
+-        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+     }
+ 
+     // Enable gathering the CPU from the kernel module
+diff --git a/userspace/sysdig/utils/supported_events.cpp b/userspace/sysdig/utils/supported_events.cpp
+index 1442911209..7f0d630011 100644
+--- a/userspace/sysdig/utils/supported_events.cpp
++++ b/userspace/sysdig/utils/supported_events.cpp
+@@ -27,25 +27,25 @@ struct event_entry
+ {
+     bool is_enter;
+     std::string name;
+-    struct ppm_event_info info;
++    const ppm_event_info* info;
+ };
+ 
+-static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include_generics)
++static std::vector<event_entry> get_event_entries(bool include_generics)
+ {
+     event_entry entry;
+     std::vector<event_entry> events;
+-    const struct ppm_event_info* etable = inspector->get_event_info_tables()->m_event_info;
+ 
+     // skip generic events
+-    for(uint32_t evt = PPME_GENERIC_X + 1; evt < PPM_EVENT_MAX; evt++)
++    for(const auto& evt : libsinsp::events::all_event_set())
+     {
+-        if (!sinsp::is_old_version_event(evt)
+-                && !sinsp::is_unused_event(evt)
+-                && !sinsp::is_unknown_event(evt))
++        if (!libsinsp::events::is_generic(evt)
++            && !libsinsp::events::is_old_version_event(evt)
++            && !libsinsp::events::is_unused_event(evt)
++            && !libsinsp::events::is_unknown_event(evt))
+         {
+             entry.is_enter = PPME_IS_ENTER(evt);
+-            entry.name = etable[evt].name;
+-            entry.info = etable[evt];
++            entry.info = libsinsp::events::info(evt);
++			entry.name = entry.info->name;
+             events.push_back(entry);
+         }
+     }
+@@ -53,17 +53,19 @@ static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include
+     if (include_generics)
+     {
+         // append generic events
+-        const auto generic_syscalls = inspector->get_events_names({PPME_GENERIC_E});
+-        for (const auto& name : generic_syscalls)
+-        {
+-            for(uint32_t evt = PPME_GENERIC_E; evt <= PPME_GENERIC_X; evt++)
+-            {
+-                entry.is_enter = PPME_IS_ENTER(evt);
+-                entry.name = name;
+-                entry.info = etable[evt];
+-                events.push_back(entry);
+-            }
+-        }
++		const auto names = libsinsp::events::event_set_to_names({ppm_event_code::PPME_GENERIC_E});
++		for (const auto& name : names)
++		{
++			entry.is_enter = PPME_IS_ENTER(ppm_event_code::PPME_GENERIC_E);
++			entry.info = libsinsp::events::info(ppm_event_code::PPME_GENERIC_E);
++			entry.name = name;
++			events.push_back(entry);
++
++			entry.is_enter = PPME_IS_ENTER(ppm_event_code::PPME_GENERIC_X);
++			entry.info = libsinsp::events::info(ppm_event_code::PPME_GENERIC_X);
++			entry.name = name;
++			events.push_back(entry);
++		}
+     }
+ 
+     return events;
+@@ -71,7 +73,7 @@ static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include
+ 
+ void print_supported_events(sinsp* inspector, bool markdown)
+ {
+-    const auto events = get_event_entries(inspector, true);
++    const auto events = get_event_entries(true);
+ 
+     if(markdown)
+     {
+@@ -91,15 +93,15 @@ void print_supported_events(sinsp* inspector, bool markdown)
+             printf("%c %s(", dir, e.name.c_str());
+         }
+ 
+-        for(uint32_t k = 0; k < e.info.nparams; k++)
++        for(uint32_t k = 0; k < e.info->nparams; k++)
+         {
+             if(k != 0)
+             {
+                 printf(", ");
+             }
+ 
+-            printf("%s %s", param_type_to_string(e.info.params[k].type),
+-                e.info.params[k].name);
++            printf("%s %s", param_type_to_string(e.info->params[k].type),
++                e.info->params[k].name);
+         }
+         printf(")\n");
+     }
+diff --git a/userspace/sysdig/utils/supported_fields.cpp b/userspace/sysdig/utils/supported_fields.cpp
+index 6e2575b030..3127fb7220 100644
+--- a/userspace/sysdig/utils/supported_fields.cpp
++++ b/userspace/sysdig/utils/supported_fields.cpp
+@@ -35,11 +35,9 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+ {
+     std::vector<fields_info> field_infos;
+     std::vector<std::unique_ptr<const sinsp_filter_check>> filtecheck_lists; // only used to retain memory until we finish
+-    std::vector<std::string> sources = { s_syscall_source };
++    std::vector<std::string> sources = plugins.get_event_sources(inspector);
+ 
+     // add event sources defined by the loaded plugins
+-    const auto& plugin_sources = plugins.get_event_sources(inspector);
+-    sources.insert(sources.end(), plugin_sources.begin(), plugin_sources.end());
+     if (!source.empty())
+     {
+         bool found = false;
+@@ -66,7 +64,6 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+         }
+ 
+         std::vector<const filter_check_info*> filterchecks;
+-        // todo(jasondellaluce): change this once we support extracting plugin fields from syscalls
+         if (src == s_syscall_source)
+         {
+             std::vector<const filter_check_info*> all_checks;
+@@ -81,13 +78,11 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+                 }
+             }
+         }
+-        else
++
++        for (auto& check: plugins.get_filterchecks(inspector, src))
+         {
+-            for (auto& check: plugins.get_filterchecks(inspector, src))
+-            {
+-                filterchecks.push_back(check->get_fields());
+-                filtecheck_lists.push_back(std::move(check));
+-            }
++            filterchecks.push_back(check->get_fields());
++            filtecheck_lists.push_back(std::move(check));
+         }
+         
+         const auto classes = sinsp_filter_factory::check_infos_to_fieldclass_infos(filterchecks);
+
+From c8b0d055aec4d2378b7934dd9436fd4500d1021e Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 14:15:23 +0000
+Subject: [PATCH 5/6] fix: solve compilation issues on windows
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ CMakeLists.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6d28c6c67d..5afd967f27 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -148,6 +148,9 @@ endif()
+ 
+ set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_CXX_EXTENSIONS OFF)
++if(MSVC OR WIN32)
++	add_compile_definitions(_HAS_STD_BYTE=0)
++endif()
+ 
+ include(falcosecurity-libs)
+ include(yaml-cpp)
+
+From 954e6fc6238f21d4870a491395d68a7dd3062aa9 Mon Sep 17 00:00:00 2001
+From: Roberto Scolaro <roberto.scolaro21@gmail.com>
+Date: Mon, 5 Jun 2023 10:34:03 +0000
+Subject: [PATCH 6/6] update(cmake): bump libs 0.11.0 + driver 5.0.1
+
+Signed-off-by: Roberto Scolaro <roberto.scolaro21@gmail.com>
+---
+ CMakeLists.txt                         | 2 +-
+ cmake/modules/driver.cmake             | 4 ++--
+ cmake/modules/falcosecurity-libs.cmake | 4 ++--
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5afd967f27..f3f23b5e9a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -90,7 +90,7 @@ if(NOT WIN32)
+ 	endif()
+ 
+ 	set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_COMMON_FLAGS}")
+-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++0x")
++	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++17")
+ 
+ 	set(CMAKE_C_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+ 	set(CMAKE_CXX_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+diff --git a/cmake/modules/driver.cmake b/cmake/modules/driver.cmake
+index 7fd35d7f99..ca1e56718c 100644
+--- a/cmake/modules/driver.cmake
++++ b/cmake/modules/driver.cmake
+@@ -31,8 +31,8 @@ else()
+   # In case you want to test against another driver version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DDRIVER_VERSION=dev ..`
+   if(NOT DRIVER_VERSION)
+-    set(DRIVER_VERSION "5.0.0+driver")
+-    set(DRIVER_CHECKSUM "SHA256=c988ca7ac7d174f62d1bfbaaca49efd117f7b329f474d1b46b643635b2e35083")
++    set(DRIVER_VERSION "5.0.1+driver")
++    set(DRIVER_CHECKSUM "SHA256=8b197b916b6419dac8fb41807aa05d822164c7bfd2c3eef66d20d060a05a485a")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index fe5dacd7ad..c626d7944e 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -32,8 +32,8 @@ else()
+   # In case you want to test against another falcosecurity/libs version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DFALCOSECURITY_LIBS_VERSION=dev ..`
+   if(NOT FALCOSECURITY_LIBS_VERSION)
+-    set(FALCOSECURITY_LIBS_VERSION "0.11.0-rc1")
+-    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=bb6e57f66ae85dcda6e695226cd14082d9a1215902909cdde5b83f7abef44d8f")
++    set(FALCOSECURITY_LIBS_VERSION "0.11.0")
++    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=90414d00591986e94f2c49e7d65eef5c2dedee266354dd3db8234bb3b06c86fa")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
diff --git a/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch b/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch
new file mode 100644
index 000000000000..467cffacba2f
--- /dev/null
+++ b/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch
@@ -0,0 +1,28 @@
+diff --git a/cmake/modules/driver-repo/CMakeLists.txt b/cmake/modules/driver-repo/CMakeLists.txt
+index 479611a..5238121 100644
+--- a/cmake/modules/driver-repo/CMakeLists.txt
++++ b/cmake/modules/driver-repo/CMakeLists.txt
+@@ -25,8 +25,7 @@ message(STATUS "Driver version: ${DRIVER_VERSION}")
+ 
+ ExternalProject_Add(
+   driver
+-  URL "https://github.com/falcosecurity/libs/archive/${DRIVER_VERSION}.tar.gz"
+-  URL_HASH "${DRIVER_CHECKSUM}"
++  URL "${CMAKE_CURRENT_SOURCE_DIR}/../../../../libs-${DRIVER_VERSION}"
+   CONFIGURE_COMMAND ""
+   BUILD_COMMAND ""
+   INSTALL_COMMAND ""
+diff --git a/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt b/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
+index 2059547..74e78e2 100644
+--- a/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
++++ b/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
+@@ -25,8 +25,7 @@ message(STATUS "Libs version: ${FALCOSECURITY_LIBS_VERSION}")
+ 
+ ExternalProject_Add(
+   falcosecurity-libs
+-  URL "https://github.com/falcosecurity/libs/archive/${FALCOSECURITY_LIBS_VERSION}.tar.gz"
+-  URL_HASH "${FALCOSECURITY_LIBS_CHECKSUM}"
++  URL "${CMAKE_CURRENT_SOURCE_DIR}/../../../../libs-${FALCOSECURITY_LIBS_VERSION}"
+   CONFIGURE_COMMAND ""
+   BUILD_COMMAND ""
+   INSTALL_COMMAND ""
diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index 4a04e762468c..f8537a0f8bd3 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,43 +1,48 @@
 # Template file for 'sysdig'
 pkgname=sysdig
-version=0.28.0
-revision=8
+version=0.31.5
+revision=1
+_falcover=0.11.0
 build_style=cmake
+build_wrksrc="sysdig-${version}"
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF
  -DLUA_INCLUDE_DIR=${XBPS_CROSS_BASE}/usr/include/luajit-2.1
- -DLUA_LIBRARY=/usr/lib/libluajit-5.1.so -DCREATE_TEST_TARGETS=OFF"
-make_cmd=make
+ -DLUA_LIBRARY=/usr/lib/libluajit-5.1.so -DCREATE_TEST_TARGETS=OFF
+ -DUSE_BUNDLED_TBB=OFF -DBUILD_LIBSCAP_EXAMPLES=OFF
+ -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_EXTENSIONS=OFF
+ -DDRIVER_VERSION=${_falcover}"
 hostmakedepends="wget pkg-config protobuf"
-makedepends="LuaJIT-devel c-ares-devel elfutils-devel grpc-devel jsoncpp-devel
+makedepends="LuaJIT-devel c-ares-devel elfutils-devel grpc-devel
  libcurl-devel libprotoc-devel openssl-devel ncurses-devel protobuf-devel
- tbb-devel zlib-devel"
+ tbb-devel zlib-devel yaml-cpp-devel json-c++"
 depends="dkms"
 short_desc="Open source system-level exploration and troubleshooting tool"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0, MIT, GPL-2.0-only"
 homepage="http://www.sysdig.org/"
 changelog="https://github.com/draios/sysdig/releases"
-distfiles="https://github.com/draios/${pkgname}/archive/${version}.tar.gz"
-checksum=817e595d501acf3fe11dc659a154aadbba848dd87ae801f5bf34a42e84979f37
-disable_parallel_build=yes
-dkms_modules="scap 2160111cd088aea9ae2235d3385ecb0b1ab6623c"
+distfiles="https://github.com/draios/sysdig/archive/${version}.tar.gz
+ https://github.com/falcosecurity/libs/archive/${_falcover}.tar.gz"
+checksum="9af98cae7c38273f7429ba0df628c9745bd92c949f444e180b9dd800af14c6dd
+ 90414d00591986e94f2c49e7d65eef5c2dedee266354dd3db8234bb3b06c86fa"
+dkms_modules="scap ${_falcover}"
 nocross=yes
+patch_args="-Np1 --directory=${build_wrksrc}"
 
 case "$XBPS_TARGET_MACHINE" in
-	*-musl) configure_args+=" -DMUSL_OPTIMIZED_BUILD=On"
+	i686*) broken="/syscall_table.c:567:10: error: '__NR_rt_tgsigqueueinfo'";;
+	*-musl) configure_args+=" -DMUSL_OPTIMIZED_BUILD=On";;
 esac
 
-export CMAKE_GENERATOR="Unix Makefiles"
-
 # Avoid excessive warnings spam to the log
 CXXFLAGS="-Wno-deprecated-declarations"
 
-CXXFLAGS+=" -I/usr/include/grpc_absl"
+post_patch() {
+	patch -d "${wrksrc}/libs-${_falcover}" -Np1 < "${FILESDIR}/libsinsp-zstd.patch"
+	patch -d "${wrksrc}/libs-${_falcover}" -Np1 < "${FILESDIR}/libsinsp-absl-protobuf.patch"
 
-post_extract() {
 	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
-	vsed -e 's|-std=c++0x||' -i CMakeLists.txt
 }
 
 post_install() {

From 65ff401cb65496d24d2b9438a99103de14d60575 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 2 Jul 2023 13:36:29 +0200
Subject: [PATCH 31/35] protobuf-c: rebuild against 23.3

---
 ...4f3fd85a205eb7c90b790477d5415364209e.patch |  44 +++
 srcpkgs/protobuf-c/patches/66a0b0d2.patch     | 308 ++++++++++++++++++
 srcpkgs/protobuf-c/template                   |   8 +-
 3 files changed, 358 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
 create mode 100644 srcpkgs/protobuf-c/patches/66a0b0d2.patch

diff --git a/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch b/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
new file mode 100644
index 000000000000..7d1e97032d32
--- /dev/null
+++ b/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
@@ -0,0 +1,44 @@
+From 66574f3fd85a205eb7c90b790477d5415364209e Mon Sep 17 00:00:00 2001
+From: Steve Peters <scpeters@openrobotics.org>
+Date: Sat, 24 Jun 2023 22:15:42 -0700
+Subject: [PATCH] Use FileDescriptorLegacy for deprecated syntax()
+
+---
+ protoc-c/c_file.cc   | 2 +-
+ protoc-c/c_helpers.h | 3 ++-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/protoc-c/c_file.cc b/protoc-c/c_file.cc
+index 59c1824e..4b60b889 100644
+--- a/protoc-c/c_file.cc
++++ b/protoc-c/c_file.cc
+@@ -119,7 +119,7 @@ void FileGenerator::GenerateHeader(io::Printer* printer) {
+ 
+   int min_header_version = 1000000;
+ #if defined(HAVE_PROTO3)
+-  if (file_->syntax() == FileDescriptor::SYNTAX_PROTO3) {
++  if (FileDescriptorLegacy(file_).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3) {
+     min_header_version = 1003000;
+   }
+ #endif
+diff --git a/protoc-c/c_helpers.h b/protoc-c/c_helpers.h
+index 7598a4e1..87deea24 100644
+--- a/protoc-c/c_helpers.h
++++ b/protoc-c/c_helpers.h
+@@ -67,6 +67,7 @@
+ #include <vector>
+ #include <sstream>
+ #include <google/protobuf/descriptor.h>
++#include <google/protobuf/descriptor_legacy.h>
+ #include <protobuf-c/protobuf-c.pb.h>
+ #include <google/protobuf/io/printer.h>
+ 
+@@ -172,7 +173,7 @@ int compare_name_indices_by_name(const void*, const void*);
+ // This wrapper is needed to be able to compile against protobuf2.
+ inline int FieldSyntax(const FieldDescriptor* field) {
+ #ifdef HAVE_PROTO3
+-  return field->file()->syntax() == FileDescriptor::SYNTAX_PROTO3 ? 3 : 2;
++  return FileDescriptorLegacy(field->file()).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3 ? 3 : 2;
+ #else
+   return 2;
+ #endif
diff --git a/srcpkgs/protobuf-c/patches/66a0b0d2.patch b/srcpkgs/protobuf-c/patches/66a0b0d2.patch
new file mode 100644
index 000000000000..790db6329120
--- /dev/null
+++ b/srcpkgs/protobuf-c/patches/66a0b0d2.patch
@@ -0,0 +1,308 @@
+From 66a0b0d205224f63f19dd8f96abf9dcdc2112331 Mon Sep 17 00:00:00 2001
+From: Xiangyu Chen <xiangyu.chen@windriver.com>
+Date: Wed, 29 Mar 2023 14:25:17 +0800
+Subject: [PATCH] add support of protobuf 4.22.x
+
+after upgrade the protobuf to 4.22.x, the protobuf-c cannot compile anymore (#544) due to following changes:
+1.protobuf using c++14, that cause the command_line_interface.h report error
+2.protobuf using abseil-cpp library instead the trace API with GOOGLE_ header
+3. removed GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
+---
+ Makefile.am                   | 2 +-
+ configure.ac                  | 8 ++++++++
+ protoc-c/c_bytes_field.h      | 1 -
+ protoc-c/c_enum.h             | 1 -
+ protoc-c/c_enum_field.h       | 1 -
+ protoc-c/c_extension.h        | 1 -
+ protoc-c/c_field.cc           | 2 +-
+ protoc-c/c_field.h            | 3 ---
+ protoc-c/c_file.h             | 1 -
+ protoc-c/c_generator.h        | 2 --
+ protoc-c/c_helpers.cc         | 4 ++--
+ protoc-c/c_message.cc         | 4 ++--
+ protoc-c/c_message.h          | 1 -
+ protoc-c/c_message_field.h    | 3 ---
+ protoc-c/c_primitive_field.cc | 6 +++---
+ protoc-c/c_primitive_field.h  | 3 ---
+ protoc-c/c_service.h          | 1 -
+ protoc-c/c_string_field.h     | 1 -
+ 18 files changed, 17 insertions(+), 28 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index c7339efe..3b0d1d66 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -20,7 +20,7 @@ AM_CPPFLAGS = \
+ 	-I${top_builddir} \
+ 	-I${top_srcdir}
+ AM_CFLAGS = ${my_CFLAGS}
+-AM_LDFLAGS =
++AM_LDFLAGS = ${ABSL_LOG_INTERNAL_CHECK_OP_LIBS} ${ABSL_LOG_RAW_HASH_SET_LIBS}
+ 
+ # code coverage
+ 
+diff --git a/configure.ac b/configure.ac
+index f5a0261e..8ed549ac 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -78,6 +78,14 @@ if test "x$enable_protoc" != "xno"; then
+ 
+   AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
+ 
++# now checking 4.22.x protobuf, if so, set cxx as 17
++  AS_IF([pkg-config --atleast-version 4.22.0 protobuf],[AX_CXX_COMPILE_STDCXX(17, noext, mandatory)])
++
++  AS_IF([pkg-config --atleast-version 4.22.0 protobuf],
++    [PKG_CHECK_MODULES([ABSL_LOG_INTERNAL_CHECK_OP], [absl_log_internal_check_op],
++       [PKG_CHECK_MODULES([ABSL_LOG_RAW_HASH_SET], [absl_raw_hash_set], [], [AC_MSG_ERROR([Missing absl_raw_hash_set library.])])],
++       [AC_MSG_ERROR([Missing absl_log_internal_check_op library.])])])
++
+   PKG_CHECK_MODULES([protobuf], [protobuf >= 3.0.0],
+     [proto3_supported=yes],
+     [PKG_CHECK_MODULES([protobuf], [protobuf >= 2.6.0])]
+diff --git a/protoc-c/c_bytes_field.h b/protoc-c/c_bytes_field.h
+index bf873f0f..8fc63d35 100644
+--- a/protoc-c/c_bytes_field.h
++++ b/protoc-c/c_bytes_field.h
+@@ -88,7 +88,6 @@ class BytesFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(BytesFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_enum.h b/protoc-c/c_enum.h
+index 9c34b697..d5e58f0a 100644
+--- a/protoc-c/c_enum.h
++++ b/protoc-c/c_enum.h
+@@ -107,7 +107,6 @@ class EnumGenerator {
+   const EnumDescriptor* descriptor_;
+   std::string dllexport_decl_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_enum_field.h b/protoc-c/c_enum_field.h
+index 3f8c005d..03eb4028 100644
+--- a/protoc-c/c_enum_field.h
++++ b/protoc-c/c_enum_field.h
+@@ -86,7 +86,6 @@ class EnumFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_extension.h b/protoc-c/c_extension.h
+index 95413885..9c5797d6 100644
+--- a/protoc-c/c_extension.h
++++ b/protoc-c/c_extension.h
+@@ -99,7 +99,6 @@ class ExtensionGenerator {
+   std::string type_traits_;
+   std::string dllexport_decl_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ExtensionGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_field.cc b/protoc-c/c_field.cc
+index 0716744a..4abdc6d3 100644
+--- a/protoc-c/c_field.cc
++++ b/protoc-c/c_field.cc
+@@ -231,7 +231,7 @@ FieldGeneratorMap::~FieldGeneratorMap() {}
+ 
+ const FieldGenerator& FieldGeneratorMap::get(
+     const FieldDescriptor* field) const {
+-  GOOGLE_CHECK_EQ(field->containing_type(), descriptor_);
++  ABSL_CHECK_EQ(field->containing_type(), descriptor_);
+   return *field_generators_[field->index()];
+ }
+ 
+diff --git a/protoc-c/c_field.h b/protoc-c/c_field.h
+index 3cad35d3..76d3b0bc 100644
+--- a/protoc-c/c_field.h
++++ b/protoc-c/c_field.h
+@@ -104,8 +104,6 @@ class FieldGenerator {
+                                             const std::string &descriptor_addr) const;
+   const FieldDescriptor *descriptor_;
+ 
+- private:
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGenerator);
+ };
+ 
+ // Convenience class which constructs FieldGenerators for a Descriptor.
+@@ -122,7 +120,6 @@ class FieldGeneratorMap {
+ 
+   static FieldGenerator* MakeGenerator(const FieldDescriptor* field);
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGeneratorMap);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_file.h b/protoc-c/c_file.h
+index 8dfd8ba0..ec55906e 100644
+--- a/protoc-c/c_file.h
++++ b/protoc-c/c_file.h
+@@ -104,7 +104,6 @@ class FileGenerator {
+   std::unique_ptr<std::unique_ptr<ServiceGenerator>[]> service_generators_;
+   std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FileGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_generator.h b/protoc-c/c_generator.h
+index ac1ffafe..92601164 100644
+--- a/protoc-c/c_generator.h
++++ b/protoc-c/c_generator.h
+@@ -94,8 +94,6 @@ class PROTOC_C_EXPORT CGenerator : public CodeGenerator {
+                 OutputDirectory* output_directory,
+                 std::string* error) const;
+ 
+- private:
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(CGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_helpers.cc b/protoc-c/c_helpers.cc
+index 6fd0cd3a..1eaeeb42 100644
+--- a/protoc-c/c_helpers.cc
++++ b/protoc-c/c_helpers.cc
+@@ -286,7 +286,7 @@ const char* const kKeywordList[] = {
+ 
+ std::set<std::string> MakeKeywordsMap() {
+   std::set<std::string> result;
+-  for (int i = 0; i < GOOGLE_ARRAYSIZE(kKeywordList); i++) {
++  for (int i = 0; i < ABSL_ARRAYSIZE(kKeywordList); i++) {
+     result.insert(kKeywordList[i]);
+   }
+   return result;
+@@ -548,7 +548,7 @@ std::string CEscape(const std::string& src) {
+   std::unique_ptr<char[]> dest(new char[dest_length]);
+   const int len = CEscapeInternal(src.data(), src.size(),
+                                   dest.get(), dest_length, false);
+-  GOOGLE_DCHECK_GE(len, 0);
++  ABSL_DCHECK_GE(len, 0);
+   return std::string(dest.get(), len);
+ }
+ 
+diff --git a/protoc-c/c_message.cc b/protoc-c/c_message.cc
+index 37e8bf8b..c7e85155 100755
+--- a/protoc-c/c_message.cc
++++ b/protoc-c/c_message.cc
+@@ -499,7 +499,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ 	  // NOTE: not supported by protobuf
+ 	  vars["maybe_static"] = "";
+ 	  vars["field_dv_ctype"] = "{ ... }";
+-	  GOOGLE_LOG(DFATAL) << "Messages can't have default values!";
++	  ABSL_LOG(FATAL) << "Messages can't have default values!";
+ 	  break;
+ 	case FieldDescriptor::CPPTYPE_STRING:
+ 	  if (fd->type() == FieldDescriptor::TYPE_BYTES || opt.string_as_bytes())
+@@ -521,7 +521,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ 	    break;
+ 	  }
+ 	default:
+-	  GOOGLE_LOG(DFATAL) << "Unknown CPPTYPE";
++	  ABSL_LOG(FATAL) << "Unknown CPPTYPE";
+ 	  break;
+ 	}
+ 	if (!already_defined)
+diff --git a/protoc-c/c_message.h b/protoc-c/c_message.h
+index ea1c3ab3..e90782bf 100644
+--- a/protoc-c/c_message.h
++++ b/protoc-c/c_message.h
+@@ -137,7 +137,6 @@ class MessageGenerator {
+   std::unique_ptr<std::unique_ptr<EnumGenerator>[]> enum_generators_;
+   std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_message_field.h b/protoc-c/c_message_field.h
+index 39b8d999..42efe368 100644
+--- a/protoc-c/c_message_field.h
++++ b/protoc-c/c_message_field.h
+@@ -83,9 +83,6 @@ class MessageFieldGenerator : public FieldGenerator {
+   std::string GetDefaultValue(void) const;
+   void GenerateStaticInit(io::Printer* printer) const;
+ 
+- private:
+-
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_primitive_field.cc b/protoc-c/c_primitive_field.cc
+index 6990893f..d5a7b60c 100644
+--- a/protoc-c/c_primitive_field.cc
++++ b/protoc-c/c_primitive_field.cc
+@@ -99,7 +99,7 @@ void PrimitiveFieldGenerator::GenerateStructMembers(io::Printer* printer) const
+     case FieldDescriptor::TYPE_STRING  :
+     case FieldDescriptor::TYPE_BYTES   :
+     case FieldDescriptor::TYPE_GROUP   :
+-    case FieldDescriptor::TYPE_MESSAGE : GOOGLE_LOG(FATAL) << "not a primitive type"; break;
++    case FieldDescriptor::TYPE_MESSAGE : ABSL_LOG(FATAL) << "not a primitive type"; break;
+ 
+     // No default because we want the compiler to complain if any new
+     // types are added.
+@@ -143,7 +143,7 @@ std::string PrimitiveFieldGenerator::GetDefaultValue() const
+     case FieldDescriptor::CPPTYPE_BOOL:
+       return descriptor_->default_value_bool() ? "1" : "0";
+     default:
+-      GOOGLE_LOG(DFATAL) << "unexpected CPPTYPE in c_primitive_field";
++      ABSL_LOG(FATAL) << "unexpected CPPTYPE in c_primitive_field";
+       return "UNEXPECTED_CPPTYPE";
+   }
+ }
+@@ -197,7 +197,7 @@ void PrimitiveFieldGenerator::GenerateDescriptorInitializer(io::Printer* printer
+     case FieldDescriptor::TYPE_STRING  :
+     case FieldDescriptor::TYPE_BYTES   :
+     case FieldDescriptor::TYPE_GROUP   :
+-    case FieldDescriptor::TYPE_MESSAGE : GOOGLE_LOG(FATAL) << "not a primitive type"; break;
++    case FieldDescriptor::TYPE_MESSAGE : ABSL_LOG(FATAL) << "not a primitive type"; break;
+ 
+     // No default because we want the compiler to complain if any new
+     // types are added.
+diff --git a/protoc-c/c_primitive_field.h b/protoc-c/c_primitive_field.h
+index a9eb893b..d2bb7243 100644
+--- a/protoc-c/c_primitive_field.h
++++ b/protoc-c/c_primitive_field.h
+@@ -83,9 +83,6 @@ class PrimitiveFieldGenerator : public FieldGenerator {
+   std::string GetDefaultValue(void) const;
+   void GenerateStaticInit(io::Printer* printer) const;
+ 
+- private:
+-
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(PrimitiveFieldGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_service.h b/protoc-c/c_service.h
+index 27125a60..4737ff3b 100644
+--- a/protoc-c/c_service.h
++++ b/protoc-c/c_service.h
+@@ -101,7 +101,6 @@ class ServiceGenerator {
+   const ServiceDescriptor* descriptor_;
+   std::map<std::string, std::string> vars_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ServiceGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_string_field.h b/protoc-c/c_string_field.h
+index 513cea75..ba258e44 100644
+--- a/protoc-c/c_string_field.h
++++ b/protoc-c/c_string_field.h
+@@ -88,7 +88,6 @@ class StringFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(StringFieldGenerator);
+ };
+ 
+ 
diff --git a/srcpkgs/protobuf-c/template b/srcpkgs/protobuf-c/template
index 7d1b529d8936..e703b138152d 100644
--- a/srcpkgs/protobuf-c/template
+++ b/srcpkgs/protobuf-c/template
@@ -1,10 +1,10 @@
 # Template file for 'protobuf-c'
 pkgname=protobuf-c
 version=1.4.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="$(vopt_enable protoc)"
-hostmakedepends="pkg-config protobuf protobuf-devel"
+hostmakedepends="pkg-config protobuf protobuf-devel automake libtool"
 makedepends="protobuf-devel boost-devel $(vopt_if protoc libprotoc-devel)"
 short_desc="C implementation of the Google Protocol Buffers"
 maintainer="Enno Boland <gottox@voidlinux.org>"
@@ -17,6 +17,10 @@ build_options="protoc"
 build_options_default="protoc"
 desc_option_protoc="Build protoc-c compiler"
 
+pre_configure() {
+	autoreconf -if
+}
+
 post_install() {
 	vlicense LICENSE
 }

From 4f1e508a8b75483866b81a9e483b295b87341c0d Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 2 Jul 2023 21:07:55 +0200
Subject: [PATCH 32/35] netdata: update to 1.40.1.

---
 srcpkgs/netdata/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/netdata/template            | 13 +++++++++----
 2 files changed, 20 insertions(+), 4 deletions(-)
 create mode 100644 srcpkgs/netdata/patches/cpp17.patch

diff --git a/srcpkgs/netdata/patches/cpp17.patch b/srcpkgs/netdata/patches/cpp17.patch
new file mode 100644
index 000000000000..b197ccd57bd9
--- /dev/null
+++ b/srcpkgs/netdata/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac	2023-06-27 16:25:03.364605041 +0200
++++ -	2023-07-02 21:27:31.113408278 +0200
+@@ -237,7 +237,7 @@
+ # C++ version check
+ 
+ # Check for C++17 support (optional)
+-# AX_CXX_COMPILE_STDCXX(17, noext, optional)
++AX_CXX_COMPILE_STDCXX(17, noext, optional)
+ 
+ if test "x$HAVE_CXX17" != "x1"; then
+   # Check for C++11 support (optional)
diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 781120b3f275..176bcf26d8c5 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -1,14 +1,14 @@
 # Template file for 'netdata'
 pkgname=netdata
-version=1.37.1
-revision=2
+version=1.40.1
+revision=1
 build_style=gnu-configure
 build_helper=qemu
 configure_args="--with-user=_netdata ac_cv_file_externaldeps_libbpf_libbpf_a=no
  $(vopt_if cloud --enable-cloud --disable-cloud) $(vopt_if ipmi --enable-plugin-freeipmi)
  $(vopt_if xen --enable-plugin-xenstat) $(vopt_if cups --enable-plugin-cups)"
 hostmakedepends="pkg-config autoconf automake $(vopt_if cloud "protobuf protobuf-devel")"
-makedepends="json-c-devel libcap-devel liblz4-devel libmnl-devel
+makedepends="json-c-devel libcap-devel liblz4-devel libmnl-devel libyaml-devel
  libnetfilter_acct-devel openssl-devel libuuid-devel libuv-devel zlib-devel
  snappy-devel $(vopt_if cloud protobuf-devel) $(vopt_if ipmi freeipmi-devel)
  $(vopt_if xen "xen-devel yajl-devel") $(vopt_if cups cups-devel)"
@@ -18,7 +18,7 @@ maintainer="Michael Aldridge <maldridge@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://www.netdata.cloud/"
 distfiles="https://github.com/netdata/netdata/releases/download/v${version}/netdata-v${version}.tar.gz"
-checksum=2caa042d43ca61007a61294a5ececa037d83a1973bd38032233760341eb1706b
+checksum=cc86172acd5e6ec05bc0fa86a50d967502a264d8adf7f79293923ccd8febb251
 python_version=3
 make_dirs="
  /var/lib/netdata          0755 _netdata _netdata
@@ -43,6 +43,11 @@ if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 fi
 
 pre_configure() {
+	vsed -e 's/#define info(/#define netdata_log_info(/g' -i libnetdata/log/log.h
+	vsed -e 's/^\([ ]*\)info[ ]*(/\1netdata_log_info(/g' -i $(grep -rl '^[ ]*info *(' ./)
+	vsed -e 's/^\([ ]*\)else info(/\1else netdata_log_info(/g' -i $(grep -rl '^[ ]*else info(' ./)
+	vsed -e 's/^\([ ]*\)if(\([^)]*\))[ ]*info(/\1if(\2) netdata_log_info(/g' -i $(grep -rl '^[ ]*if([^)]*)[ ]*info(' ./)
+
 	if [ "$CROSS_BUILD" ]; then
 		sed -i "s|	\$(builddir)/judyltablesgen\$(EXEEXT)|	qemu-${XBPS_TARGET_QEMU_MACHINE}-static \$(builddir)/judyltablesgen\$(EXEEXT)|g" Makefile.am
 	fi

From 31ce5fed493204c612422ee410ea28453f2a8d99 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 8 Jul 2023 12:47:51 +0200
Subject: [PATCH 33/35] strawberry: rebuild against protobuf-23.3_1

---
 srcpkgs/strawberry/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/strawberry/template b/srcpkgs/strawberry/template
index b42efa1b89b2..91f2e07a0ec0 100644
--- a/srcpkgs/strawberry/template
+++ b/srcpkgs/strawberry/template
@@ -1,7 +1,7 @@
 # Template file for 'strawberry'
 pkgname=strawberry
 version=1.0.17
-revision=2
+revision=3
 build_style=cmake
 hostmakedepends="pkg-config protobuf gettext"
 makedepends="alsa-lib-devel boost-devel gnutls-devel fftw-devel

From c791cf9b69fe1e5e718acd4785f9ea8dfe54b6d5 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 8 Jul 2023 12:47:51 +0200
Subject: [PATCH 34/35] libphonenumber: rebuild against protobuf-23.3_1

---
 srcpkgs/libphonenumber/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libphonenumber/template b/srcpkgs/libphonenumber/template
index f554714b3c7a..058939459f6a 100644
--- a/srcpkgs/libphonenumber/template
+++ b/srcpkgs/libphonenumber/template
@@ -1,7 +1,7 @@
 # Template file for 'libphonenumber'
 pkgname=libphonenumber
 version=8.12.39
-revision=12
+revision=13
 build_wrksrc=cpp
 build_style=cmake
 build_helper=qemu

From 58ac042e6136d4570ca7e94b61641e1d69c51e7d Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 14 Jul 2023 15:44:21 +0200
Subject: [PATCH 35/35] python3-protobuf: update to 4.23.4.

---
 srcpkgs/python3-protobuf/patches/cpp17.patch  |  11 ++
 .../patches/python-3.11.patch                 | 132 ------------------
 srcpkgs/python3-protobuf/template             |  10 +-
 3 files changed, 17 insertions(+), 136 deletions(-)
 create mode 100644 srcpkgs/python3-protobuf/patches/cpp17.patch
 delete mode 100644 srcpkgs/python3-protobuf/patches/python-3.11.patch

diff --git a/srcpkgs/python3-protobuf/patches/cpp17.patch b/srcpkgs/python3-protobuf/patches/cpp17.patch
new file mode 100644
index 000000000000..97b81e1bfa5a
--- /dev/null
+++ b/srcpkgs/python3-protobuf/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/python/setup.py	2023-07-05 23:53:30.000000000 +0200
++++ -	2023-07-14 16:19:35.949677747 +0200
+@@ -370,7 +370,7 @@
+       extra_compile_args.append('-Wno-invalid-offsetof')
+       extra_compile_args.append('-Wno-sign-compare')
+       extra_compile_args.append('-Wno-unused-variable')
+-      extra_compile_args.append('-std=c++14')
++      extra_compile_args.append('-std=c++17')
+ 
+     if sys.platform == 'darwin':
+       extra_compile_args.append('-Wno-shorten-64-to-32')
diff --git a/srcpkgs/python3-protobuf/patches/python-3.11.patch b/srcpkgs/python3-protobuf/patches/python-3.11.patch
deleted file mode 100644
index f6ed1b078357..000000000000
--- a/srcpkgs/python3-protobuf/patches/python-3.11.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From da973aff2adab60a9e516d3202c111dbdde1a50f Mon Sep 17 00:00:00 2001
-From: Alexander Shadchin <alexandr.shadchin@gmail.com>
-Date: Sun, 14 Aug 2022 21:13:49 +0300
-Subject: [PATCH] Fix build with Python 3.11
-
-The PyFrameObject structure members have been removed from the public C API.
----
- google/protobuf/pyext/descriptor.cc | 75 ++++++++++++++++++----
- 1 file changed, 62 insertions(+), 13 deletions(-)
-
-diff --git a/google/protobuf/pyext/descriptor.cc b/google/protobuf/pyext/descriptor.cc
-index fc83acf01a..fc97b0fa6c 100644
---- a/google/protobuf/pyext/descriptor.cc
-+++ b/google/protobuf/pyext/descriptor.cc
-@@ -58,6 +58,37 @@
-               : 0)                                               \
-        : PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
- 
-+#if PY_VERSION_HEX < 0x030900B1 && !defined(PYPY_VERSION)
-+static PyCodeObject* PyFrame_GetCode(PyFrameObject *frame)
-+{
-+    Py_INCREF(frame->f_code);
-+    return frame->f_code;
-+}
-+
-+static PyFrameObject* PyFrame_GetBack(PyFrameObject *frame)
-+{
-+    Py_XINCREF(frame->f_back);
-+    return frame->f_back;
-+}
-+#endif
-+
-+#if PY_VERSION_HEX < 0x030B00A7 && !defined(PYPY_VERSION)
-+static PyObject* PyFrame_GetLocals(PyFrameObject *frame)
-+{
-+    if (PyFrame_FastToLocalsWithError(frame) < 0) {
-+        return NULL;
-+    }
-+    Py_INCREF(frame->f_locals);
-+    return frame->f_locals;
-+}
-+
-+static PyObject* PyFrame_GetGlobals(PyFrameObject *frame)
-+{
-+    Py_INCREF(frame->f_globals);
-+    return frame->f_globals;
-+}
-+#endif
-+
- namespace google {
- namespace protobuf {
- namespace python {
-@@ -96,48 +127,66 @@ bool _CalledFromGeneratedFile(int stacklevel) {
-   // This check is not critical and is somewhat difficult to implement correctly
-   // in PyPy.
-   PyFrameObject* frame = PyEval_GetFrame();
-+  PyCodeObject* frame_code = nullptr;
-+  PyObject* frame_globals = nullptr;
-+  PyObject* frame_locals = nullptr;
-+  bool result = false;
-+
-   if (frame == nullptr) {
--    return false;
-+    goto exit;
-   }
-+  Py_INCREF(frame);
-   while (stacklevel-- > 0) {
--    frame = frame->f_back;
-+    PyFrameObject* next_frame = PyFrame_GetBack(frame);
-+    Py_DECREF(frame);
-+    frame = next_frame;
-     if (frame == nullptr) {
--      return false;
-+      goto exit;
-     }
-   }
- 
--  if (frame->f_code->co_filename == nullptr) {
--    return false;
-+  frame_code = PyFrame_GetCode(frame);
-+  if (frame_code->co_filename == nullptr) {
-+    goto exit;
-   }
-   char* filename;
-   Py_ssize_t filename_size;
--  if (PyString_AsStringAndSize(frame->f_code->co_filename,
-+  if (PyString_AsStringAndSize(frame_code->co_filename,
-                                &filename, &filename_size) < 0) {
-     // filename is not a string.
-     PyErr_Clear();
--    return false;
-+    goto exit;
-   }
-   if ((filename_size < 3) ||
-       (strcmp(&filename[filename_size - 3], ".py") != 0)) {
-     // Cython's stack does not have .py file name and is not at global module
-     // scope.
--    return true;
-+    result = true;
-+    goto exit;
-   }
-   if (filename_size < 7) {
-     // filename is too short.
--    return false;
-+    goto exit;
-   }
-   if (strcmp(&filename[filename_size - 7], "_pb2.py") != 0) {
-     // Filename is not ending with _pb2.
--    return false;
-+    goto exit;
-   }
- 
--  if (frame->f_globals != frame->f_locals) {
-+  frame_globals = PyFrame_GetGlobals(frame);
-+  frame_locals = PyFrame_GetLocals(frame);
-+  if (frame_globals != frame_locals) {
-     // Not at global module scope
--    return false;
-+    goto exit;
-   }
- #endif
--  return true;
-+  result = true;
-+exit:
-+  Py_XDECREF(frame_globals);
-+  Py_XDECREF(frame_locals);
-+  Py_XDECREF(frame_code);
-+  Py_XDECREF(frame);
-+  return result;
- }
- 
- // If the calling code is not a _pb2.py file, raise AttributeError.
diff --git a/srcpkgs/python3-protobuf/template b/srcpkgs/python3-protobuf/template
index e965c4432162..2b41f7fcf8fc 100644
--- a/srcpkgs/python3-protobuf/template
+++ b/srcpkgs/python3-protobuf/template
@@ -1,16 +1,18 @@
 # Template file for 'python3-protobuf'
 pkgname=python3-protobuf
-version=4.21.12
+version=4.23.4
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-wheel"
+build_wrksrc=python
+hostmakedepends="python3-setuptools python3-wheel protobuf"
 depends="python3-setuptools python3-six"
 short_desc="Python3 bindings for Google Protocol Buffers"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
-distfiles="${PYPI_SITE}/p/protobuf/protobuf-${version}.tar.gz"
-checksum=7cd532c4566d0e6feafecc1059d04c7915aec8e182d1cf7adee8b24ef1e2e6ab
+# PyPi release does not have bits for cppext
+distfiles="https://github.com/protocolbuffers/protobuf/releases/download/v${version#*.}/protobuf-${version#*.}.tar.gz"
+checksum=a700a49470d301f1190a487a923b5095bf60f08f4ae4cac9f5f7c36883d17971
 
 build_options="cppext"
 build_options_default="cppext"

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] protobuf/abseil-cpp/grpc: update
  2023-07-08 11:45 [PR PATCH] protobuf/abseil-cpp: update Johnnynator
                   ` (9 preceding siblings ...)
  2023-07-16 14:09 ` Johnnynator
@ 2023-07-16 15:06 ` Johnnynator
  2023-07-16 18:00 ` Johnnynator
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Johnnynator @ 2023-07-16 15:06 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 616 bytes --]

There is an updated pull request by Johnnynator against master on the void-packages repository

https://github.com/Johnnynator/void-packages google-stuff
https://github.com/void-linux/void-packages/pull/44920

protobuf/abseil-cpp/grpc: update
"Fun" with google stuff

#### Testing the changes
- I tested the changes in this PR: **WiP**


#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):



A patch file from https://github.com/void-linux/void-packages/pull/44920.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-google-stuff-44920.patch --]
[-- Type: text/x-diff, Size: 117382 bytes --]

From e648317bbcd22cc201cfca4110210a7c31ad50ae Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:24:01 +0200
Subject: [PATCH 01/34] abseil-cpp: update to 20230125.3.

---
 common/shlibs                                 | 128 ++++++++++++------
 srcpkgs/abseil-cpp/patches/google-sucks.patch |  77 -----------
 srcpkgs/abseil-cpp/template                   |   4 +-
 3 files changed, 85 insertions(+), 124 deletions(-)
 delete mode 100644 srcpkgs/abseil-cpp/patches/google-sucks.patch

diff --git a/common/shlibs b/common/shlibs
index 4b2122d1b199..d1e779f4e7cb 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4207,51 +4207,89 @@ libsunpinyin.so.3 libsunpinyin-3.0.0rc2_1
 libtpm2-totp.so.0 libtpm2-totp-0.3.0_1
 libmujs.so.1.2.0 mujs-1.2.0_2
 libiir.so.1 libiir1-1.9.3_1
-libabsl_statusor.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_hash.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_raw_hash_set.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_bad_variant_access.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_status.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_pool_urbg.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_hwaes_impl.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_slow.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cord.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_city.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_bad_optional_access.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_info.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_str_format_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_synchronization.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_time.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strings.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_throw_delegate.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_time_zone.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_spinlock_wait.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_base.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_civil_time.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cord_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_functions.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_handle.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_debugging_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_demangle_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_exponential_biased.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_graphcycles_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_hashtablez_sampler.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_int128.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_log_severity.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_low_level_hash.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_malloc_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_distributions.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_platform.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_hwaes.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_seed_material.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_seed_gen_exception.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_seed_sequences.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_raw_logging_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_stacktrace.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strerror.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strings_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_symbolize.so.2206.0.0 abseil-cpp-20220623.1_1
+libabsl_flags.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_raw_logging_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_parse.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_reflection.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_globals.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_config.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_seed_sequences.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_statusor.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_usage_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_commandlineflag.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_hwaes_impl.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_status.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_any_cast_impl.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_variant_access.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_raw_hash_set.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_optional_access.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cord.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_distribution_test_util.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_handle.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_graphcycles_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_spinlock_wait.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_functions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_usage.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_debugging_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strerror.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_seed_material.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_log_sink_set.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_proto.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_civil_time.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_conditions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_cpu_detect.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_entry.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_distributions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_globals.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_format.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_exponential_biased.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_city.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_symbolize.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_leak_check.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_low_level_hash.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_severity.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_scoped_set_env.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strings.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_die_if_null.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_hash.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_commandlineflag_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_periodic_sampler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_platform.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_malloc_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_sample_token.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_str_format_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_synchronization.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_message.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strings_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_private_handle_accessor.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cord_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_hwaes.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_throw_delegate.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_cord_state.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_flags.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_program_name.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_time_zone.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_examine_stack.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc32c.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_initialize.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_failure_signal_handler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_time.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_info.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_sink.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_nullguard.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_demangle_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_base.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_hashtablez_sampler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_marshalling.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_pool_urbg.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_int128.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_stacktrace.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_seed_gen_exception.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_check_op.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_slow.so.2301.0.0 abseil-cpp-20230125.3_1
 libairspyhf.so.0 libairspyhf-1.6.8_1
 libtraceevent.so.1 libtraceevent-1.6.2_1
 libtracefs.so.1 libtracefs-1.4.2_1
diff --git a/srcpkgs/abseil-cpp/patches/google-sucks.patch b/srcpkgs/abseil-cpp/patches/google-sucks.patch
deleted file mode 100644
index 511bae847101..000000000000
--- a/srcpkgs/abseil-cpp/patches/google-sucks.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-commit 1fbfea71fb42b2e79f9e342c1843bd26a8703536
-Author: Daniel Kolesa <daniel@octaforge.org>
-Date:   Thu Aug 25 01:20:58 2022 +0200
-
-    An all-in-one patch that fixes several issues:
-    
-    1) UnscaledCycleClock not fully implemented for ppc*-musl (disabled on musl)
-    2) powerpc stacktrace implementation only works on glibc (disabled on musl)
-    3) powerpc stacktrace implementation has ppc64 assumptions (fixed)
-    4) examine_stack.cpp makes glibc assumptions on powerpc (fixed)
-
-diff --git a/absl/base/internal/unscaledcycleclock.cc b/absl/base/internal/unscaledcycleclock.cc
-index b1c396c..d62bfd6 100644
---- a/absl/base/internal/unscaledcycleclock.cc
-+++ b/absl/base/internal/unscaledcycleclock.cc
-@@ -20,7 +20,7 @@
- #include <intrin.h>
- #endif
- 
--#if defined(__powerpc__) || defined(__ppc__)
-+#if (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
- #ifdef __GLIBC__
- #include <sys/platform/ppc.h>
- #elif defined(__FreeBSD__)
-@@ -58,7 +58,7 @@ double UnscaledCycleClock::Frequency() {
-   return base_internal::NominalCPUFrequency();
- }
- 
--#elif defined(__powerpc__) || defined(__ppc__)
-+#elif (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
- 
- int64_t UnscaledCycleClock::Now() {
- #ifdef __GLIBC__
-diff --git a/absl/base/internal/unscaledcycleclock.h b/absl/base/internal/unscaledcycleclock.h
-index 2cbeae3..83d8c98 100644
---- a/absl/base/internal/unscaledcycleclock.h
-+++ b/absl/base/internal/unscaledcycleclock.h
-@@ -46,8 +46,8 @@
- 
- // The following platforms have an implementation of a hardware counter.
- #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \
--    defined(__powerpc__) || defined(__ppc__) || defined(__riscv) ||     \
--    defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
-+    ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \
-+    defined(__riscv) || defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
- #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
- #else
- #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 0
-diff --git a/absl/debugging/internal/examine_stack.cc b/absl/debugging/internal/examine_stack.cc
-index 5bdd341..a42a3c4 100644
---- a/absl/debugging/internal/examine_stack.cc
-+++ b/absl/debugging/internal/examine_stack.cc
-@@ -174,8 +174,10 @@ void* GetProgramCounter(void* const vuc) {
-     return reinterpret_cast<void*>(context->uc_mcontext.pc);
- #elif defined(__powerpc64__)
-     return reinterpret_cast<void*>(context->uc_mcontext.gp_regs[32]);
--#elif defined(__powerpc__)
-+#elif defined(__powerpc__) && defined(__GLIBC__)
-     return reinterpret_cast<void*>(context->uc_mcontext.uc_regs->gregs[32]);
-+#elif defined(__powerpc__)
-+    return reinterpret_cast<void*>(context->uc_mcontext.gregs[32]);
- #elif defined(__riscv)
-     return reinterpret_cast<void*>(context->uc_mcontext.__gregs[REG_PC]);
- #elif defined(__s390__) && !defined(__s390x__)
-diff --git a/absl/debugging/internal/stacktrace_config.h b/absl/debugging/internal/stacktrace_config.h
-index 3929b1b..23d5e50 100644
---- a/absl/debugging/internal/stacktrace_config.h
-+++ b/absl/debugging/internal/stacktrace_config.h
-@@ -60,7 +60,7 @@
- #elif defined(__i386__) || defined(__x86_64__)
- #define ABSL_STACKTRACE_INL_HEADER \
-   "absl/debugging/internal/stacktrace_x86-inl.inc"
--#elif defined(__ppc__) || defined(__PPC__)
-+#elif (defined(__ppc__) || defined(__PPC__)) && defined(__GLIBC__)
- #define ABSL_STACKTRACE_INL_HEADER \
-   "absl/debugging/internal/stacktrace_powerpc-inl.inc"
- #elif defined(__aarch64__)
diff --git a/srcpkgs/abseil-cpp/template b/srcpkgs/abseil-cpp/template
index 8640d2489406..3ffdb4d99d33 100644
--- a/srcpkgs/abseil-cpp/template
+++ b/srcpkgs/abseil-cpp/template
@@ -1,6 +1,6 @@
 # Template file for 'abseil-cpp'
 pkgname=abseil-cpp
-version=20220623.1
+version=20230125.3
 revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON -DABSL_PROPAGATE_CXX_STD=ON"
@@ -10,7 +10,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="Apache-2.0"
 homepage="https://abseil.io"
 distfiles="https://github.com/abseil/abseil-cpp/archive/${version}.tar.gz"
-checksum=91ac87d30cc6d79f9ab974c51874a704de9c2647c40f6932597329a282217ba8
+checksum=5366d7e7fa7ba0d915014d387b66d0d002c03236448e1ba9ef98122c13b35c36
 
 abseil-cpp-devel_package() {
 	short_desc+=" (development files)"

From a998372e6f5acf0cc872b1267659470080c89880 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 02/34] Bear: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/Bear/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/Bear/template b/srcpkgs/Bear/template
index cebf51b64728..2e6da3ba9a30 100644
--- a/srcpkgs/Bear/template
+++ b/srcpkgs/Bear/template
@@ -1,7 +1,7 @@
 # Template file for 'Bear'
 pkgname=Bear
 version=3.1.2
-revision=1
+revision=2
 build_style=cmake
 hostmakedepends="pkg-config protobuf protobuf-devel grpc"
 makedepends="json-c++ spdlog grpc-devel protobuf-devel gtest-devel"

From a0bd0e91ac68265ba0dabecce134ad7a790747ad Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 03/34] grpc: update to 1.56.0.

---
 common/shlibs                                 | 24 +++++++++----------
 srcpkgs/grpc/patches/cmake.patch              | 20 ++++++++++++++++
 .../grpc/patches/revert-find-protobuf.patch   | 23 ++++++++++++++++++
 srcpkgs/grpc/template                         | 15 ++++++------
 4 files changed, 63 insertions(+), 19 deletions(-)
 create mode 100644 srcpkgs/grpc/patches/cmake.patch
 create mode 100644 srcpkgs/grpc/patches/revert-find-protobuf.patch

diff --git a/common/shlibs b/common/shlibs
index d1e779f4e7cb..5adfa4d6e69f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3683,18 +3683,18 @@ liboblibs.so.0.1 oblibs-0.1.1.1_1
 libaal-1.0.so.7 libaal-1.0.7_1
 libaal-minimal.so.0 libaal-1.0.7_1
 libcli.so.1.9 libcli-1.9.8.4_1
-libaddress_sorting.so.27 libgrpc-1.49.1_1
-libgpr.so.27 libgrpc-1.49.1_1
-libgrpc.so.27 libgrpc-1.49.1_1
-libgrpc_unsecure.so.27 libgrpc-1.49.1_1
-libupb.so.27 libgrpc-1.49.1_1
-libgrpc++.so.1.49 libgrpc-1.49.1_1
-libgrpc++_alts.so.1.49 libgrpc-1.49.1_1
-libgrpc++_error_details.so.1.49 libgrpc-1.49.1_1
-libgrpc++_reflection.so.1.49 libgrpc-1.49.1_1
-libgrpc++_unsecure.so.1.49 libgrpc-1.49.1_1
-libgrpc_plugin_support.so.1.49 libgrpc-1.49.1_1
-libgrpcpp_channelz.so.1.49 libgrpc-1.49.1_1
+libaddress_sorting.so.33 libgrpc-1.56.0_1
+libgpr.so.33 libgrpc-1.56.0_1
+libgrpc.so.33 libgrpc-1.56.0_1
+libgrpc_unsecure.so.33 libgrpc-1.56.0_1
+libupb.so.33 libgrpc-1.56.0_1
+libgrpc++.so.1.56 libgrpc-1.56.0_1
+libgrpc++_alts.so.1.56 libgrpc-1.56.0_1
+libgrpc++_error_details.so.1.56 libgrpc-1.56.0_1
+libgrpc++_reflection.so.1.56 libgrpc-1.56.0_1
+libgrpc++_unsecure.so.1.56 libgrpc-1.56.0_1
+libgrpc_plugin_support.so.1.56 libgrpc-1.56.0_1
+libgrpcpp_channelz.so.1.56 libgrpc-1.56.0_1
 libircclient.so.1 libircclient-1.10_5
 libFAudio.so.0 FAudio-19.05_1
 libqaccessibilityclient-qt5.so.0 libqaccessibilityclient-0.4.0_1
diff --git a/srcpkgs/grpc/patches/cmake.patch b/srcpkgs/grpc/patches/cmake.patch
new file mode 100644
index 000000000000..54d04e29837d
--- /dev/null
+++ b/srcpkgs/grpc/patches/cmake.patch
@@ -0,0 +1,20 @@
+--- a/cmake/gRPCConfig.cmake.in	2023-06-14 22:21:16.000000000 +0200
++++ -	2023-06-28 11:11:32.902678412 +0200
+@@ -1,5 +1,6 @@
+ # Module path
+ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/modules)
++include(CMakeFindDependencyMacro)
+ 
+ # Depend packages
+ @_gRPC_FIND_ZLIB@
+--- a/CMakeLists.txt	2023-07-11 08:54:22.009027477 +0200
++++ -	2023-07-11 08:54:38.950947984 +0200
+@@ -12375,6 +12375,8 @@
+   ${_gRPC_ZLIB_LIBRARIES}
+   ${_gRPC_ALLTARGETS_LIBRARIES}
+   grpc_plugin_support
++  absl::hash
++  absl::raw_hash_set
+ )
+ 
+ 
diff --git a/srcpkgs/grpc/patches/revert-find-protobuf.patch b/srcpkgs/grpc/patches/revert-find-protobuf.patch
new file mode 100644
index 000000000000..6001f37c6b1b
--- /dev/null
+++ b/srcpkgs/grpc/patches/revert-find-protobuf.patch
@@ -0,0 +1,23 @@
+Use the old cmake provided FindProtobuf() implementation for now.
+A future cmake update will remove this module, but use it for now until
+all packages are updated to the new system
+---
+--- a/cmake/protobuf.cmake	2023-06-14 22:21:16.000000000 +0200
++++ -	2023-07-10 21:05:41.114443796 +0200
+@@ -55,7 +55,7 @@
+     set(gRPC_INSTALL FALSE)
+   endif()
+ elseif(gRPC_PROTOBUF_PROVIDER STREQUAL "package")
+-  find_package(Protobuf REQUIRED CONFIG)
++  find_package(Protobuf REQUIRED)
+ 
+   if(Protobuf_FOUND OR PROTOBUF_FOUND)
+     if(TARGET protobuf::${_gRPC_PROTOBUF_LIBRARY_NAME})
+@@ -86,6 +86,6 @@
+         set(_gRPC_PROTOBUF_PROTOC_EXECUTABLE ${PROTOBUF_PROTOC_EXECUTABLE})
+       endif()
+     endif()
+-    set(_gRPC_FIND_PROTOBUF "find_dependency(Protobuf CONFIG)")
++    set(_gRPC_FIND_PROTOBUF "find_dependency(Protobuf)")
+   endif()
+ endif()
diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index 5b4547a5c0fc..9c58c2509bee 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -1,14 +1,13 @@
 # Template file for 'grpc'
 pkgname=grpc
-version=1.49.1
-revision=2
+version=1.56.0
+revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON
  -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package
  -DgRPC_SSL_PROVIDER=package -DgRPC_ZLIB_PROVIDER=package
- -DgRPC_ABSL_PROVIDER=package -D_gRPC_RE2_LIBRARIES=-lre2
- -D_gRPC_RE2_INCLUDE_DIR=${XBPS_CROSS_BASE}/usr/include"
-hostmakedepends="which protobuf"
+ -DgRPC_ABSL_PROVIDER=package -DgRPC_RE2_PROVIDER=package"
+hostmakedepends="protobuf pkg-config"
 _devel_depends="c-ares-devel re2-devel zlib-devel openssl-devel abseil-cpp-devel"
 makedepends="libprotoc-devel protobuf-devel gperftools-devel ${_devel_depends}"
 short_desc="High performance, open source, general RPC framework"
@@ -16,11 +15,12 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://github.com/grpc/grpc"
 distfiles="${homepage}/archive/v${version}/${pkgname}-${version}.tar.gz"
-checksum=5071b630e2a14707ad060636990f1b25b0984bd168c7ea1ab95e48a3bdc0081f
+checksum=e034992a0b464042021f6d440f2090acc2422c103a322b0844e3921ccea981dc
 
 if [ "$CROSS_BUILD" ]; then
 	# need host grpc_cpp_plugin
 	hostmakedepends+=" grpc"
+	configure_args+=" -DProtobuf_PROTOC_EXECUTABLE=/usr/bin/protoc"
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
@@ -38,7 +38,8 @@ libgrpc_package() {
 
 grpc-devel_package() {
 	short_desc+=" - development files"
-	depends="${sourcepkg}>=${version}_${revision} ${_devel_depends}"
+	depends="${sourcepkg}>=${version}_${revision} ${_devel_depends}
+	 protobuf-devel"
 	pkg_install() {
 		vmove usr/include
 		vmove usr/lib/*.so

From 64bf766e97d70ec79392ad6843bf8c7f374746c6 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 04/34] justbuild: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/justbuild/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index 1ad8e334617d..ee36f6dae575 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
 # Template file for 'justbuild'
 pkgname=justbuild
 version=1.1.2
-revision=1
+revision=2
 create_wrksrc=yes
 hostmakedepends="jo pandoc pkg-config python3 tar unzip wget"
 makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++

From 42a070cb7debb3d0dfba17493182723d4fb91cf8 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 05/34] python3-grpcio: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/python3-grpcio/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 826eda0fc560..9b3c7288a9dd 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-grpcio'
 pkgname=python3-grpcio
 version=1.49.1
-revision=3
+revision=4
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-six python3-Cython"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel

From 731b7d904c4f80c05ab7be509b1ad2733c1b0e5c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 06/34] sysdig: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/sysdig/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index 81ddb7aba5e3..4a04e762468c 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,7 +1,7 @@
 # Template file for 'sysdig'
 pkgname=sysdig
 version=0.28.0
-revision=7
+revision=8
 build_style=cmake
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF
@@ -36,7 +36,8 @@ CXXFLAGS="-Wno-deprecated-declarations"
 CXXFLAGS+=" -I/usr/include/grpc_absl"
 
 post_extract() {
-	sed -i 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' scripts/CMakeLists.txt
+	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
+	vsed -e 's|-std=c++0x||' -i CMakeLists.txt
 }
 
 post_install() {

From b79c74aff3fcf6c3d6711ea8643a2d41a24d0ce0 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 22:01:12 +0200
Subject: [PATCH 07/34] python3-grpcio: update to 1.56.0.

---
 srcpkgs/python3-grpcio/template | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 9b3c7288a9dd..25ea3fc34620 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-grpcio'
 pkgname=python3-grpcio
-version=1.49.1
-revision=4
+version=1.56.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-six python3-Cython"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel
@@ -12,7 +12,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://grpc.io"
 distfiles="${PYPI_SITE}/g/grpcio/grpcio-${version}.tar.gz"
-checksum=d4725fc9ec8e8822906ae26bb26f5546891aa7fbc3443de970cc556d43a5c99f
+checksum=4c08ee21b3d10315b8dc26f6c13917b20ed574cdbed2d2d80c53d5508fdcc0f2
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	makedepends+=" libatomic-devel"
@@ -29,5 +29,7 @@ export GRPC_PYTHON_BUILD_SYSTEM_RE2=1
 export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
 
 post_extract() {
+	# abseil-cpp 2023xxxxxx requires at least c++ 17
+	vsed -e 's/c++14/c++17/g' -i setup.py
 	rm src/python/grpcio/grpc/_cython/cygrpc.cpp
 }

From 138b64cdac76aaef11ad3442152800797c499cec Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:40:13 +0200
Subject: [PATCH 08/34] protobuf: update to 23.4.

- switch to cmake buildstyle
- grpc needs the .cmake files to find protobuf
- newer version of protobuf will drop autoconf
---
 common/shlibs             |  6 ++---
 srcpkgs/protobuf/template | 46 ++++++++++++++-------------------------
 2 files changed, 19 insertions(+), 33 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 5adfa4d6e69f..3cd47fb4f486 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3115,9 +3115,9 @@ libm17n-flt.so.0 m17n-lib-1.7.0_1
 libm17n-gui.so.0 m17n-lib-1.7.0_1
 libm17n-core.so.0 m17n-lib-1.7.0_1
 libm17n.so.0 m17n-lib-1.7.0_1
-libprotobuf-lite.so.32 libprotobuf-lite-21.4_1
-libprotoc.so.32 libprotoc-21.4_1
-libprotobuf.so.32 libprotobuf-21.4_1
+libprotobuf-lite.so.23.4.0 libprotobuf-lite-23.4_1
+libprotoc.so.23.4.0 libprotoc-23.4_1
+libprotobuf.so.23.4.0 libprotobuf-23.4_1
 libsombok.so.3 sombok-2.4.0_1
 libdeviceclient.so.0 pragha-1.3.3_1
 libykclient.so.3 ykclient-2.15_1
diff --git a/srcpkgs/protobuf/template b/srcpkgs/protobuf/template
index 571f06487c85..828c4b050fdc 100644
--- a/srcpkgs/protobuf/template
+++ b/srcpkgs/protobuf/template
@@ -1,22 +1,22 @@
 # Template file for 'protobuf'
 pkgname=protobuf
-version=21.12
+version=23.4
 revision=1
-create_wrksrc="yes"
-build_wrksrc="${pkgname}-${version}"
-build_style=gnu-configure
-hostmakedepends="pkg-config automake libtool"
-makedepends="zlib-devel"
+build_style=cmake
+configure_args="-Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_USE_EXTERNAL_GTEST=ON
+ -Dprotobuf_BUILD_LIBPROTOC=ON -Dprotobuf_ABSL_PROVIDER=package
+ -Dprotobuf_BUILD_TESTS=OFF"
+# XXX: Tests require that the abseil-cpp provides absl::scoped_mock_log
+hostmakedepends="pkg-config"
+makedepends="zlib-devel gtest-devel libatomic-devel
+ abseil-cpp-devel"
 short_desc="Protocol buffers compiler"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
 changelog="https://raw.githubusercontent.com/google/protobuf/master/CHANGES.txt"
-_googletest_commit="5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081"
-distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz
- https://github.com/google/googletest/archive/${_googletest_commit}.tar.gz"
-checksum="22fdaf641b31655d4b2297f9981fa5203b2866f8332d3c6333f6b0107bb320de
- 0e2f36e8e403c125fd0ab02171bdb786d3b6b3875b6ccf3b2eb7969be8faecd0"
+distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz"
+checksum=a700a49470d301f1190a487a923b5095bf60f08f4ae4cac9f5f7c36883d17971
 
 # Switch to versioned package
 conflicts="protobuf18>=0 protobuf23>=0 protobuf24>=0
@@ -26,24 +26,11 @@ replaces="${conflicts}"
 if [ "$CROSS_BUILD" ]; then
 	# needs host protoc
 	hostmakedepends+=" ${pkgname}"
-	configure_args+=" --with-protoc=/usr/bin/protoc"
+	configure_args+=" -Dprotobuf_PROTOC_EXE=/usr/bin/protoc"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-	LDFLAGS+=" -latomic"
-fi
-
-post_extract() {
-	rmdir "${build_wrksrc}/third_party/googletest"
-	mv "googletest-${_googletest_commit}" "${build_wrksrc}/third_party/googletest"
-}
-
-pre_configure() {
-	autoreconf -fi
-}
-
 post_install() {
+	rm -rf "${DESTDIR}/usr/lib/cmake"
 	vlicense LICENSE
 }
 
@@ -80,7 +67,6 @@ libprotoc-devel_package() {
 	 libprotoc26-devel>=0 libprotoc28-devel>=0"
 	replaces="${conflicts}"
 	pkg_install() {
-		vmove usr/lib/libprotoc.a
 		vmove usr/lib/libprotoc.so
 		vmove usr/include/google/protobuf/compiler
 	}
@@ -89,7 +75,8 @@ libprotoc-devel_package() {
 protobuf-devel_package() {
 	depends="zlib-devel
 	 libprotobuf-${version}_${revision}
-	 libprotobuf-lite-${version}_${revision}"
+	 libprotobuf-lite-${version}_${revision}
+	 abseil-cpp-devel"
 	short_desc="Protocol buffers C++ library - development files"
 	# Switch to versioned package
 	conflicts="protobuf18-devel>=0 protobuf23-devel>=0
@@ -98,10 +85,9 @@ protobuf-devel_package() {
 	replaces="${conflicts}"
 	pkg_install() {
 		vmove usr/include
-		vmove usr/lib/libprotobuf.a
-		vmove usr/lib/libprotobuf-lite.a
 		vmove usr/lib/libprotobuf.so
 		vmove usr/lib/libprotobuf-lite.so
 		vmove usr/lib/pkgconfig
+		vmove "usr/lib/*.a"
 	}
 }

From 0ac212e5dccfd94959c35bc4b83128faac89841f Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 09/34] EternalTerminal: rebuild against protobuf-23.3_1

---
 srcpkgs/EternalTerminal/patches/limits.patch | 10 ++++++++++
 srcpkgs/EternalTerminal/template             |  2 +-
 2 files changed, 11 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/EternalTerminal/patches/limits.patch

diff --git a/srcpkgs/EternalTerminal/patches/limits.patch b/srcpkgs/EternalTerminal/patches/limits.patch
new file mode 100644
index 000000000000..9226bd45001a
--- /dev/null
+++ b/srcpkgs/EternalTerminal/patches/limits.patch
@@ -0,0 +1,10 @@
+--- a/EternalTerminal/external_imported/cxxopts/include/cxxopts.hpp	2022-05-05 17:20:44.000000000 +0200
++++ -	2023-07-10 20:07:25.607948589 +0200
+@@ -37,6 +37,7 @@
+ #include <unordered_map>
+ #include <unordered_set>
+ #include <vector>
++#include <limits>
+ 
+ #ifdef __cpp_lib_optional
+ #include <optional>
diff --git a/srcpkgs/EternalTerminal/template b/srcpkgs/EternalTerminal/template
index 1017a1b4a1ec..156eab6ce47e 100644
--- a/srcpkgs/EternalTerminal/template
+++ b/srcpkgs/EternalTerminal/template
@@ -1,7 +1,7 @@
 # Template file for 'EternalTerminal'
 pkgname=EternalTerminal
 version=6.2.1
-revision=1
+revision=2
 # revisions used for the specific versions of submodules.
 # they can be found in the external/ directory of the source code.
 _sanitizers_gitrev="99e159ec9bc8dd362b08d18436bd40ff0648417b"

From b247b480a2d28388830af53aa341de4e8f40f389 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 10/34] vlc: rebuild against protobuf-23.3_1

---
 srcpkgs/vlc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vlc/template b/srcpkgs/vlc/template
index 210762b0a7e2..651c94a1353a 100644
--- a/srcpkgs/vlc/template
+++ b/srcpkgs/vlc/template
@@ -1,7 +1,7 @@
 # Template file for 'vlc'
 pkgname=vlc
 version=3.0.18
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--disable-gme --disable-libtar --enable-jack
  --enable-live555 --disable-fluidsynth --enable-dvdread

From 99c3a2f9e64725ae2d50605269a276f78dc5778c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 11/34] mixxx: rebuild against protobuf-23.3_1

---
 srcpkgs/mixxx/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mixxx/template b/srcpkgs/mixxx/template
index 619ddca0d332..4b9ea00d3fb3 100644
--- a/srcpkgs/mixxx/template
+++ b/srcpkgs/mixxx/template
@@ -1,7 +1,7 @@
 # Template file for 'mixxx'
 pkgname=mixxx
 version=2.3.3
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="extra-cmake-modules pkg-config protobuf qt5-host-tools qt5-devel"

From b97eaf85def1146db7162f61cae74b50274cf20b Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 12/34] telegram-desktop: rebuild against protobuf-23.3_1

---
 srcpkgs/telegram-desktop/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/telegram-desktop/template b/srcpkgs/telegram-desktop/template
index f114b2341dc5..9db9f80c1a53 100644
--- a/srcpkgs/telegram-desktop/template
+++ b/srcpkgs/telegram-desktop/template
@@ -1,7 +1,7 @@
 # Template file for 'telegram-desktop'
 pkgname=telegram-desktop
 version=4.8.1
-revision=3
+revision=4
 build_style=cmake
 build_helper="qemu"
 configure_args="-DTDESKTOP_API_ID=209235

From 9149d62fad527b78ce2872306d0d23f24897e6b7 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:56 +0200
Subject: [PATCH 13/34] usbguard: rebuild against protobuf-23.3_1

---
 srcpkgs/usbguard/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/usbguard/template b/srcpkgs/usbguard/template
index 8625c80a7eda..df4411202568 100644
--- a/srcpkgs/usbguard/template
+++ b/srcpkgs/usbguard/template
@@ -1,7 +1,7 @@
 # Template file for 'usbguard'
 pkgname=usbguard
 version=1.1.2
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-crypto-library=sodium --with-bundled-catch --with-bundled-pegtl"
 conf_files="/etc/usbguard/*"

From 5d895a3d1df738d7aa210578b7a6b2e8c4d66059 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 14/34] nsjail: rebuild against protobuf-23.3_1

---
 srcpkgs/nsjail/patches/32bitint.patch    | 10 ++++++++
 srcpkgs/nsjail/patches/cpp17.patch       | 11 +++++++++
 srcpkgs/nsjail/patches/kafel-bison.patch | 30 ------------------------
 srcpkgs/nsjail/patches/ldflags.patch     | 11 +++++++++
 srcpkgs/nsjail/patches/log.patch         | 24 +++++++++++++++++++
 srcpkgs/nsjail/template                  | 13 +++++-----
 6 files changed, 63 insertions(+), 36 deletions(-)
 create mode 100644 srcpkgs/nsjail/patches/32bitint.patch
 create mode 100644 srcpkgs/nsjail/patches/cpp17.patch
 delete mode 100644 srcpkgs/nsjail/patches/kafel-bison.patch
 create mode 100644 srcpkgs/nsjail/patches/ldflags.patch
 create mode 100644 srcpkgs/nsjail/patches/log.patch

diff --git a/srcpkgs/nsjail/patches/32bitint.patch b/srcpkgs/nsjail/patches/32bitint.patch
new file mode 100644
index 000000000000..055caa909e36
--- /dev/null
+++ b/srcpkgs/nsjail/patches/32bitint.patch
@@ -0,0 +1,10 @@
+--- a/macros.h	2022-11-22 22:25:15.000000000 +0100
++++ -	2023-07-14 21:21:14.506361610 +0200
+@@ -65,6 +65,6 @@
+ #endif
+ 
+ #define NS_VALSTR_STRUCT(x) \
+-	{ (uint64_t) x, #x }
++	{ (long unsigned int) x, #x }
+ 
+ #endif /* NS_COMMON_H */
diff --git a/srcpkgs/nsjail/patches/cpp17.patch b/srcpkgs/nsjail/patches/cpp17.patch
new file mode 100644
index 000000000000..384ff7b51258
--- /dev/null
+++ b/srcpkgs/nsjail/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/Makefile	2022-11-22 22:25:15.000000000 +0100
++++ -	2023-07-08 16:35:16.308351723 +0200
+@@ -32,7 +32,7 @@
+ 	-Ikafel/include
+ 
+ CXXFLAGS += $(USER_DEFINES) $(COMMON_FLAGS) $(shell pkg-config --cflags protobuf) \
+-	-std=c++14 -fno-exceptions -Wno-unused -Wno-unused-parameter
++	-std=c++17 -fno-exceptions -Wno-unused -Wno-unused-parameter
+ LDFLAGS += -pie -Wl,-z,noexecstack -lpthread $(shell pkg-config --libs protobuf)
+ 
+ BIN = nsjail
diff --git a/srcpkgs/nsjail/patches/kafel-bison.patch b/srcpkgs/nsjail/patches/kafel-bison.patch
deleted file mode 100644
index 48eff0d36369..000000000000
--- a/srcpkgs/nsjail/patches/kafel-bison.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 32768d3cc8cecbc30d9020dbfa8d9ec541d057e4 Mon Sep 17 00:00:00 2001
-From: Evangelos Foutras <evangelos@foutrelis.com>
-Date: Wed, 17 Mar 2021 16:36:40 +0200
-Subject: [PATCH] Replace YYUSE call with void cast in src/parser.y
-
-The YYUSE macro was renamed to YY_USE in bison 3.7.5; we might as well
-avoid using it altogether and cast the unused variable to void instead.
-
-Fixes the following linker error:
-
-/usr/bin/ld: kafel/libkafel.a(libkafel.o): in function `kafel_yyerror':
-arm_syscalls.c:(.text+0x6984): undefined reference to `YYUSE'
----
- src/parser.y | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git kafel/src/parser.y kafel/src/parser.y
-index e0f109c..0e01373 100644
---- a/kafel/src/parser.y
-+++ b/kafel/src/parser.y
-@@ -420,8 +420,8 @@ const_def
- 
- void yyerror(YYLTYPE * loc, struct kafel_ctxt* ctxt, yyscan_t scanner,
-              const char *msg) {
-+  (void)scanner; /* suppress unused-parameter warning */
-   if (!ctxt->lexical_error) {
--    YYUSE(scanner);
-     if (loc->filename != NULL) {
-       append_error(ctxt, "%s:%d:%d: %s", loc->filename, loc->first_line, loc->first_column, msg);
-     } else {
diff --git a/srcpkgs/nsjail/patches/ldflags.patch b/srcpkgs/nsjail/patches/ldflags.patch
new file mode 100644
index 000000000000..c039ea09e237
--- /dev/null
+++ b/srcpkgs/nsjail/patches/ldflags.patch
@@ -0,0 +1,11 @@
+--- a/kafel/src/Makefile	2023-07-08 16:40:45.058218240 +0200
++++ -	2023-07-08 16:54:04.459715051 +0200
+@@ -56,7 +56,7 @@
+ 	$(CC) $(CFLAGS) -Wl,-soname,$@.${VERSION} -shared $^ -o $@
+ 
+ ${STATIC_TARGET}: ${OBJECTS}
+-	$(LD) $(LDFLAGS) -r ${OBJECTS} -o libkafel_r.o
++	$(LD) -r ${OBJECTS} -o libkafel_r.o
+ 	# Fix x86 PIC symbols
+ 	$(OBJDUMP) -t libkafel_r.o | grep '.hidden' | grep -v 'get_pc_thunk' | sed -e 's/^.*\.hidden //' > libkafel.localize_symbols
+ 	$(OBJCOPY) -w --localize-symbols=libkafel.localize_symbols libkafel_r.o libkafel.o
diff --git a/srcpkgs/nsjail/patches/log.patch b/srcpkgs/nsjail/patches/log.patch
new file mode 100644
index 000000000000..9e7f12368076
--- /dev/null
+++ b/srcpkgs/nsjail/patches/log.patch
@@ -0,0 +1,24 @@
+diff --git a/config.cc b/config.cc
+index 5242ba4..bbb2b6d 100644
+--- a/config.cc
++++ b/config.cc
+@@ -302,11 +302,6 @@ static bool configParseInternal(nsjconf_t* nsjconf, const nsjail::NsJailConfig&
+ 	return true;
+ }
+ 
+-static void LogHandler(
+-    google::protobuf::LogLevel level, const char* filename, int line, const std::string& message) {
+-	LOG_W("config.cc: '%s'", message.c_str());
+-}
+-
+ bool parseFile(nsjconf_t* nsjconf, const char* file) {
+ 	LOG_D("Parsing configuration from '%s'", file);
+ 
+@@ -316,7 +311,6 @@ bool parseFile(nsjconf_t* nsjconf, const char* file) {
+ 		return false;
+ 	}
+ 
+-	SetLogHandler(LogHandler);
+ 	google::protobuf::io::FileInputStream input(fd);
+ 	input.SetCloseOnDelete(true);
+ 
diff --git a/srcpkgs/nsjail/template b/srcpkgs/nsjail/template
index 346348fdf17b..5c5d0a508f38 100644
--- a/srcpkgs/nsjail/template
+++ b/srcpkgs/nsjail/template
@@ -1,7 +1,7 @@
 # Template file for 'nsjail'
 pkgname=nsjail
-version=3.0
-revision=9
+version=3.3
+revision=1
 create_wrksrc=yes
 build_style=gnu-makefile
 hostmakedepends="bison flex pkg-config protobuf which"
@@ -11,9 +11,9 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="http://nsjail.com"
 distfiles="https://github.com/google/nsjail/archive/${version}.tar.gz
- https://github.com/google/kafel/archive/8e69b8efae415cde3debffbb1e379d9e7a16835a.tar.gz"
-checksum="cfa66d3ed136b2e221752287b95e544915e8a6760aa866f023b604d14a374919
- 4a6c9a1a70ed99bbed767adc106081b017a3090307ea88cc7e329b82daa1373b"
+ https://github.com/google/kafel/archive/1af0975af45ca4404f357b9a4e1636f53a01bfd3.tar.gz"
+checksum="9c247d0cba565b4e3f91cc76e827ddf7f3ad499f54ba611edd25d4d7be4890c3
+ e8c195a2a08daa70c7712adae3eaa01656b039dcc8cc1e5e8210006716761ad5"
 
 archs="aarch64* armv5tel* armv6l* armv7l* x86_64*"
 
@@ -28,7 +28,8 @@ post_extract() {
 }
 
 post_patch() {
-	sed -i -e 's/-Werror\b//g' -e 's/\b\(\(C\(XX\)\?\|LD\)FLAGS\s*+=\)/override \1/g' Makefile kafel/build/Makefile.mk kafel/src/Makefile
+	vsed -e 's/-Werror\b//g' -i Makefile kafel/build/Makefile.mk
+	vsed -e 's/\b\(\(C\(XX\)\?\|LD\)FLAGS\s*+=\)/override \1/g' -i Makefile kafel/build/Makefile.mk kafel/src/Makefile
 }
 
 do_install() {

From ec81c4d90f99ea8cc065670edf0532ab4b99d53d Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 15/34] netdata: rebuild against protobuf-23.3_1

---
 srcpkgs/netdata/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 18dbe4394a4e..781120b3f275 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -1,7 +1,7 @@
 # Template file for 'netdata'
 pkgname=netdata
 version=1.37.1
-revision=1
+revision=2
 build_style=gnu-configure
 build_helper=qemu
 configure_args="--with-user=_netdata ac_cv_file_externaldeps_libbpf_libbpf_a=no

From 99715149b058fe0768e3ab89cb58513e681261a3 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 16/34] mumble: rebuild against protobuf-23.3_1

---
 srcpkgs/mumble/patches/absl.patch  | 20 ++++++++++++++++++++
 srcpkgs/mumble/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/mumble/patches/musl.patch  | 14 ++++++++++++++
 srcpkgs/mumble/template            |  2 +-
 4 files changed, 46 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/mumble/patches/absl.patch
 create mode 100644 srcpkgs/mumble/patches/cpp17.patch
 create mode 100644 srcpkgs/mumble/patches/musl.patch

diff --git a/srcpkgs/mumble/patches/absl.patch b/srcpkgs/mumble/patches/absl.patch
new file mode 100644
index 000000000000..b737fc40fdf9
--- /dev/null
+++ b/srcpkgs/mumble/patches/absl.patch
@@ -0,0 +1,20 @@
+--- a/src/murmur/CMakeLists.txt	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-07-14 17:23:13.145173297 +0200
+@@ -77,6 +77,7 @@
+ )
+ 
+ target_link_libraries(mumble-server PRIVATE shared Qt5::Sql)
++target_link_libraries(mumble-server PRIVATE shared absl_log_internal_message)
+ 
+ if(static)
+ 	# MariaDB and MySQL
+--- a/src/mumble/CMakeLists.txt	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-07-14 17:25:05.556023593 +0200
+@@ -472,6 +472,7 @@
+ 		Qt5::Sql
+ 		Qt5::Svg
+ 		Qt5::Widgets
++		absl_log_internal_message
+ )
+ 
+ if(static)
diff --git a/srcpkgs/mumble/patches/cpp17.patch b/srcpkgs/mumble/patches/cpp17.patch
new file mode 100644
index 000000000000..7cb9c9a93355
--- /dev/null
+++ b/srcpkgs/mumble/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- mumble-1.4.287/CMakeLists.txt	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-07-10 20:12:27.869019033 +0200
+@@ -35,7 +35,7 @@
+ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/3rdparty")
+ set(PLUGINS_DIR "${CMAKE_SOURCE_DIR}/plugins")
+ 
+-set(CMAKE_CXX_STANDARD 14)
++set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_OSX_DEPLOYMENT_TARGET 10.13)
+ 
+ list(APPEND CMAKE_MODULE_PATH
diff --git a/srcpkgs/mumble/patches/musl.patch b/srcpkgs/mumble/patches/musl.patch
new file mode 100644
index 000000000000..49d83a422b8e
--- /dev/null
+++ b/srcpkgs/mumble/patches/musl.patch
@@ -0,0 +1,14 @@
+Newer musl expands NULL to nullptr, which is not a bool.
+Either way, the check is always true with openssl 1.1+, so it can probably removed alltogether
+---
+--- mumble-1.4.287/src/SSL.cpp	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-02-07 22:18:16.093759105 +0100
+@@ -33,7 +34,7 @@
+ 	// If we detect that no locking callback is configured, we
+ 	// have to set it up ourselves to allow multi-threaded use
+ 	// of OpenSSL.
+-	if (!CRYPTO_get_locking_callback()) {
++	if (CRYPTO_get_locking_callback() == NULL) {
+ 		SSLLocks::initialize();
+ 	}
+ }
diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 35c2728c74ce..5c30d4ae64b4 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.4.287
-revision=3
+revision=4
 build_style=cmake
 make_cmd=make
 configure_args="-Doverlay-xcompile=OFF -Dbundled-opus=OFF

From a5909712df0abf236bbdd09a4547e13e2e977354 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 17/34] mumble: rebuild against protobuf-23.3_1

---
 srcpkgs/mumble/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 5c30d4ae64b4..3dc669705365 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.4.287
-revision=4
+revision=5
 build_style=cmake
 make_cmd=make
 configure_args="-Doverlay-xcompile=OFF -Dbundled-opus=OFF

From f493b9d34ce3ec7a934485edfe0c25607e171c83 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 18/34] mozc: statically link against vendored prootbuf

protobuf 23+ links against abseil, which conflicts with the vendored
abseil version in mozc. The build system does not have a flag to use
system abseil.
---
 srcpkgs/mozc/template | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/mozc/template b/srcpkgs/mozc/template
index 3fdb986b3213..e7735cb57f4f 100644
--- a/srcpkgs/mozc/template
+++ b/srcpkgs/mozc/template
@@ -3,16 +3,17 @@ pkgname=mozc
 # src/data/version/mozc_version_template.bzl
 # revision is always 102, template always says 100 ;)
 version=2.28.4800.102
-revision=1
+revision=2
 _commit=056163a5fddbb261b258beb8444998e4882f0cc5
 _abseil=20211102.0
+_protobuf_commit=cc7b1b53234cd7a8f50d90ac3933b240dcf4cd97
 _gyp=0.1+20220404git9ecf45e
 _jpn_dict=e5b3425575734c323e1d947009dd74709437b684
 create_wrksrc=yes
 build_wrksrc=mozc/src
-hostmakedepends="gettext ninja pkg-config protobuf protobuf-devel
+hostmakedepends="gettext ninja pkg-config
  python3-six which qt5-qmake qt5-host-tools"
-makedepends="gtk+-devel ibus-devel libzinnia-devel protobuf-devel qt5-devel
+makedepends="gtk+-devel ibus-devel libzinnia-devel qt5-devel
  fcitx-devel libfcitx5-devel"
 depends="tegaki-zinnia-japanese>=0.3 mozc-base-${version}_${revision}"
 short_desc="Japanese IME (Open Source version of Google Japanese Input)"
@@ -22,11 +23,13 @@ homepage="https://github.com/google/mozc"
 distfiles="
  https://github.com/fcitx/mozc/archive/$_commit.tar.gz
  https://github.com/abseil/abseil-cpp/archive/refs/tags/$_abseil.tar.gz
+ https://github.com/protocolbuffers/protobuf/archive/$_protobuf_commit.tar.gz
  ${DEBIAN_SITE}/main/g/gyp/gyp_$_gyp.orig.tar.xz
  https://github.com/hiroyuki-komatsu/japanese-usage-dictionary/archive/$_jpn_dict.tar.gz
 "
 checksum="259d87bfd7535ad03bd554185677d7345a90166353a6db0b6a3606183ad2923d
  dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4
+ 863e27f6d24f40bce2bbfe5adcf365f2af5479ea917f254331ee60ce88f8c8a5
  0325006f012db66dfa27bf7bb048f3fe38f96e512ebe065930cbc70bcdc06bc9
  0b6efee0eebac2c1a8eeea333278aa40fcef7846bba9a379962c6e567e7e3dc1"
 
@@ -47,7 +50,8 @@ post_extract() {
 	# symlink "submodules" into place
 	for _src_dest in gyp \
 		abseil-cpp \
-		japanese-usage-dictionary:japanese_usage_dictionary
+		japanese-usage-dictionary:japanese_usage_dictionary \
+		protobuf
 	do
 		_src=${_src_dest%:*}
 		_dst=${_src_dest#*:}
@@ -61,7 +65,6 @@ do_configure() {
 	GYP_DEFINES="
 	 document_dir=/usr/share/licenses/${pkgname}
 	 ibus_mozc_path=/usr/libexec/ibus-engine-mozc
-	 use_libprotobuf=1
 	 use_libzinnia=1
 	 ${XBPS_TARGET_NO_ATOMIC8:+use_libatomic=1}
 	" python3 build_mozc.py gyp --target_platform=Linux

From da1c71a64113644c70971c024e0020c7d6f2c107 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 19/34] mosh: rebuild against protobuf-23.3_1

---
 srcpkgs/mosh/patches/cpp17.patch | 14 ++++++++++++++
 srcpkgs/mosh/template            |  5 +++--
 2 files changed, 17 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/mosh/patches/cpp17.patch

diff --git a/srcpkgs/mosh/patches/cpp17.patch b/srcpkgs/mosh/patches/cpp17.patch
new file mode 100644
index 000000000000..5463adc2718b
--- /dev/null
+++ b/srcpkgs/mosh/patches/cpp17.patch
@@ -0,0 +1,14 @@
+--- a/configure.ac	2022-10-27 05:29:47.000000000 +0200
++++ -	2023-07-08 13:19:05.270079012 +0200
+@@ -22,9 +22,9 @@
+ # automake 1.12 seems to require this, but automake 1.11 doesn't recognize it
+ m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+ 
+-# Protobuf 3.6+ requires C++11.
++# Protobuf 3.6+ requires C++11., 4.2.2 with abseil requires C++17
+ AS_IF([pkg-config --atleast-version 3.6.0 protobuf],
+-  [AX_CXX_COMPILE_STDCXX([11])])
++  [AX_CXX_COMPILE_STDCXX([17])])
+ 
+ WARNING_CXXFLAGS=""
+ PICKY_CXXFLAGS=""
diff --git a/srcpkgs/mosh/template b/srcpkgs/mosh/template
index 173ba14bcd47..d252a0c29755 100644
--- a/srcpkgs/mosh/template
+++ b/srcpkgs/mosh/template
@@ -1,9 +1,9 @@
 # Template file for 'mosh'
 pkgname=mosh
 version=1.4.0
-revision=3
+revision=4
 build_style=gnu-configure
-hostmakedepends="perl pkg-config protobuf"
+hostmakedepends="perl pkg-config protobuf autoconf automake"
 makedepends="ncurses-devel protobuf-devel libutempter-devel openssl-devel"
 depends="perl-IO-Tty"
 short_desc="Mobile shell, remote terminal application that allows roaming"
@@ -16,4 +16,5 @@ checksum=872e4b134e5df29c8933dff12350785054d2fd2839b5ae6b5587b14db1465ddd
 pre_configure() {
 	# make local.test always succeed. It fails due to missing X server in chroot.
 	printf "%s\n" "#!/bin/sh" ":" > src/tests/local.test
+	autoreconf -fi
 }

From 27ef11bd280f846f0a024082ae8d2f26ca6403e2 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 20/34] libcompizconfig: rebuild against protobuf-23.3_1

---
 srcpkgs/libcompizconfig/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libcompizconfig/template b/srcpkgs/libcompizconfig/template
index 5b59eda97c78..3fb33698bfa6 100644
--- a/srcpkgs/libcompizconfig/template
+++ b/srcpkgs/libcompizconfig/template
@@ -1,7 +1,7 @@
 # Template file for 'libcompizconfig'
 pkgname=libcompizconfig
 version=0.8.18
-revision=10
+revision=11
 build_style=gnu-configure
 configure_args="--disable-static"
 hostmakedepends="automake intltool libtool pkg-config protobuf"

From 8a56c651c3c9e7727d1b352546f63cdec86a6235 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 21/34] libArcus: rebuild against protobuf-23.3_1

---
 srcpkgs/libArcus/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libArcus/template b/srcpkgs/libArcus/template
index d6fedecc5599..1cf1b866d650 100644
--- a/srcpkgs/libArcus/template
+++ b/srcpkgs/libArcus/template
@@ -1,7 +1,7 @@
 # Template file for 'libArcus'
 pkgname=libArcus
 version=4.13.1
-revision=4
+revision=5
 build_style=cmake
 configure_args="-DBUILD_EXAMPLES=OFF"
 hostmakedepends="protobuf python3-sip-devel"

From 0cb243ee5db3232151e128443737df6a0ec32785 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 22/34] kismet: rebuild against protobuf-23.3_1

---
 srcpkgs/kismet/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/kismet/template b/srcpkgs/kismet/template
index 48a0fc5fa6f1..46cbf7b31811 100644
--- a/srcpkgs/kismet/template
+++ b/srcpkgs/kismet/template
@@ -1,7 +1,7 @@
 # Template file for 'kismet'
 pkgname=kismet
 version=2022.08.R1
-revision=2
+revision=3
 _realver="${version//./-}"
 build_style=gnu-configure
 configure_args="--disable-python-tools"

From 50ff41f5a772881a9750a088801b1d2cf525c534 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 23/34] cura-engine: rebuild against protobuf-23.3_1

---
 srcpkgs/cura-engine/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cura-engine/template b/srcpkgs/cura-engine/template
index 4f3118d30252..1f23ddace749 100644
--- a/srcpkgs/cura-engine/template
+++ b/srcpkgs/cura-engine/template
@@ -1,7 +1,7 @@
 # Template file for 'cura-engine'
 pkgname=cura-engine
 version=4.13.1
-revision=3
+revision=4
 build_style=cmake
 configure_args="-DCURA_ENGINE_VERSION=${version}"
 hostmakedepends="protobuf git"

From c64037471e5c129a36546187d4eac13fb1cfa747 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 24/34] clementine: rebuild against protobuf-23.3_1

---
 srcpkgs/clementine/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/clementine/template b/srcpkgs/clementine/template
index acd098124529..a1cacbb73d8e 100644
--- a/srcpkgs/clementine/template
+++ b/srcpkgs/clementine/template
@@ -1,11 +1,11 @@
 # Template file for 'clementine'
 pkgname=clementine
 version=1.4.0rc1
-revision=10
+revision=11
 _fullver=${version}-873-g3471134d5
 build_style=cmake
 configure_args="-DUSE_SYSTEM_TAGLIB=ON -DBUILD_WERROR=OFF -DUSE_SYSTEM_PROJECTM=ON
- -DFORCE_GIT_REVISION=${_fullver}"
+ -DFORCE_GIT_REVISION=${_fullver} -DCMAKE_CXX_STANDARD=17"
 hostmakedepends="gettext sparsehash pkg-config qt5-qmake qt5-host-tools protobuf"
 makedepends="chromaprint-devel boost-devel gst-plugins-base1-devel
  qt5-devel glew-devel sqlite-devel protobuf-devel libplist-devel

From b75977a4f6a1f7e3d564d83a955358c0f25e2f48 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 25/34] bloaty: rebuild against protobuf-23.3_1

---
 srcpkgs/bloaty/patches/cpp17.patch         | 20 ++++++++
 srcpkgs/bloaty/patches/system-abseil.patch | 58 ++++++++++++++++++++++
 srcpkgs/bloaty/template                    |  2 +-
 3 files changed, 79 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/bloaty/patches/cpp17.patch
 create mode 100644 srcpkgs/bloaty/patches/system-abseil.patch

diff --git a/srcpkgs/bloaty/patches/cpp17.patch b/srcpkgs/bloaty/patches/cpp17.patch
new file mode 100644
index 000000000000..ca458dd79fb6
--- /dev/null
+++ b/srcpkgs/bloaty/patches/cpp17.patch
@@ -0,0 +1,20 @@
+--- bloaty-1.1/CMakeLists.txt	2020-05-24 06:43:55.000000000 +0200
++++ -	2023-07-08 12:51:24.115742363 +0200
+@@ -2,7 +2,7 @@
+ cmake_policy(SET CMP0048 NEW)
+ project (Bloaty VERSION 1.0)
+ project (Bloaty VERSION 1.1)
+-set(CMAKE_CXX_STANDARD 11)
++set(CMAKE_CXX_STANDARD 17)
+ 
+ # Options we define for users.
+ option(BLOATY_ENABLE_ASAN "Enable address sanitizer." OFF)
+@@ -93,7 +93,7 @@
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/src")
+ 
+ # Baseline build flags.
+-set(CMAKE_CXX_FLAGS "-std=c++11 -W -Wall -Wno-sign-compare")
++set(CMAKE_CXX_FLAGS "-W -Wall -Wno-sign-compare")
+ set(CMAKE_CXX_FLAGS_DEBUG "-g1")
+ set(CMAKE_CXX_FLAGS_RELEASE "-O2")
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g1")
diff --git a/srcpkgs/bloaty/patches/system-abseil.patch b/srcpkgs/bloaty/patches/system-abseil.patch
new file mode 100644
index 000000000000..799e10a3b540
--- /dev/null
+++ b/srcpkgs/bloaty/patches/system-abseil.patch
@@ -0,0 +1,58 @@
+--- bloaty-1.1/CMakeLists.txt	2020-05-24 06:43:55.000000000 +0200
++++ -	2023-07-08 13:07:06.559266321 +0200
+@@ -35,6 +35,12 @@
+   MESSAGE(STATUS "pkg-config not found, using bundled dependencies")
+ endif(${PKG_CONFIG_FOUND})
+ endif(UNIX)
++find_package(absl CONFIG)
++if(absl_FOUND)
++  MESSAGE(STATUS "System absl found, using")
++else()
++  MESSAGE(STATUS "System absl not found, using bundled version")
++endif()
+ 
+ # Set default build type.
+ if(NOT CMAKE_BUILD_TYPE)
+@@ -89,7 +95,6 @@
+ 
+ include_directories(.)
+ include_directories(src)
+-include_directories(third_party/abseil-cpp)
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/src")
+ 
+ # Baseline build flags.
+@@ -159,24 +164,6 @@
+     src/macho.cc
+     src/range_map.cc
+     src/webassembly.cc
+-    # Until Abseil has a proper CMake build system
+-    third_party/abseil-cpp/absl/base/internal/raw_logging.cc # Grrrr...
+-    third_party/abseil-cpp/absl/base/internal/throw_delegate.cc
+-    third_party/abseil-cpp/absl/numeric/int128.cc
+-    third_party/abseil-cpp/absl/strings/ascii.cc
+-    third_party/abseil-cpp/absl/strings/charconv.cc
+-    third_party/abseil-cpp/absl/strings/escaping.cc
+-    third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc
+-    third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc
+-    third_party/abseil-cpp/absl/strings/internal/memutil.cc
+-    third_party/abseil-cpp/absl/strings/internal/utf8.cc
+-    third_party/abseil-cpp/absl/strings/match.cc
+-    third_party/abseil-cpp/absl/strings/numbers.cc
+-    third_party/abseil-cpp/absl/strings/str_cat.cc
+-    third_party/abseil-cpp/absl/strings/string_view.cc
+-    third_party/abseil-cpp/absl/strings/str_split.cc
+-    third_party/abseil-cpp/absl/strings/substitute.cc
+-    third_party/abseil-cpp/absl/types/bad_optional_access.cc
+     # One source file, no special build system needed.
+     third_party/demumble/third_party/libcxxabi/cxa_demangle.cpp
+     )
+@@ -214,6 +201,9 @@
+   endif(${PROTOBUF_FOUND})
+ endif(UNIX)
+ 
++list(APPEND LIBBLOATY_LIBS absl::strings)
++list(APPEND LIBBLOATY_LIBS absl::optional)
++
+ if(DEFINED ENV{LIB_FUZZING_ENGINE})
+   message("LIB_FUZZING_ENGINE set, building fuzz_target instead of Bloaty")
+   add_executable(fuzz_target tests/fuzz_target.cc)
diff --git a/srcpkgs/bloaty/template b/srcpkgs/bloaty/template
index 226d2f30ffcd..2a79fb502f99 100644
--- a/srcpkgs/bloaty/template
+++ b/srcpkgs/bloaty/template
@@ -1,7 +1,7 @@
 # Template file for 'bloaty'
 pkgname=bloaty
 version=1.1
-revision=11
+revision=12
 build_style=cmake
 hostmakedepends="pkg-config protobuf"
 makedepends="capstone-devel protobuf-devel re2-devel zlib-devel"

From 6da9195b8d3e3d80c17f851f5d486e3f0581934c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 26/34] astroid: rebuild against protobuf-23.3_1

---
 srcpkgs/astroid/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/astroid/template            |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/astroid/patches/cpp17.patch

diff --git a/srcpkgs/astroid/patches/cpp17.patch b/srcpkgs/astroid/patches/cpp17.patch
new file mode 100644
index 000000000000..9ac9a9f952e6
--- /dev/null
+++ b/srcpkgs/astroid/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- astroid-0.16/CMakeLists.txt	2021-08-05 15:31:11.000000000 +0200
++++ -	2023-07-03 21:53:30.304595787 +0200
+@@ -145,7 +145,7 @@
+ # compile flags and options
+ #
+ 
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ 
+ include_directories (
+   ${GTKMM3_INCLUDE_DIRS}
diff --git a/srcpkgs/astroid/template b/srcpkgs/astroid/template
index 25d3da44e024..8fd1c032be2c 100644
--- a/srcpkgs/astroid/template
+++ b/srcpkgs/astroid/template
@@ -1,7 +1,7 @@
 # Template file for 'astroid'
 pkgname=astroid
 version=0.16
-revision=8
+revision=9
 build_style=cmake
 build_helper=gir
 hostmakedepends="pkg-config scdoc protobuf gobject-introspection"

From 22e75879ef2b82f8535e00a65797794db0181678 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 27/34] android-tools: rebuild against protobuf-23.3_1

---
 .../android-tools/patches/protobuf-23.patch   | 31 +++++++++++++++++++
 srcpkgs/android-tools/template                |  2 +-
 2 files changed, 32 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/android-tools/patches/protobuf-23.patch

diff --git a/srcpkgs/android-tools/patches/protobuf-23.patch b/srcpkgs/android-tools/patches/protobuf-23.patch
new file mode 100644
index 000000000000..21012126ea9a
--- /dev/null
+++ b/srcpkgs/android-tools/patches/protobuf-23.patch
@@ -0,0 +1,31 @@
+--- android-tools-34.0.1.orig/vendor/extras/libjsonpb/parse/jsonpb.cpp  2023-06-28 23:15:15.414236253 +0200
++++ android-tools-34.0.1/vendor/extras/libjsonpb/parse/jsonpb.cpp       2023-06-28 23:34:21.672962973 +0200
+@@ -51,7 +51,7 @@
+ #if GOOGLE_PROTOBUF_VERSION < 3016000
+     return MakeError<std::string>(status.error_message().as_string());
+ #else
+-    return MakeError<std::string>(status.message().as_string());
++    return MakeError<std::string>(std::string(status.message()));
+ #endif
+   }
+   return ErrorOr<std::string>(std::move(json));
+@@ -68,7 +68,7 @@
+ #if GOOGLE_PROTOBUF_VERSION < 3016000
+     return MakeError<std::monostate>(status.error_message().as_string());
+ #else
+-    return MakeError<std::monostate>(status.message().as_string());
++    return MakeError<std::monostate>(std::string(status.message()));
+ #endif
+   }
+   if (!message->ParseFromString(binary)) {
+--- a/vendor/CMakeLists.partition.txt	2023-03-03 17:18:50.000000000 +0100
++++ -	2023-07-10 23:06:19.290718502 +0200
+@@ -20,7 +20,7 @@
+ 
+ add_library(libjsonpbparse STATIC
+ 	extras/libjsonpb/parse/jsonpb.cpp)
+-target_link_libraries(libjsonpbparse PRIVATE libbase)
++target_link_libraries(libjsonpbparse PRIVATE libbase absl_status)
+ target_include_directories(libjsonpbparse PUBLIC
+ 	extras/libjsonpb/parse/include)
+ 
diff --git a/srcpkgs/android-tools/template b/srcpkgs/android-tools/template
index 329674482b69..b813474eace0 100644
--- a/srcpkgs/android-tools/template
+++ b/srcpkgs/android-tools/template
@@ -1,7 +1,7 @@
 # Template file for 'android-tools'
 pkgname=android-tools
 version=34.0.1
-revision=1
+revision=2
 archs="armv* aarch64* x86_64* i686* ppc64le*"
 build_style=cmake
 hostmakedepends="perl go protobuf pkg-config"

From ea01fd01577cdfce4ac08b2e2278db60403e9776 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:06:25 +0200
Subject: [PATCH 28/34] justbuild: rebuild against grpc-1.56.0_1

---
 srcpkgs/justbuild/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index ee36f6dae575..f933611d1283 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
 # Template file for 'justbuild'
 pkgname=justbuild
 version=1.1.2
-revision=2
+revision=3
 create_wrksrc=yes
 hostmakedepends="jo pandoc pkg-config python3 tar unzip wget"
 makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++

From e295e6479f3c9a19dcda23ac36f7657d99aa5325 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Wed, 28 Jun 2023 11:07:13 +0200
Subject: [PATCH 29/34] sysdig: update to 0.31.5.

---
 .../sysdig/files/libsinsp-absl-protobuf.patch |  11 +
 srcpkgs/sysdig/files/libsinsp-zstd.patch      |  22 +
 ...d9aab87801281e22898242e24e0bc63873b2.patch | 557 ++++++++++++++++++
 .../falcosecurity-libs-nodownload.patch       |  28 +
 srcpkgs/sysdig/template                       |  37 +-
 5 files changed, 639 insertions(+), 16 deletions(-)
 create mode 100644 srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch
 create mode 100644 srcpkgs/sysdig/files/libsinsp-zstd.patch
 create mode 100644 srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
 create mode 100644 srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch

diff --git a/srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch b/srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch
new file mode 100644
index 000000000000..387be65954e6
--- /dev/null
+++ b/srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch
@@ -0,0 +1,11 @@
+--- a/userspace/libsinsp/CMakeLists.txt	2023-06-05 10:25:32.000000000 +0200
++++ -	2023-07-11 09:03:42.496439385 +0200
+@@ -289,7 +289,7 @@
+ 	endif()
+ endif() # NOT WIN32
+ 
+-
++LIST(APPEND SINSP_LIBRARIES absl_log_internal_message absl_log_internal_nullguard)
+ target_link_libraries(sinsp ${SINSP_LIBRARIES})
+ 
+ if(APPLE)
diff --git a/srcpkgs/sysdig/files/libsinsp-zstd.patch b/srcpkgs/sysdig/files/libsinsp-zstd.patch
new file mode 100644
index 000000000000..e99e4f7c1207
--- /dev/null
+++ b/srcpkgs/sysdig/files/libsinsp-zstd.patch
@@ -0,0 +1,22 @@
+diff --git a/userspace/libsinsp/CMakeLists.txt b/userspace/libsinsp/CMakeLists.txt
+index 18e59b1..b23e890 100644
+--- a/userspace/libsinsp/CMakeLists.txt
++++ b/userspace/libsinsp/CMakeLists.txt
+@@ -38,6 +38,7 @@ include(ExternalProject)
+ 
+ if(NOT WIN32 AND NOT APPLE)
+ 	include(b64)
++	find_library(ZSTD_LIB NAMES zstd)
+ endif()
+ 
+ include(jsoncpp)
+@@ -246,7 +247,8 @@ if(NOT WIN32)
+ 				"${PROTOBUF_LIB}"
+ 				"${CARES_LIB}"
+ 				"${JQ_LIB}"
+-				"${B64_LIB}")
++				"${B64_LIB}"
++				"${ZSTD_LIB}")
+ 
+ 			if(NOT MUSL_OPTIMIZED_BUILD)
+ 				list(APPEND SINSP_LIBRARIES
diff --git a/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch b/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
new file mode 100644
index 000000000000..54c2ed8d0d98
--- /dev/null
+++ b/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
@@ -0,0 +1,557 @@
+From 3d22309a7317d500f75d053af6f9e5b5b5728b40 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 09:56:04 +0000
+Subject: [PATCH 1/6] update(cmake): bump driver to 5.0.0+driver
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ cmake/modules/driver.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/driver.cmake b/cmake/modules/driver.cmake
+index bee1926d3a..7fd35d7f99 100644
+--- a/cmake/modules/driver.cmake
++++ b/cmake/modules/driver.cmake
+@@ -31,8 +31,8 @@ else()
+   # In case you want to test against another driver version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DDRIVER_VERSION=dev ..`
+   if(NOT DRIVER_VERSION)
+-    set(DRIVER_VERSION "4.0.1+driver")
+-    set(DRIVER_CHECKSUM "SHA256=424d647aa6b6fa45b6701c4bbc9293c161ed00a08254d83eea419c0a736f280d")
++    set(DRIVER_VERSION "5.0.0+driver")
++    set(DRIVER_CHECKSUM "SHA256=c988ca7ac7d174f62d1bfbaaca49efd117f7b329f474d1b46b643635b2e35083")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+
+From 847e602404dcee85f06dde5a1d8ad0c740c49c98 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 09:56:08 +0000
+Subject: [PATCH 2/6] update(cmake): bump libs to 0.11.0-rc1
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ cmake/modules/falcosecurity-libs.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index b345c057ad..f30233b9e3 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -32,8 +32,8 @@ else()
+   # In case you want to test against another falcosecurity/libs version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DFALCOSECURITY_LIBS_VERSION=dev ..`
+   if(NOT FALCOSECURITY_LIBS_VERSION)
+-    set(FALCOSECURITY_LIBS_VERSION "0.10.5")
+-    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=2a4b37c08bec4ba81326314831f341385aff267062e8d4483437958689662936")
++    set(FALCOSECURITY_LIBS_VERSION "0.11.0-rc1")
++    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=bb6e57f66ae85dcda6e695226cd14082d9a1215902909cdde5b83f7abef44d8f")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+
+From 1d1dbaf06265d8eefd4038e8474f71f7958ec840 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 10:43:27 +0000
+Subject: [PATCH 3/6] fix(cmake): solve c++17 compilation issues
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ CMakeLists.txt                         |  3 +++
+ cmake/modules/falcosecurity-libs.cmake | 10 +++++-----
+ 2 files changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0309d66633..6d28c6c67d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -146,6 +146,9 @@ if(NOT DEFINED SYSDIG_COMPONENT_NAME)
+     set(SYSDIG_COMPONENT_NAME "${CMAKE_PROJECT_NAME}")
+ endif()
+ 
++set(CMAKE_CXX_STANDARD 17)
++set(CMAKE_CXX_EXTENSIONS OFF)
++
+ include(falcosecurity-libs)
+ include(yaml-cpp)
+ include(nlohmann-json)
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index f30233b9e3..fe5dacd7ad 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -94,12 +94,12 @@ else()
+ endif()
+ 
+ include(CheckCXXCompilerFlag)
+-CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX14)
+-if(CREATE_TEST_TARGETS AND NOT WIN32 AND COMPILER_SUPPORTS_CXX14)
+-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
++CHECK_CXX_COMPILER_FLAG("-std=c++17" COMPILER_SUPPORTS_CXX17)
++if(CREATE_TEST_TARGETS AND NOT WIN32 AND COMPILER_SUPPORTS_CXX17)
++	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ 	include(gtest)
+-elseif(CREATE_TEST_TARGETS AND NOT COMPILER_SUPPORTS_CXX14)
+-	message(FATAL_ERROR "Your compiler doesn't support c++14: cannot include gtest and create test targets.")
++elseif(CREATE_TEST_TARGETS AND NOT COMPILER_SUPPORTS_CXX17)
++	message(FATAL_ERROR "Your compiler doesn't support c++17: cannot include gtest and create test targets.")
+ endif()
+ 
+ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
+
+From d5fcbad2d5ea63e1439ab7174a5cfd9a7a2e1545 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 10:44:05 +0000
+Subject: [PATCH 4/6] update(userspace): sync sysdig and csysdig with latest
+ libs
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ userspace/sysdig/csysdig.cpp                |  6 +--
+ userspace/sysdig/sysdig.cpp                 |  9 +---
+ userspace/sysdig/utils/plugin_utils.cpp     | 37 ++++++++++-----
+ userspace/sysdig/utils/sinsp_opener.cpp     | 18 ++++----
+ userspace/sysdig/utils/supported_events.cpp | 50 +++++++++++----------
+ userspace/sysdig/utils/supported_fields.cpp | 15 +++----
+ 6 files changed, 70 insertions(+), 65 deletions(-)
+
+diff --git a/userspace/sysdig/csysdig.cpp b/userspace/sysdig/csysdig.cpp
+index 9419882341..edd8129a0e 100644
+--- a/userspace/sysdig/csysdig.cpp
++++ b/userspace/sysdig/csysdig.cpp
+@@ -39,11 +39,11 @@ limitations under the License.
+ #include "chisel.h"
+ #include "chisel_utils.h"
+ #endif
+-#include "fields_info.h"
+ #include "chisel_table.h"
+ #include "utils.h"
+ #include "utils/plugin_utils.h"
+ #include "utils/sinsp_opener.h"
++#include "utils/supported_fields.h"
+ 
+ #ifdef _WIN32
+ #include "win32/getopt.h"
+@@ -704,8 +704,8 @@ sysdig_init_res csysdig_init(int argc, char **argv)
+ 		//
+ 		if(list_flds)
+ 		{
+-			list_fields(false, false);
+-
++			// todo(jasondellaluce): support source selection, verbosity, markdown
++			print_supported_fields(inspector, plugins, "", true, false);
+ 			res.m_res = EXIT_SUCCESS;
+ 			goto exit;
+ 		}
+diff --git a/userspace/sysdig/sysdig.cpp b/userspace/sysdig/sysdig.cpp
+index 40f2b39ef9..a978070d73 100644
+--- a/userspace/sysdig/sysdig.cpp
++++ b/userspace/sysdig/sysdig.cpp
+@@ -43,7 +43,6 @@ limitations under the License.
+ #include "chisel_utils.h"
+ #include "chisel_fields_info.h"
+ #endif
+-#include "fields_info.h"
+ #include "utils.h"
+ #include "plugin.h"
+ #include "plugin_manager.h"
+@@ -455,8 +454,6 @@ void print_summary_table(sinsp* inspector,
+ 						 std::vector<summary_table_entry> &summary_table,
+ 						 uint32_t nentries)
+ {
+-	sinsp_evttables* einfo = inspector->get_event_info_tables();
+-
+ 	std::cout << "----------------------\n";
+ 	std::string tstr = std::string("Event");
+ 	tstr.resize(16, ' ');
+@@ -478,7 +475,7 @@ void print_summary_table(sinsp* inspector,
+ 
+ 		if(e.m_is_unsupported_syscall)
+ 		{
+-			tstr = einfo->m_syscall_info_table[e.m_id / 2].name;
++			tstr = scap_get_ppm_sc_name((ppm_sc_code) (e.m_id / 2));
+ 			tstr.resize(16, ' ');
+ 
+ 			printf("%s%s%" PRIu64 "\n",
+@@ -488,7 +485,7 @@ void print_summary_table(sinsp* inspector,
+ 		}
+ 		else
+ 		{
+-			tstr = einfo->m_event_info[e.m_id].name;
++			tstr = libsinsp::events::info((ppm_event_code) e.m_id)->name;
+ 			tstr.resize(16, ' ');
+ 
+ 			printf("%s%s%" PRIu64 "\n",
+@@ -1862,8 +1859,6 @@ sysdig_init_res sysdig_init(int argc, char **argv)
+ 					res.m_res = EXIT_FAILURE;
+ 					goto exit;
+ 				}
+-
+-				inspector->filter_proc_table_when_saving(true);
+ 			}
+ 			else
+ 			{
+diff --git a/userspace/sysdig/utils/plugin_utils.cpp b/userspace/sysdig/utils/plugin_utils.cpp
+index ad69543b3e..b99de98b66 100644
+--- a/userspace/sysdig/utils/plugin_utils.cpp
++++ b/userspace/sysdig/utils/plugin_utils.cpp
+@@ -146,6 +146,7 @@ void plugin_utils::plugin_entry::init(sinsp *inspector)
+     }
+     if (plugin->caps() & CAP_EXTRACTION)
+     {
++        // todo(jasondellaluce): manage field name conflicts
+         g_filterlist.add_filter_check(sinsp_plugin::new_filtercheck(plugin));
+     }
+     inited = true;
+@@ -185,13 +186,30 @@ void plugin_utils::plugin_entry::print_info(sinsp* inspector, std::ostringstream
+     os << "Capabilities: " << std::endl;
+     if(plugin->caps() & CAP_SOURCING)
+     {
+-        os << "  - Event Sourcing (ID=" << plugin->id();
+-        os << ", source='" << plugin->event_source() << "')" << std::endl;
++        os << "  - Event Sourcing";
++        if (plugin->id() != 0)
++        {
++            os << " (ID=" << plugin->id();
++            os << ", source='" << plugin->event_source() << "')";
++        }
++        else
++        {
++            os << " (system events)";
++        }
++        os << std::endl;
+     }
+     if(plugin->caps() & CAP_EXTRACTION)
+     {
+         os << "  - Field Extraction" << std::endl;
+     }
++    if(plugin->caps() & CAP_PARSING)
++    {
++        os << "  - Event Parsing" << std::endl;
++    }
++    if(plugin->caps() & CAP_ASYNC)
++    {
++        os << "  - Async Events" << std::endl;
++    }
+ }
+ 
+ void plugin_utils::add_dir(std::string dirname, bool front_add)
+@@ -609,7 +627,7 @@ std::vector<std::string> plugin_utils::get_event_sources(sinsp *inspector)
+         // the plugin, in case it was not registered already
+         pl.get_plugin(inspector);
+     }
+-    return inspector->get_plugin_manager()->sources();
++    return inspector->event_sources();
+ }
+ 
+ std::vector<std::unique_ptr<sinsp_filter_check>> plugin_utils::get_filterchecks(sinsp *inspector, const std::string& source)
+@@ -617,16 +635,13 @@ std::vector<std::unique_ptr<sinsp_filter_check>> plugin_utils::get_filterchecks(
+     std::vector<std::unique_ptr<sinsp_filter_check>> list;
+     list.push_back(std::unique_ptr<sinsp_filter_check>(inspector->new_generic_filtercheck()));
+ 
+-    // todo(jasondellaluce): remove this once we support extracting plugin fields from syscalls
+-    if (source != s_syscall_source)
++    for (auto &pl : m_plugins)
+     {
+-        for (auto &pl : m_plugins)
++        auto plugin = pl.get_plugin(inspector);
++        if (plugin->caps() & CAP_EXTRACTION
++            && sinsp_plugin::is_source_compatible(plugin->extract_event_sources(), source))
+         {
+-            auto plugin = pl.get_plugin(inspector);
+-            if (plugin->caps() & CAP_EXTRACTION && plugin->is_source_compatible(source))
+-            {
+-                list.push_back(std::unique_ptr<sinsp_filter_check>(sinsp_plugin::new_filtercheck(plugin)));
+-            }
++            list.push_back(std::unique_ptr<sinsp_filter_check>(sinsp_plugin::new_filtercheck(plugin)));
+         }
+     }
+     return list;
+diff --git a/userspace/sysdig/utils/sinsp_opener.cpp b/userspace/sysdig/utils/sinsp_opener.cpp
+index eafdb631d3..7315b99c7d 100644
+--- a/userspace/sysdig/utils/sinsp_opener.cpp
++++ b/userspace/sysdig/utils/sinsp_opener.cpp
+@@ -50,14 +50,12 @@ void sinsp_opener::open(sinsp* inspector) const
+ 
+ #if defined(HAS_CAPTURE)
+     /* Populate syscalls of interest */
+-    std::unordered_set<uint32_t> sc_of_interest = inspector->get_all_ppm_sc();
++    auto sc_of_interest = libsinsp::events::all_sc_set();
+ 
+-    /* Populate tracepoints of interest */
+-    std::unordered_set<uint32_t> tp_of_interest = inspector->get_all_tp();
+     if(!options.page_faults)
+     {
+-        tp_of_interest.erase(PAGE_FAULT_USER);
+-        tp_of_interest.erase(PAGE_FAULT_KERN);
++        sc_of_interest.remove(ppm_sc_code::PPM_SC_PAGE_FAULT_USER);
++        sc_of_interest.remove(ppm_sc_code::PPM_SC_PAGE_FAULT_KERNEL);
+     }
+ 
+     if(udig.enabled)
+@@ -77,7 +75,7 @@ void sinsp_opener::open(sinsp* inspector) const
+ #ifdef HAS_MODERN_BPF
+ 		if(bpf.modern)
+ 		{
+-			inspector->open_modern_bpf(DEFAULT_DRIVER_BUFFER_BYTES_DIM, bpf.cpus_for_each_syscall_buffer, true, sc_of_interest, tp_of_interest);
++			inspector->open_modern_bpf(DEFAULT_DRIVER_BUFFER_BYTES_DIM, bpf.cpus_for_each_syscall_buffer, true, sc_of_interest);
+ 			return;
+ 		}
+ #endif
+@@ -95,7 +93,7 @@ void sinsp_opener::open(sinsp* inspector) const
+ 
+         try
+         {
+-            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+         }
+         catch(const sinsp_exception& e)
+         {
+@@ -103,7 +101,7 @@ void sinsp_opener::open(sinsp* inspector) const
+             {
+                 fprintf(stderr, "Unable to load the BPF probe\n");
+             }
+-            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+         }
+ 
+         // Enable gathering the CPU from the kernel module
+@@ -114,7 +112,7 @@ void sinsp_opener::open(sinsp* inspector) const
+     // default to kernel module if no other option is specified
+     try
+     {
+-        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+     }
+     catch(const sinsp_exception& e)
+     {
+@@ -124,7 +122,7 @@ void sinsp_opener::open(sinsp* inspector) const
+         {
+             fprintf(stderr, "Unable to load the driver\n");
+         }
+-        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+     }
+ 
+     // Enable gathering the CPU from the kernel module
+diff --git a/userspace/sysdig/utils/supported_events.cpp b/userspace/sysdig/utils/supported_events.cpp
+index 1442911209..7f0d630011 100644
+--- a/userspace/sysdig/utils/supported_events.cpp
++++ b/userspace/sysdig/utils/supported_events.cpp
+@@ -27,25 +27,25 @@ struct event_entry
+ {
+     bool is_enter;
+     std::string name;
+-    struct ppm_event_info info;
++    const ppm_event_info* info;
+ };
+ 
+-static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include_generics)
++static std::vector<event_entry> get_event_entries(bool include_generics)
+ {
+     event_entry entry;
+     std::vector<event_entry> events;
+-    const struct ppm_event_info* etable = inspector->get_event_info_tables()->m_event_info;
+ 
+     // skip generic events
+-    for(uint32_t evt = PPME_GENERIC_X + 1; evt < PPM_EVENT_MAX; evt++)
++    for(const auto& evt : libsinsp::events::all_event_set())
+     {
+-        if (!sinsp::is_old_version_event(evt)
+-                && !sinsp::is_unused_event(evt)
+-                && !sinsp::is_unknown_event(evt))
++        if (!libsinsp::events::is_generic(evt)
++            && !libsinsp::events::is_old_version_event(evt)
++            && !libsinsp::events::is_unused_event(evt)
++            && !libsinsp::events::is_unknown_event(evt))
+         {
+             entry.is_enter = PPME_IS_ENTER(evt);
+-            entry.name = etable[evt].name;
+-            entry.info = etable[evt];
++            entry.info = libsinsp::events::info(evt);
++			entry.name = entry.info->name;
+             events.push_back(entry);
+         }
+     }
+@@ -53,17 +53,19 @@ static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include
+     if (include_generics)
+     {
+         // append generic events
+-        const auto generic_syscalls = inspector->get_events_names({PPME_GENERIC_E});
+-        for (const auto& name : generic_syscalls)
+-        {
+-            for(uint32_t evt = PPME_GENERIC_E; evt <= PPME_GENERIC_X; evt++)
+-            {
+-                entry.is_enter = PPME_IS_ENTER(evt);
+-                entry.name = name;
+-                entry.info = etable[evt];
+-                events.push_back(entry);
+-            }
+-        }
++		const auto names = libsinsp::events::event_set_to_names({ppm_event_code::PPME_GENERIC_E});
++		for (const auto& name : names)
++		{
++			entry.is_enter = PPME_IS_ENTER(ppm_event_code::PPME_GENERIC_E);
++			entry.info = libsinsp::events::info(ppm_event_code::PPME_GENERIC_E);
++			entry.name = name;
++			events.push_back(entry);
++
++			entry.is_enter = PPME_IS_ENTER(ppm_event_code::PPME_GENERIC_X);
++			entry.info = libsinsp::events::info(ppm_event_code::PPME_GENERIC_X);
++			entry.name = name;
++			events.push_back(entry);
++		}
+     }
+ 
+     return events;
+@@ -71,7 +73,7 @@ static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include
+ 
+ void print_supported_events(sinsp* inspector, bool markdown)
+ {
+-    const auto events = get_event_entries(inspector, true);
++    const auto events = get_event_entries(true);
+ 
+     if(markdown)
+     {
+@@ -91,15 +93,15 @@ void print_supported_events(sinsp* inspector, bool markdown)
+             printf("%c %s(", dir, e.name.c_str());
+         }
+ 
+-        for(uint32_t k = 0; k < e.info.nparams; k++)
++        for(uint32_t k = 0; k < e.info->nparams; k++)
+         {
+             if(k != 0)
+             {
+                 printf(", ");
+             }
+ 
+-            printf("%s %s", param_type_to_string(e.info.params[k].type),
+-                e.info.params[k].name);
++            printf("%s %s", param_type_to_string(e.info->params[k].type),
++                e.info->params[k].name);
+         }
+         printf(")\n");
+     }
+diff --git a/userspace/sysdig/utils/supported_fields.cpp b/userspace/sysdig/utils/supported_fields.cpp
+index 6e2575b030..3127fb7220 100644
+--- a/userspace/sysdig/utils/supported_fields.cpp
++++ b/userspace/sysdig/utils/supported_fields.cpp
+@@ -35,11 +35,9 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+ {
+     std::vector<fields_info> field_infos;
+     std::vector<std::unique_ptr<const sinsp_filter_check>> filtecheck_lists; // only used to retain memory until we finish
+-    std::vector<std::string> sources = { s_syscall_source };
++    std::vector<std::string> sources = plugins.get_event_sources(inspector);
+ 
+     // add event sources defined by the loaded plugins
+-    const auto& plugin_sources = plugins.get_event_sources(inspector);
+-    sources.insert(sources.end(), plugin_sources.begin(), plugin_sources.end());
+     if (!source.empty())
+     {
+         bool found = false;
+@@ -66,7 +64,6 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+         }
+ 
+         std::vector<const filter_check_info*> filterchecks;
+-        // todo(jasondellaluce): change this once we support extracting plugin fields from syscalls
+         if (src == s_syscall_source)
+         {
+             std::vector<const filter_check_info*> all_checks;
+@@ -81,13 +78,11 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+                 }
+             }
+         }
+-        else
++
++        for (auto& check: plugins.get_filterchecks(inspector, src))
+         {
+-            for (auto& check: plugins.get_filterchecks(inspector, src))
+-            {
+-                filterchecks.push_back(check->get_fields());
+-                filtecheck_lists.push_back(std::move(check));
+-            }
++            filterchecks.push_back(check->get_fields());
++            filtecheck_lists.push_back(std::move(check));
+         }
+         
+         const auto classes = sinsp_filter_factory::check_infos_to_fieldclass_infos(filterchecks);
+
+From c8b0d055aec4d2378b7934dd9436fd4500d1021e Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 14:15:23 +0000
+Subject: [PATCH 5/6] fix: solve compilation issues on windows
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ CMakeLists.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6d28c6c67d..5afd967f27 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -148,6 +148,9 @@ endif()
+ 
+ set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_CXX_EXTENSIONS OFF)
++if(MSVC OR WIN32)
++	add_compile_definitions(_HAS_STD_BYTE=0)
++endif()
+ 
+ include(falcosecurity-libs)
+ include(yaml-cpp)
+
+From 954e6fc6238f21d4870a491395d68a7dd3062aa9 Mon Sep 17 00:00:00 2001
+From: Roberto Scolaro <roberto.scolaro21@gmail.com>
+Date: Mon, 5 Jun 2023 10:34:03 +0000
+Subject: [PATCH 6/6] update(cmake): bump libs 0.11.0 + driver 5.0.1
+
+Signed-off-by: Roberto Scolaro <roberto.scolaro21@gmail.com>
+---
+ CMakeLists.txt                         | 2 +-
+ cmake/modules/driver.cmake             | 4 ++--
+ cmake/modules/falcosecurity-libs.cmake | 4 ++--
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5afd967f27..f3f23b5e9a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -90,7 +90,7 @@ if(NOT WIN32)
+ 	endif()
+ 
+ 	set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_COMMON_FLAGS}")
+-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++0x")
++	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++17")
+ 
+ 	set(CMAKE_C_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+ 	set(CMAKE_CXX_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+diff --git a/cmake/modules/driver.cmake b/cmake/modules/driver.cmake
+index 7fd35d7f99..ca1e56718c 100644
+--- a/cmake/modules/driver.cmake
++++ b/cmake/modules/driver.cmake
+@@ -31,8 +31,8 @@ else()
+   # In case you want to test against another driver version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DDRIVER_VERSION=dev ..`
+   if(NOT DRIVER_VERSION)
+-    set(DRIVER_VERSION "5.0.0+driver")
+-    set(DRIVER_CHECKSUM "SHA256=c988ca7ac7d174f62d1bfbaaca49efd117f7b329f474d1b46b643635b2e35083")
++    set(DRIVER_VERSION "5.0.1+driver")
++    set(DRIVER_CHECKSUM "SHA256=8b197b916b6419dac8fb41807aa05d822164c7bfd2c3eef66d20d060a05a485a")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index fe5dacd7ad..c626d7944e 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -32,8 +32,8 @@ else()
+   # In case you want to test against another falcosecurity/libs version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DFALCOSECURITY_LIBS_VERSION=dev ..`
+   if(NOT FALCOSECURITY_LIBS_VERSION)
+-    set(FALCOSECURITY_LIBS_VERSION "0.11.0-rc1")
+-    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=bb6e57f66ae85dcda6e695226cd14082d9a1215902909cdde5b83f7abef44d8f")
++    set(FALCOSECURITY_LIBS_VERSION "0.11.0")
++    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=90414d00591986e94f2c49e7d65eef5c2dedee266354dd3db8234bb3b06c86fa")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
diff --git a/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch b/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch
new file mode 100644
index 000000000000..467cffacba2f
--- /dev/null
+++ b/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch
@@ -0,0 +1,28 @@
+diff --git a/cmake/modules/driver-repo/CMakeLists.txt b/cmake/modules/driver-repo/CMakeLists.txt
+index 479611a..5238121 100644
+--- a/cmake/modules/driver-repo/CMakeLists.txt
++++ b/cmake/modules/driver-repo/CMakeLists.txt
+@@ -25,8 +25,7 @@ message(STATUS "Driver version: ${DRIVER_VERSION}")
+ 
+ ExternalProject_Add(
+   driver
+-  URL "https://github.com/falcosecurity/libs/archive/${DRIVER_VERSION}.tar.gz"
+-  URL_HASH "${DRIVER_CHECKSUM}"
++  URL "${CMAKE_CURRENT_SOURCE_DIR}/../../../../libs-${DRIVER_VERSION}"
+   CONFIGURE_COMMAND ""
+   BUILD_COMMAND ""
+   INSTALL_COMMAND ""
+diff --git a/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt b/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
+index 2059547..74e78e2 100644
+--- a/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
++++ b/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
+@@ -25,8 +25,7 @@ message(STATUS "Libs version: ${FALCOSECURITY_LIBS_VERSION}")
+ 
+ ExternalProject_Add(
+   falcosecurity-libs
+-  URL "https://github.com/falcosecurity/libs/archive/${FALCOSECURITY_LIBS_VERSION}.tar.gz"
+-  URL_HASH "${FALCOSECURITY_LIBS_CHECKSUM}"
++  URL "${CMAKE_CURRENT_SOURCE_DIR}/../../../../libs-${FALCOSECURITY_LIBS_VERSION}"
+   CONFIGURE_COMMAND ""
+   BUILD_COMMAND ""
+   INSTALL_COMMAND ""
diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index 4a04e762468c..f8537a0f8bd3 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,43 +1,48 @@
 # Template file for 'sysdig'
 pkgname=sysdig
-version=0.28.0
-revision=8
+version=0.31.5
+revision=1
+_falcover=0.11.0
 build_style=cmake
+build_wrksrc="sysdig-${version}"
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF
  -DLUA_INCLUDE_DIR=${XBPS_CROSS_BASE}/usr/include/luajit-2.1
- -DLUA_LIBRARY=/usr/lib/libluajit-5.1.so -DCREATE_TEST_TARGETS=OFF"
-make_cmd=make
+ -DLUA_LIBRARY=/usr/lib/libluajit-5.1.so -DCREATE_TEST_TARGETS=OFF
+ -DUSE_BUNDLED_TBB=OFF -DBUILD_LIBSCAP_EXAMPLES=OFF
+ -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_EXTENSIONS=OFF
+ -DDRIVER_VERSION=${_falcover}"
 hostmakedepends="wget pkg-config protobuf"
-makedepends="LuaJIT-devel c-ares-devel elfutils-devel grpc-devel jsoncpp-devel
+makedepends="LuaJIT-devel c-ares-devel elfutils-devel grpc-devel
  libcurl-devel libprotoc-devel openssl-devel ncurses-devel protobuf-devel
- tbb-devel zlib-devel"
+ tbb-devel zlib-devel yaml-cpp-devel json-c++"
 depends="dkms"
 short_desc="Open source system-level exploration and troubleshooting tool"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0, MIT, GPL-2.0-only"
 homepage="http://www.sysdig.org/"
 changelog="https://github.com/draios/sysdig/releases"
-distfiles="https://github.com/draios/${pkgname}/archive/${version}.tar.gz"
-checksum=817e595d501acf3fe11dc659a154aadbba848dd87ae801f5bf34a42e84979f37
-disable_parallel_build=yes
-dkms_modules="scap 2160111cd088aea9ae2235d3385ecb0b1ab6623c"
+distfiles="https://github.com/draios/sysdig/archive/${version}.tar.gz
+ https://github.com/falcosecurity/libs/archive/${_falcover}.tar.gz"
+checksum="9af98cae7c38273f7429ba0df628c9745bd92c949f444e180b9dd800af14c6dd
+ 90414d00591986e94f2c49e7d65eef5c2dedee266354dd3db8234bb3b06c86fa"
+dkms_modules="scap ${_falcover}"
 nocross=yes
+patch_args="-Np1 --directory=${build_wrksrc}"
 
 case "$XBPS_TARGET_MACHINE" in
-	*-musl) configure_args+=" -DMUSL_OPTIMIZED_BUILD=On"
+	i686*) broken="/syscall_table.c:567:10: error: '__NR_rt_tgsigqueueinfo'";;
+	*-musl) configure_args+=" -DMUSL_OPTIMIZED_BUILD=On";;
 esac
 
-export CMAKE_GENERATOR="Unix Makefiles"
-
 # Avoid excessive warnings spam to the log
 CXXFLAGS="-Wno-deprecated-declarations"
 
-CXXFLAGS+=" -I/usr/include/grpc_absl"
+post_patch() {
+	patch -d "${wrksrc}/libs-${_falcover}" -Np1 < "${FILESDIR}/libsinsp-zstd.patch"
+	patch -d "${wrksrc}/libs-${_falcover}" -Np1 < "${FILESDIR}/libsinsp-absl-protobuf.patch"
 
-post_extract() {
 	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
-	vsed -e 's|-std=c++0x||' -i CMakeLists.txt
 }
 
 post_install() {

From ca6ca21821c1bd1783992f0fc50955ac677e6715 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 2 Jul 2023 13:36:29 +0200
Subject: [PATCH 30/34] protobuf-c: rebuild against 23.3

---
 ...4f3fd85a205eb7c90b790477d5415364209e.patch |  44 +++
 srcpkgs/protobuf-c/patches/66a0b0d2.patch     | 308 ++++++++++++++++++
 srcpkgs/protobuf-c/template                   |   8 +-
 3 files changed, 358 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
 create mode 100644 srcpkgs/protobuf-c/patches/66a0b0d2.patch

diff --git a/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch b/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
new file mode 100644
index 000000000000..7d1e97032d32
--- /dev/null
+++ b/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
@@ -0,0 +1,44 @@
+From 66574f3fd85a205eb7c90b790477d5415364209e Mon Sep 17 00:00:00 2001
+From: Steve Peters <scpeters@openrobotics.org>
+Date: Sat, 24 Jun 2023 22:15:42 -0700
+Subject: [PATCH] Use FileDescriptorLegacy for deprecated syntax()
+
+---
+ protoc-c/c_file.cc   | 2 +-
+ protoc-c/c_helpers.h | 3 ++-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/protoc-c/c_file.cc b/protoc-c/c_file.cc
+index 59c1824e..4b60b889 100644
+--- a/protoc-c/c_file.cc
++++ b/protoc-c/c_file.cc
+@@ -119,7 +119,7 @@ void FileGenerator::GenerateHeader(io::Printer* printer) {
+ 
+   int min_header_version = 1000000;
+ #if defined(HAVE_PROTO3)
+-  if (file_->syntax() == FileDescriptor::SYNTAX_PROTO3) {
++  if (FileDescriptorLegacy(file_).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3) {
+     min_header_version = 1003000;
+   }
+ #endif
+diff --git a/protoc-c/c_helpers.h b/protoc-c/c_helpers.h
+index 7598a4e1..87deea24 100644
+--- a/protoc-c/c_helpers.h
++++ b/protoc-c/c_helpers.h
+@@ -67,6 +67,7 @@
+ #include <vector>
+ #include <sstream>
+ #include <google/protobuf/descriptor.h>
++#include <google/protobuf/descriptor_legacy.h>
+ #include <protobuf-c/protobuf-c.pb.h>
+ #include <google/protobuf/io/printer.h>
+ 
+@@ -172,7 +173,7 @@ int compare_name_indices_by_name(const void*, const void*);
+ // This wrapper is needed to be able to compile against protobuf2.
+ inline int FieldSyntax(const FieldDescriptor* field) {
+ #ifdef HAVE_PROTO3
+-  return field->file()->syntax() == FileDescriptor::SYNTAX_PROTO3 ? 3 : 2;
++  return FileDescriptorLegacy(field->file()).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3 ? 3 : 2;
+ #else
+   return 2;
+ #endif
diff --git a/srcpkgs/protobuf-c/patches/66a0b0d2.patch b/srcpkgs/protobuf-c/patches/66a0b0d2.patch
new file mode 100644
index 000000000000..790db6329120
--- /dev/null
+++ b/srcpkgs/protobuf-c/patches/66a0b0d2.patch
@@ -0,0 +1,308 @@
+From 66a0b0d205224f63f19dd8f96abf9dcdc2112331 Mon Sep 17 00:00:00 2001
+From: Xiangyu Chen <xiangyu.chen@windriver.com>
+Date: Wed, 29 Mar 2023 14:25:17 +0800
+Subject: [PATCH] add support of protobuf 4.22.x
+
+after upgrade the protobuf to 4.22.x, the protobuf-c cannot compile anymore (#544) due to following changes:
+1.protobuf using c++14, that cause the command_line_interface.h report error
+2.protobuf using abseil-cpp library instead the trace API with GOOGLE_ header
+3. removed GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
+---
+ Makefile.am                   | 2 +-
+ configure.ac                  | 8 ++++++++
+ protoc-c/c_bytes_field.h      | 1 -
+ protoc-c/c_enum.h             | 1 -
+ protoc-c/c_enum_field.h       | 1 -
+ protoc-c/c_extension.h        | 1 -
+ protoc-c/c_field.cc           | 2 +-
+ protoc-c/c_field.h            | 3 ---
+ protoc-c/c_file.h             | 1 -
+ protoc-c/c_generator.h        | 2 --
+ protoc-c/c_helpers.cc         | 4 ++--
+ protoc-c/c_message.cc         | 4 ++--
+ protoc-c/c_message.h          | 1 -
+ protoc-c/c_message_field.h    | 3 ---
+ protoc-c/c_primitive_field.cc | 6 +++---
+ protoc-c/c_primitive_field.h  | 3 ---
+ protoc-c/c_service.h          | 1 -
+ protoc-c/c_string_field.h     | 1 -
+ 18 files changed, 17 insertions(+), 28 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index c7339efe..3b0d1d66 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -20,7 +20,7 @@ AM_CPPFLAGS = \
+ 	-I${top_builddir} \
+ 	-I${top_srcdir}
+ AM_CFLAGS = ${my_CFLAGS}
+-AM_LDFLAGS =
++AM_LDFLAGS = ${ABSL_LOG_INTERNAL_CHECK_OP_LIBS} ${ABSL_LOG_RAW_HASH_SET_LIBS}
+ 
+ # code coverage
+ 
+diff --git a/configure.ac b/configure.ac
+index f5a0261e..8ed549ac 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -78,6 +78,14 @@ if test "x$enable_protoc" != "xno"; then
+ 
+   AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
+ 
++# now checking 4.22.x protobuf, if so, set cxx as 17
++  AS_IF([pkg-config --atleast-version 4.22.0 protobuf],[AX_CXX_COMPILE_STDCXX(17, noext, mandatory)])
++
++  AS_IF([pkg-config --atleast-version 4.22.0 protobuf],
++    [PKG_CHECK_MODULES([ABSL_LOG_INTERNAL_CHECK_OP], [absl_log_internal_check_op],
++       [PKG_CHECK_MODULES([ABSL_LOG_RAW_HASH_SET], [absl_raw_hash_set], [], [AC_MSG_ERROR([Missing absl_raw_hash_set library.])])],
++       [AC_MSG_ERROR([Missing absl_log_internal_check_op library.])])])
++
+   PKG_CHECK_MODULES([protobuf], [protobuf >= 3.0.0],
+     [proto3_supported=yes],
+     [PKG_CHECK_MODULES([protobuf], [protobuf >= 2.6.0])]
+diff --git a/protoc-c/c_bytes_field.h b/protoc-c/c_bytes_field.h
+index bf873f0f..8fc63d35 100644
+--- a/protoc-c/c_bytes_field.h
++++ b/protoc-c/c_bytes_field.h
+@@ -88,7 +88,6 @@ class BytesFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(BytesFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_enum.h b/protoc-c/c_enum.h
+index 9c34b697..d5e58f0a 100644
+--- a/protoc-c/c_enum.h
++++ b/protoc-c/c_enum.h
+@@ -107,7 +107,6 @@ class EnumGenerator {
+   const EnumDescriptor* descriptor_;
+   std::string dllexport_decl_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_enum_field.h b/protoc-c/c_enum_field.h
+index 3f8c005d..03eb4028 100644
+--- a/protoc-c/c_enum_field.h
++++ b/protoc-c/c_enum_field.h
+@@ -86,7 +86,6 @@ class EnumFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_extension.h b/protoc-c/c_extension.h
+index 95413885..9c5797d6 100644
+--- a/protoc-c/c_extension.h
++++ b/protoc-c/c_extension.h
+@@ -99,7 +99,6 @@ class ExtensionGenerator {
+   std::string type_traits_;
+   std::string dllexport_decl_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ExtensionGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_field.cc b/protoc-c/c_field.cc
+index 0716744a..4abdc6d3 100644
+--- a/protoc-c/c_field.cc
++++ b/protoc-c/c_field.cc
+@@ -231,7 +231,7 @@ FieldGeneratorMap::~FieldGeneratorMap() {}
+ 
+ const FieldGenerator& FieldGeneratorMap::get(
+     const FieldDescriptor* field) const {
+-  GOOGLE_CHECK_EQ(field->containing_type(), descriptor_);
++  ABSL_CHECK_EQ(field->containing_type(), descriptor_);
+   return *field_generators_[field->index()];
+ }
+ 
+diff --git a/protoc-c/c_field.h b/protoc-c/c_field.h
+index 3cad35d3..76d3b0bc 100644
+--- a/protoc-c/c_field.h
++++ b/protoc-c/c_field.h
+@@ -104,8 +104,6 @@ class FieldGenerator {
+                                             const std::string &descriptor_addr) const;
+   const FieldDescriptor *descriptor_;
+ 
+- private:
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGenerator);
+ };
+ 
+ // Convenience class which constructs FieldGenerators for a Descriptor.
+@@ -122,7 +120,6 @@ class FieldGeneratorMap {
+ 
+   static FieldGenerator* MakeGenerator(const FieldDescriptor* field);
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGeneratorMap);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_file.h b/protoc-c/c_file.h
+index 8dfd8ba0..ec55906e 100644
+--- a/protoc-c/c_file.h
++++ b/protoc-c/c_file.h
+@@ -104,7 +104,6 @@ class FileGenerator {
+   std::unique_ptr<std::unique_ptr<ServiceGenerator>[]> service_generators_;
+   std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FileGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_generator.h b/protoc-c/c_generator.h
+index ac1ffafe..92601164 100644
+--- a/protoc-c/c_generator.h
++++ b/protoc-c/c_generator.h
+@@ -94,8 +94,6 @@ class PROTOC_C_EXPORT CGenerator : public CodeGenerator {
+                 OutputDirectory* output_directory,
+                 std::string* error) const;
+ 
+- private:
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(CGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_helpers.cc b/protoc-c/c_helpers.cc
+index 6fd0cd3a..1eaeeb42 100644
+--- a/protoc-c/c_helpers.cc
++++ b/protoc-c/c_helpers.cc
+@@ -286,7 +286,7 @@ const char* const kKeywordList[] = {
+ 
+ std::set<std::string> MakeKeywordsMap() {
+   std::set<std::string> result;
+-  for (int i = 0; i < GOOGLE_ARRAYSIZE(kKeywordList); i++) {
++  for (int i = 0; i < ABSL_ARRAYSIZE(kKeywordList); i++) {
+     result.insert(kKeywordList[i]);
+   }
+   return result;
+@@ -548,7 +548,7 @@ std::string CEscape(const std::string& src) {
+   std::unique_ptr<char[]> dest(new char[dest_length]);
+   const int len = CEscapeInternal(src.data(), src.size(),
+                                   dest.get(), dest_length, false);
+-  GOOGLE_DCHECK_GE(len, 0);
++  ABSL_DCHECK_GE(len, 0);
+   return std::string(dest.get(), len);
+ }
+ 
+diff --git a/protoc-c/c_message.cc b/protoc-c/c_message.cc
+index 37e8bf8b..c7e85155 100755
+--- a/protoc-c/c_message.cc
++++ b/protoc-c/c_message.cc
+@@ -499,7 +499,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ 	  // NOTE: not supported by protobuf
+ 	  vars["maybe_static"] = "";
+ 	  vars["field_dv_ctype"] = "{ ... }";
+-	  GOOGLE_LOG(DFATAL) << "Messages can't have default values!";
++	  ABSL_LOG(FATAL) << "Messages can't have default values!";
+ 	  break;
+ 	case FieldDescriptor::CPPTYPE_STRING:
+ 	  if (fd->type() == FieldDescriptor::TYPE_BYTES || opt.string_as_bytes())
+@@ -521,7 +521,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ 	    break;
+ 	  }
+ 	default:
+-	  GOOGLE_LOG(DFATAL) << "Unknown CPPTYPE";
++	  ABSL_LOG(FATAL) << "Unknown CPPTYPE";
+ 	  break;
+ 	}
+ 	if (!already_defined)
+diff --git a/protoc-c/c_message.h b/protoc-c/c_message.h
+index ea1c3ab3..e90782bf 100644
+--- a/protoc-c/c_message.h
++++ b/protoc-c/c_message.h
+@@ -137,7 +137,6 @@ class MessageGenerator {
+   std::unique_ptr<std::unique_ptr<EnumGenerator>[]> enum_generators_;
+   std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_message_field.h b/protoc-c/c_message_field.h
+index 39b8d999..42efe368 100644
+--- a/protoc-c/c_message_field.h
++++ b/protoc-c/c_message_field.h
+@@ -83,9 +83,6 @@ class MessageFieldGenerator : public FieldGenerator {
+   std::string GetDefaultValue(void) const;
+   void GenerateStaticInit(io::Printer* printer) const;
+ 
+- private:
+-
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_primitive_field.cc b/protoc-c/c_primitive_field.cc
+index 6990893f..d5a7b60c 100644
+--- a/protoc-c/c_primitive_field.cc
++++ b/protoc-c/c_primitive_field.cc
+@@ -99,7 +99,7 @@ void PrimitiveFieldGenerator::GenerateStructMembers(io::Printer* printer) const
+     case FieldDescriptor::TYPE_STRING  :
+     case FieldDescriptor::TYPE_BYTES   :
+     case FieldDescriptor::TYPE_GROUP   :
+-    case FieldDescriptor::TYPE_MESSAGE : GOOGLE_LOG(FATAL) << "not a primitive type"; break;
++    case FieldDescriptor::TYPE_MESSAGE : ABSL_LOG(FATAL) << "not a primitive type"; break;
+ 
+     // No default because we want the compiler to complain if any new
+     // types are added.
+@@ -143,7 +143,7 @@ std::string PrimitiveFieldGenerator::GetDefaultValue() const
+     case FieldDescriptor::CPPTYPE_BOOL:
+       return descriptor_->default_value_bool() ? "1" : "0";
+     default:
+-      GOOGLE_LOG(DFATAL) << "unexpected CPPTYPE in c_primitive_field";
++      ABSL_LOG(FATAL) << "unexpected CPPTYPE in c_primitive_field";
+       return "UNEXPECTED_CPPTYPE";
+   }
+ }
+@@ -197,7 +197,7 @@ void PrimitiveFieldGenerator::GenerateDescriptorInitializer(io::Printer* printer
+     case FieldDescriptor::TYPE_STRING  :
+     case FieldDescriptor::TYPE_BYTES   :
+     case FieldDescriptor::TYPE_GROUP   :
+-    case FieldDescriptor::TYPE_MESSAGE : GOOGLE_LOG(FATAL) << "not a primitive type"; break;
++    case FieldDescriptor::TYPE_MESSAGE : ABSL_LOG(FATAL) << "not a primitive type"; break;
+ 
+     // No default because we want the compiler to complain if any new
+     // types are added.
+diff --git a/protoc-c/c_primitive_field.h b/protoc-c/c_primitive_field.h
+index a9eb893b..d2bb7243 100644
+--- a/protoc-c/c_primitive_field.h
++++ b/protoc-c/c_primitive_field.h
+@@ -83,9 +83,6 @@ class PrimitiveFieldGenerator : public FieldGenerator {
+   std::string GetDefaultValue(void) const;
+   void GenerateStaticInit(io::Printer* printer) const;
+ 
+- private:
+-
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(PrimitiveFieldGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_service.h b/protoc-c/c_service.h
+index 27125a60..4737ff3b 100644
+--- a/protoc-c/c_service.h
++++ b/protoc-c/c_service.h
+@@ -101,7 +101,6 @@ class ServiceGenerator {
+   const ServiceDescriptor* descriptor_;
+   std::map<std::string, std::string> vars_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ServiceGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_string_field.h b/protoc-c/c_string_field.h
+index 513cea75..ba258e44 100644
+--- a/protoc-c/c_string_field.h
++++ b/protoc-c/c_string_field.h
+@@ -88,7 +88,6 @@ class StringFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(StringFieldGenerator);
+ };
+ 
+ 
diff --git a/srcpkgs/protobuf-c/template b/srcpkgs/protobuf-c/template
index 7d1b529d8936..e703b138152d 100644
--- a/srcpkgs/protobuf-c/template
+++ b/srcpkgs/protobuf-c/template
@@ -1,10 +1,10 @@
 # Template file for 'protobuf-c'
 pkgname=protobuf-c
 version=1.4.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="$(vopt_enable protoc)"
-hostmakedepends="pkg-config protobuf protobuf-devel"
+hostmakedepends="pkg-config protobuf protobuf-devel automake libtool"
 makedepends="protobuf-devel boost-devel $(vopt_if protoc libprotoc-devel)"
 short_desc="C implementation of the Google Protocol Buffers"
 maintainer="Enno Boland <gottox@voidlinux.org>"
@@ -17,6 +17,10 @@ build_options="protoc"
 build_options_default="protoc"
 desc_option_protoc="Build protoc-c compiler"
 
+pre_configure() {
+	autoreconf -if
+}
+
 post_install() {
 	vlicense LICENSE
 }

From 2e011b90e5aabaf2ca361ce0df507649ce84c18f Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 2 Jul 2023 21:07:55 +0200
Subject: [PATCH 31/34] netdata: update to 1.40.1.

---
 srcpkgs/netdata/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/netdata/template            | 13 +++++++++----
 2 files changed, 20 insertions(+), 4 deletions(-)
 create mode 100644 srcpkgs/netdata/patches/cpp17.patch

diff --git a/srcpkgs/netdata/patches/cpp17.patch b/srcpkgs/netdata/patches/cpp17.patch
new file mode 100644
index 000000000000..b197ccd57bd9
--- /dev/null
+++ b/srcpkgs/netdata/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac	2023-06-27 16:25:03.364605041 +0200
++++ -	2023-07-02 21:27:31.113408278 +0200
+@@ -237,7 +237,7 @@
+ # C++ version check
+ 
+ # Check for C++17 support (optional)
+-# AX_CXX_COMPILE_STDCXX(17, noext, optional)
++AX_CXX_COMPILE_STDCXX(17, noext, optional)
+ 
+ if test "x$HAVE_CXX17" != "x1"; then
+   # Check for C++11 support (optional)
diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 781120b3f275..176bcf26d8c5 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -1,14 +1,14 @@
 # Template file for 'netdata'
 pkgname=netdata
-version=1.37.1
-revision=2
+version=1.40.1
+revision=1
 build_style=gnu-configure
 build_helper=qemu
 configure_args="--with-user=_netdata ac_cv_file_externaldeps_libbpf_libbpf_a=no
  $(vopt_if cloud --enable-cloud --disable-cloud) $(vopt_if ipmi --enable-plugin-freeipmi)
  $(vopt_if xen --enable-plugin-xenstat) $(vopt_if cups --enable-plugin-cups)"
 hostmakedepends="pkg-config autoconf automake $(vopt_if cloud "protobuf protobuf-devel")"
-makedepends="json-c-devel libcap-devel liblz4-devel libmnl-devel
+makedepends="json-c-devel libcap-devel liblz4-devel libmnl-devel libyaml-devel
  libnetfilter_acct-devel openssl-devel libuuid-devel libuv-devel zlib-devel
  snappy-devel $(vopt_if cloud protobuf-devel) $(vopt_if ipmi freeipmi-devel)
  $(vopt_if xen "xen-devel yajl-devel") $(vopt_if cups cups-devel)"
@@ -18,7 +18,7 @@ maintainer="Michael Aldridge <maldridge@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://www.netdata.cloud/"
 distfiles="https://github.com/netdata/netdata/releases/download/v${version}/netdata-v${version}.tar.gz"
-checksum=2caa042d43ca61007a61294a5ececa037d83a1973bd38032233760341eb1706b
+checksum=cc86172acd5e6ec05bc0fa86a50d967502a264d8adf7f79293923ccd8febb251
 python_version=3
 make_dirs="
  /var/lib/netdata          0755 _netdata _netdata
@@ -43,6 +43,11 @@ if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 fi
 
 pre_configure() {
+	vsed -e 's/#define info(/#define netdata_log_info(/g' -i libnetdata/log/log.h
+	vsed -e 's/^\([ ]*\)info[ ]*(/\1netdata_log_info(/g' -i $(grep -rl '^[ ]*info *(' ./)
+	vsed -e 's/^\([ ]*\)else info(/\1else netdata_log_info(/g' -i $(grep -rl '^[ ]*else info(' ./)
+	vsed -e 's/^\([ ]*\)if(\([^)]*\))[ ]*info(/\1if(\2) netdata_log_info(/g' -i $(grep -rl '^[ ]*if([^)]*)[ ]*info(' ./)
+
 	if [ "$CROSS_BUILD" ]; then
 		sed -i "s|	\$(builddir)/judyltablesgen\$(EXEEXT)|	qemu-${XBPS_TARGET_QEMU_MACHINE}-static \$(builddir)/judyltablesgen\$(EXEEXT)|g" Makefile.am
 	fi

From 87971700b7f1f6d969a35f650d3c29d6219d417b Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 8 Jul 2023 12:47:51 +0200
Subject: [PATCH 32/34] strawberry: rebuild against protobuf-23.3_1

---
 srcpkgs/strawberry/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/strawberry/template b/srcpkgs/strawberry/template
index b42efa1b89b2..91f2e07a0ec0 100644
--- a/srcpkgs/strawberry/template
+++ b/srcpkgs/strawberry/template
@@ -1,7 +1,7 @@
 # Template file for 'strawberry'
 pkgname=strawberry
 version=1.0.17
-revision=2
+revision=3
 build_style=cmake
 hostmakedepends="pkg-config protobuf gettext"
 makedepends="alsa-lib-devel boost-devel gnutls-devel fftw-devel

From 55f790df00e66b86677b1cf920e3c35dbed79974 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 8 Jul 2023 12:47:51 +0200
Subject: [PATCH 33/34] libphonenumber: rebuild against protobuf-23.3_1

---
 srcpkgs/libphonenumber/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libphonenumber/template b/srcpkgs/libphonenumber/template
index f554714b3c7a..058939459f6a 100644
--- a/srcpkgs/libphonenumber/template
+++ b/srcpkgs/libphonenumber/template
@@ -1,7 +1,7 @@
 # Template file for 'libphonenumber'
 pkgname=libphonenumber
 version=8.12.39
-revision=12
+revision=13
 build_wrksrc=cpp
 build_style=cmake
 build_helper=qemu

From 748140e97d5431569a0358876a14723a6b093713 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 14 Jul 2023 15:44:21 +0200
Subject: [PATCH 34/34] python3-protobuf: update to 4.23.4.

---
 srcpkgs/python3-protobuf/patches/cpp17.patch  |  11 ++
 .../patches/python-3.11.patch                 | 132 ------------------
 srcpkgs/python3-protobuf/template             |  16 +--
 3 files changed, 19 insertions(+), 140 deletions(-)
 create mode 100644 srcpkgs/python3-protobuf/patches/cpp17.patch
 delete mode 100644 srcpkgs/python3-protobuf/patches/python-3.11.patch

diff --git a/srcpkgs/python3-protobuf/patches/cpp17.patch b/srcpkgs/python3-protobuf/patches/cpp17.patch
new file mode 100644
index 000000000000..97b81e1bfa5a
--- /dev/null
+++ b/srcpkgs/python3-protobuf/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/python/setup.py	2023-07-05 23:53:30.000000000 +0200
++++ -	2023-07-14 16:19:35.949677747 +0200
+@@ -370,7 +370,7 @@
+       extra_compile_args.append('-Wno-invalid-offsetof')
+       extra_compile_args.append('-Wno-sign-compare')
+       extra_compile_args.append('-Wno-unused-variable')
+-      extra_compile_args.append('-std=c++14')
++      extra_compile_args.append('-std=c++17')
+ 
+     if sys.platform == 'darwin':
+       extra_compile_args.append('-Wno-shorten-64-to-32')
diff --git a/srcpkgs/python3-protobuf/patches/python-3.11.patch b/srcpkgs/python3-protobuf/patches/python-3.11.patch
deleted file mode 100644
index f6ed1b078357..000000000000
--- a/srcpkgs/python3-protobuf/patches/python-3.11.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From da973aff2adab60a9e516d3202c111dbdde1a50f Mon Sep 17 00:00:00 2001
-From: Alexander Shadchin <alexandr.shadchin@gmail.com>
-Date: Sun, 14 Aug 2022 21:13:49 +0300
-Subject: [PATCH] Fix build with Python 3.11
-
-The PyFrameObject structure members have been removed from the public C API.
----
- google/protobuf/pyext/descriptor.cc | 75 ++++++++++++++++++----
- 1 file changed, 62 insertions(+), 13 deletions(-)
-
-diff --git a/google/protobuf/pyext/descriptor.cc b/google/protobuf/pyext/descriptor.cc
-index fc83acf01a..fc97b0fa6c 100644
---- a/google/protobuf/pyext/descriptor.cc
-+++ b/google/protobuf/pyext/descriptor.cc
-@@ -58,6 +58,37 @@
-               : 0)                                               \
-        : PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
- 
-+#if PY_VERSION_HEX < 0x030900B1 && !defined(PYPY_VERSION)
-+static PyCodeObject* PyFrame_GetCode(PyFrameObject *frame)
-+{
-+    Py_INCREF(frame->f_code);
-+    return frame->f_code;
-+}
-+
-+static PyFrameObject* PyFrame_GetBack(PyFrameObject *frame)
-+{
-+    Py_XINCREF(frame->f_back);
-+    return frame->f_back;
-+}
-+#endif
-+
-+#if PY_VERSION_HEX < 0x030B00A7 && !defined(PYPY_VERSION)
-+static PyObject* PyFrame_GetLocals(PyFrameObject *frame)
-+{
-+    if (PyFrame_FastToLocalsWithError(frame) < 0) {
-+        return NULL;
-+    }
-+    Py_INCREF(frame->f_locals);
-+    return frame->f_locals;
-+}
-+
-+static PyObject* PyFrame_GetGlobals(PyFrameObject *frame)
-+{
-+    Py_INCREF(frame->f_globals);
-+    return frame->f_globals;
-+}
-+#endif
-+
- namespace google {
- namespace protobuf {
- namespace python {
-@@ -96,48 +127,66 @@ bool _CalledFromGeneratedFile(int stacklevel) {
-   // This check is not critical and is somewhat difficult to implement correctly
-   // in PyPy.
-   PyFrameObject* frame = PyEval_GetFrame();
-+  PyCodeObject* frame_code = nullptr;
-+  PyObject* frame_globals = nullptr;
-+  PyObject* frame_locals = nullptr;
-+  bool result = false;
-+
-   if (frame == nullptr) {
--    return false;
-+    goto exit;
-   }
-+  Py_INCREF(frame);
-   while (stacklevel-- > 0) {
--    frame = frame->f_back;
-+    PyFrameObject* next_frame = PyFrame_GetBack(frame);
-+    Py_DECREF(frame);
-+    frame = next_frame;
-     if (frame == nullptr) {
--      return false;
-+      goto exit;
-     }
-   }
- 
--  if (frame->f_code->co_filename == nullptr) {
--    return false;
-+  frame_code = PyFrame_GetCode(frame);
-+  if (frame_code->co_filename == nullptr) {
-+    goto exit;
-   }
-   char* filename;
-   Py_ssize_t filename_size;
--  if (PyString_AsStringAndSize(frame->f_code->co_filename,
-+  if (PyString_AsStringAndSize(frame_code->co_filename,
-                                &filename, &filename_size) < 0) {
-     // filename is not a string.
-     PyErr_Clear();
--    return false;
-+    goto exit;
-   }
-   if ((filename_size < 3) ||
-       (strcmp(&filename[filename_size - 3], ".py") != 0)) {
-     // Cython's stack does not have .py file name and is not at global module
-     // scope.
--    return true;
-+    result = true;
-+    goto exit;
-   }
-   if (filename_size < 7) {
-     // filename is too short.
--    return false;
-+    goto exit;
-   }
-   if (strcmp(&filename[filename_size - 7], "_pb2.py") != 0) {
-     // Filename is not ending with _pb2.
--    return false;
-+    goto exit;
-   }
- 
--  if (frame->f_globals != frame->f_locals) {
-+  frame_globals = PyFrame_GetGlobals(frame);
-+  frame_locals = PyFrame_GetLocals(frame);
-+  if (frame_globals != frame_locals) {
-     // Not at global module scope
--    return false;
-+    goto exit;
-   }
- #endif
--  return true;
-+  result = true;
-+exit:
-+  Py_XDECREF(frame_globals);
-+  Py_XDECREF(frame_locals);
-+  Py_XDECREF(frame_code);
-+  Py_XDECREF(frame);
-+  return result;
- }
- 
- // If the calling code is not a _pb2.py file, raise AttributeError.
diff --git a/srcpkgs/python3-protobuf/template b/srcpkgs/python3-protobuf/template
index e965c4432162..b0620d715ca4 100644
--- a/srcpkgs/python3-protobuf/template
+++ b/srcpkgs/python3-protobuf/template
@@ -1,16 +1,20 @@
 # Template file for 'python3-protobuf'
 pkgname=python3-protobuf
-version=4.21.12
+version=4.23.4
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-wheel"
+build_wrksrc=python
+hostmakedepends="python3-setuptools python3-wheel protobuf"
 depends="python3-setuptools python3-six"
+checkdepends="python3-numpy"
 short_desc="Python3 bindings for Google Protocol Buffers"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
-distfiles="${PYPI_SITE}/p/protobuf/protobuf-${version}.tar.gz"
-checksum=7cd532c4566d0e6feafecc1059d04c7915aec8e182d1cf7adee8b24ef1e2e6ab
+# PyPi release does not have bits for cppext
+distfiles="https://github.com/protocolbuffers/protobuf/releases/download/v${version#*.}/protobuf-${version#*.}.tar.gz"
+checksum=a700a49470d301f1190a487a923b5095bf60f08f4ae4cac9f5f7c36883d17971
+make_check=no # ImportError: cannot import name 'unittest_retention_pb2' from 'google.protobuf'
 
 build_options="cppext"
 build_options_default="cppext"
@@ -22,10 +26,6 @@ if [ "$build_option_cppext" ]; then
 	makedepends+=" python3-devel protobuf-devel"
 fi
 
-do_check() {
-	echo "skipping check: package ships with no tests"
-}
-
 post_install() {
 	sed -n 1,29p google/protobuf/__init__.py >LICENSE
 	vlicense LICENSE

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] protobuf/abseil-cpp/grpc: update
  2023-07-08 11:45 [PR PATCH] protobuf/abseil-cpp: update Johnnynator
                   ` (10 preceding siblings ...)
  2023-07-16 15:06 ` Johnnynator
@ 2023-07-16 18:00 ` Johnnynator
  2023-07-17 15:36 ` Johnnynator
  2023-07-17 15:36 ` [PR PATCH] [Merged]: " Johnnynator
  13 siblings, 0 replies; 15+ messages in thread
From: Johnnynator @ 2023-07-16 18:00 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 616 bytes --]

There is an updated pull request by Johnnynator against master on the void-packages repository

https://github.com/Johnnynator/void-packages google-stuff
https://github.com/void-linux/void-packages/pull/44920

protobuf/abseil-cpp/grpc: update
"Fun" with google stuff

#### Testing the changes
- I tested the changes in this PR: **WiP**


#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):



A patch file from https://github.com/void-linux/void-packages/pull/44920.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-google-stuff-44920.patch --]
[-- Type: text/x-diff, Size: 124169 bytes --]

From 9d21c6b44e38b2c06e291cf5a408f7d50afb3c0e Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:24:01 +0200
Subject: [PATCH 01/35] abseil-cpp: update to 20230125.3.

---
 common/shlibs                                 | 128 ++++++++++++------
 srcpkgs/abseil-cpp/patches/google-sucks.patch |  77 -----------
 srcpkgs/abseil-cpp/template                   |   4 +-
 3 files changed, 85 insertions(+), 124 deletions(-)
 delete mode 100644 srcpkgs/abseil-cpp/patches/google-sucks.patch

diff --git a/common/shlibs b/common/shlibs
index 4b2122d1b199..d1e779f4e7cb 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4207,51 +4207,89 @@ libsunpinyin.so.3 libsunpinyin-3.0.0rc2_1
 libtpm2-totp.so.0 libtpm2-totp-0.3.0_1
 libmujs.so.1.2.0 mujs-1.2.0_2
 libiir.so.1 libiir1-1.9.3_1
-libabsl_statusor.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_hash.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_raw_hash_set.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_bad_variant_access.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_status.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_pool_urbg.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_hwaes_impl.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_slow.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cord.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_city.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_bad_optional_access.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_info.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_str_format_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_synchronization.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_time.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strings.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_throw_delegate.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_time_zone.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_spinlock_wait.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_base.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_civil_time.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cord_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_functions.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_handle.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_debugging_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_demangle_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_exponential_biased.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_graphcycles_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_hashtablez_sampler.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_int128.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_log_severity.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_low_level_hash.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_malloc_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_distributions.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_platform.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_hwaes.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_seed_material.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_seed_gen_exception.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_seed_sequences.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_raw_logging_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_stacktrace.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strerror.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strings_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_symbolize.so.2206.0.0 abseil-cpp-20220623.1_1
+libabsl_flags.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_raw_logging_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_parse.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_reflection.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_globals.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_config.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_seed_sequences.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_statusor.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_usage_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_commandlineflag.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_hwaes_impl.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_status.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_any_cast_impl.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_variant_access.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_raw_hash_set.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_optional_access.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cord.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_distribution_test_util.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_handle.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_graphcycles_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_spinlock_wait.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_functions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_usage.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_debugging_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strerror.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_seed_material.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_log_sink_set.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_proto.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_civil_time.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_conditions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_cpu_detect.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_entry.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_distributions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_globals.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_format.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_exponential_biased.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_city.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_symbolize.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_leak_check.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_low_level_hash.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_severity.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_scoped_set_env.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strings.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_die_if_null.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_hash.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_commandlineflag_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_periodic_sampler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_platform.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_malloc_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_sample_token.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_str_format_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_synchronization.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_message.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strings_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_private_handle_accessor.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cord_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_hwaes.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_throw_delegate.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_cord_state.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_flags.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_program_name.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_time_zone.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_examine_stack.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc32c.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_initialize.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_failure_signal_handler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_time.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_info.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_sink.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_nullguard.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_demangle_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_base.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_hashtablez_sampler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_marshalling.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_pool_urbg.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_int128.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_stacktrace.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_seed_gen_exception.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_check_op.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_slow.so.2301.0.0 abseil-cpp-20230125.3_1
 libairspyhf.so.0 libairspyhf-1.6.8_1
 libtraceevent.so.1 libtraceevent-1.6.2_1
 libtracefs.so.1 libtracefs-1.4.2_1
diff --git a/srcpkgs/abseil-cpp/patches/google-sucks.patch b/srcpkgs/abseil-cpp/patches/google-sucks.patch
deleted file mode 100644
index 511bae847101..000000000000
--- a/srcpkgs/abseil-cpp/patches/google-sucks.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-commit 1fbfea71fb42b2e79f9e342c1843bd26a8703536
-Author: Daniel Kolesa <daniel@octaforge.org>
-Date:   Thu Aug 25 01:20:58 2022 +0200
-
-    An all-in-one patch that fixes several issues:
-    
-    1) UnscaledCycleClock not fully implemented for ppc*-musl (disabled on musl)
-    2) powerpc stacktrace implementation only works on glibc (disabled on musl)
-    3) powerpc stacktrace implementation has ppc64 assumptions (fixed)
-    4) examine_stack.cpp makes glibc assumptions on powerpc (fixed)
-
-diff --git a/absl/base/internal/unscaledcycleclock.cc b/absl/base/internal/unscaledcycleclock.cc
-index b1c396c..d62bfd6 100644
---- a/absl/base/internal/unscaledcycleclock.cc
-+++ b/absl/base/internal/unscaledcycleclock.cc
-@@ -20,7 +20,7 @@
- #include <intrin.h>
- #endif
- 
--#if defined(__powerpc__) || defined(__ppc__)
-+#if (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
- #ifdef __GLIBC__
- #include <sys/platform/ppc.h>
- #elif defined(__FreeBSD__)
-@@ -58,7 +58,7 @@ double UnscaledCycleClock::Frequency() {
-   return base_internal::NominalCPUFrequency();
- }
- 
--#elif defined(__powerpc__) || defined(__ppc__)
-+#elif (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
- 
- int64_t UnscaledCycleClock::Now() {
- #ifdef __GLIBC__
-diff --git a/absl/base/internal/unscaledcycleclock.h b/absl/base/internal/unscaledcycleclock.h
-index 2cbeae3..83d8c98 100644
---- a/absl/base/internal/unscaledcycleclock.h
-+++ b/absl/base/internal/unscaledcycleclock.h
-@@ -46,8 +46,8 @@
- 
- // The following platforms have an implementation of a hardware counter.
- #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \
--    defined(__powerpc__) || defined(__ppc__) || defined(__riscv) ||     \
--    defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
-+    ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \
-+    defined(__riscv) || defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
- #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
- #else
- #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 0
-diff --git a/absl/debugging/internal/examine_stack.cc b/absl/debugging/internal/examine_stack.cc
-index 5bdd341..a42a3c4 100644
---- a/absl/debugging/internal/examine_stack.cc
-+++ b/absl/debugging/internal/examine_stack.cc
-@@ -174,8 +174,10 @@ void* GetProgramCounter(void* const vuc) {
-     return reinterpret_cast<void*>(context->uc_mcontext.pc);
- #elif defined(__powerpc64__)
-     return reinterpret_cast<void*>(context->uc_mcontext.gp_regs[32]);
--#elif defined(__powerpc__)
-+#elif defined(__powerpc__) && defined(__GLIBC__)
-     return reinterpret_cast<void*>(context->uc_mcontext.uc_regs->gregs[32]);
-+#elif defined(__powerpc__)
-+    return reinterpret_cast<void*>(context->uc_mcontext.gregs[32]);
- #elif defined(__riscv)
-     return reinterpret_cast<void*>(context->uc_mcontext.__gregs[REG_PC]);
- #elif defined(__s390__) && !defined(__s390x__)
-diff --git a/absl/debugging/internal/stacktrace_config.h b/absl/debugging/internal/stacktrace_config.h
-index 3929b1b..23d5e50 100644
---- a/absl/debugging/internal/stacktrace_config.h
-+++ b/absl/debugging/internal/stacktrace_config.h
-@@ -60,7 +60,7 @@
- #elif defined(__i386__) || defined(__x86_64__)
- #define ABSL_STACKTRACE_INL_HEADER \
-   "absl/debugging/internal/stacktrace_x86-inl.inc"
--#elif defined(__ppc__) || defined(__PPC__)
-+#elif (defined(__ppc__) || defined(__PPC__)) && defined(__GLIBC__)
- #define ABSL_STACKTRACE_INL_HEADER \
-   "absl/debugging/internal/stacktrace_powerpc-inl.inc"
- #elif defined(__aarch64__)
diff --git a/srcpkgs/abseil-cpp/template b/srcpkgs/abseil-cpp/template
index 8640d2489406..3ffdb4d99d33 100644
--- a/srcpkgs/abseil-cpp/template
+++ b/srcpkgs/abseil-cpp/template
@@ -1,6 +1,6 @@
 # Template file for 'abseil-cpp'
 pkgname=abseil-cpp
-version=20220623.1
+version=20230125.3
 revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON -DABSL_PROPAGATE_CXX_STD=ON"
@@ -10,7 +10,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="Apache-2.0"
 homepage="https://abseil.io"
 distfiles="https://github.com/abseil/abseil-cpp/archive/${version}.tar.gz"
-checksum=91ac87d30cc6d79f9ab974c51874a704de9c2647c40f6932597329a282217ba8
+checksum=5366d7e7fa7ba0d915014d387b66d0d002c03236448e1ba9ef98122c13b35c36
 
 abseil-cpp-devel_package() {
 	short_desc+=" (development files)"

From 100de30cffbe4f496015f0277f44d108982d4d09 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 02/35] Bear: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/Bear/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/Bear/template b/srcpkgs/Bear/template
index cebf51b64728..2e6da3ba9a30 100644
--- a/srcpkgs/Bear/template
+++ b/srcpkgs/Bear/template
@@ -1,7 +1,7 @@
 # Template file for 'Bear'
 pkgname=Bear
 version=3.1.2
-revision=1
+revision=2
 build_style=cmake
 hostmakedepends="pkg-config protobuf protobuf-devel grpc"
 makedepends="json-c++ spdlog grpc-devel protobuf-devel gtest-devel"

From 558f22c201902b6ef835940bcd87fe1c116a4f8a Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 03/35] grpc: update to 1.56.0.

---
 common/shlibs                                 | 24 +++++++++----------
 srcpkgs/grpc/patches/cmake.patch              | 20 ++++++++++++++++
 .../grpc/patches/revert-find-protobuf.patch   | 23 ++++++++++++++++++
 srcpkgs/grpc/template                         | 15 ++++++------
 4 files changed, 63 insertions(+), 19 deletions(-)
 create mode 100644 srcpkgs/grpc/patches/cmake.patch
 create mode 100644 srcpkgs/grpc/patches/revert-find-protobuf.patch

diff --git a/common/shlibs b/common/shlibs
index d1e779f4e7cb..5adfa4d6e69f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3683,18 +3683,18 @@ liboblibs.so.0.1 oblibs-0.1.1.1_1
 libaal-1.0.so.7 libaal-1.0.7_1
 libaal-minimal.so.0 libaal-1.0.7_1
 libcli.so.1.9 libcli-1.9.8.4_1
-libaddress_sorting.so.27 libgrpc-1.49.1_1
-libgpr.so.27 libgrpc-1.49.1_1
-libgrpc.so.27 libgrpc-1.49.1_1
-libgrpc_unsecure.so.27 libgrpc-1.49.1_1
-libupb.so.27 libgrpc-1.49.1_1
-libgrpc++.so.1.49 libgrpc-1.49.1_1
-libgrpc++_alts.so.1.49 libgrpc-1.49.1_1
-libgrpc++_error_details.so.1.49 libgrpc-1.49.1_1
-libgrpc++_reflection.so.1.49 libgrpc-1.49.1_1
-libgrpc++_unsecure.so.1.49 libgrpc-1.49.1_1
-libgrpc_plugin_support.so.1.49 libgrpc-1.49.1_1
-libgrpcpp_channelz.so.1.49 libgrpc-1.49.1_1
+libaddress_sorting.so.33 libgrpc-1.56.0_1
+libgpr.so.33 libgrpc-1.56.0_1
+libgrpc.so.33 libgrpc-1.56.0_1
+libgrpc_unsecure.so.33 libgrpc-1.56.0_1
+libupb.so.33 libgrpc-1.56.0_1
+libgrpc++.so.1.56 libgrpc-1.56.0_1
+libgrpc++_alts.so.1.56 libgrpc-1.56.0_1
+libgrpc++_error_details.so.1.56 libgrpc-1.56.0_1
+libgrpc++_reflection.so.1.56 libgrpc-1.56.0_1
+libgrpc++_unsecure.so.1.56 libgrpc-1.56.0_1
+libgrpc_plugin_support.so.1.56 libgrpc-1.56.0_1
+libgrpcpp_channelz.so.1.56 libgrpc-1.56.0_1
 libircclient.so.1 libircclient-1.10_5
 libFAudio.so.0 FAudio-19.05_1
 libqaccessibilityclient-qt5.so.0 libqaccessibilityclient-0.4.0_1
diff --git a/srcpkgs/grpc/patches/cmake.patch b/srcpkgs/grpc/patches/cmake.patch
new file mode 100644
index 000000000000..54d04e29837d
--- /dev/null
+++ b/srcpkgs/grpc/patches/cmake.patch
@@ -0,0 +1,20 @@
+--- a/cmake/gRPCConfig.cmake.in	2023-06-14 22:21:16.000000000 +0200
++++ -	2023-06-28 11:11:32.902678412 +0200
+@@ -1,5 +1,6 @@
+ # Module path
+ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/modules)
++include(CMakeFindDependencyMacro)
+ 
+ # Depend packages
+ @_gRPC_FIND_ZLIB@
+--- a/CMakeLists.txt	2023-07-11 08:54:22.009027477 +0200
++++ -	2023-07-11 08:54:38.950947984 +0200
+@@ -12375,6 +12375,8 @@
+   ${_gRPC_ZLIB_LIBRARIES}
+   ${_gRPC_ALLTARGETS_LIBRARIES}
+   grpc_plugin_support
++  absl::hash
++  absl::raw_hash_set
+ )
+ 
+ 
diff --git a/srcpkgs/grpc/patches/revert-find-protobuf.patch b/srcpkgs/grpc/patches/revert-find-protobuf.patch
new file mode 100644
index 000000000000..6001f37c6b1b
--- /dev/null
+++ b/srcpkgs/grpc/patches/revert-find-protobuf.patch
@@ -0,0 +1,23 @@
+Use the old cmake provided FindProtobuf() implementation for now.
+A future cmake update will remove this module, but use it for now until
+all packages are updated to the new system
+---
+--- a/cmake/protobuf.cmake	2023-06-14 22:21:16.000000000 +0200
++++ -	2023-07-10 21:05:41.114443796 +0200
+@@ -55,7 +55,7 @@
+     set(gRPC_INSTALL FALSE)
+   endif()
+ elseif(gRPC_PROTOBUF_PROVIDER STREQUAL "package")
+-  find_package(Protobuf REQUIRED CONFIG)
++  find_package(Protobuf REQUIRED)
+ 
+   if(Protobuf_FOUND OR PROTOBUF_FOUND)
+     if(TARGET protobuf::${_gRPC_PROTOBUF_LIBRARY_NAME})
+@@ -86,6 +86,6 @@
+         set(_gRPC_PROTOBUF_PROTOC_EXECUTABLE ${PROTOBUF_PROTOC_EXECUTABLE})
+       endif()
+     endif()
+-    set(_gRPC_FIND_PROTOBUF "find_dependency(Protobuf CONFIG)")
++    set(_gRPC_FIND_PROTOBUF "find_dependency(Protobuf)")
+   endif()
+ endif()
diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index 5b4547a5c0fc..9c58c2509bee 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -1,14 +1,13 @@
 # Template file for 'grpc'
 pkgname=grpc
-version=1.49.1
-revision=2
+version=1.56.0
+revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON
  -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package
  -DgRPC_SSL_PROVIDER=package -DgRPC_ZLIB_PROVIDER=package
- -DgRPC_ABSL_PROVIDER=package -D_gRPC_RE2_LIBRARIES=-lre2
- -D_gRPC_RE2_INCLUDE_DIR=${XBPS_CROSS_BASE}/usr/include"
-hostmakedepends="which protobuf"
+ -DgRPC_ABSL_PROVIDER=package -DgRPC_RE2_PROVIDER=package"
+hostmakedepends="protobuf pkg-config"
 _devel_depends="c-ares-devel re2-devel zlib-devel openssl-devel abseil-cpp-devel"
 makedepends="libprotoc-devel protobuf-devel gperftools-devel ${_devel_depends}"
 short_desc="High performance, open source, general RPC framework"
@@ -16,11 +15,12 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://github.com/grpc/grpc"
 distfiles="${homepage}/archive/v${version}/${pkgname}-${version}.tar.gz"
-checksum=5071b630e2a14707ad060636990f1b25b0984bd168c7ea1ab95e48a3bdc0081f
+checksum=e034992a0b464042021f6d440f2090acc2422c103a322b0844e3921ccea981dc
 
 if [ "$CROSS_BUILD" ]; then
 	# need host grpc_cpp_plugin
 	hostmakedepends+=" grpc"
+	configure_args+=" -DProtobuf_PROTOC_EXECUTABLE=/usr/bin/protoc"
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
@@ -38,7 +38,8 @@ libgrpc_package() {
 
 grpc-devel_package() {
 	short_desc+=" - development files"
-	depends="${sourcepkg}>=${version}_${revision} ${_devel_depends}"
+	depends="${sourcepkg}>=${version}_${revision} ${_devel_depends}
+	 protobuf-devel"
 	pkg_install() {
 		vmove usr/include
 		vmove usr/lib/*.so

From eacaa96b411a2265803e22eda4701473d588817c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 04/35] justbuild: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/justbuild/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index 1ad8e334617d..ee36f6dae575 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
 # Template file for 'justbuild'
 pkgname=justbuild
 version=1.1.2
-revision=1
+revision=2
 create_wrksrc=yes
 hostmakedepends="jo pandoc pkg-config python3 tar unzip wget"
 makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++

From be1e5cb8ba14c7b1ddcce40cc9991d9a45d82db3 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 05/35] python3-grpcio: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/python3-grpcio/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 826eda0fc560..9b3c7288a9dd 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-grpcio'
 pkgname=python3-grpcio
 version=1.49.1
-revision=3
+revision=4
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-six python3-Cython"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel

From 942d1a54b0b3b06b659ce48e66a32573da09de97 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 06/35] sysdig: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/sysdig/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index 81ddb7aba5e3..4a04e762468c 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,7 +1,7 @@
 # Template file for 'sysdig'
 pkgname=sysdig
 version=0.28.0
-revision=7
+revision=8
 build_style=cmake
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF
@@ -36,7 +36,8 @@ CXXFLAGS="-Wno-deprecated-declarations"
 CXXFLAGS+=" -I/usr/include/grpc_absl"
 
 post_extract() {
-	sed -i 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' scripts/CMakeLists.txt
+	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
+	vsed -e 's|-std=c++0x||' -i CMakeLists.txt
 }
 
 post_install() {

From b96054ed458f4ef4a0cb4670d485e7c49006ceb7 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 22:01:12 +0200
Subject: [PATCH 07/35] python3-grpcio: update to 1.56.0.

---
 srcpkgs/python3-grpcio/template | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 9b3c7288a9dd..25ea3fc34620 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-grpcio'
 pkgname=python3-grpcio
-version=1.49.1
-revision=4
+version=1.56.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-six python3-Cython"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel
@@ -12,7 +12,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://grpc.io"
 distfiles="${PYPI_SITE}/g/grpcio/grpcio-${version}.tar.gz"
-checksum=d4725fc9ec8e8822906ae26bb26f5546891aa7fbc3443de970cc556d43a5c99f
+checksum=4c08ee21b3d10315b8dc26f6c13917b20ed574cdbed2d2d80c53d5508fdcc0f2
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	makedepends+=" libatomic-devel"
@@ -29,5 +29,7 @@ export GRPC_PYTHON_BUILD_SYSTEM_RE2=1
 export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
 
 post_extract() {
+	# abseil-cpp 2023xxxxxx requires at least c++ 17
+	vsed -e 's/c++14/c++17/g' -i setup.py
 	rm src/python/grpcio/grpc/_cython/cygrpc.cpp
 }

From 9ac7fe6d8b55e6043c13ea554399ca5d689d7e77 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:40:13 +0200
Subject: [PATCH 08/35] protobuf: update to 23.4.

- switch to cmake buildstyle
- grpc needs the .cmake files to find protobuf
- newer version of protobuf will drop autoconf
---
 common/shlibs             |  6 ++---
 srcpkgs/protobuf/template | 46 ++++++++++++++-------------------------
 2 files changed, 19 insertions(+), 33 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 5adfa4d6e69f..3cd47fb4f486 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3115,9 +3115,9 @@ libm17n-flt.so.0 m17n-lib-1.7.0_1
 libm17n-gui.so.0 m17n-lib-1.7.0_1
 libm17n-core.so.0 m17n-lib-1.7.0_1
 libm17n.so.0 m17n-lib-1.7.0_1
-libprotobuf-lite.so.32 libprotobuf-lite-21.4_1
-libprotoc.so.32 libprotoc-21.4_1
-libprotobuf.so.32 libprotobuf-21.4_1
+libprotobuf-lite.so.23.4.0 libprotobuf-lite-23.4_1
+libprotoc.so.23.4.0 libprotoc-23.4_1
+libprotobuf.so.23.4.0 libprotobuf-23.4_1
 libsombok.so.3 sombok-2.4.0_1
 libdeviceclient.so.0 pragha-1.3.3_1
 libykclient.so.3 ykclient-2.15_1
diff --git a/srcpkgs/protobuf/template b/srcpkgs/protobuf/template
index 571f06487c85..828c4b050fdc 100644
--- a/srcpkgs/protobuf/template
+++ b/srcpkgs/protobuf/template
@@ -1,22 +1,22 @@
 # Template file for 'protobuf'
 pkgname=protobuf
-version=21.12
+version=23.4
 revision=1
-create_wrksrc="yes"
-build_wrksrc="${pkgname}-${version}"
-build_style=gnu-configure
-hostmakedepends="pkg-config automake libtool"
-makedepends="zlib-devel"
+build_style=cmake
+configure_args="-Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_USE_EXTERNAL_GTEST=ON
+ -Dprotobuf_BUILD_LIBPROTOC=ON -Dprotobuf_ABSL_PROVIDER=package
+ -Dprotobuf_BUILD_TESTS=OFF"
+# XXX: Tests require that the abseil-cpp provides absl::scoped_mock_log
+hostmakedepends="pkg-config"
+makedepends="zlib-devel gtest-devel libatomic-devel
+ abseil-cpp-devel"
 short_desc="Protocol buffers compiler"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
 changelog="https://raw.githubusercontent.com/google/protobuf/master/CHANGES.txt"
-_googletest_commit="5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081"
-distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz
- https://github.com/google/googletest/archive/${_googletest_commit}.tar.gz"
-checksum="22fdaf641b31655d4b2297f9981fa5203b2866f8332d3c6333f6b0107bb320de
- 0e2f36e8e403c125fd0ab02171bdb786d3b6b3875b6ccf3b2eb7969be8faecd0"
+distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz"
+checksum=a700a49470d301f1190a487a923b5095bf60f08f4ae4cac9f5f7c36883d17971
 
 # Switch to versioned package
 conflicts="protobuf18>=0 protobuf23>=0 protobuf24>=0
@@ -26,24 +26,11 @@ replaces="${conflicts}"
 if [ "$CROSS_BUILD" ]; then
 	# needs host protoc
 	hostmakedepends+=" ${pkgname}"
-	configure_args+=" --with-protoc=/usr/bin/protoc"
+	configure_args+=" -Dprotobuf_PROTOC_EXE=/usr/bin/protoc"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-	LDFLAGS+=" -latomic"
-fi
-
-post_extract() {
-	rmdir "${build_wrksrc}/third_party/googletest"
-	mv "googletest-${_googletest_commit}" "${build_wrksrc}/third_party/googletest"
-}
-
-pre_configure() {
-	autoreconf -fi
-}
-
 post_install() {
+	rm -rf "${DESTDIR}/usr/lib/cmake"
 	vlicense LICENSE
 }
 
@@ -80,7 +67,6 @@ libprotoc-devel_package() {
 	 libprotoc26-devel>=0 libprotoc28-devel>=0"
 	replaces="${conflicts}"
 	pkg_install() {
-		vmove usr/lib/libprotoc.a
 		vmove usr/lib/libprotoc.so
 		vmove usr/include/google/protobuf/compiler
 	}
@@ -89,7 +75,8 @@ libprotoc-devel_package() {
 protobuf-devel_package() {
 	depends="zlib-devel
 	 libprotobuf-${version}_${revision}
-	 libprotobuf-lite-${version}_${revision}"
+	 libprotobuf-lite-${version}_${revision}
+	 abseil-cpp-devel"
 	short_desc="Protocol buffers C++ library - development files"
 	# Switch to versioned package
 	conflicts="protobuf18-devel>=0 protobuf23-devel>=0
@@ -98,10 +85,9 @@ protobuf-devel_package() {
 	replaces="${conflicts}"
 	pkg_install() {
 		vmove usr/include
-		vmove usr/lib/libprotobuf.a
-		vmove usr/lib/libprotobuf-lite.a
 		vmove usr/lib/libprotobuf.so
 		vmove usr/lib/libprotobuf-lite.so
 		vmove usr/lib/pkgconfig
+		vmove "usr/lib/*.a"
 	}
 }

From 1575efd136b7c05297c2f733b73c7e5330382843 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 09/35] EternalTerminal: rebuild against protobuf-23.3_1

---
 srcpkgs/EternalTerminal/patches/limits.patch | 10 ++++++++++
 srcpkgs/EternalTerminal/template             |  2 +-
 2 files changed, 11 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/EternalTerminal/patches/limits.patch

diff --git a/srcpkgs/EternalTerminal/patches/limits.patch b/srcpkgs/EternalTerminal/patches/limits.patch
new file mode 100644
index 000000000000..9226bd45001a
--- /dev/null
+++ b/srcpkgs/EternalTerminal/patches/limits.patch
@@ -0,0 +1,10 @@
+--- a/EternalTerminal/external_imported/cxxopts/include/cxxopts.hpp	2022-05-05 17:20:44.000000000 +0200
++++ -	2023-07-10 20:07:25.607948589 +0200
+@@ -37,6 +37,7 @@
+ #include <unordered_map>
+ #include <unordered_set>
+ #include <vector>
++#include <limits>
+ 
+ #ifdef __cpp_lib_optional
+ #include <optional>
diff --git a/srcpkgs/EternalTerminal/template b/srcpkgs/EternalTerminal/template
index 1017a1b4a1ec..156eab6ce47e 100644
--- a/srcpkgs/EternalTerminal/template
+++ b/srcpkgs/EternalTerminal/template
@@ -1,7 +1,7 @@
 # Template file for 'EternalTerminal'
 pkgname=EternalTerminal
 version=6.2.1
-revision=1
+revision=2
 # revisions used for the specific versions of submodules.
 # they can be found in the external/ directory of the source code.
 _sanitizers_gitrev="99e159ec9bc8dd362b08d18436bd40ff0648417b"

From 47a5bcfcbe5300efbd672bc6f5dd4e0e9c970efb Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 10/35] vlc: rebuild against protobuf-23.3_1

---
 srcpkgs/vlc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vlc/template b/srcpkgs/vlc/template
index 210762b0a7e2..651c94a1353a 100644
--- a/srcpkgs/vlc/template
+++ b/srcpkgs/vlc/template
@@ -1,7 +1,7 @@
 # Template file for 'vlc'
 pkgname=vlc
 version=3.0.18
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--disable-gme --disable-libtar --enable-jack
  --enable-live555 --disable-fluidsynth --enable-dvdread

From 9f95fe0230b6709214542df634a73fb4dd344445 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 11/35] mixxx: rebuild against protobuf-23.3_1

---
 srcpkgs/mixxx/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mixxx/template b/srcpkgs/mixxx/template
index 619ddca0d332..4b9ea00d3fb3 100644
--- a/srcpkgs/mixxx/template
+++ b/srcpkgs/mixxx/template
@@ -1,7 +1,7 @@
 # Template file for 'mixxx'
 pkgname=mixxx
 version=2.3.3
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="extra-cmake-modules pkg-config protobuf qt5-host-tools qt5-devel"

From 4e4317f5963be05e3821accd4446b81af0cbad36 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 12/35] telegram-desktop: rebuild against protobuf-23.3_1

---
 srcpkgs/telegram-desktop/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/telegram-desktop/template b/srcpkgs/telegram-desktop/template
index f114b2341dc5..9db9f80c1a53 100644
--- a/srcpkgs/telegram-desktop/template
+++ b/srcpkgs/telegram-desktop/template
@@ -1,7 +1,7 @@
 # Template file for 'telegram-desktop'
 pkgname=telegram-desktop
 version=4.8.1
-revision=3
+revision=4
 build_style=cmake
 build_helper="qemu"
 configure_args="-DTDESKTOP_API_ID=209235

From eab706f40491a83a948edec56f966b38043f0c3f Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:56 +0200
Subject: [PATCH 13/35] usbguard: rebuild against protobuf-23.3_1

---
 srcpkgs/usbguard/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/usbguard/template b/srcpkgs/usbguard/template
index 8625c80a7eda..df4411202568 100644
--- a/srcpkgs/usbguard/template
+++ b/srcpkgs/usbguard/template
@@ -1,7 +1,7 @@
 # Template file for 'usbguard'
 pkgname=usbguard
 version=1.1.2
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-crypto-library=sodium --with-bundled-catch --with-bundled-pegtl"
 conf_files="/etc/usbguard/*"

From 665b7212c5761ec2c51c001856fce8391d25327e Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 14/35] nsjail: rebuild against protobuf-23.3_1

---
 srcpkgs/nsjail/patches/32bitint.patch    | 10 ++++++++
 srcpkgs/nsjail/patches/cpp17.patch       | 11 +++++++++
 srcpkgs/nsjail/patches/kafel-bison.patch | 30 ------------------------
 srcpkgs/nsjail/patches/ldflags.patch     | 11 +++++++++
 srcpkgs/nsjail/patches/log.patch         | 24 +++++++++++++++++++
 srcpkgs/nsjail/template                  | 13 +++++-----
 6 files changed, 63 insertions(+), 36 deletions(-)
 create mode 100644 srcpkgs/nsjail/patches/32bitint.patch
 create mode 100644 srcpkgs/nsjail/patches/cpp17.patch
 delete mode 100644 srcpkgs/nsjail/patches/kafel-bison.patch
 create mode 100644 srcpkgs/nsjail/patches/ldflags.patch
 create mode 100644 srcpkgs/nsjail/patches/log.patch

diff --git a/srcpkgs/nsjail/patches/32bitint.patch b/srcpkgs/nsjail/patches/32bitint.patch
new file mode 100644
index 000000000000..055caa909e36
--- /dev/null
+++ b/srcpkgs/nsjail/patches/32bitint.patch
@@ -0,0 +1,10 @@
+--- a/macros.h	2022-11-22 22:25:15.000000000 +0100
++++ -	2023-07-14 21:21:14.506361610 +0200
+@@ -65,6 +65,6 @@
+ #endif
+ 
+ #define NS_VALSTR_STRUCT(x) \
+-	{ (uint64_t) x, #x }
++	{ (long unsigned int) x, #x }
+ 
+ #endif /* NS_COMMON_H */
diff --git a/srcpkgs/nsjail/patches/cpp17.patch b/srcpkgs/nsjail/patches/cpp17.patch
new file mode 100644
index 000000000000..384ff7b51258
--- /dev/null
+++ b/srcpkgs/nsjail/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/Makefile	2022-11-22 22:25:15.000000000 +0100
++++ -	2023-07-08 16:35:16.308351723 +0200
+@@ -32,7 +32,7 @@
+ 	-Ikafel/include
+ 
+ CXXFLAGS += $(USER_DEFINES) $(COMMON_FLAGS) $(shell pkg-config --cflags protobuf) \
+-	-std=c++14 -fno-exceptions -Wno-unused -Wno-unused-parameter
++	-std=c++17 -fno-exceptions -Wno-unused -Wno-unused-parameter
+ LDFLAGS += -pie -Wl,-z,noexecstack -lpthread $(shell pkg-config --libs protobuf)
+ 
+ BIN = nsjail
diff --git a/srcpkgs/nsjail/patches/kafel-bison.patch b/srcpkgs/nsjail/patches/kafel-bison.patch
deleted file mode 100644
index 48eff0d36369..000000000000
--- a/srcpkgs/nsjail/patches/kafel-bison.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 32768d3cc8cecbc30d9020dbfa8d9ec541d057e4 Mon Sep 17 00:00:00 2001
-From: Evangelos Foutras <evangelos@foutrelis.com>
-Date: Wed, 17 Mar 2021 16:36:40 +0200
-Subject: [PATCH] Replace YYUSE call with void cast in src/parser.y
-
-The YYUSE macro was renamed to YY_USE in bison 3.7.5; we might as well
-avoid using it altogether and cast the unused variable to void instead.
-
-Fixes the following linker error:
-
-/usr/bin/ld: kafel/libkafel.a(libkafel.o): in function `kafel_yyerror':
-arm_syscalls.c:(.text+0x6984): undefined reference to `YYUSE'
----
- src/parser.y | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git kafel/src/parser.y kafel/src/parser.y
-index e0f109c..0e01373 100644
---- a/kafel/src/parser.y
-+++ b/kafel/src/parser.y
-@@ -420,8 +420,8 @@ const_def
- 
- void yyerror(YYLTYPE * loc, struct kafel_ctxt* ctxt, yyscan_t scanner,
-              const char *msg) {
-+  (void)scanner; /* suppress unused-parameter warning */
-   if (!ctxt->lexical_error) {
--    YYUSE(scanner);
-     if (loc->filename != NULL) {
-       append_error(ctxt, "%s:%d:%d: %s", loc->filename, loc->first_line, loc->first_column, msg);
-     } else {
diff --git a/srcpkgs/nsjail/patches/ldflags.patch b/srcpkgs/nsjail/patches/ldflags.patch
new file mode 100644
index 000000000000..c039ea09e237
--- /dev/null
+++ b/srcpkgs/nsjail/patches/ldflags.patch
@@ -0,0 +1,11 @@
+--- a/kafel/src/Makefile	2023-07-08 16:40:45.058218240 +0200
++++ -	2023-07-08 16:54:04.459715051 +0200
+@@ -56,7 +56,7 @@
+ 	$(CC) $(CFLAGS) -Wl,-soname,$@.${VERSION} -shared $^ -o $@
+ 
+ ${STATIC_TARGET}: ${OBJECTS}
+-	$(LD) $(LDFLAGS) -r ${OBJECTS} -o libkafel_r.o
++	$(LD) -r ${OBJECTS} -o libkafel_r.o
+ 	# Fix x86 PIC symbols
+ 	$(OBJDUMP) -t libkafel_r.o | grep '.hidden' | grep -v 'get_pc_thunk' | sed -e 's/^.*\.hidden //' > libkafel.localize_symbols
+ 	$(OBJCOPY) -w --localize-symbols=libkafel.localize_symbols libkafel_r.o libkafel.o
diff --git a/srcpkgs/nsjail/patches/log.patch b/srcpkgs/nsjail/patches/log.patch
new file mode 100644
index 000000000000..9e7f12368076
--- /dev/null
+++ b/srcpkgs/nsjail/patches/log.patch
@@ -0,0 +1,24 @@
+diff --git a/config.cc b/config.cc
+index 5242ba4..bbb2b6d 100644
+--- a/config.cc
++++ b/config.cc
+@@ -302,11 +302,6 @@ static bool configParseInternal(nsjconf_t* nsjconf, const nsjail::NsJailConfig&
+ 	return true;
+ }
+ 
+-static void LogHandler(
+-    google::protobuf::LogLevel level, const char* filename, int line, const std::string& message) {
+-	LOG_W("config.cc: '%s'", message.c_str());
+-}
+-
+ bool parseFile(nsjconf_t* nsjconf, const char* file) {
+ 	LOG_D("Parsing configuration from '%s'", file);
+ 
+@@ -316,7 +311,6 @@ bool parseFile(nsjconf_t* nsjconf, const char* file) {
+ 		return false;
+ 	}
+ 
+-	SetLogHandler(LogHandler);
+ 	google::protobuf::io::FileInputStream input(fd);
+ 	input.SetCloseOnDelete(true);
+ 
diff --git a/srcpkgs/nsjail/template b/srcpkgs/nsjail/template
index 346348fdf17b..5c5d0a508f38 100644
--- a/srcpkgs/nsjail/template
+++ b/srcpkgs/nsjail/template
@@ -1,7 +1,7 @@
 # Template file for 'nsjail'
 pkgname=nsjail
-version=3.0
-revision=9
+version=3.3
+revision=1
 create_wrksrc=yes
 build_style=gnu-makefile
 hostmakedepends="bison flex pkg-config protobuf which"
@@ -11,9 +11,9 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="http://nsjail.com"
 distfiles="https://github.com/google/nsjail/archive/${version}.tar.gz
- https://github.com/google/kafel/archive/8e69b8efae415cde3debffbb1e379d9e7a16835a.tar.gz"
-checksum="cfa66d3ed136b2e221752287b95e544915e8a6760aa866f023b604d14a374919
- 4a6c9a1a70ed99bbed767adc106081b017a3090307ea88cc7e329b82daa1373b"
+ https://github.com/google/kafel/archive/1af0975af45ca4404f357b9a4e1636f53a01bfd3.tar.gz"
+checksum="9c247d0cba565b4e3f91cc76e827ddf7f3ad499f54ba611edd25d4d7be4890c3
+ e8c195a2a08daa70c7712adae3eaa01656b039dcc8cc1e5e8210006716761ad5"
 
 archs="aarch64* armv5tel* armv6l* armv7l* x86_64*"
 
@@ -28,7 +28,8 @@ post_extract() {
 }
 
 post_patch() {
-	sed -i -e 's/-Werror\b//g' -e 's/\b\(\(C\(XX\)\?\|LD\)FLAGS\s*+=\)/override \1/g' Makefile kafel/build/Makefile.mk kafel/src/Makefile
+	vsed -e 's/-Werror\b//g' -i Makefile kafel/build/Makefile.mk
+	vsed -e 's/\b\(\(C\(XX\)\?\|LD\)FLAGS\s*+=\)/override \1/g' -i Makefile kafel/build/Makefile.mk kafel/src/Makefile
 }
 
 do_install() {

From 4f4ac4e83d31afff679f717958ccd80af89258c7 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 15/35] netdata: rebuild against protobuf-23.3_1

---
 srcpkgs/netdata/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 18dbe4394a4e..781120b3f275 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -1,7 +1,7 @@
 # Template file for 'netdata'
 pkgname=netdata
 version=1.37.1
-revision=1
+revision=2
 build_style=gnu-configure
 build_helper=qemu
 configure_args="--with-user=_netdata ac_cv_file_externaldeps_libbpf_libbpf_a=no

From c560f3f9e2c91766a184c6409a849444955a5963 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 16/35] mumble: rebuild against protobuf-23.3_1

---
 srcpkgs/mumble/patches/absl.patch  | 20 ++++++++++++++++++++
 srcpkgs/mumble/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/mumble/patches/musl.patch  | 14 ++++++++++++++
 srcpkgs/mumble/template            |  2 +-
 4 files changed, 46 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/mumble/patches/absl.patch
 create mode 100644 srcpkgs/mumble/patches/cpp17.patch
 create mode 100644 srcpkgs/mumble/patches/musl.patch

diff --git a/srcpkgs/mumble/patches/absl.patch b/srcpkgs/mumble/patches/absl.patch
new file mode 100644
index 000000000000..b737fc40fdf9
--- /dev/null
+++ b/srcpkgs/mumble/patches/absl.patch
@@ -0,0 +1,20 @@
+--- a/src/murmur/CMakeLists.txt	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-07-14 17:23:13.145173297 +0200
+@@ -77,6 +77,7 @@
+ )
+ 
+ target_link_libraries(mumble-server PRIVATE shared Qt5::Sql)
++target_link_libraries(mumble-server PRIVATE shared absl_log_internal_message)
+ 
+ if(static)
+ 	# MariaDB and MySQL
+--- a/src/mumble/CMakeLists.txt	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-07-14 17:25:05.556023593 +0200
+@@ -472,6 +472,7 @@
+ 		Qt5::Sql
+ 		Qt5::Svg
+ 		Qt5::Widgets
++		absl_log_internal_message
+ )
+ 
+ if(static)
diff --git a/srcpkgs/mumble/patches/cpp17.patch b/srcpkgs/mumble/patches/cpp17.patch
new file mode 100644
index 000000000000..7cb9c9a93355
--- /dev/null
+++ b/srcpkgs/mumble/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- mumble-1.4.287/CMakeLists.txt	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-07-10 20:12:27.869019033 +0200
+@@ -35,7 +35,7 @@
+ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/3rdparty")
+ set(PLUGINS_DIR "${CMAKE_SOURCE_DIR}/plugins")
+ 
+-set(CMAKE_CXX_STANDARD 14)
++set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_OSX_DEPLOYMENT_TARGET 10.13)
+ 
+ list(APPEND CMAKE_MODULE_PATH
diff --git a/srcpkgs/mumble/patches/musl.patch b/srcpkgs/mumble/patches/musl.patch
new file mode 100644
index 000000000000..49d83a422b8e
--- /dev/null
+++ b/srcpkgs/mumble/patches/musl.patch
@@ -0,0 +1,14 @@
+Newer musl expands NULL to nullptr, which is not a bool.
+Either way, the check is always true with openssl 1.1+, so it can probably removed alltogether
+---
+--- mumble-1.4.287/src/SSL.cpp	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-02-07 22:18:16.093759105 +0100
+@@ -33,7 +34,7 @@
+ 	// If we detect that no locking callback is configured, we
+ 	// have to set it up ourselves to allow multi-threaded use
+ 	// of OpenSSL.
+-	if (!CRYPTO_get_locking_callback()) {
++	if (CRYPTO_get_locking_callback() == NULL) {
+ 		SSLLocks::initialize();
+ 	}
+ }
diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 35c2728c74ce..5c30d4ae64b4 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.4.287
-revision=3
+revision=4
 build_style=cmake
 make_cmd=make
 configure_args="-Doverlay-xcompile=OFF -Dbundled-opus=OFF

From 0375d1eea52d1ec7588491f2092dd1ac736a359a Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 17/35] mumble: rebuild against protobuf-23.3_1

---
 srcpkgs/mumble/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 5c30d4ae64b4..3dc669705365 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.4.287
-revision=4
+revision=5
 build_style=cmake
 make_cmd=make
 configure_args="-Doverlay-xcompile=OFF -Dbundled-opus=OFF

From c7ca77082e0aa805af290c054ecf87d7ff73610d Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 18/35] mozc: statically link against vendored prootbuf

protobuf 23+ links against abseil, which conflicts with the vendored
abseil version in mozc. The build system does not have a flag to use
system abseil.
---
 srcpkgs/mozc/template | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/mozc/template b/srcpkgs/mozc/template
index 3fdb986b3213..e7735cb57f4f 100644
--- a/srcpkgs/mozc/template
+++ b/srcpkgs/mozc/template
@@ -3,16 +3,17 @@ pkgname=mozc
 # src/data/version/mozc_version_template.bzl
 # revision is always 102, template always says 100 ;)
 version=2.28.4800.102
-revision=1
+revision=2
 _commit=056163a5fddbb261b258beb8444998e4882f0cc5
 _abseil=20211102.0
+_protobuf_commit=cc7b1b53234cd7a8f50d90ac3933b240dcf4cd97
 _gyp=0.1+20220404git9ecf45e
 _jpn_dict=e5b3425575734c323e1d947009dd74709437b684
 create_wrksrc=yes
 build_wrksrc=mozc/src
-hostmakedepends="gettext ninja pkg-config protobuf protobuf-devel
+hostmakedepends="gettext ninja pkg-config
  python3-six which qt5-qmake qt5-host-tools"
-makedepends="gtk+-devel ibus-devel libzinnia-devel protobuf-devel qt5-devel
+makedepends="gtk+-devel ibus-devel libzinnia-devel qt5-devel
  fcitx-devel libfcitx5-devel"
 depends="tegaki-zinnia-japanese>=0.3 mozc-base-${version}_${revision}"
 short_desc="Japanese IME (Open Source version of Google Japanese Input)"
@@ -22,11 +23,13 @@ homepage="https://github.com/google/mozc"
 distfiles="
  https://github.com/fcitx/mozc/archive/$_commit.tar.gz
  https://github.com/abseil/abseil-cpp/archive/refs/tags/$_abseil.tar.gz
+ https://github.com/protocolbuffers/protobuf/archive/$_protobuf_commit.tar.gz
  ${DEBIAN_SITE}/main/g/gyp/gyp_$_gyp.orig.tar.xz
  https://github.com/hiroyuki-komatsu/japanese-usage-dictionary/archive/$_jpn_dict.tar.gz
 "
 checksum="259d87bfd7535ad03bd554185677d7345a90166353a6db0b6a3606183ad2923d
  dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4
+ 863e27f6d24f40bce2bbfe5adcf365f2af5479ea917f254331ee60ce88f8c8a5
  0325006f012db66dfa27bf7bb048f3fe38f96e512ebe065930cbc70bcdc06bc9
  0b6efee0eebac2c1a8eeea333278aa40fcef7846bba9a379962c6e567e7e3dc1"
 
@@ -47,7 +50,8 @@ post_extract() {
 	# symlink "submodules" into place
 	for _src_dest in gyp \
 		abseil-cpp \
-		japanese-usage-dictionary:japanese_usage_dictionary
+		japanese-usage-dictionary:japanese_usage_dictionary \
+		protobuf
 	do
 		_src=${_src_dest%:*}
 		_dst=${_src_dest#*:}
@@ -61,7 +65,6 @@ do_configure() {
 	GYP_DEFINES="
 	 document_dir=/usr/share/licenses/${pkgname}
 	 ibus_mozc_path=/usr/libexec/ibus-engine-mozc
-	 use_libprotobuf=1
 	 use_libzinnia=1
 	 ${XBPS_TARGET_NO_ATOMIC8:+use_libatomic=1}
 	" python3 build_mozc.py gyp --target_platform=Linux

From b0c5f28d993b09ab81dd14548de648b964a60dad Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 19/35] mosh: rebuild against protobuf-23.3_1

---
 srcpkgs/mosh/patches/cpp17.patch | 14 ++++++++++++++
 srcpkgs/mosh/template            |  5 +++--
 2 files changed, 17 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/mosh/patches/cpp17.patch

diff --git a/srcpkgs/mosh/patches/cpp17.patch b/srcpkgs/mosh/patches/cpp17.patch
new file mode 100644
index 000000000000..5463adc2718b
--- /dev/null
+++ b/srcpkgs/mosh/patches/cpp17.patch
@@ -0,0 +1,14 @@
+--- a/configure.ac	2022-10-27 05:29:47.000000000 +0200
++++ -	2023-07-08 13:19:05.270079012 +0200
+@@ -22,9 +22,9 @@
+ # automake 1.12 seems to require this, but automake 1.11 doesn't recognize it
+ m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+ 
+-# Protobuf 3.6+ requires C++11.
++# Protobuf 3.6+ requires C++11., 4.2.2 with abseil requires C++17
+ AS_IF([pkg-config --atleast-version 3.6.0 protobuf],
+-  [AX_CXX_COMPILE_STDCXX([11])])
++  [AX_CXX_COMPILE_STDCXX([17])])
+ 
+ WARNING_CXXFLAGS=""
+ PICKY_CXXFLAGS=""
diff --git a/srcpkgs/mosh/template b/srcpkgs/mosh/template
index 173ba14bcd47..d252a0c29755 100644
--- a/srcpkgs/mosh/template
+++ b/srcpkgs/mosh/template
@@ -1,9 +1,9 @@
 # Template file for 'mosh'
 pkgname=mosh
 version=1.4.0
-revision=3
+revision=4
 build_style=gnu-configure
-hostmakedepends="perl pkg-config protobuf"
+hostmakedepends="perl pkg-config protobuf autoconf automake"
 makedepends="ncurses-devel protobuf-devel libutempter-devel openssl-devel"
 depends="perl-IO-Tty"
 short_desc="Mobile shell, remote terminal application that allows roaming"
@@ -16,4 +16,5 @@ checksum=872e4b134e5df29c8933dff12350785054d2fd2839b5ae6b5587b14db1465ddd
 pre_configure() {
 	# make local.test always succeed. It fails due to missing X server in chroot.
 	printf "%s\n" "#!/bin/sh" ":" > src/tests/local.test
+	autoreconf -fi
 }

From 2d9f639ad31a0092051d03bd6bb3b90a17e650be Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 20/35] libcompizconfig: rebuild against protobuf-23.3_1

---
 srcpkgs/libcompizconfig/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libcompizconfig/template b/srcpkgs/libcompizconfig/template
index 5b59eda97c78..3fb33698bfa6 100644
--- a/srcpkgs/libcompizconfig/template
+++ b/srcpkgs/libcompizconfig/template
@@ -1,7 +1,7 @@
 # Template file for 'libcompizconfig'
 pkgname=libcompizconfig
 version=0.8.18
-revision=10
+revision=11
 build_style=gnu-configure
 configure_args="--disable-static"
 hostmakedepends="automake intltool libtool pkg-config protobuf"

From 5a753eebe44ee03c24e5dbc1030c6b56ebef880f Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 21/35] libArcus: rebuild against protobuf-23.3_1

---
 srcpkgs/libArcus/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libArcus/template b/srcpkgs/libArcus/template
index d6fedecc5599..1cf1b866d650 100644
--- a/srcpkgs/libArcus/template
+++ b/srcpkgs/libArcus/template
@@ -1,7 +1,7 @@
 # Template file for 'libArcus'
 pkgname=libArcus
 version=4.13.1
-revision=4
+revision=5
 build_style=cmake
 configure_args="-DBUILD_EXAMPLES=OFF"
 hostmakedepends="protobuf python3-sip-devel"

From 53caba9d0485084e6baf3d3847e3299727515a34 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 22/35] kismet: rebuild against protobuf-23.3_1

---
 srcpkgs/kismet/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/kismet/template b/srcpkgs/kismet/template
index 48a0fc5fa6f1..46cbf7b31811 100644
--- a/srcpkgs/kismet/template
+++ b/srcpkgs/kismet/template
@@ -1,7 +1,7 @@
 # Template file for 'kismet'
 pkgname=kismet
 version=2022.08.R1
-revision=2
+revision=3
 _realver="${version//./-}"
 build_style=gnu-configure
 configure_args="--disable-python-tools"

From d458677f81bf9cedf7453dfa61461df2fd162398 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 23/35] cura-engine: rebuild against protobuf-23.3_1

---
 srcpkgs/cura-engine/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cura-engine/template b/srcpkgs/cura-engine/template
index 4f3118d30252..1f23ddace749 100644
--- a/srcpkgs/cura-engine/template
+++ b/srcpkgs/cura-engine/template
@@ -1,7 +1,7 @@
 # Template file for 'cura-engine'
 pkgname=cura-engine
 version=4.13.1
-revision=3
+revision=4
 build_style=cmake
 configure_args="-DCURA_ENGINE_VERSION=${version}"
 hostmakedepends="protobuf git"

From c4ddefe30102ccf35b38c8d2a64522323117f86b Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 24/35] clementine: rebuild against protobuf-23.3_1

---
 srcpkgs/clementine/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/clementine/template b/srcpkgs/clementine/template
index acd098124529..a1cacbb73d8e 100644
--- a/srcpkgs/clementine/template
+++ b/srcpkgs/clementine/template
@@ -1,11 +1,11 @@
 # Template file for 'clementine'
 pkgname=clementine
 version=1.4.0rc1
-revision=10
+revision=11
 _fullver=${version}-873-g3471134d5
 build_style=cmake
 configure_args="-DUSE_SYSTEM_TAGLIB=ON -DBUILD_WERROR=OFF -DUSE_SYSTEM_PROJECTM=ON
- -DFORCE_GIT_REVISION=${_fullver}"
+ -DFORCE_GIT_REVISION=${_fullver} -DCMAKE_CXX_STANDARD=17"
 hostmakedepends="gettext sparsehash pkg-config qt5-qmake qt5-host-tools protobuf"
 makedepends="chromaprint-devel boost-devel gst-plugins-base1-devel
  qt5-devel glew-devel sqlite-devel protobuf-devel libplist-devel

From ab62baf22736735d2a7d4694e59e45d2f3185e9e Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 25/35] bloaty: rebuild against protobuf-23.3_1

---
 srcpkgs/bloaty/patches/cpp17.patch         | 20 ++++++++
 srcpkgs/bloaty/patches/system-abseil.patch | 58 ++++++++++++++++++++++
 srcpkgs/bloaty/template                    |  2 +-
 3 files changed, 79 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/bloaty/patches/cpp17.patch
 create mode 100644 srcpkgs/bloaty/patches/system-abseil.patch

diff --git a/srcpkgs/bloaty/patches/cpp17.patch b/srcpkgs/bloaty/patches/cpp17.patch
new file mode 100644
index 000000000000..ca458dd79fb6
--- /dev/null
+++ b/srcpkgs/bloaty/patches/cpp17.patch
@@ -0,0 +1,20 @@
+--- bloaty-1.1/CMakeLists.txt	2020-05-24 06:43:55.000000000 +0200
++++ -	2023-07-08 12:51:24.115742363 +0200
+@@ -2,7 +2,7 @@
+ cmake_policy(SET CMP0048 NEW)
+ project (Bloaty VERSION 1.0)
+ project (Bloaty VERSION 1.1)
+-set(CMAKE_CXX_STANDARD 11)
++set(CMAKE_CXX_STANDARD 17)
+ 
+ # Options we define for users.
+ option(BLOATY_ENABLE_ASAN "Enable address sanitizer." OFF)
+@@ -93,7 +93,7 @@
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/src")
+ 
+ # Baseline build flags.
+-set(CMAKE_CXX_FLAGS "-std=c++11 -W -Wall -Wno-sign-compare")
++set(CMAKE_CXX_FLAGS "-W -Wall -Wno-sign-compare")
+ set(CMAKE_CXX_FLAGS_DEBUG "-g1")
+ set(CMAKE_CXX_FLAGS_RELEASE "-O2")
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g1")
diff --git a/srcpkgs/bloaty/patches/system-abseil.patch b/srcpkgs/bloaty/patches/system-abseil.patch
new file mode 100644
index 000000000000..799e10a3b540
--- /dev/null
+++ b/srcpkgs/bloaty/patches/system-abseil.patch
@@ -0,0 +1,58 @@
+--- bloaty-1.1/CMakeLists.txt	2020-05-24 06:43:55.000000000 +0200
++++ -	2023-07-08 13:07:06.559266321 +0200
+@@ -35,6 +35,12 @@
+   MESSAGE(STATUS "pkg-config not found, using bundled dependencies")
+ endif(${PKG_CONFIG_FOUND})
+ endif(UNIX)
++find_package(absl CONFIG)
++if(absl_FOUND)
++  MESSAGE(STATUS "System absl found, using")
++else()
++  MESSAGE(STATUS "System absl not found, using bundled version")
++endif()
+ 
+ # Set default build type.
+ if(NOT CMAKE_BUILD_TYPE)
+@@ -89,7 +95,6 @@
+ 
+ include_directories(.)
+ include_directories(src)
+-include_directories(third_party/abseil-cpp)
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/src")
+ 
+ # Baseline build flags.
+@@ -159,24 +164,6 @@
+     src/macho.cc
+     src/range_map.cc
+     src/webassembly.cc
+-    # Until Abseil has a proper CMake build system
+-    third_party/abseil-cpp/absl/base/internal/raw_logging.cc # Grrrr...
+-    third_party/abseil-cpp/absl/base/internal/throw_delegate.cc
+-    third_party/abseil-cpp/absl/numeric/int128.cc
+-    third_party/abseil-cpp/absl/strings/ascii.cc
+-    third_party/abseil-cpp/absl/strings/charconv.cc
+-    third_party/abseil-cpp/absl/strings/escaping.cc
+-    third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc
+-    third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc
+-    third_party/abseil-cpp/absl/strings/internal/memutil.cc
+-    third_party/abseil-cpp/absl/strings/internal/utf8.cc
+-    third_party/abseil-cpp/absl/strings/match.cc
+-    third_party/abseil-cpp/absl/strings/numbers.cc
+-    third_party/abseil-cpp/absl/strings/str_cat.cc
+-    third_party/abseil-cpp/absl/strings/string_view.cc
+-    third_party/abseil-cpp/absl/strings/str_split.cc
+-    third_party/abseil-cpp/absl/strings/substitute.cc
+-    third_party/abseil-cpp/absl/types/bad_optional_access.cc
+     # One source file, no special build system needed.
+     third_party/demumble/third_party/libcxxabi/cxa_demangle.cpp
+     )
+@@ -214,6 +201,9 @@
+   endif(${PROTOBUF_FOUND})
+ endif(UNIX)
+ 
++list(APPEND LIBBLOATY_LIBS absl::strings)
++list(APPEND LIBBLOATY_LIBS absl::optional)
++
+ if(DEFINED ENV{LIB_FUZZING_ENGINE})
+   message("LIB_FUZZING_ENGINE set, building fuzz_target instead of Bloaty")
+   add_executable(fuzz_target tests/fuzz_target.cc)
diff --git a/srcpkgs/bloaty/template b/srcpkgs/bloaty/template
index 226d2f30ffcd..2a79fb502f99 100644
--- a/srcpkgs/bloaty/template
+++ b/srcpkgs/bloaty/template
@@ -1,7 +1,7 @@
 # Template file for 'bloaty'
 pkgname=bloaty
 version=1.1
-revision=11
+revision=12
 build_style=cmake
 hostmakedepends="pkg-config protobuf"
 makedepends="capstone-devel protobuf-devel re2-devel zlib-devel"

From d88998c66c32311b27ceb7b693f9b36b030525f2 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 26/35] astroid: rebuild against protobuf-23.3_1

---
 srcpkgs/astroid/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/astroid/template            |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/astroid/patches/cpp17.patch

diff --git a/srcpkgs/astroid/patches/cpp17.patch b/srcpkgs/astroid/patches/cpp17.patch
new file mode 100644
index 000000000000..9ac9a9f952e6
--- /dev/null
+++ b/srcpkgs/astroid/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- astroid-0.16/CMakeLists.txt	2021-08-05 15:31:11.000000000 +0200
++++ -	2023-07-03 21:53:30.304595787 +0200
+@@ -145,7 +145,7 @@
+ # compile flags and options
+ #
+ 
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ 
+ include_directories (
+   ${GTKMM3_INCLUDE_DIRS}
diff --git a/srcpkgs/astroid/template b/srcpkgs/astroid/template
index 25d3da44e024..8fd1c032be2c 100644
--- a/srcpkgs/astroid/template
+++ b/srcpkgs/astroid/template
@@ -1,7 +1,7 @@
 # Template file for 'astroid'
 pkgname=astroid
 version=0.16
-revision=8
+revision=9
 build_style=cmake
 build_helper=gir
 hostmakedepends="pkg-config scdoc protobuf gobject-introspection"

From ac9ba9768ab43c9c859263404e19cdc0dbcc84d1 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 27/35] android-tools: rebuild against protobuf-23.3_1

---
 .../android-tools/patches/protobuf-23.patch   | 31 +++++++++++++++++++
 srcpkgs/android-tools/template                |  2 +-
 2 files changed, 32 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/android-tools/patches/protobuf-23.patch

diff --git a/srcpkgs/android-tools/patches/protobuf-23.patch b/srcpkgs/android-tools/patches/protobuf-23.patch
new file mode 100644
index 000000000000..21012126ea9a
--- /dev/null
+++ b/srcpkgs/android-tools/patches/protobuf-23.patch
@@ -0,0 +1,31 @@
+--- android-tools-34.0.1.orig/vendor/extras/libjsonpb/parse/jsonpb.cpp  2023-06-28 23:15:15.414236253 +0200
++++ android-tools-34.0.1/vendor/extras/libjsonpb/parse/jsonpb.cpp       2023-06-28 23:34:21.672962973 +0200
+@@ -51,7 +51,7 @@
+ #if GOOGLE_PROTOBUF_VERSION < 3016000
+     return MakeError<std::string>(status.error_message().as_string());
+ #else
+-    return MakeError<std::string>(status.message().as_string());
++    return MakeError<std::string>(std::string(status.message()));
+ #endif
+   }
+   return ErrorOr<std::string>(std::move(json));
+@@ -68,7 +68,7 @@
+ #if GOOGLE_PROTOBUF_VERSION < 3016000
+     return MakeError<std::monostate>(status.error_message().as_string());
+ #else
+-    return MakeError<std::monostate>(status.message().as_string());
++    return MakeError<std::monostate>(std::string(status.message()));
+ #endif
+   }
+   if (!message->ParseFromString(binary)) {
+--- a/vendor/CMakeLists.partition.txt	2023-03-03 17:18:50.000000000 +0100
++++ -	2023-07-10 23:06:19.290718502 +0200
+@@ -20,7 +20,7 @@
+ 
+ add_library(libjsonpbparse STATIC
+ 	extras/libjsonpb/parse/jsonpb.cpp)
+-target_link_libraries(libjsonpbparse PRIVATE libbase)
++target_link_libraries(libjsonpbparse PRIVATE libbase absl_status)
+ target_include_directories(libjsonpbparse PUBLIC
+ 	extras/libjsonpb/parse/include)
+ 
diff --git a/srcpkgs/android-tools/template b/srcpkgs/android-tools/template
index 329674482b69..b813474eace0 100644
--- a/srcpkgs/android-tools/template
+++ b/srcpkgs/android-tools/template
@@ -1,7 +1,7 @@
 # Template file for 'android-tools'
 pkgname=android-tools
 version=34.0.1
-revision=1
+revision=2
 archs="armv* aarch64* x86_64* i686* ppc64le*"
 build_style=cmake
 hostmakedepends="perl go protobuf pkg-config"

From 6d8f58f82d49553f7f5278e8dc5567d756e5bfd6 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:06:25 +0200
Subject: [PATCH 28/35] justbuild: rebuild against grpc-1.56.0_1

---
 srcpkgs/justbuild/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index ee36f6dae575..f933611d1283 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
 # Template file for 'justbuild'
 pkgname=justbuild
 version=1.1.2
-revision=2
+revision=3
 create_wrksrc=yes
 hostmakedepends="jo pandoc pkg-config python3 tar unzip wget"
 makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++

From ec7d489bf3c6cf6c29918ab88aa04db6ce9f3b23 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Wed, 28 Jun 2023 11:07:13 +0200
Subject: [PATCH 29/35] sysdig: update to 0.31.5.

---
 .../sysdig/files/libsinsp-absl-protobuf.patch |  11 +
 srcpkgs/sysdig/files/libsinsp-zstd.patch      |  22 +
 ...d9aab87801281e22898242e24e0bc63873b2.patch | 557 ++++++++++++++++++
 .../falcosecurity-libs-nodownload.patch       |  28 +
 srcpkgs/sysdig/template                       |  37 +-
 5 files changed, 639 insertions(+), 16 deletions(-)
 create mode 100644 srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch
 create mode 100644 srcpkgs/sysdig/files/libsinsp-zstd.patch
 create mode 100644 srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
 create mode 100644 srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch

diff --git a/srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch b/srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch
new file mode 100644
index 000000000000..387be65954e6
--- /dev/null
+++ b/srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch
@@ -0,0 +1,11 @@
+--- a/userspace/libsinsp/CMakeLists.txt	2023-06-05 10:25:32.000000000 +0200
++++ -	2023-07-11 09:03:42.496439385 +0200
+@@ -289,7 +289,7 @@
+ 	endif()
+ endif() # NOT WIN32
+ 
+-
++LIST(APPEND SINSP_LIBRARIES absl_log_internal_message absl_log_internal_nullguard)
+ target_link_libraries(sinsp ${SINSP_LIBRARIES})
+ 
+ if(APPLE)
diff --git a/srcpkgs/sysdig/files/libsinsp-zstd.patch b/srcpkgs/sysdig/files/libsinsp-zstd.patch
new file mode 100644
index 000000000000..e99e4f7c1207
--- /dev/null
+++ b/srcpkgs/sysdig/files/libsinsp-zstd.patch
@@ -0,0 +1,22 @@
+diff --git a/userspace/libsinsp/CMakeLists.txt b/userspace/libsinsp/CMakeLists.txt
+index 18e59b1..b23e890 100644
+--- a/userspace/libsinsp/CMakeLists.txt
++++ b/userspace/libsinsp/CMakeLists.txt
+@@ -38,6 +38,7 @@ include(ExternalProject)
+ 
+ if(NOT WIN32 AND NOT APPLE)
+ 	include(b64)
++	find_library(ZSTD_LIB NAMES zstd)
+ endif()
+ 
+ include(jsoncpp)
+@@ -246,7 +247,8 @@ if(NOT WIN32)
+ 				"${PROTOBUF_LIB}"
+ 				"${CARES_LIB}"
+ 				"${JQ_LIB}"
+-				"${B64_LIB}")
++				"${B64_LIB}"
++				"${ZSTD_LIB}")
+ 
+ 			if(NOT MUSL_OPTIMIZED_BUILD)
+ 				list(APPEND SINSP_LIBRARIES
diff --git a/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch b/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
new file mode 100644
index 000000000000..54c2ed8d0d98
--- /dev/null
+++ b/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
@@ -0,0 +1,557 @@
+From 3d22309a7317d500f75d053af6f9e5b5b5728b40 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 09:56:04 +0000
+Subject: [PATCH 1/6] update(cmake): bump driver to 5.0.0+driver
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ cmake/modules/driver.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/driver.cmake b/cmake/modules/driver.cmake
+index bee1926d3a..7fd35d7f99 100644
+--- a/cmake/modules/driver.cmake
++++ b/cmake/modules/driver.cmake
+@@ -31,8 +31,8 @@ else()
+   # In case you want to test against another driver version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DDRIVER_VERSION=dev ..`
+   if(NOT DRIVER_VERSION)
+-    set(DRIVER_VERSION "4.0.1+driver")
+-    set(DRIVER_CHECKSUM "SHA256=424d647aa6b6fa45b6701c4bbc9293c161ed00a08254d83eea419c0a736f280d")
++    set(DRIVER_VERSION "5.0.0+driver")
++    set(DRIVER_CHECKSUM "SHA256=c988ca7ac7d174f62d1bfbaaca49efd117f7b329f474d1b46b643635b2e35083")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+
+From 847e602404dcee85f06dde5a1d8ad0c740c49c98 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 09:56:08 +0000
+Subject: [PATCH 2/6] update(cmake): bump libs to 0.11.0-rc1
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ cmake/modules/falcosecurity-libs.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index b345c057ad..f30233b9e3 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -32,8 +32,8 @@ else()
+   # In case you want to test against another falcosecurity/libs version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DFALCOSECURITY_LIBS_VERSION=dev ..`
+   if(NOT FALCOSECURITY_LIBS_VERSION)
+-    set(FALCOSECURITY_LIBS_VERSION "0.10.5")
+-    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=2a4b37c08bec4ba81326314831f341385aff267062e8d4483437958689662936")
++    set(FALCOSECURITY_LIBS_VERSION "0.11.0-rc1")
++    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=bb6e57f66ae85dcda6e695226cd14082d9a1215902909cdde5b83f7abef44d8f")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+
+From 1d1dbaf06265d8eefd4038e8474f71f7958ec840 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 10:43:27 +0000
+Subject: [PATCH 3/6] fix(cmake): solve c++17 compilation issues
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ CMakeLists.txt                         |  3 +++
+ cmake/modules/falcosecurity-libs.cmake | 10 +++++-----
+ 2 files changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0309d66633..6d28c6c67d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -146,6 +146,9 @@ if(NOT DEFINED SYSDIG_COMPONENT_NAME)
+     set(SYSDIG_COMPONENT_NAME "${CMAKE_PROJECT_NAME}")
+ endif()
+ 
++set(CMAKE_CXX_STANDARD 17)
++set(CMAKE_CXX_EXTENSIONS OFF)
++
+ include(falcosecurity-libs)
+ include(yaml-cpp)
+ include(nlohmann-json)
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index f30233b9e3..fe5dacd7ad 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -94,12 +94,12 @@ else()
+ endif()
+ 
+ include(CheckCXXCompilerFlag)
+-CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX14)
+-if(CREATE_TEST_TARGETS AND NOT WIN32 AND COMPILER_SUPPORTS_CXX14)
+-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
++CHECK_CXX_COMPILER_FLAG("-std=c++17" COMPILER_SUPPORTS_CXX17)
++if(CREATE_TEST_TARGETS AND NOT WIN32 AND COMPILER_SUPPORTS_CXX17)
++	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ 	include(gtest)
+-elseif(CREATE_TEST_TARGETS AND NOT COMPILER_SUPPORTS_CXX14)
+-	message(FATAL_ERROR "Your compiler doesn't support c++14: cannot include gtest and create test targets.")
++elseif(CREATE_TEST_TARGETS AND NOT COMPILER_SUPPORTS_CXX17)
++	message(FATAL_ERROR "Your compiler doesn't support c++17: cannot include gtest and create test targets.")
+ endif()
+ 
+ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
+
+From d5fcbad2d5ea63e1439ab7174a5cfd9a7a2e1545 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 10:44:05 +0000
+Subject: [PATCH 4/6] update(userspace): sync sysdig and csysdig with latest
+ libs
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ userspace/sysdig/csysdig.cpp                |  6 +--
+ userspace/sysdig/sysdig.cpp                 |  9 +---
+ userspace/sysdig/utils/plugin_utils.cpp     | 37 ++++++++++-----
+ userspace/sysdig/utils/sinsp_opener.cpp     | 18 ++++----
+ userspace/sysdig/utils/supported_events.cpp | 50 +++++++++++----------
+ userspace/sysdig/utils/supported_fields.cpp | 15 +++----
+ 6 files changed, 70 insertions(+), 65 deletions(-)
+
+diff --git a/userspace/sysdig/csysdig.cpp b/userspace/sysdig/csysdig.cpp
+index 9419882341..edd8129a0e 100644
+--- a/userspace/sysdig/csysdig.cpp
++++ b/userspace/sysdig/csysdig.cpp
+@@ -39,11 +39,11 @@ limitations under the License.
+ #include "chisel.h"
+ #include "chisel_utils.h"
+ #endif
+-#include "fields_info.h"
+ #include "chisel_table.h"
+ #include "utils.h"
+ #include "utils/plugin_utils.h"
+ #include "utils/sinsp_opener.h"
++#include "utils/supported_fields.h"
+ 
+ #ifdef _WIN32
+ #include "win32/getopt.h"
+@@ -704,8 +704,8 @@ sysdig_init_res csysdig_init(int argc, char **argv)
+ 		//
+ 		if(list_flds)
+ 		{
+-			list_fields(false, false);
+-
++			// todo(jasondellaluce): support source selection, verbosity, markdown
++			print_supported_fields(inspector, plugins, "", true, false);
+ 			res.m_res = EXIT_SUCCESS;
+ 			goto exit;
+ 		}
+diff --git a/userspace/sysdig/sysdig.cpp b/userspace/sysdig/sysdig.cpp
+index 40f2b39ef9..a978070d73 100644
+--- a/userspace/sysdig/sysdig.cpp
++++ b/userspace/sysdig/sysdig.cpp
+@@ -43,7 +43,6 @@ limitations under the License.
+ #include "chisel_utils.h"
+ #include "chisel_fields_info.h"
+ #endif
+-#include "fields_info.h"
+ #include "utils.h"
+ #include "plugin.h"
+ #include "plugin_manager.h"
+@@ -455,8 +454,6 @@ void print_summary_table(sinsp* inspector,
+ 						 std::vector<summary_table_entry> &summary_table,
+ 						 uint32_t nentries)
+ {
+-	sinsp_evttables* einfo = inspector->get_event_info_tables();
+-
+ 	std::cout << "----------------------\n";
+ 	std::string tstr = std::string("Event");
+ 	tstr.resize(16, ' ');
+@@ -478,7 +475,7 @@ void print_summary_table(sinsp* inspector,
+ 
+ 		if(e.m_is_unsupported_syscall)
+ 		{
+-			tstr = einfo->m_syscall_info_table[e.m_id / 2].name;
++			tstr = scap_get_ppm_sc_name((ppm_sc_code) (e.m_id / 2));
+ 			tstr.resize(16, ' ');
+ 
+ 			printf("%s%s%" PRIu64 "\n",
+@@ -488,7 +485,7 @@ void print_summary_table(sinsp* inspector,
+ 		}
+ 		else
+ 		{
+-			tstr = einfo->m_event_info[e.m_id].name;
++			tstr = libsinsp::events::info((ppm_event_code) e.m_id)->name;
+ 			tstr.resize(16, ' ');
+ 
+ 			printf("%s%s%" PRIu64 "\n",
+@@ -1862,8 +1859,6 @@ sysdig_init_res sysdig_init(int argc, char **argv)
+ 					res.m_res = EXIT_FAILURE;
+ 					goto exit;
+ 				}
+-
+-				inspector->filter_proc_table_when_saving(true);
+ 			}
+ 			else
+ 			{
+diff --git a/userspace/sysdig/utils/plugin_utils.cpp b/userspace/sysdig/utils/plugin_utils.cpp
+index ad69543b3e..b99de98b66 100644
+--- a/userspace/sysdig/utils/plugin_utils.cpp
++++ b/userspace/sysdig/utils/plugin_utils.cpp
+@@ -146,6 +146,7 @@ void plugin_utils::plugin_entry::init(sinsp *inspector)
+     }
+     if (plugin->caps() & CAP_EXTRACTION)
+     {
++        // todo(jasondellaluce): manage field name conflicts
+         g_filterlist.add_filter_check(sinsp_plugin::new_filtercheck(plugin));
+     }
+     inited = true;
+@@ -185,13 +186,30 @@ void plugin_utils::plugin_entry::print_info(sinsp* inspector, std::ostringstream
+     os << "Capabilities: " << std::endl;
+     if(plugin->caps() & CAP_SOURCING)
+     {
+-        os << "  - Event Sourcing (ID=" << plugin->id();
+-        os << ", source='" << plugin->event_source() << "')" << std::endl;
++        os << "  - Event Sourcing";
++        if (plugin->id() != 0)
++        {
++            os << " (ID=" << plugin->id();
++            os << ", source='" << plugin->event_source() << "')";
++        }
++        else
++        {
++            os << " (system events)";
++        }
++        os << std::endl;
+     }
+     if(plugin->caps() & CAP_EXTRACTION)
+     {
+         os << "  - Field Extraction" << std::endl;
+     }
++    if(plugin->caps() & CAP_PARSING)
++    {
++        os << "  - Event Parsing" << std::endl;
++    }
++    if(plugin->caps() & CAP_ASYNC)
++    {
++        os << "  - Async Events" << std::endl;
++    }
+ }
+ 
+ void plugin_utils::add_dir(std::string dirname, bool front_add)
+@@ -609,7 +627,7 @@ std::vector<std::string> plugin_utils::get_event_sources(sinsp *inspector)
+         // the plugin, in case it was not registered already
+         pl.get_plugin(inspector);
+     }
+-    return inspector->get_plugin_manager()->sources();
++    return inspector->event_sources();
+ }
+ 
+ std::vector<std::unique_ptr<sinsp_filter_check>> plugin_utils::get_filterchecks(sinsp *inspector, const std::string& source)
+@@ -617,16 +635,13 @@ std::vector<std::unique_ptr<sinsp_filter_check>> plugin_utils::get_filterchecks(
+     std::vector<std::unique_ptr<sinsp_filter_check>> list;
+     list.push_back(std::unique_ptr<sinsp_filter_check>(inspector->new_generic_filtercheck()));
+ 
+-    // todo(jasondellaluce): remove this once we support extracting plugin fields from syscalls
+-    if (source != s_syscall_source)
++    for (auto &pl : m_plugins)
+     {
+-        for (auto &pl : m_plugins)
++        auto plugin = pl.get_plugin(inspector);
++        if (plugin->caps() & CAP_EXTRACTION
++            && sinsp_plugin::is_source_compatible(plugin->extract_event_sources(), source))
+         {
+-            auto plugin = pl.get_plugin(inspector);
+-            if (plugin->caps() & CAP_EXTRACTION && plugin->is_source_compatible(source))
+-            {
+-                list.push_back(std::unique_ptr<sinsp_filter_check>(sinsp_plugin::new_filtercheck(plugin)));
+-            }
++            list.push_back(std::unique_ptr<sinsp_filter_check>(sinsp_plugin::new_filtercheck(plugin)));
+         }
+     }
+     return list;
+diff --git a/userspace/sysdig/utils/sinsp_opener.cpp b/userspace/sysdig/utils/sinsp_opener.cpp
+index eafdb631d3..7315b99c7d 100644
+--- a/userspace/sysdig/utils/sinsp_opener.cpp
++++ b/userspace/sysdig/utils/sinsp_opener.cpp
+@@ -50,14 +50,12 @@ void sinsp_opener::open(sinsp* inspector) const
+ 
+ #if defined(HAS_CAPTURE)
+     /* Populate syscalls of interest */
+-    std::unordered_set<uint32_t> sc_of_interest = inspector->get_all_ppm_sc();
++    auto sc_of_interest = libsinsp::events::all_sc_set();
+ 
+-    /* Populate tracepoints of interest */
+-    std::unordered_set<uint32_t> tp_of_interest = inspector->get_all_tp();
+     if(!options.page_faults)
+     {
+-        tp_of_interest.erase(PAGE_FAULT_USER);
+-        tp_of_interest.erase(PAGE_FAULT_KERN);
++        sc_of_interest.remove(ppm_sc_code::PPM_SC_PAGE_FAULT_USER);
++        sc_of_interest.remove(ppm_sc_code::PPM_SC_PAGE_FAULT_KERNEL);
+     }
+ 
+     if(udig.enabled)
+@@ -77,7 +75,7 @@ void sinsp_opener::open(sinsp* inspector) const
+ #ifdef HAS_MODERN_BPF
+ 		if(bpf.modern)
+ 		{
+-			inspector->open_modern_bpf(DEFAULT_DRIVER_BUFFER_BYTES_DIM, bpf.cpus_for_each_syscall_buffer, true, sc_of_interest, tp_of_interest);
++			inspector->open_modern_bpf(DEFAULT_DRIVER_BUFFER_BYTES_DIM, bpf.cpus_for_each_syscall_buffer, true, sc_of_interest);
+ 			return;
+ 		}
+ #endif
+@@ -95,7 +93,7 @@ void sinsp_opener::open(sinsp* inspector) const
+ 
+         try
+         {
+-            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+         }
+         catch(const sinsp_exception& e)
+         {
+@@ -103,7 +101,7 @@ void sinsp_opener::open(sinsp* inspector) const
+             {
+                 fprintf(stderr, "Unable to load the BPF probe\n");
+             }
+-            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+         }
+ 
+         // Enable gathering the CPU from the kernel module
+@@ -114,7 +112,7 @@ void sinsp_opener::open(sinsp* inspector) const
+     // default to kernel module if no other option is specified
+     try
+     {
+-        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+     }
+     catch(const sinsp_exception& e)
+     {
+@@ -124,7 +122,7 @@ void sinsp_opener::open(sinsp* inspector) const
+         {
+             fprintf(stderr, "Unable to load the driver\n");
+         }
+-        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+     }
+ 
+     // Enable gathering the CPU from the kernel module
+diff --git a/userspace/sysdig/utils/supported_events.cpp b/userspace/sysdig/utils/supported_events.cpp
+index 1442911209..7f0d630011 100644
+--- a/userspace/sysdig/utils/supported_events.cpp
++++ b/userspace/sysdig/utils/supported_events.cpp
+@@ -27,25 +27,25 @@ struct event_entry
+ {
+     bool is_enter;
+     std::string name;
+-    struct ppm_event_info info;
++    const ppm_event_info* info;
+ };
+ 
+-static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include_generics)
++static std::vector<event_entry> get_event_entries(bool include_generics)
+ {
+     event_entry entry;
+     std::vector<event_entry> events;
+-    const struct ppm_event_info* etable = inspector->get_event_info_tables()->m_event_info;
+ 
+     // skip generic events
+-    for(uint32_t evt = PPME_GENERIC_X + 1; evt < PPM_EVENT_MAX; evt++)
++    for(const auto& evt : libsinsp::events::all_event_set())
+     {
+-        if (!sinsp::is_old_version_event(evt)
+-                && !sinsp::is_unused_event(evt)
+-                && !sinsp::is_unknown_event(evt))
++        if (!libsinsp::events::is_generic(evt)
++            && !libsinsp::events::is_old_version_event(evt)
++            && !libsinsp::events::is_unused_event(evt)
++            && !libsinsp::events::is_unknown_event(evt))
+         {
+             entry.is_enter = PPME_IS_ENTER(evt);
+-            entry.name = etable[evt].name;
+-            entry.info = etable[evt];
++            entry.info = libsinsp::events::info(evt);
++			entry.name = entry.info->name;
+             events.push_back(entry);
+         }
+     }
+@@ -53,17 +53,19 @@ static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include
+     if (include_generics)
+     {
+         // append generic events
+-        const auto generic_syscalls = inspector->get_events_names({PPME_GENERIC_E});
+-        for (const auto& name : generic_syscalls)
+-        {
+-            for(uint32_t evt = PPME_GENERIC_E; evt <= PPME_GENERIC_X; evt++)
+-            {
+-                entry.is_enter = PPME_IS_ENTER(evt);
+-                entry.name = name;
+-                entry.info = etable[evt];
+-                events.push_back(entry);
+-            }
+-        }
++		const auto names = libsinsp::events::event_set_to_names({ppm_event_code::PPME_GENERIC_E});
++		for (const auto& name : names)
++		{
++			entry.is_enter = PPME_IS_ENTER(ppm_event_code::PPME_GENERIC_E);
++			entry.info = libsinsp::events::info(ppm_event_code::PPME_GENERIC_E);
++			entry.name = name;
++			events.push_back(entry);
++
++			entry.is_enter = PPME_IS_ENTER(ppm_event_code::PPME_GENERIC_X);
++			entry.info = libsinsp::events::info(ppm_event_code::PPME_GENERIC_X);
++			entry.name = name;
++			events.push_back(entry);
++		}
+     }
+ 
+     return events;
+@@ -71,7 +73,7 @@ static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include
+ 
+ void print_supported_events(sinsp* inspector, bool markdown)
+ {
+-    const auto events = get_event_entries(inspector, true);
++    const auto events = get_event_entries(true);
+ 
+     if(markdown)
+     {
+@@ -91,15 +93,15 @@ void print_supported_events(sinsp* inspector, bool markdown)
+             printf("%c %s(", dir, e.name.c_str());
+         }
+ 
+-        for(uint32_t k = 0; k < e.info.nparams; k++)
++        for(uint32_t k = 0; k < e.info->nparams; k++)
+         {
+             if(k != 0)
+             {
+                 printf(", ");
+             }
+ 
+-            printf("%s %s", param_type_to_string(e.info.params[k].type),
+-                e.info.params[k].name);
++            printf("%s %s", param_type_to_string(e.info->params[k].type),
++                e.info->params[k].name);
+         }
+         printf(")\n");
+     }
+diff --git a/userspace/sysdig/utils/supported_fields.cpp b/userspace/sysdig/utils/supported_fields.cpp
+index 6e2575b030..3127fb7220 100644
+--- a/userspace/sysdig/utils/supported_fields.cpp
++++ b/userspace/sysdig/utils/supported_fields.cpp
+@@ -35,11 +35,9 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+ {
+     std::vector<fields_info> field_infos;
+     std::vector<std::unique_ptr<const sinsp_filter_check>> filtecheck_lists; // only used to retain memory until we finish
+-    std::vector<std::string> sources = { s_syscall_source };
++    std::vector<std::string> sources = plugins.get_event_sources(inspector);
+ 
+     // add event sources defined by the loaded plugins
+-    const auto& plugin_sources = plugins.get_event_sources(inspector);
+-    sources.insert(sources.end(), plugin_sources.begin(), plugin_sources.end());
+     if (!source.empty())
+     {
+         bool found = false;
+@@ -66,7 +64,6 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+         }
+ 
+         std::vector<const filter_check_info*> filterchecks;
+-        // todo(jasondellaluce): change this once we support extracting plugin fields from syscalls
+         if (src == s_syscall_source)
+         {
+             std::vector<const filter_check_info*> all_checks;
+@@ -81,13 +78,11 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+                 }
+             }
+         }
+-        else
++
++        for (auto& check: plugins.get_filterchecks(inspector, src))
+         {
+-            for (auto& check: plugins.get_filterchecks(inspector, src))
+-            {
+-                filterchecks.push_back(check->get_fields());
+-                filtecheck_lists.push_back(std::move(check));
+-            }
++            filterchecks.push_back(check->get_fields());
++            filtecheck_lists.push_back(std::move(check));
+         }
+         
+         const auto classes = sinsp_filter_factory::check_infos_to_fieldclass_infos(filterchecks);
+
+From c8b0d055aec4d2378b7934dd9436fd4500d1021e Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 14:15:23 +0000
+Subject: [PATCH 5/6] fix: solve compilation issues on windows
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ CMakeLists.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6d28c6c67d..5afd967f27 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -148,6 +148,9 @@ endif()
+ 
+ set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_CXX_EXTENSIONS OFF)
++if(MSVC OR WIN32)
++	add_compile_definitions(_HAS_STD_BYTE=0)
++endif()
+ 
+ include(falcosecurity-libs)
+ include(yaml-cpp)
+
+From 954e6fc6238f21d4870a491395d68a7dd3062aa9 Mon Sep 17 00:00:00 2001
+From: Roberto Scolaro <roberto.scolaro21@gmail.com>
+Date: Mon, 5 Jun 2023 10:34:03 +0000
+Subject: [PATCH 6/6] update(cmake): bump libs 0.11.0 + driver 5.0.1
+
+Signed-off-by: Roberto Scolaro <roberto.scolaro21@gmail.com>
+---
+ CMakeLists.txt                         | 2 +-
+ cmake/modules/driver.cmake             | 4 ++--
+ cmake/modules/falcosecurity-libs.cmake | 4 ++--
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5afd967f27..f3f23b5e9a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -90,7 +90,7 @@ if(NOT WIN32)
+ 	endif()
+ 
+ 	set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_COMMON_FLAGS}")
+-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++0x")
++	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++17")
+ 
+ 	set(CMAKE_C_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+ 	set(CMAKE_CXX_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+diff --git a/cmake/modules/driver.cmake b/cmake/modules/driver.cmake
+index 7fd35d7f99..ca1e56718c 100644
+--- a/cmake/modules/driver.cmake
++++ b/cmake/modules/driver.cmake
+@@ -31,8 +31,8 @@ else()
+   # In case you want to test against another driver version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DDRIVER_VERSION=dev ..`
+   if(NOT DRIVER_VERSION)
+-    set(DRIVER_VERSION "5.0.0+driver")
+-    set(DRIVER_CHECKSUM "SHA256=c988ca7ac7d174f62d1bfbaaca49efd117f7b329f474d1b46b643635b2e35083")
++    set(DRIVER_VERSION "5.0.1+driver")
++    set(DRIVER_CHECKSUM "SHA256=8b197b916b6419dac8fb41807aa05d822164c7bfd2c3eef66d20d060a05a485a")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index fe5dacd7ad..c626d7944e 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -32,8 +32,8 @@ else()
+   # In case you want to test against another falcosecurity/libs version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DFALCOSECURITY_LIBS_VERSION=dev ..`
+   if(NOT FALCOSECURITY_LIBS_VERSION)
+-    set(FALCOSECURITY_LIBS_VERSION "0.11.0-rc1")
+-    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=bb6e57f66ae85dcda6e695226cd14082d9a1215902909cdde5b83f7abef44d8f")
++    set(FALCOSECURITY_LIBS_VERSION "0.11.0")
++    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=90414d00591986e94f2c49e7d65eef5c2dedee266354dd3db8234bb3b06c86fa")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
diff --git a/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch b/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch
new file mode 100644
index 000000000000..467cffacba2f
--- /dev/null
+++ b/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch
@@ -0,0 +1,28 @@
+diff --git a/cmake/modules/driver-repo/CMakeLists.txt b/cmake/modules/driver-repo/CMakeLists.txt
+index 479611a..5238121 100644
+--- a/cmake/modules/driver-repo/CMakeLists.txt
++++ b/cmake/modules/driver-repo/CMakeLists.txt
+@@ -25,8 +25,7 @@ message(STATUS "Driver version: ${DRIVER_VERSION}")
+ 
+ ExternalProject_Add(
+   driver
+-  URL "https://github.com/falcosecurity/libs/archive/${DRIVER_VERSION}.tar.gz"
+-  URL_HASH "${DRIVER_CHECKSUM}"
++  URL "${CMAKE_CURRENT_SOURCE_DIR}/../../../../libs-${DRIVER_VERSION}"
+   CONFIGURE_COMMAND ""
+   BUILD_COMMAND ""
+   INSTALL_COMMAND ""
+diff --git a/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt b/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
+index 2059547..74e78e2 100644
+--- a/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
++++ b/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
+@@ -25,8 +25,7 @@ message(STATUS "Libs version: ${FALCOSECURITY_LIBS_VERSION}")
+ 
+ ExternalProject_Add(
+   falcosecurity-libs
+-  URL "https://github.com/falcosecurity/libs/archive/${FALCOSECURITY_LIBS_VERSION}.tar.gz"
+-  URL_HASH "${FALCOSECURITY_LIBS_CHECKSUM}"
++  URL "${CMAKE_CURRENT_SOURCE_DIR}/../../../../libs-${FALCOSECURITY_LIBS_VERSION}"
+   CONFIGURE_COMMAND ""
+   BUILD_COMMAND ""
+   INSTALL_COMMAND ""
diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index 4a04e762468c..f8537a0f8bd3 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,43 +1,48 @@
 # Template file for 'sysdig'
 pkgname=sysdig
-version=0.28.0
-revision=8
+version=0.31.5
+revision=1
+_falcover=0.11.0
 build_style=cmake
+build_wrksrc="sysdig-${version}"
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF
  -DLUA_INCLUDE_DIR=${XBPS_CROSS_BASE}/usr/include/luajit-2.1
- -DLUA_LIBRARY=/usr/lib/libluajit-5.1.so -DCREATE_TEST_TARGETS=OFF"
-make_cmd=make
+ -DLUA_LIBRARY=/usr/lib/libluajit-5.1.so -DCREATE_TEST_TARGETS=OFF
+ -DUSE_BUNDLED_TBB=OFF -DBUILD_LIBSCAP_EXAMPLES=OFF
+ -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_EXTENSIONS=OFF
+ -DDRIVER_VERSION=${_falcover}"
 hostmakedepends="wget pkg-config protobuf"
-makedepends="LuaJIT-devel c-ares-devel elfutils-devel grpc-devel jsoncpp-devel
+makedepends="LuaJIT-devel c-ares-devel elfutils-devel grpc-devel
  libcurl-devel libprotoc-devel openssl-devel ncurses-devel protobuf-devel
- tbb-devel zlib-devel"
+ tbb-devel zlib-devel yaml-cpp-devel json-c++"
 depends="dkms"
 short_desc="Open source system-level exploration and troubleshooting tool"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0, MIT, GPL-2.0-only"
 homepage="http://www.sysdig.org/"
 changelog="https://github.com/draios/sysdig/releases"
-distfiles="https://github.com/draios/${pkgname}/archive/${version}.tar.gz"
-checksum=817e595d501acf3fe11dc659a154aadbba848dd87ae801f5bf34a42e84979f37
-disable_parallel_build=yes
-dkms_modules="scap 2160111cd088aea9ae2235d3385ecb0b1ab6623c"
+distfiles="https://github.com/draios/sysdig/archive/${version}.tar.gz
+ https://github.com/falcosecurity/libs/archive/${_falcover}.tar.gz"
+checksum="9af98cae7c38273f7429ba0df628c9745bd92c949f444e180b9dd800af14c6dd
+ 90414d00591986e94f2c49e7d65eef5c2dedee266354dd3db8234bb3b06c86fa"
+dkms_modules="scap ${_falcover}"
 nocross=yes
+patch_args="-Np1 --directory=${build_wrksrc}"
 
 case "$XBPS_TARGET_MACHINE" in
-	*-musl) configure_args+=" -DMUSL_OPTIMIZED_BUILD=On"
+	i686*) broken="/syscall_table.c:567:10: error: '__NR_rt_tgsigqueueinfo'";;
+	*-musl) configure_args+=" -DMUSL_OPTIMIZED_BUILD=On";;
 esac
 
-export CMAKE_GENERATOR="Unix Makefiles"
-
 # Avoid excessive warnings spam to the log
 CXXFLAGS="-Wno-deprecated-declarations"
 
-CXXFLAGS+=" -I/usr/include/grpc_absl"
+post_patch() {
+	patch -d "${wrksrc}/libs-${_falcover}" -Np1 < "${FILESDIR}/libsinsp-zstd.patch"
+	patch -d "${wrksrc}/libs-${_falcover}" -Np1 < "${FILESDIR}/libsinsp-absl-protobuf.patch"
 
-post_extract() {
 	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
-	vsed -e 's|-std=c++0x||' -i CMakeLists.txt
 }
 
 post_install() {

From decdbd89b93b0f9e652e51ce482757c06723f649 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 2 Jul 2023 13:36:29 +0200
Subject: [PATCH 30/35] protobuf-c: rebuild against 23.3

---
 ...4f3fd85a205eb7c90b790477d5415364209e.patch |  44 +++
 srcpkgs/protobuf-c/patches/66a0b0d2.patch     | 308 ++++++++++++++++++
 srcpkgs/protobuf-c/template                   |   8 +-
 3 files changed, 358 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
 create mode 100644 srcpkgs/protobuf-c/patches/66a0b0d2.patch

diff --git a/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch b/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
new file mode 100644
index 000000000000..7d1e97032d32
--- /dev/null
+++ b/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
@@ -0,0 +1,44 @@
+From 66574f3fd85a205eb7c90b790477d5415364209e Mon Sep 17 00:00:00 2001
+From: Steve Peters <scpeters@openrobotics.org>
+Date: Sat, 24 Jun 2023 22:15:42 -0700
+Subject: [PATCH] Use FileDescriptorLegacy for deprecated syntax()
+
+---
+ protoc-c/c_file.cc   | 2 +-
+ protoc-c/c_helpers.h | 3 ++-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/protoc-c/c_file.cc b/protoc-c/c_file.cc
+index 59c1824e..4b60b889 100644
+--- a/protoc-c/c_file.cc
++++ b/protoc-c/c_file.cc
+@@ -119,7 +119,7 @@ void FileGenerator::GenerateHeader(io::Printer* printer) {
+ 
+   int min_header_version = 1000000;
+ #if defined(HAVE_PROTO3)
+-  if (file_->syntax() == FileDescriptor::SYNTAX_PROTO3) {
++  if (FileDescriptorLegacy(file_).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3) {
+     min_header_version = 1003000;
+   }
+ #endif
+diff --git a/protoc-c/c_helpers.h b/protoc-c/c_helpers.h
+index 7598a4e1..87deea24 100644
+--- a/protoc-c/c_helpers.h
++++ b/protoc-c/c_helpers.h
+@@ -67,6 +67,7 @@
+ #include <vector>
+ #include <sstream>
+ #include <google/protobuf/descriptor.h>
++#include <google/protobuf/descriptor_legacy.h>
+ #include <protobuf-c/protobuf-c.pb.h>
+ #include <google/protobuf/io/printer.h>
+ 
+@@ -172,7 +173,7 @@ int compare_name_indices_by_name(const void*, const void*);
+ // This wrapper is needed to be able to compile against protobuf2.
+ inline int FieldSyntax(const FieldDescriptor* field) {
+ #ifdef HAVE_PROTO3
+-  return field->file()->syntax() == FileDescriptor::SYNTAX_PROTO3 ? 3 : 2;
++  return FileDescriptorLegacy(field->file()).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3 ? 3 : 2;
+ #else
+   return 2;
+ #endif
diff --git a/srcpkgs/protobuf-c/patches/66a0b0d2.patch b/srcpkgs/protobuf-c/patches/66a0b0d2.patch
new file mode 100644
index 000000000000..790db6329120
--- /dev/null
+++ b/srcpkgs/protobuf-c/patches/66a0b0d2.patch
@@ -0,0 +1,308 @@
+From 66a0b0d205224f63f19dd8f96abf9dcdc2112331 Mon Sep 17 00:00:00 2001
+From: Xiangyu Chen <xiangyu.chen@windriver.com>
+Date: Wed, 29 Mar 2023 14:25:17 +0800
+Subject: [PATCH] add support of protobuf 4.22.x
+
+after upgrade the protobuf to 4.22.x, the protobuf-c cannot compile anymore (#544) due to following changes:
+1.protobuf using c++14, that cause the command_line_interface.h report error
+2.protobuf using abseil-cpp library instead the trace API with GOOGLE_ header
+3. removed GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
+---
+ Makefile.am                   | 2 +-
+ configure.ac                  | 8 ++++++++
+ protoc-c/c_bytes_field.h      | 1 -
+ protoc-c/c_enum.h             | 1 -
+ protoc-c/c_enum_field.h       | 1 -
+ protoc-c/c_extension.h        | 1 -
+ protoc-c/c_field.cc           | 2 +-
+ protoc-c/c_field.h            | 3 ---
+ protoc-c/c_file.h             | 1 -
+ protoc-c/c_generator.h        | 2 --
+ protoc-c/c_helpers.cc         | 4 ++--
+ protoc-c/c_message.cc         | 4 ++--
+ protoc-c/c_message.h          | 1 -
+ protoc-c/c_message_field.h    | 3 ---
+ protoc-c/c_primitive_field.cc | 6 +++---
+ protoc-c/c_primitive_field.h  | 3 ---
+ protoc-c/c_service.h          | 1 -
+ protoc-c/c_string_field.h     | 1 -
+ 18 files changed, 17 insertions(+), 28 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index c7339efe..3b0d1d66 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -20,7 +20,7 @@ AM_CPPFLAGS = \
+ 	-I${top_builddir} \
+ 	-I${top_srcdir}
+ AM_CFLAGS = ${my_CFLAGS}
+-AM_LDFLAGS =
++AM_LDFLAGS = ${ABSL_LOG_INTERNAL_CHECK_OP_LIBS} ${ABSL_LOG_RAW_HASH_SET_LIBS}
+ 
+ # code coverage
+ 
+diff --git a/configure.ac b/configure.ac
+index f5a0261e..8ed549ac 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -78,6 +78,14 @@ if test "x$enable_protoc" != "xno"; then
+ 
+   AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
+ 
++# now checking 4.22.x protobuf, if so, set cxx as 17
++  AS_IF([pkg-config --atleast-version 4.22.0 protobuf],[AX_CXX_COMPILE_STDCXX(17, noext, mandatory)])
++
++  AS_IF([pkg-config --atleast-version 4.22.0 protobuf],
++    [PKG_CHECK_MODULES([ABSL_LOG_INTERNAL_CHECK_OP], [absl_log_internal_check_op],
++       [PKG_CHECK_MODULES([ABSL_LOG_RAW_HASH_SET], [absl_raw_hash_set], [], [AC_MSG_ERROR([Missing absl_raw_hash_set library.])])],
++       [AC_MSG_ERROR([Missing absl_log_internal_check_op library.])])])
++
+   PKG_CHECK_MODULES([protobuf], [protobuf >= 3.0.0],
+     [proto3_supported=yes],
+     [PKG_CHECK_MODULES([protobuf], [protobuf >= 2.6.0])]
+diff --git a/protoc-c/c_bytes_field.h b/protoc-c/c_bytes_field.h
+index bf873f0f..8fc63d35 100644
+--- a/protoc-c/c_bytes_field.h
++++ b/protoc-c/c_bytes_field.h
+@@ -88,7 +88,6 @@ class BytesFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(BytesFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_enum.h b/protoc-c/c_enum.h
+index 9c34b697..d5e58f0a 100644
+--- a/protoc-c/c_enum.h
++++ b/protoc-c/c_enum.h
+@@ -107,7 +107,6 @@ class EnumGenerator {
+   const EnumDescriptor* descriptor_;
+   std::string dllexport_decl_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_enum_field.h b/protoc-c/c_enum_field.h
+index 3f8c005d..03eb4028 100644
+--- a/protoc-c/c_enum_field.h
++++ b/protoc-c/c_enum_field.h
+@@ -86,7 +86,6 @@ class EnumFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_extension.h b/protoc-c/c_extension.h
+index 95413885..9c5797d6 100644
+--- a/protoc-c/c_extension.h
++++ b/protoc-c/c_extension.h
+@@ -99,7 +99,6 @@ class ExtensionGenerator {
+   std::string type_traits_;
+   std::string dllexport_decl_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ExtensionGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_field.cc b/protoc-c/c_field.cc
+index 0716744a..4abdc6d3 100644
+--- a/protoc-c/c_field.cc
++++ b/protoc-c/c_field.cc
+@@ -231,7 +231,7 @@ FieldGeneratorMap::~FieldGeneratorMap() {}
+ 
+ const FieldGenerator& FieldGeneratorMap::get(
+     const FieldDescriptor* field) const {
+-  GOOGLE_CHECK_EQ(field->containing_type(), descriptor_);
++  ABSL_CHECK_EQ(field->containing_type(), descriptor_);
+   return *field_generators_[field->index()];
+ }
+ 
+diff --git a/protoc-c/c_field.h b/protoc-c/c_field.h
+index 3cad35d3..76d3b0bc 100644
+--- a/protoc-c/c_field.h
++++ b/protoc-c/c_field.h
+@@ -104,8 +104,6 @@ class FieldGenerator {
+                                             const std::string &descriptor_addr) const;
+   const FieldDescriptor *descriptor_;
+ 
+- private:
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGenerator);
+ };
+ 
+ // Convenience class which constructs FieldGenerators for a Descriptor.
+@@ -122,7 +120,6 @@ class FieldGeneratorMap {
+ 
+   static FieldGenerator* MakeGenerator(const FieldDescriptor* field);
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGeneratorMap);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_file.h b/protoc-c/c_file.h
+index 8dfd8ba0..ec55906e 100644
+--- a/protoc-c/c_file.h
++++ b/protoc-c/c_file.h
+@@ -104,7 +104,6 @@ class FileGenerator {
+   std::unique_ptr<std::unique_ptr<ServiceGenerator>[]> service_generators_;
+   std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FileGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_generator.h b/protoc-c/c_generator.h
+index ac1ffafe..92601164 100644
+--- a/protoc-c/c_generator.h
++++ b/protoc-c/c_generator.h
+@@ -94,8 +94,6 @@ class PROTOC_C_EXPORT CGenerator : public CodeGenerator {
+                 OutputDirectory* output_directory,
+                 std::string* error) const;
+ 
+- private:
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(CGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_helpers.cc b/protoc-c/c_helpers.cc
+index 6fd0cd3a..1eaeeb42 100644
+--- a/protoc-c/c_helpers.cc
++++ b/protoc-c/c_helpers.cc
+@@ -286,7 +286,7 @@ const char* const kKeywordList[] = {
+ 
+ std::set<std::string> MakeKeywordsMap() {
+   std::set<std::string> result;
+-  for (int i = 0; i < GOOGLE_ARRAYSIZE(kKeywordList); i++) {
++  for (int i = 0; i < ABSL_ARRAYSIZE(kKeywordList); i++) {
+     result.insert(kKeywordList[i]);
+   }
+   return result;
+@@ -548,7 +548,7 @@ std::string CEscape(const std::string& src) {
+   std::unique_ptr<char[]> dest(new char[dest_length]);
+   const int len = CEscapeInternal(src.data(), src.size(),
+                                   dest.get(), dest_length, false);
+-  GOOGLE_DCHECK_GE(len, 0);
++  ABSL_DCHECK_GE(len, 0);
+   return std::string(dest.get(), len);
+ }
+ 
+diff --git a/protoc-c/c_message.cc b/protoc-c/c_message.cc
+index 37e8bf8b..c7e85155 100755
+--- a/protoc-c/c_message.cc
++++ b/protoc-c/c_message.cc
+@@ -499,7 +499,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ 	  // NOTE: not supported by protobuf
+ 	  vars["maybe_static"] = "";
+ 	  vars["field_dv_ctype"] = "{ ... }";
+-	  GOOGLE_LOG(DFATAL) << "Messages can't have default values!";
++	  ABSL_LOG(FATAL) << "Messages can't have default values!";
+ 	  break;
+ 	case FieldDescriptor::CPPTYPE_STRING:
+ 	  if (fd->type() == FieldDescriptor::TYPE_BYTES || opt.string_as_bytes())
+@@ -521,7 +521,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ 	    break;
+ 	  }
+ 	default:
+-	  GOOGLE_LOG(DFATAL) << "Unknown CPPTYPE";
++	  ABSL_LOG(FATAL) << "Unknown CPPTYPE";
+ 	  break;
+ 	}
+ 	if (!already_defined)
+diff --git a/protoc-c/c_message.h b/protoc-c/c_message.h
+index ea1c3ab3..e90782bf 100644
+--- a/protoc-c/c_message.h
++++ b/protoc-c/c_message.h
+@@ -137,7 +137,6 @@ class MessageGenerator {
+   std::unique_ptr<std::unique_ptr<EnumGenerator>[]> enum_generators_;
+   std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_message_field.h b/protoc-c/c_message_field.h
+index 39b8d999..42efe368 100644
+--- a/protoc-c/c_message_field.h
++++ b/protoc-c/c_message_field.h
+@@ -83,9 +83,6 @@ class MessageFieldGenerator : public FieldGenerator {
+   std::string GetDefaultValue(void) const;
+   void GenerateStaticInit(io::Printer* printer) const;
+ 
+- private:
+-
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_primitive_field.cc b/protoc-c/c_primitive_field.cc
+index 6990893f..d5a7b60c 100644
+--- a/protoc-c/c_primitive_field.cc
++++ b/protoc-c/c_primitive_field.cc
+@@ -99,7 +99,7 @@ void PrimitiveFieldGenerator::GenerateStructMembers(io::Printer* printer) const
+     case FieldDescriptor::TYPE_STRING  :
+     case FieldDescriptor::TYPE_BYTES   :
+     case FieldDescriptor::TYPE_GROUP   :
+-    case FieldDescriptor::TYPE_MESSAGE : GOOGLE_LOG(FATAL) << "not a primitive type"; break;
++    case FieldDescriptor::TYPE_MESSAGE : ABSL_LOG(FATAL) << "not a primitive type"; break;
+ 
+     // No default because we want the compiler to complain if any new
+     // types are added.
+@@ -143,7 +143,7 @@ std::string PrimitiveFieldGenerator::GetDefaultValue() const
+     case FieldDescriptor::CPPTYPE_BOOL:
+       return descriptor_->default_value_bool() ? "1" : "0";
+     default:
+-      GOOGLE_LOG(DFATAL) << "unexpected CPPTYPE in c_primitive_field";
++      ABSL_LOG(FATAL) << "unexpected CPPTYPE in c_primitive_field";
+       return "UNEXPECTED_CPPTYPE";
+   }
+ }
+@@ -197,7 +197,7 @@ void PrimitiveFieldGenerator::GenerateDescriptorInitializer(io::Printer* printer
+     case FieldDescriptor::TYPE_STRING  :
+     case FieldDescriptor::TYPE_BYTES   :
+     case FieldDescriptor::TYPE_GROUP   :
+-    case FieldDescriptor::TYPE_MESSAGE : GOOGLE_LOG(FATAL) << "not a primitive type"; break;
++    case FieldDescriptor::TYPE_MESSAGE : ABSL_LOG(FATAL) << "not a primitive type"; break;
+ 
+     // No default because we want the compiler to complain if any new
+     // types are added.
+diff --git a/protoc-c/c_primitive_field.h b/protoc-c/c_primitive_field.h
+index a9eb893b..d2bb7243 100644
+--- a/protoc-c/c_primitive_field.h
++++ b/protoc-c/c_primitive_field.h
+@@ -83,9 +83,6 @@ class PrimitiveFieldGenerator : public FieldGenerator {
+   std::string GetDefaultValue(void) const;
+   void GenerateStaticInit(io::Printer* printer) const;
+ 
+- private:
+-
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(PrimitiveFieldGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_service.h b/protoc-c/c_service.h
+index 27125a60..4737ff3b 100644
+--- a/protoc-c/c_service.h
++++ b/protoc-c/c_service.h
+@@ -101,7 +101,6 @@ class ServiceGenerator {
+   const ServiceDescriptor* descriptor_;
+   std::map<std::string, std::string> vars_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ServiceGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_string_field.h b/protoc-c/c_string_field.h
+index 513cea75..ba258e44 100644
+--- a/protoc-c/c_string_field.h
++++ b/protoc-c/c_string_field.h
+@@ -88,7 +88,6 @@ class StringFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(StringFieldGenerator);
+ };
+ 
+ 
diff --git a/srcpkgs/protobuf-c/template b/srcpkgs/protobuf-c/template
index 7d1b529d8936..e703b138152d 100644
--- a/srcpkgs/protobuf-c/template
+++ b/srcpkgs/protobuf-c/template
@@ -1,10 +1,10 @@
 # Template file for 'protobuf-c'
 pkgname=protobuf-c
 version=1.4.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="$(vopt_enable protoc)"
-hostmakedepends="pkg-config protobuf protobuf-devel"
+hostmakedepends="pkg-config protobuf protobuf-devel automake libtool"
 makedepends="protobuf-devel boost-devel $(vopt_if protoc libprotoc-devel)"
 short_desc="C implementation of the Google Protocol Buffers"
 maintainer="Enno Boland <gottox@voidlinux.org>"
@@ -17,6 +17,10 @@ build_options="protoc"
 build_options_default="protoc"
 desc_option_protoc="Build protoc-c compiler"
 
+pre_configure() {
+	autoreconf -if
+}
+
 post_install() {
 	vlicense LICENSE
 }

From f6ebc880f481412e2e350c374290785642da3ab7 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 2 Jul 2023 21:07:55 +0200
Subject: [PATCH 31/35] netdata: update to 1.40.1.

---
 srcpkgs/netdata/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/netdata/template            | 13 +++++++++----
 2 files changed, 20 insertions(+), 4 deletions(-)
 create mode 100644 srcpkgs/netdata/patches/cpp17.patch

diff --git a/srcpkgs/netdata/patches/cpp17.patch b/srcpkgs/netdata/patches/cpp17.patch
new file mode 100644
index 000000000000..b197ccd57bd9
--- /dev/null
+++ b/srcpkgs/netdata/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac	2023-06-27 16:25:03.364605041 +0200
++++ -	2023-07-02 21:27:31.113408278 +0200
+@@ -237,7 +237,7 @@
+ # C++ version check
+ 
+ # Check for C++17 support (optional)
+-# AX_CXX_COMPILE_STDCXX(17, noext, optional)
++AX_CXX_COMPILE_STDCXX(17, noext, optional)
+ 
+ if test "x$HAVE_CXX17" != "x1"; then
+   # Check for C++11 support (optional)
diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 781120b3f275..176bcf26d8c5 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -1,14 +1,14 @@
 # Template file for 'netdata'
 pkgname=netdata
-version=1.37.1
-revision=2
+version=1.40.1
+revision=1
 build_style=gnu-configure
 build_helper=qemu
 configure_args="--with-user=_netdata ac_cv_file_externaldeps_libbpf_libbpf_a=no
  $(vopt_if cloud --enable-cloud --disable-cloud) $(vopt_if ipmi --enable-plugin-freeipmi)
  $(vopt_if xen --enable-plugin-xenstat) $(vopt_if cups --enable-plugin-cups)"
 hostmakedepends="pkg-config autoconf automake $(vopt_if cloud "protobuf protobuf-devel")"
-makedepends="json-c-devel libcap-devel liblz4-devel libmnl-devel
+makedepends="json-c-devel libcap-devel liblz4-devel libmnl-devel libyaml-devel
  libnetfilter_acct-devel openssl-devel libuuid-devel libuv-devel zlib-devel
  snappy-devel $(vopt_if cloud protobuf-devel) $(vopt_if ipmi freeipmi-devel)
  $(vopt_if xen "xen-devel yajl-devel") $(vopt_if cups cups-devel)"
@@ -18,7 +18,7 @@ maintainer="Michael Aldridge <maldridge@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://www.netdata.cloud/"
 distfiles="https://github.com/netdata/netdata/releases/download/v${version}/netdata-v${version}.tar.gz"
-checksum=2caa042d43ca61007a61294a5ececa037d83a1973bd38032233760341eb1706b
+checksum=cc86172acd5e6ec05bc0fa86a50d967502a264d8adf7f79293923ccd8febb251
 python_version=3
 make_dirs="
  /var/lib/netdata          0755 _netdata _netdata
@@ -43,6 +43,11 @@ if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 fi
 
 pre_configure() {
+	vsed -e 's/#define info(/#define netdata_log_info(/g' -i libnetdata/log/log.h
+	vsed -e 's/^\([ ]*\)info[ ]*(/\1netdata_log_info(/g' -i $(grep -rl '^[ ]*info *(' ./)
+	vsed -e 's/^\([ ]*\)else info(/\1else netdata_log_info(/g' -i $(grep -rl '^[ ]*else info(' ./)
+	vsed -e 's/^\([ ]*\)if(\([^)]*\))[ ]*info(/\1if(\2) netdata_log_info(/g' -i $(grep -rl '^[ ]*if([^)]*)[ ]*info(' ./)
+
 	if [ "$CROSS_BUILD" ]; then
 		sed -i "s|	\$(builddir)/judyltablesgen\$(EXEEXT)|	qemu-${XBPS_TARGET_QEMU_MACHINE}-static \$(builddir)/judyltablesgen\$(EXEEXT)|g" Makefile.am
 	fi

From 1dca26b4b7250b306b7181489b1015038fb8228a Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 8 Jul 2023 12:47:51 +0200
Subject: [PATCH 32/35] strawberry: rebuild against protobuf-23.3_1

---
 srcpkgs/strawberry/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/strawberry/template b/srcpkgs/strawberry/template
index b42efa1b89b2..91f2e07a0ec0 100644
--- a/srcpkgs/strawberry/template
+++ b/srcpkgs/strawberry/template
@@ -1,7 +1,7 @@
 # Template file for 'strawberry'
 pkgname=strawberry
 version=1.0.17
-revision=2
+revision=3
 build_style=cmake
 hostmakedepends="pkg-config protobuf gettext"
 makedepends="alsa-lib-devel boost-devel gnutls-devel fftw-devel

From 7646a8c57094df2f047b5adfb24a5ac14e885bca Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 8 Jul 2023 12:47:51 +0200
Subject: [PATCH 33/35] libphonenumber: rebuild against protobuf-23.3_1

---
 srcpkgs/libphonenumber/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libphonenumber/template b/srcpkgs/libphonenumber/template
index f554714b3c7a..058939459f6a 100644
--- a/srcpkgs/libphonenumber/template
+++ b/srcpkgs/libphonenumber/template
@@ -1,7 +1,7 @@
 # Template file for 'libphonenumber'
 pkgname=libphonenumber
 version=8.12.39
-revision=12
+revision=13
 build_wrksrc=cpp
 build_style=cmake
 build_helper=qemu

From b9fd466de4a2ba8bc2748abf5787f4ae23197457 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 14 Jul 2023 15:44:21 +0200
Subject: [PATCH 34/35] python3-protobuf: update to 4.23.4.

---
 srcpkgs/python3-protobuf/patches/cpp17.patch  |  11 ++
 .../patches/python-3.11.patch                 | 132 ------------------
 srcpkgs/python3-protobuf/template             |  16 +--
 3 files changed, 19 insertions(+), 140 deletions(-)
 create mode 100644 srcpkgs/python3-protobuf/patches/cpp17.patch
 delete mode 100644 srcpkgs/python3-protobuf/patches/python-3.11.patch

diff --git a/srcpkgs/python3-protobuf/patches/cpp17.patch b/srcpkgs/python3-protobuf/patches/cpp17.patch
new file mode 100644
index 000000000000..97b81e1bfa5a
--- /dev/null
+++ b/srcpkgs/python3-protobuf/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/python/setup.py	2023-07-05 23:53:30.000000000 +0200
++++ -	2023-07-14 16:19:35.949677747 +0200
+@@ -370,7 +370,7 @@
+       extra_compile_args.append('-Wno-invalid-offsetof')
+       extra_compile_args.append('-Wno-sign-compare')
+       extra_compile_args.append('-Wno-unused-variable')
+-      extra_compile_args.append('-std=c++14')
++      extra_compile_args.append('-std=c++17')
+ 
+     if sys.platform == 'darwin':
+       extra_compile_args.append('-Wno-shorten-64-to-32')
diff --git a/srcpkgs/python3-protobuf/patches/python-3.11.patch b/srcpkgs/python3-protobuf/patches/python-3.11.patch
deleted file mode 100644
index f6ed1b078357..000000000000
--- a/srcpkgs/python3-protobuf/patches/python-3.11.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From da973aff2adab60a9e516d3202c111dbdde1a50f Mon Sep 17 00:00:00 2001
-From: Alexander Shadchin <alexandr.shadchin@gmail.com>
-Date: Sun, 14 Aug 2022 21:13:49 +0300
-Subject: [PATCH] Fix build with Python 3.11
-
-The PyFrameObject structure members have been removed from the public C API.
----
- google/protobuf/pyext/descriptor.cc | 75 ++++++++++++++++++----
- 1 file changed, 62 insertions(+), 13 deletions(-)
-
-diff --git a/google/protobuf/pyext/descriptor.cc b/google/protobuf/pyext/descriptor.cc
-index fc83acf01a..fc97b0fa6c 100644
---- a/google/protobuf/pyext/descriptor.cc
-+++ b/google/protobuf/pyext/descriptor.cc
-@@ -58,6 +58,37 @@
-               : 0)                                               \
-        : PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
- 
-+#if PY_VERSION_HEX < 0x030900B1 && !defined(PYPY_VERSION)
-+static PyCodeObject* PyFrame_GetCode(PyFrameObject *frame)
-+{
-+    Py_INCREF(frame->f_code);
-+    return frame->f_code;
-+}
-+
-+static PyFrameObject* PyFrame_GetBack(PyFrameObject *frame)
-+{
-+    Py_XINCREF(frame->f_back);
-+    return frame->f_back;
-+}
-+#endif
-+
-+#if PY_VERSION_HEX < 0x030B00A7 && !defined(PYPY_VERSION)
-+static PyObject* PyFrame_GetLocals(PyFrameObject *frame)
-+{
-+    if (PyFrame_FastToLocalsWithError(frame) < 0) {
-+        return NULL;
-+    }
-+    Py_INCREF(frame->f_locals);
-+    return frame->f_locals;
-+}
-+
-+static PyObject* PyFrame_GetGlobals(PyFrameObject *frame)
-+{
-+    Py_INCREF(frame->f_globals);
-+    return frame->f_globals;
-+}
-+#endif
-+
- namespace google {
- namespace protobuf {
- namespace python {
-@@ -96,48 +127,66 @@ bool _CalledFromGeneratedFile(int stacklevel) {
-   // This check is not critical and is somewhat difficult to implement correctly
-   // in PyPy.
-   PyFrameObject* frame = PyEval_GetFrame();
-+  PyCodeObject* frame_code = nullptr;
-+  PyObject* frame_globals = nullptr;
-+  PyObject* frame_locals = nullptr;
-+  bool result = false;
-+
-   if (frame == nullptr) {
--    return false;
-+    goto exit;
-   }
-+  Py_INCREF(frame);
-   while (stacklevel-- > 0) {
--    frame = frame->f_back;
-+    PyFrameObject* next_frame = PyFrame_GetBack(frame);
-+    Py_DECREF(frame);
-+    frame = next_frame;
-     if (frame == nullptr) {
--      return false;
-+      goto exit;
-     }
-   }
- 
--  if (frame->f_code->co_filename == nullptr) {
--    return false;
-+  frame_code = PyFrame_GetCode(frame);
-+  if (frame_code->co_filename == nullptr) {
-+    goto exit;
-   }
-   char* filename;
-   Py_ssize_t filename_size;
--  if (PyString_AsStringAndSize(frame->f_code->co_filename,
-+  if (PyString_AsStringAndSize(frame_code->co_filename,
-                                &filename, &filename_size) < 0) {
-     // filename is not a string.
-     PyErr_Clear();
--    return false;
-+    goto exit;
-   }
-   if ((filename_size < 3) ||
-       (strcmp(&filename[filename_size - 3], ".py") != 0)) {
-     // Cython's stack does not have .py file name and is not at global module
-     // scope.
--    return true;
-+    result = true;
-+    goto exit;
-   }
-   if (filename_size < 7) {
-     // filename is too short.
--    return false;
-+    goto exit;
-   }
-   if (strcmp(&filename[filename_size - 7], "_pb2.py") != 0) {
-     // Filename is not ending with _pb2.
--    return false;
-+    goto exit;
-   }
- 
--  if (frame->f_globals != frame->f_locals) {
-+  frame_globals = PyFrame_GetGlobals(frame);
-+  frame_locals = PyFrame_GetLocals(frame);
-+  if (frame_globals != frame_locals) {
-     // Not at global module scope
--    return false;
-+    goto exit;
-   }
- #endif
--  return true;
-+  result = true;
-+exit:
-+  Py_XDECREF(frame_globals);
-+  Py_XDECREF(frame_locals);
-+  Py_XDECREF(frame_code);
-+  Py_XDECREF(frame);
-+  return result;
- }
- 
- // If the calling code is not a _pb2.py file, raise AttributeError.
diff --git a/srcpkgs/python3-protobuf/template b/srcpkgs/python3-protobuf/template
index e965c4432162..b0620d715ca4 100644
--- a/srcpkgs/python3-protobuf/template
+++ b/srcpkgs/python3-protobuf/template
@@ -1,16 +1,20 @@
 # Template file for 'python3-protobuf'
 pkgname=python3-protobuf
-version=4.21.12
+version=4.23.4
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-wheel"
+build_wrksrc=python
+hostmakedepends="python3-setuptools python3-wheel protobuf"
 depends="python3-setuptools python3-six"
+checkdepends="python3-numpy"
 short_desc="Python3 bindings for Google Protocol Buffers"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
-distfiles="${PYPI_SITE}/p/protobuf/protobuf-${version}.tar.gz"
-checksum=7cd532c4566d0e6feafecc1059d04c7915aec8e182d1cf7adee8b24ef1e2e6ab
+# PyPi release does not have bits for cppext
+distfiles="https://github.com/protocolbuffers/protobuf/releases/download/v${version#*.}/protobuf-${version#*.}.tar.gz"
+checksum=a700a49470d301f1190a487a923b5095bf60f08f4ae4cac9f5f7c36883d17971
+make_check=no # ImportError: cannot import name 'unittest_retention_pb2' from 'google.protobuf'
 
 build_options="cppext"
 build_options_default="cppext"
@@ -22,10 +26,6 @@ if [ "$build_option_cppext" ]; then
 	makedepends+=" python3-devel protobuf-devel"
 fi
 
-do_check() {
-	echo "skipping check: package ships with no tests"
-}
-
 post_install() {
 	sed -n 1,29p google/protobuf/__init__.py >LICENSE
 	vlicense LICENSE

From 169ddea657dee5f42e01171708b0f0cd2a06f7db Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 16 Jul 2023 19:54:48 +0200
Subject: [PATCH 35/35] ghidra: bump protobuf-java to 3.23.4

---
 srcpkgs/ghidra/patches/protobuf-3.23.4.patch | 113 +++++++++++++++++++
 srcpkgs/ghidra/template                      |   2 +-
 2 files changed, 114 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/ghidra/patches/protobuf-3.23.4.patch

diff --git a/srcpkgs/ghidra/patches/protobuf-3.23.4.patch b/srcpkgs/ghidra/patches/protobuf-3.23.4.patch
new file mode 100644
index 000000000000..e4fb6333779a
--- /dev/null
+++ b/srcpkgs/ghidra/patches/protobuf-3.23.4.patch
@@ -0,0 +1,113 @@
+diff '--color=auto' -ur ghidra-10.3.2.orig/ghidra_build/Ghidra/Debug/Debugger-gadp/build.gradle ghidra-10.3.2/ghidra_build/Ghidra/Debug/Debugger-gadp/build.gradle
+--- ghidra-10.3.2.orig/ghidra_build/Ghidra/Debug/Debugger-gadp/build.gradle	2023-07-11 22:09:00.000000000 +0200
++++ ghidra-10.3.2/ghidra_build/Ghidra/Debug/Debugger-gadp/build.gradle	2023-07-16 19:53:06.304326118 +0200
+@@ -33,29 +33,29 @@
+ def platform = getCurrentPlatformName()
+ 
+ dependencies {
+-	allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:windows-x86_64@exe'
+-	allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:linux-x86_64@exe'
+-	allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:linux-aarch_64@exe'
+-	allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:osx-x86_64@exe'
+-	allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:osx-aarch_64@exe'
++	allProtocArtifacts 'com.google.protobuf:protoc:3.23.4:windows-x86_64@exe'
++	allProtocArtifacts 'com.google.protobuf:protoc:3.23.4:linux-x86_64@exe'
++	allProtocArtifacts 'com.google.protobuf:protoc:3.23.4:linux-aarch_64@exe'
++	allProtocArtifacts 'com.google.protobuf:protoc:3.23.4:osx-x86_64@exe'
++	allProtocArtifacts 'com.google.protobuf:protoc:3.23.4:osx-aarch_64@exe'
+ 
+ 	if (isCurrentWindows()) {
+-		protocArtifact 'com.google.protobuf:protoc:3.21.8:windows-x86_64@exe'
++		protocArtifact 'com.google.protobuf:protoc:3.23.4:windows-x86_64@exe'
+ 	}
+ 	if (isCurrentLinux()) {
+ 		if (platform.endsWith("x86_64")) {
+-			protocArtifact 'com.google.protobuf:protoc:3.21.8:linux-x86_64@exe'
++			protocArtifact 'com.google.protobuf:protoc:3.23.4:linux-x86_64@exe'
+ 		}
+ 		else {
+-			protocArtifact 'com.google.protobuf:protoc:3.21.8:linux-aarch_64@exe'
++			protocArtifact 'com.google.protobuf:protoc:3.23.4:linux-aarch_64@exe'
+ 		}
+ 	}
+ 	if (isCurrentMac()) {
+ 		if (platform.endsWith("x86_64")) {
+-			protocArtifact 'com.google.protobuf:protoc:3.21.8:osx-x86_64@exe'
++			protocArtifact 'com.google.protobuf:protoc:3.23.4:osx-x86_64@exe'
+ 		}
+ 		else {
+-			protocArtifact 'com.google.protobuf:protoc:3.21.8:osx-aarch_64@exe'
++			protocArtifact 'com.google.protobuf:protoc:3.23.4:osx-aarch_64@exe'
+ 		}
+ 	}
+ 
+@@ -69,7 +69,7 @@
+ 
+ /*protobuf {
+ 	protoc {
+-		artifact = 'com.google.protobuf:protoc:3.21.8'
++		artifact = 'com.google.protobuf:protoc:3.23.4'
+ 	}
+ }*/
+ 
+diff '--color=auto' -ur ghidra-10.3.2.orig/ghidra_build/Ghidra/Debug/Debugger-isf/build.gradle ghidra-10.3.2/ghidra_build/Ghidra/Debug/Debugger-isf/build.gradle
+--- ghidra-10.3.2.orig/ghidra_build/Ghidra/Debug/Debugger-isf/build.gradle	2023-07-11 22:09:00.000000000 +0200
++++ ghidra-10.3.2/ghidra_build/Ghidra/Debug/Debugger-isf/build.gradle	2023-07-16 19:53:06.304326118 +0200
+@@ -30,29 +30,29 @@
+ def platform = getCurrentPlatformName()
+ 
+ dependencies {
+-	allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:windows-x86_64@exe'
+-	allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:linux-x86_64@exe'
+-	allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:linux-aarch_64@exe'
+-	allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:osx-x86_64@exe'
+-	allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:osx-aarch_64@exe'
++	allProtocArtifacts 'com.google.protobuf:protoc:3.23.4:windows-x86_64@exe'
++	allProtocArtifacts 'com.google.protobuf:protoc:3.23.4:linux-x86_64@exe'
++	allProtocArtifacts 'com.google.protobuf:protoc:3.23.4:linux-aarch_64@exe'
++	allProtocArtifacts 'com.google.protobuf:protoc:3.23.4:osx-x86_64@exe'
++	allProtocArtifacts 'com.google.protobuf:protoc:3.23.4:osx-aarch_64@exe'
+ 
+ 	if (isCurrentWindows()) {
+-		protocArtifact 'com.google.protobuf:protoc:3.21.8:windows-x86_64@exe'
++		protocArtifact 'com.google.protobuf:protoc:3.23.4:windows-x86_64@exe'
+ 	}
+ 	if (isCurrentLinux()) {
+ 		if (platform.endsWith("x86_64")) {
+-			protocArtifact 'com.google.protobuf:protoc:3.21.8:linux-x86_64@exe'
++			protocArtifact 'com.google.protobuf:protoc:3.23.4:linux-x86_64@exe'
+ 		}
+ 		else {
+-			protocArtifact 'com.google.protobuf:protoc:3.21.8:linux-aarch_64@exe'
++			protocArtifact 'com.google.protobuf:protoc:3.23.4:linux-aarch_64@exe'
+ 		}
+ 	}
+ 	if (isCurrentMac()) {
+ 		if (platform.endsWith("x86_64")) {
+-			protocArtifact 'com.google.protobuf:protoc:3.21.8:osx-x86_64@exe'
++			protocArtifact 'com.google.protobuf:protoc:3.23.4:osx-x86_64@exe'
+ 		}
+ 		else {
+-			protocArtifact 'com.google.protobuf:protoc:3.21.8:osx-aarch_64@exe'
++			protocArtifact 'com.google.protobuf:protoc:3.23.4:osx-aarch_64@exe'
+ 		}
+ 	}
+ 
+diff '--color=auto' -ur ghidra-10.3.2.orig/ghidra_build/Ghidra/Debug/Framework-AsyncComm/Module.manifest ghidra-10.3.2/ghidra_build/Ghidra/Debug/Framework-AsyncComm/Module.manifest
+--- ghidra-10.3.2.orig/ghidra_build/Ghidra/Debug/Framework-AsyncComm/Module.manifest	2023-07-11 22:09:00.000000000 +0200
++++ ghidra-10.3.2/ghidra_build/Ghidra/Debug/Framework-AsyncComm/Module.manifest	2023-07-16 19:53:06.304326118 +0200
+@@ -1 +1 @@
+-MODULE FILE LICENSE: lib/protobuf-java-3.21.8.jar BSD-3-GOOGLE
++MODULE FILE LICENSE: lib/protobuf-java-3.23.4.jar BSD-3-GOOGLE
+diff '--color=auto' -ur ghidra-10.3.2.orig/ghidra_build/Ghidra/Debug/Framework-AsyncComm/build.gradle ghidra-10.3.2/ghidra_build/Ghidra/Debug/Framework-AsyncComm/build.gradle
+--- ghidra-10.3.2.orig/ghidra_build/Ghidra/Debug/Framework-AsyncComm/build.gradle	2023-07-11 22:09:00.000000000 +0200
++++ ghidra-10.3.2/ghidra_build/Ghidra/Debug/Framework-AsyncComm/build.gradle	2023-07-16 19:53:06.305326125 +0200
+@@ -22,7 +22,7 @@
+ eclipse.project.name = 'Debug Framework-AsyncComm'
+ 
+ dependencies {
+-	api 'com.google.protobuf:protobuf-java:3.21.8'
++	api 'com.google.protobuf:protobuf-java:3.23.4'
+ 	api project(':Generic')
+ 	api project(':Graph')
+ 	api project(':ProposedUtils')
diff --git a/srcpkgs/ghidra/template b/srcpkgs/ghidra/template
index 250fe70d38e4..881922c1f292 100644
--- a/srcpkgs/ghidra/template
+++ b/srcpkgs/ghidra/template
@@ -1,7 +1,7 @@
 # Template file for 'ghidra'
 pkgname=ghidra
 version=10.3.2
-revision=1
+revision=2
 _dex_ver=2.1
 _yajsw_ver=13.09
 archs="x86_64* aarch64*"

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] protobuf/abseil-cpp/grpc: update
  2023-07-08 11:45 [PR PATCH] protobuf/abseil-cpp: update Johnnynator
                   ` (11 preceding siblings ...)
  2023-07-16 18:00 ` Johnnynator
@ 2023-07-17 15:36 ` Johnnynator
  2023-07-17 15:36 ` [PR PATCH] [Merged]: " Johnnynator
  13 siblings, 0 replies; 15+ messages in thread
From: Johnnynator @ 2023-07-17 15:36 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 616 bytes --]

There is an updated pull request by Johnnynator against master on the void-packages repository

https://github.com/Johnnynator/void-packages google-stuff
https://github.com/void-linux/void-packages/pull/44920

protobuf/abseil-cpp/grpc: update
"Fun" with google stuff

#### Testing the changes
- I tested the changes in this PR: **WiP**


#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):



A patch file from https://github.com/void-linux/void-packages/pull/44920.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-google-stuff-44920.patch --]
[-- Type: text/x-diff, Size: 124358 bytes --]

From d32a0096386121cfc5557ea0ff906a54e4427509 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:24:01 +0200
Subject: [PATCH 01/35] abseil-cpp: update to 20230125.3.

---
 common/shlibs                                 | 128 ++++++++++++------
 srcpkgs/abseil-cpp/patches/google-sucks.patch |  77 -----------
 srcpkgs/abseil-cpp/template                   |   9 +-
 3 files changed, 90 insertions(+), 124 deletions(-)
 delete mode 100644 srcpkgs/abseil-cpp/patches/google-sucks.patch

diff --git a/common/shlibs b/common/shlibs
index 4b2122d1b199..d1e779f4e7cb 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4207,51 +4207,89 @@ libsunpinyin.so.3 libsunpinyin-3.0.0rc2_1
 libtpm2-totp.so.0 libtpm2-totp-0.3.0_1
 libmujs.so.1.2.0 mujs-1.2.0_2
 libiir.so.1 libiir1-1.9.3_1
-libabsl_statusor.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_hash.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_raw_hash_set.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_bad_variant_access.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_status.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_pool_urbg.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_hwaes_impl.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_slow.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cord.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_city.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_bad_optional_access.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_info.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_str_format_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_synchronization.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_time.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strings.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_throw_delegate.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_time_zone.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_spinlock_wait.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_base.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_civil_time.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cord_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_functions.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_cordz_handle.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_debugging_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_demangle_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_exponential_biased.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_graphcycles_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_hashtablez_sampler.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_int128.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_log_severity.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_low_level_hash.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_malloc_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_distributions.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_platform.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_randen_hwaes.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_internal_seed_material.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_seed_gen_exception.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_random_seed_sequences.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_raw_logging_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_stacktrace.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strerror.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_strings_internal.so.2206.0.0 abseil-cpp-20220623.1_1
-libabsl_symbolize.so.2206.0.0 abseil-cpp-20220623.1_1
+libabsl_flags.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_raw_logging_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_parse.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_reflection.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_globals.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_config.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_seed_sequences.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_statusor.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_usage_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_commandlineflag.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_hwaes_impl.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_status.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_any_cast_impl.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_variant_access.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_raw_hash_set.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_bad_optional_access.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cord.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_distribution_test_util.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_handle.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_graphcycles_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_spinlock_wait.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_functions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_usage.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_debugging_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strerror.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_seed_material.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_log_sink_set.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_proto.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_civil_time.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_conditions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_cpu_detect.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_entry.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_distributions.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_globals.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_format.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_exponential_biased.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_city.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_symbolize.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_leak_check.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_low_level_hash.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_severity.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_scoped_set_env.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strings.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_die_if_null.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_hash.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_commandlineflag_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_periodic_sampler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_platform.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_malloc_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_sample_token.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_str_format_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_synchronization.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_message.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_strings_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_private_handle_accessor.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cord_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_hwaes.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_throw_delegate.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc_cord_state.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_flags.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_program_name.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_time_zone.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_examine_stack.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_crc32c.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_initialize.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_failure_signal_handler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_time.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_cordz_info.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_sink.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_nullguard.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_demangle_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_internal.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_base.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_hashtablez_sampler.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_flags_marshalling.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_pool_urbg.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_int128.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_stacktrace.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_seed_gen_exception.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_log_internal_check_op.so.2301.0.0 abseil-cpp-20230125.3_1
+libabsl_random_internal_randen_slow.so.2301.0.0 abseil-cpp-20230125.3_1
 libairspyhf.so.0 libairspyhf-1.6.8_1
 libtraceevent.so.1 libtraceevent-1.6.2_1
 libtracefs.so.1 libtracefs-1.4.2_1
diff --git a/srcpkgs/abseil-cpp/patches/google-sucks.patch b/srcpkgs/abseil-cpp/patches/google-sucks.patch
deleted file mode 100644
index 511bae847101..000000000000
--- a/srcpkgs/abseil-cpp/patches/google-sucks.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-commit 1fbfea71fb42b2e79f9e342c1843bd26a8703536
-Author: Daniel Kolesa <daniel@octaforge.org>
-Date:   Thu Aug 25 01:20:58 2022 +0200
-
-    An all-in-one patch that fixes several issues:
-    
-    1) UnscaledCycleClock not fully implemented for ppc*-musl (disabled on musl)
-    2) powerpc stacktrace implementation only works on glibc (disabled on musl)
-    3) powerpc stacktrace implementation has ppc64 assumptions (fixed)
-    4) examine_stack.cpp makes glibc assumptions on powerpc (fixed)
-
-diff --git a/absl/base/internal/unscaledcycleclock.cc b/absl/base/internal/unscaledcycleclock.cc
-index b1c396c..d62bfd6 100644
---- a/absl/base/internal/unscaledcycleclock.cc
-+++ b/absl/base/internal/unscaledcycleclock.cc
-@@ -20,7 +20,7 @@
- #include <intrin.h>
- #endif
- 
--#if defined(__powerpc__) || defined(__ppc__)
-+#if (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
- #ifdef __GLIBC__
- #include <sys/platform/ppc.h>
- #elif defined(__FreeBSD__)
-@@ -58,7 +58,7 @@ double UnscaledCycleClock::Frequency() {
-   return base_internal::NominalCPUFrequency();
- }
- 
--#elif defined(__powerpc__) || defined(__ppc__)
-+#elif (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
- 
- int64_t UnscaledCycleClock::Now() {
- #ifdef __GLIBC__
-diff --git a/absl/base/internal/unscaledcycleclock.h b/absl/base/internal/unscaledcycleclock.h
-index 2cbeae3..83d8c98 100644
---- a/absl/base/internal/unscaledcycleclock.h
-+++ b/absl/base/internal/unscaledcycleclock.h
-@@ -46,8 +46,8 @@
- 
- // The following platforms have an implementation of a hardware counter.
- #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \
--    defined(__powerpc__) || defined(__ppc__) || defined(__riscv) ||     \
--    defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
-+    ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \
-+    defined(__riscv) || defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
- #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
- #else
- #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 0
-diff --git a/absl/debugging/internal/examine_stack.cc b/absl/debugging/internal/examine_stack.cc
-index 5bdd341..a42a3c4 100644
---- a/absl/debugging/internal/examine_stack.cc
-+++ b/absl/debugging/internal/examine_stack.cc
-@@ -174,8 +174,10 @@ void* GetProgramCounter(void* const vuc) {
-     return reinterpret_cast<void*>(context->uc_mcontext.pc);
- #elif defined(__powerpc64__)
-     return reinterpret_cast<void*>(context->uc_mcontext.gp_regs[32]);
--#elif defined(__powerpc__)
-+#elif defined(__powerpc__) && defined(__GLIBC__)
-     return reinterpret_cast<void*>(context->uc_mcontext.uc_regs->gregs[32]);
-+#elif defined(__powerpc__)
-+    return reinterpret_cast<void*>(context->uc_mcontext.gregs[32]);
- #elif defined(__riscv)
-     return reinterpret_cast<void*>(context->uc_mcontext.__gregs[REG_PC]);
- #elif defined(__s390__) && !defined(__s390x__)
-diff --git a/absl/debugging/internal/stacktrace_config.h b/absl/debugging/internal/stacktrace_config.h
-index 3929b1b..23d5e50 100644
---- a/absl/debugging/internal/stacktrace_config.h
-+++ b/absl/debugging/internal/stacktrace_config.h
-@@ -60,7 +60,7 @@
- #elif defined(__i386__) || defined(__x86_64__)
- #define ABSL_STACKTRACE_INL_HEADER \
-   "absl/debugging/internal/stacktrace_x86-inl.inc"
--#elif defined(__ppc__) || defined(__PPC__)
-+#elif (defined(__ppc__) || defined(__PPC__)) && defined(__GLIBC__)
- #define ABSL_STACKTRACE_INL_HEADER \
-   "absl/debugging/internal/stacktrace_powerpc-inl.inc"
- #elif defined(__aarch64__)
diff --git a/srcpkgs/abseil-cpp/template b/srcpkgs/abseil-cpp/template
index 8640d2489406..ea2fa2506873 100644
--- a/srcpkgs/abseil-cpp/template
+++ b/srcpkgs/abseil-cpp/template
@@ -1,16 +1,21 @@
 # Template file for 'abseil-cpp'
 pkgname=abseil-cpp
-version=20220623.1
+version=20230125.3
 revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON -DABSL_PROPAGATE_CXX_STD=ON"
 hostmakedepends="pkg-config"
+makedepends="libatomic-devel"
 short_desc="Abseil common libraries"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="Apache-2.0"
 homepage="https://abseil.io"
 distfiles="https://github.com/abseil/abseil-cpp/archive/${version}.tar.gz"
-checksum=91ac87d30cc6d79f9ab974c51874a704de9c2647c40f6932597329a282217ba8
+checksum=5366d7e7fa7ba0d915014d387b66d0d002c03236448e1ba9ef98122c13b35c36
+
+if [ $XBPS_TARGET_NO_ATOMIC8 ]; then
+	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
+fi
 
 abseil-cpp-devel_package() {
 	short_desc+=" (development files)"

From baf1010265513f1c7a0f436219ab7fee9f44014a Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 02/35] Bear: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/Bear/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/Bear/template b/srcpkgs/Bear/template
index cebf51b64728..2e6da3ba9a30 100644
--- a/srcpkgs/Bear/template
+++ b/srcpkgs/Bear/template
@@ -1,7 +1,7 @@
 # Template file for 'Bear'
 pkgname=Bear
 version=3.1.2
-revision=1
+revision=2
 build_style=cmake
 hostmakedepends="pkg-config protobuf protobuf-devel grpc"
 makedepends="json-c++ spdlog grpc-devel protobuf-devel gtest-devel"

From f0a0930270d1ff96f93aa714e9236b96a9a51317 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 03/35] grpc: update to 1.56.0.

---
 common/shlibs                                 | 24 +++++++++----------
 srcpkgs/grpc/patches/cmake.patch              | 20 ++++++++++++++++
 .../grpc/patches/revert-find-protobuf.patch   | 23 ++++++++++++++++++
 srcpkgs/grpc/template                         | 15 ++++++------
 4 files changed, 63 insertions(+), 19 deletions(-)
 create mode 100644 srcpkgs/grpc/patches/cmake.patch
 create mode 100644 srcpkgs/grpc/patches/revert-find-protobuf.patch

diff --git a/common/shlibs b/common/shlibs
index d1e779f4e7cb..5adfa4d6e69f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3683,18 +3683,18 @@ liboblibs.so.0.1 oblibs-0.1.1.1_1
 libaal-1.0.so.7 libaal-1.0.7_1
 libaal-minimal.so.0 libaal-1.0.7_1
 libcli.so.1.9 libcli-1.9.8.4_1
-libaddress_sorting.so.27 libgrpc-1.49.1_1
-libgpr.so.27 libgrpc-1.49.1_1
-libgrpc.so.27 libgrpc-1.49.1_1
-libgrpc_unsecure.so.27 libgrpc-1.49.1_1
-libupb.so.27 libgrpc-1.49.1_1
-libgrpc++.so.1.49 libgrpc-1.49.1_1
-libgrpc++_alts.so.1.49 libgrpc-1.49.1_1
-libgrpc++_error_details.so.1.49 libgrpc-1.49.1_1
-libgrpc++_reflection.so.1.49 libgrpc-1.49.1_1
-libgrpc++_unsecure.so.1.49 libgrpc-1.49.1_1
-libgrpc_plugin_support.so.1.49 libgrpc-1.49.1_1
-libgrpcpp_channelz.so.1.49 libgrpc-1.49.1_1
+libaddress_sorting.so.33 libgrpc-1.56.0_1
+libgpr.so.33 libgrpc-1.56.0_1
+libgrpc.so.33 libgrpc-1.56.0_1
+libgrpc_unsecure.so.33 libgrpc-1.56.0_1
+libupb.so.33 libgrpc-1.56.0_1
+libgrpc++.so.1.56 libgrpc-1.56.0_1
+libgrpc++_alts.so.1.56 libgrpc-1.56.0_1
+libgrpc++_error_details.so.1.56 libgrpc-1.56.0_1
+libgrpc++_reflection.so.1.56 libgrpc-1.56.0_1
+libgrpc++_unsecure.so.1.56 libgrpc-1.56.0_1
+libgrpc_plugin_support.so.1.56 libgrpc-1.56.0_1
+libgrpcpp_channelz.so.1.56 libgrpc-1.56.0_1
 libircclient.so.1 libircclient-1.10_5
 libFAudio.so.0 FAudio-19.05_1
 libqaccessibilityclient-qt5.so.0 libqaccessibilityclient-0.4.0_1
diff --git a/srcpkgs/grpc/patches/cmake.patch b/srcpkgs/grpc/patches/cmake.patch
new file mode 100644
index 000000000000..54d04e29837d
--- /dev/null
+++ b/srcpkgs/grpc/patches/cmake.patch
@@ -0,0 +1,20 @@
+--- a/cmake/gRPCConfig.cmake.in	2023-06-14 22:21:16.000000000 +0200
++++ -	2023-06-28 11:11:32.902678412 +0200
+@@ -1,5 +1,6 @@
+ # Module path
+ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/modules)
++include(CMakeFindDependencyMacro)
+ 
+ # Depend packages
+ @_gRPC_FIND_ZLIB@
+--- a/CMakeLists.txt	2023-07-11 08:54:22.009027477 +0200
++++ -	2023-07-11 08:54:38.950947984 +0200
+@@ -12375,6 +12375,8 @@
+   ${_gRPC_ZLIB_LIBRARIES}
+   ${_gRPC_ALLTARGETS_LIBRARIES}
+   grpc_plugin_support
++  absl::hash
++  absl::raw_hash_set
+ )
+ 
+ 
diff --git a/srcpkgs/grpc/patches/revert-find-protobuf.patch b/srcpkgs/grpc/patches/revert-find-protobuf.patch
new file mode 100644
index 000000000000..6001f37c6b1b
--- /dev/null
+++ b/srcpkgs/grpc/patches/revert-find-protobuf.patch
@@ -0,0 +1,23 @@
+Use the old cmake provided FindProtobuf() implementation for now.
+A future cmake update will remove this module, but use it for now until
+all packages are updated to the new system
+---
+--- a/cmake/protobuf.cmake	2023-06-14 22:21:16.000000000 +0200
++++ -	2023-07-10 21:05:41.114443796 +0200
+@@ -55,7 +55,7 @@
+     set(gRPC_INSTALL FALSE)
+   endif()
+ elseif(gRPC_PROTOBUF_PROVIDER STREQUAL "package")
+-  find_package(Protobuf REQUIRED CONFIG)
++  find_package(Protobuf REQUIRED)
+ 
+   if(Protobuf_FOUND OR PROTOBUF_FOUND)
+     if(TARGET protobuf::${_gRPC_PROTOBUF_LIBRARY_NAME})
+@@ -86,6 +86,6 @@
+         set(_gRPC_PROTOBUF_PROTOC_EXECUTABLE ${PROTOBUF_PROTOC_EXECUTABLE})
+       endif()
+     endif()
+-    set(_gRPC_FIND_PROTOBUF "find_dependency(Protobuf CONFIG)")
++    set(_gRPC_FIND_PROTOBUF "find_dependency(Protobuf)")
+   endif()
+ endif()
diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index 5b4547a5c0fc..9c58c2509bee 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -1,14 +1,13 @@
 # Template file for 'grpc'
 pkgname=grpc
-version=1.49.1
-revision=2
+version=1.56.0
+revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON
  -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package
  -DgRPC_SSL_PROVIDER=package -DgRPC_ZLIB_PROVIDER=package
- -DgRPC_ABSL_PROVIDER=package -D_gRPC_RE2_LIBRARIES=-lre2
- -D_gRPC_RE2_INCLUDE_DIR=${XBPS_CROSS_BASE}/usr/include"
-hostmakedepends="which protobuf"
+ -DgRPC_ABSL_PROVIDER=package -DgRPC_RE2_PROVIDER=package"
+hostmakedepends="protobuf pkg-config"
 _devel_depends="c-ares-devel re2-devel zlib-devel openssl-devel abseil-cpp-devel"
 makedepends="libprotoc-devel protobuf-devel gperftools-devel ${_devel_depends}"
 short_desc="High performance, open source, general RPC framework"
@@ -16,11 +15,12 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://github.com/grpc/grpc"
 distfiles="${homepage}/archive/v${version}/${pkgname}-${version}.tar.gz"
-checksum=5071b630e2a14707ad060636990f1b25b0984bd168c7ea1ab95e48a3bdc0081f
+checksum=e034992a0b464042021f6d440f2090acc2422c103a322b0844e3921ccea981dc
 
 if [ "$CROSS_BUILD" ]; then
 	# need host grpc_cpp_plugin
 	hostmakedepends+=" grpc"
+	configure_args+=" -DProtobuf_PROTOC_EXECUTABLE=/usr/bin/protoc"
 fi
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
@@ -38,7 +38,8 @@ libgrpc_package() {
 
 grpc-devel_package() {
 	short_desc+=" - development files"
-	depends="${sourcepkg}>=${version}_${revision} ${_devel_depends}"
+	depends="${sourcepkg}>=${version}_${revision} ${_devel_depends}
+	 protobuf-devel"
 	pkg_install() {
 		vmove usr/include
 		vmove usr/lib/*.so

From 81213e529d995a095383a87766532c1db01d6cfe Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 04/35] justbuild: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/justbuild/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index 1ad8e334617d..ee36f6dae575 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
 # Template file for 'justbuild'
 pkgname=justbuild
 version=1.1.2
-revision=1
+revision=2
 create_wrksrc=yes
 hostmakedepends="jo pandoc pkg-config python3 tar unzip wget"
 makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++

From 3baa454ab44e8fa93acc9f725b3bdb8e3350f056 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 05/35] python3-grpcio: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/python3-grpcio/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 826eda0fc560..9b3c7288a9dd 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-grpcio'
 pkgname=python3-grpcio
 version=1.49.1
-revision=3
+revision=4
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-six python3-Cython"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel

From 1228629ed065291b4ed7b7cc4d6adf147d96f761 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 21:29:59 +0200
Subject: [PATCH 06/35] sysdig: rebuild against abseil-cpp-20230125.3_1

---
 srcpkgs/sysdig/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index 81ddb7aba5e3..4a04e762468c 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,7 +1,7 @@
 # Template file for 'sysdig'
 pkgname=sysdig
 version=0.28.0
-revision=7
+revision=8
 build_style=cmake
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF
@@ -36,7 +36,8 @@ CXXFLAGS="-Wno-deprecated-declarations"
 CXXFLAGS+=" -I/usr/include/grpc_absl"
 
 post_extract() {
-	sed -i 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' scripts/CMakeLists.txt
+	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
+	vsed -e 's|-std=c++0x||' -i CMakeLists.txt
 }
 
 post_install() {

From 5e64a078cc3f116c48b2630949eeb850b8db19b4 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 26 Jun 2023 22:01:12 +0200
Subject: [PATCH 07/35] python3-grpcio: update to 1.56.0.

---
 srcpkgs/python3-grpcio/template | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 9b3c7288a9dd..25ea3fc34620 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-grpcio'
 pkgname=python3-grpcio
-version=1.49.1
-revision=4
+version=1.56.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-six python3-Cython"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel
@@ -12,7 +12,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://grpc.io"
 distfiles="${PYPI_SITE}/g/grpcio/grpcio-${version}.tar.gz"
-checksum=d4725fc9ec8e8822906ae26bb26f5546891aa7fbc3443de970cc556d43a5c99f
+checksum=4c08ee21b3d10315b8dc26f6c13917b20ed574cdbed2d2d80c53d5508fdcc0f2
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	makedepends+=" libatomic-devel"
@@ -29,5 +29,7 @@ export GRPC_PYTHON_BUILD_SYSTEM_RE2=1
 export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
 
 post_extract() {
+	# abseil-cpp 2023xxxxxx requires at least c++ 17
+	vsed -e 's/c++14/c++17/g' -i setup.py
 	rm src/python/grpcio/grpc/_cython/cygrpc.cpp
 }

From e29bd33f5b7c512433da1ffc09dd52047218ff74 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:40:13 +0200
Subject: [PATCH 08/35] protobuf: update to 23.4.

- switch to cmake buildstyle
- grpc needs the .cmake files to find protobuf
- newer version of protobuf will drop autoconf
---
 common/shlibs             |  6 ++---
 srcpkgs/protobuf/template | 46 ++++++++++++++-------------------------
 2 files changed, 19 insertions(+), 33 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 5adfa4d6e69f..3cd47fb4f486 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3115,9 +3115,9 @@ libm17n-flt.so.0 m17n-lib-1.7.0_1
 libm17n-gui.so.0 m17n-lib-1.7.0_1
 libm17n-core.so.0 m17n-lib-1.7.0_1
 libm17n.so.0 m17n-lib-1.7.0_1
-libprotobuf-lite.so.32 libprotobuf-lite-21.4_1
-libprotoc.so.32 libprotoc-21.4_1
-libprotobuf.so.32 libprotobuf-21.4_1
+libprotobuf-lite.so.23.4.0 libprotobuf-lite-23.4_1
+libprotoc.so.23.4.0 libprotoc-23.4_1
+libprotobuf.so.23.4.0 libprotobuf-23.4_1
 libsombok.so.3 sombok-2.4.0_1
 libdeviceclient.so.0 pragha-1.3.3_1
 libykclient.so.3 ykclient-2.15_1
diff --git a/srcpkgs/protobuf/template b/srcpkgs/protobuf/template
index 571f06487c85..828c4b050fdc 100644
--- a/srcpkgs/protobuf/template
+++ b/srcpkgs/protobuf/template
@@ -1,22 +1,22 @@
 # Template file for 'protobuf'
 pkgname=protobuf
-version=21.12
+version=23.4
 revision=1
-create_wrksrc="yes"
-build_wrksrc="${pkgname}-${version}"
-build_style=gnu-configure
-hostmakedepends="pkg-config automake libtool"
-makedepends="zlib-devel"
+build_style=cmake
+configure_args="-Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_USE_EXTERNAL_GTEST=ON
+ -Dprotobuf_BUILD_LIBPROTOC=ON -Dprotobuf_ABSL_PROVIDER=package
+ -Dprotobuf_BUILD_TESTS=OFF"
+# XXX: Tests require that the abseil-cpp provides absl::scoped_mock_log
+hostmakedepends="pkg-config"
+makedepends="zlib-devel gtest-devel libatomic-devel
+ abseil-cpp-devel"
 short_desc="Protocol buffers compiler"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
 changelog="https://raw.githubusercontent.com/google/protobuf/master/CHANGES.txt"
-_googletest_commit="5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081"
-distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz
- https://github.com/google/googletest/archive/${_googletest_commit}.tar.gz"
-checksum="22fdaf641b31655d4b2297f9981fa5203b2866f8332d3c6333f6b0107bb320de
- 0e2f36e8e403c125fd0ab02171bdb786d3b6b3875b6ccf3b2eb7969be8faecd0"
+distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz"
+checksum=a700a49470d301f1190a487a923b5095bf60f08f4ae4cac9f5f7c36883d17971
 
 # Switch to versioned package
 conflicts="protobuf18>=0 protobuf23>=0 protobuf24>=0
@@ -26,24 +26,11 @@ replaces="${conflicts}"
 if [ "$CROSS_BUILD" ]; then
 	# needs host protoc
 	hostmakedepends+=" ${pkgname}"
-	configure_args+=" --with-protoc=/usr/bin/protoc"
+	configure_args+=" -Dprotobuf_PROTOC_EXE=/usr/bin/protoc"
 fi
 
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-	LDFLAGS+=" -latomic"
-fi
-
-post_extract() {
-	rmdir "${build_wrksrc}/third_party/googletest"
-	mv "googletest-${_googletest_commit}" "${build_wrksrc}/third_party/googletest"
-}
-
-pre_configure() {
-	autoreconf -fi
-}
-
 post_install() {
+	rm -rf "${DESTDIR}/usr/lib/cmake"
 	vlicense LICENSE
 }
 
@@ -80,7 +67,6 @@ libprotoc-devel_package() {
 	 libprotoc26-devel>=0 libprotoc28-devel>=0"
 	replaces="${conflicts}"
 	pkg_install() {
-		vmove usr/lib/libprotoc.a
 		vmove usr/lib/libprotoc.so
 		vmove usr/include/google/protobuf/compiler
 	}
@@ -89,7 +75,8 @@ libprotoc-devel_package() {
 protobuf-devel_package() {
 	depends="zlib-devel
 	 libprotobuf-${version}_${revision}
-	 libprotobuf-lite-${version}_${revision}"
+	 libprotobuf-lite-${version}_${revision}
+	 abseil-cpp-devel"
 	short_desc="Protocol buffers C++ library - development files"
 	# Switch to versioned package
 	conflicts="protobuf18-devel>=0 protobuf23-devel>=0
@@ -98,10 +85,9 @@ protobuf-devel_package() {
 	replaces="${conflicts}"
 	pkg_install() {
 		vmove usr/include
-		vmove usr/lib/libprotobuf.a
-		vmove usr/lib/libprotobuf-lite.a
 		vmove usr/lib/libprotobuf.so
 		vmove usr/lib/libprotobuf-lite.so
 		vmove usr/lib/pkgconfig
+		vmove "usr/lib/*.a"
 	}
 }

From d34fc0bdf88124c907dc0cc85b28b0bdc671553a Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 09/35] EternalTerminal: rebuild against protobuf-23.3_1

---
 srcpkgs/EternalTerminal/patches/limits.patch | 10 ++++++++++
 srcpkgs/EternalTerminal/template             |  2 +-
 2 files changed, 11 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/EternalTerminal/patches/limits.patch

diff --git a/srcpkgs/EternalTerminal/patches/limits.patch b/srcpkgs/EternalTerminal/patches/limits.patch
new file mode 100644
index 000000000000..9226bd45001a
--- /dev/null
+++ b/srcpkgs/EternalTerminal/patches/limits.patch
@@ -0,0 +1,10 @@
+--- a/EternalTerminal/external_imported/cxxopts/include/cxxopts.hpp	2022-05-05 17:20:44.000000000 +0200
++++ -	2023-07-10 20:07:25.607948589 +0200
+@@ -37,6 +37,7 @@
+ #include <unordered_map>
+ #include <unordered_set>
+ #include <vector>
++#include <limits>
+ 
+ #ifdef __cpp_lib_optional
+ #include <optional>
diff --git a/srcpkgs/EternalTerminal/template b/srcpkgs/EternalTerminal/template
index 1017a1b4a1ec..156eab6ce47e 100644
--- a/srcpkgs/EternalTerminal/template
+++ b/srcpkgs/EternalTerminal/template
@@ -1,7 +1,7 @@
 # Template file for 'EternalTerminal'
 pkgname=EternalTerminal
 version=6.2.1
-revision=1
+revision=2
 # revisions used for the specific versions of submodules.
 # they can be found in the external/ directory of the source code.
 _sanitizers_gitrev="99e159ec9bc8dd362b08d18436bd40ff0648417b"

From 9d76ee668ec0a685b5ad2a9e9c2cda9216a750e1 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 10/35] vlc: rebuild against protobuf-23.3_1

---
 srcpkgs/vlc/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vlc/template b/srcpkgs/vlc/template
index 210762b0a7e2..651c94a1353a 100644
--- a/srcpkgs/vlc/template
+++ b/srcpkgs/vlc/template
@@ -1,7 +1,7 @@
 # Template file for 'vlc'
 pkgname=vlc
 version=3.0.18
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--disable-gme --disable-libtar --enable-jack
  --enable-live555 --disable-fluidsynth --enable-dvdread

From 0cce282bc0988158b744bf59db9b352d3405e663 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 11/35] mixxx: rebuild against protobuf-23.3_1

---
 srcpkgs/mixxx/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mixxx/template b/srcpkgs/mixxx/template
index 619ddca0d332..4b9ea00d3fb3 100644
--- a/srcpkgs/mixxx/template
+++ b/srcpkgs/mixxx/template
@@ -1,7 +1,7 @@
 # Template file for 'mixxx'
 pkgname=mixxx
 version=2.3.3
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="extra-cmake-modules pkg-config protobuf qt5-host-tools qt5-devel"

From bd3adc9cff4cb113042c083c3b1f8ed14ea00306 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 11:59:55 +0200
Subject: [PATCH 12/35] telegram-desktop: rebuild against protobuf-23.3_1

---
 srcpkgs/telegram-desktop/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/telegram-desktop/template b/srcpkgs/telegram-desktop/template
index f114b2341dc5..9db9f80c1a53 100644
--- a/srcpkgs/telegram-desktop/template
+++ b/srcpkgs/telegram-desktop/template
@@ -1,7 +1,7 @@
 # Template file for 'telegram-desktop'
 pkgname=telegram-desktop
 version=4.8.1
-revision=3
+revision=4
 build_style=cmake
 build_helper="qemu"
 configure_args="-DTDESKTOP_API_ID=209235

From 886a49342834e0baccba070d98dce3be85039b44 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:56 +0200
Subject: [PATCH 13/35] usbguard: rebuild against protobuf-23.3_1

---
 srcpkgs/usbguard/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/usbguard/template b/srcpkgs/usbguard/template
index 8625c80a7eda..df4411202568 100644
--- a/srcpkgs/usbguard/template
+++ b/srcpkgs/usbguard/template
@@ -1,7 +1,7 @@
 # Template file for 'usbguard'
 pkgname=usbguard
 version=1.1.2
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-crypto-library=sodium --with-bundled-catch --with-bundled-pegtl"
 conf_files="/etc/usbguard/*"

From 7f47ca153d8f7325b798a0e2d39c6288b832b756 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 14/35] nsjail: rebuild against protobuf-23.3_1

---
 srcpkgs/nsjail/patches/32bitint.patch    | 10 ++++++++
 srcpkgs/nsjail/patches/cpp17.patch       | 11 +++++++++
 srcpkgs/nsjail/patches/kafel-bison.patch | 30 ------------------------
 srcpkgs/nsjail/patches/ldflags.patch     | 11 +++++++++
 srcpkgs/nsjail/patches/log.patch         | 24 +++++++++++++++++++
 srcpkgs/nsjail/template                  | 13 +++++-----
 6 files changed, 63 insertions(+), 36 deletions(-)
 create mode 100644 srcpkgs/nsjail/patches/32bitint.patch
 create mode 100644 srcpkgs/nsjail/patches/cpp17.patch
 delete mode 100644 srcpkgs/nsjail/patches/kafel-bison.patch
 create mode 100644 srcpkgs/nsjail/patches/ldflags.patch
 create mode 100644 srcpkgs/nsjail/patches/log.patch

diff --git a/srcpkgs/nsjail/patches/32bitint.patch b/srcpkgs/nsjail/patches/32bitint.patch
new file mode 100644
index 000000000000..055caa909e36
--- /dev/null
+++ b/srcpkgs/nsjail/patches/32bitint.patch
@@ -0,0 +1,10 @@
+--- a/macros.h	2022-11-22 22:25:15.000000000 +0100
++++ -	2023-07-14 21:21:14.506361610 +0200
+@@ -65,6 +65,6 @@
+ #endif
+ 
+ #define NS_VALSTR_STRUCT(x) \
+-	{ (uint64_t) x, #x }
++	{ (long unsigned int) x, #x }
+ 
+ #endif /* NS_COMMON_H */
diff --git a/srcpkgs/nsjail/patches/cpp17.patch b/srcpkgs/nsjail/patches/cpp17.patch
new file mode 100644
index 000000000000..384ff7b51258
--- /dev/null
+++ b/srcpkgs/nsjail/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/Makefile	2022-11-22 22:25:15.000000000 +0100
++++ -	2023-07-08 16:35:16.308351723 +0200
+@@ -32,7 +32,7 @@
+ 	-Ikafel/include
+ 
+ CXXFLAGS += $(USER_DEFINES) $(COMMON_FLAGS) $(shell pkg-config --cflags protobuf) \
+-	-std=c++14 -fno-exceptions -Wno-unused -Wno-unused-parameter
++	-std=c++17 -fno-exceptions -Wno-unused -Wno-unused-parameter
+ LDFLAGS += -pie -Wl,-z,noexecstack -lpthread $(shell pkg-config --libs protobuf)
+ 
+ BIN = nsjail
diff --git a/srcpkgs/nsjail/patches/kafel-bison.patch b/srcpkgs/nsjail/patches/kafel-bison.patch
deleted file mode 100644
index 48eff0d36369..000000000000
--- a/srcpkgs/nsjail/patches/kafel-bison.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 32768d3cc8cecbc30d9020dbfa8d9ec541d057e4 Mon Sep 17 00:00:00 2001
-From: Evangelos Foutras <evangelos@foutrelis.com>
-Date: Wed, 17 Mar 2021 16:36:40 +0200
-Subject: [PATCH] Replace YYUSE call with void cast in src/parser.y
-
-The YYUSE macro was renamed to YY_USE in bison 3.7.5; we might as well
-avoid using it altogether and cast the unused variable to void instead.
-
-Fixes the following linker error:
-
-/usr/bin/ld: kafel/libkafel.a(libkafel.o): in function `kafel_yyerror':
-arm_syscalls.c:(.text+0x6984): undefined reference to `YYUSE'
----
- src/parser.y | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git kafel/src/parser.y kafel/src/parser.y
-index e0f109c..0e01373 100644
---- a/kafel/src/parser.y
-+++ b/kafel/src/parser.y
-@@ -420,8 +420,8 @@ const_def
- 
- void yyerror(YYLTYPE * loc, struct kafel_ctxt* ctxt, yyscan_t scanner,
-              const char *msg) {
-+  (void)scanner; /* suppress unused-parameter warning */
-   if (!ctxt->lexical_error) {
--    YYUSE(scanner);
-     if (loc->filename != NULL) {
-       append_error(ctxt, "%s:%d:%d: %s", loc->filename, loc->first_line, loc->first_column, msg);
-     } else {
diff --git a/srcpkgs/nsjail/patches/ldflags.patch b/srcpkgs/nsjail/patches/ldflags.patch
new file mode 100644
index 000000000000..c039ea09e237
--- /dev/null
+++ b/srcpkgs/nsjail/patches/ldflags.patch
@@ -0,0 +1,11 @@
+--- a/kafel/src/Makefile	2023-07-08 16:40:45.058218240 +0200
++++ -	2023-07-08 16:54:04.459715051 +0200
+@@ -56,7 +56,7 @@
+ 	$(CC) $(CFLAGS) -Wl,-soname,$@.${VERSION} -shared $^ -o $@
+ 
+ ${STATIC_TARGET}: ${OBJECTS}
+-	$(LD) $(LDFLAGS) -r ${OBJECTS} -o libkafel_r.o
++	$(LD) -r ${OBJECTS} -o libkafel_r.o
+ 	# Fix x86 PIC symbols
+ 	$(OBJDUMP) -t libkafel_r.o | grep '.hidden' | grep -v 'get_pc_thunk' | sed -e 's/^.*\.hidden //' > libkafel.localize_symbols
+ 	$(OBJCOPY) -w --localize-symbols=libkafel.localize_symbols libkafel_r.o libkafel.o
diff --git a/srcpkgs/nsjail/patches/log.patch b/srcpkgs/nsjail/patches/log.patch
new file mode 100644
index 000000000000..9e7f12368076
--- /dev/null
+++ b/srcpkgs/nsjail/patches/log.patch
@@ -0,0 +1,24 @@
+diff --git a/config.cc b/config.cc
+index 5242ba4..bbb2b6d 100644
+--- a/config.cc
++++ b/config.cc
+@@ -302,11 +302,6 @@ static bool configParseInternal(nsjconf_t* nsjconf, const nsjail::NsJailConfig&
+ 	return true;
+ }
+ 
+-static void LogHandler(
+-    google::protobuf::LogLevel level, const char* filename, int line, const std::string& message) {
+-	LOG_W("config.cc: '%s'", message.c_str());
+-}
+-
+ bool parseFile(nsjconf_t* nsjconf, const char* file) {
+ 	LOG_D("Parsing configuration from '%s'", file);
+ 
+@@ -316,7 +311,6 @@ bool parseFile(nsjconf_t* nsjconf, const char* file) {
+ 		return false;
+ 	}
+ 
+-	SetLogHandler(LogHandler);
+ 	google::protobuf::io::FileInputStream input(fd);
+ 	input.SetCloseOnDelete(true);
+ 
diff --git a/srcpkgs/nsjail/template b/srcpkgs/nsjail/template
index 346348fdf17b..5c5d0a508f38 100644
--- a/srcpkgs/nsjail/template
+++ b/srcpkgs/nsjail/template
@@ -1,7 +1,7 @@
 # Template file for 'nsjail'
 pkgname=nsjail
-version=3.0
-revision=9
+version=3.3
+revision=1
 create_wrksrc=yes
 build_style=gnu-makefile
 hostmakedepends="bison flex pkg-config protobuf which"
@@ -11,9 +11,9 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="http://nsjail.com"
 distfiles="https://github.com/google/nsjail/archive/${version}.tar.gz
- https://github.com/google/kafel/archive/8e69b8efae415cde3debffbb1e379d9e7a16835a.tar.gz"
-checksum="cfa66d3ed136b2e221752287b95e544915e8a6760aa866f023b604d14a374919
- 4a6c9a1a70ed99bbed767adc106081b017a3090307ea88cc7e329b82daa1373b"
+ https://github.com/google/kafel/archive/1af0975af45ca4404f357b9a4e1636f53a01bfd3.tar.gz"
+checksum="9c247d0cba565b4e3f91cc76e827ddf7f3ad499f54ba611edd25d4d7be4890c3
+ e8c195a2a08daa70c7712adae3eaa01656b039dcc8cc1e5e8210006716761ad5"
 
 archs="aarch64* armv5tel* armv6l* armv7l* x86_64*"
 
@@ -28,7 +28,8 @@ post_extract() {
 }
 
 post_patch() {
-	sed -i -e 's/-Werror\b//g' -e 's/\b\(\(C\(XX\)\?\|LD\)FLAGS\s*+=\)/override \1/g' Makefile kafel/build/Makefile.mk kafel/src/Makefile
+	vsed -e 's/-Werror\b//g' -i Makefile kafel/build/Makefile.mk
+	vsed -e 's/\b\(\(C\(XX\)\?\|LD\)FLAGS\s*+=\)/override \1/g' -i Makefile kafel/build/Makefile.mk kafel/src/Makefile
 }
 
 do_install() {

From 150144b8c140b0bea857abbc7a56cae20c01741a Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 15/35] netdata: rebuild against protobuf-23.3_1

---
 srcpkgs/netdata/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 18dbe4394a4e..781120b3f275 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -1,7 +1,7 @@
 # Template file for 'netdata'
 pkgname=netdata
 version=1.37.1
-revision=1
+revision=2
 build_style=gnu-configure
 build_helper=qemu
 configure_args="--with-user=_netdata ac_cv_file_externaldeps_libbpf_libbpf_a=no

From b7ba676ab36a9cf79b0532c866143af99d5c6768 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 16/35] mumble: rebuild against protobuf-23.3_1

---
 srcpkgs/mumble/patches/absl.patch  | 20 ++++++++++++++++++++
 srcpkgs/mumble/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/mumble/patches/musl.patch  | 14 ++++++++++++++
 srcpkgs/mumble/template            |  2 +-
 4 files changed, 46 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/mumble/patches/absl.patch
 create mode 100644 srcpkgs/mumble/patches/cpp17.patch
 create mode 100644 srcpkgs/mumble/patches/musl.patch

diff --git a/srcpkgs/mumble/patches/absl.patch b/srcpkgs/mumble/patches/absl.patch
new file mode 100644
index 000000000000..b737fc40fdf9
--- /dev/null
+++ b/srcpkgs/mumble/patches/absl.patch
@@ -0,0 +1,20 @@
+--- a/src/murmur/CMakeLists.txt	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-07-14 17:23:13.145173297 +0200
+@@ -77,6 +77,7 @@
+ )
+ 
+ target_link_libraries(mumble-server PRIVATE shared Qt5::Sql)
++target_link_libraries(mumble-server PRIVATE shared absl_log_internal_message)
+ 
+ if(static)
+ 	# MariaDB and MySQL
+--- a/src/mumble/CMakeLists.txt	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-07-14 17:25:05.556023593 +0200
+@@ -472,6 +472,7 @@
+ 		Qt5::Sql
+ 		Qt5::Svg
+ 		Qt5::Widgets
++		absl_log_internal_message
+ )
+ 
+ if(static)
diff --git a/srcpkgs/mumble/patches/cpp17.patch b/srcpkgs/mumble/patches/cpp17.patch
new file mode 100644
index 000000000000..7cb9c9a93355
--- /dev/null
+++ b/srcpkgs/mumble/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- mumble-1.4.287/CMakeLists.txt	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-07-10 20:12:27.869019033 +0200
+@@ -35,7 +35,7 @@
+ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/3rdparty")
+ set(PLUGINS_DIR "${CMAKE_SOURCE_DIR}/plugins")
+ 
+-set(CMAKE_CXX_STANDARD 14)
++set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_OSX_DEPLOYMENT_TARGET 10.13)
+ 
+ list(APPEND CMAKE_MODULE_PATH
diff --git a/srcpkgs/mumble/patches/musl.patch b/srcpkgs/mumble/patches/musl.patch
new file mode 100644
index 000000000000..49d83a422b8e
--- /dev/null
+++ b/srcpkgs/mumble/patches/musl.patch
@@ -0,0 +1,14 @@
+Newer musl expands NULL to nullptr, which is not a bool.
+Either way, the check is always true with openssl 1.1+, so it can probably removed alltogether
+---
+--- mumble-1.4.287/src/SSL.cpp	2022-09-13 19:24:40.000000000 +0200
++++ -	2023-02-07 22:18:16.093759105 +0100
+@@ -33,7 +34,7 @@
+ 	// If we detect that no locking callback is configured, we
+ 	// have to set it up ourselves to allow multi-threaded use
+ 	// of OpenSSL.
+-	if (!CRYPTO_get_locking_callback()) {
++	if (CRYPTO_get_locking_callback() == NULL) {
+ 		SSLLocks::initialize();
+ 	}
+ }
diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 35c2728c74ce..5c30d4ae64b4 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.4.287
-revision=3
+revision=4
 build_style=cmake
 make_cmd=make
 configure_args="-Doverlay-xcompile=OFF -Dbundled-opus=OFF

From 9b69708b282d2614381aa0cf594953399ff11a7c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 17/35] mumble: rebuild against protobuf-23.3_1

---
 srcpkgs/mumble/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 5c30d4ae64b4..3dc669705365 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.4.287
-revision=4
+revision=5
 build_style=cmake
 make_cmd=make
 configure_args="-Doverlay-xcompile=OFF -Dbundled-opus=OFF

From ad96251c01edf7ce47c270107e134f226deb5f38 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 18/35] mozc: statically link against vendored prootbuf

protobuf 23+ links against abseil, which conflicts with the vendored
abseil version in mozc. The build system does not have a flag to use
system abseil.
---
 srcpkgs/mozc/template | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/mozc/template b/srcpkgs/mozc/template
index 3fdb986b3213..e7735cb57f4f 100644
--- a/srcpkgs/mozc/template
+++ b/srcpkgs/mozc/template
@@ -3,16 +3,17 @@ pkgname=mozc
 # src/data/version/mozc_version_template.bzl
 # revision is always 102, template always says 100 ;)
 version=2.28.4800.102
-revision=1
+revision=2
 _commit=056163a5fddbb261b258beb8444998e4882f0cc5
 _abseil=20211102.0
+_protobuf_commit=cc7b1b53234cd7a8f50d90ac3933b240dcf4cd97
 _gyp=0.1+20220404git9ecf45e
 _jpn_dict=e5b3425575734c323e1d947009dd74709437b684
 create_wrksrc=yes
 build_wrksrc=mozc/src
-hostmakedepends="gettext ninja pkg-config protobuf protobuf-devel
+hostmakedepends="gettext ninja pkg-config
  python3-six which qt5-qmake qt5-host-tools"
-makedepends="gtk+-devel ibus-devel libzinnia-devel protobuf-devel qt5-devel
+makedepends="gtk+-devel ibus-devel libzinnia-devel qt5-devel
  fcitx-devel libfcitx5-devel"
 depends="tegaki-zinnia-japanese>=0.3 mozc-base-${version}_${revision}"
 short_desc="Japanese IME (Open Source version of Google Japanese Input)"
@@ -22,11 +23,13 @@ homepage="https://github.com/google/mozc"
 distfiles="
  https://github.com/fcitx/mozc/archive/$_commit.tar.gz
  https://github.com/abseil/abseil-cpp/archive/refs/tags/$_abseil.tar.gz
+ https://github.com/protocolbuffers/protobuf/archive/$_protobuf_commit.tar.gz
  ${DEBIAN_SITE}/main/g/gyp/gyp_$_gyp.orig.tar.xz
  https://github.com/hiroyuki-komatsu/japanese-usage-dictionary/archive/$_jpn_dict.tar.gz
 "
 checksum="259d87bfd7535ad03bd554185677d7345a90166353a6db0b6a3606183ad2923d
  dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4
+ 863e27f6d24f40bce2bbfe5adcf365f2af5479ea917f254331ee60ce88f8c8a5
  0325006f012db66dfa27bf7bb048f3fe38f96e512ebe065930cbc70bcdc06bc9
  0b6efee0eebac2c1a8eeea333278aa40fcef7846bba9a379962c6e567e7e3dc1"
 
@@ -47,7 +50,8 @@ post_extract() {
 	# symlink "submodules" into place
 	for _src_dest in gyp \
 		abseil-cpp \
-		japanese-usage-dictionary:japanese_usage_dictionary
+		japanese-usage-dictionary:japanese_usage_dictionary \
+		protobuf
 	do
 		_src=${_src_dest%:*}
 		_dst=${_src_dest#*:}
@@ -61,7 +65,6 @@ do_configure() {
 	GYP_DEFINES="
 	 document_dir=/usr/share/licenses/${pkgname}
 	 ibus_mozc_path=/usr/libexec/ibus-engine-mozc
-	 use_libprotobuf=1
 	 use_libzinnia=1
 	 ${XBPS_TARGET_NO_ATOMIC8:+use_libatomic=1}
 	" python3 build_mozc.py gyp --target_platform=Linux

From 416522d45a0afbdc7a7775a685d1af8d87e405bc Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:57 +0200
Subject: [PATCH 19/35] mosh: rebuild against protobuf-23.3_1

---
 srcpkgs/mosh/patches/cpp17.patch | 14 ++++++++++++++
 srcpkgs/mosh/template            |  5 +++--
 2 files changed, 17 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/mosh/patches/cpp17.patch

diff --git a/srcpkgs/mosh/patches/cpp17.patch b/srcpkgs/mosh/patches/cpp17.patch
new file mode 100644
index 000000000000..5463adc2718b
--- /dev/null
+++ b/srcpkgs/mosh/patches/cpp17.patch
@@ -0,0 +1,14 @@
+--- a/configure.ac	2022-10-27 05:29:47.000000000 +0200
++++ -	2023-07-08 13:19:05.270079012 +0200
+@@ -22,9 +22,9 @@
+ # automake 1.12 seems to require this, but automake 1.11 doesn't recognize it
+ m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+ 
+-# Protobuf 3.6+ requires C++11.
++# Protobuf 3.6+ requires C++11., 4.2.2 with abseil requires C++17
+ AS_IF([pkg-config --atleast-version 3.6.0 protobuf],
+-  [AX_CXX_COMPILE_STDCXX([11])])
++  [AX_CXX_COMPILE_STDCXX([17])])
+ 
+ WARNING_CXXFLAGS=""
+ PICKY_CXXFLAGS=""
diff --git a/srcpkgs/mosh/template b/srcpkgs/mosh/template
index 173ba14bcd47..d252a0c29755 100644
--- a/srcpkgs/mosh/template
+++ b/srcpkgs/mosh/template
@@ -1,9 +1,9 @@
 # Template file for 'mosh'
 pkgname=mosh
 version=1.4.0
-revision=3
+revision=4
 build_style=gnu-configure
-hostmakedepends="perl pkg-config protobuf"
+hostmakedepends="perl pkg-config protobuf autoconf automake"
 makedepends="ncurses-devel protobuf-devel libutempter-devel openssl-devel"
 depends="perl-IO-Tty"
 short_desc="Mobile shell, remote terminal application that allows roaming"
@@ -16,4 +16,5 @@ checksum=872e4b134e5df29c8933dff12350785054d2fd2839b5ae6b5587b14db1465ddd
 pre_configure() {
 	# make local.test always succeed. It fails due to missing X server in chroot.
 	printf "%s\n" "#!/bin/sh" ":" > src/tests/local.test
+	autoreconf -fi
 }

From 3d53eeac3a2abfcb69ff010ca40ed6b531941523 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 20/35] libcompizconfig: rebuild against protobuf-23.3_1

---
 srcpkgs/libcompizconfig/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libcompizconfig/template b/srcpkgs/libcompizconfig/template
index 5b59eda97c78..3fb33698bfa6 100644
--- a/srcpkgs/libcompizconfig/template
+++ b/srcpkgs/libcompizconfig/template
@@ -1,7 +1,7 @@
 # Template file for 'libcompizconfig'
 pkgname=libcompizconfig
 version=0.8.18
-revision=10
+revision=11
 build_style=gnu-configure
 configure_args="--disable-static"
 hostmakedepends="automake intltool libtool pkg-config protobuf"

From 0d1f954cc5502fb01fc0a4854a9239ba11199149 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 21/35] libArcus: rebuild against protobuf-23.3_1

---
 srcpkgs/libArcus/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libArcus/template b/srcpkgs/libArcus/template
index d6fedecc5599..1cf1b866d650 100644
--- a/srcpkgs/libArcus/template
+++ b/srcpkgs/libArcus/template
@@ -1,7 +1,7 @@
 # Template file for 'libArcus'
 pkgname=libArcus
 version=4.13.1
-revision=4
+revision=5
 build_style=cmake
 configure_args="-DBUILD_EXAMPLES=OFF"
 hostmakedepends="protobuf python3-sip-devel"

From 16ef5acb0217613e3c8d501f43c6c6e6ece20f02 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 22/35] kismet: rebuild against protobuf-23.3_1

---
 srcpkgs/kismet/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/kismet/template b/srcpkgs/kismet/template
index 48a0fc5fa6f1..46cbf7b31811 100644
--- a/srcpkgs/kismet/template
+++ b/srcpkgs/kismet/template
@@ -1,7 +1,7 @@
 # Template file for 'kismet'
 pkgname=kismet
 version=2022.08.R1
-revision=2
+revision=3
 _realver="${version//./-}"
 build_style=gnu-configure
 configure_args="--disable-python-tools"

From db0f07cfaef44739887acd8242bf4602d1e731a6 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 23/35] cura-engine: rebuild against protobuf-23.3_1

---
 srcpkgs/cura-engine/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cura-engine/template b/srcpkgs/cura-engine/template
index 4f3118d30252..1f23ddace749 100644
--- a/srcpkgs/cura-engine/template
+++ b/srcpkgs/cura-engine/template
@@ -1,7 +1,7 @@
 # Template file for 'cura-engine'
 pkgname=cura-engine
 version=4.13.1
-revision=3
+revision=4
 build_style=cmake
 configure_args="-DCURA_ENGINE_VERSION=${version}"
 hostmakedepends="protobuf git"

From 6b76f50fdf9f5ac54de27a812fedb174270a6dbf Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:58 +0200
Subject: [PATCH 24/35] clementine: rebuild against protobuf-23.3_1

---
 srcpkgs/clementine/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/clementine/template b/srcpkgs/clementine/template
index acd098124529..a1cacbb73d8e 100644
--- a/srcpkgs/clementine/template
+++ b/srcpkgs/clementine/template
@@ -1,11 +1,11 @@
 # Template file for 'clementine'
 pkgname=clementine
 version=1.4.0rc1
-revision=10
+revision=11
 _fullver=${version}-873-g3471134d5
 build_style=cmake
 configure_args="-DUSE_SYSTEM_TAGLIB=ON -DBUILD_WERROR=OFF -DUSE_SYSTEM_PROJECTM=ON
- -DFORCE_GIT_REVISION=${_fullver}"
+ -DFORCE_GIT_REVISION=${_fullver} -DCMAKE_CXX_STANDARD=17"
 hostmakedepends="gettext sparsehash pkg-config qt5-qmake qt5-host-tools protobuf"
 makedepends="chromaprint-devel boost-devel gst-plugins-base1-devel
  qt5-devel glew-devel sqlite-devel protobuf-devel libplist-devel

From 6b645058712de43285a4857782bdabbbd7f74eda Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 25/35] bloaty: rebuild against protobuf-23.3_1

---
 srcpkgs/bloaty/patches/cpp17.patch         | 20 ++++++++
 srcpkgs/bloaty/patches/system-abseil.patch | 58 ++++++++++++++++++++++
 srcpkgs/bloaty/template                    |  2 +-
 3 files changed, 79 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/bloaty/patches/cpp17.patch
 create mode 100644 srcpkgs/bloaty/patches/system-abseil.patch

diff --git a/srcpkgs/bloaty/patches/cpp17.patch b/srcpkgs/bloaty/patches/cpp17.patch
new file mode 100644
index 000000000000..ca458dd79fb6
--- /dev/null
+++ b/srcpkgs/bloaty/patches/cpp17.patch
@@ -0,0 +1,20 @@
+--- bloaty-1.1/CMakeLists.txt	2020-05-24 06:43:55.000000000 +0200
++++ -	2023-07-08 12:51:24.115742363 +0200
+@@ -2,7 +2,7 @@
+ cmake_policy(SET CMP0048 NEW)
+ project (Bloaty VERSION 1.0)
+ project (Bloaty VERSION 1.1)
+-set(CMAKE_CXX_STANDARD 11)
++set(CMAKE_CXX_STANDARD 17)
+ 
+ # Options we define for users.
+ option(BLOATY_ENABLE_ASAN "Enable address sanitizer." OFF)
+@@ -93,7 +93,7 @@
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/src")
+ 
+ # Baseline build flags.
+-set(CMAKE_CXX_FLAGS "-std=c++11 -W -Wall -Wno-sign-compare")
++set(CMAKE_CXX_FLAGS "-W -Wall -Wno-sign-compare")
+ set(CMAKE_CXX_FLAGS_DEBUG "-g1")
+ set(CMAKE_CXX_FLAGS_RELEASE "-O2")
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g1")
diff --git a/srcpkgs/bloaty/patches/system-abseil.patch b/srcpkgs/bloaty/patches/system-abseil.patch
new file mode 100644
index 000000000000..799e10a3b540
--- /dev/null
+++ b/srcpkgs/bloaty/patches/system-abseil.patch
@@ -0,0 +1,58 @@
+--- bloaty-1.1/CMakeLists.txt	2020-05-24 06:43:55.000000000 +0200
++++ -	2023-07-08 13:07:06.559266321 +0200
+@@ -35,6 +35,12 @@
+   MESSAGE(STATUS "pkg-config not found, using bundled dependencies")
+ endif(${PKG_CONFIG_FOUND})
+ endif(UNIX)
++find_package(absl CONFIG)
++if(absl_FOUND)
++  MESSAGE(STATUS "System absl found, using")
++else()
++  MESSAGE(STATUS "System absl not found, using bundled version")
++endif()
+ 
+ # Set default build type.
+ if(NOT CMAKE_BUILD_TYPE)
+@@ -89,7 +95,6 @@
+ 
+ include_directories(.)
+ include_directories(src)
+-include_directories(third_party/abseil-cpp)
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/src")
+ 
+ # Baseline build flags.
+@@ -159,24 +164,6 @@
+     src/macho.cc
+     src/range_map.cc
+     src/webassembly.cc
+-    # Until Abseil has a proper CMake build system
+-    third_party/abseil-cpp/absl/base/internal/raw_logging.cc # Grrrr...
+-    third_party/abseil-cpp/absl/base/internal/throw_delegate.cc
+-    third_party/abseil-cpp/absl/numeric/int128.cc
+-    third_party/abseil-cpp/absl/strings/ascii.cc
+-    third_party/abseil-cpp/absl/strings/charconv.cc
+-    third_party/abseil-cpp/absl/strings/escaping.cc
+-    third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc
+-    third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc
+-    third_party/abseil-cpp/absl/strings/internal/memutil.cc
+-    third_party/abseil-cpp/absl/strings/internal/utf8.cc
+-    third_party/abseil-cpp/absl/strings/match.cc
+-    third_party/abseil-cpp/absl/strings/numbers.cc
+-    third_party/abseil-cpp/absl/strings/str_cat.cc
+-    third_party/abseil-cpp/absl/strings/string_view.cc
+-    third_party/abseil-cpp/absl/strings/str_split.cc
+-    third_party/abseil-cpp/absl/strings/substitute.cc
+-    third_party/abseil-cpp/absl/types/bad_optional_access.cc
+     # One source file, no special build system needed.
+     third_party/demumble/third_party/libcxxabi/cxa_demangle.cpp
+     )
+@@ -214,6 +201,9 @@
+   endif(${PROTOBUF_FOUND})
+ endif(UNIX)
+ 
++list(APPEND LIBBLOATY_LIBS absl::strings)
++list(APPEND LIBBLOATY_LIBS absl::optional)
++
+ if(DEFINED ENV{LIB_FUZZING_ENGINE})
+   message("LIB_FUZZING_ENGINE set, building fuzz_target instead of Bloaty")
+   add_executable(fuzz_target tests/fuzz_target.cc)
diff --git a/srcpkgs/bloaty/template b/srcpkgs/bloaty/template
index 226d2f30ffcd..2a79fb502f99 100644
--- a/srcpkgs/bloaty/template
+++ b/srcpkgs/bloaty/template
@@ -1,7 +1,7 @@
 # Template file for 'bloaty'
 pkgname=bloaty
 version=1.1
-revision=11
+revision=12
 build_style=cmake
 hostmakedepends="pkg-config protobuf"
 makedepends="capstone-devel protobuf-devel re2-devel zlib-devel"

From 1b416331327e81556762bcaa28bb000e0622b021 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 26/35] astroid: rebuild against protobuf-23.3_1

---
 srcpkgs/astroid/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/astroid/template            |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/astroid/patches/cpp17.patch

diff --git a/srcpkgs/astroid/patches/cpp17.patch b/srcpkgs/astroid/patches/cpp17.patch
new file mode 100644
index 000000000000..9ac9a9f952e6
--- /dev/null
+++ b/srcpkgs/astroid/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- astroid-0.16/CMakeLists.txt	2021-08-05 15:31:11.000000000 +0200
++++ -	2023-07-03 21:53:30.304595787 +0200
+@@ -145,7 +145,7 @@
+ # compile flags and options
+ #
+ 
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ 
+ include_directories (
+   ${GTKMM3_INCLUDE_DIRS}
diff --git a/srcpkgs/astroid/template b/srcpkgs/astroid/template
index 25d3da44e024..8fd1c032be2c 100644
--- a/srcpkgs/astroid/template
+++ b/srcpkgs/astroid/template
@@ -1,7 +1,7 @@
 # Template file for 'astroid'
 pkgname=astroid
 version=0.16
-revision=8
+revision=9
 build_style=cmake
 build_helper=gir
 hostmakedepends="pkg-config scdoc protobuf gobject-introspection"

From 7ea56da2e38abbe4d42f7724251cf6bf96e23215 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:02:59 +0200
Subject: [PATCH 27/35] android-tools: rebuild against protobuf-23.3_1

---
 .../android-tools/patches/protobuf-23.patch   | 31 +++++++++++++++++++
 srcpkgs/android-tools/template                |  2 +-
 2 files changed, 32 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/android-tools/patches/protobuf-23.patch

diff --git a/srcpkgs/android-tools/patches/protobuf-23.patch b/srcpkgs/android-tools/patches/protobuf-23.patch
new file mode 100644
index 000000000000..21012126ea9a
--- /dev/null
+++ b/srcpkgs/android-tools/patches/protobuf-23.patch
@@ -0,0 +1,31 @@
+--- android-tools-34.0.1.orig/vendor/extras/libjsonpb/parse/jsonpb.cpp  2023-06-28 23:15:15.414236253 +0200
++++ android-tools-34.0.1/vendor/extras/libjsonpb/parse/jsonpb.cpp       2023-06-28 23:34:21.672962973 +0200
+@@ -51,7 +51,7 @@
+ #if GOOGLE_PROTOBUF_VERSION < 3016000
+     return MakeError<std::string>(status.error_message().as_string());
+ #else
+-    return MakeError<std::string>(status.message().as_string());
++    return MakeError<std::string>(std::string(status.message()));
+ #endif
+   }
+   return ErrorOr<std::string>(std::move(json));
+@@ -68,7 +68,7 @@
+ #if GOOGLE_PROTOBUF_VERSION < 3016000
+     return MakeError<std::monostate>(status.error_message().as_string());
+ #else
+-    return MakeError<std::monostate>(status.message().as_string());
++    return MakeError<std::monostate>(std::string(status.message()));
+ #endif
+   }
+   if (!message->ParseFromString(binary)) {
+--- a/vendor/CMakeLists.partition.txt	2023-03-03 17:18:50.000000000 +0100
++++ -	2023-07-10 23:06:19.290718502 +0200
+@@ -20,7 +20,7 @@
+ 
+ add_library(libjsonpbparse STATIC
+ 	extras/libjsonpb/parse/jsonpb.cpp)
+-target_link_libraries(libjsonpbparse PRIVATE libbase)
++target_link_libraries(libjsonpbparse PRIVATE libbase absl_status)
+ target_include_directories(libjsonpbparse PUBLIC
+ 	extras/libjsonpb/parse/include)
+ 
diff --git a/srcpkgs/android-tools/template b/srcpkgs/android-tools/template
index 329674482b69..b813474eace0 100644
--- a/srcpkgs/android-tools/template
+++ b/srcpkgs/android-tools/template
@@ -1,7 +1,7 @@
 # Template file for 'android-tools'
 pkgname=android-tools
 version=34.0.1
-revision=1
+revision=2
 archs="armv* aarch64* x86_64* i686* ppc64le*"
 build_style=cmake
 hostmakedepends="perl go protobuf pkg-config"

From 8887bdc80eac14b84c0b4835eb6fc9720b52193a Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Tue, 27 Jun 2023 12:06:25 +0200
Subject: [PATCH 28/35] justbuild: rebuild against grpc-1.56.0_1

---
 srcpkgs/justbuild/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/justbuild/template b/srcpkgs/justbuild/template
index ee36f6dae575..f933611d1283 100644
--- a/srcpkgs/justbuild/template
+++ b/srcpkgs/justbuild/template
@@ -1,7 +1,7 @@
 # Template file for 'justbuild'
 pkgname=justbuild
 version=1.1.2
-revision=2
+revision=3
 create_wrksrc=yes
 hostmakedepends="jo pandoc pkg-config python3 tar unzip wget"
 makedepends="abseil-cpp-devel c-ares-devel catch2 fmt-devel grpc-devel json-c++

From 86a8faecb428e0850e0912f4e6d26444147debf3 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Wed, 28 Jun 2023 11:07:13 +0200
Subject: [PATCH 29/35] sysdig: update to 0.31.5.

---
 .../sysdig/files/libsinsp-absl-protobuf.patch |  11 +
 srcpkgs/sysdig/files/libsinsp-zstd.patch      |  22 +
 ...d9aab87801281e22898242e24e0bc63873b2.patch | 557 ++++++++++++++++++
 .../falcosecurity-libs-nodownload.patch       |  28 +
 srcpkgs/sysdig/template                       |  37 +-
 5 files changed, 639 insertions(+), 16 deletions(-)
 create mode 100644 srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch
 create mode 100644 srcpkgs/sysdig/files/libsinsp-zstd.patch
 create mode 100644 srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
 create mode 100644 srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch

diff --git a/srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch b/srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch
new file mode 100644
index 000000000000..387be65954e6
--- /dev/null
+++ b/srcpkgs/sysdig/files/libsinsp-absl-protobuf.patch
@@ -0,0 +1,11 @@
+--- a/userspace/libsinsp/CMakeLists.txt	2023-06-05 10:25:32.000000000 +0200
++++ -	2023-07-11 09:03:42.496439385 +0200
+@@ -289,7 +289,7 @@
+ 	endif()
+ endif() # NOT WIN32
+ 
+-
++LIST(APPEND SINSP_LIBRARIES absl_log_internal_message absl_log_internal_nullguard)
+ target_link_libraries(sinsp ${SINSP_LIBRARIES})
+ 
+ if(APPLE)
diff --git a/srcpkgs/sysdig/files/libsinsp-zstd.patch b/srcpkgs/sysdig/files/libsinsp-zstd.patch
new file mode 100644
index 000000000000..e99e4f7c1207
--- /dev/null
+++ b/srcpkgs/sysdig/files/libsinsp-zstd.patch
@@ -0,0 +1,22 @@
+diff --git a/userspace/libsinsp/CMakeLists.txt b/userspace/libsinsp/CMakeLists.txt
+index 18e59b1..b23e890 100644
+--- a/userspace/libsinsp/CMakeLists.txt
++++ b/userspace/libsinsp/CMakeLists.txt
+@@ -38,6 +38,7 @@ include(ExternalProject)
+ 
+ if(NOT WIN32 AND NOT APPLE)
+ 	include(b64)
++	find_library(ZSTD_LIB NAMES zstd)
+ endif()
+ 
+ include(jsoncpp)
+@@ -246,7 +247,8 @@ if(NOT WIN32)
+ 				"${PROTOBUF_LIB}"
+ 				"${CARES_LIB}"
+ 				"${JQ_LIB}"
+-				"${B64_LIB}")
++				"${B64_LIB}"
++				"${ZSTD_LIB}")
+ 
+ 			if(NOT MUSL_OPTIMIZED_BUILD)
+ 				list(APPEND SINSP_LIBRARIES
diff --git a/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch b/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
new file mode 100644
index 000000000000..54c2ed8d0d98
--- /dev/null
+++ b/srcpkgs/sysdig/patches/35ded9aab87801281e22898242e24e0bc63873b2.patch
@@ -0,0 +1,557 @@
+From 3d22309a7317d500f75d053af6f9e5b5b5728b40 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 09:56:04 +0000
+Subject: [PATCH 1/6] update(cmake): bump driver to 5.0.0+driver
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ cmake/modules/driver.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/driver.cmake b/cmake/modules/driver.cmake
+index bee1926d3a..7fd35d7f99 100644
+--- a/cmake/modules/driver.cmake
++++ b/cmake/modules/driver.cmake
+@@ -31,8 +31,8 @@ else()
+   # In case you want to test against another driver version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DDRIVER_VERSION=dev ..`
+   if(NOT DRIVER_VERSION)
+-    set(DRIVER_VERSION "4.0.1+driver")
+-    set(DRIVER_CHECKSUM "SHA256=424d647aa6b6fa45b6701c4bbc9293c161ed00a08254d83eea419c0a736f280d")
++    set(DRIVER_VERSION "5.0.0+driver")
++    set(DRIVER_CHECKSUM "SHA256=c988ca7ac7d174f62d1bfbaaca49efd117f7b329f474d1b46b643635b2e35083")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+
+From 847e602404dcee85f06dde5a1d8ad0c740c49c98 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 09:56:08 +0000
+Subject: [PATCH 2/6] update(cmake): bump libs to 0.11.0-rc1
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ cmake/modules/falcosecurity-libs.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index b345c057ad..f30233b9e3 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -32,8 +32,8 @@ else()
+   # In case you want to test against another falcosecurity/libs version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DFALCOSECURITY_LIBS_VERSION=dev ..`
+   if(NOT FALCOSECURITY_LIBS_VERSION)
+-    set(FALCOSECURITY_LIBS_VERSION "0.10.5")
+-    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=2a4b37c08bec4ba81326314831f341385aff267062e8d4483437958689662936")
++    set(FALCOSECURITY_LIBS_VERSION "0.11.0-rc1")
++    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=bb6e57f66ae85dcda6e695226cd14082d9a1215902909cdde5b83f7abef44d8f")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+
+From 1d1dbaf06265d8eefd4038e8474f71f7958ec840 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 10:43:27 +0000
+Subject: [PATCH 3/6] fix(cmake): solve c++17 compilation issues
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ CMakeLists.txt                         |  3 +++
+ cmake/modules/falcosecurity-libs.cmake | 10 +++++-----
+ 2 files changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0309d66633..6d28c6c67d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -146,6 +146,9 @@ if(NOT DEFINED SYSDIG_COMPONENT_NAME)
+     set(SYSDIG_COMPONENT_NAME "${CMAKE_PROJECT_NAME}")
+ endif()
+ 
++set(CMAKE_CXX_STANDARD 17)
++set(CMAKE_CXX_EXTENSIONS OFF)
++
+ include(falcosecurity-libs)
+ include(yaml-cpp)
+ include(nlohmann-json)
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index f30233b9e3..fe5dacd7ad 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -94,12 +94,12 @@ else()
+ endif()
+ 
+ include(CheckCXXCompilerFlag)
+-CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX14)
+-if(CREATE_TEST_TARGETS AND NOT WIN32 AND COMPILER_SUPPORTS_CXX14)
+-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
++CHECK_CXX_COMPILER_FLAG("-std=c++17" COMPILER_SUPPORTS_CXX17)
++if(CREATE_TEST_TARGETS AND NOT WIN32 AND COMPILER_SUPPORTS_CXX17)
++	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ 	include(gtest)
+-elseif(CREATE_TEST_TARGETS AND NOT COMPILER_SUPPORTS_CXX14)
+-	message(FATAL_ERROR "Your compiler doesn't support c++14: cannot include gtest and create test targets.")
++elseif(CREATE_TEST_TARGETS AND NOT COMPILER_SUPPORTS_CXX17)
++	message(FATAL_ERROR "Your compiler doesn't support c++17: cannot include gtest and create test targets.")
+ endif()
+ 
+ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
+
+From d5fcbad2d5ea63e1439ab7174a5cfd9a7a2e1545 Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 10:44:05 +0000
+Subject: [PATCH 4/6] update(userspace): sync sysdig and csysdig with latest
+ libs
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ userspace/sysdig/csysdig.cpp                |  6 +--
+ userspace/sysdig/sysdig.cpp                 |  9 +---
+ userspace/sysdig/utils/plugin_utils.cpp     | 37 ++++++++++-----
+ userspace/sysdig/utils/sinsp_opener.cpp     | 18 ++++----
+ userspace/sysdig/utils/supported_events.cpp | 50 +++++++++++----------
+ userspace/sysdig/utils/supported_fields.cpp | 15 +++----
+ 6 files changed, 70 insertions(+), 65 deletions(-)
+
+diff --git a/userspace/sysdig/csysdig.cpp b/userspace/sysdig/csysdig.cpp
+index 9419882341..edd8129a0e 100644
+--- a/userspace/sysdig/csysdig.cpp
++++ b/userspace/sysdig/csysdig.cpp
+@@ -39,11 +39,11 @@ limitations under the License.
+ #include "chisel.h"
+ #include "chisel_utils.h"
+ #endif
+-#include "fields_info.h"
+ #include "chisel_table.h"
+ #include "utils.h"
+ #include "utils/plugin_utils.h"
+ #include "utils/sinsp_opener.h"
++#include "utils/supported_fields.h"
+ 
+ #ifdef _WIN32
+ #include "win32/getopt.h"
+@@ -704,8 +704,8 @@ sysdig_init_res csysdig_init(int argc, char **argv)
+ 		//
+ 		if(list_flds)
+ 		{
+-			list_fields(false, false);
+-
++			// todo(jasondellaluce): support source selection, verbosity, markdown
++			print_supported_fields(inspector, plugins, "", true, false);
+ 			res.m_res = EXIT_SUCCESS;
+ 			goto exit;
+ 		}
+diff --git a/userspace/sysdig/sysdig.cpp b/userspace/sysdig/sysdig.cpp
+index 40f2b39ef9..a978070d73 100644
+--- a/userspace/sysdig/sysdig.cpp
++++ b/userspace/sysdig/sysdig.cpp
+@@ -43,7 +43,6 @@ limitations under the License.
+ #include "chisel_utils.h"
+ #include "chisel_fields_info.h"
+ #endif
+-#include "fields_info.h"
+ #include "utils.h"
+ #include "plugin.h"
+ #include "plugin_manager.h"
+@@ -455,8 +454,6 @@ void print_summary_table(sinsp* inspector,
+ 						 std::vector<summary_table_entry> &summary_table,
+ 						 uint32_t nentries)
+ {
+-	sinsp_evttables* einfo = inspector->get_event_info_tables();
+-
+ 	std::cout << "----------------------\n";
+ 	std::string tstr = std::string("Event");
+ 	tstr.resize(16, ' ');
+@@ -478,7 +475,7 @@ void print_summary_table(sinsp* inspector,
+ 
+ 		if(e.m_is_unsupported_syscall)
+ 		{
+-			tstr = einfo->m_syscall_info_table[e.m_id / 2].name;
++			tstr = scap_get_ppm_sc_name((ppm_sc_code) (e.m_id / 2));
+ 			tstr.resize(16, ' ');
+ 
+ 			printf("%s%s%" PRIu64 "\n",
+@@ -488,7 +485,7 @@ void print_summary_table(sinsp* inspector,
+ 		}
+ 		else
+ 		{
+-			tstr = einfo->m_event_info[e.m_id].name;
++			tstr = libsinsp::events::info((ppm_event_code) e.m_id)->name;
+ 			tstr.resize(16, ' ');
+ 
+ 			printf("%s%s%" PRIu64 "\n",
+@@ -1862,8 +1859,6 @@ sysdig_init_res sysdig_init(int argc, char **argv)
+ 					res.m_res = EXIT_FAILURE;
+ 					goto exit;
+ 				}
+-
+-				inspector->filter_proc_table_when_saving(true);
+ 			}
+ 			else
+ 			{
+diff --git a/userspace/sysdig/utils/plugin_utils.cpp b/userspace/sysdig/utils/plugin_utils.cpp
+index ad69543b3e..b99de98b66 100644
+--- a/userspace/sysdig/utils/plugin_utils.cpp
++++ b/userspace/sysdig/utils/plugin_utils.cpp
+@@ -146,6 +146,7 @@ void plugin_utils::plugin_entry::init(sinsp *inspector)
+     }
+     if (plugin->caps() & CAP_EXTRACTION)
+     {
++        // todo(jasondellaluce): manage field name conflicts
+         g_filterlist.add_filter_check(sinsp_plugin::new_filtercheck(plugin));
+     }
+     inited = true;
+@@ -185,13 +186,30 @@ void plugin_utils::plugin_entry::print_info(sinsp* inspector, std::ostringstream
+     os << "Capabilities: " << std::endl;
+     if(plugin->caps() & CAP_SOURCING)
+     {
+-        os << "  - Event Sourcing (ID=" << plugin->id();
+-        os << ", source='" << plugin->event_source() << "')" << std::endl;
++        os << "  - Event Sourcing";
++        if (plugin->id() != 0)
++        {
++            os << " (ID=" << plugin->id();
++            os << ", source='" << plugin->event_source() << "')";
++        }
++        else
++        {
++            os << " (system events)";
++        }
++        os << std::endl;
+     }
+     if(plugin->caps() & CAP_EXTRACTION)
+     {
+         os << "  - Field Extraction" << std::endl;
+     }
++    if(plugin->caps() & CAP_PARSING)
++    {
++        os << "  - Event Parsing" << std::endl;
++    }
++    if(plugin->caps() & CAP_ASYNC)
++    {
++        os << "  - Async Events" << std::endl;
++    }
+ }
+ 
+ void plugin_utils::add_dir(std::string dirname, bool front_add)
+@@ -609,7 +627,7 @@ std::vector<std::string> plugin_utils::get_event_sources(sinsp *inspector)
+         // the plugin, in case it was not registered already
+         pl.get_plugin(inspector);
+     }
+-    return inspector->get_plugin_manager()->sources();
++    return inspector->event_sources();
+ }
+ 
+ std::vector<std::unique_ptr<sinsp_filter_check>> plugin_utils::get_filterchecks(sinsp *inspector, const std::string& source)
+@@ -617,16 +635,13 @@ std::vector<std::unique_ptr<sinsp_filter_check>> plugin_utils::get_filterchecks(
+     std::vector<std::unique_ptr<sinsp_filter_check>> list;
+     list.push_back(std::unique_ptr<sinsp_filter_check>(inspector->new_generic_filtercheck()));
+ 
+-    // todo(jasondellaluce): remove this once we support extracting plugin fields from syscalls
+-    if (source != s_syscall_source)
++    for (auto &pl : m_plugins)
+     {
+-        for (auto &pl : m_plugins)
++        auto plugin = pl.get_plugin(inspector);
++        if (plugin->caps() & CAP_EXTRACTION
++            && sinsp_plugin::is_source_compatible(plugin->extract_event_sources(), source))
+         {
+-            auto plugin = pl.get_plugin(inspector);
+-            if (plugin->caps() & CAP_EXTRACTION && plugin->is_source_compatible(source))
+-            {
+-                list.push_back(std::unique_ptr<sinsp_filter_check>(sinsp_plugin::new_filtercheck(plugin)));
+-            }
++            list.push_back(std::unique_ptr<sinsp_filter_check>(sinsp_plugin::new_filtercheck(plugin)));
+         }
+     }
+     return list;
+diff --git a/userspace/sysdig/utils/sinsp_opener.cpp b/userspace/sysdig/utils/sinsp_opener.cpp
+index eafdb631d3..7315b99c7d 100644
+--- a/userspace/sysdig/utils/sinsp_opener.cpp
++++ b/userspace/sysdig/utils/sinsp_opener.cpp
+@@ -50,14 +50,12 @@ void sinsp_opener::open(sinsp* inspector) const
+ 
+ #if defined(HAS_CAPTURE)
+     /* Populate syscalls of interest */
+-    std::unordered_set<uint32_t> sc_of_interest = inspector->get_all_ppm_sc();
++    auto sc_of_interest = libsinsp::events::all_sc_set();
+ 
+-    /* Populate tracepoints of interest */
+-    std::unordered_set<uint32_t> tp_of_interest = inspector->get_all_tp();
+     if(!options.page_faults)
+     {
+-        tp_of_interest.erase(PAGE_FAULT_USER);
+-        tp_of_interest.erase(PAGE_FAULT_KERN);
++        sc_of_interest.remove(ppm_sc_code::PPM_SC_PAGE_FAULT_USER);
++        sc_of_interest.remove(ppm_sc_code::PPM_SC_PAGE_FAULT_KERNEL);
+     }
+ 
+     if(udig.enabled)
+@@ -77,7 +75,7 @@ void sinsp_opener::open(sinsp* inspector) const
+ #ifdef HAS_MODERN_BPF
+ 		if(bpf.modern)
+ 		{
+-			inspector->open_modern_bpf(DEFAULT_DRIVER_BUFFER_BYTES_DIM, bpf.cpus_for_each_syscall_buffer, true, sc_of_interest, tp_of_interest);
++			inspector->open_modern_bpf(DEFAULT_DRIVER_BUFFER_BYTES_DIM, bpf.cpus_for_each_syscall_buffer, true, sc_of_interest);
+ 			return;
+ 		}
+ #endif
+@@ -95,7 +93,7 @@ void sinsp_opener::open(sinsp* inspector) const
+ 
+         try
+         {
+-            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+         }
+         catch(const sinsp_exception& e)
+         {
+@@ -103,7 +101,7 @@ void sinsp_opener::open(sinsp* inspector) const
+             {
+                 fprintf(stderr, "Unable to load the BPF probe\n");
+             }
+-            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++            inspector->open_bpf(probe, DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+         }
+ 
+         // Enable gathering the CPU from the kernel module
+@@ -114,7 +112,7 @@ void sinsp_opener::open(sinsp* inspector) const
+     // default to kernel module if no other option is specified
+     try
+     {
+-        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+     }
+     catch(const sinsp_exception& e)
+     {
+@@ -124,7 +122,7 @@ void sinsp_opener::open(sinsp* inspector) const
+         {
+             fprintf(stderr, "Unable to load the driver\n");
+         }
+-        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest, tp_of_interest);
++        inspector->open_kmod(DEFAULT_DRIVER_BUFFER_BYTES_DIM, sc_of_interest);
+     }
+ 
+     // Enable gathering the CPU from the kernel module
+diff --git a/userspace/sysdig/utils/supported_events.cpp b/userspace/sysdig/utils/supported_events.cpp
+index 1442911209..7f0d630011 100644
+--- a/userspace/sysdig/utils/supported_events.cpp
++++ b/userspace/sysdig/utils/supported_events.cpp
+@@ -27,25 +27,25 @@ struct event_entry
+ {
+     bool is_enter;
+     std::string name;
+-    struct ppm_event_info info;
++    const ppm_event_info* info;
+ };
+ 
+-static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include_generics)
++static std::vector<event_entry> get_event_entries(bool include_generics)
+ {
+     event_entry entry;
+     std::vector<event_entry> events;
+-    const struct ppm_event_info* etable = inspector->get_event_info_tables()->m_event_info;
+ 
+     // skip generic events
+-    for(uint32_t evt = PPME_GENERIC_X + 1; evt < PPM_EVENT_MAX; evt++)
++    for(const auto& evt : libsinsp::events::all_event_set())
+     {
+-        if (!sinsp::is_old_version_event(evt)
+-                && !sinsp::is_unused_event(evt)
+-                && !sinsp::is_unknown_event(evt))
++        if (!libsinsp::events::is_generic(evt)
++            && !libsinsp::events::is_old_version_event(evt)
++            && !libsinsp::events::is_unused_event(evt)
++            && !libsinsp::events::is_unknown_event(evt))
+         {
+             entry.is_enter = PPME_IS_ENTER(evt);
+-            entry.name = etable[evt].name;
+-            entry.info = etable[evt];
++            entry.info = libsinsp::events::info(evt);
++			entry.name = entry.info->name;
+             events.push_back(entry);
+         }
+     }
+@@ -53,17 +53,19 @@ static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include
+     if (include_generics)
+     {
+         // append generic events
+-        const auto generic_syscalls = inspector->get_events_names({PPME_GENERIC_E});
+-        for (const auto& name : generic_syscalls)
+-        {
+-            for(uint32_t evt = PPME_GENERIC_E; evt <= PPME_GENERIC_X; evt++)
+-            {
+-                entry.is_enter = PPME_IS_ENTER(evt);
+-                entry.name = name;
+-                entry.info = etable[evt];
+-                events.push_back(entry);
+-            }
+-        }
++		const auto names = libsinsp::events::event_set_to_names({ppm_event_code::PPME_GENERIC_E});
++		for (const auto& name : names)
++		{
++			entry.is_enter = PPME_IS_ENTER(ppm_event_code::PPME_GENERIC_E);
++			entry.info = libsinsp::events::info(ppm_event_code::PPME_GENERIC_E);
++			entry.name = name;
++			events.push_back(entry);
++
++			entry.is_enter = PPME_IS_ENTER(ppm_event_code::PPME_GENERIC_X);
++			entry.info = libsinsp::events::info(ppm_event_code::PPME_GENERIC_X);
++			entry.name = name;
++			events.push_back(entry);
++		}
+     }
+ 
+     return events;
+@@ -71,7 +73,7 @@ static std::vector<event_entry> get_event_entries(sinsp* inspector, bool include
+ 
+ void print_supported_events(sinsp* inspector, bool markdown)
+ {
+-    const auto events = get_event_entries(inspector, true);
++    const auto events = get_event_entries(true);
+ 
+     if(markdown)
+     {
+@@ -91,15 +93,15 @@ void print_supported_events(sinsp* inspector, bool markdown)
+             printf("%c %s(", dir, e.name.c_str());
+         }
+ 
+-        for(uint32_t k = 0; k < e.info.nparams; k++)
++        for(uint32_t k = 0; k < e.info->nparams; k++)
+         {
+             if(k != 0)
+             {
+                 printf(", ");
+             }
+ 
+-            printf("%s %s", param_type_to_string(e.info.params[k].type),
+-                e.info.params[k].name);
++            printf("%s %s", param_type_to_string(e.info->params[k].type),
++                e.info->params[k].name);
+         }
+         printf(")\n");
+     }
+diff --git a/userspace/sysdig/utils/supported_fields.cpp b/userspace/sysdig/utils/supported_fields.cpp
+index 6e2575b030..3127fb7220 100644
+--- a/userspace/sysdig/utils/supported_fields.cpp
++++ b/userspace/sysdig/utils/supported_fields.cpp
+@@ -35,11 +35,9 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+ {
+     std::vector<fields_info> field_infos;
+     std::vector<std::unique_ptr<const sinsp_filter_check>> filtecheck_lists; // only used to retain memory until we finish
+-    std::vector<std::string> sources = { s_syscall_source };
++    std::vector<std::string> sources = plugins.get_event_sources(inspector);
+ 
+     // add event sources defined by the loaded plugins
+-    const auto& plugin_sources = plugins.get_event_sources(inspector);
+-    sources.insert(sources.end(), plugin_sources.begin(), plugin_sources.end());
+     if (!source.empty())
+     {
+         bool found = false;
+@@ -66,7 +64,6 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+         }
+ 
+         std::vector<const filter_check_info*> filterchecks;
+-        // todo(jasondellaluce): change this once we support extracting plugin fields from syscalls
+         if (src == s_syscall_source)
+         {
+             std::vector<const filter_check_info*> all_checks;
+@@ -81,13 +78,11 @@ void print_supported_fields(sinsp* inspector, plugin_utils& plugins, const std::
+                 }
+             }
+         }
+-        else
++
++        for (auto& check: plugins.get_filterchecks(inspector, src))
+         {
+-            for (auto& check: plugins.get_filterchecks(inspector, src))
+-            {
+-                filterchecks.push_back(check->get_fields());
+-                filtecheck_lists.push_back(std::move(check));
+-            }
++            filterchecks.push_back(check->get_fields());
++            filtecheck_lists.push_back(std::move(check));
+         }
+         
+         const auto classes = sinsp_filter_factory::check_infos_to_fieldclass_infos(filterchecks);
+
+From c8b0d055aec4d2378b7934dd9436fd4500d1021e Mon Sep 17 00:00:00 2001
+From: Jason Dellaluce <jasondellaluce@gmail.com>
+Date: Mon, 22 May 2023 14:15:23 +0000
+Subject: [PATCH 5/6] fix: solve compilation issues on windows
+
+Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
+---
+ CMakeLists.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6d28c6c67d..5afd967f27 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -148,6 +148,9 @@ endif()
+ 
+ set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_CXX_EXTENSIONS OFF)
++if(MSVC OR WIN32)
++	add_compile_definitions(_HAS_STD_BYTE=0)
++endif()
+ 
+ include(falcosecurity-libs)
+ include(yaml-cpp)
+
+From 954e6fc6238f21d4870a491395d68a7dd3062aa9 Mon Sep 17 00:00:00 2001
+From: Roberto Scolaro <roberto.scolaro21@gmail.com>
+Date: Mon, 5 Jun 2023 10:34:03 +0000
+Subject: [PATCH 6/6] update(cmake): bump libs 0.11.0 + driver 5.0.1
+
+Signed-off-by: Roberto Scolaro <roberto.scolaro21@gmail.com>
+---
+ CMakeLists.txt                         | 2 +-
+ cmake/modules/driver.cmake             | 4 ++--
+ cmake/modules/falcosecurity-libs.cmake | 4 ++--
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5afd967f27..f3f23b5e9a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -90,7 +90,7 @@ if(NOT WIN32)
+ 	endif()
+ 
+ 	set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_COMMON_FLAGS}")
+-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++0x")
++	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++17")
+ 
+ 	set(CMAKE_C_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+ 	set(CMAKE_CXX_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+diff --git a/cmake/modules/driver.cmake b/cmake/modules/driver.cmake
+index 7fd35d7f99..ca1e56718c 100644
+--- a/cmake/modules/driver.cmake
++++ b/cmake/modules/driver.cmake
+@@ -31,8 +31,8 @@ else()
+   # In case you want to test against another driver version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DDRIVER_VERSION=dev ..`
+   if(NOT DRIVER_VERSION)
+-    set(DRIVER_VERSION "5.0.0+driver")
+-    set(DRIVER_CHECKSUM "SHA256=c988ca7ac7d174f62d1bfbaaca49efd117f7b329f474d1b46b643635b2e35083")
++    set(DRIVER_VERSION "5.0.1+driver")
++    set(DRIVER_CHECKSUM "SHA256=8b197b916b6419dac8fb41807aa05d822164c7bfd2c3eef66d20d060a05a485a")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
+diff --git a/cmake/modules/falcosecurity-libs.cmake b/cmake/modules/falcosecurity-libs.cmake
+index fe5dacd7ad..c626d7944e 100644
+--- a/cmake/modules/falcosecurity-libs.cmake
++++ b/cmake/modules/falcosecurity-libs.cmake
+@@ -32,8 +32,8 @@ else()
+   # In case you want to test against another falcosecurity/libs version (or branch, or commit) just pass the variable -
+   # ie., `cmake -DFALCOSECURITY_LIBS_VERSION=dev ..`
+   if(NOT FALCOSECURITY_LIBS_VERSION)
+-    set(FALCOSECURITY_LIBS_VERSION "0.11.0-rc1")
+-    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=bb6e57f66ae85dcda6e695226cd14082d9a1215902909cdde5b83f7abef44d8f")
++    set(FALCOSECURITY_LIBS_VERSION "0.11.0")
++    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=90414d00591986e94f2c49e7d65eef5c2dedee266354dd3db8234bb3b06c86fa")
+   endif()
+ 
+   # cd /path/to/build && cmake /path/to/source
diff --git a/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch b/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch
new file mode 100644
index 000000000000..467cffacba2f
--- /dev/null
+++ b/srcpkgs/sysdig/patches/falcosecurity-libs-nodownload.patch
@@ -0,0 +1,28 @@
+diff --git a/cmake/modules/driver-repo/CMakeLists.txt b/cmake/modules/driver-repo/CMakeLists.txt
+index 479611a..5238121 100644
+--- a/cmake/modules/driver-repo/CMakeLists.txt
++++ b/cmake/modules/driver-repo/CMakeLists.txt
+@@ -25,8 +25,7 @@ message(STATUS "Driver version: ${DRIVER_VERSION}")
+ 
+ ExternalProject_Add(
+   driver
+-  URL "https://github.com/falcosecurity/libs/archive/${DRIVER_VERSION}.tar.gz"
+-  URL_HASH "${DRIVER_CHECKSUM}"
++  URL "${CMAKE_CURRENT_SOURCE_DIR}/../../../../libs-${DRIVER_VERSION}"
+   CONFIGURE_COMMAND ""
+   BUILD_COMMAND ""
+   INSTALL_COMMAND ""
+diff --git a/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt b/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
+index 2059547..74e78e2 100644
+--- a/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
++++ b/cmake/modules/falcosecurity-libs-repo/CMakeLists.txt
+@@ -25,8 +25,7 @@ message(STATUS "Libs version: ${FALCOSECURITY_LIBS_VERSION}")
+ 
+ ExternalProject_Add(
+   falcosecurity-libs
+-  URL "https://github.com/falcosecurity/libs/archive/${FALCOSECURITY_LIBS_VERSION}.tar.gz"
+-  URL_HASH "${FALCOSECURITY_LIBS_CHECKSUM}"
++  URL "${CMAKE_CURRENT_SOURCE_DIR}/../../../../libs-${FALCOSECURITY_LIBS_VERSION}"
+   CONFIGURE_COMMAND ""
+   BUILD_COMMAND ""
+   INSTALL_COMMAND ""
diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index 4a04e762468c..f8537a0f8bd3 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,43 +1,48 @@
 # Template file for 'sysdig'
 pkgname=sysdig
-version=0.28.0
-revision=8
+version=0.31.5
+revision=1
+_falcover=0.11.0
 build_style=cmake
+build_wrksrc="sysdig-${version}"
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF
  -DLUA_INCLUDE_DIR=${XBPS_CROSS_BASE}/usr/include/luajit-2.1
- -DLUA_LIBRARY=/usr/lib/libluajit-5.1.so -DCREATE_TEST_TARGETS=OFF"
-make_cmd=make
+ -DLUA_LIBRARY=/usr/lib/libluajit-5.1.so -DCREATE_TEST_TARGETS=OFF
+ -DUSE_BUNDLED_TBB=OFF -DBUILD_LIBSCAP_EXAMPLES=OFF
+ -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_EXTENSIONS=OFF
+ -DDRIVER_VERSION=${_falcover}"
 hostmakedepends="wget pkg-config protobuf"
-makedepends="LuaJIT-devel c-ares-devel elfutils-devel grpc-devel jsoncpp-devel
+makedepends="LuaJIT-devel c-ares-devel elfutils-devel grpc-devel
  libcurl-devel libprotoc-devel openssl-devel ncurses-devel protobuf-devel
- tbb-devel zlib-devel"
+ tbb-devel zlib-devel yaml-cpp-devel json-c++"
 depends="dkms"
 short_desc="Open source system-level exploration and troubleshooting tool"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0, MIT, GPL-2.0-only"
 homepage="http://www.sysdig.org/"
 changelog="https://github.com/draios/sysdig/releases"
-distfiles="https://github.com/draios/${pkgname}/archive/${version}.tar.gz"
-checksum=817e595d501acf3fe11dc659a154aadbba848dd87ae801f5bf34a42e84979f37
-disable_parallel_build=yes
-dkms_modules="scap 2160111cd088aea9ae2235d3385ecb0b1ab6623c"
+distfiles="https://github.com/draios/sysdig/archive/${version}.tar.gz
+ https://github.com/falcosecurity/libs/archive/${_falcover}.tar.gz"
+checksum="9af98cae7c38273f7429ba0df628c9745bd92c949f444e180b9dd800af14c6dd
+ 90414d00591986e94f2c49e7d65eef5c2dedee266354dd3db8234bb3b06c86fa"
+dkms_modules="scap ${_falcover}"
 nocross=yes
+patch_args="-Np1 --directory=${build_wrksrc}"
 
 case "$XBPS_TARGET_MACHINE" in
-	*-musl) configure_args+=" -DMUSL_OPTIMIZED_BUILD=On"
+	i686*) broken="/syscall_table.c:567:10: error: '__NR_rt_tgsigqueueinfo'";;
+	*-musl) configure_args+=" -DMUSL_OPTIMIZED_BUILD=On";;
 esac
 
-export CMAKE_GENERATOR="Unix Makefiles"
-
 # Avoid excessive warnings spam to the log
 CXXFLAGS="-Wno-deprecated-declarations"
 
-CXXFLAGS+=" -I/usr/include/grpc_absl"
+post_patch() {
+	patch -d "${wrksrc}/libs-${_falcover}" -Np1 < "${FILESDIR}/libsinsp-zstd.patch"
+	patch -d "${wrksrc}/libs-${_falcover}" -Np1 < "${FILESDIR}/libsinsp-absl-protobuf.patch"
 
-post_extract() {
 	vsed -e 's,"${DIR_ETC}/bash_completion.d",share/bash-completion/completions,g' -i scripts/CMakeLists.txt
-	vsed -e 's|-std=c++0x||' -i CMakeLists.txt
 }
 
 post_install() {

From a2972e77019578eceeb8191b47b744921a831c28 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 2 Jul 2023 13:36:29 +0200
Subject: [PATCH 30/35] protobuf-c: rebuild against 23.3

---
 ...4f3fd85a205eb7c90b790477d5415364209e.patch |  44 +++
 srcpkgs/protobuf-c/patches/66a0b0d2.patch     | 308 ++++++++++++++++++
 srcpkgs/protobuf-c/template                   |   8 +-
 3 files changed, 358 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
 create mode 100644 srcpkgs/protobuf-c/patches/66a0b0d2.patch

diff --git a/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch b/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
new file mode 100644
index 000000000000..7d1e97032d32
--- /dev/null
+++ b/srcpkgs/protobuf-c/patches/66574f3fd85a205eb7c90b790477d5415364209e.patch
@@ -0,0 +1,44 @@
+From 66574f3fd85a205eb7c90b790477d5415364209e Mon Sep 17 00:00:00 2001
+From: Steve Peters <scpeters@openrobotics.org>
+Date: Sat, 24 Jun 2023 22:15:42 -0700
+Subject: [PATCH] Use FileDescriptorLegacy for deprecated syntax()
+
+---
+ protoc-c/c_file.cc   | 2 +-
+ protoc-c/c_helpers.h | 3 ++-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/protoc-c/c_file.cc b/protoc-c/c_file.cc
+index 59c1824e..4b60b889 100644
+--- a/protoc-c/c_file.cc
++++ b/protoc-c/c_file.cc
+@@ -119,7 +119,7 @@ void FileGenerator::GenerateHeader(io::Printer* printer) {
+ 
+   int min_header_version = 1000000;
+ #if defined(HAVE_PROTO3)
+-  if (file_->syntax() == FileDescriptor::SYNTAX_PROTO3) {
++  if (FileDescriptorLegacy(file_).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3) {
+     min_header_version = 1003000;
+   }
+ #endif
+diff --git a/protoc-c/c_helpers.h b/protoc-c/c_helpers.h
+index 7598a4e1..87deea24 100644
+--- a/protoc-c/c_helpers.h
++++ b/protoc-c/c_helpers.h
+@@ -67,6 +67,7 @@
+ #include <vector>
+ #include <sstream>
+ #include <google/protobuf/descriptor.h>
++#include <google/protobuf/descriptor_legacy.h>
+ #include <protobuf-c/protobuf-c.pb.h>
+ #include <google/protobuf/io/printer.h>
+ 
+@@ -172,7 +173,7 @@ int compare_name_indices_by_name(const void*, const void*);
+ // This wrapper is needed to be able to compile against protobuf2.
+ inline int FieldSyntax(const FieldDescriptor* field) {
+ #ifdef HAVE_PROTO3
+-  return field->file()->syntax() == FileDescriptor::SYNTAX_PROTO3 ? 3 : 2;
++  return FileDescriptorLegacy(field->file()).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3 ? 3 : 2;
+ #else
+   return 2;
+ #endif
diff --git a/srcpkgs/protobuf-c/patches/66a0b0d2.patch b/srcpkgs/protobuf-c/patches/66a0b0d2.patch
new file mode 100644
index 000000000000..790db6329120
--- /dev/null
+++ b/srcpkgs/protobuf-c/patches/66a0b0d2.patch
@@ -0,0 +1,308 @@
+From 66a0b0d205224f63f19dd8f96abf9dcdc2112331 Mon Sep 17 00:00:00 2001
+From: Xiangyu Chen <xiangyu.chen@windriver.com>
+Date: Wed, 29 Mar 2023 14:25:17 +0800
+Subject: [PATCH] add support of protobuf 4.22.x
+
+after upgrade the protobuf to 4.22.x, the protobuf-c cannot compile anymore (#544) due to following changes:
+1.protobuf using c++14, that cause the command_line_interface.h report error
+2.protobuf using abseil-cpp library instead the trace API with GOOGLE_ header
+3. removed GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
+---
+ Makefile.am                   | 2 +-
+ configure.ac                  | 8 ++++++++
+ protoc-c/c_bytes_field.h      | 1 -
+ protoc-c/c_enum.h             | 1 -
+ protoc-c/c_enum_field.h       | 1 -
+ protoc-c/c_extension.h        | 1 -
+ protoc-c/c_field.cc           | 2 +-
+ protoc-c/c_field.h            | 3 ---
+ protoc-c/c_file.h             | 1 -
+ protoc-c/c_generator.h        | 2 --
+ protoc-c/c_helpers.cc         | 4 ++--
+ protoc-c/c_message.cc         | 4 ++--
+ protoc-c/c_message.h          | 1 -
+ protoc-c/c_message_field.h    | 3 ---
+ protoc-c/c_primitive_field.cc | 6 +++---
+ protoc-c/c_primitive_field.h  | 3 ---
+ protoc-c/c_service.h          | 1 -
+ protoc-c/c_string_field.h     | 1 -
+ 18 files changed, 17 insertions(+), 28 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index c7339efe..3b0d1d66 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -20,7 +20,7 @@ AM_CPPFLAGS = \
+ 	-I${top_builddir} \
+ 	-I${top_srcdir}
+ AM_CFLAGS = ${my_CFLAGS}
+-AM_LDFLAGS =
++AM_LDFLAGS = ${ABSL_LOG_INTERNAL_CHECK_OP_LIBS} ${ABSL_LOG_RAW_HASH_SET_LIBS}
+ 
+ # code coverage
+ 
+diff --git a/configure.ac b/configure.ac
+index f5a0261e..8ed549ac 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -78,6 +78,14 @@ if test "x$enable_protoc" != "xno"; then
+ 
+   AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
+ 
++# now checking 4.22.x protobuf, if so, set cxx as 17
++  AS_IF([pkg-config --atleast-version 4.22.0 protobuf],[AX_CXX_COMPILE_STDCXX(17, noext, mandatory)])
++
++  AS_IF([pkg-config --atleast-version 4.22.0 protobuf],
++    [PKG_CHECK_MODULES([ABSL_LOG_INTERNAL_CHECK_OP], [absl_log_internal_check_op],
++       [PKG_CHECK_MODULES([ABSL_LOG_RAW_HASH_SET], [absl_raw_hash_set], [], [AC_MSG_ERROR([Missing absl_raw_hash_set library.])])],
++       [AC_MSG_ERROR([Missing absl_log_internal_check_op library.])])])
++
+   PKG_CHECK_MODULES([protobuf], [protobuf >= 3.0.0],
+     [proto3_supported=yes],
+     [PKG_CHECK_MODULES([protobuf], [protobuf >= 2.6.0])]
+diff --git a/protoc-c/c_bytes_field.h b/protoc-c/c_bytes_field.h
+index bf873f0f..8fc63d35 100644
+--- a/protoc-c/c_bytes_field.h
++++ b/protoc-c/c_bytes_field.h
+@@ -88,7 +88,6 @@ class BytesFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(BytesFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_enum.h b/protoc-c/c_enum.h
+index 9c34b697..d5e58f0a 100644
+--- a/protoc-c/c_enum.h
++++ b/protoc-c/c_enum.h
+@@ -107,7 +107,6 @@ class EnumGenerator {
+   const EnumDescriptor* descriptor_;
+   std::string dllexport_decl_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_enum_field.h b/protoc-c/c_enum_field.h
+index 3f8c005d..03eb4028 100644
+--- a/protoc-c/c_enum_field.h
++++ b/protoc-c/c_enum_field.h
+@@ -86,7 +86,6 @@ class EnumFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_extension.h b/protoc-c/c_extension.h
+index 95413885..9c5797d6 100644
+--- a/protoc-c/c_extension.h
++++ b/protoc-c/c_extension.h
+@@ -99,7 +99,6 @@ class ExtensionGenerator {
+   std::string type_traits_;
+   std::string dllexport_decl_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ExtensionGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_field.cc b/protoc-c/c_field.cc
+index 0716744a..4abdc6d3 100644
+--- a/protoc-c/c_field.cc
++++ b/protoc-c/c_field.cc
+@@ -231,7 +231,7 @@ FieldGeneratorMap::~FieldGeneratorMap() {}
+ 
+ const FieldGenerator& FieldGeneratorMap::get(
+     const FieldDescriptor* field) const {
+-  GOOGLE_CHECK_EQ(field->containing_type(), descriptor_);
++  ABSL_CHECK_EQ(field->containing_type(), descriptor_);
+   return *field_generators_[field->index()];
+ }
+ 
+diff --git a/protoc-c/c_field.h b/protoc-c/c_field.h
+index 3cad35d3..76d3b0bc 100644
+--- a/protoc-c/c_field.h
++++ b/protoc-c/c_field.h
+@@ -104,8 +104,6 @@ class FieldGenerator {
+                                             const std::string &descriptor_addr) const;
+   const FieldDescriptor *descriptor_;
+ 
+- private:
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGenerator);
+ };
+ 
+ // Convenience class which constructs FieldGenerators for a Descriptor.
+@@ -122,7 +120,6 @@ class FieldGeneratorMap {
+ 
+   static FieldGenerator* MakeGenerator(const FieldDescriptor* field);
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGeneratorMap);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_file.h b/protoc-c/c_file.h
+index 8dfd8ba0..ec55906e 100644
+--- a/protoc-c/c_file.h
++++ b/protoc-c/c_file.h
+@@ -104,7 +104,6 @@ class FileGenerator {
+   std::unique_ptr<std::unique_ptr<ServiceGenerator>[]> service_generators_;
+   std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FileGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_generator.h b/protoc-c/c_generator.h
+index ac1ffafe..92601164 100644
+--- a/protoc-c/c_generator.h
++++ b/protoc-c/c_generator.h
+@@ -94,8 +94,6 @@ class PROTOC_C_EXPORT CGenerator : public CodeGenerator {
+                 OutputDirectory* output_directory,
+                 std::string* error) const;
+ 
+- private:
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(CGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_helpers.cc b/protoc-c/c_helpers.cc
+index 6fd0cd3a..1eaeeb42 100644
+--- a/protoc-c/c_helpers.cc
++++ b/protoc-c/c_helpers.cc
+@@ -286,7 +286,7 @@ const char* const kKeywordList[] = {
+ 
+ std::set<std::string> MakeKeywordsMap() {
+   std::set<std::string> result;
+-  for (int i = 0; i < GOOGLE_ARRAYSIZE(kKeywordList); i++) {
++  for (int i = 0; i < ABSL_ARRAYSIZE(kKeywordList); i++) {
+     result.insert(kKeywordList[i]);
+   }
+   return result;
+@@ -548,7 +548,7 @@ std::string CEscape(const std::string& src) {
+   std::unique_ptr<char[]> dest(new char[dest_length]);
+   const int len = CEscapeInternal(src.data(), src.size(),
+                                   dest.get(), dest_length, false);
+-  GOOGLE_DCHECK_GE(len, 0);
++  ABSL_DCHECK_GE(len, 0);
+   return std::string(dest.get(), len);
+ }
+ 
+diff --git a/protoc-c/c_message.cc b/protoc-c/c_message.cc
+index 37e8bf8b..c7e85155 100755
+--- a/protoc-c/c_message.cc
++++ b/protoc-c/c_message.cc
+@@ -499,7 +499,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ 	  // NOTE: not supported by protobuf
+ 	  vars["maybe_static"] = "";
+ 	  vars["field_dv_ctype"] = "{ ... }";
+-	  GOOGLE_LOG(DFATAL) << "Messages can't have default values!";
++	  ABSL_LOG(FATAL) << "Messages can't have default values!";
+ 	  break;
+ 	case FieldDescriptor::CPPTYPE_STRING:
+ 	  if (fd->type() == FieldDescriptor::TYPE_BYTES || opt.string_as_bytes())
+@@ -521,7 +521,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ 	    break;
+ 	  }
+ 	default:
+-	  GOOGLE_LOG(DFATAL) << "Unknown CPPTYPE";
++	  ABSL_LOG(FATAL) << "Unknown CPPTYPE";
+ 	  break;
+ 	}
+ 	if (!already_defined)
+diff --git a/protoc-c/c_message.h b/protoc-c/c_message.h
+index ea1c3ab3..e90782bf 100644
+--- a/protoc-c/c_message.h
++++ b/protoc-c/c_message.h
+@@ -137,7 +137,6 @@ class MessageGenerator {
+   std::unique_ptr<std::unique_ptr<EnumGenerator>[]> enum_generators_;
+   std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_message_field.h b/protoc-c/c_message_field.h
+index 39b8d999..42efe368 100644
+--- a/protoc-c/c_message_field.h
++++ b/protoc-c/c_message_field.h
+@@ -83,9 +83,6 @@ class MessageFieldGenerator : public FieldGenerator {
+   std::string GetDefaultValue(void) const;
+   void GenerateStaticInit(io::Printer* printer) const;
+ 
+- private:
+-
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageFieldGenerator);
+ };
+ 
+ 
+diff --git a/protoc-c/c_primitive_field.cc b/protoc-c/c_primitive_field.cc
+index 6990893f..d5a7b60c 100644
+--- a/protoc-c/c_primitive_field.cc
++++ b/protoc-c/c_primitive_field.cc
+@@ -99,7 +99,7 @@ void PrimitiveFieldGenerator::GenerateStructMembers(io::Printer* printer) const
+     case FieldDescriptor::TYPE_STRING  :
+     case FieldDescriptor::TYPE_BYTES   :
+     case FieldDescriptor::TYPE_GROUP   :
+-    case FieldDescriptor::TYPE_MESSAGE : GOOGLE_LOG(FATAL) << "not a primitive type"; break;
++    case FieldDescriptor::TYPE_MESSAGE : ABSL_LOG(FATAL) << "not a primitive type"; break;
+ 
+     // No default because we want the compiler to complain if any new
+     // types are added.
+@@ -143,7 +143,7 @@ std::string PrimitiveFieldGenerator::GetDefaultValue() const
+     case FieldDescriptor::CPPTYPE_BOOL:
+       return descriptor_->default_value_bool() ? "1" : "0";
+     default:
+-      GOOGLE_LOG(DFATAL) << "unexpected CPPTYPE in c_primitive_field";
++      ABSL_LOG(FATAL) << "unexpected CPPTYPE in c_primitive_field";
+       return "UNEXPECTED_CPPTYPE";
+   }
+ }
+@@ -197,7 +197,7 @@ void PrimitiveFieldGenerator::GenerateDescriptorInitializer(io::Printer* printer
+     case FieldDescriptor::TYPE_STRING  :
+     case FieldDescriptor::TYPE_BYTES   :
+     case FieldDescriptor::TYPE_GROUP   :
+-    case FieldDescriptor::TYPE_MESSAGE : GOOGLE_LOG(FATAL) << "not a primitive type"; break;
++    case FieldDescriptor::TYPE_MESSAGE : ABSL_LOG(FATAL) << "not a primitive type"; break;
+ 
+     // No default because we want the compiler to complain if any new
+     // types are added.
+diff --git a/protoc-c/c_primitive_field.h b/protoc-c/c_primitive_field.h
+index a9eb893b..d2bb7243 100644
+--- a/protoc-c/c_primitive_field.h
++++ b/protoc-c/c_primitive_field.h
+@@ -83,9 +83,6 @@ class PrimitiveFieldGenerator : public FieldGenerator {
+   std::string GetDefaultValue(void) const;
+   void GenerateStaticInit(io::Printer* printer) const;
+ 
+- private:
+-
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(PrimitiveFieldGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_service.h b/protoc-c/c_service.h
+index 27125a60..4737ff3b 100644
+--- a/protoc-c/c_service.h
++++ b/protoc-c/c_service.h
+@@ -101,7 +101,6 @@ class ServiceGenerator {
+   const ServiceDescriptor* descriptor_;
+   std::map<std::string, std::string> vars_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ServiceGenerator);
+ };
+ 
+ }  // namespace c
+diff --git a/protoc-c/c_string_field.h b/protoc-c/c_string_field.h
+index 513cea75..ba258e44 100644
+--- a/protoc-c/c_string_field.h
++++ b/protoc-c/c_string_field.h
+@@ -88,7 +88,6 @@ class StringFieldGenerator : public FieldGenerator {
+  private:
+   std::map<std::string, std::string> variables_;
+ 
+-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(StringFieldGenerator);
+ };
+ 
+ 
diff --git a/srcpkgs/protobuf-c/template b/srcpkgs/protobuf-c/template
index 7d1b529d8936..e703b138152d 100644
--- a/srcpkgs/protobuf-c/template
+++ b/srcpkgs/protobuf-c/template
@@ -1,10 +1,10 @@
 # Template file for 'protobuf-c'
 pkgname=protobuf-c
 version=1.4.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="$(vopt_enable protoc)"
-hostmakedepends="pkg-config protobuf protobuf-devel"
+hostmakedepends="pkg-config protobuf protobuf-devel automake libtool"
 makedepends="protobuf-devel boost-devel $(vopt_if protoc libprotoc-devel)"
 short_desc="C implementation of the Google Protocol Buffers"
 maintainer="Enno Boland <gottox@voidlinux.org>"
@@ -17,6 +17,10 @@ build_options="protoc"
 build_options_default="protoc"
 desc_option_protoc="Build protoc-c compiler"
 
+pre_configure() {
+	autoreconf -if
+}
+
 post_install() {
 	vlicense LICENSE
 }

From 66870545da31f5bc75066e1a7664be98cd792e33 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 2 Jul 2023 21:07:55 +0200
Subject: [PATCH 31/35] netdata: update to 1.40.1.

---
 srcpkgs/netdata/patches/cpp17.patch | 11 +++++++++++
 srcpkgs/netdata/template            | 13 +++++++++----
 2 files changed, 20 insertions(+), 4 deletions(-)
 create mode 100644 srcpkgs/netdata/patches/cpp17.patch

diff --git a/srcpkgs/netdata/patches/cpp17.patch b/srcpkgs/netdata/patches/cpp17.patch
new file mode 100644
index 000000000000..b197ccd57bd9
--- /dev/null
+++ b/srcpkgs/netdata/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac	2023-06-27 16:25:03.364605041 +0200
++++ -	2023-07-02 21:27:31.113408278 +0200
+@@ -237,7 +237,7 @@
+ # C++ version check
+ 
+ # Check for C++17 support (optional)
+-# AX_CXX_COMPILE_STDCXX(17, noext, optional)
++AX_CXX_COMPILE_STDCXX(17, noext, optional)
+ 
+ if test "x$HAVE_CXX17" != "x1"; then
+   # Check for C++11 support (optional)
diff --git a/srcpkgs/netdata/template b/srcpkgs/netdata/template
index 781120b3f275..176bcf26d8c5 100644
--- a/srcpkgs/netdata/template
+++ b/srcpkgs/netdata/template
@@ -1,14 +1,14 @@
 # Template file for 'netdata'
 pkgname=netdata
-version=1.37.1
-revision=2
+version=1.40.1
+revision=1
 build_style=gnu-configure
 build_helper=qemu
 configure_args="--with-user=_netdata ac_cv_file_externaldeps_libbpf_libbpf_a=no
  $(vopt_if cloud --enable-cloud --disable-cloud) $(vopt_if ipmi --enable-plugin-freeipmi)
  $(vopt_if xen --enable-plugin-xenstat) $(vopt_if cups --enable-plugin-cups)"
 hostmakedepends="pkg-config autoconf automake $(vopt_if cloud "protobuf protobuf-devel")"
-makedepends="json-c-devel libcap-devel liblz4-devel libmnl-devel
+makedepends="json-c-devel libcap-devel liblz4-devel libmnl-devel libyaml-devel
  libnetfilter_acct-devel openssl-devel libuuid-devel libuv-devel zlib-devel
  snappy-devel $(vopt_if cloud protobuf-devel) $(vopt_if ipmi freeipmi-devel)
  $(vopt_if xen "xen-devel yajl-devel") $(vopt_if cups cups-devel)"
@@ -18,7 +18,7 @@ maintainer="Michael Aldridge <maldridge@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://www.netdata.cloud/"
 distfiles="https://github.com/netdata/netdata/releases/download/v${version}/netdata-v${version}.tar.gz"
-checksum=2caa042d43ca61007a61294a5ececa037d83a1973bd38032233760341eb1706b
+checksum=cc86172acd5e6ec05bc0fa86a50d967502a264d8adf7f79293923ccd8febb251
 python_version=3
 make_dirs="
  /var/lib/netdata          0755 _netdata _netdata
@@ -43,6 +43,11 @@ if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 fi
 
 pre_configure() {
+	vsed -e 's/#define info(/#define netdata_log_info(/g' -i libnetdata/log/log.h
+	vsed -e 's/^\([ ]*\)info[ ]*(/\1netdata_log_info(/g' -i $(grep -rl '^[ ]*info *(' ./)
+	vsed -e 's/^\([ ]*\)else info(/\1else netdata_log_info(/g' -i $(grep -rl '^[ ]*else info(' ./)
+	vsed -e 's/^\([ ]*\)if(\([^)]*\))[ ]*info(/\1if(\2) netdata_log_info(/g' -i $(grep -rl '^[ ]*if([^)]*)[ ]*info(' ./)
+
 	if [ "$CROSS_BUILD" ]; then
 		sed -i "s|	\$(builddir)/judyltablesgen\$(EXEEXT)|	qemu-${XBPS_TARGET_QEMU_MACHINE}-static \$(builddir)/judyltablesgen\$(EXEEXT)|g" Makefile.am
 	fi

From e93ba0aba86e2c0a9e36edc81b613c852056a02a Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 8 Jul 2023 12:47:51 +0200
Subject: [PATCH 32/35] strawberry: rebuild against protobuf-23.3_1

---
 srcpkgs/strawberry/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/strawberry/template b/srcpkgs/strawberry/template
index b42efa1b89b2..91f2e07a0ec0 100644
--- a/srcpkgs/strawberry/template
+++ b/srcpkgs/strawberry/template
@@ -1,7 +1,7 @@
 # Template file for 'strawberry'
 pkgname=strawberry
 version=1.0.17
-revision=2
+revision=3
 build_style=cmake
 hostmakedepends="pkg-config protobuf gettext"
 makedepends="alsa-lib-devel boost-devel gnutls-devel fftw-devel

From cece4b638434dd9252635fcf799af39afca2ffdb Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 8 Jul 2023 12:47:51 +0200
Subject: [PATCH 33/35] libphonenumber: rebuild against protobuf-23.3_1

---
 srcpkgs/libphonenumber/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libphonenumber/template b/srcpkgs/libphonenumber/template
index f554714b3c7a..058939459f6a 100644
--- a/srcpkgs/libphonenumber/template
+++ b/srcpkgs/libphonenumber/template
@@ -1,7 +1,7 @@
 # Template file for 'libphonenumber'
 pkgname=libphonenumber
 version=8.12.39
-revision=12
+revision=13
 build_wrksrc=cpp
 build_style=cmake
 build_helper=qemu

From 9c7886ea501737d75394c4aea9db49265c242592 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 14 Jul 2023 15:44:21 +0200
Subject: [PATCH 34/35] python3-protobuf: update to 4.23.4.

---
 srcpkgs/python3-protobuf/patches/cpp17.patch  |  11 ++
 .../patches/python-3.11.patch                 | 132 ------------------
 srcpkgs/python3-protobuf/template             |  16 +--
 3 files changed, 19 insertions(+), 140 deletions(-)
 create mode 100644 srcpkgs/python3-protobuf/patches/cpp17.patch
 delete mode 100644 srcpkgs/python3-protobuf/patches/python-3.11.patch

diff --git a/srcpkgs/python3-protobuf/patches/cpp17.patch b/srcpkgs/python3-protobuf/patches/cpp17.patch
new file mode 100644
index 000000000000..97b81e1bfa5a
--- /dev/null
+++ b/srcpkgs/python3-protobuf/patches/cpp17.patch
@@ -0,0 +1,11 @@
+--- a/python/setup.py	2023-07-05 23:53:30.000000000 +0200
++++ -	2023-07-14 16:19:35.949677747 +0200
+@@ -370,7 +370,7 @@
+       extra_compile_args.append('-Wno-invalid-offsetof')
+       extra_compile_args.append('-Wno-sign-compare')
+       extra_compile_args.append('-Wno-unused-variable')
+-      extra_compile_args.append('-std=c++14')
++      extra_compile_args.append('-std=c++17')
+ 
+     if sys.platform == 'darwin':
+       extra_compile_args.append('-Wno-shorten-64-to-32')
diff --git a/srcpkgs/python3-protobuf/patches/python-3.11.patch b/srcpkgs/python3-protobuf/patches/python-3.11.patch
deleted file mode 100644
index f6ed1b078357..000000000000
--- a/srcpkgs/python3-protobuf/patches/python-3.11.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From da973aff2adab60a9e516d3202c111dbdde1a50f Mon Sep 17 00:00:00 2001
-From: Alexander Shadchin <alexandr.shadchin@gmail.com>
-Date: Sun, 14 Aug 2022 21:13:49 +0300
-Subject: [PATCH] Fix build with Python 3.11
-
-The PyFrameObject structure members have been removed from the public C API.
----
- google/protobuf/pyext/descriptor.cc | 75 ++++++++++++++++++----
- 1 file changed, 62 insertions(+), 13 deletions(-)
-
-diff --git a/google/protobuf/pyext/descriptor.cc b/google/protobuf/pyext/descriptor.cc
-index fc83acf01a..fc97b0fa6c 100644
---- a/google/protobuf/pyext/descriptor.cc
-+++ b/google/protobuf/pyext/descriptor.cc
-@@ -58,6 +58,37 @@
-               : 0)                                               \
-        : PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
- 
-+#if PY_VERSION_HEX < 0x030900B1 && !defined(PYPY_VERSION)
-+static PyCodeObject* PyFrame_GetCode(PyFrameObject *frame)
-+{
-+    Py_INCREF(frame->f_code);
-+    return frame->f_code;
-+}
-+
-+static PyFrameObject* PyFrame_GetBack(PyFrameObject *frame)
-+{
-+    Py_XINCREF(frame->f_back);
-+    return frame->f_back;
-+}
-+#endif
-+
-+#if PY_VERSION_HEX < 0x030B00A7 && !defined(PYPY_VERSION)
-+static PyObject* PyFrame_GetLocals(PyFrameObject *frame)
-+{
-+    if (PyFrame_FastToLocalsWithError(frame) < 0) {
-+        return NULL;
-+    }
-+    Py_INCREF(frame->f_locals);
-+    return frame->f_locals;
-+}
-+
-+static PyObject* PyFrame_GetGlobals(PyFrameObject *frame)
-+{
-+    Py_INCREF(frame->f_globals);
-+    return frame->f_globals;
-+}
-+#endif
-+
- namespace google {
- namespace protobuf {
- namespace python {
-@@ -96,48 +127,66 @@ bool _CalledFromGeneratedFile(int stacklevel) {
-   // This check is not critical and is somewhat difficult to implement correctly
-   // in PyPy.
-   PyFrameObject* frame = PyEval_GetFrame();
-+  PyCodeObject* frame_code = nullptr;
-+  PyObject* frame_globals = nullptr;
-+  PyObject* frame_locals = nullptr;
-+  bool result = false;
-+
-   if (frame == nullptr) {
--    return false;
-+    goto exit;
-   }
-+  Py_INCREF(frame);
-   while (stacklevel-- > 0) {
--    frame = frame->f_back;
-+    PyFrameObject* next_frame = PyFrame_GetBack(frame);
-+    Py_DECREF(frame);
-+    frame = next_frame;
-     if (frame == nullptr) {
--      return false;
-+      goto exit;
-     }
-   }
- 
--  if (frame->f_code->co_filename == nullptr) {
--    return false;
-+  frame_code = PyFrame_GetCode(frame);
-+  if (frame_code->co_filename == nullptr) {
-+    goto exit;
-   }
-   char* filename;
-   Py_ssize_t filename_size;
--  if (PyString_AsStringAndSize(frame->f_code->co_filename,
-+  if (PyString_AsStringAndSize(frame_code->co_filename,
-                                &filename, &filename_size) < 0) {
-     // filename is not a string.
-     PyErr_Clear();
--    return false;
-+    goto exit;
-   }
-   if ((filename_size < 3) ||
-       (strcmp(&filename[filename_size - 3], ".py") != 0)) {
-     // Cython's stack does not have .py file name and is not at global module
-     // scope.
--    return true;
-+    result = true;
-+    goto exit;
-   }
-   if (filename_size < 7) {
-     // filename is too short.
--    return false;
-+    goto exit;
-   }
-   if (strcmp(&filename[filename_size - 7], "_pb2.py") != 0) {
-     // Filename is not ending with _pb2.
--    return false;
-+    goto exit;
-   }
- 
--  if (frame->f_globals != frame->f_locals) {
-+  frame_globals = PyFrame_GetGlobals(frame);
-+  frame_locals = PyFrame_GetLocals(frame);
-+  if (frame_globals != frame_locals) {
-     // Not at global module scope
--    return false;
-+    goto exit;
-   }
- #endif
--  return true;
-+  result = true;
-+exit:
-+  Py_XDECREF(frame_globals);
-+  Py_XDECREF(frame_locals);
-+  Py_XDECREF(frame_code);
-+  Py_XDECREF(frame);
-+  return result;
- }
- 
- // If the calling code is not a _pb2.py file, raise AttributeError.
diff --git a/srcpkgs/python3-protobuf/template b/srcpkgs/python3-protobuf/template
index e965c4432162..b0620d715ca4 100644
--- a/srcpkgs/python3-protobuf/template
+++ b/srcpkgs/python3-protobuf/template
@@ -1,16 +1,20 @@
 # Template file for 'python3-protobuf'
 pkgname=python3-protobuf
-version=4.21.12
+version=4.23.4
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-wheel"
+build_wrksrc=python
+hostmakedepends="python3-setuptools python3-wheel protobuf"
 depends="python3-setuptools python3-six"
+checkdepends="python3-numpy"
 short_desc="Python3 bindings for Google Protocol Buffers"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
-distfiles="${PYPI_SITE}/p/protobuf/protobuf-${version}.tar.gz"
-checksum=7cd532c4566d0e6feafecc1059d04c7915aec8e182d1cf7adee8b24ef1e2e6ab
+# PyPi release does not have bits for cppext
+distfiles="https://github.com/protocolbuffers/protobuf/releases/download/v${version#*.}/protobuf-${version#*.}.tar.gz"
+checksum=a700a49470d301f1190a487a923b5095bf60f08f4ae4cac9f5f7c36883d17971
+make_check=no # ImportError: cannot import name 'unittest_retention_pb2' from 'google.protobuf'
 
 build_options="cppext"
 build_options_default="cppext"
@@ -22,10 +26,6 @@ if [ "$build_option_cppext" ]; then
 	makedepends+=" python3-devel protobuf-devel"
 fi
 
-do_check() {
-	echo "skipping check: package ships with no tests"
-}
-
 post_install() {
 	sed -n 1,29p google/protobuf/__init__.py >LICENSE
 	vlicense LICENSE

From 4b2f9b9ec908e283a7c5be8956124aa2efc537b3 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 16 Jul 2023 19:54:48 +0200
Subject: [PATCH 35/35] ghidra: bump protobuf-java to 3.23.4

---
 srcpkgs/ghidra/patches/protobuf-3.23.4.patch | 113 +++++++++++++++++++
 srcpkgs/ghidra/template                      |   2 +-
 2 files changed, 114 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/ghidra/patches/protobuf-3.23.4.patch

diff --git a/srcpkgs/ghidra/patches/protobuf-3.23.4.patch b/srcpkgs/ghidra/patches/protobuf-3.23.4.patch
new file mode 100644
index 000000000000..e4fb6333779a
--- /dev/null
+++ b/srcpkgs/ghidra/patches/protobuf-3.23.4.patch
@@ -0,0 +1,113 @@
+diff '--color=auto' -ur ghidra-10.3.2.orig/ghidra_build/Ghidra/Debug/Debugger-gadp/build.gradle ghidra-10.3.2/ghidra_build/Ghidra/Debug/Debugger-gadp/build.gradle
+--- ghidra-10.3.2.orig/ghidra_build/Ghidra/Debug/Debugger-gadp/build.gradle	2023-07-11 22:09:00.000000000 +0200
++++ ghidra-10.3.2/ghidra_build/Ghidra/Debug/Debugger-gadp/build.gradle	2023-07-16 19:53:06.304326118 +0200
+@@ -33,29 +33,29 @@
+ def platform = getCurrentPlatformName()
+ 
+ dependencies {
+-	allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:windows-x86_64@exe'
+-	allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:linux-x86_64@exe'
+-	allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:linux-aarch_64@exe'
+-	allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:osx-x86_64@exe'
+-	allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:osx-aarch_64@exe'
++	allProtocArtifacts 'com.google.protobuf:protoc:3.23.4:windows-x86_64@exe'
++	allProtocArtifacts 'com.google.protobuf:protoc:3.23.4:linux-x86_64@exe'
++	allProtocArtifacts 'com.google.protobuf:protoc:3.23.4:linux-aarch_64@exe'
++	allProtocArtifacts 'com.google.protobuf:protoc:3.23.4:osx-x86_64@exe'
++	allProtocArtifacts 'com.google.protobuf:protoc:3.23.4:osx-aarch_64@exe'
+ 
+ 	if (isCurrentWindows()) {
+-		protocArtifact 'com.google.protobuf:protoc:3.21.8:windows-x86_64@exe'
++		protocArtifact 'com.google.protobuf:protoc:3.23.4:windows-x86_64@exe'
+ 	}
+ 	if (isCurrentLinux()) {
+ 		if (platform.endsWith("x86_64")) {
+-			protocArtifact 'com.google.protobuf:protoc:3.21.8:linux-x86_64@exe'
++			protocArtifact 'com.google.protobuf:protoc:3.23.4:linux-x86_64@exe'
+ 		}
+ 		else {
+-			protocArtifact 'com.google.protobuf:protoc:3.21.8:linux-aarch_64@exe'
++			protocArtifact 'com.google.protobuf:protoc:3.23.4:linux-aarch_64@exe'
+ 		}
+ 	}
+ 	if (isCurrentMac()) {
+ 		if (platform.endsWith("x86_64")) {
+-			protocArtifact 'com.google.protobuf:protoc:3.21.8:osx-x86_64@exe'
++			protocArtifact 'com.google.protobuf:protoc:3.23.4:osx-x86_64@exe'
+ 		}
+ 		else {
+-			protocArtifact 'com.google.protobuf:protoc:3.21.8:osx-aarch_64@exe'
++			protocArtifact 'com.google.protobuf:protoc:3.23.4:osx-aarch_64@exe'
+ 		}
+ 	}
+ 
+@@ -69,7 +69,7 @@
+ 
+ /*protobuf {
+ 	protoc {
+-		artifact = 'com.google.protobuf:protoc:3.21.8'
++		artifact = 'com.google.protobuf:protoc:3.23.4'
+ 	}
+ }*/
+ 
+diff '--color=auto' -ur ghidra-10.3.2.orig/ghidra_build/Ghidra/Debug/Debugger-isf/build.gradle ghidra-10.3.2/ghidra_build/Ghidra/Debug/Debugger-isf/build.gradle
+--- ghidra-10.3.2.orig/ghidra_build/Ghidra/Debug/Debugger-isf/build.gradle	2023-07-11 22:09:00.000000000 +0200
++++ ghidra-10.3.2/ghidra_build/Ghidra/Debug/Debugger-isf/build.gradle	2023-07-16 19:53:06.304326118 +0200
+@@ -30,29 +30,29 @@
+ def platform = getCurrentPlatformName()
+ 
+ dependencies {
+-	allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:windows-x86_64@exe'
+-	allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:linux-x86_64@exe'
+-	allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:linux-aarch_64@exe'
+-	allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:osx-x86_64@exe'
+-	allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:osx-aarch_64@exe'
++	allProtocArtifacts 'com.google.protobuf:protoc:3.23.4:windows-x86_64@exe'
++	allProtocArtifacts 'com.google.protobuf:protoc:3.23.4:linux-x86_64@exe'
++	allProtocArtifacts 'com.google.protobuf:protoc:3.23.4:linux-aarch_64@exe'
++	allProtocArtifacts 'com.google.protobuf:protoc:3.23.4:osx-x86_64@exe'
++	allProtocArtifacts 'com.google.protobuf:protoc:3.23.4:osx-aarch_64@exe'
+ 
+ 	if (isCurrentWindows()) {
+-		protocArtifact 'com.google.protobuf:protoc:3.21.8:windows-x86_64@exe'
++		protocArtifact 'com.google.protobuf:protoc:3.23.4:windows-x86_64@exe'
+ 	}
+ 	if (isCurrentLinux()) {
+ 		if (platform.endsWith("x86_64")) {
+-			protocArtifact 'com.google.protobuf:protoc:3.21.8:linux-x86_64@exe'
++			protocArtifact 'com.google.protobuf:protoc:3.23.4:linux-x86_64@exe'
+ 		}
+ 		else {
+-			protocArtifact 'com.google.protobuf:protoc:3.21.8:linux-aarch_64@exe'
++			protocArtifact 'com.google.protobuf:protoc:3.23.4:linux-aarch_64@exe'
+ 		}
+ 	}
+ 	if (isCurrentMac()) {
+ 		if (platform.endsWith("x86_64")) {
+-			protocArtifact 'com.google.protobuf:protoc:3.21.8:osx-x86_64@exe'
++			protocArtifact 'com.google.protobuf:protoc:3.23.4:osx-x86_64@exe'
+ 		}
+ 		else {
+-			protocArtifact 'com.google.protobuf:protoc:3.21.8:osx-aarch_64@exe'
++			protocArtifact 'com.google.protobuf:protoc:3.23.4:osx-aarch_64@exe'
+ 		}
+ 	}
+ 
+diff '--color=auto' -ur ghidra-10.3.2.orig/ghidra_build/Ghidra/Debug/Framework-AsyncComm/Module.manifest ghidra-10.3.2/ghidra_build/Ghidra/Debug/Framework-AsyncComm/Module.manifest
+--- ghidra-10.3.2.orig/ghidra_build/Ghidra/Debug/Framework-AsyncComm/Module.manifest	2023-07-11 22:09:00.000000000 +0200
++++ ghidra-10.3.2/ghidra_build/Ghidra/Debug/Framework-AsyncComm/Module.manifest	2023-07-16 19:53:06.304326118 +0200
+@@ -1 +1 @@
+-MODULE FILE LICENSE: lib/protobuf-java-3.21.8.jar BSD-3-GOOGLE
++MODULE FILE LICENSE: lib/protobuf-java-3.23.4.jar BSD-3-GOOGLE
+diff '--color=auto' -ur ghidra-10.3.2.orig/ghidra_build/Ghidra/Debug/Framework-AsyncComm/build.gradle ghidra-10.3.2/ghidra_build/Ghidra/Debug/Framework-AsyncComm/build.gradle
+--- ghidra-10.3.2.orig/ghidra_build/Ghidra/Debug/Framework-AsyncComm/build.gradle	2023-07-11 22:09:00.000000000 +0200
++++ ghidra-10.3.2/ghidra_build/Ghidra/Debug/Framework-AsyncComm/build.gradle	2023-07-16 19:53:06.305326125 +0200
+@@ -22,7 +22,7 @@
+ eclipse.project.name = 'Debug Framework-AsyncComm'
+ 
+ dependencies {
+-	api 'com.google.protobuf:protobuf-java:3.21.8'
++	api 'com.google.protobuf:protobuf-java:3.23.4'
+ 	api project(':Generic')
+ 	api project(':Graph')
+ 	api project(':ProposedUtils')
diff --git a/srcpkgs/ghidra/template b/srcpkgs/ghidra/template
index 250fe70d38e4..881922c1f292 100644
--- a/srcpkgs/ghidra/template
+++ b/srcpkgs/ghidra/template
@@ -1,7 +1,7 @@
 # Template file for 'ghidra'
 pkgname=ghidra
 version=10.3.2
-revision=1
+revision=2
 _dex_ver=2.1
 _yajsw_ver=13.09
 archs="x86_64* aarch64*"

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Merged]: protobuf/abseil-cpp/grpc: update
  2023-07-08 11:45 [PR PATCH] protobuf/abseil-cpp: update Johnnynator
                   ` (12 preceding siblings ...)
  2023-07-17 15:36 ` Johnnynator
@ 2023-07-17 15:36 ` Johnnynator
  13 siblings, 0 replies; 15+ messages in thread
From: Johnnynator @ 2023-07-17 15:36 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 447 bytes --]

There's a merged pull request on the void-packages repository

protobuf/abseil-cpp/grpc: update
https://github.com/void-linux/void-packages/pull/44920

Description:
"Fun" with google stuff

#### Testing the changes
- I tested the changes in this PR: **WiP**


#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):



^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2023-07-17 15:36 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-08 11:45 [PR PATCH] protobuf/abseil-cpp: update Johnnynator
2023-07-08 12:45 ` [PR PATCH] [Updated] protobuf/abseil-cpp/grpc: update Johnnynator
2023-07-08 12:48 ` Johnnynator
2023-07-10 21:07 ` Johnnynator
2023-07-11  6:57 ` Johnnynator
2023-07-11  7:10 ` Johnnynator
2023-07-14 14:22 ` Johnnynator
2023-07-14 14:39 ` Johnnynator
2023-07-14 15:33 ` Johnnynator
2023-07-14 15:36 ` Johnnynator
2023-07-16 14:09 ` Johnnynator
2023-07-16 15:06 ` Johnnynator
2023-07-16 18:00 ` Johnnynator
2023-07-17 15:36 ` Johnnynator
2023-07-17 15:36 ` [PR PATCH] [Merged]: " Johnnynator

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).