extra/chromium to 56.0.2924.76-1

This commit is contained in:
Kevin Mihelich 2017-01-27 00:46:15 +00:00
parent 6b3e8e62ae
commit 9495da8b70
6 changed files with 35 additions and 177 deletions

View file

@ -1,4 +1,4 @@
From 9ed900289d43c849da0ddaad60254a350e73d0cf Mon Sep 17 00:00:00 2001
From 24b54472072cd87964cd3ab210516daeb16705a5 Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Sun, 23 Oct 2016 10:56:44 -0600
Subject: [PATCH 1/2] Add aarch64 GN support
@ -8,17 +8,17 @@ Subject: [PATCH 1/2] Add aarch64 GN support
1 file changed, 3 insertions(+)
diff --git a/tools/gn/args.cc b/tools/gn/args.cc
index 9aaafb0..7ddfba4 100644
index 7285d7a5388a..54703e17604e 100644
--- a/tools/gn/args.cc
+++ b/tools/gn/args.cc
@@ -268,6 +268,7 @@ void Args::SetSystemVarsLocked(Scope* dest) const {
@@ -266,6 +266,7 @@ void Args::SetSystemVarsLocked(Scope* dest) const {
static const char kX86[] = "x86";
static const char kX64[] = "x64";
static const char kArm[] = "arm";
+ static const char kArm64[] = "arm64";
static const char kMips[] = "mipsel";
const char* arch = nullptr;
static const char kS390X[] = "s390x";
static const char kPPC64[] = "ppc64";
@@ -280,6 +281,8 @@ void Args::SetSystemVarsLocked(Scope* dest) const {
arch = kX64;
else if (os_arch.substr(0, 3) == "arm")
@ -27,7 +27,7 @@ index 9aaafb0..7ddfba4 100644
+ arch = kArm64;
else if (os_arch == "mips")
arch = kMips;
else
else if (os_arch == "s390x")
--
2.10.2
2.11.0

View file

@ -1,4 +1,4 @@
From 091bb27160baee02c93a3b14c8c078e6c3f5bdba Mon Sep 17 00:00:00 2001
From 3130c331c5694c9c330744c928014fd775806e35 Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Sun, 23 Oct 2016 10:57:25 -0600
Subject: [PATCH 2/2] ARM toolchain fixes
@ -8,7 +8,7 @@ Subject: [PATCH 2/2] ARM toolchain fixes
1 file changed, 21 insertions(+), 7 deletions(-)
diff --git a/build/toolchain/linux/BUILD.gn b/build/toolchain/linux/BUILD.gn
index 548722d..39c5b08b 100644
index 548722d39380..39c5b08bbe55 100644
--- a/build/toolchain/linux/BUILD.gn
+++ b/build/toolchain/linux/BUILD.gn
@@ -22,15 +22,13 @@ clang_toolchain("clang_arm64") {
@ -56,5 +56,5 @@ index 548722d..39c5b08b 100644
toolchain_args = {
current_cpu = "x86"
--
2.10.2
2.11.0

View file

@ -33,7 +33,7 @@ declare -rgA _system_libs=(
)
pkgname=chromium
pkgver=55.0.2883.87
pkgver=56.0.2924.76
pkgrel=1
_launcher_ver=3
pkgdesc="The open-source project behind Google Chrome, an attempt at creating a safer, faster, and more stable browser"
@ -44,29 +44,27 @@ depends=('gtk2' 'nss' 'alsa-lib' 'xdg-utils' 'libxss' 'libexif' 'libgcrypt'
'ttf-font' 'systemd' 'dbus' 'libpulse' 'perl' 'perl-file-basedir'
'pciutils' 'desktop-file-utils' 'hicolor-icon-theme')
depends+=(${_system_libs[@]})
makedepends=('python2' 'gperf' 'yasm' 'mesa' 'ninja' 'git')
optdepends=('kdebase-kdialog: needed for file dialogs in KDE'
makedepends=('gtk3' 'python2' 'gperf' 'yasm' 'mesa' 'ninja' 'git')
optdepends=('kdialog: needed for file dialogs in KDE'
'gnome-keyring: for storing passwords in GNOME keyring'
'kwallet: for storing passwords in KWallet')
install=chromium.install
source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz
chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz
chromium.desktop
chromium-52.0.2743.116-unset-madv_free.patch
chromium-glib-2.24.patch
chromium-system-ffmpeg-r4.patch
chromium-icu58.patch
chromium-widevine.patch
0001-Add-aarch64-GN-support.patch
0002-ARM-toolchain-fixes.patch)
sha256sums=('e81bd3140d9c84dfee04d9a94686dfe6a20ae79475d84f17154c5536dcb81a58'
sha256sums=('cfb08e226b9c16ad887eb96d715a9cc4ab097d1a79e2e68c8749a7a4164b3c38'
'8b01fb4efe58146279858a754d90b49e5a38c9a0b36a1f84cbb7d12f92b84c28'
'028a748a5c275de9b8f776f97909f999a8583a4b77fd1cd600b4fc5c0c3e91e9'
'3b3aa9e28f29e6f539ed1c7832e79463b13128863a02e9c6fecd16c30d61c227'
'6953651c002efe7fca8cda3143e963037ed38a0a4bc7ccb79304637c45340047'
'e3c474dbf3822a0be50695683bd8a2c9dfc82d41c1524a20b4581883c0c88986'
'fad964da0295a6a7b4393778e717ebdfd37dec33fe78beb2c639abd3973deb7a'
'd6fdcb922e5a7fbe15759d39ccc8ea4225821c44d98054ce0f23f9d1f00c9808'
'b2333cf0097264632a7e8bd11c3ee25a5f615f1d83481d2867aa18686e52f6ce'
'140b79fcb3f12c8f9b4bb6d32d366c7731830d99a527602d6c7b3874933f75d0')
'c855bfd9533bb51a618be3d0fd7fcc7df723dd9e91d629615b4fc65445901a88'
'5d00d0db4cc34a73a9dbb6f6640c850d77b0ef503d1e9bffb3c50f00bbb843ac')
# 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
@ -92,13 +90,9 @@ prepare() {
sed "s/@WIDEVINE_VERSION@/Pinkie Pie/" ../chromium-widevine.patch |
patch -Np1
# Build fixes from Gentoo
# Fixes from Gentoo
patch -Np1 -i ../chromium-system-ffmpeg-r4.patch
patch -Np1 -i ../chromium-icu58.patch
# Disable MADV_FREE (if set by glibc)
# https://bugzilla.redhat.com/show_bug.cgi?id=1361157
patch -Np1 -i ../chromium-52.0.2743.116-unset-madv_free.patch
patch -Np1 -i ../chromium-glib-2.24.patch
# Work around bug in blink in which GCC 6 optimizes away null pointer checks
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=833524

View file

@ -1,15 +0,0 @@
diff -up chromium-52.0.2743.116/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp.madv_free chromium-52.0.2743.116/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp
--- chromium-52.0.2743.116/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp.madv_free 2016-08-15 13:07:29.279655676 -0400
+++ chromium-52.0.2743.116/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp 2016-08-15 13:08:38.447317416 -0400
@@ -41,6 +41,11 @@
#include <errno.h>
#include <sys/mman.h>
+#if OS(LINUX) && defined(MADV_FREE)
+// Added in Linux 4.5, but it breaks the sandbox.
+#undef MADV_FREE
+#endif
+
#ifndef MADV_FREE
#define MADV_FREE MADV_DONTNEED
#endif

View file

@ -0,0 +1,15 @@
--- a/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp.orig 2017-01-05 20:50:56.329369189 +0000
+++ b/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp 2017-01-05 20:51:32.926099779 +0000
@@ -242,6 +242,12 @@
ASSERT(!(len & kSystemPageOffsetMask));
#if OS(POSIX)
int ret = madvise(addr, len, MADV_FREE);
+ if (ret != 0 && errno == EINVAL) {
+ // MADV_FREE only works on Linux 4.5+ . If request failed,
+ // retry with older MADV_DONTNEED . Note that MADV_FREE
+ // being defined at compile time doesn't imply runtime support.
+ ret = madvise(addr, len, MADV_DONTNEED);
+ }
RELEASE_ASSERT(!ret);
#else
setSystemPagesInaccessible(addr, len);

View file

@ -1,136 +0,0 @@
From 424584b4984bde7c831f42e9fb47f1ad583a1c46 Mon Sep 17 00:00:00 2001
From: jshin <jshin@chromium.org>
Date: Fri, 21 Oct 2016 01:15:50 -0700
Subject: [PATCH] Update aspirational_scripts per Unicode 9
This is a preparation to update ICU to 58.1.
Without this change, ICU update CL cannot be tested on
trybots because a compile will fail due to '#error' checking
if ICU version is less than 58.
BUG=637001
TEST=None
TBR=pkasting@chromium.org
Review-Url: https://chromiumcodereview.appspot.com/2436113003
Cr-Commit-Position: refs/heads/master@{#426749}
---
components/url_formatter/url_formatter.cc | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/components/url_formatter/url_formatter.cc b/components/url_formatter/url_formatter.cc
index 4455db3..2b82c0c 100644
--- a/components/url_formatter/url_formatter.cc
+++ b/components/url_formatter/url_formatter.cc
@@ -428,9 +428,9 @@ void IDNSpoofChecker::SetAllowedUnicodeSet(UErrorCode* status) {
// section at
// http://www.unicode.org/Public/security/latest/xidmodifications.txt) are
// are added to the allowed set. The list has to be updated when a new
- // version of Unicode is released. The current version is 8.0.0 and ICU 58
- // will have Unicode 9.0 data.
-#if U_ICU_VERSION_MAJOR_NUM < 58
+ // version of Unicode is released. The current version is 9.0.0 and ICU 60
+ // will have Unicode 10.0 data.
+#if U_ICU_VERSION_MAJOR_NUM < 60
const icu::UnicodeSet aspirational_scripts(
icu::UnicodeString(
// Unified Canadian Syllabics
@@ -444,13 +444,13 @@ void IDNSpoofChecker::SetAllowedUnicodeSet(UErrorCode* status) {
// Yi
"\\uA000-\\uA48C"
// Miao
- "\\U00016F00-\\U00016F44\\U00016F50-\\U00016F7F"
+ "\\U00016F00-\\U00016F44\\U00016F50-\\U00016F7E"
"\\U00016F8F-\\U00016F9F]",
-1, US_INV),
*status);
allowed_set.addAll(aspirational_scripts);
#else
-#error "Update aspirational_scripts per Unicode 9.0"
+#error "Update aspirational_scripts per Unicode 10.0"
#endif
// U+0338 is included in the recommended set, while U+05F4 and U+2027 are in
--
2.10.2
From e60b571faa3f14dd9119a6792dccf12f8bf80192 Mon Sep 17 00:00:00 2001
From: jshin <jshin@chromium.org>
Date: Fri, 21 Oct 2016 12:20:05 -0700
Subject: [PATCH] Prepare to upgrade ICU to 58 part 2
U_LB_COUNT is assumed to be 40 in Blink line breaking code, but it's
43 in ICU 58/Unicode 9.
Three new classes (Emoji Base, Emoji Modifier, and ZWJ) should behave
identically whether or not 'word-break: break-all' is in effect.
BUG=637001
TEST=TextBreakIterator.cpp is compiled without an error with ICU 58.
R=kojii@chromium.org
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel
Review-Url: https://chromiumcodereview.appspot.com/2440923002
Cr-Commit-Position: refs/heads/master@{#426860}
---
.../WebKit/Source/platform/text/TextBreakIterator.cpp | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp b/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp
index 568dc0a..36121eb 100644
--- a/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp
+++ b/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp
@@ -28,6 +28,9 @@
#include "wtf/StdLibExtras.h"
#include "wtf/text/CharacterNames.h"
+#include <unicode/uchar.h>
+#include <unicode/uvernum.h>
+
namespace blink {
unsigned numGraphemeClusters(const String& string) {
@@ -129,6 +132,11 @@ static const unsigned char asciiLineBreakTable[][(asciiLineBreakTableLastChar -
};
// clang-format on
+#if U_ICU_VERSION_MAJOR_NUM >= 58
+#define BA_LB_COUNT (U_LB_COUNT - 3)
+#else
+#define BA_LB_COUNT U_LB_COUNT
+#endif
// Line breaking table for CSS word-break: break-all. This table differs from
// asciiLineBreakTable in:
// - Indices are Line Breaking Classes defined in UAX#14 Unicode Line Breaking
@@ -136,7 +144,7 @@ static const unsigned char asciiLineBreakTable[][(asciiLineBreakTableLastChar -
// - 1 indicates additional break opportunities. 0 indicates to fallback to
// normal line break, not "prohibit break."
// clang-format off
-static const unsigned char breakAllLineBreakClassTable[][U_LB_COUNT / 8 + 1] = {
+static const unsigned char breakAllLineBreakClassTable[][BA_LB_COUNT / 8 + 1] = {
// XX AI AL B2 BA BB BK CB CL CM CR EX GL HY ID IN IS LF NS NU OP PO PR QU SA SG SP SY ZW NL WJ H2 H3 JL JT JV CP CJ HL RI
{ B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // XX
{ B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 1, 0, 1, 0), B(1, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0) }, // AI
@@ -190,7 +198,7 @@ static_assert(WTF_ARRAY_LENGTH(asciiLineBreakTable) ==
asciiLineBreakTableLastChar - asciiLineBreakTableFirstChar +
1,
"asciiLineBreakTable should be consistent");
-static_assert(WTF_ARRAY_LENGTH(breakAllLineBreakClassTable) == U_LB_COUNT,
+static_assert(WTF_ARRAY_LENGTH(breakAllLineBreakClassTable) == BA_LB_COUNT,
"breakAllLineBreakClassTable should be consistent");
static inline bool shouldBreakAfter(UChar lastCh, UChar ch, UChar nextCh) {
@@ -226,8 +234,8 @@ static inline ULineBreak lineBreakPropertyValue(UChar lastCh, UChar ch) {
static inline bool shouldBreakAfterBreakAll(ULineBreak lastLineBreak,
ULineBreak lineBreak) {
- if (lineBreak >= 0 && lineBreak < U_LB_COUNT && lastLineBreak >= 0 &&
- lastLineBreak < U_LB_COUNT) {
+ if (lineBreak >= 0 && lineBreak < BA_LB_COUNT && lastLineBreak >= 0 &&
+ lastLineBreak < BA_LB_COUNT) {
const unsigned char* tableRow = breakAllLineBreakClassTable[lastLineBreak];
return tableRow[lineBreak / 8] & (1 << (lineBreak % 8));
}
--
2.10.2