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