Date: Wednesday, September 11, 2019 @ 04:40:22 Author: foutrelis Revision: 362186
archrelease: copy trunk to extra-x86_64 Added: chromium/repos/extra-x86_64/PKGBUILD (from rev 362185, chromium/trunk/PKGBUILD) chromium/repos/extra-x86_64/chromium-skia-harmony.patch (from rev 362185, chromium/trunk/chromium-skia-harmony.patch) chromium/repos/extra-x86_64/chromium-system-icu.patch (from rev 362185, chromium/trunk/chromium-system-icu.patch) chromium/repos/extra-x86_64/chromium-system-zlib.patch (from rev 362185, chromium/trunk/chromium-system-zlib.patch) chromium/repos/extra-x86_64/chromium-widevine.patch (from rev 362185, chromium/trunk/chromium-widevine.patch) chromium/repos/extra-x86_64/chromium.install (from rev 362185, chromium/trunk/chromium.install) chromium/repos/extra-x86_64/fix-wrong-string-initialization-in-LinkedHashSet.patch (from rev 362185, chromium/trunk/fix-wrong-string-initialization-in-LinkedHashSet.patch) chromium/repos/extra-x86_64/include-limits-in-web_time_range.cc.patch (from rev 362185, chromium/trunk/include-limits-in-web_time_range.cc.patch) chromium/repos/extra-x86_64/include-memory-in-one_euro_filter.h.patch (from rev 362185, chromium/trunk/include-memory-in-one_euro_filter.h.patch) chromium/repos/extra-x86_64/link-against-harfbuzz-subset.patch (from rev 362185, chromium/trunk/link-against-harfbuzz-subset.patch) Deleted: chromium/repos/extra-x86_64/PKGBUILD chromium/repos/extra-x86_64/chromium-skia-harmony.patch chromium/repos/extra-x86_64/chromium-widevine.patch chromium/repos/extra-x86_64/chromium.install --------------------------------------------------------+ PKGBUILD | 446 +++++++-------- chromium-skia-harmony.patch | 28 chromium-system-icu.patch | 20 chromium-system-zlib.patch | 25 chromium-widevine.patch | 44 - chromium.install | 32 - fix-wrong-string-initialization-in-LinkedHashSet.patch | 135 ++++ include-limits-in-web_time_range.cc.patch | 31 + include-memory-in-one_euro_filter.h.patch | 32 + link-against-harfbuzz-subset.patch | 55 + 10 files changed, 587 insertions(+), 261 deletions(-) Deleted: PKGBUILD =================================================================== --- PKGBUILD 2019-09-11 04:40:11 UTC (rev 362185) +++ PKGBUILD 2019-09-11 04:40:22 UTC (rev 362186) @@ -1,209 +0,0 @@ -# Maintainer: Evangelos Foutras <evange...@foutrelis.com> -# Contributor: Pierre Schmitz <pie...@archlinux.de> -# Contributor: Jan "heftig" Steffens <jan.steff...@gmail.com> -# Contributor: Daniel J Griffiths <ghost1...@archlinux.us> - -pkgname=chromium -pkgver=76.0.3809.132 -pkgrel=1 -_launcher_ver=6 -pkgdesc="A web browser built for speed, simplicity, and security" -arch=('x86_64') -url="https://www.chromium.org/Home" -license=('BSD') -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=('python' 'python2' 'gperf' 'yasm' 'mesa' 'ninja' 'nodejs' 'git' - 'pipewire' 'clang' 'lld' 'gn' 'java-runtime-headless') -optdepends=('pepper-flash: support for Flash content' - 'pipewire: WebRTC desktop sharing under Wayland' - 'kdialog: needed for file dialogs in KDE' - 'gnome-keyring: for storing passwords in GNOME keyring' - 'kwallet: for storing passwords in KWallet') -install=chromium.install -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-widevine.patch - chromium-skia-harmony.patch) -sha256sums=('d54e4640b5e399d170dffbc5bcff65157eb1b29314b94b5d808f727d9ce45241' - '04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1' - 'd081f2ef8793544685aad35dea75a7e6264a2cb987ff3541e6377f4a3650a28b' - '771292942c0901092a402cc60ee883877a99fb804cb54d568c8c6c94565a48e1') - -# Possible replacements are listed in build/linux/unbundle/replace_gn_files.py -# Keys are the names in the above script; values are the dependencies in Arch -declare -gA _system_libs=( - [ffmpeg]=ffmpeg - [flac]=flac - [fontconfig]=fontconfig - [freetype]=freetype2 - [harfbuzz-ng]=harfbuzz - [icu]=icu - [libdrm]= - [libjpeg]=libjpeg - #[libpng]=libpng # https://crbug.com/752403#c10 - [libvpx]=libvpx - [libwebp]=libwebp - [libxml]=libxml2 - [libxslt]=libxslt - [opus]=opus - [re2]=re2 - [snappy]=snappy - [yasm]= - [zlib]=minizip -) -_unwanted_bundled_libs=( - ${!_system_libs[@]} - ${_system_libs[libjpeg]+libjpeg_turbo} -) -depends+=(${_system_libs[@]}) - -# Google API keys (see https://www.chromium.org/developers/how-tos/api-keys) -# Note: These are for Arch Linux use ONLY. For your own distribution, please -# get your own set of keys. -_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM -_google_default_client_id=413772536636.apps.googleusercontent.com -_google_default_client_secret=0ZChLK6AxeA3Isu96MkwqDR4 - -prepare() { - cd "$srcdir/$pkgname-$pkgver" - - # Allow building against system libraries in official builds - sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ - tools/generate_shim_headers/generate_shim_headers.py - - # https://crbug.com/893950 - sed -i -e 's/\<xmlMalloc\>/malloc/' -e 's/\<xmlFree\>/free/' \ - third_party/blink/renderer/core/xml/*.cc \ - third_party/blink/renderer/core/xml/parser/xml_document_parser.cc \ - third_party/libxml/chromium/libxml_utils.cc - - # Load Widevine CDM if available - patch -Np1 -i ../chromium-widevine.patch - - # https://crbug.com/skia/6663#c10 - patch -Np0 -i ../chromium-skia-harmony.patch - - # Force script incompatible with Python 3 to use /usr/bin/python2 - sed -i '1s|python$|&2|' third_party/dom_distiller_js/protoc_plugins/*.py - - mkdir -p third_party/node/linux/node-linux-x64/bin - ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/ - - # Remove bundled libraries for which we will use the system copies; this - # *should* do what the remove_bundled_libraries.py script does, with the - # added benefit of not having to list all the remaining libraries - local _lib - for _lib in ${_unwanted_bundled_libs[@]}; do - find "third_party/$_lib" -type f \ - \! -path "third_party/$_lib/chromium/*" \ - \! -path "third_party/$_lib/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[@]}" -} - -build() { - make -C chromium-launcher-$_launcher_ver - - cd "$srcdir/$pkgname-$pkgver" - - if check_buildoption ccache y; then - # Avoid falling back to preprocessor mode when sources contain time macros - export CCACHE_SLOPPINESS=time_macros - fi - - export CC=clang - export CXX=clang++ - export AR=ar - export NM=nm - - local _flags=( - 'custom_toolchain="//build/toolchain/linux/unbundle:default"' - 'host_toolchain="//build/toolchain/linux/unbundle:default"' - 'clang_use_chrome_plugins=false' - 'is_official_build=true' # implies is_cfi=true on x86_64 - 'treat_warnings_as_errors=false' - 'fieldtrial_testing_like_official_build=true' - 'ffmpeg_branding="Chrome"' - 'proprietary_codecs=true' - 'rtc_use_pipewire=true' - 'link_pulseaudio=true' - 'use_gnome_keyring=false' - 'use_sysroot=false' - 'linux_use_bundled_binutils=false' - 'use_custom_libcxx=false' - 'enable_hangout_services_extension=true' - 'enable_widevine=true' - 'enable_nacl=false' - 'enable_swiftshader=false' - "google_api_key=\"${_google_api_key}\"" - "google_default_client_id=\"${_google_default_client_id}\"" - "google_default_client_secret=\"${_google_default_client_secret}\"" - ) - - # Facilitate deterministic builds (taken from build/config/compiler/BUILD.gn) - CFLAGS+=' -Wno-builtin-macro-redefined' - CXXFLAGS+=' -Wno-builtin-macro-redefined' - CPPFLAGS+=' -D__DATE__= -D__TIME__= -D__TIMESTAMP__=' - - if check_option strip y; then - _flags+=('symbol_level=0') - fi - - gn gen out/Release --args="${_flags[*]}" --script-executable=/usr/bin/python2 - ninja -C out/Release chrome chrome_sandbox chromedriver -} - -package() { - cd chromium-launcher-$_launcher_ver - make PREFIX=/usr DESTDIR="$pkgdir" install - install -Dm644 LICENSE \ - "$pkgdir/usr/share/licenses/chromium/LICENSE.launcher" - - cd "$srcdir/$pkgname-$pkgver" - - install -D out/Release/chrome "$pkgdir/usr/lib/chromium/chromium" - install -Dm4755 out/Release/chrome_sandbox "$pkgdir/usr/lib/chromium/chrome-sandbox" - ln -s /usr/lib/chromium/chromedriver "$pkgdir/usr/bin/chromedriver" - - install -Dm644 chrome/installer/linux/common/desktop.template \ - "$pkgdir/usr/share/applications/chromium.desktop" - install -Dm644 chrome/app/resources/manpage.1.in \ - "$pkgdir/usr/share/man/man1/chromium.1" - sed -i \ - -e "s/@@MENUNAME@@/Chromium/g" \ - -e "s/@@PACKAGE@@/chromium/g" \ - -e "s/@@USR_BIN_SYMLINK_NAME@@/chromium/g" \ - "$pkgdir/usr/share/applications/chromium.desktop" \ - "$pkgdir/usr/share/man/man1/chromium.1" - - cp \ - out/Release/{chrome_{100,200}_percent,resources}.pak \ - out/Release/{*.bin,chromedriver} \ - "$pkgdir/usr/lib/chromium/" - install -Dm644 -t "$pkgdir/usr/lib/chromium/locales" out/Release/locales/*.pak - - if [[ -z ${_system_libs[icu]+set} ]]; then - cp out/Release/icudtl.dat "$pkgdir/usr/lib/chromium/" - fi - - for size in 22 24 48 64 128 256; do - install -Dm644 "chrome/app/theme/chromium/product_logo_$size.png" \ - "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png" - done - - for size in 16 32; do - install -Dm644 "chrome/app/theme/default_100_percent/chromium/product_logo_$size.png" \ - "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png" - done - - install -Dm644 LICENSE "$pkgdir/usr/share/licenses/chromium/LICENSE" -} - -# vim:set ts=2 sw=2 et: Copied: chromium/repos/extra-x86_64/PKGBUILD (from rev 362185, chromium/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2019-09-11 04:40:22 UTC (rev 362186) @@ -0,0 +1,237 @@ +# Maintainer: Evangelos Foutras <evange...@foutrelis.com> +# Contributor: Pierre Schmitz <pie...@archlinux.de> +# Contributor: Jan "heftig" Steffens <jan.steff...@gmail.com> +# Contributor: Daniel J Griffiths <ghost1...@archlinux.us> + +pkgname=chromium +pkgver=77.0.3865.75 +pkgrel=1 +_launcher_ver=6 +pkgdesc="A web browser built for speed, simplicity, and security" +arch=('x86_64') +url="https://www.chromium.org/Home" +license=('BSD') +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=('python' 'python2' 'gperf' 'yasm' 'mesa' 'ninja' 'nodejs' 'git' + 'pipewire' 'clang' 'lld' 'gn' 'java-runtime-headless') +optdepends=('pepper-flash: support for Flash content' + 'pipewire: WebRTC desktop sharing under Wayland' + 'kdialog: needed for file dialogs in KDE' + 'gnome-keyring: for storing passwords in GNOME keyring' + 'kwallet: for storing passwords in KWallet') +install=chromium.install +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 + include-memory-in-one_euro_filter.h.patch + link-against-harfbuzz-subset.patch + fix-wrong-string-initialization-in-LinkedHashSet.patch + include-limits-in-web_time_range.cc.patch + chromium-system-icu.patch + chromium-system-zlib.patch + chromium-widevine.patch + chromium-skia-harmony.patch) +sha256sums=('eb952ff241e719cbdcc2aae1832ecc1dd2263736ab38ee1dbf88ac9120119789' + '04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1' + '33a5bcd1df2cc7aa7467fa882790ef143a4497d2b704c9e1ea86c8ede90c2d90' + 'ab986e4b723dfcedab1bc8dcada07526facae28a8a7ff3345f658532c1d99987' + '840f555020751ec284dca35b9317a9dd7dc69fcb910ea1cae2dd7cc9b237dfb7' + 'd3dfe3c86901a11636972a774ed6c941ac76e38c9e4a384f458043a0a03291a9' + 'e73cc2ee8d3ea35aab18c478d76fdfc68ca4463e1e10306fa1e738c03b3f26b5' + '0f7ba6882844542a7226b419dfefc5b6a16b5b7882698bd773b5ee9148aa6e87' + 'd081f2ef8793544685aad35dea75a7e6264a2cb987ff3541e6377f4a3650a28b' + '771292942c0901092a402cc60ee883877a99fb804cb54d568c8c6c94565a48e1') + +# Possible replacements are listed in build/linux/unbundle/replace_gn_files.py +# Keys are the names in the above script; values are the dependencies in Arch +declare -gA _system_libs=( + [ffmpeg]=ffmpeg + [flac]=flac + [fontconfig]=fontconfig + [freetype]=freetype2 + [harfbuzz-ng]=harfbuzz + [icu]=icu + [libdrm]= + [libjpeg]=libjpeg + #[libpng]=libpng # https://crbug.com/752403#c10 + [libvpx]=libvpx + [libwebp]=libwebp + [libxml]=libxml2 + [libxslt]=libxslt + [opus]=opus + [re2]=re2 + [snappy]=snappy + [yasm]= + [zlib]=minizip +) +_unwanted_bundled_libs=( + ${!_system_libs[@]} + ${_system_libs[libjpeg]+libjpeg_turbo} +) +depends+=(${_system_libs[@]}) + +# Google API keys (see https://www.chromium.org/developers/how-tos/api-keys) +# Note: These are for Arch Linux use ONLY. For your own distribution, please +# get your own set of keys. +_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM +_google_default_client_id=413772536636.apps.googleusercontent.com +_google_default_client_secret=0ZChLK6AxeA3Isu96MkwqDR4 + +prepare() { + cd "$srcdir/$pkgname-$pkgver" + + # Allow building against system libraries in official builds + sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ + tools/generate_shim_headers/generate_shim_headers.py + + # https://crbug.com/893950 + sed -i -e 's/\<xmlMalloc\>/malloc/' -e 's/\<xmlFree\>/free/' \ + third_party/blink/renderer/core/xml/*.cc \ + third_party/blink/renderer/core/xml/parser/xml_document_parser.cc \ + third_party/libxml/chromium/libxml_utils.cc + + # https://crbug.com/819294 + patch -Np1 -i ../include-memory-in-one_euro_filter.h.patch + + # https://groups.google.com/a/chromium.org/d/msg/chromium-packagers/UyJsVJ5QqWo/jSv5z7-rEQAJ + patch -Np1 -i ../link-against-harfbuzz-subset.patch + + # https://crbug.com/980025 + patch -Np1 -i ../fix-wrong-string-initialization-in-LinkedHashSet.patch + + # https://crbug.com/992832 + patch -Np1 -i ../include-limits-in-web_time_range.cc.patch + + # Fixes from Gentoo + patch -Np1 -i ../chromium-system-icu.patch + patch -Np1 -i ../chromium-system-zlib.patch + + # Load Widevine CDM if available + patch -Np1 -i ../chromium-widevine.patch + + # https://crbug.com/skia/6663#c10 + patch -Np0 -i ../chromium-skia-harmony.patch + + # Force script incompatible with Python 3 to use /usr/bin/python2 + sed -i '1s|python$|&2|' third_party/dom_distiller_js/protoc_plugins/*.py + + mkdir -p third_party/node/linux/node-linux-x64/bin + ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/ + + # Remove bundled libraries for which we will use the system copies; this + # *should* do what the remove_bundled_libraries.py script does, with the + # added benefit of not having to list all the remaining libraries + local _lib + for _lib in ${_unwanted_bundled_libs[@]}; do + find "third_party/$_lib" -type f \ + \! -path "third_party/$_lib/chromium/*" \ + \! -path "third_party/$_lib/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[@]}" +} + +build() { + make -C chromium-launcher-$_launcher_ver + + cd "$srcdir/$pkgname-$pkgver" + + if check_buildoption ccache y; then + # Avoid falling back to preprocessor mode when sources contain time macros + export CCACHE_SLOPPINESS=time_macros + fi + + export CC=clang + export CXX=clang++ + export AR=ar + export NM=nm + + local _flags=( + 'custom_toolchain="//build/toolchain/linux/unbundle:default"' + 'host_toolchain="//build/toolchain/linux/unbundle:default"' + 'clang_use_chrome_plugins=false' + 'is_official_build=true' # implies is_cfi=true on x86_64 + 'treat_warnings_as_errors=false' + 'fieldtrial_testing_like_official_build=true' + 'ffmpeg_branding="Chrome"' + 'proprietary_codecs=true' + 'rtc_use_pipewire=true' + 'link_pulseaudio=true' + 'use_gnome_keyring=false' + 'use_sysroot=false' + 'linux_use_bundled_binutils=false' + 'use_custom_libcxx=false' + 'enable_hangout_services_extension=true' + 'enable_widevine=true' + 'enable_nacl=false' + 'enable_swiftshader=false' + "google_api_key=\"${_google_api_key}\"" + "google_default_client_id=\"${_google_default_client_id}\"" + "google_default_client_secret=\"${_google_default_client_secret}\"" + ) + + # Facilitate deterministic builds (taken from build/config/compiler/BUILD.gn) + CFLAGS+=' -Wno-builtin-macro-redefined' + CXXFLAGS+=' -Wno-builtin-macro-redefined' + CPPFLAGS+=' -D__DATE__= -D__TIME__= -D__TIMESTAMP__=' + + if check_option strip y; then + _flags+=('symbol_level=0') + fi + + gn gen out/Release --args="${_flags[*]}" --script-executable=/usr/bin/python2 + ninja -C out/Release chrome chrome_sandbox chromedriver +} + +package() { + cd chromium-launcher-$_launcher_ver + make PREFIX=/usr DESTDIR="$pkgdir" install + install -Dm644 LICENSE \ + "$pkgdir/usr/share/licenses/chromium/LICENSE.launcher" + + cd "$srcdir/$pkgname-$pkgver" + + install -D out/Release/chrome "$pkgdir/usr/lib/chromium/chromium" + install -Dm4755 out/Release/chrome_sandbox "$pkgdir/usr/lib/chromium/chrome-sandbox" + ln -s /usr/lib/chromium/chromedriver "$pkgdir/usr/bin/chromedriver" + + install -Dm644 chrome/installer/linux/common/desktop.template \ + "$pkgdir/usr/share/applications/chromium.desktop" + install -Dm644 chrome/app/resources/manpage.1.in \ + "$pkgdir/usr/share/man/man1/chromium.1" + sed -i \ + -e "s/@@MENUNAME@@/Chromium/g" \ + -e "s/@@PACKAGE@@/chromium/g" \ + -e "s/@@USR_BIN_SYMLINK_NAME@@/chromium/g" \ + "$pkgdir/usr/share/applications/chromium.desktop" \ + "$pkgdir/usr/share/man/man1/chromium.1" + + cp \ + out/Release/{chrome_{100,200}_percent,resources}.pak \ + out/Release/{*.bin,chromedriver} \ + "$pkgdir/usr/lib/chromium/" + install -Dm644 -t "$pkgdir/usr/lib/chromium/locales" out/Release/locales/*.pak + + if [[ -z ${_system_libs[icu]+set} ]]; then + cp out/Release/icudtl.dat "$pkgdir/usr/lib/chromium/" + fi + + for size in 24 48 64 128 256; do + install -Dm644 "chrome/app/theme/chromium/product_logo_$size.png" \ + "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png" + done + + for size in 16 32; do + install -Dm644 "chrome/app/theme/default_100_percent/chromium/product_logo_$size.png" \ + "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png" + done + + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/chromium/LICENSE" +} + +# vim:set ts=2 sw=2 et: Deleted: chromium-skia-harmony.patch =================================================================== --- chromium-skia-harmony.patch 2019-09-11 04:40:11 UTC (rev 362185) +++ chromium-skia-harmony.patch 2019-09-11 04:40:22 UTC (rev 362186) @@ -1,14 +0,0 @@ ---- 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: chromium/repos/extra-x86_64/chromium-skia-harmony.patch (from rev 362185, chromium/trunk/chromium-skia-harmony.patch) =================================================================== --- chromium-skia-harmony.patch (rev 0) +++ chromium-skia-harmony.patch 2019-09-11 04:40:22 UTC (rev 362186) @@ -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: chromium/repos/extra-x86_64/chromium-system-icu.patch (from rev 362185, chromium/trunk/chromium-system-icu.patch) =================================================================== --- chromium-system-icu.patch (rev 0) +++ chromium-system-icu.patch 2019-09-11 04:40:22 UTC (rev 362186) @@ -0,0 +1,20 @@ +diff --git a/build/linux/unbundle/icu.gn b/build/linux/unbundle/icu.gn +index 4450e40..9ca36dd 100644 +--- a/build/linux/unbundle/icu.gn ++++ b/build/linux/unbundle/icu.gn +@@ -96,6 +96,7 @@ shim_headers("icui18n_shim") { + "unicode/fpositer.h", + "unicode/gender.h", + "unicode/gregocal.h", ++ "unicode/listformatter.h", + "unicode/measfmt.h", + "unicode/measunit.h", + "unicode/measure.h", +@@ -178,7 +179,6 @@ shim_headers("icuuc_shim") { + "unicode/icudataver.h", + "unicode/icuplug.h", + "unicode/idna.h", +- "unicode/listformatter.h", + "unicode/localpointer.h", + "unicode/locdspnm.h", + "unicode/locid.h", Copied: chromium/repos/extra-x86_64/chromium-system-zlib.patch (from rev 362185, chromium/trunk/chromium-system-zlib.patch) =================================================================== --- chromium-system-zlib.patch (rev 0) +++ chromium-system-zlib.patch 2019-09-11 04:40:22 UTC (rev 362186) @@ -0,0 +1,25 @@ +From e1bbdec720a333937bd1b990ae0f7ee97db0d3b0 Mon Sep 17 00:00:00 2001 +From: Your Name <y...@example.com> +Date: Fri, 28 Jun 2019 15:56:23 +0000 +Subject: [PATCH] update zlib + +--- + third_party/perfetto/gn/BUILD.gn | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/third_party/perfetto/gn/BUILD.gn b/third_party/perfetto/gn/BUILD.gn +index c951f5f..297eee3 100644 +--- a/third_party/perfetto/gn/BUILD.gn ++++ b/third_party/perfetto/gn/BUILD.gn +@@ -200,7 +200,7 @@ group("zlib") { + "//buildtools:zlib", + ] + } else if (build_with_chromium) { +- public_configs = [ "//third_party/zlib:zlib_config" ] ++ public_configs = [ "//third_party/zlib:system_zlib" ] + public_deps = [ + "//third_party/zlib", + ] +-- +2.21.0 + Deleted: chromium-widevine.patch =================================================================== --- chromium-widevine.patch 2019-09-11 04:40:11 UTC (rev 362185) +++ chromium-widevine.patch 2019-09-11 04:40:22 UTC (rev 362186) @@ -1,22 +0,0 @@ -diff -upr chromium-71.0.3578.80.orig/chrome/common/chrome_content_client.cc chromium-71.0.3578.80/chrome/common/chrome_content_client.cc ---- chromium-71.0.3578.80.orig/chrome/common/chrome_content_client.cc 2018-12-03 20:16:43.000000000 +0000 -+++ chromium-71.0.3578.80/chrome/common/chrome_content_client.cc 2018-12-04 21:34:28.658206942 +0000 -@@ -99,7 +99,7 @@ - // Registers Widevine CDM if Widevine is enabled, the Widevine CDM is - // bundled and not a component. When the Widevine CDM is a component, it is - // registered in widevine_cdm_component_installer.cc. --#if BUILDFLAG(BUNDLE_WIDEVINE_CDM) && !BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT) -+#if BUILDFLAG(ENABLE_WIDEVINE) && !BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT) - #define REGISTER_BUNDLED_WIDEVINE_CDM - #include "third_party/widevine/cdm/widevine_cdm_common.h" // nogncheck - // TODO(crbug.com/663554): Needed for WIDEVINE_CDM_VERSION_STRING. Support -diff -upr chromium-71.0.3578.80.orig/third_party/widevine/cdm/widevine_cdm_version.h chromium-71.0.3578.80/third_party/widevine/cdm/widevine_cdm_version.h ---- chromium-71.0.3578.80.orig/third_party/widevine/cdm/widevine_cdm_version.h 2018-12-03 20:18:01.000000000 +0000 -+++ chromium-71.0.3578.80/third_party/widevine/cdm/widevine_cdm_version.h 2018-12-04 21:37:45.635374949 +0000 -@@ -12,4 +12,6 @@ - // - WIDEVINE_CDM_VERSION_STRING (with the version of the CDM that's available - // as a string, e.g., "1.0.123.456"). - -+#define WIDEVINE_CDM_VERSION_STRING "unknown" -+ - #endif // WIDEVINE_CDM_VERSION_H_ Copied: chromium/repos/extra-x86_64/chromium-widevine.patch (from rev 362185, chromium/trunk/chromium-widevine.patch) =================================================================== --- chromium-widevine.patch (rev 0) +++ chromium-widevine.patch 2019-09-11 04:40:22 UTC (rev 362186) @@ -0,0 +1,22 @@ +diff -upr chromium-71.0.3578.80.orig/chrome/common/chrome_content_client.cc chromium-71.0.3578.80/chrome/common/chrome_content_client.cc +--- chromium-71.0.3578.80.orig/chrome/common/chrome_content_client.cc 2018-12-03 20:16:43.000000000 +0000 ++++ chromium-71.0.3578.80/chrome/common/chrome_content_client.cc 2018-12-04 21:34:28.658206942 +0000 +@@ -99,7 +99,7 @@ + // Registers Widevine CDM if Widevine is enabled, the Widevine CDM is + // bundled and not a component. When the Widevine CDM is a component, it is + // registered in widevine_cdm_component_installer.cc. +-#if BUILDFLAG(BUNDLE_WIDEVINE_CDM) && !BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT) ++#if BUILDFLAG(ENABLE_WIDEVINE) && !BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT) + #define REGISTER_BUNDLED_WIDEVINE_CDM + #include "third_party/widevine/cdm/widevine_cdm_common.h" // nogncheck + // TODO(crbug.com/663554): Needed for WIDEVINE_CDM_VERSION_STRING. Support +diff -upr chromium-71.0.3578.80.orig/third_party/widevine/cdm/widevine_cdm_version.h chromium-71.0.3578.80/third_party/widevine/cdm/widevine_cdm_version.h +--- chromium-71.0.3578.80.orig/third_party/widevine/cdm/widevine_cdm_version.h 2018-12-03 20:18:01.000000000 +0000 ++++ chromium-71.0.3578.80/third_party/widevine/cdm/widevine_cdm_version.h 2018-12-04 21:37:45.635374949 +0000 +@@ -12,4 +12,6 @@ + // - WIDEVINE_CDM_VERSION_STRING (with the version of the CDM that's available + // as a string, e.g., "1.0.123.456"). + ++#define WIDEVINE_CDM_VERSION_STRING "unknown" ++ + #endif // WIDEVINE_CDM_VERSION_H_ Deleted: chromium.install =================================================================== --- chromium.install 2019-09-11 04:40:11 UTC (rev 362185) +++ chromium.install 2019-09-11 04:40:22 UTC (rev 362186) @@ -1,16 +0,0 @@ -post_upgrade() { - if (($(vercmp $2 42.0.2311.90-1) < 0)); then - echo ':: This Chromium package no longer supports custom flags passed via the' - echo ' /etc/chromium/default file (or any other files under /etc/chromium/).' - echo - echo ' The new /usr/bin/chromium launcher script will automatically detect' - echo ' Pepper Flash (if installed) and pass the correct flags to Chromium.' - echo - echo ' If you need to pass extra command-line arguments to Chromium, you' - echo ' can put them in a "chromium-flags.conf" file under $HOME/.config/' - echo ' (or $XDG_CONFIG_HOME). Arguments are split on whitespace and shell' - echo ' quoting rules apply but no further parsing is performed.' - fi -} - -# vim:set ts=2 sw=2 et: Copied: chromium/repos/extra-x86_64/chromium.install (from rev 362185, chromium/trunk/chromium.install) =================================================================== --- chromium.install (rev 0) +++ chromium.install 2019-09-11 04:40:22 UTC (rev 362186) @@ -0,0 +1,16 @@ +post_upgrade() { + if (($(vercmp $2 42.0.2311.90-1) < 0)); then + echo ':: This Chromium package no longer supports custom flags passed via the' + echo ' /etc/chromium/default file (or any other files under /etc/chromium/).' + echo + echo ' The new /usr/bin/chromium launcher script will automatically detect' + echo ' Pepper Flash (if installed) and pass the correct flags to Chromium.' + echo + echo ' If you need to pass extra command-line arguments to Chromium, you' + echo ' can put them in a "chromium-flags.conf" file under $HOME/.config/' + echo ' (or $XDG_CONFIG_HOME). Arguments are split on whitespace and shell' + echo ' quoting rules apply but no further parsing is performed.' + fi +} + +# vim:set ts=2 sw=2 et: Copied: chromium/repos/extra-x86_64/fix-wrong-string-initialization-in-LinkedHashSet.patch (from rev 362185, chromium/trunk/fix-wrong-string-initialization-in-LinkedHashSet.patch) =================================================================== --- fix-wrong-string-initialization-in-LinkedHashSet.patch (rev 0) +++ fix-wrong-string-initialization-in-LinkedHashSet.patch 2019-09-11 04:40:22 UTC (rev 362186) @@ -0,0 +1,135 @@ +From 74138b9febd37eac0fc26b8efb110014a83a52c6 Mon Sep 17 00:00:00 2001 +From: Jeremy Roman <jbro...@chromium.org> +Date: Wed, 7 Aug 2019 13:26:48 +0000 +Subject: [PATCH] WTF: Make LinkedHashSet understand values for which memset + initialization would be bad. + +Includes a unit test which fails before, and uses this to fix FontCacheKeyTraits. + +Bug: 980025 +Change-Id: If41f97444c7fd37b9b95d6dadaf3da5689079e9e +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1739948 +Reviewed-by: Kentaro Hara <hara...@chromium.org> +Reviewed-by: Yutaka Hirano <yhir...@chromium.org> +Commit-Queue: Jeremy Roman <jbro...@chromium.org> +Cr-Commit-Position: refs/heads/master@{#684731} +--- + .../renderer/platform/fonts/font_cache_key.h | 4 ++ + .../renderer/platform/wtf/linked_hash_set.h | 10 ++++- + .../platform/wtf/list_hash_set_test.cc | 45 +++++++++++++++++-- + 3 files changed, 55 insertions(+), 4 deletions(-) + +diff --git a/third_party/blink/renderer/platform/fonts/font_cache_key.h b/third_party/blink/renderer/platform/fonts/font_cache_key.h +index 0efc8fb909..90063cb2ea 100644 +--- a/third_party/blink/renderer/platform/fonts/font_cache_key.h ++++ b/third_party/blink/renderer/platform/fonts/font_cache_key.h +@@ -133,6 +133,10 @@ struct FontCacheKeyHash { + + struct FontCacheKeyTraits : WTF::SimpleClassHashTraits<FontCacheKey> { + STATIC_ONLY(FontCacheKeyTraits); ++ ++ // std::string's empty state need not be zero in all implementations, ++ // and it is held within FontFaceCreationParams. ++ static const bool kEmptyValueIsZero = false; + }; + + } // namespace blink +diff --git a/third_party/blink/renderer/platform/wtf/linked_hash_set.h b/third_party/blink/renderer/platform/wtf/linked_hash_set.h +index b35b6e95f1..77e524c084 100644 +--- a/third_party/blink/renderer/platform/wtf/linked_hash_set.h ++++ b/third_party/blink/renderer/platform/wtf/linked_hash_set.h +@@ -146,6 +146,11 @@ class LinkedHashSetNode : public LinkedHashSetNodeBase { + LinkedHashSetNodeBase* next) + : LinkedHashSetNodeBase(prev, next), value_(value) {} + ++ LinkedHashSetNode(ValueArg&& value, ++ LinkedHashSetNodeBase* prev, ++ LinkedHashSetNodeBase* next) ++ : LinkedHashSetNodeBase(prev, next), value_(std::move(value)) {} ++ + LinkedHashSetNode(LinkedHashSetNode&& other) + : LinkedHashSetNodeBase(std::move(other)), + value_(std::move(other.value_)) {} +@@ -445,10 +450,13 @@ struct LinkedHashSetTraits + + // The slot is empty when the next_ field is zero so it's safe to zero + // the backing. +- static const bool kEmptyValueIsZero = true; ++ static const bool kEmptyValueIsZero = ValueTraits::kEmptyValueIsZero; + + static const bool kHasIsEmptyValueFunction = true; + static bool IsEmptyValue(const Node& node) { return !node.next_; } ++ static Node EmptyValue() { ++ return Node(ValueTraits::EmptyValue(), nullptr, nullptr); ++ } + + static const int kDeletedValue = -1; + +diff --git a/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc b/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc +index 4c3f8990b0..cd1be0089b 100644 +--- a/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc ++++ b/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc +@@ -487,6 +487,7 @@ struct Simple { + }; + + struct Complicated { ++ Complicated() : Complicated(0) {} + Complicated(int value) : simple_(value) { objects_constructed_++; } + + Complicated(const Complicated& other) : simple_(other.simple_) { +@@ -495,9 +496,6 @@ struct Complicated { + + Simple simple_; + static int objects_constructed_; +- +- private: +- Complicated() = delete; + }; + + int Complicated::objects_constructed_ = 0; +@@ -731,4 +729,45 @@ TYPED_TEST(ListOrLinkedHashSetMoveOnlyTest, MoveOnlyValue) { + + } // anonymous namespace + ++// A unit type which objects to its state being initialized wrong. ++struct InvalidZeroValue { ++ InvalidZeroValue() = default; ++ InvalidZeroValue(WTF::HashTableDeletedValueType) : deleted_(true) {} ++ ~InvalidZeroValue() { CHECK(ok_); } ++ bool IsHashTableDeletedValue() const { return deleted_; } ++ ++ bool ok_ = true; ++ bool deleted_ = false; ++}; ++ ++template <> ++struct HashTraits<InvalidZeroValue> : SimpleClassHashTraits<InvalidZeroValue> { ++ static const bool kEmptyValueIsZero = false; ++}; ++ ++template <> ++struct DefaultHash<InvalidZeroValue> { ++ struct Hash { ++ static unsigned GetHash(const InvalidZeroValue&) { return 0; } ++ static bool Equal(const InvalidZeroValue&, const InvalidZeroValue&) { ++ return true; ++ } ++ }; ++}; ++ ++template <typename Set> ++class ListOrLinkedHashSetInvalidZeroTest : public testing::Test {}; ++ ++using InvalidZeroValueSetTypes = ++ testing::Types<ListHashSet<InvalidZeroValue>, ++ ListHashSet<InvalidZeroValue, 1>, ++ LinkedHashSet<InvalidZeroValue>>; ++TYPED_TEST_SUITE(ListOrLinkedHashSetInvalidZeroTest, InvalidZeroValueSetTypes); ++ ++TYPED_TEST(ListOrLinkedHashSetInvalidZeroTest, InvalidZeroValue) { ++ using Set = TypeParam; ++ Set set; ++ set.insert(InvalidZeroValue()); ++} ++ + } // namespace WTF Copied: chromium/repos/extra-x86_64/include-limits-in-web_time_range.cc.patch (from rev 362185, chromium/trunk/include-limits-in-web_time_range.cc.patch) =================================================================== --- include-limits-in-web_time_range.cc.patch (rev 0) +++ include-limits-in-web_time_range.cc.patch 2019-09-11 04:40:22 UTC (rev 362186) @@ -0,0 +1,31 @@ +From 5baf7df7f4c5971dab552897eeef94b194650ce5 Mon Sep 17 00:00:00 2001 +From: Dave Tapuska <dtapu...@chromium.org> +Date: Mon, 12 Aug 2019 22:30:13 +0000 +Subject: [PATCH] Fix build failure due to missing include for + std::numeric_limits usage. + +Some configurations fail to build, limits should have been included. + +BUG=992832 + +Change-Id: I894ba0543bfcef101c93259e39a31d12ae6d035c +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1747981 +Commit-Queue: Dave Tapuska <dtapu...@chromium.org> +Reviewed-by: Mostyn Bramley-Moore <most...@vewd.com> +Cr-Commit-Position: refs/heads/master@{#686214} +--- + third_party/blink/renderer/platform/exported/web_time_range.cc | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/third_party/blink/renderer/platform/exported/web_time_range.cc b/third_party/blink/renderer/platform/exported/web_time_range.cc +index 384566a13e..68d83e14fe 100644 +--- a/third_party/blink/renderer/platform/exported/web_time_range.cc ++++ b/third_party/blink/renderer/platform/exported/web_time_range.cc +@@ -31,6 +31,7 @@ + #include "third_party/blink/public/platform/web_time_range.h" + + #include <cmath> ++#include <limits> + + namespace blink { + Copied: chromium/repos/extra-x86_64/include-memory-in-one_euro_filter.h.patch (from rev 362185, chromium/trunk/include-memory-in-one_euro_filter.h.patch) =================================================================== --- include-memory-in-one_euro_filter.h.patch (rev 0) +++ include-memory-in-one_euro_filter.h.patch 2019-09-11 04:40:22 UTC (rev 362186) @@ -0,0 +1,32 @@ +From 8c747a9c14ed4905f60f6680e2e09e33ea34163e Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz <jose.dap...@lge.com> +Date: Fri, 26 Jul 2019 16:18:17 +0000 +Subject: [PATCH] IWYU: include <memory> in one_euro_filter.h as it uses + std::unique_ptr +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Bug: 819294 +Change-Id: Ie1530f7046b0c8eb76e26adca530fa57c67ed876 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1720637 +Reviewed-by: Ella Ge <eir...@chromium.org> +Commit-Queue: José Dapena Paz <jose.dap...@lge.com> +Cr-Commit-Position: refs/heads/master@{#681321} +--- + third_party/one_euro_filter/src/one_euro_filter.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/third_party/one_euro_filter/src/one_euro_filter.h b/third_party/one_euro_filter/src/one_euro_filter.h +index 7f8d15b62a..a8cd0ab9a2 100644 +--- a/third_party/one_euro_filter/src/one_euro_filter.h ++++ b/third_party/one_euro_filter/src/one_euro_filter.h +@@ -1,6 +1,8 @@ + #ifndef ONE_EURO_ONE_EURO_FILTER_H_ + #define ONE_EURO_ONE_EURO_FILTER_H_ + ++#include <memory> ++ + #include "low_pass_filter.h" + + namespace one_euro_filter { Copied: chromium/repos/extra-x86_64/link-against-harfbuzz-subset.patch (from rev 362185, chromium/trunk/link-against-harfbuzz-subset.patch) =================================================================== --- link-against-harfbuzz-subset.patch (rev 0) +++ link-against-harfbuzz-subset.patch 2019-09-11 04:40:22 UTC (rev 362186) @@ -0,0 +1,55 @@ +From 27e25336b8316ff3ec4e464058682ed85801fd06 Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa <raphael.kubo.da.co...@intel.com> +Date: Mon, 29 Jul 2019 10:54:28 +0000 +Subject: [PATCH] Also link against libharfbuzz-subset when use_system_harfbuzz + is true +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When building HarfBuzz as part of Chromium, there is a single source set +with all the files we need in the build. + +Upstream HarfBuzz, on the other hand, produces a few different libraries: +harfbuzz, harfbuzz-icu and harfbuzz-subset. When |use_system_harfbuzz| is +true, we were only looking for (and using) harfbuzz.pc with pkg-config even +though we also use symbols from libharfbuzz-subset.so. This resulted in +errors when linking: + + ld: obj/skia/skia/SkPDFSubsetFont.o: in function `SkPDFSubsetFont(sk_sp<SkData>, SkPDFGlyphUse const&, SkPDF::Metadata::Subsetter, char const*, int)': + SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x48a): undefined reference to `hb_subset_input_create_or_fail' + ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x4af): undefined reference to `hb_subset_input_glyph_set' + ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5d7): undefined reference to `hb_subset_input_set_retain_gids' + ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5e4): undefined reference to `hb_subset_input_set_drop_hints' + ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5f3): undefined reference to `hb_subset' + ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x66f): undefined reference to `hb_subset_input_destroy' + +as reported in +https://groups.google.com/a/chromium.org/d/msg/chromium-packagers/UyJsVJ5QqWo/jSv5z7-rEQAJ + +Change-Id: I997af075c7b7263cd7cc71a63db5b0f93bd1ab59 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1715288 +Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.co...@intel.com> +Commit-Queue: Dominik Röttsches <dr...@chromium.org> +Reviewed-by: Dominik Röttsches <dr...@chromium.org> +Cr-Commit-Position: refs/heads/master@{#681760} +--- + third_party/harfbuzz-ng/BUILD.gn | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/third_party/harfbuzz-ng/BUILD.gn b/third_party/harfbuzz-ng/BUILD.gn +index 37d8e334c2..72013eb1db 100644 +--- a/third_party/harfbuzz-ng/BUILD.gn ++++ b/third_party/harfbuzz-ng/BUILD.gn +@@ -16,7 +16,10 @@ if (use_system_harfbuzz) { + "//third_party:freetype_harfbuzz", + "//third_party/freetype:freetype_source", + ] +- packages = [ "harfbuzz" ] ++ packages = [ ++ "harfbuzz", ++ "harfbuzz-subset", ++ ] + } + } else { + config("harfbuzz_config") {