summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonas Heinrich2017-12-13 22:47:23 +0100
committerJonas Heinrich2017-12-13 22:47:23 +0100
commitac49deb3145c075a39e88510779260ea75e336c3 (patch)
tree14b8e1dca2eecd73184b4e385a348ad5dadf324f
parent63e4902779ee5c1a272a05fc1217e39cdf7d8794 (diff)
downloadaur-ac49deb3145c075a39e88510779260ea75e336c3.tar.gz
updated package to match a bit more the upstream version
-rw-r--r--.SRCINFO49
-rw-r--r--PKGBUILD88
-rw-r--r--breakpad-use-ucontext_t.patch225
-rw-r--r--chromium-clang-r1.patch21
-rw-r--r--chromium-exclude_unwind_tables.patch44
-rw-r--r--chromium-gn-bootstrap-r17.patch68
-rw-r--r--chromium-webrtc-r0.patch34
-rw-r--r--crc32c-string-view-check.patch74
8 files changed, 169 insertions, 434 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 0d6c3e677be9..187267ddf43f 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,9 +1,9 @@
# Generated by mksrcinfo v8
-# Mon Nov 27 15:05:06 UTC 2017
+# Wed Dec 13 21:47:10 UTC 2017
pkgbase = chromium-wayland-git
pkgdesc = A web browser built for speed, simplicity, and security
pkgver = 48.0.2548.0
- pkgrel = 5
+ pkgrel = 6
url = https://github.com/Igalia/chromium
install = chromium.install
arch = x86_64
@@ -15,35 +15,29 @@ pkgbase = chromium-wayland-git
makedepends = ninja
makedepends = nodejs
makedepends = git
- makedepends = libexif
- makedepends = libsecret
+ makedepends = clang
+ makedepends = lld
+ makedepends = depot-tools-git
+ makedepends = libtinfo5
+ depends = gtk3
depends = nss
depends = alsa-lib
- depends = bzip2
- depends = libevent
- depends = icu
+ depends = xdg-utils
+ depends = libxss
+ depends = libcups
depends = libgcrypt
depends = ttf-font
depends = systemd
depends = dbus
- depends = flac
- depends = snappy
+ depends = libpulse
depends = pciutils
- depends = harfbuzz
- depends = libvpx
- depends = perl
- depends = perl-file-basedir
+ depends = json-glib
depends = desktop-file-utils
- depends = libxslt
depends = hicolor-icon-theme
- depends = libxkbcommon
- depends = gtk2
- depends = libpulse
depends = flac
depends = opus
depends = minizip
depends = libxml2
- depends = harfbuzz-icu
depends = libxslt
depends = re2
depends = libwebp
@@ -55,20 +49,21 @@ pkgbase = chromium-wayland-git
optdepends = kwallet: for storing passwords in KWallet
provides = chromium
conflicts = chromium
- options = !strip
- source = https://commondatastorage.googleapis.com/chromium-browser-official/chromium-62.0.3202.94.tar.xz
+ source = https://commondatastorage.googleapis.com/chromium-browser-official/chromium-63.0.3239.84.tar.xz
source = chromium-launcher-5.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v5.tar.gz
+ source = chromium-48.0.2548.0.txt::https://chromium.googlesource.com/chromium/src.git/+/63.0.3239.84?format=TEXT
source = chromium.desktop
- source = breakpad-use-ucontext_t.patch
- source = crc32c-string-view-check.patch
- source = chromium-gn-bootstrap-r17.patch
+ source = chromium-exclude_unwind_tables.patch
+ source = chromium-clang-r1.patch
+ source = chromium-webrtc-r0.patch
source = chromium-widevine.patch
- sha256sums = cabc4d267bf08aabe11c5739048c43dde18c61acf595223a1c3aa1d3499558d4
+ sha256sums = 6de2754dfc333675ae6a67ae13c95666009b35c84f847b058edbf312e42fa3af
sha256sums = 4dc3428f2c927955d9ae117f2fb24d098cc6dd67adb760ac9c82b522ec8b0587
+ sha256sums = 782a512b8bcf4aa6e58036cc3454d037d0eea69f27d5b673902d494c3fb5b20d
sha256sums = 028a748a5c275de9b8f776f97909f999a8583a4b77fd1cd600b4fc5c0c3e91e9
- sha256sums = 6e9a345f810d36068ee74ebba4708c70ab30421dad3571b6be5e9db635078ea8
- sha256sums = 35435e8dae76737baafecdc76d74a1c97281c4179e416556e033a06a31468e6d
- sha256sums = d81319f168dad0e411c8e810f73daa2f56ff579578771bd9c9bb1aa2d7c09a8b
+ sha256sums = e53dc6f259acd39df13874f8a0f440528fae764b859dd71447991a5b1fac7c9c
+ sha256sums = ab5368a3e3a67fa63b33fefc6788ad5b4a79089ef4db1011a14c3bee9fdf70c6
+ sha256sums = bcb2f4588cf5dcf75cde855c7431e94fdcc34bdd68b876a90f65ab9938594562
sha256sums = d6fdcb922e5a7fbe15759d39ccc8ea4225821c44d98054ce0f23f9d1f00c9808
pkgname = chromium-wayland-git
diff --git a/PKGBUILD b/PKGBUILD
index 34e3c47c4757..3ed146e978fe 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,54 +7,56 @@
# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
pkgname=chromium-wayland-git
+pkgname_=chromium
pkgver=48.0.2548.0
-pkgrel=5
+pkgver_=63.0.3239.84
+pkgrel=6
_launcher_ver=5
pkgdesc="A web browser built for speed, simplicity, and security"
arch=('x86_64')
url="https://github.com/Igalia/chromium"
license=('BSD')
-depends=('nss' 'alsa-lib' 'bzip2' 'libevent' 'icu' 'libgcrypt'
- 'ttf-font' 'systemd' 'dbus' 'flac' 'snappy' 'pciutils'
- 'harfbuzz' 'libvpx' 'perl' 'perl-file-basedir'
- 'desktop-file-utils' 'libxslt' 'hicolor-icon-theme' 'libxkbcommon'
- 'gtk2' 'libpulse')
-makedepends=('python2' 'gperf' 'yasm' 'mesa' 'ninja' 'nodejs' 'git' 'libexif' 'libsecret')
+depends=('gtk3' 'nss' 'alsa-lib' 'xdg-utils' 'libxss' 'libcups' 'libgcrypt'
+ 'ttf-font' 'systemd' 'dbus' 'libpulse' 'pciutils' 'json-glib'
+ 'desktop-file-utils' 'hicolor-icon-theme')
+makedepends=('python2' 'gperf' 'yasm' 'mesa' 'ninja' 'nodejs' 'git' 'clang'
+ 'lld' 'depot-tools-git' 'libtinfo5')
optdepends=('pepper-flash: support for Flash content'
'kdialog: needed for file dialogs in KDE'
'gnome-keyring: for storing passwords in GNOME keyring'
'kwallet: for storing passwords in KWallet')
conflicts=('chromium')
provides=('chromium')
-options=('!strip')
install=chromium.install
-source=(https://commondatastorage.googleapis.com/chromium-browser-official/chromium-62.0.3202.94.tar.xz
+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-$pkgver.txt::https://chromium.googlesource.com/chromium/src.git/+/${pkgver_}?format=TEXT
chromium.desktop
- breakpad-use-ucontext_t.patch
- crc32c-string-view-check.patch
- chromium-gn-bootstrap-r17.patch
+ chromium-exclude_unwind_tables.patch
+ chromium-clang-r1.patch
+ chromium-webrtc-r0.patch
chromium-widevine.patch)
-sha256sums=('cabc4d267bf08aabe11c5739048c43dde18c61acf595223a1c3aa1d3499558d4'
+sha256sums=('6de2754dfc333675ae6a67ae13c95666009b35c84f847b058edbf312e42fa3af'
'4dc3428f2c927955d9ae117f2fb24d098cc6dd67adb760ac9c82b522ec8b0587'
+ '782a512b8bcf4aa6e58036cc3454d037d0eea69f27d5b673902d494c3fb5b20d'
'028a748a5c275de9b8f776f97909f999a8583a4b77fd1cd600b4fc5c0c3e91e9'
- '6e9a345f810d36068ee74ebba4708c70ab30421dad3571b6be5e9db635078ea8'
- '35435e8dae76737baafecdc76d74a1c97281c4179e416556e033a06a31468e6d'
- 'd81319f168dad0e411c8e810f73daa2f56ff579578771bd9c9bb1aa2d7c09a8b'
+ 'e53dc6f259acd39df13874f8a0f440528fae764b859dd71447991a5b1fac7c9c'
+ 'ab5368a3e3a67fa63b33fefc6788ad5b4a79089ef4db1011a14c3bee9fdf70c6'
+ 'bcb2f4588cf5dcf75cde855c7431e94fdcc34bdd68b876a90f65ab9938594562'
'd6fdcb922e5a7fbe15759d39ccc8ea4225821c44d98054ce0f23f9d1f00c9808')
# Possible replacements are listed in build/linux/unbundle/replace_gn_files.py
# Keys are the names in the above script; values are the dependencies in Arch
declare -rgA _system_libs=(
- #[ffmpeg]=ffmpeg # https://crbug.com/731766
+ #[ffmpeg]=ffmpeg # https://crbug.com/731766
[flac]=flac
- #[freetype]=freetype2 # https://crbug.com/pdfium/733
- [harfbuzz-ng]=harfbuzz-icu
- #[icu]=icu # https://crbug.com/772655
+ #[freetype]=freetype2 # https://crbug.com/pdfium/733
+ #[harfbuzz-ng]=harfbuzz-icu # https://crbug.com/768938
+ #[icu]=icu # https://crbug.com/772655
[libdrm]=
[libjpeg]=libjpeg
- #[libpng]=libpng # https://crbug.com/752403#c10
- #[libvpx]=libvpx # https://bugs.gentoo.org/611394
+ #[libpng]=libpng # https://crbug.com/752403#c10
+ #[libvpx]=libvpx # https://bugs.gentoo.org/611394
[libwebp]=libwebp
[libxml]=libxml2
[libxslt]=libxslt
@@ -84,7 +86,8 @@ prepare() {
mkdir -p chromium
cd chromium
- export PATH="${srcdir}/python2-path:/opt/depot_tools:$PATH"
+ cp -r /opt/depot_tools ${srcdir}/
+ export PATH="${srcdir}/python2-path:${srcdir}/depot_tools:$PATH"
gclient config --name=src https://github.com/Igalia/chromium.git
gclient sync -r ozone-wayland-dev --with_branch_heads --nohooks
@@ -152,7 +155,7 @@ build() {
cd "${srcdir}/chromium"
- export PATH="$srcdir/python2-path:/opt/depot_tools:$PATH"
+ export PATH="${srcdir}/python2-path:${srcdir}/depot_tools:$PATH"
export TMPDIR="$srcdir/temp"
mkdir -p "$TMPDIR"
@@ -191,8 +194,8 @@ build() {
gclient runhooks
- gn gen out/Ozone --args="use_ozone=true enable_mus=true use_xkbcommon=true" # use_jessie_sysroot=true
- /usr/bin/ninja -C out/Ozone chrome chrome_sandbox chromedriver widevinecdmadapter
+ gn gen out/Release --args="use_ozone=true enable_mus=true use_xkbcommon=true" # use_jessie_sysroot=true
+ /usr/bin/ninja -C out/Release chrome chrome_sandbox chromedriver widevinecdmadapter
}
package() {
@@ -203,26 +206,31 @@ package() {
cd "$srcdir/chromium/src"
- install -D out/Ozone/chrome "$pkgdir/usr/lib/chromium/chromium"
- #install -Dm644 out/Ozone/chrome.1 "$pkgdir/usr/share/man/man1/chromium.1"
- install -Dm644 "$srcdir/chromium.desktop" \
- "$pkgdir/usr/share/applications/chromium.desktop"
-
- install -Dm4755 out/Ozone/chrome_sandbox \
- "$pkgdir/usr/lib/chromium/chrome-sandbox"
+ install -D out/Release/chrome "$pkgdir/usr/lib/chromium/chromium"
+ install -Dm4755 out/Release/chrome_sandbox "$pkgdir/usr/lib/chromium/chrome-sandbox"
+ ln -s /usr/lib/chromium/chromedriver "$pkgdir/usr/bin/chromedriver"
- cp -a \
- out/Ozone/{chrome_{100,200}_percent,resources}.pak \
- out/Ozone/{*.bin,chromedriver,*.so,*.nexe} \
- out/Ozone/locales \
+ install -Dm644 chrome/installer/linux/common/desktop.template \
+ "$pkgdir/usr/share/applications/chromium.desktop"
+ install -Dm644 chrome/app/resources/manpage.1.in \
+ "$pkgdir/usr/share/man/man1/chromium.1"
+ sed -i \
+ -e "s/@@MENUNAME@@/Chromium/g" \
+ -e "s/@@PACKAGE@@/chromium/g" \
+ -e "s/@@USR_BIN_SYMLINK_NAME@@/chromium/g" \
+ "$pkgdir/usr/share/applications/chromium.desktop" \
+ "$pkgdir/usr/share/man/man1/chromium.1"
+
+ cp \
+ out/Release/{chrome_{100,200}_percent,resources}.pak \
+ out/Release/{*.bin,chromedriver,*.so,*.nexe} \
"$pkgdir/usr/lib/chromium/"
+ install -Dm644 -t "$pkgdir/usr/lib/chromium/locales" out/Release/locales/*.pak
if [[ -z ${_system_libs[icu]+set} ]]; then
- cp out/Ozone/icudtl.dat "$pkgdir/usr/lib/chromium/"
+ cp out/Release/icudtl.dat "$pkgdir/usr/lib/chromium/"
fi
- ln -s /usr/lib/chromium/chromedriver "$pkgdir/usr/bin/chromedriver"
-
for size in 22 24 48 64 128 256; do
install -Dm644 "chrome/app/theme/chromium/product_logo_$size.png" \
"$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
diff --git a/breakpad-use-ucontext_t.patch b/breakpad-use-ucontext_t.patch
deleted file mode 100644
index f32397236664..000000000000
--- a/breakpad-use-ucontext_t.patch
+++ /dev/null
@@ -1,225 +0,0 @@
-From b6a312ed8e144a37da840ae50dbd39df5ffb7e9f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 2 Jul 2017 16:34:54 -0700
-Subject: [PATCH 2/2] replace struct ucontext with ucontext_t
-
-glibc 2.26 does not expose struct ucontext any longer
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- .../linux/dump_writer_common/ucontext_reader.cc | 30 +++++++++++-----------
- .../linux/dump_writer_common/ucontext_reader.h | 10 ++++----
- .../src/client/linux/handler/exception_handler.cc | 8 +++---
- .../src/client/linux/handler/exception_handler.h | 2 +-
- .../linux/microdump_writer/microdump_writer.cc | 2 +-
- .../linux/minidump_writer/minidump_writer.cc | 2 +-
- 6 files changed, 27 insertions(+), 27 deletions(-)
-
-diff --git a/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc b/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
-index c80724dd8..93b4d9f85 100644
---- a/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
-+++ b/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
-@@ -40,15 +40,15 @@ namespace google_breakpad {
-
- #if defined(__i386__)
-
--uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.gregs[REG_ESP];
- }
-
--uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.gregs[REG_EIP];
- }
-
--void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
-+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
- const struct _libc_fpstate* fp) {
- const greg_t* regs = uc->uc_mcontext.gregs;
-
-@@ -88,15 +88,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
-
- #elif defined(__x86_64)
-
--uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.gregs[REG_RSP];
- }
-
--uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.gregs[REG_RIP];
- }
-
--void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
-+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
- const struct _libc_fpstate* fpregs) {
- const greg_t* regs = uc->uc_mcontext.gregs;
-
-@@ -145,15 +145,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
-
- #elif defined(__ARM_EABI__)
-
--uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.arm_sp;
- }
-
--uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.arm_pc;
- }
-
--void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
-+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) {
- out->context_flags = MD_CONTEXT_ARM_FULL;
-
- out->iregs[0] = uc->uc_mcontext.arm_r0;
-@@ -184,15 +184,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
-
- #elif defined(__aarch64__)
-
--uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.sp;
- }
-
--uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.pc;
- }
-
--void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
-+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
- const struct fpsimd_context* fpregs) {
- out->context_flags = MD_CONTEXT_ARM64_FULL;
-
-@@ -210,15 +210,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
-
- #elif defined(__mips__)
-
--uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.gregs[MD_CONTEXT_MIPS_REG_SP];
- }
-
--uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.pc;
- }
-
--void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
-+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) {
- #if _MIPS_SIM == _ABI64
- out->context_flags = MD_CONTEXT_MIPS64_FULL;
- #elif _MIPS_SIM == _ABIO32
-diff --git a/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h b/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
-index b6e77b4b5..2369a9ad3 100644
---- a/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
-+++ b/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
-@@ -41,21 +41,21 @@ namespace google_breakpad {
-
- // Wraps platform-dependent implementations of accessors to ucontext structs.
- struct UContextReader {
-- static uintptr_t GetStackPointer(const struct ucontext* uc);
-+ static uintptr_t GetStackPointer(const ucontext_t* uc);
-
-- static uintptr_t GetInstructionPointer(const struct ucontext* uc);
-+ static uintptr_t GetInstructionPointer(const ucontext_t* uc);
-
- // Juggle a arch-specific ucontext into a minidump format
- // out: the minidump structure
- // info: the collection of register structures.
- #if defined(__i386__) || defined(__x86_64)
-- static void FillCPUContext(RawContextCPU *out, const ucontext *uc,
-+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
- const struct _libc_fpstate* fp);
- #elif defined(__aarch64__)
-- static void FillCPUContext(RawContextCPU *out, const ucontext *uc,
-+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
- const struct fpsimd_context* fpregs);
- #else
-- static void FillCPUContext(RawContextCPU *out, const ucontext *uc);
-+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc);
- #endif
- };
-
-diff --git a/breakpad/src/client/linux/handler/exception_handler.cc b/breakpad/src/client/linux/handler/exception_handler.cc
-index b63f973b8..f2688acaf 100644
---- a/breakpad/src/client/linux/handler/exception_handler.cc
-+++ b/breakpad/src/client/linux/handler/exception_handler.cc
-@@ -439,9 +439,9 @@ bool ExceptionHandler::HandleSignal(int sig, siginfo_t* info, void* uc) {
- // Fill in all the holes in the struct to make Valgrind happy.
- memset(&g_crash_context_, 0, sizeof(g_crash_context_));
- memcpy(&g_crash_context_.siginfo, info, sizeof(siginfo_t));
-- memcpy(&g_crash_context_.context, uc, sizeof(struct ucontext));
-+ memcpy(&g_crash_context_.context, uc, sizeof(ucontext_t));
- #if defined(__aarch64__)
-- struct ucontext* uc_ptr = (struct ucontext*)uc;
-+ ucontext_t* uc_ptr = (ucontext_t*)uc;
- struct fpsimd_context* fp_ptr =
- (struct fpsimd_context*)&uc_ptr->uc_mcontext.__reserved;
- if (fp_ptr->head.magic == FPSIMD_MAGIC) {
-@@ -452,7 +452,7 @@ bool ExceptionHandler::HandleSignal(int sig, siginfo_t* info, void* uc) {
- // FP state is not part of user ABI on ARM Linux.
- // In case of MIPS Linux FP state is already part of struct ucontext
- // and 'float_state' is not a member of CrashContext.
-- struct ucontext* uc_ptr = (struct ucontext*)uc;
-+ ucontext_t* uc_ptr = (ucontext_t*)uc;
- if (uc_ptr->uc_mcontext.fpregs) {
- memcpy(&g_crash_context_.float_state, uc_ptr->uc_mcontext.fpregs,
- sizeof(g_crash_context_.float_state));
-@@ -476,7 +476,7 @@ bool ExceptionHandler::SimulateSignalDelivery(int sig) {
- // ExceptionHandler::HandleSignal().
- siginfo.si_code = SI_USER;
- siginfo.si_pid = getpid();
-- struct ucontext context;
-+ ucontext_t context;
- getcontext(&context);
- return HandleSignal(sig, &siginfo, &context);
- }
-diff --git a/breakpad/src/client/linux/handler/exception_handler.h b/breakpad/src/client/linux/handler/exception_handler.h
-index 591c31085..846df772f 100644
---- a/breakpad/src/client/linux/handler/exception_handler.h
-+++ b/breakpad/src/client/linux/handler/exception_handler.h
-@@ -191,7 +191,7 @@ class ExceptionHandler {
- struct CrashContext {
- siginfo_t siginfo;
- pid_t tid; // the crashing thread.
-- struct ucontext context;
-+ ucontext_t context;
- #if !defined(__ARM_EABI__) && !defined(__mips__)
- // #ifdef this out because FP state is not part of user ABI for Linux ARM.
- // In case of MIPS Linux FP state is already part of struct
-diff --git a/breakpad/src/client/linux/microdump_writer/microdump_writer.cc b/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
-index 6f5b43559..a508667a0 100644
---- a/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
-+++ b/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
-@@ -571,7 +571,7 @@ class MicrodumpWriter {
-
- void* Alloc(unsigned bytes) { return dumper_->allocator()->Alloc(bytes); }
-
-- const struct ucontext* const ucontext_;
-+ const ucontext_t* const ucontext_;
- #if !defined(__ARM_EABI__) && !defined(__mips__)
- const google_breakpad::fpstate_t* const float_state_;
- #endif
-diff --git a/breakpad/src/client/linux/minidump_writer/minidump_writer.cc b/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
-index 86009b9f6..f2aec73d7 100644
---- a/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
-+++ b/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
-@@ -1248,7 +1248,7 @@ class MinidumpWriter {
- const int fd_; // File descriptor where the minidum should be written.
- const char* path_; // Path to the file where the minidum should be written.
-
-- const struct ucontext* const ucontext_; // also from the signal handler
-+ const ucontext_t* const ucontext_; // also from the signal handler
- #if !defined(__ARM_EABI__) && !defined(__mips__)
- const google_breakpad::fpstate_t* const float_state_; // ditto
- #endif
---
-2.13.2
-
diff --git a/chromium-clang-r1.patch b/chromium-clang-r1.patch
new file mode 100644
index 000000000000..0fef167566a0
--- /dev/null
+++ b/chromium-clang-r1.patch
@@ -0,0 +1,21 @@
+--- a/build/config/compiler/BUILD.gn.orig 2017-10-04 08:50:15.014675936 +0000
++++ b/build/config/compiler/BUILD.gn 2017-10-04 08:50:32.831024327 +0000
+@@ -429,18 +429,6 @@
+ cflags += [ "-fcolor-diagnostics" ]
+ }
+
+- # TODO(hans): Remove this once Clang generates better optimized debug info by
+- # default. https://crbug.com/765793
+- if (is_clang && !is_nacl && current_toolchain == host_toolchain &&
+- target_os != "chromeos") {
+- cflags += [
+- "-Xclang",
+- "-mllvm",
+- "-Xclang",
+- "-instcombine-lower-dbg-declare=1",
+- ]
+- }
+-
+ # Print absolute paths in diagnostics. There is no precedent for doing this
+ # on Linux/Mac (GCC doesn't support it), but MSVC does this with /FC and
+ # Windows developers rely on it (crbug.com/636109) so only do this on Windows.
diff --git a/chromium-exclude_unwind_tables.patch b/chromium-exclude_unwind_tables.patch
new file mode 100644
index 000000000000..67232595dd4c
--- /dev/null
+++ b/chromium-exclude_unwind_tables.patch
@@ -0,0 +1,44 @@
+From 1fc37227522ccd314f82ec893ed15c6129296604 Mon Sep 17 00:00:00 2001
+From: Paul Jensen <pauljensen@chromium.org>
+Date: Wed, 11 Oct 2017 08:37:34 -0400
+Subject: [PATCH] Move exclude_unwind_tables back into declare_args
+
+There is desire to adjust this flag manually.
+
+BUG=762629
+R=thakis@chromium.org
+
+Change-Id: I3bd134c19270cd1f729b3ea078674e734493d4ab
+---
+
+diff --git a/build/config/compiler/compiler.gni b/build/config/compiler/compiler.gni
+index ad40fd9..50e19a4 100644
+--- a/build/config/compiler/compiler.gni
++++ b/build/config/compiler/compiler.gni
+@@ -68,18 +68,18 @@
+
+ # Whether or not we should use position independent code.
+ use_pic = true
++
++ # Exclude unwind tables for official builds as unwinding can be done from
++ # stack dumps produced by Crashpad at a later time "offline" in the crash
++ # server. For unofficial (e.g. development) builds and non-Chrome branded
++ # (e.g. Cronet which doesn't use Crashpad, crbug.com/479283) builds it's
++ # useful to be able to unwind at runtime.
++ exclude_unwind_tables = (is_chrome_branded && is_official_build) ||
++ (is_chromecast && !is_cast_desktop_build && !is_debug)
+ }
+
+ assert(!is_cfi || use_thin_lto, "CFI requires ThinLTO")
+
+-# Exclude unwind tables for official builds as unwinding can be done from stack
+-# dumps produced by Crashpad at a later time "offline" in the crash server.
+-# For unofficial (e.g. development) builds and non-Chrome branded (e.g. Cronet
+-# which doesn't use Crashpad, crbug.com/479283) builds it's useful to be able
+-# to unwind at runtime.
+-exclude_unwind_tables = (is_chrome_branded && is_official_build) ||
+- (is_chromecast && !is_cast_desktop_build && !is_debug)
+-
+ # If true, optimize for size. Does not affect windows builds.
+ # Linux & Mac favor speed over size.
+ # TODO(brettw) it's weird that Mac and desktop Linux are different. We should
diff --git a/chromium-gn-bootstrap-r17.patch b/chromium-gn-bootstrap-r17.patch
deleted file mode 100644
index 6cfd08d58c23..000000000000
--- a/chromium-gn-bootstrap-r17.patch
+++ /dev/null
@@ -1,68 +0,0 @@
---- a/tools/gn/bootstrap/bootstrap.py
-+++ b/tools/gn/bootstrap/bootstrap.py
-@@ -179,6 +179,7 @@ def build_gn_with_ninja_manually(tempdir, options):
-
- write_buildflag_header_manually(root_gen_dir, 'base/debug/debugging_flags.h',
- {
-+ 'ENABLE_LOCATION_SOURCE': 'false',
- 'ENABLE_PROFILING': 'false',
- 'CAN_UNWIND_WITH_FRAME_POINTERS': 'false'
- })
-@@ -204,7 +205,7 @@ def build_gn_with_ninja_manually(tempdir, options):
-
- write_gn_ninja(os.path.join(tempdir, 'build.ninja'),
- root_gen_dir, options)
-- cmd = ['ninja', '-C', tempdir]
-+ cmd = ['ninja', '-C', tempdir, '-w', 'dupbuild=err']
- if options.verbose:
- cmd.append('-v')
-
-@@ -458,6 +459,7 @@ def write_gn_ninja(path, root_gen_dir, options):
- 'base/metrics/bucket_ranges.cc',
- 'base/metrics/field_trial.cc',
- 'base/metrics/field_trial_param_associator.cc',
-+ 'base/metrics/field_trial_params.cc',
- 'base/metrics/histogram.cc',
- 'base/metrics/histogram_base.cc',
- 'base/metrics/histogram_functions.cc',
-@@ -507,6 +509,7 @@ def write_gn_ninja(path, root_gen_dir, options):
- 'base/task_scheduler/scheduler_lock_impl.cc',
- 'base/task_scheduler/scheduler_single_thread_task_runner_manager.cc',
- 'base/task_scheduler/scheduler_worker.cc',
-+ 'base/task_scheduler/scheduler_worker_pool.cc',
- 'base/task_scheduler/scheduler_worker_pool_impl.cc',
- 'base/task_scheduler/scheduler_worker_pool_params.cc',
- 'base/task_scheduler/scheduler_worker_stack.cc',
-@@ -523,6 +526,7 @@ def write_gn_ninja(path, root_gen_dir, options):
- 'base/third_party/icu/icu_utf.cc',
- 'base/third_party/nspr/prtime.cc',
- 'base/threading/post_task_and_reply_impl.cc',
-+ 'base/threading/scoped_blocking_call.cc',
- 'base/threading/sequence_local_storage_map.cc',
- 'base/threading/sequenced_task_runner_handle.cc',
- 'base/threading/sequenced_worker_pool.cc',
-@@ -579,7 +583,6 @@ def write_gn_ninja(path, root_gen_dir, options):
- 'base/unguessable_token.cc',
- 'base/value_iterators.cc',
- 'base/values.cc',
-- 'base/value_iterators.cc',
- 'base/vlog.cc',
- ])
-
-@@ -652,7 +655,6 @@ def write_gn_ninja(path, root_gen_dir, options):
- static_libraries['base']['sources'].extend([
- 'base/memory/shared_memory_handle_posix.cc',
- 'base/memory/shared_memory_posix.cc',
-- 'base/memory/shared_memory_tracker.cc',
- 'base/nix/xdg_util.cc',
- 'base/process/internal_linux.cc',
- 'base/process/memory_linux.cc',
-@@ -827,7 +829,7 @@ def build_gn_with_gn(temp_gn, build_dir, options):
- cmd = [temp_gn, 'gen', build_dir, '--args=%s' % gn_gen_args]
- check_call(cmd)
-
-- cmd = ['ninja', '-C', build_dir]
-+ cmd = ['ninja', '-C', build_dir, '-w', 'dupbuild=err']
- if options.verbose:
- cmd.append('-v')
- cmd.append('gn')
diff --git a/chromium-webrtc-r0.patch b/chromium-webrtc-r0.patch
new file mode 100644
index 000000000000..e14b185acb9b
--- /dev/null
+++ b/chromium-webrtc-r0.patch
@@ -0,0 +1,34 @@
+From 7f90e2cceda0458cf56026eb6ccffb961a47804b Mon Sep 17 00:00:00 2001
+From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
+Date: Fri, 13 Oct 2017 15:49:32 +0200
+Subject: [PATCH] IWYU: Include math.h for round(3).
+
+math.h was being implicitly included, which can break the build with
+alternative libc implementations.
+
+Bug: None
+Change-Id: I969b320b65d0f44abb33d3e1036cfbcb859a4952
+Reviewed-on: https://webrtc-review.googlesource.com/9384
+Reviewed-by: Tommi <tommi@webrtc.org>
+Commit-Queue: Raphael Kubo da Costa (rakuco) <raphael.kubo.da.costa@intel.com>
+Cr-Commit-Position: refs/heads/master@{#20292}
+---
+ p2p/base/port.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/p2p/base/port.cc b/p2p/base/port.cc
+index a1b478d11..81aa0aadb 100644
+--- a/third_party/webrtc/p2p/base/port.cc
++++ b/third_party/webrtc/p2p/base/port.cc
+@@ -10,6 +10,8 @@
+
+ #include "p2p/base/port.h"
+
++#include <math.h>
++
+ #include <algorithm>
+ #include <vector>
+
+--
+2.15.0.rc2
+
diff --git a/crc32c-string-view-check.patch b/crc32c-string-view-check.patch
deleted file mode 100644
index 9f53ec036e35..000000000000
--- a/crc32c-string-view-check.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From d0f929a5db87cb34d03afb0d8e8bfc95b8f786e3 Mon Sep 17 00:00:00 2001
-From: Victor Costan <costan@gmail.com>
-Date: Mon, 11 Sep 2017 13:18:27 -0700
-Subject: [PATCH] More conservative check for <string_view> availability. (#4)
-
-has_include(<string_view>) does not imply that the header can be
-included and will work. The assumption fails on MSVC and libc++ [1, 2].
-Conversely, checking that __cplusplus > 201402L is not sufficient on its
-own either, as the toolchain on Mac OS 10.12 passes that check but does
-not contain a <string_view> header.
-
-[1] https://crbug.com/759349
-[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79433
----
- include/crc32c/crc32c.h | 10 +++-------
- src/crc32c_unittest.cc | 6 ++----
- 2 files changed, 5 insertions(+), 11 deletions(-)
-
-diff --git a/include/crc32c/crc32c.h b/include/crc32c/crc32c.h
-index 9f1973a..8ecab0d 100644
---- a/include/crc32c/crc32c.h
-+++ b/include/crc32c/crc32c.h
-@@ -33,22 +33,18 @@ inline uint32_t Crc32c(const std::string& string) {
- string.size());
- }
-
--#if defined(__has_include)
-+#if __cplusplus > 201402L
- #if __has_include(<string_view>)
--// Visual Studio provides a <string_view> header even in C++11 mode. When
--// included, the header issues an #error. (C1189)
--#if !defined(_MSC_VER) || __cplusplus >= 201703L
- #include <string_view>
-
--// Comptues the CRC32C of the bytes in the string_view.
-+// Computes the CRC32C of the bytes in the string_view.
- inline uint32_t Crc32c(const std::string_view& string_view) {
- return Crc32c(reinterpret_cast<const uint8_t*>(string_view.data()),
- string_view.size());
- }
-
--#endif // !defined(_MSC_VER) || __cplusplus >= 201703L
- #endif // __has_include(<string_view>)
--#endif // defined(__has_include)
-+#endif // __cplusplus > 201402L
-
- } // namespace crc32c
-
-diff --git a/src/crc32c_unittest.cc b/src/crc32c_unittest.cc
-index 7a9c765..69babb3 100644
---- a/src/crc32c_unittest.cc
-+++ b/src/crc32c_unittest.cc
-@@ -95,9 +95,8 @@ TEST(CRC32CTest, Crc32cStdString) {
- EXPECT_EQ(static_cast<uint32_t>(0x113fdb5c), crc32c::Crc32c(buf));
- }
-
--#if defined(__has_include)
-+#if __cplusplus > 201402L
- #if __has_include(<string_view>)
--#if !defined(_MSC_VER) || __cplusplus >= 201703L
-
- TEST(CRC32CTest, Crc32cStdStringView) {
- uint8_t buf[32];
-@@ -118,9 +117,8 @@ TEST(CRC32CTest, Crc32cStdStringView) {
- EXPECT_EQ(static_cast<uint32_t>(0x113fdb5c), crc32c::Crc32c(view));
- }
-
--#endif // !defined(_MSC_VER) || __cplusplus >= 201703L
- #endif // __has_include(<string_view>)
--#endif // defined(__has_include)
-+#endif // __cplusplus > 201402L
-
- #define TESTED_EXTEND Extend
- #include "./crc32c_extend_unittests.h"