summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author Eric Hameleers <alien@slackware.com>2018-03-14 14:26:13 +0000
committer Eric Hameleers <alien@slackware.com>2018-03-14 14:26:13 +0000
commit074dd0ce16579c6207f50355ee9757a9622e61de (patch)
tree9c492f3552022139c8ca842d9292002b28403fa9
parent85fdad94d93255b58eefee506d77876aae1d7db9 (diff)
downloadasb-074dd0ce16579c6207f50355ee9757a9622e61de.tar.gz
asb-074dd0ce16579c6207f50355ee9757a9622e61de.tar.xz
chromium: make 65.0.3325.146 compile on Slackware 14.2
-rwxr-xr-xchromium/build/chromium.SlackBuild41
1 files changed, 32 insertions, 9 deletions
diff --git a/chromium/build/chromium.SlackBuild b/chromium/build/chromium.SlackBuild
index a854eda4..ed9fbc59 100755
--- a/chromium/build/chromium.SlackBuild
+++ b/chromium/build/chromium.SlackBuild
@@ -316,7 +316,7 @@
# * Update.
# 65.0.3325.146-1:
# 09/mar/2018 by Eric Hameleers <alien@slackware.com>
-# * Update to 65.
+# * Update to M65.
#
#
# -----------------------------------------------------------------------------
@@ -559,15 +559,26 @@ cd ${SRCNAM}-${VERSION}
# Patches:
touch $OUTPUT/patch-${PRGNAM}.log
-## Include string.h in Chromium's memcpy:
-#cat $SRCDIR/patches/chromium_memcpy-r0.patch | patch -p1 --verbose \
-# 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
-# Fix compilation against glibc 2.27:
+# ---------------------------------------------------------------------------
+# Several patches were needed to make M65 compile on Slackware 14.2:
+# Add mising math includes:
+cat $SRCDIR/patches/chromium_gcc_round_fix.patch | patch -p1 --verbose \
+ 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
cat $SRCDIR/patches/chromium_math.h-r0.patch | patch -p1 --verbose \
2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
# Add missing stdint include:
cat $SRCDIR/patches/chromium_stdint.patch | patch -p1 --verbose \
2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
+# As long as I can't figure out why the build keeps using our gcc and clang
+# in isolated spots, I have to fix that by re-introducing compatibility:
+cat $SRCDIR/patches/chromium_gcc5_2.patch | patch -p1 --verbose \
+ 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
+cat $SRCDIR/patches/chromium_clang-r3.patch | patch -p1 --verbose \
+ 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
+# Revert commit "[gpu] Switch to std::tuple for FormatType":
+cat $SRCDIR/patches/chromium_revert_tuple.patch | patch -p1 -R --verbose \
+ 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 .
@@ -701,6 +712,7 @@ _chromium_conf=(
'treat_warnings_as_errors=false'
"usb_ids_path=\"/usr/share/hwdata/usb.ids\""
'use_allocator="none"'
+ 'use_bundled_fontconfig=false'
'use_cups=true'
'use_custom_libcxx=false'
'use_gconf=false'
@@ -785,16 +797,24 @@ if [ ${USE_NACL} -eq 1 ]; then
python2 build/download_nacl_toolchains.py --packages nacl_x86_newlib,pnacl_newlib,pnacl_translator sync --extract \
2>&1 | tee $OUTPUT/nacl_dl-${PRGNAM}.log
fi
-# Download and compile google's clang sources if needed
+# Compile google's internal clang sources if needed
# (clang is required for building NaCl):
if [ ${USE_CLANG} -eq 1 -o ${USE_NACL} -eq 1 ]; then
# Build clang from source instead of downloading:
echo "-- Building google's clang toolchain."
python2 tools/clang/scripts/update.py \
- --force-local-build --gcc-toolchain=/usr --without-android \
+ --force-local-build \
+ --skip-checkout \
+ --gcc-toolchain=/usr \
+ --use-system-cmake \
+ --if-needed \
+ --without-android \
2>&1 | tee $OUTPUT/clang_build-${PRGNAM}.log
fi
+# Ensure that only this new clang is used, ignoring the system version:
+export PATH="$TMP/tmp-$PRGNAM/${SRCNAM}-${VERSION}/third_party/llvm-build/Release+Asserts/bin:$PATH"
+
# Re-configure bundled ffmpeg to make it compile on 32bit Slackware:
if [ ${FFMPEG_HEVC} -eq 1 -o "${FFMPEG_ARCH}" = "ia32" ]; then
echo "-- Re-configuring bundled ffmpeg..."
@@ -841,8 +861,11 @@ echo "-- Compiling the lot."
if [ "$USE_CLANG" = "1" ]; then
# clang_use_chrome_plugins=true fails with clang 3.5 - disable for now.
- export CC="clang"
- export CXX="clang++"
+ #export CC="clang"
+ #export CXX="clang++"
+ # Use the clang that we build in-tree instead of using the system version:
+ unset CC
+ unset CXX
else
# Be careful not to override CC and CXX (may have been set by gcc5):
export CC=${CC:-"gcc"}