[arch-commits] Commit in chromium/repos/extra-x86_64 (20 files)
Evangelos Foutras
foutrelis at archlinux.org
Wed Apr 4 16:38:15 UTC 2018
Date: Wednesday, April 4, 2018 @ 16:38:13
Author: foutrelis
Revision: 320942
archrelease: copy trunk to extra-x86_64
Added:
chromium/repos/extra-x86_64/PKGBUILD
(from rev 320941, chromium/trunk/PKGBUILD)
chromium/repos/extra-x86_64/allow-stat-in-Linux-for-GPU-process-for-a-list-of-files.patch
(from rev 320941, chromium/trunk/allow-stat-in-Linux-for-GPU-process-for-a-list-of-files.patch)
chromium/repos/extra-x86_64/chromium-clang-r2.patch
(from rev 320941, chromium/trunk/chromium-clang-r2.patch)
chromium/repos/extra-x86_64/chromium-math.h-r0.patch
(from rev 320941, chromium/trunk/chromium-math.h-r0.patch)
chromium/repos/extra-x86_64/chromium-skia-harmony.patch
(from rev 320941, chromium/trunk/chromium-skia-harmony.patch)
chromium/repos/extra-x86_64/chromium-stdint.patch
(from rev 320941, chromium/trunk/chromium-stdint.patch)
chromium/repos/extra-x86_64/chromium-widevine.patch
(from rev 320941, chromium/trunk/chromium-widevine.patch)
chromium/repos/extra-x86_64/chromium.install
(from rev 320941, chromium/trunk/chromium.install)
chromium/repos/extra-x86_64/fix-crash-in-is_cfi-true-builds-with-unbundled-ICU.patch
(from rev 320941, chromium/trunk/fix-crash-in-is_cfi-true-builds-with-unbundled-ICU.patch)
chromium/repos/extra-x86_64/fix-frame-buttons-rendering-too-large-when-using-OSX.patch
(from rev 320941, chromium/trunk/fix-frame-buttons-rendering-too-large-when-using-OSX.patch)
chromium/repos/extra-x86_64/send-GSB-before-switching-to-mainthread-scrolling-in.patch
(from rev 320941, chromium/trunk/send-GSB-before-switching-to-mainthread-scrolling-in.patch)
Deleted:
chromium/repos/extra-x86_64/PKGBUILD
chromium/repos/extra-x86_64/allow-stat-in-Linux-for-GPU-process-for-a-list-of-files.patch
chromium/repos/extra-x86_64/chromium-clang-r2.patch
chromium/repos/extra-x86_64/chromium-math.h-r0.patch
chromium/repos/extra-x86_64/chromium-skia-harmony.patch
chromium/repos/extra-x86_64/chromium-stdint.patch
chromium/repos/extra-x86_64/chromium-widevine.patch
chromium/repos/extra-x86_64/chromium.install
chromium/repos/extra-x86_64/fix-crash-in-is_cfi-true-builds-with-unbundled-ICU.patch
---------------------------------------------------------------+
PKGBUILD | 508 +++++-----
allow-stat-in-Linux-for-GPU-process-for-a-list-of-files.patch | 176 +--
chromium-clang-r2.patch | 42
chromium-math.h-r0.patch | 58 -
chromium-skia-harmony.patch | 154 +--
chromium-stdint.patch | 42
chromium-widevine.patch | 20
chromium.install | 32
fix-crash-in-is_cfi-true-builds-with-unbundled-ICU.patch | 106 +-
fix-frame-buttons-rendering-too-large-when-using-OSX.patch | 60 +
send-GSB-before-switching-to-mainthread-scrolling-in.patch | 53 +
11 files changed, 687 insertions(+), 564 deletions(-)
Deleted: PKGBUILD
===================================================================
--- PKGBUILD 2018-04-04 16:37:57 UTC (rev 320941)
+++ PKGBUILD 2018-04-04 16:38:13 UTC (rev 320942)
@@ -1,249 +0,0 @@
-# $Id$
-# Maintainer: Evangelos Foutras <evangelos at foutrelis.com>
-# Contributor: Pierre Schmitz <pierre at archlinux.de>
-# Contributor: Jan "heftig" Steffens <jan.steffens at gmail.com>
-# Contributor: Daniel J Griffiths <ghost1227 at archlinux.us>
-
-pkgname=chromium
-pkgver=65.0.3325.181
-pkgrel=5
-_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')
-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
- chromium-$pkgver.txt::https://chromium.googlesource.com/chromium/src.git/+/$pkgver?format=TEXT
- fix-crash-in-is_cfi-true-builds-with-unbundled-ICU.patch
- allow-stat-in-Linux-for-GPU-process-for-a-list-of-files.patch
- chromium-skia-harmony.patch
- chromium-clang-r2.patch
- chromium-math.h-r0.patch
- chromium-stdint.patch
- chromium-widevine.patch)
-sha256sums=('93666448c6b96ec83e6a35a64cff40db4eb92a154fe1db4e7dab4761d0e38687'
- '04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1'
- '2771c049b66c9aba3b945fe065f2610f164d55506eb5d71751a26aaf8b40d4ee'
- 'e3fb73b43bb8c69ff517e66b2cac73d6e759fd240003eb35598df9af442422fe'
- '4327289866d0b3006de62799ec06b07198a738e50e0a5c2e41ff62dbe00b4a2c'
- 'feca54ab09ac0fc9d0626770a6b899a6ac5a12173c7d0c1005bc3964ec83e7b3'
- '4495e8b29dae242c79ffe4beefc5171eb3c7aacb7e9aebfd2d4d69b9d8c958d3'
- 'fe0ab86aa5b0072db730eccda3e1582ebed4af25815bfd49fe0da24cf63ca902'
- 'c00d2506f1078b38a8ebec474a7318e76a61db1298afb40088a34210f137210f'
- 'd6fdcb922e5a7fbe15759d39ccc8ea4225821c44d98054ce0f23f9d1f00c9808')
-
-# Possible replacements are listed in build/linux/unbundle/replace_gn_files.py
-# Keys are the names in the above script; values are the dependencies in Arch
-declare -gA _system_libs=(
- #[ffmpeg]=ffmpeg # https://crbug.com/731766
- [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 # https://crbug.com/736026
- [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"
-
- # https://crbug.com/710701
- local _chrome_build_hash=$(base64 -d ../chromium-$pkgver.txt |
- grep -Po '^parent \K[0-9a-f]{40}$')
- if [[ -z $_chrome_build_hash ]]; then
- error "Unable to find Chrome build hash."
- return 1
- fi
- echo "LASTCHANGE=$_chrome_build_hash-" >build/util/LASTCHANGE
-
- # Allow building against system libraries in official builds
- sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
- tools/generate_shim_headers/generate_shim_headers.py
-
- # Enable support for the Widevine CDM plugin
- # libwidevinecdm.so is not included, but can be copied over from Chrome
- # (Version string doesn't seem to matter so let's go with "Pinkie Pie")
- sed "s/@WIDEVINE_VERSION@/Pinkie Pie/" ../chromium-widevine.patch |
- patch -Np1
-
- # https://crbug.com/822820
- patch -Np1 -i ../fix-crash-in-is_cfi-true-builds-with-unbundled-ICU.patch
-
- # https://crbug.com/817400
- patch -Np1 -i ../allow-stat-in-Linux-for-GPU-process-for-a-list-of-files.patch
-
- # https://crbug.com/skia/6663#c10
- patch -Np4 -i ../chromium-skia-harmony.patch
-
- # Fixes from Gentoo
- patch -Np1 -i ../chromium-clang-r2.patch
- patch -Np1 -i ../chromium-math.h-r0.patch
- patch -Np1 -i ../chromium-stdint.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 -type f -path "*third_party/$_lib/*" \
- \! -path "*third_party/$_lib/chromium/*" \
- \! -path "*third_party/$_lib/google/*" \
- \! -path './base/third_party/icu/*' \
- \! -path './third_party/pdfium/third_party/freetype/include/pstables.h' \
- \! -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
-
- python2 tools/gn/bootstrap/bootstrap.py -s --no-clean
- out/Release/gn gen out/Release --args="${_flags[*]}" \
- --script-executable=/usr/bin/python2
-
- ninja -C out/Release chrome chrome_sandbox chromedriver widevinecdmadapter
-}
-
-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,libwidevinecdmadapter.so} \
- "$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 320941, chromium/trunk/PKGBUILD)
===================================================================
--- PKGBUILD (rev 0)
+++ PKGBUILD 2018-04-04 16:38:13 UTC (rev 320942)
@@ -0,0 +1,259 @@
+# $Id$
+# Maintainer: Evangelos Foutras <evangelos at foutrelis.com>
+# Contributor: Pierre Schmitz <pierre at archlinux.de>
+# Contributor: Jan "heftig" Steffens <jan.steffens at gmail.com>
+# Contributor: Daniel J Griffiths <ghost1227 at archlinux.us>
+
+pkgname=chromium
+pkgver=65.0.3325.181
+pkgrel=6
+_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')
+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
+ chromium-$pkgver.txt::https://chromium.googlesource.com/chromium/src.git/+/$pkgver?format=TEXT
+ fix-crash-in-is_cfi-true-builds-with-unbundled-ICU.patch
+ allow-stat-in-Linux-for-GPU-process-for-a-list-of-files.patch
+ fix-frame-buttons-rendering-too-large-when-using-OSX.patch
+ send-GSB-before-switching-to-mainthread-scrolling-in.patch
+ chromium-skia-harmony.patch
+ chromium-clang-r2.patch
+ chromium-math.h-r0.patch
+ chromium-stdint.patch
+ chromium-widevine.patch)
+sha256sums=('93666448c6b96ec83e6a35a64cff40db4eb92a154fe1db4e7dab4761d0e38687'
+ '04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1'
+ '2771c049b66c9aba3b945fe065f2610f164d55506eb5d71751a26aaf8b40d4ee'
+ 'e3fb73b43bb8c69ff517e66b2cac73d6e759fd240003eb35598df9af442422fe'
+ '4327289866d0b3006de62799ec06b07198a738e50e0a5c2e41ff62dbe00b4a2c'
+ 'bd5e0e61df3f89172590801aea7c8ac75162c10c7fe83e262e96a14388d1633a'
+ 'b20bb43c89dd1fb5fc787e52b7ef6f4f20714f7d74e33372c0979fe398b5b436'
+ 'feca54ab09ac0fc9d0626770a6b899a6ac5a12173c7d0c1005bc3964ec83e7b3'
+ '4495e8b29dae242c79ffe4beefc5171eb3c7aacb7e9aebfd2d4d69b9d8c958d3'
+ 'fe0ab86aa5b0072db730eccda3e1582ebed4af25815bfd49fe0da24cf63ca902'
+ 'c00d2506f1078b38a8ebec474a7318e76a61db1298afb40088a34210f137210f'
+ 'd6fdcb922e5a7fbe15759d39ccc8ea4225821c44d98054ce0f23f9d1f00c9808')
+
+# Possible replacements are listed in build/linux/unbundle/replace_gn_files.py
+# Keys are the names in the above script; values are the dependencies in Arch
+declare -gA _system_libs=(
+ #[ffmpeg]=ffmpeg # https://crbug.com/731766
+ [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 # https://crbug.com/736026
+ [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"
+
+ # https://crbug.com/710701
+ local _chrome_build_hash=$(base64 -d ../chromium-$pkgver.txt |
+ grep -Po '^parent \K[0-9a-f]{40}$')
+ if [[ -z $_chrome_build_hash ]]; then
+ error "Unable to find Chrome build hash."
+ return 1
+ fi
+ echo "LASTCHANGE=$_chrome_build_hash-" >build/util/LASTCHANGE
+
+ # Allow building against system libraries in official builds
+ sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
+ tools/generate_shim_headers/generate_shim_headers.py
+
+ # Enable support for the Widevine CDM plugin
+ # libwidevinecdm.so is not included, but can be copied over from Chrome
+ # (Version string doesn't seem to matter so let's go with "Pinkie Pie")
+ sed "s/@WIDEVINE_VERSION@/Pinkie Pie/" ../chromium-widevine.patch |
+ patch -Np1
+
+ # https://crbug.com/822820
+ patch -Np1 -i ../fix-crash-in-is_cfi-true-builds-with-unbundled-ICU.patch
+
+ # https://crbug.com/817400
+ patch -Np1 -i ../allow-stat-in-Linux-for-GPU-process-for-a-list-of-files.patch
+
+ # https://crbug.com/821881
+ patch -Np1 -i ../fix-frame-buttons-rendering-too-large-when-using-OSX.patch
+
+ # https://crbug.com/797708
+ patch -Np1 -i ../send-GSB-before-switching-to-mainthread-scrolling-in.patch
+
+ # https://crbug.com/skia/6663#c10
+ patch -Np4 -i ../chromium-skia-harmony.patch
+
+ # Fixes from Gentoo
+ patch -Np1 -i ../chromium-clang-r2.patch
+ patch -Np1 -i ../chromium-math.h-r0.patch
+ patch -Np1 -i ../chromium-stdint.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 -type f -path "*third_party/$_lib/*" \
+ \! -path "*third_party/$_lib/chromium/*" \
+ \! -path "*third_party/$_lib/google/*" \
+ \! -path './base/third_party/icu/*' \
+ \! -path './third_party/pdfium/third_party/freetype/include/pstables.h' \
+ \! -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
+
+ python2 tools/gn/bootstrap/bootstrap.py -s --no-clean
+ out/Release/gn gen out/Release --args="${_flags[*]}" \
+ --script-executable=/usr/bin/python2
+
+ ninja -C out/Release chrome chrome_sandbox chromedriver widevinecdmadapter
+}
+
+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,libwidevinecdmadapter.so} \
+ "$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: allow-stat-in-Linux-for-GPU-process-for-a-list-of-files.patch
===================================================================
--- allow-stat-in-Linux-for-GPU-process-for-a-list-of-files.patch 2018-04-04 16:37:57 UTC (rev 320941)
+++ allow-stat-in-Linux-for-GPU-process-for-a-list-of-files.patch 2018-04-04 16:38:13 UTC (rev 320942)
@@ -1,88 +0,0 @@
-From 6b1b6d3a8555075e23cca89335e855d55f35fba9 Mon Sep 17 00:00:00 2001
-From: Zhenyao Mo <zmo at chromium.org>
-Date: Thu, 29 Mar 2018 23:48:19 +0000
-Subject: [PATCH] Allow `stat` in Linux for GPU process for a list of files.
-
-This is to unblock certain NVidia driver's glReadPixels calls in the sandboxed
-GPU process.
-
-Note that the needed file /dev/nvidiactl is already in the list for read/write.
-
-BUG=817400
-TEST=manual
-R=tsepez at chromium.org
-
-Change-Id: I9074a8335a9c4df1487f5a288d5e284bbedf67c3
-Reviewed-on: https://chromium-review.googlesource.com/965462
-Reviewed-by: Zhenyao Mo <zmo at chromium.org>
-Reviewed-by: Tom Sepez <tsepez at chromium.org>
-Reviewed-by: Robert Sesek <rsesek at chromium.org>
-Reviewed-by: Kenneth Russell <kbr at chromium.org>
-Commit-Queue: Zhenyao Mo <zmo at chromium.org>
-Cr-Commit-Position: refs/heads/master@{#547027}
----
- content/gpu/gpu_sandbox_hook_linux.cc | 5 ++++-
- .../service_manager/sandbox/linux/bpf_gpu_policy_linux.cc | 15 ++++++++++++++-
- 2 files changed, 18 insertions(+), 2 deletions(-)
-
-diff --git a/content/gpu/gpu_sandbox_hook_linux.cc b/content/gpu/gpu_sandbox_hook_linux.cc
-index ddd7b99485fe..cd914e2f9926 100644
---- a/content/gpu/gpu_sandbox_hook_linux.cc
-+++ b/content/gpu/gpu_sandbox_hook_linux.cc
-@@ -153,6 +153,7 @@ void AddStandardGpuWhiteList(std::vector<BrokerFilePermission>* permissions) {
- static const char kDriCardBasePath[] = "/dev/dri/card";
- static const char kNvidiaCtlPath[] = "/dev/nvidiactl";
- static const char kNvidiaDeviceBasePath[] = "/dev/nvidia";
-+ static const char kNvidiaDeviceModeSetPath[] = "/dev/nvidia-modeset";
- static const char kNvidiaParamsPath[] = "/proc/driver/nvidia/params";
- static const char kDevShm[] = "/dev/shm/";
-
-@@ -172,6 +173,8 @@ void AddStandardGpuWhiteList(std::vector<BrokerFilePermission>* permissions) {
- permissions->push_back(BrokerFilePermission::ReadWrite(
- base::StringPrintf("%s%d", kNvidiaDeviceBasePath, i)));
- }
-+ permissions->push_back(
-+ BrokerFilePermission::ReadWrite(kNvidiaDeviceModeSetPath));
- permissions->push_back(BrokerFilePermission::ReadOnly(kNvidiaParamsPath));
- }
-
-@@ -262,9 +265,9 @@ sandbox::syscall_broker::BrokerCommandSet CommandSetForGPU(
- sandbox::syscall_broker::BrokerCommandSet command_set;
- command_set.set(sandbox::syscall_broker::COMMAND_ACCESS);
- command_set.set(sandbox::syscall_broker::COMMAND_OPEN);
-+ command_set.set(sandbox::syscall_broker::COMMAND_STAT);
- if (IsChromeOS() && options.use_amd_specific_policies) {
- command_set.set(sandbox::syscall_broker::COMMAND_READLINK);
-- command_set.set(sandbox::syscall_broker::COMMAND_STAT);
- }
- return command_set;
- }
-diff --git a/services/service_manager/sandbox/linux/bpf_gpu_policy_linux.cc b/services/service_manager/sandbox/linux/bpf_gpu_policy_linux.cc
-index bc16952c0898..d683aacc76f4 100644
---- a/services/service_manager/sandbox/linux/bpf_gpu_policy_linux.cc
-+++ b/services/service_manager/sandbox/linux/bpf_gpu_policy_linux.cc
-@@ -61,7 +61,20 @@ ResultExpr GpuProcessPolicy::EvaluateSyscall(int sysno) const {
- case __NR_open:
- #endif // !defined(__aarch64__)
- case __NR_faccessat:
-- case __NR_openat: {
-+ case __NR_openat:
-+#if defined(__NR_stat)
-+ case __NR_stat:
-+#endif
-+#if defined(__NR_stat64)
-+ case __NR_stat64:
-+#endif
-+#if defined(__NR_fstatat)
-+ case __NR_fstatat:
-+#endif
-+#if defined(__NR_newfstatat)
-+ case __NR_newfstatat:
-+#endif
-+ {
- auto* broker_process = SandboxLinux::GetInstance()->broker_process();
- DCHECK(broker_process);
- return Trap(BrokerProcess::SIGSYS_Handler, broker_process);
---
-2.16.2
-
Copied: chromium/repos/extra-x86_64/allow-stat-in-Linux-for-GPU-process-for-a-list-of-files.patch (from rev 320941, chromium/trunk/allow-stat-in-Linux-for-GPU-process-for-a-list-of-files.patch)
===================================================================
--- allow-stat-in-Linux-for-GPU-process-for-a-list-of-files.patch (rev 0)
+++ allow-stat-in-Linux-for-GPU-process-for-a-list-of-files.patch 2018-04-04 16:38:13 UTC (rev 320942)
@@ -0,0 +1,88 @@
+From 6b1b6d3a8555075e23cca89335e855d55f35fba9 Mon Sep 17 00:00:00 2001
+From: Zhenyao Mo <zmo at chromium.org>
+Date: Thu, 29 Mar 2018 23:48:19 +0000
+Subject: [PATCH] Allow `stat` in Linux for GPU process for a list of files.
+
+This is to unblock certain NVidia driver's glReadPixels calls in the sandboxed
+GPU process.
+
+Note that the needed file /dev/nvidiactl is already in the list for read/write.
+
+BUG=817400
+TEST=manual
+R=tsepez at chromium.org
+
+Change-Id: I9074a8335a9c4df1487f5a288d5e284bbedf67c3
+Reviewed-on: https://chromium-review.googlesource.com/965462
+Reviewed-by: Zhenyao Mo <zmo at chromium.org>
+Reviewed-by: Tom Sepez <tsepez at chromium.org>
+Reviewed-by: Robert Sesek <rsesek at chromium.org>
+Reviewed-by: Kenneth Russell <kbr at chromium.org>
+Commit-Queue: Zhenyao Mo <zmo at chromium.org>
+Cr-Commit-Position: refs/heads/master@{#547027}
+---
+ content/gpu/gpu_sandbox_hook_linux.cc | 5 ++++-
+ .../service_manager/sandbox/linux/bpf_gpu_policy_linux.cc | 15 ++++++++++++++-
+ 2 files changed, 18 insertions(+), 2 deletions(-)
+
+diff --git a/content/gpu/gpu_sandbox_hook_linux.cc b/content/gpu/gpu_sandbox_hook_linux.cc
+index ddd7b99485fe..cd914e2f9926 100644
+--- a/content/gpu/gpu_sandbox_hook_linux.cc
++++ b/content/gpu/gpu_sandbox_hook_linux.cc
+@@ -153,6 +153,7 @@ void AddStandardGpuWhiteList(std::vector<BrokerFilePermission>* permissions) {
+ static const char kDriCardBasePath[] = "/dev/dri/card";
+ static const char kNvidiaCtlPath[] = "/dev/nvidiactl";
+ static const char kNvidiaDeviceBasePath[] = "/dev/nvidia";
++ static const char kNvidiaDeviceModeSetPath[] = "/dev/nvidia-modeset";
+ static const char kNvidiaParamsPath[] = "/proc/driver/nvidia/params";
+ static const char kDevShm[] = "/dev/shm/";
+
+@@ -172,6 +173,8 @@ void AddStandardGpuWhiteList(std::vector<BrokerFilePermission>* permissions) {
+ permissions->push_back(BrokerFilePermission::ReadWrite(
+ base::StringPrintf("%s%d", kNvidiaDeviceBasePath, i)));
+ }
++ permissions->push_back(
++ BrokerFilePermission::ReadWrite(kNvidiaDeviceModeSetPath));
+ permissions->push_back(BrokerFilePermission::ReadOnly(kNvidiaParamsPath));
+ }
+
+@@ -262,9 +265,9 @@ sandbox::syscall_broker::BrokerCommandSet CommandSetForGPU(
+ sandbox::syscall_broker::BrokerCommandSet command_set;
+ command_set.set(sandbox::syscall_broker::COMMAND_ACCESS);
+ command_set.set(sandbox::syscall_broker::COMMAND_OPEN);
++ command_set.set(sandbox::syscall_broker::COMMAND_STAT);
+ if (IsChromeOS() && options.use_amd_specific_policies) {
+ command_set.set(sandbox::syscall_broker::COMMAND_READLINK);
+- command_set.set(sandbox::syscall_broker::COMMAND_STAT);
+ }
+ return command_set;
+ }
+diff --git a/services/service_manager/sandbox/linux/bpf_gpu_policy_linux.cc b/services/service_manager/sandbox/linux/bpf_gpu_policy_linux.cc
+index bc16952c0898..d683aacc76f4 100644
+--- a/services/service_manager/sandbox/linux/bpf_gpu_policy_linux.cc
++++ b/services/service_manager/sandbox/linux/bpf_gpu_policy_linux.cc
+@@ -61,7 +61,20 @@ ResultExpr GpuProcessPolicy::EvaluateSyscall(int sysno) const {
+ case __NR_open:
+ #endif // !defined(__aarch64__)
+ case __NR_faccessat:
+- case __NR_openat: {
++ case __NR_openat:
++#if defined(__NR_stat)
++ case __NR_stat:
++#endif
++#if defined(__NR_stat64)
++ case __NR_stat64:
++#endif
++#if defined(__NR_fstatat)
++ case __NR_fstatat:
++#endif
++#if defined(__NR_newfstatat)
++ case __NR_newfstatat:
++#endif
++ {
+ auto* broker_process = SandboxLinux::GetInstance()->broker_process();
+ DCHECK(broker_process);
+ return Trap(BrokerProcess::SIGSYS_Handler, broker_process);
+--
+2.16.2
+
Deleted: chromium-clang-r2.patch
===================================================================
--- chromium-clang-r2.patch 2018-04-04 16:37:57 UTC (rev 320941)
+++ chromium-clang-r2.patch 2018-04-04 16:38:13 UTC (rev 320942)
@@ -1,21 +0,0 @@
---- a/build/config/compiler/BUILD.gn
-+++ b/build/config/compiler/BUILD.gn
-@@ -422,18 +422,6 @@
- cflags += [ "-fcolor-diagnostics" ]
- }
-
-- # TODO(hans): Remove this once Clang generates better optimized debug info by
-- # default. https://crbug.com/765793
-- if (is_clang && !is_nacl && current_toolchain == host_toolchain &&
-- target_os != "chromeos") {
-- cflags += [
-- "-Xclang",
-- "-mllvm",
-- "-Xclang",
-- "-instcombine-lower-dbg-declare=0",
-- ]
-- }
--
- # Print absolute paths in diagnostics. There is no precedent for doing this
- # on Linux/Mac (GCC doesn't support it), but MSVC does this with /FC and
- # Windows developers rely on it (crbug.com/636109) so only do this on Windows.
Copied: chromium/repos/extra-x86_64/chromium-clang-r2.patch (from rev 320941, chromium/trunk/chromium-clang-r2.patch)
===================================================================
--- chromium-clang-r2.patch (rev 0)
+++ chromium-clang-r2.patch 2018-04-04 16:38:13 UTC (rev 320942)
@@ -0,0 +1,21 @@
+--- a/build/config/compiler/BUILD.gn
++++ b/build/config/compiler/BUILD.gn
+@@ -422,18 +422,6 @@
+ cflags += [ "-fcolor-diagnostics" ]
+ }
+
+- # TODO(hans): Remove this once Clang generates better optimized debug info by
+- # default. https://crbug.com/765793
+- if (is_clang && !is_nacl && current_toolchain == host_toolchain &&
+- target_os != "chromeos") {
+- cflags += [
+- "-Xclang",
+- "-mllvm",
+- "-Xclang",
+- "-instcombine-lower-dbg-declare=0",
+- ]
+- }
+-
+ # Print absolute paths in diagnostics. There is no precedent for doing this
+ # on Linux/Mac (GCC doesn't support it), but MSVC does this with /FC and
+ # Windows developers rely on it (crbug.com/636109) so only do this on Windows.
Deleted: chromium-math.h-r0.patch
===================================================================
--- chromium-math.h-r0.patch 2018-04-04 16:37:57 UTC (rev 320941)
+++ chromium-math.h-r0.patch 2018-04-04 16:38:13 UTC (rev 320942)
@@ -1,29 +0,0 @@
-From 9f63f94a11abc34d40ede8b8712fa15b5844a8c0 Mon Sep 17 00:00:00 2001
-From: Tom Anderson <thomasanderson at chromium.org>
-Date: Sat, 27 Jan 2018 20:03:37 +0000
-Subject: [PATCH] Fix build with glibc 2.27
-
-BUG=806340
-TBR=hamelphi at chromium.org
-
-Change-Id: Ib4e5091212d874d9ad88f3e9a1fdfee3ed7e0d5e
-Reviewed-on: https://chromium-review.googlesource.com/890059
-Reviewed-by: Thomas Anderson <thomasanderson at chromium.org>
-Reviewed-by: Philippe Hamel <hamelphi at chromium.org>
-Commit-Queue: Thomas Anderson <thomasanderson at chromium.org>
-Cr-Commit-Position: refs/heads/master@{#532249}
----
-
-diff --git a/components/assist_ranker/ranker_example_util.cc b/components/assist_ranker/ranker_example_util.cc
-index 54d4dbd..ceedd8f 100644
---- a/components/assist_ranker/ranker_example_util.cc
-+++ b/components/assist_ranker/ranker_example_util.cc
-@@ -2,6 +2,8 @@
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
-
-+#include <math.h>
-+
- #include "components/assist_ranker/ranker_example_util.h"
- #include "base/bit_cast.h"
- #include "base/format_macros.h"
Copied: chromium/repos/extra-x86_64/chromium-math.h-r0.patch (from rev 320941, chromium/trunk/chromium-math.h-r0.patch)
===================================================================
--- chromium-math.h-r0.patch (rev 0)
+++ chromium-math.h-r0.patch 2018-04-04 16:38:13 UTC (rev 320942)
@@ -0,0 +1,29 @@
+From 9f63f94a11abc34d40ede8b8712fa15b5844a8c0 Mon Sep 17 00:00:00 2001
+From: Tom Anderson <thomasanderson at chromium.org>
+Date: Sat, 27 Jan 2018 20:03:37 +0000
+Subject: [PATCH] Fix build with glibc 2.27
+
+BUG=806340
+TBR=hamelphi at chromium.org
+
+Change-Id: Ib4e5091212d874d9ad88f3e9a1fdfee3ed7e0d5e
+Reviewed-on: https://chromium-review.googlesource.com/890059
+Reviewed-by: Thomas Anderson <thomasanderson at chromium.org>
+Reviewed-by: Philippe Hamel <hamelphi at chromium.org>
+Commit-Queue: Thomas Anderson <thomasanderson at chromium.org>
+Cr-Commit-Position: refs/heads/master@{#532249}
+---
+
+diff --git a/components/assist_ranker/ranker_example_util.cc b/components/assist_ranker/ranker_example_util.cc
+index 54d4dbd..ceedd8f 100644
+--- a/components/assist_ranker/ranker_example_util.cc
++++ b/components/assist_ranker/ranker_example_util.cc
+@@ -2,6 +2,8 @@
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+
++#include <math.h>
++
+ #include "components/assist_ranker/ranker_example_util.h"
+ #include "base/bit_cast.h"
+ #include "base/format_macros.h"
Deleted: chromium-skia-harmony.patch
===================================================================
--- chromium-skia-harmony.patch 2018-04-04 16:37:57 UTC (rev 320941)
+++ chromium-skia-harmony.patch 2018-04-04 16:38:13 UTC (rev 320942)
@@ -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 320941, chromium/trunk/chromium-skia-harmony.patch)
===================================================================
--- chromium-skia-harmony.patch (rev 0)
+++ chromium-skia-harmony.patch 2018-04-04 16:38:13 UTC (rev 320942)
@@ -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-stdint.patch
===================================================================
--- chromium-stdint.patch 2018-04-04 16:37:57 UTC (rev 320941)
+++ chromium-stdint.patch 2018-04-04 16:38:13 UTC (rev 320942)
@@ -1,21 +0,0 @@
-From 0235c2b657d936f3cdb09053776e5929fc84704b Mon Sep 17 00:00:00 2001
-From: Tomas Popela <tomas.popela at gmail.com>
-Date: Wed, 31 Jan 2018 18:57:07 +0000
-Subject: [PATCH] Add missing stdint include
-
-diff --git a/chrome/browser/vr/sample_queue.cc b/chrome/browser/vr/sample_queue.cc
-index c2ca777ce90c..53cb3aab1576 100644
---- a/chrome/browser/vr/sample_queue.cc
-+++ b/chrome/browser/vr/sample_queue.cc
-@@ -2,6 +2,8 @@
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
-
-+#include <stdint.h>
-+
- #include "chrome/browser/vr/sample_queue.h"
-
- namespace vr {
---
-2.16.2
-
Copied: chromium/repos/extra-x86_64/chromium-stdint.patch (from rev 320941, chromium/trunk/chromium-stdint.patch)
===================================================================
--- chromium-stdint.patch (rev 0)
+++ chromium-stdint.patch 2018-04-04 16:38:13 UTC (rev 320942)
@@ -0,0 +1,21 @@
+From 0235c2b657d936f3cdb09053776e5929fc84704b Mon Sep 17 00:00:00 2001
+From: Tomas Popela <tomas.popela at gmail.com>
+Date: Wed, 31 Jan 2018 18:57:07 +0000
+Subject: [PATCH] Add missing stdint include
+
+diff --git a/chrome/browser/vr/sample_queue.cc b/chrome/browser/vr/sample_queue.cc
+index c2ca777ce90c..53cb3aab1576 100644
+--- a/chrome/browser/vr/sample_queue.cc
++++ b/chrome/browser/vr/sample_queue.cc
+@@ -2,6 +2,8 @@
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+
++#include <stdint.h>
++
+ #include "chrome/browser/vr/sample_queue.h"
+
+ namespace vr {
+--
+2.16.2
+
Deleted: chromium-widevine.patch
===================================================================
--- chromium-widevine.patch 2018-04-04 16:37:57 UTC (rev 320941)
+++ chromium-widevine.patch 2018-04-04 16:38:13 UTC (rev 320942)
@@ -1,10 +0,0 @@
-diff -upr chromium-48.0.2564.82.orig/third_party/widevine/cdm/stub/widevine_cdm_version.h chromium-48.0.2564.82/third_party/widevine/cdm/stub/widevine_cdm_version.h
---- chromium-48.0.2564.82.orig/third_party/widevine/cdm/stub/widevine_cdm_version.h 2016-01-14 01:05:17.000000000 +0200
-+++ chromium-48.0.2564.82/third_party/widevine/cdm/stub/widevine_cdm_version.h 2016-01-21 19:18:51.287978456 +0200
-@@ -12,4 +12,6 @@
-
- #define WIDEVINE_CDM_AVAILABLE
-
-+#define WIDEVINE_CDM_VERSION_STRING "@WIDEVINE_VERSION@"
-+
- #endif // WIDEVINE_CDM_VERSION_H_
Copied: chromium/repos/extra-x86_64/chromium-widevine.patch (from rev 320941, chromium/trunk/chromium-widevine.patch)
===================================================================
--- chromium-widevine.patch (rev 0)
+++ chromium-widevine.patch 2018-04-04 16:38:13 UTC (rev 320942)
@@ -0,0 +1,10 @@
+diff -upr chromium-48.0.2564.82.orig/third_party/widevine/cdm/stub/widevine_cdm_version.h chromium-48.0.2564.82/third_party/widevine/cdm/stub/widevine_cdm_version.h
+--- chromium-48.0.2564.82.orig/third_party/widevine/cdm/stub/widevine_cdm_version.h 2016-01-14 01:05:17.000000000 +0200
++++ chromium-48.0.2564.82/third_party/widevine/cdm/stub/widevine_cdm_version.h 2016-01-21 19:18:51.287978456 +0200
+@@ -12,4 +12,6 @@
+
+ #define WIDEVINE_CDM_AVAILABLE
+
++#define WIDEVINE_CDM_VERSION_STRING "@WIDEVINE_VERSION@"
++
+ #endif // WIDEVINE_CDM_VERSION_H_
Deleted: chromium.install
===================================================================
--- chromium.install 2018-04-04 16:37:57 UTC (rev 320941)
+++ chromium.install 2018-04-04 16:38:13 UTC (rev 320942)
@@ -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 320941, chromium/trunk/chromium.install)
===================================================================
--- chromium.install (rev 0)
+++ chromium.install 2018-04-04 16:38:13 UTC (rev 320942)
@@ -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-crash-in-is_cfi-true-builds-with-unbundled-ICU.patch
===================================================================
--- fix-crash-in-is_cfi-true-builds-with-unbundled-ICU.patch 2018-04-04 16:37:57 UTC (rev 320941)
+++ fix-crash-in-is_cfi-true-builds-with-unbundled-ICU.patch 2018-04-04 16:38:13 UTC (rev 320942)
@@ -1,53 +0,0 @@
-From f15e8b573ada0fcd643ae393484214b1c7c940f8 Mon Sep 17 00:00:00 2001
-From: Evangelos Foutras <evangelos at foutrelis.com>
-Date: Sat, 24 Mar 2018 00:04:33 +0000
-Subject: [PATCH] Fix crash in is_cfi=true builds with unbundled ICU
-
-Ensure ICU symbols have public visibility and are thus excluded from CFI
-checks and whole-program optimization. The former caused a startup crash
-and the latter has the potential to break virtual calls in weird ways.
-
-BUG=822820
-
-Change-Id: Ia809eefcb9e93b3c612f2381d394db83bbc67120
-Reviewed-on: https://chromium-review.googlesource.com/978008
-Reviewed-by: Peter Collingbourne <pcc at chromium.org>
-Reviewed-by: Thomas Anderson <thomasanderson at chromium.org>
-Commit-Queue: Thomas Anderson <thomasanderson at chromium.org>
-Cr-Commit-Position: refs/heads/master@{#545638}
----
- build/linux/unbundle/icu.gn | 18 ++++++++++++++++++
- 1 file changed, 18 insertions(+)
-
-diff --git a/build/linux/unbundle/icu.gn b/build/linux/unbundle/icu.gn
-index 5bdd91555df7..4450e409dba5 100644
---- a/build/linux/unbundle/icu.gn
-+++ b/build/linux/unbundle/icu.gn
-@@ -17,6 +17,24 @@ config("icu_config") {
- "USING_SYSTEM_ICU=1",
- "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC",
- "UCHAR_TYPE=uint16_t",
-+
-+ # U_EXPORT (defined in unicode/platform.h) is used to set public visibility
-+ # on classes through the U_COMMON_API and U_I18N_API macros (among others).
-+ # When linking against the system ICU library, we want its symbols to have
-+ # public LTO visibility. This disables CFI checks for the ICU classes and
-+ # allows whole-program optimization to be applied to the rest of Chromium.
-+ #
-+ # Both U_COMMON_API and U_I18N_API macros would be defined to U_EXPORT only
-+ # when U_COMBINED_IMPLEMENTATION is defined (see unicode/utypes.h). Because
-+ # we override the default system UCHAR_TYPE (char16_t), it is not possible
-+ # to use U_COMBINED_IMPLEMENTATION at this moment, meaning the U_COMMON_API
-+ # and U_I18N_API macros are set to U_IMPORT which is an empty definition.
-+ #
-+ # Until building with UCHAR_TYPE=char16_t is supported, one way to apply
-+ # public visibility (and thus public LTO visibility) to all ICU classes is
-+ # to define U_IMPORT to have the same value as U_EXPORT. For more details,
-+ # please see: https://crbug.com/822820
-+ "U_IMPORT=U_EXPORT",
- ]
- }
-
---
-2.16.3
-
Copied: chromium/repos/extra-x86_64/fix-crash-in-is_cfi-true-builds-with-unbundled-ICU.patch (from rev 320941, chromium/trunk/fix-crash-in-is_cfi-true-builds-with-unbundled-ICU.patch)
===================================================================
--- fix-crash-in-is_cfi-true-builds-with-unbundled-ICU.patch (rev 0)
+++ fix-crash-in-is_cfi-true-builds-with-unbundled-ICU.patch 2018-04-04 16:38:13 UTC (rev 320942)
@@ -0,0 +1,53 @@
+From f15e8b573ada0fcd643ae393484214b1c7c940f8 Mon Sep 17 00:00:00 2001
+From: Evangelos Foutras <evangelos at foutrelis.com>
+Date: Sat, 24 Mar 2018 00:04:33 +0000
+Subject: [PATCH] Fix crash in is_cfi=true builds with unbundled ICU
+
+Ensure ICU symbols have public visibility and are thus excluded from CFI
+checks and whole-program optimization. The former caused a startup crash
+and the latter has the potential to break virtual calls in weird ways.
+
+BUG=822820
+
+Change-Id: Ia809eefcb9e93b3c612f2381d394db83bbc67120
+Reviewed-on: https://chromium-review.googlesource.com/978008
+Reviewed-by: Peter Collingbourne <pcc at chromium.org>
+Reviewed-by: Thomas Anderson <thomasanderson at chromium.org>
+Commit-Queue: Thomas Anderson <thomasanderson at chromium.org>
+Cr-Commit-Position: refs/heads/master@{#545638}
+---
+ build/linux/unbundle/icu.gn | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+
+diff --git a/build/linux/unbundle/icu.gn b/build/linux/unbundle/icu.gn
+index 5bdd91555df7..4450e409dba5 100644
+--- a/build/linux/unbundle/icu.gn
++++ b/build/linux/unbundle/icu.gn
+@@ -17,6 +17,24 @@ config("icu_config") {
+ "USING_SYSTEM_ICU=1",
+ "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC",
+ "UCHAR_TYPE=uint16_t",
++
++ # U_EXPORT (defined in unicode/platform.h) is used to set public visibility
++ # on classes through the U_COMMON_API and U_I18N_API macros (among others).
++ # When linking against the system ICU library, we want its symbols to have
++ # public LTO visibility. This disables CFI checks for the ICU classes and
++ # allows whole-program optimization to be applied to the rest of Chromium.
++ #
++ # Both U_COMMON_API and U_I18N_API macros would be defined to U_EXPORT only
++ # when U_COMBINED_IMPLEMENTATION is defined (see unicode/utypes.h). Because
++ # we override the default system UCHAR_TYPE (char16_t), it is not possible
++ # to use U_COMBINED_IMPLEMENTATION at this moment, meaning the U_COMMON_API
++ # and U_I18N_API macros are set to U_IMPORT which is an empty definition.
++ #
++ # Until building with UCHAR_TYPE=char16_t is supported, one way to apply
++ # public visibility (and thus public LTO visibility) to all ICU classes is
++ # to define U_IMPORT to have the same value as U_EXPORT. For more details,
++ # please see: https://crbug.com/822820
++ "U_IMPORT=U_EXPORT",
+ ]
+ }
+
+--
+2.16.3
+
Copied: chromium/repos/extra-x86_64/fix-frame-buttons-rendering-too-large-when-using-OSX.patch (from rev 320941, chromium/trunk/fix-frame-buttons-rendering-too-large-when-using-OSX.patch)
===================================================================
--- fix-frame-buttons-rendering-too-large-when-using-OSX.patch (rev 0)
+++ fix-frame-buttons-rendering-too-large-when-using-OSX.patch 2018-04-04 16:38:13 UTC (rev 320942)
@@ -0,0 +1,60 @@
+From 7ef426c221d11b53b6de507b398e35e8d7b3cc94 Mon Sep 17 00:00:00 2001
+From: Tom Anderson <thomasanderson at chromium.org>
+Date: Wed, 4 Apr 2018 01:23:26 +0000
+Subject: [PATCH] Fix frame buttons rendering too large when using
+ OSX-Arc-White GTK theme
+
+The check for GTK 3.20 was incorrect as the issue it was trying to fix
+was still occurring on GTK 3.20+ systems. This CL adds the correct,
+but more complex, check.
+
+Verified on these configurations:
+{GTK 3.18, GTK 3.22} X
+{Breeze, Adwaita, OSX-Arc-White, Greybird} X
+{scale=1, scale=2} X
+{fullscreen, restored}
+
+BUG=821881
+R=thestig
+
+Change-Id: I05afa35c1452a46a1abf4c39191a13657bfd8e2c
+Reviewed-on: https://chromium-review.googlesource.com/990717
+Reviewed-by: Lei Zhang <thestig at chromium.org>
+Commit-Queue: Thomas Anderson <thomasanderson at chromium.org>
+Cr-Commit-Position: refs/heads/master@{#547921}
+---
+ chrome/browser/ui/libgtkui/nav_button_provider_gtk3.cc | 18 +++++++++++++++++-
+ 1 file changed, 17 insertions(+), 1 deletion(-)
+
+diff --git a/chrome/browser/ui/libgtkui/nav_button_provider_gtk3.cc b/chrome/browser/ui/libgtkui/nav_button_provider_gtk3.cc
+index 31a8087bca11..6a09faec5dd2 100644
+--- a/chrome/browser/ui/libgtkui/nav_button_provider_gtk3.cc
++++ b/chrome/browser/ui/libgtkui/nav_button_provider_gtk3.cc
+@@ -213,7 +213,23 @@ class NavButtonImageSource : public gfx::ImageSkiaSource {
+ // is not scaled for the (unexpected) smaller button size, and the button's
+ // edges appear cut off. To fix this, manually set the background to scale
+ // to the button size when it would have clipped.
+- if (GtkVersionCheck(3, 20)) {
++ //
++ // GTK's "contain" is unlike CSS's "contain". In CSS, the image would only
++ // be downsized when it would have clipped. In GTK, the image is always
++ // scaled to fit the drawing region (preserving aspect ratio). Only add
++ // "contain" if clipping would occur.
++ cairo_pattern_t* cr_pattern = nullptr;
++ cairo_surface_t* cr_surface = nullptr;
++ gtk_style_context_get(button_context, button_state,
++ GTK_STYLE_PROPERTY_BACKGROUND_IMAGE, &cr_pattern,
++ nullptr);
++ if (cr_pattern &&
++ cairo_pattern_get_surface(cr_pattern, &cr_surface) ==
++ CAIRO_STATUS_SUCCESS &&
++ cr_surface &&
++ cairo_surface_get_type(cr_surface) == CAIRO_SURFACE_TYPE_IMAGE &&
++ (cairo_image_surface_get_width(cr_surface) > button_size_.width() ||
++ cairo_image_surface_get_height(cr_surface) > button_size_.height())) {
+ ApplyCssToContext(button_context,
+ ".titlebutton { background-size: contain; }");
+ }
+--
+2.16.2
+
Copied: chromium/repos/extra-x86_64/send-GSB-before-switching-to-mainthread-scrolling-in.patch (from rev 320941, chromium/trunk/send-GSB-before-switching-to-mainthread-scrolling-in.patch)
===================================================================
--- send-GSB-before-switching-to-mainthread-scrolling-in.patch (rev 0)
+++ send-GSB-before-switching-to-mainthread-scrolling-in.patch 2018-04-04 16:38:13 UTC (rev 320942)
@@ -0,0 +1,53 @@
+From 5d5a062fac6f567cd8f8b2ef7e894e7623f8013e Mon Sep 17 00:00:00 2001
+From: Sahel Sharify <sahel at chromium.org>
+Date: Thu, 15 Mar 2018 17:30:49 +0000
+Subject: [PATCH] Send GSB before switching to mainthread scrolling in smooth
+ scroll path.
+
+This cl is the equivalent of https://codereview.chromium.org/2854683002 fix for smooth scrolling
+path,if the compositor handles the GSB and during the scrolling we have to switch to main thread
+since the compositor cannot handle a GSU a GSB must be sent to the main thread since the original
+GSB was handled on the compositor rather than being sent to the main thread.
+
+touchpad-scroll-impl-to-main.html is the test that forces switch from compositor thread to main
+thread in the middle of scrolling. It used to get executed with --disable-smooth-scrolling
+in this cl I've moved the test to a new virtual test suite that has default scroll animation
+value.
+
+I have removed the test expectations since I have changed the test and this might fix the flake.
+
+subpixel-accumulation.html needs scroll animation to be disabled and that's why I had to move it to
+a new test suite.
+
+Bug: 820979, 708499, 757165, 800840
+Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
+Change-Id: I21b1f4285897d74559f6827e6a232f007dc897b0
+Reviewed-on: https://chromium-review.googlesource.com/961264
+Commit-Queue: Sahel Sharifymoghaddam <sahel at chromium.org>
+Reviewed-by: Timothy Dresser <tdresser at chromium.org>
+Cr-Commit-Position: refs/heads/master@{#543425}
+---
+ ui/events/blink/input_handler_proxy.cc | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/ui/events/blink/input_handler_proxy.cc b/ui/events/blink/input_handler_proxy.cc
+index e9dd50253458..6d77910839f4 100644
+--- a/ui/events/blink/input_handler_proxy.cc
++++ b/ui/events/blink/input_handler_proxy.cc
+@@ -765,7 +765,12 @@ InputHandlerProxy::HandleGestureScrollUpdate(
+ return DID_HANDLE;
+ case cc::InputHandler::SCROLL_IGNORED:
+ return DROP_EVENT;
+- default:
++ case cc::InputHandler::SCROLL_ON_MAIN_THREAD:
++ case cc::InputHandler::SCROLL_UNKNOWN:
++ if (input_handler_->ScrollingShouldSwitchtoMainThread()) {
++ gesture_scroll_on_impl_thread_ = false;
++ client_->GenerateScrollBeginAndSendToMainThread(gesture_event);
++ }
+ return DID_NOT_HANDLE;
+ }
+ }
+--
+2.16.2
+
More information about the arch-commits
mailing list