diff options
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 |
commit | 81b9f724b869833bee03e682a66e0e48933116aa (patch) | |
tree | 5edd6c6191e77a54c54c01475c37d68cb5a12399 /chromium | |
parent | d9a95be8afefe0705c4f0d59ed6b5393a2d5541c (diff) | |
download | asb-81b9f724b869833bee03e682a66e0e48933116aa.tar.gz asb-81b9f724b869833bee03e682a66e0e48933116aa.tar.xz |
chromium: first attempt to add hevc/h.265 playback support
Diffstat (limited to 'chromium')
-rwxr-xr-x | chromium/build/chromium.SlackBuild | 47 |
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_} - |