summaryrefslogtreecommitdiff
path: root/dev-libs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-09-05 12:28:41 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-09-05 12:28:41 +0100
commit5d93bae2c1576ab817f482024a6d47592829407b (patch)
tree1fd9619473e6cdba4c004554cb1743ec16654102 /dev-libs
parent518b45bffd19d0b75715f338985f96c459f9d129 (diff)
gentoo auto-resync : 05:09:2024 - 12:28:40
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/Manifest.gzbin101495 -> 101495 bytes
-rw-r--r--dev-libs/expat/Manifest2
-rw-r--r--dev-libs/expat/expat-2.6.3.ebuild100
-rw-r--r--dev-libs/openssl/Manifest2
-rw-r--r--dev-libs/openssl/openssl-3.0.14.ebuild2
-rw-r--r--dev-libs/protobuf/Manifest12
-rw-r--r--dev-libs/protobuf/files/FindJsonCpp.cmake40
-rw-r--r--dev-libs/protobuf/files/protobuf-27.4-findJsonCpp.patch33
-rw-r--r--dev-libs/protobuf/files/protobuf-28.0-disable-test_upb-lto.patch23
-rw-r--r--dev-libs/protobuf/protobuf-25.4.ebuild166
-rw-r--r--dev-libs/protobuf/protobuf-26.1-r1.ebuild113
-rw-r--r--dev-libs/protobuf/protobuf-27.4.ebuild166
-rw-r--r--dev-libs/protobuf/protobuf-28.0.ebuild166
-rw-r--r--dev-libs/protobuf/protobuf-9999.ebuild46
14 files changed, 734 insertions, 137 deletions
diff --git a/dev-libs/Manifest.gz b/dev-libs/Manifest.gz
index 39144123911d..03fdc12672b6 100644
--- a/dev-libs/Manifest.gz
+++ b/dev-libs/Manifest.gz
Binary files differ
diff --git a/dev-libs/expat/Manifest b/dev-libs/expat/Manifest
index 888b1cf74fb3..531c67940bd5 100644
--- a/dev-libs/expat/Manifest
+++ b/dev-libs/expat/Manifest
@@ -2,8 +2,10 @@ DIST expat-2.5.0.tar.xz 460560 BLAKE2B 670298d076ff3b512a0212170d40cb04c601a11d6
DIST expat-2.6.0.tar.xz 483448 BLAKE2B 2f0117317bde4e03d8662bcac1ff6c2bbb1af694846b21a82ac12d11ccd43032b481af72fa35298c3cb19b7426dba6a67e703904ca7b05663ffd854a42348bd0 SHA512 d6f1c4a1a2ec8ffc04c04d6767cc8dd7dea3d132d10b8a2c45c5bfb405893c75db032b87a56cc88300b61c961dd7f9782b93aa74dddc7e66f25acb0c6c82b1fd
DIST expat-2.6.1.tar.xz 484000 BLAKE2B 21a177ae8d70ca1bf41cae75c299a3021a9fc1b9d5eb01eb2945b16d7b24dcbeabad855379bdd8a14de804e1a1648105ce03b505f68c2beb4096a81020e35848 SHA512 fcd7e04e9411799c48b7d08ea07808a0809d034453a0649d9a79ed09000f1a11e5082a034089fc0c0acd2789e85bdf1deb2a94d8e3e33791bbfed66ce7207bcc
DIST expat-2.6.2.tar.xz 485236 BLAKE2B aae019270e1ab233fe8480b7eaa77f648f23ef3383dc772dc946cb13163067431716dc5446862eb502315fd089f2f52f3d476589b74a97e462575cd54df44db4 SHA512 47b60967d6346d330dded87ea1a2957aa7d34dd825043386a89aa131054714f618ede57bfe97cf6caa40582a4bc67e198d2a915e7d8dbe8ee4f581857c2e3c2e
+DIST expat-2.6.3.tar.xz 485600 BLAKE2B b8e0a0e779f0f136eaca91115cbbcf5a5cca457cab1cca6f8d6141151d19f8ef2dccb41b0e9134459c1e7d99cb2e0b4ce3922d2bd9221002ec43fe9d53a0084a SHA512 e02c4ad88f9d539258aa1c1db71ded7770a8f12c77b5535e5b34f040ae5b1361ef23132f16d96bdb7c096a83acd637a7c907916bdfcc6d5cfb9e35d04020ca0b
EBUILD expat-2.5.0.ebuild 2284 BLAKE2B 0b05bd7d10a492bdda97c1291e6b3206a1d1b5a1a8440a3f9f0d503d3f42b09a1463cb625e6b6c3b0d988f32fbcf042b24cdacf257cba77de51e1f6fac07c702 SHA512 81cafeee26c3ca1430daae37960bba307266bd396f3dc1490d88024d492e2be677dec5369564c6ac80ecc17d49a77abc5d869775b57da54ba330c18b59d397a5
EBUILD expat-2.6.0.ebuild 2292 BLAKE2B 5392332747aa938d205ebb6a587e82132f7e6c1b1b649b1c0491f125cba351e38bf37c13c48e86869cc25cc87877b146d1fd2a15f9f716ff89f4beff300451e3 SHA512 b687b33d91064a4066d3fde9238f65128214def6d843dcc376e8d621b3abc66d26c36e827fe313f1fe07f4e4151edb87830a5f453ac319296e4f3fe65fadf850
EBUILD expat-2.6.1.ebuild 2384 BLAKE2B 3de77ec06c7b732f03b8aee0232aaa2bc176795713dd6093ebe10bacf41e498e39ba97ea686b8a3bd44c36f8b0f2fd60610ac73d2533312bb245f251f1833dfc SHA512 b350ee790dedce27c79b411d513134315d1381a47fa326ed1a1914c20d6522188fc27f0944f3da6667f2696aec499cbef4069c1ffa7dc0418065327f958103d0
EBUILD expat-2.6.2.ebuild 2384 BLAKE2B 3de77ec06c7b732f03b8aee0232aaa2bc176795713dd6093ebe10bacf41e498e39ba97ea686b8a3bd44c36f8b0f2fd60610ac73d2533312bb245f251f1833dfc SHA512 b350ee790dedce27c79b411d513134315d1381a47fa326ed1a1914c20d6522188fc27f0944f3da6667f2696aec499cbef4069c1ffa7dc0418065327f958103d0
+EBUILD expat-2.6.3.ebuild 2302 BLAKE2B 84dd5c2a154651d4475864270c0fb000d08167306e1a5a497b7526eb7c4b3affae9bf0dfc60042996c65c642e634ab963e85294429decb82d5124cd64a3bafce SHA512 a1bd9303c5f7b3e6bf009a875a5f040734ed1cebca71a358a6e453eb581418197827dd1efc918273f4bd3a6881267700e66eb71d1e46ab566202d3dfee18619b
MISC metadata.xml 571 BLAKE2B ebefe11eb4a54dda87048089930a051a629fd99a6983b3c804dfd033eee4017c3b1871cbdff56c8659cdf74b19651cd7f2134721a9bab3e8a752d4a1694c6266 SHA512 8d726b1dee71528e43c8693bd4b08cf33a94f43470126aa18a51ed248b032c5e8b9d801c5b2d5f58c2fd7896b32ee9e6eb3953395e5a6004cdf00569d114ad1d
diff --git a/dev-libs/expat/expat-2.6.3.ebuild b/dev-libs/expat/expat-2.6.3.ebuild
new file mode 100644
index 000000000000..c3b58eddf197
--- /dev/null
+++ b/dev-libs/expat/expat-2.6.3.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+AUTOTOOLS_AUTO_DEPEND=no
+inherit autotools multilib-minimal
+
+DESCRIPTION="Stream-oriented XML parser library"
+HOMEPAGE="https://libexpat.github.io/"
+SRC_URI="https://github.com/libexpat/libexpat/releases/download/R_${PV//\./_}/expat-${PV}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="examples static-libs test unicode"
+RESTRICT="!test? ( test )"
+BDEPEND="unicode? ( ${AUTOTOOLS_DEPEND} )"
+
+DOCS=( README.md )
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # https://bugs.gentoo.org/906384
+ arc4random
+ arc4random_buf
+)
+
+src_prepare() {
+ default
+
+ # fix interpreter to be a recent/good shell
+ sed -i -e "1s:/bin/sh:${BASH}:" conftools/get-version.sh || die
+ if use unicode; then
+ cp -R "${S}" "${S}"w || die
+ pushd "${S}"w >/dev/null
+ find -name Makefile.am \
+ -exec sed \
+ -e 's,libexpat\.la,libexpatw.la,' \
+ -e 's,libexpat_la,libexpatw_la,' \
+ -i {} + || die
+ eautoreconf
+ popd >/dev/null
+ fi
+}
+
+multilib_src_configure() {
+ local myconf="$(use_with test tests) $(use_enable static-libs static) --without-docbook"
+
+ mkdir -p "${BUILD_DIR}"w || die
+
+ if use unicode; then
+ pushd "${BUILD_DIR}"w >/dev/null
+ CPPFLAGS="${CPPFLAGS} -DXML_UNICODE" ECONF_SOURCE="${S}"w econf ${myconf}
+ popd >/dev/null
+ fi
+
+ ECONF_SOURCE="${S}" econf ${myconf}
+}
+
+multilib_src_compile() {
+ emake
+
+ if use unicode; then
+ pushd "${BUILD_DIR}"w >/dev/null
+ emake -C lib
+ popd >/dev/null
+ fi
+}
+
+multilib_src_install() {
+ emake install DESTDIR="${D}"
+
+ if use unicode; then
+ pushd "${BUILD_DIR}"w >/dev/null
+ emake -C lib install DESTDIR="${D}"
+ popd >/dev/null
+
+ pushd "${ED}"/usr/$(get_libdir)/pkgconfig >/dev/null
+ cp expat.pc expatw.pc
+ sed -i -e '/^Libs/s:-lexpat:&w:' expatw.pc || die
+ popd >/dev/null
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ doman doc/xmlwf.1
+
+ # Note: Use of HTML_DOCS would add unwanted "doc" subfolder
+ docinto html
+ dodoc doc/*.{css,html}
+
+ if use examples; then
+ docinto examples
+ dodoc examples/*.c
+ docompress -x usr/share/doc/${PF}/examples
+ fi
+
+ find "${D}" -name '*.la' -type f -delete || die
+}
diff --git a/dev-libs/openssl/Manifest b/dev-libs/openssl/Manifest
index 0bf6acf6453e..905501fbdf42 100644
--- a/dev-libs/openssl/Manifest
+++ b/dev-libs/openssl/Manifest
@@ -26,7 +26,7 @@ DIST openssl-3.3.1.tar.gz.asc 833 BLAKE2B e22c068dfcd0205f1cd27f965b76dcaf59bed6
EBUILD openssl-1.0.2u-r1.ebuild 9903 BLAKE2B 12f7aacfd006be85c50f523a7f1b8a1f9b4f4e2e9fc440f95cc68e615432f47fe8cd61705a518622bbbc075c51b4ee9040f1b6159e254aa23c325f6b41e02dac SHA512 71b6b5dec0ca3966622a2810d1cb98a0fd0e8c06966bf2d3b206b0a804c06a745aeb951a06e3ee1f9627fd39d8a87156ed96c059182c63a7f6bc78074f9f689b
EBUILD openssl-1.1.1w.ebuild 8237 BLAKE2B 6c4bbae0266031cbc7018391e1c4a3172500d5e36d3769f5e4d016665614ee25946fdf94d0bac5b96588f3716970cb7e3748db4300c8b4889a9c1e2577e4b7ad SHA512 d1e41783bd1a95d0188559eb9214c5e6d681d3dd050e9c02b66b8972e482209a3c7cca7dd1e914e49a9f5a4140c4b3fa2576d7452fe5bf1888eaa47c0e51a1eb
EBUILD openssl-3.0.13-r2.ebuild 8583 BLAKE2B 1650cdb16342b99131bc20f49df377cc8c5530980107de5386ba402e779837f16c968bc781f6247152f9d3d2bb73d4d0efd9c791bdec2064205b7e91770c1582 SHA512 6d91e8fd28a5ea5e79b2fa7670ddaceb64a2a7ebbd873f66b1317f6b1c90b44f9b1754ec4edd5185cc105fcd4b1846dfb40559595738e87bc4cd935deb0efef0
-EBUILD openssl-3.0.14.ebuild 8495 BLAKE2B 1f35676aa3e6fa01a46a52919f243f7f9b8922e08414d1ba99572995dabaa969dc8a7d49ee03b847bd0c81ab98d8fb247562d24095b5e30200eb3d14e5eb4600 SHA512 91ecb06f77731e089574a3b46d97ca7700017641d4c032cb460d538daa2d56dfc0a0f2d0752992b7b13fda0f9fcdcb4a33f71eb5712dfe84b1ae148c38ec8dd0
+EBUILD openssl-3.0.14.ebuild 8494 BLAKE2B 7d0d2da1b02859b53ca5e1596b4a791e1ee450afb9c5f76401112aef38f6e618b8652c9befd67a64fb82701d776a703f636271a3025290664ab4ccf177cb82cc SHA512 8aae10757a157e2ceed2e59bfc92a5495bda6bd9079f91414ea4b59bd20b25f084b1c0deb7e94a398f3b7635d368e76c36486ccf104c78b02442bd8ce8b5ca53
EBUILD openssl-3.1.6.ebuild 8605 BLAKE2B 841c614b3bcf87dc1129c15e5c413b77c137585fce4c314c47807af5ce6a79ce8296543abbb03857b4a1ef91fe1ee0d98f51bdeb697f04e5d6459c98d65f9dc2 SHA512 dd3061d7be29b22b14c3479541bf5d70ee1a0d5e5257e750dc967fcf693ea7543448ced2cc082281f7d8b5850d2c1ac5977a363b529e94e25f50f624e0bc1171
EBUILD openssl-3.2.2.ebuild 9250 BLAKE2B 577dd9959d17f63e816f22d06d12379fd68d33f3eb66e4925f2a41dc2821e95aca9ef59558875410e0ad5558bc909e271ea6d7816d98045dd4fd0aabdb7a65ab SHA512 47d2e80fc4aa7fa16388e76ec07d026d2be79eafa2d2e7a52b6208b4ea11d14998d859ee8ecaedad81a528fa5127253b41a3ec23c2e0867c9c639b2947248cfb
EBUILD openssl-3.3.1-r3.ebuild 9618 BLAKE2B ddab56cdea600bab19bb2441564c5356af892e3db3cc915ed38a95a0f76a1e193c1bd0a54b5f961331ba0a6ca0f542c674b7e625434c458125919e68d669f833 SHA512 9c02c40f286cc1c75b5acf455564c6fc2d32df2a7f75a157ab0f845f1ef0968915cb4f01f6727f6014da93a0a7f2c74a6ac851bb9838768714c970125a0a45dd
diff --git a/dev-libs/openssl/openssl-3.0.14.ebuild b/dev-libs/openssl/openssl-3.0.14.ebuild
index 6d9843c05000..e7ad25cf9b87 100644
--- a/dev-libs/openssl/openssl-3.0.14.ebuild
+++ b/dev-libs/openssl/openssl-3.0.14.ebuild
@@ -19,7 +19,7 @@ if [[ ${PV} == 9999 ]] ; then
else
SRC_URI="mirror://openssl/source/${MY_P}.tar.gz
verify-sig? ( mirror://openssl/source/${MY_P}.tar.gz.asc )"
- KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
S="${WORKDIR}"/${MY_P}
diff --git a/dev-libs/protobuf/Manifest b/dev-libs/protobuf/Manifest
index 1e4c9025785c..b4ec393ec085 100644
--- a/dev-libs/protobuf/Manifest
+++ b/dev-libs/protobuf/Manifest
@@ -1,4 +1,5 @@
AUX 70protobuf-gentoo.el 170 BLAKE2B 6d9a92bd3310ca09d18dd762bc0bbd4b0b36184c17f95c80c02183c457fe4ff1142ca1e3207e5a77c078fe5f768cb3e85abc712abc1f4c85774ca1ebf178059b SHA512 ed73cd6b1bf6c0019e4da73c3a480b0f917e949dfad2696336e805263c81610b2a8a0514840e389db0f0e78252cf053d754c5e07731dc5e9c93c9e88f0b2923c
+AUX FindJsonCpp.cmake 1663 BLAKE2B 778e2cda806bd3a73389ef683523ec0b8c264626051395ba9042bb837207464b74c9cb0097e9dac2833cb23efc921b9d60644aede630c9612d8f76ffa24990b7 SHA512 4a824ac0a73eebf622f999c4a78add515fea92eb44e6a1bc754343567e747f5258ca0d1c600644c67691583779a9cad814a6daf983e666c389fcaa90a2ec0aa6
AUX proto.vim 49 BLAKE2B 9b6d31105811a8f8cbcf76328172fda5b66b33351bb16573ed1ed08d4c553af2805962a6d6609fbdad4a2644bf9cecd1e771a557f138111ad2c0be959b497ee9 SHA512 65c1f49887c17973d1dfce07fa86d04c5079d2382826eaeb22e128570717f181c53d22ba50905252021f7e476a90ecd29f9d18799c1ccea64b01f4638323538e
AUX protobuf-21.9-disable-32-bit-tests.patch 5942 BLAKE2B dcc1d5474c704358287a5033aaae3474b57324e853aa670aa723dc1d3d8b8cdb14ac588e3d3b3c998878d9f346fc91347379bbc3d88057b761b02515582ebcbd SHA512 97d60343e96fe03fefae621b70787fa284e38db5f94b7d205927d0852e9d20e9176e07182caa0ffca704bc08e439854ae3d109c3eca61c3101ae178a0426624d
AUX protobuf-22.5-Use-the-same-ABI-for-static-and-shared-libraries-on-.patch 4737 BLAKE2B e5e5d1fcf16f3e33b0ee6d83452cf471b9460e74b2d9152407ff140af3fe891c46a3592a55426234898d812594abc5af55bd356e1357043bf60932fc05620dd9 SHA512 93f9982bd2d92a4e222a2a1e596e044462b838062e941d7bf18d4ce4518b32f2b736ca5551aec59a46c321f3359a78d0e0a94728af7151387eb6d626e9d04d02
@@ -7,6 +8,8 @@ AUX protobuf-23.3-disable-32-bit-tests.patch 1261 BLAKE2B 95adb955991b3c181e15c9
AUX protobuf-23.3-messages_lite-template-instances.patch 3385 BLAKE2B 35ce706c808ec4c11466f7ef54ccf88c311ac3ef8307976c5f2889b8171d1ea869f25ea5fb6476a2ec5c485ddc3a30feb73ecfb812e1871d6b2129dce8785e47 SHA512 4326ff0a39ab96b208fe6a6e6b29fd0bf6709ad4260545189a2472ddeb9572c032eba849e757dc28cc9a089843bff902caa030eb0d997ef16ee489ad4ff8f06e
AUX protobuf-23.3-static_assert-failure.patch 529 BLAKE2B 69452cf44106fdd7295bbb8d97011309c160f51fb30c233b9549d955d57c0a188b407b97ea7de7dc708a145bf76d5f15f1332bf641541a8830db96705a071701 SHA512 291d8cd318a0324e58c5dc83273ca67b55fd1446bd5111e3caaa9e2b08e3a2565de8030050df6555f300f7051668f5b8918e52009f826a653bb70f9931f12ebd
AUX protobuf-26.1-disable-32-bit-tests.patch 1382 BLAKE2B ef85af7bf53c3ea2876e7a4a51dff56e7ac2665a36dad61eba91e8e864f22e10dd055eb8b4b8e03d17b53d45585f064676eae6bb893f10bd95cdccc604f9fe9e SHA512 ac6ab37d852d9ebcaa1f2f21ec7eaa70d44a45e15f9e3d2f7faa35646e61f3222897c2d77e23ff655cc0e2e48ffb420f9bf54113d8d8ab1b985ed8a2b6defb1b
+AUX protobuf-27.4-findJsonCpp.patch 1113 BLAKE2B 13799ee49f9d6ebc634bad2add520b31bcc53dfb94089cc7f0b6d1a2f6b053877fd409870aab037ccdf6ee72de9b4dd90fde9b7ac4f2f95e0af73b2db6dc2ef6 SHA512 c010d71de354bd89344ce3113445bc4b5d31157ae00bc56d1b14594eef09c18c203d85e319901641e4af196f60a9987b5ddce780083274d5b02324ca5c98ae9c
+AUX protobuf-28.0-disable-test_upb-lto.patch 747 BLAKE2B 7312584dfd1efef28e41c025ae3c00279579144245c7749de5f00300ae8d1ceca4671bc7102cb437aae8c7e1bd11fa7d9878a5e0d7982b1c1875ad3e5b65666c SHA512 fbbb96d29eea5399708d09231d1b1dba8825db0abdce1a81d9fe249f2eec85c1130e32bc75ebaedfb1d86fe7ed82b9f84a9de4e9fb4018857c97ff92cfbf2efd
AUX protobuf-3.19.0-disable_no-warning-test.patch 1620 BLAKE2B e4f324ed59b2c31662cc625e9d3f1fdb20ee2a25769dbf86093e5000f73a01e11f05459989aaefeaf0414648cd52f1f1025b9d4f1423cdca4844e42e96f54836 SHA512 8c4bc72976a7eb3418b51e7a1c45b49d7ffaeb91a86f440008e6f162773b1db7afed4a6ae1d0b3510d49361c369b6552a9ba4976d104d804d825227aa7113d95
AUX protobuf-3.19.0-system_libraries.patch 7514 BLAKE2B 1ff5c226232c325ed48cf16e2c47652615c4bd1503f1be8560e7f2e8658ffefeffeef72a6baf4368f758e30a4a81d582769b61dd0b3e383c8188cd03bf409c01 SHA512 b6a58e483dbb1f6151c2f7c735fbd55f34bcf98d6370eabb425dbd96e10cb87e8dfbf5024ad8f888cb80a095bc26598aceb55d576d37166550ee62db41c51a44
AUX protobuf-3.20.2-protoc_input_output_files.patch 10080 BLAKE2B f52ea613b1104aa703e5e10eb5f968e33e46f05523e13fe84369a24ccbc16cecbcce3221b64b1acd624500864d224ccb59d1ce626157a0d0d77870f79ea64bd8 SHA512 dcf5dbd7be4a025d9ee96ed9be4566452ae4f946d0e1ae4c411a0dc3b7071fc156aca796497c0f2b67563a8ee884bded1a931d712cd7a3727301bbe37ec646f0
@@ -17,8 +20,11 @@ DIST protobuf-23.3.tar.gz 5043803 BLAKE2B ee2edee230969555c9ef95069c7b1d6c23c3d1
DIST protobuf-23.4.tar.gz 5043507 BLAKE2B bf6a50771eb977ef92b779a32fd909693faae6394254c73e3c9b2729bce643f8cbfb5a1bd18b30abf3003b9fbfd24c074cea4085a6ccf14fdb6a3aeac9efcb89 SHA512 b93a4e0339ecbe085796de5b6c61feae35229d40db9019c043090bcaa483a1cce78a99487c5638482c68832fcede5579a0e5ec731221a88359b80db9bb6dc566
DIST protobuf-24.4.tar.gz 5180235 BLAKE2B 1c7e9035d9f3810886baaea7d679414c882463c79828c99dd8895a9549638c1ca17f9ab3b38d461019f3e1412d9cb9584b995b1da99866eb6fdbb8bdeb063e6f SHA512 52b6ab5587d03cbd1f35cf3cdc388e1710fa50f3031559ac53cf754965407ded7602cdead56080444ab695588112cc3391a1d7fdd5e565d90d0af7ad08706315
DIST protobuf-25.3.tar.gz 5878962 BLAKE2B 9268f9bd993a1cfd6d3937a2ad56ba4cfe3d84923756513841cbf13039d4a07acb260468745cb1294f30334cb34b45c6fde272f5c40d9de63ac6a4ce5c263077 SHA512 1f73e237c919082e5423ae9e2ea8813dccf672c059051d1531fe89ffaa45872d3cf3052b8c3af26f674296ec17d7dc861c67b8f0834ed80261ce4a6a14ed7115
+DIST protobuf-25.4.tar.gz 5878444 BLAKE2B 9b40985bda31a84dd3ab7a1d18f746d5f88660d9e036a20234cbc85e79322005d2ffd4e60d72c55a8b5f624d7cc50522771f0804f203f2eabca7b0b8ace0545e SHA512 1b3ba1a1575bcc9d52ddce93d466912863d600dfbb40f64845b8e66c8000047d05508b8f1baba8d5eef42a7ff90eb778f7c8a553c9ec2778fd3a9a18122c67ab
DIST protobuf-26.1.tar.gz 5957903 BLAKE2B 1a7faab2f56aa0995801a80f73a812c7fc38a00af0bf25bdd5eecf7aec27a86a575ea2fb8484787d19c9ac6e46007c9864e79464f529c446f31af732981feed1 SHA512 0363ac09f92d8e040491425d444c8dca0b9b430e02d2dff6e2b28a0c2b2bea0d33a47f50bc9e2e2d4e8e22b65a02009a20c0066fb89c75df93a7b703dda42ed4
DIST protobuf-27.2.tar.gz 6282174 BLAKE2B 86d12e9f87e8e1c2961ad517115c8689a8dd984722513816d8d626e59a76f5e7a698a90cbf6007daacf66c6053c9ff28108ff113579a442ce61cd221178bda44 SHA512 664c66b62cf1ed0c65d9b910d8e67d4d5d471113697f1b8edf1573cd5c0fc8e850ac53ce984e48e6c6b9cbbefa12f8530058384e7388e65a59c1e46d03772397
+DIST protobuf-27.4.tar.gz 9156456 BLAKE2B 004427f4923e523bf77298600bf91a8fe4ca8be4bd6da5b7efcfe9186a032155e525426f83f683e1bed1e799ed1e62d250053386c1463cbd0c062bd05da786d0 SHA512 d076ce7e075096d0dba7ee2314b12e3223c4239c019e25670636a0ef812ddf0ce3f1fd9b9fe8517319db87b14bbdb2653cc4e06023f90032dfedb014457b2863
+DIST protobuf-28.0.tar.gz 9259114 BLAKE2B 328e09ebffb296d838557ea72a4fc4da8e0ad5f1edfccebcc8ee7c9e0e74d06e5e6dbad741fd89f6a4502c1cb246a973fd60c035ccdbf89700b7baff49e2a65e SHA512 8745f625ac781f3bbefe9494cbf570143d38aecc1521edef7a52ffb403b8be24df2c71f4f2410b5a5b78a0f3e8a38a7d19be2cf916b1b9125349d2da18262cd1
EBUILD protobuf-21.12.ebuild 2504 BLAKE2B b90c7eb65835f98825faf41fb70b7edcd40030c5c430be7faf13308a74cbc3576a910b83a73dcf593ebb248392900536b96152ba18d05f532b0632ad637b2ad8 SHA512 454f7104106edd5cbc9c1897cdc57fcef337fef51239d5e8832064a9a049b238bb3d4d549df88369098b26a350b4828131ecda74a65c832cf4aa9b1128445d7b
EBUILD protobuf-21.9.ebuild 4169 BLAKE2B 26d7458698701fc08d93a7fde27933b34d39975ae403531af31a7dfd8471e2ca20d9f471875ba15a88388616c353bb7b6fd29ed1a6d4b94391fccee2f448d4c5 SHA512 32699153aaf64ece98cd694826b6ba01e32af8a278143e8dacbe05a9eb23f37017a40807247eb1809a5be5e6300a922c8758f3e53be166a1d2e5d48735a63fad
EBUILD protobuf-22.5-r1.ebuild 3100 BLAKE2B 61d746f3ee129f4344f171084cb1d7a4891bdc1d44aa2b33f514ae13a58e8b22fe75a98957f4d7c17fe10c8c29ccf7c69415de2198ae9226394e6f47c1a93b26 SHA512 f89421853764065671682b05e1f37fc7e5ecbccc46a9e7ff70b24712645254dd67a6174915ba691f43c76f6122bf4246a556016f2f60b7cf5e30834245ce3e83
@@ -27,8 +33,10 @@ EBUILD protobuf-23.3-r4.ebuild 2899 BLAKE2B 42978fed39321f2a49835a698b7da09a90ba
EBUILD protobuf-23.4.ebuild 2980 BLAKE2B ffd3be624f60c7b8a9f0780a4b5d3fc55a05ef2dd30ddaa627d407efeaf898f4cbba219640123afe4a6faf17bc8da8f641792fdac648342c5a3d53fada16921c SHA512 b3cfac2b3fedc6aff77735cc70b09081d4c70484079dbeeb374676a6ba8ea0f7c65ccff69d407536f953f3f442000a8e0f9c86590d05985c78d310e1e1589ecb
EBUILD protobuf-24.4.ebuild 2915 BLAKE2B 2fd3f84bf7e86b64393fd39962080809ef4d65b9b06928abe03d3755360ac5768ffad5bb132c205e25f5bd3829b09b1b14e7e3e1840895edd99229d5dafa4807 SHA512 91ddec809ffb71f23f5884d37e46dcb3a98c48423712ffe6e45607a114b6054c959dc59990c9c1c5a3b709b21653eb38f05b767bb3fe040740905f29a28bedcb
EBUILD protobuf-25.3.ebuild 2915 BLAKE2B 75df59e6ca105a529cf582cda4371c26f0b9bf1df94fb11c3b409e1b01fcde43e0705e05212ea630839446aba819c4b8132514383f94fa2aa455b232a3f64eae SHA512 8daaf04ef736d389f634f2366e833e7c6ce40a9e60b022a31df31868b01a282f948d583270827b1714cc7cfacac4cdd0e9971944dc5b3dd823afa4696c4cf1c7
-EBUILD protobuf-26.1-r1.ebuild 2722 BLAKE2B 2b4a648933fe23621fdbc67d5a6a7783d7716c1f4cbf72eec5292c3f87006a426a7444744a83d77700e94c2b411c0b5c1983cb1bb1dedd4fe8e4b3ea58b8452b SHA512 7b8cfc2fa64f4dd633ad93da7428ffaeae2cef9aea78f7032c5506abad91ab8f2da91a5598eab47f065419210686afc2a54bc49b3edbaa2801d419857de810e4
+EBUILD protobuf-25.4.ebuild 3941 BLAKE2B 84632353c7a7f7c3fa8e464e93b4a1ca81139fbf90537c0fd0b910fdbb50e71853dcd96d15d0379891b08ea1f6c1e9404e83d6a1de81f5f04f06f1d9d72e052a SHA512 46f9ee40a762d8774a06d5f874354b405d6006df6b7a199e40a52c250ca616eb97b78dc9f665b6e6596ae4b36e13c6dfe654f8ef526c4b87bf2a2a163f5017a2
EBUILD protobuf-26.1-r2.ebuild 2915 BLAKE2B 75df59e6ca105a529cf582cda4371c26f0b9bf1df94fb11c3b409e1b01fcde43e0705e05212ea630839446aba819c4b8132514383f94fa2aa455b232a3f64eae SHA512 8daaf04ef736d389f634f2366e833e7c6ce40a9e60b022a31df31868b01a282f948d583270827b1714cc7cfacac4cdd0e9971944dc5b3dd823afa4696c4cf1c7
EBUILD protobuf-27.2.ebuild 3743 BLAKE2B 542d8b7d10d88dd30f7bf2a1caa132f2527d4e1d8c1c8d35cab157191bd550f07a69911da414875390b5fd2dc6f85b2bcc3ac1d8371a441a259cadedb06085cb SHA512 524c1da7e84895ab48b59dbe5eb36232f3c93f3ccbe37ae03030204a9fa9fdeb1a5a244751b413a4fa993ceff1039e612ef107e2e8a6a615b280bb6d879f87ff
-EBUILD protobuf-9999.ebuild 3724 BLAKE2B 99f967b6b8a50269240ea74ebbc5f4347c37ba27b09929c0d95a9f29fa55bb145a974aed09b52ca65b3009d743ae92c92d015b9696723eca78d37c5ba7ba7557 SHA512 e319f2897b7b2729f632f43b7fb560f40e489c9e9fb957a220d875ae610645de177eeeb0137b8c9707309933db53d71e973a17c393d094b47147cbfcb4ff14f9
+EBUILD protobuf-27.4.ebuild 3942 BLAKE2B 6f5050e4120d890fdf88c743c8fb214862f8ea23c6105094242a41f9146acb325bb815d6edc0ce877b0bb4d866ebfdb14b24d9321e213fb90480a1af805cea37 SHA512 23cc67686171e88490bc604236fe8d5b204a0ad6583b01cf9fd4c86a35e6503f1e53db90d02d86759f7ef67bd221aa255b086badc02d89979d8f3100d58b0490
+EBUILD protobuf-28.0.ebuild 3942 BLAKE2B 6f5050e4120d890fdf88c743c8fb214862f8ea23c6105094242a41f9146acb325bb815d6edc0ce877b0bb4d866ebfdb14b24d9321e213fb90480a1af805cea37 SHA512 23cc67686171e88490bc604236fe8d5b204a0ad6583b01cf9fd4c86a35e6503f1e53db90d02d86759f7ef67bd221aa255b086badc02d89979d8f3100d58b0490
+EBUILD protobuf-9999.ebuild 3942 BLAKE2B 6f5050e4120d890fdf88c743c8fb214862f8ea23c6105094242a41f9146acb325bb815d6edc0ce877b0bb4d866ebfdb14b24d9321e213fb90480a1af805cea37 SHA512 23cc67686171e88490bc604236fe8d5b204a0ad6583b01cf9fd4c86a35e6503f1e53db90d02d86759f7ef67bd221aa255b086badc02d89979d8f3100d58b0490
MISC metadata.xml 917 BLAKE2B c25c810e47e764843ad71be5eb5ebe617d881e7363ce3206401eb59c6df12969bc22bbedc34f08b0a2fbcf955de5b85aa8e4d3a964c1349f07ed1d0eb344a915 SHA512 baa5737981669f1b28ce32884698a4d91e0f1fbdde6056779307e1a6c85dde8ca36ee47ca3ce8794b996934dfafc5482afbe9532a7f3e17c833c3aef0a330376
diff --git a/dev-libs/protobuf/files/FindJsonCpp.cmake b/dev-libs/protobuf/files/FindJsonCpp.cmake
new file mode 100644
index 000000000000..8fff5336ce46
--- /dev/null
+++ b/dev-libs/protobuf/files/FindJsonCpp.cmake
@@ -0,0 +1,40 @@
+find_path(JsonCpp_INCLUDE_DIR "json/json.h"
+ PATH_SUFFIXES "jsoncpp"
+ DOC "jsoncpp include directory")
+mark_as_advanced(JsonCpp_INCLUDE_DIR)
+
+find_library(JsonCpp_LIBRARY
+ NAMES jsoncpp
+ DOC "jsoncpp library")
+mark_as_advanced(JsonCpp_LIBRARY)
+
+if (JsonCpp_INCLUDE_DIR AND EXISTS "${JsonCpp_INCLUDE_DIR}/json/version.h")
+ file(STRINGS "${JsonCpp_INCLUDE_DIR}/json/version.h" _JsonCpp_version_lines
+ REGEX "JSONCPP_VERSION_[A-Z]+")
+ string(REGEX REPLACE ".*# *define +JSONCPP_VERSION_MAJOR +([0-9]+).*" "\\1" _JsonCpp_version_major "${_JsonCpp_version_lines}")
+ string(REGEX REPLACE ".*# *define +JSONCPP_VERSION_MINOR +([0-9]+).*" "\\1" _JsonCpp_version_minor "${_JsonCpp_version_lines}")
+ string(REGEX REPLACE ".*# *define +JSONCPP_VERSION_PATCH +([0-9]+).*" "\\1" _JsonCpp_version_patch "${_JsonCpp_version_lines}")
+ set(JsonCpp_VERSION "${_JsonCpp_version_major}.${_JsonCpp_version_minor}.${_JsonCpp_version_patch}")
+ unset(_JsonCpp_version_major)
+ unset(_JsonCpp_version_minor)
+ unset(_JsonCpp_version_patch)
+ unset(_JsonCpp_version_lines)
+endif ()
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(JsonCpp
+ REQUIRED_VARS JsonCpp_LIBRARY JsonCpp_INCLUDE_DIR
+ VERSION_VAR JsonCpp_VERSION)
+
+if (JsonCpp_FOUND)
+ set(JsonCpp_INCLUDE_DIRS "${JsonCpp_INCLUDE_DIR}")
+ set(JsonCpp_LIBRARIES "${JsonCpp_LIBRARY}")
+
+ if (NOT TARGET JsonCpp::JsonCpp)
+ add_library(JsonCpp::JsonCpp SHARED IMPORTED)
+ set_target_properties(JsonCpp::JsonCpp PROPERTIES
+ IMPORTED_LOCATION "${JsonCpp_LIBRARY}"
+ IMPORTED_IMPLIB "${JsonCpp_LIBRARY}"
+ INTERFACE_INCLUDE_DIRECTORIES "${JsonCpp_INCLUDE_DIR}")
+ endif ()
+endif ()
diff --git a/dev-libs/protobuf/files/protobuf-27.4-findJsonCpp.patch b/dev-libs/protobuf/files/protobuf-27.4-findJsonCpp.patch
new file mode 100644
index 000000000000..6ce98f758ec8
--- /dev/null
+++ b/dev-libs/protobuf/files/protobuf-27.4-findJsonCpp.patch
@@ -0,0 +1,33 @@
+From e3138533bf97e1133371944b28e65bae5e8ae95c Mon Sep 17 00:00:00 2001
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+Date: Sat, 10 Aug 2024 13:43:28 +0200
+Subject: [PATCH] fix JsonCPP name
+
+Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
+---
+ cmake/conformance.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/conformance.cmake b/cmake/conformance.cmake
+index c5d8c7c..2e059ea 100644
+--- a/cmake/conformance.cmake
++++ b/cmake/conformance.cmake
+@@ -9,7 +9,7 @@ if (protobuf_JSONCPP_PROVIDER STREQUAL "module")
+ " cmake -Dprotobuf_BUILD_CONFORMANCE=OFF\n")
+ endif()
+ elseif(protobuf_JSONCPP_PROVIDER STREQUAL "package")
+- find_package(jsoncpp REQUIRED)
++ find_package(JsonCpp REQUIRED)
+ endif()
+
+ file(MAKE_DIRECTORY ${protobuf_BINARY_DIR}/conformance)
+@@ -140,5 +140,5 @@ if(protobuf_JSONCPP_PROVIDER STREQUAL "module")
+ target_link_libraries(conformance_test_runner jsoncpp_static)
+ endif()
+ else()
+- target_link_libraries(conformance_test_runner jsoncpp)
++ target_link_libraries(conformance_test_runner JsonCpp::JsonCpp)
+ endif()
+--
+2.46.0
+
diff --git a/dev-libs/protobuf/files/protobuf-28.0-disable-test_upb-lto.patch b/dev-libs/protobuf/files/protobuf-28.0-disable-test_upb-lto.patch
new file mode 100644
index 000000000000..0a9ed5e8e67c
--- /dev/null
+++ b/dev-libs/protobuf/files/protobuf-28.0-disable-test_upb-lto.patch
@@ -0,0 +1,23 @@
+From 14fe043db8162df9ddc2308437cace6434c67bd9 Mon Sep 17 00:00:00 2001
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+Date: Fri, 30 Aug 2024 03:22:16 +0200
+Subject: [PATCH] disable test_upb
+
+Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
+
+diff --git a/cmake/tests.cmake b/cmake/tests.cmake
+index c8ae114..eac821c 100644
+--- a/cmake/tests.cmake
++++ b/cmake/tests.cmake
+@@ -175,7 +175,7 @@ add_test(NAME full-test
+ COMMAND tests ${protobuf_GTEST_ARGS}
+ WORKING_DIRECTORY ${protobuf_SOURCE_DIR})
+
+-if (protobuf_BUILD_LIBUPB)
++if (protobuf_BUILD_LIBUPB AND FALSE)
+ set(upb_test_proto_genfiles)
+ foreach(proto_file ${upb_test_protos_files} ${descriptor_proto_proto_srcs})
+ foreach(generator upb upbdefs upb_minitable)
+--
+2.46.0
+
diff --git a/dev-libs/protobuf/protobuf-25.4.ebuild b/dev-libs/protobuf/protobuf-25.4.ebuild
new file mode 100644
index 000000000000..f79f633b0487
--- /dev/null
+++ b/dev-libs/protobuf/protobuf-25.4.ebuild
@@ -0,0 +1,166 @@
+# Copyright 2008-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib elisp-common multilib
+
+# NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules
+ABSEIL_BRANCH="lts_2023_08_02"
+
+ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}"
+ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}"
+
+if [[ "${PV}" == *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
+ EGIT_SUBMODULES=( '-*' )
+ MY_SLOT="28.0"
+
+ inherit git-r3
+else
+ SRC_URI="https://github.com/protocolbuffers/protobuf/releases/download/v${PV}/${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+ MY_SLOT=$(ver_cut 1-2)
+fi
+
+DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
+HOMEPAGE="https://protobuf.dev/"
+
+LICENSE="BSD"
+SLOT="0/${MY_SLOT}.0"
+IUSE="conformance debug emacs examples +libprotoc libupb +protobuf +protoc test zlib"
+
+REQUIRED_USE="
+ || (
+ libprotoc
+ libupb
+ protobuf
+ protoc
+ )
+"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ emacs? ( app-editors/emacs:* )
+ !protobuf? (
+ >=dev-libs/protobuf-${PV}
+ )
+"
+
+COMMON_DEPEND="
+ dev-libs/jsoncpp[${MULTILIB_USEDEP}]
+ >=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}]
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ ${BDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-26.1-disable-32-bit-tests.patch"
+ "${FILESDIR}/${PN}-23.3-static_assert-failure.patch"
+ "${FILESDIR}/${PN}-27.4-findJsonCpp.patch"
+ "${FILESDIR}/${PN}-28.0-disable-test_upb-lto.patch"
+)
+
+DOCS=( CONTRIBUTORS.txt README.md )
+
+src_prepare() {
+ cmake_src_prepare
+
+ cp "${FILESDIR}/FindJsonCpp.cmake" "${S}/cmake" || die
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -Dprotobuf_ABSL_PROVIDER="package"
+ -Dprotobuf_JSONCPP_PROVIDER="package"
+
+ -Dprotobuf_BUILD_CONFORMANCE="$(usex test "$(usex conformance)")"
+ -Dprotobuf_BUILD_EXAMPLES="$(usex examples)"
+ -Dprotobuf_BUILD_LIBPROTOC="$(usex libprotoc)"
+ -Dprotobuf_BUILD_LIBUPB="$(usex libupb)"
+ -Dprotobuf_BUILD_PROTOBUF_BINARIES="$(usex protobuf)"
+ -Dprotobuf_BUILD_PROTOC_BINARIES="$(usex protoc)"
+ -Dprotobuf_BUILD_SHARED_LIBS="yes"
+ -Dprotobuf_BUILD_TESTS="$(usex test)"
+
+ -Dprotobuf_DISABLE_RTTI="no"
+
+ -Dprotobuf_INSTALL="yes"
+ -Dprotobuf_INSTALL_EXAMPLES="$(usex examples)"
+ -Dprotobuf_TEST_XML_OUTDIR="$(usex test)"
+
+ -Dprotobuf_WITH_ZLIB="$(usex zlib)"
+ -Dprotobuf_VERBOSE="$(usex debug)"
+ -DCMAKE_MODULE_PATH="${S}/cmake"
+ )
+ use test && mycmakeargs+=( -Dprotobuf_USE_EXTERNAL_GTEST="yes" )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake-multilib_src_compile
+
+ if use emacs; then
+ elisp-compile editors/protobuf-mode.el
+ fi
+}
+
+src_test() {
+ local -x srcdir="${S}/src"
+
+ local -x TEST_TMPDIR="${T%/}/TEST_TMPDIR_${ABI}"
+ mkdir -m 777 "${TEST_TMPDIR}" || die
+
+ setup_test_env() {
+ ln -sr "${S}/src" "${BUILD_DIR}/include" || die
+ }
+
+ multilib_foreach_abi setup_test_env
+
+ cmake-multilib_src_test
+}
+
+multilib_src_install_all() {
+ find "${ED}" -name "*.la" -delete || die
+
+ if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf$(get_libname ${SLOT#*/})" ]]; then
+ eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \
+ "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf$(get_libname ${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
+}
diff --git a/dev-libs/protobuf/protobuf-26.1-r1.ebuild b/dev-libs/protobuf/protobuf-26.1-r1.ebuild
deleted file mode 100644
index 534834edca75..000000000000
--- a/dev-libs/protobuf/protobuf-26.1-r1.ebuild
+++ /dev/null
@@ -1,113 +0,0 @@
-# Copyright 2008-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="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
-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-20230125.3:=[${MULTILIB_USEDEP}]
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
- test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
-"
-RDEPEND="
- >=dev-cpp/abseil-cpp-20230125.3:=[${MULTILIB_USEDEP}]
- emacs? ( app-editors/emacs:* )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-disable-32-bit-tests.patch"
- "${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
-}
-
-src_test() {
- local -x srcdir="${S}"/src
- cmake-multilib_src_test
-}
-
-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
-}
diff --git a/dev-libs/protobuf/protobuf-27.4.ebuild b/dev-libs/protobuf/protobuf-27.4.ebuild
new file mode 100644
index 000000000000..30ab416efd86
--- /dev/null
+++ b/dev-libs/protobuf/protobuf-27.4.ebuild
@@ -0,0 +1,166 @@
+# Copyright 2008-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib elisp-common multilib
+
+# NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules
+ABSEIL_BRANCH="lts_2023_08_02"
+
+ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}"
+ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}"
+
+if [[ "${PV}" == *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
+ EGIT_SUBMODULES=( '-*' )
+ MY_SLOT="28.0"
+
+ inherit git-r3
+else
+ SRC_URI="https://github.com/protocolbuffers/protobuf/releases/download/v${PV}/${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+ MY_SLOT=$(ver_cut 1-2)
+fi
+
+DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
+HOMEPAGE="https://protobuf.dev/"
+
+LICENSE="BSD"
+SLOT="0/${MY_SLOT}.0"
+IUSE="conformance debug emacs examples +libprotoc libupb +protobuf +protoc test zlib"
+
+REQUIRED_USE="
+ || (
+ libprotoc
+ libupb
+ protobuf
+ protoc
+ )
+"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ emacs? ( app-editors/emacs:* )
+ !protobuf? (
+ >=dev-libs/protobuf-${PV}
+ )
+"
+
+COMMON_DEPEND="
+ dev-libs/jsoncpp[${MULTILIB_USEDEP}]
+ >=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}]
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ test? ( >=dev-cpp/gtest-1.11[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ ${BDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-26.1-disable-32-bit-tests.patch"
+ "${FILESDIR}/${PN}-23.3-static_assert-failure.patch"
+ "${FILESDIR}/${PN}-27.4-findJsonCpp.patch"
+ "${FILESDIR}/${PN}-28.0-disable-test_upb-lto.patch"
+)
+
+DOCS=( CONTRIBUTORS.txt README.md )
+
+src_prepare() {
+ cmake_src_prepare
+
+ cp "${FILESDIR}/FindJsonCpp.cmake" "${S}/cmake" || die
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -Dprotobuf_ABSL_PROVIDER="package"
+ -Dprotobuf_JSONCPP_PROVIDER="package"
+
+ -Dprotobuf_BUILD_CONFORMANCE="$(usex test "$(usex conformance)")"
+ -Dprotobuf_BUILD_EXAMPLES="$(usex examples)"
+ -Dprotobuf_BUILD_LIBPROTOC="$(usex libprotoc)"
+ -Dprotobuf_BUILD_LIBUPB="$(usex libupb)"
+ -Dprotobuf_BUILD_PROTOBUF_BINARIES="$(usex protobuf)"
+ -Dprotobuf_BUILD_PROTOC_BINARIES="$(usex protoc)"
+ -Dprotobuf_BUILD_SHARED_LIBS="yes"
+ -Dprotobuf_BUILD_TESTS="$(usex test)"
+
+ -Dprotobuf_DISABLE_RTTI="no"
+
+ -Dprotobuf_INSTALL="yes"
+ -Dprotobuf_INSTALL_EXAMPLES="$(usex examples)"
+ -Dprotobuf_TEST_XML_OUTDIR="$(usex test)"
+
+ -Dprotobuf_WITH_ZLIB="$(usex zlib)"
+ -Dprotobuf_VERBOSE="$(usex debug)"
+ -DCMAKE_MODULE_PATH="${S}/cmake"
+ )
+ use test && mycmakeargs+=( -Dprotobuf_USE_EXTERNAL_GTEST="yes" )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake-multilib_src_compile
+
+ if use emacs; then
+ elisp-compile editors/protobuf-mode.el
+ fi
+}
+
+src_test() {
+ local -x srcdir="${S}/src"
+
+ local -x TEST_TMPDIR="${T%/}/TEST_TMPDIR_${ABI}"
+ mkdir -m 777 "${TEST_TMPDIR}" || die
+
+ setup_test_env() {
+ ln -sr "${S}/src" "${BUILD_DIR}/include" || die
+ }
+
+ multilib_foreach_abi setup_test_env
+
+ cmake-multilib_src_test
+}
+
+multilib_src_install_all() {
+ find "${ED}" -name "*.la" -delete || die
+
+ if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf$(get_libname ${SLOT#*/})" ]]; then
+ eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \
+ "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf$(get_libname ${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
+}
diff --git a/dev-libs/protobuf/protobuf-28.0.ebuild b/dev-libs/protobuf/protobuf-28.0.ebuild
new file mode 100644
index 000000000000..30ab416efd86
--- /dev/null
+++ b/dev-libs/protobuf/protobuf-28.0.ebuild
@@ -0,0 +1,166 @@
+# Copyright 2008-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib elisp-common multilib
+
+# NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules
+ABSEIL_BRANCH="lts_2023_08_02"
+
+ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}"
+ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}"
+
+if [[ "${PV}" == *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
+ EGIT_SUBMODULES=( '-*' )
+ MY_SLOT="28.0"
+
+ inherit git-r3
+else
+ SRC_URI="https://github.com/protocolbuffers/protobuf/releases/download/v${PV}/${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+ MY_SLOT=$(ver_cut 1-2)
+fi
+
+DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
+HOMEPAGE="https://protobuf.dev/"
+
+LICENSE="BSD"
+SLOT="0/${MY_SLOT}.0"
+IUSE="conformance debug emacs examples +libprotoc libupb +protobuf +protoc test zlib"
+
+REQUIRED_USE="
+ || (
+ libprotoc
+ libupb
+ protobuf
+ protoc
+ )
+"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ emacs? ( app-editors/emacs:* )
+ !protobuf? (
+ >=dev-libs/protobuf-${PV}
+ )
+"
+
+COMMON_DEPEND="
+ dev-libs/jsoncpp[${MULTILIB_USEDEP}]
+ >=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}]
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ test? ( >=dev-cpp/gtest-1.11[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ ${BDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-26.1-disable-32-bit-tests.patch"
+ "${FILESDIR}/${PN}-23.3-static_assert-failure.patch"
+ "${FILESDIR}/${PN}-27.4-findJsonCpp.patch"
+ "${FILESDIR}/${PN}-28.0-disable-test_upb-lto.patch"
+)
+
+DOCS=( CONTRIBUTORS.txt README.md )
+
+src_prepare() {
+ cmake_src_prepare
+
+ cp "${FILESDIR}/FindJsonCpp.cmake" "${S}/cmake" || die
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -Dprotobuf_ABSL_PROVIDER="package"
+ -Dprotobuf_JSONCPP_PROVIDER="package"
+
+ -Dprotobuf_BUILD_CONFORMANCE="$(usex test "$(usex conformance)")"
+ -Dprotobuf_BUILD_EXAMPLES="$(usex examples)"
+ -Dprotobuf_BUILD_LIBPROTOC="$(usex libprotoc)"
+ -Dprotobuf_BUILD_LIBUPB="$(usex libupb)"
+ -Dprotobuf_BUILD_PROTOBUF_BINARIES="$(usex protobuf)"
+ -Dprotobuf_BUILD_PROTOC_BINARIES="$(usex protoc)"
+ -Dprotobuf_BUILD_SHARED_LIBS="yes"
+ -Dprotobuf_BUILD_TESTS="$(usex test)"
+
+ -Dprotobuf_DISABLE_RTTI="no"
+
+ -Dprotobuf_INSTALL="yes"
+ -Dprotobuf_INSTALL_EXAMPLES="$(usex examples)"
+ -Dprotobuf_TEST_XML_OUTDIR="$(usex test)"
+
+ -Dprotobuf_WITH_ZLIB="$(usex zlib)"
+ -Dprotobuf_VERBOSE="$(usex debug)"
+ -DCMAKE_MODULE_PATH="${S}/cmake"
+ )
+ use test && mycmakeargs+=( -Dprotobuf_USE_EXTERNAL_GTEST="yes" )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake-multilib_src_compile
+
+ if use emacs; then
+ elisp-compile editors/protobuf-mode.el
+ fi
+}
+
+src_test() {
+ local -x srcdir="${S}/src"
+
+ local -x TEST_TMPDIR="${T%/}/TEST_TMPDIR_${ABI}"
+ mkdir -m 777 "${TEST_TMPDIR}" || die
+
+ setup_test_env() {
+ ln -sr "${S}/src" "${BUILD_DIR}/include" || die
+ }
+
+ multilib_foreach_abi setup_test_env
+
+ cmake-multilib_src_test
+}
+
+multilib_src_install_all() {
+ find "${ED}" -name "*.la" -delete || die
+
+ if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf$(get_libname ${SLOT#*/})" ]]; then
+ eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \
+ "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf$(get_libname ${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
+}
diff --git a/dev-libs/protobuf/protobuf-9999.ebuild b/dev-libs/protobuf/protobuf-9999.ebuild
index 9988631acc75..30ab416efd86 100644
--- a/dev-libs/protobuf/protobuf-9999.ebuild
+++ b/dev-libs/protobuf/protobuf-9999.ebuild
@@ -3,9 +3,10 @@
EAPI=8
-inherit cmake-multilib elisp-common toolchain-funcs multilib
+inherit cmake-multilib elisp-common multilib
-ABSEIL_BRANCH="lts_2023_08_02" # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules
+# NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules
+ABSEIL_BRANCH="lts_2023_08_02"
ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}"
ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}"
@@ -17,8 +18,8 @@ if [[ "${PV}" == *9999 ]]; then
inherit git-r3
else
- SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+ SRC_URI="https://github.com/protocolbuffers/protobuf/releases/download/v${PV}/${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
MY_SLOT=$(ver_cut 1-2)
fi
@@ -27,7 +28,7 @@ HOMEPAGE="https://protobuf.dev/"
LICENSE="BSD"
SLOT="0/${MY_SLOT}.0"
-IUSE="conformance emacs examples +libprotoc libupb +protobuf +protoc test zlib"
+IUSE="conformance debug emacs examples +libprotoc libupb +protobuf +protoc test zlib"
REQUIRED_USE="
|| (
@@ -48,14 +49,14 @@ BDEPEND="
"
COMMON_DEPEND="
- dev-libs/jsoncpp
+ dev-libs/jsoncpp[${MULTILIB_USEDEP}]
>=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}]
zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
"
DEPEND="
${COMMON_DEPEND}
- test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
+ test? ( >=dev-cpp/gtest-1.11[${MULTILIB_USEDEP}] )
"
RDEPEND="
${COMMON_DEPEND}
@@ -65,22 +66,16 @@ RDEPEND="
PATCHES=(
"${FILESDIR}/${PN}-26.1-disable-32-bit-tests.patch"
"${FILESDIR}/${PN}-23.3-static_assert-failure.patch"
+ "${FILESDIR}/${PN}-27.4-findJsonCpp.patch"
+ "${FILESDIR}/${PN}-28.0-disable-test_upb-lto.patch"
)
DOCS=( CONTRIBUTORS.txt README.md )
-# src_prepare() {
-# rm "${S}/third_party/utf8_range/" -rf || die
-# cmake_src_prepare
-# }
+src_prepare() {
+ cmake_src_prepare
-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
+ cp "${FILESDIR}/FindJsonCpp.cmake" "${S}/cmake" || die
}
multilib_src_configure() {
@@ -104,7 +99,8 @@ multilib_src_configure() {
-Dprotobuf_TEST_XML_OUTDIR="$(usex test)"
-Dprotobuf_WITH_ZLIB="$(usex zlib)"
- -Dprotobuf_VERBOSE="yes"
+ -Dprotobuf_VERBOSE="$(usex debug)"
+ -DCMAKE_MODULE_PATH="${S}/cmake"
)
use test && mycmakeargs+=( -Dprotobuf_USE_EXTERNAL_GTEST="yes" )
@@ -120,7 +116,17 @@ src_compile() {
}
src_test() {
- local -x srcdir="${S}"/src
+ local -x srcdir="${S}/src"
+
+ local -x TEST_TMPDIR="${T%/}/TEST_TMPDIR_${ABI}"
+ mkdir -m 777 "${TEST_TMPDIR}" || die
+
+ setup_test_env() {
+ ln -sr "${S}/src" "${BUILD_DIR}/include" || die
+ }
+
+ multilib_foreach_abi setup_test_env
+
cmake-multilib_src_test
}