summaryrefslogtreecommitdiffstats
path: root/chromium
diff options
context:
space:
mode:
author Eric Hameleers <alien@slackware.com>2017-12-18 11:16:22 +0000
committer Eric Hameleers <alien@slackware.com>2017-12-18 11:16:22 +0000
commit7ca8ac7796aa38319cdb567e78aac5b55469aad1 (patch)
tree0d09cb6c00e3d7bbd98dddf11036e486c972083f /chromium
parentfa765556409fe2173684f264f66d8469d8ee9271 (diff)
downloadasb-7ca8ac7796aa38319cdb567e78aac5b55469aad1.tar.gz
asb-7ca8ac7796aa38319cdb567e78aac5b55469aad1.tar.xz
chromium: updated to 63. Do not build NaCl by default. Note that NaCl is only supported on 64bit, and will be obsoleted in 2018 in favor of WebAssembly.
Diffstat (limited to 'chromium')
-rwxr-xr-xchromium/build/chromium.SlackBuild114
1 files changed, 68 insertions, 46 deletions
diff --git a/chromium/build/chromium.SlackBuild b/chromium/build/chromium.SlackBuild
index 306ef0fa..0ab0ca1a 100755
--- a/chromium/build/chromium.SlackBuild
+++ b/chromium/build/chromium.SlackBuild
@@ -294,6 +294,13 @@
# 62.0.3202.75-1:
# 27/oct/2017 by Eric Hameleers <alien@slackware.com>
# * Update, switch compiler to clang instead of gcc.
+# 62.0.3202.94-1:
+# 25/nov/2017 by Eric Hameleers <alien@slackware.com>
+# * Update.
+# 63.0.3239.108-1:
+# 17/dec/2017 by Eric Hameleers <alien@slackware.com>
+# * Update to 63.
+#
#
# -----------------------------------------------------------------------------
#
@@ -306,7 +313,7 @@
SRCNAM=chromium
SRCEXT=${SRCEXT:-""} # could be "-dev" for development build
PRGNAM=${SRCNAM}${SRCEXT} # chromium or chromium-dev
-VERSION=${VERSION:-62.0.3202.75}
+VERSION=${VERSION:-63.0.3239.108}
BUILD=${BUILD:-1}
TAG=${TAG:-alien}
@@ -330,11 +337,11 @@ fi
# You can also build a shared library libffmpeg.so (formerly libffmpegsumo.so):
USE_FFMPEG=${USE_FFMPEG:-shared} # other option is "static"
-# You can build without NaCl (native client) if you set USE_NACL to "0",
-# but you'll lose some Chrome functionality like using in-browser applications.
+# You can build with NaCl (native client) if you set USE_NACL to "1",
+# and gain some Chrome functionality like using in-browser applications.
# Note that NaCl is only supported on 64bit, and will be obsoleted in 2018
# in favor of WebAssembly:
-USE_NACL=${USE_NACL:-1}
+USE_NACL=${USE_NACL:-0}
# Use the clang compiler. Results in faster build and smaller binaries.
# This default to "1" (on) because gcc support is getting stale
@@ -513,7 +520,7 @@ echo "|| $PRGNAM-$VERSION"
echo "++"
# Find the version of Widevine:
-WIDEVINE_VERSION="1.4.8.$(cat ${SOURCE[1]})"
+WIDEVINE_VERSION="$(cat ${SOURCE[1]})"
cd $TMP/tmp-$PRGNAM
echo "Extracting the source archive(s) for $PRGNAM..."
@@ -522,28 +529,14 @@ cd ${SRCNAM}-${VERSION}
# Patches:
touch $OUTPUT/patch-${PRGNAM}.log
-# Fix bootstrapping 'gn':
-cat $SRCDIR/patches/chromium-gn-bootstrap-r17.patch | patch -p1 --verbose \
- 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
# Fix compilation with gcc5:
cat $SRCDIR/patches/chromium_gcc5.patch | patch -p1 --verbose \
2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
-# Fix compiling against glibc 2.26:
-cat $SRCDIR/patches/chromium_glibc226.patch | patch -p1 --verbose \
- 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
-# Fix incorrect inclusion of <string_view> in modes other than >= C++17
-cat $SRCDIR/patches/crc32c-string-view-check.patch \
- | patch -p1 --verbose -d third_party/crc32c/src \
- 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
# When compiling google's clang on 32bit Slackware use 'i586' in the triplet.
# I am a python noob so this is clumsy, better implementation is welcome :-)
cp $SRCDIR/patches/clang.toolchains.i586.triple.diff .
cat $SRCDIR/patches/chromium_32bit_triplet.patch | patch -p0 --verbose \
2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
-# When compiling google's clang, use the system cmake
-# (prebuilt binary from google is only available as 64bit):
-cat $SRCDIR/patches/chromium_use_system_cmake.patch | patch -p0 --verbose \
- 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
# Don't crap out when gzip does not support '--rsyncable' (Slackware < 14.2):
if ! gzip --help |grep -q rsyncable ; then
cat $SRCDIR/patches/chromium_no_rsyncable.patch | patch -p1 --verbose \
@@ -559,6 +552,17 @@ if [ $(LC_ALL=C gcc -dumpversion |cut -d. -f1) -eq 4 ]; then
2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
fi
+# When compiling google's clang, use the system cmake
+# (prebuilt binary from google is only available as 64bit):
+sed -i tools/clang/scripts/update.py -e 's/^ *AddCMakeToPath/#&/'
+
+# This header file is missing, so we need to generate it; code found in the
+# DEPS file https://chromium.googlesource.com/chromium/src/+/master/DEPS:
+python2 build/util/lastchange.py \
+ --version-macro=GPU_LISTS_VERSION \
+ --revision-only \
+ --header=gpu/config/gpu_lists_version.h
+
# Explicitly use Python 2:
find . -name '*.py' -exec sed -i -r 's|/usr/bin/python$|&2|g' {} +
@@ -570,7 +574,7 @@ ln -sf /usr/bin/python2 $TMP/tmp-$PRGNAM/privatebin/python
mkdir -p third_party/node/linux/node-linux-x64/bin
ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/
-if [ "$ARCH" != "x86_64" ]; then
+if [ "$ARCH" != "x86_64" -a "$USE_NACL" != "0" ]; then
# For now, disable NaCl except on x86_64 because the precompiled toolchain is
# only available for that architecture at the moment.
echo "** Not building NaCL - architecture '$ARCH' is currently unsupported."
@@ -588,12 +592,16 @@ fi
if [ "x$SRCEXT" = "x-dev" ]; then
# Save configuration in ~/.config/chromium-dev":
- sed -e "s|'filename': 'chromium-browser'|'filename': '${PRGNAM}'|" \
- -e "s|'confdir': 'chromium'|'confdir': '${PRGNAM}'|" \
+ sed -e 's|filename = "chromium-browser"|filename = "chromium-dev"|' \
+ -e 's|confdir = "chromium|&-dev|' \
-i chrome/BUILD.gn
- sed -e 's|config_dir.Append("chromium")|config_dir.Append("'${PRGNAM}'")|' \
- -e 's|config_dir.Append("chrome-frame")|config_dir.Append("'chrome-frame$SRCEXT}'")|' \
+ sed -e 's|config_dir.Append("chromium|&-dev|' \
-i chrome/common/chrome_paths_linux.cc
+ sed -e 's|/etc/chromium|&-dev|' \
+ -e 's|/usr/share/chromium|&-dev|' \
+ -i chrome/common/chrome_paths.cc
+ sed -e 's|/etc/chromium|&-dev|' \
+ -i components/policy/tools/template_writers/writer_configuration.py
fi
chown -R root:root .
@@ -613,7 +621,7 @@ export -n CFLAGS="$SLKCFLAGS -Wno-unused-local-typedefs"
export PATH="$TMP/tmp-$PRGNAM/privatebin:$PATH"
_chromium_conf=(
- "clang_use_chrome_plugins=false"
+ "clang_use_chrome_plugins=${do_clang}"
'enable_hangout_services_extension=true'
'enable_hidpi=true'
"enable_hotwording=${do_hotword}"
@@ -845,8 +853,40 @@ ln -s locales $PKG/usr/lib${LIBDIRSUFFIX}/${PRGNAM}/remoting_locales
# Add resource files:
cp -a out/Release/resources $PKG/usr/lib${LIBDIRSUFFIX}/${PRGNAM}/
+# This step used to be done for us, now do it manually too.
+# This script's 'process_template' function is needed in order
+# to generate man page and desktop file:
+source $TMP/tmp-$PRGNAM/${SRCNAM}-${VERSION}/chrome/installer/linux/common/installer.include
+PACKAGE=${PRGNAM}
+PROGNAME=${PRGNAM}
+MENUNAME="${PRGNAM^} Web Browser"
+USR_BIN_SYMLINK_NAME=${PRGNAM}
+
# Install a man page:
-install -D -m0644 out/Release/chrome.1 $PKG/usr/man/man1/${PRGNAM}.1
+process_template chrome/app/resources/manpage.1.in out/Release/${PRGNAM}.1
+install -D -m0644 out/Release/${PRGNAM}.1 $PKG/usr/man/man1/${PRGNAM}.1
+
+# Add a desktop file:
+process_template chrome/installer/linux/common/desktop.template \
+ out/Release/${PRGNAM}.desktop
+install -D -m0644 out/Release/${PRGNAM}.desktop \
+ $PKG/usr/share/applications/${PRGNAM}.desktop
+
+# Install desktop icons:
+for size in 16 32; do
+ install -D -m0644 \
+ chrome/app/theme/default_100_percent/chromium/product_logo_$size.png \
+ $PKG/usr/share/icons/hicolor/${size}x${size}/apps/${PRGNAM}.png
+ ln -s ${PRGNAM}.png \
+ $PKG/usr/share/icons/hicolor/${size}x${size}/apps/chromium-browser${SRCEXT}.png
+done
+for size in 22 24 48 64 128 256; do
+ install -D -m0644 \
+ chrome/app/theme/chromium/product_logo_$size.png \
+ $PKG/usr/share/icons/hicolor/${size}x${size}/apps/${PRGNAM}.png
+ ln -s ${PRGNAM}.png \
+ $PKG/usr/share/icons/hicolor/${size}x${size}/apps/chromium-browser${SRCEXT}.png
+done
# Without this file, chromium refuses to start:
cp -a out/Release/icudtl.dat $PKG/usr/lib${LIBDIRSUFFIX}/${PRGNAM}/
@@ -867,26 +907,6 @@ ln -s ../lib${LIBDIRSUFFIX}/${PRGNAM}/chromedriver $PKG/usr/bin/chromedriver${SR
# xdg-utils looks for "chromium-browser" so symlink it to the wrapper:
ln -s ${PRGNAM} $PKG/usr/bin/chromium-browser${SRCEXT}
-# Install desktop icons:
-for size in 16 32; do
- install -D -m0644 \
- chrome/app/theme/default_100_percent/chromium/product_logo_$size.png \
- $PKG/usr/share/icons/hicolor/${size}x${size}/apps/${PRGNAM}.png
- ln -s ${PRGNAM}.png \
- $PKG/usr/share/icons/hicolor/${size}x${size}/apps/chromium-browser${SRCEXT}.png
-done
-for size in 22 24 48 64 128 256; do
- install -D -m0644 \
- chrome/app/theme/chromium/product_logo_$size.png \
- $PKG/usr/share/icons/hicolor/${size}x${size}/apps/${PRGNAM}.png
- ln -s ${PRGNAM}.png \
- $PKG/usr/share/icons/hicolor/${size}x${size}/apps/chromium-browser${SRCEXT}.png
-done
-
-# Add a desktop file:
-install -D -m0644 \
- $SRCDIR/${PRGNAM}.desktop $PKG/usr/share/applications/${PRGNAM}.desktop
-
# Move the 'default' file into place.
# This allows users to override command-line options:
mkdir -p $PKG/etc/${PRGNAM}
@@ -941,6 +961,8 @@ EOINS
# Add documentation:
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION || true
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/patches
+cp -a $SRCDIR/patches/*.{diff,patch} $PKG/usr/doc/$PRGNAM-$VERSION/patches/
cat $SRCDIR/$(basename $0) > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION
find $PKG/usr/doc -type f -exec chmod 644 {} \;