summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-08-21 16:03:41 +0100
committerSam James <sam@gentoo.org>2023-08-21 16:23:21 +0100
commit61d0b43d739b703ee9f25abefb04ba0bdf1ac158 (patch)
treeda4d5697803a1694d7d0f23c99a90100376bef40 /net-libs/grpc
parentnet-misc/linuxptp: stabilize 4.0 for amd64 (diff)
downloadgentoo-61d0b43d739b703ee9f25abefb04ba0bdf1ac158.tar.gz
gentoo-61d0b43d739b703ee9f25abefb04ba0bdf1ac158.tar.bz2
gentoo-61d0b43d739b703ee9f25abefb04ba0bdf1ac158.zip
net-libs/grpc: bundle abseil-cpp
abseil isn't *really* intended to be a system library and having a year-old pinned dep like this causes havoc for other packages and leads to uninstallable combinations (e.g. libreoffice-bin + anything needing grpc). Please see also the extensive discussion in the linked PRs wrt abseil now depending on re2 and the ABI implications of the used C++ std. versions with abseil. It's not worth it and there's more downsides to unbundling than not. Note that we can't rebundle re2 here because the build system unconditionally then tries to install it (no toggle unlike for abseil-cpp). Bug: https://bugs.gentoo.org/906811 Bug: https://github.com/gentoo/gentoo/pull/31388 Bug: https://github.com/gentoo/gentoo/pull/31609 Bug: https://github.com/gentoo/gentoo/pull/31893 Bug: https://github.com/gentoo/gentoo/pull/32281 Closes: https://bugs.gentoo.org/908373 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'net-libs/grpc')
-rw-r--r--net-libs/grpc/Manifest1
-rw-r--r--net-libs/grpc/grpc-1.52.1-r1.ebuild (renamed from net-libs/grpc/grpc-1.52.1.ebuild)17
2 files changed, 14 insertions, 4 deletions
diff --git a/net-libs/grpc/Manifest b/net-libs/grpc/Manifest
index 748c6d78954c..f96b5140be56 100644
--- a/net-libs/grpc/Manifest
+++ b/net-libs/grpc/Manifest
@@ -1 +1,2 @@
+DIST abseil-cpp-20220623.1.tar.gz 1957483 BLAKE2B 5bcf60b5a55882bcb78c7095a9892f6d1e5819fb116e325a8299fb22780ab009f0e1d92d5d8aca5ae0d4acc6d60e620e3357a24e389059f6e75d94f1cbdc1ced SHA512 ab4fccd9a2bfa0c5ad4b56c8e8f8b7ec7a8eca8b6cc6959802acadd1da785e1feb078c6ac621808cd699c82717a9e637dc426d94b70a8db7f2a807059d41cbc2
DIST grpc-1.52.1.tar.gz 8686340 BLAKE2B 0076ddd4a2840892f4ad11885e18f782b6a645337224974522c5f828d0226d6a1e19aaaf0f30ea3225d56118e0cfc251d45b8d5e6811c2d1a84e274ff037bb53 SHA512 06c69fb817af75b2610761a3a193178b749755eb7bed58875aa251def7c0c253cdaf02cf834c31c8b2cae7b01a6081e2aece4b131a162f64bd45ff0aff4d7758
diff --git a/net-libs/grpc/grpc-1.52.1.ebuild b/net-libs/grpc/grpc-1.52.1-r1.ebuild
index c36f6dbeb491..780e0ab91b8f 100644
--- a/net-libs/grpc/grpc-1.52.1.ebuild
+++ b/net-libs/grpc/grpc-1.52.1-r1.ebuild
@@ -3,13 +3,20 @@
EAPI=8
-inherit cmake
+inherit cmake flag-o-matic
MY_PV="${PV//_pre/-pre}"
+# Check third_party/abseil-cpp's commit for each tag of ${PN}
+# It may correspond to a commit of abseil-cpp - if so, use the tarball for it
+# and not an arbitrary commit.
+ABSEIL_COMMIT="20220623.1"
DESCRIPTION="Modern open source high performance RPC framework"
HOMEPAGE="https://www.grpc.io"
-SRC_URI="https://github.com/${PN}/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI="
+ https://github.com/${PN}/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/abseil/abseil-cpp/archive/refs/tags/${ABSEIL_COMMIT}.tar.gz -> abseil-cpp-${ABSEIL_COMMIT}.tar.gz
+"
LICENSE="Apache-2.0"
# format is 0/${CORE_SOVERSION//./}.${CPP_SOVERSION//./} , check top level CMakeLists.txt
@@ -19,7 +26,6 @@ IUSE="doc examples test"
# look for submodule versions in third_party dir
RDEPEND="
- =dev-cpp/abseil-cpp-20220623.1*:=
>=dev-libs/re2-0.2021.11.01:=
>=dev-libs/openssl-1.1.1:0=[-bindist(-)]
>=dev-libs/protobuf-3.18.1:=
@@ -72,7 +78,10 @@ src_configure() {
local mycmakeargs=(
-DgRPC_INSTALL=ON
- -DgRPC_ABSL_PROVIDER=package
+ -DgRPC_ABSL_PROVIDER=module
+ -DgRPC_INSTALL=OFF
+ -DABSL_ENABLE_INSTALL=OFF
+ -DABSL_ROOT_DIR="${WORKDIR}"/abseil-cpp-${ABSEIL_COMMIT}
-DgRPC_BACKWARDS_COMPATIBILITY_MODE=OFF
-DgRPC_CARES_PROVIDER=package
-DgRPC_INSTALL_CMAKEDIR="$(get_libdir)/cmake/${PN}"