summaryrefslogtreecommitdiffstats
path: root/chromium
diff options
context:
space:
mode:
author Eric Hameleers <alien@slackware.com>2018-02-02 06:47:14 +0000
committer Eric Hameleers <alien@slackware.com>2018-02-02 06:47:14 +0000
commit81b9f724b869833bee03e682a66e0e48933116aa (patch)
tree5edd6c6191e77a54c54c01475c37d68cb5a12399 /chromium
parentd9a95be8afefe0705c4f0d59ed6b5393a2d5541c (diff)
downloadasb-81b9f724b869833bee03e682a66e0e48933116aa.tar.gz
asb-81b9f724b869833bee03e682a66e0e48933116aa.tar.xz
chromium: first attempt to add hevc/h.265 playback support
Diffstat (limited to 'chromium')
-rwxr-xr-xchromium/build/chromium.SlackBuild47
1 files changed, 33 insertions, 14 deletions
diff --git a/chromium/build/chromium.SlackBuild b/chromium/build/chromium.SlackBuild
index 884cb04c..ed91d13c 100755
--- a/chromium/build/chromium.SlackBuild
+++ b/chromium/build/chromium.SlackBuild
@@ -306,6 +306,9 @@
# 64.0.3282.119-1:
# 26/jan/2018 by Eric Hameleers <alien@slackware.com>
# * Update to 64.
+# 64.0.3282.119-2:
+# 29/jan/2018 by Eric Hameleers <alien@slackware.com>
+# * Attempt to enable HEVC support.
#
#
# -----------------------------------------------------------------------------
@@ -320,7 +323,7 @@ SRCNAM=chromium
SRCEXT=${SRCEXT:-""} # could be "-dev" for development build
PRGNAM=${SRCNAM}${SRCEXT} # chromium or chromium-dev
VERSION=${VERSION:-64.0.3282.119}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
TAG=${TAG:-alien}
# Differentiate between stable and development releases:
@@ -343,6 +346,9 @@ fi
# You can also build a shared library libffmpeg.so (formerly libffmpegsumo.so):
USE_FFMPEG=${USE_FFMPEG:-shared} # other option is "static"
+# The branding determines what (proprietary) codec support will be added:
+FFMPEG_BRANDING=${FFMPEG_BRANDING:-ChromeOS} # or "Chrome", or "Chromium"
+
# 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
@@ -551,6 +557,9 @@ if ! gzip --help |grep -q rsyncable ; then
cat $SRCDIR/patches/chromium_no_rsyncable.patch | patch -p1 --verbose \
2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
fi
+# Advertize HEVC/X.265 support:
+cat $SRCDIR/patches/chromium_hevc_supported.patch | patch -p1 --verbose \
+ 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
## Enable VAAPI hardware decoding on Linux platform:
#cat $SRCDIR/patches/chromium_vaapi.patch | patch -p1 --verbose \
# 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
@@ -632,6 +641,7 @@ export PATH="$TMP/tmp-$PRGNAM/privatebin:$PATH"
_chromium_conf=(
"clang_use_chrome_plugins=${do_clang}"
'enable_hangout_services_extension=true'
+ 'enable_hevc_demuxing=true'
'enable_hidpi=true'
"enable_hotwording=${do_hotword}"
'enable_glibc=false'
@@ -643,7 +653,7 @@ _chromium_conf=(
"enable_widevine=${do_cdm}"
'exclude_unwind_tables=true'
'fatal_linker_warnings=false'
- 'ffmpeg_branding="ChromeOS"'
+ "ffmpeg_branding=\"${FFMPEG_BRANDING}\""
"ffmpeg_component=\"${USE_FFMPEG}_library\""
'fieldtrial_testing_like_official_build=true'
"google_api_key=\"$_google_api_key\""
@@ -666,12 +676,13 @@ _chromium_conf=(
'use_cups=true'
'use_custom_libcxx=false'
'use_gconf=false'
- 'use_gio=false'
'use_gold=false'
'use_kerberos=false'
"use_pulseaudio=${do_pa}"
'use_sysroot=false'
)
+ # Not used, perhaps try later:
+ #'is_component_build=true'
# Change this back when CRBUG 592268 is fixed (error during final link:
# undefined reference to `base::i18n::GetRawIcuMemory())
@@ -758,19 +769,28 @@ if [ ${USE_CLANG} -eq 1 -o ${USE_NACL} -eq 1 ]; then
fi
# Re-configure bundled ffmpeg to make it compile on 32bit Slackware:
+echo "Configuring bundled ffmpeg..."
+FFMPEG_CUSTOM_ARGS=" --enable-decoder=hevc --enable-demuxer=hevc --enable-parser=hevc"
if [ "${FFMPEG_ARCH}" = "ia32" ]; then
- echo "Configuring bundled ffmpeg..."
- cd third_party/ffmpeg
- python2 chromium/scripts/build_ffmpeg.py linux ${FFMPEG_ARCH} \
- --branding ChromeOS -- --disable-asm \
- 2>&1 | tee $OUTPUT/ffmpeg_configure-${PRGNAM}.log
- ./chromium/scripts/copy_config.sh \
- 2>&1 | tee -a $OUTPUT/ffmpeg_configure-${PRGNAM}.log
- ./chromium/scripts/generate_gn.py \
- 2>&1 | tee -a $OUTPUT/ffmpeg_configure-${PRGNAM}.log
- cd - 2>/dev/null
+ FFMPEG_CUSTOM_ARGS="${FFMPEG_CUSTOM_ARGS} --disable-asm"
fi
+cd third_party/ffmpeg
+ # To prevent error on x86_64:
+ # "clang-5.0: error: invalid linker name in argument '-fuse-ld=lld'"
+ # in third_party/ffmpeg/build.x64.linux/ChromeOS/ffbuild/config.log
+ sed -e "s/--extra-ldflags=-fuse-ld=lld/--extra-ldflags=''/" \
+ -i chromium/scripts/build_ffmpeg.py
+ # Actual reconfigure steps:
+ python2 chromium/scripts/build_ffmpeg.py linux ${FFMPEG_ARCH} \
+ --branding ${FFMPEG_BRANDING} -- ${FFMPEG_CUSTOM_ARGS} \
+ 2>&1 | tee $OUTPUT/ffmpeg_configure-${PRGNAM}.log
+ ./chromium/scripts/copy_config.sh \
+ 2>&1 | tee -a $OUTPUT/ffmpeg_configure-${PRGNAM}.log
+ ./chromium/scripts/generate_gn.py \
+ 2>&1 | tee -a $OUTPUT/ffmpeg_configure-${PRGNAM}.log
+cd - 2>/dev/null
+
# Generate the ninja build files:
echo "-- Bootstrapping 'gn'."
python2 tools/gn/bootstrap/bootstrap.py \
@@ -1010,4 +1030,3 @@ cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${VERSION}-$
# Restore the original umask:
umask ${_UMASK_}
-