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
+}