extra/chromium to 26.0.1410.43-2

This commit is contained in:
Kevin Mihelich 2013-03-29 05:24:20 +00:00
parent 96fc150d43
commit 0266275cf8
3 changed files with 22 additions and 212 deletions

View file

@ -17,13 +17,13 @@ highmem=1
pkgname=chromium
pkgver=26.0.1410.43
pkgrel=1
pkgrel=22
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' 'ffmpeg'
'libgcrypt' 'ttf-font' 'udev' 'dbus' 'flac' 'opus' 'libwebp'
'speech-dispatcher' 'pciutils' 'desktop-file-utils'
'hicolor-icon-theme')
makedepends=('python2' 'perl' 'gperf' 'yasm' 'mesa' 'libgnome-keyring'
@ -42,7 +42,7 @@ source=(http://commondatastorage.googleapis.com/chromium-browser-official/$pkgna
chromium-20.0.1132.57-glib-2.16-use-siginfo_t.patch
chromium-25.0.1364.152-fix-crash-when-cups-is-down.patch
chromium-ppapi-r0.patch
chromium-system-ffmpeg-r2a.patch
chromium-26.0.1410.43-audio-buffer-size.patch
chromium-26.0.1410.43-speechd-0.8.patch
die-sysroot-die.patch)
sha256sums=('31021f81642124b75cb9fa68aa806206dea345bf1aaf7094c71b3f84344b1d84'
@ -52,7 +52,7 @@ sha256sums=('31021f81642124b75cb9fa68aa806206dea345bf1aaf7094c71b3f84344b1d84'
'c1baf14121502efbc2a31b64029dcafa0e28ca5b71ad0e28a3c6342d18198615'
'36ff43d8e85a7eac305727057c4ffd45eb7a357ce212a4a3f153037bc34a5ace'
'1f4b57670d317959bc2dc60e5d2a44aa8fc6028f7ed540cdb502fa0aa99c81bd'
'8344737762508e33f748a04a81fc460c82e1752ad49d214abf4ff670ecd06925'
'5af41119d383b10c21f98f0e02d2259cc8cf60eefdb2fa737d8ed87d4c01f056'
'23b04468881642ffdc8457016c8f91df395dfccb4af2ad6b758168180ae070f3'
'66705264d9e679a58ed522b4475a06c8a5a4fe52a709c537b1a7d5aa43fb6c84')
@ -71,12 +71,12 @@ build() {
# Fix build without NaCl glibc toolchain (patch from Gentoo)
patch -Np0 -i "$srcdir/chromium-ppapi-r0.patch"
# Patch to build with system ffmpeg (patch from Gentoo)
patch -Np1 -i "$srcdir/chromium-system-ffmpeg-r2a.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"
# http://code.google.com/p/chromium/issues/detail?id=178626
patch -Np1 -i "$srcdir/chromium-26.0.1410.43-audio-buffer-size.patch"
# Use Python 2
find . -type f -exec sed -i -r \
-e 's|/usr/bin/python$|&2|g' \
@ -103,10 +103,11 @@ build() {
-Dlinux_use_gold_binary=0 \
-Dlinux_use_gold_flags=0 \
-Drelease_extra_cflags="$CFLAGS -DUSE_EABI_HARDFLOAT" \
-Dffmpeg_branding=Chrome \
-Dproprietary_codecs=1 \
-Duse_system_bzip2=1 \
-Duse_system_flac=1 \
-Duse_system_ffmpeg=1 \
-Duse_system_ffmpeg=0 \
-Duse_system_libevent=1 \
-Duse_system_libjpeg=1 \
-Duse_system_libpng=1 \
@ -142,7 +143,7 @@ package() {
install -Dm4755 -o root -g root out/Release/chrome_sandbox \
"$pkgdir/usr/lib/chromium/chromium-sandbox"
cp out/Release/*.pak \
cp out/Release/{*.pak,libffmpegsumo.so} \
"$pkgdir/usr/lib/chromium/"
# Allow users to override command-line options

View file

@ -0,0 +1,12 @@
diff -upr chromium-26.0.1410.43.orig/media/audio/audio_util.cc chromium-26.0.1410.43/media/audio/audio_util.cc
--- chromium-26.0.1410.43.orig/media/audio/audio_util.cc 2013-03-29 02:10:07.000000000 +0200
+++ chromium-26.0.1410.43/media/audio/audio_util.cc 2013-03-29 02:21:41.000000000 +0200
@@ -201,8 +201,6 @@ size_t GetAudioHardwareBufferSize() {
HRESULT hr = CoreAudioUtil::GetPreferredAudioParameters(eRender, eConsole,
&params);
return FAILED(hr) ? kFallbackBufferSize : params.frames_per_buffer();
-#elif defined(OS_LINUX)
- return 512;
#else
return 2048;
#endif

View file

@ -1,203 +0,0 @@
diff --git a/media/filters/ffmpeg_glue.h b/media/filters/ffmpeg_glue.h
index 17241b9..8a92312 100644
--- a/media/filters/ffmpeg_glue.h
+++ b/media/filters/ffmpeg_glue.h
@@ -28,9 +28,9 @@
#include "base/basictypes.h"
#include "base/memory/scoped_ptr.h"
#include "media/base/media_export.h"
+#include "media/ffmpeg/ffmpeg_common.h"
struct AVFormatContext;
-struct AVIOContext;
namespace media {
diff --git a/media/media.gyp b/media/media.gyp
index df217d2..fde3830 100644
--- a/media/media.gyp
+++ b/media/media.gyp
@@ -363,6 +363,9 @@
'dependencies': [
'../third_party/ffmpeg/ffmpeg.gyp:ffmpeg',
],
+ 'export_dependent_settings': [
+ '../third_party/ffmpeg/ffmpeg.gyp:ffmpeg',
+ ],
}, { # media_use_ffmpeg == 0
# Exclude the sources that depend on ffmpeg.
'sources!': [
--- a/media/ffmpeg/ffmpeg_common.cc.orig 2013-01-17 00:07:51.635057013 +0000
+++ b/media/ffmpeg/ffmpeg_common.cc 2013-01-17 00:15:50.867406811 +0000
@@ -10,6 +10,8 @@
#include "media/base/video_frame.h"
#include "media/base/video_util.h"
+#undef SampleFormat
+
namespace media {
// Why FF_INPUT_BUFFER_PADDING_SIZE? FFmpeg assumes all input buffers are
Index: build/common.gypi
diff --git a/build/common.gypi b/build/common.gypi
index 34c6a15e0add1001e4a24712c9c809e3b698a390..521decfa19d102263086ebf4de7c8bac74c95e30 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -741,6 +741,9 @@
'google_default_client_secret%': '<(google_default_client_secret)',
'enable_managed_users%': '<(enable_managed_users)',
+ # Use system ffmpeg instead of bundled one.
+ 'use_system_ffmpeg%': 0,
+
# Use system mesa instead of bundled one.
'use_system_mesa%': 0,
Index: media/ffmpeg/ffmpeg_common.cc
diff --git a/media/ffmpeg/ffmpeg_common.cc b/media/ffmpeg/ffmpeg_common.cc
index 26953efc699a0dc1ce9cd951eb47b04713974b44..bf234304aa2b26fb7e0f729a4e75257099c00358 100644
--- a/media/ffmpeg/ffmpeg_common.cc
+++ b/media/ffmpeg/ffmpeg_common.cc
@@ -84,8 +84,10 @@ AudioCodec CodecIDToAudioCodec(CodecID codec_id) {
return kCodecGSM_MS;
case CODEC_ID_PCM_MULAW:
return kCodecPCM_MULAW;
+#ifndef CHROMIUM_OMIT_CODEC_ID_OPUS
case CODEC_ID_OPUS:
return kCodecOpus;
+#endif
default:
DVLOG(1) << "Unknown audio CodecID: " << codec_id;
}
@@ -129,8 +131,10 @@ static CodecID AudioCodecToCodecID(AudioCodec audio_codec,
return CODEC_ID_GSM_MS;
case kCodecPCM_MULAW:
return CODEC_ID_PCM_MULAW;
+#ifndef CHROMIUM_OMIT_CODEC_ID_OPUS
case kCodecOpus:
return CODEC_ID_OPUS;
+#endif
default:
DVLOG(1) << "Unknown AudioCodec: " << audio_codec;
}
@@ -147,8 +151,10 @@ VideoCodec CodecIDToVideoCodec(CodecID codec_id) {
return kCodecMPEG4;
case CODEC_ID_VP8:
return kCodecVP8;
+#ifndef CHROMIUM_OMIT_AV_CODEC_ID_VP9
case AV_CODEC_ID_VP9:
return kCodecVP9;
+#endif
default:
DVLOG(1) << "Unknown video CodecID: " << codec_id;
}
@@ -165,8 +171,10 @@ static CodecID VideoCodecToCodecID(VideoCodec video_codec) {
return CODEC_ID_MPEG4;
case kCodecVP8:
return CODEC_ID_VP8;
+#ifndef CHROMIUM_OMIT_AV_CODEC_ID_VP9
case kCodecVP9:
return AV_CODEC_ID_VP9;
+#endif
default:
DVLOG(1) << "Unknown VideoCodec: " << video_codec;
}
@@ -468,8 +476,10 @@ ChannelLayout ChannelLayoutToChromeChannelLayout(int64_t layout, int channels) {
return CHANNEL_LAYOUT_6_1_FRONT;
case AV_CH_LAYOUT_7POINT0_FRONT:
return CHANNEL_LAYOUT_7_0_FRONT;
+#ifdef AV_CH_LAYOUT_7POINT1_WIDE_BACK
case AV_CH_LAYOUT_7POINT1_WIDE_BACK:
return CHANNEL_LAYOUT_7_1_WIDE_BACK;
+#endif
case AV_CH_LAYOUT_OCTAGONAL:
return CHANNEL_LAYOUT_OCTAGONAL;
default:
Index: media/media.gyp
diff --git a/media/media.gyp b/media/media.gyp
index f514dec48e5cc78567d141f20e2cb970a8707e92..75b62bebb503e2d9488bf0fc5cec3fd0a7e1916d 100644
--- a/media/media.gyp
+++ b/media/media.gyp
@@ -469,6 +469,18 @@
'filters/vpx_video_decoder.h',
],
}],
+ ['use_system_ffmpeg == 1', {
+ 'defines': [
+ '<!(python <(DEPTH)/tools/compile_test/compile_test.py '
+ '--code "#include <libavcodec/avcodec.h>\n'
+ 'int test() { return CODEC_ID_OPUS; }" '
+ '--on-failure CHROMIUM_OMIT_CODEC_ID_OPUS)',
+ '<!(python <(DEPTH)/tools/compile_test/compile_test.py '
+ '--code "#include <libavcodec/avcodec.h>\n'
+ 'int test() { return AV_CODEC_ID_VP9; }" '
+ '--on-failure CHROMIUM_OMIT_AV_CODEC_ID_VP9)',
+ ],
+ }],
['OS == "ios"', {
'includes': [
# For shared_memory_support_sources variable.
Index: tools/compile_test/compile_test.py
diff --git a/tools/compile_test/compile_test.py b/tools/compile_test/compile_test.py
new file mode 100755
index 0000000000000000000000000000000000000000..a52c0720209142af858d656a071ca43328dd3b16
--- /dev/null
+++ b/tools/compile_test/compile_test.py
@@ -0,0 +1,57 @@
+#!/usr/bin/env python
+# Copyright (c) 2013 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.
+
+"""
+Tries to compile given code, produces different output depending on success.
+
+This is similar to checks done by ./configure scripts.
+"""
+
+
+import optparse
+import os
+import shutil
+import subprocess
+import sys
+import tempfile
+
+
+def DoMain(argv):
+ parser = optparse.OptionParser()
+ parser.add_option('--code')
+ parser.add_option('--on-success', default='')
+ parser.add_option('--on-failure', default='')
+
+ options, args = parser.parse_args(argv)
+
+ if not options.code:
+ parser.error('Missing required --code switch.')
+
+ cxx = os.environ.get('CXX', 'g++')
+
+ tmpdir = tempfile.mkdtemp()
+ try:
+ cxx_path = os.path.join(tmpdir, 'test.cc')
+ with open(cxx_path, 'w') as f:
+ f.write(options.code.decode('string-escape'))
+
+ o_path = os.path.join(tmpdir, 'test.o')
+
+ cxx_popen = subprocess.Popen([cxx, cxx_path, '-o', o_path, '-c'],
+ stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE)
+ cxx_stdout, cxx_stderr = cxx_popen.communicate()
+ if cxx_popen.returncode == 0:
+ print options.on_success
+ else:
+ print options.on_failure
+ finally:
+ shutil.rmtree(tmpdir)
+
+ return 0
+
+
+if __name__ == '__main__':
+ sys.exit(DoMain(sys.argv[1:]))