commit:     f96aa1f6c0dd5e3cf7ec134d64142ac2d0d0f20c
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 19 07:55:46 2021 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Mon Apr 19 08:32:47 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f96aa1f6

www-client/firefox: bump to v88.0

Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 www-client/firefox/Manifest            |   98 +++
 www-client/firefox/firefox-88.0.ebuild | 1173 ++++++++++++++++++++++++++++++++
 2 files changed, 1271 insertions(+)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 47f9707e754..756ace31d85 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -194,3 +194,101 @@ DIST firefox-87.0-xh.xpi 425312 BLAKE2B 
db9d64f7d61b5d3d17a629f4fb532a0985860bdf
 DIST firefox-87.0-zh-CN.xpi 574675 BLAKE2B 
5d57dc94cf7461964f4a2ed67466f052b7f9719b9c0e2efa535f31821cdbf0a086f829e2d07abf024d56df7e459d5f1918cce34aec59b792d7bdb1dfe94f9243
 SHA512 
48941d1da578dbb69321c42d278517b596813c5949392d18a606e61f4048b9b0fa1f19959205086f8e76aca8a3449261641926b439147321357761a6135e27ea
 DIST firefox-87.0-zh-TW.xpi 574917 BLAKE2B 
169717dd4dc72be69f4d05893a7d21469b0e7994c9483457e2d9cc67ecb416435b8bba0e0570e73e6a8e806d53b46bfabb7e258af1aae57c925999e5f6d8be30
 SHA512 
caf887dade2a47dd88816e27a251c844afb4eb619568b50fe213986a4bb3e5ce8a53c3235873d3e9a47810e033aa0a2b49ff05df28a8fc2b7f562971156759af
 DIST firefox-87.0.source.tar.xz 377285124 BLAKE2B 
c3dfb4b68b6a77fc760328fcce11cee92755dea3373636198f1cdf74d00e4cb56cf44dacfd513da94dac3f0bc4b1c5d68ce2af2f790b261099d9f7007a0fc342
 SHA512 
c1c08be2283e7a162c8be2f2647ec2bb85cab592738dc45e4b4ffb72969229cc0019a30782a4cb27f09a13b088c63841071dd202b3543dfba295140a7d6246a4
+DIST firefox-88-patches-01.tar.xz 22344 BLAKE2B 
b4c1a96fa339dc5ccbd631a1ce03ccdea2bc5598644f331a14db061c5cc94168ee51ecc61a62f05bdd4f7eebdb41bbb646ec1a56e1570572ebcb892a4273be3f
 SHA512 
6688e2e918530d3ff3fce9b2ce233356d7409c293fd4465afebc5e6886ced1d9bdcc48405ac3c4b7524a26a225919cfcf1accd3c14a01c073feb6dd1ae73cd45
+DIST firefox-88.0-ach.xpi 466425 BLAKE2B 
571f2d86a1535d58b32b3647166fdf86014af4ec1cea5369f73d0b0991bd3b4c9940f77d1833b0f260885c663c9915171124495958ddbdc887e7d5fe3564ee56
 SHA512 
0cef9516afd5907b206f4b467de63d0bb51414d5cc86c49c6e3f0d6fd8964f66790b441b34ca37ccc5a8d333b9d42fc602a2bed8bd81bc1c9dd5f5ad29eefbd7
+DIST firefox-88.0-af.xpi 430681 BLAKE2B 
b7930a70b8eaf3f09bd4be9d34c698672b7f09fe643a50e6d04f8de3be5591beedbc651a9a85de45e1a2052ee80f279e4c1b60d37fb03f6ab7fa0f8c0d3ce96a
 SHA512 
7d7292d6f258328318bb7d09b1053618a9b304fc5884de769db4f909b49438156d2eac8f3f8cf62fbfa115190f143713b350aea529d07e0a6a5c3da626096eeb
+DIST firefox-88.0-an.xpi 514139 BLAKE2B 
925eab38b565d0e3aa53d34df5170945c2319a41ad2e3bc5e452dee4ea44e8f8dbf2044a29dc68e8e8a48187af9013fe098757a0d03029b863d8676b44c94598
 SHA512 
6c2a7360f89083b989ca0e9465dbcc1ce0920608dfeacb720273989200c4e2d4838836a53a192fc366b21941d7c2ed9811c8d8ce507f80d3db8778874103da71
+DIST firefox-88.0-ar.xpi 577347 BLAKE2B 
ccee800af58aec19c1966413eb78ddc88f9001b59965d68a59f01fceed690e45e26a4fbeefaa0f6ec37f5bec00c8f63c1330cfc60d97408de21504895633087b
 SHA512 
195747125837292d984802db4a50e3a95003be5c4722b4d85a2db5d2c1520dd4fc9ea3fe98cd909bb0f3c3f7ad51d10623bbacbf8c6543dd08696cc65bd9f8d2
+DIST firefox-88.0-ast.xpi 497101 BLAKE2B 
25f7f2da55b2d98e2e3949c631ac2acaffb457eae6b6e9d9ce2d04ab0c43ace5d36fd1fc9739d7452a1a5c196a0c48c2624ca8de39edfe0a8f2c8f951067a418
 SHA512 
44cd2fe6edacabe0f87873589abea5bc13d14e916b2b175f86e584889f7082a331658414bc9929ebba43584db76332a8ede9ee3e3ac65d962c527996e720f3d6
+DIST firefox-88.0-az.xpi 502505 BLAKE2B 
35fd08743bc6e989d8cb7cace553b187d7650143b68edc21e4c604443202d1f0362a7ba2997275643782b6eb096ab9c4084f13384dc503c7cde116cd9cb3fb0b
 SHA512 
7e2459d62a9f86afddfae3305e0e9ebb9028053233c1c6e7544cc4f97f01aa0f79d0600280f14d758d0f0ac55fc57fc7c0132d58e4311a3ca822f00debae4759
+DIST firefox-88.0-be.xpi 625939 BLAKE2B 
e11601e6fdad6c3ec1717420a274b3b2c679b0b765ea6f8dcf631fe041b421bf702ebea0455de4f31cd2170b3ef0234f60461dca60d95c95f716bdc05f5128eb
 SHA512 
bca0659fdfafee8debadce7fc5f38748fdcd6854638154196cba966e03526c21412036a092fbaa7b66d7deb0b494023e00aa16f506b31b451b3512f2bff876c7
+DIST firefox-88.0-bg.xpi 570446 BLAKE2B 
2e78e10e12c5906acf22a71dfe7078dc24e2bba914b63aca108e3c9ad6701b42bb16571c4876c26259b0e50c6158d6803bbad8fabd335839d4e00f872c1ae1be
 SHA512 
1c335ac924c2589a68817f24cfa647f853825501143754b1814fac321c6a4913a14ca78b47de2fca92b0b47db1ea90dfd7405de249f373fa35c939387cb2b5f7
+DIST firefox-88.0-bn.xpi 578195 BLAKE2B 
8d9eef6e777c82327570b1296687d64bc5488f1df4f1327b64264229ebcb0f744e8befbf0401de8445e459ccb75372090dbe60dbb131f5ebd12706133a6ba5e0
 SHA512 
9ed7c72d3a91d93d2f77ec0c790c30fa4f2ba5927597e7224b3c86adcd0006c5b3222962d3511861fc106a6ffeb9ccdd9ea62bfbbdfde53192e9df64ab71dd17
+DIST firefox-88.0-br.xpi 520137 BLAKE2B 
f8dfaaa6ef5c732c21c2eebb09d4149470feafacce5088c701b59b24c14e95d544231314998bd637863818727e0d2692e1fdef6fd30680e0347150191212ec14
 SHA512 
8970e29d8a72eb39f0bd28f48c4aa72db9182583a93e6c737d036ca03f1a381d8ba788029209d9613b194319ce58d5e8bae1eea8c1b7e70b0593e84344211256
+DIST firefox-88.0-bs.xpi 471193 BLAKE2B 
2c099595f02a94c830fedd694f65416d5ba4ce8de245ffa01f55c8e7debd1bb20f24138573c2f54132c79fd9ca8750540f7fe140832bc4c63a71c6533ca1ad0e
 SHA512 
a76c90d0ce6a5c92018af4c2cb14c27736f57719bd8125a37fa4446e0fd9f4618d6aff79833c7a47915f106f8ab1dd29cb75c70dca6859ee22840db2180d2e12
+DIST firefox-88.0-ca-valencia.xpi 530880 BLAKE2B 
3358e4f2026d1077a3d712a7ea8aec9b2fdaf38d9212d87e43138a10d744616fc53692462399cb872c2d3e571932f253e0cb57cde6cc903357822421a0958410
 SHA512 
3ce32523a7eeddb34e8af9ef0d5569b1b56baea92e72fa8b0dcfda4cf23d16ce174b3fb9b3bda7685674174c0535121669cce9946ca751bc67a47796e7db7b30
+DIST firefox-88.0-ca.xpi 539383 BLAKE2B 
489d18578499976c2f70770ff82f6e2a139d9ab19a6ae18608638d0155644724d423258e5a1aa119f222a00256311fdc91e4fd4f54c24ce36df9160a744569c8
 SHA512 
6130c7920658c5c1bd031bf465c523f8ee6cd808a247a8afdd6e59cd61c40fff5fab088265aec56bb3619f093e9b91c1cfaca02727dcc420083ac35f0bdf08de
+DIST firefox-88.0-cak.xpi 565770 BLAKE2B 
ba7956984d98abe537f36fe9e2105e6914b592188dbab3d0c83415f6adadfc6203ad62410069477e9f28d93c50b2518ca586f091eefc0610619aa48b6a358b81
 SHA512 
8da97e28ad92fd051fd0804f8201f669ae4d2e8bac15e2e2fab0519dbe9d40cba6af98e668590ee91861330ab34da33168023a03fd545f4dfe8a61381215ed43
+DIST firefox-88.0-cs.xpi 568034 BLAKE2B 
e264e844ad1f97e584db7de9dc80cd951074063fb5af29c76d2c4ada81bd2a99a62ec46e102b8714575cd8597fbb3b1c4e1fac2255e507683100feae3066532c
 SHA512 
d09a60dfa70003d98228501ab6e95fb2bd301258ad6a8fe73289013465c50420b85cf5c14503a14d771ba0934bc9771968ba6cabd0db1115b6c5d5ddf5f39759
+DIST firefox-88.0-cy.xpi 545903 BLAKE2B 
0b0544ddb5615e8a76718697623138b68bb3e262b8aa6f8d0a485a401874228176d054bb4f022333c6e45f1b9f8feb85ce378cb50801964714761d17bddc6eb4
 SHA512 
8f4dd06f31967c6800060e88cf8dcc0a9f5312aea3d26d67eadeca6e15f35bd02a5f26d2d754f35abfc8b11eea869d1a941effe82128513ea2108a1ace2f1f55
+DIST firefox-88.0-da.xpi 539196 BLAKE2B 
ac756f700370497389b70d093d35a4b6e85425827f24095b2c12773b0cb086f9dbb30432a1e797ab098b73008ea175b0faf609c1b08c23013a9dac569d30eb43
 SHA512 
825fa827168b17b3bbefe97a04de12e23090205b444217ec83a428fa996026bef3cb26be9781ed06ef94feab2b6a3b00aa956b7d0dcdce1238a6f8fb2dbfe652
+DIST firefox-88.0-de.xpi 557923 BLAKE2B 
e42e3ea779fe682fc0078cfd56422dc1ea8f07b2b2f0a15da065d0a581ed865ca51bce181cc04930140f48f89ed50a4375566ccd08e3a7fb11126c7a8bf1d026
 SHA512 
9b0be0df2a12c9e3e9d0c784ee42cb3ed59d3338c2f427f2a6f53b7cd4f9e54490c7cde981484ad2b9a5e8b00fa3bdabfa57a48c14abd70cd9284cf6320ff95b
+DIST firefox-88.0-dsb.xpi 571052 BLAKE2B 
0ec4310fd9f98b09f94292d2b064c45ce00cca56908b252582ca300650208697949d62eeb507fc43c3325abf7b42bc19685daeb6f1fcf3f9b40ba186e86b507e
 SHA512 
a39ad324635a0fcafad956b9cb3828949c06bce70c489965e818d1300eec066bd47d4663ebce0275cd72c00733bac335f55691d6749d40cf93dea0147c59d26d
+DIST firefox-88.0-el.xpi 644741 BLAKE2B 
ac2d305a36a63f50c3793ee930584d7ae456d4839f27d1c5609478e74e209c06acb72aa7a3f71da6df9399fd31589e2127fce494905b5eeb4c0c85898a26ab22
 SHA512 
61909dec9b574ae4c3c86e7dc0643813ce1542260f37f39a35aa0cc433cb4cba2a72f1caa58dc309eaf9efd66d6f5765b9d7ba326fde8d80fd9034bc5df60989
+DIST firefox-88.0-en-CA.xpi 514525 BLAKE2B 
e4776fc1b4b068528aa82a046fe03d6a2b63bb9aba4dbcb2f5f81758d0127d781e2c04217d53034297f9cc2d9bc231839a92df76971942d5ab3b8b20ebc2c68b
 SHA512 
e36778d4dddd7c52302b6c157bd1c35465ec876bc5481c2924e77fcb2834246c553229156a590db2b4d922fab86b64d67748e6f484883bf2c3a98483ac9a1f00
+DIST firefox-88.0-en-GB.xpi 514847 BLAKE2B 
2b714b2498c614c5b2f23f43c9dc364f58ae8e65e1d05470b754aca5790c30a9e02f0b3b9efc47c33b21db893f5a20d9a60bda81055bae2529856b4bf72e6120
 SHA512 
c3c92ce0875d485a01a99ec50c4569507b86a26b458071dc44f3a9f3c23f38df662e410f3783a7e0e68026980b4b0a27db73b11343d7c4885f03c325b6f57369
+DIST firefox-88.0-eo.xpi 541269 BLAKE2B 
26bc938b4cc57fff783e4d4166a730dafce3963fcf91d919e2afa597a0fa0acc882e7bf5a7dbc2a7e935355aa24ff2584f94952ce868c10f527d7257889a5bff
 SHA512 
2077ea1a7d9d74dfe915a68202020eb9015237e39e0b04144ed29957a4c484fa09ff950c022b315d00041842921aa7e4f0901e1d883881d12cff567a6e0c514a
+DIST firefox-88.0-es-AR.xpi 551099 BLAKE2B 
f00ce2c92d567f564e11c457dd27ce05b375424cef96f7c38da043715215d0bcdff2f722f51a48508f55652f481c170f2f6ba338ffb642b038d2d891d146a7c9
 SHA512 
019a9453bf2a6719ec2c5db320bc8abdb83c3a6c1e77212e2db4065058284313f14bcf6ffbed919535ed421aeec458400bc6f3f3a07910834dac520f12214a9e
+DIST firefox-88.0-es-CL.xpi 550765 BLAKE2B 
abfa53e96462167dfc9f8548401a384d2b3293f2db162d327f5f046ebcf44eaec3a808615c9c765b32c1e0c679937c911f0ffc46ad25a66b4213b9b647480724
 SHA512 
222edbc9f63298f900c128e03b62c270388960e7fe89b489b4b441b1af0c68c69fd657de7795c017e82771092f31568fbe403504c1fb983acb0d5e1aa13af168
+DIST firefox-88.0-es-ES.xpi 541150 BLAKE2B 
a02028d0a01f265bc7e674632a95fc5935820d60907e1c34cfebeab67bb7eca95ef5f231eb0816398a8ec9921e1621bd4e6158cc45d80492c2c0294be71316b4
 SHA512 
c565a073082e3addd8446c55e01a46061f33ed304bfdced095528ba9bf5f0c61965f2d8eb2d6df16c77cddd8854582f3b3c91a230cacb4125cf425af02d0d918
+DIST firefox-88.0-es-MX.xpi 544416 BLAKE2B 
90b51a9de0ecd54a9bd4ba8ac81cbec2e073fbab713343ebfd2dd4903a5c59e92eb6dff793d3192e63411cbb6005e580da5a177b774c8d1fd0e05cd0125f2ffc
 SHA512 
3ea3dcba023bb0c225c4e49b740be272a4e9a723b10a90493fcb5e8790d848733c13a148a92032b3d609937b1cf767c5d30b968b7bacb6eb0d3a725acc50837c
+DIST firefox-88.0-et.xpi 495382 BLAKE2B 
3137ce44b3d104f209d3e8e673f83f741f6c6adcfc46ae60784b8911e1afe4c00de902e4b7d0f5e2b962dfe7922e2e4baa204c2efc286b0038299ef05262aaaf
 SHA512 
ba809525be7a1365efd03b3c5729ef6ae5fc1424cb824235d069b02b9b1d5e8f8ba28646e7e96c9618460c9141d26162a1bb712ff5344d4e489610be3b72b04f
+DIST firefox-88.0-eu.xpi 529565 BLAKE2B 
f1b8cbb39d5a2853377eacffd2634e98f2374f6ed99ae354e6bea4d49457f2bbd097acd1f36f971c303c4605b312a55b427e359cadaa81caf1fedf2d7a82e433
 SHA512 
c4f14dc8d10b59ec3a9e34f24042f1c0701c9a18cb98980b66d6662405b85fd585c9ba849d4fd2714702059e3cfc3429f13760646b96f3e4bccbc5c201b417f6
+DIST firefox-88.0-fa.xpi 558244 BLAKE2B 
2f9a822fb7aeebea0c7689272cefb4629be8d4b103e397bc291488d644072593e3da10ba17386b82959b7865b2e6a071ffbb55a91ad6e7d30a76e6bcc0e0e7b8
 SHA512 
c0577fac91b3654ec12ffa2a3af1cf5b89b39f446712702b8f853d00c0e4a59a1290dea591b84a22a658847afdd2d75587a798a21467472c888a1178d5608903
+DIST firefox-88.0-ff.xpi 487074 BLAKE2B 
403d9e8d6b93021115f6d92ed1899d3cf5ac5984007cd92e8e327da19a45075a459355941d514f10b04525e3b3de72257b602313c0ad551df8e124c42b38ee4a
 SHA512 
f83078a0bfba6c21d6521c9afdb7f478c55c1c80ccba92958fa02e2062732d803d2fc409abfb4da4b8f85d7d0c3ca1d3be695fda863fb42c3d50c6101c98559f
+DIST firefox-88.0-fi.xpi 535879 BLAKE2B 
8fcc01e0d50fdb7a86767167ea93a1402bf90337e2952a6f29c9a141c39ec4e6dd14920c10a9e42c0be9662e1448724a0e53cdd32ac13215daded58641de3db7
 SHA512 
2a848fc1785a21b682462b2ee78a04443e5b60d812f7d0584d01db7703e89058a5796612441fa42f15d51a614cf20a91b64169f10e5f8b2480f69dcc19ddd175
+DIST firefox-88.0-fr.xpi 562822 BLAKE2B 
06b69fd27234a8ad94aecbe8715bb25aadebdbc017d97f17ef9b594c7f7ec86bdfb2d3ba2c8e5397e750ca6d2e41994e0585423858cc36b8be54309e315cf412
 SHA512 
cfd1c171d249297cb87ccf2a3ee08a56ccda7a61c0f51f299fe7878c2586b7ff7f0a1c25b92dc1ac2349f654e7cd45cfba81b21244d4d65e844bf6b0bdb51bc8
+DIST firefox-88.0-fy-NL.xpi 547927 BLAKE2B 
f5f3a911702de3a2ad6fefb7d1e2486971398a84fe176371502d96c461b01595b11fafe8123f3f9bba6c7502c4acdf3f7e95bae75c404e9003019961bd5c9c40
 SHA512 
be03282a71f80c074e8035c86cc44ca9c035adb53b511c2e4496f1ef864496fb692a3a1d8ddc4d76a3dd85de1387579206ab67752f9532fc3e973306334a1e73
+DIST firefox-88.0-ga-IE.xpi 472046 BLAKE2B 
3783b55c4e95bf2e77ac90a5bcf0f3e9830c77838aff5961e6ab4b9583aef65d32c217858006f00ea937df47dec0f29b301e003efc8c0c5fbb8bca24ab43b171
 SHA512 
16e5d9883a7dc9d9b39a2829b360b065f33f197f829232d0daa1338de65dd153a1d353a755807c5e3887d4c8c17725b1ef12272bc9bd88755088b1c7ec2a7ab0
+DIST firefox-88.0-gd.xpi 500183 BLAKE2B 
eb973a03f03e445a9bd73aa12037b4496aa892155df358f2c30ce0dcae2bb30e7a2a38ef170cf94fb1aaef40b8a2c552fb39926113732d4646593eb1275d1d0b
 SHA512 
08d77e691c70dff8a26088a6806df01fc6b3cf37130bc7c6be03d5091c645e00e9dc70623a236fd10fb8bd3f8c2d2e95bd1f06a93b9d44f5881f06f475fd4ee7
+DIST firefox-88.0-gl.xpi 545149 BLAKE2B 
2ecfdf07b7437da9d5bf15e8e42089c441d2681eaffc42bca36399d2b30bb80c820a3d040693a15d759ecdc27689221761e8c5c77577706c320cb285b35f6d2c
 SHA512 
3e2b92dfec4e72600b51cc504e90f8974f3991b21c029572b7842402d45c1de524ca9ac400a422420d65ba533157935a30a1faf78853ae578c1daea6771a696c
+DIST firefox-88.0-gn.xpi 562570 BLAKE2B 
78f443af27d9c1b1bed3f76332fd9e90faf5b21338b6b716e814b91d95388b54f5c7d29fbd24ee5c403b09929489d09284dca7c22b07b8d2814c7c1abb926cfe
 SHA512 
ef5039a416b3834a557afd2cd49d5add3296a6f49d8447a026092de0a318e4a5f447cad7c6d88b4477e04d6678b127834327943f2699bb31c7af50da8f3a3192
+DIST firefox-88.0-gu-IN.xpi 546303 BLAKE2B 
c1844d3a7e34488b5bfc2450a8fb7573e96de7f90cec7305cdaa10a98c7a21c6ac22352c67629a8e012f8ed71dd723f9fa1db2179a75d4760455072160b7d4fa
 SHA512 
2dca31c90e101653739a6e2abb36bef0f2847fb578638514b2ea1c0516b2f63ce782d223085e8da1c87d5b65b616e4a2d308b75a97f09e365ebabfa4b40f67de
+DIST firefox-88.0-he.xpi 561745 BLAKE2B 
c7b7ec7095fc549405ad0dec7078f38678fa091f1edda0f7ef14a223bc11604fcebc4107843e5ae0bbed31222d91379be041ac51be42514be42a866a7d8bea10
 SHA512 
18390cd7c32b354fb0de2b70de76d03601faa8546267a8b1d18d42f049f3a083414d7dbc69867fac077e79a5276b5c10f3051ed5742aab9542bfbd4fb8458c97
+DIST firefox-88.0-hi-IN.xpi 577980 BLAKE2B 
28ba6a96ad14c4a8ca4bd7cde9a31198fb84c20690dcf3620c3e1fcd1c9a018ed0d665208f572284d16d6759234b376ca97ab260d24fa54724de608278f08616
 SHA512 
01b22403b2ce956490eef6823aa01582fcb7ade1807118ce62cd92d74768dd0ce6b287bf09ad21f161f28f8d954ef7d0c715a05828e178775bf522892fc496bd
+DIST firefox-88.0-hr.xpi 542106 BLAKE2B 
d61353c1853e0785b43339f58ec4d1d643bb0a1e088b1106d453162b4799154c692715069df19882b4c91bf592b45a9e3a0cb0de7061684d2afc67ab0abceb86
 SHA512 
d84bb0042e9edc3d6c88369e6f72abe590a71b9f192b7b44efaca2595d9679cc0c0318fa1ad201659f5db7a3e9ad4be50ae2316ab9537d3fc569bfc8dcb2994c
+DIST firefox-88.0-hsb.xpi 566434 BLAKE2B 
5b8a9b3394571708fcdf47f4a95d965b85e045fd74c17da877c195200f450e89e3ab8d8629a60243dac440b05d3751dc16265ae4519083ec38f9aefc3d6c1e1c
 SHA512 
a3edcdf29728768d8b88b4c08737abde463dfbc93e04609143138c8765a248d5f5c558ba722eed83e051b5e2ff4c8d204765e1a8802c6bc88f6532f134a39cd6
+DIST firefox-88.0-hu.xpi 570098 BLAKE2B 
296e6639464d22481ba562798ad253666ac25d3a939f33f7416d463cc0d83e8db159ecd1996df61944d07f6100daae0e19907b7a64323a676af480aa01fd38b4
 SHA512 
e0c227358ec585a8409e7a85bddebf7576d659641e88e9599b897fb94adc9dae5faedd2f83c331f7444f9d42b7ce10275b53c67a34a05506c1f912432d932aa1
+DIST firefox-88.0-hy-AM.xpi 596026 BLAKE2B 
824150ec0d2981ae6d9a08c04a130078bd90e28503426ed4257b6ec5c165ab66e247e8e85775bace7f57d8626c4dc0be78ca4a1bc3c6881e0328916f24c5d269
 SHA512 
8dbc3e10b9ea46d686c81acfbd311a605e38b796bc3d6d6830796db041b7bc426b11c765c5f0eabc1f60cf9dc53d5f7596a2b32d59e25d51646ca7855349087d
+DIST firefox-88.0-ia.xpi 535791 BLAKE2B 
c844221491587a7eeaa60aca94a11385c91cef045221d305b822d0df24a538b1ced611d2e1d31af3fa9cc289041c632a92fb22340f07d35728bc44b076784254
 SHA512 
a9acf73fcfeeb1c39a03a4c707d831c6c893406d166735104ad170177a9be6ba62d3c6fe8ca4dd90d32a4f5004e3e0a367a1c3756d05b25bbe6e26d83fb23772
+DIST firefox-88.0-id.xpi 530588 BLAKE2B 
6e62899a858a05f421fc737147dc3d3a55c48fd62134dfb44db109f56d18cad9e05fb6d0cbf6c723a1e916c56713095fd6de1cad3b2ffcb18078900d68fdefbb
 SHA512 
856f3dfe2e7f832b00a32a746a852cd48c0905f3b44c276dd49b8f5777b6d673d6f70d91a1ae67f6d021fa9206a3d67428e04b360ef822cb13583ecc7c91cb55
+DIST firefox-88.0-is.xpi 482593 BLAKE2B 
a2f05fcd9a39b4f2c4b8bc35124fd33bb1e95adf70ec3466ee0354b59f3bfb63c81fc801aedc365a2badb4f372c40e0805c6f0766ad0ab3861d239935ed3be2f
 SHA512 
41e52dbf1d35b9251332a579f04dcfa7e1ea3ba5580fe6f4d08880815c412e399aae6f079abbf9a11e36ddde7669dc8a3868d83a46a4f196296a647a7d0cc9a1
+DIST firefox-88.0-it.xpi 465211 BLAKE2B 
8ef8b611281b337e39b53364e534da91fd234e5fb4eab3a18031992cff22e619aee57c010a2f52b52d167c41bde799e46b26ff74031d14ec71250f8ef26cd143
 SHA512 
58a5ba4e49ea069a845f0c1387233921f095dc30d926c6cb5a955f51025a39353af34afceb733374ebf51722926e13baf500d28df95d3358c9c2a780fccbaf18
+DIST firefox-88.0-ja.xpi 595888 BLAKE2B 
fc03c2c4b0ce5e0e5f0adffee62fd9f1a00df2523f8ac7d5f9af2514a527bc3fd8cac03a18cebf4a9405ccbf692b123959bee7f691540f12adec602082d662c1
 SHA512 
5abcc7643b8266e938a6f4cafe46e57c9b32bb39ddcaa424fa1faffcead24f46daf5efb7d9683c2d3bd717fd6084657ece7356fc61a5ff19c1116acac97e26ea
+DIST firefox-88.0-ka.xpi 597393 BLAKE2B 
4ed7704acfb4d46380483e6630bfa8469fb7050cf99244ccdd77e8778d6e1b824ca42d5ea75d1a747b5a6d7da2761a623edf65b5859cc9d92f519612bc257bf9
 SHA512 
91d47e276c0c5c6d720d57c849a5e60eeefca1d584e1c9e4aed8703b5d4682a96dfb099bd62eb0d9f67aad6873b93c420ab1192efbf1b4b2f7c2585af9edd170
+DIST firefox-88.0-kab.xpi 555978 BLAKE2B 
80cea0cce9bfadc383c0237392e844749d9b231eddfcc46ca3aafb29e1db9712381257decec3b8950e7f8bc2feb607bb7a555d11144fbf03cfa7595071f0d047
 SHA512 
a91fe870cf667794dec92eae775c9bc651fbca380980f2035172045ac9102a8ddb01772c56da2fe52740fbf8a2255cd534ba189a136cc3d6fc13ff216c99a1b3
+DIST firefox-88.0-kk.xpi 615084 BLAKE2B 
09f4abce2e39c58f88cc443bb42c80b523a4117030949656635a14264dc23a2cecd2bff5214d691102fd42d28e64c434ff0d95f052cd6378efce2fded8a9aaaf
 SHA512 
da5ef0047b71f15053a4655afab59a35c84a8f5bcd73e4d6428dd8788e52c2c6e4c5879396fea52f685462e32a2a5b5449f3234437b148b7284bd3074c4ccffe
+DIST firefox-88.0-km.xpi 540184 BLAKE2B 
61c1a13a5aff66e85d7e81ec79ddde22283437fbe77bad3f4e04199bfbeb58ac0330c473861c488d78c39614be214f36c868644f3509b6d1ff0815ea99891d72
 SHA512 
a528d8cd04e9c899eb4522bca0c76ca97ee3b4219ab9889bb9582afae3386071cc36f8de7954723de831ccb7af211270b9ce32cbf56646d7759c316fa899aa9b
+DIST firefox-88.0-kn.xpi 509554 BLAKE2B 
ac3ba0ccc008304203679012b74d77294626bab3954e34aee33f76f716a12134577f6a57c7687c770143afc3721d575899f259c0cece2dbffcb84eda3f9a0b23
 SHA512 
2fa2cbbdd0ede4e91282dbac3b67f411827cec2fa59fae2b7ffe0d5ab81458b6620b6f990595ee6bc9c668de1153877d1c09529b822bc9d967b17c946010334f
+DIST firefox-88.0-ko.xpi 581947 BLAKE2B 
ebc1eb19865fe8eb8410f0480d8135fcb06daee36d0fb87872b33cf89525dbd4fe2768bba9d01c725284032d527d4a6b0e23d2c9bd2894373605c2e0f901514a
 SHA512 
110a2f45b5d0f49c99147cbebd758ab426952a744b2e4ca0db165f308d24efc99cd822edb2ea884d030552d2b4a107e312981e349a528e93c702db2939d94406
+DIST firefox-88.0-lij.xpi 481071 BLAKE2B 
7ca1544e798d24602ca0598df5a9e2bf897572b9dabd883a894cf2aaf21f8ba623b91ad31837f697c359903078f8fc5e2ede044acefdd11b8f6fb1cfa495c0a4
 SHA512 
ceefce0c6a884cc885ade4708bb9d6c3553ebc6c1bad3c8c460bd26c48d91f71c83df27e6a3f7fa62041b3f9056a04053d7464c7df34c3028ce58cfc4765fdb7
+DIST firefox-88.0-lt.xpi 565816 BLAKE2B 
981cf11b3bf4dddedd143ecbce529ae89503a67b1ffd191ad7077c945f9a5160d7ffe2cce3c4bbf1fbb94565caae571ebdd316ed82eb897d1bee956099af20c7
 SHA512 
90684144075835fad26398f243a88bab7d2b30506f484b89cdb0d7598b131eea818eb835a6c1fac04843fae41e48bb21bb1e8ce429921e239c8c8bd991ec83f8
+DIST firefox-88.0-lv.xpi 474630 BLAKE2B 
75ce19ccc02d788b75e24125e2b99ff7d64781beca322c862f9c9bd776dd910dd0b7007feda4c767854c705753c5e2d7b1c0e9ac13f853df42bf5f20abbb3af7
 SHA512 
96bcc4291bf2b3c40fa580942af6d3f4f2503291cfda4669037d835824f95c483f2baa9a99866026707786f23b8e196e0d19bde17f4545a99f3892ef220415f4
+DIST firefox-88.0-mk.xpi 460665 BLAKE2B 
af9a3ef439ff9a07fcc378700b38507527b981d6abd126281fbd993ba57ec0ae7b7681f77fd4925f5a01a197a7369b7e1dea60b4378561ddcba7955d25939757
 SHA512 
4c3c620a1b886bc3769d0bb79328fa3dc5293522af76a39ae54fb04d4a4be7e9fab1c692e7165a2d10ff7d48ab292db6ce6709b42156b9a9b29792e8ff69ab12
+DIST firefox-88.0-mr.xpi 546370 BLAKE2B 
51e8c84462f9bc1e548580468fef5acb2dddf28719d2a5a6a9d28f2c6e51c81469e944abfb9e765c9e5b7e7f504dbc0fd9bda8ab4aa3b147a97f85dbf6aa349b
 SHA512 
86ce549d17aa85851ca71ed800eb5ad619471289a1821a014fa464e507ab9af4d4aba0d8fd4691daa51bdbe522d2c4005d55e3f80c657d790bfb4ea73ed0deaa
+DIST firefox-88.0-ms.xpi 458294 BLAKE2B 
2a92c903df419dbb04196558efde1d0032b2b5ede58a669c60235768a38039747003acb3f1fde6d56c23a71e4794472c865410f01a65da1c5d5bf4b6721a0402
 SHA512 
9f2a84c7438c1de3c945705873b7d450116881636b598e59854b96c34520fe7c8dc8dc77e467832c10a8ceef2b40386ce2334a1aa0a0503403c00ebfdbfdb9d1
+DIST firefox-88.0-my.xpi 530057 BLAKE2B 
c3199356855deb24c095b50399833c278e812ae848fe5e5b16a5e3c27dd4eb26a01c8ffec3977b99d61417781f86d3ffc6138f23649b8e07bdfa0725e56ef735
 SHA512 
685867102487b48ccd0c93e508ae552c9bebbe3a876fe461d1451ff54528fe2ba34f84e784a4e2bbae433f9a81fd97e01f0051245ba61bcebb94df69d9a061b0
+DIST firefox-88.0-nb-NO.xpi 533696 BLAKE2B 
025be4ffb68565b537bad1ea3bdd9bc98f20da638617ef3f4e118ae76ddcc48f8eb5e2c36ce86939639c62008806ec21632441a6aa92ccde33a477623308926b
 SHA512 
7887bdc1920cce6a2ffb2138ffdb6bc6f13b62844ad88a9c997ee8b4a8b960aa6cbdd8f3cc33582211f2486a9a1a46a5105fac3a8f57b1950378aa8983ffb94d
+DIST firefox-88.0-ne-NP.xpi 487088 BLAKE2B 
e643274aff49c772adb18994a8aeff6f5985c4c49e6fd10ed231a92a1f1d3360c39338ecd2bb2bbed70ed7b2b0468b85cea89ec6e4246c15fe93107cc08ed738
 SHA512 
1553d7779636cbf9de3b89ff3ed89a45a17ff4ed2e9ab8b2f6d07edfb8f567072fd79c93429fa3441286f845a9513e160eba6b3c20cf47ffb6338924fbd9e1d5
+DIST firefox-88.0-nl.xpi 541705 BLAKE2B 
6a8e31957e3de3f72f9450b87c5f942231e6d486236c7d0e528329d2f3a9b7ec2014a69aa860eb6d226f1359aae954c9ba347cd4fe300e82c01c0b0c95b16d70
 SHA512 
757072e340a1d0dd1b56055d0a3a02439422d83b2512ef4e81f5313c925af1a4ee151dcbfedd74ff6dde43b7b4a9f6d06d027d6be4d8b61b9c8bb94658a1d6eb
+DIST firefox-88.0-nn-NO.xpi 536542 BLAKE2B 
b5547276fb03621e4d3d9bb524e07cb57c7d8b78beb0546208837ba2abc5dd8c5568e0014ed423d4733bf971a75ee68c8873299cf377f35725ddcdcc888ec507
 SHA512 
f6609d8fdc843b80a5a2c512459f0e155333b8fe9dbd84b0d65db10392f8c93905e1a8f69262f9dd07a6aa492adfa962f2569089777b65d87c4a3f18cdaa5949
+DIST firefox-88.0-oc.xpi 557515 BLAKE2B 
1c7adcb5eadd12f8e22558e8a88b3f2ee828d7d486d8ee074a44bf94d9d39730b09454c22256669db2fcd400a3b023b2c75ae3acbd54a180d827598cc9776d45
 SHA512 
44750969967d56a1d74ef512c447478f6f5fe81b11976d24c22d7ed0aa2cb053ef7c54c20e42583331f7c52ef3dbfbdf88caba232290b2f9aa06213533774942
+DIST firefox-88.0-pa-IN.xpi 602776 BLAKE2B 
38271d40eabd8be7b2da096cee58348507de1d4404dfa6483ea287244f9e5468a8076dff4c3702c12184ef49a22733f559a35fbbccfcef49ed6cc65a4a15bc70
 SHA512 
30285d3a6e5fbf557cab814b13411f3e76e75fa406be26f8d3e1c60732f93840eae5b77e891b4e1dcccf101375bee6ef06582767857f165bd5f1cd5a16ea81b6
+DIST firefox-88.0-pl.xpi 561331 BLAKE2B 
6832222f38ace5577dca18d8039322d0b94d2755c4702b1786445a6fce35e949900f8ec4b2702bc5f767a495c0728497e2f1d601ee6924da18efd390db2ef7ca
 SHA512 
1686a83e93fd666db8e19e12a60f0f0eec3bdc06af4f6f89c5b066deaf46fb36ea2f3ec8d12b57cf9886696c32506b00062c927b000939264b0fb2de6e77a740
+DIST firefox-88.0-pt-BR.xpi 546366 BLAKE2B 
71af5bee40b520d79b34e4b0743f85ea9253ed54c790a0e609a0baa819f11711edc60346ab0d9da37083a0e725cbc2638c667eaae44e488776efd7ca79e507f8
 SHA512 
1d384f36881595e0ae59caf458dcedcb1343d45cf427a555c816abd74b91ee6626e27a21ecf90f40965480f649600f6cc2ee9e3dd1f6d500776cdc6798d946ec
+DIST firefox-88.0-pt-PT.xpi 550505 BLAKE2B 
0baba4e80eb860d0d157f4ab4980598dc708bc64b7d6a03f487e0cedeb49ac7026cb5083c67809fe34f332f3dd9af4dc9d6a874b5dfea88888642e389f2ecab6
 SHA512 
0f101489bb927f23e407f04ed7535bcc5bfd8a28508b0fea55458b029d0fda0b555527b293ba43db7ea73b83e5d2b781c4da6ec67df3c66eaa0be7c2501655fd
+DIST firefox-88.0-rm.xpi 542259 BLAKE2B 
7b82670f7455c7e17f94ed5bae6e6ad22486183548b56a72f41d3fa3610d352d25318b2924d287bdb6792b26c50fa555d4037f38d1e33d5cf963e260f368e03a
 SHA512 
8b53368962a3fe8b5c0f220951c5b02fe1d01985a4ef5b65b04d80c99857fb5eb6106c48134dcbd151777a973092562db75cd39b2595d72bc941a61cf4b418cc
+DIST firefox-88.0-ro.xpi 538636 BLAKE2B 
c4fcb2557ee381b6a8877c3e38476727a5937477d7125fd64fb446f45cb165b1210fc82a740547567a70af0a1e1024f7e8e06cba9469a8fd4509d464f3a48327
 SHA512 
4a3f27c3ce2c4d5a913db99fc8db7a44ff3105e6a3bc516f1f951594a5d0cc8db6d34e815bdf66e91bb7b36aa3cb73c16d7cd4500a5972cb102cefd94843b37a
+DIST firefox-88.0-ru.xpi 631979 BLAKE2B 
a4814f39b22c8acc9bfdfecd3621b2777e894eef26a6f3ab7ad24c5c7c0982c1d5931a88b7e6d56c0c107514006afbb60bc5713493a0ac5b8609f0f89f5d07b7
 SHA512 
6bafe1f65f048a11fb9855f9fcdb1bb55f009354c5e952a3ced54c01b5219deda3caff1b981a86aa9a342f4b59013b754e551eacc56bb06c7466fd331b99310b
+DIST firefox-88.0-si.xpi 496157 BLAKE2B 
f485ec34a1da7e47ce262dd627e4a5f56a837f0026aa4a6227e3cfa39f44ed51130bee9b292627c65df5f61be84b85bf533ae3e509d66f9d2070bf14c1cbdd9f
 SHA512 
5177fbc86aacff0336667b2b0aff8e8dae0abd1e9c5d1a519d7eb542d04426348fb22f2af7458537f3133fb7ae72e66913376811ec71ae665f6b5f78f38a3ad3
+DIST firefox-88.0-sk.xpi 567060 BLAKE2B 
730b4cdfd33f8161af9d2c60c5685f39fd1db2767b78f369ffe2729d789e7b98a7f649b1dd075334f6ad1023b799b7fde028817035243061b20bda86b4de9ae8
 SHA512 
a7f228af05d118d4b74463ca3a86dead7a27ab8237b046ea0a2e8685b9211778666eefd8569abaa8695231f9dc2046bdaf8a4825db28d0c65d833aae04439338
+DIST firefox-88.0-sl.xpi 537671 BLAKE2B 
011d138c9c01a225268f92a42777214a7e9ba362889809cac16d68d78bb96527bebd945995f9ac266ad8440361ffe8cf9179a27a6204f95546f418f46c43bafb
 SHA512 
a19ef73bb21dbe6dbe6ef6bf7418fec935d032e33a4c55eea65deb6b86e9054be9717649166febe084ab41a73dc226260a20c5e54fdcc10dd537742290cb9862
+DIST firefox-88.0-son.xpi 427895 BLAKE2B 
cb8fa15ec267b218466e92b48c75d09cbd0ca6eab170509bab6c7f90a1bf7e46d81412f175d16bc8ad8dc5cee539dd2843c53022e210e26c9f1906907a184bbf
 SHA512 
7079277a912ca8b1d16f6013359c4efba8b75d93d80cbc8414f705d9294a3cff67cbf02e561d0a83d7be9ab560af9ed2470f28669c73c3708e5d3c5ad4201d65
+DIST firefox-88.0-sq.xpi 560805 BLAKE2B 
215e43c54222d2aaa031ec33f7839ff3b7c0414d9c2047270c70d3de92d7e82788ea7c5dafc898cc02aa1d2390872ea8fea54437b1f817f68417ac646aa09b61
 SHA512 
88b6a15d0e481a853ae847794094c2d8770f7e586e25ce6a8bc1da53441532bd43fb925c0c8f356b44fecba6044190ce6ab11dec62ca98965854d2f32896a78a
+DIST firefox-88.0-sr.xpi 589834 BLAKE2B 
3dfc4313274890cbfc182bbe9cbd36ac859c2e6be68ca44eb056440ceb156cfdfb3c4c09574587672e50fb10c0a5d31feab341b94d6a0340f7ed3e4362530fec
 SHA512 
76f05aeaa0e8c32fd10a501bb8e788212f774f6ae6f452d37ca90aa6a4a83941ffbe1f4bb78b607fa7a51aa7c36ce5063989a80e9059a4481cde76dd640939e5
+DIST firefox-88.0-sv-SE.xpi 544123 BLAKE2B 
9a2c2ff3e266beca22c0fc3ca26c7c6598da85ac037a8926ba2aa7562a284c6d93b2b3112a91486e52ca2f3780ab269a67b0cd35cb8e6a3f64a7046cb3eb87a3
 SHA512 
52fd1e82514020e70a75258c8c411bdbe74895dcff0a1137c3fd633a38ecdf9b02d77b72c68fcfc874e8efeddcbaacb20feae8f03250f85e632b831fa7fecc14
+DIST firefox-88.0-szl.xpi 520480 BLAKE2B 
0d83873746183c14436cbfd937d787af635791a1593b35628f41b114e06832fa3259cb7ce764d93c9f89682603519f92f77a12a72634cf202fd8e478eedd2a75
 SHA512 
3313eae9c3af2abbd538c6531f078eaf411467b37cae18cf1d9e227c55a012470e5f8cddbabe14ae6405e9d57283a480b85dc3028fd161965864e9fabbcbed68
+DIST firefox-88.0-ta.xpi 525366 BLAKE2B 
d5caf97152942e543490a50f1c3c2eb46d861f7c6c978f573b46dabca4782eb3f147f76c3e70ea7a214074f5195705e002ba8b5ff7600e994ca1c4072bffaa86
 SHA512 
bc154f03f9a3970d83fef03ca2e533564cd62671eddecc85971c00c1a56a0ba8d55d9c6c09b72e1623a613ce9b88a43683782cc06a3d86cb6c19aa7ba2a52119
+DIST firefox-88.0-te.xpi 566052 BLAKE2B 
d24a306e51e79f4e0c886a39f8b98b7b0fbc6410ec278c0f8d13e51f16edf39c40fb6d38422119c89c649a4f9cdee72207c009e3b40a67d29f6941e0e39ac228
 SHA512 
859b845458d6fcc9ffdaa2226ffe2529954e370120011956e9af2f071f9e087ac06eac917e5dde41994cd38830fd8e78f1915cac31775c2278b129adf9b77d36
+DIST firefox-88.0-th.xpi 612281 BLAKE2B 
927e97079f94677b6770d0ff2d915ca517f96f3c13686661991127f73368cbb4e673e3a27be4931ff3f4555bf18d330fe104bb60a99c188e7a899cc022551cae
 SHA512 
646d793225a50306f6a04529a69009338a43803f69831d8a4c24fb85162bec2ae2f9b59c4342912d2a758acb7addd2fa2f972401372f676a9d3d640abee56bf0
+DIST firefox-88.0-tl.xpi 525589 BLAKE2B 
a34758c244bd0048d1cf99bb11a193d8e76d29479ad68f6aa8b1f5dda2da4248970b5a029d5505297db8c8ceda60cf6bf3e4bd5b15126268bf0799e1c0d5271c
 SHA512 
7092bf99c0c6a3387ab236782ef5c263ed617ee2b5536e8a4c3372722159ff78c8d1173ad1eb66c2216f2e35ce405a633456c26a55f92d90f18d61fb069dccb5
+DIST firefox-88.0-tr.xpi 555664 BLAKE2B 
2505d2c4cf9ed2f039f227b21f28424615ef588436e31b0fd0185efeca6f79243be31aded5eceac8df622f1fbb7ec5b59cc1adc82401c929cfd82e473ed61df9
 SHA512 
4f1fe61a0f6dbd5fe36a2c502e92ced6c7ae94fde0cce972a9754d20bed5a02aed9d1a429f3ac773646e2c8c612b7d6f5f781e4f170a1c707ffebc5bff5ff598
+DIST firefox-88.0-trs.xpi 505353 BLAKE2B 
f19a4837efa05e1c24af9b7e2459c4ac2a74cfeabe58cf13b5091e9ab1a8599eb71f899b3d6e55f4544fa792effd72f4c1a2348b4885ae79bd4349011dcc2350
 SHA512 
a65ea8c944c6dd637873e96afd60c05e20036ea1b5e7a433a2b1a51af6c17470de675af7c1fc7cece365d796d8046c7d8fcd2fb906f84dc3031a3d7956a1845f
+DIST firefox-88.0-uk.xpi 625682 BLAKE2B 
41bb4aa38f07fdd2b9b31dd7971f30d40161c5841327bc8dbce9619b509d9f44c5389f39f078064649c63674c2e6d006705e5d03378bf91b33001a4f99d25f6b
 SHA512 
973c1183df6af2ef0946c14d8b7a5683e8c5c5237a5399f8896119d6e1094995207ca387e16338569c606835bff5823fcf9c565b68a25de51e76889a5474cfbf
+DIST firefox-88.0-ur.xpi 567603 BLAKE2B 
57f36a3b59f8a7796b830ef041b5e947651f47887c8adca375fd8f227d1fd0cc027ab820aa821291b330543ae5634dcdc784b889019a5078096a3aa4ea817568
 SHA512 
b146791df9f52e43d7851b5bc8d6746e28840c7c4b530e9abc5e8f840c8f931638aa6531ff3fa2c83c640b8120787e7dabbca812191427be0080ba16404e3d29
+DIST firefox-88.0-uz.xpi 482023 BLAKE2B 
6a080dda2a2a0b754d4d374523d0f1b819798666a82fc3fdcd7b9972bd7748e0cb2e24d9cd5fdc9522e1945b4aa0d653c83e71cad3d9bc9159c8bb556df18afc
 SHA512 
0eef799cd7336704b528a61396aa918c73c298679a1a4303a390ac316b3a01246c9c891794c7e296d21f49197e71d3f5cf4be2592e4b36c7fa8b7073ad0c795a
+DIST firefox-88.0-vi.xpi 577871 BLAKE2B 
86e5d5ca3c23ab4b1b81b4538d6407cb008c6326610a8c77b6dee3b40408e83a87e51faa92d6c19f499624e61d9653f3471074ef378e79f60a30640bfe7b5385
 SHA512 
d5b32330d47417359c2e78f3216be5011906cfa93afc89715a40dafb656933acbdee844d1a95de9c15780570dbb835a4d5bc72ded88e49927ec2d3a30b8adb90
+DIST firefox-88.0-xh.xpi 430064 BLAKE2B 
6b94c5c0b663b7b725ac8e0d3fb0cd06e72bfee17ad38f1d61c3d840e906a79a82932fa09b45b483e07344b159efd40a568e803e7a99fa49f948e63f06c48814
 SHA512 
0f59fff08fe3d727e3e53399df36678e5cb3530f7437d30b2dcfa370424bfd36fc14471c98d7cc2cbcd531de944f9caa5c3c1809ed8bb155947996cb3947078d
+DIST firefox-88.0-zh-CN.xpi 579523 BLAKE2B 
996493a9857012eed8e6674d55cfa7633be052b9e51f334834df239794f96afa9e60b2988c2a8155469fae2aac3fc31a4e8b016fd01ed9e07b67f355dd52fcb8
 SHA512 
16cb42109504e120621dae89db8973df7b6fa44ca1455917831d3cd1baa4666c87e1a5822513eb94632f216a73f775665b89ce5d3d1fa52408e74348491adb69
+DIST firefox-88.0-zh-TW.xpi 579885 BLAKE2B 
0529b6b29dfdd592075c1a30c6333a6730d97ae569e0844399f2f7f1f06640a1b67592664b51d0aa99b66af6c3645ca5adbe05188e69a1aec3b239680163f874
 SHA512 
7cadd4dd3a16dea32bdc5fac540f7fb75107d8bcecbf015ccb688ef482d3a37e3a7f4454596dae1703092902cfa6e777b5ade53a6cb67ba9552f184c494a18b6
+DIST firefox-88.0.source.tar.xz 373744508 BLAKE2B 
2ce5a9e21f51d78e7dd576805d9b0d56308d5a7a99aaa4f7ef85746d0bd1b6b420b5b35adc850721ca89ffeeadd69bf3fe10de66ffe7b88f99a34fa18346b610
 SHA512 
f58f44f2f0d0f54eae5ab4fa439205feb8b9209b1bf2ea2ae0c9691e9e583bae2cbd4033edb5bdf4e37eda5b95fca688499bed000fe26ced8ff4bbc49347ce31

diff --git a/www-client/firefox/firefox-88.0.ebuild 
b/www-client/firefox/firefox-88.0.ebuild
new file mode 100644
index 00000000000..e4ce7f55368
--- /dev/null
+++ b/www-client/firefox/firefox-88.0.ebuild
@@ -0,0 +1,1173 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+FIREFOX_PATCHSET="firefox-88-patches-01.tar.xz"
+
+LLVM_MAX_SLOT=12
+
+PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="pgo"
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+       MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+       # Convert the ebuild version to the upstream Mozilla version
+       MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+       MOZ_PV="${MOZ_PV/_beta/b}"  # Handle beta for SRC_URI
+       MOZ_PV="${MOZ_PV%%_rc*}"    # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+       # ESR releases have slightly different version numbers
+       MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils llvm \
+       multiprocessing pax-utils python-any-r1 toolchain-funcs \
+       virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}";
+
+if [[ ${PV} == *_rc* ]] ; then
+       
MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}";
+fi
+
+PATCH_URIS=(
+       
https://dev.gentoo.org/~{axs,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> 
${MOZ_P_DISTFILES}.source.tar.xz
+       ${PATCH_URIS[@]}"
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox";
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+SLOT="0/$(ver_cut 1)"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free geckodriver +gmp-autoupdate
+       hardened hwaccel jack lto +openh264 pgo pulseaudio screencast selinux
+       +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
+       +system-libvpx +system-webp wayland wifi"
+
+REQUIRED_USE="debug? ( !system-av1 )
+       screencast? ( wayland )"
+
+BDEPEND="${PYTHON_DEPS}
+       app-arch/unzip
+       app-arch/zip
+       >=dev-util/cbindgen-0.16.0
+       >=net-libs/nodejs-10.23.1
+       virtual/pkgconfig
+       >=virtual/rust-1.47.0
+       || (
+               (
+                       sys-devel/clang:12
+                       sys-devel/llvm:12
+                       clang? (
+                               =sys-devel/lld-12*
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-12*[profile] )
+                       )
+               )
+               (
+                       sys-devel/clang:11
+                       sys-devel/llvm:11
+                       clang? (
+                               =sys-devel/lld-11*
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-11*[profile] )
+                       )
+               )
+               (
+                       sys-devel/clang:10
+                       sys-devel/llvm:10
+                       clang? (
+                               =sys-devel/lld-10*
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-10*[profile] )
+                       )
+               )
+       )
+       amd64? ( >=dev-lang/yasm-1.1 )
+       x86? ( >=dev-lang/yasm-1.1 )
+       !system-av1? (
+               amd64? ( >=dev-lang/nasm-2.13 )
+               x86? ( >=dev-lang/nasm-2.13 )
+       )"
+
+CDEPEND="
+       >=dev-libs/nss-3.63
+       >=dev-libs/nspr-4.29
+       dev-libs/atk
+       dev-libs/expat
+       >=x11-libs/cairo-1.10[X]
+       >=x11-libs/gtk+-2.18:2
+       >=x11-libs/gtk+-3.4.0:3[X]
+       x11-libs/gdk-pixbuf
+       >=x11-libs/pango-1.22.0
+       >=media-libs/libpng-1.6.35:0=[apng]
+       >=media-libs/mesa-10.2:*
+       media-libs/fontconfig
+       >=media-libs/freetype-2.4.10
+       kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
+       virtual/freedesktop-icon-theme
+       >=x11-libs/pixman-0.19.2
+       >=dev-libs/glib-2.26:2
+       >=sys-libs/zlib-1.2.3
+       >=dev-libs/libffi-3.0.10:=
+       media-video/ffmpeg
+       x11-libs/libX11
+       x11-libs/libXcomposite
+       x11-libs/libXdamage
+       x11-libs/libXext
+       x11-libs/libXfixes
+       x11-libs/libXrender
+       x11-libs/libXt
+       dbus? (
+               sys-apps/dbus
+               dev-libs/dbus-glib
+       )
+       screencast? ( media-video/pipewire:0/0.3 )
+       system-av1? (
+               >=media-libs/dav1d-0.8.1:=
+               >=media-libs/libaom-1.0.0:=
+       )
+       system-harfbuzz? (
+               >=media-libs/harfbuzz-2.7.4:0=
+               >=media-gfx/graphite2-1.3.13
+       )
+       system-icu? ( >=dev-libs/icu-67.1:= )
+       system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
+       system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
+       system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+       system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+       wifi? (
+               kernel_linux? (
+                       sys-apps/dbus
+                       dev-libs/dbus-glib
+                       net-misc/networkmanager
+               )
+       )
+       jack? ( virtual/jack )
+       selinux? ( sec-policy/selinux-mozilla )"
+
+RDEPEND="${CDEPEND}
+       jack? ( virtual/jack )
+       openh264? ( media-libs/openh264:*[plugin] )
+       pulseaudio? (
+               || (
+                       media-sound/pulseaudio
+                       >=media-sound/apulse-0.1.12-r4
+               )
+       )
+       selinux? ( sec-policy/selinux-mozilla )"
+
+DEPEND="${CDEPEND}
+       pulseaudio? (
+               || (
+                       media-sound/pulseaudio
+                       >=media-sound/apulse-0.1.12-r4[sdk]
+               )
+       )
+       wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
+       amd64? ( virtual/opengl )
+       x86? ( virtual/opengl )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+       MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+       if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+               ewarn "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM 
slot ${LLVM_SLOT} ..." >&2
+               return 1
+       fi
+
+       if use clang ; then
+               if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
+                       ewarn "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot 
use LLVM slot ${LLVM_SLOT} ..." >&2
+                       return 1
+               fi
+
+               if use pgo ; then
+                       if ! has_version -b 
"=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
+                               ewarn 
"=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM 
slot ${LLVM_SLOT} ..." >&2
+                               return 1
+                       fi
+               fi
+       fi
+
+       einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+       ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy
+       da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu
+       fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM
+       ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my
+       nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru
+       si sk sl son sq sr sv-SE szl ta te th tl tr trs uk ur uz vi
+       xh zh-CN zh-TW
+)
+
+mozilla_set_globals() {
+       # https://bugs.gentoo.org/587334
+       local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+               fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+       )
+
+       local lang xflag
+       for lang in "${MOZ_LANGS[@]}" ; do
+               # en and en_US are handled internally
+               if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+                       continue
+               fi
+
+               # strip region subtag if $lang is in the list
+               if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+                       xflag=${lang%%-*}
+               else
+                       xflag=${lang}
+               fi
+
+               SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+               SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> 
${MOZ_P_DISTFILES}-${lang}.xpi"
+               SRC_URI+=" )"
+               IUSE+=" l10n_${xflag/[_@]/-}"
+       done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -ne 1 ]] ; then
+               die "${FUNCNAME} requires exact one argument"
+       fi
+
+       einfo "Clearing cargo checksums for ${1} ..."
+
+       sed -i \
+               -e 's/\("files":{\)[^}]*/\1/' \
+               "${S}"/third_party/rust/${1}/.cargo-checksum.json \
+               || die
+}
+
+moz_install_xpi() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local DESTDIR=${1}
+       shift
+
+       insinto "${DESTDIR}"
+
+       local emid xpi_file xpi_tmp_dir
+       for xpi_file in "${@}" ; do
+               emid=
+               xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+               # Unpack XPI
+               unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+               # Determine extension ID
+               if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+                       emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; 
s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+                       [[ -z "${emid}" ]] && die "failed to determine 
extension id from install.rdf"
+               elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+                       emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' 
"${xpi_tmp_dir}/manifest.json")
+                       [[ -z "${emid}" ]] && die "failed to determine 
extension id from manifest.json"
+               else
+                       die "failed to determine extension id"
+               fi
+
+               einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+               newins "${xpi_file}" "${emid}.xpi"
+       done
+}
+
+mozconfig_add_options_ac() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local reason=${1}
+       shift
+
+       local option
+       for option in ${@} ; do
+               echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+       done
+}
+
+mozconfig_add_options_mk() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local reason=${1}
+       shift
+
+       local option
+       for option in ${@} ; do
+               echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+       done
+}
+
+mozconfig_use_enable() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 1 ]] ; then
+               die "${FUNCNAME} requires at least one arguments"
+       fi
+
+       local flag=$(use_enable "${@}")
+       mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" 
"${flag}"
+}
+
+mozconfig_use_with() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 1 ]] ; then
+               die "${FUNCNAME} requires at least one arguments"
+       fi
+
+       local flag=$(use_with "${@}")
+       mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" 
"${flag}"
+}
+
+pkg_pretend() {
+       if [[ ${MERGE_TYPE} != binary ]] ; then
+               if use pgo ; then
+                       if ! has usersandbox $FEATURES ; then
+                               die "You must enable usersandbox as X server 
can not run as root!"
+                       fi
+               fi
+
+               # Ensure we have enough disk space to compile
+               if use pgo || use lto || use debug ; then
+                       CHECKREQS_DISK_BUILD="13500M"
+               else
+                       CHECKREQS_DISK_BUILD="6400M"
+               fi
+
+               check-reqs_pkg_pretend
+       fi
+}
+
+pkg_setup() {
+       if [[ ${MERGE_TYPE} != binary ]] ; then
+               if use pgo ; then
+                       if ! has userpriv ${FEATURES} ; then
+                               eerror "Building ${PN} with USE=pgo and 
FEATURES=-userpriv is not supported!"
+                       fi
+               fi
+
+               # Ensure we have enough disk space to compile
+               if use pgo || use lto || use debug ; then
+                       CHECKREQS_DISK_BUILD="13500M"
+               else
+                       CHECKREQS_DISK_BUILD="6400M"
+               fi
+
+               check-reqs_pkg_setup
+
+               llvm_pkg_setup
+
+               if use clang && use lto ; then
+                       local version_lld=$(ld.lld --version 2>/dev/null | awk 
'{ print $2 }')
+                       [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 
"${version_lld}")
+                       [[ -z ${version_lld} ]] && die "Failed to read ld.lld 
version!"
+
+                       # temp fix for https://bugs.gentoo.org/768543
+                       # we can assume that rust 1.{49,50}.0 always uses llvm 
11
+                       local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 
'release:' | awk '{ print $2 }')
+                       [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 
"${version_rust}")
+                       [[ -z ${version_rust} ]] && die "Failed to read version 
from rustc!"
+
+                       if ver_test "${version_rust}" -ge "1.49" && ver_test 
"${version_rust}" -le "1.50" ; then
+                               local version_llvm_rust="11"
+                       else
+                               local version_llvm_rust=$(rustc -Vv 2>/dev/null 
| grep -F -- 'LLVM version:' | awk '{ print $3 }')
+                               [[ -n ${version_llvm_rust} ]] && 
version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+                               [[ -z ${version_llvm_rust} ]] && die "Failed to 
read used LLVM version from rustc!"
+                       fi
+
+                       if ver_test "${version_lld}" -ne "${version_llvm_rust}" 
; then
+                               eerror "Rust is using LLVM version 
${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+                               eerror "You will be unable to link 
${CATEGORY}/${PN}. To proceed you have the following options:"
+                               eerror "  - Manually switch rust version using 
'eselect rust' to match used LLVM version"
+                               eerror "  - Switch to 
dev-lang/rust[system-llvm] which will guarantee matching version"
+                               eerror "  - Build ${CATEGORY}/${PN} without 
USE=lto"
+                               die "LLVM version used by Rust 
(${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+                       fi
+               fi
+
+               python-any-r1_pkg_setup
+
+               # Avoid PGO profiling problems due to enviroment leakage
+               # These should *always* be cleaned up anyway
+               unset \
+                       DBUS_SESSION_BUS_ADDRESS \
+                       DISPLAY \
+                       ORBIT_SOCKETDIR \
+                       SESSION_MANAGER \
+                       XAUTHORITY \
+                       XDG_CACHE_HOME \
+                       XDG_SESSION_COOKIE
+
+               # Build system is using /proc/self/oom_score_adj, bug #604394
+               addpredict /proc/self/oom_score_adj
+
+               if ! mountpoint -q /dev/shm ; then
+                       # If /dev/shm is not available, configure is known to 
fail with
+                       # a traceback report referencing 
/usr/lib/pythonN.N/multiprocessing/synchronize.py
+                       ewarn "/dev/shm is not mounted -- expect build 
failures!"
+               fi
+
+               # Google API keys (see 
http://www.chromium.org/developers/how-tos/api-keys)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+                       
MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+               fi
+
+               if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+                       
MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+               fi
+
+               # Mozilla API keys (see 
https://location.services.mozilla.com/api)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+                       
MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+               fi
+
+               # Ensure we use C locale when building, bug #746215
+               export LC_ALL=C
+       fi
+}
+
+src_unpack() {
+       local _lp_dir="${WORKDIR}/language_packs"
+       local _src_file
+
+       if [[ ! -d "${_lp_dir}" ]] ; then
+               mkdir "${_lp_dir}" || die
+       fi
+
+       for _src_file in ${A} ; do
+               if [[ ${_src_file} == *.xpi ]]; then
+                       cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die 
"Failed to copy '${_src_file}' to '${_lp_dir}'!"
+               else
+                       unpack ${_src_file}
+               fi
+       done
+}
+
+src_prepare() {
+       use lto && rm -v 
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
+       eapply "${WORKDIR}/firefox-patches"
+
+       # Allow user to apply any additional patches without modifing ebuild
+       eapply_user
+
+       # Make LTO respect MAKEOPTS
+       sed -i \
+               -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/build/moz.configure/lto-pgo.configure \
+               || die "sed failed to set num_cores"
+
+       # Make ICU respect MAKEOPTS
+       sed -i \
+               -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/intl/icu_sources_data.py \
+               || die "sed failed to set num_cores"
+
+       # sed-in toolchain prefix
+       sed -i \
+               -e "s/objdump/${CHOST}-objdump/" \
+               "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py 
\
+               || die "sed failed to set toolchain prefix"
+
+       sed -i \
+               -e 's/ccache_stats = None/return None/' \
+               "${S}"/python/mozbuild/mozbuild/controller/building.py \
+               || die "sed failed to disable ccache stats call"
+
+       einfo "Removing pre-built binaries ..."
+       find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) 
-print -delete || die
+
+       # Clearing checksums where we have applied patches
+       moz_clear_vendor_checksums target-lexicon-0.9.0
+
+       # Create build dir
+       BUILD_DIR="${WORKDIR}/${PN}_build"
+       mkdir -p "${BUILD_DIR}" || die
+
+       # Write API keys to disk
+       echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+       echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || 
die
+       echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+       xdg_src_prepare
+}
+
+src_configure() {
+       # Show flags set at the beginning
+       einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+       einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+       einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+       einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+       einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+       local have_switched_compiler=
+       if use clang && ! tc-is-clang ; then
+               # Force clang
+               einfo "Enforcing the use of clang due to USE=clang ..."
+               have_switched_compiler=yes
+               AR=llvm-ar
+               CC=${CHOST}-clang
+               CXX=${CHOST}-clang++
+               NM=llvm-nm
+               RANLIB=llvm-ranlib
+       elif ! use clang && ! tc-is-gcc ; then
+               # Force gcc
+               have_switched_compiler=yes
+               einfo "Enforcing the use of gcc due to USE=-clang ..."
+               AR=gcc-ar
+               CC=${CHOST}-gcc
+               CXX=${CHOST}-g++
+               NM=gcc-nm
+               RANLIB=gcc-ranlib
+       fi
+
+       if [[ -n "${have_switched_compiler}" ]] ; then
+               # Because we switched active compiler we have to ensure
+               # that no unsupported flags are set
+               strip-unsupported-flags
+       fi
+
+       # Ensure we use correct toolchain
+       export HOST_CC="$(tc-getBUILD_CC)"
+       export HOST_CXX="$(tc-getBUILD_CXX)"
+       tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
+
+       # Pass the correct toolchain paths through cbindgen
+       if tc-is-cross-compiler ; then
+               export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} 
--target=${CHOST} ${BINDGEN_CFLAGS-}"
+       fi
+
+       # Set MOZILLA_FIVE_HOME
+       export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+       # python/mach/mach/mixin/process.py fails to detect SHELL
+       export SHELL="${EPREFIX}/bin/bash"
+
+       # Set MOZCONFIG
+       export MOZCONFIG="${S}/.mozconfig"
+
+       # Initialize MOZCONFIG
+       mozconfig_add_options_ac '' --enable-application=browser
+
+       # Set Gentoo defaults
+       export MOZILLA_OFFICIAL=1
+
+       mozconfig_add_options_ac 'Gentoo default' \
+               --allow-addon-sideload \
+               --disable-cargo-incremental \
+               --disable-crashreporter \
+               --disable-install-strip \
+               --disable-strip \
+               --disable-updater \
+               --enable-official-branding \
+               --enable-release \
+               --enable-system-ffi \
+               --enable-system-pixman \
+               --host="${CBUILD:-${CHOST}}" \
+               --libdir="${EPREFIX}/usr/$(get_libdir)" \
+               --prefix="${EPREFIX}/usr" \
+               --target="${CHOST}" \
+               --without-ccache \
+               --with-intl-api \
+               --with-libclang-path="$(llvm-config --libdir)" \
+               --with-system-nspr \
+               --with-system-nss \
+               --with-system-png \
+               --with-system-zlib \
+               --with-toolchain-prefix="${CHOST}-" \
+               --with-unsigned-addon-scopes=app,system \
+               --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
+               --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
+
+       # Set update channel
+       local update_channel=release
+       [[ -n ${MOZ_ESR} ]] && update_channel=esr
+       mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+       if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+               mozconfig_add_options_ac '' --enable-rust-simd
+       fi
+
+       if [[ -s "${S}/api-google.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 
}') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       
--with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+       else
+               einfo "Building without Google API key ..."
+       fi
+
+       if [[ -s "${S}/api-location.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 
}') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       
--with-google-location-service-api-keyfile="${S}/api-location.key"
+       else
+               einfo "Building without Location API key ..."
+       fi
+
+       if [[ -s "${S}/api-mozilla.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 
}') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+       else
+               einfo "Building without Mozilla API key ..."
+       fi
+
+       mozconfig_use_with system-av1
+       mozconfig_use_with system-harfbuzz
+       mozconfig_use_with system-harfbuzz system-graphite2
+       mozconfig_use_with system-icu
+       mozconfig_use_with system-jpeg
+       mozconfig_use_with system-libevent system-libevent 
"${SYSROOT}${EPREFIX}/usr"
+       mozconfig_use_with system-libvpx
+       mozconfig_use_with system-webp
+
+       mozconfig_use_enable dbus
+
+       use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+       mozconfig_use_enable geckodriver
+
+       if use hardened ; then
+               mozconfig_add_options_ac "+hardened" --enable-hardening
+               append-ldflags "-Wl,-z,relro -Wl,-z,now"
+       fi
+
+       mozconfig_use_enable jack
+
+       mozconfig_use_enable pulseaudio
+       # force the deprecated alsa sound code if pulseaudio is disabled
+       if use kernel_linux && ! use pulseaudio ; then
+               mozconfig_add_options_ac '-pulseaudio' --enable-alsa
+       fi
+
+       mozconfig_use_enable wifi necko-wifi
+
+       if use wayland ; then
+               mozconfig_add_options_ac '+wayland' 
--enable-default-toolkit=cairo-gtk3-wayland
+       else
+               mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
+       fi
+
+       if use lto ; then
+               if use clang ; then
+                       # Upstream only supports lld when using clang
+                       mozconfig_add_options_ac "forcing ld=lld due to 
USE=clang and USE=lto" --enable-linker=lld
+
+                       mozconfig_add_options_ac '+lto' --enable-lto=cross
+               else
+                       # ThinLTO is currently broken, see bmo#1644409
+                       mozconfig_add_options_ac '+lto' --enable-lto=full
+               fi
+
+               if use pgo ; then
+                       mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+                       if use clang ; then
+                               # Used in build/pgo/profileserver.py
+                               export LLVM_PROFDATA="llvm-profdata"
+                       fi
+               fi
+       else
+               # Avoid auto-magic on linker
+               if use clang ; then
+                       # This is upstream's default
+                       mozconfig_add_options_ac "forcing ld=lld due to 
USE=clang" --enable-linker=lld
+               else
+                       mozconfig_add_options_ac "linker is set to bfd" 
--enable-linker=bfd
+               fi
+       fi
+
+       # LTO flag was handled via configure
+       filter-flags '-flto*'
+
+       mozconfig_use_enable debug
+       if use debug ; then
+               mozconfig_add_options_ac '+debug' --disable-optimize
+       else
+               if is-flag '-g*' ; then
+                       if use clang ; then
+                               mozconfig_add_options_ac 'from CFLAGS' 
--enable-debug-symbols=$(get-flag '-g*')
+                       else
+                               mozconfig_add_options_ac 'from CFLAGS' 
--enable-debug-symbols
+                       fi
+               else
+                       mozconfig_add_options_ac 'Gentoo default' 
--disable-debug-symbols
+               fi
+
+               if is-flag '-O0' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O0
+               elif is-flag '-O4' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O4
+               elif is-flag '-O3' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O3
+               elif is-flag '-O1' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O1
+               elif is-flag '-Os' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-Os
+               else
+                       mozconfig_add_options_ac "Gentoo default" 
--enable-optimize=-O2
+               fi
+       fi
+
+       # Debug flag was handled via configure
+       filter-flags '-g*'
+
+       # Optimization flag was handled via configure
+       filter-flags '-O*'
+
+       # Modifications to better support ARM, bug #553364
+       if use cpu_flags_arm_neon ; then
+               mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
+
+               if ! tc-is-clang ; then
+                       # thumb options aren't supported when using clang, bug 
666966
+                       mozconfig_add_options_ac '+cpu_flags_arm_neon' \
+                               --with-thumb=yes \
+                               --with-thumb-interwork=no
+               fi
+       fi
+
+       if [[ ${CHOST} == armv*h* ]] ; then
+               mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
+
+               if ! use system-libvpx ; then
+                       sed -i \
+                               -e "s|softfp|hard|" \
+                               "${S}"/media/libvpx/moz.build \
+                               || die
+               fi
+       fi
+
+       if use clang ; then
+               # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
+               # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
+               # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 
'x86', 'x86_64')
+               local disable_elf_hack=
+               if use amd64 ; then
+                       disable_elf_hack=yes
+               elif use x86 ; then
+                       disable_elf_hack=yes
+               elif use arm ; then
+                       disable_elf_hack=yes
+               fi
+
+               if [[ -n ${disable_elf_hack} ]] ; then
+                       mozconfig_add_options_ac 'elf-hack is broken when using 
Clang' --disable-elf-hack
+               fi
+       elif tc-is-gcc ; then
+               if ver_test $(gcc-fullversion) -ge 10 ; then
+                       einfo "Forcing -fno-tree-loop-vectorize to workaround 
GCC bug, see bug 758446 ..."
+                       append-cxxflags -fno-tree-loop-vectorize
+               fi
+       fi
+
+       # Additional ARCH support
+       case "${ARCH}" in
+               arm)
+                       # Reduce the memory requirements for linking
+                       if use clang ; then
+                               # Nothing to do
+                               :;
+                       elif tc-ld-is-gold || use lto ; then
+                               append-ldflags -Wl,--no-keep-memory
+                       else
+                               append-ldflags -Wl,--no-keep-memory 
-Wl,--reduce-memory-overheads
+                       fi
+                       ;;
+       esac
+
+       if ! use elibc_glibc ; then
+               mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+       fi
+
+       # Allow elfhack to work in combination with unstripped binaries
+       # when they would normally be larger than 2GiB.
+       append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+       # Make revdep-rebuild.sh happy; Also required for musl
+       append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+       # Pass $MAKEOPTS to build system
+       export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+       # Use system's Python environment
+       export MACH_USE_SYSTEM_PYTHON=1
+
+       # Disable notification when build system has finished
+       export MOZ_NOSPAM=1
+
+       # Portage sets XARGS environment variable to "xargs -r" by default which
+       # breaks build system's check_prog() function which doesn't support 
arguments
+       mozconfig_add_options_ac 'Gentoo default' 
"XARGS=${EPREFIX}/usr/bin/xargs"
+
+       # Set build dir
+       mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+       # Show flags we will use
+       einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+       einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+       einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+       einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+       einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+       # Handle EXTRA_CONF and show summary
+       local ac opt hash reason
+
+       # Apply EXTRA_ECONF entries to $MOZCONFIG
+       if [[ -n ${EXTRA_ECONF} ]] ; then
+               IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+               for opt in "${ac[@]}"; do
+                       mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+               done
+       fi
+
+       echo
+       echo "=========================================================="
+       echo "Building ${PF} with the following configuration"
+       grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+               [[ -z ${hash} || ${hash} == \# ]] \
+                       || die "error reading mozconfig: ${ac} ${opt} ${hash} 
${reason}"
+               printf "    %-30s  %s\n" "${opt}" "${reason:-mozilla.org 
default}"
+       done
+       echo "=========================================================="
+       echo
+
+       ./mach configure || die
+}
+
+src_compile() {
+       local virtx_cmd=
+
+       if use pgo ; then
+               virtx_cmd=virtx
+
+               # Reset and cleanup environment variables used by GNOME/XDG
+               gnome2_environment_reset
+
+               addpredict /root
+       fi
+
+       local -x GDK_BACKEND=x11
+
+       ${virtx_cmd} ./mach build --verbose \
+               || die
+}
+
+src_install() {
+       # xpcshell is getting called during install
+       pax-mark m \
+               "${BUILD_DIR}"/dist/bin/xpcshell \
+               "${BUILD_DIR}"/dist/bin/${PN} \
+               "${BUILD_DIR}"/dist/bin/plugin-container
+
+       DESTDIR="${D}" ./mach install || die
+
+       # Upstream cannot ship symlink but we can (bmo#658850)
+       rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+       dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+       # Don't install llvm-symbolizer from sys-devel/llvm package
+       if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+               rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+       fi
+
+       # Install policy (currently only used to disable application updates)
+       insinto "${MOZILLA_FIVE_HOME}/distribution"
+       newins "${FILESDIR}"/distribution.ini distribution.ini
+       newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+       # Install system-wide preferences
+       local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+       insinto "${PREFS_DIR}"
+       newins "${FILESDIR}"/gentoo-default-prefs.js all-gentoo.js
+
+       local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.js"
+
+       # Set dictionary path to use system hunspell
+       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
spellchecker.dictionary_path pref"
+       pref("spellchecker.dictionary_path",       
"${EPREFIX}/usr/share/myspell");
+       EOF
+
+       # Force hwaccel prefs if USE=hwaccel is enabled
+       if use hwaccel ; then
+               cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
+               >>"${GENTOO_PREFS}" \
+               || die "failed to add prefs to force hardware-accelerated 
rendering to all-gentoo.js"
+       fi
+
+       if ! use gmp-autoupdate ; then
+               local plugin
+               for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+                       einfo "Disabling auto-update for ${plugin} plugin ..."
+                       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to 
disable autoupdate for ${plugin} media plugin"
+                       pref("media.${plugin}.autoupdate",   false);
+                       EOF
+               done
+       fi
+
+       # Force the graphite pref if USE=system-harfbuzz is enabled, since the 
pref cannot disable it
+       if use system-harfbuzz ; then
+               cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
gfx.font_rendering.graphite.enabled pref"
+               sticky_pref("gfx.font_rendering.graphite.enabled", true);
+               EOF
+       fi
+
+       # Install language packs
+       local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name 
'*.xpi') )
+       if [[ -n "${langpacks}" ]] ; then
+               moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" 
"${langpacks[@]}"
+       fi
+
+       # Install geckodriver
+       if use geckodriver ; then
+               einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} 
..."
+               pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
+               exeinto "${MOZILLA_FIVE_HOME}"
+               doexe "${BUILD_DIR}"/dist/bin/geckodriver
+
+               dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
+       fi
+
+       # Install icons
+       local icon_srcdir="${S}/browser/branding/official"
+       local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
+
+       insinto /usr/share/icons/hicolor/symbolic/apps
+       newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+       local icon size
+       for icon in "${icon_srcdir}"/default*.png ; do
+               size=${icon%.png}
+               size=${size##*/default}
+
+               if [[ ${size} -eq 48 ]] ; then
+                       newicon "${icon}" ${PN}.png
+               fi
+
+               newicon -s ${size} "${icon}" ${PN}.png
+       done
+
+       # Install menus
+       local wrapper_wayland="${PN}-wayland.sh"
+       local wrapper_x11="${PN}-x11.sh"
+       local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop"
+       local display_protocols="auto X11"
+       local icon="${PN}"
+       local name="Mozilla ${MOZ_PN^}"
+       local use_wayland="false"
+
+       if use wayland ; then
+               display_protocols+=" Wayland"
+               use_wayland="true"
+       fi
+
+       local app_name desktop_filename display_protocol exec_command
+       for display_protocol in ${display_protocols} ; do
+               app_name="${name} on ${display_protocol}"
+               desktop_filename="${PN}-${display_protocol,,}.desktop"
+
+               case ${display_protocol} in
+                       Wayland)
+                               exec_command="${PN}-wayland --name 
${PN}-wayland"
+                               newbin "${FILESDIR}/${wrapper_wayland}" 
${PN}-wayland
+                               ;;
+                       X11)
+                               if ! use wayland ; then
+                                       # Exit loop here because there's no 
choice so
+                                       # we don't need wrapper/.desktop file 
for X11.
+                                       continue
+                               fi
+
+                               exec_command="${PN}-x11 --name ${PN}-x11"
+                               newbin "${FILESDIR}/${wrapper_x11}" ${PN}-x11
+                               ;;
+                       *)
+                               app_name="${name}"
+                               desktop_filename="${PN}.desktop"
+                               exec_command="${PN}"
+                               ;;
+               esac
+
+               cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+               sed -i \
+                       -e "s:@NAME@:${app_name}:" \
+                       -e "s:@EXEC@:${exec_command}:" \
+                       -e "s:@ICON@:${icon}:" \
+                       "${WORKDIR}/${PN}.desktop-template" \
+                       || die
+
+               newmenu "${WORKDIR}/${PN}.desktop-template" 
"${desktop_filename}"
+
+               rm "${WORKDIR}/${PN}.desktop-template" || die
+       done
+
+       # Install generic wrapper script
+       [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+       newbin "${FILESDIR}/${PN}.sh" ${PN}
+
+       # Update wrapper
+       local wrapper
+       for wrapper in \
+               "${ED}/usr/bin/${PN}" \
+               "${ED}/usr/bin/${PN}-x11" \
+               "${ED}/usr/bin/${PN}-wayland" \
+       ; do
+               [[ ! -f "${wrapper}" ]] && continue
+
+               sed -i \
+                       -e "s:@PREFIX@:${EPREFIX}/usr:" \
+                       -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+                       -e "s:@APULSELIB_DIR@:${apulselib}:" \
+                       -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+                       "${wrapper}" \
+                       || die
+       done
+}
+
+pkg_preinst() {
+       xdg_pkg_preinst
+
+       # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+       # does not need to be forced into the LD_LIBRARY_PATH
+       if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+               einfo "APULSE found; Generating library symlinks for sound 
support ..."
+               local lib
+               pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+               for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+                       # A quickpkg rolled by hand will grab symlinks as part 
of the package,
+                       # so we need to avoid creating them if they already 
exist.
+                       if [[ ! -L ${lib##*/} ]] ; then
+                               ln -s "${lib}" ${lib##*/} || die
+                       fi
+               done
+               popd &>/dev/null || die
+       fi
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+
+       if ! use gmp-autoupdate ; then
+               elog "USE='-gmp-autoupdate' has disabled the following plugins 
from updating or"
+               elog "installing into new profiles:"
+               local plugin
+               for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+                       elog "\t ${plugin}"
+               done
+               elog
+       fi
+
+       if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+               elog "Apulse was detected at merge time on this system and so 
it will always be"
+               elog "used for sound.  If you wish to use pulseaudio instead 
please unmerge"
+               elog "media-sound/apulse."
+               elog
+       fi
+
+       local show_doh_information show_normandy_information
+
+       if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+               # New install; Tell user that DoH is disabled by default
+               show_doh_information=yes
+               show_normandy_information=yes
+       else
+               local replacing_version
+               for replacing_version in ${REPLACING_VERSIONS} ; do
+                       if ver_test "${replacing_version}" -lt 70 ; then
+                               # Tell user only once about our DoH default
+                               show_doh_information=yes
+                       fi
+
+                       if ver_test "${replacing_version}" -lt 74.0-r2 ; then
+                               # Tell user only once about our Normandy default
+                               show_normandy_information=yes
+                       fi
+               done
+       fi
+
+       if [[ -n "${show_doh_information}" ]] ; then
+               elog
+               elog "Note regarding Trusted Recursive Resolver aka 
DNS-over-HTTPS (DoH):"
+               elog "Due to privacy concerns (encrypting DNS might be a good 
thing, sending all"
+               elog "DNS traffic to Cloudflare by default is not a good idea 
and applications"
+               elog "should respect OS configured settings), 
\"network.trr.mode\" was set to 5"
+               elog "(\"Off by choice\") by default."
+               elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
+       fi
+
+       # bug 713782
+       if [[ -n "${show_normandy_information}" ]] ; then
+               elog
+               elog "Upstream operates a service named Normandy which allows 
Mozilla to"
+               elog "push changes for default settings or even install new 
add-ons remotely."
+               elog "While this can be useful to address problems like 
'Armagadd-on 2.0' or"
+               elog "revert previous decisions to disable TLS 1.0/1.1, privacy 
and security"
+               elog "concerns prevail, which is why we have switched off the 
use of this"
+               elog "service by default."
+               elog
+               elog "To re-enable this service set"
+               elog
+               elog "    app.normandy.enabled=true"
+               elog
+               elog "in about:config."
+       fi
+}

Reply via email to