summaryrefslogtreecommitdiff
path: root/www-client/chromium
diff options
context:
space:
mode:
Diffstat (limited to 'www-client/chromium')
-rw-r--r--www-client/chromium/Manifest30
-rw-r--r--www-client/chromium/chromium-96.0.4664.45.ebuild (renamed from www-client/chromium/chromium-96.0.4664.35.ebuild)17
-rw-r--r--www-client/chromium/chromium-97.0.4692.36.ebuild (renamed from www-client/chromium/chromium-97.0.4688.2.ebuild)16
-rw-r--r--www-client/chromium/chromium-98.0.4736.0.ebuild (renamed from www-client/chromium/chromium-95.0.4638.69.ebuild)46
-rw-r--r--www-client/chromium/files/chromium-95-eigen-avx-1.patch229
-rw-r--r--www-client/chromium/files/chromium-95-eigen-avx-2.patch30
-rw-r--r--www-client/chromium/files/chromium-95-eigen-avx-3.patch44
-rw-r--r--www-client/chromium/files/chromium-95-harfbuzz-3.patch31
-rw-r--r--www-client/chromium/files/chromium-95-maldoca-zlib.patch13
-rw-r--r--www-client/chromium/files/chromium-95-xfce-maximize.patch30
-rw-r--r--www-client/chromium/files/chromium-96-xfce-maximize.patch51
-rw-r--r--www-client/chromium/files/chromium-98-EnumTable-crash.patch (renamed from www-client/chromium/files/chromium-93-EnumTable-crash.patch)35
-rw-r--r--www-client/chromium/files/chromium-98-system-libdrm.patch34
-rw-r--r--www-client/chromium/files/chromium-glibc-2.34.patch50
-rw-r--r--www-client/chromium/metadata.xml1
15 files changed, 217 insertions, 440 deletions
diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index 5962861f7298..6b6f5ebb0d29 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -1,25 +1,23 @@
-AUX chromium-93-EnumTable-crash.patch 2863 BLAKE2B 72025b6fb1b8a2c3bb6d54ca9063c0cca8b8dda1344813abf55d361d197b28ccfffcc9d0bab7ef685752a8f9a4848f13b1de61e676b1d4386ea59b5cc137b68c SHA512 8a56fefbf99f9bb0262251685fa47166b27786f283ee3b84664a3b054da160647d7e359bbd051b6516c92472e5b19e55b1ff23b0021877712a78c8fc2d81963e
AUX chromium-93-InkDropHost-crash.patch 1134 BLAKE2B 1593c406c48b629ea3170a518cf86e936af36c554bc97a380324ab6fc930e49a359dc3ef6787ab08314a6a8f5da85714b0fa9d8589d6a46b1d06cbbd7e401f22 SHA512 474d7f55505e1275238d71d1723d74a66fc9f27a16ed293aa80ffefbe5500cd65a0bf13ec76a9bca0334a245f22120099fb367d12b93adc14500104d11cd3bff
-AUX chromium-95-eigen-avx-1.patch 12740 BLAKE2B 326f2209ace9ec5816be308b07daec301342b9b32f73f8072bf3cb9b148d333d125d75e546233d35806433fd98504a19262b592e03a2752bd283559c47b59ad2 SHA512 103ed3a3c3e8adba8c54c30aa43d7c597b5c4520d40ee3dfaca591a5fde176c4ef1c90bfbbcef37d8e22dfaf2f9eaf5bc3aeac2a679ce7c5c18c98fc11fad136
-AUX chromium-95-eigen-avx-2.patch 1903 BLAKE2B d9a217723c8ebdb5371e93b85a925a24b46b16300d5f125f2208cdad3630ce9a0262a9132e1f449bc80315af617bd13f327dda6a7c8396a7fda0115c0685a600 SHA512 7c9d9a8335768156b9f54e46fa8e41e7caeefe6a0c58c1cf52af4eafb8c20faf9eb17f0a5686819ce111d31c6ab23e67806751bb467fb0b2c418eccb41ef83f3
-AUX chromium-95-eigen-avx-3.patch 1981 BLAKE2B 3a38ab5600702415d779c3b725785270d2deaf3008ae46b1e69eb3ca19412c87e94afd3171ec9e9149b7a8203bd9324bbccda2533ca32a0d2496afbafe43dd1a SHA512 bd8417df9804437b25a8cdc5b2552bfb6f9e4d26c325416f72d98b64fb6a587d2493e67d6cfb1538b5e41256e191c8958ee937bfbc02dbd49bf27a99e17eebb7
-AUX chromium-95-harfbuzz-3.patch 1540 BLAKE2B f40fa435623da8bdf1075e27ada445cf1c3b642cb01ab10ef1a3a608abcb6b232721b897d4c83db66e331e86346c96d864c93fe37b677f1357c79dbc4657435e SHA512 ddf6b5ebf439d29d34d206a2f8d753458f7e242c2e3241dc87f77a6593bf27319f610b45b75d4977c4f58302d17ceb912915751f6ce56439bc3ec2d589d38381
-AUX chromium-95-maldoca-zlib.patch 445 BLAKE2B 2793d344ff3083cfadc572bd1ce6932643cf00f11d1cd596f8aaff68363a12a79c4b42a389b1a1843fbe6d760de8960cafc5d3b2f7769f4ea04ff4ef74703839 SHA512 962834cdc6a32be31d61ac526067c7e73fe322c3e3cb72c234735e08d6cd15830ed461493c41febe35d40de60120fa85d2da7b3a62dafbe180b1e213e3d8940c
-AUX chromium-95-xfce-maximize.patch 1151 BLAKE2B 300e4239250e61042ef75887071ea0945242cc7299fb888bc3081f2539f27c0fa2b58bc5b4cfe025b27f61f4bb7f4e23524f27421c7e371977814b9b25a795d7 SHA512 e9af0a43f6978d2a5f50ba103a8e2c1e3e501e7f68610874acc3dc8e9c02726c5af0fc9fd6227db63a647c5f989eed62831fabd0d60f183616c7ddb99b7327d4
AUX chromium-96-EnumTable-crash.patch 2850 BLAKE2B 196f5f739e96cab32d9ac7585ad4a04505f71e2e147b03e5f6e618ceed5cb37591240fdea48e388c0aefc567ecf6b369026a1d9c250112e4c0b2bf7952fcd21d SHA512 c968cc19160a4d91e0000a7ff2efdaaf97a1cd43ec68dbb335493f1bb1ff3798a6b5f33baa836ddc601c7017863655b00cf4d32cd9c9c94dbfcea7187dbec937
AUX chromium-96-freetype-unbundle.patch 361 BLAKE2B 15c7681df3a4142bad4e0aed759d13f48681a19124bd5735037475b8028b1147b55b3fa2457ae9fca2ce7395f0c3b13c28c815b6c9487456a2b2c0bb26caefd1 SHA512 ee477b8799033f53cc3c2a2fd0e588f4091be1c2c9d5c82c7fe9db00167ff2a4de7d99e48fa1b9fe5fed3a03c1b8e0bbb3d192d35895c6a52f585d6bb1c9f84b
+AUX chromium-96-xfce-maximize.patch 1963 BLAKE2B 9cf8f834ae387b06817f904a70c06d780d609d4ed435760ecbad87df63432a6d73ae23076da7968692a7bb118e72877630509586d1388c634ecaba3704098857 SHA512 92010639061ab164b0979298f2b001f5f308409285f1b5d0ae7b92582fa1914a51939248f5bb3b3010bd447c71f40f2919d2a69c73a505002f90bbf417ec60c6
+AUX chromium-98-EnumTable-crash.patch 2854 BLAKE2B 4478e14e7f0c0d251b659546c2e4b83b712b072317c35f63376d7d58e2fa3563f0518b4cc333c5902140cfcd333b5860737d4c7ccbb3680fee1b60de25ad0917 SHA512 a1b55b04da7218cda037a38a543032aa741a589d2f0691d69f28eb173ffeff284d2f4da2cab1708335ecfc0a3c12ecbd57c4c48dee3eca44d659d9a3f9a7dff6
+AUX chromium-98-system-libdrm.patch 1018 BLAKE2B 0d3a3b20846569fc52199cbdb003a015415c0d7fdda65fb159b007063fa817c22ed676b1e5531026a7b450145071d72b249b1ec56e51a757e1bef1e55adaec0c SHA512 22c5fc39859b6a9c000111b8b2a5875b5cdd278ba55cd22f95d3e8baf59e2c92c1a8c9df83f5ae8f83d6a63df7ba397f1253a878e2d11362b3b72ebc5081bdca
AUX chromium-browser.xml 407 BLAKE2B 168d78b0855546ca559cfb51aff0bc85d5e6ae974c25eb76e4a02f6d11659489c6e40397a0b2f7bc1fda336fd2c6dd8c863fccc3340719210b41c7fef51927f4 SHA512 b767fb4fd1925029d95560fc14cb7ab12ae43b2fe923e92d75e733b9723cbe1dcdf6df041a2b62554e98b79b47ef3f6028c773e72e6fd53166a021d49657aeca
+AUX chromium-glibc-2.34.patch 2089 BLAKE2B 637acb95df4efebd2cda65e4780dd2b042e67e2fa52bd9f8786ca250627b90f1b3b171d1e114d7fec616fc985881816b21efd8ac8fd80d124e997214edd2087d SHA512 85cf5f24f8c1cccc919bd5264cea7d3e46391084bc58c889d7236677f925251d0323ba4b312c363484d48d0158376b6a93e1d0c3d015a38f48031244a1676b76
AUX chromium-launcher-r7.sh 1631 BLAKE2B ae28d758264446511fd2b64ba69fe920144b351e8833e0e98f43d00633e850094c288b5d97d1a84801ea13aceb294623692c86c1b9be5811b7b97fa8a07a1ecd SHA512 1e97f8394bd8bb4b29570b1b85176efe6258314a596f079bee1c4018113e0023aa54a93690ba8de2a00d127af10dbe2cc3fb3127b72b841c6f28f9e7bed820e0
AUX chromium-shim_headers.patch 1510 BLAKE2B 9716cd250b249c6255aca01a385ef8a2a6f1df9ea3cf7499715543c14f8be62fd323b6048b890aa2be45891e7a765d92de3f41c3b3a88c08dae4b806c048e20f SHA512 c74bcf690a41b4f9b364477d23408d493aa674e3bd014940098a594471297c2a425241f908510061b5f11c9cfe009c4a803370edd757d3c0ab8d9c0cc128135c
AUX chromium-use-oauth2-client-switches-as-default.patch 1085 BLAKE2B baf3c463305934c126af4f7c5be305863edc7eec3add5b5ada30565b49b5944021eb40f1a9643e7eec3f973c502d9b02426f00b760570fcea5f1509219e41c6f SHA512 fe2878ee45778bac894ea17a668511d27ad2ca40988d5f11439790b700bfefd6560f3931415b4e6c543fcbbfc7cfef55cc757ed4ace1d111039ae78c46b81945
AUX chromium.default 148 BLAKE2B 5ee5b582c59a6e4bef87bbb0e232e2470ad412b1fbbb3b9af6ef7153edb55c5b9080cc16a5a115b0c5b3c381aa87ce57a7b12bdd2070e67dac10a6c2995ddbaf SHA512 0d4849e03592fb58b05e62a43021eca7e61615616c8907c3b2e445402e03adaf9e8fa25b0a745d6c31eb037456215cc02b59e345a3a06d932e76cf990c92d739
-DIST chromium-95-patchset-4.tar.xz 4308 BLAKE2B e91cb78d2357af8c0dfc66e4d148c5e6ef20cf9a811bcebf411e07cc5af73f30760d889842923afb2945e57b0f67330deac3f9068b6ce7c487482a6434e5c672 SHA512 152657e13afab3caca6a9ff6c0b51203f5bc8b0a4075a4396794d7a85caddce1b26f989c7dede5fa9a54316334099d21889e6767885fbf974260a6e9bd90df9d
-DIST chromium-95.0.4638.69.tar.xz 1213470900 BLAKE2B 31619448fd42bce74dac4fb3b7e04c59a2eb05461358e4fa59ab7122b07cd2dc6632a1a8c92a9bacd93c78c37a9e7fadfa7b9ded6371697177c419ce4e6665a5 SHA512 e8845a3add5f784342c51c530ed4fbf144f8ab16701d9dd6a2eedbd255167f39c26cf400d22f246ef5ad4afbb6a6133e17d767711587dd4bae18e3b5a997f95e
DIST chromium-96-patchset-4.tar.xz 4812 BLAKE2B 5d82d212b8ec1689be6f4a7a0646256311d06c17e74ee0e5b2035c32125a5235e4b6b7605cefffa367cc53e651be17b75f5e339149b4c80dca50cd959b1623f1 SHA512 a72c1bb2c58e9e2912a641093c153f01ad7239dc971c7c96481ba4164204afe41741f3253e8af03070dab8276179784dc6a11761b39ad7902ed2553016778282
-DIST chromium-96.0.4664.35.tar.xz 1221769064 BLAKE2B ea81a4a521b5999f7bc485d2fecbcdc8950bab91a0d0ff9b30347f2de00cf7bb82b717293d0d302e298a30fa75f2653e7e97aa382a8a779d5f48604e70356088 SHA512 974467c24e245cf4f70a68282e4acdd6542e709e258d39304bca4b8b917095fe3bce34a20526e0e1a160b2362c03bbe2f1b76e05a1a97327c18ab777cded3ad4
-DIST chromium-97-patchset-3.tar.xz 3444 BLAKE2B 3005964bfc9f1a373868dd7fa7fa66b30b62dbd8059f7ae3b259d5ca5841861cc47dfa218a9d154a862145e45798eb5c9869eb37b4b94a70eb0dedadffaa8fc1 SHA512 14d1336fb96efee954713f9e8534f4a3c78061b402b9fb582a295595c711d42787861fd176ca27c327d92bb80594c533e25092d1199797243bcaf877f1288a2d
-DIST chromium-97.0.4688.2.tar.xz 1223299644 BLAKE2B e1363e0c8425b9689168a05fae51e190a5d67a6ce7e817c0b8edce5be721789729ec62b98f4005a8b36bbedb44eb39a7dc2cd0cfdcb788c7837ee8a38c2a77bf SHA512 980aac2e3a73704a3df16a8a79409c890b21fd465978afda445af2b2ac7caceed8355600687bb854b7010f5aaab4a7e30d20d02d0eefd5d82c7e8cf5c1098a45
-EBUILD chromium-95.0.4638.69.ebuild 30274 BLAKE2B 9b36636e2780cf8539cc6f0f073c4104df592d73dc18b3e262beb9fc6ca87d53d2be3dc93b4253eb6d0a786f83573d45145f276b0ea3e9592c5e1e8c29f3d1c3 SHA512 81e1a786311ec3b3c51e8011c4958a4639ed7294800134c7dc5cdcadcbaee097d4867525c5f922b28f777be803d24fc41cc38cb97bd8ac91fa41ec5c5678449b
-EBUILD chromium-96.0.4664.35.ebuild 30107 BLAKE2B e2f3b67965c8b2dfc4240eb0aa6f0ef1a3c46de952111deaf5b74e9edf2a69db1c4ba8d7d1f60d5c8707559ce168d403cba8a83be7abbaa1f3d40b26d6ca2d64 SHA512 b65468e18ed3e3597e452e03f1f09f4bfa838368d23477118766fda46f98d73c7257464d696bd360fc9615870b11a267390230edb5bbc9e02d7af6cd73912703
-EBUILD chromium-97.0.4688.2.ebuild 30173 BLAKE2B 64e26f2be0a8b8f06ba5669d977aca113c369c7182ce602ce130960ae561eb7c89c26d1595076fd6ba4b768c346b3ccdedb4cf8ae2087857b5268afbbfc71169 SHA512 6c563afe2c9053c8befe556e61528f018e09184f3af69e3de7e5257a21529ea8c63b22f06c640bb22a5d1ef86835b14e7509584b119bf3001d3e19c66b281f0e
-MISC metadata.xml 1775 BLAKE2B 2fa038c0f6ebe1d86427cdf0806400dd690e31a9ee2667ea9f4f744478a675b9da89f0f541869bfea4ae5e28af1210d67b2766474d16752322407aad401d2c37 SHA512 0f4430b96a7d4dea4f2f1707cc81b184445c0f9da1d5c35a84c7958a037c13068b1a1073edc4576d7131564fc14c2f3b41a97cb8665f45e5a18eddc428c9ed23
+DIST chromium-96-ppc64le-1.tar.xz 29224 BLAKE2B 3369a3b15eb4f42761e01758135995a1f34e40cecbfc0372a4bc17b393d50b276ea5a0813d1c57f73f0dd34cf2a021356d25c2b4dcaa95998ffc082545dc915c SHA512 256d64fbf192e55d77c6580d36766a67dadfbd0f1e34e49bfc6d55114da7f2252d783db0dd09123996a71a01ec4a3d5c70fd1a5c8852db135857b8495f7cfbf1
+DIST chromium-96.0.4664.45.tar.xz 1221965612 BLAKE2B e990a2c3f0ae6d8bc4b6dddbecea2c640bb6491d9b321a301c1f168a35ad37553a23b8290a28dc05d50be005d3ad57fa69af2d3574266b9c83dcd24e65116c35 SHA512 0b1ccaf95697c14cb080dcb22e8584817ddcd98e704d081bc4f35a22dcfc8cca82dcabc4b82ad89ed0cd64752d226f389941bfab33b615e3948e2f778b9d9028
+DIST chromium-97-patchset-4.tar.xz 4240 BLAKE2B 450d013b6fd68f7e0bcb21a2b0828d531eda86965e636fe24fc36c2e7e1f74fe93f27f0d4b1d03e67c605797e28db37de4949ff78d5106e07b0362bec4bc5d8a SHA512 181c706c83bdbe07b2e7f02b654922a860aea761ad267e6545fb7d56b66373b003c1c79fae5cd45eeb3be8917782fa45df1c05bbb00e170f0146e7385f4246c4
+DIST chromium-97.0.4692.36.tar.xz 1213467240 BLAKE2B 5a21c2b94fce104bef4dba895f170b496167154d0c364631f2f02d62a4ebb3fd0fa9143f570e4aad50d6b84214a6682b297aeef3cf6963fe7948a9b420c777bd SHA512 8aa99149c0bdf740988a0ba2d8e397f29df5b4372c6ab1e6700893e9a5978153c7d9701439ce7925de2ae521da689e5a1116876977e06d0c36350d03e10f8fc0
+DIST chromium-98-patchset-2.tar.xz 6732 BLAKE2B 8d742607a5dbdabeed1885fcf69486628a1364980f885f51e729291c392d5ff63190ae6c77687dd0096dc8a5208c14606777b92a19fb66a643e6a23f382c014b SHA512 a94004e165f1437d9955aaeb600a8809443d2d5bc852967740c420c64da4a1cdde006cff1be9e0cc0f4fef15727349ae8f2526f0bcfcff702cc5a60515fbf873
+DIST chromium-98.0.4736.0.tar.xz 1228878072 BLAKE2B 433b349f52eff009ad995b5d6920900a78c845df98e6c25c0b20ea972eedf0d7f29be0f973311dc6a139d013f32f776fb923e2c2e956546b14ca870bad8969ce SHA512 32aed341ab400400608c33efc59e654ea2ef533cd5ef637566bf3c8229562996d45ede60ddd1374c850a8ff3d3dea1565eb394db33d23a3606198049f336a55f
+EBUILD chromium-96.0.4664.45.ebuild 30442 BLAKE2B f8b9f5e21a8b0e5122c4b1d658af038817c4e4b9f2dbf81e91d6c2a96d715093b22f47535f651d7255cb92e2b8d07202dc1ae6fdedbd5bc0e62fde3f5804ff0a SHA512 d534a1e4bc412b28fdb18c7c247d1f1ea495ee1e93c93406c92b13e248fa157529c69c890cfa0c0b17c0a77c876fbc7fa69719523c58beeae26c0eefd7932835
+EBUILD chromium-97.0.4692.36.ebuild 30405 BLAKE2B 018edaeb8c8a99919d9ed48cf000f8e1c41b081c7222f68b00fc63be25ce6613343cd4cf955ba3ba24663f90591a782311dc7d0593a6a5818c330c3955bac8c5 SHA512 5ebd93ee1fcf68101b3b3124fb008d1cb382d0837a9f3ca56269e451d089b5c247ed87aa694c5b46524e9ad0e2a2a4bd6d975c9aececa1d531005fdff54015b9
+EBUILD chromium-98.0.4736.0.ebuild 30607 BLAKE2B 05b557867f9ddc66992644f6da0ce4828c29dc45eb77ef71c052f4393d1f8c0bd828fad25a48fc48e5ff5b5c5e1fc217198707cad8c9395ac3cfd631d82d8f0e SHA512 e5956b8af6469b28b5c041dc1e61e9cae2b791524b162ac98e22f077f1db96a6524578fbe61ca0179beb0eb2c14dbbf34f16b6349af752d2235b5899dc4d89a6
+MISC metadata.xml 1854 BLAKE2B ecb1c85380dcf8f3b76159eee3aeb27746b35c4f9b6cedc56a011d1cff4524f5ea8fcfd7530c1b627f54b6612f9934cb49119c7e22640e6232812f8c846c5cd7 SHA512 3ff27b3eb1568590c1e5ff90d9444a4ce573ca57502be51c3e11496580152883ea43a7ecc4f56fb5b23299d4be58dc068e74a1375720f97222e019eac354425a
diff --git a/www-client/chromium/chromium-96.0.4664.35.ebuild b/www-client/chromium/chromium-96.0.4664.45.ebuild
index 43a88629c0b7..5e7bf8cb0468 100644
--- a/www-client/chromium/chromium-96.0.4664.35.ebuild
+++ b/www-client/chromium/chromium-96.0.4664.45.ebuild
@@ -15,12 +15,14 @@ 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"
+ 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"
-KEYWORDS="~amd64 ~arm64 ~x86"
+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 )
@@ -114,7 +116,6 @@ BDEPEND="
>=dev-util/gperf-3.0.3
>=dev-util/ninja-1.7.2
>=net-libs/nodejs-7.6.0[inspector]
- sys-apps/hwids[usb(+)]
>=sys-devel/bison-2.4.3
sys-devel/flex
virtual/pkgconfig
@@ -231,13 +232,16 @@ src_prepare() {
local PATCHES=(
"${WORKDIR}/patches"
"${FILESDIR}/chromium-93-InkDropHost-crash.patch"
- "${FILESDIR}/chromium-95-xfce-maximize.patch"
"${FILESDIR}/chromium-96-EnumTable-crash.patch"
"${FILESDIR}/chromium-96-freetype-unbundle.patch"
+ "${FILESDIR}/chromium-96-xfce-maximize.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
@@ -745,6 +749,9 @@ src_configure() {
# 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
diff --git a/www-client/chromium/chromium-97.0.4688.2.ebuild b/www-client/chromium/chromium-97.0.4692.36.ebuild
index a78067d2771c..7d53bac24055 100644
--- a/www-client/chromium/chromium-97.0.4688.2.ebuild
+++ b/www-client/chromium/chromium-97.0.4692.36.ebuild
@@ -13,13 +13,13 @@ inherit check-reqs chromium-2 desktop flag-o-matic ninja-utils pax-utils python-
DESCRIPTION="Open-source version of Google Chrome web browser"
HOMEPAGE="https://chromium.org/"
-PATCHSET="3"
+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/dev"
+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="
@@ -114,7 +114,6 @@ BDEPEND="
>=dev-util/gperf-3.0.3
>=dev-util/ninja-1.7.2
>=net-libs/nodejs-7.6.0[inspector]
- sys-apps/hwids[usb(+)]
>=sys-devel/bison-2.4.3
sys-devel/flex
virtual/pkgconfig
@@ -231,9 +230,8 @@ src_prepare() {
local PATCHES=(
"${WORKDIR}/patches"
"${FILESDIR}/chromium-93-InkDropHost-crash.patch"
- "${FILESDIR}/chromium-95-xfce-maximize.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"
)
@@ -839,6 +837,11 @@ src_compile() {
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() {
@@ -897,6 +900,9 @@ src_install() {
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
diff --git a/www-client/chromium/chromium-95.0.4638.69.ebuild b/www-client/chromium/chromium-98.0.4736.0.ebuild
index 53d1b4a46cac..e1f151131338 100644
--- a/www-client/chromium/chromium-95.0.4638.69.ebuild
+++ b/www-client/chromium/chromium-98.0.4736.0.ebuild
@@ -1,8 +1,8 @@
# Copyright 2009-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-PYTHON_COMPAT=( python3_{8,9} )
+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
@@ -13,15 +13,15 @@ inherit check-reqs chromium-2 desktop flag-o-matic ninja-utils pax-utils python-
DESCRIPTION="Open-source version of Google Chrome web browser"
HOMEPAGE="https://chromium.org/"
-PATCHSET="4"
+PATCHSET="2"
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/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"
+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 )
@@ -57,7 +57,7 @@ COMMON_DEPEND="
>=media-libs/freetype-2.11.0-r1:=
system-harfbuzz? ( >=media-libs/harfbuzz-2.9.0:0=[icu(-)] )
media-libs/libjpeg-turbo:=
- media-libs/libpng:=
+ system-png? ( media-libs/libpng:=[-apng] )
pulseaudio? ( media-sound/pulseaudio:= )
system-ffmpeg? (
>=media-video/ffmpeg-4.3:=
@@ -109,12 +109,11 @@ BDEPEND="
')
>=app-arch/gzip-1.7
dev-lang/perl
- <dev-util/gn-0.1943
+ >=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-apps/hwids[usb(+)]
>=sys-devel/bison-2.4.3
sys-devel/flex
virtual/pkgconfig
@@ -230,14 +229,10 @@ src_prepare() {
local PATCHES=(
"${WORKDIR}/patches"
- "${FILESDIR}/chromium-93-EnumTable-crash.patch"
"${FILESDIR}/chromium-93-InkDropHost-crash.patch"
- "${FILESDIR}/chromium-95-maldoca-zlib.patch"
- "${FILESDIR}/chromium-95-eigen-avx-1.patch"
- "${FILESDIR}/chromium-95-eigen-avx-2.patch"
- "${FILESDIR}/chromium-95-eigen-avx-3.patch"
- "${FILESDIR}/chromium-95-harfbuzz-3.patch"
- "${FILESDIR}/chromium-95-xfce-maximize.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"
)
@@ -329,6 +324,7 @@ src_prepare() {
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
@@ -447,7 +443,6 @@ src_prepare() {
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/six
third_party/ukey2
@@ -492,6 +487,9 @@ src_prepare() {
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
@@ -599,7 +597,6 @@ src_configure() {
#harfbuzz-ng
libdrm
libjpeg
- libpng
libwebp
zlib
)
@@ -609,6 +606,9 @@ src_configure() {
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 )
@@ -787,6 +787,8 @@ src_configure() {
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..."
@@ -841,6 +843,11 @@ src_compile() {
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() {
@@ -899,6 +906,9 @@ src_install() {
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
diff --git a/www-client/chromium/files/chromium-95-eigen-avx-1.patch b/www-client/chromium/files/chromium-95-eigen-avx-1.patch
deleted file mode 100644
index 21d520cc4d44..000000000000
--- a/www-client/chromium/files/chromium-95-eigen-avx-1.patch
+++ /dev/null
@@ -1,229 +0,0 @@
-From 3d4ba855e014987cad86d62a8dff533492255695 Mon Sep 17 00:00:00 2001
-From: Antonio Sanchez <cantonios@google.com>
-Date: Wed, 1 Sep 2021 14:11:21 -0700
-Subject: [PATCH] Fix AVX integer packet issues.
-
-Most are instances of AVX2 functions not protected by
-`EIGEN_VECTORIZE_AVX2`. There was also a missing semi-colon
-for AVX512.
----
- Eigen/src/Core/arch/AVX/PacketMath.h | 83 ++++++++++++++++++-------
- Eigen/src/Core/arch/AVX512/PacketMath.h | 6 +-
- 2 files changed, 63 insertions(+), 26 deletions(-)
-
-diff --git a/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h b/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h
-index dc1a1d6b0..247ee4efd 100644
---- a/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h
-+++ b/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h
-@@ -262,10 +262,6 @@ template<> EIGEN_STRONG_INLINE Packet4d peven_mask(const Packet4d& /*a*/) { retu
- template<> EIGEN_STRONG_INLINE Packet8f pload1<Packet8f>(const float* from) { return _mm256_broadcast_ss(from); }
- template<> EIGEN_STRONG_INLINE Packet4d pload1<Packet4d>(const double* from) { return _mm256_broadcast_sd(from); }
-
--template<> EIGEN_STRONG_INLINE Packet8f plset<Packet8f>(const float& a) { return _mm256_add_ps(_mm256_set1_ps(a), _mm256_set_ps(7.0,6.0,5.0,4.0,3.0,2.0,1.0,0.0)); }
--template<> EIGEN_STRONG_INLINE Packet4d plset<Packet4d>(const double& a) { return _mm256_add_pd(_mm256_set1_pd(a), _mm256_set_pd(3.0,2.0,1.0,0.0)); }
--template<> EIGEN_STRONG_INLINE Packet8i plset<Packet8i>(const int& a) { return _mm256_add_epi32(_mm256_set1_epi32(a), _mm256_set_epi32(7,6,5,4,3,2,1,0)); }
--
- template<> EIGEN_STRONG_INLINE Packet8f padd<Packet8f>(const Packet8f& a, const Packet8f& b) { return _mm256_add_ps(a,b); }
- template<> EIGEN_STRONG_INLINE Packet4d padd<Packet4d>(const Packet4d& a, const Packet4d& b) { return _mm256_add_pd(a,b); }
- template<> EIGEN_STRONG_INLINE Packet8i padd<Packet8i>(const Packet8i& a, const Packet8i& b) {
-@@ -278,6 +274,10 @@ template<> EIGEN_STRONG_INLINE Packet8i padd<Packet8i>(const Packet8i& a, const
- #endif
- }
-
-+template<> EIGEN_STRONG_INLINE Packet8f plset<Packet8f>(const float& a) { return padd(pset1(a), _mm256_set_ps(7.0,6.0,5.0,4.0,3.0,2.0,1.0,0.0)); }
-+template<> EIGEN_STRONG_INLINE Packet4d plset<Packet4d>(const double& a) { return padd(pset1(a), _mm256_set_pd(3.0,2.0,1.0,0.0)); }
-+template<> EIGEN_STRONG_INLINE Packet8i plset<Packet8i>(const int& a) { return padd(pset1(a), _mm256_set_epi32(7,6,5,4,3,2,1,0)); }
-+
- template<> EIGEN_STRONG_INLINE Packet8f psub<Packet8f>(const Packet8f& a, const Packet8f& b) { return _mm256_sub_ps(a,b); }
- template<> EIGEN_STRONG_INLINE Packet4d psub<Packet4d>(const Packet4d& a, const Packet4d& b) { return _mm256_sub_pd(a,b); }
- template<> EIGEN_STRONG_INLINE Packet8i psub<Packet8i>(const Packet8i& a, const Packet8i& b) {
-@@ -300,7 +300,7 @@ template<> EIGEN_STRONG_INLINE Packet4d pnegate(const Packet4d& a)
- }
- template<> EIGEN_STRONG_INLINE Packet8i pnegate(const Packet8i& a)
- {
-- return _mm256_sub_epi32(_mm256_set1_epi32(0), a);
-+ return psub(pzero(a), a);
- }
-
- template<> EIGEN_STRONG_INLINE Packet8f pconj(const Packet8f& a) { return a; }
-@@ -419,7 +419,13 @@ template<> EIGEN_STRONG_INLINE Packet4d pmin<Packet4d>(const Packet4d& a, const
- #endif
- }
- template<> EIGEN_STRONG_INLINE Packet8i pmin<Packet8i>(const Packet8i& a, const Packet8i& b) {
-+#ifdef EIGEN_VECTORIZE_AVX2
- return _mm256_min_epi32(a, b);
-+#else
-+ __m128i lo = _mm_min_epi32(_mm256_extractf128_si256(a, 0), _mm256_extractf128_si256(b, 0));
-+ __m128i hi = _mm_min_epi32(_mm256_extractf128_si256(a, 1), _mm256_extractf128_si256(b, 1));
-+ return _mm256_insertf128_si256(_mm256_castsi128_si256(lo), (hi), 1);
-+#endif
- }
-
- template<> EIGEN_STRONG_INLINE Packet8f pmax<Packet8f>(const Packet8f& a, const Packet8f& b) {
-@@ -445,7 +451,13 @@ template<> EIGEN_STRONG_INLINE Packet4d pmax<Packet4d>(const Packet4d& a, const
- #endif
- }
- template<> EIGEN_STRONG_INLINE Packet8i pmax<Packet8i>(const Packet8i& a, const Packet8i& b) {
-+#ifdef EIGEN_VECTORIZE_AVX2
- return _mm256_max_epi32(a, b);
-+#else
-+ __m128i lo = _mm_max_epi32(_mm256_extractf128_si256(a, 0), _mm256_extractf128_si256(b, 0));
-+ __m128i hi = _mm_max_epi32(_mm256_extractf128_si256(a, 1), _mm256_extractf128_si256(b, 1));
-+ return _mm256_insertf128_si256(_mm256_castsi128_si256(lo), (hi), 1);
-+#endif
- }
-
- // Add specializations for min/max with prescribed NaN progation.
-@@ -641,17 +653,25 @@ template<> EIGEN_STRONG_INLINE Packet8f ploaddup<Packet8f>(const float* from)
- // then we can perform a consistent permutation on the global register to get everything in shape:
- return _mm256_permute_ps(tmp, _MM_SHUFFLE(3,3,2,2));
- }
--// Loads 2 doubles from memory a returns the packet {a0, a0 a1, a1}
-+// Loads 2 doubles from memory a returns the packet {a0, a0, a1, a1}
- template<> EIGEN_STRONG_INLINE Packet4d ploaddup<Packet4d>(const double* from)
- {
- Packet4d tmp = _mm256_broadcast_pd((const __m128d*)(const void*)from);
- return _mm256_permute_pd(tmp, 3<<2);
- }
--// Loads 4 integers from memory a returns the packet {a0, a0 a1, a1, a2, a2, a3, a3}
-+// Loads 4 integers from memory a returns the packet {a0, a0, a1, a1, a2, a2, a3, a3}
- template<> EIGEN_STRONG_INLINE Packet8i ploaddup<Packet8i>(const int* from)
- {
-- Packet8i a = _mm256_castsi128_si256(pload<Packet4i>(from));
-+#ifdef EIGEN_VECTORIZE_AVX2
-+ const Packet8i a = _mm256_castsi128_si256(pload<Packet4i>(from));
- return _mm256_permutevar8x32_epi32(a, _mm256_setr_epi32(0, 0, 1, 1, 2, 2, 3, 3));
-+#else
-+ __m256 tmp = _mm256_broadcast_ps((const __m128*)(const void*)from);
-+ // mimic an "inplace" permutation of the lower 128bits using a blend
-+ tmp = _mm256_blend_ps(tmp,_mm256_castps128_ps256(_mm_permute_ps( _mm256_castps256_ps128(tmp), _MM_SHUFFLE(1,0,1,0))), 15);
-+ // then we can perform a consistent permutation on the global register to get everything in shape:
-+ return _mm256_castps_si256(_mm256_permute_ps(tmp, _MM_SHUFFLE(3,3,2,2)));
-+#endif
- }
-
- // Loads 2 floats from memory a returns the packet {a0, a0 a0, a0, a1, a1, a1, a1}
-@@ -662,7 +682,7 @@ template<> EIGEN_STRONG_INLINE Packet8f ploadquad<Packet8f>(const float* from)
- }
- template<> EIGEN_STRONG_INLINE Packet8i ploadquad<Packet8i>(const int* from)
- {
-- return _mm256_inserti128_si256(_mm256_set1_epi32(*from), _mm_set1_epi32(*(from+1)), 1);
-+ return _mm256_insertf128_si256(_mm256_set1_epi32(*from), _mm_set1_epi32(*(from+1)), 1);
- }
-
- template<> EIGEN_STRONG_INLINE void pstore<float>(float* to, const Packet8f& from) { EIGEN_DEBUG_ALIGNED_STORE _mm256_store_ps(to, from); }
-@@ -723,13 +743,13 @@ template<> EIGEN_DEVICE_FUNC inline void pscatter<double, Packet4d>(double* to,
- }
- template<> EIGEN_DEVICE_FUNC inline void pscatter<int, Packet8i>(int* to, const Packet8i& from, Index stride)
- {
-- __m128i low = _mm256_extracti128_si256(from, 0);
-+ __m128i low = _mm256_extractf128_si256(from, 0);
- to[stride*0] = _mm_extract_epi32(low, 0);
- to[stride*1] = _mm_extract_epi32(low, 1);
- to[stride*2] = _mm_extract_epi32(low, 2);
- to[stride*3] = _mm_extract_epi32(low, 3);
-
-- __m128i high = _mm256_extracti128_si256(from, 1);
-+ __m128i high = _mm256_extractf128_si256(from, 1);
- to[stride*4] = _mm_extract_epi32(high, 0);
- to[stride*5] = _mm_extract_epi32(high, 1);
- to[stride*6] = _mm_extract_epi32(high, 2);
-@@ -803,7 +823,13 @@ template<> EIGEN_STRONG_INLINE Packet4d pabs(const Packet4d& a)
- }
- template<> EIGEN_STRONG_INLINE Packet8i pabs(const Packet8i& a)
- {
-+#ifdef EIGEN_VECTORIZE_AVX2
- return _mm256_abs_epi32(a);
-+#else
-+ __m128i lo = _mm_abs_epi32(_mm256_extractf128_si256(a, 0));
-+ __m128i hi = _mm_abs_epi32(_mm256_extractf128_si256(a, 1));
-+ return _mm256_insertf128_si256(_mm256_castsi128_si256(lo), (hi), 1);
-+#endif
- }
-
- template<> EIGEN_STRONG_INLINE Packet8f pfrexp<Packet8f>(const Packet8f& a, Packet8f& exponent) {
-@@ -989,16 +1015,27 @@ ptranspose(PacketBlock<Packet8f,4>& kernel) {
- #define MM256_SHUFFLE_EPI32(A, B, M) \
- _mm256_castps_si256(_mm256_shuffle_ps(_mm256_castsi256_ps(A), _mm256_castsi256_ps(B), M))
-
-+#ifdef EIGEN_VECTORIZE_AVX2
-+#define MM256_UNPACKLO_EPI32(A, B) \
-+ _mm256_castps_si256(_mm256_unpacklo_ps(_mm256_castsi256_ps(A), _mm256_castsi256_ps(B)))
-+#define MM256_UNPACKHI_EPI32(A, B) \
-+ _mm256_castps_si256(_mm256_unpackhi_ps(_mm256_castsi256_ps(A), _mm256_castsi256_ps(B)))
-+#else
-+#define MM256_UNPACKLO_EPI32(A, B) _mm256_unpacklo_ps(A, B)
-+#define MM256_UNPACKHI_EPI32(A, B) _mm256_unpackhi_ps(A, B)
-+#endif
-+
-+
- EIGEN_DEVICE_FUNC inline void
- ptranspose(PacketBlock<Packet8i,8>& kernel) {
-- __m256i T0 = _mm256_unpacklo_epi32(kernel.packet[0], kernel.packet[1]);
-- __m256i T1 = _mm256_unpackhi_epi32(kernel.packet[0], kernel.packet[1]);
-- __m256i T2 = _mm256_unpacklo_epi32(kernel.packet[2], kernel.packet[3]);
-- __m256i T3 = _mm256_unpackhi_epi32(kernel.packet[2], kernel.packet[3]);
-- __m256i T4 = _mm256_unpacklo_epi32(kernel.packet[4], kernel.packet[5]);
-- __m256i T5 = _mm256_unpackhi_epi32(kernel.packet[4], kernel.packet[5]);
-- __m256i T6 = _mm256_unpacklo_epi32(kernel.packet[6], kernel.packet[7]);
-- __m256i T7 = _mm256_unpackhi_epi32(kernel.packet[6], kernel.packet[7]);
-+ __m256i T0 = MM256_UNPACKLO_EPI32(kernel.packet[0], kernel.packet[1]);
-+ __m256i T1 = MM256_UNPACKHI_EPI32(kernel.packet[0], kernel.packet[1]);
-+ __m256i T2 = MM256_UNPACKLO_EPI32(kernel.packet[2], kernel.packet[3]);
-+ __m256i T3 = MM256_UNPACKHI_EPI32(kernel.packet[2], kernel.packet[3]);
-+ __m256i T4 = MM256_UNPACKLO_EPI32(kernel.packet[4], kernel.packet[5]);
-+ __m256i T5 = MM256_UNPACKHI_EPI32(kernel.packet[4], kernel.packet[5]);
-+ __m256i T6 = MM256_UNPACKLO_EPI32(kernel.packet[6], kernel.packet[7]);
-+ __m256i T7 = MM256_UNPACKHI_EPI32(kernel.packet[6], kernel.packet[7]);
- __m256i S0 = MM256_SHUFFLE_EPI32(T0,T2,_MM_SHUFFLE(1,0,1,0));
- __m256i S1 = MM256_SHUFFLE_EPI32(T0,T2,_MM_SHUFFLE(3,2,3,2));
- __m256i S2 = MM256_SHUFFLE_EPI32(T1,T3,_MM_SHUFFLE(1,0,1,0));
-@@ -1019,10 +1056,10 @@ ptranspose(PacketBlock<Packet8i,8>& kernel) {
-
- EIGEN_DEVICE_FUNC inline void
- ptranspose(PacketBlock<Packet8i,4>& kernel) {
-- __m256i T0 = _mm256_unpacklo_epi32(kernel.packet[0], kernel.packet[1]);
-- __m256i T1 = _mm256_unpackhi_epi32(kernel.packet[0], kernel.packet[1]);
-- __m256i T2 = _mm256_unpacklo_epi32(kernel.packet[2], kernel.packet[3]);
-- __m256i T3 = _mm256_unpackhi_epi32(kernel.packet[2], kernel.packet[3]);
-+ __m256i T0 = MM256_UNPACKLO_EPI32(kernel.packet[0], kernel.packet[1]);
-+ __m256i T1 = MM256_UNPACKHI_EPI32(kernel.packet[0], kernel.packet[1]);
-+ __m256i T2 = MM256_UNPACKLO_EPI32(kernel.packet[2], kernel.packet[3]);
-+ __m256i T3 = MM256_UNPACKHI_EPI32(kernel.packet[2], kernel.packet[3]);
-
- __m256i S0 = MM256_SHUFFLE_EPI32(T0,T2,_MM_SHUFFLE(1,0,1,0));
- __m256i S1 = MM256_SHUFFLE_EPI32(T0,T2,_MM_SHUFFLE(3,2,3,2));
-diff --git a/third_party/eigen3/src/Eigen/src/Core/arch/AVX512/PacketMath.h b/third_party/eigen3/src/Eigen/src/Core/arch/AVX512/PacketMath.h
-index 6ce15c677..0810f66ee 100644
---- a/third_party/eigen3/src/Eigen/src/Core/arch/AVX512/PacketMath.h
-+++ b/third_party/eigen3/src/Eigen/src/Core/arch/AVX512/PacketMath.h
-@@ -1028,7 +1028,7 @@ template<> EIGEN_STRONG_INLINE Packet8d pldexp<Packet8d>(const Packet8d& a, cons
-
- // AVX512F does not define _mm512_extracti32x8_epi32 to extract _m256i from _m512i
- #define EIGEN_EXTRACT_8i_FROM_16i(INPUT, OUTPUT) \
-- __m256i OUTPUT##_0 = _mm512_extracti32x8_epi32(INPUT, 0) \
-+ __m256i OUTPUT##_0 = _mm512_extracti32x8_epi32(INPUT, 0); \
- __m256i OUTPUT##_1 = _mm512_extracti32x8_epi32(INPUT, 1)
- #else
- #define EIGEN_EXTRACT_8f_FROM_16f(INPUT, OUTPUT) \
-@@ -1037,7 +1037,7 @@ template<> EIGEN_STRONG_INLINE Packet8d pldexp<Packet8d>(const Packet8d& a, cons
- _mm512_extractf32x4_ps(INPUT, 1), 1); \
- __m256 OUTPUT##_1 = _mm256_insertf128_ps( \
- _mm256_castps128_ps256(_mm512_extractf32x4_ps(INPUT, 2)), \
-- _mm512_extractf32x4_ps(INPUT, 3), 1);
-+ _mm512_extractf32x4_ps(INPUT, 3), 1)
-
- #define EIGEN_EXTRACT_8i_FROM_16i(INPUT, OUTPUT) \
- __m256i OUTPUT##_0 = _mm256_insertf128_si256( \
-@@ -1045,7 +1045,7 @@ template<> EIGEN_STRONG_INLINE Packet8d pldexp<Packet8d>(const Packet8d& a, cons
- _mm512_extracti32x4_epi32(INPUT, 1), 1); \
- __m256i OUTPUT##_1 = _mm256_insertf128_si256( \
- _mm256_castsi128_si256(_mm512_extracti32x4_epi32(INPUT, 2)), \
-- _mm512_extracti32x4_epi32(INPUT, 3), 1);
-+ _mm512_extracti32x4_epi32(INPUT, 3), 1)
- #endif
-
- #ifdef EIGEN_VECTORIZE_AVX512DQ
---
-GitLab
-
diff --git a/www-client/chromium/files/chromium-95-eigen-avx-2.patch b/www-client/chromium/files/chromium-95-eigen-avx-2.patch
deleted file mode 100644
index 1cb8007b6a6a..000000000000
--- a/www-client/chromium/files/chromium-95-eigen-avx-2.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From def145547fc6abd14236e103b9443a36064f664f Mon Sep 17 00:00:00 2001
-From: Antonio Sanchez <cantonios@google.com>
-Date: Thu, 2 Sep 2021 16:21:07 -0700
-Subject: [PATCH] Add missing packet types in pset1 call.
-
-Oops, introduced this when "fixing" integer packets.
----
- Eigen/src/Core/arch/AVX/PacketMath.h | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h b/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h
-index 247ee4efd..8da9031dc 100644
---- a/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h
-+++ b/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h
-@@ -274,9 +274,9 @@ template<> EIGEN_STRONG_INLINE Packet8i padd<Packet8i>(const Packet8i& a, const
- #endif
- }
-
--template<> EIGEN_STRONG_INLINE Packet8f plset<Packet8f>(const float& a) { return padd(pset1(a), _mm256_set_ps(7.0,6.0,5.0,4.0,3.0,2.0,1.0,0.0)); }
--template<> EIGEN_STRONG_INLINE Packet4d plset<Packet4d>(const double& a) { return padd(pset1(a), _mm256_set_pd(3.0,2.0,1.0,0.0)); }
--template<> EIGEN_STRONG_INLINE Packet8i plset<Packet8i>(const int& a) { return padd(pset1(a), _mm256_set_epi32(7,6,5,4,3,2,1,0)); }
-+template<> EIGEN_STRONG_INLINE Packet8f plset<Packet8f>(const float& a) { return padd(pset1<Packet8f>(a), _mm256_set_ps(7.0,6.0,5.0,4.0,3.0,2.0,1.0,0.0)); }
-+template<> EIGEN_STRONG_INLINE Packet4d plset<Packet4d>(const double& a) { return padd(pset1<Packet4d>(a), _mm256_set_pd(3.0,2.0,1.0,0.0)); }
-+template<> EIGEN_STRONG_INLINE Packet8i plset<Packet8i>(const int& a) { return padd(pset1<Packet8i>(a), _mm256_set_epi32(7,6,5,4,3,2,1,0)); }
-
- template<> EIGEN_STRONG_INLINE Packet8f psub<Packet8f>(const Packet8f& a, const Packet8f& b) { return _mm256_sub_ps(a,b); }
- template<> EIGEN_STRONG_INLINE Packet4d psub<Packet4d>(const Packet4d& a, const Packet4d& b) { return _mm256_sub_pd(a,b); }
---
-GitLab
-
diff --git a/www-client/chromium/files/chromium-95-eigen-avx-3.patch b/www-client/chromium/files/chromium-95-eigen-avx-3.patch
deleted file mode 100644
index 44e9ef4e0ec0..000000000000
--- a/www-client/chromium/files/chromium-95-eigen-avx-3.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 7792b1e909a98703181aecb8810b4b654004c25d Mon Sep 17 00:00:00 2001
-From: Antonio Sanchez <cantonios@google.com>
-Date: Fri, 3 Sep 2021 10:41:35 -0700
-Subject: [PATCH] Fix AVX2 PacketMath.h.
-
-There were a couple typos ps -> epi32, and an unaligned load issue.
----
- Eigen/src/Core/arch/AVX/PacketMath.h | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h b/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h
-index 8da9031dc..41cb7af9c 100644
---- a/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h
-+++ b/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h
-@@ -663,7 +663,7 @@ template<> EIGEN_STRONG_INLINE Packet4d ploaddup<Packet4d>(const double* from)
- template<> EIGEN_STRONG_INLINE Packet8i ploaddup<Packet8i>(const int* from)
- {
- #ifdef EIGEN_VECTORIZE_AVX2
-- const Packet8i a = _mm256_castsi128_si256(pload<Packet4i>(from));
-+ const Packet8i a = _mm256_castsi128_si256(ploadu<Packet4i>(from));
- return _mm256_permutevar8x32_epi32(a, _mm256_setr_epi32(0, 0, 1, 1, 2, 2, 3, 3));
- #else
- __m256 tmp = _mm256_broadcast_ps((const __m128*)(const void*)from);
-@@ -1015,14 +1015,14 @@ ptranspose(PacketBlock<Packet8f,4>& kernel) {
- #define MM256_SHUFFLE_EPI32(A, B, M) \
- _mm256_castps_si256(_mm256_shuffle_ps(_mm256_castsi256_ps(A), _mm256_castsi256_ps(B), M))
-
--#ifdef EIGEN_VECTORIZE_AVX2
-+#ifndef EIGEN_VECTORIZE_AVX2
- #define MM256_UNPACKLO_EPI32(A, B) \
- _mm256_castps_si256(_mm256_unpacklo_ps(_mm256_castsi256_ps(A), _mm256_castsi256_ps(B)))
- #define MM256_UNPACKHI_EPI32(A, B) \
- _mm256_castps_si256(_mm256_unpackhi_ps(_mm256_castsi256_ps(A), _mm256_castsi256_ps(B)))
- #else
--#define MM256_UNPACKLO_EPI32(A, B) _mm256_unpacklo_ps(A, B)
--#define MM256_UNPACKHI_EPI32(A, B) _mm256_unpackhi_ps(A, B)
-+#define MM256_UNPACKLO_EPI32(A, B) _mm256_unpacklo_epi32(A, B)
-+#define MM256_UNPACKHI_EPI32(A, B) _mm256_unpackhi_epi32(A, B)
- #endif
-
-
---
-GitLab
-
diff --git a/www-client/chromium/files/chromium-95-harfbuzz-3.patch b/www-client/chromium/files/chromium-95-harfbuzz-3.patch
deleted file mode 100644
index 33fe9556aaf3..000000000000
--- a/www-client/chromium/files/chromium-95-harfbuzz-3.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 9e00e702633c47c590a869bc66b5c2ceec09da50 Mon Sep 17 00:00:00 2001
-From: Dominik Röttsches <drott@chromium.org>
-Date: Tue, 28 Sep 2021 15:31:50 +0000
-Subject: [PATCH] Roll src/third_party/harfbuzz-ng/src/ 6602cbb70..a52c6df38 (80 commits)
-
-Fixed: 1252284
-Change-Id: Ie2ff99da5e41ca97b8881e1bd3e158881f4d5a8e
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3190252
-Commit-Queue: Dominik Röttsches <drott@chromium.org>
-Commit-Queue: Calder Kitagawa <ckitagawa@chromium.org>
-Auto-Submit: Dominik Röttsches <drott@chromium.org>
-Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org>
-Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
-Cr-Commit-Position: refs/heads/main@{#925776}
-
-(only components/paint_preview/common/subset_font.cc)
----
-
-diff --git a/components/paint_preview/common/subset_font.cc b/components/paint_preview/common/subset_font.cc
-index 45daea7b1..43a448e 100644
---- a/components/paint_preview/common/subset_font.cc
-+++ b/components/paint_preview/common/subset_font.cc
-@@ -79,7 +79,7 @@
- // Retain all variation information for OpenType variation fonts. See:
- // https://docs.microsoft.com/en-us/typography/opentype/spec/otvaroverview
- hb_set_t* skip_subset =
-- hb_subset_input_no_subset_tables_set(input.get()); // Owned by |input|.
-+ hb_subset_input_set(input.get(), HB_SUBSET_SETS_NO_SUBSET_TABLE_TAG);
- hb_set_add(skip_subset, HB_TAG('a', 'v', 'a', 'r'));
- hb_set_add(skip_subset, HB_TAG('c', 'v', 'a', 'r'));
- hb_set_add(skip_subset, HB_TAG('f', 'v', 'a', 'r'));
diff --git a/www-client/chromium/files/chromium-95-maldoca-zlib.patch b/www-client/chromium/files/chromium-95-maldoca-zlib.patch
deleted file mode 100644
index 1f64a66ddcdb..000000000000
--- a/www-client/chromium/files/chromium-95-maldoca-zlib.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/third_party/maldoca/BUILD.gn b/third_party/maldoca/BUILD.gn
-index eeab205..29a0a2c 100644
---- a/third_party/maldoca/BUILD.gn
-+++ b/third_party/maldoca/BUILD.gn
-@@ -224,7 +224,7 @@ source_set("maldoca-ole") {
- "//third_party/libxml",
- "//third_party/protobuf:protobuf_lite",
- "//third_party/re2",
-- "//third_party/zlib:zlib_common_headers",
-+ "//third_party/zlib:zlib",
- "//third_party/zlib/google:zip",
- ]
-
diff --git a/www-client/chromium/files/chromium-95-xfce-maximize.patch b/www-client/chromium/files/chromium-95-xfce-maximize.patch
deleted file mode 100644
index 296d97873ddc..000000000000
--- a/www-client/chromium/files/chromium-95-xfce-maximize.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 603d765ca5154db27718d89a2ee9be2a95a64254 Mon Sep 17 00:00:00 2001
-From: Alexander Dunaev <adunaev@igalia.com>
-Date: Fri, 29 Oct 2021 20:54:46 +0700
-Subject: [PATCH] [linux/xfce] Set zero insets on maximising the window.
-
-It turned out that Xfwm handles the frame insets not the way KWin and
-Mutter do.
-
-Bug: 1260821
-Change-Id: I69e71049157c03b74d78bc5edb7a60bf39cdda8b
----
-
-diff --git a/ui/platform_window/x11/x11_window.cc b/ui/platform_window/x11/x11_window.cc
-index dd381747..706f19c 100644
---- a/ui/platform_window/x11/x11_window.cc
-+++ b/ui/platform_window/x11/x11_window.cc
-@@ -676,6 +676,13 @@
- // save this one for later too.
- should_maximize_after_map_ = !window_mapped_in_client_;
-
-+ // Some WMs keep respecting the frame extents even if the window is maximised.
-+ // Remove the insets when maximising. The extents will be set again when the
-+ // window is restored to normal state.
-+ // See https://crbug.com/1260821
-+ if (CanSetDecorationInsets())
-+ SetDecorationInsets(nullptr);
-+
- SetWMSpecState(true, x11::GetAtom("_NET_WM_STATE_MAXIMIZED_VERT"),
- x11::GetAtom("_NET_WM_STATE_MAXIMIZED_HORZ"));
- }
diff --git a/www-client/chromium/files/chromium-96-xfce-maximize.patch b/www-client/chromium/files/chromium-96-xfce-maximize.patch
new file mode 100644
index 000000000000..77cf410cfe95
--- /dev/null
+++ b/www-client/chromium/files/chromium-96-xfce-maximize.patch
@@ -0,0 +1,51 @@
+From 245e71ae8de3f4b5f3478739be819981bb12dfab Mon Sep 17 00:00:00 2001
+From: Alexander Dunaev <adunaev@igalia.com>
+Date: Sat, 13 Nov 2021 06:35:35 +0000
+Subject: [PATCH] [linux/xfce] Introduced a hack for Xfwm.
+
+This proposes an alternative to [1]. Either this patch or that one
+should be landed, but not both. See the linked crbug for the details.
+
+Setting the frame extents via the _GTK_FRAME_EXTENTS property turned out
+to be problematic at Xfwm. While the issue is agreed to be a bug in the
+window manager, for now we disable setting the frame extents on that WM.
+
+This patch introduces a logic that disables setting the window property
+on Xfwm.
+
+[1] https://chromium-review.googlesource.com/c/chromium/src/+/3275653
+
+Bug: 1260821
+Change-Id: I4b734ac0dc2b97d7ed6b1842564a33ec6e4b4035
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3275272
+Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
+Commit-Queue: Alexander Dunaev <adunaev@igalia.com>
+Cr-Commit-Position: refs/heads/main@{#941444}
+---
+
+diff --git a/ui/platform_window/x11/x11_window.cc b/ui/platform_window/x11/x11_window.cc
+index 2b20835..4fa2992 100644
+--- a/ui/platform_window/x11/x11_window.cc
++++ b/ui/platform_window/x11/x11_window.cc
+@@ -1016,6 +1016,21 @@
+ }
+
+ bool X11Window::CanSetDecorationInsets() const {
++ // Xfwm handles _GTK_FRAME_EXTENTS a bit unexpected way. That is a known bug
++ // that will be eventually fixed, but for now we have to disable the function
++ // for Xfce. The block below should be removed when Xfwm is updated with the
++ // fix and is known to work properly.
++ // See https://crbug.com/1260821.
++ {
++ static WindowManagerName wm_name = WM_OTHER;
++ static bool checked_for_wm = false;
++ if (!checked_for_wm) {
++ wm_name = GuessWindowManager();
++ checked_for_wm = true;
++ }
++ if (wm_name == WM_XFWM4)
++ return false;
++ }
+ return ui::WmSupportsHint(x11::GetAtom("_GTK_FRAME_EXTENTS"));
+ }
+
diff --git a/www-client/chromium/files/chromium-93-EnumTable-crash.patch b/www-client/chromium/files/chromium-98-EnumTable-crash.patch
index a5c2defa0ae2..f058ec18327a 100644
--- a/www-client/chromium/files/chromium-93-EnumTable-crash.patch
+++ b/www-client/chromium/files/chromium-98-EnumTable-crash.patch
@@ -1,5 +1,5 @@
diff --git a/components/cast_channel/enum_table.h b/components/cast_channel/enum_table.h
-index a63ae86..83ada65 100644
+index 842553a..89de703 100644
--- a/components/cast_channel/enum_table.h
+++ b/components/cast_channel/enum_table.h
@@ -8,6 +8,7 @@
@@ -9,27 +9,24 @@ index a63ae86..83ada65 100644
+#include <vector>
#include "base/check_op.h"
- #include "base/macros.h"
-@@ -213,7 +214,7 @@ class
+ #include "base/notreached.h"
+@@ -187,7 +188,6 @@ class
+ inline constexpr GenericEnumTableEntry(int32_t value);
+ inline constexpr GenericEnumTableEntry(int32_t value, base::StringPiece str);
- template <typename E>
- friend class EnumTable;
-- DISALLOW_COPY_AND_ASSIGN(GenericEnumTableEntry);
-+ DISALLOW_ASSIGN(GenericEnumTableEntry);
- };
+- GenericEnumTableEntry(const GenericEnumTableEntry&) = delete;
+ GenericEnumTableEntry& operator=(const GenericEnumTableEntry&) = delete;
- // Yes, these constructors really needs to be inlined. Even though they look
-@@ -251,8 +252,7 @@ class EnumTable {
- // Constructor for regular entries.
+ private:
+@@ -253,7 +253,6 @@ class EnumTable {
constexpr Entry(E value, base::StringPiece str)
: GenericEnumTableEntry(static_cast<int32_t>(value), str) {}
--
-- DISALLOW_COPY_AND_ASSIGN(Entry);
-+ DISALLOW_ASSIGN(Entry);
+
+- Entry(const Entry&) = delete;
+ Entry& operator=(const Entry&) = delete;
};
- static_assert(sizeof(E) <= sizeof(int32_t),
-@@ -307,15 +307,14 @@ class EnumTable {
+@@ -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())) {
@@ -47,7 +44,7 @@ index a63ae86..83ada65 100644
}
// This overload of GetString is designed for cases where the argument is a
-@@ -343,8 +342,7 @@ class EnumTable {
+@@ -348,8 +346,7 @@ class EnumTable {
// enum value directly.
absl::optional<E> GetEnum(base::StringPiece str) const {
auto* entry = GenericEnumTableEntry::FindByString(
@@ -57,7 +54,7 @@ index a63ae86..83ada65 100644
return entry ? static_cast<E>(entry->value) : absl::optional<E>();
}
-@@ -359,7 +357,7 @@ class EnumTable {
+@@ -364,7 +361,7 @@ class EnumTable {
// Align the data on a cache line boundary.
alignas(64)
#endif
@@ -66,7 +63,7 @@ index a63ae86..83ada65 100644
bool is_sorted_;
constexpr EnumTable(std::initializer_list<Entry> data, bool is_sorted)
-@@ -371,8 +369,8 @@ class EnumTable {
+@@ -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++) {
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 000000000000..f2f18beda3db
--- /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-glibc-2.34.patch b/www-client/chromium/files/chromium-glibc-2.34.patch
new file mode 100644
index 000000000000..64c03a6adae6
--- /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/metadata.xml b/www-client/chromium/metadata.xml
index 6797780530d5..dcdaa4ce4a04 100644
--- a/www-client/chromium/metadata.xml
+++ b/www-client/chromium/metadata.xml
@@ -19,6 +19,7 @@
<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>