Index: head/www/chromium/Makefile =================================================================== --- head/www/chromium/Makefile (revision 284301) +++ head/www/chromium/Makefile (revision 284302) @@ -1,207 +1,210 @@ # New ports collection makefile for: chromium # Date created: September 30 2009 # Whom: Florent Thoumie # # $FreeBSD$ # PORTNAME= chromium DISTVERSIONPREFIX= courgette-redacted- -DISTVERSION= 14.0.835.202 -PORTREVISION= 1 +DISTVERSION= 15.0.874.102 CATEGORIES= www MASTER_SITES= http://download.goodking.org/downloads/ \ ftp://rene-ladan.nl/pub/distfiles/ \ http://files.etoilebsd.net/goodking/ \ http://distfiles.cybertron.gr/ MAINTAINER= chromium@FreeBSD.org COMMENT= A mostly BSD-licensed web browser based on WebKit and Gtk+ LICENSE= BSD LGPL21 MPL LICENSE_COMB= multi BUILD_DEPENDS= ${LOCALBASE}/bin/flex:${PORTSDIR}/textproc/flex \ ${LOCALBASE}/bin/gperf:${PORTSDIR}/devel/gperf \ bash:${PORTSDIR}/shells/bash \ yasm:${PORTSDIR}/devel/yasm \ flock:${PORTSDIR}/sysutils/flock \ v4l_compat>=1.0.20110603:${PORTSDIR}/multimedia/v4l_compat \ nss>=3.12:${PORTSDIR}/security/nss # minimal version of nss, LIB_DEPENDS does not enforce this LIB_DEPENDS= execinfo.1:${PORTSDIR}/devel/libexecinfo \ cairo.2:${PORTSDIR}/graphics/cairo \ dbus-1.3:${PORTSDIR}/devel/dbus \ dbus-glib-1.2:${PORTSDIR}/devel/dbus-glib \ asound.2:${PORTSDIR}/audio/alsa-lib \ freetype.9:${PORTSDIR}/print/freetype2 \ nss3.1:${PORTSDIR}/security/nss \ gnome-keyring.0:${PORTSDIR}/security/libgnome-keyring \ cups.2:${PORTSDIR}/print/cups-client \ - icuuc.48:${PORTSDIR}/devel/icu \ - icui18n.48:${PORTSDIR}/devel/icu \ - icudata.48:${PORTSDIR}/devel/icu \ event-1.4:${PORTSDIR}/devel/libevent \ vpx:${PORTSDIR}/multimedia/libvpx \ tcmalloc.2:${PORTSDIR}/devel/google-perftools RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:${PORTSDIR}/audio/alsa-plugins \ ${LOCALBASE}/lib/X11/fonts/Droid/fonts.dir:${PORTSDIR}/x11-fonts/droid-fonts-ttf \ ${LOCALBASE}/lib/libgcrypt.so:${PORTSDIR}/security/libgcrypt ONLY_FOR_ARCHS= i386 amd64 USE_XZ= yes USE_BISON= build USE_GMAKE= yes USE_PERL5_BUILD= yes USE_PYTHON_BUILD= 2.6+ USE_XORG= scrnsaverproto x11 xproto xscrnsaver xtst USE_GNOME= glib20 gtk20 dconf libxslt pkgconfig MAN1= chrome.1 DESKTOP_ENTRIES="Chromium" "${COMMENT}" "${DATADIR}/product_logo_48.png" \ "chrome" "Application;Network;WebBrowser;" true ALL_TARGET= chrome # See build/common.gypi for all the available variables. GYP_DEFINES+= use_cups=1 \ - use_system_icu=1 \ use_system_vpx=1 \ use_system_yasm=1 \ use_system_libxml=1 \ use_system_ffmpeg=0 \ use_system_libevent=1 \ use_system_tcmalloc=1 \ linux_use_heapchecker=0 \ disable_nacl=1 \ enable_webrtc=0 \ enable_openmax=1 \ os_ver=${OSVERSION} \ prefix_dir=${LOCALBASE} \ python_ver=${PYTHON_VER} OPTIONS= CODECS "Compile and enable patented codecs like H.264" on \ GCONF "Use GConf2 for preferences" on \ + PULSE "Enable Pulse Audio support" off \ CLANG "Compile Chromium with clang" off \ GCC45 "Compile Chromium with gcc 4.5+" off \ DEBUG "Compile with debug symbols and verbose output" off .include .if ${OSVERSION} < 900033 || defined(WITH_GCC45) BUILD_DEPENDS+= ${LOCALBASE}/bin/as:${PORTSDIR}/devel/binutils CONFIGURE_ENV+= COMPILER_PATH=${LOCALBASE}/bin MAKE_ENV+= COMPILER_PATH=${LOCALBASE}/bin .endif .if ${OSVERSION} < 801000 EXTRA_PATCHES+= ${FILESDIR}/extra-patch-base__base.gypi-stub .else EXTRA_PATCHES+= ${FILESDIR}/extra-patch-base__base.gypi-freebsd .endif .if defined(WITH_CODECS) GYP_DEFINES+= ffmpeg_branding=Chrome GYP_DEFINES+= use_proprietary_codecs=1 .else GYP_DEFINES+= ffmpeg_branding=Chromium GYP_DEFINES+= use_proprietary_codecs=0 .endif .if defined(WITH_GCONF) USE_GNOME+= gconf2 .else GYP_DEFINES+= use_gconf=0 .endif +.if defined(WITH_PULSEAUDIO) +LIB_DEPENDS+= pulse.0:${PORTSDIR}/audio/pulseaudio +GYP_DEFINES+= use_pulseaudio=1 +.else +GYP_DEFINES+= use_pulseaudio=0 +.endif + .if ! ${MACHINE_CPU:Msse2} GYP_DEFINES+= disable_sse2=1 .endif .if defined(WITH_GCC45) && defined(WITH_CLANG) IGNORE= conflicting options (CLANG or GCC45) .endif .if defined(WITH_GCC45) USE_GCC?= 4.5+ EXTRA_PATCHES+= ${FILESDIR}/extra-patch-gcc .endif .if defined(WITH_CLANG) .if ${OSVERSION} < 900033 BUILD_DEPENDS+= clang:${PORTSDIR}/lang/clang .endif CC= clang CXX= clang++ GYP_DEFINES+= clang=1 .endif .if !defined(WITH_DEBUG) BUILDTYPE= Release .else MAKE_ENV+= V=1 BUILDTYPE= Debug .endif MAKE_ENV+= BUILDTYPE=${BUILDTYPE} MAKE_JOBS_SAFE= yes .include .if ${PERL_LEVEL} >= 501400 BUILD_DEPENDS+= p5-Switch>=0:${PORTSDIR}/lang/p5-Switch .endif pre-everything:: @${ECHO_MSG} @${ECHO_MSG} "To build Chromium, you should have around 1 GB of memory" .if defined(WITH_DEBUG) @${ECHO_MSG} "and lots of free diskspace (~ 7GB)." .else @${ECHO_MSG} "and a fair amount of free diskspace (~ 1.5GB)." .endif @${ECHO_MSG} post-patch: @${REINPLACE_CMD} -e "s|/usr/local|${LOCALBASE}|" \ ${WRKSRC}/base/base.gypi \ ${WRKSRC}/build/common.gypi \ ${WRKSRC}/third_party/libvpx/libvpx.gyp \ ${WRKSRC}/third_party/WebKit/Source/WebCore/plugins/PluginDatabase.cpp \ ${WRKSRC}/v8/tools/gyp/v8.gyp @${REINPLACE_CMD} -e "s|linux|freebsd|" \ ${WRKSRC}/tools/gyp/pylib/gyp/generator/make.py @${REINPLACE_CMD} -e 's|/usr/bin/gcc|${CC}|' \ ${WRKSRC}/third_party/WebKit/Source/WebCore/bindings/scripts/IDLParser.pm \ ${WRKSRC}/third_party/WebKit/Source/WebCore/dom/make_names.pl @${REINPLACE_CMD} -e "s|'flex'|'${LOCALBASE}/bin/flex'|" \ ${WRKSRC}/third_party/angle/src/build_angle.gyp \ ${WRKSRC}/third_party/WebKit/Source/WebCore/WebCore.gyp/scripts/action_maketokenizer.py @${REINPLACE_CMD} -e 's|gperf --key-positions|${LOCALBASE}/bin/gperf --key-positions|' \ ${WRKSRC}/third_party/WebKit/Source/WebCore/css/makeprop.pl \ ${WRKSRC}/third_party/WebKit/Source/WebCore/css/makevalues.pl \ ${WRKSRC}/third_party/WebKit/Source/WebCore/make-hash-tools.pl do-configure: cd ${WRKSRC} && \ GYP_DEFINES="${GYP_DEFINES}" ${PYTHON_CMD} \ ./build/gyp_chromium chrome/chrome.gyp --depth . do-install: @${MKDIR} ${DATADIR} ${INSTALL_MAN} ${WRKSRC}/out/${BUILDTYPE}/chrome.1 ${MANPREFIX}/man/man1 ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/chrome.pak \ ${WRKSRC}/out/${BUILDTYPE}/product_logo_48.png \ ${WRKSRC}/out/${BUILDTYPE}/resources.pak ${DATADIR} ${INSTALL_SCRIPT} ${WRKSRC}/out/${BUILDTYPE}/chrome-wrapper \ ${WRKSRC}/out/${BUILDTYPE}/xdg-settings ${DATADIR} -.for f in chrome ffmpegsumo_nolink libffmpegsumo.so mksnapshot protoc +.for f in chrome libffmpegsumo.so mksnapshot protoc ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/${f} ${DATADIR} .endfor cd ${WRKSRC}/out/${BUILDTYPE} && \ ${COPYTREE_SHARE} "locales resources" ${DATADIR} ${LN} -sf ${DATADIR}/chrome ${PREFIX}/bin .include Property changes on: head/www/chromium/Makefile ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.53 \ No newline at end of property +1.54 \ No newline at end of property Index: head/www/chromium/distinfo =================================================================== --- head/www/chromium/distinfo (revision 284301) +++ head/www/chromium/distinfo (revision 284302) @@ -1,2 +1,2 @@ -SHA256 (chromium-courgette-redacted-14.0.835.202.tar.xz) = 45cfb4c45a30f5fc140c21099f4301bf4f46df364e767e352ca7dd8dbbdc488b -SIZE (chromium-courgette-redacted-14.0.835.202.tar.xz) = 124424472 +SHA256 (chromium-courgette-redacted-15.0.874.102.tar.xz) = 5334bb25b4682da9c680625558d86b11e004e43aeeea81db0ff5191b30ac172a +SIZE (chromium-courgette-redacted-15.0.874.102.tar.xz) = 120177844 Property changes on: head/www/chromium/distinfo ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.20 \ No newline at end of property +1.21 \ No newline at end of property Index: head/www/chromium/files/patch-chrome__test__testing_browser_process.h =================================================================== --- head/www/chromium/files/patch-chrome__test__testing_browser_process.h (revision 284301) +++ head/www/chromium/files/patch-chrome__test__testing_browser_process.h (nonexistent) @@ -1,11 +0,0 @@ ---- chrome/test/testing_browser_process.h.orig 2011-07-28 11:01:47.000000000 +0300 -+++ chrome/test/testing_browser_process.h 2011-09-06 22:56:31.000000000 +0300 -@@ -104,7 +104,7 @@ - virtual bool plugin_finder_disabled() const; - virtual void CheckForInspectorFiles() {} - --#if (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) -+#if (defined(OS_WIN) || defined(OS_LINUX) || defined(OS_FREEBSD)) && !defined(OS_CHROMEOS) - virtual void StartAutoupdateTimer() {} - #endif - Property changes on: head/www/chromium/files/patch-chrome__test__testing_browser_process.h ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.3 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/www/chromium/files/patch-chrome__app__chrome_exe_main_gtk.cc =================================================================== --- head/www/chromium/files/patch-chrome__app__chrome_exe_main_gtk.cc (revision 284301) +++ head/www/chromium/files/patch-chrome__app__chrome_exe_main_gtk.cc (nonexistent) @@ -1,12 +0,0 @@ ---- chrome/app/chrome_exe_main_gtk.cc.orig 2011-06-24 11:31:08.000000000 +0300 -+++ chrome/app/chrome_exe_main_gtk.cc 2011-06-26 17:42:52.610782235 +0300 -@@ -25,7 +25,9 @@ - - int main(int argc, const char** argv) { - base::EnableTerminationOnHeapCorruption(); -+#if !defined(OS_FREEBSD) - base::EnableTerminationOnOutOfMemory(); -+#endif - - // NOTE(willchan): One might ask why this call is done here rather than in - // process_util_linux.cc with the definition of Property changes on: head/www/chromium/files/patch-chrome__app__chrome_exe_main_gtk.cc ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.4 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: 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 (revision 284301) +++ head/www/chromium/files/patch-content__renderer__renderer_main_platform_delegate_linux.cc (nonexistent) @@ -1,11 +0,0 @@ ---- content/renderer/renderer_main_platform_delegate_linux.cc.orig 2011-03-20 22:02:04.353053389 +0200 -+++ content/renderer/renderer_main_platform_delegate_linux.cc 2011-03-20 22:02:04.476736985 +0200 -@@ -36,7 +36,7 @@ - // The seccomp sandbox is started in the renderer. - // http://code.google.com/p/seccompsandbox/ - #if defined(ARCH_CPU_X86_FAMILY) && !defined(CHROMIUM_SELINUX) && \ -- !defined(__clang__) -+ !defined(__clang__) && !defined(OS_FREEBSD) - // N.b. SupportsSeccompSandbox() returns a cached result, as we already - // called it earlier in the zygote. Thus, it is OK for us to not pass in - // a file descriptor for "/proc". Property changes on: head/www/chromium/files/patch-content__renderer__renderer_main_platform_delegate_linux.cc ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.1 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/www/chromium/files/patch-chrome__browser__ui__webui__print_preview_handler.cc =================================================================== --- head/www/chromium/files/patch-chrome__browser__ui__webui__print_preview_handler.cc (revision 284301) +++ head/www/chromium/files/patch-chrome__browser__ui__webui__print_preview_handler.cc (nonexistent) @@ -1,10 +0,0 @@ ---- chrome/browser/ui/webui/print_preview_handler.cc.orig 2011-09-30 03:01:50.000000000 -0500 -+++ chrome/browser/ui/webui/print_preview_handler.cc 2011-10-06 00:48:39.943195565 -0500 -@@ -46,6 +46,7 @@ - - #if defined(USE_CUPS) - #include -+#include - - #include "base/file_util.h" - #endif Property changes on: head/www/chromium/files/patch-chrome__browser__ui__webui__print_preview_handler.cc ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.1 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/www/chromium/files/patch-third_party__leveldb__util__env_chromium.cc =================================================================== --- head/www/chromium/files/patch-third_party__leveldb__util__env_chromium.cc (revision 284301) +++ head/www/chromium/files/patch-third_party__leveldb__util__env_chromium.cc (nonexistent) @@ -1,20 +0,0 @@ ---- third_party/leveldb/util/env_chromium.cc.orig 2011-06-27 01:35:45.210558183 +0300 -+++ third_party/leveldb/util/env_chromium.cc 2011-06-27 01:44:12.434784726 +0300 -@@ -29,7 +29,7 @@ - #include "base/win/win_util.h" - #endif - --#if defined(OS_MACOSX) || defined(OS_WIN) -+#if !defined(OS_LINUX) - // The following are glibc-specific - namespace { - -@@ -420,7 +420,7 @@ - #elif defined(OS_FREEBSD) || defined(OS_NACL) - // TODO(BSD): find a better thread ID - pthread_t tid = pthread_self(); -- memcpy(&thread_id, &tid, min(sizeof(r), sizeof(tid))); -+ memcpy(&thread_id, &tid, std::min(sizeof(thread_id), sizeof(tid))); - #endif - - // We try twice: the first time with a fixed-size stack allocated buffer, Property changes on: head/www/chromium/files/patch-third_party__leveldb__util__env_chromium.cc ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.1 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/www/chromium/files/patch-chrome__test__in_process_browser_test.cc =================================================================== --- head/www/chromium/files/patch-chrome__test__in_process_browser_test.cc (revision 284301) +++ head/www/chromium/files/patch-chrome__test__in_process_browser_test.cc (nonexistent) @@ -1,13 +0,0 @@ ---- chrome/test/in_process_browser_test.cc.orig 2011-09-14 00:41:45.000000000 +0300 -+++ chrome/test/in_process_browser_test.cc 2011-09-14 00:46:15.000000000 +0300 -@@ -41,6 +41,10 @@ - #include "net/test/test_server.h" - #include "sandbox/src/dep.h" - -+#if defined(OS_FREEBSD) -+#include -+#endif -+ - #if defined(OS_MACOSX) - #include "base/mac/mac_util.h" - #include "base/system_monitor/system_monitor.h" Property changes on: head/www/chromium/files/patch-chrome__test__in_process_browser_test.cc ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.1 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/www/chromium/files/patch-third_party__WebKit__Source__WebCore__platform__UUID.cpp =================================================================== --- head/www/chromium/files/patch-third_party__WebKit__Source__WebCore__platform__UUID.cpp (revision 284301) +++ head/www/chromium/files/patch-third_party__WebKit__Source__WebCore__platform__UUID.cpp (nonexistent) @@ -1,35 +0,0 @@ ---- ./third_party/WebKit/Source/WebCore/platform/UUID.cpp.orig 2011-01-25 10:33:42.000000000 +0100 -+++ ./third_party/WebKit/Source/WebCore/platform/UUID.cpp 2011-01-25 10:43:15.000000000 +0100 -@@ -41,6 +41,8 @@ - #include - #elif OS(DARWIN) - #include -+#elif OS(FREEBSD) -+#include - #elif OS(LINUX) && !PLATFORM(CHROMIUM) - #include - #elif OS(LINUX) && PLATFORM(CHROMIUM) -@@ -80,6 +82,23 @@ - String canonicalUuidStr = uuidStr.lower(); // make it lower. - ASSERT(canonicalUuidStr[uuidVersionIdentifierIndex] == uuidVersionRequired); - return canonicalUuidStr; -+#elif OS(FREEBSD) -+ uuid_t *store; -+ char *uuid; -+ store = (uuid_t*)malloc(sizeof(uuid_t)); -+ if (store == NULL) -+ return String(); -+ -+ if (uuidgen(store, 1) != 0) -+ return String(); -+ -+ uuid_to_string(store, &uuid, NULL); -+ String canonicalUuidStr = String(uuid).lower(); // make it lower -+ free(uuid); -+ free(store); -+ ASSERT(canonicalUuidStr[uuidVersionIdentifierIndex] == uuidVersionRequired); -+ return canonicalUuidStr; -+ - #elif OS(LINUX) && !PLATFORM(CHROMIUM) - // This does not work for the linux system that turns on sandbox. - FILE* fptr = fopen("/proc/sys/kernel/random/uuid", "r"); Property changes on: head/www/chromium/files/patch-third_party__WebKit__Source__WebCore__platform__UUID.cpp ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.1 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/www/chromium/files/patch-v8__src__extensions__experimental__number-format.cc =================================================================== --- head/www/chromium/files/patch-v8__src__extensions__experimental__number-format.cc (revision 284301) +++ head/www/chromium/files/patch-v8__src__extensions__experimental__number-format.cc (nonexistent) @@ -1,48 +0,0 @@ ---- v8/src/extensions/experimental/number-format.cc.orig 2011-08-30 12:19:09.000000000 +0300 -+++ v8/src/extensions/experimental/number-format.cc 2011-09-10 17:32:54.000000000 +0300 -@@ -36,6 +36,8 @@ - #include "unicode/numfmt.h" - #include "unicode/uchar.h" - #include "unicode/ucurr.h" -+#include "unicode/unum.h" -+#include "unicode/uversion.h" - - namespace v8 { - namespace internal { -@@ -231,6 +233,8 @@ - } - - // Generates ICU number format pattern from given skeleton. -+// TODO(cira): Remove once ICU includes equivalent method -+// (see http://bugs.icu-project.org/trac/ticket/8610). - static icu::DecimalFormat* CreateFormatterFromSkeleton( - const icu::Locale& icu_locale, - const icu::UnicodeString& skeleton, -@@ -251,6 +255,7 @@ - // Case of non-consecutive U+00A4 is taken care of in i18n.js. - int32_t end_index = skeleton.lastIndexOf(currency_symbol, index); - -+#if (U_ICU_VERSION_MAJOR_NUM == 4) && (U_ICU_VERSION_MINOR_NUM <= 6) - icu::NumberFormat::EStyles style; - switch (end_index - index) { - case 0: -@@ -262,6 +267,19 @@ - default: - style = icu::NumberFormat::kPluralCurrencyStyle; - } -+#else // ICU version is 4.8 or above (we ignore versions below 4.0). -+ UNumberFormatStyle style; -+ switch (end_index - index) { -+ case 0: -+ style = UNUM_CURRENCY; -+ break; -+ case 1: -+ style = UNUM_CURRENCY_ISO; -+ break; -+ default: -+ style = UNUM_CURRENCY_PLURAL; -+ } -+#endif - - base_format = static_cast( - icu::NumberFormat::createInstance(icu_locale, style, *status)); Property changes on: head/www/chromium/files/patch-v8__src__extensions__experimental__number-format.cc ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.1 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/www/chromium/files/patch-third_party__icu__icu.gyp =================================================================== --- head/www/chromium/files/patch-third_party__icu__icu.gyp (revision 284301) +++ head/www/chromium/files/patch-third_party__icu__icu.gyp (nonexistent) @@ -1,12 +0,0 @@ ---- third_party/icu/icu.gyp.orig 2011-09-09 23:54:57.000000000 +0300 -+++ third_party/icu/icu.gyp 2011-09-10 00:17:17.000000000 +0300 -@@ -517,6 +517,9 @@ - 'defines': [ - 'USE_SYSTEM_ICU', - ], -+ 'include_dirs': [ -+ ' +#include +#include + +#include + +#include "base/file_util.h" +#include "base/message_loop.h" +#include "base/message_loop_proxy.h" +#include "base/stringprintf.h" + +namespace base { +namespace files { + +namespace { + +class FilePathWatcherImpl : public FilePathWatcher::PlatformDelegate, + public MessageLoopForIO::Watcher, + public MessageLoop::DestructionObserver { + public: + FilePathWatcherImpl() : kqueue_(-1) {} + virtual ~FilePathWatcherImpl() {} + + // MessageLoopForIO::Watcher overrides. + virtual void OnFileCanReadWithoutBlocking(int fd) OVERRIDE; + virtual void OnFileCanWriteWithoutBlocking(int fd) OVERRIDE; + + // MessageLoop::DestructionObserver overrides. + virtual void WillDestroyCurrentMessageLoop() OVERRIDE; + + // FilePathWatcher::PlatformDelegate overrides. + virtual bool Watch(const FilePath& path, + FilePathWatcher::Delegate* delegate) OVERRIDE; + virtual void Cancel() OVERRIDE; + + private: + class EventData { + public: + EventData(const FilePath& path, const FilePath::StringType& subdir) + : path_(path), subdir_(subdir) { } + FilePath path_; // Full path to this item. + FilePath::StringType subdir_; // Path to any sub item. + }; + typedef std::vector EventVector; + + // Can only be called on |io_message_loop_|'s thread. + virtual void CancelOnMessageLoopThread() OVERRIDE; + + // Returns true if the kevent values are error free. + bool AreKeventValuesValid(struct kevent* kevents, int count); + + // Respond to a change of attributes of the path component represented by + // |event|. Sets |target_file_affected| to true if |target_| is affected. + // Sets |update_watches| to true if |events_| need to be updated. + void HandleAttributesChange(const EventVector::iterator& event, + bool* target_file_affected, + bool* update_watches); + + // Respond to a move of deletion of the path component represented by + // |event|. Sets |target_file_affected| to true if |target_| is affected. + // Sets |update_watches| to true if |events_| need to be updated. + void HandleDeleteOrMoveChange(const EventVector::iterator& event, + bool* target_file_affected, + bool* update_watches); + + // Respond to a creation of an item in the path component represented by + // |event|. Sets |target_file_affected| to true if |target_| is affected. + // Sets |update_watches| to true if |events_| need to be updated. + void HandleCreateItemChange(const EventVector::iterator& event, + bool* target_file_affected, + bool* update_watches); + + // Update |events_| with the current status of the system. + // Sets |target_file_affected| to true if |target_| is affected. + // Returns false if an error occurs. + bool UpdateWatches(bool* target_file_affected); + + // Fills |events| with one kevent per component in |path|. + // Returns the number of valid events created where a valid event is + // defined as one that has a ident (file descriptor) field != -1. + static int EventsForPath(FilePath path, EventVector *events); + + // Release a kevent generated by EventsForPath. + static void ReleaseEvent(struct kevent& event); + + // Returns a file descriptor that will not block the system from deleting + // the file it references. + static int FileDescriptorForPath(const FilePath& path); + + // Closes |*fd| and sets |*fd| to -1. + static void CloseFileDescriptor(int* fd); + + // Returns true if kevent has open file descriptor. + static bool IsKeventFileDescriptorOpen(const struct kevent& event) { + return event.ident != static_cast(-1); + } + + static EventData* EventDataForKevent(const struct kevent& event) { + return reinterpret_cast(event.udata); + } + + EventVector events_; + scoped_refptr io_message_loop_; + MessageLoopForIO::FileDescriptorWatcher kqueue_watcher_; + scoped_refptr delegate_; + FilePath target_; + int kqueue_; + + DISALLOW_COPY_AND_ASSIGN(FilePathWatcherImpl); +}; + +void FilePathWatcherImpl::ReleaseEvent(struct kevent& event) { + CloseFileDescriptor(reinterpret_cast(&event.ident)); + EventData* entry = EventDataForKevent(event); + delete entry; + event.udata = NULL; +} + +int FilePathWatcherImpl::EventsForPath(FilePath path, EventVector* events) { + DCHECK(MessageLoopForIO::current()); + // Make sure that we are working with a clean slate. + DCHECK(events->empty()); + + std::vector components; + path.GetComponents(&components); + + if (components.size() < 1) { + return -1; + } + + int last_existing_entry = 0; + FilePath built_path; + bool path_still_exists = true; + for(std::vector::iterator i = components.begin(); + i != components.end(); ++i) { + if (i == components.begin()) { + built_path = FilePath(*i); + } else { + built_path = built_path.Append(*i); + } + int fd = -1; + if (path_still_exists) { + fd = FileDescriptorForPath(built_path); + if (fd == -1) { + path_still_exists = false; + } else { + ++last_existing_entry; + } + } + FilePath::StringType subdir = (i != (components.end() - 1)) ? *(i + 1) : ""; + EventData* data = new EventData(built_path, subdir); + struct kevent event; + EV_SET(&event, fd, EVFILT_VNODE, (EV_ADD | EV_CLEAR | EV_RECEIPT), + (NOTE_DELETE | NOTE_WRITE | NOTE_ATTRIB | + NOTE_RENAME | NOTE_REVOKE | NOTE_EXTEND), 0, data); + events->push_back(event); + } + return last_existing_entry; +} + +int FilePathWatcherImpl::FileDescriptorForPath(const FilePath& path) { + return HANDLE_EINTR(open(path.value().c_str(), O_RDONLY)); +} + +void FilePathWatcherImpl::CloseFileDescriptor(int *fd) { + if (*fd == -1) { + return; + } + + if (HANDLE_EINTR(close(*fd)) != 0) { + PLOG(ERROR) << "close"; + } + *fd = -1; +} + +bool FilePathWatcherImpl::AreKeventValuesValid(struct kevent* kevents, + int count) { + if (count < 0) { + PLOG(ERROR) << "kevent"; + return false; + } + bool valid = true; + for (int i = 0; i < count; ++i) { + if (kevents[i].flags & EV_ERROR && kevents[i].data) { + // Find the kevent in |events_| that matches the kevent with the error. + EventVector::iterator event = events_.begin(); + for (; event != events_.end(); ++event) { + if (event->ident == kevents[i].ident) { + break; + } + } + std::string path_name; + if (event != events_.end()) { + EventData* event_data = EventDataForKevent(*event); + if (event_data != NULL) { + path_name = event_data->path_.value(); + } + } + if (path_name.empty()) { + path_name = base::StringPrintf( + "fd %d", *reinterpret_cast(&kevents[i].ident)); + } + LOG(ERROR) << "Error: " << kevents[i].data << " for " << path_name; + valid = false; + } + } + return valid; +} + +void FilePathWatcherImpl::HandleAttributesChange( + const EventVector::iterator& event, + bool* target_file_affected, + bool* update_watches) { + EventVector::iterator next_event = event + 1; + EventData* next_event_data = EventDataForKevent(*next_event); + // Check to see if the next item in path is still accessible. + int have_access = FileDescriptorForPath(next_event_data->path_); + if (have_access == -1) { + *target_file_affected = true; + *update_watches = true; + EventVector::iterator local_event(event); + for (; local_event != events_.end(); ++local_event) { + // Close all nodes from the event down. This has the side effect of + // potentially rendering other events in |updates| invalid. + // There is no need to remove the events from |kqueue_| because this + // happens as a side effect of closing the file descriptor. + CloseFileDescriptor(reinterpret_cast(&local_event->ident)); + } + } else { + CloseFileDescriptor(&have_access); + } +} + +void FilePathWatcherImpl::HandleDeleteOrMoveChange( + const EventVector::iterator& event, + bool* target_file_affected, + bool* update_watches) { + *target_file_affected = true; + *update_watches = true; + EventVector::iterator local_event(event); + for (; local_event != events_.end(); ++local_event) { + // Close all nodes from the event down. This has the side effect of + // potentially rendering other events in |updates| invalid. + // There is no need to remove the events from |kqueue_| because this + // happens as a side effect of closing the file descriptor. + CloseFileDescriptor(reinterpret_cast(&local_event->ident)); + } +} + +void FilePathWatcherImpl::HandleCreateItemChange( + const EventVector::iterator& event, + bool* target_file_affected, + bool* update_watches) { + // Get the next item in the path. + EventVector::iterator next_event = event + 1; + EventData* next_event_data = EventDataForKevent(*next_event); + + // Check to see if it already has a valid file descriptor. + if (!IsKeventFileDescriptorOpen(*next_event)) { + // If not, attempt to open a file descriptor for it. + next_event->ident = FileDescriptorForPath(next_event_data->path_); + if (IsKeventFileDescriptorOpen(*next_event)) { + *update_watches = true; + if (next_event_data->subdir_.empty()) { + *target_file_affected = true; + } + } + } +} + +bool FilePathWatcherImpl::UpdateWatches(bool* target_file_affected) { + // Iterate over events adding kevents for items that exist to the kqueue. + // Then check to see if new components in the path have been created. + // Repeat until no new components in the path are detected. + // This is to get around races in directory creation in a watched path. + bool update_watches = true; + while (update_watches) { + size_t valid; + for (valid = 0; valid < events_.size(); ++valid) { + if (!IsKeventFileDescriptorOpen(events_[valid])) { + break; + } + } + if (valid == 0) { + // The root of the file path is inaccessible? + return false; + } + + EventVector updates(valid); + int count = HANDLE_EINTR(kevent(kqueue_, &events_[0], valid, &updates[0], + valid, NULL)); + if (!AreKeventValuesValid(&updates[0], count)) { + return false; + } + update_watches = false; + for (; valid < events_.size(); ++valid) { + EventData* event_data = EventDataForKevent(events_[valid]); + events_[valid].ident = FileDescriptorForPath(event_data->path_); + if (IsKeventFileDescriptorOpen(events_[valid])) { + update_watches = true; + if (event_data->subdir_.empty()) { + *target_file_affected = true; + } + } else { + break; + } + } + } + return true; +} + +void FilePathWatcherImpl::OnFileCanReadWithoutBlocking(int fd) { + DCHECK(MessageLoopForIO::current()); + CHECK_EQ(fd, kqueue_); + CHECK(events_.size()); + + // Request the file system update notifications that have occurred and return + // them in |updates|. |count| will contain the number of updates that have + // occurred. + EventVector updates(events_.size()); + struct timespec timeout = {0, 0}; + int count = HANDLE_EINTR(kevent(kqueue_, NULL, 0, &updates[0], updates.size(), + &timeout)); + + // Error values are stored within updates, so check to make sure that no + // errors occurred. + if (!AreKeventValuesValid(&updates[0], count)) { + delegate_->OnFilePathError(target_); + Cancel(); + return; + } + + bool update_watches = false; + bool send_notification = false; + + // Iterate through each of the updates and react to them. + for (int i = 0; i < count; ++i) { + // Find our kevent record that matches the update notification. + EventVector::iterator event = events_.begin(); + for (; event != events_.end(); ++event) { + if (!IsKeventFileDescriptorOpen(*event) || + event->ident == updates[i].ident) { + break; + } + } + if (!IsKeventFileDescriptorOpen(*event) || event == events_.end()) { + // The event may no longer exist in |events_| because another event + // modified |events_| in such a way to make it invalid. For example if + // the path is /foo/bar/bam and foo is deleted, NOTE_DELETE events for + // foo, bar and bam will be sent. If foo is processed first, then + // the file descriptors for bar and bam will already be closed and set + // to -1 before they get a chance to be processed. + continue; + } + + EventData* event_data = EventDataForKevent(*event); + + // If the subdir is empty, this is the last item on the path and is the + // target file. + bool target_file_affected = event_data->subdir_.empty(); + if ((updates[i].fflags & NOTE_ATTRIB) && !target_file_affected) { + HandleAttributesChange(event, &target_file_affected, &update_watches); + } + if (updates[i].fflags & (NOTE_DELETE | NOTE_REVOKE | NOTE_RENAME)) { + HandleDeleteOrMoveChange(event, &target_file_affected, &update_watches); + } + if ((updates[i].fflags & NOTE_WRITE) && !target_file_affected) { + HandleCreateItemChange(event, &target_file_affected, &update_watches); + } + send_notification |= target_file_affected; + } + + if (update_watches) { + if (!UpdateWatches(&send_notification)) { + delegate_->OnFilePathError(target_); + Cancel(); + } + } + + if (send_notification) { + delegate_->OnFilePathChanged(target_); + } +} + +void FilePathWatcherImpl::OnFileCanWriteWithoutBlocking(int fd) { + NOTREACHED(); +} + +void FilePathWatcherImpl::WillDestroyCurrentMessageLoop() { + CancelOnMessageLoopThread(); +} + +bool FilePathWatcherImpl::Watch(const FilePath& path, + FilePathWatcher::Delegate* delegate) { + DCHECK(MessageLoopForIO::current()); + DCHECK(target_.value().empty()); // Can only watch one path. + DCHECK(delegate); + DCHECK_EQ(kqueue_, -1); + + delegate_ = delegate; + target_ = path; + + MessageLoop::current()->AddDestructionObserver(this); -+ io_message_loop_ = base::MessageLoopProxy::CreateForCurrentThread(); ++ io_message_loop_ = base::MessageLoopProxy::current(); + + kqueue_ = kqueue(); + if (kqueue_ == -1) { + PLOG(ERROR) << "kqueue"; + return false; + } + + int last_entry = EventsForPath(target_, &events_); + CHECK_NE(last_entry, 0); + + EventVector responses(last_entry); + + int count = HANDLE_EINTR(kevent(kqueue_, &events_[0], last_entry, + &responses[0], last_entry, NULL)); + if (!AreKeventValuesValid(&responses[0], count)) { + // Calling Cancel() here to close any file descriptors that were opened. + // This would happen in the destructor anyways, but FilePathWatchers tend to + // be long lived, and if an error has occurred, there is no reason to waste + // the file descriptors. + Cancel(); + return false; + } + + return MessageLoopForIO::current()->WatchFileDescriptor( + kqueue_, true, MessageLoopForIO::WATCH_READ, &kqueue_watcher_, this); +} + +void FilePathWatcherImpl::Cancel() { + base::MessageLoopProxy* proxy = io_message_loop_.get(); + if (!proxy) { + set_cancelled(); + return; + } + if (!proxy->BelongsToCurrentThread()) { + proxy->PostTask(FROM_HERE, + NewRunnableMethod(this, &FilePathWatcherImpl::Cancel)); + return; + } + CancelOnMessageLoopThread(); +} + +void FilePathWatcherImpl::CancelOnMessageLoopThread() { + DCHECK(MessageLoopForIO::current()); + if (!is_cancelled()) { + set_cancelled(); + kqueue_watcher_.StopWatchingFileDescriptor(); + CloseFileDescriptor(&kqueue_); + std::for_each(events_.begin(), events_.end(), ReleaseEvent); + events_.clear(); + io_message_loop_ = NULL; + MessageLoop::current()->RemoveDestructionObserver(this); + delegate_ = NULL; + } +} + +} // namespace + +FilePathWatcher::FilePathWatcher() { + impl_ = new FilePathWatcherImpl(); +} + +} // namespace files +} // namespace base Property changes on: head/www/chromium/files/patch-base__files__file_path_watcher_freebsd.cc ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.1 \ No newline at end of property +1.2 \ No newline at end of property Index: head/www/chromium/files/patch-base__process_util_freebsd.cc =================================================================== --- head/www/chromium/files/patch-base__process_util_freebsd.cc (revision 284301) +++ head/www/chromium/files/patch-base__process_util_freebsd.cc (revision 284302) @@ -1,323 +1,326 @@ ---- /dev/null 2011-10-02 18:27:33.000000000 +0300 -+++ base/process_util_freebsd.cc 2011-10-02 18:26:22.000000000 +0300 -@@ -0,0 +1,320 @@ +--- base/process_util_freebsd.cc.orig 2011-10-08 23:30:09.938179749 +0300 ++++ base/process_util_freebsd.cc 2011-10-09 14:30:52.108006527 +0300 +@@ -0,0 +1,323 @@ +// Copyright (c) 2009 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. + +#include "base/process_util.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "base/file_util.h" +#include "base/logging.h" +#include "base/string_number_conversions.h" +#include "base/string_split.h" +#include "base/string_tokenizer.h" +#include "base/string_util.h" +#include "base/sys_info.h" +//#include "base/thread_restrictions.h" + +namespace base { + +ProcessId GetParentProcessId(ProcessHandle process) { + struct kinfo_proc info; + int mib[4]; + size_t info_size = sizeof(info); + + mib[0] = CTL_KERN; + mib[1] = KERN_PROC; + mib[2] = KERN_PROC_PID; + mib[3] = process; + + if (sysctl(mib, 4, &info, &info_size, NULL, 0) < 0) + return -1; + + return info.ki_ppid; +} + +FilePath GetProcessExecutablePath(ProcessHandle process) { + char pathname[PATH_MAX]; + int mib[4]; + size_t len; + + mib[0] = CTL_KERN; + mib[1] = KERN_PROC; + mib[2] = KERN_PROC_PATHNAME; + mib[3] = process; + + len = sizeof(pathname); + + if (sysctl(mib, 4, pathname, &len, NULL, 0) < 0 || len == 0) + return FilePath(); + + return FilePath(std::string(pathname)); +} + +ProcessIterator::ProcessIterator(const ProcessFilter* filter) + : index_of_kinfo_proc_(), + filter_(filter) { + + int mib[4]; + + mib[0] = CTL_KERN; + mib[1] = KERN_PROC; + mib[2] = KERN_PROC_UID; + mib[3] = getuid(); + + bool done = false; + int try_num = 1; + const int max_tries = 10; + + do { + size_t len = 0; + if (sysctl(mib, 4, NULL, &len, NULL, 0) <0 ){ + LOG(ERROR) << "failed to get the size needed for the process list"; + kinfo_procs_.resize(0); + done = true; + } else { + size_t num_of_kinfo_proc = len / sizeof(struct kinfo_proc); + // Leave some spare room for process table growth (more could show up + // between when we check and now) + num_of_kinfo_proc += 16; + kinfo_procs_.resize(num_of_kinfo_proc); + len = num_of_kinfo_proc * sizeof(struct kinfo_proc); + if (sysctl(mib, 4, &kinfo_procs_[0], &len, NULL, 0) <0) { + // If we get a mem error, it just means we need a bigger buffer, so + // loop around again. Anything else is a real error and give up. + if (errno != ENOMEM) { + LOG(ERROR) << "failed to get the process list"; + kinfo_procs_.resize(0); + done = true; + } + } else { + // Got the list, just make sure we're sized exactly right + size_t num_of_kinfo_proc = len / sizeof(struct kinfo_proc); + kinfo_procs_.resize(num_of_kinfo_proc); + done = true; + } + } + } while (!done && (try_num++ < max_tries)); + + if (!done) { + LOG(ERROR) << "failed to collect the process list in a few tries"; + kinfo_procs_.resize(0); + } +} + +ProcessIterator::~ProcessIterator() { +} + +bool ProcessIterator::CheckForNextProcess() { + std::string data; + + for (; index_of_kinfo_proc_ < kinfo_procs_.size(); ++ index_of_kinfo_proc_) { + int mib[3]; + size_t len; + struct kinfo_proc kinfo = kinfo_procs_[index_of_kinfo_proc_]; + + if ((kinfo.ki_pid > 0) && (kinfo.ki_stat == SZOMB)) + continue; + + mib[0] = CTL_KERN; + mib[1] = KERN_PROC_ARGS; + mib[2] = kinfo.ki_pid; + + len = 0; + if (sysctl(mib, 3, NULL, &len, NULL, 0) < 0) { + LOG(ERROR) << "failed to figure out the buffer size for a command line"; + continue; + } + + data.resize(len); + + if (sysctl(mib, 3, &data[0], &len, NULL, 0) < 0) { + LOG(ERROR) << "failed to fetch a commandline"; + continue; + } + + std::string delimiters; + delimiters.push_back('\0'); + Tokenize(data, delimiters, &entry_.cmd_line_args_); + + size_t exec_name_end = data.find('\0'); + if (exec_name_end == std::string::npos) { + LOG(ERROR) << "command line data didn't match expected format"; + continue; + } + + entry_.pid_ = kinfo.ki_pid; + entry_.ppid_ = kinfo.ki_ppid; + entry_.gid_ = kinfo.ki_pgid; + + size_t last_slash = data.rfind('/', exec_name_end); + if (last_slash == std::string::npos) + entry_.exe_file_.assign(data, 0, exec_name_end); + else + entry_.exe_file_.assign(data, last_slash + 1, + exec_name_end - last_slash - 1); + + // Start w/ the next entry next time through + ++index_of_kinfo_proc_; + + return true; + } + return false; +} + +bool NamedProcessIterator::IncludeEntry() { + if(executable_name_ != entry().exe_file()) + return false; + + return ProcessIterator::IncludeEntry(); +} + + +ProcessMetrics::ProcessMetrics(ProcessHandle process) + : process_(process), + last_time_(0), + last_system_time_(0), + last_cpu_(0) { + processor_count_ = base::SysInfo::NumberOfProcessors(); +} + +// static +ProcessMetrics* ProcessMetrics::CreateProcessMetrics(ProcessHandle process) { + return new ProcessMetrics(process); +} + +size_t ProcessMetrics::GetPagefileUsage() const { + struct kinfo_proc info; + int mib[4]; + size_t info_size = sizeof(info); + + mib[0] = CTL_KERN; + mib[1] = KERN_PROC; + mib[2] = KERN_PROC_PID; + mib[3] = process_; + + if (sysctl(mib, 4, &info, &info_size, NULL, 0) < 0) + return 0; + + return info.ki_size; +} + +size_t ProcessMetrics::GetPeakPagefileUsage() const { + return 0; +} + +size_t ProcessMetrics::GetWorkingSetSize() const { + struct kinfo_proc info; + int mib[4]; + size_t info_size = sizeof(info); + + mib[0] = CTL_KERN; + mib[1] = KERN_PROC; + mib[2] = KERN_PROC_PID; + mib[3] = process_; + + if (sysctl(mib, 4, &info, &info_size, NULL, 0) < 0) + return 0; + + return info.ki_rssize * getpagesize(); +} + +size_t ProcessMetrics::GetPeakWorkingSetSize() const { + return 0; +} + +bool ProcessMetrics::GetMemoryBytes(size_t* private_bytes, + size_t* shared_bytes) { + WorkingSetKBytes ws_usage; + if (!GetWorkingSetKBytes(&ws_usage)) + return false; + + if (private_bytes) + *private_bytes = ws_usage.priv << 10; + + if (shared_bytes) + *shared_bytes = ws_usage.shared * 1024; + + return true; +} + +bool ProcessMetrics::GetWorkingSetKBytes(WorkingSetKBytes* ws_usage) const { +// TODO(bapt) be sure we can't be precise + size_t priv = GetWorkingSetSize(); + if (!priv) + return false; + ws_usage->priv = priv / 1024; + ws_usage->shareable = 0; + ws_usage->shared = 0; + + return true; +} + +bool ProcessMetrics::GetIOCounters(IoCounters* io_counters) const { + return false; +} + +double ProcessMetrics::GetCPUUsage() { + struct kinfo_proc info; + int mib[4]; + size_t info_size = sizeof(info); + + struct timeval now; + int retval = gettimeofday(&now, NULL); + if (retval) + return 0; + + mib[0] = CTL_KERN; + mib[1] = KERN_PROC; + mib[2] = KERN_PROC_PID; + mib[3] = process_; + + if (sysctl(mib, 4, &info, &info_size, NULL, 0) < 0) + return 0; + + return (info.ki_pctcpu / FSCALE) * 100.0; +} + +size_t GetSystemCommitCharge() { + int mib[2], pagesize; + unsigned long mem_total, mem_free, mem_inactive; + size_t len = sizeof(mem_total); + + if (sysctl(mib, 2, &mem_total, &len, NULL, 0) < 0) + return 0; + + len = sizeof(mem_free); + if (sysctlbyname("vm.stats.vm.v_free_count", &mem_free, &len, NULL, 0) < 0) + return 0; + + len = sizeof(mem_inactive); + if (sysctlbyname("vm.stats.vm.v_inactive_count", &mem_inactive, &len, NULL, 0) < 0) + return 0; + + pagesize = getpagesize(); + + return mem_total - (mem_free*pagesize) - (mem_inactive*pagesize); +} + +void EnableTerminationOnOutOfMemory() { -+ NOTIMPLEMENTED(); -+ return; ++ DLOG(WARNING) << "Not feasible."; +} ++ ++void EnableTerminationOnHeapCorruption() { ++ // Nothing to do. ++} + +bool AdjustOOMScore(ProcessId process, int score) { + NOTIMPLEMENTED(); + return false; +} + +} // namespace base Property changes on: head/www/chromium/files/patch-base__process_util_freebsd.cc ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.2 \ No newline at end of property +1.3 \ No newline at end of property Index: head/www/chromium/files/patch-build__common.gypi =================================================================== --- head/www/chromium/files/patch-build__common.gypi (revision 284301) +++ head/www/chromium/files/patch-build__common.gypi (revision 284302) @@ -1,52 +1,53 @@ ---- build/common.gypi.orig 2011-09-14 11:01:28.000000000 +0300 -+++ build/common.gypi 2011-09-29 23:13:08.000000000 +0300 -@@ -303,6 +303,10 @@ - 'enable_register_protocol_handler%': '<(enable_register_protocol_handler)', - 'enable_smooth_scrolling%': '<(enable_smooth_scrolling)', +--- build/common.gypi.orig 2011-10-07 08:32:09.000000000 +0000 ++++ build/common.gypi 2011-10-10 19:06:38.844749713 +0000 +@@ -331,6 +331,10 @@ + # Whether to build for Wayland display server + 'use_wayland%': 0, + 'os_ver%': 0, + 'prefix_dir%': '/usr', + 'use_system_tcmalloc%': 0, + # The release channel that this build targets. This is used to restrict # channel-specific build options, like which installer packages to create. # The default is 'all', which does no channel-specific filtering. -@@ -516,7 +520,7 @@ +@@ -551,7 +555,7 @@ # This is used to tweak build flags for gcc 4.4. 'gcc_version%': 'system_request_context(); } -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_FREEBSD) int ChromeContentBrowserClient::GetCrashSignalFD( const std::string& process_type) { if (process_type == switches::kRendererProcess) +@@ -794,7 +794,7 @@ + + return -1; + } +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_FREEBSD) + + #if defined(OS_WIN) + const wchar_t* ChromeContentBrowserClient::GetResourceDllName() { Property changes on: head/www/chromium/files/patch-chrome__browser__chrome_content_browser_client.cc ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.1 \ No newline at end of property +1.2 \ No newline at end of property Index: head/www/chromium/files/patch-chrome__nacl.gypi =================================================================== --- head/www/chromium/files/patch-chrome__nacl.gypi (nonexistent) +++ head/www/chromium/files/patch-chrome__nacl.gypi (revision 284302) @@ -0,0 +1,22 @@ +--- chrome/nacl.gypi.orig 2011-10-10 21:43:36.427755838 +0300 ++++ chrome/nacl.gypi 2011-10-10 21:47:51.837729515 +0300 +@@ -103,8 +103,8 @@ + ], + }, + ], +- }], +- ['OS!="win" and target_arch=="ia32"', { ++ }], # Disable nacl on freebsd for now. ++ ['OS!="win" and OS!="freebsd" and target_arch=="ia32"', { + # Linux-x86-32 and OSX need only the x86-32 IRT. + 'actions': [ + { +@@ -120,7 +120,7 @@ + }, + ], + }], +- ['OS!="win" and target_arch=="x64"', { ++ ['OS!="win" and OS!="freebsd" and target_arch=="x64"', { + # Linux-x86-64 needs only the x86-64 IRT. + 'actions': [ + { Property changes on: head/www/chromium/files/patch-chrome__nacl.gypi ___________________________________________________________________ Added: cvs2svn:cvs-rev ## -0,0 +1 ## +1.1 \ No newline at end of property Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Index: head/www/chromium/files/patch-chrome__test__base__in_process_browser_test.cc =================================================================== --- head/www/chromium/files/patch-chrome__test__base__in_process_browser_test.cc (nonexistent) +++ head/www/chromium/files/patch-chrome__test__base__in_process_browser_test.cc (revision 284302) @@ -0,0 +1,13 @@ +--- chrome/test/base/in_process_browser_test.cc.orig 2011-09-14 00:41:45.000000000 +0300 ++++ chrome/test/base/in_process_browser_test.cc 2011-09-14 00:46:15.000000000 +0300 +@@ -41,6 +41,10 @@ + #include "net/test/test_server.h" + #include "sandbox/src/dep.h" + ++#if defined(OS_FREEBSD) ++#include ++#endif ++ + #if defined(OS_MACOSX) + #include "base/mac/mac_util.h" + #include "base/system_monitor/system_monitor.h" Property changes on: head/www/chromium/files/patch-chrome__test__base__in_process_browser_test.cc ___________________________________________________________________ Added: cvs2svn:cvs-rev ## -0,0 +1 ## +1.1 \ No newline at end of property Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Index: head/www/chromium/files/patch-chrome__test__base__testing_browser_process.h =================================================================== --- head/www/chromium/files/patch-chrome__test__base__testing_browser_process.h (nonexistent) +++ head/www/chromium/files/patch-chrome__test__base__testing_browser_process.h (revision 284302) @@ -0,0 +1,11 @@ +--- chrome/test/base/testing_browser_process.h.orig 2011-07-28 11:01:47.000000000 +0300 ++++ chrome/test/base/testing_browser_process.h 2011-09-06 22:56:31.000000000 +0300 +@@ -104,7 +104,7 @@ + virtual bool plugin_finder_disabled() const; + virtual void CheckForInspectorFiles() {} + +-#if (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) ++#if (defined(OS_WIN) || defined(OS_LINUX) || defined(OS_FREEBSD)) && !defined(OS_CHROMEOS) + virtual void StartAutoupdateTimer() {} + #endif + Property changes on: head/www/chromium/files/patch-chrome__test__base__testing_browser_process.h ___________________________________________________________________ Added: cvs2svn:cvs-rev ## -0,0 +1 ## +1.1 \ No newline at end of property Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Index: head/www/chromium/files/patch-content__browser__zygote_host_linux.cc =================================================================== --- head/www/chromium/files/patch-content__browser__zygote_host_linux.cc (revision 284301) +++ head/www/chromium/files/patch-content__browser__zygote_host_linux.cc (revision 284302) @@ -1,13 +1,18 @@ ---- content/browser/zygote_host_linux.cc.orig 2011-10-02 18:12:41.000000000 +0300 -+++ content/browser/zygote_host_linux.cc 2011-10-02 18:11:51.000000000 +0300 -@@ -259,8 +259,10 @@ +--- content/browser/zygote_host_linux.cc.orig 2011-10-07 11:31:44.000000000 +0300 ++++ content/browser/zygote_host_linux.cc 2011-10-08 22:10:14.930730097 +0300 +@@ -271,6 +271,7 @@ return base::kNullProcessHandle; } +#if !defined(OS_FREEBSD) - const int kRendererScore = 5; - AdjustRendererOOMScore(pid, kRendererScore); + // This is just a starting score for a renderer or extension (the + // only types of processes that will be started this way). It will + // get adjusted as time goes on. (This is the same value as +@@ -278,6 +279,7 @@ + // that's not something we can include here.) + const int kLowestRendererOomScore = 300; + AdjustRendererOOMScore(pid, kLowestRendererOomScore); +#endif return pid; } Property changes on: head/www/chromium/files/patch-content__browser__zygote_host_linux.cc ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.3 \ No newline at end of property +1.4 \ No newline at end of property Index: head/www/chromium/files/patch-content__browser__zygote_main_linux.cc =================================================================== --- head/www/chromium/files/patch-content__browser__zygote_main_linux.cc (revision 284301) +++ head/www/chromium/files/patch-content__browser__zygote_main_linux.cc (revision 284302) @@ -1,28 +1,19 @@ ---- content/browser/zygote_main_linux.cc.orig 2011-09-14 11:01:10.000000000 +0300 -+++ content/browser/zygote_main_linux.cc 2011-10-02 15:28:48.000000000 +0300 -@@ -57,7 +57,7 @@ - #endif - - #if defined(ARCH_CPU_X86_FAMILY) && !defined(CHROMIUM_SELINUX) && \ -- !defined(__clang__) -+ !defined(__clang__) && !defined(OS_FREEBSD) - // The seccomp sandbox is enabled on all ia32 and x86-64 processor as long as - // we aren't using SELinux or clang. - #define SECCOMP_SANDBOX -@@ -720,11 +720,16 @@ +--- content/browser/zygote_main_linux.cc.orig 2011-10-07 11:31:44.000000000 +0300 ++++ content/browser/zygote_main_linux.cc 2011-10-08 22:11:46.609222627 +0300 +@@ -727,11 +727,16 @@ // dumpable. const CommandLine& command_line = *CommandLine::ForCurrentProcess(); if (!command_line.HasSwitch(switches::kAllowSandboxDebugging)) { +#if !defined(OS_FREEBSD) prctl(PR_SET_DUMPABLE, 0, 0, 0, 0); if (prctl(PR_GET_DUMPABLE, 0, 0, 0, 0)) { LOG(ERROR) << "Failed to set non-dumpable flag"; return false; } +#else + NOTIMPLEMENTED(); + return false; +#endif } - } else if (CommandLine::ForCurrentProcess()->HasSwitch( - switches::kEnableSeccompSandbox)) { + #if defined(SECCOMP_SANDBOX) + } else if (SeccompSandboxEnabled()) { Property changes on: head/www/chromium/files/patch-content__browser__zygote_main_linux.cc ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.3 \ No newline at end of property +1.4 \ No newline at end of property Index: head/www/chromium/files/patch-content__common__seccomp_sandbox.h =================================================================== --- head/www/chromium/files/patch-content__common__seccomp_sandbox.h (nonexistent) +++ head/www/chromium/files/patch-content__common__seccomp_sandbox.h (revision 284302) @@ -0,0 +1,12 @@ +--- content/common/seccomp_sandbox.h.orig 2011-10-10 20:30:54.487723398 +0000 ++++ content/common/seccomp_sandbox.h 2011-10-10 20:31:27.083734776 +0000 +@@ -18,7 +18,8 @@ + #include "content/common/content_switches.h" + + #if defined(ARCH_CPU_X86_FAMILY) && !defined(CHROMIUM_SELINUX) && \ +- !defined(__clang__) && !defined(OS_CHROMEOS) && !defined(TOOLKIT_VIEWS) ++ !defined(__clang__) && !defined(OS_CHROMEOS) && !defined(TOOLKIT_VIEWS) && \ ++ !defined(OS_FREEBSD) + #define SECCOMP_SANDBOX + #include "seccompsandbox/sandbox.h" + #endif Property changes on: head/www/chromium/files/patch-content__common__seccomp_sandbox.h ___________________________________________________________________ Added: cvs2svn:cvs-rev ## -0,0 +1 ## +1.1 \ No newline at end of property Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Index: head/www/chromium/files/patch-media__media.gyp =================================================================== --- head/www/chromium/files/patch-media__media.gyp (nonexistent) +++ head/www/chromium/files/patch-media__media.gyp (revision 284302) @@ -0,0 +1,11 @@ +--- media/media.gyp.orig 2011-10-10 20:58:23.652729836 +0000 ++++ media/media.gyp 2011-10-10 20:58:50.086730237 +0000 +@@ -248,7 +248,7 @@ + ], + }, + 'conditions': [ +- ['OS=="linux"', { ++ ['OS=="linux" or OS=="freebsd"', { + 'conditions': [ + ['use_pulseaudio == 1', { + 'link_settings': { Property changes on: head/www/chromium/files/patch-media__media.gyp ___________________________________________________________________ Added: cvs2svn:cvs-rev ## -0,0 +1 ## +1.4 \ No newline at end of property Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Index: head/www/chromium/files/patch-net__base__dns_reloader.cc =================================================================== --- head/www/chromium/files/patch-net__base__dns_reloader.cc (nonexistent) +++ head/www/chromium/files/patch-net__base__dns_reloader.cc (revision 284302) @@ -0,0 +1,12 @@ +--- net/base/dns_reloader.cc.orig 2011-10-09 01:12:14.189268935 +0300 ++++ net/base/dns_reloader.cc 2011-10-09 01:32:07.358661959 +0300 +@@ -6,6 +6,9 @@ + + #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) + ++#if defined(OS_FREEBSD) ++#include ++#endif + #include + + #include "base/basictypes.h" Property changes on: head/www/chromium/files/patch-net__base__dns_reloader.cc ___________________________________________________________________ Added: cvs2svn:cvs-rev ## -0,0 +1 ## +1.1 \ No newline at end of property Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Index: head/www/chromium/files/patch-net__dns__dns_config_service_posix.h =================================================================== --- head/www/chromium/files/patch-net__dns__dns_config_service_posix.h (nonexistent) +++ head/www/chromium/files/patch-net__dns__dns_config_service_posix.h (revision 284302) @@ -0,0 +1,14 @@ +--- net/dns/dns_config_service_posix.h.orig 2011-10-09 01:34:20.846923374 +0300 ++++ net/dns/dns_config_service_posix.h 2011-10-09 01:35:52.752414016 +0300 +@@ -6,6 +6,11 @@ + #define NET_DNS_DNS_CONFIG_SERVICE_POSIX_H_ + #pragma once + ++#include "build/build_config.h" ++ ++#if defined(OS_FREEBSD) ++#include ++#endif + #include + + #include "base/compiler_specific.h" Property changes on: head/www/chromium/files/patch-net__dns__dns_config_service_posix.h ___________________________________________________________________ Added: cvs2svn:cvs-rev ## -0,0 +1 ## +1.1 \ No newline at end of property Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Index: head/www/chromium/files/patch-remoting__remoting.gyp =================================================================== --- head/www/chromium/files/patch-remoting__remoting.gyp (revision 284301) +++ head/www/chromium/files/patch-remoting__remoting.gyp (revision 284302) @@ -1,23 +1,11 @@ ---- remoting/remoting.gyp.orig 2011-09-07 02:04:45.000000000 +0300 -+++ remoting/remoting.gyp 2011-09-07 02:08:27.000000000 +0300 -@@ -53,6 +53,20 @@ - 'resources/linux/chromoting16.png', - ], - }], -+ ['OS=="freebsd" and target_arch=="x64"', { -+ 'name_suffix': '- FreeBSD - amd64', -+ 'remoting_it2me_os_files': [ -+ 'resources/linux/chromoting128.png', -+ 'resources/linux/chromoting16.png', -+ ], -+ }], -+ ['OS=="freebsd" and target_arch!="x64"', { -+ 'name_suffix': '- FreeBSD', -+ 'remoting_it2me_os_files': [ -+ 'resources/linux/chromoting128.png', -+ 'resources/linux/chromoting16.png', -+ ], -+ }], - ['OS=="win"', { - 'plugin_extension': 'dll', - 'plugin_prefix': '', +--- remoting/remoting.gyp.orig 2011-10-07 11:31:35.000000000 +0300 ++++ remoting/remoting.gyp 2011-10-09 14:43:52.277370445 +0300 +@@ -345,7 +345,7 @@ + '../ui/ui.gyp:ui', + '../net/net.gyp:net', + '../skia/skia.gyp:skia', +- '../third_party/libvpx/libvpx.gyp:libvpx', ++ '../third_party/libvpx/libvpx.gyp:libvpx_lib', + '../third_party/protobuf/protobuf.gyp:protobuf_lite', + '../third_party/zlib/zlib.gyp:zlib', + '../media/media.gyp:yuv_convert', Property changes on: head/www/chromium/files/patch-remoting__remoting.gyp ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.4 \ No newline at end of property +1.5 \ No newline at end of property Index: head/www/chromium/files/patch-skia__ext__vector_platform_device_skia.cc =================================================================== --- head/www/chromium/files/patch-skia__ext__vector_platform_device_skia.cc (nonexistent) +++ head/www/chromium/files/patch-skia__ext__vector_platform_device_skia.cc (revision 284302) @@ -0,0 +1,11 @@ +--- skia/ext/vector_platform_device_skia.cc.orig 2011-10-09 00:19:19.935845255 +0300 ++++ skia/ext/vector_platform_device_skia.cc 2011-10-09 00:19:41.820724365 +0300 +@@ -88,7 +88,7 @@ + SkASSERT(false); + return NULL; + } +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_FREEBSD) + void VectorPlatformDeviceSkia::DrawToNativeContext( + PlatformSurface surface, int x, int y, const PlatformRect* src_rect) { + // Should never be called on Linux. Property changes on: head/www/chromium/files/patch-skia__ext__vector_platform_device_skia.cc ___________________________________________________________________ Added: cvs2svn:cvs-rev ## -0,0 +1 ## +1.1 \ No newline at end of property Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Index: head/www/chromium/files/patch-skia__ext__vector_platform_device_skia.h =================================================================== --- head/www/chromium/files/patch-skia__ext__vector_platform_device_skia.h (nonexistent) +++ head/www/chromium/files/patch-skia__ext__vector_platform_device_skia.h (revision 284302) @@ -0,0 +1,11 @@ +--- skia/ext/vector_platform_device_skia.h.orig 2011-10-09 00:19:07.294915003 +0300 ++++ skia/ext/vector_platform_device_skia.h 2011-10-09 00:20:01.103617064 +0300 +@@ -40,7 +40,7 @@ + virtual void DrawToNativeContext(CGContext* context, int x, int y, + const CGRect* src_rect); + virtual CGContextRef GetBitmapContext(); +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_FREEBSD) + virtual void DrawToNativeContext(PlatformSurface surface, int x, int y, + const PlatformRect* src_rect); + #endif Property changes on: head/www/chromium/files/patch-skia__ext__vector_platform_device_skia.h ___________________________________________________________________ Added: cvs2svn:cvs-rev ## -0,0 +1 ## +1.1 \ No newline at end of property Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Index: head/www/chromium/files/patch-third_party__ffmpeg__ffmpeg.gyp =================================================================== --- head/www/chromium/files/patch-third_party__ffmpeg__ffmpeg.gyp (revision 284301) +++ head/www/chromium/files/patch-third_party__ffmpeg__ffmpeg.gyp (revision 284302) @@ -1,29 +1,10 @@ ---- third_party/ffmpeg/ffmpeg.gyp.orig 2011-09-14 02:43:26.000000000 +0300 -+++ third_party/ffmpeg/ffmpeg.gyp 2011-09-14 03:03:08.000000000 +0300 -@@ -528,6 +528,9 @@ - 'libraries': [ - '-lvpx', - ], -+ 'ldflags': [ -+ '-L<(prefix_dir)/lib', -+ ], - }], - ], - }, -@@ -642,7 +645,7 @@ - }, { - # Using libvpx provided by the system. - 'include_dirs': [ -- '/usr/include/vpx', -+ '<(prefix_dir)/include', - ], - } - ], -@@ -941,6 +944,7 @@ +--- third_party/ffmpeg/ffmpeg.gyp.orig 2011-10-07 11:34:35.000000000 +0300 ++++ third_party/ffmpeg/ffmpeg.gyp 2011-10-08 22:31:59.259508048 +0300 +@@ -508,6 +508,7 @@ 'include_dirs': [ 'config', 'patched-ffmpeg', + '<(prefix_dir)/include', ], 'direct_dependent_settings': { 'include_dirs': [ Property changes on: head/www/chromium/files/patch-third_party__ffmpeg__ffmpeg.gyp ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.5 \ No newline at end of property +1.6 \ No newline at end of property Index: head/www/chromium/files/patch-third_party__leveldatabase__env_chromium.cc =================================================================== --- head/www/chromium/files/patch-third_party__leveldatabase__env_chromium.cc (nonexistent) +++ head/www/chromium/files/patch-third_party__leveldatabase__env_chromium.cc (revision 284302) @@ -0,0 +1,12 @@ +--- third_party/leveldatabase/env_chromium.cc.orig 2011-10-09 00:31:40.173746519 +0300 ++++ third_party/leveldatabase/env_chromium.cc 2011-10-09 00:33:07.446263098 +0300 +@@ -30,7 +30,8 @@ + #include "base/win/win_util.h" + #endif + +-#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_ANDROID) ++#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_ANDROID) \ ++ || defined(OS_FREEBSD) + // The following are glibc-specific + namespace { + Property changes on: head/www/chromium/files/patch-third_party__leveldatabase__env_chromium.cc ___________________________________________________________________ Added: cvs2svn:cvs-rev ## -0,0 +1 ## +1.1 \ No newline at end of property Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Index: head/www/chromium/files/patch-third_party__libvpx__libvpx.gyp =================================================================== --- head/www/chromium/files/patch-third_party__libvpx__libvpx.gyp (revision 284301) +++ head/www/chromium/files/patch-third_party__libvpx__libvpx.gyp (revision 284302) @@ -1,50 +1,50 @@ ---- third_party/libvpx/libvpx.gyp.orig 2011-08-30 12:19:17.000000000 +0300 -+++ third_party/libvpx/libvpx.gyp 2011-09-08 02:22:17.000000000 +0300 -@@ -4,7 +4,7 @@ - { - 'variables': { +--- third_party/libvpx/libvpx.gyp.orig 2011-10-09 00:08:25.368469771 +0300 ++++ third_party/libvpx/libvpx.gyp 2011-10-10 21:41:31.622025374 +0300 +@@ -77,7 +77,7 @@ + 'source/libvpx/vpx_scale/generic/yv12extend.c', + ], 'conditions': [ - ['OS=="mac" or OS=="linux"', { + ['OS=="mac" or OS=="linux" or OS=="freebsd"', { 'asm_obj_extension': 'o', }], ['OS=="win"', { -@@ -13,7 +13,7 @@ +@@ -86,7 +86,7 @@ ], }, 'conditions': [ -- [ '(OS=="linux" or OS=="mac" or OS=="win") and target_arch!="arm" and target_arch!="arm-neon"', { -+ [ '(OS=="linux" or OS=="freebsd" or OS=="mac" or OS=="win") and target_arch!="arm" and target_arch!="arm-neon"', { +- [ '(OS=="linux" or OS=="mac" or OS=="win") and target_arch!="arm"', { ++ [ '(OS=="linux" or OS=="freebsd" or OS=="mac" or OS=="win") and target_arch!="arm"', { 'targets': [ { # This libvpx target contains both encoder and decoder. -@@ -25,7 +25,7 @@ +@@ -98,7 +98,7 @@ '<(SHARED_INTERMEDIATE_DIR)/third_party/libvpx', 'yasm_path': '<(PRODUCT_DIR)/yasm', 'conditions': [ - [ 'OS=="linux" and target_arch=="ia32"', { + [ '(OS=="linux" or OS=="freebsd") and target_arch=="ia32"', { 'yasm_flags': [ '-felf32', '-m', 'x86', -@@ -33,7 +33,7 @@ +@@ -106,7 +106,7 @@ '-I', 'source/libvpx', ], }], - [ 'OS=="linux" and target_arch=="x64"', { + [ '(OS=="linux" or OS=="freebsd") and target_arch=="x64"', { 'yasm_flags': [ '-felf64', '-m', 'amd64', -@@ -265,6 +265,11 @@ +@@ -482,6 +482,11 @@ 'libvpx_path': 'lib/linux/arm', }, }], + ['OS=="freebsd"', { + 'variables': { + 'libvpx_path': '/usr/local/lib', + }, + }], ['OS=="win"', { 'variables': { 'libvpx_path': 'lib/win/ia32', Property changes on: head/www/chromium/files/patch-third_party__libvpx__libvpx.gyp ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.2 \ No newline at end of property +1.3 \ No newline at end of property Index: head/www/chromium/files/patch-tools__gyp__pylib__gyp__generator__make.py =================================================================== --- head/www/chromium/files/patch-tools__gyp__pylib__gyp__generator__make.py (revision 284301) +++ head/www/chromium/files/patch-tools__gyp__pylib__gyp__generator__make.py (revision 284302) @@ -1,32 +1,23 @@ ---- tools/gyp/pylib/gyp/generator/make.py.orig 2011-07-28 11:18:03.000000000 +0300 -+++ tools/gyp/pylib/gyp/generator/make.py 2011-09-07 01:20:36.000000000 +0300 -@@ -239,13 +239,13 @@ +--- tools/gyp/pylib/gyp/generator/make.py.orig 2011-10-07 11:51:41.000000000 +0300 ++++ tools/gyp/pylib/gyp/generator/make.py 2011-10-08 22:49:05.683824673 +0300 +@@ -249,13 +249,13 @@ # in gyp's make.py where ARFLAGS.host etc. is computed. # 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 ?= gcc -CFLAGS.host ?= -CXX.host ?= g++ -CXXFLAGS.host ?= -LINK.host ?= g++ -LDFLAGS.host ?= -AR.host ?= ar +CC.host ?= $(CC) +CFLAGS.host ?= $(CFLAGS) +CXX.host ?= $(CXX) +CXXFLAGS.host ?= $(CXXFLAGS) +LINK.host ?= $(LINK) +LDFLAGS.host ?= $(LDFLAGS) +AR.host ?= $(AR) ARFLAGS.host := %(ARFLAGS.host)s # Define a dir function that can handle spaces. -@@ -365,7 +365,7 @@ - # so we can check their command lines. - # $? -- new prerequisites - # $| -- order-only dependencies --prereq_changed = $(filter-out $|,$?) -+prereq_changed = $(filter-out FORCE_DO_CMD $|,$?) - - # do_cmd: run a command via the above cmd_foo names, if necessary. - # Should always run for a given target to handle command-line changes. Property changes on: head/www/chromium/files/patch-tools__gyp__pylib__gyp__generator__make.py ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.4 \ No newline at end of property +1.5 \ No newline at end of property Index: head/www/chromium/files/patch-views_native_types.h =================================================================== --- head/www/chromium/files/patch-views_native_types.h (revision 284301) +++ head/www/chromium/files/patch-views_native_types.h (revision 284302) @@ -1,20 +1,20 @@ ---- views/native_types.h.orig 2011-09-10 16:05:08.000000000 +0300 -+++ views/native_types.h 2011-09-10 16:05:37.000000000 +0300 +--- views/native_types.h.orig 2011-10-07 11:32:08.000000000 +0300 ++++ views/native_types.h 2011-10-08 22:57:20.811082782 +0300 @@ -8,7 +8,7 @@ #include "ui/gfx/native_widget_types.h" -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_FREEBSD) typedef union _GdkEvent GdkEvent; #endif #if defined(USE_X11) -@@ -32,7 +32,7 @@ - #if defined(OS_WIN) +@@ -44,7 +44,7 @@ + typedef aura::Event* NativeEvent; + #elif defined(OS_WIN) typedef MSG NativeEvent; - #endif --#if defined(OS_LINUX) -+#if defined(OS_LINUX) || defined(OS_FREEBSD) - typedef GdkEvent* NativeEvent; - #endif - #if defined(USE_X11) +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_FREEBSD) + + #if defined(USE_WAYLAND) + typedef ui::WaylandEvent* NativeEvent; Property changes on: head/www/chromium/files/patch-views_native_types.h ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.1 \ No newline at end of property +1.2 \ No newline at end of property Index: head/www/chromium/pkg-plist =================================================================== --- head/www/chromium/pkg-plist (revision 284301) +++ head/www/chromium/pkg-plist (revision 284302) @@ -1,221 +1,223 @@ bin/chrome %%DATADIR%%/chrome %%DATADIR%%/chrome-wrapper %%DATADIR%%/chrome.pak -%%DATADIR%%/ffmpegsumo_nolink %%DATADIR%%/libffmpegsumo.so %%DATADIR%%/locales/am.pak %%DATADIR%%/locales/ar.pak %%DATADIR%%/locales/bg.pak %%DATADIR%%/locales/bn.pak %%DATADIR%%/locales/ca.pak %%DATADIR%%/locales/cs.pak %%DATADIR%%/locales/da.pak %%DATADIR%%/locales/de.pak %%DATADIR%%/locales/el.pak %%DATADIR%%/locales/en-GB.pak %%DATADIR%%/locales/en-US.pak %%DATADIR%%/locales/es-419.pak %%DATADIR%%/locales/es.pak %%DATADIR%%/locales/et.pak %%DATADIR%%/locales/fa.pak %%DATADIR%%/locales/fi.pak %%DATADIR%%/locales/fil.pak %%DATADIR%%/locales/fr.pak %%DATADIR%%/locales/gu.pak %%DATADIR%%/locales/he.pak %%DATADIR%%/locales/hi.pak %%DATADIR%%/locales/hr.pak %%DATADIR%%/locales/hu.pak %%DATADIR%%/locales/id.pak %%DATADIR%%/locales/it.pak %%DATADIR%%/locales/ja.pak %%DATADIR%%/locales/kn.pak %%DATADIR%%/locales/ko.pak %%DATADIR%%/locales/lt.pak %%DATADIR%%/locales/lv.pak %%DATADIR%%/locales/ml.pak %%DATADIR%%/locales/mr.pak %%DATADIR%%/locales/nb.pak %%DATADIR%%/locales/nl.pak %%DATADIR%%/locales/pl.pak %%DATADIR%%/locales/pt-BR.pak %%DATADIR%%/locales/pt-PT.pak %%DATADIR%%/locales/ro.pak %%DATADIR%%/locales/ru.pak %%DATADIR%%/locales/sk.pak %%DATADIR%%/locales/sl.pak %%DATADIR%%/locales/sr.pak %%DATADIR%%/locales/sv.pak %%DATADIR%%/locales/sw.pak %%DATADIR%%/locales/ta.pak %%DATADIR%%/locales/te.pak %%DATADIR%%/locales/th.pak %%DATADIR%%/locales/tr.pak %%DATADIR%%/locales/uk.pak %%DATADIR%%/locales/vi.pak %%DATADIR%%/locales/zh-CN.pak %%DATADIR%%/locales/zh-TW.pak %%DATADIR%%/mksnapshot %%DATADIR%%/product_logo_48.png %%DATADIR%%/protoc %%DATADIR%%/resources.pak %%DATADIR%%/resources/inspector/DevTools.js %%DATADIR%%/resources/inspector/HeapSnapshotWorker.js %%DATADIR%%/resources/inspector/Images/applicationCache.png %%DATADIR%%/resources/inspector/Images/back.png %%DATADIR%%/resources/inspector/Images/breakpointBorder.png %%DATADIR%%/resources/inspector/Images/breakpointConditionalBorder.png %%DATADIR%%/resources/inspector/Images/breakpointConditionalCounterBorder.png %%DATADIR%%/resources/inspector/Images/breakpointCounterBorder.png %%DATADIR%%/resources/inspector/Images/checker.png %%DATADIR%%/resources/inspector/Images/closeButtons.png %%DATADIR%%/resources/inspector/Images/cookie.png %%DATADIR%%/resources/inspector/Images/database.png %%DATADIR%%/resources/inspector/Images/databaseTable.png %%DATADIR%%/resources/inspector/Images/debuggerContinue.png %%DATADIR%%/resources/inspector/Images/debuggerPause.png %%DATADIR%%/resources/inspector/Images/debuggerStepInto.png %%DATADIR%%/resources/inspector/Images/debuggerStepOut.png %%DATADIR%%/resources/inspector/Images/debuggerStepOver.png %%DATADIR%%/resources/inspector/Images/deleteIcon.png %%DATADIR%%/resources/inspector/Images/disclosureTriangleSmallDown.png %%DATADIR%%/resources/inspector/Images/disclosureTriangleSmallDownBlack.png %%DATADIR%%/resources/inspector/Images/disclosureTriangleSmallDownWhite.png %%DATADIR%%/resources/inspector/Images/disclosureTriangleSmallRight.png %%DATADIR%%/resources/inspector/Images/disclosureTriangleSmallRightBlack.png %%DATADIR%%/resources/inspector/Images/disclosureTriangleSmallRightDown.png %%DATADIR%%/resources/inspector/Images/disclosureTriangleSmallRightDownBlack.png %%DATADIR%%/resources/inspector/Images/disclosureTriangleSmallRightDownWhite.png %%DATADIR%%/resources/inspector/Images/disclosureTriangleSmallRightWhite.png %%DATADIR%%/resources/inspector/Images/errorIcon.png %%DATADIR%%/resources/inspector/Images/errorMediumIcon.png %%DATADIR%%/resources/inspector/Images/errorRedDot.png %%DATADIR%%/resources/inspector/Images/forward.png %%DATADIR%%/resources/inspector/Images/frame.png %%DATADIR%%/resources/inspector/Images/glossyHeader.png %%DATADIR%%/resources/inspector/Images/glossyHeaderPressed.png %%DATADIR%%/resources/inspector/Images/glossyHeaderSelected.png %%DATADIR%%/resources/inspector/Images/glossyHeaderSelectedPressed.png %%DATADIR%%/resources/inspector/Images/goArrow.png %%DATADIR%%/resources/inspector/Images/graphLabelCalloutLeft.png %%DATADIR%%/resources/inspector/Images/graphLabelCalloutRight.png %%DATADIR%%/resources/inspector/Images/localStorage.png %%DATADIR%%/resources/inspector/Images/paneAddButtons.png %%DATADIR%%/resources/inspector/Images/paneBottomGrow.png %%DATADIR%%/resources/inspector/Images/paneBottomGrowActive.png %%DATADIR%%/resources/inspector/Images/paneGrowHandleLine.png %%DATADIR%%/resources/inspector/Images/paneRefreshButtons.png %%DATADIR%%/resources/inspector/Images/paneSettingsButtons.png %%DATADIR%%/resources/inspector/Images/paneElementStateButtons.png %%DATADIR%%/resources/inspector/Images/paneFilterButtons.png %%DATADIR%%/resources/inspector/Images/popoverArrows.png %%DATADIR%%/resources/inspector/Images/popoverBackground.png %%DATADIR%%/resources/inspector/Images/profileGroupIcon.png %%DATADIR%%/resources/inspector/Images/profileIcon.png %%DATADIR%%/resources/inspector/Images/profileSmallIcon.png %%DATADIR%%/resources/inspector/Images/profilesSilhouette.png %%DATADIR%%/resources/inspector/Images/programCounterBorder.png %%DATADIR%%/resources/inspector/Images/radioDot.png %%DATADIR%%/resources/inspector/Images/resourceCSSIcon.png %%DATADIR%%/resources/inspector/Images/resourceDocumentIcon.png %%DATADIR%%/resources/inspector/Images/resourceDocumentIconSmall.png %%DATADIR%%/resources/inspector/Images/resourceJSIcon.png %%DATADIR%%/resources/inspector/Images/resourcePlainIcon.png %%DATADIR%%/resources/inspector/Images/resourcePlainIconSmall.png %%DATADIR%%/resources/inspector/Images/resourcesSizeGraphIcon.png %%DATADIR%%/resources/inspector/Images/resourcesTimeGraphIcon.png %%DATADIR%%/resources/inspector/Images/scriptsSilhouette.png %%DATADIR%%/resources/inspector/Images/searchSmallBlue.png %%DATADIR%%/resources/inspector/Images/searchSmallBrightBlue.png %%DATADIR%%/resources/inspector/Images/searchSmallGray.png %%DATADIR%%/resources/inspector/Images/searchSmallWhite.png %%DATADIR%%/resources/inspector/Images/segment.png %%DATADIR%%/resources/inspector/Images/segmentChromium.png %%DATADIR%%/resources/inspector/Images/segmentEnd.png %%DATADIR%%/resources/inspector/Images/segmentHover.png %%DATADIR%%/resources/inspector/Images/segmentHoverChromium.png %%DATADIR%%/resources/inspector/Images/segmentHoverEnd.png %%DATADIR%%/resources/inspector/Images/segmentHoverEndChromium.png %%DATADIR%%/resources/inspector/Images/segmentSelected.png %%DATADIR%%/resources/inspector/Images/segmentSelectedChromium.png %%DATADIR%%/resources/inspector/Images/segmentSelectedEnd.png %%DATADIR%%/resources/inspector/Images/segmentSelectedEndChromium.png %%DATADIR%%/resources/inspector/Images/sessionStorage.png %%DATADIR%%/resources/inspector/Images/spinner.gif %%DATADIR%%/resources/inspector/Images/spinnerActive.gif %%DATADIR%%/resources/inspector/Images/spinnerActiveSelected.gif %%DATADIR%%/resources/inspector/Images/spinnerInactive.gif %%DATADIR%%/resources/inspector/Images/spinnerInactiveSelected.gif %%DATADIR%%/resources/inspector/Images/splitviewDimple.png %%DATADIR%%/resources/inspector/Images/splitviewDividerBackground.png %%DATADIR%%/resources/inspector/Images/statusbarBackground.png %%DATADIR%%/resources/inspector/Images/statusbarBackgroundChromium.png %%DATADIR%%/resources/inspector/Images/statusbarBottomBackground.png %%DATADIR%%/resources/inspector/Images/statusbarBottomBackgroundChromium.png %%DATADIR%%/resources/inspector/Images/statusbarButtonGlyphs.png %%DATADIR%%/resources/inspector/Images/statusbarButtons.png %%DATADIR%%/resources/inspector/Images/statusbarButtonsChromium.png %%DATADIR%%/resources/inspector/Images/statusbarMenuButton.png %%DATADIR%%/resources/inspector/Images/statusbarMenuButtonChromium.png %%DATADIR%%/resources/inspector/Images/statusbarMenuButtonSelected.png %%DATADIR%%/resources/inspector/Images/statusbarMenuButtonSelectedChromium.png %%DATADIR%%/resources/inspector/Images/statusbarResizerHorizontal.png %%DATADIR%%/resources/inspector/Images/statusbarResizerVertical.png %%DATADIR%%/resources/inspector/Images/successGreenDot.png %%DATADIR%%/resources/inspector/Images/thumbActiveHoriz.png %%DATADIR%%/resources/inspector/Images/thumbActiveVert.png %%DATADIR%%/resources/inspector/Images/thumbHoriz.png %%DATADIR%%/resources/inspector/Images/thumbHoverHoriz.png %%DATADIR%%/resources/inspector/Images/thumbHoverVert.png %%DATADIR%%/resources/inspector/Images/thumbVert.png %%DATADIR%%/resources/inspector/Images/timelineBarBlue.png %%DATADIR%%/resources/inspector/Images/timelineBarGray.png %%DATADIR%%/resources/inspector/Images/timelineBarGreen.png %%DATADIR%%/resources/inspector/Images/timelineBarOrange.png %%DATADIR%%/resources/inspector/Images/timelineBarPurple.png %%DATADIR%%/resources/inspector/Images/timelineBarRed.png %%DATADIR%%/resources/inspector/Images/timelineBarYellow.png %%DATADIR%%/resources/inspector/Images/timelineCheckmarks.png %%DATADIR%%/resources/inspector/Images/timelineDots.png %%DATADIR%%/resources/inspector/Images/timelineHollowPillBlue.png %%DATADIR%%/resources/inspector/Images/timelineHollowPillGray.png %%DATADIR%%/resources/inspector/Images/timelineHollowPillGreen.png %%DATADIR%%/resources/inspector/Images/timelineHollowPillOrange.png %%DATADIR%%/resources/inspector/Images/timelineHollowPillPurple.png %%DATADIR%%/resources/inspector/Images/timelineHollowPillRed.png %%DATADIR%%/resources/inspector/Images/timelineHollowPillYellow.png %%DATADIR%%/resources/inspector/Images/timelinePillBlue.png %%DATADIR%%/resources/inspector/Images/timelinePillGray.png %%DATADIR%%/resources/inspector/Images/timelinePillGreen.png %%DATADIR%%/resources/inspector/Images/timelinePillOrange.png %%DATADIR%%/resources/inspector/Images/timelinePillPurple.png %%DATADIR%%/resources/inspector/Images/timelinePillRed.png %%DATADIR%%/resources/inspector/Images/timelinePillYellow.png %%DATADIR%%/resources/inspector/Images/toolbarIcons.png %%DATADIR%%/resources/inspector/Images/toolbarIconsSmall.png %%DATADIR%%/resources/inspector/Images/toolbarItemSelected.png %%DATADIR%%/resources/inspector/Images/trackHoriz.png %%DATADIR%%/resources/inspector/Images/trackVert.png %%DATADIR%%/resources/inspector/Images/treeDownTriangleBlack.png %%DATADIR%%/resources/inspector/Images/treeDownTriangleWhite.png %%DATADIR%%/resources/inspector/Images/treeRightTriangleBlack.png %%DATADIR%%/resources/inspector/Images/treeRightTriangleWhite.png %%DATADIR%%/resources/inspector/Images/treeUpTriangleBlack.png %%DATADIR%%/resources/inspector/Images/treeUpTriangleWhite.png %%DATADIR%%/resources/inspector/Images/userInputIcon.png %%DATADIR%%/resources/inspector/Images/userInputPreviousIcon.png %%DATADIR%%/resources/inspector/Images/userInputResultIcon.png %%DATADIR%%/resources/inspector/Images/warningIcon.png %%DATADIR%%/resources/inspector/Images/warningMediumIcon.png %%DATADIR%%/resources/inspector/Images/warningOrangeDot.png %%DATADIR%%/resources/inspector/Images/warningsErrors.png %%DATADIR%%/resources/inspector/ScriptFormatterWorker.js +%%DATADIR%%/resources/inspector/dataGrid.css +%%DATADIR%%/resources/inspector/inspectorCommon.css +%%DATADIR%%/resources/inspector/networkLogView.css %%DATADIR%%/resources/inspector/devTools.css %%DATADIR%%/resources/inspector/devtools.html %%DATADIR%%/xdg-settings @dirrm %%DATADIR%%/locales @dirrm %%DATADIR%%/resources/inspector/Images @dirrm %%DATADIR%%/resources/inspector @dirrm %%DATADIR%%/resources @dirrm %%DATADIR%% Property changes on: head/www/chromium/pkg-plist ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.8 \ No newline at end of property +1.9 \ No newline at end of property