diff --git a/R/R-RProtoBuf/Portfile b/R/R-RProtoBuf/Portfile index 61bba8ebdc2b7..bf8e70ca26ac1 100644 --- a/R/R-RProtoBuf/Portfile +++ b/R/R-RProtoBuf/Portfile @@ -3,27 +3,28 @@ PortSystem 1.0 PortGroup R 1.0 -R.setup cran eddelbuettel RProtoBuf 0.4.22 -revision 1 +R.setup cran eddelbuettel RProtoBuf 0.4.24 +revision 0 categories-append devel maintainers {@barracuda156 gmail.com:vital.had} openmaintainer license GPL-2+ description R interface to the Protocol Buffers API long_description {*}${description} homepage-append https://dirk.eddelbuettel.com/code/rprotobuf.html -checksums rmd160 e9f6d049b1f696a17c9179190400d36fa0c78d23 \ - sha256 75b802176722052d1ef2c6b36adff9204ee86fb8f2e1fcecd897571bd8ed8d7e \ - size 1010658 +checksums rmd160 98732fea1e3f14f8fb36984b1f9aa7ace895bfe8 \ + sha256 f22c16013d8cbedf5a09bb854ce092466434db740092fc0d7554fb5d33896168 \ + size 1013085 -if {${os.platform} eq "darwin" && ${os.major} < 16} { +if {${os.platform} eq "darwin" && ${configure.cxx_stdlib} ne "libc++"} { # Symbol not found: __ZN6google8protobuf8compiler10SourceTree19GetLastErrorMessageB5cxx11Ev patchfiles-append \ patch-cxx11.diff } depends_build-append \ - port:pkgconfig -depends_lib-append port:protobuf3-cpp \ + path:bin/pkg-config:pkgconfig + +depends_lib-append port:protobuf \ port:R-Rcpp compiler.cxx_standard 2017 diff --git a/R/R-cld3/Portfile b/R/R-cld3/Portfile index 278a9ef80460a..9a1b862ee2231 100644 --- a/R/R-cld3/Portfile +++ b/R/R-cld3/Portfile @@ -5,7 +5,7 @@ PortGroup R 1.0 # GitHub version is old. R.setup cran ropensci cld3 1.6.1 -revision 0 +revision 1 categories-append devel maintainers nomaintainer license Apache-2 @@ -19,7 +19,7 @@ checksums rmd160 60afb8f5c37a0ecf1d418977c0226d74f4bd4e3c \ depends_build-append \ path:bin/pkg-config:pkgconfig -depends_lib-append port:protobuf3-cpp \ +depends_lib-append port:protobuf \ port:R-Rcpp if {${os.platform} eq "darwin" && ${configure.cxx_stdlib} ne "libc++"} { diff --git a/R/R-protolite/Portfile b/R/R-protolite/Portfile index f09c57a7b65ff..7b8ec82d1acbd 100644 --- a/R/R-protolite/Portfile +++ b/R/R-protolite/Portfile @@ -5,7 +5,7 @@ PortGroup R 1.0 # GitHub version lags behind. R.setup cran jeroen protolite 2.3.1 -revision 0 +revision 1 categories-append devel maintainers {@barracuda156 gmail.com:vital.had} openmaintainer license MIT @@ -27,7 +27,7 @@ if {${os.platform} eq "darwin" && ${configure.cxx_stdlib} ne "libc++"} { depends_build-append \ path:bin/pkg-config:pkgconfig -depends_lib-append port:protobuf3-cpp \ +depends_lib-append port:protobuf \ port:R-jsonlite \ port:R-Rcpp diff --git a/databases/mysql57/Portfile b/databases/mysql57/Portfile index 0de56e6b9e78b..d28489f0b1799 100644 --- a/databases/mysql57/Portfile +++ b/databases/mysql57/Portfile @@ -43,7 +43,7 @@ if {$subport eq $name} { # poll-emulator breaks the build, if active: # xcom/task.c:744:37: error: 'POLLRDNORM' undeclared (first use in this function) # See also: https://trac.macports.org/ticket/38558 - conflicts_build boost protobuf3-cpp protobuf-cpp poll-emulator + conflicts_build boost protobuf poll-emulator distfiles ${distname}${extract.suffix}:mysql \ ${boost_distname}${extract.suffix}:boost diff --git a/databases/percona/Portfile b/databases/percona/Portfile index baac5fdf13351..e164afa5553d8 100644 --- a/databases/percona/Portfile +++ b/databases/percona/Portfile @@ -8,8 +8,8 @@ set name_package ${name}-server set version_mysql 8.0.16 set release 7 # Please set revision_client and revision_server to 0 if you bump version_mysql or release. -set revision_client 9 -set revision_server 2 +set revision_client 10 +set revision_server 3 set boost_version 1.69.0 version ${version_mysql}-${release} categories databases @@ -64,7 +64,7 @@ if {$subport eq $name} { path:lib/pkgconfig/icu-uc.pc:icu \ port:libevent \ port:lz4 \ - port:protobuf3-cpp \ + port:protobuf \ port:re2 \ port:zlib \ port:tcp_wrappers diff --git a/devel/Bear/Portfile b/devel/Bear/Portfile index f5b9532dd1969..e5a385a284645 100644 --- a/devel/Bear/Portfile +++ b/devel/Bear/Portfile @@ -11,7 +11,7 @@ legacysupport.use_mp_libcxx yes github.setup rizsotto Bear 3.1.6 github.tarball_from archive -revision 0 +revision 1 checksums rmd160 41ff322cdbc0c5f15adf17193b586c3dad441230 \ sha256 99cd891eec6e89b734d7cafe0e623dd8c2f27d8cbf3ee9bc4807e69e5c8fb55c \ @@ -46,8 +46,9 @@ depends_build-append \ depends_lib-append port:abseil \ port:grpc \ port:${port_libfmt} \ - port:protobuf3-cpp + port:protobuf configure.args-append \ -DENABLE_UNIT_TESTS=Off \ - -DENABLE_FUNC_TESTS=Off + -DENABLE_FUNC_TESTS=Off \ + -DCMAKE_EXE_LINKER_FLAGS="-lgrpc -lgpr" diff --git a/devel/grpc/Portfile b/devel/grpc/Portfile index 2e40d53632b1f..b08e75c833695 100644 --- a/devel/grpc/Portfile +++ b/devel/grpc/Portfile @@ -2,15 +2,15 @@ PortSystem 1.0 PortGroup cmake 1.1 +PortGroup compiler_blacklist_versions 1.0 PortGroup github 1.0 PortGroup legacysupport 1.1 -PortGroup compiler_blacklist_versions 1.0 +PortGroup openssl 1.0 # NOTE: Also rev-bump 'apache-arrow' when updating this port -github.setup grpc grpc 1.48.4 v -# Change github.tarball_from to 'releases' or 'archive' next update -github.tarball_from tarball -revision 11 +github.setup grpc grpc 1.72.0 v +github.tarball_from releases +revision 0 categories devel maintainers nomaintainer license Apache-2 @@ -30,19 +30,14 @@ github.livecheck.regex {([0-9.]+)} set name_io ${name}io -patchfiles-append patch-unbreak-port_platform.diff -patchfiles-append patch-python-respect-cc-variable.diff +patchfiles-append patch-use-cxx17.diff patchfiles-append patch-avoid-overlinking-abseil.diff -patchfiles-append patch-src-core-ext-xds-xds_api.cc.diff - # abseil and re2 require c++17 support compiler.cxx_standard 2017 # https://github.com/grpc/grpc/commit/f15ba1ffc73c5d0b63754df72fc47c567b9c7252 -if {[vercmp ${version} >= 1.51.0]} { compiler.thread_local_storage yes -} depends_build-append \ path:bin/pkg-config:pkgconfig @@ -52,8 +47,7 @@ depends_lib-append \ port:c-ares \ port:lbzip2 \ path:lib/pkgconfig/libuv.pc:libuv \ - path:lib/libssl.dylib:openssl \ - port:protobuf3-cpp \ + port:protobuf \ port:re2 \ port:zlib @@ -87,7 +81,9 @@ configure.args-append \ -DgRPC_PROTOBUF_PROVIDER=package \ -DgRPC_RE2_PROVIDER=package \ -DgRPC_SSL_PROVIDER=package \ - -DgRPC_ZLIB_PROVIDER=package + -DgRPC_ZLIB_PROVIDER=package \ + -DCMAKE_SHARED_LINKER_FLAGS="-Wl,-undefined,dynamic_lookup" \ + -DCMAKE_EXE_LINKER_FLAGS="-Wl,-undefined,dynamic_lookup,-rpath,${prefix}/lib,-rpath,${prefix}/lib" # https://github.com/grpc/grpc/pull/32159 configure.cppflags-append \ @@ -162,7 +158,7 @@ variant test description {Build and run unit testing framework} { } # create Python subports -set python_versions {39 310} +set python_versions {39 310 311 312 313} # Python modules grpcio and grpcio-tools foreach v ${python_versions} { @@ -254,34 +250,42 @@ if {[string match "py*" ${subport}]} { if {[string match "py*${name_io}" ${subport}]} { depends_build-append \ port:py${python.version}-coverage \ - port:py${python.version}-cython-compat \ port:py${python.version}-setuptools depends_lib-append \ port:py${python.version}-cython \ - port:py${python.version}-protobuf3 \ + port:py${python.version}-protobuf \ port:py${python.version}-six depends_test-append \ port:py${python.version}-twisted - # Not yet compatible with Cython 3 - set compat_path [string replace ${python.pkgd} 0 [string length ${python.prefix}]-1 ${prefix}/lib/py${python.version}-cython-compat] - build.env-append PYTHONPATH=${compat_path} - destroot.env-append PYTHONPATH=${compat_path} + if {${python.version} >= 313} { + depends_build-append \ + port:py${python.version}-cython + } else { + depends_build-append \ + port:py${python.version}-cython-compat + # Not yet compatible with Cython 3 + set compat_path [string replace ${python.pkgd} 0 [string length ${python.prefix}]-1 ${prefix}/lib/py${python.version}-cython-compat] + build.env-append PYTHONPATH=${compat_path} + destroot.env-append PYTHONPATH=${compat_path} + } } # Python bindings for grpcio-tools if {[string match "py*-${name_io}-tools" ${subport}]} { - set grpc_submodules \ - protobuf + set grpc_submodules [list \ + abseil-cpp \ + protobuf \ + ] depends_build-append \ port:py${python.version}-setuptools depends_lib-append \ port:py${python.version}-${name_io} \ - port:py${python.version}-protobuf3 + port:py${python.version}-protobuf # Build instructions: # https://github.com/grpc/grpc/tree/master/tools/distrib/python/grpcio_tools diff --git a/devel/grpc/files/patch-avoid-overlinking-abseil.diff b/devel/grpc/files/patch-avoid-overlinking-abseil.diff index f7ff8858ae213..503920a72f7c6 100644 --- a/devel/grpc/files/patch-avoid-overlinking-abseil.diff +++ b/devel/grpc/files/patch-avoid-overlinking-abseil.diff @@ -14,13 +14,13 @@ in linking. [2]: https://stackoverflow.com/a/61674208 Upstream-Status: Pending ---- ./cmake/pkg-config-template.pc.in.orig 2023-08-26 21:55:00.000000000 +0200 -+++ ./cmake/pkg-config-template.pc.in 2023-08-26 21:59:26.000000000 +0200 -@@ -7,6 +7,6 @@ +--- ./cmake/pkg-config-template.pc.in.orig 2025-05-08 11:14:03 ++++ ./cmake/pkg-config-template.pc.in 2025-05-08 11:14:17 +@@ -7,7 +7,6 @@ Description: @PC_DESCRIPTION@ Version: @PC_VERSION@ Cflags: -I${includedir} -Requires: @PC_REQUIRES@ -+Requires.private: @PC_REQUIRES@ + Requires.private: @PC_REQUIRES_PRIVATE@ Libs: -L${libdir} @PC_LIB@ Libs.private: @PC_LIBS_PRIVATE@ diff --git a/devel/grpc/files/patch-python-respect-cc-variable.diff b/devel/grpc/files/patch-python-respect-cc-variable.diff deleted file mode 100644 index 6de2ba1b1cf5b..0000000000000 --- a/devel/grpc/files/patch-python-respect-cc-variable.diff +++ /dev/null @@ -1,107 +0,0 @@ -Respect CC environment variable. -https://github.com/grpc/grpc/pull/26480 - -Use C++17 instead of C++14. -https://github.com/grpc/grpc/issues/34256 -https://github.com/grpc/grpc/commit/93b29607ccaa2545e2b3a5a8016f765333f1b38f ---- src/python/grpcio/commands.py -+++ src/python/grpcio/commands.py -@@ -228,7 +228,8 @@ def compiler_ok_with_extra_std(): - """ - try: - # TODO(lidiz) Remove the generated a.out for success tests. -- cc_test = subprocess.Popen(['cc', '-x', 'c', '-std=c++14', '-'], -+ cc = os.environ.get('CC', 'cc') -+ cc_test = subprocess.Popen([cc, '-x', 'c', '-std=c++17', '-'], - stdin=subprocess.PIPE, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE) ---- tools/distrib/gen_compilation_database.py.orig 2024-12-29 20:39:24.000000000 -0600 -+++ tools/distrib/gen_compilation_database.py 2024-12-29 21:30:07.000000000 -0600 -@@ -88,7 +88,7 @@ - # Workaround for bazel added C++14 options, those doesn't affect build itself but - # clang-tidy will misinterpret them. - options = options.replace("-std=c++0x ", "") -- options = options.replace("-std=c++14 ", "") -+ options = options.replace("-std=c++17 ", "") - - # Add -DNDEBUG so that editors show the correct size information for structs. - options += " -DNDEBUG" -@@ -107,7 +107,7 @@ - options += " -Wno-unused-function" - if not target["file"].startswith("external/"): - # *.h file is treated as C header by default while our headers files are all C++14. -- options = "-x c++ -std=c++14 -fexceptions " + options -+ options = "-x c++ -std=c++17 -fexceptions " + options - - target["command"] = " ".join([cc, options]) - return target ---- tools/distrib/python/grpcio_tools/setup.py.orig 2024-12-29 20:39:24.000000000 -0600 -+++ tools/distrib/python/grpcio_tools/setup.py 2024-12-29 21:30:07.000000000 -0600 -@@ -88,7 +88,7 @@ - code_test = (b'#include \n' + - b'int main() { return std::atomic{}; }') - cxx = os.environ.get('CXX', 'c++') -- cpp_test = subprocess.Popen([cxx, '-x', 'c++', '-std=c++14', '-'], -+ cpp_test = subprocess.Popen([cxx, '-x', 'c++', '-std=c++17', '-'], - stdin=PIPE, - stdout=PIPE, - stderr=PIPE) -@@ -98,7 +98,7 @@ - # Double-check to see if -latomic actually can solve the problem. - # https://github.com/grpc/grpc/issues/22491 - cpp_test = subprocess.Popen( -- [cxx, '-x', 'c++', '-std=c++14', '-', '-latomic'], -+ [cxx, '-x', 'c++', '-std=c++17', '-', '-latomic'], - stdin=PIPE, - stdout=PIPE, - stderr=PIPE) -@@ -134,7 +134,7 @@ - EXTRA_ENV_COMPILE_ARGS = os.environ.get('GRPC_PYTHON_CFLAGS', None) - EXTRA_ENV_LINK_ARGS = os.environ.get('GRPC_PYTHON_LDFLAGS', None) - if EXTRA_ENV_COMPILE_ARGS is None: -- EXTRA_ENV_COMPILE_ARGS = '-std=c++14' -+ EXTRA_ENV_COMPILE_ARGS = '-std=c++17' - if 'win32' in sys.platform: - if sys.version_info < (3, 5): - # We use define flags here and don't directly add to DEFINE_MACROS below to ---- tools/run_tests/artifacts/artifact_targets.py.orig 2024-12-29 20:39:24.000000000 -0600 -+++ tools/run_tests/artifacts/artifact_targets.py 2024-12-29 21:30:07.000000000 -0600 -@@ -384,7 +384,7 @@ - environ=environ) - else: - environ[ -- 'CXXFLAGS'] += ' -std=c++14 -stdlib=libc++ %s' % _MACOS_COMPAT_FLAG -+ 'CXXFLAGS'] += ' -std=c++17 -stdlib=libc++ %s' % _MACOS_COMPAT_FLAG - return create_jobspec( - self.name, - ['tools/run_tests/artifacts/build_artifact_protoc.sh'], ---- setup.py.orig 2024-12-29 20:39:21.000000000 -0600 -+++ setup.py 2024-12-29 21:30:08.000000000 -0600 -@@ -207,7 +207,7 @@ - code_test = (b'#include \n' + - b'int main() { return std::atomic{}; }') - cxx = shlex.split(os.environ.get('CXX', 'c++')) -- cpp_test = subprocess.Popen(cxx + ['-x', 'c++', '-std=c++14', '-'], -+ cpp_test = subprocess.Popen(cxx + ['-x', 'c++', '-std=c++17', '-'], - stdin=PIPE, - stdout=PIPE, - stderr=PIPE) -@@ -217,7 +217,7 @@ - # Double-check to see if -latomic actually can solve the problem. - # https://github.com/grpc/grpc/issues/22491 - cpp_test = subprocess.Popen( -- [cxx, '-x', 'c++', '-std=c++14', '-', '-latomic'], -+ [cxx, '-x', 'c++', '-std=c++17', '-', '-latomic'], - stdin=PIPE, - stdout=PIPE, - stderr=PIPE) -@@ -235,7 +235,7 @@ - EXTRA_ENV_COMPILE_ARGS = os.environ.get('GRPC_PYTHON_CFLAGS', None) - EXTRA_ENV_LINK_ARGS = os.environ.get('GRPC_PYTHON_LDFLAGS', None) - if EXTRA_ENV_COMPILE_ARGS is None: -- EXTRA_ENV_COMPILE_ARGS = ' -std=c++14' -+ EXTRA_ENV_COMPILE_ARGS = ' -std=c++17' - if 'win32' in sys.platform: - if sys.version_info < (3, 5): - EXTRA_ENV_COMPILE_ARGS += ' -D_hypot=hypot' diff --git a/devel/grpc/files/patch-src-core-ext-xds-xds_api.cc.diff b/devel/grpc/files/patch-src-core-ext-xds-xds_api.cc.diff deleted file mode 100644 index 0c32acf28c578..0000000000000 --- a/devel/grpc/files/patch-src-core-ext-xds-xds_api.cc.diff +++ /dev/null @@ -1,10 +0,0 @@ ---- src/core/ext/xds/xds_api.cc.orig 2025-03-19 16:42:13 -+++ src/core/ext/xds/xds_api.cc 2025-03-19 16:46:46 -@@ -22,6 +22,7 @@ - #include - - #include -+#include - #include - #include - #include diff --git a/devel/grpc/files/patch-unbreak-port_platform.diff b/devel/grpc/files/patch-unbreak-port_platform.diff deleted file mode 100644 index a54b2f4c8f71e..0000000000000 --- a/devel/grpc/files/patch-unbreak-port_platform.diff +++ /dev/null @@ -1,15 +0,0 @@ -Fix build with compilers that don't have __has_feature. -https://github.com/grpc/grpc/issues/29680 ---- include/grpc/impl/codegen/port_platform.h.orig 2024-12-30 00:03:28.000000000 -0600 -+++ include/grpc/impl/codegen/port_platform.h 2024-12-30 00:14:34.000000000 -0600 -@@ -242,7 +242,9 @@ - #define GPR_CPU_POSIX 1 - #define GPR_POSIX_CRASH_HANDLER 1 - #endif --#if !(defined(__has_feature) && __has_feature(cxx_thread_local)) -+#ifndef __has_feature -+#define GPR_PTHREAD_TLS 1 -+#elif !__has_feature(cxx_thread_local) - #define GPR_PTHREAD_TLS 1 - #endif - #define GPR_APPLE 1 diff --git a/devel/grpc/files/patch-use-cxx17.diff b/devel/grpc/files/patch-use-cxx17.diff new file mode 100644 index 0000000000000..74561f76d1478 --- /dev/null +++ b/devel/grpc/files/patch-use-cxx17.diff @@ -0,0 +1,14 @@ +Use C++17 instead of C++14. +https://github.com/grpc/grpc/issues/34256 +https://github.com/grpc/grpc/commit/93b29607ccaa2545e2b3a5a8016f765333f1b38f +--- tools/distrib/gen_compilation_database.py.orig 2025-05-08 11:16:19 ++++ tools/distrib/gen_compilation_database.py 2025-05-08 11:16:24 +@@ -98,7 +98,7 @@ + # Workaround for bazel added C++14 options, those doesn't affect build itself but + # clang-tidy will misinterpret them. + options = options.replace("-std=c++0x ", "") +- options = options.replace("-std=c++14 ", "") ++ options = options.replace("-std=c++17 ", "") + + # Add -DNDEBUG so that editors show the correct size information for structs. + options += " -DNDEBUG" diff --git a/devel/libphonenumber-cpp/Portfile b/devel/libphonenumber-cpp/Portfile index 2feef53a68756..07c8bd7deb089 100644 --- a/devel/libphonenumber-cpp/Portfile +++ b/devel/libphonenumber-cpp/Portfile @@ -11,7 +11,7 @@ boost.version 1.81 github.setup googlei18n libphonenumber 8.13.49 v # Change github.tarball_from to 'releases' or 'archive' next update github.tarball_from tarball -revision 1 +revision 2 name libphonenumber-cpp license Apache-2 description Google's C++ library for parsing, formatting, storing \ @@ -34,7 +34,7 @@ depends_build-append \ depends_lib-append port:abseil \ path:lib/pkgconfig/icu-uc.pc:icu \ - port:protobuf3-cpp + port:protobuf configure.args-append \ -DABSL_PROPAGATE_CXX_STD=ON \ @@ -47,7 +47,7 @@ configure.args-append \ compiler.cxx_standard 2017 configure.cxxflags-append -std=c++17 -# force protobuf3-cpp into the no_threadlocal mode on older systems +# force protobuf into the no_threadlocal mode on older systems if { ${os.platform} eq "darwin" && ${os.major} < 11 } { configure.cppflags-append \ -DGOOGLE_PROTOBUF_NO_THREADLOCAL diff --git a/devel/protobuf-cpp/Portfile b/devel/protobuf-cpp/Portfile index ef35b56d575cd..6f584cf956961 100644 --- a/devel/protobuf-cpp/Portfile +++ b/devel/protobuf-cpp/Portfile @@ -1,65 +1,10 @@ # -*- 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 PortSystem 1.0 -PortGroup github 1.0 +PortGroup obsolete 1.0 name protobuf-cpp +replaced_by protobuf2-cpp version 2.6.1 +revision 1 categories devel -maintainers nomaintainer -license BSD -description Encode data in an efficient yet extensible format. -conflicts protobuf3-cpp - -long_description \ - Google Protocol Buffers are a flexible, efficient, \ - automated mechanism for serializing structured data -- \ - think XML, but smaller, faster, and simpler. You \ - define how you want your data to be structured once, \ - then you can use special generated source code to \ - easily write and read your structured data to and from \ - a variety of data streams and using a variety of \ - languages. You can even update your data structure \ - without breaking deployed programs that are compiled \ - against the "old" format. You specify how you want \ - the information you're serializing to be structured by \ - defining protocol buffer message types in .proto \ - files. Each protocol buffer message is a small \ - logical record of information, containing a series of \ - name-value pairs. - -github.setup google protobuf ${version} v -github.tarball_from releases -homepage https://github.com/google/protobuf -master_sites https://github.com/google/protobuf/releases/download/v${version} -distfiles protobuf-${version}.tar.bz2 -worksrcdir protobuf-${version} - -use_bzip2 yes -checksums sha1 6421ee86d8fb4e39f21f56991daa892a3e8d314b \ - sha256 ee445612d544d885ae240ffbcbf9267faa9f593b7b101f21d58beceb92661910 - -platforms darwin - -depends_lib port:zlib - -# 2.6.1's glibtool doesn't pass -stdlib=libc++ to the linker -use_autoreconf yes -autoreconf.args -fvi - -configure.cflags-append -g -configure.cppflags-append -g - -post-destroot { - set docdir ${destroot}${prefix}/share/doc/${name} - - xinstall -d -m 755 ${docdir} - - foreach f {CHANGES.txt CONTRIBUTORS.txt INSTALL.txt LICENSE README.md editors examples} { - file copy ${worksrcpath}/${f} ${docdir} - } -} - -test.run yes -test.cmd "ulimit -c 0; make" -test.target check diff --git a/devel/protobuf-java/Portfile b/devel/protobuf-java/Portfile index f4594c13c2ffd..1840299a95167 100644 --- a/devel/protobuf-java/Portfile +++ b/devel/protobuf-java/Portfile @@ -1,14 +1,23 @@ +# -*- 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 + PortSystem 1.0 -PortGroup github 1.0 +PortGroup github 1.0 name protobuf-java version 2.6.1 +revision 1 +github.setup google protobuf ${version} v +github.tarball_from releases + +conflicts protobuf3-java +platforms any +supported_archs noarch + categories devel -maintainers nomaintainer license BSD -description Encode data in an efficient yet extensible format. -conflicts protobuf3-java +maintainers {mascguy @mascguy} openmaintainer +description Encode data in an efficient yet extensible format. long_description \ Google Protocol Buffers are a flexible, efficient, \ automated mechanism for serializing structured data -- \ @@ -25,41 +34,42 @@ long_description \ files. Each protocol buffer message is a small \ logical record of information, containing a series of \ name-value pairs. - -github.setup google protobuf ${version} v -github.tarball_from releases homepage https://github.com/google/protobuf + master_sites https://github.com/google/protobuf/releases/download/v${version} distfiles protobuf-${version}.tar.bz2 dist_subdir protobuf-cpp worksrcdir protobuf-${version}/java - use_bzip2 yes -checksums sha1 6421ee86d8fb4e39f21f56991daa892a3e8d314b \ - sha256 ee445612d544d885ae240ffbcbf9267faa9f593b7b101f21d58beceb92661910 -platforms any -supported_archs noarch +checksums rmd160 654acfce84b4ba738a0332d0c967d1399ff6e4c2 \ + sha256 ee445612d544d885ae240ffbcbf9267faa9f593b7b101f21d58beceb92661910 \ + size 2021416 + +depends_build-append \ + port:apache-ant -depends_lib port:zlib port:protobuf-cpp -depends_build port:apache-ant +depends_lib-append \ + port:protobuf2-cpp \ + port:zlib -patch { - file copy ${filespath}/build.xml ${worksrcpath}/ +post-patch { + copy ${filespath}/build.xml ${worksrcpath}/ } use_configure no build.cmd ant build.target jar api +build.env-append PATH=${prefix}/libexec/protobuf2-cpp/bin:$env(PATH) destroot { set javadir ${destroot}${prefix}/share/java set docdir ${destroot}${prefix}/share/doc/${name} - xinstall -d -m 755 ${javadir} - xinstall -d -m 755 ${docdir} + xinstall -d ${javadir} + xinstall -d ${docdir} - file copy ${worksrcpath}/protobuf.jar ${javadir} - file copy ${worksrcpath}/api ${docdir}/api + copy ${worksrcpath}/protobuf.jar ${javadir} + copy ${worksrcpath}/api ${docdir}/api } diff --git a/devel/protobuf/Portfile b/devel/protobuf/Portfile new file mode 100644 index 0000000000000..b3865f9855f7e --- /dev/null +++ b/devel/protobuf/Portfile @@ -0,0 +1,138 @@ +# -*- 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 + +PortSystem 1.0 +PortGroup cmake 1.1 +PortGroup compiler_blacklist_versions 1.0 +PortGroup github 1.0 +PortGroup legacysupport 1.1 + +# clock_gettime needed for abseil +# https://github.com/macports/macports-ports/pull/19905#issuecomment-1680281240 +legacysupport.newest_darwin_requires_legacy 15 + +# NOTE: For a minor or major version number change, also +# NOTE: Revbump et, protobuf-c, mosh and py-onnx + +name protobuf +github.setup protocolbuffers protobuf 30.2 v +github.tarball_from releases +git.branch v${version} +revision 0 + +categories devel +license BSD +maintainers {mascguy @mascguy} openmaintainer + +description Encode data in an efficient yet extensible format. +long_description \ + Google Protocol Buffers are a flexible, efficient, \ + automated mechanism for serializing structured data -- \ + think XML, but smaller, faster, and simpler. You \ + define how you want your data to be structured once, \ + then you can use special generated source code to \ + easily write and read your structured data to and from \ + a variety of data streams and using a variety of \ + languages. You can even update your data structure \ + without breaking deployed programs that are compiled \ + against the "old" format. You specify how you want \ + the information you're serializing to be structured by \ + defining protocol buffer message types in .proto \ + files. Each protocol buffer message is a small \ + logical record of information, containing a series of \ + name-value pairs. +homepage https://protobuf.dev + +distname protobuf-${version} +worksrcdir protobuf-${version} + +checksums rmd160 ef4d5bfc28aaec952d4300296016fd0ce8db3e66 \ + sha256 fb06709acc393cc36f87c251bb28a5500a2e12936d4346099f2c6240f6c7a941 \ + size 9506934 + +# Upstream adds zlib include - which is ${prefix}/include - before search path +# of 3rd-party components, like gtest, gmock, etc. That causes the external +# versions of those to be pulled in, and the build fails. +# So don't let the project cmake add zlib; already added (last) by base. +patchfiles-append cmake-zlib-include.diff + +# generated_message_tctable_decl.h:260:34: error: static assertion failed +# static_assert(sizeof(MapAuxInfo) <= 8, ""); +# generated_message_tctable_decl.h:260:34: note: the comparison reduces to '(12 <= 8)' +patchfiles-append patch-fix-bools.diff + +compiler.cxx_standard 2017 +compiler.thread_local_storage yes +# error: constexpr constructor never produces a constant expression [-Winvalid-constexpr] +compiler.blacklist-append \ + {clang < 900} + +if { [string match *clang* ${configure.compiler}] } { + # Quiet deprecation warnings + configure.cxxflags-append \ + -Wno-deprecated-declarations \ + -Wno-error=unknown-warning-option \ + -Wno-unknown-warning-option +} + +# https://github.com/protocolbuffers/protobuf/issues/21814 +if {[string match *gcc* ${configure.compiler}] && ${configure.build_arch} in [list arm i386 ppc]} { + configure.ldflags-append \ + -latomic +} + +# Clear optflags; controlled by project, via cmake build type +configure.optflags + +if {[variant_isset debug]} { + cmake.build_type Debug +} else { + cmake.build_type RelWithDebInfo +} + +depends_lib-append \ + port:abseil \ + port:zlib + +configure.args-append \ + -DBUILD_SHARED_LIBS:BOOL=ON \ + -Dprotobuf_ABSL_PROVIDER=package \ + -Dprotobuf_BUILD_LIBPROTOC:BOOL=ON \ + -Dprotobuf_BUILD_PROTOC_BINARIES:BOOL=ON \ + -Dprotobuf_BUILD_TESTS:BOOL=OFF + +post-destroot { + set docdir ${destroot}${prefix}/share/doc/${name} + + xinstall -d ${docdir} + + foreach f {CONTRIBUTING.md CONTRIBUTORS.txt LICENSE README.md SECURITY.md editors examples} { + copy ${worksrcpath}/${f} ${docdir} + } +} + +proc port_test_ver_check {p_name p_ver p_rev} { + if { [catch {set port_ver_info [lindex [registry_active ${p_name}] 0]}] } { + error "Tests require that ${p_name} be active; install, then re-run tests" + } else { + set test_ver ${p_ver}_${p_rev} + set port_ver [lindex ${port_ver_info} 1]_[lindex ${port_ver_info} 2] + ui_info "port_test_ver_check: ${p_name}: test_ver: ${test_ver}; port_ver: ${port_ver}" + + if { [vercmp ${port_ver} ${test_ver}] != 0 } { + error "Tests require installed version of ${p_name} to match port; update, then re-run tests" + } + } +} + +variant tests description {Build with tests enabled} { + pre-configure { + port_test_ver_check ${subport} ${version} ${revision} + } + + configure.args-replace \ + -Dprotobuf_BUILD_TESTS:BOOL=OFF \ + -Dprotobuf_BUILD_TESTS:BOOL=ON + + test.run yes + test.target check +} diff --git a/devel/protobuf/files/cmake-zlib-include.diff b/devel/protobuf/files/cmake-zlib-include.diff new file mode 100644 index 0000000000000..bb5475fc9db75 --- /dev/null +++ b/devel/protobuf/files/cmake-zlib-include.diff @@ -0,0 +1,10 @@ +--- CMakeLists.txt.orig 2025-05-07 15:35:24 ++++ CMakeLists.txt 2025-05-07 15:46:49 +@@ -259,7 +259,6 @@ + endif (MSVC) + + include_directories( +- ${ZLIB_INCLUDE_DIRECTORIES} + ${protobuf_BINARY_DIR} + # Support #include-ing other top-level directories, i.e. upb_generator. + ${protobuf_SOURCE_DIR} diff --git a/devel/protobuf/files/patch-fix-bools.diff b/devel/protobuf/files/patch-fix-bools.diff new file mode 100644 index 0000000000000..a2bdd59033aea --- /dev/null +++ b/devel/protobuf/files/patch-fix-bools.diff @@ -0,0 +1,40 @@ +--- src/google/protobuf/generated_message_tctable_decl.h 2025-03-26 23:20:57.000000000 +0800 ++++ src/google/protobuf/generated_message_tctable_decl.h 2025-05-18 08:12:04.000000000 +0800 +@@ -154,7 +154,7 @@ + public: + MapTypeCard() = default; + constexpr MapTypeCard(int number, WireFormatLite::WireType wiretype, +- bool is_signed, bool is_zigzag, bool is_utf8) ++ uint8_t is_signed, uint8_t is_zigzag, uint8_t is_utf8) + : tag_(static_cast(WireFormatLite::MakeTag(number, wiretype))), + is_signed_(is_signed), + is_zigzag_(is_zigzag), +@@ -166,22 +166,22 @@ + return static_cast(tag_ & 7); + } + +- bool is_signed() const { return is_signed_; } ++ uint8_t is_signed() const { return is_signed_; } + +- bool is_zigzag() const { ++ uint8_t is_zigzag() const { + ABSL_DCHECK(wiretype() == WireFormatLite::WIRETYPE_VARINT); + return is_zigzag_; + } +- bool is_utf8() const { ++ uint8_t is_utf8() const { + ABSL_DCHECK(wiretype() == WireFormatLite::WIRETYPE_LENGTH_DELIMITED); + return is_utf8_; + } + + private: + uint8_t tag_; +- bool is_signed_ : 1; +- bool is_zigzag_ : 1; +- bool is_utf8_ : 1; ++ uint8_t is_signed_ : 1; ++ uint8_t is_zigzag_ : 1; ++ uint8_t is_utf8_ : 1; + }; + + // Make the map entry type card for a specified field type. diff --git a/devel/protobuf2-cpp/Portfile b/devel/protobuf2-cpp/Portfile new file mode 100644 index 0000000000000..dbcee128acf5c --- /dev/null +++ b/devel/protobuf2-cpp/Portfile @@ -0,0 +1,83 @@ +# -*- 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 + +PortSystem 1.0 +PortGroup github 1.0 + +name protobuf2-cpp +version 2.6.1 +revision 1 +github.setup google protobuf ${version} v +github.tarball_from releases + +categories devel +license BSD +maintainers {mascguy @mascguy} openmaintainer + +description Encode data in an efficient yet extensible format. +long_description \ + Google Protocol Buffers are a flexible, efficient, \ + automated mechanism for serializing structured data -- \ + think XML, but smaller, faster, and simpler. You \ + define how you want your data to be structured once, \ + then you can use special generated source code to \ + easily write and read your structured data to and from \ + a variety of data streams and using a variety of \ + languages. You can even update your data structure \ + without breaking deployed programs that are compiled \ + against the "old" format. You specify how you want \ + the information you're serializing to be structured by \ + defining protocol buffer message types in .proto \ + files. Each protocol buffer message is a small \ + logical record of information, containing a series of \ + name-value pairs. +homepage https://github.com/google/protobuf + +notes-append " +The '${name}' port contains the legacy Protocol Buffers v2 C++ +implementation. + +To avoid file clashes with the modern 'protobuf' port, all headers, libraries, +and the 'protoc' compiler are now installed under ${prefix}/libexec/${name}. + +This port may potentially be removed in the future. +Wherever possible, please migrate builds and scripts to depend on the +'protobuf' port instead. + +If you would like to continue using this port's 'protoc' compiler in the +interim, add it to your PATH, e.g.: + export PATH=${prefix}/libexec/${name}/bin:\$PATH +" + +distname protobuf-${version} +dist_subdir protobuf-cpp +worksrcdir protobuf-${version} +use_bzip2 yes + +checksums rmd160 654acfce84b4ba738a0332d0c967d1399ff6e4c2 \ + sha256 ee445612d544d885ae240ffbcbf9267faa9f593b7b101f21d58beceb92661910 \ + size 2021416 + +depends_lib-append \ + port:zlib + +# 2.6.1's glibtool doesn't pass -stdlib=libc++ to the linker +use_autoreconf yes +autoreconf.args -fvi + +configure.cflags-append -g +configure.cppflags-append -g +configure.args-append --prefix=${prefix}/libexec/${name} + +post-destroot { + set docdir ${destroot}${prefix}/share/doc/${name} + + xinstall -d ${docdir} + + foreach f {CHANGES.txt CONTRIBUTORS.txt INSTALL.txt LICENSE README.md editors examples} { + copy ${worksrcpath}/${f} ${docdir} + } +} + +test.run yes +test.cmd "ulimit -c 0; make" +test.target check diff --git a/devel/protobuf29/Portfile b/devel/protobuf29/Portfile new file mode 100644 index 0000000000000..b50656e1a390e --- /dev/null +++ b/devel/protobuf29/Portfile @@ -0,0 +1,138 @@ +# -*- 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 + +PortSystem 1.0 +PortGroup cmake 1.1 +PortGroup compiler_blacklist_versions 1.0 +PortGroup github 1.0 +PortGroup legacysupport 1.1 + +# clock_gettime needed for abseil +# https://github.com/macports/macports-ports/pull/19905#issuecomment-1680281240 +legacysupport.newest_darwin_requires_legacy 15 + +name protobuf29 +revision 1 +github.setup protocolbuffers protobuf 29.4 v +github.tarball_from releases +git.branch v${version} + +categories devel +license BSD +maintainers {mascguy @mascguy} openmaintainer + +description Encode data in an efficient yet extensible format. +long_description \ + Google Protocol Buffers are a flexible, efficient, \ + automated mechanism for serializing structured data -- \ + think XML, but smaller, faster, and simpler. You \ + define how you want your data to be structured once, \ + then you can use special generated source code to \ + easily write and read your structured data to and from \ + a variety of data streams and using a variety of \ + languages. You can even update your data structure \ + without breaking deployed programs that are compiled \ + against the "old" format. You specify how you want \ + the information you're serializing to be structured by \ + defining protocol buffer message types in .proto \ + files. Each protocol buffer message is a small \ + logical record of information, containing a series of \ + name-value pairs. +homepage https://protobuf.dev + +checksums rmd160 3a8a4c815f22f23c5d8363d5fd7972b005d971a9 \ + sha256 6bd9dcc91b17ef25c26adf86db71c67ec02431dc92e9589eaf82e22889230496 \ + size 9350942 + +distname protobuf-${version} +worksrcdir protobuf-${version} + +# Upstream adds zlib include - which is ${prefix}/include - before search path +# of 3rd-party components, like gtest, gmock, etc. That causes the external +# versions of those to be pulled in, and the build fails. +# So don't let the project cmake add zlib; already added (last) by base. +patchfiles-append cmake-zlib-include.diff + +# Revert a breakage from dropping mach_time in: +# https://github.com/protocolbuffers/protobuf/commit/a8a9bd2e4990fd5e0f0098bdfbe62bc00783eab7 +patchfiles-append patch-unbreak-time.diff + +compiler.cxx_standard 2017 +compiler.thread_local_storage yes + +# error: constexpr constructor never produces a constant expression [-Winvalid-constexpr] +compiler.blacklist-append \ + {clang < 900} + +if { [string match *clang* ${configure.compiler}] } { + # Quiet deprecation warnings + configure.cxxflags-append \ + -Wno-deprecated-declarations \ + -Wno-error=unknown-warning-option \ + -Wno-unknown-warning-option +} + +# https://github.com/protocolbuffers/protobuf/issues/21814 +if {[string match *gcc* ${configure.compiler}] && ${configure.build_arch} in [list arm i386 ppc]} { + configure.ldflags-append \ + -latomic +} + +# Clear optflags; controlled by project, via cmake build type +configure.optflags + +if {[variant_isset debug]} { + cmake.build_type Debug +} else { + cmake.build_type RelWithDebInfo +} + +cmake.install_prefix \ + ${prefix}/libexec/${name} + +depends_lib-append \ + port:abseil \ + port:zlib + +configure.args-append \ + -DBUILD_SHARED_LIBS:BOOL=ON \ + -Dprotobuf_ABSL_PROVIDER=package \ + -Dprotobuf_BUILD_LIBPROTOC:BOOL=ON \ + -Dprotobuf_BUILD_PROTOC_BINARIES:BOOL=ON \ + -Dprotobuf_BUILD_TESTS:BOOL=OFF + +post-destroot { + set docdir ${destroot}${prefix}/share/doc/${name} + + xinstall -d ${docdir} + + foreach f {CONTRIBUTING.md CONTRIBUTORS.txt LICENSE README.md SECURITY.md editors examples} { + copy ${worksrcpath}/${f} ${docdir} + } +} + +proc port_test_ver_check {p_name p_ver p_rev} { + if { [catch {set port_ver_info [lindex [registry_active ${p_name}] 0]}] } { + error "Tests require that ${p_name} be active; install, then re-run tests" + } else { + set test_ver ${p_ver}_${p_rev} + set port_ver [lindex ${port_ver_info} 1]_[lindex ${port_ver_info} 2] + ui_info "port_test_ver_check: ${p_name}: test_ver: ${test_ver}; port_ver: ${port_ver}" + + if { [vercmp ${port_ver} ${test_ver}] != 0 } { + error "Tests require installed version of ${p_name} to match port; update, then re-run tests" + } + } +} + +variant tests description {Build with tests enabled} { + pre-configure { + port_test_ver_check ${subport} ${version} ${revision} + } + + configure.args-replace \ + -Dprotobuf_BUILD_TESTS:BOOL=OFF \ + -Dprotobuf_BUILD_TESTS:BOOL=ON + + test.run yes + test.target check +} diff --git a/devel/protobuf5-cpp/files/cmake-zlib-include.diff b/devel/protobuf29/files/cmake-zlib-include.diff similarity index 100% rename from devel/protobuf5-cpp/files/cmake-zlib-include.diff rename to devel/protobuf29/files/cmake-zlib-include.diff diff --git a/devel/protobuf5-cpp/files/patch-unbreak-time.diff b/devel/protobuf29/files/patch-unbreak-time.diff similarity index 100% rename from devel/protobuf5-cpp/files/patch-unbreak-time.diff rename to devel/protobuf29/files/patch-unbreak-time.diff diff --git a/devel/protobuf3-cpp-upstream/Portfile b/devel/protobuf3-cpp-upstream/Portfile index abd6e7c4bd730..2c61bf0764d79 100644 --- a/devel/protobuf3-cpp-upstream/Portfile +++ b/devel/protobuf3-cpp-upstream/Portfile @@ -1,138 +1,10 @@ # -*- 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 PortSystem 1.0 -PortGroup compiler_blacklist_versions 1.0 -PortGroup github 1.0 -PortGroup cmake 1.1 -PortGroup legacysupport 1.1 +PortGroup obsolete 1.0 -# clock_gettime needed for abseil -# https://github.com/macports/macports-ports/pull/19905#issuecomment-1680281240 -legacysupport.newest_darwin_requires_legacy 15 - -set release_version \ - 29.2 - -# This is a development version of protobuf3-cpp. name protobuf3-cpp-upstream -github.setup protocolbuffers protobuf 3.${release_version} v -git.branch v${release_version} -revision 0 - +replaced_by protobuf +version 3.29.2 +revision 1 categories devel -maintainers {mascguy @mascguy} openmaintainer -license BSD - -description Encode data in an efficient yet extensible format. -long_description \ - Google Protocol Buffers are a flexible, efficient, \ - automated mechanism for serializing structured data -- \ - think XML, but smaller, faster, and simpler. You \ - define how you want your data to be structured once, \ - then you can use special generated source code to \ - easily write and read your structured data to and from \ - a variety of data streams and using a variety of \ - languages. You can even update your data structure \ - without breaking deployed programs that are compiled \ - against the "old" format. You specify how you want \ - the information you're serializing to be structured by \ - defining protocol buffer message types in .proto \ - files. Each protocol buffer message is a small \ - logical record of information, containing a series of \ - name-value pairs. -homepage https://protobuf.dev - -checksums rmd160 6d7cf2f0693eae34f3488f0f773fd29d24f6a05f \ - sha256 63150aba23f7a90fd7d87bdf514e459dd5fe7023fdde01b56ac53335df64d4bd \ - size 9348408 - -github.tarball_from releases -distname protobuf-${release_version} -dist_subdir protobuf3-cpp -worksrcdir protobuf-${release_version} - -# Upstream adds zlib include - which is ${prefix}/include - before search path -# of 3rd-party components, like gtest, gmock, etc. That causes the external -# versions of those to be pulled in, and the build fails. -# So don't let the project cmake add zlib; already added (last) by base. -patchfiles-append cmake-zlib-include.diff - -# Revert a breakage from dropping mach_time in: -# https://github.com/protocolbuffers/protobuf/commit/a8a9bd2e4990fd5e0f0098bdfbe62bc00783eab7 -patchfiles-append patch-unbreak-time.diff - -compiler.cxx_standard 2017 -compiler.thread_local_storage yes -# error: constexpr constructor never produces a constant expression [-Winvalid-constexpr] -compiler.blacklist {clang < 900} - -if { [string match *clang* ${configure.compiler}] } { - # Quiet deprecation warnings - configure.cxxflags-append \ - -Wno-deprecated-declarations \ - -Wno-error=unknown-warning-option \ - -Wno-unknown-warning-option -} - -# Clear optflags; controlled by project, via cmake build type -configure.optflags - -if {[variant_isset debug]} { - cmake.build_type Debug -} else { - cmake.build_type RelWithDebInfo -} - -cmake.install_prefix \ - ${prefix}/libexec/${name} - -depends_lib-append \ - port:abseil \ - port:zlib - -configure.args-append \ - -DBUILD_SHARED_LIBS:BOOL=ON \ - -Dprotobuf_ABSL_PROVIDER=package \ - -Dprotobuf_BUILD_LIBPROTOC:BOOL=ON \ - -Dprotobuf_BUILD_PROTOC_BINARIES:BOOL=ON \ - -Dprotobuf_BUILD_TESTS:BOOL=OFF - -post-destroot { - set docdir ${destroot}${cmake.install_prefix}/share/doc - - xinstall -d -m 755 ${docdir} - - foreach f {CONTRIBUTING.md CONTRIBUTORS.txt LICENSE README.md SECURITY.md editors examples} { - file copy ${worksrcpath}/${f} ${docdir} - } -} - -proc port_test_ver_check {p_name p_ver p_rev} { - if { [catch {set port_ver_info [lindex [registry_active ${p_name}] 0]}] } { - error "Tests require that ${p_name} be active; install, then re-run tests" - } else { - set test_ver ${p_ver}_${p_rev} - set port_ver [lindex ${port_ver_info} 1]_[lindex ${port_ver_info} 2] - ui_info "port_test_ver_check: ${p_name}: test_ver: ${test_ver}; port_ver: ${port_ver}" - - if { [vercmp ${port_ver} ${test_ver}] != 0 } { - error "Tests require installed version of ${p_name} to match port; update, then re-run tests" - } - } -} - -variant tests description {Build with tests enabled} { - pre-configure { - port_test_ver_check ${subport} ${version} ${revision} - } - - configure.args-replace \ - -Dprotobuf_BUILD_TESTS:BOOL=OFF \ - -Dprotobuf_BUILD_TESTS:BOOL=ON - - test.run yes - test.target check -} - -livecheck.version ${release_version} -github.livecheck.regex {([0-9.]+)} diff --git a/devel/protobuf3-cpp/Portfile b/devel/protobuf3-cpp/Portfile index 8098dd9c8463e..6db36f972cd62 100644 --- a/devel/protobuf3-cpp/Portfile +++ b/devel/protobuf3-cpp/Portfile @@ -1,31 +1,25 @@ # -*- 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 PortSystem 1.0 +PortGroup cmake 1.1 PortGroup compiler_blacklist_versions 1.0 PortGroup github 1.0 -PortGroup cmake 1.1 # NOTE: For any version number change, also # NOTE: Update py-protobuf3 version's number to match -# NOTE: For a minor or major version number change, also -# NOTE: Revbump et, protobuf-c, mosh and py-onnx set release_version \ 21.12 name protobuf3-cpp -github.setup protocolbuffers protobuf 3.${release_version} v +version 3.${release_version} +revision 3 +github.setup protocolbuffers protobuf ${version} v +github.tarball_from releases git.branch v${release_version} -# remove stealth update code below with next update -revision 2 - -# remove stealth update code with next update -dist_subdir ${name}/${version}_1 categories devel -maintainers {mascguy @mascguy} openmaintainer license BSD - -conflicts protobuf-cpp +maintainers {mascguy @mascguy} openmaintainer description Encode data in an efficient yet extensible format. long_description \ @@ -46,12 +40,28 @@ long_description \ name-value pairs. homepage https://protobuf.dev +notes-append " +The '${name}' port contains the legacy Protocol Buffers v3 C++ +implementation. + +To avoid file clashes with the modern 'protobuf' port, all headers, libraries, +and the 'protoc' compiler are now installed under ${prefix}/libexec/${name}. + +This port may potentially be removed in the future. +Wherever possible, please migrate builds and scripts to depend on the +'protobuf' port instead. + +If you would like to continue using this port's 'protoc' compiler in the +interim, add it to your PATH, e.g.: + export PATH=${prefix}/libexec/${name}/bin:\$PATH +" + checksums rmd160 f7c2879e427160c2a5055a2ab5d5ab231304fd31 \ sha256 4eab9b524aa5913c6fffb20b2a8abf5ef7f95a80bc0701f3a6dbb4c607f73460 \ size 4842303 -github.tarball_from releases distname protobuf-cpp-${version} +dist_subdir protobuf-cpp worksrcdir protobuf-${version} # Upstream adds zlib include - which is ${prefix}/include - before search path @@ -63,7 +73,8 @@ patchfiles-append cmake-zlib-include.diff compiler.cxx_standard 2011 compiler.thread_local_storage yes # error: constexpr constructor never produces a constant expression [-Winvalid-constexpr] -compiler.blacklist {clang < 900} +compiler.blacklist-append \ + {clang < 900} if { [string match *clang* ${configure.compiler}] } { # Quiet deprecation warnings @@ -82,6 +93,9 @@ if {[variant_isset debug]} { cmake.build_type RelWithDebInfo } +cmake.install_prefix \ + ${prefix}/libexec/${name} + depends_lib-append \ port:zlib @@ -93,10 +107,10 @@ configure.args-append \ post-destroot { set docdir ${destroot}${prefix}/share/doc/${name} - xinstall -d -m 755 ${docdir} + xinstall -d ${docdir} foreach f {CHANGES.txt CONTRIBUTORS.txt LICENSE README.md editors examples} { - file copy ${worksrcpath}/${f} ${docdir} + copy ${worksrcpath}/${f} ${docdir} } } diff --git a/devel/protobuf3-cpp/files/cmake-zlib-include.diff b/devel/protobuf3-cpp/files/cmake-zlib-include.diff index e680d34435bf5..5ffc50da12998 100644 --- a/devel/protobuf3-cpp/files/cmake-zlib-include.diff +++ b/devel/protobuf3-cpp/files/cmake-zlib-include.diff @@ -1,5 +1,5 @@ ---- CMakeLists.txt.orig 2023-06-01 13:13:50.000000000 -0400 -+++ CMakeLists.txt 2023-06-01 13:14:05.000000000 -0400 +--- CMakeLists.txt.orig 2025-05-06 12:13:56.211941690 -0400 ++++ CMakeLists.txt 2025-05-06 12:14:10.546404659 -0400 @@ -296,7 +296,6 @@ endif (MSVC) diff --git a/devel/protobuf5-cpp/Portfile b/devel/protobuf5-cpp/Portfile index 3a97d1b9bcf57..9d2e9263c6789 100644 --- a/devel/protobuf5-cpp/Portfile +++ b/devel/protobuf5-cpp/Portfile @@ -1,138 +1,10 @@ # -*- 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 PortSystem 1.0 -PortGroup compiler_blacklist_versions 1.0 -PortGroup github 1.0 -PortGroup cmake 1.1 -PortGroup legacysupport 1.1 - -# clock_gettime needed for abseil -# https://github.com/macports/macports-ports/pull/19905#issuecomment-1680281240 -legacysupport.newest_darwin_requires_legacy 15 - -set release_version \ - 29.4 +PortGroup obsolete 1.0 name protobuf5-cpp -version 5.${release_version} -revision 0 -github.setup protocolbuffers protobuf ${version} v -github.tarball_from releases -git.branch v${release_version} - +replaced_by protobuf29 +version 5.29.4 +revision 1 categories devel -license BSD -maintainers {mascguy @mascguy} openmaintainer - -description Encode data in an efficient yet extensible format. -long_description \ - Google Protocol Buffers are a flexible, efficient, \ - automated mechanism for serializing structured data -- \ - think XML, but smaller, faster, and simpler. You \ - define how you want your data to be structured once, \ - then you can use special generated source code to \ - easily write and read your structured data to and from \ - a variety of data streams and using a variety of \ - languages. You can even update your data structure \ - without breaking deployed programs that are compiled \ - against the "old" format. You specify how you want \ - the information you're serializing to be structured by \ - defining protocol buffer message types in .proto \ - files. Each protocol buffer message is a small \ - logical record of information, containing a series of \ - name-value pairs. -homepage https://protobuf.dev - -checksums rmd160 3a8a4c815f22f23c5d8363d5fd7972b005d971a9 \ - sha256 6bd9dcc91b17ef25c26adf86db71c67ec02431dc92e9589eaf82e22889230496 \ - size 9350942 - -distname protobuf-${release_version} -dist_subdir protobuf-cpp -worksrcdir protobuf-${release_version} - -# Upstream adds zlib include - which is ${prefix}/include - before search path -# of 3rd-party components, like gtest, gmock, etc. That causes the external -# versions of those to be pulled in, and the build fails. -# So don't let the project cmake add zlib; already added (last) by base. -patchfiles-append cmake-zlib-include.diff - -# Revert a breakage from dropping mach_time in: -# https://github.com/protocolbuffers/protobuf/commit/a8a9bd2e4990fd5e0f0098bdfbe62bc00783eab7 -patchfiles-append patch-unbreak-time.diff - -compiler.cxx_standard 2017 -compiler.thread_local_storage yes -# error: constexpr constructor never produces a constant expression [-Winvalid-constexpr] -compiler.blacklist {clang < 900} - -if { [string match *clang* ${configure.compiler}] } { - # Quiet deprecation warnings - configure.cxxflags-append \ - -Wno-deprecated-declarations \ - -Wno-error=unknown-warning-option \ - -Wno-unknown-warning-option -} - -# Clear optflags; controlled by project, via cmake build type -configure.optflags - -if {[variant_isset debug]} { - cmake.build_type Debug -} else { - cmake.build_type RelWithDebInfo -} - -cmake.install_prefix \ - ${prefix}/libexec/${name} - -depends_lib-append \ - port:abseil \ - port:zlib - -configure.args-append \ - -DBUILD_SHARED_LIBS:BOOL=ON \ - -Dprotobuf_ABSL_PROVIDER=package \ - -Dprotobuf_BUILD_LIBPROTOC:BOOL=ON \ - -Dprotobuf_BUILD_PROTOC_BINARIES:BOOL=ON \ - -Dprotobuf_BUILD_TESTS:BOOL=OFF - -post-destroot { - set docdir ${destroot}${prefix}/share/doc/${name} - - xinstall -d -m 755 ${docdir} - - foreach f {CONTRIBUTING.md CONTRIBUTORS.txt LICENSE README.md SECURITY.md editors examples} { - file copy ${worksrcpath}/${f} ${docdir} - } -} - -proc port_test_ver_check {p_name p_ver p_rev} { - if { [catch {set port_ver_info [lindex [registry_active ${p_name}] 0]}] } { - error "Tests require that ${p_name} be active; install, then re-run tests" - } else { - set test_ver ${p_ver}_${p_rev} - set port_ver [lindex ${port_ver_info} 1]_[lindex ${port_ver_info} 2] - ui_info "port_test_ver_check: ${p_name}: test_ver: ${test_ver}; port_ver: ${port_ver}" - - if { [vercmp ${port_ver} ${test_ver}] != 0 } { - error "Tests require installed version of ${p_name} to match port; update, then re-run tests" - } - } -} - -variant tests description {Build with tests enabled} { - pre-configure { - port_test_ver_check ${subport} ${version} ${revision} - } - - configure.args-replace \ - -Dprotobuf_BUILD_TESTS:BOOL=OFF \ - -Dprotobuf_BUILD_TESTS:BOOL=ON - - test.run yes - test.target check -} - -livecheck.version ${release_version} -github.livecheck.regex {(2[6-9]\.[0-9]+)} diff --git a/devel/protozero/Portfile b/devel/protozero/Portfile index 0767d9e755569..fa562f5357fdd 100644 --- a/devel/protozero/Portfile +++ b/devel/protozero/Portfile @@ -6,7 +6,7 @@ PortGroup github 1.0 github.setup mapbox protozero 1.8.0 v github.tarball_from archive -revision 0 +revision 1 categories devel platforms any @@ -41,6 +41,6 @@ configure.args-append \ variant protobuf description {Use protobuf library to include writer unit test} { depends_build-append \ - port:protobuf3-cpp + port:protobuf } diff --git a/finance/litecoin/Portfile b/finance/litecoin/Portfile index 2925092d6a9c9..8c8b74007e847 100644 --- a/finance/litecoin/Portfile +++ b/finance/litecoin/Portfile @@ -8,7 +8,7 @@ PortGroup boost 1.0 github.setup litecoin-project litecoin 0.16.3 v # Change github.tarball_from to 'releases' or 'archive' next update github.tarball_from tarball -revision 11 +revision 12 checksums rmd160 aa2470a9e4f32c62953c5aae460471e0e3f1f801 \ sha256 0dccc577d704bd48226d11b749cca3bd7cadd23694ccbb15a87a0806704a69c3 \ size 6045235 @@ -33,6 +33,9 @@ long_description Litecoin is a peer-to-peer Internet currency that enables in license MIT +# If/when this port is ever fixed, this can be removed +known_fail yes + homepage https://litecoin.org master_sites https://download.litecoin.org/litecoin-${version}/src/ @@ -45,7 +48,7 @@ depends_lib-append path:lib/libssl.dylib:openssl \ port:db48 \ port:libevent \ port:miniupnpc \ - port:protobuf3-cpp \ + port:protobuf \ port:qrencode \ port:zmq diff --git a/games/Cockatrice/Portfile b/games/Cockatrice/Portfile index 19dc90eea5de7..64aa4dfc8c1e6 100644 --- a/games/Cockatrice/Portfile +++ b/games/Cockatrice/Portfile @@ -12,7 +12,7 @@ github.setup Cockatrice Cockatrice 2016-05-06-Release github.tarball_from tarball epoch 1 -revision 7 +revision 8 categories games maintainers nomaintainer description A board for playing trading card games like MTG online @@ -25,7 +25,7 @@ homepage http://www.woogerworks.com/ checksums rmd160 f590177c0e2252e9905c8c5bd7d50d070348b916 \ sha256 03751fd5283bfa0cd38071c2de295093dcace9c6ef9ad2a5ca3eba6d95e45cf9 -depends_lib-append port:protobuf3-cpp +depends_lib-append port:protobuf configure.args-append -DWITH_QT4:BOOL=ON diff --git a/games/raceintospace/Portfile b/games/raceintospace/Portfile index 6ca487886bc11..c8d90c0124536 100644 --- a/games/raceintospace/Portfile +++ b/games/raceintospace/Portfile @@ -8,7 +8,7 @@ PortGroup compiler_blacklist_versions 1.0 github.setup raceintospace raceintospace d004825458d9892fb168a9fbe026a9a38d397b04 version 1.1-20200802 -revision 4 +revision 5 checksums rmd160 74767ef94b588f672c6c7eb4c0e78f4d46a2ea65 \ sha256 826fd4ec937aceb42f2942f6645661657fadd68f791d6f99de0d47789bd1b763 \ size 63707066 @@ -34,7 +34,7 @@ depends_lib-append port:jsoncpp \ port:libtheora \ port:libvorbis \ port:physfs \ - port:protobuf3-cpp \ + port:protobuf \ port:zlib # jsoncpp requires C++11 diff --git a/gis/mapserver/Portfile b/gis/mapserver/Portfile index 265994b06b4d7..d87ff43b18cc1 100644 --- a/gis/mapserver/Portfile +++ b/gis/mapserver/Portfile @@ -14,6 +14,9 @@ description mapserver long_description MapServer is an Open Source platform for publishing spatial \ data and interactive mapping applications to the web. +# If/when this port is ever fixed, this can be removed +known_fail yes + homepage https://mapserver.org master_sites https://download.osgeo.org/mapserver diff --git a/gis/tilemaker/Portfile b/gis/tilemaker/Portfile index 06e32e993528f..3130d30ab6280 100644 --- a/gis/tilemaker/Portfile +++ b/gis/tilemaker/Portfile @@ -8,7 +8,7 @@ PortGroup boost 1.0 github.setup systemed tilemaker 3.0.0 v # Change github.tarball_from to 'releases' or 'archive' next update github.tarball_from tarball -revision 1 +revision 2 categories gis license FTWPL @@ -28,7 +28,7 @@ depends_build-append \ depends_lib-append \ port:lua \ - port:protobuf3-cpp \ + port:protobuf \ port:rapidjson \ port:shapelib \ port:sqlite3 \ diff --git a/mail/astroid/Portfile b/mail/astroid/Portfile index 11153dbdda046..3353c6ae9530c 100644 --- a/mail/astroid/Portfile +++ b/mail/astroid/Portfile @@ -8,7 +8,7 @@ PortGroup boost 1.0 github.setup astroidmail astroid 0.17 v github.tarball_from archive -revision 0 +revision 1 description Astroid Mail long_description A graphical threads-with-tags style, lightweight and fast, e-mail client for Notmuch @@ -35,5 +35,5 @@ depends_lib-append path:lib/pkgconfig/webkit2gtk-4.0.pc:webkit2-gtk \ port:gtkmm3 \ port:libsass \ port:notmuch \ - port:protobuf3-cpp \ + port:protobuf \ port:vte diff --git a/math/caffe/Portfile b/math/caffe/Portfile index 6f54f80af9edf..62b3c2dbd0cd3 100644 --- a/math/caffe/Portfile +++ b/math/caffe/Portfile @@ -8,11 +8,14 @@ github.setup BVLC caffe 1de4cebfb81d50267d0d8c2595372b14e1408248 # Change github.tarball_from to 'releases' or 'archive' next update github.tarball_from tarball version 20170817 -revision 27 +revision 28 categories math science maintainers nomaintainer +# If/when this port is ever fixed, this can be removed +known_fail yes + description a fast framework for deep learning long_description {*}${description} @@ -29,7 +32,7 @@ boost.version 1.71 depends_lib-append port:google-glog \ port:gflags \ - port:protobuf3-cpp \ + port:protobuf \ port:leveldb \ port:snappy \ port:lmdb \ diff --git a/math/shogun-devel/Portfile b/math/shogun-devel/Portfile index 31aca74448bad..9b74df57dfc45 100644 --- a/math/shogun-devel/Portfile +++ b/math/shogun-devel/Portfile @@ -6,32 +6,32 @@ PortGroup cmake 1.0 name shogun-devel version 4.0.0 set branch [join [lrange [split ${version} .] 0 1] .] -revision 23 +revision 24 + categories math science -platforms darwin license GPL-3 +maintainers nomaintainer conflicts shogun -maintainers nomaintainer +# If/when this port is ever fixed, this can be removed +known_fail yes description The machine learning toolbox's focus is on large scale \ kernel methods - long_description ${description} and especially on Support Vector Machines \ (SVM). It provides a generic SVM object interfacing to \ several different SVM implementations, among them the \ state of the art OCAS, LibSVM, SVMLight, SVMLin and GPDT. - homepage http://shogun-toolbox.org -master_sites ${homepage}/archives/shogun/releases/${branch}/sources/ +master_sites ${homepage}/archives/shogun/releases/${branch}/sources/ use_bzip2 yes - distname shogun-${version} checksums rmd160 b6f63baeee7040ada85feb33374010a525384104 \ - sha256 ab39d3cc27fc1ddf6128f6e3fc60217e73a843b51c20f5d3ceb69e6565a43695 + sha256 ab39d3cc27fc1ddf6128f6e3fc60217e73a843b51c20f5d3ceb69e6565a43695 \ + size 4627339 universal_variant no @@ -84,7 +84,7 @@ depends_lib-append port:hdf5 \ port:gzip \ port:bzip2 \ port:xz \ - port:protobuf-cpp + port:protobuf2-cpp variant python27 description {Build the Python 2.7 API} { depends_lib-append port:swig-python \ diff --git a/multimedia/termusic/Portfile b/multimedia/termusic/Portfile index dbeaddd888c9a..7877bf2e63039 100644 --- a/multimedia/termusic/Portfile +++ b/multimedia/termusic/Portfile @@ -6,7 +6,7 @@ PortGroup github 1.0 github.setup tramhao termusic 0.9.1 v github.tarball_from archive -revision 0 +revision 1 description Music Player TUI written in Rust @@ -19,7 +19,7 @@ maintainers {gmail.com:herby.gillot @herbygillot} \ openmaintainer depends_build-append \ - port:protobuf3-cpp + port:protobuf checksums ${distname}${extract.suffix} \ rmd160 f5e1f0c9674d538b959c28330de846367ee3d498 \ diff --git a/net/et/Portfile b/net/et/Portfile index 71f6f9972320a..8b6cf8ee866dd 100644 --- a/net/et/Portfile +++ b/net/et/Portfile @@ -10,7 +10,7 @@ legacysupport.newest_darwin_requires_legacy 10 github.setup MisterTea EternalTerminal 6.2.9 et-v github.tarball_from archive -revision 0 +revision 1 name et categories net license Apache-2 @@ -23,7 +23,7 @@ checksums rmd160 8155a5831263df734725b7229bcfa5187d744cc9 \ size 25948460 depends_lib-append port:libsodium \ - port:protobuf3-cpp \ + port:protobuf \ path:lib/libssl.dylib:openssl \ port:zlib diff --git a/net/mosh/Portfile b/net/mosh/Portfile index 7b7456043dad1..58966e2a3eca7 100644 --- a/net/mosh/Portfile +++ b/net/mosh/Portfile @@ -5,7 +5,7 @@ PortGroup perl5 1.0 name mosh version 1.4.0 -revision 3 +revision 4 categories net license {GPL-3+ OpenSSLException} maintainers {mit.edu:quentin @quentinmit} \ @@ -36,7 +36,7 @@ depends_build-append path:bin/pkg-config:pkgconfig depends_lib-append port:ncurses \ port:p${perl5.major}-getopt-long \ port:p${perl5.major}-io-socket-ip \ - port:protobuf3-cpp \ + port:protobuf \ port:zlib post-patch { @@ -53,7 +53,7 @@ configure.ldflags-append -Wl,-dead_strip_dylibs # abseil uses C++17; use `gnu++17` as Mosh allows use of GNU extensions configure.cxxflags-append -std=gnu++17 -# force protobuf3-cpp into the no_threadlocal mode on older systems +# force protobuf into the no_threadlocal mode on older systems if { ${os.platform} eq "darwin" && ${os.major} < 11 } { configure.cppflags-append -DGOOGLE_PROTOBUF_NO_THREADLOCAL } diff --git a/net/ola/Portfile b/net/ola/Portfile index fefb45014d3b9..eccb5e446291e 100644 --- a/net/ola/Portfile +++ b/net/ola/Portfile @@ -4,7 +4,7 @@ PortSystem 1.0 PortGroup github 1.0 github.setup OpenLightingProject ola 0.10.8 -revision 3 +revision 4 categories net comms platforms darwin license GPL-2+ LGPL-2.1+ @@ -19,6 +19,9 @@ long_description The Open Lighting Architecture (OLA) provides a plugin \ which abstract away the underlying DMX over IP protocol \ or DMX interface. +# If/when this port is ever fixed, this can be removed +known_fail yes + homepage http://www.openlighting.org/ola/ checksums rmd160 f7435b1386e5ad0962cf7d62138ba95d0cda0058 \ @@ -39,7 +42,7 @@ depends_test port:cppunit depends_build-append \ port:cppunit -depends_lib port:protobuf3-cpp +depends_lib port:protobuf compiler.cxx_standard 2011 diff --git a/net/ostinato/Portfile b/net/ostinato/Portfile index 66f648f7a0923..394a5dc648fc3 100644 --- a/net/ostinato/Portfile +++ b/net/ostinato/Portfile @@ -7,7 +7,7 @@ PortGroup github 1.0 github.setup pstavirs ostinato 0.9 v # Change github.tarball_from to 'releases' or 'archive' next update github.tarball_from tarball -revision 7 +revision 8 maintainers nomaintainer license GPL-3+ @@ -19,7 +19,7 @@ long_description {*}${description} Craft and send packets of several streams depends_lib port:qt4-mac \ port:libpcap \ - port:protobuf3-cpp + port:protobuf checksums rmd160 e1984c471120a37ebe064ddb09df058a19c7481b \ sha256 569172cac35a104d5c670304e11c2eec6dfa99f2786130da780173023bf6a56f \ @@ -27,11 +27,11 @@ checksums rmd160 e1984c471120a37ebe064ddb09df058a19c7481b \ worksrcdir ${name}-${version} -# protobuf3-cpp requires c++11 -compiler.cxx_standard 2011 -configure.cxxflags-append -std=c++11 +# protobuf requires c++17 +compiler.cxx_standard 2017 +configure.cxxflags-append -std=c++17 -# force protobuf3-cpp into the no_threadlocal mode +# force protobuf into the no_threadlocal mode if { ${os.platform} eq "darwin" && ${os.major} < 11 } { configure.cxxflags-append -DGOOGLE_PROTOBUF_NO_THREADLOCAL } diff --git a/php/php-mysql_xdevapi/Portfile b/php/php-mysql_xdevapi/Portfile index 79a5f410051ee..c29e7a34ec09e 100644 --- a/php/php-mysql_xdevapi/Portfile +++ b/php/php-mysql_xdevapi/Portfile @@ -18,13 +18,13 @@ php.pecl yes if {[vercmp ${php.branch} >= 7.1]} { if {${os.platform} ne "darwin" || ${os.major} >= 17} { version 8.0.30 - revision 2 + revision 3 checksums rmd160 a227c5fe61cb4c40542fad86eb80844503c7ab8f \ sha256 4a1f7ac8fc59579194548365d3fcc380372749e9cc50895d8e065ea7f4717cfd \ size 587966 } else { version 8.0.21 - revision 5 + revision 6 checksums rmd160 800b5659227a3cf5d2148d549a1c3de30fefa270 \ sha256 5415e11b20821a837807cdbeb7da198d714b229b5374f891821349788cc13e8d \ size 587301 @@ -41,7 +41,7 @@ if {${name} ne ${subport}} { boost.depends_type build depends_lib-append port:lz4 \ - port:protobuf3-cpp \ + port:protobuf \ port:zlib \ port:zstd @@ -59,12 +59,12 @@ if {${name} ne ${subport}} { # <= 800 doesn't work; >= 900 does; 802 untested compiler.blacklist-append {clang < 900} - # Allow configure to verify the presence of the protobuf3-cpp headers. - # (protobuf3-cpp requires C++11 or newer.) + # Allow configure to verify the presence of the protobuf headers. + # (protobuf requires C++11 or newer.) configure.env-append \ "CXXCPP=${configure.cxx} -E -std=c++${cxxver}" - # Allow configure to verify the usability of the protobuf3-cpp headers. + # Allow configure to verify the usability of the protobuf headers. configure.cxxflags-append \ -std=c++${cxxver} diff --git a/python/py-apache-beam/Portfile b/python/py-apache-beam/Portfile index e0dd2ab9b2ff0..f54dabf09ff93 100644 --- a/python/py-apache-beam/Portfile +++ b/python/py-apache-beam/Portfile @@ -5,7 +5,7 @@ PortGroup python 1.0 name py-apache-beam version 2.29.0 -platforms darwin +platforms {darwin >= 14 <= 22} license Apache-2 maintainers nomaintainer diff --git a/python/py-kraken/Portfile b/python/py-kraken/Portfile index 68a07a662f266..a2f9f0697cb79 100644 --- a/python/py-kraken/Portfile +++ b/python/py-kraken/Portfile @@ -14,6 +14,9 @@ description OCR/HTR engine for all the languages long_description kraken is a turn-key OCR system optimized for \ historical and non-Latin script material. +# If/when this port is ever fixed, this can be removed +known_fail yes + homepage https://kraken.re/ checksums rmd160 77e316855d8cb35895aa21a55cde130f24302bf6 \ diff --git a/python/py-protobuf/Portfile b/python/py-protobuf/Portfile index fbbecfee30798..82d69d36fc580 100644 --- a/python/py-protobuf/Portfile +++ b/python/py-protobuf/Portfile @@ -2,66 +2,25 @@ PortSystem 1.0 PortGroup python 1.0 -PortGroup github 1.0 name py-protobuf -version 2.6.1 -revision 2 +version 6.30.2 +revision 0 categories-append devel -platforms darwin -maintainers nomaintainer license BSD +maintainers nomaintainer -description Encode data in an efficient yet extensible format. -long_description Google Protocol Buffers are a flexible, efficient, \ - automated mechanism for serializing structured data -- \ - think XML, but smaller, faster, and simpler. You \ - define how you want your data to be structured once, \ - then you can use special generated source code to \ - easily write and read your structured data to and from \ - a variety of data streams and using a variety of \ - languages. You can even update your data structure \ - without breaking deployed programs that are compiled \ - against the "old" format. You specify how you want \ - the information you're serializing to be structured by \ - defining protocol buffer message types in .proto \ - files. Each protocol buffer message is a small \ - logical record of information, containing a series of \ - name-value pairs. - -github.setup google protobuf ${version} v -github.tarball_from releases -homepage https://github.com/google/protobuf -master_sites https://github.com/google/protobuf/releases/download/v${version} -distfiles protobuf-${version}.tar.bz2 -worksrcdir protobuf-${version} - -use_bzip2 yes -checksums sha1 6421ee86d8fb4e39f21f56991daa892a3e8d314b \ - sha256 ee445612d544d885ae240ffbcbf9267faa9f593b7b101f21d58beceb92661910 \ - rmd160 654acfce84b4ba738a0332d0c967d1399ff6e4c2 \ - size 2021416 +description Python bindings for Protocol Buffers +long_description {*}${description} +homepage https://protobuf.dev -python.versions 27 +checksums rmd160 100c89ce7d85341a14be71442165ebccc1f8db7d \ + sha256 35c859ae076d8c56054c25b59e5e59638d86545ed6e2b6efac6be0b6ea3ba048 \ + size 429315 -livecheck.type none +python.versions 39 310 311 312 313 if {${name} ne ${subport}} { conflicts py${python.version}-protobuf3 - - depends_build-append \ - port:py${python.version}-google-apputils - - depends_lib-append \ - port:protobuf-cpp \ - port:py${python.version}-setuptools - - worksrcdir ${worksrcdir}/python - - destroot.cmd-append --cpp_implementation - - test.run yes - test.cmd "${python.bin} setup.py" - test.target test --cpp_implementation } diff --git a/python/py-protobuf2/Portfile b/python/py-protobuf2/Portfile new file mode 100644 index 0000000000000..addcebab6f8e8 --- /dev/null +++ b/python/py-protobuf2/Portfile @@ -0,0 +1,75 @@ +# -*- 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 + +PortSystem 1.0 +PortGroup github 1.0 +PortGroup python 1.0 + +name py-protobuf2 +version 2.6.1 +revision 3 +github.setup google protobuf ${version} v +github.tarball_from releases + +categories-append devel +license BSD +maintainers {mascguy @mascguy} openmaintainer + +description Encode data in an efficient yet extensible format. +long_description Google Protocol Buffers are a flexible, efficient, \ + automated mechanism for serializing structured data -- \ + think XML, but smaller, faster, and simpler. You \ + define how you want your data to be structured once, \ + then you can use special generated source code to \ + easily write and read your structured data to and from \ + a variety of data streams and using a variety of \ + languages. You can even update your data structure \ + without breaking deployed programs that are compiled \ + against the "old" format. You specify how you want \ + the information you're serializing to be structured by \ + defining protocol buffer message types in .proto \ + files. Each protocol buffer message is a small \ + logical record of information, containing a series of \ + name-value pairs. +homepage https://github.com/google/protobuf + +master_sites https://github.com/google/protobuf/releases/download/v${version} +distname protobuf-${version} +worksrcdir protobuf-${version} +use_bzip2 yes + +checksums sha1 6421ee86d8fb4e39f21f56991daa892a3e8d314b \ + sha256 ee445612d544d885ae240ffbcbf9267faa9f593b7b101f21d58beceb92661910 \ + rmd160 654acfce84b4ba738a0332d0c967d1399ff6e4c2 \ + size 2021416 + +python.versions 27 + +if {${name} ne ${subport}} { + conflicts py${python.version}-protobuf3 + + depends_build-append \ + port:py${python.version}-google-apputils + + depends_lib-append \ + port:protobuf2-cpp \ + port:py${python.version}-setuptools + + worksrcdir ${worksrcdir}/python + + build.env-append \ + PATH=${prefix}/libexec/protobuf2-cpp/bin:$env(PATH) + + pre-build { + xinstall -d ${worksrcpath}/google/protobuf/pyext + ln -s ${prefix}/libexec/protobuf2-cpp/lib ${worksrcpath}/../src/.libs + } + + destroot.cmd-append \ + --cpp_implementation + + test.run yes + test.cmd "${python.bin} setup.py" + test.target test --cpp_implementation +} + +livecheck.type none diff --git a/python/py-protobuf3/Portfile b/python/py-protobuf3/Portfile index df1198549fd5b..c0a3f8bd05942 100644 --- a/python/py-protobuf3/Portfile +++ b/python/py-protobuf3/Portfile @@ -10,7 +10,7 @@ set release_version \ 21.12 name py-protobuf3 version 4.${release_version} -revision 2 +revision 3 checksums sha256 e2b976e67d6fcf7078f799143a73f2a4d9cf3126ca68a1a6f1bda30fe5f3585c \ rmd160 5cb0e68bcf7674138208d5acac258330d5a6d4dd \ @@ -55,21 +55,38 @@ compiler.blacklist {clang < 900} python.versions 27 38 39 310 311 312 313 if {${name} ne ${subport}} { - conflicts py${python.version}-protobuf + if {${python.version} >= 39} { + conflicts py${python.version}-protobuf + } depends_build-append \ - port:py${python.version}-setuptools + port:py${python.version}-setuptools \ + port:protobuf3-cpp depends_lib-append \ - port:protobuf3-cpp \ port:py${python.version}-six + configure.env-append \ + LDFLAGS=-L${prefix}/libexec/protobuf3-cpp/lib \ + LDFLAGS=-Wl,-rpath,${prefix}/libexec/protobuf3-cpp/lib + + build.env-append \ + CFLAGS=-I${prefix}/libexec/protobuf3-cpp/include \ + CXXFLAGS=-I${prefix}/libexec/protobuf3-cpp/include \ + LDFLAGS=-L${prefix}/libexec/protobuf3-cpp/lib -Wl,-rpath,${prefix}/libexec/protobuf3-cpp/lib \ + PATH=${prefix}/libexec/protobuf3-cpp/bin:$env(PATH) + + destroot.env-append \ + PATH=${prefix}/libexec/protobuf3-cpp/bin:$env(PATH) + if {${python.version} == 27} { + conflicts py27-protobuf2 + # Use the last compatible version. set release_version \ 17.3 version 3.${release_version} - revision 0 + revision 1 checksums sha256 3253c6d17ec0bb6f6382e555cf5ca0a9ffab8d81b691f100f96ce9f5e753018e \ rmd160 548d88f3d75b8c75fe43eb0d620e8f40757e1566 \ size 5038061 @@ -131,4 +148,4 @@ if {${name} ne ${subport}} { } } -github.livecheck.regex {([0-9.]+)} +livecheck.type none diff --git a/python/py-tensorflow1/Portfile b/python/py-tensorflow1/Portfile index 392ba5834cec9..58cb2adb93ee8 100644 --- a/python/py-tensorflow1/Portfile +++ b/python/py-tensorflow1/Portfile @@ -14,6 +14,7 @@ github.setup tensorflow tensorflow ${version} v # Change github.tarball_from to 'releases' or 'archive' next update github.tarball_from tarball supported_archs x86_64 +platforms {darwin == 14} license Apache-2 maintainers {emcrisostomo @emcrisostomo} {jonesc @cjones051073} openmaintainer @@ -31,16 +32,6 @@ checksums rmd160 1807544e59cb25028af0bfec45ddffd1f861cc4e \ supported_archs x86_64 -set min_darwin 14 -if { ${os.major} < ${min_darwin} } { - known_fail yes - # https://trac.macports.org/ticket/58518 - pre-fetch { - ui_error "${name} ${version} requires Darwin ${min_darwin} or newer." - return -code error "incompatible macOS version" - } -} - compiler.blacklist-append {clang < 1200.0.32.27} {macports-clang-[4-9].0} compiler.cxx_standard 2014 diff --git a/python/py-transformers/Portfile b/python/py-transformers/Portfile index 9a1c7d21a28a1..07997dfda5541 100644 --- a/python/py-transformers/Portfile +++ b/python/py-transformers/Portfile @@ -26,6 +26,9 @@ long_description Transformers provides thousands of pretrained \ generation, etc in 100+ languages. Its aim is to \ make cutting-edge NLP easier to use for everyone. +# If/when this port is ever fixed, this can be removed +known_fail yes + homepage https://huggingface.co/transformers/ python.versions 39 310 diff --git a/science/gnss-sdr/Portfile b/science/gnss-sdr/Portfile index 5cfa82d2560ce..bc92e1ddeaa6f 100644 --- a/science/gnss-sdr/Portfile +++ b/science/gnss-sdr/Portfile @@ -27,7 +27,7 @@ if {${subport} eq "gnss-sdr"} { github.setup gnss-sdr gnss-sdr 0.0.19 v # Change github.tarball_from to 'releases' or 'archive' next update github.tarball_from tarball - revision 1 + revision 2 checksums rmd160 11daaaa2e4acbbcc837d8bd4f42546a6440675bc \ sha256 e1f555da5ed8d0e0002441b771993409af29ed897784a0ebc7ee8d6c74b0cb98 \ size 4086145 @@ -48,7 +48,7 @@ subport gnss-sdr-devel { checksums rmd160 6171d3966487f1cdf78fcc18e9a3f33f7a6f87a4 \ sha256 6fbf9bfa1813a00daefdaa5a11b3f15f396af4c957b1792378e4f2a92952723a \ size 4086092 - revision 1 + revision 2 conflicts gnss-sdr @@ -77,7 +77,7 @@ depends_lib-append \ port:armadillo \ port:google-glog \ port:matio \ - port:protobuf3-cpp \ + port:protobuf \ port:pugixml \ path:lib/libgnuradio-runtime.dylib:gnuradio \ path:lib/libuhd.dylib:uhd \ diff --git a/science/paraview/Portfile b/science/paraview/Portfile index 914f4a296a8b2..839c1d7b233b5 100644 --- a/science/paraview/Portfile +++ b/science/paraview/Portfile @@ -8,7 +8,7 @@ PortGroup mpi 1.0 name paraview version 5.6.2 -revision 19 +revision 20 # TODO: Remove, if/when this port is fixed known_fail yes @@ -62,7 +62,7 @@ depends_lib-append path:share/pkgconfig/eigen3.pc:eigen3 \ port:icet \ port:jsoncpp \ port:pugixml \ - port:protobuf3-cpp \ + port:protobuf \ port:libogg \ port:libtheora \ port:libxml2 \ diff --git a/science/sumo/Portfile b/science/sumo/Portfile index 1e1046d2852d0..8b8645a3b56ec 100644 --- a/science/sumo/Portfile +++ b/science/sumo/Portfile @@ -6,7 +6,7 @@ name sumo version 0.32.0 revision 14 categories science devel -platforms darwin +platforms {darwin >= 14 <= 22} maintainers {gmail.com:tlockhart1976 @lockhart} openmaintainer license GPL-3 @@ -41,7 +41,7 @@ depends_lib-append \ depends_lib-append \ port:python27 \ port:py27-matplotlib \ - port:py27-protobuf + port:py27-protobuf2 set bindir ${prefix}/bin set libdir ${prefix}/lib diff --git a/sysutils/influxdb/Portfile b/sysutils/influxdb/Portfile index a6601d8ff159d..e9d60ced3591f 100644 --- a/sysutils/influxdb/Portfile +++ b/sysutils/influxdb/Portfile @@ -7,7 +7,7 @@ go.setup github.com/influxdata/influxdb 2.7.10 v # Delete this on next update to use golang PortGroup's default ('archive') github.tarball_from tarball go.offline_build no -revision 0 +revision 1 homepage https://influxdata.com @@ -37,7 +37,7 @@ depends_build-append bin:node:nodejs22 \ port:cargo \ path:libexec/coreutils/libstdbuf.so:coreutils \ port:pkgconfig \ - bin:protoc:protobuf3-cpp \ + bin:protoc:protobuf \ port:rust \ port:yarn diff --git a/sysutils/john/Portfile b/sysutils/john/Portfile index a87df9d347f8d..91dd012bd8e37 100644 --- a/sysutils/john/Portfile +++ b/sysutils/john/Portfile @@ -102,7 +102,7 @@ subport john-jumbo-devel { github.setup openwall john 8d60fae463f9e5efa105964dcb1e66249840bb29 github.tarball_from archive version 20250530 - revision 0 + revision 1 checksums rmd160 857d4d7bf7c0b9211e616b1ad5824101d9f2a2cc \ sha256 d8a29e387ff7d89ef248be92eadee234d094c49dbe765ebc868ad5558622170f \ @@ -154,7 +154,7 @@ if {${subport} in [list "john-jumbo" "john-jumbo-devel"]} { port:py${python3_version}-bsddb3 \ port:py${python3_version}-ldap3 \ port:py${python3_version}-parsimonious \ - port:py${python3_version}-protobuf3 \ + port:py${python3_version}-protobuf \ port:python${python2_version} \ port:python${python3_version} \ port:ruby${ruby_version} diff --git a/sysutils/syslog-ng-devel/Portfile b/sysutils/syslog-ng-devel/Portfile index 314cd50e00759..52afd1c6c28d6 100644 --- a/sysutils/syslog-ng-devel/Portfile +++ b/sysutils/syslog-ng-devel/Portfile @@ -14,7 +14,7 @@ github.setup syslog-ng syslog-ng 9ca90a20318885017ff5761a31d2b0afd5dc33eb # Change github.tarball_from to 'releases' or 'archive' next update github.tarball_from tarball version 2024.10.22 -revision 0 +revision 1 set real_name syslog-ng set real_version 4.8.1 conflicts ${real_name} @@ -128,7 +128,7 @@ variant grpc description "Enable GRPC modules" { port:abseil \ port:c-ares \ port:grpc \ - port:protobuf3-cpp \ + port:protobuf \ port:re2 configure.args-replace \ diff --git a/textproc/sentencepiece/Portfile b/textproc/sentencepiece/Portfile index e588a9458c26a..971849c35ad77 100644 --- a/textproc/sentencepiece/Portfile +++ b/textproc/sentencepiece/Portfile @@ -7,7 +7,7 @@ PortGroup github 1.0 # If you update this port, also update the py-sentencepiece to latest version. # `py-sentencepiece` is closely coupled to `sentencepiece`. github.setup google sentencepiece 0.2.0 v -revision 0 +revision 1 checksums rmd160 9940d5c995a5ee0895854fdd0ca3f8ae4fed6d95 \ sha256 9970f0a0afee1648890293321665e5b2efa04eaec9f1671fcf8048f456f5bb86 \ size 11980811 @@ -33,7 +33,7 @@ long_description SentencePiece is an unsupervised text tokenizer \ github.tarball_from archive depends_lib-append port:gperftools \ - port:protobuf3-cpp + port:protobuf compiler.cxx_standard 2017 compiler.thread_local_storage yes