dev-libs/protobuf: fix abseil problems

Closes: #3503
Signed-off-by: Andreas Billmeier <b@edevau.net>
This commit is contained in:
Andreas Billmeier 2024-06-26 21:41:07 +02:00
parent aca9e63a80
commit 2ae29beb71
Signed by: onkelbeh
GPG Key ID: E6DB12C8C550F3C0
4 changed files with 218 additions and 2 deletions

View File

@ -606,14 +606,14 @@ A daily compile test is run at Github with Python 3.9 to catch general faults. E
## Licenses
This repository itself is released under GPL-3 (like most Gentoo repositories), all work on the depending components under the licenses they came from. Perhaps you came here because I filed an issue at your component about a bad or missing license. It is easy to [assign a license](https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/adding-a-license-to-a-repository). During cleanups and license investigations I have been asked often which license to choose. I am not a lawyer, but I can offer the following table, counted over this repository, perhaps this helps your decision. If a package has more than one license listed, all of them are counted.
There are 1950 Ebuilds in total, 1939 of them have in total 1963 (42 different) licenses assigned.
There are 1952 Ebuilds in total, 1941 of them have in total 1965 (42 different) licenses assigned.
|License| Ebuilds using it|
|-------|-----|
|MIT|1122|
|Apache-2.0|437|
|GPL-3|114|
|BSD|111|
|BSD|113|
|LGPL-3|25|
|GPL-2|23|
|GPL-3+|16|

View File

@ -7,6 +7,8 @@ DIST protobuf-25.1.tar.gz 5878124 BLAKE2B a0b917e4518b07b221afd01e801e45b5b6fa35
DIST protobuf-25.2.tar.gz 5878387 BLAKE2B 1ee7a48d3a481f523ff240c79e8cacb39b6a7e2c671279812cbffd5ce9be595034461fba41f03bed363133118c1b92bd14bcfd8c4e46ac6368e6407a23fb02ea SHA512 66f0b177eae0e2e40b8b17c8f411cd9dec5355dcfc145b8a79426e6367babcc28b9a8078bbe4ba2de47a82811a2e1a89d36955d6fa0c8d391cfeada4eb160fdb
EBUILD protobuf-24.2.ebuild 2499 BLAKE2B d20fc60b8ee0c13339074e3c5669baea5dc5f30004f2a6ebb958dbe9f21c66c257e6441c9a1ecfe96e1ea97b70684917a89419f7b85bf03d47b15a1e931c1336 SHA512 f40a776398989d120b6a28e59f4d6b56e5bb1f4441f72982fd24ccaa194a10f0d3dcda7cca7481a62f7eb3d60034a4fef2cc33d0454e40dab7ee696381228645
EBUILD protobuf-24.3.ebuild 2525 BLAKE2B 56715d3d86d843bd41bfa1e105f0ee57df8bedf465061a28337b148be8a7f693a4f97cd64ec5d365b61797394fbddd760c86c8990055a252dc23a98333cb20c6 SHA512 4294d66c9a9096017543a08972f0689159545efad0e4e6b33e66073d429ed272ee93187832b2d6aa64a189e15f205f8d02f69b0c9c633d5fe28410ceccc81a72
EBUILD protobuf-25.1-r1.ebuild 2525 BLAKE2B 5c544165afffc4669c2fa236cfbcfa299c74f01fa944e9f29d789b44eff2451a4adfef0ce99aa6cf950fd410ea8cad2cf6788ff2945a00aa7c698a3628d3da99 SHA512 8df88dc07b6a21e7573a4ee48c2cfff569462e1373d9653146bf7dec63dd1071f3b83b27a01a7d174ae24f55485008fb76f667f5b317b172a58049f58c83e2a3
EBUILD protobuf-25.1.ebuild 2525 BLAKE2B 56715d3d86d843bd41bfa1e105f0ee57df8bedf465061a28337b148be8a7f693a4f97cd64ec5d365b61797394fbddd760c86c8990055a252dc23a98333cb20c6 SHA512 4294d66c9a9096017543a08972f0689159545efad0e4e6b33e66073d429ed272ee93187832b2d6aa64a189e15f205f8d02f69b0c9c633d5fe28410ceccc81a72
EBUILD protobuf-25.2-r1.ebuild 2525 BLAKE2B 5c544165afffc4669c2fa236cfbcfa299c74f01fa944e9f29d789b44eff2451a4adfef0ce99aa6cf950fd410ea8cad2cf6788ff2945a00aa7c698a3628d3da99 SHA512 8df88dc07b6a21e7573a4ee48c2cfff569462e1373d9653146bf7dec63dd1071f3b83b27a01a7d174ae24f55485008fb76f667f5b317b172a58049f58c83e2a3
EBUILD protobuf-25.2.ebuild 2525 BLAKE2B 56715d3d86d843bd41bfa1e105f0ee57df8bedf465061a28337b148be8a7f693a4f97cd64ec5d365b61797394fbddd760c86c8990055a252dc23a98333cb20c6 SHA512 4294d66c9a9096017543a08972f0689159545efad0e4e6b33e66073d429ed272ee93187832b2d6aa64a189e15f205f8d02f69b0c9c633d5fe28410ceccc81a72
MISC metadata.xml 595 BLAKE2B ba1b916e26b1e53f68e660f03d2e53fea8d22db04e8241ebec3ec20fbb251c2b164cf25d5fb6118423ce7721a822ae2302aab137b0748730e9a6860bf8e65668 SHA512 785e2550621b79b6350e1a6b52ed9992610769885fb29a9e92ee45a35158cc08707a3590dfcbece9ee9a5e16e1abfb614e8186132da7b942f2761b5e6ecfa827

View File

@ -0,0 +1,107 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake-multilib elisp-common toolchain-funcs
if [[ "${PV}" == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
EGIT_SUBMODULES=()
else
SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 arm arm64 x86"
fi
DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
HOMEPAGE="https://protobuf.dev/"
LICENSE="BSD"
SLOT="0/$(ver_cut 1-2).0"
IUSE="emacs examples test zlib"
RESTRICT="!test? ( test )"
BDEPEND="emacs? ( app-editors/emacs:* )"
DEPEND="
>=dev-cpp/abseil-cpp-20230802.0:=[${MULTILIB_USEDEP}]
zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
"
RDEPEND="
>=dev-cpp/abseil-cpp-20230802.0:=[${MULTILIB_USEDEP}]
emacs? ( app-editors/emacs:* )
zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
"
PATCHES=(
"${FILESDIR}/${PN}-23.3-static_assert-failure.patch"
)
DOCS=( CONTRIBUTORS.txt README.md )
src_configure() {
if tc-ld-is-gold; then
# https://sourceware.org/bugzilla/show_bug.cgi?id=24527
tc-ld-disable-gold
fi
cmake-multilib_src_configure
}
multilib_src_configure() {
local mycmakeargs=(
-Dprotobuf_DISABLE_RTTI=ON
-Dprotobuf_BUILD_EXAMPLES=$(usex examples)
-Dprotobuf_WITH_ZLIB=$(usex zlib)
-Dprotobuf_BUILD_TESTS=$(usex test)
-Dprotobuf_ABSL_PROVIDER=package
)
use test && mycmakeargs+=(-Dprotobuf_USE_EXTERNAL_GTEST=ON)
cmake_src_configure
}
src_compile() {
cmake-multilib_src_compile
if use emacs; then
elisp-compile editors/protobuf-mode.el
fi
}
multilib_src_install_all() {
find "${ED}" -name "*.la" -delete || die
if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" ]]; then
eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \
"Expected value: ${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}"
die "Please update SLOT variable"
fi
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
}

View File

@ -0,0 +1,107 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake-multilib elisp-common toolchain-funcs
if [[ "${PV}" == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
EGIT_SUBMODULES=()
else
SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 arm arm64 x86"
fi
DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
HOMEPAGE="https://protobuf.dev/"
LICENSE="BSD"
SLOT="0/$(ver_cut 1-2).0"
IUSE="emacs examples test zlib"
RESTRICT="!test? ( test )"
BDEPEND="emacs? ( app-editors/emacs:* )"
DEPEND="
>=dev-cpp/abseil-cpp-20230802.0:=[${MULTILIB_USEDEP}]
zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
"
RDEPEND="
>=dev-cpp/abseil-cpp-20230802.0:=[${MULTILIB_USEDEP}]
emacs? ( app-editors/emacs:* )
zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
"
PATCHES=(
"${FILESDIR}/${PN}-23.3-static_assert-failure.patch"
)
DOCS=( CONTRIBUTORS.txt README.md )
src_configure() {
if tc-ld-is-gold; then
# https://sourceware.org/bugzilla/show_bug.cgi?id=24527
tc-ld-disable-gold
fi
cmake-multilib_src_configure
}
multilib_src_configure() {
local mycmakeargs=(
-Dprotobuf_DISABLE_RTTI=ON
-Dprotobuf_BUILD_EXAMPLES=$(usex examples)
-Dprotobuf_WITH_ZLIB=$(usex zlib)
-Dprotobuf_BUILD_TESTS=$(usex test)
-Dprotobuf_ABSL_PROVIDER=package
)
use test && mycmakeargs+=(-Dprotobuf_USE_EXTERNAL_GTEST=ON)
cmake_src_configure
}
src_compile() {
cmake-multilib_src_compile
if use emacs; then
elisp-compile editors/protobuf-mode.el
fi
}
multilib_src_install_all() {
find "${ED}" -name "*.la" -delete || die
if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" ]]; then
eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \
"Expected value: ${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}"
die "Please update SLOT variable"
fi
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
}