[gentoo-commits] repo/gentoo:master commit in: dev-cpp/gtest/, dev-cpp/gtest/files/

2020-10-09 Thread Michał Górny
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/

2020-07-19 Thread Joonas Niilola
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/

2019-08-20 Thread Joonas Niilola
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/

2019-06-15 Thread Michał Górny
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/

2018-09-22 Thread Michał Górny
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/

2017-08-18 Thread David Seifert
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
+}