[gentoo-commits] repo/gentoo:master commit in: dev-cpp/gtest/, dev-cpp/gtest/files/
commit: b3279540b497ba8c748edb378abcf13f6f361911 Author: Michał Górny gentoo org> AuthorDate: Fri Oct 9 08:22:19 2020 + Commit: Michał Górny gentoo org> CommitDate: Fri Oct 9 08:43:10 2020 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b3279540 dev-cpp/gtest: Remove old Signed-off-by: Michał Górny gentoo.org> dev-cpp/gtest/Manifest | 1 - ...9.0_pre20190607-increase-clone-stack-size.patch | 13 dev-cpp/gtest/gtest-1.9.0_pre20190607.ebuild | 80 -- 3 files changed, 94 deletions(-) diff --git a/dev-cpp/gtest/Manifest b/dev-cpp/gtest/Manifest index 49066ef5fa4..1c0e1e6d97a 100644 --- a/dev-cpp/gtest/Manifest +++ b/dev-cpp/gtest/Manifest @@ -1,2 +1 @@ DIST gtest-1.10.0_p20200702.tar.gz 866900 BLAKE2B c162d47868583ba270675abe5df935b8f4b9a9c00dbdc80dd88afa7f2b98266640b32b2ea5e8f9f6d6227196b5d2f79dbfda4e9585106224e814cc1503cf777d SHA512 715d887b59b47d4691c7c90ef0cf0ffc3d1e758e500263c76b50fd506e90a9d1c390af745933cfe3f55e1edac5d72dccedef3cb9a50b71a5b796424471a3017b -DIST gtest-1.9.0_pre20190607.tar.gz 958396 BLAKE2B 64ae2c86a320a6ed56d6f99383591f7a0176e3f1291144bddf6dc82733c78177963f95516bbaed494318d3d7451d164aeb0d4a192b415414bcc25b9875cf6e82 SHA512 6c17ba303ec1dc8a989075a6dc0eda9b023345d00f6b43e588676cc2cd291f8c508744e4aba86a6c6b651329ce47419ad04d5765ca5978eda507a1643e8a92c3 diff --git a/dev-cpp/gtest/files/gtest-1.9.0_pre20190607-increase-clone-stack-size.patch b/dev-cpp/gtest/files/gtest-1.9.0_pre20190607-increase-clone-stack-size.patch deleted file mode 100644 index 38d515a48dd..000 --- a/dev-cpp/gtest/files/gtest-1.9.0_pre20190607-increase-clone-stack-size.patch +++ /dev/null @@ -1,13 +0,0 @@ -Bug: https://bugs.gentoo.org/692464 - a/googletest/src/gtest-death-test.cc -+++ b/googletest/src/gtest-death-test.cc -@@ -1070,7 +1070,7 @@ - - if (!use_fork) { - static const bool stack_grows_down = StackGrowsDown(); --const auto stack_size = static_cast(getpagesize()); -+const auto stack_size = static_cast(getpagesize()* 10); - // MMAP_ANONYMOUS is not defined on Mac, so we use MAP_ANON instead. - void* const stack = mmap(NULL, stack_size, PROT_READ | PROT_WRITE, - MAP_ANON | MAP_PRIVATE, -1, 0); diff --git a/dev-cpp/gtest/gtest-1.9.0_pre20190607.ebuild b/dev-cpp/gtest/gtest-1.9.0_pre20190607.ebuild deleted file mode 100644 index 9aa2139201b..000 --- a/dev-cpp/gtest/gtest-1.9.0_pre20190607.ebuild +++ /dev/null @@ -1,80 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -# Python is required for tests and some build tasks. -PYTHON_COMPAT=( python2_7 ) - -CMAKE_ECLASS=cmake -GOOGLETEST_COMMIT=da10da05c262af0a9e8fa91789a272a3dec67655 -inherit cmake-multilib python-any-r1 - -if [[ ${PV} == "" ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/google/googletest; -else - if [[ -z ${GOOGLETEST_COMMIT} ]]; then - MY_PV=release-${PV} - else - MY_PV=${GOOGLETEST_COMMIT} - fi - SRC_URI="https://github.com/google/googletest/archive/${MY_PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" - S="${WORKDIR}"/googletest-${MY_PV} -fi - -DESCRIPTION="Google C++ Testing Framework" -HOMEPAGE="https://github.com/google/googletest; - -LICENSE="BSD" -SLOT="0" -IUSE="doc examples test" -RESTRICT="!test? ( test )" - -DEPEND="test? ( ${PYTHON_DEPS} )" -RDEPEND="!dev-cpp/gmock" - -PATCHES=( - "${FILESDIR}"/${PN}-1.9.0_pre20190607-increase-clone-stack-size.patch -) - -pkg_setup() { - use test && python-any-r1_pkg_setup -} - -src_prepare() { - cmake_src_prepare - - sed -i -e '/set(cxx_base_flags /s:-Werror::' \ - googletest/cmake/internal_utils.cmake || die "sed failed!" -} - -multilib_src_configure() { - local mycmakeargs=( - -DBUILD_GMOCK=ON - -DINSTALL_GTEST=ON - - # tests - -Dgmock_build_tests=$(usex test) - -Dgtest_build_tests=$(usex test) - -DPYTHON_EXECUTABLE="${PYTHON}" - ) - cmake_src_configure -} - -multilib_src_install_all() { - einstalldocs - - if use doc; then - docinto googletest - dodoc -r googletest/docs/. - docinto googlemock - dodoc -r googlemock/docs/. - fi - - if use examples; then - docinto examples - dodoc googletest/samples/*.{cc,h} - fi -}
[gentoo-commits] repo/gentoo:master commit in: dev-cpp/gtest/, dev-cpp/gtest/files/
commit: ac7ce29d3b1447efa79f96b41f7da3f933050645 Author: Peter Levine gmail com> AuthorDate: Thu Jun 11 08:41:20 2020 + Commit: Joonas Niilola gentoo org> CommitDate: Sun Jul 19 10:43:25 2020 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac7ce29d dev-cpp/gtest: Update the increase-clone-stack-size patch for live Package-Manager: Portage-2.3.100, Repoman-2.3.22 Signed-off-by: Peter Levine gmail.com> Signed-off-by: Joonas Niilola gentoo.org> .../gtest-1.10.0_p20200702-increase-clone-stack-size.patch | 13 + dev-cpp/gtest/gtest-.ebuild | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/dev-cpp/gtest/files/gtest-1.10.0_p20200702-increase-clone-stack-size.patch b/dev-cpp/gtest/files/gtest-1.10.0_p20200702-increase-clone-stack-size.patch new file mode 100755 index 000..3e06777ac9a --- /dev/null +++ b/dev-cpp/gtest/files/gtest-1.10.0_p20200702-increase-clone-stack-size.patch @@ -0,0 +1,13 @@ +Bug: https://bugs.gentoo.org/692464 + +--- a/googletest/src/gtest-death-test.cc b/googletest/src/gtest-death-test.cc +@@ -1070,7 +1070,7 @@ + + if (!use_fork) { + static const bool stack_grows_down = StackGrowsDown(); +-const auto stack_size = static_cast(getpagesize() * 2); ++const auto stack_size = static_cast(getpagesize() * 10); + // MMAP_ANONYMOUS is not defined on Mac, so we use MAP_ANON instead. + void* const stack = mmap(NULL, stack_size, PROT_READ | PROT_WRITE, + MAP_ANON | MAP_PRIVATE, -1, 0); diff --git a/dev-cpp/gtest/gtest-.ebuild b/dev-cpp/gtest/gtest-.ebuild index 753803041fc..ab2e9dd322c 100644 --- a/dev-cpp/gtest/gtest-.ebuild +++ b/dev-cpp/gtest/gtest-.ebuild @@ -35,7 +35,7 @@ DEPEND="test? ( ${PYTHON_DEPS} )" RDEPEND="!dev-cpp/gmock" PATCHES=( - "${FILESDIR}"/${PN}-1.9.0_pre20190607-increase-clone-stack-size.patch + "${FILESDIR}"/${PN}-1.10.0_p20200702-increase-clone-stack-size.patch ) pkg_setup() {
[gentoo-commits] repo/gentoo:master commit in: dev-cpp/gtest/, dev-cpp/gtest/files/
commit: aa4cea02ac7bb486979ce96d29b0dc6c76491184 Author: Peter Levine gmail com> AuthorDate: Tue Aug 20 05:56:41 2019 + Commit: Joonas Niilola gentoo org> CommitDate: Wed Aug 21 05:06:55 2019 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aa4cea02 dev-cpp/gtest: Fix test failure on sparc64 sparc64 exhibits the same usersandbox stack overflow bug and its stack can apparently grow upwards in memory. Revert back to allocating 10 pages of mapped memory for the offending call to clone(). Bug: https://bugs.gentoo.org/692464 Reported-by: Rolf Eike Beer opensource.sf-tec.de> Package-Manager: Portage-2.3.71, Repoman-2.3.17 Signed-off-by: Peter Levine gmail.com> Signed-off-by: Joonas Niilola gentoo.org> .../gtest-1.9.0_pre20190607-add-mmap-stack-flag.patch | 15 --- ...test-1.9.0_pre20190607-increase-clone-stack-size.patch | 13 + dev-cpp/gtest/gtest-1.9.0_pre20190607.ebuild | 2 +- dev-cpp/gtest/gtest-.ebuild | 2 +- 4 files changed, 15 insertions(+), 17 deletions(-) diff --git a/dev-cpp/gtest/files/gtest-1.9.0_pre20190607-add-mmap-stack-flag.patch b/dev-cpp/gtest/files/gtest-1.9.0_pre20190607-add-mmap-stack-flag.patch deleted file mode 100644 index 9a840aa5876..000 --- a/dev-cpp/gtest/files/gtest-1.9.0_pre20190607-add-mmap-stack-flag.patch +++ /dev/null @@ -1,15 +0,0 @@ -Bug: https://bugs.gentoo.org/688162 -Upstream PR: https://github.com/google/googletest/pull/2276 - a/googletest/src/gtest-death-test.cc -+++ b/googletest/src/gtest-death-test.cc -@@ -1357,6 +1357,9 @@ static pid_t ExecDeathTestSpawnChild(char* const* argv, int close_fd) { - const auto stack_size = static_cast(getpagesize()); - // MMAP_ANONYMOUS is not defined on Mac, so we use MAP_ANON instead. - void* const stack = mmap(nullptr, stack_size, PROT_READ | PROT_WRITE, -+#if GTEST_OS_LINUX -+ (stack_grows_down ? MAP_GROWSDOWN : 0) | // Needed for stack auto-resizing -+#endif - MAP_ANON | MAP_PRIVATE, -1, 0); - GTEST_DEATH_TEST_CHECK_(stack != MAP_FAILED); - diff --git a/dev-cpp/gtest/files/gtest-1.9.0_pre20190607-increase-clone-stack-size.patch b/dev-cpp/gtest/files/gtest-1.9.0_pre20190607-increase-clone-stack-size.patch new file mode 100755 index 000..38d515a48dd --- /dev/null +++ b/dev-cpp/gtest/files/gtest-1.9.0_pre20190607-increase-clone-stack-size.patch @@ -0,0 +1,13 @@ +Bug: https://bugs.gentoo.org/692464 + +--- a/googletest/src/gtest-death-test.cc b/googletest/src/gtest-death-test.cc +@@ -1070,7 +1070,7 @@ + + if (!use_fork) { + static const bool stack_grows_down = StackGrowsDown(); +-const auto stack_size = static_cast(getpagesize()); ++const auto stack_size = static_cast(getpagesize()* 10); + // MMAP_ANONYMOUS is not defined on Mac, so we use MAP_ANON instead. + void* const stack = mmap(NULL, stack_size, PROT_READ | PROT_WRITE, + MAP_ANON | MAP_PRIVATE, -1, 0); diff --git a/dev-cpp/gtest/gtest-1.9.0_pre20190607.ebuild b/dev-cpp/gtest/gtest-1.9.0_pre20190607.ebuild index 923d9a16c22..d79d6b7dd58 100644 --- a/dev-cpp/gtest/gtest-1.9.0_pre20190607.ebuild +++ b/dev-cpp/gtest/gtest-1.9.0_pre20190607.ebuild @@ -35,7 +35,7 @@ DEPEND="test? ( ${PYTHON_DEPS} )" RDEPEND="!dev-cpp/gmock" PATCHES=( - "${FILESDIR}"/${PN}-1.9.0_pre20190607-add-mmap-stack-flag.patch + "${FILESDIR}"/${PN}-1.9.0_pre20190607-increase-clone-stack-size.patch ) pkg_setup() { diff --git a/dev-cpp/gtest/gtest-.ebuild b/dev-cpp/gtest/gtest-.ebuild index bd677dc0bd1..02ca3c039b1 100644 --- a/dev-cpp/gtest/gtest-.ebuild +++ b/dev-cpp/gtest/gtest-.ebuild @@ -33,7 +33,7 @@ DEPEND="test? ( ${PYTHON_DEPS} )" RDEPEND="!dev-cpp/gmock" PATCHES=( - "${FILESDIR}"/${PN}-1.9.0_pre20190607-add-mmap-stack-flag.patch + "${FILESDIR}"/${PN}-1.9.0_pre20190607-increase-clone-stack-size.patch ) pkg_setup() {
[gentoo-commits] repo/gentoo:master commit in: dev-cpp/gtest/, dev-cpp/gtest/files/
commit: b8467b0c198796db565e24118f34853384e57e12 Author: Peter Levine gmail com> AuthorDate: Fri Jun 7 05:50:38 2019 + Commit: Michał Górny gentoo org> CommitDate: Sat Jun 15 20:29:27 2019 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b8467b0c dev-cpp/gtest: Update patch for gtest- Update the gtest-1.8.0-increase-clone-stack-size.patch for gtest- to reflect upstream changes Package-Manager: Portage-2.3.67, Repoman-2.3.13 Signed-off-by: Peter Levine gmail.com> Signed-off-by: Michał Górny gentoo.org> .../gtest/files/gtest--increase-clone-stack-size.patch | 14 ++ dev-cpp/gtest/gtest-.ebuild| 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/dev-cpp/gtest/files/gtest--increase-clone-stack-size.patch b/dev-cpp/gtest/files/gtest--increase-clone-stack-size.patch new file mode 100644 index 000..5e4dc47f704 --- /dev/null +++ b/dev-cpp/gtest/files/gtest--increase-clone-stack-size.patch @@ -0,0 +1,14 @@ +Bug: https://bugs.gentoo.org/629620 +Upstream PR: https://github.com/google/googletest/pull/2276 + +--- a/googletest/src/gtest-death-test.cc b/googletest/src/gtest-death-test.cc +@@ -1354,7 +1354,7 @@ + + if (!use_fork) { + static const bool stack_grows_down = StackGrowsDown(); +-const auto stack_size = static_cast(getpagesize()); ++const auto stack_size = static_cast(getpagesize() * 8); + // MMAP_ANONYMOUS is not defined on Mac, so we use MAP_ANON instead. + void* const stack = mmap(nullptr, stack_size, PROT_READ | PROT_WRITE, + MAP_ANON | MAP_PRIVATE, -1, 0); diff --git a/dev-cpp/gtest/gtest-.ebuild b/dev-cpp/gtest/gtest-.ebuild index e546efa392a..98ce51d82ae 100644 --- a/dev-cpp/gtest/gtest-.ebuild +++ b/dev-cpp/gtest/gtest-.ebuild @@ -28,7 +28,7 @@ DEPEND="test? ( ${PYTHON_DEPS} )" RDEPEND="!dev-cpp/gmock" PATCHES=( - "${FILESDIR}"/${PN}-1.8.0-increase-clone-stack-size.patch + "${FILESDIR}"/${PN}--increase-clone-stack-size.patch ) pkg_setup() {
[gentoo-commits] repo/gentoo:master commit in: dev-cpp/gtest/, dev-cpp/gtest/files/
commit: f526bd2a3316a2fe76b231f731d9e9da2cd6a464 Author: Peter Levine gmail com> AuthorDate: Fri Sep 14 00:39:00 2018 + Commit: Michał Górny gentoo org> CommitDate: Sat Sep 22 07:07:09 2018 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f526bd2a dev-cpp/gtest: Update gtest--fix-gcc6-undefined-behavior.patch Package-Manager: Portage-2.3.49, Repoman-2.3.10 ...patch => gtest-1.8.0-fix-gcc6-undefined-behavior.patch} | 0 .../files/gtest--fix-gcc6-undefined-behavior.patch | 14 +- dev-cpp/gtest/gtest-1.8.0-r1.ebuild| 2 +- dev-cpp/gtest/gtest-1.8.0.ebuild | 2 +- 4 files changed, 7 insertions(+), 11 deletions(-) diff --git a/dev-cpp/gtest/files/gtest--fix-gcc6-undefined-behavior.patch b/dev-cpp/gtest/files/gtest-1.8.0-fix-gcc6-undefined-behavior.patch similarity index 100% copy from dev-cpp/gtest/files/gtest--fix-gcc6-undefined-behavior.patch copy to dev-cpp/gtest/files/gtest-1.8.0-fix-gcc6-undefined-behavior.patch diff --git a/dev-cpp/gtest/files/gtest--fix-gcc6-undefined-behavior.patch b/dev-cpp/gtest/files/gtest--fix-gcc6-undefined-behavior.patch index eadfe619738..8dfed46d458 100644 --- a/dev-cpp/gtest/files/gtest--fix-gcc6-undefined-behavior.patch +++ b/dev-cpp/gtest/files/gtest--fix-gcc6-undefined-behavior.patch @@ -2,19 +2,15 @@ Fix build with GCC 6 due to lifetime issues. --- a/googletest/src/gtest.cc +++ b/googletest/src/gtest.cc -@@ -2654,10 +2654,12 @@ +@@ -2693,10 +2693,12 @@ test->Run(); } -- // Deletes the test object. -- impl->os_stack_trace_getter()->UponLeavingGTest(); -- internal::HandleExceptionsInMethodIfSupported( -- test, ::DeleteSelf_, "the test fixture's destructor"); + if (test != NULL) { -+// Deletes the test object. -+impl->os_stack_trace_getter()->UponLeavingGTest(); -+internal::HandleExceptionsInMethodIfSupported( -+test, ::DeleteSelf_, "the test fixture's destructor"); + // Deletes the test object. + impl->os_stack_trace_getter()->UponLeavingGTest(); + internal::HandleExceptionsInMethodIfSupported( + test, ::DeleteSelf_, "the test fixture's destructor"); + } result_.set_elapsed_time(internal::GetTimeInMillis() - start); diff --git a/dev-cpp/gtest/gtest-1.8.0-r1.ebuild b/dev-cpp/gtest/gtest-1.8.0-r1.ebuild index 96cb8b936bf..3fd0d1438be 100644 --- a/dev-cpp/gtest/gtest-1.8.0-r1.ebuild +++ b/dev-cpp/gtest/gtest-1.8.0-r1.ebuild @@ -22,7 +22,7 @@ RDEPEND="!dev-cpp/gmock" PATCHES=( "${FILESDIR}"/${PN}--fix-py-tests.patch - "${FILESDIR}"/${PN}--fix-gcc6-undefined-behavior.patch + "${FILESDIR}"/${PN}-1.8.0-fix-gcc6-undefined-behavior.patch "${FILESDIR}"/${PN}-1.8.0-multilib-strict.patch "${FILESDIR}"/${PN}-1.8.0-increase-clone-stack-size.patch "${FILESDIR}"/${PN}-1.8.0-fix-doublefree.patch diff --git a/dev-cpp/gtest/gtest-1.8.0.ebuild b/dev-cpp/gtest/gtest-1.8.0.ebuild index 3dbd8e1a06d..fec38c4bc24 100644 --- a/dev-cpp/gtest/gtest-1.8.0.ebuild +++ b/dev-cpp/gtest/gtest-1.8.0.ebuild @@ -22,7 +22,7 @@ RDEPEND="!dev-cpp/gmock" PATCHES=( "${FILESDIR}"/${PN}--fix-py-tests.patch - "${FILESDIR}"/${PN}--fix-gcc6-undefined-behavior.patch + "${FILESDIR}"/${PN}-1.8.0-fix-gcc6-undefined-behavior.patch "${FILESDIR}"/${PN}-1.8.0-multilib-strict.patch "${FILESDIR}"/${PN}-1.8.0-increase-clone-stack-size.patch )
[gentoo-commits] repo/gentoo:master commit in: dev-cpp/gtest/, dev-cpp/gtest/files/
commit: a231a5e1700c7bcfb0d7623a4e388a4ed0d28e5e Author: David Seifert gentoo org> AuthorDate: Fri Aug 18 11:10:19 2017 + Commit: David Seifert gentoo org> CommitDate: Fri Aug 18 11:11:19 2017 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a231a5e1 dev-cpp/gtest: Add live ebuild Package-Manager: Portage-2.3.6, Repoman-2.3.3 .../gtest--fix-gcc6-undefined-behavior.patch | 21 +++ dev-cpp/gtest/files/gtest--fix-py-tests.patch | 19 +++ dev-cpp/gtest/gtest-.ebuild| 64 ++ 3 files changed, 104 insertions(+) diff --git a/dev-cpp/gtest/files/gtest--fix-gcc6-undefined-behavior.patch b/dev-cpp/gtest/files/gtest--fix-gcc6-undefined-behavior.patch new file mode 100644 index 000..eadfe619738 --- /dev/null +++ b/dev-cpp/gtest/files/gtest--fix-gcc6-undefined-behavior.patch @@ -0,0 +1,21 @@ +Fix build with GCC 6 due to lifetime issues. + +--- a/googletest/src/gtest.cc b/googletest/src/gtest.cc +@@ -2654,10 +2654,12 @@ + test->Run(); + } + +- // Deletes the test object. +- impl->os_stack_trace_getter()->UponLeavingGTest(); +- internal::HandleExceptionsInMethodIfSupported( +- test, ::DeleteSelf_, "the test fixture's destructor"); ++ if (test != NULL) { ++// Deletes the test object. ++impl->os_stack_trace_getter()->UponLeavingGTest(); ++internal::HandleExceptionsInMethodIfSupported( ++test, ::DeleteSelf_, "the test fixture's destructor"); ++ } + + result_.set_elapsed_time(internal::GetTimeInMillis() - start); + diff --git a/dev-cpp/gtest/files/gtest--fix-py-tests.patch b/dev-cpp/gtest/files/gtest--fix-py-tests.patch new file mode 100644 index 000..ba63c7b3eeb --- /dev/null +++ b/dev-cpp/gtest/files/gtest--fix-py-tests.patch @@ -0,0 +1,19 @@ +Fix python tests that use broken generator expressions + +--- a/googletest/cmake/internal_utils.cmake b/googletest/cmake/internal_utils.cmake +@@ -247,12 +247,12 @@ + add_test( + NAME ${name} + COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test/${name}.py +---build_dir=${CMAKE_CURRENT_BINARY_DIR}/$) ++--build_dir=${CMAKE_CURRENT_BINARY_DIR}) + else (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 3.1) + add_test( + ${name} + ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test/${name}.py +- --build_dir=${CMAKE_CURRENT_BINARY_DIR}/\${CTEST_CONFIGURATION_TYPE}) ++ --build_dir=${CMAKE_CURRENT_BINARY_DIR}) + endif (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 3.1) + endif() + endfunction() diff --git a/dev-cpp/gtest/gtest-.ebuild b/dev-cpp/gtest/gtest-.ebuild new file mode 100644 index 000..0c82ebfb485 --- /dev/null +++ b/dev-cpp/gtest/gtest-.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +# Python is required for tests and some build tasks. +PYTHON_COMPAT=( python2_7 ) + +inherit git-r3 python-any-r1 cmake-multilib + +DESCRIPTION="Google C++ Testing Framework" +HOMEPAGE="https://github.com/google/googletest; +EGIT_REPO_URI="https://github.com/google/googletest.git; + +LICENSE="BSD" +SLOT="0" +IUSE="examples test" +# Test require a ton of privileges, namely +# FEATURES="-sandbox -userpriv -usersandbox" +# which is generally not acceptable for Gentoo +RESTRICT="test" + +DEPEND="test? ( ${PYTHON_DEPS} )" +RDEPEND="!dev-cpp/gmock" + +PATCHES=( + "${FILESDIR}"/${P}-fix-py-tests.patch + "${FILESDIR}"/${P}-fix-gcc6-undefined-behavior.patch +) + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +multilib_src_configure() { + local mycmakeargs=( + -DBUILD_GMOCK=ON + -DBUILD_GTEST=ON + -DINSTALL_GMOCK=ON + -DINSTALL_GTEST=ON + -Dgtest_build_samples=OFF + -Dgtest_disable_pthreads=OFF + + # currently only static libs work + # due to numerous ODR violations + # https://github.com/google/googletest/issues/930 + -DBUILD_SHARED_LIBS=OFF + + # tests + -Dgmock_build_tests=$(usex test) + -Dgtest_build_tests=$(usex test) + -DPYTHON_EXECUTABLE="${PYTHON}" + ) + cmake-utils_src_configure +} + +multilib_src_install_all() { + einstalldocs + + if use examples; then + docinto examples + dodoc googletest/samples/*.{cc,h} + fi +}