commit:     39a46cf09f2ad9877d35f9561cfc36e496e9c789
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 29 08:23:51 2022 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue Nov 29 08:24:10 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=39a46cf0

www-client/firefox: add 107.0.1

Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 www-client/firefox/Manifest               |   98 +++
 www-client/firefox/firefox-107.0.1.ebuild | 1328 +++++++++++++++++++++++++++++
 2 files changed, 1426 insertions(+)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 487e27cd7f15..bfa62f95a9f7 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -195,4 +195,102 @@ DIST firefox-107.0-vi.xpi 585162 BLAKE2B 
9401ecb5bb339cc22002d890510fb5d921c3104
 DIST firefox-107.0-xh.xpi 414831 BLAKE2B 
a082cfdd8e73e6e84529a1e609063547a58bac559022ea2d9f8691a8771abf1a6f9f6f75489225081e23bad1599cc55c0f2a78dbefa20a586ee453ec36899c16
 SHA512 
34e63019f3e62eacfc6da7b648cb939a8b81a75e7751c5fcd4b6509b8fc2513e3c073593f31b08d42e8230fad4a22e02029a160228dd42fbdcc82e7a25e67fe7
 DIST firefox-107.0-zh-CN.xpi 585092 BLAKE2B 
d1b48117604df85a097f6f46c4554f0ddcdf2adb1c692cac7211de3b3e2e0428e96d37a50ec39b6933c9112fa1d7f624b378f8786289c336d3102402d9fd0c4e
 SHA512 
c352b5a9988ff823e3a43c3b6a97a5d1a25da842e61f23e52ec3fc9b044cab43e246e478fe83e83b10ed13932a677a79f5cab1eab78cf84268d64e0fc2a010aa
 DIST firefox-107.0-zh-TW.xpi 586218 BLAKE2B 
2ed318648e4fe0371c43860a67c72a005c52470759562788ef8ce68eab118db16c55580173106f287131b8888ff597664d40a819ca30d0c125ae8a43ca087866
 SHA512 
4e44e5937717ffc71680cc33aa144e0c8270f1dd085aaeafd3482c8da38012c3a24535e9cc5a9997ca8924ef037aa98269476947a69b86c7ddbfc5e395d51235
+DIST firefox-107.0.1-ach.xpi 449039 BLAKE2B 
a149710d662e4cb9f20a3177b4a759252cc8224a189590d50b9fb4708586196307a43b40e9e35dac4a7035b7fc39ad5cb16ccf605051ffc750f29db717b730c1
 SHA512 
cb700a00adfc67419af0678d4d461fdd91bb57ec2a2ede96194828bb717b3df91dad12e74e3c19b5c0781f61e0846cf3ee36fbddb3cc3973c30438316d9a4908
+DIST firefox-107.0.1-af.xpi 416137 BLAKE2B 
3856d98b4f7bd241b4ea58c20d7f40118ea46df7aa47940db6754eb8aab8c05ab6e6145ad43859101aeb013e99f30c10c7dccfbb762b11d2f09da9abd548b746
 SHA512 
fb1b08e4abde6aba206ae59325727be2e0f8f5e75adc0534203e56e56a9259079806513c1fa31563ef418f0d60e11f6bf4416152cac0328c8db479c74cb1c07f
+DIST firefox-107.0.1-an.xpi 495686 BLAKE2B 
10655d87c4791309cb8c00d6c73e0c33479f2e20adcae18e970a43f20a14134fd4af1dd2f4d236ce7976dabb6582e4322ad4f246c79e80de39a5950e7a47aea4
 SHA512 
145873bbc2387b7bb24b58a64b3def61430242386da18081b73641e0911123bdfbeaaf5300f87cf7e461b275ccafc4d4991b45d7699ae2fc6eb5b5c5335421bf
+DIST firefox-107.0.1-ar.xpi 561802 BLAKE2B 
f5ecd24b22c7921ca4857938585e33a4e951d1c26eab847fe9ca4a1792e5b5bc58bc785060e86fb49d5d25665db0b14f7d7bdce574cfc057672216f21168ad33
 SHA512 
4a9f8481f889cb6464f624da423b810f75960af9d65a7af75c6de22c22aa065be40ebdfcff83615d04047b913e2c08fc1522bfc1f76ece0c10bc72ca9ca48609
+DIST firefox-107.0.1-ast.xpi 482601 BLAKE2B 
dce2b3592493874ac5676df184644f9740fdab3a215d3bf4785bb8c3308fcc31f41f5c3c47aa9d1256d9112ae39528f1bbbd74e59be761ae1fe150147efc1a97
 SHA512 
d539629d6a4a66c3b10a65fa3e397826f8a8e0b39e98bb46dd11da529decd18bdefb3e6d0e26dd7c16321ea17f892eb1b458c582d3cafbda24f959a7e3c04a0d
+DIST firefox-107.0.1-az.xpi 485082 BLAKE2B 
f6f80b6f9467c37b04a10e6b8f5e48ed4a8f88a076d7164c44e321fc3c7a7b1abbe9f032f9da84a014cb9681c126563988b5a9f63743322d149ea32c5f629db9
 SHA512 
858fda6517f5b54955489eba9ebd94ac93fa8fac6dbe76f514b843df98dd5a748a1444f6daa39470eaadce00e08855eb2e9cde7941659a8cc4429927093ad1c4
+DIST firefox-107.0.1-be.xpi 636885 BLAKE2B 
98ce5531a81f292929a6304b275854a71c71e06d6081b909293236fb3c49e073e729e517f83c4f46b19b6ff67a2f94b958f604b5d0f5b785c7b2bac930acadb3
 SHA512 
bf7b0ff36928db905d6ad32a239d3060234c8a07f486a099a58ced36d5e879fd454e4f342de28732f57708058a711a1ddeaa912a22c8f2e76a11984a8c05a98b
+DIST firefox-107.0.1-bg.xpi 574259 BLAKE2B 
a7174aa669a67530efc91d607ca88b0b835ab0090d0114b42e879e339f0e3ae9d78f18402daaf0c9792350621114bcad3e7090bee4a20f01cea3fe22fc8fc558
 SHA512 
72cfd5109f558507d894f5ca23b16040859b0b431edd9c6bc9d5a3ab3d98d9eac6e58e6b2f10e68ae31b810016fdb478d14b858c9c207414bab3c30ac7edbf87
+DIST firefox-107.0.1-bn.xpi 573784 BLAKE2B 
1a27f73f0418b75a9b2ceda7e92ccb1b7949fd0c059d4bdc85668871d9fc0c3a154689be85a81b915671eacb1dcb031a548c5a0ca4ee38a99fa709259f0d6052
 SHA512 
4ec33ed11c775d788be3df646ae6bcc1b0e82c47b1a7df04085109b25bad9977d3d1a5f4901262de1d335a230bbcb63badff13c5d1e2e93b3823b354301fa1df
+DIST firefox-107.0.1-br.xpi 534506 BLAKE2B 
e7816e0de423e6d5f97e366a72bcf0a151ae3b012271f18f4e338500657689df7404b42714248b68e5ace6c57156eb322ddc828e7760836a4a0c186651fb75b9
 SHA512 
79163cbbd6308617bda9703371a0cce19259443cfbd722e62fb732d4f55dd721b89b17807bbe0da25d9d2d7ac1505a4826512d3a57d78beb90b2d5c017998948
+DIST firefox-107.0.1-bs.xpi 457089 BLAKE2B 
33b7c04772ee3b7ec604aca714faf7746f1a5e4ba06abce99356e1ca37b46a17e330135bec1ab36985e5721eb04e4651ff8c9a74e117babeae8a7c7ecb62ba5e
 SHA512 
d9a30d99b4425977c2de7fb6120bcbab9799316a08ac6aa31678daddaeb5f6ab1916f7d883d56b430948c78db7e7add88ee39aa11b03e23b5fb2e5f6d3c2e858
+DIST firefox-107.0.1-ca-valencia.xpi 534190 BLAKE2B 
a8dbbcf1d50af44173874635851faee5192be6c7baaa5d0aa272c242911c5f1e530c04f293b916917e3b6dafc2bc454f8b7f4575ac5510db09c77f23750fe4ac
 SHA512 
ad9ae9517a8a54ddf593c3eda0a7fc32903c6616e16224a2de5173b744ae91c01e9a28884ba01ab10f1a0a0710aa0b169f55af13ada08b15b7d2cf8e94cb3f4d
+DIST firefox-107.0.1-ca.xpi 537741 BLAKE2B 
37b204f92ad1f5412b19491024825686810b5c18690f74b056e7e75fee98b624d6d22ce1a2ff1e2d14e77f6a6412fe2a7ad474ad7715dd69887a3e1efb78fabc
 SHA512 
583f6e8e2ac9cf9593360eeda15fb27eb580cd622a7ff7b66615a3d6523380d6d9c0d526bdd9163d642fe220bf66fafeb3e79720a6b6e306c262f92427b3013a
+DIST firefox-107.0.1-cak.xpi 549259 BLAKE2B 
f0aaa351c4afd6b2a1758f98ffdf01a786bc093f927643fbfa08923728c59776df6b4b100d4a33a84704737e3b21c4971982b9a1fc7b1a8ab5c41e784551a326
 SHA512 
949897082b72399da1f89b6d42d4f5c6e7ae36ecad916442f7feb35368d8009750bda40df70caa930f3f29e888a2eedc68d9b4651cb3852a62e24b0f3d1023b7
+DIST firefox-107.0.1-cs.xpi 569273 BLAKE2B 
45f43aca4538a7bb28429c693b6b9042d1d340a9db807ea82138bedcfe97680b93928e87ce23e86d9f4d625993bac570d993282d0e984cc600e4cb3bd68a5cf3
 SHA512 
080dfceed6ca8bd6e868303d19e9306dde76e1586940092bc2fcf905270f9fad9318b6826707eb32f9746b2f984c21fd9d300b3a8e6fbbe866e0bdf9eb8fdeb5
+DIST firefox-107.0.1-cy.xpi 553188 BLAKE2B 
a42a488ce26b7ffa8709eee3741a6f5295e587d074ec8a6360816333cb749fb946f4a45f927c90b2a8fc961a533fe877e08e7bc192041bd7a94bd624b8955dce
 SHA512 
3b51a35e0d83486e9133eedf1a7aaba704544208d307ccd385fb10d6f6542cdb992d60c5b9c684cdd85fa84ce3cbf02fbf633b2a8f8fddd6eef04cb4634cb965
+DIST firefox-107.0.1-da.xpi 543651 BLAKE2B 
529c2191320390d6c36e76e2c52dc676e7c2af01e1e57b9889b2a90bcd38bdcb181eb4841800c5d2e242737ea2fbd14c2c2ed1c67f79b2b2eeddf4efe5bbdc43
 SHA512 
b3fcfd237e1bd630fbc7193f2c5c4f580ac20591a6a55ce9de1f78e58ae09803b9efac20b2e7bedadf9be8a47c95f8e1cfbe32a3fe4e253c03f121056a32b7b3
+DIST firefox-107.0.1-de.xpi 564623 BLAKE2B 
c644ba8fc4d133cefae88d12d53f28fc95369fd4abcbb7ba5217742bcc87afa4a0975f412d307d377ac26753b535e517c303366af6d64ff621762dc64c3635a6
 SHA512 
be5ae01d8703bf7d45f35aed7a65732695c9518b74845fb48e953bd2df0c8cc44a20a89d025914c698cc8327cf247eec321e1150d59cc3a9207e22a1f518329f
+DIST firefox-107.0.1-dsb.xpi 576821 BLAKE2B 
5475cd6e95b5049f0eb35a2cf282128c785520f10814c07a3dc91d0f79958ea3c7b4154412327af4c4f83762222471582b15389d8d265f3f3740f18daf72e499
 SHA512 
d5858151071d96ec6218c6af830d26d871c584aaea73ae766b93edcef37a6dfb1724f7069a9d9a1475b9a98484abba546394546cd078e3de54c4741b11a6adb5
+DIST firefox-107.0.1-el.xpi 651470 BLAKE2B 
b5fac66b2e4668c8cfa3b8f5c06b6f764f4112bb158cf6ccb8caef92dd768f741c28cfeaa74e652b8fab322151587c78a85570f617af395553fd4404cba0c1a2
 SHA512 
dea83aac8f789a0577268c19e35b1726ee6821152ffb886021455b6cbc839c5e99a2b5e9205ac0979f248a5e1bbce0ae0e93a47a7fb7e59070caca662087592f
+DIST firefox-107.0.1-en-CA.xpi 518718 BLAKE2B 
01f0aa373ccfd317e28cc48b7a90068539e2e1a663dff70fa06836f98c79e26c9286a2d8bc63c32825afefeec30e8e0e2928a086f7b945cf96a5d86c1ba49a64
 SHA512 
326425489312bc330924f7987ba77e7900348d1c6323d3483c949fee534ee6a5984d3697c1727945a49183a7b8e30b99124d6f33e53b194c0958badaaae7045f
+DIST firefox-107.0.1-en-GB.xpi 520248 BLAKE2B 
4304aeaf9422c2da6dd6edcc0fca17c0828b847adb25d281db72e94f3d45ee6c35c0f3566893af5ac9564d0e8aabdb0369b323f02cadb4680263a3afbf9da443
 SHA512 
e8883a72c6454a19b01e63220a19c755d243255825ab207b13218a431040d0cffe798a81afc55b1df16e08006d9b109cb1ca16b47115fe49d9314654508502df
+DIST firefox-107.0.1-eo.xpi 546698 BLAKE2B 
b498b8628f366546d025e3f8fe1c3b8c5b8589e9d380dd2115364543ab5642d98e7226d721d67525e9caf4801d7372939fdf594da219247d53c88c0d4dac3d17
 SHA512 
13375734d8e9b49be3b8d3d638033091063007fb1581bbb4197a1e5d6a10c358ea5de07fea98b4cffea22415ef970d345f2d16a69ca30bc91d3ecf87579d9a52
+DIST firefox-107.0.1-es-AR.xpi 558788 BLAKE2B 
4e5703ecb9f1b08071c837bf9bbe271ae21efdc9e20299fdca517ef46fc1d69fbdc39842108d0c4a2482693d84fdea04bb689c5f69cdfb0e7c3ab46de3bd2fe6
 SHA512 
0a3a3dea2cfa67f9406d7e5ffd05a997877f4cc130d5e604fa67dfded85814c5d05d707a0ac68235a0c0e82a6f13a5578161d1cd559ef2af0f7beadbc4af54b5
+DIST firefox-107.0.1-es-CL.xpi 557630 BLAKE2B 
c226bf4f7a68411a1d53b10f7bf1dd712ae54f5a8664015efefeed523100cbc95204f0a5dc5120fdde7c78de3dc8b939ca8bbe6eb85d8ce43ba46fae70e234b7
 SHA512 
d9412af614ea3d4924361f61094e6cd49caa524e31fe2250d347d6069660f48c5e6e9c8dcb30b643904fbc16b921fc18cb3545a725daa09c79ca44aa2ce064b2
+DIST firefox-107.0.1-es-ES.xpi 550456 BLAKE2B 
d9e84ce9669ae1a7be63cbc0713667111c4247c1a4ee20c909f451f9cc9e08d5d181dba502d690736b3c5242d7f196ba75c86c32b1ccce2fd6dab160a28034a3
 SHA512 
b5900969b219593b5565161288bbd4651f9e3d57d74544a1f59ca9373cf6a1bed8591e1805d9268c39e035689fe7141bc7c9fb3aac7a4ed6aefabc08ce5c4163
+DIST firefox-107.0.1-es-MX.xpi 561149 BLAKE2B 
346546e16a85be9f0ed7f3d34daf3ef84c39067777104c3bc4169acd81d847bfe47ef606c77d1d79676a6a925233e34102f7b3655acf09f5383eb08ee362efb9
 SHA512 
5fa7d96cc13f25403c1dd4010aa27709aab772f0d153c88c4ba376860e12162030f602ec9304b9d0664d43417f91ae4302f83261938c7c8a4ed4bea460910ba0
+DIST firefox-107.0.1-et.xpi 528249 BLAKE2B 
20a57fb52173eda4b6c7e484bed68aa4c85d2bb17aa22614de1190ae98e93a59598253bc3e1a4b3bf82002d343408b008564471203d3752376e8947c1e2ea727
 SHA512 
c58e5b8997c5dda1e25da1124414cc9f5d355ebaf6827095b81573ccb5c086d9fc68839397723fba2e53923ead559b281071c53bec2ebbc7b1956f4f5a8d5145
+DIST firefox-107.0.1-eu.xpi 547839 BLAKE2B 
112dc8d342e42976b50950ba955efe500a9f1bae863e4dbb540e5422972ef2f7bcaae2b7c65d64ee215e272d9727a2d90f3d625da7bd4315836925c947516362
 SHA512 
072638c29273f19b21cdd8a51f97bb61b716783d1a7fa39634a00bae481eaec249ffb9c0ddade9f87e5f2973f3b3688cb70b9989df8ededef4ff942a28fd8339
+DIST firefox-107.0.1-fa.xpi 565788 BLAKE2B 
7736bcf53fa40a587a155c758da9412477981d54d61bbd0f1503d3cef5d9fb9aac131311d9e733471130e3eecc807c365da20d751c1cc018da1cfd70aea82c61
 SHA512 
7b0352c0ec350151e88ab183403c7e5ecb847e9aec867933000fd4222c051ffc117b2910339217639a9a3ae62d5ee8cacbf26456221b9ae6fdb203ab0881a3ae
+DIST firefox-107.0.1-ff.xpi 469111 BLAKE2B 
1c8c7f5992bbe30dbb211e54366623b4315b556eb747bf44557be86f1c48c019f782a7dce506d4a03be83d7ad39b56e0d5cec6132fc9c7289a2dff753cb1167d
 SHA512 
57d16c1650165ecc287abf87a8439d7b51ad828f0571a8304bbeac6a62c0f086628c834fbf2ecaff62d964bc5b9e6d39a26167b665d478a3d4afebcdbbaab84b
+DIST firefox-107.0.1-fi.xpi 543813 BLAKE2B 
c1e287b0fdd049f02aaba3a2b66b1beb61ac828571dbccef92e8c28a84584a6e83f9ef6896e09682176ed121e9966bec2a69adfb4adf8de8c13e1c9a3342496b
 SHA512 
f9078015e9ad82b6dd7434024bab1ffbcd2cedbe83dcb9bcdaa038a85d044cac2ddc589793ccb671191fbc3052ceded3c683921041ede7b5b3b75cbc8d6c49db
+DIST firefox-107.0.1-fr.xpi 569058 BLAKE2B 
e87716467efdf78c3ee8c60e05836e7ba239eef9752ca9cc215d78f58b369c916a2189ea06164bce38287f13dd4bdc979b6ea532fc555c613cd7e1622364d439
 SHA512 
6d224dba6b798969c485f915427d7e42379488873452f7dfcd350ae79b0b6465b445077cfd411d7355dbdbd0a3b72a3c02e0d85f1128c7abd7aed07aec0ff391
+DIST firefox-107.0.1-fy-NL.xpi 554258 BLAKE2B 
23c9c80d61b2acfdc19a5a5c1819233c48c7d145a5b4d9f6fac5eac1da206db7b8508043abc34d0c561e5f7c539e0b1856b1b0ff2945c8fd93d87f895b2da4f7
 SHA512 
5fa663d1c295e2fdf3bf52ae2ee34e2c3abd0271616e5eaa498d3ff6ae373a5853900f3be27ac3ffb45d214e76e08dabf77300cc7b8112b4a67d662919745471
+DIST firefox-107.0.1-ga-IE.xpi 464759 BLAKE2B 
721332c4d13ec77484d91dd44486afdd4d3537430c3e3fa07c28687610c12a193cbcee14186554cd4e6955b158526d6bba7618c79171d7034621b7449a37d9c0
 SHA512 
f33cf9626dd9f9e284a8d1a2d1eef12afac203fc5ca1920f35bdce26a44ef8942d661f91ec8721c54c06d8e4784948a6e85473a10887e6669c8ad6ba12b3b931
+DIST firefox-107.0.1-gd.xpi 542597 BLAKE2B 
85d08150fdbf821de166c2b33a9b8f6cc205b250b5fe9a8593072e50bd3bf3163e95d41928cb33e670d8c20d81e80a0546573d92c723e5f03503a2050185a35e
 SHA512 
9309a42b376950844201be1130426a32ee79a9f63211ff5fb42ce202985575ec5111dfa8a22d67cd52df1787218de1dcb8df996f1ebe3f6238fa1970ccdcdebf
+DIST firefox-107.0.1-gl.xpi 537433 BLAKE2B 
297822dca0903df348d7a8e37f80765cb47d7969d65fad608ad737a4319af72605f957feb1d874905be192fafcdebf209ae02320f03a3de181180ca493c0d554
 SHA512 
b99a310793bf8069d7256437fc12b6d6e1aab8b13c1f56a7e348d0fccff3ad29d382cb0b474fba014be27186741de36d41e0fbeb96c052402ce7ba7406dcf163
+DIST firefox-107.0.1-gn.xpi 567616 BLAKE2B 
b02544d0a57ab3229a50967f6ae5d4954f26cd4531c78da3a5f81144a766aeb4d65e08dd78117f5d8de65ab3fbebe1ba9b13133db15a078f006b91dff2ca96f6
 SHA512 
a76161002ce37adad060228f1244cdc612613910e5dbaa052a928d201750850a97da3aad2c6278861ce4784251600e6fbc8eace38202dac564a8ea7705b69543
+DIST firefox-107.0.1-gu-IN.xpi 523506 BLAKE2B 
74af08617fd81ff2118eb4865f625b90d8fee397ead1d06d998f1a9ebedd76046917a0b619e16105899b0d1db748fb6cf6143f755b881ea13b144a470e3abce4
 SHA512 
d4bd278d28a115c5cfda876407dbf8ba8a4d119d3187790e3b4fac3f49c45a7112c34c20c464343a44d2a69cdfaa706aef7915d92eb246881e46cbb19a0b6fe8
+DIST firefox-107.0.1-he.xpi 564223 BLAKE2B 
63bc218e67b367a6e74935108ef0e0479e79ed650844ec1bcdcdc61725ba261130eb984e67df156ef2595fd5247c77955dd602e986d9991a1a28eda6d553ee3e
 SHA512 
2b27cd7ccaba5af3807460f7d469edec63e2b75922f2294d1bd5251b6efa632721e6b72738df7f4428881e98b4800a32a4bc41c977b6c2763592150036e60d92
+DIST firefox-107.0.1-hi-IN.xpi 552200 BLAKE2B 
512575f1884fa9b320d8ae88d4ccdf495015e0aa8b4d1253dd04e0d6cef52b30242fad9354f1bb2f81b5028ee84c136051a03412bb6841cd8dbea8476e889e51
 SHA512 
2f871f0ba44be4f2be17db16e8e1562988adaba6d5ce58adc6207d73a78eb0dd97777ccb6276f7a2dd53733fb84cc75b36e05b081dfdb0a8f8fabd32044ea3f0
+DIST firefox-107.0.1-hr.xpi 532340 BLAKE2B 
54795559749f44992f6085bc95099746247473fa6c75e263fa9a06b2c75b31e1d60aca7b7978fcaf2767e0a49a2ebbb999df97fbd498ce16cd1e473f41afc6d5
 SHA512 
f2f57d1e8ee5667f4197806ff87aff7e10ca4e24c3555c0f456a2a53bdbb60022d597a416b1db48b015fc7346372a8ec689b3246c975cf153ac5de53da4f6f8e
+DIST firefox-107.0.1-hsb.xpi 573054 BLAKE2B 
561871f8b3e705b089ce91e53f7b68bd8f388149ead676af3dd3f0c8e22a25713528c018eadfb59da55b04efc56c38db8b1b46d3fc0da30f5a5471841961bf35
 SHA512 
16f39efa86ebcdd04b67ff1b5fd7a0800be33d1aa73dec359c65378357c86e3b00b86645a4464827d44c80d2d9007fd6049424ab7544ea9dd2ccaedbae678a7f
+DIST firefox-107.0.1-hu.xpi 578347 BLAKE2B 
abe623e9053b9e81ff7fb52074d15c6f4cd7698ccf44d8a06a4bb85dcbf2592f1c5ff724402b2c729fe5b29d334f8087de1853a2835e0cab6399997b60e30565
 SHA512 
c4720fb716dcf5a700dd83298d4a98bd13c5ef3598a4fad15b29ed77f8ece863cef0095e41d1036f7b208fd1ead7e2c5e323cd6e0d567f3f1a8828abeae06375
+DIST firefox-107.0.1-hy-AM.xpi 588067 BLAKE2B 
63dd3f50210a89f2bb587d93c48db5dbae74325b7cc545305b82ace3b3a3432889e758ed61954b8e6a3b0fdf02167bc86c356605c7bc2f0a38f7635d17bfd2c9
 SHA512 
bc7adb377fc07b56d6efffb76d52ede43f5f822c556ef035ea8aba646667cdb55a4bb9409a2d590516ad1af901b193480aa55151315412d370d23304d8632cfb
+DIST firefox-107.0.1-ia.xpi 543056 BLAKE2B 
cb2f716fcc949e195853b441035e93a55af4e174528056c79ec3b0e2dfabd854441c11195db27ac5fd1e74e40d4b1f864318098635ece7181fb6db03024da124
 SHA512 
72f1927f7a896ef0bcf99a8af531c800d792194fe97a05d3d4b7263e1a5173bed7eb8ac8b3704d7634e6417f6a0f3a48b912fe1a0e0a3ae828971fad5657b679
+DIST firefox-107.0.1-id.xpi 540031 BLAKE2B 
1f4d13232e32b0049f8cf2590c65378ace6fc9b6c4f0b1ea5b8a2651a052e9704a1c56e542e930f78f3fa926c029c69d9fffde230233c516063d7bfe0f418c66
 SHA512 
79b8c8a6c888433592e78da046d7834725632ae66c696901db9a72773ba705e1ff43466dc5233d712f0f4379dea4b13a72f9b624432fb1c67b9ac9bd5bb5cee2
+DIST firefox-107.0.1-is.xpi 552255 BLAKE2B 
91b3673fed93ab4128e99a030bb9aad2ec6dc17743dcc8fe0885fa4f62640b2a4403b9de74bc84b100eedaa5993e205a6abbc75c51e0d7549bf6e0333e91c1da
 SHA512 
4ad8b75ef79031fb0357e1333bb4328751f440a30d9502c9bc1362ec74c32c02559b2d78e3b42373c73fbec23d20798962c61daed430c4f57eceddaece279741
+DIST firefox-107.0.1-it.xpi 481517 BLAKE2B 
7e02a949367f899e586cd27ba6942ecc7ca80b1cbea5a7bd0579cd27ec67309e6b13d741a87cfed395439e49dde27b162664ffd3c9a37c34004eaea17472c015
 SHA512 
80f5b17194b5c68a0a64f5a077da50ca9b63afa2cf14afc0d5967bbc8a2fdafa18bf92b2869b6b271e603fc796669e0d09516a41cb027b0155100d78a899825e
+DIST firefox-107.0.1-ja.xpi 603795 BLAKE2B 
dedf27a1d97640e5e4cce8fe29439189ed6694b064bc7737501474ccc1721767762d9907a121348e7283c67540879275f8da446ec07a08482fa4915f5bf24d44
 SHA512 
18de035adc78584639b2e4ef354a6e83ece0de42ecdc4d03ff0fc6fe1b853144e0b3c42cb4a4184c99d9e7962130001abc3395698d49dc2b5b2da89a4db52a26
+DIST firefox-107.0.1-ka.xpi 606241 BLAKE2B 
cf56281ee299f93047a8756067c94f441927a2bf5eaa7551821da925845102fb828be9acb17bf30377e9b312639877f90c9aee14b98310bfe3834d7d8d26d0f5
 SHA512 
2126fea6304200305e36aa1b3e64705a2db11eab18c223e7d4c05ace8896b9c750ebc86dcd4524b3b54188a9914d834b9699a01d5bc24622f5d5d1cd34eed668
+DIST firefox-107.0.1-kab.xpi 562224 BLAKE2B 
f9b43668aad9d962eb9c6ca6a0579ab7cf89c883c12226009afc8d8a30a2210782bd17b680c045015de5647b6ff33ecf5da871f5d0c10e1d9630e40c177c4947
 SHA512 
29bbd8eaef84f13fcdd27b82e69fbd460321f4250bec5d06e8ca702742f334a4a2d66f3a83e01c78a6d14931f39da1dee96fa6accdcb93a153c6e4cfd020e226
+DIST firefox-107.0.1-kk.xpi 625497 BLAKE2B 
edb90e98ed891404173d4b71c7345904d97a0d65b648e527586ac2a515d1185862f40499bf5300ff8a7ecff5cde3d156994e3f38511fad591eb1d3df676e61d7
 SHA512 
efdfc4cb536b4c97fa64552735bea0230e009aaa86d2b98bcd165c9502f97b35afd4804ba96f517b58422a1d838fb9f78cb637d570b4ecdb77a837c29c265f80
+DIST firefox-107.0.1-km.xpi 525697 BLAKE2B 
bdecf673084c50ba69f9650fa423010d98f97ddfa31d1a2d900a15d0102f0853101e8f7f867eaa8201ebbd39bdb0a1caa1715d8a3461ff7d4530ffd04990d38c
 SHA512 
0a9b60e508c4bf7e9fe1c1735833ae178361b5de56991b06ae198602b1da1bdbc01f25b0536aae496933c4a284e060fc979a68429393df0ccefdb5cfe984f46c
+DIST firefox-107.0.1-kn.xpi 491417 BLAKE2B 
30dfd67cd5bf078668fa040a4f72c0b760583607d29d9a50f30ab31b13a6a5faa11922fb6a592af80dbeb99631fdbf380a750dac721502b98ded143878105f51
 SHA512 
64d460c35c9546162410373194d3468b40a0435ecb24024e90e7b401140ab0457d4ef474319f42e4c98d5207408e22773f0b6a08e91120be8f1d827b2feec81d
+DIST firefox-107.0.1-ko.xpi 589126 BLAKE2B 
fc0dd436d60b310b1aa62221df3fd27ed8baec511da0ebe96330809108aba1e7094033b79aa14829e4f30168a0c528091e2907181d540d21bc60b01074ac2002
 SHA512 
a605f1a2c4196e9d62a921189dd0ebba14d69ffade1b2c971fb1aa64ff078290035e46c23b47e4b212cb2f54b31e4806658d13cb50de09f7edab1c3cd126ae69
+DIST firefox-107.0.1-lij.xpi 465965 BLAKE2B 
18b65311636a881ecbc2d6a507322d200ed56ac1f0075667bd89dba104dc7c0dd6ff02d55e8c0861cb009d3587276a9baaca6b240fdb34aa4f4924ef5452305a
 SHA512 
209ce19b88e446c51a289c8a0adcfe443e3d2b254ff0c47eaa9ffa7c57846d98b7860fecbcf59ab1f233f27c6255962c1609719bc885a858b6a357d28b44e516
+DIST firefox-107.0.1-lt.xpi 558419 BLAKE2B 
ea696e8edc153297218c99c1e123bd85778da38ad6eff7cd4b0251200db0b0c04134df9d3ca0e4d15dde384970ae1d3d7588422ecaaa108cbe8c46c11f4f279d
 SHA512 
13c8cb1559d76a5e8cfdc88fb2e37715f8aac37a389a53d296bc6f7507d5dd2af5a3fc42a2eb6a0d865a13259f24381458a66e8f926f361f9023deaaa51c9347
+DIST firefox-107.0.1-lv.xpi 460737 BLAKE2B 
ff838c14d738e55d5a94e061d3a236b75c2bc42c2db0293e49db2734b6b820a01f2cac19f75fa689bdbad03c00038407fd6e065eb529d90912590864c7496a8a
 SHA512 
01b5c7c54f3ab2c040203059e3e4be626c9c1cd6d8cbf83ffc8b44981edb890dbedcf3a669d61d4d83f5fe48bab699ef869c4e8a180c660688d62d7a29eecbaf
+DIST firefox-107.0.1-mk.xpi 481448 BLAKE2B 
4b44cee795a64da5d60804bd657a4da40c2cfc34e6040e6f45988be85aed1914defc6ae63d10b286b76ccdb638e9ef334573d2f0e4cc562fb418114869354ef6
 SHA512 
be5a8ca52cf586dd85031ab48f8cff5b0c2d45795bb79b527907a910d1985d8e37c33797aee0da4c95551a4beca936e76222aa51ead870ccf3aa7aa7c6dc5314
+DIST firefox-107.0.1-mr.xpi 526039 BLAKE2B 
9cbe0b87b017f577e2f1068af7f4a3c42588d2b2ebb51f2eb735a6c770ee0c55febaff45a6c01e529e38d30e733e4e00f59bc14d6f82d79ea956497fab9156fd
 SHA512 
57b100056cfdf6027a8f8ef2eaa0b2783a9df8210f7947b5a39b267c90e1f9703d661b90ed90f9ab6b28c0d5534a8a1ebfba7b053edfc72b15a781cd94a507e3
+DIST firefox-107.0.1-ms.xpi 445493 BLAKE2B 
bca003813cbdca4d7968855e146e6485c43b7c176a1fd6f6c10b3e8ddc8e9469cf14a0c6163939a1269b6fbefa6ca3368277fb5ca45248412640a313fa0550ea
 SHA512 
0b97993d02beefa37c135749059eee420d8cd29cb874049db0186738121cb3d79f88ef147e44b392e0a9fa9b125ae3bed1e4d5a931800e5d9b71037e167c29d6
+DIST firefox-107.0.1-my.xpi 512003 BLAKE2B 
2842daac07b031c5061ea45c8726f3d5bcdc404710cf6d3075938bfabe02dae16f537f9832363f98a4b940b599bd0b04e0ab4034daf92245752ad657b34fae1d
 SHA512 
98948c1fc465946c0920e4f13cb14a38864502a672a6406ae22dadb993d00cbdc9cf370b1614766dbba02debd4d41993b7c168b28b7c642dc67431b914741dff
+DIST firefox-107.0.1-nb-NO.xpi 540798 BLAKE2B 
24cb4b31ba6fdaf55b01b16e37b78a45927d3cf15b7bd47b69b821f395b30bc447d0f60cb200104a3a384284e3940445957a4459e84ec07f158c9b1321dc9eb3
 SHA512 
760f01f2c9ab83d34cdc8e5efc5fc3e210543f094a32055912725dcc22eebfce49c6b3e38f973d48be10871e9a7909ba326ec4364fcd3acf3fdb6c769605e5e6
+DIST firefox-107.0.1-ne-NP.xpi 480176 BLAKE2B 
7c697c407ada21edd972f528db8fea81930b4e39601e2300291d5e68ba47f5f703e241f70ae11715675da378d53027064ff457c2b99d2b1dba44093983d7b011
 SHA512 
de6337411d9bf06f347f3baca406ec84cfe92955ec69aca8b69c6a60c0268550db09da10fa3fec8092ceda395aa712df5e4694b54072eb9f8e45b77eac867d8d
+DIST firefox-107.0.1-nl.xpi 548546 BLAKE2B 
670b16f49dbaa1e775a295c0bc2ead18b3ec8c2580faa1c53a75c441dbf3a23ee2d36e009134c7e964f332cf324cd7feb5c4f7e9ac5d509956b00f445dfe7631
 SHA512 
672659ba87cf26a56521b1309bb146da0726fc889c003239d8fe20ede046c6e7930ef7fa74d1318cad50a4f4d3c4e3a9412c7f556ecf690d5ea39c57dbce8d40
+DIST firefox-107.0.1-nn-NO.xpi 543213 BLAKE2B 
8d2e881f0f4711332fe4c3ba629789a6466bcaa153da4222531f6349728551ec7adbd4715ac14eef64fe7b9764a759f40314982e86e2c2d30433a13d4d895b7a
 SHA512 
16949e233389932581fa56de01d0f92e10d796dd2d3f49c8b80a1c34dc6792062d3ed8cb3b0a860e1eb9afab040d032713ea4b677e8ca2bdbdd96d944c1f40c5
+DIST firefox-107.0.1-oc.xpi 564163 BLAKE2B 
7101d30d595bd0f1a8f6216ac0c4f4d7c833d6f4d8968ef403635111dc1f1f212e48a927f29e72021939ba8eece55a670880beff114aa082875e9e4276a66bc5
 SHA512 
3fc357dfae3f7519092a7e1e389208524b5d786bea3d713f65c9a7761bf75d00d14ea44175d05ff90902ec278f7dfcf50a14abe8c1d99b0166b20559db626f61
+DIST firefox-107.0.1-pa-IN.xpi 618932 BLAKE2B 
400865d13066b7806c311dc712d45449858bce3bf657082a62288056ea42a6e5595fee55c53af96ab8a8be955db64251371e391879b990220c784735a03bd7af
 SHA512 
c67d33942c5ed7f74792e8099be88843bd51373f7dd75bd6832637b61303918e9beec18eb564cfd79332fa1f8c92bd4618b90d1f66469ac90e9f87ab372433cb
+DIST firefox-107.0.1-pl.xpi 570594 BLAKE2B 
32568f4e55c8b881d03c095e0eb99764580a2b83b8f1e706d206e0353639784002b93a761436659e27f105a873e2c0a7ed416d2b51f2d664d8e393cc592622db
 SHA512 
94e0cb3d71f8511dc502cc8cf6987371a23dbed1b1985486e3241ad4888d00000d65d198540a01f8813dfad997e7164d23ddd38124f1640b75e6f371ea7c4576
+DIST firefox-107.0.1-pt-BR.xpi 553416 BLAKE2B 
18a5fe58e793f9e085966efa5ca1b4e31322952ee39eab41884820783552d5c9b974818959f91a73b0415248488c25dbc98d8390f793d4d719d2753a1cf1ffc3
 SHA512 
0f30801b2204c6fa42cdffca0322d758a482e19ce2d91ccb01fbcd38481f352627cfd617ee23bdbd42905cfc4c48d4bbca2fb61f4640966346464598facf34b7
+DIST firefox-107.0.1-pt-PT.xpi 558236 BLAKE2B 
658d9fbf9fd16eb6b061b81ebdb8ce6245634a8472f1f1c0c8d133572aa29588e120b6c88e9fd320641a30bf5641704a58f2991f83e252b0a83152f9a2ab003f
 SHA512 
000c1edaa2837c80f51de220742fa15f58320de98a60090b8d91c242b2fde1190df6be7e8b3cf4f268258ffd7a74eaf1b27a7872382cd0863d722c21ef0353f3
+DIST firefox-107.0.1-rm.xpi 548611 BLAKE2B 
6b3cc0a78822fe9382701486b6e67279c58c72ff44f00064e6082a4b15b52a263336d1017244f5d9429dc759731d158659326e85d72391ffe5a6fbd38ee08034
 SHA512 
ef80bf0f52f6c7924e5c6dd8709b4e596c13934b94da55394b107360aefe6d2346f4f3b946f3c28f98ebabb7c041f69432c726d4a5742309ae0b81e2cbf92ef0
+DIST firefox-107.0.1-ro.xpi 528280 BLAKE2B 
6ae82a8501d57f9ec8b87dbd46410112f4f0d19cd464b0b6930b6d28ccfd2192a94c25b3d338e4f0a9922e91fbf1c0cc454a307bf023eb5a6a0578ebeb97319a
 SHA512 
486de7dc3aa134e280a288e60b0754eb228892cf1f9631febd074ef491e45464dd6cdd62ecd40dde18ec85319be72bcc9a84f485c7a8f0ebe9863611d0ef72b6
+DIST firefox-107.0.1-ru.xpi 640928 BLAKE2B 
0ef5be441ec773ba67050af9725dcc691323ac5d2669aab29e59aaf351a31de9f3ef59a1844421a08f1b3feee10c39221c1a6ec0e7b6ca0c69c24c6599b1c810
 SHA512 
a303388b2220078102cfc757b5e1e332ccdebb1395c587ab93c82ab49683caa646f4fce84ab86517be7faf759f752bb4fd999b305b0e25c3a370c66e5baafb31
+DIST firefox-107.0.1-sco.xpi 498952 BLAKE2B 
3e5e1402c36fe81239cba0b537ea2d0761cf4e535bad789025dae3da6abf4e0776f5c8cba990db7d1993be8adfb7f363e933a877ab609599716095d20b07e80d
 SHA512 
5bf2a3e24b950973f5169c124f1291c657a889dcaa02bcc3b8fa787628092f639380d65158c76d5e96794f457d5a17d2d80eed54591bac18d452f2236e17fb82
+DIST firefox-107.0.1-si.xpi 564935 BLAKE2B 
d05ce2726a8c6e7e7a1c2e95fdf4a7ba14b827040b379744cf7c81900495b5ed7c945e08e1ce54b04f1fbf6c0ca08d712504a6fad8652aa7b15442eb24da65a5
 SHA512 
ef23e52683a681601ac1b5b2c0d8733a97eceb0edb250506e6cd964a423a10d5a128975090ccf924d791c855d3b2ed5670d431556b963dcc75909058bc54f253
+DIST firefox-107.0.1-sk.xpi 578150 BLAKE2B 
31188b7d8518474c6849352dc0cea08ea89d86e529ed85773d6cf3fb26287ed13d07dda0e7cc247044221c6e5ffc8d83697b8c909d154b0fcbcf39c97dd8926c
 SHA512 
f879c693b064ba820288a33c993daf83cc763a9289d0291918ba0eee98a37a1b477b1692690dd8631747af5ac3129126824367b0765403f5b9449ada46223dc9
+DIST firefox-107.0.1-sl.xpi 551906 BLAKE2B 
bd51c797ad6c2cec72470d8a32f6ab57ff3f258e22ed5d81acb2d394762eb9bf13e8d852762d55861872a22eeb3a47047166756d2c8c34cf67881ba6d106c545
 SHA512 
42739408646160d8cb963ba1fdaa79872b322669fcb0472d5c5160dc6084710e2d6eab5fe223c787779f93a39a8db3ba98695b03d51893d6b66c46b11d1ebe88
+DIST firefox-107.0.1-son.xpi 418041 BLAKE2B 
40a29562c3def3b7b0587b6e7b94a6717037142ba024f26c9aafb87b6d3a8786283eb210106646f5d55b0d79821c65ab0efee06d0cf44e98000098f4075f7e1b
 SHA512 
2997fb54d99ff43b6e12117963f4948bb425f5b3de836bd4869547ca985f040f7311b307df8e1e5c50aafb8305b55b45bf3c267652553462b7de653931038283
+DIST firefox-107.0.1-sq.xpi 554278 BLAKE2B 
9a57f8377eba29fec8f2a92c356ee2487299104f17015b1c5eadb04b690a0456ad502f6ffffd6fcdbd01bc6ab15a0f5129ab57976a2244b98c7b4f9eb76d9516
 SHA512 
bc0e0c8125432b64f9d9f1d04ef181d00b9c7f82eb06ff34cd17aceaf1d3d92622853227e13cbdf9e40c4ee7096b9b217bbc603b8e6d61df75e4a881037949c2
+DIST firefox-107.0.1-sr.xpi 594624 BLAKE2B 
4cfb39b7f693df1ce1252f543ee497cf315f78ec4536076f5cce2483c9279eb8f41a0ebdc4d51f9ec5bba55dd25bebeeff9daa97e338d9f04cb9038c42563744
 SHA512 
958a0de6256e75b3769f4c115fdaa6bd7fae4133d7d39986a93ddb1e17a9737a50d73fdfd20ddf985e51c2bb090fc76e9386a2353fe3f54fea522265c8c94629
+DIST firefox-107.0.1-sv-SE.xpi 550431 BLAKE2B 
29c03ca1085d8bff372bdb81479d43d5f055ba11e171de1cb7de53dcb7648081de1e988b11edfc1509d41e29214ebfb4926662c94768b0c3de6541fdd1d167fd
 SHA512 
84f9b91b77d8eb1ee283fe671f9c440338876002236969208f386ef00eb00271074685108b69e55fbe95317e223ed67158eb9e741155c5267ca5eef4e979359f
+DIST firefox-107.0.1-szl.xpi 511813 BLAKE2B 
008466485cf93a7b28b15d4896462c72666cf12e4cd4177e01cef50170ab5154f860d275d943419bb719f584f0e613ccfa28ac3407d89752be9bc465f8b8db22
 SHA512 
653e6f8d3e9c12551426668ab27efded8641bcb74b4b2545b2287fe0d367ca4ec200a2ee32c9365956ef7524300bb1f611bb40fd2b5c7870b595b870e69186f3
+DIST firefox-107.0.1-ta.xpi 503959 BLAKE2B 
35806726c2b9222bcc3c984dd3f40e405bc8a205cc04a1fce4267b4767bb4e16efc205ae969e52ef004c43e1bebc2ed14f24ba2b04fc318a92d8d4e4ee30b31b
 SHA512 
429902bb4fc55dfe93c6e044fa7540692b50e6958a4f403ff7b5e26610fb9718eb1c0671418454342a2a04dd1c2c21460b00f48a35b79c6ffd21682337e3674e
+DIST firefox-107.0.1-te.xpi 550791 BLAKE2B 
033471660c1f3c9c19dad3580740aac1d001e9d45637de11537e65ccd3379a19aff7c517b5f1066ad1330be69cfd094adb0b5ab517934c2be89fa513d5cde384
 SHA512 
ec0450e482cc72521cf84047055e721299245839911f226b70149f5d3e7737f01a4ad68c005d673032f80ef463c1d7bd1f7be74ad56ded16842510737a83fa5e
+DIST firefox-107.0.1-th.xpi 617234 BLAKE2B 
2fd2b8f875dedca11a147405748dd264f150da276d9c7e8d76df3372a328f008441eff8bfc7079e5eaf12532c948b8144abd08cb4eb55bee4dbc99d7d3dacf21
 SHA512 
5e6716712d389fc216d20468f4938ef856667413c548c358f0f619fde61d7060ddda81680e9d03a58f69168dde5583b64d9f7dda1592807d63967ea01a004b9a
+DIST firefox-107.0.1-tl.xpi 517170 BLAKE2B 
e4b7330527a5b9f2b26cb00a5bb0e9235f81bd535b3df5ffd04a77dd64a8fab7ac851ac60a3afcc4cc6433a8d6d138c50461d6fd61d9540f6d142ee882bf8c45
 SHA512 
fa5ef8bfaf1d585df7f58ea2bcc9a53a91a9bf2c0bba51e8c5084b649c3fcba22fb4dcc55a1d9ad5ebe76e066112a83cdf244067105ae38642991e3b6471a7be
+DIST firefox-107.0.1-tr.xpi 564032 BLAKE2B 
940a9c1cbe3da18f8dd493425f7bdea7264756af484fbd836ca933236e4cc198302db870b389012035cefe660a97953f790d140039c37a70efaa32948e9655fd
 SHA512 
3a7a9f0e45942cc07f1483eb27dd24df8653fd571509ef3667826698d6bd08634018672fd49d8b7496911251f2f103cdc4c29321b1e5e65dd7e713813f732fce
+DIST firefox-107.0.1-trs.xpi 481809 BLAKE2B 
9e671e7e10889352af3c4420e541fc9da2f8c8548365a840aa8052198901d915bbb6b5368c82aec5730db735f27d194268b6b2dd4eeedfb13d21ffc10560ca7a
 SHA512 
92ddc7ac9ba74b56cd73f00aec7a5c5c9485c6370c7a65f20177f6d7bbd4096bc9d1fae541a679c6375cf2324976a2cb8f59a05aaa1d3de3daa981ccb249551b
+DIST firefox-107.0.1-uk.xpi 634111 BLAKE2B 
c6371d66495ed14fead561c7899b5f9223b443e8d2b8a5d6e4973289398c940fa87823641cc4bca42590676fcdcac2db4dcaacf023c8d926540a942aac692f25
 SHA512 
afb80ab6bc3a008035222bfb2b0d576e55c1f96577cd522f9f7f2815f1b40b502c482e56d1cb8fef2bfb5a28c10b9c60fb8a2fd69a80dc51fcb490224c1e2b94
+DIST firefox-107.0.1-ur.xpi 553081 BLAKE2B 
9b64dbd578e695f2e8efd012bd52527b6f024e31d2e0816e1d6cae3535320c27650904cadf3fe0419edf36fc654d514184ec00cf7df8e98b4b4b458560fe339f
 SHA512 
e155e942d8e7aafbffcbc7b16b7745322a2f41e2872d4de0c5499deb647739086d9f5522f73b3ba5fb64f152ea3d486fd40c837542f4d69d6c41b245d6389816
+DIST firefox-107.0.1-uz.xpi 473055 BLAKE2B 
c9a21bb2d7c2886c95829e99a8bce06f47301acfcf6c76d919309ce4c70b1c2bc6b47bd8f9bd80c7350e6e375a61f48283405412948b7607ebfd35b3833a2e24
 SHA512 
905434a50b9f264fd26095005cf0c9d155181e9cc6260c1a8ef26c1139a64afa7d21b8b827f01f221c578a0cf3e8c9b5082f30ddcc726a45b6a420310d321dc1
+DIST firefox-107.0.1-vi.xpi 585158 BLAKE2B 
5c030fed4c996d44c712065191f8f3c8248c790b45b68cda43779542767e5349697ae83766599455c676382866d2531b3cbab7921033ff09c47e8c5e804c9caa
 SHA512 
4c3d86fe4255f121ff2ed3e252f6b379610abafa2017fe13aed520e217e666ba7443c08989ac47115670e2ad69730583bccace14bde595345efd7dcbf991cdbf
+DIST firefox-107.0.1-xh.xpi 414832 BLAKE2B 
3db7a14a5cde7a36fb0ddaf3c452787f8b4835b6cc025334dfec8a0f131040b3eea4171784b8ec39f7370047eb0f58d5b16904282d3d9a38d5df2727b08ab7c9
 SHA512 
36006fe32b4a6b5ffe208006ec6df870d280d7040ca1c52182839e9ad3de4e5fadd49f942170751549158f6ce894d560fad88c3f78ad92a9e92f07b007e10057
+DIST firefox-107.0.1-zh-CN.xpi 585099 BLAKE2B 
98bf9c88917666a9316c8c7170dfc83e7a88d2deebd853b282af0b3854405a9ac258204df9013115dde2b8a0789c431396a8d9be6dc6ee7ff7a81a7f3748916a
 SHA512 
393e75b0ec843b00f874ca44b0a378bf823223bc83a107bb8bfde5277c590a5c05b3633a72dd52b24e6d5755e19e844cb70ec15a12c696aaa53852ff95d6736a
+DIST firefox-107.0.1-zh-TW.xpi 586226 BLAKE2B 
b3f7b7831a501304dc47282f07f3edc1315a109a4de76956194644db2164544e8b2f85ec9dd98f2d9e7393d41ed603cf8b3cf3990c4fdf9e650cd453e61185f3
 SHA512 
18a5f6890a2f291bfab58252b5456df7e61f3f6289c84ce5112e1e1d7228fb3d2ec92d0f6a7669ee81ec8ccbca4ecc858ded8e5f2ecaf9839d38426851f8e3c3
+DIST firefox-107.0.1.source.tar.xz 508678860 BLAKE2B 
cab3d7e723c9927518a3acfbf8d0db7846074000933074309b9bea1dcc2e182b579a7a6b2763bafeaf813d9846c4539d6e73cf75734844f3207525aff7e5c8be
 SHA512 
e57e4bfcecbcc6dbe73f23577a14a2998c8c3f3d602f85ea06f99e0974e78481b9f7bdb019cb4e9733e59f56be1407edd64a2adb7b284bb4a87b46b1e2295dea
 DIST firefox-107.0.source.tar.xz 510848468 BLAKE2B 
3266e1dafb3e0befe746f6ae33679474e70335b32baafc25981c7a13f385d6080a313887c7828d76a47d2e456056c6d93140b84f1eee502dc9590247d31ecff2
 SHA512 
4b442631079a13e1d11223499b1d8daf622d9d84b38898f9084670ddcb5738b73e0d967a5050d5930bf862aa69e8d46ebf6d751ac6d0f075a1d75ff4738bdb6e

diff --git a/www-client/firefox/firefox-107.0.1.ebuild 
b/www-client/firefox/firefox-107.0.1.ebuild
new file mode 100644
index 000000000000..e5d25a646f1a
--- /dev/null
+++ b/www-client/firefox/firefox-107.0.1.ebuild
@@ -0,0 +1,1328 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-107-patches-02j.tar.xz"
+
+LLVM_MAX_SLOT=15
+
+PYTHON_COMPAT=( python3_{8..11} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="manual"
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+       MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+       # Convert the ebuild version to the upstream Mozilla version
+       MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+       MOZ_PV="${MOZ_PV/_beta/b}"  # Handle beta for SRC_URI
+       MOZ_PV="${MOZ_PV%%_rc*}"    # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+       # ESR releases have slightly different version numbers
+       MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
+       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/~{juippis,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> 
${MOZ_P_DISTFILES}.source.tar.xz
+       ${PATCH_URIS[@]}"
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox";
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+SLOT="rapid"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
+IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent 
+system-libvpx system-png system-python-libs +system-webp"
+IUSE+=" wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" geckodriver +gmp-autoupdate screencast"
+
+REQUIRED_USE="|| ( X wayland )
+       debug? ( !system-av1 )
+       pgo? ( lto )
+       wifi? ( dbus )"
+
+# Firefox-only REQUIRED_USE flags
+REQUIRED_USE+=" screencast? ( wayland )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+       !www-client/firefox:esr
+       screencast? ( media-video/pipewire:= )
+       selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+       || (
+               (
+                       sys-devel/clang:15
+                       sys-devel/llvm:15
+                       clang? (
+                               sys-devel/lld:15
+                               virtual/rust:0/llvm-15
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-15*[profile] )
+                       )
+               )
+               (
+                       sys-devel/clang:14
+                       sys-devel/llvm:14
+                       clang? (
+                               sys-devel/lld:14
+                               virtual/rust:0/llvm-14
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-14*[profile] )
+                       )
+               )
+       )
+       app-arch/unzip
+       app-arch/zip
+       >=dev-util/cbindgen-0.24.3
+       net-libs/nodejs
+       virtual/pkgconfig
+       !clang? ( virtual/rust )
+       amd64? ( >=dev-lang/nasm-2.14 )
+       x86? ( >=dev-lang/nasm-2.14 )
+       pgo? (
+               X? (
+                       x11-base/xorg-server[xvfb]
+                       x11-apps/xhost
+               )
+               wayland? (
+                       >=gui-libs/wlroots-0.15.1-r1[tinywl]
+                       x11-misc/xkeyboard-config
+               )
+       )"
+COMMON_DEPEND="${FF_ONLY_DEPEND}
+       >=app-accessibility/at-spi2-core-2.46.0:2
+       dev-libs/expat
+       dev-libs/glib:2
+       dev-libs/libffi:=
+       >=dev-libs/nss-3.84
+       >=dev-libs/nspr-4.35
+       media-libs/alsa-lib
+       media-libs/fontconfig
+       media-libs/freetype
+       media-libs/mesa
+       media-video/ffmpeg
+       sys-libs/zlib
+       virtual/freedesktop-icon-theme
+       x11-libs/cairo
+       x11-libs/gdk-pixbuf
+       x11-libs/pango
+       x11-libs/pixman
+       dbus? (
+               dev-libs/dbus-glib
+               sys-apps/dbus
+       )
+       jack? ( virtual/jack )
+       libproxy? ( net-libs/libproxy )
+       selinux? ( sec-policy/selinux-mozilla )
+       sndio? ( >=media-sound/sndio-1.8.0-r1 )
+       screencast? ( media-video/pipewire:= )
+       system-av1? (
+               >=media-libs/dav1d-1.0.0:=
+               >=media-libs/libaom-1.0.0:=
+       )
+       system-harfbuzz? (
+               >=media-gfx/graphite2-1.3.13
+               >=media-libs/harfbuzz-2.8.1:0=
+       )
+       system-icu? ( >=dev-libs/icu-71.1:= )
+       system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
+       system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads] )
+       system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+       system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+       system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+       wayland? (
+               >=media-libs/libepoxy-1.5.10-r1
+               x11-libs/gtk+:3[wayland]
+               x11-libs/libdrm
+               x11-libs/libxkbcommon[wayland]
+       )
+       wifi? (
+               kernel_linux? (
+                       dev-libs/dbus-glib
+                       net-misc/networkmanager
+                       sys-apps/dbus
+               )
+       )
+       X? (
+               virtual/opengl
+               x11-libs/cairo[X]
+               x11-libs/gtk+:3[X]
+               x11-libs/libX11
+               x11-libs/libXcomposite
+               x11-libs/libXdamage
+               x11-libs/libXext
+               x11-libs/libXfixes
+               x11-libs/libxkbcommon[X]
+               x11-libs/libXrandr
+               x11-libs/libXtst
+               x11-libs/libxcb:=
+       )"
+RDEPEND="${COMMON_DEPEND}
+       jack? ( virtual/jack )
+       openh264? ( media-libs/openh264:*[plugin] )
+       pulseaudio? (
+               || (
+                       media-sound/pulseaudio
+                       >=media-sound/apulse-0.1.12-r4
+               )
+       )"
+DEPEND="${COMMON_DEPEND}
+       pulseaudio? (
+               || (
+                       media-sound/pulseaudio
+                       >=media-sound/apulse-0.1.12-r4[sdk]
+               )
+       )
+       X? (
+               x11-libs/libICE
+               x11-libs/libSM
+       )"
+
+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
+               einfo "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
+                       einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot 
use LLVM slot ${LLVM_SLOT} ..." >&2
+                       return 1
+               fi
+
+               if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
+                       einfo "virtual/rust:0/llvm-${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}*[profile]" ; then
+                               einfo 
"=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] 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=(
+       af ar ast be bg br ca cak cs cy da de dsb
+       el en-CA en-GB en-US es-AR es-ES et eu
+       fi fr fy-NL ga-IE gd gl he hr hsb hu
+       id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+       pa-IN pl pt-BR pt-PT rm ro ru
+       sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+# Firefox-only LANGS
+MOZ_LANGS+=( ach )
+MOZ_LANGS+=( an )
+MOZ_LANGS+=( az )
+MOZ_LANGS+=( bn )
+MOZ_LANGS+=( bs )
+MOZ_LANGS+=( ca-valencia )
+MOZ_LANGS+=( eo )
+MOZ_LANGS+=( es-CL )
+MOZ_LANGS+=( es-MX )
+MOZ_LANGS+=( fa )
+MOZ_LANGS+=( ff )
+MOZ_LANGS+=( gn )
+MOZ_LANGS+=( gu-IN )
+MOZ_LANGS+=( hi-IN )
+MOZ_LANGS+=( hy-AM )
+MOZ_LANGS+=( ia )
+MOZ_LANGS+=( km )
+MOZ_LANGS+=( kn )
+MOZ_LANGS+=( lij )
+MOZ_LANGS+=( mk )
+MOZ_LANGS+=( mr )
+MOZ_LANGS+=( my )
+MOZ_LANGS+=( ne-NP )
+MOZ_LANGS+=( oc )
+MOZ_LANGS+=( sco )
+MOZ_LANGS+=( si )
+MOZ_LANGS+=( son )
+MOZ_LANGS+=( szl )
+MOZ_LANGS+=( ta )
+MOZ_LANGS+=( te )
+MOZ_LANGS+=( tl )
+MOZ_LANGS+=( trs )
+MOZ_LANGS+=( ur )
+MOZ_LANGS+=( xh )
+
+mozilla_set_globals() {
+       # https://bugs.gentoo.org/587334
+       local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+               fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+       )
+
+       local lang xflag
+       for lang in "${MOZ_LANGS[@]}" ; do
+               # en and en_US are handled internally
+               if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+                       continue
+               fi
+
+               # strip region subtag if $lang is in the list
+               if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+                       xflag=${lang%%-*}
+               else
+                       xflag=${lang}
+               fi
+
+               SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+               SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> 
${MOZ_P_DISTFILES}-${lang}.xpi"
+               SRC_URI+=" )"
+               IUSE+=" l10n_${xflag/[_@]/-}"
+       done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -ne 1 ]] ; then
+               die "${FUNCNAME} requires exact one argument"
+       fi
+
+       einfo "Clearing cargo checksums for ${1} ..."
+
+       sed -i \
+               -e 's/\("files":{\)[^}]*/\1/' \
+               "${S}"/third_party/rust/${1}/.cargo-checksum.json \
+               || die
+}
+
+moz_install_xpi() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local DESTDIR=${1}
+       shift
+
+       insinto "${DESTDIR}"
+
+       local emid xpi_file xpi_tmp_dir
+       for xpi_file in "${@}" ; do
+               emid=
+               xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+               # Unpack XPI
+               unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+               # Determine extension ID
+               if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+                       emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; 
s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+                       [[ -z "${emid}" ]] && die "failed to determine 
extension id from install.rdf"
+               elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+                       emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' 
"${xpi_tmp_dir}/manifest.json")
+                       [[ -z "${emid}" ]] && die "failed to determine 
extension id from manifest.json"
+               else
+                       die "failed to determine extension id"
+               fi
+
+               einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+               newins "${xpi_file}" "${emid}.xpi"
+       done
+}
+
+mozconfig_add_options_ac() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local reason=${1}
+       shift
+
+       local option
+       for option in ${@} ; do
+               echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+       done
+}
+
+mozconfig_add_options_mk() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local reason=${1}
+       shift
+
+       local option
+       for option in ${@} ; do
+               echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+       done
+}
+
+mozconfig_use_enable() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 1 ]] ; then
+               die "${FUNCNAME} requires at least one arguments"
+       fi
+
+       local flag=$(use_enable "${@}")
+       mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" 
"${flag}"
+}
+
+mozconfig_use_with() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 1 ]] ; then
+               die "${FUNCNAME} requires at least one arguments"
+       fi
+
+       local flag=$(use_with "${@}")
+       mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" 
"${flag}"
+}
+
+virtwl() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
+       [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to 
be set; try xdg_environment_reset"
+       tinywl -h >/dev/null || die 'tinywl -h failed'
+
+       # TODO: don't run addpredict in utility function. WLR_RENDERER=pixman 
doesn't work
+       addpredict /dev/dri
+       local VIRTWL VIRTWL_PID
+       coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo 
$WAYLAND_DISPLAY; read _; kill $PPID'; }
+       local -x WAYLAND_DISPLAY
+       read WAYLAND_DISPLAY <&${VIRTWL[0]}
+
+       debug-print "${FUNCNAME}: $@"
+       "$@"
+
+       [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+       exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+}
+
+pkg_pretend() {
+       if [[ ${MERGE_TYPE} != binary ]] ; then
+               if use pgo ; then
+                       if ! has usersandbox $FEATURES ; then
+                               die "You must enable usersandbox as X server 
can not run as root!"
+                       fi
+               fi
+
+               # Ensure we have enough disk space to compile
+               if use pgo || use lto || use debug ; then
+                       CHECKREQS_DISK_BUILD="13500M"
+               else
+                       CHECKREQS_DISK_BUILD="6600M"
+               fi
+
+               check-reqs_pkg_pretend
+       fi
+}
+
+pkg_setup() {
+       if [[ ${MERGE_TYPE} != binary ]] ; then
+               if use pgo ; then
+                       if ! has userpriv ${FEATURES} ; then
+                               eerror "Building ${PN} with USE=pgo and 
FEATURES=-userpriv is not supported!"
+                       fi
+               fi
+
+               # Ensure we have enough disk space to compile
+               if use pgo || use lto || use debug ; then
+                       CHECKREQS_DISK_BUILD="13500M"
+               else
+                       CHECKREQS_DISK_BUILD="6400M"
+               fi
+
+               check-reqs_pkg_setup
+
+               llvm_pkg_setup
+
+               if use clang && use lto ; then
+                       local version_lld=$(ld.lld --version 2>/dev/null | awk 
'{ print $2 }')
+                       [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 
"${version_lld}")
+                       [[ -z ${version_lld} ]] && die "Failed to read ld.lld 
version!"
+
+                       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"
+                               eerror "  - Rebuild lld with llvm that was used 
to build rust (may need to rebuild the whole "
+                               eerror "    llvm/clang/lld/rust chain depending 
on your @world updates)"
+                               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 use pgo ; then
+                       # Update 105.0: "/proc/self/oom_score_adj" isn't enough 
anymore with pgo, but not sure
+                       # whether that's due to better OOM handling by Firefox 
(bmo#1771712), or portage
+                       # (PORTAGE_SCHEDULING_POLICY) update...
+                       addpredict /proc
+
+                       # May need a wider addpredict when using wayland+pgo.
+                       addpredict /dev/dri
+
+                       # Allow access to GPU during PGO run
+                       local ati_cards mesa_cards nvidia_cards render_cards
+                       shopt -s nullglob
+
+                       ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
+                       if [[ -n "${ati_cards}" ]] ; then
+                               addpredict "${ati_cards}"
+                       fi
+
+                       mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
+                       if [[ -n "${mesa_cards}" ]] ; then
+                               addpredict "${mesa_cards}"
+                       fi
+
+                       nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
+                       if [[ -n "${nvidia_cards}" ]] ; then
+                               addpredict "${nvidia_cards}"
+                       fi
+
+                       render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ 
/:/g')
+                       if [[ -n "${render_cards}" ]] ; then
+                               addpredict "${render_cards}"
+                       fi
+
+                       shopt -u nullglob
+               fi
+
+               if ! mountpoint -q /dev/shm ; then
+                       # If /dev/shm is not available, configure is known to 
fail with
+                       # a traceback report referencing 
/usr/lib/pythonN.N/multiprocessing/synchronize.py
+                       ewarn "/dev/shm is not mounted -- expect build 
failures!"
+               fi
+
+               # Google API keys (see 
http://www.chromium.org/developers/how-tos/api-keys)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+                       
MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+               fi
+
+               if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+                       
MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+               fi
+
+               # Mozilla API keys (see 
https://location.services.mozilla.com/api)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+                       
MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+               fi
+
+               # Ensure we use C locale when building, bug #746215
+               export LC_ALL=C
+       fi
+
+       CONFIG_CHECK="~SECCOMP"
+       WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to 
play DRM-protected content."
+       linux-info_pkg_setup
+}
+
+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
+       ! use ppc64 && rm -v 
"${WORKDIR}"/firefox-patches/*bmo-1775202-ppc64*.patch
+       eapply "${WORKDIR}/firefox-patches"
+
+       # Allow user to apply any additional patches without modifing ebuild
+       eapply_user
+
+       # Make cargo respect MAKEOPTS
+       export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+       # 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 crate checksums where we have applied patches
+       moz_clear_vendor_checksums bindgen
+
+       # Create build dir
+       BUILD_DIR="${WORKDIR}/${PN}_build"
+       mkdir -p "${BUILD_DIR}" || die
+
+       # Write API keys to disk
+       echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+       echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || 
die
+       echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+       xdg_environment_reset
+}
+
+src_configure() {
+       # Show flags set at the beginning
+       einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+       einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+       einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+       einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+       einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+       local have_switched_compiler=
+       if use clang; then
+               # Force clang
+               einfo "Enforcing the use of clang due to USE=clang ..."
+               if tc-is-gcc; then
+                       have_switched_compiler=yes
+               fi
+               AR=llvm-ar
+               CC=${CHOST}-clang
+               CXX=${CHOST}-clang++
+               NM=llvm-nm
+               RANLIB=llvm-ranlib
+       elif ! use clang && ! tc-is-gcc ; then
+               # Force gcc
+               have_switched_compiler=yes
+               einfo "Enforcing the use of gcc due to USE=-clang ..."
+               AR=gcc-ar
+               CC=${CHOST}-gcc
+               CXX=${CHOST}-g++
+               NM=gcc-nm
+               RANLIB=gcc-ranlib
+       fi
+
+       if [[ -n "${have_switched_compiler}" ]] ; then
+               # Because we switched active compiler we have to ensure
+               # that no unsupported flags are set
+               strip-unsupported-flags
+       fi
+
+       # Ensure we use correct toolchain,
+       # AS is used in a non-standard way by upstream, #bmo1654031
+       export HOST_CC="$(tc-getBUILD_CC)"
+       export HOST_CXX="$(tc-getBUILD_CXX)"
+       export AS="$(tc-getCC) -c"
+       tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG
+
+       # Pass the correct toolchain paths through cbindgen
+       if tc-is-cross-compiler ; then
+               export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} 
--target=${CHOST} ${BINDGEN_CFLAGS-}"
+       fi
+
+       # Set MOZILLA_FIVE_HOME
+       export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+       # python/mach/mach/mixin/process.py fails to detect SHELL
+       export SHELL="${EPREFIX}/bin/bash"
+
+       # Set state path
+       export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+       # Set MOZCONFIG
+       export MOZCONFIG="${S}/.mozconfig"
+
+       # Initialize MOZCONFIG
+       mozconfig_add_options_ac '' --enable-application=browser
+
+       # Set Gentoo defaults
+       export MOZILLA_OFFICIAL=1
+
+       mozconfig_add_options_ac 'Gentoo default' \
+               --allow-addon-sideload \
+               --disable-cargo-incremental \
+               --disable-crashreporter \
+               --disable-gpsd \
+               --disable-install-strip \
+               --disable-parental-controls \
+               --disable-strip \
+               --disable-updater \
+               --enable-negotiateauth \
+               --enable-new-pass-manager \
+               --enable-official-branding \
+               --enable-release \
+               --enable-system-ffi \
+               --enable-system-pixman \
+               --enable-system-policies \
+               --host="${CBUILD:-${CHOST}}" \
+               --libdir="${EPREFIX}/usr/$(get_libdir)" \
+               --prefix="${EPREFIX}/usr" \
+               --target="${CHOST}" \
+               --without-ccache \
+               --without-wasm-sandboxed-libraries \
+               --with-intl-api \
+               --with-libclang-path="$(llvm-config --libdir)" \
+               --with-system-nspr \
+               --with-system-nss \
+               --with-system-zlib \
+               --with-toolchain-prefix="${CHOST}-" \
+               --with-unsigned-addon-scopes=app,system \
+               --x-includes="${ESYSROOT}/usr/include" \
+               --x-libraries="${ESYSROOT}/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
+
+       # For future keywording: This is currently (97.0) only supported on:
+       # amd64, arm, arm64 & x86.
+       # Might want to flip the logic around if Firefox is to support more 
arches.
+       if use ppc64; then
+               mozconfig_add_options_ac '' --disable-sandbox
+       else
+               mozconfig_add_options_ac '' --enable-sandbox
+       fi
+
+       if [[ -s "${S}/api-google.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 
}') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       
--with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+       else
+               einfo "Building without Google API key ..."
+       fi
+
+       if [[ -s "${S}/api-location.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 
}') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       
--with-google-location-service-api-keyfile="${S}/api-location.key"
+       else
+               einfo "Building without Location API key ..."
+       fi
+
+       if [[ -s "${S}/api-mozilla.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 
}') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+       else
+               einfo "Building without Mozilla API key ..."
+       fi
+
+       mozconfig_use_with system-av1
+       mozconfig_use_with system-harfbuzz
+       mozconfig_use_with system-harfbuzz system-graphite2
+       mozconfig_use_with system-icu
+       mozconfig_use_with system-jpeg
+       mozconfig_use_with system-libevent
+       mozconfig_use_with system-libvpx
+       mozconfig_use_with system-png
+       mozconfig_use_with system-webp
+
+       mozconfig_use_enable dbus
+       mozconfig_use_enable libproxy
+
+       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
+
+       local myaudiobackends=""
+       use jack && myaudiobackends+="jack,"
+       use sndio && myaudiobackends+="sndio,"
+       use pulseaudio && myaudiobackends+="pulseaudio,"
+       ! use pulseaudio && myaudiobackends+="alsa,"
+
+       mozconfig_add_options_ac '--enable-audio-backends' 
--enable-audio-backends="${myaudiobackends::-1}"
+
+       mozconfig_use_enable wifi necko-wifi
+
+       if use X && use wayland ; then
+               mozconfig_add_options_ac '+x11+wayland' 
--enable-default-toolkit=cairo-gtk3-x11-wayland
+       elif ! use X && use wayland ; then
+               mozconfig_add_options_ac '+wayland' 
--enable-default-toolkit=cairo-gtk3-wayland-only
+       else
+               mozconfig_add_options_ac '+x11' 
--enable-default-toolkit=cairo-gtk3
+       fi
+
+       if use lto ; then
+               if use clang ; then
+                       # Upstream only supports lld when using clang
+                       mozconfig_add_options_ac "forcing ld=lld due to 
USE=clang and USE=lto" --enable-linker=lld
+
+                       mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+               else
+                       # ThinLTO is currently broken, see bmo#1644409
+                       mozconfig_add_options_ac '+lto' --enable-lto=full
+                       mozconfig_add_options_ac "linker is set to bfd" 
--enable-linker=bfd
+               fi
+
+               if use pgo ; then
+                       mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+                       if use clang ; then
+                               # Used in build/pgo/profileserver.py
+                               export LLVM_PROFDATA="llvm-profdata"
+                       fi
+               fi
+       else
+               # Avoid auto-magic on linker
+               if use clang ; then
+                       # This is upstream's default
+                       mozconfig_add_options_ac "forcing ld=lld due to 
USE=clang" --enable-linker=lld
+               else
+                       mozconfig_add_options_ac "linker is set to bfd" 
--enable-linker=bfd
+               fi
+       fi
+
+       # LTO flag was handled via configure
+       filter-flags '-flto*'
+
+       mozconfig_use_enable debug
+       if use debug ; then
+               mozconfig_add_options_ac '+debug' --disable-optimize
+       else
+               if is-flag '-g*' ; then
+                       if use clang ; then
+                               mozconfig_add_options_ac 'from CFLAGS' 
--enable-debug-symbols=$(get-flag '-g*')
+                       else
+                               mozconfig_add_options_ac 'from CFLAGS' 
--enable-debug-symbols
+                       fi
+               else
+                       mozconfig_add_options_ac 'Gentoo default' 
--disable-debug-symbols
+               fi
+
+               if is-flag '-O0' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O0
+               elif is-flag '-O4' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O4
+               elif is-flag '-O3' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O3
+               elif is-flag '-O1' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O1
+               elif is-flag '-Os' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-Os
+               else
+                       mozconfig_add_options_ac "Gentoo default" 
--enable-optimize=-O2
+               fi
+       fi
+
+       # Debug flag was handled via configure
+       filter-flags '-g*'
+
+       # Optimization flag was handled via configure
+       filter-flags '-O*'
+
+       # Modifications to better support ARM, bug #553364
+       if use cpu_flags_arm_neon ; then
+               mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
+
+               if ! tc-is-clang ; then
+                       # thumb options aren't supported when using clang, bug 
666966
+                       mozconfig_add_options_ac '+cpu_flags_arm_neon' \
+                               --with-thumb=yes \
+                               --with-thumb-interwork=no
+               fi
+       fi
+
+       if [[ ${CHOST} == armv*h* ]] ; then
+               mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
+
+               if ! use system-libvpx ; then
+                       sed -i \
+                               -e "s|softfp|hard|" \
+                               "${S}"/media/libvpx/moz.build \
+                               || die
+               fi
+       fi
+
+       if use clang ; then
+               # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
+               # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
+               # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 
'x86', 'x86_64')
+               local disable_elf_hack=
+               if use amd64 ; then
+                       disable_elf_hack=yes
+               elif use x86 ; then
+                       disable_elf_hack=yes
+               elif use arm ; then
+                       disable_elf_hack=yes
+               fi
+
+               if [[ -n ${disable_elf_hack} ]] ; then
+                       mozconfig_add_options_ac 'elf-hack is broken when using 
Clang' --disable-elf-hack
+               fi
+       elif tc-is-gcc ; then
+               if ver_test $(gcc-fullversion) -ge 10 ; then
+                       einfo "Forcing -fno-tree-loop-vectorize to workaround 
GCC bug, see bug 758446 ..."
+                       append-cxxflags -fno-tree-loop-vectorize
+               fi
+       fi
+
+       # Additional ARCH support
+       case "${ARCH}" in
+               arm)
+                       # Reduce the memory requirements for linking
+                       if use clang ; then
+                               # Nothing to do
+                               :;
+                       elif use lto ; then
+                               append-ldflags -Wl,--no-keep-memory
+                       else
+                               append-ldflags -Wl,--no-keep-memory 
-Wl,--reduce-memory-overheads
+                       fi
+                       ;;
+       esac
+
+       if ! use elibc_glibc ; then
+               mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+       fi
+
+       # Allow elfhack to work in combination with unstripped binaries
+       # when they would normally be larger than 2GiB.
+       append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+       # Make revdep-rebuild.sh happy; Also required for musl
+       append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+       # Pass $MAKEOPTS to build system
+       export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+       # Use system's Python environment
+       export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+       if use system-python-libs; then
+               export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system"
+       else
+               export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+       fi
+
+       # Disable notification when build system has finished
+       export MOZ_NOSPAM=1
+
+       # Portage sets XARGS environment variable to "xargs -r" by default which
+       # breaks build system's check_prog() function which doesn't support 
arguments
+       mozconfig_add_options_ac 'Gentoo default' 
"XARGS=${EPREFIX}/usr/bin/xargs"
+
+       # Set build dir
+       mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+       # Show flags we will use
+       einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+       einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+       einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+       einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+       einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+       # Handle EXTRA_CONF and show summary
+       local ac opt hash reason
+
+       # Apply EXTRA_ECONF entries to $MOZCONFIG
+       if [[ -n ${EXTRA_ECONF} ]] ; then
+               IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+               for opt in "${ac[@]}"; do
+                       mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+               done
+       fi
+
+       echo
+       echo "=========================================================="
+       echo "Building ${PF} with the following configuration"
+       grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+               [[ -z ${hash} || ${hash} == \# ]] \
+                       || die "error reading mozconfig: ${ac} ${opt} ${hash} 
${reason}"
+               printf "    %-30s  %s\n" "${opt}" "${reason:-mozilla.org 
default}"
+       done
+       echo "=========================================================="
+       echo
+
+       ./mach configure || die
+}
+
+src_compile() {
+       local virtx_cmd=
+
+       if use pgo; then
+               # Reset and cleanup environment variables used by GNOME/XDG
+               gnome2_environment_reset
+
+               addpredict /root
+
+               if ! use X; then
+                       virtx_cmd=virtwl
+               else
+                       virtx_cmd=virtx
+               fi
+       fi
+
+       if ! use X; then
+               local -x GDK_BACKEND=wayland
+       else
+               local -x GDK_BACKEND=x11
+       fi
+
+       ${virtx_cmd} ./mach build --verbose || die
+}
+
+src_install() {
+       # xpcshell is getting called during install
+       pax-mark m \
+               "${BUILD_DIR}"/dist/bin/xpcshell \
+               "${BUILD_DIR}"/dist/bin/${PN} \
+               "${BUILD_DIR}"/dist/bin/plugin-container
+
+       DESTDIR="${D}" ./mach install || die
+
+       # Upstream cannot ship symlink but we can (bmo#658850)
+       rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+       dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+       # Don't install llvm-symbolizer from sys-devel/llvm package
+       if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+               rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+       fi
+
+       # Install policy (currently only used to disable application updates)
+       insinto "${MOZILLA_FIVE_HOME}/distribution"
+       newins "${FILESDIR}"/distribution.ini distribution.ini
+       newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+       # Install system-wide preferences
+       local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+       insinto "${PREFS_DIR}"
+       newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+       local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.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-r2 \
+               >>"${GENTOO_PREFS}" \
+               || die "failed to add prefs to force hardware-accelerated 
rendering to all-gentoo.js"
+
+               if use wayland; then
+                       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
hwaccel wayland prefs"
+                       pref("gfx.x11-egl.force-enabled",          false);
+                       EOF
+               else
+                       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
hwaccel x11 prefs"
+                       pref("gfx.x11-egl.force-enabled",          true);
+                       EOF
+               fi
+       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 menu
+       local app_name="Mozilla ${MOZ_PN^}"
+       local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+       local desktop_filename="${PN}.desktop"
+       local exec_command="${PN}"
+       local icon="${PN}"
+       local use_wayland="false"
+
+       if use wayland ; then
+               use_wayland="true"
+       fi
+
+       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
+
+       # Install wrapper script
+       [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+       newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+       # Update wrapper
+       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}:" \
+               "${ED}/usr/bin/${PN}" \
+               || die
+}
+
+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
+       local show_normandy_information
+       local show_shortcut_information
+
+       if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+               # New install; Tell user that DoH is disabled by default
+               show_doh_information=yes
+               show_normandy_information=yes
+               show_shortcut_information=no
+       else
+               local replacing_version
+               for replacing_version in ${REPLACING_VERSIONS} ; do
+                       if ver_test "${replacing_version}" -lt 91.0 ; then
+                               # Tell user that we no longer install a shortcut
+                               # per supported display protocol
+                               show_shortcut_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
+
+       if [[ -n "${show_shortcut_information}" ]] ; then
+               elog
+               elog "Since ${PN}-91.0 we no longer install multiple shortcuts 
for"
+               elog "each supported display protocol.  Instead we will only 
install"
+               elog "one generic Mozilla ${PN^} shortcut."
+               elog "If you still want to be able to select between running 
Mozilla ${PN^}"
+               elog "on X11 or Wayland, you have to re-create these shortcuts 
on your own."
+       fi
+
+       # bug 835078
+       if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
+               ewarn "You have nouveau drivers installed in your system and 
'hwaccel' "
+               ewarn "enabled for Firefox. Nouveau / your GPU might not 
support the "
+               ewarn "required EGL, so either disable 'hwaccel' or try the 
workaround "
+               ewarn "explained in https://bugs.gentoo.org/835078#c5 if 
Firefox crashes."
+       fi
+
+       elog
+       elog "Unfortunately Firefox-100.0 breaks compatibility with some sites 
using "
+       elog "useragent checks. To temporarily fix this, enter about:config and 
modify "
+       elog "network.http.useragent.forceVersion preference to \"99\"."
+       elog "Or install an addon to change your useragent."
+       elog "See: 
https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100";
+       elog
+}

Reply via email to