diff options
author | Jonas Heinrich | 2017-11-27 16:05:08 +0100 |
---|---|---|
committer | Jonas Heinrich | 2017-11-27 16:05:08 +0100 |
commit | 63e4902779ee5c1a272a05fc1217e39cdf7d8794 (patch) | |
tree | 235135f6249c1d13fdc341a30ec7b28edfc3e5d1 | |
parent | ded16529149f96cd04023ce60e7ca3612bd69478 (diff) | |
download | aur-63e4902779ee5c1a272a05fc1217e39cdf7d8794.tar.gz |
updated patchfiles matching upstream
-rw-r--r-- | .SRCINFO | 16 | ||||
-rw-r--r-- | PKGBUILD | 20 | ||||
-rw-r--r-- | breakpad-use-ucontext_t.patch | 225 | ||||
-rw-r--r-- | chromium-gn-bootstrap-r17.patch | 68 | ||||
-rw-r--r-- | chromium-widevine.patch | 14 | ||||
-rw-r--r-- | chromium.install | 11 | ||||
-rw-r--r-- | crc32c-string-view-check.patch | 74 | ||||
-rw-r--r-- | unbundle-libvpx_new-fix.patch | 13 |
8 files changed, 397 insertions, 44 deletions
@@ -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 @@ -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': [ |