<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>