commit:     c283d5b42cdb1996b2b93ec3f8834cf402eac5fb
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 12 17:55:34 2020 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Mon Oct 12 18:08:56 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c283d5b4

www-client/firefox: bump to v81.0.2

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

 www-client/firefox/Manifest              |   96 +++
 www-client/firefox/firefox-81.0.2.ebuild | 1098 ++++++++++++++++++++++++++++++
 2 files changed, 1194 insertions(+)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 5c4935895b3..86f220066d8 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -192,4 +192,100 @@ DIST firefox-81.0.1-xh.xpi 427852 BLAKE2B 
74955a6277dde525b39e9e851ad71eec5ddf4a
 DIST firefox-81.0.1-zh-CN.xpi 554382 BLAKE2B 
d58a750a62ac62c3f9ffd9807e2294d6140651b4d0984ef60f768902ad3e220a8df4f5f3a62a0b5f6f669ad0bc3903b8b721121ab67a4ee19637f707a86df192
 SHA512 
0a19521bdaa79dcb6693c397f0a35aba38a93431f747df50a71550943ffa886ce77390de8a5e82b5404050717c749a8659e357dfb2a0e1178fd80e3978c06a02
 DIST firefox-81.0.1-zh-TW.xpi 554155 BLAKE2B 
384f9b2aae9c6e15155b9cea2c8680fff3bab2b7118551b51a084e3def1d7b9c49c8c8ca990441a98dae9af1017ae3c4ab817815e9d19059f349b1d1e34aab6b
 SHA512 
c68e1a34e2899f45d576351debac6135a46c304732ae2a1b2c02386caf52404cb10b3f5975e841299444fa92c8b1eed3aa726541bccba93a34b44c6f96dadf33
 DIST firefox-81.0.1.source.tar.xz 338268036 BLAKE2B 
47b4bcd59c90d28df89afb168c4cf2376b12ba020dc2ec6c3a899e9f8627eec2312ff5eb9ac07193c5487674e03c21a67f4a6927de9533da58a25ecc3a9b84f5
 SHA512 
3e7c4b95872d46fc21f4c55691a159fd2c245537e4e59072f7699da10eacd44fa4bbbab08a028e421bee46356bd02d157620ea040900305a93d6c21bbd695608
+DIST firefox-81.0.2-ach.xpi 458701 BLAKE2B 
6629cd59f16de587e966548eb7dfbcc525f1798b4027dcd18c93e1e95cafeff0bcd2cc840accbbbde49b715f2d0d435ad577355bf950e68671f8d3ef2c3f2d40
 SHA512 
19ea209105366aaa634b23e53f0466b13758275b69ee358ee1111aef18909f02d690b781a72ffc2f5a8f6bcdce62e85b5f5d8e173cec6735206f3b8a1de002a4
+DIST firefox-81.0.2-af.xpi 429000 BLAKE2B 
c79e83030cbb707cbbecec405cc7dafd328a44affec1aa4207b89052153f39537bb0370a3a27c1a3db71b5d85a4d822ad71797e2955dddd38ca1120e8ed48322
 SHA512 
2e1fee0301b02011d704aa2cdd075ed80bd8604ea76a4db7ec36f7e947b665164598aaa746c2a78356da483710ef5cc9c711dc886d7494d50831a8c4d77750a9
+DIST firefox-81.0.2-an.xpi 506882 BLAKE2B 
f57bbb134ea59b95722d98c5d46be4e941a7415d74eeff8644cb0301c2a934c6a0909bbdcdf9725646ffe197c3a85c88e173d0ccee085389835f279979fbbcc5
 SHA512 
f15288b8ffa8208031d29786a2e9e6abb661e5eec7204f5b3334d38092c5b8e1417f015135ccf64b1fb3d96e46ac6bfc053ba413dc162fb0e578ed78a44ad789
+DIST firefox-81.0.2-ar.xpi 548505 BLAKE2B 
997ed7aa76484223d58b66cbfaf19b903322163140a119f62046a1f9d8b2ae5dd8b7f41fdaafcd71ee1814ecf5f9d6f5556103025821e9a42791835c70eda93e
 SHA512 
5bd87009e0f7074a120d25f1874dd8535263dc20692c1be15283faed49c3657c442e35569f6b0272b944567cc611a9c7d429902e7c690a8399ce3d9e7bfa0f53
+DIST firefox-81.0.2-ast.xpi 457247 BLAKE2B 
722f3460c890052beba2aadfda9c7fdfb3fd355c32794590bce4282a40b269cf2c6a31b5fb3ea2d6560d355e528c5f2c9059ea86f0b3f1342113d4deb7a60998
 SHA512 
3869ebc5963f34663b120682f1e51f2eed2c0c672e7db5b3de68cea1fb846db918c4ed31e3dae0635dcbdb28cb8f48bfaef3d8d12655c142894e705298f257c0
+DIST firefox-81.0.2-az.xpi 492768 BLAKE2B 
92194f2fe50ba0f561ecbc411d2571adcc22809377bb7a5f10425a69cbe2d37270ce0f22af16b171c07ee4d49334bb4e747175141f3442674ff96eb661327134
 SHA512 
335974364d292e1a0a14284d0c35137cfc90ddcb183f17c245e4b78c77645dfb0323c03108c97928c7b30fe87e2c298feb5f49ca5e7fe2fe3486c5489a8471bc
+DIST firefox-81.0.2-be.xpi 593043 BLAKE2B 
802eba340e2a11b9882274587fff6602e00f64317e9b1a4bd618d0cf6a6939d74e89921f38a2cdeda54bef587e774f1ffa1f2d880de9dcb4246c0c93c10d6629
 SHA512 
ad4157a4bb03333c29ff3ca2a28a67242e709b01f9dd6adfe851bedca4286835349786ffe5da57915a1bbee763bb3c98555f4537f58a9cb4273e693150250190
+DIST firefox-81.0.2-bg.xpi 554697 BLAKE2B 
d85ffa34aac4d2e2dd6427ad299417fa52e3be345940103ae07699a7af5df51c99919773685e15aae38bda057f7a9735f6ffdc9101269df4b4e40e4349e4f11d
 SHA512 
cf5de03fe3aa368f966803f0025aa20bbda3f4cd9938cac01003578d09fec4383f0e62a7d8b217b32cd3789672ab11d12c7891ce91b09d695bcf7b4a38fc4f5c
+DIST firefox-81.0.2-bn.xpi 572618 BLAKE2B 
aa2c6974843b706ffad49be4f3493aa9cb13c7ccf17033cd3b064f15d0e1e1ecf53cf531730340c494fb7b677a70484a4042050c5c257bd4a6343703533cd195
 SHA512 
c8a60a9240f58a0aa51fc5e01b4e27be967ac1fdca2757a0267f4b52fd40682dca741db28cc098f1750c576a6d78287e39741002ad22c0563ff86fb6aabf04b7
+DIST firefox-81.0.2-br.xpi 506644 BLAKE2B 
14fbc748ed3a6c09d292c04d965f724b0e66d5c57e04484a3c83d9510d47d6bc70dd8ed0f00cc172c1303e693ad11178687bf49aee9c6b54556fc27256f21e90
 SHA512 
e2333c769dcffa03c1b0f24d20af6b38b9cb16396ed7e63a60e32d654847f6878d2c6ba1d95c74739ab391d7f430568e7ad62f559d2ba758712a814ae867bf13
+DIST firefox-81.0.2-bs.xpi 465224 BLAKE2B 
dafe704159ff90415b56ecbc2bd84b943b9626ec7c07712aec29d1c2185b24855bbb1afa1924b9397a0a0d698ee29455a0aa836e0c37bb9a14ed42fc541c5bcd
 SHA512 
75635da437a446003d9e5580aa1e0ebb7a7eba4ccd08b53485cee3496073903f92e4c1b70d75e5c1cfeb4e21ad39d276f7fb4b6c30647c62c596653d2778f86e
+DIST firefox-81.0.2-ca-valencia.xpi 517387 BLAKE2B 
3a083b04a07f6ad606fbc7635008b384c69a69d170b8d7879d5a55080243e6e738859fc0d4015ea9d28f037e0a2ae7c0d9c412027cbfbea8343c303b61cc1f66
 SHA512 
8afab9ba96e23de9c46c3d91551a724dfd33e0cf9d4627f695090d54f6143a1365f936e92203d3cecb74359dd7530733f988d218412a2211225f5b750e63792d
+DIST firefox-81.0.2-ca.xpi 513587 BLAKE2B 
e8b2ea70aad2740cd46fc11f591d5392b9f306d98d48ea298118d48a4945593b8b96e6f8a5c5bede28fb5b2ec9f4325dc504718f0d94e88ce3d6262974da8427
 SHA512 
d770f671ce18a15d10d7cee3160c2ff84452accdf735242ff946cc865abfe1115508ddae0be6f25840264dd2e388eb8f5bcfb16ef525a08af45ec2e03102a10f
+DIST firefox-81.0.2-cak.xpi 541584 BLAKE2B 
28f52356a2ac8ea30ea3589e8747035c7cb30caf855eb88b9132b4932e168a2902fa7486b589e98546dfff8a2479082c9895b2825a98100f717ec36c0b61e39d
 SHA512 
acadc5822a913a300a6d3de5eb5b3ce5fa6bba151532fb28e298fc8cd870bbf7e87a1144e10cc3c553b4ce8bb018e978517de01b193418373dadb2ccb5accc48
+DIST firefox-81.0.2-cs.xpi 539055 BLAKE2B 
4aa75c4384f2054ab9d6504bbe4dc5b99ff4953234ceecf1e034d520e2c0f9697d14c42004538e749bae4f15b1c03a54e9b9b99aee83b24ae359820f90a23540
 SHA512 
ec2ad150388ad126799d121ab0002f6db085a540872649f5ff39cd434603eb3aed6ecc5a8aaf313c151711ac8ff164afc539bebeaf18d23601330b3e28184ff6
+DIST firefox-81.0.2-cy.xpi 520844 BLAKE2B 
5fb843046ab21fe09e81833c823c7f1093d3eeb298b048d5fce19dac33d351e4e1efbe714cd8fbcbec0eb3cd970acc4d2ac97ea1579a1cd4f82cccb4bf5c11f4
 SHA512 
00037b20e36e71f7e01759b544f60e9086b1896ea228ee96a44081f4f515ac128380867e5941af96469ce9779caeb11bb695aa2b13d56ed678144944b155aa90
+DIST firefox-81.0.2-da.xpi 514325 BLAKE2B 
a36f84f578721c989f1eed0e4f622162c1d9979bb7df6c210f29e165a0d819f45c39ae462dd84ea846d3a170f959454353d8555cb8168e97a2054422d0e09553
 SHA512 
27c1daab6930f4965b9b3775e33df54da6cc3b2bfbc62d6f22b7c9f36baf5041fde45c223808864f4d1decf9058c332c71da2ca4b1064e1ff026f58d031227f3
+DIST firefox-81.0.2-de.xpi 533116 BLAKE2B 
598dfd4369f351fce6d65687394b0c853e224c397931ea8185aa57b66477217dd2c4ac13b66729511d809b1a8889166d5b83865a569ec2bdcf1650901e1f6424
 SHA512 
b482affc6758302916141b2aaeebd0388365d779a4a29090fe985d5bf4aaf0580dddbecd4272dc8e3b361d655cdc89f619b0767b06eed76a416ebfbe8e1a85b6
+DIST firefox-81.0.2-dsb.xpi 544437 BLAKE2B 
133102e0497cb5c37e88d3473f81af78145773442db6dfc78c17bc460673c058249e5be09878b1ef8ffd32301ccbb4449189875bd9d513e411f8e3a19c36494f
 SHA512 
28f745abe69bdb24b8fb2e731decbc4d16a9662ece59a8c9346249c68b4e2ab0335b2a6805ed781c8cac21d1e33a35bbefca4b1b03f278efd64d419457e07b97
+DIST firefox-81.0.2-el.xpi 614651 BLAKE2B 
b70a096ea76211d13dc788154c7acdeb5293193ed02b669a8b4a940582e429f715de8d0671256efc53e28cc684743494fcee3a435d318e0bf1e6ed69ce840553
 SHA512 
198cfa2df3d840b4ca6952acbe988c05a2b32988aa08db43da56dc7011474c2002b9bea96cda231442397ea556c17224d71219108c5efff0cb5cdd01a68ab199
+DIST firefox-81.0.2-en-CA.xpi 491835 BLAKE2B 
c3c7562d4d02f73792239892e0183d07143092bc56cf86faa36c72f0d7d9f1e2fa156d774123768cc0f6ae82d87e6db775df8e91cbbab90bfcbba04a01664d33
 SHA512 
d31a623db8e02b9448b04020987a6210eb84d42242191e39e91f396e41d2bc323393e96a876e1af53d0d67ccc832368f210e0cf352ff04cd213c5fbc730372c8
+DIST firefox-81.0.2-en-GB.xpi 491780 BLAKE2B 
3d6c8168f6cf30664862262eaf316c8e9e3d7847742a100c5331dbeb0f9f481983856e8dcf6ba9e5efef9f81e7c66f6a19fc702aef3c8da59d60a80a0ac5f4af
 SHA512 
28e0373e3474bb0a58f4efb4e1889239cc6fc62c7b7890d48dbb2507cdcc05ec021da2f029b8dba0f5070e2b113d73da74e048945a1032ea077f070808adf624
+DIST firefox-81.0.2-eo.xpi 516395 BLAKE2B 
4372f90e2aeccfcef36719bbc72be1ba952011da6d6d9ce1baee00169421b2ccd9c12979416883fd7569daa4da5723cacb4e2208be9cecd396db71f23e02e643
 SHA512 
58e62105bfae3c292eb8d780f6b668320d674f5d8e0c09abed728321a2a33f0779e44ac67b7ad1c6486d6edaeb83d1f2a8f6430304e40dacfa4e0362fae1323b
+DIST firefox-81.0.2-es-AR.xpi 525977 BLAKE2B 
6a81c23da120a5b511ca16bdc66fdeefd2c011a12b5dc748c87d79005aaf8d6d9d6cf77a4ecd5aaf1d2cbd66e54217aa4e2688b957e8e4f1763a7a60ca7bbca1
 SHA512 
5d07d4f4b07a571b43f8f9d8dcc62761f95d1b273e7a59786f3b0c5f97536bbc3ef28f569c74f18a019c4b5d469c98f0d15eb12e2c862909a4d214e0b5551314
+DIST firefox-81.0.2-es-CL.xpi 525523 BLAKE2B 
a7b59650049ab262d3ab5db2815eacd84d2ad9038dd856de748abf9d73283ed1f8596a2b5821e504fbf25a7a51bca5b3ddcd8bc91a78c66f9c5564f06c939ddf
 SHA512 
9c27179f73dae8ed9ada15bcf14a3653c29858fa4e4ca2efef37a44f1177c4cd7f8a2bde0d24586e9dd692e1e0a2325e12ac54495fb13e47f6da553ae9aebf7a
+DIST firefox-81.0.2-es-ES.xpi 515142 BLAKE2B 
aa943b5426d4eefee710fe5b95a0643a27935f58f3b897b1b066501be60e2135a4c456417d38d39c16e8863135b2dc73228d0226ceed31003f1982ff8fb91c1c
 SHA512 
b939371b01a92871ba6c05c2c31538c572104750c472dcc28cfcac2d40a413ea2917dc66f1dd5668acec4f6f0da6017322addb9e134322b6a0dac47e86e80322
+DIST firefox-81.0.2-es-MX.xpi 529395 BLAKE2B 
20c759d8257f290d5cf0b64eb894ecc9bbc18a7dff87947df76d96254cc8958a1c433f6670b13d2138fd2f2b98f904030b423422a65053d2d3fc6c054450e641
 SHA512 
442d13434097294fbed08fd47ae08278ea4c9dbcb2079a5d2353df677bf1271d69ad38501c6fc9411797da98e518249cdc35ba28372fc5fae632b985528a4ed6
+DIST firefox-81.0.2-et.xpi 486333 BLAKE2B 
4d07aef559217dfe983dca12eb15a055a30955c36c784058e5537265a012bf79cb9549d4ba0feb34a73e9e5bf7b7e54e5b6cd7169e544f3ff69cd594d8e09b6f
 SHA512 
c8a6e152ec92fef9a96eb2a93c6358cc1c6d5601e1012f1a0791e3e0e4289e5c32d4f88c7ab75d03eb768ad47f46e3f6fdd9418ed3dc6d92f3d878c0b0f8c138
+DIST firefox-81.0.2-eu.xpi 505709 BLAKE2B 
d0e5beedf5beca213bf78fdd8d67cba1454ffcb07d98284c412b42282e2453247a158b5d63272ea57ed7fc28d2afcb27d22390cfecbcce55b4d4e480b7df9252
 SHA512 
bf3652b18afcc15fff355f123e58a639a0ef57147b09cc92efac6d6914dbbae7c94498a684181790216e83d2917f42f1c31b9f8c851b1c85514a94863ed0f430
+DIST firefox-81.0.2-fa.xpi 539091 BLAKE2B 
1245020672f888a0216f7e1775d40618fac9a6bba26a1fc89d7d06243f0ed2c0d3a948862545cf3cbf90a2f885a8eafe51d255565674747a4015ea32a3632a27
 SHA512 
ecf7a12435bd7ca47bb16d8750780cb9bae20d30f00d1b92862895fb48de74b26304f3f23f0586c28ed66ced7c77a27371ae6af24d9ae77501aa1d1be60db99d
+DIST firefox-81.0.2-ff.xpi 482659 BLAKE2B 
bb1d1f79ead06e9c8c1dd72dd9dfb76b7f0bce065bb8d6c27426e3007a485dd0fa27dbf480e5b9cd7fccd68c742beda4329e5630b2d2f3a7119695efc81ba266
 SHA512 
daf51f8158b2f3a4631e1c7bda363247009a96a53969ab8e89f75d8cc9e3702b3b365cd1db16420c538e5157ac78661fdf6eea321cdce7391ec94adfbee384bc
+DIST firefox-81.0.2-fi.xpi 512544 BLAKE2B 
c18976024be779ba90457ad3edaf48ef7791a738184e91de67ce67673555bb8d58b9cc345fcc14b4353b68f36d6b9bac8c1aa7b5cefa8a5cbc7d6373f3ee0437
 SHA512 
36729b8c64e090a777e4d132a64f55065c59de5b9eee40b98c5f8b9a111c4696270ef17e22ae6879da83c0b0caa4122878e07dd6831f62355d7f740338a05ee9
+DIST firefox-81.0.2-fr.xpi 536851 BLAKE2B 
892d3f6fa55902431893d0d8ae8e0205add2c667e83b682dcac5a9a42c459ac6c6a452bf34aee9afb25acba4ba278397ea575043c20655868c653ac9ce28b9af
 SHA512 
50e380a86db6aedc9645b105dcc00599cc50d88424feb8e1c61610c1dc15b16ad3e47b7a606dd470f89e0e4ae2b0acbd5a3c6d1ea70d5e2ea73452189b3b58e1
+DIST firefox-81.0.2-fy-NL.xpi 522610 BLAKE2B 
e79cd06278f24f136a035d8d6aeb77cf22f6308ef6f12c24c1a4f243817baf89ced644728629f0b7db26fbe52ec78147e1ee766ac695277e1c902c442e9fef54
 SHA512 
a64beddef786e58669913c63f59498b7ee3a51c47b09661be724398416dc6e0cc8c89b8951de8490435369e16bc8f1dbf76f9439676679c8b9c0f7ce0b9a757d
+DIST firefox-81.0.2-ga-IE.xpi 467829 BLAKE2B 
63a364f63e93aaea08041ba50760dd9121b8898190a6047a0f931af55685b22e0b60351ce8e89ec29444a843c1936da11888141d38f25084e6bad5e2867a618f
 SHA512 
fc3ab5223f36ff43920a69e7c66c801e111af8b542c29fd8df71cb7cb914a9a3eec2d810338d4cbde59104a1400a57f9643ad53c8e568d801489f562ad20db0c
+DIST firefox-81.0.2-gd.xpi 492744 BLAKE2B 
2d564931c78e3cbe332b67f43bca756a7e1249af539101f820af3a8d387281127c3f1afb30dfe101d0f8621a535d9addde5266021a07fce0b3f3f8ed91cb8946
 SHA512 
00c0fc5f805fe73b6c6bc215b702a6ac102e969552f9b34a03768cfaa005b3ef060c10958a09dcd6f93f9c2f43069318364309d844964f519c24eda9528a0c1c
+DIST firefox-81.0.2-gl.xpi 521904 BLAKE2B 
c7ab7878d9b6bbd2d98e494063baa596ac2a597fea6978e01061c2868bc23ccc55a48cf81a441f6e34febe65ff6245160a801b77f9e24e18f4550c4bf6980572
 SHA512 
85ba01c578d1fbd5512290775a034e6500007a7529add5d26e19c6e7266cc50bdf91ebd69b0f2fae92c59ef49db4eff6f49bb74a0dd7bffa3871f125671cc310
+DIST firefox-81.0.2-gn.xpi 536990 BLAKE2B 
abc328d589feb13418823a88df589cbdd2d26790e9bb3e75357af85b97d348687139ade5a6eea972a4ba0a854058ce9940f00d122b9e28674b33606789f88aa9
 SHA512 
ebaca259f065310fe463a465d8bb8b99dd11d8cdcd01ead8aa20ce5ca8182ff715724df2d9b4c60dc47aacfb1d8d26a2712d154bca09642aa8c99e3bf7f62be0
+DIST firefox-81.0.2-gu-IN.xpi 541541 BLAKE2B 
c4179f0ea62f36286975d9f77b58e4690db95210a24aa0102e08257e090b8af8a7a17104dd1fb5245e55d60e6e11565d07f0a5eeef602b001f1a1aaa19b50406
 SHA512 
d8a4d2a1e64d3d84525c7a821da098022b966eed335f30352ed3d813876453cc1887f78d49b0591f1f2224ff84e9209ff392dd9502806933f758dbac35c0256c
+DIST firefox-81.0.2-he.xpi 537115 BLAKE2B 
9191da8a4bf16d0d64b26d19530ed23879d29bdb75f6cf5d93d71852fcab6cd288283a600af7f506c5b4045d15cf9a94f300f4bccf3c51fbc0a620079561fdbc
 SHA512 
012cae8d36f09ea49b99868ce0c1c7fb3afc01ae9b508e0621650f1e899bf8bf2d969df947b375ea3ccf836288a4c1b19c108a5e138ddda1c12b26bf4a9d5982
+DIST firefox-81.0.2-hi-IN.xpi 566851 BLAKE2B 
49c6d04f42c6f0c4e227e10c853b88dd580bf4b7af69989448dfcb4cdabf4f9bd33638972c26a37fa3e847702ca4d923034658d153b1ce5fd34360c7c4bdee20
 SHA512 
6c7e98b21a3f8f4766c4908a01dc765b4ae47eafc2a4e6987e2b3510e04f9692ace95d5247a68b00aec9bbb0a8d9a529970779d6947a2a357efa998c9ce8d281
+DIST firefox-81.0.2-hr.xpi 516902 BLAKE2B 
25cca7294c531d0c8cffcabc416f9fdab9a97f7a8f35a2bcfadd3e7808b8229fa4a62caa16c0e25f27863b815f650bbb77745d39b1b0e32890b4095ad4c698e5
 SHA512 
5adf33e63653bb5265a4f69ae421863366521d9a3cc667d6bd514dee8e0cd42ae751f5cf83c525f4574b3883d206adf2ccae1b40d22c28e433098d1a7b9934cd
+DIST firefox-81.0.2-hsb.xpi 540882 BLAKE2B 
d6bcce2e53bd449afefe2209b00411fdfc3f6472ce1427322e3a6a490c21390136b00e64084eea5db073f4344a132b551c684099d8e7c02cc4b746aca36e891b
 SHA512 
4715c24aea918e198486c9e38e768901a920fc049587c93a0ccef82b9226b9955c40ce8286e3064f70b6f78a352c6b8b79d79793f42a89a0eafdbd5352dab1c9
+DIST firefox-81.0.2-hu.xpi 544585 BLAKE2B 
773441705e17d88f7a1c19abff44e700d7a7a6de8c92ca35857ecfcee021920a8a9e9ff7ff804e7f55ba916c4ab67db65ee573cf43a5ed47bdd2b9149bb0d5a4
 SHA512 
3de8e88aa35b1c22981776eeeb7fa244e7492f4a1067cd9dd50811e62fb3f621a385c2e55398ad4656e4ecff10627e2dfbc302091ad2983369a27c13545e95c1
+DIST firefox-81.0.2-hy-AM.xpi 588077 BLAKE2B 
2f92d0ec16d940de4e916711502417ce69b6eaadcd8946cb14a93cdb6b1880946b4ca0e78cc15184cb592825fcdf37764efd49ef9c0785b5cf8d7c629ce46a5b
 SHA512 
a18defd23260a163933d9f73db2e2cff520533245014bc6133bed309f94871680bdf59d90811bc42f145340e63bffba782c3f976a4967b7522ca44f710e981b4
+DIST firefox-81.0.2-ia.xpi 512473 BLAKE2B 
554fab5f3d2202366d8a5f2095070b1e9c68e12170cfdee792e0fbb1190f3b10ac8e7b3f5cad3317103a61c6cc8f3bbb0da434cac1e4c68af7d601c3521f31f6
 SHA512 
8bc817a1a7872637be74a67b0cd557a5b1bdae2beba88f78751f2b8da9d000c3fea0db7bac6e2190d00d31d179fe410366df4090d22588e8661006e9b942aac3
+DIST firefox-81.0.2-id.xpi 506714 BLAKE2B 
a8717c83cdedaa089e952d97cf32e6c9818873b4bcddb9c4d5158efaddf1c58ae74cda5b17e01d0ea5dafa08f44045a78d052c96c96b2d5c43ad423e3a088b35
 SHA512 
6af0149bbb9846a2bf3b3fbdca783da51eee3788b59189c3598900f36acecfafe8a078ed408dcd4445d802520fba733fce3a95dc75134575fa0f001cfeaa838f
+DIST firefox-81.0.2-is.xpi 478165 BLAKE2B 
e5f31157646188a874996b63546d5794e4849d34947920703a2deaabc463413051180bfbde490bd5c97608ab467c40dc9259af1d4760b653aae6fd1621694b8b
 SHA512 
b16a1d16042bdeacac8f3906e1a5806fd2351c3059d8dd74dbb9fcf7e899ca4902e0d1394f7742e96e22ca8fa8772f9415163a50a5c7207931086420c870d072
+DIST firefox-81.0.2-it.xpi 441438 BLAKE2B 
219ae2249be7c713fc7da6376b56a081c98701795d7748217cd772875898db40a89d21d5c414e33cd8305ef15141b1552755c49f1d02d58d5a0163d56d2cc2ba
 SHA512 
b1cae52fa825a70140288c23115ca391a490e00a7a1082e0dde1b80d6671a67a3301dc12af4e487a63f57d0454d6ef5e03b81791a513bb882f1e94c559d65106
+DIST firefox-81.0.2-ja.xpi 571751 BLAKE2B 
67d6fff8e7d49a58a41401cbbe4752a220a6439bca68687c1759026bd0be2b5c479038063c609cf583f5a33a522a3601ba1999f9d87fd9116e6727c4a529a995
 SHA512 
3491db9af842dc4f218952fe79d2f309cc524b3cf98275e90be4b46cfb11a8663e82ceabf2b6bbf47245c7c81fe2dbb23579ac57316bcc97854e089c74ae1e48
+DIST firefox-81.0.2-ka.xpi 570421 BLAKE2B 
7abf8a59888773508242f0873aad9c7923121ea828aa29d63aba598d730af7dc4fdee0bfbb96f5436c52929227f538ecb2e616ab390b93e2f88fea0c65de4f23
 SHA512 
213f821dc4d1227d23e7079b32152d60b904c61df8760b7f1974de652d570e0afd9ae1ddbc93b1f1fe02e1a39b6f480be5d0bb9bc4af9b1bbd16718cc0f5c88a
+DIST firefox-81.0.2-kab.xpi 530527 BLAKE2B 
5035f8dac4000aa8335e0b9e6bd034a6e3cc35455a775e8eee49246ccdcafcce5ec9e7a9e8ed664bc8bd10eec5c982982b962744c3437086f383e9190e3fa1cb
 SHA512 
85d9cf22cd3dc48eb22a2141a1b1f27d9908f4a3c670633342dcff65028a78d16e18616e845d30d3837042ccf5eb954bc9139389addecabc11026ec30547a77d
+DIST firefox-81.0.2-kk.xpi 588941 BLAKE2B 
1cd3a1a814b398ebb4e7da6afee1fc3242cf48cbf21093d110ab668af017fc096b24acedca59936756815a58411d0d9bbc7ead22dd6ef1f33dd9cae47c761b21
 SHA512 
c539bb6e1415d22417ebebf73245fc6757b52b3465824116b0ffc419b993bb06517b5615e1640991998d8cf33dc3173987004b1271febd2d06258a6ac7b18426
+DIST firefox-81.0.2-km.xpi 525937 BLAKE2B 
4f8dd5298fa87feca87ce57b0af3b4dbf09812dbb651bf493dadc3656b7336791e5b16dd978a8b2f28b1a69ff14d275fed258710b62f7ae1aea19db55c03320d
 SHA512 
acfe7e7e8f49991536bfd30dced3413c8246416b3c8b3ab86c7fcc9b849434679bff1cd662042ffc4f1980025f9cd5f1234f4ff87dc49d598fcc58cd8bb9a968
+DIST firefox-81.0.2-kn.xpi 506733 BLAKE2B 
e36d5f1f1000d79e16d9e82c270573246a380d5205e9e9343fd4d51b53e00c25820420d93d3852b5dfa64b37cd4abde1e9c48e3a8076994825027bee813ae57d
 SHA512 
b34aba6684a9b84908ee41ca758965844a717b1584139315b31a35ed2457f439f74bb914e4704dd03ad5d94540f013f87fc68a3ccdc86867475762829ceff202
+DIST firefox-81.0.2-ko.xpi 556941 BLAKE2B 
ab9916bff7bcc985b3d33bc17d41ffd786e6d441871412fba0ceb157b80cf03493519fa7f6f94deb0065ff775c199119060c637f0f607aadb66fd0ece4d81668
 SHA512 
d90f5dd2a5b965ca043d51eb8c04cb2a5285d69a41d455e1102999dd4dd85a30305847d1f2d5268b2e4c7cf72fb5c24e249e92f9d2f7157b47844f0d0688d317
+DIST firefox-81.0.2-lij.xpi 476224 BLAKE2B 
f8c16d5b7e51acc8eb0c5cc01c5a7fbb836dcdd76e75155c919b0de2240efa8491b1143c7fa4af71cc7e1c12a11d6de690832678038ffe788b14578b32a6a6fa
 SHA512 
e0dee7381336497fcc6d4fa7eb8d2f2f59e9e819cec35e3844460974328fbe3b435b02aecf283aec00d179d06c757fa0a9d9e2c713a9d0e225a479f7df8412f0
+DIST firefox-81.0.2-lt.xpi 536131 BLAKE2B 
15b3e7ddf40a78b50967f6f9bf9bb30077bdc44be2c24dc2c5274e3526638be8497f5dfc131b27da3e7a1c9f819683ca32096e8660fbba880be45611705244c1
 SHA512 
f1572fa0e7db3d81a393d6cbd91858b7ee191ad4a5f79c26c5fce585689f0f47831836d87d60534f02e23de907f84eece5283afd7c9cdfc5622214d2271a2c09
+DIST firefox-81.0.2-lv.xpi 468501 BLAKE2B 
f54924ec08c3f5955f945865744ca4e70b1ac8d29cbb096703b3a7f50feffc29eed55b23427e22e4e2440f98c1f86dccf2c5d2cf23e28f0bfbbcd690ccfc26a3
 SHA512 
5ae7e6589a837a49982166f4381ac39645302a5c88f510aa3d5ccb7bec384719c77058614eaa147f3d354fb7a7080a3c7bec042ae7db92c64d0019265e7313cf
+DIST firefox-81.0.2-mk.xpi 459802 BLAKE2B 
b1f7e82ab4aa151b734eb19ec43f2dc1ac9e63fa816339a12129b757c5872363c2de26f85b331c7f7b8ba8491aecba2baba56a65e99b60285ca8c36feb66ef0b
 SHA512 
7e3f1c0afafc84f0ae5fd6bd9c0de88672094a9ed3def5529bcfb7310f378f4dac8bf9f07e271662d915ae98bc2592eefe0af17bc4ac75ab5e3b09379912de3a
+DIST firefox-81.0.2-mr.xpi 541680 BLAKE2B 
111f9b8478532ed128d8210ed8882f882dda9d163523f02ee6301e6230e22efc4f757c435fc4e7839f1a2d38cbbac9836899ec70d769bd248f23805e756cdf5c
 SHA512 
0f917fea1c453433926ff67b9c03db47d188825339ae70fe3852d5ceaa9c9371edd1ca5481769196645de97763fe3e1dbb746283c9540625ea96377f0356393c
+DIST firefox-81.0.2-ms.xpi 454299 BLAKE2B 
844b42cc122db982484832882e0f5e078134cfddf7c428edd1c339ec423bf29fd3a840c393ba701fb6a324649b81f4eb7f1e7abf2afa82be147de42057f28723
 SHA512 
bded0ff87b9cf7fa6a1c0496fc286f0835487a059563767d4138580692f527a7abd9190e4f87437273298c562abe8323d83861e5534edd7d241e8b2f3b47b754
+DIST firefox-81.0.2-my.xpi 526284 BLAKE2B 
712cf7732637a7d613f5b6b9f32c10af70013374e5942ac852bcec1f6f2c8aa8c6f0828399701acc8aaa9e4ce5470c09c44c0d3546026768e66ac7d81be90890
 SHA512 
b4ed2da904abf0546ada95903295c9ce9b0a29bf49493ab2480b3297e29b427aff2b0a4e373299058e184bf923cf48c18b5d7ecddb5bbb11296be7264cba95bc
+DIST firefox-81.0.2-nb-NO.xpi 509491 BLAKE2B 
0b254dca33a8c3ef43b34deccb4c8c9305f3b989451844ea65087cf1669cdd212914769ed9b75ecf08bdcc060093bd3c9ed201b81aa6f562abb9361772304d9c
 SHA512 
f6605cce8c69e1e04bd2dc8f41d34cde85e4304fe6e6b4a76c5bbbc59494666b46445dc9a9b9034b76e591ef4fb46ce21173d679a61407578ad00b0ef4de5bcd
+DIST firefox-81.0.2-ne-NP.xpi 483416 BLAKE2B 
16386768ab907b845e0fd7fa4da10169d27143a68c3c312c11993faf8918b1cc21465d99fc5bbda20e4b81ad30deffe07950ff468877dc54f7e2d97f114ee64e
 SHA512 
ca85e8865a866f6489b6ef31fe291ee7bf59aae2aa9a0710ad8b6727a88001d62ddb7bc016af05e9b7b1d97a10c247f4637564b7a0f41a5e5c78dbb1b1789820
+DIST firefox-81.0.2-nl.xpi 516611 BLAKE2B 
4af9f168b77a19a960df1ed77b6d944e8deb38ad711c5b08d2d324722d49955d4ccb1971a05b3b5910a31789338823b4586c678fbae9e99d7eca551d10df7596
 SHA512 
e9d359b206fc804a823c7c57529c01f01b214cf152e494e5e541ff446152b1fa6dd1aef7fe11acf0949128377db7ffe649f339c3b757781c1d9fcb817be83188
+DIST firefox-81.0.2-nn-NO.xpi 511956 BLAKE2B 
2a805825c6ff37659ba59528952cc24198b35495d3d1495bf26f4dd78a6a2450d88df4886c1cf665412c71830751c4ee9287e12269508080d743f24e9723b305
 SHA512 
5d65da235ca7c5f355fd03e0fce359a45518429e483ca5f2d41a3a46779e42c6dca76f9f674d61453d5c10f2a7d22b0dbb35f17cc71b85fa4c169d2871f987a2
+DIST firefox-81.0.2-oc.xpi 529767 BLAKE2B 
fd2b1124e0dd47d29d3845c97d5d332cc478f08e6b7cb90758eb54c3a7b4f520e4fee0331d0a9697de9b33cb84c31fc7e9a13dea46816117fe5766cf6fd3b491
 SHA512 
073626d947c36dabdc1fb9e3231838bff73d191a389aac35172e086a61fc191ed8c1e6c9c533841200cff39baac83a5d740b5808dff431f7c5924309f0876c72
+DIST firefox-81.0.2-pa-IN.xpi 569882 BLAKE2B 
97b8156318390e26dd42558615f13c318ca2a3e92af11f0c939e334d2411441448a7b971e65d71e10778d53b4e88f86ffb1d62be8490d82bc50064377b4730c1
 SHA512 
8dfa6cd0e3ef35bc62aef08cbda6a1e5fd58bd6195c68c6ea3df29ad16bae6fb5cc825d1d06c7da8b6291da7590ec542a82deeecf91a61ceec6daca9fa646ac8
+DIST firefox-81.0.2-pl.xpi 535546 BLAKE2B 
84ca6c7453b2de13a9b48fbffa8767ba8106a88a9b1881e8afbda2a2337dcb0c0fd34b52e2d2698fe96f0ea65d0f6340d3599b708c312c9d3f5c89a8e3f9651b
 SHA512 
766855d8548213d66b1945edf589c317486fd8ba39e596537c4bbc5ba827850c3807ae245d1eb375063310e0edb4ddc06cc735bbdc608a54613dcb6cf2a335f4
+DIST firefox-81.0.2-pt-BR.xpi 517603 BLAKE2B 
7184b7e0b44ce1f9bc6d3f91260a9c89fc0c55c50505bb9f69cf7a9ecbfa3e20ba05b9ff228cf4775132c208377dc01615fd95dd24be249c276e1a4364ae87d5
 SHA512 
4d4194068d5427325b80bec667040d707a1e6f387af0968bbd6b70802012c1e837673ffbe3df01a503f7eef80866032a0e50e30f3f4ee0cf3aac654d97a6c940
+DIST firefox-81.0.2-pt-PT.xpi 525640 BLAKE2B 
e284a7c9e1154d781ba8846edc34552bafd217310d5adb37c59c21d0c00a34f94c75c2f95b68d07358b8fb28169adbdc1a73de8122a6eaf7f7250643beb87c93
 SHA512 
63ab8f92a000c85888e58ced78090bfaf293139194f4002df277283b65d7a353366b1fbc7c1f4184438c7345e276aa6d09fde58dc0d2fe256083a733c03a8e9e
+DIST firefox-81.0.2-rm.xpi 514442 BLAKE2B 
2f88ac3d895626bf80a96c92b4cd2d9d0e95b16d89501e6ee8de87369bbd65e81d69f56814ea5fd88097d8ab8b5cc424bdd0d1639801e13fa06652cdea48e69a
 SHA512 
76acd8583f7716863abc0ffe1f5f7b1cc5bb92d32e84141033fe5f829c1f0675016d2d1ec96ec8413ebb96b52f21fecce2f9e2d61d70230e7753b109e95acc0d
+DIST firefox-81.0.2-ro.xpi 532733 BLAKE2B 
e8e205c93cebf65f777e4cb2a7e7947aaeb4d2757482a375f1196cdbd0579f5a57c000f857e6a73d5f45fce00da86f8a408e75a97475bce454750d3ed0fdc42f
 SHA512 
5615df827564743efacd43e049f10b93774a10f427f04ae9fafad06a31362dd0215882007f0fbae601de0ba680a0eecbd565b159c07dff6eaee977a098e2ce43
+DIST firefox-81.0.2-ru.xpi 603102 BLAKE2B 
aa598153c4b065d3c57e450368aa1ee86d8a8eef9fc78f92ad87723dc25b15675e9cb38a4bc86b2f2ac877e5dfb6cd3ab569160eb190c72d96781d49a8e0c39d
 SHA512 
dd5967e15a170787771b461d6f1f359de770432966cf3a5414735b056885a06c94ed897ca3b3f4686d98cbe3ac3360546c9e98fb94ad649fac913c839b967e79
+DIST firefox-81.0.2-si.xpi 492871 BLAKE2B 
a3a6cff26ceebcf9610e47fc92cb3255ab032e9e3544e0163df539cc92dac1a9c81139e12fda13b727065a5bd6f7acb81ab249d3d3aa1f775556aa2c49f0d0b1
 SHA512 
41ddcf2c6678b976cdd362919f65ff1e055dac8b68494e9398dc2f1337da1616af29912bb415069c17719dd879363241a04ce5cd4560a7b1c7f628f885ea0ebe
+DIST firefox-81.0.2-sk.xpi 533658 BLAKE2B 
5476b7753e980aac253ea675839ed2316375b6ee6f1896f1065b6b6be8430423a08b9d32fcc6df65bf32a6ecceaf9c32e75fb933652a132008ef095354692841
 SHA512 
fed99e0acd49b0cd02dae08a3c1a2339c84581da129396fa3a63726014390c3177e7f473ea81dbc61e2fa7284cca303dd0e048bfa17ced137132568288b81176
+DIST firefox-81.0.2-sl.xpi 517961 BLAKE2B 
ee48b3c26d8472d4b91f3ad1be269dd19e57973b9e7716397834de4eab90327b12539730e16eac8d6c3e1b0ca69cde7b9e78c28295b9eb46d72f0e3cbb1af08b
 SHA512 
82472a1775b4001ed0e2a5e315c4cb30d947c34a6ab800b6a39fe0790fc634b5d8ab80df41d1bb0580de66822e5045d5c7af231a694ba277029479903541e43f
+DIST firefox-81.0.2-son.xpi 425675 BLAKE2B 
17c83117759508430fd9e94fe2cc6d94361fd73dbfc63711712a5c12d9be562f7e6a94fb1ab616f31fb1632123a56290152535b7cdeb2b42ccfd0b178ec24cd8
 SHA512 
99116b605e72ef8ad2bfce508c29631feacfc65b7831cec8c1a8a1b114350a12d9deb170556ba01e63af6b1f1ceb71f8baf3973317c4d6c418bc86d5ac2e45d3
+DIST firefox-81.0.2-sq.xpi 533947 BLAKE2B 
0284a741ce68b5f3dfa37bcf674369d8d58d0f37eecb55040d6e36068b85e0d01630b055b5a53ed9452a4faba23a3e68a48d47a9e3569d4ee897f3ca2f783c75
 SHA512 
04d0b9c617f478b7b4f29c0d6256bbb8c108129fbef966e20342a9d6a9f60c1e00665f4fa25ce2fab41ff28586fce6d725692189a98a7a2a6b2c69f7886fb256
+DIST firefox-81.0.2-sr.xpi 561059 BLAKE2B 
fce13e7eafcf805e36a77553cbe6fd833c717884114e69477c30ff401a99aec62ed77a166509731b47703a4a1cf98d89f87582b19e53e5e0f5bf0453e2f2d365
 SHA512 
e64330c98cc384f91a08b6a71d1884512216ae57e62e85d877516ed87453cb1191c74df03602f3936ca8eea544798af2a1a72bf8ec0be42a70eac0cd62b0aba0
+DIST firefox-81.0.2-sv-SE.xpi 520267 BLAKE2B 
327adeee81a46639ac3fb5b1314fea580b888f9216010cfe916264bc1dcdbfd7bc6f64922a552f8f449281bf613efb4809aa3efa833df5736e1a1e580ab57a79
 SHA512 
4029b7e7aedea924fa834997bbce79be94b5cbb53fac96e15630676794b5d550ffc2965134aeec0b71044bb5d34a17ddacbebf8573a670e1315462fd750de949
+DIST firefox-81.0.2-ta.xpi 521452 BLAKE2B 
45a27effc7e63625d0ba0ecbffd02786337a159fa9b227a045ed703f8eac8488f740082dce3f3da01a1be866313979688b729382c6dec8d4c8725b312bb7c599
 SHA512 
2252567cadc1b94e2c414458d66952fe1082238162d216547335fcd5e7b096805a60116aaec945b16145bcab055e21c4d55260cd1f93e1579102ca92e18bedbe
+DIST firefox-81.0.2-te.xpi 557692 BLAKE2B 
773af2db88b437964d96b21ce46e68e597097f642435611ced9d788c11a15f64b8c6f21ac8a9b810aff84ace4570ca1c9e0972a6a9b9d373130bb528d039aa71
 SHA512 
f0cd5e5f1c0c610985567a999945c8e1f6682474150a213756a2c0d2187405bd6f8c8e89c763dd39223b75d0e9b45f2297e1c0877e93061ae3ae6bdf4778b11c
+DIST firefox-81.0.2-th.xpi 585301 BLAKE2B 
dfa93404e800a8905e0cb5a9fe3174711cee922adc33c7bf61d4b4fe7f6875fcab5edc07b36958debf205bb9e88351e7c575933ae74551a13c6bfa1610770c84
 SHA512 
e7d14d8fa4fd43b6e1407b916786b70e19075ad509a462f927febba84a4ce52e8ad6da88743ae895a1a5cdd9d1934cfffead53632b272f148470abd90fe71e9b
+DIST firefox-81.0.2-tl.xpi 505740 BLAKE2B 
691d6da254c8783f1b5d0530a519873c7bf993b605bf4302d5b4c22ecc6a6a4087e7378a43a41b2f96ccaab69612c6d883d9961dd95d8f5901ead43bb13cb5ca
 SHA512 
d29a49943dc103acd607ef4edc7f0889e761bc3e6b2750c675d28d52da12ffd0689ab20467612387f22ce8a3248126c072f4cc34e02415358ae72b521e070532
+DIST firefox-81.0.2-tr.xpi 530248 BLAKE2B 
770a9eb713365634b9f5077c83e206ff736cd3425269845ece1adbd2d4631244ac5b1d7d3a8d16a35b35f74cca8175923fd508a9e5b48bc1be99832de0093548
 SHA512 
7a1df05a5313aff6188594eab0b2c926d1ab69475684dcdf0a5df5f4310f1669102d2086ea1dad4c89d95f1b3e0ab87c92f94207dd7a293cc439d81e7157bd1d
+DIST firefox-81.0.2-trs.xpi 500275 BLAKE2B 
0e8ed6c1affa10875104bcf16ebd963b23d8edbfdecae2d6b3cae106ab0e80050e590045f0cf8f94087e6e5e8610837126ecda3b32a2e78b06fea1b79138fe05
 SHA512 
b9bb7c0caa9e6b805aded6f27f192baef7d9ad8290cc7f654a4e44f8ee02d7f06119c7782bd295aeede8d5c6b66ec8aa8736ee94b16a3cffb1fe6d24c4357194
+DIST firefox-81.0.2-uk.xpi 597212 BLAKE2B 
4edce78b157892c52c0c922314a4bfe3f5eb405f83dd32d289b33423dcf192a0a245cea30b90a3290e577e7be9d6b4971b0e1e64892ad43b0d48fe3bdbca039c
 SHA512 
92d1e6887de84cb5aad8ac6e49549a1d83b15bffb79de6470960e24104e29354b3acb90df8060f847ca2acab1018edb4fd787c2f1911da4b5e51936ae55fa129
+DIST firefox-81.0.2-ur.xpi 558278 BLAKE2B 
21ee48377ca55476b3e8db7eec7963be73b5e6e7be62633fda0bd3a163ac42d7511da5a3f282a4de0783d44a6076d1caba6fee48271df6beeedffc73696caf35
 SHA512 
f1731336dd8589303d17587b0c2708b6d2c517c892b788da53eb92ce4d444ef3097faead437de9628a0048127b9bd4ab5926dbe1cb614265c894be913d15a78e
+DIST firefox-81.0.2-uz.xpi 478100 BLAKE2B 
062b596d9ad244786bfbcf2653362f2a5c318b8ac28626e85b146715606ea6d7c84e3c883c6f6e36ec5eba63fda9a87ce9dc2961d2d8bb2a3c9be3bba08e4d20
 SHA512 
8c7c91ebb8aef8e50f231a57de56c4f67786364d9a8285cfaacf372594f48e61daa02ff8ce5e807268726e41e92d1952b30df9659ef7a8ee778ef1dd9b32c85e
+DIST firefox-81.0.2-vi.xpi 553773 BLAKE2B 
1e01319c8af8b845a8bd58d88a441543c9d357d560f4373b3e43cb4a8357b267c5d41047d7e8a5ac706db1c3f4f0802a324c59dba24b3cf23b462f4daaef05de
 SHA512 
0b2d16cf6bdd4c1953ca78f07d627dfb213b218c3f06c0837e279f54fe17f44b46a89e38a7c42ba5448e34a564c3102a93902c6ab959a40a34786a3d9eaaa94e
+DIST firefox-81.0.2-xh.xpi 427853 BLAKE2B 
5d93dbf61b010824f264e151bb84b873cd2988af2f861175e1e18cf33305f4f941e3e72522fdd3e67d63008f2bf26c56d9e9640d329d2620065e14048f5f1378
 SHA512 
8bd1d082eb3a873fe56df78c8847e7db6779e0c71622815bd77af32a26271a9c40f6175d2a43d74c1e2348fe3319fa9ffa1dca7e420a340dd0dd99027ac27364
+DIST firefox-81.0.2-zh-CN.xpi 554377 BLAKE2B 
75ec97232f9558a766e34e6cbb1ec193015dbafa6992d30a464c85190523228b3dd5dfdd055240ae42d74c96451eb9ae641a500f85334735370978e7d5ea0394
 SHA512 
66bff2c6fceb2731873e596eafe8d26a9c5eca5e9865c9acbf7e4fea9797ec599ac8c2035ff8b8b4e9052c1960d9bee23b956e59a5d107f709eb6a68e82f03c8
+DIST firefox-81.0.2-zh-TW.xpi 554162 BLAKE2B 
d2ccc9d7358374864f9936a37b78f05f7161d501a627fdaa3e777ddeab95df93a491fc7ba792e4814c3cdf43f27318c1273e97a269a7dece4c052cc07c9e29c7
 SHA512 
e2b2ccc71a72e47bdbd485465c7edd73575e5a54a25fca4a13acd72473ea648abdfb4e3e717efd6910ef9b05f5e6b99d90c84488321be87b2609068461d29a1f
+DIST firefox-81.0.2.source.tar.xz 337759612 BLAKE2B 
18ba8f61b4ad5c42328d1938a36e6e438c528ba669ae841074bff0a3a40194836d818421b464051299fdd6e70af769177981550c66501e1ad242813e2c8f8426
 SHA512 
8a3ef4819120e93b860344ef05b4ef05262e3f127053ef66b3c1eb4b157932913f72fd4ba5500e86c2ef29f25be58e0c6e2c47a1c1ecde2abe77ece5f948fd75
 DIST firefox-esr-78-patches-03.tar.xz 172416 BLAKE2B 
2d67e793e4f4bde447a3a3f3296d1c5ea6c92843439f87e0ab08b51d2f0dd74f0d37762807a1f24853e56f7987e18af65f010027602e32d40a3444c7e418ef47
 SHA512 
86f35b89ad573c10b839b1631149c6fce3374943d101a6496c40a69a813525826cb2bac4926fc7813dca334c9dcca534e0a963b0725ac3f95fbd3a1c2bf8dc3e

diff --git a/www-client/firefox/firefox-81.0.2.ebuild 
b/www-client/firefox/firefox-81.0.2.ebuild
new file mode 100644
index 00000000000..c16727cd8a0
--- /dev/null
+++ b/www-client/firefox/firefox-81.0.2.ebuild
@@ -0,0 +1,1098 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+FIREFOX_PATCHSET="firefox-81-patches-02.tar.xz"
+
+LLVM_MAX_SLOT=11
+
+PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="pgo"
+
+MOZ_ESR=
+
+# Convert the ebuild version to the upstream mozilla version, used by 
mozlinguas
+MOZ_PV="${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
+
+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}"
+
+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
+       ${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="screencast? ( wayland )"
+
+BDEPEND="${PYTHON_DEPS}
+       app-arch/unzip
+       app-arch/zip
+       >=dev-util/cbindgen-0.14.3
+       >=net-libs/nodejs-10.19.0
+       virtual/pkgconfig
+       >=virtual/rust-1.43.0
+       || (
+               (
+                       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] )
+                       )
+               )
+               (
+                       sys-devel/clang:9
+                       sys-devel/llvm:9
+                       clang? (
+                               =sys-devel/lld-9*
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-9*[profile] )
+                       )
+               )
+       )
+       lto? (
+               !clang? ( sys-devel/binutils[gold] )
+       )
+       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.56
+       >=dev-libs/nspr-4.28
+       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.3.0:=
+               >=media-libs/libaom-1.0.0:=
+       )
+       system-harfbuzz? (
+               >=media-libs/harfbuzz-2.6.8: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 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}-${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="13G"
+               else
+                       CHECKREQS_DISK_BUILD="5G"
+               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="13G"
+               else
+                       CHECKREQS_DISK_BUILD="5G"
+               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!"
+
+                       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!"
+
+                       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
+
+               # 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
+
+       xdg_src_prepare
+}
+
+src_configure() {
+       # Show flags set at the beginning
+       einfo "Current CFLAGS:    ${CFLAGS}"
+       einfo "Current LDFLAGS:   ${LDFLAGS}"
+       einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
+
+       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
+               CC=${CHOST}-clang
+               CXX=${CHOST}-clang++
+       elif ! use clang && ! tc-is-gcc ; then
+               # Force gcc
+               have_switched_compiler=yes
+               einfo "Enforcing the use of gcc due to USE=-clang ..."
+               CC=${CHOST}-gcc
+               CXX=${CHOST}-g++
+       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
+
+       # 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
+
+       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
+                       # Linking only works when using ld.gold when LTO is 
enabled
+                       mozconfig_add_options_ac "forcing ld=gold due to 
USE=lto" --enable-linker=gold
+
+                       # 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
+               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
+               elif tc-ld-is-gold ; then
+                       mozconfig_add_options_ac "linker is set to gold" 
--enable-linker=gold
+               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*'
+
+       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-location-service-api-keyfile="${S}/api-google.key" \
+                       
--with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+       else
+               einfo "Building without Google 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 screencast pipewire
+
+       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
+
+       # 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
+       fi
+
+       # Additional ARCH support
+       case "${ARCH}" in
+               arm | ppc64)
+                       # Reduce the memory requirements for linking
+                       if use clang ; then
+                               # Nothing to do
+                               :;
+                       elif tc-ld-is-gold ; 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
+
+       # Build system requires xargs but is unable to find it
+       mozconfig_add_options_mk '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 CFLAGS:    ${CFLAGS}"
+       einfo "Build LDFLAGS:   ${LDFLAGS}"
+       einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
+
+       # 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/firefox \
+               "${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}"/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-1 \
+               >>"${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