summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick McLean <chutzpah@gentoo.org>2020-09-22 16:29:04 -0700
committerPatrick McLean <chutzpah@gentoo.org>2020-09-22 16:29:34 -0700
commitaa28ec16eb11d4088c551c55a0878ad968447737 (patch)
tree869fb3a54c75366292e9dea7ef7757d97f43c99c /www-client/firefox
parentnet-im/pidgin: version bump to 2.12 (diff)
downloadchutzpah-aa28ec16eb11d4088c551c55a0878ad968447737.tar.gz
chutzpah-aa28ec16eb11d4088c551c55a0878ad968447737.tar.bz2
chutzpah-aa28ec16eb11d4088c551c55a0878ad968447737.zip
www-client/firefox: Add bumped firefox to my overlayHEADmaster
Signed-off-by: Patrick McLean <chutzpah@gentoo.org>
Diffstat (limited to 'www-client/firefox')
-rw-r--r--www-client/firefox/Manifest104
-rw-r--r--www-client/firefox/files/disable-auto-update.policy.json5
-rw-r--r--www-client/firefox/files/firefox-wayland.sh7
-rw-r--r--www-client/firefox/files/firefox-x11.sh7
-rw-r--r--www-client/firefox/files/firefox.sh128
-rw-r--r--www-client/firefox/files/gentoo-default-prefs.js-319
-rw-r--r--www-client/firefox/files/gentoo-hwaccel-prefs.js-12
-rw-r--r--www-client/firefox/files/icon/firefox-r2.desktop236
-rw-r--r--www-client/firefox/firefox-81.0.ebuild902
-rw-r--r--www-client/firefox/metadata.xml42
10 files changed, 1452 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
new file mode 100644
index 0000000..9717ace
--- /dev/null
+++ b/www-client/firefox/Manifest
@@ -0,0 +1,104 @@
+AUX disable-auto-update.policy.json 53 BLAKE2B f8df63721191d84d8f1ceec263f63c44fd5dadeae0939baf9a4a6b1852516722b2a3d94b8d403cc7b6c6b525d5236f357ab65a72d716aab1f5bef47800b5a18c SHA512 5ed67bde39175d4d10d50ba5b12063961e725e94948eadb354c0588b30d3f97d2178b66c1af466a6e7bd208ab694227a1391c4141f88d3da1a1178454eba5308
+AUX firefox-wayland.sh 110 BLAKE2B 60875713743e7a65b0c5a7649b8a016dc5005b723640378c4b60ec29f017d7a227cdcddf3b77faa2cae33683b1b8dbf0688968071d9936def4bda4f66ca0aef1 SHA512 58d6b3fb5e9af26ce9c55d0da304eec65a5380ddd58e16dd28cc80ec035a9d1b88bd3815cb74a6999125d1540e77a42182c15e142803b326ddc9c3626e8cb484
+AUX firefox-x11.sh 104 BLAKE2B 8d374235286fac0cfd113f851b0f48e9b23685f6890c6a959e4a071c6c2a58fd274aa7a88c750496420ce6918c06825d2c03cb159638db6567e3d773f3168cf7 SHA512 59cae56b34507f463c4480a7335ea25070beb450e3c93d3adcb782e070cb558544f05c7a784419d48f33cbdca7ed7b2c740c361da8ea081d0323677ffcef79ef
+AUX firefox.sh 3103 BLAKE2B 43066a1aa148d2162f7c6ac422dd6983d7c4504ff09271da2ccd22adab9f834b5343e7970271ca995e2a85c17455988cac0d6235cfab40eff033ac29d33efb08 SHA512 7d443dc42bae690d22437be1cd025d8b21c7d31debdde1995495e6cab8ceb94ab0bcd63513ed5f68fefd2e1991db414c7134bb621f3079772e60e4ac9876903c
+AUX gentoo-default-prefs.js-3 978 BLAKE2B 54af7c32832dccc407b09402e0f549e717e60d26f61bd0cb1bb4f5afb8ccd752f501fc194639bb81f88c732d813460fae19586e33b4dfcbc32262a58f0fde71a SHA512 ae96b9cdb8bbe3d47d8fab0386d1d1c3e8286b227cbd3590b3deb15f319d3779b052526866174231c730a4bf9eca82d10bc7e5d5bc626695b1271c5498906c27
+AUX gentoo-hwaccel-prefs.js-1 100 BLAKE2B 08be790b58524077a5681cc06e10890b72dc6e8155c9e03e6ef9165035087d4b8cbcac4a6b8997f61db3721895c9247a12171eec7d082fa15e1d5312bf51fbee SHA512 cf5385c793056e66b8853fd641dce2e7804d6878675afd24485487f2201801e1bdd5d27c15cb0d483eb34bfb75e7a21c01f1bbf701cb1c2dfa48f8f6422ed42c
+AUX icon/firefox-r1.desktop 7966 BLAKE2B 35b6b569024efe703dbcb0a6840fd85127db110f5c81c87dc910f61c262603967d1906c66fa1c926cf122551f61a59cded1d084d31e81291568765959e4c77ba SHA512 179bdaecc965ead95f32897d43efe530a358c8886d427fea37dab733871690955198aa6b55209e5167d11cc5cf1a76969bcdf1ea05571eb2b6dd7e72be44052c
+AUX icon/firefox-r2.desktop 8137 BLAKE2B 5d0ce737c0e0969cb1a61de7989f5ca1ca0dff413d6d98bb0c93e0fed510b4e075a88fc117d3713e5e11ee7471ceaeffa9bc9dfd4282f3ddb1ea837d823e4887 SHA512 749a50b11d89c1329a52d13745ff8d5f801e565038cb5341319b4b515f36baf1c0c740003d6d01188c27e31d7ddeff58310e7b2420681292d0f2522bc5bd34b6
+AUX icon/firefox.desktop 277 BLAKE2B 944a7b4706ba5f6b93a1369416adc31203dfaf0d12291a035ce05830f2c79bd14d1f7d5324c16d3e5be21fdda2a9237223901030a974f3ff778b1def7f8bb3e3 SHA512 99b57d36601bba420bb2e6647e0fa4baa1c31f15bf7c602ac43a347d7fe78f4350b3fb10af3a709a5aac02a4c4f283dcfacd780bacb43e7e8ed46b83b97d6f4d
+DIST firefox-81.0-ach.xpi 458704 BLAKE2B 806ed3112f9be7a2609485ae11d71ff573f1ca9b750d0f7d18b8390e273b5a63b6508d7292d665166ec163717c1a2dcbd45103617a2e03d276760dcb17ce09b2 SHA512 18d79ecc95b068b0e23fd58809187eda0732d53c7ae8d5907389cbd45ad88b4ce8213832ac2a7e83eeae1cb0af3c17f9b785ff7f6f2caad66eded80128b22fbe
+DIST firefox-81.0-af.xpi 429003 BLAKE2B 44cd83009fa2c45786fcd4164629a2711ea9ca6b44118c119bddbe6ad0ce5336322bf7cd09dd6544e1e2a687b08f7fd977cb76c0ec25dd7d05b4552f52c9b0d2 SHA512 2dff6d871b63b3cec5512ecbda83e8287974b5a926b5029ebe0279d7d3a7e80db3d8d934d533c4daa67d9c16f2f8fcdaad17795126e9004bd4b626c26b2ddeff
+DIST firefox-81.0-an.xpi 506884 BLAKE2B 167e3ae966f2578a87b8d1cf7e6481843d0cfd737ab359f3c377b23119afddc1843f97cb444dc5683002bdb03a1df6598c30eaf84f20a64014fbc6a8146ac853 SHA512 afc5994c70d8321a1f537f1782b04b086f15713ea8e363751cf227db9f7436125cd6442d59acc3fccdd3d638ee592cc15b16c8126e299cb75d8d0d4fc1cf983b
+DIST firefox-81.0-ar.xpi 548495 BLAKE2B 69352b01f4cdaa0e7c8d316429df4fc745161fbe475cb535c422ce5add9b6ecaf9a015ad14122ec4ef96969afb9ffdca48f9db6b45097893ec6e96e70e726747 SHA512 f63fd9b814d423bc36f75460b6ba13eb0b3a9607e18df8ad3a59179c62590d361305097469cd252edba38d0869faad0e3823697d0f832d9340b0383cba359d0d
+DIST firefox-81.0-ast.xpi 457245 BLAKE2B 9480b71ba35f3f442ac4436f6ad85fe35e2575752ede185f0a1c6ad52387a4099de74348f603c1ffa9bb61a7d4abd1d71ef316643da84ceb39ed7fc751f852e4 SHA512 ca64933d93028c0a593329896747fd29de808928de22f1dec4fb8140d920b47f463be6ceda13cf927b1cabb73fbfc2b62135a7606912a5a0c5b202fe4a1b282e
+DIST firefox-81.0-az.xpi 492768 BLAKE2B da096633f563bff9b56dd9cab81bd1ac5cd2335e7d7d105bc91725f1f3924d4414c5b2591e4d2d38786e55ebbe1e60e794f6ce240c5d21db6b98fe406931f6bf SHA512 ba9378d50c929813b29f627f42ffc3a5744d74e00f7330fb277af8bf0dea8936f252d8a789416119c79d9bd0332fbb9baa74067743175f7f0af4a55c28a27bfc
+DIST firefox-81.0-be.xpi 593036 BLAKE2B 51e00ad4d93645903b4d0582161c6fd0fff1bf4a4eb15772c4d7b6517259946435924cf1a2b7fc8bb90663390eeaa45eed9eb7a3e6fd3e4d67c9b43151d7aec4 SHA512 13551dcb43033a03fc84b335302d55ac3d06267642b8231a2d3022371fc75229fe609cf5b6319891f928bb0399fa7475f5c80b14030ec0c5a6485d5c8b8a57ac
+DIST firefox-81.0-bg.xpi 554712 BLAKE2B 6cb68b15b32b99c8a30a92413257200331e5755305c92de4360dc9d3413eb9b47c8fef9c587d0f9d015615ab92d92827ac5db512f376de66e5613200b6dda42b SHA512 f9ba97ff33012f0ccebfb081de7e8b9579128e94bf30715eab719ca3a8eb98ab3ae7cc4e6075f1f983ee1d10bebf360857cd144e504ab4a7359817632427397c
+DIST firefox-81.0-bn.xpi 572613 BLAKE2B 1f2cbfcd629f83d2c4f30495743e825c89adbd0764176d0a340c021bfee1f5f8ab6cfeb13a633a1183d8372627494835075d06d0db5f1440270f7d9ad8e0914d SHA512 54e164daf50da9f6757907826d5592d0fb8e38a97c3434b0394deb5d48911eeb6ac1766a902caf2e8411476f977c2f1c988206d8bd1a96d76e66627279d01594
+DIST firefox-81.0-br.xpi 506640 BLAKE2B 4cc1c0ee08d1ac31aba0d8cdb2660213530badf2c22e9667d98dea36ddfbd7afddb28c2537f7cb8d6b6829fb1c8c206e27252d513c6970f3364d87ca97629620 SHA512 367063b2e7cefade02fbd9d4968bc35325fb2bf6a15e6baf20eed1d0904b996daf5b185ae65154ef057317ab2ac60fa7db5b2b5dbeb9e5cc05f7189e1a69bc4d
+DIST firefox-81.0-bs.xpi 465218 BLAKE2B 9a6f98e1a3945d877d40524aa568ba172d8a7be09e3676a2bbdb17127dbffff941825da2d98765bbcd0708089863dc8ea99222817e6059fe31948ed1da9df9f2 SHA512 c5783580fd5c9bd3551170d33a6f9ef913159e596d2d1649528e9cf0697f26778d6a0e39c4fb8ddf9d6b2b39c44684df2232246eaaf0d0ab06bb2fd4695ee979
+DIST firefox-81.0-ca.xpi 513594 BLAKE2B a858ba8da67c2cf909b3d48a6eafa75e11cf5a294c73c539c4582fe8c9dd98e88ddc0aa0191ee080ef3db7bd0c358fcefd9156e66e4f0b0d28786f7a4f47ea31 SHA512 7749126c219f7477a6dd664cbf25ea72c7faf6d160d505d6fcd249abf23cf6c6b29e3d01dd9d85d3a04631bc16da1250038783e86477e2da76c6e218cf91fd0b
+DIST firefox-81.0-cak.xpi 541580 BLAKE2B 38e73011724057ce0db3dcb98b2a4436ffce7204dd664eab91770ba0aa1c4653f0569473ebca8becfed5748393e0803b401f0807933ae3532255bc64ab2c0bcc SHA512 c360a54f0270005050a85e59a2fd4fee004059d5195071c0ed19f4e25e80a51f8f20d77c20a128e3bc201b879afba53ec059d71b0cad95c5e609a00ba19ad8fb
+DIST firefox-81.0-cs.xpi 539047 BLAKE2B 03d0caa3f69f7224aad7e74ec055565f3a67542600090313c9a9ba0ccce693508a36f79cad9ada9ff80bf1f395ba0ea43b44c9130beaa71ae82708f733caf1eb SHA512 870be6a294bb3c91d59c873b62546ec18e385bbca8cab5536eef9529f40041bd9acc006674aaa6340b33b928ecca3df9b3b58142f17070f3afabc8108f90ad94
+DIST firefox-81.0-cy.xpi 520840 BLAKE2B f9f5f1b25f090d9acd4c29a654b32efb92ad22210362632e0f4472f983449fae6ee05c014231d05286cac3585d87ceced8469e3df1bf1acc82923819d265cf5c SHA512 6cc6497bc20d3dbb887b183180cb3a00c6787d64568a4ba22cfdf5f29b411970e41e11cdaedd9e220f53643177d0df23a425e519ba6666b452b62e6155596ae1
+DIST firefox-81.0-da.xpi 514311 BLAKE2B 6d575bce8d5a8c98a973dd1fbc413dae0b4c53524ac465c207a13115b4330697f80d936b9f53a42e94d6fa63912f8da58f929f7fb7ca0a74c52560fd69c2ba78 SHA512 00ca3b0dc3b6ca13053cd40ae1c87113deaa8e790b2601c2090e812cc9895818fec8c8559869eef0b807ef54abb944b58ae62666d307032f63e34eecf909b476
+DIST firefox-81.0-de.xpi 533118 BLAKE2B 4cfee5ccb6aea63a373554c4003e4ef64314c571793b7f3f7b1b6c2774a687d33265bc81e10119fad9a9d26dc598b72ac3043b4d409b910f9011cf05c9c584f6 SHA512 2503d3ae4c1f993f0b713d6704b5c6bb80626e8d7e50aab73c1cf1bc981b358720cbef8de7fbc08011b622c501e06d4c21207355872e31e266cab8bc7d98df8b
+DIST firefox-81.0-dsb.xpi 544433 BLAKE2B e331d26aaee701a5524b9c7ec1ad38e6417ac704ac91d809ea5ea0c0d0096800d36ada0dfca0205a8e9f20b35d1d9b2aaf2444ec814a3ffc427a0507d2a83a27 SHA512 2161139c1b3cdf4b15daefa4baa414863c2d33a4af9db44b6f0d4d3c479d22e45cd111aa05cfe94a1bd473471995a08f6db11b140c8aa731c642102ca0dc1f8e
+DIST firefox-81.0-el.xpi 614642 BLAKE2B e416dc9eae09e784acd1f68a993946a6fbce1e0d0bd0198b81ba8e067ca7597dee359c23f122602f5287e53c2a5ee6b4c581be2ff951a8badf699393085a24dd SHA512 69c580ecb279718263236274ebb0b6cd298205d6c7635b9511d2f61d1c64e1533d9d23d33504863121ad1d35cb55d595ad62fe711534a92ebf47ae654427f414
+DIST firefox-81.0-en-CA.xpi 491834 BLAKE2B 2aaf5825e517aeb1058d835adac0302d69a50764d643d753cf0a3fb89ea438495ec895adeb6933d18bb8ef5c6f6f88e60949a3719ab23cd59fda2310c0a98d5b SHA512 a6ff72bb1657ca37e0022c8bac1de3e86e93fb979ad96cbba4807788cf6c7a8548260fe1648b864ce1f7fe138282fa4429ce9363c4c8c2a6b06656e6b1a26519
+DIST firefox-81.0-en-GB.xpi 491773 BLAKE2B cac0e100166c444665acc16923d62488768acd3688b77e854400ba3b88d140386f57070018f3d04749f0f7cba4d4a514d4a410961cde89bc6745aa458581f25b SHA512 9079fa91b93245875bc9061afdcff305e9e7f36d84799eff11da7b081d3397bb685a2291a281443c592eb271bd5668c8b667e91b6fa2762fc195659f2e202a6f
+DIST firefox-81.0-eo.xpi 516394 BLAKE2B 333d1d10c215256cc1815be6619853809e7030654c1e84503a1573ef15c2c75892e701202bf849dea6b7ea20bd6a173cc3a4946d8cb147b6b56f9179589e146a SHA512 47bf9aff7552e18b30acc02aae7d2350ec6045813befb8cc6fda9cc57a9e5c7deed27d239ebe71bf040a11e2b24990fd3ddaa71ec4f101f8fac86952005b99a0
+DIST firefox-81.0-es-AR.xpi 525968 BLAKE2B 7de7c7071b749da2095c6b26ae2c5829847facd8e6ee612b36dd4b1a19131ae1e0bf4d38515d013e1c8f52ecc1228dd8d9fa95bbb388455da1a7c375b01fa945 SHA512 a2e00d9a3a82eee47b0dd6987c679ad1cf44eb598f3315e861523e46c6736bb4d103f6cb28c73e389f0eebf6ebba181d86750b4b94d7f205f117edd2e336292e
+DIST firefox-81.0-es-CL.xpi 525524 BLAKE2B a0a202a4e1539f58fb1ee801a9731e447a337c596e377f349db313622f7e074b54133eece4f48649b802b41b15d654181e7c2e14d67f4cd92b28394a766eef08 SHA512 3272f30e59dfc31f107b9e9e37cca6da47b58665ab20005ba0867cb95ef49d946ac5a992d95f131fcb8667dbe41b42e325a1a49b29f146e2e259ab34a3ad1b86
+DIST firefox-81.0-es-ES.xpi 515141 BLAKE2B a9be452d2c578bec7af8f67afabb4311edfe0be0f8573a6475be97f3c61fbd1a3ce06658fba3a4c9750c4dd4f6b89e482c5282f29ef782409cca318bfb8caad3 SHA512 7222a41b78b520679b8efa782a58f166e02699e68bf77821a29f87531faf07f607be9652687c336472f7350a815957817c94a8f8bcecb03a7df3ec0aa07e3245
+DIST firefox-81.0-es-MX.xpi 529399 BLAKE2B dcd77958ba4cfa76279072901f8f262e3685e9d64e820a8c4f8f179bd6e8684ddcfb536afbfba47d578e7cd4af3454576d166c2717071a01b21ea6b3371c2f2d SHA512 f82a596fa8ad0e2ddf3c5c3eff730f9d4a77a6baf119e455a0b986acaba6c0c4e3077046a384d8f1ca2bbafd3ea6fe7be922273398f124665c087a05855e47fc
+DIST firefox-81.0-et.xpi 486335 BLAKE2B 261fbe37e9eab5878cde1e4cc124b451f3d3367ae242d7b957380f6b806827053d378309a6db010adeff180e8d636f397891761b1052c3832ff782992b368f51 SHA512 118f04947594983d703b0253b8877b06c418ead9355db5306645bf5ab6971d66644302bc406c928c6ff347c888290701891bb4646da75a57642d61b96e4c7cdc
+DIST firefox-81.0-eu.xpi 505704 BLAKE2B c4a8cd5e10dee932705b30a425f1a8077f72916cea76d8b4ef68c11b1633c850f1e6352f2eed4b48def32dd1bc7809fd9ba3432edb1d5c8a8af1c2064dbb138e SHA512 6df46f81c21d515cde9987b1729bd3404c327d9c60ceacca9bf44d069037a435831977a809aed370b3593ae65e9079d797f34375f933806c727df31bd47b7cab
+DIST firefox-81.0-fa.xpi 539089 BLAKE2B a6719c8179f4c38b8f6a5d81649ea44718902dbc3133e97936f863dda2478d3bf1a8d9f65a69f7cb92eef109deaf973b3675c204eeab114da7bbe91a159dd6db SHA512 6dcc1395232476ff75bf9fd6cf9c9b3c5c424b68080fea2b0c0df9c3efcafb9d7e22798c9c72fa2a6fbfd129fa05d1265ef89355c28555592a8e89a7602d72ee
+DIST firefox-81.0-ff.xpi 482668 BLAKE2B 561ace8e6643f19b260324aaafbb4d5482ba16f0ea2a18a82f376d4abd5dcc9341e88133e4435b3f26bd3b5ccc1f9f9d4d52b24f1d96624e764aead5d352325e SHA512 aa6bf84cf802dfbe29eca62e7aaa5f7011027d04cc7913f227aaec5af27f8489ce437928b2b8ebf5892858de6acfe3f2c178014bdd6840cba26b31b27cc0cad1
+DIST firefox-81.0-fi.xpi 512540 BLAKE2B 1a34fe6e5de10e78ab05904844350e1cd748359726a978dc6bf4d1d7bb47f06a74ada06c0a937fe36ae96426a840e74203fa809978b564b71ed620c25b7ff27c SHA512 d33f3c17300e9612d77097d8760bb4ff783db4f36ac201dec74c4139ba72a48c1fb6126baf420233adba2f1ca0abe53e47345ae553d2224783ea96f665e4f1c5
+DIST firefox-81.0-fr.xpi 536852 BLAKE2B a7fc453a1897755130eb7a4d89231a3136fd3ece0e75e207a9d6bc79e2d49114488e02eb4cd264df8d8b56887182fd94065d327491f6cf1ec10c92d63a9e837d SHA512 24be5505b1307d3f4969fb22ca6a3b6c7e6f87692ce342f9d4a40c895cd3eceb714934f87b9cd1d17c6a0f729185fb5d54f2d68a9146ebd653ecdb39e50065c2
+DIST firefox-81.0-fy-NL.xpi 522614 BLAKE2B d1b0b6e9148faa49503829890056e1e0d39ef3d5dc1b5fca088e8677cf69fbaffe4731b6613136dc0cdf8cd6e6130338c295ab263a19fdbdbbe2b6c1c27f1655 SHA512 27effd197340bb4e15c708db7bf85f283b25e0bc50d1e52ba222ea99154946137d4d599f368112e6c3533ca4c8ce2f99a17b2443567c243b1fb3d1f8e8b5455a
+DIST firefox-81.0-ga-IE.xpi 467820 BLAKE2B c9706f571ba7a3e6eafb74591727dd473e0fe7e2f4caa900869b80f8924b0078a9e38c87409697461015518e7fc6977f35465a1254c09505f87685f37fdf2fcc SHA512 a55090c0818c6a42d5edb30da8d83ebb9afe8c0bf1e84831fa273230b1992d24795f3087eda237f1a50b8002ff4643b6ee13b82c8444464808a2a708092822a5
+DIST firefox-81.0-gd.xpi 492742 BLAKE2B 66fc41fcd379359a3b3a86618cdd7c0ccfc5c4f22d66abcb6ebe551eee045ec868aec0039fb9be029cd435b79df26f271ca1f8b4228eb2c05f49504468429426 SHA512 0d47a0704920514c1a3df29a220648ada8b288ecc93f18b9912357abf496045dcf361306ac8849a294361004b76810d32eee8a35a632f610b888b2648c407ef5
+DIST firefox-81.0-gl.xpi 521893 BLAKE2B 199af589e26bf62364e4133ada4e9617fa9a9d98c919cae1f0796a2bb40ecfb9ec0bfe22696a6d7dcde722b7f252c9c6856860debcbd13d3b65b316f56c5ffff SHA512 5461bc38d42999754ca0ad1ff0693eabefe2e3ae70fa4b8f35df9e46b730811212d27dab2667e961eb52dcd283abade9187dbbc895dfea1d546978e28163a628
+DIST firefox-81.0-gn.xpi 536982 BLAKE2B ab6b27a5179cf9d9abe43879e223c6a5f4c54e61ae3ae5959dd8c8b5e02e5f037c27b5dad14605a38e301d9b6540209c31b61d522af6e011d4dd30391d349fc4 SHA512 a20607385917f57f8acd6b171e533256f3d4b68ce7e35be1bfeafefda57046a1dcce6775ed3de82639a76d32ca041168497d9c24c9ea7628087f833419267f73
+DIST firefox-81.0-gu-IN.xpi 541542 BLAKE2B 8b76f19251ec340d885e15259b1cec05f94b4883f4d162a88163913d77f6b83764ca54a62bdae113ad840bb3c9ceb33c2fb9f8b5a5a73f9ffecbfd74dd4fdd98 SHA512 7fe2777ebbcb893fba704e7158138e19ee86611937190c1178044b2abfbe6dd5a0e084a516b9649df5af4ba8499095d0fe4f4a6b3435a66d696b4975eb256f0c
+DIST firefox-81.0-he.xpi 537117 BLAKE2B 2f2579389602ee1dd29c8cb9b37944fd54dfc4d03c4e7ac1da869733e1bbf9032c85163672db9b1cde947884eb8b81aa50a16b2cb01bf550b504f216a0e97104 SHA512 39d204ce15139ef628d6c4862ff25a447bd483195cbc1c4095d28c1f0870067286c60830819a4eb7919ce8f61bf79dc2ede1b1bec57dbe2fe5a1d020f840d5ac
+DIST firefox-81.0-hi-IN.xpi 566847 BLAKE2B 71412a809c76eeaa3521146d9fc6675a0a473ea74cdf13028264f58851e756ec62d4e7bff2236dea4bc27523850cf851dba48e1d2e7c3e72930ea1fb9d156ca8 SHA512 8153617e82c0c52b480fe7eab1b960f4be07cab61c733a60ed3c83ce451ca5475d909c4873eb001ae5e2b7a2f774a199a87bd608f24471c7551a7e0493989336
+DIST firefox-81.0-hr.xpi 516911 BLAKE2B bdfa100f307149e0b0dc947354cdf98c3f56842ccc51453d12716e8fff242cfcbb6888975945813200a2b6ee24cbbbb1e55298284696a6dc631a52af0460331a SHA512 35270b8c2094ade5e59efeacafa55e2db6dd0228e127693afd6d9e5ee91b1979aa036aa03f52f4835b0c04a624a4ff68e55fdc549b7875085f87b57cb3a03494
+DIST firefox-81.0-hsb.xpi 540879 BLAKE2B 6a783ed4497da040ad7f22342d9402900852e7f67de2ed21ee3f347aa2960767cdc65fab6f3ad90114f55ec917df58d8787f1462c87f1196d4c17179eeac8727 SHA512 0d49f3577b80b7604418f9113e745c6885ee2638cc27f3d001aa828a093b168155c5593fbdb1e42460e945a5ad7b1d0183c921d4bc90e0ed5466b7702ce88e7d
+DIST firefox-81.0-hu.xpi 544584 BLAKE2B e6c95b54c04c5ac55b2042bb916da91c925100be5498448ee003c27f9bb84ab105f4416e9c1632a3b657078948786eaf258c4d0aadd1ef7508373e9b9a41b20d SHA512 0884a37e51216c232a81b1606600053bf5a70775e3e2e7f1333570c419edeca8f50a94bea3971354b9b049015349f1552be84aa04d9cd095715de8a08259e27c
+DIST firefox-81.0-hy-AM.xpi 588074 BLAKE2B 25f8cfac7b21759fb8abd3db5315b6af108599cddea06df3d359389e87a9530913c194d656088921a4db377cb021e3887eab4b4615882932075dd4f244e64166 SHA512 747d0cbd608e40540cce31be2111569f6b2440403d4cd44f28725a8fff32779cf08a28917a0a14fd59645c7cec38c35faccedb0ed6bbd3e3f26ec4a83a73a9bb
+DIST firefox-81.0-ia.xpi 512457 BLAKE2B d6923f2226193e19b1023cf9a51b836c2b8b052609c8446fe784c47799e24fbe6d61c3ce2642bbc5ecbfba7bda942c88be9c690507e492626b791d89e1d0e2b8 SHA512 7b1a7663c4106024c04f21d7bd37b048d50ad3b68283b6ff3274ab9e86361bc27b397d5f3f222f5fbea9d32e79fdc57263cae92135b044dda8d06a3cd9edc2d2
+DIST firefox-81.0-id.xpi 506711 BLAKE2B 4e1ef6fa480d3fe8247be522a579375a342a18dc0a411f869416ccd8cfd9f9803bcf195d0df83ebddad998cda2812223e5446bd64b0de812e3c6472278e78c86 SHA512 6bce11838a3d316a70482192f18c4c2351d58bf8fc91fe92c902681a9e0bd4e14249b05b7cc933e3ba04cac2e604944d7616009829c477b5a920767de3fbdb04
+DIST firefox-81.0-is.xpi 478160 BLAKE2B 38b83b2fe68dbe0f9ce9c29b85ff753c237cd87bdb2207d5e0de5389a16efb7e86fd6b59b27218d0c7bffe7881fe9a3989d8dffe8f6749bf6cd737ea98adcdfc SHA512 6bcd23760e7a593c2900914555f7f236a72c9fe8a82485f4d1a2eee1921a7c71a476ae224e68fcb9e814c427c01aaa263e230346b3c85dcf7efac7f2dadef0fc
+DIST firefox-81.0-it.xpi 441428 BLAKE2B cdcdeeef443e8ca3d3887bc683940eb2b1468ae8c26c945342fc34b2071d1499d0bf3efd358c356fbad33e5d1ed80d0f58d64a2087d6457a83dca896384c1c40 SHA512 39ce365c0ecf0f7e65d00b891c2d9fd8ce91b967eab2fc2d192ab05d0c91e32671c45c2111c49cffb470d368c28e016fdd1fd1944d567363b7f759443ced0967
+DIST firefox-81.0-ja.xpi 570539 BLAKE2B 766f8bd2253ec2c7a1e5bfad7d1b0b52218f919ddf2f4eb04dc520cb880bffcd4e32b09bf9402c04bc8bf3c786ad5858b85b683c0b39fe2a9aaefc5293da20d0 SHA512 66dad15c5096dd312a7a56117692e7aa4e626f5610ab3f2b76bbae58eedcffea88ba81ae4da1f78b2501eb936b7f1f775a874d4956fb3910e814d6942d3f8b37
+DIST firefox-81.0-ka.xpi 570426 BLAKE2B 4ab8dc1c5aba4fe7f061760cf16051e5c8ab31787c69a183b82d89fe810344aa31556eee7f31e16ce0ff6d3ccec755efb4f0e313b2bdc3821763466f0eb1745a SHA512 7d68e13ccd2352d51346903208d6dc9f6b2cfe23a1be1368efeadd944d2f5144c4694ef7ccb4499f9a1dfdda2e312a014f28f33ddce5e1afcc549263ad9180fd
+DIST firefox-81.0-kab.xpi 530543 BLAKE2B 2d94dece2b7e3297d0d7ce582fe9f33adc1c14eae770e0bb48a3ee024765c82867665faf0bc83ee0f93e6e4884155ad808adf50922e710b5c73300c51f73e831 SHA512 ff6f99ba240a0acb37b340b636c621cb64fe94fe33447353490d3e2846256fda838946a3afb210ad95ef960a8f2f6632e29cba1ca2934c1f19cb797b258df579
+DIST firefox-81.0-kk.xpi 588942 BLAKE2B ee7a04ee68865b1b633f790ff6b49e823307b996c1910e0278237e1ced3347021f6909fe6eadd2faeb67550b540c7c1c4983666cc112a8ae882519c7fdf545b0 SHA512 cad3858429dcd83c3162a9d254f766cef28effc73bb11b7890814536af7de34d9c5ec52b2758db6b4f5e8d19632c3877cbc734edb93305aa581e293134d8eef0
+DIST firefox-81.0-km.xpi 525938 BLAKE2B da56471f90e51ef3aac16e1752cb115a741adf7606ef142944374418bd9bc630a6e78df3e070225ffa0549e4326a2ea3a53b561fcdfe6d6a72bcc6df6b9c9474 SHA512 384c753a16cf40c05da62fbbc757ab3f3cf81c3b3631475cf453bc53905802a9d8fa3f5f732946aa7e70636b0f078b6133921bfd2a5361678517fc209c65c5ba
+DIST firefox-81.0-kn.xpi 506715 BLAKE2B c443f896ce7b599928827dd18283a898797c602d6538624714206bf82454f8923b2126f4ecc03c9f1df55cd6f7f471d49d5807ab0988fbbcb801230272b27d42 SHA512 ae53945e102925c836b4225f34cd022e6fd52569e129040c00b822d8028764fb61d6f5a06434a58eb0b889d69eeb30c1141bd4d813b8ccaa505b4e13f8631a58
+DIST firefox-81.0-ko.xpi 556928 BLAKE2B 48555bf5e2972ad94b357682dd588ab155c4a477f18a5e76f28158002b42788925cd215e02cadb6ba0288f12ff54372e11199704999511c289f5e60ccfc21950 SHA512 d4eb712c8115b56f5aec04bdac459c23858b9c267a4d04e92e0ee040a66e870334287590a2ed616f3f29c5496332b32881f5a2e2bc9c87da8d28e16519d97411
+DIST firefox-81.0-lij.xpi 476223 BLAKE2B e3ee3b79a0613ffd7a5411002f3f145c27a1c6cac153c092450e05f108dc92f83b92fea5c36ab1ea445972d3293682de763c51ae3b1f227741b28fbccd89c18a SHA512 c91e79d97a0de761a0f7389bcd7be4ceda5cf999c6f57f9a0d3191697762f46afe70ebc0336fa41cf1263847f349e935941b3fe7aae89901c5d9bc33d3ba28ab
+DIST firefox-81.0-lt.xpi 536127 BLAKE2B 50241669fb41b3500ef44021b78c54797ac89be582200cf672ae648bf4cfa8edf253389cc1aafb3c3d0b8699e228aedd93a3907a173f855599f1eb88c55515b8 SHA512 31f0f0eab6f2ce161b164f78e21fca275b0675901dc7112440588d3283da7fbac145e1bfb844e660020f153df87f8cc63e12101164defc4760b6c6138de86b71
+DIST firefox-81.0-lv.xpi 468497 BLAKE2B 96c659bce6ba05a41bb508d918714c4ef4b5157cd22f646a2910fa7ba44d32496b8dc58478a9800fc4f5dba4fd4598d1bbaea859e2ee4a285148825ee0617670 SHA512 5a06107b92f21ec42d5e6230152935ede3030f8b4af446c0e6f7dea35e2c231015d9b49880e93bf74e5a0b3385aae3a1c2f4b11c9ce88bf60d97b9dd64e678fe
+DIST firefox-81.0-mk.xpi 459792 BLAKE2B e4c4e9961b32df90cf4aaa104c87238af3c301b173b8c917de4b319d53e92456c2996e75f851217fd55e567fb2add91eba98c30d5edd174e83100c599317116e SHA512 637ac3d4da9a568bff2d2fde9ac5dec7eaf6fe515ebfd1df0b7f199f2a33d4ebc237dbac61cdce0d7717b10fcb0261c9f597285c1f85927dcb3a20cbfbbba18d
+DIST firefox-81.0-mr.xpi 541691 BLAKE2B cce6dc7d1dfcdd294452643ec9a010dc05dff90a6def78458aade14371270937c0a39fbceb2933dce9c662df0ab9b3071709b4c93c5350eca098d35e9fae8f73 SHA512 9e1e7d76d70749ca586b3d3299cade35fab2b9de1e18393c831eda62a8ea45e027f781be5bbf94637830addc5b6a78005ca6c15c8b6fc6f452dbfcc8de4ca45e
+DIST firefox-81.0-ms.xpi 454299 BLAKE2B 663010cfae9bfa94ae9b91659a7ded5aa3b6339cf6f956c9e0c9ea96f48c476a73e981efeeb5f71d9984f7c2ad8c50414901a855d8acfce1f8299d3cc8685799 SHA512 72e24a5a203d7620de662c21af7dccc109f3748c73185c180dddf9f431936396c0423ad1679623f093b4ea55809c0ccd001bc6151b210726f3d335303962b1bf
+DIST firefox-81.0-my.xpi 526286 BLAKE2B 9d23ac22b770cabf3db3743f820f3200557b61258713c3065000a01c13e1ffbaa334295af0ca35c0c562abeb3fe7e8297a1d64429d39a5ede9ad40a79cd59ac6 SHA512 1bcf447dcf40ca96d5200a9d846f0e431346f8c68b952e0591c8736d7477362b8b002f1bcc38a89b0739cbfabb9fd04b6ef916c6baa2c552a381dc6fd7101b08
+DIST firefox-81.0-nb-NO.xpi 509492 BLAKE2B 14698e6416578a07de2a235cd062da2c177fd02fd5f2805e8eac1af4e5ead6ff150e5a14fe47fc7014df517579b4b66c9f585fe52027e9494c246c2ee11a1f20 SHA512 1f52bf8319e4de2c9929e114a823b2e5544cab4bcf1825d990311785fad7e1971591eda535b7e62a9d3d1666944b4c4ecd4327611f2aa1d4bfc8ffb6f23972ec
+DIST firefox-81.0-nl.xpi 516617 BLAKE2B 2af159b38ed3af5823f5b98c093e2940697d9058604330d3da9a80648b5e3cb0d9010add7209babce3e5677882391d3b7d23e636cf795500ee6a67593228d203 SHA512 fe20d4b07dd48c839884be85658c9f34cc835b0d7f34b43cf642a7a84e92bf67ea25f6b5f2ff9f3193ac1a0cb9d5864b38362830af95f9aa48975cb185b3b86e
+DIST firefox-81.0-nn-NO.xpi 511954 BLAKE2B 533541ca79d6d5c6a2c3fa1fc3eb5235e6d1596a9a05d98ddbf092e5f755e38eb5c9bf7190c03c20753688954475ac77f3d39a924a1103de79e113e5a244d7ee SHA512 ade0afe3d99627b48094f0bfacf7a904be1bbb8642b9f4b28e3ac08e722b0bdb49fcee5e0a5f3beef911ce94957753e61d54cd4ff09e4ee49395939bb8463b0e
+DIST firefox-81.0-oc.xpi 529760 BLAKE2B ea13cc628f4b80535c54265f6d4f4d1e87396153fe62746d11516406159f7475984811077473923b86521cc48c6664c73c55af5680037d8cdecdd8ae6dae2b80 SHA512 276fd3e1004393bd112e697ee30b288b99c537dc431f2ad387c1534785ae77dadd20e0e7c48d899b741a8c6c786939ad631883c98020113384b32899ade39853
+DIST firefox-81.0-pa-IN.xpi 569877 BLAKE2B 00c589324f687483332c99ad2f840d26dbbce8b1ca12bc7ffe910ba80c294bbe864457ce944df7262a8cdba5bc16857a4ab1be72b0ff12bdbf34c584d270c0f2 SHA512 37d540ede741b43bbd55b8d97ed7eb5d5ccd812f03bedc3c5feb747b8bad5514b3c196f2cb0509af0de8ae5c27b8a53a44a7a88295ab98d6fadf6a316cebb011
+DIST firefox-81.0-patches-chutzpah-00.tar.xz 25812 BLAKE2B 20725bf7114f43ec1c2b342779e01da6884ae651ddd24a50662dcf63f094dd0e2b2e3090d73f3d51692be3ef96bee80c6136fe67808e39b8b2c1d5d588c852a3 SHA512 f2f387a2f0cb119540ecdbd100f071448f2d819854209d11189b6efead0d076582faaeaf376662f54b1bd89ed28cfdc169ce9b50a59fc3b235327ba23bb9b18c
+DIST firefox-81.0-pl.xpi 535548 BLAKE2B 252c793aa0654bedd1c74bf9e464b47b04705b45bfdd7031a1e0e5dcb96a91856ab9c0c5a7875e7aaa3302f93c12bf67a079b7ac4a8d11d9aeb746ff2a80ecc7 SHA512 0830d3532ba8a6a715f27300fc41f1b67d24e7d9bbc037b943efedbb6c759f1a83e04484c81bcc355bd2e4c82e64f0dda30bab68d36b5c8ca4325b061c2558a9
+DIST firefox-81.0-pt-BR.xpi 517605 BLAKE2B 62ea9479302f052015ae58bea0772997b687881f0ed141c2d29b85593ed1362fd88bb4ceaee4ec274fd5b796ada8ef7ed0f69a82e7a6dd06abb4558873534e81 SHA512 cd959c9c30c706bae5137cc5502b6db3a33e2d55c35ad0084822ce5a2f9afac8fb46f6d57a6f4422e3157e051b3942b258d5fad6032bb8f584a03eb43972387a
+DIST firefox-81.0-pt-PT.xpi 525638 BLAKE2B 19cf0bcf651d11794845f47ff160698a872104a41d86dc4b24057fa94f815b5411f281660651a3112d047fe2e705d6a98788aabbabca8c80eb616fb7a71e824e SHA512 97d7ffcd9287bd0f1be76c25923e3ea8c4dce31285a0f3263893c0c15942c3e14bf705476a7f90d6d72169f66db46286316f149d525f69d132385f86d15d467c
+DIST firefox-81.0-rm.xpi 514445 BLAKE2B f9828453f34b7b8f7906fb805cbb01391187c8f7f8c1413219aaf301ca667267e8805fcbcdf0eb75b44ba3f6826d9560eed0bf661977293d0fccc43eb88407bd SHA512 5009869c9ba5782ee4a3df510460f16ad281ae053b0c4eb2f47162c3239d4708f736b6f1972d003d11590fc26db7dc91a5b0f447855cdef7a56e710e197cbf48
+DIST firefox-81.0-ro.xpi 532731 BLAKE2B b261f1a6dcca659d236de01236a77d59ea0ac847a99ca58aca6ff247d28ca53bbbb929892cae9b0acb96f0fa18df61ab9c43e5846a8be18dbd082a58216f1dfd SHA512 9e29b641d3dc8f05055e56eff32f5552168c13e42a8f4a7aad119247ece2ae254eefe38c3e07359103b4b8188a4cab36a9a0111cbb2362b2ccefd3058537bf60
+DIST firefox-81.0-ru.xpi 603105 BLAKE2B fa67f816b4c2bd8952576cb61a622e788037abf986f0a5fdeb1723fb841893d939e03aba289f9f5e8a634184e9ba48413ad8a4668323f2ceb106b77e82370526 SHA512 718e6c8e4c7f095dd222e1611aab48ea443a9846753c42feeb57b90371be2c3ab8a2412c6b3c3551b26e8dfc9002791915c095c0e47cdca41f0405ed495cc570
+DIST firefox-81.0-si.xpi 492872 BLAKE2B c13d863caa672f3b40323d9907516424dd4f5cdacea424e22a232f60f79dcfaa46b41cf7ea9f874ceec763f202e0557f6e37b7e183d2e0bc3785b668fa3f3063 SHA512 823637a18d85afc93586c905ceea14519aa0aecad3f62f87266b358f13465b4eecc3576c85a366458748782675a72afeb93416804441ebaf5ee187f02b08a3a3
+DIST firefox-81.0-sk.xpi 533661 BLAKE2B 5f4028d1ea21aaebde31ad1be37f95729a31ff6728ee3edf55b22e3c4aa775b73845853c95996749eaf6b6e4e144401313f069a222979283ef39efaa88c8655c SHA512 00b081a993d6c8234e5e99a0fcc1e9db78df93e73d83f94c351b7e4445cbcbfdb1cf8a0fff9f8843dbf3ffce2b025b8b23244da7e1a4042e0da6aaba07e2cadd
+DIST firefox-81.0-sl.xpi 517954 BLAKE2B 544e8d79558223861bafa9eae1b4aa2bd22aebd1fb833529ccf453ad964dfd86c9fdcbbdd7abcc0b9192d61ad95104a9d81b4a3011df3885061428321dce96d7 SHA512 4aefeef16449e91a215518edf3ff6d44b228494b43367323f8662b019dae8c962e9c83a15c164027ef3473ddf3293b5db5570ccc5919a3970537c406ac76978d
+DIST firefox-81.0-son.xpi 425678 BLAKE2B 4f9241e9cc5fdf1fab6ca41122712b57e0dd2227d0ddba86976203d4d6cdbb7bc3ae4364d11ef9c1b77f1eb608f4ffff5539d722f1e7b4f08c72ff9ed7cab616 SHA512 b31225cb45c573cb9aada41d3490d55a1dfb9ad5970d1ab02f67819a59c794a0f047dc4b335bb73d3fef3dc255bfd5d6d6a85c0d1dacad7c4ef475610c14b285
+DIST firefox-81.0-sq.xpi 533958 BLAKE2B 80c640a319b7414cd9c750b9ab8ad25f739098c849d1bfd26d364a6c4bc577f9b34f6958c2b8050a84d8f8bbe4e5e922918ac05026f9a6891caf4bfb912849c6 SHA512 a538a061390cb5791c41f1f2d220db10d48069feb4270c192cf99184a854accc2017d4b8c8a33e0a0cd5f980e879aa28e4ffef96bab4314d4d36d1f2c58562db
+DIST firefox-81.0-sr.xpi 561053 BLAKE2B bb1d0795f67b9f50121c857c304ef563a3dcd3f80c50ffea432c10dbcff847e6062cbd8b37b6396b6edfad681e2448ef8984dcf1eb307c4440efdb858e6d55b4 SHA512 6caadeb6c666216186a080b025fd269db88cead2d260ca5e2f38909a9bce229d779d60cb19926c9e1aa7b7ff67d549f1d1a6d81fcc90eadb4a238b2231df891b
+DIST firefox-81.0-sv-SE.xpi 520272 BLAKE2B b763b6cddaa03c8070ec2ac8de319dd29dc62eb9d36c75890c7b8bb6f896f46faef3c1e22d74df381ea98f08559679acf14b6fff8c5b4639b1d949d79e50c650 SHA512 9c09df21cc4e88cf9b894bd251aaef72529fbd6d324b363258dbf5f67d929ce30797083323f8b939a9626ff7f1b5ed401a9f0badde931ee6ea0a59a93625c4d1
+DIST firefox-81.0-ta.xpi 521447 BLAKE2B b4640c16728bb06d66bc4d6e76b7525934633f4a33532ab3583325fa2a80b8ab2d76a2ff03a6577004f12432d59d156b4d5b2f9b919171a18ec87f0dbfcad843 SHA512 4049980ee61db971a6d563e9ed2f8f8a747f7ec932c6755b09557af94bd5e7b91cfd8397a13d3adc58f0c47c4736982e91b29ac549bec73647bd8961c6266081
+DIST firefox-81.0-te.xpi 557700 BLAKE2B d492bc00e431d0c47c06685bfd9b5950da1ec646518eaa27063cb021a008343c12a2e38a4b518729c8844f578063a41f910fe8a7e10cc2acb8b6bbd8092108a0 SHA512 1f38500b68b32f429676d0c8a1d12321738022afeed38b4e9f6be47c1651dc3e32ff24436418ad53bdc6cb4633cdfa63c90b38cf7136c1c0cd0ac92af06a81f4
+DIST firefox-81.0-th.xpi 585292 BLAKE2B 7f69422aff85b3e242af5b448a0f68cb7e8417457a2fb45dfbbaa9796677e86d03af4165cecebd713587b766a3b9b791e7e847c89fc2d2c475baa037de5f1c1d SHA512 1d30ca3e7755b3ec9c12d543a175863762fd17e135653844cf30a878f3f949cb7d26b57e8ea8c3272c3e4b2ca3356412c92e7b2fb8223dbfa10b34f1f12837ec
+DIST firefox-81.0-tr.xpi 530257 BLAKE2B bdbf22c16935a7321eba766bb9a44e3cb5abd3aef97fb612df5535bdefa5fd481369f53cb7b9f10d1bd9416084955feddd693b84847f287c87a6dfd2b9f9d0a3 SHA512 bf1b0681fa9df4dba76d3fd0e452c3c1f335d8b664c229b08f053daf77d1f167965f17bd6fb2975beaeb17e5c7683fde0e81294a113206a6a1e0f5e984cd7d22
+DIST firefox-81.0-uk.xpi 597212 BLAKE2B 79215b6d7f718d632a9027ea0559c76fee9a9ddf8b71a9f6c9e7ecaf8ec0421957403ca931274936576cb730b4704415bb325e42baa97afbd59f1d3fad604458 SHA512 0e608c6f19f1ed2900fd8ce2cc99a5c409af5ab2035aecee8f4827371f72472f26c9e2e39311d73e4301656f37ed720f05e42ab66ac0f824039aca83bb8f2c05
+DIST firefox-81.0-ur.xpi 558284 BLAKE2B a1a624f52e1994ad5a4e8e1a5b02cd4d023f1c137e64004c7796756d7decae1cc53136981b84d97a24d63310806c2d7b3fcc020ada4337458b886b9b4e8a2aca SHA512 9c96a33cdd87e74ea5b5a6d05a05d0608f60c4ee53cbd66629030c2d440b7b3e52588a7540adf275340b49e780a7be589d429e85352bfe4fef1d859714606ffa
+DIST firefox-81.0-uz.xpi 478097 BLAKE2B 46e7753fc23b793fb9b036e2c0e35cec81cf8c82c15e5cf067a347bf0e178ab412e4f3a79bf84127ebc75b35d020370f412c0e3b40b33c88902868a364cea758 SHA512 60008664e3f125805b477eb633267c8f9bdc3e93a2cfa68e3a4f1219a3834d791e3822b7b6c73e7628b35352c0539386fde641eb4ce26907a0d41c3bd534df4b
+DIST firefox-81.0-vi.xpi 553760 BLAKE2B 7247d2684658cfdac8023ff53ed0b47d8a32a09143baef36962708ab592dab0600956a689e0a994858bdc77a03563b64c6bcc859f34bcea000037a1fa3f72480 SHA512 a3f03bc4be666bed463592efcf7dcca22a62614f716b03513e8d7641e8d81bb775b26fdec772755819ef461961681f12096d430cf701b467216c01b88c034485
+DIST firefox-81.0-xh.xpi 427846 BLAKE2B 753beea068254a3b528a94c90331fb19f347d552eb09abbdacc4f688b186c76044aa5ccb4dace268794d74e80f7c7e72a3282be5078c6ca8a70aeea1d3ae3e9e SHA512 55d7cddb69a6db09b40e8bc5506db8237a229d7ffc48c589ff99f4adcd648fff8e938cea091a159f6f561916fbb90809a592893a87c23e34dcef0e4d47032426
+DIST firefox-81.0-zh-CN.xpi 554382 BLAKE2B 568ae2cd0ab490b552dc26c60714747c3cff4a572cc81dcb9aa9c026882e20b5a64fd677e3496fbf077d4cca4ab4c2a1c498ed18f776d1b3eefd1381fd37e19b SHA512 436e3ee03d1eee0b0e2a3cb88495148e1efa1d4e8787ac27e1951c9d3cbbc4e1fc8bc3cdefa94db583669c215edf423f398987821d53dee152b9cbe195fdc7ef
+DIST firefox-81.0-zh-TW.xpi 554145 BLAKE2B 718a02b0c906fbcd0fb39141a41e8b0c427b50c120b18a6d496e36f10c3fbc39269f02bcde7218a515298f37494027e1fe6bfcae0344a524a16e948920d5d583 SHA512 31b8f7651b1b575eb231325dfd0223f0c84706cc4d5a60d2c3a65f29ffd36f73fa17ef5821f2928f500076737f72dc0b66c9c1078c19c3aa0a41b3a2a287df1e
+DIST firefox-81.0.source.tar.xz 340347916 BLAKE2B 0546bad15aa89a7e4d2ca0cc000fed2170b9529f8f2cc1c1c4907649ffbcf72e8ee800083b63a767fc07b643cacb298b424ebc1ce827de209f366716e3a5135b SHA512 29e0af4c53a09451c3b8e6850c3f19538530035fb576ebe99b3b3a7ed55c37f51bdf44d6c02704e0cbb05ef4ce8278c9b47877643e64c68cd594d626e5d86e5b
+EBUILD firefox-81.0.ebuild 28288 BLAKE2B 0cf32554bae7d4ebf8b20c5ddd6470db0795234eec1020c228cede4c8ced83385f144fcd16398f4035a9d8ef7ea9e42820ed6303617f58d16c56c83827c2059e SHA512 6cf1d10744ffd32e7be54f6a8d0049b88483cf03b7ed8e733b518d2a20d25792313df93aadb0610a2703f294384ee67d9a828354f0c3240a18aee8cc89b007e5
+MISC metadata.xml 2430 BLAKE2B bef40bf57c6157f16d0943fe72431c3f9416a15c46ea39fc9578272e40c66b822c64d446613e123afece9115ea146ce3538d58237de51be7abac1014d210f32a SHA512 5b8cf0739be693da287d3979ae9fd340688923cbdf61fb53daf19c7ee41d9ff041647e100fb859c6715b1184682ca4a80990c7d5dcb716e3af58991b0931d73b
diff --git a/www-client/firefox/files/disable-auto-update.policy.json b/www-client/firefox/files/disable-auto-update.policy.json
new file mode 100644
index 0000000..f366220
--- /dev/null
+++ b/www-client/firefox/files/disable-auto-update.policy.json
@@ -0,0 +1,5 @@
+{
+ "policies": {
+ "DisableAppUpdate": true
+ }
+}
diff --git a/www-client/firefox/files/firefox-wayland.sh b/www-client/firefox/files/firefox-wayland.sh
new file mode 100644
index 0000000..4428025
--- /dev/null
+++ b/www-client/firefox/files/firefox-wayland.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+#
+# Run Mozilla Firefox under Wayland
+#
+export MOZ_ENABLE_WAYLAND=1
+exec @PREFIX@/bin/firefox "$@"
diff --git a/www-client/firefox/files/firefox-x11.sh b/www-client/firefox/files/firefox-x11.sh
new file mode 100644
index 0000000..7565566
--- /dev/null
+++ b/www-client/firefox/files/firefox-x11.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+#
+# Run Mozilla Firefox on X11
+#
+export MOZ_DISABLE_WAYLAND=1
+exec @PREFIX@/bin/firefox "$@"
diff --git a/www-client/firefox/files/firefox.sh b/www-client/firefox/files/firefox.sh
new file mode 100644
index 0000000..c08d555
--- /dev/null
+++ b/www-client/firefox/files/firefox.sh
@@ -0,0 +1,128 @@
+#!/bin/bash
+
+##
+## Usage:
+##
+## $ firefox
+##
+## This script is meant to run Mozilla Firefox in Gentoo.
+
+cmdname=$(basename "$0")
+
+##
+## Variables
+##
+MOZ_ARCH=$(uname -m)
+case ${MOZ_ARCH} in
+ x86_64|s390x|sparc64)
+ MOZ_LIB_DIR="@PREFIX@/lib64"
+ SECONDARY_LIB_DIR="@PREFIX@/lib"
+ ;;
+ *)
+ MOZ_LIB_DIR="@PREFIX@/lib"
+ SECONDARY_LIB_DIR="@PREFIX@/lib64"
+ ;;
+esac
+
+MOZ_FIREFOX_FILE="firefox"
+
+if [[ ! -r ${MOZ_LIB_DIR}/firefox/${MOZ_FIREFOX_FILE} ]]; then
+ if [[ ! -r ${SECONDARY_LIB_DIR}/firefox/${MOZ_FIREFOX_FILE} ]]; then
+ echo "Error: ${MOZ_LIB_DIR}/firefox/${MOZ_FIREFOX_FILE} not found" >&2
+ if [[ -d $SECONDARY_LIB_DIR ]]; then
+ echo " ${SECONDARY_LIB_DIR}/firefox/${MOZ_FIREFOX_FILE} not found" >&2
+ fi
+ exit 1
+ fi
+ MOZ_LIB_DIR="$SECONDARY_LIB_DIR"
+fi
+MOZILLA_FIVE_HOME="${MOZ_LIB_DIR}/firefox"
+MOZ_EXTENSIONS_PROFILE_DIR="${HOME}/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
+MOZ_PROGRAM="${MOZILLA_FIVE_HOME}/${MOZ_FIREFOX_FILE}"
+DESKTOP_FILE="firefox"
+
+##
+## Enable Wayland backend?
+##
+if @DEFAULT_WAYLAND@ && [[ -z ${MOZ_DISABLE_WAYLAND} ]]; then
+ if [[ -n "$WAYLAND_DISPLAY" ]]; then
+ DESKTOP_FILE="firefox-wayland"
+ export MOZ_ENABLE_WAYLAND=1
+ fi
+elif [[ -n ${MOZ_DISABLE_WAYLAND} ]]; then
+ DESKTOP_FILE="firefox-x11"
+fi
+
+##
+## Use D-Bus remote exclusively when there's Wayland display.
+##
+if [[ -n "${WAYLAND_DISPLAY}" ]]; then
+ export MOZ_DBUS_REMOTE=1
+fi
+
+##
+## Make sure that we set the plugin path
+##
+MOZ_PLUGIN_DIR="plugins"
+
+if [[ -n "${MOZ_PLUGIN_PATH}" ]]; then
+ MOZ_PLUGIN_PATH=${MOZ_PLUGIN_PATH}:${MOZ_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR}
+else
+ MOZ_PLUGIN_PATH=${MOZ_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR}
+fi
+
+if [[ -d "${SECONDARY_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR}" ]]; then
+ MOZ_PLUGIN_PATH=${MOZ_PLUGIN_PATH}:${SECONDARY_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR}
+fi
+
+export MOZ_PLUGIN_PATH
+
+##
+## Set MOZ_APP_LAUNCHER for gnome-session
+##
+export MOZ_APP_LAUNCHER="@PREFIX@/bin/${cmdname}"
+
+##
+## Disable the GNOME crash dialog, Moz has it's own
+##
+if [[ "$XDG_CURRENT_DESKTOP" == "GNOME" ]]; then
+ GNOME_DISABLE_CRASH_DIALOG=1
+ export GNOME_DISABLE_CRASH_DIALOG
+fi
+
+##
+## Enable Xinput2 (#617344)
+##
+
+# respect user settings
+MOZ_USE_XINPUT2=${MOZ_USE_XINPUT2:-auto}
+
+if [[ ${MOZ_USE_XINPUT2} == auto && -n ${WAYLAND_DISPLAY} ]]; then
+ # enabling XINPUT2 should be safe for all wayland users
+ MOZ_USE_XINPUT2=1
+elif [[ ${MOZ_USE_XINPUT2} == auto && ${XDG_CURRENT_DESKTOP^^} == KDE ]]; then
+ # XINPUT2 is known to cause problems for KWin users
+ MOZ_USE_XINPUT2=0
+elif [[ ${MOZ_USE_XINPUT2} == auto && ${XDG_CURRENT_DESKTOP^^} == LXQT ]]; then
+ # LXQt uses KWin
+ MOZ_USE_XINPUT2=0
+elif [[ ${MOZ_USE_XINPUT2} == auto ]]; then
+ # should work on Mate, Xfce, FluxBox, OpenBox and all the others ...
+ MOZ_USE_XINPUT2=1
+fi
+
+[[ ${MOZ_USE_XINPUT2} != 0 ]] && export MOZ_USE_XINPUT2=${MOZ_USE_XINPUT2}
+
+# Don't throw "old profile" dialog box.
+export MOZ_ALLOW_DOWNGRADE=1
+
+##
+## Route to the correct .desktop file to get proper
+## name and actions
+##
+if [[ $@ != *"--name "* ]]; then
+ set -- --name "${DESKTOP_FILE}" "$@"
+fi
+
+# Run the browser
+exec ${MOZ_PROGRAM} "$@"
diff --git a/www-client/firefox/files/gentoo-default-prefs.js-3 b/www-client/firefox/files/gentoo-default-prefs.js-3
new file mode 100644
index 0000000..073ea77
--- /dev/null
+++ b/www-client/firefox/files/gentoo-default-prefs.js-3
@@ -0,0 +1,19 @@
+pref("app.update.enabled", false);
+pref("app.update.autoInstallEnabled", false);
+pref("browser.display.use_system_colors", true);
+pref("browser.link.open_external", 3);
+pref("general.smoothScroll", true);
+pref("general.autoScroll", false);
+pref("browser.tabs.tabMinWidth", 15);
+pref("browser.backspace_action", 0);
+pref("browser.urlbar.hideGoButton", true);
+pref("accessibility.typeaheadfind", true);
+pref("browser.shell.checkDefaultBrowser", false);
+pref("browser.EULA.override", true);
+pref("general.useragent.vendor", "Gentoo");
+pref("general.useragent.locale", "chrome://global/locale/intl.properties");
+pref("intl.locale.requested", "");
+pref("extensions.autoDisableScopes", 0);
+pref("layout.css.dpi", 0);
+pref("network.trr.mode", 5);
+pref("app.normandy.enabled", false);
diff --git a/www-client/firefox/files/gentoo-hwaccel-prefs.js-1 b/www-client/firefox/files/gentoo-hwaccel-prefs.js-1
new file mode 100644
index 0000000..0cb92b0
--- /dev/null
+++ b/www-client/firefox/files/gentoo-hwaccel-prefs.js-1
@@ -0,0 +1,2 @@
+pref("layers.acceleration.force-enabled", true);
+pref("webgl.force-enabled", true);
diff --git a/www-client/firefox/files/icon/firefox-r2.desktop b/www-client/firefox/files/icon/firefox-r2.desktop
new file mode 100644
index 0000000..45d5f11
--- /dev/null
+++ b/www-client/firefox/files/icon/firefox-r2.desktop
@@ -0,0 +1,236 @@
+[Desktop Entry]
+Version=1.0
+Name=@NAME@
+GenericName=Web Browser
+Comment=Browse the Web
+Exec=@EXEC@ %u
+Icon=@ICON@
+Terminal=false
+Type=Application
+MimeType=application/pdf;application/vnd.mozilla.xul+xml;application/xhtml+xml;text/html;text/mml;text/xml;x-scheme-handler/ftp;x-scheme-handler/http;x-scheme-handler/https;
+StartupNotify=true
+Categories=Network;WebBrowser;
+Keywords=web;browser;internet;
+Actions=new-window;new-private-window;profile-manager-window;
+
+[Desktop Action new-window]
+Name=Open a New Window
+Name[ach]=Dirica manyen
+Name[af]=Nuwe venster
+Name[an]=Nueva finestra
+Name[ar]=نافذة جديدة
+Name[as]=নতুন উইন্ডো
+Name[ast]=Ventana nueva
+Name[az]=Yeni Pəncərə
+Name[be]=Новае акно
+Name[bg]=Нов прозорец
+Name[bn_BD]=নতুন উইন্ডো (N)
+Name[bn_IN]=নতুন উইন্ডো
+Name[br]=Prenestr nevez
+Name[brx]=गोदान उइन्ड'(N)
+Name[bs]=Novi prozor
+Name[ca]=Finestra nova
+Name[cak]=K'ak'a' tzuwäch
+Name[cs]=Nové okno
+Name[cy]=Ffenestr Newydd
+Name[da]=Nyt vindue
+Name[de]=Neues Fenster
+Name[dsb]=Nowe wokno
+Name[el]=Νέο παράθυρο
+Name[en_GB]=New Window
+Name[en_US]=New Window
+Name[en_ZA]=New Window
+Name[eo]=Nova fenestro
+Name[es_AR]=Nueva ventana
+Name[es_CL]=Nueva ventana
+Name[es_ES]=Nueva ventana
+Name[es_MX]=Nueva ventana
+Name[et]=Uus aken
+Name[eu]=Leiho berria
+Name[fa]=پنجره جدید‌
+Name[ff]=Henorde Hesere
+Name[fi]=Uusi ikkuna
+Name[fr]=Nouvelle fenêtre
+Name[fy_NL]=Nij finster
+Name[ga_IE]=Fuinneog Nua
+Name[gd]=Uinneag ùr
+Name[gl]=Nova xanela
+Name[gn]=Ovetã pyahu
+Name[gu_IN]=નવી વિન્ડો
+Name[he]=חלון חדש
+Name[hi_IN]=नया विंडो
+Name[hr]=Novi prozor
+Name[hsb]=Nowe wokno
+Name[hu]=Új ablak
+Name[hy_AM]=Նոր Պատուհան
+Name[id]=Jendela Baru
+Name[is]=Nýr gluggi
+Name[it]=Nuova finestra
+Name[ja]=新しいウィンドウ
+Name[ja_JP-mac]=新規ウインドウ
+Name[ka]=ახალი ფანჯარა
+Name[kk]=Жаңа терезе
+Name[km]=បង្អួច​​​ថ្មី
+Name[kn]=ಹೊಸ ಕಿಟಕಿ
+Name[ko]=새 창
+Name[kok]=नवें जनेल
+Name[ks]=نئئ وِنڈو
+Name[lij]=Neuvo barcon
+Name[lo]=ຫນ້າຕ່າງໃຫມ່
+Name[lt]=Naujas langas
+Name[ltg]=Jauns lūgs
+Name[lv]=Jauns logs
+Name[mai]=नव विंडो
+Name[mk]=Нов прозорец
+Name[ml]=പുതിയ ജാലകം
+Name[mr]=नवीन पटल
+Name[ms]=Tetingkap Baru
+Name[my]=ဝင်းဒိုးအသစ်
+Name[nb_NO]=Nytt vindu
+Name[ne_NP]=नयाँ सञ्झ्याल
+Name[nl]=Nieuw venster
+Name[nn_NO]=Nytt vindauge
+Name[or]=ନୂତନ ୱିଣ୍ଡୋ
+Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ
+Name[pl]=Nowe okno
+Name[pt_BR]=Nova janela
+Name[pt_PT]=Nova janela
+Name[rm]=Nova fanestra
+Name[ro]=Fereastră nouă
+Name[ru]=Новое окно
+Name[sat]=नावा विंडो (N)
+Name[si]=නව කවුළුවක්
+Name[sk]=Nové okno
+Name[sl]=Novo okno
+Name[son]=Zanfun taaga
+Name[sq]=Dritare e Re
+Name[sr]=Нови прозор
+Name[sv_SE]=Nytt fönster
+Name[ta]=புதிய சாளரம்
+Name[te]=కొత్త విండో
+Name[th]=หน้าต่างใหม่
+Name[tr]=Yeni pencere
+Name[tsz]=Eraatarakua jimpani
+Name[uk]=Нове вікно
+Name[ur]=نیا دریچہ
+Name[uz]=Yangi oyna
+Name[vi]=Cửa sổ mới
+Name[wo]=Palanteer bu bees
+Name[xh]=Ifestile entsha
+Name[zh_CN]=新建窗口
+Name[zh_TW]=開新視窗
+Exec=@EXEC@ --new-window %u
+
+[Desktop Action new-private-window]
+Name=Open a New Private Window
+Name[ach]=Dirica manyen me mung
+Name[af]=Nuwe privaatvenster
+Name[an]=Nueva finestra privada
+Name[ar]=نافذة خاصة جديدة
+Name[as]=নতুন ব্যক্তিগত উইন্ডো
+Name[ast]=Ventana privada nueva
+Name[az]=Yeni Məxfi Pəncərə
+Name[be]=Новае акно адасаблення
+Name[bg]=Нов прозорец за поверително сърфиране
+Name[bn_BD]=নতুন ব্যক্তিগত উইন্ডো
+Name[bn_IN]=নতুন ব্যক্তিগত উইন্ডো
+Name[br]=Prenestr merdeiñ prevez nevez
+Name[brx]=गोदान प्राइभेट उइन्ड'
+Name[bs]=Novi privatni prozor
+Name[ca]=Finestra privada nova
+Name[cak]=K'ak'a' ichinan tzuwäch
+Name[cs]=Nové anonymní okno
+Name[cy]=Ffenestr Breifat Newydd
+Name[da]=Nyt privat vindue
+Name[de]=Neues privates Fenster
+Name[dsb]=Nowe priwatne wokno
+Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης
+Name[en_GB]=New Private Window
+Name[en_US]=New Private Window
+Name[en_ZA]=New Private Window
+Name[eo]=Nova privata fenestro
+Name[es_AR]=Nueva ventana privada
+Name[es_CL]=Nueva ventana privada
+Name[es_ES]=Nueva ventana privada
+Name[es_MX]=Nueva ventana privada
+Name[et]=Uus privaatne aken
+Name[eu]=Leiho pribatu berria
+Name[fa]=پنجره ناشناس جدید
+Name[ff]=Henorde Suturo Hesere
+Name[fi]=Uusi yksityinen ikkuna
+Name[fr]=Nouvelle fenêtre de navigation privée
+Name[fy_NL]=Nij priveefinster
+Name[ga_IE]=Fuinneog Nua Phríobháideach
+Name[gd]=Uinneag phrìobhaideach ùr
+Name[gl]=Nova xanela privada
+Name[gn]=Ovetã ñemi pyahu
+Name[gu_IN]=નવી ખાનગી વિન્ડો
+Name[he]=חלון פרטי חדש
+Name[hi_IN]=नयी निजी विंडो
+Name[hr]=Novi privatni prozor
+Name[hsb]=Nowe priwatne wokno
+Name[hu]=Új privát ablak
+Name[hy_AM]=Սկսել Գաղտնի դիտարկում
+Name[id]=Jendela Mode Pribadi Baru
+Name[is]=Nýr huliðsgluggi
+Name[it]=Nuova finestra anonima
+Name[ja]=新しいプライベートウィンドウ
+Name[ja_JP-mac]=新規プライベートウインドウ
+Name[ka]=ახალი პირადი ფანჯარა
+Name[kk]=Жаңа жекелік терезе
+Name[km]=បង្អួច​ឯកជន​ថ្មី
+Name[kn]=ಹೊಸ ಖಾಸಗಿ ಕಿಟಕಿ
+Name[ko]=새 사생활 보호 모드
+Name[kok]=नवो खाजगी विंडो
+Name[ks]=نْو پرایوٹ وینڈو&amp;
+Name[lij]=Neuvo barcon privou
+Name[lo]=ເປີດຫນ້າຕ່າງສວນຕົວຂື້ນມາໃຫມ່
+Name[lt]=Naujas privataus naršymo langas
+Name[ltg]=Jauns privatais lūgs
+Name[lv]=Jauns privātais logs
+Name[mai]=नया निज विंडो (W)
+Name[mk]=Нов приватен прозорец
+Name[ml]=പുതിയ സ്വകാര്യ ജാലകം
+Name[mr]=नवीन वैयक्तिक पटल
+Name[ms]=Tetingkap Persendirian Baharu
+Name[my]=New Private Window
+Name[nb_NO]=Nytt privat vindu
+Name[ne_NP]=नयाँ निजी सञ्झ्याल
+Name[nl]=Nieuw privévenster
+Name[nn_NO]=Nytt privat vindauge
+Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ
+Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ
+Name[pl]=Nowe okno prywatne
+Name[pt_BR]=Nova janela privativa
+Name[pt_PT]=Nova janela privada
+Name[rm]=Nova fanestra privata
+Name[ro]=Fereastră privată nouă
+Name[ru]=Новое приватное окно
+Name[sat]=नावा निजेराक् विंडो (W )
+Name[si]=නව පුද්ගලික කවුළුව (W)
+Name[sk]=Nové okno v režime Súkromné prehliadanie
+Name[sl]=Novo zasebno okno
+Name[son]=Sutura zanfun taaga
+Name[sq]=Dritare e Re Private
+Name[sr]=Нови приватан прозор
+Name[sv_SE]=Nytt privat fönster
+Name[ta]=புதிய தனிப்பட்ட சாளரம்
+Name[te]=కొత్త ఆంతరంగిక విండో
+Name[th]=หน้าต่างส่วนตัวใหม่
+Name[tr]=Yeni gizli pencere
+Name[tsz]=Juchiiti eraatarakua jimpani
+Name[uk]=Приватне вікно
+Name[ur]=نیا نجی دریچہ
+Name[uz]=Yangi maxfiy oyna
+Name[vi]=Cửa sổ riêng tư mới
+Name[wo]=Panlanteeru biir bu bees
+Name[xh]=Ifestile yangasese entsha
+Name[zh_CN]=新建隐私浏览窗口
+Name[zh_TW]=新增隱私視窗
+Exec=@EXEC@ --private-window %u
+
+[Desktop Action profile-manager-window]
+Name=Open the Profile Manager
+Name[de]=Profilverwaltung öffnen
+Name[cs]=Správa profilů
+Exec=@EXEC@ --ProfileManager
diff --git a/www-client/firefox/firefox-81.0.ebuild b/www-client/firefox/firefox-81.0.ebuild
new file mode 100644
index 0000000..37315dc
--- /dev/null
+++ b/www-client/firefox/firefox-81.0.ebuild
@@ -0,0 +1,902 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+VIRTUALX_REQUIRED="pgo"
+WANT_AUTOCONF="2.1"
+MOZ_ESR=""
+
+PYTHON_COMPAT=( python3_{7,8,9} )
+PYTHON_REQ_USE='ncurses,sqlite,ssl,threads(+)'
+
+# This list can be updated with scripts/get_langs.sh from the mozilla overlay
+MOZ_LANGS=( ach af an ar ast az be bg bn br bs ca cak cs cy da de dsb
+el en 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 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 tr uk ur uz vi xh
+zh-CN zh-TW )
+
+# 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 [[ ${MOZ_ESR} == 1 ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+# Patch version
+PATCH="${PN}-81.0-patches-chutzpah-00"
+
+MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/releases"
+MOZ_SRC_URI="${MOZ_HTTP_URI}/${MOZ_PV}/source/${PN}-${MOZ_PV}.source.tar.xz"
+
+if [[ "${PV}" == *_rc* ]]; then
+ MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+ MOZ_LANGPACK_PREFIX="linux-i686/xpi/"
+ MOZ_SRC_URI="${MOZ_HTTP_URI}/source/${PN}-${MOZ_PV}.source.tar.xz -> $P.tar.xz"
+fi
+
+LLVM_MAX_SLOT=10
+
+inherit check-reqs eapi7-ver flag-o-matic toolchain-funcs eutils \
+ gnome2-utils llvm mozcoreconf-v6 pax-utils xdg-utils \
+ autotools mozlinguas-v2 multiprocessing virtualx
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+SLOT="0"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+IUSE="bindist clang cpu_flags_x86_avx2 debug eme-free geckodriver
+ +gmp-autoupdate hardened hwaccel jack lto cpu_flags_arm_neon
+ +openh264 pgo pulseaudio screencast +screenshot selinux +system-av1
+ +system-harfbuzz +system-icu +system-jpeg +system-libevent
+ +system-libvpx +system-webp test wayland wifi"
+
+REQUIRED_USE="pgo? ( lto )
+ screencast? ( wayland )"
+
+RESTRICT="!bindist? ( bindist )
+ !test? ( test )"
+
+PATCH_URIS=( https://dev.gentoo.org/~chutzpah/mozilla/patchsets/${PATCH}.tar.xz )
+SRC_URI="${SRC_URI}
+ ${MOZ_SRC_URI}
+ ${PATCH_URIS[@]}"
+
+CDEPEND="
+ >=dev-libs/nss-3.55
+ >=dev-libs/nspr-4.26
+ 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
+ sys-apps/dbus
+ dev-libs/dbus-glib
+ >=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
+ 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? (
+ 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}
+ app-arch/zip
+ app-arch/unzip
+ >=dev-util/cbindgen-0.14.3
+ >=net-libs/nodejs-10.19.0
+ >=sys-devel/binutils-2.30
+ sys-apps/findutils
+ virtual/pkgconfig
+ >=virtual/rust-1.43.0
+ || (
+ (
+ sys-devel/clang:10
+ !clang? ( sys-devel/llvm:10 )
+ clang? (
+ =sys-devel/lld-10*
+ sys-devel/llvm:10[gold]
+ pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] )
+ )
+ )
+ )
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
+ amd64? ( >=dev-lang/yasm-1.1 virtual/opengl )
+ x86? ( >=dev-lang/yasm-1.1 virtual/opengl )
+ !system-av1? (
+ amd64? ( >=dev-lang/nasm-2.13 )
+ x86? ( >=dev-lang/nasm-2.13 )
+ )"
+
+S="${WORKDIR}/firefox-${PV%_*}"
+
+BUILD_OBJ_DIR="${S}/ff"
+
+# allow GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z $GMP_PLUGIN_LIST ]] ; then
+ GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+ if ! has_version --host-root "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 --host-root "=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 --host-root "=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 "Will use LLVM slot ${LLVM_SLOT}!" >&2
+}
+
+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 || use test ; then
+ CHECKREQS_DISK_BUILD="11G"
+ else
+ CHECKREQS_DISK_BUILD="5G"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+ moz_pkgsetup
+
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug || use test ; then
+ CHECKREQS_DISK_BUILD="11G"
+ else
+ CHECKREQS_DISK_BUILD="5G"
+ fi
+
+ check-reqs_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 \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE \
+ XAUTHORITY
+
+ addpredict /proc/self/oom_score_adj
+
+ llvm_pkg_setup
+ fi
+
+ if ! use bindist ; then
+ einfo
+ elog "You are enabling official branding. You may not redistribute this build"
+ elog "to any users on your network or the internet. Doing so puts yourself into"
+ elog "a legal problem with Mozilla Foundation."
+ elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag."
+ fi
+}
+
+src_unpack() {
+ default
+
+ # Unpack language packs
+ mozlinguas_src_unpack
+}
+
+src_prepare() {
+ use pgo && rm "${WORKDIR}"/firefox/0032-LTO-Only-enable-LTO-for-Rust-when-complete-build-use.patch
+ eapply "${WORKDIR}/firefox"
+
+ # 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"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ einfo "Removing pre-built binaries ..."
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # Enable gnomebreakpad
+ if use debug ; then
+ sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
+ "${S}"/build/unix/run-mozilla.sh || die "sed failed!"
+ fi
+
+ # Drop -Wl,--as-needed related manipulation for ia64 as it causes ld sefgaults, bug #582432
+ if use ia64 ; then
+ sed -i \
+ -e '/^OS_LIBS += no_as_needed/d' \
+ -e '/^OS_LIBS += as_needed/d' \
+ "${S}"/widget/gtk/mozgtk/gtk2/moz.build \
+ "${S}"/widget/gtk/mozgtk/gtk3/moz.build \
+ || die "sed failed to drop --as-needed for ia64"
+ fi
+
+ # Fix sandbox violations during make clean, bug 372817
+ sed -e "s:\(/no-such-file\):${T}\1:g" \
+ -i "${S}"/config/rules.mk \
+ -i "${S}"/nsprpub/configure{.in,} \
+ || die
+
+ # Don't exit with error when some libs are missing which we have in
+ # system.
+ sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
+ -i "${S}"/browser/installer/Makefile.in || die
+
+ # Don't error out when there's no files to be removed:
+ sed 's@\(xargs rm\)$@\1 -f@' \
+ -i "${S}"/toolkit/mozapps/installer/packager.mk || die
+
+ # Keep codebase the same even if not using official branding
+ sed '/^MOZ_DEV_EDITION=1/d' \
+ -i "${S}"/browser/branding/aurora/configure.sh || die
+
+ # rustfmt, a tool to format Rust code, is optional and not required to build Firefox.
+ # However, when available, an unsupported version can cause problems, bug #669548
+ sed -i -e "s@check_prog('RUSTFMT', add_rustup_path('rustfmt')@check_prog('RUSTFMT', add_rustup_path('rustfmt_do_not_use')@" \
+ "${S}"/build/moz.configure/rust.configure || die
+
+ # Autotools configure is now called old-configure.in
+ # This works because there is still a configure.in that happens to be for the
+ # shell wrapper configure script
+ eautoreconf old-configure.in
+
+ # Must run autoconf in js/src
+ cd "${S}"/js/src || die
+ eautoconf old-configure.in
+
+ # Clear checksums that present a problem
+ sed -i 's/\("files":{\)[^}]*/\1/' "${S}"/third_party/rust/target-lexicon-0.9.0/.cargo-checksum.json || die
+}
+
+src_configure() {
+ MEXTENSIONS="default"
+ # 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.
+ _google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc
+
+ # Add information about TERM to output (build.log) to aid debugging
+ # blessings problems
+ if [[ -n "${TERM}" ]] ; then
+ einfo "TERM is set to: \"${TERM}\""
+ else
+ einfo "TERM is unset."
+ fi
+
+ if use clang && ! tc-is-clang ; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ strip-unsupported-flags
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ strip-unsupported-flags
+ fi
+
+ ####################################
+ #
+ # mozconfig, CFLAGS and CXXFLAGS setup
+ #
+ ####################################
+
+ mozconfig_init
+ # common config components
+ mozconfig_annotate 'system_libs' \
+ --with-system-zlib
+
+ # Must pass release in order to properly select linker
+ mozconfig_annotate 'Enable by Gentoo' --enable-release
+
+ # libclang.so is not properly detected work around issue
+ mozconfig_annotate '' --with-libclang-path="$(llvm-config --libdir)"
+
+ if use pgo ; then
+ if ! has userpriv $FEATURES ; then
+ eerror "Building firefox with USE=pgo and FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ # Don't let user's LTO flags clash with upstream's flags
+ filter-flags -flto*
+
+ if use lto ; then
+ local show_old_compiler_warning=
+
+ if use clang ; then
+ # At this stage CC is adjusted and the following check will
+ # will work
+ if [[ $(clang-major-version) -lt 7 ]] ; then
+ show_old_compiler_warning=1
+ fi
+
+ # Upstream only supports lld when using clang
+ mozconfig_annotate "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+ else
+ if [[ $(gcc-major-version) -lt 8 ]] ; then
+ show_old_compiler_warning=1
+ fi
+
+ if ! use cpu_flags_x86_avx2 ; then
+ local _gcc_version_with_ipa_cdtor_fix="8.3"
+ local _current_gcc_version="$(gcc-major-version).$(gcc-minor-version)"
+
+ if ver_test "${_current_gcc_version}" -lt "${_gcc_version_with_ipa_cdtor_fix}" ; then
+ # due to a GCC bug, GCC will produce AVX2 instructions
+ # even if the CPU doesn't support AVX2, https://gcc.gnu.org/ml/gcc-patches/2018-12/msg01142.html
+ einfo "Disable IPA cdtor due to bug in GCC and missing AVX2 support -- triggered by USE=lto"
+ append-ldflags -fdisable-ipa-cdtor
+ else
+ einfo "No GCC workaround required, GCC version is already patched!"
+ fi
+ else
+ einfo "No GCC workaround required, system supports AVX2"
+ fi
+
+ # Linking only works when using ld.gold when LTO is enabled
+ mozconfig_annotate "forcing ld=gold due to USE=lto" --enable-linker=gold
+ fi
+
+ if [[ -n "${show_old_compiler_warning}" ]] ; then
+ # Checking compiler's major version uses CC variable. Because we allow
+ # user to control used compiler via USE=clang flag, we cannot use
+ # initial value. So this is the earliest stage where we can do this check
+ # because pkg_pretend is not called in the main phase function sequence
+ # environment saving is not guaranteed so we don't know if we will have
+ # correct compiler until now.
+ ewarn ""
+ ewarn "USE=lto requires up-to-date compiler (>=gcc-8 or >=clang-7)."
+ ewarn "You are on your own -- expect build failures. Don't file bugs using that unsupported configuration!"
+ ewarn ""
+ sleep 5
+ fi
+
+ mozconfig_annotate '+lto' --enable-lto=thin
+
+ if use pgo ; then
+ mozconfig_annotate '+pgo' MOZ_PGO=1
+ fi
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # This is upstream's default
+ mozconfig_annotate "forcing ld=lld due to USE=clang" --enable-linker=lld
+ elif tc-ld-is-gold ; then
+ mozconfig_annotate "linker is set to gold" --enable-linker=gold
+ else
+ mozconfig_annotate "linker is set to bfd" --enable-linker=bfd
+ fi
+ fi
+
+ # It doesn't compile on alpha without this LDFLAGS
+ use alpha && append-ldflags "-Wl,--no-relax"
+
+ # Add full relro support for hardened
+ use hardened && append-ldflags "-Wl,-z,now"
+
+ # Modifications to better support ARM, bug 553364
+ if use cpu_flags_arm_neon ; then
+ mozconfig_annotate '' --with-fpu=neon
+
+ if ! tc-is-clang ; then
+ # thumb options aren't supported when using clang, bug 666966
+ mozconfig_annotate '' --with-thumb=yes
+ mozconfig_annotate '' --with-thumb-interwork=no
+ fi
+ fi
+
+ if [[ ${CHOST} == armv*h* ]] ; then
+ mozconfig_annotate '' --with-float-abi=hard
+ if ! use system-libvpx ; then
+ sed -i -e "s|softfp|hard|" \
+ "${S}"/media/libvpx/moz.build
+ fi
+ fi
+
+ mozconfig_use_enable !bindist official-branding
+
+ mozconfig_use_enable debug
+ mozconfig_use_enable debug tests
+ if ! use debug ; then
+ mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
+ else
+ mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols
+ fi
+ # These are enabled by default in all mozilla applications
+ mozconfig_annotate '' --with-system-nspr
+ mozconfig_annotate '' --with-system-nss
+ mozconfig_annotate '' --x-includes="${SYSROOT}${EPREFIX}"/usr/include \
+ --x-libraries="${SYSROOT}${EPREFIX}"/usr/$(get_libdir)
+ mozconfig_annotate '' --prefix="${EPREFIX}"/usr
+ mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
+ mozconfig_annotate '' --disable-crashreporter
+ mozconfig_annotate 'Gentoo default' --with-system-png
+ mozconfig_annotate '' --enable-system-ffi
+ mozconfig_annotate '' --with-intl-api
+ mozconfig_annotate '' --enable-system-pixman
+ # Instead of the standard --build= and --host=, mozilla uses --host instead
+ # of --build, and --target intstead of --host.
+ # Note, mozilla also has --build but it does not do what you think it does.
+ # Set both --target and --host as mozilla uses python to guess values otherwise
+ mozconfig_annotate '' --target="${CHOST}"
+ mozconfig_annotate '' --host="${CBUILD:-${CHOST}}"
+ mozconfig_annotate '' --with-toolchain-prefix="${CHOST}-"
+ if use system-libevent ; then
+ mozconfig_annotate '' --with-system-libevent="${SYSROOT}${EPREFIX}"/usr
+ fi
+
+ if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+ mozconfig_annotate '' --enable-rust-simd
+ fi
+
+ # use the gtk3 toolkit (the only one supported at this point)
+ # TODO: Will this result in automagic dependency on x11-libs/gtk+[wayland]?
+ if use wayland ; then
+ mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3-wayland
+ else
+ mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3
+ 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-libvpx
+ mozconfig_use_with system-webp
+ mozconfig_use_enable pulseaudio
+ # force the deprecated alsa sound code if pulseaudio is disabled
+ if use kernel_linux && ! use pulseaudio ; then
+ mozconfig_annotate '-pulseaudio' --enable-alsa
+ fi
+
+ # Disable built-in ccache support to avoid sandbox violation, #665420
+ # Use FEATURES=ccache instead!
+ mozconfig_annotate '' --without-ccache
+ sed -i -e 's/ccache_stats = None/return None/' \
+ python/mozbuild/mozbuild/controller/building.py || \
+ die "Failed to disable ccache stats call"
+
+ mozconfig_use_enable wifi necko-wifi
+
+ mozconfig_use_enable geckodriver
+
+ # enable JACK, bug 600002
+ mozconfig_use_enable jack
+
+ mozconfig_use_enable screencast pipewire
+
+ # Enable/Disable eme support
+ use eme-free && mozconfig_annotate '+eme-free' --disable-eme
+
+ # Setup api key for location services and safebrowsing, https://bugzilla.mozilla.org/show_bug.cgi?id=1531176#c34
+ echo -n "${_google_api_key}" > "${S}"/google-api-key
+ mozconfig_annotate '' --with-google-location-service-api-keyfile="${S}/google-api-key"
+ mozconfig_annotate '' --with-google-safebrowsing-api-keyfile="${S}/google-api-key"
+
+ mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
+
+ # allow elfhack to work in combination with unstripped binaries
+ # when they would normally be larger than 2GiB.
+ append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+ 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_annotate 'elf-hack is broken when using Clang' --disable-elf-hack
+ fi
+ fi
+
+ echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
+ echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig
+
+ # Finalize and report settings
+ mozconfig_final
+
+ mkdir -p "${S}"/third_party/rust/libloading/.deps
+
+ # workaround for funky/broken upstream configure...
+ SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 MACH_USE_SYSTEM_PYTHON=1 \
+ ./mach configure || die
+}
+
+src_compile() {
+ local _virtx=
+ if use pgo ; then
+ _virtx=virtx
+
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+ fi
+
+ GDK_BACKEND=x11 \
+ MOZ_MAKE_FLAGS="${MAKEOPTS} -O" \
+ SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
+ MACH_USE_SYSTEM_PYTHON=1 \
+ MOZ_NOSPAM=1 \
+ ${_virtx} \
+ ./mach build --verbose \
+ || die
+}
+
+src_install() {
+ cd "${BUILD_OBJ_DIR}" || die
+
+ # Pax mark xpcshell for hardened support, only used for startupcache creation.
+ pax-mark m "${BUILD_OBJ_DIR}"/dist/bin/xpcshell
+
+ # Add our default prefs for firefox
+ cp "${FILESDIR}"/gentoo-default-prefs.js-3 \
+ "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+ || die
+
+ # set dictionary path, to use system hunspell
+ echo "pref(\"spellchecker.dictionary_path\", \"${EPREFIX}/usr/share/myspell\");" \
+ >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
+
+ # force the graphite pref if system-harfbuzz is enabled, since the pref cant disable it
+ if use system-harfbuzz ; then
+ echo "sticky_pref(\"gfx.font_rendering.graphite.enabled\",true);" \
+ >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
+ fi
+
+ # force cairo as the canvas renderer on platforms without skia support
+ if [[ $(tc-endian) == "big" ]] ; then
+ echo "sticky_pref(\"gfx.canvas.azure.backends\",\"cairo\");" \
+ >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
+ echo "sticky_pref(\"gfx.content.azure.backends\",\"cairo\");" \
+ >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
+ fi
+
+ # Augment this with hwaccel prefs
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-1 >> \
+ "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+ || die
+ fi
+
+ if ! use screenshot ; then
+ echo "pref(\"extensions.screenshots.disabled\", true);" >> \
+ "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+ || die
+ fi
+
+ echo "pref(\"extensions.autoDisableScopes\", 3);" >> \
+ "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+ || die
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${GMP_PLUGIN_LIST[@]}" ; do
+ echo "pref(\"media.${plugin}.autoupdate\", false);" >> \
+ "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+ || die
+ done
+ fi
+
+ cd "${S}"
+ MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
+ MOZ_NOSPAM=1 MACH_USE_SYSTEM_PYTHON=1 DESTDIR="${D}" \
+ ./mach install || die
+
+ if use geckodriver ; then
+ cp "${BUILD_OBJ_DIR}"/dist/bin/geckodriver "${ED%/}"${MOZILLA_FIVE_HOME} || die
+ pax-mark m "${ED%/}"${MOZILLA_FIVE_HOME}/geckodriver
+
+ dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
+ fi
+
+ # Install language packs
+ MOZEXTENSION_TARGET="distribution/extensions" MOZ_INSTALL_L10N_XPIFILE="1" mozlinguas_src_install
+
+ local size sizes icon_path icon name
+ if use bindist ; then
+ sizes="16 32 48"
+ icon_path="${S}/browser/branding/aurora"
+ # Firefox's new rapid release cycle means no more codenames
+ # Let's just stick with this one...
+ icon="aurora"
+ name="Aurora"
+
+ # Override preferences to set the MOZ_DEV_EDITION defaults, since we
+ # don't define MOZ_DEV_EDITION to avoid profile debaucles.
+ # (source: browser/app/profile/firefox.js)
+ cat >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" <<PROFILE_EOF
+pref("app.feedback.baseURL", "https://input.mozilla.org/%LOCALE%/feedback/firefoxdev/%VERSION%/");
+sticky_pref("lightweightThemes.selectedThemeID", "firefox-devedition@mozilla.org");
+sticky_pref("browser.devedition.theme.enabled", true);
+sticky_pref("devtools.theme", "dark");
+PROFILE_EOF
+
+ else
+ sizes="16 22 24 32 48 64 128 256"
+ icon_path="${S}/browser/branding/official"
+ icon="${PN}"
+ name="Mozilla Firefox"
+ fi
+
+ # Disable built-in auto-update because we update firefox through package manager
+ insinto ${MOZILLA_FIVE_HOME}/distribution/
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install icons and .desktop for menu entry
+ for size in ${sizes} ; do
+ insinto "/usr/share/icons/hicolor/${size}x${size}/apps"
+ newins "${icon_path}/default${size}.png" "${icon}.png"
+ done
+ # Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
+ newicon "${icon_path}/default48.png" "${icon}.png"
+
+ local display_protocols="auto X11" 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='firefox-wayland --name firefox-wayland'
+ newbin "${FILESDIR}"/firefox-wayland.sh firefox-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='firefox-x11 --name firefox-x11'
+ newbin "${FILESDIR}"/firefox-x11.sh firefox-x11
+ ;;
+ *)
+ app_name="${name}"
+ desktop_filename="${PN}.desktop"
+ exec_command='firefox'
+ ;;
+ esac
+
+ newmenu "${FILESDIR}/icon/${PN}-r2.desktop" "${desktop_filename}"
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${ED%/}/usr/share/applications/${desktop_filename}" || die
+ done
+
+ rm "${ED%/}"/usr/bin/firefox || die
+ newbin "${FILESDIR}"/firefox.sh firefox
+
+ local wrapper
+ for wrapper in \
+ "${ED%/}"/usr/bin/firefox \
+ "${ED%/}"/usr/bin/firefox-x11 \
+ "${ED%/}"/usr/bin/firefox-wayland \
+ ; do
+ [[ ! -f "${wrapper}" ]] && continue
+
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX%/}/usr:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${wrapper}" || die
+ done
+
+ # Don't install llvm-symbolizer from sys-devel/llvm package
+ [[ -f "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] && \
+ rm "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer"
+
+ # firefox and firefox-bin are identical
+ rm "${ED%/}"${MOZILLA_FIVE_HOME}/firefox-bin || die
+ dosym firefox ${MOZILLA_FIVE_HOME}/firefox-bin
+
+ # Required in order to use plugins and even run firefox on hardened.
+ pax-mark m "${ED%/}"${MOZILLA_FIVE_HOME}/{firefox,plugin-container}
+}
+
+pkg_preinst() {
+ # if the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+ # doesn't 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_desktop_database_update
+ xdg_icon_cache_update
+
+ 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 "${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
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
diff --git a/www-client/firefox/metadata.xml b/www-client/firefox/metadata.xml
new file mode 100644
index 0000000..fef3b7c
--- /dev/null
+++ b/www-client/firefox/metadata.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+</maintainer>
+<use>
+ <flag name="bindist">Disable official Firefox branding (icons, name) which
+ are not binary-redistributable according to upstream.</flag>
+ <flag name="clang">Use Clang compiler instead of GCC</flag>
+ <flag name="custom-optimization">Build with user-specified compiler optimizations
+ (-Os, -O0, -O1, -O2, -O3) from CFLAGS (unsupported)</flag>
+ <flag name="eme-free">Disable EME (DRM plugin) cabability at build time</flag>
+ <flag name="geckodriver">Enable WebDriver support</flag>
+ <flag name="gmp-autoupdate">Allow Gecko Media Plugins (binary blobs) to be automatically
+ downloaded and kept up-to-date in user profiles</flag>
+ <flag name="hwaccel">Force-enable hardware-accelerated rendering (Mozilla bug 594876)</flag>
+ <flag name="lto">Enable Link Time Optimization (LTO). Requires Gold linker when using GCC
+ or LDD linker when using Clang</flag>
+ <flag name="openh264">Use <pkg>media-libs/openh264</pkg> for H.264 support
+ instead of downloading binary blob from Mozilla at runtime</flag>
+ <flag name="pgo">Add support for profile-guided optimization using gcc-4.5,
+ for faster binaries. This option will double the compile time.</flag>
+ <flag name="screencast">Enable support for remote desktop and screen cast using <pkg>media-video/pipewire</pkg></flag>
+ <flag name="screenshot">Allow to disable screenshot extension in global profile</flag>
+ <flag name="system-av1">Use the system-wide <pkg>media-libs/dav1d</pkg>
+ and <pkg>media-libs/libaom</pkg> library instead of bundled.</flag>
+ <flag name="system-harfbuzz">Use the system-wide <pkg>media-libs/harfbuzz</pkg>
+ and <pkg>media-gfx/graphite2</pkg> instead of bundled.</flag>
+ <flag name="system-icu">Use the system-wide <pkg>dev-libs/icu</pkg>
+ instead of bundled.</flag>
+ <flag name="system-jpeg">Use the system-wide <pkg>media-libs/libjpeg-turbo</pkg>
+ instead of bundled.</flag>
+ <flag name="system-libevent">Use the system-wide <pkg>dev-libs/libevent</pkg>
+ instead of bundled.</flag>
+ <flag name="system-libvpx">Use the system-wide <pkg>media-libs/libvpx</pkg>
+ instead of bundled.</flag>
+ <flag name="system-webp">Use the system-wide <pkg>media-libs/libwebp</pkg>
+ instead of bundled.</flag>
+</use>
+</pkgmetadata>