commit:     a2902bfb6c98ee0d82c079a17e574430d4a63945
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 29 06:13:32 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Oct 29 06:51:34 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a2902bfb

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 <AT> gentoo.org>

 dev-python/grpcio/Manifest                         |  1 +
 ...io-1.67.0-r1.ebuild => grpcio-1.67.0-r2.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
similarity index 81%
rename from dev-python/grpcio/grpcio-1.67.0-r1.ebuild
rename to 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}" \

Reply via email to