Date: Wednesday, February 3, 2021 @ 10:25:43 Author: foutrelis Revision: 842485
archrelease: copy trunk to community-staging-x86_64 Added: electron6/repos/community-staging-x86_64/ electron6/repos/community-staging-x86_64/PKGBUILD (from rev 842484, electron6/trunk/PKGBUILD) electron6/repos/community-staging-x86_64/angle-gcc10.patch (from rev 842484, electron6/trunk/angle-gcc10.patch) electron6/repos/community-staging-x86_64/chromium-bison-3.7.patch (from rev 842484, electron6/trunk/chromium-bison-3.7.patch) electron6/repos/community-staging-x86_64/chromium-ffmpeg-4.3.patch (from rev 842484, electron6/trunk/chromium-ffmpeg-4.3.patch) electron6/repos/community-staging-x86_64/chromium-gcc10.patch (from rev 842484, electron6/trunk/chromium-gcc10.patch) electron6/repos/community-staging-x86_64/chromium-skia-harmony.patch (from rev 842484, electron6/trunk/chromium-skia-harmony.patch) electron6/repos/community-staging-x86_64/default_app-icon.patch (from rev 842484, electron6/trunk/default_app-icon.patch) electron6/repos/community-staging-x86_64/electron6.desktop (from rev 842484, electron6/trunk/electron6.desktop) electron6/repos/community-staging-x86_64/glslang-remove-setAllocator.patch (from rev 842484, electron6/trunk/glslang-remove-setAllocator.patch) electron6/repos/community-staging-x86_64/icu65.patch (from rev 842484, electron6/trunk/icu65.patch) electron6/repos/community-staging-x86_64/icu67.patch (from rev 842484, electron6/trunk/icu67.patch) electron6/repos/community-staging-x86_64/perfetto-clang11.patch (from rev 842484, electron6/trunk/perfetto-clang11.patch) electron6/repos/community-staging-x86_64/perfetto-gcc10.patch (from rev 842484, electron6/trunk/perfetto-gcc10.patch) electron6/repos/community-staging-x86_64/use-system-libraries-in-node.patch (from rev 842484, electron6/trunk/use-system-libraries-in-node.patch) electron6/repos/community-staging-x86_64/webrtc-gcc10.patch (from rev 842484, electron6/trunk/webrtc-gcc10.patch) ------------------------------------+ PKGBUILD | 213 +++++++++++++++++++++++++++++++++++ angle-gcc10.patch | 26 ++++ chromium-bison-3.7.patch | 32 +++++ chromium-ffmpeg-4.3.patch | 21 +++ chromium-gcc10.patch | 34 +++++ chromium-skia-harmony.patch | 14 ++ default_app-icon.patch | 21 +++ electron6.desktop | 7 + glslang-remove-setAllocator.patch | 24 +++ icu65.patch | 64 ++++++++++ icu67.patch | 164 ++++++++++++++++++++++++++ perfetto-clang11.patch | 32 +++++ perfetto-gcc10.patch | 28 ++++ use-system-libraries-in-node.patch | 56 +++++++++ webrtc-gcc10.patch | 73 +++++++++++ 15 files changed, 809 insertions(+) Copied: electron6/repos/community-staging-x86_64/PKGBUILD (from rev 842484, electron6/trunk/PKGBUILD) =================================================================== --- community-staging-x86_64/PKGBUILD (rev 0) +++ community-staging-x86_64/PKGBUILD 2021-02-03 10:25:43 UTC (rev 842485) @@ -0,0 +1,213 @@ +# Maintainer: Nicola Squartini <tens...@gmail.com> + +pkgname=electron6 +pkgver=6.1.12 +_commit=cb408dbb5bc2e98b22690a22bf3e14d233d76676 +_chromiumver=76.0.3809.146 +pkgrel=5 +pkgdesc='Build cross platform desktop apps with web technologies' +arch=('x86_64') +url='https://electronjs.org/' +license=('MIT' 'custom') +depends=('c-ares' 'ffmpeg' 'gtk3' 'http-parser' 'libevent' 'libxslt' 'libxss' + 'minizip' 'nss' 're2' 'snappy') +makedepends=('clang' 'git' 'gn-m76' 'gperf' 'harfbuzz-icu' 'java-runtime-headless' + 'jsoncpp' 'libnotify' 'lld' 'llvm' 'ninja' 'npm' 'pciutils' + 'python2' 'wget' 'yarn' 'yasm') +optdepends=('kde-cli-tools: file deletion support (kioclient5)' + 'trash-cli: file deletion support (trash-put)' + "xdg-utils: open URLs with desktop's default (xdg-email, xdg-open)") +source=('git+https://github.com/electron/electron.git' + 'git+https://chromium.googlesource.com/chromium/tools/depot_tools.git' + 'electron6.desktop' + 'default_app-icon.patch' + 'use-system-libraries-in-node.patch' + 'icu65.patch' + 'icu67.patch' + 'chromium-gcc10.patch' + 'angle-gcc10.patch' + 'perfetto-clang11.patch' + 'perfetto-gcc10.patch' + 'webrtc-gcc10.patch' + 'glslang-remove-setAllocator.patch' + 'chromium-bison-3.7.patch' + 'chromium-ffmpeg-4.3.patch' + 'chromium-skia-harmony.patch') +sha512sums=('SKIP' + 'SKIP' + 'f2384d851478507b8b76ada5822d021b0ab86e6cb7d078294171cf43935f3362f383b8399fa29acd11f021df5f43c3a0337b173702313c4533946bb36b7e512d' + '81a959a2873e868bb9394b1e5371d8c77f13f47d88c070016394188e96420ed64c8d6efa518e854f302ec4e6e7e17888d508f6a3598f433f6f82b8507639c0b7' + '147563fe422108598af26c617edf78d146d4e70223e3093216d5f63a1ab051eff95abd0c8f8c0b6f8a504ae26557d65cd0ffd90c542d6534176b72b99ea44a5e' + 'd109937c4a5fba96e82d6fbc7b804943010d5723eef91af4f79355c8b84214da3978fc784dd0fcc3ed228c4684d0d06cf8cd21fa32fc5ec80c00d1bb4e3b9c90' + 'b46eeef32c7c773babe15da0c118ca55bf3c084142592695853a73f80b5dc55336cad72636f8ed2308fe9c10bcab953e37ca7ab08f20f545b881fe99a543d247' + '682cbc25a332ea30e2475fc39fa8e6ce395f65b974520121ccf7be90b7744b0f9b98313e2d9ac0e56a0e41fd444e8dec80a7e8565b7e91508bfe8234e4105f6b' + 'fd8e523b657205ed1cb64581bd9e5597183c1575f0d0523dcc708e3b67e4ff2dcb962b41254b7ad7b180a317161ab47b7e262d2321ac1b21718c3b1bccc54c3e' + 'd9d232c98cf80d2b337e85883fa07a845fa2f4ffdc73b890f46aa5abba14efadba80d964995b3088476dc93237c203b8bfa91f3bc5f95ab3eb71b57dc3c127b0' + '047606dacc67dc689bac9d30540331c4f4a56f5ff664115c779b13376918a0279fa0466099aa5e36a6541faa7479ae567ac50a4d4b482cdc34c95ae04aceb51d' + 'a4340a6b338768d51600853d101f7b4e06c7b733bda71f1e193c457edac3bb07887f7c307e60e26edf2fda47986788df8c4645b6ce26dae0d1e0b091f4520e91' + 'e34562b4b6cf4f0afa3f23afe7336fed4614201b39bfb73871899081161f5927d273c1da14b3ab7edeeb803300ba6e07c1ddf7261e8be12555cbfc4fe0a0d23c' + '1e1d8f078278bff74ffec1f9bc05527c5bedb3ba408abac5c9b95a5f2e4441c536bc91ce4cb674b583ad662dd86e86fb2f342cd96473fa9c7fd6c6472ee913b8' + '70c30709a9bb6abc7a61a17cdc90cb2c4bad907f13f3bdd595906d87f7ad9a45100f237885e08d3dd4373a19a0716e8a4fa72a3950b7f779c8755cf0349f63d2' + '6fa7c5f737b3f86274b1f768aadf863dd7542fca9c8885d5c3804590bd04c288394c54b2003234be37d961f48b5470ce15254ba64b2716f8aceb181e1fd3c7c0') + +_system_libs=('ffmpeg' + 'flac' + 'fontconfig' + 'freetype' + 'harfbuzz-ng' + 'icu' + 'libdrm' + 'libevent' + 'libjpeg' +# 'libpng' + 'libvpx' + 'libwebp' + 'libxml' + 'libxslt' +# 'openh264' + 'opus' + 're2' + 'snappy' + 'yasm' + 'zlib') + +prepare() { + mkdir -p "$srcdir"/python2-path + ln -sf /usr/bin/python2 "$srcdir"/python2-path/python + export PATH="$srcdir/python2-path:$PATH:$srcdir/depot_tools" + + echo 'Fetching chromium...' + git clone --branch=$_chromiumver --depth=1 https://chromium.googlesource.com/chromium/src.git + + echo "solutions = [ + { + \"name\": \"src/electron\", + \"url\": \"file://$srcdir/electron@$_commit\", + \"deps_file\": \"DEPS\", + \"managed\": False, + \"custom_deps\": { + \"src\": None, + }, + \"custom_vars\": {}, + }, +]" > .gclient + + python2 "$srcdir"/depot_tools/gclient.py sync \ + --with_branch_heads \ + --with_tags \ + --nohooks + + sed -e "s/'am'/'apply'/" -i src/electron/script/lib/git.py + + echo 'Running hooks...' + # python2 "$srcdir"/depot_tools/gclient.py runhooks + python2 src/build/landmines.py + python2 src/build/util/lastchange.py -o src/build/util/LASTCHANGE + python2 src/build/util/lastchange.py -m GPU_LISTS_VERSION \ + --revision-id-only --header src/gpu/config/gpu_lists_version.h + python2 src/build/util/lastchange.py -m SKIA_COMMIT_HASH \ + -s src/third_party/skia --header src/skia/ext/skia_commit_hash.h + # Create sysmlink to system Node.js + mkdir -p src/third_party/node/linux/node-linux-x64/bin + ln -sf /usr/bin/node src/third_party/node/linux/node-linux-x64/bin + python2 src/third_party/depot_tools/download_from_google_storage.py \ + --no_resume --extract --no_auth --bucket chromium-nodejs \ + -s src/third_party/node/node_modules.tar.gz.sha1 + vpython src/chrome/android/profiles/update_afdo_profile.py + python2 src/electron/script/apply_all_patches.py \ + src/electron/patches/common/config.json + cd src/electron + yarn install --frozen-lockfile + cd .. + + echo 'Patching Chromium for using system libraries...' + sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ + tools/generate_shim_headers/generate_shim_headers.py + for lib in "${_system_libs[@]}" libjpeg_turbo; do + third_party_dir=third_party/"$lib" + if [ ! -d "$third_party_dir" ]; then + third_party_dir=base/"$third_party_dir" + fi + find "$third_party_dir" -type f \ + \! -path "$third_party_dir/chromium/*" \ + \! -path "$third_party_dir/google/*" \ + \! -path 'third_party/yasm/run_yasm.py' \ + \! -regex '.*\.\(gn\|gni\|isolate\)' \ + -delete + done + python2 build/linux/unbundle/replace_gn_files.py \ + --system-libraries \ + "${_system_libs[@]}" + + echo 'Applying local patches...' + patch -Np1 -i ../chromium-bison-3.7.patch + patch -Np1 -i ../chromium-ffmpeg-4.3.patch + patch -Np0 -i ../chromium-skia-harmony.patch + patch -Np1 -i ../icu65.patch + patch -Np1 -d v8 <../icu67.patch + patch -Np1 -i ../chromium-gcc10.patch + patch -Np1 -d third_party/angle <../angle-gcc10.patch + patch -Np1 -d third_party/perfetto <../perfetto-clang11.patch + patch -Np1 -d third_party/perfetto <../perfetto-gcc10.patch + patch -Np1 -d third_party/webrtc <../webrtc-gcc10.patch + patch -Np1 -d third_party/glslang/src <../glslang-remove-setAllocator.patch + patch -Np1 -i ../use-system-libraries-in-node.patch + patch -Np1 -i ../default_app-icon.patch # Icon from .desktop file +} + +build() { + export CC=clang + export CXX=clang++ + export AR=ar + export NM=nm + + # Workaround for building with ICU 68.x + CPPFLAGS+=' -DU_DEFINE_FALSE_AND_TRUE=1' + + cd src + export CHROMIUM_BUILDTOOLS_PATH="$PWD"/buildtools + GN_EXTRA_ARGS=' + blink_symbol_level = 0 + clang_use_chrome_plugins = false + custom_toolchain = "//build/toolchain/linux/unbundle:default" + host_toolchain = "//build/toolchain/linux/unbundle:default" + icu_use_data_file = false + is_component_ffmpeg = false + link_pulseaudio = true + linux_use_bundled_binutils = false + treat_warnings_as_errors = false + use_custom_libcxx = false + use_gnome_keyring = false + use_sysroot = false + ' + gn-m76 gen out/Release \ + --args="import(\"//electron/build/args/release.gn\") $GN_EXTRA_ARGS" + ninja -C out/Release electron + # Strip before zip to avoid + # zipfile.LargeZipFile: Filesize would require ZIP64 extensions + strip -s out/Release/electron + ninja -C out/Release electron_dist_zip + # ninja -C out/Release third_party/electron_node:headers +} + +package() { + install -dm755 "$pkgdir"/usr/lib/$pkgname + bsdtar -xf src/out/Release/dist.zip -C "$pkgdir"/usr/lib/$pkgname + + chmod u+s "$pkgdir"/usr/lib/$pkgname/chrome-sandbox + + install -dm755 "$pkgdir"/usr/share/licenses/$pkgname + for l in "$pkgdir"/usr/lib/$pkgname/{LICENSE,LICENSES.chromium.html}; do + ln -s \ + $(realpath --relative-to="$pkgdir"/usr/share/licenses/$pkgname $l) \ + "$pkgdir"/usr/share/licenses/$pkgname + done + + install -dm755 "$pkgdir"/usr/bin + ln -s ../lib/$pkgname/electron "$pkgdir"/usr/bin/$pkgname + + # Install .desktop and icon file (see default_app-icon.patch) + install -Dm644 -t "$pkgdir"/usr/share/applications $pkgname.desktop + install -Dm644 src/electron/default_app/icon.png \ + "$pkgdir"/usr/share/pixmaps/$pkgname.png # hicolor has no 1024x1024 +} Copied: electron6/repos/community-staging-x86_64/angle-gcc10.patch (from rev 842484, electron6/trunk/angle-gcc10.patch) =================================================================== --- community-staging-x86_64/angle-gcc10.patch (rev 0) +++ community-staging-x86_64/angle-gcc10.patch 2021-02-03 10:25:43 UTC (rev 842485) @@ -0,0 +1,26 @@ +From 9a481b6ec835cfd0d4014c0b11f03c27a209f305 Mon Sep 17 00:00:00 2001 +From: Pierre-Marc Berube <pmber...@google.com> +Date: Tue, 18 Feb 2020 19:21:34 -0500 +Subject: [PATCH] Add missing #include to fix build with GCC 10. + +Bug: angleproject:4389 +Change-Id: I4a2f04a12a059924871f5d54f137c67670747ebd +Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2063042 +Reviewed-by: Jamie Madill <jmad...@chromium.org> +Commit-Queue: Jamie Madill <jmad...@chromium.org> +--- + include/platform/Platform.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/include/platform/Platform.h b/include/platform/Platform.h +index b603ff9ba..131674008 100644 +--- a/include/platform/Platform.h ++++ b/include/platform/Platform.h +@@ -10,6 +10,7 @@ + #define ANGLE_PLATFORM_H + + #include <stdint.h> ++#include <stdlib.h> + #include <array> + + #define EGL_PLATFORM_ANGLE_PLATFORM_METHODS_ANGLEX 0x3482 Copied: electron6/repos/community-staging-x86_64/chromium-bison-3.7.patch (from rev 842484, electron6/trunk/chromium-bison-3.7.patch) =================================================================== --- community-staging-x86_64/chromium-bison-3.7.patch (rev 0) +++ community-staging-x86_64/chromium-bison-3.7.patch 2021-02-03 10:25:43 UTC (rev 842485) @@ -0,0 +1,32 @@ +--- a/third_party/blink/renderer/build/scripts/rule_bison.py ++++ b/third_party/blink/renderer/build/scripts/rule_bison.py +@@ -44,6 +44,19 @@ + + from blinkbuild.name_style_converter import NameStyleConverter + ++def modify_file(path, prefix_lines, suffix_lines, replace_list=[]): ++ prefix_lines = map(lambda s: s + '\n', prefix_lines) ++ suffix_lines = map(lambda s: s + '\n', suffix_lines) ++ with open(path, 'r') as f: ++ old_lines = f.readlines() ++ for i in range(len(old_lines)): ++ for src, dest in replace_list: ++ old_lines[i] = old_lines[i].replace(src, dest) ++ new_lines = prefix_lines + old_lines + suffix_lines ++ with open(path, 'w') as f: ++ f.writelines(new_lines) ++ ++ + assert len(sys.argv) == 4 or len(sys.argv) == 5 + + inputFile = sys.argv[1] +@@ -116,3 +129,9 @@ + print >>outputHFile, outputHContents + print >>outputHFile, '#endif // %s' % headerGuard + outputHFile.close() ++ ++common_replace_list = [(inputRoot + '.hh', ++ inputRoot + '.h')] ++modify_file( ++ outputCpp, [], [], ++ replace_list=common_replace_list) Copied: electron6/repos/community-staging-x86_64/chromium-ffmpeg-4.3.patch (from rev 842484, electron6/trunk/chromium-ffmpeg-4.3.patch) =================================================================== --- community-staging-x86_64/chromium-ffmpeg-4.3.patch (rev 0) +++ community-staging-x86_64/chromium-ffmpeg-4.3.patch 2021-02-03 10:25:43 UTC (rev 842485) @@ -0,0 +1,21 @@ +diff --git a/media/base/media.cc b/media/base/media.cc +index c282ee49a03..a298b40c79b 100644 +--- a/media/base/media.cc ++++ b/media/base/media.cc +@@ -14,6 +14,7 @@ + #include "third_party/libyuv/include/libyuv.h" + + #if BUILDFLAG(ENABLE_FFMPEG) ++#include <limits> + #include "third_party/ffmpeg/ffmpeg_features.h" // nogncheck + extern "C" { + #include <libavutil/cpu.h> +@@ -41,7 +42,7 @@ class MediaInitializer { + + #if BUILDFLAG(USE_ALLOCATOR_SHIM) + // Remove allocation limit from ffmpeg, so calls go down to shim layer. +- av_max_alloc(0); ++ av_max_alloc(std::numeric_limits<size_t>::max()); + #endif // BUILDFLAG(USE_ALLOCATOR_SHIM) + + #endif // BUILDFLAG(ENABLE_FFMPEG) Copied: electron6/repos/community-staging-x86_64/chromium-gcc10.patch (from rev 842484, electron6/trunk/chromium-gcc10.patch) =================================================================== --- community-staging-x86_64/chromium-gcc10.patch (rev 0) +++ community-staging-x86_64/chromium-gcc10.patch 2021-02-03 10:25:43 UTC (rev 842485) @@ -0,0 +1,34 @@ +From 17902f2263622eb21bd8adddf078355dbe7654a5 Mon Sep 17 00:00:00 2001 +From: Chisoon Jeong <chisoon.je...@lge.com> +Date: Tue, 31 Mar 2020 18:02:12 +0000 +Subject: [PATCH] Add #include <stddef.h> for clarity and supporting gcc + compilation + +Depending on compilation environments of gcc, supported_cdm_versions.h|cc +is not compiled. To fix this issue add '#include <stddef.h>' in +supported_cdm_versions.h + +Change-Id: I0f56cb4f69e1fb3867a1c168a28431661341784b +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2117912 +Reviewed-by: Nico Weber <tha...@chromium.org> +Reviewed-by: Scott Violet <s...@chromium.org> +Reviewed-by: John Rummell <jrumm...@chromium.org> +Commit-Queue: Nico Weber <tha...@chromium.org> +Cr-Commit-Position: refs/heads/master@{#755016} +--- + media/cdm/supported_cdm_versions.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/media/cdm/supported_cdm_versions.h b/media/cdm/supported_cdm_versions.h +index dbe59ba5ea7..25bb6ed3f33 100644 +--- a/media/cdm/supported_cdm_versions.h ++++ b/media/cdm/supported_cdm_versions.h +@@ -5,6 +5,8 @@ + #ifndef MEDIA_CDM_SUPPORTED_CDM_VERSIONS_H_ + #define MEDIA_CDM_SUPPORTED_CDM_VERSIONS_H_ + ++#include <stddef.h> ++ + #include <array> + + #include "media/base/media_export.h" Copied: electron6/repos/community-staging-x86_64/chromium-skia-harmony.patch (from rev 842484, electron6/trunk/chromium-skia-harmony.patch) =================================================================== --- community-staging-x86_64/chromium-skia-harmony.patch (rev 0) +++ community-staging-x86_64/chromium-skia-harmony.patch 2021-02-03 10:25:43 UTC (rev 842485) @@ -0,0 +1,14 @@ +--- third_party/skia/src/ports/SkFontHost_FreeType.cpp.orig 2019-07-19 11:08:34.770972665 +0000 ++++ third_party/skia/src/ports/SkFontHost_FreeType.cpp 2019-07-19 11:08:44.274442065 +0000 +@@ -128,9 +128,9 @@ public: + : fGetVarDesignCoordinates(nullptr) + , fGetVarAxisFlags(nullptr) + , fLibrary(nullptr) +- , fIsLCDSupported(false) ++ , fIsLCDSupported(true) + , fLightHintingIsYOnly(false) +- , fLCDExtra(0) ++ , fLCDExtra(2) + { + if (FT_New_Library(&gFTMemory, &fLibrary)) { + return; Copied: electron6/repos/community-staging-x86_64/default_app-icon.patch (from rev 842484, electron6/trunk/default_app-icon.patch) =================================================================== --- community-staging-x86_64/default_app-icon.patch (rev 0) +++ community-staging-x86_64/default_app-icon.patch 2021-02-03 10:25:43 UTC (rev 842485) @@ -0,0 +1,21 @@ +--- a/electron/default_app/default_app.ts ++++ b/electron/default_app/default_app.ts +@@ -64,7 +64,7 @@ + } + + if (process.platform === 'linux') { +- options.icon = path.join(__dirname, 'icon.png') ++ options.icon = '/usr/share/pixmaps/electron.png' + } + + mainWindow = new BrowserWindow(options) +--- a/electron/filenames.gni ++++ b/electron/filenames.gni +@@ -100,7 +100,6 @@ + ] + + default_app_static_sources = [ +- "default_app/icon.png", + "default_app/index.html", + "default_app/package.json", + "default_app/styles.css", Copied: electron6/repos/community-staging-x86_64/electron6.desktop (from rev 842484, electron6/trunk/electron6.desktop) =================================================================== --- community-staging-x86_64/electron6.desktop (rev 0) +++ community-staging-x86_64/electron6.desktop 2021-02-03 10:25:43 UTC (rev 842485) @@ -0,0 +1,7 @@ +[Desktop Entry] +Type=Application +Name=Electron +Icon=electron6 +Exec=electron6 %u +Categories=Development;GTK; +StartupNotify=true Copied: electron6/repos/community-staging-x86_64/glslang-remove-setAllocator.patch (from rev 842484, electron6/trunk/glslang-remove-setAllocator.patch) =================================================================== --- community-staging-x86_64/glslang-remove-setAllocator.patch (rev 0) +++ community-staging-x86_64/glslang-remove-setAllocator.patch 2021-02-03 10:25:43 UTC (rev 842485) @@ -0,0 +1,24 @@ +From 24b3e8384e93f3e73b6aa14ea00a30574112f9ba Mon Sep 17 00:00:00 2001 +From: Reid Kleckner <r...@google.com> +Date: Wed, 4 Dec 2019 14:09:03 -0800 +Subject: [PATCH] Remove glslang::pool_allocator::setAllocator + +TPoolAllocator is not copy assignable, so this setter could never have +been used. After a recent change (878a24ee2), new versions of Clang +reject this code outright. +--- + glslang/Include/PoolAlloc.h | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/glslang/Include/PoolAlloc.h b/glslang/Include/PoolAlloc.h +index 0e237a6a2..b8eccb883 100644 +--- a/glslang/Include/PoolAlloc.h ++++ b/glslang/Include/PoolAlloc.h +@@ -304,7 +304,6 @@ class pool_allocator { + size_type max_size() const { return static_cast<size_type>(-1) / sizeof(T); } + size_type max_size(int size) const { return static_cast<size_type>(-1) / size; } + +- void setAllocator(TPoolAllocator* a) { allocator = *a; } + TPoolAllocator& getAllocator() const { return allocator; } + + protected: Copied: electron6/repos/community-staging-x86_64/icu65.patch (from rev 842484, electron6/trunk/icu65.patch) =================================================================== --- community-staging-x86_64/icu65.patch (rev 0) +++ community-staging-x86_64/icu65.patch 2021-02-03 10:25:43 UTC (rev 842485) @@ -0,0 +1,64 @@ +From 5679c3c191ed62b62d8db22f1657a296ee9bfe8e Mon Sep 17 00:00:00 2001 +From: Frank Tang <ft...@chromium.org> +Date: Wed, 30 Oct 2019 22:49:47 +0000 +Subject: [PATCH] Update ICU to 65.1 from 64 and fix broken tests + +ICU 65-1 release note +http://site.icu-project.org/download/65 + +CLDR 36 release blog +http://blog.unicode.org/2019/10/unicode-cldr-version-36-languagelocale.html + +Most of the test expectation change is due to CLDR 36 update +of Grapheme Cluster for Indic languages +See the following for related changes in ICU 65.1 in this area: +https://unicode-org.atlassian.net/browse/CLDR-10994 +https://unicode-org.atlassian.net/browse/ICU-13637 +https://github.com/unicode-org/cldr/blob/master/common/properties/segments/readme.txt + +Bug: chromium:1014272, chromium:1017047 +Change-Id: I9fc6d4620bf2a4c189940d06d8c79893502db3dd +Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng_disabled +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1866059 +Reviewed-by: Jungshik Shin <js...@chromium.org> +Reviewed-by: Doug Turner <do...@chromium.org> +Reviewed-by: Michael Wasserman <m...@chromium.org> +Reviewed-by: Kent Tamura <tk...@chromium.org> +Reviewed-by: Trent Apted <tap...@chromium.org> +Reviewed-by: Mason Freed <masonfr...@chromium.org> +Commit-Queue: Frank Tang <ft...@chromium.org> +Cr-Commit-Position: refs/heads/master@{#711027} +--- + third_party/blink/renderer/core/dom/document.cc | 2 +- + ui/gfx/render_text_harfbuzz.cc | 5 ++++- + 2 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc +index 511aac29086..f188cf548a6 100644 +--- a/third_party/blink/renderer/core/dom/document.cc ++++ b/third_party/blink/renderer/core/dom/document.cc +@@ -6191,7 +6191,7 @@ static ParseQualifiedNameResult ParseQualifiedNameInternal( + + for (unsigned i = 0; i < length;) { + UChar32 c; +- U16_NEXT(characters, i, length, c) ++ U16_NEXT(characters, i, length, c); + if (c == ':') { + if (saw_colon) + return ParseQualifiedNameResult(kQNMultipleColons); +diff --git a/ui/gfx/render_text_harfbuzz.cc b/ui/gfx/render_text_harfbuzz.cc +index 50e86af6b97..0339ff3ff8e 100644 +--- a/ui/gfx/render_text_harfbuzz.cc ++++ b/ui/gfx/render_text_harfbuzz.cc +@@ -971,7 +971,10 @@ RangeF TextRunHarfBuzz::GetGraphemeBounds(RenderTextHarfBuzz* render_text, + ++total; + } + } +- DCHECK_GT(total, 0); ++ // With ICU 65.1, DCHECK_GT() below fails. ++ // See https://crbug.com/1017047 for more details. ++ // ++ // DCHECK_GT(total, 0); + + // It's possible for |text_index| to point to a diacritical mark, at the end + // of |chars|. In this case all the grapheme boundaries come before it. Just Copied: electron6/repos/community-staging-x86_64/icu67.patch (from rev 842484, electron6/trunk/icu67.patch) =================================================================== --- community-staging-x86_64/icu67.patch (rev 0) +++ community-staging-x86_64/icu67.patch 2021-02-03 10:25:43 UTC (rev 842485) @@ -0,0 +1,164 @@ +From d75a2d2661f5c0bec5e10653a2a17bbfa16de765 Mon Sep 17 00:00:00 2001 +From: Frank Tang <ft...@chromium.org> +Date: Fri, 3 Apr 2020 23:13:54 -0700 +Subject: [PATCH] [intl] Remove soon-to-be removed getAllFieldPositions + +Needed to land ICU67.1 soon. + +Bug: v8:10393 +Change-Id: I3c7737ca600d6ccfdc46ffaddfb318ce60bc7618 +Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2136489 +Reviewed-by: Jakob Kummerow <jkumme...@chromium.org> +Commit-Queue: Frank Tang <ft...@chromium.org> +Cr-Commit-Position: refs/heads/master@{#67027} + +[foutrelis: rebased to 27646c1d2e for electron6] +--- + src/objects/js-number-format.cc | 72 +++++++++++++++++---------------- + 1 file changed, 37 insertions(+), 35 deletions(-) + +diff --git a/src/objects/js-number-format.cc b/src/objects/js-number-format.cc +index 67d545e0be..eb8324b51e 100644 +--- a/src/objects/js-number-format.cc ++++ b/src/objects/js-number-format.cc +@@ -1252,42 +1252,31 @@ MaybeHandle<JSNumberFormat> JSNumberFormat::Initialize( + } + + namespace { +-Maybe<icu::UnicodeString> IcuFormatNumber( ++Maybe<bool> IcuFormatNumber( + Isolate* isolate, + const icu::number::LocalizedNumberFormatter& number_format, +- Handle<Object> numeric_obj, icu::FieldPositionIterator* fp_iter) { ++ Handle<Object> numeric_obj, icu::number::FormattedNumber* formatted) { + // If it is BigInt, handle it differently. + UErrorCode status = U_ZERO_ERROR; +- icu::number::FormattedNumber formatted; + if (numeric_obj->IsBigInt()) { + Handle<BigInt> big_int = Handle<BigInt>::cast(numeric_obj); + Handle<String> big_int_string; + ASSIGN_RETURN_ON_EXCEPTION_VALUE(isolate, big_int_string, + BigInt::ToString(isolate, big_int), +- Nothing<icu::UnicodeString>()); +- formatted = number_format.formatDecimal( ++ Nothing<bool>()); ++ *formatted = number_format.formatDecimal( + {big_int_string->ToCString().get(), big_int_string->length()}, status); + } else { + double number = numeric_obj->Number(); +- formatted = number_format.formatDouble(number, status); ++ *formatted = number_format.formatDouble(number, status); + } + if (U_FAILURE(status)) { + // This happen because of icu data trimming trim out "unit". + // See https://bugs.chromium.org/p/v8/issues/detail?id=8641 +- THROW_NEW_ERROR_RETURN_VALUE(isolate, +- NewTypeError(MessageTemplate::kIcuError), +- Nothing<icu::UnicodeString>()); +- } +- if (fp_iter) { +- formatted.getAllFieldPositions(*fp_iter, status); ++ THROW_NEW_ERROR_RETURN_VALUE( ++ isolate, NewTypeError(MessageTemplate::kIcuError), Nothing<bool>()); + } +- icu::UnicodeString result = formatted.toString(status); +- if (U_FAILURE(status)) { +- THROW_NEW_ERROR_RETURN_VALUE(isolate, +- NewTypeError(MessageTemplate::kIcuError), +- Nothing<icu::UnicodeString>()); +- } +- return Just(result); ++ return Just(true); + } + + } // namespace +@@ -1298,10 +1287,16 @@ MaybeHandle<String> JSNumberFormat::FormatNumeric( + Handle<Object> numeric_obj) { + DCHECK(numeric_obj->IsNumeric()); + +- Maybe<icu::UnicodeString> maybe_format = +- IcuFormatNumber(isolate, number_format, numeric_obj, nullptr); ++ icu::number::FormattedNumber formatted; ++ Maybe<bool> maybe_format = ++ IcuFormatNumber(isolate, number_format, numeric_obj, &formatted); + MAYBE_RETURN(maybe_format, Handle<String>()); +- return Intl::ToString(isolate, maybe_format.FromJust()); ++ UErrorCode status = U_ZERO_ERROR; ++ icu::UnicodeString result = formatted.toString(status); ++ if (U_FAILURE(status)) { ++ THROW_NEW_ERROR(isolate, NewTypeError(MessageTemplate::kIcuError), String); ++ } ++ return Intl::ToString(isolate, result); + } + + namespace { +@@ -1414,12 +1409,18 @@ std::vector<NumberFormatSpan> FlattenRegionsToParts( + } + + namespace { +-Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted, +- icu::FieldPositionIterator* fp_iter, ++Maybe<int> ConstructParts(Isolate* isolate, ++ icu::number::FormattedNumber* formatted, + Handle<JSArray> result, int start_index, + Handle<Object> numeric_obj, Handle<String> unit) { ++ UErrorCode status = U_ZERO_ERROR; ++ icu::UnicodeString formatted_text = formatted->toString(status); ++ if (U_FAILURE(status)) { ++ THROW_NEW_ERROR_RETURN_VALUE( ++ isolate, NewTypeError(MessageTemplate::kIcuError), Nothing<int>()); ++ } + DCHECK(numeric_obj->IsNumeric()); +- int32_t length = formatted.length(); ++ int32_t length = formatted_text.length(); + int index = start_index; + if (length == 0) return Just(index); + +@@ -1428,13 +1429,14 @@ Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted, + // other region covers some part of the formatted string. It's possible + // there's another field with exactly the same begin and end as this backdrop, + // in which case the backdrop's field_id of -1 will give it lower priority. +- regions.push_back(NumberFormatSpan(-1, 0, formatted.length())); ++ regions.push_back(NumberFormatSpan(-1, 0, formatted_text.length())); + + { +- icu::FieldPosition fp; +- while (fp_iter->next(fp)) { +- regions.push_back(NumberFormatSpan(fp.getField(), fp.getBeginIndex(), +- fp.getEndIndex())); ++ icu::ConstrainedFieldPosition cfp; ++ cfp.constrainCategory(UFIELD_CATEGORY_NUMBER); ++ while (formatted->nextPosition(cfp, status)) { ++ regions.push_back( ++ NumberFormatSpan(cfp.getField(), cfp.getStart(), cfp.getLimit())); + } + } + +@@ -1449,7 +1451,7 @@ Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted, + Handle<String> substring; + ASSIGN_RETURN_ON_EXCEPTION_VALUE( + isolate, substring, +- Intl::ToString(isolate, formatted, part.begin_pos, part.end_pos), ++ Intl::ToString(isolate, formatted_text, part.begin_pos, part.end_pos), + Nothing<int>()); + if (unit.is_null()) { + Intl::AddElement(isolate, result, index, field_type_string, substring); +@@ -1474,14 +1476,14 @@ MaybeHandle<JSArray> JSNumberFormat::FormatToParts( + number_format->icu_number_formatter().raw(); + CHECK_NOT_NULL(fmt); + +- icu::FieldPositionIterator fp_iter; +- Maybe<icu::UnicodeString> maybe_format = +- IcuFormatNumber(isolate, *fmt, numeric_obj, &fp_iter); ++ icu::number::FormattedNumber formatted; ++ Maybe<bool> maybe_format = ++ IcuFormatNumber(isolate, *fmt, numeric_obj, &formatted); + MAYBE_RETURN(maybe_format, Handle<JSArray>()); + + Handle<JSArray> result = factory->NewJSArray(0); + Maybe<int> maybe_format_to_parts = +- ConstructParts(isolate, maybe_format.FromJust(), &fp_iter, result, 0, ++ ConstructParts(isolate, &formatted, result, 0, + numeric_obj, Handle<String>()); + MAYBE_RETURN(maybe_format_to_parts, Handle<JSArray>()); + Copied: electron6/repos/community-staging-x86_64/perfetto-clang11.patch (from rev 842484, electron6/trunk/perfetto-clang11.patch) =================================================================== --- community-staging-x86_64/perfetto-clang11.patch (rev 0) +++ community-staging-x86_64/perfetto-clang11.patch 2021-02-03 10:25:43 UTC (rev 842485) @@ -0,0 +1,32 @@ +From 46f0abc66c1d78c60a0415c5cb46852ef3bfa9bb Mon Sep 17 00:00:00 2001 +From: Nico Weber <tha...@chromium.org> +Date: Sat, 8 Feb 2020 21:26:53 -0500 +Subject: [PATCH] Fix compile error emitted by trunk clang + +../../third_party/perfetto/src/tracing/core/virtual_destructors.cc:33:35: +error: destructor cannot be declared using a type alias + 'perfetto::TracingService::ConsumerEndpoint' (aka + 'perfetto::ConsumerEndpoint') of the class name +TracingService::ConsumerEndpoint::~ConsumerEndpoint() = default; + +Bug: chromium:1050372 +Change-Id: Icc1a8cca06b72ee3322924dc0825ebb62086f730 +--- + src/tracing/core/virtual_destructors.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/tracing/core/virtual_destructors.cc b/src/tracing/core/virtual_destructors.cc +index 75fc806a5..2f8bb3cef 100644 +--- a/src/tracing/core/virtual_destructors.cc ++++ b/src/tracing/core/virtual_destructors.cc +@@ -30,8 +30,8 @@ namespace perfetto { + Consumer::~Consumer() = default; + Producer::~Producer() = default; + TracingService::~TracingService() = default; +-TracingService::ConsumerEndpoint::~ConsumerEndpoint() = default; +-TracingService::ProducerEndpoint::~ProducerEndpoint() = default; ++ConsumerEndpoint::~ConsumerEndpoint() = default; ++ProducerEndpoint::~ProducerEndpoint() = default; + SharedMemory::~SharedMemory() = default; + SharedMemory::Factory::~Factory() = default; + SharedMemoryArbiter::~SharedMemoryArbiter() = default; Copied: electron6/repos/community-staging-x86_64/perfetto-gcc10.patch (from rev 842484, electron6/trunk/perfetto-gcc10.patch) =================================================================== --- community-staging-x86_64/perfetto-gcc10.patch (rev 0) +++ community-staging-x86_64/perfetto-gcc10.patch 2021-02-03 10:25:43 UTC (rev 842485) @@ -0,0 +1,28 @@ +From 0e7ca0bf9872932322563e70bcf84eb033ffde4f Mon Sep 17 00:00:00 2001 +From: Chisoon Jeong <chisoon.je...@lge.com> +Date: Tue, 24 Mar 2020 19:46:20 +0900 +Subject: [PATCH] Add #include <stdint.h> in + include/perfetto/base/task_runner.h + +Depending on compilation environment, task_runner.h|cc is +not compiled due to missing stdint.h. This change includes stdint.h in +task_runner.h to fix this issue. + +Change-Id: I6dcfbd4ad62cbd287b8e75e306930ad00731048a +--- + include/perfetto/base/task_runner.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/include/perfetto/base/task_runner.h b/include/perfetto/base/task_runner.h +index cf6040123..040aab2b7 100644 +--- a/include/perfetto/base/task_runner.h ++++ b/include/perfetto/base/task_runner.h +@@ -17,6 +17,8 @@ + #ifndef INCLUDE_PERFETTO_BASE_TASK_RUNNER_H_ + #define INCLUDE_PERFETTO_BASE_TASK_RUNNER_H_ + ++#include <stdint.h> ++ + #include <functional> + + #include "perfetto/base/export.h" Copied: electron6/repos/community-staging-x86_64/use-system-libraries-in-node.patch (from rev 842484, electron6/trunk/use-system-libraries-in-node.patch) =================================================================== --- community-staging-x86_64/use-system-libraries-in-node.patch (rev 0) +++ community-staging-x86_64/use-system-libraries-in-node.patch 2021-02-03 10:25:43 UTC (rev 842485) @@ -0,0 +1,56 @@ +--- a/third_party/electron_node/BUILD.gn ++++ b/third_party/electron_node/BUILD.gn +@@ -42,6 +42,18 @@ + node_module_version = "" + } + ++if (is_linux) { ++ import("//build/config/linux/pkg_config.gni") ++ ++ pkg_config("cares") { ++ packages = [ "libcares" ] ++ } ++ ++ pkg_config("nghttp2") { ++ packages = [ "libnghttp2" ] ++ } ++} ++ + assert(!node_use_dtrace, "node_use_dtrace not supported in GN") + assert(!node_use_etw, "node_use_etw not supported in GN") + +@@ -203,12 +215,8 @@ + component("node_lib") { + deps = [ + ":node_js2c", +- "deps/cares", + "deps/histogram", +- "deps/http_parser", + "deps/llhttp", +- "deps/nghttp2", +- "deps/zlib", + "//third_party/brotli:dec", + "//third_party/brotli:enc", + "//v8:v8_libplatform", +@@ -222,6 +230,21 @@ + public_configs = [ ":node_lib_config" ] + include_dirs = [ "src" ] + libs = [] ++ if (is_linux) { ++ configs += [ ++ ":cares", ++ ":nghttp2", ++ ] ++ deps += [ "//third_party/zlib" ] ++ libs += [ "http_parser" ] ++ } else { ++ deps += [ ++ "deps/cares", ++ "deps/http_parser", ++ "deps/nghttp2", ++ "deps/zlib", ++ ] ++ } + cflags_cc = [ + "-Wno-deprecated-declarations", + "-Wno-implicit-fallthrough", Copied: electron6/repos/community-staging-x86_64/webrtc-gcc10.patch (from rev 842484, electron6/trunk/webrtc-gcc10.patch) =================================================================== --- community-staging-x86_64/webrtc-gcc10.patch (rev 0) +++ community-staging-x86_64/webrtc-gcc10.patch 2021-02-03 10:25:43 UTC (rev 842485) @@ -0,0 +1,73 @@ +From 03fade52dae736275c4f4e7fe1cbd6fe82d7aa4c Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann <sth...@googlemail.com> +Date: Sat, 2 May 2020 12:17:05 +0000 +Subject: [PATCH] IWYU: uint32_t is defined in cstdint + +This is required for gcc-10. + +Bug: None +Change-Id: I0d04f720d09b42e1d54e058b897ddc047ef64bf6 +Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174204 +Reviewed-by: Magnus Flodman <mflod...@webrtc.org> +Commit-Queue: Mirko Bonadei <mbona...@webrtc.org> +Cr-Commit-Position: refs/heads/master@{#31184} +--- + AUTHORS | 1 + + call/rtx_receive_stream.h | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/call/rtx_receive_stream.h b/call/rtx_receive_stream.h +index 8ffa4400a9..a389fc2a57 100644 +--- a/call/rtx_receive_stream.h ++++ b/call/rtx_receive_stream.h +@@ -11,6 +11,7 @@ + #ifndef CALL_RTX_RECEIVE_STREAM_H_ + #define CALL_RTX_RECEIVE_STREAM_H_ + ++#include <cstdint> + #include <map> + + #include "call/rtp_packet_sink_interface.h" + +From 3ca2836f701fc2fbc2ddaa0000d6ad655b5e3caa Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann <sth...@googlemail.com> +Date: Sun, 31 May 2020 09:01:38 +0000 +Subject: [PATCH] IWYU: size_t is defined in stddef.h + +This required for gcc-10. + +Bug: None +Change-Id: Iba3ff0881005cb2ae4574e47284a1b881594de86 +Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176361 +Reviewed-by: Ivo Creusen <i...@webrtc.org> +Commit-Queue: Ivo Creusen <i...@webrtc.org> +Cr-Commit-Position: refs/heads/master@{#31417} +--- + modules/audio_processing/aec3/clockdrift_detector.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/modules/audio_processing/aec3/clockdrift_detector.h b/modules/audio_processing/aec3/clockdrift_detector.h +index 22528c9489..2ba90bb889 100644 +--- a/modules/audio_processing/aec3/clockdrift_detector.h ++++ b/modules/audio_processing/aec3/clockdrift_detector.h +@@ -11,6 +11,8 @@ + #ifndef MODULES_AUDIO_PROCESSING_AEC3_CLOCKDRIFT_DETECTOR_H_ + #define MODULES_AUDIO_PROCESSING_AEC3_CLOCKDRIFT_DETECTOR_H_ + ++#include <stddef.h> ++ + #include <array> + + namespace webrtc { + +diff --meow-im-a-cat a/modules/video_coding/decoding_state.h b/modules/video_coding/decoding_state.h +--- a/modules/video_coding/decoding_state.h 2020-07-07 15:58:30.000000000 +0000 ++++ b/modules/video_coding/decoding_state.h 2020-07-07 16:24:41.667578586 +0000 +@@ -11,6 +11,7 @@ + #ifndef MODULES_VIDEO_CODING_DECODING_STATE_H_ + #define MODULES_VIDEO_CODING_DECODING_STATE_H_ + ++#include <cstdint> + #include <map> + #include <set> + #include <vector>