Date: Wednesday, October 17, 2018 @ 04:48:46 Author: foutrelis Revision: 336780
archrelease: copy trunk to extra-x86_64 Added: chromium/repos/extra-x86_64/PKGBUILD (from rev 336779, chromium/trunk/PKGBUILD) chromium/repos/extra-x86_64/chromium-skia-harmony.patch (from rev 336779, chromium/trunk/chromium-skia-harmony.patch) chromium/repos/extra-x86_64/chromium-system-icu.patch (from rev 336779, chromium/trunk/chromium-system-icu.patch) chromium/repos/extra-x86_64/chromium-widevine-r2.patch (from rev 336779, chromium/trunk/chromium-widevine-r2.patch) chromium/repos/extra-x86_64/chromium.install (from rev 336779, chromium/trunk/chromium.install) chromium/repos/extra-x86_64/include-stdint.h-in-pdfium_mem_buffer_file_write.h.patch (from rev 336779, chromium/trunk/include-stdint.h-in-pdfium_mem_buffer_file_write.h.patch) Deleted: chromium/repos/extra-x86_64/PKGBUILD chromium/repos/extra-x86_64/chromium-skia-harmony.patch chromium/repos/extra-x86_64/chromium-system-icu.patch chromium/repos/extra-x86_64/chromium-widevine-r2.patch chromium/repos/extra-x86_64/chromium.install chromium/repos/extra-x86_64/fix-cfi-icall-failure-with-use_system_libjpeg-true.patch chromium/repos/extra-x86_64/only-disable-cfi-icall-when-use_system_libjpeg-true.patch -----------------------------------------------------------+ PKGBUILD | 448 +++++------- chromium-skia-harmony.patch | 154 ++-- chromium-system-icu.patch | 38 - chromium-widevine-r2.patch | 78 +- chromium.install | 32 fix-cfi-icall-failure-with-use_system_libjpeg-true.patch | 52 - include-stdint.h-in-pdfium_mem_buffer_file_write.h.patch | 30 only-disable-cfi-icall-when-use_system_libjpeg-true.patch | 34 8 files changed, 403 insertions(+), 463 deletions(-) Deleted: PKGBUILD =================================================================== --- PKGBUILD 2018-10-17 04:48:35 UTC (rev 336779) +++ PKGBUILD 2018-10-17 04:48:46 UTC (rev 336780) @@ -1,226 +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=69.0.3497.100 -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' - 'clang' 'lld' 'gn') -optdepends=('pepper-flash: support for Flash content' - '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 - fix-cfi-icall-failure-with-use_system_libjpeg-true.patch - only-disable-cfi-icall-when-use_system_libjpeg-true.patch - chromium-widevine-r2.patch - chromium-system-icu.patch - chromium-skia-harmony.patch) -sha256sums=('e3391560e73e25fb4afc3f2dd5616607e2dbfc58aa88251a2c5d6b7096fe9e35' - '04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1' - '97b421bc60a4abdf37de2d88a51b973e9f68fb44d1eccd464adfb3d9f5d71478' - '9cae9ded6497afd15ad72d963897425ab6c7f28941bb3c3948e7996610a0d180' - '02c69bb3954087db599def7f5b6d65cf8f7cf2ed81dfbdaa4bb7b51863b4df15' - 'c4f2d1bed9034c02b8806f00c2e8165df24de467803855904bff709ceaf11af5' - 'feca54ab09ac0fc9d0626770a6b899a6ac5a12173c7d0c1005bc3964ec83e7b3') - -# 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 # needs unreleased 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/866290 - patch -Np1 -i ../fix-cfi-icall-failure-with-use_system_libjpeg-true.patch - patch -Np1 -i ../only-disable-cfi-icall-when-use_system_libjpeg-true.patch - - # https://crbug.com/skia/6663#c10 - patch -Np4 -i ../chromium-skia-harmony.patch - - # Fixes from Gentoo - patch -Np1 -i ../chromium-widevine-r2.patch - - # https://bugs.gentoo.org/661880#c21 - patch -Np1 -i ../chromium-system-icu.patch - - # Remove compiler flags not supported by our system clang - sed -i \ - -e '/"-Wno-ignored-pragma-optimize"/d' \ - build/config/compiler/BUILD.gn - - # 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 - 'is_debug=false' - 'treat_warnings_as_errors=false' - 'fieldtrial_testing_like_official_build=true' - 'remove_webcore_debug_symbols=true' - 'ffmpeg_branding="Chrome"' - 'proprietary_codecs=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') - - # Mimic exclude_unwind_tables=true - CFLAGS+=' -fno-unwind-tables -fno-asynchronous-unwind-tables' - CXXFLAGS+=' -fno-unwind-tables -fno-asynchronous-unwind-tables' - CPPFLAGS+=' -DNO_UNWIND_TABLES' - 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 336779, chromium/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2018-10-17 04:48:46 UTC (rev 336780) @@ -0,0 +1,222 @@ +# 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=70.0.3538.67 +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' + 'clang' 'lld' 'gn') +optdepends=('pepper-flash: support for Flash content' + '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-stdint.h-in-pdfium_mem_buffer_file_write.h.patch + chromium-widevine-r2.patch + chromium-system-icu.patch + chromium-skia-harmony.patch) +sha256sums=('e956c2031f634300ada8c09e0777f0c560f4798963f144edaaec8d43e1e30e37' + '04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1' + 'cd1e87bf3618b7897c5caf7b0f4213cfa5ce917acb0613ecd2ab3f830f0cbfbb' + '02c69bb3954087db599def7f5b6d65cf8f7cf2ed81dfbdaa4bb7b51863b4df15' + 'c4f2d1bed9034c02b8806f00c2e8165df24de467803855904bff709ceaf11af5' + 'feca54ab09ac0fc9d0626770a6b899a6ac5a12173c7d0c1005bc3964ec83e7b3') + +# 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 # needs unreleased 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/879900 + patch -Np1 -i ../include-stdint.h-in-pdfium_mem_buffer_file_write.h.patch + + # https://crbug.com/skia/6663#c10 + patch -Np4 -i ../chromium-skia-harmony.patch + + # Fixes from Gentoo + patch -Np1 -i ../chromium-widevine-r2.patch + + # https://bugs.gentoo.org/661880#c21 + patch -Np1 -i ../chromium-system-icu.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' + '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') + + # Mimic exclude_unwind_tables=true + CFLAGS+=' -fno-unwind-tables -fno-asynchronous-unwind-tables' + CXXFLAGS+=' -fno-unwind-tables -fno-asynchronous-unwind-tables' + CPPFLAGS+=' -DNO_UNWIND_TABLES' + 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: Deleted: chromium-skia-harmony.patch =================================================================== --- chromium-skia-harmony.patch 2018-10-17 04:48:35 UTC (rev 336779) +++ chromium-skia-harmony.patch 2018-10-17 04:48:46 UTC (rev 336780) @@ -1,77 +0,0 @@ ---- qtwebengine-opensource-src-5.9.1/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp.orig 2017-10-10 17:42:06.956950985 +0200 -+++ qtwebengine-opensource-src-5.9.1/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp 2017-10-10 17:46:05.824187787 +0200 -@@ -99,8 +99,6 @@ - FreeTypeLibrary() - : fGetVarDesignCoordinates(nullptr) - , fLibrary(nullptr) -- , fIsLCDSupported(false) -- , fLCDExtra(0) - { - if (FT_New_Library(&gFTMemory, &fLibrary)) { - return; -@@ -147,12 +145,7 @@ - } - #endif - -- // Setup LCD filtering. This reduces color fringes for LCD smoothed glyphs. -- // The default has changed over time, so this doesn't mean the same thing to all users. -- if (FT_Library_SetLcdFilter(fLibrary, FT_LCD_FILTER_DEFAULT) == 0) { -- fIsLCDSupported = true; -- fLCDExtra = 2; //Using a filter adds one full pixel to each side. -- } -+ FT_Library_SetLcdFilter(fLibrary, FT_LCD_FILTER_DEFAULT); - } - ~FreeTypeLibrary() { - if (fLibrary) { -@@ -161,8 +153,6 @@ - } - - FT_Library library() { return fLibrary; } -- bool isLCDSupported() { return fIsLCDSupported; } -- int lcdExtra() { return fLCDExtra; } - - // FT_Get_{MM,Var}_{Blend,Design}_Coordinates were added in FreeType 2.7.1. - // Prior to this there was no way to get the coordinates out of the FT_Face. -@@ -173,8 +163,6 @@ - - private: - FT_Library fLibrary; -- bool fIsLCDSupported; -- int fLCDExtra; - - // FT_Library_SetLcdFilterWeights was introduced in FreeType 2.4.0. - // The following platforms provide FreeType of at least 2.4.0. -@@ -704,17 +692,6 @@ - rec->fTextSize = SkIntToScalar(1 << 14); - } - -- if (isLCD(*rec)) { -- // TODO: re-work so that FreeType is set-up and selected by the SkFontMgr. -- SkAutoMutexAcquire ama(gFTMutex); -- ref_ft_library(); -- if (!gFTLibrary->isLCDSupported()) { -- // If the runtime Freetype library doesn't support LCD, disable it here. -- rec->fMaskFormat = SkMask::kA8_Format; -- } -- unref_ft_library(); -- } -- - SkPaint::Hinting h = rec->getHinting(); - if (SkPaint::kFull_Hinting == h && !isLCD(*rec)) { - // collapse full->normal hinting if we're not doing LCD -@@ -1115,11 +1092,11 @@ - void SkScalerContext_FreeType::updateGlyphIfLCD(SkGlyph* glyph) { - if (isLCD(fRec)) { - if (fLCDIsVert) { -- glyph->fHeight += gFTLibrary->lcdExtra(); -- glyph->fTop -= gFTLibrary->lcdExtra() >> 1; -+ glyph->fHeight += 2; -+ glyph->fTop -= 1; - } else { -- glyph->fWidth += gFTLibrary->lcdExtra(); -- glyph->fLeft -= gFTLibrary->lcdExtra() >> 1; -+ glyph->fWidth += 2; -+ glyph->fLeft -= 1; - } - } - } Copied: chromium/repos/extra-x86_64/chromium-skia-harmony.patch (from rev 336779, chromium/trunk/chromium-skia-harmony.patch) =================================================================== --- chromium-skia-harmony.patch (rev 0) +++ chromium-skia-harmony.patch 2018-10-17 04:48:46 UTC (rev 336780) @@ -0,0 +1,77 @@ +--- qtwebengine-opensource-src-5.9.1/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp.orig 2017-10-10 17:42:06.956950985 +0200 ++++ qtwebengine-opensource-src-5.9.1/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp 2017-10-10 17:46:05.824187787 +0200 +@@ -99,8 +99,6 @@ + FreeTypeLibrary() + : fGetVarDesignCoordinates(nullptr) + , fLibrary(nullptr) +- , fIsLCDSupported(false) +- , fLCDExtra(0) + { + if (FT_New_Library(&gFTMemory, &fLibrary)) { + return; +@@ -147,12 +145,7 @@ + } + #endif + +- // Setup LCD filtering. This reduces color fringes for LCD smoothed glyphs. +- // The default has changed over time, so this doesn't mean the same thing to all users. +- if (FT_Library_SetLcdFilter(fLibrary, FT_LCD_FILTER_DEFAULT) == 0) { +- fIsLCDSupported = true; +- fLCDExtra = 2; //Using a filter adds one full pixel to each side. +- } ++ FT_Library_SetLcdFilter(fLibrary, FT_LCD_FILTER_DEFAULT); + } + ~FreeTypeLibrary() { + if (fLibrary) { +@@ -161,8 +153,6 @@ + } + + FT_Library library() { return fLibrary; } +- bool isLCDSupported() { return fIsLCDSupported; } +- int lcdExtra() { return fLCDExtra; } + + // FT_Get_{MM,Var}_{Blend,Design}_Coordinates were added in FreeType 2.7.1. + // Prior to this there was no way to get the coordinates out of the FT_Face. +@@ -173,8 +163,6 @@ + + private: + FT_Library fLibrary; +- bool fIsLCDSupported; +- int fLCDExtra; + + // FT_Library_SetLcdFilterWeights was introduced in FreeType 2.4.0. + // The following platforms provide FreeType of at least 2.4.0. +@@ -704,17 +692,6 @@ + rec->fTextSize = SkIntToScalar(1 << 14); + } + +- if (isLCD(*rec)) { +- // TODO: re-work so that FreeType is set-up and selected by the SkFontMgr. +- SkAutoMutexAcquire ama(gFTMutex); +- ref_ft_library(); +- if (!gFTLibrary->isLCDSupported()) { +- // If the runtime Freetype library doesn't support LCD, disable it here. +- rec->fMaskFormat = SkMask::kA8_Format; +- } +- unref_ft_library(); +- } +- + SkPaint::Hinting h = rec->getHinting(); + if (SkPaint::kFull_Hinting == h && !isLCD(*rec)) { + // collapse full->normal hinting if we're not doing LCD +@@ -1115,11 +1092,11 @@ + void SkScalerContext_FreeType::updateGlyphIfLCD(SkGlyph* glyph) { + if (isLCD(fRec)) { + if (fLCDIsVert) { +- glyph->fHeight += gFTLibrary->lcdExtra(); +- glyph->fTop -= gFTLibrary->lcdExtra() >> 1; ++ glyph->fHeight += 2; ++ glyph->fTop -= 1; + } else { +- glyph->fWidth += gFTLibrary->lcdExtra(); +- glyph->fLeft -= gFTLibrary->lcdExtra() >> 1; ++ glyph->fWidth += 2; ++ glyph->fLeft -= 1; + } + } + } Deleted: chromium-system-icu.patch =================================================================== --- chromium-system-icu.patch 2018-10-17 04:48:35 UTC (rev 336779) +++ chromium-system-icu.patch 2018-10-17 04:48:46 UTC (rev 336780) @@ -1,19 +0,0 @@ -diff --git a/third_party/blink/renderer/platform/text/character_property_data_generator.h b/third_party/blink/renderer/platform/text/character_property_data_generator.h -index 28fb6a9..bb4dbd7 100644 ---- a/third_party/blink/renderer/platform/text/character_property_data_generator.h -+++ b/third_party/blink/renderer/platform/text/character_property_data_generator.h -@@ -244,10 +244,12 @@ static const UChar32 kIsHangulRanges[] = { - 0xD7B0, 0xD7FF, - // Halfwidth Hangul Jamo - // https://www.unicode.org/charts/nameslist/c_FF00.html -- 0xFFA0, 0xFFDC, -+ 0xFFA0, 0xFFDB, - }; - --static const UChar32 kIsHangulArray[] = {}; -+static const UChar32 kIsHangulArray[] = { -+ 0xFFDC, -+}; - - } // namespace blink - Copied: chromium/repos/extra-x86_64/chromium-system-icu.patch (from rev 336779, chromium/trunk/chromium-system-icu.patch) =================================================================== --- chromium-system-icu.patch (rev 0) +++ chromium-system-icu.patch 2018-10-17 04:48:46 UTC (rev 336780) @@ -0,0 +1,19 @@ +diff --git a/third_party/blink/renderer/platform/text/character_property_data_generator.h b/third_party/blink/renderer/platform/text/character_property_data_generator.h +index 28fb6a9..bb4dbd7 100644 +--- a/third_party/blink/renderer/platform/text/character_property_data_generator.h ++++ b/third_party/blink/renderer/platform/text/character_property_data_generator.h +@@ -244,10 +244,12 @@ static const UChar32 kIsHangulRanges[] = { + 0xD7B0, 0xD7FF, + // Halfwidth Hangul Jamo + // https://www.unicode.org/charts/nameslist/c_FF00.html +- 0xFFA0, 0xFFDC, ++ 0xFFA0, 0xFFDB, + }; + +-static const UChar32 kIsHangulArray[] = {}; ++static const UChar32 kIsHangulArray[] = { ++ 0xFFDC, ++}; + + } // namespace blink + Deleted: chromium-widevine-r2.patch =================================================================== --- chromium-widevine-r2.patch 2018-10-17 04:48:35 UTC (rev 336779) +++ chromium-widevine-r2.patch 2018-10-17 04:48:46 UTC (rev 336780) @@ -1,39 +0,0 @@ -Minimal patch to get chromium to compile with widevine support. - -Exactly the same as -r1, but we now need to patch -ninja to pretty please not terminate our build. - -caveat emptor: it's in no way clear that building chromium this -way is safer, from a security perspective, than whatever Google -Chrome does. - -Upstream appears to be cooking up a code-signing trust-chain -which may protect users against malicious cdm blobs; I doubt -we benefit from these using this kludge. Ideally, someone -would look into this more carefully than I have ... tbh as -soon as I got my "stories" back, I pretty much lost interest :) - --gmt - --- ---- a/third_party/widevine/cdm/stub/widevine_cdm_version.h -+++ b/third_party/widevine/cdm/stub/widevine_cdm_version.h -@@ -10,6 +10,7 @@ - - #include "third_party/widevine/cdm/widevine_cdm_common.h" - -+#define WIDEVINE_CDM_VERSION_STRING "unknown" - #define WIDEVINE_CDM_AVAILABLE - - #endif // WIDEVINE_CDM_VERSION_H_ ---- a/third_party/widevine/cdm/BUILD.gn -+++ b/third_party/widevine/cdm/BUILD.gn -@@ -11,7 +11,7 @@ import("//third_party/widevine/cdm/widev - # Internal Cast builds set enable_widevine=true to bring in Widevine support. - # TODO(xhwang): Support component updated CDM on other platforms and remove this - # assert. --assert(!enable_widevine || is_win || is_mac || is_chromecast, -+assert(!enable_widevine || is_win || is_mac || is_chromecast || is_linux, - "Component updated CDM only supported on Windows and Mac for now.") - - widevine_arch = current_cpu Copied: chromium/repos/extra-x86_64/chromium-widevine-r2.patch (from rev 336779, chromium/trunk/chromium-widevine-r2.patch) =================================================================== --- chromium-widevine-r2.patch (rev 0) +++ chromium-widevine-r2.patch 2018-10-17 04:48:46 UTC (rev 336780) @@ -0,0 +1,39 @@ +Minimal patch to get chromium to compile with widevine support. + +Exactly the same as -r1, but we now need to patch +ninja to pretty please not terminate our build. + +caveat emptor: it's in no way clear that building chromium this +way is safer, from a security perspective, than whatever Google +Chrome does. + +Upstream appears to be cooking up a code-signing trust-chain +which may protect users against malicious cdm blobs; I doubt +we benefit from these using this kludge. Ideally, someone +would look into this more carefully than I have ... tbh as +soon as I got my "stories" back, I pretty much lost interest :) + +-gmt + +-- +--- a/third_party/widevine/cdm/stub/widevine_cdm_version.h ++++ b/third_party/widevine/cdm/stub/widevine_cdm_version.h +@@ -10,6 +10,7 @@ + + #include "third_party/widevine/cdm/widevine_cdm_common.h" + ++#define WIDEVINE_CDM_VERSION_STRING "unknown" + #define WIDEVINE_CDM_AVAILABLE + + #endif // WIDEVINE_CDM_VERSION_H_ +--- a/third_party/widevine/cdm/BUILD.gn ++++ b/third_party/widevine/cdm/BUILD.gn +@@ -11,7 +11,7 @@ import("//third_party/widevine/cdm/widev + # Internal Cast builds set enable_widevine=true to bring in Widevine support. + # TODO(xhwang): Support component updated CDM on other platforms and remove this + # assert. +-assert(!enable_widevine || is_win || is_mac || is_chromecast, ++assert(!enable_widevine || is_win || is_mac || is_chromecast || is_linux, + "Component updated CDM only supported on Windows and Mac for now.") + + widevine_arch = current_cpu Deleted: chromium.install =================================================================== --- chromium.install 2018-10-17 04:48:35 UTC (rev 336779) +++ chromium.install 2018-10-17 04:48:46 UTC (rev 336780) @@ -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 336779, chromium/trunk/chromium.install) =================================================================== --- chromium.install (rev 0) +++ chromium.install 2018-10-17 04:48:46 UTC (rev 336780) @@ -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: Deleted: fix-cfi-icall-failure-with-use_system_libjpeg-true.patch =================================================================== --- fix-cfi-icall-failure-with-use_system_libjpeg-true.patch 2018-10-17 04:48:35 UTC (rev 336779) +++ fix-cfi-icall-failure-with-use_system_libjpeg-true.patch 2018-10-17 04:48:46 UTC (rev 336780) @@ -1,52 +0,0 @@ -From db82db1b609f30d144d45477f55697818bcd363c Mon Sep 17 00:00:00 2001 -From: Vlad Tsyrklevich <vtsyrklev...@chromium.org> -Date: Tue, 31 Jul 2018 01:03:22 +0000 -Subject: [PATCH] Fix cfi-icall failure with use_system_libjpeg=true - -JPEGImageReader::AllocateSampleArray() can call the function pointer -(*info_.mem->alloc_sarray) which can be set by the systems non-CFI -enabled libjpeg DSO when chromium is built with use_system_libjpeg=true. -Disable cfi-icall for that method. - -Bug: 866290 -Change-Id: I6d9bbf08c514d6d5f48ad34c3802c63419ed1223 -Reviewed-on: https://chromium-review.googlesource.com/1155927 -Reviewed-by: Kentaro Hara <hara...@chromium.org> -Commit-Queue: Vlad Tsyrklevich <vtsyrklev...@chromium.org> -Cr-Commit-Position: refs/heads/master@{#579270} ---- - .../renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc | 2 +- - third_party/blink/renderer/platform/wtf/compiler.h | 2 ++ - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc b/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc -index a1e440f6eed5..fd4e72ba053c 100644 ---- a/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc -+++ b/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc -@@ -643,7 +643,7 @@ class JPEGImageReader final { - IntSize UvSize() const { return uv_size_; } - - private: -- JSAMPARRAY AllocateSampleArray() { -+ NO_SANITIZE_CFI_ICALL JSAMPARRAY AllocateSampleArray() { - // Some output color spaces don't need the sample array: don't allocate in that - // case. - #if defined(TURBO_JPEG_RGB_SWIZZLE) -diff --git a/third_party/blink/renderer/platform/wtf/compiler.h b/third_party/blink/renderer/platform/wtf/compiler.h -index 51595afdc955..5225a70309d6 100644 ---- a/third_party/blink/renderer/platform/wtf/compiler.h -+++ b/third_party/blink/renderer/platform/wtf/compiler.h -@@ -57,8 +57,10 @@ - #if defined(__clang__) - #define NO_SANITIZE_UNRELATED_CAST \ - __attribute__((no_sanitize("cfi-unrelated-cast", "vptr"))) -+#define NO_SANITIZE_CFI_ICALL __attribute__((no_sanitize("cfi-icall"))) - #else - #define NO_SANITIZE_UNRELATED_CAST -+#define NO_SANITIZE_CFI_ICALL - #endif - - #endif /* WTF_Compiler_h */ --- -2.18.0 - Copied: chromium/repos/extra-x86_64/include-stdint.h-in-pdfium_mem_buffer_file_write.h.patch (from rev 336779, chromium/trunk/include-stdint.h-in-pdfium_mem_buffer_file_write.h.patch) =================================================================== --- include-stdint.h-in-pdfium_mem_buffer_file_write.h.patch (rev 0) +++ include-stdint.h-in-pdfium_mem_buffer_file_write.h.patch 2018-10-17 04:48:46 UTC (rev 336780) @@ -0,0 +1,30 @@ +From e3ad3deb6a6e79284f3748fa7410311d87df91c5 Mon Sep 17 00:00:00 2001 +From: Henrique Nakashima <hnakash...@chromium.org> +Date: Tue, 4 Sep 2018 16:49:51 +0000 +Subject: [PATCH] IWYU: stdint.h in pdfium_mem_buffer_file_write.h for uint8_t + +Bug: 879900 +Change-Id: I9c15d1c280a23c53d31f2d72c9d0d1db79eab886 +Reviewed-on: https://chromium-review.googlesource.com/1204410 +Reviewed-by: Lei Zhang <thes...@chromium.org> +Commit-Queue: Henrique Nakashima <hnakash...@chromium.org> +Cr-Commit-Position: refs/heads/master@{#588547} +--- + pdf/pdfium/pdfium_mem_buffer_file_write.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/pdf/pdfium/pdfium_mem_buffer_file_write.h b/pdf/pdfium/pdfium_mem_buffer_file_write.h +index 03c54bb63800..82e82d23684d 100644 +--- a/pdf/pdfium/pdfium_mem_buffer_file_write.h ++++ b/pdf/pdfium/pdfium_mem_buffer_file_write.h +@@ -6,6 +6,7 @@ + #define PDF_PDFIUM_PDFIUM_MEM_BUFFER_FILE_WRITE_H_ + + #include <stddef.h> ++#include <stdint.h> + + #include <vector> + +-- +2.19.0 + Deleted: only-disable-cfi-icall-when-use_system_libjpeg-true.patch =================================================================== --- only-disable-cfi-icall-when-use_system_libjpeg-true.patch 2018-10-17 04:48:35 UTC (rev 336779) +++ only-disable-cfi-icall-when-use_system_libjpeg-true.patch 2018-10-17 04:48:46 UTC (rev 336780) @@ -1,34 +0,0 @@ -From 20f81a066ffdf6bd30fb4b696b8b3e101368e2f6 Mon Sep 17 00:00:00 2001 -From: Vlad Tsyrklevich <vtsyrklev...@chromium.org> -Date: Tue, 31 Jul 2018 23:21:09 +0000 -Subject: [PATCH] Only disable cfi-icall when use_system_libjpeg=true - -Bug: 866290 -Change-Id: Ic5d175b3b854665f50781650406d599d09ee9849 -Reviewed-on: https://chromium-review.googlesource.com/1157136 -Reviewed-by: Kentaro Hara <hara...@chromium.org> -Commit-Queue: Vlad Tsyrklevich <vtsyrklev...@chromium.org> -Cr-Commit-Position: refs/heads/master@{#579614} ---- - .../platform/image-decoders/jpeg/jpeg_image_decoder.cc | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc b/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc -index fd4e72ba053c..afa90d83efee 100644 ---- a/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc -+++ b/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc -@@ -643,7 +643,10 @@ class JPEGImageReader final { - IntSize UvSize() const { return uv_size_; } - - private: -- NO_SANITIZE_CFI_ICALL JSAMPARRAY AllocateSampleArray() { -+#if defined(USE_SYSTEM_LIBJPEG) -+ NO_SANITIZE_CFI_ICALL -+#endif -+ JSAMPARRAY AllocateSampleArray() { - // Some output color spaces don't need the sample array: don't allocate in that - // case. - #if defined(TURBO_JPEG_RGB_SWIZZLE) --- -2.18.0 -