commit:     8a205c1b6e91a1f81d9e76bc802308438b79a93a
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 17 14:21:37 2025 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Fri Oct 17 14:21:37 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8a205c1b

mail-client/thunderbird: add 144.0.1

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

 mail-client/thunderbird/Manifest                   |   65 ++
 mail-client/thunderbird/thunderbird-144.0.1.ebuild | 1155 ++++++++++++++++++++
 2 files changed, 1220 insertions(+)

diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest
index 873129df6505..7b1edac6b362 100644
--- a/mail-client/thunderbird/Manifest
+++ b/mail-client/thunderbird/Manifest
@@ -262,4 +262,69 @@ DIST thunderbird-144.0-uz.xpi 355482 BLAKE2B 
ecc1b8fc57707ac1186ae86acd7e7c9acae
 DIST thunderbird-144.0-vi.xpi 522915 BLAKE2B 
213a470b0da51be434ce910f2ac83d52a22148156908ad7f159394e1dea23e6afb44171c9b9e0e6e52a81a1ff3cd23b275fd100a962c37577d654e5cb160ee4e
 SHA512 
43fa5ebf1e8e701ed5c38d80bf79553f10457d4a60ba56b7fc89f57d1a8b689942f9d6b83cf016f51ba00063776b6b603456d20da15b4642114fbbb95e39845b
 DIST thunderbird-144.0-zh-CN.xpi 511832 BLAKE2B 
b1d6bf2899b12f6f80ac0dd79e484c49c9e837a11c8c638fa1bc6918c8d360767b6679046795d4c7eed6b4efa63ee0e40acfa5979d9661b80d1668e46a6e2969
 SHA512 
f39bf97da2765610e33eeca5d0dc7b887eb7130212e64e5e0802a94d225f9200a48642062855afcdb86668af8eb4c598693009adbfeb1f7c22dbeb93ff83489b
 DIST thunderbird-144.0-zh-TW.xpi 515424 BLAKE2B 
66ddb28260f15abc1c3703d34e45ad341fb487cf5a24b287e34d0117ae2670e4744aa5afba9f526e67669a9420e4bb54661af5b75fa886605b9f5cc05bbc9e7f
 SHA512 
cd58b523ff18b550bc62b0f5825917d297090a86c3b6f4fba0c746513e5d86f69f7dc7a33497d9bc2eaf98165d8d1c974d2d9c3520ddb40395424ab36a74749f
+DIST thunderbird-144.0.1-af.xpi 315658 BLAKE2B 
bb0c198c949bd5d2cc69ced273a295d93d705f4b7cc5070b94065a69f7391bd415697dfcdd8902b294c4fcea6ff3cef36ff0070d51e2eee96e730614264f1efd
 SHA512 
bd92cb7eb90a1d8effcd58d51dcea40ca9de1fcc10c11bd7f8b92a48fbb5e40785ee7e34031d9fdd531943af95722cb9a9b85f94bed6d7953ea85936d653ede6
+DIST thunderbird-144.0.1-ar.xpi 436469 BLAKE2B 
d7504369150bca69b6329ae626be46ba662850ebb46eb91308a48b03252572a0d95f16e604811b4c7c024f952459eafd4bb3251fafce3bcd0df160729029a7d4
 SHA512 
b3ccc173e6d31ca782731232396b4364c007c37637723b25fd4d36a763e4f50be8f0e367ca128fff5769c7d77a8a5bc59181a626532b17ccbd9dc6c811d9d0c8
+DIST thunderbird-144.0.1-ast.xpi 339889 BLAKE2B 
4c67b45ddc15f653b550342aa02f6b204031007ec341167ba234f0131d546d4bc6f38ff4c6a2f6cd728e79ff4b1171bceeaadadbb8a957c991c92b9e0c83d0b0
 SHA512 
b31e2bebb8cb9152f7a4b028c1c957e846d225e46bc340a3db7d6cd6db43a84469b5a9914929f15884a11a8a1b8d328761bdf82ece06ae6704c80c50437aca1b
+DIST thunderbird-144.0.1-be.xpi 522822 BLAKE2B 
0afaa9ad0e056644bb5663619466c353481acb2d4260096ffa1690ade217c5efb0c92b73c3b4ac7171efe59d6b91fde7deabaa5ea4261bcf55e2e18b6aed701e
 SHA512 
e8b7527e66d7dbd215669b0f2757fccbf6a679ea0d8fd964635aba42b3dd996d5715e5740c82d8ae2663c99753d115e1ded99a163d4f3dfe5cfa851bf547ac0a
+DIST thunderbird-144.0.1-bg.xpi 542318 BLAKE2B 
122707151b3359ecce44946a8850e11743437d085f15a564847da53dff033e23770d87776e9ba9262bfa670dce6ffb33ed1f2e9a71d8051db67d8989e8e1d2f7
 SHA512 
36f06668843f1331fbe67fd704925575470276b1d6fabb8d8c90f298b1e61b230d775e2f9fee16091366d071d17aea60ca59dde944d2d20d794711abdcfc1c92
+DIST thunderbird-144.0.1-br.xpi 403218 BLAKE2B 
519a45d6eb272d5c5421ca6ffdb6b2f3e46599b1b5897c76818fcde08c332b84f5b2b98c582bb4328a440d2f9f6c41dfc49d4c6fe82170da6e36fc0db2af35b8
 SHA512 
f01c8b60ca38226ce3229c014d618849b96d948ae4fc9b76cd039f24e9dbf77823afa7f00ac5f8eb6d9eaf56599ac27fd6b2768e64c6e10de2c20b9393b4769f
+DIST thunderbird-144.0.1-ca.xpi 440924 BLAKE2B 
bf5acc55525a42a39bacfcaa12e88b50edf7e4cffe46a661cd5677dccdde069ea3bdd30476166b48ba45c55a3521a74a21133f1eaaebd45990dd95e8b91dc950
 SHA512 
81ee7ffb14dccf1849a22a6b9f905d53aaec4c09cc3dca1fe743146359f273a786aeada5d8949bb9f67ef779210b43715f58c45081f49afa96e8571457c2a6fa
+DIST thunderbird-144.0.1-cak.xpi 417855 BLAKE2B 
ec8acbfed08db2f8d2fa2aeb8d5b83dcba72ea7975aed238cc169cdf8b3c535d6702b2633b719d08e3ed257a119dcbd37cd565d280bbe10e33113b592a2645de
 SHA512 
7715f6a14c570f7ba827d3ef53e26fa125fb24f2b32b9e5e6942f61457c53de0ccc25835dfc81775936365bcaed9d92638f7868483a3aeb384606061482cfc2e
+DIST thunderbird-144.0.1-cs.xpi 524093 BLAKE2B 
9aff5affcf4a1cdabc88728ccf2dedb8edc19addb9a2393da7e1b0b33db6564764c05c1d982cafed6f3f1774d624ce113085d376e8709be74c0a0c1c97ddd385
 SHA512 
a6e5d88c542167ebd5e6b013ef1fbfd310aec584bf80a3a79d66cd2d701be0551e23c3a75c49ce6671cdf2127f1d54d731b885255905d9c8c9121fe289cb4d63
+DIST thunderbird-144.0.1-cy.xpi 491998 BLAKE2B 
1b2dae4583ba4341207d2736a3fc6ee4859a6741f58556341c336e5ecfad3e0d95c3b3201fb5c6d2169dcbf7bee6c14804d58244b4ced3a8ed484b526aa14241
 SHA512 
f01ad57240ded4329b30cecaf62ea77ba79399fa617382497ead355b3cc3c59eb7671607208fb5fd2a22f2810878b27c99b953c1888d77cc1a14b055f31e820c
+DIST thunderbird-144.0.1-da.xpi 479543 BLAKE2B 
77cccef5b0395be1f7d493f1ea33308c90c119f646c517d0537f748917792d82cb24f4a982addddc0ce132cff71860626b66d1d2f472b4cc4a7a815e2beeb340
 SHA512 
940f03ebf68c2504046d740befee6ad9114ed3f92534660de4d9098865ff09374b30b6b3aab64596e65497338b9bd0b71e90e34520594849a0088e696dbc3b7e
+DIST thunderbird-144.0.1-de.xpi 509373 BLAKE2B 
55aa9949ca65f71914493bc1036a078d7770088a728be80ead36c3de8e333e177ef824f611ac02a613904cd001e215d4694c13432173cca8a4a8debccca85736
 SHA512 
daf0bf3342601ca5f46b8914f889a1f3949406a11e992719013fcd5a2442897da34770fc9911abbac0aa075a920a136fc0dbd09420380ac620539e4bb87bf0c2
+DIST thunderbird-144.0.1-dsb.xpi 522257 BLAKE2B 
e3ccad70c1968c198c4ae351bad5895fac6e968cc7fbc623ab7807fde48012d38604bb138bedaf7e1623aa1e6d2c35f4c8adb565dfbb5d6e78ffb5ee8bc45275
 SHA512 
ec1ea0f1127b31a13b47ae0e90c299fd215acd20d46baf9e056bceec0cdec93a47e9f6e70f39e8a7d4a67bfd6f92e611adab7c55829088330c61c83c42e4dd0d
+DIST thunderbird-144.0.1-el.xpi 613759 BLAKE2B 
b5c7e851673fa91c8d93f2364c9b87d541ebc955505a8528b1a6372df78af66f9c5a65b8f387d109bd55c44da047b4375f3571e13744d6659dbbe10418f32b6d
 SHA512 
a78cb274237cc1fe5e4b8a1167cd5efa916316176265a3c87d59bd50693c732e41b81e9217883d3b63df29d6ec31463c54dfa7cacbe098756fd1b963b08bc9bb
+DIST thunderbird-144.0.1-en-CA.xpi 454530 BLAKE2B 
e2a5901ee7fe03fa7f8c4b0d598136b69c26430cbad67d9690a18fdbcd9cde9a2d106d19aabfee69635a01982f82c6e27268d6a313b624f8f8ee8732df86645f
 SHA512 
e8060bf08bc7cecb3565db94c8d9641fc416ef78c9f14a633a559e30e76b689c79435d3ece804938371939bc7803083a9904cbbfc039c11425d961dd28f08240
+DIST thunderbird-144.0.1-en-GB.xpi 455918 BLAKE2B 
cb8223f9ff63de3477fc8dc09d4a09fc1314de8774afe7515351da0f6d4237ca6126197220ca2147916fb89f98bd736498a72c77a9d54a236e51d2688719ed45
 SHA512 
82e64874a7b4be024bc533dcc4f018187fa324d837b91f578ad63ac164060ffd4482be91c7b7c83f442dcee1560d516f0dd2b471c4d56feb49befa3a2d6da6e1
+DIST thunderbird-144.0.1-es-AR.xpi 499443 BLAKE2B 
266b30f791f8ddb0888669e4f407e259e7efbbc95538f91caa7f00bb2fa9999de26f1a48b437680131bf7fb121ec7fc9696dcc433bbd2963fe8e5c6db252ad9d
 SHA512 
5028ba1c9af9a57de1666ee81520cade23ac3c8b8e2f48052958208224168185af9dcc91108db9316556bfd35886d5cb3a146bac3216781acd428c8b7e1b0a90
+DIST thunderbird-144.0.1-es-ES.xpi 501079 BLAKE2B 
1b1eaeedd4aa09681f2a53a760d02a147d65c774ac1ad6d03efd80001120a11147442db26d251c7b5ad890a176c39b5c8ec7c1d71e19410dd05afafed11ff8e5
 SHA512 
1d8e8619fa9064dcb96dfc5f1fd7eefa0a6f8e33890077d3e1332e11a1bb71d7ca34bd92cda15dcc38d4d9f2b22fa098ed2f14c8ae3ada842f2f919a60c5d458
+DIST thunderbird-144.0.1-es-MX.xpi 489466 BLAKE2B 
f846652720dd529eb909497be26efc4689b30e407391ed82ad211b2c52998a9ff9ed7ee330dd94929562ff78128dd3457262950a3a54165c95b44e8e22d5436e
 SHA512 
dd1a89bb19c88ec6db40aad9320e211aacee86089d732f5b07c35edf967f6f1aa39bc30410b21ddd6a4d10a0c6e59416cd99b66a72db594dfe7fd7d5b68570a2
+DIST thunderbird-144.0.1-et.xpi 443870 BLAKE2B 
ace950d7d95fe6abf74a2d3717bada7216542088b938fe54e03668922cc4c0a9ab8e487bd6ac3ac5b1ef2544b7490e3a67bcfbe73f1d8840fd0668b410dd13ac
 SHA512 
dfd7e0c31d1ef17f651b1014366eccfea0513a2ed201ff655d40c178300444745f3e257211d00b425e9417ca4b8f8247fccfe0c0c49a38a8d455b01a94a282aa
+DIST thunderbird-144.0.1-eu.xpi 476295 BLAKE2B 
4d5c057ee75741e32cbcee4db05512cb8abd9aeacf62c41692bb2403236a9868a737f0f2794ae486ce13ca0bcd3963e82f2d5a33faf3d0404ba196d0e8befbc0
 SHA512 
c49f3eeab0866709c21a1a88e95b6137859ef50391e5284f5b47fdb9ff0246f95285dcf167955980efee27e4e5113e0b75cb4a81ac595cbd996f72a811fe5476
+DIST thunderbird-144.0.1-fi.xpi 478848 BLAKE2B 
f7bdb281b54842840505a87be086378b817615ce80fa6ace0717fbb46a6373fd39c45078b4bffc5a459ce222e3c36bca96b6a7fd616e4fc4061026c57dd6bcde
 SHA512 
75be7d352c25420c53486f1188624df3f15d3d9a739733167cc0f10a79a1726f6f10ce450e24725febe9e5c3de2ef64b7ff1e744a306e173196c35de27ccc8d2
+DIST thunderbird-144.0.1-fr.xpi 512563 BLAKE2B 
b8a6f3644313ec96c02d2240cfb045d3e39db7f4d1fac90c869e965705d4d1dfd3eb6c592aea47f5bae6dffd2b7855aa089a959b3c89930cb4141eb497e54ffd
 SHA512 
4280e0814c7580290ed726934d2170e4f0c38e124b741b76592d213c8d59475741a33fd0e02d6c0fc9bd8a27634b43aeaf6a9e0aa0b43c91d7d95e9373f9cd5e
+DIST thunderbird-144.0.1-fy-NL.xpi 494866 BLAKE2B 
97deba2a78bc501e18fd82abe5850e93363b1aff31c63b849cd413346326d7cb9a8ad52b42f150500f26533d1dfd9a59172fdfdf990c573c403c367d26a351ef
 SHA512 
d2061bcd9c0875b3bf1fec4e92ca1c687a8460711d1daf3b4fba154943cf9f66bd8bf7f1a759e912038eabec89398e39ca96e0fa087653c5e3247a2f6e639edf
+DIST thunderbird-144.0.1-ga-IE.xpi 377002 BLAKE2B 
13b276144322e683c0cf9efe2368b55fec4d0de2e6a66c50c7551c8ab3078cfe071cf42c91cb37405bc3219c01f4479462a4207c215950ba73cc96db1e4067ca
 SHA512 
7bad2092b2a170e3321bb2c3cf0b705bdd70ebf6b9a80bbc168e0db5a9b65f95d17f49d4a5636363c09c59f596e40e027ade40db6245e56333520b3f7bca84c4
+DIST thunderbird-144.0.1-gd.xpi 462262 BLAKE2B 
367c6dbb54e8c44e98f01b53fb760a8abd2ec781511ba08fc6d068b880d94d1f14e8f02bc4497b70e04f168ed51ac4911480ea3bda9dd4c9a5bc3d9855da5456
 SHA512 
a98f62895487dec8ca4fb6ecc7033e9e4b8af3d5d3abd13126e33a69d825c8ba784e7fa75b55d8e7c1fea882a852bd427a9d35da3804282a8453b17e9c0bf8d2
+DIST thunderbird-144.0.1-gl.xpi 491795 BLAKE2B 
d4803cf23ea75e014b9c8dd64277fb57a714a914096af7922c2229d60a30c73590e7c16fc94806d00f5e922609600e286c2e0b023c57c2da98a317562e2ed718
 SHA512 
61cd2cc28dcec12ff51b5ec07a89869e184852826e91325ef57935d6b6fa810f7d1b81fc611342ceb86d2ced7c0a84c673cc8e7b25c71b92f643f6685415084f
+DIST thunderbird-144.0.1-he.xpi 443224 BLAKE2B 
494a014590837af8eb7266a482074ab2514c3198f3b7effb1a137c14a06f612bdb5b932c73e3b0ca3b1aa29ec4bac3408719e128d728e9234df5dd252245687d
 SHA512 
0858572164408d63675b2e42f71a433fd6a43b6dce17e4437c21f7e3f48e2f6157a00b5db406105cc4667aa4b9d00e361831a251b051c8e8132e543aa2080e7e
+DIST thunderbird-144.0.1-hr.xpi 470723 BLAKE2B 
bf890b611a591b118595559222821e1abdc31bf7bb66074bdfa77e8a8a16e073165152437e6ee864d22af60c26a5c002d246300548e3c3371648562bb5e0af12
 SHA512 
c368abd49b62da7c84a44d9cb5090c081ddf9cc77e059fe476878ab170402af08731523e162017e46c6f42c0499296420ace7bb9f2f78c3eaea54f35bc5025b3
+DIST thunderbird-144.0.1-hsb.xpi 519288 BLAKE2B 
92844f17034e138037fbbf24982b80b9b8bc13f8eef6aa83480b1fe43a6f5fda9bd66db65a50a874aa952b261b91b2cbd2d189b148434366d2345a39f2cd9311
 SHA512 
1659010cd1449c877b3bf9e385ca4f85a2b68d329c9ee21e1bba53ecac06eec72268f9d4da665f2b7ca2ea234213f82f26b10f7f0437ccd567c0bfd06f704851
+DIST thunderbird-144.0.1-hu.xpi 521442 BLAKE2B 
eaf11424b66e460afdcd2cb49f38f2aa429dfb7823610c26e37d49a07ae2ea3f708ce9a057dce5ee19047da0cf1b91b09174af7094956d5ea89619a4c61730c1
 SHA512 
2a3e9fe7db9cee8ea6d367176c5676a547a6f01c1d1464010042a09e8376153453b8a1bd0f409e0271e1d792ab6210dd1060268e2c1d857c537da478bae0ee7f
+DIST thunderbird-144.0.1-id.xpi 467932 BLAKE2B 
babaf9ebb34f85894debf60080f1df6806951196d0b4ba6c6a361b6322c72b737aab81af2d2986d318f78d96116ee84f146c8dc63711b768d97c90b3f13abad0
 SHA512 
e7f025940e8508098f702032401b50a1b448b901f0b020da837058e1da5e62cef5bee825089725197f93b08d4020672900ff70e3290d283cd11136f6325477f5
+DIST thunderbird-144.0.1-is.xpi 485417 BLAKE2B 
b79be04b00ff3f2cc493b971b4c3e56b6d6a02a2cf508c433d20154315f44e88c7ce516b3300c432311e82cc4696d84b416d8d0e9b2b2a2e3717ad8aa75d7a8c
 SHA512 
5cdcc799bffacf40a3cbb6fd14f8bcae39b7a5ad6c310f295c522fcfd3c4a587cc1ac28fc0f574bd741f059ff99e3729735d74a5ab3c93e23e61ffb4ea71c679
+DIST thunderbird-144.0.1-it.xpi 492603 BLAKE2B 
47f1cbf94f6a998ee7e8bc639fc4670bc44a23f3fd785c51292e0c83b4490e0da7b998cdad85f17049f41dcaa42b5e3cd1c53348284463c069ebec8ce0de5f4d
 SHA512 
a5db19ac84084abe29b2423acd15a03b840b3031e689b61c60ba4b273cc5fcbc8f0eee893495300b4f4c47be22c6afb87622dbcc231d050af0382b7fe152bcfe
+DIST thunderbird-144.0.1-ja.xpi 543511 BLAKE2B 
02bec1806e65f74aea58287939edf88554ca2b1617233aec805dbd9f712339df34abe25410821750c0c07e5d675ebc0764cf1a7f96ca4f47368a3be0cb92ff35
 SHA512 
104202c55dbfacd596e1ff953d8d8b8dc93893b55e698717c51efb9866829b829f2338dab00e46e855068de681accb5bb166bc45aafe0e13ee29678fe5eed345
+DIST thunderbird-144.0.1-ka.xpi 559509 BLAKE2B 
657bbd8ad3e3cbc2f350c9ff4c7c715047060e9816e8232fd03ecaf15261efd09eeb183374c482933ff7391b6389bfbb0734f9cd903df0dfa1ef8a039545afba
 SHA512 
a730aaf18e758706fb75aab905c3ca53626eb674a07c67f6c0095cad29d691cbe4f7309ac9c4f921ccedce89517e854e6818cfbd3ba6cdec206dd99b77c800b8
+DIST thunderbird-144.0.1-kab.xpi 471392 BLAKE2B 
08e875f7531956de1da396332efd807ea29001af620dcae118f7bc9964bd8fdddcd8b93d6600d153d970f0f9b67fb8edb63c50ebfcfed96b4a6b7bc4135a5b28
 SHA512 
fecf2e3465040d51a4e2a2f907039b595ae5bec96428376cdcfdf7f83bcc039004947fa0f03812a01fecb272137fc56351f09bd255ea7ba0b89f0b01407a1d29
+DIST thunderbird-144.0.1-kk.xpi 577609 BLAKE2B 
80fdefbb79c925965966ec9b67032b6485b041ecf30c5fca3ae9d08ef356fd91f78a33486a7c52eccd3e80372222074da21235f10d29f65c6a90806abf33f139
 SHA512 
7eeb56332a7b4facd31c12288e72b5b46254055e6cd3f72c2ac4400e786df9abd7c2ae811e7da2cef59b18179399d347442f5c68d9d7a6ea8f3bce190a22329a
+DIST thunderbird-144.0.1-ko.xpi 519211 BLAKE2B 
89010ec46a81ca18ed7d7ba580eeda28a7183b97aaa68ea374a380136983b064fb22524cd9732a1e5cf0e28646f2725746d77268088eb5a35c1c95c5e435f370
 SHA512 
152d32f4b6338aaa988698ea4368d7bcd6b3c05f94e16739e05745e90bff450192eaeb4df5833ab08b3b17c87f1611fa793d160f1d316b930f4589ae48a18cb6
+DIST thunderbird-144.0.1-lt.xpi 453901 BLAKE2B 
b6205a04a69cae0dde66cab6e03e00a436b30f733bad211de0329fa1e9b8c286c5611dd09fa755c3bd960b6b3d324ef850f2cf4289dd62f5821a2ab6e18c57bf
 SHA512 
f99db9f56d238257cfc85bba6e0df4efe866b6d5abaa39c5f853c1c25828c5a5f8f66bb14b7374e26b8c5032eacda1713138975192b37bfc6c9554aebb570b34
+DIST thunderbird-144.0.1-lv.xpi 392220 BLAKE2B 
73f242e9b6df1698e414a949f0efc30976613a55f263817e0738350b1eb1458ce2a10be8e31c503b919d433ca6b5c7d9580ad4382a905d1b14fd486d7ac7206b
 SHA512 
17dea1a2d5084d8075ba36b7453a66be74dbb336f62eadbd3b3b149a5166b5a04cd0903582b0f3ab3ad27effe420864baabb61e52dfbf64c81e37b5886d5fe0b
+DIST thunderbird-144.0.1-ms.xpi 352559 BLAKE2B 
3a617ea03db276decee3614355b21b0c74d1f68d95ce37d5d8f17250abe3c95b493b85d4136e98325f2f0d4136cb73c7d912757a0d674b3a620c4246a9017b90
 SHA512 
d13bbf8256736ecb56bc884e4f58b990620e232a6cdf75ead5412fb30ea9166b5506dc15930bdbe460698b148df745960729dda6d2503b2bb180ad94ba6e76ba
+DIST thunderbird-144.0.1-nb-NO.xpi 480219 BLAKE2B 
59631d7c4afef8cd245f43ded6dbca9ab97ff05564a406f18fc73c1bb9cb4a20859d13091f621f1397945bf06ec1a4dd9c1f29c8bdb42657a8373b4598fc8f3b
 SHA512 
c24d7d07e8860ec0230e2f06bc37cc813a645a98dff2ecb4f59def376ca94a637052b79aee2313d6f2a81fc1bcaebfa1d04969e7318397c5d75afc6b2d2e297d
+DIST thunderbird-144.0.1-nl.xpi 486177 BLAKE2B 
c7ba05c9852a774d4a6558f876c2a3eba0d34b6274c32f0f5978244e7dadbe32f2c6a3a2213c3d5f97c9d8105d51084579fb155bee1d1a325c6aac537899b591
 SHA512 
776d09d40c03a80a253cfa32d08b0c227ff4e85020948d9307f7b5de3bca43a62bfa7ce356f7c4e702b90bd890050959401dcbaa46a9b1c33bd0cd636c7343e4
+DIST thunderbird-144.0.1-nn-NO.xpi 483698 BLAKE2B 
5440fa2729e2e62cb8a2be41973b7c65ce89d80abc7a96af1fb0f38be05f54ec1f61affa7dde39c40933c41cb1118dd46bd1e29546ff67d2c3ad38459ebd6e9d
 SHA512 
6bd1bc5f8107fe6a842a74a36d8b2f60f1504bd42cb18105a6cc1a84b258addababc85dc6a30db2abe332c5a8be0956312bbb1afaf40bb3461a779f845062cb1
+DIST thunderbird-144.0.1-pa-IN.xpi 435512 BLAKE2B 
d5e55e43954ff45aa9b6d10473fc8293c34380f75294853046a9026b49fae79ce83d555dec6bf5265ca206b357dce0b2f067020530ddfb00727df4d1cde8fd31
 SHA512 
0cb1d840ae11097526a540a3e6764a859d189839081f8a6d1041c40f7ac177491ccb7c9ea913d2fca956acca2f78c9d29021cb03f8622f05c72caf43f7c1d9d2
+DIST thunderbird-144.0.1-pl.xpi 518948 BLAKE2B 
29da3e93e30546c065b3cc2bc17b369c7d0059214fc39684a169becf57732dd6a73a0472517c47dc1e7501495cd79b7377b436b3e6d65da056fec582e6edcfce
 SHA512 
48916bbbc424c681cdb33aa63465433f7258b9c43c65ff4a60b43715b61f1e5f3b4e811bc0f32600786acc67e3d3e20d553c00513cdb847d2dd34f0cdcc6d017
+DIST thunderbird-144.0.1-pt-BR.xpi 493860 BLAKE2B 
b87f45bb140e2800851a57bea1cc690017418e9393ff374c730f107405e46ceeaf2a6ee72406f2146454cac0d677d83a523704046535e7ac0d014ef17b87499c
 SHA512 
8c04f3a5096cf4e6e6713428269605c174eb4e56676a4d259bf8f7bb85d7ffa3777124a11155e11ff07e5e6264c83042906de28c3ea11b9e53690d3b74a63c65
+DIST thunderbird-144.0.1-pt-PT.xpi 488524 BLAKE2B 
adc3042285373f6ff399844bea389d5093b74bc1c34fec86f556cd973dbdc9bdcb2f9925f9c507557cc5ad7d89379a66f96affc68ba19b6b3f35fbec66d94f10
 SHA512 
cf37d4c5b2ab82fd12f4e1d7999978ee11a0120a47f15dcc752f612a5104c772c9760e072b0bafda32ea6eaa911b8012d3c8651d1f5fcd8e9ee425cc16353c3a
+DIST thunderbird-144.0.1-rm.xpi 490344 BLAKE2B 
429fc9846ecd30a817a5f3c3f565a910b2a47ed03fd21ed1012a2ac2d012d63552f125162acdebd613e89127a66f89da118ba1b04946294dc4136a388ff8c567
 SHA512 
e4167dde8921b37ce9aa27e573565531f9bd2db0e74b07259107499e4c89f72e62f7f3c2d47b324bf1e1d39b06199604a484e735c0d7b09470411cf28f59299c
+DIST thunderbird-144.0.1-ro.xpi 463390 BLAKE2B 
d338ddc26f4eefdb3fe2e93cbbc9353a566219763834aa83e01d5db1eb3de41e21d423ce1a3fa54dc781a23ad82bd9f5f573cce0ce6578266ea02b741704f94a
 SHA512 
3fa33f0d9d0ea045f3f3451b4b41287b270ba68108fc46adff9afd335d24353d0c8d75dd57bbf490c97620e35bd419be00020ec8c7b457f44501e8cf066dc342
+DIST thunderbird-144.0.1-ru.xpi 598047 BLAKE2B 
744e35ecbc4810e3aa38a66f8ad069512819ac19bcfb919e673f61f9703f5d58f1fe698358eb705eb2d375a041f5256434fba04128b337e63bc5c9e444dd5090
 SHA512 
8c178b0703c85e380de7d9a79808a505a13a8e673a56e9d47004382f7178cdddf61d3f684e2dbb5cb058ebfd000a09db1e7a3a53889a7fc2817dd9ecb23350e5
+DIST thunderbird-144.0.1-sk.xpi 523813 BLAKE2B 
c7a5d83b9751691f84ba8781af44ad55baf5b845e88710b9393c2c386eeefa5e3367a860d778dd348618901ea371e4e82fe4e50edeafe22e753b1e0eae708c3a
 SHA512 
1a1c6b59fcccab4d441cf35672b54f209d875c4b7cc379a05a87a29b07784773bd3cb16fabc2ff37b60f24673e32c7af39fb15ad5cfa037953045304340e2d4a
+DIST thunderbird-144.0.1-sl.xpi 489576 BLAKE2B 
8118fec7d6e52273b11185538f0dd2dbaeac1df944ce129e7a3e8c0e8278bbfb44d5351366203b2a478b2cecdbe49f181e52a637aa077d0865d927d077488755
 SHA512 
ece9e8df3efc6342518d2096d96fd7e3a81e3cfa37c7678c6ad95313603cd846d942b03350ca63698da7b9a01a04699b1ad5fcfdc509360415d9777f9c114ade
+DIST thunderbird-144.0.1-sq.xpi 504313 BLAKE2B 
44a9c012117291b696bb1e0a6d91ef0867e5141c1da823ba44892c7e2ec7cd21e8e5b195aab6c80c707881c1e207f0a06e3468bc39df76e46d08ae9892723c42
 SHA512 
f455165c6b3b4d91da4f34567f6fabace434d97bd1e843183ac886c95ad70972659a54bc807701415d32316b5cd403fc63f180148148a007286617457c8b4a53
+DIST thunderbird-144.0.1-sr.xpi 496266 BLAKE2B 
bea4de01e122c7eb1a4a0aebe7910f6c71b89a92c1c510fc940f0f646675cf295c55a341fd2735b60b19e59259e1605d14ccac8b516f92adcc2af06c2a67fb3f
 SHA512 
6a1ed4ca8490057ed1c5af52c6c8171575240d7c1ea4b349f894d097591de30a998fd905543ac90ed3551a8918a0d9c71077afa7ac60bdf78ecb87e83534a51b
+DIST thunderbird-144.0.1-sv-SE.xpi 488506 BLAKE2B 
3c2816bb4402de59d4014c365f09e857274bdb03a4cf09b1a7bf0629acdd193bf385cd3a69c6ee56fe20d482a2a81519e0ce7672b57645866b39a2943029ea9d
 SHA512 
aeed56cba7db1e9c07c0bcfde0057d98862c2d9385f0d2eb3ae8c7ccfd977107e2e5f898d936858f449e71fbe3e23cb0e42fca91980095fca2f1db85e596c133
+DIST thunderbird-144.0.1-th.xpi 569582 BLAKE2B 
98fc2ffc1712d76d9b181ce2963e6e6c07c48f373da6734d54bc3c4f1e2fcdcfa7add836f27c44ab39d74a86a2a0715c517a534557180468a657cae6a6668c03
 SHA512 
1317f7b2cd352cb884b884aaceaf8027fab43dcbd8d752a83d8529f0d78e5c5c95aed6c7ecd6718a097932b71c8b145a3b3e78ec81a3120ebdfb564ef53b5361
+DIST thunderbird-144.0.1-tr.xpi 499724 BLAKE2B 
dd65d898fca63d247028ca01fc1c0d85b19a4a348b89fab56a33ee5f56af1eb4f5a6a210257f0af71ebf148ed49ac599f917df9ff47fc05a6c2bd831c09fccb8
 SHA512 
e8be318715193f5e8246dd16ac24f26289bb3d3f1b867dca42b1cd9467c2b73c9789cb04755d2d928a951ae8af591b4917a55eaf8b3bd87768f67c8211b48eb9
+DIST thunderbird-144.0.1-uk.xpi 582672 BLAKE2B 
d0fd2f16fb56933abe9cc94351dc0c44a5fcdc5875d0d308488357fb870816810514d4568fe31e56877640a9610652adf509d24bb2cecb4dfa9ced8c8576e391
 SHA512 
8108f92e0c573c52d53210f54e79f7470982b1ca1e06770a9d6e2cb315a76732629954c21e72432c88d5ef1354df969fc1c58350f68b2a67f9f9c7a42b7b7911
+DIST thunderbird-144.0.1-uz.xpi 355480 BLAKE2B 
e0316cdc31a7a44447bd667214b135ff60e43464ad70ea276da749532ab88ce2521ecbd93145bbee0f9f8341aff2b69b6d9fd731caae8df19edf7881a429b368
 SHA512 
73ed894f2d6002663d9f1ef8d7c7b35a927619d8d58d0b55ab446a2dce2e8fb423b4d4d747e36a33b55e4402d78c638fa5c78726ffc80f78e41f173883463c4a
+DIST thunderbird-144.0.1-vi.xpi 522914 BLAKE2B 
2fc9a7841dcf8102c8e97800ad02d006003617e9637b56d8a0c2c6edba99646ed3f0d9529374afb74591e283eaf5a73d4c98c936ca224f0e5f7752b165067f7f
 SHA512 
3e7bb52bf2bdf6fea12713b672c9c63a0ce0c0a962bd94e6ce7ac23c353e0b5bb17f0d090897ed09b06024fb2da879244a2306d03ab34504fa652298f31705c1
+DIST thunderbird-144.0.1-zh-CN.xpi 511831 BLAKE2B 
ffea3f5cba9957586d1459b7de5627c23a61dd2c2b38f6eb1281753810098e556ed873a20366ece07ef55ec31fe8e9d346b57d0ce5d6a8e42dbdca31d5933f7b
 SHA512 
98a84ea781470d870424ffe4d8cae08b2ba1267bc5a15c2d94cd805a59cd68095e836aaa4756126fccdbf809e8c00e3b11c781773c725027d71338563b8032e1
+DIST thunderbird-144.0.1-zh-TW.xpi 515420 BLAKE2B 
7649b3fe4d56640e85d15fa367b9ac19d5e5a0ce0d9c6e8043003b51566bd391a1db677e5da1ec75345169e130275b5370fdf6930a197140fa2b1dbba628b39e
 SHA512 
ae454845e85a70a30758707c730c38313be0ed1a2d268b58ebb6083d0af6dc6b2c088fd5289c868962d76f127554e2ddc0701ea0b0778f4a388c7ea8da0aad76
+DIST thunderbird-144.0.1.source.tar.xz 774861288 BLAKE2B 
caca9857d87bfb14ca1ce8a0f6a28bde82d0af3ba9777b7b3c535f570d68cb071b7a69f37be0e246f3ed8291dce068b70e116d70ef9017b99ab4823fdca3bffe
 SHA512 
e1859ecd247260c9303a335d14f51d2b80bca7fe0125c41cf6f6bdf1331072dcef490d75fba588b37db5410ce2e7084bbe1c8f568d40c46303891ae2bfbe431c
 DIST thunderbird-144.0.source.tar.xz 762262852 BLAKE2B 
835bad05e2c4c4e04a94659c8e008002ddb9fdbef701f22677046799a45de0b71b2d9b139bc3ca728f2a19b9dd16b346876d4e144812ff1d4408dd36d6dcfe95
 SHA512 
8557262b5abe8f1445cf2f8714b2241b4a4ce007c5e81a1d4b199aafe55cdd660c88d3ad4c210b5f96b2a4a85ba3f90650f6d3adea0bc756a344079efc0e4ccc

diff --git a/mail-client/thunderbird/thunderbird-144.0.1.ebuild 
b/mail-client/thunderbird/thunderbird-144.0.1.ebuild
new file mode 100644
index 000000000000..e3d51e30d516
--- /dev/null
+++ b/mail-client/thunderbird/thunderbird-144.0.1.ebuild
@@ -0,0 +1,1155 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-144-patches-02.tar.xz"
+
+LLVM_COMPAT=( 19 20 )
+
+PYTHON_COMPAT=( python3_{11..14} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+RUST_MIN_VER="1.82.0"
+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=
+
+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 check-reqs desktop eapi9-ver 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 ~loong ~ppc64 ~x86"
+
+IUSE="+clang 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-pipewire system-png +system-webp wayland wifi +X"
+
+# Thunderbird-only USE flags.
+IUSE+=" +system-librnp"
+
+REQUIRED_USE="|| ( X wayland )
+       debug? ( !system-av1 )"
+
+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.27.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
+                       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.116
+       >=dev-libs/nspr-4.35
+       media-libs/alsa-lib
+       media-libs/fontconfig
+       media-libs/freetype
+       media-libs/mesa
+       <media-video/ffmpeg-8.0
+       sys-apps/dbus
+       sys-libs/zlib
+       virtual/freedesktop-icon-theme
+       x11-libs/cairo
+       x11-libs/gdk-pixbuf:2
+       x11-libs/libdrm
+       x11-libs/pango
+       x11-libs/pixman
+       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-76.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-pipewire? ( media-video/pipewire:= )
+       system-png? ( >=media-libs/libpng-1.6.45: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]
+                       )
+               )
+       )
+       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
+               # 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="7400M"
+               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="7400M"
+               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#915651 and bmo#1988166 on musl
+       if use elibc_glibc ; then
+               rm -v 
"${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+               rm -v 
"${WORKDIR}"/firefox-patches/*bmo-1988166-musl-remove-nonexisting-system-header-req.patch
 || die
+       fi
+
+       # Enable jpeg-xl only in Firefox.
+       rm -v "${WORKDIR}"/firefox-patches/*bgo-928126-enable-jxl.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)"
+
+       # 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 loong; then
+                       # Only the LP64D ABI of LoongArch64 is actively 
supported among
+                       # the wider Linux ecosystem, so the assumption is safe.
+                       export RUST_TARGET="loongarch64-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"
+
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/third_party/chromium/build/toolchain/get_cpu_count.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-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-install-strip \
+               --disable-legacy-profile-creation \
+               --disable-parental-controls \
+               --disable-strip \
+               --disable-tests \
+               --disable-updater \
+               --disable-valgrind \
+               --disable-wmf \
+               --enable-dbus \
+               --enable-js-shell \
+               --enable-negotiateauth \
+               --enable-new-pass-manager \
+               --enable-official-branding \
+               --enable-packed-relative-relocs \
+               --enable-release \
+               --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-gbm \
+               --with-system-libdrm \
+               --with-system-nspr \
+               --with-system-nss \
+               --with-system-pixman \
+               --with-system-zlib \
+               --with-toolchain-prefix="${CHOST}-" \
+               --with-unsigned-addon-scopes=app,system
+
+       # Set update channel
+       local update_channel=release
+       [[ -n ${MOZ_ESR} ]] && update_channel=esr
+       mozconfig_add_options_ac '' --enable-update-channel=${update_channel}
+
+       # Whitelist to allow unkeyworded arches to build with 
"--disable-rust-simd" by default.
+       if use amd64 || use arm64 || use loong ; 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 loong || use ppc64 || use riscv; then
+               mozconfig_add_options_ac '' --disable-sandbox
+       else
+               mozconfig_add_options_ac '' --enable-sandbox
+       fi
+
+       # riscv-related options, bgo#947337, bgo#947338
+       if use riscv ; then
+               mozconfig_add_options_ac 'Disable JIT for RISC-V 64' 
--disable-jit
+               mozconfig_add_options_ac 'Disable webrtc for RISC-V' 
--disable-webrtc
+       fi
+
+       if [[ -s "${S}/api-google.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 
}') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       
--with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+       else
+               einfo "Building without Google API key ..."
+       fi
+
+       if [[ -s "${S}/api-location.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 
}') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       
--with-google-location-service-api-keyfile="${S}/api-location.key"
+       else
+               einfo "Building without Location API key ..."
+       fi
+
+       if [[ -s "${S}/api-mozilla.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 
}') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+       else
+               einfo "Building without Mozilla API key ..."
+       fi
+
+       mozconfig_use_with system-av1
+       mozconfig_use_with system-harfbuzz
+       mozconfig_use_with system-harfbuzz system-graphite2
+       mozconfig_use_with system-icu
+       mozconfig_use_with system-jpeg
+       mozconfig_use_with system-libevent
+       mozconfig_use_with system-libvpx
+       mozconfig_use_with system-pipewire
+       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 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 loong || use ppc64 || use riscv ; then
+               # '--disable-elf-hack' is not recognized on loong/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
+
+       if ver_replacing -lt 136.0 ; then
+               elog "In this version of Thunderbird, upstream introduced an 
in-app notification"
+               elog "system. Setting pref 'mail.inappnotifications.enabled' to 
false and nullifying"
+               elog "'mail.inappnotifications.url' may help you avoid these 
messages, if you don't"
+               elog "wish to receive them."
+       fi
+
+       optfeature_header "Optional programs for extra features:"
+       optfeature "desktop notifications" x11-libs/libnotify
+       optfeature "encrypted chat support" net-libs/libotr
+       optfeature "fallback mouse cursor theme e.g. on WMs" 
gnome-base/gsettings-desktop-schemas
+}

Reply via email to