summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2024-10-29 07:13:32 +0100
committerMichał Górny <mgorny@gentoo.org>2024-10-29 07:51:34 +0100
commita2902bfb6c98ee0d82c079a17e574430d4a63945 (patch)
tree2873606a97192c43f2fdb182123836704cb29883 /dev-python/grpcio
parentdev-python/google-api-core: Bump to 2.22.0 (diff)
downloadgentoo-a2902bfb6c98ee0d82c079a17e574430d4a63945.tar.gz
gentoo-a2902bfb6c98ee0d82c079a17e574430d4a63945.tar.bz2
gentoo-a2902bfb6c98ee0d82c079a17e574430d4a63945.zip
dev-python/grpcio: Use bundled re2 as well, sigh
re2 is strictly tied to abseil-cpp, so if we try to combine system re2 with bundled abseil-cpp, extensions fail to load at runtime. I truly regret adding this package. Closes: https://bugs.gentoo.org/942326 Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/grpcio')
-rw-r--r--dev-python/grpcio/Manifest1
-rw-r--r--dev-python/grpcio/grpcio-1.67.0-r2.ebuild (renamed from dev-python/grpcio/grpcio-1.67.0-r1.ebuild)31
2 files changed, 12 insertions, 20 deletions
diff --git a/dev-python/grpcio/Manifest b/dev-python/grpcio/Manifest
index e0b54db5abf1..daf6601260e2 100644
--- a/dev-python/grpcio/Manifest
+++ b/dev-python/grpcio/Manifest
@@ -1,2 +1,3 @@
DIST grpc-1.67.0.gh.tar.gz 17317493 BLAKE2B 81aaf9a4d293dd41d9d068e81eb8a9898b610498722dd6f9c5ff88118fc5a31a936ac83c7cdb4f56c288d131c7721beed8e307dd91bf3de5cc25951cdb06de5a SHA512 5e76a3147ca051e5304d5d64eefe124cd446dd5d7bd9a65667bae5474b59f70b32368d225e8345c9414bddb968c1390b8bcd08ed97abb62b543528289b29ec35
+DIST grpcio-1.67.0.tar.gz 12569330 BLAKE2B 597efd14625898daf8c7aeff65e1d5aac4e08f7152263784c41f6b9bf0b83b8774b01ada85bfd461191d34c547296be82b994694585a57ee306d6aceebf4a9dd SHA512 201ca2548b68561135a06de971dc5a2a87bebbb6e48b4aeca23389fdd3046a11677a440af75730a0ce7cc2b7c9c7e3ab4a43d0e040c803768d04a27be645bc4e
DIST grpcio_tools-1.67.0.tar.gz 5159163 BLAKE2B 54a7db77514033c4747d20a13fded114828fed23f649587c649f5ad2716d4bb31b80eeda560d55ae087a564cb9d34563a612cc91df581ae6b9a761f307828397 SHA512 f9644b4424aa68f1ae4d679c7b635db9bbfc0b493c76caf7d2e9fe0a49e5e81b6f146666c8dba3fc1d1c0db141f8fb362dd0ede0842c34cb178009412a672ec5
diff --git a/dev-python/grpcio/grpcio-1.67.0-r1.ebuild b/dev-python/grpcio/grpcio-1.67.0-r2.ebuild
index 92a90bd06766..184b99207647 100644
--- a/dev-python/grpcio/grpcio-1.67.0-r1.ebuild
+++ b/dev-python/grpcio/grpcio-1.67.0-r2.ebuild
@@ -17,15 +17,14 @@ HOMEPAGE="
https://pypi.org/project/grpcio/
"
# Tests need other packages from the source tree, so use a GitHub
-# archive. grpcio-tools is required for tests, and requires a bunch
-# of bundled libraries However, we also need bundled abseil-cpp,
-# so take that one from grpcio-tools to avoid two sdists.
-SRC_URI="
- https://github.com/grpc/grpc/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
- $(pypi_sdist_url grpcio-tools)
+# archive. sdist provides bundled library sources (git submodules).
+SRC_URI+="
+ test? (
+ https://github.com/grpc/grpc/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+ $(pypi_sdist_url grpcio_tools)
+ )
"
-S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="0"
@@ -33,7 +32,6 @@ KEYWORDS="~amd64 ~x86"
DEPEND="
dev-libs/openssl:=
- dev-libs/re2:=
net-dns/c-ares:=
sys-libs/zlib:=
"
@@ -52,14 +50,6 @@ BDEPEND="
EPYTEST_XDIST=1
distutils_enable_tests pytest
-src_unpack() {
- default
-
- # reuse the bundled abseil-cpp from grpcio-tools sdist.
- ln -s "${WORKDIR}/grpcio_tools-${PV}/third_party/abseil-cpp/absl" \
- "${S}/third_party/abseil-cpp/absl" || die
-}
-
src_configure() {
export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS="$(makeopts_jobs)"
# system abseil-cpp crashes with USE=-debug, sigh
@@ -67,7 +57,8 @@ src_configure() {
#export GRPC_PYTHON_BUILD_SYSTEM_ABSL=1
export GRPC_PYTHON_BUILD_SYSTEM_CARES=1
export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
- export GRPC_PYTHON_BUILD_SYSTEM_RE2=1
+ # re2 needs to be built against the same abseil-cpp version
+ #export GRPC_PYTHON_BUILD_SYSTEM_RE2=1
export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1
export GRPC_PYTHON_BUILD_WITH_CYTHON=1
@@ -102,10 +93,10 @@ python_test() {
# grpcio_tools supports bundled libs only, and requires different
# flags
unset GRPC_PYTHON_CFLAGS
- pushd "${WORKDIR}/grpcio_tools-${PV}" >/dev/null || die
+ cd "${WORKDIR}/grpcio_tools-${PV}" || die
distutils_pep517_install "${BUILD_DIR}"/test
- popd >/dev/null || die
+ cd "${WORKDIR}/${MY_P}" || die
local protodir=src/proto/grpc/testing
local testdir=src/python/grpcio_tests
"${EPYTHON}" -m grpc_tools.protoc -I. --python_out="${testdir}" \