diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2021-04-28 20:21:43 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2021-04-28 20:21:43 +0100 |
commit | 40aaaa64e86ba6710bbeb31c4615a6ce80e75e11 (patch) | |
tree | 758c221bad35c9288d0bd6df9c7dfc226728e52c /www-client/chromium | |
parent | 8d5dbd847cbc704a6a06405856e94b461011afe3 (diff) |
gentoo resync : 28.04.2021
Diffstat (limited to 'www-client/chromium')
-rw-r--r-- | www-client/chromium/Manifest | 22 | ||||
-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.patch | 26 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-91-ThemeService-crash.patch | 36 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-91-system-icu.patch | 29 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-glibc-2.33.patch | 141 |
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_ |