<pre style='margin:0'>
Herby Gillot (herbygillot) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/a72edc6d479197522eb8b2dec453254609ecafeb">https://github.com/macports/macports-ports/commit/a72edc6d479197522eb8b2dec453254609ecafeb</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit a72edc6d479197522eb8b2dec453254609ecafeb
</span>Author: Clemens Lang <cal@macports.org>
AuthorDate: Sat Aug 26 22:09:05 2023 +0200
<span style='display:block; white-space:pre;color:#404040;'> grpc: Avoid overlinking abseil in users of grpc
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> grpc exports a pkg-config file that instructs all users of grpc to link
</span><span style='display:block; white-space:pre;color:#404040;'> against some libraries from libabseil when linking against grpc. Because
</span><span style='display:block; white-space:pre;color:#404040;'> abseil often changes its soversion, this requires many ports that use
</span><span style='display:block; white-space:pre;color:#404040;'> grpc to be revbumped whenever abseil changes, even though they only use
</span><span style='display:block; white-space:pre;color:#404040;'> symbols from grpc.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Avoid this by using the Requires.private field in the grpc pkg-config
</span><span style='display:block; white-space:pre;color:#404040;'> file as documented in [1]. See also [2], which explains the difference
</span><span style='display:block; white-space:pre;color:#404040;'> in linking.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> [1]: https://people.freedesktop.org/~dbn/pkg-config-guide.html#concepts
</span><span style='display:block; white-space:pre;color:#404040;'> [2]: https://stackoverflow.com/a/61674208
</span>---
devel/grpc/Portfile | 4 +++-
.../grpc/files/patch-avoid-overlinking-abseil.diff | 26 ++++++++++++++++++++++
2 files changed, 29 insertions(+), 1 deletion(-)
<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 e0d9ae78664..6bf8791b8a9 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;'>@@ -8,7 +8,7 @@ PortGroup compiler_blacklist_versions 1.0
</span>
# NOTE: Also rev-bump 'apache-arrow' when updating this port
github.setup grpc grpc 1.48.4 v
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 2
</span> categories devel
maintainers nomaintainer
license Apache-2
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -36,6 +36,8 @@ patchfiles-append patch-unbreak-port_platform.diff
</span> # https://github.com/grpc/grpc/pull/26480
patchfiles-append patch-python-respect-cc-variable.diff
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-avoid-overlinking-abseil.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # error: constexpr function never produces a constant expression
# Requires c++17 support
compiler.cxx_standard 2017
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/grpc/files/patch-avoid-overlinking-abseil.diff b/devel/grpc/files/patch-avoid-overlinking-abseil.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..f7ff8858ae2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/grpc/files/patch-avoid-overlinking-abseil.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,26 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Avoid overlinking abseil in libs using grpc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+grpc exports a pkg-config file that instructs all users of grpc to link
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+against some libraries from libabseil when linking against grpc. Because
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+abseil often changes its soversion, this requires many ports that use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+grpc to be revbumped whenever abseil changes, even though they only use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+symbols from grpc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Avoid this by using the Requires.private field in the grpc pkg-config
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+file as documented in [1]. See also [2], which explains the difference
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+in linking.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[1]: https://people.freedesktop.org/~dbn/pkg-config-guide.html#concepts
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[2]: https://stackoverflow.com/a/61674208
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Upstream-Status: Pending
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./cmake/pkg-config-template.pc.in.orig 2023-08-26 21:55:00.000000000 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./cmake/pkg-config-template.pc.in 2023-08-26 21:59:26.000000000 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7,6 +7,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Description: @PC_DESCRIPTION@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Version: @PC_VERSION@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Cflags: -I${includedir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-Requires: @PC_REQUIRES@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Requires.private: @PC_REQUIRES@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Libs: -L${libdir} @PC_LIB@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Libs.private: @PC_LIBS_PRIVATE@
</span></pre><pre style='margin:0'>
</pre>