aboutsummaryrefslogtreecommitdiff
path: root/www/chromium
diff options
context:
space:
mode:
authorCarlos J. Puga Medina <cpm@FreeBSD.org>2018-09-01 13:23:08 +0000
committerCarlos J. Puga Medina <cpm@FreeBSD.org>2018-09-01 13:23:08 +0000
commit2299656dc85e8913973644394da364c6e688b2d3 (patch)
tree7f15dd99507cc3168eefed0ad1b121026e8925dd /www/chromium
parent77277fb2c0a412155617cbcf784ab458629fffd3 (diff)
downloadports-2299656dc85e8913973644394da364c6e688b2d3.tar.gz
ports-2299656dc85e8913973644394da364c6e688b2d3.zip
- 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
Notes
Notes: svn path=/head/; revision=478691
Diffstat (limited to 'www/chromium')
-rw-r--r--www/chromium/Makefile16
-rw-r--r--www/chromium/Makefile.tests9
-rw-r--r--www/chromium/files/patch-base_allocator_partition_allocator_partition_alloc_unittest.cc11
-rw-r--r--www/chromium/files/patch-base_files_file__path__watcher__unittest.cc11
-rw-r--r--www/chromium/files/patch-base_native__library__unittest.cc11
-rw-r--r--www/chromium/files/patch-base_task_scheduler_scheduler_single_thread_task_runner_manager_unittest.cc12
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc_base_physicalsocketserver.cc23
-rw-r--r--www/chromium/files/patch-third_party_googletest_src_googletest_include_gtest_internal_gtest-port.h11
-rw-r--r--www/chromium/files/patch-third_party_googletest_src_googletest_src_gtest-port.cc43
-rw-r--r--www/chromium/files/patch-third_party_googletest_src_googletest_src_gtest.cc10
-rw-r--r--www/chromium/files/patch-third_party_googletest_src_googletest_test_gtest-port_test.cc12
11 files changed, 155 insertions, 14 deletions
diff --git a/www/chromium/Makefile b/www/chromium/Makefile
index e248d37833cc..3a8945465b8a 100644
--- a/www/chromium/Makefile
+++ b/www/chromium/Makefile
@@ -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
diff --git a/www/chromium/Makefile.tests b/www/chromium/Makefile.tests
new file mode 100644
index 000000000000..0089706a0030
--- /dev/null
+++ b/www/chromium/Makefile.tests
@@ -0,0 +1,9 @@
+# $FreeBSD$
+TEST_TARGETS= base_unittests \
+ chromedriver_unittests \
+ crypto_unittests \
+ gn_unittests \
+ headless_unittests \
+ printing_unittests \
+ url_unittests
+
diff --git a/www/chromium/files/patch-base_allocator_partition_allocator_partition_alloc_unittest.cc b/www/chromium/files/patch-base_allocator_partition_allocator_partition_alloc_unittest.cc
new file mode 100644
index 000000000000..3f1f612dabad
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_partition_allocator_partition_alloc_unittest.cc
@@ -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
diff --git a/www/chromium/files/patch-base_files_file__path__watcher__unittest.cc b/www/chromium/files/patch-base_files_file__path__watcher__unittest.cc
new file mode 100644
index 000000000000..e011562c7fca
--- /dev/null
+++ b/www/chromium/files/patch-base_files_file__path__watcher__unittest.cc
@@ -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";
diff --git a/www/chromium/files/patch-base_native__library__unittest.cc b/www/chromium/files/patch-base_native__library__unittest.cc
new file mode 100644
index 000000000000..7e769d4b5b7a
--- /dev/null
+++ b/www/chromium/files/patch-base_native__library__unittest.cc
@@ -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
diff --git a/www/chromium/files/patch-base_task_scheduler_scheduler_single_thread_task_runner_manager_unittest.cc b/www/chromium/files/patch-base_task_scheduler_scheduler_single_thread_task_runner_manager_unittest.cc
new file mode 100644
index 000000000000..f697f76df2af
--- /dev/null
+++ b/www/chromium/files/patch-base_task_scheduler_scheduler_single_thread_task_runner_manager_unittest.cc
@@ -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};
diff --git a/www/chromium/files/patch-third__party_webrtc_rtc_base_physicalsocketserver.cc b/www/chromium/files/patch-third__party_webrtc_rtc_base_physicalsocketserver.cc
index b50aeecd72de..d71fd5f1c11a 100644
--- a/www/chromium/files/patch-third__party_webrtc_rtc_base_physicalsocketserver.cc
+++ b/www/chromium/files/patch-third__party_webrtc_rtc_base_physicalsocketserver.cc
@@ -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;
diff --git a/www/chromium/files/patch-third_party_googletest_src_googletest_include_gtest_internal_gtest-port.h b/www/chromium/files/patch-third_party_googletest_src_googletest_include_gtest_internal_gtest-port.h
new file mode 100644
index 000000000000..ab9e646bd7c7
--- /dev/null
+++ b/www/chromium/files/patch-third_party_googletest_src_googletest_include_gtest_internal_gtest-port.h
@@ -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
+
diff --git a/www/chromium/files/patch-third_party_googletest_src_googletest_src_gtest-port.cc b/www/chromium/files/patch-third_party_googletest_src_googletest_src_gtest-port.cc
new file mode 100644
index 000000000000..59f0ab6f460d
--- /dev/null
+++ b/www/chromium/files/patch-third_party_googletest_src_googletest_src_gtest-port.cc
@@ -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
diff --git a/www/chromium/files/patch-third_party_googletest_src_googletest_src_gtest.cc b/www/chromium/files/patch-third_party_googletest_src_googletest_src_gtest.cc
new file mode 100644
index 000000000000..4f6266182c7b
--- /dev/null
+++ b/www/chromium/files/patch-third_party_googletest_src_googletest_src_gtest.cc
@@ -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
diff --git a/www/chromium/files/patch-third_party_googletest_src_googletest_test_gtest-port_test.cc b/www/chromium/files/patch-third_party_googletest_src_googletest_test_gtest-port_test.cc
new file mode 100644
index 000000000000..fd5f6b49b868
--- /dev/null
+++ b/www/chromium/files/patch-third_party_googletest_src_googletest_test_gtest-port_test.cc
@@ -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();