commit:     013a424c082abaafc2660fec7d85e5c5aa8d7096
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 22 13:04:30 2023 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Wed Nov 22 13:05:04 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=013a424c

mail-client/thunderbird: add 115.5.0

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

 mail-client/thunderbird/Manifest                   |   66 +
 mail-client/thunderbird/thunderbird-115.5.0.ebuild | 1328 ++++++++++++++++++++
 2 files changed, 1394 insertions(+)

diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest
index 3f54bd0447a2..d7f44074657c 100644
--- a/mail-client/thunderbird/Manifest
+++ b/mail-client/thunderbird/Manifest
@@ -1,4 +1,5 @@
 DIST firefox-115esr-patches-07.tar.xz 15204 BLAKE2B 
d5c33ab66a3cab0f1d7b520b5cedd17a8d41260f560eb7624f19f9e7126810e5888e5e1af584661561e82c2dfb818d2c6c7906062f9ac7ad117cb09052163594
 SHA512 
c948c32766daed22c77d20e0ef3f499163e03adf2a6329b04a60ae9f0b377ad6c85fde3d3bee8c5b11ce7cb19b9e03836a60699af3ed074c4ee8530b63c390f2
+DIST firefox-115esr-patches-08.tar.xz 15912 BLAKE2B 
3f94deb17920672ad2184e813bd38e390ecaa50bfc6e00973db717bc56a5adb4f096224cc366da525db25aaa3d198d57716bcb765ddc906783532864e23dd8d4
 SHA512 
4474fbed14b2c4fac03d82f4b37849a69dbdd61fc15f01cefa373eb8a64a692f5a584247acdf7c349ab6965225c3cd47be3fc4523f93db5299680e2a22e94d94
 DIST thunderbird-115.4.1-af.xpi 542156 BLAKE2B 
0f2ff8d1c0aa03b8b9b421b0a25f6aea60eb3c3eccee1690c2b0204082787ec01a1fda63636af21abe3d6acb3fa6c7db1abc3f557a3813b3c6e9f07b5ec69d55
 SHA512 
d13a7ccf00ed0ee1f0867742d447b44aef949077017801a70b60dd995b5a480ecf9d4242e2c67e268755f8cfbc3cd3cb4f6d429ba2619b342866a0f65bb00154
 DIST thunderbird-115.4.1-ar.xpi 654728 BLAKE2B 
61894efd03db5af4dd249f8134fec4535d53a84eec6f73666044ad00ec803e61aeb212df9918114e3e980f5ca05bd7970d06d4d6dc76a6a12c5e6c04651fd161
 SHA512 
825cafae787a60e0e50dff510711b09d7774d7f5bba793ac6a1b47636c94dca6339fde287ba965ddae8c811a2746b3d80fc9ccea7721bc5e63b31c9d2b491dc1
 DIST thunderbird-115.4.1-ast.xpi 561119 BLAKE2B 
ef99916417ccf014d249525070ce8c009a4666b933c7f717278abeb3237b4ed8e0fd527f3b7679f6cf334ef9331ce115710ae2d7b806a37df74cfbb9de790aff
 SHA512 
aceb215aa999a9a0d6e679f2bd81654f7fc556c5277865d3fb3d9e91de3a22dd28f73abfa4ed4914c7e766b5c9b21e1160557dccdaaec371f189f941a24d5e93
@@ -194,3 +195,68 @@ DIST thunderbird-115.4.3-vi.xpi 742633 BLAKE2B 
cbfece2f06f8506fecf474761c4075481
 DIST thunderbird-115.4.3-zh-CN.xpi 740609 BLAKE2B 
010ab30198297c556c5d7242720ed61453dafe6abe6028c0dee85d1f8cee04a6adac24c9fdc1b6ed8ad0ff717b58ced28d8ae930d29a16d504a17b89988447ae
 SHA512 
244426aaa18953b92e1d4d40c4db0334deca4a45048f14db7fc71be3093890de4acf64d105a82967947910ca8240d036f852e66df69e10eac4ef21d3c4658141
 DIST thunderbird-115.4.3-zh-TW.xpi 743527 BLAKE2B 
1b2cf68c73f612ddb8e318463f78b9f7ffe80b01bd3c778eab3af5d47d34110e57e2ff3872f225dead500062cb9d004d71a4db9bc6c73b5291da51af031f7246
 SHA512 
f6813ac6267bfe93b7bac36610d2c1de0ef6e37056386461ba129b847949d5d8f26282db10f247eb88079a7d0c63fe04d5073f0a91e6847ac03d3d4a05cfea68
 DIST thunderbird-115.4.3.source.tar.xz 533328212 BLAKE2B 
e05d07ca81ab762d12b8ac32ae6c3ca06b379a0a3243f2dd7da296e6111401b6a92e5cf1ba36a78a09b303b48f6fab61d508ec457fb73f991029b1af50e6dc43
 SHA512 
be72f3739a2c3b947031143e1e150cf42131170e7886d29688d4f1e4adc82443f1565f8ea1e95a02448773366c1df6cb198d0f890dfdd7fd7161981b45fbc509
+DIST thunderbird-115.5.0-af.xpi 542210 BLAKE2B 
f2d65304c71b0bca3dc92702d668d761c64e4b9055ce4371c1c9b030c97d827430e98fb5a24181249dffa060053dcffd9765d160a25728eaeddeb290176d8f3b
 SHA512 
4f04fd6ef1f320197355516e64cca301027508cfbb65eed1aa69ac88af58a73248666dd33bce77c49b3a52ffbc87020111c6aaadd979615a6270e7f93bbe1596
+DIST thunderbird-115.5.0-ar.xpi 654790 BLAKE2B 
886239a925382d1b65e1dd95d51333f2ee70b291370a176cf48a0b7adeaab0e04aef2f37f49f13542b044b9b30eac80cd651287f32aa19a18672782eda8dd76b
 SHA512 
b4476c79dd61794ea1befcf28e0336e8c8e5e5b51d1888811b26614ca008dd02e9c50edeb3429a24bf91ed3278ecef0a98df4f6d539cc6af07739595364c30b4
+DIST thunderbird-115.5.0-ast.xpi 561180 BLAKE2B 
0966bb900e8d4fb52cd06a69d93487dd626f4275738921c4e889c90390920f132866eab1aae59b30918f3dc0cf8afb64b41c74e940d6f45a20b05ac3441717e1
 SHA512 
610d73e049c5ca1080c21f9f945075d8f2dab71eb6c690c32d9ff54a5682ef201284d247378e6ba8a69cedecd00186250f9d11baee1809a4611549439d698d08
+DIST thunderbird-115.5.0-be.xpi 694155 BLAKE2B 
d0d2d6c75bf96841b3de7c27028c53c9e5b3639b97a46d3286d51b4c4d69e3cf53b0db968745bcc8f207a9c36503f28651a371579a7e76954ead8632c267191f
 SHA512 
421b51a2aa2aa853730327b29b3b9c5f37e741905d818df772a23379f66301e7d00e47a899fcae90b2a07ae4c70a990eef86e94ed0841d92f341836ed0f7042d
+DIST thunderbird-115.5.0-bg.xpi 681316 BLAKE2B 
8078f1dc2a67fbb166f7bbc316c8251b6e54e13c1e99618a587f75401431319269788cf5b0e0154d02f463d5c8e7634d8485457d6306697e880fd68bf4e8d068
 SHA512 
ad8206d6d732294eea68126e85e85e0ffe0cc4faecd0579c0361a4a3e35442d7321a2db9ed89668a6c53a8705e2204b0c24c9c5fb3a924c8ea06eff7ba0f1eed
+DIST thunderbird-115.5.0-br.xpi 627000 BLAKE2B 
2db535103733d72d8be5dc097ad549131489ee1097f61ecc32dc905e4b20e4b14d47a731241f4c7387a71935845c1ea0eed780a9bba6f32834d6f29834183c83
 SHA512 
bbd52e2ba9fa1dd67c3866fb62f04d7ed5bb0ecc2a79ef8e325b821182d0c7b3319d75866289b1cc972f1c52497db66494acf4c23bb5193cdb411422c0533711
+DIST thunderbird-115.5.0-ca.xpi 671489 BLAKE2B 
dcf854d3190148e88873d2db1a7bc3e839cdfd9e4c2b3fe040a6c4380146fc79a9f0fbd77da4bfca4a7115909bbb22d237690866d845716e3b4870b91fb4faaa
 SHA512 
1f6c2ac77d152707ab407367201e0c089cd79156eec8a4ceef04c0e4d706366f24d45e877479cc77874d9dbeb993e27cede2728d4526e34eb27fdd850773493b
+DIST thunderbird-115.5.0-cak.xpi 658682 BLAKE2B 
1fa2d57a9659be9c3367249fba1cfa954665e62d6c336ad4ede8b1e7254fb51348be7cb8962af5a1546af831560b816915c632aeb9e285b44ede274e6d3ae620
 SHA512 
17b5272160a1868fee0471daaf8fed963163a8c23c189f62aee99b6ec57cf1923016eb5bca9e665d9838394c5642fb4b2402f496d1b3b80cfd479010d9985711
+DIST thunderbird-115.5.0-cs.xpi 735543 BLAKE2B 
8dd3a84016179e3587260b280da9d404d96502bdafb2e76853f2dddc6df66c85ce82fc33257a3b3ef863ca7a8f1a766bb5864b8bbaded014c4151cf3c84e62da
 SHA512 
9965bbb27666fd2694f62bd61e0204a369c9a652cf64e42e7d1a89b60d2d1b0bc180b77aa2d6c40f987f7c7ff182a7d892937b94cc42ce116f176b865cba5b38
+DIST thunderbird-115.5.0-cy.xpi 704929 BLAKE2B 
063742e7c7c4cae678f205e13937e7ab7b6a36f5f4664970bf065d1aa40a29a40f750f9fc8988e2347369d83ad4ef490cbeb552c00cd2d609fe7156ea8ba7d66
 SHA512 
db4f3096fecdbbe0d9b4ac01449957a21475572af1911838ab8507a62cd78526ba09f913dcfae6b67c493c90eb5bccffbf3c7fc6c4a7b5364c53b58ce4a58fb1
+DIST thunderbird-115.5.0-da.xpi 691754 BLAKE2B 
efcf8c6369eedd22c9927b4f4f80969f9d8cb1a0b2467a1d92edd8ab6e6ef135c1395ebdad16740bb4b33dbce358f63773f39d32b8fbe19f7531fba8205cc82d
 SHA512 
2df0099e1a6e13bc02737d989a8c12d27161a58abd3d5fd6687e82a8b96bc6e806932458d25fd8d97d142f3873ca5b6b3b8819c1a82ee1dd927ba663fe0e3611
+DIST thunderbird-115.5.0-de.xpi 721629 BLAKE2B 
99101a65ad9baa717de6289674fe4273b9300f85ca1ae035db0b72acc24d0734351e7d3207ff0805def278cbff063181e457eda8b0e1d3b151e63d922a753425
 SHA512 
36848ec2570c4d876c8cd162f286d8230d8053270c4be12e2d633ac0c9c9da0bd65e7cf9becc10cf9eec8e3ea442b6452014803e3807d35bf9d390641bc1562d
+DIST thunderbird-115.5.0-dsb.xpi 738949 BLAKE2B 
d9e0c2adf8801985025ed89fd3166e2b54409dd14e99b028de7c59cf36d60ebc0b3ad2e45baf7db8933ff9467b651f5f4409243bcf790f7d1526a242eb384e8b
 SHA512 
faf636fee84f2f8f8446d1001664cc3c5e3d352751b7bd754a3054a8cb6583c64d2cdde68689053b95ebd9deaee330abc7155c1f85cc199b6c9db08baed3fcc5
+DIST thunderbird-115.5.0-el.xpi 838618 BLAKE2B 
5122ba6cfcc44954e897c7c2a25a90ac02234209c5b574ab40245e66cc1388791033ff7ebb5cdc5bb34a8270179bbb5ae7f6ee5a80f5f76a4d5474f561771237
 SHA512 
97e3cefa1a219a3bbd1f051f3d25436b128ebe8cbad7fb83fe0e53bbaa89a7066d65e4c844ae754c769bc549e649aeabbe13e7470592a9d8d73306e2fb967956
+DIST thunderbird-115.5.0-en-CA.xpi 656948 BLAKE2B 
e050462439369f461f88b0c1b46ff4195c5f78cfa54f39d1f5fd2127c8ba1985af420f539f98548f49d3188b4ce16a5e4b49670c0ee05424e31fd8266c8d555e
 SHA512 
ca677086477c48f71053fffbeaffa97448fcea5b3dafe67f48b22a5ee26a94ea0cc11e71b0a4eecab78b9c6d48f5612d8f6c3c7e9ea6ecf24dfb2e49e14ea0f7
+DIST thunderbird-115.5.0-en-GB.xpi 662932 BLAKE2B 
e2930d09ab6dcec53eb1b2e0839288a0c33b49574053920e0b26f7576b3b0751f24ab8188654321b42095159e5ce922a2c81b9caf2e80d6713d31b8e1175c9ed
 SHA512 
05e860adcf0bf888bdf9a8ba12b393cb45c4119b17a146e802d03ed6818dc072ad5d7627acce7f706a06a6f6dba02785032336fc1f4a216363bba6e13ef17f66
+DIST thunderbird-115.5.0-es-AR.xpi 714673 BLAKE2B 
b39618b39086ecea92832d8094b4df90d4d807af863d09cedb1bb523609565f7a059000161b8277ee2cb740ac6e8aa76bc7e154a374e0427a4e64fb1594a3730
 SHA512 
37e357da5e22175d71bea49cb5edf59ab433374ffeef7ec0130d43eece7c9b691ee7d4e5fe58986475d0f6c2616b90854cb1cdfa373ccb79edccfd77dfb2fb43
+DIST thunderbird-115.5.0-es-ES.xpi 677250 BLAKE2B 
5a9abd37355c399e8204ace1ad94dea9eef90431445be561f5e24fc46e2045f62efe8186579b7464a48a83d0cd7ea2bdde9f4fffce216372b9860c4d59e2b019
 SHA512 
25b10f3fd951428e1af309fb7bc30ea701757eab74a3f32efff427ceb013a1dcf341848d186d52f70c0e28112e8caf7cba3cfc524d82f7cc26ffe6fa5c57de2b
+DIST thunderbird-115.5.0-es-MX.xpi 710986 BLAKE2B 
1153310b7677aad0a7207315eb0dda2ebf77b9d28bb582203ee31c0514f7af9388b1b4c2f21788f1155a75e7d936626b209a0703415cf528083ecf114eca70f9
 SHA512 
ca0407bf01d11ebbfa742afea750028033e9c0510ee54c7f4a070c1370d06ad3daf260e3182d03e4ab1bd7e7fc83265d9f7ce99230d066b65dfe4e36b26e35d8
+DIST thunderbird-115.5.0-et.xpi 671829 BLAKE2B 
f5fa0686539131a2886cde591e153af722cc19350f99ed998b62b570e31873aac0706cd7151107fda2bf2f6d5933dc478a747478d35626d8bcb1a4e3fd7e2286
 SHA512 
39fb9c4894f83cd2e1f0037d42b472a5b2551d84efa1e32da9ce0351347e735cd08123900c8f03bef13c2e910f116c345a0543bc9ac952d5513a186f6bb66f9b
+DIST thunderbird-115.5.0-eu.xpi 694692 BLAKE2B 
b16fcd8ad9a5572d8d62b0e99471c9b451c898b9cfcd12e275a19ffb316c6ded87f59c1b87e097c8cead0bb5185b0e45fbb15ea402be2547e2caee5c58798ef8
 SHA512 
688f17e4141959c08e66e4f8e99cba3e4e854c5ff7b7bed5a74865d295c15ce327c4960ee084817f3c2b356834d52801694d13cc09cb5e2dc672773f9c4989fb
+DIST thunderbird-115.5.0-fi.xpi 693768 BLAKE2B 
fb4a76bc382cf9406ea79c89d0d40637c960cd9c8190462f2bd4b5376e1d2ec35b5468d4988a0f8969a4da671cfc3fa012b74579a6138794b4f8113c35cdf1d3
 SHA512 
f2eb78c4837052f9ab97f4d3bf5e96cf07762df6af5c3ad55f9a6caf13c116400b854daea228ae2fbf4247412546ff57e2935d3c6faf37d4bd5c494db6ed6461
+DIST thunderbird-115.5.0-fr.xpi 726972 BLAKE2B 
7715d9266a95ae40646f5e1867ba949042814e08a97e5443e5a0e834487a98fe3c350d1cd784019fccebe467e49911c38d74e01fde964f0b7e7febd2ddc8b5e5
 SHA512 
72666bead45aaf028faca55c18d85444c080445eacdf9fc638c00c1e16264866e8f6fd7214286aca4deaa24802f03d376ed399fc5add7796e65da22acefcdbbc
+DIST thunderbird-115.5.0-fy-NL.xpi 709422 BLAKE2B 
ac178b0de002d6cfa1d3c522d66b512d0b508e4375e2495000ab79e609e8647a5da559bf599763e6430c53288c7364d73c85a42be5649b6a2b3ef36af5c61920
 SHA512 
57f816d1ac91643690082dea3a973842e05278247d3723cbecb3640b5ad1910d53b0c403c39b74dca0e4a12e5fdf46133775231f92eb7eb94ea075d5e59278a8
+DIST thunderbird-115.5.0-ga-IE.xpi 602215 BLAKE2B 
02d6b810323101bb31b57247d69ccbbe9594f0a69d2cdce603e2c0a5ef3339a8b95377c3d5abf0317180f74dd6f8d84c473b8d3027d3781c715669996e6579de
 SHA512 
ffa71a1028fc174279a23431cc53203b78f8c5e3c9875f857b0230cb4af7755113fd3e8e9b085af7c230ddb29d3dd2b3cbc8b45a6cc386140498284be6d645f3
+DIST thunderbird-115.5.0-gd.xpi 703833 BLAKE2B 
520d7d5f0c9c636685f6dcc35f6bf229c206b0c83028373a4de0c1c8a87ad2a8fd21e7947ef8a976f37496ad15884b132caa7e126cecaedea8ec0f7def379bd4
 SHA512 
b6e39afee83fbc47fe2e725349149e20e55931678e7a349d7d8ea9b4f196d53b4580f79a64e9006ac66466dac1ef7e6f8a36b9ac0a61fdcf427b512c7e5e1723
+DIST thunderbird-115.5.0-gl.xpi 707050 BLAKE2B 
8d6e6484bb07ef2e64de54d31cc820fdfc8ef5c9d64f503bf49714090d9f4f0725890aea9ce794bf1fa6987cdda1f4451344d811903e0a12b037c9eaaaf78f7d
 SHA512 
b93729439415632483c083b58d55916500fe0078eb61b44fe75077a2c276ca16e57b4eadc2546315095dfaa8dedb1ae9ad813f8904b92b842249fd6205e3a485
+DIST thunderbird-115.5.0-he.xpi 667545 BLAKE2B 
c17fe27ff9eed461d5df426d12fd87859e06fa8539233073d0ae1116b99969f32d2d1a9862e1677814f95ddccbd1da2350d75e987874da378a34970e0669aa22
 SHA512 
2086f837fa8dd67bb7f4c1ef933de9bf50352801bed15202fca9e8bdfb3d91fccd652ed41dc810787a7f7853b1c84e08fc906848ffa07b66878b8fca937f47d7
+DIST thunderbird-115.5.0-hr.xpi 676508 BLAKE2B 
7da7120ee5975bdbd85db4dd62948950ce92eec63561d49a59e3164a3056a627cebcc010ba60c38806bba9fd40359a680c871de97f38d5941b2239d7ae81bb73
 SHA512 
ce07b7c10046235bdd492af1d9793ce9a4edc9345e61003c139f9b638db3c3a44c1998498e2d7e0708b5d012e328edc9864c7e35375f1b63573f9dff05b5ed84
+DIST thunderbird-115.5.0-hsb.xpi 735315 BLAKE2B 
c32cbf785adaf6e8eed857864847d6398aedbe05175dbfe6e84ca1a65897015936eb0f0c3cf8c468057ecc949c919c148ebea2f50be925668a7527f068c36b4e
 SHA512 
149ad5bce320628dbbe78271640e1df64423165336351a6ff6b5b3b9d542305fa8a47aff134554d763806a0870c0f8674d09aea406b906c8495630ff8b60753e
+DIST thunderbird-115.5.0-hu.xpi 738191 BLAKE2B 
7fd47e02658f366516939b4b56a845446621bfe5f386b3b6a2c85b063222aaf304f7769373863f408cbad26cbb3962bc180b9eb62e7028b9d27e1ff5345ada95
 SHA512 
9e9ce551e1777af0449472e852c39247f431211df34da3a9b21f46148388b165fce0cd3792b67435d3d91347f167c217d3768a28bb9bf435e4b877bcad131eb7
+DIST thunderbird-115.5.0-id.xpi 642589 BLAKE2B 
ec2dafbbdaf2eabe4b89c74f60491a4c1f845d62ba6eed044b48b175b1b581eba0e4c1ce30655b26c742ae13520b12aa8af826e9bc11c7531a2a735e63f8a9e2
 SHA512 
b5b78a2521631dd6f3e94716dcea03a56bfeadf88fee3c6cac9bfddfd8b032548afd75d3b418ab255148ee12894fd86897f7412d6662c21d8cfd504cebd2ed48
+DIST thunderbird-115.5.0-is.xpi 703411 BLAKE2B 
b795c4197bc2b0f91f132c85899310caeaef6a1ec6ebb08b749f3d5b113761bfa431acaa86288b6a6982146ad660117a51aa592692b6ca845b12d393c5fc8e0a
 SHA512 
b725647482d61d56c4cf9ff4c68d41284604a6e6425b068ef977749d5713448057208172cdc0a77b073b4d3a04f25bf5f7b02176ecbbaa126966f82452f318a9
+DIST thunderbird-115.5.0-it.xpi 645039 BLAKE2B 
bb0c934966636cbc3e1f122dbe3df5b6496a1311ddb1bf187bb636fdbd1e774218fee1d30e891c0e8b22941c6a94b14bf33707b2874faf9869e11e7e65abe37d
 SHA512 
15e35227b571846874801e4dc7d59eeb7f221f7f2971ffa9b3479d23f63867515766ed3fbb27272b8b57be7e067d33363fa8c5ec3d6d1575bdbfa6c643555fe5
+DIST thunderbird-115.5.0-ja.xpi 779365 BLAKE2B 
5e4f842a89f533170fb068926a6fedec85a9f7a584d92d854afb4b0d6da79a77fc18d2da0ba6c0a41813c74af4e9df47c8f998f67a5ee27aea06d1cd452f7fc5
 SHA512 
0ee973cd6f1bd497ad9bf1ccb2b0c8d4e6d47ffc1af003e5f530848b9c3d668e980abbbb6bb0060a5a0f11fabbf9db26cc290598f8d20a24367b2ed2b7f5916f
+DIST thunderbird-115.5.0-ka.xpi 765407 BLAKE2B 
90bb87208f43ef3ac4570cc443f357c03721f50796f8c6aa91d0e036bb6c57ca162d49fc9051039af2484ca87679c97ab35354f8722075a881da6abaf21de2ec
 SHA512 
470d88e603c8e4c70ed8880af0b8be3bc75671139dfa712632b638515e083c96d3817cdb2619ee8ad44e0a6a4e622cc73219e9aecd273f757a354e0e1946aad2
+DIST thunderbird-115.5.0-kab.xpi 699679 BLAKE2B 
06eef833472aa945f0df20fb0263f655e37e3f30a641d0fa8c7363c2e5d4f1beb9e9a6e020889de99fb92e5e81f3a58e65476223a7e9dd258873efe435250aaa
 SHA512 
c6db7dab990343aefb704abfe4e476c67a8eb3234a39fea46fc1e6be07fd3244c227ec799a69758454fd1dc02737b0021cfa026770a39d3cdcf4148372b5e976
+DIST thunderbird-115.5.0-kk.xpi 806839 BLAKE2B 
cad336f9f64d21a345d90969d846e63778fc0feb3e2d5d67ffb2170eb81a6ccad82226439dfae74c5bca2e4e563e179d2dce34bc8eb0ed50b5d45bc7151ce620
 SHA512 
cff97eba72f5b4c07689caf116ea837fe9b050d885f34be6ca85df362c8babe28f80174bfcfb693398005dd290dc4f770d16fe386c05a487703c96895bd4c5d8
+DIST thunderbird-115.5.0-ko.xpi 712621 BLAKE2B 
2a36952382c033e0b955b07037559b60fe53c1f0e2b1faf5ab66a119b908734140a3280b29f027bba57a366aa0ec2301a25507606ff3ce4ded7bf02a536f1910
 SHA512 
080a6a41d68ce877f979688072e034a9687164280f9964606bbc306046c7adc2a0e19abd06a019ac9e3b85762b0286ba5c9bc19da0ff61860c1030d6b9d8611f
+DIST thunderbird-115.5.0-lt.xpi 680150 BLAKE2B 
6d355fd53fbe97a04a61bef08cd64243a7e332344b6cd50534e8a6bca663d9b69b43919922124b0fceb7aeada99eaaf887972a4b7347f093a3279735a26d013d
 SHA512 
1d4add65e09e5e49df61aaa1e7465b0fccacf9b6b05ad52d0863381bb3b6dacbeef1bdc8f386a4239981b5162ebfd9253887a068b626ec624a57fdbec251eb11
+DIST thunderbird-115.5.0-lv.xpi 605034 BLAKE2B 
ba837df80ae11a625ce4be9ad079e0ce242a148c4fd7efbaf3210e5f9662a8580aad1e7079e9e6e883fe6c188716258b1ee1a4ace09e366a8487e828bda307d5
 SHA512 
d243db548d3013931f38b01690f247a98ca6bb574eef20e2ca1f284749437f9e12bbdb784a94edbdc4b4dd75973fd9a23d9303717dcb0ecfa73ee7bd0f37251d
+DIST thunderbird-115.5.0-ms.xpi 565786 BLAKE2B 
4e277ae2d43af823b4697f0b4c449324004209c47d2316d0daa692e42776e53009e6580303ddb5ae3b8955974738b76440e9a7651967b93d6497da3949eaaab1
 SHA512 
07bf794542718146ec1d9dc134be5213febfa99de796e6c8040cb8eb4c0fb4934bae0a345d8f86acdb0f31e0c8eac2b2a366b8f8b5875eddebea17084ce9ef20
+DIST thunderbird-115.5.0-nb-NO.xpi 653884 BLAKE2B 
223b7928ce23f3367c3ccd24383066d7327b4d78647a03ea59d6d929b833c7f2ec91bc9c17e16d045f372a7a950ba93a83cc89aed67b3b2251eb7f9785ed6a3b
 SHA512 
84c16d1061b9ccd7ff7970a882c1860df864e39f2c7b9f8c78a66512d7d1d6f815ee93225357292a034ba5bbc33764ba415eda6302956d647f61a5e3c8080b54
+DIST thunderbird-115.5.0-nl.xpi 700942 BLAKE2B 
2c37f2e0eb0d98e6680c248bfaf2d32d0746ed9ffc886f78dc6ebb340720f51fecfecc5e27e9509f8a52f1a46f5758b0ba860b018a522770bf8153494268ba67
 SHA512 
95001d7b5a3be8615ddc3c7b68f4084ca05a94e97f111cc6282641c418a47d3b3dea74eb11cf7a97473a8b6e0fe5e287240d9de1fd1b3fcf578dc16400a96c02
+DIST thunderbird-115.5.0-nn-NO.xpi 673546 BLAKE2B 
9819499595bc42099ae9a8834f1ec02d70503b87c6650991a801f10f5f4b9bfc521a6445218b742c12c0eedd545e8e618d46db16cba8f80450664660ce7174e6
 SHA512 
d5b6caa2f4e90f376dd19f769bf4c5f7776cd1faa215f8bb42e8017aeef98c71f3fb46f1beeac9cae91c9e3dae71194aac0c6af1b50947be5de2cf04bcf03566
+DIST thunderbird-115.5.0-pa-IN.xpi 658297 BLAKE2B 
febed40bc23517f369fac115e185fce669fa5943d0c57b5ed2c54c24c9465c4b823bf7e999bdc30b88851a53952d6910b9d0cec4216047961596d2561133d07d
 SHA512 
c95960f4c2b827dd4ddaacc2ff8b7ee8669dc86e81f8f5e8d15102ddab40e7c5aba9f9bf3b35c32337acc7248f4c1bebda90954c8d99c23fc5a362f17b67c131
+DIST thunderbird-115.5.0-pl.xpi 718181 BLAKE2B 
703bba115f389ce1e45f0f9ba244d5a26826ccd77d3614093c220b0609d7d445ecccda79aeff5cb5a633bb664b6a85e934e146e7d1099d7affaaee910b0725da
 SHA512 
32d3044ac5528f74fce266863c20fc1ae40e5d379cba4c5260cefb5d372abc6caf0175d3d82a72aa62fa25609545e62b3659e8298af7d68dbcbb9fa4d3b17aed
+DIST thunderbird-115.5.0-pt-BR.xpi 708788 BLAKE2B 
fdfe126dcc0a26e58295d5b6aa8d98d692c742fcc58e1fb13667ae755ad695bdd99006209efb246b4cfc42a2dce75fb085c6a6da32fa99bba50fdc440bf4254d
 SHA512 
5f0dbb12db07e82e738b77c0c540939f69e3e2ddfb4155c47085ca55dc428fd728d5c146e2395c9e966d855425977fcdc063fe411e5bd38f8c5682c7b0d7fa31
+DIST thunderbird-115.5.0-pt-PT.xpi 690112 BLAKE2B 
4f8b0dbea3ce2ab44b055cdbe852a9573b697443591819b725cf6719e2ca20cef77cf622226d4783a2cf49ada2bf67defef74a15bdd5fb07c9bd2015dfd9c079
 SHA512 
42cc2e18579332a91b7d953f61a1f942bf76b65181d803467f924255022eb18f8c01e837828ef3ca20eda83c55b07f91bb666789a14e7c86ba7a6499972b3800
+DIST thunderbird-115.5.0-rm.xpi 705570 BLAKE2B 
c3614a1bcd1887809b05b983ec66a68288b8b4e3fd50d700a30f12c8a188eff2807c727cc899fe7b40a4a304c7b7f57c47d0bb63b32166984131d9a0f0112112
 SHA512 
52ffb7a1d8841230550500311491f9741cb4aca5c2c560d01d5d3fbe4783212597094bfa19fa89480d29fe4dfd3ab8b8afffa6a9275cc9d0489d8ab80480c8c7
+DIST thunderbird-115.5.0-ro.xpi 651340 BLAKE2B 
f092d28231966ac8fdf0252c7562edb11550674c63d71af61f4f16ac35950884b4545603d9fce32e86830f7dc5e1dc7afdc4e45b5102707b5d7758b8eddd8f08
 SHA512 
4ae321a8ea05e56f663215d61301ea39e975c6a5b077dcdecf078734c63f0cbd1b7438394749471ce85c1a9a8997c735ffd8c0c8e082b5e994dd0fe450844d98
+DIST thunderbird-115.5.0-ru.xpi 822401 BLAKE2B 
d31a39de91c1e5cd86b5860748b245c39626df33043b946041bcad131e5ad0f71cabab061a62b94c906f828437ce6758acbd933e95c9ebcd92266d1715270996
 SHA512 
91e16110e0e76f77c99564901c6bd422f4def515f87574a166c6f1db3ff6838638890c22072e9422cc0bb8ed71755e0b20915141d1c53eb953bf648f872de675
+DIST thunderbird-115.5.0-sk.xpi 737273 BLAKE2B 
ef0c8af7c37fe0c810949ed768c295814f27f23598ded8efc03e445ee9c0ad853435efb7cd4a4c41318d482288f0f0944d0d363a634d89bf8e39c5d2fa0e1f60
 SHA512 
7821212d95c453a8f1ffd20591c697aef71dab0da85f5cfebcf9523410cebc97182f9ecb3de481f4b714713cb170049f9872dcc7a4f0e58771e026aaa4227a65
+DIST thunderbird-115.5.0-sl.xpi 703394 BLAKE2B 
f62c68b7634870e9ed56ad8ecb2ade33ab1311a28198bfa5adff4e15606920f5199ade08ad9f9f1a484174c9a98c14717e5c32975434e60be5c179ca21dce9f5
 SHA512 
699a0021130546a82b2a71f2c49d293dab1fb316e4fd927d9888ed3dfaa918200a9fc3f7be09c7448886e12df8641f48e0d276e721d676833b591884c2d7a65a
+DIST thunderbird-115.5.0-sq.xpi 720876 BLAKE2B 
c2369cd6b770af3ca01901c6db273ab636cfa0aff8bc738ca16f9e7634949ec0dce7256ad583219383e86f8a3fb22c64170eed32cddbe29b69149a9fceb9ded1
 SHA512 
30b6b814aa8266c8069ba9463eb66c799e0cb3cbd811f8a749dabbd0ce7f613ff22bd76ce10932e83279312da581ed8c53aa5801555ac23162c0c92d8fdbd485
+DIST thunderbird-115.5.0-sr.xpi 745157 BLAKE2B 
cdb6c5e52551b0c167075df2795947f8be21416bc522b04fd84b32ffc265b6ea8231a84513f462309ec972f7361327b5d7bac507247af55dbf232b68db4ea888
 SHA512 
a92aaaca2643df0ccb3013f1d72db71c9f8568bbcb595c07c58ad8ef11b10ec3b049ca8c0e6431ea1a042f9bf901f9414b1ba0623a4f1b30ce61bd748afe8e46
+DIST thunderbird-115.5.0-sv-SE.xpi 703855 BLAKE2B 
3a7351ef4934cf9266f910f0098aa058ba57b71dbfb8c97d168c59a0db7a859de245ea4e0725a9569456c631a9fed2a5b67db312e7d46dbc146d6e666b231584
 SHA512 
caa6e7ae0704f70b1820da217530185551eeb1a28935cd659bd81b8735bde80fd7be4e2a42e38147d4e7edefae7db55541a11ac459a3082944180f7a6f064dd1
+DIST thunderbird-115.5.0-th.xpi 761879 BLAKE2B 
6d5387399f015103f4b49e80fbaa0b3b136748ea3e9370aa3004fd76d41c7283127af6f9d8f01adb888008706b8c1b982de5a49494c9480454ff5a0529b49877
 SHA512 
8208a2910f6e1ce082a1f7298baf405d029fd815210b4a5971800ff3d47a3a5adc6399880433502fa2a2f0934f2ac0a1ca943166c03c01fa553261c436a74255
+DIST thunderbird-115.5.0-tr.xpi 716827 BLAKE2B 
68c0f1b0d71b555afcec3bf58aad5f658d354e1237a6f52162e36c6960ce28f5e0604e50c402003584c109d2b158c6e1a46e2cb95f2dc9330fe084f8bbc2b248
 SHA512 
3a72ad27072c3c89102b6d1938534892a9b270bf0a86f49bc2389e48762d3dd309522a6ba4fbf50e776a616da6ec0993574a082ce96969e50d900bfe2f63e1a7
+DIST thunderbird-115.5.0-uk.xpi 815084 BLAKE2B 
8ec732f68e9fa0bc7cf2af76411109b6bae2d43a2267db5e3e118930b49005c99e2bf98dbfbac6be374e4930573b4d6c57fe89784f34d1fcf0c7bac5511ff9d7
 SHA512 
f1f37cf0d0a7d8dc5a038fa2003b1743a90bf02802f7bc896af316ed274ab761989aeded04183d97f80d59c5caf5549ef6c5e9aaef42883265c12144b6cddbe6
+DIST thunderbird-115.5.0-uz.xpi 580051 BLAKE2B 
e81ab56b81002cc42c87b7c01875584194228fb9b6ff82fbe6cb615492af70274a853ca902033f738aea963f80ba1abfdccf0980344591a4fa7dfdc2a9e3e7d2
 SHA512 
31d686c7715ae1f815a0f87c2c0f9dcb436146e3a3602db0e3646ef35a41add154249dcde079e5f75006057022d623f23d9d6299ea6587fe63fcaa95d0fba670
+DIST thunderbird-115.5.0-vi.xpi 744206 BLAKE2B 
5e749c07e6f35b99be75857d9ec330708ecb585ace5cd8b5f0517454cdbda85c2a01005daacb8cb80adb2c342a4e33ff1a921809049266250dd22f2101b6f810
 SHA512 
668cfaaf0f005e1869a972963dfb3d70d15341b13258b469bf49271db16f987f4710c6318bb8416844a7c0d7c2f5d08d8c1009cb8bb8d491b727c188025b2535
+DIST thunderbird-115.5.0-zh-CN.xpi 742324 BLAKE2B 
9cb377a87547b5d1b5afe5bf14c6dcdc0d933037963f15a552ec72fa9fbff3474f7997b571fddba8b190ca5b1116f027e8ef282f1490435b4010d64a8d99a089
 SHA512 
4db470ae4acfb00d03606b4cd2074fe57bacb5f7e19e4f6d752d6c89f740e6610b9eddfbe231255263445f8ff5bd8bb52b6307a5326a54860c84b011183b5d49
+DIST thunderbird-115.5.0-zh-TW.xpi 745169 BLAKE2B 
a037d7a002ae891179b84efb26d1be1ff45b7f9ee64df6b5a278ff1b1af0b477dc8b9c33e1114bb0ec2f1c0ac41e69fd724c13398cb1955958a43fcbc26253b9
 SHA512 
cf3945f4819b8a277eaab68b0206b93940fcdd7ae7763f01672a70c08c2ca8dcb92184c24ca78e2f5524bcbe3adfc2bdbf95baf74a49265e36340a21444985da
+DIST thunderbird-115.5.0.source.tar.xz 535406304 BLAKE2B 
1a4a3b50f89eb52a70546fae618221e3223ac712ccec2715e07c01edc0fb3d9e241628b1e10429e28c48523fbeb026b6e92fe6c4461ed4a3191c2dc4483e1699
 SHA512 
3ada7ad6aeca07edd732e0beaaf765f2da8282e4d3bed967d68f42f4d612842f0e470bd43c24de0e92829eb137c1031999f50456165de0b7735502a83deb42e5

diff --git a/mail-client/thunderbird/thunderbird-115.5.0.ebuild 
b/mail-client/thunderbird/thunderbird-115.5.0.ebuild
new file mode 100644
index 000000000000..7ee57453bb58
--- /dev/null
+++ b/mail-client/thunderbird/thunderbird-115.5.0.ebuild
@@ -0,0 +1,1328 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-115esr-patches-08.tar.xz"
+
+LLVM_MAX_SLOT=17
+
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="manual"
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+       MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+       # Convert the ebuild version to the upstream Mozilla version
+       MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+       MOZ_PV="${MOZ_PV/_beta/b}"  # Handle beta for SRC_URI
+       MOZ_PV="${MOZ_PV%%_rc*}"    # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+       # ESR releases have slightly different version numbers
+       MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
+       llvm multiprocessing 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/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 +X"
+
+# Thunderbird-only USE flags.
+IUSE+=" +system-librnp"
+
+REQUIRED_USE="|| ( X wayland )
+       debug? ( !system-av1 )
+       pgo? ( lto )
+       wifi? ( dbus )"
+
+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:17
+                       sys-devel/llvm:17
+                       clang? (
+                               sys-devel/lld:17
+                               virtual/rust:0/llvm-17
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-17*[profile] )
+                       )
+               )
+               (
+                       sys-devel/clang:16
+                       sys-devel/llvm:16
+                       clang? (
+                               sys-devel/lld:16
+                               virtual/rust:0/llvm-16
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-16*[profile] )
+                       )
+               )
+               (
+                       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] )
+                       )
+               )
+       )
+       app-alternatives/awk
+       app-arch/unzip
+       app-arch/zip
+       >=dev-util/cbindgen-0.24.3
+       net-libs/nodejs
+       virtual/pkgconfig
+       !clang? ( >=virtual/rust-1.65 )
+       amd64? ( >=dev-lang/nasm-2.14 )
+       x86? ( >=dev-lang/nasm-2.14 )
+       pgo? (
+               X? (
+                       sys-devel/gettext
+                       x11-base/xorg-server[xvfb]
+                       x11-apps/xhost
+               )
+               wayland? (
+                       >=gui-libs/wlroots-0.15.1-r1[tinywl]
+                       x11-misc/xkeyboard-config
+               )
+       )"
+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.90
+       >=dev-libs/nspr-4.35
+       media-libs/alsa-lib
+       media-libs/fontconfig
+       media-libs/freetype
+       media-libs/mesa
+       media-video/ffmpeg
+       sys-libs/zlib
+       virtual/freedesktop-icon-theme
+       x11-libs/cairo
+       x11-libs/gdk-pixbuf
+       x11-libs/pango
+       x11-libs/pixman
+       dbus? (
+               dev-libs/dbus-glib
+               sys-apps/dbus
+       )
+       jack? ( virtual/jack )
+       pulseaudio? (
+               || (
+                       media-libs/libpulse
+                       >=media-sound/apulse-0.1.12-r4[sdk]
+               )
+       )
+       libproxy? ( net-libs/libproxy )
+       selinux? ( sec-policy/selinux-mozilla )
+       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-73.1:= )
+       system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
+       system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] )
+       system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+       system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+       system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+       wayland? (
+               >=media-libs/libepoxy-1.5.10-r1
+               x11-libs/gtk+:3[wayland]
+               x11-libs/libxkbcommon[wayland]
+       )
+       wifi? (
+               kernel_linux? (
+                       dev-libs/dbus-glib
+                       net-misc/networkmanager
+                       sys-apps/dbus
+               )
+       )
+       X? (
+               virtual/opengl
+               x11-libs/cairo[X]
+               x11-libs/gtk+:3[X]
+               x11-libs/libX11
+               x11-libs/libXcomposite
+               x11-libs/libXdamage
+               x11-libs/libXext
+               x11-libs/libXfixes
+               x11-libs/libxkbcommon[X]
+               x11-libs/libXrandr
+               x11-libs/libXtst
+               x11-libs/libxcb:=
+       )"
+RDEPEND="${COMMON_DEPEND}
+       jack? ( virtual/jack )
+       openh264? ( media-libs/openh264:*[plugin] )"
+DEPEND="${COMMON_DEPEND}
+       X? (
+               x11-base/xorg-proto
+               x11-libs/libICE
+               x11-libs/libSM
+       )"
+
+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 && ! tc-ld-is-mold ; 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}"
+}
+
+# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', 
and is temporarily
+# placed here until toolchain-funcs.eclass gets an official support for mold 
linker.
+# Please see:
+# https://github.com/gentoo/gentoo/pull/28366 ||
+# https://github.com/gentoo/gentoo/pull/28355
+tc-ld-is-mold() {
+       local out
+
+       # Ensure ld output is in English.
+       local -x LC_ALL=C
+
+       # First check the linker directly.
+       out=$($(tc-getLD "$@") --version 2>&1)
+       if [[ ${out} == *"mold"* ]] ; then
+               return 0
+       fi
+
+       # Then see if they're selecting mold via compiler flags.
+       # Note: We're assuming they're using LDFLAGS to hold the
+       # options and not CFLAGS/CXXFLAGS.
+       local base="${T}/test-tc-linker"
+       cat <<-EOF > "${base}.c"
+       int main() { return 0; }
+       EOF
+       out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version 
"${base}.c" -o "${base}" 2>&1)
+       rm -f "${base}"*
+       if [[ ${out} == *"mold"* ]] ; then
+               return 0
+       fi
+
+       # No mold here!
+       return 1
+}
+
+virtwl() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
+       [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to 
be set; try xdg_environment_reset"
+       tinywl -h >/dev/null || die 'tinywl -h failed'
+
+       # TODO: don't run addpredict in utility function. WLR_RENDERER=pixman 
doesn't work
+       addpredict /dev/dri
+       local VIRTWL VIRTWL_PID
+       coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo 
$WAYLAND_DISPLAY; read _; kill $PPID'; }
+       local -x WAYLAND_DISPLAY
+       read WAYLAND_DISPLAY <&${VIRTWL[0]}
+
+       debug-print "${FUNCNAME}: $@"
+       "$@"
+       local r=$?
+
+       [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+       exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+       return $r
+}
+
+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 && tc-ld-is-lld ; then
+                       local version_lld=$(ld.lld --version 2>/dev/null | awk 
'{ print $2 }')
+                       [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 
"${version_lld}")
+                       [[ -z ${version_lld} ]] && die "Failed to read ld.lld 
version!"
+
+                       local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep 
-F -- 'LLVM version:' | awk '{ print $3 }')
+                       [[ -n ${version_llvm_rust} ]] && 
version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+                       [[ -z ${version_llvm_rust} ]] && die "Failed to read 
used LLVM version from rustc!"
+
+                       if ver_test "${version_lld}" -ne "${version_llvm_rust}" 
; then
+                               eerror "Rust is using LLVM version 
${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+                               eerror "You will be unable to link 
${CATEGORY}/${PN}. To proceed you have the following options:"
+                               eerror "  - Manually switch rust version using 
'eselect rust' to match used LLVM version"
+                               eerror "  - Switch to 
dev-lang/rust[system-llvm] which will guarantee matching version"
+                               eerror "  - Build ${CATEGORY}/${PN} without 
USE=lto"
+                               eerror "  - Rebuild lld with llvm that was used 
to build rust (may need to rebuild the whole "
+                               eerror "    llvm/clang/lld/rust chain depending 
on your @world updates)"
+                               die "LLVM version used by Rust 
(${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+                       fi
+               fi
+
+               python-any-r1_pkg_setup
+
+               # Avoid PGO profiling problems due to enviroment leakage
+               # These should *always* be cleaned up anyway
+               unset \
+                       DBUS_SESSION_BUS_ADDRESS \
+                       DISPLAY \
+                       ORBIT_SOCKETDIR \
+                       SESSION_MANAGER \
+                       XAUTHORITY \
+                       XDG_CACHE_HOME \
+                       XDG_SESSION_COOKIE
+
+               # Build system is using /proc/self/oom_score_adj, bug #604394
+               addpredict /proc/self/oom_score_adj
+
+               if use pgo ; then
+                       # Update 105.0: "/proc/self/oom_score_adj" isn't enough 
anymore with pgo, but not sure
+                       # whether that's due to better OOM handling by Firefox 
(bmo#1771712), or portage
+                       # (PORTAGE_SCHEDULING_POLICY) update...
+                       addpredict /proc
+
+                       # May need a wider addpredict when using wayland+pgo.
+                       addpredict /dev/dri
+
+                       # Allow access to GPU during PGO run
+                       local ati_cards mesa_cards nvidia_cards render_cards
+                       shopt -s nullglob
+
+                       ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
+                       if [[ -n "${ati_cards}" ]] ; then
+                               addpredict "${ati_cards}"
+                       fi
+
+                       mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
+                       if [[ -n "${mesa_cards}" ]] ; then
+                               addpredict "${mesa_cards}"
+                       fi
+
+                       nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
+                       if [[ -n "${nvidia_cards}" ]] ; then
+                               addpredict "${nvidia_cards}"
+                       fi
+
+                       render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ 
/:/g')
+                       if [[ -n "${render_cards}" ]] ; then
+                               addpredict "${render_cards}"
+                       fi
+
+                       shopt -u nullglob
+               fi
+
+               if ! mountpoint -q /dev/shm ; then
+                       # If /dev/shm is not available, configure is known to 
fail with
+                       # a traceback report referencing 
/usr/lib/pythonN.N/multiprocessing/synchronize.py
+                       ewarn "/dev/shm is not mounted -- expect build 
failures!"
+               fi
+
+               # Google API keys (see 
http://www.chromium.org/developers/how-tos/api-keys)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+                       
MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+               fi
+
+               if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+                       
MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+               fi
+
+               # Mozilla API keys (see 
https://location.services.mozilla.com/api)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+                       
MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+               fi
+
+               # Ensure we use C locale when building, bug #746215
+               export LC_ALL=C
+       fi
+}
+
+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
+
+       if ! use ppc64; then
+               rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die
+       fi
+
+       if use x86 && use elibc_glibc ; then
+               rm -v 
"${WORKDIR}"/firefox-patches/*-musl-non-lfs64-api-on-audio_thread_priority-crate.patch
 || die
+       fi
+
+       # Workaround for bgo#917599
+       rm -v "${WORKDIR}"/firefox-patches/0029-bmo-1862601-system-icu-74.patch 
|| die
+
+       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
+
+       # Clear cargo checksums from crates we have patched
+       # moz_clear_vendor_checksums crate
+       moz_clear_vendor_checksums audio_thread_priority
+
+       # 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 ..."
+
+               local version_clang=$(clang --version 2>/dev/null | grep -F -- 
'clang version' | awk '{ print $3 }')
+               [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 
"${version_clang}")
+               [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+               if tc-is-gcc; then
+                       have_switched_compiler=yes
+               fi
+               AR=llvm-ar
+               CC=${CHOST}-clang-${version_clang}
+               CXX=${CHOST}-clang++-${version_clang}
+               NM=llvm-nm
+               RANLIB=llvm-ranlib
+       elif ! use clang && ! tc-is-gcc ; then
+               # Force gcc
+               have_switched_compiler=yes
+               einfo "Enforcing the use of gcc due to USE=-clang ..."
+               AR=gcc-ar
+               CC=${CHOST}-gcc
+               CXX=${CHOST}-g++
+               NM=gcc-nm
+               RANLIB=gcc-ranlib
+       fi
+
+       if [[ -n "${have_switched_compiler}" ]] ; then
+               # Because we switched active compiler we have to ensure
+               # that no unsupported flags are set
+               strip-unsupported-flags
+       fi
+
+       # Ensure we use correct toolchain,
+       # AS is used in a non-standard way by upstream, #bmo1654031
+       export HOST_CC="$(tc-getBUILD_CC)"
+       export HOST_CXX="$(tc-getBUILD_CXX)"
+       export AS="$(tc-getCC) -c"
+       tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG
+
+       # Pass the correct toolchain paths through cbindgen
+       if tc-is-cross-compiler ; then
+               export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} 
--target=${CHOST} ${BINDGEN_CFLAGS-}"
+       fi
+
+       # Set MOZILLA_FIVE_HOME
+       export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+       # python/mach/mach/mixin/process.py fails to detect SHELL
+       export SHELL="${EPREFIX}/bin/bash"
+
+       # Set state path
+       export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+       # Set MOZCONFIG
+       export MOZCONFIG="${S}/.mozconfig"
+
+       # Initialize MOZCONFIG
+       mozconfig_add_options_ac '' --enable-application=comm/mail
+       mozconfig_add_options_ac '' --enable-project=comm/mail
+
+       # Set Gentoo defaults
+       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-tests \
+               --disable-updater \
+               --disable-wmf \
+               --enable-js-shell \
+               --enable-legacy-profile-creation \
+               --enable-negotiateauth \
+               --enable-new-pass-manager \
+               --enable-official-branding \
+               --enable-release \
+               --enable-system-ffi \
+               --enable-system-pixman \
+               --enable-system-policies \
+               --host="${CBUILD:-${CHOST}}" \
+               --libdir="${EPREFIX}/usr/$(get_libdir)" \
+               --prefix="${EPREFIX}/usr" \
+               --target="${CHOST}" \
+               --without-ccache \
+               --without-wasm-sandboxed-libraries \
+               --with-intl-api \
+               --with-libclang-path="$(llvm-config --libdir)" \
+               --with-system-nspr \
+               --with-system-nss \
+               --with-system-zlib \
+               --with-toolchain-prefix="${CHOST}-" \
+               --with-unsigned-addon-scopes=app,system \
+               --x-includes="${ESYSROOT}/usr/include" \
+               --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+       # Set update channel
+       local update_channel=release
+       [[ -n ${MOZ_ESR} ]] && update_channel=esr
+       mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+       if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+               mozconfig_add_options_ac '' --enable-rust-simd
+       fi
+
+       # For future keywording: This is currently (97.0) only supported on:
+       # amd64, arm, arm64 & x86.
+       # Might want to flip the logic around if Firefox is to support more 
arches.
+       # bug 833001, bug 903411#c8
+       if use ppc64 || use riscv; then
+               mozconfig_add_options_ac '' --disable-sandbox
+       else
+               mozconfig_add_options_ac '' --enable-sandbox
+       fi
+
+       # Enable JIT on riscv64 explicitly
+       # Can be removed once upstream enable it by default in the future.
+       use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' 
--enable-jit
+
+       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
+       else
+               # This controls the backend of the bundled librnp. Choices are 
"botan" and "openssl".
+               # RNP Upstream recommends to use botan. In Gentoo it's 
preferred to use system-librnp.
+               mozconfig_add_options_ac "+bundled librnp backend = botan" 
--with-librnp-backend="botan"
+       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 X && use wayland ; then
+               mozconfig_add_options_ac '+x11+wayland' 
--enable-default-toolkit=cairo-gtk3-x11-wayland
+       elif ! use X && use wayland ; then
+               mozconfig_add_options_ac '+wayland' 
--enable-default-toolkit=cairo-gtk3-wayland-only
+       else
+               mozconfig_add_options_ac '+x11' 
--enable-default-toolkit=cairo-gtk3
+       fi
+
+       if use lto ; then
+               if use clang ; then
+                       # Upstream only supports lld or mold when using clang.
+                       if tc-ld-is-mold ; then
+                               mozconfig_add_options_ac "using ld=mold due to 
system selection" --enable-linker=mold
+                       else
+                               mozconfig_add_options_ac "forcing ld=lld due to 
USE=clang and USE=lto" --enable-linker=lld
+                       fi
+
+                       mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+               else
+                       # ThinLTO is currently broken, see bmo#1644409.
+                       # mold does not support gcc+lto combination.
+                       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
+                       # lld is upstream's default
+                       if tc-ld-is-mold ; then
+                               mozconfig_add_options_ac "using ld=mold due to 
system selection" --enable-linker=mold
+                       else
+                               mozconfig_add_options_ac "forcing ld=lld due to 
USE=clang" --enable-linker=lld
+                       fi
+
+               else
+                       if tc-ld-is-mold ; then
+                               mozconfig_add_options_ac "using ld=mold due to 
system selection" --enable-linker=mold
+                       else
+                               mozconfig_add_options_ac "linker is set to bfd 
due to USE=-clang" --enable-linker=bfd
+                       fi
+               fi
+       fi
+
+       # LTO flag was handled via configure
+       filter-lto
+
+       mozconfig_use_enable debug
+       if use debug ; then
+               mozconfig_add_options_ac '+debug' --disable-optimize
+               mozconfig_add_options_ac '+debug' --enable-real-time-tracing
+       else
+               mozconfig_add_options_ac 'Gentoo defaults' 
--disable-real-time-tracing
+
+               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
+       fi
+
+       if use elibc_musl && use arm64 ; then
+               mozconfig_add_options_ac 'elf-hack is broken when using 
musl/arm64' --disable-elf-hack
+       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 tc-ld-is-mold && use lto; then
+               # increase ulimit with mold+lto, bugs #892641, #907485
+               if ! ulimit -n 16384 1>/dev/null 2>&1 ; then
+                       ewarn "Unable to modify ulimits - building with 
mold+lto might fail due to low ulimit -n resources."
+                       ewarn "Please see bugs #892641 & #907485."
+               else
+                       ulimit -n 16384
+               fi
+       fi
+
+       if use pgo; then
+               # Reset and cleanup environment variables used by GNOME/XDG
+               gnome2_environment_reset
+
+               addpredict /root
+
+               if ! use X; then
+                       virtx_cmd=virtwl
+               else
+                       virtx_cmd=virtx
+               fi
+       fi
+
+       if ! use X; then
+               local -x GDK_BACKEND=wayland
+       else
+               local -x GDK_BACKEND=x11
+       fi
+
+       ${virtx_cmd} ./mach build --verbose || die
+}
+
+src_install() {
+       # xpcshell is getting called during install
+       pax-mark m \
+               "${BUILD_DIR}"/dist/bin/xpcshell \
+               "${BUILD_DIR}"/dist/bin/${PN} \
+               "${BUILD_DIR}"/dist/bin/plugin-container
+
+       DESTDIR="${D}" ./mach install || die
+
+       # Upstream cannot ship symlink but we can (bmo#658850)
+       rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+       dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+       # Don't install llvm-symbolizer from sys-devel/llvm package
+       if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+               rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+       fi
+
+       # Install policy (currently only used to disable application updates)
+       insinto "${MOZILLA_FIVE_HOME}/distribution"
+       newins "${FILESDIR}"/distribution.ini distribution.ini
+       newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+       # Install system-wide preferences
+       local PREFS_DIR="${MOZILLA_FIVE_HOME}/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 programs for extra features:"
+       optfeature "desktop notifications" x11-libs/libnotify
+       optfeature "encrypted chat support" net-libs/libotr
+       optfeature "fallback mouse cursor theme e.g. on WMs" 
gnome-base/gsettings-desktop-schemas
+}

Reply via email to