# Arch Maintainer: CRUX-ARM System Team, devel at crux-arm dot nu
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Tadeusz Sosnierz, tadzikes gmail com
-# Depends on: dbus-glib gperf gtk libevent libexif libgcrypt mesa3d ninja nss pciutils speech-dispatcher xorg-libxscrnsaver xorg-libxt xorg-libxtst yasm
+# Depends on: dbus-glib gperf gtk gtk3 libevent libexif libgcrypt ninja nodejs nss pciutils speech-dispatcher xorg-libxscrnsaver xorg-libxt yasm
name=chromium
-version=54.0.2840.100
-
+version=62.0.3202.94
release=1
-source=(http://commondatastorage.googleapis.com/$name-browser-official/$name-$version.tar.xz \
- last-commit-position.patch $name-build-toolchain.patch $name.sh $name.desktop)
+source=(https://commondatastorage.googleapis.com/$name-browser-official/$name-$version.tar.xz
+ chromium-build-toolchain.patch
+ last-commit-position.patch $name.sh $name.desktop
+ breakpad-use-ucontext_t.patch
+ chromium-gn-bootstrap-r17.patch
+ crc32c-string-view-check.patch)
build() {
cd $name-$version
+ export CFLAGS="-O2 -pipe -mfloat-abi=hard"
+
export CFLAGS="$CFLAGS $(pkg-config --cflags nspr) -lpthread"
export LDFLAGS="$LDFLAGS $(pkg-config --libs nspr)"
-
+
# determine some flags depending on SOC
USE_ARMV7=0; USE_ARM_THUMB=0; USE_ARM_NEON=0
case $(uname -m) in
# we don't use git sources
patch -p1 -i $SRC/last-commit-position.patch
+ # Fix incorrect inclusion of <string_view> in modes other than >= C++17
+ patch -p1 -d third_party/crc32c/src -i $SRC/crc32c-string-view-check.patch
+
+ # Fix build with glibc 2.26
+ patch -p1 -i $SRC/breakpad-use-ucontext_t.patch
+
+ # Fixes from Gentoo
+ patch -p1 -i $SRC/chromium-gn-bootstrap-r17.patch
+
+ mkdir -p third_party/node/linux/node-linux-x64/bin
+ ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/
+
# Let's fix the toolchain
patch -p0 -i $SRC/$name-build-toolchain.patch
'clang_use_chrome_plugins=false'
'enable_hangout_services_extension=true'
'enable_nacl=false'
- 'enable_nacl_nonsfi=false'
+ 'enable_swiftshader=false'
'fatal_linker_warnings=false'
'ffmpeg_branding="Chrome"'
'is_clang=false'
'is_debug=false'
'linux_use_bundled_binutils=false'
+ 'use_custom_libcxx=false'
'proprietary_codecs=true'
'remove_webcore_debug_symbols=true'
'symbol_level=0'
'use_system_libjpeg=true'
)
+# export TMPDIR="${PKGMK_WORK_DIR}/temp"
+# mkdir -p -m 755 "${TMPDIR}" || die
+
python2 tools/gn/bootstrap/bootstrap.py --gn-gen-args="${_gn_args[*]}"
out/Release/gn gen out/Release --args="${_gn_args[*]}" --script-executable=/usr/bin/python2
- ninja -C out/Release chrome chrome_sandbox
-
+ ninja -j ${JOBS-1} -C out/Release chrome chrome_sandbox
+
install -m 0755 -D out/Release/chrome $PKG/usr/lib/$name/$name
install -m 4755 -o root -g root -D out/Release/chrome_sandbox $PKG/usr/lib/$name/chrome-sandbox
install -m 0644 -D out/Release/*.pak $PKG/usr/lib/$name