summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonas Niilola <juippis@gentoo.org>2023-11-22 15:04:30 +0200
committerJoonas Niilola <juippis@gentoo.org>2023-11-22 15:05:04 +0200
commit013a424c082abaafc2660fec7d85e5c5aa8d7096 (patch)
tree94f90d287f2be11d6fc6ee2f1d6e42f14912ff3f
parentdev-python/pytest-plus: Remove old (diff)
downloadgentoo-013a424c082abaafc2660fec7d85e5c5aa8d7096.tar.gz
gentoo-013a424c082abaafc2660fec7d85e5c5aa8d7096.tar.bz2
gentoo-013a424c082abaafc2660fec7d85e5c5aa8d7096.zip
mail-client/thunderbird: add 115.5.0
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
-rw-r--r--mail-client/thunderbird/Manifest66
-rw-r--r--mail-client/thunderbird/thunderbird-115.5.0.ebuild1328
2 files changed, 1394 insertions, 0 deletions
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
+}