commit:     00086c17b9c34e916b53dd6a320d904553d1491a
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Wed Jan  4 12:29:47 2023 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Wed Jan  4 12:29:47 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=00086c17

mail-client/thunderbird: add 102.6.1

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

 mail-client/thunderbird/Manifest                   |   65 ++
 mail-client/thunderbird/thunderbird-102.6.1.ebuild | 1177 ++++++++++++++++++++
 2 files changed, 1242 insertions(+)

diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest
index 39dc8ec2cfb4..69a8667f3876 100644
--- a/mail-client/thunderbird/Manifest
+++ b/mail-client/thunderbird/Manifest
@@ -64,3 +64,68 @@ DIST thunderbird-102.6.0-vi.xpi 724846 BLAKE2B 
6dca929b4e4153c1e6b92b300f5545d81
 DIST thunderbird-102.6.0-zh-CN.xpi 722697 BLAKE2B 
ee72fcf8d68619b3e256dcf0008724005f2e5096a571275b652ea7a617c5bd951462677a9081978063055374e175fafbc64feb9d2a2d588d6150dc0e55e00722
 SHA512 
dcc1f0281926eaf0b480c702df74ccf8decf3d53902df96b7deec1e68d7ad0472c01a8f9aa1b7ee8bf9d7e5ec577e8bde682922c99cdc0b43d83c6a520d18523
 DIST thunderbird-102.6.0-zh-TW.xpi 725968 BLAKE2B 
b6b27f9376c32fc7cf69581a4f02847b6fc57dbd20d311215e29704f783eaa0cd9bb4901549c004f3fbbf39aa68c7cef4fb1f7e5dace611e4a30534e315a64a4
 SHA512 
904c5a8159b4d468745455b090013d6447de265d13b031f0ef19f2488130767e556e9a9513ebd8614ce6def270966e4a55fb57281092c45e41cee98f41bdcb3c
 DIST thunderbird-102.6.0.source.tar.xz 503321152 BLAKE2B 
1cacdaadd952f8dd7e2d2cdf47288d58922919fe2171e403e5a31fdae77b172be2921e455cd37253541ddf49ed3c105a5b29d994ef374625cd45804a200e843d
 SHA512 
34f79068685ace75ca65141d8165138d25326e9d0a1c25b0463ea69c64a7240dd19c6c894c875c5429cf7b40344fbd32b1ba0412bf8893c4bb744c83f8bc25ad
+DIST thunderbird-102.6.1-af.xpi 551371 BLAKE2B 
1663fbb2cd90e6638cb96922e515e0b5762cf55bb6fe3c366c83508a01c49e27656a89e0c6ba0a7079bcbbca02f702f967d3858ba7fb7931b6653f92b7ba6496
 SHA512 
730306d74c3ef95f5e3a2b90e868d6c963687b436ef7310b01f48d23b3a0c9f0370e21506d946d8b3e2930d563c2a9bfc3ab115be5d28f0d2f61237b276824e5
+DIST thunderbird-102.6.1-ar.xpi 656150 BLAKE2B 
33f2ff4e97b206b5b7c27b661f863fde2e83ac066f136e0c1c8ad2e7779b0aa70d3460868b3fe3a25037e9adfc84cb1617fdc1136e165c3309560dd282be2821
 SHA512 
6c045f1cb0f4a1d67598f3149500b32d9a36a6549eb116e4901c640091b604b8cc106a1e5ca38e4786ef894b7c7ee3230e94ff44b29e013bc07ca7c1e8cf8f38
+DIST thunderbird-102.6.1-ast.xpi 564287 BLAKE2B 
8355c98444ad184b37b00a64dcd270c33ccf98a17349c726ba41d6d138959372c48af3f654c34305958bc5198b51af75dfd3253e8d85c5b1043d76cc19d496cb
 SHA512 
9739b6850b543f674805189bac97eb2b1c5ff7d756f6f7cb5b748aaeb72f80a1b2bddcfc98f55bb14a55d716302d039fccaf4d85879c3a7d28fc1c97c699432c
+DIST thunderbird-102.6.1-be.xpi 686680 BLAKE2B 
d58868887f566f5309cb096222b85907b3763296b2b88c6e3e65f826821ab8b0f59122e579c99fe0f57e1a1aa5b4b86d00a7341dd5a64d1753865b62db3bcf5b
 SHA512 
a9935043d409ef14164c3f9e34f2238c9864e9d8ef35df0b6056b5468ebd97b0a7e1e38a6c5c0c8333ff656ef5b6954cea423ae6d73c602b3e2109d31f161536
+DIST thunderbird-102.6.1-bg.xpi 682268 BLAKE2B 
460b99c13c4e53411d58510dc9b41d94b4d37398a7442182ef1593b8aad9327b6f8f71286950071a0a3325b2ea2e4d85a915a07638e7c31f9f4416777367beba
 SHA512 
02f692bce4481576b1ced41cdf6626a930cd4be89a8318ee8a622b2b0173fa87f023545054894aeeeb1c222e47c09908d10ce057b5d55a40adb6953555af4b1a
+DIST thunderbird-102.6.1-br.xpi 615116 BLAKE2B 
c418fa14507c23ad6a0bd1745192808f92d0ce280fa5a1ed28c6c03f936331edbaa9646ef115e1ca7130b8f7e39999ad2f7392e641e00621444ed496371df46a
 SHA512 
986aa0f4eaa5ea0ec913c5dff5c4061fb54e2e546988df688fde1d7e76cc3d34d8940b56da3bb0f12015db1a1cbb20d85e47fe534300cf8000defb7c087bd917
+DIST thunderbird-102.6.1-ca.xpi 636174 BLAKE2B 
33be4429701302d57505b3574f7b85daf4480de3609dc53162bda00dd9c0e6cc403642216fd9ff0e91a193b5474d7b8e525a062fc0d3ab0707b3ec0de26b6a04
 SHA512 
0c4055fdf4da509283712436ca3dd428d5d6aab60c4f76252a2b595738556757d880285461fc5b57d043529033af6a6065022e4b8f58091688a65cc7de7b7ca4
+DIST thunderbird-102.6.1-cak.xpi 641842 BLAKE2B 
db3d1cedcfe816a851f3d89d01d7cc75c5d5b0753184805f9c5909378ecff1e547403ed921e035d02d8cde09f390ece5549beaebe82a9dd2035792f416cf759c
 SHA512 
fed9562fb24da6bf090f99431b22f6640597e80a7b1bcfa7d2072e5e1ffc5a397362ea61a3ae33ba711cab9a76a96957feb152f3c8332e06a47294ed5f290e7c
+DIST thunderbird-102.6.1-cs.xpi 706337 BLAKE2B 
bce6d3906552e9b1c317dca0e20739e1e69a496a8a1ac36638f6fe4c1860dbf40189cc1591ef38b828981415d05c4566697fc953593805f4981ef5e8d6e1a453
 SHA512 
18157d00ec99076788e542b7566fbc9a33b6182654060a33e7a126b24b403cffee8ce43b2950a1260ca13ab9707bd589476b83059ac29b35c8442349a8418f3a
+DIST thunderbird-102.6.1-cy.xpi 684717 BLAKE2B 
08ba971b022266680e557abc8b11d707ed0c05a43fc5f01bc659a0d314161759bb31834ecba5e7050dce3fd17813bcfab2af54cefe3cc7af75216a9ba5fc52b4
 SHA512 
7209892f706468e5ff5b04dae3b0f4f0fab1989b93d8d0858da9c7223dde6e9f12439c84802daec6700bab4bdd1384904b50deff219cf766be9f8b47a6249ded
+DIST thunderbird-102.6.1-da.xpi 670578 BLAKE2B 
12c7241cd0b03d40aa1185060636aebe098c0de7f92c248b4f7f3027f29838cfb536fe72b63dae4a167319ebcaafb9e97acaa6166b90b460644851e8949763aa
 SHA512 
37571b6593c2acd9f6cfdf7a078ba8d0329c6d56ead45497ac5701cf5e926eda1bd0e2535e3fdb28585f26b9a01b9f1a8c6d4a8e340b4ed34d2d06bbb0226f99
+DIST thunderbird-102.6.1-de.xpi 703559 BLAKE2B 
1a1db85dc147c6fa3547fb988a9287a16221d5555160d7a7e6b594417741562b5e39384a67e21a75c3b0b5cf4a4e63e010b70629fbe634f42d07cf81d429b7a1
 SHA512 
f53498019560400b6b94a1650d90b7b3a93aa509dcb05a2503c03bac1d8dd3edf687e3154a57b8d5471889378762e25051c838f8da5c978bfa095eb6fa33b0ad
+DIST thunderbird-102.6.1-dsb.xpi 718470 BLAKE2B 
fb95cc6fe836dda48f748c12a67c112c027da923c2833965e1e46763f108f83105dbeea052663c8f8480a56a389a65368fe23e98fb6d4ea29b25b8bb6c455405
 SHA512 
a1a697e4543cc74f7c58460b7728fbd10a16e6e9b25ca944897379c831585560c10bdc97a67ccc0f05f0159bf3020eb6e0d48958495f9c9f659c9e08ba89b77a
+DIST thunderbird-102.6.1-el.xpi 816316 BLAKE2B 
ef5e09be51fd4ab4adbed3acbb706052822ac439468661ccdda48c1509df79d007c15e7bcdd7a3b3def5d87996875cff80c957944455a168a665158591b1460c
 SHA512 
4915ef3a080e74ad73c5bdd5fb438762942238cb5a1140bb757fea4d0fe9167211911295888fb0506b1bce000077d9dd6fdfabe437b7f73dc595dbc81bee8fa5
+DIST thunderbird-102.6.1-en-CA.xpi 644397 BLAKE2B 
d6734e81b356f2e282612011647d5b55b15e7debc82b891140e9850b2b7878661903ef940f45827f3e5ac745fde2166bdde8660204eaf43c01f3b7d92710a5c5
 SHA512 
5ddf62a5d3df809864911a433562773f0d0d8ba1a9e0d8efdc016b37f73a3360de0070bc2b2005a2baa95f21cbe8f64487a6354d196f69e72d5f6771e5db2cb4
+DIST thunderbird-102.6.1-en-GB.xpi 645398 BLAKE2B 
4c2637ff18f05eec417f6eb05ad586fc4f8022f568f67d9528ef9d509bb58a9937322ef907d5cd7aa7aee15990dd2548e762487e4624a58b02270ca11f12259f
 SHA512 
4af6b75f002226d5c3bf13af84e9e51a229395079e517228b73520d3958233b549b9ffa2e1d1f18c7f8879a3f8e588acc7b1632de53eec9d58af65e1ebc9a6da
+DIST thunderbird-102.6.1-es-AR.xpi 695963 BLAKE2B 
4b6a58248f2a29dfe4ef6b6299d668e4338f9e15a72947a7432cc7e12636c1d6a630d3e1f05110a6f1d6155b05135bf0170e80bde5b8692ba0642e305412a067
 SHA512 
208871538718377d1ad8fb0046c93764c6e6f98c80c9bc57b4c27eb1d7276bee4d599175666bf08fad53d16bc7ffedf86c3006b98aea9aea31e9a4668e868d3a
+DIST thunderbird-102.6.1-es-ES.xpi 652045 BLAKE2B 
d095593c03512be2475c1ef412e0ee542dc6df857d1c5c366ea6a819aa2d0e59260187e87de0558d576730b57268201e7bd9676bd110a49cb94f0e837695d7e8
 SHA512 
f05785d3d7842c0991b686d058d33dfbd07131b6bfed8b2c0a39cdaba747b8bfa5eed119c107f56a40cf651196ff2fe4f68145f3452404d8f4eb5e5992fb5fd2
+DIST thunderbird-102.6.1-es-MX.xpi 698653 BLAKE2B 
fcdc77c5cc593c6af3a94095a1ceb0fa6a431562f960c3519b1624e9fb23adb2fa8ea7d07ad47224a9d44b6aac38564ed9f8259d509653a4603cb1e0a86992b2
 SHA512 
5e14c979c80030f0a0993bc92372c31d266ecd87cf4c94b20e26a32bc5fef96a7e6fdd339f251d545235d5d7452e93de308a2df4910c92b790c0da0c566cdf1d
+DIST thunderbird-102.6.1-et.xpi 666815 BLAKE2B 
abfa7fb9075541f4a683631cddb010b8cbfafa4c0cba167fa3903d0ed5f49216b6be1a539da30e85882609dee682078f0e831ee30f0be83a9133f3a4820f3e97
 SHA512 
abff1e5eb2e4b2963fa8e2d9f10e4b94e566812870e21c2efdc9707064cc84394109eae4bec5ed4016b468c2c1d0ff9edff770335228d01766ab4a0291cb5296
+DIST thunderbird-102.6.1-eu.xpi 680211 BLAKE2B 
eda5be64cb98e799a9455086ec0c124b445fac0aa9a577605fabb51ce62f36dca0461e4d337f6f612c7683ec885ab7998233d7086897f6709ab212f20bfe0f47
 SHA512 
bc7d9f25dee278182896120d3924d7a64c56e52a2df8e535fbd457c49d62b3722614ace99e4bb9286d8846ba00688fd53e8b57b31a95e4360764271f5a65ac4c
+DIST thunderbird-102.6.1-fi.xpi 673901 BLAKE2B 
7054b6315f250496fa6265d1bfdef5972f0804389271f9663724f8521ec79ea88067bfa31c1fc7eae6dbd1251cfe1e6947c1e529f32b1a7d3f36a6da7064aea8
 SHA512 
0b60a2825251f8849bb78252979ead237e06799f594dd6aed7ec3c9861596de2b0ecc38b38741be7ab373f1bd5edb6ce53eb202d1856da95969675bf2a95bbc0
+DIST thunderbird-102.6.1-fr.xpi 708768 BLAKE2B 
ba866bd08a8612d8d51b1bbd235856b7a09dbcec63d65d9f71faa5909f2b4f5b2b288c3a16fe68ff292bc4d9e5ec4c1aded93151439c1f8f582e8fc8cd4c2bfb
 SHA512 
07c214a858937689ae7fc0f8cfd6b7a23ec694050bacf54ab03e4271447d1f7f9c46f74c54bb3fa704bc44849af8143e53ba0eb80b26c712815e8c0658851cd6
+DIST thunderbird-102.6.1-fy-NL.xpi 690681 BLAKE2B 
67209e3e0fbbe947001a3e175ba4e37d168befcf3d6c78559d01b76a3c633c3488469f27d6b7dd610e428c954ceefdb198e461530c7836f858192435490a0ba8
 SHA512 
09d2ead611ba64aeab7805a5f3df9b10f8155e565edef849fb5fef04aabbb2cc325480c692c72902eb9dd1c0a855f7738091bd8d8ffa23548160ce1ffb2b2bcd
+DIST thunderbird-102.6.1-ga-IE.xpi 603099 BLAKE2B 
ad04262a2e4b20a8cd01fa4615ce2fcef22d26fe2194caf0a47595c05a99fb58dc1a26b91c5e500fa4b76fb4e5c91dbdc293fbb6693a7011da7ce2bf89c3a068
 SHA512 
ac964d81a1beab88ab28225f1f5ddc515853b1b4e458c7c6a44ca282a2c85bb9f6c02dac011fe01eef2cd6cd74d898bf8c93fa490bc76e454f57efac8387bbc6
+DIST thunderbird-102.6.1-gd.xpi 632445 BLAKE2B 
80ba08102747bc9af1d045e7b89a7c6f5a339fbf60d88e47f8dbb90edd50222ba826004a6f74dfcb60f4d74314fc5d8140aa830c92a931503f4239f2956246bb
 SHA512 
0e894a06c0e185e209ffe10bcc02a0547fa42fd371d8116509d3d0fd97324bfc8ed1fb0ce581f47fe71942c4882f21f82745a5a5d4322b6353ae91f1427bd8f4
+DIST thunderbird-102.6.1-gl.xpi 663210 BLAKE2B 
9bbd2a4db45bebda89314a2fcdb0c56e8dd5fb0064a65829897ca59bb1c807b1b1baaea9bac6fb9887c3f5cca7eae804525b010620081f205b04eda90e05ad08
 SHA512 
9c9a5ee1a603ba81d397ffe65548497c4d8a2a34e37a848ab4f3d71d05debfd6b4c3bf40edbb8811bb4c18d42780c50062f0c760f86090920b40ef88d88a70a8
+DIST thunderbird-102.6.1-he.xpi 662890 BLAKE2B 
d5332a37d48cf56da3617cd1e9ca42567e43c5beee4cca16b79ed7c36a0b1d85ca4dcf036b9508fc8bdf066a8d49ee53270e8d090528dd48690a049514cfd3b1
 SHA512 
7f1cfff69771060ee19d7feae0ac96716431d47cdf25db74f2e4cf650c196e6784e94b88bcf6224497ca2cf428cee9e02951ace118736f60bd0581c2f6caaaed
+DIST thunderbird-102.6.1-hr.xpi 661114 BLAKE2B 
9601adcadc3fffdbd1287e60235470c140d7ac3b18f1cf21a888d13ca1bb0415df1f2c86dff35b5c664564036ccc0f127d5bbc07588a3ab63294bc36e4ad4eea
 SHA512 
5ed29db619f6ec6f2dd4223914b6abc53ca848a700b6f477fa15f36ba8ed05ad3ac88b7ec8eae94a70bb06d7beab636dfa6b92931fe6acd9d1dfda3bcae0dde0
+DIST thunderbird-102.6.1-hsb.xpi 715754 BLAKE2B 
2e79101155d85397639a7d39e3f8531ee755b5f6eb906494bdfcb8b55f01703969ee2f3537d8b1b9f124fe82198cd43e76f40c7987f99411129a90acd984e5b1
 SHA512 
d7b736e05b171a62f667cd2d5a4b215198e215ec3674f46aa2a586f94f7b2cc815930fbae7af600b9a566a53b6592e3e23c8df0f4c2ab9e90f02f06a4ceec068
+DIST thunderbird-102.6.1-hu.xpi 718786 BLAKE2B 
fa9791ab8fa3a6638f95ab50561411ae5526844300ab3a65b828934339a4dc955e7088ac4b99328cec7c6ea8d8c6c7abd60a019ca1ad0d2cc4e070e9f20a2c5a
 SHA512 
55c0f06ae86cf01a1936703ff1e73a0b49d1e5e22d707a184d4a98f533917d1f1b573ef702bd989ed838137464653a56177861c04a362ef4ff32f28c8c284f9c
+DIST thunderbird-102.6.1-id.xpi 639541 BLAKE2B 
c1cf2914ec15e5539767b6609505b9b690561c8471e7ae9fcbb1d53686f324f046904f35f8fda315e79133745990be8637da04411d410eb7d80f45024235bd63
 SHA512 
b4bf087901104cd4bef755b0eb6b42d8067a3befe1b7bbef40ec72b1de4897eed1717256f59149a323455a6be8372eb1fd277d8da99311eafa3f46256009b7fa
+DIST thunderbird-102.6.1-is.xpi 685617 BLAKE2B 
167aff47e8e97e2821455536a8089d176d294dac1ff8b5232fc2343f4915945dfe059008154be4212aaafed2c8f5887ec35f8c06f2efc1306c24648a6c05e3ee
 SHA512 
4ea933814c0c3d41c8ce99ba733b7e3fbb4d7e9b0280c2310ee9dea49326d3a56fd7950d223314c8157e6382bb938f2b53755a819e789ae5f04244cb4fa8e5d4
+DIST thunderbird-102.6.1-it.xpi 617780 BLAKE2B 
d0d70e38f5ffc154afd364da1b6616d87251b60ca1bc8a13aa25034508446b72d250b16c64a0f355730d475cae3bd8a87b3053dd1fc312f69af4a16cce7ed414
 SHA512 
178d1d19f8f90b9b7471c13af63d1970107f9021ae3be5585304df053760592481df9321b4cbb8bd39d3e986fa72e082e6c5f6b43b064f775d4d2cca686692cf
+DIST thunderbird-102.6.1-ja.xpi 755145 BLAKE2B 
0312ec97172823ea2da728e4dafe5f92f9bdc74859e5d7ad284da18d78a0988f733de56e43ca63092201a302edfe1113fd3e416156443f5ffa6b87d42c7ea6ab
 SHA512 
7ee8d97e70a5cea037bef7e94e32568fbe5dc1e67dd0b591e2b33158c314a9bc36bb3ec4838081c88cbd85b21c6243871079ee0216f152315286922e45d1a3c3
+DIST thunderbird-102.6.1-ka.xpi 752978 BLAKE2B 
72e6a1fb3cb24443fb0afb2d39bfb52de28095dc6d3c1c00d97fe2c3599e9ed384f88e1dddd4cd512ec706c8ad029060826a658be193976f6149b5fcaa9b6ec6
 SHA512 
5953ff9020458184a0f0f864935b0e34ba143cfc62312b90ddbf35625d047819405ed81475e64ea2f6a6a51d0e31495adb0b1a3b47d34ba91b6af852a3249a07
+DIST thunderbird-102.6.1-kab.xpi 688572 BLAKE2B 
3f19c99a12c080971ae69d68ce61b28adfc2edaecda84ff5a5357a0cdd9eeedae7bde37aaf69513aa89add46601614876c0976f696bc8b116207dceb9b2338e5
 SHA512 
bf8d85f62bdaba10812cd8aba69165164e5361ceef3cea0f214bf864c8027743c793738a54a8a092327ec7f8f7cd0cc7530e6ed27c2c0ffb95d807e98f86197e
+DIST thunderbird-102.6.1-kk.xpi 731942 BLAKE2B 
7d9e11472b06ff06c0bd9510482fbbd445d64559d95f70aeae77538ca0795aa2e6a994f1e1a422878d8e9b8925306d8e0ada612ee249c54565013b55bd686304
 SHA512 
a0da1e68cdac2a7516a9ff6d46416672b445ebd2090f422670458271dc386367cf0c282557c3be99c6de593505ab6e725b0240ca84e05abe3fc14ea214b5ea9e
+DIST thunderbird-102.6.1-ko.xpi 692942 BLAKE2B 
7833ae52e8b2bcbbc47e57d33fad32f21ee9e925e0eba8f8bb593ca2588937d161d7f9116c2ce27e5cbecb9b344eb4fb13fedb86c6c1161ee6cd399adff1bef7
 SHA512 
667db1b55ccc05e722e16730ec745daa6ec2bdf1325066e5e79eccacefa50e0e19405501f736044cc0e44f19c646efc479c12612f1482e9fb99f24a7cd60f854
+DIST thunderbird-102.6.1-lt.xpi 680720 BLAKE2B 
f2fdc21f6d92055475d6d1c913beef490419b1ea4c5a0735666dcc7386eb3076a04c299173fae1424605c58d067b53edbdced713e1c043e55f23b6eca933909a
 SHA512 
6a94c16494a374e012fef994e7a0c809899956279e63b231486dd771e3f3fc93baf12ce2aa1494a4fed866d6ad3ff7fc1939a40ba5f805a802f4334a5081e5b9
+DIST thunderbird-102.6.1-lv.xpi 608590 BLAKE2B 
4bfc20fc584235dc5f5125c436364a69a807a6a600e5af790a906c004268bf55a9546a70737a4613710d844151d66f159f47c33f4d151908eba7616d4fb0c5e7
 SHA512 
31bfd6c9ed28ed27ade01e62471b70e6851ab4257b720c8f2071faee146c6e1498cb74640c56e7a93689e9d43c67c483dd47ff99429a6e75dca8933fa6b4e356
+DIST thunderbird-102.6.1-ms.xpi 568426 BLAKE2B 
92c2524b7d94d79f8a886f4a2b2a1fbe12adc20fcbf6c492cd207f8303f203f2c73a670d9061f40e8484b487a1a5c2ad2c66021745fdc9305454b8e9dab59ab8
 SHA512 
6afc59a6d3700bf628b735f5ec7430033984d17ca3b81697edad0b862bad5e7a07e9b00beeca1976f7b477e5d2ead1ba610a205fd8a4eb455afc8320aa7352b3
+DIST thunderbird-102.6.1-nb-NO.xpi 648582 BLAKE2B 
dad528e0a65977b6f1bb6622566429db8aab44c0367464abd60d3f8dcaeb8ec3dbbf4d35c76bde821fdd72963ce2fcce211810bc85b1396a06222b1e9136317d
 SHA512 
255df01113342a8336bdb855f01ac1d5712cd9636500b83d3cc7d8d31466400126791c61222bed85d795416b49d028eeedd64d62cd218b2c26ff8ac1c89e8ed1
+DIST thunderbird-102.6.1-nl.xpi 682268 BLAKE2B 
f3eab1d63a43e487f711b4fd31e49972cd96b93ca0c3a2e0ee9527085df1bc597f4f680bfd159b638a0681177491ba8110c1f8e05a42590e2558f0ffd4e5735f
 SHA512 
d0d6bea1487c4affd731cc3a67c72709ba8539bfacc424afe97ede07039ecfe71f0fb4e7c54ffa4abdcd0ba4eac0fc6352b3b1a48a3becfcae930dfce0f9b788
+DIST thunderbird-102.6.1-nn-NO.xpi 656905 BLAKE2B 
5400df3ed9f2ebf6417cba8087e5b4d4bba838efcd54a641646bd9caac2748fbc10020c29fe621b8c7fb0ad53d6990576b9d4bad9579cbfe7d4c1f1b09a4126e
 SHA512 
0d2ff9620d0321ad0a9b19b7d7131357cff863a96a8547f176c07dbe881ceaa87b33a2922db20ce1b1096a2630769e351e0c459e0ebc5276ec424ebf5466dca5
+DIST thunderbird-102.6.1-pa-IN.xpi 653543 BLAKE2B 
16213c16c8fc758dc8aa2b67e9994b8173a9c86149251507b57b24d875a69d5f7dff484609fcb2e187b5ff77aa42323e052699ea149da666ba86eb55f85319dd
 SHA512 
cf2366a849b029c3ef7dbc578e691ba43dfbc2c1c7d8ad87fc49d5d0daae87f0766fe45c5f68340c9b7a0c13fd9041a43d64fd4dc6668ce4ad2d378807b356dc
+DIST thunderbird-102.6.1-pl.xpi 695418 BLAKE2B 
8741380c235ee5c1cbd4e5693f754eb66ac05825861b1db194ba21f07575c5406835b74dc831e5f0709fc4fbddb7f3ba2b068fc5addedcdbcd5119280bd6edbf
 SHA512 
3bb768f22772a8eb021c76883d74f0595d35b68c06ecbac79ee23b9cf4a041bc90e31ac89581b5578638c33bada0f50661ac36cdab7389bf85efbbe916373b07
+DIST thunderbird-102.6.1-pt-BR.xpi 690288 BLAKE2B 
0cac3c3c4c117668983bfc8806c1b39c5903124ba8e15ae8b19a07c0bfcf2441d89284680a9cc69b1da7661f7ee96aaead5ff1ac87fa45dab26bc397369ae2bc
 SHA512 
3c45037b654dc3f4d2921044c8dddb58a555f86212048d969ddc1e08568568b2c85d6323962a17ba33bd1b6d74f53c34f3e7a718cd3c850874393dfe4d58e7d4
+DIST thunderbird-102.6.1-pt-PT.xpi 666880 BLAKE2B 
065b203f03ae4a8b80dba748a24c98ab7418bd129e596a479301816268c92ad11278e9958a3ce7217bd0b50ee2905ad3fbaa198bb87058665b046b34be1d0187
 SHA512 
d60661d54dc353b251b7f6c432ac60f8a77c012e4681b79bbae21c8a2c592bbb29f16ac7a9827baf6d98ec46f28793103383bca5866c33d0863c0889dc1ed5cc
+DIST thunderbird-102.6.1-rm.xpi 686109 BLAKE2B 
1bf723fd83b361304b38d4d6c84c4ed24eee5510d826f0f56c2dbc41c1c19d60c705cac8085bbb77b2c22acac8cfb9afa552df24368655d5c9004db7443682cc
 SHA512 
ae5c015aae46758e69d8a2e7eab12627ef1fa7a29737f060afa1ac87956a65608790c34325817a14b2495e7cd26893e66c2f0ea6b48e9e1afd8921884210b3c9
+DIST thunderbird-102.6.1-ro.xpi 651335 BLAKE2B 
2c638ff0c22b2d5e0f0dcff016b20f9866c3cc7b39ec0a3bad058d9ae8f0133ac2dfb003be694ba1d0acf5a4b43cc9fd03ea1178eebebe4867c54d2f8e755d95
 SHA512 
660657471d9ed4e04a573a09de6163d3b0724323f7784f40a04add5448df41d77d2a997c36daaf4d9547c9e3397938011c8bcf594fd21e4069fbc40a29065925
+DIST thunderbird-102.6.1-ru.xpi 801785 BLAKE2B 
c105226717ef5e12b1e689d6b8be3448e54ea561ae26936f71ae2daf03a41650be4fb4ff5b0c1d7c0db01ec61688ee637b62d8989726566feb066361a76f11a5
 SHA512 
5b58185e29a1e681e9d5d6b16e585c79fd2fa752158dad61f175e3534e411ea5107b6e8bddeb151c993cfd1d84814ec4f4d3b4e8448b99c8ad71f59e335f000f
+DIST thunderbird-102.6.1-sk.xpi 718356 BLAKE2B 
eaffb8a3ea21d4952708cdfd2d48e17bb46164385f828509c7c633302bf04c41ca5f72d86297196a56c09d0ea1b1e393efd69fac2dd42205f14fdcddcf429720
 SHA512 
e48407f36083ebedc3c982e55cb40154d8020f643b2313f7dbeba9c50f45a0e75c26eaa6dc06916439fbcbf987d4026e1bb448b58095180280ef8dce0a4483b8
+DIST thunderbird-102.6.1-sl.xpi 683785 BLAKE2B 
234c992d059caf458078b49c4cd1fa8bdc71892a6e2eddd1dbc1ab8dc0ae8c7c3cbd3c1399f0f9c2de1cfc877f45f8c9951135334a901233b8033bd66ec15e81
 SHA512 
fc8098725e8f70d9d74c60ca7e5d785e9c065f9893acf3f213cb5e47c7e64a2af93c0022ea8eb8828e90d20286325b21bad06888f688ec018b52b181b9f7fec3
+DIST thunderbird-102.6.1-sq.xpi 690226 BLAKE2B 
87b3284efef1623a933f37931a76f2b951bcf31bb1645980425cfdfe02ae5417fd437e05780a1e9fed886032f20131a7540b4144aa3d757dc9b736ffea395495
 SHA512 
e05f1d7004ca86e5adf6a28f58bb1548f2ade67da888a0f189594d264a1ac1c7d24edf615fa659edc5e509dc04b69d2b272fbf01fabf335c66e9451df3beaf7b
+DIST thunderbird-102.6.1-sr.xpi 705270 BLAKE2B 
c9c11cebec0a68e2cefea6e0c0529c9b07c38678186a9ba7c6b86d1ca7a66e2bfc714d4b412f82ca2223955c8532b6b0ea47d5d7e6bde1f6076de56368ac240a
 SHA512 
208acc42517ff74dc60a39f8714ad2f8b159a46845f2cbff07183b65e29a71ea0dcd211756dcc625a1361ab3126d1507a1a5458830dbf8585cb8472d3fc68e88
+DIST thunderbird-102.6.1-sv-SE.xpi 685685 BLAKE2B 
555078ab0b6457dc8b1a0bd6bdd9d93d80d5277e4ee642dcc6a213ffdd071393fa513ff2568c88d3a00837f4cc169bdb5bca594a2ebd2c556ca4ac117c181676
 SHA512 
d34069e14dd939b4092d0719f3f0380801e9e2f152f86ebfd2c2af4fe48d130ebde158fa748296269221b8566e1b7b46b57575d7b2283d20e847f7211a4af28c
+DIST thunderbird-102.6.1-th.xpi 734541 BLAKE2B 
09d5f168e816bc2a3256540ede79aa755bf435d9ce8bae504493c74c202a078c93638a825d577970179200f65c4425e0846717b4ed57742fc8afb000ef9abc48
 SHA512 
d5c01b85455805d5770e24d399c893ebc857aa29a7f0809f06dda05381dbc55ab04b6a93ab35b6b1352631facab5e6cc42ed0048c52e9faac27c811786bf2c9e
+DIST thunderbird-102.6.1-tr.xpi 697056 BLAKE2B 
b51223200c18ed57acbfb20462a45aa2374e4550fa98efa6b3cae19d69cceacd5cd26639969e31db5f87f0cb23e631bf8b91b10a8548d315ec1a121dd88e1a23
 SHA512 
9a050b203058f217189c6b473e94b88c0d6974af9424c13691cbaba22734badb2087f2de0648e0f82088c30dcc507f392e14dc4fd00b38eeb2b95bcd409b1a24
+DIST thunderbird-102.6.1-uk.xpi 794405 BLAKE2B 
7f09aaf7e105130dc905e38a0c345eee04ef5b4ba37a67549818660d3cd295f9a6cadb5c3b8ea09ac2a81ac061a5b3d7208be742e95645fd8a0fa11345a952ef
 SHA512 
2ab844419ad0d456623d267531c028198a5cef96199ef08c430f0b40fc84e48cd1dfcf8aeced4c0257a79f8aed03db9ecfa0518d6906e062a9995e892c388eb3
+DIST thunderbird-102.6.1-uz.xpi 584807 BLAKE2B 
9ad1134699eda65be7ebe754f0f2d47ba5ceb4d96c0eb76f7d600aa58bdd25a80ca442cae58c0df0bbf1acdbf0851e19574e599743fb6f1a32349d2d2dc074a5
 SHA512 
a0b0b851a119cd0dab182544711c82ccd48913a70552708e765303e8c77af19e6d18fab26265251b92ac1e05b489a43013111521dee8fa1edf6d7a87c7a8c281
+DIST thunderbird-102.6.1-vi.xpi 724848 BLAKE2B 
80a1ed0b0da36c32189fe2b5b06415766a32326a23823a323c1b8d7887f6a03de657bf7cda21689de55a379fdcc4d0aedcb702813fc39fc2b44026f0fec2aaab
 SHA512 
b67167c7c658f5d4c5309aa1f68b3e83ff3ba5878e8391179a60ad556efd6c0500926e1d19a33d631d8305092ab5824cdf0cc24525e9eba31868cfb85b64af16
+DIST thunderbird-102.6.1-zh-CN.xpi 722698 BLAKE2B 
3ed7e0fe78d5bf17084436b5dace00dba3bca92817e3a8212807bbfa30f283833f769be875679d67b0d4aa6170f3e9e813ce3f478cd206142aa2014c4cc38b6b
 SHA512 
7bf80b68344e9c3b13f72033ec23cfc8c7dfbc811ae1d71c5bb9df37c1a605a64900917667bdc840d1c2e8033e0d6a4dbb0e8a5124368ef3c4652d7f85adf828
+DIST thunderbird-102.6.1-zh-TW.xpi 725969 BLAKE2B 
bf188d304c663e9fdb58f85388899128de299857e00ec73d48b5389729e3ab91ab0d671ba7907e1f65d1510aa69f7150e72004f423667de9fb63a7dfd22d20ac
 SHA512 
1e395caf272de70d546c856e1fc0cf7e5fed90e301270246d2a214f54f5836df0f42dcf9d8ddda20e5e480b8026d9c80942aaf594efcc02778e3aaa7acc7c1d7
+DIST thunderbird-102.6.1.source.tar.xz 508826308 BLAKE2B 
ac364b260e430768e120005cb04ddc4f712dbbb601b066b86d4cac6e893939feae8e344dc71af02375d4f3362e2253e99a4930365e5f0b2d994c0e91726942f9
 SHA512 
06ea2fce76c08609d638435869fddc1c4d7f4b748951ebfb2476b4dba9f1f76d3de2c11e5f62540f297a5d30bb0fc637852d8e57f4fadc2c905f299757949d83

diff --git a/mail-client/thunderbird/thunderbird-102.6.1.ebuild 
b/mail-client/thunderbird/thunderbird-102.6.1.ebuild
new file mode 100644
index 000000000000..b1695aabe6e4
--- /dev/null
+++ b/mail-client/thunderbird/thunderbird-102.6.1.ebuild
@@ -0,0 +1,1177 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-102esr-patches-07j.tar.xz"
+
+LLVM_MAX_SLOT=15
+
+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}
+       || (
+               (
+                       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] )
+                       )
+               )
+       )
+       !clang? ( virtual/rust )
+       app-arch/unzip
+       app-arch/zip
+       >=dev-util/cbindgen-0.24.3
+       net-libs/nodejs
+       virtual/pkgconfig
+       amd64? ( >=dev-lang/nasm-2.14 )
+       x86? ( >=dev-lang/nasm-2.14 )"
+
+COMMON_DEPEND="${TB_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.79.2
+       >=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 ! 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 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
+
+       # 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
+       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=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