Date: Wednesday, January 24, 2018 @ 05:17:04 Author: foutrelis Revision: 315352
upgpkg: chromium 64.0.3282.113-1 - New upstream release. - Disable building with LLD; the resulting binaries are missing RELRO. Added: chromium/trunk/chromium-clang-r2.patch chromium/trunk/chromium-memcpy-r0.patch chromium/trunk/chromium-use-fromUTF8-for-UnicodeString-construction.patch Modified: chromium/trunk/PKGBUILD chromium/trunk/chromium-exclude_unwind_tables.patch Deleted: chromium/trunk/chromium-clang-r1.patch chromium/trunk/chromium-disable-SharedArrayBuffer-by-default.patch chromium/trunk/chromium-webrtc-r0.patch ------------------------------------------------------------+ PKGBUILD | 43 +++--- chromium-clang-r1.patch | 21 --- chromium-clang-r2.patch | 21 +++ chromium-disable-SharedArrayBuffer-by-default.patch | 35 ----- chromium-exclude_unwind_tables.patch | 25 +--- chromium-memcpy-r0.patch | 35 +++++ chromium-use-fromUTF8-for-UnicodeString-construction.patch | 68 +++++++++++ chromium-webrtc-r0.patch | 34 ----- 8 files changed, 153 insertions(+), 129 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2018-01-24 01:54:03 UTC (rev 315351) +++ PKGBUILD 2018-01-24 05:17:04 UTC (rev 315352) @@ -5,8 +5,8 @@ # Contributor: Daniel J Griffiths <[email protected]> pkgname=chromium -pkgver=63.0.3239.132 -pkgrel=3 +pkgver=64.0.3282.113 +pkgrel=1 _launcher_ver=5 pkgdesc="A web browser built for speed, simplicity, and security" arch=('x86_64') @@ -15,8 +15,7 @@ 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') +makedepends=('python2' 'gperf' 'yasm' 'mesa' 'ninja' 'nodejs' 'git' 'clang') optdepends=('pepper-flash: support for Flash content' 'kdialog: needed for file dialogs in KDE' 'gnome-keyring: for storing passwords in GNOME keyring' @@ -25,22 +24,22 @@ 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-use-fromUTF8-for-UnicodeString-construction.patch chromium-omnibox-unescape-fragment.patch - chromium-disable-SharedArrayBuffer-by-default.patch chromium-skia-harmony.patch - chromium-clang-r1.patch - chromium-webrtc-r0.patch + chromium-memcpy-r0.patch + chromium-clang-r2.patch chromium-exclude_unwind_tables.patch chromium-widevine.patch) -sha256sums=('84c46c2c42faaa102abe0647ee1213615a2522627124924c2741ddc2161b3d8d' +sha256sums=('cffa16a5a49bb9c0813306b261b90ab1ec549a9d98fe64731afe28ebf535e16b' '4dc3428f2c927955d9ae117f2fb24d098cc6dd67adb760ac9c82b522ec8b0587' - 'ab330f30c14ea3b5e77976d674304b91cfb02251fe8771cecb0bb4092c7f6b74' + 'eb542d00801349d6df9b83ae07ddeaf55eddd450a02cf6d4a9b1682092dd8193' + 'c82c830bac7ab328a76d85fb141e150a17d02d97138a6daa4720a8a8c371a402' '814eb2cecb10cb697e24036b08aac41e88d0e38971741f9e946200764e2401ae' - '1e040caa43ba34c627fe3750fb44c781a74298d010ef40657ab8deb4780db70b' 'feca54ab09ac0fc9d0626770a6b899a6ac5a12173c7d0c1005bc3964ec83e7b3' - 'ab5368a3e3a67fa63b33fefc6788ad5b4a79089ef4db1011a14c3bee9fdf70c6' - 'bcb2f4588cf5dcf75cde855c7431e94fdcc34bdd68b876a90f65ab9938594562' - 'e53dc6f259acd39df13874f8a0f440528fae764b859dd71447991a5b1fac7c9c' + '455f0029987d9f0532bd9a5250669af5146a9c2b65b776d4a6e2499e8aca7bb4' + '4495e8b29dae242c79ffe4beefc5171eb3c7aacb7e9aebfd2d4d69b9d8c958d3' + '9478f1ec1a3c53425306cf41c2d0555c215a4f106955d9d6adfff38044530ce8' 'd6fdcb922e5a7fbe15759d39ccc8ea4225821c44d98054ce0f23f9d1f00c9808') # Possible replacements are listed in build/linux/unbundle/replace_gn_files.py @@ -48,15 +47,16 @@ readonly -A _system_libs=( #[ffmpeg]=ffmpeg # https://crbug.com/731766 [flac]=flac + #[fontconfig]=fontconfig # Enable for M65 #[freetype]=freetype2 # Using 'use_system_freetype=true' until M65 #[harfbuzz-ng]=harfbuzz # Using 'use_system_harfbuzz=true' until M65 - #[icu]=icu # https://crbug.com/772655 + need M64 for ICU 60 + [icu]=icu [libdrm]= [libjpeg]=libjpeg #[libpng]=libpng # https://crbug.com/752403#c10 #[libvpx]=libvpx # https://bugs.gentoo.org/611394 [libwebp]=libwebp - [libxml]=libxml2 + #[libxml]=libxml2 # https://crbug.com/736026 [libxslt]=libxslt [opus]=opus [re2]=re2 @@ -100,18 +100,18 @@ # https://chromium-review.googlesource.com/c/chromium/src/+/712575 patch -Np1 -i ../chromium-exclude_unwind_tables.patch + # https://crbug.com/772655 + patch -Np1 -i ../chromium-use-fromUTF8-for-UnicodeString-construction.patch + # https://crbug.com/789163 patch -Np1 -i ../chromium-omnibox-unescape-fragment.patch - # https://crbug.com/798864 - patch -Np1 -i ../chromium-disable-SharedArrayBuffer-by-default.patch - # https://crbug.com/skia/6663#c10 patch -Np4 -i ../chromium-skia-harmony.patch # Fixes from Gentoo - patch -Np1 -i ../chromium-clang-r1.patch - patch -Np1 -i ../chromium-webrtc-r0.patch + patch -Np1 -i ../chromium-memcpy-r0.patch + patch -Np1 -i ../chromium-clang-r2.patch # Remove compiler flags not supported by our system clang sed -i \ @@ -118,7 +118,7 @@ -e '/"-Wno-enum-compare-switch"/d' \ -e '/"-Wno-null-pointer-arithmetic"/d' \ -e '/"-Wno-tautological-unsigned-zero-compare"/d' \ - -e '/"-Wno-tautological-unsigned-enum-zero-compare"/d' \ + -e '/"-Wno-tautological-constant-compare"/d' \ build/config/compiler/BUILD.gn # Use Python 2 @@ -188,6 +188,7 @@ 'use_gconf=false' 'use_gnome_keyring=false' 'use_gold=false' + 'use_lld=false' 'use_sysroot=false' 'linux_use_bundled_binutils=false' 'use_custom_libcxx=false' Deleted: chromium-clang-r1.patch =================================================================== --- chromium-clang-r1.patch 2018-01-24 01:54:03 UTC (rev 315351) +++ chromium-clang-r1.patch 2018-01-24 05:17:04 UTC (rev 315352) @@ -1,21 +0,0 @@ ---- 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. Added: chromium-clang-r2.patch =================================================================== --- chromium-clang-r2.patch (rev 0) +++ chromium-clang-r2.patch 2018-01-24 05:17:04 UTC (rev 315352) @@ -0,0 +1,21 @@ +--- a/build/config/compiler/BUILD.gn ++++ b/build/config/compiler/BUILD.gn +@@ -422,18 +422,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=0", +- ] +- } +- + # 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. Deleted: chromium-disable-SharedArrayBuffer-by-default.patch =================================================================== --- chromium-disable-SharedArrayBuffer-by-default.patch 2018-01-24 01:54:03 UTC (rev 315351) +++ chromium-disable-SharedArrayBuffer-by-default.patch 2018-01-24 05:17:04 UTC (rev 315352) @@ -1,35 +0,0 @@ -From a354b4ecf2434f2f6460b33031aeaf646edf5e64 Mon Sep 17 00:00:00 2001 -From: Brad Nelson <[email protected]> -Date: Thu, 4 Jan 2018 00:36:18 -0800 -Subject: [PATCH] Disable SharedArrayBuffer by default. - -BUG=chromium:798864 [email protected],[email protected] - -Change-Id: I5ebfae41a4b4c7e89faf071e6d009ea3d9ca30d4 -Reviewed-on: https://chromium-review.googlesource.com/849429 -Reviewed-by: Ben Smith <[email protected]> -Reviewed-by: Justin Schuh <[email protected]> -Reviewed-by: Darin Fisher <[email protected]> -Commit-Queue: Brad Nelson <[email protected]> -Cr-Commit-Position: refs/heads/master@{#527460} ---- - content/public/common/content_features.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc -index 847a1af6db7b..9075bd853d0f 100644 ---- a/content/public/common/content_features.cc -+++ b/content/public/common/content_features.cc -@@ -312,7 +312,7 @@ const base::Feature kServiceWorkerScriptFullCodeCache{ - - // http://tc39.github.io/ecmascript_sharedmem/shmem.html - const base::Feature kSharedArrayBuffer{"SharedArrayBuffer", -- base::FEATURE_ENABLED_BY_DEFAULT}; -+ base::FEATURE_DISABLED_BY_DEFAULT}; - - // An experiment to require process isolation for the sign-in origin, - // https://accounts.google.com. Launch bug: https://crbug.com/739418. --- -2.15.1 - Modified: chromium-exclude_unwind_tables.patch =================================================================== --- chromium-exclude_unwind_tables.patch 2018-01-24 01:54:03 UTC (rev 315351) +++ chromium-exclude_unwind_tables.patch 2018-01-24 05:17:04 UTC (rev 315352) @@ -1,21 +1,8 @@ -From 1fc37227522ccd314f82ec893ed15c6129296604 Mon Sep 17 00:00:00 2001 -From: Paul Jensen <[email protected]> -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 [email protected] - -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 @@ +@@ -68,19 +68,19 @@ # Whether or not we should use position independent code. use_pic = true @@ -25,8 +12,9 @@ + # 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) ++ exclude_unwind_tables = ++ (is_chrome_branded && is_official_build) || ++ (is_chromecast && !is_cast_desktop_build && !is_debug && !is_fuchsia) } assert(!is_cfi || use_thin_lto, "CFI requires ThinLTO") @@ -36,8 +24,9 @@ -# 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) +-exclude_unwind_tables = +- (is_chrome_branded && is_official_build) || +- (is_chromecast && !is_cast_desktop_build && !is_debug && !is_fuchsia) - # If true, optimize for size. Does not affect windows builds. # Linux & Mac favor speed over size. Added: chromium-memcpy-r0.patch =================================================================== --- chromium-memcpy-r0.patch (rev 0) +++ chromium-memcpy-r0.patch 2018-01-24 05:17:04 UTC (rev 315352) @@ -0,0 +1,35 @@ +From 4942f56ceb6d60d6f54ebca8e6eba8ba01c278e8 Mon Sep 17 00:00:00 2001 +From: Tomas Popela <[email protected]> +Date: Thu, 7 Dec 2017 22:33:34 +0000 +Subject: [PATCH] memcpy used without including string.h + +Compiling Chromium with Clang 4.0.1 and using libstdc++ will fail on using +memcpy without including string.h. + +Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel +Change-Id: Idced1d5de3baf6b520d4a2d61774120642ead1a8 +Reviewed-on: https://chromium-review.googlesource.com/813737 +Reviewed-by: Thomas Anderson <[email protected]> +Reviewed-by: vmpstr <[email protected]> +Commit-Queue: Thomas Anderson <[email protected]> +Cr-Commit-Position: refs/heads/master@{#522579} +--- + cc/paint/raw_memory_transfer_cache_entry.cc | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/cc/paint/raw_memory_transfer_cache_entry.cc b/cc/paint/raw_memory_transfer_cache_entry.cc +index 9e4660c685ee..95ad50b1a338 100644 +--- a/cc/paint/raw_memory_transfer_cache_entry.cc ++++ b/cc/paint/raw_memory_transfer_cache_entry.cc +@@ -4,6 +4,8 @@ + + #include "cc/paint/raw_memory_transfer_cache_entry.h" + ++#include <string.h> ++ + namespace cc { + + ClientRawMemoryTransferCacheEntry::ClientRawMemoryTransferCacheEntry( +-- +2.15.1 + Added: chromium-use-fromUTF8-for-UnicodeString-construction.patch =================================================================== --- chromium-use-fromUTF8-for-UnicodeString-construction.patch (rev 0) +++ chromium-use-fromUTF8-for-UnicodeString-construction.patch 2018-01-24 05:17:04 UTC (rev 315352) @@ -0,0 +1,68 @@ +From e58fa0ba66272c5f28828b15d06c7e42a9882b3b Mon Sep 17 00:00:00 2001 +From: Jungshik Shin <[email protected]> +Date: Sat, 16 Dec 2017 04:19:27 +0000 +Subject: [PATCH] Use fromUTF8() for UnicodeString construction from UTF-8 + +Chrome's copy of ICU is built with U_CHARSET_IS_UTF8=1 so that |char *| +buffer is treated as UTF-8 when constructing UnicodeString() regardless +of the default encoding of the current locale on Linux or non-Unicode code +page on Windows. + +However, some Linux distros do not set U_CHARSET_IS_UTF=1 when building +ICU and Chromium build with system_icu crashes when Chromium is run in +non-UTF-8 locale (e.g. 'C'). + +To make Chromium work in a non-UTF-8 locale (which is pretty rare these +days), use 'icu::UnicodeString::fromUTF8(StringPiece)' instead of +'icu::UnicodeString(const char*)'. + +Bug: 772655 +Test: components_unittests --gtest_filter=*IDN* +Test: Chromium built with system_icu does not crash in C locale. +Change-Id: I0daa284ec06b8e83814fc70eb8e9e5c96444ebfa +Reviewed-on: https://chromium-review.googlesource.com/831247 +Reviewed-by: Peter Kasting <[email protected]> +Commit-Queue: Jungshik Shin <[email protected]> +Cr-Commit-Position: refs/heads/master@{#524586} +--- + components/url_formatter/idn_spoof_checker.cc | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/components/url_formatter/idn_spoof_checker.cc b/components/url_formatter/idn_spoof_checker.cc +index a88c5e8f8331..aee748d8a4d5 100644 +--- a/components/url_formatter/idn_spoof_checker.cc ++++ b/components/url_formatter/idn_spoof_checker.cc +@@ -110,8 +110,8 @@ IDNSpoofChecker::IDNSpoofChecker() { + + // These Cyrillic letters look like Latin. A domain label entirely made of + // these letters is blocked as a simplified whole-script-spoofable. +- cyrillic_letters_latin_alike_ = +- icu::UnicodeSet(icu::UnicodeString("[асԁеһіјӏорԛѕԝхуъЬҽпгѵѡ]"), status); ++ cyrillic_letters_latin_alike_ = icu::UnicodeSet( ++ icu::UnicodeString::fromUTF8("[асԁеһіјӏорԛѕԝхуъЬҽпгѵѡ]"), status); + cyrillic_letters_latin_alike_.freeze(); + + cyrillic_letters_ = +@@ -141,8 +141,8 @@ IDNSpoofChecker::IDNSpoofChecker() { + UParseError parse_error; + diacritic_remover_.reset(icu::Transliterator::createFromRules( + UNICODE_STRING_SIMPLE("DropAcc"), +- icu::UnicodeString("::NFD; ::[:Nonspacing Mark:] Remove; ::NFC;" +- " ł > l; ø > o; đ > d;"), ++ icu::UnicodeString::fromUTF8("::NFD; ::[:Nonspacing Mark:] Remove; ::NFC;" ++ " ł > l; ø > o; đ > d;"), + UTRANS_FORWARD, parse_error, status)); + + // Supplement the Unicode confusable list by the following mapping. +@@ -158,7 +158,7 @@ IDNSpoofChecker::IDNSpoofChecker() { + // - U+0D1F (ട) => s + extra_confusable_mapper_.reset(icu::Transliterator::createFromRules( + UNICODE_STRING_SIMPLE("ExtraConf"), +- icu::UnicodeString( ++ icu::UnicodeString::fromUTF8( + "ӏ > l; [кĸκ] > k; п > n; [ƅь] > b; в > b; м > m; н > h; " + "т > t; [шщ] > w; ട > s;"), + UTRANS_FORWARD, parse_error, status)); +-- +2.15.1 + Deleted: chromium-webrtc-r0.patch =================================================================== --- chromium-webrtc-r0.patch 2018-01-24 01:54:03 UTC (rev 315351) +++ chromium-webrtc-r0.patch 2018-01-24 05:17:04 UTC (rev 315352) @@ -1,34 +0,0 @@ -From 7f90e2cceda0458cf56026eb6ccffb961a47804b Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa <[email protected]> -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 <[email protected]> -Commit-Queue: Raphael Kubo da Costa (rakuco) <[email protected]> -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 -
