MFH: r478691

- USE_GNOME also requires USES=gnome
- Switch to USES=localbase:ldflags
- Revert Makefile.tests and include more *_unittests
- Update patch file with missing WEBRTC_BSD macro
- Apply several patches from devel/googletest (thanks to jbeich@)
- Bump PORTREVISION

Approved by:	ports-secteam (blanket)
This commit is contained in:
Carlos J. Puga Medina 2018-09-01 13:27:48 +00:00
parent 0a00a601b6
commit ab578e3de9
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/branches/2018Q3/; revision=478693
11 changed files with 155 additions and 14 deletions

View File

@ -3,7 +3,7 @@
PORTNAME= chromium
PORTVERSION= 68.0.3440.106
PORTREVISION= 2
PORTREVISION= 3
CATEGORIES?= www
MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/ \
LOCAL/cpm/chromium/:fonts
@ -69,10 +69,11 @@ ONLY_FOR_ARCHS= aarch64 amd64 i386
.endif
.if defined(GN_ONLY)
USES= compiler:c++14-lang ninja pkgconfig python:2.7,build shebangfix tar:xz
.else
USES= bison cpe desktop-file-utils jpeg ninja perl5 pkgconfig \
USES= compiler:c++14-lang localbase:ldflags ninja pkgconfig \
python:2.7,build shebangfix tar:xz
.else
USES= bison cpe desktop-file-utils gnome jpeg localbase:ldflags \
ninja perl5 pkgconfig python:2.7,build shebangfix tar:xz
.endif
MAKE_ARGS= -C out/${BUILDTYPE}
BINARY_ALIAS= python=${PYTHON_CMD}
@ -120,8 +121,8 @@ GN_ARGS+= clang_use_chrome_plugins=false \
use_system_freetype=true \
use_system_harfbuzz=true \
use_system_libjpeg=true \
extra_cxxflags="-I${LOCALBASE}/include" \
extra_ldflags="-L${LOCALBASE}/lib"
extra_cxxflags="${CXXFLAGS}" \
extra_ldflags="${LDFLAGS}"
# TODO: investigate building with these options:
# use_system_minigbm
GN_BOOTSTRAP_FLAGS= --no-clean --no-rebuild
@ -196,7 +197,8 @@ SNDIO_VARS_OFF= GN_ARGS+=use_sndio=false
.endif
TEST_ALL_TARGET= base_unittests
.include "Makefile.tests"
TEST_ALL_TARGET= ${TEST_TARGETS}
TEST_DISTFILES= ${PORTNAME}-${DISTVERSION}-testdata${EXTRACT_SUFX} \
test_fonts${EXTRACT_SUFX}:fonts

View File

@ -0,0 +1,9 @@
# $FreeBSD$
TEST_TARGETS= base_unittests \
chromedriver_unittests \
crypto_unittests \
gn_unittests \
headless_unittests \
printing_unittests \
url_unittests

View File

@ -0,0 +1,11 @@
--- base/allocator/partition_allocator/partition_alloc_unittest.cc.orig 2018-08-23 19:18:25.616099000 +0200
+++ base/allocator/partition_allocator/partition_alloc_unittest.cc 2018-08-23 19:34:45.738651000 +0200
@@ -1297,7 +1297,7 @@
// not provide a working setrlimit().
#if !defined(ARCH_CPU_64_BITS) || \
(defined(OS_POSIX) && \
- !(defined(OS_FUCHSIA) || defined(OS_MACOSX) || defined(OS_ANDROID)))
+ !(defined(OS_FUCHSIA) || defined(OS_MACOSX) || defined(OS_ANDROID) || defined(OS_BSD)))
// This is defined as a separate test class because RepeatedReturnNull
// test exhausts the process memory, and breaks any test in the same

View File

@ -0,0 +1,11 @@
--- base/files/file_path_watcher_unittest.cc.orig 2018-08-08 21:10:31.000000000 +0200
+++ base/files/file_path_watcher_unittest.cc 2018-08-29 20:20:06.152675000 +0200
@@ -435,7 +435,7 @@
VLOG(1) << "Waiting for file1 creation";
ASSERT_TRUE(WaitForEvents());
-#if !defined(OS_MACOSX)
+#if !defined(OS_MACOSX) && !defined(OS_BSD)
// Mac implementation does not detect files modified in a directory.
ASSERT_TRUE(WriteFile(file1, "content v2"));
VLOG(1) << "Waiting for file1 modification";

View File

@ -0,0 +1,11 @@
--- base/native_library_unittest.cc.orig 2018-08-23 19:08:51.430697000 +0200
+++ base/native_library_unittest.cc 2018-08-23 19:09:42.937027000 +0200
@@ -120,7 +120,7 @@
// Android dlopen() requires further investigation, as it might vary across
// versions with respect to symbol resolution scope.
// TSan and MSan error out on RTLD_DEEPBIND, https://crbug.com/705255
-#if !defined(OS_ANDROID) && !defined(THREAD_SANITIZER) && \
+#if !defined(OS_ANDROID) && !defined(OS_BSD) && !defined(THREAD_SANITIZER) && \
!defined(MEMORY_SANITIZER)
// Verifies that the |prefer_own_symbols| option satisfies its guarantee that

View File

@ -0,0 +1,12 @@
--- base/task_scheduler/scheduler_single_thread_task_runner_manager_unittest.cc.orig 2018-08-31 05:44:39.768079000 +0200
+++ base/task_scheduler/scheduler_single_thread_task_runner_manager_unittest.cc 2018-08-31 05:45:55.842704000 +0200
@@ -301,6 +301,9 @@
EXPECT_EQ(ThreadPriority::NORMAL, thread_priority_normal);
}
+#if defined(OS_BSD)
+#define ThreadNamesSet DISABLED_ThreadNamesSet
+#endif
TEST_P(TaskSchedulerSingleThreadTaskRunnerManagerCommonTest, ThreadNamesSet) {
constexpr TaskTraits foo_traits = {TaskPriority::BACKGROUND,
TaskShutdownBehavior::BLOCK_SHUTDOWN};

View File

@ -1,6 +1,6 @@
--- third_party/webrtc/rtc_base/physicalsocketserver.cc.orig 2018-02-24 16:26:17.000000000 +0100
+++ third_party/webrtc/rtc_base/physicalsocketserver.cc 2018-03-04 04:38:51.589837000 +0100
@@ -60,7 +60,7 @@
--- third_party/webrtc/rtc_base/physicalsocketserver.cc.orig 2018-08-08 21:13:16.000000000 +0200
+++ third_party/webrtc/rtc_base/physicalsocketserver.cc 2018-08-27 01:15:56.484919000 +0200
@@ -68,7 +68,7 @@
#endif // WEBRTC_POSIX
@ -9,7 +9,7 @@
int64_t GetSocketRecvTimestamp(int socket) {
struct timeval tv_ioctl;
@@ -317,7 +317,7 @@
@@ -295,7 +295,7 @@
socklen_t optlen = sizeof(*value);
int ret = ::getsockopt(s_, slevel, sopt, (SockOptArg)value, &optlen);
if (ret != -1 && opt == OPT_DONTFRAGMENT) {
@ -18,7 +18,7 @@
*value = (*value != IP_PMTUDISC_DONT) ? 1 : 0;
#endif
}
@@ -330,7 +330,7 @@
@@ -308,7 +308,7 @@
if (TranslateOption(opt, &slevel, &sopt) == -1)
return -1;
if (opt == OPT_DONTFRAGMENT) {
@ -27,7 +27,7 @@
value = (value) ? IP_PMTUDISC_DO : IP_PMTUDISC_DONT;
#endif
}
@@ -340,7 +340,7 @@
@@ -318,7 +318,7 @@
int PhysicalSocket::Send(const void* pv, size_t cb) {
int sent = DoSend(s_, reinterpret_cast<const char *>(pv),
static_cast<int>(cb),
@ -36,7 +36,16 @@
// Suppress SIGPIPE. Without this, attempting to send on a socket whose
// other end is closed will result in a SIGPIPE signal being raised to
// our process, which by default will terminate the process, which we
@@ -560,7 +560,7 @@
@@ -347,7 +347,7 @@
size_t len = addr.ToSockAddrStorage(&saddr);
int sent = DoSendTo(
s_, static_cast<const char *>(buffer), static_cast<int>(length),
-#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID)
+#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) && !defined(WEBRTC_BSD)
// Suppress SIGPIPE. See above for explanation.
MSG_NOSIGNAL,
#else
@@ -538,7 +538,7 @@
*slevel = IPPROTO_IP;
*sopt = IP_DONTFRAGMENT;
break;

View File

@ -0,0 +1,11 @@
--- third_party/googletest/src/googletest/include/gtest/internal/gtest-port.h.orig 2018-08-23 02:51:47.688298000 +0200
+++ third_party/googletest/src/googletest/include/gtest/internal/gtest-port.h 2018-08-23 02:53:09.975152000 +0200
@@ -841,7 +841,7 @@
(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_FREEBSD
# define GTEST_CAN_STREAM_RESULTS_ 1
#endif

View File

@ -0,0 +1,43 @@
--- third_party/googletest/src/googletest/src/gtest-port.cc.orig 2018-08-23 02:39:24.119551000 +0200
+++ third_party/googletest/src/googletest/src/gtest-port.cc 2018-08-23 02:46:41.990204000 +0200
@@ -52,6 +52,11 @@
# include <mach/vm_map.h>
#endif // GTEST_OS_MAC
+#if GTEST_OS_FREEBSD
+#include <sys/sysctl.h>
+#include <sys/user.h>
+#endif
+
#if GTEST_OS_QNX
# include <devctl.h>
# include <fcntl.h>
@@ -126,6 +131,28 @@
} else {
return 0;
}
+}
+
+#elif GTEST_OS_FREEBSD
+
+#define KP_NLWP(kp) (kp.ki_numthreads)
+
+// Return 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(),
+ };
+ 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_QNX

View File

@ -0,0 +1,10 @@
--- third_party/googletest/src/googletest/src/gtest.cc.orig 2018-08-23 02:47:05.784079000 +0200
+++ third_party/googletest/src/googletest/src/gtest.cc 2018-08-23 02:47:43.415365000 +0200
@@ -128,6 +128,7 @@
#if GTEST_CAN_STREAM_RESULTS_
# include <arpa/inet.h> // NOLINT
+# include <sys/socket.h> // NOLINT
# include <netdb.h> // NOLINT
# include <sys/socket.h> // NOLINT
# include <sys/types.h> // NOLINT

View File

@ -0,0 +1,12 @@
--- third_party/googletest/src/googletest/test/gtest-port_test.cc.orig 2018-08-23 02:48:03.607358000 +0200
+++ third_party/googletest/src/googletest/test/gtest-port_test.cc 2018-08-23 02:48:57.198397000 +0200
@@ -296,7 +296,8 @@
EXPECT_EQ("unknown file", FormatCompilerIndependentFileLocation(NULL, -1));
}
-#if GTEST_OS_LINUX || GTEST_OS_MAC || GTEST_OS_QNX || GTEST_OS_FUCHSIA
+#if GTEST_OS_LINUX || GTEST_OS_MAC || GTEST_OS_QNX || GTEST_OS_FUCHSIA || \
+ GTEST_OS_FREEBSD
void* ThreadFunc(void* data) {
internal::Mutex* mutex = static_cast<internal::Mutex*>(data);
mutex->Lock();