commit:     d46c315ad0c7dfee3d6ad9bf77edb241e212bdec
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Fri Nov  4 11:07:02 2022 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Fri Nov  4 11:07:36 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d46c315a

mail-client/thunderbird: add 102.4.2

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

 mail-client/thunderbird/Manifest                   |   66 ++
 mail-client/thunderbird/thunderbird-102.4.2.ebuild | 1165 ++++++++++++++++++++
 2 files changed, 1231 insertions(+)

diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest
index 899ed0d33679..e5d8ed3490af 100644
--- a/mail-client/thunderbird/Manifest
+++ b/mail-client/thunderbird/Manifest
@@ -1,4 +1,5 @@
 DIST firefox-102esr-patches-04j.tar.xz 21860 BLAKE2B 
1cc1d6493912f85e71cb5a0ec2c3196cda203242f3503bb6ce8c23a93e71a6e8b1138f88498a6a9698066134cc234989b35cb378693fb2cbc9ba4caa8d66761d
 SHA512 
9f7188dd79b9856826ae2a60b0109c2c86c60c10b03cd1828a9f7a7576df5c49ed3e11e4d3319d80e117204d6bc3408e375a62ad16ec8d2e53f999cd298811d8
+DIST firefox-102esr-patches-05j.tar.xz 22180 BLAKE2B 
ea90ac860b20e6c44ad0abcc0275ffb8d09f29df07b9031b45642163408a0ed88a7ea3c5f2d40020ae1129521f3234c4bc22b2956a4aaf8679fe5f2e85c18fd4
 SHA512 
93733f8e3cbd19b5cbfb62487369ca7e5fda8f3335539e5af66d3d89c8b0bbcca4251bb56d92a008d47a6790f5cb2874268b2421c307307bbd34e4b3712b403e
 DIST thunderbird-102.4.0-af.xpi 551915 BLAKE2B 
13681d8aac920cc3295760e3ae21717d8fa67c35557216c70044b0e0d53515985e7a1c1508199149d34ea1dc6d0fe209091da3a30e1f0f9654b7c9ee607cd44a
 SHA512 
960d9abcb20ce01ad1156c0851e8911f20de7de6e81968f85eeffadec76a1e322c7072b098f8001f0f9f252ccd5079efbec1d4ca41bcd2c5202982e3d7590b99
 DIST thunderbird-102.4.0-ar.xpi 656148 BLAKE2B 
9e83046403ddbb6701efa85da7c9492e852bc61bbf67287447c51a57d48934fa7e1111147ddef881b40eecbfb1da30c0d28cc9f215e210defdef583bed515936
 SHA512 
3ad66f30160bb1ec4d881849e96e511cfd71cda4b1b5d559bcec5e4268085e2c6fad30b7a7ce276b9e01cc70193bdc097e0870538c60ff3c4d86e8e23735b9b4
 DIST thunderbird-102.4.0-ast.xpi 564832 BLAKE2B 
83e12d4c8de9ef10bd5801ba54e2c37c718303f204bb730f99a3769b0931a62144d17fb699a24baffb3b16ca506638074a3d1f586f6c128f1874d70bf2d50ce2
 SHA512 
f07d7aa6d5c809506a10ddd79d1542045f4d222eca7ec5889a06ce539e10a291b8fae89cb500476a8945c2d2a093e102e08fe56cb27e9211ddd2780805a429f6
@@ -129,3 +130,68 @@ DIST thunderbird-102.4.1-vi.xpi 724844 BLAKE2B 
5e8a9477e941b796fcee5d2c191396290
 DIST thunderbird-102.4.1-zh-CN.xpi 722695 BLAKE2B 
455c56d5756066913b9e4192f47e1b96d35c6122deacd6e26328dd2437f7f54e874efd27dad0113e286dfe704446ac4bd49c78d6cb71e3580692c5b2c8ef0c31
 SHA512 
4d9845511c89a5c641e74f524f4daee3c6ee36bb616499393ffcec9b336bcc91d04997dbec1bf2b833bdbd38f96d4e49882aa65a7c03258b08dc435d37c2f6ed
 DIST thunderbird-102.4.1-zh-TW.xpi 725965 BLAKE2B 
c4d532dca6fd01e31756fd4865abc4726a662ffe8f9221705ea9936b826d82791a3eb6bdab2128acbf5f6bf6152b16d3b98ca8c53fbf267b511b74d1b6a40345
 SHA512 
14b190ae8b0886996d9660d1ea32e9f33442d96f7dc61ab26731e119e3236a23c358d1a2385b6ee7facae53c78f1e94000b451a4c36d98ccc80630042af6f2a3
 DIST thunderbird-102.4.1.source.tar.xz 501950000 BLAKE2B 
3e846245e8208c046ba87f0df984c7f875fe9c03122e71d1af82db42e987007478104a56edf640f75932145dbd7ad9812cad0aff99295be5fd551d0396034fa8
 SHA512 
8855f7bf1ee2c9f6859189f3aa8afa5d851af2f4edb1a63e3804ec7796f228addf2819028ca6213f7c3f6c452cf4915801df1e706d7c84d8f15e0a627c77b7b6
+DIST thunderbird-102.4.2-af.xpi 551372 BLAKE2B 
da7fee00ca127cc49f5b94bc5614a48957f254f6c53d08aa61cab69df30cc7d1b2308e2c59f5a66301e46a5aaa011aa54e955b79eed079a21aa7eadf17ca3639
 SHA512 
14ebd81a8a226b23a2915a1e4082c6cbf0ed86ef47c03c98de8f9146319cceb84699863d1df53fa5b51c08b122ed600758069fe33875808b1cca99cfe8c2ff3c
+DIST thunderbird-102.4.2-ar.xpi 656150 BLAKE2B 
7a2c705155cc5959cb7b1b06a905d11f695f974b63e1ac6b5b548f8740aa3804712a1bee2f44968550ab1f559b167a5cdc534eb814191ad16aa2ed72a67b866b
 SHA512 
7507d5f7cb851d07e3b52002605e9ee003738dfcf7b67ade69534c603d4fae1312c0383faf517feaaaa8fa1a458afedfe3f1a3ec0eaac99364e718c1703632ce
+DIST thunderbird-102.4.2-ast.xpi 564287 BLAKE2B 
c1faabf71ca9707d35722f750017c67f7fb6955c410002aa530f880b6106b1908111d58f3ac1682800d0d7002e3fa979e3d35de89d1326d088855335ce5c42e1
 SHA512 
f8db940f7ebde72b73bfed6483c043a4c12ea516f3613f7f699c25c2fdac3f54f5601c9104a154670bf6cdbf95f66b7a24c042c4dd12adbaa2b1ec978d670c5a
+DIST thunderbird-102.4.2-be.xpi 686679 BLAKE2B 
106a5a32842dc591f47400150efada525f13a7383048d23b33aff761c1d6140b7e70d73f41b610e0cc17ac6fec930bb69e146e7c95ad45d483e71a4019be79a3
 SHA512 
4f1eac67a367f669fc5e0a59524a7cab5abf1090d3ba7644b69ebc477b92cdc558f968091a63f44e604e10be9226e3c08b607726b55447ac49cdeb718519fd98
+DIST thunderbird-102.4.2-bg.xpi 682268 BLAKE2B 
feb4e6f7d2958c413c93cc744d7118c7c6237aec5e8ceff27d91e0acf8fed948b420c74ea00ea06fcb1df40ee75263ee0bab803fb3e2f745b73968a83c789189
 SHA512 
9e441c90994ebda49f6f7c3b19137c3d3845faede3f4f07de2c3a164284d08fd8216b51961126bf9adda62318a84ad3c2b12d0dcf055ab7d3d450a926be4dfb5
+DIST thunderbird-102.4.2-br.xpi 615116 BLAKE2B 
b491616d53a06267d43afad2f5d1898983ade307235bdbfbf4dd38a9db6586d1087f561110220062f7036809d04d5bd20a73092a626476deaf9a40b846264e6f
 SHA512 
477ff50e728bc3eca193084420dd46088a1181e9f1444977c7d1b4e4c6bb0a6bb501c7526cb1a712fea8b7b159f1e6cfd2ab935bcd0290777c913ec048f0ec44
+DIST thunderbird-102.4.2-ca.xpi 636174 BLAKE2B 
48ca049d97beef13ed5bb6bc2bbef9b2c919e25c5c1a8484b698e899ff0baca9f3704f517a72fcb32a5930d65ab234ff06a0bfeb2ca0d87488cc2d79368eb62a
 SHA512 
8eed52dfa8ed94a1ab4aa0696770523b07a9e6c4551b76aa5d87ba699f5c5ddde6745b3f3074ce8786b2b52adc6dea8f8905464649518a38fba9b5d691005311
+DIST thunderbird-102.4.2-cak.xpi 641841 BLAKE2B 
78ccc24b6158ff743100b5a99f7f2f7a35d312250e74241e4552ffc65ede54d7fd3014df1a09f9fee620305eac2d65e6df5d74eab63af5f786e1acf266f84a06
 SHA512 
8c69d3201f011f2db121008f1d2ec81f2369e5f4b918d2092a3264d0f9c36a8f4f66219cd9c3dc4188d3a7a7a05176a9f298333fc5f0b4fd278f5ebe916b36bb
+DIST thunderbird-102.4.2-cs.xpi 706338 BLAKE2B 
40c1f19439d17966e3ca2730fab8a0a365a8a4556efc5f946b4e7a4ea7a08138e5da82b0410446f868ea38e4ba07617a0dfbb05cfdf3f8524b5215804f85c91f
 SHA512 
8263fa9357fefb2e8ffc21043356c502524ba0e190baa42d6a171be6b11d4e79f00de9058121940e31abc5f4c6a1eb95d4bd7de941d17ac541c64f3d9035347c
+DIST thunderbird-102.4.2-cy.xpi 684716 BLAKE2B 
34f151510eacf0fd7b25a0c6863b9a7d3a89eb4c0bdf65609501254f7c1a27ddd3e95b2ca0b758b73588a1cefd57be7b5d132f584992b0f94bc1a16aa95bb990
 SHA512 
11aa51d16ec3807c02a3c32798a94c86ae7b9a5fd086aaabefa4dc174702a12bbc5c2dfb49b6bf3b398fc482b24d480cd1ec1c58ab875b7554f47f029e417e49
+DIST thunderbird-102.4.2-da.xpi 670578 BLAKE2B 
05fedaeccbf90577c94651e63bb2890a3b0965f7dc6ea0794a37441bb4773ea5659c55e80c6aa2892eebe7ed372dad180605a45e7613abd23123bcfd3f92a298
 SHA512 
802e227b30d8b4d1edbc546d973ce05486a8b80eeb98f0e12a02b6496caf2e03e852060525d5c43e990196fa18c50cde80d3a19c2b9293b0798faf71d8581e61
+DIST thunderbird-102.4.2-de.xpi 703559 BLAKE2B 
132497fd348b4c3b912538aa4daefde53b61a7b6245fb5518097b53db57a66870dee7e672d3632fa06ee89dcb818f35e77a4fe8ddd01da245604c5393bdd7cd9
 SHA512 
094e7914fe73ccd4349f0c979d11656b486aa7ee9d35550ef072af38de0925526051c716ab01c06ca220d4e26699cb01b5a203a8dba1e497e38d4ef8d23e3936
+DIST thunderbird-102.4.2-dsb.xpi 718470 BLAKE2B 
ad4cb896fcda260ede949a8e2e7fc8c014423bba2d4327e72556e77486a8dd2e61e61547110da0233ef01920024fc32fc422bb8b79ba0cc0eaead7dc531086a6
 SHA512 
39d1dc9b447b606f50e189eddc2543048f07e42fb0c78a709b9acf6c377318142050c278857161592d3268d2040531251eae5201acaae53ccfae632575d4dbc3
+DIST thunderbird-102.4.2-el.xpi 816316 BLAKE2B 
aa0c5f9bc7d38450d1c8b97badcb3eacfeee7b539c34878f4d6b87f2df9869a10073abcff341882455256e2d48664493e79ab28e793a9711f67ce58f9f6bc5cf
 SHA512 
6d2a4f87d42c340f0d8768e5c45c22dd0b6c134eaaf0756ad1e5b3f97206840d15cf75cc09828dbe813ff3863266103a0dfd10a44174ca9cfc4646b8a6c337c4
+DIST thunderbird-102.4.2-en-CA.xpi 644397 BLAKE2B 
d2c8a988639948a12c72921d7169a8d97a5a6737ea6eb60ca462fd09b07c85f87981b93df1d5d59de5beed77f68715d827087afec764f9661a7d6cef4e2916d4
 SHA512 
d329c6cab779a9ecb852fe2be779599b077647a4670cffc04e25ac172dc93565cf68bb6ad4407374b0e856c4922984edd04e4d125f025b8412eb58416d85831a
+DIST thunderbird-102.4.2-en-GB.xpi 645398 BLAKE2B 
331c0744ee350f1906d359faa688b8c4ca7a3f879dc2067c0d1c16929495a029ee6af3b3d4677227115868c2048e28495517f2b632c088468cec3635b5e45651
 SHA512 
1b86a5132b403b195749994022f624ad931d413f54f2eeecf02cda4ffb06b15e64e7e03577d44f4b49b1bd11cfe1aaec19ba98ed019e7435316dac39b417944a
+DIST thunderbird-102.4.2-es-AR.xpi 695963 BLAKE2B 
02cfec82159b023adc586d53ca1164817e32b46a854781386dd52473eacbe5efa6f1927d4bc1b5b3edbad443707ec3c566ad4214dc28452ac7ab50801e3135a0
 SHA512 
06a475b8e66dbd5ea4c41c728b88237b3f76a3eb13fa8aca882274da73a8b38cfa779717661935a618ce780b190dc473a1542d3167e29a43195956bdba5abbe2
+DIST thunderbird-102.4.2-es-ES.xpi 652045 BLAKE2B 
39c1c05abd9872096e3c2c70047ccbc24663ae55e1efcdfc37b3ff5edea2d62491a564ebff878adbe16093a8589cb35a0885ac4ffd0774da440566c4bd286bd4
 SHA512 
c9d4a6553637abd3d44656a015ed7d17b48b82fe7b3bd2f89da9723d10f9cbef3dff011e41e94b264dfd15182d2d69ff04f8f4650ba6555372da44bb9e1497f7
+DIST thunderbird-102.4.2-es-MX.xpi 698653 BLAKE2B 
c74050ffe38504ba604592ba9a19bf786bc69cbf3c882410ee483b7ac440c23890e5e326c530db11471d17e2e96c2a2e7c7861ca4e8a3ca5db3c292c9dea8765
 SHA512 
fcdf3c3bb6fcff7c315761c727a8e57d6debec5b4d47f2da54fb4cdf525a900ad809068a254c68504043e4113260525122d39899427178f658574a595d128255
+DIST thunderbird-102.4.2-et.xpi 666815 BLAKE2B 
dbf432e9feecf3a934a630fdc5b81e89daeec67c48402da35b62a020d31ad1263167bf32d0095e0019ca8eb47aae67c21b7c32f13a7ab48d74760f8417973b33
 SHA512 
f0776cac9cc1cd9ac716b47302aa93ba6f65fee469f92b42f4366ba557f289c6d98858a7f9631b9f4c1091abf5446e440e855d860f5c5cdadeb3660fbe847c2a
+DIST thunderbird-102.4.2-eu.xpi 680211 BLAKE2B 
a785bd3a7e519dc42ecf4d928fe8cd66b73a56ea38cfb3cc9dc55d470c0c4b3670f5457dea72e9cf8cea49bd3c207e8ff6b7d4678911d13ad9a97c44ef855e10
 SHA512 
8504863f40e2016cb69f0444083b3aab74e48d13564ff6ff0f1c512b00b0407622799f1137e05be2396bf4c2af4c96a58b3e95de349eea9405ae1107df1050a8
+DIST thunderbird-102.4.2-fi.xpi 673901 BLAKE2B 
250b3badd6d90d51a6f9747239613ea4de9aabddb86830fb2d98865f97e586d67ea6b9878cf2332bd9ff772a44d8658b98e7be50261f6e298a2d47b9e555f871
 SHA512 
9b407d31315671ffe01ce9f767d89eaf43c083d2f41948a65c6eaadab6e33faf48383c8c1c53a02a7bf113260669d80494f4c6ddeca1eeac51e2f8b780fb8f8b
+DIST thunderbird-102.4.2-fr.xpi 708767 BLAKE2B 
6bb63590d34ae4e295c0551dde823609ec82eec0a67da7bc443a8ffb5356d1c4cdac4693547c9c314f2811c65a83271a49fa2a331f5b038f89bf2ab28455d9d6
 SHA512 
dcb0afb46c34581a7d05462d98dd6b6beccdf005d417f76f3997df41313a8d91512febb3ed0611ab16bbfd1b5092c43d0392d3f0f577aa5c147fd6106ce914bc
+DIST thunderbird-102.4.2-fy-NL.xpi 690681 BLAKE2B 
b461c21aee3a06151977ba7e9241c930ee7d90b53125ba9fba2f6fbdf569663ff7c225fa20aa8466882d932671e40ce4c3e5164c87f70e77ca3bfefd9d26da33
 SHA512 
ef94e5b72b68e2cc3692a29b84aecfd82bc17525de9b7ea6c740d38840378da48907e8cd8c765f71788ec6d6f62e80cc74c049e6fedf7655555e4c18193b15c2
+DIST thunderbird-102.4.2-ga-IE.xpi 603099 BLAKE2B 
127061da9377d54f0df2a01c342030cdc47d7927304a1246d732d12b3c0a83f5fc489c2ffb17dec1620304bf91fe282fe9b351a6b4a7b8166632c41bf34744a4
 SHA512 
e50b27c91b68daa2645e58f0bd56a76da42c35d3a3382abe3664629c86389db5a2fb1d72fd033d4de1b63774d9b63885ba8e23fc92cc5e5190f2bed825e91566
+DIST thunderbird-102.4.2-gd.xpi 632445 BLAKE2B 
85732b1ad4b9ae725b7a6b6295598dbd381257cd677a7f8a4a5f084723655c16869da6284fa4f6296102e6321cc5cab432475235f5377f36b8b1a48322258796
 SHA512 
82675a468fc7cd282c64b0e07b01d37b177f54ba1555824e2e0b589a32172ca4c7fb7cd2b63d7ee51bfdf89fc687a93ccb1ddcd252fefeb875a9093faaffa2ea
+DIST thunderbird-102.4.2-gl.xpi 663210 BLAKE2B 
2fffee731a09bcc7467c242b35c91d321b2e0414b2f27820b0b0e9d072c67a8b7762b5525220b94c1de6f84b8a67fcc64a6861b6b94566661745c1a0a9ecaa72
 SHA512 
6100a61507778adfad01f707511c58812d814705ae70fa29600e6375c8de365d5ea9d74811cfc771a4cb3402fdc38a1d937a383541071eb7e950c60a4a19c693
+DIST thunderbird-102.4.2-he.xpi 662890 BLAKE2B 
cdfe6bbb88507b3098c836c0ac115e25da71a0d1d9461d8f963e6535075b897d08d16bc614c2a59f983521d4eef40bdbe358886f7b7f24eec48fd35cff87b435
 SHA512 
0904fa5a6cd4c34c2951459086b974811079a930f8cd683975df23d698a798d5c61906b70127fb667009c0deec397a3d2cd6c2810e6fac09d9fc22d2c9972304
+DIST thunderbird-102.4.2-hr.xpi 661114 BLAKE2B 
68ad72a93ec96fd3996a5084c34623bdc21098bedec218986bd44a5ec581c150c6faac0456ed893ed4019851b2e32c9b5b237ff29c6ab7d7bcb55e2b0cd32c64
 SHA512 
e057e55efcf5e7e58d44a5819ef7a082fae408adb31241da0634e234a146425c2febc9934bc279365d33c2a15b2e606e75528bf4d29ea98f743c9def066f4996
+DIST thunderbird-102.4.2-hsb.xpi 715754 BLAKE2B 
81b0b581539ee2bd0ab8f9c4ef4288dbd6627a716bd4cd337bb20ea2e88b7c780cfffbce5d6da6a02ca8294f62efa1a99944a9ea674fc2927d628f5a857443fd
 SHA512 
0a4fa6d0689fb027aa2a4194d98e6df0e6e66334df8c6cd42b2254f38215ad314150d474fe40ecfbaa069e5651fa1d16feb19d4d134d7b5a29547b108f69d62b
+DIST thunderbird-102.4.2-hu.xpi 718785 BLAKE2B 
b4d6b3595b7df1c31f3a3caf319df627ee5e9258614ab3f5133afdfe19466f7186f17a5e3047fca907b40f6439a5ab8ebef8f3a439e49312b794c286964f53c4
 SHA512 
aa71fc3434ddea897b5d9a51e449488b8b706185439898fafeeb3172a973abf5bb707cb1e7069800b506a1345253308c451495fdb12b890b97e2546627c45b4f
+DIST thunderbird-102.4.2-id.xpi 639541 BLAKE2B 
f0256637660d35514c09a8566feaedd953de113b3b37af59296854fb42df21a834ebf806116969907ad9ddd863a19d09d16c296aebd8df48b7e8977b31ead198
 SHA512 
a8632d326ef57ae058a8fa65b7ff1486fb0d4572057413af16b833e2d9e3450172cb2211f09ebd1997d87dd14232be09420e963622023bb7a7a932f05dc475af
+DIST thunderbird-102.4.2-is.xpi 685617 BLAKE2B 
e1b5163f185195a3f6d1b9aae13f657550b8c74086dee34f5c2d0ff0a3cd4da8e5c04bfbd28b1c30dc602814e55665d7634f746df64070268b5ed0af149b5f4a
 SHA512 
bb6f92c8f3aaf05587a7cee5a8b4d5bd313b66c12194ebfc59db415bc8945310e5af176829aa32586850d222f8efed92de14b7c3d0b1e656b4e0faaee9723009
+DIST thunderbird-102.4.2-it.xpi 617780 BLAKE2B 
7c43c26e86cf2263af749b895e3a3ed2d1e18d64ddce0840cfaa56423a8b9d1ff5663807d20e969473cdcd02394d2ce097147bf9de52ba35c2ad2b3cb04a5e2d
 SHA512 
6b69c547efedbb43db8ce46c6c1bda3abc13b16afefaeec81d09903965bc7c0a9b9ece6f9efa59cc70fb8116c787126e4977fcfe5d3e8f08c13073d7f57630a7
+DIST thunderbird-102.4.2-ja.xpi 755143 BLAKE2B 
0b81cd80a6078424380fdbd3fd2fc283805f745a9c36c4e76710fc3593b82dea7a8f20506fbbcd477fe920db399e51e5971886b551ce401477c8b2f1af4e0c25
 SHA512 
09322704f7c8f3b7f362335c6f417c45caef2248ae8136e0d8bcd96df52a9989690b4b8289e37e7b6a00368d779ad5402802925d122e267094e225c4087d9237
+DIST thunderbird-102.4.2-ka.xpi 752976 BLAKE2B 
a25fdb6634a12470bc2d127b361c00cd9475f0b83fe1c079be786c1b635cccfd90da69ff327941b203907b224e470260c3010130fafb63be6d149d18f7401f38
 SHA512 
3a31d1d1c4eff9872079b137b78522c4796fed0cf61b85dfc9eaa151373749a9298f53d978255f3a569c3bb8f6fcbba63c294ac574debf0e0a9f4dfa6ef937f1
+DIST thunderbird-102.4.2-kab.xpi 688572 BLAKE2B 
71d199df00fb51e839c73f63ad50d8fcfbad61817c0492070a77d3269594a109b5fa35653d51bf4757bcf9394b5d4d451cd28e7af14ef75f91f9caa7a2bf3599
 SHA512 
74401fdcad0b8e4dcc2b2122da23484e89f00fdd7050bfd8c7d555121f3ef1a686b0f8176c845e8fe5137d4be4a88622ae2d4c279a93eaa690ba62f9ed286f6c
+DIST thunderbird-102.4.2-kk.xpi 731942 BLAKE2B 
45b351c6cb1b37b3585f44f833667d40fc29f65166092ea74c61474ff8bdbb33ded8d52b655bbd7c6ca746452296e90152db0e87b2278de897477df8d0acaf21
 SHA512 
3bc6a0e13537fd819480cb01545cd29784d84a7c63593e3bc89528c8a8ed1058da42e5a306e96cc6422c795c023016ba15360cf0d148a30149c0673ffd89d066
+DIST thunderbird-102.4.2-ko.xpi 692941 BLAKE2B 
eb346b7852f95cb0b45ee08ddf8c87fcfa4c8d1a901e96ac5d54f4b4345f54e0460475180ae7c80efff52e90c60fdc99cb6e4b5d3611c856db786cb5bd3a3fbc
 SHA512 
ab2e3e027a212edd0bc9a238c084d4ccd3d00e8688299b3251d2eecd8aa4a387cf31dc6cb0b5f41877dbeb6c7f0956702b98d50f13bee0cdf2e6e40a435474e1
+DIST thunderbird-102.4.2-lt.xpi 680720 BLAKE2B 
389b8610abe8fb16fb3f7300d4e225f29819e0aba8a9a0c2a713fdf39e623b7b242ad7d168ce599678d84d2f6bdad25babf17fbad7d804e2385ab9ad0a54e24f
 SHA512 
7d1948bfdd0ad20754abea33ad1a06848eb2f2eb15e1d0849dad4165e913886d72f6e17f018bdf4350bba2efc9ee102b6ec8c447890ef37cf8f4ea057c3dd7d5
+DIST thunderbird-102.4.2-lv.xpi 608589 BLAKE2B 
5cb65df9d6e4b5b249a1ace9de8a11a6077346f5f2b5c1527091d29ad0a1c0dcfbea6c6ae808a44baf5cfe674e501c592e4d91aab228acf0dd3ca545672bc7b4
 SHA512 
1c36c77f54b230f8e5d87eb89ea5752e2a6bc751a19587cfa02d85e306f4a9eae72725c6109631ab7abbe74d42f5955fa7578cadd4341c7180715b702b96c30f
+DIST thunderbird-102.4.2-ms.xpi 568427 BLAKE2B 
624be2236bc1e097880500e7e0a7c1a5e7ceb986a58d6bfa7261731b2819f6ed888372e7ab861c3ce4249b76c67832a3c7d41fdba90e822a15865556f9d91189
 SHA512 
ce5fbdc79c5c41a1be1505a87fc0b32ebf52f0094728299e2c7167dce809f0de1f3429c339ffa97678a90512c8b03b8965981aac297726dce6fb98b17fba7dbd
+DIST thunderbird-102.4.2-nb-NO.xpi 648583 BLAKE2B 
c1b13fee45c49313713919be65b10097863ab7f79351c92a04bff4d2a2ce83dbe0bb5420a4ba1d88a18bf84ea8a8ccc216de1721a76700f1a481b3281991d5a4
 SHA512 
7144098ac3b113573b40c118d719ad26c963253161e9121dd358373cf2bbd6e928e76aaffb6ea922ce899c4c19f44b1577514a51cadcc589fc5fc211e255975e
+DIST thunderbird-102.4.2-nl.xpi 682268 BLAKE2B 
731deffa6ecf9ab07a8b9f5ff3a8c9bdde87ee4259f5479a520528c3d04f128ce8d9a013a5b697aaea35929d00426b2f12553f5ecf2ea6fc9f55c25a1cbd3c59
 SHA512 
05e71cc815208a4177208c52dbf64a732f245f10d0b4f1055a2dda6e40da74639d5e219ad0c9193becd94e3e114d687f8ce1bdcc02bbdcc285e2b97c2d4c952c
+DIST thunderbird-102.4.2-nn-NO.xpi 656907 BLAKE2B 
4665a02d9a61c2f55cc9ab8905a766b4ef9d10353e14d4e463c6972c93b9cc257b08006178e53dae1737299e0a09f4dd83d1e2b559e6d2f394c77b44a8c7761a
 SHA512 
632dbd2ee6686d7e024e3708fbe19ed201cc345f1e1e9f56da1b517f35e3069b4bd87d3add6e056581547587072ecddddc3b44bd4ad5d23da86c0f90b6a24207
+DIST thunderbird-102.4.2-pa-IN.xpi 653544 BLAKE2B 
bd891688af878090107fbec2d6cb06a4ecdbc18c0223e5f0c6e4dc8bc96bccd481a28327b7da8b7ed82338e76e61c6e8f1ee50d1fda1055e4e51b6b80eb1daba
 SHA512 
90a144f83c5d6e415a6939778bb537181d5d8922103e8dc3c248fd24df17e8964cbaf5646628d3d39eaab58d53c064f48137f364304574f80a65e080273126a1
+DIST thunderbird-102.4.2-pl.xpi 695418 BLAKE2B 
ce434b772242fbae1bb6d5d35f9f54f76a2af1855f09ef67eb122a2cf65722c3c11cd1824439e1191cd8907e4e7d3c8a7d9b8fa23079bcee74069387908c8fcc
 SHA512 
10a80d032eed010bc580331f79e4038f1e7debb497d3c948434904c222e7f4bac44b19368ebf3dc2a0cbfd0e0df66786af309f0f4e01ff9922d70673847da68d
+DIST thunderbird-102.4.2-pt-BR.xpi 690289 BLAKE2B 
751f892906a90eb74b70bef279cbaf067ac30e9fc1db23bf56bed269ba8ac9b1eb45efb9abbcffce255640d6a09f9a81a7d2b5c919b34a2db4376f7ffa593cb8
 SHA512 
eaee3ad02883d18365c1b0f9a89abe3c0421be74c517c766ae2a5669af1eb4a7c8ef3e5519bc4dc114356cefddf038b7723e1071313fb19d4d5f0b818aae1fc4
+DIST thunderbird-102.4.2-pt-PT.xpi 666880 BLAKE2B 
92747d4e996f5e6f8d4ad44c9bd23decca5c78f47f56664625d02f82e2dc6c62f56cf886cf38074963c35ee48e602c033871ca121e320902b73038f9fead919b
 SHA512 
c871d6c94c638039184fab6388c62e79e33a269ac8260b8715c69a4ec0ba0e15c93c0d1db69b3664dc744e23ce2093f2c2f2d0745d61421c6f8f30444e110f02
+DIST thunderbird-102.4.2-rm.xpi 686110 BLAKE2B 
94ec8575aa260a6ce9572241a72b610de6827c682e066743bcfe5b84bcfdcc710936478e7ff402f19fe2c4914f60ce4e4c2cf77586731859107d3cda2371cfb0
 SHA512 
a4419cbba043e611f7a34ea4053ab5285b6aee47c09c1a5456881ba77e5ba229a0ea53b50bcdfcfaa2491e1937cca0b6fecbc651e802042279b3d9c2285d3daf
+DIST thunderbird-102.4.2-ro.xpi 651333 BLAKE2B 
eae00946ca3d23bcbe25b537c0cb40927b142577a5887ca4add8fb85cfde05a10c48b096bcd0de4a10aeda8b4355bdc646c309d59f1e875ddaf5a27560781b1e
 SHA512 
6356404ce6d06751236a0763dfc7396204f7a68f9067b98a1db8268c9a7c5085caa7f5e88a05d4a40f02975805b2ace1ed9e18e7c0b8486e6fac2afce2eaccf3
+DIST thunderbird-102.4.2-ru.xpi 801785 BLAKE2B 
397eb691c476e8eeb6f7cb5fa490234c6f40f744f28930fa19cdbcc1e63326559492117910360eab09ee956c162b0e46210fdb588b26affe7b66a367f3be4ea0
 SHA512 
3fdef703253ac4918e38667f7a7d7b0d16ec20638975fa11cd6293f163d3691365b4cc1c5e86a19357062f8c290e9bf3a2013e4525441d3e9fbf56a89ec6210b
+DIST thunderbird-102.4.2-sk.xpi 718356 BLAKE2B 
c017c8c9db247762f098ff6e870d604d062a2e0e8efef891317e128218547e04f7c00933f7f64bb39ad5e87badf635c89f7be0c8004f1ccb45834bab8f5c2a2d
 SHA512 
6e11f1f4f09d46752d2d91e00024c97b02802c0feaa9552a3636d1e059f3b096de08b3b1b509213c3cc0a75912400a8af83b15ec01e6fd12709aeb4f7160e388
+DIST thunderbird-102.4.2-sl.xpi 683785 BLAKE2B 
fe19af11b15546b4432acfa31a9a12c90e1db78e5e0bc9fd0b64327c48b2ecc41b87a9381e7f6b188de066ca4f1fbb1d5141c89bd82fc287ea7764f915883a93
 SHA512 
766603ed11c9d343aa289ff8755980ed53fd5a7366e1e67d12312bd21794bf8e8ab103dc7afadaf8125edeb852bbc11a8183db9332641aa140cb596bae552355
+DIST thunderbird-102.4.2-sq.xpi 690226 BLAKE2B 
733ada974e6f1c67996f22aed61d70787ced8e2e887c8ed3fb9cd65d24bcffb86a1e06c8eaf64dd438e30d727e3918723e0790e1dab32c064b557375fa94ee0f
 SHA512 
9404ff61a93efa682b8748abc9cd93010b3be71cebcf288d12c192e217a61169fed172af5502a8a90c819d1847914f854be0569f4ba3176a7aeb1c87b924fefb
+DIST thunderbird-102.4.2-sr.xpi 705271 BLAKE2B 
2f55b06be7aa8f70160cd7507ef751702e8625cb6c0c8a5af1c9477da4537f738cfe26eb5319405032d271111ef79a0c87f13bd6f3a273f69922b7a5a7b5f3a3
 SHA512 
736cf17567052007e31dcbfad027edcb7215e9f8b8800c011a9691775c3b18873b0595841e566f0dc381ab01a6cfe40db639cd0d7b07556f85fac6fc68db23ab
+DIST thunderbird-102.4.2-sv-SE.xpi 685685 BLAKE2B 
02ef5c5f9ed84a4912a2fd7f832e09a2f0f1d4fc1ece8b5fd2d3b5a26abec2e90d42869e7904e5d1cfb64f43d32c24626f4180bb62cea8ed5475d751ba3b5f36
 SHA512 
750b55322281aabd2a89213eab605e0474aea8a1262d24803e93b16507f844fbd491db861d02fcf64616b0cde9f59a3a3169bcd65feb2edd401124cb0844c295
+DIST thunderbird-102.4.2-th.xpi 734542 BLAKE2B 
c3e33afa0e78b1a11eea351616de56bcbdb22847f400538740074c24effe224c2e028cd4791ab61728283bb071e18aa01565f59cac47646130aaaaea77f816aa
 SHA512 
19bcd31ebfa4efde7441afad34bd6c2bd3fdf6e6ee4df0c7e61f9ed7f26fa11753e286816be7633861dd837419d047d5b09edad3e8a38dd8440821256cf1b69b
+DIST thunderbird-102.4.2-tr.xpi 697057 BLAKE2B 
c62c330a950ca175c5b549d5d2f5d2c8a6f6d33fb91ab44e3031b7c42be589218659bb81f7f0d20342da5d6be728b41ee1e5b6990ccdecc270f0b32fcf49b9de
 SHA512 
a894edb22d6466cf000f1e8fedd873ab2c3f5045deeda03993a4cdcb1a75a917039deb0a74a8f1101d9ca87b362b4fcf8b749ba20da691184dba8a881aec14d6
+DIST thunderbird-102.4.2-uk.xpi 794405 BLAKE2B 
1f6215c1a38bf1edd5d7c6075bd4d280af62f64343da01aed3eee1068dfa61fdbad670209627a84f187a34c3a07e1800a3d934d8771eaee2ff68c7fcd70e4259
 SHA512 
d0d48b6aea0f42ef223f8c364d594752ce8ecdb9e0d1df3a06543320f56cff625c22ce1ab01ddfd4cf555c33a5c79bd5d764ef4fab5c896c893632ffddca6f8f
+DIST thunderbird-102.4.2-uz.xpi 584807 BLAKE2B 
03c1513928bc9dd3c0cb34a387100ad0c4bbb6ffe0cb9294470ce768a0ae3249d56a4f7bfab769b02f9fa9d14dc5b2c55aff4b7d4207f705836ab1d1d098c467
 SHA512 
e272c7ffdc98db06ceea5dc51f8db69c07d3172e010d3ee168703da3ab652c127aa4a6f663fabd87ffeed4d2b9c32a0c42fabf34e2a7c2abac42c2d6c5ba32aa
+DIST thunderbird-102.4.2-vi.xpi 724848 BLAKE2B 
d63dda61aece0d1e229ee0bca54f4cc7c0eb7d03ac99a785f8fdfebbec00a0ca24bbe69aa79dce75737fa53d06706a1f234d970e2d2e3259dc7e86522ca39a9e
 SHA512 
aefe2e1726e20a82192006ae81fd4e45f09362a634a87e4792abdc6fdcab938a228005834df31a0d958533d60caa98e002f7b3c70de54cfe1c805c02fee32fd1
+DIST thunderbird-102.4.2-zh-CN.xpi 722698 BLAKE2B 
d8a466c7c3cfa4d7a710be4429a5b1d9342b298fcd4848baf6601df1f122085c0ed6c921bd25c352cbd0441e07e8b2bf2a220cc73a0e3cae3b7760ddd65150e7
 SHA512 
a5ae3a7aa426bfaf44d13230f14589f56d92bc0b75b4fd24b8c746e7f758492ff21f2bdfd426a578434c35dbc7367bd5eada1961a809a3b303453dd99796777b
+DIST thunderbird-102.4.2-zh-TW.xpi 725969 BLAKE2B 
15b0798c234180778c17cb1363218d5d190f7c63b7d3ddc06a13f77d9fd40a1ce664a17890c849bae502ddd0cf82f7eaaea8f003042310de80f2fadff1617d49
 SHA512 
6ddc7bd5aa084658253d228388af2cab035d611131ea2e4e84a6fea5f48c5402e463851d15faa979da1fc7b96535a1ee0aff6de4ebfa91f0f6dc4915da695adf
+DIST thunderbird-102.4.2.source.tar.xz 500913544 BLAKE2B 
d20177ac0191ee85d972fd11705a5a1a86fcd8265e3bb9c24c1413a0175a76094d9b775ea97217e2b5f7413ab3e3766ac5d167c8ed2622c786a0d5aa1d13211f
 SHA512 
d74045e3ded718b9dffbf9f076f61f05be63d1914cca672c5145f86e94677df35c0c86958e31aee4f6388052c766b9588b942ab8578bc214addd49edfaa04a4f

diff --git a/mail-client/thunderbird/thunderbird-102.4.2.ebuild 
b/mail-client/thunderbird/thunderbird-102.4.2.ebuild
new file mode 100644
index 000000000000..b08367f7693f
--- /dev/null
+++ b/mail-client/thunderbird/thunderbird-102.4.2.ebuild
@@ -0,0 +1,1165 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-102esr-patches-05j.tar.xz"
+
+LLVM_MAX_SLOT=14
+
+PYTHON_COMPAT=( python3_{8..11} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="pgo"
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+       MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+       # Convert the ebuild version to the upstream Mozilla version
+       MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+       MOZ_PV="${MOZ_PV/_beta/b}"  # Handle beta for SRC_URI
+       MOZ_PV="${MOZ_PV%%_rc*}"    # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+       # ESR releases have slightly different version numbers
+       MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils \
+       llvm multiprocessing optfeature 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="Thunderbird Mail Client"
+HOMEPAGE="https://www.thunderbird.net/";
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+SLOT="0"
+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"
+
+# Thunderbird-only USE flags.
+IUSE+=" +system-librnp"
+
+REQUIRED_USE="debug? ( !system-av1 )
+       pgo? ( lto )
+       wayland? ( dbus )
+       wifi? ( dbus )"
+
+# Thunderbird-only dependencies.
+TB_ONLY_DEPEND="!<x11-plugins/enigmail-2.2
+       selinux? ( sec-policy/selinux-thunderbird )
+       !system-librnp? ( dev-libs/jsoncpp )
+       system-librnp? ( dev-util/librnp )"
+BDEPEND="${PYTHON_DEPS}
+       app-arch/unzip
+       app-arch/zip
+       >=dev-util/cbindgen-0.24.3
+       net-libs/nodejs
+       virtual/pkgconfig
+       virtual/rust
+       || (
+               (
+                       sys-devel/clang:14
+                       sys-devel/llvm:14
+                       clang? (
+                               sys-devel/lld:14
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-14*[profile] )
+                       )
+               )
+               (
+                       sys-devel/clang:13
+                       sys-devel/llvm:13
+                       clang? (
+                               sys-devel/lld:13
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-13*[profile] )
+                       )
+               )
+       )
+       amd64? ( >=dev-lang/nasm-2.14 )
+       x86? ( >=dev-lang/nasm-2.14 )"
+
+COMMON_DEPEND="${TB_ONLY_DEPEND}
+       dev-libs/atk
+       dev-libs/expat
+       dev-libs/glib:2
+       dev-libs/libffi:=
+       >=dev-libs/nss-3.79
+       >=dev-libs/nspr-4.34
+       media-libs/alsa-lib
+       media-libs/fontconfig
+       media-libs/freetype
+       media-libs/mesa
+       media-video/ffmpeg
+       sys-libs/zlib
+       virtual/freedesktop-icon-theme
+       virtual/opengl
+       x11-libs/cairo[X]
+       x11-libs/gdk-pixbuf
+       x11-libs/gtk+:3[X]
+       x11-libs/libX11
+       x11-libs/libXcomposite
+       x11-libs/libXdamage
+       x11-libs/libXext
+       x11-libs/libXfixes
+       x11-libs/libXrandr
+       x11-libs/libXtst
+       x11-libs/libxcb:=
+       x11-libs/libxkbcommon[X]
+       x11-libs/pango
+       x11-libs/pixman
+       dbus? (
+               dev-libs/dbus-glib
+               sys-apps/dbus
+       )
+       jack? ( virtual/jack )
+       libproxy? ( net-libs/libproxy )
+       sndio? ( >=media-sound/sndio-1.8.0-r1 )
+       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.0: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? (
+               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
+               )
+       )"
+
+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}
+       x11-libs/libICE
+       x11-libs/libSM
+       pulseaudio? (
+               || (
+                       media-sound/pulseaudio
+                       >=media-sound/apulse-0.1.12-r4[sdk]
+               )
+       )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+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 use pgo ; then
+                       if ! has_version -b 
"=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
+                               einfo 
"=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM 
slot ${LLVM_SLOT} ..." >&2
+                               return 1
+                       fi
+               fi
+       fi
+
+       einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+       af ar ast be bg br ca cak cs cy da de dsb
+       el en-CA en-GB en-US es-AR es-ES es-MX 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
+)
+
+mozilla_set_globals() {
+       # https://bugs.gentoo.org/587334
+       local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+               fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+       )
+
+       local lang xflag
+       for lang in "${MOZ_LANGS[@]}" ; do
+               # en and en_US are handled internally
+               if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+                       continue
+               fi
+
+               # strip region subtag if $lang is in the list
+               if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+                       xflag=${lang%%-*}
+               else
+                       xflag=${lang}
+               fi
+
+               SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+               SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> 
${MOZ_P_DISTFILES}-${lang}.xpi"
+               SRC_URI+=" )"
+               IUSE+=" l10n_${xflag/[_@]/-}"
+       done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -ne 1 ]] ; then
+               die "${FUNCNAME} requires exact one argument"
+       fi
+
+       einfo "Clearing cargo checksums for ${1} ..."
+
+       sed -i \
+               -e 's/\("files":{\)[^}]*/\1/' \
+               "${S}"/third_party/rust/${1}/.cargo-checksum.json \
+               || die
+}
+
+moz_install_xpi() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local DESTDIR=${1}
+       shift
+
+       insinto "${DESTDIR}"
+
+       local emid xpi_file xpi_tmp_dir
+       for xpi_file in "${@}" ; do
+               emid=
+               xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+               # Unpack XPI
+               unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+               # Determine extension ID
+               if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+                       emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; 
s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+                       [[ -z "${emid}" ]] && die "failed to determine 
extension id from install.rdf"
+               elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+                       emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' 
"${xpi_tmp_dir}/manifest.json")
+                       [[ -z "${emid}" ]] && die "failed to determine 
extension id from manifest.json"
+               else
+                       die "failed to determine extension id"
+               fi
+
+               einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+               newins "${xpi_file}" "${emid}.xpi"
+       done
+}
+
+mozconfig_add_options_ac() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local reason=${1}
+       shift
+
+       local option
+       for option in ${@} ; do
+               echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+       done
+}
+
+mozconfig_add_options_mk() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local reason=${1}
+       shift
+
+       local option
+       for option in ${@} ; do
+               echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+       done
+}
+
+mozconfig_use_enable() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 1 ]] ; then
+               die "${FUNCNAME} requires at least one arguments"
+       fi
+
+       local flag=$(use_enable "${@}")
+       mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" 
"${flag}"
+}
+
+mozconfig_use_with() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 1 ]] ; then
+               die "${FUNCNAME} requires at least one arguments"
+       fi
+
+       local flag=$(use_with "${@}")
+       mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" 
"${flag}"
+}
+
+pkg_pretend() {
+       if [[ ${MERGE_TYPE} != binary ]] ; then
+               if use pgo ; then
+                       if ! has usersandbox $FEATURES ; then
+                               die "You must enable usersandbox as X server 
can not run as root!"
+                       fi
+               fi
+
+               # Ensure we have enough disk space to compile
+               if use pgo || use lto || use debug ; then
+                       CHECKREQS_DISK_BUILD="13500M"
+               else
+                       CHECKREQS_DISK_BUILD="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
+                       # 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
+}
+
+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() {
+       if use lto; then
+               rm -v 
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+       fi
+
+       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
+
+       # 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 && ! tc-is-clang ; then
+               # Force clang
+               einfo "Enforcing the use of clang due to USE=clang ..."
+               have_switched_compiler=yes
+               AR=llvm-ar
+               AS=llvm-as
+               CC=${CHOST}-clang
+               CXX=${CHOST}-clang++
+               NM=llvm-nm
+               RANLIB=llvm-ranlib
+       elif ! use clang && ! tc-is-gcc ; then
+               # Force gcc
+               have_switched_compiler=yes
+               einfo "Enforcing the use of gcc due to USE=-clang ..."
+               AR=gcc-ar
+               CC=${CHOST}-gcc
+               CXX=${CHOST}-g++
+               NM=gcc-nm
+               RANLIB=gcc-ranlib
+       fi
+
+       if [[ -n "${have_switched_compiler}" ]] ; then
+               # Because we switched active compiler we have to ensure
+               # that no unsupported flags are set
+               strip-unsupported-flags
+       fi
+
+       # Ensure we use correct toolchain
+       export HOST_CC="$(tc-getBUILD_CC)"
+       export HOST_CXX="$(tc-getBUILD_CXX)"
+       tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
+
+       # Pass the correct toolchain paths through cbindgen
+       if tc-is-cross-compiler ; then
+               export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} 
--target=${CHOST} ${BINDGEN_CFLAGS-}"
+       fi
+
+       # Set MOZILLA_FIVE_HOME
+       export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+       # python/mach/mach/mixin/process.py fails to detect SHELL
+       export SHELL="${EPREFIX}/bin/bash"
+
+       # Set state path
+       export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+       # Set MOZCONFIG
+       export MOZCONFIG="${S}/.mozconfig"
+
+       # Initialize MOZCONFIG
+       mozconfig_add_options_ac '' --enable-application=comm/mail
+
+       # 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-js-shell \
+               --enable-negotiateauth \
+               --enable-new-pass-manager \
+               --enable-official-branding \
+               --enable-release \
+               --enable-system-ffi \
+               --enable-system-pixman \
+               --host="${CBUILD:-${CHOST}}" \
+               --libdir="${EPREFIX}/usr/$(get_libdir)" \
+               --prefix="${EPREFIX}/usr" \
+               --target="${CHOST}" \
+               --without-ccache \
+               --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
+
+       if use system-librnp; then
+               mozconfig_add_options_ac "+system-librnp" 
--enable-compile-environment
+               mozconfig_use_with system-librnp
+       fi
+
+       mozconfig_use_enable dbus
+       mozconfig_use_enable libproxy
+
+       use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+       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 wayland ; then
+               mozconfig_add_options_ac '+x11+wayland' 
--enable-default-toolkit=cairo-gtk3-x11-wayland
+       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
+               virtx_cmd=virtx
+
+               # Reset and cleanup environment variables used by GNOME/XDG
+               gnome2_environment_reset
+
+               addpredict /root
+       fi
+
+       local -x GDK_BACKEND=x11
+
+       ${virtx_cmd} ./mach build --verbose \
+               || die
+}
+
+src_install() {
+       # xpcshell is getting called during install
+       pax-mark m \
+               "${BUILD_DIR}"/dist/bin/xpcshell \
+               "${BUILD_DIR}"/dist/bin/${PN} \
+               "${BUILD_DIR}"/dist/bin/plugin-container
+
+       DESTDIR="${D}" ./mach install || die
+
+       # Upstream cannot ship symlink but we can (bmo#658850)
+       rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+       dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+       # Don't install llvm-symbolizer from sys-devel/llvm package
+       if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+               rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+       fi
+
+       # Install policy (currently only used to disable application updates)
+       insinto "${MOZILLA_FIVE_HOME}/distribution"
+       newins "${FILESDIR}"/distribution.ini distribution.ini
+       newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+       # Install system-wide preferences
+       local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref"
+       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 \
+               >>"${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
+
+       # 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 icons
+       local icon_srcdir="${S}/comm/mail/branding/thunderbird"
+       local icon_symbolic_file="${icon_srcdir}/TB-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}-r2.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 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_shortcut_information
+
+       if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+               # New install; Tell user that DoH is disabled by default
+               show_doh_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
+
+       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
+
+       optfeature_header "Optional runtime features:"
+       optfeature "encrypted chat support" net-libs/libotr
+}

Reply via email to