summaryrefslogtreecommitdiff
path: root/www-client/chromium
diff options
context:
space:
mode:
Diffstat (limited to 'www-client/chromium')
-rw-r--r--www-client/chromium/Manifest22
-rw-r--r--www-client/chromium/chromium-90.0.4430.93.ebuild (renamed from www-client/chromium/chromium-90.0.4430.40.ebuild)15
-rw-r--r--www-client/chromium/chromium-91.0.4472.19.ebuild (renamed from www-client/chromium/chromium-91.0.4455.2.ebuild)39
-rw-r--r--www-client/chromium/chromium-92.0.4484.7.ebuild (renamed from www-client/chromium/chromium-89.0.4389.90.ebuild)113
-rw-r--r--www-client/chromium/files/chromium-89-webcodecs-deps.patch26
-rw-r--r--www-client/chromium/files/chromium-91-ThemeService-crash.patch36
-rw-r--r--www-client/chromium/files/chromium-91-system-icu.patch29
-rw-r--r--www-client/chromium/files/chromium-glibc-2.33.patch141
8 files changed, 327 insertions, 94 deletions
diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index 6c1ab43725d5..b294bf65298f 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -1,17 +1,19 @@
AUX chromium-89-EnumTable-crash.patch 2712 BLAKE2B 6715f98a5cd2c9886050f9d360938e261308a3def252e25642a473e86626594fa6c06cb3231dd57dc5428db8ee118848a0a085abf741c9555778f3ae3d9d374f SHA512 07ecb68d5ca2d732c9ca58b4dc007eb2f4b842bdf6ba46cca9050bf1c582439ebb23db1149c76d5a27f4d8de548de946e80eff0c5b1759e4b6714e0c6a7b26c9
-AUX chromium-89-webcodecs-deps.patch 976 BLAKE2B 5a5a397c4cbc5c6e16cd95364ceadfea342ea2d1acabd7640c0bb6e65218dc4e5783a743912c352b3f9422b2f9e067db9109c64e117f82673659c2c5338b1353 SHA512 1585d2d9258bcfd5d78956ff3b7c8d61997a65133e86a2878c9e7bdf68ad9c3a6c24f20f02f10388b7dae02f7ad82c7533687ff13918f75e5ceeb112926fc4e0
+AUX chromium-91-ThemeService-crash.patch 1306 BLAKE2B 327fa2365ba15efa754d959afa8ce7a4f6a3134275b5ae2ba3018dee107c287477903f40337ebac9c1f95995c1a133c3b644bcfcb627466b5b9b8fda511542a6 SHA512 f729888b45b103a600babec88dfac9f1605e0a03cd2d5832b8790bf11eca1c36ef4fa0e16912b972e83d7c31b2c96fbb00445dcaa9711e2bc9cd4d3f8f244d0e
+AUX chromium-91-system-icu.patch 946 BLAKE2B 68cac9880e88c2d7048895b3ddcfb6c3615df6d0d7b59c81b1a25e223114cf792956408dbe8038a2db2076d9985170b3beca4de3bf0589016a24e7b23c2608d2 SHA512 89943ea95cdf5b1c92d494e9019935f683a03d8379ef208bb5b2ca746eb3eb0ccee6d91e24d831eb0092960b376a7cdda7c3e2043765b0577cf2154b00a43ac9
AUX chromium-browser.xml 407 BLAKE2B 168d78b0855546ca559cfb51aff0bc85d5e6ae974c25eb76e4a02f6d11659489c6e40397a0b2f7bc1fda336fd2c6dd8c863fccc3340719210b41c7fef51927f4 SHA512 b767fb4fd1925029d95560fc14cb7ab12ae43b2fe923e92d75e733b9723cbe1dcdf6df041a2b62554e98b79b47ef3f6028c773e72e6fd53166a021d49657aeca
+AUX chromium-glibc-2.33.patch 5771 BLAKE2B 792306c8b171ab4347bacbbfc7f0fb38c5c6e9d97f3d4cf17320e7091a9d9c2765e2204262daf8ed71b1d346b255fcb3d5c2c0161e7a854dab4db9749ef7dd32 SHA512 b8bc3cb40d187500e22455a08d5c9cd5638665f717f3cfcf81d913ffe1af8c9c37bcd81c0066024721dafd74f0df178e7fb4c1028c614902cd32a1da4db0ede1
AUX chromium-launcher-r6.sh 1593 BLAKE2B a871bd572239552390b216c89269dfe132474e1f57bfd0429f605af8285634659725c550b701e537f56adf20cba2dcb27dd9dadd390366dedc147f1ee987f462 SHA512 c01cb376eae2871dfa7a488d96ac8cc3445230eeb0fbd865948c5b3b601820468e85f2f0b9b30fff940c736aded050b7802759b8562e6378747af93c1d4f08a3
AUX chromium-shim_headers.patch 1510 BLAKE2B 9716cd250b249c6255aca01a385ef8a2a6f1df9ea3cf7499715543c14f8be62fd323b6048b890aa2be45891e7a765d92de3f41c3b3a88c08dae4b806c048e20f SHA512 c74bcf690a41b4f9b364477d23408d493aa674e3bd014940098a594471297c2a425241f908510061b5f11c9cfe009c4a803370edd757d3c0ab8d9c0cc128135c
AUX chromium.default 148 BLAKE2B 5ee5b582c59a6e4bef87bbb0e232e2470ad412b1fbbb3b9af6ef7153edb55c5b9080cc16a5a115b0c5b3c381aa87ce57a7b12bdd2070e67dac10a6c2995ddbaf SHA512 0d4849e03592fb58b05e62a43021eca7e61615616c8907c3b2e445402e03adaf9e8fa25b0a745d6c31eb037456215cc02b59e345a3a06d932e76cf990c92d739
-DIST chromium-89-patchset-7.tar.xz 4640 BLAKE2B 6150f92a4cb83025b7521c573e9a14bfcb26f7a5ff4ebe79cfc819b214ae05d0e986b9db561a99b4f9c7b4a8e4adf1c8ee966011bb0791ef11fc2be89b03b216 SHA512 6ef5be9e56b82c70d3d1a0596e74af3bab97ea82a8247b6d0ba736411779be10b17c7cd9ccd9eae5fac27af3907fd3b56e301e73011f58b2c4052bbc03390b1c
-DIST chromium-89.0.4389.90.tar.xz 890844888 BLAKE2B 7e599e17f6ffae422d0eb268f2847d5611424971508656abe50d5a89475382ec10bb348441648fbdb939b8acc01fb64a70467595d6649b9e2f3309e59e27a875 SHA512 d95ea0cc42a792b68cb5ba9bd455c6e964ce06c15ac849a2d317cc1cb07940578ff5f7b73be775915fff2decf7dc8e230935e6b545743959ba1cdfc9ab904b4b
-DIST chromium-90-patchset-6.tar.xz 3828 BLAKE2B bbd1378868cf4d699ff097ea41226ff694d58468f8f93860f2d6cc60924f35fb1f0b17fcf5a916f04545171d1219b699072222f138240fd483c704874cfce178 SHA512 70321eb4e9fe27818d5e6ae3109d3871a870a7fb6886328dcc9fc8291ac72fc003d678aec7f9925afe0c5667c70ce9bca8f61434b11a331fc1a29d61ad7b59e3
-DIST chromium-90.0.4430.40.tar.xz 917453824 BLAKE2B 736fb023244e06ca95c481eca762f59f302cccf5835bc3dda88c1d3780de9632db6fe3b84cc92257a2f02d68aca346c4f984a588f0449e7955250b56c7363a8b SHA512 a439275ac5f4e44cbf8fb4e070209ea018bed05f432fa5cc87f94206f790a98e73f2ddd46fcd7ffdd757535c7f702241a8332f5f1d2072e2fc7d2284c1995c0a
-DIST chromium-91-patchset-2.tar.xz 6992 BLAKE2B 8639873f0f805c88ba41b97f06ef583498f58664c012afe4e8d185ddd42e6380cd331d0df9101f5b1e30c73cdca13c267d19592df100db3f1a23cabfc871ae00 SHA512 f5d7377be13f6f201f572215dd7fd1d57c755c15263cf91e5d80c4d8e77be2a371c4c236b9f621b7471451904fa8886357ef2c8907b5e748f0ffce3ebca5ca33
-DIST chromium-91.0.4455.2.tar.xz 933340784 BLAKE2B d63a022aad7d3d490f524e2cdcfed1c314227882b861a67213f8a9f231ed53e265c72754296a17e54f8760454c2d7d7bcaae90980a1994ae42f899fa537efdfa SHA512 2c6b6a74f9aaea1b17c9f1fbd580cfec093ec17461056cb5594a12e8f4c4f7a594a449027210deb0c506be9906d11624ab3d7ae35c20a9ba665a9dc8995287d8
+DIST chromium-90-patchset-7.tar.xz 3892 BLAKE2B 3ba169baaaf74b548749be3f845f505256cc9573f798e10929b5d1f0f534d739e657e3fa134c78ec3f7987a3b89adfc4bee0d1a6585ad8fe4bdc3ffd1181042c SHA512 5e1aa834ee5668ee40fc3af5cda7325da710dd1a0dea7ce535e89e36fd7d321db63d520a9b6ce6372ed941473dff18d1276316567af810c18e1478a04d3f23f8
+DIST chromium-90.0.4430.93.tar.xz 917357836 BLAKE2B 5c2643d7d96775491243a4e5b1ba6793523edd3991f04167f51cfbdc5b035c753d80ef4b427785a05f6628b90f4a483e88ddc219358e118e4f3a5020dbf82d77 SHA512 c409df621ec849bcfd5c9f6dbeeddde86e75e54be8f8d51a73daf69a216f4c26b083d32e5f5b9f0c7baf833c495322fb2543d1565cddd6f0b8f914db14a13d4e
+DIST chromium-91-patchset-5.tar.xz 3648 BLAKE2B 6c8636f63dc857886d09c8ed69b4c61adc627d2280decdf03b548be8ff2cb522ef0def7a240d1c3c9ee71920304a43af571e2146e2828b89c3b6f87373b8c4a1 SHA512 1554feec958291ad3140e2685683befe4b6e0b0ab6a8694c0e02d5b4bf4b7fcad410f17e72099653456fd95ed24a732dd28f2dcfaf146eb3bf68052e2342a481
+DIST chromium-91.0.4472.19.tar.xz 949006036 BLAKE2B affc7696fe6a55858a3eda9d5b69c858a75d81f72946e4159fef446175c8759e09f0c9cb3aaa8c603bd8f209af3585e074906d977187fde74b1efa8591cab5ee SHA512 50f83970b7137a42a7742e756d0df2468a50147d2801bc35debcacfa956897725d91df5ffcbfa73ad668ba31d897c7b95d75e3005544c398c695b5731d275f9b
+DIST chromium-92-patchset-1.tar.xz 4228 BLAKE2B 682ae84817d0922afceb65d3e0c1f272156c0c0cd67cbc82939ec31edd404d71c063656144027cc6d7c2184be4acd0877464193f71e55dbed395d7240bbd00c3 SHA512 e1863b08f2a8030a03e14877dba4aba67d78411c3878bf943b136346ef8d2bcbb989ff38235bea4880d4ae790676da9dd1fb3ae30dcc4e957338c4f94b99aeb3
+DIST chromium-92.0.4484.7.tar.xz 949838680 BLAKE2B 1dca271f1992dd2e5d15b8652169d5e39d49a023996afc047fdf36e7cea3bb740dc0e3afc24ca0eb4e2ebc687f08955a9ace9b0142f0a8a765d606e1a36f8ec5 SHA512 6052912c934b71edddb9605d2636d073807254dcdd829c6fd902322f41a3a575bb89e493cbcd540ca605433cea6ff08dd51e7429e71fb12877cfd591c1b89422
DIST setuptools-44.1.0.zip 858569 BLAKE2B f59f154e121502a731e51294ccd293d60ffccadacf51e23b53bf7ceba38858948b86783238061136c827ac3373ea7ea8e6253d4bb53f3f1dd69284568ec65a68 SHA512 4dfb0f42d334b835758e865a26ecd1e725711fa2b9c38ddc273b8b3849fba04527bc97436d11ba1e98f1a42922aa0f0b9032e32998273c705fac6e10735eacbf
-EBUILD chromium-89.0.4389.90.ebuild 28640 BLAKE2B 6bcebe73cde2ad5242ac9147ae1305ac3c9e9579c78c7bc57ce27c18ff09eee325006fbc753adbf8e629b3c6b08a68b6a04c0022e33639284af3d39f06a5cf90 SHA512 d4a16504187c6246da02a350c3ad082588c97e1734be6cf5655f987dbf52c8082440dffccb26d59c9430fc0381610e1a8574d4902e1705374e038b3846782b17
-EBUILD chromium-90.0.4430.40.ebuild 29000 BLAKE2B 2bbb69a56283d97503cdc26f76c9a54fb242da7475a3cbc4bba3f5a6b328de8e09a398e1a473b4e344e63c62d9426ca5de908ce1791369332e8aed8b9f50dffe SHA512 812423b3c631d6d729ad85c4dad425ea7ae337850568ac3633541f9464318057ac0ca8e0a693007abeeb20d63c9b2ca248e0d323087725f4d6fac8f5dd457546
-EBUILD chromium-91.0.4455.2.ebuild 29019 BLAKE2B 08c982ee03449bb37930207fca1a6259e190ce1b95871f9ac7e685b15c6adbf77296ec0cfef28046fe8abf43dfa47e6d2c275e44cd24f2f778a3799ce0648389 SHA512 5cf81230b09ceaaffde0a6bf35e42dbb93ddcf96db11d5e07239ab3a8759d92a8ccb1e88c7c6acdd78d0186f6d371a4b79ed920a640468740e4c92fd890bb371
+EBUILD chromium-90.0.4430.93.ebuild 29467 BLAKE2B 3fc2a14244554cc602c46fdaa208d788d62f1f0381cb30236737aa1a61d1bcc32dc69cae2371ca0a6e48143f29b5e48995670cbdf4dbf0886d70177c15e2568f SHA512 a8d3181a1dbd672277f360cd564610a3780cef792c2e62cdb7ca9ab607d62276995fbe616b375ab9ab453f0378ae4f4ae523a46503b3438ac933e6eb773a3e44
+EBUILD chromium-91.0.4472.19.ebuild 29231 BLAKE2B 45731b0005e3e44ed8ddb43205484ba841fc81dc178286a6d4a56d553c11c1fb982ff40056910efeef741be663c41aa8fa9cac61a5139683edeb200eb687bc0c SHA512 f4de9fca7669165e6408c9d5d070f5aad99c1df9c4d8a5799d82932cbbe66cb75a96516aa2434a52e5bd2b8daf9bea62741e3553c8c43c5b4c99c1f69fbd10dc
+EBUILD chromium-92.0.4484.7.ebuild 29608 BLAKE2B 2c6b640c4eabbc0afa6feb957c4187abefcd376e3fa4de5d88b5389e1c585cbae66d2772fb880bb169a9956f4e3b55f5caa0a8256250cc32fb629b2b886a87f3 SHA512 e8ea1328fc97ffc6ead89fb4383d8e1d9cf7eae091ebdcedfa42017ee588c663433cadca93d89606ee42fe1e469bce7144338e25f575e95c35a2941e0704c184
MISC metadata.xml 1596 BLAKE2B e15a05a13e8200be6a946ba0b2631a014b83a66267a9ce956245d28312403b3229ef6a961830bd69535bc4286912fdf8d5f3a6cb0d0f8aff29936ceaf7113e8f SHA512 204d0b04307b2fc2188c64f290c0e3a0a0b14f3ac0f35deaffdaac1b30addd4df1f2eef2eae19a674f07123dc44a6ba4a0b5e2419a898bfaac61579603ceb0ee
diff --git a/www-client/chromium/chromium-90.0.4430.40.ebuild b/www-client/chromium/chromium-90.0.4430.93.ebuild
index cfbb5d1d5c3f..ff4555efaf8b 100644
--- a/www-client/chromium/chromium-90.0.4430.40.ebuild
+++ b/www-client/chromium/chromium-90.0.4430.93.ebuild
@@ -13,7 +13,7 @@ inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-util
DESCRIPTION="Open-source version of Google Chrome web browser"
HOMEPAGE="https://chromium.org/"
-PATCHSET="6"
+PATCHSET="7"
PATCHSET_NAME="chromium-$(ver_cut 1)-patchset-${PATCHSET}"
SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
https://files.pythonhosted.org/packages/ed/7b/bbf89ca71e722b7f9464ebffe4b5ee20a9e5c9a555a56e2d3914bb9119a6/setuptools-44.1.0.zip
@@ -21,7 +21,7 @@ SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 ~x86"
IUSE="component-build cups cpu_flags_arm_neon +hangouts headless +js-type-check kerberos official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-icu +tcmalloc vaapi wayland widevine"
REQUIRED_USE="
component-build? ( !suid )
@@ -236,6 +236,17 @@ src_prepare() {
"${FILESDIR}/chromium-shim_headers.patch"
)
+ # seccomp sandbox is broken if compiled against >=sys-libs/glibc-2.33, bug #769989
+ if has_version -d ">=sys-libs/glibc-2.33"; then
+ ewarn "Adding experimental glibc-2.33 sandbox patch. Seccomp sandbox might"
+ ewarn "still not work correctly. In case of issues, try to disable seccomp"
+ ewarn "sandbox by adding --disable-seccomp-filter-sandbox to CHROMIUM_FLAGS"
+ ewarn "in /etc/chromium/default."
+ PATCHES+=(
+ "${FILESDIR}/chromium-glibc-2.33.patch"
+ )
+ fi
+
default
mkdir -p third_party/node/linux/node-linux-x64/bin || die
diff --git a/www-client/chromium/chromium-91.0.4455.2.ebuild b/www-client/chromium/chromium-91.0.4472.19.ebuild
index 25523111680d..c526c9868284 100644
--- a/www-client/chromium/chromium-91.0.4455.2.ebuild
+++ b/www-client/chromium/chromium-91.0.4472.19.ebuild
@@ -13,7 +13,7 @@ inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-util
DESCRIPTION="Open-source version of Google Chrome web browser"
HOMEPAGE="https://chromium.org/"
-PATCHSET="2"
+PATCHSET="5"
PATCHSET_NAME="chromium-$(ver_cut 1)-patchset-${PATCHSET}"
SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
https://files.pythonhosted.org/packages/ed/7b/bbf89ca71e722b7f9464ebffe4b5ee20a9e5c9a555a56e2d3914bb9119a6/setuptools-44.1.0.zip
@@ -22,7 +22,7 @@ SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="component-build cups cpu_flags_arm_neon +hangouts headless +js-type-check kerberos official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-icu +tcmalloc vaapi wayland widevine"
+IUSE="component-build cups cpu_flags_arm_neon +hangouts headless +js-type-check kerberos official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-icu vaapi wayland widevine"
REQUIRED_USE="
component-build? ( !suid )
screencast? ( wayland )
@@ -40,8 +40,8 @@ COMMON_X_DEPEND="
x11-libs/libXrandr:=
x11-libs/libXrender:=
x11-libs/libXtst:=
- x11-libs/libXScrnSaver:=
x11-libs/libxcb:=
+ x11-libs/libxshmfence:=
vaapi? ( >=x11-libs/libva-2.7:=[X,drm] )
"
@@ -94,13 +94,11 @@ COMMON_DEPEND="
)
)
"
-# For nvidia-drivers blocker, see bug #413637 .
RDEPEND="${COMMON_DEPEND}
x11-misc/xdg-utils
virtual/opengl
virtual/ttf-fonts
selinux? ( sec-policy/selinux-chromium )
- tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 )
"
DEPEND="${COMMON_DEPEND}
"
@@ -139,7 +137,7 @@ else
dev-libs/libxslt:=
>=dev-libs/re2-0.2019.08.01:=
>=media-libs/openh264-1.6.0:=
- system-icu? ( >=dev-libs/icu-68.1:= )
+ system-icu? ( >=dev-libs/icu-69.1:= )
"
RDEPEND+="${COMMON_DEPEND}"
DEPEND+="${COMMON_DEPEND}"
@@ -184,10 +182,6 @@ pre_build_checks() {
if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then
die "At least gcc 9.2 is required"
fi
- # component build hangs with tcmalloc enabled due to sandbox issue, bug #695976.
- if has usersandbox ${FEATURES} && use tcmalloc && use component-build; then
- die "Component build with tcmalloc requires FEATURES=-usersandbox."
- fi
if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then
CPP="${CHOST}-clang++ -E"
if ! ver_test "$(clang-major-version)" -ge 12; then
@@ -233,9 +227,22 @@ src_prepare() {
local PATCHES=(
"${WORKDIR}/patches"
"${FILESDIR}/chromium-89-EnumTable-crash.patch"
+ "${FILESDIR}/chromium-91-ThemeService-crash.patch"
+ "${FILESDIR}/chromium-91-system-icu.patch"
"${FILESDIR}/chromium-shim_headers.patch"
)
+ # seccomp sandbox is broken if compiled against >=sys-libs/glibc-2.33, bug #769989
+ if has_version -d ">=sys-libs/glibc-2.33"; then
+ ewarn "Adding experimental glibc-2.33 sandbox patch. Seccomp sandbox might"
+ ewarn "still not work correctly. In case of issues, try to disable seccomp"
+ ewarn "sandbox by adding --disable-seccomp-filter-sandbox to CHROMIUM_FLAGS"
+ ewarn "in /etc/chromium/default."
+ PATCHES+=(
+ "${FILESDIR}/chromium-glibc-2.33.patch"
+ )
+ fi
+
default
mkdir -p third_party/node/linux/node-linux-x64/bin || die
@@ -328,6 +335,7 @@ src_prepare() {
third_party/flatbuffers
third_party/freetype
third_party/fusejs
+ third_party/highway
third_party/libgifcodec
third_party/liburlpattern
third_party/libzip
@@ -354,6 +362,7 @@ src_prepare() {
third_party/libavif
third_party/libgav1
third_party/libjingle
+ third_party/libjxl
third_party/libphonenumber
third_party/libsecret
third_party/libsrtp
@@ -411,7 +420,6 @@ src_prepare() {
third_party/qcms
third_party/rnnoise
third_party/s2cellid
- third_party/schema_org
third_party/securemessage
third_party/shell-encryption
third_party/simplejson
@@ -478,9 +486,6 @@ src_prepare() {
if ! use system-icu; then
keeplibs+=( third_party/icu )
fi
- if use tcmalloc; then
- keeplibs+=( third_party/tcmalloc )
- fi
if use wayland && ! use headless ; then
keeplibs+=( third_party/wayland )
fi
@@ -508,6 +513,10 @@ src_prepare() {
# 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
}
src_configure() {
@@ -553,8 +562,6 @@ src_configure() {
# for development and debugging.
myconf_gn+=" is_component_build=$(usex component-build true false)"
- myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")"
-
# Disable nacl, we can't build without pnacl (http://crbug.com/269560).
myconf_gn+=" enable_nacl=false"
diff --git a/www-client/chromium/chromium-89.0.4389.90.ebuild b/www-client/chromium/chromium-92.0.4484.7.ebuild
index fad6274d2d5e..a07a88d82277 100644
--- a/www-client/chromium/chromium-89.0.4389.90.ebuild
+++ b/www-client/chromium/chromium-92.0.4484.7.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python2_7 )
+PYTHON_COMPAT=( python3_8 )
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
@@ -13,7 +13,7 @@ inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-util
DESCRIPTION="Open-source version of Google Chrome web browser"
HOMEPAGE="https://chromium.org/"
-PATCHSET="7"
+PATCHSET="1"
PATCHSET_NAME="chromium-$(ver_cut 1)-patchset-${PATCHSET}"
SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
https://files.pythonhosted.org/packages/ed/7b/bbf89ca71e722b7f9464ebffe4b5ee20a9e5c9a555a56e2d3914bb9119a6/setuptools-44.1.0.zip
@@ -21,8 +21,8 @@ SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 arm64 ~x86"
-IUSE="component-build cups cpu_flags_arm_neon +hangouts headless +js-type-check kerberos official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-icu +tcmalloc vaapi wayland widevine"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="component-build cups cpu_flags_arm_neon +hangouts headless +js-type-check kerberos official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-icu vaapi wayland widevine"
REQUIRED_USE="
component-build? ( !suid )
screencast? ( wayland )
@@ -40,8 +40,8 @@ COMMON_X_DEPEND="
x11-libs/libXrandr:=
x11-libs/libXrender:=
x11-libs/libXtst:=
- x11-libs/libXScrnSaver:=
x11-libs/libxcb:=
+ x11-libs/libxshmfence:=
vaapi? ( >=x11-libs/libva-2.7:=[X,drm] )
"
@@ -68,6 +68,7 @@ COMMON_DEPEND="
)
>=media-libs/opus-1.3.1:=
)
+ net-misc/curl[ssl]
sys-apps/dbus:=
sys-apps/pciutils:=
virtual/udev
@@ -94,13 +95,11 @@ COMMON_DEPEND="
)
)
"
-# For nvidia-drivers blocker, see bug #413637 .
RDEPEND="${COMMON_DEPEND}
x11-misc/xdg-utils
virtual/opengl
virtual/ttf-fonts
selinux? ( sec-policy/selinux-chromium )
- tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 )
"
DEPEND="${COMMON_DEPEND}
"
@@ -110,6 +109,7 @@ BDEPEND="
>=app-arch/gzip-1.7
app-arch/unzip
dev-lang/perl
+ dev-lang/python:2.7[xml]
>=dev-util/gn-0.1807
dev-vcs/git
>=dev-util/gperf-3.0.3
@@ -127,19 +127,19 @@ BDEPEND="
: ${CHROMIUM_FORCE_LIBCXX=no}
if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then
- BDEPEND+=" >=sys-devel/clang-10"
+ BDEPEND+=" >=sys-devel/clang-12"
fi
if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
- RDEPEND+=" >=sys-libs/libcxx-10"
- DEPEND+=" >=sys-libs/libcxx-10"
+ RDEPEND+=" >=sys-libs/libcxx-12"
+ DEPEND+=" >=sys-libs/libcxx-12"
else
COMMON_DEPEND="
app-arch/snappy:=
dev-libs/libxslt:=
>=dev-libs/re2-0.2019.08.01:=
>=media-libs/openh264-1.6.0:=
- system-icu? ( >=dev-libs/icu-68.1:= )
+ system-icu? ( >=dev-libs/icu-69.1:= )
"
RDEPEND+="${COMMON_DEPEND}"
DEPEND+="${COMMON_DEPEND}"
@@ -184,20 +184,17 @@ pre_build_checks() {
if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then
die "At least gcc 9.2 is required"
fi
- # component build hangs with tcmalloc enabled due to sandbox issue, bug #695976.
- if has usersandbox ${FEATURES} && use tcmalloc && use component-build; then
- die "Component build with tcmalloc requires FEATURES=-usersandbox."
- fi
if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then
- if use component-build; then
- die "Component build with clang requires fuzzer headers."
+ 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="3G"
- CHECKREQS_DISK_BUILD="7G"
+ CHECKREQS_DISK_BUILD="8G"
if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then
if use custom-cflags || use component-build; then
CHECKREQS_DISK_BUILD="25G"
@@ -231,16 +228,32 @@ src_prepare() {
local PATCHES=(
"${WORKDIR}/patches"
- "${FILESDIR}/chromium-89-webcodecs-deps.patch"
"${FILESDIR}/chromium-89-EnumTable-crash.patch"
"${FILESDIR}/chromium-shim_headers.patch"
)
+ # seccomp sandbox is broken if compiled against >=sys-libs/glibc-2.33, bug #769989
+ if has_version -d ">=sys-libs/glibc-2.33"; then
+ ewarn "Adding experimental glibc-2.33 sandbox patch. Seccomp sandbox might"
+ ewarn "still not work correctly. In case of issues, try to disable seccomp"
+ ewarn "sandbox by adding --disable-seccomp-filter-sandbox to CHROMIUM_FLAGS"
+ ewarn "in /etc/chromium/default."
+ PATCHES+=(
+ "${FILESDIR}/chromium-glibc-2.33.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 versions
+ sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die
+ sed -i -e "s|python2|python2\.7|g" buildtools/linux64/clang-format || die
+ sed -i -e "s|python|python2\.7|g" \
+ third_party/dom_distiller_js/protoc_plugins/json_values_converter.py || die
+
local keeplibs=(
base/third_party/cityhash
base/third_party/double_conversion
@@ -302,6 +315,7 @@ src_prepare() {
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
@@ -309,6 +323,7 @@ src_prepare() {
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/fabricjs
third_party/devtools-frontend/src/front_end/third_party/i18n
third_party/devtools-frontend/src/front_end/third_party/intl-messageformat
@@ -320,12 +335,19 @@ src_prepare() {
third_party/devtools-frontend/src/front_end/third_party/wasmparser
third_party/devtools-frontend/src/third_party
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
@@ -342,10 +364,13 @@ src_prepare() {
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
@@ -371,6 +396,7 @@ src_prepare() {
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
@@ -402,7 +428,6 @@ src_prepare() {
third_party/qcms
third_party/rnnoise
third_party/s2cellid
- third_party/schema_org
third_party/securemessage
third_party/shell-encryption
third_party/simplejson
@@ -419,13 +444,20 @@ src_prepare() {
third_party/swiftshader/third_party/marl
third_party/swiftshader/third_party/subzero
third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1
- third_party/tint
+ third_party/tensorflow-text
+ third_party/tflite
+ third_party/tflite/src/third_party/eigen3
+ third_party/tflite/src/third_party/fft2d
+ third_party/tflite-support
+ third_party/ruy
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
@@ -461,9 +493,6 @@ src_prepare() {
if ! use system-icu; then
keeplibs+=( third_party/icu )
fi
- if use tcmalloc; then
- keeplibs+=( third_party/tcmalloc )
- fi
if use wayland && ! use headless ; then
keeplibs+=( third_party/wayland )
fi
@@ -491,6 +520,10 @@ src_prepare() {
# 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
}
src_configure() {
@@ -536,8 +569,6 @@ src_configure() {
# for development and debugging.
myconf_gn+=" is_component_build=$(usex component-build true false)"
- myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")"
-
# Disable nacl, we can't build without pnacl (http://crbug.com/269560).
myconf_gn+=" enable_nacl=false"
@@ -606,20 +637,23 @@ src_configure() {
# Disable forced lld, bug 641556
myconf_gn+=" use_lld=false"
+ # Disable pseudolocales, only used for testing
+ myconf_gn+=" enable_pseudolocales=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. Disable Client ID and secrets as requested by
- # Google. Feel free to contact chromium@gentoo.org for more info.
+ # please get your own set of keys. Feel free to contact chromium@gentoo.org
+ # for more info.
local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
-# local google_default_client_id="329227923882.apps.googleusercontent.com"
-# local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu"
+ local google_default_client_id="329227923882.apps.googleusercontent.com"
+ local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu"
myconf_gn+=" google_api_key=\"${google_api_key}\""
-# myconf_gn+=" google_default_client_id=\"${google_default_client_id}\""
-# myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\""
+ myconf_gn+=" google_default_client_id=\"${google_default_client_id}\""
+ myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\""
local myarch="$(tc-arch)"
# Avoid CFLAGS problems, bug #352457, bug #390147.
@@ -711,9 +745,9 @@ src_configure() {
fi
# Enable ozone wayland and/or headless support
+ myconf_gn+=" use_ozone=true ozone_auto_platforms=false"
+ myconf_gn+=" ozone_platform_headless=true"
if use wayland || use headless; then
- 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_x11=false"
@@ -724,12 +758,11 @@ src_configure() {
myconf_gn+=" use_xkbcommon=true"
myconf_gn+=" ozone_platform=\"wayland\""
fi
- else
- myconf_gn+=" use_ozone=false"
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/' \
@@ -803,6 +836,7 @@ src_install() {
fi
doexe out/Release/chromedriver
+ doexe out/Release/crashpad_handler
local sedargs=( -e
"s:/usr/lib/:/usr/$(get_libdir)/:g;
@@ -885,10 +919,9 @@ pkg_postinst() {
readme.gentoo_print_elog
if use vaapi; then
- elog "VA-API is disabled by default at runtime. Either enable it"
- elog "by navigating to chrome://flags/#enable-accelerated-video-decode"
- elog "inside Chromium or add --enable-accelerated-video-decode"
- elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ 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"
diff --git a/www-client/chromium/files/chromium-89-webcodecs-deps.patch b/www-client/chromium/files/chromium-89-webcodecs-deps.patch
deleted file mode 100644
index 304f45df05d3..000000000000
--- a/www-client/chromium/files/chromium-89-webcodecs-deps.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From b6f16f656bb8683f70ce8ce19791d594fce4163b Mon Sep 17 00:00:00 2001
-From: Stephan Hartmann <stha09@googlemail.com>
-Date: Fri, 15 Jan 2021 19:54:08 +0000
-Subject: [PATCH] add dependency on opus in webcodecs
-
-webcodecs uses opus, but dependency is missing. With unbundled
-opus library build fails, because include path is incomplete.
----
- third_party/blink/renderer/modules/webcodecs/BUILD.gn | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/third_party/blink/renderer/modules/webcodecs/BUILD.gn b/third_party/blink/renderer/modules/webcodecs/BUILD.gn
-index 2c407ec..0474bfe 100644
---- a/third_party/blink/renderer/modules/webcodecs/BUILD.gn
-+++ b/third_party/blink/renderer/modules/webcodecs/BUILD.gn
-@@ -63,6 +63,7 @@ blink_modules_sources("webcodecs") {
- "//media/mojo/clients",
- "//media/mojo/mojom",
- "//third_party/libyuv:libyuv",
-+ "//third_party/opus",
- ]
- if (media_use_openh264) {
- deps += [ "//third_party/openh264:encoder" ]
---
-2.26.2
-
diff --git a/www-client/chromium/files/chromium-91-ThemeService-crash.patch b/www-client/chromium/files/chromium-91-ThemeService-crash.patch
new file mode 100644
index 000000000000..455aef33e785
--- /dev/null
+++ b/www-client/chromium/files/chromium-91-ThemeService-crash.patch
@@ -0,0 +1,36 @@
+From 265192616d494ed586df9123ceb63389a7c48916 Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09@googlemail.com>
+Date: Tue, 13 Apr 2021 06:20:25 +0000
+Subject: [PATCH] fix crash in theme_service
+
+---
+ chrome/browser/themes/theme_service.h | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/chrome/browser/themes/theme_service.h b/chrome/browser/themes/theme_service.h
+index 592d40a..337dfac 100644
+--- a/chrome/browser/themes/theme_service.h
++++ b/chrome/browser/themes/theme_service.h
+@@ -299,6 +299,10 @@ class ThemeService : public KeyedService,
+ // The number of infobars currently displayed.
+ int number_of_reinstallers_ = 0;
+
++ // Declared before |theme_syncable_service_|, because ThemeSyncableService
++ // removes itself from the |observers_| list on destruction.
++ base::ObserverList<ThemeServiceObserver> observers_;
++
+ std::unique_ptr<ThemeSyncableService> theme_syncable_service_;
+
+ #if BUILDFLAG(ENABLE_EXTENSIONS)
+@@ -320,8 +324,6 @@ class ThemeService : public KeyedService,
+ ScopedObserver<ui::NativeTheme, ui::NativeThemeObserver>
+ native_theme_observer_{this};
+
+- base::ObserverList<ThemeServiceObserver> observers_;
+-
+ base::WeakPtrFactory<ThemeService> weak_ptr_factory_{this};
+
+ DISALLOW_COPY_AND_ASSIGN(ThemeService);
+--
+2.26.3
+
diff --git a/www-client/chromium/files/chromium-91-system-icu.patch b/www-client/chromium/files/chromium-91-system-icu.patch
new file mode 100644
index 000000000000..797ee33b374b
--- /dev/null
+++ b/www-client/chromium/files/chromium-91-system-icu.patch
@@ -0,0 +1,29 @@
+From a0ddb153bdaf0ef83c8bfec744fedb97bf4ccfd0 Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09@googlemail.com>
+Date: Fri, 16 Apr 2021 14:09:29 +0000
+Subject: [PATCH] [unbundle] Use char16_t as UCHAR_TYPE
+
+Overriding UCHAR_TYPE was dropped with:
+https://chromium-review.googlesource.com/c/chromium/deps/icu/+/2732628
+---
+ build/linux/unbundle/icu.gn | 19 +++++++------------
+ 1 file changed, 7 insertions(+), 12 deletions(-)
+
+diff --git a/build/linux/unbundle/icu.gn b/build/linux/unbundle/icu.gn
+index 0f52fc1..33a0121 100644
+--- a/build/linux/unbundle/icu.gn
++++ b/build/linux/unbundle/icu.gn
+@@ -16,7 +16,6 @@ config("icu_config") {
+ defines = [
+ "USING_SYSTEM_ICU=1",
+ "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC",
+- "UCHAR_TYPE=uint16_t",
+
+ # U_EXPORT (defined in unicode/platform.h) is used to set public visibility
+ # on classes through the U_COMMON_API and U_I18N_API macros (among others).
+ ]
+ }
+
+--
+2.26.3
+
diff --git a/www-client/chromium/files/chromium-glibc-2.33.patch b/www-client/chromium/files/chromium-glibc-2.33.patch
new file mode 100644
index 000000000000..26e8003968d1
--- /dev/null
+++ b/www-client/chromium/files/chromium-glibc-2.33.patch
@@ -0,0 +1,141 @@
+diff -up chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc.fstatfix chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
+--- chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc.fstatfix 2021-01-25 10:11:45.427436398 -0500
++++ chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc 2021-01-25 10:12:51.337699003 -0500
+@@ -257,6 +257,18 @@ ResultExpr EvaluateSyscallImpl(int fs_de
+ return RestrictKillTarget(current_pid, sysno);
+ }
+
++#if defined(__NR_newfstatat)
++ if (sysno == __NR_newfstatat) {
++ return RewriteFstatatSIGSYS();
++ }
++#endif
++
++#if defined(__NR_fstatat64)
++ if (sysno == __NR_fstatat64) {
++ return RewriteFstatatSIGSYS();
++ }
++#endif
++
+ if (SyscallSets::IsFileSystem(sysno) ||
+ SyscallSets::IsCurrentDirectory(sysno)) {
+ return Error(fs_denied_errno);
+diff -up chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc.fstatfix chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
+--- chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc.fstatfix 2021-01-25 10:13:10.179774081 -0500
++++ chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc 2021-01-25 10:16:18.790525746 -0500
+@@ -6,6 +6,8 @@
+
+ #include "sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h"
+
++#include <errno.h>
++#include <fcntl.h>
+ #include <stddef.h>
+ #include <stdint.h>
+ #include <string.h>
+@@ -355,6 +357,35 @@ intptr_t SIGSYSSchedHandler(const struct
+ return -ENOSYS;
+ }
+
++intptr_t SIGSYSFstatatHandler(const struct arch_seccomp_data& args,
++ void* aux) {
++ switch (args.nr) {
++#if defined(__NR_newfstatat)
++ case __NR_newfstatat:
++#endif
++#if defined(__NR_fstatat64)
++ case __NR_fstatat64:
++#endif
++#if defined(__NR_newfstatat) || defined(__NR_fstatat64)
++ if (*reinterpret_cast<const char *>(args.args[1]) == '\0'
++ && args.args[3] == static_cast<uint64_t>(AT_EMPTY_PATH)) {
++ return sandbox::sys_fstat64(static_cast<int>(args.args[0]),
++ reinterpret_cast<struct stat64 *>(args.args[2]));
++ } else {
++ errno = EACCES;
++ return -1;
++ }
++ break;
++#endif
++ }
++
++ CrashSIGSYS_Handler(args, aux);
++
++ // Should never be reached.
++ RAW_CHECK(false);
++ return -ENOSYS;
++}
++
+ bpf_dsl::ResultExpr CrashSIGSYS() {
+ return bpf_dsl::Trap(CrashSIGSYS_Handler, NULL);
+ }
+@@ -387,6 +418,10 @@ bpf_dsl::ResultExpr RewriteSchedSIGSYS()
+ return bpf_dsl::Trap(SIGSYSSchedHandler, NULL);
+ }
+
++bpf_dsl::ResultExpr RewriteFstatatSIGSYS() {
++ return bpf_dsl::Trap(SIGSYSFstatatHandler, NULL);
++}
++
+ void AllocateCrashKeys() {
+ #if !defined(OS_NACL_NONSFI)
+ if (seccomp_crash_key)
+diff -up chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h.fstatfix chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h
+--- chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h.fstatfix 2021-01-25 10:16:36.982598236 -0500
++++ chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h 2021-01-25 10:18:45.705111027 -0500
+@@ -62,6 +62,10 @@ SANDBOX_EXPORT intptr_t SIGSYSPtraceFail
+ // sched_setparam(), sched_setscheduler()
+ SANDBOX_EXPORT intptr_t SIGSYSSchedHandler(const arch_seccomp_data& args,
+ void* aux);
++// If the fstatat syscall is actually a disguised fstat, calls the regular fstat
++// syscall, otherwise, crashes in the same way as CrashSIGSYS_Handler.
++SANDBOX_EXPORT intptr_t SIGSYSFstatatHandler(const struct arch_seccomp_data& args,
++ void* aux);
+
+ // Variants of the above functions for use with bpf_dsl.
+ SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYS();
+@@ -72,6 +76,7 @@ SANDBOX_EXPORT bpf_dsl::ResultExpr Crash
+ SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYSFutex();
+ SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYSPtrace();
+ SANDBOX_EXPORT bpf_dsl::ResultExpr RewriteSchedSIGSYS();
++SANDBOX_EXPORT bpf_dsl::ResultExpr RewriteFstatatSIGSYS();
+
+ // Allocates a crash key so that Seccomp information can be recorded.
+ void AllocateCrashKeys();
+diff -up chromium-88.0.4324.96/sandbox/linux/services/syscall_wrappers.cc.fstatfix chromium-88.0.4324.96/sandbox/linux/services/syscall_wrappers.cc
+--- chromium-88.0.4324.96/sandbox/linux/services/syscall_wrappers.cc.fstatfix 2021-01-25 10:18:53.307141311 -0500
++++ chromium-88.0.4324.96/sandbox/linux/services/syscall_wrappers.cc 2021-01-25 10:19:46.982355293 -0500
+@@ -261,4 +261,13 @@ int sys_sigaction(int signum,
+
+ #endif // defined(MEMORY_SANITIZER)
+
++SANDBOX_EXPORT int sys_fstat64(int fd, struct stat64 *buf)
++{
++#if defined(__NR_fstat64)
++ return syscall(__NR_fstat64, fd, buf);
++#else
++ return syscall(__NR_fstat, fd, buf);
++#endif
++}
++
+ } // namespace sandbox
+diff -up chromium-88.0.4324.96/sandbox/linux/services/syscall_wrappers.h.fstatfix chromium-88.0.4324.96/sandbox/linux/services/syscall_wrappers.h
+--- chromium-88.0.4324.96/sandbox/linux/services/syscall_wrappers.h.fstatfix 2021-01-25 10:19:53.115379741 -0500
++++ chromium-88.0.4324.96/sandbox/linux/services/syscall_wrappers.h 2021-01-25 10:20:45.485588421 -0500
+@@ -17,6 +17,7 @@ struct sock_fprog;
+ struct rlimit64;
+ struct cap_hdr;
+ struct cap_data;
++struct stat64;
+
+ namespace sandbox {
+
+@@ -84,6 +85,9 @@ SANDBOX_EXPORT int sys_sigaction(int sig
+ const struct sigaction* act,
+ struct sigaction* oldact);
+
++// Recent glibc rewrites fstat to fstatat.
++SANDBOX_EXPORT int sys_fstat64(int fd, struct stat64 *buf);
++
+ } // namespace sandbox
+
+ #endif // SANDBOX_LINUX_SERVICES_SYSCALL_WRAPPERS_H_