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 +}