Date: Tuesday, August 11, 2020 @ 05:37:25 Author: foutrelis Revision: 393543
archrelease: copy trunk to extra-x86_64 Added: chromium/repos/extra-x86_64/PKGBUILD (from rev 393542, chromium/trunk/PKGBUILD) chromium/repos/extra-x86_64/avoid-calling-DeleteForCurrentDocument-from-destructor.patch (from rev 393542, chromium/trunk/avoid-calling-DeleteForCurrentDocument-from-destructor.patch) chromium/repos/extra-x86_64/chromium-ffmpeg-4.3.patch (from rev 393542, chromium/trunk/chromium-ffmpeg-4.3.patch) chromium/repos/extra-x86_64/chromium-fix-vaapi-on-intel.patch (from rev 393542, chromium/trunk/chromium-fix-vaapi-on-intel.patch) chromium/repos/extra-x86_64/chromium-skia-harmony.patch (from rev 393542, chromium/trunk/chromium-skia-harmony.patch) chromium/repos/extra-x86_64/chromium.install (from rev 393542, chromium/trunk/chromium.install) chromium/repos/extra-x86_64/force-mp3-files-to-have-a-start-time-of-zero.patch (from rev 393542, chromium/trunk/force-mp3-files-to-have-a-start-time-of-zero.patch) chromium/repos/extra-x86_64/remove-NotifyError-calls-and-just-send-a-normal-message.patch (from rev 393542, chromium/trunk/remove-NotifyError-calls-and-just-send-a-normal-message.patch) Deleted: chromium/repos/extra-x86_64/PKGBUILD chromium/repos/extra-x86_64/avoid-calling-DeleteForCurrentDocument-from-destructor.patch chromium/repos/extra-x86_64/chromium-ffmpeg-4.3.patch chromium/repos/extra-x86_64/chromium-fix-vaapi-on-intel.patch chromium/repos/extra-x86_64/chromium-skia-harmony.patch chromium/repos/extra-x86_64/chromium.install chromium/repos/extra-x86_64/force-mp3-files-to-have-a-start-time-of-zero.patch chromium/repos/extra-x86_64/remove-NotifyError-calls-and-just-send-a-normal-message.patch ---------------------------------------------------------------+ PKGBUILD | 548 +++++----- avoid-calling-DeleteForCurrentDocument-from-destructor.patch | 142 +- chromium-ffmpeg-4.3.patch | 42 chromium-fix-vaapi-on-intel.patch | 80 - chromium-skia-harmony.patch | 28 chromium.install | 32 force-mp3-files-to-have-a-start-time-of-zero.patch | 76 - remove-NotifyError-calls-and-just-send-a-normal-message.patch | 84 - 8 files changed, 516 insertions(+), 516 deletions(-) Deleted: PKGBUILD =================================================================== --- PKGBUILD 2020-08-11 05:37:15 UTC (rev 393542) +++ PKGBUILD 2020-08-11 05:37:25 UTC (rev 393543) @@ -1,274 +0,0 @@ -# Maintainer: Evangelos Foutras <evange...@foutrelis.com> -# Contributor: Pierre Schmitz <pie...@archlinux.de> -# Contributor: Jan "heftig" Steffens <jan.steff...@gmail.com> -# Contributor: Daniel J Griffiths <ghost1...@archlinux.us> - -pkgname=chromium -pkgver=84.0.4147.105 -pkgrel=1 -_launcher_ver=6 -_gcc_patchset=3 -pkgdesc="A web browser built for speed, simplicity, and security" -arch=('x86_64') -url="https://www.chromium.org/Home" -license=('BSD') -depends=('gtk3' 'nss' 'alsa-lib' 'xdg-utils' 'libxss' 'libcups' 'libgcrypt' - 'ttf-liberation' 'systemd' 'dbus' 'libpulse' 'pciutils' 'json-glib' - 'desktop-file-utils' 'hicolor-icon-theme') -makedepends=('python' 'python2' 'gperf' 'mesa' 'ninja' 'nodejs' 'git' 'libva' - 'libpipewire02' 'clang' 'lld' 'gn' 'java-runtime-headless' - 'python2-setuptools') -optdepends=('pepper-flash: support for Flash content' - 'libpipewire02: WebRTC desktop sharing under Wayland' - 'libva: hardware-accelerated video decode [experimental]' - 'kdialog: needed for file dialogs in KDE' - 'org.freedesktop.secrets: password storage backend on GNOME / Xfce' - 'kwallet: for storing passwords in KWallet on KDE desktops') -install=chromium.install -source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz - chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz - https://github.com/stha09/chromium-patches/releases/download/chromium-${pkgver%%.*}-patchset-$_gcc_patchset/chromium-${pkgver%%.*}-patchset-$_gcc_patchset.tar.xz - remove-NotifyError-calls-and-just-send-a-normal-message.patch - avoid-calling-DeleteForCurrentDocument-from-destructor.patch - force-mp3-files-to-have-a-start-time-of-zero.patch - chromium-ffmpeg-4.3.patch - chromium-fix-vaapi-on-intel.patch - chromium-skia-harmony.patch) -sha256sums=('caf4ebeb2a2333454c3067a2534aeecaab5029aa78fc0d8b27f79ad3b9c5ccac' - '04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1' - 'f77088dd59b170b767ba91c6b410abb778ff2e68553433b24124d398fa4d3ce7' - '3b10917f646f88ae988ca18be9cbef82025abb6a6e5cb00b77a11077192ce32c' - '4e41cb637e96bcef98c119ed052ba1aeab45fca5b89d65955583dab002de783e' - 'abc3fad113408332c3b187b083bf33eba59eb5c87fa3ce859023984b5804623c' - '5390304b5f544868985ce00a3ec082d4ece2dacb1c73cdb35dd4facfea12449a' - 'e495f2477091557b15bff2c99831e0a3db64ea2ebde7dcb22857a6469c944b9a' - '771292942c0901092a402cc60ee883877a99fb804cb54d568c8c6c94565a48e1') - -# Possible replacements are listed in build/linux/unbundle/replace_gn_files.py -# Keys are the names in the above script; values are the dependencies in Arch -declare -gA _system_libs=( - [ffmpeg]=ffmpeg - [flac]=flac - [fontconfig]=fontconfig - [freetype]=freetype2 - [harfbuzz-ng]=harfbuzz - [icu]=icu - [libdrm]= - [libjpeg]=libjpeg - [libpng]=libpng - [libvpx]=libvpx - [libwebp]=libwebp - [libxml]=libxml2 - [libxslt]=libxslt - [opus]=opus - [re2]=re2 - [snappy]=snappy - [zlib]=minizip -) -_unwanted_bundled_libs=( - $(printf "%s\n" ${!_system_libs[@]} | sed 's/^libjpeg$/&_turbo/') -) -depends+=(${_system_libs[@]}) - -# Google API keys (see https://www.chromium.org/developers/how-tos/api-keys) -# Note: These are for Arch Linux use ONLY. For your own distribution, please -# get your own set of keys. -_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM -_google_default_client_id=413772536636.apps.googleusercontent.com -_google_default_client_secret=0ZChLK6AxeA3Isu96MkwqDR4 - -prepare() { - cd "$srcdir/$pkgname-$pkgver" - - # Allow building against system libraries in official builds - sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ - tools/generate_shim_headers/generate_shim_headers.py - - # https://crbug.com/893950 - sed -i -e 's/\<xmlMalloc\>/malloc/' -e 's/\<xmlFree\>/free/' \ - third_party/blink/renderer/core/xml/*.cc \ - third_party/blink/renderer/core/xml/parser/xml_document_parser.cc \ - third_party/libxml/chromium/*.cc - - # https://chromium-review.googlesource.com/c/chromium/src/+/2223010 - patch -Np1 -i ../remove-NotifyError-calls-and-just-send-a-normal-message.patch - - # https://chromium-review.googlesource.com/c/chromium/src/+/2224737 - patch -Np1 -i ../avoid-calling-DeleteForCurrentDocument-from-destructor.patch - - # https://chromium-review.googlesource.com/c/chromium/src/+/2268221 - patch -Np1 -i ../force-mp3-files-to-have-a-start-time-of-zero.patch - - # Fixes for building with libstdc++ instead of libc++ - patch -Np1 -i ../patches/chromium-84-AXObject-stl-iterator.patch - patch -Np1 -i ../patches/chromium-84-ListContainerHelper-include-cstring.patch - patch -Np1 -i ../patches/chromium-84-crashpad-include-cstring.patch - patch -Np1 -i ../patches/chromium-84-gcc-10-include-stddef.patch - patch -Np1 -i ../patches/chromium-84-gcc-10-webrtc-include-stddef.patch - patch -Np1 -i ../patches/chromium-84-gcc-DCHECK_EQ-unique_ptr.patch - patch -Np1 -i ../patches/chromium-84-std-vector-const.patch - - # https://crbug.com/1095962 - patch -Np1 -i ../chromium-ffmpeg-4.3.patch - - # Patch from rpmfusion: chromium-freeworld - patch -Np1 -i ../chromium-fix-vaapi-on-intel.patch - - # https://crbug.com/skia/6663#c10 - patch -Np0 -i ../chromium-skia-harmony.patch - - # Force script incompatible with Python 3 to use /usr/bin/python2 - sed -i '1s|python$|&2|' third_party/dom_distiller_js/protoc_plugins/*.py - - # Make xcbgen available to ui/gfx/x/gen_xproto.py running under Python 2 - ln -s /usr/lib/python3.*/site-packages/xcbgen "$srcdir/" - - mkdir -p third_party/node/linux/node-linux-x64/bin - ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/ - - # Remove bundled libraries for which we will use the system copies; this - # *should* do what the remove_bundled_libraries.py script does, with the - # added benefit of not having to list all the remaining libraries - local _lib - for _lib in ${_unwanted_bundled_libs[@]}; do - find "third_party/$_lib" -type f \ - \! -path "third_party/$_lib/chromium/*" \ - \! -path "third_party/$_lib/google/*" \ - \! -path "third_party/harfbuzz-ng/utils/hb_scoped.h" \ - \! -regex '.*\.\(gn\|gni\|isolate\)' \ - -delete - done - - python2 build/linux/unbundle/replace_gn_files.py \ - --system-libraries "${!_system_libs[@]}" -} - -build() { - make -C chromium-launcher-$_launcher_ver - - cd "$srcdir/$pkgname-$pkgver" - - if check_buildoption ccache y; then - # Avoid falling back to preprocessor mode when sources contain time macros - export CCACHE_SLOPPINESS=time_macros - fi - - # ui/gfx/x/gen_xproto.py needs xcbgen - export PYTHONPATH=$srcdir - - export CC=clang - export CXX=clang++ - export AR=ar - export NM=nm - - local _flags=( - 'custom_toolchain="//build/toolchain/linux/unbundle:default"' - 'host_toolchain="//build/toolchain/linux/unbundle:default"' - 'clang_use_chrome_plugins=false' - 'is_official_build=true' # implies is_cfi=true on x86_64 - 'treat_warnings_as_errors=false' - 'fieldtrial_testing_like_official_build=true' - 'ffmpeg_branding="Chrome"' - 'proprietary_codecs=true' - 'rtc_use_pipewire=true' - 'link_pulseaudio=true' - 'use_gnome_keyring=false' - 'use_sysroot=false' - 'use_custom_libcxx=false' - 'enable_hangout_services_extension=true' - 'enable_widevine=true' - 'use_vaapi=true' - 'enable_nacl=false' - "google_api_key=\"${_google_api_key}\"" - "google_default_client_id=\"${_google_default_client_id}\"" - "google_default_client_secret=\"${_google_default_client_secret}\"" - ) - - if [[ -n ${_system_libs[icu]+set} ]]; then - _flags+=('icu_use_data_file=false') - fi - - if check_option strip y; then - _flags+=('symbol_level=0') - fi - - # Facilitate deterministic builds (taken from build/config/compiler/BUILD.gn) - CFLAGS+=' -Wno-builtin-macro-redefined' - CXXFLAGS+=' -Wno-builtin-macro-redefined' - CPPFLAGS+=' -D__DATE__= -D__TIME__= -D__TIMESTAMP__=' - - # Do not warn about unknown warning options - CFLAGS+=' -Wno-unknown-warning-option' - CXXFLAGS+=' -Wno-unknown-warning-option' - - gn gen out/Release --args="${_flags[*]}" --script-executable=/usr/bin/python2 - ninja -C out/Release chrome chrome_sandbox chromedriver -} - -package() { - cd chromium-launcher-$_launcher_ver - make PREFIX=/usr DESTDIR="$pkgdir" install - install -Dm644 LICENSE \ - "$pkgdir/usr/share/licenses/chromium/LICENSE.launcher" - - cd "$srcdir/$pkgname-$pkgver" - - install -D out/Release/chrome "$pkgdir/usr/lib/chromium/chromium" - install -Dm4755 out/Release/chrome_sandbox "$pkgdir/usr/lib/chromium/chrome-sandbox" - ln -s /usr/lib/chromium/chromedriver "$pkgdir/usr/bin/chromedriver" - - install -Dm644 chrome/installer/linux/common/desktop.template \ - "$pkgdir/usr/share/applications/chromium.desktop" - install -Dm644 chrome/app/resources/manpage.1.in \ - "$pkgdir/usr/share/man/man1/chromium.1" - sed -i \ - -e 's/@@MENUNAME@@/Chromium/g' \ - -e 's/@@PACKAGE@@/chromium/g' \ - -e 's/@@USR_BIN_SYMLINK_NAME@@/chromium/g' \ - "$pkgdir/usr/share/applications/chromium.desktop" \ - "$pkgdir/usr/share/man/man1/chromium.1" - - install -Dm644 chrome/installer/linux/common/chromium-browser/chromium-browser.appdata.xml \ - "$pkgdir/usr/share/metainfo/chromium.appdata.xml" - sed -ni \ - -e 's/chromium-browser\.desktop/chromium.desktop/' \ - -e '/<update_contact>/d' \ - -e '/<p>/N;/<p>\n.*\(We invite\|Chromium supports Vorbis\)/,/<\/p>/d' \ - -e '/^<?xml/,$p' \ - "$pkgdir/usr/share/metainfo/chromium.appdata.xml" - - local toplevel_files=( - chrome_100_percent.pak - chrome_200_percent.pak - resources.pak - v8_context_snapshot.bin - - # ANGLE - libEGL.so - libGLESv2.so - - chromedriver - ) - - if [[ -z ${_system_libs[icu]+set} ]]; then - toplevel_files+=(icudtl.dat) - fi - - cp "${toplevel_files[@]/#/out/Release/}" "$pkgdir/usr/lib/chromium/" - install -Dm644 -t "$pkgdir/usr/lib/chromium/locales" out/Release/locales/*.pak - install -Dm755 -t "$pkgdir/usr/lib/chromium/swiftshader" out/Release/swiftshader/*.so - - for size in 24 48 64 128 256; do - install -Dm644 "chrome/app/theme/chromium/product_logo_$size.png" \ - "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png" - done - - for size in 16 32; do - install -Dm644 "chrome/app/theme/default_100_percent/chromium/product_logo_$size.png" \ - "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png" - done - - install -Dm644 LICENSE "$pkgdir/usr/share/licenses/chromium/LICENSE" -} - -# vim:set ts=2 sw=2 et: Copied: chromium/repos/extra-x86_64/PKGBUILD (from rev 393542, chromium/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2020-08-11 05:37:25 UTC (rev 393543) @@ -0,0 +1,274 @@ +# Maintainer: Evangelos Foutras <evange...@foutrelis.com> +# Contributor: Pierre Schmitz <pie...@archlinux.de> +# Contributor: Jan "heftig" Steffens <jan.steff...@gmail.com> +# Contributor: Daniel J Griffiths <ghost1...@archlinux.us> + +pkgname=chromium +pkgver=84.0.4147.125 +pkgrel=1 +_launcher_ver=6 +_gcc_patchset=3 +pkgdesc="A web browser built for speed, simplicity, and security" +arch=('x86_64') +url="https://www.chromium.org/Home" +license=('BSD') +depends=('gtk3' 'nss' 'alsa-lib' 'xdg-utils' 'libxss' 'libcups' 'libgcrypt' + 'ttf-liberation' 'systemd' 'dbus' 'libpulse' 'pciutils' 'json-glib' + 'desktop-file-utils' 'hicolor-icon-theme') +makedepends=('python' 'python2' 'gperf' 'mesa' 'ninja' 'nodejs' 'git' 'libva' + 'libpipewire02' 'clang' 'lld' 'gn' 'java-runtime-headless' + 'python2-setuptools') +optdepends=('pepper-flash: support for Flash content' + 'libpipewire02: WebRTC desktop sharing under Wayland' + 'libva: hardware-accelerated video decode [experimental]' + 'kdialog: needed for file dialogs in KDE' + 'org.freedesktop.secrets: password storage backend on GNOME / Xfce' + 'kwallet: for storing passwords in KWallet on KDE desktops') +install=chromium.install +source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz + chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz + https://github.com/stha09/chromium-patches/releases/download/chromium-${pkgver%%.*}-patchset-$_gcc_patchset/chromium-${pkgver%%.*}-patchset-$_gcc_patchset.tar.xz + remove-NotifyError-calls-and-just-send-a-normal-message.patch + avoid-calling-DeleteForCurrentDocument-from-destructor.patch + force-mp3-files-to-have-a-start-time-of-zero.patch + chromium-ffmpeg-4.3.patch + chromium-fix-vaapi-on-intel.patch + chromium-skia-harmony.patch) +sha256sums=('98439626cf2d8d3d8f9486d08a99cbc1e4981b3f3427a072d5eaaf6ded4daff5' + '04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1' + 'f77088dd59b170b767ba91c6b410abb778ff2e68553433b24124d398fa4d3ce7' + '3b10917f646f88ae988ca18be9cbef82025abb6a6e5cb00b77a11077192ce32c' + '4e41cb637e96bcef98c119ed052ba1aeab45fca5b89d65955583dab002de783e' + 'abc3fad113408332c3b187b083bf33eba59eb5c87fa3ce859023984b5804623c' + '5390304b5f544868985ce00a3ec082d4ece2dacb1c73cdb35dd4facfea12449a' + 'e495f2477091557b15bff2c99831e0a3db64ea2ebde7dcb22857a6469c944b9a' + '771292942c0901092a402cc60ee883877a99fb804cb54d568c8c6c94565a48e1') + +# Possible replacements are listed in build/linux/unbundle/replace_gn_files.py +# Keys are the names in the above script; values are the dependencies in Arch +declare -gA _system_libs=( + [ffmpeg]=ffmpeg + [flac]=flac + [fontconfig]=fontconfig + [freetype]=freetype2 + [harfbuzz-ng]=harfbuzz + [icu]=icu + [libdrm]= + [libjpeg]=libjpeg + [libpng]=libpng + [libvpx]=libvpx + [libwebp]=libwebp + [libxml]=libxml2 + [libxslt]=libxslt + [opus]=opus + [re2]=re2 + [snappy]=snappy + [zlib]=minizip +) +_unwanted_bundled_libs=( + $(printf "%s\n" ${!_system_libs[@]} | sed 's/^libjpeg$/&_turbo/') +) +depends+=(${_system_libs[@]}) + +# Google API keys (see https://www.chromium.org/developers/how-tos/api-keys) +# Note: These are for Arch Linux use ONLY. For your own distribution, please +# get your own set of keys. +_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM +_google_default_client_id=413772536636.apps.googleusercontent.com +_google_default_client_secret=0ZChLK6AxeA3Isu96MkwqDR4 + +prepare() { + cd "$srcdir/$pkgname-$pkgver" + + # Allow building against system libraries in official builds + sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ + tools/generate_shim_headers/generate_shim_headers.py + + # https://crbug.com/893950 + sed -i -e 's/\<xmlMalloc\>/malloc/' -e 's/\<xmlFree\>/free/' \ + third_party/blink/renderer/core/xml/*.cc \ + third_party/blink/renderer/core/xml/parser/xml_document_parser.cc \ + third_party/libxml/chromium/*.cc + + # https://chromium-review.googlesource.com/c/chromium/src/+/2223010 + patch -Np1 -i ../remove-NotifyError-calls-and-just-send-a-normal-message.patch + + # https://chromium-review.googlesource.com/c/chromium/src/+/2224737 + patch -Np1 -i ../avoid-calling-DeleteForCurrentDocument-from-destructor.patch + + # https://chromium-review.googlesource.com/c/chromium/src/+/2268221 + patch -Np1 -i ../force-mp3-files-to-have-a-start-time-of-zero.patch + + # Fixes for building with libstdc++ instead of libc++ + patch -Np1 -i ../patches/chromium-84-AXObject-stl-iterator.patch + patch -Np1 -i ../patches/chromium-84-ListContainerHelper-include-cstring.patch + patch -Np1 -i ../patches/chromium-84-crashpad-include-cstring.patch + patch -Np1 -i ../patches/chromium-84-gcc-10-include-stddef.patch + patch -Np1 -i ../patches/chromium-84-gcc-10-webrtc-include-stddef.patch + patch -Np1 -i ../patches/chromium-84-gcc-DCHECK_EQ-unique_ptr.patch + patch -Np1 -i ../patches/chromium-84-std-vector-const.patch + + # https://crbug.com/1095962 + patch -Np1 -i ../chromium-ffmpeg-4.3.patch + + # Patch from rpmfusion: chromium-freeworld + patch -Np1 -i ../chromium-fix-vaapi-on-intel.patch + + # https://crbug.com/skia/6663#c10 + patch -Np0 -i ../chromium-skia-harmony.patch + + # Force script incompatible with Python 3 to use /usr/bin/python2 + sed -i '1s|python$|&2|' third_party/dom_distiller_js/protoc_plugins/*.py + + # Make xcbgen available to ui/gfx/x/gen_xproto.py running under Python 2 + ln -s /usr/lib/python3.*/site-packages/xcbgen "$srcdir/" + + mkdir -p third_party/node/linux/node-linux-x64/bin + ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/ + + # Remove bundled libraries for which we will use the system copies; this + # *should* do what the remove_bundled_libraries.py script does, with the + # added benefit of not having to list all the remaining libraries + local _lib + for _lib in ${_unwanted_bundled_libs[@]}; do + find "third_party/$_lib" -type f \ + \! -path "third_party/$_lib/chromium/*" \ + \! -path "third_party/$_lib/google/*" \ + \! -path "third_party/harfbuzz-ng/utils/hb_scoped.h" \ + \! -regex '.*\.\(gn\|gni\|isolate\)' \ + -delete + done + + python2 build/linux/unbundle/replace_gn_files.py \ + --system-libraries "${!_system_libs[@]}" +} + +build() { + make -C chromium-launcher-$_launcher_ver + + cd "$srcdir/$pkgname-$pkgver" + + if check_buildoption ccache y; then + # Avoid falling back to preprocessor mode when sources contain time macros + export CCACHE_SLOPPINESS=time_macros + fi + + # ui/gfx/x/gen_xproto.py needs xcbgen + export PYTHONPATH=$srcdir + + export CC=clang + export CXX=clang++ + export AR=ar + export NM=nm + + local _flags=( + 'custom_toolchain="//build/toolchain/linux/unbundle:default"' + 'host_toolchain="//build/toolchain/linux/unbundle:default"' + 'clang_use_chrome_plugins=false' + 'is_official_build=true' # implies is_cfi=true on x86_64 + 'treat_warnings_as_errors=false' + 'fieldtrial_testing_like_official_build=true' + 'ffmpeg_branding="Chrome"' + 'proprietary_codecs=true' + 'rtc_use_pipewire=true' + 'link_pulseaudio=true' + 'use_gnome_keyring=false' + 'use_sysroot=false' + 'use_custom_libcxx=false' + 'enable_hangout_services_extension=true' + 'enable_widevine=true' + 'use_vaapi=true' + 'enable_nacl=false' + "google_api_key=\"${_google_api_key}\"" + "google_default_client_id=\"${_google_default_client_id}\"" + "google_default_client_secret=\"${_google_default_client_secret}\"" + ) + + if [[ -n ${_system_libs[icu]+set} ]]; then + _flags+=('icu_use_data_file=false') + fi + + if check_option strip y; then + _flags+=('symbol_level=0') + fi + + # Facilitate deterministic builds (taken from build/config/compiler/BUILD.gn) + CFLAGS+=' -Wno-builtin-macro-redefined' + CXXFLAGS+=' -Wno-builtin-macro-redefined' + CPPFLAGS+=' -D__DATE__= -D__TIME__= -D__TIMESTAMP__=' + + # Do not warn about unknown warning options + CFLAGS+=' -Wno-unknown-warning-option' + CXXFLAGS+=' -Wno-unknown-warning-option' + + gn gen out/Release --args="${_flags[*]}" --script-executable=/usr/bin/python2 + ninja -C out/Release chrome chrome_sandbox chromedriver +} + +package() { + cd chromium-launcher-$_launcher_ver + make PREFIX=/usr DESTDIR="$pkgdir" install + install -Dm644 LICENSE \ + "$pkgdir/usr/share/licenses/chromium/LICENSE.launcher" + + cd "$srcdir/$pkgname-$pkgver" + + install -D out/Release/chrome "$pkgdir/usr/lib/chromium/chromium" + install -Dm4755 out/Release/chrome_sandbox "$pkgdir/usr/lib/chromium/chrome-sandbox" + ln -s /usr/lib/chromium/chromedriver "$pkgdir/usr/bin/chromedriver" + + install -Dm644 chrome/installer/linux/common/desktop.template \ + "$pkgdir/usr/share/applications/chromium.desktop" + install -Dm644 chrome/app/resources/manpage.1.in \ + "$pkgdir/usr/share/man/man1/chromium.1" + sed -i \ + -e 's/@@MENUNAME@@/Chromium/g' \ + -e 's/@@PACKAGE@@/chromium/g' \ + -e 's/@@USR_BIN_SYMLINK_NAME@@/chromium/g' \ + "$pkgdir/usr/share/applications/chromium.desktop" \ + "$pkgdir/usr/share/man/man1/chromium.1" + + install -Dm644 chrome/installer/linux/common/chromium-browser/chromium-browser.appdata.xml \ + "$pkgdir/usr/share/metainfo/chromium.appdata.xml" + sed -ni \ + -e 's/chromium-browser\.desktop/chromium.desktop/' \ + -e '/<update_contact>/d' \ + -e '/<p>/N;/<p>\n.*\(We invite\|Chromium supports Vorbis\)/,/<\/p>/d' \ + -e '/^<?xml/,$p' \ + "$pkgdir/usr/share/metainfo/chromium.appdata.xml" + + local toplevel_files=( + chrome_100_percent.pak + chrome_200_percent.pak + resources.pak + v8_context_snapshot.bin + + # ANGLE + libEGL.so + libGLESv2.so + + chromedriver + ) + + if [[ -z ${_system_libs[icu]+set} ]]; then + toplevel_files+=(icudtl.dat) + fi + + cp "${toplevel_files[@]/#/out/Release/}" "$pkgdir/usr/lib/chromium/" + install -Dm644 -t "$pkgdir/usr/lib/chromium/locales" out/Release/locales/*.pak + install -Dm755 -t "$pkgdir/usr/lib/chromium/swiftshader" out/Release/swiftshader/*.so + + for size in 24 48 64 128 256; do + install -Dm644 "chrome/app/theme/chromium/product_logo_$size.png" \ + "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png" + done + + for size in 16 32; do + install -Dm644 "chrome/app/theme/default_100_percent/chromium/product_logo_$size.png" \ + "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png" + done + + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/chromium/LICENSE" +} + +# vim:set ts=2 sw=2 et: Deleted: avoid-calling-DeleteForCurrentDocument-from-destructor.patch =================================================================== --- avoid-calling-DeleteForCurrentDocument-from-destructor.patch 2020-08-11 05:37:15 UTC (rev 393542) +++ avoid-calling-DeleteForCurrentDocument-from-destructor.patch 2020-08-11 05:37:25 UTC (rev 393543) @@ -1,71 +0,0 @@ -From 128869693a2519578896b41765df029d7adc4ae0 Mon Sep 17 00:00:00 2001 -From: Yuzu Saijo <yu...@chromium.org> -Date: Tue, 2 Jun 2020 04:51:11 +0000 -Subject: [PATCH] [content] Avoid calling DeleteForCurrentDocument from - destructor - -This CL removes the call to DeleteForCurrentDocument from the destructor -of ManifestManagerHost. - -This intends to fix a crash which happens from time to time using -RenderDocumentHostUserData. - -Change-Id: I1336fb62328dcb0cf9991499f399bf3665d29b75 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2224737 -Reviewed-by: Rakina Zata Amni <rak...@chromium.org> -Reviewed-by: Alexander Timin <alti...@chromium.org> -Reviewed-by: Sreeja Kamishetty <sreejakshe...@chromium.org> -Reviewed-by: Kinuko Yasuda <kin...@chromium.org> -Commit-Queue: Yuzu Saijo <yu...@chromium.org> -Cr-Commit-Position: refs/heads/master@{#774006} ---- - content/browser/manifest/manifest_manager_host.cc | 7 +++++-- - content/browser/manifest/manifest_manager_host.h | 2 ++ - 2 files changed, 7 insertions(+), 2 deletions(-) - -diff --git a/content/browser/manifest/manifest_manager_host.cc b/content/browser/manifest/manifest_manager_host.cc -index 3a2efba889a..1bd88d91edc 100644 ---- a/content/browser/manifest/manifest_manager_host.cc -+++ b/content/browser/manifest/manifest_manager_host.cc -@@ -22,7 +22,7 @@ ManifestManagerHost::ManifestManagerHost(RenderFrameHost* render_frame_host) - } - - ManifestManagerHost::~ManifestManagerHost() { -- OnConnectionError(); -+ DispatchPendingCallbacks(); - } - - void ManifestManagerHost::BindObserver( -@@ -55,7 +55,7 @@ blink::mojom::ManifestManager& ManifestManagerHost::GetManifestManager() { - return *manifest_manager_; - } - --void ManifestManagerHost::OnConnectionError() { -+void ManifestManagerHost::DispatchPendingCallbacks() { - std::vector<GetManifestCallback> callbacks; - for (CallbackMap::iterator it(&callbacks_); !it.IsAtEnd(); it.Advance()) { - callbacks.push_back(std::move(*it.GetCurrentValue())); -@@ -63,7 +63,10 @@ void ManifestManagerHost::OnConnectionError() { - callbacks_.Clear(); - for (auto& callback : callbacks) - std::move(callback).Run(GURL(), blink::Manifest()); -+} - -+void ManifestManagerHost::OnConnectionError() { -+ DispatchPendingCallbacks(); - if (GetForCurrentDocument(manifest_manager_frame_)) { - DeleteForCurrentDocument(manifest_manager_frame_); - } -diff --git a/content/browser/manifest/manifest_manager_host.h b/content/browser/manifest/manifest_manager_host.h -index 96951ae30bc..f706c20bdb8 100644 ---- a/content/browser/manifest/manifest_manager_host.h -+++ b/content/browser/manifest/manifest_manager_host.h -@@ -55,6 +55,8 @@ class ManifestManagerHost - using CallbackMap = base::IDMap<std::unique_ptr<GetManifestCallback>>; - - blink::mojom::ManifestManager& GetManifestManager(); -+ -+ void DispatchPendingCallbacks(); - void OnConnectionError(); - - void OnRequestManifestResponse(int request_id, Copied: chromium/repos/extra-x86_64/avoid-calling-DeleteForCurrentDocument-from-destructor.patch (from rev 393542, chromium/trunk/avoid-calling-DeleteForCurrentDocument-from-destructor.patch) =================================================================== --- avoid-calling-DeleteForCurrentDocument-from-destructor.patch (rev 0) +++ avoid-calling-DeleteForCurrentDocument-from-destructor.patch 2020-08-11 05:37:25 UTC (rev 393543) @@ -0,0 +1,71 @@ +From 128869693a2519578896b41765df029d7adc4ae0 Mon Sep 17 00:00:00 2001 +From: Yuzu Saijo <yu...@chromium.org> +Date: Tue, 2 Jun 2020 04:51:11 +0000 +Subject: [PATCH] [content] Avoid calling DeleteForCurrentDocument from + destructor + +This CL removes the call to DeleteForCurrentDocument from the destructor +of ManifestManagerHost. + +This intends to fix a crash which happens from time to time using +RenderDocumentHostUserData. + +Change-Id: I1336fb62328dcb0cf9991499f399bf3665d29b75 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2224737 +Reviewed-by: Rakina Zata Amni <rak...@chromium.org> +Reviewed-by: Alexander Timin <alti...@chromium.org> +Reviewed-by: Sreeja Kamishetty <sreejakshe...@chromium.org> +Reviewed-by: Kinuko Yasuda <kin...@chromium.org> +Commit-Queue: Yuzu Saijo <yu...@chromium.org> +Cr-Commit-Position: refs/heads/master@{#774006} +--- + content/browser/manifest/manifest_manager_host.cc | 7 +++++-- + content/browser/manifest/manifest_manager_host.h | 2 ++ + 2 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/content/browser/manifest/manifest_manager_host.cc b/content/browser/manifest/manifest_manager_host.cc +index 3a2efba889a..1bd88d91edc 100644 +--- a/content/browser/manifest/manifest_manager_host.cc ++++ b/content/browser/manifest/manifest_manager_host.cc +@@ -22,7 +22,7 @@ ManifestManagerHost::ManifestManagerHost(RenderFrameHost* render_frame_host) + } + + ManifestManagerHost::~ManifestManagerHost() { +- OnConnectionError(); ++ DispatchPendingCallbacks(); + } + + void ManifestManagerHost::BindObserver( +@@ -55,7 +55,7 @@ blink::mojom::ManifestManager& ManifestManagerHost::GetManifestManager() { + return *manifest_manager_; + } + +-void ManifestManagerHost::OnConnectionError() { ++void ManifestManagerHost::DispatchPendingCallbacks() { + std::vector<GetManifestCallback> callbacks; + for (CallbackMap::iterator it(&callbacks_); !it.IsAtEnd(); it.Advance()) { + callbacks.push_back(std::move(*it.GetCurrentValue())); +@@ -63,7 +63,10 @@ void ManifestManagerHost::OnConnectionError() { + callbacks_.Clear(); + for (auto& callback : callbacks) + std::move(callback).Run(GURL(), blink::Manifest()); ++} + ++void ManifestManagerHost::OnConnectionError() { ++ DispatchPendingCallbacks(); + if (GetForCurrentDocument(manifest_manager_frame_)) { + DeleteForCurrentDocument(manifest_manager_frame_); + } +diff --git a/content/browser/manifest/manifest_manager_host.h b/content/browser/manifest/manifest_manager_host.h +index 96951ae30bc..f706c20bdb8 100644 +--- a/content/browser/manifest/manifest_manager_host.h ++++ b/content/browser/manifest/manifest_manager_host.h +@@ -55,6 +55,8 @@ class ManifestManagerHost + using CallbackMap = base::IDMap<std::unique_ptr<GetManifestCallback>>; + + blink::mojom::ManifestManager& GetManifestManager(); ++ ++ void DispatchPendingCallbacks(); + void OnConnectionError(); + + void OnRequestManifestResponse(int request_id, Deleted: chromium-ffmpeg-4.3.patch =================================================================== --- chromium-ffmpeg-4.3.patch 2020-08-11 05:37:15 UTC (rev 393542) +++ chromium-ffmpeg-4.3.patch 2020-08-11 05:37:25 UTC (rev 393543) @@ -1,21 +0,0 @@ -diff --git a/media/base/media.cc b/media/base/media.cc -index c282ee49a03..a298b40c79b 100644 ---- a/media/base/media.cc -+++ b/media/base/media.cc -@@ -14,6 +14,7 @@ - #include "third_party/libyuv/include/libyuv.h" - - #if BUILDFLAG(ENABLE_FFMPEG) -+#include <limits> - #include "third_party/ffmpeg/ffmpeg_features.h" // nogncheck - extern "C" { - #include <libavutil/cpu.h> -@@ -41,7 +42,7 @@ class MediaInitializer { - - #if BUILDFLAG(USE_ALLOCATOR_SHIM) - // Remove allocation limit from ffmpeg, so calls go down to shim layer. -- av_max_alloc(0); -+ av_max_alloc(std::numeric_limits<size_t>::max()); - #endif // BUILDFLAG(USE_ALLOCATOR_SHIM) - - #endif // BUILDFLAG(ENABLE_FFMPEG) Copied: chromium/repos/extra-x86_64/chromium-ffmpeg-4.3.patch (from rev 393542, chromium/trunk/chromium-ffmpeg-4.3.patch) =================================================================== --- chromium-ffmpeg-4.3.patch (rev 0) +++ chromium-ffmpeg-4.3.patch 2020-08-11 05:37:25 UTC (rev 393543) @@ -0,0 +1,21 @@ +diff --git a/media/base/media.cc b/media/base/media.cc +index c282ee49a03..a298b40c79b 100644 +--- a/media/base/media.cc ++++ b/media/base/media.cc +@@ -14,6 +14,7 @@ + #include "third_party/libyuv/include/libyuv.h" + + #if BUILDFLAG(ENABLE_FFMPEG) ++#include <limits> + #include "third_party/ffmpeg/ffmpeg_features.h" // nogncheck + extern "C" { + #include <libavutil/cpu.h> +@@ -41,7 +42,7 @@ class MediaInitializer { + + #if BUILDFLAG(USE_ALLOCATOR_SHIM) + // Remove allocation limit from ffmpeg, so calls go down to shim layer. +- av_max_alloc(0); ++ av_max_alloc(std::numeric_limits<size_t>::max()); + #endif // BUILDFLAG(USE_ALLOCATOR_SHIM) + + #endif // BUILDFLAG(ENABLE_FFMPEG) Deleted: chromium-fix-vaapi-on-intel.patch =================================================================== --- chromium-fix-vaapi-on-intel.patch 2020-08-11 05:37:15 UTC (rev 393542) +++ chromium-fix-vaapi-on-intel.patch 2020-08-11 05:37:25 UTC (rev 393543) @@ -1,40 +0,0 @@ -From 9ff06536caf7ea51aad9fd2bb649c858eaf7ee84 Mon Sep 17 00:00:00 2001 -From: Akarshan Biswas <akarshanbis...@fedoraproject.org> -Date: Sat, 26 Oct 2019 10:06:30 +0530 -Subject: [PATCH] Move offending function to chromeos only - ---- a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc -+++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc -@@ -66,6 +66,7 @@ void ReportToUMA(VAVDADecoderFailure fai - VAVDA_DECODER_FAILURES_MAX + 1); - } - -+#if defined(OS_ANDROID) || defined(OS_CHROMEOS) - // Returns true if the CPU is an Intel Gemini Lake or later (including Kaby - // Lake) Cpu platform id's are referenced from the following file in kernel - // source arch/x86/include/asm/intel-family.h -@@ -78,6 +79,7 @@ bool IsGeminiLakeOrLater() { - cpuid.model() >= kGeminiLakeModelId; - return is_geminilake_or_later; - } -+#endif - - } // namespace - -@@ -1155,6 +1157,8 @@ VaapiVideoDecodeAccelerator::DecideBuffe - if (output_mode_ == VideoDecodeAccelerator::Config::OutputMode::IMPORT) - return BufferAllocationMode::kNormal; - -+#if defined(OS_ANDROID) || defined(OS_CHROMEOS) -+ // Move this to chromeOs only as it is causing problem in some intel linux drivers - // On Gemini Lake, Kaby Lake and later we can pass to libva the client's - // PictureBuffers to decode onto, which skips the use of the Vpp unit and its - // associated format reconciliation copy, avoiding all internal buffer -@@ -1171,6 +1175,7 @@ VaapiVideoDecodeAccelerator::DecideBuffe - num_extra_pics_ = 3; - return BufferAllocationMode::kNone; - } -+#endif - - // If we're here, we have to use the Vpp unit and allocate buffers for - // |decoder_|; usually we'd have to allocate the |decoder_|s Copied: chromium/repos/extra-x86_64/chromium-fix-vaapi-on-intel.patch (from rev 393542, chromium/trunk/chromium-fix-vaapi-on-intel.patch) =================================================================== --- chromium-fix-vaapi-on-intel.patch (rev 0) +++ chromium-fix-vaapi-on-intel.patch 2020-08-11 05:37:25 UTC (rev 393543) @@ -0,0 +1,40 @@ +From 9ff06536caf7ea51aad9fd2bb649c858eaf7ee84 Mon Sep 17 00:00:00 2001 +From: Akarshan Biswas <akarshanbis...@fedoraproject.org> +Date: Sat, 26 Oct 2019 10:06:30 +0530 +Subject: [PATCH] Move offending function to chromeos only + +--- a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc ++++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc +@@ -66,6 +66,7 @@ void ReportToUMA(VAVDADecoderFailure fai + VAVDA_DECODER_FAILURES_MAX + 1); + } + ++#if defined(OS_ANDROID) || defined(OS_CHROMEOS) + // Returns true if the CPU is an Intel Gemini Lake or later (including Kaby + // Lake) Cpu platform id's are referenced from the following file in kernel + // source arch/x86/include/asm/intel-family.h +@@ -78,6 +79,7 @@ bool IsGeminiLakeOrLater() { + cpuid.model() >= kGeminiLakeModelId; + return is_geminilake_or_later; + } ++#endif + + } // namespace + +@@ -1155,6 +1157,8 @@ VaapiVideoDecodeAccelerator::DecideBuffe + if (output_mode_ == VideoDecodeAccelerator::Config::OutputMode::IMPORT) + return BufferAllocationMode::kNormal; + ++#if defined(OS_ANDROID) || defined(OS_CHROMEOS) ++ // Move this to chromeOs only as it is causing problem in some intel linux drivers + // On Gemini Lake, Kaby Lake and later we can pass to libva the client's + // PictureBuffers to decode onto, which skips the use of the Vpp unit and its + // associated format reconciliation copy, avoiding all internal buffer +@@ -1171,6 +1175,7 @@ VaapiVideoDecodeAccelerator::DecideBuffe + num_extra_pics_ = 3; + return BufferAllocationMode::kNone; + } ++#endif + + // If we're here, we have to use the Vpp unit and allocate buffers for + // |decoder_|; usually we'd have to allocate the |decoder_|s Deleted: chromium-skia-harmony.patch =================================================================== --- chromium-skia-harmony.patch 2020-08-11 05:37:15 UTC (rev 393542) +++ chromium-skia-harmony.patch 2020-08-11 05:37:25 UTC (rev 393543) @@ -1,14 +0,0 @@ ---- third_party/skia/src/ports/SkFontHost_FreeType.cpp.orig 2019-07-19 11:08:34.770972665 +0000 -+++ third_party/skia/src/ports/SkFontHost_FreeType.cpp 2019-07-19 11:08:44.274442065 +0000 -@@ -128,9 +128,9 @@ public: - : fGetVarDesignCoordinates(nullptr) - , fGetVarAxisFlags(nullptr) - , fLibrary(nullptr) -- , fIsLCDSupported(false) -+ , fIsLCDSupported(true) - , fLightHintingIsYOnly(false) -- , fLCDExtra(0) -+ , fLCDExtra(2) - { - if (FT_New_Library(&gFTMemory, &fLibrary)) { - return; Copied: chromium/repos/extra-x86_64/chromium-skia-harmony.patch (from rev 393542, chromium/trunk/chromium-skia-harmony.patch) =================================================================== --- chromium-skia-harmony.patch (rev 0) +++ chromium-skia-harmony.patch 2020-08-11 05:37:25 UTC (rev 393543) @@ -0,0 +1,14 @@ +--- third_party/skia/src/ports/SkFontHost_FreeType.cpp.orig 2019-07-19 11:08:34.770972665 +0000 ++++ third_party/skia/src/ports/SkFontHost_FreeType.cpp 2019-07-19 11:08:44.274442065 +0000 +@@ -128,9 +128,9 @@ public: + : fGetVarDesignCoordinates(nullptr) + , fGetVarAxisFlags(nullptr) + , fLibrary(nullptr) +- , fIsLCDSupported(false) ++ , fIsLCDSupported(true) + , fLightHintingIsYOnly(false) +- , fLCDExtra(0) ++ , fLCDExtra(2) + { + if (FT_New_Library(&gFTMemory, &fLibrary)) { + return; Deleted: chromium.install =================================================================== --- chromium.install 2020-08-11 05:37:15 UTC (rev 393542) +++ chromium.install 2020-08-11 05:37:25 UTC (rev 393543) @@ -1,16 +0,0 @@ -post_upgrade() { - if (($(vercmp $2 42.0.2311.90-1) < 0)); then - echo ':: This Chromium package no longer supports custom flags passed via the' - echo ' /etc/chromium/default file (or any other files under /etc/chromium/).' - echo - echo ' The new /usr/bin/chromium launcher script will automatically detect' - echo ' Pepper Flash (if installed) and pass the correct flags to Chromium.' - echo - echo ' If you need to pass extra command-line arguments to Chromium, you' - echo ' can put them in a "chromium-flags.conf" file under $HOME/.config/' - echo ' (or $XDG_CONFIG_HOME). Arguments are split on whitespace and shell' - echo ' quoting rules apply but no further parsing is performed.' - fi -} - -# vim:set ts=2 sw=2 et: Copied: chromium/repos/extra-x86_64/chromium.install (from rev 393542, chromium/trunk/chromium.install) =================================================================== --- chromium.install (rev 0) +++ chromium.install 2020-08-11 05:37:25 UTC (rev 393543) @@ -0,0 +1,16 @@ +post_upgrade() { + if (($(vercmp $2 42.0.2311.90-1) < 0)); then + echo ':: This Chromium package no longer supports custom flags passed via the' + echo ' /etc/chromium/default file (or any other files under /etc/chromium/).' + echo + echo ' The new /usr/bin/chromium launcher script will automatically detect' + echo ' Pepper Flash (if installed) and pass the correct flags to Chromium.' + echo + echo ' If you need to pass extra command-line arguments to Chromium, you' + echo ' can put them in a "chromium-flags.conf" file under $HOME/.config/' + echo ' (or $XDG_CONFIG_HOME). Arguments are split on whitespace and shell' + echo ' quoting rules apply but no further parsing is performed.' + fi +} + +# vim:set ts=2 sw=2 et: Deleted: force-mp3-files-to-have-a-start-time-of-zero.patch =================================================================== --- force-mp3-files-to-have-a-start-time-of-zero.patch 2020-08-11 05:37:15 UTC (rev 393542) +++ force-mp3-files-to-have-a-start-time-of-zero.patch 2020-08-11 05:37:25 UTC (rev 393543) @@ -1,38 +0,0 @@ -From 192fc3899f76e9487d77895f31df8d2d13bf9619 Mon Sep 17 00:00:00 2001 -From: Dale Curtis <dalecur...@chromium.org> -Date: Fri, 26 Jun 2020 01:10:55 +0000 -Subject: [PATCH] Force mp3 files to have a start time of zero. - -This will allow us to remove our custom patch which breaks upstream -ffmpeg functionality for unknown reasons. - -R=sandersd - -Fixed: 1062037 -Change-Id: I253011843dee4dd6a8c958b14990ad836a9f1dca -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2268221 -Auto-Submit: Dale Curtis <dalecur...@chromium.org> -Reviewed-by: Dan Sanders <sande...@chromium.org> -Commit-Queue: Dale Curtis <dalecur...@chromium.org> -Cr-Commit-Position: refs/heads/master@{#782792} ---- - media/filters/ffmpeg_demuxer.cc | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc -index 01266e1a072..a7ed542b5fc 100644 ---- a/media/filters/ffmpeg_demuxer.cc -+++ b/media/filters/ffmpeg_demuxer.cc -@@ -1522,6 +1522,12 @@ void FFmpegDemuxer::OnFindStreamInfoDone(int result) { - if (glue_->container() == container_names::CONTAINER_AVI) - format_context->flags |= AVFMT_FLAG_GENPTS; - -+ // FFmpeg will incorrectly adjust the start time of MP3 files into the future -+ // based on discard samples. We were unable to fix this upstream without -+ // breaking ffmpeg functionality. https://crbug.com/1062037 -+ if (glue_->container() == container_names::CONTAINER_MP3) -+ start_time_ = base::TimeDelta(); -+ - // For testing purposes, don't overwrite the timeline offset if set already. - if (timeline_offset_.is_null()) { - timeline_offset_ = Copied: chromium/repos/extra-x86_64/force-mp3-files-to-have-a-start-time-of-zero.patch (from rev 393542, chromium/trunk/force-mp3-files-to-have-a-start-time-of-zero.patch) =================================================================== --- force-mp3-files-to-have-a-start-time-of-zero.patch (rev 0) +++ force-mp3-files-to-have-a-start-time-of-zero.patch 2020-08-11 05:37:25 UTC (rev 393543) @@ -0,0 +1,38 @@ +From 192fc3899f76e9487d77895f31df8d2d13bf9619 Mon Sep 17 00:00:00 2001 +From: Dale Curtis <dalecur...@chromium.org> +Date: Fri, 26 Jun 2020 01:10:55 +0000 +Subject: [PATCH] Force mp3 files to have a start time of zero. + +This will allow us to remove our custom patch which breaks upstream +ffmpeg functionality for unknown reasons. + +R=sandersd + +Fixed: 1062037 +Change-Id: I253011843dee4dd6a8c958b14990ad836a9f1dca +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2268221 +Auto-Submit: Dale Curtis <dalecur...@chromium.org> +Reviewed-by: Dan Sanders <sande...@chromium.org> +Commit-Queue: Dale Curtis <dalecur...@chromium.org> +Cr-Commit-Position: refs/heads/master@{#782792} +--- + media/filters/ffmpeg_demuxer.cc | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc +index 01266e1a072..a7ed542b5fc 100644 +--- a/media/filters/ffmpeg_demuxer.cc ++++ b/media/filters/ffmpeg_demuxer.cc +@@ -1522,6 +1522,12 @@ void FFmpegDemuxer::OnFindStreamInfoDone(int result) { + if (glue_->container() == container_names::CONTAINER_AVI) + format_context->flags |= AVFMT_FLAG_GENPTS; + ++ // FFmpeg will incorrectly adjust the start time of MP3 files into the future ++ // based on discard samples. We were unable to fix this upstream without ++ // breaking ffmpeg functionality. https://crbug.com/1062037 ++ if (glue_->container() == container_names::CONTAINER_MP3) ++ start_time_ = base::TimeDelta(); ++ + // For testing purposes, don't overwrite the timeline offset if set already. + if (timeline_offset_.is_null()) { + timeline_offset_ = Deleted: remove-NotifyError-calls-and-just-send-a-normal-message.patch =================================================================== --- remove-NotifyError-calls-and-just-send-a-normal-message.patch 2020-08-11 05:37:15 UTC (rev 393542) +++ remove-NotifyError-calls-and-just-send-a-normal-message.patch 2020-08-11 05:37:25 UTC (rev 393543) @@ -1,42 +0,0 @@ -From 3bfec15358b788a2b7e1beefaa177ba84a6da328 Mon Sep 17 00:00:00 2001 -From: Ted Meyer <tmathme...@chromium.org> -Date: Mon, 1 Jun 2020 19:31:18 +0000 -Subject: [PATCH] Remove NotifyError calls and just send a normal message - instead - -rewrote the TODO as well. - -Bug: 1088055 -Change-Id: If83ceeb3a786a1813e41bd3ac6c7309791e92400 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2223010 -Auto-Submit: Ted Meyer <tmathme...@chromium.org> -Commit-Queue: Dale Curtis <dalecur...@chromium.org> -Reviewed-by: Dale Curtis <dalecur...@chromium.org> -Cr-Commit-Position: refs/heads/master@{#773776} ---- - media/filters/decoder_selector.cc | 12 +++++------- - 1 file changed, 5 insertions(+), 7 deletions(-) - -diff --git a/media/filters/decoder_selector.cc b/media/filters/decoder_selector.cc -index bb06378b92d..9f510bb578c 100644 ---- a/media/filters/decoder_selector.cc -+++ b/media/filters/decoder_selector.cc -@@ -165,13 +165,11 @@ void DecoderSelector<StreamType>::OnDecoderInitializeDone(Status status) { - DCHECK(task_runner_->BelongsToCurrentThread()); - - if (!status.is_ok()) { -- // TODO(tmathmeyer) this might be noisy in media log. Consider batching -- // all failures as causes to a single Status object and only surfacing it if -- // decoder selection fails entirely. -- media_log_->NotifyError( -- Status(StatusCode::kDecoderFailedInitialization) -- .WithData("Decoder name", decoder_->GetDisplayName()) -- .AddCause(std::move(status))); -+ // TODO(tmathmeyer) this was too noisy in media log. Batch all the logs -+ // together and then send them as an informational notice instead of -+ // using NotifyError. -+ MEDIA_LOG(INFO, media_log_) -+ << "Failed to initialize " << decoder_->GetDisplayName(); - - // Try the next decoder on the list. - decoder_.reset(); Copied: chromium/repos/extra-x86_64/remove-NotifyError-calls-and-just-send-a-normal-message.patch (from rev 393542, chromium/trunk/remove-NotifyError-calls-and-just-send-a-normal-message.patch) =================================================================== --- remove-NotifyError-calls-and-just-send-a-normal-message.patch (rev 0) +++ remove-NotifyError-calls-and-just-send-a-normal-message.patch 2020-08-11 05:37:25 UTC (rev 393543) @@ -0,0 +1,42 @@ +From 3bfec15358b788a2b7e1beefaa177ba84a6da328 Mon Sep 17 00:00:00 2001 +From: Ted Meyer <tmathme...@chromium.org> +Date: Mon, 1 Jun 2020 19:31:18 +0000 +Subject: [PATCH] Remove NotifyError calls and just send a normal message + instead + +rewrote the TODO as well. + +Bug: 1088055 +Change-Id: If83ceeb3a786a1813e41bd3ac6c7309791e92400 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2223010 +Auto-Submit: Ted Meyer <tmathme...@chromium.org> +Commit-Queue: Dale Curtis <dalecur...@chromium.org> +Reviewed-by: Dale Curtis <dalecur...@chromium.org> +Cr-Commit-Position: refs/heads/master@{#773776} +--- + media/filters/decoder_selector.cc | 12 +++++------- + 1 file changed, 5 insertions(+), 7 deletions(-) + +diff --git a/media/filters/decoder_selector.cc b/media/filters/decoder_selector.cc +index bb06378b92d..9f510bb578c 100644 +--- a/media/filters/decoder_selector.cc ++++ b/media/filters/decoder_selector.cc +@@ -165,13 +165,11 @@ void DecoderSelector<StreamType>::OnDecoderInitializeDone(Status status) { + DCHECK(task_runner_->BelongsToCurrentThread()); + + if (!status.is_ok()) { +- // TODO(tmathmeyer) this might be noisy in media log. Consider batching +- // all failures as causes to a single Status object and only surfacing it if +- // decoder selection fails entirely. +- media_log_->NotifyError( +- Status(StatusCode::kDecoderFailedInitialization) +- .WithData("Decoder name", decoder_->GetDisplayName()) +- .AddCause(std::move(status))); ++ // TODO(tmathmeyer) this was too noisy in media log. Batch all the logs ++ // together and then send them as an informational notice instead of ++ // using NotifyError. ++ MEDIA_LOG(INFO, media_log_) ++ << "Failed to initialize " << decoder_->GetDisplayName(); + + // Try the next decoder on the list. + decoder_.reset();