This patch adds a FreeBSD Wi-Fi geolocation provider to enable precise position look-up using Google Location Services. The absence of this forces chromium to do position look-up using IP addresses which is often inaccurate for IPv4 and extremely inaccurate for IPv6. The existing chromium code already has Wi-Fi geolocation providers for Windows, Mac and Linux. This patch was discused and given a week of CFT time here: http://lists.freebsd.org/pipermail/freebsd-chromium/2012-December/000599.html How-To-Repeat: n/a
Responsible Changed From-To: freebsd-ports-bugs->freebsd-chromium Over to maintainer (via the GNATS Auto Assign Tool)
State Changed From-To: open->patched Patch applied and tested in version 24 which sould be released soon.
Author: rene Date: Fri Jan 11 01:14:52 2013 New Revision: 310215 URL: http://svnweb.freebsd.org/changeset/ports/310215 Log: Update to 24.0.1312.52, which add support for MathML. FreeBSD-specific improvements: - working WiFi geolocation [1] (can be turned off in preferences) - fix build with clang (use external libvpx) - use SysV SHM model and where possible OS_BSD, which saves some patches - no need to use ZygoteProcess switch HTML5 audio is currently broken. PR: ports/174402 [1] Submitted by: J.R. Oldroyd <fbsd@opal.com> [1] Security: http://www.vuxml.org/freebsd/46bd747b-5b84-11e2-b06d-00262d5ed8ee.html Added: head/www/chromium/files/patch-chrome__app__chrome_main_delegate.cc (contents, props changed) head/www/chromium/files/patch-content__browser__geolocation__empty_device_data_provider.cc (contents, props changed) head/www/chromium/files/patch-content__browser__geolocation__wifi_data_provider_freebsd.cc (contents, props changed) head/www/chromium/files/patch-content__browser__geolocation__wifi_data_provider_freebsd.h (contents, props changed) head/www/chromium/files/patch-content__content_tests.gypi (contents, props changed) head/www/chromium/files/patch-content__public__test__browser_test_base.cc (contents, props changed) head/www/chromium/files/patch-media__audio__audio_input_volume_unittest.cc (contents, props changed) head/www/chromium/files/patch-media__audio__audio_low_latency_input_output_unittest.cc (contents, props changed) head/www/chromium/files/patch-third_party__WebKit__Source__ThirdParty__gyp__test__additional-targets__src__dir1__actions.gyp (contents, props changed) head/www/chromium/files/patch-third_party__WebKit__Source__ThirdParty__gyp__test__library__src__library.gyp (contents, props changed) Deleted: head/www/chromium/files/patch-chrome__browser__shell_integration_linux.cc head/www/chromium/files/patch-content__browser__renderer_host__backing_store_gtk.cc head/www/chromium/files/patch-content__browser__renderer_host__render_message_filter.cc head/www/chromium/files/patch-content__browser__renderer_host__render_process_host_impl.cc head/www/chromium/files/patch-content__browser__renderer_host__render_widget_helper.cc head/www/chromium/files/patch-content__browser__renderer_host__render_widget_helper.h head/www/chromium/files/patch-content__common__plugin_messages.h head/www/chromium/files/patch-content__common__view_messages.h head/www/chromium/files/patch-content__public__common__common_param_traits.h head/www/chromium/files/patch-content__public__test__mock_render_process_host.cc head/www/chromium/files/patch-content__renderer__pepper__pepper_platform_image_2d_impl.cc head/www/chromium/files/patch-content__renderer__render_view_impl.cc head/www/chromium/files/patch-content__renderer__render_view_impl.h head/www/chromium/files/patch-content__renderer__render_widget.cc head/www/chromium/files/patch-content__renderer__webplugin_delegate_proxy.cc head/www/chromium/files/patch-content__renderer__webplugin_delegate_proxy.h head/www/chromium/files/patch-ppapi__proxy__ppb_image_data_proxy.cc head/www/chromium/files/patch-ppapi__proxy__serialized_structs.h head/www/chromium/files/patch-third_party__protobuf__src__google__protobuf__compiler__main.cc head/www/chromium/files/patch-tools__gyp__test__additional-targets__src__dir1__actions.gyp head/www/chromium/files/patch-tools__gyp__test__library__src__library.gyp head/www/chromium/files/patch-ui__base__x__x11_util.cc head/www/chromium/files/patch-ui__surface__surface.gyp head/www/chromium/files/patch-ui__surface__transport_dib.h head/www/chromium/files/patch-ui__surface__transport_dib_freebsd.cc Modified: head/www/chromium/Makefile head/www/chromium/distinfo head/www/chromium/files/patch-base__sys_info_freebsd.cc head/www/chromium/files/patch-chrome__browser__ui__webui__chrome_web_ui_controller_factory.cc (contents, props changed) head/www/chromium/files/patch-chrome__chrome_browser.gypi head/www/chromium/files/patch-content__app__content_main_runner.cc head/www/chromium/files/patch-content__browser__child_process_launcher.cc head/www/chromium/files/patch-content__browser__geolocation__location_provider.cc (contents, props changed) head/www/chromium/files/patch-content__content_browser.gypi head/www/chromium/files/patch-content__content_common.gypi head/www/chromium/files/patch-content__content_gpu.gypi head/www/chromium/files/patch-content__plugin__plugin_main_linux.cc (contents, props changed) head/www/chromium/files/patch-content__renderer__render_process_impl.cc (contents, props changed) head/www/chromium/files/patch-content__renderer__renderer_main_platform_delegate_linux.cc head/www/chromium/files/patch-media__media.gyp (contents, props changed) head/www/chromium/files/patch-tools__gyp__pylib__gyp__generator__make.py head/www/chromium/files/patch-ui__base__l10n__l10n_util.cc (contents, props changed) head/www/chromium/pkg-plist Modified: head/www/chromium/Makefile ============================================================================== --- head/www/chromium/Makefile Fri Jan 11 00:56:23 2013 (r310214) +++ head/www/chromium/Makefile Fri Jan 11 01:14:52 2013 (r310215) @@ -3,12 +3,11 @@ PORTNAME= chromium DISTVERSIONPREFIX= courgette-redacted- -DISTVERSION= 23.0.1271.97 +DISTVERSION= 24.0.1312.52 CATEGORIES= www MASTER_SITES= http://download.goodking.org/downloads/ \ ftp://rene-ladan.nl/pub/distfiles/ \ - http://files.etoilebsd.net/goodking/ \ - http://distfiles.cybertron.gr/ + http://files.etoilebsd.net/goodking/ MAINTAINER= chromium@FreeBSD.org COMMENT= A mostly BSD-licensed web browser based on WebKit and Gtk+ @@ -34,6 +33,7 @@ LIB_DEPENDS= execinfo:${PORTSDIR}/devel/ gnome-keyring:${PORTSDIR}/security/libgnome-keyring \ cups:${PORTSDIR}/print/cups-client \ event-1:${PORTSDIR}/devel/libevent \ + vpx:${PORTSDIR}/multimedia/libvpx \ gcrypt:${PORTSDIR}/security/libgcrypt RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:${PORTSDIR}/audio/alsa-plugins \ @@ -62,6 +62,7 @@ GYP_DEFINES+= use_cups=1 \ use_system_ffmpeg=0 \ use_system_libusb=1 \ use_system_libevent=1 \ + use_system_libvpx=1 \ linux_strip_binary=1 \ linux_use_tcmalloc=0 \ linux_use_heapchecker=0 \ @@ -70,6 +71,7 @@ GYP_DEFINES+= use_cups=1 \ enable_webrtc=0 \ enable_openmax=1 \ enable_one_click_signin=1 \ + no_gc_sections=1 \ os_ver=${OSVERSION} \ prefix_dir=${LOCALBASE} \ python_ver=${PYTHON_VER} @@ -140,7 +142,6 @@ BUILDTYPE= Release MAKE_ENV+= BUILDTYPE=${BUILDTYPE} \ GPERF=${LOCALBASE}/bin/gperf -CONFIGURE_ENV+= LD=${CC} MAKE_JOBS_SAFE= yes .include <bsd.port.pre.mk> @@ -188,4 +189,10 @@ do-install: ${COPYTREE_SHARE} "locales resources" ${DATADIR} ${LN} -sf ${DATADIR}/chrome ${PREFIX}/bin +post-install: + @${ECHO_MSG} "========================================================" + @${ECHO_MSG} "For best performance please enable shared memory support" + @${ECHO_MSG} "in chromium by setting kern.ipc.shm_allow_removed=1" + @${ECHO_MSG} "========================================================" + .include <bsd.port.post.mk> Modified: head/www/chromium/distinfo ============================================================================== --- head/www/chromium/distinfo Fri Jan 11 00:56:23 2013 (r310214) +++ head/www/chromium/distinfo Fri Jan 11 01:14:52 2013 (r310215) @@ -1,2 +1,2 @@ -SHA256 (chromium-courgette-redacted-23.0.1271.97.tar.xz) = a41a9511bc7f3f4d8336a3bd3c8b309c7ebad6bff2e02fce081bb194349c6a36 -SIZE (chromium-courgette-redacted-23.0.1271.97.tar.xz) = 179510640 +SHA256 (chromium-courgette-redacted-24.0.1312.52.tar.xz) = bdb6b9aa205a16cf0daf941220b8bf7cebf6f1ad7339958403bbc98a5c9a53d3 +SIZE (chromium-courgette-redacted-24.0.1312.52.tar.xz) = 150640564 Modified: head/www/chromium/files/patch-base__sys_info_freebsd.cc ============================================================================== --- head/www/chromium/files/patch-base__sys_info_freebsd.cc Fri Jan 11 00:56:23 2013 (r310214) +++ head/www/chromium/files/patch-base__sys_info_freebsd.cc Fri Jan 11 01:14:52 2013 (r310215) @@ -1,6 +1,26 @@ ---- base/sys_info_freebsd.cc.orig 2012-10-31 21:02:04.000000000 +0200 -+++ base/sys_info_freebsd.cc 2012-11-07 17:49:20.000000000 +0200 -@@ -33,4 +33,25 @@ +--- base/sys_info_freebsd.cc.orig 2012-11-27 10:01:52.000000000 +0200 ++++ base/sys_info_freebsd.cc 2012-12-09 18:04:30.000000000 +0200 +@@ -23,6 +23,19 @@ + } + + // static ++int64 SysInfo::AmountOfAvailablePhysicalMemory() { ++ int available_pages, page_size; ++ size_t size = sizeof(available_pages); ++ sysctlbyname("vm.stats.vm.v_free_count", &available_pages, &size, NULL, 0); ++ sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0); ++ if (available_pages == -1 || page_size == -1) { ++ NOTREACHED(); ++ return 0; ++ } ++ return static_cast<int64>(available_pages) * page_size; ++} ++ ++// static + size_t SysInfo::MaxSharedMemorySize() { + size_t limit; + size_t size = sizeof(limit); +@@ -33,4 +46,25 @@ return limit; } Added: head/www/chromium/files/patch-chrome__app__chrome_main_delegate.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/chromium/files/patch-chrome__app__chrome_main_delegate.cc Fri Jan 11 01:14:52 2013 (r310215) @@ -0,0 +1,11 @@ +--- chrome/app/chrome_main_delegate.cc.orig 2012-12-04 23:34:32.000000000 +0200 ++++ chrome/app/chrome_main_delegate.cc 2012-12-04 23:35:37.000000000 +0200 +@@ -264,7 +264,7 @@ + // Mac needs them for the plugin process name. + process_type == switches::kPluginProcess || + #endif +-#if defined(OS_POSIX) && !defined(OS_MACOSX) ++#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD) + // The zygote process opens the resources for the renderers. + process_type == switches::kZygoteProcess || + #endif Modified: head/www/chromium/files/patch-chrome__browser__ui__webui__chrome_web_ui_controller_factory.cc ============================================================================== --- head/www/chromium/files/patch-chrome__browser__ui__webui__chrome_web_ui_controller_factory.cc Fri Jan 11 00:56:23 2013 (r310214) +++ head/www/chromium/files/patch-chrome__browser__ui__webui__chrome_web_ui_controller_factory.cc Fri Jan 11 01:14:52 2013 (r310215) @@ -1,9 +1,9 @@ ---- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2012-05-30 10:01:56.000000000 +0300 -+++ chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc 2012-06-05 21:58:25.000000000 +0300 -@@ -320,7 +320,7 @@ +--- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2012-11-27 10:02:11.000000000 +0200 ++++ chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc 2012-11-28 21:02:24.000000000 +0200 +@@ -366,7 +366,7 @@ + url.host() == chrome::kChromeUIMemoryRedirectHost || url.host() == chrome::kChromeUIStatsHost || - url.host() == chrome::kChromeUITermsHost || - url.host() == chrome::kChromeUIVersionHost + url.host() == chrome::kChromeUITermsHost -#if defined(OS_LINUX) || defined(OS_OPENBSD) +#if defined(OS_LINUX) || defined(OS_BSD) || url.host() == chrome::kChromeUILinuxProxyConfigHost Modified: head/www/chromium/files/patch-chrome__chrome_browser.gypi ============================================================================== --- head/www/chromium/files/patch-chrome__chrome_browser.gypi Fri Jan 11 00:56:23 2013 (r310214) +++ head/www/chromium/files/patch-chrome__chrome_browser.gypi Fri Jan 11 01:14:52 2013 (r310215) @@ -1,15 +1,19 @@ ---- chrome/chrome_browser.gypi.orig 2012-10-31 21:02:48.000000000 +0200 -+++ chrome/chrome_browser.gypi 2012-11-07 16:06:11.000000000 +0200 -@@ -2531,6 +2531,14 @@ +--- chrome/chrome_browser.gypi.orig 2012-11-27 10:02:39.000000000 +0200 ++++ chrome/chrome_browser.gypi 2012-11-29 22:30:15.798669580 +0200 +@@ -2633,6 +2633,18 @@ ['exclude', '^browser/usb/'], ], }], + ['os_bsd==1', { + 'sources!': [ -+ 'browser/media_gallery/media_device_notifications_linux.cc', -+ 'browser/media_gallery/media_device_notifications_linux.h', ++ 'browser/chrome_browser_main_linux.cc', ++ 'browser/chrome_browser_main_linux.h', ++ 'browser/media_gallery/mtp_device_delegate_impl_linux.cc', ++ 'browser/media_gallery/mtp_device_delegate_impl_linux.h', ++ 'browser/system_monitor/media_transfer_protocol_device_observer_linux.cc', ++ 'browser/system_monitor/media_transfer_protocol_device_observer_linux.h', + 'browser/system_monitor/removable_device_notifications_linux.cc', -+ 'browser/system_monitor/removable_device_notifications_linux.h' ++ 'browser/system_monitor/removable_device_notifications_linux.h', + ], + }], ['OS=="mac"', { Modified: head/www/chromium/files/patch-content__app__content_main_runner.cc ============================================================================== --- head/www/chromium/files/patch-content__app__content_main_runner.cc Fri Jan 11 00:56:23 2013 (r310214) +++ head/www/chromium/files/patch-content__app__content_main_runner.cc Fri Jan 11 01:14:52 2013 (r310215) @@ -1,15 +1,15 @@ ---- content/app/content_main_runner.cc.orig 2012-10-31 21:01:34.000000000 +0200 -+++ content/app/content_main_runner.cc 2012-11-07 17:25:10.000000000 +0200 -@@ -91,7 +91,7 @@ +--- content/app/content_main_runner.cc.orig 2012-11-27 10:01:23.000000000 +0200 ++++ content/app/content_main_runner.cc 2012-12-09 16:57:51.000000000 +0200 +@@ -99,7 +99,7 @@ extern int RendererMain(const content::MainFunctionParams&); - extern int WorkerMain(const content::MainFunctionParams&); - extern int UtilityMain(const content::MainFunctionParams&); + extern int UtilityMain(const MainFunctionParams&); + extern int WorkerMain(const MainFunctionParams&); -#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) +#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD) - namespace content { extern int ZygoteMain(const MainFunctionParams&, ZygoteForkDelegate* forkdelegate); -@@ -333,7 +333,7 @@ + #endif +@@ -344,7 +344,7 @@ int (*function)(const MainFunctionParams&); }; @@ -18,7 +18,7 @@ // On platforms that use the zygote, we have a special subset of // subprocesses that are launched via the zygote. This function // fills in some process-launching bits around ZygoteMain(). -@@ -438,7 +438,7 @@ +@@ -449,7 +449,7 @@ } } @@ -27,12 +27,3 @@ // Zygote startup is special -- see RunZygote comments above // for why we don't use ZygoteMain directly. if (process_type == switches::kZygoteProcess) -@@ -548,7 +548,7 @@ - kPrimaryIPCChannel + base::GlobalDescriptors::kBaseDescriptor); - #endif // !OS_ANDROID && !OS_IOS - --#if defined(OS_LINUX) || defined(OS_OPENBSD) -+#if defined(OS_LINUX) || defined(OS_BSD) - g_fds->Set(kCrashDumpSignal, - kCrashDumpSignal + base::GlobalDescriptors::kBaseDescriptor); - #endif Modified: head/www/chromium/files/patch-content__browser__child_process_launcher.cc ============================================================================== --- head/www/chromium/files/patch-content__browser__child_process_launcher.cc Fri Jan 11 00:56:23 2013 (r310214) +++ head/www/chromium/files/patch-content__browser__child_process_launcher.cc Fri Jan 11 01:14:52 2013 (r310215) @@ -1,25 +1,25 @@ ---- content/browser/child_process_launcher.cc.orig 2012-10-31 21:01:35.000000000 +0200 -+++ content/browser/child_process_launcher.cc 2012-11-19 22:35:00.000000000 +0200 -@@ -52,7 +52,7 @@ +--- content/browser/child_process_launcher.cc.orig 2012-11-27 10:01:25.000000000 +0200 ++++ content/browser/child_process_launcher.cc 2012-12-09 17:02:22.000000000 +0200 +@@ -53,7 +53,7 @@ termination_status_(base::TERMINATION_STATUS_NORMAL_TERMINATION), - exit_code_(content::RESULT_CODE_NORMAL_EXIT), + exit_code_(RESULT_CODE_NORMAL_EXIT), starting_(true) -#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) +#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD) , zygote_(false) #endif { -@@ -188,7 +188,7 @@ - base::GlobalDescriptors::Mapping files_to_register; - files_to_register.push_back(std::pair<base::GlobalDescriptors::Key, int>( - kPrimaryIPCChannel, ipcfd)); +@@ -196,7 +196,7 @@ + FileDescriptorInfo(kPrimaryIPCChannel, + base::FileDescriptor(ipcfd, false))); + -#if !defined(OS_MACOSX) +#if !defined(OS_MACOSX) && !defined(OS_BSD) - content::GetContentClient()->browser()-> - GetAdditionalMappedFilesForChildProcess(*cmd_line, &files_to_register); - if (use_zygote) { -@@ -209,7 +209,7 @@ - id_file.first + base::GlobalDescriptors::kBaseDescriptor)); + GetContentClient()->browser()-> + GetAdditionalMappedFilesForChildProcess(*cmd_line, child_process_id, + &files_to_register); +@@ -217,7 +217,7 @@ + base::GlobalDescriptors::kBaseDescriptor)); } -#if !defined(OS_MACOSX) @@ -27,7 +27,7 @@ if (process_type == switches::kRendererProcess) { const int sandbox_fd = RenderSandboxHostLinux::GetInstance()->GetRendererSocket(); -@@ -261,7 +261,7 @@ +@@ -269,7 +269,7 @@ base::Bind( &Context::Notify, this_object.get(), @@ -36,7 +36,7 @@ use_zygote, #endif handle)); -@@ -269,7 +269,7 @@ +@@ -277,7 +277,7 @@ } void Notify( @@ -45,7 +45,7 @@ bool zygote, #endif base::ProcessHandle handle) { -@@ -282,7 +282,7 @@ +@@ -290,7 +290,7 @@ if (!handle) LOG(ERROR) << "Failed to launch child process"; @@ -54,7 +54,7 @@ zygote_ = zygote; #endif if (client_) { -@@ -305,7 +305,7 @@ +@@ -313,7 +313,7 @@ BrowserThread::PROCESS_LAUNCHER, FROM_HERE, base::Bind( &Context::TerminateInternal, @@ -63,7 +63,7 @@ zygote_, #endif process_.handle())); -@@ -319,7 +319,7 @@ +@@ -327,7 +327,7 @@ } static void TerminateInternal( @@ -72,8 +72,8 @@ bool zygote, #endif base::ProcessHandle handle) { -@@ -333,7 +333,7 @@ - process.Terminate(content::RESULT_CODE_NORMAL_EXIT); +@@ -341,7 +341,7 @@ + process.Terminate(RESULT_CODE_NORMAL_EXIT); // On POSIX, we must additionally reap the child. #if defined(OS_POSIX) -#if !defined(OS_MACOSX) @@ -81,7 +81,7 @@ if (zygote) { // If the renderer was created via a zygote, we have to proxy the reaping // through the zygote process. -@@ -360,7 +360,7 @@ +@@ -368,7 +368,7 @@ #if defined(OS_ANDROID) // The fd to close after creating the process. int ipcfd_; @@ -90,7 +90,7 @@ bool zygote_; #endif }; -@@ -413,7 +413,7 @@ +@@ -423,7 +423,7 @@ *exit_code = context_->exit_code_; return context_->termination_status_; } Added: head/www/chromium/files/patch-content__browser__geolocation__empty_device_data_provider.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/chromium/files/patch-content__browser__geolocation__empty_device_data_provider.cc Fri Jan 11 01:14:52 2013 (r310215) @@ -0,0 +1,11 @@ +--- content/browser/geolocation/empty_device_data_provider.cc.orig 2012-11-27 21:01:24.000000000 -0500 ++++ content/browser/geolocation/empty_device_data_provider.cc 2012-12-06 15:40:02.698863304 -0500 +@@ -5,7 +5,7 @@ + #include "content/browser/geolocation/empty_device_data_provider.h" + + // Only define for platforms that lack a real wifi data provider. +-#if !defined(OS_WIN) && !defined(OS_MACOSX) && !defined(OS_LINUX) ++#if !defined(OS_WIN) && !defined(OS_MACOSX) && !defined(OS_LINUX) && !defined(OS_FREEBSD) + // static + template<> + WifiDataProviderImplBase* WifiDataProvider::DefaultFactoryFunction() { Modified: head/www/chromium/files/patch-content__browser__geolocation__location_provider.cc ============================================================================== --- head/www/chromium/files/patch-content__browser__geolocation__location_provider.cc Fri Jan 11 00:56:23 2013 (r310214) +++ head/www/chromium/files/patch-content__browser__geolocation__location_provider.cc Fri Jan 11 01:14:52 2013 (r310215) @@ -5,7 +5,7 @@ } -#if !defined(OS_LINUX) && !defined(OS_MACOSX) && !defined(OS_WIN) && !defined OS_ANDROID -+#if !defined(OS_LINUX) && !defined(OS_MACOSX) && !defined(OS_WIN) && !defined OS_ANDROID && !defined(OS_FREEBSD) ++#if !defined(OS_LINUX) && !defined(OS_MACOSX) && !defined(OS_WIN) && !defined(OS_ANDROID) && !defined(OS_FREEBSD) LocationProviderBase* NewSystemLocationProvider() { return NULL; } Added: head/www/chromium/files/patch-content__browser__geolocation__wifi_data_provider_freebsd.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/chromium/files/patch-content__browser__geolocation__wifi_data_provider_freebsd.cc Fri Jan 11 01:14:52 2013 (r310215) @@ -0,0 +1,204 @@ +--- content/browser/geolocation/wifi_data_provider_freebsd.cc.orig 2012-12-27 23:17:38.000000000 +0100 ++++ content/browser/geolocation/wifi_data_provider_freebsd.cc 2012-12-28 12:28:16.000000000 +0100 +@@ -0,0 +1,201 @@ ++// Copyright (c) 2010 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++// For FreeBSD we use the getifaddrs(3) to obtain the list of interfaces ++// and then check for those with an 802.11 media type and able to return ++// a list of stations. This is similar to ifconfig(8). ++ ++#include "content/browser/geolocation/wifi_data_provider_freebsd.h" ++ ++#include <stdio.h> ++#include <stdlib.h> ++#include <string.h> ++#include <sys/types.h> ++#include <sys/socket.h> ++#include <sys/sockio.h> ++#include <net/if.h> ++#include <net/if_media.h> ++#include <ifaddrs.h> ++#include <net80211/ieee80211_ioctl.h> ++#include <net/ethernet.h> ++ ++#include "base/utf_string_conversions.h" ++#include "content/browser/geolocation/wifi_data_provider_common.h" ++ ++namespace content { ++namespace { ++// The time periods, in milliseconds, between successive polls of the wifi data. ++const int kDefaultPollingInterval = 120000; // 2 mins ++const int kNoChangePollingInterval = 300000; // 5 mins ++const int kTwoNoChangePollingInterval = 600000; // 10 mins ++const int kNoWifiPollingIntervalMilliseconds = 20 * 1000; // 20s ++ ++// Convert a wifi frequency to the corresponding channel. ++// Taken from wifi_data_provider_linux.cc where it says this was ++// adapted from geolocaiton/wifilib.cc in googleclient (internal to google). ++int frquency_to_channel(int frequency_Mhz) { ++ if (frequency_Mhz >= 2412 && frequency_Mhz <= 2472) // Channels 1-13. ++ return (frequency_Mhz - 2407) / 5; ++ if (frequency_Mhz == 2484) ++ return 14; ++ if (frequency_Mhz > 5000 && frequency_Mhz < 6000) // .11a bands. ++ return (frequency_Mhz - 5000) / 5; ++ // Ignore everything else. ++ return AccessPointData().channel; // invalid channel ++} ++ ++// Provides the wifi API binding for FreeBSD. ++class FreeBSDAccessPointData : public WifiDataProviderCommon::WlanApiInterface { ++public: ++ FreeBSDAccessPointData(); ++ ~FreeBSDAccessPointData(); ++ ++ // this does nothing ++ bool Init(); ++ ++ // get the AP data ++ virtual bool GetAccessPointData(WifiData::AccessPointDataSet* data); ++ ++private: ++ DISALLOW_COPY_AND_ASSIGN(FreeBSDAccessPointData); ++}; ++ ++FreeBSDAccessPointData::FreeBSDAccessPointData() { ++} ++ ++FreeBSDAccessPointData::~FreeBSDAccessPointData() { ++} ++ ++bool FreeBSDAccessPointData::Init() { ++ return true; ++} ++ ++bool FreeBSDAccessPointData::GetAccessPointData(WifiData::AccessPointDataSet* data) { ++ bool res; ++ char *dupn; ++ struct ifaddrs *ifal, *ifa; ++ struct ifreq ifr; ++ struct ifmediareq ifmr; ++ struct ieee80211req i802r; ++ int s; ++ char iscanbuf[32*1024], *vsr; ++ unsigned len; ++ AccessPointData apd; ++ ++ res = false; ++ if (getifaddrs(&ifal) < 0) ++ return res; ++ ++ dupn = NULL; ++ for (ifa = ifal; ifa; ifa = ifa->ifa_next) { ++ memset(&ifr, 0, sizeof(ifr)); ++ ++ if (dupn != NULL && strcmp(dupn, ifa->ifa_name) == 0) ++ continue; ++ dupn = ifa->ifa_name; ++ ++ strncpy(ifr.ifr_name, ifa->ifa_name, sizeof(ifr.ifr_name)); ++ ifr.ifr_addr.sa_family = AF_LOCAL; ++ ++ if ((s = socket(ifr.ifr_addr.sa_family, SOCK_DGRAM, 0)) < 0) ++ continue; ++ ++ (void) memset(&ifmr, 0, sizeof(ifmr)); ++ (void) strncpy(ifmr.ifm_name, ifa->ifa_name, sizeof(ifmr.ifm_name)); ++ ++ if (ioctl(s, SIOCGIFMEDIA, (caddr_t)&ifmr) < 0) { ++ close(s); ++ continue; ++ } ++ if (IFM_TYPE(ifmr.ifm_active) != IFM_IEEE80211) { ++ close(s); ++ continue; ++ } ++ ++ (void) memset(&i802r, 0, sizeof(i802r)); ++ (void) strncpy(i802r.i_name, ifa->ifa_name, sizeof(i802r.i_name)); ++ i802r.i_type = IEEE80211_IOC_SCAN_RESULTS; ++ i802r.i_data = iscanbuf; ++ i802r.i_len = sizeof(iscanbuf); ++ if (ioctl(s, SIOCG80211, &i802r) < 0) { ++ close(s); ++ continue; ++ } ++ ++ close(s); ++ ++ vsr = (char *) i802r.i_data; ++ len = i802r.i_len; ++ while (len >= sizeof(struct ieee80211req_scan_result)) { ++ struct ieee80211req_scan_result *isr; ++ char *id; ++ int idlen; ++ char ssid[IEEE80211_NWID_LEN+1]; ++ ++ isr = (struct ieee80211req_scan_result *) vsr; ++ ++ if (isr->isr_meshid_len) { ++ id = vsr + isr->isr_ie_off + isr->isr_ssid_len; ++ idlen = isr->isr_meshid_len; ++ } ++ else { ++ id = vsr + isr->isr_ie_off; ++ idlen = isr->isr_ssid_len; ++ } ++ strncpy(ssid, id, idlen); ++ ssid[idlen] = '\0'; ++ apd.ssid = UTF8ToUTF16(ssid); ++ apd.mac_address = MacAddressAsString16(isr->isr_bssid); ++ apd.radio_signal_strength = (isr->isr_rssi/2) + isr->isr_noise; ++ apd.signal_to_noise = apd.radio_signal_strength - isr->isr_noise; ++ apd.channel = frquency_to_channel(isr->isr_freq); ++ VLOG(1) << "FreeBSD access point: " ++ << "SSID: " << apd.ssid << ", " ++ << "MAC: " << apd.mac_address << ", " ++ << "Strength: " << apd.radio_signal_strength << ":" ++ << apd.signal_to_noise << ", " ++ << "Channel: " << apd.channel; ++ data->insert(apd); ++ res = true; ++ len -= isr->isr_len; ++ vsr += isr->isr_len; ++ } ++ } ++ ++ freeifaddrs(ifal); ++ ++ return res; ++} ++ ++} // namespace ++ ++// static ++template<> ++WifiDataProviderImplBase* WifiDataProvider::DefaultFactoryFunction() { ++ return new FreeBSDWifiDataProvider(); ++} ++ ++FreeBSDWifiDataProvider::FreeBSDWifiDataProvider() { ++} ++ ++FreeBSDWifiDataProvider::~FreeBSDWifiDataProvider() { ++} ++ ++WifiDataProviderCommon::WlanApiInterface* FreeBSDWifiDataProvider::NewWlanApi() { ++ ++ scoped_ptr<FreeBSDAccessPointData> wlan_api(new FreeBSDAccessPointData); ++ if (wlan_api->Init()) ++ return wlan_api.release(); ++ ++ return NULL; ++} ++ ++PollingPolicyInterface* FreeBSDWifiDataProvider::NewPollingPolicy() { ++ return new GenericPollingPolicy<kDefaultPollingInterval, ++ kNoChangePollingInterval, ++ kTwoNoChangePollingInterval, ++ kNoWifiPollingIntervalMilliseconds>; ++} ++ ++} // namespace content Added: head/www/chromium/files/patch-content__browser__geolocation__wifi_data_provider_freebsd.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/chromium/files/patch-content__browser__geolocation__wifi_data_provider_freebsd.h Fri Jan 11 01:14:52 2013 (r310215) @@ -0,0 +1,32 @@ +--- content/browser/geolocation/wifi_data_provider_freebsd.h.orig 2012-12-27 23:17:38.000000000 +0100 ++++ content/browser/geolocation/wifi_data_provider_freebsd.h 2012-12-28 12:31:07.000000000 +0100 +@@ -0,0 +1,29 @@ ++// Copyright (c) 2012 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#ifndef CONTENT_BROWSER_GEOLOCATION_WIFI_DATA_PROVIDER_FREEBSD_H_ ++#define CONTENT_BROWSER_GEOLOCATION_WIFI_DATA_PROVIDER_FREEBSD_H_ ++ ++#include "content/browser/geolocation/wifi_data_provider_common.h" ++ ++namespace content { ++ ++// Implementation of the wifi data provider for FreeBSD. ++class CONTENT_EXPORT FreeBSDWifiDataProvider : public WifiDataProviderCommon { ++public: ++ FreeBSDWifiDataProvider(); ++ ++private: ++ virtual ~FreeBSDWifiDataProvider(); ++ ++ // WifiDataProviderCommon ++ virtual WlanApiInterface* NewWlanApi() OVERRIDE; ++ virtual PollingPolicyInterface* NewPollingPolicy() OVERRIDE; ++ ++ DISALLOW_COPY_AND_ASSIGN(FreeBSDWifiDataProvider); ++}; ++ ++} // namespace content ++ ++#endif // CONTENT_BROWSER_GEOLOCATION_WIFI_DATA_PROVIDER_FREEBSD_H_ Modified: head/www/chromium/files/patch-content__content_browser.gypi ============================================================================== --- head/www/chromium/files/patch-content__content_browser.gypi Fri Jan 11 00:56:23 2013 (r310214) +++ head/www/chromium/files/patch-content__content_browser.gypi Fri Jan 11 01:14:52 2013 (r310215) @@ -1,20 +1,33 @@ ---- content/content_browser.gypi.orig 2012-10-31 21:01:37.000000000 +0200 -+++ content/content_browser.gypi 2012-11-07 13:18:40.000000000 +0200 -@@ -995,8 +995,17 @@ +--- content/content_browser.gypi.orig 2012-11-27 10:01:27.000000000 +0200 ++++ content/content_browser.gypi 2012-12-10 22:21:14.000000000 +0200 +@@ -409,6 +409,8 @@ + 'browser/geolocation/wifi_data_provider_common_win.cc', + 'browser/geolocation/wifi_data_provider_common_win.h', + 'browser/geolocation/wifi_data_provider_corewlan_mac.mm', ++ 'browser/geolocation/wifi_data_provider_freebsd.cc', ++ 'browser/geolocation/wifi_data_provider_freebsd.h', + 'browser/geolocation/wifi_data_provider_linux.cc', + 'browser/geolocation/wifi_data_provider_linux.h', + 'browser/geolocation/wifi_data_provider_mac.cc', +@@ -1056,9 +1056,18 @@ + ], }], ['os_bsd==1', { - 'sources/': [ -+ ['exclude', 'public/browser/zygote_host_linux\\.h$'], -+ ['exclude', 'browser/zygote_host/zygote_host_impl_linux\\.cc$'], -+ ['exclude', 'browser/zygote_host/zygote_host_impl_linux\\.h$'], -+ ['exclude', 'zygote/zygote_linux\\.cc$'], -+ ['exclude', 'zygote/zygote_linux\\.h$'], -+ ['exclude', 'zygote/zygote_main_linux\\.cc$'], -+ ['exclude', '^browser/device_monitor_linux\\.cc$'], -+ ['exclude', '^browser/download/file_metadata_linux\\.cc$'], - ['exclude', '^browser/gamepad/gamepad_platform_data_fetcher_linux\\.cc$'], - ['exclude', '^browser/geolocation/wifi_data_provider_linux\\.cc$'], -+ ['exclude', '^browser/udev_linux\\.cc$'], +- 'sources/': [ +- ['exclude', '^browser/gamepad/gamepad_platform_data_fetcher_linux\\.cc$'], +- ['exclude', '^browser/geolocation/wifi_data_provider_linux\\.cc$'], ++ 'sources!': [ ++ 'public/browser/zygote_host_linux.h', ++ 'browser/zygote_host/zygote_host_impl_linux.cc', ++ 'browser/zygote_host/zygote_host_impl_linux.h', ++ 'zygote/zygote_linux.cc', ++ 'zygote/zygote_linux.h', ++ 'zygote/zygote_main_linux.cc', ++ 'browser/device_monitor_linux.cc', ++ 'browser/download/file_metadata_linux.cc', ++ 'browser/gamepad/gamepad_platform_data_fetcher_linux.cc', ++ 'browser/geolocation/wifi_data_provider_linux.cc', ++ 'browser/udev_linux.cc', ], }], - ['use_aura==1', { + ['use_aura!=1 and OS!="win"', { Modified: head/www/chromium/files/patch-content__content_common.gypi ============================================================================== --- head/www/chromium/files/patch-content__content_common.gypi Fri Jan 11 00:56:23 2013 (r310214) +++ head/www/chromium/files/patch-content__content_common.gypi Fri Jan 11 01:14:52 2013 (r310215) @@ -1,11 +1,17 @@ ---- content/content_common.gypi.orig 2012-11-07 15:08:50.000000000 +0200 -+++ content/content_common.gypi 2012-11-07 15:09:05.000000000 +0200 -@@ -330,8 +330,6 @@ - 'common/sandbox_linux.cc', - 'common/sandbox_policy.cc', - 'common/sandbox_policy.h', -- 'common/sandbox_seccomp_bpf_linux.cc', -- 'common/sandbox_seccomp_bpf_linux.h', - 'common/savable_url_schemes.cc', - 'common/savable_url_schemes.h', - 'common/set_process_title.cc', +--- content/content_common.gypi.orig 2012-11-27 10:01:27.000000000 +0200 ++++ content/content_common.gypi 2012-12-10 22:16:37.000000000 +0200 +@@ -436,6 +436,14 @@ + 'content.gyp:common_aidl', + ], + }], ++ ['os_bsd==1', { ++ 'sources!': [ ++ 'common/sandbox_linux.cc', ++ 'common/sandbox_linux.h', ++ 'common/sandbox_seccomp_bpf_linux.cc', ++ 'common/sandbox_seccomp_bpf_linux.h', ++ ], ++ }], + ['toolkit_uses_gtk == 1', { + 'dependencies': [ + '../build/linux/system.gyp:gtk', Modified: head/www/chromium/files/patch-content__content_gpu.gypi ============================================================================== --- head/www/chromium/files/patch-content__content_gpu.gypi Fri Jan 11 00:56:23 2013 (r310214) +++ head/www/chromium/files/patch-content__content_gpu.gypi Fri Jan 11 01:14:52 2013 (r310215) @@ -1,11 +1,11 @@ ---- content/content_gpu.gypi.orig 2012-10-01 20:45:02.000000000 +0300 -+++ content/content_gpu.gypi 2012-10-01 20:45:37.000000000 +0300 +--- content/content_gpu.gypi.orig 2012-11-28 04:01:27.000000000 +0200 ++++ content/content_gpu.gypi 2012-12-04 22:06:17.000000000 +0200 @@ -95,7 +95,7 @@ '../third_party/amd/amd_videocard_info_win.cc', ], }], - ['OS=="linux"', { -+ ['OS=="linux" or OS=="freebsd"', { ++ ['OS=="linux" or os_bsd==1', { 'dependencies': [ '../third_party/libXNVCtrl/libXNVCtrl.gyp:libXNVCtrl', ], Added: head/www/chromium/files/patch-content__content_tests.gypi ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/chromium/files/patch-content__content_tests.gypi Fri Jan 11 01:14:52 2013 (r310215) @@ -0,0 +1,18 @@ +--- content/content_tests.gypi.orig 2013-01-08 23:49:55.890245836 +0200 ++++ content/content_tests.gypi 2013-01-08 23:52:52.374246102 +0200 +@@ -585,6 +585,15 @@ + 'browser/geolocation/wifi_data_provider_linux_unittest.cc', + ], + }], ++ ['OS == "freebsd"', { ++ 'sources!': [ ++ 'browser/download/file_metadata_unittest_linux.cc', ++ 'browser/geolocation/wifi_data_provider_linux_unittest.cc', ++ 'browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc', ++ 'browser/renderer_host/media/media_stream_manager_unittest.cc', ++ 'browser/renderer_host/media/media_stream_ui_controller_unittest.cc', ++ ], ++ }], + ['OS != "android" and OS != "ios"', { + 'dependencies': [ + '../third_party/libvpx/libvpx.gyp:libvpx', Modified: head/www/chromium/files/patch-content__plugin__plugin_main_linux.cc ============================================================================== --- head/www/chromium/files/patch-content__plugin__plugin_main_linux.cc Fri Jan 11 00:56:23 2013 (r310214) +++ head/www/chromium/files/patch-content__plugin__plugin_main_linux.cc Fri Jan 11 01:14:52 2013 (r310215) @@ -1,5 +1,5 @@ ---- content/plugin/plugin_main_linux.cc.orig 2010-12-16 02:11:58.000000000 +0100 -+++ content/plugin/plugin_main_linux.cc 2010-12-20 20:15:08.000000000 +0100 +--- content/plugin/plugin_main_linux.cc.orig 2012-11-28 04:01:26.000000000 +0200 ++++ content/plugin/plugin_main_linux.cc 2012-12-04 22:14:32.000000000 +0200 @@ -5,13 +5,13 @@ #include <signal.h> #include <string.h> @@ -12,7 +12,7 @@ // This whole file is only useful on 64-bit architectures. -#if defined(ARCH_CPU_64_BITS) -+#if defined(ARCH_CPU_64_BITS) && !defined(OS_FREEBSD) ++#if defined(ARCH_CPU_64_BITS) && !defined(OS_BSD) namespace { Added: head/www/chromium/files/patch-content__public__test__browser_test_base.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/chromium/files/patch-content__public__test__browser_test_base.cc Fri Jan 11 01:14:52 2013 (r310215) @@ -0,0 +1,13 @@ +--- content/public/test/browser_test_base.cc.orig 2013-01-08 23:22:25.608704051 +0200 ++++ content/public/test/browser_test_base.cc 2013-01-08 23:24:45.354245363 +0200 +@@ -4,6 +4,10 @@ + + #include "content/public/test/browser_test_base.h" + ++#if defined(OS_FREEBSD) ++#include <sys/signal.h> ++#endif ++ + #include "base/bind.h" + #include "base/command_line.h" + #include "base/debug/stack_trace.h" Modified: head/www/chromium/files/patch-content__renderer__render_process_impl.cc ============================================================================== --- head/www/chromium/files/patch-content__renderer__render_process_impl.cc Fri Jan 11 00:56:23 2013 (r310214) +++ head/www/chromium/files/patch-content__renderer__render_process_impl.cc Fri Jan 11 01:14:52 2013 (r310215) @@ -1,24 +1,24 @@ ---- content/renderer/render_process_impl.cc.orig 2012-01-18 11:11:41.000000000 +0200 -+++ content/renderer/render_process_impl.cc 2012-01-29 17:05:58.000000000 +0200 -@@ -105,7 +105,7 @@ - #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_OPENBSD) +--- content/renderer/render_process_impl.cc.orig 2012-11-14 04:01:35.000000000 +0200 ++++ content/renderer/render_process_impl.cc 2012-12-03 23:25:17.000000000 +0200 +@@ -87,7 +87,7 @@ + + bool RenderProcessImpl::InProcessPlugins() { + const CommandLine& command_line = *CommandLine::ForCurrentProcess(); +-#if defined(OS_LINUX) || defined(OS_OPENBSD) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Plugin processes require a UI message loop, and the Linux message loop + // implementation only allows one UI loop per process. + if (command_line.HasSwitch(switches::kInProcessPlugins)) +@@ -112,7 +112,7 @@ + + TransportDIB* RenderProcessImpl::CreateTransportDIB(size_t size) { + #if defined(OS_WIN) || defined(OS_LINUX) || \ +- defined(OS_OPENBSD) || defined(OS_ANDROID) ++ defined(OS_BSD) || defined(OS_ANDROID) // Windows and Linux create transport DIBs inside the renderer return TransportDIB::Create(size, transport_dib_next_sequence_number_++); --#elif defined(OS_MACOSX) -+#elif defined(OS_MACOSX) || defined(OS_FREEBSD) - // Mac creates transport DIBs in the browser, so we need to do a sync IPC to - // get one. The TransportDIB is cached in the browser. - TransportDIB::Handle handle; -@@ -122,7 +122,7 @@ - if (!dib) - return; - --#if defined(OS_MACOSX) -+#if defined(OS_MACOSX) || defined(OS_FREEBSD) - // On Mac we need to tell the browser that it can drop a reference to the - // shared memory. - IPC::Message* msg = new ViewHostMsg_FreeTransportDIB(dib->id()); -@@ -140,7 +140,7 @@ + #elif defined(OS_MACOSX) +@@ -150,7 +150,7 @@ int width = rect.width(); int height = rect.height(); const size_t stride = skia::PlatformCanvas::StrideForWidth(rect.width()); Modified: head/www/chromium/files/patch-content__renderer__renderer_main_platform_delegate_linux.cc ============================================================================== --- head/www/chromium/files/patch-content__renderer__renderer_main_platform_delegate_linux.cc Fri Jan 11 00:56:23 2013 (r310214) +++ head/www/chromium/files/patch-content__renderer__renderer_main_platform_delegate_linux.cc Fri Jan 11 01:14:52 2013 (r310215) @@ -1,12 +1,25 @@ ---- content/renderer/renderer_main_platform_delegate_linux.cc.orig 2012-10-31 21:01:36.000000000 +0200 -+++ content/renderer/renderer_main_platform_delegate_linux.cc 2012-11-07 17:38:32.000000000 +0200 -@@ -34,7 +34,9 @@ +--- content/renderer/renderer_main_platform_delegate_linux.cc.orig 2012-11-27 10:01:25.000000000 +0200 ++++ content/renderer/renderer_main_platform_delegate_linux.cc 2012-12-10 22:47:50.000000000 +0200 +@@ -42,11 +42,14 @@ // // The seccomp sandbox mode 1 (sandbox/linux/seccomp-legacy) and mode 2 // (sandbox/linux/seccomp-bpf) are started in InitializeSandbox(). +#if !defined(OS_BSD) - content::InitializeSandbox(); + InitializeSandbox(); +#endif return true; } + void RendererMainPlatformDelegate::RunSandboxTests(bool no_sandbox) { ++#if !defined(OS_BSD) + // The LinuxSandbox class requires going through initialization before + // GetStatus() and others can be used. When we are not launched through the + // Zygote, this initialization will only happen in the renderer process if +@@ -81,6 +84,7 @@ + CHECK_EQ(errno, EPERM); + } + #endif // __x86_64__ ++#endif + } + + } // namespace content Added: head/www/chromium/files/patch-media__audio__audio_input_volume_unittest.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/chromium/files/patch-media__audio__audio_input_volume_unittest.cc Fri Jan 11 01:14:52 2013 (r310215) @@ -0,0 +1,20 @@ +--- media/audio/audio_input_volume_unittest.cc.orig 2013-01-08 22:03:03.389246512 +0200 ++++ media/audio/audio_input_volume_unittest.cc 2013-01-08 22:03:51.071246007 +0200 +@@ -59,7 +59,7 @@ + int samples_per_packet = 0; + #if defined(OS_MACOSX) + samples_per_packet = (sample_rate / 100); +-#elif defined(OS_LINUX) || defined(OS_OPENBSD) ++#elif defined(OS_LINUX) || defined(OS_BSD) + samples_per_packet = (sample_rate / 100); + #elif defined(OS_WIN) + if (sample_rate == 44100) +@@ -75,7 +75,7 @@ + device_id); + EXPECT_TRUE(NULL != ais); + +-#if defined(OS_LINUX) || defined(OS_OPENBSD) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Some linux devices do not support our settings, we may fail to open + // those devices. + if (!ais->Open()) { Added: head/www/chromium/files/patch-media__audio__audio_low_latency_input_output_unittest.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/chromium/files/patch-media__audio__audio_low_latency_input_output_unittest.cc Fri Jan 11 01:14:52 2013 (r310215) @@ -0,0 +1,29 @@ +--- media/audio/audio_low_latency_input_output_unittest.cc.orig 2013-01-08 22:05:58.175309674 +0200 ++++ media/audio/audio_low_latency_input_output_unittest.cc 2013-01-08 22:06:40.328246386 +0200 +@@ -19,7 +19,7 @@ + #include "testing/gmock/include/gmock/gmock.h" + #include "testing/gtest/include/gtest/gtest.h" + +-#if defined(OS_LINUX) || defined(OS_OPENBSD) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "media/audio/linux/audio_manager_linux.h" + #elif defined(OS_MACOSX) + #include "media/audio/mac/audio_manager_mac.h" +@@ -32,7 +32,7 @@ + + namespace media { + +-#if defined(OS_LINUX) || defined(OS_OPENBSD) ++#if defined(OS_LINUX) || defined(OS_BSD) + typedef AudioManagerLinux AudioManagerAnyPlatform; + #elif defined(OS_MACOSX) + typedef AudioManagerMac AudioManagerAnyPlatform; +@@ -338,7 +338,7 @@ + #if defined(OS_MACOSX) + // 10ms buffer size works well for 44.1, 48, 96 and 192kHz. + samples_per_packet_ = (sample_rate_ / 100); +-#elif defined(OS_LINUX) || defined(OS_OPENBSD) ++#elif defined(OS_LINUX) || defined(OS_BSD) + // 10ms buffer size works well for 44.1, 48, 96 and 192kHz. + samples_per_packet_ = (sample_rate_ / 100); + #elif defined(OS_WIN) Modified: head/www/chromium/files/patch-media__media.gyp ============================================================================== --- head/www/chromium/files/patch-media__media.gyp Fri Jan 11 00:56:23 2013 (r310214) +++ head/www/chromium/files/patch-media__media.gyp Fri Jan 11 01:14:52 2013 (r310215) @@ -1,6 +1,6 @@ ---- media/media.gyp.orig 2012-04-25 10:01:21.000000000 +0300 -+++ media/media.gyp 2012-04-30 00:26:41.000000000 +0300 -@@ -341,7 +341,7 @@ +--- media/media.gyp.orig 2012-11-27 10:01:14.000000000 +0200 ++++ media/media.gyp 2012-11-28 22:11:36.000000000 +0200 +@@ -470,7 +470,7 @@ 'audio/openbsd/audio_manager_openbsd.h', ], }], @@ -9,12 +9,12 @@ 'variables': { 'conditions': [ ['sysroot!=""', { -@@ -858,7 +858,7 @@ +@@ -1101,7 +1101,7 @@ }, ], }], -- ['OS == "linux" and target_arch != "arm"', { -+ ['(OS == "linux" or OS == "freebsd") and target_arch != "arm"', { +- ['OS == "linux" and target_arch != "arm" and target_arch != "mipsel"', { ++ ['(OS == "linux" or OS == "freebsd") and target_arch != "arm" and target_arch != "mipsel"', { 'targets': [ { 'target_name': 'tile_render_bench', Added: head/www/chromium/files/patch-third_party__WebKit__Source__ThirdParty__gyp__test__additional-targets__src__dir1__actions.gyp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/chromium/files/patch-third_party__WebKit__Source__ThirdParty__gyp__test__additional-targets__src__dir1__actions.gyp Fri Jan 11 01:14:52 2013 (r310215) @@ -0,0 +1,11 @@ +--- third_party/WebKit/Source/ThirdParty/gyp/test/additional-targets/src/dir1/actions.gyp.orig 2010-12-16 02:33:31.000000000 +0100 ++++ third_party/WebKit/Source/ThirdParty/gyp/test/additional-targets/src/dir1/actions.gyp 2010-12-20 20:15:08.000000000 +0100 +@@ -47,7 +47,7 @@ + }, + ], + 'conditions': [ +- ['OS=="linux"', { ++ ['OS=="linux" or OS=="freebsd"', { + 'target_defaults': { + 'cflags': ['-fPIC'], + }, Added: head/www/chromium/files/patch-third_party__WebKit__Source__ThirdParty__gyp__test__library__src__library.gyp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/chromium/files/patch-third_party__WebKit__Source__ThirdParty__gyp__test__library__src__library.gyp Fri Jan 11 01:14:52 2013 (r310215) @@ -0,0 +1,11 @@ +--- third_party/WebKit/Source/ThirdParty/gyp/test/library/src/library.gyp.orig 2010-12-16 02:33:32.000000000 +0100 ++++ third_party/WebKit/Source/ThirdParty/gyp/test/library/src/library.gyp 2010-12-20 20:15:08.000000000 +0100 +@@ -48,7 +48,7 @@ + }, + ], + 'conditions': [ +- ['OS=="linux"', { ++ ['OS=="linux" or OS=="freebsd"', { + 'target_defaults': { + # Support 64-bit shared libs (also works fine for 32-bit). + 'cflags': ['-fPIC'], Modified: head/www/chromium/files/patch-tools__gyp__pylib__gyp__generator__make.py ============================================================================== --- head/www/chromium/files/patch-tools__gyp__pylib__gyp__generator__make.py Fri Jan 11 00:56:23 2013 (r310214) +++ head/www/chromium/files/patch-tools__gyp__pylib__gyp__generator__make.py Fri Jan 11 01:14:52 2013 (r310215) @@ -1,6 +1,6 @@ ---- tools/gyp/pylib/gyp/generator/make.py.orig 2012-10-31 21:04:03.000000000 +0200 -+++ tools/gyp/pylib/gyp/generator/make.py 2012-11-07 15:22:38.000000000 +0200 -@@ -87,7 +87,7 @@ +--- tools/gyp/pylib/gyp/generator/make.py.orig 2012-11-27 10:03:58.000000000 +0200 ++++ tools/gyp/pylib/gyp/generator/make.py 2012-12-10 22:26:33.000000000 +0200 +@@ -86,7 +86,7 @@ else: operating_system = flavor if flavor == 'android': @@ -9,8 +9,15 @@ default_variables.setdefault('OS', operating_system) default_variables.setdefault('SHARED_LIB_SUFFIX', '.so') default_variables.setdefault('SHARED_LIB_DIR','$(builddir)/lib.$(TOOLSET)') -@@ -269,13 +269,13 @@ - # in gyp's make.py where ARFLAGS.host etc. is computed. +@@ -265,19 +265,19 @@ + CFLAGS.target ?= $(CFLAGS) + CXX.target ?= %(CXX.target)s + CXXFLAGS.target ?= $(CXXFLAGS) +-LINK.target ?= %(LINK.target)s ++LINK.target ?= %(CXX.target)s + LDFLAGS.target ?= $(LDFLAGS) + AR.target ?= $(AR) + # TODO(evan): move all cross-compilation logic to gyp-time so we don't need # to replicate this environment fallback in make as well. -CC.host ?= %(CC.host)s @@ -24,13 +31,13 @@ +CFLAGS.host ?= $(CFLAGS) +CXX.host ?= $(CXX) +CXXFLAGS.host ?= $(CXXFLAGS) -+LINK.host ?= $(LINK) ++LINK.host ?= $(CXX) +LDFLAGS.host ?= $(LDFLAGS) +AR.host ?= $(AR) - ARFLAGS.host := %(ARFLAGS.host)s # Define a dir function that can handle spaces. -@@ -1770,7 +1770,7 @@ + # http://www.gnu.org/software/make/manual/make.html#Syntax-of-Functions +@@ -1782,7 +1782,7 @@ return modules # Retrieve the default value of 'SHARED_LIB_SUFFIX' Modified: head/www/chromium/files/patch-ui__base__l10n__l10n_util.cc ============================================================================== --- head/www/chromium/files/patch-ui__base__l10n__l10n_util.cc Fri Jan 11 00:56:23 2013 (r310214) +++ head/www/chromium/files/patch-ui__base__l10n__l10n_util.cc Fri Jan 11 01:14:52 2013 (r310215) @@ -1,20 +1,20 @@ ---- ui/base/l10n/l10n_util.cc.orig 2012-06-05 23:55:13.000000000 +0300 -+++ ui/base/l10n/l10n_util.cc 2012-06-06 00:00:11.000000000 +0300 +--- ui/base/l10n/l10n_util.cc.orig 2012-11-28 04:02:47.000000000 +0200 ++++ ui/base/l10n/l10n_util.cc 2012-12-04 22:11:25.000000000 +0200 @@ -33,7 +33,7 @@ #include "base/android/locale_utils.h" #endif -#if defined(OS_LINUX) -+#if defined(TOOLKIT_GTK) ++#if defined(OS_LINUX) || defined(OS_BSD) #include <glib.h> #endif -@@ -417,7 +417,7 @@ +@@ -419,7 +419,7 @@ if (!pref_locale.empty()) candidates.push_back(pref_locale); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
State Changed From-To: patched->closed Committed, thanks