aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRene Ladan <rene@FreeBSD.org>2015-06-26 23:26:01 +0000
committerRene Ladan <rene@FreeBSD.org>2015-06-26 23:26:01 +0000
commit16b84658a16007b585d58b3ddab8939f0c141abc (patch)
tree6d317f652a117e59a2af7f201fb9b9621c22a815
parent0010c480cf849119a7a0e31f2e7c219b50a8bc79 (diff)
downloadports-16b84658a16007b585d58b3ddab8939f0c141abc.tar.gz
ports-16b84658a16007b585d58b3ddab8939f0c141abc.zip
MFH: r390673
www/chromium : update to 43.0.2357.130 * Fix some widely-reported crashes: [0,1] - settings page now displays - GMail works * Mark BROKEN on FreeBSD 8 [2] PR: 200601 [0] PR: 200646 [2] Submitted by: protocelt <protoceltt@gmail.com> [0] Submitted by: truckman [2] Obtained from: https://github.com/gliaskos/freebsd-chromium [1] (pull requests 17-20) Security: http://vuxml.freebsd.org/freebsd/d46ed7b8-1912-11e5-9fdf-00262d5ed8ee.html Approved by: ports-secteam (delphij)
Notes
Notes: svn path=/branches/2015Q2/; revision=390677
-rw-r--r--www/chromium/Makefile4
-rw-r--r--www/chromium/distinfo8
-rw-r--r--www/chromium/files/patch-base__process__process_info_linux.cc39
-rw-r--r--www/chromium/files/patch-content__browser__time_zone_monitor_linux.cc22
-rw-r--r--www/chromium/files/patch-media__video__capture__fake_video_capture_device_factory.cc11
-rw-r--r--www/chromium/files/patch-media__video__capture__file_video_capture_device_factory.cc11
-rw-r--r--www/chromium/files/patch-media__video__capture__video_capture_device.cc31
-rw-r--r--www/chromium/files/patch-media__video__capture__video_capture_device.h38
-rw-r--r--www/chromium/files/patch-media__video__capture__video_capture_device_factory.cc21
-rw-r--r--www/chromium/files/patch-third_party__webrtc__base__systeminfo.cc12
10 files changed, 187 insertions, 10 deletions
diff --git a/www/chromium/Makefile b/www/chromium/Makefile
index ce1379ffe17d..37376a19d3aa 100644
--- a/www/chromium/Makefile
+++ b/www/chromium/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= chromium
-PORTVERSION= 43.0.2357.125
+PORTVERSION= 43.0.2357.130
CATEGORIES= www
MASTER_SITES= http://commondatastorage.googleapis.com/chromium-browser-official/
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} # default, but needed to get distinfo correct if TEST is on
@@ -138,6 +138,8 @@ PULSEAUDIO_LIB_DEPENDS= libpulse.so:${PORTSDIR}/audio/pulseaudio
TEST_DISTFILES= ${PORTNAME}-${DISTVERSION}-testdata${EXTRACT_SUFX}
+BROKEN_FreeBSD_8= Does not compile, missing locale
+
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MCODECS}
diff --git a/www/chromium/distinfo b/www/chromium/distinfo
index 54107448654c..3c6afa7fbaef 100644
--- a/www/chromium/distinfo
+++ b/www/chromium/distinfo
@@ -1,4 +1,4 @@
-SHA256 (chromium-43.0.2357.125.tar.xz) = af1774d093f90f9ccfd7def3b2b3a8caa109274ac28d4bec0285e50f8a5a5405
-SIZE (chromium-43.0.2357.125.tar.xz) = 304342620
-SHA256 (chromium-43.0.2357.125-testdata.tar.xz) = ae2ee269015d5f1de514ce763e5d46014523a8823dd8ce8b9249681a2bc70d19
-SIZE (chromium-43.0.2357.125-testdata.tar.xz) = 114573352
+SHA256 (chromium-43.0.2357.130.tar.xz) = 62fb55439396a5d49ba53d4377e8d2554c14c2e8a6255f07909ccee8f248002e
+SIZE (chromium-43.0.2357.130.tar.xz) = 304344816
+SHA256 (chromium-43.0.2357.130-testdata.tar.xz) = 9c51df4007e9f025256bc75e76414835dae730f850ef281f9ae9c1ff31e01302
+SIZE (chromium-43.0.2357.130-testdata.tar.xz) = 114568060
diff --git a/www/chromium/files/patch-base__process__process_info_linux.cc b/www/chromium/files/patch-base__process__process_info_linux.cc
new file mode 100644
index 000000000000..768cbd9bc338
--- /dev/null
+++ b/www/chromium/files/patch-base__process__process_info_linux.cc
@@ -0,0 +1,39 @@
+--- base/process/process_info_linux.cc.orig 2015-06-20 15:12:38
++++ base/process/process_info_linux.cc
+@@ -10,10 +10,28 @@
+ #include "base/process/process_handle.h"
+ #include "base/time/time.h"
+
++#if defined(__FreeBSD__) || defined(__DragonFly__)
++#include <sys/types.h>
++#include <sys/sysctl.h>
++#include <sys/user.h>
++#endif
++
+ namespace base {
+
+ //static
+ const Time CurrentProcessInfo::CreationTime() {
++#if defined(__FreeBSD__) || defined(__DragonFly__)
++ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid() };
++ struct kinfo_proc proc;
++ size_t len = sizeof(struct kinfo_proc);
++ if (sysctl(mib, arraysize(mib), &proc, &len, NULL, 0) < 0)
++ return Time();
++#if defined(__DragonFly__)
++ return Time::FromTimeVal(proc.kp_start);
++#else
++ return Time::FromTimeVal(proc.ki_start);
++#endif
++#else
+ ProcessHandle pid = GetCurrentProcessHandle();
+ int64 start_ticks =
+ internal::ReadProcStatsAndGetFieldAsInt64(pid, internal::VM_STARTTIME);
+@@ -22,6 +40,7 @@
+ Time boot_time = internal::GetBootTime();
+ DCHECK(!boot_time.is_null());
+ return Time(boot_time + start_offset);
++#endif
+ }
+
+ } // namespace base
diff --git a/www/chromium/files/patch-content__browser__time_zone_monitor_linux.cc b/www/chromium/files/patch-content__browser__time_zone_monitor_linux.cc
new file mode 100644
index 000000000000..962e8a9352d7
--- /dev/null
+++ b/www/chromium/files/patch-content__browser__time_zone_monitor_linux.cc
@@ -0,0 +1,22 @@
+--- content/browser/time_zone_monitor_linux.cc.orig 2015-05-25 19:00:26 UTC
++++ content/browser/time_zone_monitor_linux.cc
+@@ -51,6 +51,9 @@
+ : base::RefCountedThreadSafe<TimeZoneMonitorLinuxImpl>(),
+ file_path_watchers_(),
+ owner_(owner) {
++ }
++
++ void StartWatching() {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ BrowserThread::PostTask(
+ BrowserThread::FILE,
+@@ -147,6 +150,9 @@
+ // changed.
+ if (!getenv("TZ")) {
+ impl_ = new TimeZoneMonitorLinuxImpl(this);
++ if (impl_.get()) {
++ impl_->StartWatching();
++ }
+ }
+ }
+
diff --git a/www/chromium/files/patch-media__video__capture__fake_video_capture_device_factory.cc b/www/chromium/files/patch-media__video__capture__fake_video_capture_device_factory.cc
new file mode 100644
index 000000000000..5b71d92ef7b0
--- /dev/null
+++ b/www/chromium/files/patch-media__video__capture__fake_video_capture_device_factory.cc
@@ -0,0 +1,11 @@
+--- media/video/capture/fake_video_capture_device_factory.cc.orig 2015-06-19 21:21:37 UTC
++++ media/video/capture/fake_video_capture_device_factory.cc
+@@ -48,7 +48,7 @@
+ for (int n = 0; n < number_of_devices_; ++n) {
+ VideoCaptureDevice::Name name(base::StringPrintf("fake_device_%d", n),
+ base::StringPrintf("/dev/video%d", n)
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ , VideoCaptureDevice::Name::V4L2_SINGLE_PLANE
+ #elif defined(OS_MACOSX)
+ , VideoCaptureDevice::Name::AVFOUNDATION
diff --git a/www/chromium/files/patch-media__video__capture__file_video_capture_device_factory.cc b/www/chromium/files/patch-media__video__capture__file_video_capture_device_factory.cc
new file mode 100644
index 000000000000..392e24002c11
--- /dev/null
+++ b/www/chromium/files/patch-media__video__capture__file_video_capture_device_factory.cc
@@ -0,0 +1,11 @@
+--- media/video/capture/file_video_capture_device_factory.cc.orig 2015-06-19 21:29:29 UTC
++++ media/video/capture/file_video_capture_device_factory.cc
+@@ -51,7 +51,7 @@
+ command_line_file_path.value(),
+ kFileVideoCaptureDeviceName,
+ VideoCaptureDevice::Name::AVFOUNDATION));
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ device_names->push_back(VideoCaptureDevice::Name(
+ command_line_file_path.value(),
+ kFileVideoCaptureDeviceName,
diff --git a/www/chromium/files/patch-media__video__capture__video_capture_device.cc b/www/chromium/files/patch-media__video__capture__video_capture_device.cc
new file mode 100644
index 000000000000..b6776420d0f0
--- /dev/null
+++ b/www/chromium/files/patch-media__video__capture__video_capture_device.cc
@@ -0,0 +1,31 @@
+--- media/video/capture/video_capture_device.cc.orig 2015-06-19 21:26:28 UTC
++++ media/video/capture/video_capture_device.cc
+@@ -9,6 +9,10 @@
+
+ namespace media {
+
++const std::string VideoCaptureDevice::Name::GetModel() const {
++ return "";
++}
++
+ const std::string VideoCaptureDevice::Name::GetNameAndModel() const {
+ const std::string model_id = GetModel();
+ if (model_id.empty())
+@@ -24,7 +28,7 @@
+ VideoCaptureDevice::Name::Name(const std::string& name, const std::string& id)
+ : device_name_(name), unique_id_(id) {}
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ VideoCaptureDevice::Name::Name(const std::string& name,
+ const std::string& id,
+ const CaptureApiType api_type)
+@@ -69,7 +73,7 @@
+
+ VideoCaptureDevice::Name::~Name() {}
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ const char* VideoCaptureDevice::Name::GetCaptureApiTypeString() const {
+ switch (capture_api_type()) {
+ case V4L2_SINGLE_PLANE:
diff --git a/www/chromium/files/patch-media__video__capture__video_capture_device.h b/www/chromium/files/patch-media__video__capture__video_capture_device.h
new file mode 100644
index 000000000000..cf1f14d1627d
--- /dev/null
+++ b/www/chromium/files/patch-media__video__capture__video_capture_device.h
@@ -0,0 +1,38 @@
+--- media/video/capture/video_capture_device.h.orig 2015-06-19 21:22:59 UTC
++++ media/video/capture/video_capture_device.h
+@@ -41,7 +41,7 @@
+ Name();
+ Name(const std::string& name, const std::string& id);
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // Linux/CrOS targets Capture Api type: it can only be set on construction.
+ enum CaptureApiType {
+ V4L2_SINGLE_PLANE,
+@@ -85,7 +85,7 @@
+ #endif
+
+ #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
+- defined(OS_ANDROID)
++ defined(OS_ANDROID) || defined(OS_BSD)
+ Name(const std::string& name, const std::string& id,
+ const CaptureApiType api_type);
+ #endif
+@@ -123,7 +123,7 @@
+ }
+
+ #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
+- defined(OS_ANDROID)
++ defined(OS_ANDROID) || defined(OS_BSD)
+ CaptureApiType capture_api_type() const {
+ return capture_api_class_.capture_api_type();
+ }
+@@ -155,7 +155,7 @@
+ std::string device_name_;
+ std::string unique_id_;
+ #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
+- defined(OS_ANDROID)
++ defined(OS_ANDROID) || defined(OS_BSD)
+ // This class wraps the CaptureApiType to give it a by default value if not
+ // initialized.
+ class CaptureApiClass {
diff --git a/www/chromium/files/patch-media__video__capture__video_capture_device_factory.cc b/www/chromium/files/patch-media__video__capture__video_capture_device_factory.cc
new file mode 100644
index 000000000000..1fa4fe2160f6
--- /dev/null
+++ b/www/chromium/files/patch-media__video__capture__video_capture_device_factory.cc
@@ -0,0 +1,21 @@
+--- media/video/capture/video_capture_device_factory.cc.orig 2015-06-19 21:33:03 UTC
++++ media/video/capture/video_capture_device_factory.cc
+@@ -14,6 +14,10 @@
+ // static
+ scoped_ptr<VideoCaptureDeviceFactory> VideoCaptureDeviceFactory::CreateFactory(
+ scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) {
++#if defined(OS_BSD)
++ return scoped_ptr<VideoCaptureDeviceFactory>(new
++ media::FakeVideoCaptureDeviceFactory());
++#else
+ const base::CommandLine* command_line =
+ base::CommandLine::ForCurrentProcess();
+ // Use a Fake or File Video Device Factory if the command line flags are
+@@ -32,6 +36,7 @@
+ return scoped_ptr<VideoCaptureDeviceFactory>(
+ CreateVideoCaptureDeviceFactory(ui_task_runner));
+ }
++#endif
+ }
+
+ VideoCaptureDeviceFactory::VideoCaptureDeviceFactory() {
diff --git a/www/chromium/files/patch-third_party__webrtc__base__systeminfo.cc b/www/chromium/files/patch-third_party__webrtc__base__systeminfo.cc
index ae09b81d3f8d..8b1846e0e277 100644
--- a/www/chromium/files/patch-third_party__webrtc__base__systeminfo.cc
+++ b/www/chromium/files/patch-third_party__webrtc__base__systeminfo.cc
@@ -1,4 +1,4 @@
---- third_party/webrtc/base/systeminfo.cc.orig 2014-10-10 09:16:13 UTC
+--- third_party/webrtc/base/systeminfo.cc.orig 2015-06-11 20:19:52 UTC
+++ third_party/webrtc/base/systeminfo.cc
@@ -19,8 +19,12 @@
#elif defined(WEBRTC_MAC) && !defined(WEBRTC_IOS)
@@ -23,19 +23,21 @@
#include "webrtc/base/linux.h"
#endif
#include "webrtc/base/common.h"
-@@ -168,6 +172,17 @@
+@@ -168,6 +172,19 @@
}
#elif defined(__native_client__)
// TODO(ryanpetrie): Implement this via PPAPI when it's available.
+#elif defined(OS_FREEBSD)
-+ void* sysctl_value;
++ int sysctl_value;
+ size_t length = sizeof(sysctl_value);
+ if (!sysctlbyname("hw.ncpu", &sysctl_value, &length, NULL, 0)) {
-+ physical_cpus_ = *static_cast<int*>(sysctl_value);
++ physical_cpus_ = sysctl_value;
+ }
++#if !defined(__DragonFly__)
+ if (!sysctlbyname("kern.smp.cpus", &sysctl_value, &length, NULL, 0)) {
-+ logical_cpus_ = *static_cast<int*>(sysctl_value);
++ logical_cpus_ = sysctl_value;
+ }
++#endif
+ // L3 / L2 cache size?
+ // CPU family/model/stepping (available in dmesg, kernel only TODO)
#else // WEBRTC_LINUX