diff --git a/extra/chromium/PKGBUILD b/extra/chromium/PKGBUILD index 5a50385a9..b900b1fd4 100644 --- a/extra/chromium/PKGBUILD +++ b/extra/chromium/PKGBUILD @@ -14,8 +14,8 @@ highmem=1 pkgname=chromium pkgver=65.0.3325.181 -pkgrel=3 -_launcher_ver=5 +pkgrel=4 +_launcher_ver=6 pkgdesc="A web browser built for speed, simplicity, and security" arch=('i686' 'x86_64' 'armv7h' 'aarch64') url="https://www.chromium.org/Home" @@ -23,7 +23,7 @@ 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=('python2' 'gperf' 'yasm' 'mesa' 'ninja' 'nodejs' 'git') +makedepends=('python' 'python2' 'gperf' 'yasm' 'mesa' 'ninja' 'nodejs' 'git') optdepends=('kdialog: needed for file dialogs in KDE' 'gnome-keyring: for storing passwords in GNOME keyring' 'kwallet: for storing passwords in KWallet') @@ -49,7 +49,7 @@ source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgn 0010-cleanup-how-ConfigurationPolicyProviders-are-set.patch skia_buildfix.patch) sha256sums=('93666448c6b96ec83e6a35a64cff40db4eb92a154fe1db4e7dab4761d0e38687' - '4dc3428f2c927955d9ae117f2fb24d098cc6dd67adb760ac9c82b522ec8b0587' + '04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1' '2771c049b66c9aba3b945fe065f2610f164d55506eb5d71751a26aaf8b40d4ee' 'e3fb73b43bb8c69ff517e66b2cac73d6e759fd240003eb35598df9af442422fe' 'feca54ab09ac0fc9d0626770a6b899a6ac5a12173c7d0c1005bc3964ec83e7b3' @@ -117,6 +117,10 @@ prepare() { 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 + # Arch Linux ARM fixes patch -Np1 -i ../0001-ARM-toolchain-fixes.patch patch -Np1 -i ../0002-GCC-build-fix-mark-is_trivially_copy_constructible-f.patch @@ -149,12 +153,8 @@ prepare() { patch -Np1 -i ../chromium-math.h-r0.patch patch -Np1 -i ../chromium-stdint.patch - # Use Python 2 - find . -name '*.py' -exec sed -i -r 's|/usr/bin/python$|&2|g' {} + - - # There are still a lot of relative calls which need a workaround - mkdir "$srcdir/python2-path" - ln -s /usr/bin/python2 "$srcdir/python2-path/python" + # 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/ @@ -188,13 +188,10 @@ build() { export CCACHE_SLOPPINESS=time_macros fi - export PATH="$srcdir/python2-path:$PATH" - export TMPDIR="$srcdir/temp" - mkdir -p "$TMPDIR" - local _flags=( 'is_clang=false' 'clang_use_chrome_plugins=false' + 'is_official_build=true' 'is_cfi=false' 'is_debug=false' 'fatal_linker_warnings=false' @@ -219,7 +216,15 @@ build() { "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'