extra/chromium to 28.0.1500.45-1

This commit is contained in:
Kevin Mihelich 2013-06-18 14:54:36 +00:00
parent ff760f29d5
commit b3a620ce01
6 changed files with 64 additions and 187 deletions

View file

@ -19,16 +19,16 @@ buildarch=20
highmem=1
pkgname=chromium
pkgver=27.0.1453.110
pkgrel=1.1
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=('armv6h' 'armv7h')
url="http://www.chromium.org/"
license=('BSD')
depends=('gtk2' 'nss' 'alsa-lib' 'ffmpeg' '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')
optdepends=('kdebase-kdialog: needed for file dialogs in KDE')
@ -40,19 +40,13 @@ source=(http://commondatastorage.googleapis.com/chromium-browser-official/$pkgna
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
chromium-system-harfbuzz-r0.patch
die-sysroot-die.patch)
sha256sums=('85ebae343507bcd2393f2e159f2204e47a2f5e2a45fa9f3a389bcdfc17d4c1f8'
sha256sums=('f183d4d6f733dfed4b9391c4c6cfc831af1d050f00bdebb504b0d413cdc65d07'
'09bfac44104f4ccda4c228053f689c947b3e97da9a4ab6fa34ce061ee83d0322'
'478340d5760a9bd6c549e19b1b5d1c5b4933ebf5f8cfb2b3e2d70d07443fe232'
'4999fded897af692f4974f0a3e3bbb215193519918a1fa9b31ed51e74a2dccb9'
'9875ffcc0e9ae9420876ac66b130b1b017d445a031d43cbe0119793e1fb3781c'
'c57d760589af1566469fbba0d85624b53eb07a3077485599f599a226dbd4d2a8'
'd530f52cb485ff8da035b38ffebe171309a1d8e515040f5e6398ecb286336797'
'23b04468881642ffdc8457016c8f91df395dfccb4af2ad6b758168180ae070f3'
'2bc4cf17adac9864f4e832e57247984f28fce171d3699c0fc2c3596d1ab20386'
'66705264d9e679a58ed522b4475a06c8a5a4fe52a709c537b1a7d5aa43fb6c84')
# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
@ -70,19 +64,8 @@ prepare() {
# Remove ARM sysroot garbage
patch -Np1 -i "$srcdir/die-sysroot-die.patch"
# Fix build without pnacl (patch from Gentoo)
patch -Np0 -i "$srcdir/chromium-pnacl-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"
# Fix build with system harfbuzz (patch from Gentoo)
patch -Np1 -i "$srcdir/chromium-system-harfbuzz-r0.patch"
# Use Python 2
find . -type f -exec sed -i -r \
@ -122,7 +105,7 @@ arch_specific_flags="
-Darm_fpu=vfpv3-d16"
fi
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 \
@ -136,17 +119,21 @@ fi
-Dlinux_use_gold_binary=0 \
-Dlinux_use_gold_flags=0 \
-Drelease_extra_cflags="$CFLAGS -DUSE_EABI_HARDFLOAT" \
-Dlibspeechd_h_prefix=speech-dispatcher/ \
-Dffmpeg_branding=Chrome \
-Dproprietary_codecs=1 \
-Duse_system_bzip2=1 \
-Duse_system_flac=1 \
-Duse_system_ffmpeg=1 \
-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 \
@ -162,7 +149,10 @@ fi
-Dv8_use_arm_eabi_hardfloat=true \
-Darm_float_abi=hard \
-Denable_webrtc=0 \
${arch_specific_flags}
${arch_specific_flags})
build/linux/unbundle/replace_gyp_files.py "${_chromium_conf[@]}"
build/gyp_chromium --depth=. "${_chromium_conf[@]}"
make chrome chrome_sandbox BUILDTYPE=Release
}

View file

@ -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',

View file

@ -1,96 +0,0 @@
From ed5409740e3f6c13895a29b770d46d659973863e Mon Sep 17 00:00:00 2001
From: "dalecurtis@google.com"
<dalecurtis@google.com@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.
R=xians@chromium.org
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

View file

@ -1,39 +0,0 @@
From afcf3acc715aef47855ced19434dba2f52b92400 Mon Sep 17 00:00:00 2001
From: "dcheng@chromium.org"
<dcheng@chromium.org@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

View file

@ -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',

View file

@ -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))',
],
},
},