commit:     9ad0fbb3dc44c73e14f5f812d0b2e80cc83bc7f9
Author:     Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Apache <DOT> Org>
AuthorDate: Wed Jun  9 00:00:00 2021 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Wed Jun  9 20:10:03 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9ad0fbb3

dev-libs/protobuf: Version bump (3.17.3).

Signed-off-by: Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Apache.Org>
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 dev-libs/protobuf/Manifest               |   1 +
 dev-libs/protobuf/protobuf-3.17.3.ebuild | 140 +++++++++++++++++++++++++++++++
 2 files changed, 141 insertions(+)

diff --git a/dev-libs/protobuf/Manifest b/dev-libs/protobuf/Manifest
index e170628b338..87ea4747892 100644
--- a/dev-libs/protobuf/Manifest
+++ b/dev-libs/protobuf/Manifest
@@ -3,3 +3,4 @@ DIST protobuf-3.16.0.tar.gz 5299781 BLAKE2B 
9ace02a6038c31b7393671fb2ccd6a4866a3
 DIST protobuf-3.17.0.tar.gz 5185780 BLAKE2B 
a168619df72cdf097c7ddfd50aca96a2101bf73e7c1c842c020e6ee08a853db8674a86ca999b7706da3dd21d4d3d2159241c93232efc693701962f3a54a382e9
 SHA512 
36ed2de641849ce01531ff1207f62a0748f811519c40622a119a17a1e709864382de81481fb58f374a025948971c48416e7e6de9c00512a78633c7a8a3aa3a36
 DIST protobuf-3.17.1.tar.gz 5192666 BLAKE2B 
7f912db7e0835aaa42628fcf564a5666e2cbfa021bb35638a5eec53c3c457f1e747225dea54f732b7239a1520febca9bc20c824b1938f100796caa3ac2133bc1
 SHA512 
5a18aa3c1dab040dc6d22310a8503241081106acf7ca89079d7b416533d7c2cdd47719dc9023e6bc26969f0f1c796550260a04034a403c69752f6a3a7a651bb8
 DIST protobuf-3.17.2.tar.gz 5192779 BLAKE2B 
97f9561848e70b8d26ebcc7fc4fa8da51c4b8267efbe1d2d386c2785308e7ba7edc05f1b3863c274dc8838866d58b58509606d72c51a22b956d1d528584c4c95
 SHA512 
b3e7ad50ed772668df70a3a20ad1af13a5e82f23b109e4fecd34e6a74947bed300963c9f084907fbfafe28fc18365cde7df1975e2ff9538d2f5a3d2b458bca98
+DIST protobuf-3.17.3.tar.gz 5235236 BLAKE2B 
2495e678c8f9436d4e5a30ccee8b6226125d418ac7ecf7df20b078a1a16c221cbccab7d846dcd56a90220c106617fa75c410a21b62612fedec378cd7e8571350
 SHA512 
b4030b4474cc5fb5a62501200725dd488e6e66e3ced4ed12ab4ee029fcfed305e92ec966adafbdd343afffd186908163849422b95eaa500e7e741ac325d01d12

diff --git a/dev-libs/protobuf/protobuf-3.17.3.ebuild 
b/dev-libs/protobuf/protobuf-3.17.3.ebuild
new file mode 100644
index 00000000000..6391fd499f3
--- /dev/null
+++ b/dev-libs/protobuf/protobuf-3.17.3.ebuild
@@ -0,0 +1,140 @@
+# Copyright 2008-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit autotools elisp-common flag-o-matic multilib-minimal toolchain-funcs
+
+if [[ "${PV}" == "9999" ]]; then
+       inherit git-r3
+
+       EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf";
+       EGIT_SUBMODULES=()
+fi
+
+DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing 
structured data"
+HOMEPAGE="https://developers.google.com/protocol-buffers/ 
https://github.com/protocolbuffers/protobuf";
+if [[ "${PV}" == "9999" ]]; then
+       SRC_URI=""
+else
+       SRC_URI="https://github.com/protocolbuffers/${PN}/archive/v${PV}.tar.gz 
-> ${P}.tar.gz"
+fi
+
+LICENSE="BSD"
+SLOT="0/28"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc 
~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="emacs examples static-libs test zlib"
+RESTRICT="!test? ( test )"
+
+BDEPEND="emacs? ( app-editors/emacs:* )"
+DEPEND="test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
+       zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
+RDEPEND="emacs? ( app-editors/emacs:* )
+       zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-3.17.0-disable_no-warning-test.patch"
+       "${FILESDIR}/${PN}-3.17.0-system_libraries.patch"
+       "${FILESDIR}/${PN}-3.16.0-protoc_input_output_files.patch"
+)
+
+DOCS=(CHANGES.txt CONTRIBUTORS.txt README.md)
+
+src_prepare() {
+       default
+
+       # https://github.com/protocolbuffers/protobuf/issues/7413
+       sed -e "/^AC_PROG_CXX_FOR_BUILD$/d" -i configure.ac || die
+
+       # https://github.com/protocolbuffers/protobuf/issues/8082
+       sed -e "/^TEST_F(IoTest, LargeOutput) {$/,/^}$/d" -i 
src/google/protobuf/io/zero_copy_stream_unittest.cc || die
+
+       # https://github.com/protocolbuffers/protobuf/issues/8459
+       sed \
+               -e "/^TEST(ArenaTest, BlockSizeSmallerThanAllocation) {$/a\\  
if (sizeof(void*) == 4) {\n    GTEST_SKIP();\n  }" \
+               -e "/^TEST(ArenaTest, SpaceAllocated_and_Used) {$/a\\  if 
(sizeof(void*) == 4) {\n    GTEST_SKIP();\n  }" \
+               -i src/google/protobuf/arena_unittest.cc || die
+
+       # https://github.com/protocolbuffers/protobuf/issues/8460
+       sed -e "/^TEST(AnyTest, TestPackFromSerializationExceedsSizeLimit) 
{$/a\\  if (sizeof(void*) == 4) {\n    GTEST_SKIP();\n  }" -i 
src/google/protobuf/any_test.cc || die
+
+       eautoreconf
+}
+
+src_configure() {
+       append-cppflags -DGOOGLE_PROTOBUF_NO_RTTI
+
+       if tc-ld-is-gold; then
+               # https://sourceware.org/bugzilla/show_bug.cgi?id=24527
+               tc-ld-disable-gold
+       fi
+
+       multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+       local options=(
+               $(use_enable static-libs static)
+               $(use_with zlib)
+       )
+
+       if tc-is-cross-compiler; then
+               # Build system uses protoc when building, so protoc copy 
runnable on host is needed.
+               mkdir -p "${WORKDIR}/build" || die
+               pushd "${WORKDIR}/build" > /dev/null || die
+               ECONF_SOURCE="${S}" econf_build "${options[@]}"
+               options+=(--with-protoc="$(pwd)/src/protoc")
+               popd > /dev/null || die
+       fi
+
+       ECONF_SOURCE="${S}" econf "${options[@]}"
+}
+
+src_compile() {
+       multilib-minimal_src_compile
+
+       if use emacs; then
+               elisp-compile editors/protobuf-mode.el
+       fi
+}
+
+multilib_src_compile() {
+       if tc-is-cross-compiler; then
+               emake -C "${WORKDIR}/build/src" protoc
+       fi
+
+       default
+}
+
+multilib_src_test() {
+       emake check
+}
+
+multilib_src_install_all() {
+       find "${ED}" -name "*.la" -delete || die
+
+       insinto /usr/share/vim/vimfiles/syntax
+       doins editors/proto.vim
+       insinto /usr/share/vim/vimfiles/ftdetect
+       doins "${FILESDIR}/proto.vim"
+
+       if use emacs; then
+               elisp-install ${PN} editors/protobuf-mode.el*
+               elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
+       fi
+
+       if use examples; then
+               DOCS+=(examples)
+               docompress -x /usr/share/doc/${PF}/examples
+       fi
+
+       einstalldocs
+}
+
+pkg_postinst() {
+       use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+       use emacs && elisp-site-regen
+}

Reply via email to