commit: eecbe5af5cf559364fc5f9614e6f103236699a64
Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Wed May 21 08:56:39 2025 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Wed May 21 08:57:13 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eecbe5af
mail-client/thunderbird: add 128.10.2
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
mail-client/thunderbird/Manifest | 65 ++
.../thunderbird/thunderbird-128.10.2.ebuild | 1171 ++++++++++++++++++++
2 files changed, 1236 insertions(+)
diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest
index 393ef58ab68f..81121f415637 100644
--- a/mail-client/thunderbird/Manifest
+++ b/mail-client/thunderbird/Manifest
@@ -67,6 +67,71 @@ DIST thunderbird-128.10.1esr-vi.xpi 790627 BLAKE2B
191d11d802dc6cb6cb96f9cf1f2e9
DIST thunderbird-128.10.1esr-zh-CN.xpi 790965 BLAKE2B
c0b33d73490a48ec8650a9177e05bbf0c686b65213e2244e6f94315941eb648f89ce9bfd6225b976f8e0e19a30d643da21b6a48468229eed889ba105c53d9e46
SHA512
abeae6372c7a7587f6006298dc1de002f3c61d62690fd4ee1bf98e113cabefffc4931aaeddf9efa094a2c35f83ef0587dd0d2f9606e6e9f0360d9093a8d207cf
DIST thunderbird-128.10.1esr-zh-TW.xpi 794258 BLAKE2B
293a275cb1a1cecc205648a64f07d129af6800d26de8370cc9af311facd54fdf6ea8457c84264eb8982f6e16470ee3d018ac89bc19603c4390a4b443c75f9b9b
SHA512
7560191fbfc4c683a8d6c47e24607308f4a949cf659c3aa6fd90d6bfcc5f9b116bfb58359dc31327c164caadcd8e1e289fc2919509802861406e874135bd7f2e
DIST thunderbird-128.10.1esr.source.tar.xz 677156592 BLAKE2B
c7861611d953b535e5f62e61935bc47c74508943b2bb2a5a9d401f8702e8ccabf8600c243c83595578c29d2d0ab376563559ea2b3049fb886b8a63577dab8f71
SHA512
09b54450928c6e0d948cd79a56c28bdb5fe5a81d7c710470a1ec195dd295c433b872682102c74930f19b1184391c30115293dadcd7dc8a08ae8baeb12770ef9c
+DIST thunderbird-128.10.2esr-af.xpi 534914 BLAKE2B
74eb568898c8b6d52aa7d915ee28485e0c5588f579e1efd930bd2568c5efc710bf2a0931d5dc553281270090c099c751a0599bfcafca28d2f047ac7eb5a34f93
SHA512
57f7ffa5f903932adafd6725ee098da020946bb3c6837ad07fe9e348a5240ef02416635d20e19a31d51340c64a3ab67c998f5496082444a8a7797abe50602bb8
+DIST thunderbird-128.10.2esr-ar.xpi 686463 BLAKE2B
4f51ff9cfad62911321c55b90d548dcf8160dd271a652381d4a3d931883f6fde2bd2ef518a25e8b025c29aacecdd919a629d0d933b28c08854a4aa3560559b3b
SHA512
7de16534b253983898db88aa0b0c3b31102e967379f20cd5f6f65b25a96a571bdf00051d2aa780855d5c1a66a807805294eaa15a232318a7927aa87e041faff1
+DIST thunderbird-128.10.2esr-ast.xpi 574781 BLAKE2B
e033e37c6649e86881814959148ad3fa5937ebf8d0334fef44add1c94b759d73054cc6e751f19fae92d827ffb2dbf9263ce721289d7a5bf12d6d9e4ddc612a67
SHA512
9c0363acd9cea60169ab18a6067c80e964646afce34ab6f0669e87b91705f23ce16d4a3f37f8908d5b9b3266578064e4eefca16c8162353ce9f91e548583fda5
+DIST thunderbird-128.10.2esr-be.xpi 781612 BLAKE2B
f9f23090e94a1ca703cc01ca5562d23fbb506f435a7c52c6e67b3a6ce4da59fe22d3a613d4294a7a6a7475941ea71dde45509f705a3f854cb284f54b1f5c9963
SHA512
45e8042067fe94cb30e1dadccd60e30fcb762667ce66a253795787d59ffbbaa68c6348f091401691fb2c040c32bde5e0fdaa53dee3c1ae13bb94a95c1d79be2e
+DIST thunderbird-128.10.2esr-bg.xpi 814009 BLAKE2B
ebc4720580902629c202d82e7f57455b5ec179c65c1c830844fedfd1de505d3c50dc13009e3242324b66da68839cadd737af92083a1bce38e3ce5f1d166e7350
SHA512
eccb16c0ffb37dd10eeaadf4d14239df6fd208d36bd231627fcb24e21d54de1841f239b543ddee78972f2dc5502fd98a1faddaba116fd462b9771dca9b5c0b78
+DIST thunderbird-128.10.2esr-br.xpi 650140 BLAKE2B
add0de5637098519c73c8b3475b46c911f87cd7708a808631a8196bbcf55df768d318b0213efd2fa441c0d4c42315c1921380a6de16bbf8272f5dc2031b54c04
SHA512
1cf520721b293395437862487ab7dc468d3de961d093aaaef498bc512315c663888ac5033e623a1de3b555aa64b49253057b79a488cc5d37a74baa16d225cdac
+DIST thunderbird-128.10.2esr-ca.xpi 704674 BLAKE2B
bd8b26543e9891713d4e1ab7952c0cacd671a1144543d63a6c0bf981e6cfe087c56dc834261a0c127a4d75cf712f734aca15a1c6a72e217da4620bfd5b98f278
SHA512
a1a2e18cc7c6d21e180b2e83fdac16fa07f0de6c821977aa125d4e4c5fb3040b5f53d4bc9e9abd28a8eaf4472695ac3ae06680c57a8b3c9f2bb3a9897ce9d19c
+DIST thunderbird-128.10.2esr-cak.xpi 669096 BLAKE2B
2ad85321d5588d61bc096d1ea2f51731e1b47b17917469ff3b2bbc3c7f5e0ddb9d9604db4f7b199e1608afd36861e31682183819fbb03b52e73bf205c869d099
SHA512
ea7b03763ea71c05a32be704f93bbc160d2707fa75553020cb2fa1e62ca376c9770326f4242c459805d70b19a9960df8d22f2c6d0ca2a9d384ef591e44bd0172
+DIST thunderbird-128.10.2esr-cs.xpi 789858 BLAKE2B
f7eb7eb5e0abc5c3ff45b893b76da4abf331f659b6305fcc22b31facb9d7eca4c076905bd267f817f345fe113dc04a776dab62a59318a636b018892233283389
SHA512
8421c78fefe34bc1fdde572541082e5e8e0f70e487b018702f6e5af3b3409fe8e7ef0491b4f00cb99368ec5852f5fbf9d49bbf497b9d0fd7fcb683c9cb2c4e57
+DIST thunderbird-128.10.2esr-cy.xpi 753578 BLAKE2B
3609cad316b3d714f61d57fb215d8ddae8b2732103bf4522945998eb5d72f8176a4268f32eb4fdc9cfbf7d60ac943cccec7ead34e2d5226112762de694142893
SHA512
875ea9b558590e67bc7ffde41ef7f7b526d481bf143ef4d9870599a9b46384568f1876a85e8ea9eb054c65e590a6f3bdccdd582e7cf3644ddae1d7791019edb6
+DIST thunderbird-128.10.2esr-da.xpi 738602 BLAKE2B
16a2bc677197cdf6fe0c3035acb0114f17e7615d6c0a49548ac41883b8d01a9a673f0ff65645d6d8ebd651187bc9653b21639b8d9ede9c6b1c67108fb381cea1
SHA512
8db6f02069cf5810ec89f6935afaac38333ef82d00b4026b3c3b947eda59275c50d6a5ca31873e2ebcb6c1ff84a264c31f385f1710d89b8553766dd61d7eaa17
+DIST thunderbird-128.10.2esr-de.xpi 771421 BLAKE2B
7b9a03fed84a3b418f99a92499f8a13230aed2bc9eca7cb306a6904ecd4aa18b83490aa4fe3edb4b7942930aeb9e11e101bdb911de87911acd219147a825eabb
SHA512
16dd8e2662da6d829253e49d7b45b8f6aed23730ae5bfd06fba70720f9d6c82363996929528d4d848f9134e8eaf29344e6cf2bf70dcb41d57c877cbff514916a
+DIST thunderbird-128.10.2esr-dsb.xpi 787499 BLAKE2B
138c5207524a2039cc87faa82f090f50b08dbb41ee67bf21ce40fd2a3c1368d73197afe02a6c93a1a3c06e41d3f1ef94e6052fa298b018ba444d894c1dc8fe0b
SHA512
bb630f1467a5ff384c0c005124c5730c84a7f62ba0051e97b40cd110e87a636dc9b961f71bfbe89e3328885d851a25a8b53357920ea77e2112767d5dca4ae534
+DIST thunderbird-128.10.2esr-el.xpi 892797 BLAKE2B
ab0442a8ead7d488d267a865503fede8db0c7136913abf27313ad0d6091f5a80b24c678bf5b8b5226d9e6bd8bc93fcdfbf78bd6143345cde3a99d4d8e4a0f369
SHA512
71e624bb980048da4babc13f5322f178c7317e9e3686f91a01b692c9a9ac618b354887de6402c94873a8dbc269cb2ec2b2ca18d4c263ac83db3521393e98aab0
+DIST thunderbird-128.10.2esr-en-CA.xpi 705370 BLAKE2B
ebe859bd0790064e05b7c5c781d8d48cee2b5cf6ae8173de8e42d8bdf3bcb546a1573a9ffcdaa313367ecae73ad215f549b542c06a0a6b8780f00fdc887f8539
SHA512
bbc270d4ef56e6c4c427c8a71b2eea23140461c73a565bfd331cfe086cc65d4cdbbb0bd38a4287457a59bb56da6848d820d3408f6b5ce05fe2161eaaf828635f
+DIST thunderbird-128.10.2esr-en-GB.xpi 705109 BLAKE2B
5b879dd09168651730ab544aad611823c5a100e44922a800e49ffc9c291576de33a5281e91ebae808a232ff9d8605acd331cc6949a96967df713d1a696c15731
SHA512
40639378cd0c30578ca7acc9c37dfa94335af461eb26fd54270aeca3e232de56cd9c837b5b931d3eabcd2038afaa1c18105aa671e31fadf23a724fc2719e03be
+DIST thunderbird-128.10.2esr-es-AR.xpi 760991 BLAKE2B
0f5f7438bef440a65e8f7facf78683c9ef8ff0bb24c276f428c8cad25f55eddf48d26cab8a9ca218108ff20f300c00f9cc3274cb7d429c992d1228fcc978c514
SHA512
e6726e63a6b187885f20cedf2330dbee6d0e0abfa4158ff13d69af70d71331e2ec170182d40990febd69d70462d5744ae0bca539352d8bc38af2baacf9516947
+DIST thunderbird-128.10.2esr-es-ES.xpi 761586 BLAKE2B
c806ae0a9397c5f948ba37a2b212942049cfa57c53bf0053e07b59d1b3b02483857268fe3a60a7549aab2854cb6a99a48db3f9512e311de40fde3e1d3b88920c
SHA512
8cbcf2c6669ed5a7636907f0d033b2ce97645f302d6716af00ad86d2f81bf62876094e63dcefaaf3b96d44fbe3770b99e37df7289b9f39308a241438611499c7
+DIST thunderbird-128.10.2esr-es-MX.xpi 756970 BLAKE2B
a69b59bfc4b72d847032f5ae04a87e6fa34ee28f2f6f2efd70652f2a1ee2d6f6be2a86ad55244bbb8722e2c763cbe9663f4a93e53ed1d5a7515c1e860953b260
SHA512
61d7a4e30a4b170a2b47419f7351ea082b48f28128fcc0da07d61eeb970f83943cceb1fa8c17526889dbd9407b992ddf53d1d6cbe8ab49846d872b0d0d306118
+DIST thunderbird-128.10.2esr-et.xpi 692377 BLAKE2B
cfc77cc08335f0e0f813dc92df268008c60595727f54b25b594b2cc27f2f2585d0bd3532b73ae3888af41eaafeacc1d0221da5bdb2aab7f14e7a0554d4749ff1
SHA512
6c447518f70d2c156431382d67d9037b97a968956727447f14d196b7bfad233711db0c95daa707eb8475657491ca4ce3b6d3fb23f77b11d532d31827adfface8
+DIST thunderbird-128.10.2esr-eu.xpi 737440 BLAKE2B
a58f2ec3cca7b158a4bd09afceba1546e027f6b393418157787e7c0c378f6803ef7529e3773cf9a707696d090bf99a83b6e7c42d6af594be1cb2b7ccf950d010
SHA512
5a34c218cdb0de8210395675ec32dbfc66dfed371a8be92377afa8d4f85ed6b47e82e487e5918871f7975ed442f13e6f5cb3f09bf05fe048147e6d4b9902f72d
+DIST thunderbird-128.10.2esr-fi.xpi 735348 BLAKE2B
3847b83c568ce93beabeb8fdd50e548cc3fb0b4c4582d81a5ac96b874589bd8465a13a3fd45c1f89e1d281d104f6e096f95f3ec51fe742089d124a22c90cabf2
SHA512
5be7fc1f14e860734550c3eac00585286fbc229c6098722338c19de0563afa23bd4dd55374c35bb1d4050c0d039aca6fe0ac37b37c841bfd1bdd26278f9a9c21
+DIST thunderbird-128.10.2esr-fr.xpi 775200 BLAKE2B
3c48124ee9aef5cf07f12d834269f4e1a9723dccb015d77720d7a9af0b55978e573bdeee5ad9c221ec7d35d200531ad6f0fef64e7f534bc934a78bf697594cae
SHA512
e81203b74539a4b638224f095b4ab08c72a58e70ce9ba71acea6706d30dc817bccb81e05a159995f37eac7ad1a231421161c9413c12c6074a9a30f2b35295e92
+DIST thunderbird-128.10.2esr-fy-NL.xpi 756476 BLAKE2B
dd5f19bbe17d54f7f35ddb0dac83b44ab090351cff367afa8cfea7d7fafebb2f28f4c647da15662b79aec826026cc7b1aa570e8557aa65510f6e89f1fe330339
SHA512
3149c4eea9f10cf2e22613cad42a7c0771b7f1ab3b64426474f598cd7dd4b86f471cf10440a7ec67a6f4f27b503f861ab392828cd7076701ee96cdbac19eeeaf
+DIST thunderbird-128.10.2esr-ga-IE.xpi 614301 BLAKE2B
5a8294836f8ed402003a58c3406522a97aa8dbdf838b03787424bca61ea9c7cc5f673e1fedd5f403752d5fa34c8d837c6c4df71b920e0cf51cd2052a0673547a
SHA512
f96128d5fa113ea9a67af3da41b609d6bcdaec9d4ac402dc1bc893208f27af60480d7ec2b6e1bbf9743a10f1a20b2ab28cd056a826a5da1e4b77de730956b13b
+DIST thunderbird-128.10.2esr-gd.xpi 723346 BLAKE2B
de9b0dc86d56af71804c67f940a8f4ee00e756629b38f2de2b1b52ca6d3295547846cac51d9a66630a09940f67cd24d6afcb20de54080743f1b8df81f3b33d0d
SHA512
ba660a714558bf81830b9e7c38bcebc0d810d677953f1072dea2f4c2895dedde35c760dd1ff4f33a71f95e53d3763c77cd2a0c70daef0f2c53a16c7930537c82
+DIST thunderbird-128.10.2esr-gl.xpi 738663 BLAKE2B
6ee3cfd9ad1a62ab2e76d1fa99be7302714083605ad162c2937dc2cff8d1050059fa5269d4dc3043ea6c0dedcf0207b9b2c3de8482c64834957b9e7eb2461400
SHA512
0708c09e88ae01e981d481600874ffae19e2fbeb425a80a0f7234b88ca2da4403287754c39204a2f9158982a7a0e71a67717acb1dffe26e2af56c7de15cacba8
+DIST thunderbird-128.10.2esr-he.xpi 697002 BLAKE2B
f30f9d4ad964acfb703077c1b8d88d154dc2a6bd034e8b80867b11e4d738ce6e9e2ca2e5cb78b5883dd1ba3138c0a58256de472646569263b02e7af1b29b707d
SHA512
126010e12eb650967ec466e05c6909841dfb50576791ca9aeebc04d06710925f4fb26542ed640add194a6f9d31491e67e55281ae035458461b2e5020500d288b
+DIST thunderbird-128.10.2esr-hr.xpi 724040 BLAKE2B
ce475f3c30721f88de94c18d5896871181268c22e450ad13274ea62328096c1651e277c232e7ea41b8b4d8d9466ffab27593a9a817cb664ce3c142c9417e5c44
SHA512
ccfa15b40c8f2cc5001c6f1c06ef0d4e6ed0878393e6ca0fcb823edaa2a0b1772ddbe0501fc85627aa0b90e48e89432cc06a8dc33509eebb45cfc7e4336161c4
+DIST thunderbird-128.10.2esr-hsb.xpi 784037 BLAKE2B
78aced13ccd75cfcc8ddd8f9d770ec74bef2d56b6f9c7e50aaf40fc140079127751fdff9947e3c2f90cd7fb3dd77892ddc6e5458b71b2e905cc71de8f4123ed0
SHA512
3b5be7686963c5b848393becddd0b8dd3571e2db98d4ca43c18917735ce4c5e298cea8d11d385df044c515d379d29de764f36ac9a394cc6fcfc634536dec0b47
+DIST thunderbird-128.10.2esr-hu.xpi 787701 BLAKE2B
3bf566b9e189103c6d675a2f773763158b4d84c2fc7b5e24f139f847bc6f28a47f97ffa7af3fe656f8502bcc3d6961ffe0ba5a3c59021dbad44d0b0a57fde1fc
SHA512
39df1e3aaf8ad020e7cf2133343c63ae59b372b026b22ed754899c37881f5899e8671fb3fa384c5c03df5c8ed965722b042aa8fb5eb3a528c5363e0684a595e8
+DIST thunderbird-128.10.2esr-id.xpi 721180 BLAKE2B
f5ac56739f056866f06dabaef29ce29f9b05d632dd477fa34cf3ddbfa7b1f1ee025c26776dc405885581fb042e475fda13f713b18fe19e35d49e951e6bda2e0d
SHA512
d3e3bc13157d31bd1b8a7ded9290040c885162fa69024da976ef47f044e3d1982dc38cf11eadc1ddc2b61ddcd57d0015ea8ac985253257eb5f5fff87c349c747
+DIST thunderbird-128.10.2esr-is.xpi 750936 BLAKE2B
fb4a50444dcf92f5c0e196d9e64b403051e6b03be0b1e8cfdaebbe4bd539a7add2deba25d88aaa31eb7e99d8b0fb9c365703decd13af58c2c2cfd81e9bc46833
SHA512
ed5920f1b2d18da109955c3f60e755fb94acc42d8d8dbde0832a4259a7550851cd6fede67ad9bba02c64b04b3bdfca0256e18903c61e6f1388595a0a2ac58929
+DIST thunderbird-128.10.2esr-it.xpi 752078 BLAKE2B
d59097283ae77625a4ce957bfb9d5d270c83bef96f19b9508c72eeecb9c37f195f28251b19474dc545987305b984b21632558169f4ad5ddc7d43bb4c38c9d2d1
SHA512
854feeb415299f3debf9f008e6c09a07b13551deecdaced2f83a0479c61e779fb217cc781b532e98b0743d8f86d967c2d8cc847c351ff4cc838deead64a40566
+DIST thunderbird-128.10.2esr-ja.xpi 822947 BLAKE2B
d235b54e00353d1e54559f00dfa84bb1dd08fa1d18a23224f2510c2c9c9553b589996dd67f1b6a82fbb8f94ae9bc4b92c650560dd1afb66edf1c48bf8fcaf824
SHA512
14ee4c2e81167bd19f6f6e37c49413097b4e848a8e98ba783b4ff6df87b086d3978ac513b5958c3813b4d6cc3699468855ae7c9263041631d9c35845d00a71b8
+DIST thunderbird-128.10.2esr-ka.xpi 814153 BLAKE2B
abd06e8d32154a7befe35e0c1f03cd0aa0c3abc18d8d4a86fbdab0495ae1f05623bad66418305265f7445eb941ddb60e05a7a4ebd699c9bf8961ee2d77502d8d
SHA512
91cc110d2feca3202a5617a8b8acf70bea58370c2679ba82ccf66065afc6dd3b0f43b5ea64a84914f465b0fa17f1a589c0ff4fc60459e8880e86e758b84ab8fe
+DIST thunderbird-128.10.2esr-kab.xpi 729660 BLAKE2B
43200c639d8114a34f6a4077b8aa491b57f364f31fdd4ce20f56fa87f53feb2b5339ecbb460a2751f32c8b8289955eb57c294726334c21ad62d8a131796aa3d4
SHA512
21fddbe2bf0f4d7048f506c21d21e5b8b3370c6c8bd50d4849b3d02393dbd2705f6f18315b76defbeeae297f68d7662376d6bcf8df67388130ae91428fad34a7
+DIST thunderbird-128.10.2esr-kk.xpi 856119 BLAKE2B
1cc9c3ac4ffa5d0d512393eb95ad54de9610172652b81e0c2b371ab3e353cb82fc51d4a3719f25aba0819282324c64e4ac4befb7c66a040a3e5d434177c4d676
SHA512
706248041b1225d8d1b7d031ce64b6c0f0fe9f9c40736de6b636381dedf2d2e586da4b4c98babf9932a1ed9aae78804945f334e57d7fe330489ecd498b337742
+DIST thunderbird-128.10.2esr-ko.xpi 790140 BLAKE2B
9590bd66846ee78558c1285fc9a73428c989a9811b23e361ddd197bdf3c4a68b4c5a649f8f946c28c89dd681f8927686f63c7b0a627341afe9ad5071481682b1
SHA512
393e564847a39467b54697a49e9b23bd53656728f4889ac6b0fc4d498e50b3887f224e84e7206c0583a9011c2e9253ebed7caabe09ce0c13a00e4b3b97cf3a50
+DIST thunderbird-128.10.2esr-lt.xpi 696750 BLAKE2B
92a541efb5d0931ff90e8cf0cd197be6d4629de8175a01c69a8794f72adbb5970423410e11a29ed3b058760ba8c97996f8b80b3d44ccc11b88d4639fde9c3903
SHA512
074ea6cae590beb730194bd71af33e137270776e8507ba1ca5dbc8c10005a98ece436c292afff3e52aa957112bc97471495a661e2ac469fa25a72b10b32ee597
+DIST thunderbird-128.10.2esr-lv.xpi 626198 BLAKE2B
6d2b35ca4a0d3daefb509d13efa51a15689d414e7c401692472503681e8a6e31cf46247980056ab328770ff62433a0712595214a59addbae09857fd3fe95d65b
SHA512
e9dbe5a5288b38e9f43522bc15b8d9d8b319afa12c38c4b79c24ccfe0f1e446875d9f979e31e61d29370ce62acf858be98e1fa4bc4102e54d2ec00e69224dbcf
+DIST thunderbird-128.10.2esr-ms.xpi 586658 BLAKE2B
1175197213e25466af395b19b334db808d478d2c64e5dfe33582d979a6a81a496b740f7f25bb281e86eac9d0bc2d03faa7dea039d1498c3ae4777f46d68cd4e1
SHA512
cabbfa09ac81e0f1bc9524cc6d202ce2ec17032abb3a0a0b11197103cec55d2434ddb61961d193f1763209b915202ebc7fa0d95b0c1dd86de7a1bb1c706b3646
+DIST thunderbird-128.10.2esr-nb-NO.xpi 700495 BLAKE2B
06c59e8c8a2972ff547a7ab7a4ce0a5df9c940161f739eb79e1f3c5d8761b36169adca76a40993c499f495f416fac9558b57ce2a35e72ef40d5a09e2b3e07135
SHA512
ef254ea5eee29027f1038cd3fa3a04b0fcb9df9f9ffbc8605c91414112d98748650a49d63e85c5ef44c814120f572cad0b9bdcab647816d60be0d4b286817bb3
+DIST thunderbird-128.10.2esr-nl.xpi 746758 BLAKE2B
c2edb6511621d32576d59a540f2e32a642289eed7b27466d73d4a9c3f64cfa57f26842319197635cc0a5b09c07656e77f34328b896128d4875fec13b401205a0
SHA512
1211cf15e213d7f1397f10e4ee03a0f6cd77cb0b5974afadbcb126c175f5343ae468868a839f16cec29359c8c92261eb001fe1ba3ff5755300c1dd096fa0f411
+DIST thunderbird-128.10.2esr-nn-NO.xpi 726227 BLAKE2B
9d58beb4155413dc176cef1261fae0e683030e90fa2fb724005c4adcd1647b00ec0ee84d7c5a7990df12e2c5cae9760d275ec837767d1affb140d908dc62cb2f
SHA512
a9bb7a1e94215d35e51c840aa2fcc8df5ccd5981e4e272a5e96636fc6354f20405eb02c81f0c2925b3f5f156f1fb7b85c6b23cd6649041199834a7388b555d8e
+DIST thunderbird-128.10.2esr-pa-IN.xpi 687933 BLAKE2B
4e60283a9d79d779f9ec6c2fa2c95da3f650f7051e3931cf4c1b8042fc56074bf9a584595c93a764648202415a26f09810c16bb158e6f5e1618c7c491662d613
SHA512
7161d21a3633c3189f0141a27ab6902c1b3376ccd210b1732266d5450301cdfabd8d1c1125694b16f181dd13daf98d371466f23ff3bb2d3911d5283f29ee70cd
+DIST thunderbird-128.10.2esr-pl.xpi 785523 BLAKE2B
dac6699414119201abd15e0ecfbc37261744ed95e283cab365e2e4844272dcf52b061954f2722316642c5472c354308fa6413013e11c44623ea29909f1688594
SHA512
cb25f3d33818e677154c7a46f3df3900300d12cf3960719cbee753efcb4cd05195bcca7f9d8703349d8fd2f94477b041de87eeb8892fb71a21ffa9a83799b68a
+DIST thunderbird-128.10.2esr-pt-BR.xpi 754956 BLAKE2B
dac3ed0e0a07bcea8ca3531f8379437107314fbb6d407343f50854dfc4fd5c145570bfb116029b83b5a2a2449f961ecd8e43eec6c6de7ca0001f8cbe304b3c3c
SHA512
30454de5df8a4a2d4db7f3c4da02e7432103f75990aad01f9151c2aa1a0704f30029bc431a50bee86a34d815aa60ddf4e85b6f300a0b6eaf14b9e81d66aa12ee
+DIST thunderbird-128.10.2esr-pt-PT.xpi 747654 BLAKE2B
6da03d32e0d5a132964948da1ffcda91b4e68586d88ff190a9ce618a3ec2b6a2ad0f91a784f1cf2044d81691f51730f119cf49202581b550a24f5d3e89eec075
SHA512
9400bbd46c7375afcc8402696c45c19ffa7316f2b25322a09691ac536d7c25d344353c5fee7995f99b050ee4951c35a5db7a01f477dd621b8be10025c6f72925
+DIST thunderbird-128.10.2esr-rm.xpi 750657 BLAKE2B
c9eff8b5958d4aa112bb0185303a5541fc43bb5844b1a3fa50fc43676b7e3ab42914631322d64145fd33f9ce6d474ebcbcf4866fc5aee32c6adc3f09fcf1585f
SHA512
1f32fba063f6dd3aea654ce07ad3b1db4ed7c825373ab877060122d008ddd23008dd165e06d7b917e103b7c47205f10179e024ac7e519993b6e22d27d8667f8f
+DIST thunderbird-128.10.2esr-ro.xpi 666553 BLAKE2B
408377b3dc35534cf41b2e8bf89820af659eb9c163e05ab433153f350a06278624480dc6ffa81bd2f56435560937e5313a2b70a7ccfe9be363037e65e5a1ce85
SHA512
774d7fcaa054ce71fdc3dd0a7508d999cc7434207855170de4c047c22a2b9e4f7844592d7b7c7ea59d9c566b5348c7c55c929e7155e8439ca760e463d3008442
+DIST thunderbird-128.10.2esr-ru.xpi 875879 BLAKE2B
7eae09de0e0b32fd64ad7e0d8a7bbe58ed01884585f1f1f62138de84b2372096cecd2c8b14c279a99597158636b8b8978ec2bd895a39e81345bfefd163130a5e
SHA512
d0bcb2b8872af0d843fc72e9a3666854bd89adba9801d5418e4ed238832e973c811f4b83a3fe9fee610bd203224fd06fcff60a54f1b1bfc0f138b343cee66767
+DIST thunderbird-128.10.2esr-sk.xpi 789277 BLAKE2B
d42820fca2d990fb3eeda59d582418be48c2234f13d34ac0b2e17748bddd57fea15d81fcaf7bc80b83e357a892ced6c048f474cd60e37040c340d2a61a366bcc
SHA512
25fb10b6baf59188a23b669777a10940b48fd1e713ea803516834c20ea68ac738332bd73c8d24cfa45a8393453034c875c33153b8d5a20e494a4b71295aa831b
+DIST thunderbird-128.10.2esr-sl.xpi 750622 BLAKE2B
98010c362c1e1df0cabe9fc0e6885c4cef4d51316e0ee48d887288dd55d3f9714022c75802882c7fccfb1a4bb5d7a8690eeaa85991cbee8a2876bdd06decf7bc
SHA512
ae52af9f75466704d96f8473091136ed0e2cea78ed93ccf50b391ab529b1b24085431d66a3fa33c74b1e07de7f9a2fad6f836e94e2245061cd39d4f09ccd5fd9
+DIST thunderbird-128.10.2esr-sq.xpi 773100 BLAKE2B
8ac467dca81c80459c82ed9c2c3227ee751ab8ebd8d3a5e98365593282b68bf9e89432c21b62a6d4ec16360767eec05ea337b8b35241fa16fa28d99176fca8bb
SHA512
4f4ce8fb39e672275c67b40a7bba68567a9a0f1002120af5b9dfa3b1be71b6a13b74ec81011cde49dfb4e4c32a93eadc1d77559262e6e3eb2bbd1d87c852f3f5
+DIST thunderbird-128.10.2esr-sr.xpi 766346 BLAKE2B
20fbc9f16d088ecae90a4d8010b75bb0d84435200f22604c001bbeaf2637a686bd955fb6c7a53fbb9500cc94ce568cad82d0cf412da78f0a802f5cf67ce86416
SHA512
1f33e00c4d6430f3cf9f182b3521513844da0a038f8e3d458d3d1f059bf2ffcafacc8d16dc9205ff0719028401bdbc0821b993c61c68ac4134a5182b06f67553
+DIST thunderbird-128.10.2esr-sv-SE.xpi 750538 BLAKE2B
8b92bb97c4491e305848cf356bd1219c00967f6c3d8d91256ba0496bb54bb1c12cb4310fd60141b27edd95522e5b07b23d0e94310443a62ce49d213ade6eb8f8
SHA512
42df55fccfd85ca203b8d6601e85ad776cf24980b643244850749d40b8b267438afaeab5152b76786e11c614416caa8658d490726f0c7e141c4e975b03e8de00
+DIST thunderbird-128.10.2esr-th.xpi 846502 BLAKE2B
217ca18127842368a96744c6b17a6e4394c15170ea685a6e54e0f880bd0eff06c74de364305d96ac260c9fc6b2e7e1077919a1ff917a01dde7b6e5156f7c5451
SHA512
c4fb131efb68ecdddd8ccc8295d28ec3f7277c3a6552dbefe20adcdd2e52c9757ce32e96e11ba27387db97a5f82aff3864311b8721a59419e204b81c09ad6d67
+DIST thunderbird-128.10.2esr-tr.xpi 762700 BLAKE2B
b10a5af410e870eeb3f3d132d4d44fa3d809510ea436aaa7d2ec7aeed42dcce8596b3f77f9597abc228bbf95a0d8babcb8b693cf70d890e76f58f029e6299575
SHA512
66df96c0587e48112983b99b2af5035f09469a8670f625cb3718772ef44cb192d3f56f1a81243a7a6db2d14e84bbd5082848ebc19374bfd494b4f3d1bd28d689
+DIST thunderbird-128.10.2esr-uk.xpi 864132 BLAKE2B
5c158992960087f289f3a284b1e8e891b8317e1b9fc2b32949be1ee5e8b4b6313b008ed2bc2ddf91ca2989c2c999dcb4524a8124d7b2af883515409c912ae2b2
SHA512
90550e053ffa28c57bd231354eb315684280d26b833fa212e4e3ec4953ed1628fa1c04e84316ab58a886f7d6643e19d808efa152e3979913ad4ca6676b2d3c4d
+DIST thunderbird-128.10.2esr-uz.xpi 589342 BLAKE2B
c5ee5996e1bc007ef152e5095b41ffbf6ce201be93d3470f7f4abc864546345bc4c0aad04abfd6a39dadf984bcb5ec172e821e4ab44eae18bb525d64f8d4c7bc
SHA512
779ab0ceaa06c4af0c4f83a36aed0fb3e0e29bae74d788e71c0d69f9350581c81ae5771abc9dccd4e760bcd0fce0cb1581bb2e08f083ad16bf28f65003b3413e
+DIST thunderbird-128.10.2esr-vi.xpi 790627 BLAKE2B
a22fd47014016672741c4a22bf19ecf1d934d956b880bdbff8c97c3704043cce33245ff3911b69c6208e2f6a6c38acb5cff293971f24ab81553a09645c71ceda
SHA512
9b049d46980e18eee65c1512fc5fd0d3a69ccd42e572a897ec1331e69b1396c79e7bde53dba4fd5136637b6c6209795b800ee6ed75ebfcaff9e8467e3a7c094c
+DIST thunderbird-128.10.2esr-zh-CN.xpi 790964 BLAKE2B
f432ad4896332e1f632f691e66d6ea0bfe0b6ef6e87533cdfddfb97d1d4364cdff29412caecda3ee8483252de676d3ad58d79a83263f9907d06445bd47013e77
SHA512
64ddde62580b9d09fd64486d39bffa1e0bb9d4d6614357fde401203d5cbe8745c5133b4dda806544cf33865dd6d56ba6b9487101f7738d8123cbed12cb4c8c00
+DIST thunderbird-128.10.2esr-zh-TW.xpi 794258 BLAKE2B
f2faf37d914c9c98dc3672f497a24e9a37b58a5624c23fb76db374f4b0c49df64bfc36d2c67ea6f26d63ef142fb2a1819c4d38474b3226521417cf8170463d5f
SHA512
a94eac21587162f18d6ea84ce04317ce253795ce65362a3b5488291bd66dc2d1d43eee1f2fdc129c871aae65f3d84e5f98c77ae2659bb10ba2cc1aa0d182caf4
+DIST thunderbird-128.10.2esr.source.tar.xz 674082824 BLAKE2B
13e873607c312cf5521420db073108e4bc2d7cfd24a2765883ec8bd5b72cd5eaed027000cbe337117b0cf6949c7ea58dcea93cdc1f4690bd1c8417024f0c587c
SHA512
2783ebbe89d7517099620bb537f4b9a4f85f9adf22c4c747b7989fced9fa4dada3bb05cf0c52eb460bd9700f85047a8689f59124956fdea24de7f6f668a087e5
DIST thunderbird-138.0.1-af.xpi 315687 BLAKE2B
7e46f99a8662119f8df95a3662adb7ff574e4541a4a26d5c0c705a4616ae83a096a76e8bd530967b456345b2c3f4b069c9dbc28cdbabf601e92381ff07f53527
SHA512
0cfa72fb6ec27db137f020941da2eb5e444ed7cb3ae0c5060b32a7b456476d60d4864a2f0f564ac8cdad31cc753b5f62b5a443f48854302b9b0b4602059412a0
DIST thunderbird-138.0.1-ar.xpi 432652 BLAKE2B
094ea38d277f6731427f1e572fbebac6df7a7fc1518a1bde7aef0a2b25e51f0192f5c301b479888ba577854a2e6b000350219dc2ab3f52fca086eacd04783625
SHA512
c9f5fe598968c6246f9ed0442c42a9f140e4aa7eeb8849d13f313f5c6f953467442c63f4edffdb5fcdf02ebfbfd1d8667e98be8515d0189c6e3d3f9d8bcd29d6
DIST thunderbird-138.0.1-ast.xpi 341394 BLAKE2B
5d54b5793efe1ca83a477d55b4c1a8aabed37d757fe973fe52b6101cde1662aaed20604cc22cb0fa7abd8b94b7da9d3bf047f9315f5d0c2f605d4ebaba0577f4
SHA512
a5884ac3164c3bbd2c6a95899f5e7fdf5171661c0d65fd04e899d29ccd24e97e46a899373104bd9e19a47617be494be716dee699782161ec42a9ca482ea1af98
diff --git a/mail-client/thunderbird/thunderbird-128.10.2.ebuild
b/mail-client/thunderbird/thunderbird-128.10.2.ebuild
new file mode 100644
index 000000000000..1e1f68d257b6
--- /dev/null
+++ b/mail-client/thunderbird/thunderbird-128.10.2.ebuild
@@ -0,0 +1,1171 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-128esr-patches-11.tar.xz"
+
+LLVM_COMPAT=( 18 19 )
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+RUST_MIN_VER="1.77.1"
+RUST_NEEDS_LLVM=1
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="manual"
+
+# Thunderbird will have separate release and esr channels, matching Firefox's
rapid and esr.
+MOZ_ESR=yes
+
+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-r1 multiprocessing \
+ optfeature pax-utils python-any-r1 rust toolchain-funcs virtualx xdg
+
+DESCRIPTION="Thunderbird Mail Client"
+HOMEPAGE="https://www.thunderbird.net/"
+
+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[@]}"
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ SLOT="0/esr"
+else
+ SLOT="0/stable"
+fi
+
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+IUSE="+clang +dbus debug eme-free hardened hwaccel jack libproxy pgo
pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
+system-libvpx"
+IUSE+=" system-png +system-webp wayland wifi +X"
+
+# Thunderbird-only USE flags.
+IUSE+=" +rust-extensions +system-librnp"
+
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )
+ rust-extensions? ( dbus )
+ wayland? ( dbus )
+ wifi? ( dbus )"
+
+TB_ONLY_DEPEND="selinux? ( sec-policy/selinux-thunderbird )
+ !system-librnp? ( dev-libs/jsoncpp )
+ system-librnp? ( >=dev-util/librnp-0.17.1 )"
+BDEPEND="${PYTHON_DEPS}
+ $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}
+ llvm-core/llvm:${LLVM_SLOT}
+ clang? (
+ llvm-core/lld:${LLVM_SLOT}
+ pgo? (
llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] )
+ )
+ ')
+ app-alternatives/awk
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.26.0
+ net-libs/nodejs
+ virtual/pkgconfig
+ 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
+ )
+ !X? (
+ || (
+ gui-wm/tinywl
+ <gui-libs/wlroots-0.17.3[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.101
+ >=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:2
+ x11-libs/pango
+ x11-libs/pixman
+ dbus? ( 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-74.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]
+ )
+ wifi? (
+ kernel_linux? (
+ || (
+ net-misc/networkmanager
+ net-misc/connman[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/libXrandr
+ x11-libs/libxcb:=
+ )"
+RDEPEND="${COMMON_DEPEND}
+ jack? ( virtual/jack )"
+DEPEND="${COMMON_DEPEND}
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libICE
+ x11-libs/libSM
+ )"
+
+llvm_check_deps() {
+ if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then
+ einfo "llvm-core/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 "llvm-core/lld:${LLVM_SLOT}" ; then
+ einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot
use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+
+ if use pgo ; then
+ if ! has_version -b
"=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+ einfo
"=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2
+ einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ 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}"
+}
+
+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'
+
+ 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 debug ; then
+ CHECKREQS_DISK_BUILD="14300M"
+ elif tc-is-lto ; then
+ CHECKREQS_DISK_BUILD="10600M"
+ else
+ CHECKREQS_DISK_BUILD="6800M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+
+ # Get LTO from environment; export after this phase for use in
src_configure (etc)
+ use_lto=no
+
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+
+ if tc-is-lto; then
+ use_lto=yes
+ # LTO is handled via configure
+ filter-lto
+ fi
+
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and
FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ if [[ ${use_lto} = yes ]] ; then
+ # -Werror=lto-type-mismatch -Werror=odr are going to
fail with GCC,
+ # bmo#1516758, bgo#942288
+ filter-flags -Werror=lto-type-mismatch -Werror=odr
+ fi
+
+ if use pgo || use debug ; then
+ CHECKREQS_DISK_BUILD="14300M"
+ elif [[ ${use_lto} == "yes" ]] ; then
+ CHECKREQS_DISK_BUILD="10600M"
+ else
+ CHECKREQS_DISK_BUILD="6800M"
+ fi
+
+ check-reqs_pkg_setup
+ llvm-r1_pkg_setup
+ rust_pkg_setup
+ 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
+
+ # Clear tons of conditions, since PGO is
hardware-dependant.
+ addpredict /dev
+ 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
+
+ export use_lto
+}
+
+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} == "yes" ]]; then
+ rm -v
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+ fi
+
+ # Workaround for bgo#917599
+ if has_version ">=dev-libs/icu-74.1" && use system-icu ; then
+ eapply
"${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch
+ fi
+ rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch ||
die
+
+ # Workaround for bgo#915651 on musl
+ if use elibc_glibc ; then
+ rm -v
"${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+ fi
+
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # Workaround for bgo#915651
+ if ! use elibc_glibc ; then
+ if use amd64 ; then
+ export RUST_TARGET="x86_64-unknown-linux-musl"
+ elif use x86 ; then
+ export RUST_TARGET="i686-unknown-linux-musl"
+ elif use arm64 ; then
+ export RUST_TARGET="aarch64-unknown-linux-musl"
+ elif use ppc64 ; then
+ export RUST_TARGET="powerpc64le-unknown-linux-musl"
+ elif use riscv ; then
+ # We can pretty safely rule out any 32-bit riscvs, but
64-bit riscvs also have tons of
+ # different ABIs available.
riscv64gc-unknown-linux-musl seems to be the best working
+ # guess right now though.
+ elog "riscv detected, forcing a riscv64 target for now."
+ export RUST_TARGET="riscv64gc-unknown-linux-musl"
+ else
+ die "Unknown musl chost, please post a new bug with
your rustc -vV along with emerge --info"
+ fi
+ fi
+
+ # Make LTO respect MAKEOPTS
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure || die "Failed
sedding multiprocessing.cpu_count"
+
+ # Make ICU respect MAKEOPTS
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/intl/icu_sources_data.py || die "Failed sedding
multiprocessing.cpu_count"
+
+ # Respect MAKEOPTS all around (maybe some find+sed is better)
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding
multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py
|| die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+
"${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py ||
+ die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed
sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py
|| die "Failed sedding multiprocessing.cpu_count"
+
+ # 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 checksums from cargo crates we've manually patched.
+ # moz_clear_vendor_checksums xyz
+
+ # 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"
+
+ # Configuration tests expect llvm-readelf output, bug 913130
+ READELF="llvm-readelf"
+
+ tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF 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-disk-remnant-avoidance \
+ --disable-geckodriver \
+ --disable-gpsd \
+ --disable-install-strip \
+ --disable-legacy-profile-creation \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-tests \
+ --disable-updater \
+ --disable-valgrind \
+ --disable-wmf \
+ --enable-js-shell \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-release \
+ --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-ffi \
+ --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 '' --enable-update-channel=${update_channel}
+
+ if ! use x86 ; 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, since it's not activated
automatically via "known arches" list.
+ # Update 128.1.0: Disable jit on riscv (this line can be blanked to
disable by default),
+ # bgo#937867.
+ use riscv && mozconfig_add_options_ac 'Disable JIT for RISC-V 64'
--disable-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_enable rust-extensions thunderbird-rust
+
+ 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"
+
+ # Increase the FORTIFY_SOURCE value, #910071.
+ sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:'
"${S}"/build/moz.configure/toolchain.configure || die
+ 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-x11-only
+ fi
+
+ if [[ ${use_lto} == "yes" ]] ; then
+ if use clang ; then
+ # Upstream only supports lld or mold when using clang.
+ if tc-ld-is-mold ; then
+ # mold expects the -flto line from *FLAGS
configuration, bgo#923119
+ append-ldflags "-flto=thin"
+ 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
+
+ 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
+
+ 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
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ mozconfig_add_options_ac '+debug' --enable-jemalloc
+ 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*'
+
+ # elf-hack
+ # Filter "-z,pack-relative-relocs" and let the build system handle it
instead.
+ if use amd64 || use x86 ; then
+ filter-flags "-z,pack-relative-relocs"
+
+ if tc-ld-is-mold ; then
+ # relr-elf-hack is currently broken with mold,
bgo#916259
+ mozconfig_add_options_ac 'disable elf-hack with mold
linker' --disable-elf-hack
+ else
+ mozconfig_add_options_ac 'relr elf-hack'
--enable-elf-hack=relr
+ fi
+ elif use ppc64 || use riscv ; then
+ # '--disable-elf-hack' is not recognized on ppc64/riscv,
+ # see bgo #917049, #930046
+ :;
+ else
+ mozconfig_add_options_ac 'disable elf-hack on non-supported
arches' --disable-elf-hack
+ fi
+
+ if ! use elibc_glibc; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ # System-av1 fix
+ use system-av1 && append-ldflags "-Wl,--undefined-version"
+
+ # 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
+
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support
arguments
+ mozconfig_add_options_ac 'Gentoo default'
"XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash}
${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org
default}"
+ done
+ echo "=========================================================="
+ echo
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold ; 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 llvm-core/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-r1.js gentoo-prefs.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+ # 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
+
+ # 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 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 exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if [[ -n ${MOZ_ESR} ]] ; then
+ local desktop_filename="${PN}-esr.desktop"
+ else
+ local desktop_filename="${PN}.desktop"
+ fi
+
+ 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:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" || die
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ 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
+}