mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-18 22:54:00 +00:00
extra/chromium to 30.0.1599.101-1.1
This commit is contained in:
parent
bc1b24b8da
commit
22eaaa9b96
3 changed files with 52 additions and 127 deletions
|
@ -11,9 +11,7 @@
|
|||
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
# - removed NaCl, not for ARM
|
||||
# - adjusted gyp flags for v7h
|
||||
# - use system ffmpeg, added ffmpeg to depends
|
||||
# - patch to fix webrtc code for non-android ARM
|
||||
# - patch to fix using system ffmpeg
|
||||
# - patch (hack) to fix skia
|
||||
#
|
||||
# moonman <moonman [dot] ca [at] gmail [dot] com>
|
||||
|
@ -24,7 +22,7 @@ highmem=1
|
|||
|
||||
pkgname=chromium
|
||||
pkgver=30.0.1599.101
|
||||
pkgrel=1
|
||||
pkgrel=1.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/"
|
||||
|
@ -32,7 +30,7 @@ license=('BSD')
|
|||
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' 'ffmpeg')
|
||||
'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')
|
||||
|
@ -47,16 +45,16 @@ source=(https://gsdview.appspot.com/chromium-browser-official/$pkgname-$pkgver.t
|
|||
chromium.sh
|
||||
chromium-system-icu-r0.patch
|
||||
arm-webrtc-fix.patch
|
||||
chromium-system-ffmpeg-r7.patch
|
||||
skia.patch)
|
||||
skia.patch
|
||||
v6-ffmpeg.patch)
|
||||
sha256sums=('d9596f28c6922bb5c8d03215ece1a7c51421a2e6f882213eb997f98bd34ca42d'
|
||||
'09bfac44104f4ccda4c228053f689c947b3e97da9a4ab6fa34ce061ee83d0322'
|
||||
'478340d5760a9bd6c549e19b1b5d1c5b4933ebf5f8cfb2b3e2d70d07443fe232'
|
||||
'4999fded897af692f4974f0a3e3bbb215193519918a1fa9b31ed51e74a2dccb9'
|
||||
'9bf164094ff33565f79807ab17cbd1d3f75655383fdaa01bb1a702263174cf09'
|
||||
'222ec0db5d40b02e4ebbde8a1f1c5de3f0579e51836be87be138c44f8487d0ce'
|
||||
'4093f87f16f8dc4dd846a88d5b6faf91bed2542308c6a11fef93400c94dbf192'
|
||||
'77668a94924c6bce6c48ca78c5cb778c6728bb687b66334b7164d7301a267939')
|
||||
'77668a94924c6bce6c48ca78c5cb778c6728bb687b66334b7164d7301a267939'
|
||||
'3fbabcbd512494b529e0a0e17560735887acf2291a74653750f9b29f5d45774d')
|
||||
|
||||
# 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
|
||||
|
@ -73,8 +71,8 @@ prepare() {
|
|||
# Fix WebRTC for ARM
|
||||
patch -Np2 -i "$srcdir/arm-webrtc-fix.patch"
|
||||
|
||||
# Fix using system ffmpeg
|
||||
patch -Np1 -i "$srcdir/chromium-system-ffmpeg-r7.patch"
|
||||
# Fix ffmpeg build for armv6
|
||||
[ "$CARCH" == "armv6h" ] && patch -Np1 -i "$srcdir/v6-ffmpeg.patch"
|
||||
|
||||
# Temp fix for skia
|
||||
patch -Np0 -i "$srcdir/skia.patch"
|
||||
|
@ -138,7 +136,7 @@ fi
|
|||
-Dproprietary_codecs=1
|
||||
-Duse_system_bzip2=1
|
||||
-Duse_system_flac=1
|
||||
-Duse_system_ffmpeg=1
|
||||
-Duse_system_ffmpeg=0
|
||||
-Duse_system_harfbuzz=1
|
||||
-Duse_system_icu=1
|
||||
-Duse_system_libevent=1
|
||||
|
@ -179,7 +177,7 @@ package() {
|
|||
install -Dm4755 -o root -g root out/Release/chrome_sandbox \
|
||||
"$pkgdir/usr/lib/chromium/chrome-sandbox"
|
||||
|
||||
cp out/Release/*.pak \
|
||||
cp out/Release/{*.pak,libffmpegsumo.so} \
|
||||
"$pkgdir/usr/lib/chromium/"
|
||||
|
||||
# Allow users to override command-line options
|
||||
|
|
|
@ -1,115 +0,0 @@
|
|||
--- 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 {
|
||||
|
||||
--- 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
|
||||
@@ -85,8 +85,10 @@
|
||||
return kCodecGSM_MS;
|
||||
case AV_CODEC_ID_PCM_MULAW:
|
||||
return kCodecPCM_MULAW;
|
||||
+#ifndef CHROMIUM_OMIT_AV_CODEC_ID_OPUS
|
||||
case AV_CODEC_ID_OPUS:
|
||||
return kCodecOpus;
|
||||
+#endif
|
||||
default:
|
||||
DVLOG(1) << "Unknown audio CodecID: " << codec_id;
|
||||
}
|
||||
@@ -130,8 +132,10 @@
|
||||
return AV_CODEC_ID_GSM_MS;
|
||||
case kCodecPCM_MULAW:
|
||||
return AV_CODEC_ID_PCM_MULAW;
|
||||
+#ifndef CHROMIUM_OMIT_AV_CODEC_ID_OPUS
|
||||
case kCodecOpus:
|
||||
return AV_CODEC_ID_OPUS;
|
||||
+#endif
|
||||
default:
|
||||
DVLOG(1) << "Unknown AudioCodec: " << audio_codec;
|
||||
}
|
||||
@@ -149,8 +153,10 @@
|
||||
return kCodecMPEG4;
|
||||
case AV_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;
|
||||
}
|
||||
@@ -167,8 +173,10 @@
|
||||
return AV_CODEC_ID_MPEG4;
|
||||
case kCodecVP8:
|
||||
return AV_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;
|
||||
}
|
||||
--- a/media/filters/ffmpeg_demuxer.cc.orig 2013-05-09 18:04:25.089276403 +0000
|
||||
+++ b/media/filters/ffmpeg_demuxer.cc 2013-05-09 18:05:16.289599070 +0000
|
||||
@@ -111,12 +111,15 @@
|
||||
// Get side data if any. For now, the only type of side_data is VP8 Alpha. We
|
||||
// keep this generic so that other side_data types in the future can be
|
||||
// handled the same way as well.
|
||||
- av_packet_split_side_data(packet.get());
|
||||
int side_data_size = 0;
|
||||
- uint8* side_data = av_packet_get_side_data(
|
||||
+ uint8* side_data = NULL;
|
||||
+#ifndef CHROMIUM_OMIT_AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL
|
||||
+ av_packet_split_side_data(packet.get());
|
||||
+ side_data = av_packet_get_side_data(
|
||||
packet.get(),
|
||||
AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL,
|
||||
&side_data_size);
|
||||
+#endif
|
||||
|
||||
// If a packet is returned by FFmpeg's av_parser_parse2() the packet will
|
||||
// reference inner memory of FFmpeg. As such we should transfer the packet
|
||||
--- a/media/base/media_posix.cc.orig 2013-05-24 20:59:12.963046035 +0000
|
||||
+++ b/media/base/media_posix.cc 2013-05-24 20:59:50.593275882 +0000
|
||||
@@ -11,12 +11,15 @@
|
||||
#include "base/path_service.h"
|
||||
#include "base/strings/stringize_macros.h"
|
||||
#include "media/ffmpeg/ffmpeg_common.h"
|
||||
+
|
||||
+#if !defined(USE_SYSTEM_FFMPEG)
|
||||
#include "third_party/ffmpeg/ffmpeg_stubs.h"
|
||||
|
||||
using third_party_ffmpeg::kNumStubModules;
|
||||
using third_party_ffmpeg::kModuleFfmpegsumo;
|
||||
using third_party_ffmpeg::InitializeStubs;
|
||||
using third_party_ffmpeg::StubPathMap;
|
||||
+#endif
|
||||
|
||||
namespace media {
|
||||
namespace internal {
|
||||
@@ -46,6 +49,9 @@
|
||||
#endif
|
||||
|
||||
bool InitializeMediaLibraryInternal(const base::FilePath& module_dir) {
|
||||
+#if defined(USE_SYSTEM_FFMPEG)
|
||||
+ return true;
|
||||
+#else
|
||||
StubPathMap paths;
|
||||
|
||||
// First try to initialize with Chrome's sumo library.
|
||||
@@ -61,6 +67,7 @@
|
||||
FILE_PATH_LITERAL(DSO_NAME("avformat", AVFORMAT_VERSION))).value());
|
||||
|
||||
return InitializeStubs(paths);
|
||||
+#endif
|
||||
}
|
||||
|
||||
} // namespace internal
|
42
extra/chromium/v6-ffmpeg.patch
Normal file
42
extra/chromium/v6-ffmpeg.patch
Normal file
|
@ -0,0 +1,42 @@
|
|||
--- ./third_party/ffmpeg/chromium/scripts/build_ffmpeg.sh.orig 2013-10-18 18:18:28.032701497 -0600
|
||||
+++ ./third_party/ffmpeg/chromium/scripts/build_ffmpeg.sh 2013-10-18 18:37:10.817807244 -0600
|
||||
@@ -310,13 +310,12 @@
|
||||
# much smaller than optimized arm builds, hence we go with the global
|
||||
# CrOS settings.
|
||||
add_flag_common --enable-armv6
|
||||
- add_flag_common --enable-armv6t2
|
||||
+ add_flag_common --disable-armv6t2
|
||||
add_flag_common --enable-vfp
|
||||
- add_flag_common --enable-thumb
|
||||
+ add_flag_common --disable-thumb
|
||||
add_flag_common --disable-neon
|
||||
- add_flag_common --extra-cflags=-march=armv7-a
|
||||
- add_flag_common --extra-cflags=-mtune=cortex-a8
|
||||
- add_flag_common --extra-cflags=-mfpu=vfpv3-d16
|
||||
+ add_flag_common --extra-cflags=-march=armv6
|
||||
+ add_flag_common --extra-cflags=-mfpu=vfp
|
||||
# NOTE: softfp/hardfp selected at gyp time.
|
||||
add_flag_common --extra-cflags=-mfloat-abi=hard
|
||||
elif [ "$TARGET_ARCH" = "arm-neon" ]; then
|
||||
--- ./third_party/ffmpeg/ffmpeg.gyp.orig 2013-10-18 18:07:27.025272782 -0600
|
||||
+++ ./third_party/ffmpeg/ffmpeg.gyp 2013-10-18 18:38:58.462388238 -0600
|
||||
@@ -234,9 +234,7 @@
|
||||
'-marm',
|
||||
],
|
||||
'cflags': [
|
||||
- '-mthumb',
|
||||
- '-march=armv7-a',
|
||||
- '-mtune=cortex-a8',
|
||||
+ '-march=armv6',
|
||||
],
|
||||
# On arm we use gcc to compile the assembly.
|
||||
'sources': [
|
||||
@@ -245,7 +243,7 @@
|
||||
'conditions': [
|
||||
['arm_neon == 0', {
|
||||
'cflags': [
|
||||
- '-mfpu=vfpv3-d16',
|
||||
+ '-mfpu=vfp',
|
||||
],
|
||||
}, {
|
||||
'cflags': [
|
Loading…
Reference in a new issue