summaryrefslogtreecommitdiff
path: root/dev-cpp/gtest
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-cpp/gtest
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-cpp/gtest')
-rw-r--r--dev-cpp/gtest/Manifest12
-rw-r--r--dev-cpp/gtest/files/configure-fix-pthread-linking.patch93
-rw-r--r--dev-cpp/gtest/files/gtest-1.8.0-multilib-strict.patch40
-rw-r--r--dev-cpp/gtest/files/gtest-9999-fix-gcc6-undefined-behavior.patch21
-rw-r--r--dev-cpp/gtest/files/gtest-9999-fix-py-tests.patch19
-rw-r--r--dev-cpp/gtest/gtest-1.7.0-r1.ebuild50
-rw-r--r--dev-cpp/gtest/gtest-1.8.0.ebuild59
-rw-r--r--dev-cpp/gtest/gtest-9999.ebuild60
-rw-r--r--dev-cpp/gtest/metadata.xml17
9 files changed, 371 insertions, 0 deletions
diff --git a/dev-cpp/gtest/Manifest b/dev-cpp/gtest/Manifest
new file mode 100644
index 000000000000..1d4c82e6c882
--- /dev/null
+++ b/dev-cpp/gtest/Manifest
@@ -0,0 +1,12 @@
+AUX configure-fix-pthread-linking.patch 3142 SHA256 501f42dd4f4f4412fcb18fc4eb5f1100f5c5a6b19610f6548bccc84989c6f83e SHA512 4347570606853c75e43d3d1abe449cd562538e531136658e6742f8e2dddcc1767932b427a063f711b868467ca85ff947f24c4ed3e328319bd0a739bb66093016 WHIRLPOOL 5ab7be10a9bd675398884f2a4ad8c30fef17412ff3fbaae5d14cf290ebf723ccc005d2ea1dd7ad68c8bd8db57d06cc0fadd79d7f9f2ab46ea5ed0a87df8201fb
+AUX gtest-1.8.0-multilib-strict.patch 1126 SHA256 0522177e2d56726e1e3b535f0a21621cd2c732f3c8b12aeac6c89d1993c9c5f7 SHA512 45bb44e3f0743ec0bd9f440585610ed04cbbd8befed398844300e21710b28f755f1775cc005efcdd0b4f6d2ec2200ad2abe98b2c6764400ffa04242fe7ce06fc WHIRLPOOL 1fcf40475c8964efce07b55ffb47e9333575c90d20401cf79e0909cd36c9bf39fa40a00ed5704a486882d99b680308b6d26a7bf9c3efd025f01c39841ee50260
+AUX gtest-9999-fix-gcc6-undefined-behavior.patch 665 SHA256 ec8cc5eae006b8f9f75b2e4b76dbb3104c5618e397fd20aba7cf620c7ff5e439 SHA512 fc6f11a06f9aa7b1c31f5abbec208704dd0f461fed36d421802843234bb3d9fe3f2e35482629546c1a8585c84fb0850768dd8b63e0f88cfe0508b00278d800cc WHIRLPOOL 1ab186efcc371f45f2633f5e7c51665895673eba68490810ca02c405b060a1fdbf41afe04fe7bcbb7c00ba552e756ff3cd16daf7adb2397007b21ce62fb21147
+AUX gtest-9999-fix-py-tests.patch 820 SHA256 45c308aa3526c9945b2043bef4891b58dae598dfc68e7e3b7b7dce375dac2db8 SHA512 4a059704303fffe508bd099544caaab5e4c819c978d6c104dce302e82348dd41fd63390459828a5f6161624dfd47aed5dc9cb466d36796904d598e0b10427949 WHIRLPOOL b39f39fea9dbe209781b98c0dc8597dbebac2f265abdae1c89089509882c600d5459500ece98dde59273e39a223d017e00f4c333798f744cafc5b285c4210935
+DIST gtest-1.7.0.tar.gz 1001582 SHA256 c0f860eee47c86e0aeb462fd0bdfd70e3975297e0b8b178e0e03a95e1f6c9bc4 SHA512 a9f5c047b39efb2d11b55ee9913662ca402ac6837b3ad2d278ecfbd1caf32ed4546f169e3e92503d57bf3b62ccf89cd062da1c7ea3638aae98e868d2766363c3 WHIRLPOOL 36edbdf8be7c3793a89918a3c43d74e75a6281a37c394f7d2f20506130a76aab04a3beddba01bf7f0e9b6901c7e834ca014c31c913c0ea846d3f6be9c93599d2
+DIST gtest-1.8.0.tar.gz 1281617 SHA256 58a6f4277ca2bc8565222b3bbd58a177609e9c488e8a72649359ba51450db7d8 SHA512 1dbece324473e53a83a60601b02c92c089f5d314761351974e097b2cf4d24af4296f9eb8653b6b03b1e363d9c5f793897acae1f0c7ac40149216035c4d395d9d WHIRLPOOL 7d95c06818332f9596dbda03d21416012c00e05c78be0814279ab9e7059b9d836060bab83ad46d013ccf1ba40973680c0793d78ac22f6016773fd93aa97b779b
+EBUILD gtest-1.7.0-r1.ebuild 1249 SHA256 963b6999cbdc5ee46edc6d922c0a72b13e48d7844a681c90eea314736276b025 SHA512 67a53dfcbc8c85f6e4e6aedc348a413b7fcc328130f5c83bb3963e607e96d735d9213d5b013ca40beb910accca5c69f36bfc9e9c5012c3be2663cb4cf93b6fb2 WHIRLPOOL 07b94b0792b9bd5560397029b552d3719de71d23b74afa46c376c564b4c5128b79f83d6cf7669d0b923918cd4471927395f1b80498cb9ca6469b0f3c90727b6d
+EBUILD gtest-1.8.0.ebuild 1451 SHA256 41e9d313dc0a5b7cc7510101998a4343c8e922489552cbe319a8ebbafc5a473b SHA512 c883641e274747e567d0f1aa5d5c7a593b6f0d3f54dcc540e0900cf03c7129f480c96eb2b920a7b8cdd8c07243fd12420428c9c461faf1600a09727917061eaa WHIRLPOOL 6f2069076ad5382e067b58da8e491f8538123eb9e678235a0c829d7bc94185f4495903d284d586f25755abae6369d0aebeedd53661e0d6f706d08886a372db6b
+EBUILD gtest-9999.ebuild 1291 SHA256 a31da7e9e2aa54c1711ce10267b03106c1ccf6181c7537183b189496f1164d70 SHA512 1ab32d603822dde81e81e5cb16815f749c3e054b3e25fdce40ea1ee487b7721c812a2f0ff47e70e978af4e81647c9ff49ce549e3f1b690f8586cc182c60dec32 WHIRLPOOL 86be17117e2230fd3a397b2aa3b7285796cbbbfa6e8a2b80796ac3e1c40196baff064286ee25359ab405ba38fd8d00f6aa1f8324d98deec7f0645542824d9f0e
+MISC ChangeLog 3559 SHA256 3b1dc0b889ac8573edfb8347118debc48feb77e5009e253126ac6e21514de36b SHA512 027e1bef0ba59e6ccc4c09dfd6b40acb4437398cd3532068a7a3ac7bbf69270c64f1b6ac493704e87909e6a3fc71a72b4d22a1a616d4c66604482834041ff728 WHIRLPOOL e26b9cbda41d2266b1aea21dcd1721b7ee4bd250413cb6c5d4130a7072aef71c9af71302e10f1cc718e2ae10fde6d234d84b1541fede7b5b238718b73164a93c
+MISC ChangeLog-2015 7122 SHA256 04a56c441092e2cc6ea69082630e26a82b369945219147611af9905eadc1d9ff SHA512 1baf81de23ffa96b2970b71238627b1ca895e1b2b943b962fd7782200c891c1e1f3d1ffc1e33aaa7095999c106698b4cff53643c3648bbc522a7edf317f17d8f WHIRLPOOL 22470f963e4d9ec80a3071e3d054768cbe489481365184f834e5e5ff67daa371f40c87cf57b00a3a0637fc9a8f18197b855ea87e7ae58bcc07b61d075a4ecb30
+MISC metadata.xml 569 SHA256 168d16d3acf78830c9c456a487646675c47752b920c4dcd75ac56607cfb86343 SHA512 8e884231265f404e28bd9d1b3e05ab06d96e3e3c9fc036aacee2026d81161e60f3019260d9d3f55a5b057b68c37303e22b88bf51125336aa977e43b1c687a624 WHIRLPOOL a666c16215d9ab779bb50b8bbfe469691dd29e31eecca3e01aaee9cd6d90e3dd56d5a7d8d52d572be85cd87fa06c02b9ba72444c56ca209c2179d829aa8ffd31
diff --git a/dev-cpp/gtest/files/configure-fix-pthread-linking.patch b/dev-cpp/gtest/files/configure-fix-pthread-linking.patch
new file mode 100644
index 000000000000..75e5219b7a7c
--- /dev/null
+++ b/dev-cpp/gtest/files/configure-fix-pthread-linking.patch
@@ -0,0 +1,93 @@
+From fb71154012e634a5e780e93af5434bcdafaf2b24 Mon Sep 17 00:00:00 2001
+From: Justin Bronder <jsbronder@gmail.com>
+Date: Mon, 15 Oct 2012 17:25:07 -0400
+Subject: [PATCH] configure: fix pthread linking
+
+- Update the pthread check to make sure that we don't need -lpthread when
+compiling with -nostdlib.
+
+- Make sure that the necessary pthread library is passed to libtool.
+
+Fixes:
+
+$ ldd -r /usr/lib/libgtest.so
+ linux-vdso.so.1 (0x00007fffe7dff000)
+ libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/libstdc++.so.6 (0x00007fbe09a9f000)
+ libc.so.6 => /lib64/libc.so.6 (0x00007fbe096f7000)
+ libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/libgcc_s.so.1 (0x00007fbe094e1000)
+ libm.so.6 => /lib64/libm.so.6 (0x00007fbe091ee000)
+ /lib64/ld-linux-x86-64.so.2 (0x00007fbe0a005000)
+undefined symbol: pthread_key_create (/usr/lib/libgtest.so)
+undefined symbol: pthread_getspecific (/usr/lib/libgtest.so)
+undefined symbol: pthread_key_delete (/usr/lib/libgtest.so)
+undefined symbol: pthread_setspecific (/usr/lib/libgtest.so)
+---
+ Makefile.am | 1 +
+ m4/acx_pthread.m4 | 39 ++++++++++++++++++++++++++++++++++++++-
+ 2 files changed, 39 insertions(+), 1 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index cb350b7..db2606e 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -181,6 +181,7 @@ endif
+ lib_LTLIBRARIES = lib/libgtest.la lib/libgtest_main.la
+
+ lib_libgtest_la_SOURCES = src/gtest-all.cc
++lib_libgtest_la_LIBADD = $(AM_LIBS)
+
+ pkginclude_HEADERS = \
+ include/gtest/gtest-death-test.h \
+diff --git a/m4/acx_pthread.m4 b/m4/acx_pthread.m4
+index 2cf20de..7fba4d9 100644
+--- a/m4/acx_pthread.m4
++++ b/m4/acx_pthread.m4
+@@ -339,7 +339,44 @@ if test "x$acx_pthread_ok" = xyes; then
+ # so it's not safe to assume that we may use pthreads
+ acx_pthread_ok=no
+ fi
+-
++
++ AC_MSG_CHECKING([whether what we have so far is sufficient with -nostdlib])
++ CFLAGS="-nostdlib $CFLAGS"
++ # we need c with nostdlib
++ LIBS="$LIBS -lc"
++ AC_TRY_LINK([#include <pthread.h>],
++ [pthread_t th; pthread_join(th, 0);
++ pthread_attr_init(0); pthread_cleanup_push(0, 0);
++ pthread_create(0,0,0,0); pthread_cleanup_pop(0); ],
++ [done=yes],[done=no])
++
++ if test "x$done" = xyes; then
++ AC_MSG_RESULT([yes])
++ else
++ AC_MSG_RESULT([no])
++ fi
++
++ if test x"$done" = xno; then
++ AC_MSG_CHECKING([whether -lpthread saves the day])
++ LIBS="-lpthread $LIBS"
++ AC_TRY_LINK([#include <pthread.h>],
++ [pthread_t th; pthread_join(th, 0);
++ pthread_attr_init(0); pthread_cleanup_push(0, 0);
++ pthread_create(0,0,0,0); pthread_cleanup_pop(0); ],
++ [done=yes],[done=no])
++
++ if test "x$done" = xyes; then
++ AC_MSG_RESULT([yes])
++ PTHREAD_LIBS="$PTHREAD_LIBS -lpthread"
++ else
++ AC_MSG_RESULT([no])
++ AC_MSG_WARN([Impossible to determine how to use pthreads with shared libraries and -nostdlib])
++ fi
++ fi
++
++ CFLAGS="$save_CFLAGS"
++ LIBS="$save_LIBS"
++ CC="$save_CC"
+ CFLAGS="$save_CFLAGS"
+ LIBS="$save_LIBS"
+ CC="$save_CC"
+--
+1.7.8.6
+
diff --git a/dev-cpp/gtest/files/gtest-1.8.0-multilib-strict.patch b/dev-cpp/gtest/files/gtest-1.8.0-multilib-strict.patch
new file mode 100644
index 000000000000..c18b58e16fb6
--- /dev/null
+++ b/dev-cpp/gtest/files/gtest-1.8.0-multilib-strict.patch
@@ -0,0 +1,40 @@
+--- a/googlemock/CMakeLists.txt
++++ b/googlemock/CMakeLists.txt
+@@ -11,6 +11,8 @@
+
+ option(gmock_build_tests "Build all of Google Mock's own tests." OFF)
+
++set(LIB_INSTALL_DIR lib CACHE STRING "Library install directory")
++
+ # A directory to find Google Test sources.
+ if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/gtest/CMakeLists.txt")
+ set(gtest_dir gtest)
+@@ -104,7 +106,7 @@
+ #
+ # Install rules
+ install(TARGETS gmock gmock_main
+- DESTINATION lib)
++ DESTINATION ${LIB_INSTALL_DIR})
+ install(DIRECTORY ${gmock_SOURCE_DIR}/include/gmock
+ DESTINATION include)
+
+--- a/googletest/CMakeLists.txt
++++ b/googletest/CMakeLists.txt
+@@ -27,6 +27,8 @@
+ "Build gtest with internal symbols hidden in shared libraries."
+ OFF)
+
++set(LIB_INSTALL_DIR lib CACHE STRING "Library install directory")
++
+ # Defines pre_project_set_up_hermetic_build() and set_up_hermetic_build().
+ include(cmake/hermetic_build.cmake OPTIONAL)
+
+@@ -103,7 +105,7 @@
+ #
+ # Install rules
+ install(TARGETS gtest gtest_main
+- DESTINATION lib)
++ DESTINATION ${LIB_INSTALL_DIR})
+ install(DIRECTORY ${gtest_SOURCE_DIR}/include/gtest
+ DESTINATION include)
+
diff --git a/dev-cpp/gtest/files/gtest-9999-fix-gcc6-undefined-behavior.patch b/dev-cpp/gtest/files/gtest-9999-fix-gcc6-undefined-behavior.patch
new file mode 100644
index 000000000000..eadfe6197389
--- /dev/null
+++ b/dev-cpp/gtest/files/gtest-9999-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, &Test::DeleteSelf_, "the test fixture's destructor");
++ if (test != NULL) {
++ // Deletes the test object.
++ impl->os_stack_trace_getter()->UponLeavingGTest();
++ internal::HandleExceptionsInMethodIfSupported(
++ test, &Test::DeleteSelf_, "the test fixture's destructor");
++ }
+
+ result_.set_elapsed_time(internal::GetTimeInMillis() - start);
+
diff --git a/dev-cpp/gtest/files/gtest-9999-fix-py-tests.patch b/dev-cpp/gtest/files/gtest-9999-fix-py-tests.patch
new file mode 100644
index 000000000000..ba63c7b3eeb3
--- /dev/null
+++ b/dev-cpp/gtest/files/gtest-9999-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}/$<CONFIGURATION>)
++ --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-1.7.0-r1.ebuild b/dev-cpp/gtest/gtest-1.7.0-r1.ebuild
new file mode 100644
index 000000000000..ee90d10ca58f
--- /dev/null
+++ b/dev-cpp/gtest/gtest-1.7.0-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+AUTOTOOLS_AUTORECONF=1
+AUTOTOOLS_IN_SOURCE_BUILD=1
+# Python is required for tests and some build tasks.
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils python-any-r1 autotools-multilib
+
+DESCRIPTION="Google C++ Testing Framework"
+HOMEPAGE="https://github.com/google/googletest"
+SRC_URI="https://github.com/google/googletest/archive/release-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="examples static-libs"
+
+DEPEND="${PYTHON_DEPS}"
+RDEPEND=""
+
+PATCHES=(
+ "${FILESDIR}/configure-fix-pthread-linking.patch" #371647
+)
+
+src_prepare() {
+ sed -i -e "s|/tmp|${T}|g" test/gtest-filepath_test.cc || die
+ sed -i -r \
+ -e '/^install-(data|exec)-local:/s|^.*$|&\ndisabled-&|' \
+ Makefile.am || die
+ autotools-multilib_src_prepare
+}
+
+multilib_src_install() {
+ default
+ multilib_is_native_abi && dobin scripts/gtest-config
+}
+
+multilib_src_install_all() {
+ prune_libtool_files --all
+ einstalldocs
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples
+ doins samples/*.{cc,h}
+ fi
+}
diff --git a/dev-cpp/gtest/gtest-1.8.0.ebuild b/dev-cpp/gtest/gtest-1.8.0.ebuild
new file mode 100644
index 000000000000..308a12ff6fdb
--- /dev/null
+++ b/dev-cpp/gtest/gtest-1.8.0.ebuild
@@ -0,0 +1,59 @@
+# 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 python3_{4,5,6} pypy )
+
+inherit python-any-r1 cmake-multilib
+
+DESCRIPTION="Google C++ Testing Framework"
+HOMEPAGE="https://github.com/google/googletest"
+SRC_URI="https://github.com/google/googletest/archive/release-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="examples test"
+
+DEPEND="test? ( ${PYTHON_DEPS} )"
+RDEPEND="!dev-cpp/gmock"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-9999-fix-py-tests.patch
+ "${FILESDIR}"/${PN}-9999-fix-gcc6-undefined-behavior.patch
+ "${FILESDIR}"/${PN}-1.8.0-multilib-strict.patch
+)
+
+S="${WORKDIR}"/googletest-release-${PV}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DBUILD_GMOCK=ON
+ -DBUILD_GTEST=ON
+ -DLIB_INSTALL_DIR=$(get_libdir)
+ -Dgtest_build_samples=OFF
+ -Dgtest_disable_pthreads=OFF
+ -DBUILD_SHARED_LIBS=ON
+
+ # tests
+ -Dgmock_build_tests=$(usex test)
+ -Dgtest_build_tests=$(usex test)
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ )
+ cmake-utils_src_configure mycmakeargs
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if use examples; then
+ docinto examples
+ dodoc googletest/samples/*.{cc,h}
+ fi
+}
diff --git a/dev-cpp/gtest/gtest-9999.ebuild b/dev-cpp/gtest/gtest-9999.ebuild
new file mode 100644
index 000000000000..47a3ca79f6ee
--- /dev/null
+++ b/dev-cpp/gtest/gtest-9999.ebuild
@@ -0,0 +1,60 @@
+# 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 python3_{4,5,6} pypy )
+
+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"
+
+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
+}
diff --git a/dev-cpp/gtest/metadata.xml b/dev-cpp/gtest/metadata.xml
new file mode 100644
index 000000000000..624bb1a1df94
--- /dev/null
+++ b/dev-cpp/gtest/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>plevine457@gmail.com</email>
+ <name>Peter Levine</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <doc lang="en">https://code.google.com/p/googletest/w/list</doc>
+ <remote-id type="google-code">googletest</remote-id>
+ <remote-id type="github">google/googletest</remote-id>
+ </upstream>
+</pkgmetadata>