Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Nov 2014 17:38:10 +0000 (UTC)
From:      John Marino <marino@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r373421 - in head/devel: googlemock googletest googletest/files
Message-ID:  <201411251738.sAPHcA7g082657@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: marino
Date: Tue Nov 25 17:38:09 2014
New Revision: 373421
URL: https://svnweb.freebsd.org/changeset/ports/373421
QAT: https://qat.redports.org/buildarchive/r373421/

Log:
  devel/googlemock, devel/googletest: Upgrade version 1.5 => 1.7
  
  As part of the upgrade process:
    - copy shebangfix and regression-test from googletest to googlemock
    - convert regression-test to TEST option for better integration with
      poudriere and visibility for users
    - make sure configure detects python2 to follow shebangfix
    - add LICENSE=BSD3CLAUSE (idea from comment 0)
    - strip libs per stage-qa
    - enable pthreads by default in devel/googletest
    - enable death tests in devel/googletest
    - enable socket streaming in devel/googletest
    - implement GetThreadCount for death tests in devel/googletest
    - disable streaming tests that fail with old gcc on 9.x in googletest
    - depend on googletest in googlemock as -lgmock fails otherwise [1]
    - pass maintainership to the persistent submitter [2]
  
  PR:		187562
  PR:		192736 [2]
  PR:		192042 [1]
  Approved by:	maintainer timeout (~8 months)
  Submitted by:	rakuco [1]
  Submitted by:	Jan Beich <jbeich@vfemail.net> [2]

Added:
  head/devel/googletest/files/patch-bsd-defines   (contents, props changed)
Deleted:
  head/devel/googletest/files/patch-include_gtest_internal_gtest-port.h
Modified:
  head/devel/googlemock/Makefile
  head/devel/googlemock/distinfo
  head/devel/googlemock/pkg-plist
  head/devel/googletest/Makefile
  head/devel/googletest/distinfo
  head/devel/googletest/pkg-plist

Modified: head/devel/googlemock/Makefile
==============================================================================
--- head/devel/googlemock/Makefile	Tue Nov 25 17:24:03 2014	(r373420)
+++ head/devel/googlemock/Makefile	Tue Nov 25 17:38:09 2014	(r373421)
@@ -2,19 +2,48 @@
 # $FreeBSD$
 
 PORTNAME=	googlemock
-PORTVERSION=	1.5.0
-PORTREVISION=	1
+PORTVERSION=	1.7.0
 CATEGORIES=	devel
-MASTER_SITES=	GOOGLE_CODE
+MASTER_SITES=	GOOGLE_CODE \
+		https://googlemock.googlecode.com/svn-history/r407/trunk/scripts/:svn
 DISTNAME=	gmock-${PORTVERSION}
+DISTFILES=	${DISTNAME}${EXTRACT_SUFX} gmock_doctor.py:svn
+EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
 
-MAINTAINER=	clsung@FreeBSD.org
+MAINTAINER=	jbeich@vfemail.net
 COMMENT=	Library for writing and using C++ mock classes
 
-BUILD_DEPENDS=	googletest>=1.5.0:${PORTSDIR}/devel/googletest
+LICENSE=	BSD3CLAUSE
 
-USES=		libtool
+BUILD_DEPENDS=	googletest>=1.7.0:${PORTSDIR}/devel/googletest
+LIB_DEPENDS=	libgtest.so:${PORTSDIR}/devel/googletest
+
+USES=		libtool shebangfix zip
 GNU_CONFIGURE=	yes
 USE_LDCONFIG=	yes
+INSTALL_TARGET=	install-strip
+
+CONFIGURE_ENV=	ac_cv_path_PYTHON=python2
+python_OLD_CMD=	/usr/bin/env python
+python_CMD=	/usr/bin/env python2
+SHEBANG_FILES=	scripts/fuse_gmock_files.py scripts/gmock_doctor.py
+
+OPTIONS_DEFINE=	TEST
+
+TEST_USES=	python:2,build
+TEST_ALL_TARGET=check
+
+post-extract:
+# XXX gmock_doctor.py is missing from distfile before r455 or 1.8.0
+	${CP} ${DISTDIR}/gmock_doctor.py ${WRKSRC}/scripts
+
+post-patch:
+# enable vendor make install again (revert r562)
+	${REINPLACE_CMD} -E 's/ install-(exec|data)-local//' \
+		${WRKSRC}/Makefile.in
+
+post-install:
+	${INSTALL_SCRIPT} ${WRKSRC}/scripts/gmock-config ${STAGEDIR}${PREFIX}/bin
+	${INSTALL_SCRIPT} ${WRKSRC}/scripts/gmock_doctor.py ${STAGEDIR}${PREFIX}/bin
 
 .include <bsd.port.mk>

Modified: head/devel/googlemock/distinfo
==============================================================================
--- head/devel/googlemock/distinfo	Tue Nov 25 17:24:03 2014	(r373420)
+++ head/devel/googlemock/distinfo	Tue Nov 25 17:38:09 2014	(r373421)
@@ -1,2 +1,4 @@
-SHA256 (gmock-1.5.0.tar.gz) = 21fe9db0de2ae36af1c3bf97dab2b24c38f2392d7b4e376f1c22e71b48c95a39
-SIZE (gmock-1.5.0.tar.gz) = 1759469
+SHA256 (gmock-1.7.0.zip) = 26fcbb5925b74ad5fc8c26b0495dfc96353f4d553492eb97e85a8a6d2f43095b
+SIZE (gmock-1.7.0.zip) = 2167746
+SHA256 (gmock_doctor.py) = 92a8eaf7f4c0716ecd9622b97d907e68d5eb63d6c89acbc1fc72d573d00fc47d
+SIZE (gmock_doctor.py) = 23590

Modified: head/devel/googlemock/pkg-plist
==============================================================================
--- head/devel/googlemock/pkg-plist	Tue Nov 25 17:24:03 2014	(r373420)
+++ head/devel/googlemock/pkg-plist	Tue Nov 25 17:38:09 2014	(r373421)
@@ -8,7 +8,7 @@ include/gmock/gmock-generated-matchers.h
 include/gmock/gmock-generated-nice-strict.h
 include/gmock/gmock-matchers.h
 include/gmock/gmock-more-actions.h
-include/gmock/gmock-printers.h
+include/gmock/gmock-more-matchers.h
 include/gmock/gmock-spec-builders.h
 include/gmock/gmock.h
 include/gmock/internal/gmock-generated-internal-utils.h

Modified: head/devel/googletest/Makefile
==============================================================================
--- head/devel/googletest/Makefile	Tue Nov 25 17:24:03 2014	(r373420)
+++ head/devel/googletest/Makefile	Tue Nov 25 17:38:09 2014	(r373421)
@@ -2,27 +2,38 @@
 # $FreeBSD$
 
 PORTNAME=	googletest
-PORTVERSION=	1.5.0
-PORTREVISION=	1
+PORTVERSION=	1.7.0
 CATEGORIES=	devel
 MASTER_SITES=	GOOGLE_CODE
 DISTNAME=	gtest-${PORTVERSION}
 
-MAINTAINER=	clsung@FreeBSD.org
+MAINTAINER=	jbeich@vfemail.net
 COMMENT=	Framework for writing C++ tests on a variety of platforms
 
 LICENSE=	BSD3CLAUSE
 
-USES=		libtool python:2,build shebangfix
+USES=		libtool shebangfix zip
 GNU_CONFIGURE=	yes
 USE_LDCONFIG=	yes
+INSTALL_TARGET=	install-strip
 
+CONFIGURE_ENV=	ac_cv_path_PYTHON=python2
 python_OLD_CMD=	/usr/bin/env python
 python_CMD=	/usr/bin/env python2
 SHEBANG_FILES=	scripts/fuse_gtest_files.py scripts/gen_gtest_pred_impl.py \
 		scripts/pump.py
 
-regression-test:
-	cd ${WRKSRC}; ${MAKE} check
+OPTIONS_DEFINE=	TEST
+
+TEST_USES=	python:2,build
+TEST_ALL_TARGET=check
+
+post-patch:
+# enable vendor make install again (revert r562)
+	${REINPLACE_CMD} -E 's/ install-(exec|data)-local//' \
+		${WRKSRC}/Makefile.in
+
+post-install:
+	${INSTALL_SCRIPT} ${WRKSRC}/scripts/gtest-config ${STAGEDIR}${PREFIX}/bin
 
 .include <bsd.port.mk>

Modified: head/devel/googletest/distinfo
==============================================================================
--- head/devel/googletest/distinfo	Tue Nov 25 17:24:03 2014	(r373420)
+++ head/devel/googletest/distinfo	Tue Nov 25 17:38:09 2014	(r373421)
@@ -1,2 +1,2 @@
-SHA256 (gtest-1.5.0.tar.gz) = 24156a23cfa49a194c48d1b630fd8eaa63fffc403719b5ddb94cdbe8d9a96aff
-SIZE (gtest-1.5.0.tar.gz) = 896874
+SHA256 (gtest-1.7.0.zip) = 247ca18dd83f53deb1328be17e4b1be31514cedfc1e3424f672bf11fd7e0d60d
+SIZE (gtest-1.7.0.zip) = 1164254

Added: head/devel/googletest/files/patch-bsd-defines
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/googletest/files/patch-bsd-defines	Tue Nov 25 17:38:09 2014	(r373421)
@@ -0,0 +1,215 @@
+Index: include/gtest/internal/gtest-port.h
+===================================================================
+--- include/gtest/internal/gtest-port.h	(revision 692)
++++ include/gtest/internal/gtest-port.h	(working copy)
+@@ -128,6 +128,10 @@
+ //     GTEST_OS_IOS    - iOS
+ //       GTEST_OS_IOS_SIMULATOR - iOS simulator
+ //   GTEST_OS_NACL     - Google Native Client (NaCl)
++//   GTEST_OS_GNU_KFREEBSD - GNU/kFreeBSD
++//   GTEST_OS_DRAGONFLY - DragonFly
++//   GTEST_OS_FREEBSD  - FreeBSD
++//   GTEST_OS_NETBSD   - NetBSD
+ //   GTEST_OS_OPENBSD  - OpenBSD
+ //   GTEST_OS_QNX      - QNX
+ //   GTEST_OS_SOLARIS  - Sun Solaris
+@@ -341,6 +345,14 @@
+ # define GTEST_OS_HPUX 1
+ #elif defined __native_client__
+ # define GTEST_OS_NACL 1
++#elif defined(__GLIBC__) && defined(__FreeBSD_kernel__)
++# define GTEST_OS_GNU_KFREEBSD 1
++#elif defined __DragonFly__
++# define GTEST_OS_DRAGONFLY 1
++#elif defined __FreeBSD__
++# define GTEST_OS_FREEBSD 1
++#elif defined __NetBSD__
++# define GTEST_OS_NETBSD 1
+ #elif defined __OpenBSD__
+ # define GTEST_OS_OPENBSD 1
+ #elif defined __QNX__
+@@ -611,6 +623,8 @@ struct _RTL_CRITICAL_SECTION;
+ // To disable threading support in Google Test, add -DGTEST_HAS_PTHREAD=0
+ // to your compiler flags.
+ # define GTEST_HAS_PTHREAD (GTEST_OS_LINUX || GTEST_OS_MAC || GTEST_OS_HPUX \
++    || GTEST_OS_GNU_KFREEBSD || GTEST_OS_DRAGONFLY || GTEST_OS_FREEBSD \
++    || GTEST_OS_NETBSD || GTEST_OS_OPENBSD \
+     || GTEST_OS_QNX)
+ #endif  // GTEST_HAS_PTHREAD
+ 
+@@ -791,7 +805,8 @@ using ::std::tuple_size;
+      (GTEST_OS_MAC && !GTEST_OS_IOS) || GTEST_OS_IOS_SIMULATOR || \
+      (GTEST_OS_WINDOWS_DESKTOP && _MSC_VER >= 1400) || \
+      GTEST_OS_WINDOWS_MINGW || GTEST_OS_AIX || GTEST_OS_HPUX || \
+-     GTEST_OS_OPENBSD || GTEST_OS_QNX)
++     GTEST_OS_GNU_KFREEBSD || GTEST_OS_DRAGONFLY || GTEST_OS_FREEBSD || \
++     GTEST_OS_NETBSD || GTEST_OS_OPENBSD || GTEST_OS_QNX)
+ # define GTEST_HAS_DEATH_TEST 1
+ # include <vector>  // NOLINT
+ #endif
+@@ -824,7 +839,8 @@ using ::std::tuple_size;
+     (GTEST_OS_WINDOWS || GTEST_OS_CYGWIN || GTEST_OS_SYMBIAN || GTEST_OS_AIX)
+ 
+ // Determines whether test results can be streamed to a socket.
+-#if GTEST_OS_LINUX
++#if GTEST_OS_LINUX || GTEST_OS_GNU_KFREEBSD || GTEST_OS_DRAGONFLY || \
++    GTEST_OS_FREEBSD || GTEST_OS_NETBSD || GTEST_OS_OPENBSD
+ # define GTEST_CAN_STREAM_RESULTS_ 1
+ #endif
+ 
+Index: src/gtest-port.cc
+===================================================================
+--- src/gtest-port.cc	(revision 692)
++++ src/gtest-port.cc	(working copy)
+@@ -51,6 +51,14 @@
+ # include <mach/vm_map.h>
+ #endif  // GTEST_OS_MAC
+ 
++#if GTEST_OS_DRAGONFLY || GTEST_OS_FREEBSD || GTEST_OS_GNU_KFREEBSD || \
++    GTEST_OS_NETBSD || GTEST_OS_OPENBSD
++# include <sys/sysctl.h>
++# if GTEST_OS_DRAGONFLY || GTEST_OS_FREEBSD || GTEST_OS_GNU_KFREEBSD
++#  include <sys/user.h>
++# endif
++#endif
++
+ #if GTEST_OS_QNX
+ # include <devctl.h>
+ # include <fcntl.h>
+@@ -104,6 +112,80 @@ size_t GetThreadCount() {
+   }
+ }
+ 
++#elif GTEST_OS_DRAGONFLY || GTEST_OS_FREEBSD || GTEST_OS_GNU_KFREEBSD || \
++      GTEST_OS_NETBSD
++
++#if GTEST_OS_NETBSD
++#undef KERN_PROC
++#define KERN_PROC KERN_PROC2
++#define kinfo_proc kinfo_proc2
++#endif
++
++#if GTEST_OS_DRAGONFLY
++#define KP_NLWP(kp) (kp.kp_nthreads)
++#elif GTEST_OS_FREEBSD || GTEST_OS_GNU_KFREEBSD
++#define KP_NLWP(kp) (kp.ki_numthreads)
++#elif GTEST_OS_NETBSD
++#define KP_NLWP(kp) (kp.p_nlwps)
++#endif
++
++// Returns the number of threads running in the process, or 0 to indicate that
++// we cannot detect it.
++size_t GetThreadCount() {
++  int mib[] = {
++    CTL_KERN,
++    KERN_PROC,
++    KERN_PROC_PID,
++    getpid(),
++#if GTEST_OS_NETBSD
++    sizeof(struct kinfo_proc),
++    1,
++#endif
++  };
++  u_int miblen = sizeof(mib) / sizeof(mib[0]);
++  struct kinfo_proc info;
++  size_t size = sizeof(info);
++  if (sysctl(mib, miblen, &info, &size, NULL, 0)) {
++    return 0;
++  }
++  return KP_NLWP(info);
++}
++#elif GTEST_OS_OPENBSD
++
++// Returns the number of threads running in the process, or 0 to indicate that
++// we cannot detect it.
++size_t GetThreadCount() {
++  int mib[] = {
++    CTL_KERN,
++    KERN_PROC,
++    KERN_PROC_PID | KERN_PROC_SHOW_THREADS,
++    getpid(),
++    sizeof(struct kinfo_proc),
++    0,
++  };
++  u_int miblen = sizeof(mib) / sizeof(mib[0]);
++
++  // get number of structs
++  size_t size;
++  if (sysctl(mib, miblen, NULL, &size, NULL, 0)) {
++    return 0;
++  }
++  mib[5] = size / mib[4];
++
++  // populate array of structs
++  struct kinfo_proc info[mib[5]];
++  if (sysctl(mib, miblen, &info, &size, NULL, 0)) {
++    return 0;
++  }
++
++  // exclude empty members
++  int nthreads = 0;
++  for (int i = 0; i < size / mib[4]; i++) {
++    if (info[i].p_tid != -1)
++      nthreads++;
++  }
++  return nthreads;
++}
+ #elif GTEST_OS_QNX
+ 
+ // Returns the number of threads running in the process, or 0 to indicate that
+Index: src/gtest.cc
+===================================================================
+--- src/gtest.cc	(revision 692)
++++ src/gtest.cc	(working copy)
+@@ -126,7 +126,7 @@
+ #endif
+ 
+ #if GTEST_CAN_STREAM_RESULTS_
+-# include <arpa/inet.h>  // NOLINT
++# include <sys/socket.h>
+ # include <netdb.h>  // NOLINT
+ #endif
+ 
+Index: test/gtest-port_test.cc
+===================================================================
+--- test/gtest-port_test.cc	(revision 692)
++++ test/gtest-port_test.cc	(working copy)
+@@ -304,7 +304,8 @@ TEST(FormatCompilerIndependentFileLocationTest, Fo
+   EXPECT_EQ("unknown file", FormatCompilerIndependentFileLocation(NULL, -1));
+ }
+ 
+-#if GTEST_OS_MAC || GTEST_OS_QNX
++#if GTEST_OS_MAC || GTEST_OS_QNX || GTEST_OS_DRAGONFLY || GTEST_OS_FREEBSD || \
++    GTEST_OS_GNU_KFREEBSD || GTEST_OS_NETBSD || GTEST_OS_OPENBSD
+ void* ThreadFunc(void* data) {
+   pthread_mutex_t* mutex = static_cast<pthread_mutex_t*>(data);
+   pthread_mutex_lock(mutex);
+@@ -355,7 +356,7 @@ TEST(GetThreadCountTest, ReturnsCorrectValue) {
+ TEST(GetThreadCountTest, ReturnsZeroWhenUnableToCountThreads) {
+   EXPECT_EQ(0U, GetThreadCount());
+ }
+-#endif  // GTEST_OS_MAC || GTEST_OS_QNX
++#endif  // GTEST_OS_MAC || GTEST_OS_QNX || GTEST_OS_*BSD
+ 
+ TEST(GtestCheckDeathTest, DiesWithCorrectOutputOnFailure) {
+   const bool a_false_condition = false;
+Index: test/gtest_unittest.cc
+===================================================================
+--- test/gtest_unittest.cc	(revision 692)
++++ test/gtest_unittest.cc	(working copy)
+@@ -117,6 +117,7 @@ TEST_F(StreamingListenerTest, OnTestIterationEnd)
+   EXPECT_EQ("event=TestIterationEnd&passed=1&elapsed_time=0ms\n", *output());
+ }
+ 
++#if GTEST_LANG_CXX11 // workaround breakage with GCC 4.2
+ TEST_F(StreamingListenerTest, OnTestCaseStart) {
+   *output() = "";
+   streamer_.OnTestCaseStart(TestCase("FooTest", "Bar", NULL, NULL));
+@@ -128,6 +129,7 @@ TEST_F(StreamingListenerTest, OnTestCaseEnd) {
+   streamer_.OnTestCaseEnd(TestCase("FooTest", "Bar", NULL, NULL));
+   EXPECT_EQ("event=TestCaseEnd&passed=1&elapsed_time=0ms\n", *output());
+ }
++#endif
+ 
+ TEST_F(StreamingListenerTest, OnTestStart) {
+   *output() = "";

Modified: head/devel/googletest/pkg-plist
==============================================================================
--- head/devel/googletest/pkg-plist	Tue Nov 25 17:24:03 2014	(r373420)
+++ head/devel/googletest/pkg-plist	Tue Nov 25 17:38:09 2014	(r373421)
@@ -2,6 +2,7 @@ bin/gtest-config
 include/gtest/gtest-death-test.h
 include/gtest/gtest-message.h
 include/gtest/gtest-param-test.h
+include/gtest/gtest-printers.h
 include/gtest/gtest-spi.h
 include/gtest/gtest-test-part.h
 include/gtest/gtest-typed-test.h



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201411251738.sAPHcA7g082657>