Date: Tuesday, June 18, 2013 @ 05:41:11 Author: foutrelis Revision: 188691
Prepare Chromium 28 update. Added: chromium/trunk/chromium-system-harfbuzz-r0.patch Modified: chromium/trunk/PKGBUILD Deleted: chromium/trunk/chromium-26.0.1410.43-speechd-0.8.patch chromium/trunk/chromium-27.0.1453.93-allow-sample-rate-pass-through-on-linux.patch chromium/trunk/chromium-27.0.1453.93-fix-crash-when-quickly-dragging-a-new-tab.patch chromium/trunk/chromium-pnacl-r0.patch -----------------------------------------------------------------------+ PKGBUILD | 48 +---- chromium-26.0.1410.43-speechd-0.8.patch | 11 - chromium-27.0.1453.93-allow-sample-rate-pass-through-on-linux.patch | 96 ---------- chromium-27.0.1453.93-fix-crash-when-quickly-dragging-a-new-tab.patch | 39 ---- chromium-pnacl-r0.patch | 11 - chromium-system-harfbuzz-r0.patch | 44 ++++ 6 files changed, 63 insertions(+), 186 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2013-06-18 01:22:22 UTC (rev 188690) +++ PKGBUILD 2013-06-18 03:41:11 UTC (rev 188691) @@ -5,16 +5,16 @@ # Contributor: Daniel J Griffiths <[email protected]> pkgname=chromium -pkgver=27.0.1453.110 +pkgver=28.0.1500.45 pkgrel=1 pkgdesc="The open-source project behind Google Chrome, an attempt at creating a safer, faster, and more stable browser" arch=('i686' 'x86_64') url="http://www.chromium.org/" license=('BSD') -depends=('gtk2' 'nss' 'alsa-lib' 'xdg-utils' 'bzip2' 'libevent' 'libxss' - 'libgcrypt' 'ttf-font' 'udev' 'dbus' 'flac' 'opus' 'libwebp' - 'speech-dispatcher' 'pciutils' 'libpulse' 'desktop-file-utils' - 'hicolor-icon-theme') +depends=('gtk2' 'nss' 'alsa-lib' 'xdg-utils' 'bzip2' 'libevent' 'libxss' 'icu' + 'libgcrypt' 'ttf-font' 'udev' 'dbus' 'flac' 'opus' 'libwebp' 'snappy' + 'speech-dispatcher' 'pciutils' 'libpulse' 'harfbuzz' 'harfbuzz-icu' + 'desktop-file-utils' 'hicolor-icon-theme') makedepends=('python2' 'perl' 'gperf' 'yasm' 'mesa' 'libgnome-keyring' 'elfutils' 'subversion' 'nacl-toolchain-newlib') optdepends=('kdebase-kdialog: needed for file dialogs in KDE') @@ -24,18 +24,12 @@ chromium.desktop chromium.default chromium.sh - chromium-pnacl-r0.patch - chromium-27.0.1453.93-allow-sample-rate-pass-through-on-linux.patch - chromium-27.0.1453.93-fix-crash-when-quickly-dragging-a-new-tab.patch - chromium-26.0.1410.43-speechd-0.8.patch) -sha256sums=('85ebae343507bcd2393f2e159f2204e47a2f5e2a45fa9f3a389bcdfc17d4c1f8' + chromium-system-harfbuzz-r0.patch) +sha256sums=('f183d4d6f733dfed4b9391c4c6cfc831af1d050f00bdebb504b0d413cdc65d07' '09bfac44104f4ccda4c228053f689c947b3e97da9a4ab6fa34ce061ee83d0322' '478340d5760a9bd6c549e19b1b5d1c5b4933ebf5f8cfb2b3e2d70d07443fe232' '4999fded897af692f4974f0a3e3bbb215193519918a1fa9b31ed51e74a2dccb9' - '9875ffcc0e9ae9420876ac66b130b1b017d445a031d43cbe0119793e1fb3781c' - 'c57d760589af1566469fbba0d85624b53eb07a3077485599f599a226dbd4d2a8' - 'd530f52cb485ff8da035b38ffebe171309a1d8e515040f5e6398ecb286336797' - '23b04468881642ffdc8457016c8f91df395dfccb4af2ad6b758168180ae070f3') + '2bc4cf17adac9864f4e832e57247984f28fce171d3699c0fc2c3596d1ab20386') # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) # Note: These are for Arch Linux use ONLY. For your own distribution, please @@ -48,20 +42,9 @@ prepare() { cd "$srcdir/$pkgname-$pkgver" - # Fix build without pnacl (patch from Gentoo) - patch -Np0 -i "$srcdir/chromium-pnacl-r0.patch" + # Fix build with system harfbuzz (patch from Gentoo) + patch -Np1 -i "$srcdir/chromium-system-harfbuzz-r0.patch" - # Allow sample rate pass through on Linux - # https://code.google.com/p/chromium/issues/detail?id=229918 - patch -Np1 -i "$srcdir/chromium-27.0.1453.93-allow-sample-rate-pass-through-on-linux.patch" - - # Fix crash when quickly dragging a new tab - # https://code.google.com/p/chromium/issues/detail?id=228918 - patch -Np1 -i "$srcdir/chromium-27.0.1453.93-fix-crash-when-quickly-dragging-a-new-tab.patch" - - # Fix header location for speech-dispatcher 0.8 (patch from PLD Linux) - patch -Np2 -i "$srcdir/chromium-26.0.1410.43-speechd-0.8.patch" - # Use Python 2 find . -type f -exec sed -i -r \ -e 's|/usr/bin/python$|&2|g' \ @@ -89,7 +72,7 @@ # Silence "typedef 'x' locally defined but not used" warnings CFLAGS+=' -Wno-unused-local-typedefs' - build/gyp_chromium --depth=. \ + local _chromium_conf=( -Dgoogle_api_key=$_google_api_key \ -Dgoogle_default_client_id=$_google_default_client_id \ -Dgoogle_default_client_secret=$_google_default_client_secret \ @@ -104,17 +87,21 @@ -Dlinux_use_gold_flags=0 \ -Dlinux_use_tcmalloc=0 \ -Drelease_extra_cflags="$CFLAGS" \ + -Dlibspeechd_h_prefix=speech-dispatcher/ \ -Dffmpeg_branding=Chrome \ -Dproprietary_codecs=1 \ -Duse_system_bzip2=1 \ -Duse_system_flac=1 \ -Duse_system_ffmpeg=0 \ + -Duse_system_harfbuzz=1 \ + -Duse_system_icu=1 \ -Duse_system_libevent=1 \ -Duse_system_libjpeg=1 \ -Duse_system_libpng=1 \ -Duse_system_libwebp=1 \ -Duse_system_libxml=0 \ -Duse_system_opus=1 \ + -Duse_system_snappy=1 \ -Duse_system_ssl=0 \ -Duse_system_xdg_utils=1 \ -Duse_system_yasm=1 \ @@ -123,8 +110,11 @@ -Ddisable_glibc=1 \ -Ddisable_pnacl=1 \ -Ddisable_newlib_untar=1 \ - -Ddisable_sse2=1 + -Ddisable_sse2=1) + build/linux/unbundle/replace_gyp_files.py "${_chromium_conf[@]}" + build/gyp_chromium --depth=. "${_chromium_conf[@]}" + make chrome chrome_sandbox BUILDTYPE=Release } Deleted: chromium-26.0.1410.43-speechd-0.8.patch =================================================================== --- chromium-26.0.1410.43-speechd-0.8.patch 2013-06-18 01:22:22 UTC (rev 188690) +++ chromium-26.0.1410.43-speechd-0.8.patch 2013-06-18 03:41:11 UTC (rev 188691) @@ -1,11 +0,0 @@ ---- chromium-browser-26.0.1410.19/src/build/linux/system.gyp~ 2013-03-04 00:04:06.000000000 +0200 -+++ chromium-browser-26.0.1410.19/src/build/linux/system.gyp 2013-03-04 13:45:31.822101677 +0200 -@@ -494,7 +494,7 @@ - '--name', 'LibSpeechdLoader', - '--output-h', '<(output_h)', - '--output-cc', '<(output_cc)', -- '--header', '<libspeechd.h>', -+ '--header', '<speech-dispatcher/libspeechd.h>', - '--link-directly=<(linux_link_libspeechd)', - 'spd_open', - 'spd_say', Deleted: chromium-27.0.1453.93-allow-sample-rate-pass-through-on-linux.patch =================================================================== --- chromium-27.0.1453.93-allow-sample-rate-pass-through-on-linux.patch 2013-06-18 01:22:22 UTC (rev 188690) +++ chromium-27.0.1453.93-allow-sample-rate-pass-through-on-linux.patch 2013-06-18 03:41:11 UTC (rev 188691) @@ -1,96 +0,0 @@ -From ed5409740e3f6c13895a29b770d46d659973863e Mon Sep 17 00:00:00 2001 -From: "[email protected]" - <[email protected]@0039d316-1c4b-4281-b951-d872f2087c98> -Date: Fri, 24 May 2013 23:54:45 +0000 -Subject: [PATCH] Allow sample rate pass through on Linux. - -Requiring the native output sample rate to avoid glitching appears -to have just been an issue with a poor tlength choice. xians and -I resolved this prior to turning PulseAudio on by default, but left -the native sample rate requirement in at the time. - -Since "native sample rate" can change on the fly with PulseAudio -our approach of specifying FIX_RATE was incorrect. Allowing Pulse -to handle resampling lets us remove the FIX_RATE flag. It also -improves CPU usage in cases where Pulse can configure the output -device to match the requested sample rate. - -BUG=229918 -TEST=extensive manual checks for glitching. [email protected] - -Review URL: https://codereview.chromium.org/15957002 - -git-svn-id: svn://svn.chromium.org/chrome/trunk/src@202233 0039d316-1c4b-4281-b951-d872f2087c98 ---- - content/renderer/media/audio_renderer_mixer_manager.cc | 6 +++--- - media/audio/pulse/audio_manager_pulse.cc | 6 +++++- - media/audio/pulse/pulse_util.cc | 6 +++--- - 3 files changed, 11 insertions(+), 7 deletions(-) - -diff --git a/content/renderer/media/audio_renderer_mixer_manager.cc b/content/renderer/media/audio_renderer_mixer_manager.cc -index 7db67d1..0044d25 100644 ---- a/content/renderer/media/audio_renderer_mixer_manager.cc -+++ b/content/renderer/media/audio_renderer_mixer_manager.cc -@@ -52,9 +52,9 @@ media::AudioRendererMixer* AudioRendererMixerManager::GetMixer( - return it->second.mixer; - } - -- // On ChromeOS we can rely on the playback device to handle resampling, so -- // don't waste cycles on it here. --#if defined(OS_CHROMEOS) -+ // On ChromeOS and Linux we can rely on the playback device to handle -+ // resampling, so don't waste cycles on it here. -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - int sample_rate = params.sample_rate(); - #else - int sample_rate = hardware_config_->GetOutputSampleRate(); -diff --git a/media/audio/pulse/audio_manager_pulse.cc b/media/audio/pulse/audio_manager_pulse.cc -index c127d17..fed919a 100644 ---- a/media/audio/pulse/audio_manager_pulse.cc -+++ b/media/audio/pulse/audio_manager_pulse.cc -@@ -141,11 +141,15 @@ AudioParameters AudioManagerPulse::GetPreferredOutputStreamParameters( - int buffer_size = kDefaultOutputBufferSize; - int bits_per_sample = 16; - int input_channels = 0; -+ int sample_rate; - if (input_params.IsValid()) { - bits_per_sample = input_params.bits_per_sample(); - channel_layout = input_params.channel_layout(); - input_channels = input_params.input_channels(); - buffer_size = std::min(buffer_size, input_params.frames_per_buffer()); -+ sample_rate = input_params.sample_rate(); -+ } else { -+ sample_rate = GetNativeSampleRate(); - } - - int user_buffer_size = GetUserBufferSize(); -@@ -154,7 +158,7 @@ AudioParameters AudioManagerPulse::GetPreferredOutputStreamParameters( - - return AudioParameters( - AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, input_channels, -- GetNativeSampleRate(), bits_per_sample, buffer_size); -+ sample_rate, bits_per_sample, buffer_size); - } - - AudioOutputStream* AudioManagerPulse::MakeOutputStream( -diff --git a/media/audio/pulse/pulse_util.cc b/media/audio/pulse/pulse_util.cc -index 0a4734b..6a4dad1 100644 ---- a/media/audio/pulse/pulse_util.cc -+++ b/media/audio/pulse/pulse_util.cc -@@ -289,9 +289,9 @@ bool CreateOutputStream(pa_threaded_mainloop** mainloop, - pa_stream_connect_playback( - *stream, NULL, &pa_buffer_attributes, - static_cast<pa_stream_flags_t>( -- PA_STREAM_FIX_RATE | PA_STREAM_INTERPOLATE_TIMING | -- PA_STREAM_ADJUST_LATENCY | PA_STREAM_AUTO_TIMING_UPDATE | -- PA_STREAM_NOT_MONOTONIC | PA_STREAM_START_CORKED), -+ PA_STREAM_INTERPOLATE_TIMING | PA_STREAM_ADJUST_LATENCY | -+ PA_STREAM_AUTO_TIMING_UPDATE | PA_STREAM_NOT_MONOTONIC | -+ PA_STREAM_START_CORKED), - NULL, NULL) == 0, - "pa_stream_connect_playback FAILED "); - --- -1.8.2.2 - Deleted: chromium-27.0.1453.93-fix-crash-when-quickly-dragging-a-new-tab.patch =================================================================== --- chromium-27.0.1453.93-fix-crash-when-quickly-dragging-a-new-tab.patch 2013-06-18 01:22:22 UTC (rev 188690) +++ chromium-27.0.1453.93-fix-crash-when-quickly-dragging-a-new-tab.patch 2013-06-18 03:41:11 UTC (rev 188691) @@ -1,39 +0,0 @@ -From afcf3acc715aef47855ced19434dba2f52b92400 Mon Sep 17 00:00:00 2001 -From: "[email protected]" - <[email protected]@0039d316-1c4b-4281-b951-d872f2087c98> -Date: Fri, 24 May 2013 21:49:42 +0000 -Subject: [PATCH] Fix crash when quickly dragging a new tab. - -The root cause is r185551, which changed the semantics of -scoped_ptr::reset(). This code depended on the fact that a get() during -a reset() would return the original value of the stored pointer, but -after r185551, it returns the value that it is being reset to. This -caused the code to stop an animation and the code to end a drag to -conflict, since the animation code would sometimes delete a TabGtk that -was still being dragged. - -BUG=228918 - -Review URL: https://chromiumcodereview.appspot.com/16035005 - -git-svn-id: svn://svn.chromium.org/chrome/trunk/src@202184 0039d316-1c4b-4281-b951-d872f2087c98 ---- - chrome/browser/ui/gtk/tabs/tab_strip_gtk.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/chrome/browser/ui/gtk/tabs/tab_strip_gtk.cc b/chrome/browser/ui/gtk/tabs/tab_strip_gtk.cc -index d86364d..4e6c352 100644 ---- a/chrome/browser/ui/gtk/tabs/tab_strip_gtk.cc -+++ b/chrome/browser/ui/gtk/tabs/tab_strip_gtk.cc -@@ -1406,7 +1406,7 @@ void TabStripGtk::RemoveTabAt(int index) { - // Remove the Tab from the TabStrip's list. - tab_data_.erase(tab_data_.begin() + index); - -- if (!IsDragSessionActive() || !drag_controller_->IsDraggingTab(removed)) { -+ if (!removed->dragging()) { - gtk_container_remove(GTK_CONTAINER(tabstrip_.get()), removed->widget()); - delete removed; - } --- -1.8.2.3 - Deleted: chromium-pnacl-r0.patch =================================================================== --- chromium-pnacl-r0.patch 2013-06-18 01:22:22 UTC (rev 188690) +++ chromium-pnacl-r0.patch 2013-06-18 03:41:11 UTC (rev 188691) @@ -1,11 +0,0 @@ ---- ppapi/native_client/src/untrusted/pnacl_support_extension/pnacl_support_extension.gyp.orig 2013-03-27 19:49:17.000000000 +0100 -+++ ppapi/native_client/src/untrusted/pnacl_support_extension/pnacl_support_extension.gyp 2013-03-27 19:49:59.000000000 +0100 -@@ -13,7 +13,7 @@ - 'target_name': 'pnacl_support_extension', - 'type': 'none', - 'conditions': [ -- ['disable_nacl==0 and disable_nacl_untrusted==0', { -+ ['disable_nacl==0 and disable_pnacl==0 and disable_nacl_untrusted==0', { - 'dependencies': [ - '../../../../../ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_irt_shim.gyp:pnacl_irt_shim', - '../../../../../native_client/tools.gyp:prep_toolchain', Added: chromium-system-harfbuzz-r0.patch =================================================================== --- chromium-system-harfbuzz-r0.patch (rev 0) +++ chromium-system-harfbuzz-r0.patch 2013-06-18 03:41:11 UTC (rev 188691) @@ -0,0 +1,44 @@ +Index: build/linux/unbundle/harfbuzz.gyp +diff --git a/build/linux/unbundle/harfbuzz.gyp b/build/linux/unbundle/harfbuzz.gyp +index 456dd384df2d5c57d9857cfb775d46ef87add2bc..93b2a69c12d7b7524fa0c2aa67b52136b779196d 100644 +--- a/build/linux/unbundle/harfbuzz.gyp ++++ b/build/linux/unbundle/harfbuzz.gyp +@@ -3,24 +3,34 @@ + # found in the LICENSE file. + + { ++ 'variables': { ++ # Check for presence of harfbuzz-icu library, use it if present. ++ 'harfbuzz_libraries': ++ '<!(python <(DEPTH)/tools/compile_test/compile_test.py ' ++ '--code "int main() { return 0; }" ' ++ '--run-linker ' ++ '--on-success "harfbuzz harfbuzz-icu" ' ++ '--on-failure "harfbuzz" ' ++ '-- -lharfbuzz-icu)', ++ }, + 'targets': [ + { + 'target_name': 'harfbuzz-ng', + 'type': 'none', + 'cflags': [ +- '<!@(pkg-config --cflags harfbuzz)', ++ '<!@(pkg-config --cflags <(harfbuzz_libraries))', + ], + 'direct_dependent_settings': { + 'cflags': [ +- '<!@(pkg-config --cflags harfbuzz)', ++ '<!@(pkg-config --cflags <(harfbuzz_libraries))', + ], + }, + 'link_settings': { + 'ldflags': [ +- '<!@(pkg-config --libs-only-L --libs-only-other harfbuzz)', ++ '<!@(pkg-config --libs-only-L --libs-only-other <(harfbuzz_libraries))', + ], + 'libraries': [ +- '<!@(pkg-config --libs-only-l harfbuzz)', ++ '<!@(pkg-config --libs-only-l <(harfbuzz_libraries))', + ], + }, + },
