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