commit:     34d0dfc22c5fe3a2ac998652053ecd3af9ffca70
Author:     Paul Zander <negril.nx+gentoo <AT> gmail <DOT> com>
AuthorDate: Sat Apr  5 12:22:34 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Apr 11 09:47:05 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=34d0dfc2

dev-cpp/abseil-cpp: add USE=test-helpers

USE=test-helpers builds libraries required to build tests against Abseil code.

Closes: https://bugs.gentoo.org/953140
Signed-off-by: Paul Zander <negril.nx+gentoo <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-cpp/abseil-cpp/abseil-cpp-20230802.3.ebuild | 19 ++++++++++++-------
 dev-cpp/abseil-cpp/abseil-cpp-20240116.3.ebuild | 19 ++++++++++++-------
 dev-cpp/abseil-cpp/abseil-cpp-20240722.1.ebuild | 18 +++++++++++-------
 dev-cpp/abseil-cpp/abseil-cpp-20250127.0.ebuild | 17 ++++++++++-------
 dev-cpp/abseil-cpp/metadata.xml                 |  3 +++
 dev-libs/protobuf/protobuf-25.6.ebuild          |  8 +++++++-
 dev-libs/protobuf/protobuf-28.3-r1.ebuild       |  8 +++++++-
 dev-libs/protobuf/protobuf-29.4.ebuild          |  8 +++++++-
 dev-libs/protobuf/protobuf-30.2.ebuild          |  8 +++++++-
 dev-libs/protobuf/protobuf-9999.ebuild          |  8 +++++++-
 10 files changed, 83 insertions(+), 33 deletions(-)

diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20230802.3.ebuild 
b/dev-cpp/abseil-cpp/abseil-cpp-20230802.3.ebuild
index dd1810a5fe1a..020e26fc0ec0 100644
--- a/dev-cpp/abseil-cpp/abseil-cpp-20230802.3.ebuild
+++ b/dev-cpp/abseil-cpp/abseil-cpp-20230802.3.ebuild
@@ -14,10 +14,10 @@ 
SRC_URI="https://github.com/abseil/abseil-cpp/archive/${PV}.tar.gz -> ${P}.tar.g
 LICENSE="Apache-2.0"
 SLOT="0/${PV:2:4}.$(ver_cut 2).0"
 KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86"
-IUSE="test"
+IUSE="test test-helpers"
 
 RDEPEND="
-       test? (
+       test-helpers? (
                dev-cpp/gtest:=[${MULTILIB_USEDEP}]
        )
 "
@@ -45,6 +45,7 @@ src_prepare() {
        use ppc && eapply "${FILESDIR}/${PN}-atomic.patch"
 
        # un-hardcode abseil compiler flags
+       # 942192
        sed -i \
                -e '/"-maes",/d' \
                -e '/"-msse4.1",/d' \
@@ -63,14 +64,18 @@ multilib_src_configure() {
                # We use -std=c++14 here so that abseil-cpp's string_view is 
used
                # See the discussion in 
https://github.com/gentoo/gentoo/pull/32281.
                -DCMAKE_CXX_STANDARD=14
-               -DABSL_ENABLE_INSTALL=TRUE
-               -DABSL_USE_EXTERNAL_GOOGLETEST=ON
-               -DABSL_PROPAGATE_CXX_STD=TRUE
+
+               -DABSL_ENABLE_INSTALL="yes"
+               -DABSL_USE_EXTERNAL_GOOGLETEST="yes"
+               -DABSL_PROPAGATE_CXX_STD="yes"
+
                # TEST_HELPERS needed for protobuf (bug #915902)
-               -DABSL_BUILD_TEST_HELPERS="$(usex test)"
+               -DABSL_BUILD_TEST_HELPERS="$(usex test-helpers)"
+
                -DABSL_BUILD_TESTING="$(usex test)"
        )
-       # intentional use, it uses both variables for tests.
+       # intentional use, it requires both variables for tests.
+       # (BUILD_TESTING AND ABSL_BUILD_TESTING)
        if use test; then
                mycmakeargs+=(
                        -DBUILD_TESTING="yes"

diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20240116.3.ebuild 
b/dev-cpp/abseil-cpp/abseil-cpp-20240116.3.ebuild
index 9f5cd6299aed..e99a4b190279 100644
--- a/dev-cpp/abseil-cpp/abseil-cpp-20240116.3.ebuild
+++ b/dev-cpp/abseil-cpp/abseil-cpp-20240116.3.ebuild
@@ -14,10 +14,10 @@ 
SRC_URI="https://github.com/abseil/abseil-cpp/archive/${PV}.tar.gz -> ${P}.tar.g
 LICENSE="Apache-2.0"
 SLOT="0/${PV:2:4}.$(ver_cut 2).0"
 KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~s390 ~sparc ~x86 
~arm64-macos ~x64-macos"
-IUSE="test"
+IUSE="test test-helpers"
 
 RDEPEND="
-       test? (
+       test-helpers? (
                dev-cpp/gtest:=[${MULTILIB_USEDEP}]
        )
 "
@@ -45,6 +45,7 @@ src_prepare() {
        use ppc && eapply "${FILESDIR}/${PN}-atomic.patch"
 
        # un-hardcode abseil compiler flags
+       # 942192
        sed -i \
                -e '/"-maes",/d' \
                -e '/"-msse4.1",/d' \
@@ -63,14 +64,18 @@ multilib_src_configure() {
                # We use -std=c++14 here so that abseil-cpp's string_view is 
used
                # See the discussion in 
https://github.com/gentoo/gentoo/pull/32281.
                -DCMAKE_CXX_STANDARD=14
-               -DABSL_ENABLE_INSTALL=TRUE
-               -DABSL_USE_EXTERNAL_GOOGLETEST=ON
-               -DABSL_PROPAGATE_CXX_STD=TRUE
+
+               -DABSL_ENABLE_INSTALL="yes"
+               -DABSL_USE_EXTERNAL_GOOGLETEST="yes"
+               -DABSL_PROPAGATE_CXX_STD="yes"
+
                # TEST_HELPERS needed for protobuf (bug #915902)
-               -DABSL_BUILD_TEST_HELPERS="$(usex test)"
+               -DABSL_BUILD_TEST_HELPERS="$(usex test-helpers)"
+
                -DABSL_BUILD_TESTING="$(usex test)"
        )
-       # intentional use, it uses both variables for tests.
+       # intentional use, it requires both variables for tests.
+       # (BUILD_TESTING AND ABSL_BUILD_TESTING)
        if use test; then
                mycmakeargs+=(
                        -DBUILD_TESTING="yes"

diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20240722.1.ebuild 
b/dev-cpp/abseil-cpp/abseil-cpp-20240722.1.ebuild
index 980635fdd36e..420b0a925935 100644
--- a/dev-cpp/abseil-cpp/abseil-cpp-20240722.1.ebuild
+++ b/dev-cpp/abseil-cpp/abseil-cpp-20240722.1.ebuild
@@ -14,10 +14,10 @@ 
SRC_URI="https://github.com/abseil/abseil-cpp/archive/${PV}.tar.gz -> ${P}.tar.g
 LICENSE="Apache-2.0"
 SLOT="0/${PV:2:4}.$(ver_cut 2).0"
 KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv 
~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-IUSE="test"
+IUSE="test test-helpers"
 
 RDEPEND="
-       test? (
+       test-helpers? (
                dev-cpp/gtest:=[${MULTILIB_USEDEP}]
        )
 "
@@ -44,6 +44,7 @@ src_prepare() {
        use ppc && eapply "${FILESDIR}/${PN}-atomic.patch"
 
        # un-hardcode abseil compiler flags
+       # 942192
        sed -i \
                -e '/"-maes",/d' \
                -e '/"-msse4.1",/d' \
@@ -59,14 +60,17 @@ src_prepare() {
 
 multilib_src_configure() {
        local mycmakeargs=(
-               -DABSL_ENABLE_INSTALL=TRUE
-               -DABSL_USE_EXTERNAL_GOOGLETEST=ON
-               -DABSL_PROPAGATE_CXX_STD=TRUE
+               -DABSL_ENABLE_INSTALL="yes"
+               -DABSL_USE_EXTERNAL_GOOGLETEST="yes"
+               -DABSL_PROPAGATE_CXX_STD="yes"
+
                # TEST_HELPERS needed for protobuf (bug #915902)
-               -DABSL_BUILD_TEST_HELPERS="$(usex test)"
+               -DABSL_BUILD_TEST_HELPERS="$(usex test-helpers)"
+
                -DABSL_BUILD_TESTING="$(usex test)"
        )
-       # intentional use, it uses both variables for tests.
+       # intentional use, it requires both variables for tests.
+       # (BUILD_TESTING AND ABSL_BUILD_TESTING)
        if use test; then
                mycmakeargs+=(
                        -DBUILD_TESTING="yes"

diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20250127.0.ebuild 
b/dev-cpp/abseil-cpp/abseil-cpp-20250127.0.ebuild
index 896be16ff5ca..481480e5aadd 100644
--- a/dev-cpp/abseil-cpp/abseil-cpp-20250127.0.ebuild
+++ b/dev-cpp/abseil-cpp/abseil-cpp-20250127.0.ebuild
@@ -18,10 +18,10 @@ SRC_URI="
 LICENSE="Apache-2.0"
 SLOT="0/${PV:2:4}.$(ver_cut 2).0"
 KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv 
~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-IUSE="test"
+IUSE="test test-helpers"
 
 RDEPEND="
-       test? (
+       test-helpers? (
                dev-cpp/gtest:=[${MULTILIB_USEDEP}]
        )
 "
@@ -60,14 +60,17 @@ src_prepare() {
 
 multilib_src_configure() {
        local mycmakeargs=(
-               -DABSL_ENABLE_INSTALL=TRUE
-               -DABSL_USE_EXTERNAL_GOOGLETEST=ON
-               -DABSL_PROPAGATE_CXX_STD=TRUE
+               -DABSL_ENABLE_INSTALL="yes"
+               -DABSL_USE_EXTERNAL_GOOGLETEST="yes"
+               -DABSL_PROPAGATE_CXX_STD="yes"
+
                # TEST_HELPERS needed for protobuf (bug #915902)
-               -DABSL_BUILD_TEST_HELPERS="$(usex test)"
+               -DABSL_BUILD_TEST_HELPERS="$(usex test-helpers)"
+
                -DABSL_BUILD_TESTING="$(usex test)"
        )
-       # intentional use, it uses both variables for tests.
+       # intentional use, it requires both variables for tests.
+       # (BUILD_TESTING AND ABSL_BUILD_TESTING)
        if use test; then
                mycmakeargs+=(
                        -DBUILD_TESTING="yes"

diff --git a/dev-cpp/abseil-cpp/metadata.xml b/dev-cpp/abseil-cpp/metadata.xml
index 16dd7edb45a5..be95e3ba574c 100644
--- a/dev-cpp/abseil-cpp/metadata.xml
+++ b/dev-cpp/abseil-cpp/metadata.xml
@@ -13,4 +13,7 @@
        <upstream>
                <remote-id type="github">abseil/abseil-cpp</remote-id>
        </upstream>
+       <use>
+               <flag name="test-helpers">Build libraries that you can use to 
write tests against Abseil code.</flag>
+       </use>
 </pkgmetadata>

diff --git a/dev-libs/protobuf/protobuf-25.6.ebuild 
b/dev-libs/protobuf/protobuf-25.6.ebuild
index e947731a59ef..fcac9b8ecbff 100644
--- a/dev-libs/protobuf/protobuf-25.6.ebuild
+++ b/dev-libs/protobuf/protobuf-25.6.ebuild
@@ -51,7 +51,13 @@ COMMON_DEPEND="
 DEPEND="
        ${COMMON_DEPEND}
        conformance? ( dev-libs/jsoncpp[${MULTILIB_USEDEP}] )
-       test? ( >=dev-cpp/gtest-1.11[${MULTILIB_USEDEP}] )
+       test? (
+               || (
+                       dev-cpp/abseil-cpp[test-helpers(-)]
+                       dev-cpp/abseil-cpp[test]
+               )
+               dev-cpp/gtest[${MULTILIB_USEDEP}]
+       )
 "
 RDEPEND="
        ${COMMON_DEPEND}

diff --git a/dev-libs/protobuf/protobuf-28.3-r1.ebuild 
b/dev-libs/protobuf/protobuf-28.3-r1.ebuild
index e53658010cb3..659a39c8264d 100644
--- a/dev-libs/protobuf/protobuf-28.3-r1.ebuild
+++ b/dev-libs/protobuf/protobuf-28.3-r1.ebuild
@@ -52,7 +52,13 @@ COMMON_DEPEND="
 DEPEND="
        ${COMMON_DEPEND}
        conformance? ( dev-libs/jsoncpp[${MULTILIB_USEDEP}] )
-       test? ( >=dev-cpp/gtest-1.11[${MULTILIB_USEDEP}] )
+       test? (
+               || (
+                       dev-cpp/abseil-cpp[test-helpers(-)]
+                       dev-cpp/abseil-cpp[test]
+               )
+               dev-cpp/gtest[${MULTILIB_USEDEP}]
+       )
 "
 RDEPEND="
        ${COMMON_DEPEND}

diff --git a/dev-libs/protobuf/protobuf-29.4.ebuild 
b/dev-libs/protobuf/protobuf-29.4.ebuild
index 8ce1e903d955..1d23dc9b0ce9 100644
--- a/dev-libs/protobuf/protobuf-29.4.ebuild
+++ b/dev-libs/protobuf/protobuf-29.4.ebuild
@@ -52,7 +52,13 @@ COMMON_DEPEND="
 DEPEND="
        ${COMMON_DEPEND}
        conformance? ( dev-libs/jsoncpp[${MULTILIB_USEDEP}] )
-       test? ( >=dev-cpp/gtest-1.11[${MULTILIB_USEDEP}] )
+       test? (
+               || (
+                       dev-cpp/abseil-cpp[test-helpers(-)]
+                       dev-cpp/abseil-cpp[test]
+               )
+               dev-cpp/gtest[${MULTILIB_USEDEP}]
+       )
 "
 RDEPEND="
        ${COMMON_DEPEND}

diff --git a/dev-libs/protobuf/protobuf-30.2.ebuild 
b/dev-libs/protobuf/protobuf-30.2.ebuild
index b100f58a75c6..71bf1e316dd2 100644
--- a/dev-libs/protobuf/protobuf-30.2.ebuild
+++ b/dev-libs/protobuf/protobuf-30.2.ebuild
@@ -49,7 +49,13 @@ COMMON_DEPEND="
 DEPEND="
        ${COMMON_DEPEND}
        conformance? ( dev-libs/jsoncpp[${MULTILIB_USEDEP}] )
-       test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )
+       test? (
+               || (
+                       dev-cpp/abseil-cpp[test-helpers(-)]
+                       dev-cpp/abseil-cpp[test]
+               )
+               dev-cpp/gtest[${MULTILIB_USEDEP}]
+       )
 "
 RDEPEND="
        ${COMMON_DEPEND}

diff --git a/dev-libs/protobuf/protobuf-9999.ebuild 
b/dev-libs/protobuf/protobuf-9999.ebuild
index b100f58a75c6..71bf1e316dd2 100644
--- a/dev-libs/protobuf/protobuf-9999.ebuild
+++ b/dev-libs/protobuf/protobuf-9999.ebuild
@@ -49,7 +49,13 @@ COMMON_DEPEND="
 DEPEND="
        ${COMMON_DEPEND}
        conformance? ( dev-libs/jsoncpp[${MULTILIB_USEDEP}] )
-       test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )
+       test? (
+               || (
+                       dev-cpp/abseil-cpp[test-helpers(-)]
+                       dev-cpp/abseil-cpp[test]
+               )
+               dev-cpp/gtest[${MULTILIB_USEDEP}]
+       )
 "
 RDEPEND="
        ${COMMON_DEPEND}

Reply via email to