commit: 2d412e5e636a46e10154b64b7fd9fde9978a7cd7 Author: Peter Levine <plevine457 <AT> gmail <DOT> com> AuthorDate: Wed Jun 4 06:30:52 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sun Jun 8 04:52:05 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2d412e5e
dev-cpp/gtest: add 1.17.0 Signed-off-by: Peter Levine <plevine457 <AT> gmail.com> Part-of: https://github.com/gentoo/gentoo/pull/42434 Signed-off-by: Sam James <sam <AT> gentoo.org> dev-cpp/gtest/Manifest | 1 + dev-cpp/gtest/gtest-1.17.0.ebuild | 89 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 90 insertions(+) diff --git a/dev-cpp/gtest/Manifest b/dev-cpp/gtest/Manifest index 5cdb002b89fd..b8e7fa960bd7 100644 --- a/dev-cpp/gtest/Manifest +++ b/dev-cpp/gtest/Manifest @@ -1,2 +1,3 @@ DIST gtest-1.14.0.tar.gz 867764 BLAKE2B c457f55ac572b9fb1553eee3df7eeeaf1e7dd2c3d747dd5e90dd279038fa5c71bb7b7d9ba1cf7e6143898b2a1d24d100584bd2a48ded41a426870c4825eec1b2 SHA512 765c326ccc1b87a01027385e69238266e356361cd4ee3e18e3c9d137a5d11fa5d657c164d02dd1be8fe693c8e10f2b580588dbfa57d27f070e2750f50d3e662c DIST gtest-1.15.2.tar.gz 872667 BLAKE2B 2525d7a8572364cc2c2c129197201fc31e3cb4aadf4be37a995447a9b8e393205628e666dd190dca9a169b693883a5a2a5cafd6432cc3d1263a0c834ff8cf121 SHA512 9046841044a2bf7edfd96854ad9c44ffae4fcb9fb59a075b367507c0762a98eb32cb6968d46663228272e26321e96f4dd287c95baa22c6af9bad902b8b6ede4e +DIST gtest-1.17.0.tar.gz 885595 BLAKE2B 194df0cbe44905b9748c3df75ce3e91f0b11d766c845a11a9b86bb65249d21448b6eac1c2ea9fc3c189105f173d2330af5d0622b051f712dbf661ba5917bc96b SHA512 0f57e9ef06925e5b7722df1eb92ef5850e8dce79220ea16a8aaff586a71c0b01460ef1713649ee24ffedb2e6ad5a51e9198c5a5ae1b2789e43feb1f494e7d45c diff --git a/dev-cpp/gtest/gtest-1.17.0.ebuild b/dev-cpp/gtest/gtest-1.17.0.ebuild new file mode 100644 index 000000000000..2bc9400cc078 --- /dev/null +++ b/dev-cpp/gtest/gtest-1.17.0.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Python is required for tests and some build tasks. +PYTHON_COMPAT=( python3_{10..14} ) + +inherit cmake-multilib flag-o-matic python-any-r1 toolchain-funcs + +if [[ ${PV} == "9999" ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/google/googletest" +else + if [[ -z ${GOOGLETEST_COMMIT} ]]; then + SRC_URI="https://github.com/google/googletest/archive/refs/tags/v${PV}.tar.gz + -> ${P}.tar.gz" + S="${WORKDIR}"/googletest-${PV} + else + SRC_URI="https://github.com/google/googletest/archive/${GOOGLETEST_COMMIT}.tar.gz + -> ${P}.tar.gz" + S="${WORKDIR}"/googletest-${GOOGLETEST_COMMIT} + fi + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi + +DESCRIPTION="Google C++ Testing Framework" +HOMEPAGE="https://github.com/google/googletest" + +LICENSE="BSD" +SLOT="0/${PV}" +IUSE="abseil doc examples test" +RESTRICT="!test? ( test )" + +BDEPEND="test? ( ${PYTHON_DEPS} )" +DEPEND="abseil? ( + dev-cpp/abseil-cpp:=[${MULTILIB_USEDEP}] + dev-libs/re2:=[${MULTILIB_USEDEP}] )" +RDEPEND="${DEPEND}" + +# Exclude tests that fail with FEATURES="usersandbox" +CMAKE_SKIP_TESTS=( "googletest-(death-test|port)-test" ) + +PATCHES=( + "${FILESDIR}"/gtest-find-re2-with-pkgconfig.patch + "${FILESDIR}"/gtest-1.15.2-fix-gtest_help_test.patch +) + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +multilib_src_configure() { + if use arm && [[ $(tc-is-softfloat) =~ (softfp)|(no) ]]; then + replace-flags -O* -O1 # bug #925093 + fi + + local mycmakeargs=( + -DBUILD_GMOCK=ON + -DINSTALL_GTEST=ON + -DGTEST_HAS_ABSL=$(usex abseil) + + # tests + -Dgmock_build_tests=$(usex test) + -Dgtest_build_tests=$(usex test) + ) + if use test; then + if use x86 || use x86-linux; then + append-cxxflags -ffloat-store # bug #905007 + fi + mycmakeargs+=( -DPython3_EXECUTABLE="${PYTHON}" ) + fi + + cmake_src_configure +} + +multilib_src_install_all() { + einstalldocs + + newdoc googletest/README.md README.googletest.md + newdoc googlemock/README.md README.googlemock.md + + use doc && dodoc -r docs/. + + if use examples; then + docinto examples + dodoc googletest/samples/*.{cc,h} + fi +}
