* [gentoo-commits] proj/riscv:master commit in: www-client/chromium/files/, www-client/chromium/
@ 2021-12-14 9:25 Yixun Lan
0 siblings, 0 replies; 7+ messages in thread
From: Yixun Lan @ 2021-12-14 9:25 UTC (permalink / raw
To: gentoo-commits
commit: 8c94b1452b69a7673c69e1985d8e5747f8b938f2
Author: Yixun Lan <dlan <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 14 08:37:56 2021 +0000
Commit: Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Tue Dec 14 08:38:01 2021 +0000
URL: https://gitweb.gentoo.org/proj/riscv.git/commit/?id=8c94b145
www-client/chromium: initial import chromium-98
from commit: c4437ce25f70c016fb51c438f421ddafd580ad9a
Signed-off-by: Yixun Lan <dlan <AT> gentoo.org>
www-client/chromium/Manifest | 7 +
www-client/chromium/chromium-96.0.4664.93.ebuild | 963 +++++++++++++++++++++
www-client/chromium/chromium-97.0.4692.45.ebuild | 957 ++++++++++++++++++++
www-client/chromium/chromium-98.0.4750.0.ebuild | 963 +++++++++++++++++++++
.../files/chromium-93-InkDropHost-crash.patch | 25 +
.../files/chromium-96-EnumTable-crash.patch | 76 ++
.../files/chromium-96-freetype-unbundle.patch | 10 +
.../files/chromium-98-EnumTable-crash.patch | 76 ++
.../chromium/files/chromium-98-system-libdrm.patch | 34 +
www-client/chromium/files/chromium-browser.xml | 13 +
.../chromium/files/chromium-glibc-2.34.patch | 50 ++
www-client/chromium/files/chromium-launcher-r7.sh | 59 ++
| 48 +
...ium-use-oauth2-client-switches-as-default.patch | 17 +
www-client/chromium/files/chromium.default | 5 +
www-client/chromium/metadata.xml | 25 +
16 files changed, 3328 insertions(+)
diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
new file mode 100644
index 0000000..9786162
--- /dev/null
+++ b/www-client/chromium/Manifest
@@ -0,0 +1,7 @@
+DIST chromium-96-patchset-4.tar.xz 4812 BLAKE2B 5d82d212b8ec1689be6f4a7a0646256311d06c17e74ee0e5b2035c32125a5235e4b6b7605cefffa367cc53e651be17b75f5e339149b4c80dca50cd959b1623f1 SHA512 a72c1bb2c58e9e2912a641093c153f01ad7239dc971c7c96481ba4164204afe41741f3253e8af03070dab8276179784dc6a11761b39ad7902ed2553016778282
+DIST chromium-96-ppc64le-1.tar.xz 29224 BLAKE2B 3369a3b15eb4f42761e01758135995a1f34e40cecbfc0372a4bc17b393d50b276ea5a0813d1c57f73f0dd34cf2a021356d25c2b4dcaa95998ffc082545dc915c SHA512 256d64fbf192e55d77c6580d36766a67dadfbd0f1e34e49bfc6d55114da7f2252d783db0dd09123996a71a01ec4a3d5c70fd1a5c8852db135857b8495f7cfbf1
+DIST chromium-96.0.4664.93.tar.xz 1209670724 BLAKE2B ebc99f6232fb65874dc73af6157c7175c1b7bf98f800819c343bdb37c42f49369b6af0146a093663a09a2588652eeb196526e9de776098f69e5ba8d75d205e69 SHA512 3441380372014dc338418f494fcd7407dd3888cea07af3415c9e8ff2c3547abbd516ae03eb4b831b89923817046a6d1549fb9558db9aa271aa0ba397e514c0b3
+DIST chromium-97-patchset-4.tar.xz 4240 BLAKE2B 450d013b6fd68f7e0bcb21a2b0828d531eda86965e636fe24fc36c2e7e1f74fe93f27f0d4b1d03e67c605797e28db37de4949ff78d5106e07b0362bec4bc5d8a SHA512 181c706c83bdbe07b2e7f02b654922a860aea761ad267e6545fb7d56b66373b003c1c79fae5cd45eeb3be8917782fa45df1c05bbb00e170f0146e7385f4246c4
+DIST chromium-97.0.4692.45.tar.xz 1213732240 BLAKE2B cd722330f4f84f29331974a0663fc39b021fb4cc7b1e96e4c355397bf7e37386938e5be05618c37692d29e8cfb514fdd069cbdf9ca44073d8da10fafaba598f8 SHA512 bac8367c7494dea46477d70af9dc2f8fa360936c4996cea92c623a503f2965a24afc1f83c15ccfa10bb3d331d21ed65f9c73799c0efe5b6180767ae36c17c2e1
+DIST chromium-98-patchset-3.tar.xz 6164 BLAKE2B be4fa2997e13e89a0c8db1e99fa80adb937c0c02f1e18bd0ec93bdbdd484da4a8507baf13c5e6e602d5f5ecb2921f33bc3afdc3c3103b1b5314b62f59c1a71ad SHA512 47026635ca5c2e1d3965c82a449077380e6518b33e16b83bd105085cca50f512d08027eebd34d7ce5ce39d988f0120deccfb72697abac0d41e4502b6ad8abdf3
+DIST chromium-98.0.4750.0.tar.xz 1230864580 BLAKE2B b8b5d05bf15a9429f3f5fa851415d21f6e757a99fce9ac47bdeb7f534f9eefc77d13c5f8ba93bfa140bdb536c13e1b6141ac4d7e0f17b742039c403044789c56 SHA512 7f8cc349aa50af0d149ba08e5ed60171e94943bbd52cb0f820f3c7d56749d9e2fd6d71761262ac012cfcad1f7e4f63c0404f39f044df531e776ae6fce951544f
diff --git a/www-client/chromium/chromium-96.0.4664.93.ebuild b/www-client/chromium/chromium-96.0.4664.93.ebuild
new file mode 100644
index 0000000..54fa899
--- /dev/null
+++ b/www-client/chromium/chromium-96.0.4664.93.ebuild
@@ -0,0 +1,963 @@
+# Copyright 2009-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_REQ_USE="xml"
+
+CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
+ hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr
+ sv sw ta te th tr uk vi zh-CN zh-TW"
+
+inherit check-reqs chromium-2 desktop flag-o-matic ninja-utils pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils
+
+DESCRIPTION="Open-source version of Google Chrome web browser"
+HOMEPAGE="https://chromium.org/"
+PATCHSET="4"
+PATCHSET_NAME="chromium-$(ver_cut 1)-patchset-${PATCHSET}"
+PPC64LE_PATCHSET="1"
+SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
+ https://github.com/stha09/chromium-patches/releases/download/${PATCHSET_NAME}/${PATCHSET_NAME}.tar.xz
+ ppc64? ( https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-$(ver_cut 1)-ppc64le-${PPC64LE_PATCHSET}.tar.xz )"
+
+LICENSE="BSD"
+SLOT="0/stable"
+KEYWORDS="amd64 arm64 ~x86"
+IUSE="component-build cups cpu_flags_arm_neon debug +hangouts headless +js-type-check kerberos +official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-harfbuzz +system-icu vaapi wayland widevine"
+REQUIRED_USE="
+ component-build? ( !suid )
+ screencast? ( wayland )
+"
+
+COMMON_X_DEPEND="
+ media-libs/mesa:=[gbm(+)]
+ x11-libs/libX11:=
+ x11-libs/libXcomposite:=
+ x11-libs/libXcursor:=
+ x11-libs/libXdamage:=
+ x11-libs/libXext:=
+ x11-libs/libXfixes:=
+ >=x11-libs/libXi-1.6.0:=
+ x11-libs/libXrandr:=
+ x11-libs/libXrender:=
+ x11-libs/libXtst:=
+ x11-libs/libxcb:=
+ x11-libs/libxshmfence:=
+ vaapi? ( >=x11-libs/libva-2.7:=[X,drm] )
+"
+
+COMMON_DEPEND="
+ app-arch/bzip2:=
+ cups? ( >=net-print/cups-1.3.11:= )
+ dev-libs/expat:=
+ dev-libs/glib:2
+ >=dev-libs/libxml2-2.9.4-r3:=[icu]
+ dev-libs/nspr:=
+ >=dev-libs/nss-3.26:=
+ >=media-libs/alsa-lib-1.0.19:=
+ media-libs/fontconfig:=
+ >=media-libs/freetype-2.11.0-r1:=
+ system-harfbuzz? ( >=media-libs/harfbuzz-2.9.0:0=[icu(-)] )
+ media-libs/libjpeg-turbo:=
+ media-libs/libpng:=
+ pulseaudio? ( media-sound/pulseaudio:= )
+ system-ffmpeg? (
+ >=media-video/ffmpeg-4.3:=
+ || (
+ media-video/ffmpeg[-samba]
+ >=net-fs/samba-4.5.10-r1[-debug(-)]
+ )
+ >=media-libs/opus-1.3.1:=
+ )
+ net-misc/curl[ssl]
+ sys-apps/dbus:=
+ sys-apps/pciutils:=
+ virtual/udev
+ x11-libs/cairo:=
+ x11-libs/gdk-pixbuf:2
+ x11-libs/libxkbcommon:=
+ x11-libs/pango:=
+ media-libs/flac:=
+ >=media-libs/libwebp-0.4.0:=
+ sys-libs/zlib:=[minizip]
+ kerberos? ( virtual/krb5 )
+ !headless? (
+ ${COMMON_X_DEPEND}
+ >=app-accessibility/at-spi2-atk-2.26:2
+ >=app-accessibility/at-spi2-core-2.26:2
+ >=dev-libs/atk-2.26
+ x11-libs/gtk+:3[X]
+ wayland? (
+ dev-libs/wayland:=
+ screencast? ( media-video/pipewire:0/0.3 )
+ x11-libs/gtk+:3[wayland,X]
+ x11-libs/libdrm:=
+ )
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ x11-misc/xdg-utils
+ virtual/opengl
+ virtual/ttf-fonts
+ selinux? ( sec-policy/selinux-chromium )
+"
+DEPEND="${COMMON_DEPEND}
+"
+# dev-vcs/git - https://bugs.gentoo.org/593476
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ')
+ >=app-arch/gzip-1.7
+ dev-lang/perl
+ >=dev-util/gn-0.1807
+ dev-vcs/git
+ >=dev-util/gperf-3.0.3
+ >=dev-util/ninja-1.7.2
+ >=net-libs/nodejs-7.6.0[inspector]
+ >=sys-devel/bison-2.4.3
+ sys-devel/flex
+ virtual/pkgconfig
+ js-type-check? ( virtual/jre )
+"
+
+# These are intended for ebuild maintainer use to force clang if GCC is broken.
+: ${CHROMIUM_FORCE_CLANG=no}
+: ${CHROMIUM_FORCE_LIBCXX=no}
+
+if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then
+ BDEPEND+=" >=sys-devel/clang-12"
+fi
+
+if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
+ RDEPEND+=" >=sys-libs/libcxx-12"
+ DEPEND+=" >=sys-libs/libcxx-12"
+else
+ COMMON_DEPEND="
+ dev-libs/libxslt:=
+ >=dev-libs/re2-0.2019.08.01:=
+ >=media-libs/openh264-1.6.0:=
+ system-icu? ( >=dev-libs/icu-69.1:= )
+ "
+ RDEPEND+="${COMMON_DEPEND}"
+ DEPEND+="${COMMON_DEPEND}"
+fi
+
+if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
+ EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
+fi
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="
+Some web pages may require additional fonts to display properly.
+Try installing some of the following packages if some characters
+are not displayed properly:
+- media-fonts/arphicfonts
+- media-fonts/droid
+- media-fonts/ipamonafont
+- media-fonts/noto
+- media-fonts/ja-ipafonts
+- media-fonts/takao-fonts
+- media-fonts/wqy-microhei
+- media-fonts/wqy-zenhei
+
+To fix broken icons on the Downloads page, you should install an icon
+theme that covers the appropriate MIME types, and configure this as your
+GTK+ icon theme.
+
+For native file dialogs in KDE, install kde-apps/kdialog.
+
+To make password storage work with your desktop environment you may
+have install one of the supported credentials management applications:
+- app-crypt/libsecret (GNOME)
+- kde-frameworks/kwallet (KDE)
+If you have one of above packages installed, but don't want to use
+them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS
+in /etc/chromium/default.
+"
+
+python_check_deps() {
+ has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]"
+}
+
+pre_build_checks() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ local -x CPP="$(tc-getCXX) -E"
+ if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then
+ die "At least gcc 9.2 is required"
+ fi
+ if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then
+ CPP="${CHOST}-clang++ -E"
+ if ! ver_test "$(clang-major-version)" -ge 12; then
+ die "At least clang 12 is required"
+ fi
+ fi
+ fi
+
+ # Check build requirements, bug #541816 and bug #471810 .
+ CHECKREQS_MEMORY="4G"
+ CHECKREQS_DISK_BUILD="9G"
+ if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then
+ if use custom-cflags || use component-build; then
+ CHECKREQS_DISK_BUILD="25G"
+ fi
+ if ! use component-build; then
+ CHECKREQS_MEMORY="16G"
+ fi
+ fi
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ pre_build_checks
+}
+
+pkg_setup() {
+ pre_build_checks
+
+ chromium_suid_sandbox_check_kernel_config
+
+ # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams
+ if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then
+ ewarn "Proprietary nVidia driver does not work with Wayland. You can disable"
+ ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default."
+ fi
+}
+
+src_prepare() {
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ local PATCHES=(
+ "${WORKDIR}/patches"
+ "${FILESDIR}/chromium-93-InkDropHost-crash.patch"
+ "${FILESDIR}/chromium-96-EnumTable-crash.patch"
+ "${FILESDIR}/chromium-96-freetype-unbundle.patch"
+ "${FILESDIR}/chromium-glibc-2.34.patch"
+ "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch"
+ "${FILESDIR}/chromium-shim_headers.patch"
+ )
+
+ use ppc64 && PATCHES+=( "${WORKDIR}/${PN}-ppc64le" )
+
+ default
+
+ mkdir -p third_party/node/linux/node-linux-x64/bin || die
+ ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
+
+ # adjust python interpreter version
+ sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die
+
+ local keeplibs=(
+ base/third_party/cityhash
+ base/third_party/double_conversion
+ base/third_party/dynamic_annotations
+ base/third_party/icu
+ base/third_party/nspr
+ base/third_party/superfasthash
+ base/third_party/symbolize
+ base/third_party/valgrind
+ base/third_party/xdg_mime
+ base/third_party/xdg_user_dirs
+ buildtools/third_party/libc++
+ buildtools/third_party/libc++abi
+ chrome/third_party/mozilla_security_manager
+ courgette/third_party
+ net/third_party/mozilla_security_manager
+ net/third_party/nss
+ net/third_party/quic
+ net/third_party/uri_template
+ third_party/abseil-cpp
+ third_party/angle
+ third_party/angle/src/common/third_party/base
+ third_party/angle/src/common/third_party/smhasher
+ third_party/angle/src/common/third_party/xxhash
+ third_party/angle/src/third_party/libXNVCtrl
+ third_party/angle/src/third_party/trace_event
+ third_party/angle/src/third_party/volk
+ third_party/apple_apsl
+ third_party/axe-core
+ third_party/blink
+ third_party/boringssl
+ third_party/boringssl/src/third_party/fiat
+ third_party/breakpad
+ third_party/breakpad/breakpad/src/third_party/curl
+ third_party/brotli
+ third_party/catapult
+ third_party/catapult/common/py_vulcanize/third_party/rcssmin
+ third_party/catapult/common/py_vulcanize/third_party/rjsmin
+ third_party/catapult/third_party/beautifulsoup4-4.9.3
+ third_party/catapult/third_party/html5lib-1.1
+ third_party/catapult/third_party/polymer
+ third_party/catapult/third_party/six
+ third_party/catapult/tracing/third_party/d3
+ third_party/catapult/tracing/third_party/gl-matrix
+ third_party/catapult/tracing/third_party/jpeg-js
+ third_party/catapult/tracing/third_party/jszip
+ third_party/catapult/tracing/third_party/mannwhitneyu
+ third_party/catapult/tracing/third_party/oboe
+ third_party/catapult/tracing/third_party/pako
+ third_party/ced
+ third_party/cld_3
+ third_party/closure_compiler
+ third_party/crashpad
+ third_party/crashpad/crashpad/third_party/lss
+ third_party/crashpad/crashpad/third_party/zlib
+ third_party/crc32c
+ third_party/cros_system_api
+ third_party/dav1d
+ third_party/dawn
+ third_party/dawn/third_party/khronos
+ third_party/dawn/third_party/tint
+ third_party/depot_tools
+ third_party/devscripts
+ third_party/devtools-frontend
+ third_party/devtools-frontend/src/front_end/third_party/acorn
+ third_party/devtools-frontend/src/front_end/third_party/axe-core
+ third_party/devtools-frontend/src/front_end/third_party/chromium
+ third_party/devtools-frontend/src/front_end/third_party/codemirror
+ third_party/devtools-frontend/src/front_end/third_party/diff
+ third_party/devtools-frontend/src/front_end/third_party/i18n
+ third_party/devtools-frontend/src/front_end/third_party/intl-messageformat
+ third_party/devtools-frontend/src/front_end/third_party/lighthouse
+ third_party/devtools-frontend/src/front_end/third_party/lit-html
+ third_party/devtools-frontend/src/front_end/third_party/lodash-isequal
+ third_party/devtools-frontend/src/front_end/third_party/marked
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer
+ third_party/devtools-frontend/src/front_end/third_party/wasmparser
+ third_party/devtools-frontend/src/test/unittests/front_end/third_party/i18n
+ third_party/devtools-frontend/src/third_party
+ third_party/distributed_point_functions
+ third_party/dom_distiller_js
+ third_party/eigen3
+ third_party/emoji-segmenter
+ third_party/farmhash
+ third_party/fdlibm
+ third_party/fft2d
+ third_party/flatbuffers
+ third_party/freetype
+ third_party/fusejs
+ third_party/highway
+ third_party/libgifcodec
+ third_party/liburlpattern
+ third_party/libzip
+ third_party/gemmlowp
+ third_party/google_input_tools
+ third_party/google_input_tools/third_party/closure_library
+ third_party/google_input_tools/third_party/closure_library/third_party/closure
+ third_party/googletest
+ third_party/hunspell
+ third_party/iccjpeg
+ third_party/inspector_protocol
+ third_party/jinja2
+ third_party/jsoncpp
+ third_party/jstemplate
+ third_party/khronos
+ third_party/leveldatabase
+ third_party/libXNVCtrl
+ third_party/libaddressinput
+ third_party/libaom
+ third_party/libaom/source/libaom/third_party/fastfeat
+ third_party/libaom/source/libaom/third_party/vector
+ third_party/libaom/source/libaom/third_party/x86inc
+ third_party/libavif
+ third_party/libgav1
+ third_party/libjingle
+ third_party/libjxl
+ third_party/libphonenumber
+ third_party/libsecret
+ third_party/libsrtp
+ third_party/libsync
+ third_party/libudev
+ third_party/libva_protected_content
+ third_party/libvpx
+ third_party/libvpx/source/libvpx/third_party/x86inc
+ third_party/libwebm
+ third_party/libx11
+ third_party/libxcb-keysyms
+ third_party/libxml/chromium
+ third_party/libyuv
+ third_party/llvm
+ third_party/lottie
+ third_party/lss
+ third_party/lzma_sdk
+ third_party/mako
+ third_party/maldoca
+ third_party/maldoca/src/third_party/tensorflow_protos
+ third_party/maldoca/src/third_party/zlibwrapper
+ third_party/markupsafe
+ third_party/mesa
+ third_party/metrics_proto
+ third_party/minigbm
+ third_party/modp_b64
+ third_party/nasm
+ third_party/nearby
+ third_party/neon_2_sse
+ third_party/node
+ third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2
+ third_party/one_euro_filter
+ third_party/opencv
+ third_party/openscreen
+ third_party/openscreen/src/third_party/mozilla
+ third_party/openscreen/src/third_party/tinycbor/src/src
+ third_party/ots
+ third_party/pdfium
+ third_party/pdfium/third_party/agg23
+ third_party/pdfium/third_party/base
+ third_party/pdfium/third_party/bigint
+ third_party/pdfium/third_party/freetype
+ third_party/pdfium/third_party/lcms
+ third_party/pdfium/third_party/libopenjpeg20
+ third_party/pdfium/third_party/libpng16
+ third_party/pdfium/third_party/libtiff
+ third_party/pdfium/third_party/skia_shared
+ third_party/perfetto
+ third_party/perfetto/protos/third_party/chromium
+ third_party/pffft
+ third_party/ply
+ third_party/polymer
+ third_party/private-join-and-compute
+ third_party/private_membership
+ third_party/protobuf
+ third_party/protobuf/third_party/six
+ third_party/pyjson5
+ third_party/qcms
+ third_party/rnnoise
+ third_party/s2cellid
+ third_party/securemessage
+ third_party/shell-encryption
+ third_party/simplejson
+ third_party/skia
+ third_party/skia/include/third_party/skcms
+ third_party/skia/include/third_party/vulkan
+ third_party/skia/third_party/skcms
+ third_party/skia/third_party/vulkan
+ third_party/smhasher
+ third_party/snappy
+ third_party/sqlite
+ third_party/swiftshader
+ third_party/swiftshader/third_party/astc-encoder
+ third_party/swiftshader/third_party/llvm-subzero
+ third_party/swiftshader/third_party/marl
+ third_party/swiftshader/third_party/subzero
+ third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1
+ third_party/tcmalloc
+ third_party/tensorflow-text
+ third_party/tflite
+ third_party/tflite/src/third_party/eigen3
+ third_party/tflite/src/third_party/fft2d
+ third_party/ruy
+ third_party/six
+ third_party/ukey2
+ third_party/unrar
+ third_party/usrsctp
+ third_party/utf
+ third_party/vulkan
+ third_party/web-animations-js
+ third_party/webdriver
+ third_party/webgpu-cts
+ third_party/webrtc
+ third_party/webrtc/common_audio/third_party/ooura
+ third_party/webrtc/common_audio/third_party/spl_sqrt_floor
+ third_party/webrtc/modules/third_party/fft
+ third_party/webrtc/modules/third_party/g711
+ third_party/webrtc/modules/third_party/g722
+ third_party/webrtc/rtc_base/third_party/base64
+ third_party/webrtc/rtc_base/third_party/sigslot
+ third_party/widevine
+ third_party/woff2
+ third_party/wuffs
+ third_party/x11proto
+ third_party/xcbproto
+ third_party/zxcvbn-cpp
+ third_party/zlib/google
+ url/third_party/mozilla
+ v8/src/third_party/siphash
+ v8/src/third_party/valgrind
+ v8/src/third_party/utf8-decoder
+ v8/third_party/inspector_protocol
+ v8/third_party/v8
+
+ # gyp -> gn leftovers
+ base/third_party/libevent
+ third_party/speech-dispatcher
+ third_party/usb_ids
+ third_party/xdg-utils
+ )
+ if ! use system-ffmpeg; then
+ keeplibs+=( third_party/ffmpeg third_party/opus )
+ fi
+ if ! use system-icu; then
+ keeplibs+=( third_party/icu )
+ fi
+ if use system-harfbuzz; then
+ keeplibs+=( third_party/harfbuzz-ng/utils )
+ else
+ keeplibs+=( third_party/harfbuzz-ng )
+ fi
+ if use wayland && ! use headless ; then
+ keeplibs+=( third_party/wayland )
+ fi
+ if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
+ keeplibs+=( third_party/libxml )
+ keeplibs+=( third_party/libxslt )
+ keeplibs+=( third_party/openh264 )
+ keeplibs+=( third_party/re2 )
+ if use system-icu; then
+ keeplibs+=( third_party/icu )
+ fi
+ fi
+ if use arm64 || use ppc64 ; then
+ keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 )
+ fi
+ # we need to generate ppc64 stuff because upstream does not ship it yet
+ # it has to be done before unbundling.
+ if use ppc64; then
+ pushd third_party/libvpx >/dev/null || die
+ mkdir -p source/config/linux/ppc64 || die
+ ./generate_gni.sh || die
+ popd >/dev/null || die
+ fi
+
+ # Remove most bundled libraries. Some are still needed.
+ build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
+
+ if use js-type-check; then
+ ln -s "${EPREFIX}"/usr/bin/java third_party/jdk/current/bin/java || die
+ fi
+
+ # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries
+ mkdir -p buildtools/third_party/eu-strip/bin || die
+ ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die
+}
+
+src_configure() {
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ local myconf_gn=""
+
+ # Make sure the build system will use the right tools, bug #340795.
+ tc-export AR CC CXX NM
+
+ if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then
+ # Force clang since gcc is pretty broken at the moment.
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ strip-unsupported-flags
+ fi
+
+ if tc-is-clang; then
+ myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
+ else
+ if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
+ die "Compiling with sys-libs/libcxx requires clang."
+ fi
+ myconf_gn+=" is_clang=false"
+ fi
+
+ # Define a custom toolchain for GN
+ myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
+
+ if tc-is-cross-compiler; then
+ tc-export BUILD_{AR,CC,CXX,NM}
+ myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ else
+ myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
+ fi
+
+ # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
+ myconf_gn+=" is_debug=false"
+
+ # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138.
+ # DCHECK is fatal by default, make it configurable at runtime, #bug 807881.
+ myconf_gn+=" dcheck_always_on=$(usex debug true false)"
+ myconf_gn+=" dcheck_is_configurable=$(usex debug true false)"
+
+ # Component build isn't generally intended for use by end users. It's mostly useful
+ # for development and debugging.
+ myconf_gn+=" is_component_build=$(usex component-build true false)"
+
+ # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
+ myconf_gn+=" enable_nacl=false"
+
+ # Use system-provided libraries.
+ # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
+ # TODO: use_system_hunspell (upstream changes needed).
+ # TODO: use_system_protobuf (bug #525560).
+ # TODO: use_system_sqlite (http://crbug.com/22208).
+
+ # libevent: https://bugs.gentoo.org/593458
+ local gn_system_libraries=(
+ flac
+ fontconfig
+ freetype
+ # Need harfbuzz_from_pkgconfig target
+ #harfbuzz-ng
+ libdrm
+ libjpeg
+ libpng
+ libwebp
+ zlib
+ )
+ if use system-ffmpeg; then
+ gn_system_libraries+=( ffmpeg opus )
+ fi
+ if use system-icu; then
+ gn_system_libraries+=( icu )
+ fi
+ if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then
+ # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++
+ gn_system_libraries+=( libxml )
+ gn_system_libraries+=( libxslt )
+ gn_system_libraries+=( openh264 )
+ gn_system_libraries+=( re2 )
+ fi
+ build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
+
+ # See dependency logic in third_party/BUILD.gn
+ myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)"
+
+ # Disable deprecated libgnome-keyring dependency, bug #713012
+ myconf_gn+=" use_gnome_keyring=false"
+
+ # Optional dependencies.
+ myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)"
+ myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
+ myconf_gn+=" enable_widevine=$(usex widevine true false)"
+ myconf_gn+=" use_cups=$(usex cups true false)"
+ myconf_gn+=" use_kerberos=$(usex kerberos true false)"
+ myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
+ myconf_gn+=" use_vaapi=$(usex vaapi true false)"
+ myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)"
+
+ # TODO: link_pulseaudio=true for GN.
+
+ myconf_gn+=" disable_fieldtrial_testing_config=true"
+
+ # Never use bundled gold binary. Disable gold linker flags for now.
+ # Do not use bundled clang.
+ # Trying to use gold results in linker crash.
+ myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false"
+
+ # Disable forced lld, bug 641556
+ myconf_gn+=" use_lld=false"
+
+ # Disable pseudolocales, only used for testing
+ myconf_gn+=" enable_pseudolocales=false"
+
+ # Disable code formating of generated files
+ myconf_gn+=" blink_enable_generated_code_formatting=false"
+
+ ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
+ myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
+ myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
+
+ # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
+ # Note: these are for Gentoo use ONLY. For your own distribution,
+ # please get your own set of keys. Feel free to contact chromium@gentoo.org
+ # for more info. The OAuth2 credentials, however, have been left out.
+ # Those OAuth2 credentials have been broken for quite some time anyway.
+ # Instead we apply a patch to use the --oauth2-client-id= and
+ # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and
+ # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into
+ # Chromium without baked-in values.
+ local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
+ myconf_gn+=" google_api_key=\"${google_api_key}\""
+ local myarch="$(tc-arch)"
+
+ # Avoid CFLAGS problems, bug #352457, bug #390147.
+ if ! use custom-cflags; then
+ replace-flags "-Os" "-O2"
+ strip-flags
+
+ # Debug info section overflows without component build
+ # Prevent linker from running out of address space, bug #471810 .
+ if ! use component-build || use x86; then
+ filter-flags "-g*"
+ fi
+
+ # Prevent libvpx build failures. Bug 530248, 544702, 546984.
+ if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then
+ filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4
+ fi
+ fi
+
+ if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
+ append-flags -stdlib=libc++
+ append-ldflags -stdlib=libc++
+ fi
+
+ if [[ $myarch = amd64 ]] ; then
+ myconf_gn+=" target_cpu=\"x64\""
+ ffmpeg_target_arch=x64
+ elif [[ $myarch = x86 ]] ; then
+ myconf_gn+=" target_cpu=\"x86\""
+ ffmpeg_target_arch=ia32
+
+ # This is normally defined by compiler_cpu_abi in
+ # build/config/compiler/BUILD.gn, but we patch that part out.
+ append-flags -msse2 -mfpmath=sse -mmmx
+ elif [[ $myarch = arm64 ]] ; then
+ myconf_gn+=" target_cpu=\"arm64\""
+ ffmpeg_target_arch=arm64
+ elif [[ $myarch = arm ]] ; then
+ myconf_gn+=" target_cpu=\"arm\""
+ ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm)
+ elif [[ $myarch = ppc64 ]] ; then
+ myconf_gn+=" target_cpu=\"ppc64\""
+ ffmpeg_target_arch=ppc64
+ else
+ die "Failed to determine target arch, got '$myarch'."
+ fi
+
+ # Make sure that -Werror doesn't get added to CFLAGS by the build system.
+ # Depending on GCC version the warnings are different and we don't want
+ # the build to fail because of that.
+ myconf_gn+=" treat_warnings_as_errors=false"
+
+ # Disable fatal linker warnings, bug 506268.
+ myconf_gn+=" fatal_linker_warnings=false"
+
+ # Bug 491582.
+ export TMPDIR="${WORKDIR}/temp"
+ mkdir -p -m 755 "${TMPDIR}" || die
+
+ # https://bugs.gentoo.org/654216
+ addpredict /dev/dri/ #nowarn
+
+ #if ! use system-ffmpeg; then
+ if false; then
+ local build_ffmpeg_args=""
+ if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then
+ build_ffmpeg_args+=" --disable-asm"
+ fi
+
+ # Re-configure bundled ffmpeg. See bug #491378 for example reasons.
+ einfo "Configuring bundled ffmpeg..."
+ pushd third_party/ffmpeg > /dev/null || die
+ chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \
+ --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die
+ chromium/scripts/copy_config.sh || die
+ chromium/scripts/generate_gn.py || die
+ popd > /dev/null || die
+ fi
+
+ # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470
+ append-cxxflags $(test-flags-CXX -flax-vector-conversions=all)
+
+ # highway/libjxl fail on ppc64 without extra patches, disable for now.
+ use ppc64 && myconf_gn+=" enable_jxl_decoder=false"
+
+ # Disable unknown warning message from clang.
+ tc-is-clang && append-flags -Wno-unknown-warning-option
+
+ # Explicitly disable ICU data file support for system-icu builds.
+ if use system-icu; then
+ myconf_gn+=" icu_use_data_file=false"
+ fi
+
+ # Enable ozone wayland and/or headless support
+ myconf_gn+=" use_ozone=true ozone_auto_platforms=false"
+ myconf_gn+=" ozone_platform_headless=true"
+ myconf_gn+=" ozone_platform_x11=$(usex headless false true)"
+ if use wayland || use headless; then
+ if use headless; then
+ myconf_gn+=" ozone_platform=\"headless\""
+ myconf_gn+=" use_x11=false"
+ else
+ myconf_gn+=" ozone_platform_wayland=true"
+ myconf_gn+=" use_system_libdrm=true"
+ myconf_gn+=" use_system_minigbm=true"
+ myconf_gn+=" use_xkbcommon=true"
+ myconf_gn+=" ozone_platform=\"wayland\""
+ fi
+ else
+ myconf_gn+=" ozone_platform=\"x11\""
+ fi
+
+ # Enable official builds
+ myconf_gn+=" is_official_build=$(usex official true false)"
+ myconf_gn+=" use_thin_lto=false"
+ if use official; then
+ # Allow building against system libraries in official builds
+ sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
+ tools/generate_shim_headers/generate_shim_headers.py || die
+ # Disable CFI: unsupported for GCC, requires clang+lto+lld
+ myconf_gn+=" is_cfi=false"
+ # Disable PGO, because profile data is only compatible with >=clang-11
+ myconf_gn+=" chrome_pgo_phase=0"
+ fi
+
+ einfo "Configuring Chromium..."
+ set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
+ echo "$@"
+ "$@" || die
+}
+
+src_compile() {
+ # Final link uses lots of file descriptors.
+ ulimit -n 2048
+
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ # Don't inherit PYTHONPATH from environment, bug #789021, #812689
+ local -x PYTHONPATH=
+
+ #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die
+
+ # Build mksnapshot and pax-mark it.
+ local x
+ for x in mksnapshot v8_context_snapshot_generator; do
+ if tc-is-cross-compiler; then
+ eninja -C out/Release "host/${x}"
+ pax-mark m "out/Release/host/${x}"
+ else
+ eninja -C out/Release "${x}"
+ pax-mark m "out/Release/${x}"
+ fi
+ done
+
+ # Even though ninja autodetects number of CPUs, we respect
+ # user's options, for debugging with -j 1 or any other reason.
+ eninja -C out/Release chrome chromedriver
+ use suid && eninja -C out/Release chrome_sandbox
+
+ pax-mark m out/Release/chrome
+
+ mv out/Release/chromedriver{.unstripped,} || die
+
+ # Build manpage; bug #684550
+ sed -e 's|@@PACKAGE@@|chromium-browser|g;
+ s|@@MENUNAME@@|Chromium|g;' \
+ chrome/app/resources/manpage.1.in > \
+ out/Release/chromium-browser.1 || die
+
+ # Build desktop file; bug #706786
+ sed -e 's|@@MENUNAME@@|Chromium|g;
+ s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g;
+ s|@@PACKAGE@@|chromium-browser|g;
+ s|\(^Exec=\)/usr/bin/|\1|g;' \
+ chrome/installer/linux/common/desktop.template > \
+ out/Release/chromium-browser-chromium.desktop || die
+
+ # Build vk_swiftshader_icd.json; bug #827861
+ sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \
+ third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \
+ out/Release/vk_swiftshader_icd.json || die
+}
+
+src_install() {
+ local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
+ exeinto "${CHROMIUM_HOME}"
+ doexe out/Release/chrome
+
+ if use suid; then
+ newexe out/Release/chrome_sandbox chrome-sandbox
+ fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
+ fi
+
+ doexe out/Release/chromedriver
+ doexe out/Release/chrome_crashpad_handler
+
+ ozone_auto_session () {
+ use wayland && ! use headless && echo true || echo false
+ }
+ local sedargs=( -e
+ "s:/usr/lib/:/usr/$(get_libdir)/:g;
+ s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g"
+ )
+ sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die
+ doexe chromium-launcher.sh
+
+ # It is important that we name the target "chromium-browser",
+ # xdg-utils expect it; bug #355517.
+ dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser
+ # keep the old symlink around for consistency
+ dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
+
+ dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
+
+ # Allow users to override command-line options, bug #357629.
+ insinto /etc/chromium
+ newins "${FILESDIR}/chromium.default" "default"
+
+ pushd out/Release/locales > /dev/null || die
+ chromium_remove_language_paks
+ popd
+
+ insinto "${CHROMIUM_HOME}"
+ doins out/Release/*.bin
+ doins out/Release/*.pak
+ (
+ shopt -s nullglob
+ local files=(out/Release/*.so out/Release/*.so.[0-9])
+ [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}"
+ )
+
+ if ! use system-icu; then
+ doins out/Release/icudtl.dat
+ fi
+
+ doins -r out/Release/locales
+ doins -r out/Release/resources
+ doins -r out/Release/MEIPreload
+
+ # Install vk_swiftshader_icd.json; bug #827861
+ doins out/Release/vk_swiftshader_icd.json
+
+ if [[ -d out/Release/swiftshader ]]; then
+ insinto "${CHROMIUM_HOME}/swiftshader"
+ doins out/Release/swiftshader/*.so
+ fi
+
+ # Install icons
+ local branding size
+ for size in 16 24 32 48 64 128 256 ; do
+ case ${size} in
+ 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
+ *) branding="chrome/app/theme/chromium" ;;
+ esac
+ newicon -s ${size} "${branding}/product_logo_${size}.png" \
+ chromium-browser.png
+ done
+
+ # Install desktop entry
+ domenu out/Release/chromium-browser-chromium.desktop
+
+ # Install GNOME default application entry (bug #303100).
+ insinto /usr/share/gnome-control-center/default-apps
+ newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
+
+ # Install manpage; bug #684550
+ doman out/Release/chromium-browser.1
+ dosym chromium-browser.1 /usr/share/man/man1/chromium.1
+
+ readme.gentoo_create_doc
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ readme.gentoo_print_elog
+
+ if use vaapi; then
+ elog "VA-API is disabled by default at runtime. You have to enable it"
+ elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS"
+ elog "in /etc/chromium/default."
+ fi
+ if use screencast; then
+ elog "Screencast is disabled by default at runtime. Either enable it"
+ elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer"
+ elog "inside Chromium or add --enable-webrtc-pipewire-capturer"
+ elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ fi
+}
diff --git a/www-client/chromium/chromium-97.0.4692.45.ebuild b/www-client/chromium/chromium-97.0.4692.45.ebuild
new file mode 100644
index 0000000..7d53bac
--- /dev/null
+++ b/www-client/chromium/chromium-97.0.4692.45.ebuild
@@ -0,0 +1,957 @@
+# Copyright 2009-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_REQ_USE="xml"
+
+CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
+ hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr
+ sv sw ta te th tr uk vi zh-CN zh-TW"
+
+inherit check-reqs chromium-2 desktop flag-o-matic ninja-utils pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils
+
+DESCRIPTION="Open-source version of Google Chrome web browser"
+HOMEPAGE="https://chromium.org/"
+PATCHSET="4"
+PATCHSET_NAME="chromium-$(ver_cut 1)-patchset-${PATCHSET}"
+SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
+ https://github.com/stha09/chromium-patches/releases/download/${PATCHSET_NAME}/${PATCHSET_NAME}.tar.xz"
+
+LICENSE="BSD"
+SLOT="0/beta"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="component-build cups cpu_flags_arm_neon debug +hangouts headless +js-type-check kerberos +official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-harfbuzz +system-icu vaapi wayland widevine"
+REQUIRED_USE="
+ component-build? ( !suid )
+ screencast? ( wayland )
+"
+
+COMMON_X_DEPEND="
+ media-libs/mesa:=[gbm(+)]
+ x11-libs/libX11:=
+ x11-libs/libXcomposite:=
+ x11-libs/libXcursor:=
+ x11-libs/libXdamage:=
+ x11-libs/libXext:=
+ x11-libs/libXfixes:=
+ >=x11-libs/libXi-1.6.0:=
+ x11-libs/libXrandr:=
+ x11-libs/libXrender:=
+ x11-libs/libXtst:=
+ x11-libs/libxcb:=
+ x11-libs/libxshmfence:=
+ vaapi? ( >=x11-libs/libva-2.7:=[X,drm] )
+"
+
+COMMON_DEPEND="
+ app-arch/bzip2:=
+ cups? ( >=net-print/cups-1.3.11:= )
+ dev-libs/expat:=
+ dev-libs/glib:2
+ >=dev-libs/libxml2-2.9.4-r3:=[icu]
+ dev-libs/nspr:=
+ >=dev-libs/nss-3.26:=
+ >=media-libs/alsa-lib-1.0.19:=
+ media-libs/fontconfig:=
+ >=media-libs/freetype-2.11.0-r1:=
+ system-harfbuzz? ( >=media-libs/harfbuzz-2.9.0:0=[icu(-)] )
+ media-libs/libjpeg-turbo:=
+ media-libs/libpng:=
+ pulseaudio? ( media-sound/pulseaudio:= )
+ system-ffmpeg? (
+ >=media-video/ffmpeg-4.3:=
+ || (
+ media-video/ffmpeg[-samba]
+ >=net-fs/samba-4.5.10-r1[-debug(-)]
+ )
+ >=media-libs/opus-1.3.1:=
+ )
+ net-misc/curl[ssl]
+ sys-apps/dbus:=
+ sys-apps/pciutils:=
+ virtual/udev
+ x11-libs/cairo:=
+ x11-libs/gdk-pixbuf:2
+ x11-libs/libxkbcommon:=
+ x11-libs/pango:=
+ media-libs/flac:=
+ >=media-libs/libwebp-0.4.0:=
+ sys-libs/zlib:=[minizip]
+ kerberos? ( virtual/krb5 )
+ !headless? (
+ ${COMMON_X_DEPEND}
+ >=app-accessibility/at-spi2-atk-2.26:2
+ >=app-accessibility/at-spi2-core-2.26:2
+ >=dev-libs/atk-2.26
+ x11-libs/gtk+:3[X]
+ wayland? (
+ dev-libs/wayland:=
+ screencast? ( media-video/pipewire:0/0.3 )
+ x11-libs/gtk+:3[wayland,X]
+ x11-libs/libdrm:=
+ )
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ x11-misc/xdg-utils
+ virtual/opengl
+ virtual/ttf-fonts
+ selinux? ( sec-policy/selinux-chromium )
+"
+DEPEND="${COMMON_DEPEND}
+"
+# dev-vcs/git - https://bugs.gentoo.org/593476
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ')
+ >=app-arch/gzip-1.7
+ dev-lang/perl
+ >=dev-util/gn-0.1807
+ dev-vcs/git
+ >=dev-util/gperf-3.0.3
+ >=dev-util/ninja-1.7.2
+ >=net-libs/nodejs-7.6.0[inspector]
+ >=sys-devel/bison-2.4.3
+ sys-devel/flex
+ virtual/pkgconfig
+ js-type-check? ( virtual/jre )
+"
+
+# These are intended for ebuild maintainer use to force clang if GCC is broken.
+: ${CHROMIUM_FORCE_CLANG=no}
+: ${CHROMIUM_FORCE_LIBCXX=no}
+
+if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then
+ BDEPEND+=" >=sys-devel/clang-12"
+fi
+
+if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
+ RDEPEND+=" >=sys-libs/libcxx-12"
+ DEPEND+=" >=sys-libs/libcxx-12"
+else
+ COMMON_DEPEND="
+ dev-libs/libxslt:=
+ >=dev-libs/re2-0.2019.08.01:=
+ >=media-libs/openh264-1.6.0:=
+ system-icu? ( >=dev-libs/icu-69.1:= )
+ "
+ RDEPEND+="${COMMON_DEPEND}"
+ DEPEND+="${COMMON_DEPEND}"
+fi
+
+if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
+ EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
+fi
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="
+Some web pages may require additional fonts to display properly.
+Try installing some of the following packages if some characters
+are not displayed properly:
+- media-fonts/arphicfonts
+- media-fonts/droid
+- media-fonts/ipamonafont
+- media-fonts/noto
+- media-fonts/ja-ipafonts
+- media-fonts/takao-fonts
+- media-fonts/wqy-microhei
+- media-fonts/wqy-zenhei
+
+To fix broken icons on the Downloads page, you should install an icon
+theme that covers the appropriate MIME types, and configure this as your
+GTK+ icon theme.
+
+For native file dialogs in KDE, install kde-apps/kdialog.
+
+To make password storage work with your desktop environment you may
+have install one of the supported credentials management applications:
+- app-crypt/libsecret (GNOME)
+- kde-frameworks/kwallet (KDE)
+If you have one of above packages installed, but don't want to use
+them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS
+in /etc/chromium/default.
+"
+
+python_check_deps() {
+ has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]"
+}
+
+pre_build_checks() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ local -x CPP="$(tc-getCXX) -E"
+ if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then
+ die "At least gcc 9.2 is required"
+ fi
+ if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then
+ CPP="${CHOST}-clang++ -E"
+ if ! ver_test "$(clang-major-version)" -ge 12; then
+ die "At least clang 12 is required"
+ fi
+ fi
+ fi
+
+ # Check build requirements, bug #541816 and bug #471810 .
+ CHECKREQS_MEMORY="4G"
+ CHECKREQS_DISK_BUILD="9G"
+ if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then
+ if use custom-cflags || use component-build; then
+ CHECKREQS_DISK_BUILD="25G"
+ fi
+ if ! use component-build; then
+ CHECKREQS_MEMORY="16G"
+ fi
+ fi
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ pre_build_checks
+}
+
+pkg_setup() {
+ pre_build_checks
+
+ chromium_suid_sandbox_check_kernel_config
+
+ # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams
+ if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then
+ ewarn "Proprietary nVidia driver does not work with Wayland. You can disable"
+ ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default."
+ fi
+}
+
+src_prepare() {
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ local PATCHES=(
+ "${WORKDIR}/patches"
+ "${FILESDIR}/chromium-93-InkDropHost-crash.patch"
+ "${FILESDIR}/chromium-96-EnumTable-crash.patch"
+ "${FILESDIR}/chromium-glibc-2.34.patch"
+ "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch"
+ "${FILESDIR}/chromium-shim_headers.patch"
+ )
+
+ default
+
+ mkdir -p third_party/node/linux/node-linux-x64/bin || die
+ ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
+
+ # adjust python interpreter version
+ sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die
+
+ local keeplibs=(
+ base/third_party/cityhash
+ base/third_party/double_conversion
+ base/third_party/dynamic_annotations
+ base/third_party/icu
+ base/third_party/nspr
+ base/third_party/superfasthash
+ base/third_party/symbolize
+ base/third_party/valgrind
+ base/third_party/xdg_mime
+ base/third_party/xdg_user_dirs
+ buildtools/third_party/libc++
+ buildtools/third_party/libc++abi
+ chrome/third_party/mozilla_security_manager
+ courgette/third_party
+ net/third_party/mozilla_security_manager
+ net/third_party/nss
+ net/third_party/quic
+ net/third_party/uri_template
+ third_party/abseil-cpp
+ third_party/angle
+ third_party/angle/src/common/third_party/base
+ third_party/angle/src/common/third_party/smhasher
+ third_party/angle/src/common/third_party/xxhash
+ third_party/angle/src/third_party/libXNVCtrl
+ third_party/angle/src/third_party/trace_event
+ third_party/angle/src/third_party/volk
+ third_party/apple_apsl
+ third_party/axe-core
+ third_party/blink
+ third_party/boringssl
+ third_party/boringssl/src/third_party/fiat
+ third_party/breakpad
+ third_party/breakpad/breakpad/src/third_party/curl
+ third_party/brotli
+ third_party/catapult
+ third_party/catapult/common/py_vulcanize/third_party/rcssmin
+ third_party/catapult/common/py_vulcanize/third_party/rjsmin
+ third_party/catapult/third_party/beautifulsoup4-4.9.3
+ third_party/catapult/third_party/html5lib-1.1
+ third_party/catapult/third_party/polymer
+ third_party/catapult/third_party/six
+ third_party/catapult/tracing/third_party/d3
+ third_party/catapult/tracing/third_party/gl-matrix
+ third_party/catapult/tracing/third_party/jpeg-js
+ third_party/catapult/tracing/third_party/jszip
+ third_party/catapult/tracing/third_party/mannwhitneyu
+ third_party/catapult/tracing/third_party/oboe
+ third_party/catapult/tracing/third_party/pako
+ third_party/ced
+ third_party/cld_3
+ third_party/closure_compiler
+ third_party/crashpad
+ third_party/crashpad/crashpad/third_party/lss
+ third_party/crashpad/crashpad/third_party/zlib
+ third_party/crc32c
+ third_party/cros_system_api
+ third_party/dav1d
+ third_party/dawn
+ third_party/dawn/third_party/khronos
+ third_party/dawn/third_party/tint
+ third_party/depot_tools
+ third_party/devscripts
+ third_party/devtools-frontend
+ third_party/devtools-frontend/src/front_end/third_party/acorn
+ third_party/devtools-frontend/src/front_end/third_party/axe-core
+ third_party/devtools-frontend/src/front_end/third_party/chromium
+ third_party/devtools-frontend/src/front_end/third_party/codemirror
+ third_party/devtools-frontend/src/front_end/third_party/diff
+ third_party/devtools-frontend/src/front_end/third_party/i18n
+ third_party/devtools-frontend/src/front_end/third_party/intl-messageformat
+ third_party/devtools-frontend/src/front_end/third_party/lighthouse
+ third_party/devtools-frontend/src/front_end/third_party/lit-html
+ third_party/devtools-frontend/src/front_end/third_party/lodash-isequal
+ third_party/devtools-frontend/src/front_end/third_party/marked
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer
+ third_party/devtools-frontend/src/front_end/third_party/wasmparser
+ third_party/devtools-frontend/src/test/unittests/front_end/third_party/i18n
+ third_party/devtools-frontend/src/third_party
+ third_party/distributed_point_functions
+ third_party/dom_distiller_js
+ third_party/eigen3
+ third_party/emoji-segmenter
+ third_party/farmhash
+ third_party/fdlibm
+ third_party/fft2d
+ third_party/flatbuffers
+ third_party/freetype
+ third_party/fusejs
+ third_party/highway
+ third_party/libgifcodec
+ third_party/liburlpattern
+ third_party/libzip
+ third_party/gemmlowp
+ third_party/google_input_tools
+ third_party/google_input_tools/third_party/closure_library
+ third_party/google_input_tools/third_party/closure_library/third_party/closure
+ third_party/googletest
+ third_party/hunspell
+ third_party/iccjpeg
+ third_party/inspector_protocol
+ third_party/jinja2
+ third_party/jsoncpp
+ third_party/jstemplate
+ third_party/khronos
+ third_party/leveldatabase
+ third_party/libXNVCtrl
+ third_party/libaddressinput
+ third_party/libaom
+ third_party/libaom/source/libaom/third_party/fastfeat
+ third_party/libaom/source/libaom/third_party/vector
+ third_party/libaom/source/libaom/third_party/x86inc
+ third_party/libavif
+ third_party/libgav1
+ third_party/libjingle
+ third_party/libjxl
+ third_party/libphonenumber
+ third_party/libsecret
+ third_party/libsrtp
+ third_party/libsync
+ third_party/libudev
+ third_party/libva_protected_content
+ third_party/libvpx
+ third_party/libvpx/source/libvpx/third_party/x86inc
+ third_party/libwebm
+ third_party/libx11
+ third_party/libxcb-keysyms
+ third_party/libxml/chromium
+ third_party/libyuv
+ third_party/llvm
+ third_party/lottie
+ third_party/lss
+ third_party/lzma_sdk
+ third_party/mako
+ third_party/maldoca
+ third_party/maldoca/src/third_party/tensorflow_protos
+ third_party/maldoca/src/third_party/zlibwrapper
+ third_party/markupsafe
+ third_party/mesa
+ third_party/metrics_proto
+ third_party/minigbm
+ third_party/modp_b64
+ third_party/nasm
+ third_party/nearby
+ third_party/neon_2_sse
+ third_party/node
+ third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2
+ third_party/one_euro_filter
+ third_party/opencv
+ third_party/openscreen
+ third_party/openscreen/src/third_party/mozilla
+ third_party/openscreen/src/third_party/tinycbor/src/src
+ third_party/ots
+ third_party/pdfium
+ third_party/pdfium/third_party/agg23
+ third_party/pdfium/third_party/base
+ third_party/pdfium/third_party/bigint
+ third_party/pdfium/third_party/freetype
+ third_party/pdfium/third_party/lcms
+ third_party/pdfium/third_party/libopenjpeg20
+ third_party/pdfium/third_party/libpng16
+ third_party/pdfium/third_party/libtiff
+ third_party/pdfium/third_party/skia_shared
+ third_party/perfetto
+ third_party/perfetto/protos/third_party/chromium
+ third_party/pffft
+ third_party/ply
+ third_party/polymer
+ third_party/private-join-and-compute
+ third_party/private_membership
+ third_party/protobuf
+ third_party/protobuf/third_party/six
+ third_party/pyjson5
+ third_party/qcms
+ third_party/rnnoise
+ third_party/s2cellid
+ third_party/securemessage
+ third_party/shell-encryption
+ third_party/simplejson
+ third_party/skia
+ third_party/skia/include/third_party/skcms
+ third_party/skia/include/third_party/vulkan
+ third_party/skia/third_party/skcms
+ third_party/skia/third_party/vulkan
+ third_party/smhasher
+ third_party/snappy
+ third_party/sqlite
+ third_party/swiftshader
+ third_party/swiftshader/third_party/astc-encoder
+ third_party/swiftshader/third_party/llvm-subzero
+ third_party/swiftshader/third_party/marl
+ third_party/swiftshader/third_party/subzero
+ third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1
+ third_party/tcmalloc
+ third_party/tensorflow-text
+ third_party/tflite
+ third_party/tflite/src/third_party/eigen3
+ third_party/tflite/src/third_party/fft2d
+ third_party/ruy
+ third_party/six
+ third_party/ukey2
+ third_party/unrar
+ third_party/usrsctp
+ third_party/utf
+ third_party/vulkan
+ third_party/web-animations-js
+ third_party/webdriver
+ third_party/webgpu-cts
+ third_party/webrtc
+ third_party/webrtc/common_audio/third_party/ooura
+ third_party/webrtc/common_audio/third_party/spl_sqrt_floor
+ third_party/webrtc/modules/third_party/fft
+ third_party/webrtc/modules/third_party/g711
+ third_party/webrtc/modules/third_party/g722
+ third_party/webrtc/rtc_base/third_party/base64
+ third_party/webrtc/rtc_base/third_party/sigslot
+ third_party/widevine
+ third_party/woff2
+ third_party/wuffs
+ third_party/x11proto
+ third_party/xcbproto
+ third_party/zxcvbn-cpp
+ third_party/zlib/google
+ url/third_party/mozilla
+ v8/src/third_party/siphash
+ v8/src/third_party/valgrind
+ v8/src/third_party/utf8-decoder
+ v8/third_party/inspector_protocol
+ v8/third_party/v8
+
+ # gyp -> gn leftovers
+ base/third_party/libevent
+ third_party/speech-dispatcher
+ third_party/usb_ids
+ third_party/xdg-utils
+ )
+ if ! use system-ffmpeg; then
+ keeplibs+=( third_party/ffmpeg third_party/opus )
+ fi
+ if ! use system-icu; then
+ keeplibs+=( third_party/icu )
+ fi
+ if use system-harfbuzz; then
+ keeplibs+=( third_party/harfbuzz-ng/utils )
+ else
+ keeplibs+=( third_party/harfbuzz-ng )
+ fi
+ if use wayland && ! use headless ; then
+ keeplibs+=( third_party/wayland )
+ fi
+ if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
+ keeplibs+=( third_party/libxml )
+ keeplibs+=( third_party/libxslt )
+ keeplibs+=( third_party/openh264 )
+ keeplibs+=( third_party/re2 )
+ if use system-icu; then
+ keeplibs+=( third_party/icu )
+ fi
+ fi
+ if use arm64 || use ppc64 ; then
+ keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 )
+ fi
+ # we need to generate ppc64 stuff because upstream does not ship it yet
+ # it has to be done before unbundling.
+ if use ppc64; then
+ pushd third_party/libvpx >/dev/null || die
+ mkdir -p source/config/linux/ppc64 || die
+ ./generate_gni.sh || die
+ popd >/dev/null || die
+ fi
+
+ # Remove most bundled libraries. Some are still needed.
+ build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
+
+ if use js-type-check; then
+ ln -s "${EPREFIX}"/usr/bin/java third_party/jdk/current/bin/java || die
+ fi
+
+ # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries
+ mkdir -p buildtools/third_party/eu-strip/bin || die
+ ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die
+}
+
+src_configure() {
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ local myconf_gn=""
+
+ # Make sure the build system will use the right tools, bug #340795.
+ tc-export AR CC CXX NM
+
+ if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then
+ # Force clang since gcc is pretty broken at the moment.
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ strip-unsupported-flags
+ fi
+
+ if tc-is-clang; then
+ myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
+ else
+ if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
+ die "Compiling with sys-libs/libcxx requires clang."
+ fi
+ myconf_gn+=" is_clang=false"
+ fi
+
+ # Define a custom toolchain for GN
+ myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
+
+ if tc-is-cross-compiler; then
+ tc-export BUILD_{AR,CC,CXX,NM}
+ myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ else
+ myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
+ fi
+
+ # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
+ myconf_gn+=" is_debug=false"
+
+ # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138.
+ # DCHECK is fatal by default, make it configurable at runtime, #bug 807881.
+ myconf_gn+=" dcheck_always_on=$(usex debug true false)"
+ myconf_gn+=" dcheck_is_configurable=$(usex debug true false)"
+
+ # Component build isn't generally intended for use by end users. It's mostly useful
+ # for development and debugging.
+ myconf_gn+=" is_component_build=$(usex component-build true false)"
+
+ # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
+ myconf_gn+=" enable_nacl=false"
+
+ # Use system-provided libraries.
+ # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
+ # TODO: use_system_hunspell (upstream changes needed).
+ # TODO: use_system_protobuf (bug #525560).
+ # TODO: use_system_sqlite (http://crbug.com/22208).
+
+ # libevent: https://bugs.gentoo.org/593458
+ local gn_system_libraries=(
+ flac
+ fontconfig
+ freetype
+ # Need harfbuzz_from_pkgconfig target
+ #harfbuzz-ng
+ libdrm
+ libjpeg
+ libpng
+ libwebp
+ zlib
+ )
+ if use system-ffmpeg; then
+ gn_system_libraries+=( ffmpeg opus )
+ fi
+ if use system-icu; then
+ gn_system_libraries+=( icu )
+ fi
+ if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then
+ # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++
+ gn_system_libraries+=( libxml )
+ gn_system_libraries+=( libxslt )
+ gn_system_libraries+=( openh264 )
+ gn_system_libraries+=( re2 )
+ fi
+ build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
+
+ # See dependency logic in third_party/BUILD.gn
+ myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)"
+
+ # Disable deprecated libgnome-keyring dependency, bug #713012
+ myconf_gn+=" use_gnome_keyring=false"
+
+ # Optional dependencies.
+ myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)"
+ myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
+ myconf_gn+=" enable_widevine=$(usex widevine true false)"
+ myconf_gn+=" use_cups=$(usex cups true false)"
+ myconf_gn+=" use_kerberos=$(usex kerberos true false)"
+ myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
+ myconf_gn+=" use_vaapi=$(usex vaapi true false)"
+ myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)"
+
+ # TODO: link_pulseaudio=true for GN.
+
+ myconf_gn+=" disable_fieldtrial_testing_config=true"
+
+ # Never use bundled gold binary. Disable gold linker flags for now.
+ # Do not use bundled clang.
+ # Trying to use gold results in linker crash.
+ myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false"
+
+ # Disable forced lld, bug 641556
+ myconf_gn+=" use_lld=false"
+
+ # Disable pseudolocales, only used for testing
+ myconf_gn+=" enable_pseudolocales=false"
+
+ # Disable code formating of generated files
+ myconf_gn+=" blink_enable_generated_code_formatting=false"
+
+ ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
+ myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
+ myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
+
+ # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
+ # Note: these are for Gentoo use ONLY. For your own distribution,
+ # please get your own set of keys. Feel free to contact chromium@gentoo.org
+ # for more info. The OAuth2 credentials, however, have been left out.
+ # Those OAuth2 credentials have been broken for quite some time anyway.
+ # Instead we apply a patch to use the --oauth2-client-id= and
+ # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and
+ # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into
+ # Chromium without baked-in values.
+ local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
+ myconf_gn+=" google_api_key=\"${google_api_key}\""
+ local myarch="$(tc-arch)"
+
+ # Avoid CFLAGS problems, bug #352457, bug #390147.
+ if ! use custom-cflags; then
+ replace-flags "-Os" "-O2"
+ strip-flags
+
+ # Debug info section overflows without component build
+ # Prevent linker from running out of address space, bug #471810 .
+ if ! use component-build || use x86; then
+ filter-flags "-g*"
+ fi
+
+ # Prevent libvpx build failures. Bug 530248, 544702, 546984.
+ if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then
+ filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4
+ fi
+ fi
+
+ if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
+ append-flags -stdlib=libc++
+ append-ldflags -stdlib=libc++
+ fi
+
+ if [[ $myarch = amd64 ]] ; then
+ myconf_gn+=" target_cpu=\"x64\""
+ ffmpeg_target_arch=x64
+ elif [[ $myarch = x86 ]] ; then
+ myconf_gn+=" target_cpu=\"x86\""
+ ffmpeg_target_arch=ia32
+
+ # This is normally defined by compiler_cpu_abi in
+ # build/config/compiler/BUILD.gn, but we patch that part out.
+ append-flags -msse2 -mfpmath=sse -mmmx
+ elif [[ $myarch = arm64 ]] ; then
+ myconf_gn+=" target_cpu=\"arm64\""
+ ffmpeg_target_arch=arm64
+ elif [[ $myarch = arm ]] ; then
+ myconf_gn+=" target_cpu=\"arm\""
+ ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm)
+ elif [[ $myarch = ppc64 ]] ; then
+ myconf_gn+=" target_cpu=\"ppc64\""
+ ffmpeg_target_arch=ppc64
+ else
+ die "Failed to determine target arch, got '$myarch'."
+ fi
+
+ # Make sure that -Werror doesn't get added to CFLAGS by the build system.
+ # Depending on GCC version the warnings are different and we don't want
+ # the build to fail because of that.
+ myconf_gn+=" treat_warnings_as_errors=false"
+
+ # Disable fatal linker warnings, bug 506268.
+ myconf_gn+=" fatal_linker_warnings=false"
+
+ # Bug 491582.
+ export TMPDIR="${WORKDIR}/temp"
+ mkdir -p -m 755 "${TMPDIR}" || die
+
+ # https://bugs.gentoo.org/654216
+ addpredict /dev/dri/ #nowarn
+
+ #if ! use system-ffmpeg; then
+ if false; then
+ local build_ffmpeg_args=""
+ if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then
+ build_ffmpeg_args+=" --disable-asm"
+ fi
+
+ # Re-configure bundled ffmpeg. See bug #491378 for example reasons.
+ einfo "Configuring bundled ffmpeg..."
+ pushd third_party/ffmpeg > /dev/null || die
+ chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \
+ --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die
+ chromium/scripts/copy_config.sh || die
+ chromium/scripts/generate_gn.py || die
+ popd > /dev/null || die
+ fi
+
+ # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470
+ append-cxxflags $(test-flags-CXX -flax-vector-conversions=all)
+
+ # Disable unknown warning message from clang.
+ tc-is-clang && append-flags -Wno-unknown-warning-option
+
+ # Explicitly disable ICU data file support for system-icu builds.
+ if use system-icu; then
+ myconf_gn+=" icu_use_data_file=false"
+ fi
+
+ # Enable ozone wayland and/or headless support
+ myconf_gn+=" use_ozone=true ozone_auto_platforms=false"
+ myconf_gn+=" ozone_platform_headless=true"
+ myconf_gn+=" ozone_platform_x11=$(usex headless false true)"
+ if use wayland || use headless; then
+ if use headless; then
+ myconf_gn+=" ozone_platform=\"headless\""
+ myconf_gn+=" use_x11=false"
+ else
+ myconf_gn+=" ozone_platform_wayland=true"
+ myconf_gn+=" use_system_libdrm=true"
+ myconf_gn+=" use_system_minigbm=true"
+ myconf_gn+=" use_xkbcommon=true"
+ myconf_gn+=" ozone_platform=\"wayland\""
+ fi
+ else
+ myconf_gn+=" ozone_platform=\"x11\""
+ fi
+
+ # Enable official builds
+ myconf_gn+=" is_official_build=$(usex official true false)"
+ myconf_gn+=" use_thin_lto=false"
+ if use official; then
+ # Allow building against system libraries in official builds
+ sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
+ tools/generate_shim_headers/generate_shim_headers.py || die
+ # Disable CFI: unsupported for GCC, requires clang+lto+lld
+ myconf_gn+=" is_cfi=false"
+ # Disable PGO, because profile data is only compatible with >=clang-11
+ myconf_gn+=" chrome_pgo_phase=0"
+ # Don't add symbols to build
+ myconf_gn+=" symbol_level=0"
+ fi
+
+ einfo "Configuring Chromium..."
+ set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
+ echo "$@"
+ "$@" || die
+}
+
+src_compile() {
+ # Final link uses lots of file descriptors.
+ ulimit -n 2048
+
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ # Don't inherit PYTHONPATH from environment, bug #789021, #812689
+ local -x PYTHONPATH=
+
+ #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die
+
+ # Build mksnapshot and pax-mark it.
+ local x
+ for x in mksnapshot v8_context_snapshot_generator; do
+ if tc-is-cross-compiler; then
+ eninja -C out/Release "host/${x}"
+ pax-mark m "out/Release/host/${x}"
+ else
+ eninja -C out/Release "${x}"
+ pax-mark m "out/Release/${x}"
+ fi
+ done
+
+ # Even though ninja autodetects number of CPUs, we respect
+ # user's options, for debugging with -j 1 or any other reason.
+ eninja -C out/Release chrome chromedriver
+ use suid && eninja -C out/Release chrome_sandbox
+
+ pax-mark m out/Release/chrome
+
+ mv out/Release/chromedriver{.unstripped,} || die
+
+ # Build manpage; bug #684550
+ sed -e 's|@@PACKAGE@@|chromium-browser|g;
+ s|@@MENUNAME@@|Chromium|g;' \
+ chrome/app/resources/manpage.1.in > \
+ out/Release/chromium-browser.1 || die
+
+ # Build desktop file; bug #706786
+ sed -e 's|@@MENUNAME@@|Chromium|g;
+ s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g;
+ s|@@PACKAGE@@|chromium-browser|g;
+ s|\(^Exec=\)/usr/bin/|\1|g;' \
+ chrome/installer/linux/common/desktop.template > \
+ out/Release/chromium-browser-chromium.desktop || die
+
+ # Build vk_swiftshader_icd.json; bug #827861
+ sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \
+ third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \
+ out/Release/vk_swiftshader_icd.json || die
+}
+
+src_install() {
+ local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
+ exeinto "${CHROMIUM_HOME}"
+ doexe out/Release/chrome
+
+ if use suid; then
+ newexe out/Release/chrome_sandbox chrome-sandbox
+ fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
+ fi
+
+ doexe out/Release/chromedriver
+ doexe out/Release/chrome_crashpad_handler
+
+ ozone_auto_session () {
+ use wayland && ! use headless && echo true || echo false
+ }
+ local sedargs=( -e
+ "s:/usr/lib/:/usr/$(get_libdir)/:g;
+ s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g"
+ )
+ sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die
+ doexe chromium-launcher.sh
+
+ # It is important that we name the target "chromium-browser",
+ # xdg-utils expect it; bug #355517.
+ dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser
+ # keep the old symlink around for consistency
+ dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
+
+ dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
+
+ # Allow users to override command-line options, bug #357629.
+ insinto /etc/chromium
+ newins "${FILESDIR}/chromium.default" "default"
+
+ pushd out/Release/locales > /dev/null || die
+ chromium_remove_language_paks
+ popd
+
+ insinto "${CHROMIUM_HOME}"
+ doins out/Release/*.bin
+ doins out/Release/*.pak
+ (
+ shopt -s nullglob
+ local files=(out/Release/*.so out/Release/*.so.[0-9])
+ [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}"
+ )
+
+ if ! use system-icu; then
+ doins out/Release/icudtl.dat
+ fi
+
+ doins -r out/Release/locales
+ doins -r out/Release/resources
+ doins -r out/Release/MEIPreload
+
+ # Install vk_swiftshader_icd.json; bug #827861
+ doins out/Release/vk_swiftshader_icd.json
+
+ if [[ -d out/Release/swiftshader ]]; then
+ insinto "${CHROMIUM_HOME}/swiftshader"
+ doins out/Release/swiftshader/*.so
+ fi
+
+ # Install icons
+ local branding size
+ for size in 16 24 32 48 64 128 256 ; do
+ case ${size} in
+ 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
+ *) branding="chrome/app/theme/chromium" ;;
+ esac
+ newicon -s ${size} "${branding}/product_logo_${size}.png" \
+ chromium-browser.png
+ done
+
+ # Install desktop entry
+ domenu out/Release/chromium-browser-chromium.desktop
+
+ # Install GNOME default application entry (bug #303100).
+ insinto /usr/share/gnome-control-center/default-apps
+ newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
+
+ # Install manpage; bug #684550
+ doman out/Release/chromium-browser.1
+ dosym chromium-browser.1 /usr/share/man/man1/chromium.1
+
+ readme.gentoo_create_doc
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ readme.gentoo_print_elog
+
+ if use vaapi; then
+ elog "VA-API is disabled by default at runtime. You have to enable it"
+ elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS"
+ elog "in /etc/chromium/default."
+ fi
+ if use screencast; then
+ elog "Screencast is disabled by default at runtime. Either enable it"
+ elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer"
+ elog "inside Chromium or add --enable-webrtc-pipewire-capturer"
+ elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ fi
+}
diff --git a/www-client/chromium/chromium-98.0.4750.0.ebuild b/www-client/chromium/chromium-98.0.4750.0.ebuild
new file mode 100644
index 0000000..840aa82
--- /dev/null
+++ b/www-client/chromium/chromium-98.0.4750.0.ebuild
@@ -0,0 +1,963 @@
+# Copyright 2009-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_REQ_USE="xml"
+
+CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
+ hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr
+ sv sw ta te th tr uk vi zh-CN zh-TW"
+
+inherit check-reqs chromium-2 desktop flag-o-matic ninja-utils pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils
+
+DESCRIPTION="Open-source version of Google Chrome web browser"
+HOMEPAGE="https://chromium.org/"
+PATCHSET="3"
+PATCHSET_NAME="chromium-$(ver_cut 1)-patchset-${PATCHSET}"
+SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
+ https://github.com/stha09/chromium-patches/releases/download/${PATCHSET_NAME}/${PATCHSET_NAME}.tar.xz"
+
+LICENSE="BSD"
+SLOT="0/dev"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="component-build cups cpu_flags_arm_neon debug +hangouts headless +js-type-check kerberos +official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-harfbuzz +system-icu +system-png vaapi wayland widevine"
+REQUIRED_USE="
+ component-build? ( !suid )
+ screencast? ( wayland )
+"
+
+COMMON_X_DEPEND="
+ media-libs/mesa:=[gbm(+)]
+ x11-libs/libX11:=
+ x11-libs/libXcomposite:=
+ x11-libs/libXcursor:=
+ x11-libs/libXdamage:=
+ x11-libs/libXext:=
+ x11-libs/libXfixes:=
+ >=x11-libs/libXi-1.6.0:=
+ x11-libs/libXrandr:=
+ x11-libs/libXrender:=
+ x11-libs/libXtst:=
+ x11-libs/libxcb:=
+ x11-libs/libxshmfence:=
+ vaapi? ( >=x11-libs/libva-2.7:=[X,drm] )
+"
+
+COMMON_DEPEND="
+ app-arch/bzip2:=
+ cups? ( >=net-print/cups-1.3.11:= )
+ dev-libs/expat:=
+ dev-libs/glib:2
+ >=dev-libs/libxml2-2.9.4-r3:=[icu]
+ dev-libs/nspr:=
+ >=dev-libs/nss-3.26:=
+ >=media-libs/alsa-lib-1.0.19:=
+ media-libs/fontconfig:=
+ >=media-libs/freetype-2.11.0-r1:=
+ system-harfbuzz? ( >=media-libs/harfbuzz-2.9.0:0=[icu(-)] )
+ media-libs/libjpeg-turbo:=
+ system-png? ( media-libs/libpng:=[-apng] )
+ pulseaudio? ( media-sound/pulseaudio:= )
+ system-ffmpeg? (
+ >=media-video/ffmpeg-4.3:=
+ || (
+ media-video/ffmpeg[-samba]
+ >=net-fs/samba-4.5.10-r1[-debug(-)]
+ )
+ >=media-libs/opus-1.3.1:=
+ )
+ net-misc/curl[ssl]
+ sys-apps/dbus:=
+ sys-apps/pciutils:=
+ virtual/udev
+ x11-libs/cairo:=
+ x11-libs/gdk-pixbuf:2
+ x11-libs/libxkbcommon:=
+ x11-libs/pango:=
+ media-libs/flac:=
+ >=media-libs/libwebp-0.4.0:=
+ sys-libs/zlib:=[minizip]
+ kerberos? ( virtual/krb5 )
+ !headless? (
+ ${COMMON_X_DEPEND}
+ >=app-accessibility/at-spi2-atk-2.26:2
+ >=app-accessibility/at-spi2-core-2.26:2
+ >=dev-libs/atk-2.26
+ x11-libs/gtk+:3[X]
+ wayland? (
+ dev-libs/wayland:=
+ screencast? ( media-video/pipewire:0/0.3 )
+ x11-libs/gtk+:3[wayland,X]
+ x11-libs/libdrm:=
+ )
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ x11-misc/xdg-utils
+ virtual/opengl
+ virtual/ttf-fonts
+ selinux? ( sec-policy/selinux-chromium )
+"
+DEPEND="${COMMON_DEPEND}
+"
+# dev-vcs/git - https://bugs.gentoo.org/593476
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ')
+ >=app-arch/gzip-1.7
+ dev-lang/perl
+ >=dev-util/gn-0.1807
+ dev-vcs/git
+ >=dev-util/gperf-3.0.3
+ >=dev-util/ninja-1.7.2
+ >=net-libs/nodejs-7.6.0[inspector]
+ >=sys-devel/bison-2.4.3
+ sys-devel/flex
+ virtual/pkgconfig
+ js-type-check? ( virtual/jre )
+"
+
+# These are intended for ebuild maintainer use to force clang if GCC is broken.
+: ${CHROMIUM_FORCE_CLANG=no}
+: ${CHROMIUM_FORCE_LIBCXX=no}
+
+if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then
+ BDEPEND+=" >=sys-devel/clang-12"
+fi
+
+if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
+ RDEPEND+=" >=sys-libs/libcxx-12"
+ DEPEND+=" >=sys-libs/libcxx-12"
+else
+ COMMON_DEPEND="
+ dev-libs/libxslt:=
+ >=dev-libs/re2-0.2019.08.01:=
+ >=media-libs/openh264-1.6.0:=
+ system-icu? ( >=dev-libs/icu-69.1:= )
+ "
+ RDEPEND+="${COMMON_DEPEND}"
+ DEPEND+="${COMMON_DEPEND}"
+fi
+
+if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
+ EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
+fi
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="
+Some web pages may require additional fonts to display properly.
+Try installing some of the following packages if some characters
+are not displayed properly:
+- media-fonts/arphicfonts
+- media-fonts/droid
+- media-fonts/ipamonafont
+- media-fonts/noto
+- media-fonts/ja-ipafonts
+- media-fonts/takao-fonts
+- media-fonts/wqy-microhei
+- media-fonts/wqy-zenhei
+
+To fix broken icons on the Downloads page, you should install an icon
+theme that covers the appropriate MIME types, and configure this as your
+GTK+ icon theme.
+
+For native file dialogs in KDE, install kde-apps/kdialog.
+
+To make password storage work with your desktop environment you may
+have install one of the supported credentials management applications:
+- app-crypt/libsecret (GNOME)
+- kde-frameworks/kwallet (KDE)
+If you have one of above packages installed, but don't want to use
+them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS
+in /etc/chromium/default.
+"
+
+python_check_deps() {
+ has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]"
+}
+
+pre_build_checks() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ local -x CPP="$(tc-getCXX) -E"
+ if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then
+ die "At least gcc 9.2 is required"
+ fi
+ if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then
+ CPP="${CHOST}-clang++ -E"
+ if ! ver_test "$(clang-major-version)" -ge 12; then
+ die "At least clang 12 is required"
+ fi
+ fi
+ fi
+
+ # Check build requirements, bug #541816 and bug #471810 .
+ CHECKREQS_MEMORY="4G"
+ CHECKREQS_DISK_BUILD="9G"
+ if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then
+ if use custom-cflags || use component-build; then
+ CHECKREQS_DISK_BUILD="25G"
+ fi
+ if ! use component-build; then
+ CHECKREQS_MEMORY="16G"
+ fi
+ fi
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ pre_build_checks
+}
+
+pkg_setup() {
+ pre_build_checks
+
+ chromium_suid_sandbox_check_kernel_config
+
+ # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams
+ if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then
+ ewarn "Proprietary nVidia driver does not work with Wayland. You can disable"
+ ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default."
+ fi
+}
+
+src_prepare() {
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ local PATCHES=(
+ "${WORKDIR}/patches"
+ "${FILESDIR}/chromium-93-InkDropHost-crash.patch"
+ "${FILESDIR}/chromium-98-EnumTable-crash.patch"
+ "${FILESDIR}/chromium-98-system-libdrm.patch"
+ "${FILESDIR}/chromium-glibc-2.34.patch"
+ "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch"
+ "${FILESDIR}/chromium-shim_headers.patch"
+ )
+
+ default
+
+ mkdir -p third_party/node/linux/node-linux-x64/bin || die
+ ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
+
+ # adjust python interpreter version
+ sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die
+
+ local keeplibs=(
+ base/third_party/cityhash
+ base/third_party/double_conversion
+ base/third_party/dynamic_annotations
+ base/third_party/icu
+ base/third_party/nspr
+ base/third_party/superfasthash
+ base/third_party/symbolize
+ base/third_party/valgrind
+ base/third_party/xdg_mime
+ base/third_party/xdg_user_dirs
+ buildtools/third_party/libc++
+ buildtools/third_party/libc++abi
+ chrome/third_party/mozilla_security_manager
+ courgette/third_party
+ net/third_party/mozilla_security_manager
+ net/third_party/nss
+ net/third_party/quic
+ net/third_party/uri_template
+ third_party/abseil-cpp
+ third_party/angle
+ third_party/angle/src/common/third_party/base
+ third_party/angle/src/common/third_party/smhasher
+ third_party/angle/src/common/third_party/xxhash
+ third_party/angle/src/third_party/libXNVCtrl
+ third_party/angle/src/third_party/trace_event
+ third_party/angle/src/third_party/volk
+ third_party/apple_apsl
+ third_party/axe-core
+ third_party/blink
+ third_party/boringssl
+ third_party/boringssl/src/third_party/fiat
+ third_party/breakpad
+ third_party/breakpad/breakpad/src/third_party/curl
+ third_party/brotli
+ third_party/catapult
+ third_party/catapult/common/py_vulcanize/third_party/rcssmin
+ third_party/catapult/common/py_vulcanize/third_party/rjsmin
+ third_party/catapult/third_party/beautifulsoup4-4.9.3
+ third_party/catapult/third_party/html5lib-1.1
+ third_party/catapult/third_party/polymer
+ third_party/catapult/third_party/six
+ third_party/catapult/tracing/third_party/d3
+ third_party/catapult/tracing/third_party/gl-matrix
+ third_party/catapult/tracing/third_party/jpeg-js
+ third_party/catapult/tracing/third_party/jszip
+ third_party/catapult/tracing/third_party/mannwhitneyu
+ third_party/catapult/tracing/third_party/oboe
+ third_party/catapult/tracing/third_party/pako
+ third_party/ced
+ third_party/cld_3
+ third_party/closure_compiler
+ third_party/crashpad
+ third_party/crashpad/crashpad/third_party/lss
+ third_party/crashpad/crashpad/third_party/zlib
+ third_party/crc32c
+ third_party/cros_system_api
+ third_party/dav1d
+ third_party/dawn
+ third_party/dawn/third_party/khronos
+ third_party/dawn/third_party/tint
+ third_party/depot_tools
+ third_party/devscripts
+ third_party/devtools-frontend
+ third_party/devtools-frontend/src/front_end/third_party/acorn
+ third_party/devtools-frontend/src/front_end/third_party/axe-core
+ third_party/devtools-frontend/src/front_end/third_party/chromium
+ third_party/devtools-frontend/src/front_end/third_party/codemirror
+ third_party/devtools-frontend/src/front_end/third_party/diff
+ third_party/devtools-frontend/src/front_end/third_party/i18n
+ third_party/devtools-frontend/src/front_end/third_party/intl-messageformat
+ third_party/devtools-frontend/src/front_end/third_party/lighthouse
+ third_party/devtools-frontend/src/front_end/third_party/lit-html
+ third_party/devtools-frontend/src/front_end/third_party/lodash-isequal
+ third_party/devtools-frontend/src/front_end/third_party/marked
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer
+ third_party/devtools-frontend/src/front_end/third_party/wasmparser
+ third_party/devtools-frontend/src/test/unittests/front_end/third_party/i18n
+ third_party/devtools-frontend/src/third_party
+ third_party/distributed_point_functions
+ third_party/dom_distiller_js
+ third_party/eigen3
+ third_party/emoji-segmenter
+ third_party/farmhash
+ third_party/fdlibm
+ third_party/fft2d
+ third_party/flatbuffers
+ third_party/freetype
+ third_party/fusejs
+ third_party/highway
+ third_party/libgifcodec
+ third_party/liburlpattern
+ third_party/libzip
+ third_party/gemmlowp
+ third_party/google_input_tools
+ third_party/google_input_tools/third_party/closure_library
+ third_party/google_input_tools/third_party/closure_library/third_party/closure
+ third_party/googletest
+ third_party/hunspell
+ third_party/iccjpeg
+ third_party/inspector_protocol
+ third_party/jinja2
+ third_party/jsoncpp
+ third_party/jstemplate
+ third_party/khronos
+ third_party/leveldatabase
+ third_party/libXNVCtrl
+ third_party/libaddressinput
+ third_party/libaom
+ third_party/libaom/source/libaom/third_party/fastfeat
+ third_party/libaom/source/libaom/third_party/vector
+ third_party/libaom/source/libaom/third_party/x86inc
+ third_party/libavif
+ third_party/libgav1
+ third_party/libjingle
+ third_party/libjxl
+ third_party/libphonenumber
+ third_party/libsecret
+ third_party/libsrtp
+ third_party/libsync
+ third_party/libudev
+ third_party/libva_protected_content
+ third_party/libvpx
+ third_party/libvpx/source/libvpx/third_party/x86inc
+ third_party/libwebm
+ third_party/libx11
+ third_party/libxcb-keysyms
+ third_party/libxml/chromium
+ third_party/libyuv
+ third_party/llvm
+ third_party/lottie
+ third_party/lss
+ third_party/lzma_sdk
+ third_party/mako
+ third_party/maldoca
+ third_party/maldoca/src/third_party/tensorflow_protos
+ third_party/maldoca/src/third_party/zlibwrapper
+ third_party/markupsafe
+ third_party/mesa
+ third_party/metrics_proto
+ third_party/minigbm
+ third_party/modp_b64
+ third_party/nasm
+ third_party/nearby
+ third_party/neon_2_sse
+ third_party/node
+ third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2
+ third_party/one_euro_filter
+ third_party/opencv
+ third_party/openscreen
+ third_party/openscreen/src/third_party/mozilla
+ third_party/openscreen/src/third_party/tinycbor/src/src
+ third_party/ots
+ third_party/pdfium
+ third_party/pdfium/third_party/agg23
+ third_party/pdfium/third_party/base
+ third_party/pdfium/third_party/bigint
+ third_party/pdfium/third_party/freetype
+ third_party/pdfium/third_party/lcms
+ third_party/pdfium/third_party/libopenjpeg20
+ third_party/pdfium/third_party/libpng16
+ third_party/pdfium/third_party/libtiff
+ third_party/pdfium/third_party/skia_shared
+ third_party/perfetto
+ third_party/perfetto/protos/third_party/chromium
+ third_party/pffft
+ third_party/ply
+ third_party/polymer
+ third_party/private-join-and-compute
+ third_party/private_membership
+ third_party/protobuf
+ third_party/protobuf/third_party/six
+ third_party/pyjson5
+ third_party/qcms
+ third_party/rnnoise
+ third_party/s2cellid
+ third_party/securemessage
+ third_party/shell-encryption
+ third_party/simplejson
+ third_party/skia
+ third_party/skia/include/third_party/skcms
+ third_party/skia/include/third_party/vulkan
+ third_party/skia/third_party/skcms
+ third_party/skia/third_party/vulkan
+ third_party/smhasher
+ third_party/snappy
+ third_party/sqlite
+ third_party/swiftshader
+ third_party/swiftshader/third_party/astc-encoder
+ third_party/swiftshader/third_party/llvm-subzero
+ third_party/swiftshader/third_party/marl
+ third_party/swiftshader/third_party/subzero
+ third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1
+ third_party/tcmalloc
+ third_party/tensorflow-text
+ third_party/tflite
+ third_party/tflite/src/third_party/eigen3
+ third_party/tflite/src/third_party/fft2d
+ third_party/ruy
+ third_party/six
+ third_party/ukey2
+ third_party/unrar
+ third_party/usrsctp
+ third_party/utf
+ third_party/vulkan
+ third_party/web-animations-js
+ third_party/webdriver
+ third_party/webgpu-cts
+ third_party/webrtc
+ third_party/webrtc/common_audio/third_party/ooura
+ third_party/webrtc/common_audio/third_party/spl_sqrt_floor
+ third_party/webrtc/modules/third_party/fft
+ third_party/webrtc/modules/third_party/g711
+ third_party/webrtc/modules/third_party/g722
+ third_party/webrtc/rtc_base/third_party/base64
+ third_party/webrtc/rtc_base/third_party/sigslot
+ third_party/widevine
+ third_party/woff2
+ third_party/wuffs
+ third_party/x11proto
+ third_party/xcbproto
+ third_party/zxcvbn-cpp
+ third_party/zlib/google
+ url/third_party/mozilla
+ v8/src/third_party/siphash
+ v8/src/third_party/valgrind
+ v8/src/third_party/utf8-decoder
+ v8/third_party/inspector_protocol
+ v8/third_party/v8
+
+ # gyp -> gn leftovers
+ base/third_party/libevent
+ third_party/speech-dispatcher
+ third_party/usb_ids
+ third_party/xdg-utils
+ )
+ if ! use system-ffmpeg; then
+ keeplibs+=( third_party/ffmpeg third_party/opus )
+ fi
+ if ! use system-icu; then
+ keeplibs+=( third_party/icu )
+ fi
+ if ! use system-png; then
+ keeplibs+=( third_party/libpng )
+ fi
+ if use system-harfbuzz; then
+ keeplibs+=( third_party/harfbuzz-ng/utils )
+ else
+ keeplibs+=( third_party/harfbuzz-ng )
+ fi
+ if use wayland && ! use headless ; then
+ keeplibs+=( third_party/wayland )
+ fi
+ if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
+ keeplibs+=( third_party/libxml )
+ keeplibs+=( third_party/libxslt )
+ keeplibs+=( third_party/openh264 )
+ keeplibs+=( third_party/re2 )
+ if use system-icu; then
+ keeplibs+=( third_party/icu )
+ fi
+ fi
+ if use arm64 || use ppc64 ; then
+ keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 )
+ fi
+ # we need to generate ppc64 stuff because upstream does not ship it yet
+ # it has to be done before unbundling.
+ if use ppc64; then
+ pushd third_party/libvpx >/dev/null || die
+ mkdir -p source/config/linux/ppc64 || die
+ ./generate_gni.sh || die
+ popd >/dev/null || die
+ fi
+
+ # Remove most bundled libraries. Some are still needed.
+ build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
+
+ if use js-type-check; then
+ ln -s "${EPREFIX}"/usr/bin/java third_party/jdk/current/bin/java || die
+ fi
+
+ # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries
+ mkdir -p buildtools/third_party/eu-strip/bin || die
+ ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die
+}
+
+src_configure() {
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ local myconf_gn=""
+
+ # Make sure the build system will use the right tools, bug #340795.
+ tc-export AR CC CXX NM
+
+ if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then
+ # Force clang since gcc is pretty broken at the moment.
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ strip-unsupported-flags
+ fi
+
+ if tc-is-clang; then
+ myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
+ else
+ if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
+ die "Compiling with sys-libs/libcxx requires clang."
+ fi
+ myconf_gn+=" is_clang=false"
+ fi
+
+ # Define a custom toolchain for GN
+ myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
+
+ if tc-is-cross-compiler; then
+ tc-export BUILD_{AR,CC,CXX,NM}
+ myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ else
+ myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
+ fi
+
+ # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
+ myconf_gn+=" is_debug=false"
+
+ # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138.
+ # DCHECK is fatal by default, make it configurable at runtime, #bug 807881.
+ myconf_gn+=" dcheck_always_on=$(usex debug true false)"
+ myconf_gn+=" dcheck_is_configurable=$(usex debug true false)"
+
+ # Component build isn't generally intended for use by end users. It's mostly useful
+ # for development and debugging.
+ myconf_gn+=" is_component_build=$(usex component-build true false)"
+
+ # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
+ myconf_gn+=" enable_nacl=false"
+
+ # Use system-provided libraries.
+ # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
+ # TODO: use_system_hunspell (upstream changes needed).
+ # TODO: use_system_protobuf (bug #525560).
+ # TODO: use_system_sqlite (http://crbug.com/22208).
+
+ # libevent: https://bugs.gentoo.org/593458
+ local gn_system_libraries=(
+ flac
+ fontconfig
+ freetype
+ # Need harfbuzz_from_pkgconfig target
+ #harfbuzz-ng
+ libdrm
+ libjpeg
+ libwebp
+ zlib
+ )
+ if use system-ffmpeg; then
+ gn_system_libraries+=( ffmpeg opus )
+ fi
+ if use system-icu; then
+ gn_system_libraries+=( icu )
+ fi
+ if use system-png; then
+ gn_system_libraries+=( libpng )
+ fi
+ if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then
+ # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++
+ gn_system_libraries+=( libxml )
+ gn_system_libraries+=( libxslt )
+ gn_system_libraries+=( openh264 )
+ gn_system_libraries+=( re2 )
+ fi
+ build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
+
+ # See dependency logic in third_party/BUILD.gn
+ myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)"
+
+ # Disable deprecated libgnome-keyring dependency, bug #713012
+ myconf_gn+=" use_gnome_keyring=false"
+
+ # Optional dependencies.
+ myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)"
+ myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
+ myconf_gn+=" enable_widevine=$(usex widevine true false)"
+ myconf_gn+=" use_cups=$(usex cups true false)"
+ myconf_gn+=" use_kerberos=$(usex kerberos true false)"
+ myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
+ myconf_gn+=" use_vaapi=$(usex vaapi true false)"
+ myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)"
+
+ # TODO: link_pulseaudio=true for GN.
+
+ myconf_gn+=" disable_fieldtrial_testing_config=true"
+
+ # Never use bundled gold binary. Disable gold linker flags for now.
+ # Do not use bundled clang.
+ # Trying to use gold results in linker crash.
+ myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false"
+
+ # Disable forced lld, bug 641556
+ myconf_gn+=" use_lld=false"
+
+ # Disable pseudolocales, only used for testing
+ myconf_gn+=" enable_pseudolocales=false"
+
+ # Disable code formating of generated files
+ myconf_gn+=" blink_enable_generated_code_formatting=false"
+
+ ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
+ myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
+ myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
+
+ # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
+ # Note: these are for Gentoo use ONLY. For your own distribution,
+ # please get your own set of keys. Feel free to contact chromium@gentoo.org
+ # for more info. The OAuth2 credentials, however, have been left out.
+ # Those OAuth2 credentials have been broken for quite some time anyway.
+ # Instead we apply a patch to use the --oauth2-client-id= and
+ # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and
+ # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into
+ # Chromium without baked-in values.
+ local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
+ myconf_gn+=" google_api_key=\"${google_api_key}\""
+ local myarch="$(tc-arch)"
+
+ # Avoid CFLAGS problems, bug #352457, bug #390147.
+ if ! use custom-cflags; then
+ replace-flags "-Os" "-O2"
+ strip-flags
+
+ # Debug info section overflows without component build
+ # Prevent linker from running out of address space, bug #471810 .
+ if ! use component-build || use x86; then
+ filter-flags "-g*"
+ fi
+
+ # Prevent libvpx build failures. Bug 530248, 544702, 546984.
+ if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then
+ filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4
+ fi
+ fi
+
+ if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
+ append-flags -stdlib=libc++
+ append-ldflags -stdlib=libc++
+ fi
+
+ if [[ $myarch = amd64 ]] ; then
+ myconf_gn+=" target_cpu=\"x64\""
+ ffmpeg_target_arch=x64
+ elif [[ $myarch = x86 ]] ; then
+ myconf_gn+=" target_cpu=\"x86\""
+ ffmpeg_target_arch=ia32
+
+ # This is normally defined by compiler_cpu_abi in
+ # build/config/compiler/BUILD.gn, but we patch that part out.
+ append-flags -msse2 -mfpmath=sse -mmmx
+ elif [[ $myarch = arm64 ]] ; then
+ myconf_gn+=" target_cpu=\"arm64\""
+ ffmpeg_target_arch=arm64
+ elif [[ $myarch = arm ]] ; then
+ myconf_gn+=" target_cpu=\"arm\""
+ ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm)
+ elif [[ $myarch = ppc64 ]] ; then
+ myconf_gn+=" target_cpu=\"ppc64\""
+ ffmpeg_target_arch=ppc64
+ else
+ die "Failed to determine target arch, got '$myarch'."
+ fi
+
+ # Make sure that -Werror doesn't get added to CFLAGS by the build system.
+ # Depending on GCC version the warnings are different and we don't want
+ # the build to fail because of that.
+ myconf_gn+=" treat_warnings_as_errors=false"
+
+ # Disable fatal linker warnings, bug 506268.
+ myconf_gn+=" fatal_linker_warnings=false"
+
+ # Bug 491582.
+ export TMPDIR="${WORKDIR}/temp"
+ mkdir -p -m 755 "${TMPDIR}" || die
+
+ # https://bugs.gentoo.org/654216
+ addpredict /dev/dri/ #nowarn
+
+ #if ! use system-ffmpeg; then
+ if false; then
+ local build_ffmpeg_args=""
+ if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then
+ build_ffmpeg_args+=" --disable-asm"
+ fi
+
+ # Re-configure bundled ffmpeg. See bug #491378 for example reasons.
+ einfo "Configuring bundled ffmpeg..."
+ pushd third_party/ffmpeg > /dev/null || die
+ chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \
+ --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die
+ chromium/scripts/copy_config.sh || die
+ chromium/scripts/generate_gn.py || die
+ popd > /dev/null || die
+ fi
+
+ # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470
+ append-cxxflags $(test-flags-CXX -flax-vector-conversions=all)
+
+ # Disable unknown warning message from clang.
+ tc-is-clang && append-flags -Wno-unknown-warning-option
+
+ # Explicitly disable ICU data file support for system-icu builds.
+ if use system-icu; then
+ myconf_gn+=" icu_use_data_file=false"
+ fi
+
+ # Enable ozone wayland and/or headless support
+ myconf_gn+=" use_ozone=true ozone_auto_platforms=false"
+ myconf_gn+=" ozone_platform_headless=true"
+ myconf_gn+=" ozone_platform_x11=$(usex headless false true)"
+ if use wayland || use headless; then
+ if use headless; then
+ myconf_gn+=" ozone_platform=\"headless\""
+ myconf_gn+=" use_x11=false"
+ else
+ myconf_gn+=" ozone_platform_wayland=true"
+ myconf_gn+=" use_system_libdrm=true"
+ myconf_gn+=" use_system_minigbm=true"
+ myconf_gn+=" use_xkbcommon=true"
+ myconf_gn+=" ozone_platform=\"wayland\""
+ fi
+ else
+ myconf_gn+=" ozone_platform=\"x11\""
+ fi
+
+ # Enable official builds
+ myconf_gn+=" is_official_build=$(usex official true false)"
+ myconf_gn+=" use_thin_lto=false"
+ if use official; then
+ # Allow building against system libraries in official builds
+ sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
+ tools/generate_shim_headers/generate_shim_headers.py || die
+ # Disable CFI: unsupported for GCC, requires clang+lto+lld
+ myconf_gn+=" is_cfi=false"
+ # Disable PGO, because profile data is only compatible with >=clang-11
+ myconf_gn+=" chrome_pgo_phase=0"
+ # Don't add symbols to build
+ myconf_gn+=" symbol_level=0"
+ fi
+
+ einfo "Configuring Chromium..."
+ set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
+ echo "$@"
+ "$@" || die
+}
+
+src_compile() {
+ # Final link uses lots of file descriptors.
+ ulimit -n 2048
+
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ # Don't inherit PYTHONPATH from environment, bug #789021, #812689
+ local -x PYTHONPATH=
+
+ #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die
+
+ # Build mksnapshot and pax-mark it.
+ local x
+ for x in mksnapshot v8_context_snapshot_generator; do
+ if tc-is-cross-compiler; then
+ eninja -C out/Release "host/${x}"
+ pax-mark m "out/Release/host/${x}"
+ else
+ eninja -C out/Release "${x}"
+ pax-mark m "out/Release/${x}"
+ fi
+ done
+
+ # Even though ninja autodetects number of CPUs, we respect
+ # user's options, for debugging with -j 1 or any other reason.
+ eninja -C out/Release chrome chromedriver
+ use suid && eninja -C out/Release chrome_sandbox
+
+ pax-mark m out/Release/chrome
+
+ mv out/Release/chromedriver{.unstripped,} || die
+
+ # Build manpage; bug #684550
+ sed -e 's|@@PACKAGE@@|chromium-browser|g;
+ s|@@MENUNAME@@|Chromium|g;' \
+ chrome/app/resources/manpage.1.in > \
+ out/Release/chromium-browser.1 || die
+
+ # Build desktop file; bug #706786
+ sed -e 's|@@MENUNAME@@|Chromium|g;
+ s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g;
+ s|@@PACKAGE@@|chromium-browser|g;
+ s|\(^Exec=\)/usr/bin/|\1|g;' \
+ chrome/installer/linux/common/desktop.template > \
+ out/Release/chromium-browser-chromium.desktop || die
+
+ # Build vk_swiftshader_icd.json; bug #827861
+ sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \
+ third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \
+ out/Release/vk_swiftshader_icd.json || die
+}
+
+src_install() {
+ local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
+ exeinto "${CHROMIUM_HOME}"
+ doexe out/Release/chrome
+
+ if use suid; then
+ newexe out/Release/chrome_sandbox chrome-sandbox
+ fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
+ fi
+
+ doexe out/Release/chromedriver
+ doexe out/Release/chrome_crashpad_handler
+
+ ozone_auto_session () {
+ use wayland && ! use headless && echo true || echo false
+ }
+ local sedargs=( -e
+ "s:/usr/lib/:/usr/$(get_libdir)/:g;
+ s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g"
+ )
+ sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die
+ doexe chromium-launcher.sh
+
+ # It is important that we name the target "chromium-browser",
+ # xdg-utils expect it; bug #355517.
+ dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser
+ # keep the old symlink around for consistency
+ dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
+
+ dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
+
+ # Allow users to override command-line options, bug #357629.
+ insinto /etc/chromium
+ newins "${FILESDIR}/chromium.default" "default"
+
+ pushd out/Release/locales > /dev/null || die
+ chromium_remove_language_paks
+ popd
+
+ insinto "${CHROMIUM_HOME}"
+ doins out/Release/*.bin
+ doins out/Release/*.pak
+ (
+ shopt -s nullglob
+ local files=(out/Release/*.so out/Release/*.so.[0-9])
+ [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}"
+ )
+
+ if ! use system-icu; then
+ doins out/Release/icudtl.dat
+ fi
+
+ doins -r out/Release/locales
+ doins -r out/Release/resources
+ doins -r out/Release/MEIPreload
+
+ # Install vk_swiftshader_icd.json; bug #827861
+ doins out/Release/vk_swiftshader_icd.json
+
+ if [[ -d out/Release/swiftshader ]]; then
+ insinto "${CHROMIUM_HOME}/swiftshader"
+ doins out/Release/swiftshader/*.so
+ fi
+
+ # Install icons
+ local branding size
+ for size in 16 24 32 48 64 128 256 ; do
+ case ${size} in
+ 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
+ *) branding="chrome/app/theme/chromium" ;;
+ esac
+ newicon -s ${size} "${branding}/product_logo_${size}.png" \
+ chromium-browser.png
+ done
+
+ # Install desktop entry
+ domenu out/Release/chromium-browser-chromium.desktop
+
+ # Install GNOME default application entry (bug #303100).
+ insinto /usr/share/gnome-control-center/default-apps
+ newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
+
+ # Install manpage; bug #684550
+ doman out/Release/chromium-browser.1
+ dosym chromium-browser.1 /usr/share/man/man1/chromium.1
+
+ readme.gentoo_create_doc
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ readme.gentoo_print_elog
+
+ if use vaapi; then
+ elog "VA-API is disabled by default at runtime. You have to enable it"
+ elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS"
+ elog "in /etc/chromium/default."
+ fi
+ if use screencast; then
+ elog "Screencast is disabled by default at runtime. Either enable it"
+ elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer"
+ elog "inside Chromium or add --enable-webrtc-pipewire-capturer"
+ elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ fi
+}
diff --git a/www-client/chromium/files/chromium-93-InkDropHost-crash.patch b/www-client/chromium/files/chromium-93-InkDropHost-crash.patch
new file mode 100644
index 0000000..54d16db
--- /dev/null
+++ b/www-client/chromium/files/chromium-93-InkDropHost-crash.patch
@@ -0,0 +1,25 @@
+diff --git a/ui/views/animation/ink_drop_host_view.h b/ui/views/animation/ink_drop_host_view.h
+index bd0975b..e5df288 100644
+--- a/ui/views/animation/ink_drop_host_view.h
++++ b/ui/views/animation/ink_drop_host_view.h
+@@ -238,6 +238,11 @@ class VIEWS_EXPORT InkDropHost {
+ // Used to observe View and inform the InkDrop of host-transform changes.
+ ViewLayerTransformObserver host_view_transform_observer_;
+
++ // Declared before |ink_drop_|, because InkDropImpl may call
++ // RemoveInkDropLayer on partly destructed InkDropHost. In
++ // that case |ink_drop_mask_| must be still valid.
++ std::unique_ptr<views::InkDropMask> ink_drop_mask_;
++
+ // Should not be accessed directly. Use GetInkDrop() instead.
+ std::unique_ptr<InkDrop> ink_drop_;
+
+@@ -261,8 +266,6 @@ class VIEWS_EXPORT InkDropHost {
+ int ink_drop_small_corner_radius_ = 2;
+ int ink_drop_large_corner_radius_ = 4;
+
+- std::unique_ptr<views::InkDropMask> ink_drop_mask_;
+-
+ base::RepeatingCallback<std::unique_ptr<InkDrop>()> create_ink_drop_callback_;
+ base::RepeatingCallback<std::unique_ptr<InkDropRipple>()>
+ create_ink_drop_ripple_callback_;
diff --git a/www-client/chromium/files/chromium-96-EnumTable-crash.patch b/www-client/chromium/files/chromium-96-EnumTable-crash.patch
new file mode 100644
index 0000000..9736739
--- /dev/null
+++ b/www-client/chromium/files/chromium-96-EnumTable-crash.patch
@@ -0,0 +1,76 @@
+diff --git a/components/cast_channel/enum_table.h b/components/cast_channel/enum_table.h
+index aad9e08..2f3fcad 100644
+--- a/components/cast_channel/enum_table.h
++++ b/components/cast_channel/enum_table.h
+@@ -8,6 +8,7 @@
+ #include <cstdint>
+ #include <cstring>
+ #include <ostream>
++#include <vector>
+
+ #include "base/check_op.h"
+ #include "base/macros.h"
+@@ -188,7 +189,6 @@ class
+ inline constexpr GenericEnumTableEntry(int32_t value);
+ inline constexpr GenericEnumTableEntry(int32_t value, base::StringPiece str);
+
+- GenericEnumTableEntry(const GenericEnumTableEntry&) = delete;
+ GenericEnumTableEntry& operator=(const GenericEnumTableEntry&) = delete;
+
+ private:
+@@ -254,7 +254,6 @@ class EnumTable {
+ constexpr Entry(E value, base::StringPiece str)
+ : GenericEnumTableEntry(static_cast<int32_t>(value), str) {}
+
+- Entry(const Entry&) = delete;
+ Entry& operator=(const Entry&) = delete;
+ };
+
+@@ -313,15 +312,14 @@ class EnumTable {
+ if (is_sorted_) {
+ const std::size_t index = static_cast<std::size_t>(value);
+ if (ANALYZER_ASSUME_TRUE(index < data_.size())) {
+- const auto& entry = data_.begin()[index];
++ const auto& entry = data_[index];
+ if (ANALYZER_ASSUME_TRUE(entry.has_str()))
+ return entry.str();
+ }
+ return absl::nullopt;
+ }
+ return GenericEnumTableEntry::FindByValue(
+- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
+- data_.size(), static_cast<int32_t>(value));
++ &data_[0], data_.size(), static_cast<int32_t>(value));
+ }
+
+ // This overload of GetString is designed for cases where the argument is a
+@@ -349,8 +347,7 @@ class EnumTable {
+ // enum value directly.
+ absl::optional<E> GetEnum(base::StringPiece str) const {
+ auto* entry = GenericEnumTableEntry::FindByString(
+- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
+- data_.size(), str);
++ &data_[0], data_.size(), str);
+ return entry ? static_cast<E>(entry->value) : absl::optional<E>();
+ }
+
+@@ -365,7 +362,7 @@ class EnumTable {
+ // Align the data on a cache line boundary.
+ alignas(64)
+ #endif
+- std::initializer_list<Entry> data_;
++ const std::vector<Entry> data_;
+ bool is_sorted_;
+
+ constexpr EnumTable(std::initializer_list<Entry> data, bool is_sorted)
+@@ -377,8 +374,8 @@ class EnumTable {
+
+ for (std::size_t i = 0; i < data.size(); i++) {
+ for (std::size_t j = i + 1; j < data.size(); j++) {
+- const Entry& ei = data.begin()[i];
+- const Entry& ej = data.begin()[j];
++ const Entry& ei = data[i];
++ const Entry& ej = data[j];
+ DCHECK(ei.value != ej.value)
+ << "Found duplicate enum values at indices " << i << " and " << j;
+ DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str()))
diff --git a/www-client/chromium/files/chromium-96-freetype-unbundle.patch b/www-client/chromium/files/chromium-96-freetype-unbundle.patch
new file mode 100644
index 0000000..6ef5ff6
--- /dev/null
+++ b/www-client/chromium/files/chromium-96-freetype-unbundle.patch
@@ -0,0 +1,10 @@
+--- a/build/linux/BUILD.gn
++++ b/build/linux/BUILD.gn
+@@ -23,6 +23,7 @@
+ # the system, use with caution,for details see build/config/freetype/BUILD.gn.
+ pkg_config("freetype_from_pkgconfig") {
+ visibility = [
++ "//build/config/freetype:freetype",
+ "//third_party:freetype_harfbuzz",
+ "//third_party/harfbuzz-ng:harfbuzz_source",
+ ]
diff --git a/www-client/chromium/files/chromium-98-EnumTable-crash.patch b/www-client/chromium/files/chromium-98-EnumTable-crash.patch
new file mode 100644
index 0000000..f058ec1
--- /dev/null
+++ b/www-client/chromium/files/chromium-98-EnumTable-crash.patch
@@ -0,0 +1,76 @@
+diff --git a/components/cast_channel/enum_table.h b/components/cast_channel/enum_table.h
+index 842553a..89de703 100644
+--- a/components/cast_channel/enum_table.h
++++ b/components/cast_channel/enum_table.h
+@@ -8,6 +8,7 @@
+ #include <cstdint>
+ #include <cstring>
+ #include <ostream>
++#include <vector>
+
+ #include "base/check_op.h"
+ #include "base/notreached.h"
+@@ -187,7 +188,6 @@ class
+ inline constexpr GenericEnumTableEntry(int32_t value);
+ inline constexpr GenericEnumTableEntry(int32_t value, base::StringPiece str);
+
+- GenericEnumTableEntry(const GenericEnumTableEntry&) = delete;
+ GenericEnumTableEntry& operator=(const GenericEnumTableEntry&) = delete;
+
+ private:
+@@ -253,7 +253,6 @@ class EnumTable {
+ constexpr Entry(E value, base::StringPiece str)
+ : GenericEnumTableEntry(static_cast<int32_t>(value), str) {}
+
+- Entry(const Entry&) = delete;
+ Entry& operator=(const Entry&) = delete;
+ };
+
+@@ -312,15 +311,14 @@ class EnumTable {
+ if (is_sorted_) {
+ const std::size_t index = static_cast<std::size_t>(value);
+ if (ANALYZER_ASSUME_TRUE(index < data_.size())) {
+- const auto& entry = data_.begin()[index];
++ const auto& entry = data_[index];
+ if (ANALYZER_ASSUME_TRUE(entry.has_str()))
+ return entry.str();
+ }
+ return absl::nullopt;
+ }
+ return GenericEnumTableEntry::FindByValue(
+- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
+- data_.size(), static_cast<int32_t>(value));
++ &data_[0], data_.size(), static_cast<int32_t>(value));
+ }
+
+ // This overload of GetString is designed for cases where the argument is a
+@@ -348,8 +346,7 @@ class EnumTable {
+ // enum value directly.
+ absl::optional<E> GetEnum(base::StringPiece str) const {
+ auto* entry = GenericEnumTableEntry::FindByString(
+- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
+- data_.size(), str);
++ &data_[0], data_.size(), str);
+ return entry ? static_cast<E>(entry->value) : absl::optional<E>();
+ }
+
+@@ -364,7 +361,7 @@ class EnumTable {
+ // Align the data on a cache line boundary.
+ alignas(64)
+ #endif
+- std::initializer_list<Entry> data_;
++ const std::vector<Entry> data_;
+ bool is_sorted_;
+
+ constexpr EnumTable(std::initializer_list<Entry> data, bool is_sorted)
+@@ -376,8 +373,8 @@ class EnumTable {
+
+ for (std::size_t i = 0; i < data.size(); i++) {
+ for (std::size_t j = i + 1; j < data.size(); j++) {
+- const Entry& ei = data.begin()[i];
+- const Entry& ej = data.begin()[j];
++ const Entry& ei = data[i];
++ const Entry& ej = data[j];
+ DCHECK(ei.value != ej.value)
+ << "Found duplicate enum values at indices " << i << " and " << j;
+ DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str()))
diff --git a/www-client/chromium/files/chromium-98-system-libdrm.patch b/www-client/chromium/files/chromium-98-system-libdrm.patch
new file mode 100644
index 0000000..f2f18be
--- /dev/null
+++ b/www-client/chromium/files/chromium-98-system-libdrm.patch
@@ -0,0 +1,34 @@
+diff --git a/media/gpu/chromeos/BUILD.gn b/media/gpu/chromeos/BUILD.gn
+index a5c8945..d742d80 100644
+--- a/media/gpu/chromeos/BUILD.gn
++++ b/media/gpu/chromeos/BUILD.gn
+@@ -32,6 +32,7 @@ source_set("chromeos") {
+
+ if (use_vaapi) {
+ deps += [
++ "//build/config/linux/libdrm",
+ "//media/gpu/vaapi",
+ "//media/gpu/vaapi:common",
+ ]
+diff --git a/media/gpu/chromeos/video_decoder_pipeline.cc b/media/gpu/chromeos/video_decoder_pipeline.cc
+index 2d77cd9..1883fd4 100644
+--- a/media/gpu/chromeos/video_decoder_pipeline.cc
++++ b/media/gpu/chromeos/video_decoder_pipeline.cc
+@@ -4,6 +4,9 @@
+
+ #include "media/gpu/chromeos/video_decoder_pipeline.h"
+
++#if BUILDFLAG(USE_VAAPI)
++#include <drm_fourcc.h>
++#endif
+ #include <memory>
+
+ #include "base/bind.h"
+@@ -28,7 +31,6 @@
+
+ #if BUILDFLAG(USE_VAAPI)
+ #include "media/gpu/vaapi/vaapi_video_decoder.h"
+-#include "third_party/libdrm/src/include/drm/drm_fourcc.h"
+ #elif BUILDFLAG(USE_V4L2_CODEC)
+ #include "media/gpu/v4l2/v4l2_video_decoder.h"
+ #else
diff --git a/www-client/chromium/files/chromium-browser.xml b/www-client/chromium/files/chromium-browser.xml
new file mode 100644
index 0000000..2c95a55
--- /dev/null
+++ b/www-client/chromium/files/chromium-browser.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE default-apps SYSTEM "gnome-da-list.dtd">
+<default-apps>
+ <web-browsers>
+ <web-browser>
+ <name>Chromium</name>
+ <executable>chromium-browser</executable>
+ <command>chromium-browser %s</command>
+ <icon-name>chromium-browser</icon-name>
+ <run-in-terminal>false</run-in-terminal>
+ </web-browser>
+ </web-browsers>
+</default-apps>
diff --git a/www-client/chromium/files/chromium-glibc-2.34.patch b/www-client/chromium/files/chromium-glibc-2.34.patch
new file mode 100644
index 0000000..64c03a6
--- /dev/null
+++ b/www-client/chromium/files/chromium-glibc-2.34.patch
@@ -0,0 +1,50 @@
+From 600d63c2c59a9892dbc5423d7d8bb1565a9f91e7 Mon Sep 17 00:00:00 2001
+From: Michel Salim <michel@fb.com>
+Date: Thu, 04 Nov 2021 14:22:40 -0700
+Subject: [PATCH] Handle long SIGSTKSZ in glibc > 2.33
+
+`SIGSTKSZ` is no longer constant in glibc > 2.33 but a function
+returning a long. Cast before taking `max`.
+
+See https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;h=85e84fe53699fe9e392edffa993612ce08b2954a;hb=HEAD
+
+Signed-off-by: Michel Salim <michel@fb.com>
+Change-Id: I197f8ff3053eede80d6aed096be4f0113dd43241
+(relocated to chromium repo, removed static)
+---
+
+diff --git a/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc b/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
+index ca353c4..5cdabcf 100644
+--- a/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
++++ b/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
+@@ -138,7 +138,7 @@
+ // SIGSTKSZ may be too small to prevent the signal handlers from overrunning
+ // the alternative stack. Ensure that the size of the alternative stack is
+ // large enough.
+- static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
++ const unsigned kSigStackSize = std::max(16384U, (unsigned)SIGSTKSZ);
+
+ // Only set an alternative stack if there isn't already one, or if the current
+ // one is too small.
+diff --git a/sandbox/linux/services/credentials.cc b/sandbox/linux/services/credentials.cc
+index ca6b595..1c1ee42 100644
+--- a/sandbox/linux/services/credentials.cc
++++ b/sandbox/linux/services/credentials.cc
+@@ -11,6 +11,7 @@
+ #include <stddef.h>
+ #include <stdint.h>
+ #include <stdio.h>
++#include <string.h>
+ #include <sys/syscall.h>
+ #include <sys/types.h>
+ #include <sys/wait.h>
+@@ -100,7 +101,8 @@ bool ChrootToSafeEmptyDir() {
+ // TODO(crbug.com/1247458) Broken in MSan builds after LLVM f1bb30a4956f.
+ clone_flags |= CLONE_VM | CLONE_VFORK | CLONE_SETTLS;
+
+- char tls_buf[PTHREAD_STACK_MIN] = {0};
++ char tls_buf[PTHREAD_STACK_MIN];
++ memset(tls_buf, 0, PTHREAD_STACK_MIN);
+ tls = tls_buf;
+ #endif
+
diff --git a/www-client/chromium/files/chromium-launcher-r7.sh b/www-client/chromium/files/chromium-launcher-r7.sh
new file mode 100644
index 0000000..1163ff3
--- /dev/null
+++ b/www-client/chromium/files/chromium-launcher-r7.sh
@@ -0,0 +1,59 @@
+#!/bin/bash
+
+# Allow the user to override command-line flags, bug #357629.
+# This is based on Debian's chromium-browser package, and is intended
+# to be consistent with Debian.
+for f in /etc/chromium/*; do
+ [[ -f ${f} ]] && source "${f}"
+done
+
+# Prefer user defined CHROMIUM_USER_FLAGS (from env) over system
+# default CHROMIUM_FLAGS (from /etc/chromium/default).
+CHROMIUM_FLAGS=${CHROMIUM_USER_FLAGS:-"$CHROMIUM_FLAGS"}
+
+# Let the wrapped binary know that it has been run through the wrapper
+export CHROME_WRAPPER=$(readlink -f "$0")
+
+PROGDIR=${CHROME_WRAPPER%/*}
+
+case ":$PATH:" in
+ *:$PROGDIR:*)
+ # $PATH already contains $PROGDIR
+ ;;
+ *)
+ # Append $PROGDIR to $PATH
+ export PATH="$PATH:$PROGDIR"
+ ;;
+esac
+
+if [[ ${EUID} == 0 && -O ${XDG_CONFIG_HOME:-${HOME}} ]]; then
+ # Running as root with HOME owned by root.
+ # Pass --user-data-dir to work around upstream failsafe.
+ CHROMIUM_FLAGS="--user-data-dir=${XDG_CONFIG_HOME:-${HOME}/.config}/chromium
+ ${CHROMIUM_FLAGS}"
+fi
+
+# Select session type and platform
+if @@OZONE_AUTO_SESSION@@; then
+ platform=
+ if [[ ${XDG_SESSION_TYPE} == x11 ]]; then
+ platform=x11
+ elif [[ ${XDG_SESSION_TYPE} == wayland ]]; then
+ platform=wayland
+ else
+ if [[ -n ${WAYLAND_DISPLAY} ]]; then
+ platform=wayland
+ else
+ platform=x11
+ fi
+ fi
+ if ${DISABLE_OZONE_PLATFORM:-false}; then
+ platform=x11
+ fi
+ CHROMIUM_FLAGS="--ozone-platform=${platform} ${CHROMIUM_FLAGS}"
+fi
+
+# Set the .desktop file name
+export CHROME_DESKTOP="chromium-browser-chromium.desktop"
+
+exec -a "chromium-browser" "$PROGDIR/chrome" --extra-plugin-dir=/usr/lib/nsbrowser/plugins ${CHROMIUM_FLAGS} "$@"
--git a/www-client/chromium/files/chromium-shim_headers.patch b/www-client/chromium/files/chromium-shim_headers.patch
new file mode 100644
index 0000000..9372632
--- /dev/null
+++ b/www-client/chromium/files/chromium-shim_headers.patch
@@ -0,0 +1,48 @@
+From e273172bbafedca36984fc40f4aa6c44b79ac2ef Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09@googlemail.com>
+Date: Fri, 25 Dec 2020 09:10:32 +0000
+Subject: [PATCH] shim_headers: fix outputs generation
+
+---
+ build/shim_headers.gni | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/build/shim_headers.gni b/build/shim_headers.gni
+index 0900cba..5138647 100644
+--- a/build/shim_headers.gni
++++ b/build/shim_headers.gni
+@@ -6,6 +6,8 @@ template("shim_headers") {
+ action_name = "gen_${target_name}"
+ config_name = "${target_name}_config"
+ shim_headers_path = "${root_gen_dir}/shim_headers/${target_name}"
++ shim_root_path = rebase_path(invoker.root_path)
++ shim_rel_path = rebase_path("${shim_root_path}", rebase_path("//"))
+
+ config(config_name) {
+ include_dirs = [ shim_headers_path ]
+@@ -16,7 +18,7 @@ template("shim_headers") {
+ args = [
+ "--generate",
+ "--headers-root",
+- rebase_path(invoker.root_path),
++ "${shim_root_path}",
+ "--output-directory",
+ rebase_path(shim_headers_path),
+ ]
+@@ -27,9 +29,10 @@ template("shim_headers") {
+ ]
+ }
+ args += invoker.headers
+-
+- outputs = process_file_template(invoker.headers,
+- "${shim_headers_path}/{{source_file_part}}")
++ outputs = []
++ foreach(shim_header, invoker.headers) {
++ outputs += [ "${shim_headers_path}/${shim_rel_path}/" + shim_header ]
++ }
+ }
+
+ group(target_name) {
+--
+2.26.2
+
diff --git a/www-client/chromium/files/chromium-use-oauth2-client-switches-as-default.patch b/www-client/chromium/files/chromium-use-oauth2-client-switches-as-default.patch
new file mode 100644
index 0000000..9d9c57b
--- /dev/null
+++ b/www-client/chromium/files/chromium-use-oauth2-client-switches-as-default.patch
@@ -0,0 +1,17 @@
+diff -upr chromium-89.0.4389.58.orig/google_apis/google_api_keys.cc chromium-89.0.4389.58/google_apis/google_api_keys.cc
+--- chromium-89.0.4389.58.orig/google_apis/google_api_keys.cc 2021-02-24 22:37:18.494007649 +0000
++++ chromium-89.0.4389.58/google_apis/google_api_keys.cc 2021-02-24 22:35:00.865777600 +0000
+@@ -154,11 +154,11 @@ class APIKeyCache {
+
+ std::string default_client_id = CalculateKeyValue(
+ GOOGLE_DEFAULT_CLIENT_ID,
+- STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), nullptr,
++ STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), ::switches::kOAuth2ClientID,
+ std::string(), environment.get(), command_line, gaia_config);
+ std::string default_client_secret = CalculateKeyValue(
+ GOOGLE_DEFAULT_CLIENT_SECRET,
+- STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), nullptr,
++ STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), ::switches::kOAuth2ClientSecret,
+ std::string(), environment.get(), command_line, gaia_config);
+
+ // We currently only allow overriding the baked-in values for the
diff --git a/www-client/chromium/files/chromium.default b/www-client/chromium/files/chromium.default
new file mode 100644
index 0000000..c140cde
--- /dev/null
+++ b/www-client/chromium/files/chromium.default
@@ -0,0 +1,5 @@
+# Default settings for chromium. This file is sourced by /bin/bash from
+# the chromium launcher.
+
+# Options to pass to chromium.
+#CHROMIUM_FLAGS=""
diff --git a/www-client/chromium/metadata.xml b/www-client/chromium/metadata.xml
new file mode 100644
index 0000000..dcdaa4c
--- /dev/null
+++ b/www-client/chromium/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>chromium@gentoo.org</email>
+ <name>Chromium in Gentoo Project</name>
+ </maintainer>
+ <use>
+ <flag name="js-type-check">Enable JavaScript type-checking for Chrome's web technology-based UI. Requires Java.</flag>
+ <flag name="component-build">Split build into more shared libraries to speed up linking. Mostly intended for debugging and development, NOT RECOMMENDED for general use.</flag>
+ <flag name="debug">Enable DCHECK feature with severity configurable at runtime. Mostly intended for debugging and development, NOT RECOMMENDED for general use.</flag>
+ <flag name="headless">Build Ozone only with headless backend, NOT RECOMMENDED for general use.</flag>
+ <flag name="hangouts">Enable support for Google Hangouts features such as screen sharing</flag>
+ <flag name="official">Enable Official build instead of Developer build.</flag>
+ <flag name="pic">Disable optimized assembly code that is not PIC friendly</flag>
+ <flag name="proprietary-codecs">Enable codecs for patent-encumbered audio and video formats.</flag>
+ <flag name="screencast">Enable support for remote desktop and screen cast using <pkg>media-video/pipewire</pkg></flag>
+ <flag name="suid">Build the SUID sandbox, which is only needed on CONFIG_USER_NS=n kernels</flag>
+ <flag name="system-ffmpeg">Use system ffmpeg instead of the bundled one</flag>
+ <flag name="system-harfbuzz">Use system harfbuzz instead of the bundled one.</flag>
+ <flag name="system-icu">Use system icu instead of the bundled one</flag>
+ <flag name="system-png">Use system libpng instead of the bundled one.</flag>
+ <flag name="widevine">Unsupported closed-source DRM capability (required by Netflix VOD)</flag>
+ </use>
+</pkgmetadata>
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] proj/riscv:master commit in: www-client/chromium/files/, www-client/chromium/
@ 2024-04-12 4:09 Yixun Lan
0 siblings, 0 replies; 7+ messages in thread
From: Yixun Lan @ 2024-04-12 4:09 UTC (permalink / raw
To: gentoo-commits
commit: afda4a50bf7de01b268a57d527896effc924e93f
Author: Andrew Cameron <apcameron <AT> gmail <DOT> com>
AuthorDate: Wed Apr 10 21:38:04 2024 +0000
Commit: Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Fri Apr 12 03:45:24 2024 +0000
URL: https://gitweb.gentoo.org/proj/riscv.git/commit/?id=afda4a50
www-client/chromium: Update to 123.0.6312.105
Closes: https://github.com/gentoo/riscv/pull/13
Signed-off-by: Andrew Cameron <apcameron <AT> gmail.com>
Signed-off-by: Yixun Lan <dlan <AT> gentoo.org>
www-client/chromium/Manifest | 2 +
www-client/chromium/chromium-123.0.6312.105.ebuild | 1453 ++++++++++++++++++++
.../files/chromium-124-libwebp-shim-sharpyuv.patch | 36 +
3 files changed, 1491 insertions(+)
diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index 3e9db3c..fd20d18 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -1,7 +1,9 @@
DIST chromium-123-clang.tar.xz 50178332 BLAKE2B 4b5c4f81a83c7b0c809c93a713e869fde6fe559477665cb3b2f03c62d2175f821b81fb03b0ddd127c6eaf77c41011b4de06561f09a58384153d80fe2b3aa7427 SHA512 17108b9579f16d0da383bd5e41d012f94bcb8445a517ff823aa49b66d3861b0a124b6cce6183fbc64e8050f1ebcd65a9daa2acbda5fdaa42390bfbf4ecb16bd3
DIST chromium-123-rust.tar.xz 145295100 BLAKE2B ae6603a0e0218e4e39d3e8b7aa48a2cd946c90779dac48be26582926963c8a10a48e3e58fd00a23cb8cd9a3584d9d4a142e843f93c761e862253817635f18c2c SHA512 b4f8dce6d74be4be495d9948d7593ec9664c0b93e87456fab33d3ae5ac0e486a4e8576b26a9ab9890285a7c0d566afb803b98225c0692b6cac9f623a10b954a2
+DIST chromium-123.0.6312.105.tar.xz 3481204616 BLAKE2B 8adbc4a0c96ea53b45b26a48c8eb94e29b31b981471a0d5fda4cdea1f7aa69714a9e5a5729a61a49a92b6322889ee794b4c7ac5e243bc495ff5bd04cdc59f616 SHA512 a1abbba78c96fd7bc44a23b21d8180ebff015d17abcb186dece595513fda9d4443ac67498a78181589884c384a48e6c3abfe72e6ee806fdfc764d05f13fb5cb6
DIST chromium-123.0.6312.58.tar.xz 3465099244 BLAKE2B d0b85e740924a33350c5b6d3a6d1e94c8b946c52ac760237b2391127c99326c64b50de29751850dc368331b66402ab0c4fc65b9aeef09302857a1f5300a0d17b SHA512 4cb08767b8a6fe268c44bd7b621632c71f7d2f3f6c1b7bae9e0373dfc2eada397ab511a068582c2d17bbf3ee9ff16f05fccd454d610d63dd2fd14d6ca355a0c0
DIST chromium-patches-123.tar.bz2 4697 BLAKE2B 8a7dd76edb23afb7b2f65084696bce5d6e54d63ca34c4590052db1086ed0a422b1efde863c4daad4e2526f329eb65276b9ad5406017cd97fb75b1a9556c1f933 SHA512 ea47255deac1893896f64496629d34c7092f266a175b8400fcf4f01b9d038ae240e911bff488558bb28e6f5795bbcf276adf20ed1e0ccb8ac99f9ddd260742f9
DIST chromium-ppc64le-gentoo-patches-1.tar.xz 5636 BLAKE2B 1d898939df023c59285b27bee552470483ea06375d1ee8d6947b89c5927c23cc7bfec6b49f3b376ece931d11a56f8e2a45791e0f92ad61974fc8c34c1082d89c SHA512 8a71cb007e47cda8e5fe5d185729389e65c48bd322c8ee8b3986bee8571427b959628f2666bda646a3f89ae64197c0957d3626845ff03461dbd5dee4c964d07c
DIST chromium-profiler-0.2.tar 259952640 BLAKE2B 5e82389fce00b267280d633b26551231c558b80f0c92cd7d60271095a3503365ab673e7a46dc5f74f8a82db1f21262cb24dcc0531d954bab5fb3b175dab3394d SHA512 9fa89a5ab728419683e7495ae676567480987d68a2d589f2aa97bfcbcf123f3c8f97f8bca5f65e5e3f6e41475535add473ded83b9c7a33bb4746a9d05b298a6c
DIST chromium_122.0.6261.57-1raptor0~deb12u1.debian.tar.xz 551860 BLAKE2B b3f9bef07a38061553816d6f0faf610cc19cc8565605bb520c163906a02e91795a6c6ae05c92ebbb6ccaf95e130438c8bf3c70d26a04951e8438074edb48b63d SHA512 6037a47e1011304ee33447ac11fa84a3355176b5452ad9f7132eebf2527eb3e4fc42635e148731b77b17db243b42172203feacb0443e6071dc9cc7c52d41f7d6
+DIST chromium_123.0.6312.86-1raptor0~deb12u1.debian.tar.xz 579124 BLAKE2B a27996211fbed198480e50934e39b0eda4c39e5e78a03f9b290cb90a6c8d7003b6aa828bf35e6744e9d7aa9a922f43baa77d6c9768140baf5749a797c2dad664 SHA512 cfb51fd910f3330100a2dc9ea993d537f126329ff2c590744954a3bfbb712d7bf1d7ad9066628aba5d28c98f2f9b069cf02f8c6048d2ad0a1a376468bdbd9196
diff --git a/www-client/chromium/chromium-123.0.6312.105.ebuild b/www-client/chromium/chromium-123.0.6312.105.ebuild
new file mode 100644
index 0000000..5388d0d
--- /dev/null
+++ b/www-client/chromium/chromium-123.0.6312.105.ebuild
@@ -0,0 +1,1453 @@
+# Copyright 2009-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..12} )
+PYTHON_REQ_USE="xml(+)"
+
+# PACKAGING NOTES
+
+# Google roll their bundled Clang every two weeks, and the bundled Rust
+# is rolled regularly and depends on that. While we do our best to build
+# with system Clang, we will eventually hit the point where we need to use
+# the bundled Clang due to the use of prerelease features. We've been lucky
+# enough so far that this hasn't been an issue.
+
+# We try and avoid forcing the use of the custom/bundled libcxx, but sometimes
+# it is unavoidable. Remember to force the use of Clang when this is forced.
+
+# GCC is _not_ supported upstream, though patches are welcome. We do our
+# best to enable builds with GCC but reserve the right to force Clang
+# builds if we can't keep up with upstream's changes. Please comment
+# when forcing Clang builds so we can track the need for it.
+
+# GN is bundled with Chromium, but we always use the system version. Remember to
+# check for upstream changes to GN and update ebuild (and version below) as required.
+
+# For binhost users, if USE=bindist is set, we configure Chromium in a way that it is able
+# to use proprietary codecs, and so that ffmpeg is an external component (libffmpeg.so),
+# then we remove ffmpeg from the image to ensure that the built package is distributable
+# (i.e. we don't owe royalties). A suitable libffmpeg.so is symlinked in its place;
+# as a result of this, ffmpeg[chromium] or ffmpeg-chromium must be installed on the system.
+
+# For non-binhost builds, we build the bundled ffmpeg and enable proprietary codecs because there's
+# no reason not to. Todo: Re-enable USE=system-ffmpeg.
+
+# These variables let us easily bound supported major dependency versions in one place.
+GCC_MIN_VER=12
+GN_MIN_VER=0.2154
+# Since Google use prerelease llvm we can let any adventurous users try to build with prerelease
+# ebuilds; try to keep this up to date with the latest version in the tree.
+LLVM_MAX_SLOT=19
+LLVM_MIN_SLOT=17
+RUST_MIN_VER=1.72.0
+# chromium-tools/get-chromium-toolchain-strings.sh
+GOOGLE_CLANG_VER=llvmorg-19-init-2319-g7c4c2746-1
+GOOGLE_RUST_VER=340bb19fea20fd5f9357bbfac542fad84fc7ea2b-3
+
+# https://bugs.chromium.org/p/v8/issues/detail?id=14449 - V8 used in 120 can't build with GCC
+# Resolved upstream, requires testing and some backporting I'm sure
+: ${CHROMIUM_FORCE_CLANG=yes}
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101227 - Chromium 120:
+# webrtc - no matching member function for call to 'emplace'
+: ${CHROMIUM_FORCE_LIBCXX=yes}
+# 121's 'gcc_link_wrapper.py' currently fails if not using lld due to the addition of rust
+: ${CHROMIUM_FORCE_LLD=yes}
+
+: ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN=no}
+
+VIRTUALX_REQUIRED="pgo"
+
+CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
+ hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr
+ sv sw ta te th tr uk ur vi zh-CN zh-TW"
+
+inherit check-reqs chromium-2 desktop flag-o-matic llvm ninja-utils pax-utils
+inherit python-any-r1 qmake-utils readme.gentoo-r1 toolchain-funcs virtualx xdg-utils
+
+DESCRIPTION="Open-source version of Google Chrome web browser"
+HOMEPAGE="https://www.chromium.org/"
+PATCHSET_PPC64="123.0.6312.86-1raptor0~deb12u1"
+PATCH_V="${PV%%\.*}"
+SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
+ system-toolchain? (
+ https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2
+ )
+ !system-toolchain? (
+ https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-${GOOGLE_CLANG_VER}.tar.xz
+ -> chromium-${PV%%\.*}-clang.tar.xz
+ https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${GOOGLE_RUST_VER}-${GOOGLE_CLANG_VER%??}.tar.xz
+ -> chromium-${PV%%\.*}-rust.tar.xz
+ )
+ ppc64? (
+ https://quickbuild.io/~raptor-engineering-public/+archive/ubuntu/chromium/+files/chromium_${PATCHSET_PPC64}.debian.tar.xz
+ https://deps.gentoo.zip/chromium-ppc64le-gentoo-patches-1.tar.xz
+ )
+ pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )"
+
+LICENSE="BSD"
+SLOT="0/stable"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd"
+IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos libcxx lto +official pax-kernel pgo +proprietary-codecs pulseaudio"
+IUSE+=" qt5 qt6 +screencast selinux +system-toolchain +vaapi +wayland +widevine"
+RESTRICT="!bindist? ( bindist )"
+
+REQUIRED_USE="
+ !headless? ( || ( X wayland ) )
+ pgo? ( X !wayland )
+ qt6? ( qt5 )
+ screencast? ( wayland )
+ !system-toolchain? ( libcxx )
+ ffmpeg-chromium? ( bindist proprietary-codecs )
+"
+
+COMMON_X_DEPEND="
+ x11-libs/libXcomposite:=
+ x11-libs/libXcursor:=
+ x11-libs/libXdamage:=
+ x11-libs/libXfixes:=
+ >=x11-libs/libXi-1.6.0:=
+ x11-libs/libXrandr:=
+ x11-libs/libXrender:=
+ x11-libs/libXtst:=
+ x11-libs/libxshmfence:=
+"
+
+COMMON_SNAPSHOT_DEPEND="
+ system-icu? ( >=dev-libs/icu-71.1:= )
+ >=dev-libs/libxml2-2.12.4:=[icu]
+ dev-libs/nspr:=
+ >=dev-libs/nss-3.26:=
+ dev-libs/libxslt:=
+ media-libs/fontconfig:=
+ >=media-libs/freetype-2.11.0-r1:=
+ system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] )
+ media-libs/libjpeg-turbo:=
+ system-png? ( media-libs/libpng:=[-apng(-)] )
+ system-zstd? ( >=app-arch/zstd-1.5.5:= )
+ >=media-libs/libwebp-0.4.0:=
+ media-libs/mesa:=[gbm(+)]
+ >=media-libs/openh264-1.6.0:=
+ sys-libs/zlib:=
+ x11-libs/libdrm:=
+ !headless? (
+ dev-libs/glib:2
+ >=media-libs/alsa-lib-1.0.19:=
+ pulseaudio? ( media-libs/libpulse:= )
+ sys-apps/pciutils:=
+ kerberos? ( virtual/krb5 )
+ vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] )
+ X? (
+ x11-libs/libX11:=
+ x11-libs/libXext:=
+ x11-libs/libxcb:=
+ )
+ x11-libs/libxkbcommon:=
+ wayland? (
+ dev-libs/libffi:=
+ dev-libs/wayland:=
+ screencast? ( media-video/pipewire:= )
+ )
+ )
+"
+
+COMMON_DEPEND="
+ ${COMMON_SNAPSHOT_DEPEND}
+ app-arch/bzip2:=
+ dev-libs/expat:=
+ net-misc/curl[ssl]
+ sys-apps/dbus:=
+ media-libs/flac:=
+ sys-libs/zlib:=[minizip]
+ !headless? (
+ X? ( ${COMMON_X_DEPEND} )
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ media-libs/mesa:=[X?,wayland?]
+ cups? ( >=net-print/cups-1.3.11:= )
+ virtual/udev
+ x11-libs/cairo:=
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango:=
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtwidgets:5
+ )
+ qt6? ( dev-qt/qtbase:6[gui,widgets] )
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ !headless? (
+ || (
+ x11-libs/gtk+:3[X?,wayland?]
+ gui-libs/gtk:4[X?,wayland?]
+ )
+ qt5? ( dev-qt/qtgui:5[X?,wayland?] )
+ qt6? ( dev-qt/qtbase:6[X?,wayland?] )
+ )
+ virtual/ttf-fonts
+ selinux? ( sec-policy/selinux-chromium )
+ bindist? (
+ !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] )
+ ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} )
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ !headless? (
+ gtk4? ( gui-libs/gtk:4[X?,wayland?] )
+ !gtk4? ( x11-libs/gtk+:3[X?,wayland?] )
+ )
+"
+
+depend_clang_llvm_version() {
+ echo "sys-devel/clang:$1"
+ echo "sys-devel/llvm:$1"
+ echo "=sys-devel/lld-$1*"
+}
+
+# When passed multiple arguments we assume that
+# we want a range of versions, inclusive.
+depend_clang_llvm_versions() {
+ local _v
+ if [[ $# -eq 1 ]]; then
+ depend_clang_llvm_version "$1"
+ elif [[ $# -eq 2 ]]; then
+ if [[ $1 -eq $2 ]]; then
+ depend_clang_llvm_version "$1"
+ fi
+ echo "|| ("
+ for ((i=$1; i<=$2; i++)); do
+ echo "("
+ depend_clang_llvm_version "${i}"
+ echo ")"
+ done
+ echo ")"
+ else
+ die "depend_clang_llvm_versions() requires 1 or 2 arguments"
+ fi
+}
+
+BDEPEND="
+ ${COMMON_SNAPSHOT_DEPEND}
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ')
+ >=app-arch/gzip-1.7
+ !headless? (
+ qt5? ( dev-qt/qtcore:5 )
+ qt6? ( dev-qt/qtbase:6 )
+ )
+ system-toolchain? (
+ libcxx? ( >=sys-devel/clang-${LLVM_MIN_SLOT} )
+ lto? ( $(depend_clang_llvm_versions ${LLVM_MIN_SLOT} ${LLVM_MAX_SLOT}) )
+ pgo? (
+ >=dev-python/selenium-3.141.0
+ >=dev-util/web_page_replay_go-20220314
+ $(depend_clang_llvm_versions ${LLVM_MIN_SLOT} ${LLVM_MAX_SLOT})
+ )
+ >=virtual/rust-${RUST_MIN_VER}[profiler(-)]
+ )
+ >=dev-build/gn-${GN_MIN_VER}
+ dev-lang/perl
+ >=dev-build/ninja-1.7.2
+ >=dev-util/gperf-3.0.3
+ dev-vcs/git
+ >=net-libs/nodejs-7.6.0[inspector]
+ >=sys-devel/bison-2.4.3
+ sys-devel/flex
+ virtual/pkgconfig
+"
+
+if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then
+ BDEPEND+="system-toolchain? ( >=sys-devel/clang-${LLVM_MIN_SLOT} ) "
+fi
+
+if [[ ${CHROMIUM_FORCE_LLD} == yes ]]; then
+ BDEPEND+="system-toolchain? ( >=sys-devel/lld-${LLVM_MIN_SLOT} ) "
+else
+ # #918897: Hack for arm64
+ BDEPEND+=" arm64? ( >=sys-devel/lld-${LLVM_MIN_SLOT} )"
+fi
+
+if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
+ EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
+fi
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="
+Some web pages may require additional fonts to display properly.
+Try installing some of the following packages if some characters
+are not displayed properly:
+- media-fonts/arphicfonts
+- media-fonts/droid
+- media-fonts/ipamonafont
+- media-fonts/noto
+- media-fonts/ja-ipafonts
+- media-fonts/takao-fonts
+- media-fonts/wqy-microhei
+- media-fonts/wqy-zenhei
+
+To fix broken icons on the Downloads page, you should install an icon
+theme that covers the appropriate MIME types, and configure this as your
+GTK+ icon theme.
+
+For native file dialogs in KDE, install kde-apps/kdialog.
+
+To make password storage work with your desktop environment you may
+have install one of the supported credentials management applications:
+- app-crypt/libsecret (GNOME)
+- kde-frameworks/kwallet (KDE)
+If you have one of above packages installed, but don't want to use
+them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS
+in /etc/chromium/default.
+"
+
+python_check_deps() {
+ python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
+}
+
+needs_clang() {
+ [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || use libcxx || use lto || use pgo
+}
+
+needs_lld() {
+ # #641556: Force lld for lto and pgo builds, otherwise disable
+ # #918897: Temporary hack w/ use arm64
+ [[ ${CHROMIUM_FORCE_LLD} == yes ]] || use lto || use pgo || use arm64
+}
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if ( use lto || use pgo ) && ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
+ einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+pre_build_checks() {
+ # Check build requirements: bugs #471810, #541816, #914220
+ # We're going to start doing maths here on the size of an unpacked source tarball,
+ # this should make updates easier as chromium continues to balloon in size.
+ local BASE_DISK=18
+ local EXTRA_DISK=1
+ local CHECKREQS_MEMORY="4G"
+ tc-is-cross-compiler && EXTRA_DISK=2
+ if use lto || use pgo; then
+ CHECKREQS_MEMORY="9G"
+ tc-is-cross-compiler && EXTRA_DISK=4
+ use pgo && EXTRA_DISK=8
+ fi
+ if is-flagq '-g?(gdb)?([1-9])'; then
+ if use custom-cflags; then
+ EXTRA_DISK=13
+ fi
+ CHECKREQS_MEMORY="16G"
+ fi
+ CHECKREQS_DISK_BUILD="$((BASE_DISK + EXTRA_DISK))G"
+ check-reqs_${EBUILD_PHASE_FUNC}
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ # The pre_build_checks are all about compilation resources, no need to run it for a binpkg
+ pre_build_checks
+ fi
+
+ if use headless; then
+ local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "qt6" "vaapi" "wayland")
+ for myiuse in ${headless_unused_flags[@]}; do
+ use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set."
+ done
+ fi
+
+ if ! use bindist && use ffmpeg-chromium; then
+ ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set."
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ # The pre_build_checks are all about compilation resources, no need to run it for a binpkg
+ pre_build_checks
+
+ if use system-toolchain; then
+ local -x CPP="$(tc-getCXX) -E"
+ if tc-is-gcc && ! ver_test "$(gcc-version)" -ge ${GCC_MIN_VER}; then
+ die "At least gcc ${GCC_MIN_VER} is required"
+ fi
+ if use pgo && tc-is-cross-compiler; then
+ die "The pgo USE flag cannot be used when cross-compiling"
+ fi
+ if needs_clang && ! tc-is-clang; then
+ if tc-is-cross-compiler; then
+ CPP="${CBUILD}-clang++ -E"
+ else
+ CPP="${CHOST}-clang++ -E"
+ fi
+ fi
+ if needs_clang || tc-is-clang; then
+ if ver_test "$(clang-major-version)" -lt ${LLVM_MIN_SLOT}; then
+ die "At least Clang ${LLVM_MIN_SLOT} is required"
+ fi
+ # Ideally we never see this, but it should help prevent bugs like 927154
+ if ver_test "$(clang-major-version)" -gt ${LLVM_MAX_SLOT}; then
+ die "Clang $(clang-major-version) is too new; ${LLVM_MAX_SLOT} is the highest supported version"
+ fi
+ fi
+ fi
+ # Users should never hit this, it's purely a development convenience
+ if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then
+ die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium"
+ fi
+ fi
+
+ chromium_suid_sandbox_check_kernel_config
+}
+
+src_prepare() {
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ # disable global media controls, crashes with libstdc++
+ sed -i -e \
+ "/\"GlobalMediaControlsCastStartStop\"/,+4{s/ENABLED/DISABLED/;}" \
+ "chrome/browser/media/router/media_router_feature.cc" || die
+
+ local PATCHES=(
+ "${FILESDIR}/chromium-cross-compile.patch"
+ "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch"
+ "${FILESDIR}/chromium-109-system-zlib.patch"
+ "${FILESDIR}/chromium-111-InkDropHost-crash.patch"
+ "${FILESDIR}/chromium-117-system-zstd.patch"
+ "${FILESDIR}/chromium-124-libwebp-shim-sharpyuv.patch"
+ "${FILESDIR}/00swiftshader-MCDissassembler.patch"
+ "${FILESDIR}/00swiftshader-use-llvm16.patch"
+ "${FILESDIR}/01fix-rust-target.patch"
+ "${FILESDIR}/02Debian-fix-rust-linking.patch"
+ "${FILESDIR}/03riscv-dav1d.patch"
+ "${FILESDIR}/05riscv-sandbox.patch"
+ "${FILESDIR}/06riscv-ffmpeg.patch"
+ "${FILESDIR}/09riscv.patch"
+ "${FILESDIR}/10cpuinfo.patch"
+ )
+
+ if use system-toolchain; then
+ # The patchset is really only required if we're using the system-toolchain
+ PATCHES+=( "${WORKDIR}/chromium-patches-${PATCH_V}" )
+ # We can't use the bundled compiler builtins
+ sed -i -e \
+ "/if (is_clang && toolchain_has_rust) {/,+2d" \
+ build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins"
+ else
+ mkdir -p third_party/llvm-build/Release+Asserts || die "Failed to bundle llvm"
+ ln -s "${WORKDIR}"/bin third_party/llvm-build/Release+Asserts/bin || die "Failed to symlink llvm bin"
+ ln -s "${WORKDIR}"/lib third_party/llvm-build/Release+Asserts/lib || die "Failed to symlink llvm lib"
+ echo "${GOOGLE_CLANG_VER}" > third_party/llvm-build/Release+Asserts/cr_build_revision || \
+ die "Failed to set clang version"
+ ln -s "${WORKDIR}"/rust-toolchain third_party/rust-toolchain || die "Failed to bundle rust"
+ cp "${WORKDIR}"/rust-toolchain/VERSION \
+ "${WORKDIR}"/rust-toolchain/INSTALLED_VERSION || die "Failed to set rust version"
+ fi
+
+ if use ppc64 ; then
+ local p
+ for p in $(grep -v "^#" "${WORKDIR}"/debian/patches/series | grep "^ppc64le" || die); do
+ if [[ ! $p =~ "fix-breakpad-compile.patch" ]]; then
+ eapply "${WORKDIR}/debian/patches/${p}"
+ fi
+ done
+ PATCHES+=( "${WORKDIR}/ppc64le" )
+ PATCHES+=( "${WORKDIR}/debian/patches/fixes/rust-clanglib.patch" )
+ fi
+
+ default
+
+ mkdir -p third_party/node/linux/node-linux-x64/bin || die
+ ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
+
+ # adjust python interpreter version
+ sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die
+
+ local keeplibs=(
+ base/third_party/cityhash
+ base/third_party/double_conversion
+ base/third_party/dynamic_annotations
+ base/third_party/icu
+ base/third_party/nspr
+ base/third_party/superfasthash
+ base/third_party/symbolize
+ base/third_party/valgrind
+ base/third_party/xdg_user_dirs
+ buildtools/third_party/libc++
+ buildtools/third_party/libc++abi
+ chrome/third_party/mozilla_security_manager
+ courgette/third_party
+ net/third_party/mozilla_security_manager
+ net/third_party/nss
+ net/third_party/quic
+ net/third_party/uri_template
+ third_party/abseil-cpp
+ third_party/angle
+ third_party/angle/src/common/third_party/xxhash
+ third_party/angle/src/third_party/ceval
+ third_party/angle/src/third_party/libXNVCtrl
+ third_party/angle/src/third_party/volk
+ third_party/anonymous_tokens
+ third_party/apple_apsl
+ third_party/axe-core
+ third_party/blink
+ third_party/bidimapper
+ third_party/boringssl
+ third_party/boringssl/src/third_party/fiat
+ third_party/breakpad
+ third_party/breakpad/breakpad/src/third_party/curl
+ third_party/brotli
+ third_party/catapult
+ third_party/catapult/common/py_vulcanize/third_party/rcssmin
+ third_party/catapult/common/py_vulcanize/third_party/rjsmin
+ third_party/catapult/third_party/beautifulsoup4-4.9.3
+ third_party/catapult/third_party/html5lib-1.1
+ third_party/catapult/third_party/polymer
+ third_party/catapult/third_party/six
+ third_party/catapult/tracing/third_party/d3
+ third_party/catapult/tracing/third_party/gl-matrix
+ third_party/catapult/tracing/third_party/jpeg-js
+ third_party/catapult/tracing/third_party/jszip
+ third_party/catapult/tracing/third_party/mannwhitneyu
+ third_party/catapult/tracing/third_party/oboe
+ third_party/catapult/tracing/third_party/pako
+ third_party/ced
+ third_party/cld_3
+ third_party/closure_compiler
+ third_party/content_analysis_sdk
+ third_party/cpuinfo
+ third_party/crashpad
+ third_party/crashpad/crashpad/third_party/lss
+ third_party/crashpad/crashpad/third_party/zlib
+ third_party/crc32c
+ third_party/cros_system_api
+ third_party/d3
+ third_party/dav1d
+ third_party/dawn
+ third_party/dawn/third_party/gn/webgpu-cts
+ third_party/dawn/third_party/khronos
+ third_party/depot_tools
+ third_party/devscripts
+ third_party/devtools-frontend
+ third_party/devtools-frontend/src/front_end/third_party/acorn
+ third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
+ third_party/devtools-frontend/src/front_end/third_party/axe-core
+ third_party/devtools-frontend/src/front_end/third_party/chromium
+ third_party/devtools-frontend/src/front_end/third_party/codemirror
+ third_party/devtools-frontend/src/front_end/third_party/csp_evaluator
+ third_party/devtools-frontend/src/front_end/third_party/diff
+ third_party/devtools-frontend/src/front_end/third_party/i18n
+ third_party/devtools-frontend/src/front_end/third_party/intl-messageformat
+ third_party/devtools-frontend/src/front_end/third_party/lighthouse
+ third_party/devtools-frontend/src/front_end/third_party/lit
+ third_party/devtools-frontend/src/front_end/third_party/lodash-isequal
+ third_party/devtools-frontend/src/front_end/third_party/marked
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs
+ third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data
+ third_party/devtools-frontend/src/front_end/third_party/wasmparser
+ third_party/devtools-frontend/src/test/unittests/front_end/third_party/i18n
+ third_party/devtools-frontend/src/third_party
+ third_party/distributed_point_functions
+ third_party/dom_distiller_js
+ third_party/eigen3
+ third_party/emoji-segmenter
+ third_party/farmhash
+ third_party/fdlibm
+ third_party/ffmpeg
+ third_party/fft2d
+ third_party/flatbuffers
+ third_party/fp16
+ third_party/freetype
+ third_party/fusejs
+ third_party/fxdiv
+ third_party/highway
+ third_party/liburlpattern
+ third_party/libzip
+ third_party/lit
+ third_party/gemmlowp
+ third_party/google_input_tools
+ third_party/google_input_tools/third_party/closure_library
+ third_party/google_input_tools/third_party/closure_library/third_party/closure
+ third_party/googletest
+ third_party/hunspell
+ third_party/iccjpeg
+ third_party/inspector_protocol
+ third_party/ipcz
+ third_party/jinja2
+ third_party/jsoncpp
+ third_party/jstemplate
+ third_party/khronos
+ third_party/leveldatabase
+ third_party/libaddressinput
+ third_party/libaom
+ third_party/libaom/source/libaom/third_party/fastfeat
+ third_party/libaom/source/libaom/third_party/SVT-AV1
+ third_party/libaom/source/libaom/third_party/vector
+ third_party/libaom/source/libaom/third_party/x86inc
+ third_party/libavif
+ third_party/libevent
+ third_party/libgav1
+ third_party/libjingle
+ third_party/libphonenumber
+ third_party/libsecret
+ third_party/libsrtp
+ third_party/libsync
+ third_party/libudev
+ third_party/libva_protected_content
+ third_party/libvpx
+ third_party/libvpx/source/libvpx/third_party/x86inc
+ third_party/libwebm
+ third_party/libx11
+ third_party/libxcb-keysyms
+ third_party/libxml/chromium
+ third_party/libyuv
+ third_party/lottie
+ third_party/lss
+ third_party/lzma_sdk
+ third_party/mako
+ third_party/maldoca
+ third_party/maldoca/src/third_party/tensorflow_protos
+ third_party/maldoca/src/third_party/zlibwrapper
+ third_party/markupsafe
+ third_party/material_color_utilities
+ third_party/mesa
+ third_party/metrics_proto
+ third_party/minigbm
+ third_party/modp_b64
+ third_party/nasm
+ third_party/nearby
+ third_party/neon_2_sse
+ third_party/node
+ third_party/omnibox_proto
+ third_party/one_euro_filter
+ third_party/openscreen
+ third_party/openscreen/src/third_party/
+ third_party/openscreen/src/third_party/tinycbor/src/src
+ third_party/opus
+ third_party/ots
+ third_party/pdfium
+ third_party/pdfium/third_party/agg23
+ third_party/pdfium/third_party/base
+ third_party/pdfium/third_party/bigint
+ third_party/pdfium/third_party/freetype
+ third_party/pdfium/third_party/lcms
+ third_party/pdfium/third_party/libopenjpeg
+ third_party/pdfium/third_party/libtiff
+ third_party/perfetto
+ third_party/perfetto/protos/third_party/chromium
+ third_party/pffft
+ third_party/ply
+ third_party/polymer
+ third_party/private-join-and-compute
+ third_party/private_membership
+ third_party/protobuf
+ third_party/pthreadpool
+ third_party/puffin
+ third_party/pyjson5
+ third_party/pyyaml
+ third_party/qcms
+ third_party/re2
+ third_party/rnnoise
+ third_party/rust
+ third_party/s2cellid
+ third_party/securemessage
+ third_party/selenium-atoms
+ third_party/shell-encryption
+ third_party/simplejson
+ third_party/skia
+ third_party/skia/include/third_party/vulkan
+ third_party/skia/third_party/vulkan
+ third_party/smhasher
+ third_party/snappy
+ third_party/sqlite
+ third_party/swiftshader
+ third_party/swiftshader/third_party/astc-encoder
+ third_party/swiftshader/third_party/llvm-subzero
+ third_party/swiftshader/third_party/marl
+ third_party/swiftshader/third_party/subzero
+ third_party/swiftshader/third_party/SPIRV-Headers/include/spirv
+ third_party/swiftshader/third_party/SPIRV-Tools
+ third_party/tensorflow_models
+ third_party/tensorflow-text
+ third_party/tflite
+ third_party/tflite/src/third_party/eigen3
+ third_party/tflite/src/third_party/fft2d
+ third_party/tflite/src/third_party/xla/third_party/tsl
+ third_party/ruy
+ third_party/six
+ third_party/ukey2
+ third_party/unrar
+ third_party/utf
+ third_party/vulkan
+ third_party/wayland
+ third_party/webdriver
+ third_party/webgpu-cts
+ third_party/webrtc
+ third_party/webrtc/common_audio/third_party/ooura
+ third_party/webrtc/common_audio/third_party/spl_sqrt_floor
+ third_party/webrtc/modules/third_party/fft
+ third_party/webrtc/modules/third_party/g711
+ third_party/webrtc/modules/third_party/g722
+ third_party/webrtc/rtc_base/third_party/base64
+ third_party/webrtc/rtc_base/third_party/sigslot
+ third_party/widevine
+ third_party/woff2
+ third_party/wuffs
+ third_party/x11proto
+ third_party/xcbproto
+ third_party/xnnpack
+ third_party/zxcvbn-cpp
+ third_party/zlib/google
+ url/third_party/mozilla
+ v8/src/third_party/siphash
+ v8/src/third_party/valgrind
+ v8/src/third_party/utf8-decoder
+ v8/third_party/glibc
+ v8/third_party/inspector_protocol
+ v8/third_party/v8
+
+ # gyp -> gn leftovers
+ third_party/speech-dispatcher
+ third_party/usb_ids
+ third_party/xdg-utils
+ )
+
+ # USE=system-*
+ if ! use system-harfbuzz; then
+ keeplibs+=( third_party/harfbuzz-ng )
+ fi
+
+ if ! use system-icu; then
+ keeplibs+=( third_party/icu )
+ fi
+
+ if ! use system-png; then
+ keeplibs+=( third_party/libpng )
+ fi
+
+ if ! use system-zstd; then
+ keeplibs+=( third_party/zstd )
+ fi
+
+ if use libcxx || [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
+ keeplibs+=( third_party/libc++ )
+ fi
+
+ if ! use system-toolchain || [[ ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN} == yes ]]; then
+ keeplibs+=( third_party/llvm )
+ fi
+
+ # Arch-specific
+ if use arm64 || use ppc64 ; then
+ keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 )
+ fi
+ if use riscv ; then
+ keeplibs+=( third_party/swiftshader/third_party/llvm-16.0 )
+ fi
+ # we need to generate ppc64 stuff because upstream does not ship it yet
+ # it has to be done before unbundling.
+ if use ppc64; then
+ pushd third_party/libvpx >/dev/null || die
+ mkdir -p source/config/linux/ppc64 || die
+ # requires git and clang, bug #832803
+ # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh
+ # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh
+ # since we're not in a git repo
+ sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \
+ generate_gni.sh || die
+ ./generate_gni.sh || die
+ popd >/dev/null || die
+
+ pushd third_party/ffmpeg >/dev/null || die
+ cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die
+ cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die
+ popd >/dev/null || die
+ fi
+
+ einfo "Unbundling third-party libraries ..."
+ # Remove most bundled libraries. Some are still needed.
+ build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
+
+ # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries
+ mkdir -p buildtools/third_party/eu-strip/bin || die
+ ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die
+}
+
+chromium_rust_version_check() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+ local rustc_version=( $(eselect --brief rust show 2>/dev/null) )
+ rustc_version=${rustc_version[0]#rust-bin-}
+ rustc_version=${rustc_version#rust-}
+
+ [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output"
+
+ echo $rustc_version
+}
+
+chromium_configure() {
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ local myconf_gn=""
+
+ if use system-toolchain && [[ ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN} == no ]]; then
+ # Make sure the build system will use the right tools, bug #340795.
+ tc-export AR CC CXX NM
+
+ if needs_clang && ! tc-is-clang; then
+ # Force clang since gcc is either broken or build is using libcxx.
+ if tc-is-cross-compiler; then
+ CC="${CBUILD}-clang -target ${CHOST} --sysroot ${ESYSROOT}"
+ CXX="${CBUILD}-clang++ -target ${CHOST} --sysroot ${ESYSROOT}"
+ BUILD_CC=${CBUILD}-clang
+ BUILD_CXX=${CBUILD}-clang++
+ else
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ fi
+ strip-unsupported-flags
+ fi
+
+ if tc-is-clang; then
+ myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
+ else
+ myconf_gn+=" is_clang=false"
+ fi
+
+ if needs_lld ; then
+ # https://bugs.gentoo.org/918897#c32
+ append-ldflags -Wl,--undefined-version
+ myconf_gn+=" use_lld=true"
+ else
+ # This doesn't prevent lld from being used, but rather prevents gn from forcing it
+ myconf_gn+=" use_lld=false"
+ fi
+
+ if use lto; then
+ AR=llvm-ar
+ NM=llvm-nm
+ if tc-is-cross-compiler; then
+ BUILD_AR=llvm-ar
+ BUILD_NM=llvm-nm
+ fi
+ fi
+
+ myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
+
+ if tc-is-cross-compiler; then
+ tc-export BUILD_{AR,CC,CXX,NM}
+ myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\""
+ myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\""
+
+ # setup cups-config, build system only uses --libs option
+ if use cups; then
+ mkdir "${T}/cups-config" || die
+ cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die
+ export PATH="${PATH}:${T}/cups-config"
+ fi
+
+ # Don't inherit PKG_CONFIG_PATH from environment
+ local -x PKG_CONFIG_PATH=
+ else
+ myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
+ fi
+
+ local rustc_ver
+ rustc_ver=$(chromium_rust_version_check)
+ if ver_test "${rustc_ver}" -lt "${RUST_MIN_VER}"; then
+ eerror "Rust >=${RUST_MIN_VER} is required"
+ eerror "Please run 'eselect rust' and select the correct rust version"
+ die "Selected rust version is too old"
+ else
+ einfo "Using rust ${rustc_ver} to build"
+ fi
+ if [[ "$(eselect --brief rust show 2>/dev/null)" == *"bin"* ]]; then
+ myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/opt/rust-bin-${rustc_ver}/\""
+ else
+ myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/usr/lib/rust/${rustc_ver}/\""
+ fi
+ myconf_gn+=" rustc_version=\"${rustc_ver}\""
+ fi
+
+ # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
+ myconf_gn+=" is_debug=false"
+
+ # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138.
+ # DCHECK is fatal by default, make it configurable at runtime, #bug 807881.
+ myconf_gn+=" dcheck_always_on=$(usex debug true false)"
+ myconf_gn+=" dcheck_is_configurable=$(usex debug true false)"
+
+ # Component build isn't generally intended for use by end users. It's mostly useful
+ # for development and debugging.
+ myconf_gn+=" is_component_build=false"
+
+ # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
+ myconf_gn+=" enable_nacl=false"
+
+ # Use system-provided libraries.
+ # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
+ # TODO: use_system_hunspell (upstream changes needed).
+ # TODO: use_system_protobuf (bug #525560).
+ # TODO: use_system_sqlite (http://crbug.com/22208).
+
+ # libevent: https://bugs.gentoo.org/593458
+ local gn_system_libraries=(
+ flac
+ fontconfig
+ freetype
+ # Need harfbuzz_from_pkgconfig target
+ #harfbuzz-ng
+ libdrm
+ libjpeg
+ libwebp
+ libxml
+ libxslt
+ openh264
+ zlib
+ )
+ if use system-icu; then
+ gn_system_libraries+=( icu )
+ fi
+ if use system-png; then
+ gn_system_libraries+=( libpng )
+ fi
+ if use system-zstd; then
+ gn_system_libraries+=( zstd )
+ fi
+
+ build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
+
+ # See dependency logic in third_party/BUILD.gn
+ myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)"
+
+ # Optional dependencies.
+ myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
+ myconf_gn+=" enable_widevine=$(usex widevine true false)"
+
+ if use headless; then
+ myconf_gn+=" use_cups=false"
+ myconf_gn+=" use_kerberos=false"
+ myconf_gn+=" use_pulseaudio=false"
+ myconf_gn+=" use_vaapi=false"
+ myconf_gn+=" rtc_use_pipewire=false"
+ else
+ myconf_gn+=" use_cups=$(usex cups true false)"
+ myconf_gn+=" use_kerberos=$(usex kerberos true false)"
+ myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
+ myconf_gn+=" use_vaapi=$(usex vaapi true false)"
+ myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)"
+ myconf_gn+=" gtk_version=$(usex gtk4 4 3)"
+ fi
+
+ # Allows distributions to link pulseaudio directly (DT_NEEDED) instead of
+ # using dlopen. This helps with automated detection of ABI mismatches and
+ # prevents silent errors.
+ if use pulseaudio; then
+ myconf_gn+=" link_pulseaudio=true"
+ fi
+
+ # Non-developer builds of Chromium (for example, non-Chrome browsers, or
+ # Chromium builds provided by Linux distros) should disable the testing config
+ myconf_gn+=" disable_fieldtrial_testing_config=true"
+
+ if use system-toolchain; then
+ myconf_gn+=" use_gold=false"
+ fi
+
+ # The sysroot is the oldest debian image that chromium supports, we don't need it
+ myconf_gn+=" use_sysroot=false"
+
+ # This determines whether or not GN uses the bundled libcxx
+ # default: true
+ if use libcxx || [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
+ myconf_gn+=" use_custom_libcxx=true"
+ else
+ myconf_gn+=" use_custom_libcxx=false"
+ fi
+
+ # Disable pseudolocales, only used for testing
+ myconf_gn+=" enable_pseudolocales=false"
+
+ # Disable code formating of generated files
+ myconf_gn+=" blink_enable_generated_code_formatting=false"
+
+ if use bindist ; then
+ # proprietary_codecs just forces Chromium to say that it can use h264/aac,
+ # the work is still done by ffmpeg. If this is set to no Chromium
+ # won't be able to load the codec even if the library can handle it
+ myconf_gn+=" proprietary_codecs=true"
+ myconf_gn+=" ffmpeg_branding=\"Chrome\""
+ # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute
+ myconf_gn+=" is_component_ffmpeg=true"
+ else
+ ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
+ myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
+ myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
+ fi
+
+ # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
+ # Note: these are for Gentoo use ONLY. For your own distribution,
+ # please get your own set of keys. Feel free to contact chromium@gentoo.org
+ # for more info. The OAuth2 credentials, however, have been left out.
+ # Those OAuth2 credentials have been broken for quite some time anyway.
+ # Instead we apply a patch to use the --oauth2-client-id= and
+ # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and
+ # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into
+ # Chromium without baked-in values.
+ local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
+ myconf_gn+=" google_api_key=\"${google_api_key}\""
+ local myarch="$(tc-arch)"
+
+ # Avoid CFLAGS problems, bug #352457, bug #390147.
+ if ! use custom-cflags; then
+ replace-flags "-Os" "-O2"
+ strip-flags
+
+ # Debug info section overflows without component build
+ # Prevent linker from running out of address space, bug #471810 .
+ filter-flags "-g*"
+
+ # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646.
+ if [[ ${myarch} == amd64 ]]; then
+ filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a
+ fi
+
+ if tc-is-gcc; then
+ # https://bugs.gentoo.org/904455
+ local -x CPP="$(tc-getCXX) -E"
+ # https://bugs.gentoo.org/912381
+ filter-lto
+ fi
+ fi
+
+ if [[ $myarch = amd64 ]] ; then
+ myconf_gn+=" target_cpu=\"x64\""
+ ffmpeg_target_arch=x64
+ elif [[ $myarch = arm64 ]] ; then
+ myconf_gn+=" target_cpu=\"arm64\""
+ ffmpeg_target_arch=arm64
+ elif [[ $myarch = ppc64 ]] ; then
+ myconf_gn+=" target_cpu=\"ppc64\""
+ ffmpeg_target_arch=ppc64
+ elif [[ $myarch = riscv ]] ; then
+ myconf_gn+=" target_cpu=\"riscv64\""
+ ffmpeg_target_arch=riscv64
+ else
+ die "Failed to determine target arch, got '$myarch'."
+ fi
+
+ # Make sure that -Werror doesn't get added to CFLAGS by the build system.
+ # Depending on GCC version the warnings are different and we don't want
+ # the build to fail because of that.
+ myconf_gn+=" treat_warnings_as_errors=false"
+
+ # Disable fatal linker warnings, bug 506268.
+ myconf_gn+=" fatal_linker_warnings=false"
+
+ # Disable external code space for V8 for ppc64. It is disabled for ppc64
+ # by default, but cross-compiling on amd64 enables it again.
+ if tc-is-cross-compiler; then
+ if ! use amd64 && ! use arm64; then
+ myconf_gn+=" v8_enable_external_code_space=false"
+ fi
+ fi
+
+ # Only enabled for clang, but gcc has endian macros too
+ myconf_gn+=" v8_use_libm_trig_functions=true"
+
+ # Bug 491582.
+ export TMPDIR="${WORKDIR}/temp"
+ mkdir -p -m 755 "${TMPDIR}" || die
+
+ # https://bugs.gentoo.org/654216
+ addpredict /dev/dri/ #nowarn
+
+ # Disable unknown warning message from clang.
+ if tc-is-clang; then
+ append-flags -Wno-unknown-warning-option
+ if tc-is-cross-compiler; then
+ export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option"
+ export BUILD_CFLAGS+=" -Wno-unknown-warning-option"
+ fi
+ fi
+
+ # Explicitly disable ICU data file support for system-icu/headless builds.
+ if use system-icu || use headless; then
+ myconf_gn+=" icu_use_data_file=false"
+ fi
+
+ # Don't need nocompile checks and GN crashes with our config
+ myconf_gn+=" enable_nocompile_tests=false"
+
+ # Enable ozone wayland and/or headless support
+ myconf_gn+=" use_ozone=true ozone_auto_platforms=false"
+ myconf_gn+=" ozone_platform_headless=true"
+ if use headless; then
+ myconf_gn+=" ozone_platform=\"headless\""
+ myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false"
+ myconf_gn+=" use_glib=false use_gio=false"
+ myconf_gn+=" use_pangocairo=false use_alsa=false"
+ myconf_gn+=" use_libpci=false use_udev=false"
+ myconf_gn+=" enable_print_preview=false"
+ myconf_gn+=" enable_remoting=false"
+ else
+ myconf_gn+=" use_system_libdrm=true"
+ myconf_gn+=" use_system_minigbm=true"
+ myconf_gn+=" use_xkbcommon=true"
+ if use qt5 || use qt6; then
+ local cbuild_libdir=$(get_libdir)
+ if tc-is-cross-compiler; then
+ # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
+ local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt)
+ cbuild_libdir=${cbuild_libdir:2}
+ cbuild_libdir=${cbuild_libdir/% }
+ fi
+ if use qt5; then
+ if tc-is-cross-compiler; then
+ myconf_gn+=" moc_qt5_path=\"${EPREFIX}/${cbuild_libdir}/qt5/bin\""
+ else
+ myconf_gn+=" moc_qt5_path=\"$(qt5_get_bindir)\""
+ fi
+ fi
+ if use qt6; then
+ myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\""
+ fi
+
+ myconf_gn+=" use_qt=true"
+ myconf_gn+=" use_qt6=$(usex qt6 true false)"
+ else
+ myconf_gn+=" use_qt=false"
+ fi
+ myconf_gn+=" ozone_platform_x11=$(usex X true false)"
+ myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)"
+ myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")"
+ use wayland && myconf_gn+=" use_system_libffi=true"
+ fi
+
+ # Results in undefined references in chrome linking, may require CFI to work
+ if use arm64; then
+ myconf_gn+=" arm_control_flow_integrity=\"none\""
+ fi
+
+ # Enable official builds
+ myconf_gn+=" is_official_build=$(usex official true false)"
+ myconf_gn+=" use_thin_lto=$(usex lto true false)"
+ myconf_gn+=" thin_lto_enable_optimizations=$(usex lto true false)"
+ if use official; then
+ # Allow building against system libraries in official builds
+ sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
+ tools/generate_shim_headers/generate_shim_headers.py || die
+ # Disable CFI: unsupported for GCC, requires clang+lto+lld
+ myconf_gn+=" is_cfi=false"
+ # Don't add symbols to build
+ myconf_gn+=" symbol_level=0"
+ fi
+
+ if use pgo; then
+ myconf_gn+=" chrome_pgo_phase=${1}"
+ if [[ "$1" == "2" ]]; then
+ myconf_gn+=" pgo_data_path=\"${2}\""
+ fi
+ else
+ # Disable PGO
+ myconf_gn+=" chrome_pgo_phase=0"
+ fi
+
+ # user CXXFLAGS might overwrite -march=armv8-a+crc+crypto, bug #851639
+ if use arm64 && tc-is-gcc; then
+ sed -i '/^#if HAVE_ARM64_CRC32C/a #pragma GCC target ("+crc+crypto")' \
+ third_party/crc32c/src/src/crc32c_arm64.cc || die
+ fi
+
+ # skipping typecheck is only supported on amd64, bug #876157
+ if ! use amd64; then
+ myconf_gn+=" devtools_skip_typecheck=false"
+ fi
+
+ einfo "Configuring Chromium ..."
+ set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
+ echo "$@"
+ "$@" || die
+}
+
+src_configure() {
+ chromium_configure $(usex pgo 1 0)
+}
+
+chromium_compile() {
+ # Final link uses lots of file descriptors.
+ ulimit -n 2048
+
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ # Don't inherit PYTHONPATH from environment, bug #789021, #812689
+ local -x PYTHONPATH=
+
+ # Build mksnapshot and pax-mark it.
+ if use pax-kernel; then
+ local x
+ for x in mksnapshot v8_context_snapshot_generator; do
+ if tc-is-cross-compiler; then
+ eninja -C out/Release "host/${x}"
+ pax-mark m "out/Release/host/${x}"
+ else
+ eninja -C out/Release "${x}"
+ pax-mark m "out/Release/${x}"
+ fi
+ done
+ fi
+
+ # Even though ninja autodetects number of CPUs, we respect
+ # user's options, for debugging with -j 1 or any other reason.
+ eninja -C out/Release chrome chromedriver chrome_sandbox
+
+ pax-mark m out/Release/chrome
+
+ if ! use system-toolchain; then
+ QA_FLAGS_IGNORED="
+ usr/lib64/chromium-browser/chrome
+ usr/lib64/chromium-browser/chrome-sandbox
+ usr/lib64/chromium-browser/chromedriver
+ usr/lib64/chromium-browser/chrome_crashpad_handler
+ usr/lib64/chromium-browser/libEGL.so
+ usr/lib64/chromium-browser/libGLESv2.so
+ usr/lib64/chromium-browser/libVkICD_mock_icd.so
+ usr/lib64/chromium-browser/libVkLayer_khronos_validation.so
+ usr/lib64/chromium-browser/libqt5_shim.so
+ usr/lib64/chromium-browser/libvk_swiftshader.so
+ usr/lib64/chromium-browser/libvulkan.so.1
+ "
+ fi
+}
+
+# This function is called from virtx, and must always return so that Xvfb
+# session isn't left running. If we return 1, virtx will call die().
+chromium_profile() {
+ einfo "Profiling for PGO"
+
+ pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1
+
+ # Remove old profdata in case profiling was interrupted.
+ rm -rf "${1}" || return 1
+
+ if ! "${EPYTHON}" ./chromium_profiler.py \
+ --chrome-executable "${S}/out/Release/chrome" \
+ --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \
+ --add-arg no-sandbox --add-arg disable-dev-shm-usage \
+ --profile-output "${1}"; then
+ eerror "Profiling failed"
+ return 1
+ fi
+
+ popd >/dev/null || return 1
+}
+
+src_compile() {
+ if use pgo; then
+ local profdata
+
+ profdata="${WORKDIR}/chromium.profdata"
+
+ if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then
+ chromium_compile
+ virtx chromium_profile "$profdata"
+
+ touch "${WORKDIR}/.pgo-profiled" || die
+ fi
+
+ if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then
+ # Remove phase 1 output
+ rm -r out/Release || die
+
+ chromium_configure 2 "$profdata"
+
+ touch "${WORKDIR}/.pgo-phase-2-configured" || die
+ fi
+
+ if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then
+ chromium_compile
+ touch "${WORKDIR}/.pgo-phase-2-compiled" || die
+ fi
+ else
+ chromium_compile
+ fi
+
+ mv out/Release/chromedriver{.unstripped,} || die
+
+ rm -f out/Release/locales/*.pak.info || die
+
+ # Build manpage; bug #684550
+ sed -e 's|@@PACKAGE@@|chromium-browser|g;
+ s|@@MENUNAME@@|Chromium|g;' \
+ chrome/app/resources/manpage.1.in > \
+ out/Release/chromium-browser.1 || die
+
+ # Build desktop file; bug #706786
+ sed -e 's|@@MENUNAME@@|Chromium|g;
+ s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g;
+ s|@@PACKAGE@@|chromium-browser|g;
+ s|\(^Exec=\)/usr/bin/|\1|g;' \
+ chrome/installer/linux/common/desktop.template > \
+ out/Release/chromium-browser-chromium.desktop || die
+
+ # Build vk_swiftshader_icd.json; bug #827861
+ sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \
+ third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \
+ out/Release/vk_swiftshader_icd.json || die
+}
+
+src_install() {
+ local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
+ exeinto "${CHROMIUM_HOME}"
+ doexe out/Release/chrome
+
+ newexe out/Release/chrome_sandbox chrome-sandbox
+ fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
+
+ doexe out/Release/chromedriver
+ doexe out/Release/chrome_crashpad_handler
+
+ ozone_auto_session () {
+ use X && use wayland && ! use headless && echo true || echo false
+ }
+ local sedargs=( -e
+ "s:/usr/lib/:/usr/$(get_libdir)/:g;
+ s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g"
+ )
+ sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die
+ doexe chromium-launcher.sh
+
+ # It is important that we name the target "chromium-browser",
+ # xdg-utils expect it; bug #355517.
+ dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser
+ # keep the old symlink around for consistency
+ dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
+
+ dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
+
+ # Allow users to override command-line options, bug #357629.
+ insinto /etc/chromium
+ newins "${FILESDIR}/chromium.default" "default"
+
+ pushd out/Release/locales > /dev/null || die
+ chromium_remove_language_paks
+ popd
+
+ insinto "${CHROMIUM_HOME}"
+ doins out/Release/*.bin
+ doins out/Release/*.pak
+
+ if use bindist; then
+ # We built libffmpeg as a component library, but we can't distribute it
+ # with proprietary codec support. Remove it and make a symlink to the requested
+ # system library.
+ rm -f out/Release/libffmpeg.so \
+ || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)"
+ # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium].
+ einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..."
+ dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \
+ /usr/$(get_libdir)/chromium-browser/libffmpeg.so
+ fi
+
+ (
+ shopt -s nullglob
+ local files=(out/Release/*.so out/Release/*.so.[0-9])
+ [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}"
+ )
+
+ # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland"
+ doins out/Release/xdg-{settings,mime}
+
+ if ! use system-icu && ! use headless; then
+ doins out/Release/icudtl.dat
+ fi
+
+ doins -r out/Release/locales
+ doins -r out/Release/MEIPreload
+
+ # Install vk_swiftshader_icd.json; bug #827861
+ doins out/Release/vk_swiftshader_icd.json
+
+ if [[ -d out/Release/swiftshader ]]; then
+ insinto "${CHROMIUM_HOME}/swiftshader"
+ doins out/Release/swiftshader/*.so
+ fi
+
+ # Install icons
+ local branding size
+ for size in 16 24 32 48 64 128 256 ; do
+ case ${size} in
+ 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
+ *) branding="chrome/app/theme/chromium" ;;
+ esac
+ newicon -s ${size} "${branding}/product_logo_${size}.png" \
+ chromium-browser.png
+ done
+
+ # Install desktop entry
+ domenu out/Release/chromium-browser-chromium.desktop
+
+ # Install GNOME default application entry (bug #303100).
+ insinto /usr/share/gnome-control-center/default-apps
+ newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
+
+ # Install manpage; bug #684550
+ doman out/Release/chromium-browser.1
+ dosym chromium-browser.1 /usr/share/man/man1/chromium.1
+
+ readme.gentoo_create_doc
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ readme.gentoo_print_elog
+
+ if ! use headless; then
+ if use vaapi; then
+ elog "VA-API is disabled by default at runtime. You have to enable it"
+ elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS"
+ elog "in /etc/chromium/default."
+ fi
+ if use screencast; then
+ elog "Screencast is disabled by default at runtime. Either enable it"
+ elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer"
+ elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer"
+ elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ fi
+ if use gtk4; then
+ elog "Chromium prefers GTK3 over GTK4 at runtime. To override this"
+ elog "behavior you need to pass --gtk-version=4, e.g. by adding it"
+ elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ fi
+ if use qt5 && use qt6; then
+ elog "Chromium automatically selects Qt5 or Qt6 based on your desktop"
+ elog "environment. To override you need to pass --qt-version=5 or"
+ elog "--qt-version=6, e.g. by adding it to CHROMIUM_FLAGS in"
+ elog "/etc/chromium/default."
+ fi
+ fi
+}
diff --git a/www-client/chromium/files/chromium-124-libwebp-shim-sharpyuv.patch b/www-client/chromium/files/chromium-124-libwebp-shim-sharpyuv.patch
new file mode 100644
index 0000000..fa03873
--- /dev/null
+++ b/www-client/chromium/files/chromium-124-libwebp-shim-sharpyuv.patch
@@ -0,0 +1,36 @@
+From 40c466949bd8ccb61cb55655848d23684a9f8a94 Mon Sep 17 00:00:00 2001
+From: Matt Jolly <kangie@gentoo.org>
+Date: Mon, 25 Mar 2024 21:38:35 +1000
+Subject: [PATCH] libwebp shim: add libwebp_sharpyuv target
+
+Signed-off-by: Matt Jolly <Kangie@gentoo.org>
+--- a/build/linux/unbundle/libwebp.gn
++++ b/build/linux/unbundle/libwebp.gn
+@@ -22,14 +22,24 @@ shim_headers("libwebp_shim") {
+ "webp/mux.h",
+ "webp/mux_types.h",
+ "webp/types.h",
++ "webp/sharpyuv/sharpyuv.h",
++ "webp/sharpyuv/sharpyuv_csp.h",
+ ]
+ }
+
++source_set("libwebp_sharpyuv") {
++ deps = [ ":libwebp_shim" ]
++ public_configs = [ ":system_libwebp" ]
++}
++
+ source_set("libwebp_webp") {
+ deps = [ ":libwebp_shim" ]
+ public_configs = [ ":system_libwebp" ]
+ }
+
+ group("libwebp") {
+- deps = [ ":libwebp_webp" ]
++ deps = [
++ ":libwebp_webp",
++ ":libwebp_sharpyuv"
++ ]
+ }
+--
+2.44.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] proj/riscv:master commit in: www-client/chromium/files/, www-client/chromium/
@ 2024-04-12 4:09 Yixun Lan
0 siblings, 0 replies; 7+ messages in thread
From: Yixun Lan @ 2024-04-12 4:09 UTC (permalink / raw
To: gentoo-commits
commit: 755ae4bd759dfafd7fe64890f3294f2a64a94485
Author: Yixun Lan <dlan <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 11 04:17:27 2024 +0000
Commit: Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Thu Apr 11 04:17:46 2024 +0000
URL: https://gitweb.gentoo.org/proj/riscv.git/commit/?id=755ae4bd
www-client/chromium: drop 98.0.4750.0
Signed-off-by: Yixun Lan <dlan <AT> gentoo.org>
www-client/chromium/Manifest | 3 -
www-client/chromium/chromium-98.0.4750.0.ebuild | 968 ---------------------
www-client/chromium/files/11cpuinfo.patch | 11 -
.../files/chromium-108-EnumTable-crash.patch | 76 --
.../chromium/files/chromium-119-minizip-cast.patch | 23 -
.../files/chromium-119.0.6045.159-icu-74.patch | 21 -
.../files/chromium-93-InkDropHost-crash.patch | 25 -
.../files/chromium-96-EnumTable-crash.patch | 76 --
.../files/chromium-96-freetype-unbundle.patch | 10 -
.../files/chromium-98-EnumTable-crash.patch | 76 --
.../chromium/files/chromium-98-system-libdrm.patch | 34 -
.../chromium/files/chromium-glibc-2.34.patch | 50 --
| 48 -
13 files changed, 1421 deletions(-)
diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index 7b7e129..3e9db3c 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -1,9 +1,6 @@
DIST chromium-123-clang.tar.xz 50178332 BLAKE2B 4b5c4f81a83c7b0c809c93a713e869fde6fe559477665cb3b2f03c62d2175f821b81fb03b0ddd127c6eaf77c41011b4de06561f09a58384153d80fe2b3aa7427 SHA512 17108b9579f16d0da383bd5e41d012f94bcb8445a517ff823aa49b66d3861b0a124b6cce6183fbc64e8050f1ebcd65a9daa2acbda5fdaa42390bfbf4ecb16bd3
DIST chromium-123-rust.tar.xz 145295100 BLAKE2B ae6603a0e0218e4e39d3e8b7aa48a2cd946c90779dac48be26582926963c8a10a48e3e58fd00a23cb8cd9a3584d9d4a142e843f93c761e862253817635f18c2c SHA512 b4f8dce6d74be4be495d9948d7593ec9664c0b93e87456fab33d3ae5ac0e486a4e8576b26a9ab9890285a7c0d566afb803b98225c0692b6cac9f623a10b954a2
DIST chromium-123.0.6312.58.tar.xz 3465099244 BLAKE2B d0b85e740924a33350c5b6d3a6d1e94c8b946c52ac760237b2391127c99326c64b50de29751850dc368331b66402ab0c4fc65b9aeef09302857a1f5300a0d17b SHA512 4cb08767b8a6fe268c44bd7b621632c71f7d2f3f6c1b7bae9e0373dfc2eada397ab511a068582c2d17bbf3ee9ff16f05fccd454d610d63dd2fd14d6ca355a0c0
-DIST chromium-98-extra-patchset-0.tar.xz 187228 BLAKE2B 094c716b274de559f848ed7f55cd2584892b6d43ba0e79bc3b458bb56320a0de7bd06bed475404004b83e464dc5554987318783eb7bd4838a84e69788e30c567 SHA512 565a69262e353b2eda8bc7c97c88e78972e047146b810f3d9f09bb19aa963a0600a104cfdacafd8794e2b393cb31381b8e73086c246b6b1267defd065367fced
-DIST chromium-98-patchset-3.tar.xz 6164 BLAKE2B be4fa2997e13e89a0c8db1e99fa80adb937c0c02f1e18bd0ec93bdbdd484da4a8507baf13c5e6e602d5f5ecb2921f33bc3afdc3c3103b1b5314b62f59c1a71ad SHA512 47026635ca5c2e1d3965c82a449077380e6518b33e16b83bd105085cca50f512d08027eebd34d7ce5ce39d988f0120deccfb72697abac0d41e4502b6ad8abdf3
-DIST chromium-98.0.4750.0.tar.xz 1230864580 BLAKE2B b8b5d05bf15a9429f3f5fa851415d21f6e757a99fce9ac47bdeb7f534f9eefc77d13c5f8ba93bfa140bdb536c13e1b6141ac4d7e0f17b742039c403044789c56 SHA512 7f8cc349aa50af0d149ba08e5ed60171e94943bbd52cb0f820f3c7d56749d9e2fd6d71761262ac012cfcad1f7e4f63c0404f39f044df531e776ae6fce951544f
DIST chromium-patches-123.tar.bz2 4697 BLAKE2B 8a7dd76edb23afb7b2f65084696bce5d6e54d63ca34c4590052db1086ed0a422b1efde863c4daad4e2526f329eb65276b9ad5406017cd97fb75b1a9556c1f933 SHA512 ea47255deac1893896f64496629d34c7092f266a175b8400fcf4f01b9d038ae240e911bff488558bb28e6f5795bbcf276adf20ed1e0ccb8ac99f9ddd260742f9
DIST chromium-ppc64le-gentoo-patches-1.tar.xz 5636 BLAKE2B 1d898939df023c59285b27bee552470483ea06375d1ee8d6947b89c5927c23cc7bfec6b49f3b376ece931d11a56f8e2a45791e0f92ad61974fc8c34c1082d89c SHA512 8a71cb007e47cda8e5fe5d185729389e65c48bd322c8ee8b3986bee8571427b959628f2666bda646a3f89ae64197c0957d3626845ff03461dbd5dee4c964d07c
DIST chromium-profiler-0.2.tar 259952640 BLAKE2B 5e82389fce00b267280d633b26551231c558b80f0c92cd7d60271095a3503365ab673e7a46dc5f74f8a82db1f21262cb24dcc0531d954bab5fb3b175dab3394d SHA512 9fa89a5ab728419683e7495ae676567480987d68a2d589f2aa97bfcbcf123f3c8f97f8bca5f65e5e3f6e41475535add473ded83b9c7a33bb4746a9d05b298a6c
diff --git a/www-client/chromium/chromium-98.0.4750.0.ebuild b/www-client/chromium/chromium-98.0.4750.0.ebuild
deleted file mode 100644
index e12c50a..0000000
--- a/www-client/chromium/chromium-98.0.4750.0.ebuild
+++ /dev/null
@@ -1,968 +0,0 @@
-# Copyright 2009-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE="xml"
-
-CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
- hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr
- sv sw ta te th tr uk vi zh-CN zh-TW"
-
-inherit check-reqs chromium-2 desktop flag-o-matic ninja-utils pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="Open-source version of Google Chrome web browser"
-HOMEPAGE="https://chromium.org/"
-PATCHSET="3"
-PATCHSET_NAME="chromium-$(ver_cut 1)-patchset-${PATCHSET}"
-SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
- https://github.com/stha09/chromium-patches/releases/download/${PATCHSET_NAME}/${PATCHSET_NAME}.tar.xz"
-SRC_URI+=" https://dev.gentoo.org/~dlan/distfiles/${CATEGORY}/${PN}/chromium-$(ver_cut 1)-extra-patchset-0.tar.xz"
-
-LICENSE="BSD"
-SLOT="0/dev"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="component-build cups cpu_flags_arm_neon debug +hangouts headless +js-type-check kerberos +official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-harfbuzz +system-icu +system-png vaapi wayland widevine"
-REQUIRED_USE="
- component-build? ( !suid )
- screencast? ( wayland )
-"
-
-COMMON_X_DEPEND="
- media-libs/mesa:=[gbm(+)]
- x11-libs/libX11:=
- x11-libs/libXcomposite:=
- x11-libs/libXcursor:=
- x11-libs/libXdamage:=
- x11-libs/libXext:=
- x11-libs/libXfixes:=
- >=x11-libs/libXi-1.6.0:=
- x11-libs/libXrandr:=
- x11-libs/libXrender:=
- x11-libs/libXtst:=
- x11-libs/libxcb:=
- x11-libs/libxshmfence:=
- vaapi? ( >=x11-libs/libva-2.7:=[X,drm] )
-"
-
-COMMON_DEPEND="
- app-arch/bzip2:=
- cups? ( >=net-print/cups-1.3.11:= )
- dev-libs/expat:=
- dev-libs/glib:2
- >=dev-libs/libxml2-2.9.4-r3:=[icu]
- dev-libs/nspr:=
- >=dev-libs/nss-3.26:=
- >=media-libs/alsa-lib-1.0.19:=
- media-libs/fontconfig:=
- >=media-libs/freetype-2.11.0-r1:=
- system-harfbuzz? ( >=media-libs/harfbuzz-2.9.0:0=[icu(-)] )
- media-libs/libjpeg-turbo:=
- system-png? ( media-libs/libpng:=[-apng] )
- pulseaudio? ( media-sound/pulseaudio:= )
- system-ffmpeg? (
- >=media-video/ffmpeg-4.3:=
- || (
- media-video/ffmpeg[-samba]
- >=net-fs/samba-4.5.10-r1[-debug(-)]
- )
- >=media-libs/opus-1.3.1:=
- )
- net-misc/curl[ssl]
- sys-apps/dbus:=
- sys-apps/pciutils:=
- virtual/udev
- x11-libs/cairo:=
- x11-libs/gdk-pixbuf:2
- x11-libs/libxkbcommon:=
- x11-libs/pango:=
- media-libs/flac:=
- >=media-libs/libwebp-0.4.0:=
- sys-libs/zlib:=[minizip]
- kerberos? ( virtual/krb5 )
- !headless? (
- ${COMMON_X_DEPEND}
- >=app-accessibility/at-spi2-atk-2.26:2
- >=app-accessibility/at-spi2-core-2.26:2
- >=dev-libs/atk-2.26
- x11-libs/gtk+:3[X]
- wayland? (
- dev-libs/wayland:=
- screencast? ( media-video/pipewire:0/0.3 )
- x11-libs/gtk+:3[wayland,X]
- x11-libs/libdrm:=
- )
- )
-"
-RDEPEND="${COMMON_DEPEND}
- x11-misc/xdg-utils
- virtual/opengl
- virtual/ttf-fonts
- selinux? ( sec-policy/selinux-chromium )
-"
-DEPEND="${COMMON_DEPEND}
-"
-# dev-vcs/git - https://bugs.gentoo.org/593476
-BDEPEND="
- ${PYTHON_DEPS}
- $(python_gen_any_dep '
- dev-python/setuptools[${PYTHON_USEDEP}]
- ')
- >=app-arch/gzip-1.7
- dev-lang/perl
- >=dev-util/gn-0.1807
- dev-vcs/git
- >=dev-util/gperf-3.0.3
- >=dev-util/ninja-1.7.2
- >=net-libs/nodejs-7.6.0[inspector]
- >=sys-devel/bison-2.4.3
- sys-devel/flex
- virtual/pkgconfig
- js-type-check? ( virtual/jre )
-"
-
-# These are intended for ebuild maintainer use to force clang if GCC is broken.
-: ${CHROMIUM_FORCE_CLANG=no}
-: ${CHROMIUM_FORCE_LIBCXX=no}
-
-if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then
- BDEPEND+=" >=sys-devel/clang-12"
-fi
-
-if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
- RDEPEND+=" >=sys-libs/libcxx-12"
- DEPEND+=" >=sys-libs/libcxx-12"
-else
- COMMON_DEPEND="
- dev-libs/libxslt:=
- >=dev-libs/re2-0.2019.08.01:=
- >=media-libs/openh264-1.6.0:=
- system-icu? ( >=dev-libs/icu-69.1:= )
- "
- RDEPEND+="${COMMON_DEPEND}"
- DEPEND+="${COMMON_DEPEND}"
-fi
-
-if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
- EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
-fi
-
-DISABLE_AUTOFORMATTING="yes"
-DOC_CONTENTS="
-Some web pages may require additional fonts to display properly.
-Try installing some of the following packages if some characters
-are not displayed properly:
-- media-fonts/arphicfonts
-- media-fonts/droid
-- media-fonts/ipamonafont
-- media-fonts/noto
-- media-fonts/ja-ipafonts
-- media-fonts/takao-fonts
-- media-fonts/wqy-microhei
-- media-fonts/wqy-zenhei
-
-To fix broken icons on the Downloads page, you should install an icon
-theme that covers the appropriate MIME types, and configure this as your
-GTK+ icon theme.
-
-For native file dialogs in KDE, install kde-apps/kdialog.
-
-To make password storage work with your desktop environment you may
-have install one of the supported credentials management applications:
-- app-crypt/libsecret (GNOME)
-- kde-frameworks/kwallet (KDE)
-If you have one of above packages installed, but don't want to use
-them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS
-in /etc/chromium/default.
-"
-
-python_check_deps() {
- has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]"
-}
-
-pre_build_checks() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- local -x CPP="$(tc-getCXX) -E"
- if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then
- die "At least gcc 9.2 is required"
- fi
- if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then
- CPP="${CHOST}-clang++ -E"
- if ! ver_test "$(clang-major-version)" -ge 12; then
- die "At least clang 12 is required"
- fi
- fi
- fi
-
- # Check build requirements, bug #541816 and bug #471810 .
- CHECKREQS_MEMORY="4G"
- CHECKREQS_DISK_BUILD="9G"
- if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then
- if use custom-cflags || use component-build; then
- CHECKREQS_DISK_BUILD="25G"
- fi
- if ! use component-build; then
- CHECKREQS_MEMORY="16G"
- fi
- fi
- check-reqs_pkg_setup
-}
-
-pkg_pretend() {
- pre_build_checks
-}
-
-pkg_setup() {
- pre_build_checks
-
- chromium_suid_sandbox_check_kernel_config
-
- # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams
- if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then
- ewarn "Proprietary nVidia driver does not work with Wayland. You can disable"
- ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default."
- fi
-}
-
-src_prepare() {
- # Calling this here supports resumption via FEATURES=keepwork
- python_setup
-
- local PATCHES=(
- "${WORKDIR}/patches"
- "${FILESDIR}/chromium-93-InkDropHost-crash.patch"
- "${FILESDIR}/chromium-98-EnumTable-crash.patch"
- "${FILESDIR}/chromium-98-system-libdrm.patch"
- "${FILESDIR}/chromium-glibc-2.34.patch"
- "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch"
- "${FILESDIR}/chromium-shim_headers.patch"
- "${WORKDIR}/extra-patches"
- )
-
- default
-
- mkdir -p third_party/node/linux/node-linux-x64/bin || die
- ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
-
- # adjust python interpreter version
- sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die
-
- local keeplibs=(
- base/third_party/cityhash
- base/third_party/double_conversion
- base/third_party/dynamic_annotations
- base/third_party/icu
- base/third_party/nspr
- base/third_party/superfasthash
- base/third_party/symbolize
- base/third_party/valgrind
- base/third_party/xdg_mime
- base/third_party/xdg_user_dirs
- buildtools/third_party/libc++
- buildtools/third_party/libc++abi
- chrome/third_party/mozilla_security_manager
- courgette/third_party
- net/third_party/mozilla_security_manager
- net/third_party/nss
- net/third_party/quic
- net/third_party/uri_template
- third_party/abseil-cpp
- third_party/angle
- third_party/angle/src/common/third_party/base
- third_party/angle/src/common/third_party/smhasher
- third_party/angle/src/common/third_party/xxhash
- third_party/angle/src/third_party/libXNVCtrl
- third_party/angle/src/third_party/trace_event
- third_party/angle/src/third_party/volk
- third_party/apple_apsl
- third_party/axe-core
- third_party/blink
- third_party/boringssl
- third_party/boringssl/src/third_party/fiat
- third_party/breakpad
- third_party/breakpad/breakpad/src/third_party/curl
- third_party/brotli
- third_party/catapult
- third_party/catapult/common/py_vulcanize/third_party/rcssmin
- third_party/catapult/common/py_vulcanize/third_party/rjsmin
- third_party/catapult/third_party/beautifulsoup4-4.9.3
- third_party/catapult/third_party/html5lib-1.1
- third_party/catapult/third_party/polymer
- third_party/catapult/third_party/six
- third_party/catapult/tracing/third_party/d3
- third_party/catapult/tracing/third_party/gl-matrix
- third_party/catapult/tracing/third_party/jpeg-js
- third_party/catapult/tracing/third_party/jszip
- third_party/catapult/tracing/third_party/mannwhitneyu
- third_party/catapult/tracing/third_party/oboe
- third_party/catapult/tracing/third_party/pako
- third_party/ced
- third_party/cld_3
- third_party/closure_compiler
- third_party/crashpad
- third_party/crashpad/crashpad/third_party/lss
- third_party/crashpad/crashpad/third_party/zlib
- third_party/crc32c
- third_party/cros_system_api
- third_party/dav1d
- third_party/dawn
- third_party/dawn/third_party/khronos
- third_party/dawn/third_party/tint
- third_party/depot_tools
- third_party/devscripts
- third_party/devtools-frontend
- third_party/devtools-frontend/src/front_end/third_party/acorn
- third_party/devtools-frontend/src/front_end/third_party/axe-core
- third_party/devtools-frontend/src/front_end/third_party/chromium
- third_party/devtools-frontend/src/front_end/third_party/codemirror
- third_party/devtools-frontend/src/front_end/third_party/diff
- third_party/devtools-frontend/src/front_end/third_party/i18n
- third_party/devtools-frontend/src/front_end/third_party/intl-messageformat
- third_party/devtools-frontend/src/front_end/third_party/lighthouse
- third_party/devtools-frontend/src/front_end/third_party/lit-html
- third_party/devtools-frontend/src/front_end/third_party/lodash-isequal
- third_party/devtools-frontend/src/front_end/third_party/marked
- third_party/devtools-frontend/src/front_end/third_party/puppeteer
- third_party/devtools-frontend/src/front_end/third_party/wasmparser
- third_party/devtools-frontend/src/test/unittests/front_end/third_party/i18n
- third_party/devtools-frontend/src/third_party
- third_party/distributed_point_functions
- third_party/dom_distiller_js
- third_party/eigen3
- third_party/emoji-segmenter
- third_party/farmhash
- third_party/fdlibm
- third_party/fft2d
- third_party/flatbuffers
- third_party/freetype
- third_party/fusejs
- third_party/highway
- third_party/libgifcodec
- third_party/liburlpattern
- third_party/libzip
- third_party/gemmlowp
- third_party/google_input_tools
- third_party/google_input_tools/third_party/closure_library
- third_party/google_input_tools/third_party/closure_library/third_party/closure
- third_party/googletest
- third_party/hunspell
- third_party/iccjpeg
- third_party/inspector_protocol
- third_party/jinja2
- third_party/jsoncpp
- third_party/jstemplate
- third_party/khronos
- third_party/leveldatabase
- third_party/libXNVCtrl
- third_party/libaddressinput
- third_party/libaom
- third_party/libaom/source/libaom/third_party/fastfeat
- third_party/libaom/source/libaom/third_party/vector
- third_party/libaom/source/libaom/third_party/x86inc
- third_party/libavif
- third_party/libgav1
- third_party/libjingle
- third_party/libjxl
- third_party/libphonenumber
- third_party/libsecret
- third_party/libsrtp
- third_party/libsync
- third_party/libudev
- third_party/libva_protected_content
- third_party/libvpx
- third_party/libvpx/source/libvpx/third_party/x86inc
- third_party/libwebm
- third_party/libx11
- third_party/libxcb-keysyms
- third_party/libxml/chromium
- third_party/libyuv
- third_party/llvm
- third_party/lottie
- third_party/lss
- third_party/lzma_sdk
- third_party/mako
- third_party/maldoca
- third_party/maldoca/src/third_party/tensorflow_protos
- third_party/maldoca/src/third_party/zlibwrapper
- third_party/markupsafe
- third_party/mesa
- third_party/metrics_proto
- third_party/minigbm
- third_party/modp_b64
- third_party/nasm
- third_party/nearby
- third_party/neon_2_sse
- third_party/node
- third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2
- third_party/one_euro_filter
- third_party/opencv
- third_party/openscreen
- third_party/openscreen/src/third_party/mozilla
- third_party/openscreen/src/third_party/tinycbor/src/src
- third_party/ots
- third_party/pdfium
- third_party/pdfium/third_party/agg23
- third_party/pdfium/third_party/base
- third_party/pdfium/third_party/bigint
- third_party/pdfium/third_party/freetype
- third_party/pdfium/third_party/lcms
- third_party/pdfium/third_party/libopenjpeg20
- third_party/pdfium/third_party/libpng16
- third_party/pdfium/third_party/libtiff
- third_party/pdfium/third_party/skia_shared
- third_party/perfetto
- third_party/perfetto/protos/third_party/chromium
- third_party/pffft
- third_party/ply
- third_party/polymer
- third_party/private-join-and-compute
- third_party/private_membership
- third_party/protobuf
- third_party/protobuf/third_party/six
- third_party/pyjson5
- third_party/qcms
- third_party/rnnoise
- third_party/s2cellid
- third_party/securemessage
- third_party/shell-encryption
- third_party/simplejson
- third_party/skia
- third_party/skia/include/third_party/skcms
- third_party/skia/include/third_party/vulkan
- third_party/skia/third_party/skcms
- third_party/skia/third_party/vulkan
- third_party/smhasher
- third_party/snappy
- third_party/sqlite
- third_party/swiftshader
- third_party/swiftshader/third_party/astc-encoder
- third_party/swiftshader/third_party/llvm-subzero
- third_party/swiftshader/third_party/marl
- third_party/swiftshader/third_party/subzero
- third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1
- third_party/tcmalloc
- third_party/tensorflow-text
- third_party/tflite
- third_party/tflite/src/third_party/eigen3
- third_party/tflite/src/third_party/fft2d
- third_party/ruy
- third_party/six
- third_party/ukey2
- third_party/unrar
- third_party/usrsctp
- third_party/utf
- third_party/vulkan
- third_party/web-animations-js
- third_party/webdriver
- third_party/webgpu-cts
- third_party/webrtc
- third_party/webrtc/common_audio/third_party/ooura
- third_party/webrtc/common_audio/third_party/spl_sqrt_floor
- third_party/webrtc/modules/third_party/fft
- third_party/webrtc/modules/third_party/g711
- third_party/webrtc/modules/third_party/g722
- third_party/webrtc/rtc_base/third_party/base64
- third_party/webrtc/rtc_base/third_party/sigslot
- third_party/widevine
- third_party/woff2
- third_party/wuffs
- third_party/x11proto
- third_party/xcbproto
- third_party/zxcvbn-cpp
- third_party/zlib/google
- url/third_party/mozilla
- v8/src/third_party/siphash
- v8/src/third_party/valgrind
- v8/src/third_party/utf8-decoder
- v8/third_party/inspector_protocol
- v8/third_party/v8
-
- # gyp -> gn leftovers
- base/third_party/libevent
- third_party/speech-dispatcher
- third_party/usb_ids
- third_party/xdg-utils
- )
- if ! use system-ffmpeg; then
- keeplibs+=( third_party/ffmpeg third_party/opus )
- fi
- if ! use system-icu; then
- keeplibs+=( third_party/icu )
- fi
- if ! use system-png; then
- keeplibs+=( third_party/libpng )
- fi
- if use system-harfbuzz; then
- keeplibs+=( third_party/harfbuzz-ng/utils )
- else
- keeplibs+=( third_party/harfbuzz-ng )
- fi
- if use wayland && ! use headless ; then
- keeplibs+=( third_party/wayland )
- fi
- if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
- keeplibs+=( third_party/libxml )
- keeplibs+=( third_party/libxslt )
- keeplibs+=( third_party/openh264 )
- keeplibs+=( third_party/re2 )
- if use system-icu; then
- keeplibs+=( third_party/icu )
- fi
- fi
- if use arm64 || use ppc64 || use riscv; then
- keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 )
- fi
- # we need to generate ppc64 stuff because upstream does not ship it yet
- # it has to be done before unbundling.
- if use ppc64; then
- pushd third_party/libvpx >/dev/null || die
- mkdir -p source/config/linux/ppc64 || die
- ./generate_gni.sh || die
- popd >/dev/null || die
- fi
-
- # Remove most bundled libraries. Some are still needed.
- build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
-
- if use js-type-check; then
- ln -s "${EPREFIX}"/usr/bin/java third_party/jdk/current/bin/java || die
- fi
-
- # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries
- mkdir -p buildtools/third_party/eu-strip/bin || die
- ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die
-}
-
-src_configure() {
- # Calling this here supports resumption via FEATURES=keepwork
- python_setup
-
- local myconf_gn=""
-
- # Make sure the build system will use the right tools, bug #340795.
- tc-export AR CC CXX NM
-
- if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then
- # Force clang since gcc is pretty broken at the moment.
- CC=${CHOST}-clang
- CXX=${CHOST}-clang++
- strip-unsupported-flags
- fi
-
- if tc-is-clang; then
- myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
- else
- if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
- die "Compiling with sys-libs/libcxx requires clang."
- fi
- myconf_gn+=" is_clang=false"
- fi
-
- # Define a custom toolchain for GN
- myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
-
- if tc-is-cross-compiler; then
- tc-export BUILD_{AR,CC,CXX,NM}
- myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
- myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
- else
- myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
- fi
-
- # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
- myconf_gn+=" is_debug=false"
-
- # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138.
- # DCHECK is fatal by default, make it configurable at runtime, #bug 807881.
- myconf_gn+=" dcheck_always_on=$(usex debug true false)"
- myconf_gn+=" dcheck_is_configurable=$(usex debug true false)"
-
- # Component build isn't generally intended for use by end users. It's mostly useful
- # for development and debugging.
- myconf_gn+=" is_component_build=$(usex component-build true false)"
-
- # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
- myconf_gn+=" enable_nacl=false"
-
- # Use system-provided libraries.
- # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
- # TODO: use_system_hunspell (upstream changes needed).
- # TODO: use_system_protobuf (bug #525560).
- # TODO: use_system_sqlite (http://crbug.com/22208).
-
- # libevent: https://bugs.gentoo.org/593458
- local gn_system_libraries=(
- flac
- fontconfig
- freetype
- # Need harfbuzz_from_pkgconfig target
- #harfbuzz-ng
- libdrm
- libjpeg
- libwebp
- zlib
- )
- if use system-ffmpeg; then
- gn_system_libraries+=( ffmpeg opus )
- fi
- if use system-icu; then
- gn_system_libraries+=( icu )
- fi
- if use system-png; then
- gn_system_libraries+=( libpng )
- fi
- if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then
- # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++
- gn_system_libraries+=( libxml )
- gn_system_libraries+=( libxslt )
- gn_system_libraries+=( openh264 )
- gn_system_libraries+=( re2 )
- fi
- build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
-
- # See dependency logic in third_party/BUILD.gn
- myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)"
-
- # Disable deprecated libgnome-keyring dependency, bug #713012
- myconf_gn+=" use_gnome_keyring=false"
-
- # Optional dependencies.
- myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)"
- myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
- myconf_gn+=" enable_widevine=$(usex widevine true false)"
- myconf_gn+=" use_cups=$(usex cups true false)"
- myconf_gn+=" use_kerberos=$(usex kerberos true false)"
- myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
- myconf_gn+=" use_vaapi=$(usex vaapi true false)"
- myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)"
-
- # TODO: link_pulseaudio=true for GN.
-
- myconf_gn+=" disable_fieldtrial_testing_config=true"
-
- # Never use bundled gold binary. Disable gold linker flags for now.
- # Do not use bundled clang.
- # Trying to use gold results in linker crash.
- myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false"
-
- # Disable forced lld, bug 641556
- myconf_gn+=" use_lld=false"
-
- # Disable pseudolocales, only used for testing
- myconf_gn+=" enable_pseudolocales=false"
-
- # Disable code formating of generated files
- myconf_gn+=" blink_enable_generated_code_formatting=false"
-
- ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
- myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
- myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
-
- # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
- # Note: these are for Gentoo use ONLY. For your own distribution,
- # please get your own set of keys. Feel free to contact chromium@gentoo.org
- # for more info. The OAuth2 credentials, however, have been left out.
- # Those OAuth2 credentials have been broken for quite some time anyway.
- # Instead we apply a patch to use the --oauth2-client-id= and
- # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and
- # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into
- # Chromium without baked-in values.
- local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
- myconf_gn+=" google_api_key=\"${google_api_key}\""
- local myarch="$(tc-arch)"
-
- # Avoid CFLAGS problems, bug #352457, bug #390147.
- if ! use custom-cflags; then
- replace-flags "-Os" "-O2"
- strip-flags
-
- # Debug info section overflows without component build
- # Prevent linker from running out of address space, bug #471810 .
- if ! use component-build || use x86; then
- filter-flags "-g*"
- fi
-
- # Prevent libvpx build failures. Bug 530248, 544702, 546984.
- if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then
- filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4
- fi
- fi
-
- if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
- append-flags -stdlib=libc++
- append-ldflags -stdlib=libc++
- fi
-
- if [[ $myarch = amd64 ]] ; then
- myconf_gn+=" target_cpu=\"x64\""
- ffmpeg_target_arch=x64
- elif [[ $myarch = x86 ]] ; then
- myconf_gn+=" target_cpu=\"x86\""
- ffmpeg_target_arch=ia32
-
- # This is normally defined by compiler_cpu_abi in
- # build/config/compiler/BUILD.gn, but we patch that part out.
- append-flags -msse2 -mfpmath=sse -mmmx
- elif [[ $myarch = arm64 ]] ; then
- myconf_gn+=" target_cpu=\"arm64\""
- ffmpeg_target_arch=arm64
- elif [[ $myarch = arm ]] ; then
- myconf_gn+=" target_cpu=\"arm\""
- ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm)
- elif [[ $myarch = ppc64 ]] ; then
- myconf_gn+=" target_cpu=\"ppc64\""
- ffmpeg_target_arch=ppc64
- elif [[ $myarch = riscv ]] ; then
- myconf_gn+=" target_cpu=\"riscv64\""
- ffmpeg_target_arch=riscv64
- else
- die "Failed to determine target arch, got '$myarch'."
- fi
-
- # Make sure that -Werror doesn't get added to CFLAGS by the build system.
- # Depending on GCC version the warnings are different and we don't want
- # the build to fail because of that.
- myconf_gn+=" treat_warnings_as_errors=false"
-
- # Disable fatal linker warnings, bug 506268.
- myconf_gn+=" fatal_linker_warnings=false"
-
- # Bug 491582.
- export TMPDIR="${WORKDIR}/temp"
- mkdir -p -m 755 "${TMPDIR}" || die
-
- # https://bugs.gentoo.org/654216
- addpredict /dev/dri/ #nowarn
-
- #if ! use system-ffmpeg; then
- if false; then
- local build_ffmpeg_args=""
- if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then
- build_ffmpeg_args+=" --disable-asm"
- fi
-
- # Re-configure bundled ffmpeg. See bug #491378 for example reasons.
- einfo "Configuring bundled ffmpeg..."
- pushd third_party/ffmpeg > /dev/null || die
- chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \
- --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die
- chromium/scripts/copy_config.sh || die
- chromium/scripts/generate_gn.py || die
- popd > /dev/null || die
- fi
-
- # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470
- append-cxxflags $(test-flags-CXX -flax-vector-conversions=all)
-
- # Disable unknown warning message from clang.
- tc-is-clang && append-flags -Wno-unknown-warning-option
-
- # Explicitly disable ICU data file support for system-icu builds.
- if use system-icu; then
- myconf_gn+=" icu_use_data_file=false"
- fi
-
- # Enable ozone wayland and/or headless support
- myconf_gn+=" use_ozone=true ozone_auto_platforms=false"
- myconf_gn+=" ozone_platform_headless=true"
- myconf_gn+=" ozone_platform_x11=$(usex headless false true)"
- if use wayland || use headless; then
- if use headless; then
- myconf_gn+=" ozone_platform=\"headless\""
- myconf_gn+=" use_x11=false"
- else
- myconf_gn+=" ozone_platform_wayland=true"
- myconf_gn+=" use_system_libdrm=true"
- myconf_gn+=" use_system_minigbm=true"
- myconf_gn+=" use_xkbcommon=true"
- myconf_gn+=" ozone_platform=\"wayland\""
- fi
- else
- myconf_gn+=" ozone_platform=\"x11\""
- fi
-
- # Enable official builds
- myconf_gn+=" is_official_build=$(usex official true false)"
- myconf_gn+=" use_thin_lto=false"
- if use official; then
- # Allow building against system libraries in official builds
- sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
- tools/generate_shim_headers/generate_shim_headers.py || die
- # Disable CFI: unsupported for GCC, requires clang+lto+lld
- myconf_gn+=" is_cfi=false"
- # Disable PGO, because profile data is only compatible with >=clang-11
- myconf_gn+=" chrome_pgo_phase=0"
- # Don't add symbols to build
- myconf_gn+=" symbol_level=0"
- fi
-
- einfo "Configuring Chromium..."
- set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
- echo "$@"
- "$@" || die
-}
-
-src_compile() {
- # Final link uses lots of file descriptors.
- ulimit -n 2048
-
- # Calling this here supports resumption via FEATURES=keepwork
- python_setup
-
- # Don't inherit PYTHONPATH from environment, bug #789021, #812689
- local -x PYTHONPATH=
-
- #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die
-
- # Build mksnapshot and pax-mark it.
- local x
- for x in mksnapshot v8_context_snapshot_generator; do
- if tc-is-cross-compiler; then
- eninja -C out/Release "host/${x}"
- pax-mark m "out/Release/host/${x}"
- else
- eninja -C out/Release "${x}"
- pax-mark m "out/Release/${x}"
- fi
- done
-
- # Even though ninja autodetects number of CPUs, we respect
- # user's options, for debugging with -j 1 or any other reason.
- eninja -C out/Release chrome chromedriver
- use suid && eninja -C out/Release chrome_sandbox
-
- pax-mark m out/Release/chrome
-
- mv out/Release/chromedriver{.unstripped,} || die
-
- # Build manpage; bug #684550
- sed -e 's|@@PACKAGE@@|chromium-browser|g;
- s|@@MENUNAME@@|Chromium|g;' \
- chrome/app/resources/manpage.1.in > \
- out/Release/chromium-browser.1 || die
-
- # Build desktop file; bug #706786
- sed -e 's|@@MENUNAME@@|Chromium|g;
- s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g;
- s|@@PACKAGE@@|chromium-browser|g;
- s|\(^Exec=\)/usr/bin/|\1|g;' \
- chrome/installer/linux/common/desktop.template > \
- out/Release/chromium-browser-chromium.desktop || die
-
- # Build vk_swiftshader_icd.json; bug #827861
- sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \
- third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \
- out/Release/vk_swiftshader_icd.json || die
-}
-
-src_install() {
- local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
- exeinto "${CHROMIUM_HOME}"
- doexe out/Release/chrome
-
- if use suid; then
- newexe out/Release/chrome_sandbox chrome-sandbox
- fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
- fi
-
- doexe out/Release/chromedriver
- doexe out/Release/chrome_crashpad_handler
-
- ozone_auto_session () {
- use wayland && ! use headless && echo true || echo false
- }
- local sedargs=( -e
- "s:/usr/lib/:/usr/$(get_libdir)/:g;
- s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g"
- )
- sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die
- doexe chromium-launcher.sh
-
- # It is important that we name the target "chromium-browser",
- # xdg-utils expect it; bug #355517.
- dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser
- # keep the old symlink around for consistency
- dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
-
- dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
-
- # Allow users to override command-line options, bug #357629.
- insinto /etc/chromium
- newins "${FILESDIR}/chromium.default" "default"
-
- pushd out/Release/locales > /dev/null || die
- chromium_remove_language_paks
- popd
-
- insinto "${CHROMIUM_HOME}"
- doins out/Release/*.bin
- doins out/Release/*.pak
- (
- shopt -s nullglob
- local files=(out/Release/*.so out/Release/*.so.[0-9])
- [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}"
- )
-
- if ! use system-icu; then
- doins out/Release/icudtl.dat
- fi
-
- doins -r out/Release/locales
- doins -r out/Release/resources
- doins -r out/Release/MEIPreload
-
- # Install vk_swiftshader_icd.json; bug #827861
- doins out/Release/vk_swiftshader_icd.json
-
- if [[ -d out/Release/swiftshader ]]; then
- insinto "${CHROMIUM_HOME}/swiftshader"
- doins out/Release/swiftshader/*.so
- fi
-
- # Install icons
- local branding size
- for size in 16 24 32 48 64 128 256 ; do
- case ${size} in
- 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
- *) branding="chrome/app/theme/chromium" ;;
- esac
- newicon -s ${size} "${branding}/product_logo_${size}.png" \
- chromium-browser.png
- done
-
- # Install desktop entry
- domenu out/Release/chromium-browser-chromium.desktop
-
- # Install GNOME default application entry (bug #303100).
- insinto /usr/share/gnome-control-center/default-apps
- newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
-
- # Install manpage; bug #684550
- doman out/Release/chromium-browser.1
- dosym chromium-browser.1 /usr/share/man/man1/chromium.1
-
- readme.gentoo_create_doc
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_desktop_database_update
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
- xdg_desktop_database_update
- readme.gentoo_print_elog
-
- if use vaapi; then
- elog "VA-API is disabled by default at runtime. You have to enable it"
- elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS"
- elog "in /etc/chromium/default."
- fi
- if use screencast; then
- elog "Screencast is disabled by default at runtime. Either enable it"
- elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer"
- elog "inside Chromium or add --enable-webrtc-pipewire-capturer"
- elog "to CHROMIUM_FLAGS in /etc/chromium/default."
- fi
-}
diff --git a/www-client/chromium/files/11cpuinfo.patch b/www-client/chromium/files/11cpuinfo.patch
deleted file mode 100644
index 99c5cdd..0000000
--- a/www-client/chromium/files/11cpuinfo.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -Naur a/third_party/cpuinfo/src/src/riscv/linux/riscv-hw.c b/third_party/cpuinfo/src/src/riscv/linux/riscv-hw.c
---- a/third_party/cpuinfo/src/src/riscv/linux/riscv-hw.c 2024-03-16 12:12:29.835536873 +0000
-+++ b/third_party/cpuinfo/src/src/riscv/linux/riscv-hw.c 2024-03-16 12:06:55.888004794 +0000
-@@ -14,7 +14,6 @@
- #endif
-
- #include <sched.h>
--#include <sys/hwprobe.h>
-
- #include <cpuinfo/log.h>
- #include <riscv/api.h>
diff --git a/www-client/chromium/files/chromium-108-EnumTable-crash.patch b/www-client/chromium/files/chromium-108-EnumTable-crash.patch
deleted file mode 100644
index 661ec33..0000000
--- a/www-client/chromium/files/chromium-108-EnumTable-crash.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-diff --git a/components/media_router/common/providers/cast/channel/enum_table.h b/components/media_router/common/providers/cast/channel/enum_table.h
-index 842553a..89de703 100644
---- a/components/media_router/common/providers/cast/channel/enum_table.h
-+++ b/components/media_router/common/providers/cast/channel/enum_table.h
-@@ -8,6 +8,7 @@
- #include <cstdint>
- #include <cstring>
- #include <ostream>
-+#include <vector>
-
- #include "base/check_op.h"
- #include "base/notreached.h"
-@@ -187,7 +188,6 @@ class
- inline constexpr GenericEnumTableEntry(int32_t value);
- inline constexpr GenericEnumTableEntry(int32_t value, base::StringPiece str);
-
-- GenericEnumTableEntry(const GenericEnumTableEntry&) = delete;
- GenericEnumTableEntry& operator=(const GenericEnumTableEntry&) = delete;
-
- private:
-@@ -253,7 +253,6 @@ class EnumTable {
- constexpr Entry(E value, base::StringPiece str)
- : GenericEnumTableEntry(static_cast<int32_t>(value), str) {}
-
-- Entry(const Entry&) = delete;
- Entry& operator=(const Entry&) = delete;
- };
-
-@@ -312,15 +311,14 @@ class EnumTable {
- if (is_sorted_) {
- const std::size_t index = static_cast<std::size_t>(value);
- if (ANALYZER_ASSUME_TRUE(index < data_.size())) {
-- const auto& entry = data_.begin()[index];
-+ const auto& entry = data_[index];
- if (ANALYZER_ASSUME_TRUE(entry.has_str()))
- return entry.str();
- }
- return absl::nullopt;
- }
- return GenericEnumTableEntry::FindByValue(
-- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
-- data_.size(), static_cast<int32_t>(value));
-+ &data_[0], data_.size(), static_cast<int32_t>(value));
- }
-
- // This overload of GetString is designed for cases where the argument is a
-@@ -348,8 +346,7 @@ class EnumTable {
- // enum value directly.
- absl::optional<E> GetEnum(base::StringPiece str) const {
- auto* entry = GenericEnumTableEntry::FindByString(
-- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
-- data_.size(), str);
-+ &data_[0], data_.size(), str);
- return entry ? static_cast<E>(entry->value) : absl::optional<E>();
- }
-
-@@ -364,7 +361,7 @@ class EnumTable {
- // Align the data on a cache line boundary.
- alignas(64)
- #endif
-- std::initializer_list<Entry> data_;
-+ const std::vector<Entry> data_;
- bool is_sorted_;
-
- constexpr EnumTable(std::initializer_list<Entry> data, bool is_sorted)
-@@ -376,8 +373,8 @@ class EnumTable {
-
- for (std::size_t i = 0; i < data.size(); i++) {
- for (std::size_t j = i + 1; j < data.size(); j++) {
-- const Entry& ei = data.begin()[i];
-- const Entry& ej = data.begin()[j];
-+ const Entry& ei = data[i];
-+ const Entry& ej = data[j];
- DCHECK(ei.value != ej.value)
- << "Found duplicate enum values at indices " << i << " and " << j;
- DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str()))
diff --git a/www-client/chromium/files/chromium-119-minizip-cast.patch b/www-client/chromium/files/chromium-119-minizip-cast.patch
deleted file mode 100644
index 0d03e8e..0000000
--- a/www-client/chromium/files/chromium-119-minizip-cast.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-clang-16 does not get the types for an aggregate right and fails with narrowing error
---- a/third_party/zlib/google/zip_internal.cc
-+++ b/third_party/zlib/google/zip_internal.cc
-@@ -260,13 +260,12 @@ zip_fileinfo TimeToZipFileInfo(const base::Time& file_time) {
- // It assumes that dates below 1980 are in the double digit format.
- // Hence the fail safe option is to leave the date unset. Some programs
- // might show the unset date as 1980-0-0 which is invalid.
-- zip_info.tmz_date = {
-- .tm_sec = static_cast<uInt>(file_time_parts.second),
-- .tm_min = static_cast<uInt>(file_time_parts.minute),
-- .tm_hour = static_cast<uInt>(file_time_parts.hour),
-- .tm_mday = static_cast<uInt>(file_time_parts.day_of_month),
-- .tm_mon = static_cast<uInt>(file_time_parts.month - 1),
-- .tm_year = static_cast<uInt>(file_time_parts.year)};
-+ zip_info.tmz_date.tm_sec = static_cast<uInt>(file_time_parts.second);
-+ zip_info.tmz_date.tm_min = static_cast<uInt>(file_time_parts.minute);
-+ zip_info.tmz_date.tm_hour = static_cast<uInt>(file_time_parts.hour);
-+ zip_info.tmz_date.tm_mday = static_cast<uInt>(file_time_parts.day_of_month);
-+ zip_info.tmz_date.tm_mon = static_cast<uInt>(file_time_parts.month - 1);
-+ zip_info.tmz_date.tm_year = static_cast<uInt>(file_time_parts.year);
- }
-
- return zip_info;
diff --git a/www-client/chromium/files/chromium-119.0.6045.159-icu-74.patch b/www-client/chromium/files/chromium-119.0.6045.159-icu-74.patch
deleted file mode 100644
index efb8fb1..0000000
--- a/www-client/chromium/files/chromium-119.0.6045.159-icu-74.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-https://bugs.gentoo.org/917645
-(copied patch from qtwebengine:6 - https://bugs.gentoo.org/917633)
-
-Quick fix for a static_assert failure with icu74. Still waiting
-for a proper upstream fix and unknown if entirely right, but is
-an extension of [1] (is now 48 rather than 43).
-
-[1] https://crrev.com/e60b571faa3f14dd9119a6792dccf12f8bf80192
---- a/third_party/blink/renderer/platform/text/text_break_iterator.cc
-+++ b/third_party/blink/renderer/platform/text/text_break_iterator.cc
-@@ -161,7 +161,9 @@ static const unsigned char kAsciiLineBreakTable[][(kAsciiLineBreakTableLastChar
- };
- // clang-format on
-
--#if U_ICU_VERSION_MAJOR_NUM >= 58
-+#if U_ICU_VERSION_MAJOR_NUM >= 74
-+#define BA_LB_COUNT (U_LB_COUNT - 8)
-+#elif U_ICU_VERSION_MAJOR_NUM >= 58
- #define BA_LB_COUNT (U_LB_COUNT - 3)
- #else
- #define BA_LB_COUNT U_LB_COUNT
diff --git a/www-client/chromium/files/chromium-93-InkDropHost-crash.patch b/www-client/chromium/files/chromium-93-InkDropHost-crash.patch
deleted file mode 100644
index 54d16db..0000000
--- a/www-client/chromium/files/chromium-93-InkDropHost-crash.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/ui/views/animation/ink_drop_host_view.h b/ui/views/animation/ink_drop_host_view.h
-index bd0975b..e5df288 100644
---- a/ui/views/animation/ink_drop_host_view.h
-+++ b/ui/views/animation/ink_drop_host_view.h
-@@ -238,6 +238,11 @@ class VIEWS_EXPORT InkDropHost {
- // Used to observe View and inform the InkDrop of host-transform changes.
- ViewLayerTransformObserver host_view_transform_observer_;
-
-+ // Declared before |ink_drop_|, because InkDropImpl may call
-+ // RemoveInkDropLayer on partly destructed InkDropHost. In
-+ // that case |ink_drop_mask_| must be still valid.
-+ std::unique_ptr<views::InkDropMask> ink_drop_mask_;
-+
- // Should not be accessed directly. Use GetInkDrop() instead.
- std::unique_ptr<InkDrop> ink_drop_;
-
-@@ -261,8 +266,6 @@ class VIEWS_EXPORT InkDropHost {
- int ink_drop_small_corner_radius_ = 2;
- int ink_drop_large_corner_radius_ = 4;
-
-- std::unique_ptr<views::InkDropMask> ink_drop_mask_;
--
- base::RepeatingCallback<std::unique_ptr<InkDrop>()> create_ink_drop_callback_;
- base::RepeatingCallback<std::unique_ptr<InkDropRipple>()>
- create_ink_drop_ripple_callback_;
diff --git a/www-client/chromium/files/chromium-96-EnumTable-crash.patch b/www-client/chromium/files/chromium-96-EnumTable-crash.patch
deleted file mode 100644
index 9736739..0000000
--- a/www-client/chromium/files/chromium-96-EnumTable-crash.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-diff --git a/components/cast_channel/enum_table.h b/components/cast_channel/enum_table.h
-index aad9e08..2f3fcad 100644
---- a/components/cast_channel/enum_table.h
-+++ b/components/cast_channel/enum_table.h
-@@ -8,6 +8,7 @@
- #include <cstdint>
- #include <cstring>
- #include <ostream>
-+#include <vector>
-
- #include "base/check_op.h"
- #include "base/macros.h"
-@@ -188,7 +189,6 @@ class
- inline constexpr GenericEnumTableEntry(int32_t value);
- inline constexpr GenericEnumTableEntry(int32_t value, base::StringPiece str);
-
-- GenericEnumTableEntry(const GenericEnumTableEntry&) = delete;
- GenericEnumTableEntry& operator=(const GenericEnumTableEntry&) = delete;
-
- private:
-@@ -254,7 +254,6 @@ class EnumTable {
- constexpr Entry(E value, base::StringPiece str)
- : GenericEnumTableEntry(static_cast<int32_t>(value), str) {}
-
-- Entry(const Entry&) = delete;
- Entry& operator=(const Entry&) = delete;
- };
-
-@@ -313,15 +312,14 @@ class EnumTable {
- if (is_sorted_) {
- const std::size_t index = static_cast<std::size_t>(value);
- if (ANALYZER_ASSUME_TRUE(index < data_.size())) {
-- const auto& entry = data_.begin()[index];
-+ const auto& entry = data_[index];
- if (ANALYZER_ASSUME_TRUE(entry.has_str()))
- return entry.str();
- }
- return absl::nullopt;
- }
- return GenericEnumTableEntry::FindByValue(
-- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
-- data_.size(), static_cast<int32_t>(value));
-+ &data_[0], data_.size(), static_cast<int32_t>(value));
- }
-
- // This overload of GetString is designed for cases where the argument is a
-@@ -349,8 +347,7 @@ class EnumTable {
- // enum value directly.
- absl::optional<E> GetEnum(base::StringPiece str) const {
- auto* entry = GenericEnumTableEntry::FindByString(
-- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
-- data_.size(), str);
-+ &data_[0], data_.size(), str);
- return entry ? static_cast<E>(entry->value) : absl::optional<E>();
- }
-
-@@ -365,7 +362,7 @@ class EnumTable {
- // Align the data on a cache line boundary.
- alignas(64)
- #endif
-- std::initializer_list<Entry> data_;
-+ const std::vector<Entry> data_;
- bool is_sorted_;
-
- constexpr EnumTable(std::initializer_list<Entry> data, bool is_sorted)
-@@ -377,8 +374,8 @@ class EnumTable {
-
- for (std::size_t i = 0; i < data.size(); i++) {
- for (std::size_t j = i + 1; j < data.size(); j++) {
-- const Entry& ei = data.begin()[i];
-- const Entry& ej = data.begin()[j];
-+ const Entry& ei = data[i];
-+ const Entry& ej = data[j];
- DCHECK(ei.value != ej.value)
- << "Found duplicate enum values at indices " << i << " and " << j;
- DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str()))
diff --git a/www-client/chromium/files/chromium-96-freetype-unbundle.patch b/www-client/chromium/files/chromium-96-freetype-unbundle.patch
deleted file mode 100644
index 6ef5ff6..0000000
--- a/www-client/chromium/files/chromium-96-freetype-unbundle.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/build/linux/BUILD.gn
-+++ b/build/linux/BUILD.gn
-@@ -23,6 +23,7 @@
- # the system, use with caution,for details see build/config/freetype/BUILD.gn.
- pkg_config("freetype_from_pkgconfig") {
- visibility = [
-+ "//build/config/freetype:freetype",
- "//third_party:freetype_harfbuzz",
- "//third_party/harfbuzz-ng:harfbuzz_source",
- ]
diff --git a/www-client/chromium/files/chromium-98-EnumTable-crash.patch b/www-client/chromium/files/chromium-98-EnumTable-crash.patch
deleted file mode 100644
index f058ec1..0000000
--- a/www-client/chromium/files/chromium-98-EnumTable-crash.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-diff --git a/components/cast_channel/enum_table.h b/components/cast_channel/enum_table.h
-index 842553a..89de703 100644
---- a/components/cast_channel/enum_table.h
-+++ b/components/cast_channel/enum_table.h
-@@ -8,6 +8,7 @@
- #include <cstdint>
- #include <cstring>
- #include <ostream>
-+#include <vector>
-
- #include "base/check_op.h"
- #include "base/notreached.h"
-@@ -187,7 +188,6 @@ class
- inline constexpr GenericEnumTableEntry(int32_t value);
- inline constexpr GenericEnumTableEntry(int32_t value, base::StringPiece str);
-
-- GenericEnumTableEntry(const GenericEnumTableEntry&) = delete;
- GenericEnumTableEntry& operator=(const GenericEnumTableEntry&) = delete;
-
- private:
-@@ -253,7 +253,6 @@ class EnumTable {
- constexpr Entry(E value, base::StringPiece str)
- : GenericEnumTableEntry(static_cast<int32_t>(value), str) {}
-
-- Entry(const Entry&) = delete;
- Entry& operator=(const Entry&) = delete;
- };
-
-@@ -312,15 +311,14 @@ class EnumTable {
- if (is_sorted_) {
- const std::size_t index = static_cast<std::size_t>(value);
- if (ANALYZER_ASSUME_TRUE(index < data_.size())) {
-- const auto& entry = data_.begin()[index];
-+ const auto& entry = data_[index];
- if (ANALYZER_ASSUME_TRUE(entry.has_str()))
- return entry.str();
- }
- return absl::nullopt;
- }
- return GenericEnumTableEntry::FindByValue(
-- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
-- data_.size(), static_cast<int32_t>(value));
-+ &data_[0], data_.size(), static_cast<int32_t>(value));
- }
-
- // This overload of GetString is designed for cases where the argument is a
-@@ -348,8 +346,7 @@ class EnumTable {
- // enum value directly.
- absl::optional<E> GetEnum(base::StringPiece str) const {
- auto* entry = GenericEnumTableEntry::FindByString(
-- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
-- data_.size(), str);
-+ &data_[0], data_.size(), str);
- return entry ? static_cast<E>(entry->value) : absl::optional<E>();
- }
-
-@@ -364,7 +361,7 @@ class EnumTable {
- // Align the data on a cache line boundary.
- alignas(64)
- #endif
-- std::initializer_list<Entry> data_;
-+ const std::vector<Entry> data_;
- bool is_sorted_;
-
- constexpr EnumTable(std::initializer_list<Entry> data, bool is_sorted)
-@@ -376,8 +373,8 @@ class EnumTable {
-
- for (std::size_t i = 0; i < data.size(); i++) {
- for (std::size_t j = i + 1; j < data.size(); j++) {
-- const Entry& ei = data.begin()[i];
-- const Entry& ej = data.begin()[j];
-+ const Entry& ei = data[i];
-+ const Entry& ej = data[j];
- DCHECK(ei.value != ej.value)
- << "Found duplicate enum values at indices " << i << " and " << j;
- DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str()))
diff --git a/www-client/chromium/files/chromium-98-system-libdrm.patch b/www-client/chromium/files/chromium-98-system-libdrm.patch
deleted file mode 100644
index f2f18be..0000000
--- a/www-client/chromium/files/chromium-98-system-libdrm.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-diff --git a/media/gpu/chromeos/BUILD.gn b/media/gpu/chromeos/BUILD.gn
-index a5c8945..d742d80 100644
---- a/media/gpu/chromeos/BUILD.gn
-+++ b/media/gpu/chromeos/BUILD.gn
-@@ -32,6 +32,7 @@ source_set("chromeos") {
-
- if (use_vaapi) {
- deps += [
-+ "//build/config/linux/libdrm",
- "//media/gpu/vaapi",
- "//media/gpu/vaapi:common",
- ]
-diff --git a/media/gpu/chromeos/video_decoder_pipeline.cc b/media/gpu/chromeos/video_decoder_pipeline.cc
-index 2d77cd9..1883fd4 100644
---- a/media/gpu/chromeos/video_decoder_pipeline.cc
-+++ b/media/gpu/chromeos/video_decoder_pipeline.cc
-@@ -4,6 +4,9 @@
-
- #include "media/gpu/chromeos/video_decoder_pipeline.h"
-
-+#if BUILDFLAG(USE_VAAPI)
-+#include <drm_fourcc.h>
-+#endif
- #include <memory>
-
- #include "base/bind.h"
-@@ -28,7 +31,6 @@
-
- #if BUILDFLAG(USE_VAAPI)
- #include "media/gpu/vaapi/vaapi_video_decoder.h"
--#include "third_party/libdrm/src/include/drm/drm_fourcc.h"
- #elif BUILDFLAG(USE_V4L2_CODEC)
- #include "media/gpu/v4l2/v4l2_video_decoder.h"
- #else
diff --git a/www-client/chromium/files/chromium-glibc-2.34.patch b/www-client/chromium/files/chromium-glibc-2.34.patch
deleted file mode 100644
index 64c03a6..0000000
--- a/www-client/chromium/files/chromium-glibc-2.34.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 600d63c2c59a9892dbc5423d7d8bb1565a9f91e7 Mon Sep 17 00:00:00 2001
-From: Michel Salim <michel@fb.com>
-Date: Thu, 04 Nov 2021 14:22:40 -0700
-Subject: [PATCH] Handle long SIGSTKSZ in glibc > 2.33
-
-`SIGSTKSZ` is no longer constant in glibc > 2.33 but a function
-returning a long. Cast before taking `max`.
-
-See https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;h=85e84fe53699fe9e392edffa993612ce08b2954a;hb=HEAD
-
-Signed-off-by: Michel Salim <michel@fb.com>
-Change-Id: I197f8ff3053eede80d6aed096be4f0113dd43241
-(relocated to chromium repo, removed static)
----
-
-diff --git a/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc b/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
-index ca353c4..5cdabcf 100644
---- a/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
-+++ b/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
-@@ -138,7 +138,7 @@
- // SIGSTKSZ may be too small to prevent the signal handlers from overrunning
- // the alternative stack. Ensure that the size of the alternative stack is
- // large enough.
-- static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
-+ const unsigned kSigStackSize = std::max(16384U, (unsigned)SIGSTKSZ);
-
- // Only set an alternative stack if there isn't already one, or if the current
- // one is too small.
-diff --git a/sandbox/linux/services/credentials.cc b/sandbox/linux/services/credentials.cc
-index ca6b595..1c1ee42 100644
---- a/sandbox/linux/services/credentials.cc
-+++ b/sandbox/linux/services/credentials.cc
-@@ -11,6 +11,7 @@
- #include <stddef.h>
- #include <stdint.h>
- #include <stdio.h>
-+#include <string.h>
- #include <sys/syscall.h>
- #include <sys/types.h>
- #include <sys/wait.h>
-@@ -100,7 +101,8 @@ bool ChrootToSafeEmptyDir() {
- // TODO(crbug.com/1247458) Broken in MSan builds after LLVM f1bb30a4956f.
- clone_flags |= CLONE_VM | CLONE_VFORK | CLONE_SETTLS;
-
-- char tls_buf[PTHREAD_STACK_MIN] = {0};
-+ char tls_buf[PTHREAD_STACK_MIN];
-+ memset(tls_buf, 0, PTHREAD_STACK_MIN);
- tls = tls_buf;
- #endif
-
diff --git a/www-client/chromium/files/chromium-shim_headers.patch b/www-client/chromium/files/chromium-shim_headers.patch
deleted file mode 100644
index 9372632..0000000
--- a/www-client/chromium/files/chromium-shim_headers.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From e273172bbafedca36984fc40f4aa6c44b79ac2ef Mon Sep 17 00:00:00 2001
-From: Stephan Hartmann <stha09@googlemail.com>
-Date: Fri, 25 Dec 2020 09:10:32 +0000
-Subject: [PATCH] shim_headers: fix outputs generation
-
----
- build/shim_headers.gni | 11 +++++++----
- 1 file changed, 7 insertions(+), 4 deletions(-)
-
-diff --git a/build/shim_headers.gni b/build/shim_headers.gni
-index 0900cba..5138647 100644
---- a/build/shim_headers.gni
-+++ b/build/shim_headers.gni
-@@ -6,6 +6,8 @@ template("shim_headers") {
- action_name = "gen_${target_name}"
- config_name = "${target_name}_config"
- shim_headers_path = "${root_gen_dir}/shim_headers/${target_name}"
-+ shim_root_path = rebase_path(invoker.root_path)
-+ shim_rel_path = rebase_path("${shim_root_path}", rebase_path("//"))
-
- config(config_name) {
- include_dirs = [ shim_headers_path ]
-@@ -16,7 +18,7 @@ template("shim_headers") {
- args = [
- "--generate",
- "--headers-root",
-- rebase_path(invoker.root_path),
-+ "${shim_root_path}",
- "--output-directory",
- rebase_path(shim_headers_path),
- ]
-@@ -27,9 +29,10 @@ template("shim_headers") {
- ]
- }
- args += invoker.headers
--
-- outputs = process_file_template(invoker.headers,
-- "${shim_headers_path}/{{source_file_part}}")
-+ outputs = []
-+ foreach(shim_header, invoker.headers) {
-+ outputs += [ "${shim_headers_path}/${shim_rel_path}/" + shim_header ]
-+ }
- }
-
- group(target_name) {
---
-2.26.2
-
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] proj/riscv:master commit in: www-client/chromium/files/, www-client/chromium/
@ 2024-06-25 23:55 Yixun Lan
0 siblings, 0 replies; 7+ messages in thread
From: Yixun Lan @ 2024-06-25 23:55 UTC (permalink / raw
To: gentoo-commits
commit: a7dfb559023514cba7e10f1808086cfef85a8288
Author: Andrew Cameron <apcameron <AT> gmail <DOT> com>
AuthorDate: Fri Jun 14 12:58:30 2024 +0000
Commit: Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Tue Jun 25 23:55:10 2024 +0000
URL: https://gitweb.gentoo.org/proj/riscv.git/commit/?id=a7dfb559
Update Chromium to 126.0.6478.114
Tested on my Visonfive 2
Closes: https://github.com/gentoo/riscv/pull/15
Signed-off-by: Andrew Cameron <apcameron <AT> gmail.com>
Signed-off-by: Yixun Lan <dlan <AT> gentoo.org>
www-client/chromium/Manifest | 12 +-
www-client/chromium/chromium-123.0.6312.105.ebuild | 1453 --------------------
...2.122.ebuild => chromium-126.0.6478.114.ebuild} | 68 +-
...linking.patch => Debian-fix-rust-linking.patch} | 0
.../chromium/files/chromium-125-ninja-1-12.patch | 17 +
.../chromium-125-oauth2-client-switches.patch | 45 +
.../chromium/files/chromium-125-system-zstd.patch | 53 +
.../chromium-126-oauth2-client-switches.patch | 45 +
.../files/{10cpuinfo.patch => cpuinfo.patch} | 0
...fix-rust-target.patch => fix-rust-target.patch} | 0
.../{03riscv-dav1d.patch => riscv-dav1d.patch} | 0
.../{06riscv-ffmpeg.patch => riscv-ffmpeg.patch} | 569 +++-----
.../{05riscv-sandbox.patch => riscv-sandbox.patch} | 451 ++++--
.../chromium/files/{09riscv.patch => riscv.patch} | 0
...ler.patch => swiftshader-MCDissassembler.patch} | 0
...e-llvm16.patch => swiftshader-use-llvm16.patch} | 0
16 files changed, 744 insertions(+), 1969 deletions(-)
diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index 3786d14..726d054 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -1,9 +1,7 @@
-DIST chromium-123-clang.tar.xz 50178332 BLAKE2B 4b5c4f81a83c7b0c809c93a713e869fde6fe559477665cb3b2f03c62d2175f821b81fb03b0ddd127c6eaf77c41011b4de06561f09a58384153d80fe2b3aa7427 SHA512 17108b9579f16d0da383bd5e41d012f94bcb8445a517ff823aa49b66d3861b0a124b6cce6183fbc64e8050f1ebcd65a9daa2acbda5fdaa42390bfbf4ecb16bd3
-DIST chromium-123-rust.tar.xz 145295100 BLAKE2B ae6603a0e0218e4e39d3e8b7aa48a2cd946c90779dac48be26582926963c8a10a48e3e58fd00a23cb8cd9a3584d9d4a142e843f93c761e862253817635f18c2c SHA512 b4f8dce6d74be4be495d9948d7593ec9664c0b93e87456fab33d3ae5ac0e486a4e8576b26a9ab9890285a7c0d566afb803b98225c0692b6cac9f623a10b954a2
-DIST chromium-123.0.6312.105.tar.xz 3481204616 BLAKE2B 8adbc4a0c96ea53b45b26a48c8eb94e29b31b981471a0d5fda4cdea1f7aa69714a9e5a5729a61a49a92b6322889ee794b4c7ac5e243bc495ff5bd04cdc59f616 SHA512 a1abbba78c96fd7bc44a23b21d8180ebff015d17abcb186dece595513fda9d4443ac67498a78181589884c384a48e6c3abfe72e6ee806fdfc764d05f13fb5cb6
-DIST chromium-123.0.6312.122.tar.xz 3488275388 BLAKE2B 9f7e6c4984a41dbed6849eee08d4f6b8241c86ece0250d67786038980f3d7f208897f42b279c20ffbb965e8e49427ce74e896c34b40390321780b9cc2ba685ce SHA512 23e13d1d5758aa771f4c66e1a55068438e7c4890456dcb0b7a1fc1839b750e612e29d59e744c8b773935757aad01b78a5fecc3e03057a8acbb7e997dbb98f007
-DIST chromium-patches-123.tar.bz2 4697 BLAKE2B 8a7dd76edb23afb7b2f65084696bce5d6e54d63ca34c4590052db1086ed0a422b1efde863c4daad4e2526f329eb65276b9ad5406017cd97fb75b1a9556c1f933 SHA512 ea47255deac1893896f64496629d34c7092f266a175b8400fcf4f01b9d038ae240e911bff488558bb28e6f5795bbcf276adf20ed1e0ccb8ac99f9ddd260742f9
+DIST chromium-126-clang.tar.xz 50615992 BLAKE2B 293709399ddf343ba195cec452974178228ebb72921931ad58136351956b881f8dc0bc8ca740252bcd4971701c9ee8ccc0a33648aee25a5b1cece56e0af6b83f SHA512 7bb2938b1df452585d0ee93da3bcf9c3e64e88e39059a713fe21758df670190b12ca002ef2764dc99efdb4284b4c4b7cde861e2e495d99956c21120a51b8c3dc
+DIST chromium-126-rust.tar.xz 150643432 BLAKE2B d9c827008a2fae07977628beccdf3cf4e5d9bf3c9728e4b2839c8bc86ee2f87844921064e30c067a1b620a3d53cbf54a74053172b1436239332fc668f772924d SHA512 431c0305a81e59da231d56f1b119226b661d7f5a93d0da92afbfc384b0e5be28f282c2911137983298a5369c93b60184d41875ec63b47048a782ee2b1301fc77
+DIST chromium-126.0.6478.114.tar.xz 4167281776 BLAKE2B 4ca720b0280dc6f0aafb5da5d31f97d8d55faec9ac187fc7f3e16e447d147a6912b2b8f26247503390755146e42b32458e4c71a80e6a132cc456f414454ecf53 SHA512 49ca506eb7ac52cdfb5b491bff10deec46d62686feeb3392803eecd61a570ce6c9e6c97d61c79907aaaee39b6d32a4da399c92b8078dbdf2df097f37c757d286
+DIST chromium-patches-126.tar.bz2 4538 BLAKE2B c1f224015618ec908ef09d0c04a2243923371e2caeccd60d93747599fd1434b284291a5b4326008db21749cf78827d5a4b50d22fc805dcd3c1fd86303dc82729 SHA512 6692075adac0379b5f27d1023de1a051cf7f7f7138efd32dfc3af0d501b714142a16daf18022bb46d92218587f364f4dafe9f4aea24f6826e88b0e7cc2be7d0b
DIST chromium-ppc64le-gentoo-patches-1.tar.xz 5636 BLAKE2B 1d898939df023c59285b27bee552470483ea06375d1ee8d6947b89c5927c23cc7bfec6b49f3b376ece931d11a56f8e2a45791e0f92ad61974fc8c34c1082d89c SHA512 8a71cb007e47cda8e5fe5d185729389e65c48bd322c8ee8b3986bee8571427b959628f2666bda646a3f89ae64197c0957d3626845ff03461dbd5dee4c964d07c
DIST chromium-profiler-0.2.tar 259952640 BLAKE2B 5e82389fce00b267280d633b26551231c558b80f0c92cd7d60271095a3503365ab673e7a46dc5f74f8a82db1f21262cb24dcc0531d954bab5fb3b175dab3394d SHA512 9fa89a5ab728419683e7495ae676567480987d68a2d589f2aa97bfcbcf123f3c8f97f8bca5f65e5e3f6e41475535add473ded83b9c7a33bb4746a9d05b298a6c
-DIST chromium_123.0.6312.105-1raptor0~deb12u1.debian.tar.xz 579484 BLAKE2B 587082358377f7bc0dca0dec83772abb7e040ad894ca4d456a294b7f5c19297acbc5b1dac725d3c1dbaaeefd480328c6c06c607438e560aa6359c1e98c4b1c9c SHA512 6b670a139e284cc96da65ff3c1b3e715cd9b436de2404792d619cfad23e2040fd931e7cc49f0b1ac17e11522804a4c9a621cb943e0dab33fb5bf422e954c5421
-DIST chromium_123.0.6312.86-1raptor0~deb12u1.debian.tar.xz 579124 BLAKE2B a27996211fbed198480e50934e39b0eda4c39e5e78a03f9b290cb90a6c8d7003b6aa828bf35e6744e9d7aa9a922f43baa77d6c9768140baf5749a797c2dad664 SHA512 cfb51fd910f3330100a2dc9ea993d537f126329ff2c590744954a3bfbb712d7bf1d7ad9066628aba5d28c98f2f9b069cf02f8c6048d2ad0a1a376468bdbd9196
+DIST chromium_126.0.6478.56-1raptor0~deb12u2.debian.tar.xz 613448 BLAKE2B 35af65461a5132ac7a28e004f3b8a5e1afc10924726154dd47a23371ebe5508765e0bfd3c1b1d56ff5671039b522536fa21ec22dcb9f14426929a5905976e8a0 SHA512 870b864620e48e6aefa2b36026553b06dde0afc8e8de6cbaf0e4db2333d02164a95fa5f243066e026aa3dff4b3a7366853f49c02f607dec36cec77e4b4683736
diff --git a/www-client/chromium/chromium-123.0.6312.105.ebuild b/www-client/chromium/chromium-123.0.6312.105.ebuild
deleted file mode 100644
index 5388d0d..0000000
--- a/www-client/chromium/chromium-123.0.6312.105.ebuild
+++ /dev/null
@@ -1,1453 +0,0 @@
-# Copyright 2009-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{11..12} )
-PYTHON_REQ_USE="xml(+)"
-
-# PACKAGING NOTES
-
-# Google roll their bundled Clang every two weeks, and the bundled Rust
-# is rolled regularly and depends on that. While we do our best to build
-# with system Clang, we will eventually hit the point where we need to use
-# the bundled Clang due to the use of prerelease features. We've been lucky
-# enough so far that this hasn't been an issue.
-
-# We try and avoid forcing the use of the custom/bundled libcxx, but sometimes
-# it is unavoidable. Remember to force the use of Clang when this is forced.
-
-# GCC is _not_ supported upstream, though patches are welcome. We do our
-# best to enable builds with GCC but reserve the right to force Clang
-# builds if we can't keep up with upstream's changes. Please comment
-# when forcing Clang builds so we can track the need for it.
-
-# GN is bundled with Chromium, but we always use the system version. Remember to
-# check for upstream changes to GN and update ebuild (and version below) as required.
-
-# For binhost users, if USE=bindist is set, we configure Chromium in a way that it is able
-# to use proprietary codecs, and so that ffmpeg is an external component (libffmpeg.so),
-# then we remove ffmpeg from the image to ensure that the built package is distributable
-# (i.e. we don't owe royalties). A suitable libffmpeg.so is symlinked in its place;
-# as a result of this, ffmpeg[chromium] or ffmpeg-chromium must be installed on the system.
-
-# For non-binhost builds, we build the bundled ffmpeg and enable proprietary codecs because there's
-# no reason not to. Todo: Re-enable USE=system-ffmpeg.
-
-# These variables let us easily bound supported major dependency versions in one place.
-GCC_MIN_VER=12
-GN_MIN_VER=0.2154
-# Since Google use prerelease llvm we can let any adventurous users try to build with prerelease
-# ebuilds; try to keep this up to date with the latest version in the tree.
-LLVM_MAX_SLOT=19
-LLVM_MIN_SLOT=17
-RUST_MIN_VER=1.72.0
-# chromium-tools/get-chromium-toolchain-strings.sh
-GOOGLE_CLANG_VER=llvmorg-19-init-2319-g7c4c2746-1
-GOOGLE_RUST_VER=340bb19fea20fd5f9357bbfac542fad84fc7ea2b-3
-
-# https://bugs.chromium.org/p/v8/issues/detail?id=14449 - V8 used in 120 can't build with GCC
-# Resolved upstream, requires testing and some backporting I'm sure
-: ${CHROMIUM_FORCE_CLANG=yes}
-# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101227 - Chromium 120:
-# webrtc - no matching member function for call to 'emplace'
-: ${CHROMIUM_FORCE_LIBCXX=yes}
-# 121's 'gcc_link_wrapper.py' currently fails if not using lld due to the addition of rust
-: ${CHROMIUM_FORCE_LLD=yes}
-
-: ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN=no}
-
-VIRTUALX_REQUIRED="pgo"
-
-CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
- hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr
- sv sw ta te th tr uk ur vi zh-CN zh-TW"
-
-inherit check-reqs chromium-2 desktop flag-o-matic llvm ninja-utils pax-utils
-inherit python-any-r1 qmake-utils readme.gentoo-r1 toolchain-funcs virtualx xdg-utils
-
-DESCRIPTION="Open-source version of Google Chrome web browser"
-HOMEPAGE="https://www.chromium.org/"
-PATCHSET_PPC64="123.0.6312.86-1raptor0~deb12u1"
-PATCH_V="${PV%%\.*}"
-SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
- system-toolchain? (
- https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2
- )
- !system-toolchain? (
- https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-${GOOGLE_CLANG_VER}.tar.xz
- -> chromium-${PV%%\.*}-clang.tar.xz
- https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${GOOGLE_RUST_VER}-${GOOGLE_CLANG_VER%??}.tar.xz
- -> chromium-${PV%%\.*}-rust.tar.xz
- )
- ppc64? (
- https://quickbuild.io/~raptor-engineering-public/+archive/ubuntu/chromium/+files/chromium_${PATCHSET_PPC64}.debian.tar.xz
- https://deps.gentoo.zip/chromium-ppc64le-gentoo-patches-1.tar.xz
- )
- pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )"
-
-LICENSE="BSD"
-SLOT="0/stable"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
-IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd"
-IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos libcxx lto +official pax-kernel pgo +proprietary-codecs pulseaudio"
-IUSE+=" qt5 qt6 +screencast selinux +system-toolchain +vaapi +wayland +widevine"
-RESTRICT="!bindist? ( bindist )"
-
-REQUIRED_USE="
- !headless? ( || ( X wayland ) )
- pgo? ( X !wayland )
- qt6? ( qt5 )
- screencast? ( wayland )
- !system-toolchain? ( libcxx )
- ffmpeg-chromium? ( bindist proprietary-codecs )
-"
-
-COMMON_X_DEPEND="
- x11-libs/libXcomposite:=
- x11-libs/libXcursor:=
- x11-libs/libXdamage:=
- x11-libs/libXfixes:=
- >=x11-libs/libXi-1.6.0:=
- x11-libs/libXrandr:=
- x11-libs/libXrender:=
- x11-libs/libXtst:=
- x11-libs/libxshmfence:=
-"
-
-COMMON_SNAPSHOT_DEPEND="
- system-icu? ( >=dev-libs/icu-71.1:= )
- >=dev-libs/libxml2-2.12.4:=[icu]
- dev-libs/nspr:=
- >=dev-libs/nss-3.26:=
- dev-libs/libxslt:=
- media-libs/fontconfig:=
- >=media-libs/freetype-2.11.0-r1:=
- system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] )
- media-libs/libjpeg-turbo:=
- system-png? ( media-libs/libpng:=[-apng(-)] )
- system-zstd? ( >=app-arch/zstd-1.5.5:= )
- >=media-libs/libwebp-0.4.0:=
- media-libs/mesa:=[gbm(+)]
- >=media-libs/openh264-1.6.0:=
- sys-libs/zlib:=
- x11-libs/libdrm:=
- !headless? (
- dev-libs/glib:2
- >=media-libs/alsa-lib-1.0.19:=
- pulseaudio? ( media-libs/libpulse:= )
- sys-apps/pciutils:=
- kerberos? ( virtual/krb5 )
- vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] )
- X? (
- x11-libs/libX11:=
- x11-libs/libXext:=
- x11-libs/libxcb:=
- )
- x11-libs/libxkbcommon:=
- wayland? (
- dev-libs/libffi:=
- dev-libs/wayland:=
- screencast? ( media-video/pipewire:= )
- )
- )
-"
-
-COMMON_DEPEND="
- ${COMMON_SNAPSHOT_DEPEND}
- app-arch/bzip2:=
- dev-libs/expat:=
- net-misc/curl[ssl]
- sys-apps/dbus:=
- media-libs/flac:=
- sys-libs/zlib:=[minizip]
- !headless? (
- X? ( ${COMMON_X_DEPEND} )
- >=app-accessibility/at-spi2-core-2.46.0:2
- media-libs/mesa:=[X?,wayland?]
- cups? ( >=net-print/cups-1.3.11:= )
- virtual/udev
- x11-libs/cairo:=
- x11-libs/gdk-pixbuf:2
- x11-libs/pango:=
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtwidgets:5
- )
- qt6? ( dev-qt/qtbase:6[gui,widgets] )
- )
-"
-RDEPEND="${COMMON_DEPEND}
- !headless? (
- || (
- x11-libs/gtk+:3[X?,wayland?]
- gui-libs/gtk:4[X?,wayland?]
- )
- qt5? ( dev-qt/qtgui:5[X?,wayland?] )
- qt6? ( dev-qt/qtbase:6[X?,wayland?] )
- )
- virtual/ttf-fonts
- selinux? ( sec-policy/selinux-chromium )
- bindist? (
- !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] )
- ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} )
- )
-"
-DEPEND="${COMMON_DEPEND}
- !headless? (
- gtk4? ( gui-libs/gtk:4[X?,wayland?] )
- !gtk4? ( x11-libs/gtk+:3[X?,wayland?] )
- )
-"
-
-depend_clang_llvm_version() {
- echo "sys-devel/clang:$1"
- echo "sys-devel/llvm:$1"
- echo "=sys-devel/lld-$1*"
-}
-
-# When passed multiple arguments we assume that
-# we want a range of versions, inclusive.
-depend_clang_llvm_versions() {
- local _v
- if [[ $# -eq 1 ]]; then
- depend_clang_llvm_version "$1"
- elif [[ $# -eq 2 ]]; then
- if [[ $1 -eq $2 ]]; then
- depend_clang_llvm_version "$1"
- fi
- echo "|| ("
- for ((i=$1; i<=$2; i++)); do
- echo "("
- depend_clang_llvm_version "${i}"
- echo ")"
- done
- echo ")"
- else
- die "depend_clang_llvm_versions() requires 1 or 2 arguments"
- fi
-}
-
-BDEPEND="
- ${COMMON_SNAPSHOT_DEPEND}
- ${PYTHON_DEPS}
- $(python_gen_any_dep '
- dev-python/setuptools[${PYTHON_USEDEP}]
- ')
- >=app-arch/gzip-1.7
- !headless? (
- qt5? ( dev-qt/qtcore:5 )
- qt6? ( dev-qt/qtbase:6 )
- )
- system-toolchain? (
- libcxx? ( >=sys-devel/clang-${LLVM_MIN_SLOT} )
- lto? ( $(depend_clang_llvm_versions ${LLVM_MIN_SLOT} ${LLVM_MAX_SLOT}) )
- pgo? (
- >=dev-python/selenium-3.141.0
- >=dev-util/web_page_replay_go-20220314
- $(depend_clang_llvm_versions ${LLVM_MIN_SLOT} ${LLVM_MAX_SLOT})
- )
- >=virtual/rust-${RUST_MIN_VER}[profiler(-)]
- )
- >=dev-build/gn-${GN_MIN_VER}
- dev-lang/perl
- >=dev-build/ninja-1.7.2
- >=dev-util/gperf-3.0.3
- dev-vcs/git
- >=net-libs/nodejs-7.6.0[inspector]
- >=sys-devel/bison-2.4.3
- sys-devel/flex
- virtual/pkgconfig
-"
-
-if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then
- BDEPEND+="system-toolchain? ( >=sys-devel/clang-${LLVM_MIN_SLOT} ) "
-fi
-
-if [[ ${CHROMIUM_FORCE_LLD} == yes ]]; then
- BDEPEND+="system-toolchain? ( >=sys-devel/lld-${LLVM_MIN_SLOT} ) "
-else
- # #918897: Hack for arm64
- BDEPEND+=" arm64? ( >=sys-devel/lld-${LLVM_MIN_SLOT} )"
-fi
-
-if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
- EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
-fi
-
-DISABLE_AUTOFORMATTING="yes"
-DOC_CONTENTS="
-Some web pages may require additional fonts to display properly.
-Try installing some of the following packages if some characters
-are not displayed properly:
-- media-fonts/arphicfonts
-- media-fonts/droid
-- media-fonts/ipamonafont
-- media-fonts/noto
-- media-fonts/ja-ipafonts
-- media-fonts/takao-fonts
-- media-fonts/wqy-microhei
-- media-fonts/wqy-zenhei
-
-To fix broken icons on the Downloads page, you should install an icon
-theme that covers the appropriate MIME types, and configure this as your
-GTK+ icon theme.
-
-For native file dialogs in KDE, install kde-apps/kdialog.
-
-To make password storage work with your desktop environment you may
-have install one of the supported credentials management applications:
-- app-crypt/libsecret (GNOME)
-- kde-frameworks/kwallet (KDE)
-If you have one of above packages installed, but don't want to use
-them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS
-in /etc/chromium/default.
-"
-
-python_check_deps() {
- python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
-}
-
-needs_clang() {
- [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || use libcxx || use lto || use pgo
-}
-
-needs_lld() {
- # #641556: Force lld for lto and pgo builds, otherwise disable
- # #918897: Temporary hack w/ use arm64
- [[ ${CHROMIUM_FORCE_LLD} == yes ]] || use lto || use pgo || use arm64
-}
-
-llvm_check_deps() {
- if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
- einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
- return 1
- fi
-
- if ( use lto || use pgo ) && ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
- einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
- return 1
- fi
-
- einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
-}
-
-pre_build_checks() {
- # Check build requirements: bugs #471810, #541816, #914220
- # We're going to start doing maths here on the size of an unpacked source tarball,
- # this should make updates easier as chromium continues to balloon in size.
- local BASE_DISK=18
- local EXTRA_DISK=1
- local CHECKREQS_MEMORY="4G"
- tc-is-cross-compiler && EXTRA_DISK=2
- if use lto || use pgo; then
- CHECKREQS_MEMORY="9G"
- tc-is-cross-compiler && EXTRA_DISK=4
- use pgo && EXTRA_DISK=8
- fi
- if is-flagq '-g?(gdb)?([1-9])'; then
- if use custom-cflags; then
- EXTRA_DISK=13
- fi
- CHECKREQS_MEMORY="16G"
- fi
- CHECKREQS_DISK_BUILD="$((BASE_DISK + EXTRA_DISK))G"
- check-reqs_${EBUILD_PHASE_FUNC}
-}
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- # The pre_build_checks are all about compilation resources, no need to run it for a binpkg
- pre_build_checks
- fi
-
- if use headless; then
- local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "qt6" "vaapi" "wayland")
- for myiuse in ${headless_unused_flags[@]}; do
- use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set."
- done
- fi
-
- if ! use bindist && use ffmpeg-chromium; then
- ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set."
- fi
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- # The pre_build_checks are all about compilation resources, no need to run it for a binpkg
- pre_build_checks
-
- if use system-toolchain; then
- local -x CPP="$(tc-getCXX) -E"
- if tc-is-gcc && ! ver_test "$(gcc-version)" -ge ${GCC_MIN_VER}; then
- die "At least gcc ${GCC_MIN_VER} is required"
- fi
- if use pgo && tc-is-cross-compiler; then
- die "The pgo USE flag cannot be used when cross-compiling"
- fi
- if needs_clang && ! tc-is-clang; then
- if tc-is-cross-compiler; then
- CPP="${CBUILD}-clang++ -E"
- else
- CPP="${CHOST}-clang++ -E"
- fi
- fi
- if needs_clang || tc-is-clang; then
- if ver_test "$(clang-major-version)" -lt ${LLVM_MIN_SLOT}; then
- die "At least Clang ${LLVM_MIN_SLOT} is required"
- fi
- # Ideally we never see this, but it should help prevent bugs like 927154
- if ver_test "$(clang-major-version)" -gt ${LLVM_MAX_SLOT}; then
- die "Clang $(clang-major-version) is too new; ${LLVM_MAX_SLOT} is the highest supported version"
- fi
- fi
- fi
- # Users should never hit this, it's purely a development convenience
- if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then
- die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium"
- fi
- fi
-
- chromium_suid_sandbox_check_kernel_config
-}
-
-src_prepare() {
- # Calling this here supports resumption via FEATURES=keepwork
- python_setup
-
- # disable global media controls, crashes with libstdc++
- sed -i -e \
- "/\"GlobalMediaControlsCastStartStop\"/,+4{s/ENABLED/DISABLED/;}" \
- "chrome/browser/media/router/media_router_feature.cc" || die
-
- local PATCHES=(
- "${FILESDIR}/chromium-cross-compile.patch"
- "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch"
- "${FILESDIR}/chromium-109-system-zlib.patch"
- "${FILESDIR}/chromium-111-InkDropHost-crash.patch"
- "${FILESDIR}/chromium-117-system-zstd.patch"
- "${FILESDIR}/chromium-124-libwebp-shim-sharpyuv.patch"
- "${FILESDIR}/00swiftshader-MCDissassembler.patch"
- "${FILESDIR}/00swiftshader-use-llvm16.patch"
- "${FILESDIR}/01fix-rust-target.patch"
- "${FILESDIR}/02Debian-fix-rust-linking.patch"
- "${FILESDIR}/03riscv-dav1d.patch"
- "${FILESDIR}/05riscv-sandbox.patch"
- "${FILESDIR}/06riscv-ffmpeg.patch"
- "${FILESDIR}/09riscv.patch"
- "${FILESDIR}/10cpuinfo.patch"
- )
-
- if use system-toolchain; then
- # The patchset is really only required if we're using the system-toolchain
- PATCHES+=( "${WORKDIR}/chromium-patches-${PATCH_V}" )
- # We can't use the bundled compiler builtins
- sed -i -e \
- "/if (is_clang && toolchain_has_rust) {/,+2d" \
- build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins"
- else
- mkdir -p third_party/llvm-build/Release+Asserts || die "Failed to bundle llvm"
- ln -s "${WORKDIR}"/bin third_party/llvm-build/Release+Asserts/bin || die "Failed to symlink llvm bin"
- ln -s "${WORKDIR}"/lib third_party/llvm-build/Release+Asserts/lib || die "Failed to symlink llvm lib"
- echo "${GOOGLE_CLANG_VER}" > third_party/llvm-build/Release+Asserts/cr_build_revision || \
- die "Failed to set clang version"
- ln -s "${WORKDIR}"/rust-toolchain third_party/rust-toolchain || die "Failed to bundle rust"
- cp "${WORKDIR}"/rust-toolchain/VERSION \
- "${WORKDIR}"/rust-toolchain/INSTALLED_VERSION || die "Failed to set rust version"
- fi
-
- if use ppc64 ; then
- local p
- for p in $(grep -v "^#" "${WORKDIR}"/debian/patches/series | grep "^ppc64le" || die); do
- if [[ ! $p =~ "fix-breakpad-compile.patch" ]]; then
- eapply "${WORKDIR}/debian/patches/${p}"
- fi
- done
- PATCHES+=( "${WORKDIR}/ppc64le" )
- PATCHES+=( "${WORKDIR}/debian/patches/fixes/rust-clanglib.patch" )
- fi
-
- default
-
- mkdir -p third_party/node/linux/node-linux-x64/bin || die
- ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
-
- # adjust python interpreter version
- sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die
-
- local keeplibs=(
- base/third_party/cityhash
- base/third_party/double_conversion
- base/third_party/dynamic_annotations
- base/third_party/icu
- base/third_party/nspr
- base/third_party/superfasthash
- base/third_party/symbolize
- base/third_party/valgrind
- base/third_party/xdg_user_dirs
- buildtools/third_party/libc++
- buildtools/third_party/libc++abi
- chrome/third_party/mozilla_security_manager
- courgette/third_party
- net/third_party/mozilla_security_manager
- net/third_party/nss
- net/third_party/quic
- net/third_party/uri_template
- third_party/abseil-cpp
- third_party/angle
- third_party/angle/src/common/third_party/xxhash
- third_party/angle/src/third_party/ceval
- third_party/angle/src/third_party/libXNVCtrl
- third_party/angle/src/third_party/volk
- third_party/anonymous_tokens
- third_party/apple_apsl
- third_party/axe-core
- third_party/blink
- third_party/bidimapper
- third_party/boringssl
- third_party/boringssl/src/third_party/fiat
- third_party/breakpad
- third_party/breakpad/breakpad/src/third_party/curl
- third_party/brotli
- third_party/catapult
- third_party/catapult/common/py_vulcanize/third_party/rcssmin
- third_party/catapult/common/py_vulcanize/third_party/rjsmin
- third_party/catapult/third_party/beautifulsoup4-4.9.3
- third_party/catapult/third_party/html5lib-1.1
- third_party/catapult/third_party/polymer
- third_party/catapult/third_party/six
- third_party/catapult/tracing/third_party/d3
- third_party/catapult/tracing/third_party/gl-matrix
- third_party/catapult/tracing/third_party/jpeg-js
- third_party/catapult/tracing/third_party/jszip
- third_party/catapult/tracing/third_party/mannwhitneyu
- third_party/catapult/tracing/third_party/oboe
- third_party/catapult/tracing/third_party/pako
- third_party/ced
- third_party/cld_3
- third_party/closure_compiler
- third_party/content_analysis_sdk
- third_party/cpuinfo
- third_party/crashpad
- third_party/crashpad/crashpad/third_party/lss
- third_party/crashpad/crashpad/third_party/zlib
- third_party/crc32c
- third_party/cros_system_api
- third_party/d3
- third_party/dav1d
- third_party/dawn
- third_party/dawn/third_party/gn/webgpu-cts
- third_party/dawn/third_party/khronos
- third_party/depot_tools
- third_party/devscripts
- third_party/devtools-frontend
- third_party/devtools-frontend/src/front_end/third_party/acorn
- third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
- third_party/devtools-frontend/src/front_end/third_party/axe-core
- third_party/devtools-frontend/src/front_end/third_party/chromium
- third_party/devtools-frontend/src/front_end/third_party/codemirror
- third_party/devtools-frontend/src/front_end/third_party/csp_evaluator
- third_party/devtools-frontend/src/front_end/third_party/diff
- third_party/devtools-frontend/src/front_end/third_party/i18n
- third_party/devtools-frontend/src/front_end/third_party/intl-messageformat
- third_party/devtools-frontend/src/front_end/third_party/lighthouse
- third_party/devtools-frontend/src/front_end/third_party/lit
- third_party/devtools-frontend/src/front_end/third_party/lodash-isequal
- third_party/devtools-frontend/src/front_end/third_party/marked
- third_party/devtools-frontend/src/front_end/third_party/puppeteer
- third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt
- third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs
- third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data
- third_party/devtools-frontend/src/front_end/third_party/wasmparser
- third_party/devtools-frontend/src/test/unittests/front_end/third_party/i18n
- third_party/devtools-frontend/src/third_party
- third_party/distributed_point_functions
- third_party/dom_distiller_js
- third_party/eigen3
- third_party/emoji-segmenter
- third_party/farmhash
- third_party/fdlibm
- third_party/ffmpeg
- third_party/fft2d
- third_party/flatbuffers
- third_party/fp16
- third_party/freetype
- third_party/fusejs
- third_party/fxdiv
- third_party/highway
- third_party/liburlpattern
- third_party/libzip
- third_party/lit
- third_party/gemmlowp
- third_party/google_input_tools
- third_party/google_input_tools/third_party/closure_library
- third_party/google_input_tools/third_party/closure_library/third_party/closure
- third_party/googletest
- third_party/hunspell
- third_party/iccjpeg
- third_party/inspector_protocol
- third_party/ipcz
- third_party/jinja2
- third_party/jsoncpp
- third_party/jstemplate
- third_party/khronos
- third_party/leveldatabase
- third_party/libaddressinput
- third_party/libaom
- third_party/libaom/source/libaom/third_party/fastfeat
- third_party/libaom/source/libaom/third_party/SVT-AV1
- third_party/libaom/source/libaom/third_party/vector
- third_party/libaom/source/libaom/third_party/x86inc
- third_party/libavif
- third_party/libevent
- third_party/libgav1
- third_party/libjingle
- third_party/libphonenumber
- third_party/libsecret
- third_party/libsrtp
- third_party/libsync
- third_party/libudev
- third_party/libva_protected_content
- third_party/libvpx
- third_party/libvpx/source/libvpx/third_party/x86inc
- third_party/libwebm
- third_party/libx11
- third_party/libxcb-keysyms
- third_party/libxml/chromium
- third_party/libyuv
- third_party/lottie
- third_party/lss
- third_party/lzma_sdk
- third_party/mako
- third_party/maldoca
- third_party/maldoca/src/third_party/tensorflow_protos
- third_party/maldoca/src/third_party/zlibwrapper
- third_party/markupsafe
- third_party/material_color_utilities
- third_party/mesa
- third_party/metrics_proto
- third_party/minigbm
- third_party/modp_b64
- third_party/nasm
- third_party/nearby
- third_party/neon_2_sse
- third_party/node
- third_party/omnibox_proto
- third_party/one_euro_filter
- third_party/openscreen
- third_party/openscreen/src/third_party/
- third_party/openscreen/src/third_party/tinycbor/src/src
- third_party/opus
- third_party/ots
- third_party/pdfium
- third_party/pdfium/third_party/agg23
- third_party/pdfium/third_party/base
- third_party/pdfium/third_party/bigint
- third_party/pdfium/third_party/freetype
- third_party/pdfium/third_party/lcms
- third_party/pdfium/third_party/libopenjpeg
- third_party/pdfium/third_party/libtiff
- third_party/perfetto
- third_party/perfetto/protos/third_party/chromium
- third_party/pffft
- third_party/ply
- third_party/polymer
- third_party/private-join-and-compute
- third_party/private_membership
- third_party/protobuf
- third_party/pthreadpool
- third_party/puffin
- third_party/pyjson5
- third_party/pyyaml
- third_party/qcms
- third_party/re2
- third_party/rnnoise
- third_party/rust
- third_party/s2cellid
- third_party/securemessage
- third_party/selenium-atoms
- third_party/shell-encryption
- third_party/simplejson
- third_party/skia
- third_party/skia/include/third_party/vulkan
- third_party/skia/third_party/vulkan
- third_party/smhasher
- third_party/snappy
- third_party/sqlite
- third_party/swiftshader
- third_party/swiftshader/third_party/astc-encoder
- third_party/swiftshader/third_party/llvm-subzero
- third_party/swiftshader/third_party/marl
- third_party/swiftshader/third_party/subzero
- third_party/swiftshader/third_party/SPIRV-Headers/include/spirv
- third_party/swiftshader/third_party/SPIRV-Tools
- third_party/tensorflow_models
- third_party/tensorflow-text
- third_party/tflite
- third_party/tflite/src/third_party/eigen3
- third_party/tflite/src/third_party/fft2d
- third_party/tflite/src/third_party/xla/third_party/tsl
- third_party/ruy
- third_party/six
- third_party/ukey2
- third_party/unrar
- third_party/utf
- third_party/vulkan
- third_party/wayland
- third_party/webdriver
- third_party/webgpu-cts
- third_party/webrtc
- third_party/webrtc/common_audio/third_party/ooura
- third_party/webrtc/common_audio/third_party/spl_sqrt_floor
- third_party/webrtc/modules/third_party/fft
- third_party/webrtc/modules/third_party/g711
- third_party/webrtc/modules/third_party/g722
- third_party/webrtc/rtc_base/third_party/base64
- third_party/webrtc/rtc_base/third_party/sigslot
- third_party/widevine
- third_party/woff2
- third_party/wuffs
- third_party/x11proto
- third_party/xcbproto
- third_party/xnnpack
- third_party/zxcvbn-cpp
- third_party/zlib/google
- url/third_party/mozilla
- v8/src/third_party/siphash
- v8/src/third_party/valgrind
- v8/src/third_party/utf8-decoder
- v8/third_party/glibc
- v8/third_party/inspector_protocol
- v8/third_party/v8
-
- # gyp -> gn leftovers
- third_party/speech-dispatcher
- third_party/usb_ids
- third_party/xdg-utils
- )
-
- # USE=system-*
- if ! use system-harfbuzz; then
- keeplibs+=( third_party/harfbuzz-ng )
- fi
-
- if ! use system-icu; then
- keeplibs+=( third_party/icu )
- fi
-
- if ! use system-png; then
- keeplibs+=( third_party/libpng )
- fi
-
- if ! use system-zstd; then
- keeplibs+=( third_party/zstd )
- fi
-
- if use libcxx || [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
- keeplibs+=( third_party/libc++ )
- fi
-
- if ! use system-toolchain || [[ ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN} == yes ]]; then
- keeplibs+=( third_party/llvm )
- fi
-
- # Arch-specific
- if use arm64 || use ppc64 ; then
- keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 )
- fi
- if use riscv ; then
- keeplibs+=( third_party/swiftshader/third_party/llvm-16.0 )
- fi
- # we need to generate ppc64 stuff because upstream does not ship it yet
- # it has to be done before unbundling.
- if use ppc64; then
- pushd third_party/libvpx >/dev/null || die
- mkdir -p source/config/linux/ppc64 || die
- # requires git and clang, bug #832803
- # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh
- # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh
- # since we're not in a git repo
- sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \
- generate_gni.sh || die
- ./generate_gni.sh || die
- popd >/dev/null || die
-
- pushd third_party/ffmpeg >/dev/null || die
- cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die
- cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die
- popd >/dev/null || die
- fi
-
- einfo "Unbundling third-party libraries ..."
- # Remove most bundled libraries. Some are still needed.
- build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
-
- # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries
- mkdir -p buildtools/third_party/eu-strip/bin || die
- ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die
-}
-
-chromium_rust_version_check() {
- [[ ${MERGE_TYPE} == binary ]] && return
- local rustc_version=( $(eselect --brief rust show 2>/dev/null) )
- rustc_version=${rustc_version[0]#rust-bin-}
- rustc_version=${rustc_version#rust-}
-
- [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output"
-
- echo $rustc_version
-}
-
-chromium_configure() {
- # Calling this here supports resumption via FEATURES=keepwork
- python_setup
-
- local myconf_gn=""
-
- if use system-toolchain && [[ ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN} == no ]]; then
- # Make sure the build system will use the right tools, bug #340795.
- tc-export AR CC CXX NM
-
- if needs_clang && ! tc-is-clang; then
- # Force clang since gcc is either broken or build is using libcxx.
- if tc-is-cross-compiler; then
- CC="${CBUILD}-clang -target ${CHOST} --sysroot ${ESYSROOT}"
- CXX="${CBUILD}-clang++ -target ${CHOST} --sysroot ${ESYSROOT}"
- BUILD_CC=${CBUILD}-clang
- BUILD_CXX=${CBUILD}-clang++
- else
- CC=${CHOST}-clang
- CXX=${CHOST}-clang++
- fi
- strip-unsupported-flags
- fi
-
- if tc-is-clang; then
- myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
- else
- myconf_gn+=" is_clang=false"
- fi
-
- if needs_lld ; then
- # https://bugs.gentoo.org/918897#c32
- append-ldflags -Wl,--undefined-version
- myconf_gn+=" use_lld=true"
- else
- # This doesn't prevent lld from being used, but rather prevents gn from forcing it
- myconf_gn+=" use_lld=false"
- fi
-
- if use lto; then
- AR=llvm-ar
- NM=llvm-nm
- if tc-is-cross-compiler; then
- BUILD_AR=llvm-ar
- BUILD_NM=llvm-nm
- fi
- fi
-
- myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
-
- if tc-is-cross-compiler; then
- tc-export BUILD_{AR,CC,CXX,NM}
- myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
- myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
- myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\""
- myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\""
-
- # setup cups-config, build system only uses --libs option
- if use cups; then
- mkdir "${T}/cups-config" || die
- cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die
- export PATH="${PATH}:${T}/cups-config"
- fi
-
- # Don't inherit PKG_CONFIG_PATH from environment
- local -x PKG_CONFIG_PATH=
- else
- myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
- fi
-
- local rustc_ver
- rustc_ver=$(chromium_rust_version_check)
- if ver_test "${rustc_ver}" -lt "${RUST_MIN_VER}"; then
- eerror "Rust >=${RUST_MIN_VER} is required"
- eerror "Please run 'eselect rust' and select the correct rust version"
- die "Selected rust version is too old"
- else
- einfo "Using rust ${rustc_ver} to build"
- fi
- if [[ "$(eselect --brief rust show 2>/dev/null)" == *"bin"* ]]; then
- myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/opt/rust-bin-${rustc_ver}/\""
- else
- myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/usr/lib/rust/${rustc_ver}/\""
- fi
- myconf_gn+=" rustc_version=\"${rustc_ver}\""
- fi
-
- # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
- myconf_gn+=" is_debug=false"
-
- # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138.
- # DCHECK is fatal by default, make it configurable at runtime, #bug 807881.
- myconf_gn+=" dcheck_always_on=$(usex debug true false)"
- myconf_gn+=" dcheck_is_configurable=$(usex debug true false)"
-
- # Component build isn't generally intended for use by end users. It's mostly useful
- # for development and debugging.
- myconf_gn+=" is_component_build=false"
-
- # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
- myconf_gn+=" enable_nacl=false"
-
- # Use system-provided libraries.
- # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
- # TODO: use_system_hunspell (upstream changes needed).
- # TODO: use_system_protobuf (bug #525560).
- # TODO: use_system_sqlite (http://crbug.com/22208).
-
- # libevent: https://bugs.gentoo.org/593458
- local gn_system_libraries=(
- flac
- fontconfig
- freetype
- # Need harfbuzz_from_pkgconfig target
- #harfbuzz-ng
- libdrm
- libjpeg
- libwebp
- libxml
- libxslt
- openh264
- zlib
- )
- if use system-icu; then
- gn_system_libraries+=( icu )
- fi
- if use system-png; then
- gn_system_libraries+=( libpng )
- fi
- if use system-zstd; then
- gn_system_libraries+=( zstd )
- fi
-
- build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
-
- # See dependency logic in third_party/BUILD.gn
- myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)"
-
- # Optional dependencies.
- myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
- myconf_gn+=" enable_widevine=$(usex widevine true false)"
-
- if use headless; then
- myconf_gn+=" use_cups=false"
- myconf_gn+=" use_kerberos=false"
- myconf_gn+=" use_pulseaudio=false"
- myconf_gn+=" use_vaapi=false"
- myconf_gn+=" rtc_use_pipewire=false"
- else
- myconf_gn+=" use_cups=$(usex cups true false)"
- myconf_gn+=" use_kerberos=$(usex kerberos true false)"
- myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
- myconf_gn+=" use_vaapi=$(usex vaapi true false)"
- myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)"
- myconf_gn+=" gtk_version=$(usex gtk4 4 3)"
- fi
-
- # Allows distributions to link pulseaudio directly (DT_NEEDED) instead of
- # using dlopen. This helps with automated detection of ABI mismatches and
- # prevents silent errors.
- if use pulseaudio; then
- myconf_gn+=" link_pulseaudio=true"
- fi
-
- # Non-developer builds of Chromium (for example, non-Chrome browsers, or
- # Chromium builds provided by Linux distros) should disable the testing config
- myconf_gn+=" disable_fieldtrial_testing_config=true"
-
- if use system-toolchain; then
- myconf_gn+=" use_gold=false"
- fi
-
- # The sysroot is the oldest debian image that chromium supports, we don't need it
- myconf_gn+=" use_sysroot=false"
-
- # This determines whether or not GN uses the bundled libcxx
- # default: true
- if use libcxx || [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
- myconf_gn+=" use_custom_libcxx=true"
- else
- myconf_gn+=" use_custom_libcxx=false"
- fi
-
- # Disable pseudolocales, only used for testing
- myconf_gn+=" enable_pseudolocales=false"
-
- # Disable code formating of generated files
- myconf_gn+=" blink_enable_generated_code_formatting=false"
-
- if use bindist ; then
- # proprietary_codecs just forces Chromium to say that it can use h264/aac,
- # the work is still done by ffmpeg. If this is set to no Chromium
- # won't be able to load the codec even if the library can handle it
- myconf_gn+=" proprietary_codecs=true"
- myconf_gn+=" ffmpeg_branding=\"Chrome\""
- # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute
- myconf_gn+=" is_component_ffmpeg=true"
- else
- ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
- myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
- myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
- fi
-
- # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
- # Note: these are for Gentoo use ONLY. For your own distribution,
- # please get your own set of keys. Feel free to contact chromium@gentoo.org
- # for more info. The OAuth2 credentials, however, have been left out.
- # Those OAuth2 credentials have been broken for quite some time anyway.
- # Instead we apply a patch to use the --oauth2-client-id= and
- # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and
- # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into
- # Chromium without baked-in values.
- local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
- myconf_gn+=" google_api_key=\"${google_api_key}\""
- local myarch="$(tc-arch)"
-
- # Avoid CFLAGS problems, bug #352457, bug #390147.
- if ! use custom-cflags; then
- replace-flags "-Os" "-O2"
- strip-flags
-
- # Debug info section overflows without component build
- # Prevent linker from running out of address space, bug #471810 .
- filter-flags "-g*"
-
- # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646.
- if [[ ${myarch} == amd64 ]]; then
- filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a
- fi
-
- if tc-is-gcc; then
- # https://bugs.gentoo.org/904455
- local -x CPP="$(tc-getCXX) -E"
- # https://bugs.gentoo.org/912381
- filter-lto
- fi
- fi
-
- if [[ $myarch = amd64 ]] ; then
- myconf_gn+=" target_cpu=\"x64\""
- ffmpeg_target_arch=x64
- elif [[ $myarch = arm64 ]] ; then
- myconf_gn+=" target_cpu=\"arm64\""
- ffmpeg_target_arch=arm64
- elif [[ $myarch = ppc64 ]] ; then
- myconf_gn+=" target_cpu=\"ppc64\""
- ffmpeg_target_arch=ppc64
- elif [[ $myarch = riscv ]] ; then
- myconf_gn+=" target_cpu=\"riscv64\""
- ffmpeg_target_arch=riscv64
- else
- die "Failed to determine target arch, got '$myarch'."
- fi
-
- # Make sure that -Werror doesn't get added to CFLAGS by the build system.
- # Depending on GCC version the warnings are different and we don't want
- # the build to fail because of that.
- myconf_gn+=" treat_warnings_as_errors=false"
-
- # Disable fatal linker warnings, bug 506268.
- myconf_gn+=" fatal_linker_warnings=false"
-
- # Disable external code space for V8 for ppc64. It is disabled for ppc64
- # by default, but cross-compiling on amd64 enables it again.
- if tc-is-cross-compiler; then
- if ! use amd64 && ! use arm64; then
- myconf_gn+=" v8_enable_external_code_space=false"
- fi
- fi
-
- # Only enabled for clang, but gcc has endian macros too
- myconf_gn+=" v8_use_libm_trig_functions=true"
-
- # Bug 491582.
- export TMPDIR="${WORKDIR}/temp"
- mkdir -p -m 755 "${TMPDIR}" || die
-
- # https://bugs.gentoo.org/654216
- addpredict /dev/dri/ #nowarn
-
- # Disable unknown warning message from clang.
- if tc-is-clang; then
- append-flags -Wno-unknown-warning-option
- if tc-is-cross-compiler; then
- export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option"
- export BUILD_CFLAGS+=" -Wno-unknown-warning-option"
- fi
- fi
-
- # Explicitly disable ICU data file support for system-icu/headless builds.
- if use system-icu || use headless; then
- myconf_gn+=" icu_use_data_file=false"
- fi
-
- # Don't need nocompile checks and GN crashes with our config
- myconf_gn+=" enable_nocompile_tests=false"
-
- # Enable ozone wayland and/or headless support
- myconf_gn+=" use_ozone=true ozone_auto_platforms=false"
- myconf_gn+=" ozone_platform_headless=true"
- if use headless; then
- myconf_gn+=" ozone_platform=\"headless\""
- myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false"
- myconf_gn+=" use_glib=false use_gio=false"
- myconf_gn+=" use_pangocairo=false use_alsa=false"
- myconf_gn+=" use_libpci=false use_udev=false"
- myconf_gn+=" enable_print_preview=false"
- myconf_gn+=" enable_remoting=false"
- else
- myconf_gn+=" use_system_libdrm=true"
- myconf_gn+=" use_system_minigbm=true"
- myconf_gn+=" use_xkbcommon=true"
- if use qt5 || use qt6; then
- local cbuild_libdir=$(get_libdir)
- if tc-is-cross-compiler; then
- # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
- local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt)
- cbuild_libdir=${cbuild_libdir:2}
- cbuild_libdir=${cbuild_libdir/% }
- fi
- if use qt5; then
- if tc-is-cross-compiler; then
- myconf_gn+=" moc_qt5_path=\"${EPREFIX}/${cbuild_libdir}/qt5/bin\""
- else
- myconf_gn+=" moc_qt5_path=\"$(qt5_get_bindir)\""
- fi
- fi
- if use qt6; then
- myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\""
- fi
-
- myconf_gn+=" use_qt=true"
- myconf_gn+=" use_qt6=$(usex qt6 true false)"
- else
- myconf_gn+=" use_qt=false"
- fi
- myconf_gn+=" ozone_platform_x11=$(usex X true false)"
- myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)"
- myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")"
- use wayland && myconf_gn+=" use_system_libffi=true"
- fi
-
- # Results in undefined references in chrome linking, may require CFI to work
- if use arm64; then
- myconf_gn+=" arm_control_flow_integrity=\"none\""
- fi
-
- # Enable official builds
- myconf_gn+=" is_official_build=$(usex official true false)"
- myconf_gn+=" use_thin_lto=$(usex lto true false)"
- myconf_gn+=" thin_lto_enable_optimizations=$(usex lto true false)"
- if use official; then
- # Allow building against system libraries in official builds
- sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
- tools/generate_shim_headers/generate_shim_headers.py || die
- # Disable CFI: unsupported for GCC, requires clang+lto+lld
- myconf_gn+=" is_cfi=false"
- # Don't add symbols to build
- myconf_gn+=" symbol_level=0"
- fi
-
- if use pgo; then
- myconf_gn+=" chrome_pgo_phase=${1}"
- if [[ "$1" == "2" ]]; then
- myconf_gn+=" pgo_data_path=\"${2}\""
- fi
- else
- # Disable PGO
- myconf_gn+=" chrome_pgo_phase=0"
- fi
-
- # user CXXFLAGS might overwrite -march=armv8-a+crc+crypto, bug #851639
- if use arm64 && tc-is-gcc; then
- sed -i '/^#if HAVE_ARM64_CRC32C/a #pragma GCC target ("+crc+crypto")' \
- third_party/crc32c/src/src/crc32c_arm64.cc || die
- fi
-
- # skipping typecheck is only supported on amd64, bug #876157
- if ! use amd64; then
- myconf_gn+=" devtools_skip_typecheck=false"
- fi
-
- einfo "Configuring Chromium ..."
- set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
- echo "$@"
- "$@" || die
-}
-
-src_configure() {
- chromium_configure $(usex pgo 1 0)
-}
-
-chromium_compile() {
- # Final link uses lots of file descriptors.
- ulimit -n 2048
-
- # Calling this here supports resumption via FEATURES=keepwork
- python_setup
-
- # Don't inherit PYTHONPATH from environment, bug #789021, #812689
- local -x PYTHONPATH=
-
- # Build mksnapshot and pax-mark it.
- if use pax-kernel; then
- local x
- for x in mksnapshot v8_context_snapshot_generator; do
- if tc-is-cross-compiler; then
- eninja -C out/Release "host/${x}"
- pax-mark m "out/Release/host/${x}"
- else
- eninja -C out/Release "${x}"
- pax-mark m "out/Release/${x}"
- fi
- done
- fi
-
- # Even though ninja autodetects number of CPUs, we respect
- # user's options, for debugging with -j 1 or any other reason.
- eninja -C out/Release chrome chromedriver chrome_sandbox
-
- pax-mark m out/Release/chrome
-
- if ! use system-toolchain; then
- QA_FLAGS_IGNORED="
- usr/lib64/chromium-browser/chrome
- usr/lib64/chromium-browser/chrome-sandbox
- usr/lib64/chromium-browser/chromedriver
- usr/lib64/chromium-browser/chrome_crashpad_handler
- usr/lib64/chromium-browser/libEGL.so
- usr/lib64/chromium-browser/libGLESv2.so
- usr/lib64/chromium-browser/libVkICD_mock_icd.so
- usr/lib64/chromium-browser/libVkLayer_khronos_validation.so
- usr/lib64/chromium-browser/libqt5_shim.so
- usr/lib64/chromium-browser/libvk_swiftshader.so
- usr/lib64/chromium-browser/libvulkan.so.1
- "
- fi
-}
-
-# This function is called from virtx, and must always return so that Xvfb
-# session isn't left running. If we return 1, virtx will call die().
-chromium_profile() {
- einfo "Profiling for PGO"
-
- pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1
-
- # Remove old profdata in case profiling was interrupted.
- rm -rf "${1}" || return 1
-
- if ! "${EPYTHON}" ./chromium_profiler.py \
- --chrome-executable "${S}/out/Release/chrome" \
- --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \
- --add-arg no-sandbox --add-arg disable-dev-shm-usage \
- --profile-output "${1}"; then
- eerror "Profiling failed"
- return 1
- fi
-
- popd >/dev/null || return 1
-}
-
-src_compile() {
- if use pgo; then
- local profdata
-
- profdata="${WORKDIR}/chromium.profdata"
-
- if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then
- chromium_compile
- virtx chromium_profile "$profdata"
-
- touch "${WORKDIR}/.pgo-profiled" || die
- fi
-
- if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then
- # Remove phase 1 output
- rm -r out/Release || die
-
- chromium_configure 2 "$profdata"
-
- touch "${WORKDIR}/.pgo-phase-2-configured" || die
- fi
-
- if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then
- chromium_compile
- touch "${WORKDIR}/.pgo-phase-2-compiled" || die
- fi
- else
- chromium_compile
- fi
-
- mv out/Release/chromedriver{.unstripped,} || die
-
- rm -f out/Release/locales/*.pak.info || die
-
- # Build manpage; bug #684550
- sed -e 's|@@PACKAGE@@|chromium-browser|g;
- s|@@MENUNAME@@|Chromium|g;' \
- chrome/app/resources/manpage.1.in > \
- out/Release/chromium-browser.1 || die
-
- # Build desktop file; bug #706786
- sed -e 's|@@MENUNAME@@|Chromium|g;
- s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g;
- s|@@PACKAGE@@|chromium-browser|g;
- s|\(^Exec=\)/usr/bin/|\1|g;' \
- chrome/installer/linux/common/desktop.template > \
- out/Release/chromium-browser-chromium.desktop || die
-
- # Build vk_swiftshader_icd.json; bug #827861
- sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \
- third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \
- out/Release/vk_swiftshader_icd.json || die
-}
-
-src_install() {
- local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
- exeinto "${CHROMIUM_HOME}"
- doexe out/Release/chrome
-
- newexe out/Release/chrome_sandbox chrome-sandbox
- fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
-
- doexe out/Release/chromedriver
- doexe out/Release/chrome_crashpad_handler
-
- ozone_auto_session () {
- use X && use wayland && ! use headless && echo true || echo false
- }
- local sedargs=( -e
- "s:/usr/lib/:/usr/$(get_libdir)/:g;
- s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g"
- )
- sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die
- doexe chromium-launcher.sh
-
- # It is important that we name the target "chromium-browser",
- # xdg-utils expect it; bug #355517.
- dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser
- # keep the old symlink around for consistency
- dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
-
- dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
-
- # Allow users to override command-line options, bug #357629.
- insinto /etc/chromium
- newins "${FILESDIR}/chromium.default" "default"
-
- pushd out/Release/locales > /dev/null || die
- chromium_remove_language_paks
- popd
-
- insinto "${CHROMIUM_HOME}"
- doins out/Release/*.bin
- doins out/Release/*.pak
-
- if use bindist; then
- # We built libffmpeg as a component library, but we can't distribute it
- # with proprietary codec support. Remove it and make a symlink to the requested
- # system library.
- rm -f out/Release/libffmpeg.so \
- || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)"
- # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium].
- einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..."
- dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \
- /usr/$(get_libdir)/chromium-browser/libffmpeg.so
- fi
-
- (
- shopt -s nullglob
- local files=(out/Release/*.so out/Release/*.so.[0-9])
- [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}"
- )
-
- # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland"
- doins out/Release/xdg-{settings,mime}
-
- if ! use system-icu && ! use headless; then
- doins out/Release/icudtl.dat
- fi
-
- doins -r out/Release/locales
- doins -r out/Release/MEIPreload
-
- # Install vk_swiftshader_icd.json; bug #827861
- doins out/Release/vk_swiftshader_icd.json
-
- if [[ -d out/Release/swiftshader ]]; then
- insinto "${CHROMIUM_HOME}/swiftshader"
- doins out/Release/swiftshader/*.so
- fi
-
- # Install icons
- local branding size
- for size in 16 24 32 48 64 128 256 ; do
- case ${size} in
- 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
- *) branding="chrome/app/theme/chromium" ;;
- esac
- newicon -s ${size} "${branding}/product_logo_${size}.png" \
- chromium-browser.png
- done
-
- # Install desktop entry
- domenu out/Release/chromium-browser-chromium.desktop
-
- # Install GNOME default application entry (bug #303100).
- insinto /usr/share/gnome-control-center/default-apps
- newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
-
- # Install manpage; bug #684550
- doman out/Release/chromium-browser.1
- dosym chromium-browser.1 /usr/share/man/man1/chromium.1
-
- readme.gentoo_create_doc
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_desktop_database_update
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
- xdg_desktop_database_update
- readme.gentoo_print_elog
-
- if ! use headless; then
- if use vaapi; then
- elog "VA-API is disabled by default at runtime. You have to enable it"
- elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS"
- elog "in /etc/chromium/default."
- fi
- if use screencast; then
- elog "Screencast is disabled by default at runtime. Either enable it"
- elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer"
- elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer"
- elog "to CHROMIUM_FLAGS in /etc/chromium/default."
- fi
- if use gtk4; then
- elog "Chromium prefers GTK3 over GTK4 at runtime. To override this"
- elog "behavior you need to pass --gtk-version=4, e.g. by adding it"
- elog "to CHROMIUM_FLAGS in /etc/chromium/default."
- fi
- if use qt5 && use qt6; then
- elog "Chromium automatically selects Qt5 or Qt6 based on your desktop"
- elog "environment. To override you need to pass --qt-version=5 or"
- elog "--qt-version=6, e.g. by adding it to CHROMIUM_FLAGS in"
- elog "/etc/chromium/default."
- fi
- fi
-}
diff --git a/www-client/chromium/chromium-123.0.6312.122.ebuild b/www-client/chromium/chromium-126.0.6478.114.ebuild
similarity index 96%
rename from www-client/chromium/chromium-123.0.6312.122.ebuild
rename to www-client/chromium/chromium-126.0.6478.114.ebuild
index d9b1d00..6416959 100644
--- a/www-client/chromium/chromium-123.0.6312.122.ebuild
+++ b/www-client/chromium/chromium-126.0.6478.114.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{11..12} )
+PYTHON_COMPAT=( python3_{11..13} )
PYTHON_REQ_USE="xml(+)"
# PACKAGING NOTES
@@ -36,15 +36,15 @@ PYTHON_REQ_USE="xml(+)"
# These variables let us easily bound supported major dependency versions in one place.
GCC_MIN_VER=12
-GN_MIN_VER=0.2154
+GN_MIN_VER=0.2165
# Since Google use prerelease llvm we can let any adventurous users try to build with prerelease
# ebuilds; try to keep this up to date with the latest version in the tree.
LLVM_MAX_SLOT=19
LLVM_MIN_SLOT=17
RUST_MIN_VER=1.72.0
# chromium-tools/get-chromium-toolchain-strings.sh
-GOOGLE_CLANG_VER=llvmorg-19-init-2319-g7c4c2746-1
-GOOGLE_RUST_VER=340bb19fea20fd5f9357bbfac542fad84fc7ea2b-3
+GOOGLE_CLANG_VER=llvmorg-19-init-9433-g76ea5feb-1
+GOOGLE_RUST_VER=31e6e8c6c5b6ce62656c922c7384d3376018c980-2
# https://bugs.chromium.org/p/v8/issues/detail?id=14449 - V8 used in 120 can't build with GCC
# Resolved upstream, requires testing and some backporting I'm sure
@@ -64,11 +64,11 @@ CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu
sv sw ta te th tr uk ur vi zh-CN zh-TW"
inherit check-reqs chromium-2 desktop flag-o-matic llvm ninja-utils pax-utils
-inherit python-any-r1 qmake-utils readme.gentoo-r1 toolchain-funcs virtualx xdg-utils
+inherit python-any-r1 qmake-utils readme.gentoo-r1 systemd toolchain-funcs virtualx xdg-utils
DESCRIPTION="Open-source version of Google Chrome web browser"
HOMEPAGE="https://www.chromium.org/"
-PATCHSET_PPC64="123.0.6312.105-1raptor0~deb12u1"
+PATCHSET_PPC64="126.0.6478.56-1raptor0~deb12u2"
PATCH_V="${PV%%\.*}"
SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
system-toolchain? (
@@ -88,7 +88,7 @@ SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}
LICENSE="BSD"
SLOT="0/stable"
-KEYWORDS="~amd64 arm64 ~ppc64 ~riscv"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd"
IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos libcxx lto +official pax-kernel pgo +proprietary-codecs pulseaudio"
IUSE+=" qt5 qt6 +screencast selinux +system-toolchain +vaapi +wayland +widevine"
@@ -250,8 +250,8 @@ BDEPEND="
>=virtual/rust-${RUST_MIN_VER}[profiler(-)]
)
>=dev-build/gn-${GN_MIN_VER}
+ dev-build/ninja
dev-lang/perl
- >=dev-build/ninja-1.7.2
>=dev-util/gperf-3.0.3
dev-vcs/git
>=net-libs/nodejs-7.6.0[inspector]
@@ -336,7 +336,7 @@ pre_build_checks() {
# Check build requirements: bugs #471810, #541816, #914220
# We're going to start doing maths here on the size of an unpacked source tarball,
# this should make updates easier as chromium continues to balloon in size.
- local BASE_DISK=18
+ local BASE_DISK=22
local EXTRA_DISK=1
local CHECKREQS_MEMORY="4G"
tc-is-cross-compiler && EXTRA_DISK=2
@@ -422,22 +422,20 @@ src_prepare() {
"chrome/browser/media/router/media_router_feature.cc" || die
local PATCHES=(
- "${FILESDIR}/chromium-cross-compile.patch"
- "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch"
"${FILESDIR}/chromium-109-system-zlib.patch"
"${FILESDIR}/chromium-111-InkDropHost-crash.patch"
- "${FILESDIR}/chromium-117-system-zstd.patch"
- "${FILESDIR}/chromium-124-libwebp-shim-sharpyuv.patch"
- "${FILESDIR}/chromium-123-qt-gui-check.patch"
- "${FILESDIR}/00swiftshader-MCDissassembler.patch"
- "${FILESDIR}/00swiftshader-use-llvm16.patch"
- "${FILESDIR}/01fix-rust-target.patch"
- "${FILESDIR}/02Debian-fix-rust-linking.patch"
- "${FILESDIR}/03riscv-dav1d.patch"
- "${FILESDIR}/05riscv-sandbox.patch"
- "${FILESDIR}/06riscv-ffmpeg.patch"
- "${FILESDIR}/09riscv.patch"
- "${FILESDIR}/10cpuinfo.patch"
+ "${FILESDIR}/chromium-125-system-zstd.patch"
+ "${FILESDIR}/chromium-126-oauth2-client-switches.patch"
+ "${FILESDIR}/chromium-cross-compile.patch"
+ "${FILESDIR}/swiftshader-MCDissassembler.patch"
+ "${FILESDIR}/swiftshader-use-llvm16.patch"
+ "${FILESDIR}/fix-rust-target.patch"
+ "${FILESDIR}/Debian-fix-rust-linking.patch"
+ "${FILESDIR}/riscv-dav1d.patch"
+ "${FILESDIR}/riscv-sandbox.patch"
+ "${FILESDIR}/riscv-ffmpeg.patch"
+ "${FILESDIR}/riscv.patch"
+ "${FILESDIR}/cpuinfo.patch"
)
if use system-toolchain; then
@@ -467,7 +465,6 @@ src_prepare() {
done
PATCHES+=( "${WORKDIR}/ppc64le" )
PATCHES+=( "${WORKDIR}/debian/patches/fixes/rust-clanglib.patch" )
- PATCHES+=( "${WORKDIR}/debian/patches/fixes/blink-fonts-shape-result.patch" )
fi
default
@@ -481,7 +478,6 @@ src_prepare() {
local keeplibs=(
base/third_party/cityhash
base/third_party/double_conversion
- base/third_party/dynamic_annotations
base/third_party/icu
base/third_party/nspr
base/third_party/superfasthash
@@ -562,7 +558,6 @@ src_prepare() {
third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs
third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data
third_party/devtools-frontend/src/front_end/third_party/wasmparser
- third_party/devtools-frontend/src/test/unittests/front_end/third_party/i18n
third_party/devtools-frontend/src/third_party
third_party/distributed_point_functions
third_party/dom_distiller_js
@@ -594,6 +589,7 @@ src_prepare() {
third_party/jsoncpp
third_party/jstemplate
third_party/khronos
+ third_party/lens_server_proto
third_party/leveldatabase
third_party/libaddressinput
third_party/libaom
@@ -644,7 +640,6 @@ src_prepare() {
third_party/ots
third_party/pdfium
third_party/pdfium/third_party/agg23
- third_party/pdfium/third_party/base
third_party/pdfium/third_party/bigint
third_party/pdfium/third_party/freetype
third_party/pdfium/third_party/lcms
@@ -669,6 +664,8 @@ src_prepare() {
third_party/s2cellid
third_party/securemessage
third_party/selenium-atoms
+ third_party/sentencepiece
+ third_party/sentencepiece/src/third_party/darts_clone
third_party/shell-encryption
third_party/simplejson
third_party/skia
@@ -690,6 +687,7 @@ src_prepare() {
third_party/tflite/src/third_party/eigen3
third_party/tflite/src/third_party/fft2d
third_party/tflite/src/third_party/xla/third_party/tsl
+ third_party/tflite/src/third_party/xla/xla/tsl/util
third_party/ruy
third_party/six
third_party/ukey2
@@ -827,6 +825,12 @@ chromium_configure() {
if tc-is-clang; then
myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
+ # Workaround for build failure with clang-18 and -march=native without
+ # avx512. Does not affect e.g. -march=skylake, only native (bug #931623).
+ use amd64 && is-flagq -march=native &&
+ [[ $(clang-major-version) -eq 18 ]] && [[ $(clang-minor-version) -lt 6 ]] &&
+ tc-cpp-is-true "!defined(__AVX512F__)" ${CXXFLAGS} &&
+ append-flags -mevex512
else
myconf_gn+=" is_clang=false"
fi
@@ -1051,7 +1055,7 @@ chromium_configure() {
elif [[ $myarch = riscv ]] ; then
myconf_gn+=" target_cpu=\"riscv64\""
ffmpeg_target_arch=riscv64
- else
+ else
die "Failed to determine target arch, got '$myarch'."
fi
@@ -1452,4 +1456,12 @@ pkg_postinst() {
elog "/etc/chromium/default."
fi
fi
+
+ if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then
+ ewarn "The lack of an '/etc/machine-id' file on this system booted with systemd"
+ ewarn "indicates that the Gentoo handbook was not followed to completion."
+ ewarn ""
+ ewarn "Chromium is known to behave unpredictably with this system configuration;"
+ ewarn "please complete the configuration of this system before logging any bugs."
+ fi
}
diff --git a/www-client/chromium/files/02Debian-fix-rust-linking.patch b/www-client/chromium/files/Debian-fix-rust-linking.patch
similarity index 100%
rename from www-client/chromium/files/02Debian-fix-rust-linking.patch
rename to www-client/chromium/files/Debian-fix-rust-linking.patch
diff --git a/www-client/chromium/files/chromium-125-ninja-1-12.patch b/www-client/chromium/files/chromium-125-ninja-1-12.patch
new file mode 100644
index 0000000..55d0887
--- /dev/null
+++ b/www-client/chromium/files/chromium-125-ninja-1-12.patch
@@ -0,0 +1,17 @@
+https://chromium-review.googlesource.com/c/chromium/src/+/5487538
+commit a976cb05b4024b7a6452d1541378d718cdfe33e6
+Author: Takuto Ikuta <tikuta@chromium.org>
+Date: Thu Apr 25 07:25:32 2024
+
+ [devtools] fix a missing build dependency to a generated file
+
+--- a/chrome/browser/devtools/BUILD.gn
++++ b/chrome/browser/devtools/BUILD.gn
+@@ -117,6 +117,7 @@
+ "//chrome/browser/autofill:autofill",
+ "//components/autofill/content/browser:browser",
+ "//components/autofill/core/browser:browser",
++ "//components/enterprise/buildflags",
+ "//components/paint_preview/buildflags:buildflags",
+ "//components/variations/service:service",
+ "//components/webapps/common:common",
diff --git a/www-client/chromium/files/chromium-125-oauth2-client-switches.patch b/www-client/chromium/files/chromium-125-oauth2-client-switches.patch
new file mode 100644
index 0000000..6c7f56b
--- /dev/null
+++ b/www-client/chromium/files/chromium-125-oauth2-client-switches.patch
@@ -0,0 +1,45 @@
+From 6a84205d0399a94e8b526176a7dcafd6c2051a95 Mon Sep 17 00:00:00 2001
+From: Matt Jolly <Matt.Jolly@footclan.ninja>
+Date: Thu, 18 Apr 2024 21:15:20 +1000
+Subject: [PATCH] www-client/chromium: work around dead oauth2 credentials -
+ 125 update
+
+125 moved the content to a new file.
+
+Google doesn't let us bake in OAuth2 credentials, and for some time,
+Google sign-in has been broken. Arch dealt with this in March, and so
+did we to some degree, but in the last few months, our sign-in
+credentials have been broken. It appears that we actually did remove API
+credentials in March around Chrome 89, but they got added back, perhaps
+when rotating newer versions to replace older versions. Work around this
+by following Arch's lead: we remove the predefined credentials, as
+before, but also we patch Chromium so that people can use their own
+easily, using Arch's patch for that.
+
+For more info, see:
+
+https://archlinux.org/news/chromium-losing-sync-support-in-early-march/
+https://bodhi.fedoraproject.org/updates/FEDORA-2021-48866282e5
+https://hackaday.com/2021/01/26/whats-the-deal-with-chromium-on-linux-google-at-odds-with-package-maintainers/
+
+Bug: https://bugs.gentoo.org/791871
+Signed-off-by: Matt Jolly <kangie@gentoo.org>
+--- a/google_apis/google_api_keys-inc.cc
++++ b/google_apis/google_api_keys-inc.cc
+@@ -182,11 +182,11 @@ class APIKeyCache {
+
+ std::string default_client_id = CalculateKeyValue(
+ GOOGLE_DEFAULT_CLIENT_ID,
+- STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), nullptr,
++ STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), ::switches::kOAuth2ClientID,
+ std::string(), environment.get(), command_line, gaia_config);
+ std::string default_client_secret = CalculateKeyValue(
+ GOOGLE_DEFAULT_CLIENT_SECRET,
+- STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), nullptr,
++ STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), ::switches::kOAuth2ClientSecret,
+ std::string(), environment.get(), command_line, gaia_config);
+
+ // We currently only allow overriding the baked-in values for the
+--
+2.44.0
+
diff --git a/www-client/chromium/files/chromium-125-system-zstd.patch b/www-client/chromium/files/chromium-125-system-zstd.patch
new file mode 100644
index 0000000..6211662
--- /dev/null
+++ b/www-client/chromium/files/chromium-125-system-zstd.patch
@@ -0,0 +1,53 @@
+From 4ac5e29c999c7bbcb8409a2008b0061e1ae365dd Mon Sep 17 00:00:00 2001
+From: Matt Jolly <Matt.Jolly@footclan.ninja>
+Date: Thu, 18 Apr 2024 21:54:54 +1000
+Subject: [PATCH] Zstd now needs compress, too
+
+Existing patch updated for 125, added source_set("compress")
+
+--- a/build/linux/unbundle/replace_gn_files.py
++++ b/build/linux/unbundle/replace_gn_files.py
+@@ -80,6 +80,7 @@ REPLACEMENTS = {
+ 'vulkan_memory_allocator' : 'third_party/vulkan_memory_allocator/BUILD.gn',
+ 'woff2': 'third_party/woff2/BUILD.gn',
+ 'zlib': 'third_party/zlib/BUILD.gn',
++ 'zstd': 'third_party/zstd/BUILD.gn',
+ }
+
+
+--- /dev/null
++++ b/build/linux/unbundle/zstd.gn
+@@ -0,0 +1,30 @@
++import("//build/config/linux/pkg_config.gni")
++import("//build/shim_headers.gni")
++
++pkg_config("system_zstd") {
++ packages = [ "libzstd" ]
++}
++
++shim_headers("zstd_shim") {
++ root_path = "src/lib"
++ headers = [
++ "zdict.h",
++ "zstd.h",
++ "zstd_errors.h",
++ ]
++}
++
++source_set("zstd") {
++ deps = [ ":zstd_shim" ]
++ public_configs = [ ":system_zstd" ]
++}
++
++source_set("compress") {
++ deps = [ ":zstd_shim" ]
++ public_configs = [ ":system_zstd" ]
++}
++
++source_set("decompress") {
++ deps = [ ":zstd_shim" ]
++ public_configs = [ ":system_zstd" ]
++}
+--
+2.44.0
+
diff --git a/www-client/chromium/files/chromium-126-oauth2-client-switches.patch b/www-client/chromium/files/chromium-126-oauth2-client-switches.patch
new file mode 100644
index 0000000..b7ddf79
--- /dev/null
+++ b/www-client/chromium/files/chromium-126-oauth2-client-switches.patch
@@ -0,0 +1,45 @@
+From b6cda4bc2283a02a5b5209c0f4282a8365f6f33e Mon Sep 17 00:00:00 2001
+From: Matt Jolly <Matt.Jolly@footclan.ninja>
+Date: Tue, 21 May 2024 10:04:24 +1000
+Subject: [PATCH] www-client/chromium: work around dead oauth2 credentials -
+ 126 update
+
+126 changed the function proto; patch rebased.
+
+Google doesn't let us bake in OAuth2 credentials, and for some time,
+Google sign-in has been broken. Arch dealt with this in March, and so
+did we to some degree, but in the last few months, our sign-in
+credentials have been broken. It appears that we actually did remove API
+credentials in March around Chrome 89, but they got added back, perhaps
+when rotating newer versions to replace older versions. Work around this
+by following Arch's lead: we remove the predefined credentials, as
+before, but also we patch Chromium so that people can use their own
+easily, using Arch's patch for that.
+
+For more info, see:
+
+https://archlinux.org/news/chromium-losing-sync-support-in-early-march/
+https://bodhi.fedoraproject.org/updates/FEDORA-2021-48866282e5
+https://hackaday.com/2021/01/26/whats-the-deal-with-chromium-on-linux-google-at-odds-with-package-maintainers/
+
+Bug: https://bugs.gentoo.org/791871
+Signed-off-by: Matt Jolly <kangie@gentoo.org>
+--- a/google_apis/google_api_keys-inc.cc
++++ b/google_apis/google_api_keys-inc.cc
+@@ -193,11 +193,11 @@ class APIKeyCache {
+ std::string default_client_id = CalculateKeyValue(
+ GOOGLE_DEFAULT_CLIENT_ID,
+ STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), std::string(),
+- nullptr, std::string(), environment.get(), command_line, gaia_config);
++ ::switches::kOAuth2ClientID, std::string(), environment.get(), command_line, gaia_config);
+ std::string default_client_secret = CalculateKeyValue(
+ GOOGLE_DEFAULT_CLIENT_SECRET,
+ STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), std::string(),
+- nullptr, std::string(), environment.get(), command_line, gaia_config);
++ ::switches::kOAuth2ClientSecret, std::string(), environment.get(), command_line, gaia_config);
+
+ // We currently only allow overriding the baked-in values for the
+ // default OAuth2 client ID and secret using a command-line
+--
+2.45.1
+
diff --git a/www-client/chromium/files/10cpuinfo.patch b/www-client/chromium/files/cpuinfo.patch
similarity index 100%
rename from www-client/chromium/files/10cpuinfo.patch
rename to www-client/chromium/files/cpuinfo.patch
diff --git a/www-client/chromium/files/01fix-rust-target.patch b/www-client/chromium/files/fix-rust-target.patch
similarity index 100%
rename from www-client/chromium/files/01fix-rust-target.patch
rename to www-client/chromium/files/fix-rust-target.patch
diff --git a/www-client/chromium/files/03riscv-dav1d.patch b/www-client/chromium/files/riscv-dav1d.patch
similarity index 100%
rename from www-client/chromium/files/03riscv-dav1d.patch
rename to www-client/chromium/files/riscv-dav1d.patch
diff --git a/www-client/chromium/files/06riscv-ffmpeg.patch b/www-client/chromium/files/riscv-ffmpeg.patch
similarity index 94%
rename from www-client/chromium/files/06riscv-ffmpeg.patch
rename to www-client/chromium/files/riscv-ffmpeg.patch
index 2914148..9bb4826 100644
--- a/www-client/chromium/files/06riscv-ffmpeg.patch
+++ b/www-client/chromium/files/riscv-ffmpeg.patch
@@ -1,24 +1,20 @@
-Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h
-@@ -0,0 +1,768 @@
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h
+@@ -0,0 +1,775 @@
+/* Automatically generated by configure - do not modify! */
+#ifndef FFMPEG_CONFIG_H
+#define FFMPEG_CONFIG_H
-+/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/home/hacker/chromium/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=riscv64 --enable-
decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
++/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/home/hacker/chromium/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --arch=riscv64 --enable-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld
' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
+#define FFMPEG_LICENSE "LGPL version 2.1 or later"
+#define CONFIG_THIS_YEAR 2024
+#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
+#define AVCONV_DATADIR "/usr/local/share/ffmpeg"
-+#define CC_IDENT "gcc 13.2.1 (GCC) 20230801"
++#define CC_IDENT "Debian clang version 16.0.6 (27)"
+#define OS_NAME linux
-+#define av_restrict restrict
+#define EXTERN_PREFIX ""
+#define EXTERN_ASM
+#define BUILDSUF ""
+#define SLIBSUF ".so"
-+#define HAVE_MMX2 HAVE_MMXEXT
+#define SWS_MAX_FILTER_SIZE 256
+#define ARCH_AARCH64 0
+#define ARCH_ALPHA 0
@@ -63,8 +59,8 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h
+#define HAVE_POWER8 0
+#define HAVE_PPC4XX 0
+#define HAVE_VSX 0
-+#define HAVE_RV 1
-+#define HAVE_RVV 1
++#define HAVE_RV 0
++#define HAVE_RVV 0
+#define HAVE_AESNI 0
+#define HAVE_AMD3DNOW 0
+#define HAVE_AMD3DNOWEXT 0
@@ -250,6 +246,7 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h
+#define HAVE_OPENCV2_CORE_CORE_C_H 0
+#define HAVE_OPENGL_GL3_H 0
+#define HAVE_POLL_H 1
++#define HAVE_PTHREAD_NP_H 0
+#define HAVE_SYS_PARAM_H 1
+#define HAVE_SYS_RESOURCE_H 1
+#define HAVE_SYS_SELECT_H 1
@@ -340,6 +337,8 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h
+#define HAVE_POSIX_MEMALIGN 1
+#define HAVE_PRCTL 0 /* #define HAVE_PRCTL 1 -- forced to 0 for Fuchsia */
+#define HAVE_PTHREAD_CANCEL 1
++#define HAVE_PTHREAD_SET_NAME_NP 0
++#define HAVE_PTHREAD_SETNAME_NP 0
+#define HAVE_SCHED_GETAFFINITY 1
+#define HAVE_SECITEMIMPORT 0
+#define HAVE_SETCONSOLETEXTATTRIBUTE 0
@@ -383,7 +382,7 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h
+#define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
+#define HAVE_PRAGMA_DEPRECATED 1
+#define HAVE_RSYNC_CONTIMEOUT 0
-+#define HAVE_SYMVER_ASM_LABEL 0
++#define HAVE_SYMVER_ASM_LABEL 1
+#define HAVE_SYMVER_GNU_ASM 1
+#define HAVE_VFP_ARGS 0
+#define HAVE_XFORM_ASM 0
@@ -423,18 +422,19 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h
+#define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 0
+#define HAVE_GZIP 1
+#define HAVE_LIBDRM_GETFB2 0
-+#define HAVE_MAKEINFO 1
-+#define HAVE_MAKEINFO_HTML 1
++#define HAVE_MAKEINFO 0
++#define HAVE_MAKEINFO_HTML 0
+#define HAVE_OPENCL_D3D11 0
+#define HAVE_OPENCL_DRM_ARM 0
+#define HAVE_OPENCL_DRM_BEIGNET 0
+#define HAVE_OPENCL_DXVA2 0
+#define HAVE_OPENCL_VAAPI_BEIGNET 0
+#define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0
++#define HAVE_OPENCL_VIDEOTOOLBOX 0
+#define HAVE_PERL 1
+#define HAVE_POD2MAN 1
+#define HAVE_TEXI2HTML 0
-+#define HAVE_XMLLINT 1
++#define HAVE_XMLLINT 0
+#define HAVE_ZLIB_GZIP 0
+#define HAVE_OPENVINO2 0
+#define CONFIG_DOC 0
@@ -470,6 +470,8 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h
+#define CONFIG_FREI0R 0
+#define CONFIG_LIBCDIO 0
+#define CONFIG_LIBDAVS2 0
++#define CONFIG_LIBDVDNAV 0
++#define CONFIG_LIBDVDREAD 0
+#define CONFIG_LIBRUBBERBAND 0
+#define CONFIG_LIBVIDSTAB 0
+#define CONFIG_LIBX264 0
@@ -549,6 +551,7 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h
+#define CONFIG_LIBTENSORFLOW 0
+#define CONFIG_LIBTESSERACT 0
+#define CONFIG_LIBTHEORA 0
++#define CONFIG_LIBTORCH 0
+#define CONFIG_LIBTWOLAME 0
+#define CONFIG_LIBUAVS3D 0
+#define CONFIG_LIBV4L2 0
@@ -598,7 +601,6 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h
+#define CONFIG_OPENCL 0
+#define CONFIG_AMF 0
+#define CONFIG_AUDIOTOOLBOX 0
-+#define CONFIG_CRYSTALHD 0
+#define CONFIG_CUDA 0
+#define CONFIG_CUDA_LLVM 0
+#define CONFIG_CUVID 0
@@ -711,10 +713,12 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h
+#define CONFIG_H264_SEI 1
+#define CONFIG_HEVCPARSE 0
+#define CONFIG_HEVC_SEI 0
-+#define CONFIG_HPELDSP 1
++#define CONFIG_HPELDSP 0
+#define CONFIG_HUFFMAN 0
+#define CONFIG_HUFFYUVDSP 0
+#define CONFIG_HUFFYUVENCDSP 0
++#define CONFIG_IAMFDEC 0
++#define CONFIG_IAMFENC 0
+#define CONFIG_IDCTDSP 0
+#define CONFIG_IIRFILTER 0
+#define CONFIG_INFLATE_WRAPPER 0
@@ -724,6 +728,7 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h
+#define CONFIG_JPEGTABLES 0
+#define CONFIG_LGPLV3 0
+#define CONFIG_LIBX262 0
++#define CONFIG_LIBX264_HDR10 0
+#define CONFIG_LLAUDDSP 0
+#define CONFIG_LLVIDDSP 0
+#define CONFIG_LLVIDENCDSP 0
@@ -765,17 +770,15 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h
+#define CONFIG_VAAPI_ENCODE 0
+#define CONFIG_VC1DSP 0
+#define CONFIG_VIDEODSP 1
-+#define CONFIG_VP3DSP 1
++#define CONFIG_VP3DSP 0
+#define CONFIG_VP56DSP 0
-+#define CONFIG_VP8DSP 1
++#define CONFIG_VP8DSP 0
+#define CONFIG_WMA_FREQS 0
+#define CONFIG_WMV2DSP 0
+#endif /* FFMPEG_CONFIG_H */
-Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_components.h
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_components.h
-@@ -0,0 +1,2217 @@
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_components.h
+@@ -0,0 +1,2210 @@
+/* Automatically generated by configure - do not modify! */
+#ifndef FFMPEG_CONFIG_COMPONENTS_H
+#define FFMPEG_CONFIG_COMPONENTS_H
@@ -801,7 +804,6 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_compon
+#define CONFIG_MEDIA100_TO_MJPEGB_BSF 0
+#define CONFIG_MJPEG2JPEG_BSF 0
+#define CONFIG_MJPEGA_DUMP_HEADER_BSF 0
-+#define CONFIG_MP3_HEADER_DECOMPRESS_BSF 0
+#define CONFIG_MPEG2_METADATA_BSF 0
+#define CONFIG_MPEG4_UNPACK_BFRAMES_BSF 0
+#define CONFIG_MOV2TEXTSUB_BSF 0
@@ -813,6 +815,7 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_compon
+#define CONFIG_PRORES_METADATA_BSF 0
+#define CONFIG_REMOVE_EXTRADATA_BSF 0
+#define CONFIG_SETTS_BSF 0
++#define CONFIG_SHOWINFO_BSF 0
+#define CONFIG_TEXT2MOVSUB_BSF 0
+#define CONFIG_TRACE_HEADERS_BSF 0
+#define CONFIG_TRUEHD_CORE_BSF 0
@@ -841,7 +844,6 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_compon
+#define CONFIG_AVRN_DECODER 0
+#define CONFIG_AVS_DECODER 0
+#define CONFIG_AVUI_DECODER 0
-+#define CONFIG_AYUV_DECODER 0
+#define CONFIG_BETHSOFTVID_DECODER 0
+#define CONFIG_BFI_DECODER 0
+#define CONFIG_BINK_DECODER 0
@@ -908,7 +910,6 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_compon
+#define CONFIG_H263P_DECODER 0
+#define CONFIG_H263_V4L2M2M_DECODER 0
+#define CONFIG_H264_DECODER 1
-+#define CONFIG_H264_CRYSTALHD_DECODER 0
+#define CONFIG_H264_V4L2M2M_DECODER 0
+#define CONFIG_H264_MEDIACODEC_DECODER 0
+#define CONFIG_H264_MMAL_DECODER 0
@@ -956,13 +957,11 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_compon
+#define CONFIG_MPEG1VIDEO_DECODER 0
+#define CONFIG_MPEG2VIDEO_DECODER 0
+#define CONFIG_MPEG4_DECODER 0
-+#define CONFIG_MPEG4_CRYSTALHD_DECODER 0
+#define CONFIG_MPEG4_V4L2M2M_DECODER 0
+#define CONFIG_MPEG4_MMAL_DECODER 0
+#define CONFIG_MPEGVIDEO_DECODER 0
+#define CONFIG_MPEG1_V4L2M2M_DECODER 0
+#define CONFIG_MPEG2_MMAL_DECODER 0
-+#define CONFIG_MPEG2_CRYSTALHD_DECODER 0
+#define CONFIG_MPEG2_V4L2M2M_DECODER 0
+#define CONFIG_MPEG2_QSV_DECODER 0
+#define CONFIG_MPEG2_MEDIACODEC_DECODER 0
@@ -971,7 +970,6 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_compon
+#define CONFIG_MSMPEG4V1_DECODER 0
+#define CONFIG_MSMPEG4V2_DECODER 0
+#define CONFIG_MSMPEG4V3_DECODER 0
-+#define CONFIG_MSMPEG4_CRYSTALHD_DECODER 0
+#define CONFIG_MSP2_DECODER 0
+#define CONFIG_MSRLE_DECODER 0
+#define CONFIG_MSS1_DECODER 0
@@ -1048,7 +1046,7 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_compon
+#define CONFIG_TARGA_DECODER 0
+#define CONFIG_TARGA_Y216_DECODER 0
+#define CONFIG_TDSC_DECODER 0
-+#define CONFIG_THEORA_DECODER 1
++#define CONFIG_THEORA_DECODER 0
+#define CONFIG_THP_DECODER 0
+#define CONFIG_TIERTEXSEQVIDEO_DECODER 0
+#define CONFIG_TIFF_DECODER 0
@@ -1070,7 +1068,6 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_compon
+#define CONFIG_VBN_DECODER 0
+#define CONFIG_VBLE_DECODER 0
+#define CONFIG_VC1_DECODER 0
-+#define CONFIG_VC1_CRYSTALHD_DECODER 0
+#define CONFIG_VC1IMAGE_DECODER 0
+#define CONFIG_VC1_MMAL_DECODER 0
+#define CONFIG_VC1_QSV_DECODER 0
@@ -1079,14 +1076,14 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_compon
+#define CONFIG_VMDVIDEO_DECODER 0
+#define CONFIG_VMIX_DECODER 0
+#define CONFIG_VMNC_DECODER 0
-+#define CONFIG_VP3_DECODER 1
++#define CONFIG_VP3_DECODER 0
+#define CONFIG_VP4_DECODER 0
+#define CONFIG_VP5_DECODER 0
+#define CONFIG_VP6_DECODER 0
+#define CONFIG_VP6A_DECODER 0
+#define CONFIG_VP6F_DECODER 0
+#define CONFIG_VP7_DECODER 0
-+#define CONFIG_VP8_DECODER 1
++#define CONFIG_VP8_DECODER 0
+#define CONFIG_VP8_RKMPP_DECODER 0
+#define CONFIG_VP8_V4L2M2M_DECODER 0
+#define CONFIG_VP9_DECODER 0
@@ -1102,7 +1099,6 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_compon
+#define CONFIG_WMV1_DECODER 0
+#define CONFIG_WMV2_DECODER 0
+#define CONFIG_WMV3_DECODER 0
-+#define CONFIG_WMV3_CRYSTALHD_DECODER 0
+#define CONFIG_WMV3IMAGE_DECODER 0
+#define CONFIG_WNV1_DECODER 0
+#define CONFIG_XAN_WC3_DECODER 0
@@ -1416,7 +1412,6 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_compon
+#define CONFIG_ASV2_ENCODER 0
+#define CONFIG_AVRP_ENCODER 0
+#define CONFIG_AVUI_ENCODER 0
-+#define CONFIG_AYUV_ENCODER 0
+#define CONFIG_BITPACKED_ENCODER 0
+#define CONFIG_BMP_ENCODER 0
+#define CONFIG_CFHD_ENCODER 0
@@ -1426,6 +1421,7 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_compon
+#define CONFIG_DNXHD_ENCODER 0
+#define CONFIG_DPX_ENCODER 0
+#define CONFIG_DVVIDEO_ENCODER 0
++#define CONFIG_DXV_ENCODER 0
+#define CONFIG_EXR_ENCODER 0
+#define CONFIG_FFV1_ENCODER 0
+#define CONFIG_FFVHUFF_ENCODER 0
@@ -1786,8 +1782,8 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_compon
+#define CONFIG_TAK_PARSER 0
+#define CONFIG_VC1_PARSER 0
+#define CONFIG_VORBIS_PARSER 1
-+#define CONFIG_VP3_PARSER 1
-+#define CONFIG_VP8_PARSER 1
++#define CONFIG_VP3_PARSER 0
++#define CONFIG_VP8_PARSER 0
+#define CONFIG_VP9_PARSER 1
+#define CONFIG_VVC_PARSER 0
+#define CONFIG_WEBP_PARSER 0
@@ -2399,8 +2395,6 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_compon
+#define CONFIG_AVSYNCTEST_FILTER 0
+#define CONFIG_AMOVIE_FILTER 0
+#define CONFIG_MOVIE_FILTER 0
-+#define CONFIG_AFIFO_FILTER 0
-+#define CONFIG_FIFO_FILTER 0
+#define CONFIG_AA_DEMUXER 0
+#define CONFIG_AAC_DEMUXER 1
+#define CONFIG_AAX_DEMUXER 0
@@ -2484,6 +2478,7 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_compon
+#define CONFIG_DV_DEMUXER 0
+#define CONFIG_DVBSUB_DEMUXER 0
+#define CONFIG_DVBTXT_DEMUXER 0
++#define CONFIG_DVDVIDEO_DEMUXER 0
+#define CONFIG_DXA_DEMUXER 0
+#define CONFIG_EA_DEMUXER 0
+#define CONFIG_EA_CDATA_DEMUXER 0
@@ -2765,6 +2760,7 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_compon
+#define CONFIG_AC4_MUXER 0
+#define CONFIG_ADTS_MUXER 0
+#define CONFIG_ADX_MUXER 0
++#define CONFIG_AEA_MUXER 0
+#define CONFIG_AIFF_MUXER 0
+#define CONFIG_ALP_MUXER 0
+#define CONFIG_AMR_MUXER 0
@@ -2804,7 +2800,6 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_compon
+#define CONFIG_F4V_MUXER 0
+#define CONFIG_FFMETADATA_MUXER 0
+#define CONFIG_FIFO_MUXER 0
-+#define CONFIG_FIFO_TEST_MUXER 0
+#define CONFIG_FILMSTRIP_MUXER 0
+#define CONFIG_FITS_MUXER 0
+#define CONFIG_FLAC_MUXER 0
@@ -2894,6 +2889,7 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_compon
+#define CONFIG_PCM_U8_MUXER 0
+#define CONFIG_PSP_MUXER 0
+#define CONFIG_RAWVIDEO_MUXER 0
++#define CONFIG_RCWT_MUXER 0
+#define CONFIG_RM_MUXER 0
+#define CONFIG_ROQ_MUXER 0
+#define CONFIG_RSO_MUXER 0
@@ -2993,23 +2989,16 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_compon
+#define CONFIG_IPFS_GATEWAY_PROTOCOL 0
+#define CONFIG_IPNS_GATEWAY_PROTOCOL 0
+#endif /* FFMPEG_CONFIG_COMPONENTS_H */
-Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/bsf_list.c
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/bsf_list.c
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/bsf_list.c
@@ -0,0 +1,2 @@
+static const FFBitStreamFilter * const bitstream_filters[] = {
+ NULL };
-Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/codec_list.c
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/codec_list.c
-@@ -0,0 +1,20 @@
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/codec_list.c
+@@ -0,0 +1,17 @@
+static const FFCodec * const codec_list[] = {
+ &ff_h264_decoder,
-+ &ff_theora_decoder,
-+ &ff_vp3_decoder,
-+ &ff_vp8_decoder,
+ &ff_aac_decoder,
+ &ff_flac_decoder,
+ &ff_mp3_decoder,
@@ -3025,11 +3014,9 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/co
+ &ff_pcm_u8_decoder,
+ &ff_libopus_decoder,
+ NULL };
-Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/parser_list.c
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/parser_list.c
-@@ -0,0 +1,11 @@
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/parser_list.c
+@@ -0,0 +1,9 @@
+static const AVCodecParser * const parser_list[] = {
+ &ff_aac_parser,
+ &ff_flac_parser,
@@ -3037,16 +3024,12 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/pa
+ &ff_mpegaudio_parser,
+ &ff_opus_parser,
+ &ff_vorbis_parser,
-+ &ff_vp3_parser,
-+ &ff_vp8_parser,
+ &ff_vp9_parser,
+ NULL };
-Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/demuxer_list.c
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/demuxer_list.c
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/demuxer_list.c
@@ -0,0 +1,9 @@
-+static const AVInputFormat * const demuxer_list[] = {
++static const FFInputFormat * const demuxer_list[] = {
+ &ff_aac_demuxer,
+ &ff_flac_demuxer,
+ &ff_matroska_demuxer,
@@ -3055,24 +3038,18 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/d
+ &ff_ogg_demuxer,
+ &ff_wav_demuxer,
+ NULL };
-Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/muxer_list.c
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/muxer_list.c
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/muxer_list.c
@@ -0,0 +1,2 @@
+static const FFOutputFormat * const muxer_list[] = {
+ NULL };
-Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/protocol_list.c
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/protocol_list.c
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/protocol_list.c
@@ -0,0 +1,2 @@
+static const URLProtocol * const url_protocols[] = {
+ NULL };
-Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/avconfig.h
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/avconfig.h
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/avconfig.h
@@ -0,0 +1,6 @@
+/* Generated by ffmpeg configure */
+#ifndef AVUTIL_AVCONFIG_H
@@ -3080,37 +3057,31 @@ Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/avc
+#define AV_HAVE_BIGENDIAN 0
+#define AV_HAVE_FAST_UNALIGNED 0
+#endif /* AVUTIL_AVCONFIG_H */
-Index: src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/ffversion.h
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/ffversion.h
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/ffversion.h
@@ -0,0 +1,5 @@
+/* Automatically generated by version.sh, do not manually edit! */
+#ifndef AVUTIL_FFVERSION_H
+#define AVUTIL_FFVERSION_H
+#define FFMPEG_VERSION "5.1.git"
+#endif /* AVUTIL_FFVERSION_H */
-Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config.h
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config.h
-@@ -0,0 +1,768 @@
++++ b/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config.h
+@@ -0,0 +1,775 @@
+/* Automatically generated by configure - do not modify! */
+#ifndef FFMPEG_CONFIG_H
+#define FFMPEG_CONFIG_H
-+/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/home/hacker/chromium/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=riscv64 --enable-decoder='aac,h264' --enable
-demuxer=aac --enable-parser='aac,h264' --enable-decoder=mpeg4 --enable-parser='h263,mpeg4video' --enable-demuxer=avi" -- elide long configuration string from binary */
++/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/home/hacker/chromium/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --arch=riscv64 --enable-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld' --enable-decoder='aac,h26
4' --enable-demuxer=aac --enable-parser='aac,h264' --enable-decoder=mpeg4 --enable-parser='h263,mpeg4video' --enable-demuxer=avi" -- elide long configuration string from binary */
+#define FFMPEG_LICENSE "LGPL version 2.1 or later"
+#define CONFIG_THIS_YEAR 2024
+#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
+#define AVCONV_DATADIR "/usr/local/share/ffmpeg"
-+#define CC_IDENT "gcc 13.2.1 (GCC) 20230801"
++#define CC_IDENT "Debian clang version 16.0.6 (27)"
+#define OS_NAME linux
-+#define av_restrict restrict
+#define EXTERN_PREFIX ""
+#define EXTERN_ASM
+#define BUILDSUF ""
+#define SLIBSUF ".so"
-+#define HAVE_MMX2 HAVE_MMXEXT
+#define SWS_MAX_FILTER_SIZE 256
+#define ARCH_AARCH64 0
+#define ARCH_ALPHA 0
@@ -3155,8 +3126,8 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config.h
+#define HAVE_POWER8 0
+#define HAVE_PPC4XX 0
+#define HAVE_VSX 0
-+#define HAVE_RV 1
-+#define HAVE_RVV 1
++#define HAVE_RV 0
++#define HAVE_RVV 0
+#define HAVE_AESNI 0
+#define HAVE_AMD3DNOW 0
+#define HAVE_AMD3DNOWEXT 0
@@ -3342,6 +3313,7 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config.h
+#define HAVE_OPENCV2_CORE_CORE_C_H 0
+#define HAVE_OPENGL_GL3_H 0
+#define HAVE_POLL_H 1
++#define HAVE_PTHREAD_NP_H 0
+#define HAVE_SYS_PARAM_H 1
+#define HAVE_SYS_RESOURCE_H 1
+#define HAVE_SYS_SELECT_H 1
@@ -3432,6 +3404,8 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config.h
+#define HAVE_POSIX_MEMALIGN 1
+#define HAVE_PRCTL 0 /* #define HAVE_PRCTL 1 -- forced to 0 for Fuchsia */
+#define HAVE_PTHREAD_CANCEL 1
++#define HAVE_PTHREAD_SET_NAME_NP 0
++#define HAVE_PTHREAD_SETNAME_NP 0
+#define HAVE_SCHED_GETAFFINITY 1
+#define HAVE_SECITEMIMPORT 0
+#define HAVE_SETCONSOLETEXTATTRIBUTE 0
@@ -3475,7 +3449,7 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config.h
+#define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
+#define HAVE_PRAGMA_DEPRECATED 1
+#define HAVE_RSYNC_CONTIMEOUT 0
-+#define HAVE_SYMVER_ASM_LABEL 0
++#define HAVE_SYMVER_ASM_LABEL 1
+#define HAVE_SYMVER_GNU_ASM 1
+#define HAVE_VFP_ARGS 0
+#define HAVE_XFORM_ASM 0
@@ -3515,18 +3489,19 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config.h
+#define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 0
+#define HAVE_GZIP 1
+#define HAVE_LIBDRM_GETFB2 0
-+#define HAVE_MAKEINFO 1
-+#define HAVE_MAKEINFO_HTML 1
++#define HAVE_MAKEINFO 0
++#define HAVE_MAKEINFO_HTML 0
+#define HAVE_OPENCL_D3D11 0
+#define HAVE_OPENCL_DRM_ARM 0
+#define HAVE_OPENCL_DRM_BEIGNET 0
+#define HAVE_OPENCL_DXVA2 0
+#define HAVE_OPENCL_VAAPI_BEIGNET 0
+#define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0
++#define HAVE_OPENCL_VIDEOTOOLBOX 0
+#define HAVE_PERL 1
+#define HAVE_POD2MAN 1
+#define HAVE_TEXI2HTML 0
-+#define HAVE_XMLLINT 1
++#define HAVE_XMLLINT 0
+#define HAVE_ZLIB_GZIP 0
+#define HAVE_OPENVINO2 0
+#define CONFIG_DOC 0
@@ -3562,6 +3537,8 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config.h
+#define CONFIG_FREI0R 0
+#define CONFIG_LIBCDIO 0
+#define CONFIG_LIBDAVS2 0
++#define CONFIG_LIBDVDNAV 0
++#define CONFIG_LIBDVDREAD 0
+#define CONFIG_LIBRUBBERBAND 0
+#define CONFIG_LIBVIDSTAB 0
+#define CONFIG_LIBX264 0
@@ -3641,6 +3618,7 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config.h
+#define CONFIG_LIBTENSORFLOW 0
+#define CONFIG_LIBTESSERACT 0
+#define CONFIG_LIBTHEORA 0
++#define CONFIG_LIBTORCH 0
+#define CONFIG_LIBTWOLAME 0
+#define CONFIG_LIBUAVS3D 0
+#define CONFIG_LIBV4L2 0
@@ -3690,7 +3668,6 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config.h
+#define CONFIG_OPENCL 0
+#define CONFIG_AMF 0
+#define CONFIG_AUDIOTOOLBOX 0
-+#define CONFIG_CRYSTALHD 0
+#define CONFIG_CUDA 0
+#define CONFIG_CUDA_LLVM 0
+#define CONFIG_CUVID 0
@@ -3807,6 +3784,8 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config.h
+#define CONFIG_HUFFMAN 0
+#define CONFIG_HUFFYUVDSP 0
+#define CONFIG_HUFFYUVENCDSP 0
++#define CONFIG_IAMFDEC 0
++#define CONFIG_IAMFENC 0
+#define CONFIG_IDCTDSP 1
+#define CONFIG_IIRFILTER 0
+#define CONFIG_INFLATE_WRAPPER 0
@@ -3816,6 +3795,7 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config.h
+#define CONFIG_JPEGTABLES 0
+#define CONFIG_LGPLV3 0
+#define CONFIG_LIBX262 0
++#define CONFIG_LIBX264_HDR10 0
+#define CONFIG_LLAUDDSP 0
+#define CONFIG_LLVIDDSP 0
+#define CONFIG_LLVIDENCDSP 0
@@ -3857,17 +3837,15 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config.h
+#define CONFIG_VAAPI_ENCODE 0
+#define CONFIG_VC1DSP 0
+#define CONFIG_VIDEODSP 1
-+#define CONFIG_VP3DSP 1
++#define CONFIG_VP3DSP 0
+#define CONFIG_VP56DSP 0
-+#define CONFIG_VP8DSP 1
++#define CONFIG_VP8DSP 0
+#define CONFIG_WMA_FREQS 0
+#define CONFIG_WMV2DSP 0
+#endif /* FFMPEG_CONFIG_H */
-Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config_components.h
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config_components.h
-@@ -0,0 +1,2217 @@
++++ b/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config_components.h
+@@ -0,0 +1,2210 @@
+/* Automatically generated by configure - do not modify! */
+#ifndef FFMPEG_CONFIG_COMPONENTS_H
+#define FFMPEG_CONFIG_COMPONENTS_H
@@ -3893,7 +3871,6 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config_comp
+#define CONFIG_MEDIA100_TO_MJPEGB_BSF 0
+#define CONFIG_MJPEG2JPEG_BSF 0
+#define CONFIG_MJPEGA_DUMP_HEADER_BSF 0
-+#define CONFIG_MP3_HEADER_DECOMPRESS_BSF 0
+#define CONFIG_MPEG2_METADATA_BSF 0
+#define CONFIG_MPEG4_UNPACK_BFRAMES_BSF 0
+#define CONFIG_MOV2TEXTSUB_BSF 0
@@ -3905,6 +3882,7 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config_comp
+#define CONFIG_PRORES_METADATA_BSF 0
+#define CONFIG_REMOVE_EXTRADATA_BSF 0
+#define CONFIG_SETTS_BSF 0
++#define CONFIG_SHOWINFO_BSF 0
+#define CONFIG_TEXT2MOVSUB_BSF 0
+#define CONFIG_TRACE_HEADERS_BSF 0
+#define CONFIG_TRUEHD_CORE_BSF 0
@@ -3933,7 +3911,6 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config_comp
+#define CONFIG_AVRN_DECODER 0
+#define CONFIG_AVS_DECODER 0
+#define CONFIG_AVUI_DECODER 0
-+#define CONFIG_AYUV_DECODER 0
+#define CONFIG_BETHSOFTVID_DECODER 0
+#define CONFIG_BFI_DECODER 0
+#define CONFIG_BINK_DECODER 0
@@ -4000,7 +3977,6 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config_comp
+#define CONFIG_H263P_DECODER 0
+#define CONFIG_H263_V4L2M2M_DECODER 0
+#define CONFIG_H264_DECODER 1
-+#define CONFIG_H264_CRYSTALHD_DECODER 0
+#define CONFIG_H264_V4L2M2M_DECODER 0
+#define CONFIG_H264_MEDIACODEC_DECODER 0
+#define CONFIG_H264_MMAL_DECODER 0
@@ -4048,13 +4024,11 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config_comp
+#define CONFIG_MPEG1VIDEO_DECODER 0
+#define CONFIG_MPEG2VIDEO_DECODER 0
+#define CONFIG_MPEG4_DECODER 1
-+#define CONFIG_MPEG4_CRYSTALHD_DECODER 0
+#define CONFIG_MPEG4_V4L2M2M_DECODER 0
+#define CONFIG_MPEG4_MMAL_DECODER 0
+#define CONFIG_MPEGVIDEO_DECODER 0
+#define CONFIG_MPEG1_V4L2M2M_DECODER 0
+#define CONFIG_MPEG2_MMAL_DECODER 0
-+#define CONFIG_MPEG2_CRYSTALHD_DECODER 0
+#define CONFIG_MPEG2_V4L2M2M_DECODER 0
+#define CONFIG_MPEG2_QSV_DECODER 0
+#define CONFIG_MPEG2_MEDIACODEC_DECODER 0
@@ -4063,7 +4037,6 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config_comp
+#define CONFIG_MSMPEG4V1_DECODER 0
+#define CONFIG_MSMPEG4V2_DECODER 0
+#define CONFIG_MSMPEG4V3_DECODER 0
-+#define CONFIG_MSMPEG4_CRYSTALHD_DECODER 0
+#define CONFIG_MSP2_DECODER 0
+#define CONFIG_MSRLE_DECODER 0
+#define CONFIG_MSS1_DECODER 0
@@ -4140,7 +4113,7 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config_comp
+#define CONFIG_TARGA_DECODER 0
+#define CONFIG_TARGA_Y216_DECODER 0
+#define CONFIG_TDSC_DECODER 0
-+#define CONFIG_THEORA_DECODER 1
++#define CONFIG_THEORA_DECODER 0
+#define CONFIG_THP_DECODER 0
+#define CONFIG_TIERTEXSEQVIDEO_DECODER 0
+#define CONFIG_TIFF_DECODER 0
@@ -4162,7 +4135,6 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config_comp
+#define CONFIG_VBN_DECODER 0
+#define CONFIG_VBLE_DECODER 0
+#define CONFIG_VC1_DECODER 0
-+#define CONFIG_VC1_CRYSTALHD_DECODER 0
+#define CONFIG_VC1IMAGE_DECODER 0
+#define CONFIG_VC1_MMAL_DECODER 0
+#define CONFIG_VC1_QSV_DECODER 0
@@ -4171,14 +4143,14 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config_comp
+#define CONFIG_VMDVIDEO_DECODER 0
+#define CONFIG_VMIX_DECODER 0
+#define CONFIG_VMNC_DECODER 0
-+#define CONFIG_VP3_DECODER 1
++#define CONFIG_VP3_DECODER 0
+#define CONFIG_VP4_DECODER 0
+#define CONFIG_VP5_DECODER 0
+#define CONFIG_VP6_DECODER 0
+#define CONFIG_VP6A_DECODER 0
+#define CONFIG_VP6F_DECODER 0
+#define CONFIG_VP7_DECODER 0
-+#define CONFIG_VP8_DECODER 1
++#define CONFIG_VP8_DECODER 0
+#define CONFIG_VP8_RKMPP_DECODER 0
+#define CONFIG_VP8_V4L2M2M_DECODER 0
+#define CONFIG_VP9_DECODER 0
@@ -4194,7 +4166,6 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config_comp
+#define CONFIG_WMV1_DECODER 0
+#define CONFIG_WMV2_DECODER 0
+#define CONFIG_WMV3_DECODER 0
-+#define CONFIG_WMV3_CRYSTALHD_DECODER 0
+#define CONFIG_WMV3IMAGE_DECODER 0
+#define CONFIG_WNV1_DECODER 0
+#define CONFIG_XAN_WC3_DECODER 0
@@ -4508,7 +4479,6 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config_comp
+#define CONFIG_ASV2_ENCODER 0
+#define CONFIG_AVRP_ENCODER 0
+#define CONFIG_AVUI_ENCODER 0
-+#define CONFIG_AYUV_ENCODER 0
+#define CONFIG_BITPACKED_ENCODER 0
+#define CONFIG_BMP_ENCODER 0
+#define CONFIG_CFHD_ENCODER 0
@@ -4518,6 +4488,7 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config_comp
+#define CONFIG_DNXHD_ENCODER 0
+#define CONFIG_DPX_ENCODER 0
+#define CONFIG_DVVIDEO_ENCODER 0
++#define CONFIG_DXV_ENCODER 0
+#define CONFIG_EXR_ENCODER 0
+#define CONFIG_FFV1_ENCODER 0
+#define CONFIG_FFVHUFF_ENCODER 0
@@ -4878,8 +4849,8 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config_comp
+#define CONFIG_TAK_PARSER 0
+#define CONFIG_VC1_PARSER 0
+#define CONFIG_VORBIS_PARSER 1
-+#define CONFIG_VP3_PARSER 1
-+#define CONFIG_VP8_PARSER 1
++#define CONFIG_VP3_PARSER 0
++#define CONFIG_VP8_PARSER 0
+#define CONFIG_VP9_PARSER 1
+#define CONFIG_VVC_PARSER 0
+#define CONFIG_WEBP_PARSER 0
@@ -5491,8 +5462,6 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config_comp
+#define CONFIG_AVSYNCTEST_FILTER 0
+#define CONFIG_AMOVIE_FILTER 0
+#define CONFIG_MOVIE_FILTER 0
-+#define CONFIG_AFIFO_FILTER 0
-+#define CONFIG_FIFO_FILTER 0
+#define CONFIG_AA_DEMUXER 0
+#define CONFIG_AAC_DEMUXER 1
+#define CONFIG_AAX_DEMUXER 0
@@ -5576,6 +5545,7 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config_comp
+#define CONFIG_DV_DEMUXER 0
+#define CONFIG_DVBSUB_DEMUXER 0
+#define CONFIG_DVBTXT_DEMUXER 0
++#define CONFIG_DVDVIDEO_DEMUXER 0
+#define CONFIG_DXA_DEMUXER 0
+#define CONFIG_EA_DEMUXER 0
+#define CONFIG_EA_CDATA_DEMUXER 0
@@ -5857,6 +5827,7 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config_comp
+#define CONFIG_AC4_MUXER 0
+#define CONFIG_ADTS_MUXER 0
+#define CONFIG_ADX_MUXER 0
++#define CONFIG_AEA_MUXER 0
+#define CONFIG_AIFF_MUXER 0
+#define CONFIG_ALP_MUXER 0
+#define CONFIG_AMR_MUXER 0
@@ -5896,7 +5867,6 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config_comp
+#define CONFIG_F4V_MUXER 0
+#define CONFIG_FFMETADATA_MUXER 0
+#define CONFIG_FIFO_MUXER 0
-+#define CONFIG_FIFO_TEST_MUXER 0
+#define CONFIG_FILMSTRIP_MUXER 0
+#define CONFIG_FITS_MUXER 0
+#define CONFIG_FLAC_MUXER 0
@@ -5986,6 +5956,7 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config_comp
+#define CONFIG_PCM_U8_MUXER 0
+#define CONFIG_PSP_MUXER 0
+#define CONFIG_RAWVIDEO_MUXER 0
++#define CONFIG_RCWT_MUXER 0
+#define CONFIG_RM_MUXER 0
+#define CONFIG_ROQ_MUXER 0
+#define CONFIG_RSO_MUXER 0
@@ -6085,25 +6056,18 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/config_comp
+#define CONFIG_IPFS_GATEWAY_PROTOCOL 0
+#define CONFIG_IPNS_GATEWAY_PROTOCOL 0
+#endif /* FFMPEG_CONFIG_COMPONENTS_H */
-Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/libavcodec/bsf_list.c
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/libavcodec/bsf_list.c
++++ b/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/libavcodec/bsf_list.c
@@ -0,0 +1,2 @@
+static const FFBitStreamFilter * const bitstream_filters[] = {
+ NULL };
-Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/libavcodec/codec_list.c
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/libavcodec/codec_list.c
-@@ -0,0 +1,22 @@
++++ b/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/libavcodec/codec_list.c
+@@ -0,0 +1,19 @@
+static const FFCodec * const codec_list[] = {
+ &ff_h263_decoder,
+ &ff_h264_decoder,
+ &ff_mpeg4_decoder,
-+ &ff_theora_decoder,
-+ &ff_vp3_decoder,
-+ &ff_vp8_decoder,
+ &ff_aac_decoder,
+ &ff_flac_decoder,
+ &ff_mp3_decoder,
@@ -6119,11 +6083,9 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/libavcodec/
+ &ff_pcm_u8_decoder,
+ &ff_libopus_decoder,
+ NULL };
-Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/libavcodec/parser_list.c
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/libavcodec/parser_list.c
-@@ -0,0 +1,13 @@
++++ b/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/libavcodec/parser_list.c
+@@ -0,0 +1,11 @@
+static const AVCodecParser * const parser_list[] = {
+ &ff_aac_parser,
+ &ff_flac_parser,
@@ -6133,16 +6095,12 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/libavcodec/
+ &ff_mpegaudio_parser,
+ &ff_opus_parser,
+ &ff_vorbis_parser,
-+ &ff_vp3_parser,
-+ &ff_vp8_parser,
+ &ff_vp9_parser,
+ NULL };
-Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/libavformat/demuxer_list.c
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/libavformat/demuxer_list.c
++++ b/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/libavformat/demuxer_list.c
@@ -0,0 +1,10 @@
-+static const AVInputFormat * const demuxer_list[] = {
++static const FFInputFormat * const demuxer_list[] = {
+ &ff_aac_demuxer,
+ &ff_avi_demuxer,
+ &ff_flac_demuxer,
@@ -6152,24 +6110,18 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/libavformat
+ &ff_ogg_demuxer,
+ &ff_wav_demuxer,
+ NULL };
-Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/libavformat/muxer_list.c
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/libavformat/muxer_list.c
++++ b/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/libavformat/muxer_list.c
@@ -0,0 +1,2 @@
+static const FFOutputFormat * const muxer_list[] = {
+ NULL };
-Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/libavformat/protocol_list.c
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/libavformat/protocol_list.c
++++ b/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/libavformat/protocol_list.c
@@ -0,0 +1,2 @@
+static const URLProtocol * const url_protocols[] = {
+ NULL };
-Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/libavutil/avconfig.h
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/libavutil/avconfig.h
++++ b/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/libavutil/avconfig.h
@@ -0,0 +1,6 @@
+/* Generated by ffmpeg configure */
+#ifndef AVUTIL_AVCONFIG_H
@@ -6177,37 +6129,31 @@ Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/libavutil/a
+#define AV_HAVE_BIGENDIAN 0
+#define AV_HAVE_FAST_UNALIGNED 0
+#endif /* AVUTIL_AVCONFIG_H */
-Index: src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/libavutil/ffversion.h
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/libavutil/ffversion.h
++++ b/third_party/ffmpeg/chromium/config/ChromeOS/linux/riscv64/libavutil/ffversion.h
@@ -0,0 +1,5 @@
+/* Automatically generated by version.sh, do not manually edit! */
+#ifndef AVUTIL_FFVERSION_H
+#define AVUTIL_FFVERSION_H
+#define FFMPEG_VERSION "5.1.git"
+#endif /* AVUTIL_FFVERSION_H */
-Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h
-@@ -0,0 +1,768 @@
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h
+@@ -0,0 +1,775 @@
+/* Automatically generated by configure - do not modify! */
+#ifndef FFMPEG_CONFIG_H
+#define FFMPEG_CONFIG_H
-+/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/home/hacker/chromium/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=riscv64" -- elide
long configuration string from binary */
++/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/home/hacker/chromium/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --arch=riscv64 --enable-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld
'" -- elide long configuration string from binary */
+#define FFMPEG_LICENSE "LGPL version 2.1 or later"
+#define CONFIG_THIS_YEAR 2024
+#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
+#define AVCONV_DATADIR "/usr/local/share/ffmpeg"
-+#define CC_IDENT "gcc 13.2.1 (GCC) 20230801"
++#define CC_IDENT "Debian clang version 16.0.6 (27)"
+#define OS_NAME linux
-+#define av_restrict restrict
+#define EXTERN_PREFIX ""
+#define EXTERN_ASM
+#define BUILDSUF ""
+#define SLIBSUF ".so"
-+#define HAVE_MMX2 HAVE_MMXEXT
+#define SWS_MAX_FILTER_SIZE 256
+#define ARCH_AARCH64 0
+#define ARCH_ALPHA 0
@@ -6252,8 +6198,8 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h
+#define HAVE_POWER8 0
+#define HAVE_PPC4XX 0
+#define HAVE_VSX 0
-+#define HAVE_RV 1
-+#define HAVE_RVV 1
++#define HAVE_RV 0
++#define HAVE_RVV 0
+#define HAVE_AESNI 0
+#define HAVE_AMD3DNOW 0
+#define HAVE_AMD3DNOWEXT 0
@@ -6439,6 +6385,7 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h
+#define HAVE_OPENCV2_CORE_CORE_C_H 0
+#define HAVE_OPENGL_GL3_H 0
+#define HAVE_POLL_H 1
++#define HAVE_PTHREAD_NP_H 0
+#define HAVE_SYS_PARAM_H 1
+#define HAVE_SYS_RESOURCE_H 1
+#define HAVE_SYS_SELECT_H 1
@@ -6529,6 +6476,8 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h
+#define HAVE_POSIX_MEMALIGN 1
+#define HAVE_PRCTL 0 /* #define HAVE_PRCTL 1 -- forced to 0 for Fuchsia */
+#define HAVE_PTHREAD_CANCEL 1
++#define HAVE_PTHREAD_SET_NAME_NP 0
++#define HAVE_PTHREAD_SETNAME_NP 0
+#define HAVE_SCHED_GETAFFINITY 1
+#define HAVE_SECITEMIMPORT 0
+#define HAVE_SETCONSOLETEXTATTRIBUTE 0
@@ -6572,7 +6521,7 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h
+#define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
+#define HAVE_PRAGMA_DEPRECATED 1
+#define HAVE_RSYNC_CONTIMEOUT 0
-+#define HAVE_SYMVER_ASM_LABEL 0
++#define HAVE_SYMVER_ASM_LABEL 1
+#define HAVE_SYMVER_GNU_ASM 1
+#define HAVE_VFP_ARGS 0
+#define HAVE_XFORM_ASM 0
@@ -6612,18 +6561,19 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h
+#define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 0
+#define HAVE_GZIP 1
+#define HAVE_LIBDRM_GETFB2 0
-+#define HAVE_MAKEINFO 1
-+#define HAVE_MAKEINFO_HTML 1
++#define HAVE_MAKEINFO 0
++#define HAVE_MAKEINFO_HTML 0
+#define HAVE_OPENCL_D3D11 0
+#define HAVE_OPENCL_DRM_ARM 0
+#define HAVE_OPENCL_DRM_BEIGNET 0
+#define HAVE_OPENCL_DXVA2 0
+#define HAVE_OPENCL_VAAPI_BEIGNET 0
+#define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0
++#define HAVE_OPENCL_VIDEOTOOLBOX 0
+#define HAVE_PERL 1
+#define HAVE_POD2MAN 1
+#define HAVE_TEXI2HTML 0
-+#define HAVE_XMLLINT 1
++#define HAVE_XMLLINT 0
+#define HAVE_ZLIB_GZIP 0
+#define HAVE_OPENVINO2 0
+#define CONFIG_DOC 0
@@ -6659,6 +6609,8 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h
+#define CONFIG_FREI0R 0
+#define CONFIG_LIBCDIO 0
+#define CONFIG_LIBDAVS2 0
++#define CONFIG_LIBDVDNAV 0
++#define CONFIG_LIBDVDREAD 0
+#define CONFIG_LIBRUBBERBAND 0
+#define CONFIG_LIBVIDSTAB 0
+#define CONFIG_LIBX264 0
@@ -6738,6 +6690,7 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h
+#define CONFIG_LIBTENSORFLOW 0
+#define CONFIG_LIBTESSERACT 0
+#define CONFIG_LIBTHEORA 0
++#define CONFIG_LIBTORCH 0
+#define CONFIG_LIBTWOLAME 0
+#define CONFIG_LIBUAVS3D 0
+#define CONFIG_LIBV4L2 0
@@ -6787,7 +6740,6 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h
+#define CONFIG_OPENCL 0
+#define CONFIG_AMF 0
+#define CONFIG_AUDIOTOOLBOX 0
-+#define CONFIG_CRYSTALHD 0
+#define CONFIG_CUDA 0
+#define CONFIG_CUDA_LLVM 0
+#define CONFIG_CUVID 0
@@ -6895,15 +6847,17 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h
+#define CONFIG_H264CHROMA 0
+#define CONFIG_H264DSP 0
+#define CONFIG_H264PARSE 0
-+#define CONFIG_H264PRED 1
++#define CONFIG_H264PRED 0
+#define CONFIG_H264QPEL 0
+#define CONFIG_H264_SEI 0
+#define CONFIG_HEVCPARSE 0
+#define CONFIG_HEVC_SEI 0
-+#define CONFIG_HPELDSP 1
++#define CONFIG_HPELDSP 0
+#define CONFIG_HUFFMAN 0
+#define CONFIG_HUFFYUVDSP 0
+#define CONFIG_HUFFYUVENCDSP 0
++#define CONFIG_IAMFDEC 0
++#define CONFIG_IAMFENC 0
+#define CONFIG_IDCTDSP 0
+#define CONFIG_IIRFILTER 0
+#define CONFIG_INFLATE_WRAPPER 0
@@ -6913,6 +6867,7 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h
+#define CONFIG_JPEGTABLES 0
+#define CONFIG_LGPLV3 0
+#define CONFIG_LIBX262 0
++#define CONFIG_LIBX264_HDR10 0
+#define CONFIG_LLAUDDSP 0
+#define CONFIG_LLVIDDSP 0
+#define CONFIG_LLVIDENCDSP 0
@@ -6953,18 +6908,16 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h
+#define CONFIG_VAAPI_1 0
+#define CONFIG_VAAPI_ENCODE 0
+#define CONFIG_VC1DSP 0
-+#define CONFIG_VIDEODSP 1
-+#define CONFIG_VP3DSP 1
++#define CONFIG_VIDEODSP 0
++#define CONFIG_VP3DSP 0
+#define CONFIG_VP56DSP 0
-+#define CONFIG_VP8DSP 1
++#define CONFIG_VP8DSP 0
+#define CONFIG_WMA_FREQS 0
+#define CONFIG_WMV2DSP 0
+#endif /* FFMPEG_CONFIG_H */
-Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_components.h
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_components.h
-@@ -0,0 +1,2217 @@
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_components.h
+@@ -0,0 +1,2210 @@
+/* Automatically generated by configure - do not modify! */
+#ifndef FFMPEG_CONFIG_COMPONENTS_H
+#define FFMPEG_CONFIG_COMPONENTS_H
@@ -6990,7 +6943,6 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_comp
+#define CONFIG_MEDIA100_TO_MJPEGB_BSF 0
+#define CONFIG_MJPEG2JPEG_BSF 0
+#define CONFIG_MJPEGA_DUMP_HEADER_BSF 0
-+#define CONFIG_MP3_HEADER_DECOMPRESS_BSF 0
+#define CONFIG_MPEG2_METADATA_BSF 0
+#define CONFIG_MPEG4_UNPACK_BFRAMES_BSF 0
+#define CONFIG_MOV2TEXTSUB_BSF 0
@@ -7002,6 +6954,7 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_comp
+#define CONFIG_PRORES_METADATA_BSF 0
+#define CONFIG_REMOVE_EXTRADATA_BSF 0
+#define CONFIG_SETTS_BSF 0
++#define CONFIG_SHOWINFO_BSF 0
+#define CONFIG_TEXT2MOVSUB_BSF 0
+#define CONFIG_TRACE_HEADERS_BSF 0
+#define CONFIG_TRUEHD_CORE_BSF 0
@@ -7030,7 +6983,6 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_comp
+#define CONFIG_AVRN_DECODER 0
+#define CONFIG_AVS_DECODER 0
+#define CONFIG_AVUI_DECODER 0
-+#define CONFIG_AYUV_DECODER 0
+#define CONFIG_BETHSOFTVID_DECODER 0
+#define CONFIG_BFI_DECODER 0
+#define CONFIG_BINK_DECODER 0
@@ -7097,7 +7049,6 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_comp
+#define CONFIG_H263P_DECODER 0
+#define CONFIG_H263_V4L2M2M_DECODER 0
+#define CONFIG_H264_DECODER 0
-+#define CONFIG_H264_CRYSTALHD_DECODER 0
+#define CONFIG_H264_V4L2M2M_DECODER 0
+#define CONFIG_H264_MEDIACODEC_DECODER 0
+#define CONFIG_H264_MMAL_DECODER 0
@@ -7145,13 +7096,11 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_comp
+#define CONFIG_MPEG1VIDEO_DECODER 0
+#define CONFIG_MPEG2VIDEO_DECODER 0
+#define CONFIG_MPEG4_DECODER 0
-+#define CONFIG_MPEG4_CRYSTALHD_DECODER 0
+#define CONFIG_MPEG4_V4L2M2M_DECODER 0
+#define CONFIG_MPEG4_MMAL_DECODER 0
+#define CONFIG_MPEGVIDEO_DECODER 0
+#define CONFIG_MPEG1_V4L2M2M_DECODER 0
+#define CONFIG_MPEG2_MMAL_DECODER 0
-+#define CONFIG_MPEG2_CRYSTALHD_DECODER 0
+#define CONFIG_MPEG2_V4L2M2M_DECODER 0
+#define CONFIG_MPEG2_QSV_DECODER 0
+#define CONFIG_MPEG2_MEDIACODEC_DECODER 0
@@ -7160,7 +7109,6 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_comp
+#define CONFIG_MSMPEG4V1_DECODER 0
+#define CONFIG_MSMPEG4V2_DECODER 0
+#define CONFIG_MSMPEG4V3_DECODER 0
-+#define CONFIG_MSMPEG4_CRYSTALHD_DECODER 0
+#define CONFIG_MSP2_DECODER 0
+#define CONFIG_MSRLE_DECODER 0
+#define CONFIG_MSS1_DECODER 0
@@ -7237,7 +7185,7 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_comp
+#define CONFIG_TARGA_DECODER 0
+#define CONFIG_TARGA_Y216_DECODER 0
+#define CONFIG_TDSC_DECODER 0
-+#define CONFIG_THEORA_DECODER 1
++#define CONFIG_THEORA_DECODER 0
+#define CONFIG_THP_DECODER 0
+#define CONFIG_TIERTEXSEQVIDEO_DECODER 0
+#define CONFIG_TIFF_DECODER 0
@@ -7259,7 +7207,6 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_comp
+#define CONFIG_VBN_DECODER 0
+#define CONFIG_VBLE_DECODER 0
+#define CONFIG_VC1_DECODER 0
-+#define CONFIG_VC1_CRYSTALHD_DECODER 0
+#define CONFIG_VC1IMAGE_DECODER 0
+#define CONFIG_VC1_MMAL_DECODER 0
+#define CONFIG_VC1_QSV_DECODER 0
@@ -7268,14 +7215,14 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_comp
+#define CONFIG_VMDVIDEO_DECODER 0
+#define CONFIG_VMIX_DECODER 0
+#define CONFIG_VMNC_DECODER 0
-+#define CONFIG_VP3_DECODER 1
++#define CONFIG_VP3_DECODER 0
+#define CONFIG_VP4_DECODER 0
+#define CONFIG_VP5_DECODER 0
+#define CONFIG_VP6_DECODER 0
+#define CONFIG_VP6A_DECODER 0
+#define CONFIG_VP6F_DECODER 0
+#define CONFIG_VP7_DECODER 0
-+#define CONFIG_VP8_DECODER 1
++#define CONFIG_VP8_DECODER 0
+#define CONFIG_VP8_RKMPP_DECODER 0
+#define CONFIG_VP8_V4L2M2M_DECODER 0
+#define CONFIG_VP9_DECODER 0
@@ -7291,7 +7238,6 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_comp
+#define CONFIG_WMV1_DECODER 0
+#define CONFIG_WMV2_DECODER 0
+#define CONFIG_WMV3_DECODER 0
-+#define CONFIG_WMV3_CRYSTALHD_DECODER 0
+#define CONFIG_WMV3IMAGE_DECODER 0
+#define CONFIG_WNV1_DECODER 0
+#define CONFIG_XAN_WC3_DECODER 0
@@ -7605,7 +7551,6 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_comp
+#define CONFIG_ASV2_ENCODER 0
+#define CONFIG_AVRP_ENCODER 0
+#define CONFIG_AVUI_ENCODER 0
-+#define CONFIG_AYUV_ENCODER 0
+#define CONFIG_BITPACKED_ENCODER 0
+#define CONFIG_BMP_ENCODER 0
+#define CONFIG_CFHD_ENCODER 0
@@ -7615,6 +7560,7 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_comp
+#define CONFIG_DNXHD_ENCODER 0
+#define CONFIG_DPX_ENCODER 0
+#define CONFIG_DVVIDEO_ENCODER 0
++#define CONFIG_DXV_ENCODER 0
+#define CONFIG_EXR_ENCODER 0
+#define CONFIG_FFV1_ENCODER 0
+#define CONFIG_FFVHUFF_ENCODER 0
@@ -7975,8 +7921,8 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_comp
+#define CONFIG_TAK_PARSER 0
+#define CONFIG_VC1_PARSER 0
+#define CONFIG_VORBIS_PARSER 1
-+#define CONFIG_VP3_PARSER 1
-+#define CONFIG_VP8_PARSER 1
++#define CONFIG_VP3_PARSER 0
++#define CONFIG_VP8_PARSER 0
+#define CONFIG_VP9_PARSER 1
+#define CONFIG_VVC_PARSER 0
+#define CONFIG_WEBP_PARSER 0
@@ -8588,8 +8534,6 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_comp
+#define CONFIG_AVSYNCTEST_FILTER 0
+#define CONFIG_AMOVIE_FILTER 0
+#define CONFIG_MOVIE_FILTER 0
-+#define CONFIG_AFIFO_FILTER 0
-+#define CONFIG_FIFO_FILTER 0
+#define CONFIG_AA_DEMUXER 0
+#define CONFIG_AAC_DEMUXER 0
+#define CONFIG_AAX_DEMUXER 0
@@ -8673,6 +8617,7 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_comp
+#define CONFIG_DV_DEMUXER 0
+#define CONFIG_DVBSUB_DEMUXER 0
+#define CONFIG_DVBTXT_DEMUXER 0
++#define CONFIG_DVDVIDEO_DEMUXER 0
+#define CONFIG_DXA_DEMUXER 0
+#define CONFIG_EA_DEMUXER 0
+#define CONFIG_EA_CDATA_DEMUXER 0
@@ -8954,6 +8899,7 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_comp
+#define CONFIG_AC4_MUXER 0
+#define CONFIG_ADTS_MUXER 0
+#define CONFIG_ADX_MUXER 0
++#define CONFIG_AEA_MUXER 0
+#define CONFIG_AIFF_MUXER 0
+#define CONFIG_ALP_MUXER 0
+#define CONFIG_AMR_MUXER 0
@@ -8993,7 +8939,6 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_comp
+#define CONFIG_F4V_MUXER 0
+#define CONFIG_FFMETADATA_MUXER 0
+#define CONFIG_FIFO_MUXER 0
-+#define CONFIG_FIFO_TEST_MUXER 0
+#define CONFIG_FILMSTRIP_MUXER 0
+#define CONFIG_FITS_MUXER 0
+#define CONFIG_FLAC_MUXER 0
@@ -9083,6 +9028,7 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_comp
+#define CONFIG_PCM_U8_MUXER 0
+#define CONFIG_PSP_MUXER 0
+#define CONFIG_RAWVIDEO_MUXER 0
++#define CONFIG_RCWT_MUXER 0
+#define CONFIG_RM_MUXER 0
+#define CONFIG_ROQ_MUXER 0
+#define CONFIG_RSO_MUXER 0
@@ -9182,22 +9128,15 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_comp
+#define CONFIG_IPFS_GATEWAY_PROTOCOL 0
+#define CONFIG_IPNS_GATEWAY_PROTOCOL 0
+#endif /* FFMPEG_CONFIG_COMPONENTS_H */
-Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/bsf_list.c
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/bsf_list.c
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/bsf_list.c
@@ -0,0 +1,2 @@
+static const FFBitStreamFilter * const bitstream_filters[] = {
+ NULL };
-Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/codec_list.c
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/codec_list.c
-@@ -0,0 +1,18 @@
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/codec_list.c
+@@ -0,0 +1,15 @@
+static const FFCodec * const codec_list[] = {
-+ &ff_theora_decoder,
-+ &ff_vp3_decoder,
-+ &ff_vp8_decoder,
+ &ff_flac_decoder,
+ &ff_mp3_decoder,
+ &ff_vorbis_decoder,
@@ -9212,26 +9151,20 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/
+ &ff_pcm_u8_decoder,
+ &ff_libopus_decoder,
+ NULL };
-Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/parser_list.c
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/parser_list.c
-@@ -0,0 +1,9 @@
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/parser_list.c
+@@ -0,0 +1,7 @@
+static const AVCodecParser * const parser_list[] = {
+ &ff_flac_parser,
+ &ff_mpegaudio_parser,
+ &ff_opus_parser,
+ &ff_vorbis_parser,
-+ &ff_vp3_parser,
-+ &ff_vp8_parser,
+ &ff_vp9_parser,
+ NULL };
-Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/demuxer_list.c
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/demuxer_list.c
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/demuxer_list.c
@@ -0,0 +1,8 @@
-+static const AVInputFormat * const demuxer_list[] = {
++static const FFInputFormat * const demuxer_list[] = {
+ &ff_flac_demuxer,
+ &ff_matroska_demuxer,
+ &ff_mov_demuxer,
@@ -9239,24 +9172,18 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat
+ &ff_ogg_demuxer,
+ &ff_wav_demuxer,
+ NULL };
-Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/muxer_list.c
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/muxer_list.c
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/muxer_list.c
@@ -0,0 +1,2 @@
+static const FFOutputFormat * const muxer_list[] = {
+ NULL };
-Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/protocol_list.c
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/protocol_list.c
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/protocol_list.c
@@ -0,0 +1,2 @@
+static const URLProtocol * const url_protocols[] = {
+ NULL };
-Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/avconfig.h
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/avconfig.h
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/avconfig.h
@@ -0,0 +1,6 @@
+/* Generated by ffmpeg configure */
+#ifndef AVUTIL_AVCONFIG_H
@@ -9264,30 +9191,83 @@ Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/a
+#define AV_HAVE_BIGENDIAN 0
+#define AV_HAVE_FAST_UNALIGNED 0
+#endif /* AVUTIL_AVCONFIG_H */
-Index: src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/ffversion.h
-===================================================================
--- /dev/null
-+++ src/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/ffversion.h
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/ffversion.h
@@ -0,0 +1,5 @@
+/* Automatically generated by version.sh, do not manually edit! */
+#ifndef AVUTIL_FFVERSION_H
+#define AVUTIL_FFVERSION_H
+#define FFMPEG_VERSION "5.1.git"
+#endif /* AVUTIL_FFVERSION_H */
-Index: src/third_party/ffmpeg/ffmpeg_generated.gni
-===================================================================
---- src.orig/third_party/ffmpeg/ffmpeg_generated.gni
-+++ src/third_party/ffmpeg/ffmpeg_generated.gni
-@@ -638,3 +638,64 @@ if (use_linux_config && current_cpu == "
- ]
+--- a/media/ffmpeg/scripts/build_ffmpeg.py
++++ b/media/ffmpeg/scripts/build_ffmpeg.py
+@@ -43,7 +43,7 @@
+
+ ARCH_MAP = {
+ 'android': ['ia32', 'x64', 'arm-neon', 'arm64'],
+- 'linux': ['ia32', 'x64', 'noasm-x64', 'arm', 'arm-neon', 'arm64'],
++ 'linux': ['ia32', 'x64', 'noasm-x64', 'arm', 'arm-neon', 'arm64', 'riscv64'],
+ 'mac': ['x64', 'arm64'],
+ 'win': ['ia32', 'x64', 'arm64'],
}
+@@ -672,7 +672,7 @@
+ '--disable-securetransport',
+ '--disable-faan',
+ '--disable-alsa',
+- '--disable-iamf',
++ # '--disable-iamf',
+ # Disable automatically detected external libraries. This prevents
+ # automatic inclusion of things like hardware decoders. Each roll should
+@@ -898,6 +898,10 @@
+ '--extra-cflags=--target=mips64el-linux-gnuabi64',
+ '--extra-ldflags=--target=mips64el-linux-gnuabi64',
+ ])
++ elif target_arch == 'riscv64':
++ configure_flags['Common'].extend([
++ '--arch=riscv64',
++ ])
+ else:
+ print('Error: Unknown target arch %r for target OS %r!' %
+ (target_arch, target_os),
+--- a/third_party/ffmpeg/chromium/scripts/generate_gn.py
++++ b/third_party/ffmpeg/chromium/scripts/generate_gn.py
+@@ -77,7 +77,7 @@
+ _Attrs = ('ARCHITECTURE', 'TARGET', 'PLATFORM')
+ Attr = collections.namedtuple('Attr', _Attrs)(*_Attrs)
+ SUPPORT_MATRIX = {
+- Attr.ARCHITECTURE: set(['ia32', 'x64', 'arm', 'arm64', 'arm-neon']),
++ Attr.ARCHITECTURE: set(['ia32', 'x64', 'arm', 'arm64', 'arm-neon', 'riscv64']),
+ Attr.TARGET: set(['Chromium', 'Chrome', 'ChromeOS']),
+ Attr.PLATFORM: set(['android', 'linux', 'win', 'mac'])
+ }
+--- a/media/ffmpeg/scripts/robo_lib/config.py
++++ b/media/ffmpeg/scripts/robo_lib/config.py
+@@ -189,6 +189,8 @@
+ self._host_architecture = "mips64el"
+ elif platform.machine().startswith("arm"):
+ self._host_architecture = "arm"
++ elif platform.machine() == "riscv64":
++ self._host_architecture = "riscv64"
+ else:
+ raise ValueError(
+ f"Unrecognized CPU architecture: {platform.machine()}")
+--- a/third_party/ffmpeg/ffmpeg_generated.gni
++++ b/third_party/ffmpeg/ffmpeg_generated.gni
+@@ -697,3 +697,90 @@
+ if (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") {
+ ffmpeg_asm_sources += [ "libavcodec/x86/simple_idct10.asm" ]
+ }
++
+if (use_linux_config && current_cpu == "riscv64") {
+ ffmpeg_c_sources += [
++ "libavcodec/riscv/aacencdsp_init.c",
+ "libavcodec/riscv/aacpsdsp_init.c",
+ "libavcodec/riscv/ac3dsp_init.c",
+ "libavcodec/riscv/alacdsp_init.c",
+ "libavcodec/riscv/audiodsp_init.c",
++ "libavcodec/riscv/blockdsp_init.c",
++ "libavcodec/riscv/bswapdsp_init.c",
+ "libavcodec/riscv/exrdsp_init.c",
+ "libavcodec/riscv/flacdsp_init.c",
+ "libavcodec/riscv/fmtconvert_init.c",
@@ -9298,12 +9278,20 @@ Index: src/third_party/ffmpeg/ffmpeg_generated.gni
+ "libavcodec/riscv/jpeg2000dsp_init.c",
+ "libavcodec/riscv/llauddsp_init.c",
+ "libavcodec/riscv/llviddsp_init.c",
++ "libavcodec/riscv/llvidencdsp_init.c",
++ "libavcodec/riscv/lpc_init.c",
++ "libavcodec/riscv/me_cmp_init.c",
+ "libavcodec/riscv/opusdsp_init.c",
+ "libavcodec/riscv/pixblockdsp_init.c",
++ "libavcodec/riscv/rv34dsp_init.c",
+ "libavcodec/riscv/sbrdsp_init.c",
++ "libavcodec/riscv/svqenc_init.c",
++ "libavcodec/riscv/takdsp_init.c",
+ "libavcodec/riscv/utvideodsp_init.c",
++ "libavcodec/riscv/vc1dsp_init.c",
+ "libavcodec/riscv/vorbisdsp_init.c",
-+ "libavcodec/riscv/bswapdsp_init.c",
++ "libavcodec/riscv/vp8dsp_init.c",
++ "libavfilter/riscv/af_afir_init.c",
+ "libavutil/riscv/cpu.c",
+ "libavutil/riscv/fixed_dsp_init.c",
+ "libavutil/riscv/float_dsp_init.c",
@@ -9314,11 +9302,14 @@ Index: src/third_party/ffmpeg/ffmpeg_generated.gni
+ "libavutil/riscv/timer.h",
+ ]
+ ffmpeg_gas_sources += [
++ "libavcodec/riscv/aacencdsp_rvv.S",
+ "libavcodec/riscv/aacpsdsp_rvv.S",
+ "libavcodec/riscv/ac3dsp_rvb.S",
++ "libavcodec/riscv/ac3dsp_rvv.S",
+ "libavcodec/riscv/alacdsp_rvv.S",
+ "libavcodec/riscv/audiodsp_rvf.S",
+ "libavcodec/riscv/audiodsp_rvv.S",
++ "libavcodec/riscv/blockdsp_rvv.S",
+ "libavcodec/riscv/bswapdsp_rvb.S",
+ "libavcodec/riscv/bswapdsp_rvv.S",
+ "libavcodec/riscv/exrdsp_rvv.S",
@@ -9331,141 +9322,27 @@ Index: src/third_party/ffmpeg/ffmpeg_generated.gni
+ "libavcodec/riscv/jpeg2000dsp_rvv.S",
+ "libavcodec/riscv/llauddsp_rvv.S",
+ "libavcodec/riscv/llviddsp_rvv.S",
++ "libavcodec/riscv/llvidencdsp_rvv.S",
++ "libavcodec/riscv/lpc_rvv.S",
++ "libavcodec/riscv/me_cmp_rvv.S",
+ "libavcodec/riscv/opusdsp_rvv.S",
+ "libavcodec/riscv/pixblockdsp_rvi.S",
+ "libavcodec/riscv/pixblockdsp_rvv.S",
++ "libavcodec/riscv/rv34dsp_rvv.S",
+ "libavcodec/riscv/sbrdsp_rvv.S",
++ "libavcodec/riscv/svqenc_rvv.S",
++ "libavcodec/riscv/takdsp_rvv.S",
+ "libavcodec/riscv/utvideodsp_rvv.S",
++ "libavcodec/riscv/vc1dsp_rvv.S",
+ "libavcodec/riscv/vorbisdsp_rvv.S",
++ "libavcodec/riscv/vp8dsp_rvv.S",
++ "libavfilter/riscv/af_afir_rvv.S",
+ "libavutil/riscv/asm.S",
++ "libavutil/riscv/bswap_rvb.S",
+ "libavutil/riscv/fixed_dsp_rvv.S",
+ "libavutil/riscv/float_dsp_rvv.S",
++ "libswscale/riscv/rgb2rgb_rvb.S",
+ "libswscale/riscv/rgb2rgb_rvv.S",
+ ]
+}
-Index: src/third_party/ffmpeg/chromium/scripts/build_ffmpeg.py
-===================================================================
---- src.orig/third_party/ffmpeg/chromium/scripts/build_ffmpeg.py
-+++ src/third_party/ffmpeg/chromium/scripts/build_ffmpeg.py
-@@ -43,7 +43,7 @@ BRANDINGS = [
- ARCH_MAP = {
- 'android': ['ia32', 'x64', 'arm-neon', 'arm64'],
- 'linux': [
-- 'ia32', 'x64', 'noasm-x64', 'arm', 'arm-neon', 'arm64'
-+ 'ia32', 'x64', 'noasm-x64', 'arm', 'arm-neon', 'arm64', 'riscv64'
- ],
- 'mac': ['x64', 'arm64'],
- 'win': ['ia32', 'x64', 'arm64'],
-@@ -889,6 +889,10 @@ def ConfigureAndBuild(target_arch, targe
- '--extra-cflags=--target=mips64el-linux-gnuabi64',
- '--extra-ldflags=--target=mips64el-linux-gnuabi64',
- ])
-+ elif target_arch == 'riscv64':
-+ configure_flags['Common'].extend([
-+ '--arch=riscv64',
-+ ])
- else:
- print(
- 'Error: Unknown target arch %r for target OS %r!' % (target_arch,
-@@ -902,7 +906,7 @@ def ConfigureAndBuild(target_arch, targe
- '--disable-inline-asm',
- ])
-
-- if 'win' not in target_os and 'android' not in target_os:
-+ if 'win' not in target_os and 'android' not in target_os and 'riscv64' not in target_arch:
- configure_flags['Common'].extend([
- '--enable-pic',
- '--cc=clang',
-Index: src/third_party/ffmpeg/chromium/scripts/copy_config.sh
-===================================================================
---- src.orig/third_party/ffmpeg/chromium/scripts/copy_config.sh
-+++ src/third_party/ffmpeg/chromium/scripts/copy_config.sh
-@@ -10,7 +10,7 @@ for os in android linux linux-noasm mac
- # Copy config files for various architectures:
- # - ia32/x64 have config.asm, config.h
- # - arm/arm-neon have config.h
-- for arch in arm arm-neon arm64 ia32 x64 mipsel mips64el; do
-+ for arch in arm arm-neon arm64 ia32 x64 mipsel mips64el riscv64; do
- # Don't waste time on non-existent configs, if no config.h then skip.
- [ ! -e "build.$arch.$os/$target/config.h" ] && continue
- for f in config.h config_components.h config.asm libavutil/avconfig.h libavutil/ffversion.h libavcodec/bsf_list.c libavcodec/codec_list.c libavcodec/parser_list.c libavformat/demuxer_list.c libavformat/muxer_list.c libavformat/protocol_list.c; do
-Index: src/third_party/ffmpeg/chromium/scripts/generate_gn.py
-===================================================================
---- src.orig/third_party/ffmpeg/chromium/scripts/generate_gn.py
-+++ src/third_party/ffmpeg/chromium/scripts/generate_gn.py
-@@ -82,7 +82,7 @@ _Attrs = ('ARCHITECTURE', 'TARGET', 'PLA
- Attr = collections.namedtuple('Attr', _Attrs)(*_Attrs)
- SUPPORT_MATRIX = {
- Attr.ARCHITECTURE:
-- set(['ia32', 'x64', 'arm', 'arm64', 'arm-neon']),
-+ set(['ia32', 'x64', 'arm', 'arm64', 'arm-neon', 'riscv64']),
- Attr.TARGET:
- set(['Chromium', 'Chrome', 'ChromeOS']),
- Attr.PLATFORM:
-Index: src/third_party/ffmpeg/chromium/scripts/generate_gn_unittest.py
-===================================================================
---- src.orig/third_party/ffmpeg/chromium/scripts/generate_gn_unittest.py
-+++ src/third_party/ffmpeg/chromium/scripts/generate_gn_unittest.py
-@@ -329,6 +329,10 @@ class SourceSetUnittest(unittest.TestCas
- f = SourceSet(
- set(['common', 'arm-neon', 'chrome', 'chromeos']),
- set([SourceListCondition('arm-neon', 'ChromeOS', 'linux')]))
-+ g = SourceSet(
-+ set(['common']),
-+ set([SourceListCondition('riscv64', 'Chromium', 'linux')]))
-+
-
- expected = set()
- expected.add(
-@@ -340,7 +344,8 @@ class SourceSetUnittest(unittest.TestCas
- SourceListCondition('x64', 'Chromium', 'linux'),
- SourceListCondition('x64', 'Chrome', 'linux'),
- SourceListCondition('arm', 'Chromium', 'linux'),
-- SourceListCondition('arm-neon', 'ChromeOS', 'linux')
-+ SourceListCondition('arm-neon', 'ChromeOS', 'linux'),
-+ SourceListCondition('riscv64', 'Chromium', 'linux')
- ])))
- expected.add(
- SourceSet(
-@@ -368,7 +373,7 @@ class SourceSetUnittest(unittest.TestCas
- set(['arm-neon', 'chromeos']),
- set([SourceListCondition('arm-neon', 'ChromeOS', 'linux')])))
-
-- source_sets = gg.CreatePairwiseDisjointSets([a, b, c, d, e, f])
-+ source_sets = gg.CreatePairwiseDisjointSets([a, b, c, d, e, f, g])
- self.assertEqualSourceSets(expected, set(source_sets))
-
- def testReduceConditions(self):
-@@ -381,6 +386,7 @@ class SourceSetUnittest(unittest.TestCas
- SourceListCondition('arm', 'Chromium', 'linux'),
- SourceListCondition('arm64', 'Chromium', 'linux'),
- SourceListCondition('arm-neon', 'Chromium', 'linux'),
-+ SourceListCondition('riscv64', 'Chromium', 'linux'),
- ]))
- gg.ReduceConditionalLogic(a)
-
-Index: src/third_party/ffmpeg/chromium/scripts/robo_lib/config.py
-===================================================================
---- src.orig/third_party/ffmpeg/chromium/scripts/robo_lib/config.py
-+++ src/third_party/ffmpeg/chromium/scripts/robo_lib/config.py
-@@ -162,6 +162,8 @@ class RoboConfiguration:
- self._host_architecture = "mips64el"
- elif platform.machine().startswith("arm"):
- self._host_architecture = "arm"
-+ elif platform.machine() == "riscv64":
-+ self._host_architecture = "riscv64"
- else:
- raise ValueError(f"Unrecognized CPU architecture: {platform.machine()}")
-
-@@ -235,9 +237,7 @@ class RoboConfiguration:
- def EnsureNoMakeInfo(self):
- """Ensure that makeinfo is not available."""
- if os.system("makeinfo --version > /dev/null 2>&1") == 0:
-- raise errors.UserInstructions(
-- "makeinfo is available and we don't need it, so please remove it\nExample: sudo apt-get remove texinfo"
-- )
-+ pass
-
- def llvm_path(self):
- return self._llvm_path
diff --git a/www-client/chromium/files/05riscv-sandbox.patch b/www-client/chromium/files/riscv-sandbox.patch
similarity index 79%
rename from www-client/chromium/files/05riscv-sandbox.patch
rename to www-client/chromium/files/riscv-sandbox.patch
index eb14a7d..0753bb1 100644
--- a/www-client/chromium/files/05riscv-sandbox.patch
+++ b/www-client/chromium/files/riscv-sandbox.patch
@@ -1,33 +1,13 @@
-From 50538ec46b4ef930fedf96aa8d5519f678240dfa Mon Sep 17 00:00:00 2001
-From: kxxt <rsworktech@outlook.com>
-Date: Sat, 12 Aug 2023 08:34:05 +0800
-Subject: [PATCH] upgpatch: fix sandbox for chromium
+From 90499f55f949f95b01c84257d306cf209c04b431 Mon Sep 17 00:00:00 2001
+From: Andreas Schwab <schwab@suse.de>
+Date: Fri, 04 Mar 2022 15:27:35 +0100
+Subject: [PATCH] Add support for riscv64-linux
+Change-Id: Ibcdaaba1b0c92a1cd85361b9859370c686832c49
---
- sandbox/features.gni | 3 +-
- sandbox/linux/bpf_dsl/linux_syscall_ranges.h | 7 +
- sandbox/linux/bpf_dsl/seccomp_macros.h | 40 +
- .../seccomp-bpf-helpers/baseline_policy.cc | 11 +-
- .../syscall_parameters_restrictions.cc | 3 +-
- .../linux/seccomp-bpf-helpers/syscall_sets.cc | 69 +-
- .../linux/seccomp-bpf-helpers/syscall_sets.h | 14 +-
- sandbox/linux/seccomp-bpf/syscall.cc | 36 +-
- sandbox/linux/services/credentials.cc | 2 +-
- sandbox/linux/services/syscall_wrappers.cc | 2 +-
- .../linux/syscall_broker/broker_process.cc | 20 +-
- sandbox/linux/system_headers/linux_seccomp.h | 8 +
- sandbox/linux/system_headers/linux_signal.h | 2 +-
- sandbox/linux/system_headers/linux_stat.h | 2 +-
- sandbox/linux/system_headers/linux_syscalls.h | 4 +
- .../system_headers/riscv64_linux_syscalls.h | 1222 +++++++++++++++++
- .../linux/bpf_cros_amd_gpu_policy_linux.cc | 2 +-
- sandbox/policy/linux/bpf_gpu_policy_linux.cc | 2 +-
- .../policy/linux/bpf_network_policy_linux.cc | 2 +-
- 19 files changed, 1397 insertions(+), 54 deletions(-)
- create mode 100644 sandbox/linux/system_headers/riscv64_linux_syscalls.h
diff --git a/sandbox/features.gni b/sandbox/features.gni
-index 8434144118b49..8aa52983f78f8 100644
+index 8434144..8aa52983 100644
--- a/sandbox/features.gni
+++ b/sandbox/features.gni
@@ -9,7 +9,8 @@
@@ -41,7 +21,7 @@ index 8434144118b49..8aa52983f78f8 100644
# SSBD (Speculative Store Bypass Disable) is a mitigation of Spectre Variant 4.
# As Spectre Variant 4 can be mitigated by site isolation, opt-out SSBD on site
diff --git a/sandbox/linux/bpf_dsl/linux_syscall_ranges.h b/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
-index 1d0590b7dd6ce..b722fbc95ee3e 100644
+index 1d0590b..b722fbc9 100644
--- a/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
+++ b/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
@@ -56,6 +56,13 @@
@@ -59,10 +39,10 @@ index 1d0590b7dd6ce..b722fbc95ee3e 100644
#error "Unsupported architecture"
#endif
diff --git a/sandbox/linux/bpf_dsl/seccomp_macros.h b/sandbox/linux/bpf_dsl/seccomp_macros.h
-index 87d5825aa3ddb..cc9b89ba3714a 100644
+index 87d5825..49fc9a6 100644
--- a/sandbox/linux/bpf_dsl/seccomp_macros.h
+++ b/sandbox/linux/bpf_dsl/seccomp_macros.h
-@@ -343,6 +343,46 @@ struct regs_struct {
+@@ -343,6 +343,48 @@
#define SECCOMP_PT_PARM4(_regs) (_regs).regs[3]
#define SECCOMP_PT_PARM5(_regs) (_regs).regs[4]
#define SECCOMP_PT_PARM6(_regs) (_regs).regs[5]
@@ -85,6 +65,7 @@ index 87d5825aa3ddb..cc9b89ba3714a 100644
+#define SECCOMP_PARM4(_ctx) SECCOMP_REG(_ctx, REG_A0+3)
+#define SECCOMP_PARM5(_ctx) SECCOMP_REG(_ctx, REG_A0+4)
+#define SECCOMP_PARM6(_ctx) SECCOMP_REG(_ctx, REG_A0+5)
++#define SECCOMP_PARM7(_ctx) SECCOMP_REG(_ctx, REG_A0+6)
+
+#define SECCOMP_NR_IDX (offsetof(struct arch_seccomp_data, nr))
+#define SECCOMP_ARCH_IDX (offsetof(struct arch_seccomp_data, arch))
@@ -106,24 +87,82 @@ index 87d5825aa3ddb..cc9b89ba3714a 100644
+#define SECCOMP_PT_PARM4(_regs) (_regs).regs[REG_A0+3]
+#define SECCOMP_PT_PARM5(_regs) (_regs).regs[REG_A0+4]
+#define SECCOMP_PT_PARM6(_regs) (_regs).regs[REG_A0+5]
++#define SECCOMP_PT_PARM7(_regs) (_regs).regs[REG_A0+6]
#else
#error Unsupported target platform
+diff --git a/sandbox/linux/integration_tests/bpf_dsl_seccomp_unittest.cc b/sandbox/linux/integration_tests/bpf_dsl_seccomp_unittest.cc
+index 4a2721c..8ef9f51a 100644
+--- a/sandbox/linux/integration_tests/bpf_dsl_seccomp_unittest.cc
++++ b/sandbox/linux/integration_tests/bpf_dsl_seccomp_unittest.cc
+@@ -17,6 +17,7 @@
+ #include <sys/types.h>
+ #include <sys/utsname.h>
+ #include <unistd.h>
++#include <linux/elf.h>
+
+ #include <memory>
+ #include <vector>
+@@ -2029,7 +2030,15 @@
+ BPF_ASSERT_EQ(kTraceData, data);
+
+ regs_struct regs;
++#if defined(__riscv)
++ iovec iov;
++ iov.iov_base = ®s;
++ iov.iov_len = sizeof(regs);
++ BPF_ASSERT_NE(-1, ptrace(PTRACE_GETREGSET, pid,
++ reinterpret_case<void*>(NT_PRSTATUS), &iov));
++#else
+ BPF_ASSERT_NE(-1, ptrace(PTRACE_GETREGS, pid, NULL, ®s));
++#endif
+ switch (SECCOMP_PT_SYSCALL(regs)) {
+ case __NR_write:
+ // Skip writes to stdout, make it return kExpectedReturnValue. Allow
+@@ -2037,7 +2046,14 @@
+ if (SECCOMP_PT_PARM1(regs) == STDOUT_FILENO) {
+ BPF_ASSERT_NE(-1, SetSyscall(pid, ®s, -1));
+ SECCOMP_PT_RESULT(regs) = kExpectedReturnValue;
++#if defined(__riscv)
++ iov.iov_len = sizeof(regs);
++ BPF_ASSERT_NE(-1, ptrace(PTRACE_SETREGSET, pid,
++ reinterpret_cast<void*>(NT_PRSTATUS),
++ &iov));
++#else
+ BPF_ASSERT_NE(-1, ptrace(PTRACE_SETREGS, pid, NULL, ®s));
++#endif
+ }
+ break;
+
+@@ -2045,7 +2061,13 @@
+ // Rewrite to exit(kExpectedReturnValue).
+ BPF_ASSERT_NE(-1, SetSyscall(pid, ®s, __NR_exit));
+ SECCOMP_PT_PARM1(regs) = kExpectedReturnValue;
++#if defined(__riscv)
++ iov.iov_len = sizeof(regs);
++ BPF_ASSERT_NE(-1, ptrace(PTRACE_SETREGSET, pid,
++ reinterpret_cast<void*>(NT_PRSTATUS), &iov));
++#else
+ BPF_ASSERT_NE(-1, ptrace(PTRACE_SETREGS, pid, NULL, ®s));
++#endif
+ break;
+
+ default:
diff --git a/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc b/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
-index 7bde501115bdf..b92ab3901acd8 100644
+index 7bde501..b92ab39 100644
--- a/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
+++ b/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
-@@ -59,6 +59,9 @@ bool IsBaselinePolicyAllowed(int sysno) {
- #endif
+@@ -60,6 +60,9 @@
#if defined(__mips__)
SyscallSets::IsMipsPrivate(sysno) ||
-+#endif
+ #endif
+#if defined(__riscv)
+ SyscallSets::IsRiscvPrivate(sysno) ||
- #endif
++#endif
SyscallSets::IsAllowedOperationOnFd(sysno);
// clang-format on
-@@ -193,7 +196,7 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno,
+ }
+@@ -193,7 +196,7 @@
return RestrictFcntlCommands();
#endif
@@ -132,7 +171,7 @@ index 7bde501115bdf..b92ab3901acd8 100644
// fork() is never used as a system call (clone() is used instead), but we
// have seen it in fallback code on Android.
if (sysno == __NR_fork) {
-@@ -255,7 +258,7 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno,
+@@ -255,7 +258,7 @@
}
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
@@ -141,7 +180,7 @@ index 7bde501115bdf..b92ab3901acd8 100644
if (sysno == __NR_mmap)
return RestrictMmapFlags();
#endif
-@@ -276,7 +279,7 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno,
+@@ -276,7 +279,7 @@
return RestrictPrctl();
#if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \
@@ -150,7 +189,7 @@ index 7bde501115bdf..b92ab3901acd8 100644
if (sysno == __NR_socketpair) {
// Only allow AF_UNIX, PF_UNIX. Crash if anything else is seen.
static_assert(AF_UNIX == PF_UNIX,
-@@ -366,7 +369,7 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno,
+@@ -366,7 +369,7 @@
// Allow creating pipes, but don't allow weird flags to pipe2().
// O_NOTIFICATION_PIPE (== O_EXCL) can be used to create
// "notification pipes", which are rarely used.
@@ -159,8 +198,39 @@ index 7bde501115bdf..b92ab3901acd8 100644
if (sysno == __NR_pipe) {
return Allow();
}
+diff --git a/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc b/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc
+index a0a8796..8bea4c9 100644
+--- a/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc
++++ b/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc
+@@ -270,7 +270,7 @@
+ }
+
+ // Not all architectures can restrict the domain for socketpair().
+-#if defined(__x86_64__) || defined(__arm__) || defined(__aarch64__)
++#if defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || defined(__riscv)
+ BPF_DEATH_TEST_C(BaselinePolicy,
+ SocketpairWrongDomain,
+ DEATH_SEGV_MESSAGE(GetErrorMessageContentForTests()),
+@@ -279,7 +279,7 @@
+ std::ignore = socketpair(AF_INET, SOCK_STREAM, 0, sv);
+ _exit(1);
+ }
+-#endif // defined(__x86_64__) || defined(__arm__) || defined(__aarch64__)
++#endif // defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || defined(__riscv)
+
+ BPF_TEST_C(BaselinePolicy, EPERM_open, BaselinePolicy) {
+ errno = 0;
+@@ -343,7 +343,7 @@
+ TEST_BASELINE_SIGSYS(__NR_syslog)
+ TEST_BASELINE_SIGSYS(__NR_timer_create)
+
+-#if !defined(__aarch64__)
++#if !defined(__aarch64__) && !defined(__riscv)
+ TEST_BASELINE_SIGSYS(__NR_inotify_init)
+ TEST_BASELINE_SIGSYS(__NR_vserver)
+ #endif
diff --git a/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc b/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
-index 026e86bd85bec..ebb72ddcd5f67 100644
+index 74112e8..b451c19 100644
--- a/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
+++ b/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
@@ -37,6 +37,7 @@
@@ -171,20 +241,35 @@ index 026e86bd85bec..ebb72ddcd5f67 100644
!defined(PTRACE_GET_THREAD_AREA)
// Also include asm/ptrace-abi.h since ptrace.h in older libc (for instance
// the one in Ubuntu 16.04 LTS) is missing PTRACE_GET_THREAD_AREA.
-@@ -449,7 +450,7 @@ ResultExpr RestrictPtrace() {
+@@ -463,8 +464,10 @@
#endif
return Switch(request)
.Cases({
-#if !defined(__aarch64__)
+#if !defined(__aarch64__) && !defined(__riscv)
PTRACE_GETREGS, PTRACE_GETFPREGS, PTRACE_GET_THREAD_AREA,
++#endif
++#if !defined(__aarch64__)
PTRACE_GETREGSET,
#endif
+ #if defined(__arm__)
+diff --git a/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions_unittests.cc b/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions_unittests.cc
+index 10e64a2c..ddfd6a7 100644
+--- a/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions_unittests.cc
++++ b/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions_unittests.cc
+@@ -7,6 +7,7 @@
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <linux/elf.h>
++#include <asm/ptrace.h>
+ #include <sched.h>
+ #include <sys/prctl.h>
+ #include <sys/ptrace.h>
diff --git a/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc b/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
-index 27ea264070dcd..8fc2d3c354adb 100644
+index 4cde283..bc680424 100644
--- a/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
+++ b/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
-@@ -103,7 +103,7 @@ bool SyscallSets::IsUmask(int sysno) {
+@@ -103,7 +103,7 @@
// Both EPERM and ENOENT are valid errno unless otherwise noted in comment.
bool SyscallSets::IsFileSystem(int sysno) {
switch (sysno) {
@@ -193,7 +278,7 @@ index 27ea264070dcd..8fc2d3c354adb 100644
case __NR_access: // EPERM not a valid errno.
case __NR_chmod:
case __NR_chown:
-@@ -136,7 +136,7 @@ bool SyscallSets::IsFileSystem(int sysno) {
+@@ -136,7 +136,7 @@
case __NR_faccessat2:
case __NR_fchmodat:
case __NR_fchownat: // Should be called chownat ?
@@ -202,7 +287,7 @@ index 27ea264070dcd..8fc2d3c354adb 100644
case __NR_newfstatat: // fstatat(). EPERM not a valid errno.
#elif defined(__i386__) || defined(__arm__) || \
(defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
-@@ -241,7 +241,7 @@ bool SyscallSets::IsAllowedFileSystemAccessViaFd(int sysno) {
+@@ -241,7 +241,7 @@
case __NR_oldfstat:
#endif
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
@@ -211,7 +296,7 @@ index 27ea264070dcd..8fc2d3c354adb 100644
case __NR_sync_file_range: // EPERM not a valid errno.
#elif defined(__arm__)
case __NR_arm_sync_file_range: // EPERM not a valid errno.
-@@ -260,7 +260,7 @@ bool SyscallSets::IsDeniedFileSystemAccessViaFd(int sysno) {
+@@ -260,7 +260,7 @@
#if defined(__i386__) || defined(__arm__)
case __NR_fchown32:
#endif
@@ -220,7 +305,7 @@ index 27ea264070dcd..8fc2d3c354adb 100644
case __NR_getdents: // EPERM not a valid errno.
#endif
case __NR_getdents64: // EPERM not a valid errno.
-@@ -339,7 +339,7 @@ bool SyscallSets::IsProcessPrivilegeChange(int sysno) {
+@@ -339,7 +339,7 @@
bool SyscallSets::IsProcessGroupOrSession(int sysno) {
switch (sysno) {
case __NR_setpgid:
@@ -229,7 +314,7 @@ index 27ea264070dcd..8fc2d3c354adb 100644
case __NR_getpgrp:
#endif
case __NR_setsid:
-@@ -373,7 +373,7 @@ bool SyscallSets::IsAllowedSignalHandling(int sysno) {
+@@ -373,7 +373,7 @@
case __NR_rt_sigqueueinfo:
case __NR_rt_sigsuspend:
case __NR_rt_tgsigqueueinfo:
@@ -238,7 +323,7 @@ index 27ea264070dcd..8fc2d3c354adb 100644
case __NR_signalfd:
#endif
case __NR_signalfd4:
-@@ -397,12 +397,12 @@ bool SyscallSets::IsAllowedOperationOnFd(int sysno) {
+@@ -397,12 +397,12 @@
switch (sysno) {
case __NR_close:
case __NR_dup:
@@ -253,7 +338,7 @@ index 27ea264070dcd..8fc2d3c354adb 100644
case __NR_shutdown:
#endif
return true;
-@@ -441,7 +441,7 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) {
+@@ -441,7 +441,7 @@
return true;
case __NR_clone: // Should be parameter-restricted.
case __NR_setns: // Privileged.
@@ -262,7 +347,7 @@ index 27ea264070dcd..8fc2d3c354adb 100644
case __NR_fork:
#endif
#if defined(__i386__) || defined(__x86_64__)
-@@ -452,7 +452,7 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) {
+@@ -452,7 +452,7 @@
#endif
case __NR_set_tid_address:
case __NR_unshare:
@@ -271,7 +356,7 @@ index 27ea264070dcd..8fc2d3c354adb 100644
case __NR_vfork:
#endif
default:
-@@ -477,7 +477,7 @@ bool SyscallSets::IsAllowedFutex(int sysno) {
+@@ -477,7 +477,7 @@
bool SyscallSets::IsAllowedEpoll(int sysno) {
switch (sysno) {
@@ -280,7 +365,7 @@ index 27ea264070dcd..8fc2d3c354adb 100644
case __NR_epoll_create:
case __NR_epoll_wait:
#endif
-@@ -499,7 +499,7 @@ bool SyscallSets::IsAllowedEpoll(int sysno) {
+@@ -499,7 +499,7 @@
bool SyscallSets::IsDeniedGetOrModifySocket(int sysno) {
switch (sysno) {
#if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \
@@ -289,7 +374,7 @@ index 27ea264070dcd..8fc2d3c354adb 100644
case __NR_accept:
case __NR_accept4:
case __NR_bind:
-@@ -553,7 +553,7 @@ bool SyscallSets::IsAllowedAddressSpaceAccess(int sysno) {
+@@ -553,7 +553,7 @@
case __NR_mincore:
case __NR_mlockall:
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
@@ -298,7 +383,7 @@ index 27ea264070dcd..8fc2d3c354adb 100644
case __NR_mmap:
#endif
#if defined(__i386__) || defined(__arm__) || \
-@@ -586,7 +586,7 @@ bool SyscallSets::IsAllowedGeneralIo(int sysno) {
+@@ -586,7 +586,7 @@
(defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
case __NR__llseek:
#endif
@@ -307,7 +392,7 @@ index 27ea264070dcd..8fc2d3c354adb 100644
case __NR_poll:
#endif
case __NR_ppoll:
-@@ -607,7 +607,7 @@ bool SyscallSets::IsAllowedGeneralIo(int sysno) {
+@@ -607,7 +607,7 @@
case __NR_recv:
#endif
#if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \
@@ -316,7 +401,7 @@ index 27ea264070dcd..8fc2d3c354adb 100644
case __NR_recvfrom: // Could specify source.
case __NR_recvmsg: // Could specify source.
#endif
-@@ -622,7 +622,7 @@ bool SyscallSets::IsAllowedGeneralIo(int sysno) {
+@@ -622,7 +622,7 @@
case __NR_send:
#endif
#if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \
@@ -325,7 +410,7 @@ index 27ea264070dcd..8fc2d3c354adb 100644
case __NR_sendmsg: // Could specify destination.
case __NR_sendto: // Could specify destination.
#endif
-@@ -671,7 +671,7 @@ bool SyscallSets::IsSeccomp(int sysno) {
+@@ -671,7 +671,7 @@
bool SyscallSets::IsAllowedBasicScheduler(int sysno) {
switch (sysno) {
case __NR_sched_yield:
@@ -334,7 +419,7 @@ index 27ea264070dcd..8fc2d3c354adb 100644
case __NR_pause:
#endif
case __NR_nanosleep:
-@@ -755,7 +755,7 @@ bool SyscallSets::IsNuma(int sysno) {
+@@ -755,7 +755,7 @@
case __NR_getcpu:
case __NR_mbind:
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
@@ -343,7 +428,7 @@ index 27ea264070dcd..8fc2d3c354adb 100644
case __NR_migrate_pages:
#endif
case __NR_move_pages:
-@@ -790,7 +790,7 @@ bool SyscallSets::IsGlobalProcessEnvironment(int sysno) {
+@@ -790,7 +790,7 @@
switch (sysno) {
case __NR_acct: // Privileged.
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
@@ -352,7 +437,7 @@ index 27ea264070dcd..8fc2d3c354adb 100644
case __NR_getrlimit:
#endif
#if defined(__i386__) || defined(__arm__)
-@@ -825,7 +825,7 @@ bool SyscallSets::IsDebug(int sysno) {
+@@ -825,7 +825,7 @@
bool SyscallSets::IsGlobalSystemStatus(int sysno) {
switch (sysno) {
@@ -361,7 +446,7 @@ index 27ea264070dcd..8fc2d3c354adb 100644
case __NR__sysctl:
case __NR_sysfs:
#endif
-@@ -843,7 +843,7 @@ bool SyscallSets::IsGlobalSystemStatus(int sysno) {
+@@ -843,7 +843,7 @@
bool SyscallSets::IsEventFd(int sysno) {
switch (sysno) {
@@ -370,47 +455,40 @@ index 27ea264070dcd..8fc2d3c354adb 100644
case __NR_eventfd:
#endif
case __NR_eventfd2:
-@@ -895,7 +895,8 @@ bool SyscallSets::IsKeyManagement(int sysno) {
+@@ -895,6 +895,7 @@
}
#if defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || \
-- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS))
-+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) || \
-+ defined(__riscv)
++ defined(__riscv) || \
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS))
bool SyscallSets::IsSystemVSemaphores(int sysno) {
switch (sysno) {
- case __NR_semctl:
-@@ -915,7 +916,8 @@ bool SyscallSets::IsSystemVSemaphores(int sysno) {
+@@ -914,7 +915,7 @@
+ #endif
#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || \
- defined(__aarch64__) || \
-- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS))
-+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) || \
-+ defined(__riscv)
+- defined(__aarch64__) || \
++ defined(__aarch64__) || defined(__riscv) || \
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS))
// These give a lot of ambient authority and bypass the setuid sandbox.
bool SyscallSets::IsSystemVSharedMemory(int sysno) {
- switch (sysno) {
-@@ -931,7 +933,8 @@ bool SyscallSets::IsSystemVSharedMemory(int sysno) {
+@@ -931,6 +932,7 @@
#endif
#if defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || \
-- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS))
-+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) || \
-+ defined(__riscv)
++ defined(__riscv) || \
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS))
bool SyscallSets::IsSystemVMessageQueue(int sysno) {
switch (sysno) {
- case __NR_msgctl:
-@@ -962,7 +965,8 @@ bool SyscallSets::IsSystemVIpc(int sysno) {
+@@ -962,6 +964,7 @@
bool SyscallSets::IsAnySystemV(int sysno) {
#if defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || \
-- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS))
-+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) || \
-+ defined(__riscv)
++ defined(__riscv) || \
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS))
return IsSystemVMessageQueue(sysno) || IsSystemVSemaphores(sysno) ||
IsSystemVSharedMemory(sysno);
- #elif defined(__i386__) || \
-@@ -999,7 +1003,7 @@ bool SyscallSets::IsAdvancedScheduler(int sysno) {
+@@ -999,7 +1002,7 @@
bool SyscallSets::IsInotify(int sysno) {
switch (sysno) {
case __NR_inotify_add_watch:
@@ -419,7 +497,7 @@ index 27ea264070dcd..8fc2d3c354adb 100644
case __NR_inotify_init:
#endif
case __NR_inotify_init1:
-@@ -1137,7 +1141,7 @@ bool SyscallSets::IsMisc(int sysno) {
+@@ -1134,7 +1137,7 @@
#if defined(__x86_64__)
case __NR_tuxcall:
#endif
@@ -428,13 +506,14 @@ index 27ea264070dcd..8fc2d3c354adb 100644
case __NR_vserver:
#endif
return true;
-@@ -1196,6 +1200,17 @@ bool SyscallSets::IsMipsMisc(int sysno) {
+@@ -1193,6 +1196,18 @@
}
#endif // defined(__mips__)
+#if defined(__riscv)
+bool SyscallSets::IsRiscvPrivate(int sysno) {
+ switch (sysno) {
++ case __NR_riscv_hwprobe:
+ case __NR_riscv_flush_icache:
+ return true;
+ default:
@@ -447,10 +526,10 @@ index 27ea264070dcd..8fc2d3c354adb 100644
switch (sysno) {
case __NR_getitimer:
diff --git a/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h b/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
-index 9be7b03ec4377..41b3605dce15d 100644
+index 9be7b03..41b3605 100644
--- a/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
+++ b/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
-@@ -52,7 +52,7 @@ class SANDBOX_EXPORT SyscallSets {
+@@ -52,7 +52,7 @@
#endif
#if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \
@@ -459,7 +538,7 @@ index 9be7b03ec4377..41b3605dce15d 100644
static bool IsNetworkSocketInformation(int sysno);
#endif
-@@ -79,18 +79,21 @@ class SANDBOX_EXPORT SyscallSets {
+@@ -79,18 +79,21 @@
static bool IsAsyncIo(int sysno);
static bool IsKeyManagement(int sysno);
#if defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || \
@@ -484,7 +563,7 @@ index 9be7b03ec4377..41b3605dce15d 100644
static bool IsSystemVMessageQueue(int sysno);
#endif
-@@ -117,6 +120,9 @@ class SANDBOX_EXPORT SyscallSets {
+@@ -117,6 +120,9 @@
static bool IsMipsPrivate(int sysno);
static bool IsMipsMisc(int sysno);
#endif // defined(__mips__)
@@ -495,10 +574,10 @@ index 9be7b03ec4377..41b3605dce15d 100644
};
diff --git a/sandbox/linux/seccomp-bpf/syscall.cc b/sandbox/linux/seccomp-bpf/syscall.cc
-index 02cbb047c1558..57da8c1754f46 100644
+index 02cbb04..9eb97f27 100644
--- a/sandbox/linux/seccomp-bpf/syscall.cc
+++ b/sandbox/linux/seccomp-bpf/syscall.cc
-@@ -18,7 +18,7 @@ namespace sandbox {
+@@ -18,7 +18,7 @@
namespace {
#if defined(ARCH_CPU_X86_FAMILY) || defined(ARCH_CPU_ARM_FAMILY) || \
@@ -507,7 +586,7 @@ index 02cbb047c1558..57da8c1754f46 100644
// Number that's not currently used by any Linux kernel ABIs.
const int kInvalidSyscallNumber = 0x351d3;
#else
-@@ -308,6 +308,28 @@ asm(// We need to be able to tell the kernel exactly where we made a
+@@ -308,6 +308,28 @@
"2:ret\n"
".cfi_endproc\n"
".size SyscallAsm, .-SyscallAsm\n"
@@ -518,16 +597,16 @@ index 02cbb047c1558..57da8c1754f46 100644
+ "SyscallAsm:\n"
+ ".cfi_startproc\n"
+ "bgez a0,1f\n"
-+ "la a0,2f\n"
++ "lla a0,2f\n"
+ "j 2f\n"
+ "1:mv a7, a0\n"
-+ "ld a0, (t0)\n"
-+ "ld a1, 8(t0)\n"
-+ "ld a2, 16(t0)\n"
-+ "ld a3, 24(t0)\n"
-+ "ld a4, 32(t0)\n"
-+ "ld a5, 40(t0)\n"
-+ "ld a6, 48(t0)\n"
++ "ld a0, (a1)\n"
++ "ld a2, 16(a1)\n"
++ "ld a3, 24(a1)\n"
++ "ld a4, 32(a1)\n"
++ "ld a5, 40(a1)\n"
++ "ld a6, 48(a1)\n"
++ "ld a1, 8(a1)\n"
+ // Enter the kernel
+ "scall\n"
+ "2:ret\n"
@@ -536,30 +615,65 @@ index 02cbb047c1558..57da8c1754f46 100644
#endif
); // asm
-@@ -425,6 +447,18 @@ intptr_t Syscall::Call(int nr,
+@@ -319,6 +341,10 @@
+ extern "C" {
+ intptr_t SyscallAsm(intptr_t nr, const intptr_t args[8]);
+ }
++#elif defined(__riscv)
++extern "C" {
++intptr_t SyscallAsm(intptr_t nr, const intptr_t args[7]);
++}
+ #endif
+
+ } // namespace
+@@ -351,6 +377,10 @@
+ // where that makes sense.
+ #if defined(__mips__)
+ const intptr_t args[8] = {p0, p1, p2, p3, p4, p5, p6, p7};
++#elif defined(__riscv)
++ DCHECK_EQ(p7, 0) << " Support for syscalls with more than seven arguments "
++ "not added for this architecture";
++ const intptr_t args[7] = {p0, p1, p2, p3, p4, p5, p6};
+ #else
+ DCHECK_EQ(p6, 0) << " Support for syscalls with more than six arguments not "
+ "added for this architecture";
+@@ -425,6 +455,8 @@
ret = inout;
}
+#elif defined(__riscv)
-+ intptr_t ret;
-+ {
-+ register intptr_t inout __asm__("a0") = nr;
-+ register const intptr_t* data __asm__("t0") = args;
-+ asm volatile("jal SyscallAsm\n"
-+ : "=r"(inout)
-+ : "0"(inout), "r"(data)
-+ : "memory", "a1", "a2", "a3", "a4", "a5", "a6", "a7");
-+ ret = inout;
-+ }
-+
++ intptr_t ret = SyscallAsm(nr, args);
#else
#error "Unimplemented architecture"
#endif
+diff --git a/sandbox/linux/seccomp-bpf/trap.cc b/sandbox/linux/seccomp-bpf/trap.cc
+index d466e62..a5ed98b7 100644
+--- a/sandbox/linux/seccomp-bpf/trap.cc
++++ b/sandbox/linux/seccomp-bpf/trap.cc
+@@ -216,6 +216,18 @@
+ SECCOMP_PARM6(ctx),
+ SECCOMP_PARM7(ctx),
+ SECCOMP_PARM8(ctx));
++#elif defined(__riscv)
++ // RISC-V supports up to seven arguments for syscall.
++ // However, seccomp bpf can filter only up to six arguments, so using seven
++ // arguments has sense only when using UnsafeTrap() handler.
++ rc = Syscall::Call(SECCOMP_SYSCALL(ctx),
++ SECCOMP_PARM1(ctx),
++ SECCOMP_PARM2(ctx),
++ SECCOMP_PARM3(ctx),
++ SECCOMP_PARM4(ctx),
++ SECCOMP_PARM5(ctx),
++ SECCOMP_PARM6(ctx),
++ SECCOMP_PARM7(ctx));
+ #else
+ rc = Syscall::Call(SECCOMP_SYSCALL(ctx),
+ SECCOMP_PARM1(ctx),
diff --git a/sandbox/linux/services/credentials.cc b/sandbox/linux/services/credentials.cc
-index e284c59d239ae..5b5346a2778bc 100644
+index a33597c..d4180ac 100644
--- a/sandbox/linux/services/credentials.cc
+++ b/sandbox/linux/services/credentials.cc
-@@ -80,7 +80,7 @@ bool ChrootToSafeEmptyDir() {
+@@ -80,7 +80,7 @@
pid_t pid = -1;
alignas(16) char stack_buf[PTHREAD_STACK_MIN];
#if defined(ARCH_CPU_X86_FAMILY) || defined(ARCH_CPU_ARM_FAMILY) || \
@@ -569,10 +683,10 @@ index e284c59d239ae..5b5346a2778bc 100644
void* stack = stack_buf + sizeof(stack_buf);
#else
diff --git a/sandbox/linux/services/syscall_wrappers.cc b/sandbox/linux/services/syscall_wrappers.cc
-index 7650e983b3802..bb4bd33236381 100644
+index 7650e98..bb4bd332 100644
--- a/sandbox/linux/services/syscall_wrappers.cc
+++ b/sandbox/linux/services/syscall_wrappers.cc
-@@ -61,7 +61,7 @@ long sys_clone(unsigned long flags,
+@@ -61,7 +61,7 @@
#if defined(ARCH_CPU_X86_64)
return syscall(__NR_clone, flags, child_stack, ptid, ctid, tls);
#elif defined(ARCH_CPU_X86) || defined(ARCH_CPU_ARM_FAMILY) || \
@@ -582,10 +696,10 @@ index 7650e983b3802..bb4bd33236381 100644
return syscall(__NR_clone, flags, child_stack, ptid, tls, ctid);
#endif
diff --git a/sandbox/linux/syscall_broker/broker_process.cc b/sandbox/linux/syscall_broker/broker_process.cc
-index a55b548a8ec75..39279b947828e 100644
+index c6c1117..779065a 100644
--- a/sandbox/linux/syscall_broker/broker_process.cc
+++ b/sandbox/linux/syscall_broker/broker_process.cc
-@@ -122,44 +122,46 @@ bool BrokerProcess::IsSyscallBrokerable(int sysno, bool fast_check) const {
+@@ -122,44 +122,46 @@
// and are default disabled in Android. So, we should refuse to broker them
// to be consistent with the platform's restrictions.
switch (sysno) {
@@ -639,7 +753,7 @@ index a55b548a8ec75..39279b947828e 100644
case __NR_stat:
case __NR_lstat:
#endif
-@@ -169,7 +171,7 @@ bool BrokerProcess::IsSyscallBrokerable(int sysno, bool fast_check) const {
+@@ -169,7 +171,7 @@
#if defined(__NR_fstatat64)
case __NR_fstatat64:
#endif
@@ -648,7 +762,7 @@ index a55b548a8ec75..39279b947828e 100644
case __NR_newfstatat:
#endif
return !fast_check || policy_->allowed_command_set.test(COMMAND_STAT);
-@@ -184,7 +186,7 @@ bool BrokerProcess::IsSyscallBrokerable(int sysno, bool fast_check) const {
+@@ -184,7 +186,7 @@
return !fast_check || policy_->allowed_command_set.test(COMMAND_STAT);
#endif
@@ -658,7 +772,7 @@ index a55b548a8ec75..39279b947828e 100644
return !fast_check || policy_->allowed_command_set.test(COMMAND_UNLINK);
#endif
diff --git a/sandbox/linux/system_headers/linux_seccomp.h b/sandbox/linux/system_headers/linux_seccomp.h
-index 8690a96eb01b1..dec2afc744985 100644
+index 8690a96..dec2afc7 100644
--- a/sandbox/linux/system_headers/linux_seccomp.h
+++ b/sandbox/linux/system_headers/linux_seccomp.h
@@ -39,6 +39,10 @@
@@ -684,7 +798,7 @@ index 8690a96eb01b1..dec2afc744985 100644
#ifndef PR_SET_SECCOMP
#define PR_SET_SECCOMP 22
diff --git a/sandbox/linux/system_headers/linux_signal.h b/sandbox/linux/system_headers/linux_signal.h
-index 69ccaf1081578..2ffe30973cd32 100644
+index 69ccaf1..2ffe3097 100644
--- a/sandbox/linux/system_headers/linux_signal.h
+++ b/sandbox/linux/system_headers/linux_signal.h
@@ -13,7 +13,7 @@
@@ -697,10 +811,10 @@ index 69ccaf1081578..2ffe30973cd32 100644
#define LINUX_SIGHUP 1
#define LINUX_SIGINT 2
diff --git a/sandbox/linux/system_headers/linux_stat.h b/sandbox/linux/system_headers/linux_stat.h
-index 3aae8cbced775..74977adb53caf 100644
+index 3aae8cb..74977adb 100644
--- a/sandbox/linux/system_headers/linux_stat.h
+++ b/sandbox/linux/system_headers/linux_stat.h
-@@ -150,7 +150,7 @@ struct kernel_stat {
+@@ -150,7 +150,7 @@
int st_blocks;
int st_pad4[14];
};
@@ -710,7 +824,7 @@ index 3aae8cbced775..74977adb53caf 100644
unsigned long st_dev;
unsigned long st_ino;
diff --git a/sandbox/linux/system_headers/linux_syscalls.h b/sandbox/linux/system_headers/linux_syscalls.h
-index 438147b4018b6..d6de8c1cb2340 100644
+index 438147b..d6de8c1 100644
--- a/sandbox/linux/system_headers/linux_syscalls.h
+++ b/sandbox/linux/system_headers/linux_syscalls.h
@@ -35,5 +35,9 @@
@@ -725,10 +839,10 @@ index 438147b4018b6..d6de8c1cb2340 100644
diff --git a/sandbox/linux/system_headers/riscv64_linux_syscalls.h b/sandbox/linux/system_headers/riscv64_linux_syscalls.h
new file mode 100644
-index 0000000000000..822f660dc5086
+index 0000000..50e043d0
--- /dev/null
+++ b/sandbox/linux/system_headers/riscv64_linux_syscalls.h
-@@ -0,0 +1,1222 @@
+@@ -0,0 +1,1226 @@
+// Copyright 2014 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
@@ -1714,6 +1828,10 @@ index 0000000000000..822f660dc5086
+#define __NR_recvmmsg 243
+#endif
+
++#if !defined(__NR_riscv_hwprobe)
++#define __NR_riscv_hwprobe 258
++#endif
++
+#if !defined(__NR_riscv_flush_icache)
+#define __NR_riscv_flush_icache 259
+#endif
@@ -1951,11 +2069,24 @@ index 0000000000000..822f660dc5086
+#endif
+
+#endif // SANDBOX_LINUX_SYSTEM_HEADERS_RISCV64_LINUX_SYSCALLS_H_
+diff --git a/sandbox/policy/linux/bpf_cdm_policy_linux.cc b/sandbox/policy/linux/bpf_cdm_policy_linux.cc
+index 433720f..482ce1d 100644
+--- a/sandbox/policy/linux/bpf_cdm_policy_linux.cc
++++ b/sandbox/policy/linux/bpf_cdm_policy_linux.cc
+@@ -33,7 +33,7 @@
+ case __NR_ftruncate:
+ case __NR_fallocate:
+ #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
+- defined(__aarch64__)
++ defined(__aarch64__) || defined(__riscv)
+ case __NR_getrlimit:
+ #endif
+ #if defined(__i386__) || defined(__arm__)
diff --git a/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc b/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc
-index df2567f74981f..41e158a292369 100644
+index df2567f..41e158a 100644
--- a/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc
+++ b/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc
-@@ -38,7 +38,7 @@ ResultExpr CrosAmdGpuProcessPolicy::EvaluateSyscall(int sysno) const {
+@@ -38,7 +38,7 @@
case __NR_sched_setscheduler:
case __NR_sysinfo:
case __NR_uname:
@@ -1965,10 +2096,10 @@ index df2567f74981f..41e158a292369 100644
case __NR_stat:
#endif
diff --git a/sandbox/policy/linux/bpf_gpu_policy_linux.cc b/sandbox/policy/linux/bpf_gpu_policy_linux.cc
-index 35ccbb7a7f82b..65a0587e25af5 100644
+index 35ccbb7..65a0587 100644
--- a/sandbox/policy/linux/bpf_gpu_policy_linux.cc
+++ b/sandbox/policy/linux/bpf_gpu_policy_linux.cc
-@@ -73,7 +73,7 @@ ResultExpr GpuProcessPolicy::EvaluateSyscall(int sysno) const {
+@@ -73,7 +73,7 @@
(defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
case __NR_ftruncate64:
#endif
@@ -1978,10 +2109,10 @@ index 35ccbb7a7f82b..65a0587e25af5 100644
#endif
case __NR_getdents64:
diff --git a/sandbox/policy/linux/bpf_network_policy_linux.cc b/sandbox/policy/linux/bpf_network_policy_linux.cc
-index 98e738a7e38be..b72914eafc775 100644
+index e5168ff0..3e6f821 100644
--- a/sandbox/policy/linux/bpf_network_policy_linux.cc
+++ b/sandbox/policy/linux/bpf_network_policy_linux.cc
-@@ -255,7 +255,7 @@ ResultExpr NetworkProcessPolicy::EvaluateSyscall(int sysno) const {
+@@ -260,7 +260,7 @@
case __NR_fdatasync:
case __NR_fsync:
case __NR_mremap:
@@ -1990,6 +2121,56 @@ index 98e738a7e38be..b72914eafc775 100644
case __NR_getdents:
#endif
case __NR_getdents64:
---
-2.41.0
+diff --git a/sandbox/policy/linux/bpf_print_compositor_policy_linux.cc b/sandbox/policy/linux/bpf_print_compositor_policy_linux.cc
+index bff338a..36acee52 100644
+--- a/sandbox/policy/linux/bpf_print_compositor_policy_linux.cc
++++ b/sandbox/policy/linux/bpf_print_compositor_policy_linux.cc
+@@ -33,7 +33,7 @@
+ case __NR_fdatasync:
+ case __NR_fsync:
+ #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
+- defined(__aarch64__)
++ defined(__aarch64__) || defined (__riscv)
+ case __NR_getrlimit:
+ #endif
+ #if defined(__i386__) || defined(__arm__)
+diff --git a/sandbox/policy/linux/bpf_renderer_policy_linux.cc b/sandbox/policy/linux/bpf_renderer_policy_linux.cc
+index 0555a85..8f8907f 100644
+--- a/sandbox/policy/linux/bpf_renderer_policy_linux.cc
++++ b/sandbox/policy/linux/bpf_renderer_policy_linux.cc
+@@ -82,7 +82,7 @@
+ case __NR_ftruncate64:
+ #endif
+ #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
+- defined(__aarch64__)
++ defined(__aarch64__) || defined(__riscv)
+ case __NR_getrlimit:
+ case __NR_setrlimit:
+ // We allow setrlimit to dynamically adjust the address space limit as
+diff --git a/sandbox/policy/linux/bpf_service_policy_linux.cc b/sandbox/policy/linux/bpf_service_policy_linux.cc
+index 32754e6..3f42eabb 100644
+--- a/sandbox/policy/linux/bpf_service_policy_linux.cc
++++ b/sandbox/policy/linux/bpf_service_policy_linux.cc
+@@ -26,7 +26,7 @@
+ return RestrictIoctl();
+ // Allow the system calls below.
+ #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
+- defined(__aarch64__)
++ defined(__aarch64__) || defined(__riscv)
+ case __NR_getrlimit:
+ #endif
+ #if defined(__i386__) || defined(__arm__)
+diff --git a/sandbox/policy/linux/bpf_utility_policy_linux.cc b/sandbox/policy/linux/bpf_utility_policy_linux.cc
+index e299ce99..ed110689 100644
+--- a/sandbox/policy/linux/bpf_utility_policy_linux.cc
++++ b/sandbox/policy/linux/bpf_utility_policy_linux.cc
+@@ -34,7 +34,7 @@
+ case __NR_fdatasync:
+ case __NR_fsync:
+ #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
+- defined(__aarch64__)
++ defined(__aarch64__) || defined(__riscv)
+ case __NR_getrlimit:
+ #endif
+ #if defined(__i386__) || defined(__arm__)
diff --git a/www-client/chromium/files/09riscv.patch b/www-client/chromium/files/riscv.patch
similarity index 100%
rename from www-client/chromium/files/09riscv.patch
rename to www-client/chromium/files/riscv.patch
diff --git a/www-client/chromium/files/00swiftshader-MCDissassembler.patch b/www-client/chromium/files/swiftshader-MCDissassembler.patch
similarity index 100%
rename from www-client/chromium/files/00swiftshader-MCDissassembler.patch
rename to www-client/chromium/files/swiftshader-MCDissassembler.patch
diff --git a/www-client/chromium/files/00swiftshader-use-llvm16.patch b/www-client/chromium/files/swiftshader-use-llvm16.patch
similarity index 100%
rename from www-client/chromium/files/00swiftshader-use-llvm16.patch
rename to www-client/chromium/files/swiftshader-use-llvm16.patch
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] proj/riscv:master commit in: www-client/chromium/files/, www-client/chromium/
@ 2025-01-15 23:27 Jakov Smolić
0 siblings, 0 replies; 7+ messages in thread
From: Jakov Smolić @ 2025-01-15 23:27 UTC (permalink / raw
To: gentoo-commits
commit: a3497033fa3db7d2cce42faed6474c4cae0d782f
Author: Andrew Cameron <apcameron <AT> gmail <DOT> com>
AuthorDate: Sat Jan 4 11:28:23 2025 +0000
Commit: Jakov Smolić <jsmolic <AT> gentoo <DOT> org>
CommitDate: Wed Jan 15 23:27:17 2025 +0000
URL: https://gitweb.gentoo.org/proj/riscv.git/commit/?id=a3497033
Update Chromium to 129.0.6668.100
Tested on my Visionfive 2
Signed-off-by: Andrew Cameron <apcameron <AT> gmail.com>
Closes: https://github.com/gentoo/riscv/pull/21
Signed-off-by: Jakov Smolić <jsmolic <AT> gentoo.org>
www-client/chromium/Manifest | 11 +-
www-client/chromium/chromium-128.0.6613.119.ebuild | 1467 ------
www-client/chromium/chromium-128.0.6613.137.ebuild | 1467 ------
...13.ebuild => chromium-129.0.6668.100-r1.ebuild} | 166 +-
.../chromium/files/Debian-fix-rust-linking.patch | 18 +-
...e-runtime_api_delegate-add-riscv64-define.patch | 33 +
...s-common-api-runtime.json-riscv64-support.patch | 36 +
www-client/chromium/files/riscv-cargo.patch | 32 +
www-client/chromium/files/riscv-ffmpeg.patch | 4812 ++------------------
www-client/chromium/files/riscv-misc.patch | 41 +
www-client/chromium/files/riscv-sandbox.patch | 443 +-
www-client/chromium/files/riscv.patch | 19 +-
12 files changed, 834 insertions(+), 7711 deletions(-)
diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index 60692e8..9f92372 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -1,10 +1,7 @@
-DIST chromium-128-clang.tar.xz 51489372 BLAKE2B 352a585e3acf0f0685ab2eaeb13e847195119bc6e3694f7fc20eeabdb25821019187e52997618214ccb469766c2982f489c6bdc643a339c1cfbe3e5fb3a131d4 SHA512 bc448096975111ff6ff5a9f82a6acb2bb244e9c344a8e6ef8bcdee5a06d0004955f76f6566f01519da5cc2eae08a2df2dd0ac5afee38dbc2ba918e735f338422
-DIST chromium-128-rust.tar.xz 148907072 BLAKE2B 9b28d1eca65d3e62ef142f96d9b3371bb65c6778414e5b64f0ad02c4aace219974f1cb292c9a6d9c443e3ed4f61192248ccaf9b18079cbd5a5f5c3abfe79d485 SHA512 5469490b23656a83d6198a087ddb82dd342fd8a426b32193218f7174395053f2ec7aaced5c464b8b16cdbddc252f80a98ca2a4b88742d2b0c910f2d2bfa7e431
-DIST chromium-128.0.6613.113.tar.xz 6711639096 BLAKE2B 1719b97aa30584b1d997d5fa894d23ec5b8063f9fdb53b9a7cd760896634a71a9c547e6a65d1db3c5e6308233c39dcf09db3a78d52ef960313c2c7b4381e6a46 SHA512 57ecf8d5d741a9a3ba9bb1ffd1e75ee83c14a0c552657063fca9bd4e5eec82b5ccafe81e1cea26cbb29992ce418bdcce11794e7ba3f7a860648df270cb2cd2cf
-DIST chromium-128.0.6613.119.tar.xz 6718742128 BLAKE2B b47eb124c249bae074883cdf1e98eaddd2aae1b5575960fea68632bd4684a1a28f59b41894935b02609f75de60f44b61d418ee0065bf005272a066133dca2946 SHA512 a3a1411b21885ce0c29574355d52a1bfad84299fdc99daf191d70f911f191d482f0e4a3d181faa1a1a7b031727f482fd3d95b6d9e1280167c0610f731356d11f
-DIST chromium-128.0.6613.137.tar.xz 6724182764 BLAKE2B 9f4d77b058af1619a4a13beac31ea463bd3d02086c172fb074d510b3f1dcba284fb1fa9ac5883ade2c2855f851a22bcbd4503960b4a27bc5844f16ad81558aba SHA512 3be85d2270a70ce3779b57e5d011e45312c67607e9e7c7f7ef396c515e37fed767105dfe0cc1f76830b007cebc05662f5318750c656c8a9765a25fa62036df6e
-DIST chromium-patches-128.tar.bz2 5087 BLAKE2B b0321fb45390a282afeeeb8fb4d6014d6e6b708e6851235e0897ac77d524160b4d33476aa70532df45d0ccf233fee3b4028cd4d845667dc6a2a46ecebfeb6752 SHA512 978908d27dc6fc620209486a9ad7f73babde8710728960f44f2680445276516e59a85c08656af2663d9e197df45874f24a1f19f14a21798fbcf7c5a10bb19371
+DIST chromium-129-clang.tar.xz 52250752 BLAKE2B c7223a1f4a9f52eb631b968ecaea528d19aa14ded23e03e530ad6c46e7e1579a7a010cb347489f1b963013b4f26358be94aeff0f98b5eceb7b1f1e49e8acdfd3 SHA512 43681d64d4480e3f69afd3021037af6910e9c64052edefdb72e99b0a85cd94c4a8eb4095188784d7fa7f52fae10a9bd9db53f2bb80e89f709f92af7ce6403976
+DIST chromium-129-rust.tar.xz 152042272 BLAKE2B acde4dc9c0fe232d16f07f3e4b719ea762627e234970866e0de56ec3959c4cd0a7b1b09cf5ccecd50efd1cc35dcf224be3b398c1ea19a79731d6db13c94fa7a9 SHA512 bef8e56cf73de5cefd5fe0bb9836ef65012406ff3d364d36624d30e7b5cdb2634d17ac9e49a60ccb0ac5dd57cf4311b587c5ff0cec26b2fc6e15274abe0dc85b
+DIST chromium-129.0.6668.100.tar.xz 6677334468 BLAKE2B b68896322673762ce49ac18dcd731011516f3eff3e98561bcfc2404fea7e5bf8c39fa8c5b19e0dc26f188ec8787ba2b729580024a0ca205c891eaf48a4a0e134 SHA512 366be6dbde59e979186174525431d4823449e0c031bb4dc290f747c7525de44f3e2c821a0c4cd1bbb47ae3bee9fa24efdaa465d8d883791f6c63f20760a4fb48
+DIST chromium-patches-129.tar.bz2 5071 BLAKE2B 080e1af8b0560a3c5365674e7c8d592310bbd2e273311b775b8112e410d91ccd48f170adbcf77cff566ad32de196217410663ac7b9e7e65544b6730fb1890aca SHA512 0a5bbc07dc9085b07332d5c6dd74940a9d55c4d0677f5603e75763ba54156f43664839d438f350bc86f3efc85aae452476e7f7040e06e60727847b156d1f0ab9
DIST chromium-ppc64le-gentoo-patches-1.tar.xz 5636 BLAKE2B 1d898939df023c59285b27bee552470483ea06375d1ee8d6947b89c5927c23cc7bfec6b49f3b376ece931d11a56f8e2a45791e0f92ad61974fc8c34c1082d89c SHA512 8a71cb007e47cda8e5fe5d185729389e65c48bd322c8ee8b3986bee8571427b959628f2666bda646a3f89ae64197c0957d3626845ff03461dbd5dee4c964d07c
DIST chromium-profiler-0.2.tar 259952640 BLAKE2B 5e82389fce00b267280d633b26551231c558b80f0c92cd7d60271095a3503365ab673e7a46dc5f74f8a82db1f21262cb24dcc0531d954bab5fb3b175dab3394d SHA512 9fa89a5ab728419683e7495ae676567480987d68a2d589f2aa97bfcbcf123f3c8f97f8bca5f65e5e3f6e41475535add473ded83b9c7a33bb4746a9d05b298a6c
-DIST chromium_128.0.6613.119-1raptor0~deb12u1.debian.tar.xz 8673272 BLAKE2B 0ae1ead2b8d0ce196d5d16e132194da12d3dde3b43c270f794630c3427d38aaac6c6a289ac64b4748354e9d4d20ae8597076b64a4b7a7e1225c66a9f86e9f7ff SHA512 c896f8f07aa44cd6950375b36fe89fc2780ff9867e01feab71100c8551b22d3c89c5ba9e80cffbad22ff8575d20fc782b70969a51c68384fd8de62a09c4ffdcf
DIST chromium_128.0.6613.84-1raptor0~deb12u1.debian.tar.xz 8674292 BLAKE2B 74c8556f578231cd133ce3a11306ce38d32332a3db7b0f32a63df1806201933e69e9ff01e66d7ccef279f2134e0a69c89365d7a08a7a7e7d69816a188ae0b91c SHA512 b1b85bc99493676d466e648c00eb7e337efbcb197e9ed5ae6394133721db828583340df5ebfa45a3dccc72f400ad6ada637d400d8e2fae35c1322ca5e15dc10e
diff --git a/www-client/chromium/chromium-128.0.6613.119.ebuild b/www-client/chromium/chromium-128.0.6613.119.ebuild
deleted file mode 100644
index 687d896..0000000
--- a/www-client/chromium/chromium-128.0.6613.119.ebuild
+++ /dev/null
@@ -1,1467 +0,0 @@
-# Copyright 2009-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# PACKAGING NOTES
-
-# Google roll their bundled Clang every two weeks, and the bundled Rust
-# is rolled regularly and depends on that. While we do our best to build
-# with system Clang, we will eventually hit the point where we need to use
-# the bundled Clang due to the use of prerelease features. We've been lucky
-# enough so far that this hasn't been an issue.
-# We use llvm-utils.eclass directly due to chromium's inherent Googliness.
-
-# GN is bundled with Chromium, but we always use the system version. Remember to
-# check for upstream changes to GN and update ebuild (and version below) as required.
-
-# For binhost users, if USE=bindist is set, we configure Chromium in a way that it is able
-# to use proprietary codecs, and so that ffmpeg is an external component (libffmpeg.so),
-# then we remove ffmpeg from the image to ensure that the built package is distributable
-# (i.e. we don't owe royalties). A suitable libffmpeg.so is symlinked in its place;
-# as a result of this, ffmpeg[chromium] or ffmpeg-chromium must be installed on the system.
-
-# For non-binhost builds, we build the bundled ffmpeg and enable proprietary codecs because there's
-# no reason not to. Todo: Re-enable USE=system-ffmpeg.
-
-GN_MIN_VER=0.2165
-RUST_MIN_VER=1.78.0
-# chromium-tools/get-chromium-toolchain-strings.sh
-GOOGLE_CLANG_VER=llvmorg-19-init-14561-gecea8371-3000
-GOOGLE_RUST_VER=3cf924b934322fd7b514600a7dc84fc517515346-3
-
-: ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN=no}
-
-VIRTUALX_REQUIRED="pgo"
-
-CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
- hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr
- sv sw ta te th tr uk ur vi zh-CN zh-TW"
-
-# While prerelease llvm is actually used in the google build, until we have a
-# sane way to select 'rust built with this llvm slot' that isn't stable and testing
-# subslots we will have to restrict LLVM_COMPAT to stable and testing keywords.
-LLVM_COMPAT=( {17..18} )
-PYTHON_COMPAT=( python3_{11..13} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit check-reqs chromium-2 desktop flag-o-matic llvm-utils ninja-utils pax-utils
-inherit python-any-r1 qmake-utils readme.gentoo-r1 systemd toolchain-funcs virtualx xdg-utils
-
-DESCRIPTION="Open-source version of Google Chrome web browser"
-HOMEPAGE="https://www.chromium.org/"
-PATCHSET_PPC64="128.0.6613.84-1raptor0~deb12u1"
-PATCH_V="${PV%%\.*}"
-SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
- system-toolchain? (
- https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2
- )
- !system-toolchain? (
- https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-${GOOGLE_CLANG_VER}.tar.xz
- -> chromium-${PV%%\.*}-clang.tar.xz
- https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${GOOGLE_RUST_VER}-${GOOGLE_CLANG_VER%?????}.tar.xz
- -> chromium-${PV%%\.*}-rust.tar.xz
- )
- ppc64? (
- https://quickbuild.io/~raptor-engineering-public/+archive/ubuntu/chromium/+files/chromium_${PATCHSET_PPC64}.debian.tar.xz
- https://deps.gentoo.zip/chromium-ppc64le-gentoo-patches-1.tar.xz
- )
- pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )"
-
-LICENSE="BSD"
-SLOT="0/stable"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
-IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd"
-IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo +proprietary-codecs pulseaudio"
-IUSE+=" qt5 qt6 +screencast selinux +system-toolchain +vaapi +wayland +widevine"
-RESTRICT="!bindist? ( bindist )"
-
-REQUIRED_USE="
- !headless? ( || ( X wayland ) )
- pgo? ( X !wayland )
- qt6? ( qt5 )
- screencast? ( wayland )
- ffmpeg-chromium? ( bindist proprietary-codecs )
-"
-
-COMMON_X_DEPEND="
- x11-libs/libXcomposite:=
- x11-libs/libXcursor:=
- x11-libs/libXdamage:=
- x11-libs/libXfixes:=
- >=x11-libs/libXi-1.6.0:=
- x11-libs/libXrandr:=
- x11-libs/libXrender:=
- x11-libs/libXtst:=
- x11-libs/libxshmfence:=
-"
-
-COMMON_SNAPSHOT_DEPEND="
- system-icu? ( >=dev-libs/icu-73.0:= )
- >=dev-libs/libxml2-2.12.4:=[icu]
- dev-libs/nspr:=
- >=dev-libs/nss-3.26:=
- dev-libs/libxslt:=
- media-libs/fontconfig:=
- >=media-libs/freetype-2.11.0-r1:=
- system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] )
- media-libs/libjpeg-turbo:=
- system-png? ( media-libs/libpng:=[-apng(-)] )
- system-zstd? ( >=app-arch/zstd-1.5.5:= )
- >=media-libs/libwebp-0.4.0:=
- media-libs/mesa:=[gbm(+)]
- >=media-libs/openh264-1.6.0:=
- sys-libs/zlib:=
- x11-libs/libdrm:=
- !headless? (
- dev-libs/glib:2
- >=media-libs/alsa-lib-1.0.19:=
- pulseaudio? ( media-libs/libpulse:= )
- sys-apps/pciutils:=
- kerberos? ( virtual/krb5 )
- vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] )
- X? (
- x11-base/xorg-proto:=
- x11-libs/libX11:=
- x11-libs/libxcb:=
- x11-libs/libXext:=
- )
- x11-libs/libxkbcommon:=
- wayland? (
- dev-libs/libffi:=
- dev-libs/wayland:=
- screencast? ( media-video/pipewire:= )
- )
- )
-"
-
-COMMON_DEPEND="
- ${COMMON_SNAPSHOT_DEPEND}
- app-arch/bzip2:=
- dev-libs/expat:=
- net-misc/curl[ssl]
- sys-apps/dbus:=
- media-libs/flac:=
- sys-libs/zlib:=[minizip]
- !headless? (
- X? ( ${COMMON_X_DEPEND} )
- >=app-accessibility/at-spi2-core-2.46.0:2
- media-libs/mesa:=[X?,wayland?]
- cups? ( >=net-print/cups-1.3.11:= )
- virtual/udev
- x11-libs/cairo:=
- x11-libs/gdk-pixbuf:2
- x11-libs/pango:=
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtwidgets:5
- )
- qt6? ( dev-qt/qtbase:6[gui,widgets] )
- )
-"
-RDEPEND="${COMMON_DEPEND}
- !headless? (
- || (
- x11-libs/gtk+:3[X?,wayland?]
- gui-libs/gtk:4[X?,wayland?]
- )
- qt5? ( dev-qt/qtgui:5[X?,wayland?] )
- qt6? ( dev-qt/qtbase:6[X?,wayland?] )
- )
- virtual/ttf-fonts
- selinux? ( sec-policy/selinux-chromium )
- bindist? (
- !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] )
- ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} )
- )
-"
-DEPEND="${COMMON_DEPEND}
- !headless? (
- gtk4? ( gui-libs/gtk:4[X?,wayland?] )
- !gtk4? ( x11-libs/gtk+:3[X?,wayland?] )
- )
-"
-
-depend_clang_llvm_version() {
- echo "sys-devel/clang:$1"
- echo "sys-devel/llvm:$1"
- echo "=sys-devel/lld-$1*"
- echo "virtual/rust:0/llvm-${1}[profiler(-)]"
- echo "pgo? ( sys-libs/compiler-rt-sanitizers:${1}[profile] )"
-}
-
-# Parse LLVM_COMPAT and generate a usedep for each version
-depend_clang_llvm_versions() {
- if [[ ${#LLVM_COMPAT[@]} -eq 0 ]]; then
- depend_clang_llvm_version ${#LLVM_COMPAT[0]}
- else
- echo "|| ("
- for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do
- echo "("
- depend_clang_llvm_version ${LLVM_COMPAT[i]}
- echo ")"
- done
- echo ")"
- fi
-}
-
-BDEPEND="
- ${COMMON_SNAPSHOT_DEPEND}
- ${PYTHON_DEPS}
- $(python_gen_any_dep '
- dev-python/setuptools[${PYTHON_USEDEP}]
- ')
- >=app-arch/gzip-1.7
- !headless? (
- qt5? ( dev-qt/qtcore:5 )
- qt6? ( dev-qt/qtbase:6 )
- )
- system-toolchain? (
- $(depend_clang_llvm_versions)
- pgo? (
- >=dev-python/selenium-3.141.0
- >=dev-util/web_page_replay_go-20220314
- )
- >=dev-util/bindgen-0.68.0
- )
- >=dev-build/gn-${GN_MIN_VER}
- dev-build/ninja
- dev-lang/perl
- >=dev-util/gperf-3.0.3
- dev-vcs/git
- >=net-libs/nodejs-7.6.0[inspector]
- >=sys-devel/bison-2.4.3
- sys-devel/flex
- virtual/pkgconfig
-"
-
-if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
- EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
-fi
-
-DISABLE_AUTOFORMATTING="yes"
-DOC_CONTENTS="
-Some web pages may require additional fonts to display properly.
-Try installing some of the following packages if some characters
-are not displayed properly:
-- media-fonts/arphicfonts
-- media-fonts/droid
-- media-fonts/ipamonafont
-- media-fonts/noto
-- media-fonts/ja-ipafonts
-- media-fonts/takao-fonts
-- media-fonts/wqy-microhei
-- media-fonts/wqy-zenhei
-
-To fix broken icons on the Downloads page, you should install an icon
-theme that covers the appropriate MIME types, and configure this as your
-GTK+ icon theme.
-
-For native file dialogs in KDE, install kde-apps/kdialog.
-
-To make password storage work with your desktop environment you may
-have install one of the supported credentials management applications:
-- app-crypt/libsecret (GNOME)
-- kde-frameworks/kwallet (KDE)
-If you have one of above packages installed, but don't want to use
-them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS
-in /etc/chromium/default.
-"
-
-python_check_deps() {
- python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
-}
-
-pre_build_checks() {
- # Check build requirements: bugs #471810, #541816, #914220
- # We're going to start doing maths here on the size of an unpacked source tarball,
- # this should make updates easier as chromium continues to balloon in size.
- local BASE_DISK=24
- local EXTRA_DISK=1
- local CHECKREQS_MEMORY="4G"
- tc-is-cross-compiler && EXTRA_DISK=2
- if tc-is-lto || use pgo; then
- CHECKREQS_MEMORY="9G"
- tc-is-cross-compiler && EXTRA_DISK=4
- use pgo && EXTRA_DISK=8
- fi
- if is-flagq '-g?(gdb)?([1-9])'; then
- if use custom-cflags; then
- EXTRA_DISK=13
- fi
- CHECKREQS_MEMORY="16G"
- fi
- CHECKREQS_DISK_BUILD="$((BASE_DISK + EXTRA_DISK))G"
- check-reqs_${EBUILD_PHASE_FUNC}
-}
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- # The pre_build_checks are all about compilation resources, no need to run it for a binpkg
- pre_build_checks
- fi
-
- if use headless; then
- local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "qt6" "vaapi" "wayland")
- for myiuse in ${headless_unused_flags[@]}; do
- use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set."
- done
- fi
-
- if ! use bindist && use ffmpeg-chromium; then
- ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set."
- fi
-}
-
-# Chromium should build with any version of clang that we support
-# but we may need to pick the "best" one for a build (highest installed,
-# rust is built against it, etc.)
-# Check each slot in LLVM_COMPAT to see if clang/llvm/lld are available
-# and output the _highest_ slot that is actually available on a system.
-chromium_pick_llvm_slot() {
- # LLVM_COMPAT is always going to be oldest to newest (or one value)
- # let's flip it and check from newest to oldest and return the first one we find.
- local slot
- for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do
- slot=${LLVM_COMPAT[i]}
- if has_version "sys-devel/clang:${slot}" && \
- has_version "sys-devel/llvm:${slot}" && \
- has_version "sys-devel/lld:${slot}" && \
- has_version "virtual/rust:0/llvm-${slot}" && \
- ( ! use pgo || has_version "sys-libs/compiler-rt-sanitizers:${slot}" ) ; then
-
- echo "${slot}"
- return
- fi
- done
-
- die_msg="
-No suitable clang/llvm/lld slot found.
-Slots checked: ${LLVM_COMPAT[*]}.
-"
- die "${die_msg}"
-}
-
-# We need the rust version in src_configure and pkg_setup
-chromium_extract_rust_version() {
- [[ ${MERGE_TYPE} == binary ]] && return
- local rustc_version=( $(eselect --brief rust show 2>/dev/null) )
- rustc_version=${rustc_version[0]#rust-bin-}
- rustc_version=${rustc_version#rust-}
-
- [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output"
-
- echo $rustc_version
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- # The pre_build_checks are all about compilation resources, no need to run it for a binpkg
- pre_build_checks
-
- if use system-toolchain; then
- # The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment
- # We'll set these to clang here then use llvm-utils functions to very explicitly set these
- # to a sane value.
- # This is effectively the 'force-clang' path if GCC support is re-added.
- # TODO: check if the user has already selected a specific impl via make.conf and respect that.
- if ! tc-is-lto && use official; then
- einfo "USE=official selected and LTO not detected."
- einfo "It is _highly_ recommended that LTO be enabled for performance reasons"
- einfo "and to be consistent with the upstream \"official\" build optimisations."
- fi
-
- # 936858
- if tc-ld-is-mold; then
- eerror "Your toolchain is using the mold linker."
- eerror "This is not supported by Chromium."
- die "Please switch to a different linker."
- fi
-
- LLVM_SLOT=$(chromium_pick_llvm_slot)
- export LLVM_SLOT # used in src_configure for rust-y business
- AR=llvm-ar
- CPP="${CHOST}-clang++ -E"
- NM=llvm-nm
- CC=${CHOST}-clang
- CXX=${CHOST}-clang++
-
- if tc-is-cross-compiler; then
- use pgo && die "The pgo USE flag cannot be used when cross-compiling"
- CPP="${CBUILD}-clang++ -E"
- fi
-
- # The llvm-r1_pkg_setup we have at home.
- # We prepend the path _first_ to explicitly use the selected slot.
- llvm_prepend_path "${LLVM_SLOT}"
-
- llvm_fix_clang_version CC CPP CXX
- llvm_fix_tool_path ADDR2LINE AR AS LD NM OBJCOPY OBJDUMP RANLIB
- llvm_fix_tool_path READELF STRINGS STRIP
-
- # Set LLVM_CONFIG to help Meson (bug #907965) but only do it
- # for empty ESYSROOT (as a proxy for "are we cross-compiling?").
- if [[ -z ${ESYSROOT} ]] ; then
- llvm_fix_tool_path LLVM_CONFIG
- fi
-
- einfo "Using LLVM/Clang slot ${LLVM_SLOT} to build"
-
- local rustc_ver=$(chromium_extract_rust_version)
- if ver_test "${rustc_ver}" -lt "${RUST_MIN_VER}"; then
- eerror "Rust >=${RUST_MIN_VER} is required"
- eerror "Please run 'eselect rust' and select the correct rust version"
- die "Selected rust version is too old"
- else
- einfo "Using rust ${rustc_ver} to build"
- fi
-
- fi
- # Users should never hit this, it's purely a development convenience
- if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then
- die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium"
- fi
- fi
-
- chromium_suid_sandbox_check_kernel_config
-}
-
-src_unpack() {
- # In 126 Chromium upstream decided to change the way that the rust toolchain is packaged
- # so now we get a fancy src_unpack function to ensure that we don't accidentally unpack
- # one toolchain over the other. The addtional control over over unpacking also helps us
- # ensure that GN doesn't try and use some bundled tool (like bindgen) instead of the system
- # package by just not unpacking it unless we're using the bundled toolchain.
- unpack ${P}.tar.xz
- if use system-toolchain; then
- unpack chromium-patches-${PATCH_V}.tar.bz2
- else
- unpack chromium-${PV%%\.*}-clang.tar.xz
- local rust_dir="${WORKDIR}/rust-toolchain"
- mkdir -p ${rust_dir} || die "Failed to create rust toolchain directory"
- tar xf "${DISTDIR}/chromium-${PV%%\.*}-rust.tar.xz" -C ${rust_dir} || die "Failed to unpack rust toolchain"
- fi
-
- use pgo && unpack chromium-profiler-0.2.tar
-
- if use ppc64; then
- unpack chromium_${PATCHSET_PPC64}.debian.tar.xz
- unpack chromium-ppc64le-gentoo-patches-1.tar.xz
- fi
-}
-
-src_prepare() {
- # Calling this here supports resumption via FEATURES=keepwork
- python_setup
-
- # disable global media controls, crashes with libstdc++
- sed -i -e \
- "/\"GlobalMediaControlsCastStartStop\"/,+4{s/ENABLED/DISABLED/;}" \
- "chrome/browser/media/router/media_router_feature.cc" || die
-
- local PATCHES=(
- "${FILESDIR}/chromium-cross-compile.patch"
- "${FILESDIR}/chromium-109-system-zlib.patch"
- "${FILESDIR}/chromium-111-InkDropHost-crash.patch"
- "${FILESDIR}/chromium-126-oauth2-client-switches.patch"
- "${FILESDIR}/chromium-127-bindgen-custom-toolchain.patch"
- "${FILESDIR}/chromium-127-updater-systemd.patch"
- "${FILESDIR}/swiftshader-MCDissassembler.patch"
- "${FILESDIR}/swiftshader-use-llvm16.patch"
- "${FILESDIR}/Debian-fix-rust-linking.patch"
- "${FILESDIR}/riscv-dav1d.patch"
- "${FILESDIR}/riscv-sandbox.patch"
- "${FILESDIR}/riscv-ffmpeg.patch"
- "${FILESDIR}/riscv.patch"
- "${FILESDIR}/cpuinfo.patch"
- "${FILESDIR}/riscv-v8.patch"
- )
-
- # 127: test deps are broken for ui/lens with system ICU "//third_party/icu:icuuc_public"
- sed -i '/source_set("unit_tests") {/,/}/d' \
- chrome/browser/ui/lens/BUILD.gn || die "Failed to remove bad test target"
- sed -i '/lens:unit_tests/d' chrome/test/BUILD.gn components/BUILD.gn \
- || die "Failed to remove dependencies on bad target"
-
- if use system-toolchain; then
- # The patchset is really only required if we're using the system-toolchain
- PATCHES+=( "${WORKDIR}/chromium-patches-${PATCH_V}" )
- # We can't use the bundled compiler builtins
- sed -i -e \
- "/if (is_clang && toolchain_has_rust) {/,+2d" \
- build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins"
- else
- mkdir -p third_party/llvm-build/Release+Asserts || die "Failed to bundle llvm"
- ln -s "${WORKDIR}"/bin third_party/llvm-build/Release+Asserts/bin || die "Failed to symlink llvm bin"
- ln -s "${WORKDIR}"/lib third_party/llvm-build/Release+Asserts/lib || die "Failed to symlink llvm lib"
- echo "${GOOGLE_CLANG_VER}" > third_party/llvm-build/Release+Asserts/cr_build_revision || \
- die "Failed to set clang version"
- ln -s "${WORKDIR}"/rust-toolchain third_party/rust-toolchain || die "Failed to bundle rust"
- cp "${WORKDIR}"/rust-toolchain/VERSION \
- "${WORKDIR}"/rust-toolchain/INSTALLED_VERSION || die "Failed to set rust version"
- fi
-
- if use ppc64 ; then
- local p
- for p in $(grep -v "^#" "${WORKDIR}"/debian/patches/series | grep "^ppc64le" || die); do
- if [[ ! $p =~ "fix-breakpad-compile.patch" ]]; then
- eapply "${WORKDIR}/debian/patches/${p}"
- fi
- done
- PATCHES+=( "${WORKDIR}/ppc64le" )
- PATCHES+=( "${WORKDIR}/debian/patches/fixes/rust-clanglib.patch" )
- fi
-
- default
-
- rm third_party/node/linux/node-linux-x64/bin/node || die
- ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
-
- # adjust python interpreter version
- sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die
-
- local keeplibs=(
- base/third_party/cityhash
- base/third_party/double_conversion
- base/third_party/icu
- base/third_party/nspr
- base/third_party/superfasthash
- base/third_party/symbolize
- base/third_party/xdg_user_dirs
- buildtools/third_party/libc++
- buildtools/third_party/libc++abi
- chrome/third_party/mozilla_security_manager
- courgette/third_party
- net/third_party/mozilla_security_manager
- net/third_party/nss
- net/third_party/quic
- net/third_party/uri_template
- third_party/abseil-cpp
- third_party/angle
- third_party/angle/src/common/third_party/xxhash
- third_party/angle/src/third_party/ceval
- third_party/angle/src/third_party/libXNVCtrl
- third_party/angle/src/third_party/volk
- third_party/anonymous_tokens
- third_party/apple_apsl
- third_party/axe-core
- third_party/bidimapper
- third_party/blink
- third_party/boringssl
- third_party/boringssl/src/third_party/fiat
- third_party/breakpad
- third_party/breakpad/breakpad/src/third_party/curl
- third_party/brotli
- third_party/catapult
- third_party/catapult/common/py_vulcanize/third_party/rcssmin
- third_party/catapult/common/py_vulcanize/third_party/rjsmin
- third_party/catapult/third_party/beautifulsoup4-4.9.3
- third_party/catapult/third_party/html5lib-1.1
- third_party/catapult/third_party/polymer
- third_party/catapult/third_party/six
- third_party/catapult/tracing/third_party/d3
- third_party/catapult/tracing/third_party/gl-matrix
- third_party/catapult/tracing/third_party/jpeg-js
- third_party/catapult/tracing/third_party/jszip
- third_party/catapult/tracing/third_party/mannwhitneyu
- third_party/catapult/tracing/third_party/oboe
- third_party/catapult/tracing/third_party/pako
- third_party/ced
- third_party/cld_3
- third_party/closure_compiler
- third_party/content_analysis_sdk
- third_party/cpuinfo
- third_party/crabbyavif
- third_party/crashpad
- third_party/crashpad/crashpad/third_party/lss
- third_party/crashpad/crashpad/third_party/zlib
- third_party/crc32c
- third_party/cros_system_api
- third_party/d3
- third_party/dav1d
- third_party/dawn
- third_party/dawn/third_party/gn/webgpu-cts
- third_party/dawn/third_party/khronos
- third_party/depot_tools
- third_party/devscripts
- third_party/devtools-frontend
- third_party/devtools-frontend/src/front_end/third_party/acorn
- third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
- third_party/devtools-frontend/src/front_end/third_party/axe-core
- third_party/devtools-frontend/src/front_end/third_party/chromium
- third_party/devtools-frontend/src/front_end/third_party/codemirror
- third_party/devtools-frontend/src/front_end/third_party/csp_evaluator
- third_party/devtools-frontend/src/front_end/third_party/diff
- third_party/devtools-frontend/src/front_end/third_party/i18n
- third_party/devtools-frontend/src/front_end/third_party/intl-messageformat
- third_party/devtools-frontend/src/front_end/third_party/lighthouse
- third_party/devtools-frontend/src/front_end/third_party/lit
- third_party/devtools-frontend/src/front_end/third_party/lodash-isequal
- third_party/devtools-frontend/src/front_end/third_party/marked
- third_party/devtools-frontend/src/front_end/third_party/puppeteer
- third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt
- third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/parsel-js
- third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs
- third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data
- third_party/devtools-frontend/src/front_end/third_party/wasmparser
- third_party/devtools-frontend/src/front_end/third_party/web-vitals
- third_party/devtools-frontend/src/third_party
- third_party/distributed_point_functions
- third_party/dom_distiller_js
- third_party/eigen3
- third_party/emoji-segmenter
- third_party/farmhash
- third_party/fdlibm
- third_party/ffmpeg
- third_party/fft2d
- third_party/flatbuffers
- third_party/fp16
- third_party/freetype
- third_party/fusejs
- third_party/fxdiv
- third_party/gemmlowp
- third_party/google_input_tools
- third_party/google_input_tools/third_party/closure_library
- third_party/google_input_tools/third_party/closure_library/third_party/closure
- third_party/googletest
- third_party/highway
- third_party/hunspell
- third_party/iccjpeg
- third_party/inspector_protocol
- third_party/ipcz
- third_party/jinja2
- third_party/jsoncpp
- third_party/jstemplate
- third_party/khronos
- third_party/lens_server_proto
- third_party/leveldatabase
- third_party/libaddressinput
- third_party/libaom
- third_party/libaom/source/libaom/third_party/fastfeat
- third_party/libaom/source/libaom/third_party/SVT-AV1
- third_party/libaom/source/libaom/third_party/vector
- third_party/libaom/source/libaom/third_party/x86inc
- third_party/libavif
- third_party/libc++
- third_party/libevent
- third_party/libgav1
- third_party/libjingle
- third_party/libphonenumber
- third_party/libsecret
- third_party/libsrtp
- third_party/libsync
- third_party/libudev
- third_party/liburlpattern
- third_party/libva_protected_content
- third_party/libvpx
- third_party/libvpx/source/libvpx/third_party/x86inc
- third_party/libwebm
- third_party/libx11
- third_party/libxcb-keysyms
- third_party/libxml/chromium
- third_party/libyuv
- third_party/libzip
- third_party/lit
- third_party/lottie
- third_party/lss
- third_party/lzma_sdk
- third_party/mako
- third_party/markupsafe
- third_party/material_color_utilities
- third_party/mesa
- third_party/metrics_proto
- third_party/minigbm
- third_party/modp_b64
- third_party/nasm
- third_party/nearby
- third_party/neon_2_sse
- third_party/node
- third_party/omnibox_proto
- third_party/one_euro_filter
- third_party/openscreen
- third_party/openscreen/src/third_party/
- third_party/openscreen/src/third_party/tinycbor/src/src
- third_party/opus
- third_party/ots
- third_party/pdfium
- third_party/pdfium/third_party/agg23
- third_party/pdfium/third_party/bigint
- third_party/pdfium/third_party/freetype
- third_party/pdfium/third_party/lcms
- third_party/pdfium/third_party/libopenjpeg
- third_party/pdfium/third_party/libtiff
- third_party/perfetto
- third_party/perfetto/protos/third_party/chromium
- third_party/perfetto/protos/third_party/simpleperf
- third_party/pffft
- third_party/ply
- third_party/polymer
- third_party/private_membership
- third_party/private-join-and-compute
- third_party/protobuf
- third_party/pthreadpool
- third_party/puffin
- third_party/pyjson5
- third_party/pyyaml
- third_party/qcms
- third_party/re2
- third_party/rnnoise
- third_party/rust
- third_party/ruy
- third_party/s2cellid
- third_party/securemessage
- third_party/selenium-atoms
- third_party/sentencepiece
- third_party/sentencepiece/src/third_party/darts_clone
- third_party/shell-encryption
- third_party/simplejson
- third_party/six
- third_party/skia
- third_party/skia/include/third_party/vulkan
- third_party/skia/third_party/vulkan
- third_party/smhasher
- third_party/snappy
- third_party/spirv-headers
- third_party/spirv-tools
- third_party/sqlite
- third_party/swiftshader
- third_party/swiftshader/third_party/astc-encoder
- third_party/swiftshader/third_party/llvm-subzero
- third_party/swiftshader/third_party/marl
- third_party/swiftshader/third_party/SPIRV-Headers/include/spirv
- third_party/swiftshader/third_party/SPIRV-Tools
- third_party/swiftshader/third_party/subzero
- third_party/tensorflow_models
- third_party/tensorflow-text
- third_party/tflite
- third_party/tflite/src/third_party/eigen3
- third_party/tflite/src/third_party/fft2d
- third_party/tflite/src/third_party/xla/third_party/tsl
- third_party/tflite/src/third_party/xla/xla/tsl/util
- third_party/tflite/src/third_party/xla/xla/tsl/framework
- third_party/ukey2
- third_party/unrar
- third_party/utf
- third_party/vulkan
- third_party/wayland
- third_party/webdriver
- third_party/webgpu-cts
- third_party/webrtc
- third_party/webrtc/common_audio/third_party/ooura
- third_party/webrtc/common_audio/third_party/spl_sqrt_floor
- third_party/webrtc/modules/third_party/fft
- third_party/webrtc/modules/third_party/g711
- third_party/webrtc/modules/third_party/g722
- third_party/webrtc/rtc_base/third_party/base64
- third_party/webrtc/rtc_base/third_party/sigslot
- third_party/widevine
- third_party/woff2
- third_party/wuffs
- third_party/x11proto
- third_party/xcbproto
- third_party/xnnpack
- third_party/zlib/google
- third_party/zxcvbn-cpp
- url/third_party/mozilla
- v8/src/third_party/siphash
- v8/src/third_party/utf8-decoder
- v8/src/third_party/valgrind
- v8/third_party/glibc
- v8/third_party/inspector_protocol
- v8/third_party/v8
-
- # gyp -> gn leftovers
- third_party/speech-dispatcher
- third_party/usb_ids
- third_party/xdg-utils
- )
-
- # USE=system-*
- if ! use system-harfbuzz; then
- keeplibs+=( third_party/harfbuzz-ng )
- fi
-
- if ! use system-icu; then
- keeplibs+=( third_party/icu )
- fi
-
- if ! use system-png; then
- keeplibs+=( third_party/libpng )
- fi
-
- if ! use system-zstd; then
- keeplibs+=( third_party/zstd )
- fi
-
- if ! use system-toolchain || [[ ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN} == yes ]]; then
- keeplibs+=( third_party/llvm )
- fi
-
- # Arch-specific
- if use arm64 || use ppc64 ; then
- keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 )
- fi
- if use riscv ; then
- keeplibs+=( third_party/swiftshader/third_party/llvm-16.0 )
- fi
- # we need to generate ppc64 stuff because upstream does not ship it yet
- # it has to be done before unbundling.
- if use ppc64; then
- pushd third_party/libvpx >/dev/null || die
- mkdir -p source/config/linux/ppc64 || die
- # requires git and clang, bug #832803
- # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh
- # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh
- # since we're not in a git repo
- sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \
- generate_gni.sh || die
- ./generate_gni.sh || die
- popd >/dev/null || die
-
- pushd third_party/ffmpeg >/dev/null || die
- cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die
- cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die
- popd >/dev/null || die
- fi
-
- einfo "Unbundling third-party libraries ..."
- # Remove most bundled libraries. Some are still needed.
- build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
-
- # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries
- mkdir -p buildtools/third_party/eu-strip/bin || die
- ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die
-}
-
-chromium_configure() {
- # Calling this here supports resumption via FEATURES=keepwork
- python_setup
-
- local myconf_gn=""
-
- # We already forced the "correct" clang via pkg_setup
- if use system-toolchain; then
- if tc-is-cross-compiler; then
- CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}"
- CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}"
- BUILD_AR=${AR}
- BUILD_CC=${CC}
- BUILD_CXX=${CXX}
- BUILD_NM=${NM}
- fi
-
- strip-unsupported-flags
-
- myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
- # https://bugs.gentoo.org/918897#c32
- append-ldflags -Wl,--undefined-version
- myconf_gn+=" use_lld=true"
-
- # Make sure the build system will use the right tools, bug #340795.
- tc-export AR CC CXX NM
-
- myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
-
- if tc-is-cross-compiler; then
- tc-export BUILD_{AR,CC,CXX,NM}
- myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
- myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
- myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\""
- myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\""
-
- # setup cups-config, build system only uses --libs option
- if use cups; then
- mkdir "${T}/cups-config" || die
- cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die
- export PATH="${PATH}:${T}/cups-config"
- fi
-
- # Don't inherit PKG_CONFIG_PATH from environment
- local -x PKG_CONFIG_PATH=
- else
- myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
- fi
-
- # bindgen settings
- # From 127, to make bindgen work, we need to provide a location for libclang.
- # We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch
- # rust_bindgen_root = directory with `bin/bindgen` beneath it.
- myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\""
-
- # from get_llvm_prefix
- local prefix=${ESYSROOT}
- [[ ${1} == -b ]] && prefix=${BROOT}
- myconf_gn+=" bindgen_libclang_path=\"${prefix}/usr/lib/llvm/${LLVM_SLOT}/$(get_libdir)\""
- # We don't need to set 'clang_base_bath' for anything in our build
- # and it defaults to the google toolchain location. Instead provide a location
- # to where system clang lives sot that bindgen can find system headers (e.g. stddef.h)
- myconf_gn+=" clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\""
-
- # We need to provide this to GN in both the path to rust _and_ the version
- local rustc_ver=$(chromium_extract_rust_version)
- if [[ "$(eselect --brief rust show 2>/dev/null)" == *"bin"* ]]; then
- myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/opt/rust-bin-${rustc_ver}/\""
- else
- myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/usr/lib/rust/${rustc_ver}/\""
- fi
- myconf_gn+=" rustc_version=\"${rustc_ver}\""
- fi
-
- # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
- myconf_gn+=" is_debug=false"
-
- # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138.
- # DCHECK is fatal by default, make it configurable at runtime, #bug 807881.
- myconf_gn+=" dcheck_always_on=$(usex debug true false)"
- myconf_gn+=" dcheck_is_configurable=$(usex debug true false)"
-
- # Component build isn't generally intended for use by end users. It's mostly useful
- # for development and debugging.
- myconf_gn+=" is_component_build=false"
-
- # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
- myconf_gn+=" enable_nacl=false"
-
- # Use system-provided libraries.
- # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
- # TODO: use_system_hunspell (upstream changes needed).
- # TODO: use_system_protobuf (bug #525560).
- # TODO: use_system_sqlite (http://crbug.com/22208).
-
- # libevent: https://bugs.gentoo.org/593458
- local gn_system_libraries=(
- flac
- fontconfig
- freetype
- # Need harfbuzz_from_pkgconfig target
- #harfbuzz-ng
- libdrm
- libjpeg
- libwebp
- libxml
- libxslt
- openh264
- zlib
- )
- if use system-icu; then
- gn_system_libraries+=( icu )
- fi
- if use system-png; then
- gn_system_libraries+=( libpng )
- fi
- if use system-zstd; then
- gn_system_libraries+=( zstd )
- fi
-
- build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
-
- # See dependency logic in third_party/BUILD.gn
- myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)"
-
- # Optional dependencies.
- myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
- myconf_gn+=" enable_widevine=$(usex widevine true false)"
-
- if use headless; then
- myconf_gn+=" use_cups=false"
- myconf_gn+=" use_kerberos=false"
- myconf_gn+=" use_pulseaudio=false"
- myconf_gn+=" use_vaapi=false"
- myconf_gn+=" rtc_use_pipewire=false"
- else
- myconf_gn+=" use_cups=$(usex cups true false)"
- myconf_gn+=" use_kerberos=$(usex kerberos true false)"
- myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
- myconf_gn+=" use_vaapi=$(usex vaapi true false)"
- myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)"
- myconf_gn+=" gtk_version=$(usex gtk4 4 3)"
- fi
-
- # Allows distributions to link pulseaudio directly (DT_NEEDED) instead of
- # using dlopen. This helps with automated detection of ABI mismatches and
- # prevents silent errors.
- if use pulseaudio; then
- myconf_gn+=" link_pulseaudio=true"
- fi
-
- # Non-developer builds of Chromium (for example, non-Chrome browsers, or
- # Chromium builds provided by Linux distros) should disable the testing config
- myconf_gn+=" disable_fieldtrial_testing_config=true"
-
- # The sysroot is the oldest debian image that chromium supports, we don't need it
- myconf_gn+=" use_sysroot=false"
-
- # Use in-tree libc++ (buildtools/third_party/libc++ and buildtools/third_party/libc++abi)
- # instead of the system C++ library for C++ standard library support.
- # default: true, but let's be explicit (forced since 120 ; USE removed 127).
- myconf_gn+=" use_custom_libcxx=true"
-
- # Disable pseudolocales, only used for testing
- myconf_gn+=" enable_pseudolocales=false"
-
- # Disable code formating of generated files
- myconf_gn+=" blink_enable_generated_code_formatting=false"
-
- if use bindist ; then
- # proprietary_codecs just forces Chromium to say that it can use h264/aac,
- # the work is still done by ffmpeg. If this is set to no Chromium
- # won't be able to load the codec even if the library can handle it
- myconf_gn+=" proprietary_codecs=true"
- myconf_gn+=" ffmpeg_branding=\"Chrome\""
- # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute
- myconf_gn+=" is_component_ffmpeg=true"
- else
- ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
- myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
- myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
- fi
-
- # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
- # Note: these are for Gentoo use ONLY. For your own distribution,
- # please get your own set of keys. Feel free to contact chromium@gentoo.org
- # for more info. The OAuth2 credentials, however, have been left out.
- # Those OAuth2 credentials have been broken for quite some time anyway.
- # Instead we apply a patch to use the --oauth2-client-id= and
- # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and
- # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into
- # Chromium without baked-in values.
- local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
- myconf_gn+=" google_api_key=\"${google_api_key}\""
- local myarch="$(tc-arch)"
-
- # Avoid CFLAGS problems, bug #352457, bug #390147.
- if ! use custom-cflags; then
- replace-flags "-Os" "-O2"
- strip-flags
-
- # Debug info section overflows without component build
- # Prevent linker from running out of address space, bug #471810 .
- filter-flags "-g*"
-
- # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646.
- if [[ ${myarch} == amd64 ]]; then
- filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a
- fi
- fi
-
- if [[ $myarch = amd64 ]] ; then
- myconf_gn+=" target_cpu=\"x64\""
- ffmpeg_target_arch=x64
- elif [[ $myarch = arm64 ]] ; then
- myconf_gn+=" target_cpu=\"arm64\""
- ffmpeg_target_arch=arm64
- elif [[ $myarch = ppc64 ]] ; then
- myconf_gn+=" target_cpu=\"ppc64\""
- ffmpeg_target_arch=ppc64
- elif [[ $myarch = riscv ]] ; then
- myconf_gn+=" target_cpu=\"riscv64\""
- ffmpeg_target_arch=riscv64
- else
- die "Failed to determine target arch, got '$myarch'."
- fi
-
- myconf_gn+=" treat_warnings_as_errors=false"
- # Disable fatal linker warnings, bug 506268.
- myconf_gn+=" fatal_linker_warnings=false"
-
- # Disable external code space for V8 for ppc64. It is disabled for ppc64
- # by default, but cross-compiling on amd64 enables it again.
- if tc-is-cross-compiler; then
- if ! use amd64 && ! use arm64; then
- myconf_gn+=" v8_enable_external_code_space=false"
- fi
- fi
-
- # Only enabled for clang, but gcc has endian macros too
- myconf_gn+=" v8_use_libm_trig_functions=true"
-
- # Bug 491582.
- export TMPDIR="${WORKDIR}/temp"
- mkdir -p -m 755 "${TMPDIR}" || die
-
- # https://bugs.gentoo.org/654216
- addpredict /dev/dri/ #nowarn
-
- # We don't use the same clang version as upstream, and with -Werror
- # we need to make sure that we don't get superfluous warnings.
- append-flags -Wno-unknown-warning-option
- if tc-is-cross-compiler; then
- export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option"
- export BUILD_CFLAGS+=" -Wno-unknown-warning-option"
- fi
-
- # Explicitly disable ICU data file support for system-icu/headless builds.
- if use system-icu || use headless; then
- myconf_gn+=" icu_use_data_file=false"
- fi
-
- # Don't need nocompile checks and GN crashes with our config
- myconf_gn+=" enable_nocompile_tests=false"
-
- # Enable ozone wayland and/or headless support
- myconf_gn+=" use_ozone=true ozone_auto_platforms=false"
- myconf_gn+=" ozone_platform_headless=true"
- if use headless; then
- myconf_gn+=" ozone_platform=\"headless\""
- myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false"
- myconf_gn+=" use_glib=false use_gio=false"
- myconf_gn+=" use_pangocairo=false use_alsa=false"
- myconf_gn+=" use_libpci=false use_udev=false"
- myconf_gn+=" enable_print_preview=false"
- myconf_gn+=" enable_remoting=false"
- else
- myconf_gn+=" use_system_libdrm=true"
- myconf_gn+=" use_system_minigbm=true"
- myconf_gn+=" use_xkbcommon=true"
- if use qt5 || use qt6; then
- local cbuild_libdir=$(get_libdir)
- if tc-is-cross-compiler; then
- # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
- local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt)
- cbuild_libdir=${cbuild_libdir:2}
- cbuild_libdir=${cbuild_libdir/% }
- fi
- if use qt5; then
- if tc-is-cross-compiler; then
- myconf_gn+=" moc_qt5_path=\"${EPREFIX}/${cbuild_libdir}/qt5/bin\""
- else
- myconf_gn+=" moc_qt5_path=\"$(qt5_get_bindir)\""
- fi
- fi
- if use qt6; then
- myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\""
- fi
-
- myconf_gn+=" use_qt=true"
- myconf_gn+=" use_qt6=$(usex qt6 true false)"
- else
- myconf_gn+=" use_qt=false"
- fi
- myconf_gn+=" ozone_platform_x11=$(usex X true false)"
- myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)"
- myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")"
- use wayland && myconf_gn+=" use_system_libffi=true"
- fi
-
- # Results in undefined references in chrome linking, may require CFI to work
- if use arm64; then
- myconf_gn+=" arm_control_flow_integrity=\"none\""
- fi
-
- # 936673: Updater (which we don't use) depends on libsystemd
- # This _should_ always be disabled if we're not building a
- # "Chrome" branded browser, but obviously this is not always sufficient.
- myconf_gn+=" enable_updater=false"
-
- local use_lto="false"
- if tc-is-lto; then
- use_lto="true"
- fi
- myconf_gn+=" use_thin_lto=${use_lto}"
- myconf_gn+=" thin_lto_enable_optimizations=${use_lto}"
-
- # Enable official builds
- myconf_gn+=" is_official_build=$(usex official true false)"
- if use official; then
- # Allow building against system libraries in official builds
- sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
- tools/generate_shim_headers/generate_shim_headers.py || die
- # Req's LTO; TODO: not compatible with -fno-split-lto-unit
- myconf_gn+=" is_cfi=false"
- # Don't add symbols to build
- myconf_gn+=" symbol_level=0"
- fi
-
- if use pgo; then
- myconf_gn+=" chrome_pgo_phase=${1}"
- if [[ "$1" == "2" ]]; then
- myconf_gn+=" pgo_data_path=\"${2}\""
- fi
- else
- # Disable PGO
- myconf_gn+=" chrome_pgo_phase=0"
- fi
-
- # skipping typecheck is only supported on amd64, bug #876157
- if ! use amd64; then
- myconf_gn+=" devtools_skip_typecheck=false"
- fi
-
- einfo "Configuring Chromium ..."
- set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
- echo "$@"
- "$@" || die
-}
-
-src_configure() {
- chromium_configure $(usex pgo 1 0)
-}
-
-chromium_compile() {
- # Final link uses lots of file descriptors.
- ulimit -n 2048
-
- # Calling this here supports resumption via FEATURES=keepwork
- python_setup
-
- # Don't inherit PYTHONPATH from environment, bug #789021, #812689
- local -x PYTHONPATH=
-
- # Build mksnapshot and pax-mark it.
- if use pax-kernel; then
- local x
- for x in mksnapshot v8_context_snapshot_generator; do
- if tc-is-cross-compiler; then
- eninja -C out/Release "host/${x}"
- pax-mark m "out/Release/host/${x}"
- else
- eninja -C out/Release "${x}"
- pax-mark m "out/Release/${x}"
- fi
- done
- fi
-
- # Even though ninja autodetects number of CPUs, we respect
- # user's options, for debugging with -j 1 or any other reason.
- eninja -C out/Release chrome chromedriver chrome_sandbox
-
- pax-mark m out/Release/chrome
-
- if ! use system-toolchain; then
- QA_FLAGS_IGNORED="
- usr/lib64/chromium-browser/chrome
- usr/lib64/chromium-browser/chrome-sandbox
- usr/lib64/chromium-browser/chromedriver
- usr/lib64/chromium-browser/chrome_crashpad_handler
- usr/lib64/chromium-browser/libEGL.so
- usr/lib64/chromium-browser/libGLESv2.so
- usr/lib64/chromium-browser/libVkICD_mock_icd.so
- usr/lib64/chromium-browser/libVkLayer_khronos_validation.so
- usr/lib64/chromium-browser/libqt5_shim.so
- usr/lib64/chromium-browser/libvk_swiftshader.so
- usr/lib64/chromium-browser/libvulkan.so.1
- "
- fi
-}
-
-# This function is called from virtx, and must always return so that Xvfb
-# session isn't left running. If we return 1, virtx will call die().
-chromium_profile() {
- einfo "Profiling for PGO"
-
- pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1
-
- # Remove old profdata in case profiling was interrupted.
- rm -rf "${1}" || return 1
-
- if ! "${EPYTHON}" ./chromium_profiler.py \
- --chrome-executable "${S}/out/Release/chrome" \
- --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \
- --add-arg no-sandbox --add-arg disable-dev-shm-usage \
- --profile-output "${1}"; then
- eerror "Profiling failed"
- return 1
- fi
-
- popd >/dev/null || return 1
-}
-
-src_compile() {
- if use pgo; then
- local profdata
-
- profdata="${WORKDIR}/chromium.profdata"
-
- if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then
- chromium_compile
- virtx chromium_profile "$profdata"
-
- touch "${WORKDIR}/.pgo-profiled" || die
- fi
-
- if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then
- # Remove phase 1 output
- rm -r out/Release || die
-
- chromium_configure 2 "$profdata"
-
- touch "${WORKDIR}/.pgo-phase-2-configured" || die
- fi
-
- if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then
- chromium_compile
- touch "${WORKDIR}/.pgo-phase-2-compiled" || die
- fi
- else
- chromium_compile
- fi
-
- mv out/Release/chromedriver{.unstripped,} || die
-
- rm -f out/Release/locales/*.pak.info || die
-
- # Build manpage; bug #684550
- sed -e 's|@@PACKAGE@@|chromium-browser|g;
- s|@@MENUNAME@@|Chromium|g;' \
- chrome/app/resources/manpage.1.in > \
- out/Release/chromium-browser.1 || die
-
- # Build desktop file; bug #706786
- sed -e 's|@@MENUNAME@@|Chromium|g;
- s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g;
- s|@@PACKAGE@@|chromium-browser|g;
- s|\(^Exec=\)/usr/bin/|\1|g;' \
- chrome/installer/linux/common/desktop.template > \
- out/Release/chromium-browser-chromium.desktop || die
-
- # Build vk_swiftshader_icd.json; bug #827861
- sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \
- third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \
- out/Release/vk_swiftshader_icd.json || die
-}
-
-src_install() {
- local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
- exeinto "${CHROMIUM_HOME}"
- doexe out/Release/chrome
-
- newexe out/Release/chrome_sandbox chrome-sandbox
- fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
-
- doexe out/Release/chromedriver
- doexe out/Release/chrome_crashpad_handler
-
- ozone_auto_session () {
- use X && use wayland && ! use headless && echo true || echo false
- }
- local sedargs=( -e
- "s:/usr/lib/:/usr/$(get_libdir)/:g;
- s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g"
- )
- sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die
- doexe chromium-launcher.sh
-
- # It is important that we name the target "chromium-browser",
- # xdg-utils expect it; bug #355517.
- dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser
- # keep the old symlink around for consistency
- dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
-
- dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
-
- # Allow users to override command-line options, bug #357629.
- insinto /etc/chromium
- newins "${FILESDIR}/chromium.default" "default"
-
- pushd out/Release/locales > /dev/null || die
- chromium_remove_language_paks
- popd
-
- insinto "${CHROMIUM_HOME}"
- doins out/Release/*.bin
- doins out/Release/*.pak
-
- if use bindist; then
- # We built libffmpeg as a component library, but we can't distribute it
- # with proprietary codec support. Remove it and make a symlink to the requested
- # system library.
- rm -f out/Release/libffmpeg.so \
- || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)"
- # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium].
- einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..."
- dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \
- /usr/$(get_libdir)/chromium-browser/libffmpeg.so
- fi
-
- (
- shopt -s nullglob
- local files=(out/Release/*.so out/Release/*.so.[0-9])
- [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}"
- )
-
- # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland"
- doins out/Release/xdg-{settings,mime}
-
- if ! use system-icu && ! use headless; then
- doins out/Release/icudtl.dat
- fi
-
- doins -r out/Release/locales
- doins -r out/Release/MEIPreload
-
- # Install vk_swiftshader_icd.json; bug #827861
- doins out/Release/vk_swiftshader_icd.json
-
- if [[ -d out/Release/swiftshader ]]; then
- insinto "${CHROMIUM_HOME}/swiftshader"
- doins out/Release/swiftshader/*.so
- fi
-
- # Install icons
- local branding size
- for size in 16 24 32 48 64 128 256 ; do
- case ${size} in
- 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
- *) branding="chrome/app/theme/chromium" ;;
- esac
- newicon -s ${size} "${branding}/product_logo_${size}.png" \
- chromium-browser.png
- done
-
- # Install desktop entry
- domenu out/Release/chromium-browser-chromium.desktop
-
- # Install GNOME default application entry (bug #303100).
- insinto /usr/share/gnome-control-center/default-apps
- newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
-
- # Install manpage; bug #684550
- doman out/Release/chromium-browser.1
- dosym chromium-browser.1 /usr/share/man/man1/chromium.1
-
- readme.gentoo_create_doc
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_desktop_database_update
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
- xdg_desktop_database_update
- readme.gentoo_print_elog
-
- if ! use headless; then
- if use vaapi; then
- elog "VA-API is disabled by default at runtime. You have to enable it"
- elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS"
- elog "in /etc/chromium/default."
- fi
- if use screencast; then
- elog "Screencast is disabled by default at runtime. Either enable it"
- elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer"
- elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer"
- elog "to CHROMIUM_FLAGS in /etc/chromium/default."
- fi
- if use gtk4; then
- elog "Chromium prefers GTK3 over GTK4 at runtime. To override this"
- elog "behavior you need to pass --gtk-version=4, e.g. by adding it"
- elog "to CHROMIUM_FLAGS in /etc/chromium/default."
- fi
- if use qt5 && use qt6; then
- elog "Chromium automatically selects Qt5 or Qt6 based on your desktop"
- elog "environment. To override you need to pass --qt-version=5 or"
- elog "--qt-version=6, e.g. by adding it to CHROMIUM_FLAGS in"
- elog "/etc/chromium/default."
- fi
- fi
-
- if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then
- ewarn "The lack of an '/etc/machine-id' file on this system booted with systemd"
- ewarn "indicates that the Gentoo handbook was not followed to completion."
- ewarn ""
- ewarn "Chromium is known to behave unpredictably with this system configuration;"
- ewarn "please complete the configuration of this system before logging any bugs."
- fi
-}
diff --git a/www-client/chromium/chromium-128.0.6613.137.ebuild b/www-client/chromium/chromium-128.0.6613.137.ebuild
deleted file mode 100644
index 26fe209..0000000
--- a/www-client/chromium/chromium-128.0.6613.137.ebuild
+++ /dev/null
@@ -1,1467 +0,0 @@
-# Copyright 2009-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# PACKAGING NOTES
-
-# Google roll their bundled Clang every two weeks, and the bundled Rust
-# is rolled regularly and depends on that. While we do our best to build
-# with system Clang, we will eventually hit the point where we need to use
-# the bundled Clang due to the use of prerelease features. We've been lucky
-# enough so far that this hasn't been an issue.
-# We use llvm-utils.eclass directly due to chromium's inherent Googliness.
-
-# GN is bundled with Chromium, but we always use the system version. Remember to
-# check for upstream changes to GN and update ebuild (and version below) as required.
-
-# For binhost users, if USE=bindist is set, we configure Chromium in a way that it is able
-# to use proprietary codecs, and so that ffmpeg is an external component (libffmpeg.so),
-# then we remove ffmpeg from the image to ensure that the built package is distributable
-# (i.e. we don't owe royalties). A suitable libffmpeg.so is symlinked in its place;
-# as a result of this, ffmpeg[chromium] or ffmpeg-chromium must be installed on the system.
-
-# For non-binhost builds, we build the bundled ffmpeg and enable proprietary codecs because there's
-# no reason not to. Todo: Re-enable USE=system-ffmpeg.
-
-GN_MIN_VER=0.2165
-RUST_MIN_VER=1.78.0
-# chromium-tools/get-chromium-toolchain-strings.sh
-GOOGLE_CLANG_VER=llvmorg-19-init-14561-gecea8371-3000
-GOOGLE_RUST_VER=3cf924b934322fd7b514600a7dc84fc517515346-3
-
-: ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN=no}
-
-VIRTUALX_REQUIRED="pgo"
-
-CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
- hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr
- sv sw ta te th tr uk ur vi zh-CN zh-TW"
-
-# While prerelease llvm is actually used in the google build, until we have a
-# sane way to select 'rust built with this llvm slot' that isn't stable and testing
-# subslots we will have to restrict LLVM_COMPAT to stable and testing keywords.
-LLVM_COMPAT=( {17..18} )
-PYTHON_COMPAT=( python3_{11..13} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit check-reqs chromium-2 desktop flag-o-matic llvm-utils ninja-utils pax-utils
-inherit python-any-r1 qmake-utils readme.gentoo-r1 systemd toolchain-funcs virtualx xdg-utils
-
-DESCRIPTION="Open-source version of Google Chrome web browser"
-HOMEPAGE="https://www.chromium.org/"
-PATCHSET_PPC64="128.0.6613.119-1raptor0~deb12u1"
-PATCH_V="${PV%%\.*}"
-SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
- system-toolchain? (
- https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2
- )
- !system-toolchain? (
- https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-${GOOGLE_CLANG_VER}.tar.xz
- -> chromium-${PV%%\.*}-clang.tar.xz
- https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${GOOGLE_RUST_VER}-${GOOGLE_CLANG_VER%?????}.tar.xz
- -> chromium-${PV%%\.*}-rust.tar.xz
- )
- ppc64? (
- https://quickbuild.io/~raptor-engineering-public/+archive/ubuntu/chromium/+files/chromium_${PATCHSET_PPC64}.debian.tar.xz
- https://deps.gentoo.zip/chromium-ppc64le-gentoo-patches-1.tar.xz
- )
- pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )"
-
-LICENSE="BSD"
-SLOT="0/stable"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
-IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd"
-IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo +proprietary-codecs pulseaudio"
-IUSE+=" qt5 qt6 +screencast selinux +system-toolchain +vaapi +wayland +widevine"
-RESTRICT="!bindist? ( bindist )"
-
-REQUIRED_USE="
- !headless? ( || ( X wayland ) )
- pgo? ( X !wayland )
- qt6? ( qt5 )
- screencast? ( wayland )
- ffmpeg-chromium? ( bindist proprietary-codecs )
-"
-
-COMMON_X_DEPEND="
- x11-libs/libXcomposite:=
- x11-libs/libXcursor:=
- x11-libs/libXdamage:=
- x11-libs/libXfixes:=
- >=x11-libs/libXi-1.6.0:=
- x11-libs/libXrandr:=
- x11-libs/libXrender:=
- x11-libs/libXtst:=
- x11-libs/libxshmfence:=
-"
-
-COMMON_SNAPSHOT_DEPEND="
- system-icu? ( >=dev-libs/icu-73.0:= )
- >=dev-libs/libxml2-2.12.4:=[icu]
- dev-libs/nspr:=
- >=dev-libs/nss-3.26:=
- dev-libs/libxslt:=
- media-libs/fontconfig:=
- >=media-libs/freetype-2.11.0-r1:=
- system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] )
- media-libs/libjpeg-turbo:=
- system-png? ( media-libs/libpng:=[-apng(-)] )
- system-zstd? ( >=app-arch/zstd-1.5.5:= )
- >=media-libs/libwebp-0.4.0:=
- media-libs/mesa:=[gbm(+)]
- >=media-libs/openh264-1.6.0:=
- sys-libs/zlib:=
- x11-libs/libdrm:=
- !headless? (
- dev-libs/glib:2
- >=media-libs/alsa-lib-1.0.19:=
- pulseaudio? ( media-libs/libpulse:= )
- sys-apps/pciutils:=
- kerberos? ( virtual/krb5 )
- vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] )
- X? (
- x11-base/xorg-proto:=
- x11-libs/libX11:=
- x11-libs/libxcb:=
- x11-libs/libXext:=
- )
- x11-libs/libxkbcommon:=
- wayland? (
- dev-libs/libffi:=
- dev-libs/wayland:=
- screencast? ( media-video/pipewire:= )
- )
- )
-"
-
-COMMON_DEPEND="
- ${COMMON_SNAPSHOT_DEPEND}
- app-arch/bzip2:=
- dev-libs/expat:=
- net-misc/curl[ssl]
- sys-apps/dbus:=
- media-libs/flac:=
- sys-libs/zlib:=[minizip]
- !headless? (
- X? ( ${COMMON_X_DEPEND} )
- >=app-accessibility/at-spi2-core-2.46.0:2
- media-libs/mesa:=[X?,wayland?]
- cups? ( >=net-print/cups-1.3.11:= )
- virtual/udev
- x11-libs/cairo:=
- x11-libs/gdk-pixbuf:2
- x11-libs/pango:=
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtwidgets:5
- )
- qt6? ( dev-qt/qtbase:6[gui,widgets] )
- )
-"
-RDEPEND="${COMMON_DEPEND}
- !headless? (
- || (
- x11-libs/gtk+:3[X?,wayland?]
- gui-libs/gtk:4[X?,wayland?]
- )
- qt5? ( dev-qt/qtgui:5[X?,wayland?] )
- qt6? ( dev-qt/qtbase:6[X?,wayland?] )
- )
- virtual/ttf-fonts
- selinux? ( sec-policy/selinux-chromium )
- bindist? (
- !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] )
- ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} )
- )
-"
-DEPEND="${COMMON_DEPEND}
- !headless? (
- gtk4? ( gui-libs/gtk:4[X?,wayland?] )
- !gtk4? ( x11-libs/gtk+:3[X?,wayland?] )
- )
-"
-
-depend_clang_llvm_version() {
- echo "sys-devel/clang:$1"
- echo "sys-devel/llvm:$1"
- echo "=sys-devel/lld-$1*"
- echo "virtual/rust:0/llvm-${1}[profiler(-)]"
- echo "pgo? ( sys-libs/compiler-rt-sanitizers:${1}[profile] )"
-}
-
-# Parse LLVM_COMPAT and generate a usedep for each version
-depend_clang_llvm_versions() {
- if [[ ${#LLVM_COMPAT[@]} -eq 0 ]]; then
- depend_clang_llvm_version ${#LLVM_COMPAT[0]}
- else
- echo "|| ("
- for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do
- echo "("
- depend_clang_llvm_version ${LLVM_COMPAT[i]}
- echo ")"
- done
- echo ")"
- fi
-}
-
-BDEPEND="
- ${COMMON_SNAPSHOT_DEPEND}
- ${PYTHON_DEPS}
- $(python_gen_any_dep '
- dev-python/setuptools[${PYTHON_USEDEP}]
- ')
- >=app-arch/gzip-1.7
- !headless? (
- qt5? ( dev-qt/qtcore:5 )
- qt6? ( dev-qt/qtbase:6 )
- )
- system-toolchain? (
- $(depend_clang_llvm_versions)
- pgo? (
- >=dev-python/selenium-3.141.0
- >=dev-util/web_page_replay_go-20220314
- )
- >=dev-util/bindgen-0.68.0
- )
- >=dev-build/gn-${GN_MIN_VER}
- dev-build/ninja
- dev-lang/perl
- >=dev-util/gperf-3.0.3
- dev-vcs/git
- >=net-libs/nodejs-7.6.0[inspector]
- >=sys-devel/bison-2.4.3
- sys-devel/flex
- virtual/pkgconfig
-"
-
-if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
- EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
-fi
-
-DISABLE_AUTOFORMATTING="yes"
-DOC_CONTENTS="
-Some web pages may require additional fonts to display properly.
-Try installing some of the following packages if some characters
-are not displayed properly:
-- media-fonts/arphicfonts
-- media-fonts/droid
-- media-fonts/ipamonafont
-- media-fonts/noto
-- media-fonts/ja-ipafonts
-- media-fonts/takao-fonts
-- media-fonts/wqy-microhei
-- media-fonts/wqy-zenhei
-
-To fix broken icons on the Downloads page, you should install an icon
-theme that covers the appropriate MIME types, and configure this as your
-GTK+ icon theme.
-
-For native file dialogs in KDE, install kde-apps/kdialog.
-
-To make password storage work with your desktop environment you may
-have install one of the supported credentials management applications:
-- app-crypt/libsecret (GNOME)
-- kde-frameworks/kwallet (KDE)
-If you have one of above packages installed, but don't want to use
-them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS
-in /etc/chromium/default.
-"
-
-python_check_deps() {
- python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
-}
-
-pre_build_checks() {
- # Check build requirements: bugs #471810, #541816, #914220
- # We're going to start doing maths here on the size of an unpacked source tarball,
- # this should make updates easier as chromium continues to balloon in size.
- local BASE_DISK=24
- local EXTRA_DISK=1
- local CHECKREQS_MEMORY="4G"
- tc-is-cross-compiler && EXTRA_DISK=2
- if tc-is-lto || use pgo; then
- CHECKREQS_MEMORY="9G"
- tc-is-cross-compiler && EXTRA_DISK=4
- use pgo && EXTRA_DISK=8
- fi
- if is-flagq '-g?(gdb)?([1-9])'; then
- if use custom-cflags; then
- EXTRA_DISK=13
- fi
- CHECKREQS_MEMORY="16G"
- fi
- CHECKREQS_DISK_BUILD="$((BASE_DISK + EXTRA_DISK))G"
- check-reqs_${EBUILD_PHASE_FUNC}
-}
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- # The pre_build_checks are all about compilation resources, no need to run it for a binpkg
- pre_build_checks
- fi
-
- if use headless; then
- local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "qt6" "vaapi" "wayland")
- for myiuse in ${headless_unused_flags[@]}; do
- use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set."
- done
- fi
-
- if ! use bindist && use ffmpeg-chromium; then
- ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set."
- fi
-}
-
-# Chromium should build with any version of clang that we support
-# but we may need to pick the "best" one for a build (highest installed,
-# rust is built against it, etc.)
-# Check each slot in LLVM_COMPAT to see if clang/llvm/lld are available
-# and output the _highest_ slot that is actually available on a system.
-chromium_pick_llvm_slot() {
- # LLVM_COMPAT is always going to be oldest to newest (or one value)
- # let's flip it and check from newest to oldest and return the first one we find.
- local slot
- for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do
- slot=${LLVM_COMPAT[i]}
- if has_version "sys-devel/clang:${slot}" && \
- has_version "sys-devel/llvm:${slot}" && \
- has_version "sys-devel/lld:${slot}" && \
- has_version "virtual/rust:0/llvm-${slot}" && \
- ( ! use pgo || has_version "sys-libs/compiler-rt-sanitizers:${slot}" ) ; then
-
- echo "${slot}"
- return
- fi
- done
-
- die_msg="
-No suitable clang/llvm/lld slot found.
-Slots checked: ${LLVM_COMPAT[*]}.
-"
- die "${die_msg}"
-}
-
-# We need the rust version in src_configure and pkg_setup
-chromium_extract_rust_version() {
- [[ ${MERGE_TYPE} == binary ]] && return
- local rustc_version=( $(eselect --brief rust show 2>/dev/null) )
- rustc_version=${rustc_version[0]#rust-bin-}
- rustc_version=${rustc_version#rust-}
-
- [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output"
-
- echo $rustc_version
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- # The pre_build_checks are all about compilation resources, no need to run it for a binpkg
- pre_build_checks
-
- if use system-toolchain; then
- # The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment
- # We'll set these to clang here then use llvm-utils functions to very explicitly set these
- # to a sane value.
- # This is effectively the 'force-clang' path if GCC support is re-added.
- # TODO: check if the user has already selected a specific impl via make.conf and respect that.
- if ! tc-is-lto && use official; then
- einfo "USE=official selected and LTO not detected."
- einfo "It is _highly_ recommended that LTO be enabled for performance reasons"
- einfo "and to be consistent with the upstream \"official\" build optimisations."
- fi
-
- # 936858
- if tc-ld-is-mold; then
- eerror "Your toolchain is using the mold linker."
- eerror "This is not supported by Chromium."
- die "Please switch to a different linker."
- fi
-
- LLVM_SLOT=$(chromium_pick_llvm_slot)
- export LLVM_SLOT # used in src_configure for rust-y business
- AR=llvm-ar
- CPP="${CHOST}-clang++ -E"
- NM=llvm-nm
- CC=${CHOST}-clang
- CXX=${CHOST}-clang++
-
- if tc-is-cross-compiler; then
- use pgo && die "The pgo USE flag cannot be used when cross-compiling"
- CPP="${CBUILD}-clang++ -E"
- fi
-
- # The llvm-r1_pkg_setup we have at home.
- # We prepend the path _first_ to explicitly use the selected slot.
- llvm_prepend_path "${LLVM_SLOT}"
-
- llvm_fix_clang_version CC CPP CXX
- llvm_fix_tool_path ADDR2LINE AR AS LD NM OBJCOPY OBJDUMP RANLIB
- llvm_fix_tool_path READELF STRINGS STRIP
-
- # Set LLVM_CONFIG to help Meson (bug #907965) but only do it
- # for empty ESYSROOT (as a proxy for "are we cross-compiling?").
- if [[ -z ${ESYSROOT} ]] ; then
- llvm_fix_tool_path LLVM_CONFIG
- fi
-
- einfo "Using LLVM/Clang slot ${LLVM_SLOT} to build"
-
- local rustc_ver=$(chromium_extract_rust_version)
- if ver_test "${rustc_ver}" -lt "${RUST_MIN_VER}"; then
- eerror "Rust >=${RUST_MIN_VER} is required"
- eerror "Please run 'eselect rust' and select the correct rust version"
- die "Selected rust version is too old"
- else
- einfo "Using rust ${rustc_ver} to build"
- fi
-
- fi
- # Users should never hit this, it's purely a development convenience
- if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then
- die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium"
- fi
- fi
-
- chromium_suid_sandbox_check_kernel_config
-}
-
-src_unpack() {
- # In 126 Chromium upstream decided to change the way that the rust toolchain is packaged
- # so now we get a fancy src_unpack function to ensure that we don't accidentally unpack
- # one toolchain over the other. The addtional control over over unpacking also helps us
- # ensure that GN doesn't try and use some bundled tool (like bindgen) instead of the system
- # package by just not unpacking it unless we're using the bundled toolchain.
- unpack ${P}.tar.xz
- if use system-toolchain; then
- unpack chromium-patches-${PATCH_V}.tar.bz2
- else
- unpack chromium-${PV%%\.*}-clang.tar.xz
- local rust_dir="${WORKDIR}/rust-toolchain"
- mkdir -p ${rust_dir} || die "Failed to create rust toolchain directory"
- tar xf "${DISTDIR}/chromium-${PV%%\.*}-rust.tar.xz" -C ${rust_dir} || die "Failed to unpack rust toolchain"
- fi
-
- use pgo && unpack chromium-profiler-0.2.tar
-
- if use ppc64; then
- unpack chromium_${PATCHSET_PPC64}.debian.tar.xz
- unpack chromium-ppc64le-gentoo-patches-1.tar.xz
- fi
-}
-
-src_prepare() {
- # Calling this here supports resumption via FEATURES=keepwork
- python_setup
-
- # disable global media controls, crashes with libstdc++
- sed -i -e \
- "/\"GlobalMediaControlsCastStartStop\"/,+4{s/ENABLED/DISABLED/;}" \
- "chrome/browser/media/router/media_router_feature.cc" || die
-
- local PATCHES=(
- "${FILESDIR}/chromium-cross-compile.patch"
- "${FILESDIR}/chromium-109-system-zlib.patch"
- "${FILESDIR}/chromium-111-InkDropHost-crash.patch"
- "${FILESDIR}/chromium-126-oauth2-client-switches.patch"
- "${FILESDIR}/chromium-127-bindgen-custom-toolchain.patch"
- "${FILESDIR}/chromium-127-updater-systemd.patch"
- "${FILESDIR}/swiftshader-MCDissassembler.patch"
- "${FILESDIR}/swiftshader-use-llvm16.patch"
- "${FILESDIR}/Debian-fix-rust-linking.patch"
- "${FILESDIR}/riscv-dav1d.patch"
- "${FILESDIR}/riscv-sandbox.patch"
- "${FILESDIR}/riscv-ffmpeg.patch"
- "${FILESDIR}/riscv.patch"
- "${FILESDIR}/cpuinfo.patch"
- "${FILESDIR}/riscv-v8.patch"
- )
-
- # 127: test deps are broken for ui/lens with system ICU "//third_party/icu:icuuc_public"
- sed -i '/source_set("unit_tests") {/,/}/d' \
- chrome/browser/ui/lens/BUILD.gn || die "Failed to remove bad test target"
- sed -i '/lens:unit_tests/d' chrome/test/BUILD.gn components/BUILD.gn \
- || die "Failed to remove dependencies on bad target"
-
- if use system-toolchain; then
- # The patchset is really only required if we're using the system-toolchain
- PATCHES+=( "${WORKDIR}/chromium-patches-${PATCH_V}" )
- # We can't use the bundled compiler builtins
- sed -i -e \
- "/if (is_clang && toolchain_has_rust) {/,+2d" \
- build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins"
- else
- mkdir -p third_party/llvm-build/Release+Asserts || die "Failed to bundle llvm"
- ln -s "${WORKDIR}"/bin third_party/llvm-build/Release+Asserts/bin || die "Failed to symlink llvm bin"
- ln -s "${WORKDIR}"/lib third_party/llvm-build/Release+Asserts/lib || die "Failed to symlink llvm lib"
- echo "${GOOGLE_CLANG_VER}" > third_party/llvm-build/Release+Asserts/cr_build_revision || \
- die "Failed to set clang version"
- ln -s "${WORKDIR}"/rust-toolchain third_party/rust-toolchain || die "Failed to bundle rust"
- cp "${WORKDIR}"/rust-toolchain/VERSION \
- "${WORKDIR}"/rust-toolchain/INSTALLED_VERSION || die "Failed to set rust version"
- fi
-
- if use ppc64 ; then
- local p
- for p in $(grep -v "^#" "${WORKDIR}"/debian/patches/series | grep "^ppc64le" || die); do
- if [[ ! $p =~ "fix-breakpad-compile.patch" ]]; then
- eapply "${WORKDIR}/debian/patches/${p}"
- fi
- done
- PATCHES+=( "${WORKDIR}/ppc64le" )
- PATCHES+=( "${WORKDIR}/debian/patches/fixes/rust-clanglib.patch" )
- fi
-
- default
-
- rm third_party/node/linux/node-linux-x64/bin/node || die
- ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
-
- # adjust python interpreter version
- sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die
-
- local keeplibs=(
- base/third_party/cityhash
- base/third_party/double_conversion
- base/third_party/icu
- base/third_party/nspr
- base/third_party/superfasthash
- base/third_party/symbolize
- base/third_party/xdg_user_dirs
- buildtools/third_party/libc++
- buildtools/third_party/libc++abi
- chrome/third_party/mozilla_security_manager
- courgette/third_party
- net/third_party/mozilla_security_manager
- net/third_party/nss
- net/third_party/quic
- net/third_party/uri_template
- third_party/abseil-cpp
- third_party/angle
- third_party/angle/src/common/third_party/xxhash
- third_party/angle/src/third_party/ceval
- third_party/angle/src/third_party/libXNVCtrl
- third_party/angle/src/third_party/volk
- third_party/anonymous_tokens
- third_party/apple_apsl
- third_party/axe-core
- third_party/bidimapper
- third_party/blink
- third_party/boringssl
- third_party/boringssl/src/third_party/fiat
- third_party/breakpad
- third_party/breakpad/breakpad/src/third_party/curl
- third_party/brotli
- third_party/catapult
- third_party/catapult/common/py_vulcanize/third_party/rcssmin
- third_party/catapult/common/py_vulcanize/third_party/rjsmin
- third_party/catapult/third_party/beautifulsoup4-4.9.3
- third_party/catapult/third_party/html5lib-1.1
- third_party/catapult/third_party/polymer
- third_party/catapult/third_party/six
- third_party/catapult/tracing/third_party/d3
- third_party/catapult/tracing/third_party/gl-matrix
- third_party/catapult/tracing/third_party/jpeg-js
- third_party/catapult/tracing/third_party/jszip
- third_party/catapult/tracing/third_party/mannwhitneyu
- third_party/catapult/tracing/third_party/oboe
- third_party/catapult/tracing/third_party/pako
- third_party/ced
- third_party/cld_3
- third_party/closure_compiler
- third_party/content_analysis_sdk
- third_party/cpuinfo
- third_party/crabbyavif
- third_party/crashpad
- third_party/crashpad/crashpad/third_party/lss
- third_party/crashpad/crashpad/third_party/zlib
- third_party/crc32c
- third_party/cros_system_api
- third_party/d3
- third_party/dav1d
- third_party/dawn
- third_party/dawn/third_party/gn/webgpu-cts
- third_party/dawn/third_party/khronos
- third_party/depot_tools
- third_party/devscripts
- third_party/devtools-frontend
- third_party/devtools-frontend/src/front_end/third_party/acorn
- third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
- third_party/devtools-frontend/src/front_end/third_party/axe-core
- third_party/devtools-frontend/src/front_end/third_party/chromium
- third_party/devtools-frontend/src/front_end/third_party/codemirror
- third_party/devtools-frontend/src/front_end/third_party/csp_evaluator
- third_party/devtools-frontend/src/front_end/third_party/diff
- third_party/devtools-frontend/src/front_end/third_party/i18n
- third_party/devtools-frontend/src/front_end/third_party/intl-messageformat
- third_party/devtools-frontend/src/front_end/third_party/lighthouse
- third_party/devtools-frontend/src/front_end/third_party/lit
- third_party/devtools-frontend/src/front_end/third_party/lodash-isequal
- third_party/devtools-frontend/src/front_end/third_party/marked
- third_party/devtools-frontend/src/front_end/third_party/puppeteer
- third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt
- third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/parsel-js
- third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs
- third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data
- third_party/devtools-frontend/src/front_end/third_party/wasmparser
- third_party/devtools-frontend/src/front_end/third_party/web-vitals
- third_party/devtools-frontend/src/third_party
- third_party/distributed_point_functions
- third_party/dom_distiller_js
- third_party/eigen3
- third_party/emoji-segmenter
- third_party/farmhash
- third_party/fdlibm
- third_party/ffmpeg
- third_party/fft2d
- third_party/flatbuffers
- third_party/fp16
- third_party/freetype
- third_party/fusejs
- third_party/fxdiv
- third_party/gemmlowp
- third_party/google_input_tools
- third_party/google_input_tools/third_party/closure_library
- third_party/google_input_tools/third_party/closure_library/third_party/closure
- third_party/googletest
- third_party/highway
- third_party/hunspell
- third_party/iccjpeg
- third_party/inspector_protocol
- third_party/ipcz
- third_party/jinja2
- third_party/jsoncpp
- third_party/jstemplate
- third_party/khronos
- third_party/lens_server_proto
- third_party/leveldatabase
- third_party/libaddressinput
- third_party/libaom
- third_party/libaom/source/libaom/third_party/fastfeat
- third_party/libaom/source/libaom/third_party/SVT-AV1
- third_party/libaom/source/libaom/third_party/vector
- third_party/libaom/source/libaom/third_party/x86inc
- third_party/libavif
- third_party/libc++
- third_party/libevent
- third_party/libgav1
- third_party/libjingle
- third_party/libphonenumber
- third_party/libsecret
- third_party/libsrtp
- third_party/libsync
- third_party/libudev
- third_party/liburlpattern
- third_party/libva_protected_content
- third_party/libvpx
- third_party/libvpx/source/libvpx/third_party/x86inc
- third_party/libwebm
- third_party/libx11
- third_party/libxcb-keysyms
- third_party/libxml/chromium
- third_party/libyuv
- third_party/libzip
- third_party/lit
- third_party/lottie
- third_party/lss
- third_party/lzma_sdk
- third_party/mako
- third_party/markupsafe
- third_party/material_color_utilities
- third_party/mesa
- third_party/metrics_proto
- third_party/minigbm
- third_party/modp_b64
- third_party/nasm
- third_party/nearby
- third_party/neon_2_sse
- third_party/node
- third_party/omnibox_proto
- third_party/one_euro_filter
- third_party/openscreen
- third_party/openscreen/src/third_party/
- third_party/openscreen/src/third_party/tinycbor/src/src
- third_party/opus
- third_party/ots
- third_party/pdfium
- third_party/pdfium/third_party/agg23
- third_party/pdfium/third_party/bigint
- third_party/pdfium/third_party/freetype
- third_party/pdfium/third_party/lcms
- third_party/pdfium/third_party/libopenjpeg
- third_party/pdfium/third_party/libtiff
- third_party/perfetto
- third_party/perfetto/protos/third_party/chromium
- third_party/perfetto/protos/third_party/simpleperf
- third_party/pffft
- third_party/ply
- third_party/polymer
- third_party/private_membership
- third_party/private-join-and-compute
- third_party/protobuf
- third_party/pthreadpool
- third_party/puffin
- third_party/pyjson5
- third_party/pyyaml
- third_party/qcms
- third_party/re2
- third_party/rnnoise
- third_party/rust
- third_party/ruy
- third_party/s2cellid
- third_party/securemessage
- third_party/selenium-atoms
- third_party/sentencepiece
- third_party/sentencepiece/src/third_party/darts_clone
- third_party/shell-encryption
- third_party/simplejson
- third_party/six
- third_party/skia
- third_party/skia/include/third_party/vulkan
- third_party/skia/third_party/vulkan
- third_party/smhasher
- third_party/snappy
- third_party/spirv-headers
- third_party/spirv-tools
- third_party/sqlite
- third_party/swiftshader
- third_party/swiftshader/third_party/astc-encoder
- third_party/swiftshader/third_party/llvm-subzero
- third_party/swiftshader/third_party/marl
- third_party/swiftshader/third_party/SPIRV-Headers/include/spirv
- third_party/swiftshader/third_party/SPIRV-Tools
- third_party/swiftshader/third_party/subzero
- third_party/tensorflow_models
- third_party/tensorflow-text
- third_party/tflite
- third_party/tflite/src/third_party/eigen3
- third_party/tflite/src/third_party/fft2d
- third_party/tflite/src/third_party/xla/third_party/tsl
- third_party/tflite/src/third_party/xla/xla/tsl/util
- third_party/tflite/src/third_party/xla/xla/tsl/framework
- third_party/ukey2
- third_party/unrar
- third_party/utf
- third_party/vulkan
- third_party/wayland
- third_party/webdriver
- third_party/webgpu-cts
- third_party/webrtc
- third_party/webrtc/common_audio/third_party/ooura
- third_party/webrtc/common_audio/third_party/spl_sqrt_floor
- third_party/webrtc/modules/third_party/fft
- third_party/webrtc/modules/third_party/g711
- third_party/webrtc/modules/third_party/g722
- third_party/webrtc/rtc_base/third_party/base64
- third_party/webrtc/rtc_base/third_party/sigslot
- third_party/widevine
- third_party/woff2
- third_party/wuffs
- third_party/x11proto
- third_party/xcbproto
- third_party/xnnpack
- third_party/zlib/google
- third_party/zxcvbn-cpp
- url/third_party/mozilla
- v8/src/third_party/siphash
- v8/src/third_party/utf8-decoder
- v8/src/third_party/valgrind
- v8/third_party/glibc
- v8/third_party/inspector_protocol
- v8/third_party/v8
-
- # gyp -> gn leftovers
- third_party/speech-dispatcher
- third_party/usb_ids
- third_party/xdg-utils
- )
-
- # USE=system-*
- if ! use system-harfbuzz; then
- keeplibs+=( third_party/harfbuzz-ng )
- fi
-
- if ! use system-icu; then
- keeplibs+=( third_party/icu )
- fi
-
- if ! use system-png; then
- keeplibs+=( third_party/libpng )
- fi
-
- if ! use system-zstd; then
- keeplibs+=( third_party/zstd )
- fi
-
- if ! use system-toolchain || [[ ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN} == yes ]]; then
- keeplibs+=( third_party/llvm )
- fi
-
- # Arch-specific
- if use arm64 || use ppc64 ; then
- keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 )
- fi
- if use riscv ; then
- keeplibs+=( third_party/swiftshader/third_party/llvm-16.0 )
- fi
- # we need to generate ppc64 stuff because upstream does not ship it yet
- # it has to be done before unbundling.
- if use ppc64; then
- pushd third_party/libvpx >/dev/null || die
- mkdir -p source/config/linux/ppc64 || die
- # requires git and clang, bug #832803
- # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh
- # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh
- # since we're not in a git repo
- sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \
- generate_gni.sh || die
- ./generate_gni.sh || die
- popd >/dev/null || die
-
- pushd third_party/ffmpeg >/dev/null || die
- cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die
- cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die
- popd >/dev/null || die
- fi
-
- einfo "Unbundling third-party libraries ..."
- # Remove most bundled libraries. Some are still needed.
- build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
-
- # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries
- mkdir -p buildtools/third_party/eu-strip/bin || die
- ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die
-}
-
-chromium_configure() {
- # Calling this here supports resumption via FEATURES=keepwork
- python_setup
-
- local myconf_gn=""
-
- # We already forced the "correct" clang via pkg_setup
- if use system-toolchain; then
- if tc-is-cross-compiler; then
- CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}"
- CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}"
- BUILD_AR=${AR}
- BUILD_CC=${CC}
- BUILD_CXX=${CXX}
- BUILD_NM=${NM}
- fi
-
- strip-unsupported-flags
-
- myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
- # https://bugs.gentoo.org/918897#c32
- append-ldflags -Wl,--undefined-version
- myconf_gn+=" use_lld=true"
-
- # Make sure the build system will use the right tools, bug #340795.
- tc-export AR CC CXX NM
-
- myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
-
- if tc-is-cross-compiler; then
- tc-export BUILD_{AR,CC,CXX,NM}
- myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
- myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
- myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\""
- myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\""
-
- # setup cups-config, build system only uses --libs option
- if use cups; then
- mkdir "${T}/cups-config" || die
- cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die
- export PATH="${PATH}:${T}/cups-config"
- fi
-
- # Don't inherit PKG_CONFIG_PATH from environment
- local -x PKG_CONFIG_PATH=
- else
- myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
- fi
-
- # bindgen settings
- # From 127, to make bindgen work, we need to provide a location for libclang.
- # We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch
- # rust_bindgen_root = directory with `bin/bindgen` beneath it.
- myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\""
-
- # from get_llvm_prefix
- local prefix=${ESYSROOT}
- [[ ${1} == -b ]] && prefix=${BROOT}
- myconf_gn+=" bindgen_libclang_path=\"${prefix}/usr/lib/llvm/${LLVM_SLOT}/$(get_libdir)\""
- # We don't need to set 'clang_base_bath' for anything in our build
- # and it defaults to the google toolchain location. Instead provide a location
- # to where system clang lives sot that bindgen can find system headers (e.g. stddef.h)
- myconf_gn+=" clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\""
-
- # We need to provide this to GN in both the path to rust _and_ the version
- local rustc_ver=$(chromium_extract_rust_version)
- if [[ "$(eselect --brief rust show 2>/dev/null)" == *"bin"* ]]; then
- myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/opt/rust-bin-${rustc_ver}/\""
- else
- myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/usr/lib/rust/${rustc_ver}/\""
- fi
- myconf_gn+=" rustc_version=\"${rustc_ver}\""
- fi
-
- # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
- myconf_gn+=" is_debug=false"
-
- # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138.
- # DCHECK is fatal by default, make it configurable at runtime, #bug 807881.
- myconf_gn+=" dcheck_always_on=$(usex debug true false)"
- myconf_gn+=" dcheck_is_configurable=$(usex debug true false)"
-
- # Component build isn't generally intended for use by end users. It's mostly useful
- # for development and debugging.
- myconf_gn+=" is_component_build=false"
-
- # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
- myconf_gn+=" enable_nacl=false"
-
- # Use system-provided libraries.
- # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
- # TODO: use_system_hunspell (upstream changes needed).
- # TODO: use_system_protobuf (bug #525560).
- # TODO: use_system_sqlite (http://crbug.com/22208).
-
- # libevent: https://bugs.gentoo.org/593458
- local gn_system_libraries=(
- flac
- fontconfig
- freetype
- # Need harfbuzz_from_pkgconfig target
- #harfbuzz-ng
- libdrm
- libjpeg
- libwebp
- libxml
- libxslt
- openh264
- zlib
- )
- if use system-icu; then
- gn_system_libraries+=( icu )
- fi
- if use system-png; then
- gn_system_libraries+=( libpng )
- fi
- if use system-zstd; then
- gn_system_libraries+=( zstd )
- fi
-
- build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
-
- # See dependency logic in third_party/BUILD.gn
- myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)"
-
- # Optional dependencies.
- myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
- myconf_gn+=" enable_widevine=$(usex widevine true false)"
-
- if use headless; then
- myconf_gn+=" use_cups=false"
- myconf_gn+=" use_kerberos=false"
- myconf_gn+=" use_pulseaudio=false"
- myconf_gn+=" use_vaapi=false"
- myconf_gn+=" rtc_use_pipewire=false"
- else
- myconf_gn+=" use_cups=$(usex cups true false)"
- myconf_gn+=" use_kerberos=$(usex kerberos true false)"
- myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
- myconf_gn+=" use_vaapi=$(usex vaapi true false)"
- myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)"
- myconf_gn+=" gtk_version=$(usex gtk4 4 3)"
- fi
-
- # Allows distributions to link pulseaudio directly (DT_NEEDED) instead of
- # using dlopen. This helps with automated detection of ABI mismatches and
- # prevents silent errors.
- if use pulseaudio; then
- myconf_gn+=" link_pulseaudio=true"
- fi
-
- # Non-developer builds of Chromium (for example, non-Chrome browsers, or
- # Chromium builds provided by Linux distros) should disable the testing config
- myconf_gn+=" disable_fieldtrial_testing_config=true"
-
- # The sysroot is the oldest debian image that chromium supports, we don't need it
- myconf_gn+=" use_sysroot=false"
-
- # Use in-tree libc++ (buildtools/third_party/libc++ and buildtools/third_party/libc++abi)
- # instead of the system C++ library for C++ standard library support.
- # default: true, but let's be explicit (forced since 120 ; USE removed 127).
- myconf_gn+=" use_custom_libcxx=true"
-
- # Disable pseudolocales, only used for testing
- myconf_gn+=" enable_pseudolocales=false"
-
- # Disable code formating of generated files
- myconf_gn+=" blink_enable_generated_code_formatting=false"
-
- if use bindist ; then
- # proprietary_codecs just forces Chromium to say that it can use h264/aac,
- # the work is still done by ffmpeg. If this is set to no Chromium
- # won't be able to load the codec even if the library can handle it
- myconf_gn+=" proprietary_codecs=true"
- myconf_gn+=" ffmpeg_branding=\"Chrome\""
- # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute
- myconf_gn+=" is_component_ffmpeg=true"
- else
- ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
- myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
- myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
- fi
-
- # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
- # Note: these are for Gentoo use ONLY. For your own distribution,
- # please get your own set of keys. Feel free to contact chromium@gentoo.org
- # for more info. The OAuth2 credentials, however, have been left out.
- # Those OAuth2 credentials have been broken for quite some time anyway.
- # Instead we apply a patch to use the --oauth2-client-id= and
- # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and
- # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into
- # Chromium without baked-in values.
- local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
- myconf_gn+=" google_api_key=\"${google_api_key}\""
- local myarch="$(tc-arch)"
-
- # Avoid CFLAGS problems, bug #352457, bug #390147.
- if ! use custom-cflags; then
- replace-flags "-Os" "-O2"
- strip-flags
-
- # Debug info section overflows without component build
- # Prevent linker from running out of address space, bug #471810 .
- filter-flags "-g*"
-
- # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646.
- if [[ ${myarch} == amd64 ]]; then
- filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a
- fi
- fi
-
- if [[ $myarch = amd64 ]] ; then
- myconf_gn+=" target_cpu=\"x64\""
- ffmpeg_target_arch=x64
- elif [[ $myarch = arm64 ]] ; then
- myconf_gn+=" target_cpu=\"arm64\""
- ffmpeg_target_arch=arm64
- elif [[ $myarch = ppc64 ]] ; then
- myconf_gn+=" target_cpu=\"ppc64\""
- ffmpeg_target_arch=ppc64
- elif [[ $myarch = riscv ]] ; then
- myconf_gn+=" target_cpu=\"riscv64\""
- ffmpeg_target_arch=riscv64
- else
- die "Failed to determine target arch, got '$myarch'."
- fi
-
- myconf_gn+=" treat_warnings_as_errors=false"
- # Disable fatal linker warnings, bug 506268.
- myconf_gn+=" fatal_linker_warnings=false"
-
- # Disable external code space for V8 for ppc64. It is disabled for ppc64
- # by default, but cross-compiling on amd64 enables it again.
- if tc-is-cross-compiler; then
- if ! use amd64 && ! use arm64; then
- myconf_gn+=" v8_enable_external_code_space=false"
- fi
- fi
-
- # Only enabled for clang, but gcc has endian macros too
- myconf_gn+=" v8_use_libm_trig_functions=true"
-
- # Bug 491582.
- export TMPDIR="${WORKDIR}/temp"
- mkdir -p -m 755 "${TMPDIR}" || die
-
- # https://bugs.gentoo.org/654216
- addpredict /dev/dri/ #nowarn
-
- # We don't use the same clang version as upstream, and with -Werror
- # we need to make sure that we don't get superfluous warnings.
- append-flags -Wno-unknown-warning-option
- if tc-is-cross-compiler; then
- export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option"
- export BUILD_CFLAGS+=" -Wno-unknown-warning-option"
- fi
-
- # Explicitly disable ICU data file support for system-icu/headless builds.
- if use system-icu || use headless; then
- myconf_gn+=" icu_use_data_file=false"
- fi
-
- # Don't need nocompile checks and GN crashes with our config
- myconf_gn+=" enable_nocompile_tests=false"
-
- # Enable ozone wayland and/or headless support
- myconf_gn+=" use_ozone=true ozone_auto_platforms=false"
- myconf_gn+=" ozone_platform_headless=true"
- if use headless; then
- myconf_gn+=" ozone_platform=\"headless\""
- myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false"
- myconf_gn+=" use_glib=false use_gio=false"
- myconf_gn+=" use_pangocairo=false use_alsa=false"
- myconf_gn+=" use_libpci=false use_udev=false"
- myconf_gn+=" enable_print_preview=false"
- myconf_gn+=" enable_remoting=false"
- else
- myconf_gn+=" use_system_libdrm=true"
- myconf_gn+=" use_system_minigbm=true"
- myconf_gn+=" use_xkbcommon=true"
- if use qt5 || use qt6; then
- local cbuild_libdir=$(get_libdir)
- if tc-is-cross-compiler; then
- # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
- local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt)
- cbuild_libdir=${cbuild_libdir:2}
- cbuild_libdir=${cbuild_libdir/% }
- fi
- if use qt5; then
- if tc-is-cross-compiler; then
- myconf_gn+=" moc_qt5_path=\"${EPREFIX}/${cbuild_libdir}/qt5/bin\""
- else
- myconf_gn+=" moc_qt5_path=\"$(qt5_get_bindir)\""
- fi
- fi
- if use qt6; then
- myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\""
- fi
-
- myconf_gn+=" use_qt=true"
- myconf_gn+=" use_qt6=$(usex qt6 true false)"
- else
- myconf_gn+=" use_qt=false"
- fi
- myconf_gn+=" ozone_platform_x11=$(usex X true false)"
- myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)"
- myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")"
- use wayland && myconf_gn+=" use_system_libffi=true"
- fi
-
- # Results in undefined references in chrome linking, may require CFI to work
- if use arm64; then
- myconf_gn+=" arm_control_flow_integrity=\"none\""
- fi
-
- # 936673: Updater (which we don't use) depends on libsystemd
- # This _should_ always be disabled if we're not building a
- # "Chrome" branded browser, but obviously this is not always sufficient.
- myconf_gn+=" enable_updater=false"
-
- local use_lto="false"
- if tc-is-lto; then
- use_lto="true"
- fi
- myconf_gn+=" use_thin_lto=${use_lto}"
- myconf_gn+=" thin_lto_enable_optimizations=${use_lto}"
-
- # Enable official builds
- myconf_gn+=" is_official_build=$(usex official true false)"
- if use official; then
- # Allow building against system libraries in official builds
- sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
- tools/generate_shim_headers/generate_shim_headers.py || die
- # Req's LTO; TODO: not compatible with -fno-split-lto-unit
- myconf_gn+=" is_cfi=false"
- # Don't add symbols to build
- myconf_gn+=" symbol_level=0"
- fi
-
- if use pgo; then
- myconf_gn+=" chrome_pgo_phase=${1}"
- if [[ "$1" == "2" ]]; then
- myconf_gn+=" pgo_data_path=\"${2}\""
- fi
- else
- # Disable PGO
- myconf_gn+=" chrome_pgo_phase=0"
- fi
-
- # skipping typecheck is only supported on amd64, bug #876157
- if ! use amd64; then
- myconf_gn+=" devtools_skip_typecheck=false"
- fi
-
- einfo "Configuring Chromium ..."
- set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
- echo "$@"
- "$@" || die
-}
-
-src_configure() {
- chromium_configure $(usex pgo 1 0)
-}
-
-chromium_compile() {
- # Final link uses lots of file descriptors.
- ulimit -n 2048
-
- # Calling this here supports resumption via FEATURES=keepwork
- python_setup
-
- # Don't inherit PYTHONPATH from environment, bug #789021, #812689
- local -x PYTHONPATH=
-
- # Build mksnapshot and pax-mark it.
- if use pax-kernel; then
- local x
- for x in mksnapshot v8_context_snapshot_generator; do
- if tc-is-cross-compiler; then
- eninja -C out/Release "host/${x}"
- pax-mark m "out/Release/host/${x}"
- else
- eninja -C out/Release "${x}"
- pax-mark m "out/Release/${x}"
- fi
- done
- fi
-
- # Even though ninja autodetects number of CPUs, we respect
- # user's options, for debugging with -j 1 or any other reason.
- eninja -C out/Release chrome chromedriver chrome_sandbox
-
- pax-mark m out/Release/chrome
-
- if ! use system-toolchain; then
- QA_FLAGS_IGNORED="
- usr/lib64/chromium-browser/chrome
- usr/lib64/chromium-browser/chrome-sandbox
- usr/lib64/chromium-browser/chromedriver
- usr/lib64/chromium-browser/chrome_crashpad_handler
- usr/lib64/chromium-browser/libEGL.so
- usr/lib64/chromium-browser/libGLESv2.so
- usr/lib64/chromium-browser/libVkICD_mock_icd.so
- usr/lib64/chromium-browser/libVkLayer_khronos_validation.so
- usr/lib64/chromium-browser/libqt5_shim.so
- usr/lib64/chromium-browser/libvk_swiftshader.so
- usr/lib64/chromium-browser/libvulkan.so.1
- "
- fi
-}
-
-# This function is called from virtx, and must always return so that Xvfb
-# session isn't left running. If we return 1, virtx will call die().
-chromium_profile() {
- einfo "Profiling for PGO"
-
- pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1
-
- # Remove old profdata in case profiling was interrupted.
- rm -rf "${1}" || return 1
-
- if ! "${EPYTHON}" ./chromium_profiler.py \
- --chrome-executable "${S}/out/Release/chrome" \
- --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \
- --add-arg no-sandbox --add-arg disable-dev-shm-usage \
- --profile-output "${1}"; then
- eerror "Profiling failed"
- return 1
- fi
-
- popd >/dev/null || return 1
-}
-
-src_compile() {
- if use pgo; then
- local profdata
-
- profdata="${WORKDIR}/chromium.profdata"
-
- if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then
- chromium_compile
- virtx chromium_profile "$profdata"
-
- touch "${WORKDIR}/.pgo-profiled" || die
- fi
-
- if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then
- # Remove phase 1 output
- rm -r out/Release || die
-
- chromium_configure 2 "$profdata"
-
- touch "${WORKDIR}/.pgo-phase-2-configured" || die
- fi
-
- if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then
- chromium_compile
- touch "${WORKDIR}/.pgo-phase-2-compiled" || die
- fi
- else
- chromium_compile
- fi
-
- mv out/Release/chromedriver{.unstripped,} || die
-
- rm -f out/Release/locales/*.pak.info || die
-
- # Build manpage; bug #684550
- sed -e 's|@@PACKAGE@@|chromium-browser|g;
- s|@@MENUNAME@@|Chromium|g;' \
- chrome/app/resources/manpage.1.in > \
- out/Release/chromium-browser.1 || die
-
- # Build desktop file; bug #706786
- sed -e 's|@@MENUNAME@@|Chromium|g;
- s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g;
- s|@@PACKAGE@@|chromium-browser|g;
- s|\(^Exec=\)/usr/bin/|\1|g;' \
- chrome/installer/linux/common/desktop.template > \
- out/Release/chromium-browser-chromium.desktop || die
-
- # Build vk_swiftshader_icd.json; bug #827861
- sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \
- third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \
- out/Release/vk_swiftshader_icd.json || die
-}
-
-src_install() {
- local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
- exeinto "${CHROMIUM_HOME}"
- doexe out/Release/chrome
-
- newexe out/Release/chrome_sandbox chrome-sandbox
- fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
-
- doexe out/Release/chromedriver
- doexe out/Release/chrome_crashpad_handler
-
- ozone_auto_session () {
- use X && use wayland && ! use headless && echo true || echo false
- }
- local sedargs=( -e
- "s:/usr/lib/:/usr/$(get_libdir)/:g;
- s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g"
- )
- sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die
- doexe chromium-launcher.sh
-
- # It is important that we name the target "chromium-browser",
- # xdg-utils expect it; bug #355517.
- dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser
- # keep the old symlink around for consistency
- dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
-
- dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
-
- # Allow users to override command-line options, bug #357629.
- insinto /etc/chromium
- newins "${FILESDIR}/chromium.default" "default"
-
- pushd out/Release/locales > /dev/null || die
- chromium_remove_language_paks
- popd
-
- insinto "${CHROMIUM_HOME}"
- doins out/Release/*.bin
- doins out/Release/*.pak
-
- if use bindist; then
- # We built libffmpeg as a component library, but we can't distribute it
- # with proprietary codec support. Remove it and make a symlink to the requested
- # system library.
- rm -f out/Release/libffmpeg.so \
- || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)"
- # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium].
- einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..."
- dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \
- /usr/$(get_libdir)/chromium-browser/libffmpeg.so
- fi
-
- (
- shopt -s nullglob
- local files=(out/Release/*.so out/Release/*.so.[0-9])
- [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}"
- )
-
- # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland"
- doins out/Release/xdg-{settings,mime}
-
- if ! use system-icu && ! use headless; then
- doins out/Release/icudtl.dat
- fi
-
- doins -r out/Release/locales
- doins -r out/Release/MEIPreload
-
- # Install vk_swiftshader_icd.json; bug #827861
- doins out/Release/vk_swiftshader_icd.json
-
- if [[ -d out/Release/swiftshader ]]; then
- insinto "${CHROMIUM_HOME}/swiftshader"
- doins out/Release/swiftshader/*.so
- fi
-
- # Install icons
- local branding size
- for size in 16 24 32 48 64 128 256 ; do
- case ${size} in
- 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
- *) branding="chrome/app/theme/chromium" ;;
- esac
- newicon -s ${size} "${branding}/product_logo_${size}.png" \
- chromium-browser.png
- done
-
- # Install desktop entry
- domenu out/Release/chromium-browser-chromium.desktop
-
- # Install GNOME default application entry (bug #303100).
- insinto /usr/share/gnome-control-center/default-apps
- newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
-
- # Install manpage; bug #684550
- doman out/Release/chromium-browser.1
- dosym chromium-browser.1 /usr/share/man/man1/chromium.1
-
- readme.gentoo_create_doc
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_desktop_database_update
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
- xdg_desktop_database_update
- readme.gentoo_print_elog
-
- if ! use headless; then
- if use vaapi; then
- elog "VA-API is disabled by default at runtime. You have to enable it"
- elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS"
- elog "in /etc/chromium/default."
- fi
- if use screencast; then
- elog "Screencast is disabled by default at runtime. Either enable it"
- elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer"
- elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer"
- elog "to CHROMIUM_FLAGS in /etc/chromium/default."
- fi
- if use gtk4; then
- elog "Chromium prefers GTK3 over GTK4 at runtime. To override this"
- elog "behavior you need to pass --gtk-version=4, e.g. by adding it"
- elog "to CHROMIUM_FLAGS in /etc/chromium/default."
- fi
- if use qt5 && use qt6; then
- elog "Chromium automatically selects Qt5 or Qt6 based on your desktop"
- elog "environment. To override you need to pass --qt-version=5 or"
- elog "--qt-version=6, e.g. by adding it to CHROMIUM_FLAGS in"
- elog "/etc/chromium/default."
- fi
- fi
-
- if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then
- ewarn "The lack of an '/etc/machine-id' file on this system booted with systemd"
- ewarn "indicates that the Gentoo handbook was not followed to completion."
- ewarn ""
- ewarn "Chromium is known to behave unpredictably with this system configuration;"
- ewarn "please complete the configuration of this system before logging any bugs."
- fi
-}
diff --git a/www-client/chromium/chromium-128.0.6613.113.ebuild b/www-client/chromium/chromium-129.0.6668.100-r1.ebuild
similarity index 89%
rename from www-client/chromium/chromium-128.0.6613.113.ebuild
rename to www-client/chromium/chromium-129.0.6668.100-r1.ebuild
index c16e043..80d0a5d 100644
--- a/www-client/chromium/chromium-128.0.6613.113.ebuild
+++ b/www-client/chromium/chromium-129.0.6668.100-r1.ebuild
@@ -25,10 +25,9 @@ EAPI=8
# no reason not to. Todo: Re-enable USE=system-ffmpeg.
GN_MIN_VER=0.2165
-RUST_MIN_VER=1.78.0
# chromium-tools/get-chromium-toolchain-strings.sh
-GOOGLE_CLANG_VER=llvmorg-19-init-14561-gecea8371-3000
-GOOGLE_RUST_VER=3cf924b934322fd7b514600a7dc84fc517515346-3
+GOOGLE_CLANG_VER=llvmorg-20-init-1009-g7088a5ed-10
+GOOGLE_RUST_VER=595316b4006932405a63862d8fe65f71a6356293-5
: ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN=no}
@@ -38,15 +37,15 @@ CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu
hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr
sv sw ta te th tr uk ur vi zh-CN zh-TW"
-# While prerelease llvm is actually used in the google build, until we have a
-# sane way to select 'rust built with this llvm slot' that isn't stable and testing
-# subslots we will have to restrict LLVM_COMPAT to stable and testing keywords.
-LLVM_COMPAT=( {17..18} )
+LLVM_COMPAT=( 18 )
PYTHON_COMPAT=( python3_{11..13} )
PYTHON_REQ_USE="xml(+)"
+RUST_MIN_VER=1.78.0
+RUST_NEEDS_LLVM=1
+RUST_OPTIONAL=1
-inherit check-reqs chromium-2 desktop flag-o-matic llvm-utils ninja-utils pax-utils
-inherit python-any-r1 qmake-utils readme.gentoo-r1 systemd toolchain-funcs virtualx xdg-utils
+inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 ninja-utils pax-utils
+inherit python-any-r1 qmake-utils readme.gentoo-r1 rust systemd toolchain-funcs virtualx xdg-utils
DESCRIPTION="Open-source version of Google Chrome web browser"
HOMEPAGE="https://www.chromium.org/"
@@ -59,7 +58,7 @@ SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}
!system-toolchain? (
https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-${GOOGLE_CLANG_VER}.tar.xz
-> chromium-${PV%%\.*}-clang.tar.xz
- https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${GOOGLE_RUST_VER}-${GOOGLE_CLANG_VER%?????}.tar.xz
+ https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${GOOGLE_RUST_VER}-${GOOGLE_CLANG_VER%???}.tar.xz
-> chromium-${PV%%\.*}-rust.tar.xz
)
ppc64? (
@@ -70,7 +69,7 @@ SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}
LICENSE="BSD"
SLOT="0/stable"
-KEYWORDS="amd64 arm64 ~ppc64 ~riscv"
+KEYWORDS="amd64 arm64 ~riscv"
IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd"
IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo +proprietary-codecs pulseaudio"
IUSE+=" qt5 qt6 +screencast selinux +system-toolchain +vaapi +wayland +widevine"
@@ -182,29 +181,6 @@ DEPEND="${COMMON_DEPEND}
)
"
-depend_clang_llvm_version() {
- echo "sys-devel/clang:$1"
- echo "sys-devel/llvm:$1"
- echo "=sys-devel/lld-$1*"
- echo "virtual/rust:0/llvm-${1}[profiler(-)]"
- echo "pgo? ( sys-libs/compiler-rt-sanitizers:${1}[profile] )"
-}
-
-# Parse LLVM_COMPAT and generate a usedep for each version
-depend_clang_llvm_versions() {
- if [[ ${#LLVM_COMPAT[@]} -eq 0 ]]; then
- depend_clang_llvm_version ${#LLVM_COMPAT[0]}
- else
- echo "|| ("
- for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do
- echo "("
- depend_clang_llvm_version ${LLVM_COMPAT[i]}
- echo ")"
- done
- echo ")"
- fi
-}
-
BDEPEND="
${COMMON_SNAPSHOT_DEPEND}
${PYTHON_DEPS}
@@ -217,7 +193,12 @@ BDEPEND="
qt6? ( dev-qt/qtbase:6 )
)
system-toolchain? (
- $(depend_clang_llvm_versions)
+ $(llvm_gen_dep "
+ llvm-core/clang:\${LLVM_SLOT}
+ llvm-core/llvm:\${LLVM_SLOT}
+ llvm-core/lld:\${LLVM_SLOT}
+ ")
+ ${RUST_DEPEND}
pgo? (
>=dev-python/selenium-3.141.0
>=dev-util/web_page_replay_go-20220314
@@ -313,47 +294,6 @@ pkg_pretend() {
fi
}
-# Chromium should build with any version of clang that we support
-# but we may need to pick the "best" one for a build (highest installed,
-# rust is built against it, etc.)
-# Check each slot in LLVM_COMPAT to see if clang/llvm/lld are available
-# and output the _highest_ slot that is actually available on a system.
-chromium_pick_llvm_slot() {
- # LLVM_COMPAT is always going to be oldest to newest (or one value)
- # let's flip it and check from newest to oldest and return the first one we find.
- local slot
- for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do
- slot=${LLVM_COMPAT[i]}
- if has_version "sys-devel/clang:${slot}" && \
- has_version "sys-devel/llvm:${slot}" && \
- has_version "sys-devel/lld:${slot}" && \
- has_version "virtual/rust:0/llvm-${slot}" && \
- ( ! use pgo || has_version "sys-libs/compiler-rt-sanitizers:${slot}" ) ; then
-
- echo "${slot}"
- return
- fi
- done
-
- die_msg="
-No suitable clang/llvm/lld slot found.
-Slots checked: ${LLVM_COMPAT[*]}.
-"
- die "${die_msg}"
-}
-
-# We need the rust version in src_configure and pkg_setup
-chromium_extract_rust_version() {
- [[ ${MERGE_TYPE} == binary ]] && return
- local rustc_version=( $(eselect --brief rust show 2>/dev/null) )
- rustc_version=${rustc_version[0]#rust-bin-}
- rustc_version=${rustc_version#rust-}
-
- [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output"
-
- echo $rustc_version
-}
-
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]]; then
# The pre_build_checks are all about compilation resources, no need to run it for a binpkg
@@ -361,10 +301,7 @@ pkg_setup() {
if use system-toolchain; then
# The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment
- # We'll set these to clang here then use llvm-utils functions to very explicitly set these
- # to a sane value.
# This is effectively the 'force-clang' path if GCC support is re-added.
- # TODO: check if the user has already selected a specific impl via make.conf and respect that.
if ! tc-is-lto && use official; then
einfo "USE=official selected and LTO not detected."
einfo "It is _highly_ recommended that LTO be enabled for performance reasons"
@@ -378,8 +315,7 @@ pkg_setup() {
die "Please switch to a different linker."
fi
- LLVM_SLOT=$(chromium_pick_llvm_slot)
- export LLVM_SLOT # used in src_configure for rust-y business
+ # We're forcing clang here; user choice is respected via llvm_slot_x USE
AR=llvm-ar
CPP="${CHOST}-clang++ -E"
NM=llvm-nm
@@ -391,32 +327,10 @@ pkg_setup() {
CPP="${CBUILD}-clang++ -E"
fi
- # The llvm-r1_pkg_setup we have at home.
- # We prepend the path _first_ to explicitly use the selected slot.
- llvm_prepend_path "${LLVM_SLOT}"
-
- llvm_fix_clang_version CC CPP CXX
- llvm_fix_tool_path ADDR2LINE AR AS LD NM OBJCOPY OBJDUMP RANLIB
- llvm_fix_tool_path READELF STRINGS STRIP
-
- # Set LLVM_CONFIG to help Meson (bug #907965) but only do it
- # for empty ESYSROOT (as a proxy for "are we cross-compiling?").
- if [[ -z ${ESYSROOT} ]] ; then
- llvm_fix_tool_path LLVM_CONFIG
- fi
-
- einfo "Using LLVM/Clang slot ${LLVM_SLOT} to build"
-
- local rustc_ver=$(chromium_extract_rust_version)
- if ver_test "${rustc_ver}" -lt "${RUST_MIN_VER}"; then
- eerror "Rust >=${RUST_MIN_VER} is required"
- eerror "Please run 'eselect rust' and select the correct rust version"
- die "Selected rust version is too old"
- else
- einfo "Using rust ${rustc_ver} to build"
- fi
-
+ llvm-r1_pkg_setup
+ rust_pkg_setup
fi
+
# Users should never hit this, it's purely a development convenience
if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then
die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium"
@@ -457,7 +371,7 @@ src_prepare() {
# disable global media controls, crashes with libstdc++
sed -i -e \
"/\"GlobalMediaControlsCastStartStop\"/,+4{s/ENABLED/DISABLED/;}" \
- "chrome/browser/media/router/media_router_feature.cc" || die
+ "chrome/browser/media/router/media_router_feature.cc"
local PATCHES=(
"${FILESDIR}/chromium-cross-compile.patch"
@@ -465,31 +379,27 @@ src_prepare() {
"${FILESDIR}/chromium-111-InkDropHost-crash.patch"
"${FILESDIR}/chromium-126-oauth2-client-switches.patch"
"${FILESDIR}/chromium-127-bindgen-custom-toolchain.patch"
- "${FILESDIR}/chromium-127-updater-systemd.patch"
"${FILESDIR}/swiftshader-MCDissassembler.patch"
"${FILESDIR}/swiftshader-use-llvm16.patch"
"${FILESDIR}/Debian-fix-rust-linking.patch"
"${FILESDIR}/riscv-dav1d.patch"
+ "${FILESDIR}/riscv-cargo.patch"
"${FILESDIR}/riscv-sandbox.patch"
"${FILESDIR}/riscv-ffmpeg.patch"
"${FILESDIR}/riscv.patch"
"${FILESDIR}/cpuinfo.patch"
- "${FILESDIR}/riscv-v8.patch"
+ "${FILESDIR}/riscv-misc.patch"
)
- # 127: test deps are broken for ui/lens with system ICU "//third_party/icu:icuuc_public"
- sed -i '/source_set("unit_tests") {/,/}/d' \
- chrome/browser/ui/lens/BUILD.gn || die "Failed to remove bad test target"
- sed -i '/lens:unit_tests/d' chrome/test/BUILD.gn components/BUILD.gn \
- || die "Failed to remove dependencies on bad target"
-
if use system-toolchain; then
# The patchset is really only required if we're using the system-toolchain
PATCHES+=( "${WORKDIR}/chromium-patches-${PATCH_V}" )
- # We can't use the bundled compiler builtins
- sed -i -e \
- "/if (is_clang && toolchain_has_rust) {/,+2d" \
- build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins"
+ # We can't use the bundled compiler builtins with the system toolchain
+ # `grep` is a development convenience to ensure we fail early when google changes something.
+ local builtins_match="if (is_clang && !is_nacl && !is_cronet_build) {"
+ grep -q "${builtins_match}" build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins"
+ sed -i -e "/${builtins_match}/,+2d" build/config/compiler/BUILD.gn
+
else
mkdir -p third_party/llvm-build/Release+Asserts || die "Failed to bundle llvm"
ln -s "${WORKDIR}"/bin third_party/llvm-build/Release+Asserts/bin || die "Failed to symlink llvm bin"
@@ -650,7 +560,6 @@ src_prepare() {
third_party/libsecret
third_party/libsrtp
third_party/libsync
- third_party/libudev
third_party/liburlpattern
third_party/libva_protected_content
third_party/libvpx
@@ -704,6 +613,7 @@ src_prepare() {
third_party/pyjson5
third_party/pyyaml
third_party/qcms
+ third_party/rapidhash
third_party/re2
third_party/rnnoise
third_party/rust
@@ -888,23 +798,15 @@ chromium_configure() {
# rust_bindgen_root = directory with `bin/bindgen` beneath it.
myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\""
- # from get_llvm_prefix
- local prefix=${ESYSROOT}
- [[ ${1} == -b ]] && prefix=${BROOT}
- myconf_gn+=" bindgen_libclang_path=\"${prefix}/usr/lib/llvm/${LLVM_SLOT}/$(get_libdir)\""
+ myconf_gn+=" bindgen_libclang_path=\"$(get_llvm_prefix)/$(get_libdir)\""
# We don't need to set 'clang_base_bath' for anything in our build
# and it defaults to the google toolchain location. Instead provide a location
# to where system clang lives sot that bindgen can find system headers (e.g. stddef.h)
myconf_gn+=" clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\""
# We need to provide this to GN in both the path to rust _and_ the version
- local rustc_ver=$(chromium_extract_rust_version)
- if [[ "$(eselect --brief rust show 2>/dev/null)" == *"bin"* ]]; then
- myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/opt/rust-bin-${rustc_ver}/\""
- else
- myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/usr/lib/rust/${rustc_ver}/\""
- fi
- myconf_gn+=" rustc_version=\"${rustc_ver}\""
+ myconf_gn+=" rust_sysroot_absolute=\"$(get_rust_prefix)\""
+ myconf_gn+=" rustc_version=\"${RUST_SLOT}\""
fi
# GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
@@ -1167,6 +1069,8 @@ chromium_configure() {
sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
tools/generate_shim_headers/generate_shim_headers.py || die
# Req's LTO; TODO: not compatible with -fno-split-lto-unit
+ # split-lto-unit can be enabled with RUSTC_BOOTSTRAP=1 (and an updated compiler patch),
+ # however I still got weird linking errors with CFI _and_ the split unit LTO OOMed after using 100G.
myconf_gn+=" is_cfi=false"
# Don't add symbols to build
myconf_gn+=" symbol_level=0"
diff --git a/www-client/chromium/files/Debian-fix-rust-linking.patch b/www-client/chromium/files/Debian-fix-rust-linking.patch
index 8be91bf..1fc0efb 100644
--- a/www-client/chromium/files/Debian-fix-rust-linking.patch
+++ b/www-client/chromium/files/Debian-fix-rust-linking.patch
@@ -1,8 +1,6 @@
-Index: chromium-121.0.6167.75/build/toolchain/gcc_toolchain.gni
-===================================================================
---- chromium-121.0.6167.75.orig/build/toolchain/gcc_toolchain.gni
-+++ chromium-121.0.6167.75/build/toolchain/gcc_toolchain.gni
-@@ -464,7 +464,13 @@ template("single_gcc_toolchain") {
+--- a/build/toolchain/gcc_toolchain.gni 2024-08-19 14:13:35.233954725 +0200
++++ b/build/toolchain/gcc_toolchain.gni 2024-08-22 00:56:01.438433033 +0200
+@@ -441,7 +441,13 @@
# -soname flag is not available on aix ld
soname_flag = "-Wl,-soname=\"$soname\""
}
@@ -17,7 +15,7 @@ Index: chromium-121.0.6167.75/build/toolchain/gcc_toolchain.gni
# Generate a map file to be used for binary size analysis.
# Map file adds ~10% to the link time on a z620.
-@@ -576,7 +582,13 @@ template("single_gcc_toolchain") {
+@@ -553,7 +559,13 @@
whole_archive_flag = "-Wl,--whole-archive"
no_whole_archive_flag = "-Wl,--no-whole-archive"
}
@@ -32,19 +30,19 @@ Index: chromium-121.0.6167.75/build/toolchain/gcc_toolchain.gni
if (defined(invoker.strip)) {
strip_command = "${invoker.strip} -o \"$sofile\" \"$unstripped_sofile\""
-@@ -615,7 +627,13 @@ template("single_gcc_toolchain")
+@@ -617,8 +629,12 @@
# We need to specify link groups, at least, for single pass linkers. I.e.
# Rust libraries are alpha-sorted instead of by dependencies so they fail
# to link if not properly ordered or grouped.
- link_command = "$ld {{ldflags}}${extra_ldflags} -o \"$unstripped_outfile\" $start_group_flag @\"$rspfile\" $end_group_flag {{solibs}} {{libs}} $start_group_flag {{rlibs}} $end_group_flag"
+-
+ if (target_cpu == "riscv64") {
-+ # Work around linker failures due to Rust libraries and the use of whole-archive
+ link_command = "$ld -Wl,--start-group {{ldflags}}${extra_ldflags} -o \"$unstripped_outfile\" @\"$rspfile\" {{solibs}} {{libs}} {{rlibs}} -Wl,--end-group"
+ }
+ else {
-+ link_command = "$ld {{ldflags}}${extra_ldflags} -o \"$unstripped_outfile\" $start_group_flag @\"$rspfile\" {{solibs}} $end_group_flag {{libs}} {{rlibs}}"
++ link_command = "$ld {{ldflags}}${extra_ldflags} -o \"$unstripped_outfile\" $start_group_flag @\"$rspfile\" $end_group_flag {{solibs}} {{libs}} $start_group_flag {{rlibs}} $end_group_flag"
+ }
-
# Generate a map file to be used for binary size analysis.
# Map file adds ~10% to the link time on a z620.
+ # With target_os="android", libchrome.so.map.gz is ~20MB.
diff --git a/www-client/chromium/files/chrome-runtime_api_delegate-add-riscv64-define.patch b/www-client/chromium/files/chrome-runtime_api_delegate-add-riscv64-define.patch
new file mode 100644
index 0000000..930574c
--- /dev/null
+++ b/www-client/chromium/files/chrome-runtime_api_delegate-add-riscv64-define.patch
@@ -0,0 +1,33 @@
+From 81033cc7b695b94f8932c29f7812c41fb057aa2b Mon Sep 17 00:00:00 2001
+From: kxxt <rsworktech@outlook.com>
+Date: Sun, 25 Aug 2024 10:46:25 +0200
+Subject: [PATCH] chrome: runtime_api_delegate: add riscv64 define
+
+---
+ .../extensions/api/runtime/chrome_runtime_api_delegate.cc | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc b/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
+index 0c2f88ce0d92c..113a8e0010075 100644
+--- a/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
++++ b/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
+@@ -303,6 +303,8 @@ bool ChromeRuntimeAPIDelegate::GetPlatformInfo(PlatformInfo* info) {
+ info->arch = extensions::api::runtime::PlatformArch::kMips;
+ } else if (strcmp(arch, "mips64el") == 0) {
+ info->arch = extensions::api::runtime::PlatformArch::kMips64;
++ } else if (strcmp(arch, "riscv64") == 0) {
++ info->arch = extensions::api::runtime::PlatformArch::kRiscv64;
+ } else {
+ NOTREACHED_IN_MIGRATION();
+ return false;
+@@ -319,6 +321,8 @@ bool ChromeRuntimeAPIDelegate::GetPlatformInfo(PlatformInfo* info) {
+ info->nacl_arch = extensions::api::runtime::PlatformNaclArch::kMips;
+ } else if (strcmp(nacl_arch, "mips64") == 0) {
+ info->nacl_arch = extensions::api::runtime::PlatformNaclArch::kMips64;
++ } else if (strcmp(arch, "riscv64") == 0) {
++ info->nacl_arch = extensions::api::runtime::PlatformNaclArch::kRiscv64;
+ } else {
+ NOTREACHED_IN_MIGRATION();
+ return false;
+--
+2.39.2
diff --git a/www-client/chromium/files/extensions-common-api-runtime.json-riscv64-support.patch b/www-client/chromium/files/extensions-common-api-runtime.json-riscv64-support.patch
new file mode 100644
index 0000000..5c9fec6
--- /dev/null
+++ b/www-client/chromium/files/extensions-common-api-runtime.json-riscv64-support.patch
@@ -0,0 +1,36 @@
+From 688e2d4d0880e596656f2f079357767d24950c62 Mon Sep 17 00:00:00 2001
+From: kxxt <rsworktech@outlook.com>
+Date: Sat, 10 Feb 2024 09:49:46 +0800
+Subject: [PATCH] extensions/common/api/runtime.json: riscv64 support
+
+---
+ extensions/common/api/runtime.json | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/extensions/common/api/runtime.json b/extensions/common/api/runtime.json
+index 65a024c03011e..9965a83545807 100644
+--- a/extensions/common/api/runtime.json
++++ b/extensions/common/api/runtime.json
+@@ -98,7 +98,8 @@
+ {"name": "x86-32", "description": "Specifies the processer architecture as x86-32."},
+ {"name": "x86-64", "description": "Specifies the processer architecture as x86-64."},
+ {"name": "mips", "description": "Specifies the processer architecture as mips."},
+- {"name": "mips64", "description": "Specifies the processer architecture as mips64."}
++ {"name": "mips64", "description": "Specifies the processer architecture as mips64."},
++ {"name": "riscv64", "description": "Specifies the processer architecture as riscv64."}
+ ],
+ "description": "The machine's processor architecture."
+ },
+@@ -111,7 +112,8 @@
+ {"name": "x86-32", "description": "Specifies the native client architecture as x86-32."},
+ {"name": "x86-64", "description": "Specifies the native client architecture as x86-64."},
+ {"name": "mips", "description": "Specifies the native client architecture as mips."},
+- {"name": "mips64", "description": "Specifies the native client architecture as mips64."}
++ {"name": "mips64", "description": "Specifies the native client architecture as mips64."},
++ {"name": "riscv64", "description": "Specifies the native client architecture as riscv64."}
+ ]
+ },
+ {
+--
+2.43.0
+
diff --git a/www-client/chromium/files/riscv-cargo.patch b/www-client/chromium/files/riscv-cargo.patch
new file mode 100644
index 0000000..35412dd
--- /dev/null
+++ b/www-client/chromium/files/riscv-cargo.patch
@@ -0,0 +1,32 @@
+From c50dab84e0c911f7b89532700fca27d42a77b3c1 Mon Sep 17 00:00:00 2001
+From: kxxt <rsworktech@outlook.com>
+Date: Fri, 13 Sep 2024 12:48:44 +0000
+Subject: [PATCH] cargo_crate.gni: add riscv64 and loong64 cases
+
+This CL syncs the condition of 64 bit pointer with
+https://github.com/chromium/chromium/blob/31f058a669fd063cab3439df5c877ed3005d9832/base/allocator/partition_allocator/partition_alloc.gni#L21-L24
+
+Bug: none
+Change-Id: Id2f1cfaa0c5167fb61c74505aba03716337b071f
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5850670
+Commit-Queue: Nico Weber <thakis@chromium.org>
+Reviewed-by: Nico Weber <thakis@chromium.org>
+Reviewed-by: Arthur Eubanks <aeubanks@google.com>
+Cr-Commit-Position: refs/heads/main@{#1355138}
+---
+
+diff --git a/build/rust/cargo_crate.gni b/build/rust/cargo_crate.gni
+index e5d1b2f8..7290451 100644
+--- a/build/rust/cargo_crate.gni
++++ b/build/rust/cargo_crate.gni
+@@ -429,7 +429,8 @@
+ rust_abi_target,
+ ]
+ }
+- if (current_cpu == "arm64" || current_cpu == "x64") {
++ if (current_cpu == "arm64" || current_cpu == "x64" ||
++ current_cpu == "loong64" || current_cpu == "riscv64") {
+ args += [
+ "--pointer-width",
+ "64",
+
diff --git a/www-client/chromium/files/riscv-ffmpeg.patch b/www-client/chromium/files/riscv-ffmpeg.patch
index f2fb1f2..6a21d07 100644
--- a/www-client/chromium/files/riscv-ffmpeg.patch
+++ b/www-client/chromium/files/riscv-ffmpeg.patch
@@ -1,6 +1,6 @@
diff '--color=auto' -Naur a/third_party/ffmpeg/CREDITS.chromium b/third_party/ffmpeg/CREDITS.chromium
---- a/third_party/ffmpeg/CREDITS.chromium 2024-08-13 10:43:45.203116000 +0100
-+++ b/third_party/ffmpeg/CREDITS.chromium 2024-08-18 23:57:19.000000000 +0100
+--- a/third_party/ffmpeg/CREDITS.chromium 2024-10-02 03:50:24.635323500 +0100
++++ b/third_party/ffmpeg/CREDITS.chromium 2024-10-05 16:34:43.806521178 +0100
@@ -131,6 +131,62 @@
********************************************************************************
@@ -64,904 +64,19 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/CREDITS.chromium b/third_party/ff
libavformat/oggparsetheora.c
Copyright (C) 2005 Matthieu CASTET, Alex Beregszaszi
-@@ -157,31 +213,6 @@
-
- ********************************************************************************
-
--libavutil/x86/x86inc.asm
--
--x86inc.asm: x86 abstraction layer
--
-- Copyright (C) 2005-2024 x264 project
--
-- Authors: Loren Merritt <lorenm@u.washington.edu>
-- Henrik Gramner <henrik@gramner.com>
-- Anton Mitrofanov <BugMaster@narod.ru>
-- Fiona Glaser <fiona@x264.com>
--
-- Permission to use, copy, modify, and/or distribute this software for any
-- purpose with or without fee is hereby granted, provided that the above
-- copyright notice and this permission notice appear in all copies.
--
-- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
--
--********************************************************************************
--
- libavcodec/mips/compute_antialias_fixed.h
- libavcodec/mips/compute_antialias_float.h
- libavutil/fixed_dsp.c
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/ios/arm64/config.h b/third_party/ffmpeg/chromium/config/Chrome/ios/arm64/config.h
---- a/third_party/ffmpeg/chromium/config/Chrome/ios/arm64/config.h 2024-08-13 10:43:45.215117000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/ios/arm64/config.h 2024-08-19 01:29:21.000000000 +0100
-@@ -1,14 +1,13 @@
- /* Automatically generated by configure - do not modify! */
- #ifndef FFMPEG_CONFIG_H
- #define FFMPEG_CONFIG_H
--/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/usr/local/google/home/ezemtsov/projects/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-pic --cc=clang --cxx=clang++ --ld=clang --enable-cro
ss-compile --cc=clang --ld=ld64.lld --nm=llvm-nm --ar=llvm-ar --target-os=darwin --extra-cflags='--target=arm64-apple-macosx' --extra-cflags=-F/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks --extra-cflags='-mmacosx-version-min=10.10' --extra-cflags=-fblocks --extra-cflags=-nostdinc --extra-cflags=-isystem/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include --extra-cflags=-isystem/usr/local/google/home/ezemtsov/projects/chromium/src/third_party/llvm-build/Release+Asserts/lib/clang/19/include --extra-ldflags=-syslibroot --extra-ldflags=/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk --extra-ldflags=-L/usr/local/google/home/ezemtsov/p
rojects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib --extra-ldflags=-lSystem --extra-ldflags=-macosx_version_min --extra-ldflags=10.10 --extra-ldflags=-sdk_version --extra-ldflags=10.10 --extra-ldflags=-platform_version --extra-ldflags=macos --extra-ldflags=10.10 --extra-ldflags=10.10 --arch=arm64 --extra-cflags='-arch arm64' --extra-ldflags='-arch arm64' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
-+/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/usr/local/google/home/dalecurtis/code/chrome/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-pic --cc=clang --cxx=clang++ --ld=clang -
-enable-cross-compile --cc=clang --ld=ld64.lld --nm=llvm-nm --ar=llvm-ar --target-os=darwin --extra-cflags='--target=arm64-apple-macosx' --extra-cflags=-F/usr/local/google/home/dalecurtis/code/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks --extra-cflags='-mmacosx-version-min=10.10' --extra-cflags=-fblocks --extra-cflags=-nostdinc --extra-cflags=-isystem/usr/local/google/home/dalecurtis/code/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include --extra-cflags=-isystem/usr/local/google/home/dalecurtis/code/chrome/src/third_party/llvm-build/Release+Asserts/lib/clang/19/include --extra-ldflags=-syslibroot --extra-ldflags=/usr/local/google/home/dalecurtis/code/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk --extra-ldflags=-L/usr/local/google/home/dalecurtis/code
/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib --extra-ldflags=-lSystem --extra-ldflags=-macosx_version_min --extra-ldflags=10.10 --extra-ldflags=-sdk_version --extra-ldflags=10.10 --extra-ldflags=-platform_version --extra-ldflags=macos --extra-ldflags=10.10 --extra-ldflags=10.10 --arch=arm64 --extra-cflags='-arch arm64' --extra-ldflags='-arch arm64' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
- #define FFMPEG_LICENSE "LGPL version 2.1 or later"
- #define CONFIG_THIS_YEAR 2024
- #define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
- #define AVCONV_DATADIR "/usr/local/share/ffmpeg"
--#define CC_IDENT "clang version 19.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project 7c4c274643cedcf9671e1db65361231a7d9bee70)"
-+#define CC_IDENT "clang version 19.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project 084e2b53d22c11e013b0a495b65d39aa7f934048)"
- #define OS_NAME darwin
--#define av_restrict restrict
- #define EXTERN_PREFIX "_"
- #define EXTERN_ASM _
- #define BUILDSUF ""
-@@ -60,6 +59,7 @@
- #define HAVE_VSX 0
- #define HAVE_RV 0
- #define HAVE_RVV 0
-+#define HAVE_RV_ZVBB 0
- #define HAVE_AESNI 0
- #define HAVE_AMD3DNOW 0
- #define HAVE_AMD3DNOWEXT 0
-@@ -78,7 +78,6 @@
- #define HAVE_SSE42 0
- #define HAVE_SSSE3 0
- #define HAVE_XOP 0
--#define HAVE_CPUNOP 0
- #define HAVE_I686 0
- #define HAVE_MIPSFPU 0
- #define HAVE_MIPS32R2 0
-@@ -112,6 +111,7 @@
- #define HAVE_VSX_EXTERNAL 0
- #define HAVE_RV_EXTERNAL 0
- #define HAVE_RVV_EXTERNAL 0
-+#define HAVE_RV_ZVBB_EXTERNAL 0
- #define HAVE_AESNI_EXTERNAL 0
- #define HAVE_AMD3DNOW_EXTERNAL 0
- #define HAVE_AMD3DNOWEXT_EXTERNAL 0
-@@ -130,7 +130,6 @@
- #define HAVE_SSE42_EXTERNAL 0
- #define HAVE_SSSE3_EXTERNAL 0
- #define HAVE_XOP_EXTERNAL 0
--#define HAVE_CPUNOP_EXTERNAL 0
- #define HAVE_I686_EXTERNAL 0
- #define HAVE_MIPSFPU_EXTERNAL 0
- #define HAVE_MIPS32R2_EXTERNAL 0
-@@ -164,6 +163,7 @@
- #define HAVE_VSX_INLINE 0
- #define HAVE_RV_INLINE 0
- #define HAVE_RVV_INLINE 0
-+#define HAVE_RV_ZVBB_INLINE 0
- #define HAVE_AESNI_INLINE 0
- #define HAVE_AMD3DNOW_INLINE 0
- #define HAVE_AMD3DNOWEXT_INLINE 0
-@@ -182,7 +182,6 @@
- #define HAVE_SSE42_INLINE 0
- #define HAVE_SSSE3_INLINE 0
- #define HAVE_XOP_INLINE 0
--#define HAVE_CPUNOP_INLINE 0
- #define HAVE_I686_INLINE 0
- #define HAVE_MIPSFPU_INLINE 0
- #define HAVE_MIPS32R2_INLINE 0
-@@ -220,6 +219,7 @@
- #define HAVE_BIGENDIAN 0
- #define HAVE_FAST_UNALIGNED 1
- #define HAVE_ARPA_INET_H 0
-+#define HAVE_ASM_HWPROBE_H 0
- #define HAVE_ASM_TYPES_H 0
- #define HAVE_CDIO_PARANOIA_H 0
- #define HAVE_CDIO_PARANOIA_PARANOIA_H 0
-@@ -246,6 +246,7 @@
- #define HAVE_OPENGL_GL3_H 0
- #define HAVE_POLL_H 1
- #define HAVE_PTHREAD_NP_H 0
-+#define HAVE_SYS_HWPROBE_H 0
- #define HAVE_SYS_PARAM_H 1
- #define HAVE_SYS_RESOURCE_H 1
- #define HAVE_SYS_SELECT_H 1
-@@ -419,6 +420,7 @@
- #define HAVE_STRUCT_SOCKADDR_STORAGE 0
- #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 0
- #define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 0
-+#define HAVE_STRUCT_MFXCONFIGINTERFACE 0
- #define HAVE_GZIP 1
- #define HAVE_LIBDRM_GETFB2 0
- #define HAVE_MAKEINFO 0
-@@ -429,6 +431,7 @@
- #define HAVE_OPENCL_DXVA2 0
- #define HAVE_OPENCL_VAAPI_BEIGNET 0
- #define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0
-+#define HAVE_OPENCL_VIDEOTOOLBOX 0
- #define HAVE_PERL 1
- #define HAVE_POD2MAN 1
- #define HAVE_TEXI2HTML 0
-@@ -468,6 +471,8 @@
- #define CONFIG_FREI0R 0
- #define CONFIG_LIBCDIO 0
- #define CONFIG_LIBDAVS2 0
-+#define CONFIG_LIBDVDNAV 0
-+#define CONFIG_LIBDVDREAD 0
- #define CONFIG_LIBRUBBERBAND 0
- #define CONFIG_LIBVIDSTAB 0
- #define CONFIG_LIBX264 0
-@@ -517,6 +522,7 @@
- #define CONFIG_LIBJXL 0
- #define CONFIG_LIBKLVANC 0
- #define CONFIG_LIBKVAZAAR 0
-+#define CONFIG_LIBLC3 0
- #define CONFIG_LIBMODPLUG 0
- #define CONFIG_LIBMP3LAME 0
- #define CONFIG_LIBMYSOFA 0
-@@ -547,6 +553,7 @@
- #define CONFIG_LIBTENSORFLOW 0
- #define CONFIG_LIBTESSERACT 0
- #define CONFIG_LIBTHEORA 0
-+#define CONFIG_LIBTORCH 0
- #define CONFIG_LIBTWOLAME 0
- #define CONFIG_LIBUAVS3D 0
- #define CONFIG_LIBV4L2 0
-@@ -596,7 +603,6 @@
- #define CONFIG_OPENCL 0
- #define CONFIG_AMF 0
- #define CONFIG_AUDIOTOOLBOX 0
--#define CONFIG_CRYSTALHD 0
- #define CONFIG_CUDA 0
- #define CONFIG_CUDA_LLVM 0
- #define CONFIG_CUVID 0
-@@ -640,6 +646,7 @@
- #define CONFIG_ERROR_RESILIENCE 0
- #define CONFIG_FAAN 0
- #define CONFIG_FAST_UNALIGNED 1
-+#define CONFIG_IAMF 0
- #define CONFIG_LSP 0
- #define CONFIG_PIXELUTILS 0
- #define CONFIG_NETWORK 0
-@@ -688,7 +695,8 @@
- #define CONFIG_DEFLATE_WRAPPER 0
- #define CONFIG_DIRAC_PARSE 1
- #define CONFIG_DNN 0
--#define CONFIG_DOVI_RPU 0
-+#define CONFIG_DOVI_RPUDEC 0
-+#define CONFIG_DOVI_RPUENC 0
- #define CONFIG_DVPROFILE 0
- #define CONFIG_EVCPARSE 0
- #define CONFIG_EXIF 0
-@@ -720,10 +728,12 @@
- #define CONFIG_INFLATE_WRAPPER 0
- #define CONFIG_INTRAX8 0
- #define CONFIG_ISO_MEDIA 1
-+#define CONFIG_ISO_WRITER 0
- #define CONFIG_IVIDSP 0
- #define CONFIG_JPEGTABLES 0
- #define CONFIG_LGPLV3 0
- #define CONFIG_LIBX262 0
-+#define CONFIG_LIBX264_HDR10 0
- #define CONFIG_LLAUDDSP 0
- #define CONFIG_LLVIDDSP 0
- #define CONFIG_LLVIDENCDSP 0
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/ios/arm64/config_components.h b/third_party/ffmpeg/chromium/config/Chrome/ios/arm64/config_components.h
---- a/third_party/ffmpeg/chromium/config/Chrome/ios/arm64/config_components.h 2024-08-13 10:43:45.215117000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/ios/arm64/config_components.h 2024-08-19 01:29:21.000000000 +0100
-@@ -11,6 +11,7 @@
- #define CONFIG_DTS2PTS_BSF 0
- #define CONFIG_DV_ERROR_MARKER_BSF 0
- #define CONFIG_EAC3_CORE_BSF 0
-+#define CONFIG_EVC_FRAME_MERGE_BSF 0
- #define CONFIG_EXTRACT_EXTRADATA_BSF 0
- #define CONFIG_FILTER_UNITS_BSF 0
- #define CONFIG_H264_METADATA_BSF 0
-@@ -23,7 +24,6 @@
- #define CONFIG_MEDIA100_TO_MJPEGB_BSF 0
- #define CONFIG_MJPEG2JPEG_BSF 0
- #define CONFIG_MJPEGA_DUMP_HEADER_BSF 0
--#define CONFIG_MP3_HEADER_DECOMPRESS_BSF 0
- #define CONFIG_MPEG2_METADATA_BSF 0
- #define CONFIG_MPEG4_UNPACK_BFRAMES_BSF 0
- #define CONFIG_MOV2TEXTSUB_BSF 0
-@@ -45,7 +45,6 @@
- #define CONFIG_VP9_SUPERFRAME_SPLIT_BSF 0
- #define CONFIG_VVC_METADATA_BSF 0
- #define CONFIG_VVC_MP4TOANNEXB_BSF 0
--#define CONFIG_EVC_FRAME_MERGE_BSF 0
- #define CONFIG_AASC_DECODER 0
- #define CONFIG_AIC_DECODER 0
- #define CONFIG_ALIAS_PIX_DECODER 0
-@@ -64,7 +63,6 @@
- #define CONFIG_AVRN_DECODER 0
- #define CONFIG_AVS_DECODER 0
- #define CONFIG_AVUI_DECODER 0
--#define CONFIG_AYUV_DECODER 0
- #define CONFIG_BETHSOFTVID_DECODER 0
- #define CONFIG_BFI_DECODER 0
- #define CONFIG_BINK_DECODER 0
-@@ -131,7 +129,6 @@
- #define CONFIG_H263P_DECODER 0
- #define CONFIG_H263_V4L2M2M_DECODER 0
- #define CONFIG_H264_DECODER 1
--#define CONFIG_H264_CRYSTALHD_DECODER 0
- #define CONFIG_H264_V4L2M2M_DECODER 0
- #define CONFIG_H264_MEDIACODEC_DECODER 0
- #define CONFIG_H264_MMAL_DECODER 0
-@@ -179,13 +176,11 @@
- #define CONFIG_MPEG1VIDEO_DECODER 0
- #define CONFIG_MPEG2VIDEO_DECODER 0
- #define CONFIG_MPEG4_DECODER 0
--#define CONFIG_MPEG4_CRYSTALHD_DECODER 0
- #define CONFIG_MPEG4_V4L2M2M_DECODER 0
- #define CONFIG_MPEG4_MMAL_DECODER 0
- #define CONFIG_MPEGVIDEO_DECODER 0
- #define CONFIG_MPEG1_V4L2M2M_DECODER 0
- #define CONFIG_MPEG2_MMAL_DECODER 0
--#define CONFIG_MPEG2_CRYSTALHD_DECODER 0
- #define CONFIG_MPEG2_V4L2M2M_DECODER 0
- #define CONFIG_MPEG2_QSV_DECODER 0
- #define CONFIG_MPEG2_MEDIACODEC_DECODER 0
-@@ -194,7 +189,6 @@
- #define CONFIG_MSMPEG4V1_DECODER 0
- #define CONFIG_MSMPEG4V2_DECODER 0
- #define CONFIG_MSMPEG4V3_DECODER 0
--#define CONFIG_MSMPEG4_CRYSTALHD_DECODER 0
- #define CONFIG_MSP2_DECODER 0
- #define CONFIG_MSRLE_DECODER 0
- #define CONFIG_MSS1_DECODER 0
-@@ -293,7 +287,6 @@
- #define CONFIG_VBN_DECODER 0
- #define CONFIG_VBLE_DECODER 0
- #define CONFIG_VC1_DECODER 0
--#define CONFIG_VC1_CRYSTALHD_DECODER 0
- #define CONFIG_VC1IMAGE_DECODER 0
- #define CONFIG_VC1_MMAL_DECODER 0
- #define CONFIG_VC1_QSV_DECODER 0
-@@ -325,7 +318,6 @@
- #define CONFIG_WMV1_DECODER 0
- #define CONFIG_WMV2_DECODER 0
- #define CONFIG_WMV3_DECODER 0
--#define CONFIG_WMV3_CRYSTALHD_DECODER 0
- #define CONFIG_WMV3IMAGE_DECODER 0
- #define CONFIG_WNV1_DECODER 0
- #define CONFIG_XAN_WC3_DECODER 0
-@@ -592,6 +584,7 @@
- #define CONFIG_LIBGSM_MS_DECODER 0
- #define CONFIG_LIBILBC_DECODER 0
- #define CONFIG_LIBJXL_DECODER 0
-+#define CONFIG_LIBLC3_DECODER 0
- #define CONFIG_LIBOPENCORE_AMRNB_DECODER 0
- #define CONFIG_LIBOPENCORE_AMRWB_DECODER 0
- #define CONFIG_LIBOPUS_DECODER 1
-@@ -639,7 +632,6 @@
- #define CONFIG_ASV2_ENCODER 0
- #define CONFIG_AVRP_ENCODER 0
- #define CONFIG_AVUI_ENCODER 0
--#define CONFIG_AYUV_ENCODER 0
- #define CONFIG_BITPACKED_ENCODER 0
- #define CONFIG_BMP_ENCODER 0
- #define CONFIG_CFHD_ENCODER 0
-@@ -821,6 +813,7 @@
- #define CONFIG_LIBGSM_MS_ENCODER 0
- #define CONFIG_LIBILBC_ENCODER 0
- #define CONFIG_LIBJXL_ENCODER 0
-+#define CONFIG_LIBLC3_ENCODER 0
- #define CONFIG_LIBMP3LAME_ENCODER 0
- #define CONFIG_LIBOPENCORE_AMRNB_ENCODER 0
- #define CONFIG_LIBOPENJPEG_ENCODER 0
-@@ -1573,6 +1566,8 @@
- #define CONFIG_HSTACK_QSV_FILTER 0
- #define CONFIG_VSTACK_QSV_FILTER 0
- #define CONFIG_XSTACK_QSV_FILTER 0
-+#define CONFIG_PAD_VAAPI_FILTER 0
-+#define CONFIG_DRAWBOX_VAAPI_FILTER 0
- #define CONFIG_ALLRGB_FILTER 0
- #define CONFIG_ALLYUV_FILTER 0
- #define CONFIG_CELLAUTO_FILTER 0
-@@ -1706,6 +1701,7 @@
- #define CONFIG_DV_DEMUXER 0
- #define CONFIG_DVBSUB_DEMUXER 0
- #define CONFIG_DVBTXT_DEMUXER 0
-+#define CONFIG_DVDVIDEO_DEMUXER 0
- #define CONFIG_DXA_DEMUXER 0
- #define CONFIG_EA_DEMUXER 0
- #define CONFIG_EA_CDATA_DEMUXER 0
-@@ -1767,6 +1763,7 @@
- #define CONFIG_KUX_DEMUXER 0
- #define CONFIG_KVAG_DEMUXER 0
- #define CONFIG_LAF_DEMUXER 0
-+#define CONFIG_LC3_DEMUXER 0
- #define CONFIG_LMLM4_DEMUXER 0
- #define CONFIG_LOAS_DEMUXER 0
- #define CONFIG_LUODAT_DEMUXER 0
-@@ -1850,6 +1847,7 @@
- #define CONFIG_QOA_DEMUXER 0
- #define CONFIG_R3D_DEMUXER 0
- #define CONFIG_RAWVIDEO_DEMUXER 0
-+#define CONFIG_RCWT_DEMUXER 0
- #define CONFIG_REALTEXT_DEMUXER 0
- #define CONFIG_REDSPARK_DEMUXER 0
- #define CONFIG_RKA_DEMUXER 0
-@@ -1987,6 +1985,7 @@
- #define CONFIG_AC4_MUXER 0
- #define CONFIG_ADTS_MUXER 0
- #define CONFIG_ADX_MUXER 0
-+#define CONFIG_AEA_MUXER 0
- #define CONFIG_AIFF_MUXER 0
- #define CONFIG_ALP_MUXER 0
- #define CONFIG_AMR_MUXER 0
-@@ -2026,7 +2025,6 @@
- #define CONFIG_F4V_MUXER 0
- #define CONFIG_FFMETADATA_MUXER 0
- #define CONFIG_FIFO_MUXER 0
--#define CONFIG_FIFO_TEST_MUXER 0
- #define CONFIG_FILMSTRIP_MUXER 0
- #define CONFIG_FITS_MUXER 0
- #define CONFIG_FLAC_MUXER 0
-@@ -2060,6 +2058,7 @@
- #define CONFIG_JACOSUB_MUXER 0
- #define CONFIG_KVAG_MUXER 0
- #define CONFIG_LATM_MUXER 0
-+#define CONFIG_LC3_MUXER 0
- #define CONFIG_LRC_MUXER 0
- #define CONFIG_M4V_MUXER 0
- #define CONFIG_MD5_MUXER 0
-@@ -2162,6 +2161,7 @@
- #define CONFIG_WV_MUXER 0
- #define CONFIG_YUV4MPEGPIPE_MUXER 0
- #define CONFIG_CHROMAPRINT_MUXER 0
-+#define CONFIG_ANDROID_CONTENT_PROTOCOL 0
- #define CONFIG_ASYNC_PROTOCOL 0
- #define CONFIG_BLURAY_PROTOCOL 0
- #define CONFIG_CACHE_PROTOCOL 0
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/ios/arm64/libavformat/demuxer_list.c b/third_party/ffmpeg/chromium/config/Chrome/ios/arm64/libavformat/demuxer_list.c
---- a/third_party/ffmpeg/chromium/config/Chrome/ios/arm64/libavformat/demuxer_list.c 2024-08-13 10:43:45.215117000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/ios/arm64/libavformat/demuxer_list.c 2024-08-19 01:29:21.000000000 +0100
-@@ -1,4 +1,4 @@
--static const AVInputFormat * const demuxer_list[] = {
-+static const FFInputFormat * const demuxer_list[] = {
- &ff_aac_demuxer,
- &ff_flac_demuxer,
- &ff_matroska_demuxer,
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/ios/arm64/libavutil/ffversion.h b/third_party/ffmpeg/chromium/config/Chrome/ios/arm64/libavutil/ffversion.h
---- a/third_party/ffmpeg/chromium/config/Chrome/ios/arm64/libavutil/ffversion.h 2024-08-13 10:43:45.219117400 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/ios/arm64/libavutil/ffversion.h 2024-08-19 01:29:21.000000000 +0100
-@@ -1,5 +1,5 @@
- /* Automatically generated by version.sh, do not manually edit! */
- #ifndef AVUTIL_FFVERSION_H
- #define AVUTIL_FFVERSION_H
--#define FFMPEG_VERSION "N-115016-g631703bfb9"
-+#define FFMPEG_VERSION "N-116569-gd0c8e13654"
- #endif /* AVUTIL_FFVERSION_H */
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/ios/x64/config.asm b/third_party/ffmpeg/chromium/config/Chrome/ios/x64/config.asm
---- a/third_party/ffmpeg/chromium/config/Chrome/ios/x64/config.asm 2024-08-13 10:43:45.219117400 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/ios/x64/config.asm 2024-08-19 01:29:21.000000000 +0100
-@@ -44,6 +44,7 @@
- %define HAVE_VSX 0
- %define HAVE_RV 0
- %define HAVE_RVV 0
-+%define HAVE_RV_ZVBB 0
- %define HAVE_AESNI 1
- %define HAVE_AMD3DNOW 1
- %define HAVE_AMD3DNOWEXT 1
-@@ -62,7 +63,6 @@
- %define HAVE_SSE42 1
- %define HAVE_SSSE3 1
- %define HAVE_XOP 1
--%define HAVE_CPUNOP 0
- %define HAVE_I686 1
- %define HAVE_MIPSFPU 0
- %define HAVE_MIPS32R2 0
-@@ -96,6 +96,7 @@
- %define HAVE_VSX_EXTERNAL 0
- %define HAVE_RV_EXTERNAL 0
- %define HAVE_RVV_EXTERNAL 0
-+%define HAVE_RV_ZVBB_EXTERNAL 0
- %define HAVE_AESNI_EXTERNAL 1
- %define HAVE_AMD3DNOW_EXTERNAL 1
- %define HAVE_AMD3DNOWEXT_EXTERNAL 1
-@@ -114,7 +115,6 @@
- %define HAVE_SSE42_EXTERNAL 1
- %define HAVE_SSSE3_EXTERNAL 1
- %define HAVE_XOP_EXTERNAL 1
--%define HAVE_CPUNOP_EXTERNAL 0
- %define HAVE_I686_EXTERNAL 0
- %define HAVE_MIPSFPU_EXTERNAL 0
- %define HAVE_MIPS32R2_EXTERNAL 0
-@@ -148,6 +148,7 @@
- %define HAVE_VSX_INLINE 0
- %define HAVE_RV_INLINE 0
- %define HAVE_RVV_INLINE 0
-+%define HAVE_RV_ZVBB_INLINE 0
- %define HAVE_AESNI_INLINE 1
- %define HAVE_AMD3DNOW_INLINE 1
- %define HAVE_AMD3DNOWEXT_INLINE 1
-@@ -166,7 +167,6 @@
- %define HAVE_SSE42_INLINE 1
- %define HAVE_SSSE3_INLINE 1
- %define HAVE_XOP_INLINE 1
--%define HAVE_CPUNOP_INLINE 0
- %define HAVE_I686_INLINE 0
- %define HAVE_MIPSFPU_INLINE 0
- %define HAVE_MIPS32R2_INLINE 0
-@@ -204,6 +204,7 @@
- %define HAVE_BIGENDIAN 0
- %define HAVE_FAST_UNALIGNED 1
- %define HAVE_ARPA_INET_H 0
-+%define HAVE_ASM_HWPROBE_H 0
- %define HAVE_ASM_TYPES_H 0
- %define HAVE_CDIO_PARANOIA_H 0
- %define HAVE_CDIO_PARANOIA_PARANOIA_H 0
-@@ -230,6 +231,7 @@
- %define HAVE_OPENGL_GL3_H 0
- %define HAVE_POLL_H 1
- %define HAVE_PTHREAD_NP_H 0
-+%define HAVE_SYS_HWPROBE_H 0
- %define HAVE_SYS_PARAM_H 1
- %define HAVE_SYS_RESOURCE_H 1
- %define HAVE_SYS_SELECT_H 1
-@@ -403,6 +405,7 @@
- %define HAVE_STRUCT_SOCKADDR_STORAGE 0
- %define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 0
- %define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 0
-+%define HAVE_STRUCT_MFXCONFIGINTERFACE 0
- %define HAVE_GZIP 1
- %define HAVE_LIBDRM_GETFB2 0
- %define HAVE_MAKEINFO 0
-@@ -413,6 +416,7 @@
- %define HAVE_OPENCL_DXVA2 0
- %define HAVE_OPENCL_VAAPI_BEIGNET 0
- %define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0
-+%define HAVE_OPENCL_VIDEOTOOLBOX 0
- %define HAVE_PERL 1
- %define HAVE_POD2MAN 1
- %define HAVE_TEXI2HTML 0
-@@ -452,6 +456,8 @@
- %define CONFIG_FREI0R 0
- %define CONFIG_LIBCDIO 0
- %define CONFIG_LIBDAVS2 0
-+%define CONFIG_LIBDVDNAV 0
-+%define CONFIG_LIBDVDREAD 0
- %define CONFIG_LIBRUBBERBAND 0
- %define CONFIG_LIBVIDSTAB 0
- %define CONFIG_LIBX264 0
-@@ -501,6 +507,7 @@
- %define CONFIG_LIBJXL 0
- %define CONFIG_LIBKLVANC 0
- %define CONFIG_LIBKVAZAAR 0
-+%define CONFIG_LIBLC3 0
- %define CONFIG_LIBMODPLUG 0
- %define CONFIG_LIBMP3LAME 0
- %define CONFIG_LIBMYSOFA 0
-@@ -531,6 +538,7 @@
- %define CONFIG_LIBTENSORFLOW 0
- %define CONFIG_LIBTESSERACT 0
- %define CONFIG_LIBTHEORA 0
-+%define CONFIG_LIBTORCH 0
- %define CONFIG_LIBTWOLAME 0
- %define CONFIG_LIBUAVS3D 0
- %define CONFIG_LIBV4L2 0
-@@ -580,7 +588,6 @@
- %define CONFIG_OPENCL 0
- %define CONFIG_AMF 0
- %define CONFIG_AUDIOTOOLBOX 0
--%define CONFIG_CRYSTALHD 0
- %define CONFIG_CUDA 0
- %define CONFIG_CUDA_LLVM 0
- %define CONFIG_CUVID 0
-@@ -624,6 +631,7 @@
- %define CONFIG_ERROR_RESILIENCE 0
- %define CONFIG_FAAN 0
- %define CONFIG_FAST_UNALIGNED 1
-+%define CONFIG_IAMF 0
- %define CONFIG_LSP 0
- %define CONFIG_PIXELUTILS 0
- %define CONFIG_NETWORK 0
-@@ -672,7 +680,8 @@
- %define CONFIG_DEFLATE_WRAPPER 0
- %define CONFIG_DIRAC_PARSE 1
- %define CONFIG_DNN 0
--%define CONFIG_DOVI_RPU 0
-+%define CONFIG_DOVI_RPUDEC 0
-+%define CONFIG_DOVI_RPUENC 0
- %define CONFIG_DVPROFILE 0
- %define CONFIG_EVCPARSE 0
- %define CONFIG_EXIF 0
-@@ -704,10 +713,12 @@
- %define CONFIG_INFLATE_WRAPPER 0
- %define CONFIG_INTRAX8 0
- %define CONFIG_ISO_MEDIA 1
-+%define CONFIG_ISO_WRITER 0
- %define CONFIG_IVIDSP 0
- %define CONFIG_JPEGTABLES 0
- %define CONFIG_LGPLV3 0
- %define CONFIG_LIBX262 0
-+%define CONFIG_LIBX264_HDR10 0
- %define CONFIG_LLAUDDSP 0
- %define CONFIG_LLVIDDSP 0
- %define CONFIG_LLVIDENCDSP 0
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/ios/x64/config.h b/third_party/ffmpeg/chromium/config/Chrome/ios/x64/config.h
---- a/third_party/ffmpeg/chromium/config/Chrome/ios/x64/config.h 2024-08-13 10:43:45.219117400 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/ios/x64/config.h 2024-08-19 01:29:21.000000000 +0100
-@@ -1,14 +1,13 @@
- /* Automatically generated by configure - do not modify! */
- #ifndef FFMPEG_CONFIG_H
- #define FFMPEG_CONFIG_H
--/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/usr/local/google/home/ezemtsov/projects/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-pic --cc=clang --cxx=clang++ --ld=clang --enable-cro
ss-compile --cc=clang --ld=ld64.lld --nm=llvm-nm --ar=llvm-ar --target-os=darwin --extra-cflags='--target=x86_64-apple-macosx' --extra-cflags=-F/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks --extra-cflags='-mmacosx-version-min=10.10' --extra-cflags=-fblocks --extra-cflags=-nostdinc --extra-cflags=-isystem/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include --extra-cflags=-isystem/usr/local/google/home/ezemtsov/projects/chromium/src/third_party/llvm-build/Release+Asserts/lib/clang/19/include --extra-ldflags=-syslibroot --extra-ldflags=/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk --extra-ldflags=-L/usr/local/google/home/ezemtsov/
projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib --extra-ldflags=-lSystem --extra-ldflags=-macosx_version_min --extra-ldflags=10.10 --extra-ldflags=-sdk_version --extra-ldflags=10.10 --extra-ldflags=-platform_version --extra-ldflags=macos --extra-ldflags=10.10 --extra-ldflags=10.10 --arch=x86_64 --extra-cflags=-m64 --extra-ldflags='-arch x86_64' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
-+/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/usr/local/google/home/dalecurtis/code/chrome/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-pic --cc=clang --cxx=clang++ --ld=clang -
-enable-cross-compile --cc=clang --ld=ld64.lld --nm=llvm-nm --ar=llvm-ar --target-os=darwin --extra-cflags='--target=x86_64-apple-macosx' --extra-cflags=-F/usr/local/google/home/dalecurtis/code/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks --extra-cflags='-mmacosx-version-min=10.10' --extra-cflags=-fblocks --extra-cflags=-nostdinc --extra-cflags=-isystem/usr/local/google/home/dalecurtis/code/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include --extra-cflags=-isystem/usr/local/google/home/dalecurtis/code/chrome/src/third_party/llvm-build/Release+Asserts/lib/clang/19/include --extra-ldflags=-syslibroot --extra-ldflags=/usr/local/google/home/dalecurtis/code/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk --extra-ldflags=-L/usr/local/google/home/dalecurtis/cod
e/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib --extra-ldflags=-lSystem --extra-ldflags=-macosx_version_min --extra-ldflags=10.10 --extra-ldflags=-sdk_version --extra-ldflags=10.10 --extra-ldflags=-platform_version --extra-ldflags=macos --extra-ldflags=10.10 --extra-ldflags=10.10 --arch=x86_64 --extra-cflags=-m64 --extra-ldflags='-arch x86_64' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
- #define FFMPEG_LICENSE "LGPL version 2.1 or later"
- #define CONFIG_THIS_YEAR 2024
- #define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
- #define AVCONV_DATADIR "/usr/local/share/ffmpeg"
--#define CC_IDENT "clang version 19.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project 7c4c274643cedcf9671e1db65361231a7d9bee70)"
-+#define CC_IDENT "clang version 19.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project 084e2b53d22c11e013b0a495b65d39aa7f934048)"
- #define OS_NAME darwin
--#define av_restrict restrict
- #define EXTERN_PREFIX "_"
- #define EXTERN_ASM _
- #define BUILDSUF ""
-@@ -59,6 +58,7 @@
- #define HAVE_VSX 0
- #define HAVE_RV 0
- #define HAVE_RVV 0
-+#define HAVE_RV_ZVBB 0
- #define HAVE_AESNI 1
- #define HAVE_AMD3DNOW 1
- #define HAVE_AMD3DNOWEXT 1
-@@ -77,7 +77,6 @@
- #define HAVE_SSE42 1
- #define HAVE_SSSE3 1
- #define HAVE_XOP 1
--#define HAVE_CPUNOP 0
- #define HAVE_I686 1
- #define HAVE_MIPSFPU 0
- #define HAVE_MIPS32R2 0
-@@ -111,6 +110,7 @@
- #define HAVE_VSX_EXTERNAL 0
- #define HAVE_RV_EXTERNAL 0
- #define HAVE_RVV_EXTERNAL 0
-+#define HAVE_RV_ZVBB_EXTERNAL 0
- #define HAVE_AESNI_EXTERNAL 1
- #define HAVE_AMD3DNOW_EXTERNAL 1
- #define HAVE_AMD3DNOWEXT_EXTERNAL 1
-@@ -129,7 +129,6 @@
- #define HAVE_SSE42_EXTERNAL 1
- #define HAVE_SSSE3_EXTERNAL 1
- #define HAVE_XOP_EXTERNAL 1
--#define HAVE_CPUNOP_EXTERNAL 0
- #define HAVE_I686_EXTERNAL 0
- #define HAVE_MIPSFPU_EXTERNAL 0
- #define HAVE_MIPS32R2_EXTERNAL 0
-@@ -163,6 +162,7 @@
- #define HAVE_VSX_INLINE 0
- #define HAVE_RV_INLINE 0
- #define HAVE_RVV_INLINE 0
-+#define HAVE_RV_ZVBB_INLINE 0
- #define HAVE_AESNI_INLINE 1
- #define HAVE_AMD3DNOW_INLINE 1
- #define HAVE_AMD3DNOWEXT_INLINE 1
-@@ -181,7 +181,6 @@
- #define HAVE_SSE42_INLINE 1
- #define HAVE_SSSE3_INLINE 1
- #define HAVE_XOP_INLINE 1
--#define HAVE_CPUNOP_INLINE 0
- #define HAVE_I686_INLINE 0
- #define HAVE_MIPSFPU_INLINE 0
- #define HAVE_MIPS32R2_INLINE 0
-@@ -219,6 +218,7 @@
- #define HAVE_BIGENDIAN 0
- #define HAVE_FAST_UNALIGNED 1
- #define HAVE_ARPA_INET_H 0
-+#define HAVE_ASM_HWPROBE_H 0
- #define HAVE_ASM_TYPES_H 0
- #define HAVE_CDIO_PARANOIA_H 0
- #define HAVE_CDIO_PARANOIA_PARANOIA_H 0
-@@ -245,6 +245,7 @@
- #define HAVE_OPENGL_GL3_H 0
- #define HAVE_POLL_H 1
- #define HAVE_PTHREAD_NP_H 0
-+#define HAVE_SYS_HWPROBE_H 0
- #define HAVE_SYS_PARAM_H 1
- #define HAVE_SYS_RESOURCE_H 1
- #define HAVE_SYS_SELECT_H 1
-@@ -418,6 +419,7 @@
- #define HAVE_STRUCT_SOCKADDR_STORAGE 0
- #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 0
- #define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 0
-+#define HAVE_STRUCT_MFXCONFIGINTERFACE 0
- #define HAVE_GZIP 1
- #define HAVE_LIBDRM_GETFB2 0
- #define HAVE_MAKEINFO 0
-@@ -428,6 +430,7 @@
- #define HAVE_OPENCL_DXVA2 0
- #define HAVE_OPENCL_VAAPI_BEIGNET 0
- #define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0
-+#define HAVE_OPENCL_VIDEOTOOLBOX 0
- #define HAVE_PERL 1
- #define HAVE_POD2MAN 1
- #define HAVE_TEXI2HTML 0
-@@ -467,6 +470,8 @@
- #define CONFIG_FREI0R 0
- #define CONFIG_LIBCDIO 0
- #define CONFIG_LIBDAVS2 0
-+#define CONFIG_LIBDVDNAV 0
-+#define CONFIG_LIBDVDREAD 0
- #define CONFIG_LIBRUBBERBAND 0
- #define CONFIG_LIBVIDSTAB 0
- #define CONFIG_LIBX264 0
-@@ -516,6 +521,7 @@
- #define CONFIG_LIBJXL 0
- #define CONFIG_LIBKLVANC 0
- #define CONFIG_LIBKVAZAAR 0
-+#define CONFIG_LIBLC3 0
- #define CONFIG_LIBMODPLUG 0
- #define CONFIG_LIBMP3LAME 0
- #define CONFIG_LIBMYSOFA 0
-@@ -546,6 +552,7 @@
- #define CONFIG_LIBTENSORFLOW 0
- #define CONFIG_LIBTESSERACT 0
- #define CONFIG_LIBTHEORA 0
-+#define CONFIG_LIBTORCH 0
- #define CONFIG_LIBTWOLAME 0
- #define CONFIG_LIBUAVS3D 0
- #define CONFIG_LIBV4L2 0
-@@ -595,7 +602,6 @@
- #define CONFIG_OPENCL 0
- #define CONFIG_AMF 0
- #define CONFIG_AUDIOTOOLBOX 0
--#define CONFIG_CRYSTALHD 0
- #define CONFIG_CUDA 0
- #define CONFIG_CUDA_LLVM 0
- #define CONFIG_CUVID 0
-@@ -639,6 +645,7 @@
- #define CONFIG_ERROR_RESILIENCE 0
- #define CONFIG_FAAN 0
- #define CONFIG_FAST_UNALIGNED 1
-+#define CONFIG_IAMF 0
- #define CONFIG_LSP 0
- #define CONFIG_PIXELUTILS 0
- #define CONFIG_NETWORK 0
-@@ -687,7 +694,8 @@
- #define CONFIG_DEFLATE_WRAPPER 0
- #define CONFIG_DIRAC_PARSE 1
- #define CONFIG_DNN 0
--#define CONFIG_DOVI_RPU 0
-+#define CONFIG_DOVI_RPUDEC 0
-+#define CONFIG_DOVI_RPUENC 0
- #define CONFIG_DVPROFILE 0
- #define CONFIG_EVCPARSE 0
- #define CONFIG_EXIF 0
-@@ -719,10 +727,12 @@
- #define CONFIG_INFLATE_WRAPPER 0
- #define CONFIG_INTRAX8 0
- #define CONFIG_ISO_MEDIA 1
-+#define CONFIG_ISO_WRITER 0
- #define CONFIG_IVIDSP 0
- #define CONFIG_JPEGTABLES 0
- #define CONFIG_LGPLV3 0
- #define CONFIG_LIBX262 0
-+#define CONFIG_LIBX264_HDR10 0
- #define CONFIG_LLAUDDSP 0
- #define CONFIG_LLVIDDSP 0
- #define CONFIG_LLVIDENCDSP 0
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/ios/x64/config_components.h b/third_party/ffmpeg/chromium/config/Chrome/ios/x64/config_components.h
---- a/third_party/ffmpeg/chromium/config/Chrome/ios/x64/config_components.h 2024-08-13 10:43:45.219117400 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/ios/x64/config_components.h 2024-08-19 01:29:21.000000000 +0100
-@@ -11,6 +11,7 @@
- #define CONFIG_DTS2PTS_BSF 0
- #define CONFIG_DV_ERROR_MARKER_BSF 0
- #define CONFIG_EAC3_CORE_BSF 0
-+#define CONFIG_EVC_FRAME_MERGE_BSF 0
- #define CONFIG_EXTRACT_EXTRADATA_BSF 0
- #define CONFIG_FILTER_UNITS_BSF 0
- #define CONFIG_H264_METADATA_BSF 0
-@@ -23,7 +24,6 @@
- #define CONFIG_MEDIA100_TO_MJPEGB_BSF 0
- #define CONFIG_MJPEG2JPEG_BSF 0
- #define CONFIG_MJPEGA_DUMP_HEADER_BSF 0
--#define CONFIG_MP3_HEADER_DECOMPRESS_BSF 0
- #define CONFIG_MPEG2_METADATA_BSF 0
- #define CONFIG_MPEG4_UNPACK_BFRAMES_BSF 0
- #define CONFIG_MOV2TEXTSUB_BSF 0
-@@ -45,7 +45,6 @@
- #define CONFIG_VP9_SUPERFRAME_SPLIT_BSF 0
- #define CONFIG_VVC_METADATA_BSF 0
- #define CONFIG_VVC_MP4TOANNEXB_BSF 0
--#define CONFIG_EVC_FRAME_MERGE_BSF 0
- #define CONFIG_AASC_DECODER 0
- #define CONFIG_AIC_DECODER 0
- #define CONFIG_ALIAS_PIX_DECODER 0
-@@ -64,7 +63,6 @@
- #define CONFIG_AVRN_DECODER 0
- #define CONFIG_AVS_DECODER 0
- #define CONFIG_AVUI_DECODER 0
--#define CONFIG_AYUV_DECODER 0
- #define CONFIG_BETHSOFTVID_DECODER 0
- #define CONFIG_BFI_DECODER 0
- #define CONFIG_BINK_DECODER 0
-@@ -131,7 +129,6 @@
- #define CONFIG_H263P_DECODER 0
- #define CONFIG_H263_V4L2M2M_DECODER 0
- #define CONFIG_H264_DECODER 1
--#define CONFIG_H264_CRYSTALHD_DECODER 0
- #define CONFIG_H264_V4L2M2M_DECODER 0
- #define CONFIG_H264_MEDIACODEC_DECODER 0
- #define CONFIG_H264_MMAL_DECODER 0
-@@ -179,13 +176,11 @@
- #define CONFIG_MPEG1VIDEO_DECODER 0
- #define CONFIG_MPEG2VIDEO_DECODER 0
- #define CONFIG_MPEG4_DECODER 0
--#define CONFIG_MPEG4_CRYSTALHD_DECODER 0
- #define CONFIG_MPEG4_V4L2M2M_DECODER 0
- #define CONFIG_MPEG4_MMAL_DECODER 0
- #define CONFIG_MPEGVIDEO_DECODER 0
- #define CONFIG_MPEG1_V4L2M2M_DECODER 0
- #define CONFIG_MPEG2_MMAL_DECODER 0
--#define CONFIG_MPEG2_CRYSTALHD_DECODER 0
- #define CONFIG_MPEG2_V4L2M2M_DECODER 0
- #define CONFIG_MPEG2_QSV_DECODER 0
- #define CONFIG_MPEG2_MEDIACODEC_DECODER 0
-@@ -194,7 +189,6 @@
- #define CONFIG_MSMPEG4V1_DECODER 0
- #define CONFIG_MSMPEG4V2_DECODER 0
- #define CONFIG_MSMPEG4V3_DECODER 0
--#define CONFIG_MSMPEG4_CRYSTALHD_DECODER 0
- #define CONFIG_MSP2_DECODER 0
- #define CONFIG_MSRLE_DECODER 0
- #define CONFIG_MSS1_DECODER 0
-@@ -293,7 +287,6 @@
- #define CONFIG_VBN_DECODER 0
- #define CONFIG_VBLE_DECODER 0
- #define CONFIG_VC1_DECODER 0
--#define CONFIG_VC1_CRYSTALHD_DECODER 0
- #define CONFIG_VC1IMAGE_DECODER 0
- #define CONFIG_VC1_MMAL_DECODER 0
- #define CONFIG_VC1_QSV_DECODER 0
-@@ -325,7 +318,6 @@
- #define CONFIG_WMV1_DECODER 0
- #define CONFIG_WMV2_DECODER 0
- #define CONFIG_WMV3_DECODER 0
--#define CONFIG_WMV3_CRYSTALHD_DECODER 0
- #define CONFIG_WMV3IMAGE_DECODER 0
- #define CONFIG_WNV1_DECODER 0
- #define CONFIG_XAN_WC3_DECODER 0
-@@ -592,6 +584,7 @@
- #define CONFIG_LIBGSM_MS_DECODER 0
- #define CONFIG_LIBILBC_DECODER 0
- #define CONFIG_LIBJXL_DECODER 0
-+#define CONFIG_LIBLC3_DECODER 0
- #define CONFIG_LIBOPENCORE_AMRNB_DECODER 0
- #define CONFIG_LIBOPENCORE_AMRWB_DECODER 0
- #define CONFIG_LIBOPUS_DECODER 1
-@@ -639,7 +632,6 @@
- #define CONFIG_ASV2_ENCODER 0
- #define CONFIG_AVRP_ENCODER 0
- #define CONFIG_AVUI_ENCODER 0
--#define CONFIG_AYUV_ENCODER 0
- #define CONFIG_BITPACKED_ENCODER 0
- #define CONFIG_BMP_ENCODER 0
- #define CONFIG_CFHD_ENCODER 0
-@@ -821,6 +813,7 @@
- #define CONFIG_LIBGSM_MS_ENCODER 0
- #define CONFIG_LIBILBC_ENCODER 0
- #define CONFIG_LIBJXL_ENCODER 0
-+#define CONFIG_LIBLC3_ENCODER 0
- #define CONFIG_LIBMP3LAME_ENCODER 0
- #define CONFIG_LIBOPENCORE_AMRNB_ENCODER 0
- #define CONFIG_LIBOPENJPEG_ENCODER 0
-@@ -1573,6 +1566,8 @@
- #define CONFIG_HSTACK_QSV_FILTER 0
- #define CONFIG_VSTACK_QSV_FILTER 0
- #define CONFIG_XSTACK_QSV_FILTER 0
-+#define CONFIG_PAD_VAAPI_FILTER 0
-+#define CONFIG_DRAWBOX_VAAPI_FILTER 0
- #define CONFIG_ALLRGB_FILTER 0
- #define CONFIG_ALLYUV_FILTER 0
- #define CONFIG_CELLAUTO_FILTER 0
-@@ -1706,6 +1701,7 @@
- #define CONFIG_DV_DEMUXER 0
- #define CONFIG_DVBSUB_DEMUXER 0
- #define CONFIG_DVBTXT_DEMUXER 0
-+#define CONFIG_DVDVIDEO_DEMUXER 0
- #define CONFIG_DXA_DEMUXER 0
- #define CONFIG_EA_DEMUXER 0
- #define CONFIG_EA_CDATA_DEMUXER 0
-@@ -1767,6 +1763,7 @@
- #define CONFIG_KUX_DEMUXER 0
- #define CONFIG_KVAG_DEMUXER 0
- #define CONFIG_LAF_DEMUXER 0
-+#define CONFIG_LC3_DEMUXER 0
- #define CONFIG_LMLM4_DEMUXER 0
- #define CONFIG_LOAS_DEMUXER 0
- #define CONFIG_LUODAT_DEMUXER 0
-@@ -1850,6 +1847,7 @@
- #define CONFIG_QOA_DEMUXER 0
- #define CONFIG_R3D_DEMUXER 0
- #define CONFIG_RAWVIDEO_DEMUXER 0
-+#define CONFIG_RCWT_DEMUXER 0
- #define CONFIG_REALTEXT_DEMUXER 0
- #define CONFIG_REDSPARK_DEMUXER 0
- #define CONFIG_RKA_DEMUXER 0
-@@ -1987,6 +1985,7 @@
- #define CONFIG_AC4_MUXER 0
- #define CONFIG_ADTS_MUXER 0
- #define CONFIG_ADX_MUXER 0
-+#define CONFIG_AEA_MUXER 0
- #define CONFIG_AIFF_MUXER 0
- #define CONFIG_ALP_MUXER 0
- #define CONFIG_AMR_MUXER 0
-@@ -2026,7 +2025,6 @@
- #define CONFIG_F4V_MUXER 0
- #define CONFIG_FFMETADATA_MUXER 0
- #define CONFIG_FIFO_MUXER 0
--#define CONFIG_FIFO_TEST_MUXER 0
- #define CONFIG_FILMSTRIP_MUXER 0
- #define CONFIG_FITS_MUXER 0
- #define CONFIG_FLAC_MUXER 0
-@@ -2060,6 +2058,7 @@
- #define CONFIG_JACOSUB_MUXER 0
- #define CONFIG_KVAG_MUXER 0
- #define CONFIG_LATM_MUXER 0
-+#define CONFIG_LC3_MUXER 0
- #define CONFIG_LRC_MUXER 0
- #define CONFIG_M4V_MUXER 0
- #define CONFIG_MD5_MUXER 0
-@@ -2162,6 +2161,7 @@
- #define CONFIG_WV_MUXER 0
- #define CONFIG_YUV4MPEGPIPE_MUXER 0
- #define CONFIG_CHROMAPRINT_MUXER 0
-+#define CONFIG_ANDROID_CONTENT_PROTOCOL 0
- #define CONFIG_ASYNC_PROTOCOL 0
- #define CONFIG_BLURAY_PROTOCOL 0
- #define CONFIG_CACHE_PROTOCOL 0
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/ios/x64/libavformat/demuxer_list.c b/third_party/ffmpeg/chromium/config/Chrome/ios/x64/libavformat/demuxer_list.c
---- a/third_party/ffmpeg/chromium/config/Chrome/ios/x64/libavformat/demuxer_list.c 2024-08-13 10:43:45.219117400 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/ios/x64/libavformat/demuxer_list.c 2024-08-19 01:29:21.000000000 +0100
-@@ -1,4 +1,4 @@
--static const AVInputFormat * const demuxer_list[] = {
-+static const FFInputFormat * const demuxer_list[] = {
- &ff_aac_demuxer,
- &ff_flac_demuxer,
- &ff_matroska_demuxer,
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/ios/x64/libavutil/ffversion.h b/third_party/ffmpeg/chromium/config/Chrome/ios/x64/libavutil/ffversion.h
---- a/third_party/ffmpeg/chromium/config/Chrome/ios/x64/libavutil/ffversion.h 2024-08-13 10:43:45.219117400 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/ios/x64/libavutil/ffversion.h 2024-08-19 01:29:21.000000000 +0100
-@@ -1,5 +1,5 @@
- /* Automatically generated by version.sh, do not manually edit! */
- #ifndef AVUTIL_FFVERSION_H
- #define AVUTIL_FFVERSION_H
--#define FFMPEG_VERSION "N-115016-g631703bfb9"
-+#define FFMPEG_VERSION "N-116569-gd0c8e13654"
- #endif /* AVUTIL_FFVERSION_H */
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h 2024-08-19 01:29:20.000000000 +0100
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h 2024-10-05 16:34:43.806521178 +0100
@@ -0,0 +1,782 @@
+/* Automatically generated by configure - do not modify! */
+#ifndef FFMPEG_CONFIG_H
+#define FFMPEG_CONFIG_H
-+/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/media/Recorded_TV/chrome/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --arch=riscv64 --extra-cflags='-march=rv64gc' --enable-cross-
compile --target-os=linux --sysroot=/media/Recorded_TV/chrome/chromium/src/build/linux/debian_sid_riscv64-sysroot --extra-cflags='--target=riscv64-linux-gnu' --extra-ldflags='--target=riscv64-linux-gnu' --enable-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
++/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/home/porter/Workspaces/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --arch=riscv64 --extra-cflags='-march=rv64gc' --enable-cross-co
mpile --target-os=linux --sysroot=/home/porter/Workspaces/chromium/src/build/linux/debian_sid_riscv64-sysroot --extra-cflags='--target=riscv64-linux-gnu' --extra-ldflags='--target=riscv64-linux-gnu' --enable-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
+#define FFMPEG_LICENSE "LGPL version 2.1 or later"
+#define CONFIG_THIS_YEAR 2024
+#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
+#define AVCONV_DATADIR "/usr/local/share/ffmpeg"
-+#define CC_IDENT "clang version 19.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project 084e2b53d22c11e013b0a495b65d39aa7f934048)"
++#define CC_IDENT "clang version 20.0.0git (https://chromium.googlesource.com/external/github.com/llvm/llvm-project 7088a5ed880f29129ec844c66068e8cb61ca98bf)"
+#define OS_NAME linux
+#define EXTERN_PREFIX ""
+#define EXTERN_ASM
@@ -1200,7 +315,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define HAVE_OPENGL_GL3_H 0
+#define HAVE_POLL_H 1
+#define HAVE_PTHREAD_NP_H 0
-+#define HAVE_SYS_HWPROBE_H 0
++#define HAVE_SYS_HWPROBE_H 1
+#define HAVE_SYS_PARAM_H 1
+#define HAVE_SYS_RESOURCE_H 1
+#define HAVE_SYS_SELECT_H 1
@@ -1335,7 +450,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define HAVE_INLINE_ASM_LABELS 1
+#define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
+#define HAVE_PRAGMA_DEPRECATED 1
-+#define HAVE_RSYNC_CONTIMEOUT 1
++#define HAVE_RSYNC_CONTIMEOUT 0
+#define HAVE_SYMVER_ASM_LABEL 1
+#define HAVE_SYMVER_GNU_ASM 1
+#define HAVE_VFP_ARGS 0
@@ -1737,7 +852,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#endif /* FFMPEG_CONFIG_H */
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_components.h b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_components.h
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_components.h 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_components.h 2024-08-19 01:29:20.000000000 +0100
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_components.h 2024-10-05 16:34:43.813187846 +0100
@@ -0,0 +1,2218 @@
+/* Automatically generated by configure - do not modify! */
+#ifndef FFMPEG_CONFIG_COMPONENTS_H
@@ -3959,13 +3074,13 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#endif /* FFMPEG_CONFIG_COMPONENTS_H */
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/bsf_list.c b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/bsf_list.c
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/bsf_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/bsf_list.c 2024-08-19 01:29:20.000000000 +0100
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/bsf_list.c 2024-10-05 16:34:43.813187846 +0100
@@ -0,0 +1,2 @@
+static const FFBitStreamFilter * const bitstream_filters[] = {
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/codec_list.c b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/codec_list.c
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/codec_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/codec_list.c 2024-08-19 01:29:20.000000000 +0100
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/codec_list.c 2024-10-05 16:34:43.813187846 +0100
@@ -0,0 +1,17 @@
+static const FFCodec * const codec_list[] = {
+ &ff_h264_decoder,
@@ -3986,7 +3101,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/parser_list.c b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/parser_list.c
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/parser_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/parser_list.c 2024-08-19 01:29:20.000000000 +0100
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/parser_list.c 2024-10-05 16:34:43.813187846 +0100
@@ -0,0 +1,9 @@
+static const AVCodecParser * const parser_list[] = {
+ &ff_aac_parser,
@@ -3999,7 +3114,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/demuxer_list.c b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/demuxer_list.c
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/demuxer_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/demuxer_list.c 2024-08-19 01:29:20.000000000 +0100
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/demuxer_list.c 2024-10-05 16:34:43.813187846 +0100
@@ -0,0 +1,9 @@
+static const FFInputFormat * const demuxer_list[] = {
+ &ff_aac_demuxer,
@@ -4012,19 +3127,19 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/muxer_list.c b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/muxer_list.c
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/muxer_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/muxer_list.c 2024-08-19 01:29:20.000000000 +0100
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/muxer_list.c 2024-10-05 16:34:43.813187846 +0100
@@ -0,0 +1,2 @@
+static const FFOutputFormat * const muxer_list[] = {
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/protocol_list.c b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/protocol_list.c
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/protocol_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/protocol_list.c 2024-08-19 01:29:20.000000000 +0100
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/protocol_list.c 2024-10-05 16:34:43.813187846 +0100
@@ -0,0 +1,2 @@
+static const URLProtocol * const url_protocols[] = {
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/avconfig.h b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/avconfig.h
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/avconfig.h 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/avconfig.h 2024-08-19 01:29:20.000000000 +0100
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/avconfig.h 2024-10-05 16:34:43.816521179 +0100
@@ -0,0 +1,6 @@
+/* Generated by ffmpeg configure */
+#ifndef AVUTIL_AVCONFIG_H
@@ -4034,879 +3149,115 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#endif /* AVUTIL_AVCONFIG_H */
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/ffversion.h b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/ffversion.h
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/ffversion.h 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/ffversion.h 2024-08-19 01:29:20.000000000 +0100
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/ffversion.h 2024-10-05 16:34:43.816521179 +0100
@@ -0,0 +1,5 @@
+/* Automatically generated by version.sh, do not manually edit! */
+#ifndef AVUTIL_FFVERSION_H
+#define AVUTIL_FFVERSION_H
-+#define FFMPEG_VERSION "git-2024-05-24-bc1ee906ce"
++#define FFMPEG_VERSION "git-2024-08-15-14d16cd143"
+#endif /* AVUTIL_FFVERSION_H */
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/ios/arm64/config.h b/third_party/ffmpeg/chromium/config/Chromium/ios/arm64/config.h
---- a/third_party/ffmpeg/chromium/config/Chromium/ios/arm64/config.h 2024-08-13 10:43:45.235118600 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/ios/arm64/config.h 2024-08-19 01:29:20.000000000 +0100
-@@ -1,14 +1,13 @@
- /* Automatically generated by configure - do not modify! */
- #ifndef FFMPEG_CONFIG_H
- #define FFMPEG_CONFIG_H
--/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/usr/local/google/home/ezemtsov/projects/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-pic --cc=clang --cxx=clang++ --ld=clang --enable-cro
ss-compile --cc=clang --ld=ld64.lld --nm=llvm-nm --ar=llvm-ar --target-os=darwin --extra-cflags='--target=arm64-apple-macosx' --extra-cflags=-F/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks --extra-cflags='-mmacosx-version-min=10.10' --extra-cflags=-fblocks --extra-cflags=-nostdinc --extra-cflags=-isystem/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include --extra-cflags=-isystem/usr/local/google/home/ezemtsov/projects/chromium/src/third_party/llvm-build/Release+Asserts/lib/clang/19/include --extra-ldflags=-syslibroot --extra-ldflags=/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk --extra-ldflags=-L/usr/local/google/home/ezemtsov/p
rojects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib --extra-ldflags=-lSystem --extra-ldflags=-macosx_version_min --extra-ldflags=10.10 --extra-ldflags=-sdk_version --extra-ldflags=10.10 --extra-ldflags=-platform_version --extra-ldflags=macos --extra-ldflags=10.10 --extra-ldflags=10.10 --arch=arm64 --extra-cflags='-arch arm64' --extra-ldflags='-arch arm64'" -- elide long configuration string from binary */
-+/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/usr/local/google/home/dalecurtis/code/chrome/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-pic --cc=clang --cxx=clang++ --ld=clang -
-enable-cross-compile --cc=clang --ld=ld64.lld --nm=llvm-nm --ar=llvm-ar --target-os=darwin --extra-cflags='--target=arm64-apple-macosx' --extra-cflags=-F/usr/local/google/home/dalecurtis/code/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks --extra-cflags='-mmacosx-version-min=10.10' --extra-cflags=-fblocks --extra-cflags=-nostdinc --extra-cflags=-isystem/usr/local/google/home/dalecurtis/code/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include --extra-cflags=-isystem/usr/local/google/home/dalecurtis/code/chrome/src/third_party/llvm-build/Release+Asserts/lib/clang/19/include --extra-ldflags=-syslibroot --extra-ldflags=/usr/local/google/home/dalecurtis/code/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk --extra-ldflags=-L/usr/local/google/home/dalecurtis/code
/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib --extra-ldflags=-lSystem --extra-ldflags=-macosx_version_min --extra-ldflags=10.10 --extra-ldflags=-sdk_version --extra-ldflags=10.10 --extra-ldflags=-platform_version --extra-ldflags=macos --extra-ldflags=10.10 --extra-ldflags=10.10 --arch=arm64 --extra-cflags='-arch arm64' --extra-ldflags='-arch arm64'" -- elide long configuration string from binary */
- #define FFMPEG_LICENSE "LGPL version 2.1 or later"
- #define CONFIG_THIS_YEAR 2024
- #define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
- #define AVCONV_DATADIR "/usr/local/share/ffmpeg"
--#define CC_IDENT "clang version 19.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project 7c4c274643cedcf9671e1db65361231a7d9bee70)"
-+#define CC_IDENT "clang version 19.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project 084e2b53d22c11e013b0a495b65d39aa7f934048)"
- #define OS_NAME darwin
--#define av_restrict restrict
- #define EXTERN_PREFIX "_"
- #define EXTERN_ASM _
- #define BUILDSUF ""
-@@ -60,6 +59,7 @@
- #define HAVE_VSX 0
- #define HAVE_RV 0
- #define HAVE_RVV 0
-+#define HAVE_RV_ZVBB 0
- #define HAVE_AESNI 0
- #define HAVE_AMD3DNOW 0
- #define HAVE_AMD3DNOWEXT 0
-@@ -78,7 +78,6 @@
- #define HAVE_SSE42 0
- #define HAVE_SSSE3 0
- #define HAVE_XOP 0
--#define HAVE_CPUNOP 0
- #define HAVE_I686 0
- #define HAVE_MIPSFPU 0
- #define HAVE_MIPS32R2 0
-@@ -112,6 +111,7 @@
- #define HAVE_VSX_EXTERNAL 0
- #define HAVE_RV_EXTERNAL 0
- #define HAVE_RVV_EXTERNAL 0
-+#define HAVE_RV_ZVBB_EXTERNAL 0
- #define HAVE_AESNI_EXTERNAL 0
- #define HAVE_AMD3DNOW_EXTERNAL 0
- #define HAVE_AMD3DNOWEXT_EXTERNAL 0
-@@ -130,7 +130,6 @@
- #define HAVE_SSE42_EXTERNAL 0
- #define HAVE_SSSE3_EXTERNAL 0
- #define HAVE_XOP_EXTERNAL 0
--#define HAVE_CPUNOP_EXTERNAL 0
- #define HAVE_I686_EXTERNAL 0
- #define HAVE_MIPSFPU_EXTERNAL 0
- #define HAVE_MIPS32R2_EXTERNAL 0
-@@ -164,6 +163,7 @@
- #define HAVE_VSX_INLINE 0
- #define HAVE_RV_INLINE 0
- #define HAVE_RVV_INLINE 0
-+#define HAVE_RV_ZVBB_INLINE 0
- #define HAVE_AESNI_INLINE 0
- #define HAVE_AMD3DNOW_INLINE 0
- #define HAVE_AMD3DNOWEXT_INLINE 0
-@@ -182,7 +182,6 @@
- #define HAVE_SSE42_INLINE 0
- #define HAVE_SSSE3_INLINE 0
- #define HAVE_XOP_INLINE 0
--#define HAVE_CPUNOP_INLINE 0
- #define HAVE_I686_INLINE 0
- #define HAVE_MIPSFPU_INLINE 0
- #define HAVE_MIPS32R2_INLINE 0
-@@ -220,6 +219,7 @@
- #define HAVE_BIGENDIAN 0
- #define HAVE_FAST_UNALIGNED 1
- #define HAVE_ARPA_INET_H 0
-+#define HAVE_ASM_HWPROBE_H 0
- #define HAVE_ASM_TYPES_H 0
- #define HAVE_CDIO_PARANOIA_H 0
- #define HAVE_CDIO_PARANOIA_PARANOIA_H 0
-@@ -246,6 +246,7 @@
- #define HAVE_OPENGL_GL3_H 0
- #define HAVE_POLL_H 1
- #define HAVE_PTHREAD_NP_H 0
-+#define HAVE_SYS_HWPROBE_H 0
- #define HAVE_SYS_PARAM_H 1
- #define HAVE_SYS_RESOURCE_H 1
- #define HAVE_SYS_SELECT_H 1
-@@ -419,6 +420,7 @@
- #define HAVE_STRUCT_SOCKADDR_STORAGE 0
- #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 0
- #define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 0
-+#define HAVE_STRUCT_MFXCONFIGINTERFACE 0
- #define HAVE_GZIP 1
- #define HAVE_LIBDRM_GETFB2 0
- #define HAVE_MAKEINFO 0
-@@ -429,6 +431,7 @@
- #define HAVE_OPENCL_DXVA2 0
- #define HAVE_OPENCL_VAAPI_BEIGNET 0
- #define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0
-+#define HAVE_OPENCL_VIDEOTOOLBOX 0
- #define HAVE_PERL 1
- #define HAVE_POD2MAN 1
- #define HAVE_TEXI2HTML 0
-@@ -468,6 +471,8 @@
- #define CONFIG_FREI0R 0
- #define CONFIG_LIBCDIO 0
- #define CONFIG_LIBDAVS2 0
-+#define CONFIG_LIBDVDNAV 0
-+#define CONFIG_LIBDVDREAD 0
- #define CONFIG_LIBRUBBERBAND 0
- #define CONFIG_LIBVIDSTAB 0
- #define CONFIG_LIBX264 0
-@@ -517,6 +522,7 @@
- #define CONFIG_LIBJXL 0
- #define CONFIG_LIBKLVANC 0
- #define CONFIG_LIBKVAZAAR 0
-+#define CONFIG_LIBLC3 0
- #define CONFIG_LIBMODPLUG 0
- #define CONFIG_LIBMP3LAME 0
- #define CONFIG_LIBMYSOFA 0
-@@ -547,6 +553,7 @@
- #define CONFIG_LIBTENSORFLOW 0
- #define CONFIG_LIBTESSERACT 0
- #define CONFIG_LIBTHEORA 0
-+#define CONFIG_LIBTORCH 0
- #define CONFIG_LIBTWOLAME 0
- #define CONFIG_LIBUAVS3D 0
- #define CONFIG_LIBV4L2 0
-@@ -596,7 +603,6 @@
- #define CONFIG_OPENCL 0
- #define CONFIG_AMF 0
- #define CONFIG_AUDIOTOOLBOX 0
--#define CONFIG_CRYSTALHD 0
- #define CONFIG_CUDA 0
- #define CONFIG_CUDA_LLVM 0
- #define CONFIG_CUVID 0
-@@ -640,6 +646,7 @@
- #define CONFIG_ERROR_RESILIENCE 0
- #define CONFIG_FAAN 0
- #define CONFIG_FAST_UNALIGNED 1
-+#define CONFIG_IAMF 0
- #define CONFIG_LSP 0
- #define CONFIG_PIXELUTILS 0
- #define CONFIG_NETWORK 0
-@@ -688,7 +695,8 @@
- #define CONFIG_DEFLATE_WRAPPER 0
- #define CONFIG_DIRAC_PARSE 1
- #define CONFIG_DNN 0
--#define CONFIG_DOVI_RPU 0
-+#define CONFIG_DOVI_RPUDEC 0
-+#define CONFIG_DOVI_RPUENC 0
- #define CONFIG_DVPROFILE 0
- #define CONFIG_EVCPARSE 0
- #define CONFIG_EXIF 0
-@@ -720,10 +728,12 @@
- #define CONFIG_INFLATE_WRAPPER 0
- #define CONFIG_INTRAX8 0
- #define CONFIG_ISO_MEDIA 1
-+#define CONFIG_ISO_WRITER 0
- #define CONFIG_IVIDSP 0
- #define CONFIG_JPEGTABLES 0
- #define CONFIG_LGPLV3 0
- #define CONFIG_LIBX262 0
-+#define CONFIG_LIBX264_HDR10 0
- #define CONFIG_LLAUDDSP 0
- #define CONFIG_LLVIDDSP 0
- #define CONFIG_LLVIDENCDSP 0
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/ios/arm64/config_components.h b/third_party/ffmpeg/chromium/config/Chromium/ios/arm64/config_components.h
---- a/third_party/ffmpeg/chromium/config/Chromium/ios/arm64/config_components.h 2024-08-13 10:43:45.235118600 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/ios/arm64/config_components.h 2024-08-19 01:29:21.000000000 +0100
-@@ -11,6 +11,7 @@
- #define CONFIG_DTS2PTS_BSF 0
- #define CONFIG_DV_ERROR_MARKER_BSF 0
- #define CONFIG_EAC3_CORE_BSF 0
-+#define CONFIG_EVC_FRAME_MERGE_BSF 0
- #define CONFIG_EXTRACT_EXTRADATA_BSF 0
- #define CONFIG_FILTER_UNITS_BSF 0
- #define CONFIG_H264_METADATA_BSF 0
-@@ -23,7 +24,6 @@
- #define CONFIG_MEDIA100_TO_MJPEGB_BSF 0
- #define CONFIG_MJPEG2JPEG_BSF 0
- #define CONFIG_MJPEGA_DUMP_HEADER_BSF 0
--#define CONFIG_MP3_HEADER_DECOMPRESS_BSF 0
- #define CONFIG_MPEG2_METADATA_BSF 0
- #define CONFIG_MPEG4_UNPACK_BFRAMES_BSF 0
- #define CONFIG_MOV2TEXTSUB_BSF 0
-@@ -45,7 +45,6 @@
- #define CONFIG_VP9_SUPERFRAME_SPLIT_BSF 0
- #define CONFIG_VVC_METADATA_BSF 0
- #define CONFIG_VVC_MP4TOANNEXB_BSF 0
--#define CONFIG_EVC_FRAME_MERGE_BSF 0
- #define CONFIG_AASC_DECODER 0
- #define CONFIG_AIC_DECODER 0
- #define CONFIG_ALIAS_PIX_DECODER 0
-@@ -64,7 +63,6 @@
- #define CONFIG_AVRN_DECODER 0
- #define CONFIG_AVS_DECODER 0
- #define CONFIG_AVUI_DECODER 0
--#define CONFIG_AYUV_DECODER 0
- #define CONFIG_BETHSOFTVID_DECODER 0
- #define CONFIG_BFI_DECODER 0
- #define CONFIG_BINK_DECODER 0
-@@ -131,7 +129,6 @@
- #define CONFIG_H263P_DECODER 0
- #define CONFIG_H263_V4L2M2M_DECODER 0
- #define CONFIG_H264_DECODER 0
--#define CONFIG_H264_CRYSTALHD_DECODER 0
- #define CONFIG_H264_V4L2M2M_DECODER 0
- #define CONFIG_H264_MEDIACODEC_DECODER 0
- #define CONFIG_H264_MMAL_DECODER 0
-@@ -179,13 +176,11 @@
- #define CONFIG_MPEG1VIDEO_DECODER 0
- #define CONFIG_MPEG2VIDEO_DECODER 0
- #define CONFIG_MPEG4_DECODER 0
--#define CONFIG_MPEG4_CRYSTALHD_DECODER 0
- #define CONFIG_MPEG4_V4L2M2M_DECODER 0
- #define CONFIG_MPEG4_MMAL_DECODER 0
- #define CONFIG_MPEGVIDEO_DECODER 0
- #define CONFIG_MPEG1_V4L2M2M_DECODER 0
- #define CONFIG_MPEG2_MMAL_DECODER 0
--#define CONFIG_MPEG2_CRYSTALHD_DECODER 0
- #define CONFIG_MPEG2_V4L2M2M_DECODER 0
- #define CONFIG_MPEG2_QSV_DECODER 0
- #define CONFIG_MPEG2_MEDIACODEC_DECODER 0
-@@ -194,7 +189,6 @@
- #define CONFIG_MSMPEG4V1_DECODER 0
- #define CONFIG_MSMPEG4V2_DECODER 0
- #define CONFIG_MSMPEG4V3_DECODER 0
--#define CONFIG_MSMPEG4_CRYSTALHD_DECODER 0
- #define CONFIG_MSP2_DECODER 0
- #define CONFIG_MSRLE_DECODER 0
- #define CONFIG_MSS1_DECODER 0
-@@ -293,7 +287,6 @@
- #define CONFIG_VBN_DECODER 0
- #define CONFIG_VBLE_DECODER 0
- #define CONFIG_VC1_DECODER 0
--#define CONFIG_VC1_CRYSTALHD_DECODER 0
- #define CONFIG_VC1IMAGE_DECODER 0
- #define CONFIG_VC1_MMAL_DECODER 0
- #define CONFIG_VC1_QSV_DECODER 0
-@@ -325,7 +318,6 @@
- #define CONFIG_WMV1_DECODER 0
- #define CONFIG_WMV2_DECODER 0
- #define CONFIG_WMV3_DECODER 0
--#define CONFIG_WMV3_CRYSTALHD_DECODER 0
- #define CONFIG_WMV3IMAGE_DECODER 0
- #define CONFIG_WNV1_DECODER 0
- #define CONFIG_XAN_WC3_DECODER 0
-@@ -592,6 +584,7 @@
- #define CONFIG_LIBGSM_MS_DECODER 0
- #define CONFIG_LIBILBC_DECODER 0
- #define CONFIG_LIBJXL_DECODER 0
-+#define CONFIG_LIBLC3_DECODER 0
- #define CONFIG_LIBOPENCORE_AMRNB_DECODER 0
- #define CONFIG_LIBOPENCORE_AMRWB_DECODER 0
- #define CONFIG_LIBOPUS_DECODER 1
-@@ -639,7 +632,6 @@
- #define CONFIG_ASV2_ENCODER 0
- #define CONFIG_AVRP_ENCODER 0
- #define CONFIG_AVUI_ENCODER 0
--#define CONFIG_AYUV_ENCODER 0
- #define CONFIG_BITPACKED_ENCODER 0
- #define CONFIG_BMP_ENCODER 0
- #define CONFIG_CFHD_ENCODER 0
-@@ -821,6 +813,7 @@
- #define CONFIG_LIBGSM_MS_ENCODER 0
- #define CONFIG_LIBILBC_ENCODER 0
- #define CONFIG_LIBJXL_ENCODER 0
-+#define CONFIG_LIBLC3_ENCODER 0
- #define CONFIG_LIBMP3LAME_ENCODER 0
- #define CONFIG_LIBOPENCORE_AMRNB_ENCODER 0
- #define CONFIG_LIBOPENJPEG_ENCODER 0
-@@ -1573,6 +1566,8 @@
- #define CONFIG_HSTACK_QSV_FILTER 0
- #define CONFIG_VSTACK_QSV_FILTER 0
- #define CONFIG_XSTACK_QSV_FILTER 0
-+#define CONFIG_PAD_VAAPI_FILTER 0
-+#define CONFIG_DRAWBOX_VAAPI_FILTER 0
- #define CONFIG_ALLRGB_FILTER 0
- #define CONFIG_ALLYUV_FILTER 0
- #define CONFIG_CELLAUTO_FILTER 0
-@@ -1706,6 +1701,7 @@
- #define CONFIG_DV_DEMUXER 0
- #define CONFIG_DVBSUB_DEMUXER 0
- #define CONFIG_DVBTXT_DEMUXER 0
-+#define CONFIG_DVDVIDEO_DEMUXER 0
- #define CONFIG_DXA_DEMUXER 0
- #define CONFIG_EA_DEMUXER 0
- #define CONFIG_EA_CDATA_DEMUXER 0
-@@ -1767,6 +1763,7 @@
- #define CONFIG_KUX_DEMUXER 0
- #define CONFIG_KVAG_DEMUXER 0
- #define CONFIG_LAF_DEMUXER 0
-+#define CONFIG_LC3_DEMUXER 0
- #define CONFIG_LMLM4_DEMUXER 0
- #define CONFIG_LOAS_DEMUXER 0
- #define CONFIG_LUODAT_DEMUXER 0
-@@ -1850,6 +1847,7 @@
- #define CONFIG_QOA_DEMUXER 0
- #define CONFIG_R3D_DEMUXER 0
- #define CONFIG_RAWVIDEO_DEMUXER 0
-+#define CONFIG_RCWT_DEMUXER 0
- #define CONFIG_REALTEXT_DEMUXER 0
- #define CONFIG_REDSPARK_DEMUXER 0
- #define CONFIG_RKA_DEMUXER 0
-@@ -1987,6 +1985,7 @@
- #define CONFIG_AC4_MUXER 0
- #define CONFIG_ADTS_MUXER 0
- #define CONFIG_ADX_MUXER 0
-+#define CONFIG_AEA_MUXER 0
- #define CONFIG_AIFF_MUXER 0
- #define CONFIG_ALP_MUXER 0
- #define CONFIG_AMR_MUXER 0
-@@ -2026,7 +2025,6 @@
- #define CONFIG_F4V_MUXER 0
- #define CONFIG_FFMETADATA_MUXER 0
- #define CONFIG_FIFO_MUXER 0
--#define CONFIG_FIFO_TEST_MUXER 0
- #define CONFIG_FILMSTRIP_MUXER 0
- #define CONFIG_FITS_MUXER 0
- #define CONFIG_FLAC_MUXER 0
-@@ -2060,6 +2058,7 @@
- #define CONFIG_JACOSUB_MUXER 0
- #define CONFIG_KVAG_MUXER 0
- #define CONFIG_LATM_MUXER 0
-+#define CONFIG_LC3_MUXER 0
- #define CONFIG_LRC_MUXER 0
- #define CONFIG_M4V_MUXER 0
- #define CONFIG_MD5_MUXER 0
-@@ -2162,6 +2161,7 @@
- #define CONFIG_WV_MUXER 0
- #define CONFIG_YUV4MPEGPIPE_MUXER 0
- #define CONFIG_CHROMAPRINT_MUXER 0
-+#define CONFIG_ANDROID_CONTENT_PROTOCOL 0
- #define CONFIG_ASYNC_PROTOCOL 0
- #define CONFIG_BLURAY_PROTOCOL 0
- #define CONFIG_CACHE_PROTOCOL 0
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/ios/arm64/libavformat/demuxer_list.c b/third_party/ffmpeg/chromium/config/Chromium/ios/arm64/libavformat/demuxer_list.c
---- a/third_party/ffmpeg/chromium/config/Chromium/ios/arm64/libavformat/demuxer_list.c 2024-08-13 10:43:45.235118600 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/ios/arm64/libavformat/demuxer_list.c 2024-08-19 01:29:21.000000000 +0100
-@@ -1,4 +1,4 @@
--static const AVInputFormat * const demuxer_list[] = {
-+static const FFInputFormat * const demuxer_list[] = {
- &ff_flac_demuxer,
- &ff_matroska_demuxer,
- &ff_mov_demuxer,
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/ios/arm64/libavutil/ffversion.h b/third_party/ffmpeg/chromium/config/Chromium/ios/arm64/libavutil/ffversion.h
---- a/third_party/ffmpeg/chromium/config/Chromium/ios/arm64/libavutil/ffversion.h 2024-08-13 10:43:45.235118600 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/ios/arm64/libavutil/ffversion.h 2024-08-19 01:29:21.000000000 +0100
-@@ -1,5 +1,5 @@
- /* Automatically generated by version.sh, do not manually edit! */
- #ifndef AVUTIL_FFVERSION_H
- #define AVUTIL_FFVERSION_H
--#define FFMPEG_VERSION "N-115016-g631703bfb9"
-+#define FFMPEG_VERSION "N-116569-gd0c8e13654"
- #endif /* AVUTIL_FFVERSION_H */
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/ios/x64/config.asm b/third_party/ffmpeg/chromium/config/Chromium/ios/x64/config.asm
---- a/third_party/ffmpeg/chromium/config/Chromium/ios/x64/config.asm 2024-08-13 10:43:45.235118600 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/ios/x64/config.asm 2024-08-19 01:29:21.000000000 +0100
-@@ -44,6 +44,7 @@
- %define HAVE_VSX 0
- %define HAVE_RV 0
- %define HAVE_RVV 0
-+%define HAVE_RV_ZVBB 0
- %define HAVE_AESNI 1
- %define HAVE_AMD3DNOW 1
- %define HAVE_AMD3DNOWEXT 1
-@@ -62,7 +63,6 @@
- %define HAVE_SSE42 1
- %define HAVE_SSSE3 1
- %define HAVE_XOP 1
--%define HAVE_CPUNOP 0
- %define HAVE_I686 1
- %define HAVE_MIPSFPU 0
- %define HAVE_MIPS32R2 0
-@@ -96,6 +96,7 @@
- %define HAVE_VSX_EXTERNAL 0
- %define HAVE_RV_EXTERNAL 0
- %define HAVE_RVV_EXTERNAL 0
-+%define HAVE_RV_ZVBB_EXTERNAL 0
- %define HAVE_AESNI_EXTERNAL 1
- %define HAVE_AMD3DNOW_EXTERNAL 1
+diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/x64/config.asm b/third_party/ffmpeg/chromium/config/Chrome/linux/x64/config.asm
+--- a/third_party/ffmpeg/chromium/config/Chrome/linux/x64/config.asm 2024-10-02 03:50:24.656325800 +0100
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/x64/config.asm 2024-10-05 16:34:43.816521179 +0100
+@@ -102,8 +102,8 @@
%define HAVE_AMD3DNOWEXT_EXTERNAL 1
-@@ -114,7 +115,6 @@
- %define HAVE_SSE42_EXTERNAL 1
- %define HAVE_SSSE3_EXTERNAL 1
- %define HAVE_XOP_EXTERNAL 1
--%define HAVE_CPUNOP_EXTERNAL 0
- %define HAVE_I686_EXTERNAL 0
- %define HAVE_MIPSFPU_EXTERNAL 0
- %define HAVE_MIPS32R2_EXTERNAL 0
-@@ -148,6 +148,7 @@
- %define HAVE_VSX_INLINE 0
- %define HAVE_RV_INLINE 0
- %define HAVE_RVV_INLINE 0
-+%define HAVE_RV_ZVBB_INLINE 0
- %define HAVE_AESNI_INLINE 1
- %define HAVE_AMD3DNOW_INLINE 1
- %define HAVE_AMD3DNOWEXT_INLINE 1
-@@ -166,7 +167,6 @@
- %define HAVE_SSE42_INLINE 1
- %define HAVE_SSSE3_INLINE 1
- %define HAVE_XOP_INLINE 1
--%define HAVE_CPUNOP_INLINE 0
- %define HAVE_I686_INLINE 0
- %define HAVE_MIPSFPU_INLINE 0
- %define HAVE_MIPS32R2_INLINE 0
-@@ -204,6 +204,7 @@
- %define HAVE_BIGENDIAN 0
- %define HAVE_FAST_UNALIGNED 1
- %define HAVE_ARPA_INET_H 0
-+%define HAVE_ASM_HWPROBE_H 0
- %define HAVE_ASM_TYPES_H 0
- %define HAVE_CDIO_PARANOIA_H 0
- %define HAVE_CDIO_PARANOIA_PARANOIA_H 0
-@@ -230,6 +231,7 @@
- %define HAVE_OPENGL_GL3_H 0
- %define HAVE_POLL_H 1
- %define HAVE_PTHREAD_NP_H 0
-+%define HAVE_SYS_HWPROBE_H 0
- %define HAVE_SYS_PARAM_H 1
- %define HAVE_SYS_RESOURCE_H 1
- %define HAVE_SYS_SELECT_H 1
-@@ -403,6 +405,7 @@
- %define HAVE_STRUCT_SOCKADDR_STORAGE 0
- %define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 0
- %define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 0
-+%define HAVE_STRUCT_MFXCONFIGINTERFACE 0
- %define HAVE_GZIP 1
- %define HAVE_LIBDRM_GETFB2 0
- %define HAVE_MAKEINFO 0
-@@ -413,6 +416,7 @@
- %define HAVE_OPENCL_DXVA2 0
- %define HAVE_OPENCL_VAAPI_BEIGNET 0
- %define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0
-+%define HAVE_OPENCL_VIDEOTOOLBOX 0
+ %define HAVE_AVX_EXTERNAL 1
+ %define HAVE_AVX2_EXTERNAL 1
+-%define HAVE_AVX512_EXTERNAL 1
+-%define HAVE_AVX512ICL_EXTERNAL 1
++%define HAVE_AVX512_EXTERNAL 0
++%define HAVE_AVX512ICL_EXTERNAL 0
+ %define HAVE_FMA3_EXTERNAL 1
+ %define HAVE_FMA4_EXTERNAL 1
+ %define HAVE_MMX_EXTERNAL 1
+@@ -366,7 +366,7 @@
+ %define HAVE_INLINE_ASM_LABELS 1
+ %define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
+ %define HAVE_PRAGMA_DEPRECATED 1
+-%define HAVE_RSYNC_CONTIMEOUT 1
++%define HAVE_RSYNC_CONTIMEOUT 0
+ %define HAVE_SYMVER_ASM_LABEL 1
+ %define HAVE_SYMVER_GNU_ASM 1
+ %define HAVE_VFP_ARGS 0
+@@ -420,7 +420,7 @@
%define HAVE_PERL 1
%define HAVE_POD2MAN 1
%define HAVE_TEXI2HTML 0
-@@ -452,6 +456,8 @@
- %define CONFIG_FREI0R 0
- %define CONFIG_LIBCDIO 0
- %define CONFIG_LIBDAVS2 0
-+%define CONFIG_LIBDVDNAV 0
-+%define CONFIG_LIBDVDREAD 0
- %define CONFIG_LIBRUBBERBAND 0
- %define CONFIG_LIBVIDSTAB 0
- %define CONFIG_LIBX264 0
-@@ -501,6 +507,7 @@
- %define CONFIG_LIBJXL 0
- %define CONFIG_LIBKLVANC 0
- %define CONFIG_LIBKVAZAAR 0
-+%define CONFIG_LIBLC3 0
- %define CONFIG_LIBMODPLUG 0
- %define CONFIG_LIBMP3LAME 0
- %define CONFIG_LIBMYSOFA 0
-@@ -531,6 +538,7 @@
- %define CONFIG_LIBTENSORFLOW 0
- %define CONFIG_LIBTESSERACT 0
- %define CONFIG_LIBTHEORA 0
-+%define CONFIG_LIBTORCH 0
- %define CONFIG_LIBTWOLAME 0
- %define CONFIG_LIBUAVS3D 0
- %define CONFIG_LIBV4L2 0
-@@ -580,7 +588,6 @@
- %define CONFIG_OPENCL 0
- %define CONFIG_AMF 0
- %define CONFIG_AUDIOTOOLBOX 0
--%define CONFIG_CRYSTALHD 0
- %define CONFIG_CUDA 0
- %define CONFIG_CUDA_LLVM 0
- %define CONFIG_CUVID 0
-@@ -624,6 +631,7 @@
- %define CONFIG_ERROR_RESILIENCE 0
- %define CONFIG_FAAN 0
- %define CONFIG_FAST_UNALIGNED 1
-+%define CONFIG_IAMF 0
- %define CONFIG_LSP 0
- %define CONFIG_PIXELUTILS 0
- %define CONFIG_NETWORK 0
-@@ -672,7 +680,8 @@
- %define CONFIG_DEFLATE_WRAPPER 0
- %define CONFIG_DIRAC_PARSE 1
- %define CONFIG_DNN 0
--%define CONFIG_DOVI_RPU 0
-+%define CONFIG_DOVI_RPUDEC 0
-+%define CONFIG_DOVI_RPUENC 0
- %define CONFIG_DVPROFILE 0
- %define CONFIG_EVCPARSE 0
- %define CONFIG_EXIF 0
-@@ -704,10 +713,12 @@
- %define CONFIG_INFLATE_WRAPPER 0
- %define CONFIG_INTRAX8 0
- %define CONFIG_ISO_MEDIA 1
-+%define CONFIG_ISO_WRITER 0
- %define CONFIG_IVIDSP 0
- %define CONFIG_JPEGTABLES 0
- %define CONFIG_LGPLV3 0
- %define CONFIG_LIBX262 0
-+%define CONFIG_LIBX264_HDR10 0
- %define CONFIG_LLAUDDSP 0
- %define CONFIG_LLVIDDSP 0
- %define CONFIG_LLVIDENCDSP 0
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/ios/x64/config.h b/third_party/ffmpeg/chromium/config/Chromium/ios/x64/config.h
---- a/third_party/ffmpeg/chromium/config/Chromium/ios/x64/config.h 2024-08-13 10:43:45.235118600 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/ios/x64/config.h 2024-08-19 01:29:21.000000000 +0100
-@@ -1,14 +1,13 @@
+-%define HAVE_XMLLINT 1
++%define HAVE_XMLLINT 0
+ %define HAVE_ZLIB_GZIP 0
+ %define HAVE_OPENVINO2 0
+ %define CONFIG_DOC 0
+diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/x64/config.h b/third_party/ffmpeg/chromium/config/Chrome/linux/x64/config.h
+--- a/third_party/ffmpeg/chromium/config/Chrome/linux/x64/config.h 2024-10-02 03:50:24.656325800 +0100
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/x64/config.h 2024-10-05 16:34:43.816521179 +0100
+@@ -1,12 +1,12 @@
/* Automatically generated by configure - do not modify! */
#ifndef FFMPEG_CONFIG_H
#define FFMPEG_CONFIG_H
--/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/usr/local/google/home/ezemtsov/projects/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-pic --cc=clang --cxx=clang++ --ld=clang --enable-cro
ss-compile --cc=clang --ld=ld64.lld --nm=llvm-nm --ar=llvm-ar --target-os=darwin --extra-cflags='--target=x86_64-apple-macosx' --extra-cflags=-F/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks --extra-cflags='-mmacosx-version-min=10.10' --extra-cflags=-fblocks --extra-cflags=-nostdinc --extra-cflags=-isystem/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include --extra-cflags=-isystem/usr/local/google/home/ezemtsov/projects/chromium/src/third_party/llvm-build/Release+Asserts/lib/clang/19/include --extra-ldflags=-syslibroot --extra-ldflags=/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk --extra-ldflags=-L/usr/local/google/home/ezemtsov/
projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib --extra-ldflags=-lSystem --extra-ldflags=-macosx_version_min --extra-ldflags=10.10 --extra-ldflags=-sdk_version --extra-ldflags=10.10 --extra-ldflags=-platform_version --extra-ldflags=macos --extra-ldflags=10.10 --extra-ldflags=10.10 --arch=x86_64 --extra-cflags=-m64 --extra-ldflags='-arch x86_64'" -- elide long configuration string from binary */
-+/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/usr/local/google/home/dalecurtis/code/chrome/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-pic --cc=clang --cxx=clang++ --ld=clang -
-enable-cross-compile --cc=clang --ld=ld64.lld --nm=llvm-nm --ar=llvm-ar --target-os=darwin --extra-cflags='--target=x86_64-apple-macosx' --extra-cflags=-F/usr/local/google/home/dalecurtis/code/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks --extra-cflags='-mmacosx-version-min=10.10' --extra-cflags=-fblocks --extra-cflags=-nostdinc --extra-cflags=-isystem/usr/local/google/home/dalecurtis/code/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include --extra-cflags=-isystem/usr/local/google/home/dalecurtis/code/chrome/src/third_party/llvm-build/Release+Asserts/lib/clang/19/include --extra-ldflags=-syslibroot --extra-ldflags=/usr/local/google/home/dalecurtis/code/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk --extra-ldflags=-L/usr/local/google/home/dalecurtis/cod
e/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib --extra-ldflags=-lSystem --extra-ldflags=-macosx_version_min --extra-ldflags=10.10 --extra-ldflags=-sdk_version --extra-ldflags=10.10 --extra-ldflags=-platform_version --extra-ldflags=macos --extra-ldflags=10.10 --extra-ldflags=10.10 --arch=x86_64 --extra-cflags=-m64 --extra-ldflags='-arch x86_64'" -- elide long configuration string from binary */
+-/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/usr/local/google/home/dalecurtis/code/chrome/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-lto --arch=x86_64 --target-os=linux --ena
ble-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
++/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/home/porter/Workspaces/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-lto --arch=x86_64 --target-os=linux --enable-pic --cc=
clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
#define FFMPEG_LICENSE "LGPL version 2.1 or later"
#define CONFIG_THIS_YEAR 2024
#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
#define AVCONV_DATADIR "/usr/local/share/ffmpeg"
--#define CC_IDENT "clang version 19.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project 7c4c274643cedcf9671e1db65361231a7d9bee70)"
-+#define CC_IDENT "clang version 19.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project 084e2b53d22c11e013b0a495b65d39aa7f934048)"
- #define OS_NAME darwin
--#define av_restrict restrict
- #define EXTERN_PREFIX "_"
- #define EXTERN_ASM _
- #define BUILDSUF ""
-@@ -59,6 +58,7 @@
- #define HAVE_VSX 0
- #define HAVE_RV 0
- #define HAVE_RVV 0
-+#define HAVE_RV_ZVBB 0
- #define HAVE_AESNI 1
- #define HAVE_AMD3DNOW 1
- #define HAVE_AMD3DNOWEXT 1
-@@ -77,7 +77,6 @@
- #define HAVE_SSE42 1
- #define HAVE_SSSE3 1
- #define HAVE_XOP 1
--#define HAVE_CPUNOP 0
- #define HAVE_I686 1
- #define HAVE_MIPSFPU 0
- #define HAVE_MIPS32R2 0
-@@ -111,6 +110,7 @@
- #define HAVE_VSX_EXTERNAL 0
- #define HAVE_RV_EXTERNAL 0
- #define HAVE_RVV_EXTERNAL 0
-+#define HAVE_RV_ZVBB_EXTERNAL 0
- #define HAVE_AESNI_EXTERNAL 1
- #define HAVE_AMD3DNOW_EXTERNAL 1
+-#define CC_IDENT "clang version 19.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project ecea8371ff03c15fb3dc27ee4108b98335fd2d63)"
++#define CC_IDENT "clang version 20.0.0git (https://chromium.googlesource.com/external/github.com/llvm/llvm-project 7088a5ed880f29129ec844c66068e8cb61ca98bf)"
+ #define OS_NAME linux
+ #define EXTERN_PREFIX ""
+ #define EXTERN_ASM
+@@ -116,8 +116,8 @@
#define HAVE_AMD3DNOWEXT_EXTERNAL 1
-@@ -129,7 +129,6 @@
- #define HAVE_SSE42_EXTERNAL 1
- #define HAVE_SSSE3_EXTERNAL 1
- #define HAVE_XOP_EXTERNAL 1
--#define HAVE_CPUNOP_EXTERNAL 0
- #define HAVE_I686_EXTERNAL 0
- #define HAVE_MIPSFPU_EXTERNAL 0
- #define HAVE_MIPS32R2_EXTERNAL 0
-@@ -163,6 +162,7 @@
- #define HAVE_VSX_INLINE 0
- #define HAVE_RV_INLINE 0
- #define HAVE_RVV_INLINE 0
-+#define HAVE_RV_ZVBB_INLINE 0
- #define HAVE_AESNI_INLINE 1
- #define HAVE_AMD3DNOW_INLINE 1
- #define HAVE_AMD3DNOWEXT_INLINE 1
-@@ -181,7 +181,6 @@
- #define HAVE_SSE42_INLINE 1
- #define HAVE_SSSE3_INLINE 1
- #define HAVE_XOP_INLINE 1
--#define HAVE_CPUNOP_INLINE 0
- #define HAVE_I686_INLINE 0
- #define HAVE_MIPSFPU_INLINE 0
- #define HAVE_MIPS32R2_INLINE 0
-@@ -219,6 +218,7 @@
- #define HAVE_BIGENDIAN 0
- #define HAVE_FAST_UNALIGNED 1
- #define HAVE_ARPA_INET_H 0
-+#define HAVE_ASM_HWPROBE_H 0
- #define HAVE_ASM_TYPES_H 0
- #define HAVE_CDIO_PARANOIA_H 0
- #define HAVE_CDIO_PARANOIA_PARANOIA_H 0
-@@ -245,6 +245,7 @@
- #define HAVE_OPENGL_GL3_H 0
- #define HAVE_POLL_H 1
- #define HAVE_PTHREAD_NP_H 0
-+#define HAVE_SYS_HWPROBE_H 0
- #define HAVE_SYS_PARAM_H 1
- #define HAVE_SYS_RESOURCE_H 1
- #define HAVE_SYS_SELECT_H 1
-@@ -418,6 +419,7 @@
- #define HAVE_STRUCT_SOCKADDR_STORAGE 0
- #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 0
- #define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 0
-+#define HAVE_STRUCT_MFXCONFIGINTERFACE 0
- #define HAVE_GZIP 1
- #define HAVE_LIBDRM_GETFB2 0
- #define HAVE_MAKEINFO 0
-@@ -428,6 +430,7 @@
- #define HAVE_OPENCL_DXVA2 0
- #define HAVE_OPENCL_VAAPI_BEIGNET 0
- #define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0
-+#define HAVE_OPENCL_VIDEOTOOLBOX 0
+ #define HAVE_AVX_EXTERNAL 1
+ #define HAVE_AVX2_EXTERNAL 1
+-#define HAVE_AVX512_EXTERNAL 1
+-#define HAVE_AVX512ICL_EXTERNAL 1
++#define HAVE_AVX512_EXTERNAL 0
++#define HAVE_AVX512ICL_EXTERNAL 0
+ #define HAVE_FMA3_EXTERNAL 1
+ #define HAVE_FMA4_EXTERNAL 1
+ #define HAVE_MMX_EXTERNAL 1
+@@ -380,7 +380,7 @@
+ #define HAVE_INLINE_ASM_LABELS 1
+ #define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
+ #define HAVE_PRAGMA_DEPRECATED 1
+-#define HAVE_RSYNC_CONTIMEOUT 1
++#define HAVE_RSYNC_CONTIMEOUT 0
+ #define HAVE_SYMVER_ASM_LABEL 1
+ #define HAVE_SYMVER_GNU_ASM 1
+ #define HAVE_VFP_ARGS 0
+@@ -434,7 +434,7 @@
#define HAVE_PERL 1
#define HAVE_POD2MAN 1
#define HAVE_TEXI2HTML 0
-@@ -467,6 +470,8 @@
- #define CONFIG_FREI0R 0
- #define CONFIG_LIBCDIO 0
- #define CONFIG_LIBDAVS2 0
-+#define CONFIG_LIBDVDNAV 0
-+#define CONFIG_LIBDVDREAD 0
- #define CONFIG_LIBRUBBERBAND 0
- #define CONFIG_LIBVIDSTAB 0
- #define CONFIG_LIBX264 0
-@@ -516,6 +521,7 @@
- #define CONFIG_LIBJXL 0
- #define CONFIG_LIBKLVANC 0
- #define CONFIG_LIBKVAZAAR 0
-+#define CONFIG_LIBLC3 0
- #define CONFIG_LIBMODPLUG 0
- #define CONFIG_LIBMP3LAME 0
- #define CONFIG_LIBMYSOFA 0
-@@ -546,6 +552,7 @@
- #define CONFIG_LIBTENSORFLOW 0
- #define CONFIG_LIBTESSERACT 0
- #define CONFIG_LIBTHEORA 0
-+#define CONFIG_LIBTORCH 0
- #define CONFIG_LIBTWOLAME 0
- #define CONFIG_LIBUAVS3D 0
- #define CONFIG_LIBV4L2 0
-@@ -595,7 +602,6 @@
- #define CONFIG_OPENCL 0
- #define CONFIG_AMF 0
- #define CONFIG_AUDIOTOOLBOX 0
--#define CONFIG_CRYSTALHD 0
- #define CONFIG_CUDA 0
- #define CONFIG_CUDA_LLVM 0
- #define CONFIG_CUVID 0
-@@ -639,6 +645,7 @@
- #define CONFIG_ERROR_RESILIENCE 0
- #define CONFIG_FAAN 0
- #define CONFIG_FAST_UNALIGNED 1
-+#define CONFIG_IAMF 0
- #define CONFIG_LSP 0
- #define CONFIG_PIXELUTILS 0
- #define CONFIG_NETWORK 0
-@@ -687,7 +694,8 @@
- #define CONFIG_DEFLATE_WRAPPER 0
- #define CONFIG_DIRAC_PARSE 1
- #define CONFIG_DNN 0
--#define CONFIG_DOVI_RPU 0
-+#define CONFIG_DOVI_RPUDEC 0
-+#define CONFIG_DOVI_RPUENC 0
- #define CONFIG_DVPROFILE 0
- #define CONFIG_EVCPARSE 0
- #define CONFIG_EXIF 0
-@@ -719,10 +727,12 @@
- #define CONFIG_INFLATE_WRAPPER 0
- #define CONFIG_INTRAX8 0
- #define CONFIG_ISO_MEDIA 1
-+#define CONFIG_ISO_WRITER 0
- #define CONFIG_IVIDSP 0
- #define CONFIG_JPEGTABLES 0
- #define CONFIG_LGPLV3 0
- #define CONFIG_LIBX262 0
-+#define CONFIG_LIBX264_HDR10 0
- #define CONFIG_LLAUDDSP 0
- #define CONFIG_LLVIDDSP 0
- #define CONFIG_LLVIDENCDSP 0
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/ios/x64/config_components.h b/third_party/ffmpeg/chromium/config/Chromium/ios/x64/config_components.h
---- a/third_party/ffmpeg/chromium/config/Chromium/ios/x64/config_components.h 2024-08-13 10:43:45.235118600 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/ios/x64/config_components.h 2024-08-19 01:29:21.000000000 +0100
-@@ -11,6 +11,7 @@
- #define CONFIG_DTS2PTS_BSF 0
- #define CONFIG_DV_ERROR_MARKER_BSF 0
- #define CONFIG_EAC3_CORE_BSF 0
-+#define CONFIG_EVC_FRAME_MERGE_BSF 0
- #define CONFIG_EXTRACT_EXTRADATA_BSF 0
- #define CONFIG_FILTER_UNITS_BSF 0
- #define CONFIG_H264_METADATA_BSF 0
-@@ -23,7 +24,6 @@
- #define CONFIG_MEDIA100_TO_MJPEGB_BSF 0
- #define CONFIG_MJPEG2JPEG_BSF 0
- #define CONFIG_MJPEGA_DUMP_HEADER_BSF 0
--#define CONFIG_MP3_HEADER_DECOMPRESS_BSF 0
- #define CONFIG_MPEG2_METADATA_BSF 0
- #define CONFIG_MPEG4_UNPACK_BFRAMES_BSF 0
- #define CONFIG_MOV2TEXTSUB_BSF 0
-@@ -45,7 +45,6 @@
- #define CONFIG_VP9_SUPERFRAME_SPLIT_BSF 0
- #define CONFIG_VVC_METADATA_BSF 0
- #define CONFIG_VVC_MP4TOANNEXB_BSF 0
--#define CONFIG_EVC_FRAME_MERGE_BSF 0
- #define CONFIG_AASC_DECODER 0
- #define CONFIG_AIC_DECODER 0
- #define CONFIG_ALIAS_PIX_DECODER 0
-@@ -64,7 +63,6 @@
- #define CONFIG_AVRN_DECODER 0
- #define CONFIG_AVS_DECODER 0
- #define CONFIG_AVUI_DECODER 0
--#define CONFIG_AYUV_DECODER 0
- #define CONFIG_BETHSOFTVID_DECODER 0
- #define CONFIG_BFI_DECODER 0
- #define CONFIG_BINK_DECODER 0
-@@ -131,7 +129,6 @@
- #define CONFIG_H263P_DECODER 0
- #define CONFIG_H263_V4L2M2M_DECODER 0
- #define CONFIG_H264_DECODER 0
--#define CONFIG_H264_CRYSTALHD_DECODER 0
- #define CONFIG_H264_V4L2M2M_DECODER 0
- #define CONFIG_H264_MEDIACODEC_DECODER 0
- #define CONFIG_H264_MMAL_DECODER 0
-@@ -179,13 +176,11 @@
- #define CONFIG_MPEG1VIDEO_DECODER 0
- #define CONFIG_MPEG2VIDEO_DECODER 0
- #define CONFIG_MPEG4_DECODER 0
--#define CONFIG_MPEG4_CRYSTALHD_DECODER 0
- #define CONFIG_MPEG4_V4L2M2M_DECODER 0
- #define CONFIG_MPEG4_MMAL_DECODER 0
- #define CONFIG_MPEGVIDEO_DECODER 0
- #define CONFIG_MPEG1_V4L2M2M_DECODER 0
- #define CONFIG_MPEG2_MMAL_DECODER 0
--#define CONFIG_MPEG2_CRYSTALHD_DECODER 0
- #define CONFIG_MPEG2_V4L2M2M_DECODER 0
- #define CONFIG_MPEG2_QSV_DECODER 0
- #define CONFIG_MPEG2_MEDIACODEC_DECODER 0
-@@ -194,7 +189,6 @@
- #define CONFIG_MSMPEG4V1_DECODER 0
- #define CONFIG_MSMPEG4V2_DECODER 0
- #define CONFIG_MSMPEG4V3_DECODER 0
--#define CONFIG_MSMPEG4_CRYSTALHD_DECODER 0
- #define CONFIG_MSP2_DECODER 0
- #define CONFIG_MSRLE_DECODER 0
- #define CONFIG_MSS1_DECODER 0
-@@ -293,7 +287,6 @@
- #define CONFIG_VBN_DECODER 0
- #define CONFIG_VBLE_DECODER 0
- #define CONFIG_VC1_DECODER 0
--#define CONFIG_VC1_CRYSTALHD_DECODER 0
- #define CONFIG_VC1IMAGE_DECODER 0
- #define CONFIG_VC1_MMAL_DECODER 0
- #define CONFIG_VC1_QSV_DECODER 0
-@@ -325,7 +318,6 @@
- #define CONFIG_WMV1_DECODER 0
- #define CONFIG_WMV2_DECODER 0
- #define CONFIG_WMV3_DECODER 0
--#define CONFIG_WMV3_CRYSTALHD_DECODER 0
- #define CONFIG_WMV3IMAGE_DECODER 0
- #define CONFIG_WNV1_DECODER 0
- #define CONFIG_XAN_WC3_DECODER 0
-@@ -592,6 +584,7 @@
- #define CONFIG_LIBGSM_MS_DECODER 0
- #define CONFIG_LIBILBC_DECODER 0
- #define CONFIG_LIBJXL_DECODER 0
-+#define CONFIG_LIBLC3_DECODER 0
- #define CONFIG_LIBOPENCORE_AMRNB_DECODER 0
- #define CONFIG_LIBOPENCORE_AMRWB_DECODER 0
- #define CONFIG_LIBOPUS_DECODER 1
-@@ -639,7 +632,6 @@
- #define CONFIG_ASV2_ENCODER 0
- #define CONFIG_AVRP_ENCODER 0
- #define CONFIG_AVUI_ENCODER 0
--#define CONFIG_AYUV_ENCODER 0
- #define CONFIG_BITPACKED_ENCODER 0
- #define CONFIG_BMP_ENCODER 0
- #define CONFIG_CFHD_ENCODER 0
-@@ -821,6 +813,7 @@
- #define CONFIG_LIBGSM_MS_ENCODER 0
- #define CONFIG_LIBILBC_ENCODER 0
- #define CONFIG_LIBJXL_ENCODER 0
-+#define CONFIG_LIBLC3_ENCODER 0
- #define CONFIG_LIBMP3LAME_ENCODER 0
- #define CONFIG_LIBOPENCORE_AMRNB_ENCODER 0
- #define CONFIG_LIBOPENJPEG_ENCODER 0
-@@ -1573,6 +1566,8 @@
- #define CONFIG_HSTACK_QSV_FILTER 0
- #define CONFIG_VSTACK_QSV_FILTER 0
- #define CONFIG_XSTACK_QSV_FILTER 0
-+#define CONFIG_PAD_VAAPI_FILTER 0
-+#define CONFIG_DRAWBOX_VAAPI_FILTER 0
- #define CONFIG_ALLRGB_FILTER 0
- #define CONFIG_ALLYUV_FILTER 0
- #define CONFIG_CELLAUTO_FILTER 0
-@@ -1706,6 +1701,7 @@
- #define CONFIG_DV_DEMUXER 0
- #define CONFIG_DVBSUB_DEMUXER 0
- #define CONFIG_DVBTXT_DEMUXER 0
-+#define CONFIG_DVDVIDEO_DEMUXER 0
- #define CONFIG_DXA_DEMUXER 0
- #define CONFIG_EA_DEMUXER 0
- #define CONFIG_EA_CDATA_DEMUXER 0
-@@ -1767,6 +1763,7 @@
- #define CONFIG_KUX_DEMUXER 0
- #define CONFIG_KVAG_DEMUXER 0
- #define CONFIG_LAF_DEMUXER 0
-+#define CONFIG_LC3_DEMUXER 0
- #define CONFIG_LMLM4_DEMUXER 0
- #define CONFIG_LOAS_DEMUXER 0
- #define CONFIG_LUODAT_DEMUXER 0
-@@ -1850,6 +1847,7 @@
- #define CONFIG_QOA_DEMUXER 0
- #define CONFIG_R3D_DEMUXER 0
- #define CONFIG_RAWVIDEO_DEMUXER 0
-+#define CONFIG_RCWT_DEMUXER 0
- #define CONFIG_REALTEXT_DEMUXER 0
- #define CONFIG_REDSPARK_DEMUXER 0
- #define CONFIG_RKA_DEMUXER 0
-@@ -1987,6 +1985,7 @@
- #define CONFIG_AC4_MUXER 0
- #define CONFIG_ADTS_MUXER 0
- #define CONFIG_ADX_MUXER 0
-+#define CONFIG_AEA_MUXER 0
- #define CONFIG_AIFF_MUXER 0
- #define CONFIG_ALP_MUXER 0
- #define CONFIG_AMR_MUXER 0
-@@ -2026,7 +2025,6 @@
- #define CONFIG_F4V_MUXER 0
- #define CONFIG_FFMETADATA_MUXER 0
- #define CONFIG_FIFO_MUXER 0
--#define CONFIG_FIFO_TEST_MUXER 0
- #define CONFIG_FILMSTRIP_MUXER 0
- #define CONFIG_FITS_MUXER 0
- #define CONFIG_FLAC_MUXER 0
-@@ -2060,6 +2058,7 @@
- #define CONFIG_JACOSUB_MUXER 0
- #define CONFIG_KVAG_MUXER 0
- #define CONFIG_LATM_MUXER 0
-+#define CONFIG_LC3_MUXER 0
- #define CONFIG_LRC_MUXER 0
- #define CONFIG_M4V_MUXER 0
- #define CONFIG_MD5_MUXER 0
-@@ -2162,6 +2161,7 @@
- #define CONFIG_WV_MUXER 0
- #define CONFIG_YUV4MPEGPIPE_MUXER 0
- #define CONFIG_CHROMAPRINT_MUXER 0
-+#define CONFIG_ANDROID_CONTENT_PROTOCOL 0
- #define CONFIG_ASYNC_PROTOCOL 0
- #define CONFIG_BLURAY_PROTOCOL 0
- #define CONFIG_CACHE_PROTOCOL 0
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/ios/x64/libavformat/demuxer_list.c b/third_party/ffmpeg/chromium/config/Chromium/ios/x64/libavformat/demuxer_list.c
---- a/third_party/ffmpeg/chromium/config/Chromium/ios/x64/libavformat/demuxer_list.c 2024-08-13 10:43:45.235118600 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/ios/x64/libavformat/demuxer_list.c 2024-08-19 01:29:21.000000000 +0100
-@@ -1,4 +1,4 @@
--static const AVInputFormat * const demuxer_list[] = {
-+static const FFInputFormat * const demuxer_list[] = {
- &ff_flac_demuxer,
- &ff_matroska_demuxer,
- &ff_mov_demuxer,
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/ios/x64/libavutil/ffversion.h b/third_party/ffmpeg/chromium/config/Chromium/ios/x64/libavutil/ffversion.h
---- a/third_party/ffmpeg/chromium/config/Chromium/ios/x64/libavutil/ffversion.h 2024-08-13 10:43:45.239119000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/ios/x64/libavutil/ffversion.h 2024-08-19 01:29:21.000000000 +0100
+-#define HAVE_XMLLINT 1
++#define HAVE_XMLLINT 0
+ #define HAVE_ZLIB_GZIP 0
+ #define HAVE_OPENVINO2 0
+ #define CONFIG_DOC 0
+diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/x64/libavutil/ffversion.h b/third_party/ffmpeg/chromium/config/Chrome/linux/x64/libavutil/ffversion.h
+--- a/third_party/ffmpeg/chromium/config/Chrome/linux/x64/libavutil/ffversion.h 2024-10-02 03:50:24.657326000 +0100
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/x64/libavutil/ffversion.h 2024-10-05 16:34:43.816521179 +0100
@@ -1,5 +1,5 @@
/* Automatically generated by version.sh, do not manually edit! */
#ifndef AVUTIL_FFVERSION_H
#define AVUTIL_FFVERSION_H
--#define FFMPEG_VERSION "N-115016-g631703bfb9"
-+#define FFMPEG_VERSION "N-116569-gd0c8e13654"
+-#define FFMPEG_VERSION "N-116575-gd941d9677b"
++#define FFMPEG_VERSION "git-2024-08-15-14d16cd143"
#endif /* AVUTIL_FFVERSION_H */
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h 2024-08-19 01:29:20.000000000 +0100
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h 2024-10-05 16:34:43.819854513 +0100
@@ -0,0 +1,782 @@
+/* Automatically generated by configure - do not modify! */
+#ifndef FFMPEG_CONFIG_H
+#define FFMPEG_CONFIG_H
-+/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/media/Recorded_TV/chrome/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --arch=riscv64 --extra-cflags='-march=rv64gc' --enable-cross-
compile --target-os=linux --sysroot=/media/Recorded_TV/chrome/chromium/src/build/linux/debian_sid_riscv64-sysroot --extra-cflags='--target=riscv64-linux-gnu' --extra-ldflags='--target=riscv64-linux-gnu' --enable-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld'" -- elide long configuration string from binary */
++/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/home/porter/Workspaces/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --arch=riscv64 --extra-cflags='-march=rv64gc' --enable-cross-co
mpile --target-os=linux --sysroot=/home/porter/Workspaces/chromium/src/build/linux/debian_sid_riscv64-sysroot --extra-cflags='--target=riscv64-linux-gnu' --extra-ldflags='--target=riscv64-linux-gnu' --enable-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld'" -- elide long configuration string from binary */
+#define FFMPEG_LICENSE "LGPL version 2.1 or later"
+#define CONFIG_THIS_YEAR 2024
+#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
+#define AVCONV_DATADIR "/usr/local/share/ffmpeg"
-+#define CC_IDENT "clang version 19.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project 084e2b53d22c11e013b0a495b65d39aa7f934048)"
++#define CC_IDENT "clang version 20.0.0git (https://chromium.googlesource.com/external/github.com/llvm/llvm-project 7088a5ed880f29129ec844c66068e8cb61ca98bf)"
+#define OS_NAME linux
+#define EXTERN_PREFIX ""
+#define EXTERN_ASM
@@ -5145,7 +3496,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define HAVE_OPENGL_GL3_H 0
+#define HAVE_POLL_H 1
+#define HAVE_PTHREAD_NP_H 0
-+#define HAVE_SYS_HWPROBE_H 0
++#define HAVE_SYS_HWPROBE_H 1
+#define HAVE_SYS_PARAM_H 1
+#define HAVE_SYS_RESOURCE_H 1
+#define HAVE_SYS_SELECT_H 1
@@ -5280,7 +3631,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define HAVE_INLINE_ASM_LABELS 1
+#define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
+#define HAVE_PRAGMA_DEPRECATED 1
-+#define HAVE_RSYNC_CONTIMEOUT 1
++#define HAVE_RSYNC_CONTIMEOUT 0
+#define HAVE_SYMVER_ASM_LABEL 1
+#define HAVE_SYMVER_GNU_ASM 1
+#define HAVE_VFP_ARGS 0
@@ -5682,7 +4033,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#endif /* FFMPEG_CONFIG_H */
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_components.h b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_components.h
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_components.h 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_components.h 2024-08-19 01:29:20.000000000 +0100
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_components.h 2024-10-05 16:34:43.823187846 +0100
@@ -0,0 +1,2218 @@
+/* Automatically generated by configure - do not modify! */
+#ifndef FFMPEG_CONFIG_COMPONENTS_H
@@ -7904,13 +6255,13 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#endif /* FFMPEG_CONFIG_COMPONENTS_H */
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/bsf_list.c b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/bsf_list.c
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/bsf_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/bsf_list.c 2024-08-19 01:29:20.000000000 +0100
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/bsf_list.c 2024-10-05 16:34:43.823187846 +0100
@@ -0,0 +1,2 @@
+static const FFBitStreamFilter * const bitstream_filters[] = {
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/codec_list.c b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/codec_list.c
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/codec_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/codec_list.c 2024-08-19 01:29:20.000000000 +0100
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/codec_list.c 2024-10-05 16:34:43.823187846 +0100
@@ -0,0 +1,15 @@
+static const FFCodec * const codec_list[] = {
+ &ff_flac_decoder,
@@ -7929,7 +6280,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/parser_list.c b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/parser_list.c
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/parser_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/parser_list.c 2024-08-19 01:29:20.000000000 +0100
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/parser_list.c 2024-10-05 16:34:43.823187846 +0100
@@ -0,0 +1,7 @@
+static const AVCodecParser * const parser_list[] = {
+ &ff_flac_parser,
@@ -7940,7 +6291,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/demuxer_list.c b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/demuxer_list.c
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/demuxer_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/demuxer_list.c 2024-08-19 01:29:20.000000000 +0100
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/demuxer_list.c 2024-10-05 16:34:43.823187846 +0100
@@ -0,0 +1,8 @@
+static const FFInputFormat * const demuxer_list[] = {
+ &ff_flac_demuxer,
@@ -7952,19 +6303,19 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/muxer_list.c b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/muxer_list.c
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/muxer_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/muxer_list.c 2024-08-19 01:29:20.000000000 +0100
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/muxer_list.c 2024-10-05 16:34:43.826521179 +0100
@@ -0,0 +1,2 @@
+static const FFOutputFormat * const muxer_list[] = {
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/protocol_list.c b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/protocol_list.c
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/protocol_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/protocol_list.c 2024-08-19 01:29:20.000000000 +0100
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/protocol_list.c 2024-10-05 16:34:43.826521179 +0100
@@ -0,0 +1,2 @@
+static const URLProtocol * const url_protocols[] = {
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/avconfig.h b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/avconfig.h
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/avconfig.h 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/avconfig.h 2024-08-19 01:29:20.000000000 +0100
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/avconfig.h 2024-10-05 16:34:43.826521179 +0100
@@ -0,0 +1,6 @@
+/* Generated by ffmpeg configure */
+#ifndef AVUTIL_AVCONFIG_H
@@ -7974,17 +6325,118 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#endif /* AVUTIL_AVCONFIG_H */
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/ffversion.h b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/ffversion.h
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/ffversion.h 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/ffversion.h 2024-08-19 01:29:20.000000000 +0100
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/ffversion.h 2024-10-05 16:34:43.826521179 +0100
@@ -0,0 +1,5 @@
+/* Automatically generated by version.sh, do not manually edit! */
+#ifndef AVUTIL_FFVERSION_H
+#define AVUTIL_FFVERSION_H
-+#define FFMPEG_VERSION "git-2024-05-24-bc1ee906ce"
++#define FFMPEG_VERSION "git-2024-08-15-14d16cd143"
+#endif /* AVUTIL_FFVERSION_H */
+diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.asm b/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.asm
+--- a/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.asm 2024-10-02 03:50:24.674327900 +0100
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.asm 2024-10-05 16:34:43.826521179 +0100
+@@ -102,8 +102,8 @@
+ %define HAVE_AMD3DNOWEXT_EXTERNAL 1
+ %define HAVE_AVX_EXTERNAL 1
+ %define HAVE_AVX2_EXTERNAL 1
+-%define HAVE_AVX512_EXTERNAL 1
+-%define HAVE_AVX512ICL_EXTERNAL 1
++%define HAVE_AVX512_EXTERNAL 0
++%define HAVE_AVX512ICL_EXTERNAL 0
+ %define HAVE_FMA3_EXTERNAL 1
+ %define HAVE_FMA4_EXTERNAL 1
+ %define HAVE_MMX_EXTERNAL 1
+@@ -366,7 +366,7 @@
+ %define HAVE_INLINE_ASM_LABELS 1
+ %define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
+ %define HAVE_PRAGMA_DEPRECATED 1
+-%define HAVE_RSYNC_CONTIMEOUT 1
++%define HAVE_RSYNC_CONTIMEOUT 0
+ %define HAVE_SYMVER_ASM_LABEL 1
+ %define HAVE_SYMVER_GNU_ASM 1
+ %define HAVE_VFP_ARGS 0
+@@ -420,7 +420,7 @@
+ %define HAVE_PERL 1
+ %define HAVE_POD2MAN 1
+ %define HAVE_TEXI2HTML 0
+-%define HAVE_XMLLINT 1
++%define HAVE_XMLLINT 0
+ %define HAVE_ZLIB_GZIP 0
+ %define HAVE_OPENVINO2 0
+ %define CONFIG_DOC 0
+diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h b/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h
+--- a/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h 2024-10-02 03:50:24.674327900 +0100
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h 2024-10-05 16:34:43.826521179 +0100
+@@ -1,12 +1,12 @@
+ /* Automatically generated by configure - do not modify! */
+ #ifndef FFMPEG_CONFIG_H
+ #define FFMPEG_CONFIG_H
+-/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/usr/local/google/home/dalecurtis/code/chrome/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-lto --arch=x86_64 --target-os=linux --ena
ble-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld'" -- elide long configuration string from binary */
++/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/home/porter/Workspaces/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-lto --arch=x86_64 --target-os=linux --enable-pic --cc=
clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld'" -- elide long configuration string from binary */
+ #define FFMPEG_LICENSE "LGPL version 2.1 or later"
+ #define CONFIG_THIS_YEAR 2024
+ #define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
+ #define AVCONV_DATADIR "/usr/local/share/ffmpeg"
+-#define CC_IDENT "clang version 19.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project ecea8371ff03c15fb3dc27ee4108b98335fd2d63)"
++#define CC_IDENT "clang version 20.0.0git (https://chromium.googlesource.com/external/github.com/llvm/llvm-project 7088a5ed880f29129ec844c66068e8cb61ca98bf)"
+ #define OS_NAME linux
+ #define EXTERN_PREFIX ""
+ #define EXTERN_ASM
+@@ -116,8 +116,8 @@
+ #define HAVE_AMD3DNOWEXT_EXTERNAL 1
+ #define HAVE_AVX_EXTERNAL 1
+ #define HAVE_AVX2_EXTERNAL 1
+-#define HAVE_AVX512_EXTERNAL 1
+-#define HAVE_AVX512ICL_EXTERNAL 1
++#define HAVE_AVX512_EXTERNAL 0
++#define HAVE_AVX512ICL_EXTERNAL 0
+ #define HAVE_FMA3_EXTERNAL 1
+ #define HAVE_FMA4_EXTERNAL 1
+ #define HAVE_MMX_EXTERNAL 1
+@@ -380,7 +380,7 @@
+ #define HAVE_INLINE_ASM_LABELS 1
+ #define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
+ #define HAVE_PRAGMA_DEPRECATED 1
+-#define HAVE_RSYNC_CONTIMEOUT 1
++#define HAVE_RSYNC_CONTIMEOUT 0
+ #define HAVE_SYMVER_ASM_LABEL 1
+ #define HAVE_SYMVER_GNU_ASM 1
+ #define HAVE_VFP_ARGS 0
+@@ -434,7 +434,7 @@
+ #define HAVE_PERL 1
+ #define HAVE_POD2MAN 1
+ #define HAVE_TEXI2HTML 0
+-#define HAVE_XMLLINT 1
++#define HAVE_XMLLINT 0
+ #define HAVE_ZLIB_GZIP 0
+ #define HAVE_OPENVINO2 0
+ #define CONFIG_DOC 0
+diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/x64/libavutil/ffversion.h b/third_party/ffmpeg/chromium/config/Chromium/linux/x64/libavutil/ffversion.h
+--- a/third_party/ffmpeg/chromium/config/Chromium/linux/x64/libavutil/ffversion.h 2024-10-02 03:50:24.675328000 +0100
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/x64/libavutil/ffversion.h 2024-10-05 16:34:43.829854513 +0100
+@@ -1,5 +1,5 @@
+ /* Automatically generated by version.sh, do not manually edit! */
+ #ifndef AVUTIL_FFVERSION_H
+ #define AVUTIL_FFVERSION_H
+-#define FFMPEG_VERSION "N-116575-gd941d9677b"
++#define FFMPEG_VERSION "git-2024-08-15-14d16cd143"
+ #endif /* AVUTIL_FFVERSION_H */
+diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/scripts/copy_config.sh b/third_party/ffmpeg/chromium/scripts/copy_config.sh
+--- a/third_party/ffmpeg/chromium/scripts/copy_config.sh 2024-10-02 03:50:24.681328800 +0100
++++ b/third_party/ffmpeg/chromium/scripts/copy_config.sh 2024-10-05 16:34:43.829854513 +0100
+@@ -10,7 +10,7 @@
+ # Copy config files for various architectures:
+ # - ia32/x64 have config.asm, config.h
+ # - arm/arm-neon have config.h
+- for arch in arm arm-neon arm64 ia32 x64 mipsel mips64el; do
++ for arch in arm arm-neon arm64 ia32 x64 mipsel mips64el riscv64; do
+ # Don't waste time on non-existent configs, if no config.h then skip.
+ [ ! -e "build.$arch.$os/$target/config.h" ] && continue
+ for f in config.h config_components.h config.asm libavutil/avconfig.h libavutil/ffversion.h libavcodec/bsf_list.c libavcodec/codec_list.c libavcodec/parser_list.c libavformat/demuxer_list.c libavformat/muxer_list.c libavformat/protocol_list.c; do
diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_party/ffmpeg/ffmpeg_generated.gni
---- a/third_party/ffmpeg/ffmpeg_generated.gni 2024-08-13 10:43:45.287123200 +0100
-+++ b/third_party/ffmpeg/ffmpeg_generated.gni 2024-08-18 23:57:20.000000000 +0100
-@@ -14,18 +14,12 @@
+--- a/third_party/ffmpeg/ffmpeg_generated.gni 2024-10-02 03:50:24.721333300 +0100
++++ b/third_party/ffmpeg/ffmpeg_generated.gni 2024-10-05 16:34:43.829854513 +0100
+@@ -14,10 +14,8 @@
use_linux_config = is_linux || is_chromeos || is_fuchsia
@@ -7992,119 +6444,24 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
- (is_android && current_cpu == "arm" && arm_use_neon) ||
- (is_android && current_cpu == "x86") || is_apple || is_win ||
- use_linux_config) {
-+if (use_linux_config && current_cpu == "riscv64") {
++if ((use_linux_config && current_cpu == "riscv64") ||
++ (use_linux_config && current_cpu == "x64")) {
ffmpeg_c_sources += [
"libavcodec/ac3_channel_layout_tab.c",
"libavcodec/ac3_parser.c",
- "libavcodec/adts_parser.c",
- "libavcodec/allcodecs.c",
-- "libavcodec/autorename_libavcodec_flacdsp.c",
-- "libavcodec/autorename_libavcodec_mpegaudiodsp.c",
-- "libavcodec/autorename_libavcodec_vorbisdsp.c",
- "libavcodec/avcodec.c",
- "libavcodec/avdct.c",
- "libavcodec/avfft.c",
-@@ -45,6 +39,7 @@
- "libavcodec/flac_parser.c",
- "libavcodec/flacdata.c",
- "libavcodec/flacdec.c",
-+ "libavcodec/flacdsp.c",
- "libavcodec/get_buffer.c",
- "libavcodec/golomb.c",
- "libavcodec/imgconvert.c",
-@@ -62,6 +57,7 @@
- "libavcodec/mpegaudiodec_common.c",
- "libavcodec/mpegaudiodec_fixed.c",
- "libavcodec/mpegaudiodecheader.c",
-+ "libavcodec/mpegaudiodsp.c",
- "libavcodec/mpegaudiodsp_data.c",
- "libavcodec/mpegaudiodsp_fixed.c",
- "libavcodec/mpegaudiodsp_float.c",
-@@ -80,6 +76,8 @@
- "libavcodec/qsv_api.c",
- "libavcodec/raw.c",
- "libavcodec/refstruct.c",
-+ "libavcodec/riscv/flacdsp_init.c",
-+ "libavcodec/riscv/vorbisdsp_init.c",
- "libavcodec/threadprogress.c",
- "libavcodec/to_upper4.c",
- "libavcodec/utils.c",
-@@ -89,6 +87,7 @@
- "libavcodec/vorbis_data.c",
- "libavcodec/vorbis_parser.c",
- "libavcodec/vorbisdec.c",
-+ "libavcodec/vorbisdsp.c",
- "libavcodec/vp9_parser.c",
- "libavcodec/xiph.c",
- "libavformat/allformats.c",
-@@ -143,11 +142,6 @@
- "libavutil/aes.c",
- "libavutil/aes_ctr.c",
- "libavutil/ambient_viewing_environment.c",
-- "libavutil/autorename_libavutil_cpu.c",
-- "libavutil/autorename_libavutil_fixed_dsp.c",
-- "libavutil/autorename_libavutil_float_dsp.c",
-- "libavutil/autorename_libavutil_imgutils.c",
-- "libavutil/autorename_libavutil_tx_float.c",
- "libavutil/autorename_libavutil_utils.c",
- "libavutil/autorename_libavutil_version.c",
- "libavutil/avstring.c",
-@@ -156,6 +150,7 @@
- "libavutil/buffer.c",
- "libavutil/camellia.c",
- "libavutil/channel_layout.c",
-+ "libavutil/cpu.c",
- "libavutil/crc.c",
- "libavutil/csp.c",
- "libavutil/detection_bbox.c",
-@@ -170,12 +165,15 @@
- "libavutil/fifo.c",
- "libavutil/file_open.c",
- "libavutil/film_grain_params.c",
-+ "libavutil/fixed_dsp.c",
-+ "libavutil/float_dsp.c",
- "libavutil/frame.c",
- "libavutil/hdr_dynamic_metadata.c",
- "libavutil/hdr_dynamic_vivid_metadata.c",
- "libavutil/hwcontext.c",
- "libavutil/hwcontext_stub.c",
- "libavutil/iamf.c",
-+ "libavutil/imgutils.c",
- "libavutil/integer.c",
- "libavutil/intmath.c",
- "libavutil/lfg.c",
-@@ -193,6 +191,9 @@
- "libavutil/random_seed.c",
- "libavutil/rational.c",
- "libavutil/reverse.c",
-+ "libavutil/riscv/autorename_libavutil_riscv_cpu.c",
-+ "libavutil/riscv/fixed_dsp_init.c",
-+ "libavutil/riscv/float_dsp_init.c",
- "libavutil/samplefmt.c",
- "libavutil/sha.c",
- "libavutil/slicethread.c",
-@@ -205,19 +206,36 @@
- "libavutil/timestamp.c",
- "libavutil/twofish.c",
- "libavutil/tx.c",
-+ "libavutil/tx_float.c",
- "libavutil/uuid.c",
- "libavutil/video_enc_params.c",
- "libavutil/video_hint.c",
+@@ -211,16 +209,26 @@
]
-+ ffmpeg_gas_sources += [
-+ "libavcodec/riscv/flacdsp_rvv.S",
-+ "libavcodec/riscv/vorbisdsp_rvv.S",
-+ "libavutil/riscv/fixed_dsp_rvv.S",
-+ "libavutil/riscv/float_dsp_rvv.S",
-+ ]
}
--if ((is_apple && ffmpeg_branding == "Chrome") ||
+-if ((current_cpu == "arm64" && ffmpeg_branding == "Chrome") ||
+- (current_cpu == "x64" && ffmpeg_branding == "Chrome") ||
+- (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") ||
+- (is_apple && ffmpeg_branding == "Chrome") ||
- (is_win && ffmpeg_branding == "Chrome") ||
- (use_linux_config && ffmpeg_branding == "Chrome")) {
-+if (use_linux_config && current_cpu == "riscv64" &&
-+ ffmpeg_branding == "Chrome") {
++if ((use_linux_config && current_cpu == "riscv64" &&
++ ffmpeg_branding == "Chrome") ||
++ (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "Chrome")) {
ffmpeg_c_sources += [
+ "libavcodec/aac/aacdec.c",
+ "libavcodec/aac/aacdec_float.c",
@@ -8118,13 +6475,14 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
+ "libavcodec/aactab.c",
+ "libavcodec/adts_header.c",
"libavcodec/atsc_a53.c",
-- "libavcodec/autorename_libavcodec_videodsp.c",
++ "libavcodec/autorename_libavcodec_sbrdsp.c",
+ "libavcodec/autorename_libavcodec_videodsp.c",
"libavcodec/cabac.c",
+ "libavcodec/cbrt_data.c",
"libavcodec/h2645_parse.c",
"libavcodec/h2645_sei.c",
"libavcodec/h2645_vui.c",
-@@ -242,253 +260,24 @@
+@@ -245,46 +253,27 @@
"libavcodec/h264pred.c",
"libavcodec/h264qpel.c",
"libavcodec/h274.c",
@@ -8132,37 +6490,6 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
- ]
-}
-
--if ((is_apple && current_cpu == "x64" && ffmpeg_branding == "Chrome") ||
-- (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") ||
-- (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") ||
-- (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "Chrome") ||
-- (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome")) {
-- ffmpeg_c_sources += [
-- "libavcodec/x86/autorename_libavcodec_x86_videodsp_init.c",
-- "libavcodec/x86/h264_intrapred_init.c",
-- "libavcodec/x86/h264_qpel.c",
-- "libavcodec/x86/h264chroma_init.c",
-- "libavcodec/x86/h264dsp_init.c",
-- ]
-- ffmpeg_asm_sources += [
-- "libavcodec/x86/autorename_libavcodec_x86_videodsp.asm",
-- "libavcodec/x86/fpel.asm",
-- "libavcodec/x86/h264_chromamc.asm",
-- "libavcodec/x86/h264_chromamc_10bit.asm",
-- "libavcodec/x86/h264_deblock.asm",
-- "libavcodec/x86/h264_deblock_10bit.asm",
-- "libavcodec/x86/h264_idct.asm",
-- "libavcodec/x86/h264_idct_10bit.asm",
-- "libavcodec/x86/h264_intrapred.asm",
-- "libavcodec/x86/h264_intrapred_10bit.asm",
-- "libavcodec/x86/h264_qpel_10bit.asm",
-- "libavcodec/x86/h264_qpel_8bit.asm",
-- "libavcodec/x86/h264_weight.asm",
-- "libavcodec/x86/h264_weight_10bit.asm",
-- "libavcodec/x86/qpel.asm",
-- ]
--}
--
-if ((current_cpu == "arm64" && ffmpeg_branding == "Chrome") ||
- (current_cpu == "x64" && ffmpeg_branding == "Chrome") ||
- (is_android && current_cpu == "arm" && arm_use_neon &&
@@ -8186,60 +6513,86 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
- "libavcodec/autorename_libavcodec_sbrdsp.c",
- "libavcodec/cbrt_data.c",
"libavcodec/kbdwin.c",
-+ "libavcodec/riscv/aacpsdsp_init.c",
-+ "libavcodec/riscv/h264_chroma_init_riscv.c",
-+ "libavcodec/riscv/h264dsp_init.c",
-+ "libavcodec/riscv/sbrdsp_init.c",
-+ "libavcodec/sbrdsp.c",
"libavcodec/sinewin.c",
+ "libavcodec/startcode.c",
-+ "libavcodec/videodsp.c",
"libavformat/apetag.c",
"libavformat/autorename_libavformat_aacdec.c",
"libavformat/img2.c",
]
--}
--
--if ((is_apple && current_cpu == "arm64" && ffmpeg_branding == "Chrome") ||
-- (is_win && current_cpu == "arm64" && ffmpeg_branding == "Chrome") ||
-- (use_linux_config && current_cpu == "arm64" &&
-- ffmpeg_branding == "Chrome")) {
-- ffmpeg_c_sources += [
+ }
+
+-if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") ||
+- (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") ||
+- (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome")) {
++if (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "Chrome") {
++ ffmpeg_c_sources += [
++ "libavcodec/x86/autorename_libavcodec_x86_aacpsdsp_init.c",
++ "libavcodec/x86/autorename_libavcodec_x86_h264dsp_init.c",
++ "libavcodec/x86/autorename_libavcodec_x86_sbrdsp_init.c",
++ "libavcodec/x86/h264_intrapred_init.c",
++ "libavcodec/x86/h264_qpel.c",
++ "libavcodec/x86/h264chroma_init.c",
++ "libavcodec/x86/videodsp_init.c",
++ ]
+ ffmpeg_asm_sources += [
+ "libavcodec/x86/aacpsdsp.asm",
+- "libavcodec/x86/autorename_libavcodec_x86_videodsp.asm",
+ "libavcodec/x86/fpel.asm",
+ "libavcodec/x86/h264_chromamc.asm",
+ "libavcodec/x86/h264_chromamc_10bit.asm",
+@@ -300,36 +289,23 @@
+ "libavcodec/x86/h264_weight_10bit.asm",
+ "libavcodec/x86/qpel.asm",
+ "libavcodec/x86/sbrdsp.asm",
++ "libavcodec/x86/videodsp.asm",
+ ]
+ }
+
+-if (current_cpu == "arm64" && ffmpeg_branding == "Chrome") {
++if (use_linux_config && current_cpu == "x64") {
+ ffmpeg_c_sources += [
+- "libavcodec/aarch64/aacpsdsp_init_aarch64.c",
+- "libavcodec/aarch64/autorename_libavcodec_aarch64_videodsp_init.c",
- "libavcodec/aarch64/h264chroma_init_aarch64.c",
- "libavcodec/aarch64/h264dsp_init_aarch64.c",
- "libavcodec/aarch64/h264pred_init.c",
- "libavcodec/aarch64/h264qpel_init_aarch64.c",
-- "libavcodec/aarch64/videodsp_init.c",
+- "libavcodec/aarch64/sbrdsp_init_aarch64.c",
- ]
- ffmpeg_gas_sources += [
+- ffmpeg_gas_sources += [
+- "libavcodec/aarch64/autorename_libavcodec_aarch64_aacpsdsp_neon.S",
- "libavcodec/aarch64/autorename_libavcodec_aarch64_h264cmc_neon.S",
- "libavcodec/aarch64/autorename_libavcodec_aarch64_h264dsp_neon.S",
- "libavcodec/aarch64/autorename_libavcodec_aarch64_h264idct_neon.S",
- "libavcodec/aarch64/autorename_libavcodec_aarch64_h264pred_neon.S",
- "libavcodec/aarch64/autorename_libavcodec_aarch64_h264qpel_neon.S",
- "libavcodec/aarch64/autorename_libavcodec_aarch64_hpeldsp_neon.S",
+- "libavcodec/aarch64/autorename_libavcodec_aarch64_sbrdsp_neon.S",
- "libavcodec/aarch64/videodsp.S",
-- ]
++ "libavcodec/x86/autorename_libavcodec_x86_flacdsp_init.c",
++ "libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c",
++ "libavcodec/x86/constants.c",
++ "libavcodec/x86/mpegaudiodsp.c",
++ "libavutil/x86/autorename_libavutil_x86_cpu.c",
++ "libavutil/x86/autorename_libavutil_x86_fixed_dsp_init.c",
++ "libavutil/x86/autorename_libavutil_x86_float_dsp_init.c",
++ "libavutil/x86/imgutils_init.c",
++ "libavutil/x86/lls_init.c",
++ "libavutil/x86/tx_float_init.c",
+ ]
-}
-
-if (current_cpu == "x64" || (is_win && current_cpu == "x86") ||
- (use_linux_config && current_cpu == "x86")) {
- ffmpeg_c_sources +=
- [ "libavutil/x86/autorename_libavutil_x86_tx_float_init.c" ]
-- ffmpeg_asm_sources += [
-- "libavcodec/x86/dct32.asm",
-- "libavcodec/x86/flacdsp.asm",
-- "libavcodec/x86/imdct36.asm",
-- "libavcodec/x86/vorbisdsp.asm",
-- "libavutil/x86/cpuid.asm",
-- "libavutil/x86/fixed_dsp.asm",
-- "libavutil/x86/float_dsp.asm",
-- "libavutil/x86/imgutils.asm",
-- "libavutil/x86/lls.asm",
-- "libavutil/x86/tx_float.asm",
-- ]
--}
--
+ ffmpeg_asm_sources += [
+ "libavcodec/x86/dct32.asm",
+ "libavcodec/x86/flacdsp.asm",
+@@ -344,133 +320,35 @@
+ ]
+ }
+
-if (current_cpu == "x64" || (is_android && current_cpu == "x86") ||
- (is_win && current_cpu == "x86") ||
- (use_linux_config && current_cpu == "x86")) {
@@ -8253,13 +6606,8 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
- "libavutil/x86/fixed_dsp_init.c",
- "libavutil/x86/imgutils_init.c",
- "libavutil/x86/lls_init.c",
-+ "libavcodec/riscv/aacpsdsp_rvv.S",
-+ "libavcodec/riscv/h264_mc_chroma.S",
-+ "libavcodec/riscv/sbrdsp_rvv.S",
-+ "libavcodec/riscv/startcode_rvb.S",
-+ "libavcodec/riscv/startcode_rvv.S",
- ]
- }
+- ]
+-}
-
-if ((is_android && current_cpu == "arm" && arm_use_neon) ||
- (use_linux_config && current_cpu == "arm" && arm_use_neon) ||
@@ -8312,8 +6660,24 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
- ]
-}
-
+-if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") ||
+- (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") ||
+- (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") ||
+- (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome")) {
+- ffmpeg_c_sources += [
+- "libavcodec/x86/aacpsdsp_init.c",
+- "libavcodec/x86/h264_intrapred_init.c",
+- "libavcodec/x86/h264_qpel.c",
+- "libavcodec/x86/h264chroma_init.c",
+- "libavcodec/x86/h264dsp_init.c",
+- "libavcodec/x86/sbrdsp_init.c",
+- "libavcodec/x86/videodsp_init.c",
+- ]
+-}
+-
-if (use_linux_config && current_cpu == "arm" && arm_use_neon &&
-- ffmpeg_branding == "Chrome") {
++if (use_linux_config && current_cpu == "riscv64" &&
+ ffmpeg_branding == "Chrome") {
- ffmpeg_gas_sources += [
- "libavcodec/arm/h264cmc_neon.S",
- "libavcodec/arm/h264dsp_neon.S",
@@ -8321,68 +6685,58 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
- "libavcodec/arm/h264pred_neon.S",
- "libavcodec/arm/h264qpel_neon.S",
- "libavcodec/arm/hpeldsp_neon.S",
-- ]
--}
--
--if (current_cpu == "arm64" && ffmpeg_branding == "Chrome") {
-- ffmpeg_c_sources += [
-- "libavcodec/aarch64/aacpsdsp_init_aarch64.c",
-- "libavcodec/aarch64/sbrdsp_init_aarch64.c",
-- ]
-- ffmpeg_gas_sources += [
-- "libavcodec/aarch64/autorename_libavcodec_aarch64_aacpsdsp_neon.S",
-- "libavcodec/aarch64/autorename_libavcodec_aarch64_sbrdsp_neon.S",
-- ]
++ ffmpeg_c_sources += [
++ "libavcodec/riscv/aacpsdsp_init.c",
++ "libavcodec/riscv/h264_chroma_init_riscv.c",
++ "libavcodec/riscv/h264dsp_init.c",
++ "libavcodec/riscv/sbrdsp_init.c",
+ ]
-}
-
-if ((is_android && current_cpu == "arm" && arm_use_neon) ||
- (use_linux_config && current_cpu == "arm" && arm_use_neon)) {
- ffmpeg_c_sources += [ "libavutil/arm/float_dsp_init_neon.c" ]
-- ffmpeg_gas_sources += [
+ ffmpeg_gas_sources += [
- "libavcodec/arm/vorbisdsp_neon.S",
- "libavutil/arm/float_dsp_neon.S",
-- ]
--}
--
--if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") ||
-- (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") ||
-- (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") ||
-- (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome")) {
-- ffmpeg_c_sources += [
-- "libavcodec/x86/aacpsdsp_init.c",
-- "libavcodec/x86/sbrdsp_init.c",
-- ]
--}
--
++ "libavcodec/riscv/aacpsdsp_rvv.S",
++ "libavcodec/riscv/h264_mc_chroma.S",
++ "libavcodec/riscv/sbrdsp_rvv.S",
++ "libavcodec/riscv/startcode_rvb.S",
++ "libavcodec/riscv/startcode_rvv.S",
+ ]
+ }
+
-if ((is_android && current_cpu == "arm" && arm_use_neon &&
- ffmpeg_branding == "Chrome") ||
- (use_linux_config && current_cpu == "arm" && arm_use_neon &&
- ffmpeg_branding == "Chrome") ||
- (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "Chrome")) {
-- ffmpeg_c_sources += [
++if (use_linux_config && current_cpu == "riscv64") {
+ ffmpeg_c_sources += [
- "libavcodec/arm/aacpsdsp_init_arm.c",
- "libavcodec/arm/sbrdsp_init_arm.c",
-- ]
--}
--
--if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") ||
-- (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") ||
-- (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome")) {
-- ffmpeg_asm_sources += [
-- "libavcodec/x86/aacpsdsp.asm",
-- "libavcodec/x86/sbrdsp.asm",
-- ]
++ "libavcodec/riscv/flacdsp_init.c",
++ "libavcodec/riscv/vorbisdsp_init.c",
++ "libavutil/riscv/cpu.c",
++ "libavutil/riscv/fixed_dsp_init.c",
++ "libavutil/riscv/float_dsp_init.c",
+ ]
-}
-
-if ((is_android && current_cpu == "arm" && arm_use_neon &&
- ffmpeg_branding == "Chrome") ||
- (use_linux_config && current_cpu == "arm" && arm_use_neon &&
- ffmpeg_branding == "Chrome")) {
-- ffmpeg_gas_sources += [
+ ffmpeg_gas_sources += [
- "libavcodec/arm/aacpsdsp_neon.S",
- "libavcodec/arm/sbrdsp_neon.S",
-- ]
--}
++ "libavcodec/riscv/flacdsp_rvv.S",
++ "libavcodec/riscv/vorbisdsp_rvv.S",
++ "libavutil/riscv/fixed_dsp_rvv.S",
++ "libavutil/riscv/float_dsp_rvv.S",
+ ]
+ }
-
-if ((is_android && current_cpu == "arm" && arm_use_neon) ||
- (is_android && current_cpu == "arm64") ||
@@ -8390,2396 +6744,180 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
- (is_android && current_cpu == "x86")) {
- ffmpeg_c_sources += [ "compat/strtod.c" ]
-}
+diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/autorename_libavcodec_flacdsp.c b/third_party/ffmpeg/libavcodec/autorename_libavcodec_flacdsp.c
+--- a/third_party/ffmpeg/libavcodec/autorename_libavcodec_flacdsp.c 2024-10-02 03:50:25.062372700 +0100
++++ b/third_party/ffmpeg/libavcodec/autorename_libavcodec_flacdsp.c 2024-10-05 16:34:43.829854513 +0100
+@@ -1,2 +1,2 @@
+-// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
++// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+ #include "flacdsp.c"
+diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/autorename_libavcodec_mpegaudiodsp.c b/third_party/ffmpeg/libavcodec/autorename_libavcodec_mpegaudiodsp.c
+--- a/third_party/ffmpeg/libavcodec/autorename_libavcodec_mpegaudiodsp.c 2024-10-02 03:50:25.062372700 +0100
++++ b/third_party/ffmpeg/libavcodec/autorename_libavcodec_mpegaudiodsp.c 2024-10-05 16:34:43.829854513 +0100
+@@ -1,2 +1,2 @@
+-// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
++// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+ #include "mpegaudiodsp.c"
+diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/autorename_libavcodec_sbrdsp.c b/third_party/ffmpeg/libavcodec/autorename_libavcodec_sbrdsp.c
+--- a/third_party/ffmpeg/libavcodec/autorename_libavcodec_sbrdsp.c 2024-10-02 03:50:25.063372600 +0100
++++ b/third_party/ffmpeg/libavcodec/autorename_libavcodec_sbrdsp.c 2024-10-05 16:34:43.829854513 +0100
+@@ -1,2 +1,2 @@
+-// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
++// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+ #include "sbrdsp.c"
+diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/autorename_libavcodec_videodsp.c b/third_party/ffmpeg/libavcodec/autorename_libavcodec_videodsp.c
+--- a/third_party/ffmpeg/libavcodec/autorename_libavcodec_videodsp.c 2024-10-02 03:50:25.063372600 +0100
++++ b/third_party/ffmpeg/libavcodec/autorename_libavcodec_videodsp.c 2024-10-05 16:34:43.829854513 +0100
+@@ -1,2 +1,2 @@
+-// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
++// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+ #include "videodsp.c"
+diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/autorename_libavcodec_vorbisdsp.c b/third_party/ffmpeg/libavcodec/autorename_libavcodec_vorbisdsp.c
+--- a/third_party/ffmpeg/libavcodec/autorename_libavcodec_vorbisdsp.c 2024-10-02 03:50:25.063372600 +0100
++++ b/third_party/ffmpeg/libavcodec/autorename_libavcodec_vorbisdsp.c 2024-10-05 16:34:43.829854513 +0100
+@@ -1,2 +1,2 @@
+-// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
++// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+ #include "vorbisdsp.c"
+diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_aacpsdsp_init.c b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_aacpsdsp_init.c
+--- a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_aacpsdsp_init.c 1970-01-01 01:00:00.000000000 +0100
++++ b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_aacpsdsp_init.c 2024-10-05 16:34:43.829854513 +0100
+@@ -0,0 +1,2 @@
++// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
++#include "aacpsdsp_init.c"
+diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_flacdsp_init.c b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_flacdsp_init.c
+--- a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_flacdsp_init.c 1970-01-01 01:00:00.000000000 +0100
++++ b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_flacdsp_init.c 2024-10-05 16:34:43.833187847 +0100
+@@ -0,0 +1,2 @@
++// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
++#include "flacdsp_init.c"
+diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_h264dsp_init.c b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_h264dsp_init.c
+--- a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_h264dsp_init.c 1970-01-01 01:00:00.000000000 +0100
++++ b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_h264dsp_init.c 2024-10-05 16:34:43.833187847 +0100
+@@ -0,0 +1,2 @@
++// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
++#include "h264dsp_init.c"
+diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_sbrdsp_init.c b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_sbrdsp_init.c
+--- a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_sbrdsp_init.c 1970-01-01 01:00:00.000000000 +0100
++++ b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_sbrdsp_init.c 2024-10-05 16:34:43.833187847 +0100
+@@ -0,0 +1,2 @@
++// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
++#include "sbrdsp_init.c"
+diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c
+--- a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c 2024-10-02 03:50:25.603434800 +0100
++++ b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c 2024-10-05 16:34:43.833187847 +0100
+@@ -1,2 +1,2 @@
+-// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
++// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+ #include "vorbisdsp_init.c"
diff '--color=auto' -Naur a/third_party/ffmpeg/libavformat/autorename_libavformat_aacdec.c b/third_party/ffmpeg/libavformat/autorename_libavformat_aacdec.c
---- a/third_party/ffmpeg/libavformat/autorename_libavformat_aacdec.c 2024-08-13 10:43:45.959181500 +0100
-+++ b/third_party/ffmpeg/libavformat/autorename_libavformat_aacdec.c 2024-08-18 23:57:15.000000000 +0100
+--- a/third_party/ffmpeg/libavformat/autorename_libavformat_aacdec.c 2024-10-02 03:50:25.818459500 +0100
++++ b/third_party/ffmpeg/libavformat/autorename_libavformat_aacdec.c 2024-10-05 16:34:43.833187847 +0100
@@ -1,2 +1,2 @@
--// Automatically generated on Tue May 21 22:27:37 2024. See crbug.com/495833.
-+// Automatically generated on Sun Aug 18 23:57:15 2024. See crbug.com/495833.
+-// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
++// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
#include "aacdec.c"
diff '--color=auto' -Naur a/third_party/ffmpeg/libavformat/autorename_libavformat_flacdec.c b/third_party/ffmpeg/libavformat/autorename_libavformat_flacdec.c
---- a/third_party/ffmpeg/libavformat/autorename_libavformat_flacdec.c 2024-08-13 10:43:45.959181500 +0100
-+++ b/third_party/ffmpeg/libavformat/autorename_libavformat_flacdec.c 2024-08-18 23:57:15.000000000 +0100
+--- a/third_party/ffmpeg/libavformat/autorename_libavformat_flacdec.c 2024-10-02 03:50:25.818459500 +0100
++++ b/third_party/ffmpeg/libavformat/autorename_libavformat_flacdec.c 2024-10-05 16:34:43.833187847 +0100
@@ -1,2 +1,2 @@
--// Automatically generated on Tue May 21 22:27:37 2024. See crbug.com/495833.
-+// Automatically generated on Sun Aug 18 23:57:15 2024. See crbug.com/495833.
+-// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
++// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
#include "flacdec.c"
diff '--color=auto' -Naur a/third_party/ffmpeg/libavformat/autorename_libavformat_options.c b/third_party/ffmpeg/libavformat/autorename_libavformat_options.c
---- a/third_party/ffmpeg/libavformat/autorename_libavformat_options.c 2024-08-13 10:43:45.959181500 +0100
-+++ b/third_party/ffmpeg/libavformat/autorename_libavformat_options.c 2024-08-18 23:57:15.000000000 +0100
+--- a/third_party/ffmpeg/libavformat/autorename_libavformat_options.c 2024-10-02 03:50:25.818459500 +0100
++++ b/third_party/ffmpeg/libavformat/autorename_libavformat_options.c 2024-10-05 16:34:43.833187847 +0100
@@ -1,2 +1,2 @@
--// Automatically generated on Tue May 21 22:27:37 2024. See crbug.com/495833.
-+// Automatically generated on Sun Aug 18 23:57:15 2024. See crbug.com/495833.
+-// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
++// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
#include "options.c"
diff '--color=auto' -Naur a/third_party/ffmpeg/libavformat/autorename_libavformat_pcm.c b/third_party/ffmpeg/libavformat/autorename_libavformat_pcm.c
---- a/third_party/ffmpeg/libavformat/autorename_libavformat_pcm.c 2024-08-13 10:43:45.959181500 +0100
-+++ b/third_party/ffmpeg/libavformat/autorename_libavformat_pcm.c 2024-08-18 23:57:15.000000000 +0100
+--- a/third_party/ffmpeg/libavformat/autorename_libavformat_pcm.c 2024-10-02 03:50:25.818459500 +0100
++++ b/third_party/ffmpeg/libavformat/autorename_libavformat_pcm.c 2024-10-05 16:34:43.833187847 +0100
@@ -1,2 +1,2 @@
--// Automatically generated on Tue May 21 22:27:37 2024. See crbug.com/495833.
-+// Automatically generated on Sun Aug 18 23:57:15 2024. See crbug.com/495833.
+-// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
++// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
#include "pcm.c"
diff '--color=auto' -Naur a/third_party/ffmpeg/libavformat/autorename_libavformat_utils.c b/third_party/ffmpeg/libavformat/autorename_libavformat_utils.c
---- a/third_party/ffmpeg/libavformat/autorename_libavformat_utils.c 2024-08-13 10:43:45.959181500 +0100
-+++ b/third_party/ffmpeg/libavformat/autorename_libavformat_utils.c 2024-08-18 23:57:15.000000000 +0100
+--- a/third_party/ffmpeg/libavformat/autorename_libavformat_utils.c 2024-10-02 03:50:25.818459500 +0100
++++ b/third_party/ffmpeg/libavformat/autorename_libavformat_utils.c 2024-10-05 16:34:43.833187847 +0100
@@ -1,2 +1,2 @@
--// Automatically generated on Tue May 21 22:27:37 2024. See crbug.com/495833.
-+// Automatically generated on Sun Aug 18 23:57:15 2024. See crbug.com/495833.
+-// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
++// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
#include "utils.c"
diff '--color=auto' -Naur a/third_party/ffmpeg/libavformat/autorename_libavformat_version.c b/third_party/ffmpeg/libavformat/autorename_libavformat_version.c
---- a/third_party/ffmpeg/libavformat/autorename_libavformat_version.c 2024-08-13 10:43:45.959181500 +0100
-+++ b/third_party/ffmpeg/libavformat/autorename_libavformat_version.c 2024-08-18 23:57:15.000000000 +0100
+--- a/third_party/ffmpeg/libavformat/autorename_libavformat_version.c 2024-10-02 03:50:25.818459500 +0100
++++ b/third_party/ffmpeg/libavformat/autorename_libavformat_version.c 2024-10-05 16:34:43.833187847 +0100
@@ -1,2 +1,2 @@
--// Automatically generated on Tue May 21 22:27:37 2024. See crbug.com/495833.
-+// Automatically generated on Sun Aug 18 23:57:15 2024. See crbug.com/495833.
+-// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
++// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
#include "version.c"
+diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/autorename_libavutil_cpu.c b/third_party/ffmpeg/libavutil/autorename_libavutil_cpu.c
+--- a/third_party/ffmpeg/libavutil/autorename_libavutil_cpu.c 2024-10-02 03:50:25.950474700 +0100
++++ b/third_party/ffmpeg/libavutil/autorename_libavutil_cpu.c 2024-10-05 16:34:43.836521180 +0100
+@@ -1,2 +1,2 @@
+-// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
++// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+ #include "cpu.c"
+diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/autorename_libavutil_fixed_dsp.c b/third_party/ffmpeg/libavutil/autorename_libavutil_fixed_dsp.c
+--- a/third_party/ffmpeg/libavutil/autorename_libavutil_fixed_dsp.c 2024-10-02 03:50:25.950474700 +0100
++++ b/third_party/ffmpeg/libavutil/autorename_libavutil_fixed_dsp.c 2024-10-05 16:34:43.836521180 +0100
+@@ -1,2 +1,2 @@
+-// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
++// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+ #include "fixed_dsp.c"
+diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/autorename_libavutil_float_dsp.c b/third_party/ffmpeg/libavutil/autorename_libavutil_float_dsp.c
+--- a/third_party/ffmpeg/libavutil/autorename_libavutil_float_dsp.c 2024-10-02 03:50:25.950474700 +0100
++++ b/third_party/ffmpeg/libavutil/autorename_libavutil_float_dsp.c 2024-10-05 16:34:43.836521180 +0100
+@@ -1,2 +1,2 @@
+-// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
++// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+ #include "float_dsp.c"
+diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/autorename_libavutil_imgutils.c b/third_party/ffmpeg/libavutil/autorename_libavutil_imgutils.c
+--- a/third_party/ffmpeg/libavutil/autorename_libavutil_imgutils.c 2024-10-02 03:50:25.950474700 +0100
++++ b/third_party/ffmpeg/libavutil/autorename_libavutil_imgutils.c 2024-10-05 16:34:43.836521180 +0100
+@@ -1,2 +1,2 @@
+-// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
++// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+ #include "imgutils.c"
+diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/autorename_libavutil_tx_float.c b/third_party/ffmpeg/libavutil/autorename_libavutil_tx_float.c
+--- a/third_party/ffmpeg/libavutil/autorename_libavutil_tx_float.c 2024-10-02 03:50:25.950474700 +0100
++++ b/third_party/ffmpeg/libavutil/autorename_libavutil_tx_float.c 2024-10-05 16:34:43.836521180 +0100
+@@ -1,2 +1,2 @@
+-// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
++// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+ #include "tx_float.c"
diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/autorename_libavutil_utils.c b/third_party/ffmpeg/libavutil/autorename_libavutil_utils.c
---- a/third_party/ffmpeg/libavutil/autorename_libavutil_utils.c 2024-08-13 10:43:46.075191700 +0100
-+++ b/third_party/ffmpeg/libavutil/autorename_libavutil_utils.c 2024-08-18 23:57:15.000000000 +0100
+--- a/third_party/ffmpeg/libavutil/autorename_libavutil_utils.c 2024-10-02 03:50:25.950474700 +0100
++++ b/third_party/ffmpeg/libavutil/autorename_libavutil_utils.c 2024-10-05 16:34:43.836521180 +0100
@@ -1,2 +1,2 @@
--// Automatically generated on Tue May 21 22:27:37 2024. See crbug.com/495833.
-+// Automatically generated on Sun Aug 18 23:57:15 2024. See crbug.com/495833.
+-// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
++// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
#include "utils.c"
diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/autorename_libavutil_version.c b/third_party/ffmpeg/libavutil/autorename_libavutil_version.c
---- a/third_party/ffmpeg/libavutil/autorename_libavutil_version.c 2024-08-13 10:43:46.075191700 +0100
-+++ b/third_party/ffmpeg/libavutil/autorename_libavutil_version.c 2024-08-18 23:57:15.000000000 +0100
+--- a/third_party/ffmpeg/libavutil/autorename_libavutil_version.c 2024-10-02 03:50:25.950474700 +0100
++++ b/third_party/ffmpeg/libavutil/autorename_libavutil_version.c 2024-10-05 16:34:43.836521180 +0100
@@ -1,2 +1,2 @@
--// Automatically generated on Tue May 21 22:27:37 2024. See crbug.com/495833.
-+// Automatically generated on Sun Aug 18 23:57:15 2024. See crbug.com/495833.
+-// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
++// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
#include "version.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/riscv/autorename_libavutil_riscv_cpu.c b/third_party/ffmpeg/libavutil/riscv/autorename_libavutil_riscv_cpu.c
---- a/third_party/ffmpeg/libavutil/riscv/autorename_libavutil_riscv_cpu.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/libavutil/riscv/autorename_libavutil_riscv_cpu.c 2024-08-18 23:57:15.000000000 +0100
+diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_cpu.c b/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_cpu.c
+--- a/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_cpu.c 2024-10-02 03:50:25.987479000 +0100
++++ b/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_cpu.c 2024-10-05 16:34:43.836521180 +0100
+@@ -1,2 +1,2 @@
+-// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
++// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+ #include "cpu.c"
+diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_fixed_dsp_init.c b/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_fixed_dsp_init.c
+--- a/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_fixed_dsp_init.c 1970-01-01 01:00:00.000000000 +0100
++++ b/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_fixed_dsp_init.c 2024-10-05 16:34:43.836521180 +0100
@@ -0,0 +1,2 @@
-+// Automatically generated on Sun Aug 18 23:57:15 2024. See crbug.com/495833.
-+#include "cpu.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/riscv-ffmpeg.patch b/third_party/ffmpeg/riscv-ffmpeg.patch
---- a/third_party/ffmpeg/riscv-ffmpeg.patch 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/riscv-ffmpeg.patch 2024-08-19 02:20:10.000000000 +0100
-@@ -0,0 +1,2327 @@
-+ CREDITS.chromium | 81 ++++--
-+ chromium/config/Chrome/ios/arm64/config.h | 26 +-
-+ .../config/Chrome/ios/arm64/config_components.h | 22 +-
-+ .../Chrome/ios/arm64/libavformat/demuxer_list.c | 2 +-
-+ .../config/Chrome/ios/arm64/libavutil/ffversion.h | 2 +-
-+ chromium/config/Chrome/ios/x64/config.asm | 21 +-
-+ chromium/config/Chrome/ios/x64/config.h | 26 +-
-+ chromium/config/Chrome/ios/x64/config_components.h | 22 +-
-+ .../Chrome/ios/x64/libavformat/demuxer_list.c | 2 +-
-+ .../config/Chrome/ios/x64/libavutil/ffversion.h | 2 +-
-+ chromium/config/Chromium/ios/arm64/config.h | 26 +-
-+ .../config/Chromium/ios/arm64/config_components.h | 22 +-
-+ .../Chromium/ios/arm64/libavformat/demuxer_list.c | 2 +-
-+ .../Chromium/ios/arm64/libavutil/ffversion.h | 2 +-
-+ chromium/config/Chromium/ios/x64/config.asm | 21 +-
-+ chromium/config/Chromium/ios/x64/config.h | 26 +-
-+ .../config/Chromium/ios/x64/config_components.h | 22 +-
-+ .../Chromium/ios/x64/libavformat/demuxer_list.c | 2 +-
-+ .../config/Chromium/ios/x64/libavutil/ffversion.h | 2 +-
-+ ffmpeg_generated.gni | 303 ++++-----------------
-+ libavformat/autorename_libavformat_aacdec.c | 2 +-
-+ libavformat/autorename_libavformat_flacdec.c | 2 +-
-+ libavformat/autorename_libavformat_options.c | 2 +-
-+ libavformat/autorename_libavformat_pcm.c | 2 +-
-+ libavformat/autorename_libavformat_utils.c | 2 +-
-+ libavformat/autorename_libavformat_version.c | 2 +-
-+ libavutil/autorename_libavutil_utils.c | 2 +-
-+ libavutil/autorename_libavutil_version.c | 2 +-
-+ 28 files changed, 266 insertions(+), 384 deletions(-)
-+
-+diff --git a/CREDITS.chromium b/CREDITS.chromium
-+index ccd7f4afa5..e12dcc247a 100644
-+--- a/CREDITS.chromium
-++++ b/CREDITS.chromium
-+@@ -129,6 +129,62 @@ incompatible with the GPLv2 and v3. To the best of our knowledge, they are
-+ compatible with the LGPL.
-+
-+
-++********************************************************************************
-++
-++libavcodec/riscv/startcode_rvb.S
-++
-++Copyright © 2024 Rémi Denis-Courmont.
-++
-++Redistribution and use in source and binary forms, with or without
-++modification, are permitted provided that the following conditions are met:
-++
-++1. Redistributions of source code must retain the above copyright notice,
-++this list of conditions and the following disclaimer.
-++
-++2. Redistributions in binary form must reproduce the above copyright notice,
-++this list of conditions and the following disclaimer in the documentation
-++and/or other materials provided with the distribution.
-++
-++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-++AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-++IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-++ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-++LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-++CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-++SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-++INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-++CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-++ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-++POSSIBILITY OF SUCH DAMAGE.
-++
-++********************************************************************************
-++
-++libavcodec/riscv/startcode_rvv.S
-++
-++Copyright © 2024 Rémi Denis-Courmont.
-++
-++Redistribution and use in source and binary forms, with or without
-++modification, are permitted provided that the following conditions are met:
-++
-++1. Redistributions of source code must retain the above copyright notice,
-++this list of conditions and the following disclaimer.
-++
-++2. Redistributions in binary form must reproduce the above copyright notice,
-++this list of conditions and the following disclaimer in the documentation
-++and/or other materials provided with the distribution.
-++
-++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-++AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-++IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-++ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-++LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-++CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-++SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-++INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-++CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-++ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-++POSSIBILITY OF SUCH DAMAGE.
-++
-+ ********************************************************************************
-+
-+ libavformat/oggparsetheora.c
-+@@ -157,31 +213,6 @@ DEALINGS IN THE SOFTWARE.
-+
-+ ********************************************************************************
-+
-+-libavutil/x86/x86inc.asm
-+-
-+-x86inc.asm: x86 abstraction layer
-+-
-+- Copyright (C) 2005-2024 x264 project
-+-
-+- Authors: Loren Merritt <lorenm@u.washington.edu>
-+- Henrik Gramner <henrik@gramner.com>
-+- Anton Mitrofanov <BugMaster@narod.ru>
-+- Fiona Glaser <fiona@x264.com>
-+-
-+- Permission to use, copy, modify, and/or distribute this software for any
-+- purpose with or without fee is hereby granted, provided that the above
-+- copyright notice and this permission notice appear in all copies.
-+-
-+- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-+- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-+- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-+- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-+- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+-
-+-********************************************************************************
-+-
-+ libavcodec/mips/compute_antialias_fixed.h
-+ libavcodec/mips/compute_antialias_float.h
-+ libavutil/fixed_dsp.c
-+diff --git a/chromium/config/Chrome/ios/arm64/config.h b/chromium/config/Chrome/ios/arm64/config.h
-+index a9b33e0a22..5a1a06ad85 100644
-+--- a/chromium/config/Chrome/ios/arm64/config.h
-++++ b/chromium/config/Chrome/ios/arm64/config.h
-+@@ -1,14 +1,13 @@
-+ /* Automatically generated by configure - do not modify! */
-+ #ifndef FFMPEG_CONFIG_H
-+ #define FFMPEG_CONFIG_H
-+-/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/usr/local/google/home/ezemtsov/projects/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-pic --cc=clang --cxx=clang++ --ld=clang --enable-cr
oss-compile --cc=clang --ld=ld64.lld --nm=llvm-nm --ar=llvm-ar --target-os=darwin --extra-cflags='--target=arm64-apple-macosx' --extra-cflags=-F/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks --extra-cflags='-mmacosx-version-min=10.10' --extra-cflags=-fblocks --extra-cflags=-nostdinc --extra-cflags=-isystem/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include --extra-cflags=-isystem/usr/local/google/home/ezemtsov/projects/chromium/src/third_party/llvm-build/Release+Asserts/lib/clang/19/include --extra-ldflags=-syslibroot --extra-ldflags=/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk --extra-ldflags=-L/usr/local/google/home/ezemtsov/
projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib --extra-ldflags=-lSystem --extra-ldflags=-macosx_version_min --extra-ldflags=10.10 --extra-ldflags=-sdk_version --extra-ldflags=10.10 --extra-ldflags=-platform_version --extra-ldflags=macos --extra-ldflags=10.10 --extra-ldflags=10.10 --arch=arm64 --extra-cflags='-arch arm64' --extra-ldflags='-arch arm64' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
-++/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/usr/local/google/home/dalecurtis/code/chrome/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-pic --cc=clang --cxx=clang++ --ld=clang
--enable-cross-compile --cc=clang --ld=ld64.lld --nm=llvm-nm --ar=llvm-ar --target-os=darwin --extra-cflags='--target=arm64-apple-macosx' --extra-cflags=-F/usr/local/google/home/dalecurtis/code/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks --extra-cflags='-mmacosx-version-min=10.10' --extra-cflags=-fblocks --extra-cflags=-nostdinc --extra-cflags=-isystem/usr/local/google/home/dalecurtis/code/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include --extra-cflags=-isystem/usr/local/google/home/dalecurtis/code/chrome/src/third_party/llvm-build/Release+Asserts/lib/clang/19/include --extra-ldflags=-syslibroot --extra-ldflags=/usr/local/google/home/dalecurtis/code/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk --extra-ldflags=-L/usr/local/google/home/dalecurtis/cod
e/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib --extra-ldflags=-lSystem --extra-ldflags=-macosx_version_min --extra-ldflags=10.10 --extra-ldflags=-sdk_version --extra-ldflags=10.10 --extra-ldflags=-platform_version --extra-ldflags=macos --extra-ldflags=10.10 --extra-ldflags=10.10 --arch=arm64 --extra-cflags='-arch arm64' --extra-ldflags='-arch arm64' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
-+ #define FFMPEG_LICENSE "LGPL version 2.1 or later"
-+ #define CONFIG_THIS_YEAR 2024
-+ #define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
-+ #define AVCONV_DATADIR "/usr/local/share/ffmpeg"
-+-#define CC_IDENT "clang version 19.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project 7c4c274643cedcf9671e1db65361231a7d9bee70)"
-++#define CC_IDENT "clang version 19.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project 084e2b53d22c11e013b0a495b65d39aa7f934048)"
-+ #define OS_NAME darwin
-+-#define av_restrict restrict
-+ #define EXTERN_PREFIX "_"
-+ #define EXTERN_ASM _
-+ #define BUILDSUF ""
-+@@ -60,6 +59,7 @@
-+ #define HAVE_VSX 0
-+ #define HAVE_RV 0
-+ #define HAVE_RVV 0
-++#define HAVE_RV_ZVBB 0
-+ #define HAVE_AESNI 0
-+ #define HAVE_AMD3DNOW 0
-+ #define HAVE_AMD3DNOWEXT 0
-+@@ -78,7 +78,6 @@
-+ #define HAVE_SSE42 0
-+ #define HAVE_SSSE3 0
-+ #define HAVE_XOP 0
-+-#define HAVE_CPUNOP 0
-+ #define HAVE_I686 0
-+ #define HAVE_MIPSFPU 0
-+ #define HAVE_MIPS32R2 0
-+@@ -112,6 +111,7 @@
-+ #define HAVE_VSX_EXTERNAL 0
-+ #define HAVE_RV_EXTERNAL 0
-+ #define HAVE_RVV_EXTERNAL 0
-++#define HAVE_RV_ZVBB_EXTERNAL 0
-+ #define HAVE_AESNI_EXTERNAL 0
-+ #define HAVE_AMD3DNOW_EXTERNAL 0
-+ #define HAVE_AMD3DNOWEXT_EXTERNAL 0
-+@@ -130,7 +130,6 @@
-+ #define HAVE_SSE42_EXTERNAL 0
-+ #define HAVE_SSSE3_EXTERNAL 0
-+ #define HAVE_XOP_EXTERNAL 0
-+-#define HAVE_CPUNOP_EXTERNAL 0
-+ #define HAVE_I686_EXTERNAL 0
-+ #define HAVE_MIPSFPU_EXTERNAL 0
-+ #define HAVE_MIPS32R2_EXTERNAL 0
-+@@ -164,6 +163,7 @@
-+ #define HAVE_VSX_INLINE 0
-+ #define HAVE_RV_INLINE 0
-+ #define HAVE_RVV_INLINE 0
-++#define HAVE_RV_ZVBB_INLINE 0
-+ #define HAVE_AESNI_INLINE 0
-+ #define HAVE_AMD3DNOW_INLINE 0
-+ #define HAVE_AMD3DNOWEXT_INLINE 0
-+@@ -182,7 +182,6 @@
-+ #define HAVE_SSE42_INLINE 0
-+ #define HAVE_SSSE3_INLINE 0
-+ #define HAVE_XOP_INLINE 0
-+-#define HAVE_CPUNOP_INLINE 0
-+ #define HAVE_I686_INLINE 0
-+ #define HAVE_MIPSFPU_INLINE 0
-+ #define HAVE_MIPS32R2_INLINE 0
-+@@ -220,6 +219,7 @@
-+ #define HAVE_BIGENDIAN 0
-+ #define HAVE_FAST_UNALIGNED 1
-+ #define HAVE_ARPA_INET_H 0
-++#define HAVE_ASM_HWPROBE_H 0
-+ #define HAVE_ASM_TYPES_H 0
-+ #define HAVE_CDIO_PARANOIA_H 0
-+ #define HAVE_CDIO_PARANOIA_PARANOIA_H 0
-+@@ -246,6 +246,7 @@
-+ #define HAVE_OPENGL_GL3_H 0
-+ #define HAVE_POLL_H 1
-+ #define HAVE_PTHREAD_NP_H 0
-++#define HAVE_SYS_HWPROBE_H 0
-+ #define HAVE_SYS_PARAM_H 1
-+ #define HAVE_SYS_RESOURCE_H 1
-+ #define HAVE_SYS_SELECT_H 1
-+@@ -419,6 +420,7 @@
-+ #define HAVE_STRUCT_SOCKADDR_STORAGE 0
-+ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 0
-+ #define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 0
-++#define HAVE_STRUCT_MFXCONFIGINTERFACE 0
-+ #define HAVE_GZIP 1
-+ #define HAVE_LIBDRM_GETFB2 0
-+ #define HAVE_MAKEINFO 0
-+@@ -429,6 +431,7 @@
-+ #define HAVE_OPENCL_DXVA2 0
-+ #define HAVE_OPENCL_VAAPI_BEIGNET 0
-+ #define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0
-++#define HAVE_OPENCL_VIDEOTOOLBOX 0
-+ #define HAVE_PERL 1
-+ #define HAVE_POD2MAN 1
-+ #define HAVE_TEXI2HTML 0
-+@@ -468,6 +471,8 @@
-+ #define CONFIG_FREI0R 0
-+ #define CONFIG_LIBCDIO 0
-+ #define CONFIG_LIBDAVS2 0
-++#define CONFIG_LIBDVDNAV 0
-++#define CONFIG_LIBDVDREAD 0
-+ #define CONFIG_LIBRUBBERBAND 0
-+ #define CONFIG_LIBVIDSTAB 0
-+ #define CONFIG_LIBX264 0
-+@@ -517,6 +522,7 @@
-+ #define CONFIG_LIBJXL 0
-+ #define CONFIG_LIBKLVANC 0
-+ #define CONFIG_LIBKVAZAAR 0
-++#define CONFIG_LIBLC3 0
-+ #define CONFIG_LIBMODPLUG 0
-+ #define CONFIG_LIBMP3LAME 0
-+ #define CONFIG_LIBMYSOFA 0
-+@@ -547,6 +553,7 @@
-+ #define CONFIG_LIBTENSORFLOW 0
-+ #define CONFIG_LIBTESSERACT 0
-+ #define CONFIG_LIBTHEORA 0
-++#define CONFIG_LIBTORCH 0
-+ #define CONFIG_LIBTWOLAME 0
-+ #define CONFIG_LIBUAVS3D 0
-+ #define CONFIG_LIBV4L2 0
-+@@ -596,7 +603,6 @@
-+ #define CONFIG_OPENCL 0
-+ #define CONFIG_AMF 0
-+ #define CONFIG_AUDIOTOOLBOX 0
-+-#define CONFIG_CRYSTALHD 0
-+ #define CONFIG_CUDA 0
-+ #define CONFIG_CUDA_LLVM 0
-+ #define CONFIG_CUVID 0
-+@@ -640,6 +646,7 @@
-+ #define CONFIG_ERROR_RESILIENCE 0
-+ #define CONFIG_FAAN 0
-+ #define CONFIG_FAST_UNALIGNED 1
-++#define CONFIG_IAMF 0
-+ #define CONFIG_LSP 0
-+ #define CONFIG_PIXELUTILS 0
-+ #define CONFIG_NETWORK 0
-+@@ -688,7 +695,8 @@
-+ #define CONFIG_DEFLATE_WRAPPER 0
-+ #define CONFIG_DIRAC_PARSE 1
-+ #define CONFIG_DNN 0
-+-#define CONFIG_DOVI_RPU 0
-++#define CONFIG_DOVI_RPUDEC 0
-++#define CONFIG_DOVI_RPUENC 0
-+ #define CONFIG_DVPROFILE 0
-+ #define CONFIG_EVCPARSE 0
-+ #define CONFIG_EXIF 0
-+@@ -720,10 +728,12 @@
-+ #define CONFIG_INFLATE_WRAPPER 0
-+ #define CONFIG_INTRAX8 0
-+ #define CONFIG_ISO_MEDIA 1
-++#define CONFIG_ISO_WRITER 0
-+ #define CONFIG_IVIDSP 0
-+ #define CONFIG_JPEGTABLES 0
-+ #define CONFIG_LGPLV3 0
-+ #define CONFIG_LIBX262 0
-++#define CONFIG_LIBX264_HDR10 0
-+ #define CONFIG_LLAUDDSP 0
-+ #define CONFIG_LLVIDDSP 0
-+ #define CONFIG_LLVIDENCDSP 0
-+diff --git a/chromium/config/Chrome/ios/arm64/config_components.h b/chromium/config/Chrome/ios/arm64/config_components.h
-+index 78ba358a27..8ebce4c9b5 100644
-+--- a/chromium/config/Chrome/ios/arm64/config_components.h
-++++ b/chromium/config/Chrome/ios/arm64/config_components.h
-+@@ -11,6 +11,7 @@
-+ #define CONFIG_DTS2PTS_BSF 0
-+ #define CONFIG_DV_ERROR_MARKER_BSF 0
-+ #define CONFIG_EAC3_CORE_BSF 0
-++#define CONFIG_EVC_FRAME_MERGE_BSF 0
-+ #define CONFIG_EXTRACT_EXTRADATA_BSF 0
-+ #define CONFIG_FILTER_UNITS_BSF 0
-+ #define CONFIG_H264_METADATA_BSF 0
-+@@ -23,7 +24,6 @@
-+ #define CONFIG_MEDIA100_TO_MJPEGB_BSF 0
-+ #define CONFIG_MJPEG2JPEG_BSF 0
-+ #define CONFIG_MJPEGA_DUMP_HEADER_BSF 0
-+-#define CONFIG_MP3_HEADER_DECOMPRESS_BSF 0
-+ #define CONFIG_MPEG2_METADATA_BSF 0
-+ #define CONFIG_MPEG4_UNPACK_BFRAMES_BSF 0
-+ #define CONFIG_MOV2TEXTSUB_BSF 0
-+@@ -45,7 +45,6 @@
-+ #define CONFIG_VP9_SUPERFRAME_SPLIT_BSF 0
-+ #define CONFIG_VVC_METADATA_BSF 0
-+ #define CONFIG_VVC_MP4TOANNEXB_BSF 0
-+-#define CONFIG_EVC_FRAME_MERGE_BSF 0
-+ #define CONFIG_AASC_DECODER 0
-+ #define CONFIG_AIC_DECODER 0
-+ #define CONFIG_ALIAS_PIX_DECODER 0
-+@@ -64,7 +63,6 @@
-+ #define CONFIG_AVRN_DECODER 0
-+ #define CONFIG_AVS_DECODER 0
-+ #define CONFIG_AVUI_DECODER 0
-+-#define CONFIG_AYUV_DECODER 0
-+ #define CONFIG_BETHSOFTVID_DECODER 0
-+ #define CONFIG_BFI_DECODER 0
-+ #define CONFIG_BINK_DECODER 0
-+@@ -131,7 +129,6 @@
-+ #define CONFIG_H263P_DECODER 0
-+ #define CONFIG_H263_V4L2M2M_DECODER 0
-+ #define CONFIG_H264_DECODER 1
-+-#define CONFIG_H264_CRYSTALHD_DECODER 0
-+ #define CONFIG_H264_V4L2M2M_DECODER 0
-+ #define CONFIG_H264_MEDIACODEC_DECODER 0
-+ #define CONFIG_H264_MMAL_DECODER 0
-+@@ -179,13 +176,11 @@
-+ #define CONFIG_MPEG1VIDEO_DECODER 0
-+ #define CONFIG_MPEG2VIDEO_DECODER 0
-+ #define CONFIG_MPEG4_DECODER 0
-+-#define CONFIG_MPEG4_CRYSTALHD_DECODER 0
-+ #define CONFIG_MPEG4_V4L2M2M_DECODER 0
-+ #define CONFIG_MPEG4_MMAL_DECODER 0
-+ #define CONFIG_MPEGVIDEO_DECODER 0
-+ #define CONFIG_MPEG1_V4L2M2M_DECODER 0
-+ #define CONFIG_MPEG2_MMAL_DECODER 0
-+-#define CONFIG_MPEG2_CRYSTALHD_DECODER 0
-+ #define CONFIG_MPEG2_V4L2M2M_DECODER 0
-+ #define CONFIG_MPEG2_QSV_DECODER 0
-+ #define CONFIG_MPEG2_MEDIACODEC_DECODER 0
-+@@ -194,7 +189,6 @@
-+ #define CONFIG_MSMPEG4V1_DECODER 0
-+ #define CONFIG_MSMPEG4V2_DECODER 0
-+ #define CONFIG_MSMPEG4V3_DECODER 0
-+-#define CONFIG_MSMPEG4_CRYSTALHD_DECODER 0
-+ #define CONFIG_MSP2_DECODER 0
-+ #define CONFIG_MSRLE_DECODER 0
-+ #define CONFIG_MSS1_DECODER 0
-+@@ -293,7 +287,6 @@
-+ #define CONFIG_VBN_DECODER 0
-+ #define CONFIG_VBLE_DECODER 0
-+ #define CONFIG_VC1_DECODER 0
-+-#define CONFIG_VC1_CRYSTALHD_DECODER 0
-+ #define CONFIG_VC1IMAGE_DECODER 0
-+ #define CONFIG_VC1_MMAL_DECODER 0
-+ #define CONFIG_VC1_QSV_DECODER 0
-+@@ -325,7 +318,6 @@
-+ #define CONFIG_WMV1_DECODER 0
-+ #define CONFIG_WMV2_DECODER 0
-+ #define CONFIG_WMV3_DECODER 0
-+-#define CONFIG_WMV3_CRYSTALHD_DECODER 0
-+ #define CONFIG_WMV3IMAGE_DECODER 0
-+ #define CONFIG_WNV1_DECODER 0
-+ #define CONFIG_XAN_WC3_DECODER 0
-+@@ -592,6 +584,7 @@
-+ #define CONFIG_LIBGSM_MS_DECODER 0
-+ #define CONFIG_LIBILBC_DECODER 0
-+ #define CONFIG_LIBJXL_DECODER 0
-++#define CONFIG_LIBLC3_DECODER 0
-+ #define CONFIG_LIBOPENCORE_AMRNB_DECODER 0
-+ #define CONFIG_LIBOPENCORE_AMRWB_DECODER 0
-+ #define CONFIG_LIBOPUS_DECODER 1
-+@@ -639,7 +632,6 @@
-+ #define CONFIG_ASV2_ENCODER 0
-+ #define CONFIG_AVRP_ENCODER 0
-+ #define CONFIG_AVUI_ENCODER 0
-+-#define CONFIG_AYUV_ENCODER 0
-+ #define CONFIG_BITPACKED_ENCODER 0
-+ #define CONFIG_BMP_ENCODER 0
-+ #define CONFIG_CFHD_ENCODER 0
-+@@ -821,6 +813,7 @@
-+ #define CONFIG_LIBGSM_MS_ENCODER 0
-+ #define CONFIG_LIBILBC_ENCODER 0
-+ #define CONFIG_LIBJXL_ENCODER 0
-++#define CONFIG_LIBLC3_ENCODER 0
-+ #define CONFIG_LIBMP3LAME_ENCODER 0
-+ #define CONFIG_LIBOPENCORE_AMRNB_ENCODER 0
-+ #define CONFIG_LIBOPENJPEG_ENCODER 0
-+@@ -1573,6 +1566,8 @@
-+ #define CONFIG_HSTACK_QSV_FILTER 0
-+ #define CONFIG_VSTACK_QSV_FILTER 0
-+ #define CONFIG_XSTACK_QSV_FILTER 0
-++#define CONFIG_PAD_VAAPI_FILTER 0
-++#define CONFIG_DRAWBOX_VAAPI_FILTER 0
-+ #define CONFIG_ALLRGB_FILTER 0
-+ #define CONFIG_ALLYUV_FILTER 0
-+ #define CONFIG_CELLAUTO_FILTER 0
-+@@ -1706,6 +1701,7 @@
-+ #define CONFIG_DV_DEMUXER 0
-+ #define CONFIG_DVBSUB_DEMUXER 0
-+ #define CONFIG_DVBTXT_DEMUXER 0
-++#define CONFIG_DVDVIDEO_DEMUXER 0
-+ #define CONFIG_DXA_DEMUXER 0
-+ #define CONFIG_EA_DEMUXER 0
-+ #define CONFIG_EA_CDATA_DEMUXER 0
-+@@ -1767,6 +1763,7 @@
-+ #define CONFIG_KUX_DEMUXER 0
-+ #define CONFIG_KVAG_DEMUXER 0
-+ #define CONFIG_LAF_DEMUXER 0
-++#define CONFIG_LC3_DEMUXER 0
-+ #define CONFIG_LMLM4_DEMUXER 0
-+ #define CONFIG_LOAS_DEMUXER 0
-+ #define CONFIG_LUODAT_DEMUXER 0
-+@@ -1850,6 +1847,7 @@
-+ #define CONFIG_QOA_DEMUXER 0
-+ #define CONFIG_R3D_DEMUXER 0
-+ #define CONFIG_RAWVIDEO_DEMUXER 0
-++#define CONFIG_RCWT_DEMUXER 0
-+ #define CONFIG_REALTEXT_DEMUXER 0
-+ #define CONFIG_REDSPARK_DEMUXER 0
-+ #define CONFIG_RKA_DEMUXER 0
-+@@ -1987,6 +1985,7 @@
-+ #define CONFIG_AC4_MUXER 0
-+ #define CONFIG_ADTS_MUXER 0
-+ #define CONFIG_ADX_MUXER 0
-++#define CONFIG_AEA_MUXER 0
-+ #define CONFIG_AIFF_MUXER 0
-+ #define CONFIG_ALP_MUXER 0
-+ #define CONFIG_AMR_MUXER 0
-+@@ -2026,7 +2025,6 @@
-+ #define CONFIG_F4V_MUXER 0
-+ #define CONFIG_FFMETADATA_MUXER 0
-+ #define CONFIG_FIFO_MUXER 0
-+-#define CONFIG_FIFO_TEST_MUXER 0
-+ #define CONFIG_FILMSTRIP_MUXER 0
-+ #define CONFIG_FITS_MUXER 0
-+ #define CONFIG_FLAC_MUXER 0
-+@@ -2060,6 +2058,7 @@
-+ #define CONFIG_JACOSUB_MUXER 0
-+ #define CONFIG_KVAG_MUXER 0
-+ #define CONFIG_LATM_MUXER 0
-++#define CONFIG_LC3_MUXER 0
-+ #define CONFIG_LRC_MUXER 0
-+ #define CONFIG_M4V_MUXER 0
-+ #define CONFIG_MD5_MUXER 0
-+@@ -2162,6 +2161,7 @@
-+ #define CONFIG_WV_MUXER 0
-+ #define CONFIG_YUV4MPEGPIPE_MUXER 0
-+ #define CONFIG_CHROMAPRINT_MUXER 0
-++#define CONFIG_ANDROID_CONTENT_PROTOCOL 0
-+ #define CONFIG_ASYNC_PROTOCOL 0
-+ #define CONFIG_BLURAY_PROTOCOL 0
-+ #define CONFIG_CACHE_PROTOCOL 0
-+diff --git a/chromium/config/Chrome/ios/arm64/libavformat/demuxer_list.c b/chromium/config/Chrome/ios/arm64/libavformat/demuxer_list.c
-+index 920b22bfa7..29f1f59381 100644
-+--- a/chromium/config/Chrome/ios/arm64/libavformat/demuxer_list.c
-++++ b/chromium/config/Chrome/ios/arm64/libavformat/demuxer_list.c
-+@@ -1,4 +1,4 @@
-+-static const AVInputFormat * const demuxer_list[] = {
-++static const FFInputFormat * const demuxer_list[] = {
-+ &ff_aac_demuxer,
-+ &ff_flac_demuxer,
-+ &ff_matroska_demuxer,
-+diff --git a/chromium/config/Chrome/ios/arm64/libavutil/ffversion.h b/chromium/config/Chrome/ios/arm64/libavutil/ffversion.h
-+index e32799b284..63ce2ac5f8 100644
-+--- a/chromium/config/Chrome/ios/arm64/libavutil/ffversion.h
-++++ b/chromium/config/Chrome/ios/arm64/libavutil/ffversion.h
-+@@ -1,5 +1,5 @@
-+ /* Automatically generated by version.sh, do not manually edit! */
-+ #ifndef AVUTIL_FFVERSION_H
-+ #define AVUTIL_FFVERSION_H
-+-#define FFMPEG_VERSION "N-115016-g631703bfb9"
-++#define FFMPEG_VERSION "N-116569-gd0c8e13654"
-+ #endif /* AVUTIL_FFVERSION_H */
-+diff --git a/chromium/config/Chrome/ios/x64/config.asm b/chromium/config/Chrome/ios/x64/config.asm
-+index d13f207b0c..61fe976c14 100644
-+--- a/chromium/config/Chrome/ios/x64/config.asm
-++++ b/chromium/config/Chrome/ios/x64/config.asm
-+@@ -44,6 +44,7 @@
-+ %define HAVE_VSX 0
-+ %define HAVE_RV 0
-+ %define HAVE_RVV 0
-++%define HAVE_RV_ZVBB 0
-+ %define HAVE_AESNI 1
-+ %define HAVE_AMD3DNOW 1
-+ %define HAVE_AMD3DNOWEXT 1
-+@@ -62,7 +63,6 @@
-+ %define HAVE_SSE42 1
-+ %define HAVE_SSSE3 1
-+ %define HAVE_XOP 1
-+-%define HAVE_CPUNOP 0
-+ %define HAVE_I686 1
-+ %define HAVE_MIPSFPU 0
-+ %define HAVE_MIPS32R2 0
-+@@ -96,6 +96,7 @@
-+ %define HAVE_VSX_EXTERNAL 0
-+ %define HAVE_RV_EXTERNAL 0
-+ %define HAVE_RVV_EXTERNAL 0
-++%define HAVE_RV_ZVBB_EXTERNAL 0
-+ %define HAVE_AESNI_EXTERNAL 1
-+ %define HAVE_AMD3DNOW_EXTERNAL 1
-+ %define HAVE_AMD3DNOWEXT_EXTERNAL 1
-+@@ -114,7 +115,6 @@
-+ %define HAVE_SSE42_EXTERNAL 1
-+ %define HAVE_SSSE3_EXTERNAL 1
-+ %define HAVE_XOP_EXTERNAL 1
-+-%define HAVE_CPUNOP_EXTERNAL 0
-+ %define HAVE_I686_EXTERNAL 0
-+ %define HAVE_MIPSFPU_EXTERNAL 0
-+ %define HAVE_MIPS32R2_EXTERNAL 0
-+@@ -148,6 +148,7 @@
-+ %define HAVE_VSX_INLINE 0
-+ %define HAVE_RV_INLINE 0
-+ %define HAVE_RVV_INLINE 0
-++%define HAVE_RV_ZVBB_INLINE 0
-+ %define HAVE_AESNI_INLINE 1
-+ %define HAVE_AMD3DNOW_INLINE 1
-+ %define HAVE_AMD3DNOWEXT_INLINE 1
-+@@ -166,7 +167,6 @@
-+ %define HAVE_SSE42_INLINE 1
-+ %define HAVE_SSSE3_INLINE 1
-+ %define HAVE_XOP_INLINE 1
-+-%define HAVE_CPUNOP_INLINE 0
-+ %define HAVE_I686_INLINE 0
-+ %define HAVE_MIPSFPU_INLINE 0
-+ %define HAVE_MIPS32R2_INLINE 0
-+@@ -204,6 +204,7 @@
-+ %define HAVE_BIGENDIAN 0
-+ %define HAVE_FAST_UNALIGNED 1
-+ %define HAVE_ARPA_INET_H 0
-++%define HAVE_ASM_HWPROBE_H 0
-+ %define HAVE_ASM_TYPES_H 0
-+ %define HAVE_CDIO_PARANOIA_H 0
-+ %define HAVE_CDIO_PARANOIA_PARANOIA_H 0
-+@@ -230,6 +231,7 @@
-+ %define HAVE_OPENGL_GL3_H 0
-+ %define HAVE_POLL_H 1
-+ %define HAVE_PTHREAD_NP_H 0
-++%define HAVE_SYS_HWPROBE_H 0
-+ %define HAVE_SYS_PARAM_H 1
-+ %define HAVE_SYS_RESOURCE_H 1
-+ %define HAVE_SYS_SELECT_H 1
-+@@ -403,6 +405,7 @@
-+ %define HAVE_STRUCT_SOCKADDR_STORAGE 0
-+ %define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 0
-+ %define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 0
-++%define HAVE_STRUCT_MFXCONFIGINTERFACE 0
-+ %define HAVE_GZIP 1
-+ %define HAVE_LIBDRM_GETFB2 0
-+ %define HAVE_MAKEINFO 0
-+@@ -413,6 +416,7 @@
-+ %define HAVE_OPENCL_DXVA2 0
-+ %define HAVE_OPENCL_VAAPI_BEIGNET 0
-+ %define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0
-++%define HAVE_OPENCL_VIDEOTOOLBOX 0
-+ %define HAVE_PERL 1
-+ %define HAVE_POD2MAN 1
-+ %define HAVE_TEXI2HTML 0
-+@@ -452,6 +456,8 @@
-+ %define CONFIG_FREI0R 0
-+ %define CONFIG_LIBCDIO 0
-+ %define CONFIG_LIBDAVS2 0
-++%define CONFIG_LIBDVDNAV 0
-++%define CONFIG_LIBDVDREAD 0
-+ %define CONFIG_LIBRUBBERBAND 0
-+ %define CONFIG_LIBVIDSTAB 0
-+ %define CONFIG_LIBX264 0
-+@@ -501,6 +507,7 @@
-+ %define CONFIG_LIBJXL 0
-+ %define CONFIG_LIBKLVANC 0
-+ %define CONFIG_LIBKVAZAAR 0
-++%define CONFIG_LIBLC3 0
-+ %define CONFIG_LIBMODPLUG 0
-+ %define CONFIG_LIBMP3LAME 0
-+ %define CONFIG_LIBMYSOFA 0
-+@@ -531,6 +538,7 @@
-+ %define CONFIG_LIBTENSORFLOW 0
-+ %define CONFIG_LIBTESSERACT 0
-+ %define CONFIG_LIBTHEORA 0
-++%define CONFIG_LIBTORCH 0
-+ %define CONFIG_LIBTWOLAME 0
-+ %define CONFIG_LIBUAVS3D 0
-+ %define CONFIG_LIBV4L2 0
-+@@ -580,7 +588,6 @@
-+ %define CONFIG_OPENCL 0
-+ %define CONFIG_AMF 0
-+ %define CONFIG_AUDIOTOOLBOX 0
-+-%define CONFIG_CRYSTALHD 0
-+ %define CONFIG_CUDA 0
-+ %define CONFIG_CUDA_LLVM 0
-+ %define CONFIG_CUVID 0
-+@@ -624,6 +631,7 @@
-+ %define CONFIG_ERROR_RESILIENCE 0
-+ %define CONFIG_FAAN 0
-+ %define CONFIG_FAST_UNALIGNED 1
-++%define CONFIG_IAMF 0
-+ %define CONFIG_LSP 0
-+ %define CONFIG_PIXELUTILS 0
-+ %define CONFIG_NETWORK 0
-+@@ -672,7 +680,8 @@
-+ %define CONFIG_DEFLATE_WRAPPER 0
-+ %define CONFIG_DIRAC_PARSE 1
-+ %define CONFIG_DNN 0
-+-%define CONFIG_DOVI_RPU 0
-++%define CONFIG_DOVI_RPUDEC 0
-++%define CONFIG_DOVI_RPUENC 0
-+ %define CONFIG_DVPROFILE 0
-+ %define CONFIG_EVCPARSE 0
-+ %define CONFIG_EXIF 0
-+@@ -704,10 +713,12 @@
-+ %define CONFIG_INFLATE_WRAPPER 0
-+ %define CONFIG_INTRAX8 0
-+ %define CONFIG_ISO_MEDIA 1
-++%define CONFIG_ISO_WRITER 0
-+ %define CONFIG_IVIDSP 0
-+ %define CONFIG_JPEGTABLES 0
-+ %define CONFIG_LGPLV3 0
-+ %define CONFIG_LIBX262 0
-++%define CONFIG_LIBX264_HDR10 0
-+ %define CONFIG_LLAUDDSP 0
-+ %define CONFIG_LLVIDDSP 0
-+ %define CONFIG_LLVIDENCDSP 0
-+diff --git a/chromium/config/Chrome/ios/x64/config.h b/chromium/config/Chrome/ios/x64/config.h
-+index 9df971603d..cdeb923914 100644
-+--- a/chromium/config/Chrome/ios/x64/config.h
-++++ b/chromium/config/Chrome/ios/x64/config.h
-+@@ -1,14 +1,13 @@
-+ /* Automatically generated by configure - do not modify! */
-+ #ifndef FFMPEG_CONFIG_H
-+ #define FFMPEG_CONFIG_H
-+-/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/usr/local/google/home/ezemtsov/projects/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-pic --cc=clang --cxx=clang++ --ld=clang --enable-cr
oss-compile --cc=clang --ld=ld64.lld --nm=llvm-nm --ar=llvm-ar --target-os=darwin --extra-cflags='--target=x86_64-apple-macosx' --extra-cflags=-F/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks --extra-cflags='-mmacosx-version-min=10.10' --extra-cflags=-fblocks --extra-cflags=-nostdinc --extra-cflags=-isystem/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include --extra-cflags=-isystem/usr/local/google/home/ezemtsov/projects/chromium/src/third_party/llvm-build/Release+Asserts/lib/clang/19/include --extra-ldflags=-syslibroot --extra-ldflags=/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk --extra-ldflags=-L/usr/local/google/home/ezemtsov
/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib --extra-ldflags=-lSystem --extra-ldflags=-macosx_version_min --extra-ldflags=10.10 --extra-ldflags=-sdk_version --extra-ldflags=10.10 --extra-ldflags=-platform_version --extra-ldflags=macos --extra-ldflags=10.10 --extra-ldflags=10.10 --arch=x86_64 --extra-cflags=-m64 --extra-ldflags='-arch x86_64' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
-++/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/usr/local/google/home/dalecurtis/code/chrome/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-pic --cc=clang --cxx=clang++ --ld=clang
--enable-cross-compile --cc=clang --ld=ld64.lld --nm=llvm-nm --ar=llvm-ar --target-os=darwin --extra-cflags='--target=x86_64-apple-macosx' --extra-cflags=-F/usr/local/google/home/dalecurtis/code/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks --extra-cflags='-mmacosx-version-min=10.10' --extra-cflags=-fblocks --extra-cflags=-nostdinc --extra-cflags=-isystem/usr/local/google/home/dalecurtis/code/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include --extra-cflags=-isystem/usr/local/google/home/dalecurtis/code/chrome/src/third_party/llvm-build/Release+Asserts/lib/clang/19/include --extra-ldflags=-syslibroot --extra-ldflags=/usr/local/google/home/dalecurtis/code/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk --extra-ldflags=-L/usr/local/google/home/dalecurtis/co
de/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib --extra-ldflags=-lSystem --extra-ldflags=-macosx_version_min --extra-ldflags=10.10 --extra-ldflags=-sdk_version --extra-ldflags=10.10 --extra-ldflags=-platform_version --extra-ldflags=macos --extra-ldflags=10.10 --extra-ldflags=10.10 --arch=x86_64 --extra-cflags=-m64 --extra-ldflags='-arch x86_64' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
-+ #define FFMPEG_LICENSE "LGPL version 2.1 or later"
-+ #define CONFIG_THIS_YEAR 2024
-+ #define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
-+ #define AVCONV_DATADIR "/usr/local/share/ffmpeg"
-+-#define CC_IDENT "clang version 19.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project 7c4c274643cedcf9671e1db65361231a7d9bee70)"
-++#define CC_IDENT "clang version 19.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project 084e2b53d22c11e013b0a495b65d39aa7f934048)"
-+ #define OS_NAME darwin
-+-#define av_restrict restrict
-+ #define EXTERN_PREFIX "_"
-+ #define EXTERN_ASM _
-+ #define BUILDSUF ""
-+@@ -59,6 +58,7 @@
-+ #define HAVE_VSX 0
-+ #define HAVE_RV 0
-+ #define HAVE_RVV 0
-++#define HAVE_RV_ZVBB 0
-+ #define HAVE_AESNI 1
-+ #define HAVE_AMD3DNOW 1
-+ #define HAVE_AMD3DNOWEXT 1
-+@@ -77,7 +77,6 @@
-+ #define HAVE_SSE42 1
-+ #define HAVE_SSSE3 1
-+ #define HAVE_XOP 1
-+-#define HAVE_CPUNOP 0
-+ #define HAVE_I686 1
-+ #define HAVE_MIPSFPU 0
-+ #define HAVE_MIPS32R2 0
-+@@ -111,6 +110,7 @@
-+ #define HAVE_VSX_EXTERNAL 0
-+ #define HAVE_RV_EXTERNAL 0
-+ #define HAVE_RVV_EXTERNAL 0
-++#define HAVE_RV_ZVBB_EXTERNAL 0
-+ #define HAVE_AESNI_EXTERNAL 1
-+ #define HAVE_AMD3DNOW_EXTERNAL 1
-+ #define HAVE_AMD3DNOWEXT_EXTERNAL 1
-+@@ -129,7 +129,6 @@
-+ #define HAVE_SSE42_EXTERNAL 1
-+ #define HAVE_SSSE3_EXTERNAL 1
-+ #define HAVE_XOP_EXTERNAL 1
-+-#define HAVE_CPUNOP_EXTERNAL 0
-+ #define HAVE_I686_EXTERNAL 0
-+ #define HAVE_MIPSFPU_EXTERNAL 0
-+ #define HAVE_MIPS32R2_EXTERNAL 0
-+@@ -163,6 +162,7 @@
-+ #define HAVE_VSX_INLINE 0
-+ #define HAVE_RV_INLINE 0
-+ #define HAVE_RVV_INLINE 0
-++#define HAVE_RV_ZVBB_INLINE 0
-+ #define HAVE_AESNI_INLINE 1
-+ #define HAVE_AMD3DNOW_INLINE 1
-+ #define HAVE_AMD3DNOWEXT_INLINE 1
-+@@ -181,7 +181,6 @@
-+ #define HAVE_SSE42_INLINE 1
-+ #define HAVE_SSSE3_INLINE 1
-+ #define HAVE_XOP_INLINE 1
-+-#define HAVE_CPUNOP_INLINE 0
-+ #define HAVE_I686_INLINE 0
-+ #define HAVE_MIPSFPU_INLINE 0
-+ #define HAVE_MIPS32R2_INLINE 0
-+@@ -219,6 +218,7 @@
-+ #define HAVE_BIGENDIAN 0
-+ #define HAVE_FAST_UNALIGNED 1
-+ #define HAVE_ARPA_INET_H 0
-++#define HAVE_ASM_HWPROBE_H 0
-+ #define HAVE_ASM_TYPES_H 0
-+ #define HAVE_CDIO_PARANOIA_H 0
-+ #define HAVE_CDIO_PARANOIA_PARANOIA_H 0
-+@@ -245,6 +245,7 @@
-+ #define HAVE_OPENGL_GL3_H 0
-+ #define HAVE_POLL_H 1
-+ #define HAVE_PTHREAD_NP_H 0
-++#define HAVE_SYS_HWPROBE_H 0
-+ #define HAVE_SYS_PARAM_H 1
-+ #define HAVE_SYS_RESOURCE_H 1
-+ #define HAVE_SYS_SELECT_H 1
-+@@ -418,6 +419,7 @@
-+ #define HAVE_STRUCT_SOCKADDR_STORAGE 0
-+ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 0
-+ #define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 0
-++#define HAVE_STRUCT_MFXCONFIGINTERFACE 0
-+ #define HAVE_GZIP 1
-+ #define HAVE_LIBDRM_GETFB2 0
-+ #define HAVE_MAKEINFO 0
-+@@ -428,6 +430,7 @@
-+ #define HAVE_OPENCL_DXVA2 0
-+ #define HAVE_OPENCL_VAAPI_BEIGNET 0
-+ #define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0
-++#define HAVE_OPENCL_VIDEOTOOLBOX 0
-+ #define HAVE_PERL 1
-+ #define HAVE_POD2MAN 1
-+ #define HAVE_TEXI2HTML 0
-+@@ -467,6 +470,8 @@
-+ #define CONFIG_FREI0R 0
-+ #define CONFIG_LIBCDIO 0
-+ #define CONFIG_LIBDAVS2 0
-++#define CONFIG_LIBDVDNAV 0
-++#define CONFIG_LIBDVDREAD 0
-+ #define CONFIG_LIBRUBBERBAND 0
-+ #define CONFIG_LIBVIDSTAB 0
-+ #define CONFIG_LIBX264 0
-+@@ -516,6 +521,7 @@
-+ #define CONFIG_LIBJXL 0
-+ #define CONFIG_LIBKLVANC 0
-+ #define CONFIG_LIBKVAZAAR 0
-++#define CONFIG_LIBLC3 0
-+ #define CONFIG_LIBMODPLUG 0
-+ #define CONFIG_LIBMP3LAME 0
-+ #define CONFIG_LIBMYSOFA 0
-+@@ -546,6 +552,7 @@
-+ #define CONFIG_LIBTENSORFLOW 0
-+ #define CONFIG_LIBTESSERACT 0
-+ #define CONFIG_LIBTHEORA 0
-++#define CONFIG_LIBTORCH 0
-+ #define CONFIG_LIBTWOLAME 0
-+ #define CONFIG_LIBUAVS3D 0
-+ #define CONFIG_LIBV4L2 0
-+@@ -595,7 +602,6 @@
-+ #define CONFIG_OPENCL 0
-+ #define CONFIG_AMF 0
-+ #define CONFIG_AUDIOTOOLBOX 0
-+-#define CONFIG_CRYSTALHD 0
-+ #define CONFIG_CUDA 0
-+ #define CONFIG_CUDA_LLVM 0
-+ #define CONFIG_CUVID 0
-+@@ -639,6 +645,7 @@
-+ #define CONFIG_ERROR_RESILIENCE 0
-+ #define CONFIG_FAAN 0
-+ #define CONFIG_FAST_UNALIGNED 1
-++#define CONFIG_IAMF 0
-+ #define CONFIG_LSP 0
-+ #define CONFIG_PIXELUTILS 0
-+ #define CONFIG_NETWORK 0
-+@@ -687,7 +694,8 @@
-+ #define CONFIG_DEFLATE_WRAPPER 0
-+ #define CONFIG_DIRAC_PARSE 1
-+ #define CONFIG_DNN 0
-+-#define CONFIG_DOVI_RPU 0
-++#define CONFIG_DOVI_RPUDEC 0
-++#define CONFIG_DOVI_RPUENC 0
-+ #define CONFIG_DVPROFILE 0
-+ #define CONFIG_EVCPARSE 0
-+ #define CONFIG_EXIF 0
-+@@ -719,10 +727,12 @@
-+ #define CONFIG_INFLATE_WRAPPER 0
-+ #define CONFIG_INTRAX8 0
-+ #define CONFIG_ISO_MEDIA 1
-++#define CONFIG_ISO_WRITER 0
-+ #define CONFIG_IVIDSP 0
-+ #define CONFIG_JPEGTABLES 0
-+ #define CONFIG_LGPLV3 0
-+ #define CONFIG_LIBX262 0
-++#define CONFIG_LIBX264_HDR10 0
-+ #define CONFIG_LLAUDDSP 0
-+ #define CONFIG_LLVIDDSP 0
-+ #define CONFIG_LLVIDENCDSP 0
-+diff --git a/chromium/config/Chrome/ios/x64/config_components.h b/chromium/config/Chrome/ios/x64/config_components.h
-+index 78ba358a27..8ebce4c9b5 100644
-+--- a/chromium/config/Chrome/ios/x64/config_components.h
-++++ b/chromium/config/Chrome/ios/x64/config_components.h
-+@@ -11,6 +11,7 @@
-+ #define CONFIG_DTS2PTS_BSF 0
-+ #define CONFIG_DV_ERROR_MARKER_BSF 0
-+ #define CONFIG_EAC3_CORE_BSF 0
-++#define CONFIG_EVC_FRAME_MERGE_BSF 0
-+ #define CONFIG_EXTRACT_EXTRADATA_BSF 0
-+ #define CONFIG_FILTER_UNITS_BSF 0
-+ #define CONFIG_H264_METADATA_BSF 0
-+@@ -23,7 +24,6 @@
-+ #define CONFIG_MEDIA100_TO_MJPEGB_BSF 0
-+ #define CONFIG_MJPEG2JPEG_BSF 0
-+ #define CONFIG_MJPEGA_DUMP_HEADER_BSF 0
-+-#define CONFIG_MP3_HEADER_DECOMPRESS_BSF 0
-+ #define CONFIG_MPEG2_METADATA_BSF 0
-+ #define CONFIG_MPEG4_UNPACK_BFRAMES_BSF 0
-+ #define CONFIG_MOV2TEXTSUB_BSF 0
-+@@ -45,7 +45,6 @@
-+ #define CONFIG_VP9_SUPERFRAME_SPLIT_BSF 0
-+ #define CONFIG_VVC_METADATA_BSF 0
-+ #define CONFIG_VVC_MP4TOANNEXB_BSF 0
-+-#define CONFIG_EVC_FRAME_MERGE_BSF 0
-+ #define CONFIG_AASC_DECODER 0
-+ #define CONFIG_AIC_DECODER 0
-+ #define CONFIG_ALIAS_PIX_DECODER 0
-+@@ -64,7 +63,6 @@
-+ #define CONFIG_AVRN_DECODER 0
-+ #define CONFIG_AVS_DECODER 0
-+ #define CONFIG_AVUI_DECODER 0
-+-#define CONFIG_AYUV_DECODER 0
-+ #define CONFIG_BETHSOFTVID_DECODER 0
-+ #define CONFIG_BFI_DECODER 0
-+ #define CONFIG_BINK_DECODER 0
-+@@ -131,7 +129,6 @@
-+ #define CONFIG_H263P_DECODER 0
-+ #define CONFIG_H263_V4L2M2M_DECODER 0
-+ #define CONFIG_H264_DECODER 1
-+-#define CONFIG_H264_CRYSTALHD_DECODER 0
-+ #define CONFIG_H264_V4L2M2M_DECODER 0
-+ #define CONFIG_H264_MEDIACODEC_DECODER 0
-+ #define CONFIG_H264_MMAL_DECODER 0
-+@@ -179,13 +176,11 @@
-+ #define CONFIG_MPEG1VIDEO_DECODER 0
-+ #define CONFIG_MPEG2VIDEO_DECODER 0
-+ #define CONFIG_MPEG4_DECODER 0
-+-#define CONFIG_MPEG4_CRYSTALHD_DECODER 0
-+ #define CONFIG_MPEG4_V4L2M2M_DECODER 0
-+ #define CONFIG_MPEG4_MMAL_DECODER 0
-+ #define CONFIG_MPEGVIDEO_DECODER 0
-+ #define CONFIG_MPEG1_V4L2M2M_DECODER 0
-+ #define CONFIG_MPEG2_MMAL_DECODER 0
-+-#define CONFIG_MPEG2_CRYSTALHD_DECODER 0
-+ #define CONFIG_MPEG2_V4L2M2M_DECODER 0
-+ #define CONFIG_MPEG2_QSV_DECODER 0
-+ #define CONFIG_MPEG2_MEDIACODEC_DECODER 0
-+@@ -194,7 +189,6 @@
-+ #define CONFIG_MSMPEG4V1_DECODER 0
-+ #define CONFIG_MSMPEG4V2_DECODER 0
-+ #define CONFIG_MSMPEG4V3_DECODER 0
-+-#define CONFIG_MSMPEG4_CRYSTALHD_DECODER 0
-+ #define CONFIG_MSP2_DECODER 0
-+ #define CONFIG_MSRLE_DECODER 0
-+ #define CONFIG_MSS1_DECODER 0
-+@@ -293,7 +287,6 @@
-+ #define CONFIG_VBN_DECODER 0
-+ #define CONFIG_VBLE_DECODER 0
-+ #define CONFIG_VC1_DECODER 0
-+-#define CONFIG_VC1_CRYSTALHD_DECODER 0
-+ #define CONFIG_VC1IMAGE_DECODER 0
-+ #define CONFIG_VC1_MMAL_DECODER 0
-+ #define CONFIG_VC1_QSV_DECODER 0
-+@@ -325,7 +318,6 @@
-+ #define CONFIG_WMV1_DECODER 0
-+ #define CONFIG_WMV2_DECODER 0
-+ #define CONFIG_WMV3_DECODER 0
-+-#define CONFIG_WMV3_CRYSTALHD_DECODER 0
-+ #define CONFIG_WMV3IMAGE_DECODER 0
-+ #define CONFIG_WNV1_DECODER 0
-+ #define CONFIG_XAN_WC3_DECODER 0
-+@@ -592,6 +584,7 @@
-+ #define CONFIG_LIBGSM_MS_DECODER 0
-+ #define CONFIG_LIBILBC_DECODER 0
-+ #define CONFIG_LIBJXL_DECODER 0
-++#define CONFIG_LIBLC3_DECODER 0
-+ #define CONFIG_LIBOPENCORE_AMRNB_DECODER 0
-+ #define CONFIG_LIBOPENCORE_AMRWB_DECODER 0
-+ #define CONFIG_LIBOPUS_DECODER 1
-+@@ -639,7 +632,6 @@
-+ #define CONFIG_ASV2_ENCODER 0
-+ #define CONFIG_AVRP_ENCODER 0
-+ #define CONFIG_AVUI_ENCODER 0
-+-#define CONFIG_AYUV_ENCODER 0
-+ #define CONFIG_BITPACKED_ENCODER 0
-+ #define CONFIG_BMP_ENCODER 0
-+ #define CONFIG_CFHD_ENCODER 0
-+@@ -821,6 +813,7 @@
-+ #define CONFIG_LIBGSM_MS_ENCODER 0
-+ #define CONFIG_LIBILBC_ENCODER 0
-+ #define CONFIG_LIBJXL_ENCODER 0
-++#define CONFIG_LIBLC3_ENCODER 0
-+ #define CONFIG_LIBMP3LAME_ENCODER 0
-+ #define CONFIG_LIBOPENCORE_AMRNB_ENCODER 0
-+ #define CONFIG_LIBOPENJPEG_ENCODER 0
-+@@ -1573,6 +1566,8 @@
-+ #define CONFIG_HSTACK_QSV_FILTER 0
-+ #define CONFIG_VSTACK_QSV_FILTER 0
-+ #define CONFIG_XSTACK_QSV_FILTER 0
-++#define CONFIG_PAD_VAAPI_FILTER 0
-++#define CONFIG_DRAWBOX_VAAPI_FILTER 0
-+ #define CONFIG_ALLRGB_FILTER 0
-+ #define CONFIG_ALLYUV_FILTER 0
-+ #define CONFIG_CELLAUTO_FILTER 0
-+@@ -1706,6 +1701,7 @@
-+ #define CONFIG_DV_DEMUXER 0
-+ #define CONFIG_DVBSUB_DEMUXER 0
-+ #define CONFIG_DVBTXT_DEMUXER 0
-++#define CONFIG_DVDVIDEO_DEMUXER 0
-+ #define CONFIG_DXA_DEMUXER 0
-+ #define CONFIG_EA_DEMUXER 0
-+ #define CONFIG_EA_CDATA_DEMUXER 0
-+@@ -1767,6 +1763,7 @@
-+ #define CONFIG_KUX_DEMUXER 0
-+ #define CONFIG_KVAG_DEMUXER 0
-+ #define CONFIG_LAF_DEMUXER 0
-++#define CONFIG_LC3_DEMUXER 0
-+ #define CONFIG_LMLM4_DEMUXER 0
-+ #define CONFIG_LOAS_DEMUXER 0
-+ #define CONFIG_LUODAT_DEMUXER 0
-+@@ -1850,6 +1847,7 @@
-+ #define CONFIG_QOA_DEMUXER 0
-+ #define CONFIG_R3D_DEMUXER 0
-+ #define CONFIG_RAWVIDEO_DEMUXER 0
-++#define CONFIG_RCWT_DEMUXER 0
-+ #define CONFIG_REALTEXT_DEMUXER 0
-+ #define CONFIG_REDSPARK_DEMUXER 0
-+ #define CONFIG_RKA_DEMUXER 0
-+@@ -1987,6 +1985,7 @@
-+ #define CONFIG_AC4_MUXER 0
-+ #define CONFIG_ADTS_MUXER 0
-+ #define CONFIG_ADX_MUXER 0
-++#define CONFIG_AEA_MUXER 0
-+ #define CONFIG_AIFF_MUXER 0
-+ #define CONFIG_ALP_MUXER 0
-+ #define CONFIG_AMR_MUXER 0
-+@@ -2026,7 +2025,6 @@
-+ #define CONFIG_F4V_MUXER 0
-+ #define CONFIG_FFMETADATA_MUXER 0
-+ #define CONFIG_FIFO_MUXER 0
-+-#define CONFIG_FIFO_TEST_MUXER 0
-+ #define CONFIG_FILMSTRIP_MUXER 0
-+ #define CONFIG_FITS_MUXER 0
-+ #define CONFIG_FLAC_MUXER 0
-+@@ -2060,6 +2058,7 @@
-+ #define CONFIG_JACOSUB_MUXER 0
-+ #define CONFIG_KVAG_MUXER 0
-+ #define CONFIG_LATM_MUXER 0
-++#define CONFIG_LC3_MUXER 0
-+ #define CONFIG_LRC_MUXER 0
-+ #define CONFIG_M4V_MUXER 0
-+ #define CONFIG_MD5_MUXER 0
-+@@ -2162,6 +2161,7 @@
-+ #define CONFIG_WV_MUXER 0
-+ #define CONFIG_YUV4MPEGPIPE_MUXER 0
-+ #define CONFIG_CHROMAPRINT_MUXER 0
-++#define CONFIG_ANDROID_CONTENT_PROTOCOL 0
-+ #define CONFIG_ASYNC_PROTOCOL 0
-+ #define CONFIG_BLURAY_PROTOCOL 0
-+ #define CONFIG_CACHE_PROTOCOL 0
-+diff --git a/chromium/config/Chrome/ios/x64/libavformat/demuxer_list.c b/chromium/config/Chrome/ios/x64/libavformat/demuxer_list.c
-+index 920b22bfa7..29f1f59381 100644
-+--- a/chromium/config/Chrome/ios/x64/libavformat/demuxer_list.c
-++++ b/chromium/config/Chrome/ios/x64/libavformat/demuxer_list.c
-+@@ -1,4 +1,4 @@
-+-static const AVInputFormat * const demuxer_list[] = {
-++static const FFInputFormat * const demuxer_list[] = {
-+ &ff_aac_demuxer,
-+ &ff_flac_demuxer,
-+ &ff_matroska_demuxer,
-+diff --git a/chromium/config/Chrome/ios/x64/libavutil/ffversion.h b/chromium/config/Chrome/ios/x64/libavutil/ffversion.h
-+index e32799b284..63ce2ac5f8 100644
-+--- a/chromium/config/Chrome/ios/x64/libavutil/ffversion.h
-++++ b/chromium/config/Chrome/ios/x64/libavutil/ffversion.h
-+@@ -1,5 +1,5 @@
-+ /* Automatically generated by version.sh, do not manually edit! */
-+ #ifndef AVUTIL_FFVERSION_H
-+ #define AVUTIL_FFVERSION_H
-+-#define FFMPEG_VERSION "N-115016-g631703bfb9"
-++#define FFMPEG_VERSION "N-116569-gd0c8e13654"
-+ #endif /* AVUTIL_FFVERSION_H */
-+diff --git a/chromium/config/Chromium/ios/arm64/config.h b/chromium/config/Chromium/ios/arm64/config.h
-+index 0428a7286b..9eeb65d015 100644
-+--- a/chromium/config/Chromium/ios/arm64/config.h
-++++ b/chromium/config/Chromium/ios/arm64/config.h
-+@@ -1,14 +1,13 @@
-+ /* Automatically generated by configure - do not modify! */
-+ #ifndef FFMPEG_CONFIG_H
-+ #define FFMPEG_CONFIG_H
-+-/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/usr/local/google/home/ezemtsov/projects/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-pic --cc=clang --cxx=clang++ --ld=clang --enable-cr
oss-compile --cc=clang --ld=ld64.lld --nm=llvm-nm --ar=llvm-ar --target-os=darwin --extra-cflags='--target=arm64-apple-macosx' --extra-cflags=-F/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks --extra-cflags='-mmacosx-version-min=10.10' --extra-cflags=-fblocks --extra-cflags=-nostdinc --extra-cflags=-isystem/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include --extra-cflags=-isystem/usr/local/google/home/ezemtsov/projects/chromium/src/third_party/llvm-build/Release+Asserts/lib/clang/19/include --extra-ldflags=-syslibroot --extra-ldflags=/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk --extra-ldflags=-L/usr/local/google/home/ezemtsov/
projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib --extra-ldflags=-lSystem --extra-ldflags=-macosx_version_min --extra-ldflags=10.10 --extra-ldflags=-sdk_version --extra-ldflags=10.10 --extra-ldflags=-platform_version --extra-ldflags=macos --extra-ldflags=10.10 --extra-ldflags=10.10 --arch=arm64 --extra-cflags='-arch arm64' --extra-ldflags='-arch arm64'" -- elide long configuration string from binary */
-++/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/usr/local/google/home/dalecurtis/code/chrome/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-pic --cc=clang --cxx=clang++ --ld=clang
--enable-cross-compile --cc=clang --ld=ld64.lld --nm=llvm-nm --ar=llvm-ar --target-os=darwin --extra-cflags='--target=arm64-apple-macosx' --extra-cflags=-F/usr/local/google/home/dalecurtis/code/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks --extra-cflags='-mmacosx-version-min=10.10' --extra-cflags=-fblocks --extra-cflags=-nostdinc --extra-cflags=-isystem/usr/local/google/home/dalecurtis/code/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include --extra-cflags=-isystem/usr/local/google/home/dalecurtis/code/chrome/src/third_party/llvm-build/Release+Asserts/lib/clang/19/include --extra-ldflags=-syslibroot --extra-ldflags=/usr/local/google/home/dalecurtis/code/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk --extra-ldflags=-L/usr/local/google/home/dalecurtis/cod
e/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib --extra-ldflags=-lSystem --extra-ldflags=-macosx_version_min --extra-ldflags=10.10 --extra-ldflags=-sdk_version --extra-ldflags=10.10 --extra-ldflags=-platform_version --extra-ldflags=macos --extra-ldflags=10.10 --extra-ldflags=10.10 --arch=arm64 --extra-cflags='-arch arm64' --extra-ldflags='-arch arm64'" -- elide long configuration string from binary */
-+ #define FFMPEG_LICENSE "LGPL version 2.1 or later"
-+ #define CONFIG_THIS_YEAR 2024
-+ #define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
-+ #define AVCONV_DATADIR "/usr/local/share/ffmpeg"
-+-#define CC_IDENT "clang version 19.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project 7c4c274643cedcf9671e1db65361231a7d9bee70)"
-++#define CC_IDENT "clang version 19.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project 084e2b53d22c11e013b0a495b65d39aa7f934048)"
-+ #define OS_NAME darwin
-+-#define av_restrict restrict
-+ #define EXTERN_PREFIX "_"
-+ #define EXTERN_ASM _
-+ #define BUILDSUF ""
-+@@ -60,6 +59,7 @@
-+ #define HAVE_VSX 0
-+ #define HAVE_RV 0
-+ #define HAVE_RVV 0
-++#define HAVE_RV_ZVBB 0
-+ #define HAVE_AESNI 0
-+ #define HAVE_AMD3DNOW 0
-+ #define HAVE_AMD3DNOWEXT 0
-+@@ -78,7 +78,6 @@
-+ #define HAVE_SSE42 0
-+ #define HAVE_SSSE3 0
-+ #define HAVE_XOP 0
-+-#define HAVE_CPUNOP 0
-+ #define HAVE_I686 0
-+ #define HAVE_MIPSFPU 0
-+ #define HAVE_MIPS32R2 0
-+@@ -112,6 +111,7 @@
-+ #define HAVE_VSX_EXTERNAL 0
-+ #define HAVE_RV_EXTERNAL 0
-+ #define HAVE_RVV_EXTERNAL 0
-++#define HAVE_RV_ZVBB_EXTERNAL 0
-+ #define HAVE_AESNI_EXTERNAL 0
-+ #define HAVE_AMD3DNOW_EXTERNAL 0
-+ #define HAVE_AMD3DNOWEXT_EXTERNAL 0
-+@@ -130,7 +130,6 @@
-+ #define HAVE_SSE42_EXTERNAL 0
-+ #define HAVE_SSSE3_EXTERNAL 0
-+ #define HAVE_XOP_EXTERNAL 0
-+-#define HAVE_CPUNOP_EXTERNAL 0
-+ #define HAVE_I686_EXTERNAL 0
-+ #define HAVE_MIPSFPU_EXTERNAL 0
-+ #define HAVE_MIPS32R2_EXTERNAL 0
-+@@ -164,6 +163,7 @@
-+ #define HAVE_VSX_INLINE 0
-+ #define HAVE_RV_INLINE 0
-+ #define HAVE_RVV_INLINE 0
-++#define HAVE_RV_ZVBB_INLINE 0
-+ #define HAVE_AESNI_INLINE 0
-+ #define HAVE_AMD3DNOW_INLINE 0
-+ #define HAVE_AMD3DNOWEXT_INLINE 0
-+@@ -182,7 +182,6 @@
-+ #define HAVE_SSE42_INLINE 0
-+ #define HAVE_SSSE3_INLINE 0
-+ #define HAVE_XOP_INLINE 0
-+-#define HAVE_CPUNOP_INLINE 0
-+ #define HAVE_I686_INLINE 0
-+ #define HAVE_MIPSFPU_INLINE 0
-+ #define HAVE_MIPS32R2_INLINE 0
-+@@ -220,6 +219,7 @@
-+ #define HAVE_BIGENDIAN 0
-+ #define HAVE_FAST_UNALIGNED 1
-+ #define HAVE_ARPA_INET_H 0
-++#define HAVE_ASM_HWPROBE_H 0
-+ #define HAVE_ASM_TYPES_H 0
-+ #define HAVE_CDIO_PARANOIA_H 0
-+ #define HAVE_CDIO_PARANOIA_PARANOIA_H 0
-+@@ -246,6 +246,7 @@
-+ #define HAVE_OPENGL_GL3_H 0
-+ #define HAVE_POLL_H 1
-+ #define HAVE_PTHREAD_NP_H 0
-++#define HAVE_SYS_HWPROBE_H 0
-+ #define HAVE_SYS_PARAM_H 1
-+ #define HAVE_SYS_RESOURCE_H 1
-+ #define HAVE_SYS_SELECT_H 1
-+@@ -419,6 +420,7 @@
-+ #define HAVE_STRUCT_SOCKADDR_STORAGE 0
-+ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 0
-+ #define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 0
-++#define HAVE_STRUCT_MFXCONFIGINTERFACE 0
-+ #define HAVE_GZIP 1
-+ #define HAVE_LIBDRM_GETFB2 0
-+ #define HAVE_MAKEINFO 0
-+@@ -429,6 +431,7 @@
-+ #define HAVE_OPENCL_DXVA2 0
-+ #define HAVE_OPENCL_VAAPI_BEIGNET 0
-+ #define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0
-++#define HAVE_OPENCL_VIDEOTOOLBOX 0
-+ #define HAVE_PERL 1
-+ #define HAVE_POD2MAN 1
-+ #define HAVE_TEXI2HTML 0
-+@@ -468,6 +471,8 @@
-+ #define CONFIG_FREI0R 0
-+ #define CONFIG_LIBCDIO 0
-+ #define CONFIG_LIBDAVS2 0
-++#define CONFIG_LIBDVDNAV 0
-++#define CONFIG_LIBDVDREAD 0
-+ #define CONFIG_LIBRUBBERBAND 0
-+ #define CONFIG_LIBVIDSTAB 0
-+ #define CONFIG_LIBX264 0
-+@@ -517,6 +522,7 @@
-+ #define CONFIG_LIBJXL 0
-+ #define CONFIG_LIBKLVANC 0
-+ #define CONFIG_LIBKVAZAAR 0
-++#define CONFIG_LIBLC3 0
-+ #define CONFIG_LIBMODPLUG 0
-+ #define CONFIG_LIBMP3LAME 0
-+ #define CONFIG_LIBMYSOFA 0
-+@@ -547,6 +553,7 @@
-+ #define CONFIG_LIBTENSORFLOW 0
-+ #define CONFIG_LIBTESSERACT 0
-+ #define CONFIG_LIBTHEORA 0
-++#define CONFIG_LIBTORCH 0
-+ #define CONFIG_LIBTWOLAME 0
-+ #define CONFIG_LIBUAVS3D 0
-+ #define CONFIG_LIBV4L2 0
-+@@ -596,7 +603,6 @@
-+ #define CONFIG_OPENCL 0
-+ #define CONFIG_AMF 0
-+ #define CONFIG_AUDIOTOOLBOX 0
-+-#define CONFIG_CRYSTALHD 0
-+ #define CONFIG_CUDA 0
-+ #define CONFIG_CUDA_LLVM 0
-+ #define CONFIG_CUVID 0
-+@@ -640,6 +646,7 @@
-+ #define CONFIG_ERROR_RESILIENCE 0
-+ #define CONFIG_FAAN 0
-+ #define CONFIG_FAST_UNALIGNED 1
-++#define CONFIG_IAMF 0
-+ #define CONFIG_LSP 0
-+ #define CONFIG_PIXELUTILS 0
-+ #define CONFIG_NETWORK 0
-+@@ -688,7 +695,8 @@
-+ #define CONFIG_DEFLATE_WRAPPER 0
-+ #define CONFIG_DIRAC_PARSE 1
-+ #define CONFIG_DNN 0
-+-#define CONFIG_DOVI_RPU 0
-++#define CONFIG_DOVI_RPUDEC 0
-++#define CONFIG_DOVI_RPUENC 0
-+ #define CONFIG_DVPROFILE 0
-+ #define CONFIG_EVCPARSE 0
-+ #define CONFIG_EXIF 0
-+@@ -720,10 +728,12 @@
-+ #define CONFIG_INFLATE_WRAPPER 0
-+ #define CONFIG_INTRAX8 0
-+ #define CONFIG_ISO_MEDIA 1
-++#define CONFIG_ISO_WRITER 0
-+ #define CONFIG_IVIDSP 0
-+ #define CONFIG_JPEGTABLES 0
-+ #define CONFIG_LGPLV3 0
-+ #define CONFIG_LIBX262 0
-++#define CONFIG_LIBX264_HDR10 0
-+ #define CONFIG_LLAUDDSP 0
-+ #define CONFIG_LLVIDDSP 0
-+ #define CONFIG_LLVIDENCDSP 0
-+diff --git a/chromium/config/Chromium/ios/arm64/config_components.h b/chromium/config/Chromium/ios/arm64/config_components.h
-+index 7d2f7ea320..9b4b898861 100644
-+--- a/chromium/config/Chromium/ios/arm64/config_components.h
-++++ b/chromium/config/Chromium/ios/arm64/config_components.h
-+@@ -11,6 +11,7 @@
-+ #define CONFIG_DTS2PTS_BSF 0
-+ #define CONFIG_DV_ERROR_MARKER_BSF 0
-+ #define CONFIG_EAC3_CORE_BSF 0
-++#define CONFIG_EVC_FRAME_MERGE_BSF 0
-+ #define CONFIG_EXTRACT_EXTRADATA_BSF 0
-+ #define CONFIG_FILTER_UNITS_BSF 0
-+ #define CONFIG_H264_METADATA_BSF 0
-+@@ -23,7 +24,6 @@
-+ #define CONFIG_MEDIA100_TO_MJPEGB_BSF 0
-+ #define CONFIG_MJPEG2JPEG_BSF 0
-+ #define CONFIG_MJPEGA_DUMP_HEADER_BSF 0
-+-#define CONFIG_MP3_HEADER_DECOMPRESS_BSF 0
-+ #define CONFIG_MPEG2_METADATA_BSF 0
-+ #define CONFIG_MPEG4_UNPACK_BFRAMES_BSF 0
-+ #define CONFIG_MOV2TEXTSUB_BSF 0
-+@@ -45,7 +45,6 @@
-+ #define CONFIG_VP9_SUPERFRAME_SPLIT_BSF 0
-+ #define CONFIG_VVC_METADATA_BSF 0
-+ #define CONFIG_VVC_MP4TOANNEXB_BSF 0
-+-#define CONFIG_EVC_FRAME_MERGE_BSF 0
-+ #define CONFIG_AASC_DECODER 0
-+ #define CONFIG_AIC_DECODER 0
-+ #define CONFIG_ALIAS_PIX_DECODER 0
-+@@ -64,7 +63,6 @@
-+ #define CONFIG_AVRN_DECODER 0
-+ #define CONFIG_AVS_DECODER 0
-+ #define CONFIG_AVUI_DECODER 0
-+-#define CONFIG_AYUV_DECODER 0
-+ #define CONFIG_BETHSOFTVID_DECODER 0
-+ #define CONFIG_BFI_DECODER 0
-+ #define CONFIG_BINK_DECODER 0
-+@@ -131,7 +129,6 @@
-+ #define CONFIG_H263P_DECODER 0
-+ #define CONFIG_H263_V4L2M2M_DECODER 0
-+ #define CONFIG_H264_DECODER 0
-+-#define CONFIG_H264_CRYSTALHD_DECODER 0
-+ #define CONFIG_H264_V4L2M2M_DECODER 0
-+ #define CONFIG_H264_MEDIACODEC_DECODER 0
-+ #define CONFIG_H264_MMAL_DECODER 0
-+@@ -179,13 +176,11 @@
-+ #define CONFIG_MPEG1VIDEO_DECODER 0
-+ #define CONFIG_MPEG2VIDEO_DECODER 0
-+ #define CONFIG_MPEG4_DECODER 0
-+-#define CONFIG_MPEG4_CRYSTALHD_DECODER 0
-+ #define CONFIG_MPEG4_V4L2M2M_DECODER 0
-+ #define CONFIG_MPEG4_MMAL_DECODER 0
-+ #define CONFIG_MPEGVIDEO_DECODER 0
-+ #define CONFIG_MPEG1_V4L2M2M_DECODER 0
-+ #define CONFIG_MPEG2_MMAL_DECODER 0
-+-#define CONFIG_MPEG2_CRYSTALHD_DECODER 0
-+ #define CONFIG_MPEG2_V4L2M2M_DECODER 0
-+ #define CONFIG_MPEG2_QSV_DECODER 0
-+ #define CONFIG_MPEG2_MEDIACODEC_DECODER 0
-+@@ -194,7 +189,6 @@
-+ #define CONFIG_MSMPEG4V1_DECODER 0
-+ #define CONFIG_MSMPEG4V2_DECODER 0
-+ #define CONFIG_MSMPEG4V3_DECODER 0
-+-#define CONFIG_MSMPEG4_CRYSTALHD_DECODER 0
-+ #define CONFIG_MSP2_DECODER 0
-+ #define CONFIG_MSRLE_DECODER 0
-+ #define CONFIG_MSS1_DECODER 0
-+@@ -293,7 +287,6 @@
-+ #define CONFIG_VBN_DECODER 0
-+ #define CONFIG_VBLE_DECODER 0
-+ #define CONFIG_VC1_DECODER 0
-+-#define CONFIG_VC1_CRYSTALHD_DECODER 0
-+ #define CONFIG_VC1IMAGE_DECODER 0
-+ #define CONFIG_VC1_MMAL_DECODER 0
-+ #define CONFIG_VC1_QSV_DECODER 0
-+@@ -325,7 +318,6 @@
-+ #define CONFIG_WMV1_DECODER 0
-+ #define CONFIG_WMV2_DECODER 0
-+ #define CONFIG_WMV3_DECODER 0
-+-#define CONFIG_WMV3_CRYSTALHD_DECODER 0
-+ #define CONFIG_WMV3IMAGE_DECODER 0
-+ #define CONFIG_WNV1_DECODER 0
-+ #define CONFIG_XAN_WC3_DECODER 0
-+@@ -592,6 +584,7 @@
-+ #define CONFIG_LIBGSM_MS_DECODER 0
-+ #define CONFIG_LIBILBC_DECODER 0
-+ #define CONFIG_LIBJXL_DECODER 0
-++#define CONFIG_LIBLC3_DECODER 0
-+ #define CONFIG_LIBOPENCORE_AMRNB_DECODER 0
-+ #define CONFIG_LIBOPENCORE_AMRWB_DECODER 0
-+ #define CONFIG_LIBOPUS_DECODER 1
-+@@ -639,7 +632,6 @@
-+ #define CONFIG_ASV2_ENCODER 0
-+ #define CONFIG_AVRP_ENCODER 0
-+ #define CONFIG_AVUI_ENCODER 0
-+-#define CONFIG_AYUV_ENCODER 0
-+ #define CONFIG_BITPACKED_ENCODER 0
-+ #define CONFIG_BMP_ENCODER 0
-+ #define CONFIG_CFHD_ENCODER 0
-+@@ -821,6 +813,7 @@
-+ #define CONFIG_LIBGSM_MS_ENCODER 0
-+ #define CONFIG_LIBILBC_ENCODER 0
-+ #define CONFIG_LIBJXL_ENCODER 0
-++#define CONFIG_LIBLC3_ENCODER 0
-+ #define CONFIG_LIBMP3LAME_ENCODER 0
-+ #define CONFIG_LIBOPENCORE_AMRNB_ENCODER 0
-+ #define CONFIG_LIBOPENJPEG_ENCODER 0
-+@@ -1573,6 +1566,8 @@
-+ #define CONFIG_HSTACK_QSV_FILTER 0
-+ #define CONFIG_VSTACK_QSV_FILTER 0
-+ #define CONFIG_XSTACK_QSV_FILTER 0
-++#define CONFIG_PAD_VAAPI_FILTER 0
-++#define CONFIG_DRAWBOX_VAAPI_FILTER 0
-+ #define CONFIG_ALLRGB_FILTER 0
-+ #define CONFIG_ALLYUV_FILTER 0
-+ #define CONFIG_CELLAUTO_FILTER 0
-+@@ -1706,6 +1701,7 @@
-+ #define CONFIG_DV_DEMUXER 0
-+ #define CONFIG_DVBSUB_DEMUXER 0
-+ #define CONFIG_DVBTXT_DEMUXER 0
-++#define CONFIG_DVDVIDEO_DEMUXER 0
-+ #define CONFIG_DXA_DEMUXER 0
-+ #define CONFIG_EA_DEMUXER 0
-+ #define CONFIG_EA_CDATA_DEMUXER 0
-+@@ -1767,6 +1763,7 @@
-+ #define CONFIG_KUX_DEMUXER 0
-+ #define CONFIG_KVAG_DEMUXER 0
-+ #define CONFIG_LAF_DEMUXER 0
-++#define CONFIG_LC3_DEMUXER 0
-+ #define CONFIG_LMLM4_DEMUXER 0
-+ #define CONFIG_LOAS_DEMUXER 0
-+ #define CONFIG_LUODAT_DEMUXER 0
-+@@ -1850,6 +1847,7 @@
-+ #define CONFIG_QOA_DEMUXER 0
-+ #define CONFIG_R3D_DEMUXER 0
-+ #define CONFIG_RAWVIDEO_DEMUXER 0
-++#define CONFIG_RCWT_DEMUXER 0
-+ #define CONFIG_REALTEXT_DEMUXER 0
-+ #define CONFIG_REDSPARK_DEMUXER 0
-+ #define CONFIG_RKA_DEMUXER 0
-+@@ -1987,6 +1985,7 @@
-+ #define CONFIG_AC4_MUXER 0
-+ #define CONFIG_ADTS_MUXER 0
-+ #define CONFIG_ADX_MUXER 0
-++#define CONFIG_AEA_MUXER 0
-+ #define CONFIG_AIFF_MUXER 0
-+ #define CONFIG_ALP_MUXER 0
-+ #define CONFIG_AMR_MUXER 0
-+@@ -2026,7 +2025,6 @@
-+ #define CONFIG_F4V_MUXER 0
-+ #define CONFIG_FFMETADATA_MUXER 0
-+ #define CONFIG_FIFO_MUXER 0
-+-#define CONFIG_FIFO_TEST_MUXER 0
-+ #define CONFIG_FILMSTRIP_MUXER 0
-+ #define CONFIG_FITS_MUXER 0
-+ #define CONFIG_FLAC_MUXER 0
-+@@ -2060,6 +2058,7 @@
-+ #define CONFIG_JACOSUB_MUXER 0
-+ #define CONFIG_KVAG_MUXER 0
-+ #define CONFIG_LATM_MUXER 0
-++#define CONFIG_LC3_MUXER 0
-+ #define CONFIG_LRC_MUXER 0
-+ #define CONFIG_M4V_MUXER 0
-+ #define CONFIG_MD5_MUXER 0
-+@@ -2162,6 +2161,7 @@
-+ #define CONFIG_WV_MUXER 0
-+ #define CONFIG_YUV4MPEGPIPE_MUXER 0
-+ #define CONFIG_CHROMAPRINT_MUXER 0
-++#define CONFIG_ANDROID_CONTENT_PROTOCOL 0
-+ #define CONFIG_ASYNC_PROTOCOL 0
-+ #define CONFIG_BLURAY_PROTOCOL 0
-+ #define CONFIG_CACHE_PROTOCOL 0
-+diff --git a/chromium/config/Chromium/ios/arm64/libavformat/demuxer_list.c b/chromium/config/Chromium/ios/arm64/libavformat/demuxer_list.c
-+index 1908ba19e7..570a6441d3 100644
-+--- a/chromium/config/Chromium/ios/arm64/libavformat/demuxer_list.c
-++++ b/chromium/config/Chromium/ios/arm64/libavformat/demuxer_list.c
-+@@ -1,4 +1,4 @@
-+-static const AVInputFormat * const demuxer_list[] = {
-++static const FFInputFormat * const demuxer_list[] = {
-+ &ff_flac_demuxer,
-+ &ff_matroska_demuxer,
-+ &ff_mov_demuxer,
-+diff --git a/chromium/config/Chromium/ios/arm64/libavutil/ffversion.h b/chromium/config/Chromium/ios/arm64/libavutil/ffversion.h
-+index e32799b284..63ce2ac5f8 100644
-+--- a/chromium/config/Chromium/ios/arm64/libavutil/ffversion.h
-++++ b/chromium/config/Chromium/ios/arm64/libavutil/ffversion.h
-+@@ -1,5 +1,5 @@
-+ /* Automatically generated by version.sh, do not manually edit! */
-+ #ifndef AVUTIL_FFVERSION_H
-+ #define AVUTIL_FFVERSION_H
-+-#define FFMPEG_VERSION "N-115016-g631703bfb9"
-++#define FFMPEG_VERSION "N-116569-gd0c8e13654"
-+ #endif /* AVUTIL_FFVERSION_H */
-+diff --git a/chromium/config/Chromium/ios/x64/config.asm b/chromium/config/Chromium/ios/x64/config.asm
-+index e6a75b6deb..85470e7fa0 100644
-+--- a/chromium/config/Chromium/ios/x64/config.asm
-++++ b/chromium/config/Chromium/ios/x64/config.asm
-+@@ -44,6 +44,7 @@
-+ %define HAVE_VSX 0
-+ %define HAVE_RV 0
-+ %define HAVE_RVV 0
-++%define HAVE_RV_ZVBB 0
-+ %define HAVE_AESNI 1
-+ %define HAVE_AMD3DNOW 1
-+ %define HAVE_AMD3DNOWEXT 1
-+@@ -62,7 +63,6 @@
-+ %define HAVE_SSE42 1
-+ %define HAVE_SSSE3 1
-+ %define HAVE_XOP 1
-+-%define HAVE_CPUNOP 0
-+ %define HAVE_I686 1
-+ %define HAVE_MIPSFPU 0
-+ %define HAVE_MIPS32R2 0
-+@@ -96,6 +96,7 @@
-+ %define HAVE_VSX_EXTERNAL 0
-+ %define HAVE_RV_EXTERNAL 0
-+ %define HAVE_RVV_EXTERNAL 0
-++%define HAVE_RV_ZVBB_EXTERNAL 0
-+ %define HAVE_AESNI_EXTERNAL 1
-+ %define HAVE_AMD3DNOW_EXTERNAL 1
-+ %define HAVE_AMD3DNOWEXT_EXTERNAL 1
-+@@ -114,7 +115,6 @@
-+ %define HAVE_SSE42_EXTERNAL 1
-+ %define HAVE_SSSE3_EXTERNAL 1
-+ %define HAVE_XOP_EXTERNAL 1
-+-%define HAVE_CPUNOP_EXTERNAL 0
-+ %define HAVE_I686_EXTERNAL 0
-+ %define HAVE_MIPSFPU_EXTERNAL 0
-+ %define HAVE_MIPS32R2_EXTERNAL 0
-+@@ -148,6 +148,7 @@
-+ %define HAVE_VSX_INLINE 0
-+ %define HAVE_RV_INLINE 0
-+ %define HAVE_RVV_INLINE 0
-++%define HAVE_RV_ZVBB_INLINE 0
-+ %define HAVE_AESNI_INLINE 1
-+ %define HAVE_AMD3DNOW_INLINE 1
-+ %define HAVE_AMD3DNOWEXT_INLINE 1
-+@@ -166,7 +167,6 @@
-+ %define HAVE_SSE42_INLINE 1
-+ %define HAVE_SSSE3_INLINE 1
-+ %define HAVE_XOP_INLINE 1
-+-%define HAVE_CPUNOP_INLINE 0
-+ %define HAVE_I686_INLINE 0
-+ %define HAVE_MIPSFPU_INLINE 0
-+ %define HAVE_MIPS32R2_INLINE 0
-+@@ -204,6 +204,7 @@
-+ %define HAVE_BIGENDIAN 0
-+ %define HAVE_FAST_UNALIGNED 1
-+ %define HAVE_ARPA_INET_H 0
-++%define HAVE_ASM_HWPROBE_H 0
-+ %define HAVE_ASM_TYPES_H 0
-+ %define HAVE_CDIO_PARANOIA_H 0
-+ %define HAVE_CDIO_PARANOIA_PARANOIA_H 0
-+@@ -230,6 +231,7 @@
-+ %define HAVE_OPENGL_GL3_H 0
-+ %define HAVE_POLL_H 1
-+ %define HAVE_PTHREAD_NP_H 0
-++%define HAVE_SYS_HWPROBE_H 0
-+ %define HAVE_SYS_PARAM_H 1
-+ %define HAVE_SYS_RESOURCE_H 1
-+ %define HAVE_SYS_SELECT_H 1
-+@@ -403,6 +405,7 @@
-+ %define HAVE_STRUCT_SOCKADDR_STORAGE 0
-+ %define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 0
-+ %define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 0
-++%define HAVE_STRUCT_MFXCONFIGINTERFACE 0
-+ %define HAVE_GZIP 1
-+ %define HAVE_LIBDRM_GETFB2 0
-+ %define HAVE_MAKEINFO 0
-+@@ -413,6 +416,7 @@
-+ %define HAVE_OPENCL_DXVA2 0
-+ %define HAVE_OPENCL_VAAPI_BEIGNET 0
-+ %define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0
-++%define HAVE_OPENCL_VIDEOTOOLBOX 0
-+ %define HAVE_PERL 1
-+ %define HAVE_POD2MAN 1
-+ %define HAVE_TEXI2HTML 0
-+@@ -452,6 +456,8 @@
-+ %define CONFIG_FREI0R 0
-+ %define CONFIG_LIBCDIO 0
-+ %define CONFIG_LIBDAVS2 0
-++%define CONFIG_LIBDVDNAV 0
-++%define CONFIG_LIBDVDREAD 0
-+ %define CONFIG_LIBRUBBERBAND 0
-+ %define CONFIG_LIBVIDSTAB 0
-+ %define CONFIG_LIBX264 0
-+@@ -501,6 +507,7 @@
-+ %define CONFIG_LIBJXL 0
-+ %define CONFIG_LIBKLVANC 0
-+ %define CONFIG_LIBKVAZAAR 0
-++%define CONFIG_LIBLC3 0
-+ %define CONFIG_LIBMODPLUG 0
-+ %define CONFIG_LIBMP3LAME 0
-+ %define CONFIG_LIBMYSOFA 0
-+@@ -531,6 +538,7 @@
-+ %define CONFIG_LIBTENSORFLOW 0
-+ %define CONFIG_LIBTESSERACT 0
-+ %define CONFIG_LIBTHEORA 0
-++%define CONFIG_LIBTORCH 0
-+ %define CONFIG_LIBTWOLAME 0
-+ %define CONFIG_LIBUAVS3D 0
-+ %define CONFIG_LIBV4L2 0
-+@@ -580,7 +588,6 @@
-+ %define CONFIG_OPENCL 0
-+ %define CONFIG_AMF 0
-+ %define CONFIG_AUDIOTOOLBOX 0
-+-%define CONFIG_CRYSTALHD 0
-+ %define CONFIG_CUDA 0
-+ %define CONFIG_CUDA_LLVM 0
-+ %define CONFIG_CUVID 0
-+@@ -624,6 +631,7 @@
-+ %define CONFIG_ERROR_RESILIENCE 0
-+ %define CONFIG_FAAN 0
-+ %define CONFIG_FAST_UNALIGNED 1
-++%define CONFIG_IAMF 0
-+ %define CONFIG_LSP 0
-+ %define CONFIG_PIXELUTILS 0
-+ %define CONFIG_NETWORK 0
-+@@ -672,7 +680,8 @@
-+ %define CONFIG_DEFLATE_WRAPPER 0
-+ %define CONFIG_DIRAC_PARSE 1
-+ %define CONFIG_DNN 0
-+-%define CONFIG_DOVI_RPU 0
-++%define CONFIG_DOVI_RPUDEC 0
-++%define CONFIG_DOVI_RPUENC 0
-+ %define CONFIG_DVPROFILE 0
-+ %define CONFIG_EVCPARSE 0
-+ %define CONFIG_EXIF 0
-+@@ -704,10 +713,12 @@
-+ %define CONFIG_INFLATE_WRAPPER 0
-+ %define CONFIG_INTRAX8 0
-+ %define CONFIG_ISO_MEDIA 1
-++%define CONFIG_ISO_WRITER 0
-+ %define CONFIG_IVIDSP 0
-+ %define CONFIG_JPEGTABLES 0
-+ %define CONFIG_LGPLV3 0
-+ %define CONFIG_LIBX262 0
-++%define CONFIG_LIBX264_HDR10 0
-+ %define CONFIG_LLAUDDSP 0
-+ %define CONFIG_LLVIDDSP 0
-+ %define CONFIG_LLVIDENCDSP 0
-+diff --git a/chromium/config/Chromium/ios/x64/config.h b/chromium/config/Chromium/ios/x64/config.h
-+index aad723d910..59f14e9b14 100644
-+--- a/chromium/config/Chromium/ios/x64/config.h
-++++ b/chromium/config/Chromium/ios/x64/config.h
-+@@ -1,14 +1,13 @@
-+ /* Automatically generated by configure - do not modify! */
-+ #ifndef FFMPEG_CONFIG_H
-+ #define FFMPEG_CONFIG_H
-+-/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/usr/local/google/home/ezemtsov/projects/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-pic --cc=clang --cxx=clang++ --ld=clang --enable-cr
oss-compile --cc=clang --ld=ld64.lld --nm=llvm-nm --ar=llvm-ar --target-os=darwin --extra-cflags='--target=x86_64-apple-macosx' --extra-cflags=-F/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks --extra-cflags='-mmacosx-version-min=10.10' --extra-cflags=-fblocks --extra-cflags=-nostdinc --extra-cflags=-isystem/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include --extra-cflags=-isystem/usr/local/google/home/ezemtsov/projects/chromium/src/third_party/llvm-build/Release+Asserts/lib/clang/19/include --extra-ldflags=-syslibroot --extra-ldflags=/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk --extra-ldflags=-L/usr/local/google/home/ezemtsov
/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib --extra-ldflags=-lSystem --extra-ldflags=-macosx_version_min --extra-ldflags=10.10 --extra-ldflags=-sdk_version --extra-ldflags=10.10 --extra-ldflags=-platform_version --extra-ldflags=macos --extra-ldflags=10.10 --extra-ldflags=10.10 --arch=x86_64 --extra-cflags=-m64 --extra-ldflags='-arch x86_64'" -- elide long configuration string from binary */
-++/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/usr/local/google/home/dalecurtis/code/chrome/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-pic --cc=clang --cxx=clang++ --ld=clang
--enable-cross-compile --cc=clang --ld=ld64.lld --nm=llvm-nm --ar=llvm-ar --target-os=darwin --extra-cflags='--target=x86_64-apple-macosx' --extra-cflags=-F/usr/local/google/home/dalecurtis/code/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks --extra-cflags='-mmacosx-version-min=10.10' --extra-cflags=-fblocks --extra-cflags=-nostdinc --extra-cflags=-isystem/usr/local/google/home/dalecurtis/code/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include --extra-cflags=-isystem/usr/local/google/home/dalecurtis/code/chrome/src/third_party/llvm-build/Release+Asserts/lib/clang/19/include --extra-ldflags=-syslibroot --extra-ldflags=/usr/local/google/home/dalecurtis/code/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk --extra-ldflags=-L/usr/local/google/home/dalecurtis/co
de/chrome/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib --extra-ldflags=-lSystem --extra-ldflags=-macosx_version_min --extra-ldflags=10.10 --extra-ldflags=-sdk_version --extra-ldflags=10.10 --extra-ldflags=-platform_version --extra-ldflags=macos --extra-ldflags=10.10 --extra-ldflags=10.10 --arch=x86_64 --extra-cflags=-m64 --extra-ldflags='-arch x86_64'" -- elide long configuration string from binary */
-+ #define FFMPEG_LICENSE "LGPL version 2.1 or later"
-+ #define CONFIG_THIS_YEAR 2024
-+ #define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
-+ #define AVCONV_DATADIR "/usr/local/share/ffmpeg"
-+-#define CC_IDENT "clang version 19.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project 7c4c274643cedcf9671e1db65361231a7d9bee70)"
-++#define CC_IDENT "clang version 19.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project 084e2b53d22c11e013b0a495b65d39aa7f934048)"
-+ #define OS_NAME darwin
-+-#define av_restrict restrict
-+ #define EXTERN_PREFIX "_"
-+ #define EXTERN_ASM _
-+ #define BUILDSUF ""
-+@@ -59,6 +58,7 @@
-+ #define HAVE_VSX 0
-+ #define HAVE_RV 0
-+ #define HAVE_RVV 0
-++#define HAVE_RV_ZVBB 0
-+ #define HAVE_AESNI 1
-+ #define HAVE_AMD3DNOW 1
-+ #define HAVE_AMD3DNOWEXT 1
-+@@ -77,7 +77,6 @@
-+ #define HAVE_SSE42 1
-+ #define HAVE_SSSE3 1
-+ #define HAVE_XOP 1
-+-#define HAVE_CPUNOP 0
-+ #define HAVE_I686 1
-+ #define HAVE_MIPSFPU 0
-+ #define HAVE_MIPS32R2 0
-+@@ -111,6 +110,7 @@
-+ #define HAVE_VSX_EXTERNAL 0
-+ #define HAVE_RV_EXTERNAL 0
-+ #define HAVE_RVV_EXTERNAL 0
-++#define HAVE_RV_ZVBB_EXTERNAL 0
-+ #define HAVE_AESNI_EXTERNAL 1
-+ #define HAVE_AMD3DNOW_EXTERNAL 1
-+ #define HAVE_AMD3DNOWEXT_EXTERNAL 1
-+@@ -129,7 +129,6 @@
-+ #define HAVE_SSE42_EXTERNAL 1
-+ #define HAVE_SSSE3_EXTERNAL 1
-+ #define HAVE_XOP_EXTERNAL 1
-+-#define HAVE_CPUNOP_EXTERNAL 0
-+ #define HAVE_I686_EXTERNAL 0
-+ #define HAVE_MIPSFPU_EXTERNAL 0
-+ #define HAVE_MIPS32R2_EXTERNAL 0
-+@@ -163,6 +162,7 @@
-+ #define HAVE_VSX_INLINE 0
-+ #define HAVE_RV_INLINE 0
-+ #define HAVE_RVV_INLINE 0
-++#define HAVE_RV_ZVBB_INLINE 0
-+ #define HAVE_AESNI_INLINE 1
-+ #define HAVE_AMD3DNOW_INLINE 1
-+ #define HAVE_AMD3DNOWEXT_INLINE 1
-+@@ -181,7 +181,6 @@
-+ #define HAVE_SSE42_INLINE 1
-+ #define HAVE_SSSE3_INLINE 1
-+ #define HAVE_XOP_INLINE 1
-+-#define HAVE_CPUNOP_INLINE 0
-+ #define HAVE_I686_INLINE 0
-+ #define HAVE_MIPSFPU_INLINE 0
-+ #define HAVE_MIPS32R2_INLINE 0
-+@@ -219,6 +218,7 @@
-+ #define HAVE_BIGENDIAN 0
-+ #define HAVE_FAST_UNALIGNED 1
-+ #define HAVE_ARPA_INET_H 0
-++#define HAVE_ASM_HWPROBE_H 0
-+ #define HAVE_ASM_TYPES_H 0
-+ #define HAVE_CDIO_PARANOIA_H 0
-+ #define HAVE_CDIO_PARANOIA_PARANOIA_H 0
-+@@ -245,6 +245,7 @@
-+ #define HAVE_OPENGL_GL3_H 0
-+ #define HAVE_POLL_H 1
-+ #define HAVE_PTHREAD_NP_H 0
-++#define HAVE_SYS_HWPROBE_H 0
-+ #define HAVE_SYS_PARAM_H 1
-+ #define HAVE_SYS_RESOURCE_H 1
-+ #define HAVE_SYS_SELECT_H 1
-+@@ -418,6 +419,7 @@
-+ #define HAVE_STRUCT_SOCKADDR_STORAGE 0
-+ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 0
-+ #define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 0
-++#define HAVE_STRUCT_MFXCONFIGINTERFACE 0
-+ #define HAVE_GZIP 1
-+ #define HAVE_LIBDRM_GETFB2 0
-+ #define HAVE_MAKEINFO 0
-+@@ -428,6 +430,7 @@
-+ #define HAVE_OPENCL_DXVA2 0
-+ #define HAVE_OPENCL_VAAPI_BEIGNET 0
-+ #define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0
-++#define HAVE_OPENCL_VIDEOTOOLBOX 0
-+ #define HAVE_PERL 1
-+ #define HAVE_POD2MAN 1
-+ #define HAVE_TEXI2HTML 0
-+@@ -467,6 +470,8 @@
-+ #define CONFIG_FREI0R 0
-+ #define CONFIG_LIBCDIO 0
-+ #define CONFIG_LIBDAVS2 0
-++#define CONFIG_LIBDVDNAV 0
-++#define CONFIG_LIBDVDREAD 0
-+ #define CONFIG_LIBRUBBERBAND 0
-+ #define CONFIG_LIBVIDSTAB 0
-+ #define CONFIG_LIBX264 0
-+@@ -516,6 +521,7 @@
-+ #define CONFIG_LIBJXL 0
-+ #define CONFIG_LIBKLVANC 0
-+ #define CONFIG_LIBKVAZAAR 0
-++#define CONFIG_LIBLC3 0
-+ #define CONFIG_LIBMODPLUG 0
-+ #define CONFIG_LIBMP3LAME 0
-+ #define CONFIG_LIBMYSOFA 0
-+@@ -546,6 +552,7 @@
-+ #define CONFIG_LIBTENSORFLOW 0
-+ #define CONFIG_LIBTESSERACT 0
-+ #define CONFIG_LIBTHEORA 0
-++#define CONFIG_LIBTORCH 0
-+ #define CONFIG_LIBTWOLAME 0
-+ #define CONFIG_LIBUAVS3D 0
-+ #define CONFIG_LIBV4L2 0
-+@@ -595,7 +602,6 @@
-+ #define CONFIG_OPENCL 0
-+ #define CONFIG_AMF 0
-+ #define CONFIG_AUDIOTOOLBOX 0
-+-#define CONFIG_CRYSTALHD 0
-+ #define CONFIG_CUDA 0
-+ #define CONFIG_CUDA_LLVM 0
-+ #define CONFIG_CUVID 0
-+@@ -639,6 +645,7 @@
-+ #define CONFIG_ERROR_RESILIENCE 0
-+ #define CONFIG_FAAN 0
-+ #define CONFIG_FAST_UNALIGNED 1
-++#define CONFIG_IAMF 0
-+ #define CONFIG_LSP 0
-+ #define CONFIG_PIXELUTILS 0
-+ #define CONFIG_NETWORK 0
-+@@ -687,7 +694,8 @@
-+ #define CONFIG_DEFLATE_WRAPPER 0
-+ #define CONFIG_DIRAC_PARSE 1
-+ #define CONFIG_DNN 0
-+-#define CONFIG_DOVI_RPU 0
-++#define CONFIG_DOVI_RPUDEC 0
-++#define CONFIG_DOVI_RPUENC 0
-+ #define CONFIG_DVPROFILE 0
-+ #define CONFIG_EVCPARSE 0
-+ #define CONFIG_EXIF 0
-+@@ -719,10 +727,12 @@
-+ #define CONFIG_INFLATE_WRAPPER 0
-+ #define CONFIG_INTRAX8 0
-+ #define CONFIG_ISO_MEDIA 1
-++#define CONFIG_ISO_WRITER 0
-+ #define CONFIG_IVIDSP 0
-+ #define CONFIG_JPEGTABLES 0
-+ #define CONFIG_LGPLV3 0
-+ #define CONFIG_LIBX262 0
-++#define CONFIG_LIBX264_HDR10 0
-+ #define CONFIG_LLAUDDSP 0
-+ #define CONFIG_LLVIDDSP 0
-+ #define CONFIG_LLVIDENCDSP 0
-+diff --git a/chromium/config/Chromium/ios/x64/config_components.h b/chromium/config/Chromium/ios/x64/config_components.h
-+index 7d2f7ea320..9b4b898861 100644
-+--- a/chromium/config/Chromium/ios/x64/config_components.h
-++++ b/chromium/config/Chromium/ios/x64/config_components.h
-+@@ -11,6 +11,7 @@
-+ #define CONFIG_DTS2PTS_BSF 0
-+ #define CONFIG_DV_ERROR_MARKER_BSF 0
-+ #define CONFIG_EAC3_CORE_BSF 0
-++#define CONFIG_EVC_FRAME_MERGE_BSF 0
-+ #define CONFIG_EXTRACT_EXTRADATA_BSF 0
-+ #define CONFIG_FILTER_UNITS_BSF 0
-+ #define CONFIG_H264_METADATA_BSF 0
-+@@ -23,7 +24,6 @@
-+ #define CONFIG_MEDIA100_TO_MJPEGB_BSF 0
-+ #define CONFIG_MJPEG2JPEG_BSF 0
-+ #define CONFIG_MJPEGA_DUMP_HEADER_BSF 0
-+-#define CONFIG_MP3_HEADER_DECOMPRESS_BSF 0
-+ #define CONFIG_MPEG2_METADATA_BSF 0
-+ #define CONFIG_MPEG4_UNPACK_BFRAMES_BSF 0
-+ #define CONFIG_MOV2TEXTSUB_BSF 0
-+@@ -45,7 +45,6 @@
-+ #define CONFIG_VP9_SUPERFRAME_SPLIT_BSF 0
-+ #define CONFIG_VVC_METADATA_BSF 0
-+ #define CONFIG_VVC_MP4TOANNEXB_BSF 0
-+-#define CONFIG_EVC_FRAME_MERGE_BSF 0
-+ #define CONFIG_AASC_DECODER 0
-+ #define CONFIG_AIC_DECODER 0
-+ #define CONFIG_ALIAS_PIX_DECODER 0
-+@@ -64,7 +63,6 @@
-+ #define CONFIG_AVRN_DECODER 0
-+ #define CONFIG_AVS_DECODER 0
-+ #define CONFIG_AVUI_DECODER 0
-+-#define CONFIG_AYUV_DECODER 0
-+ #define CONFIG_BETHSOFTVID_DECODER 0
-+ #define CONFIG_BFI_DECODER 0
-+ #define CONFIG_BINK_DECODER 0
-+@@ -131,7 +129,6 @@
-+ #define CONFIG_H263P_DECODER 0
-+ #define CONFIG_H263_V4L2M2M_DECODER 0
-+ #define CONFIG_H264_DECODER 0
-+-#define CONFIG_H264_CRYSTALHD_DECODER 0
-+ #define CONFIG_H264_V4L2M2M_DECODER 0
-+ #define CONFIG_H264_MEDIACODEC_DECODER 0
-+ #define CONFIG_H264_MMAL_DECODER 0
-+@@ -179,13 +176,11 @@
-+ #define CONFIG_MPEG1VIDEO_DECODER 0
-+ #define CONFIG_MPEG2VIDEO_DECODER 0
-+ #define CONFIG_MPEG4_DECODER 0
-+-#define CONFIG_MPEG4_CRYSTALHD_DECODER 0
-+ #define CONFIG_MPEG4_V4L2M2M_DECODER 0
-+ #define CONFIG_MPEG4_MMAL_DECODER 0
-+ #define CONFIG_MPEGVIDEO_DECODER 0
-+ #define CONFIG_MPEG1_V4L2M2M_DECODER 0
-+ #define CONFIG_MPEG2_MMAL_DECODER 0
-+-#define CONFIG_MPEG2_CRYSTALHD_DECODER 0
-+ #define CONFIG_MPEG2_V4L2M2M_DECODER 0
-+ #define CONFIG_MPEG2_QSV_DECODER 0
-+ #define CONFIG_MPEG2_MEDIACODEC_DECODER 0
-+@@ -194,7 +189,6 @@
-+ #define CONFIG_MSMPEG4V1_DECODER 0
-+ #define CONFIG_MSMPEG4V2_DECODER 0
-+ #define CONFIG_MSMPEG4V3_DECODER 0
-+-#define CONFIG_MSMPEG4_CRYSTALHD_DECODER 0
-+ #define CONFIG_MSP2_DECODER 0
-+ #define CONFIG_MSRLE_DECODER 0
-+ #define CONFIG_MSS1_DECODER 0
-+@@ -293,7 +287,6 @@
-+ #define CONFIG_VBN_DECODER 0
-+ #define CONFIG_VBLE_DECODER 0
-+ #define CONFIG_VC1_DECODER 0
-+-#define CONFIG_VC1_CRYSTALHD_DECODER 0
-+ #define CONFIG_VC1IMAGE_DECODER 0
-+ #define CONFIG_VC1_MMAL_DECODER 0
-+ #define CONFIG_VC1_QSV_DECODER 0
-+@@ -325,7 +318,6 @@
-+ #define CONFIG_WMV1_DECODER 0
-+ #define CONFIG_WMV2_DECODER 0
-+ #define CONFIG_WMV3_DECODER 0
-+-#define CONFIG_WMV3_CRYSTALHD_DECODER 0
-+ #define CONFIG_WMV3IMAGE_DECODER 0
-+ #define CONFIG_WNV1_DECODER 0
-+ #define CONFIG_XAN_WC3_DECODER 0
-+@@ -592,6 +584,7 @@
-+ #define CONFIG_LIBGSM_MS_DECODER 0
-+ #define CONFIG_LIBILBC_DECODER 0
-+ #define CONFIG_LIBJXL_DECODER 0
-++#define CONFIG_LIBLC3_DECODER 0
-+ #define CONFIG_LIBOPENCORE_AMRNB_DECODER 0
-+ #define CONFIG_LIBOPENCORE_AMRWB_DECODER 0
-+ #define CONFIG_LIBOPUS_DECODER 1
-+@@ -639,7 +632,6 @@
-+ #define CONFIG_ASV2_ENCODER 0
-+ #define CONFIG_AVRP_ENCODER 0
-+ #define CONFIG_AVUI_ENCODER 0
-+-#define CONFIG_AYUV_ENCODER 0
-+ #define CONFIG_BITPACKED_ENCODER 0
-+ #define CONFIG_BMP_ENCODER 0
-+ #define CONFIG_CFHD_ENCODER 0
-+@@ -821,6 +813,7 @@
-+ #define CONFIG_LIBGSM_MS_ENCODER 0
-+ #define CONFIG_LIBILBC_ENCODER 0
-+ #define CONFIG_LIBJXL_ENCODER 0
-++#define CONFIG_LIBLC3_ENCODER 0
-+ #define CONFIG_LIBMP3LAME_ENCODER 0
-+ #define CONFIG_LIBOPENCORE_AMRNB_ENCODER 0
-+ #define CONFIG_LIBOPENJPEG_ENCODER 0
-+@@ -1573,6 +1566,8 @@
-+ #define CONFIG_HSTACK_QSV_FILTER 0
-+ #define CONFIG_VSTACK_QSV_FILTER 0
-+ #define CONFIG_XSTACK_QSV_FILTER 0
-++#define CONFIG_PAD_VAAPI_FILTER 0
-++#define CONFIG_DRAWBOX_VAAPI_FILTER 0
-+ #define CONFIG_ALLRGB_FILTER 0
-+ #define CONFIG_ALLYUV_FILTER 0
-+ #define CONFIG_CELLAUTO_FILTER 0
-+@@ -1706,6 +1701,7 @@
-+ #define CONFIG_DV_DEMUXER 0
-+ #define CONFIG_DVBSUB_DEMUXER 0
-+ #define CONFIG_DVBTXT_DEMUXER 0
-++#define CONFIG_DVDVIDEO_DEMUXER 0
-+ #define CONFIG_DXA_DEMUXER 0
-+ #define CONFIG_EA_DEMUXER 0
-+ #define CONFIG_EA_CDATA_DEMUXER 0
-+@@ -1767,6 +1763,7 @@
-+ #define CONFIG_KUX_DEMUXER 0
-+ #define CONFIG_KVAG_DEMUXER 0
-+ #define CONFIG_LAF_DEMUXER 0
-++#define CONFIG_LC3_DEMUXER 0
-+ #define CONFIG_LMLM4_DEMUXER 0
-+ #define CONFIG_LOAS_DEMUXER 0
-+ #define CONFIG_LUODAT_DEMUXER 0
-+@@ -1850,6 +1847,7 @@
-+ #define CONFIG_QOA_DEMUXER 0
-+ #define CONFIG_R3D_DEMUXER 0
-+ #define CONFIG_RAWVIDEO_DEMUXER 0
-++#define CONFIG_RCWT_DEMUXER 0
-+ #define CONFIG_REALTEXT_DEMUXER 0
-+ #define CONFIG_REDSPARK_DEMUXER 0
-+ #define CONFIG_RKA_DEMUXER 0
-+@@ -1987,6 +1985,7 @@
-+ #define CONFIG_AC4_MUXER 0
-+ #define CONFIG_ADTS_MUXER 0
-+ #define CONFIG_ADX_MUXER 0
-++#define CONFIG_AEA_MUXER 0
-+ #define CONFIG_AIFF_MUXER 0
-+ #define CONFIG_ALP_MUXER 0
-+ #define CONFIG_AMR_MUXER 0
-+@@ -2026,7 +2025,6 @@
-+ #define CONFIG_F4V_MUXER 0
-+ #define CONFIG_FFMETADATA_MUXER 0
-+ #define CONFIG_FIFO_MUXER 0
-+-#define CONFIG_FIFO_TEST_MUXER 0
-+ #define CONFIG_FILMSTRIP_MUXER 0
-+ #define CONFIG_FITS_MUXER 0
-+ #define CONFIG_FLAC_MUXER 0
-+@@ -2060,6 +2058,7 @@
-+ #define CONFIG_JACOSUB_MUXER 0
-+ #define CONFIG_KVAG_MUXER 0
-+ #define CONFIG_LATM_MUXER 0
-++#define CONFIG_LC3_MUXER 0
-+ #define CONFIG_LRC_MUXER 0
-+ #define CONFIG_M4V_MUXER 0
-+ #define CONFIG_MD5_MUXER 0
-+@@ -2162,6 +2161,7 @@
-+ #define CONFIG_WV_MUXER 0
-+ #define CONFIG_YUV4MPEGPIPE_MUXER 0
-+ #define CONFIG_CHROMAPRINT_MUXER 0
-++#define CONFIG_ANDROID_CONTENT_PROTOCOL 0
-+ #define CONFIG_ASYNC_PROTOCOL 0
-+ #define CONFIG_BLURAY_PROTOCOL 0
-+ #define CONFIG_CACHE_PROTOCOL 0
-+diff --git a/chromium/config/Chromium/ios/x64/libavformat/demuxer_list.c b/chromium/config/Chromium/ios/x64/libavformat/demuxer_list.c
-+index 1908ba19e7..570a6441d3 100644
-+--- a/chromium/config/Chromium/ios/x64/libavformat/demuxer_list.c
-++++ b/chromium/config/Chromium/ios/x64/libavformat/demuxer_list.c
-+@@ -1,4 +1,4 @@
-+-static const AVInputFormat * const demuxer_list[] = {
-++static const FFInputFormat * const demuxer_list[] = {
-+ &ff_flac_demuxer,
-+ &ff_matroska_demuxer,
-+ &ff_mov_demuxer,
-+diff --git a/chromium/config/Chromium/ios/x64/libavutil/ffversion.h b/chromium/config/Chromium/ios/x64/libavutil/ffversion.h
-+index e32799b284..63ce2ac5f8 100644
-+--- a/chromium/config/Chromium/ios/x64/libavutil/ffversion.h
-++++ b/chromium/config/Chromium/ios/x64/libavutil/ffversion.h
-+@@ -1,5 +1,5 @@
-+ /* Automatically generated by version.sh, do not manually edit! */
-+ #ifndef AVUTIL_FFVERSION_H
-+ #define AVUTIL_FFVERSION_H
-+-#define FFMPEG_VERSION "N-115016-g631703bfb9"
-++#define FFMPEG_VERSION "N-116569-gd0c8e13654"
-+ #endif /* AVUTIL_FFVERSION_H */
-+diff --git a/ffmpeg_generated.gni b/ffmpeg_generated.gni
-+index 37155be221..646895d03a 100644
-+--- a/ffmpeg_generated.gni
-++++ b/ffmpeg_generated.gni
-+@@ -14,18 +14,12 @@ ffmpeg_asm_sources = []
-+
-+ use_linux_config = is_linux || is_chromeos || is_fuchsia
-+
-+-if (current_cpu == "arm64" || current_cpu == "x64" ||
-+- (is_android && current_cpu == "arm" && arm_use_neon) ||
-+- (is_android && current_cpu == "x86") || is_apple || is_win ||
-+- use_linux_config) {
-++if (use_linux_config && current_cpu == "riscv64") {
-+ ffmpeg_c_sources += [
-+ "libavcodec/ac3_channel_layout_tab.c",
-+ "libavcodec/ac3_parser.c",
-+ "libavcodec/adts_parser.c",
-+ "libavcodec/allcodecs.c",
-+- "libavcodec/autorename_libavcodec_flacdsp.c",
-+- "libavcodec/autorename_libavcodec_mpegaudiodsp.c",
-+- "libavcodec/autorename_libavcodec_vorbisdsp.c",
-+ "libavcodec/avcodec.c",
-+ "libavcodec/avdct.c",
-+ "libavcodec/avfft.c",
-+@@ -45,6 +39,7 @@ if (current_cpu == "arm64" || current_cpu == "x64" ||
-+ "libavcodec/flac_parser.c",
-+ "libavcodec/flacdata.c",
-+ "libavcodec/flacdec.c",
-++ "libavcodec/flacdsp.c",
-+ "libavcodec/get_buffer.c",
-+ "libavcodec/golomb.c",
-+ "libavcodec/imgconvert.c",
-+@@ -62,6 +57,7 @@ if (current_cpu == "arm64" || current_cpu == "x64" ||
-+ "libavcodec/mpegaudiodec_common.c",
-+ "libavcodec/mpegaudiodec_fixed.c",
-+ "libavcodec/mpegaudiodecheader.c",
-++ "libavcodec/mpegaudiodsp.c",
-+ "libavcodec/mpegaudiodsp_data.c",
-+ "libavcodec/mpegaudiodsp_fixed.c",
-+ "libavcodec/mpegaudiodsp_float.c",
-+@@ -80,6 +76,8 @@ if (current_cpu == "arm64" || current_cpu == "x64" ||
-+ "libavcodec/qsv_api.c",
-+ "libavcodec/raw.c",
-+ "libavcodec/refstruct.c",
-++ "libavcodec/riscv/flacdsp_init.c",
-++ "libavcodec/riscv/vorbisdsp_init.c",
-+ "libavcodec/threadprogress.c",
-+ "libavcodec/to_upper4.c",
-+ "libavcodec/utils.c",
-+@@ -89,6 +87,7 @@ if (current_cpu == "arm64" || current_cpu == "x64" ||
-+ "libavcodec/vorbis_data.c",
-+ "libavcodec/vorbis_parser.c",
-+ "libavcodec/vorbisdec.c",
-++ "libavcodec/vorbisdsp.c",
-+ "libavcodec/vp9_parser.c",
-+ "libavcodec/xiph.c",
-+ "libavformat/allformats.c",
-+@@ -143,11 +142,6 @@ if (current_cpu == "arm64" || current_cpu == "x64" ||
-+ "libavutil/aes.c",
-+ "libavutil/aes_ctr.c",
-+ "libavutil/ambient_viewing_environment.c",
-+- "libavutil/autorename_libavutil_cpu.c",
-+- "libavutil/autorename_libavutil_fixed_dsp.c",
-+- "libavutil/autorename_libavutil_float_dsp.c",
-+- "libavutil/autorename_libavutil_imgutils.c",
-+- "libavutil/autorename_libavutil_tx_float.c",
-+ "libavutil/autorename_libavutil_utils.c",
-+ "libavutil/autorename_libavutil_version.c",
-+ "libavutil/avstring.c",
-+@@ -156,6 +150,7 @@ if (current_cpu == "arm64" || current_cpu == "x64" ||
-+ "libavutil/buffer.c",
-+ "libavutil/camellia.c",
-+ "libavutil/channel_layout.c",
-++ "libavutil/cpu.c",
-+ "libavutil/crc.c",
-+ "libavutil/csp.c",
-+ "libavutil/detection_bbox.c",
-+@@ -170,12 +165,15 @@ if (current_cpu == "arm64" || current_cpu == "x64" ||
-+ "libavutil/fifo.c",
-+ "libavutil/file_open.c",
-+ "libavutil/film_grain_params.c",
-++ "libavutil/fixed_dsp.c",
-++ "libavutil/float_dsp.c",
-+ "libavutil/frame.c",
-+ "libavutil/hdr_dynamic_metadata.c",
-+ "libavutil/hdr_dynamic_vivid_metadata.c",
-+ "libavutil/hwcontext.c",
-+ "libavutil/hwcontext_stub.c",
-+ "libavutil/iamf.c",
-++ "libavutil/imgutils.c",
-+ "libavutil/integer.c",
-+ "libavutil/intmath.c",
-+ "libavutil/lfg.c",
-+@@ -193,6 +191,9 @@ if (current_cpu == "arm64" || current_cpu == "x64" ||
-+ "libavutil/random_seed.c",
-+ "libavutil/rational.c",
-+ "libavutil/reverse.c",
-++ "libavutil/riscv/autorename_libavutil_riscv_cpu.c",
-++ "libavutil/riscv/fixed_dsp_init.c",
-++ "libavutil/riscv/float_dsp_init.c",
-+ "libavutil/samplefmt.c",
-+ "libavutil/sha.c",
-+ "libavutil/slicethread.c",
-+@@ -205,19 +206,36 @@ if (current_cpu == "arm64" || current_cpu == "x64" ||
-+ "libavutil/timestamp.c",
-+ "libavutil/twofish.c",
-+ "libavutil/tx.c",
-++ "libavutil/tx_float.c",
-+ "libavutil/uuid.c",
-+ "libavutil/video_enc_params.c",
-+ "libavutil/video_hint.c",
-+ ]
-++ ffmpeg_gas_sources += [
-++ "libavcodec/riscv/flacdsp_rvv.S",
-++ "libavcodec/riscv/vorbisdsp_rvv.S",
-++ "libavutil/riscv/fixed_dsp_rvv.S",
-++ "libavutil/riscv/float_dsp_rvv.S",
-++ ]
-+ }
-+
-+-if ((is_apple && ffmpeg_branding == "Chrome") ||
-+- (is_win && ffmpeg_branding == "Chrome") ||
-+- (use_linux_config && ffmpeg_branding == "Chrome")) {
-++if (use_linux_config && current_cpu == "riscv64" &&
-++ ffmpeg_branding == "Chrome") {
-+ ffmpeg_c_sources += [
-++ "libavcodec/aac/aacdec.c",
-++ "libavcodec/aac/aacdec_float.c",
-++ "libavcodec/aac/aacdec_tab.c",
-++ "libavcodec/aac_ac3_parser.c",
-++ "libavcodec/aac_parser.c",
-++ "libavcodec/aacps_common.c",
-++ "libavcodec/aacps_float.c",
-++ "libavcodec/aacpsdsp_float.c",
-++ "libavcodec/aacsbr.c",
-++ "libavcodec/aactab.c",
-++ "libavcodec/adts_header.c",
-+ "libavcodec/atsc_a53.c",
-+- "libavcodec/autorename_libavcodec_videodsp.c",
-+ "libavcodec/cabac.c",
-++ "libavcodec/cbrt_data.c",
-+ "libavcodec/h2645_parse.c",
-+ "libavcodec/h2645_sei.c",
-+ "libavcodec/h2645_vui.c",
-+@@ -242,253 +260,24 @@ if ((is_apple && ffmpeg_branding == "Chrome") ||
-+ "libavcodec/h264pred.c",
-+ "libavcodec/h264qpel.c",
-+ "libavcodec/h274.c",
-+- "libavcodec/startcode.c",
-+- ]
-+-}
-+-
-+-if ((is_apple && current_cpu == "x64" && ffmpeg_branding == "Chrome") ||
-+- (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") ||
-+- (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") ||
-+- (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "Chrome") ||
-+- (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome")) {
-+- ffmpeg_c_sources += [
-+- "libavcodec/x86/autorename_libavcodec_x86_videodsp_init.c",
-+- "libavcodec/x86/h264_intrapred_init.c",
-+- "libavcodec/x86/h264_qpel.c",
-+- "libavcodec/x86/h264chroma_init.c",
-+- "libavcodec/x86/h264dsp_init.c",
-+- ]
-+- ffmpeg_asm_sources += [
-+- "libavcodec/x86/autorename_libavcodec_x86_videodsp.asm",
-+- "libavcodec/x86/fpel.asm",
-+- "libavcodec/x86/h264_chromamc.asm",
-+- "libavcodec/x86/h264_chromamc_10bit.asm",
-+- "libavcodec/x86/h264_deblock.asm",
-+- "libavcodec/x86/h264_deblock_10bit.asm",
-+- "libavcodec/x86/h264_idct.asm",
-+- "libavcodec/x86/h264_idct_10bit.asm",
-+- "libavcodec/x86/h264_intrapred.asm",
-+- "libavcodec/x86/h264_intrapred_10bit.asm",
-+- "libavcodec/x86/h264_qpel_10bit.asm",
-+- "libavcodec/x86/h264_qpel_8bit.asm",
-+- "libavcodec/x86/h264_weight.asm",
-+- "libavcodec/x86/h264_weight_10bit.asm",
-+- "libavcodec/x86/qpel.asm",
-+- ]
-+-}
-+-
-+-if ((current_cpu == "arm64" && ffmpeg_branding == "Chrome") ||
-+- (current_cpu == "x64" && ffmpeg_branding == "Chrome") ||
-+- (is_android && current_cpu == "arm" && arm_use_neon &&
-+- ffmpeg_branding == "Chrome") ||
-+- (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") ||
-+- (is_apple && ffmpeg_branding == "Chrome") ||
-+- (is_win && ffmpeg_branding == "Chrome") ||
-+- (use_linux_config && ffmpeg_branding == "Chrome")) {
-+- ffmpeg_c_sources += [
-+- "libavcodec/aac/aacdec.c",
-+- "libavcodec/aac/aacdec_float.c",
-+- "libavcodec/aac/aacdec_tab.c",
-+- "libavcodec/aac_ac3_parser.c",
-+- "libavcodec/aac_parser.c",
-+- "libavcodec/aacps_common.c",
-+- "libavcodec/aacps_float.c",
-+- "libavcodec/aacpsdsp_float.c",
-+- "libavcodec/aacsbr.c",
-+- "libavcodec/aactab.c",
-+- "libavcodec/adts_header.c",
-+- "libavcodec/autorename_libavcodec_sbrdsp.c",
-+- "libavcodec/cbrt_data.c",
-+ "libavcodec/kbdwin.c",
-++ "libavcodec/riscv/aacpsdsp_init.c",
-++ "libavcodec/riscv/h264_chroma_init_riscv.c",
-++ "libavcodec/riscv/h264dsp_init.c",
-++ "libavcodec/riscv/sbrdsp_init.c",
-++ "libavcodec/sbrdsp.c",
-+ "libavcodec/sinewin.c",
-++ "libavcodec/startcode.c",
-++ "libavcodec/videodsp.c",
-+ "libavformat/apetag.c",
-+ "libavformat/autorename_libavformat_aacdec.c",
-+ "libavformat/img2.c",
-+ ]
-+-}
-+-
-+-if ((is_apple && current_cpu == "arm64" && ffmpeg_branding == "Chrome") ||
-+- (is_win && current_cpu == "arm64" && ffmpeg_branding == "Chrome") ||
-+- (use_linux_config && current_cpu == "arm64" &&
-+- ffmpeg_branding == "Chrome")) {
-+- ffmpeg_c_sources += [
-+- "libavcodec/aarch64/h264chroma_init_aarch64.c",
-+- "libavcodec/aarch64/h264dsp_init_aarch64.c",
-+- "libavcodec/aarch64/h264pred_init.c",
-+- "libavcodec/aarch64/h264qpel_init_aarch64.c",
-+- "libavcodec/aarch64/videodsp_init.c",
-+- ]
-+ ffmpeg_gas_sources += [
-+- "libavcodec/aarch64/autorename_libavcodec_aarch64_h264cmc_neon.S",
-+- "libavcodec/aarch64/autorename_libavcodec_aarch64_h264dsp_neon.S",
-+- "libavcodec/aarch64/autorename_libavcodec_aarch64_h264idct_neon.S",
-+- "libavcodec/aarch64/autorename_libavcodec_aarch64_h264pred_neon.S",
-+- "libavcodec/aarch64/autorename_libavcodec_aarch64_h264qpel_neon.S",
-+- "libavcodec/aarch64/autorename_libavcodec_aarch64_hpeldsp_neon.S",
-+- "libavcodec/aarch64/videodsp.S",
-+- ]
-+-}
-+-
-+-if (current_cpu == "x64" || (is_win && current_cpu == "x86") ||
-+- (use_linux_config && current_cpu == "x86")) {
-+- ffmpeg_c_sources +=
-+- [ "libavutil/x86/autorename_libavutil_x86_tx_float_init.c" ]
-+- ffmpeg_asm_sources += [
-+- "libavcodec/x86/dct32.asm",
-+- "libavcodec/x86/flacdsp.asm",
-+- "libavcodec/x86/imdct36.asm",
-+- "libavcodec/x86/vorbisdsp.asm",
-+- "libavutil/x86/cpuid.asm",
-+- "libavutil/x86/fixed_dsp.asm",
-+- "libavutil/x86/float_dsp.asm",
-+- "libavutil/x86/imgutils.asm",
-+- "libavutil/x86/lls.asm",
-+- "libavutil/x86/tx_float.asm",
-+- ]
-+-}
-+-
-+-if (current_cpu == "x64" || (is_android && current_cpu == "x86") ||
-+- (is_win && current_cpu == "x86") ||
-+- (use_linux_config && current_cpu == "x86")) {
-+- ffmpeg_c_sources += [
-+- "libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c",
-+- "libavcodec/x86/constants.c",
-+- "libavcodec/x86/flacdsp_init.c",
-+- "libavcodec/x86/mpegaudiodsp.c",
-+- "libavutil/x86/autorename_libavutil_x86_cpu.c",
-+- "libavutil/x86/autorename_libavutil_x86_float_dsp_init.c",
-+- "libavutil/x86/fixed_dsp_init.c",
-+- "libavutil/x86/imgutils_init.c",
-+- "libavutil/x86/lls_init.c",
-++ "libavcodec/riscv/aacpsdsp_rvv.S",
-++ "libavcodec/riscv/h264_mc_chroma.S",
-++ "libavcodec/riscv/sbrdsp_rvv.S",
-++ "libavcodec/riscv/startcode_rvb.S",
-++ "libavcodec/riscv/startcode_rvv.S",
-+ ]
-+ }
-+-
-+-if ((is_android && current_cpu == "arm" && arm_use_neon) ||
-+- (use_linux_config && current_cpu == "arm" && arm_use_neon) ||
-+- (use_linux_config && current_cpu == "arm")) {
-+- ffmpeg_c_sources += [
-+- "libavcodec/arm/flacdsp_init_arm.c",
-+- "libavcodec/arm/mpegaudiodsp_init_arm.c",
-+- "libavcodec/arm/vorbisdsp_init_arm.c",
-+- "libavutil/arm/autorename_libavutil_arm_cpu.c",
-+- "libavutil/arm/float_dsp_init_arm.c",
-+- "libavutil/arm/float_dsp_init_vfp.c",
-+- ]
-+- ffmpeg_gas_sources += [
-+- "libavcodec/arm/flacdsp_arm.S",
-+- "libavcodec/arm/mpegaudiodsp_fixed_armv6.S",
-+- "libavutil/arm/float_dsp_vfp.S",
-+- ]
-+-}
-+-
-+-if (current_cpu == "arm64") {
-+- ffmpeg_c_sources += [
-+- "libavcodec/aarch64/mpegaudiodsp_init.c",
-+- "libavcodec/aarch64/vorbisdsp_init.c",
-+- "libavutil/aarch64/cpu.c",
-+- "libavutil/aarch64/float_dsp_init.c",
-+- "libavutil/aarch64/tx_float_init.c",
-+- ]
-+- ffmpeg_gas_sources += [
-+- "libavcodec/aarch64/autorename_libavcodec_aarch64_vorbisdsp_neon.S",
-+- "libavcodec/aarch64/mpegaudiodsp_neon.S",
-+- "libavutil/aarch64/autorename_libavutil_aarch64_float_dsp_neon.S",
-+- "libavutil/aarch64/tx_float_neon.S",
-+- ]
-+-}
-+-
-+-if ((use_linux_config && current_cpu == "arm" && arm_use_neon &&
-+- ffmpeg_branding == "Chrome") ||
-+- (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "Chrome")) {
-+- ffmpeg_c_sources += [
-+- "libavcodec/arm/h264chroma_init_arm.c",
-+- "libavcodec/arm/h264dsp_init_arm.c",
-+- "libavcodec/arm/h264pred_init_arm.c",
-+- "libavcodec/arm/h264qpel_init_arm.c",
-+- "libavcodec/arm/videodsp_init_arm.c",
-+- "libavcodec/arm/videodsp_init_armv5te.c",
-+- ]
-+- ffmpeg_gas_sources += [
-+- "libavcodec/arm/startcode_armv6.S",
-+- "libavcodec/arm/videodsp_armv5te.S",
-+- ]
-+-}
-+-
-+-if (use_linux_config && current_cpu == "arm" && arm_use_neon &&
-+- ffmpeg_branding == "Chrome") {
-+- ffmpeg_gas_sources += [
-+- "libavcodec/arm/h264cmc_neon.S",
-+- "libavcodec/arm/h264dsp_neon.S",
-+- "libavcodec/arm/h264idct_neon.S",
-+- "libavcodec/arm/h264pred_neon.S",
-+- "libavcodec/arm/h264qpel_neon.S",
-+- "libavcodec/arm/hpeldsp_neon.S",
-+- ]
-+-}
-+-
-+-if (current_cpu == "arm64" && ffmpeg_branding == "Chrome") {
-+- ffmpeg_c_sources += [
-+- "libavcodec/aarch64/aacpsdsp_init_aarch64.c",
-+- "libavcodec/aarch64/sbrdsp_init_aarch64.c",
-+- ]
-+- ffmpeg_gas_sources += [
-+- "libavcodec/aarch64/autorename_libavcodec_aarch64_aacpsdsp_neon.S",
-+- "libavcodec/aarch64/autorename_libavcodec_aarch64_sbrdsp_neon.S",
-+- ]
-+-}
-+-
-+-if ((is_android && current_cpu == "arm" && arm_use_neon) ||
-+- (use_linux_config && current_cpu == "arm" && arm_use_neon)) {
-+- ffmpeg_c_sources += [ "libavutil/arm/float_dsp_init_neon.c" ]
-+- ffmpeg_gas_sources += [
-+- "libavcodec/arm/vorbisdsp_neon.S",
-+- "libavutil/arm/float_dsp_neon.S",
-+- ]
-+-}
-+-
-+-if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") ||
-+- (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") ||
-+- (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") ||
-+- (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome")) {
-+- ffmpeg_c_sources += [
-+- "libavcodec/x86/aacpsdsp_init.c",
-+- "libavcodec/x86/sbrdsp_init.c",
-+- ]
-+-}
-+-
-+-if ((is_android && current_cpu == "arm" && arm_use_neon &&
-+- ffmpeg_branding == "Chrome") ||
-+- (use_linux_config && current_cpu == "arm" && arm_use_neon &&
-+- ffmpeg_branding == "Chrome") ||
-+- (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "Chrome")) {
-+- ffmpeg_c_sources += [
-+- "libavcodec/arm/aacpsdsp_init_arm.c",
-+- "libavcodec/arm/sbrdsp_init_arm.c",
-+- ]
-+-}
-+-
-+-if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") ||
-+- (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") ||
-+- (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome")) {
-+- ffmpeg_asm_sources += [
-+- "libavcodec/x86/aacpsdsp.asm",
-+- "libavcodec/x86/sbrdsp.asm",
-+- ]
-+-}
-+-
-+-if ((is_android && current_cpu == "arm" && arm_use_neon &&
-+- ffmpeg_branding == "Chrome") ||
-+- (use_linux_config && current_cpu == "arm" && arm_use_neon &&
-+- ffmpeg_branding == "Chrome")) {
-+- ffmpeg_gas_sources += [
-+- "libavcodec/arm/aacpsdsp_neon.S",
-+- "libavcodec/arm/sbrdsp_neon.S",
-+- ]
-+-}
-+-
-+-if ((is_android && current_cpu == "arm" && arm_use_neon) ||
-+- (is_android && current_cpu == "arm64") ||
-+- (is_android && current_cpu == "x64") ||
-+- (is_android && current_cpu == "x86")) {
-+- ffmpeg_c_sources += [ "compat/strtod.c" ]
-+-}
-+diff --git a/libavformat/autorename_libavformat_aacdec.c b/libavformat/autorename_libavformat_aacdec.c
-+index 79cdef5ea6..697232b08e 100644
-+--- a/libavformat/autorename_libavformat_aacdec.c
-++++ b/libavformat/autorename_libavformat_aacdec.c
-+@@ -1,2 +1,2 @@
-+-// Automatically generated on Tue May 21 22:27:37 2024. See crbug.com/495833.
-++// Automatically generated on Sun Aug 18 23:57:15 2024. See crbug.com/495833.
-+ #include "aacdec.c"
-+diff --git a/libavformat/autorename_libavformat_flacdec.c b/libavformat/autorename_libavformat_flacdec.c
-+index 50d53b1b28..3438c2ece7 100644
-+--- a/libavformat/autorename_libavformat_flacdec.c
-++++ b/libavformat/autorename_libavformat_flacdec.c
-+@@ -1,2 +1,2 @@
-+-// Automatically generated on Tue May 21 22:27:37 2024. See crbug.com/495833.
-++// Automatically generated on Sun Aug 18 23:57:15 2024. See crbug.com/495833.
-+ #include "flacdec.c"
-+diff --git a/libavformat/autorename_libavformat_options.c b/libavformat/autorename_libavformat_options.c
-+index b9b279f611..9afc6293ca 100644
-+--- a/libavformat/autorename_libavformat_options.c
-++++ b/libavformat/autorename_libavformat_options.c
-+@@ -1,2 +1,2 @@
-+-// Automatically generated on Tue May 21 22:27:37 2024. See crbug.com/495833.
-++// Automatically generated on Sun Aug 18 23:57:15 2024. See crbug.com/495833.
-+ #include "options.c"
-+diff --git a/libavformat/autorename_libavformat_pcm.c b/libavformat/autorename_libavformat_pcm.c
-+index 94cc7fcf24..9d981e0447 100644
-+--- a/libavformat/autorename_libavformat_pcm.c
-++++ b/libavformat/autorename_libavformat_pcm.c
-+@@ -1,2 +1,2 @@
-+-// Automatically generated on Tue May 21 22:27:37 2024. See crbug.com/495833.
-++// Automatically generated on Sun Aug 18 23:57:15 2024. See crbug.com/495833.
-+ #include "pcm.c"
-+diff --git a/libavformat/autorename_libavformat_utils.c b/libavformat/autorename_libavformat_utils.c
-+index 6a9a535662..ae2799ec69 100644
-+--- a/libavformat/autorename_libavformat_utils.c
-++++ b/libavformat/autorename_libavformat_utils.c
-+@@ -1,2 +1,2 @@
-+-// Automatically generated on Tue May 21 22:27:37 2024. See crbug.com/495833.
-++// Automatically generated on Sun Aug 18 23:57:15 2024. See crbug.com/495833.
-+ #include "utils.c"
-+diff --git a/libavformat/autorename_libavformat_version.c b/libavformat/autorename_libavformat_version.c
-+index 00e3fc63d9..b208fa0692 100644
-+--- a/libavformat/autorename_libavformat_version.c
-++++ b/libavformat/autorename_libavformat_version.c
-+@@ -1,2 +1,2 @@
-+-// Automatically generated on Tue May 21 22:27:37 2024. See crbug.com/495833.
-++// Automatically generated on Sun Aug 18 23:57:15 2024. See crbug.com/495833.
-+ #include "version.c"
-+diff --git a/libavutil/autorename_libavutil_utils.c b/libavutil/autorename_libavutil_utils.c
-+index 6a9a535662..ae2799ec69 100644
-+--- a/libavutil/autorename_libavutil_utils.c
-++++ b/libavutil/autorename_libavutil_utils.c
-+@@ -1,2 +1,2 @@
-+-// Automatically generated on Tue May 21 22:27:37 2024. See crbug.com/495833.
-++// Automatically generated on Sun Aug 18 23:57:15 2024. See crbug.com/495833.
-+ #include "utils.c"
-+diff --git a/libavutil/autorename_libavutil_version.c b/libavutil/autorename_libavutil_version.c
-+index 00e3fc63d9..b208fa0692 100644
-+--- a/libavutil/autorename_libavutil_version.c
-++++ b/libavutil/autorename_libavutil_version.c
-+@@ -1,2 +1,2 @@
-+-// Automatically generated on Tue May 21 22:27:37 2024. See crbug.com/495833.
-++// Automatically generated on Sun Aug 18 23:57:15 2024. See crbug.com/495833.
-+ #include "version.c"
++// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
++#include "fixed_dsp_init.c"
+diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_float_dsp_init.c b/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_float_dsp_init.c
+--- a/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_float_dsp_init.c 2024-10-02 03:50:25.987479000 +0100
++++ b/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_float_dsp_init.c 2024-10-05 16:34:43.836521180 +0100
+@@ -1,2 +1,2 @@
+-// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
++// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+ #include "float_dsp_init.c"
diff --git a/www-client/chromium/files/riscv-misc.patch b/www-client/chromium/files/riscv-misc.patch
new file mode 100644
index 0000000..81714c8
--- /dev/null
+++ b/www-client/chromium/files/riscv-misc.patch
@@ -0,0 +1,41 @@
+Index: chromium-130.0.6723.116/components/metrics/debug/metrics_internals_utils.cc
+===================================================================
+--- chromium-130.0.6723.116.orig/components/metrics/debug/metrics_internals_utils.cc
++++ chromium-130.0.6723.116/components/metrics/debug/metrics_internals_utils.cc
+@@ -69,6 +69,8 @@ std::string CpuArchitectureToString(
+ return "arm32";
+ case variations::Study::TRANSLATED_X86_64:
+ return "translated_x86_64";
++ case variations::Study::RISCV64:
++ return "riscv64";
+ }
+ NOTREACHED_IN_MIGRATION();
+ }
+Index: chromium-130.0.6723.116/components/variations/proto/study.proto
+===================================================================
+--- chromium-130.0.6723.116.orig/components/variations/proto/study.proto
++++ chromium-130.0.6723.116/components/variations/proto/study.proto
+@@ -262,6 +262,8 @@ message Study {
+ // A Mac-only value, indicating an x86-64 binary running on an arm64 host
+ // via "Rosetta 2" binary translation.
+ TRANSLATED_X86_64 = 4;
++
++ RISCV64 = 5;
+ }
+
+ // Enum to pass as optional bool.
+Index: chromium-130.0.6723.116/components/variations/service/variations_field_trial_creator_base.cc
+===================================================================
+--- chromium-130.0.6723.116.orig/components/variations/service/variations_field_trial_creator_base.cc
++++ chromium-130.0.6723.116/components/variations/service/variations_field_trial_creator_base.cc
+@@ -120,6 +120,9 @@ Study::CpuArchitecture GetCurrentCpuArch
+ }
+ return Study::X86_64;
+ }
++ if (process_arch == "RISCV_64") {
++ return Study::RISCV64;
++ }
+ NOTREACHED_IN_MIGRATION();
+ return Study::X86_64;
+ }
+
diff --git a/www-client/chromium/files/riscv-sandbox.patch b/www-client/chromium/files/riscv-sandbox.patch
index 0753bb1..dc2d902 100644
--- a/www-client/chromium/files/riscv-sandbox.patch
+++ b/www-client/chromium/files/riscv-sandbox.patch
@@ -1,15 +1,7 @@
-From 90499f55f949f95b01c84257d306cf209c04b431 Mon Sep 17 00:00:00 2001
-From: Andreas Schwab <schwab@suse.de>
-Date: Fri, 04 Mar 2022 15:27:35 +0100
-Subject: [PATCH] Add support for riscv64-linux
-
-Change-Id: Ibcdaaba1b0c92a1cd85361b9859370c686832c49
----
-
-diff --git a/sandbox/features.gni b/sandbox/features.gni
-index 8434144..8aa52983 100644
---- a/sandbox/features.gni
-+++ b/sandbox/features.gni
+Index: chromium-130.0.6723.58/sandbox/features.gni
+===================================================================
+--- chromium-130.0.6723.58.orig/sandbox/features.gni
++++ chromium-130.0.6723.58/sandbox/features.gni
@@ -9,7 +9,8 @@
use_seccomp_bpf = (is_linux || is_chromeos || is_android) &&
(current_cpu == "x86" || current_cpu == "x64" ||
@@ -20,29 +12,28 @@ index 8434144..8aa52983 100644
# SSBD (Speculative Store Bypass Disable) is a mitigation of Spectre Variant 4.
# As Spectre Variant 4 can be mitigated by site isolation, opt-out SSBD on site
-diff --git a/sandbox/linux/bpf_dsl/linux_syscall_ranges.h b/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
-index 1d0590b..b722fbc9 100644
---- a/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
-+++ b/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
-@@ -56,6 +56,13 @@
+Index: chromium-130.0.6723.58/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
+===================================================================
+--- chromium-130.0.6723.58.orig/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
++++ chromium-130.0.6723.58/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
+@@ -56,6 +56,12 @@
#define MAX_PUBLIC_SYSCALL __NR_syscalls
#define MAX_SYSCALL MAX_PUBLIC_SYSCALL
+#elif defined(__riscv)
+
-+#include <asm/unistd.h>
+#define MIN_SYSCALL 0u
-+#define MAX_PUBLIC_SYSCALL __NR_syscalls
++#define MAX_PUBLIC_SYSCALL 1024u
+#define MAX_SYSCALL MAX_PUBLIC_SYSCALL
+
#else
#error "Unsupported architecture"
#endif
-diff --git a/sandbox/linux/bpf_dsl/seccomp_macros.h b/sandbox/linux/bpf_dsl/seccomp_macros.h
-index 87d5825..49fc9a6 100644
---- a/sandbox/linux/bpf_dsl/seccomp_macros.h
-+++ b/sandbox/linux/bpf_dsl/seccomp_macros.h
-@@ -343,6 +343,48 @@
+Index: chromium-130.0.6723.58/sandbox/linux/bpf_dsl/seccomp_macros.h
+===================================================================
+--- chromium-130.0.6723.58.orig/sandbox/linux/bpf_dsl/seccomp_macros.h
++++ chromium-130.0.6723.58/sandbox/linux/bpf_dsl/seccomp_macros.h
+@@ -343,6 +343,48 @@ struct regs_struct {
#define SECCOMP_PT_PARM4(_regs) (_regs).regs[3]
#define SECCOMP_PT_PARM5(_regs) (_regs).regs[4]
#define SECCOMP_PT_PARM6(_regs) (_regs).regs[5]
@@ -91,68 +82,11 @@ index 87d5825..49fc9a6 100644
#else
#error Unsupported target platform
-diff --git a/sandbox/linux/integration_tests/bpf_dsl_seccomp_unittest.cc b/sandbox/linux/integration_tests/bpf_dsl_seccomp_unittest.cc
-index 4a2721c..8ef9f51a 100644
---- a/sandbox/linux/integration_tests/bpf_dsl_seccomp_unittest.cc
-+++ b/sandbox/linux/integration_tests/bpf_dsl_seccomp_unittest.cc
-@@ -17,6 +17,7 @@
- #include <sys/types.h>
- #include <sys/utsname.h>
- #include <unistd.h>
-+#include <linux/elf.h>
-
- #include <memory>
- #include <vector>
-@@ -2029,7 +2030,15 @@
- BPF_ASSERT_EQ(kTraceData, data);
-
- regs_struct regs;
-+#if defined(__riscv)
-+ iovec iov;
-+ iov.iov_base = ®s;
-+ iov.iov_len = sizeof(regs);
-+ BPF_ASSERT_NE(-1, ptrace(PTRACE_GETREGSET, pid,
-+ reinterpret_case<void*>(NT_PRSTATUS), &iov));
-+#else
- BPF_ASSERT_NE(-1, ptrace(PTRACE_GETREGS, pid, NULL, ®s));
-+#endif
- switch (SECCOMP_PT_SYSCALL(regs)) {
- case __NR_write:
- // Skip writes to stdout, make it return kExpectedReturnValue. Allow
-@@ -2037,7 +2046,14 @@
- if (SECCOMP_PT_PARM1(regs) == STDOUT_FILENO) {
- BPF_ASSERT_NE(-1, SetSyscall(pid, ®s, -1));
- SECCOMP_PT_RESULT(regs) = kExpectedReturnValue;
-+#if defined(__riscv)
-+ iov.iov_len = sizeof(regs);
-+ BPF_ASSERT_NE(-1, ptrace(PTRACE_SETREGSET, pid,
-+ reinterpret_cast<void*>(NT_PRSTATUS),
-+ &iov));
-+#else
- BPF_ASSERT_NE(-1, ptrace(PTRACE_SETREGS, pid, NULL, ®s));
-+#endif
- }
- break;
-
-@@ -2045,7 +2061,13 @@
- // Rewrite to exit(kExpectedReturnValue).
- BPF_ASSERT_NE(-1, SetSyscall(pid, ®s, __NR_exit));
- SECCOMP_PT_PARM1(regs) = kExpectedReturnValue;
-+#if defined(__riscv)
-+ iov.iov_len = sizeof(regs);
-+ BPF_ASSERT_NE(-1, ptrace(PTRACE_SETREGSET, pid,
-+ reinterpret_cast<void*>(NT_PRSTATUS), &iov));
-+#else
- BPF_ASSERT_NE(-1, ptrace(PTRACE_SETREGS, pid, NULL, ®s));
-+#endif
- break;
-
- default:
-diff --git a/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc b/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
-index 7bde501..b92ab39 100644
---- a/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
-+++ b/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
-@@ -60,6 +60,9 @@
+Index: chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
+===================================================================
+--- chromium-130.0.6723.58.orig/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
++++ chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
+@@ -60,6 +60,9 @@ bool IsBaselinePolicyAllowed(int sysno)
#if defined(__mips__)
SyscallSets::IsMipsPrivate(sysno) ||
#endif
@@ -162,7 +96,7 @@ index 7bde501..b92ab39 100644
SyscallSets::IsAllowedOperationOnFd(sysno);
// clang-format on
}
-@@ -193,7 +196,7 @@
+@@ -193,7 +196,7 @@ ResultExpr EvaluateSyscallImpl(int fs_de
return RestrictFcntlCommands();
#endif
@@ -171,7 +105,7 @@ index 7bde501..b92ab39 100644
// fork() is never used as a system call (clone() is used instead), but we
// have seen it in fallback code on Android.
if (sysno == __NR_fork) {
-@@ -255,7 +258,7 @@
+@@ -255,7 +258,7 @@ ResultExpr EvaluateSyscallImpl(int fs_de
}
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
@@ -180,7 +114,7 @@ index 7bde501..b92ab39 100644
if (sysno == __NR_mmap)
return RestrictMmapFlags();
#endif
-@@ -276,7 +279,7 @@
+@@ -276,7 +279,7 @@ ResultExpr EvaluateSyscallImpl(int fs_de
return RestrictPrctl();
#if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \
@@ -189,7 +123,7 @@ index 7bde501..b92ab39 100644
if (sysno == __NR_socketpair) {
// Only allow AF_UNIX, PF_UNIX. Crash if anything else is seen.
static_assert(AF_UNIX == PF_UNIX,
-@@ -366,7 +369,7 @@
+@@ -366,7 +369,7 @@ ResultExpr EvaluateSyscallImpl(int fs_de
// Allow creating pipes, but don't allow weird flags to pipe2().
// O_NOTIFICATION_PIPE (== O_EXCL) can be used to create
// "notification pipes", which are rarely used.
@@ -198,41 +132,10 @@ index 7bde501..b92ab39 100644
if (sysno == __NR_pipe) {
return Allow();
}
-diff --git a/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc b/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc
-index a0a8796..8bea4c9 100644
---- a/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc
-+++ b/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc
-@@ -270,7 +270,7 @@
- }
-
- // Not all architectures can restrict the domain for socketpair().
--#if defined(__x86_64__) || defined(__arm__) || defined(__aarch64__)
-+#if defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || defined(__riscv)
- BPF_DEATH_TEST_C(BaselinePolicy,
- SocketpairWrongDomain,
- DEATH_SEGV_MESSAGE(GetErrorMessageContentForTests()),
-@@ -279,7 +279,7 @@
- std::ignore = socketpair(AF_INET, SOCK_STREAM, 0, sv);
- _exit(1);
- }
--#endif // defined(__x86_64__) || defined(__arm__) || defined(__aarch64__)
-+#endif // defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || defined(__riscv)
-
- BPF_TEST_C(BaselinePolicy, EPERM_open, BaselinePolicy) {
- errno = 0;
-@@ -343,7 +343,7 @@
- TEST_BASELINE_SIGSYS(__NR_syslog)
- TEST_BASELINE_SIGSYS(__NR_timer_create)
-
--#if !defined(__aarch64__)
-+#if !defined(__aarch64__) && !defined(__riscv)
- TEST_BASELINE_SIGSYS(__NR_inotify_init)
- TEST_BASELINE_SIGSYS(__NR_vserver)
- #endif
-diff --git a/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc b/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
-index 74112e8..b451c19 100644
---- a/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
-+++ b/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
+Index: chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
+===================================================================
+--- chromium-130.0.6723.58.orig/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
++++ chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
@@ -37,6 +37,7 @@
#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \
@@ -241,7 +144,7 @@ index 74112e8..b451c19 100644
!defined(PTRACE_GET_THREAD_AREA)
// Also include asm/ptrace-abi.h since ptrace.h in older libc (for instance
// the one in Ubuntu 16.04 LTS) is missing PTRACE_GET_THREAD_AREA.
-@@ -463,8 +464,10 @@
+@@ -463,8 +464,10 @@ ResultExpr RestrictPtrace() {
#endif
return Switch(request)
.Cases({
@@ -253,23 +156,11 @@ index 74112e8..b451c19 100644
PTRACE_GETREGSET,
#endif
#if defined(__arm__)
-diff --git a/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions_unittests.cc b/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions_unittests.cc
-index 10e64a2c..ddfd6a7 100644
---- a/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions_unittests.cc
-+++ b/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions_unittests.cc
-@@ -7,6 +7,7 @@
- #include <errno.h>
- #include <fcntl.h>
- #include <linux/elf.h>
-+#include <asm/ptrace.h>
- #include <sched.h>
- #include <sys/prctl.h>
- #include <sys/ptrace.h>
-diff --git a/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc b/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
-index 4cde283..bc680424 100644
---- a/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
-+++ b/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
-@@ -103,7 +103,7 @@
+Index: chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
+===================================================================
+--- chromium-130.0.6723.58.orig/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
++++ chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
+@@ -103,7 +103,7 @@ bool SyscallSets::IsUmask(int sysno) {
// Both EPERM and ENOENT are valid errno unless otherwise noted in comment.
bool SyscallSets::IsFileSystem(int sysno) {
switch (sysno) {
@@ -278,7 +169,7 @@ index 4cde283..bc680424 100644
case __NR_access: // EPERM not a valid errno.
case __NR_chmod:
case __NR_chown:
-@@ -136,7 +136,7 @@
+@@ -136,7 +136,7 @@ bool SyscallSets::IsFileSystem(int sysno
case __NR_faccessat2:
case __NR_fchmodat:
case __NR_fchownat: // Should be called chownat ?
@@ -287,7 +178,7 @@ index 4cde283..bc680424 100644
case __NR_newfstatat: // fstatat(). EPERM not a valid errno.
#elif defined(__i386__) || defined(__arm__) || \
(defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
-@@ -241,7 +241,7 @@
+@@ -241,7 +241,7 @@ bool SyscallSets::IsAllowedFileSystemAcc
case __NR_oldfstat:
#endif
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
@@ -296,7 +187,7 @@ index 4cde283..bc680424 100644
case __NR_sync_file_range: // EPERM not a valid errno.
#elif defined(__arm__)
case __NR_arm_sync_file_range: // EPERM not a valid errno.
-@@ -260,7 +260,7 @@
+@@ -260,7 +260,7 @@ bool SyscallSets::IsDeniedFileSystemAcce
#if defined(__i386__) || defined(__arm__)
case __NR_fchown32:
#endif
@@ -305,7 +196,7 @@ index 4cde283..bc680424 100644
case __NR_getdents: // EPERM not a valid errno.
#endif
case __NR_getdents64: // EPERM not a valid errno.
-@@ -339,7 +339,7 @@
+@@ -339,7 +339,7 @@ bool SyscallSets::IsProcessPrivilegeChan
bool SyscallSets::IsProcessGroupOrSession(int sysno) {
switch (sysno) {
case __NR_setpgid:
@@ -314,7 +205,7 @@ index 4cde283..bc680424 100644
case __NR_getpgrp:
#endif
case __NR_setsid:
-@@ -373,7 +373,7 @@
+@@ -373,7 +373,7 @@ bool SyscallSets::IsAllowedSignalHandlin
case __NR_rt_sigqueueinfo:
case __NR_rt_sigsuspend:
case __NR_rt_tgsigqueueinfo:
@@ -323,7 +214,7 @@ index 4cde283..bc680424 100644
case __NR_signalfd:
#endif
case __NR_signalfd4:
-@@ -397,12 +397,12 @@
+@@ -397,12 +397,12 @@ bool SyscallSets::IsAllowedOperationOnFd
switch (sysno) {
case __NR_close:
case __NR_dup:
@@ -338,7 +229,7 @@ index 4cde283..bc680424 100644
case __NR_shutdown:
#endif
return true;
-@@ -441,7 +441,7 @@
+@@ -441,7 +441,7 @@ bool SyscallSets::IsAllowedProcessStartO
return true;
case __NR_clone: // Should be parameter-restricted.
case __NR_setns: // Privileged.
@@ -347,7 +238,7 @@ index 4cde283..bc680424 100644
case __NR_fork:
#endif
#if defined(__i386__) || defined(__x86_64__)
-@@ -452,7 +452,7 @@
+@@ -452,7 +452,7 @@ bool SyscallSets::IsAllowedProcessStartO
#endif
case __NR_set_tid_address:
case __NR_unshare:
@@ -356,7 +247,7 @@ index 4cde283..bc680424 100644
case __NR_vfork:
#endif
default:
-@@ -477,7 +477,7 @@
+@@ -477,7 +477,7 @@ bool SyscallSets::IsAllowedFutex(int sys
bool SyscallSets::IsAllowedEpoll(int sysno) {
switch (sysno) {
@@ -365,7 +256,7 @@ index 4cde283..bc680424 100644
case __NR_epoll_create:
case __NR_epoll_wait:
#endif
-@@ -499,7 +499,7 @@
+@@ -499,7 +499,7 @@ bool SyscallSets::IsAllowedEpoll(int sys
bool SyscallSets::IsDeniedGetOrModifySocket(int sysno) {
switch (sysno) {
#if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \
@@ -374,7 +265,7 @@ index 4cde283..bc680424 100644
case __NR_accept:
case __NR_accept4:
case __NR_bind:
-@@ -553,7 +553,7 @@
+@@ -554,7 +554,7 @@ bool SyscallSets::IsAllowedAddressSpaceA
case __NR_mincore:
case __NR_mlockall:
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
@@ -383,7 +274,7 @@ index 4cde283..bc680424 100644
case __NR_mmap:
#endif
#if defined(__i386__) || defined(__arm__) || \
-@@ -586,7 +586,7 @@
+@@ -587,7 +587,7 @@ bool SyscallSets::IsAllowedGeneralIo(int
(defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
case __NR__llseek:
#endif
@@ -392,7 +283,7 @@ index 4cde283..bc680424 100644
case __NR_poll:
#endif
case __NR_ppoll:
-@@ -607,7 +607,7 @@
+@@ -608,7 +608,7 @@ bool SyscallSets::IsAllowedGeneralIo(int
case __NR_recv:
#endif
#if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \
@@ -401,7 +292,7 @@ index 4cde283..bc680424 100644
case __NR_recvfrom: // Could specify source.
case __NR_recvmsg: // Could specify source.
#endif
-@@ -622,7 +622,7 @@
+@@ -623,7 +623,7 @@ bool SyscallSets::IsAllowedGeneralIo(int
case __NR_send:
#endif
#if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \
@@ -410,7 +301,7 @@ index 4cde283..bc680424 100644
case __NR_sendmsg: // Could specify destination.
case __NR_sendto: // Could specify destination.
#endif
-@@ -671,7 +671,7 @@
+@@ -672,7 +672,7 @@ bool SyscallSets::IsSeccomp(int sysno) {
bool SyscallSets::IsAllowedBasicScheduler(int sysno) {
switch (sysno) {
case __NR_sched_yield:
@@ -419,7 +310,7 @@ index 4cde283..bc680424 100644
case __NR_pause:
#endif
case __NR_nanosleep:
-@@ -755,7 +755,7 @@
+@@ -756,7 +756,7 @@ bool SyscallSets::IsNuma(int sysno) {
case __NR_getcpu:
case __NR_mbind:
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
@@ -428,7 +319,7 @@ index 4cde283..bc680424 100644
case __NR_migrate_pages:
#endif
case __NR_move_pages:
-@@ -790,7 +790,7 @@
+@@ -791,7 +791,7 @@ bool SyscallSets::IsGlobalProcessEnviron
switch (sysno) {
case __NR_acct: // Privileged.
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
@@ -437,7 +328,7 @@ index 4cde283..bc680424 100644
case __NR_getrlimit:
#endif
#if defined(__i386__) || defined(__arm__)
-@@ -825,7 +825,7 @@
+@@ -826,7 +826,7 @@ bool SyscallSets::IsDebug(int sysno) {
bool SyscallSets::IsGlobalSystemStatus(int sysno) {
switch (sysno) {
@@ -446,7 +337,7 @@ index 4cde283..bc680424 100644
case __NR__sysctl:
case __NR_sysfs:
#endif
-@@ -843,7 +843,7 @@
+@@ -844,7 +844,7 @@ bool SyscallSets::IsGlobalSystemStatus(i
bool SyscallSets::IsEventFd(int sysno) {
switch (sysno) {
@@ -455,7 +346,7 @@ index 4cde283..bc680424 100644
case __NR_eventfd:
#endif
case __NR_eventfd2:
-@@ -895,6 +895,7 @@
+@@ -896,6 +896,7 @@ bool SyscallSets::IsKeyManagement(int sy
}
#if defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || \
@@ -463,7 +354,7 @@ index 4cde283..bc680424 100644
(defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS))
bool SyscallSets::IsSystemVSemaphores(int sysno) {
switch (sysno) {
-@@ -914,7 +915,7 @@
+@@ -915,7 +916,7 @@ bool SyscallSets::IsSystemVSemaphores(in
#endif
#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || \
@@ -472,7 +363,7 @@ index 4cde283..bc680424 100644
(defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS))
// These give a lot of ambient authority and bypass the setuid sandbox.
bool SyscallSets::IsSystemVSharedMemory(int sysno) {
-@@ -931,6 +932,7 @@
+@@ -932,6 +933,7 @@ bool SyscallSets::IsSystemVSharedMemory(
#endif
#if defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || \
@@ -480,7 +371,7 @@ index 4cde283..bc680424 100644
(defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS))
bool SyscallSets::IsSystemVMessageQueue(int sysno) {
switch (sysno) {
-@@ -962,6 +964,7 @@
+@@ -963,6 +965,7 @@ bool SyscallSets::IsSystemVIpc(int sysno
bool SyscallSets::IsAnySystemV(int sysno) {
#if defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || \
@@ -488,7 +379,7 @@ index 4cde283..bc680424 100644
(defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS))
return IsSystemVMessageQueue(sysno) || IsSystemVSemaphores(sysno) ||
IsSystemVSharedMemory(sysno);
-@@ -999,7 +1002,7 @@
+@@ -1000,7 +1003,7 @@ bool SyscallSets::IsAdvancedScheduler(in
bool SyscallSets::IsInotify(int sysno) {
switch (sysno) {
case __NR_inotify_add_watch:
@@ -497,7 +388,7 @@ index 4cde283..bc680424 100644
case __NR_inotify_init:
#endif
case __NR_inotify_init1:
-@@ -1134,7 +1137,7 @@
+@@ -1135,7 +1138,7 @@ bool SyscallSets::IsMisc(int sysno) {
#if defined(__x86_64__)
case __NR_tuxcall:
#endif
@@ -506,7 +397,7 @@ index 4cde283..bc680424 100644
case __NR_vserver:
#endif
return true;
-@@ -1193,6 +1196,18 @@
+@@ -1194,6 +1197,18 @@ bool SyscallSets::IsMipsMisc(int sysno)
}
#endif // defined(__mips__)
@@ -525,11 +416,11 @@ index 4cde283..bc680424 100644
bool SyscallSets::IsGoogle3Threading(int sysno) {
switch (sysno) {
case __NR_getitimer:
-diff --git a/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h b/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
-index 9be7b03..41b3605 100644
---- a/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
-+++ b/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
-@@ -52,7 +52,7 @@
+Index: chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
+===================================================================
+--- chromium-130.0.6723.58.orig/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
++++ chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
+@@ -52,7 +52,7 @@ class SANDBOX_EXPORT SyscallSets {
#endif
#if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \
@@ -538,7 +429,7 @@ index 9be7b03..41b3605 100644
static bool IsNetworkSocketInformation(int sysno);
#endif
-@@ -79,18 +79,21 @@
+@@ -79,18 +79,21 @@ class SANDBOX_EXPORT SyscallSets {
static bool IsAsyncIo(int sysno);
static bool IsKeyManagement(int sysno);
#if defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || \
@@ -563,7 +454,7 @@ index 9be7b03..41b3605 100644
static bool IsSystemVMessageQueue(int sysno);
#endif
-@@ -117,6 +120,9 @@
+@@ -117,6 +120,9 @@ class SANDBOX_EXPORT SyscallSets {
static bool IsMipsPrivate(int sysno);
static bool IsMipsMisc(int sysno);
#endif // defined(__mips__)
@@ -573,11 +464,11 @@ index 9be7b03..41b3605 100644
static bool IsGoogle3Threading(int sysno);
};
-diff --git a/sandbox/linux/seccomp-bpf/syscall.cc b/sandbox/linux/seccomp-bpf/syscall.cc
-index 02cbb04..9eb97f27 100644
---- a/sandbox/linux/seccomp-bpf/syscall.cc
-+++ b/sandbox/linux/seccomp-bpf/syscall.cc
-@@ -18,7 +18,7 @@
+Index: chromium-130.0.6723.58/sandbox/linux/seccomp-bpf/syscall.cc
+===================================================================
+--- chromium-130.0.6723.58.orig/sandbox/linux/seccomp-bpf/syscall.cc
++++ chromium-130.0.6723.58/sandbox/linux/seccomp-bpf/syscall.cc
+@@ -23,7 +23,7 @@ namespace sandbox {
namespace {
#if defined(ARCH_CPU_X86_FAMILY) || defined(ARCH_CPU_ARM_FAMILY) || \
@@ -586,7 +477,7 @@ index 02cbb04..9eb97f27 100644
// Number that's not currently used by any Linux kernel ABIs.
const int kInvalidSyscallNumber = 0x351d3;
#else
-@@ -308,6 +308,28 @@
+@@ -313,6 +313,28 @@ asm(// We need to be able to tell the ke
"2:ret\n"
".cfi_endproc\n"
".size SyscallAsm, .-SyscallAsm\n"
@@ -615,7 +506,7 @@ index 02cbb04..9eb97f27 100644
#endif
); // asm
-@@ -319,6 +341,10 @@
+@@ -324,6 +346,10 @@ intptr_t SyscallAsm(intptr_t nr, const i
extern "C" {
intptr_t SyscallAsm(intptr_t nr, const intptr_t args[8]);
}
@@ -626,7 +517,7 @@ index 02cbb04..9eb97f27 100644
#endif
} // namespace
-@@ -351,6 +377,10 @@
+@@ -356,6 +382,10 @@ intptr_t Syscall::Call(int nr,
// where that makes sense.
#if defined(__mips__)
const intptr_t args[8] = {p0, p1, p2, p3, p4, p5, p6, p7};
@@ -637,7 +528,7 @@ index 02cbb04..9eb97f27 100644
#else
DCHECK_EQ(p6, 0) << " Support for syscalls with more than six arguments not "
"added for this architecture";
-@@ -425,6 +455,8 @@
+@@ -430,6 +460,8 @@ intptr_t Syscall::Call(int nr,
ret = inout;
}
@@ -646,47 +537,24 @@ index 02cbb04..9eb97f27 100644
#else
#error "Unimplemented architecture"
#endif
-diff --git a/sandbox/linux/seccomp-bpf/trap.cc b/sandbox/linux/seccomp-bpf/trap.cc
-index d466e62..a5ed98b7 100644
---- a/sandbox/linux/seccomp-bpf/trap.cc
-+++ b/sandbox/linux/seccomp-bpf/trap.cc
-@@ -216,6 +216,18 @@
- SECCOMP_PARM6(ctx),
- SECCOMP_PARM7(ctx),
- SECCOMP_PARM8(ctx));
-+#elif defined(__riscv)
-+ // RISC-V supports up to seven arguments for syscall.
-+ // However, seccomp bpf can filter only up to six arguments, so using seven
-+ // arguments has sense only when using UnsafeTrap() handler.
-+ rc = Syscall::Call(SECCOMP_SYSCALL(ctx),
-+ SECCOMP_PARM1(ctx),
-+ SECCOMP_PARM2(ctx),
-+ SECCOMP_PARM3(ctx),
-+ SECCOMP_PARM4(ctx),
-+ SECCOMP_PARM5(ctx),
-+ SECCOMP_PARM6(ctx),
-+ SECCOMP_PARM7(ctx));
- #else
- rc = Syscall::Call(SECCOMP_SYSCALL(ctx),
- SECCOMP_PARM1(ctx),
-diff --git a/sandbox/linux/services/credentials.cc b/sandbox/linux/services/credentials.cc
-index a33597c..d4180ac 100644
---- a/sandbox/linux/services/credentials.cc
-+++ b/sandbox/linux/services/credentials.cc
-@@ -80,7 +80,7 @@
- pid_t pid = -1;
- alignas(16) char stack_buf[PTHREAD_STACK_MIN];
+Index: chromium-130.0.6723.58/sandbox/linux/services/credentials.cc
+===================================================================
+--- chromium-130.0.6723.58.orig/sandbox/linux/services/credentials.cc
++++ chromium-130.0.6723.58/sandbox/linux/services/credentials.cc
+@@ -87,7 +87,7 @@ bool ChrootToSafeEmptyDir() {
+ alignas(16) char stack_buf[PTHREAD_STACK_MIN_CONST];
+
#if defined(ARCH_CPU_X86_FAMILY) || defined(ARCH_CPU_ARM_FAMILY) || \
- defined(ARCH_CPU_MIPS_FAMILY)
+ defined(ARCH_CPU_MIPS_FAMILY) || defined(ARCH_CPU_RISCV_FAMILY)
// The stack grows downward.
void* stack = stack_buf + sizeof(stack_buf);
#else
-diff --git a/sandbox/linux/services/syscall_wrappers.cc b/sandbox/linux/services/syscall_wrappers.cc
-index 7650e98..bb4bd332 100644
---- a/sandbox/linux/services/syscall_wrappers.cc
-+++ b/sandbox/linux/services/syscall_wrappers.cc
-@@ -61,7 +61,7 @@
+Index: chromium-130.0.6723.58/sandbox/linux/services/syscall_wrappers.cc
+===================================================================
+--- chromium-130.0.6723.58.orig/sandbox/linux/services/syscall_wrappers.cc
++++ chromium-130.0.6723.58/sandbox/linux/services/syscall_wrappers.cc
+@@ -61,7 +61,7 @@ long sys_clone(unsigned long flags,
#if defined(ARCH_CPU_X86_64)
return syscall(__NR_clone, flags, child_stack, ptid, ctid, tls);
#elif defined(ARCH_CPU_X86) || defined(ARCH_CPU_ARM_FAMILY) || \
@@ -695,11 +563,11 @@ index 7650e98..bb4bd332 100644
// CONFIG_CLONE_BACKWARDS defined.
return syscall(__NR_clone, flags, child_stack, ptid, tls, ctid);
#endif
-diff --git a/sandbox/linux/syscall_broker/broker_process.cc b/sandbox/linux/syscall_broker/broker_process.cc
-index c6c1117..779065a 100644
---- a/sandbox/linux/syscall_broker/broker_process.cc
-+++ b/sandbox/linux/syscall_broker/broker_process.cc
-@@ -122,44 +122,46 @@
+Index: chromium-130.0.6723.58/sandbox/linux/syscall_broker/broker_process.cc
+===================================================================
+--- chromium-130.0.6723.58.orig/sandbox/linux/syscall_broker/broker_process.cc
++++ chromium-130.0.6723.58/sandbox/linux/syscall_broker/broker_process.cc
+@@ -122,44 +122,46 @@ bool BrokerProcess::IsSyscallBrokerable(
// and are default disabled in Android. So, we should refuse to broker them
// to be consistent with the platform's restrictions.
switch (sysno) {
@@ -753,7 +621,7 @@ index c6c1117..779065a 100644
case __NR_stat:
case __NR_lstat:
#endif
-@@ -169,7 +171,7 @@
+@@ -169,7 +171,7 @@ bool BrokerProcess::IsSyscallBrokerable(
#if defined(__NR_fstatat64)
case __NR_fstatat64:
#endif
@@ -762,7 +630,7 @@ index c6c1117..779065a 100644
case __NR_newfstatat:
#endif
return !fast_check || policy_->allowed_command_set.test(COMMAND_STAT);
-@@ -184,7 +186,7 @@
+@@ -184,7 +186,7 @@ bool BrokerProcess::IsSyscallBrokerable(
return !fast_check || policy_->allowed_command_set.test(COMMAND_STAT);
#endif
@@ -771,10 +639,10 @@ index c6c1117..779065a 100644
case __NR_unlink:
return !fast_check || policy_->allowed_command_set.test(COMMAND_UNLINK);
#endif
-diff --git a/sandbox/linux/system_headers/linux_seccomp.h b/sandbox/linux/system_headers/linux_seccomp.h
-index 8690a96..dec2afc7 100644
---- a/sandbox/linux/system_headers/linux_seccomp.h
-+++ b/sandbox/linux/system_headers/linux_seccomp.h
+Index: chromium-130.0.6723.58/sandbox/linux/system_headers/linux_seccomp.h
+===================================================================
+--- chromium-130.0.6723.58.orig/sandbox/linux/system_headers/linux_seccomp.h
++++ chromium-130.0.6723.58/sandbox/linux/system_headers/linux_seccomp.h
@@ -39,6 +39,10 @@
#define EM_AARCH64 183
#endif
@@ -797,10 +665,10 @@ index 8690a96..dec2afc7 100644
// For prctl.h
#ifndef PR_SET_SECCOMP
#define PR_SET_SECCOMP 22
-diff --git a/sandbox/linux/system_headers/linux_signal.h b/sandbox/linux/system_headers/linux_signal.h
-index 69ccaf1..2ffe3097 100644
---- a/sandbox/linux/system_headers/linux_signal.h
-+++ b/sandbox/linux/system_headers/linux_signal.h
+Index: chromium-130.0.6723.58/sandbox/linux/system_headers/linux_signal.h
+===================================================================
+--- chromium-130.0.6723.58.orig/sandbox/linux/system_headers/linux_signal.h
++++ chromium-130.0.6723.58/sandbox/linux/system_headers/linux_signal.h
@@ -13,7 +13,7 @@
// (not undefined, but defined different values and in different memory
// layouts). So, fill the gap here.
@@ -810,11 +678,11 @@ index 69ccaf1..2ffe3097 100644
#define LINUX_SIGHUP 1
#define LINUX_SIGINT 2
-diff --git a/sandbox/linux/system_headers/linux_stat.h b/sandbox/linux/system_headers/linux_stat.h
-index 3aae8cb..74977adb 100644
---- a/sandbox/linux/system_headers/linux_stat.h
-+++ b/sandbox/linux/system_headers/linux_stat.h
-@@ -150,7 +150,7 @@
+Index: chromium-130.0.6723.58/sandbox/linux/system_headers/linux_stat.h
+===================================================================
+--- chromium-130.0.6723.58.orig/sandbox/linux/system_headers/linux_stat.h
++++ chromium-130.0.6723.58/sandbox/linux/system_headers/linux_stat.h
+@@ -150,7 +150,7 @@ struct kernel_stat {
int st_blocks;
int st_pad4[14];
};
@@ -823,10 +691,10 @@ index 3aae8cb..74977adb 100644
struct kernel_stat {
unsigned long st_dev;
unsigned long st_ino;
-diff --git a/sandbox/linux/system_headers/linux_syscalls.h b/sandbox/linux/system_headers/linux_syscalls.h
-index 438147b..d6de8c1 100644
---- a/sandbox/linux/system_headers/linux_syscalls.h
-+++ b/sandbox/linux/system_headers/linux_syscalls.h
+Index: chromium-130.0.6723.58/sandbox/linux/system_headers/linux_syscalls.h
+===================================================================
+--- chromium-130.0.6723.58.orig/sandbox/linux/system_headers/linux_syscalls.h
++++ chromium-130.0.6723.58/sandbox/linux/system_headers/linux_syscalls.h
@@ -35,5 +35,9 @@
#include "sandbox/linux/system_headers/arm64_linux_syscalls.h"
#endif
@@ -837,11 +705,10 @@ index 438147b..d6de8c1 100644
+
#endif // SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_SYSCALLS_H_
-diff --git a/sandbox/linux/system_headers/riscv64_linux_syscalls.h b/sandbox/linux/system_headers/riscv64_linux_syscalls.h
-new file mode 100644
-index 0000000..50e043d0
+Index: chromium-130.0.6723.58/sandbox/linux/system_headers/riscv64_linux_syscalls.h
+===================================================================
--- /dev/null
-+++ b/sandbox/linux/system_headers/riscv64_linux_syscalls.h
++++ chromium-130.0.6723.58/sandbox/linux/system_headers/riscv64_linux_syscalls.h
@@ -0,0 +1,1226 @@
+// Copyright 2014 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
@@ -2069,11 +1936,11 @@ index 0000000..50e043d0
+#endif
+
+#endif // SANDBOX_LINUX_SYSTEM_HEADERS_RISCV64_LINUX_SYSCALLS_H_
-diff --git a/sandbox/policy/linux/bpf_cdm_policy_linux.cc b/sandbox/policy/linux/bpf_cdm_policy_linux.cc
-index 433720f..482ce1d 100644
---- a/sandbox/policy/linux/bpf_cdm_policy_linux.cc
-+++ b/sandbox/policy/linux/bpf_cdm_policy_linux.cc
-@@ -33,7 +33,7 @@
+Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_cdm_policy_linux.cc
+===================================================================
+--- chromium-130.0.6723.58.orig/sandbox/policy/linux/bpf_cdm_policy_linux.cc
++++ chromium-130.0.6723.58/sandbox/policy/linux/bpf_cdm_policy_linux.cc
+@@ -33,7 +33,7 @@ ResultExpr CdmProcessPolicy::EvaluateSys
case __NR_ftruncate:
case __NR_fallocate:
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
@@ -2082,11 +1949,11 @@ index 433720f..482ce1d 100644
case __NR_getrlimit:
#endif
#if defined(__i386__) || defined(__arm__)
-diff --git a/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc b/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc
-index df2567f..41e158a 100644
---- a/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc
-+++ b/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc
-@@ -38,7 +38,7 @@
+Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc
+===================================================================
+--- chromium-130.0.6723.58.orig/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc
++++ chromium-130.0.6723.58/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc
+@@ -38,7 +38,7 @@ ResultExpr CrosAmdGpuProcessPolicy::Eval
case __NR_sched_setscheduler:
case __NR_sysinfo:
case __NR_uname:
@@ -2095,11 +1962,11 @@ index df2567f..41e158a 100644
case __NR_readlink:
case __NR_stat:
#endif
-diff --git a/sandbox/policy/linux/bpf_gpu_policy_linux.cc b/sandbox/policy/linux/bpf_gpu_policy_linux.cc
-index 35ccbb7..65a0587 100644
---- a/sandbox/policy/linux/bpf_gpu_policy_linux.cc
-+++ b/sandbox/policy/linux/bpf_gpu_policy_linux.cc
-@@ -73,7 +73,7 @@
+Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_gpu_policy_linux.cc
+===================================================================
+--- chromium-130.0.6723.58.orig/sandbox/policy/linux/bpf_gpu_policy_linux.cc
++++ chromium-130.0.6723.58/sandbox/policy/linux/bpf_gpu_policy_linux.cc
+@@ -73,7 +73,7 @@ ResultExpr GpuProcessPolicy::EvaluateSys
(defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
case __NR_ftruncate64:
#endif
@@ -2108,11 +1975,11 @@ index 35ccbb7..65a0587 100644
case __NR_getdents:
#endif
case __NR_getdents64:
-diff --git a/sandbox/policy/linux/bpf_network_policy_linux.cc b/sandbox/policy/linux/bpf_network_policy_linux.cc
-index e5168ff0..3e6f821 100644
---- a/sandbox/policy/linux/bpf_network_policy_linux.cc
-+++ b/sandbox/policy/linux/bpf_network_policy_linux.cc
-@@ -260,7 +260,7 @@
+Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_network_policy_linux.cc
+===================================================================
+--- chromium-130.0.6723.58.orig/sandbox/policy/linux/bpf_network_policy_linux.cc
++++ chromium-130.0.6723.58/sandbox/policy/linux/bpf_network_policy_linux.cc
+@@ -260,7 +260,7 @@ ResultExpr NetworkProcessPolicy::Evaluat
case __NR_fdatasync:
case __NR_fsync:
case __NR_mremap:
@@ -2121,11 +1988,11 @@ index e5168ff0..3e6f821 100644
case __NR_getdents:
#endif
case __NR_getdents64:
-diff --git a/sandbox/policy/linux/bpf_print_compositor_policy_linux.cc b/sandbox/policy/linux/bpf_print_compositor_policy_linux.cc
-index bff338a..36acee52 100644
---- a/sandbox/policy/linux/bpf_print_compositor_policy_linux.cc
-+++ b/sandbox/policy/linux/bpf_print_compositor_policy_linux.cc
-@@ -33,7 +33,7 @@
+Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_print_compositor_policy_linux.cc
+===================================================================
+--- chromium-130.0.6723.58.orig/sandbox/policy/linux/bpf_print_compositor_policy_linux.cc
++++ chromium-130.0.6723.58/sandbox/policy/linux/bpf_print_compositor_policy_linux.cc
+@@ -33,7 +33,7 @@ ResultExpr PrintCompositorProcessPolicy:
case __NR_fdatasync:
case __NR_fsync:
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
@@ -2134,11 +2001,11 @@ index bff338a..36acee52 100644
case __NR_getrlimit:
#endif
#if defined(__i386__) || defined(__arm__)
-diff --git a/sandbox/policy/linux/bpf_renderer_policy_linux.cc b/sandbox/policy/linux/bpf_renderer_policy_linux.cc
-index 0555a85..8f8907f 100644
---- a/sandbox/policy/linux/bpf_renderer_policy_linux.cc
-+++ b/sandbox/policy/linux/bpf_renderer_policy_linux.cc
-@@ -82,7 +82,7 @@
+Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_renderer_policy_linux.cc
+===================================================================
+--- chromium-130.0.6723.58.orig/sandbox/policy/linux/bpf_renderer_policy_linux.cc
++++ chromium-130.0.6723.58/sandbox/policy/linux/bpf_renderer_policy_linux.cc
+@@ -82,7 +82,7 @@ ResultExpr RendererProcessPolicy::Evalua
case __NR_ftruncate64:
#endif
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
@@ -2147,11 +2014,11 @@ index 0555a85..8f8907f 100644
case __NR_getrlimit:
case __NR_setrlimit:
// We allow setrlimit to dynamically adjust the address space limit as
-diff --git a/sandbox/policy/linux/bpf_service_policy_linux.cc b/sandbox/policy/linux/bpf_service_policy_linux.cc
-index 32754e6..3f42eabb 100644
---- a/sandbox/policy/linux/bpf_service_policy_linux.cc
-+++ b/sandbox/policy/linux/bpf_service_policy_linux.cc
-@@ -26,7 +26,7 @@
+Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_service_policy_linux.cc
+===================================================================
+--- chromium-130.0.6723.58.orig/sandbox/policy/linux/bpf_service_policy_linux.cc
++++ chromium-130.0.6723.58/sandbox/policy/linux/bpf_service_policy_linux.cc
+@@ -26,7 +26,7 @@ ResultExpr ServiceProcessPolicy::Evaluat
return RestrictIoctl();
// Allow the system calls below.
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
@@ -2160,11 +2027,11 @@ index 32754e6..3f42eabb 100644
case __NR_getrlimit:
#endif
#if defined(__i386__) || defined(__arm__)
-diff --git a/sandbox/policy/linux/bpf_utility_policy_linux.cc b/sandbox/policy/linux/bpf_utility_policy_linux.cc
-index e299ce99..ed110689 100644
---- a/sandbox/policy/linux/bpf_utility_policy_linux.cc
-+++ b/sandbox/policy/linux/bpf_utility_policy_linux.cc
-@@ -34,7 +34,7 @@
+Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_utility_policy_linux.cc
+===================================================================
+--- chromium-130.0.6723.58.orig/sandbox/policy/linux/bpf_utility_policy_linux.cc
++++ chromium-130.0.6723.58/sandbox/policy/linux/bpf_utility_policy_linux.cc
+@@ -34,7 +34,7 @@ ResultExpr UtilityProcessPolicy::Evaluat
case __NR_fdatasync:
case __NR_fsync:
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
diff --git a/www-client/chromium/files/riscv.patch b/www-client/chromium/files/riscv.patch
index f72a56c..3bd59e3 100644
--- a/www-client/chromium/files/riscv.patch
+++ b/www-client/chromium/files/riscv.patch
@@ -1,7 +1,16 @@
-diff -Naur a/build/config/clang/BUILD.gn b/build/config/clang/BUILD.gn
---- a/build/config/clang/BUILD.gn 2024-02-14 22:02:58.133536045 +0000
-+++ b/build/config/clang/BUILD.gn 2024-02-14 22:04:35.885744794 +0000
-@@ -136,6 +136,8 @@
+--- a/build/config/clang/BUILD.gn 2024-09-17 09:40:39.225707556 +0200
++++ b/build/config/clang/BUILD.gn 2024-09-17 09:42:35.703531635 +0200
+@@ -186,6 +186,9 @@
+ } else if (current_cpu == "arm64") {
+ _dir = "aarch64-unknown-linux-gnu"
+ _suffix = "-aarch64"
++ } else if (current_cpu == "riscv64") {
++ _dir = "riscv64-unknown-linux-gnu"
++ _suffix = "-riscv64"
+ } else {
+ assert(false) # Unhandled cpu type
+ }
+@@ -201,6 +201,8 @@
_dir = "armv7-unknown-linux-gnueabihf"
} else if (current_cpu == "arm64") {
_dir = "aarch64-unknown-linux-gnu"
@@ -10,3 +19,5 @@ diff -Naur a/build/config/clang/BUILD.gn b/build/config/clang/BUILD.gn
} else {
assert(false) # Unhandled cpu type
}
+
+
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] proj/riscv:master commit in: www-client/chromium/files/, www-client/chromium/
@ 2025-01-28 11:21 Yixun Lan
0 siblings, 0 replies; 7+ messages in thread
From: Yixun Lan @ 2025-01-28 11:21 UTC (permalink / raw
To: gentoo-commits
commit: 576909e8eba83d657e51a9aa8c4a5d764ec907c5
Author: Andrew Cameron <apcameron <AT> gmail <DOT> com>
AuthorDate: Mon Jan 27 10:22:36 2025 +0000
Commit: Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Tue Jan 28 11:20:24 2025 +0000
URL: https://gitweb.gentoo.org/proj/riscv.git/commit/?id=576909e8
Update Chromium to 132.0.6834.110
Closes: https://github.com/gentoo/riscv/pull/22
Signed-off-by: Andrew Cameron <apcameron <AT> gmail.com>
Signed-off-by: Yixun Lan <dlan <AT> gentoo.org>
www-client/chromium/Manifest | 11 +-
...00-r1.ebuild => chromium-132.0.6834.110.ebuild} | 564 ++++++-----
...relocate-1-for-ff_h264_weight_funcs_8_rvv.patch | 26 +
...-runtime_api_delegate-add-riscv64-define.patch} | 1 +
...-common-api-runtime.json-riscv64-support.patch} | 1 +
.../chromium/files/Debian-fix-rust-linking.patch | 1 -
.../chromium-126-oauth2-client-switches.patch | 45 -
.../files/chromium-127-browser-ui-deps.patch | 57 --
.../files/chromium-127-updater-systemd.patch | 73 --
.../chromium-131-oauth2-client-switches.patch | 39 +
.../files/chromium-131-unbundle-icu-target.patch | 21 +
...=> chromium-132-bindgen-custom-toolchain.patch} | 41 +-
.../chromium-134-oauth2-client-switches.patch | 35 +
.../files/{riscv.patch => compiler-rt-riscv.patch} | 0
www-client/chromium/files/cpuinfo.patch | 22 +-
www-client/chromium/files/esbuild | Bin 0 -> 9437336 bytes
www-client/chromium/files/libstdc++-fixup.patch | 219 +++++
www-client/chromium/files/riscv-cargo.patch | 32 -
www-client/chromium/files/riscv-ffmpeg.patch | 1025 ++++++++++----------
www-client/chromium/files/riscv-misc.patch | 48 +-
www-client/chromium/files/riscv-sandbox.patch | 152 +--
www-client/chromium/files/riscv-v8.patch | 28 -
www-client/chromium/metadata.xml | 6 +-
23 files changed, 1362 insertions(+), 1085 deletions(-)
diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index 9f92372..4ac6834 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -1,7 +1,6 @@
-DIST chromium-129-clang.tar.xz 52250752 BLAKE2B c7223a1f4a9f52eb631b968ecaea528d19aa14ded23e03e530ad6c46e7e1579a7a010cb347489f1b963013b4f26358be94aeff0f98b5eceb7b1f1e49e8acdfd3 SHA512 43681d64d4480e3f69afd3021037af6910e9c64052edefdb72e99b0a85cd94c4a8eb4095188784d7fa7f52fae10a9bd9db53f2bb80e89f709f92af7ce6403976
-DIST chromium-129-rust.tar.xz 152042272 BLAKE2B acde4dc9c0fe232d16f07f3e4b719ea762627e234970866e0de56ec3959c4cd0a7b1b09cf5ccecd50efd1cc35dcf224be3b398c1ea19a79731d6db13c94fa7a9 SHA512 bef8e56cf73de5cefd5fe0bb9836ef65012406ff3d364d36624d30e7b5cdb2634d17ac9e49a60ccb0ac5dd57cf4311b587c5ff0cec26b2fc6e15274abe0dc85b
-DIST chromium-129.0.6668.100.tar.xz 6677334468 BLAKE2B b68896322673762ce49ac18dcd731011516f3eff3e98561bcfc2404fea7e5bf8c39fa8c5b19e0dc26f188ec8787ba2b729580024a0ca205c891eaf48a4a0e134 SHA512 366be6dbde59e979186174525431d4823449e0c031bb4dc290f747c7525de44f3e2c821a0c4cd1bbb47ae3bee9fa24efdaa465d8d883791f6c63f20760a4fb48
-DIST chromium-patches-129.tar.bz2 5071 BLAKE2B 080e1af8b0560a3c5365674e7c8d592310bbd2e273311b775b8112e410d91ccd48f170adbcf77cff566ad32de196217410663ac7b9e7e65544b6730fb1890aca SHA512 0a5bbc07dc9085b07332d5c6dd74940a9d55c4d0677f5603e75763ba54156f43664839d438f350bc86f3efc85aae452476e7f7040e06e60727847b156d1f0ab9
-DIST chromium-ppc64le-gentoo-patches-1.tar.xz 5636 BLAKE2B 1d898939df023c59285b27bee552470483ea06375d1ee8d6947b89c5927c23cc7bfec6b49f3b376ece931d11a56f8e2a45791e0f92ad61974fc8c34c1082d89c SHA512 8a71cb007e47cda8e5fe5d185729389e65c48bd322c8ee8b3986bee8571427b959628f2666bda646a3f89ae64197c0957d3626845ff03461dbd5dee4c964d07c
+DIST chromium-132.0.6834.110-linux-testdata.tar.xz 299682228 BLAKE2B 93775b8f3ee34484fb93fefd5eb7bd2b2d9c2f26d869a1ae65968a7151b975ccf8b94027b0cbbbce6a1805292da50fbf084dce038c24fdc651fb6d0387c22d1d SHA512 3dd3332a83227d198c8cf9f42bc1d395bcbb2f7f711cdbd2a5f1f804944a37ac5c2f39fc65717a4bb3324c987abbee0a7eefd7048df7811f0edb6db60ffeb340
+DIST chromium-132.0.6834.110-linux.tar.xz 2196336616 BLAKE2B a31932fdf003b6fbe59b61804d28e2f321cbb257311f45f732dbc4868cdb844a22521ced70d98a1cec647ef4c3de26d1881210c0a54098c416d9d9e9da214781 SHA512 962c85c16f2c59656347b4804b8766a3669d23764f1802d96af00de889047ce43ebe2cddc511ad9bc88e8e55a0cfc957d7f2b96e9a8680dc6d983293968adf9e
+DIST chromium-openpower-c11b515d9a.tar.bz2 396039 BLAKE2B c05653e6bb62188c18864e783197853f4c41f88d1c928044a0ea0cb4677bc17806fac266ab100cbbcec3cb0d964bf2172917df95679927c1f1a88fa34aef4f53 SHA512 e9d9bbb2dd8d998060c78dfd5bbaedc548a8c44b442f6259304797326c585046144a6bb8aa4e24c44b3b56068189bee8a01267db2a392e90fd5603d06c0ef9ff
+DIST chromium-patches-132.tar.bz2 5040 BLAKE2B d5bd84dd90b395c6a15135637f51f931c72a2f301b1c24e9b938c744f2767fa36857b8edfdf5c44cf085a1efcb40475401fec226ce43446442f32fb174b55355 SHA512 29833b306a34ab6562ee58eb03669818da7235cd36666b27d829bcbd3c4d0035a530fb6be1c33cf88c1c11d43e68e3781f9b9602c0c004e7a37ffa69f9ee17c7
DIST chromium-profiler-0.2.tar 259952640 BLAKE2B 5e82389fce00b267280d633b26551231c558b80f0c92cd7d60271095a3503365ab673e7a46dc5f74f8a82db1f21262cb24dcc0531d954bab5fb3b175dab3394d SHA512 9fa89a5ab728419683e7495ae676567480987d68a2d589f2aa97bfcbcf123f3c8f97f8bca5f65e5e3f6e41475535add473ded83b9c7a33bb4746a9d05b298a6c
-DIST chromium_128.0.6613.84-1raptor0~deb12u1.debian.tar.xz 8674292 BLAKE2B 74c8556f578231cd133ce3a11306ce38d32332a3db7b0f32a63df1806201933e69e9ff01e66d7ccef279f2134e0a69c89365d7a08a7a7e7d69816a188ae0b91c SHA512 b1b85bc99493676d466e648c00eb7e337efbcb197e9ed5ae6394133721db828583340df5ebfa45a3dccc72f400ad6ada637d400d8e2fae35c1322ca5e15dc10e
+DIST chromium-testfonts-f26f29c9d3.tar.gz 32750602 BLAKE2B 498f8b2e0811c98dc3d4aaa75559e69c782afb4bd12328cfdb7244ddba5cae7ee47becd27b2549d7b36bed417601f70f4c192934b0f08496cef1547d0502d93c SHA512 96b090446862997c8134e2971f0e38793ecc1208d547e554c9b651ccfb4127c4de86754903fea57a7292a2823c45117bae0ec13ed87aed20c248fb779579fbde
diff --git a/www-client/chromium/chromium-129.0.6668.100-r1.ebuild b/www-client/chromium/chromium-132.0.6834.110.ebuild
similarity index 70%
rename from www-client/chromium/chromium-129.0.6668.100-r1.ebuild
rename to www-client/chromium/chromium-132.0.6834.110.ebuild
index 80d0a5d..8f3791d 100644
--- a/www-client/chromium/chromium-129.0.6668.100-r1.ebuild
+++ b/www-client/chromium/chromium-132.0.6834.110.ebuild
@@ -1,35 +1,16 @@
-# Copyright 2009-2024 Gentoo Authors
+# Copyright 2009-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# PACKAGING NOTES
-# Google roll their bundled Clang every two weeks, and the bundled Rust
-# is rolled regularly and depends on that. While we do our best to build
-# with system Clang, we will eventually hit the point where we need to use
-# the bundled Clang due to the use of prerelease features. We've been lucky
-# enough so far that this hasn't been an issue.
-# We use llvm-utils.eclass directly due to chromium's inherent Googliness.
-
-# GN is bundled with Chromium, but we always use the system version. Remember to
-# check for upstream changes to GN and update ebuild (and version below) as required.
-
-# For binhost users, if USE=bindist is set, we configure Chromium in a way that it is able
-# to use proprietary codecs, and so that ffmpeg is an external component (libffmpeg.so),
-# then we remove ffmpeg from the image to ensure that the built package is distributable
-# (i.e. we don't owe royalties). A suitable libffmpeg.so is symlinked in its place;
-# as a result of this, ffmpeg[chromium] or ffmpeg-chromium must be installed on the system.
-
-# For non-binhost builds, we build the bundled ffmpeg and enable proprietary codecs because there's
-# no reason not to. Todo: Re-enable USE=system-ffmpeg.
+# This uses a gentoo-created tarball due to Google CI Failures.
+# Use 133(?) as a base for new official tarballs.
GN_MIN_VER=0.2165
-# chromium-tools/get-chromium-toolchain-strings.sh
-GOOGLE_CLANG_VER=llvmorg-20-init-1009-g7088a5ed-10
-GOOGLE_RUST_VER=595316b4006932405a63862d8fe65f71a6356293-5
-
-: ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN=no}
+# chromium-tools/get-chromium-toolchain-strings.py
+TEST_FONT=f26f29c9d3bfae588207bbc9762de8d142e58935c62a86f67332819b15203b35
VIRTUALX_REQUIRED="pgo"
@@ -37,43 +18,45 @@ CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu
hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr
sv sw ta te th tr uk ur vi zh-CN zh-TW"
-LLVM_COMPAT=( 18 )
+LLVM_COMPAT=( 19 )
PYTHON_COMPAT=( python3_{11..13} )
PYTHON_REQ_USE="xml(+)"
RUST_MIN_VER=1.78.0
-RUST_NEEDS_LLVM=1
-RUST_OPTIONAL=1
+RUST_NEEDS_LLVM="yes please"
-inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 ninja-utils pax-utils
+inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 multiprocessing ninja-utils pax-utils
inherit python-any-r1 qmake-utils readme.gentoo-r1 rust systemd toolchain-funcs virtualx xdg-utils
DESCRIPTION="Open-source version of Google Chrome web browser"
HOMEPAGE="https://www.chromium.org/"
-PATCHSET_PPC64="128.0.6613.84-1raptor0~deb12u1"
+PPC64_HASH="c11b515d9addc3f8b516502e553ace507eb81815"
PATCH_V="${PV%%\.*}"
-SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
- system-toolchain? (
+SRC_URI="https://chromium-tarballs.distfiles.gentoo.org/${P}-linux.tar.xz
https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2
- )
- !system-toolchain? (
- https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-${GOOGLE_CLANG_VER}.tar.xz
- -> chromium-${PV%%\.*}-clang.tar.xz
- https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${GOOGLE_RUST_VER}-${GOOGLE_CLANG_VER%???}.tar.xz
- -> chromium-${PV%%\.*}-rust.tar.xz
+ test? (
+ https://chromium-tarballs.distfiles.gentoo.org/${P}-linux-testdata.tar.xz
+ https://chromium-fonts.storage.googleapis.com/${TEST_FONT} -> chromium-testfonts-${TEST_FONT:0:10}.tar.gz
)
ppc64? (
- https://quickbuild.io/~raptor-engineering-public/+archive/ubuntu/chromium/+files/chromium_${PATCHSET_PPC64}.debian.tar.xz
- https://deps.gentoo.zip/chromium-ppc64le-gentoo-patches-1.tar.xz
+ https://gitlab.raptorengineering.com/raptor-engineering-public/chromium/openpower-patches/-/archive/${PPC64_HASH}/openpower-patches-${PPC64_HASH}.tar.bz2 -> chromium-openpower-${PPC64_HASH:0:10}.tar.bz2
)
pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )"
LICENSE="BSD"
SLOT="0/stable"
-KEYWORDS="amd64 arm64 ~riscv"
+# Dev exists mostly to give devs some breathing room for beta/stable releases;
+# it shouldn't be keyworded but adventurous users can select it.
+if [[ ${SLOT} != "0/dev" ]]; then
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+fi
+
IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd"
IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo +proprietary-codecs pulseaudio"
-IUSE+=" qt5 qt6 +screencast selinux +system-toolchain +vaapi +wayland +widevine"
-RESTRICT="!bindist? ( bindist )"
+IUSE+=" qt5 qt6 +screencast selinux test +vaapi +wayland +widevine cpu_flags_ppc_vsx3"
+RESTRICT="
+ !bindist? ( bindist )
+ !test? ( test )
+"
REQUIRED_USE="
!headless? ( || ( X wayland ) )
@@ -111,7 +94,6 @@ COMMON_SNAPSHOT_DEPEND="
media-libs/mesa:=[gbm(+)]
>=media-libs/openh264-1.6.0:=
sys-libs/zlib:=
- x11-libs/libdrm:=
!headless? (
dev-libs/glib:2
>=media-libs/alsa-lib-1.0.19:=
@@ -136,6 +118,7 @@ COMMON_SNAPSHOT_DEPEND="
COMMON_DEPEND="
${COMMON_SNAPSHOT_DEPEND}
+ app-misc/jq:=
app-arch/bzip2:=
dev-libs/expat:=
net-misc/curl[ssl]
@@ -192,19 +175,19 @@ BDEPEND="
qt5? ( dev-qt/qtcore:5 )
qt6? ( dev-qt/qtbase:6 )
)
- system-toolchain? (
- $(llvm_gen_dep "
- llvm-core/clang:\${LLVM_SLOT}
- llvm-core/llvm:\${LLVM_SLOT}
- llvm-core/lld:\${LLVM_SLOT}
- ")
- ${RUST_DEPEND}
- pgo? (
- >=dev-python/selenium-3.141.0
- >=dev-util/web_page_replay_go-20220314
+ $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}
+ llvm-core/llvm:${LLVM_SLOT}
+ llvm-core/lld:${LLVM_SLOT}
+ official? (
+ !ppc64? ( !riscv? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[cfi] ) )
)
- >=dev-util/bindgen-0.68.0
+ ')
+ pgo? (
+ >=dev-python/selenium-3.141.0
+ >=dev-util/web_page_replay_go-20220314
)
+ >=dev-util/bindgen-0.68.0
>=dev-build/gn-${GN_MIN_VER}
dev-build/ninja
dev-lang/perl
@@ -299,38 +282,57 @@ pkg_setup() {
# The pre_build_checks are all about compilation resources, no need to run it for a binpkg
pre_build_checks
- if use system-toolchain; then
- # The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment
- # This is effectively the 'force-clang' path if GCC support is re-added.
- if ! tc-is-lto && use official; then
- einfo "USE=official selected and LTO not detected."
- einfo "It is _highly_ recommended that LTO be enabled for performance reasons"
- einfo "and to be consistent with the upstream \"official\" build optimisations."
- fi
+ # The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment
+ # We'll set these to clang here then use llvm-utils functions to very explicitly set these
+ # to a sane value.
+ # This is effectively the 'force-clang' path if GCC support is re-added.
+ # TODO: check if the user has already selected a specific impl via make.conf and respect that.
+ use_lto="false"
+ if tc-is-lto; then
+ use_lto="true"
+ # We can rely on GN to do this for us; anecdotally without this builds
+ # take significantly longer with LTO enabled and it doesn't hurt anything.
+ filter-lto
+ fi
- # 936858
- if tc-ld-is-mold; then
- eerror "Your toolchain is using the mold linker."
- eerror "This is not supported by Chromium."
- die "Please switch to a different linker."
- fi
+ if [ "$use_lto" = "false" ] && use official; then
+ einfo "USE=official selected and LTO not detected."
+ einfo "It is _highly_ recommended that LTO be enabled for performance reasons"
+ einfo "and to be consistent with the upstream \"official\" build optimisations."
+ fi
- # We're forcing clang here; user choice is respected via llvm_slot_x USE
- AR=llvm-ar
- CPP="${CHOST}-clang++ -E"
- NM=llvm-nm
- CC=${CHOST}-clang
- CXX=${CHOST}-clang++
+ if [ "$use_lto" = "false" ] && use test; then
+ die "Tests require CFI which requires LTO"
+ fi
- if tc-is-cross-compiler; then
- use pgo && die "The pgo USE flag cannot be used when cross-compiling"
- CPP="${CBUILD}-clang++ -E"
- fi
+ export use_lto
- llvm-r1_pkg_setup
- rust_pkg_setup
+ # 936858
+ if tc-ld-is-mold; then
+ eerror "Your toolchain is using the mold linker."
+ eerror "This is not supported by Chromium."
+ die "Please switch to a different linker."
fi
+ llvm-r1_pkg_setup
+ rust_pkg_setup
+
+ # Forcing clang; respect llvm_slot_x to enable selection of impl from LLVM_COMPAT
+ AR=llvm-ar
+ CPP="${CHOST}-clang++-${LLVM_SLOT} -E"
+ NM=llvm-nm
+ CC="${CHOST}-clang-${LLVM_SLOT}"
+ CXX="${CHOST}-clang++-${LLVM_SLOT}"
+
+ if tc-is-cross-compiler; then
+ use pgo && die "The pgo USE flag cannot be used when cross-compiling"
+ CPP="${CBUILD}-clang++-${LLVM_SLOT} -E"
+ fi
+
+ # I hate doing this but upstream Rust have yet to come up with a better solution for
+ # us poor packagers. Required for Split LTO units, which are required for CFI.
+ export RUSTC_BOOTSTRAP=1
+
# Users should never hit this, it's purely a development convenience
if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then
die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium"
@@ -341,26 +343,24 @@ pkg_setup() {
}
src_unpack() {
- # In 126 Chromium upstream decided to change the way that the rust toolchain is packaged
- # so now we get a fancy src_unpack function to ensure that we don't accidentally unpack
- # one toolchain over the other. The addtional control over over unpacking also helps us
- # ensure that GN doesn't try and use some bundled tool (like bindgen) instead of the system
- # package by just not unpacking it unless we're using the bundled toolchain.
- unpack ${P}.tar.xz
- if use system-toolchain; then
- unpack chromium-patches-${PATCH_V}.tar.bz2
- else
- unpack chromium-${PV%%\.*}-clang.tar.xz
- local rust_dir="${WORKDIR}/rust-toolchain"
- mkdir -p ${rust_dir} || die "Failed to create rust toolchain directory"
- tar xf "${DISTDIR}/chromium-${PV%%\.*}-rust.tar.xz" -C ${rust_dir} || die "Failed to unpack rust toolchain"
- fi
+ unpack ${P}-linux.tar.xz
+ unpack chromium-patches-${PATCH_V}.tar.bz2
use pgo && unpack chromium-profiler-0.2.tar
+ if use test; then
+ # A new testdata tarball is available for each release; but testfonts tend to remain stable
+ # for the duration of a release.
+ # This unpacks directly into/over ${WORKDIR}/${P} so we can just use `unpack`.
+ unpack ${P}-linux-testdata.tar.xz
+ # This just contains a bunch of font files that need to be unpacked (or moved) to the correct location.
+ local testfonts_dir="${WORKDIR}/${P}/third_party/test_fonts"
+ local testfonts_tar="${DISTDIR}/chromium-testfonts-${TEST_FONT:0:10}.tar.gz"
+ tar xf "${testfonts_tar}" -C "${testfonts_dir}" || die "Failed to unpack testfonts"
+ fi
+
if use ppc64; then
- unpack chromium_${PATCHSET_PPC64}.debian.tar.xz
- unpack chromium-ppc64le-gentoo-patches-1.tar.xz
+ unpack chromium-openpower-${PPC64_HASH:0:10}.tar.bz2
fi
}
@@ -368,58 +368,70 @@ src_prepare() {
# Calling this here supports resumption via FEATURES=keepwork
python_setup
- # disable global media controls, crashes with libstdc++
- sed -i -e \
- "/\"GlobalMediaControlsCastStartStop\"/,+4{s/ENABLED/DISABLED/;}" \
- "chrome/browser/media/router/media_router_feature.cc"
-
local PATCHES=(
"${FILESDIR}/chromium-cross-compile.patch"
"${FILESDIR}/chromium-109-system-zlib.patch"
"${FILESDIR}/chromium-111-InkDropHost-crash.patch"
- "${FILESDIR}/chromium-126-oauth2-client-switches.patch"
- "${FILESDIR}/chromium-127-bindgen-custom-toolchain.patch"
+ "${FILESDIR}/chromium-131-unbundle-icu-target.patch"
+ "${FILESDIR}/chromium-131-oauth2-client-switches.patch"
+ "${FILESDIR}/chromium-132-bindgen-custom-toolchain.patch"
"${FILESDIR}/swiftshader-MCDissassembler.patch"
"${FILESDIR}/swiftshader-use-llvm16.patch"
"${FILESDIR}/Debian-fix-rust-linking.patch"
"${FILESDIR}/riscv-dav1d.patch"
- "${FILESDIR}/riscv-cargo.patch"
"${FILESDIR}/riscv-sandbox.patch"
"${FILESDIR}/riscv-ffmpeg.patch"
- "${FILESDIR}/riscv.patch"
+ "${FILESDIR}/compiler-rt-riscv.patch"
"${FILESDIR}/cpuinfo.patch"
"${FILESDIR}/riscv-misc.patch"
+ "${FILESDIR}/libstdc++-fixup.patch"
+ "${FILESDIR}/0001-chrome-runtime_api_delegate-add-riscv64-define.patch"
+ "${FILESDIR}/0001-extensions-common-api-runtime.json-riscv64-support.patch"
+ "${FILESDIR}/0001-Enable-relocate-1-for-ff_h264_weight_funcs_8_rvv.patch"
)
+ shopt -s globstar nullglob
+ # 130: moved the PPC64 patches into the chromium-patches repo
+ local patch
+ for patch in "${WORKDIR}/chromium-patches-${PATCH_V}"/**/*.patch; do
+ if [[ ${patch} == *"ppc64le"* ]]; then
+ use ppc64 && PATCHES+=( "${patch}" )
+ else
+ PATCHES+=( "${patch}" )
+ fi
+ done
+ shopt -u globstar nullglob
- if use system-toolchain; then
- # The patchset is really only required if we're using the system-toolchain
- PATCHES+=( "${WORKDIR}/chromium-patches-${PATCH_V}" )
- # We can't use the bundled compiler builtins with the system toolchain
- # `grep` is a development convenience to ensure we fail early when google changes something.
- local builtins_match="if (is_clang && !is_nacl && !is_cronet_build) {"
- grep -q "${builtins_match}" build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins"
- sed -i -e "/${builtins_match}/,+2d" build/config/compiler/BUILD.gn
+ # We can't use the bundled compiler builtins with the system toolchain
+ # `grep` is a development convenience to ensure we fail early when google changes something.
+ local builtins_match="if (is_clang && !is_nacl && !is_cronet_build) {"
+ grep -q "${builtins_match}" build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins"
+ sed -i -e "/${builtins_match}/,+2d" build/config/compiler/BUILD.gn
- else
- mkdir -p third_party/llvm-build/Release+Asserts || die "Failed to bundle llvm"
- ln -s "${WORKDIR}"/bin third_party/llvm-build/Release+Asserts/bin || die "Failed to symlink llvm bin"
- ln -s "${WORKDIR}"/lib third_party/llvm-build/Release+Asserts/lib || die "Failed to symlink llvm lib"
- echo "${GOOGLE_CLANG_VER}" > third_party/llvm-build/Release+Asserts/cr_build_revision || \
- die "Failed to set clang version"
- ln -s "${WORKDIR}"/rust-toolchain third_party/rust-toolchain || die "Failed to bundle rust"
- cp "${WORKDIR}"/rust-toolchain/VERSION \
- "${WORKDIR}"/rust-toolchain/INSTALLED_VERSION || die "Failed to set rust version"
+ if use ppc64; then
+ local patchset_dir="${WORKDIR}/openpower-patches-${PPC64_HASH}/patches"
+ # patch causes build errors on 4K page systems (https://bugs.gentoo.org/show_bug.cgi?id=940304)
+ local page_size_patch="ppc64le/third_party/use-sysconf-page-size-on-ppc64.patch"
+ local isa_3_patch="ppc64le/core/baseline-isa-3-0.patch"
+ # Apply the OpenPOWER patches (check for page size and isa3.0)
+ openpower_patches=( $(grep -E "^ppc64le|^upstream" "${patchset_dir}/series" | grep -v "${page_size_patch}" |
+ grep -v "${isa_3_patch}" || die) )
+ for patch in "${openpower_patches[@]}"; do
+ PATCHES+=( "${patchset_dir}/${patch}" )
+ done
+ if [[ $(getconf PAGESIZE) == 65536 ]]; then
+ PATCHES+=( "${patchset_dir}/${page_size_patch}" )
+ fi
+ # We use vsx3 as a proxy for 'want isa3.0' (POWER9)
+ if use cpu_flags_ppc_vsx3 ; then
+ PATCHES+=( "${patchset_dir}/${isa_3_patch}" )
+ fi
fi
- if use ppc64 ; then
- local p
- for p in $(grep -v "^#" "${WORKDIR}"/debian/patches/series | grep "^ppc64le" || die); do
- if [[ ! $p =~ "fix-breakpad-compile.patch" ]]; then
- eapply "${WORKDIR}/debian/patches/${p}"
- fi
- done
- PATCHES+=( "${WORKDIR}/ppc64le" )
- PATCHES+=( "${WORKDIR}/debian/patches/fixes/rust-clanglib.patch" )
+ # This is a nightly option that does not exist any current release
+ # https://github.com/rust-lang/rust/commit/389a399a501a626ebf891ae0bb076c25e325ae64
+ if ver_test ${RUST_SLOT} -le "1.82.0"; then
+ sed '/rustflags = \[ "-Zdefault-visibility=hidden" \]/d' -i build/config/gcc/BUILD.gn ||
+ die "Failed to remove default visibility nightly option"
fi
default
@@ -427,9 +439,24 @@ src_prepare() {
rm third_party/node/linux/node-linux-x64/bin/node || die
ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
+ # if this is riscv apply wasm-node fix to get it to compile clean
+ if use riscv ; then
+ pushd third_party/node
+ sed -i -e 's/@rollup/rollup/' -e "s/'wasm-node',//" node_modules.py
+ _rollup_ver="$(jq -r .dependencies.\"@rollup/wasm-node\" package.json)"
+ jq ".dependencies.rollup=\"$_rollup_ver\"" package.json > package.json.new
+ mv package.json{.new,}
+ popd
+ third_party/node/update_npm_deps || die
+ rm third_party/devtools-frontend/src/third_party/esbuild/esbuild || die
+ cp -a ${FILESDIR}/esbuild third_party/devtools-frontend/src/third_party/esbuild/esbuild
+ fi
+
# adjust python interpreter version
sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die
+ # remove_bundled_libraries.py walks the source tree and looks for paths containing the substring 'third_party'
+ # whitelist matches use the right-most matching path component, so we need to whitelist from that point down.
local keeplibs=(
base/third_party/cityhash
base/third_party/double_conversion
@@ -441,7 +468,6 @@ src_prepare() {
buildtools/third_party/libc++
buildtools/third_party/libc++abi
chrome/third_party/mozilla_security_manager
- courgette/third_party
net/third_party/mozilla_security_manager
net/third_party/nss
net/third_party/quic
@@ -504,14 +530,15 @@ src_prepare() {
third_party/devtools-frontend/src/front_end/third_party/diff
third_party/devtools-frontend/src/front_end/third_party/i18n
third_party/devtools-frontend/src/front_end/third_party/intl-messageformat
+ third_party/devtools-frontend/src/front_end/third_party/json5
third_party/devtools-frontend/src/front_end/third_party/lighthouse
third_party/devtools-frontend/src/front_end/third_party/lit
- third_party/devtools-frontend/src/front_end/third_party/lodash-isequal
third_party/devtools-frontend/src/front_end/third_party/marked
third_party/devtools-frontend/src/front_end/third_party/puppeteer
third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt
third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/parsel-js
third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs
+ third_party/devtools-frontend/src/front_end/third_party/third-party-web
third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data
third_party/devtools-frontend/src/front_end/third_party/wasmparser
third_party/devtools-frontend/src/front_end/third_party/web-vitals
@@ -521,6 +548,7 @@ src_prepare() {
third_party/eigen3
third_party/emoji-segmenter
third_party/farmhash
+ third_party/fast_float
third_party/fdlibm
third_party/ffmpeg
third_party/fft2d
@@ -537,6 +565,17 @@ src_prepare() {
third_party/highway
third_party/hunspell
third_party/iccjpeg
+ third_party/ink_stroke_modeler/src/ink_stroke_modeler
+ third_party/ink_stroke_modeler/src/ink_stroke_modeler/internal
+ third_party/ink/src/ink/brush
+ third_party/ink/src/ink/color
+ third_party/ink/src/ink/geometry
+ third_party/ink/src/ink/rendering
+ third_party/ink/src/ink/rendering/skia/common_internal
+ third_party/ink/src/ink/rendering/skia/native
+ third_party/ink/src/ink/rendering/skia/native/internal
+ third_party/ink/src/ink/strokes
+ third_party/ink/src/ink/types
third_party/inspector_protocol
third_party/ipcz
third_party/jinja2
@@ -553,6 +592,7 @@ src_prepare() {
third_party/libaom/source/libaom/third_party/x86inc
third_party/libavif
third_party/libc++
+ third_party/libdrm
third_party/libevent
third_party/libgav1
third_party/libjingle
@@ -560,6 +600,9 @@ src_prepare() {
third_party/libsecret
third_party/libsrtp
third_party/libsync
+ third_party/libtess2/libtess2
+ third_party/libtess2/src/Include
+ third_party/libtess2/src/Source
third_party/liburlpattern
third_party/libva_protected_content
third_party/libvpx
@@ -571,6 +614,8 @@ src_prepare() {
third_party/libyuv
third_party/libzip
third_party/lit
+ third_party/llvm-libc
+ third_party/llvm-libc/src/shared/
third_party/lottie
third_party/lss
third_party/lzma_sdk
@@ -647,8 +692,10 @@ src_prepare() {
third_party/tflite/src/third_party/eigen3
third_party/tflite/src/third_party/fft2d
third_party/tflite/src/third_party/xla/third_party/tsl
- third_party/tflite/src/third_party/xla/xla/tsl/util
third_party/tflite/src/third_party/xla/xla/tsl/framework
+ third_party/tflite/src/third_party/xla/xla/tsl/lib/random
+ third_party/tflite/src/third_party/xla/xla/tsl/protobuf
+ third_party/tflite/src/third_party/xla/xla/tsl/util
third_party/ukey2
third_party/unrar
third_party/utf
@@ -686,6 +733,18 @@ src_prepare() {
third_party/xdg-utils
)
+ if use test; then
+ # tar tvf /var/cache/distfiles/${P}-testdata.tar.xz | grep '^d' | grep 'third_party' | awk '{print $NF}'
+ keeplibs+=(
+ third_party/breakpad/breakpad/src/processor
+ third_party/google_benchmark/src/include/benchmark
+ third_party/google_benchmark/src/src
+ third_party/perfetto/protos/third_party/pprof
+ third_party/test_fonts
+ third_party/test_fonts/fontconfig
+ )
+ fi
+
# USE=system-*
if ! use system-harfbuzz; then
keeplibs+=( third_party/harfbuzz-ng )
@@ -703,10 +762,6 @@ src_prepare() {
keeplibs+=( third_party/zstd )
fi
- if ! use system-toolchain || [[ ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN} == yes ]]; then
- keeplibs+=( third_party/llvm )
- fi
-
# Arch-specific
if use arm64 || use ppc64 ; then
keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 )
@@ -734,10 +789,38 @@ src_prepare() {
popd >/dev/null || die
fi
- einfo "Unbundling third-party libraries ..."
+ # Sanity check keeplibs, on major version bumps it is often necessary to update this list
+ # and this enables us to hit them all at once.
+ # There are some entries that need to be whitelisted (TODO: Why? The file is understandable, the rest seem odd)
+ whitelist_libs=(
+ net/third_party/quic
+ third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
+ third_party/libjingle
+ third_party/mesa
+ third_party/skia/third_party/vulkan
+ third_party/vulkan
+ )
+ local not_found_libs=()
+ for lib in "${keeplibs[@]}"; do
+ if [[ ! -d "${lib}" ]] && ! has "${lib}" "${whitelist_libs[@]}"; then
+ not_found_libs+=( "${lib}" )
+ fi
+ done
+
+ if [[ ${#not_found_libs[@]} -gt 0 ]]; then
+ eerror "The following \`keeplibs\` directories were not found in the source tree:"
+ for lib in "${not_found_libs[@]}"; do
+ eerror " ${lib}"
+ done
+ die "Please update the ebuild."
+ fi
+
# Remove most bundled libraries. Some are still needed.
+ einfo "Unbundling third-party libraries ..."
build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
+ # TODO: From 127 chromium includes a bunch of binaries? Unbundle them; they're not needed.
+
# bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries
mkdir -p buildtools/third_party/eu-strip/bin || die
ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die
@@ -750,65 +833,63 @@ chromium_configure() {
local myconf_gn=""
# We already forced the "correct" clang via pkg_setup
- if use system-toolchain; then
- if tc-is-cross-compiler; then
- CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}"
- CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}"
- BUILD_AR=${AR}
- BUILD_CC=${CC}
- BUILD_CXX=${CXX}
- BUILD_NM=${NM}
- fi
- strip-unsupported-flags
+ if tc-is-cross-compiler; then
+ CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}"
+ CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}"
+ BUILD_AR=${AR}
+ BUILD_CC=${CC}
+ BUILD_CXX=${CXX}
+ BUILD_NM=${NM}
+ fi
- myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
- # https://bugs.gentoo.org/918897#c32
- append-ldflags -Wl,--undefined-version
- myconf_gn+=" use_lld=true"
+ strip-unsupported-flags
- # Make sure the build system will use the right tools, bug #340795.
- tc-export AR CC CXX NM
+ myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
+ # https://bugs.gentoo.org/918897#c32
+ append-ldflags -Wl,--undefined-version
+ myconf_gn+=" use_lld=true"
- myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
+ # Make sure the build system will use the right tools, bug #340795.
+ tc-export AR CC CXX NM
- if tc-is-cross-compiler; then
- tc-export BUILD_{AR,CC,CXX,NM}
- myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
- myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
- myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\""
- myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\""
-
- # setup cups-config, build system only uses --libs option
- if use cups; then
- mkdir "${T}/cups-config" || die
- cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die
- export PATH="${PATH}:${T}/cups-config"
- fi
+ myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
- # Don't inherit PKG_CONFIG_PATH from environment
- local -x PKG_CONFIG_PATH=
- else
- myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
+ if tc-is-cross-compiler; then
+ tc-export BUILD_{AR,CC,CXX,NM}
+ myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\""
+ myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\""
+
+ # setup cups-config, build system only uses --libs option
+ if use cups; then
+ mkdir "${T}/cups-config" || die
+ cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die
+ export PATH="${PATH}:${T}/cups-config"
fi
- # bindgen settings
- # From 127, to make bindgen work, we need to provide a location for libclang.
- # We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch
- # rust_bindgen_root = directory with `bin/bindgen` beneath it.
- myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\""
-
- myconf_gn+=" bindgen_libclang_path=\"$(get_llvm_prefix)/$(get_libdir)\""
- # We don't need to set 'clang_base_bath' for anything in our build
- # and it defaults to the google toolchain location. Instead provide a location
- # to where system clang lives sot that bindgen can find system headers (e.g. stddef.h)
- myconf_gn+=" clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\""
-
- # We need to provide this to GN in both the path to rust _and_ the version
- myconf_gn+=" rust_sysroot_absolute=\"$(get_rust_prefix)\""
- myconf_gn+=" rustc_version=\"${RUST_SLOT}\""
+ # Don't inherit PKG_CONFIG_PATH from environment
+ local -x PKG_CONFIG_PATH=
+ else
+ myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
fi
+ # bindgen settings
+ # From 127, to make bindgen work, we need to provide a location for libclang.
+ # We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch
+ # rust_bindgen_root = directory with `bin/bindgen` beneath it.
+ myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\""
+
+ myconf_gn+=" bindgen_libclang_path=\"$(get_llvm_prefix)/$(get_libdir)\""
+ # We don't need to set 'clang_base_bath' for anything in our build
+ # and it defaults to the google toolchain location. Instead provide a location
+ # to where system clang lives sot that bindgen can find system headers (e.g. stddef.h)
+ myconf_gn+=" clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\""
+
+ myconf_gn+=" rust_sysroot_absolute=\"$(get_rust_prefix)\""
+ myconf_gn+=" rustc_version=\"${RUST_SLOT}\""
+
# GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
myconf_gn+=" is_debug=false"
@@ -837,7 +918,6 @@ chromium_configure() {
freetype
# Need harfbuzz_from_pkgconfig target
#harfbuzz-ng
- libdrm
libjpeg
libwebp
libxml
@@ -857,6 +937,13 @@ chromium_configure() {
build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
+ # TODO 131: The above call clobbers `enable_freetype = true` in the freetype gni file
+ # drop the last line, then append the freetype line and a new curly brace to end the block
+ local freetype_gni="build/config/freetype/freetype.gni"
+ sed -i -e '$d' ${freetype_gni} || die
+ echo " enable_freetype = true" >> ${freetype_gni} || die
+ echo "}" >> ${freetype_gni} || die
+
# See dependency logic in third_party/BUILD.gn
myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)"
@@ -1000,6 +1087,11 @@ chromium_configure() {
# Don't need nocompile checks and GN crashes with our config
myconf_gn+=" enable_nocompile_tests=false"
+ # 131 began laying the groundwork for replacing freetype with
+ # "Rust-based Fontations set of libraries plus Skia path rendering"
+ # We now need to opt-in
+ myconf_gn+=" enable_freetype=true"
+
# Enable ozone wayland and/or headless support
myconf_gn+=" use_ozone=true ozone_auto_platforms=false"
myconf_gn+=" ozone_platform_headless=true"
@@ -1012,7 +1104,6 @@ chromium_configure() {
myconf_gn+=" enable_print_preview=false"
myconf_gn+=" enable_remoting=false"
else
- myconf_gn+=" use_system_libdrm=true"
myconf_gn+=" use_system_minigbm=true"
myconf_gn+=" use_xkbcommon=true"
if use qt5 || use qt6; then
@@ -1045,20 +1136,6 @@ chromium_configure() {
use wayland && myconf_gn+=" use_system_libffi=true"
fi
- # Results in undefined references in chrome linking, may require CFI to work
- if use arm64; then
- myconf_gn+=" arm_control_flow_integrity=\"none\""
- fi
-
- # 936673: Updater (which we don't use) depends on libsystemd
- # This _should_ always be disabled if we're not building a
- # "Chrome" branded browser, but obviously this is not always sufficient.
- myconf_gn+=" enable_updater=false"
-
- local use_lto="false"
- if tc-is-lto; then
- use_lto="true"
- fi
myconf_gn+=" use_thin_lto=${use_lto}"
myconf_gn+=" thin_lto_enable_optimizations=${use_lto}"
@@ -1068,10 +1145,11 @@ chromium_configure() {
# Allow building against system libraries in official builds
sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
tools/generate_shim_headers/generate_shim_headers.py || die
- # Req's LTO; TODO: not compatible with -fno-split-lto-unit
- # split-lto-unit can be enabled with RUSTC_BOOTSTRAP=1 (and an updated compiler patch),
- # however I still got weird linking errors with CFI _and_ the split unit LTO OOMed after using 100G.
- myconf_gn+=" is_cfi=false"
+ if use ppc64 || use riscv; then
+ myconf_gn+=" is_cfi=false" # requires llvm-runtimes/compiler-rt-sanitizers[cfi]
+ else
+ myconf_gn+=" is_cfi=${use_lto}"
+ fi
# Don't add symbols to build
myconf_gn+=" symbol_level=0"
fi
@@ -1102,6 +1180,7 @@ src_configure() {
}
chromium_compile() {
+
# Final link uses lots of file descriptors.
ulimit -n 2048
@@ -1127,25 +1206,10 @@ chromium_compile() {
# Even though ninja autodetects number of CPUs, we respect
# user's options, for debugging with -j 1 or any other reason.
- eninja -C out/Release chrome chromedriver chrome_sandbox
+ eninja -C out/Release chrome chromedriver chrome_sandbox $(use test && echo "base_unittests")
pax-mark m out/Release/chrome
- if ! use system-toolchain; then
- QA_FLAGS_IGNORED="
- usr/lib64/chromium-browser/chrome
- usr/lib64/chromium-browser/chrome-sandbox
- usr/lib64/chromium-browser/chromedriver
- usr/lib64/chromium-browser/chrome_crashpad_handler
- usr/lib64/chromium-browser/libEGL.so
- usr/lib64/chromium-browser/libGLESv2.so
- usr/lib64/chromium-browser/libVkICD_mock_icd.so
- usr/lib64/chromium-browser/libVkLayer_khronos_validation.so
- usr/lib64/chromium-browser/libqt5_shim.so
- usr/lib64/chromium-browser/libvk_swiftshader.so
- usr/lib64/chromium-browser/libvulkan.so.1
- "
- fi
}
# This function is called from virtx, and must always return so that Xvfb
@@ -1224,6 +1288,58 @@ src_compile() {
out/Release/vk_swiftshader_icd.json || die
}
+src_test() {
+ # Initial list of tests to skip pulled from Alpine. Thanks Lauren!
+ # https://issues.chromium.org/issues/40939315
+ local skip_tests=(
+ 'MessagePumpLibeventTest.NestedNotification*'
+ ClampTest.Death
+ OptionalTest.DereferencingNoValueCrashes
+ PlatformThreadTest.SetCurrentThreadTypeTest
+ RawPtrTest.TrivialRelocability
+ SafeNumerics.IntMaxOperations
+ StackTraceTest.TraceStackFramePointersFromBuffer
+ StringPieceTest.InvalidLengthDeath
+ StringPieceTest.OutOfBoundsDeath
+ ThreadPoolEnvironmentConfig.CanUseBackgroundPriorityForWorker
+ ValuesUtilTest.FilePath
+ # Gentoo-specific
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/0
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/1
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/2
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/3
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/0
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/1
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/2
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/3
+ CharacterEncodingTest.GetCanonicalEncodingNameByAliasName
+ CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGFPE
+ CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGILL
+ CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGSEGV
+ CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGSEGVNonCanonicalAddress
+ FilePathTest.FromUTF8Unsafe_And_AsUTF8Unsafe
+ FileTest.GetInfoForCreationTime
+ ICUStringConversionsTest.ConvertToUtf8AndNormalize
+ NumberFormattingTest.FormatPercent
+ PathServiceTest.CheckedGetFailure
+ PlatformThreadTest.CanChangeThreadType
+ RustLogIntegrationTest.CheckAllSeverity
+ StackCanary.ChangingStackCanaryCrashesOnReturn
+ StackTraceDeathTest.StackDumpSignalHandlerIsMallocFree
+ SysStrings.SysNativeMBAndWide
+ SysStrings.SysNativeMBToWide
+ SysStrings.SysWideToNativeMB
+ TestLauncherTools.TruncateSnippetFocusedMatchesFatalMessagesTest
+ ToolsSanityTest.BadVirtualCallNull
+ ToolsSanityTest.BadVirtualCallWrongType
+ )
+ local test_filter="-$(IFS=:; printf '%s' "${skip_tests[*]}")"
+ # test-launcher-bot-mode enables parallelism and plain output
+ ./out/Release/base_unittests --test-launcher-bot-mode \
+ --test-launcher-jobs="$(makeopts_jobs)" \
+ --gtest_filter="${test_filter}" || die "Tests failed!"
+}
+
src_install() {
local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
exeinto "${CHROMIUM_HOME}"
diff --git a/www-client/chromium/files/0001-Enable-relocate-1-for-ff_h264_weight_funcs_8_rvv.patch b/www-client/chromium/files/0001-Enable-relocate-1-for-ff_h264_weight_funcs_8_rvv.patch
new file mode 100644
index 0000000..790206f
--- /dev/null
+++ b/www-client/chromium/files/0001-Enable-relocate-1-for-ff_h264_weight_funcs_8_rvv.patch
@@ -0,0 +1,26 @@
+From 7954389e39292980323a986ed21eb47325bbddf8 Mon Sep 17 00:00:00 2001
+Message-ID: <7954389e39292980323a986ed21eb47325bbddf8.1731734570.git.rsworktech@outlook.com>
+From: Levi Zim <rsworktech@outlook.com>
+Date: Sat, 16 Nov 2024 13:22:28 +0800
+Subject: [PATCH] Enable relocate=1 for ff_h264_weight_funcs_8_rvv
+
+---
+ libavcodec/riscv/h264dsp_rvv.S | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/third_party/ffmpeg/libavcodec/riscv/h264dsp_rvv.S b/third_party/ffmpeg/libavcodec/riscv/h264dsp_rvv.S
+index 079896b17b..05d077f44e 100644
+--- a/third_party/ffmpeg/libavcodec/riscv/h264dsp_rvv.S
++++ b/third_party/ffmpeg/libavcodec/riscv/h264dsp_rvv.S
+@@ -160,7 +160,7 @@ h264_weight 8, 16
+
+ .global ff_h264_weight_funcs_8_rvv
+ .hidden ff_h264_weight_funcs_8_rvv
+-const ff_h264_weight_funcs_8_rvv
++const ff_h264_weight_funcs_8_rvv, relocate=1
+ .irp w, 16, 8, 4, 2
+ #if __riscv_xlen == 32
+ .word ff_h264_weight_pixels\w\()_8_rvv
+--
+2.47.0
+
diff --git a/www-client/chromium/files/chrome-runtime_api_delegate-add-riscv64-define.patch b/www-client/chromium/files/0001-chrome-runtime_api_delegate-add-riscv64-define.patch
similarity index 99%
rename from www-client/chromium/files/chrome-runtime_api_delegate-add-riscv64-define.patch
rename to www-client/chromium/files/0001-chrome-runtime_api_delegate-add-riscv64-define.patch
index 930574c..20122ea 100644
--- a/www-client/chromium/files/chrome-runtime_api_delegate-add-riscv64-define.patch
+++ b/www-client/chromium/files/0001-chrome-runtime_api_delegate-add-riscv64-define.patch
@@ -31,3 +31,4 @@ index 0c2f88ce0d92c..113a8e0010075 100644
return false;
--
2.39.2
+
diff --git a/www-client/chromium/files/extensions-common-api-runtime.json-riscv64-support.patch b/www-client/chromium/files/0001-extensions-common-api-runtime.json-riscv64-support.patch
similarity index 99%
rename from www-client/chromium/files/extensions-common-api-runtime.json-riscv64-support.patch
rename to www-client/chromium/files/0001-extensions-common-api-runtime.json-riscv64-support.patch
index 5c9fec6..a8633cf 100644
--- a/www-client/chromium/files/extensions-common-api-runtime.json-riscv64-support.patch
+++ b/www-client/chromium/files/0001-extensions-common-api-runtime.json-riscv64-support.patch
@@ -34,3 +34,4 @@ index 65a024c03011e..9965a83545807 100644
--
2.43.0
+
diff --git a/www-client/chromium/files/Debian-fix-rust-linking.patch b/www-client/chromium/files/Debian-fix-rust-linking.patch
index 1fc0efb..bb8572d 100644
--- a/www-client/chromium/files/Debian-fix-rust-linking.patch
+++ b/www-client/chromium/files/Debian-fix-rust-linking.patch
@@ -45,4 +45,3 @@
# Generate a map file to be used for binary size analysis.
# Map file adds ~10% to the link time on a z620.
# With target_os="android", libchrome.so.map.gz is ~20MB.
-
diff --git a/www-client/chromium/files/chromium-126-oauth2-client-switches.patch b/www-client/chromium/files/chromium-126-oauth2-client-switches.patch
deleted file mode 100644
index b7ddf79..0000000
--- a/www-client/chromium/files/chromium-126-oauth2-client-switches.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From b6cda4bc2283a02a5b5209c0f4282a8365f6f33e Mon Sep 17 00:00:00 2001
-From: Matt Jolly <Matt.Jolly@footclan.ninja>
-Date: Tue, 21 May 2024 10:04:24 +1000
-Subject: [PATCH] www-client/chromium: work around dead oauth2 credentials -
- 126 update
-
-126 changed the function proto; patch rebased.
-
-Google doesn't let us bake in OAuth2 credentials, and for some time,
-Google sign-in has been broken. Arch dealt with this in March, and so
-did we to some degree, but in the last few months, our sign-in
-credentials have been broken. It appears that we actually did remove API
-credentials in March around Chrome 89, but they got added back, perhaps
-when rotating newer versions to replace older versions. Work around this
-by following Arch's lead: we remove the predefined credentials, as
-before, but also we patch Chromium so that people can use their own
-easily, using Arch's patch for that.
-
-For more info, see:
-
-https://archlinux.org/news/chromium-losing-sync-support-in-early-march/
-https://bodhi.fedoraproject.org/updates/FEDORA-2021-48866282e5
-https://hackaday.com/2021/01/26/whats-the-deal-with-chromium-on-linux-google-at-odds-with-package-maintainers/
-
-Bug: https://bugs.gentoo.org/791871
-Signed-off-by: Matt Jolly <kangie@gentoo.org>
---- a/google_apis/google_api_keys-inc.cc
-+++ b/google_apis/google_api_keys-inc.cc
-@@ -193,11 +193,11 @@ class APIKeyCache {
- std::string default_client_id = CalculateKeyValue(
- GOOGLE_DEFAULT_CLIENT_ID,
- STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), std::string(),
-- nullptr, std::string(), environment.get(), command_line, gaia_config);
-+ ::switches::kOAuth2ClientID, std::string(), environment.get(), command_line, gaia_config);
- std::string default_client_secret = CalculateKeyValue(
- GOOGLE_DEFAULT_CLIENT_SECRET,
- STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), std::string(),
-- nullptr, std::string(), environment.get(), command_line, gaia_config);
-+ ::switches::kOAuth2ClientSecret, std::string(), environment.get(), command_line, gaia_config);
-
- // We currently only allow overriding the baked-in values for the
- // default OAuth2 client ID and secret using a command-line
---
-2.45.1
-
diff --git a/www-client/chromium/files/chromium-127-browser-ui-deps.patch b/www-client/chromium/files/chromium-127-browser-ui-deps.patch
deleted file mode 100644
index e262e31..0000000
--- a/www-client/chromium/files/chromium-127-browser-ui-deps.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-https://gitlab.exherbo.org/exherbo/desktop/-/raw/master/packages/net-www/chromium-beta/files/chromium-browser-ui-missing-deps.patch
-https://issues.chromium.org/u/2/issues/351157339
-Source: Tom Briden <tom@decompile.me.uk>
-Upstream: No
-
---- a/chrome/browser/ui/views/side_panel/BUILD.gn
-+++ b/chrome/browser/ui/views/side_panel/BUILD.gn
-@@ -142,18 +142,30 @@ static_library("side_panel") {
- }
- public_deps = [
- "//base",
-+ "//chrome/browser/cart:mojo_bindings",
- "//chrome/browser/companion/core/mojom:mojo_bindings",
- "//chrome/browser/profiles:profile",
- "//chrome/browser/ui/actions:actions_headers",
- "//chrome/browser/ui/color:color_headers",
-+ "//chrome/browser/ui/webui/side_panel/customize_chrome:mojo_bindings",
-+ "//chrome/browser/ui/webui/side_panel/bookmarks:mojo_bindings",
- "//chrome/browser/ui/webui/side_panel/performance_controls:mojo_bindings",
-+ "//chrome/browser/ui/webui/side_panel/reading_list:mojo_bindings",
-+ "//chrome/browser/ui:webui_name_variants",
- "//chrome/common",
- "//chrome/common/accessibility:mojo_bindings",
-+ "//chrome/common/companion:mojo_bindings",
-+ "//components/enterprise/buildflags:buildflags",
-+ "//components/enterprise/common/proto:connectors_proto",
- "//components/lens",
- "//components/lens:buildflags",
- "//components/omnibox/browser",
-+ "//components/page_image_service/mojom:mojo_bindings",
-+ "//components/paint_preview/buildflags:buildflags",
- "//components/prefs",
- "//components/search_engines",
-+ "//components/segmentation_platform/public/proto:proto",
-+ "//components/webapps/common:mojo_bindings",
- "//content/public/browser",
- "//extensions/browser",
- "//extensions/common",
-@@ -165,6 +177,8 @@ static_library("side_panel") {
- "//ui/gfx/geometry",
- "//ui/views",
- "//ui/views/controls/webview",
-+ "//ui/webui/resources/cr_components/commerce:mojo_bindings",
-+ "//ui/webui/resources/cr_components/help_bubble:mojo_bindings",
- "//url",
- ]
- deps = [
---- a/chrome/browser/ui/webui/top_chrome/BUILD.gn
-+++ b/chrome/browser/ui/webui/top_chrome/BUILD.gn
-@@ -19,6 +19,7 @@ source_set("top_chrome") {
- deps = [
- "//base",
- "//chrome/browser/profiles:profile",
-+ "//chrome/browser/ui:webui_name_variants",
- "//components/site_engagement/content:content",
- "//content/public/browser",
- "//ui/webui",
diff --git a/www-client/chromium/files/chromium-127-updater-systemd.patch b/www-client/chromium/files/chromium-127-updater-systemd.patch
deleted file mode 100644
index 57e9029..0000000
--- a/www-client/chromium/files/chromium-127-updater-systemd.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-https://github.com/chromium/chromium/commit/570332aad61afab5d9d88a8438bae53ea28a298a
-From: Noah Rose Ledesma <noahrose@google.com>
-Date: Wed, 31 Jul 2024 17:59:12 +0000
-Subject: [PATCH] Use libs instead of pkg_config for linux deps
-
-pkg_config can cause builds to fail if the requested packages are not
-present, regardless of if the lib is depended upon by the target being
-built.
-
-This issue can be avoided by setting 'libs' instead. I'm not sure why we
-didn't do so in the first place.
-
-Bug: 355967882
-Change-Id: Ie5dc4c03b08d7c1e26458ea143f6dc812b670544
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5749680
-Reviewed-by: Sorin Jianu <sorin@chromium.org>
-Commit-Queue: Noah Rose Ledesma <noahrose@google.com>
-Cr-Commit-Position: refs/heads/main@{#1335558}
---- a/chrome/updater/BUILD.gn
-+++ b/chrome/updater/BUILD.gn
-@@ -367,9 +367,10 @@ if (is_win || is_mac || is_linux) {
- "update_service_internal_impl_qualifying_linux.cc",
- "update_usage_stats_task_linux.cc",
- ]
-- public_configs = [
-- "linux:libcurl",
-- "linux:libsystemd",
-+
-+ libs = [
-+ "curl",
-+ "systemd",
- ]
- }
- }
-@@ -1040,7 +1041,7 @@ if (is_win || is_mac || is_linux) {
-
- data += [ "//chrome/test/data/updater/updater_qualification_app.crx" ]
- data_deps += [ "//chrome/updater/linux:updater_test" ]
-- public_configs = [ "linux:libsystemd" ]
-+ libs = [ "systemd" ]
- }
-
- if (is_posix) {
---- a/chrome/updater/linux/BUILD.gn
-+++ b/chrome/updater/linux/BUILD.gn
-@@ -2,7 +2,6 @@
- # Use of this source code is governed by a BSD-style license that can be
- # found in the LICENSE file.
-
--import("//build/config/linux/pkg_config.gni")
- import("//chrome/updater/zip.gni")
-
- # This target builds the updater executable and unittests.
-@@ -13,18 +12,10 @@ group("linux") {
- ]
- }
-
--pkg_config("libcurl") {
-- packages = [ "libcurl" ]
--}
--
--pkg_config("libsystemd") {
-- packages = [ "libsystemd" ]
--}
--
- source_set("updater_executable") {
- sources = [ "main.cc" ]
- deps = [ "//chrome/updater:base" ]
-- public_configs = [ ":libsystemd" ]
-+ libs = [ "systemd" ]
- }
-
- executable("updater") {
diff --git a/www-client/chromium/files/chromium-131-oauth2-client-switches.patch b/www-client/chromium/files/chromium-131-oauth2-client-switches.patch
new file mode 100644
index 0000000..350775c
--- /dev/null
+++ b/www-client/chromium/files/chromium-131-oauth2-client-switches.patch
@@ -0,0 +1,39 @@
+From 54951636d20fa798e148228118863b89a4580479 Mon Sep 17 00:00:00 2001
+From: Matt Jolly <kangie@gentoo.org>
+Date: Sat, 12 Oct 2024 12:40:16 +1000
+Subject: [PATCH] www-client/chromium: work around dead oauth2 credentials -
+ 131 update
+
+131 moved a ton of things around; this is now in api_key_cache.cc
+
+Google doesn't let us bake in OAuth2 credentials, and for some time,
+Google sign-in has been broken. Arch dealt with this in March, and so
+did we to some degree, but in the last few months, our sign-in
+credentials have been broken. It appears that we actually did remove API
+credentials in March around Chrome 89, but they got added back, perhaps
+when rotating newer versions to replace older versions. Work around this
+by following Arch's lead: we remove the predefined credentials, as
+before, but also we patch Chromium so that people can use their own
+easily, using Arch's patch for that.
+--- a/google_apis/api_key_cache.cc
++++ b/google_apis/api_key_cache.cc
+@@ -214,14 +214,14 @@ ApiKeyCache::ApiKeyCache(const DefaultApiKeys& default_api_keys) {
+
+ std::string default_client_id = CalculateKeyValue(
+ default_api_keys.google_default_client_id,
+- STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), std::string(), nullptr,
++ STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), std::string(), ::switches::kOAuth2ClientID,
+ std::string(), environment.get(), command_line, gaia_config,
+ default_api_keys.allow_override_via_environment,
+ default_api_keys.allow_unset_values);
+ std::string default_client_secret = CalculateKeyValue(
+ default_api_keys.google_default_client_secret,
+ STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), std::string(),
+- nullptr, std::string(), environment.get(), command_line, gaia_config,
++ ::switches::kOAuth2ClientSecret, std::string(), environment.get(), command_line, gaia_config,
+ default_api_keys.allow_override_via_environment,
+ default_api_keys.allow_unset_values);
+
+--
+2.46.2
+
diff --git a/www-client/chromium/files/chromium-131-unbundle-icu-target.patch b/www-client/chromium/files/chromium-131-unbundle-icu-target.patch
new file mode 100644
index 0000000..618750f
--- /dev/null
+++ b/www-client/chromium/files/chromium-131-unbundle-icu-target.patch
@@ -0,0 +1,21 @@
+From a665875b4013eed997bd042326a038e24f3296e7 Mon Sep 17 00:00:00 2001
+From: Matt Jolly <kangie@gentoo.org>
+Date: Thu, 10 Oct 2024 14:36:51 +1000
+Subject: [PATCH] unbundle: add missing icu target
+
+--- a/build/linux/unbundle/icu.gn
++++ b/build/linux/unbundle/icu.gn
+@@ -65,6 +65,10 @@ group("icuuc_public") {
+ public_deps = [ ":icuuc" ]
+ }
+
++group("icui18n_hidden_visibility") {
++ public_deps = [ ":icuuc" ]
++}
++
+ shim_headers("icui18n_shim") {
+ root_path = "source/i18n"
+ headers = [
+--
+2.46.2
+
diff --git a/www-client/chromium/files/chromium-127-bindgen-custom-toolchain.patch b/www-client/chromium/files/chromium-132-bindgen-custom-toolchain.patch
similarity index 76%
rename from www-client/chromium/files/chromium-127-bindgen-custom-toolchain.patch
rename to www-client/chromium/files/chromium-132-bindgen-custom-toolchain.patch
index e981df8..f0cf20a 100644
--- a/www-client/chromium/files/chromium-127-bindgen-custom-toolchain.patch
+++ b/www-client/chromium/files/chromium-132-bindgen-custom-toolchain.patch
@@ -1,6 +1,6 @@
-From 6df5a080f58ddb6a49a9d33e4a3619a34fffa78c Mon Sep 17 00:00:00 2001
-From: Matt Jolly <Matt.Jolly@footclan.ninja>
-Date: Fri, 5 Jul 2024 20:49:01 +1000
+From 84b3b8335f7efbb8ed5ab9c9a260ea4f5d77192b Mon Sep 17 00:00:00 2001
+From: Matt Jolly <kangie@gentoo.org>
+Date: Mon, 11 Nov 2024 20:52:48 +1000
Subject: [PATCH] Make bindgen wrapper work with unbundled toolchain
The `run_bindgen.py` wrapper takes a --libclang-path option
@@ -11,13 +11,6 @@ bindgen (in our rust toolchain), but distributions may want to
override this and use a system path.
Additionally enable distros to feed in appropriate library paths.
----
- build/config/rust.gni | 11 +++++++++++
- build/rust/rust_bindgen.gni | 28 ++++++++++++++++++----------
- 2 files changed, 29 insertions(+), 10 deletions(-)
-
-diff --git a/build/config/rust.gni b/build/config/rust.gni
-index 97e788a227..78b9daa7e8 100644
--- a/build/config/rust.gni
+++ b/build/config/rust.gni
@@ -60,6 +60,17 @@ declare_args() {
@@ -38,11 +31,9 @@ index 97e788a227..78b9daa7e8 100644
# If you're using a Rust toolchain as specified by rust_sysroot_absolute,
# set this to the output of `rustc -V`. Changing this string will cause all
# Rust targets to be rebuilt, which allows you to update your toolchain and
-diff --git a/build/rust/rust_bindgen.gni b/build/rust/rust_bindgen.gni
-index bf110ca93c..d7eb04eb00 100644
--- a/build/rust/rust_bindgen.gni
+++ b/build/rust/rust_bindgen.gni
-@@ -16,13 +16,13 @@ if (host_os == "win") {
+@@ -17,13 +17,13 @@ if (host_os == "win") {
_bindgen_path = "${_bindgen_path}.exe"
}
@@ -62,35 +53,38 @@ index bf110ca93c..d7eb04eb00 100644
}
# Template to build Rust/C bindings with bindgen.
-@@ -100,7 +100,7 @@ template("rust_bindgen") {
+--- a/build/rust/rust_bindgen_generator.gni
++++ b/build/rust/rust_bindgen_generator.gni
+@@ -151,7 +151,7 @@ template("rust_bindgen_generator") {
"--output",
- rebase_path(out_gen_rs, root_build_dir),
+ rebase_path(output_file, root_build_dir),
"--libclang-path",
- rebase_path(_libclang_path, root_build_dir),
+ rebase_path(bindgen_libclang_path, root_build_dir),
]
- if (wrap_static_fns) {
-@@ -117,7 +117,7 @@ template("rust_bindgen") {
+ if (_wrap_static_fns) {
+@@ -172,7 +172,7 @@ template("rust_bindgen_generator") {
# point to.
args += [
"--ld-library-path",
- rebase_path(clang_base_path + "/lib", root_build_dir),
-+ rebase_path(_clang_ld_libpath, root_build_dir),
++ rebase_path(bindgen_libclang_path, root_build_dir),
]
}
-@@ -145,8 +145,7 @@ template("rust_bindgen") {
+@@ -215,9 +215,7 @@ template("rust_bindgen_generator") {
+ # says the wrong thing. We point it to our clang's resource dir which will
# make it behave consistently with our other command line flags and allows
# system headers to be found.
- clang_resource_dir =
+- clang_resource_dir =
- rebase_path(clang_base_path + "/lib/clang/" + clang_version,
- root_build_dir)
-+ rebase_path(_clang_libpath, root_build_dir)
++ clang_resource_dir = rebase_path(clang_base_path + "/include", root_build_dir)
args += [
"-resource-dir",
clang_resource_dir,
-@@ -167,6 +166,15 @@ template("rust_bindgen") {
+@@ -238,6 +236,15 @@ template("rust_bindgen_generator") {
}
}
@@ -107,5 +101,4 @@ index bf110ca93c..d7eb04eb00 100644
# On Windows we fall back to using system headers from a sysroot from
# depot_tools. This is negotiated by python scripts and the result is
--
-2.45.2
-
+2.47.0
diff --git a/www-client/chromium/files/chromium-134-oauth2-client-switches.patch b/www-client/chromium/files/chromium-134-oauth2-client-switches.patch
new file mode 100644
index 0000000..b7137e5
--- /dev/null
+++ b/www-client/chromium/files/chromium-134-oauth2-client-switches.patch
@@ -0,0 +1,35 @@
+From 628c8aad603791ec1276c6a5b8d3704a03840f86 Mon Sep 17 00:00:00 2001
+From: Matt Jolly <kangie@gentoo.org>
+Date: Sat, 18 Jan 2025 11:09:46 +1000
+Subject: [PATCH] www-client/chromium: work around dead oauth2 credentials
+
+Google doesn't let us bake in OAuth2 credentials, and for some time,
+Google sign-in has been broken. Arch dealt with this in March, and so
+did we to some degree, but in the last few months, our sign-in
+credentials have been broken. It appears that we actually did remove API
+credentials in March around Chrome 89, but they got added back, perhaps
+when rotating newer versions to replace older versions. Work around this
+by following Arch's lead: we remove the predefined credentials, as
+before, but also we patch Chromium so that people can use their own
+easily, using Arch's patch for that.
+--- a/google_apis/api_key_cache.cc
++++ b/google_apis/api_key_cache.cc
+@@ -192,13 +192,13 @@ ApiKeyCache::ApiKeyCache(const DefaultApiKeys& default_api_keys) {
+
+ std::string default_client_id = CalculateKeyValue(
+ default_api_keys.google_default_client_id,
+- STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), nullptr, std::string(),
++ STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), ::switches::kOAuth2ClientID, std::string(),
+ environment.get(), command_line, gaia_config,
+ default_api_keys.allow_override_via_environment,
+ default_api_keys.allow_unset_values);
+ std::string default_client_secret = CalculateKeyValue(
+ default_api_keys.google_default_client_secret,
+- STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), nullptr,
++ STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), ::switches::kOAuth2ClientID,
+ std::string(), environment.get(), command_line, gaia_config,
+ default_api_keys.allow_override_via_environment,
+ default_api_keys.allow_unset_values);
+--
+2.48.0
+
diff --git a/www-client/chromium/files/riscv.patch b/www-client/chromium/files/compiler-rt-riscv.patch
similarity index 100%
rename from www-client/chromium/files/riscv.patch
rename to www-client/chromium/files/compiler-rt-riscv.patch
diff --git a/www-client/chromium/files/cpuinfo.patch b/www-client/chromium/files/cpuinfo.patch
index 942a658..35a730a 100644
--- a/www-client/chromium/files/cpuinfo.patch
+++ b/www-client/chromium/files/cpuinfo.patch
@@ -1,7 +1,8 @@
-diff -Naur a/third_party/cpuinfo/BUILD.gn b/third_party/cpuinfo/BUILD.gn
---- a/third_party/cpuinfo/BUILD.gn 2024-03-16 09:54:46.809862047 +0000
-+++ b/third_party/cpuinfo/BUILD.gn 2024-03-16 10:00:01.616932065 +0000
-@@ -123,6 +123,12 @@
+Index: chromium-129.0.6668.58/third_party/cpuinfo/BUILD.gn
+===================================================================
+--- chromium-129.0.6668.58.orig/third_party/cpuinfo/BUILD.gn
++++ chromium-129.0.6668.58/third_party/cpuinfo/BUILD.gn
+@@ -105,6 +105,12 @@ source_set("cpu_specific") {
]
}
@@ -14,18 +15,19 @@ diff -Naur a/third_party/cpuinfo/BUILD.gn b/third_party/cpuinfo/BUILD.gn
# Because "init.c" is reused again, but only has sources in the corresponding
# build config.
deps = [ ":x86_cache" ]
-@@ -190,6 +196,14 @@
- ]
+@@ -191,6 +197,14 @@ source_set("cpu_and_os_specific") {
+ }
}
-+ if ((is_linux || is_chromeos) && current_cpu == "riscv64") {
++ if (is_linux && current_cpu == "riscv64") {
+ sources = [
-+ "src/src/riscv/linux/api.h",
+ "src/src/riscv/linux/init.c",
+ "src/src/riscv/linux/riscv-hw.c",
+ "src/src/riscv/linux/riscv-isa.c",
+ ]
+ }
- if (is_android && (current_cpu == "arm" || current_cpu == "arm64")) {
++
+ if (is_android && (current_cpu == "x86" || current_cpu == "x64")) {
sources = [
- "src/src/arm/android/properties.c",
+ "src/src/x86/linux/cpuinfo.c",
+
diff --git a/www-client/chromium/files/esbuild b/www-client/chromium/files/esbuild
new file mode 100755
index 0000000..ccbd8bf
Binary files /dev/null and b/www-client/chromium/files/esbuild differ
diff --git a/www-client/chromium/files/libstdc++-fixup.patch b/www-client/chromium/files/libstdc++-fixup.patch
new file mode 100644
index 0000000..9402ef3
--- /dev/null
+++ b/www-client/chromium/files/libstdc++-fixup.patch
@@ -0,0 +1,219 @@
+Index: chromium-132.0.6834.83/chrome/browser/ui/lens/lens_overlay_request_id_generator.h
+===================================================================
+--- chromium-132.0.6834.83.orig/chrome/browser/ui/lens/lens_overlay_request_id_generator.h
++++ chromium-132.0.6834.83/chrome/browser/ui/lens/lens_overlay_request_id_generator.h
+@@ -5,6 +5,8 @@
+ #ifndef CHROME_BROWSER_UI_LENS_LENS_OVERLAY_REQUEST_ID_GENERATOR_H_
+ #define CHROME_BROWSER_UI_LENS_LENS_OVERLAY_REQUEST_ID_GENERATOR_H_
+
++#include <optional>
++
+ #include "third_party/lens_server_proto/lens_overlay_routing_info.pb.h"
+ #include "third_party/lens_server_proto/lens_overlay_server.pb.h"
+ #include "third_party/lens_server_proto/lens_overlay_service_deps.pb.h"
+Index: chromium-132.0.6834.83/components/sync/service/local_data_description.h
+===================================================================
+--- chromium-132.0.6834.83.orig/components/sync/service/local_data_description.h
++++ chromium-132.0.6834.83/components/sync/service/local_data_description.h
+@@ -6,6 +6,7 @@
+ #define COMPONENTS_SYNC_SERVICE_LOCAL_DATA_DESCRIPTION_H_
+
+ #include <string>
++#include <variant>
+ #include <vector>
+
+ #include "components/sync/base/data_type.h"
+Index: chromium-132.0.6834.83/components/variations/limited_layer_entropy_cost_tracker.h
+===================================================================
+--- chromium-132.0.6834.83.orig/components/variations/limited_layer_entropy_cost_tracker.h
++++ chromium-132.0.6834.83/components/variations/limited_layer_entropy_cost_tracker.h
+@@ -5,6 +5,7 @@
+ #ifndef COMPONENTS_VARIATIONS_LIMITED_LAYER_ENTROPY_COST_TRACKER_H_
+ #define COMPONENTS_VARIATIONS_LIMITED_LAYER_ENTROPY_COST_TRACKER_H_
+
++#include <cstdint>
+ #include <map>
+ #include <set>
+
+Index: chromium-132.0.6834.83/components/viz/service/display/surface_aggregator.h
+===================================================================
+--- chromium-132.0.6834.83.orig/components/viz/service/display/surface_aggregator.h
++++ chromium-132.0.6834.83/components/viz/service/display/surface_aggregator.h
+@@ -132,13 +132,18 @@ class VIZ_SERVICE_EXPORT SurfaceAggregat
+ struct PrewalkResult;
+
+ struct AggregateStatistics {
+- int prewalked_surface_count = 0;
+- int copied_surface_count = 0;
++ AggregateStatistics()
++ : prewalked_surface_count(0),
++ copied_surface_count(0),
++ has_pixel_moving_filter(false),
++ has_unembedded_pass(false) {}
++ int prewalked_surface_count;
++ int copied_surface_count;
+ // True if the current frame contains a pixel-moving foreground filter
+ // render pass.
+- bool has_pixel_moving_filter = false;
++ bool has_pixel_moving_filter;
+ // True if the current frame contains a unembedded render pass.
+- bool has_unembedded_pass = false;
++ bool has_unembedded_pass;
+
+ base::TimeDelta prewalk_time;
+ base::TimeDelta copy_time;
+Index: chromium-132.0.6834.83/gpu/command_buffer/service/shared_image/shared_image_backing.h
+===================================================================
+--- chromium-132.0.6834.83.orig/gpu/command_buffer/service/shared_image/shared_image_backing.h
++++ chromium-132.0.6834.83/gpu/command_buffer/service/shared_image/shared_image_backing.h
+@@ -389,7 +389,7 @@ class GPU_GLES2_EXPORT SharedImageBackin
+ private:
+ class ScopedWriteUMA {
+ public:
+- ScopedWriteUMA() = default;
++ ScopedWriteUMA() : content_consumed_(false) {}
+
+ ScopedWriteUMA(const ScopedWriteUMA&) = delete;
+ ScopedWriteUMA& operator=(const ScopedWriteUMA&) = delete;
+@@ -403,7 +403,7 @@ class GPU_GLES2_EXPORT SharedImageBackin
+ void SetConsumed() { content_consumed_ = true; }
+
+ private:
+- bool content_consumed_ = false;
++ bool content_consumed_;
+ };
+
+ const Mailbox mailbox_;
+Index: chromium-132.0.6834.83/mojo/public/cpp/bindings/lib/multiplex_router.h
+===================================================================
+--- chromium-132.0.6834.83.orig/mojo/public/cpp/bindings/lib/multiplex_router.h
++++ chromium-132.0.6834.83/mojo/public/cpp/bindings/lib/multiplex_router.h
+@@ -315,8 +315,9 @@ class COMPONENT_EXPORT(MOJO_CPP_BINDINGS
+ // are not managed by the MultiplexRouter and thus are not relevant here.
+ struct ExclusiveSyncWaitInfo {
+ InterfaceId interface_id = kInvalidInterfaceId;
+- uint64_t request_id = 0;
+- bool finished = false;
++ uint64_t request_id;
++ bool finished;
++ ExclusiveSyncWaitInfo() : request_id(0), finished(false) {}
+ };
+ std::optional<ExclusiveSyncWaitInfo> exclusive_sync_wait_;
+
+Index: chromium-132.0.6834.83/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.h
+===================================================================
+--- chromium-132.0.6834.83.orig/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.h
++++ chromium-132.0.6834.83/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.h
+@@ -885,8 +885,9 @@ class CORE_EXPORT PaintLayerScrollableAr
+
+ struct PendingViewState {
+ HistoryItem::ViewState state;
+- mojom::blink::ScrollBehavior scroll_behavior =
+- mojom::blink::ScrollBehavior::kAuto;
++ mojom::blink::ScrollBehavior scroll_behavior;
++ PendingViewState()
++ : scroll_behavior(mojom::blink::ScrollBehavior::kAuto) {}
+ };
+ std::optional<PendingViewState> pending_view_state_;
+ };
+Index: chromium-132.0.6834.83/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.h
+===================================================================
+--- chromium-132.0.6834.83.orig/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.h
++++ chromium-132.0.6834.83/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.h
+@@ -51,7 +51,8 @@ class MediaControlTimelineElement : publ
+ // Struct used to track the current live time.
+ struct LiveAnchorTime {
+ base::TimeTicks clock_time_;
+- double media_time_ = 0;
++ double media_time_;
++ LiveAnchorTime() : media_time_(0) {}
+ };
+
+ void DefaultEventHandler(Event&) override;
+Index: chromium-132.0.6834.83/third_party/ink/src/ink/brush/brush_paint.cc
+===================================================================
+--- chromium-132.0.6834.83.orig/third_party/ink/src/ink/brush/brush_paint.cc
++++ chromium-132.0.6834.83/third_party/ink/src/ink/brush/brush_paint.cc
+@@ -84,7 +84,7 @@ absl::Status ValidateBrushPaintTextureKe
+ keyframe.progress));
+ }
+ if (keyframe.size.has_value()) {
+- if (!isfinite(keyframe.size->x) || !isfinite(keyframe.size->y) ||
++ if (!std::isfinite(keyframe.size->x) || !std::isfinite(keyframe.size->y) ||
+ keyframe.size->x <= 0 || keyframe.size->y <= 0) {
+ return absl::InvalidArgumentError(
+ absl::StrFormat("`BrushPaint::TextureKeyframe::size` components must "
+@@ -102,7 +102,7 @@ absl::Status ValidateBrushPaintTextureKe
+ }
+ }
+ if (keyframe.rotation.has_value()) {
+- if (!isfinite(keyframe.rotation->ValueInRadians())) {
++ if (!std::isfinite(keyframe.rotation->ValueInRadians())) {
+ return absl::InvalidArgumentError(
+ absl::StrFormat("`BrushPaint::TextureKeyframe::rotation` must be "
+ "finite. Got %v",
+@@ -159,7 +159,7 @@ absl::Status ValidateBrushPaintTextureLa
+ "interval [0, 1]. Got %v",
+ layer.offset));
+ }
+- if (!isfinite(layer.rotation.ValueInRadians())) {
++ if (!std::isfinite(layer.rotation.ValueInRadians())) {
+ return absl::InvalidArgumentError(
+ absl::StrFormat("`BrushPaint::TextureLayer::rotation` must be finite. "
+ "Got %v",
+@@ -179,7 +179,7 @@ absl::Status ValidateBrushPaintTextureLa
+ "interval [0, 1]. Got %v",
+ layer.offset_jitter));
+ }
+- if (!isfinite(layer.rotation_jitter.ValueInRadians())) {
++ if (!std::isfinite(layer.rotation_jitter.ValueInRadians())) {
+ return absl::InvalidArgumentError(absl::StrFormat(
+ "`BrushPaint::TextureLayer::rotation_jitter` must be finite. "
+ "Got %v",
+Index: chromium-132.0.6834.83/third_party/ruy/src/ruy/profiler/instrumentation.h
+===================================================================
+--- chromium-132.0.6834.83.orig/third_party/ruy/src/ruy/profiler/instrumentation.h
++++ chromium-132.0.6834.83/third_party/ruy/src/ruy/profiler/instrumentation.h
+@@ -18,7 +18,9 @@ limitations under the License.
+
+ #ifdef RUY_PROFILER
+ #include <cstdio>
++#include <cstdlib>
+ #include <mutex>
++#include <string>
+ #include <vector>
+ #endif
+
+Index: chromium-132.0.6834.83/third_party/webrtc/call/rtp_config.h
+===================================================================
+--- chromium-132.0.6834.83.orig/third_party/webrtc/call/rtp_config.h
++++ chromium-132.0.6834.83/third_party/webrtc/call/rtp_config.h
+@@ -79,10 +79,12 @@ struct RtpStreamConfig {
+ struct Rtx {
+ std::string ToString() const;
+ // SSRC to use for the RTX stream.
+- uint32_t ssrc = 0;
++ uint32_t ssrc;
+
+ // Payload type to use for the RTX stream.
+- int payload_type = -1;
++ int payload_type;
++
++ Rtx() : ssrc(0), payload_type(-1) {}
+ };
+ std::optional<Rtx> rtx;
+ };
+Index: chromium-132.0.6834.83/third_party/webrtc/rtc_base/ssl_stream_adapter.h
+===================================================================
+--- chromium-132.0.6834.83.orig/third_party/webrtc/rtc_base/ssl_stream_adapter.h
++++ chromium-132.0.6834.83/third_party/webrtc/rtc_base/ssl_stream_adapter.h
+@@ -15,6 +15,7 @@
+ #include <stdint.h>
+
+ #include <memory>
++#include <optional>
+ #include <string>
+ #include <vector>
+
+
+
diff --git a/www-client/chromium/files/riscv-cargo.patch b/www-client/chromium/files/riscv-cargo.patch
deleted file mode 100644
index 35412dd..0000000
--- a/www-client/chromium/files/riscv-cargo.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From c50dab84e0c911f7b89532700fca27d42a77b3c1 Mon Sep 17 00:00:00 2001
-From: kxxt <rsworktech@outlook.com>
-Date: Fri, 13 Sep 2024 12:48:44 +0000
-Subject: [PATCH] cargo_crate.gni: add riscv64 and loong64 cases
-
-This CL syncs the condition of 64 bit pointer with
-https://github.com/chromium/chromium/blob/31f058a669fd063cab3439df5c877ed3005d9832/base/allocator/partition_allocator/partition_alloc.gni#L21-L24
-
-Bug: none
-Change-Id: Id2f1cfaa0c5167fb61c74505aba03716337b071f
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5850670
-Commit-Queue: Nico Weber <thakis@chromium.org>
-Reviewed-by: Nico Weber <thakis@chromium.org>
-Reviewed-by: Arthur Eubanks <aeubanks@google.com>
-Cr-Commit-Position: refs/heads/main@{#1355138}
----
-
-diff --git a/build/rust/cargo_crate.gni b/build/rust/cargo_crate.gni
-index e5d1b2f8..7290451 100644
---- a/build/rust/cargo_crate.gni
-+++ b/build/rust/cargo_crate.gni
-@@ -429,7 +429,8 @@
- rust_abi_target,
- ]
- }
-- if (current_cpu == "arm64" || current_cpu == "x64") {
-+ if (current_cpu == "arm64" || current_cpu == "x64" ||
-+ current_cpu == "loong64" || current_cpu == "riscv64") {
- args += [
- "--pointer-width",
- "64",
-
diff --git a/www-client/chromium/files/riscv-ffmpeg.patch b/www-client/chromium/files/riscv-ffmpeg.patch
index 6a21d07..124abfe 100644
--- a/www-client/chromium/files/riscv-ffmpeg.patch
+++ b/www-client/chromium/files/riscv-ffmpeg.patch
@@ -1,10 +1,129 @@
diff '--color=auto' -Naur a/third_party/ffmpeg/CREDITS.chromium b/third_party/ffmpeg/CREDITS.chromium
---- a/third_party/ffmpeg/CREDITS.chromium 2024-10-02 03:50:24.635323500 +0100
-+++ b/third_party/ffmpeg/CREDITS.chromium 2024-10-05 16:34:43.806521178 +0100
-@@ -131,6 +131,62 @@
+--- a/third_party/ffmpeg/CREDITS.chromium 2024-12-18 22:01:41.000000000 +0000
++++ b/third_party/ffmpeg/CREDITS.chromium 2025-01-14 12:35:22.000000000 +0000
+@@ -131,6 +131,181 @@
********************************************************************************
++libavcodec/riscv/h264addpx_rvv.S
++
++Copyright © 2024 Rémi Denis-Courmont.
++
++Redistribution and use in source and binary forms, with or without
++modification, are permitted provided that the following conditions are met:
++
++1. Redistributions of source code must retain the above copyright notice,
++this list of conditions and the following disclaimer.
++
++2. Redistributions in binary form must reproduce the above copyright notice,
++this list of conditions and the following disclaimer in the documentation
++and/or other materials provided with the distribution.
++
++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
++AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
++LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
++CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
++SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
++INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
++CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
++POSSIBILITY OF SUCH DAMAGE.
++
++********************************************************************************
++
++libavcodec/riscv/h264dsp_rvv.S
++
++SPDX-License-Identifier: BSD-2-Clause
++
++Copyright © 2024 Rémi Denis-Courmont.
++
++Redistribution and use in source and binary forms, with or without
++modification, are permitted provided that the following conditions are met:
++
++1. Redistributions of source code must retain the above copyright notice,
++this list of conditions and the following disclaimer.
++
++2. Redistributions in binary form must reproduce the above copyright notice,
++this list of conditions and the following disclaimer in the documentation
++and/or other materials provided with the distribution.
++
++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
++AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
++LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
++CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
++SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
++INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
++CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
++POSSIBILITY OF SUCH DAMAGE.
++
++********************************************************************************
++
++libavcodec/riscv/h264idct_rvv.S
++
++SPDX-License-Identifier: BSD-2-Clause
++
++Copyright (c) 2024 J. Dekker <jdek@itanimul.li>
++Copyright © 2024 Rémi Denis-Courmont.
++
++Redistribution and use in source and binary forms, with or without
++modification, are permitted provided that the following conditions are met:
++
++1. Redistributions of source code must retain the above copyright notice,
++this list of conditions and the following disclaimer.
++
++2. Redistributions in binary form must reproduce the above copyright notice,
++this list of conditions and the following disclaimer in the documentation
++and/or other materials provided with the distribution.
++
++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
++AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
++LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
++CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
++SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
++INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
++CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
++POSSIBILITY OF SUCH DAMAGE.
++
++********************************************************************************
++
++libavcodec/riscv/h264qpel_rvv.S
++
++SPDX-License-Identifier: BSD-2-Clause
++
++Copyright (c) 2024 Niklas Haas
++
++Redistribution and use in source and binary forms, with or without
++modification, are permitted provided that the following conditions are met:
++
++1. Redistributions of source code must retain the above copyright notice,
++this list of conditions and the following disclaimer.
++
++2. Redistributions in binary form must reproduce the above copyright notice,
++this list of conditions and the following disclaimer in the documentation
++and/or other materials provided with the distribution.
++
++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
++AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
++LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
++CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
++SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
++INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
++CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
++POSSIBILITY OF SUCH DAMAGE.
++
++********************************************************************************
++
+libavcodec/riscv/startcode_rvb.S
+
+Copyright © 2024 Rémi Denis-Courmont.
@@ -64,19 +183,51 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/CREDITS.chromium b/third_party/ff
libavformat/oggparsetheora.c
Copyright (C) 2005 Matthieu CASTET, Alex Beregszaszi
+@@ -157,31 +332,6 @@
+
+ ********************************************************************************
+
+-libavutil/x86/x86inc.asm
+-
+-x86inc.asm: x86 abstraction layer
+-
+- Copyright (C) 2005-2024 x264 project
+-
+- Authors: Loren Merritt <lorenm@u.washington.edu>
+- Henrik Gramner <henrik@gramner.com>
+- Anton Mitrofanov <BugMaster@narod.ru>
+- Fiona Glaser <fiona@x264.com>
+-
+- Permission to use, copy, modify, and/or distribute this software for any
+- purpose with or without fee is hereby granted, provided that the above
+- copyright notice and this permission notice appear in all copies.
+-
+- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+-
+-********************************************************************************
+-
+ libavcodec/mips/compute_antialias_fixed.h
+ libavcodec/mips/compute_antialias_float.h
+ libavutil/fixed_dsp.c
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h 2024-10-05 16:34:43.806521178 +0100
-@@ -0,0 +1,782 @@
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h 2025-01-14 12:35:46.000000000 +0000
+@@ -0,0 +1,793 @@
+/* Automatically generated by configure - do not modify! */
+#ifndef FFMPEG_CONFIG_H
+#define FFMPEG_CONFIG_H
-+/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/home/porter/Workspaces/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --arch=riscv64 --extra-cflags='-march=rv64gc' --enable-cross-co
mpile --target-os=linux --sysroot=/home/porter/Workspaces/chromium/src/build/linux/debian_sid_riscv64-sysroot --extra-cflags='--target=riscv64-linux-gnu' --extra-ldflags='--target=riscv64-linux-gnu' --enable-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
++/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/media/Recorded_TV/chrome/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --arch=riscv64 --extra-cflags='-march=rv64gc' --enable-cross-
compile --target-os=linux --sysroot=/media/Recorded_TV/chrome/chromium/src/build/linux/debian_sid_riscv64-sysroot --extra-cflags='--target=riscv64-linux-gnu' --extra-ldflags='--target=riscv64-linux-gnu' --enable-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
+#define FFMPEG_LICENSE "LGPL version 2.1 or later"
+#define CONFIG_THIS_YEAR 2024
+#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
+#define AVCONV_DATADIR "/usr/local/share/ffmpeg"
-+#define CC_IDENT "clang version 20.0.0git (https://chromium.googlesource.com/external/github.com/llvm/llvm-project 7088a5ed880f29129ec844c66068e8cb61ca98bf)"
++#define CC_IDENT "clang version 20.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project b81d8e90339a788cc6cb148831612c6b39b93ad5)"
+#define OS_NAME linux
+#define EXTERN_PREFIX ""
+#define EXTERN_ASM
@@ -84,12 +235,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define SLIBSUF ".so"
+#define SWS_MAX_FILTER_SIZE 256
+#define ARCH_AARCH64 0
-+#define ARCH_ALPHA 0
+#define ARCH_ARM 0
-+#define ARCH_AVR32 0
-+#define ARCH_AVR32_AP 0
-+#define ARCH_AVR32_UC 0
-+#define ARCH_BFIN 0
+#define ARCH_IA64 0
+#define ARCH_LOONGARCH 0
+#define ARCH_LOONGARCH32 0
@@ -102,7 +248,6 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define ARCH_PPC64 0
+#define ARCH_RISCV 1
+#define ARCH_S390 0
-+#define ARCH_SH4 0
+#define ARCH_SPARC 0
+#define ARCH_SPARC64 0
+#define ARCH_TILEGX 0
@@ -120,6 +265,8 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define HAVE_VFP 0
+#define HAVE_VFPV3 0
+#define HAVE_SETEND 0
++#define HAVE_SVE 0
++#define HAVE_SVE2 0
+#define HAVE_ALTIVEC 0
+#define HAVE_DCBZL 0
+#define HAVE_LDBRX 0
@@ -128,6 +275,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define HAVE_VSX 0
+#define HAVE_RV 1
+#define HAVE_RVV 1
++#define HAVE_RV_ZICBOP 1
+#define HAVE_RV_ZVBB 0
+#define HAVE_AESNI 0
+#define HAVE_AMD3DNOW 0
@@ -172,6 +320,8 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define HAVE_VFP_EXTERNAL 0
+#define HAVE_VFPV3_EXTERNAL 0
+#define HAVE_SETEND_EXTERNAL 0
++#define HAVE_SVE_EXTERNAL 0
++#define HAVE_SVE2_EXTERNAL 0
+#define HAVE_ALTIVEC_EXTERNAL 0
+#define HAVE_DCBZL_EXTERNAL 0
+#define HAVE_LDBRX_EXTERNAL 0
@@ -180,6 +330,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define HAVE_VSX_EXTERNAL 0
+#define HAVE_RV_EXTERNAL 0
+#define HAVE_RVV_EXTERNAL 0
++#define HAVE_RV_ZICBOP_EXTERNAL 0
+#define HAVE_RV_ZVBB_EXTERNAL 0
+#define HAVE_AESNI_EXTERNAL 0
+#define HAVE_AMD3DNOW_EXTERNAL 0
@@ -224,6 +375,8 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define HAVE_VFP_INLINE 0
+#define HAVE_VFPV3_INLINE 0
+#define HAVE_SETEND_INLINE 0
++#define HAVE_SVE_INLINE 0
++#define HAVE_SVE2_INLINE 0
+#define HAVE_ALTIVEC_INLINE 0
+#define HAVE_DCBZL_INLINE 0
+#define HAVE_LDBRX_INLINE 0
@@ -232,6 +385,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define HAVE_VSX_INLINE 0
+#define HAVE_RV_INLINE 0
+#define HAVE_RVV_INLINE 0
++#define HAVE_RV_ZICBOP_INLINE 0
+#define HAVE_RV_ZVBB_INLINE 0
+#define HAVE_AESNI_INLINE 0
+#define HAVE_AMD3DNOW_INLINE 0
@@ -275,13 +429,10 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define HAVE_SIMD_ALIGN_16 0
+#define HAVE_SIMD_ALIGN_32 0
+#define HAVE_SIMD_ALIGN_64 0
-+#define HAVE_ATOMIC_CAS_PTR 0
-+#define HAVE_MACHINE_RW_BARRIER 0
+#define HAVE_MEMORYBARRIER 0
+#define HAVE_MM_EMPTY 0
+#define HAVE_RDTSC 0
+#define HAVE_SEM_TIMEDWAIT 1
-+#define HAVE_SYNC_VAL_COMPARE_AND_SWAP 1
+#define HAVE_INLINE_ASM 1
+#define HAVE_SYMVER 0
+#define HAVE_X86ASM 0
@@ -315,7 +466,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define HAVE_OPENGL_GL3_H 0
+#define HAVE_POLL_H 1
+#define HAVE_PTHREAD_NP_H 0
-+#define HAVE_SYS_HWPROBE_H 1
++#define HAVE_SYS_HWPROBE_H 0
+#define HAVE_SYS_PARAM_H 1
+#define HAVE_SYS_RESOURCE_H 1
+#define HAVE_SYS_SELECT_H 1
@@ -330,6 +481,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define HAVE_WINDOWS_H 0
+#define HAVE_WINSOCK2_H 0
+#define HAVE_INTRINSICS_NEON 0
++#define HAVE_INTRINSICS_SSE2 0
+#define HAVE_ATANF 1
+#define HAVE_ATAN2F 1
+#define HAVE_CBRT 1
@@ -372,6 +524,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define HAVE_CLOCK_GETTIME 1
+#define HAVE_CLOSESOCKET 0
+#define HAVE_COMMANDLINETOARGVW 0
++#define HAVE_ELF_AUX_INFO 0
+#define HAVE_FCNTL 1
+#define HAVE_GETADDRINFO 0
+#define HAVE_GETAUXVAL 1
@@ -420,6 +573,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define HAVE_SYSCONF 1
+#define HAVE_SYSCTL 0 /* #define HAVE_SYSCTL 0 -- forced to 0 for Fuchsia */
+#define HAVE_SYSCTLBYNAME 0
++#define HAVE_TEMPNAM 1
+#define HAVE_USLEEP 1
+#define HAVE_UTGETOSTYPEFROMSTRING 0
+#define HAVE_VIRTUALALLOC 0
@@ -435,6 +589,8 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define HAVE_AS_ARCH_DIRECTIVE 0
+#define HAVE_AS_ARCHEXT_DOTPROD_DIRECTIVE 0
+#define HAVE_AS_ARCHEXT_I8MM_DIRECTIVE 0
++#define HAVE_AS_ARCHEXT_SVE_DIRECTIVE 0
++#define HAVE_AS_ARCHEXT_SVE2_DIRECTIVE 0
+#define HAVE_AS_DN_DIRECTIVE 0
+#define HAVE_AS_FPU_DIRECTIVE 0
+#define HAVE_AS_FUNC 0
@@ -450,7 +606,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define HAVE_INLINE_ASM_LABELS 1
+#define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
+#define HAVE_PRAGMA_DEPRECATED 1
-+#define HAVE_RSYNC_CONTIMEOUT 0
++#define HAVE_RSYNC_CONTIMEOUT 1
+#define HAVE_SYMVER_ASM_LABEL 1
+#define HAVE_SYMVER_GNU_ASM 1
+#define HAVE_VFP_ARGS 0
@@ -461,6 +617,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define HAVE_KCMVIDEOCODECTYPE_HEVC 0
+#define HAVE_KCMVIDEOCODECTYPE_HEVCWITHALPHA 0
+#define HAVE_KCMVIDEOCODECTYPE_VP9 0
++#define HAVE_KCMVIDEOCODECTYPE_AV1 0
+#define HAVE_KCVPIXELFORMATTYPE_420YPCBCR10BIPLANARVIDEORANGE 0
+#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR8BIPLANARVIDEORANGE 0
+#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR10BIPLANARVIDEORANGE 0
@@ -488,7 +645,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define HAVE_STRUCT_SOCKADDR_SA_LEN 0
+#define HAVE_STRUCT_SOCKADDR_STORAGE 0
+#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
-+#define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 0
++#define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 1
+#define HAVE_STRUCT_MFXCONFIGINTERFACE 0
+#define HAVE_GZIP 1
+#define HAVE_LIBDRM_GETFB2 0
@@ -503,6 +660,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define HAVE_OPENCL_VIDEOTOOLBOX 0
+#define HAVE_PERL 1
+#define HAVE_POD2MAN 1
++#define HAVE_POSIX_IOCTL 0
+#define HAVE_TEXI2HTML 0
+#define HAVE_XMLLINT 0
+#define HAVE_ZLIB_GZIP 0
@@ -592,6 +750,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define CONFIG_LIBKLVANC 0
+#define CONFIG_LIBKVAZAAR 0
+#define CONFIG_LIBLC3 0
++#define CONFIG_LIBLCEVC_DEC 0
+#define CONFIG_LIBMODPLUG 0
+#define CONFIG_LIBMP3LAME 0
+#define CONFIG_LIBMYSOFA 0
@@ -629,6 +788,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define CONFIG_LIBVMAF 0
+#define CONFIG_LIBVORBIS 0
+#define CONFIG_LIBVPX 0
++#define CONFIG_LIBVVENC 0
+#define CONFIG_LIBWEBP 0
+#define CONFIG_LIBXEVD 0
+#define CONFIG_LIBXEVE 0
@@ -761,6 +921,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define CONFIG_CBS_MPEG2 0
+#define CONFIG_CBS_VP8 0
+#define CONFIG_CBS_VP9 0
++#define CONFIG_D3D12VA_ENCODE 0
+#define CONFIG_DEFLATE_WRAPPER 0
+#define CONFIG_DIRAC_PARSE 1
+#define CONFIG_DNN 0
@@ -847,13 +1008,14 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define CONFIG_VP3DSP 0
+#define CONFIG_VP56DSP 0
+#define CONFIG_VP8DSP 0
++#define CONFIG_VULKAN_ENCODE 0
+#define CONFIG_WMA_FREQS 0
+#define CONFIG_WMV2DSP 0
+#endif /* FFMPEG_CONFIG_H */
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_components.h b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_components.h
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_components.h 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_components.h 2024-10-05 16:34:43.813187846 +0100
-@@ -0,0 +1,2218 @@
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_components.h 2025-01-14 12:35:46.000000000 +0000
+@@ -0,0 +1,2234 @@
+/* Automatically generated by configure - do not modify! */
+#ifndef FFMPEG_CONFIG_COMPONENTS_H
+#define FFMPEG_CONFIG_COMPONENTS_H
@@ -864,6 +1026,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define CONFIG_CHOMP_BSF 0
+#define CONFIG_DUMP_EXTRADATA_BSF 0
+#define CONFIG_DCA_CORE_BSF 0
++#define CONFIG_DOVI_RPU_BSF 0
+#define CONFIG_DTS2PTS_BSF 0
+#define CONFIG_DV_ERROR_MARKER_BSF 0
+#define CONFIG_EAC3_CORE_BSF 0
@@ -1455,6 +1618,9 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define CONFIG_BINTEXT_DECODER 0
+#define CONFIG_XBIN_DECODER 0
+#define CONFIG_IDF_DECODER 0
++#define CONFIG_AAC_MEDIACODEC_DECODER 0
++#define CONFIG_AMRNB_MEDIACODEC_DECODER 0
++#define CONFIG_AMRWB_MEDIACODEC_DECODER 0
+#define CONFIG_LIBAOM_AV1_DECODER 0
+#define CONFIG_AV1_DECODER 0
+#define CONFIG_AV1_CUVID_DECODER 0
@@ -1466,6 +1632,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define CONFIG_HEVC_MEDIACODEC_DECODER 0
+#define CONFIG_MJPEG_CUVID_DECODER 0
+#define CONFIG_MJPEG_QSV_DECODER 0
++#define CONFIG_MP3_MEDIACODEC_DECODER 0
+#define CONFIG_MPEG1_CUVID_DECODER 0
+#define CONFIG_MPEG2_CUVID_DECODER 0
+#define CONFIG_MPEG4_CUVID_DECODER 0
@@ -1477,6 +1644,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define CONFIG_VP9_CUVID_DECODER 0
+#define CONFIG_VP9_MEDIACODEC_DECODER 0
+#define CONFIG_VP9_QSV_DECODER 0
++#define CONFIG_VVC_QSV_DECODER 0
+#define CONFIG_VNULL_DECODER 0
+#define CONFIG_ANULL_DECODER 0
+#define CONFIG_A64MULTI_ENCODER 0
@@ -1684,6 +1852,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define CONFIG_LIBVORBIS_ENCODER 0
+#define CONFIG_LIBVPX_VP8_ENCODER 0
+#define CONFIG_LIBVPX_VP9_ENCODER 0
++#define CONFIG_LIBVVENC_ENCODER 0
+#define CONFIG_LIBWEBP_ANIM_ENCODER 0
+#define CONFIG_LIBWEBP_ENCODER 0
+#define CONFIG_LIBX262_ENCODER 0
@@ -1701,6 +1870,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define CONFIG_AV1_NVENC_ENCODER 0
+#define CONFIG_AV1_QSV_ENCODER 0
+#define CONFIG_AV1_AMF_ENCODER 0
++#define CONFIG_AV1_MF_ENCODER 0
+#define CONFIG_AV1_VAAPI_ENCODER 0
+#define CONFIG_LIBOPENH264_ENCODER 0
+#define CONFIG_H264_AMF_ENCODER 0
@@ -1711,7 +1881,9 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define CONFIG_H264_V4L2M2M_ENCODER 0
+#define CONFIG_H264_VAAPI_ENCODER 0
+#define CONFIG_H264_VIDEOTOOLBOX_ENCODER 0
++#define CONFIG_H264_VULKAN_ENCODER 0
+#define CONFIG_HEVC_AMF_ENCODER 0
++#define CONFIG_HEVC_D3D12VA_ENCODER 0
+#define CONFIG_HEVC_MEDIACODEC_ENCODER 0
+#define CONFIG_HEVC_MF_ENCODER 0
+#define CONFIG_HEVC_NVENC_ENCODER 0
@@ -1719,6 +1891,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define CONFIG_HEVC_V4L2M2M_ENCODER 0
+#define CONFIG_HEVC_VAAPI_ENCODER 0
+#define CONFIG_HEVC_VIDEOTOOLBOX_ENCODER 0
++#define CONFIG_HEVC_VULKAN_ENCODER 0
+#define CONFIG_LIBKVAZAAR_ENCODER 0
+#define CONFIG_MJPEG_QSV_ENCODER 0
+#define CONFIG_MJPEG_VAAPI_ENCODER 0
@@ -1744,6 +1917,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define CONFIG_AV1_NVDEC_HWACCEL 0
+#define CONFIG_AV1_VAAPI_HWACCEL 0
+#define CONFIG_AV1_VDPAU_HWACCEL 0
++#define CONFIG_AV1_VIDEOTOOLBOX_HWACCEL 0
+#define CONFIG_AV1_VULKAN_HWACCEL 0
+#define CONFIG_H263_VAAPI_HWACCEL 0
+#define CONFIG_H263_VIDEOTOOLBOX_HWACCEL 0
@@ -1822,6 +1996,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define CONFIG_DCA_PARSER 0
+#define CONFIG_DIRAC_PARSER 0
+#define CONFIG_DNXHD_PARSER 0
++#define CONFIG_DNXUC_PARSER 0
+#define CONFIG_DOLBY_E_PARSER 0
+#define CONFIG_DPX_PARSER 0
+#define CONFIG_DVAUDIO_PARSER 0
@@ -2213,6 +2388,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define CONFIG_KIRSCH_FILTER 0
+#define CONFIG_LAGFUN_FILTER 0
+#define CONFIG_LATENCY_FILTER 0
++#define CONFIG_LCEVC_FILTER 0
+#define CONFIG_LENSCORRECTION_FILTER 0
+#define CONFIG_LENSFUN_FILTER 0
+#define CONFIG_LIBPLACEBO_FILTER 0
@@ -2408,6 +2584,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define CONFIG_XFADE_OPENCL_FILTER 0
+#define CONFIG_XFADE_VULKAN_FILTER 0
+#define CONFIG_XMEDIAN_FILTER 0
++#define CONFIG_XPSNR_FILTER 0
+#define CONFIG_XSTACK_FILTER 0
+#define CONFIG_YADIF_FILTER 0
+#define CONFIG_YADIF_CUDA_FILTER 0
@@ -2444,6 +2621,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define CONFIG_QRENCODESRC_FILTER 0
+#define CONFIG_PAL75BARS_FILTER 0
+#define CONFIG_PAL100BARS_FILTER 0
++#define CONFIG_PERLIN_FILTER 0
+#define CONFIG_RGBTESTSRC_FILTER 0
+#define CONFIG_SIERPINSKI_FILTER 0
+#define CONFIG_SMPTEBARS_FILTER 0
@@ -3074,13 +3252,13 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#endif /* FFMPEG_CONFIG_COMPONENTS_H */
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/bsf_list.c b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/bsf_list.c
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/bsf_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/bsf_list.c 2024-10-05 16:34:43.813187846 +0100
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/bsf_list.c 2025-01-14 12:35:46.000000000 +0000
@@ -0,0 +1,2 @@
+static const FFBitStreamFilter * const bitstream_filters[] = {
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/codec_list.c b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/codec_list.c
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/codec_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/codec_list.c 2024-10-05 16:34:43.813187846 +0100
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/codec_list.c 2025-01-14 12:35:46.000000000 +0000
@@ -0,0 +1,17 @@
+static const FFCodec * const codec_list[] = {
+ &ff_h264_decoder,
@@ -3101,7 +3279,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/parser_list.c b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/parser_list.c
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/parser_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/parser_list.c 2024-10-05 16:34:43.813187846 +0100
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/parser_list.c 2025-01-14 12:35:46.000000000 +0000
@@ -0,0 +1,9 @@
+static const AVCodecParser * const parser_list[] = {
+ &ff_aac_parser,
@@ -3114,7 +3292,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/demuxer_list.c b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/demuxer_list.c
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/demuxer_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/demuxer_list.c 2024-10-05 16:34:43.813187846 +0100
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/demuxer_list.c 2025-01-14 12:35:46.000000000 +0000
@@ -0,0 +1,9 @@
+static const FFInputFormat * const demuxer_list[] = {
+ &ff_aac_demuxer,
@@ -3127,19 +3305,19 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/muxer_list.c b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/muxer_list.c
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/muxer_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/muxer_list.c 2024-10-05 16:34:43.813187846 +0100
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/muxer_list.c 2025-01-14 12:35:46.000000000 +0000
@@ -0,0 +1,2 @@
+static const FFOutputFormat * const muxer_list[] = {
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/protocol_list.c b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/protocol_list.c
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/protocol_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/protocol_list.c 2024-10-05 16:34:43.813187846 +0100
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/protocol_list.c 2025-01-14 12:35:46.000000000 +0000
@@ -0,0 +1,2 @@
+static const URLProtocol * const url_protocols[] = {
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/avconfig.h b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/avconfig.h
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/avconfig.h 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/avconfig.h 2024-10-05 16:34:43.816521179 +0100
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/avconfig.h 2025-01-14 12:35:46.000000000 +0000
@@ -0,0 +1,6 @@
+/* Generated by ffmpeg configure */
+#ifndef AVUTIL_AVCONFIG_H
@@ -3149,115 +3327,26 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#endif /* AVUTIL_AVCONFIG_H */
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/ffversion.h b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/ffversion.h
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/ffversion.h 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/ffversion.h 2024-10-05 16:34:43.816521179 +0100
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/ffversion.h 2025-01-14 12:35:46.000000000 +0000
@@ -0,0 +1,5 @@
+/* Automatically generated by version.sh, do not manually edit! */
+#ifndef AVUTIL_FFVERSION_H
+#define AVUTIL_FFVERSION_H
-+#define FFMPEG_VERSION "git-2024-08-15-14d16cd143"
++#define FFMPEG_VERSION "git-2024-10-31-591ae4b02e"
+#endif /* AVUTIL_FFVERSION_H */
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/x64/config.asm b/third_party/ffmpeg/chromium/config/Chrome/linux/x64/config.asm
---- a/third_party/ffmpeg/chromium/config/Chrome/linux/x64/config.asm 2024-10-02 03:50:24.656325800 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/x64/config.asm 2024-10-05 16:34:43.816521179 +0100
-@@ -102,8 +102,8 @@
- %define HAVE_AMD3DNOWEXT_EXTERNAL 1
- %define HAVE_AVX_EXTERNAL 1
- %define HAVE_AVX2_EXTERNAL 1
--%define HAVE_AVX512_EXTERNAL 1
--%define HAVE_AVX512ICL_EXTERNAL 1
-+%define HAVE_AVX512_EXTERNAL 0
-+%define HAVE_AVX512ICL_EXTERNAL 0
- %define HAVE_FMA3_EXTERNAL 1
- %define HAVE_FMA4_EXTERNAL 1
- %define HAVE_MMX_EXTERNAL 1
-@@ -366,7 +366,7 @@
- %define HAVE_INLINE_ASM_LABELS 1
- %define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
- %define HAVE_PRAGMA_DEPRECATED 1
--%define HAVE_RSYNC_CONTIMEOUT 1
-+%define HAVE_RSYNC_CONTIMEOUT 0
- %define HAVE_SYMVER_ASM_LABEL 1
- %define HAVE_SYMVER_GNU_ASM 1
- %define HAVE_VFP_ARGS 0
-@@ -420,7 +420,7 @@
- %define HAVE_PERL 1
- %define HAVE_POD2MAN 1
- %define HAVE_TEXI2HTML 0
--%define HAVE_XMLLINT 1
-+%define HAVE_XMLLINT 0
- %define HAVE_ZLIB_GZIP 0
- %define HAVE_OPENVINO2 0
- %define CONFIG_DOC 0
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/x64/config.h b/third_party/ffmpeg/chromium/config/Chrome/linux/x64/config.h
---- a/third_party/ffmpeg/chromium/config/Chrome/linux/x64/config.h 2024-10-02 03:50:24.656325800 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/x64/config.h 2024-10-05 16:34:43.816521179 +0100
-@@ -1,12 +1,12 @@
- /* Automatically generated by configure - do not modify! */
- #ifndef FFMPEG_CONFIG_H
- #define FFMPEG_CONFIG_H
--/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/usr/local/google/home/dalecurtis/code/chrome/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-lto --arch=x86_64 --target-os=linux --ena
ble-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
-+/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/home/porter/Workspaces/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-lto --arch=x86_64 --target-os=linux --enable-pic --cc=
clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
- #define FFMPEG_LICENSE "LGPL version 2.1 or later"
- #define CONFIG_THIS_YEAR 2024
- #define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
- #define AVCONV_DATADIR "/usr/local/share/ffmpeg"
--#define CC_IDENT "clang version 19.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project ecea8371ff03c15fb3dc27ee4108b98335fd2d63)"
-+#define CC_IDENT "clang version 20.0.0git (https://chromium.googlesource.com/external/github.com/llvm/llvm-project 7088a5ed880f29129ec844c66068e8cb61ca98bf)"
- #define OS_NAME linux
- #define EXTERN_PREFIX ""
- #define EXTERN_ASM
-@@ -116,8 +116,8 @@
- #define HAVE_AMD3DNOWEXT_EXTERNAL 1
- #define HAVE_AVX_EXTERNAL 1
- #define HAVE_AVX2_EXTERNAL 1
--#define HAVE_AVX512_EXTERNAL 1
--#define HAVE_AVX512ICL_EXTERNAL 1
-+#define HAVE_AVX512_EXTERNAL 0
-+#define HAVE_AVX512ICL_EXTERNAL 0
- #define HAVE_FMA3_EXTERNAL 1
- #define HAVE_FMA4_EXTERNAL 1
- #define HAVE_MMX_EXTERNAL 1
-@@ -380,7 +380,7 @@
- #define HAVE_INLINE_ASM_LABELS 1
- #define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
- #define HAVE_PRAGMA_DEPRECATED 1
--#define HAVE_RSYNC_CONTIMEOUT 1
-+#define HAVE_RSYNC_CONTIMEOUT 0
- #define HAVE_SYMVER_ASM_LABEL 1
- #define HAVE_SYMVER_GNU_ASM 1
- #define HAVE_VFP_ARGS 0
-@@ -434,7 +434,7 @@
- #define HAVE_PERL 1
- #define HAVE_POD2MAN 1
- #define HAVE_TEXI2HTML 0
--#define HAVE_XMLLINT 1
-+#define HAVE_XMLLINT 0
- #define HAVE_ZLIB_GZIP 0
- #define HAVE_OPENVINO2 0
- #define CONFIG_DOC 0
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/x64/libavutil/ffversion.h b/third_party/ffmpeg/chromium/config/Chrome/linux/x64/libavutil/ffversion.h
---- a/third_party/ffmpeg/chromium/config/Chrome/linux/x64/libavutil/ffversion.h 2024-10-02 03:50:24.657326000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/x64/libavutil/ffversion.h 2024-10-05 16:34:43.816521179 +0100
-@@ -1,5 +1,5 @@
- /* Automatically generated by version.sh, do not manually edit! */
- #ifndef AVUTIL_FFVERSION_H
- #define AVUTIL_FFVERSION_H
--#define FFMPEG_VERSION "N-116575-gd941d9677b"
-+#define FFMPEG_VERSION "git-2024-08-15-14d16cd143"
- #endif /* AVUTIL_FFVERSION_H */
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h 2024-10-05 16:34:43.819854513 +0100
-@@ -0,0 +1,782 @@
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h 2025-01-14 12:35:46.000000000 +0000
+@@ -0,0 +1,793 @@
+/* Automatically generated by configure - do not modify! */
+#ifndef FFMPEG_CONFIG_H
+#define FFMPEG_CONFIG_H
-+/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/home/porter/Workspaces/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --arch=riscv64 --extra-cflags='-march=rv64gc' --enable-cross-co
mpile --target-os=linux --sysroot=/home/porter/Workspaces/chromium/src/build/linux/debian_sid_riscv64-sysroot --extra-cflags='--target=riscv64-linux-gnu' --extra-ldflags='--target=riscv64-linux-gnu' --enable-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld'" -- elide long configuration string from binary */
++/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/media/Recorded_TV/chrome/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --arch=riscv64 --extra-cflags='-march=rv64gc' --enable-cross-
compile --target-os=linux --sysroot=/media/Recorded_TV/chrome/chromium/src/build/linux/debian_sid_riscv64-sysroot --extra-cflags='--target=riscv64-linux-gnu' --extra-ldflags='--target=riscv64-linux-gnu' --enable-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld'" -- elide long configuration string from binary */
+#define FFMPEG_LICENSE "LGPL version 2.1 or later"
+#define CONFIG_THIS_YEAR 2024
+#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
+#define AVCONV_DATADIR "/usr/local/share/ffmpeg"
-+#define CC_IDENT "clang version 20.0.0git (https://chromium.googlesource.com/external/github.com/llvm/llvm-project 7088a5ed880f29129ec844c66068e8cb61ca98bf)"
++#define CC_IDENT "clang version 20.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project b81d8e90339a788cc6cb148831612c6b39b93ad5)"
+#define OS_NAME linux
+#define EXTERN_PREFIX ""
+#define EXTERN_ASM
@@ -3265,12 +3354,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define SLIBSUF ".so"
+#define SWS_MAX_FILTER_SIZE 256
+#define ARCH_AARCH64 0
-+#define ARCH_ALPHA 0
+#define ARCH_ARM 0
-+#define ARCH_AVR32 0
-+#define ARCH_AVR32_AP 0
-+#define ARCH_AVR32_UC 0
-+#define ARCH_BFIN 0
+#define ARCH_IA64 0
+#define ARCH_LOONGARCH 0
+#define ARCH_LOONGARCH32 0
@@ -3283,7 +3367,6 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define ARCH_PPC64 0
+#define ARCH_RISCV 1
+#define ARCH_S390 0
-+#define ARCH_SH4 0
+#define ARCH_SPARC 0
+#define ARCH_SPARC64 0
+#define ARCH_TILEGX 0
@@ -3301,6 +3384,8 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define HAVE_VFP 0
+#define HAVE_VFPV3 0
+#define HAVE_SETEND 0
++#define HAVE_SVE 0
++#define HAVE_SVE2 0
+#define HAVE_ALTIVEC 0
+#define HAVE_DCBZL 0
+#define HAVE_LDBRX 0
@@ -3309,6 +3394,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define HAVE_VSX 0
+#define HAVE_RV 1
+#define HAVE_RVV 1
++#define HAVE_RV_ZICBOP 1
+#define HAVE_RV_ZVBB 0
+#define HAVE_AESNI 0
+#define HAVE_AMD3DNOW 0
@@ -3353,6 +3439,8 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define HAVE_VFP_EXTERNAL 0
+#define HAVE_VFPV3_EXTERNAL 0
+#define HAVE_SETEND_EXTERNAL 0
++#define HAVE_SVE_EXTERNAL 0
++#define HAVE_SVE2_EXTERNAL 0
+#define HAVE_ALTIVEC_EXTERNAL 0
+#define HAVE_DCBZL_EXTERNAL 0
+#define HAVE_LDBRX_EXTERNAL 0
@@ -3361,6 +3449,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define HAVE_VSX_EXTERNAL 0
+#define HAVE_RV_EXTERNAL 0
+#define HAVE_RVV_EXTERNAL 0
++#define HAVE_RV_ZICBOP_EXTERNAL 0
+#define HAVE_RV_ZVBB_EXTERNAL 0
+#define HAVE_AESNI_EXTERNAL 0
+#define HAVE_AMD3DNOW_EXTERNAL 0
@@ -3405,6 +3494,8 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define HAVE_VFP_INLINE 0
+#define HAVE_VFPV3_INLINE 0
+#define HAVE_SETEND_INLINE 0
++#define HAVE_SVE_INLINE 0
++#define HAVE_SVE2_INLINE 0
+#define HAVE_ALTIVEC_INLINE 0
+#define HAVE_DCBZL_INLINE 0
+#define HAVE_LDBRX_INLINE 0
@@ -3413,6 +3504,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define HAVE_VSX_INLINE 0
+#define HAVE_RV_INLINE 0
+#define HAVE_RVV_INLINE 0
++#define HAVE_RV_ZICBOP_INLINE 0
+#define HAVE_RV_ZVBB_INLINE 0
+#define HAVE_AESNI_INLINE 0
+#define HAVE_AMD3DNOW_INLINE 0
@@ -3456,13 +3548,10 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define HAVE_SIMD_ALIGN_16 0
+#define HAVE_SIMD_ALIGN_32 0
+#define HAVE_SIMD_ALIGN_64 0
-+#define HAVE_ATOMIC_CAS_PTR 0
-+#define HAVE_MACHINE_RW_BARRIER 0
+#define HAVE_MEMORYBARRIER 0
+#define HAVE_MM_EMPTY 0
+#define HAVE_RDTSC 0
+#define HAVE_SEM_TIMEDWAIT 1
-+#define HAVE_SYNC_VAL_COMPARE_AND_SWAP 1
+#define HAVE_INLINE_ASM 1
+#define HAVE_SYMVER 0
+#define HAVE_X86ASM 0
@@ -3496,7 +3585,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define HAVE_OPENGL_GL3_H 0
+#define HAVE_POLL_H 1
+#define HAVE_PTHREAD_NP_H 0
-+#define HAVE_SYS_HWPROBE_H 1
++#define HAVE_SYS_HWPROBE_H 0
+#define HAVE_SYS_PARAM_H 1
+#define HAVE_SYS_RESOURCE_H 1
+#define HAVE_SYS_SELECT_H 1
@@ -3511,6 +3600,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define HAVE_WINDOWS_H 0
+#define HAVE_WINSOCK2_H 0
+#define HAVE_INTRINSICS_NEON 0
++#define HAVE_INTRINSICS_SSE2 0
+#define HAVE_ATANF 1
+#define HAVE_ATAN2F 1
+#define HAVE_CBRT 1
@@ -3553,6 +3643,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define HAVE_CLOCK_GETTIME 1
+#define HAVE_CLOSESOCKET 0
+#define HAVE_COMMANDLINETOARGVW 0
++#define HAVE_ELF_AUX_INFO 0
+#define HAVE_FCNTL 1
+#define HAVE_GETADDRINFO 0
+#define HAVE_GETAUXVAL 1
@@ -3601,6 +3692,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define HAVE_SYSCONF 1
+#define HAVE_SYSCTL 0 /* #define HAVE_SYSCTL 0 -- forced to 0 for Fuchsia */
+#define HAVE_SYSCTLBYNAME 0
++#define HAVE_TEMPNAM 1
+#define HAVE_USLEEP 1
+#define HAVE_UTGETOSTYPEFROMSTRING 0
+#define HAVE_VIRTUALALLOC 0
@@ -3616,6 +3708,8 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define HAVE_AS_ARCH_DIRECTIVE 0
+#define HAVE_AS_ARCHEXT_DOTPROD_DIRECTIVE 0
+#define HAVE_AS_ARCHEXT_I8MM_DIRECTIVE 0
++#define HAVE_AS_ARCHEXT_SVE_DIRECTIVE 0
++#define HAVE_AS_ARCHEXT_SVE2_DIRECTIVE 0
+#define HAVE_AS_DN_DIRECTIVE 0
+#define HAVE_AS_FPU_DIRECTIVE 0
+#define HAVE_AS_FUNC 0
@@ -3631,7 +3725,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define HAVE_INLINE_ASM_LABELS 1
+#define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
+#define HAVE_PRAGMA_DEPRECATED 1
-+#define HAVE_RSYNC_CONTIMEOUT 0
++#define HAVE_RSYNC_CONTIMEOUT 1
+#define HAVE_SYMVER_ASM_LABEL 1
+#define HAVE_SYMVER_GNU_ASM 1
+#define HAVE_VFP_ARGS 0
@@ -3642,6 +3736,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define HAVE_KCMVIDEOCODECTYPE_HEVC 0
+#define HAVE_KCMVIDEOCODECTYPE_HEVCWITHALPHA 0
+#define HAVE_KCMVIDEOCODECTYPE_VP9 0
++#define HAVE_KCMVIDEOCODECTYPE_AV1 0
+#define HAVE_KCVPIXELFORMATTYPE_420YPCBCR10BIPLANARVIDEORANGE 0
+#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR8BIPLANARVIDEORANGE 0
+#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR10BIPLANARVIDEORANGE 0
@@ -3669,7 +3764,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define HAVE_STRUCT_SOCKADDR_SA_LEN 0
+#define HAVE_STRUCT_SOCKADDR_STORAGE 0
+#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
-+#define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 0
++#define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 1
+#define HAVE_STRUCT_MFXCONFIGINTERFACE 0
+#define HAVE_GZIP 1
+#define HAVE_LIBDRM_GETFB2 0
@@ -3684,6 +3779,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define HAVE_OPENCL_VIDEOTOOLBOX 0
+#define HAVE_PERL 1
+#define HAVE_POD2MAN 1
++#define HAVE_POSIX_IOCTL 0
+#define HAVE_TEXI2HTML 0
+#define HAVE_XMLLINT 0
+#define HAVE_ZLIB_GZIP 0
@@ -3773,6 +3869,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define CONFIG_LIBKLVANC 0
+#define CONFIG_LIBKVAZAAR 0
+#define CONFIG_LIBLC3 0
++#define CONFIG_LIBLCEVC_DEC 0
+#define CONFIG_LIBMODPLUG 0
+#define CONFIG_LIBMP3LAME 0
+#define CONFIG_LIBMYSOFA 0
@@ -3810,6 +3907,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define CONFIG_LIBVMAF 0
+#define CONFIG_LIBVORBIS 0
+#define CONFIG_LIBVPX 0
++#define CONFIG_LIBVVENC 0
+#define CONFIG_LIBWEBP 0
+#define CONFIG_LIBXEVD 0
+#define CONFIG_LIBXEVE 0
@@ -3942,6 +4040,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define CONFIG_CBS_MPEG2 0
+#define CONFIG_CBS_VP8 0
+#define CONFIG_CBS_VP9 0
++#define CONFIG_D3D12VA_ENCODE 0
+#define CONFIG_DEFLATE_WRAPPER 0
+#define CONFIG_DIRAC_PARSE 1
+#define CONFIG_DNN 0
@@ -4028,13 +4127,14 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define CONFIG_VP3DSP 0
+#define CONFIG_VP56DSP 0
+#define CONFIG_VP8DSP 0
++#define CONFIG_VULKAN_ENCODE 0
+#define CONFIG_WMA_FREQS 0
+#define CONFIG_WMV2DSP 0
+#endif /* FFMPEG_CONFIG_H */
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_components.h b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_components.h
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_components.h 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_components.h 2024-10-05 16:34:43.823187846 +0100
-@@ -0,0 +1,2218 @@
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_components.h 2025-01-14 12:35:46.000000000 +0000
+@@ -0,0 +1,2234 @@
+/* Automatically generated by configure - do not modify! */
+#ifndef FFMPEG_CONFIG_COMPONENTS_H
+#define FFMPEG_CONFIG_COMPONENTS_H
@@ -4045,6 +4145,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define CONFIG_CHOMP_BSF 0
+#define CONFIG_DUMP_EXTRADATA_BSF 0
+#define CONFIG_DCA_CORE_BSF 0
++#define CONFIG_DOVI_RPU_BSF 0
+#define CONFIG_DTS2PTS_BSF 0
+#define CONFIG_DV_ERROR_MARKER_BSF 0
+#define CONFIG_EAC3_CORE_BSF 0
@@ -4636,6 +4737,9 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define CONFIG_BINTEXT_DECODER 0
+#define CONFIG_XBIN_DECODER 0
+#define CONFIG_IDF_DECODER 0
++#define CONFIG_AAC_MEDIACODEC_DECODER 0
++#define CONFIG_AMRNB_MEDIACODEC_DECODER 0
++#define CONFIG_AMRWB_MEDIACODEC_DECODER 0
+#define CONFIG_LIBAOM_AV1_DECODER 0
+#define CONFIG_AV1_DECODER 0
+#define CONFIG_AV1_CUVID_DECODER 0
@@ -4647,6 +4751,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define CONFIG_HEVC_MEDIACODEC_DECODER 0
+#define CONFIG_MJPEG_CUVID_DECODER 0
+#define CONFIG_MJPEG_QSV_DECODER 0
++#define CONFIG_MP3_MEDIACODEC_DECODER 0
+#define CONFIG_MPEG1_CUVID_DECODER 0
+#define CONFIG_MPEG2_CUVID_DECODER 0
+#define CONFIG_MPEG4_CUVID_DECODER 0
@@ -4658,6 +4763,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define CONFIG_VP9_CUVID_DECODER 0
+#define CONFIG_VP9_MEDIACODEC_DECODER 0
+#define CONFIG_VP9_QSV_DECODER 0
++#define CONFIG_VVC_QSV_DECODER 0
+#define CONFIG_VNULL_DECODER 0
+#define CONFIG_ANULL_DECODER 0
+#define CONFIG_A64MULTI_ENCODER 0
@@ -4865,6 +4971,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define CONFIG_LIBVORBIS_ENCODER 0
+#define CONFIG_LIBVPX_VP8_ENCODER 0
+#define CONFIG_LIBVPX_VP9_ENCODER 0
++#define CONFIG_LIBVVENC_ENCODER 0
+#define CONFIG_LIBWEBP_ANIM_ENCODER 0
+#define CONFIG_LIBWEBP_ENCODER 0
+#define CONFIG_LIBX262_ENCODER 0
@@ -4882,6 +4989,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define CONFIG_AV1_NVENC_ENCODER 0
+#define CONFIG_AV1_QSV_ENCODER 0
+#define CONFIG_AV1_AMF_ENCODER 0
++#define CONFIG_AV1_MF_ENCODER 0
+#define CONFIG_AV1_VAAPI_ENCODER 0
+#define CONFIG_LIBOPENH264_ENCODER 0
+#define CONFIG_H264_AMF_ENCODER 0
@@ -4892,7 +5000,9 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define CONFIG_H264_V4L2M2M_ENCODER 0
+#define CONFIG_H264_VAAPI_ENCODER 0
+#define CONFIG_H264_VIDEOTOOLBOX_ENCODER 0
++#define CONFIG_H264_VULKAN_ENCODER 0
+#define CONFIG_HEVC_AMF_ENCODER 0
++#define CONFIG_HEVC_D3D12VA_ENCODER 0
+#define CONFIG_HEVC_MEDIACODEC_ENCODER 0
+#define CONFIG_HEVC_MF_ENCODER 0
+#define CONFIG_HEVC_NVENC_ENCODER 0
@@ -4900,6 +5010,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define CONFIG_HEVC_V4L2M2M_ENCODER 0
+#define CONFIG_HEVC_VAAPI_ENCODER 0
+#define CONFIG_HEVC_VIDEOTOOLBOX_ENCODER 0
++#define CONFIG_HEVC_VULKAN_ENCODER 0
+#define CONFIG_LIBKVAZAAR_ENCODER 0
+#define CONFIG_MJPEG_QSV_ENCODER 0
+#define CONFIG_MJPEG_VAAPI_ENCODER 0
@@ -4925,6 +5036,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define CONFIG_AV1_NVDEC_HWACCEL 0
+#define CONFIG_AV1_VAAPI_HWACCEL 0
+#define CONFIG_AV1_VDPAU_HWACCEL 0
++#define CONFIG_AV1_VIDEOTOOLBOX_HWACCEL 0
+#define CONFIG_AV1_VULKAN_HWACCEL 0
+#define CONFIG_H263_VAAPI_HWACCEL 0
+#define CONFIG_H263_VIDEOTOOLBOX_HWACCEL 0
@@ -5003,6 +5115,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define CONFIG_DCA_PARSER 0
+#define CONFIG_DIRAC_PARSER 0
+#define CONFIG_DNXHD_PARSER 0
++#define CONFIG_DNXUC_PARSER 0
+#define CONFIG_DOLBY_E_PARSER 0
+#define CONFIG_DPX_PARSER 0
+#define CONFIG_DVAUDIO_PARSER 0
@@ -5394,6 +5507,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define CONFIG_KIRSCH_FILTER 0
+#define CONFIG_LAGFUN_FILTER 0
+#define CONFIG_LATENCY_FILTER 0
++#define CONFIG_LCEVC_FILTER 0
+#define CONFIG_LENSCORRECTION_FILTER 0
+#define CONFIG_LENSFUN_FILTER 0
+#define CONFIG_LIBPLACEBO_FILTER 0
@@ -5589,6 +5703,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define CONFIG_XFADE_OPENCL_FILTER 0
+#define CONFIG_XFADE_VULKAN_FILTER 0
+#define CONFIG_XMEDIAN_FILTER 0
++#define CONFIG_XPSNR_FILTER 0
+#define CONFIG_XSTACK_FILTER 0
+#define CONFIG_YADIF_FILTER 0
+#define CONFIG_YADIF_CUDA_FILTER 0
@@ -5625,6 +5740,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define CONFIG_QRENCODESRC_FILTER 0
+#define CONFIG_PAL75BARS_FILTER 0
+#define CONFIG_PAL100BARS_FILTER 0
++#define CONFIG_PERLIN_FILTER 0
+#define CONFIG_RGBTESTSRC_FILTER 0
+#define CONFIG_SIERPINSKI_FILTER 0
+#define CONFIG_SMPTEBARS_FILTER 0
@@ -6255,13 +6371,13 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#endif /* FFMPEG_CONFIG_COMPONENTS_H */
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/bsf_list.c b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/bsf_list.c
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/bsf_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/bsf_list.c 2024-10-05 16:34:43.823187846 +0100
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/bsf_list.c 2025-01-14 12:35:46.000000000 +0000
@@ -0,0 +1,2 @@
+static const FFBitStreamFilter * const bitstream_filters[] = {
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/codec_list.c b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/codec_list.c
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/codec_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/codec_list.c 2024-10-05 16:34:43.823187846 +0100
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/codec_list.c 2025-01-14 12:35:46.000000000 +0000
@@ -0,0 +1,15 @@
+static const FFCodec * const codec_list[] = {
+ &ff_flac_decoder,
@@ -6280,7 +6396,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/parser_list.c b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/parser_list.c
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/parser_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/parser_list.c 2024-10-05 16:34:43.823187846 +0100
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/parser_list.c 2025-01-14 12:35:46.000000000 +0000
@@ -0,0 +1,7 @@
+static const AVCodecParser * const parser_list[] = {
+ &ff_flac_parser,
@@ -6291,7 +6407,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/demuxer_list.c b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/demuxer_list.c
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/demuxer_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/demuxer_list.c 2024-10-05 16:34:43.823187846 +0100
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/demuxer_list.c 2025-01-14 12:35:46.000000000 +0000
@@ -0,0 +1,8 @@
+static const FFInputFormat * const demuxer_list[] = {
+ &ff_flac_demuxer,
@@ -6303,19 +6419,19 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/muxer_list.c b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/muxer_list.c
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/muxer_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/muxer_list.c 2024-10-05 16:34:43.826521179 +0100
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/muxer_list.c 2025-01-14 12:35:46.000000000 +0000
@@ -0,0 +1,2 @@
+static const FFOutputFormat * const muxer_list[] = {
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/protocol_list.c b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/protocol_list.c
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/protocol_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/protocol_list.c 2024-10-05 16:34:43.826521179 +0100
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/protocol_list.c 2025-01-14 12:35:46.000000000 +0000
@@ -0,0 +1,2 @@
+static const URLProtocol * const url_protocols[] = {
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/avconfig.h b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/avconfig.h
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/avconfig.h 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/avconfig.h 2024-10-05 16:34:43.826521179 +0100
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/avconfig.h 2025-01-14 12:35:46.000000000 +0000
@@ -0,0 +1,6 @@
+/* Generated by ffmpeg configure */
+#ifndef AVUTIL_AVCONFIG_H
@@ -6325,105 +6441,16 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#endif /* AVUTIL_AVCONFIG_H */
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/ffversion.h b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/ffversion.h
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/ffversion.h 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/ffversion.h 2024-10-05 16:34:43.826521179 +0100
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/ffversion.h 2025-01-14 12:35:46.000000000 +0000
@@ -0,0 +1,5 @@
+/* Automatically generated by version.sh, do not manually edit! */
+#ifndef AVUTIL_FFVERSION_H
+#define AVUTIL_FFVERSION_H
-+#define FFMPEG_VERSION "git-2024-08-15-14d16cd143"
++#define FFMPEG_VERSION "git-2024-10-31-591ae4b02e"
+#endif /* AVUTIL_FFVERSION_H */
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.asm b/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.asm
---- a/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.asm 2024-10-02 03:50:24.674327900 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.asm 2024-10-05 16:34:43.826521179 +0100
-@@ -102,8 +102,8 @@
- %define HAVE_AMD3DNOWEXT_EXTERNAL 1
- %define HAVE_AVX_EXTERNAL 1
- %define HAVE_AVX2_EXTERNAL 1
--%define HAVE_AVX512_EXTERNAL 1
--%define HAVE_AVX512ICL_EXTERNAL 1
-+%define HAVE_AVX512_EXTERNAL 0
-+%define HAVE_AVX512ICL_EXTERNAL 0
- %define HAVE_FMA3_EXTERNAL 1
- %define HAVE_FMA4_EXTERNAL 1
- %define HAVE_MMX_EXTERNAL 1
-@@ -366,7 +366,7 @@
- %define HAVE_INLINE_ASM_LABELS 1
- %define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
- %define HAVE_PRAGMA_DEPRECATED 1
--%define HAVE_RSYNC_CONTIMEOUT 1
-+%define HAVE_RSYNC_CONTIMEOUT 0
- %define HAVE_SYMVER_ASM_LABEL 1
- %define HAVE_SYMVER_GNU_ASM 1
- %define HAVE_VFP_ARGS 0
-@@ -420,7 +420,7 @@
- %define HAVE_PERL 1
- %define HAVE_POD2MAN 1
- %define HAVE_TEXI2HTML 0
--%define HAVE_XMLLINT 1
-+%define HAVE_XMLLINT 0
- %define HAVE_ZLIB_GZIP 0
- %define HAVE_OPENVINO2 0
- %define CONFIG_DOC 0
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h b/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h
---- a/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h 2024-10-02 03:50:24.674327900 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h 2024-10-05 16:34:43.826521179 +0100
-@@ -1,12 +1,12 @@
- /* Automatically generated by configure - do not modify! */
- #ifndef FFMPEG_CONFIG_H
- #define FFMPEG_CONFIG_H
--/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/usr/local/google/home/dalecurtis/code/chrome/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-lto --arch=x86_64 --target-os=linux --ena
ble-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld'" -- elide long configuration string from binary */
-+/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/home/porter/Workspaces/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-lto --arch=x86_64 --target-os=linux --enable-pic --cc=
clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld'" -- elide long configuration string from binary */
- #define FFMPEG_LICENSE "LGPL version 2.1 or later"
- #define CONFIG_THIS_YEAR 2024
- #define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
- #define AVCONV_DATADIR "/usr/local/share/ffmpeg"
--#define CC_IDENT "clang version 19.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project ecea8371ff03c15fb3dc27ee4108b98335fd2d63)"
-+#define CC_IDENT "clang version 20.0.0git (https://chromium.googlesource.com/external/github.com/llvm/llvm-project 7088a5ed880f29129ec844c66068e8cb61ca98bf)"
- #define OS_NAME linux
- #define EXTERN_PREFIX ""
- #define EXTERN_ASM
-@@ -116,8 +116,8 @@
- #define HAVE_AMD3DNOWEXT_EXTERNAL 1
- #define HAVE_AVX_EXTERNAL 1
- #define HAVE_AVX2_EXTERNAL 1
--#define HAVE_AVX512_EXTERNAL 1
--#define HAVE_AVX512ICL_EXTERNAL 1
-+#define HAVE_AVX512_EXTERNAL 0
-+#define HAVE_AVX512ICL_EXTERNAL 0
- #define HAVE_FMA3_EXTERNAL 1
- #define HAVE_FMA4_EXTERNAL 1
- #define HAVE_MMX_EXTERNAL 1
-@@ -380,7 +380,7 @@
- #define HAVE_INLINE_ASM_LABELS 1
- #define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
- #define HAVE_PRAGMA_DEPRECATED 1
--#define HAVE_RSYNC_CONTIMEOUT 1
-+#define HAVE_RSYNC_CONTIMEOUT 0
- #define HAVE_SYMVER_ASM_LABEL 1
- #define HAVE_SYMVER_GNU_ASM 1
- #define HAVE_VFP_ARGS 0
-@@ -434,7 +434,7 @@
- #define HAVE_PERL 1
- #define HAVE_POD2MAN 1
- #define HAVE_TEXI2HTML 0
--#define HAVE_XMLLINT 1
-+#define HAVE_XMLLINT 0
- #define HAVE_ZLIB_GZIP 0
- #define HAVE_OPENVINO2 0
- #define CONFIG_DOC 0
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/x64/libavutil/ffversion.h b/third_party/ffmpeg/chromium/config/Chromium/linux/x64/libavutil/ffversion.h
---- a/third_party/ffmpeg/chromium/config/Chromium/linux/x64/libavutil/ffversion.h 2024-10-02 03:50:24.675328000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/x64/libavutil/ffversion.h 2024-10-05 16:34:43.829854513 +0100
-@@ -1,5 +1,5 @@
- /* Automatically generated by version.sh, do not manually edit! */
- #ifndef AVUTIL_FFVERSION_H
- #define AVUTIL_FFVERSION_H
--#define FFMPEG_VERSION "N-116575-gd941d9677b"
-+#define FFMPEG_VERSION "git-2024-08-15-14d16cd143"
- #endif /* AVUTIL_FFVERSION_H */
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/scripts/copy_config.sh b/third_party/ffmpeg/chromium/scripts/copy_config.sh
---- a/third_party/ffmpeg/chromium/scripts/copy_config.sh 2024-10-02 03:50:24.681328800 +0100
-+++ b/third_party/ffmpeg/chromium/scripts/copy_config.sh 2024-10-05 16:34:43.829854513 +0100
+--- a/third_party/ffmpeg/chromium/scripts/copy_config.sh 2024-12-18 22:01:41.000000000 +0000
++++ b/third_party/ffmpeg/chromium/scripts/copy_config.sh 2025-01-14 12:33:32.000000000 +0000
@@ -10,7 +10,7 @@
# Copy config files for various architectures:
# - ia32/x64 have config.asm, config.h
@@ -6434,9 +6461,15 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/scripts/copy_config.sh b
[ ! -e "build.$arch.$os/$target/config.h" ] && continue
for f in config.h config_components.h config.asm libavutil/avconfig.h libavutil/ffversion.h libavcodec/bsf_list.c libavcodec/codec_list.c libavcodec/parser_list.c libavformat/demuxer_list.c libavformat/muxer_list.c libavformat/protocol_list.c; do
diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_party/ffmpeg/ffmpeg_generated.gni
---- a/third_party/ffmpeg/ffmpeg_generated.gni 2024-10-02 03:50:24.721333300 +0100
-+++ b/third_party/ffmpeg/ffmpeg_generated.gni 2024-10-05 16:34:43.829854513 +0100
-@@ -14,10 +14,8 @@
+--- a/third_party/ffmpeg/ffmpeg_generated.gni 2024-12-18 22:01:41.000000000 +0000
++++ b/third_party/ffmpeg/ffmpeg_generated.gni 2025-01-14 12:35:22.000000000 +0000
+@@ -1,4 +1,4 @@
+-# Copyright 2024 The Chromium Authors. All rights reserved.
++# Copyright 2025 The Chromium Authors. All rights reserved.
+ # Use of this source code is governed by a BSD-style license that can be
+ # found in the LICENSE file.
+
+@@ -14,19 +14,13 @@
use_linux_config = is_linux || is_chromeos || is_fuchsia
@@ -6444,13 +6477,117 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
- (is_android && current_cpu == "arm" && arm_use_neon) ||
- (is_android && current_cpu == "x86") || is_apple || is_win ||
- use_linux_config) {
-+if ((use_linux_config && current_cpu == "riscv64") ||
-+ (use_linux_config && current_cpu == "x64")) {
++if (use_linux_config && current_cpu == "riscv64") {
ffmpeg_c_sources += [
"libavcodec/ac3_channel_layout_tab.c",
"libavcodec/ac3_parser.c",
-@@ -211,16 +209,26 @@
+ "libavcodec/adts_parser.c",
+ "libavcodec/allcodecs.c",
+- "libavcodec/autorename_libavcodec_flacdsp.c",
+- "libavcodec/autorename_libavcodec_mpegaudiodsp.c",
+ "libavcodec/autorename_libavcodec_parser.c",
+- "libavcodec/autorename_libavcodec_vorbisdsp.c",
+ "libavcodec/avcodec.c",
+ "libavcodec/avdct.c",
+ "libavcodec/avfft.c",
+@@ -47,6 +41,7 @@
+ "libavcodec/flac_parser.c",
+ "libavcodec/flacdata.c",
+ "libavcodec/flacdec.c",
++ "libavcodec/flacdsp.c",
+ "libavcodec/get_buffer.c",
+ "libavcodec/golomb.c",
+ "libavcodec/imgconvert.c",
+@@ -65,6 +60,7 @@
+ "libavcodec/mpegaudiodec_common.c",
+ "libavcodec/mpegaudiodec_fixed.c",
+ "libavcodec/mpegaudiodecheader.c",
++ "libavcodec/mpegaudiodsp.c",
+ "libavcodec/mpegaudiodsp_data.c",
+ "libavcodec/mpegaudiodsp_fixed.c",
+ "libavcodec/mpegaudiodsp_float.c",
+@@ -82,6 +78,8 @@
+ "libavcodec/qsv_api.c",
+ "libavcodec/raw.c",
+ "libavcodec/refstruct.c",
++ "libavcodec/riscv/flacdsp_init.c",
++ "libavcodec/riscv/vorbisdsp_init.c",
+ "libavcodec/threadprogress.c",
+ "libavcodec/to_upper4.c",
+ "libavcodec/utils.c",
+@@ -91,6 +89,7 @@
+ "libavcodec/vorbis_data.c",
+ "libavcodec/vorbis_parser.c",
+ "libavcodec/vorbisdec.c",
++ "libavcodec/vorbisdsp.c",
+ "libavcodec/vp9_parser.c",
+ "libavcodec/xiph.c",
+ "libavformat/allformats.c",
+@@ -145,12 +144,7 @@
+ "libavutil/aes.c",
+ "libavutil/aes_ctr.c",
+ "libavutil/ambient_viewing_environment.c",
+- "libavutil/autorename_libavutil_cpu.c",
+ "libavutil/autorename_libavutil_executor.c",
+- "libavutil/autorename_libavutil_fixed_dsp.c",
+- "libavutil/autorename_libavutil_float_dsp.c",
+- "libavutil/autorename_libavutil_imgutils.c",
+- "libavutil/autorename_libavutil_tx_float.c",
+ "libavutil/autorename_libavutil_utils.c",
+ "libavutil/autorename_libavutil_version.c",
+ "libavutil/avstring.c",
+@@ -159,6 +153,7 @@
+ "libavutil/buffer.c",
+ "libavutil/camellia.c",
+ "libavutil/channel_layout.c",
++ "libavutil/cpu.c",
+ "libavutil/crc.c",
+ "libavutil/csp.c",
+ "libavutil/detection_bbox.c",
+@@ -172,12 +167,15 @@
+ "libavutil/fifo.c",
+ "libavutil/file_open.c",
+ "libavutil/film_grain_params.c",
++ "libavutil/fixed_dsp.c",
++ "libavutil/float_dsp.c",
+ "libavutil/frame.c",
+ "libavutil/hdr_dynamic_metadata.c",
+ "libavutil/hdr_dynamic_vivid_metadata.c",
+ "libavutil/hwcontext.c",
+ "libavutil/hwcontext_stub.c",
+ "libavutil/iamf.c",
++ "libavutil/imgutils.c",
+ "libavutil/integer.c",
+ "libavutil/intmath.c",
+ "libavutil/lfg.c",
+@@ -195,6 +193,11 @@
+ "libavutil/random_seed.c",
+ "libavutil/rational.c",
+ "libavutil/reverse.c",
++ "libavutil/riscv/autorename_libavutil_riscv_cpu.c",
++ "libavutil/riscv/cpu_common.c",
++ "libavutil/riscv/fixed_dsp_init.c",
++ "libavutil/riscv/float_dsp_init.c",
++ "libavutil/riscv/lls_init.c",
+ "libavutil/samplefmt.c",
+ "libavutil/sha.c",
+ "libavutil/slicethread.c",
+@@ -207,22 +210,41 @@
+ "libavutil/timestamp.c",
+ "libavutil/twofish.c",
+ "libavutil/tx.c",
++ "libavutil/tx_float.c",
+ "libavutil/uuid.c",
+ "libavutil/video_enc_params.c",
+ "libavutil/video_hint.c",
]
++ ffmpeg_gas_sources += [
++ "libavcodec/riscv/flacdsp_rvv.S",
++ "libavcodec/riscv/vorbisdsp_rvv.S",
++ "libavutil/riscv/fixed_dsp_rvv.S",
++ "libavutil/riscv/float_dsp_rvv.S",
++ "libavutil/riscv/lls_rvv.S",
++ ]
}
-if ((current_cpu == "arm64" && ffmpeg_branding == "Chrome") ||
@@ -6459,13 +6596,15 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
- (is_apple && ffmpeg_branding == "Chrome") ||
- (is_win && ffmpeg_branding == "Chrome") ||
- (use_linux_config && ffmpeg_branding == "Chrome")) {
-+if ((use_linux_config && current_cpu == "riscv64" &&
-+ ffmpeg_branding == "Chrome") ||
-+ (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "Chrome")) {
++if (use_linux_config && current_cpu == "riscv64" &&
++ ffmpeg_branding == "Chrome") {
ffmpeg_c_sources += [
+ "libavcodec/aac/aacdec.c",
++ "libavcodec/aac/aacdec_ac.c",
+ "libavcodec/aac/aacdec_float.c",
++ "libavcodec/aac/aacdec_lpd.c",
+ "libavcodec/aac/aacdec_tab.c",
++ "libavcodec/aac/aacdec_usac.c",
+ "libavcodec/aac_ac3_parser.c",
+ "libavcodec/aac_parser.c",
+ "libavcodec/aacps_common.c",
@@ -6475,14 +6614,13 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
+ "libavcodec/aactab.c",
+ "libavcodec/adts_header.c",
"libavcodec/atsc_a53.c",
-+ "libavcodec/autorename_libavcodec_sbrdsp.c",
"libavcodec/autorename_libavcodec_videodsp.c",
"libavcodec/cabac.c",
+ "libavcodec/cbrt_data.c",
"libavcodec/h2645_parse.c",
"libavcodec/h2645_sei.c",
"libavcodec/h2645_vui.c",
-@@ -245,46 +253,27 @@
+@@ -247,236 +269,30 @@
"libavcodec/h264pred.c",
"libavcodec/h264qpel.c",
"libavcodec/h274.c",
@@ -6500,8 +6638,11 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
- (use_linux_config && ffmpeg_branding == "Chrome")) {
- ffmpeg_c_sources += [
- "libavcodec/aac/aacdec.c",
+- "libavcodec/aac/aacdec_ac.c",
- "libavcodec/aac/aacdec_float.c",
+- "libavcodec/aac/aacdec_lpd.c",
- "libavcodec/aac/aacdec_tab.c",
+- "libavcodec/aac/aacdec_usac.c",
- "libavcodec/aac_ac3_parser.c",
- "libavcodec/aac_parser.c",
- "libavcodec/aacps_common.c",
@@ -6513,44 +6654,47 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
- "libavcodec/autorename_libavcodec_sbrdsp.c",
- "libavcodec/cbrt_data.c",
"libavcodec/kbdwin.c",
++ "libavcodec/riscv/aacpsdsp_init.c",
++ "libavcodec/riscv/h264_chroma_init_riscv.c",
++ "libavcodec/riscv/h264dsp_init.c",
++ "libavcodec/riscv/h264qpel_init.c",
++ "libavcodec/riscv/sbrdsp_init.c",
++ "libavcodec/riscv/videodsp_init.c",
++ "libavcodec/sbrdsp.c",
"libavcodec/sinewin.c",
+ "libavcodec/startcode.c",
"libavformat/apetag.c",
"libavformat/autorename_libavformat_aacdec.c",
"libavformat/img2.c",
]
- }
-
+-}
+-
-if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") ||
- (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") ||
- (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome")) {
-+if (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "Chrome") {
-+ ffmpeg_c_sources += [
-+ "libavcodec/x86/autorename_libavcodec_x86_aacpsdsp_init.c",
-+ "libavcodec/x86/autorename_libavcodec_x86_h264dsp_init.c",
-+ "libavcodec/x86/autorename_libavcodec_x86_sbrdsp_init.c",
-+ "libavcodec/x86/h264_intrapred_init.c",
-+ "libavcodec/x86/h264_qpel.c",
-+ "libavcodec/x86/h264chroma_init.c",
-+ "libavcodec/x86/videodsp_init.c",
-+ ]
- ffmpeg_asm_sources += [
- "libavcodec/x86/aacpsdsp.asm",
+- ffmpeg_asm_sources += [
+- "libavcodec/x86/aacpsdsp.asm",
- "libavcodec/x86/autorename_libavcodec_x86_videodsp.asm",
- "libavcodec/x86/fpel.asm",
- "libavcodec/x86/h264_chromamc.asm",
- "libavcodec/x86/h264_chromamc_10bit.asm",
-@@ -300,36 +289,23 @@
- "libavcodec/x86/h264_weight_10bit.asm",
- "libavcodec/x86/qpel.asm",
- "libavcodec/x86/sbrdsp.asm",
-+ "libavcodec/x86/videodsp.asm",
- ]
- }
-
+- "libavcodec/x86/fpel.asm",
+- "libavcodec/x86/h264_chromamc.asm",
+- "libavcodec/x86/h264_chromamc_10bit.asm",
+- "libavcodec/x86/h264_deblock.asm",
+- "libavcodec/x86/h264_deblock_10bit.asm",
+- "libavcodec/x86/h264_idct.asm",
+- "libavcodec/x86/h264_idct_10bit.asm",
+- "libavcodec/x86/h264_intrapred.asm",
+- "libavcodec/x86/h264_intrapred_10bit.asm",
+- "libavcodec/x86/h264_qpel_10bit.asm",
+- "libavcodec/x86/h264_qpel_8bit.asm",
+- "libavcodec/x86/h264_weight.asm",
+- "libavcodec/x86/h264_weight_10bit.asm",
+- "libavcodec/x86/qpel.asm",
+- "libavcodec/x86/sbrdsp.asm",
+- ]
+-}
+-
-if (current_cpu == "arm64" && ffmpeg_branding == "Chrome") {
-+if (use_linux_config && current_cpu == "x64") {
- ffmpeg_c_sources += [
+- ffmpeg_c_sources += [
- "libavcodec/aarch64/aacpsdsp_init_aarch64.c",
- "libavcodec/aarch64/autorename_libavcodec_aarch64_videodsp_init.c",
- "libavcodec/aarch64/h264chroma_init_aarch64.c",
@@ -6569,41 +6713,55 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
- "libavcodec/aarch64/autorename_libavcodec_aarch64_hpeldsp_neon.S",
- "libavcodec/aarch64/autorename_libavcodec_aarch64_sbrdsp_neon.S",
- "libavcodec/aarch64/videodsp.S",
-+ "libavcodec/x86/autorename_libavcodec_x86_flacdsp_init.c",
-+ "libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c",
-+ "libavcodec/x86/constants.c",
-+ "libavcodec/x86/mpegaudiodsp.c",
-+ "libavutil/x86/autorename_libavutil_x86_cpu.c",
-+ "libavutil/x86/autorename_libavutil_x86_fixed_dsp_init.c",
-+ "libavutil/x86/autorename_libavutil_x86_float_dsp_init.c",
-+ "libavutil/x86/imgutils_init.c",
-+ "libavutil/x86/lls_init.c",
-+ "libavutil/x86/tx_float_init.c",
- ]
+- ]
-}
-
-if (current_cpu == "x64" || (is_win && current_cpu == "x86") ||
- (use_linux_config && current_cpu == "x86")) {
- ffmpeg_c_sources +=
- [ "libavutil/x86/autorename_libavutil_x86_tx_float_init.c" ]
- ffmpeg_asm_sources += [
- "libavcodec/x86/dct32.asm",
- "libavcodec/x86/flacdsp.asm",
-@@ -344,133 +320,35 @@
- ]
- }
-
+- ffmpeg_asm_sources += [
+- "libavcodec/x86/dct32.asm",
+- "libavcodec/x86/flacdsp.asm",
+- "libavcodec/x86/imdct36.asm",
+- "libavcodec/x86/vorbisdsp.asm",
+- "libavutil/x86/cpuid.asm",
+- "libavutil/x86/fixed_dsp.asm",
+- "libavutil/x86/float_dsp.asm",
+- "libavutil/x86/imgutils.asm",
+- "libavutil/x86/lls.asm",
+- "libavutil/x86/tx_float.asm",
+- ]
+-}
+-
+-if (current_cpu == "arm64") {
+- ffmpeg_c_sources += [
+- "libavcodec/aarch64/autorename_libavcodec_aarch64_vorbisdsp_init.c",
+- "libavcodec/aarch64/mpegaudiodsp_init.c",
+- "libavutil/aarch64/autorename_libavutil_aarch64_cpu.c",
+- "libavutil/aarch64/autorename_libavutil_aarch64_float_dsp_init.c",
+- "libavutil/aarch64/tx_float_init.c",
+- ]
+- ffmpeg_gas_sources += [
+- "libavcodec/aarch64/autorename_libavcodec_aarch64_vorbisdsp_neon.S",
+- "libavcodec/aarch64/mpegaudiodsp_neon.S",
+- "libavutil/aarch64/autorename_libavutil_aarch64_float_dsp_neon.S",
+- "libavutil/aarch64/cpu_sve.S",
+- "libavutil/aarch64/tx_float_neon.S",
+- ]
+-}
+-
-if (current_cpu == "x64" || (is_android && current_cpu == "x86") ||
- (is_win && current_cpu == "x86") ||
- (use_linux_config && current_cpu == "x86")) {
- ffmpeg_c_sources += [
-- "libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c",
- "libavcodec/x86/constants.c",
- "libavcodec/x86/flacdsp_init.c",
- "libavcodec/x86/mpegaudiodsp.c",
+- "libavcodec/x86/vorbisdsp_init.c",
- "libavutil/x86/autorename_libavutil_x86_cpu.c",
-- "libavutil/x86/autorename_libavutil_x86_float_dsp_init.c",
- "libavutil/x86/fixed_dsp_init.c",
+- "libavutil/x86/float_dsp_init.c",
- "libavutil/x86/imgutils_init.c",
- "libavutil/x86/lls_init.c",
- ]
@@ -6616,7 +6774,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
- "libavcodec/arm/flacdsp_init_arm.c",
- "libavcodec/arm/mpegaudiodsp_init_arm.c",
- "libavcodec/arm/vorbisdsp_init_arm.c",
-- "libavutil/arm/autorename_libavutil_arm_cpu.c",
+- "libavutil/arm/cpu.c",
- "libavutil/arm/float_dsp_init_arm.c",
- "libavutil/arm/float_dsp_init_vfp.c",
- ]
@@ -6627,22 +6785,6 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
- ]
-}
-
--if (current_cpu == "arm64") {
-- ffmpeg_c_sources += [
-- "libavcodec/aarch64/mpegaudiodsp_init.c",
-- "libavcodec/aarch64/vorbisdsp_init.c",
-- "libavutil/aarch64/cpu.c",
-- "libavutil/aarch64/float_dsp_init.c",
-- "libavutil/aarch64/tx_float_init.c",
-- ]
-- ffmpeg_gas_sources += [
-- "libavcodec/aarch64/autorename_libavcodec_aarch64_vorbisdsp_neon.S",
-- "libavcodec/aarch64/mpegaudiodsp_neon.S",
-- "libavutil/aarch64/autorename_libavutil_aarch64_float_dsp_neon.S",
-- "libavutil/aarch64/tx_float_neon.S",
-- ]
--}
--
-if ((use_linux_config && current_cpu == "arm" && arm_use_neon &&
- ffmpeg_branding == "Chrome") ||
- (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "Chrome")) {
@@ -6654,11 +6796,21 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
- "libavcodec/arm/videodsp_init_arm.c",
- "libavcodec/arm/videodsp_init_armv5te.c",
- ]
-- ffmpeg_gas_sources += [
+ ffmpeg_gas_sources += [
- "libavcodec/arm/startcode_armv6.S",
- "libavcodec/arm/videodsp_armv5te.S",
-- ]
--}
++ "libavcodec/riscv/aacpsdsp_rvv.S",
++ "libavcodec/riscv/h264_mc_chroma.S",
++ "libavcodec/riscv/h264addpx_rvv.S",
++ "libavcodec/riscv/h264dsp_rvv.S",
++ "libavcodec/riscv/h264idct_rvv.S",
++ "libavcodec/riscv/h264qpel_rvv.S",
++ "libavcodec/riscv/sbrdsp_rvv.S",
++ "libavcodec/riscv/startcode_rvb.S",
++ "libavcodec/riscv/startcode_rvv.S",
++ "libavcodec/riscv/videodsp.S",
+ ]
+ }
-
-if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") ||
- (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") ||
@@ -6676,8 +6828,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
-}
-
-if (use_linux_config && current_cpu == "arm" && arm_use_neon &&
-+if (use_linux_config && current_cpu == "riscv64" &&
- ffmpeg_branding == "Chrome") {
+- ffmpeg_branding == "Chrome") {
- ffmpeg_gas_sources += [
- "libavcodec/arm/h264cmc_neon.S",
- "libavcodec/arm/h264dsp_neon.S",
@@ -6685,58 +6836,38 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
- "libavcodec/arm/h264pred_neon.S",
- "libavcodec/arm/h264qpel_neon.S",
- "libavcodec/arm/hpeldsp_neon.S",
-+ ffmpeg_c_sources += [
-+ "libavcodec/riscv/aacpsdsp_init.c",
-+ "libavcodec/riscv/h264_chroma_init_riscv.c",
-+ "libavcodec/riscv/h264dsp_init.c",
-+ "libavcodec/riscv/sbrdsp_init.c",
- ]
+- ]
-}
-
-if ((is_android && current_cpu == "arm" && arm_use_neon) ||
- (use_linux_config && current_cpu == "arm" && arm_use_neon)) {
- ffmpeg_c_sources += [ "libavutil/arm/float_dsp_init_neon.c" ]
- ffmpeg_gas_sources += [
+- ffmpeg_gas_sources += [
- "libavcodec/arm/vorbisdsp_neon.S",
- "libavutil/arm/float_dsp_neon.S",
-+ "libavcodec/riscv/aacpsdsp_rvv.S",
-+ "libavcodec/riscv/h264_mc_chroma.S",
-+ "libavcodec/riscv/sbrdsp_rvv.S",
-+ "libavcodec/riscv/startcode_rvb.S",
-+ "libavcodec/riscv/startcode_rvv.S",
- ]
- }
-
+- ]
+-}
+-
-if ((is_android && current_cpu == "arm" && arm_use_neon &&
- ffmpeg_branding == "Chrome") ||
- (use_linux_config && current_cpu == "arm" && arm_use_neon &&
- ffmpeg_branding == "Chrome") ||
- (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "Chrome")) {
-+if (use_linux_config && current_cpu == "riscv64") {
- ffmpeg_c_sources += [
+- ffmpeg_c_sources += [
- "libavcodec/arm/aacpsdsp_init_arm.c",
- "libavcodec/arm/sbrdsp_init_arm.c",
-+ "libavcodec/riscv/flacdsp_init.c",
-+ "libavcodec/riscv/vorbisdsp_init.c",
-+ "libavutil/riscv/cpu.c",
-+ "libavutil/riscv/fixed_dsp_init.c",
-+ "libavutil/riscv/float_dsp_init.c",
- ]
+- ]
-}
-
-if ((is_android && current_cpu == "arm" && arm_use_neon &&
- ffmpeg_branding == "Chrome") ||
- (use_linux_config && current_cpu == "arm" && arm_use_neon &&
- ffmpeg_branding == "Chrome")) {
- ffmpeg_gas_sources += [
+- ffmpeg_gas_sources += [
- "libavcodec/arm/aacpsdsp_neon.S",
- "libavcodec/arm/sbrdsp_neon.S",
-+ "libavcodec/riscv/flacdsp_rvv.S",
-+ "libavcodec/riscv/vorbisdsp_rvv.S",
-+ "libavutil/riscv/fixed_dsp_rvv.S",
-+ "libavutil/riscv/float_dsp_rvv.S",
- ]
- }
+- ]
+-}
-
-if ((is_android && current_cpu == "arm" && arm_use_neon) ||
- (is_android && current_cpu == "arm64") ||
@@ -6744,180 +6875,86 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
- (is_android && current_cpu == "x86")) {
- ffmpeg_c_sources += [ "compat/strtod.c" ]
-}
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/autorename_libavcodec_flacdsp.c b/third_party/ffmpeg/libavcodec/autorename_libavcodec_flacdsp.c
---- a/third_party/ffmpeg/libavcodec/autorename_libavcodec_flacdsp.c 2024-10-02 03:50:25.062372700 +0100
-+++ b/third_party/ffmpeg/libavcodec/autorename_libavcodec_flacdsp.c 2024-10-05 16:34:43.829854513 +0100
-@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
- #include "flacdsp.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/autorename_libavcodec_mpegaudiodsp.c b/third_party/ffmpeg/libavcodec/autorename_libavcodec_mpegaudiodsp.c
---- a/third_party/ffmpeg/libavcodec/autorename_libavcodec_mpegaudiodsp.c 2024-10-02 03:50:25.062372700 +0100
-+++ b/third_party/ffmpeg/libavcodec/autorename_libavcodec_mpegaudiodsp.c 2024-10-05 16:34:43.829854513 +0100
+diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/autorename_libavcodec_parser.c b/third_party/ffmpeg/libavcodec/autorename_libavcodec_parser.c
+--- a/third_party/ffmpeg/libavcodec/autorename_libavcodec_parser.c 2024-12-18 22:01:41.000000000 +0000
++++ b/third_party/ffmpeg/libavcodec/autorename_libavcodec_parser.c 2025-01-14 12:35:18.000000000 +0000
@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
- #include "mpegaudiodsp.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/autorename_libavcodec_sbrdsp.c b/third_party/ffmpeg/libavcodec/autorename_libavcodec_sbrdsp.c
---- a/third_party/ffmpeg/libavcodec/autorename_libavcodec_sbrdsp.c 2024-10-02 03:50:25.063372600 +0100
-+++ b/third_party/ffmpeg/libavcodec/autorename_libavcodec_sbrdsp.c 2024-10-05 16:34:43.829854513 +0100
-@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
- #include "sbrdsp.c"
+-// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
++// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
+ #include "parser.c"
diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/autorename_libavcodec_videodsp.c b/third_party/ffmpeg/libavcodec/autorename_libavcodec_videodsp.c
---- a/third_party/ffmpeg/libavcodec/autorename_libavcodec_videodsp.c 2024-10-02 03:50:25.063372600 +0100
-+++ b/third_party/ffmpeg/libavcodec/autorename_libavcodec_videodsp.c 2024-10-05 16:34:43.829854513 +0100
+--- a/third_party/ffmpeg/libavcodec/autorename_libavcodec_videodsp.c 2024-12-18 22:01:41.000000000 +0000
++++ b/third_party/ffmpeg/libavcodec/autorename_libavcodec_videodsp.c 2025-01-14 12:35:18.000000000 +0000
@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+-// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
++// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
#include "videodsp.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/autorename_libavcodec_vorbisdsp.c b/third_party/ffmpeg/libavcodec/autorename_libavcodec_vorbisdsp.c
---- a/third_party/ffmpeg/libavcodec/autorename_libavcodec_vorbisdsp.c 2024-10-02 03:50:25.063372600 +0100
-+++ b/third_party/ffmpeg/libavcodec/autorename_libavcodec_vorbisdsp.c 2024-10-05 16:34:43.829854513 +0100
-@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
- #include "vorbisdsp.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_aacpsdsp_init.c b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_aacpsdsp_init.c
---- a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_aacpsdsp_init.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_aacpsdsp_init.c 2024-10-05 16:34:43.829854513 +0100
-@@ -0,0 +1,2 @@
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
-+#include "aacpsdsp_init.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_flacdsp_init.c b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_flacdsp_init.c
---- a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_flacdsp_init.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_flacdsp_init.c 2024-10-05 16:34:43.833187847 +0100
-@@ -0,0 +1,2 @@
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
-+#include "flacdsp_init.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_h264dsp_init.c b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_h264dsp_init.c
---- a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_h264dsp_init.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_h264dsp_init.c 2024-10-05 16:34:43.833187847 +0100
-@@ -0,0 +1,2 @@
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
-+#include "h264dsp_init.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_sbrdsp_init.c b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_sbrdsp_init.c
---- a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_sbrdsp_init.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_sbrdsp_init.c 2024-10-05 16:34:43.833187847 +0100
-@@ -0,0 +1,2 @@
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
-+#include "sbrdsp_init.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c
---- a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c 2024-10-02 03:50:25.603434800 +0100
-+++ b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c 2024-10-05 16:34:43.833187847 +0100
-@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
- #include "vorbisdsp_init.c"
diff '--color=auto' -Naur a/third_party/ffmpeg/libavformat/autorename_libavformat_aacdec.c b/third_party/ffmpeg/libavformat/autorename_libavformat_aacdec.c
---- a/third_party/ffmpeg/libavformat/autorename_libavformat_aacdec.c 2024-10-02 03:50:25.818459500 +0100
-+++ b/third_party/ffmpeg/libavformat/autorename_libavformat_aacdec.c 2024-10-05 16:34:43.833187847 +0100
+--- a/third_party/ffmpeg/libavformat/autorename_libavformat_aacdec.c 2024-12-18 22:01:41.000000000 +0000
++++ b/third_party/ffmpeg/libavformat/autorename_libavformat_aacdec.c 2025-01-14 12:35:18.000000000 +0000
@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+-// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
++// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
#include "aacdec.c"
diff '--color=auto' -Naur a/third_party/ffmpeg/libavformat/autorename_libavformat_flacdec.c b/third_party/ffmpeg/libavformat/autorename_libavformat_flacdec.c
---- a/third_party/ffmpeg/libavformat/autorename_libavformat_flacdec.c 2024-10-02 03:50:25.818459500 +0100
-+++ b/third_party/ffmpeg/libavformat/autorename_libavformat_flacdec.c 2024-10-05 16:34:43.833187847 +0100
+--- a/third_party/ffmpeg/libavformat/autorename_libavformat_flacdec.c 2024-12-18 22:01:41.000000000 +0000
++++ b/third_party/ffmpeg/libavformat/autorename_libavformat_flacdec.c 2025-01-14 12:35:18.000000000 +0000
@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+-// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
++// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
#include "flacdec.c"
diff '--color=auto' -Naur a/third_party/ffmpeg/libavformat/autorename_libavformat_options.c b/third_party/ffmpeg/libavformat/autorename_libavformat_options.c
---- a/third_party/ffmpeg/libavformat/autorename_libavformat_options.c 2024-10-02 03:50:25.818459500 +0100
-+++ b/third_party/ffmpeg/libavformat/autorename_libavformat_options.c 2024-10-05 16:34:43.833187847 +0100
+--- a/third_party/ffmpeg/libavformat/autorename_libavformat_options.c 2024-12-18 22:01:41.000000000 +0000
++++ b/third_party/ffmpeg/libavformat/autorename_libavformat_options.c 2025-01-14 12:35:18.000000000 +0000
@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+-// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
++// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
#include "options.c"
diff '--color=auto' -Naur a/third_party/ffmpeg/libavformat/autorename_libavformat_pcm.c b/third_party/ffmpeg/libavformat/autorename_libavformat_pcm.c
---- a/third_party/ffmpeg/libavformat/autorename_libavformat_pcm.c 2024-10-02 03:50:25.818459500 +0100
-+++ b/third_party/ffmpeg/libavformat/autorename_libavformat_pcm.c 2024-10-05 16:34:43.833187847 +0100
+--- a/third_party/ffmpeg/libavformat/autorename_libavformat_pcm.c 2024-12-18 22:01:41.000000000 +0000
++++ b/third_party/ffmpeg/libavformat/autorename_libavformat_pcm.c 2025-01-14 12:35:18.000000000 +0000
@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+-// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
++// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
#include "pcm.c"
diff '--color=auto' -Naur a/third_party/ffmpeg/libavformat/autorename_libavformat_utils.c b/third_party/ffmpeg/libavformat/autorename_libavformat_utils.c
---- a/third_party/ffmpeg/libavformat/autorename_libavformat_utils.c 2024-10-02 03:50:25.818459500 +0100
-+++ b/third_party/ffmpeg/libavformat/autorename_libavformat_utils.c 2024-10-05 16:34:43.833187847 +0100
+--- a/third_party/ffmpeg/libavformat/autorename_libavformat_utils.c 2024-12-18 22:01:41.000000000 +0000
++++ b/third_party/ffmpeg/libavformat/autorename_libavformat_utils.c 2025-01-14 12:35:18.000000000 +0000
@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+-// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
++// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
#include "utils.c"
diff '--color=auto' -Naur a/third_party/ffmpeg/libavformat/autorename_libavformat_version.c b/third_party/ffmpeg/libavformat/autorename_libavformat_version.c
---- a/third_party/ffmpeg/libavformat/autorename_libavformat_version.c 2024-10-02 03:50:25.818459500 +0100
-+++ b/third_party/ffmpeg/libavformat/autorename_libavformat_version.c 2024-10-05 16:34:43.833187847 +0100
+--- a/third_party/ffmpeg/libavformat/autorename_libavformat_version.c 2024-12-18 22:01:41.000000000 +0000
++++ b/third_party/ffmpeg/libavformat/autorename_libavformat_version.c 2025-01-14 12:35:18.000000000 +0000
@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+-// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
++// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
#include "version.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/autorename_libavutil_cpu.c b/third_party/ffmpeg/libavutil/autorename_libavutil_cpu.c
---- a/third_party/ffmpeg/libavutil/autorename_libavutil_cpu.c 2024-10-02 03:50:25.950474700 +0100
-+++ b/third_party/ffmpeg/libavutil/autorename_libavutil_cpu.c 2024-10-05 16:34:43.836521180 +0100
-@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
- #include "cpu.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/autorename_libavutil_fixed_dsp.c b/third_party/ffmpeg/libavutil/autorename_libavutil_fixed_dsp.c
---- a/third_party/ffmpeg/libavutil/autorename_libavutil_fixed_dsp.c 2024-10-02 03:50:25.950474700 +0100
-+++ b/third_party/ffmpeg/libavutil/autorename_libavutil_fixed_dsp.c 2024-10-05 16:34:43.836521180 +0100
-@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
- #include "fixed_dsp.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/autorename_libavutil_float_dsp.c b/third_party/ffmpeg/libavutil/autorename_libavutil_float_dsp.c
---- a/third_party/ffmpeg/libavutil/autorename_libavutil_float_dsp.c 2024-10-02 03:50:25.950474700 +0100
-+++ b/third_party/ffmpeg/libavutil/autorename_libavutil_float_dsp.c 2024-10-05 16:34:43.836521180 +0100
-@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
- #include "float_dsp.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/autorename_libavutil_imgutils.c b/third_party/ffmpeg/libavutil/autorename_libavutil_imgutils.c
---- a/third_party/ffmpeg/libavutil/autorename_libavutil_imgutils.c 2024-10-02 03:50:25.950474700 +0100
-+++ b/third_party/ffmpeg/libavutil/autorename_libavutil_imgutils.c 2024-10-05 16:34:43.836521180 +0100
+diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/autorename_libavutil_executor.c b/third_party/ffmpeg/libavutil/autorename_libavutil_executor.c
+--- a/third_party/ffmpeg/libavutil/autorename_libavutil_executor.c 2024-12-18 22:01:41.000000000 +0000
++++ b/third_party/ffmpeg/libavutil/autorename_libavutil_executor.c 2025-01-14 12:35:18.000000000 +0000
@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
- #include "imgutils.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/autorename_libavutil_tx_float.c b/third_party/ffmpeg/libavutil/autorename_libavutil_tx_float.c
---- a/third_party/ffmpeg/libavutil/autorename_libavutil_tx_float.c 2024-10-02 03:50:25.950474700 +0100
-+++ b/third_party/ffmpeg/libavutil/autorename_libavutil_tx_float.c 2024-10-05 16:34:43.836521180 +0100
-@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
- #include "tx_float.c"
+-// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
++// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
+ #include "executor.c"
diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/autorename_libavutil_utils.c b/third_party/ffmpeg/libavutil/autorename_libavutil_utils.c
---- a/third_party/ffmpeg/libavutil/autorename_libavutil_utils.c 2024-10-02 03:50:25.950474700 +0100
-+++ b/third_party/ffmpeg/libavutil/autorename_libavutil_utils.c 2024-10-05 16:34:43.836521180 +0100
+--- a/third_party/ffmpeg/libavutil/autorename_libavutil_utils.c 2024-12-18 22:01:41.000000000 +0000
++++ b/third_party/ffmpeg/libavutil/autorename_libavutil_utils.c 2025-01-14 12:35:18.000000000 +0000
@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+-// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
++// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
#include "utils.c"
diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/autorename_libavutil_version.c b/third_party/ffmpeg/libavutil/autorename_libavutil_version.c
---- a/third_party/ffmpeg/libavutil/autorename_libavutil_version.c 2024-10-02 03:50:25.950474700 +0100
-+++ b/third_party/ffmpeg/libavutil/autorename_libavutil_version.c 2024-10-05 16:34:43.836521180 +0100
+--- a/third_party/ffmpeg/libavutil/autorename_libavutil_version.c 2024-12-18 22:01:41.000000000 +0000
++++ b/third_party/ffmpeg/libavutil/autorename_libavutil_version.c 2025-01-14 12:35:18.000000000 +0000
@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+-// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
++// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
#include "version.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_cpu.c b/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_cpu.c
---- a/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_cpu.c 2024-10-02 03:50:25.987479000 +0100
-+++ b/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_cpu.c 2024-10-05 16:34:43.836521180 +0100
-@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
- #include "cpu.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_fixed_dsp_init.c b/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_fixed_dsp_init.c
---- a/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_fixed_dsp_init.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_fixed_dsp_init.c 2024-10-05 16:34:43.836521180 +0100
+diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/riscv/autorename_libavutil_riscv_cpu.c b/third_party/ffmpeg/libavutil/riscv/autorename_libavutil_riscv_cpu.c
+--- a/third_party/ffmpeg/libavutil/riscv/autorename_libavutil_riscv_cpu.c 1970-01-01 01:00:00.000000000 +0100
++++ b/third_party/ffmpeg/libavutil/riscv/autorename_libavutil_riscv_cpu.c 2025-01-14 12:35:18.000000000 +0000
@@ -0,0 +1,2 @@
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
-+#include "fixed_dsp_init.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_float_dsp_init.c b/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_float_dsp_init.c
---- a/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_float_dsp_init.c 2024-10-02 03:50:25.987479000 +0100
-+++ b/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_float_dsp_init.c 2024-10-05 16:34:43.836521180 +0100
-@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
- #include "float_dsp_init.c"
++// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
++#include "cpu.c"
diff --git a/www-client/chromium/files/riscv-misc.patch b/www-client/chromium/files/riscv-misc.patch
index 81714c8..cf8cbfb 100644
--- a/www-client/chromium/files/riscv-misc.patch
+++ b/www-client/chromium/files/riscv-misc.patch
@@ -1,7 +1,7 @@
-Index: chromium-130.0.6723.116/components/metrics/debug/metrics_internals_utils.cc
+Index: chromium-132.0.6834.83/components/metrics/debug/metrics_internals_utils.cc
===================================================================
---- chromium-130.0.6723.116.orig/components/metrics/debug/metrics_internals_utils.cc
-+++ chromium-130.0.6723.116/components/metrics/debug/metrics_internals_utils.cc
+--- chromium-132.0.6834.83.orig/components/metrics/debug/metrics_internals_utils.cc
++++ chromium-132.0.6834.83/components/metrics/debug/metrics_internals_utils.cc
@@ -69,6 +69,8 @@ std::string CpuArchitectureToString(
return "arm32";
case variations::Study::TRANSLATED_X86_64:
@@ -9,12 +9,12 @@ Index: chromium-130.0.6723.116/components/metrics/debug/metrics_internals_utils.
+ case variations::Study::RISCV64:
+ return "riscv64";
}
- NOTREACHED_IN_MIGRATION();
+ NOTREACHED();
}
-Index: chromium-130.0.6723.116/components/variations/proto/study.proto
+Index: chromium-132.0.6834.83/components/variations/proto/study.proto
===================================================================
---- chromium-130.0.6723.116.orig/components/variations/proto/study.proto
-+++ chromium-130.0.6723.116/components/variations/proto/study.proto
+--- chromium-132.0.6834.83.orig/components/variations/proto/study.proto
++++ chromium-132.0.6834.83/components/variations/proto/study.proto
@@ -262,6 +262,8 @@ message Study {
// A Mac-only value, indicating an x86-64 binary running on an arm64 host
// via "Rosetta 2" binary translation.
@@ -24,11 +24,11 @@ Index: chromium-130.0.6723.116/components/variations/proto/study.proto
}
// Enum to pass as optional bool.
-Index: chromium-130.0.6723.116/components/variations/service/variations_field_trial_creator_base.cc
+Index: chromium-132.0.6834.83/components/variations/service/variations_field_trial_creator_base.cc
===================================================================
---- chromium-130.0.6723.116.orig/components/variations/service/variations_field_trial_creator_base.cc
-+++ chromium-130.0.6723.116/components/variations/service/variations_field_trial_creator_base.cc
-@@ -120,6 +120,9 @@ Study::CpuArchitecture GetCurrentCpuArch
+--- chromium-132.0.6834.83.orig/components/variations/service/variations_field_trial_creator_base.cc
++++ chromium-132.0.6834.83/components/variations/service/variations_field_trial_creator_base.cc
+@@ -121,6 +121,9 @@ Study::CpuArchitecture GetCurrentCpuArch
}
return Study::X86_64;
}
@@ -38,4 +38,28 @@ Index: chromium-130.0.6723.116/components/variations/service/variations_field_tr
NOTREACHED_IN_MIGRATION();
return Study::X86_64;
}
-
+Index: chromium-132.0.6834.83/v8/src/compiler/backend/riscv/code-generator-riscv.cc
+===================================================================
+--- chromium-132.0.6834.83.orig/v8/src/compiler/backend/riscv/code-generator-riscv.cc
++++ chromium-132.0.6834.83/v8/src/compiler/backend/riscv/code-generator-riscv.cc
+@@ -3742,12 +3742,20 @@ CodeGenerator::CodeGenResult CodeGenerat
+ break;
+ }
+ case kRiscvEnableDebugTrace: {
++#ifdef USE_SIMULATOR
+ __ Debug(TRACE_ENABLE | LOG_TRACE | LOG_REGS);
+ break;
++#else
++ UNREACHABLE();
++#endif
+ }
+ case kRiscvDisableDebugTrace: {
++#ifdef USE_SIMULATOR
+ __ Debug(TRACE_DISABLE | LOG_TRACE | LOG_REGS);
+ break;
++#else
++ UNREACHABLE();
++#endif
+ }
+ default:
+ #ifdef DEBUG
diff --git a/www-client/chromium/files/riscv-sandbox.patch b/www-client/chromium/files/riscv-sandbox.patch
index dc2d902..325e066 100644
--- a/www-client/chromium/files/riscv-sandbox.patch
+++ b/www-client/chromium/files/riscv-sandbox.patch
@@ -1,7 +1,7 @@
-Index: chromium-130.0.6723.58/sandbox/features.gni
+Index: chromium-132.0.6834.83/sandbox/features.gni
===================================================================
---- chromium-130.0.6723.58.orig/sandbox/features.gni
-+++ chromium-130.0.6723.58/sandbox/features.gni
+--- chromium-132.0.6834.83.orig/sandbox/features.gni
++++ chromium-132.0.6834.83/sandbox/features.gni
@@ -9,7 +9,8 @@
use_seccomp_bpf = (is_linux || is_chromeos || is_android) &&
(current_cpu == "x86" || current_cpu == "x64" ||
@@ -12,10 +12,10 @@ Index: chromium-130.0.6723.58/sandbox/features.gni
# SSBD (Speculative Store Bypass Disable) is a mitigation of Spectre Variant 4.
# As Spectre Variant 4 can be mitigated by site isolation, opt-out SSBD on site
-Index: chromium-130.0.6723.58/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
+Index: chromium-132.0.6834.83/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
===================================================================
---- chromium-130.0.6723.58.orig/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
-+++ chromium-130.0.6723.58/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
+--- chromium-132.0.6834.83.orig/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
++++ chromium-132.0.6834.83/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
@@ -56,6 +56,12 @@
#define MAX_PUBLIC_SYSCALL __NR_syscalls
#define MAX_SYSCALL MAX_PUBLIC_SYSCALL
@@ -29,10 +29,10 @@ Index: chromium-130.0.6723.58/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
#else
#error "Unsupported architecture"
#endif
-Index: chromium-130.0.6723.58/sandbox/linux/bpf_dsl/seccomp_macros.h
+Index: chromium-132.0.6834.83/sandbox/linux/bpf_dsl/seccomp_macros.h
===================================================================
---- chromium-130.0.6723.58.orig/sandbox/linux/bpf_dsl/seccomp_macros.h
-+++ chromium-130.0.6723.58/sandbox/linux/bpf_dsl/seccomp_macros.h
+--- chromium-132.0.6834.83.orig/sandbox/linux/bpf_dsl/seccomp_macros.h
++++ chromium-132.0.6834.83/sandbox/linux/bpf_dsl/seccomp_macros.h
@@ -343,6 +343,48 @@ struct regs_struct {
#define SECCOMP_PT_PARM4(_regs) (_regs).regs[3]
#define SECCOMP_PT_PARM5(_regs) (_regs).regs[4]
@@ -82,10 +82,10 @@ Index: chromium-130.0.6723.58/sandbox/linux/bpf_dsl/seccomp_macros.h
#else
#error Unsupported target platform
-Index: chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
+Index: chromium-132.0.6834.83/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
===================================================================
---- chromium-130.0.6723.58.orig/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
-+++ chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
+--- chromium-132.0.6834.83.orig/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
++++ chromium-132.0.6834.83/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
@@ -60,6 +60,9 @@ bool IsBaselinePolicyAllowed(int sysno)
#if defined(__mips__)
SyscallSets::IsMipsPrivate(sysno) ||
@@ -132,10 +132,10 @@ Index: chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/baseline_policy.
if (sysno == __NR_pipe) {
return Allow();
}
-Index: chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
+Index: chromium-132.0.6834.83/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
===================================================================
---- chromium-130.0.6723.58.orig/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
-+++ chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
+--- chromium-132.0.6834.83.orig/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
++++ chromium-132.0.6834.83/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
@@ -37,6 +37,7 @@
#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \
@@ -144,7 +144,7 @@ Index: chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/syscall_paramete
!defined(PTRACE_GET_THREAD_AREA)
// Also include asm/ptrace-abi.h since ptrace.h in older libc (for instance
// the one in Ubuntu 16.04 LTS) is missing PTRACE_GET_THREAD_AREA.
-@@ -463,8 +464,10 @@ ResultExpr RestrictPtrace() {
+@@ -461,8 +462,10 @@ ResultExpr RestrictPtrace() {
#endif
return Switch(request)
.Cases({
@@ -156,10 +156,10 @@ Index: chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/syscall_paramete
PTRACE_GETREGSET,
#endif
#if defined(__arm__)
-Index: chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
+Index: chromium-132.0.6834.83/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
===================================================================
---- chromium-130.0.6723.58.orig/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
-+++ chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
+--- chromium-132.0.6834.83.orig/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
++++ chromium-132.0.6834.83/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
@@ -103,7 +103,7 @@ bool SyscallSets::IsUmask(int sysno) {
// Both EPERM and ENOENT are valid errno unless otherwise noted in comment.
bool SyscallSets::IsFileSystem(int sysno) {
@@ -416,10 +416,10 @@ Index: chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
bool SyscallSets::IsGoogle3Threading(int sysno) {
switch (sysno) {
case __NR_getitimer:
-Index: chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
+Index: chromium-132.0.6834.83/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
===================================================================
---- chromium-130.0.6723.58.orig/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
-+++ chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
+--- chromium-132.0.6834.83.orig/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
++++ chromium-132.0.6834.83/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
@@ -52,7 +52,7 @@ class SANDBOX_EXPORT SyscallSets {
#endif
@@ -464,10 +464,10 @@ Index: chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
static bool IsGoogle3Threading(int sysno);
};
-Index: chromium-130.0.6723.58/sandbox/linux/seccomp-bpf/syscall.cc
+Index: chromium-132.0.6834.83/sandbox/linux/seccomp-bpf/syscall.cc
===================================================================
---- chromium-130.0.6723.58.orig/sandbox/linux/seccomp-bpf/syscall.cc
-+++ chromium-130.0.6723.58/sandbox/linux/seccomp-bpf/syscall.cc
+--- chromium-132.0.6834.83.orig/sandbox/linux/seccomp-bpf/syscall.cc
++++ chromium-132.0.6834.83/sandbox/linux/seccomp-bpf/syscall.cc
@@ -23,7 +23,7 @@ namespace sandbox {
namespace {
@@ -537,10 +537,10 @@ Index: chromium-130.0.6723.58/sandbox/linux/seccomp-bpf/syscall.cc
#else
#error "Unimplemented architecture"
#endif
-Index: chromium-130.0.6723.58/sandbox/linux/services/credentials.cc
+Index: chromium-132.0.6834.83/sandbox/linux/services/credentials.cc
===================================================================
---- chromium-130.0.6723.58.orig/sandbox/linux/services/credentials.cc
-+++ chromium-130.0.6723.58/sandbox/linux/services/credentials.cc
+--- chromium-132.0.6834.83.orig/sandbox/linux/services/credentials.cc
++++ chromium-132.0.6834.83/sandbox/linux/services/credentials.cc
@@ -87,7 +87,7 @@ bool ChrootToSafeEmptyDir() {
alignas(16) char stack_buf[PTHREAD_STACK_MIN_CONST];
@@ -550,10 +550,10 @@ Index: chromium-130.0.6723.58/sandbox/linux/services/credentials.cc
// The stack grows downward.
void* stack = stack_buf + sizeof(stack_buf);
#else
-Index: chromium-130.0.6723.58/sandbox/linux/services/syscall_wrappers.cc
+Index: chromium-132.0.6834.83/sandbox/linux/services/syscall_wrappers.cc
===================================================================
---- chromium-130.0.6723.58.orig/sandbox/linux/services/syscall_wrappers.cc
-+++ chromium-130.0.6723.58/sandbox/linux/services/syscall_wrappers.cc
+--- chromium-132.0.6834.83.orig/sandbox/linux/services/syscall_wrappers.cc
++++ chromium-132.0.6834.83/sandbox/linux/services/syscall_wrappers.cc
@@ -61,7 +61,7 @@ long sys_clone(unsigned long flags,
#if defined(ARCH_CPU_X86_64)
return syscall(__NR_clone, flags, child_stack, ptid, ctid, tls);
@@ -563,11 +563,11 @@ Index: chromium-130.0.6723.58/sandbox/linux/services/syscall_wrappers.cc
// CONFIG_CLONE_BACKWARDS defined.
return syscall(__NR_clone, flags, child_stack, ptid, tls, ctid);
#endif
-Index: chromium-130.0.6723.58/sandbox/linux/syscall_broker/broker_process.cc
+Index: chromium-132.0.6834.83/sandbox/linux/syscall_broker/broker_process.cc
===================================================================
---- chromium-130.0.6723.58.orig/sandbox/linux/syscall_broker/broker_process.cc
-+++ chromium-130.0.6723.58/sandbox/linux/syscall_broker/broker_process.cc
-@@ -122,44 +122,46 @@ bool BrokerProcess::IsSyscallBrokerable(
+--- chromium-132.0.6834.83.orig/sandbox/linux/syscall_broker/broker_process.cc
++++ chromium-132.0.6834.83/sandbox/linux/syscall_broker/broker_process.cc
+@@ -121,44 +121,46 @@ bool BrokerProcess::IsSyscallBrokerable(
// and are default disabled in Android. So, we should refuse to broker them
// to be consistent with the platform's restrictions.
switch (sysno) {
@@ -621,7 +621,7 @@ Index: chromium-130.0.6723.58/sandbox/linux/syscall_broker/broker_process.cc
case __NR_stat:
case __NR_lstat:
#endif
-@@ -169,7 +171,7 @@ bool BrokerProcess::IsSyscallBrokerable(
+@@ -168,7 +170,7 @@ bool BrokerProcess::IsSyscallBrokerable(
#if defined(__NR_fstatat64)
case __NR_fstatat64:
#endif
@@ -630,7 +630,7 @@ Index: chromium-130.0.6723.58/sandbox/linux/syscall_broker/broker_process.cc
case __NR_newfstatat:
#endif
return !fast_check || policy_->allowed_command_set.test(COMMAND_STAT);
-@@ -184,7 +186,7 @@ bool BrokerProcess::IsSyscallBrokerable(
+@@ -183,7 +185,7 @@ bool BrokerProcess::IsSyscallBrokerable(
return !fast_check || policy_->allowed_command_set.test(COMMAND_STAT);
#endif
@@ -639,10 +639,10 @@ Index: chromium-130.0.6723.58/sandbox/linux/syscall_broker/broker_process.cc
case __NR_unlink:
return !fast_check || policy_->allowed_command_set.test(COMMAND_UNLINK);
#endif
-Index: chromium-130.0.6723.58/sandbox/linux/system_headers/linux_seccomp.h
+Index: chromium-132.0.6834.83/sandbox/linux/system_headers/linux_seccomp.h
===================================================================
---- chromium-130.0.6723.58.orig/sandbox/linux/system_headers/linux_seccomp.h
-+++ chromium-130.0.6723.58/sandbox/linux/system_headers/linux_seccomp.h
+--- chromium-132.0.6834.83.orig/sandbox/linux/system_headers/linux_seccomp.h
++++ chromium-132.0.6834.83/sandbox/linux/system_headers/linux_seccomp.h
@@ -39,6 +39,10 @@
#define EM_AARCH64 183
#endif
@@ -665,10 +665,10 @@ Index: chromium-130.0.6723.58/sandbox/linux/system_headers/linux_seccomp.h
// For prctl.h
#ifndef PR_SET_SECCOMP
#define PR_SET_SECCOMP 22
-Index: chromium-130.0.6723.58/sandbox/linux/system_headers/linux_signal.h
+Index: chromium-132.0.6834.83/sandbox/linux/system_headers/linux_signal.h
===================================================================
---- chromium-130.0.6723.58.orig/sandbox/linux/system_headers/linux_signal.h
-+++ chromium-130.0.6723.58/sandbox/linux/system_headers/linux_signal.h
+--- chromium-132.0.6834.83.orig/sandbox/linux/system_headers/linux_signal.h
++++ chromium-132.0.6834.83/sandbox/linux/system_headers/linux_signal.h
@@ -13,7 +13,7 @@
// (not undefined, but defined different values and in different memory
// layouts). So, fill the gap here.
@@ -678,10 +678,10 @@ Index: chromium-130.0.6723.58/sandbox/linux/system_headers/linux_signal.h
#define LINUX_SIGHUP 1
#define LINUX_SIGINT 2
-Index: chromium-130.0.6723.58/sandbox/linux/system_headers/linux_stat.h
+Index: chromium-132.0.6834.83/sandbox/linux/system_headers/linux_stat.h
===================================================================
---- chromium-130.0.6723.58.orig/sandbox/linux/system_headers/linux_stat.h
-+++ chromium-130.0.6723.58/sandbox/linux/system_headers/linux_stat.h
+--- chromium-132.0.6834.83.orig/sandbox/linux/system_headers/linux_stat.h
++++ chromium-132.0.6834.83/sandbox/linux/system_headers/linux_stat.h
@@ -150,7 +150,7 @@ struct kernel_stat {
int st_blocks;
int st_pad4[14];
@@ -691,10 +691,10 @@ Index: chromium-130.0.6723.58/sandbox/linux/system_headers/linux_stat.h
struct kernel_stat {
unsigned long st_dev;
unsigned long st_ino;
-Index: chromium-130.0.6723.58/sandbox/linux/system_headers/linux_syscalls.h
+Index: chromium-132.0.6834.83/sandbox/linux/system_headers/linux_syscalls.h
===================================================================
---- chromium-130.0.6723.58.orig/sandbox/linux/system_headers/linux_syscalls.h
-+++ chromium-130.0.6723.58/sandbox/linux/system_headers/linux_syscalls.h
+--- chromium-132.0.6834.83.orig/sandbox/linux/system_headers/linux_syscalls.h
++++ chromium-132.0.6834.83/sandbox/linux/system_headers/linux_syscalls.h
@@ -35,5 +35,9 @@
#include "sandbox/linux/system_headers/arm64_linux_syscalls.h"
#endif
@@ -705,10 +705,10 @@ Index: chromium-130.0.6723.58/sandbox/linux/system_headers/linux_syscalls.h
+
#endif // SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_SYSCALLS_H_
-Index: chromium-130.0.6723.58/sandbox/linux/system_headers/riscv64_linux_syscalls.h
+Index: chromium-132.0.6834.83/sandbox/linux/system_headers/riscv64_linux_syscalls.h
===================================================================
--- /dev/null
-+++ chromium-130.0.6723.58/sandbox/linux/system_headers/riscv64_linux_syscalls.h
++++ chromium-132.0.6834.83/sandbox/linux/system_headers/riscv64_linux_syscalls.h
@@ -0,0 +1,1226 @@
+// Copyright 2014 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
@@ -1936,10 +1936,10 @@ Index: chromium-130.0.6723.58/sandbox/linux/system_headers/riscv64_linux_syscall
+#endif
+
+#endif // SANDBOX_LINUX_SYSTEM_HEADERS_RISCV64_LINUX_SYSCALLS_H_
-Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_cdm_policy_linux.cc
+Index: chromium-132.0.6834.83/sandbox/policy/linux/bpf_cdm_policy_linux.cc
===================================================================
---- chromium-130.0.6723.58.orig/sandbox/policy/linux/bpf_cdm_policy_linux.cc
-+++ chromium-130.0.6723.58/sandbox/policy/linux/bpf_cdm_policy_linux.cc
+--- chromium-132.0.6834.83.orig/sandbox/policy/linux/bpf_cdm_policy_linux.cc
++++ chromium-132.0.6834.83/sandbox/policy/linux/bpf_cdm_policy_linux.cc
@@ -33,7 +33,7 @@ ResultExpr CdmProcessPolicy::EvaluateSys
case __NR_ftruncate:
case __NR_fallocate:
@@ -1949,10 +1949,10 @@ Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_cdm_policy_linux.cc
case __NR_getrlimit:
#endif
#if defined(__i386__) || defined(__arm__)
-Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc
+Index: chromium-132.0.6834.83/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc
===================================================================
---- chromium-130.0.6723.58.orig/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc
-+++ chromium-130.0.6723.58/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc
+--- chromium-132.0.6834.83.orig/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc
++++ chromium-132.0.6834.83/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc
@@ -38,7 +38,7 @@ ResultExpr CrosAmdGpuProcessPolicy::Eval
case __NR_sched_setscheduler:
case __NR_sysinfo:
@@ -1962,10 +1962,10 @@ Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux
case __NR_readlink:
case __NR_stat:
#endif
-Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_gpu_policy_linux.cc
+Index: chromium-132.0.6834.83/sandbox/policy/linux/bpf_gpu_policy_linux.cc
===================================================================
---- chromium-130.0.6723.58.orig/sandbox/policy/linux/bpf_gpu_policy_linux.cc
-+++ chromium-130.0.6723.58/sandbox/policy/linux/bpf_gpu_policy_linux.cc
+--- chromium-132.0.6834.83.orig/sandbox/policy/linux/bpf_gpu_policy_linux.cc
++++ chromium-132.0.6834.83/sandbox/policy/linux/bpf_gpu_policy_linux.cc
@@ -73,7 +73,7 @@ ResultExpr GpuProcessPolicy::EvaluateSys
(defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
case __NR_ftruncate64:
@@ -1975,10 +1975,10 @@ Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_gpu_policy_linux.cc
case __NR_getdents:
#endif
case __NR_getdents64:
-Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_network_policy_linux.cc
+Index: chromium-132.0.6834.83/sandbox/policy/linux/bpf_network_policy_linux.cc
===================================================================
---- chromium-130.0.6723.58.orig/sandbox/policy/linux/bpf_network_policy_linux.cc
-+++ chromium-130.0.6723.58/sandbox/policy/linux/bpf_network_policy_linux.cc
+--- chromium-132.0.6834.83.orig/sandbox/policy/linux/bpf_network_policy_linux.cc
++++ chromium-132.0.6834.83/sandbox/policy/linux/bpf_network_policy_linux.cc
@@ -260,7 +260,7 @@ ResultExpr NetworkProcessPolicy::Evaluat
case __NR_fdatasync:
case __NR_fsync:
@@ -1988,10 +1988,10 @@ Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_network_policy_linux.cc
case __NR_getdents:
#endif
case __NR_getdents64:
-Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_print_compositor_policy_linux.cc
+Index: chromium-132.0.6834.83/sandbox/policy/linux/bpf_print_compositor_policy_linux.cc
===================================================================
---- chromium-130.0.6723.58.orig/sandbox/policy/linux/bpf_print_compositor_policy_linux.cc
-+++ chromium-130.0.6723.58/sandbox/policy/linux/bpf_print_compositor_policy_linux.cc
+--- chromium-132.0.6834.83.orig/sandbox/policy/linux/bpf_print_compositor_policy_linux.cc
++++ chromium-132.0.6834.83/sandbox/policy/linux/bpf_print_compositor_policy_linux.cc
@@ -33,7 +33,7 @@ ResultExpr PrintCompositorProcessPolicy:
case __NR_fdatasync:
case __NR_fsync:
@@ -2001,11 +2001,11 @@ Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_print_compositor_policy_l
case __NR_getrlimit:
#endif
#if defined(__i386__) || defined(__arm__)
-Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_renderer_policy_linux.cc
+Index: chromium-132.0.6834.83/sandbox/policy/linux/bpf_renderer_policy_linux.cc
===================================================================
---- chromium-130.0.6723.58.orig/sandbox/policy/linux/bpf_renderer_policy_linux.cc
-+++ chromium-130.0.6723.58/sandbox/policy/linux/bpf_renderer_policy_linux.cc
-@@ -82,7 +82,7 @@ ResultExpr RendererProcessPolicy::Evalua
+--- chromium-132.0.6834.83.orig/sandbox/policy/linux/bpf_renderer_policy_linux.cc
++++ chromium-132.0.6834.83/sandbox/policy/linux/bpf_renderer_policy_linux.cc
+@@ -85,7 +85,7 @@ ResultExpr RendererProcessPolicy::Evalua
case __NR_ftruncate64:
#endif
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
@@ -2014,10 +2014,10 @@ Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_renderer_policy_linux.cc
case __NR_getrlimit:
case __NR_setrlimit:
// We allow setrlimit to dynamically adjust the address space limit as
-Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_service_policy_linux.cc
+Index: chromium-132.0.6834.83/sandbox/policy/linux/bpf_service_policy_linux.cc
===================================================================
---- chromium-130.0.6723.58.orig/sandbox/policy/linux/bpf_service_policy_linux.cc
-+++ chromium-130.0.6723.58/sandbox/policy/linux/bpf_service_policy_linux.cc
+--- chromium-132.0.6834.83.orig/sandbox/policy/linux/bpf_service_policy_linux.cc
++++ chromium-132.0.6834.83/sandbox/policy/linux/bpf_service_policy_linux.cc
@@ -26,7 +26,7 @@ ResultExpr ServiceProcessPolicy::Evaluat
return RestrictIoctl();
// Allow the system calls below.
@@ -2027,10 +2027,10 @@ Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_service_policy_linux.cc
case __NR_getrlimit:
#endif
#if defined(__i386__) || defined(__arm__)
-Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_utility_policy_linux.cc
+Index: chromium-132.0.6834.83/sandbox/policy/linux/bpf_utility_policy_linux.cc
===================================================================
---- chromium-130.0.6723.58.orig/sandbox/policy/linux/bpf_utility_policy_linux.cc
-+++ chromium-130.0.6723.58/sandbox/policy/linux/bpf_utility_policy_linux.cc
+--- chromium-132.0.6834.83.orig/sandbox/policy/linux/bpf_utility_policy_linux.cc
++++ chromium-132.0.6834.83/sandbox/policy/linux/bpf_utility_policy_linux.cc
@@ -34,7 +34,7 @@ ResultExpr UtilityProcessPolicy::Evaluat
case __NR_fdatasync:
case __NR_fsync:
diff --git a/www-client/chromium/files/riscv-v8.patch b/www-client/chromium/files/riscv-v8.patch
deleted file mode 100644
index 8cdb37e..0000000
--- a/www-client/chromium/files/riscv-v8.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Index: chromium-128.0.6613.84/v8/src/wasm/baseline/riscv/liftoff-assembler-riscv-inl.h
-===================================================================
---- chromium-128.0.6613.84.orig/v8/src/wasm/baseline/riscv/liftoff-assembler-riscv-inl.h
-+++ chromium-128.0.6613.84/v8/src/wasm/baseline/riscv/liftoff-assembler-riscv-inl.h
-@@ -2368,6 +2368,22 @@ void LiftoffAssembler::CallFrameSetupStu
- CallBuiltin(Builtin::kWasmLiftoffFrameSetup);
- }
-
-+bool LiftoffAssembler::emit_f16x8_splat(LiftoffRegister dst,
-+ LiftoffRegister src) {
-+ return false;
-+}
-+bool LiftoffAssembler::emit_f16x8_extract_lane(LiftoffRegister dst,
-+ LiftoffRegister lhs,
-+ uint8_t imm_lane_idx) {
-+ return false;
-+}
-+bool LiftoffAssembler::emit_f16x8_replace_lane(LiftoffRegister dst,
-+ LiftoffRegister src1,
-+ LiftoffRegister src2,
-+ uint8_t imm_lane_idx) {
-+ return false;
-+}
-+
- } // namespace v8::internal::wasm
-
- #endif // V8_WASM_BASELINE_RISCV_LIFTOFF_ASSEMBLER_RISCV_INL_H_
-
diff --git a/www-client/chromium/metadata.xml b/www-client/chromium/metadata.xml
index 66251f8..e5778b5 100644
--- a/www-client/chromium/metadata.xml
+++ b/www-client/chromium/metadata.xml
@@ -10,11 +10,12 @@
<name>Matt Jolly</name>
</maintainer>
<use>
- <flag name="ffmpeg-chromium">(binpkg only) Use Chromium FFmpeg fork (<pkg>media-video/ffmpeg-chromium</pkg>) rather than mainline FFmpeg (<pkg>media-video/ffmpeg</pkg>)</flag>
+ <flag name="bundled-toolchain">Download and use the upstream binary toolchain(s) to build Chromium</flag>
<flag name="debug">Enable DCHECK feature with severity configurable at runtime. Mostly intended for debugging and development, NOT RECOMMENDED for general use.</flag>
+ <flag name="ffmpeg-chromium">(binpkg only) Use Chromium FFmpeg fork (<pkg>media-video/ffmpeg-chromium</pkg>) rather than mainline FFmpeg (<pkg>media-video/ffmpeg</pkg>)</flag>
<flag name="gtk4">Build with GTK4 headers.</flag>
- <flag name="headless">Build Ozone only with headless backend, NOT RECOMMENDED for general use.</flag>
<flag name="hangouts">Enable support for Google Hangouts features such as screen sharing</flag>
+ <flag name="headless">Build Ozone only with headless backend, NOT RECOMMENDED for general use.</flag>
<flag name="official">Enable Official build instead of Developer build.</flag>
<flag name="pax-kernel">Allow building on a PaX-enabled kernel</flag>
<flag name="pgo">Build with Profile Guided Optimizations (2-stage compilation)</flag>
@@ -22,7 +23,6 @@
<flag name="system-harfbuzz">Use system <pkg>media-libs/harfbuzz</pkg> instead of the bundled library.</flag>
<flag name="system-icu">Use system <pkg>dev-libs/icu</pkg> instead of the bundled one</flag>
<flag name="system-png">Use system <pkg>media-libs/libpng</pkg> instead of the bundled library</flag>
- <flag name="system-toolchain">Use system toolchain instead of the bundled one (if possible)</flag>
<flag name="system-zstd">Use system <pkg>app-arch/zstd</pkg> instead of the bundled one.</flag>
<flag name="widevine">Unsupported closed-source DRM capability (required by Netflix VOD)</flag>
</use>
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] proj/riscv:master commit in: www-client/chromium/files/, www-client/chromium/
@ 2025-02-13 8:53 Jakov Smolić
0 siblings, 0 replies; 7+ messages in thread
From: Jakov Smolić @ 2025-02-13 8:53 UTC (permalink / raw
To: gentoo-commits
commit: 3a61cec67ada6d76c190aead3a3120d427c0df59
Author: Andrew Cameron <apcameron <AT> gmail <DOT> com>
AuthorDate: Wed Feb 12 17:48:03 2025 +0000
Commit: Jakov Smolić <jsmolic <AT> gentoo <DOT> org>
CommitDate: Thu Feb 13 08:52:54 2025 +0000
URL: https://gitweb.gentoo.org/proj/riscv.git/commit/?id=3a61cec6
Update Chromium to 133.0.6943.53
Signed-off-by: Andrew Cameron <apcameron <AT> gmail.com>
Closes: https://github.com/gentoo/riscv/pull/24
Signed-off-by: Jakov Smolić <jsmolic <AT> gentoo.org>
www-client/chromium/Manifest | 8 +-
...34.159.ebuild => chromium-133.0.6943.53.ebuild} | 39 +-
www-client/chromium/files/libstdc++-fixup.patch | 160 ++---
www-client/chromium/files/riscv-ffmpeg.patch | 666 ++++++++++++++++++---
www-client/chromium/files/riscv-misc.patch | 50 +-
5 files changed, 664 insertions(+), 259 deletions(-)
diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index 0358160..9bf6d39 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -1,6 +1,6 @@
-DIST chromium-132.0.6834.159-linux-testdata.tar.xz 299714080 BLAKE2B e6b4691524548d4a316852d88e7f7893571c870375613686fd53503c79cdbf02a4aa2d4a64591ce5069704044031a3579cfab99e439cf2675c4bbbb6011a9f9c SHA512 b20c57e06195fc4a3e12d035d421801a64c3d7dee3ace760e3a8349fdfdbda4c52abcaf01cf0920d668683a7c89a949862b995dd96a98323de2b300ac6067718
-DIST chromium-132.0.6834.159-linux.tar.xz 2196432176 BLAKE2B ec797628558a62cd73b47979ecaac5ab50c3af01e6f0b2018a6783e2374f341e48681ff3975333a31d26af06d40e6af3051a123f29442eda1a9d63ef371aef30 SHA512 afe6e8df6a46401fe4d21e3d9e1f06f2bc1c680705b2d79206d933b0c7cad81a5045a46019d8e79bee3e16a57b83a5b9ff024dd570f9f7e29b1784088dd2f01b
-DIST chromium-openpower-c11b515d9a.tar.bz2 396039 BLAKE2B c05653e6bb62188c18864e783197853f4c41f88d1c928044a0ea0cb4677bc17806fac266ab100cbbcec3cb0d964bf2172917df95679927c1f1a88fa34aef4f53 SHA512 e9d9bbb2dd8d998060c78dfd5bbaedc548a8c44b442f6259304797326c585046144a6bb8aa4e24c44b3b56068189bee8a01267db2a392e90fd5603d06c0ef9ff
-DIST chromium-patches-132.tar.bz2 5040 BLAKE2B d5bd84dd90b395c6a15135637f51f931c72a2f301b1c24e9b938c744f2767fa36857b8edfdf5c44cf085a1efcb40475401fec226ce43446442f32fb174b55355 SHA512 29833b306a34ab6562ee58eb03669818da7235cd36666b27d829bcbd3c4d0035a530fb6be1c33cf88c1c11d43e68e3781f9b9602c0c004e7a37ffa69f9ee17c7
+DIST chromium-133.0.6943.53-linux-testdata.tar.xz 299288504 BLAKE2B 4ad9c3115b9e1b37ee49aef22d91af3df26b28f771b1aa217a1d7bdb3023608b3483bd98c0e77f9f2a22f7edd12fb6e63515225957555b93fabf0d0739439ec8 SHA512 517a1635baf033a00df5fff8aea22c1150b4ca97b6f9aebecfb0681c81f2708700a536a837c13bbd5ffa9938c7f32a0cc65ac648474df2613f15bedbffafaa11
+DIST chromium-133.0.6943.53-linux.tar.xz 2300503052 BLAKE2B 567e1e7f1722bc4ff118ac292ecfd59cf8d9380612ec8a36a65b8df84802d75042128f4b9b0366e4682e5d5c98981470df204fba8fc26a4d53d2d379d73421d1 SHA512 d7d0a7433190f15516950fbd4ccb5f13ab3f543388748d6c48f3d4b24a745c263b12ec56225259d93a697774ebc75b18cb4bc17cfd9e98e4c0f66df7a2eff4f8
+DIST chromium-openpower-a85b64f07b.tar.bz2 387899 BLAKE2B b01fda2d64ce73068d1536a10cc0896f07a4b714cdb25698b1df8b3252baa0c21c4209b307cf1cb554854f6d0bfe3cd35e06aaa8d02ac5d409a119335084c324 SHA512 05eee81677e8766808441c939bee68e2e6c58ec91f471d88a40181d2eda78614a0a6d27d92ff8f9dda564d12f3451bace4ff2727594748c5c238a3533038019b
+DIST chromium-patches-133-1.tar.bz2 10661 BLAKE2B c8a141bd10e628533e373b08969f95443eb6ae7f4497359db02f370147ac6132fbc31db28915ebdd9f150c13be78f06af938bd7dffdf2c23d90e1b9e07bd92ab SHA512 48a356872acc41c96c92366bd09de5a1c4af87fe4c480dccc7bd7a2aae5c3be8e6411151ed36303a127022001248bd25ef8305e83bd0d533660e3f11943af686
DIST chromium-profiler-0.2.tar 259952640 BLAKE2B 5e82389fce00b267280d633b26551231c558b80f0c92cd7d60271095a3503365ab673e7a46dc5f74f8a82db1f21262cb24dcc0531d954bab5fb3b175dab3394d SHA512 9fa89a5ab728419683e7495ae676567480987d68a2d589f2aa97bfcbcf123f3c8f97f8bca5f65e5e3f6e41475535add473ded83b9c7a33bb4746a9d05b298a6c
DIST chromium-testfonts-f26f29c9d3.tar.gz 32750602 BLAKE2B 498f8b2e0811c98dc3d4aaa75559e69c782afb4bd12328cfdb7244ddba5cae7ee47becd27b2549d7b36bed417601f70f4c192934b0f08496cef1547d0502d93c SHA512 96b090446862997c8134e2971f0e38793ecc1208d547e554c9b651ccfb4127c4de86754903fea57a7292a2823c45117bae0ec13ed87aed20c248fb779579fbde
diff --git a/www-client/chromium/chromium-132.0.6834.159.ebuild b/www-client/chromium/chromium-133.0.6943.53.ebuild
similarity index 98%
rename from www-client/chromium/chromium-132.0.6834.159.ebuild
rename to www-client/chromium/chromium-133.0.6943.53.ebuild
index 546079c..976f414 100644
--- a/www-client/chromium/chromium-132.0.6834.159.ebuild
+++ b/www-client/chromium/chromium-133.0.6943.53.ebuild
@@ -29,8 +29,8 @@ inherit python-any-r1 readme.gentoo-r1 rust systemd toolchain-funcs virtualx xdg
DESCRIPTION="Open-source version of Google Chrome web browser"
HOMEPAGE="https://www.chromium.org/"
-PPC64_HASH="c11b515d9addc3f8b516502e553ace507eb81815"
-PATCH_V="${PV%%\.*}"
+PPC64_HASH="a85b64f07b489b8c6fdb13ecf79c16c56c560fc6"
+PATCH_V="${PV%%\.*}-1"
SRC_URI="https://chromium-tarballs.distfiles.gentoo.org/${P}-linux.tar.xz
https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2
test? (
@@ -47,12 +47,12 @@ SLOT="0/stable"
# Dev exists mostly to give devs some breathing room for beta/stable releases;
# it shouldn't be keyworded but adventurous users can select it.
if [[ ${SLOT} != "0/dev" ]]; then
- KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+ KEYWORDS="~amd64 ~arm64 ~riscv"
fi
IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd"
IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo +proprietary-codecs pulseaudio"
-IUSE+=" qt6 +screencast selinux test +vaapi +wayland +widevine cpu_flags_ppc_vsx3"
+IUSE+=" qt6 +screencast selinux test +vaapi +wayland +widevine"
RESTRICT="
!bindist? ( bindist )
!test? ( test )
@@ -381,20 +381,20 @@ src_prepare() {
"${FILESDIR}/libstdc++-fixup.patch"
"${FILESDIR}/0001-chrome-runtime_api_delegate-add-riscv64-define.patch"
"${FILESDIR}/0001-extensions-common-api-runtime.json-riscv64-support.patch"
- "${FILESDIR}/0001-Enable-relocate-1-for-ff_h264_weight_funcs_8_rvv.patch"
)
+
shopt -s globstar nullglob
# 130: moved the PPC64 patches into the chromium-patches repo
local patch
for patch in "${WORKDIR}/chromium-patches-${PATCH_V}"/**/*.patch; do
- if [[ ${patch} == *"ppc64le"* ]]; then
- use ppc64 && PATCHES+=( "${patch}" )
- else
- PATCHES+=( "${patch}" )
- fi
+ if [[ ${patch} == *"ppc64le"* ]]; then
+ use ppc64 && PATCHES+=( "${patch}" )
+ else
+ PATCHES+=( "${patch}" )
+ fi
done
- shopt -u globstar nullglob
+ shopt -u globstar nullglob
# We can't use the bundled compiler builtins with the system toolchain
# `grep` is a development convenience to ensure we fail early when google changes something.
local builtins_match="if (is_clang && !is_nacl && !is_cronet_build) {"
@@ -406,7 +406,7 @@ src_prepare() {
# patch causes build errors on 4K page systems (https://bugs.gentoo.org/show_bug.cgi?id=940304)
local page_size_patch="ppc64le/third_party/use-sysconf-page-size-on-ppc64.patch"
local isa_3_patch="ppc64le/core/baseline-isa-3-0.patch"
- # Apply the OpenPOWER patches (check for page size and isa3.0)
+ # Apply the OpenPOWER patches (check for page size and isa 3.0)
openpower_patches=( $(grep -E "^ppc64le|^upstream" "${patchset_dir}/series" | grep -v "${page_size_patch}" |
grep -v "${isa_3_patch}" || die) )
for patch in "${openpower_patches[@]}"; do
@@ -550,6 +550,7 @@ src_prepare() {
third_party/fp16
third_party/freetype
third_party/fusejs
+ third_party/fuzztest
third_party/fxdiv
third_party/gemmlowp
third_party/google_input_tools
@@ -574,7 +575,6 @@ src_prepare() {
third_party/ipcz
third_party/jinja2
third_party/jsoncpp
- third_party/jstemplate
third_party/khronos
third_party/lens_server_proto
third_party/leveldatabase
@@ -587,7 +587,6 @@ src_prepare() {
third_party/libavif
third_party/libc++
third_party/libdrm
- third_party/libevent
third_party/libgav1
third_party/libjingle
third_party/libphonenumber
@@ -651,7 +650,6 @@ src_prepare() {
third_party/puffin
third_party/pyjson5
third_party/pyyaml
- third_party/qcms
third_party/rapidhash
third_party/re2
third_party/rnnoise
@@ -663,6 +661,7 @@ src_prepare() {
third_party/sentencepiece
third_party/sentencepiece/src/third_party/darts_clone
third_party/shell-encryption
+ third_party/simdutf
third_party/simplejson
third_party/six
third_party/skia
@@ -694,6 +693,7 @@ src_prepare() {
third_party/unrar
third_party/utf
third_party/vulkan
+ third_party/wasm_tts_engine
third_party/wayland
third_party/webdriver
third_party/webgpu-cts
@@ -714,12 +714,12 @@ src_prepare() {
third_party/zlib/google
third_party/zxcvbn-cpp
url/third_party/mozilla
- v8/src/third_party/siphash
- v8/src/third_party/utf8-decoder
- v8/src/third_party/valgrind
v8/third_party/glibc
v8/third_party/inspector_protocol
+ v8/third_party/siphash
+ v8/third_party/utf8-decoder
v8/third_party/v8
+ v8/third_party/valgrind
# gyp -> gn leftovers
third_party/speech-dispatcher
@@ -728,7 +728,7 @@ src_prepare() {
)
if use test; then
- # tar tvf /var/cache/distfiles/${P}-testdata.tar.xz | grep '^d' | grep 'third_party' | awk '{print $NF}'
+ # tar tvf /var/cache/distfiles/${P}-linux-testdata.tar.xz | grep '^d' | grep 'third_party' | awk '{print $NF}'
keeplibs+=(
third_party/breakpad/breakpad/src/processor
third_party/google_benchmark/src/include/benchmark
@@ -1316,6 +1316,7 @@ src_test() {
TestLauncherTools.TruncateSnippetFocusedMatchesFatalMessagesTest
ToolsSanityTest.BadVirtualCallNull
ToolsSanityTest.BadVirtualCallWrongType
+ CancelableEventTest.BothCancelFailureAndSucceedOccurUnderContention #new m133: TODO investigate
)
local test_filter="-$(IFS=:; printf '%s' "${skip_tests[*]}")"
# test-launcher-bot-mode enables parallelism and plain output
diff --git a/www-client/chromium/files/libstdc++-fixup.patch b/www-client/chromium/files/libstdc++-fixup.patch
index 9402ef3..c2f3c14 100644
--- a/www-client/chromium/files/libstdc++-fixup.patch
+++ b/www-client/chromium/files/libstdc++-fixup.patch
@@ -1,7 +1,7 @@
-Index: chromium-132.0.6834.83/chrome/browser/ui/lens/lens_overlay_request_id_generator.h
+ndex: chromium-133.0.6943.53/chrome/browser/ui/lens/lens_overlay_request_id_generator.h
===================================================================
---- chromium-132.0.6834.83.orig/chrome/browser/ui/lens/lens_overlay_request_id_generator.h
-+++ chromium-132.0.6834.83/chrome/browser/ui/lens/lens_overlay_request_id_generator.h
+--- chromium-133.0.6943.53.orig/chrome/browser/ui/lens/lens_overlay_request_id_generator.h
++++ chromium-133.0.6943.53/chrome/browser/ui/lens/lens_overlay_request_id_generator.h
@@ -5,6 +5,8 @@
#ifndef CHROME_BROWSER_UI_LENS_LENS_OVERLAY_REQUEST_ID_GENERATOR_H_
#define CHROME_BROWSER_UI_LENS_LENS_OVERLAY_REQUEST_ID_GENERATOR_H_
@@ -11,34 +11,22 @@ Index: chromium-132.0.6834.83/chrome/browser/ui/lens/lens_overlay_request_id_gen
#include "third_party/lens_server_proto/lens_overlay_routing_info.pb.h"
#include "third_party/lens_server_proto/lens_overlay_server.pb.h"
#include "third_party/lens_server_proto/lens_overlay_service_deps.pb.h"
-Index: chromium-132.0.6834.83/components/sync/service/local_data_description.h
+Index: chromium-133.0.6943.53/components/payments/content/payment_method_manifest_table.h
===================================================================
---- chromium-132.0.6834.83.orig/components/sync/service/local_data_description.h
-+++ chromium-132.0.6834.83/components/sync/service/local_data_description.h
+--- chromium-133.0.6943.53.orig/components/payments/content/payment_method_manifest_table.h
++++ chromium-133.0.6943.53/components/payments/content/payment_method_manifest_table.h
@@ -6,6 +6,7 @@
- #define COMPONENTS_SYNC_SERVICE_LOCAL_DATA_DESCRIPTION_H_
+ #define COMPONENTS_PAYMENTS_CONTENT_PAYMENT_METHOD_MANIFEST_TABLE_H_
+ #include <memory>
++#include <optional>
#include <string>
-+#include <variant>
#include <vector>
- #include "components/sync/base/data_type.h"
-Index: chromium-132.0.6834.83/components/variations/limited_layer_entropy_cost_tracker.h
-===================================================================
---- chromium-132.0.6834.83.orig/components/variations/limited_layer_entropy_cost_tracker.h
-+++ chromium-132.0.6834.83/components/variations/limited_layer_entropy_cost_tracker.h
-@@ -5,6 +5,7 @@
- #ifndef COMPONENTS_VARIATIONS_LIMITED_LAYER_ENTROPY_COST_TRACKER_H_
- #define COMPONENTS_VARIATIONS_LIMITED_LAYER_ENTROPY_COST_TRACKER_H_
-
-+#include <cstdint>
- #include <map>
- #include <set>
-
-Index: chromium-132.0.6834.83/components/viz/service/display/surface_aggregator.h
+Index: chromium-133.0.6943.53/components/viz/service/display/surface_aggregator.h
===================================================================
---- chromium-132.0.6834.83.orig/components/viz/service/display/surface_aggregator.h
-+++ chromium-132.0.6834.83/components/viz/service/display/surface_aggregator.h
+--- chromium-133.0.6943.53.orig/components/viz/service/display/surface_aggregator.h
++++ chromium-133.0.6943.53/components/viz/service/display/surface_aggregator.h
@@ -132,13 +132,18 @@ class VIZ_SERVICE_EXPORT SurfaceAggregat
struct PrewalkResult;
@@ -62,11 +50,11 @@ Index: chromium-132.0.6834.83/components/viz/service/display/surface_aggregator.
base::TimeDelta prewalk_time;
base::TimeDelta copy_time;
-Index: chromium-132.0.6834.83/gpu/command_buffer/service/shared_image/shared_image_backing.h
+Index: chromium-133.0.6943.53/gpu/command_buffer/service/shared_image/shared_image_backing.h
===================================================================
---- chromium-132.0.6834.83.orig/gpu/command_buffer/service/shared_image/shared_image_backing.h
-+++ chromium-132.0.6834.83/gpu/command_buffer/service/shared_image/shared_image_backing.h
-@@ -389,7 +389,7 @@ class GPU_GLES2_EXPORT SharedImageBackin
+--- chromium-133.0.6943.53.orig/gpu/command_buffer/service/shared_image/shared_image_backing.h
++++ chromium-133.0.6943.53/gpu/command_buffer/service/shared_image/shared_image_backing.h
+@@ -394,7 +394,7 @@ class GPU_GLES2_EXPORT SharedImageBackin
private:
class ScopedWriteUMA {
public:
@@ -75,7 +63,7 @@ Index: chromium-132.0.6834.83/gpu/command_buffer/service/shared_image/shared_ima
ScopedWriteUMA(const ScopedWriteUMA&) = delete;
ScopedWriteUMA& operator=(const ScopedWriteUMA&) = delete;
-@@ -403,7 +403,7 @@ class GPU_GLES2_EXPORT SharedImageBackin
+@@ -408,7 +408,7 @@ class GPU_GLES2_EXPORT SharedImageBackin
void SetConsumed() { content_consumed_ = true; }
private:
@@ -84,10 +72,10 @@ Index: chromium-132.0.6834.83/gpu/command_buffer/service/shared_image/shared_ima
};
const Mailbox mailbox_;
-Index: chromium-132.0.6834.83/mojo/public/cpp/bindings/lib/multiplex_router.h
+Index: chromium-133.0.6943.53/mojo/public/cpp/bindings/lib/multiplex_router.h
===================================================================
---- chromium-132.0.6834.83.orig/mojo/public/cpp/bindings/lib/multiplex_router.h
-+++ chromium-132.0.6834.83/mojo/public/cpp/bindings/lib/multiplex_router.h
+--- chromium-133.0.6943.53.orig/mojo/public/cpp/bindings/lib/multiplex_router.h
++++ chromium-133.0.6943.53/mojo/public/cpp/bindings/lib/multiplex_router.h
@@ -315,8 +315,9 @@ class COMPONENT_EXPORT(MOJO_CPP_BINDINGS
// are not managed by the MultiplexRouter and thus are not relevant here.
struct ExclusiveSyncWaitInfo {
@@ -100,11 +88,31 @@ Index: chromium-132.0.6834.83/mojo/public/cpp/bindings/lib/multiplex_router.h
};
std::optional<ExclusiveSyncWaitInfo> exclusive_sync_wait_;
-Index: chromium-132.0.6834.83/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.h
+Index: chromium-133.0.6943.53/third_party/blink/renderer/core/layout/inline/line_breaker.h
===================================================================
---- chromium-132.0.6834.83.orig/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.h
-+++ chromium-132.0.6834.83/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.h
-@@ -885,8 +885,9 @@ class CORE_EXPORT PaintLayerScrollableAr
+--- chromium-133.0.6943.53.orig/third_party/blink/renderer/core/layout/inline/line_breaker.h
++++ chromium-133.0.6943.53/third_party/blink/renderer/core/layout/inline/line_breaker.h
+@@ -445,9 +445,12 @@ class CORE_EXPORT LineBreaker {
+ STACK_ALLOCATED();
+
+ public:
+- InlineItemResults* item_results = nullptr;
+- wtf_size_t item_result_index = WTF::kNotFound;
+- const ShapeResultView* collapsed_shape_result = nullptr;
++ TrailingCollapsibleSpace()
++ : item_results(nullptr), item_result_index(WTF::kNotFound),
++ collapsed_shape_result(nullptr) {}
++ InlineItemResults* item_results;
++ wtf_size_t item_result_index;
++ const ShapeResultView* collapsed_shape_result;
+ // Ancestors of `item_result`. ancestor_ruby_columns[0] is the parent of
+ // `item_result`, and ancestor_ruby_columns[n+1] is the parent of
+ // ancestor_ruby_columns[n]. This list is empty if `item_result` is not
+Index: chromium-133.0.6943.53/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.h
+===================================================================
+--- chromium-133.0.6943.53.orig/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.h
++++ chromium-133.0.6943.53/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.h
+@@ -888,8 +888,9 @@ class CORE_EXPORT PaintLayerScrollableAr
struct PendingViewState {
HistoryItem::ViewState state;
@@ -116,10 +124,10 @@ Index: chromium-132.0.6834.83/third_party/blink/renderer/core/paint/paint_layer_
};
std::optional<PendingViewState> pending_view_state_;
};
-Index: chromium-132.0.6834.83/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.h
+Index: chromium-133.0.6943.53/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.h
===================================================================
---- chromium-132.0.6834.83.orig/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.h
-+++ chromium-132.0.6834.83/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.h
+--- chromium-133.0.6943.53.orig/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.h
++++ chromium-133.0.6943.53/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.h
@@ -51,7 +51,8 @@ class MediaControlTimelineElement : publ
// Struct used to track the current live time.
struct LiveAnchorTime {
@@ -130,64 +138,10 @@ Index: chromium-132.0.6834.83/third_party/blink/renderer/modules/media_controls/
};
void DefaultEventHandler(Event&) override;
-Index: chromium-132.0.6834.83/third_party/ink/src/ink/brush/brush_paint.cc
-===================================================================
---- chromium-132.0.6834.83.orig/third_party/ink/src/ink/brush/brush_paint.cc
-+++ chromium-132.0.6834.83/third_party/ink/src/ink/brush/brush_paint.cc
-@@ -84,7 +84,7 @@ absl::Status ValidateBrushPaintTextureKe
- keyframe.progress));
- }
- if (keyframe.size.has_value()) {
-- if (!isfinite(keyframe.size->x) || !isfinite(keyframe.size->y) ||
-+ if (!std::isfinite(keyframe.size->x) || !std::isfinite(keyframe.size->y) ||
- keyframe.size->x <= 0 || keyframe.size->y <= 0) {
- return absl::InvalidArgumentError(
- absl::StrFormat("`BrushPaint::TextureKeyframe::size` components must "
-@@ -102,7 +102,7 @@ absl::Status ValidateBrushPaintTextureKe
- }
- }
- if (keyframe.rotation.has_value()) {
-- if (!isfinite(keyframe.rotation->ValueInRadians())) {
-+ if (!std::isfinite(keyframe.rotation->ValueInRadians())) {
- return absl::InvalidArgumentError(
- absl::StrFormat("`BrushPaint::TextureKeyframe::rotation` must be "
- "finite. Got %v",
-@@ -159,7 +159,7 @@ absl::Status ValidateBrushPaintTextureLa
- "interval [0, 1]. Got %v",
- layer.offset));
- }
-- if (!isfinite(layer.rotation.ValueInRadians())) {
-+ if (!std::isfinite(layer.rotation.ValueInRadians())) {
- return absl::InvalidArgumentError(
- absl::StrFormat("`BrushPaint::TextureLayer::rotation` must be finite. "
- "Got %v",
-@@ -179,7 +179,7 @@ absl::Status ValidateBrushPaintTextureLa
- "interval [0, 1]. Got %v",
- layer.offset_jitter));
- }
-- if (!isfinite(layer.rotation_jitter.ValueInRadians())) {
-+ if (!std::isfinite(layer.rotation_jitter.ValueInRadians())) {
- return absl::InvalidArgumentError(absl::StrFormat(
- "`BrushPaint::TextureLayer::rotation_jitter` must be finite. "
- "Got %v",
-Index: chromium-132.0.6834.83/third_party/ruy/src/ruy/profiler/instrumentation.h
-===================================================================
---- chromium-132.0.6834.83.orig/third_party/ruy/src/ruy/profiler/instrumentation.h
-+++ chromium-132.0.6834.83/third_party/ruy/src/ruy/profiler/instrumentation.h
-@@ -18,7 +18,9 @@ limitations under the License.
-
- #ifdef RUY_PROFILER
- #include <cstdio>
-+#include <cstdlib>
- #include <mutex>
-+#include <string>
- #include <vector>
- #endif
-
-Index: chromium-132.0.6834.83/third_party/webrtc/call/rtp_config.h
+Index: chromium-133.0.6943.53/third_party/webrtc/call/rtp_config.h
===================================================================
---- chromium-132.0.6834.83.orig/third_party/webrtc/call/rtp_config.h
-+++ chromium-132.0.6834.83/third_party/webrtc/call/rtp_config.h
+--- chromium-133.0.6943.53.orig/third_party/webrtc/call/rtp_config.h
++++ chromium-133.0.6943.53/third_party/webrtc/call/rtp_config.h
@@ -79,10 +79,12 @@ struct RtpStreamConfig {
struct Rtx {
std::string ToString() const;
@@ -203,17 +157,5 @@ Index: chromium-132.0.6834.83/third_party/webrtc/call/rtp_config.h
};
std::optional<Rtx> rtx;
};
-Index: chromium-132.0.6834.83/third_party/webrtc/rtc_base/ssl_stream_adapter.h
-===================================================================
---- chromium-132.0.6834.83.orig/third_party/webrtc/rtc_base/ssl_stream_adapter.h
-+++ chromium-132.0.6834.83/third_party/webrtc/rtc_base/ssl_stream_adapter.h
-@@ -15,6 +15,7 @@
- #include <stdint.h>
-
- #include <memory>
-+#include <optional>
- #include <string>
- #include <vector>
-
-
+
diff --git a/www-client/chromium/files/riscv-ffmpeg.patch b/www-client/chromium/files/riscv-ffmpeg.patch
index 124abfe..c7a1059 100644
--- a/www-client/chromium/files/riscv-ffmpeg.patch
+++ b/www-client/chromium/files/riscv-ffmpeg.patch
@@ -1,6 +1,6 @@
diff '--color=auto' -Naur a/third_party/ffmpeg/CREDITS.chromium b/third_party/ffmpeg/CREDITS.chromium
---- a/third_party/ffmpeg/CREDITS.chromium 2024-12-18 22:01:41.000000000 +0000
-+++ b/third_party/ffmpeg/CREDITS.chromium 2025-01-14 12:35:22.000000000 +0000
+--- a/third_party/ffmpeg/CREDITS.chromium 2025-02-03 19:02:21.000000000 +0000
++++ b/third_party/ffmpeg/CREDITS.chromium 2025-02-07 10:57:59.000000000 +0000
@@ -131,6 +131,181 @@
********************************************************************************
@@ -215,10 +215,243 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/CREDITS.chromium b/third_party/ff
libavcodec/mips/compute_antialias_fixed.h
libavcodec/mips/compute_antialias_float.h
libavutil/fixed_dsp.c
+diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/ios/arm64/config.h b/third_party/ffmpeg/chromium/config/Chrome/ios/arm64/config.h
+--- a/third_party/ffmpeg/chromium/config/Chrome/ios/arm64/config.h 2025-02-03 19:02:21.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chrome/ios/arm64/config.h 2025-02-07 10:58:55.000000000 +0000
+@@ -1,12 +1,12 @@
+ /* Automatically generated by configure - do not modify! */
+ #ifndef FFMPEG_CONFIG_H
+ #define FFMPEG_CONFIG_H
+-/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/usr/local/google/home/ezemtsov/projects/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-pic --cc=clang --cxx=clang++ --ld=cla
ng --enable-cross-compile --cc=clang --ld=ld64.lld --nm=llvm-nm --ar=llvm-ar --target-os=darwin --extra-cflags='--target=arm64-apple-macosx' --extra-cflags=-F/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks --extra-cflags='-mmacosx-version-min=10.10' --extra-cflags=-fblocks --extra-cflags=-nostdinc --extra-cflags=-isystem/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include --extra-cflags=-isystem/usr/local/google/home/ezemtsov/projects/chromium/src/third_party/llvm-build/Release+Asserts/lib/clang/20/include --extra-ldflags=-syslibroot --extra-ldflags=/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk --extra-ldflags=-L/usr/local/google/
home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib --extra-ldflags=-lSystem --extra-ldflags=-macosx_version_min --extra-ldflags=10.10 --extra-ldflags=-sdk_version --extra-ldflags=10.10 --extra-ldflags=-platform_version --extra-ldflags=macos --extra-ldflags=10.10 --extra-ldflags=10.10 --arch=arm64 --extra-cflags='-arch arm64' --extra-ldflags='-arch arm64' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
++/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-pic --cc=clang --cxx=clang++ --ld=clang --enable-cross-compile --cc=clang --l
d=ld64.lld --nm=llvm-nm --ar=llvm-ar --target-os=darwin --extra-cflags='--target=arm64-apple-macosx' --extra-cflags=-F/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks --extra-cflags='-mmacosx-version-min=10.10' --extra-cflags=-fblocks --extra-cflags=-nostdinc --extra-cflags=-isystem/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include --extra-cflags=-isystem/chromium/src/third_party/llvm-build/Release+Asserts/lib/clang/20/include --extra-ldflags=-syslibroot --extra-ldflags=/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk --extra-ldflags=-L/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib --extra-ldflags=-lSystem --extra-ldflags=-macosx_version_min --extra-ldflags=10.10 --extra-ldf
lags=-sdk_version --extra-ldflags=10.10 --extra-ldflags=-platform_version --extra-ldflags=macos --extra-ldflags=10.10 --extra-ldflags=10.10 --arch=arm64 --extra-cflags='-arch arm64' --extra-ldflags='-arch arm64' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
+ #define FFMPEG_LICENSE "LGPL version 2.1 or later"
+ #define CONFIG_THIS_YEAR 2024
+ #define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
+ #define AVCONV_DATADIR "/usr/local/share/ffmpeg"
+-#define CC_IDENT "clang version 20.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project 923566a67de39a00eb6fc5cabbad307a72aa338e)"
++#define CC_IDENT "clang version 20.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project 8cb44859cc31929521c09fc6a8add66d53db44de)"
+ #define OS_NAME darwin
+ #define EXTERN_PREFIX "_"
+ #define EXTERN_ASM _
+@@ -32,6 +32,7 @@
+ #define ARCH_SPARC64 0
+ #define ARCH_TILEGX 0
+ #define ARCH_TILEPRO 0
++#define ARCH_WASM 0
+ #define ARCH_X86 0
+ #define ARCH_X86_32 0
+ #define ARCH_X86_64 0
+@@ -57,6 +58,7 @@
+ #define HAVE_RVV 0
+ #define HAVE_RV_ZICBOP 1
+ #define HAVE_RV_ZVBB 0
++#define HAVE_SIMD128 0
+ #define HAVE_AESNI 0
+ #define HAVE_AMD3DNOW 0
+ #define HAVE_AMD3DNOWEXT 0
+@@ -112,6 +114,7 @@
+ #define HAVE_RVV_EXTERNAL 0
+ #define HAVE_RV_ZICBOP_EXTERNAL 0
+ #define HAVE_RV_ZVBB_EXTERNAL 0
++#define HAVE_SIMD128_EXTERNAL 0
+ #define HAVE_AESNI_EXTERNAL 0
+ #define HAVE_AMD3DNOW_EXTERNAL 0
+ #define HAVE_AMD3DNOWEXT_EXTERNAL 0
+@@ -167,6 +170,7 @@
+ #define HAVE_RVV_INLINE 0
+ #define HAVE_RV_ZICBOP_INLINE 0
+ #define HAVE_RV_ZVBB_INLINE 0
++#define HAVE_SIMD128_INLINE 0
+ #define HAVE_AESNI_INLINE 0
+ #define HAVE_AMD3DNOW_INLINE 0
+ #define HAVE_AMD3DNOWEXT_INLINE 0
+@@ -205,7 +209,6 @@
+ #define HAVE_FAST_CLZ 1
+ #define HAVE_FAST_CMOV 0
+ #define HAVE_FAST_FLOAT16 1
+-#define HAVE_LOCAL_ALIGNED 0
+ #define HAVE_SIMD_ALIGN_16 1
+ #define HAVE_SIMD_ALIGN_32 0
+ #define HAVE_SIMD_ALIGN_64 0
+diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/ios/arm64/config_components.h b/third_party/ffmpeg/chromium/config/Chrome/ios/arm64/config_components.h
+--- a/third_party/ffmpeg/chromium/config/Chrome/ios/arm64/config_components.h 2025-02-03 19:02:21.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chrome/ios/arm64/config_components.h 2025-02-07 10:58:55.000000000 +0000
+@@ -243,6 +243,7 @@
+ #define CONFIG_RV20_DECODER 0
+ #define CONFIG_RV30_DECODER 0
+ #define CONFIG_RV40_DECODER 0
++#define CONFIG_RV60_DECODER 0
+ #define CONFIG_S302M_DECODER 0
+ #define CONFIG_SANM_DECODER 0
+ #define CONFIG_SCPR_DECODER 0
+@@ -650,6 +651,7 @@
+ #define CONFIG_DXV_ENCODER 0
+ #define CONFIG_EXR_ENCODER 0
+ #define CONFIG_FFV1_ENCODER 0
++#define CONFIG_FFV1_VULKAN_ENCODER 0
+ #define CONFIG_FFVHUFF_ENCODER 0
+ #define CONFIG_FITS_ENCODER 0
+ #define CONFIG_FLASHSV_ENCODER 0
+@@ -956,6 +958,7 @@
+ #define CONFIG_VP9_VAAPI_HWACCEL 0
+ #define CONFIG_VP9_VDPAU_HWACCEL 0
+ #define CONFIG_VP9_VIDEOTOOLBOX_HWACCEL 0
++#define CONFIG_VVC_VAAPI_HWACCEL 0
+ #define CONFIG_WMV3_D3D11VA_HWACCEL 0
+ #define CONFIG_WMV3_D3D11VA2_HWACCEL 0
+ #define CONFIG_WMV3_D3D12VA_HWACCEL 0
+diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/ios/arm64/libavutil/ffversion.h b/third_party/ffmpeg/chromium/config/Chrome/ios/arm64/libavutil/ffversion.h
+--- a/third_party/ffmpeg/chromium/config/Chrome/ios/arm64/libavutil/ffversion.h 2025-02-03 19:02:21.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chrome/ios/arm64/libavutil/ffversion.h 2025-02-07 10:58:55.000000000 +0000
+@@ -1,5 +1,5 @@
+ /* Automatically generated by version.sh, do not manually edit! */
+ #ifndef AVUTIL_FFVERSION_H
+ #define AVUTIL_FFVERSION_H
+-#define FFMPEG_VERSION "N-118887-g99f17d50d3"
++#define FFMPEG_VERSION "N-119293-g19beff4292"
+ #endif /* AVUTIL_FFVERSION_H */
+diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/ios/x64/config.asm b/third_party/ffmpeg/chromium/config/Chrome/ios/x64/config.asm
+--- a/third_party/ffmpeg/chromium/config/Chrome/ios/x64/config.asm 2025-02-03 19:02:21.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chrome/ios/x64/config.asm 2025-02-07 10:58:55.000000000 +0000
+@@ -17,6 +17,7 @@
+ %define ARCH_SPARC64 0
+ %define ARCH_TILEGX 0
+ %define ARCH_TILEPRO 0
++%define ARCH_WASM 0
+ %define ARCH_X86 1
+ %define ARCH_X86_32 0
+ %define ARCH_X86_64 1
+@@ -42,6 +43,7 @@
+ %define HAVE_RVV 0
+ %define HAVE_RV_ZICBOP 1
+ %define HAVE_RV_ZVBB 0
++%define HAVE_SIMD128 0
+ %define HAVE_AESNI 1
+ %define HAVE_AMD3DNOW 1
+ %define HAVE_AMD3DNOWEXT 1
+@@ -97,6 +99,7 @@
+ %define HAVE_RVV_EXTERNAL 0
+ %define HAVE_RV_ZICBOP_EXTERNAL 0
+ %define HAVE_RV_ZVBB_EXTERNAL 0
++%define HAVE_SIMD128_EXTERNAL 0
+ %define HAVE_AESNI_EXTERNAL 1
+ %define HAVE_AMD3DNOW_EXTERNAL 1
+ %define HAVE_AMD3DNOWEXT_EXTERNAL 1
+@@ -152,6 +155,7 @@
+ %define HAVE_RVV_INLINE 0
+ %define HAVE_RV_ZICBOP_INLINE 0
+ %define HAVE_RV_ZVBB_INLINE 0
++%define HAVE_SIMD128_INLINE 0
+ %define HAVE_AESNI_INLINE 1
+ %define HAVE_AMD3DNOW_INLINE 1
+ %define HAVE_AMD3DNOWEXT_INLINE 1
+@@ -190,7 +194,6 @@
+ %define HAVE_FAST_CLZ 1
+ %define HAVE_FAST_CMOV 1
+ %define HAVE_FAST_FLOAT16 0
+-%define HAVE_LOCAL_ALIGNED 1
+ %define HAVE_SIMD_ALIGN_16 1
+ %define HAVE_SIMD_ALIGN_32 1
+ %define HAVE_SIMD_ALIGN_64 1
+diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/ios/x64/config.h b/third_party/ffmpeg/chromium/config/Chrome/ios/x64/config.h
+--- a/third_party/ffmpeg/chromium/config/Chrome/ios/x64/config.h 2025-02-03 19:02:21.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chrome/ios/x64/config.h 2025-02-07 10:58:55.000000000 +0000
+@@ -1,12 +1,12 @@
+ /* Automatically generated by configure - do not modify! */
+ #ifndef FFMPEG_CONFIG_H
+ #define FFMPEG_CONFIG_H
+-/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/usr/local/google/home/ezemtsov/projects/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-pic --cc=clang --cxx=clang++ --ld=cla
ng --enable-cross-compile --cc=clang --ld=ld64.lld --nm=llvm-nm --ar=llvm-ar --target-os=darwin --extra-cflags='--target=x86_64-apple-macosx' --extra-cflags=-F/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks --extra-cflags='-mmacosx-version-min=10.10' --extra-cflags=-fblocks --extra-cflags=-nostdinc --extra-cflags=-isystem/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include --extra-cflags=-isystem/usr/local/google/home/ezemtsov/projects/chromium/src/third_party/llvm-build/Release+Asserts/lib/clang/20/include --extra-ldflags=-syslibroot --extra-ldflags=/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk --extra-ldflags=-L/usr/local/google
/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib --extra-ldflags=-lSystem --extra-ldflags=-macosx_version_min --extra-ldflags=10.10 --extra-ldflags=-sdk_version --extra-ldflags=10.10 --extra-ldflags=-platform_version --extra-ldflags=macos --extra-ldflags=10.10 --extra-ldflags=10.10 --arch=x86_64 --extra-cflags=-m64 --extra-ldflags='-arch x86_64' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
++/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-pic --cc=clang --cxx=clang++ --ld=clang --enable-cross-compile --cc=clang --l
d=ld64.lld --nm=llvm-nm --ar=llvm-ar --target-os=darwin --extra-cflags='--target=x86_64-apple-macosx' --extra-cflags=-F/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks --extra-cflags='-mmacosx-version-min=10.10' --extra-cflags=-fblocks --extra-cflags=-nostdinc --extra-cflags=-isystem/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include --extra-cflags=-isystem/chromium/src/third_party/llvm-build/Release+Asserts/lib/clang/20/include --extra-ldflags=-syslibroot --extra-ldflags=/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk --extra-ldflags=-L/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib --extra-ldflags=-lSystem --extra-ldflags=-macosx_version_min --extra-ldflags=10.10 --extra-ld
flags=-sdk_version --extra-ldflags=10.10 --extra-ldflags=-platform_version --extra-ldflags=macos --extra-ldflags=10.10 --extra-ldflags=10.10 --arch=x86_64 --extra-cflags=-m64 --extra-ldflags='-arch x86_64' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
+ #define FFMPEG_LICENSE "LGPL version 2.1 or later"
+ #define CONFIG_THIS_YEAR 2024
+ #define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
+ #define AVCONV_DATADIR "/usr/local/share/ffmpeg"
+-#define CC_IDENT "clang version 20.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project 923566a67de39a00eb6fc5cabbad307a72aa338e)"
++#define CC_IDENT "clang version 20.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project 8cb44859cc31929521c09fc6a8add66d53db44de)"
+ #define OS_NAME darwin
+ #define EXTERN_PREFIX "_"
+ #define EXTERN_ASM _
+@@ -31,6 +31,7 @@
+ #define ARCH_SPARC64 0
+ #define ARCH_TILEGX 0
+ #define ARCH_TILEPRO 0
++#define ARCH_WASM 0
+ #define ARCH_X86 1
+ #define ARCH_X86_32 0
+ #define ARCH_X86_64 1
+@@ -56,6 +57,7 @@
+ #define HAVE_RVV 0
+ #define HAVE_RV_ZICBOP 1
+ #define HAVE_RV_ZVBB 0
++#define HAVE_SIMD128 0
+ #define HAVE_AESNI 1
+ #define HAVE_AMD3DNOW 1
+ #define HAVE_AMD3DNOWEXT 1
+@@ -111,6 +113,7 @@
+ #define HAVE_RVV_EXTERNAL 0
+ #define HAVE_RV_ZICBOP_EXTERNAL 0
+ #define HAVE_RV_ZVBB_EXTERNAL 0
++#define HAVE_SIMD128_EXTERNAL 0
+ #define HAVE_AESNI_EXTERNAL 1
+ #define HAVE_AMD3DNOW_EXTERNAL 1
+ #define HAVE_AMD3DNOWEXT_EXTERNAL 1
+@@ -166,6 +169,7 @@
+ #define HAVE_RVV_INLINE 0
+ #define HAVE_RV_ZICBOP_INLINE 0
+ #define HAVE_RV_ZVBB_INLINE 0
++#define HAVE_SIMD128_INLINE 0
+ #define HAVE_AESNI_INLINE 1
+ #define HAVE_AMD3DNOW_INLINE 1
+ #define HAVE_AMD3DNOWEXT_INLINE 1
+@@ -204,7 +208,6 @@
+ #define HAVE_FAST_CLZ 1
+ #define HAVE_FAST_CMOV 1
+ #define HAVE_FAST_FLOAT16 0
+-#define HAVE_LOCAL_ALIGNED 1
+ #define HAVE_SIMD_ALIGN_16 1
+ #define HAVE_SIMD_ALIGN_32 1
+ #define HAVE_SIMD_ALIGN_64 1
+diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/ios/x64/config_components.h b/third_party/ffmpeg/chromium/config/Chrome/ios/x64/config_components.h
+--- a/third_party/ffmpeg/chromium/config/Chrome/ios/x64/config_components.h 2025-02-03 19:02:21.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chrome/ios/x64/config_components.h 2025-02-07 10:58:55.000000000 +0000
+@@ -243,6 +243,7 @@
+ #define CONFIG_RV20_DECODER 0
+ #define CONFIG_RV30_DECODER 0
+ #define CONFIG_RV40_DECODER 0
++#define CONFIG_RV60_DECODER 0
+ #define CONFIG_S302M_DECODER 0
+ #define CONFIG_SANM_DECODER 0
+ #define CONFIG_SCPR_DECODER 0
+@@ -650,6 +651,7 @@
+ #define CONFIG_DXV_ENCODER 0
+ #define CONFIG_EXR_ENCODER 0
+ #define CONFIG_FFV1_ENCODER 0
++#define CONFIG_FFV1_VULKAN_ENCODER 0
+ #define CONFIG_FFVHUFF_ENCODER 0
+ #define CONFIG_FITS_ENCODER 0
+ #define CONFIG_FLASHSV_ENCODER 0
+@@ -956,6 +958,7 @@
+ #define CONFIG_VP9_VAAPI_HWACCEL 0
+ #define CONFIG_VP9_VDPAU_HWACCEL 0
+ #define CONFIG_VP9_VIDEOTOOLBOX_HWACCEL 0
++#define CONFIG_VVC_VAAPI_HWACCEL 0
+ #define CONFIG_WMV3_D3D11VA_HWACCEL 0
+ #define CONFIG_WMV3_D3D11VA2_HWACCEL 0
+ #define CONFIG_WMV3_D3D12VA_HWACCEL 0
+diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/ios/x64/libavutil/ffversion.h b/third_party/ffmpeg/chromium/config/Chrome/ios/x64/libavutil/ffversion.h
+--- a/third_party/ffmpeg/chromium/config/Chrome/ios/x64/libavutil/ffversion.h 2025-02-03 19:02:21.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chrome/ios/x64/libavutil/ffversion.h 2025-02-07 10:58:55.000000000 +0000
+@@ -1,5 +1,5 @@
+ /* Automatically generated by version.sh, do not manually edit! */
+ #ifndef AVUTIL_FFVERSION_H
+ #define AVUTIL_FFVERSION_H
+-#define FFMPEG_VERSION "N-118887-g99f17d50d3"
++#define FFMPEG_VERSION "N-119293-g19beff4292"
+ #endif /* AVUTIL_FFVERSION_H */
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h 2025-01-14 12:35:46.000000000 +0000
-@@ -0,0 +1,793 @@
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h 2025-02-07 10:58:54.000000000 +0000
+@@ -0,0 +1,796 @@
+/* Automatically generated by configure - do not modify! */
+#ifndef FFMPEG_CONFIG_H
+#define FFMPEG_CONFIG_H
@@ -227,7 +460,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define CONFIG_THIS_YEAR 2024
+#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
+#define AVCONV_DATADIR "/usr/local/share/ffmpeg"
-+#define CC_IDENT "clang version 20.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project b81d8e90339a788cc6cb148831612c6b39b93ad5)"
++#define CC_IDENT "clang version 20.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project 091448e3c17bc8e7812dd7b571c852576d648977)"
+#define OS_NAME linux
+#define EXTERN_PREFIX ""
+#define EXTERN_ASM
@@ -252,6 +485,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define ARCH_SPARC64 0
+#define ARCH_TILEGX 0
+#define ARCH_TILEPRO 0
++#define ARCH_WASM 0
+#define ARCH_X86 0
+#define ARCH_X86_32 0
+#define ARCH_X86_64 0
@@ -276,7 +510,8 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define HAVE_RV 1
+#define HAVE_RVV 1
+#define HAVE_RV_ZICBOP 1
-+#define HAVE_RV_ZVBB 0
++#define HAVE_RV_ZVBB 1
++#define HAVE_SIMD128 0
+#define HAVE_AESNI 0
+#define HAVE_AMD3DNOW 0
+#define HAVE_AMD3DNOWEXT 0
@@ -332,6 +567,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define HAVE_RVV_EXTERNAL 0
+#define HAVE_RV_ZICBOP_EXTERNAL 0
+#define HAVE_RV_ZVBB_EXTERNAL 0
++#define HAVE_SIMD128_EXTERNAL 0
+#define HAVE_AESNI_EXTERNAL 0
+#define HAVE_AMD3DNOW_EXTERNAL 0
+#define HAVE_AMD3DNOWEXT_EXTERNAL 0
@@ -387,6 +623,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define HAVE_RVV_INLINE 0
+#define HAVE_RV_ZICBOP_INLINE 0
+#define HAVE_RV_ZVBB_INLINE 0
++#define HAVE_SIMD128_INLINE 0
+#define HAVE_AESNI_INLINE 0
+#define HAVE_AMD3DNOW_INLINE 0
+#define HAVE_AMD3DNOWEXT_INLINE 0
@@ -425,7 +662,6 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define HAVE_FAST_CLZ 0
+#define HAVE_FAST_CMOV 0
+#define HAVE_FAST_FLOAT16 0
-+#define HAVE_LOCAL_ALIGNED 0
+#define HAVE_SIMD_ALIGN_16 0
+#define HAVE_SIMD_ALIGN_32 0
+#define HAVE_SIMD_ALIGN_64 0
@@ -1014,8 +1250,8 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#endif /* FFMPEG_CONFIG_H */
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_components.h b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_components.h
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_components.h 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_components.h 2025-01-14 12:35:46.000000000 +0000
-@@ -0,0 +1,2234 @@
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_components.h 2025-02-07 10:58:54.000000000 +0000
+@@ -0,0 +1,2237 @@
+/* Automatically generated by configure - do not modify! */
+#ifndef FFMPEG_CONFIG_COMPONENTS_H
+#define FFMPEG_CONFIG_COMPONENTS_H
@@ -1261,6 +1497,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define CONFIG_RV20_DECODER 0
+#define CONFIG_RV30_DECODER 0
+#define CONFIG_RV40_DECODER 0
++#define CONFIG_RV60_DECODER 0
+#define CONFIG_S302M_DECODER 0
+#define CONFIG_SANM_DECODER 0
+#define CONFIG_SCPR_DECODER 0
@@ -1668,6 +1905,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define CONFIG_DXV_ENCODER 0
+#define CONFIG_EXR_ENCODER 0
+#define CONFIG_FFV1_ENCODER 0
++#define CONFIG_FFV1_VULKAN_ENCODER 0
+#define CONFIG_FFVHUFF_ENCODER 0
+#define CONFIG_FITS_ENCODER 0
+#define CONFIG_FLASHSV_ENCODER 0
@@ -1974,6 +2212,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#define CONFIG_VP9_VAAPI_HWACCEL 0
+#define CONFIG_VP9_VDPAU_HWACCEL 0
+#define CONFIG_VP9_VIDEOTOOLBOX_HWACCEL 0
++#define CONFIG_VVC_VAAPI_HWACCEL 0
+#define CONFIG_WMV3_D3D11VA_HWACCEL 0
+#define CONFIG_WMV3_D3D11VA2_HWACCEL 0
+#define CONFIG_WMV3_D3D12VA_HWACCEL 0
@@ -3252,13 +3491,13 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#endif /* FFMPEG_CONFIG_COMPONENTS_H */
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/bsf_list.c b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/bsf_list.c
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/bsf_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/bsf_list.c 2025-01-14 12:35:46.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/bsf_list.c 2025-02-07 10:58:54.000000000 +0000
@@ -0,0 +1,2 @@
+static const FFBitStreamFilter * const bitstream_filters[] = {
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/codec_list.c b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/codec_list.c
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/codec_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/codec_list.c 2025-01-14 12:35:46.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/codec_list.c 2025-02-07 10:58:54.000000000 +0000
@@ -0,0 +1,17 @@
+static const FFCodec * const codec_list[] = {
+ &ff_h264_decoder,
@@ -3279,7 +3518,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/parser_list.c b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/parser_list.c
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/parser_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/parser_list.c 2025-01-14 12:35:46.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/parser_list.c 2025-02-07 10:58:54.000000000 +0000
@@ -0,0 +1,9 @@
+static const AVCodecParser * const parser_list[] = {
+ &ff_aac_parser,
@@ -3292,7 +3531,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/demuxer_list.c b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/demuxer_list.c
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/demuxer_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/demuxer_list.c 2025-01-14 12:35:46.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/demuxer_list.c 2025-02-07 10:58:54.000000000 +0000
@@ -0,0 +1,9 @@
+static const FFInputFormat * const demuxer_list[] = {
+ &ff_aac_demuxer,
@@ -3305,19 +3544,19 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/muxer_list.c b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/muxer_list.c
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/muxer_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/muxer_list.c 2025-01-14 12:35:46.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/muxer_list.c 2025-02-07 10:58:54.000000000 +0000
@@ -0,0 +1,2 @@
+static const FFOutputFormat * const muxer_list[] = {
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/protocol_list.c b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/protocol_list.c
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/protocol_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/protocol_list.c 2025-01-14 12:35:46.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/protocol_list.c 2025-02-07 10:58:54.000000000 +0000
@@ -0,0 +1,2 @@
+static const URLProtocol * const url_protocols[] = {
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/avconfig.h b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/avconfig.h
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/avconfig.h 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/avconfig.h 2025-01-14 12:35:46.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/avconfig.h 2025-02-07 10:58:54.000000000 +0000
@@ -0,0 +1,6 @@
+/* Generated by ffmpeg configure */
+#ifndef AVUTIL_AVCONFIG_H
@@ -3327,17 +3566,250 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
+#endif /* AVUTIL_AVCONFIG_H */
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/ffversion.h b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/ffversion.h
--- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/ffversion.h 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/ffversion.h 2025-01-14 12:35:46.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/ffversion.h 2025-02-07 10:58:54.000000000 +0000
@@ -0,0 +1,5 @@
+/* Automatically generated by version.sh, do not manually edit! */
+#ifndef AVUTIL_FFVERSION_H
+#define AVUTIL_FFVERSION_H
-+#define FFMPEG_VERSION "git-2024-10-31-591ae4b02e"
++#define FFMPEG_VERSION "git-2024-12-13-d10a0f8"
+#endif /* AVUTIL_FFVERSION_H */
+diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/ios/arm64/config.h b/third_party/ffmpeg/chromium/config/Chromium/ios/arm64/config.h
+--- a/third_party/ffmpeg/chromium/config/Chromium/ios/arm64/config.h 2025-02-03 19:02:21.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chromium/ios/arm64/config.h 2025-02-07 10:58:55.000000000 +0000
+@@ -1,12 +1,12 @@
+ /* Automatically generated by configure - do not modify! */
+ #ifndef FFMPEG_CONFIG_H
+ #define FFMPEG_CONFIG_H
+-/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/usr/local/google/home/ezemtsov/projects/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-pic --cc=clang --cxx=clang++ --ld=cla
ng --enable-cross-compile --cc=clang --ld=ld64.lld --nm=llvm-nm --ar=llvm-ar --target-os=darwin --extra-cflags='--target=arm64-apple-macosx' --extra-cflags=-F/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks --extra-cflags='-mmacosx-version-min=10.10' --extra-cflags=-fblocks --extra-cflags=-nostdinc --extra-cflags=-isystem/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include --extra-cflags=-isystem/usr/local/google/home/ezemtsov/projects/chromium/src/third_party/llvm-build/Release+Asserts/lib/clang/20/include --extra-ldflags=-syslibroot --extra-ldflags=/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk --extra-ldflags=-L/usr/local/google/
home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib --extra-ldflags=-lSystem --extra-ldflags=-macosx_version_min --extra-ldflags=10.10 --extra-ldflags=-sdk_version --extra-ldflags=10.10 --extra-ldflags=-platform_version --extra-ldflags=macos --extra-ldflags=10.10 --extra-ldflags=10.10 --arch=arm64 --extra-cflags='-arch arm64' --extra-ldflags='-arch arm64'" -- elide long configuration string from binary */
++/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-pic --cc=clang --cxx=clang++ --ld=clang --enable-cross-compile --cc=clang --l
d=ld64.lld --nm=llvm-nm --ar=llvm-ar --target-os=darwin --extra-cflags='--target=arm64-apple-macosx' --extra-cflags=-F/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks --extra-cflags='-mmacosx-version-min=10.10' --extra-cflags=-fblocks --extra-cflags=-nostdinc --extra-cflags=-isystem/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include --extra-cflags=-isystem/chromium/src/third_party/llvm-build/Release+Asserts/lib/clang/20/include --extra-ldflags=-syslibroot --extra-ldflags=/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk --extra-ldflags=-L/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib --extra-ldflags=-lSystem --extra-ldflags=-macosx_version_min --extra-ldflags=10.10 --extra-ldf
lags=-sdk_version --extra-ldflags=10.10 --extra-ldflags=-platform_version --extra-ldflags=macos --extra-ldflags=10.10 --extra-ldflags=10.10 --arch=arm64 --extra-cflags='-arch arm64' --extra-ldflags='-arch arm64'" -- elide long configuration string from binary */
+ #define FFMPEG_LICENSE "LGPL version 2.1 or later"
+ #define CONFIG_THIS_YEAR 2024
+ #define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
+ #define AVCONV_DATADIR "/usr/local/share/ffmpeg"
+-#define CC_IDENT "clang version 20.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project 923566a67de39a00eb6fc5cabbad307a72aa338e)"
++#define CC_IDENT "clang version 20.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project 8cb44859cc31929521c09fc6a8add66d53db44de)"
+ #define OS_NAME darwin
+ #define EXTERN_PREFIX "_"
+ #define EXTERN_ASM _
+@@ -32,6 +32,7 @@
+ #define ARCH_SPARC64 0
+ #define ARCH_TILEGX 0
+ #define ARCH_TILEPRO 0
++#define ARCH_WASM 0
+ #define ARCH_X86 0
+ #define ARCH_X86_32 0
+ #define ARCH_X86_64 0
+@@ -57,6 +58,7 @@
+ #define HAVE_RVV 0
+ #define HAVE_RV_ZICBOP 1
+ #define HAVE_RV_ZVBB 0
++#define HAVE_SIMD128 0
+ #define HAVE_AESNI 0
+ #define HAVE_AMD3DNOW 0
+ #define HAVE_AMD3DNOWEXT 0
+@@ -112,6 +114,7 @@
+ #define HAVE_RVV_EXTERNAL 0
+ #define HAVE_RV_ZICBOP_EXTERNAL 0
+ #define HAVE_RV_ZVBB_EXTERNAL 0
++#define HAVE_SIMD128_EXTERNAL 0
+ #define HAVE_AESNI_EXTERNAL 0
+ #define HAVE_AMD3DNOW_EXTERNAL 0
+ #define HAVE_AMD3DNOWEXT_EXTERNAL 0
+@@ -167,6 +170,7 @@
+ #define HAVE_RVV_INLINE 0
+ #define HAVE_RV_ZICBOP_INLINE 0
+ #define HAVE_RV_ZVBB_INLINE 0
++#define HAVE_SIMD128_INLINE 0
+ #define HAVE_AESNI_INLINE 0
+ #define HAVE_AMD3DNOW_INLINE 0
+ #define HAVE_AMD3DNOWEXT_INLINE 0
+@@ -205,7 +209,6 @@
+ #define HAVE_FAST_CLZ 1
+ #define HAVE_FAST_CMOV 0
+ #define HAVE_FAST_FLOAT16 1
+-#define HAVE_LOCAL_ALIGNED 0
+ #define HAVE_SIMD_ALIGN_16 1
+ #define HAVE_SIMD_ALIGN_32 0
+ #define HAVE_SIMD_ALIGN_64 0
+diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/ios/arm64/config_components.h b/third_party/ffmpeg/chromium/config/Chromium/ios/arm64/config_components.h
+--- a/third_party/ffmpeg/chromium/config/Chromium/ios/arm64/config_components.h 2025-02-03 19:02:21.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chromium/ios/arm64/config_components.h 2025-02-07 10:58:55.000000000 +0000
+@@ -243,6 +243,7 @@
+ #define CONFIG_RV20_DECODER 0
+ #define CONFIG_RV30_DECODER 0
+ #define CONFIG_RV40_DECODER 0
++#define CONFIG_RV60_DECODER 0
+ #define CONFIG_S302M_DECODER 0
+ #define CONFIG_SANM_DECODER 0
+ #define CONFIG_SCPR_DECODER 0
+@@ -650,6 +651,7 @@
+ #define CONFIG_DXV_ENCODER 0
+ #define CONFIG_EXR_ENCODER 0
+ #define CONFIG_FFV1_ENCODER 0
++#define CONFIG_FFV1_VULKAN_ENCODER 0
+ #define CONFIG_FFVHUFF_ENCODER 0
+ #define CONFIG_FITS_ENCODER 0
+ #define CONFIG_FLASHSV_ENCODER 0
+@@ -956,6 +958,7 @@
+ #define CONFIG_VP9_VAAPI_HWACCEL 0
+ #define CONFIG_VP9_VDPAU_HWACCEL 0
+ #define CONFIG_VP9_VIDEOTOOLBOX_HWACCEL 0
++#define CONFIG_VVC_VAAPI_HWACCEL 0
+ #define CONFIG_WMV3_D3D11VA_HWACCEL 0
+ #define CONFIG_WMV3_D3D11VA2_HWACCEL 0
+ #define CONFIG_WMV3_D3D12VA_HWACCEL 0
+diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/ios/arm64/libavutil/ffversion.h b/third_party/ffmpeg/chromium/config/Chromium/ios/arm64/libavutil/ffversion.h
+--- a/third_party/ffmpeg/chromium/config/Chromium/ios/arm64/libavutil/ffversion.h 2025-02-03 19:02:21.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chromium/ios/arm64/libavutil/ffversion.h 2025-02-07 10:58:55.000000000 +0000
+@@ -1,5 +1,5 @@
+ /* Automatically generated by version.sh, do not manually edit! */
+ #ifndef AVUTIL_FFVERSION_H
+ #define AVUTIL_FFVERSION_H
+-#define FFMPEG_VERSION "N-118887-g99f17d50d3"
++#define FFMPEG_VERSION "N-119293-g19beff4292"
+ #endif /* AVUTIL_FFVERSION_H */
+diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/ios/x64/config.asm b/third_party/ffmpeg/chromium/config/Chromium/ios/x64/config.asm
+--- a/third_party/ffmpeg/chromium/config/Chromium/ios/x64/config.asm 2025-02-03 19:02:21.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chromium/ios/x64/config.asm 2025-02-07 10:58:55.000000000 +0000
+@@ -17,6 +17,7 @@
+ %define ARCH_SPARC64 0
+ %define ARCH_TILEGX 0
+ %define ARCH_TILEPRO 0
++%define ARCH_WASM 0
+ %define ARCH_X86 1
+ %define ARCH_X86_32 0
+ %define ARCH_X86_64 1
+@@ -42,6 +43,7 @@
+ %define HAVE_RVV 0
+ %define HAVE_RV_ZICBOP 1
+ %define HAVE_RV_ZVBB 0
++%define HAVE_SIMD128 0
+ %define HAVE_AESNI 1
+ %define HAVE_AMD3DNOW 1
+ %define HAVE_AMD3DNOWEXT 1
+@@ -97,6 +99,7 @@
+ %define HAVE_RVV_EXTERNAL 0
+ %define HAVE_RV_ZICBOP_EXTERNAL 0
+ %define HAVE_RV_ZVBB_EXTERNAL 0
++%define HAVE_SIMD128_EXTERNAL 0
+ %define HAVE_AESNI_EXTERNAL 1
+ %define HAVE_AMD3DNOW_EXTERNAL 1
+ %define HAVE_AMD3DNOWEXT_EXTERNAL 1
+@@ -152,6 +155,7 @@
+ %define HAVE_RVV_INLINE 0
+ %define HAVE_RV_ZICBOP_INLINE 0
+ %define HAVE_RV_ZVBB_INLINE 0
++%define HAVE_SIMD128_INLINE 0
+ %define HAVE_AESNI_INLINE 1
+ %define HAVE_AMD3DNOW_INLINE 1
+ %define HAVE_AMD3DNOWEXT_INLINE 1
+@@ -190,7 +194,6 @@
+ %define HAVE_FAST_CLZ 1
+ %define HAVE_FAST_CMOV 1
+ %define HAVE_FAST_FLOAT16 0
+-%define HAVE_LOCAL_ALIGNED 1
+ %define HAVE_SIMD_ALIGN_16 1
+ %define HAVE_SIMD_ALIGN_32 1
+ %define HAVE_SIMD_ALIGN_64 1
+diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/ios/x64/config.h b/third_party/ffmpeg/chromium/config/Chromium/ios/x64/config.h
+--- a/third_party/ffmpeg/chromium/config/Chromium/ios/x64/config.h 2025-02-03 19:02:21.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chromium/ios/x64/config.h 2025-02-07 10:58:55.000000000 +0000
+@@ -1,12 +1,12 @@
+ /* Automatically generated by configure - do not modify! */
+ #ifndef FFMPEG_CONFIG_H
+ #define FFMPEG_CONFIG_H
+-/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/usr/local/google/home/ezemtsov/projects/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-pic --cc=clang --cxx=clang++ --ld=cla
ng --enable-cross-compile --cc=clang --ld=ld64.lld --nm=llvm-nm --ar=llvm-ar --target-os=darwin --extra-cflags='--target=x86_64-apple-macosx' --extra-cflags=-F/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks --extra-cflags='-mmacosx-version-min=10.10' --extra-cflags=-fblocks --extra-cflags=-nostdinc --extra-cflags=-isystem/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include --extra-cflags=-isystem/usr/local/google/home/ezemtsov/projects/chromium/src/third_party/llvm-build/Release+Asserts/lib/clang/20/include --extra-ldflags=-syslibroot --extra-ldflags=/usr/local/google/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk --extra-ldflags=-L/usr/local/google
/home/ezemtsov/projects/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib --extra-ldflags=-lSystem --extra-ldflags=-macosx_version_min --extra-ldflags=10.10 --extra-ldflags=-sdk_version --extra-ldflags=10.10 --extra-ldflags=-platform_version --extra-ldflags=macos --extra-ldflags=10.10 --extra-ldflags=10.10 --arch=x86_64 --extra-cflags=-m64 --extra-ldflags='-arch x86_64'" -- elide long configuration string from binary */
++/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-pic --cc=clang --cxx=clang++ --ld=clang --enable-cross-compile --cc=clang --l
d=ld64.lld --nm=llvm-nm --ar=llvm-ar --target-os=darwin --extra-cflags='--target=x86_64-apple-macosx' --extra-cflags=-F/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks --extra-cflags='-mmacosx-version-min=10.10' --extra-cflags=-fblocks --extra-cflags=-nostdinc --extra-cflags=-isystem/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include --extra-cflags=-isystem/chromium/src/third_party/llvm-build/Release+Asserts/lib/clang/20/include --extra-ldflags=-syslibroot --extra-ldflags=/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk --extra-ldflags=-L/chromium/src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib --extra-ldflags=-lSystem --extra-ldflags=-macosx_version_min --extra-ldflags=10.10 --extra-ld
flags=-sdk_version --extra-ldflags=10.10 --extra-ldflags=-platform_version --extra-ldflags=macos --extra-ldflags=10.10 --extra-ldflags=10.10 --arch=x86_64 --extra-cflags=-m64 --extra-ldflags='-arch x86_64'" -- elide long configuration string from binary */
+ #define FFMPEG_LICENSE "LGPL version 2.1 or later"
+ #define CONFIG_THIS_YEAR 2024
+ #define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
+ #define AVCONV_DATADIR "/usr/local/share/ffmpeg"
+-#define CC_IDENT "clang version 20.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project 923566a67de39a00eb6fc5cabbad307a72aa338e)"
++#define CC_IDENT "clang version 20.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project 8cb44859cc31929521c09fc6a8add66d53db44de)"
+ #define OS_NAME darwin
+ #define EXTERN_PREFIX "_"
+ #define EXTERN_ASM _
+@@ -31,6 +31,7 @@
+ #define ARCH_SPARC64 0
+ #define ARCH_TILEGX 0
+ #define ARCH_TILEPRO 0
++#define ARCH_WASM 0
+ #define ARCH_X86 1
+ #define ARCH_X86_32 0
+ #define ARCH_X86_64 1
+@@ -56,6 +57,7 @@
+ #define HAVE_RVV 0
+ #define HAVE_RV_ZICBOP 1
+ #define HAVE_RV_ZVBB 0
++#define HAVE_SIMD128 0
+ #define HAVE_AESNI 1
+ #define HAVE_AMD3DNOW 1
+ #define HAVE_AMD3DNOWEXT 1
+@@ -111,6 +113,7 @@
+ #define HAVE_RVV_EXTERNAL 0
+ #define HAVE_RV_ZICBOP_EXTERNAL 0
+ #define HAVE_RV_ZVBB_EXTERNAL 0
++#define HAVE_SIMD128_EXTERNAL 0
+ #define HAVE_AESNI_EXTERNAL 1
+ #define HAVE_AMD3DNOW_EXTERNAL 1
+ #define HAVE_AMD3DNOWEXT_EXTERNAL 1
+@@ -166,6 +169,7 @@
+ #define HAVE_RVV_INLINE 0
+ #define HAVE_RV_ZICBOP_INLINE 0
+ #define HAVE_RV_ZVBB_INLINE 0
++#define HAVE_SIMD128_INLINE 0
+ #define HAVE_AESNI_INLINE 1
+ #define HAVE_AMD3DNOW_INLINE 1
+ #define HAVE_AMD3DNOWEXT_INLINE 1
+@@ -204,7 +208,6 @@
+ #define HAVE_FAST_CLZ 1
+ #define HAVE_FAST_CMOV 1
+ #define HAVE_FAST_FLOAT16 0
+-#define HAVE_LOCAL_ALIGNED 1
+ #define HAVE_SIMD_ALIGN_16 1
+ #define HAVE_SIMD_ALIGN_32 1
+ #define HAVE_SIMD_ALIGN_64 1
+diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/ios/x64/config_components.h b/third_party/ffmpeg/chromium/config/Chromium/ios/x64/config_components.h
+--- a/third_party/ffmpeg/chromium/config/Chromium/ios/x64/config_components.h 2025-02-03 19:02:21.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chromium/ios/x64/config_components.h 2025-02-07 10:58:55.000000000 +0000
+@@ -243,6 +243,7 @@
+ #define CONFIG_RV20_DECODER 0
+ #define CONFIG_RV30_DECODER 0
+ #define CONFIG_RV40_DECODER 0
++#define CONFIG_RV60_DECODER 0
+ #define CONFIG_S302M_DECODER 0
+ #define CONFIG_SANM_DECODER 0
+ #define CONFIG_SCPR_DECODER 0
+@@ -650,6 +651,7 @@
+ #define CONFIG_DXV_ENCODER 0
+ #define CONFIG_EXR_ENCODER 0
+ #define CONFIG_FFV1_ENCODER 0
++#define CONFIG_FFV1_VULKAN_ENCODER 0
+ #define CONFIG_FFVHUFF_ENCODER 0
+ #define CONFIG_FITS_ENCODER 0
+ #define CONFIG_FLASHSV_ENCODER 0
+@@ -956,6 +958,7 @@
+ #define CONFIG_VP9_VAAPI_HWACCEL 0
+ #define CONFIG_VP9_VDPAU_HWACCEL 0
+ #define CONFIG_VP9_VIDEOTOOLBOX_HWACCEL 0
++#define CONFIG_VVC_VAAPI_HWACCEL 0
+ #define CONFIG_WMV3_D3D11VA_HWACCEL 0
+ #define CONFIG_WMV3_D3D11VA2_HWACCEL 0
+ #define CONFIG_WMV3_D3D12VA_HWACCEL 0
+diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/ios/x64/libavutil/ffversion.h b/third_party/ffmpeg/chromium/config/Chromium/ios/x64/libavutil/ffversion.h
+--- a/third_party/ffmpeg/chromium/config/Chromium/ios/x64/libavutil/ffversion.h 2025-02-03 19:02:21.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chromium/ios/x64/libavutil/ffversion.h 2025-02-07 10:58:55.000000000 +0000
+@@ -1,5 +1,5 @@
+ /* Automatically generated by version.sh, do not manually edit! */
+ #ifndef AVUTIL_FFVERSION_H
+ #define AVUTIL_FFVERSION_H
+-#define FFMPEG_VERSION "N-118887-g99f17d50d3"
++#define FFMPEG_VERSION "N-119293-g19beff4292"
+ #endif /* AVUTIL_FFVERSION_H */
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h 2025-01-14 12:35:46.000000000 +0000
-@@ -0,0 +1,793 @@
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h 2025-02-07 10:58:54.000000000 +0000
+@@ -0,0 +1,796 @@
+/* Automatically generated by configure - do not modify! */
+#ifndef FFMPEG_CONFIG_H
+#define FFMPEG_CONFIG_H
@@ -3346,7 +3818,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define CONFIG_THIS_YEAR 2024
+#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
+#define AVCONV_DATADIR "/usr/local/share/ffmpeg"
-+#define CC_IDENT "clang version 20.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project b81d8e90339a788cc6cb148831612c6b39b93ad5)"
++#define CC_IDENT "clang version 20.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project 091448e3c17bc8e7812dd7b571c852576d648977)"
+#define OS_NAME linux
+#define EXTERN_PREFIX ""
+#define EXTERN_ASM
@@ -3371,6 +3843,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define ARCH_SPARC64 0
+#define ARCH_TILEGX 0
+#define ARCH_TILEPRO 0
++#define ARCH_WASM 0
+#define ARCH_X86 0
+#define ARCH_X86_32 0
+#define ARCH_X86_64 0
@@ -3395,7 +3868,8 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define HAVE_RV 1
+#define HAVE_RVV 1
+#define HAVE_RV_ZICBOP 1
-+#define HAVE_RV_ZVBB 0
++#define HAVE_RV_ZVBB 1
++#define HAVE_SIMD128 0
+#define HAVE_AESNI 0
+#define HAVE_AMD3DNOW 0
+#define HAVE_AMD3DNOWEXT 0
@@ -3451,6 +3925,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define HAVE_RVV_EXTERNAL 0
+#define HAVE_RV_ZICBOP_EXTERNAL 0
+#define HAVE_RV_ZVBB_EXTERNAL 0
++#define HAVE_SIMD128_EXTERNAL 0
+#define HAVE_AESNI_EXTERNAL 0
+#define HAVE_AMD3DNOW_EXTERNAL 0
+#define HAVE_AMD3DNOWEXT_EXTERNAL 0
@@ -3506,6 +3981,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define HAVE_RVV_INLINE 0
+#define HAVE_RV_ZICBOP_INLINE 0
+#define HAVE_RV_ZVBB_INLINE 0
++#define HAVE_SIMD128_INLINE 0
+#define HAVE_AESNI_INLINE 0
+#define HAVE_AMD3DNOW_INLINE 0
+#define HAVE_AMD3DNOWEXT_INLINE 0
@@ -3544,7 +4020,6 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define HAVE_FAST_CLZ 0
+#define HAVE_FAST_CMOV 0
+#define HAVE_FAST_FLOAT16 0
-+#define HAVE_LOCAL_ALIGNED 0
+#define HAVE_SIMD_ALIGN_16 0
+#define HAVE_SIMD_ALIGN_32 0
+#define HAVE_SIMD_ALIGN_64 0
@@ -4133,8 +4608,8 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#endif /* FFMPEG_CONFIG_H */
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_components.h b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_components.h
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_components.h 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_components.h 2025-01-14 12:35:46.000000000 +0000
-@@ -0,0 +1,2234 @@
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_components.h 2025-02-07 10:58:54.000000000 +0000
+@@ -0,0 +1,2237 @@
+/* Automatically generated by configure - do not modify! */
+#ifndef FFMPEG_CONFIG_COMPONENTS_H
+#define FFMPEG_CONFIG_COMPONENTS_H
@@ -4380,6 +4855,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define CONFIG_RV20_DECODER 0
+#define CONFIG_RV30_DECODER 0
+#define CONFIG_RV40_DECODER 0
++#define CONFIG_RV60_DECODER 0
+#define CONFIG_S302M_DECODER 0
+#define CONFIG_SANM_DECODER 0
+#define CONFIG_SCPR_DECODER 0
@@ -4787,6 +5263,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define CONFIG_DXV_ENCODER 0
+#define CONFIG_EXR_ENCODER 0
+#define CONFIG_FFV1_ENCODER 0
++#define CONFIG_FFV1_VULKAN_ENCODER 0
+#define CONFIG_FFVHUFF_ENCODER 0
+#define CONFIG_FITS_ENCODER 0
+#define CONFIG_FLASHSV_ENCODER 0
@@ -5093,6 +5570,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#define CONFIG_VP9_VAAPI_HWACCEL 0
+#define CONFIG_VP9_VDPAU_HWACCEL 0
+#define CONFIG_VP9_VIDEOTOOLBOX_HWACCEL 0
++#define CONFIG_VVC_VAAPI_HWACCEL 0
+#define CONFIG_WMV3_D3D11VA_HWACCEL 0
+#define CONFIG_WMV3_D3D11VA2_HWACCEL 0
+#define CONFIG_WMV3_D3D12VA_HWACCEL 0
@@ -6371,13 +6849,13 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#endif /* FFMPEG_CONFIG_COMPONENTS_H */
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/bsf_list.c b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/bsf_list.c
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/bsf_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/bsf_list.c 2025-01-14 12:35:46.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/bsf_list.c 2025-02-07 10:58:54.000000000 +0000
@@ -0,0 +1,2 @@
+static const FFBitStreamFilter * const bitstream_filters[] = {
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/codec_list.c b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/codec_list.c
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/codec_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/codec_list.c 2025-01-14 12:35:46.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/codec_list.c 2025-02-07 10:58:54.000000000 +0000
@@ -0,0 +1,15 @@
+static const FFCodec * const codec_list[] = {
+ &ff_flac_decoder,
@@ -6396,7 +6874,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/parser_list.c b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/parser_list.c
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/parser_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/parser_list.c 2025-01-14 12:35:46.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/parser_list.c 2025-02-07 10:58:54.000000000 +0000
@@ -0,0 +1,7 @@
+static const AVCodecParser * const parser_list[] = {
+ &ff_flac_parser,
@@ -6407,7 +6885,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/demuxer_list.c b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/demuxer_list.c
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/demuxer_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/demuxer_list.c 2025-01-14 12:35:46.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/demuxer_list.c 2025-02-07 10:58:54.000000000 +0000
@@ -0,0 +1,8 @@
+static const FFInputFormat * const demuxer_list[] = {
+ &ff_flac_demuxer,
@@ -6419,19 +6897,19 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/muxer_list.c b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/muxer_list.c
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/muxer_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/muxer_list.c 2025-01-14 12:35:46.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/muxer_list.c 2025-02-07 10:58:54.000000000 +0000
@@ -0,0 +1,2 @@
+static const FFOutputFormat * const muxer_list[] = {
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/protocol_list.c b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/protocol_list.c
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/protocol_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/protocol_list.c 2025-01-14 12:35:46.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/protocol_list.c 2025-02-07 10:58:54.000000000 +0000
@@ -0,0 +1,2 @@
+static const URLProtocol * const url_protocols[] = {
+ NULL };
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/avconfig.h b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/avconfig.h
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/avconfig.h 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/avconfig.h 2025-01-14 12:35:46.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/avconfig.h 2025-02-07 10:58:54.000000000 +0000
@@ -0,0 +1,6 @@
+/* Generated by ffmpeg configure */
+#ifndef AVUTIL_AVCONFIG_H
@@ -6441,16 +6919,16 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
+#endif /* AVUTIL_AVCONFIG_H */
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/ffversion.h b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/ffversion.h
--- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/ffversion.h 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/ffversion.h 2025-01-14 12:35:46.000000000 +0000
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/ffversion.h 2025-02-07 10:58:54.000000000 +0000
@@ -0,0 +1,5 @@
+/* Automatically generated by version.sh, do not manually edit! */
+#ifndef AVUTIL_FFVERSION_H
+#define AVUTIL_FFVERSION_H
-+#define FFMPEG_VERSION "git-2024-10-31-591ae4b02e"
++#define FFMPEG_VERSION "git-2024-12-13-d10a0f8"
+#endif /* AVUTIL_FFVERSION_H */
diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/scripts/copy_config.sh b/third_party/ffmpeg/chromium/scripts/copy_config.sh
---- a/third_party/ffmpeg/chromium/scripts/copy_config.sh 2024-12-18 22:01:41.000000000 +0000
-+++ b/third_party/ffmpeg/chromium/scripts/copy_config.sh 2025-01-14 12:33:32.000000000 +0000
+--- a/third_party/ffmpeg/chromium/scripts/copy_config.sh 2025-02-03 19:02:21.000000000 +0000
++++ b/third_party/ffmpeg/chromium/scripts/copy_config.sh 2025-02-07 10:53:40.000000000 +0000
@@ -10,7 +10,7 @@
# Copy config files for various architectures:
# - ia32/x64 have config.asm, config.h
@@ -6461,8 +6939,8 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/scripts/copy_config.sh b
[ ! -e "build.$arch.$os/$target/config.h" ] && continue
for f in config.h config_components.h config.asm libavutil/avconfig.h libavutil/ffversion.h libavcodec/bsf_list.c libavcodec/codec_list.c libavcodec/parser_list.c libavformat/demuxer_list.c libavformat/muxer_list.c libavformat/protocol_list.c; do
diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_party/ffmpeg/ffmpeg_generated.gni
---- a/third_party/ffmpeg/ffmpeg_generated.gni 2024-12-18 22:01:41.000000000 +0000
-+++ b/third_party/ffmpeg/ffmpeg_generated.gni 2025-01-14 12:35:22.000000000 +0000
+--- a/third_party/ffmpeg/ffmpeg_generated.gni 2025-02-03 19:02:21.000000000 +0000
++++ b/third_party/ffmpeg/ffmpeg_generated.gni 2025-02-07 10:58:00.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2024 The Chromium Authors. All rights reserved.
+# Copyright 2025 The Chromium Authors. All rights reserved.
@@ -6523,7 +7001,15 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
"libavcodec/vp9_parser.c",
"libavcodec/xiph.c",
"libavformat/allformats.c",
-@@ -145,12 +144,7 @@
+@@ -107,6 +106,7 @@
+ "libavformat/dovi_isom.c",
+ "libavformat/dump.c",
+ "libavformat/dv.c",
++ "libavformat/dvdclut.c",
+ "libavformat/flac_picture.c",
+ "libavformat/format.c",
+ "libavformat/id3v1.c",
+@@ -145,12 +145,7 @@
"libavutil/aes.c",
"libavutil/aes_ctr.c",
"libavutil/ambient_viewing_environment.c",
@@ -6536,7 +7022,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
"libavutil/autorename_libavutil_utils.c",
"libavutil/autorename_libavutil_version.c",
"libavutil/avstring.c",
-@@ -159,6 +153,7 @@
+@@ -159,6 +154,7 @@
"libavutil/buffer.c",
"libavutil/camellia.c",
"libavutil/channel_layout.c",
@@ -6544,7 +7030,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
"libavutil/crc.c",
"libavutil/csp.c",
"libavutil/detection_bbox.c",
-@@ -172,12 +167,15 @@
+@@ -172,12 +168,15 @@
"libavutil/fifo.c",
"libavutil/file_open.c",
"libavutil/film_grain_params.c",
@@ -6560,7 +7046,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
"libavutil/integer.c",
"libavutil/intmath.c",
"libavutil/lfg.c",
-@@ -195,6 +193,11 @@
+@@ -195,6 +194,11 @@
"libavutil/random_seed.c",
"libavutil/rational.c",
"libavutil/reverse.c",
@@ -6572,7 +7058,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
"libavutil/samplefmt.c",
"libavutil/sha.c",
"libavutil/slicethread.c",
-@@ -207,22 +210,41 @@
+@@ -207,22 +211,41 @@
"libavutil/timestamp.c",
"libavutil/twofish.c",
"libavutil/tx.c",
@@ -6620,7 +7106,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
"libavcodec/h2645_parse.c",
"libavcodec/h2645_sei.c",
"libavcodec/h2645_vui.c",
-@@ -247,236 +269,30 @@
+@@ -247,236 +270,30 @@
"libavcodec/h264pred.c",
"libavcodec/h264qpel.c",
"libavcodec/h274.c",
@@ -6876,85 +7362,85 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
- ffmpeg_c_sources += [ "compat/strtod.c" ]
-}
diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/autorename_libavcodec_parser.c b/third_party/ffmpeg/libavcodec/autorename_libavcodec_parser.c
---- a/third_party/ffmpeg/libavcodec/autorename_libavcodec_parser.c 2024-12-18 22:01:41.000000000 +0000
-+++ b/third_party/ffmpeg/libavcodec/autorename_libavcodec_parser.c 2025-01-14 12:35:18.000000000 +0000
+--- a/third_party/ffmpeg/libavcodec/autorename_libavcodec_parser.c 2025-02-03 19:02:21.000000000 +0000
++++ b/third_party/ffmpeg/libavcodec/autorename_libavcodec_parser.c 2025-02-07 10:57:55.000000000 +0000
@@ -1,2 +1,2 @@
--// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
-+// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
+-// Automatically generated on Mon Dec 9 16:35:31 2024. See crbug.com/495833.
++// Automatically generated on Fri Feb 7 10:57:54 2025. See crbug.com/495833.
#include "parser.c"
diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/autorename_libavcodec_videodsp.c b/third_party/ffmpeg/libavcodec/autorename_libavcodec_videodsp.c
---- a/third_party/ffmpeg/libavcodec/autorename_libavcodec_videodsp.c 2024-12-18 22:01:41.000000000 +0000
-+++ b/third_party/ffmpeg/libavcodec/autorename_libavcodec_videodsp.c 2025-01-14 12:35:18.000000000 +0000
+--- a/third_party/ffmpeg/libavcodec/autorename_libavcodec_videodsp.c 2025-02-03 19:02:21.000000000 +0000
++++ b/third_party/ffmpeg/libavcodec/autorename_libavcodec_videodsp.c 2025-02-07 10:57:55.000000000 +0000
@@ -1,2 +1,2 @@
--// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
-+// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
+-// Automatically generated on Mon Dec 9 16:35:31 2024. See crbug.com/495833.
++// Automatically generated on Fri Feb 7 10:57:54 2025. See crbug.com/495833.
#include "videodsp.c"
diff '--color=auto' -Naur a/third_party/ffmpeg/libavformat/autorename_libavformat_aacdec.c b/third_party/ffmpeg/libavformat/autorename_libavformat_aacdec.c
---- a/third_party/ffmpeg/libavformat/autorename_libavformat_aacdec.c 2024-12-18 22:01:41.000000000 +0000
-+++ b/third_party/ffmpeg/libavformat/autorename_libavformat_aacdec.c 2025-01-14 12:35:18.000000000 +0000
+--- a/third_party/ffmpeg/libavformat/autorename_libavformat_aacdec.c 2025-02-03 19:02:21.000000000 +0000
++++ b/third_party/ffmpeg/libavformat/autorename_libavformat_aacdec.c 2025-02-07 10:57:55.000000000 +0000
@@ -1,2 +1,2 @@
--// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
-+// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
+-// Automatically generated on Mon Dec 9 16:35:31 2024. See crbug.com/495833.
++// Automatically generated on Fri Feb 7 10:57:54 2025. See crbug.com/495833.
#include "aacdec.c"
diff '--color=auto' -Naur a/third_party/ffmpeg/libavformat/autorename_libavformat_flacdec.c b/third_party/ffmpeg/libavformat/autorename_libavformat_flacdec.c
---- a/third_party/ffmpeg/libavformat/autorename_libavformat_flacdec.c 2024-12-18 22:01:41.000000000 +0000
-+++ b/third_party/ffmpeg/libavformat/autorename_libavformat_flacdec.c 2025-01-14 12:35:18.000000000 +0000
+--- a/third_party/ffmpeg/libavformat/autorename_libavformat_flacdec.c 2025-02-03 19:02:21.000000000 +0000
++++ b/third_party/ffmpeg/libavformat/autorename_libavformat_flacdec.c 2025-02-07 10:57:55.000000000 +0000
@@ -1,2 +1,2 @@
--// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
-+// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
+-// Automatically generated on Mon Dec 9 16:35:31 2024. See crbug.com/495833.
++// Automatically generated on Fri Feb 7 10:57:54 2025. See crbug.com/495833.
#include "flacdec.c"
diff '--color=auto' -Naur a/third_party/ffmpeg/libavformat/autorename_libavformat_options.c b/third_party/ffmpeg/libavformat/autorename_libavformat_options.c
---- a/third_party/ffmpeg/libavformat/autorename_libavformat_options.c 2024-12-18 22:01:41.000000000 +0000
-+++ b/third_party/ffmpeg/libavformat/autorename_libavformat_options.c 2025-01-14 12:35:18.000000000 +0000
+--- a/third_party/ffmpeg/libavformat/autorename_libavformat_options.c 2025-02-03 19:02:21.000000000 +0000
++++ b/third_party/ffmpeg/libavformat/autorename_libavformat_options.c 2025-02-07 10:57:55.000000000 +0000
@@ -1,2 +1,2 @@
--// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
-+// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
+-// Automatically generated on Mon Dec 9 16:35:31 2024. See crbug.com/495833.
++// Automatically generated on Fri Feb 7 10:57:54 2025. See crbug.com/495833.
#include "options.c"
diff '--color=auto' -Naur a/third_party/ffmpeg/libavformat/autorename_libavformat_pcm.c b/third_party/ffmpeg/libavformat/autorename_libavformat_pcm.c
---- a/third_party/ffmpeg/libavformat/autorename_libavformat_pcm.c 2024-12-18 22:01:41.000000000 +0000
-+++ b/third_party/ffmpeg/libavformat/autorename_libavformat_pcm.c 2025-01-14 12:35:18.000000000 +0000
+--- a/third_party/ffmpeg/libavformat/autorename_libavformat_pcm.c 2025-02-03 19:02:21.000000000 +0000
++++ b/third_party/ffmpeg/libavformat/autorename_libavformat_pcm.c 2025-02-07 10:57:55.000000000 +0000
@@ -1,2 +1,2 @@
--// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
-+// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
+-// Automatically generated on Mon Dec 9 16:35:31 2024. See crbug.com/495833.
++// Automatically generated on Fri Feb 7 10:57:54 2025. See crbug.com/495833.
#include "pcm.c"
diff '--color=auto' -Naur a/third_party/ffmpeg/libavformat/autorename_libavformat_utils.c b/third_party/ffmpeg/libavformat/autorename_libavformat_utils.c
---- a/third_party/ffmpeg/libavformat/autorename_libavformat_utils.c 2024-12-18 22:01:41.000000000 +0000
-+++ b/third_party/ffmpeg/libavformat/autorename_libavformat_utils.c 2025-01-14 12:35:18.000000000 +0000
+--- a/third_party/ffmpeg/libavformat/autorename_libavformat_utils.c 2025-02-03 19:02:21.000000000 +0000
++++ b/third_party/ffmpeg/libavformat/autorename_libavformat_utils.c 2025-02-07 10:57:55.000000000 +0000
@@ -1,2 +1,2 @@
--// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
-+// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
+-// Automatically generated on Mon Dec 9 16:35:31 2024. See crbug.com/495833.
++// Automatically generated on Fri Feb 7 10:57:54 2025. See crbug.com/495833.
#include "utils.c"
diff '--color=auto' -Naur a/third_party/ffmpeg/libavformat/autorename_libavformat_version.c b/third_party/ffmpeg/libavformat/autorename_libavformat_version.c
---- a/third_party/ffmpeg/libavformat/autorename_libavformat_version.c 2024-12-18 22:01:41.000000000 +0000
-+++ b/third_party/ffmpeg/libavformat/autorename_libavformat_version.c 2025-01-14 12:35:18.000000000 +0000
+--- a/third_party/ffmpeg/libavformat/autorename_libavformat_version.c 2025-02-03 19:02:21.000000000 +0000
++++ b/third_party/ffmpeg/libavformat/autorename_libavformat_version.c 2025-02-07 10:57:55.000000000 +0000
@@ -1,2 +1,2 @@
--// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
-+// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
+-// Automatically generated on Mon Dec 9 16:35:31 2024. See crbug.com/495833.
++// Automatically generated on Fri Feb 7 10:57:54 2025. See crbug.com/495833.
#include "version.c"
diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/autorename_libavutil_executor.c b/third_party/ffmpeg/libavutil/autorename_libavutil_executor.c
---- a/third_party/ffmpeg/libavutil/autorename_libavutil_executor.c 2024-12-18 22:01:41.000000000 +0000
-+++ b/third_party/ffmpeg/libavutil/autorename_libavutil_executor.c 2025-01-14 12:35:18.000000000 +0000
+--- a/third_party/ffmpeg/libavutil/autorename_libavutil_executor.c 2025-02-03 19:02:21.000000000 +0000
++++ b/third_party/ffmpeg/libavutil/autorename_libavutil_executor.c 2025-02-07 10:57:55.000000000 +0000
@@ -1,2 +1,2 @@
--// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
-+// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
+-// Automatically generated on Mon Dec 9 16:35:31 2024. See crbug.com/495833.
++// Automatically generated on Fri Feb 7 10:57:54 2025. See crbug.com/495833.
#include "executor.c"
diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/autorename_libavutil_utils.c b/third_party/ffmpeg/libavutil/autorename_libavutil_utils.c
---- a/third_party/ffmpeg/libavutil/autorename_libavutil_utils.c 2024-12-18 22:01:41.000000000 +0000
-+++ b/third_party/ffmpeg/libavutil/autorename_libavutil_utils.c 2025-01-14 12:35:18.000000000 +0000
+--- a/third_party/ffmpeg/libavutil/autorename_libavutil_utils.c 2025-02-03 19:02:21.000000000 +0000
++++ b/third_party/ffmpeg/libavutil/autorename_libavutil_utils.c 2025-02-07 10:57:55.000000000 +0000
@@ -1,2 +1,2 @@
--// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
-+// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
+-// Automatically generated on Mon Dec 9 16:35:31 2024. See crbug.com/495833.
++// Automatically generated on Fri Feb 7 10:57:54 2025. See crbug.com/495833.
#include "utils.c"
diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/autorename_libavutil_version.c b/third_party/ffmpeg/libavutil/autorename_libavutil_version.c
---- a/third_party/ffmpeg/libavutil/autorename_libavutil_version.c 2024-12-18 22:01:41.000000000 +0000
-+++ b/third_party/ffmpeg/libavutil/autorename_libavutil_version.c 2025-01-14 12:35:18.000000000 +0000
+--- a/third_party/ffmpeg/libavutil/autorename_libavutil_version.c 2025-02-03 19:02:21.000000000 +0000
++++ b/third_party/ffmpeg/libavutil/autorename_libavutil_version.c 2025-02-07 10:57:55.000000000 +0000
@@ -1,2 +1,2 @@
--// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
-+// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
+-// Automatically generated on Mon Dec 9 16:35:31 2024. See crbug.com/495833.
++// Automatically generated on Fri Feb 7 10:57:54 2025. See crbug.com/495833.
#include "version.c"
diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/riscv/autorename_libavutil_riscv_cpu.c b/third_party/ffmpeg/libavutil/riscv/autorename_libavutil_riscv_cpu.c
--- a/third_party/ffmpeg/libavutil/riscv/autorename_libavutil_riscv_cpu.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/libavutil/riscv/autorename_libavutil_riscv_cpu.c 2025-01-14 12:35:18.000000000 +0000
++++ b/third_party/ffmpeg/libavutil/riscv/autorename_libavutil_riscv_cpu.c 2025-02-07 10:57:55.000000000 +0000
@@ -0,0 +1,2 @@
-+// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
++// Automatically generated on Fri Feb 7 10:57:54 2025. See crbug.com/495833.
+#include "cpu.c"
diff --git a/www-client/chromium/files/riscv-misc.patch b/www-client/chromium/files/riscv-misc.patch
index cf8cbfb..15bce88 100644
--- a/www-client/chromium/files/riscv-misc.patch
+++ b/www-client/chromium/files/riscv-misc.patch
@@ -1,7 +1,7 @@
-Index: chromium-132.0.6834.83/components/metrics/debug/metrics_internals_utils.cc
+Index: chromium-133.0.6943.53/components/metrics/debug/metrics_internals_utils.cc
===================================================================
---- chromium-132.0.6834.83.orig/components/metrics/debug/metrics_internals_utils.cc
-+++ chromium-132.0.6834.83/components/metrics/debug/metrics_internals_utils.cc
+--- chromium-133.0.6943.53.orig/components/metrics/debug/metrics_internals_utils.cc
++++ chromium-133.0.6943.53/components/metrics/debug/metrics_internals_utils.cc
@@ -69,6 +69,8 @@ std::string CpuArchitectureToString(
return "arm32";
case variations::Study::TRANSLATED_X86_64:
@@ -11,10 +11,10 @@ Index: chromium-132.0.6834.83/components/metrics/debug/metrics_internals_utils.c
}
NOTREACHED();
}
-Index: chromium-132.0.6834.83/components/variations/proto/study.proto
+Index: chromium-133.0.6943.53/components/variations/proto/study.proto
===================================================================
---- chromium-132.0.6834.83.orig/components/variations/proto/study.proto
-+++ chromium-132.0.6834.83/components/variations/proto/study.proto
+--- chromium-133.0.6943.53.orig/components/variations/proto/study.proto
++++ chromium-133.0.6943.53/components/variations/proto/study.proto
@@ -262,6 +262,8 @@ message Study {
// A Mac-only value, indicating an x86-64 binary running on an arm64 host
// via "Rosetta 2" binary translation.
@@ -24,42 +24,18 @@ Index: chromium-132.0.6834.83/components/variations/proto/study.proto
}
// Enum to pass as optional bool.
-Index: chromium-132.0.6834.83/components/variations/service/variations_field_trial_creator_base.cc
+Index: chromium-133.0.6943.53/components/variations/service/variations_field_trial_creator_base.cc
===================================================================
---- chromium-132.0.6834.83.orig/components/variations/service/variations_field_trial_creator_base.cc
-+++ chromium-132.0.6834.83/components/variations/service/variations_field_trial_creator_base.cc
-@@ -121,6 +121,9 @@ Study::CpuArchitecture GetCurrentCpuArch
+--- chromium-133.0.6943.53.orig/components/variations/service/variations_field_trial_creator_base.cc
++++ chromium-133.0.6943.53/components/variations/service/variations_field_trial_creator_base.cc
+@@ -120,6 +120,9 @@ Study::CpuArchitecture GetCurrentCpuArch
}
return Study::X86_64;
}
+ if (process_arch == "RISCV_64") {
+ return Study::RISCV64;
+ }
- NOTREACHED_IN_MIGRATION();
- return Study::X86_64;
+ NOTREACHED();
}
-Index: chromium-132.0.6834.83/v8/src/compiler/backend/riscv/code-generator-riscv.cc
-===================================================================
---- chromium-132.0.6834.83.orig/v8/src/compiler/backend/riscv/code-generator-riscv.cc
-+++ chromium-132.0.6834.83/v8/src/compiler/backend/riscv/code-generator-riscv.cc
-@@ -3742,12 +3742,20 @@ CodeGenerator::CodeGenResult CodeGenerat
- break;
- }
- case kRiscvEnableDebugTrace: {
-+#ifdef USE_SIMULATOR
- __ Debug(TRACE_ENABLE | LOG_TRACE | LOG_REGS);
- break;
-+#else
-+ UNREACHABLE();
-+#endif
- }
- case kRiscvDisableDebugTrace: {
-+#ifdef USE_SIMULATOR
- __ Debug(TRACE_DISABLE | LOG_TRACE | LOG_REGS);
- break;
-+#else
-+ UNREACHABLE();
-+#endif
- }
- default:
- #ifdef DEBUG
+
+
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-02-13 8:53 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-25 23:55 [gentoo-commits] proj/riscv:master commit in: www-client/chromium/files/, www-client/chromium/ Yixun Lan
-- strict thread matches above, loose matches on Subject: below --
2025-02-13 8:53 Jakov Smolić
2025-01-28 11:21 Yixun Lan
2025-01-15 23:27 Jakov Smolić
2024-04-12 4:09 Yixun Lan
2024-04-12 4:09 Yixun Lan
2021-12-14 9:25 Yixun Lan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox