<pre style='margin:0'>
Ryan Carsten Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/b992b6d7f6926406f2923835a49da56fda54210b">https://github.com/macports/macports-ports/commit/b992b6d7f6926406f2923835a49da56fda54210b</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit b992b6d7f6926406f2923835a49da56fda54210b
</span>Author: Ryan Carsten Schmidt <ryandesign@macports.org>
AuthorDate: Mon Dec 30 00:01:39 2024 -0600

<span style='display:block; white-space:pre;color:#404040;'>    grpc: Use C++17
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/70563
</span>---
 devel/grpc/Portfile                                |  11 +--
 .../files/patch-python-respect-cc-variable.diff    | 101 +++++++++++++++++++--
 2 files changed, 97 insertions(+), 15 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/grpc/Portfile b/devel/grpc/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 9483e2b6029..5dde8cfa553 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/grpc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/grpc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -28,18 +28,11 @@ github.livecheck.regex  {([0-9.]+)}
</span> 
 set name_io         ${name}io
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://trac.macports.org/ticket/65525#comment:1
</span> patchfiles-append   patch-unbreak-port_platform.diff
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Python: upstream patch to ensure env var 'CC' is utilized. Fixed in v1.52.0 and beyond.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://trac.macports.org/ticket/62208
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://github.com/grpc/grpc/pull/26480
</span> patchfiles-append   patch-python-respect-cc-variable.diff
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> patchfiles-append   patch-avoid-overlinking-abseil.diff
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# error: constexpr function never produces a constant expression
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Requires c++17 support
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# abseil and re2 require c++17 support
</span> compiler.cxx_standard  2017
 
 compiler.thread_local_storage yes
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -48,11 +41,11 @@ depends_build-append \
</span>                     path:bin/pkg-config:pkgconfig
 
 depends_lib-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    path:lib/libssl.dylib:openssl \
</span>                     port:abseil \
                     port:c-ares \
                     port:lbzip2 \
                     path:lib/pkgconfig/libuv.pc:libuv \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    path:lib/libssl.dylib:openssl \
</span>                     port:protobuf3-cpp \
                     port:re2 \
                     port:zlib
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/grpc/files/patch-python-respect-cc-variable.diff b/devel/grpc/files/patch-python-respect-cc-variable.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 6758ce3555e..6de2ba1b1cf 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/grpc/files/patch-python-respect-cc-variable.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/grpc/files/patch-python-respect-cc-variable.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,9 +1,9 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#========================================================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# From 31fc452b68e429c029f00b5fcc54292a303be0c6 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# From: Georgy Yakovlev <168902+gyakovlev@users.noreply.github.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Date: Mon, 28 Nov 2022 15:07:36 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Subject: [PATCH] respect CC variable (#26480)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#========================================================================================
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Respect CC environment variable.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/grpc/grpc/pull/26480
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Use C++17 instead of C++14.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/grpc/grpc/issues/34256
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/grpc/grpc/commit/93b29607ccaa2545e2b3a5a8016f765333f1b38f
</span> --- src/python/grpcio/commands.py
 +++ src/python/grpcio/commands.py
 @@ -228,7 +228,8 @@ def compiler_ok_with_extra_std():
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -16,3 +16,92 @@
</span>                                             stdin=subprocess.PIPE,
                                             stdout=subprocess.PIPE,
                                             stderr=subprocess.PIPE)
<span style='display:block; white-space:pre;background:#e0ffe0;'>+--- tools/distrib/gen_compilation_database.py.orig      2024-12-29 20:39:24.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ tools/distrib/gen_compilation_database.py      2024-12-29 21:30:07.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -88,7 +88,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # Workaround for bazel added C++14 options, those doesn't affect build itself but
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # clang-tidy will misinterpret them.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     options = options.replace("-std=c++0x ", "")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    options = options.replace("-std=c++14 ", "")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    options = options.replace("-std=c++17 ", "")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # Add -DNDEBUG so that editors show the correct size information for structs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     options += " -DNDEBUG"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -107,7 +107,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         options += " -Wno-unused-function"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if not target["file"].startswith("external/"):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             # *.h file is treated as C header by default while our headers files are all C++14.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            options = "-x c++ -std=c++14 -fexceptions " + options
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            options = "-x c++ -std=c++17 -fexceptions " + options
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     target["command"] = " ".join([cc, options])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return target
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- tools/distrib/python/grpcio_tools/setup.py.orig        2024-12-29 20:39:24.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ tools/distrib/python/grpcio_tools/setup.py     2024-12-29 21:30:07.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -88,7 +88,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     code_test = (b'#include <atomic>\n' +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                  b'int main() { return std::atomic<int64_t>{}; }')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     cxx = os.environ.get('CXX', 'c++')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    cpp_test = subprocess.Popen([cxx, '-x', 'c++', '-std=c++14', '-'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    cpp_test = subprocess.Popen([cxx, '-x', 'c++', '-std=c++17', '-'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                 stdin=PIPE,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                 stdout=PIPE,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                 stderr=PIPE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -98,7 +98,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # Double-check to see if -latomic actually can solve the problem.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # https://github.com/grpc/grpc/issues/22491
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     cpp_test = subprocess.Popen(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        [cxx, '-x', 'c++', '-std=c++14', '-', '-latomic'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        [cxx, '-x', 'c++', '-std=c++17', '-', '-latomic'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         stdin=PIPE,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         stdout=PIPE,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         stderr=PIPE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -134,7 +134,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ EXTRA_ENV_COMPILE_ARGS = os.environ.get('GRPC_PYTHON_CFLAGS', None)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ EXTRA_ENV_LINK_ARGS = os.environ.get('GRPC_PYTHON_LDFLAGS', None)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if EXTRA_ENV_COMPILE_ARGS is None:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    EXTRA_ENV_COMPILE_ARGS = '-std=c++14'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    EXTRA_ENV_COMPILE_ARGS = '-std=c++17'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if 'win32' in sys.platform:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if sys.version_info < (3, 5):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             # We use define flags here and don't directly add to DEFINE_MACROS below to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- tools/run_tests/artifacts/artifact_targets.py.orig     2024-12-29 20:39:24.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ tools/run_tests/artifacts/artifact_targets.py  2024-12-29 21:30:07.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -384,7 +384,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     environ=environ)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 environ[
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    'CXXFLAGS'] += ' -std=c++14 -stdlib=libc++ %s' % _MACOS_COMPAT_FLAG
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    'CXXFLAGS'] += ' -std=c++17 -stdlib=libc++ %s' % _MACOS_COMPAT_FLAG
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 return create_jobspec(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     self.name,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     ['tools/run_tests/artifacts/build_artifact_protoc.sh'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- setup.py.orig  2024-12-29 20:39:21.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ setup.py       2024-12-29 21:30:08.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -207,7 +207,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     code_test = (b'#include <atomic>\n' +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                  b'int main() { return std::atomic<int64_t>{}; }')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     cxx = shlex.split(os.environ.get('CXX', 'c++'))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    cpp_test = subprocess.Popen(cxx + ['-x', 'c++', '-std=c++14', '-'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    cpp_test = subprocess.Popen(cxx + ['-x', 'c++', '-std=c++17', '-'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                 stdin=PIPE,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                 stdout=PIPE,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                 stderr=PIPE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -217,7 +217,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # Double-check to see if -latomic actually can solve the problem.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # https://github.com/grpc/grpc/issues/22491
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     cpp_test = subprocess.Popen(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        [cxx, '-x', 'c++', '-std=c++14', '-', '-latomic'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        [cxx, '-x', 'c++', '-std=c++17', '-', '-latomic'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         stdin=PIPE,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         stdout=PIPE,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         stderr=PIPE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -235,7 +235,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ EXTRA_ENV_COMPILE_ARGS = os.environ.get('GRPC_PYTHON_CFLAGS', None)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ EXTRA_ENV_LINK_ARGS = os.environ.get('GRPC_PYTHON_LDFLAGS', None)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if EXTRA_ENV_COMPILE_ARGS is None:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    EXTRA_ENV_COMPILE_ARGS = ' -std=c++14'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    EXTRA_ENV_COMPILE_ARGS = ' -std=c++17'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if 'win32' in sys.platform:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if sys.version_info < (3, 5):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             EXTRA_ENV_COMPILE_ARGS += ' -D_hypot=hypot'
</span></pre><pre style='margin:0'>

</pre>