summaryrefslogtreecommitdiff
path: root/devel
diff options
context:
space:
mode:
authorPo-Chuan Hsieh <sunpoet@FreeBSD.org>2023-12-15 00:08:17 +0800
committerPo-Chuan Hsieh <sunpoet@FreeBSD.org>2023-12-15 01:03:02 +0800
commitff78a16bf827b34df61bc3d37992fb7f9811bb75 (patch)
tree0a8262c1691913317dae6a279cb664cb0f31b68b /devel
parentmultimedia/py-guessit: Use ${PY_SETUPTOOLS} (diff)
devel/protobuf3: Add protobuf3 3.21.12 (copied from protobuf)
- Add PORTSCOUT
Diffstat (limited to 'devel')
-rw-r--r--devel/Makefile1
-rw-r--r--devel/protobuf3/Makefile43
-rw-r--r--devel/protobuf3/distinfo3
-rw-r--r--devel/protobuf3/files/patch-Makefile.in11
-rw-r--r--devel/protobuf3/files/patch-i38613
-rw-r--r--devel/protobuf3/files/patch-src-Makefile.in124
-rw-r--r--devel/protobuf3/pkg-descr3
-rw-r--r--devel/protobuf3/pkg-plist146
8 files changed, 344 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index 49c526d70c4a..53c0f40c089b 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -4170,6 +4170,7 @@
SUBDIR += protobuf-c
SUBDIR += protobuf-java
SUBDIR += protobuf25
+ SUBDIR += protobuf3
SUBDIR += prototool
SUBDIR += protozero
SUBDIR += pructl
diff --git a/devel/protobuf3/Makefile b/devel/protobuf3/Makefile
new file mode 100644
index 000000000000..c6eeb10d9efd
--- /dev/null
+++ b/devel/protobuf3/Makefile
@@ -0,0 +1,43 @@
+PORTNAME= protobuf
+PORTVERSION= 3.21.12
+DISTVERSIONPREFIX= cpp-
+CATEGORIES= devel
+MASTER_SITES= https://github.com/protocolbuffers/protobuf/releases/download/v${PORTVERSION:R:E}.${PORTVERSION:E}/
+PKGNAMESUFFIX= 3
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Data interchange format library
+WWW= https://protobuf.dev/ \
+ https://github.com/protocolbuffers/protobuf
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BROKEN_sparc64= fails to compile: no atomic ops available
+
+TEST_DEPENDS= googletest>=0:devel/googletest
+
+USES= compiler:c++11-lang cpe libtool localbase pathfix pkgconfig
+
+CFLAGS+= -D_THREAD_SAFE -DGOOGLE_PROTOBUF_NO_RTTI -I${WRKSRC}/src
+CONFIGURE_ENV= CC_FOR_BUILD="${CC}" \
+ CFLAGS_FOR_BUILD="${CFLAGS}" \
+ CPPFLAGS_FOR_BUILD="${CPPFLAGS}" \
+ CXX_FOR_BUILD="${CXX}" \
+ CXXFLAGS_FOR_BUILD="${CXXFLAGS}" \
+ LDFLAGS_FOR_BUILD="${LDFLAGS}"
+GNU_CONFIGURE= yes
+INSTALL_TARGET= install-strip
+TEST_ARGS= ${MAKE_ARGS} ${_MAKE_JOBS}
+TEST_TARGET= check
+USE_CXXSTD= c++11
+USE_LDCONFIG= yes
+
+PLIST_SUB= PATCH_VERSION=${PORTVERSION:E}
+WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
+
+CPE_VENDOR= google
+
+PORTSCOUT= limit:^3\.
+
+.include <bsd.port.mk>
diff --git a/devel/protobuf3/distinfo b/devel/protobuf3/distinfo
new file mode 100644
index 000000000000..b0b2e5326d8a
--- /dev/null
+++ b/devel/protobuf3/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1674589582
+SHA256 (protobuf-cpp-3.21.12.tar.gz) = 4eab9b524aa5913c6fffb20b2a8abf5ef7f95a80bc0701f3a6dbb4c607f73460
+SIZE (protobuf-cpp-3.21.12.tar.gz) = 4842303
diff --git a/devel/protobuf3/files/patch-Makefile.in b/devel/protobuf3/files/patch-Makefile.in
new file mode 100644
index 000000000000..b93039e03270
--- /dev/null
+++ b/devel/protobuf3/files/patch-Makefile.in
@@ -0,0 +1,11 @@
+--- Makefile.in.orig 2022-12-14 14:21:49 UTC
++++ Makefile.in
+@@ -2188,7 +2188,7 @@ uninstall-am: uninstall-pkgconfigDATA
+ # which takes a lot of time and is generally not useful to us. Also, we don't
+ # want "make install" to recurse into gmock since we don't want to overwrite
+ # the installed version of gmock if there is one.
+-check-local:
++disabled-check-local:
+ @echo "Making lib/libgmock.a lib/libgmock_main.a in gmock"
+ @cd third_party/googletest/googletest && $(MAKE) $(AM_MAKEFLAGS) lib/libgtest.la lib/libgtest_main.la
+ @cd third_party/googletest/googlemock && $(MAKE) $(AM_MAKEFLAGS) lib/libgmock.la lib/libgmock_main.la
diff --git a/devel/protobuf3/files/patch-i386 b/devel/protobuf3/files/patch-i386
new file mode 100644
index 000000000000..56efb9d86368
--- /dev/null
+++ b/devel/protobuf3/files/patch-i386
@@ -0,0 +1,13 @@
+Obtained from: https://cgit.freebsd.org/ports/commit/?id=c212fb9fcceacf49ac4f236c7944aaec5d3cfa57
+
+--- src/google/protobuf/arena_impl.h.orig 2022-09-29 19:05:00 UTC
++++ src/google/protobuf/arena_impl.h
+@@ -640,7 +640,7 @@ class PROTOBUF_EXPORT ThreadSafeArena {
+ #ifdef _MSC_VER
+ #pragma warning(disable : 4324)
+ #endif
+- struct alignas(kCacheAlignment) CacheAlignedLifecycleIdGenerator {
++ struct alignas(alignof(std::atomic<LifecycleIdAtomic>)) CacheAlignedLifecycleIdGenerator {
+ std::atomic<LifecycleIdAtomic> id;
+ };
+ static CacheAlignedLifecycleIdGenerator lifecycle_id_generator_;
diff --git a/devel/protobuf3/files/patch-src-Makefile.in b/devel/protobuf3/files/patch-src-Makefile.in
new file mode 100644
index 000000000000..0ffe912b69bf
--- /dev/null
+++ b/devel/protobuf3/files/patch-src-Makefile.in
@@ -0,0 +1,124 @@
+--- src/Makefile.in.orig 2022-12-14 14:21:49 UTC
++++ src/Makefile.in
+@@ -492,9 +492,9 @@ protobuf_lazy_descriptor_test_OBJECTS = \
+ $(nodist_protobuf_lazy_descriptor_test_OBJECTS)
+ protobuf_lazy_descriptor_test_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+ libprotobuf.la libprotoc.la \
+- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \
+- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \
+- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la
++ -lgtest \
++ -lgmock \
++ -lgmock_main
+ protobuf_lazy_descriptor_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+ $(protobuf_lazy_descriptor_test_CXXFLAGS) $(CXXFLAGS) \
+@@ -513,9 +513,9 @@ protobuf_lite_arena_test_OBJECTS = \
+ $(am_protobuf_lite_arena_test_OBJECTS) \
+ $(nodist_protobuf_lite_arena_test_OBJECTS)
+ protobuf_lite_arena_test_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+- libprotobuf-lite.la $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \
+- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \
+- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la
++ libprotobuf-lite.la -lgtest \
++ -lgmock \
++ -lgmock_main
+ protobuf_lite_arena_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+ $(protobuf_lite_arena_test_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+@@ -535,9 +535,9 @@ nodist_protobuf_lite_test_OBJECTS = $(am__objects_11)
+ protobuf_lite_test_OBJECTS = $(am_protobuf_lite_test_OBJECTS) \
+ $(nodist_protobuf_lite_test_OBJECTS)
+ protobuf_lite_test_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+- libprotobuf-lite.la $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \
+- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \
+- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la
++ libprotobuf-lite.la -lgtest \
++ -lgmock \
++ -lgmock_main
+ protobuf_lite_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+ $(protobuf_lite_test_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+@@ -681,9 +681,9 @@ nodist_protobuf_test_OBJECTS = $(am__objects_15)
+ protobuf_test_OBJECTS = $(am_protobuf_test_OBJECTS) \
+ $(nodist_protobuf_test_OBJECTS)
+ protobuf_test_DEPENDENCIES = $(am__DEPENDENCIES_1) libprotobuf.la \
+- libprotoc.la $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \
+- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \
+- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la
++ libprotoc.la -lgtest \
++ -lgmock \
++ -lgmock_main
+ protobuf_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+ $(protobuf_test_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+@@ -697,7 +697,7 @@ am_test_plugin_OBJECTS = google/protobuf/compiler/test
+ google/protobuf/testing/test_plugin-file.$(OBJEXT)
+ test_plugin_OBJECTS = $(am_test_plugin_OBJECTS)
+ test_plugin_DEPENDENCIES = $(am__DEPENDENCIES_1) libprotobuf.la \
+- libprotoc.la $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la
++ libprotoc.la -lgtest
+ am__zcgunzip_SOURCES_DIST = google/protobuf/testing/zcgunzip.cc
+ @HAVE_ZLIB_TRUE@am_zcgunzip_OBJECTS = \
+ @HAVE_ZLIB_TRUE@ google/protobuf/testing/zcgunzip.$(OBJEXT)
+@@ -2346,9 +2346,9 @@ GOOGLEMOCK_BUILD_DIR = ../third_party/googletest/googl
+ GOOGLETEST_SRC_DIR = $(srcdir)/../third_party/googletest/googletest
+ GOOGLEMOCK_SRC_DIR = $(srcdir)/../third_party/googletest/googlemock
+ protobuf_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \
+- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \
+- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \
+- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la
++ -lgtest \
++ -lgmock \
++ -lgmock_main
+
+ protobuf_test_CPPFLAGS = -I$(GOOGLETEST_SRC_DIR)/include \
+ -I$(GOOGLEMOCK_SRC_DIR)/include
+@@ -2446,9 +2446,9 @@ nodist_protobuf_test_SOURCES = $(protoc_outputs)
+ # Run cpp_unittest again with PROTOBUF_TEST_NO_DESCRIPTORS defined.
+ protobuf_lazy_descriptor_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la \
+ libprotoc.la \
+- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \
+- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \
+- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la
++ -lgtest \
++ -lgmock \
++ -lgmock_main
+
+ protobuf_lazy_descriptor_test_CPPFLAGS = -I$(GOOGLEMOCK_SRC_DIR)/include \
+ -I$(GOOGLETEST_SRC_DIR)/include \
+@@ -2475,9 +2475,9 @@ COMMON_LITE_TEST_SOURCES = \
+ # full runtime and we want to make sure this test builds without full
+ # runtime.
+ protobuf_lite_test_LDADD = $(PTHREAD_LIBS) libprotobuf-lite.la \
+- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \
+- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \
+- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la
++ -lgtest \
++ -lgmock \
++ -lgmock_main
+
+ protobuf_lite_test_CPPFLAGS = -I$(GOOGLEMOCK_SRC_DIR)/include \
+ -I$(GOOGLETEST_SRC_DIR)/include
+@@ -2493,9 +2493,9 @@ nodist_protobuf_lite_test_SOURCES = $(protoc_lite_outp
+ # gtest when building the test internally our memory sanitizer doesn't detect
+ # memory leaks (don't know why).
+ protobuf_lite_arena_test_LDADD = $(PTHREAD_LIBS) libprotobuf-lite.la \
+- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \
+- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \
+- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la
++ -lgtest \
++ -lgmock \
++ -lgmock_main
+
+ protobuf_lite_arena_test_CPPFLAGS = -I$(GOOGLEMOCK_SRC_DIR)/include \
+ -I$(GOOGLETEST_SRC_DIR)/include
+@@ -2509,7 +2509,7 @@ nodist_protobuf_lite_arena_test_SOURCES = $(protoc_lit
+
+ # Test plugin binary.
+ test_plugin_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \
+- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la
++ -lgtest
+
+ test_plugin_CPPFLAGS = -I$(GOOGLETEST_SRC_DIR)/include
+ test_plugin_SOURCES = \
diff --git a/devel/protobuf3/pkg-descr b/devel/protobuf3/pkg-descr
new file mode 100644
index 000000000000..73df6ac90a21
--- /dev/null
+++ b/devel/protobuf3/pkg-descr
@@ -0,0 +1,3 @@
+Protocol Buffers are a way of encoding structured data in an efficient yet
+extensible format. Google uses Protocol Buffers for almost all of its internal
+RPC protocols and file formats.
diff --git a/devel/protobuf3/pkg-plist b/devel/protobuf3/pkg-plist
new file mode 100644
index 000000000000..d60b9a3c684c
--- /dev/null
+++ b/devel/protobuf3/pkg-plist
@@ -0,0 +1,146 @@
+bin/protoc
+include/google/protobuf/any.h
+include/google/protobuf/any.pb.h
+include/google/protobuf/any.proto
+include/google/protobuf/api.pb.h
+include/google/protobuf/api.proto
+include/google/protobuf/arena.h
+include/google/protobuf/arena_impl.h
+include/google/protobuf/arenastring.h
+include/google/protobuf/arenaz_sampler.h
+include/google/protobuf/compiler/code_generator.h
+include/google/protobuf/compiler/command_line_interface.h
+include/google/protobuf/compiler/cpp/cpp_generator.h
+include/google/protobuf/compiler/cpp/file.h
+include/google/protobuf/compiler/cpp/generator.h
+include/google/protobuf/compiler/cpp/helpers.h
+include/google/protobuf/compiler/cpp/names.h
+include/google/protobuf/compiler/csharp/csharp_doc_comment.h
+include/google/protobuf/compiler/csharp/csharp_generator.h
+include/google/protobuf/compiler/csharp/csharp_names.h
+include/google/protobuf/compiler/csharp/csharp_options.h
+include/google/protobuf/compiler/importer.h
+include/google/protobuf/compiler/java/generator.h
+include/google/protobuf/compiler/java/java_generator.h
+include/google/protobuf/compiler/java/kotlin_generator.h
+include/google/protobuf/compiler/java/names.h
+include/google/protobuf/compiler/objectivec/objectivec_generator.h
+include/google/protobuf/compiler/objectivec/objectivec_helpers.h
+include/google/protobuf/compiler/parser.h
+include/google/protobuf/compiler/php/php_generator.h
+include/google/protobuf/compiler/plugin.h
+include/google/protobuf/compiler/plugin.pb.h
+include/google/protobuf/compiler/plugin.proto
+include/google/protobuf/compiler/python/generator.h
+include/google/protobuf/compiler/python/pyi_generator.h
+include/google/protobuf/compiler/python/python_generator.h
+include/google/protobuf/compiler/ruby/ruby_generator.h
+include/google/protobuf/descriptor.h
+include/google/protobuf/descriptor.pb.h
+include/google/protobuf/descriptor.proto
+include/google/protobuf/descriptor_database.h
+include/google/protobuf/duration.pb.h
+include/google/protobuf/duration.proto
+include/google/protobuf/dynamic_message.h
+include/google/protobuf/empty.pb.h
+include/google/protobuf/empty.proto
+include/google/protobuf/endian.h
+include/google/protobuf/explicitly_constructed.h
+include/google/protobuf/extension_set.h
+include/google/protobuf/extension_set_inl.h
+include/google/protobuf/field_access_listener.h
+include/google/protobuf/field_mask.pb.h
+include/google/protobuf/field_mask.proto
+include/google/protobuf/generated_enum_reflection.h
+include/google/protobuf/generated_enum_util.h
+include/google/protobuf/generated_message_bases.h
+include/google/protobuf/generated_message_reflection.h
+include/google/protobuf/generated_message_tctable_decl.h
+include/google/protobuf/generated_message_tctable_impl.h
+include/google/protobuf/generated_message_util.h
+include/google/protobuf/has_bits.h
+include/google/protobuf/implicit_weak_message.h
+include/google/protobuf/inlined_string_field.h
+include/google/protobuf/io/coded_stream.h
+include/google/protobuf/io/gzip_stream.h
+include/google/protobuf/io/io_win32.h
+include/google/protobuf/io/printer.h
+include/google/protobuf/io/strtod.h
+include/google/protobuf/io/tokenizer.h
+include/google/protobuf/io/zero_copy_stream.h
+include/google/protobuf/io/zero_copy_stream_impl.h
+include/google/protobuf/io/zero_copy_stream_impl_lite.h
+include/google/protobuf/map.h
+include/google/protobuf/map_entry.h
+include/google/protobuf/map_entry_lite.h
+include/google/protobuf/map_field.h
+include/google/protobuf/map_field_inl.h
+include/google/protobuf/map_field_lite.h
+include/google/protobuf/map_type_handler.h
+include/google/protobuf/message.h
+include/google/protobuf/message_lite.h
+include/google/protobuf/metadata.h
+include/google/protobuf/metadata_lite.h
+include/google/protobuf/parse_context.h
+include/google/protobuf/port.h
+include/google/protobuf/port_def.inc
+include/google/protobuf/port_undef.inc
+include/google/protobuf/reflection.h
+include/google/protobuf/reflection_internal.h
+include/google/protobuf/reflection_ops.h
+include/google/protobuf/repeated_field.h
+include/google/protobuf/repeated_ptr_field.h
+include/google/protobuf/service.h
+include/google/protobuf/source_context.pb.h
+include/google/protobuf/source_context.proto
+include/google/protobuf/struct.pb.h
+include/google/protobuf/struct.proto
+include/google/protobuf/stubs/bytestream.h
+include/google/protobuf/stubs/callback.h
+include/google/protobuf/stubs/casts.h
+include/google/protobuf/stubs/common.h
+include/google/protobuf/stubs/hash.h
+include/google/protobuf/stubs/logging.h
+include/google/protobuf/stubs/macros.h
+include/google/protobuf/stubs/map_util.h
+include/google/protobuf/stubs/mutex.h
+include/google/protobuf/stubs/once.h
+include/google/protobuf/stubs/platform_macros.h
+include/google/protobuf/stubs/port.h
+include/google/protobuf/stubs/status.h
+include/google/protobuf/stubs/stl_util.h
+include/google/protobuf/stubs/stringpiece.h
+include/google/protobuf/stubs/strutil.h
+include/google/protobuf/stubs/template_util.h
+include/google/protobuf/text_format.h
+include/google/protobuf/timestamp.pb.h
+include/google/protobuf/timestamp.proto
+include/google/protobuf/type.pb.h
+include/google/protobuf/type.proto
+include/google/protobuf/unknown_field_set.h
+include/google/protobuf/util/delimited_message_util.h
+include/google/protobuf/util/field_comparator.h
+include/google/protobuf/util/field_mask_util.h
+include/google/protobuf/util/json_util.h
+include/google/protobuf/util/message_differencer.h
+include/google/protobuf/util/time_util.h
+include/google/protobuf/util/type_resolver.h
+include/google/protobuf/util/type_resolver_util.h
+include/google/protobuf/wire_format.h
+include/google/protobuf/wire_format_lite.h
+include/google/protobuf/wrappers.pb.h
+include/google/protobuf/wrappers.proto
+lib/libprotobuf-lite.a
+lib/libprotobuf-lite.so
+lib/libprotobuf-lite.so.32
+lib/libprotobuf-lite.so.32.0.%%PATCH_VERSION%%
+lib/libprotobuf.a
+lib/libprotobuf.so
+lib/libprotobuf.so.32
+lib/libprotobuf.so.32.0.%%PATCH_VERSION%%
+lib/libprotoc.a
+lib/libprotoc.so
+lib/libprotoc.so.32
+lib/libprotoc.so.32.0.%%PATCH_VERSION%%
+libdata/pkgconfig/protobuf-lite.pc
+libdata/pkgconfig/protobuf.pc