summaryrefslogtreecommitdiff
path: root/mail-client
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2025-02-21 00:15:53 +0000
committerV3n3RiX <venerix@koprulu.sector>2025-02-21 00:15:53 +0000
commitdb653baf275126269bb89ea0d2bdb8e50497a94c (patch)
tree9d1ee94cfa7312384acd366d3dd8f629660b3f18 /mail-client
parent1534d50aaf24272ec425fa439389ef7e1f7bf174 (diff)
gentoo auto-resync : 21:02:2025 - 00:15:53
Diffstat (limited to 'mail-client')
-rw-r--r--mail-client/Manifest.gzbin3373 -> 3371 bytes
-rw-r--r--mail-client/thunderbird-bin/Manifest67
-rw-r--r--mail-client/thunderbird-bin/thunderbird-bin-128.7.1.ebuild274
-rw-r--r--mail-client/thunderbird/Manifest66
-rw-r--r--mail-client/thunderbird/thunderbird-128.7.1.ebuild1166
5 files changed, 1573 insertions, 0 deletions
diff --git a/mail-client/Manifest.gz b/mail-client/Manifest.gz
index 0790a699be7e..d97ecee2856b 100644
--- a/mail-client/Manifest.gz
+++ b/mail-client/Manifest.gz
Binary files differ
diff --git a/mail-client/thunderbird-bin/Manifest b/mail-client/thunderbird-bin/Manifest
index 2f3d738775b0..b5329bac4cd0 100644
--- a/mail-client/thunderbird-bin/Manifest
+++ b/mail-client/thunderbird-bin/Manifest
@@ -66,7 +66,74 @@ DIST thunderbird-128.7.0esr-uz.xpi 592620 BLAKE2B c1f41ccedddd4c025153dd1fe7e016
DIST thunderbird-128.7.0esr-vi.xpi 794035 BLAKE2B 307d9823c016a4f6d32168cf45cebd8402e70bbab61ce02602881a172ec0d5c21cc2b46985375a36ad46d01a6b85003f8295f8c122a122a2e3f84f837f24e36c SHA512 c2e30523bb15db7353d64275aa86c9398d8719abc01de566c656bd1d012371abb30bb7ab4eb45abfaf376dc309bd728884e87ef0564ec6a357153c3bc6dcfec4
DIST thunderbird-128.7.0esr-zh-CN.xpi 794062 BLAKE2B 3a7b5e1543894412d8e2aca92fc742764dd01f8101db2a9fa52edd3960e12062ae674da416c8fb17fb710786088a156c809d51668afc74bfd4b96d8f838d7d51 SHA512 51f6ff063552779304b227f62075dc0432509d7fee98f9bf854335e94df07a1818a1179813b31564eff487cf383eaf124c62ba3e745bb208e25f6fca6d9a69ea
DIST thunderbird-128.7.0esr-zh-TW.xpi 797337 BLAKE2B d2d37f1a0fd41b8254821db6f728b503ab2cbb2c2b197f4f5a9830ff01f4a12ac9a6df36e11c0250bb4cdb8d1f003204de60c82e2c40800e3066b114d8a29309 SHA512 cb0714ce99d1df345e9968ca4d99b7d80b27c7a86347d0ca897244c81d9c7b6425de5aa35889e0f3fcc41c95a88541f716a80e56c66c146ea239ad3f9ff40060
+DIST thunderbird-128.7.1esr-af.xpi 530348 BLAKE2B 7de1fe4d220eeffda02fd7861243f1bacfb26da41e275bc81fb27d5d3ff49877c98c154dcb5088d6173835771a3f675fccafc5c040b7e31320172a6ddbb0fbac SHA512 176939034339567d83ca359ba9eb6ea7975456977e17ba28d599a04907c8042251c7f017dd116e0477e85b46aef283ed6dbbf36083387cfd0936a85d54bf6a84
+DIST thunderbird-128.7.1esr-ar.xpi 686984 BLAKE2B 5bfd3acd009fbd4ebb569159b02e68c04fe104ca4387abea862cae18e3498520d385a58e6ed3f2aed9ffeb5213d710c63a4de3983f884ad9e3e9c64b7abdb65f SHA512 5f7c41266b7094d590d324599a46048cf9cc132c950fcd65a0a5b259e72ecb2392c2451fb9d9b0c28b8c7ca2b69a2b7e61b8418ed4f1ef95fc4cbb2154c99936
+DIST thunderbird-128.7.1esr-ast.xpi 561054 BLAKE2B 41b5b1f0b620eff30a2e43cfc6610a77df36a2a52f079a30acf612efbc2ad9a573c0614d51fd84804859f92a4316a8c14e3fb1bbdcfe1348054021f524fd622c SHA512 9d62476475504768bb669bcf945c51636384f4df7e2cd483ceb590ff0eb584047b0506f779a3775fec6390c0588ab3bc69b690174d57033f2d1470a9f2f85205
+DIST thunderbird-128.7.1esr-be.xpi 772989 BLAKE2B c3391708bd0d5d89eed1505294b743233903d6f731f82eb023c2727e5e370c442301ad11f6b458e1ae0484d5886cd83388a8b75b41368b16543917551a1eab3a SHA512 9bed30ce21dbc462f21a7b747d6e2095ff374c6919c1f84249ce6fe4719c78a14c4578a555c3fc42464884ff80bb2c95f4ba3bd95f8e3ec7c05beaa9669d9098
+DIST thunderbird-128.7.1esr-bg.xpi 812323 BLAKE2B b2ce5a0617056557f80b6d30b8b51e265abd97b8bd373427e1dc15119fb1153a066b30d0e1378bf4e080c0162e1bc9d3d1581648452ee7b7cf34a4c71ab1d60b SHA512 04264dd7c3f7826e152e3a2eea68333900e1884c0c33b03e9b45b042f7cf4a76bbe599d722b3d1c50230abc31c22ec5be7d913be3627587596022821ae9a0048
+DIST thunderbird-128.7.1esr-br.xpi 655127 BLAKE2B a63f486eb447a1df080d5924e0043a7cd27d47fe498cbee6ab7fc1245069974bb3d83ea30c85708db944b8524efabaff1930a39d4ed8901b7702749860ad01c4 SHA512 aeee8bdf7bb310363250243c04bfd0e37a3b30957dfc0ab1db0d34be67467c1fc7cd2c322b17f23b1aadd1febaeabc02ffc2c0f45bf0c3c7f54cee5016897ae5
+DIST thunderbird-128.7.1esr-ca.xpi 711078 BLAKE2B 21bc680b5ae49b58ca1347ef28390d8b5e1cbb8b976e5cea9f01402505baafd783aa4f2dd27c10fa4f303b32a4fe318aaba5b6aa7f8f891574207bb1211cb87a SHA512 c516154912ca300c4a098394fb82c8fbfbb57cc5aedb254c77ca1435c241286dbd1d1c54f6646b4c4f53cdadf037855889c5c7d728e541803f5de12a9614ee8e
+DIST thunderbird-128.7.1esr-cak.xpi 672195 BLAKE2B 1f4c7e10c79003c5a53b3b575924d6a9015ec41dc8b9df54006cbe31975397741c6865c6dba39a2e636e9e8f421faf73d0b450bb314b2306673170f917029964 SHA512 e332d9e51fc0e20fa5dde88035f577ced64b52989e02d4b3e952a1ad0d4dbd9a1fbb72e18ae7c3d0a245299ad58420aa0e086d075258e66383c68df9f34e65f1
+DIST thunderbird-128.7.1esr-cs.xpi 791609 BLAKE2B fbab2d5bf79ef393dd51bbc101a2263bd52a358c0f3f17f7f7478cfa5bdc8d3c084d5370cfc7a9ac9024021363da476e0f5431989b46ff6300c92605b3ea16fb SHA512 2d64a7d7a7cf669d637338e14ee097a9658d960500c964b82dd5ed4a301c5db203a030ddcf885ba5811e6db158baa05d1bc29a23279d63de7aa816fae2585da9
+DIST thunderbird-128.7.1esr-cy.xpi 756815 BLAKE2B 41740bf3994d3444824a3e2cf91e5595bc3543dbf32bc65c8014bfc6a3d74ce167d7cd5a7cb75c768a4f60024b6cdb74ef40908b3301868b950331c2d6e1c627 SHA512 71fcee17a5c3653e900b55b1ee9f5a1cf8f1b239b54ac5b51311ebf5961d782aa8ea1072e98a4f68199f48c1171918a71807d4fe4caf0841e4e8911a94b4ba18
+DIST thunderbird-128.7.1esr-da.xpi 740057 BLAKE2B e32497f38a09fd3d75bb9021e3d68265bd7543dd559cae3a524401e9926f38cc5efb1f3c17537ff4e2b5f43f2c10cc18dca9a7cb88b430eabfc06ad8ebda339a SHA512 378ce2062564d46de7264f5bbe2f6ae2693127823e7e3f21b9b337e8fbd4f184181ab8ae5480109086832abc7fb41e49bebef443cd601d637a8f4bd76c8e1e0b
+DIST thunderbird-128.7.1esr-de.xpi 772205 BLAKE2B 8f0027806a89ae3b966e8b1c77f15535dd8e027d8b9e1d34a7ae3325d4fc3d1c864b79004654941766b94b52d3c62f9a8fcbd9a7b8638e94605808a488ac26f0 SHA512 0c8cb63456cad4b56d4e3d469958a89c4685e2b0a808f11fc9df6b294e917c89ba461f943ad86c102bfa434d68721733ace2c9265e5838cd3a29719e233d1434
+DIST thunderbird-128.7.1esr-dsb.xpi 790368 BLAKE2B 47c94fb40e899740260d28b59f21571023145e8f0a4b57ba21f6fcc424b463eb3ac6d8d2b49b8b94d3b8a89bc55f2ab8b77bde06e0d688d50491dae6b931b769 SHA512 833976fe5154c412fe3a78e16f02dcbc9d11b2de12e5dbb83f0992ef97dd82cd7d1cfdaf96711b068deec998f18a7cc633d93f75ee9e9c86e1ebe0380cbefec9
+DIST thunderbird-128.7.1esr-el.xpi 895922 BLAKE2B 0162eb14d5d8cf82d49e06fab0c51f1bfaac90df746c0128621ad3b546dd55628835ec00e612db275a76526c8e518f2f0f04feb9fe6bf54bcf329c501ce3bdbc SHA512 4ae241200258dd957b857d6714a441a505e7b626473dd97e69ffc556573dac3ceeeecfadb39b9ee6d0ae68a06fcf47aebd7e3117ed2178781826fe5927f0c4e4
+DIST thunderbird-128.7.1esr-en-CA.xpi 705213 BLAKE2B c7f8321dcbd4c1a264ab71be1bcec71254ad43f0424e1aa9076792c8cc75f166940eb4fdb6f8c1dba677b6f037ab221eee0765dab7a4550d96e10a61776cc7df SHA512 c4865db2b2c8335e2babb1442cd00a1e8659c802037f2967d19155298ce3bf442ca6636965e9abf8b1573f0449d5b2bdf510b380f29915d1f2ce0f35232d0c1c
+DIST thunderbird-128.7.1esr-en-GB.xpi 709687 BLAKE2B fde466c1192ebfcb37528c9a14ee04d5b2798dc9811d567e4bb29eaac3e30bdb796590cc1b7677071dce68d77a5dc81f0e8baa07d6e3499ccca8aaa31612d656 SHA512 824ed0843d593c5500a5437c8768830f33243c0a5e9f4f4e736f2d1959776a32859d6ae73af0904037c2c1fce2005053d998a669a6fa463199dd58b79a2c6d0f
+DIST thunderbird-128.7.1esr-es-AR.xpi 765754 BLAKE2B 27f8d732459a4cb2c00793b384fe4af850795219fa93fef2b00dae18f96006db7007e0abe8b4bf6dfc4b761b305614b9a585df6853fcc659d8d217d8e29250cd SHA512 24876acd108ab7bfb422ea7169f12617c2be1310fda3dd1b3628a9295a3a9f475f41cd2327631f39f5c32c8660e820922d2612669e3dee2061f7d69404c1ba7c
+DIST thunderbird-128.7.1esr-es-ES.xpi 733783 BLAKE2B 978efc7892aa55fde07387aac5b56ee73ce7ab3e10cce706d4a8579ad6cfd9c6c54cb6e00abdbaf8933da14769fd9b9a0c179c81003b9a2eae811e7f55eecfc2 SHA512 106341ab72a79469843ee0e282088bc205aafb15b2d082603812b9f131ca3389d3dd61fd52ce3b89d360703dedd9d5d22a613954664ebd8f4d5cfdf79c4dccf8
+DIST thunderbird-128.7.1esr-es-MX.xpi 749782 BLAKE2B 828653a1d88bb2fd9c361d6e4c7beef448a9c27321d6972771d9478c2da5329fd3a2ab150f0a477e735986e891882df9e29f86d93c17bdd9a4590bb002e76b71 SHA512 75f2232fe1b1f09fefaba979d081a07b19e1f43378489c5d8cdbe95f8adf94a0c3445240fbc6eb6690bb714e473f1508aed7147f353b3e5ddffb67c6f87af841
+DIST thunderbird-128.7.1esr-et.xpi 696774 BLAKE2B e0acc92e10910fee3e7d4f113f99a7f289a588e83cdccb02bc0a00912a191251f52fd7cd56fc2c56562c5c16cb526f3a9044ce72a9612c689d879cf5c97ba3c0 SHA512 a8053c73288c0216d1852a440dc251e820b19720fdd9a66466082991eba5fd9ebd7c96935360984d2ee983004d22e41d328b76444dbb590e84de6e172d3c11c3
+DIST thunderbird-128.7.1esr-eu.xpi 740304 BLAKE2B f209715a51e4e49f598f8e5ee9df6bb739efac6a220ebf004155a7e989b7e7734f336832bd9e14685bff5107606b76df314a8cede0ccc02fe101c024eef5d376 SHA512 36185a28c0237c2b6c7b048d27ba9b1f2779ec0beee069307ed564105779a6cc1ec20e0efdef091b75e17b78f93966e62dc0025c8ffbf49cedc13996326a3e57
+DIST thunderbird-128.7.1esr-fi.xpi 738930 BLAKE2B 9ba3ca763d2174d1375d2e1eb720d52e521b66580d83c46333d722581d6b7052b66155bc9849206a43722e49967117a2c4ff01e9941d154cdc04226d6eed1174 SHA512 ab9f0ff3a71f295f0f3376ec78444627c51511bc03b5aea75ef720a7a4b8fbcb2e176b40208da05d808fca813c5ddede709c90b6af90233759ba6106d25d8c1b
+DIST thunderbird-128.7.1esr-fr.xpi 777364 BLAKE2B 2f2a0f6eae1822ecbb42a02fa38d63a1a7f6adc11be67503c3d5a25d7f7124781cf205ed3855b27a2c05e5de50c4b05c2c4cb20c565dc32db38ea61581b62b39 SHA512 9c3a82ff34575756087c4f4d89869fb503547c1725343da2ce11395a9e3cf6e232af0212772ba5f782b379392ae363892720eb9e68ac0325bed75508165fa4a1
+DIST thunderbird-128.7.1esr-fy-NL.xpi 759927 BLAKE2B 057f14aa076f2f8264f1f93cd2406d9349b70621be9a968a42b9b320f13d1f10461dbd6be0d3100399ca45c444a8a745f4687da109d0d12ac615b998408b3596 SHA512 c4bd433294d24d2d65debe2b9841450ed7426b869e6e5f84e2e8d44a8b9f7d99fef82b01c296415e9a6b534299c76b3d1c12b75b491826a6365bcf3530d0f04c
+DIST thunderbird-128.7.1esr-ga-IE.xpi 616369 BLAKE2B b68ec8abf72847b7bba23704c78a422bec8a1b933cfebeecd63a9ea3e1f37fff59ef3a5b52ed85b328e5a8f63403cce70281eb020fe8cfcbe1d5baed91cc7183 SHA512 c2a26e2138349e9473a7bc59a0c844c3115fc95e6ab08648425df7b982d198b177dda1bdd04f84227b933ccf8d90d59af246de4875a940d4d0efd7bd911ae830
+DIST thunderbird-128.7.1esr-gd.xpi 729136 BLAKE2B b64d74f325a2b87d2c22c1f74f6954cabd0e9ecd1e555ef5198fbd241e23a3016055c8b48748b251d552325cd7fd24c3dd387d0d3c574a5800eb842eada6846c SHA512 ccfac1372778f16cd9316720028e4116350f63cb5bd79c1a77aab107b1d24e1556a31029f68a68e37199b26b4f961f1e3161f4eb6712d4485c975dc3cb8cf060
+DIST thunderbird-128.7.1esr-gl.xpi 742176 BLAKE2B 1528fb92964c3f8b501f5623142c282489f82ba2f1b1ff3c2be13488c605e827b675cddc19339132c0aa4699927c0c5f4941093ab0987a99226f17e8597ca16c SHA512 2b53a7136acb7c25ed8a62e0c457ab552dc53bd8a0434baf99307a2b9588f052852474089acaaccb974c994f6b4bf69f0fcf49bd7b311401585adeebd83f4367
+DIST thunderbird-128.7.1esr-he.xpi 703447 BLAKE2B 920131317a810907e2cc732c9eed48778a54e65635a5a48a79b664b48f14c32b92a0e0c0d2a648c31ced26b0c84fcf2ece9b26bd63d66490ce37ac44f488887e SHA512 59e5593be0946e48a67c36eec4987a18a91762264b6fb4d9123ee4d59b4e859355667df2ab411f5089b2ca310699a68341e8623e9f37908847319614b79d285a
+DIST thunderbird-128.7.1esr-hr.xpi 720117 BLAKE2B b1dd3f0116504baff4e4ecbb1feb76682afe3621525d6d1435bf789c718ef37475c63b889d2492041394cbd0176cf023e29d41bf8735ef31a554f8e98480d139 SHA512 74c238c0391f590eb1e7aae2211eda48ca4a24ffad5f2e53821b895438333b4e01aef79874f10307445a05d1f1ab62c44a1f4235a2bd3fc9f0cf10d01f416879
+DIST thunderbird-128.7.1esr-hsb.xpi 787749 BLAKE2B d44b04bb275529136ccca0c9768cea7358058e4de06d465f86098a21e427bb0d64b454acffee37496abffb4a70220025e35438ea03a5d880d1b8896adc98dfb8 SHA512 a7d3aaf20ddffe6093cef2f100bcc28f6c82cf3fbb35bfc91ccb6934d7ba0e628c1316b988858df1153d8166d6606b6657ecd468ebdd82a1fead71961ec03e05
+DIST thunderbird-128.7.1esr-hu.xpi 790229 BLAKE2B e9f95eef0123eab3d8a751dd2e71ce634691970a1356d565a66f388bbfa9f3027f9d24ddd5007b78ccb9cad85521da3bb62ff2906af70495bde21bee4861a1b5 SHA512 cddfe757e3ec80e1894532dc3332a14f85d9d07301b3ba64781144b0041ab6acbfeccfc7f46a915dd125946575cf7d670fb763366d9511e279def30c2baa3d3b
+DIST thunderbird-128.7.1esr-id.xpi 710326 BLAKE2B 3f59600ed68d86b01317d4d3e86fb024f4e1d580636fa3433ef98fb265e50178912c98ebf8410c8ff5dc036ae7b5216250395bb54539ac756efc2f0b82f3f66f SHA512 d9c4690b0033a8cab3441f265920aec95d8b2f01273e5f091115f0916d5a4d01da1212f4bcd1fbdbb0c63811d35467f8ddd153ee56534c97b294ae3fc9cd7102
+DIST thunderbird-128.7.1esr-is.xpi 751186 BLAKE2B 5f5da4b1df8be97f11e29e286f84db4970aac55921ab48eed6dab7235980471e62167a545785072ded18d0a50f00b53dc702920258e2144665668490dd3a1185 SHA512 747bf61aecf39ddebf6aded37173a4e747c770de88b159be6fc07ce4bd90a4024c08340a45181e9fda99ec67dbafe923ed8915b2c59bc646dabe54a951c4042e
+DIST thunderbird-128.7.1esr-it.xpi 697094 BLAKE2B c44fa72c16571ec37072f8d6be7e4e2c14c97ea3e24fdcbab87917885d726066cfec583079e4b28dce430fc454323b6d7253858e3d398a7fa6dd247fc1202492 SHA512 9af8a1c7b872b7bf947cccbce2aac2f6919b93d9c8b95a76769005b0ca853724118d24c27b5e7842a00b6abcf10e3e1d87af385666988d69421906e81891a9f8
+DIST thunderbird-128.7.1esr-ja.xpi 817723 BLAKE2B 80d3f54623febd9d5f370315f59a82db838f896e1c626a2d0713ee1ee7ccc0caf2746831cccf613194ab8a03f699a785bc06e39b50c9db2a3fbe5b87e7343058 SHA512 9df76163982fecb7b266990ccbd3ec327dbf4c9ff1bae492796178a5d4fd016a88c6343126bbac2578b200ec5b74e7adf27cac6318491ac8ede4e2df9692f113
+DIST thunderbird-128.7.1esr-ka.xpi 796711 BLAKE2B 31c0d777ffeadaf77817e51eb010db2c2802f5ae2c0d4351502d0353c1ffbf896fa99fe92d68e8191ff1abd4fd03bd134878f351002a8f58388fc343e6f5598e SHA512 2dc5a00d270b5423cf108cf40ecf6d5a76841f292d3b7557f35770966f681476cc1f89f44025b1391793ec865d4cc5a424b4c3f23fe4efd0705ef06647c6fbbc
+DIST thunderbird-128.7.1esr-kab.xpi 735475 BLAKE2B 489e8b2ebc298c98bfa5852cf2439764fb5f8f218a11a29569dd01c66785a7804c8e91cf392f5e53f807bb67c532ac9da821f25cbcf1d7401917e04388d81ead SHA512 836e898da3ad131fda13d1e8187045033658db87b5ec042af2379503e24b847f3bc61e54556f030e3b77f8b8966357711e6237fc17ed8d54936cbaf29e137097
+DIST thunderbird-128.7.1esr-kk.xpi 865511 BLAKE2B bb3fb43ef5df2512376f572e4c1e3dc523ae4f6840c5d33a29d2f01e5a2803c28edb36ab194f17315d74a74675e1f96335083e235356541863aa4bdeb2c4750e SHA512 424f23075a19b366a93dfaab8746a0562ab54f343468d91cf37823fd179721f20e9226d3982d7cde6bcf3ea7c643122eb1a979756b7a6b374fcb304fdf98ee3a
+DIST thunderbird-128.7.1esr-ko.xpi 762641 BLAKE2B ef2149e038248575473a9c2ca7babc4b42e2af538ed195b583b1bb85ce06e96dfa6d09b1054d8cd977cdd9eb94a394e167ddba995166adc6999572e050a2c523 SHA512 6a38e8d266eb7d1ccd6cc4d1789cebf1fd45235ebef1de6b40847b169c05be34c8fea7ee268ed216ec8ddbc5855af8359377fa38435088f45017255802013ea3
+DIST thunderbird-128.7.1esr-lt.xpi 701408 BLAKE2B 1777f7b794293cd3f2365b0a40141ae0c9341b0744bd0b97e96a2080a6ecfaa929fcbf60899f79d3ee7594db0601263aee4c1df2332838b21959bca9d94db791 SHA512 55c4435af9f636b12a765cdd2eca637c5ed9c79f01e1cf744fb59ad85d6d7fd18c576add0904a53ba86ec8276540f091e5f0c5a1912f0daaed1220669b8af1c8
+DIST thunderbird-128.7.1esr-lv.xpi 625981 BLAKE2B cd0c21fe5e57e10068c36a93559e7fa7e3b9f8f3472db02390ae53e76f2e5778ca9b0e54330d81602317ba403ff1cb8e4735eff78219a011fbe81dc0464efe5e SHA512 e2b0933e2353b66f947e9b4ac7d33baf8ab859f126e566f85689492c942cc07a2b21fe2b86825ac42ba5fc17e83d0e9a2801fd54ada934b9457281eeb9eaa576
+DIST thunderbird-128.7.1esr-ms.xpi 581573 BLAKE2B 8db0f38b0f4d67c44ff79fbb08d16fd6aeb18d29fbc32d662115e7a0f054093dbb8d6b4b1b73c1b44ff7fa6a77d1349fb63801bda721463149e87d6c05596220 SHA512 ab222488d0972f0ef2b9d0616c84d372b632ee76794af462c8f158f095560019f36fcc49dd5a7bce41ffc3632583731823a01586f3e94f90da40390a3eb828e3
+DIST thunderbird-128.7.1esr-nb-NO.xpi 708560 BLAKE2B 9538b6ab1c8ea01870213e8fae161a2310d3a24d7cd0b824ea4c0580c70c6350de729e41133c5f4a7a5a5350fd1b005227fc9884cf90d2e787b6dded314d74af SHA512 f4d791b700a2edf6de3000e082b739344c2ef044517aa6f701c976f4efca1599a2193289acaad3de650061dbee2797e1ba6f583d50bb983ff7ebb9c6b629e0c5
+DIST thunderbird-128.7.1esr-nl.xpi 751614 BLAKE2B 039b09e6bb9e6e1f037acb7c68cf302ef44026a3d194d089c26cc3193ea385446c3f8e27ccc398d815f390c25816904a136bce11a68873c86af8cc70d1fd857d SHA512 2838e16f0266f8c0c3315f65a8a5f70031d7abc71d9bd3037b5ec43948a95f8454caa64e1f2d80d4f552ea266f1e44b291ff498f3aed534151ec72c1a7d38806
+DIST thunderbird-128.7.1esr-nn-NO.xpi 729657 BLAKE2B d6556c3f083198869a96633d5f778d9b16f6380ed4d8694ab7ec0c29f9cfbe4ae41524f6314e5779f4b98f4697357a4d65ae624066708deeccb2755a1baf21ba SHA512 0ef5ce4173b7c9adb25174aa2de5e4994085415e890d6ba54f582f3eabd5cba4dadf8d3ce50850eaac0370596746fd14c422dac2f2b44a1a4be440a10894f139
+DIST thunderbird-128.7.1esr-pa-IN.xpi 688137 BLAKE2B 4a73c2bd880722f988480d90142089f00bb5a3f76c1fe999ab8641dc4c84e60652dc465ebab02a785b25b447c3d197e7852dcab7466470791b2916e0c95390a9 SHA512 bb3a0e0c5893912095738bdb31c4e25eea70d2bfea8cb01b997a7ba432d43ad7ceed719dc97c057f239269475d3c65152cfcfcdfcf180b1b0ed308edcd52b2b0
+DIST thunderbird-128.7.1esr-pl.xpi 770777 BLAKE2B e0f38b25d2dc8d5a01ceed7232fdefc3fe0338188ccd2ac3f928d7f34f576ff9607a0cb25abdfbc2f9d919a01cbf2acc0f53f62373a77d7df8e67a92e075cb25 SHA512 fbefae4da1492db70f00b07880d25b84e6be1942ae6b3d536972ec02558e31ab232d88ca53a12397f51780969dbe3a0195a50f99975918e3738fcac1893fdae5
+DIST thunderbird-128.7.1esr-pt-BR.xpi 758844 BLAKE2B 341257d0fdf36f2beb879d80708d2326bb20ff8d4388e47c8d3d3a781fdf09796492326c7acc75edc0d1a2285950f6976649ed0e476bd4529c5ecfd3a79356d9 SHA512 f24cea5b7db95e1e6b3eaec2a7c1122be43c855ddd50ec609c534d93f3f672443d494ca64403c83c8d6b63d19819684d90c8893cba4a5c7eb8fd96f4ccb93092
+DIST thunderbird-128.7.1esr-pt-PT.xpi 752024 BLAKE2B af40f482261795d7693c2f6b98b55769cb6ed0e27b325c00f34de19e3a172b616b8173acc79a0d49c8222090851cffba567f6ee0353245538fe76f86fcf4d208 SHA512 3461aa5f095029c1d6eadd37779f481e2db99e1ba303c1fa11ddea65d9fd7107f9431e1c28b0f2fd198e2fd17214ab0fc3ddf9806f92fc1dd41d03827b3c41a4
+DIST thunderbird-128.7.1esr-rm.xpi 754443 BLAKE2B 11d1d39cf01228bd683f2c0187b20477d3fd497e2e29a7e643c2ae763a4d3d8bcfe1b670d625c0896b2622e95464eddc803410fa03d0fba5c8a4880d51085b39 SHA512 3b7ad3f0a2d455b0c49d7cc5104ca6cac53703961bb9d8fbdeb73eb0bfe8ef8f58fd5505ed179b89b3af371d8eb56cb881193bf754f35a04f9f8f2694ead91d2
+DIST thunderbird-128.7.1esr-ro.xpi 670228 BLAKE2B 00d8b0be636df2c13f5242fec1ffd9e4b29b3964a59aca9a0a841b945a53c6a37a9990100081cd9d07a8b6640e3d9273021579b9798c3fb92dc15ada910daf53 SHA512 2e62ebcf24ad216591b33f8fd4cff09b0c6406ddea2f955dc3e80e9c72a32cb64a448fd0220f48867ad1105a30153daa6c1cb29084fd7bec082a8101a86dafe8
+DIST thunderbird-128.7.1esr-ru.xpi 880796 BLAKE2B 8832b30f58d8303718ceb2149c213a3e482757220e451af012b3086494632e97f85498b96de6b1970e2f2d1f60dda9880bd1e0234682ec071e1a2fd49d5983da SHA512 5ddd148f8e66a44d260af15b0fba42e6d41a44eb652778905cb94408ff391f0b9fc242ff3d1c7d24a5fd55ce818b364b304dff549aa8b18e52977a9179bb4622
+DIST thunderbird-128.7.1esr-sk.xpi 792219 BLAKE2B 34f5500ab3aea02e7b431f91ba07544ce889c5703721e978275439b869c458fe061764081fba2e7107d4d9fe923dcb2158fdb72dc905fc216c933e655d5a2174 SHA512 796fdd7a788300e168e3505663d781f2df9491b08f1a8f1bdd2f2379c8763b422f074d96a5e1be2278cf4efb4ab3fcb430d9494712711c4282f800d8189f6302
+DIST thunderbird-128.7.1esr-sl.xpi 751649 BLAKE2B 6ad90029e0d5a5912aad40bacd17648b1ebf9c792f6b823eb17d1fc3af0a64ef34bcd9926c2f103dc9c7e407feb4df6eb14671962ff7184a8913d8cf5fc10a76 SHA512 f5eab4798dca4c965a5bc2f2f0010ca720fe61ab7a8f8a1376de7325c67d7855ccde56c360bbdcd4e2f7726177b90abd093ddcd693818ceeb8a6286ec66dba8e
+DIST thunderbird-128.7.1esr-sq.xpi 774995 BLAKE2B a6130bb7d4940839390db0d90b11cbb8daa15efc216a67d50cb15801b63d71b06229251a4a40f8ebe8803f0902789307dcbda65c1fc863fd4dec16265b8ecc6b SHA512 28d615a373ec7ca3f6f8bc2090d15b0d91586f302b93bf91fb5787ad8360582a24ac1ad7ac3ee21b4a391750cc16909e98444810a67724062f42b6263432242c
+DIST thunderbird-128.7.1esr-sr.xpi 771752 BLAKE2B 1f1e7090127800bed154c224690a7a2f7ac0409147fd4795f52dfa86cca56762630abc7764792ee83559c1966a4799816a7269d132398a3f49f5e0fa9b164e81 SHA512 67eb57bafeb29b4a8624c18cbd8106c8efffba1f880e5aa3e33d6eaf151039cc168c99392adda35e8c48e624a242d38d8dc391c0963ec9a6ea89d931e386204f
+DIST thunderbird-128.7.1esr-sv-SE.xpi 754938 BLAKE2B 476e1650290127efa67984383850bf385b92b8cac2b3fa72153eee1b1daffab02d18f19efdfa5aceb726bb2a95ff93dafe008e49ff9e0d1fe17489ec17185be5 SHA512 3ad9663f8c41d74c37c1c9777460199a56359982bc7d4b3d41393095ed54f7e5151c771d54bafb5d4cc5689e0e272fc8f3e7f0b31ad73266e2376bce36890e99
+DIST thunderbird-128.7.1esr-th.xpi 819691 BLAKE2B fb958b46a45bcb852c62975a9f6ad6a97b97d35956f8336583c9e2806cb63295c58093c4bbc6218080b511c1a455cb37d9bad5a7be8a374005613a3c2217e325 SHA512 19dcd1163e0330b275d6488b08790a93e42fee577bd34a69e65bd8c616f9014c6b43f0244e818f0a0c135cbd0fde4d019e2b8471197c5c074028b1963284a1e3
+DIST thunderbird-128.7.1esr-tr.xpi 765548 BLAKE2B ebbf61f1da4f2b6d0ac2aeff754ea2a95fc93569c13d6eae438c716ac2c6bd4df3dab146fa9bc62d15eefd3e0519a831c478bd12213cc20ce195eb2aba4cf53c SHA512 c9bb56c7aa992e53978f3110bae8d4c5bdbbeb538f3d37036faca629c89122db892784fcee05cfe8c8abf79b704b6e3179c40fac9a662e9c97aac8661f72d15c
+DIST thunderbird-128.7.1esr-uk.xpi 871377 BLAKE2B 9c4d5fe6981ecfc0658525750d7008a5420fabade38b852d2ebe3b33805e985e4f8dc7357e281a86737d5170e0b94627e5bc567bde5d6374c5625abbd2b9f3c0 SHA512 7726a4163d5e91bed873a935af51305852b82a6684e4f92f1e42ea44dc448e3e8c1348fb777dfcb94e010ef34a24ca515a616dc081d5b165b9c285642e194107
+DIST thunderbird-128.7.1esr-uz.xpi 592619 BLAKE2B 8f8dbb9325576ab7ad4c2734490e33e73b0c5d2a97b24782c4d24a6035ade7e4ee38ff8b36453ac9c299a7655d84d5e8beb6a328107c7662a81467a86798dbe8 SHA512 ec24b2d8826b3183cb97c429bec17c2f26476a1f1af478835759e79af0cc857817d9c2c0ef0f716bf146387681ed211342744d9ad74b3a908ef7b567cdc24ac5
+DIST thunderbird-128.7.1esr-vi.xpi 794033 BLAKE2B 94d10d0287650d3864dbb82a162e2c01ae69cc83d1cb096cf6a9d104ba84919c9607022fc8b2def3a9941dc5752f9aa15970ecc939a2a5df800d54f8c9f6711f SHA512 9dc272336ce7693daac787c90e4f8feb7e12d2905e7366e348118c89b2b9e58c58e2c5d239764f2ea6769d9c22163364ba236ad3246e8235586cd5a59f7833db
+DIST thunderbird-128.7.1esr-zh-CN.xpi 794062 BLAKE2B 5b93207a294c70d9e6305ace560209e318f3ae353649003a7feed1d62621a78a268d68452544e381176538ab0d1aa6e8dfb1dd98bc210154a91ef5f3b2b33649 SHA512 f75913eac9ca58ab3a81ab1a28d84557776506493e842644cb272ffbda3599a380c89fa4c867a6d9b256344814a3d3bcaf3caf629d0e6d07d74b13301555ea6c
+DIST thunderbird-128.7.1esr-zh-TW.xpi 797334 BLAKE2B bec51940d11ac011fb0c6d6a063ce0a97685d90b5dbf56611476f615282f6db7880009ff60122f35bb56d09f5f2a7d87c4d7ce05eb821d58ff479b3608d27fe6 SHA512 f2697c244fdb85ebdfcec4f2589d1611e0aa3e88f7d3f3b250913782a4d996eedc7bef09dad4eca7cd6dad0f45b5a0faea5694aae2499ade0674ce8ce70d8873
DIST thunderbird-bin_i686-128.7.0.tar.bz2 89752273 BLAKE2B 75d0aa424159f5288e4c5ae44580a27147fa7691d97aba3bbd221e66509bb53f4c1d3e5ac91a54a506bfe4b750ee652a205c8b350f6a846082c736c581a52a6d SHA512 42e654fceedf9b94ca05a7281fcee077f76d4ae97f7457eac6740352bd6a7765fc6a7bdeda2086adfc4de689590d86e6e3e4ad2abf092f35be100bb6bd8b6d90
+DIST thunderbird-bin_i686-128.7.1.tar.bz2 89770156 BLAKE2B c448499b9bbb1506868d12074855cc4b624918e5cb9288a77bd83a18272eaa6d7ce37a2a96cbee75c76b7e6bfd22d5e70ab629d49e501ff2241ffe7ef592ba92 SHA512 596c9a129d1acf577a2bae077f8ef877be997a3e463c12b97e19e9b128a8cce8035b3da7b923337d39ea478e57c01a33b49467aac5a50c645d5d3e1587983c27
DIST thunderbird-bin_x86_64-128.7.0.tar.bz2 87403553 BLAKE2B 296e45c6d0c4107c7d1a6777b85ccf0e654244c74b5e70c243c3f7608f09ffe5f97999df6a6927ca5b63e7145fed89f8a0dda521cd8ce77765ef77ce2325d051 SHA512 269afc658e893f4b5150efb8fd753f72c415665c79d3db9e233d200894e67585f9648ef4a5f3a87d100cd1eb6ff265b577ffa51212f2e538ed8c81038622dfde
+DIST thunderbird-bin_x86_64-128.7.1.tar.bz2 87338028 BLAKE2B 907dfe4e67b785aa2c65046efffa274219a5c37c16f621098ffae7214f27e784b762378dcf8d76f4144c92eb5803d299a652f2ebe5966adc354d6b9c47fe8425 SHA512 517d38f312d90f20d9173224730c27e8a70cb0d3adca33de4a4cf40c085ff5509dbf38b4c47ae919534f3eb94610b0884b27443be58e432b4e559443ba8a39d7
EBUILD thunderbird-bin-128.7.0.ebuild 7600 BLAKE2B 66d7765273f377128cc665da37dc1433664d350a6e0eca7789c4b766927de41b6b76f735ed2a859d39cd45774b84003f3397a38693c0acb84d6cf25e61dcc0e7 SHA512 853b97c2cc024703b7b9c176022b468c989f2791c44fb1329364eefb004474a1190d8143970f8dcac6c12e7b95eaeccddfda7278dc95580c13afc396903b7d73
+EBUILD thunderbird-bin-128.7.1.ebuild 7600 BLAKE2B 66d7765273f377128cc665da37dc1433664d350a6e0eca7789c4b766927de41b6b76f735ed2a859d39cd45774b84003f3397a38693c0acb84d6cf25e61dcc0e7 SHA512 853b97c2cc024703b7b9c176022b468c989f2791c44fb1329364eefb004474a1190d8143970f8dcac6c12e7b95eaeccddfda7278dc95580c13afc396903b7d73
MISC metadata.xml 255 BLAKE2B f54493c82293ca95a1ffd16d6199055650b0aaa18234716339235bab3f14a87327cb04fac6b543f973b3fef8047412e54edf72bf0b8a9424f4aa1d2eb0feec30 SHA512 28c0ab3671ed2c65cd9694181f7f9c4a8bea53dee0a0a06f0d9086166317a87611017b105d5150167597c45a7dd8921182fd6bf9d1b3fc7408c0e94f36189e33
diff --git a/mail-client/thunderbird-bin/thunderbird-bin-128.7.1.ebuild b/mail-client/thunderbird-bin/thunderbird-bin-128.7.1.ebuild
new file mode 100644
index 000000000000..d4d0d9c94582
--- /dev/null
+++ b/mail-client/thunderbird-bin/thunderbird-bin-128.7.1.ebuild
@@ -0,0 +1,274 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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 desktop optfeature pax-utils xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}esr"
+
+SRC_URI="amd64? ( ${MOZ_SRC_BASE_URI}/linux-x86_64/en-US/${MOZ_P}esr.tar.bz2 -> ${PN}_x86_64-${PV}.tar.bz2 )
+ x86? ( ${MOZ_SRC_BASE_URI}/linux-i686/en-US/${MOZ_P}esr.tar.bz2 -> ${PN}_i686-${PV}.tar.bz2 )"
+
+DESCRIPTION="Thunderbird Mail Client"
+HOMEPAGE="https://www.thunderbird.net/"
+
+KEYWORDS="-* amd64 ~x86"
+SLOT="0/$(ver_cut 1)"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+IUSE="selinux wayland"
+
+RESTRICT="strip"
+
+BDEPEND="app-arch/unzip"
+RDEPEND="${DEPEND}
+ || (
+ media-libs/libpulse
+ media-sound/apulse
+ )
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ >=dev-libs/glib-2.26:2
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ >=media-libs/freetype-2.4.10
+ sys-apps/dbus
+ virtual/freedesktop-icon-theme
+ >=x11-libs/cairo-1.10[X]
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/gtk+-3.11:3[X,wayland?]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libxcb
+ >=x11-libs/pango-1.22.0
+ selinux? ( sec-policy/selinux-thunderbird )
+"
+
+QA_PREBUILT="opt/${MOZ_PN}/*"
+
+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}esr-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+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
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ mkdir "${S}" || die
+
+ 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
+ MY_SRC_FILE=${_src_file}
+ fi
+ done
+}
+
+src_install() {
+ # Set MOZILLA_FIVE_HOME
+ local MOZILLA_FIVE_HOME="/opt/${MOZ_PN}"
+
+ dodir /opt
+ pushd "${ED}"/opt &>/dev/null || die
+ unpack "${MY_SRC_FILE}"
+ popd &>/dev/null || die
+
+ pax-mark m \
+ "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN} \
+ "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN}-bin
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ 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"
+
+ # 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="${ED}/${MOZILLA_FIVE_HOME}/chrome/icons/default"
+
+ 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^} (bin)"
+ local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop"
+ local desktop_filename="${PN}.desktop"
+ local exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ # Add apulse support through our wrapper shell launcher, patchelf-method broken since 119.0.
+ # See bgo#916230, bgo#941873
+ local apulselib=
+ if has_version -r media-sound/apulse[-sdk] ; then
+ apulselib="${EPREFIX}/usr/$(get_libdir)/apulse"
+ ewarn "media-sound/apulse with -sdk use flag detected!"
+ ewarn "Thunderbird-bin will be installed with a wrapper, that attempts to load"
+ ewarn "apulse instead of pipewire/pulseadio. This may lead to sound issues."
+ ewarn "Please either enable sdk use flag for apulse, or remove apulse"
+ ewarn "completely and re-install thunderbird-bin to utilize pipewire/pulseaudio instead."
+ fi
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" \
+ || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+
+ # Install wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+ # Update wrapper
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@MOZ_FIVE_HOME@:${EPREFIX}${MOZILLA_FIVE_HOME}:" \
+ -e "s:@APULSELIB_DIR@:${apulselib}:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" \
+ || die
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ optfeature_header "Optional programs for extra features:"
+ optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas
+ optfeature "ffmpeg-based audio/video codec support, required for HTML5 video rendering" media-video/ffmpeg
+ optfeature "encrypted chat support" net-libs/libotr
+ optfeature "desktop notifications" x11-libs/libnotify
+}
diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest
index 675616add76b..eebf5c271a8c 100644
--- a/mail-client/thunderbird/Manifest
+++ b/mail-client/thunderbird/Manifest
@@ -70,5 +70,71 @@ DIST thunderbird-128.7.0esr-vi.xpi 794035 BLAKE2B 307d9823c016a4f6d32168cf45cebd
DIST thunderbird-128.7.0esr-zh-CN.xpi 794062 BLAKE2B 3a7b5e1543894412d8e2aca92fc742764dd01f8101db2a9fa52edd3960e12062ae674da416c8fb17fb710786088a156c809d51668afc74bfd4b96d8f838d7d51 SHA512 51f6ff063552779304b227f62075dc0432509d7fee98f9bf854335e94df07a1818a1179813b31564eff487cf383eaf124c62ba3e745bb208e25f6fca6d9a69ea
DIST thunderbird-128.7.0esr-zh-TW.xpi 797337 BLAKE2B d2d37f1a0fd41b8254821db6f728b503ab2cbb2c2b197f4f5a9830ff01f4a12ac9a6df36e11c0250bb4cdb8d1f003204de60c82e2c40800e3066b114d8a29309 SHA512 cb0714ce99d1df345e9968ca4d99b7d80b27c7a86347d0ca897244c81d9c7b6425de5aa35889e0f3fcc41c95a88541f716a80e56c66c146ea239ad3f9ff40060
DIST thunderbird-128.7.0esr.source.tar.xz 674370672 BLAKE2B c857f6a703205492c1fcb1f7d4ecec24507847c54e6e0cbfe546289ebfa4b53d9eb37a9e6f2738fcb8125ec18142c18b8af344a13142e6cfb378819379a2da2f SHA512 13c09644183a10bdaf9a7f7691063cda571bdc8dcdd3882f72dd3b176372ce42fb83fe510270018c467027e9b3af3b01bacf199534878781251a0fe668606f0b
+DIST thunderbird-128.7.1esr-af.xpi 530348 BLAKE2B 7de1fe4d220eeffda02fd7861243f1bacfb26da41e275bc81fb27d5d3ff49877c98c154dcb5088d6173835771a3f675fccafc5c040b7e31320172a6ddbb0fbac SHA512 176939034339567d83ca359ba9eb6ea7975456977e17ba28d599a04907c8042251c7f017dd116e0477e85b46aef283ed6dbbf36083387cfd0936a85d54bf6a84
+DIST thunderbird-128.7.1esr-ar.xpi 686984 BLAKE2B 5bfd3acd009fbd4ebb569159b02e68c04fe104ca4387abea862cae18e3498520d385a58e6ed3f2aed9ffeb5213d710c63a4de3983f884ad9e3e9c64b7abdb65f SHA512 5f7c41266b7094d590d324599a46048cf9cc132c950fcd65a0a5b259e72ecb2392c2451fb9d9b0c28b8c7ca2b69a2b7e61b8418ed4f1ef95fc4cbb2154c99936
+DIST thunderbird-128.7.1esr-ast.xpi 561054 BLAKE2B 41b5b1f0b620eff30a2e43cfc6610a77df36a2a52f079a30acf612efbc2ad9a573c0614d51fd84804859f92a4316a8c14e3fb1bbdcfe1348054021f524fd622c SHA512 9d62476475504768bb669bcf945c51636384f4df7e2cd483ceb590ff0eb584047b0506f779a3775fec6390c0588ab3bc69b690174d57033f2d1470a9f2f85205
+DIST thunderbird-128.7.1esr-be.xpi 772989 BLAKE2B c3391708bd0d5d89eed1505294b743233903d6f731f82eb023c2727e5e370c442301ad11f6b458e1ae0484d5886cd83388a8b75b41368b16543917551a1eab3a SHA512 9bed30ce21dbc462f21a7b747d6e2095ff374c6919c1f84249ce6fe4719c78a14c4578a555c3fc42464884ff80bb2c95f4ba3bd95f8e3ec7c05beaa9669d9098
+DIST thunderbird-128.7.1esr-bg.xpi 812323 BLAKE2B b2ce5a0617056557f80b6d30b8b51e265abd97b8bd373427e1dc15119fb1153a066b30d0e1378bf4e080c0162e1bc9d3d1581648452ee7b7cf34a4c71ab1d60b SHA512 04264dd7c3f7826e152e3a2eea68333900e1884c0c33b03e9b45b042f7cf4a76bbe599d722b3d1c50230abc31c22ec5be7d913be3627587596022821ae9a0048
+DIST thunderbird-128.7.1esr-br.xpi 655127 BLAKE2B a63f486eb447a1df080d5924e0043a7cd27d47fe498cbee6ab7fc1245069974bb3d83ea30c85708db944b8524efabaff1930a39d4ed8901b7702749860ad01c4 SHA512 aeee8bdf7bb310363250243c04bfd0e37a3b30957dfc0ab1db0d34be67467c1fc7cd2c322b17f23b1aadd1febaeabc02ffc2c0f45bf0c3c7f54cee5016897ae5
+DIST thunderbird-128.7.1esr-ca.xpi 711078 BLAKE2B 21bc680b5ae49b58ca1347ef28390d8b5e1cbb8b976e5cea9f01402505baafd783aa4f2dd27c10fa4f303b32a4fe318aaba5b6aa7f8f891574207bb1211cb87a SHA512 c516154912ca300c4a098394fb82c8fbfbb57cc5aedb254c77ca1435c241286dbd1d1c54f6646b4c4f53cdadf037855889c5c7d728e541803f5de12a9614ee8e
+DIST thunderbird-128.7.1esr-cak.xpi 672195 BLAKE2B 1f4c7e10c79003c5a53b3b575924d6a9015ec41dc8b9df54006cbe31975397741c6865c6dba39a2e636e9e8f421faf73d0b450bb314b2306673170f917029964 SHA512 e332d9e51fc0e20fa5dde88035f577ced64b52989e02d4b3e952a1ad0d4dbd9a1fbb72e18ae7c3d0a245299ad58420aa0e086d075258e66383c68df9f34e65f1
+DIST thunderbird-128.7.1esr-cs.xpi 791609 BLAKE2B fbab2d5bf79ef393dd51bbc101a2263bd52a358c0f3f17f7f7478cfa5bdc8d3c084d5370cfc7a9ac9024021363da476e0f5431989b46ff6300c92605b3ea16fb SHA512 2d64a7d7a7cf669d637338e14ee097a9658d960500c964b82dd5ed4a301c5db203a030ddcf885ba5811e6db158baa05d1bc29a23279d63de7aa816fae2585da9
+DIST thunderbird-128.7.1esr-cy.xpi 756815 BLAKE2B 41740bf3994d3444824a3e2cf91e5595bc3543dbf32bc65c8014bfc6a3d74ce167d7cd5a7cb75c768a4f60024b6cdb74ef40908b3301868b950331c2d6e1c627 SHA512 71fcee17a5c3653e900b55b1ee9f5a1cf8f1b239b54ac5b51311ebf5961d782aa8ea1072e98a4f68199f48c1171918a71807d4fe4caf0841e4e8911a94b4ba18
+DIST thunderbird-128.7.1esr-da.xpi 740057 BLAKE2B e32497f38a09fd3d75bb9021e3d68265bd7543dd559cae3a524401e9926f38cc5efb1f3c17537ff4e2b5f43f2c10cc18dca9a7cb88b430eabfc06ad8ebda339a SHA512 378ce2062564d46de7264f5bbe2f6ae2693127823e7e3f21b9b337e8fbd4f184181ab8ae5480109086832abc7fb41e49bebef443cd601d637a8f4bd76c8e1e0b
+DIST thunderbird-128.7.1esr-de.xpi 772205 BLAKE2B 8f0027806a89ae3b966e8b1c77f15535dd8e027d8b9e1d34a7ae3325d4fc3d1c864b79004654941766b94b52d3c62f9a8fcbd9a7b8638e94605808a488ac26f0 SHA512 0c8cb63456cad4b56d4e3d469958a89c4685e2b0a808f11fc9df6b294e917c89ba461f943ad86c102bfa434d68721733ace2c9265e5838cd3a29719e233d1434
+DIST thunderbird-128.7.1esr-dsb.xpi 790368 BLAKE2B 47c94fb40e899740260d28b59f21571023145e8f0a4b57ba21f6fcc424b463eb3ac6d8d2b49b8b94d3b8a89bc55f2ab8b77bde06e0d688d50491dae6b931b769 SHA512 833976fe5154c412fe3a78e16f02dcbc9d11b2de12e5dbb83f0992ef97dd82cd7d1cfdaf96711b068deec998f18a7cc633d93f75ee9e9c86e1ebe0380cbefec9
+DIST thunderbird-128.7.1esr-el.xpi 895922 BLAKE2B 0162eb14d5d8cf82d49e06fab0c51f1bfaac90df746c0128621ad3b546dd55628835ec00e612db275a76526c8e518f2f0f04feb9fe6bf54bcf329c501ce3bdbc SHA512 4ae241200258dd957b857d6714a441a505e7b626473dd97e69ffc556573dac3ceeeecfadb39b9ee6d0ae68a06fcf47aebd7e3117ed2178781826fe5927f0c4e4
+DIST thunderbird-128.7.1esr-en-CA.xpi 705213 BLAKE2B c7f8321dcbd4c1a264ab71be1bcec71254ad43f0424e1aa9076792c8cc75f166940eb4fdb6f8c1dba677b6f037ab221eee0765dab7a4550d96e10a61776cc7df SHA512 c4865db2b2c8335e2babb1442cd00a1e8659c802037f2967d19155298ce3bf442ca6636965e9abf8b1573f0449d5b2bdf510b380f29915d1f2ce0f35232d0c1c
+DIST thunderbird-128.7.1esr-en-GB.xpi 709687 BLAKE2B fde466c1192ebfcb37528c9a14ee04d5b2798dc9811d567e4bb29eaac3e30bdb796590cc1b7677071dce68d77a5dc81f0e8baa07d6e3499ccca8aaa31612d656 SHA512 824ed0843d593c5500a5437c8768830f33243c0a5e9f4f4e736f2d1959776a32859d6ae73af0904037c2c1fce2005053d998a669a6fa463199dd58b79a2c6d0f
+DIST thunderbird-128.7.1esr-es-AR.xpi 765754 BLAKE2B 27f8d732459a4cb2c00793b384fe4af850795219fa93fef2b00dae18f96006db7007e0abe8b4bf6dfc4b761b305614b9a585df6853fcc659d8d217d8e29250cd SHA512 24876acd108ab7bfb422ea7169f12617c2be1310fda3dd1b3628a9295a3a9f475f41cd2327631f39f5c32c8660e820922d2612669e3dee2061f7d69404c1ba7c
+DIST thunderbird-128.7.1esr-es-ES.xpi 733783 BLAKE2B 978efc7892aa55fde07387aac5b56ee73ce7ab3e10cce706d4a8579ad6cfd9c6c54cb6e00abdbaf8933da14769fd9b9a0c179c81003b9a2eae811e7f55eecfc2 SHA512 106341ab72a79469843ee0e282088bc205aafb15b2d082603812b9f131ca3389d3dd61fd52ce3b89d360703dedd9d5d22a613954664ebd8f4d5cfdf79c4dccf8
+DIST thunderbird-128.7.1esr-es-MX.xpi 749782 BLAKE2B 828653a1d88bb2fd9c361d6e4c7beef448a9c27321d6972771d9478c2da5329fd3a2ab150f0a477e735986e891882df9e29f86d93c17bdd9a4590bb002e76b71 SHA512 75f2232fe1b1f09fefaba979d081a07b19e1f43378489c5d8cdbe95f8adf94a0c3445240fbc6eb6690bb714e473f1508aed7147f353b3e5ddffb67c6f87af841
+DIST thunderbird-128.7.1esr-et.xpi 696774 BLAKE2B e0acc92e10910fee3e7d4f113f99a7f289a588e83cdccb02bc0a00912a191251f52fd7cd56fc2c56562c5c16cb526f3a9044ce72a9612c689d879cf5c97ba3c0 SHA512 a8053c73288c0216d1852a440dc251e820b19720fdd9a66466082991eba5fd9ebd7c96935360984d2ee983004d22e41d328b76444dbb590e84de6e172d3c11c3
+DIST thunderbird-128.7.1esr-eu.xpi 740304 BLAKE2B f209715a51e4e49f598f8e5ee9df6bb739efac6a220ebf004155a7e989b7e7734f336832bd9e14685bff5107606b76df314a8cede0ccc02fe101c024eef5d376 SHA512 36185a28c0237c2b6c7b048d27ba9b1f2779ec0beee069307ed564105779a6cc1ec20e0efdef091b75e17b78f93966e62dc0025c8ffbf49cedc13996326a3e57
+DIST thunderbird-128.7.1esr-fi.xpi 738930 BLAKE2B 9ba3ca763d2174d1375d2e1eb720d52e521b66580d83c46333d722581d6b7052b66155bc9849206a43722e49967117a2c4ff01e9941d154cdc04226d6eed1174 SHA512 ab9f0ff3a71f295f0f3376ec78444627c51511bc03b5aea75ef720a7a4b8fbcb2e176b40208da05d808fca813c5ddede709c90b6af90233759ba6106d25d8c1b
+DIST thunderbird-128.7.1esr-fr.xpi 777364 BLAKE2B 2f2a0f6eae1822ecbb42a02fa38d63a1a7f6adc11be67503c3d5a25d7f7124781cf205ed3855b27a2c05e5de50c4b05c2c4cb20c565dc32db38ea61581b62b39 SHA512 9c3a82ff34575756087c4f4d89869fb503547c1725343da2ce11395a9e3cf6e232af0212772ba5f782b379392ae363892720eb9e68ac0325bed75508165fa4a1
+DIST thunderbird-128.7.1esr-fy-NL.xpi 759927 BLAKE2B 057f14aa076f2f8264f1f93cd2406d9349b70621be9a968a42b9b320f13d1f10461dbd6be0d3100399ca45c444a8a745f4687da109d0d12ac615b998408b3596 SHA512 c4bd433294d24d2d65debe2b9841450ed7426b869e6e5f84e2e8d44a8b9f7d99fef82b01c296415e9a6b534299c76b3d1c12b75b491826a6365bcf3530d0f04c
+DIST thunderbird-128.7.1esr-ga-IE.xpi 616369 BLAKE2B b68ec8abf72847b7bba23704c78a422bec8a1b933cfebeecd63a9ea3e1f37fff59ef3a5b52ed85b328e5a8f63403cce70281eb020fe8cfcbe1d5baed91cc7183 SHA512 c2a26e2138349e9473a7bc59a0c844c3115fc95e6ab08648425df7b982d198b177dda1bdd04f84227b933ccf8d90d59af246de4875a940d4d0efd7bd911ae830
+DIST thunderbird-128.7.1esr-gd.xpi 729136 BLAKE2B b64d74f325a2b87d2c22c1f74f6954cabd0e9ecd1e555ef5198fbd241e23a3016055c8b48748b251d552325cd7fd24c3dd387d0d3c574a5800eb842eada6846c SHA512 ccfac1372778f16cd9316720028e4116350f63cb5bd79c1a77aab107b1d24e1556a31029f68a68e37199b26b4f961f1e3161f4eb6712d4485c975dc3cb8cf060
+DIST thunderbird-128.7.1esr-gl.xpi 742176 BLAKE2B 1528fb92964c3f8b501f5623142c282489f82ba2f1b1ff3c2be13488c605e827b675cddc19339132c0aa4699927c0c5f4941093ab0987a99226f17e8597ca16c SHA512 2b53a7136acb7c25ed8a62e0c457ab552dc53bd8a0434baf99307a2b9588f052852474089acaaccb974c994f6b4bf69f0fcf49bd7b311401585adeebd83f4367
+DIST thunderbird-128.7.1esr-he.xpi 703447 BLAKE2B 920131317a810907e2cc732c9eed48778a54e65635a5a48a79b664b48f14c32b92a0e0c0d2a648c31ced26b0c84fcf2ece9b26bd63d66490ce37ac44f488887e SHA512 59e5593be0946e48a67c36eec4987a18a91762264b6fb4d9123ee4d59b4e859355667df2ab411f5089b2ca310699a68341e8623e9f37908847319614b79d285a
+DIST thunderbird-128.7.1esr-hr.xpi 720117 BLAKE2B b1dd3f0116504baff4e4ecbb1feb76682afe3621525d6d1435bf789c718ef37475c63b889d2492041394cbd0176cf023e29d41bf8735ef31a554f8e98480d139 SHA512 74c238c0391f590eb1e7aae2211eda48ca4a24ffad5f2e53821b895438333b4e01aef79874f10307445a05d1f1ab62c44a1f4235a2bd3fc9f0cf10d01f416879
+DIST thunderbird-128.7.1esr-hsb.xpi 787749 BLAKE2B d44b04bb275529136ccca0c9768cea7358058e4de06d465f86098a21e427bb0d64b454acffee37496abffb4a70220025e35438ea03a5d880d1b8896adc98dfb8 SHA512 a7d3aaf20ddffe6093cef2f100bcc28f6c82cf3fbb35bfc91ccb6934d7ba0e628c1316b988858df1153d8166d6606b6657ecd468ebdd82a1fead71961ec03e05
+DIST thunderbird-128.7.1esr-hu.xpi 790229 BLAKE2B e9f95eef0123eab3d8a751dd2e71ce634691970a1356d565a66f388bbfa9f3027f9d24ddd5007b78ccb9cad85521da3bb62ff2906af70495bde21bee4861a1b5 SHA512 cddfe757e3ec80e1894532dc3332a14f85d9d07301b3ba64781144b0041ab6acbfeccfc7f46a915dd125946575cf7d670fb763366d9511e279def30c2baa3d3b
+DIST thunderbird-128.7.1esr-id.xpi 710326 BLAKE2B 3f59600ed68d86b01317d4d3e86fb024f4e1d580636fa3433ef98fb265e50178912c98ebf8410c8ff5dc036ae7b5216250395bb54539ac756efc2f0b82f3f66f SHA512 d9c4690b0033a8cab3441f265920aec95d8b2f01273e5f091115f0916d5a4d01da1212f4bcd1fbdbb0c63811d35467f8ddd153ee56534c97b294ae3fc9cd7102
+DIST thunderbird-128.7.1esr-is.xpi 751186 BLAKE2B 5f5da4b1df8be97f11e29e286f84db4970aac55921ab48eed6dab7235980471e62167a545785072ded18d0a50f00b53dc702920258e2144665668490dd3a1185 SHA512 747bf61aecf39ddebf6aded37173a4e747c770de88b159be6fc07ce4bd90a4024c08340a45181e9fda99ec67dbafe923ed8915b2c59bc646dabe54a951c4042e
+DIST thunderbird-128.7.1esr-it.xpi 697094 BLAKE2B c44fa72c16571ec37072f8d6be7e4e2c14c97ea3e24fdcbab87917885d726066cfec583079e4b28dce430fc454323b6d7253858e3d398a7fa6dd247fc1202492 SHA512 9af8a1c7b872b7bf947cccbce2aac2f6919b93d9c8b95a76769005b0ca853724118d24c27b5e7842a00b6abcf10e3e1d87af385666988d69421906e81891a9f8
+DIST thunderbird-128.7.1esr-ja.xpi 817723 BLAKE2B 80d3f54623febd9d5f370315f59a82db838f896e1c626a2d0713ee1ee7ccc0caf2746831cccf613194ab8a03f699a785bc06e39b50c9db2a3fbe5b87e7343058 SHA512 9df76163982fecb7b266990ccbd3ec327dbf4c9ff1bae492796178a5d4fd016a88c6343126bbac2578b200ec5b74e7adf27cac6318491ac8ede4e2df9692f113
+DIST thunderbird-128.7.1esr-ka.xpi 796711 BLAKE2B 31c0d777ffeadaf77817e51eb010db2c2802f5ae2c0d4351502d0353c1ffbf896fa99fe92d68e8191ff1abd4fd03bd134878f351002a8f58388fc343e6f5598e SHA512 2dc5a00d270b5423cf108cf40ecf6d5a76841f292d3b7557f35770966f681476cc1f89f44025b1391793ec865d4cc5a424b4c3f23fe4efd0705ef06647c6fbbc
+DIST thunderbird-128.7.1esr-kab.xpi 735475 BLAKE2B 489e8b2ebc298c98bfa5852cf2439764fb5f8f218a11a29569dd01c66785a7804c8e91cf392f5e53f807bb67c532ac9da821f25cbcf1d7401917e04388d81ead SHA512 836e898da3ad131fda13d1e8187045033658db87b5ec042af2379503e24b847f3bc61e54556f030e3b77f8b8966357711e6237fc17ed8d54936cbaf29e137097
+DIST thunderbird-128.7.1esr-kk.xpi 865511 BLAKE2B bb3fb43ef5df2512376f572e4c1e3dc523ae4f6840c5d33a29d2f01e5a2803c28edb36ab194f17315d74a74675e1f96335083e235356541863aa4bdeb2c4750e SHA512 424f23075a19b366a93dfaab8746a0562ab54f343468d91cf37823fd179721f20e9226d3982d7cde6bcf3ea7c643122eb1a979756b7a6b374fcb304fdf98ee3a
+DIST thunderbird-128.7.1esr-ko.xpi 762641 BLAKE2B ef2149e038248575473a9c2ca7babc4b42e2af538ed195b583b1bb85ce06e96dfa6d09b1054d8cd977cdd9eb94a394e167ddba995166adc6999572e050a2c523 SHA512 6a38e8d266eb7d1ccd6cc4d1789cebf1fd45235ebef1de6b40847b169c05be34c8fea7ee268ed216ec8ddbc5855af8359377fa38435088f45017255802013ea3
+DIST thunderbird-128.7.1esr-lt.xpi 701408 BLAKE2B 1777f7b794293cd3f2365b0a40141ae0c9341b0744bd0b97e96a2080a6ecfaa929fcbf60899f79d3ee7594db0601263aee4c1df2332838b21959bca9d94db791 SHA512 55c4435af9f636b12a765cdd2eca637c5ed9c79f01e1cf744fb59ad85d6d7fd18c576add0904a53ba86ec8276540f091e5f0c5a1912f0daaed1220669b8af1c8
+DIST thunderbird-128.7.1esr-lv.xpi 625981 BLAKE2B cd0c21fe5e57e10068c36a93559e7fa7e3b9f8f3472db02390ae53e76f2e5778ca9b0e54330d81602317ba403ff1cb8e4735eff78219a011fbe81dc0464efe5e SHA512 e2b0933e2353b66f947e9b4ac7d33baf8ab859f126e566f85689492c942cc07a2b21fe2b86825ac42ba5fc17e83d0e9a2801fd54ada934b9457281eeb9eaa576
+DIST thunderbird-128.7.1esr-ms.xpi 581573 BLAKE2B 8db0f38b0f4d67c44ff79fbb08d16fd6aeb18d29fbc32d662115e7a0f054093dbb8d6b4b1b73c1b44ff7fa6a77d1349fb63801bda721463149e87d6c05596220 SHA512 ab222488d0972f0ef2b9d0616c84d372b632ee76794af462c8f158f095560019f36fcc49dd5a7bce41ffc3632583731823a01586f3e94f90da40390a3eb828e3
+DIST thunderbird-128.7.1esr-nb-NO.xpi 708560 BLAKE2B 9538b6ab1c8ea01870213e8fae161a2310d3a24d7cd0b824ea4c0580c70c6350de729e41133c5f4a7a5a5350fd1b005227fc9884cf90d2e787b6dded314d74af SHA512 f4d791b700a2edf6de3000e082b739344c2ef044517aa6f701c976f4efca1599a2193289acaad3de650061dbee2797e1ba6f583d50bb983ff7ebb9c6b629e0c5
+DIST thunderbird-128.7.1esr-nl.xpi 751614 BLAKE2B 039b09e6bb9e6e1f037acb7c68cf302ef44026a3d194d089c26cc3193ea385446c3f8e27ccc398d815f390c25816904a136bce11a68873c86af8cc70d1fd857d SHA512 2838e16f0266f8c0c3315f65a8a5f70031d7abc71d9bd3037b5ec43948a95f8454caa64e1f2d80d4f552ea266f1e44b291ff498f3aed534151ec72c1a7d38806
+DIST thunderbird-128.7.1esr-nn-NO.xpi 729657 BLAKE2B d6556c3f083198869a96633d5f778d9b16f6380ed4d8694ab7ec0c29f9cfbe4ae41524f6314e5779f4b98f4697357a4d65ae624066708deeccb2755a1baf21ba SHA512 0ef5ce4173b7c9adb25174aa2de5e4994085415e890d6ba54f582f3eabd5cba4dadf8d3ce50850eaac0370596746fd14c422dac2f2b44a1a4be440a10894f139
+DIST thunderbird-128.7.1esr-pa-IN.xpi 688137 BLAKE2B 4a73c2bd880722f988480d90142089f00bb5a3f76c1fe999ab8641dc4c84e60652dc465ebab02a785b25b447c3d197e7852dcab7466470791b2916e0c95390a9 SHA512 bb3a0e0c5893912095738bdb31c4e25eea70d2bfea8cb01b997a7ba432d43ad7ceed719dc97c057f239269475d3c65152cfcfcdfcf180b1b0ed308edcd52b2b0
+DIST thunderbird-128.7.1esr-pl.xpi 770777 BLAKE2B e0f38b25d2dc8d5a01ceed7232fdefc3fe0338188ccd2ac3f928d7f34f576ff9607a0cb25abdfbc2f9d919a01cbf2acc0f53f62373a77d7df8e67a92e075cb25 SHA512 fbefae4da1492db70f00b07880d25b84e6be1942ae6b3d536972ec02558e31ab232d88ca53a12397f51780969dbe3a0195a50f99975918e3738fcac1893fdae5
+DIST thunderbird-128.7.1esr-pt-BR.xpi 758844 BLAKE2B 341257d0fdf36f2beb879d80708d2326bb20ff8d4388e47c8d3d3a781fdf09796492326c7acc75edc0d1a2285950f6976649ed0e476bd4529c5ecfd3a79356d9 SHA512 f24cea5b7db95e1e6b3eaec2a7c1122be43c855ddd50ec609c534d93f3f672443d494ca64403c83c8d6b63d19819684d90c8893cba4a5c7eb8fd96f4ccb93092
+DIST thunderbird-128.7.1esr-pt-PT.xpi 752024 BLAKE2B af40f482261795d7693c2f6b98b55769cb6ed0e27b325c00f34de19e3a172b616b8173acc79a0d49c8222090851cffba567f6ee0353245538fe76f86fcf4d208 SHA512 3461aa5f095029c1d6eadd37779f481e2db99e1ba303c1fa11ddea65d9fd7107f9431e1c28b0f2fd198e2fd17214ab0fc3ddf9806f92fc1dd41d03827b3c41a4
+DIST thunderbird-128.7.1esr-rm.xpi 754443 BLAKE2B 11d1d39cf01228bd683f2c0187b20477d3fd497e2e29a7e643c2ae763a4d3d8bcfe1b670d625c0896b2622e95464eddc803410fa03d0fba5c8a4880d51085b39 SHA512 3b7ad3f0a2d455b0c49d7cc5104ca6cac53703961bb9d8fbdeb73eb0bfe8ef8f58fd5505ed179b89b3af371d8eb56cb881193bf754f35a04f9f8f2694ead91d2
+DIST thunderbird-128.7.1esr-ro.xpi 670228 BLAKE2B 00d8b0be636df2c13f5242fec1ffd9e4b29b3964a59aca9a0a841b945a53c6a37a9990100081cd9d07a8b6640e3d9273021579b9798c3fb92dc15ada910daf53 SHA512 2e62ebcf24ad216591b33f8fd4cff09b0c6406ddea2f955dc3e80e9c72a32cb64a448fd0220f48867ad1105a30153daa6c1cb29084fd7bec082a8101a86dafe8
+DIST thunderbird-128.7.1esr-ru.xpi 880796 BLAKE2B 8832b30f58d8303718ceb2149c213a3e482757220e451af012b3086494632e97f85498b96de6b1970e2f2d1f60dda9880bd1e0234682ec071e1a2fd49d5983da SHA512 5ddd148f8e66a44d260af15b0fba42e6d41a44eb652778905cb94408ff391f0b9fc242ff3d1c7d24a5fd55ce818b364b304dff549aa8b18e52977a9179bb4622
+DIST thunderbird-128.7.1esr-sk.xpi 792219 BLAKE2B 34f5500ab3aea02e7b431f91ba07544ce889c5703721e978275439b869c458fe061764081fba2e7107d4d9fe923dcb2158fdb72dc905fc216c933e655d5a2174 SHA512 796fdd7a788300e168e3505663d781f2df9491b08f1a8f1bdd2f2379c8763b422f074d96a5e1be2278cf4efb4ab3fcb430d9494712711c4282f800d8189f6302
+DIST thunderbird-128.7.1esr-sl.xpi 751649 BLAKE2B 6ad90029e0d5a5912aad40bacd17648b1ebf9c792f6b823eb17d1fc3af0a64ef34bcd9926c2f103dc9c7e407feb4df6eb14671962ff7184a8913d8cf5fc10a76 SHA512 f5eab4798dca4c965a5bc2f2f0010ca720fe61ab7a8f8a1376de7325c67d7855ccde56c360bbdcd4e2f7726177b90abd093ddcd693818ceeb8a6286ec66dba8e
+DIST thunderbird-128.7.1esr-sq.xpi 774995 BLAKE2B a6130bb7d4940839390db0d90b11cbb8daa15efc216a67d50cb15801b63d71b06229251a4a40f8ebe8803f0902789307dcbda65c1fc863fd4dec16265b8ecc6b SHA512 28d615a373ec7ca3f6f8bc2090d15b0d91586f302b93bf91fb5787ad8360582a24ac1ad7ac3ee21b4a391750cc16909e98444810a67724062f42b6263432242c
+DIST thunderbird-128.7.1esr-sr.xpi 771752 BLAKE2B 1f1e7090127800bed154c224690a7a2f7ac0409147fd4795f52dfa86cca56762630abc7764792ee83559c1966a4799816a7269d132398a3f49f5e0fa9b164e81 SHA512 67eb57bafeb29b4a8624c18cbd8106c8efffba1f880e5aa3e33d6eaf151039cc168c99392adda35e8c48e624a242d38d8dc391c0963ec9a6ea89d931e386204f
+DIST thunderbird-128.7.1esr-sv-SE.xpi 754938 BLAKE2B 476e1650290127efa67984383850bf385b92b8cac2b3fa72153eee1b1daffab02d18f19efdfa5aceb726bb2a95ff93dafe008e49ff9e0d1fe17489ec17185be5 SHA512 3ad9663f8c41d74c37c1c9777460199a56359982bc7d4b3d41393095ed54f7e5151c771d54bafb5d4cc5689e0e272fc8f3e7f0b31ad73266e2376bce36890e99
+DIST thunderbird-128.7.1esr-th.xpi 819691 BLAKE2B fb958b46a45bcb852c62975a9f6ad6a97b97d35956f8336583c9e2806cb63295c58093c4bbc6218080b511c1a455cb37d9bad5a7be8a374005613a3c2217e325 SHA512 19dcd1163e0330b275d6488b08790a93e42fee577bd34a69e65bd8c616f9014c6b43f0244e818f0a0c135cbd0fde4d019e2b8471197c5c074028b1963284a1e3
+DIST thunderbird-128.7.1esr-tr.xpi 765548 BLAKE2B ebbf61f1da4f2b6d0ac2aeff754ea2a95fc93569c13d6eae438c716ac2c6bd4df3dab146fa9bc62d15eefd3e0519a831c478bd12213cc20ce195eb2aba4cf53c SHA512 c9bb56c7aa992e53978f3110bae8d4c5bdbbeb538f3d37036faca629c89122db892784fcee05cfe8c8abf79b704b6e3179c40fac9a662e9c97aac8661f72d15c
+DIST thunderbird-128.7.1esr-uk.xpi 871377 BLAKE2B 9c4d5fe6981ecfc0658525750d7008a5420fabade38b852d2ebe3b33805e985e4f8dc7357e281a86737d5170e0b94627e5bc567bde5d6374c5625abbd2b9f3c0 SHA512 7726a4163d5e91bed873a935af51305852b82a6684e4f92f1e42ea44dc448e3e8c1348fb777dfcb94e010ef34a24ca515a616dc081d5b165b9c285642e194107
+DIST thunderbird-128.7.1esr-uz.xpi 592619 BLAKE2B 8f8dbb9325576ab7ad4c2734490e33e73b0c5d2a97b24782c4d24a6035ade7e4ee38ff8b36453ac9c299a7655d84d5e8beb6a328107c7662a81467a86798dbe8 SHA512 ec24b2d8826b3183cb97c429bec17c2f26476a1f1af478835759e79af0cc857817d9c2c0ef0f716bf146387681ed211342744d9ad74b3a908ef7b567cdc24ac5
+DIST thunderbird-128.7.1esr-vi.xpi 794033 BLAKE2B 94d10d0287650d3864dbb82a162e2c01ae69cc83d1cb096cf6a9d104ba84919c9607022fc8b2def3a9941dc5752f9aa15970ecc939a2a5df800d54f8c9f6711f SHA512 9dc272336ce7693daac787c90e4f8feb7e12d2905e7366e348118c89b2b9e58c58e2c5d239764f2ea6769d9c22163364ba236ad3246e8235586cd5a59f7833db
+DIST thunderbird-128.7.1esr-zh-CN.xpi 794062 BLAKE2B 5b93207a294c70d9e6305ace560209e318f3ae353649003a7feed1d62621a78a268d68452544e381176538ab0d1aa6e8dfb1dd98bc210154a91ef5f3b2b33649 SHA512 f75913eac9ca58ab3a81ab1a28d84557776506493e842644cb272ffbda3599a380c89fa4c867a6d9b256344814a3d3bcaf3caf629d0e6d07d74b13301555ea6c
+DIST thunderbird-128.7.1esr-zh-TW.xpi 797334 BLAKE2B bec51940d11ac011fb0c6d6a063ce0a97685d90b5dbf56611476f615282f6db7880009ff60122f35bb56d09f5f2a7d87c4d7ce05eb821d58ff479b3608d27fe6 SHA512 f2697c244fdb85ebdfcec4f2589d1611e0aa3e88f7d3f3b250913782a4d996eedc7bef09dad4eca7cd6dad0f45b5a0faea5694aae2499ade0674ce8ce70d8873
+DIST thunderbird-128.7.1esr.source.tar.xz 679801568 BLAKE2B 27840ccf9bf8abfa681cab54cbf13dd176abb107853b148a2bdde443f3a25a99d4ba99aa701a7397066a5efaaa2a941b5687074414ce8882f614f92efd1c2b46 SHA512 3f84e1f1a83379da1f154b66dbb5f941d04548ad017aab32aa9520f4315edb524e3754ac1fe9a7ae27f7aa33e2881c6783f11ccc53cda713f107760b7d880667
EBUILD thunderbird-128.7.0.ebuild 34193 BLAKE2B f703dbb10b61cfd419f37e7bc97384163edccda25cb4f52b2e792176c1b6336ae2adac308bffae54322b7fb70e2326ad14897a112221d2d009c4b957c1f1b9f4 SHA512 7f9a7a3d484e38faefc1cd5381f7db567219c9236ed5fe4c47019fe7a9339336ca448871cec0f51dfed7f330dafda8fdd9aaa0bc440c66e1dbfa26e9bbe08c30
+EBUILD thunderbird-128.7.1.ebuild 34194 BLAKE2B cc0c24fd5e2c09bddb6e5de981f991120281ae03ccdfc0c28e8d26f2e1b53f83738014a472396dc66e6bac44a94934627818bc55647462832166b5a454a081fe SHA512 f918f7d76f424e2efb05dc12aa82fc7fd1783308e347e7d75ff398a0d22d3782e3138d674af93a9c18f4152f583bf16a6dcca10d8be02b2c75df863dd1cb8326
MISC metadata.xml 2277 BLAKE2B e4681b61ae7363d0442ad382e5972c7654624c2033e43559d9d751af8abcebf6e1badede00b68d8f28ba0eda4b060acb3f730b79181d0acfc286c1a03c7cc2fe SHA512 517460e6a4ce6232570290b69596bc2e1913c7a95ef4df62216df4d3be7b8c83247004916ed5e74d285951d9e9d96fe80406d128a0764ab41aa26458805a1513
diff --git a/mail-client/thunderbird/thunderbird-128.7.1.ebuild b/mail-client/thunderbird/thunderbird-128.7.1.ebuild
new file mode 100644
index 000000000000..93d64f1b7659
--- /dev/null
+++ b/mail-client/thunderbird/thunderbird-128.7.1.ebuild
@@ -0,0 +1,1166 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-128esr-patches-08.tar.xz"
+
+LLVM_COMPAT=( 17 18 19 )
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+RUST_MIN_VER="1.77.1"
+RUST_NEEDS_LLVM=1
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="manual"
+
+# Thunderbird will have separate release and esr channels, matching Firefox's rapid and esr.
+MOZ_ESR=yes
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \
+ optfeature pax-utils python-any-r1 rust toolchain-funcs virtualx xdg
+
+DESCRIPTION="Thunderbird Mail Client"
+HOMEPAGE="https://www.thunderbird.net/"
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+IUSE="+clang +dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx"
+IUSE+=" system-png +system-webp wayland wifi +X"
+
+# Thunderbird-only USE flags.
+IUSE+=" +rust-extensions +system-librnp"
+
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )
+ rust-extensions? ( dbus )
+ wayland? ( dbus )
+ wifi? ( dbus )"
+
+TB_ONLY_DEPEND="selinux? ( sec-policy/selinux-thunderbird )
+ !system-librnp? ( dev-libs/jsoncpp )
+ system-librnp? ( >=dev-util/librnp-0.17.1 )"
+BDEPEND="${PYTHON_DEPS}
+ $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}
+ llvm-core/llvm:${LLVM_SLOT}
+ clang? (
+ llvm-core/lld:${LLVM_SLOT}
+ pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] )
+ )
+ ')
+ app-alternatives/awk
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.26.0
+ net-libs/nodejs
+ virtual/pkgconfig
+ amd64? ( >=dev-lang/nasm-2.14 )
+ x86? ( >=dev-lang/nasm-2.14 )
+ pgo? (
+ X? (
+ sys-devel/gettext
+ x11-base/xorg-server[xvfb]
+ x11-apps/xhost
+ )
+ !X? (
+ || (
+ gui-wm/tinywl
+ <gui-libs/wlroots-0.17.3[tinywl(-)]
+ )
+ x11-misc/xkeyboard-config
+ )
+ )"
+COMMON_DEPEND="${TB_ONLY_DEPEND}
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/libffi:=
+ >=dev-libs/nss-3.101
+ >=dev-libs/nspr-4.35
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/mesa
+ media-video/ffmpeg
+ sys-libs/zlib
+ virtual/freedesktop-icon-theme
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango
+ x11-libs/pixman
+ dbus? ( sys-apps/dbus )
+ jack? ( virtual/jack )
+ pulseaudio? (
+ || (
+ media-libs/libpulse
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ libproxy? ( net-libs/libproxy )
+ selinux? ( sec-policy/selinux-mozilla )
+ sndio? ( >=media-sound/sndio-1.8.0-r1 )
+ system-av1? (
+ >=media-libs/dav1d-1.0.0:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-gfx/graphite2-1.3.13
+ >=media-libs/harfbuzz-2.8.1:0=
+ )
+ system-icu? ( >=dev-libs/icu-74.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= )
+ system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] )
+ system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+ system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ wayland? (
+ >=media-libs/libepoxy-1.5.10-r1
+ x11-libs/gtk+:3[wayland]
+ )
+ wifi? (
+ kernel_linux? (
+ || (
+ net-misc/networkmanager
+ net-misc/connman[networkmanager]
+ )
+ sys-apps/dbus
+ )
+ )
+ X? (
+ virtual/opengl
+ x11-libs/cairo[X]
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libxcb:=
+ )"
+RDEPEND="${COMMON_DEPEND}
+ jack? ( virtual/jack )"
+DEPEND="${COMMON_DEPEND}
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libICE
+ x11-libs/libSM
+ )"
+
+llvm_check_deps() {
+ if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then
+ einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang && ! tc-ld-is-mold ; then
+ if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then
+ einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+
+ if use pgo ; then
+ if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+ einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2
+ einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+ af ar ast be bg br ca cak cs cy da de dsb
+ el en-CA en-GB en-US es-AR es-ES es-MX et eu
+ fi fr fy-NL ga-IE gd gl he hr hsb hu
+ id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+ pa-IN pl pt-BR pt-PT rm ro ru
+ sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -ne 1 ]] ; then
+ die "${FUNCNAME} requires exact one argument"
+ fi
+
+ einfo "Clearing cargo checksums for ${1} ..."
+
+ sed -i \
+ -e 's/\("files":{\)[^}]*/\1/' \
+ "${S}"/third_party/rust/${1}/.cargo-checksum.json || die
+}
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+mozconfig_add_options_ac() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_add_options_mk() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_use_enable() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_enable "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+mozconfig_use_with() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_with "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+virtwl() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
+ [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset"
+ tinywl -h >/dev/null || die 'tinywl -h failed'
+
+ local VIRTWL VIRTWL_PID
+ coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; }
+ local -x WAYLAND_DISPLAY
+ read WAYLAND_DISPLAY <&${VIRTWL[0]}
+
+ debug-print "${FUNCNAME}: $@"
+ "$@"
+ local r=$?
+
+ [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+ exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+ return $r
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server can not run as root!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use debug ; then
+ CHECKREQS_DISK_BUILD="14300M"
+ elif tc-is-lto ; then
+ CHECKREQS_DISK_BUILD="10600M"
+ else
+ CHECKREQS_DISK_BUILD="6800M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+
+ # Get LTO from environment; export after this phase for use in src_configure (etc)
+ use_lto=no
+
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+
+ if tc-is-lto; then
+ use_lto=yes
+ # LTO is handled via configure
+ filter-lto
+ fi
+
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ if [[ ${use_lto} = yes ]] ; then
+ # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC,
+ # bmo#1516758, bgo#942288
+ filter-flags -Werror=lto-type-mismatch -Werror=odr
+ fi
+
+ if use pgo || use debug ; then
+ CHECKREQS_DISK_BUILD="14300M"
+ elif [[ ${use_lto} == "yes" ]] ; then
+ CHECKREQS_DISK_BUILD="10600M"
+ else
+ CHECKREQS_DISK_BUILD="6800M"
+ fi
+
+ check-reqs_pkg_setup
+ llvm-r1_pkg_setup
+ rust_pkg_setup
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if use pgo ; then
+ # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure
+ # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage
+ # (PORTAGE_SCHEDULING_POLICY) update...
+ addpredict /proc
+
+ # Clear tons of conditions, since PGO is hardware-dependant.
+ addpredict /dev
+ fi
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+ MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+
+ if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+ MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+ fi
+
+ # Mozilla API keys (see https://location.services.mozilla.com/api)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+ MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+
+ export use_lto
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_prepare() {
+ if [[ ${use_lto} == "yes" ]]; then
+ rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+ fi
+
+ # Workaround for bgo#917599
+ if has_version ">=dev-libs/icu-74.1" && use system-icu ; then
+ eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch
+ fi
+ rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die
+
+ # Workaround for bgo#915651 on musl
+ if use elibc_glibc ; then
+ rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+ fi
+
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # Workaround for bgo#915651
+ if ! use elibc_glibc ; then
+ if use amd64 ; then
+ export RUST_TARGET="x86_64-unknown-linux-musl"
+ elif use x86 ; then
+ export RUST_TARGET="i686-unknown-linux-musl"
+ elif use arm64 ; then
+ export RUST_TARGET="aarch64-unknown-linux-musl"
+ elif use ppc64 ; then
+ export RUST_TARGET="powerpc64le-unknown-linux-musl"
+ elif use riscv ; then
+ # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of
+ # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working
+ # guess right now though.
+ elog "riscv detected, forcing a riscv64 target for now."
+ export RUST_TARGET="riscv64gc-unknown-linux-musl"
+ else
+ die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info"
+ fi
+ fi
+
+ # Make LTO respect MAKEOPTS
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count"
+
+ # Make ICU respect MAKEOPTS
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count"
+
+ # Respect MAKEOPTS all around (maybe some find+sed is better)
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py ||
+ die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix"
+
+ sed -i \
+ -e 's/ccache_stats = None/return None/' \
+ "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call"
+
+ einfo "Removing pre-built binaries ..."
+
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # Clear checksums from cargo crates we've manually patched.
+ # moz_clear_vendor_checksums xyz
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+ echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
+ echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+ xdg_environment_reset
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ local have_switched_compiler=
+ if use clang; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+
+ local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
+ [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
+ [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+ if tc-is-gcc; then
+ have_switched_compiler=yes
+ fi
+
+ AR=llvm-ar
+ CC=${CHOST}-clang-${version_clang}
+ CXX=${CHOST}-clang++-${version_clang}
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain,
+ # AS is used in a non-standard way by upstream, #bmo1654031
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ export AS="$(tc-getCC) -c"
+
+ # Configuration tests expect llvm-readelf output, bug 913130
+ READELF="llvm-readelf"
+
+ tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG
+
+ # Pass the correct toolchain paths through cbindgen
+ if tc-is-cross-compiler ; then
+ export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
+ fi
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set state path
+ export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=comm/mail
+ mozconfig_add_options_ac '' --enable-project=comm/mail
+
+ # Set Gentoo defaults
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-disk-remnant-avoidance \
+ --disable-geckodriver \
+ --disable-gpsd \
+ --disable-install-strip \
+ --disable-legacy-profile-creation \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-tests \
+ --disable-updater \
+ --disable-valgrind \
+ --disable-wmf \
+ --enable-js-shell \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-ffi \
+ --enable-system-pixman \
+ --enable-system-policies \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --without-wasm-sandboxed-libraries \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system \
+ --x-includes="${ESYSROOT}/usr/include" \
+ --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+ if ! use x86 ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ # For future keywording: This is currently (97.0) only supported on:
+ # amd64, arm, arm64 & x86.
+ # Might want to flip the logic around if Firefox is to support more arches.
+ # bug 833001, bug 903411#c8
+ if use ppc64 || use riscv; then
+ mozconfig_add_options_ac '' --disable-sandbox
+ else
+ mozconfig_add_options_ac '' --enable-sandbox
+ fi
+
+ # Enable JIT on riscv64 explicitly, since it's not activated automatically via "known arches" list.
+ # Update 128.1.0: Disable jit on riscv (this line can be blanked to disable by default),
+ # bgo#937867.
+ use riscv && mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-jit
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google API key ..."
+ fi
+
+ if [[ -s "${S}/api-location.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-location-service-api-keyfile="${S}/api-location.key"
+ else
+ einfo "Building without Location API key ..."
+ fi
+
+ if [[ -s "${S}/api-mozilla.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+ else
+ einfo "Building without Mozilla API key ..."
+ fi
+
+ mozconfig_use_enable rust-extensions thunderbird-rust
+
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-harfbuzz system-graphite2
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libevent
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-png
+ mozconfig_use_with system-webp
+
+ if use system-librnp; then
+ mozconfig_add_options_ac "+system-librnp" --enable-compile-environment
+ mozconfig_use_with system-librnp
+ else
+ # This controls the backend of the bundled librnp. Choices are "botan" and "openssl".
+ # RNP Upstream recommends to use botan. In Gentoo it's preferred to use system-librnp.
+ mozconfig_add_options_ac "+bundled librnp backend = botan" --with-librnp-backend="botan"
+ fi
+
+ mozconfig_use_enable dbus
+ mozconfig_use_enable libproxy
+
+ use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+
+ # Increase the FORTIFY_SOURCE value, #910071.
+ sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die
+ fi
+
+ local myaudiobackends=""
+ use jack && myaudiobackends+="jack,"
+ use sndio && myaudiobackends+="sndio,"
+ use pulseaudio && myaudiobackends+="pulseaudio,"
+ ! use pulseaudio && myaudiobackends+="alsa,"
+
+ mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
+
+ mozconfig_use_enable wifi necko-wifi
+
+ if use X && use wayland ; then
+ mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
+ elif ! use X && use wayland ; then
+ mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only
+ else
+ mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only
+ fi
+
+ if [[ ${use_lto} == "yes" ]] ; then
+ if use clang ; then
+ # Upstream only supports lld or mold when using clang.
+ if tc-ld-is-mold ; then
+ # mold expects the -flto line from *FLAGS configuration, bgo#923119
+ append-ldflags "-flto=thin"
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+ fi
+
+ mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+ else
+ # ThinLTO is currently broken, see bmo#1644409.
+ # mold does not support gcc+lto combination.
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ fi
+
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # lld is upstream's default
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
+ fi
+
+ else
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd
+ fi
+ fi
+ fi
+
+ if use pgo ; then
+ mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+ if use clang ; then
+ # Used in build/pgo/profileserver.py
+ export LLVM_PROFDATA="llvm-profdata"
+ fi
+ fi
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ mozconfig_add_options_ac '+debug' --enable-jemalloc
+ mozconfig_add_options_ac '+debug' --enable-real-time-tracing
+ else
+ mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing
+
+ if is-flag '-g*' ; then
+ if use clang ; then
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
+ else
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
+ fi
+ else
+ mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
+ fi
+
+ if is-flag '-O0' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
+ elif is-flag '-O4' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
+ elif is-flag '-O3' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
+ elif is-flag '-O1' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
+ elif is-flag '-Os' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
+ else
+ mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
+ fi
+ fi
+
+ # Debug flag was handled via configure
+ filter-flags '-g*'
+
+ # Optimization flag was handled via configure
+ filter-flags '-O*'
+
+ # elf-hack
+ # Filter "-z,pack-relative-relocs" and let the build system handle it instead.
+ if use amd64 || use x86 ; then
+ filter-flags "-z,pack-relative-relocs"
+
+ if tc-ld-is-mold ; then
+ # relr-elf-hack is currently broken with mold, bgo#916259
+ mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack
+ else
+ mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr
+ fi
+ elif use ppc64 || use riscv ; then
+ # '--disable-elf-hack' is not recognized on ppc64/riscv,
+ # see bgo #917049, #930046
+ :;
+ else
+ mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack
+ fi
+
+ if ! use elibc_glibc; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ # System-av1 fix
+ use system-av1 && append-ldflags "-Wl,--undefined-version"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support arguments
+ mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold ; then
+ # increase ulimit with mold+lto, bugs #892641, #907485
+ if ! ulimit -n 16384 1>/dev/null 2>&1 ; then
+ ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources."
+ ewarn "Please see bugs #892641 & #907485."
+ else
+ ulimit -n 16384
+ fi
+ fi
+
+ if use pgo; then
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+
+ if ! use X; then
+ virtx_cmd=virtwl
+ else
+ virtx_cmd=virtx
+ fi
+ fi
+
+ if ! use X; then
+ local -x GDK_BACKEND=wayland
+ else
+ local -x GDK_BACKEND=x11
+ fi
+
+ ${virtx_cmd} ./mach build --verbose || die
+}
+
+src_install() {
+ # xpcshell is getting called during install
+ pax-mark m \
+ "${BUILD_DIR}"/dist/bin/xpcshell \
+ "${BUILD_DIR}"/dist/bin/${PN} \
+ "${BUILD_DIR}"/dist/bin/plugin-container
+
+ DESTDIR="${D}" ./mach install || die
+
+ # Upstream cannot ship symlink but we can (bmo#658850)
+ rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+ dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+ # Don't install llvm-symbolizer from llvm-core/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+
+ if use wayland; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
+ pref("gfx.x11-egl.force-enabled", false);
+ EOF
+ else
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
+ pref("gfx.x11-egl.force-enabled", true);
+ EOF
+ fi
+ fi
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
+ if use system-harfbuzz ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
+ sticky_pref("gfx.font_rendering.graphite.enabled", true);
+ EOF
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/comm/mail/branding/thunderbird"
+ local icon_symbolic_file="${icon_srcdir}/TB-symbolic.svg"
+
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menu
+ local app_name="Mozilla ${MOZ_PN^}"
+ local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop"
+ local exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if [[ -n ${MOZ_ESR} ]] ; then
+ local desktop_filename="${PN}-esr.desktop"
+ else
+ local desktop_filename="${PN}.desktop"
+ fi
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+
+ # Install wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+ # Update wrapper
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" || die
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ optfeature_header "Optional programs for extra features:"
+ optfeature "desktop notifications" x11-libs/libnotify
+ optfeature "encrypted chat support" net-libs/libotr
+ optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas
+}