summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO16
-rw-r--r--PKGBUILD20
-rw-r--r--breakpad-use-ucontext_t.patch225
-rw-r--r--chromium-gn-bootstrap-r17.patch68
-rw-r--r--chromium-widevine.patch14
-rw-r--r--chromium.install11
-rw-r--r--crc32c-string-view-check.patch74
-rw-r--r--unbundle-libvpx_new-fix.patch13
8 files changed, 397 insertions, 44 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 3ec4c020754e..0d6c3e677be9 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,9 +1,9 @@
# Generated by mksrcinfo v8
-# Tue Nov 21 06:42:54 UTC 2017
+# Mon Nov 27 15:05:06 UTC 2017
pkgbase = chromium-wayland-git
pkgdesc = A web browser built for speed, simplicity, and security
pkgver = 48.0.2548.0
- pkgrel = 4
+ pkgrel = 5
url = https://github.com/Igalia/chromium
install = chromium.install
arch = x86_64
@@ -56,14 +56,20 @@ pkgbase = chromium-wayland-git
provides = chromium
conflicts = chromium
options = !strip
+ source = https://commondatastorage.googleapis.com/chromium-browser-official/chromium-62.0.3202.94.tar.xz
source = chromium-launcher-5.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v5.tar.gz
source = chromium.desktop
+ source = breakpad-use-ucontext_t.patch
+ source = crc32c-string-view-check.patch
+ source = chromium-gn-bootstrap-r17.patch
source = chromium-widevine.patch
- source = unbundle-libvpx_new-fix.patch
+ sha256sums = cabc4d267bf08aabe11c5739048c43dde18c61acf595223a1c3aa1d3499558d4
sha256sums = 4dc3428f2c927955d9ae117f2fb24d098cc6dd67adb760ac9c82b522ec8b0587
sha256sums = 028a748a5c275de9b8f776f97909f999a8583a4b77fd1cd600b4fc5c0c3e91e9
- sha256sums = 379b746e187de28f80f5a7cd19edcfa31859656826f802a1ede054fcb6dfb221
- sha256sums = 6a2fd2d8ce5363a67452f6531a6b83f1e535f800286119fd9910d3b31c76c3bc
+ sha256sums = 6e9a345f810d36068ee74ebba4708c70ab30421dad3571b6be5e9db635078ea8
+ sha256sums = 35435e8dae76737baafecdc76d74a1c97281c4179e416556e033a06a31468e6d
+ sha256sums = d81319f168dad0e411c8e810f73daa2f56ff579578771bd9c9bb1aa2d7c09a8b
+ sha256sums = d6fdcb922e5a7fbe15759d39ccc8ea4225821c44d98054ce0f23f9d1f00c9808
pkgname = chromium-wayland-git
diff --git a/PKGBUILD b/PKGBUILD
index 7bccf9ae8bae..34e3c47c4757 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -8,7 +8,7 @@
pkgname=chromium-wayland-git
pkgver=48.0.2548.0
-pkgrel=4
+pkgrel=5
_launcher_ver=5
pkgdesc="A web browser built for speed, simplicity, and security"
arch=('x86_64')
@@ -28,14 +28,20 @@ conflicts=('chromium')
provides=('chromium')
options=('!strip')
install=chromium.install
-source=(chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz
+source=(https://commondatastorage.googleapis.com/chromium-browser-official/chromium-62.0.3202.94.tar.xz
+ chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz
chromium.desktop
- chromium-widevine.patch
- unbundle-libvpx_new-fix.patch)
-sha256sums=('4dc3428f2c927955d9ae117f2fb24d098cc6dd67adb760ac9c82b522ec8b0587'
+ breakpad-use-ucontext_t.patch
+ crc32c-string-view-check.patch
+ chromium-gn-bootstrap-r17.patch
+ chromium-widevine.patch)
+sha256sums=('cabc4d267bf08aabe11c5739048c43dde18c61acf595223a1c3aa1d3499558d4'
+ '4dc3428f2c927955d9ae117f2fb24d098cc6dd67adb760ac9c82b522ec8b0587'
'028a748a5c275de9b8f776f97909f999a8583a4b77fd1cd600b4fc5c0c3e91e9'
- '379b746e187de28f80f5a7cd19edcfa31859656826f802a1ede054fcb6dfb221'
- '6a2fd2d8ce5363a67452f6531a6b83f1e535f800286119fd9910d3b31c76c3bc')
+ '6e9a345f810d36068ee74ebba4708c70ab30421dad3571b6be5e9db635078ea8'
+ '35435e8dae76737baafecdc76d74a1c97281c4179e416556e033a06a31468e6d'
+ 'd81319f168dad0e411c8e810f73daa2f56ff579578771bd9c9bb1aa2d7c09a8b'
+ '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
diff --git a/breakpad-use-ucontext_t.patch b/breakpad-use-ucontext_t.patch
new file mode 100644
index 000000000000..f32397236664
--- /dev/null
+++ b/breakpad-use-ucontext_t.patch
@@ -0,0 +1,225 @@
+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-gn-bootstrap-r17.patch b/chromium-gn-bootstrap-r17.patch
new file mode 100644
index 000000000000..6cfd08d58c23
--- /dev/null
+++ b/chromium-gn-bootstrap-r17.patch
@@ -0,0 +1,68 @@
+--- 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-widevine.patch b/chromium-widevine.patch
index 45048cada875..a67ae8b1c118 100644
--- a/chromium-widevine.patch
+++ b/chromium-widevine.patch
@@ -1,12 +1,10 @@
-diff -upr chromium-42.0.2311.90.orig/third_party/widevine/cdm/widevine_cdm_version.h chromium-42.0.2311.90/third_party/widevine/cdm/widevine_cdm_version.h
---- chromium-42.0.2311.90.orig/third_party/widevine/cdm/widevine_cdm_version.h 2015-04-15 01:18:59.000000000 +0300
-+++ chromium-42.0.2311.90/third_party/widevine/cdm/widevine_cdm_version.h 2015-04-15 09:09:49.157260050 +0300
-@@ -14,4 +14,8 @@
- // - WIDEVINE_CDM_VERSION_STRING (with the version of the CDM that's available
- // as a string, e.g., "1.0.123.456").
+diff -upr chromium-48.0.2564.82.orig/third_party/widevine/cdm/stub/widevine_cdm_version.h chromium-48.0.2564.82/third_party/widevine/cdm/stub/widevine_cdm_version.h
+--- chromium-48.0.2564.82.orig/third_party/widevine/cdm/stub/widevine_cdm_version.h 2016-01-14 01:05:17.000000000 +0200
++++ chromium-48.0.2564.82/third_party/widevine/cdm/stub/widevine_cdm_version.h 2016-01-21 19:18:51.287978456 +0200
+@@ -12,4 +12,6 @@
+
+ #define WIDEVINE_CDM_AVAILABLE
-+#include "third_party/widevine/cdm/widevine_cdm_common.h"
-+#define WIDEVINE_CDM_AVAILABLE
+#define WIDEVINE_CDM_VERSION_STRING "@WIDEVINE_VERSION@"
+
#endif // WIDEVINE_CDM_VERSION_H_
diff --git a/chromium.install b/chromium.install
index b32dedb23dfc..c2b5000d2d7b 100644
--- a/chromium.install
+++ b/chromium.install
@@ -1,8 +1,3 @@
-post_install() {
- gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
- update-desktop-database -q
-}
-
post_upgrade() {
if (($(vercmp $2 42.0.2311.90-1) < 0)); then
echo ':: This Chromium package no longer supports custom flags passed via the'
@@ -16,12 +11,6 @@ post_upgrade() {
echo ' (or $XDG_CONFIG_HOME). Arguments are split on whitespace and shell'
echo ' quoting rules apply but no further parsing is performed.'
fi
-
- post_install
-}
-
-post_remove() {
- post_install
}
# vim:set ts=2 sw=2 et:
diff --git a/crc32c-string-view-check.patch b/crc32c-string-view-check.patch
new file mode 100644
index 000000000000..9f53ec036e35
--- /dev/null
+++ b/crc32c-string-view-check.patch
@@ -0,0 +1,74 @@
+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"
diff --git a/unbundle-libvpx_new-fix.patch b/unbundle-libvpx_new-fix.patch
deleted file mode 100644
index 1cbf104b7e6c..000000000000
--- a/unbundle-libvpx_new-fix.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git i/build/linux/unbundle/libvpx.gyp w/build/linux/unbundle/libvpx.gyp
-index 75671c5..fe2e21f 100644
---- i/build/linux/unbundle/libvpx.gyp
-+++ w/build/linux/unbundle/libvpx.gyp
-@@ -4,7 +4,7 @@
- {
- 'targets': [
- {
-- 'target_name': 'libvpx',
-+ 'target_name': 'libvpx_new',
- 'type': 'none',
- 'direct_dependent_settings': {
- 'cflags': [