<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/7e50f3aada608a3f03515f9eae5eba01d4abb04b">https://github.com/macports/macports-ports/commit/7e50f3aada608a3f03515f9eae5eba01d4abb04b</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 7e50f3aada6 protobuf3-cpp-upstream: new segregated port, providing latest release Closes: https://trac.macports.org/ticket/67767
</span>7e50f3aada6 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 7e50f3aada608a3f03515f9eae5eba01d4abb04b
</span>Author: Christopher Nielsen <mascguy@github.com>
AuthorDate: Wed Jul 19 07:11:19 2023 -0400

<span style='display:block; white-space:pre;color:#404040;'>    protobuf3-cpp-upstream: new segregated port, providing latest release
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/67767
</span>---
 devel/protobuf3-cpp-upstream/Portfile              | 132 +++++++++++++++++++++
 .../files/cmake-zlib-include.diff                  |  10 ++
 2 files changed, 142 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/protobuf3-cpp-upstream/Portfile b/devel/protobuf3-cpp-upstream/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..207cdba359e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/protobuf3-cpp-upstream/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,132 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem      1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup       compiler_blacklist_versions 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup       github 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup       cmake 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# NOTE: For any version number change, also
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# NOTE:   Update py-protobuf3 version's number to match
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# NOTE: For a minor or major version number change, also
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# NOTE:   Revbump et, protobuf-c, mosh and py-onnx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set release_version \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                23.4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name            protobuf3-cpp-upstream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup    protocolbuffers protobuf 3.${release_version} v
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+git.branch      v${release_version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision        0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories      devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers     {mascguy @mascguy} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license         BSD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description     Encode data in an efficient yet extensible format.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                Google Protocol Buffers are a flexible, efficient, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                automated mechanism for serializing structured data -- \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                think XML, but smaller, faster, and simpler.  You \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                define how you want your data to be structured once, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                then you can use special generated source code to \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                easily write and read your structured data to and from \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                a variety of data streams and using a variety of \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                languages.  You can even update your data structure \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                without breaking deployed programs that are compiled \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                against the "old" format.  You specify how you want \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                the information you're serializing to be structured by \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                defining protocol buffer message types in .proto \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                files.  Each protocol buffer message is a small \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                logical record of information, containing a series of \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                name-value pairs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage        https://developers.google.com/protocol-buffers/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums       rmd160  c89adfc994e8f6611f1316cd8d3933865f49efb3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                sha256  a700a49470d301f1190a487a923b5095bf60f08f4ae4cac9f5f7c36883d17971 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                size    5043507
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.tarball_from releases
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distname        protobuf-${release_version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+dist_subdir     protobuf3-cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+worksrcdir      protobuf-${release_version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Upstream adds zlib include - which is ${prefix}/include - before search path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# of 3rd-party components, like gtest, gmock, etc. That causes the external
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# versions of those to be pulled in, and the build fails.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# So don't let the project cmake add zlib; already added (last) by base.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append cmake-zlib-include.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cxx_standard   2011
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.thread_local_storage   yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# error: constexpr constructor never produces a constant expression [-Winvalid-constexpr]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist {clang < 900}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if { [string match *clang* ${configure.compiler}] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Quiet deprecation warnings
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.cxxflags-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -Wno-deprecated-declarations \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -Wno-error=unknown-warning-option \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -Wno-unknown-warning-option
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Clear optflags; controlled by project, via cmake build type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.optflags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[variant_isset debug]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    cmake.build_type Debug
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    cmake.build_type RelWithDebInfo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmake.install_prefix \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${prefix}/libexec/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                port:abseil \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                port:zlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -DBUILD_SHARED_LIBS:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -Dprotobuf_ABSL_PROVIDER=package \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -Dprotobuf_BUILD_LIBPROTOC:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -Dprotobuf_BUILD_PROTOC_BINARIES:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -Dprotobuf_BUILD_TESTS:BOOL=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set docdir ${destroot}${cmake.install_prefix}/share/doc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -d -m 755 ${docdir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach f {CONTRIBUTING.md CONTRIBUTORS.txt LICENSE README.md SECURITY.md editors examples} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file copy ${worksrcpath}/${f} ${docdir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc port_test_ver_check {p_name p_ver p_rev} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { [catch {set port_ver_info [lindex [registry_active ${p_name}] 0]}] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        error "Tests require that ${p_name} be active; install, then re-run tests"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set test_ver ${p_ver}_${p_rev}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set port_ver [lindex ${port_ver_info} 1]_[lindex ${port_ver_info} 2]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_info "port_test_ver_check: ${p_name}: test_ver: ${test_ver}; port_ver: ${port_ver}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if { [vercmp ${port_ver} ${test_ver}] != 0 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            error "Tests require installed version of ${p_name} to match port; update, then re-run tests"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant tests description {Build with tests enabled} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    pre-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port_test_ver_check ${subport} ${version} ${revision}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -Dprotobuf_BUILD_TESTS:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -Dprotobuf_BUILD_TESTS:BOOL=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    test.run    yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    test.target check
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.version       ${release_version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.livecheck.regex  {([0-9.]+)}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/protobuf3-cpp-upstream/files/cmake-zlib-include.diff b/devel/protobuf3-cpp-upstream/files/cmake-zlib-include.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..e680d34435b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/protobuf3-cpp-upstream/files/cmake-zlib-include.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- CMakeLists.txt.orig    2023-06-01 13:13:50.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ CMakeLists.txt 2023-06-01 13:14:05.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -296,7 +296,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif (MSVC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ include_directories(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  ${ZLIB_INCLUDE_DIRECTORIES}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ${protobuf_BINARY_DIR}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ${protobuf_SOURCE_DIR}/src)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span></pre><pre style='margin:0'>

</pre>