Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=ff9e67268987d31d2ca283401b0a16588fac904e
commit ff9e67268987d31d2ca283401b0a16588fac904e Author: Devil505 <devil505li...@gmail.com> Date: Tue Sep 20 12:10:43 2011 +0200 chromium-browser-14.0.835.163-1-i686 * version bump * removed useless patches * removed custom stuff (it doesn't work) * added patch to make pulseaudio optional diff --git a/source/gnome-extra/chromium-browser/FrugalBuild b/source/gnome-extra/chromium-browser/FrugalBuild index ab1b1d4..e02222a 100644 --- a/source/gnome-extra/chromium-browser/FrugalBuild +++ b/source/gnome-extra/chromium-browser/FrugalBuild @@ -2,8 +2,8 @@ # Maintainer: Devil505 <devil505li...@gmail.com> pkgname=chromium-browser -pkgver=13.0.782.215 -pkgrel=3 +pkgver=14.0.835.163 +pkgrel=1 pkgdesc='An open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web' url='http://www.chromium.org/' depends=('nss' 'alsa-lib' 'hicolor-icon-theme' 'libxslt' 'ffmpeg>=0.8' \ @@ -19,31 +19,21 @@ _F_archive_name="chromium" up2date="Flasttar http://build.chromium.org/buildbot/official/" source=(http://build.chromium.org/official/$_F_archive_name-$pkgver.tar.bz2 \ gcc-4.6.patch \ - glibc-2.14.patch \ - cups_1.5_build_fix.patch \ - make-hash-tools-use-if-instead-of-switch.patch \ - v8-r8472-crbug-77625-huge-number-of-cpu-wakeups.patch \ - chromium-master-prefs-path.patch \ - $pkgname.desktop $pkgname.sh master_preferences) -sha1sums=('00664c5682e7e8e448f447096797ab78e6152ebb' \ - '7572d11b848f719bb4ceb23ed8a444b95ff14bcd' \ - '5df133b63f308a80d31ee1f7384a92e000f3d59d' \ - '5cbbab29fea3e5d1315750bd333268d07e383c6d' \ - 'a1c5e60f2c0d47d65459397396a75fad4b98bf55' \ - '3f3a7240473bb7d7e104d1a2b942f54aadd3bc1b' \ - '673f05684986a6ecaa69c00287eafdef6e9e260e' \ + webrtc-r240-r242-make-pulseaudio-optional.patch \ + $pkgname.desktop $pkgname.sh) +sha1sums=('f38e8835f4c12a61734eb99ee0a16d1386e2726d' \ + '39999918746524fff30e73dc656754733df5c2c2' \ + '3d3aab601d2a96b52b179dfc31091c8a7fcf2462' \ '78ed8913b8a598de6a9e45d206973a846dbe8a51' \ - 'e06de4aee77b3deb77e3b08ebb175ec02da42ced' \ - 'efc0502b20a1fda64567090ded1b3f6a02d9d090') + 'e06de4aee77b3deb77e3b08ebb175ec02da42ced') build() { Fcd + # Fix build with CUPS 1.5 + sed -i '/#include <cups\/cups.h>/ a #include <cups/ppd.h>' \ + chrome/browser/ui/webui/print_preview_handler.cc || Fdie Fpatchall - # workaround for gcc 4.5 - # see http://code.google.com/p/chromium/issues/detail?id=41887 - export CFLAGS="${CFLAGS} -fno-ipa-cp" - build/gyp_chromium -f make build/all.gyp --depth=. \ -Dno_strict_aliasing=1 \ -Dwerror= \ @@ -62,7 +52,7 @@ build() { -Duse_system_yasm=1 \ -Duse_system_zlib=1 \ -Duse_gconf=0 \ - -Ddisable_sse2=1 \ + -Ddisable_nacl=1 \ $([[ $CARCH == i686 ]] && echo '-Ddisable_sse2=1') make chrome chrome_sandbox BUILDTYPE=Release || Fdie @@ -71,8 +61,11 @@ build() { Fexerel out/Release/chrome usr/lib/chromium/chromium Finstallrel 4555 out/Release/chrome_sandbox usr/lib/chromium/chromium-sandbox Ffileschown usr/lib/chromium/chromium-sandbox root root - Finstallrel 644 out/Release/chrome.pak usr/lib/chromium/chrome.pak - Finstallrel 644 out/Release/resources.pak usr/lib/chromium/resources.pak + + # Add out/Release/{libppGoogleNaClPluginChrome.so,nacl_irt_x86_*.nexe} again + # when NaCl build is fixed + cp out/Release/{{chrome,resources}.pak,libffmpegsumo.so} \ + "$Fdestdir/usr/lib/chromium/" || Fdie Fln /usr/lib/libavcodec.so.52 /usr/lib/chromium/libavcodec.so.52 Fln /usr/lib/libavformat.so.52 /usr/lib/chromium/libavformat.so.52 @@ -94,8 +87,4 @@ build() { Fdocrel LICENSE Fbuild_gnome_scriptlet - - ##custom preferences - Fmkdir etc/$pkgname - Finstall 644 master_preferences etc/$pkgname/master_preferences } diff --git a/source/gnome-extra/chromium-browser/chromium-master-prefs-path.patch b/source/gnome-extra/chromium-browser/chromium-master-prefs-path.patch deleted file mode 100644 index ae3dbc5..0000000 --- a/source/gnome-extra/chromium-browser/chromium-master-prefs-path.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- chromium-13.0.782.112/chrome/browser/first_run/first_run.cc 2011-08-06 10:01:51.000000000 +0200 -+++ chromium-13.0.782.112new/chrome/browser/first_run/first_run.cc 2011-08-15 11:49:16.000000000 +0200 -@@ -101,8 +101,7 @@ bool FirstRun::ProcessMasterPreferences( - - // The standard location of the master prefs is next to the chrome binary. - FilePath master_prefs; -- if (!PathService::Get(base::DIR_EXE, &master_prefs)) -- return true; -+ master_prefs = FilePath("/etc/chromium-browser"); - master_prefs = master_prefs.AppendASCII(installer::kDefaultMasterPrefs); - - installer::MasterPreferences prefs(master_prefs); diff --git a/source/gnome-extra/chromium-browser/cups_1.5_build_fix.patch b/source/gnome-extra/chromium-browser/cups_1.5_build_fix.patch deleted file mode 100644 index 80d40a2..0000000 --- a/source/gnome-extra/chromium-browser/cups_1.5_build_fix.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- src.orig/chrome/browser/ui/webui/print_preview_handler.cc -+++ src/chrome/browser/ui/webui/print_preview_handler.cc -@@ -41,16 +41,17 @@ - #include "printing/backend/print_backend.h" - #include "printing/metafile.h" - #include "printing/metafile_impl.h" - #include "printing/page_range.h" - #include "printing/print_job_constants.h" - - #if defined(USE_CUPS) - #include <cups/cups.h> -+#include <cups/ppd.h> - - #include "base/file_util.h" - #endif - - namespace { - - const char kDisableColorOption[] = "disableColorOption"; - const char kSetColorAsDefault[] = "setColorAsDefault"; diff --git a/source/gnome-extra/chromium-browser/gcc-4.6.patch b/source/gnome-extra/chromium-browser/gcc-4.6.patch index 220fe7a..b5e61dc 100644 --- a/source/gnome-extra/chromium-browser/gcc-4.6.patch +++ b/source/gnome-extra/chromium-browser/gcc-4.6.patch @@ -68,9 +68,9 @@ diff -u -r third_party/tcmalloc/chromium/src/common.cc third_party/tcmalloc/chro --- third_party/tcmalloc/chromium/src/common.cc 2011-04-13 13:23:04.000000000 +0400 +++ third_party/tcmalloc/chromium/src/common.cc 2011-04-20 19:32:58.000000000 +0400 @@ -34,6 +34,7 @@ - #include "system-alloc.h" #include "config.h" #include "common.h" + #include "system-alloc.h" +#include <cstddef> namespace tcmalloc { @@ -86,17 +86,6 @@ diff -u -r third_party/tcmalloc/chromium/src/symbolize.h third_party/tcmalloc/ch using std::map; -diff -u -r third_party/tcmalloc/chromium/src/system-alloc.h third_party/tcmalloc/chromium/src/system-alloc.h ---- third_party/tcmalloc/chromium/src/system-alloc.h 2011-04-13 13:23:04.000000000 +0400 -+++ third_party/tcmalloc/chromium/src/system-alloc.h 2011-04-20 19:32:58.000000000 +0400 -@@ -37,6 +37,7 @@ - #define TCMALLOC_SYSTEM_ALLOC_H_ - - #include <config.h> -+#include <cstddef> - #include "internal_logging.h" - - // REQUIRES: "alignment" is a power of two or "0" to indicate default alignment diff -u -r ui/gfx/codec/jpeg_codec.h ui/gfx/codec/jpeg_codec.h --- ui/gfx/codec/jpeg_codec.h 2011-04-13 13:23:45.000000000 +0400 +++ ui/gfx/codec/jpeg_codec.h 2011-04-20 19:32:58.000000000 +0400 diff --git a/source/gnome-extra/chromium-browser/glibc-2.14.patch b/source/gnome-extra/chromium-browser/glibc-2.14.patch deleted file mode 100644 index f8468ef..0000000 --- a/source/gnome-extra/chromium-browser/glibc-2.14.patch +++ /dev/null @@ -1,51 +0,0 @@ ---- third_party/tcmalloc/chromium/src/tcmalloc.cc 2011/06/21 07:36:46 89799 -+++ third_party/tcmalloc/chromium/src/tcmalloc.cc 2011/06/21 07:37:01 89800 -@@ -150,6 +150,13 @@ - # define WIN32_DO_PATCHING 1 - #endif - -+// GLibc 2.14+ requires the hook functions be declared volatile, based on the -+// value of the define __MALLOC_HOOK_VOLATILE. For compatibility with -+// older/non-GLibc implementations, provide an empty definition. -+#if !defined(__MALLOC_HOOK_VOLATILE) -+#define __MALLOC_HOOK_VOLATILE -+#endif -+ - using std::max; - using tcmalloc::PageHeap; - using tcmalloc::SizeMap; -@@ -403,7 +410,7 @@ - return tc_malloc(size); - } - --void* (*__malloc_hook)( -+void* (*__MALLOC_HOOK_VOLATILE __malloc_hook)( - size_t size, const void* caller) = tc_ptmalloc_malloc_hook; - - static void* tc_ptmalloc_realloc_hook( -@@ -411,14 +418,14 @@ - return tc_realloc(ptr, size); - } - --void* (*__realloc_hook)( -+void* (*__MALLOC_HOOK_VOLATILE __realloc_hook)( - void* ptr, size_t size, const void* caller) = tc_ptmalloc_realloc_hook; - - static void tc_ptmalloc_free_hook(void* ptr, const void* caller) { - tc_free(ptr); - } - --void (*__free_hook)(void* ptr, const void* caller) = tc_ptmalloc_free_hook; -+void (*__MALLOC_HOOK_VOLATILE __free_hook)(void* ptr, const void* caller) = tc_ptmalloc_free_hook; - - #endif - -@@ -1757,7 +1764,7 @@ - MallocHook::InvokeNewHook(result, size); - return result; - } --void *(*__memalign_hook)(size_t, size_t, const void *) = MemalignOverride; -+void *(*__MALLOC_HOOK_VOLATILE __memalign_hook)(size_t, size_t, const void *) = MemalignOverride; - #endif // #ifndef TCMALLOC_FOR_DEBUGALLOCATION - - // ---Double free() debugging implementation ----------------------------------- diff --git a/source/gnome-extra/chromium-browser/make-hash-tools-use-if-instead-of-switch.patch b/source/gnome-extra/chromium-browser/make-hash-tools-use-if-instead-of-switch.patch deleted file mode 100644 index 930d5ae..0000000 --- a/source/gnome-extra/chromium-browser/make-hash-tools-use-if-instead-of-switch.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff -Naur chromium-13.0.782.215//third_party/WebKit/Source/WebCore//make-hash-tools.pl chromium-13.0.782.215new//third_party/WebKit/Source/WebCore//make-hash-tools.pl ---- chromium-13.0.782.215//third_party/WebKit/Source/WebCore//make-hash-tools.pl 2011-08-17 10:12:33.000000000 +0200 -+++ chromium-13.0.782.215new//third_party/WebKit/Source/WebCore//make-hash-tools.pl 2011-08-23 22:24:33.000000000 +0200 -@@ -20,7 +20,6 @@ - # Boston, MA 02110-1301, USA. - - use strict; --use Switch; - use File::Basename; - - my $outdir = $ARGV[0]; -@@ -28,9 +27,7 @@ - my $option = basename($ARGV[0],".gperf"); - - --switch ($option) { -- --case "DocTypeStrings" { -+if ($option eq "DocTypeStrings") { - - my $docTypeStringsGenerated = "$outdir/DocTypeStrings.cpp"; - my $docTypeStringsGperf = $ARGV[0]; -@@ -38,9 +35,7 @@ - - system("gperf --key-positions=\"*\" -s 2 $docTypeStringsGperf > $docTypeStringsGenerated") == 0 || die "calling gperf failed: $?"; - --} # case "DocTypeStrings" -- --case "ColorData" { -+} elsif ($option eq "ColorData") { - - my $colorDataGenerated = "$outdir/ColorData.cpp"; - my $colorDataGperf = $ARGV[0]; -@@ -48,6 +43,6 @@ - - system("gperf --key-positions=\"*\" -D -s 2 $colorDataGperf > $colorDataGenerated") == 0 || die "calling gperf failed: $?"; - --} # case "ColorData" -- --} # switch ($option) -+} else { -+ die "Unknown option."; -+} diff --git a/source/gnome-extra/chromium-browser/master_preferences b/source/gnome-extra/chromium-browser/master_preferences deleted file mode 100644 index 712f8d8..0000000 --- a/source/gnome-extra/chromium-browser/master_preferences +++ /dev/null @@ -1,28 +0,0 @@ -{ - "distribution": { - "skip_first_run_ui": true, - "alternate_shortcut_text": false, - "oem_bubble": true, - "chrome_shortcut_icon_index": 0, - "create_all_shortcuts": true, - "show_welcome_page": true, - "make_chrome_default": false, - "make_chrome_default_for_user": false, - "system_level": false, - "verbose_logging": false - }, - }, - "browser": { - "show_home_button": true, - "check_default_browser": false - }, - "bookmark_bar": { - "show_on_all_tabs": true - }, - "first_run_tabs": [ - "http://www.frugalware.org/start", - "http://tools.google.com/chrome/intl/en/welcome.html" - ], - "homepage": "http://www.frugalware.org/start", - "homepage_is_newtabpage": false -} diff --git a/source/gnome-extra/chromium-browser/v8-r8472-crbug-77625-huge-number-of-cpu-wakeups.patch b/source/gnome-extra/chromium-browser/v8-r8472-crbug-77625-huge-number-of-cpu-wakeups.patch deleted file mode 100644 index 0f329ed..0000000 --- a/source/gnome-extra/chromium-browser/v8-r8472-crbug-77625-huge-number-of-cpu-wakeups.patch +++ /dev/null @@ -1,460 +0,0 @@ -diff -dupr chromium-13.0.782.112/v8/src/compilation-cache.cc chromium-13.0.782.112new/v8/src/compilation-cache.cc ---- chromium-13.0.782.112/v8/src/compilation-cache.cc 2011-08-06 10:24:29.000000000 +0200 -+++ chromium-13.0.782.112new/v8/src/compilation-cache.cc 2011-08-15 11:57:27.000000000 +0200 -@@ -52,8 +52,7 @@ CompilationCache::CompilationCache(Isola - eval_global_(isolate, kEvalGlobalGenerations), - eval_contextual_(isolate, kEvalContextualGenerations), - reg_exp_(isolate, kRegExpGenerations), -- enabled_(true), -- eager_optimizing_set_(NULL) { -+ enabled_(true) { - CompilationSubCache* subcaches[kSubCacheCount] = - {&script_, &eval_global_, &eval_contextual_, ®_exp_}; - for (int i = 0; i < kSubCacheCount; ++i) { -@@ -62,10 +61,7 @@ CompilationCache::CompilationCache(Isola - } - - --CompilationCache::~CompilationCache() { -- delete eager_optimizing_set_; -- eager_optimizing_set_ = NULL; --} -+CompilationCache::~CompilationCache() {} - - - static Handle<CompilationCacheTable> AllocateTable(Isolate* isolate, int size) { -@@ -457,47 +453,6 @@ void CompilationCache::PutRegExp(Handle< - } - - --static bool SourceHashCompare(void* key1, void* key2) { -- return key1 == key2; --} -- -- --HashMap* CompilationCache::EagerOptimizingSet() { -- if (eager_optimizing_set_ == NULL) { -- eager_optimizing_set_ = new HashMap(&SourceHashCompare); -- } -- return eager_optimizing_set_; --} -- -- --bool CompilationCache::ShouldOptimizeEagerly(Handle<JSFunction> function) { -- if (FLAG_opt_eagerly) return true; -- uint32_t hash = function->SourceHash(); -- void* key = reinterpret_cast<void*>(hash); -- return EagerOptimizingSet()->Lookup(key, hash, false) != NULL; --} -- -- --void CompilationCache::MarkForEagerOptimizing(Handle<JSFunction> function) { -- uint32_t hash = function->SourceHash(); -- void* key = reinterpret_cast<void*>(hash); -- EagerOptimizingSet()->Lookup(key, hash, true); --} -- -- --void CompilationCache::MarkForLazyOptimizing(Handle<JSFunction> function) { -- uint32_t hash = function->SourceHash(); -- void* key = reinterpret_cast<void*>(hash); -- EagerOptimizingSet()->Remove(key, hash); --} -- -- --void CompilationCache::ResetEagerOptimizingData() { -- HashMap* set = EagerOptimizingSet(); -- if (set->occupancy() > 0) set->Clear(); --} -- -- - void CompilationCache::Clear() { - for (int i = 0; i < kSubCacheCount; i++) { - subcaches_[i]->Clear(); -diff -dupr chromium-13.0.782.112/v8/src/compilation-cache.h chromium-13.0.782.112new/v8/src/compilation-cache.h ---- chromium-13.0.782.112/v8/src/compilation-cache.h 2011-08-06 10:24:29.000000000 +0200 -+++ chromium-13.0.782.112new/v8/src/compilation-cache.h 2011-08-15 11:58:25.000000000 +0200 -@@ -223,14 +223,6 @@ class CompilationCache { - JSRegExp::Flags flags, - Handle<FixedArray> data); - -- // Support for eager optimization tracking. -- bool ShouldOptimizeEagerly(Handle<JSFunction> function); -- void MarkForEagerOptimizing(Handle<JSFunction> function); -- void MarkForLazyOptimizing(Handle<JSFunction> function); -- -- // Reset the eager optimization tracking data. -- void ResetEagerOptimizingData(); -- - // Clear the cache - also used to initialize the cache at startup. - void Clear(); - -@@ -274,8 +266,6 @@ class CompilationCache { - // Current enable state of the compilation cache. - bool enabled_; - -- HashMap* eager_optimizing_set_; -- - friend class Isolate; - - DISALLOW_COPY_AND_ASSIGN(CompilationCache); -diff -dupr chromium-13.0.782.112/v8/src/compiler.cc chromium-13.0.782.112new/v8/src/compiler.cc ---- chromium-13.0.782.112/v8/src/compiler.cc 2011-08-06 10:24:29.000000000 +0200 -+++ chromium-13.0.782.112new/v8/src/compiler.cc 2011-08-15 12:00:35.000000000 +0200 -@@ -109,8 +109,6 @@ void CompilationInfo::DisableOptimizatio - void CompilationInfo::AbortOptimization() { - Handle<Code> code(shared_info()->code()); - SetCode(code); -- Isolate* isolate = code->GetIsolate(); -- isolate->compilation_cache()->MarkForLazyOptimizing(closure()); - } - - -@@ -656,9 +654,6 @@ bool Compiler::CompileLazy(CompilationIn - CompilationInfo optimized(function); - optimized.SetOptimizing(AstNode::kNoNumber); - return CompileLazy(&optimized); -- } else if (isolate->compilation_cache()->ShouldOptimizeEagerly( -- function)) { -- isolate->runtime_profiler()->OptimizeSoon(*function); - } - } - } -diff -dupr chromium-13.0.782.112/v8/src/isolate.cc chromium-13.0.782.112new/v8/src/isolate.cc ---- chromium-13.0.782.112/v8/src/isolate.cc 2011-08-06 10:24:29.000000000 +0200 -+++ chromium-13.0.782.112new/v8/src/isolate.cc 2011-08-15 12:01:15.000000000 +0200 -@@ -1853,11 +1853,6 @@ void Isolate::Exit() { - } - - --void Isolate::ResetEagerOptimizingData() { -- compilation_cache_->ResetEagerOptimizingData(); --} -- -- - #ifdef DEBUG - #define ISOLATE_FIELD_OFFSET(type, name, ignored) \ - const intptr_t Isolate::name##_debug_offset_ = OFFSET_OF(Isolate, name##_); -diff -dupr chromium-13.0.782.112/v8/src/isolate.h chromium-13.0.782.112new/v8/src/isolate.h ---- chromium-13.0.782.112/v8/src/isolate.h 2011-08-06 10:24:29.000000000 +0200 -+++ chromium-13.0.782.112new/v8/src/isolate.h 2011-08-15 12:01:46.000000000 +0200 -@@ -992,8 +992,6 @@ class Isolate { - } - #endif - -- void ResetEagerOptimizingData(); -- - void SetData(void* data) { embedder_data_ = data; } - void* GetData() { return embedder_data_; } - -diff -dupr chromium-13.0.782.112/v8/src/runtime.cc chromium-13.0.782.112new/v8/src/runtime.cc ---- chromium-13.0.782.112/v8/src/runtime.cc 2011-08-06 10:24:29.000000000 +0200 -+++ chromium-13.0.782.112new/v8/src/runtime.cc 2011-08-15 12:08:54.000000000 +0200 -@@ -7526,7 +7526,6 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_N - } - } - -- isolate->compilation_cache()->MarkForLazyOptimizing(function); - if (type == Deoptimizer::EAGER) { - RUNTIME_ASSERT(function->IsOptimized()); - } else { -diff -dupr chromium-13.0.782.112/v8/src/runtime-profiler.cc chromium-13.0.782.112new/v8/src/runtime-profiler.cc ---- chromium-13.0.782.112/v8/src/runtime-profiler.cc 2011-08-06 10:24:29.000000000 +0200 -+++ chromium-13.0.782.112new/v8/src/runtime-profiler.cc 2011-08-15 12:06:39.000000000 +0200 -@@ -43,32 +43,6 @@ namespace v8 { - namespace internal { - - --class PendingListNode : public Malloced { -- public: -- explicit PendingListNode(JSFunction* function); -- ~PendingListNode() { Destroy(); } -- -- PendingListNode* next() const { return next_; } -- void set_next(PendingListNode* node) { next_ = node; } -- Handle<JSFunction> function() { return Handle<JSFunction>::cast(function_); } -- -- // If the function is garbage collected before we've had the chance -- // to optimize it the weak handle will be null. -- bool IsValid() { return !function_.is_null(); } -- -- // Returns the number of microseconds this node has been pending. -- int Delay() const { return static_cast<int>(OS::Ticks() - start_); } -- -- private: -- void Destroy(); -- static void WeakCallback(v8::Persistent<v8::Value> object, void* data); -- -- PendingListNode* next_; -- Handle<Object> function_; // Weak handle. -- int64_t start_; --}; -- -- - // Optimization sampler constants. - static const int kSamplerFrameCount = 2; - static const int kSamplerFrameWeight[kSamplerFrameCount] = { 2, 1 }; -@@ -80,33 +54,10 @@ static const int kSamplerThresholdMin = - static const int kSamplerThresholdDelta = 1; - - static const int kSamplerThresholdSizeFactorInit = 3; --static const int kSamplerThresholdSizeFactorMin = 1; --static const int kSamplerThresholdSizeFactorDelta = 1; - - static const int kSizeLimit = 1500; - - --PendingListNode::PendingListNode(JSFunction* function) : next_(NULL) { -- GlobalHandles* global_handles = Isolate::Current()->global_handles(); -- function_ = global_handles->Create(function); -- start_ = OS::Ticks(); -- global_handles->MakeWeak(function_.location(), this, &WeakCallback); --} -- -- --void PendingListNode::Destroy() { -- if (!IsValid()) return; -- GlobalHandles* global_handles = Isolate::Current()->global_handles(); -- global_handles->Destroy(function_.location()); -- function_= Handle<Object>::null(); --} -- -- --void PendingListNode::WeakCallback(v8::Persistent<v8::Value>, void* data) { -- reinterpret_cast<PendingListNode*>(data)->Destroy(); --} -- -- - Atomic32 RuntimeProfiler::state_ = 0; - // TODO(isolates): Create the semaphore lazily and clean it up when no - // longer required. -@@ -125,16 +76,8 @@ RuntimeProfiler::RuntimeProfiler(Isolate - sampler_threshold_(kSamplerThresholdInit), - sampler_threshold_size_factor_(kSamplerThresholdSizeFactorInit), - sampler_ticks_until_threshold_adjustment_( -- kSamplerTicksBetweenThresholdAdjustment), -- js_ratio_(0), -- sampler_window_position_(0), -- optimize_soon_list_(NULL), -- state_window_position_(0), -- state_window_ticks_(0) { -- state_counts_[IN_NON_JS_STATE] = kStateWindowSize; -- state_counts_[IN_JS_STATE] = 0; -- STATIC_ASSERT(IN_NON_JS_STATE == 0); -- memset(state_window_, 0, sizeof(state_window_)); -+ kSamplerTicksBetweenThresholdAdjustment), -+ sampler_window_position_(0) { - ClearSampleBuffer(); - } - -@@ -148,16 +91,13 @@ void RuntimeProfiler::GlobalSetup() { - } - - --void RuntimeProfiler::Optimize(JSFunction* function, bool eager, int delay) { -+void RuntimeProfiler::Optimize(JSFunction* function) { - ASSERT(function->IsOptimizable()); - if (FLAG_trace_opt) { -- PrintF("[marking (%s) ", eager ? "eagerly" : "lazily"); -+ PrintF("[marking "); - function->PrintName(); - PrintF(" 0x%" V8PRIxPTR, reinterpret_cast<intptr_t>(function->address())); - PrintF(" for recompilation"); -- if (delay > 0) { -- PrintF(" (delayed %0.3f ms)", static_cast<double>(delay) / 1000); -- } - PrintF("]\n"); - } - -@@ -243,20 +183,6 @@ void RuntimeProfiler::AddSample(JSFuncti - - void RuntimeProfiler::OptimizeNow() { - HandleScope scope(isolate_); -- PendingListNode* current = optimize_soon_list_; -- while (current != NULL) { -- PendingListNode* next = current->next(); -- if (current->IsValid()) { -- Handle<JSFunction> function = current->function(); -- int delay = current->Delay(); -- if (function->IsOptimizable()) { -- Optimize(*function, true, delay); -- } -- } -- delete current; -- current = next; -- } -- optimize_soon_list_ = NULL; - - // Run through the JavaScript frames and collect them. If we already - // have a sample of the function, we mark it for optimizations -@@ -303,24 +229,9 @@ void RuntimeProfiler::OptimizeNow() { - : 1; - - int threshold = sampler_threshold_ * threshold_size_factor; -- int current_js_ratio = NoBarrier_Load(&js_ratio_); -- -- // Adjust threshold depending on the ratio of time spent -- // in JS code. -- if (current_js_ratio < 20) { -- // If we spend less than 20% of the time in JS code, -- // do not optimize. -- continue; -- } else if (current_js_ratio < 75) { -- // Below 75% of time spent in JS code, only optimize very -- // frequently used functions. -- threshold *= 3; -- } - - if (LookupSample(function) >= threshold) { -- Optimize(function, false, 0); -- isolate_->compilation_cache()->MarkForEagerOptimizing( -- Handle<JSFunction>(function)); -+ Optimize(function); - } - } - -@@ -333,40 +244,8 @@ void RuntimeProfiler::OptimizeNow() { - } - - --void RuntimeProfiler::OptimizeSoon(JSFunction* function) { -- if (!function->IsOptimizable()) return; -- PendingListNode* node = new PendingListNode(function); -- node->set_next(optimize_soon_list_); -- optimize_soon_list_ = node; --} -- -- --#ifdef ENABLE_LOGGING_AND_PROFILING --void RuntimeProfiler::UpdateStateRatio(SamplerState current_state) { -- SamplerState old_state = state_window_[state_window_position_]; -- state_counts_[old_state]--; -- state_window_[state_window_position_] = current_state; -- state_counts_[current_state]++; -- ASSERT(IsPowerOf2(kStateWindowSize)); -- state_window_position_ = (state_window_position_ + 1) & -- (kStateWindowSize - 1); -- // Note: to calculate correct ratio we have to track how many valid -- // ticks are actually in the state window, because on profiler -- // startup this number can be less than the window size. -- state_window_ticks_ = Min(kStateWindowSize, state_window_ticks_ + 1); -- NoBarrier_Store(&js_ratio_, state_counts_[IN_JS_STATE] * 100 / -- state_window_ticks_); --} --#endif -- -- - void RuntimeProfiler::NotifyTick() { - #ifdef ENABLE_LOGGING_AND_PROFILING -- // Record state sample. -- SamplerState state = IsSomeIsolateInJS() -- ? IN_JS_STATE -- : IN_NON_JS_STATE; -- UpdateStateRatio(state); - isolate_->stack_guard()->RequestRuntimeProfilerTick(); - #endif - } -@@ -424,7 +303,6 @@ void RuntimeProfiler::HandleWakeUp(Isola - // to get the right count of active isolates. - NoBarrier_AtomicIncrement(&state_, 1); - semaphore_->Signal(); -- isolate->ResetEagerOptimizingData(); - #endif - } - -@@ -471,15 +349,8 @@ void RuntimeProfiler::UpdateSamplesAfter - - bool RuntimeProfilerRateLimiter::SuspendIfNecessary() { - #ifdef ENABLE_LOGGING_AND_PROFILING -- static const int kNonJSTicksThreshold = 100; -- if (RuntimeProfiler::IsSomeIsolateInJS()) { -- non_js_ticks_ = 0; -- } else { -- if (non_js_ticks_ < kNonJSTicksThreshold) { -- ++non_js_ticks_; -- } else { -- return RuntimeProfiler::WaitForSomeIsolateToEnterJS(); -- } -+ if (!RuntimeProfiler::IsSomeIsolateInJS()) { -+ return RuntimeProfiler::WaitForSomeIsolateToEnterJS(); - } - #endif - return false; -diff -dupr chromium-13.0.782.112/v8/src/runtime-profiler.h chromium-13.0.782.112new/v8/src/runtime-profiler.h ---- chromium-13.0.782.112/v8/src/runtime-profiler.h 2011-08-06 10:24:29.000000000 +0200 -+++ chromium-13.0.782.112new/v8/src/runtime-profiler.h 2011-08-15 12:08:32.000000000 +0200 -@@ -37,7 +37,6 @@ namespace internal { - class Isolate; - class JSFunction; - class Object; --class PendingListNode; - class Semaphore; - - class RuntimeProfiler { -@@ -52,7 +51,6 @@ class RuntimeProfiler { - } - - void OptimizeNow(); -- void OptimizeSoon(JSFunction* function); - - void NotifyTick(); - -@@ -106,7 +104,7 @@ class RuntimeProfiler { - - static void HandleWakeUp(Isolate* isolate); - -- void Optimize(JSFunction* function, bool eager, int delay); -+ void Optimize(JSFunction* function); - - void AttemptOnStackReplacement(JSFunction* function); - -@@ -118,31 +116,16 @@ class RuntimeProfiler { - - void AddSample(JSFunction* function, int weight); - --#ifdef ENABLE_LOGGING_AND_PROFILING -- void UpdateStateRatio(SamplerState current_state); --#endif -- - Isolate* isolate_; - - int sampler_threshold_; - int sampler_threshold_size_factor_; - int sampler_ticks_until_threshold_adjustment_; - -- // The ratio of ticks spent in JS code in percent. -- Atomic32 js_ratio_; -- - Object* sampler_window_[kSamplerWindowSize]; - int sampler_window_position_; - int sampler_window_weight_[kSamplerWindowSize]; - -- // Support for pending 'optimize soon' requests. -- PendingListNode* optimize_soon_list_; -- -- SamplerState state_window_[kStateWindowSize]; -- int state_window_position_; -- int state_window_ticks_; -- int state_counts_[2]; -- - // Possible state values: - // -1 => the profiler thread is waiting on the semaphore - // 0 or positive => the number of isolates running JavaScript code. -@@ -159,7 +142,7 @@ class RuntimeProfiler { - // Rate limiter intended to be used in the profiler thread. - class RuntimeProfilerRateLimiter BASE_EMBEDDED { - public: -- RuntimeProfilerRateLimiter() : non_js_ticks_(0) { } -+ RuntimeProfilerRateLimiter() {} - - // Suspends the current thread (which must be the profiler thread) - // when not executing JavaScript to minimize CPU usage. Returns -@@ -170,8 +153,6 @@ class RuntimeProfilerRateLimiter BASE_EM - bool SuspendIfNecessary(); - - private: -- int non_js_ticks_; -- - DISALLOW_COPY_AND_ASSIGN(RuntimeProfilerRateLimiter); - }; - diff --git a/source/gnome-extra/chromium-browser/webrtc-r240-r242-make-pulseaudio-optional.patch b/source/gnome-extra/chromium-browser/webrtc-r240-r242-make-pulseaudio-optional.patch new file mode 100644 index 0000000..03f360f --- /dev/null +++ b/source/gnome-extra/chromium-browser/webrtc-r240-r242-make-pulseaudio-optional.patch @@ -0,0 +1,122 @@ +Index: third_party/webrtc/build/common.gypi +=================================================================== +--- third_party/webrtc/build/common.gypi (revision 239) ++++ third_party/webrtc/build/common.gypi (revision 240) +@@ -25,6 +25,13 @@ + 'direct_show_base_classes': + 'C:/Program Files/Microsoft SDKs/Windows/v7.1/Samples/multimedia/directshow/baseclasses/', + }], ++ ['build_with_chromium==1', { ++ # Exclude pulse audio on Chromium since its prerequisites don't ++ # include pulse audio. ++ 'include_pulse_audio%': 0, ++ }, { ++ 'include_pulse_audio%': 1, ++ }], + ], # conditions + }, + 'target_defaults': { +Index: third_party/webrtc/modules/audio_device/main/source/audio_device.gyp +=================================================================== +--- third_party/webrtc/modules/audio_device/main/source/audio_device.gyp (revision 239) ++++ third_party/webrtc/modules/audio_device/main/source/audio_device.gyp (revision 240) +@@ -52,18 +52,12 @@ + 'Linux/alsasymboltable.h', + 'Linux/audio_device_linux_alsa.cc', + 'Linux/audio_device_linux_alsa.h', +- 'Linux/audio_device_linux_pulse.cc', +- 'Linux/audio_device_linux_pulse.h', + 'Linux/audio_device_utility_linux.cc', + 'Linux/audio_device_utility_linux.h', + 'Linux/audio_mixer_manager_linux_alsa.cc', + 'Linux/audio_mixer_manager_linux_alsa.h', +- 'Linux/audio_mixer_manager_linux_pulse.cc', +- 'Linux/audio_mixer_manager_linux_pulse.h', + 'Linux/latebindingsymboltable.cc', + 'Linux/latebindingsymboltable.h', +- 'Linux/pulseaudiosymboltable.cc', +- 'Linux/pulseaudiosymboltable.h', + 'Mac/audio_device_mac.cc', + 'Mac/audio_device_mac.h', + 'Mac/audio_device_utility_mac.cc', +@@ -89,16 +83,10 @@ + 'Linux/alsasymboltable.h', + 'Linux/audio_device_linux_alsa.cc', + 'Linux/audio_device_linux_alsa.h', +- 'Linux/audio_device_linux_pulse.cc', +- 'Linux/audio_device_linux_pulse.h', + 'Linux/audio_mixer_manager_linux_alsa.cc', + 'Linux/audio_mixer_manager_linux_alsa.h', +- 'Linux/audio_mixer_manager_linux_pulse.cc', +- 'Linux/audio_mixer_manager_linux_pulse.h', + 'Linux/latebindingsymboltable.cc', + 'Linux/latebindingsymboltable.h', +- 'Linux/pulseaudiosymboltable.cc', +- 'Linux/pulseaudiosymboltable.h', + # Don't remove these, needed for dummy device + # 'Linux/audio_device_utility_linux.cc', + # 'Linux/audio_device_utility_linux.h', +@@ -131,7 +119,6 @@ + }], + ['OS=="linux"', { + 'defines': [ +- 'LINUX_PULSE', + 'LINUX_ALSA', + ], + 'include_dirs': [ +@@ -141,9 +128,28 @@ + 'libraries': [ + '-ldl', + '-lasound', +- '-lpulse', + ], + }, ++ 'conditions': [ ++ ['include_pulse_audio==1', { ++ 'defines': [ ++ 'LINUX_PULSE', ++ ], ++ 'sources': [ ++ 'Linux/audio_device_linux_pulse.cc', ++ 'Linux/audio_device_linux_pulse.h', ++ 'Linux/audio_mixer_manager_linux_pulse.cc', ++ 'Linux/audio_mixer_manager_linux_pulse.h', ++ 'Linux/pulseaudiosymboltable.cc', ++ 'Linux/pulseaudiosymboltable.h', ++ ], ++ 'link_settings': { ++ 'libraries': [ ++ '-lpulse', ++ ], ++ }, ++ }], ++ ], + }], + ['OS=="mac"', { + 'include_dirs': [ +Index: third_party/webrtc/build/common.gypi +=================================================================== +--- third_party/webrtc/build/common.gypi (revision 241) ++++ third_party/webrtc/build/common.gypi (revision 242) +@@ -10,9 +10,19 @@ + + { + 'variables': { +- # TODO(ajm): use webrtc_standalone to match NaCl? +- 'build_with_chromium%': 1, # 1 to build webrtc with chromium ++ # Putting a variables dict inside another variables dict looks kind of ++ # weird. This is done so that 'build_with_chromium' is defined as ++ # variable within the outer variables dict here. This is necessary ++ # to get these variables defined for the conditions within this variables ++ # dict that operate on these variables (e.g., for setting ++ # 'include_pulse_audio', we need to have 'build_with_chromium' already set). ++ 'variables': { ++ # TODO(ajm): use webrtc_standalone to match NaCl? ++ 'build_with_chromium%': 1, # 1 to build webrtc with chromium ++ }, + ++ 'build_with_chromium%': '<(build_with_chromium)', ++ + # Selects fixed-point code where possible. + # TODO(ajm): we'd like to set this based on the target OS/architecture. + 'prefer_fixed_point%': 0, _______________________________________________ Frugalware-git mailing list Frugalware-git@frugalware.org http://frugalware.org/mailman/listinfo/frugalware-git