summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonas Niilola <juippis@gentoo.org>2022-11-16 11:31:00 +0200
committerJoonas Niilola <juippis@gentoo.org>2022-11-16 11:31:52 +0200
commit911c97c324ef64d77a6d8530144eb9835264d3da (patch)
treecbbf53a6ac272392e0dfee700595789d8952e83a /mail-client
parentgames-action/prismlauncher: drop 5.0 (diff)
downloadgentoo-911c97c324ef64d77a6d8530144eb9835264d3da.tar.gz
gentoo-911c97c324ef64d77a6d8530144eb9835264d3da.tar.bz2
gentoo-911c97c324ef64d77a6d8530144eb9835264d3da.zip
mail-client/thunderbird: add 102.5.0
- depend on newly created virtual/rust:0/llvm-* in order to try and avoid mixing these sensitive rust-llvm-lld mismatches - sm will follow, - update LLVM compatibility to 15. Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'mail-client')
-rw-r--r--mail-client/thunderbird/Manifest65
-rw-r--r--mail-client/thunderbird/thunderbird-102.5.0.ebuild1170
2 files changed, 1235 insertions, 0 deletions
diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest
index 4a05d0f6354c..23dc7d89b9b9 100644
--- a/mail-client/thunderbird/Manifest
+++ b/mail-client/thunderbird/Manifest
@@ -130,3 +130,68 @@ DIST thunderbird-102.4.2-vi.xpi 724848 BLAKE2B d63dda61aece0d1e229ee0bca54f4cc7c
DIST thunderbird-102.4.2-zh-CN.xpi 722698 BLAKE2B d8a466c7c3cfa4d7a710be4429a5b1d9342b298fcd4848baf6601df1f122085c0ed6c921bd25c352cbd0441e07e8b2bf2a220cc73a0e3cae3b7760ddd65150e7 SHA512 a5ae3a7aa426bfaf44d13230f14589f56d92bc0b75b4fd24b8c746e7f758492ff21f2bdfd426a578434c35dbc7367bd5eada1961a809a3b303453dd99796777b
DIST thunderbird-102.4.2-zh-TW.xpi 725969 BLAKE2B 15b0798c234180778c17cb1363218d5d190f7c63b7d3ddc06a13f77d9fd40a1ce664a17890c849bae502ddd0cf82f7eaaea8f003042310de80f2fadff1617d49 SHA512 6ddc7bd5aa084658253d228388af2cab035d611131ea2e4e84a6fea5f48c5402e463851d15faa979da1fc7b96535a1ee0aff6de4ebfa91f0f6dc4915da695adf
DIST thunderbird-102.4.2.source.tar.xz 500913544 BLAKE2B d20177ac0191ee85d972fd11705a5a1a86fcd8265e3bb9c24c1413a0175a76094d9b775ea97217e2b5f7413ab3e3766ac5d167c8ed2622c786a0d5aa1d13211f SHA512 d74045e3ded718b9dffbf9f076f61f05be63d1914cca672c5145f86e94677df35c0c86958e31aee4f6388052c766b9588b942ab8578bc214addd49edfaa04a4f
+DIST thunderbird-102.5.0-af.xpi 551372 BLAKE2B 825b30af561774079ad4ba5729e8fa573430e7442be3df494d972650856764a91b38c3e69e7f08a62607167d92295ac2dc962c67d92447daaecf8eefafd3e0d0 SHA512 87f88bcfcf80796e045048d30f1642eb617113984cba2ee99f097cb6a21bcefc3d33111600aa90af6a1037d0a588f017710398be07628cfcae05afeecfec0331
+DIST thunderbird-102.5.0-ar.xpi 656150 BLAKE2B 22c476028d8ed1164eab9b3954fd830c55d35db77b4159e05bfa29bf0d0e87498328ee30a0d3f9fa2a625faf28994c43957e824474470b67195fdf3404938a5d SHA512 9c8216f3fadbee50fa717b3decde8ced664f198f079a4e833de354203d78524467216522db8e93051c5ef8687691b3718936b59dd0e5a0b16d35599cfde52771
+DIST thunderbird-102.5.0-ast.xpi 564286 BLAKE2B 313fa27e3d7be871cc30b738991973491d9401b42ef81052f4c7fbe72631439cf3e657aab35f7b41fd32e56a09d9c1104dbf446d2ca7a6e69797917cb60d17b8 SHA512 6339a03f717e1bda4b37834095aebadbf7db8ba00980508b48c54907db56bb3f925583c564e131353df2aa84e3d0cdf09858b78883e000df7124964fa0baf518
+DIST thunderbird-102.5.0-be.xpi 686679 BLAKE2B cbcfc10ca7b087daddd1701bbb8f7c38211afc1acb9db6299468b577670aad7a4f8dcd3da3dfedd2213de413d0ddef68b969f4fca55e524813cad5caad9e2f7c SHA512 4c4176c8036d11d07fbb566a98e5fdce1aaf5806c6bd88d393e74be65d465ea0d0123a5fc0318c2e7486b6631387e849ab9c963142aad078bd57ecf8f8d17e3d
+DIST thunderbird-102.5.0-bg.xpi 682267 BLAKE2B 4b25580bd068a4c4d8433922ab67ad2380121b04b5e02b493ff4c5f59dd99fcd57a37adb1c2daec2d2523596b70d62ff578a965538a3ecafab84ea4a20fa6a71 SHA512 5d0812f274a8d37ce3cd1cc9360c6b0e34e8038dc02bde2cc51ed38754f6728ab2d9e5f0c2475abc90b490948a02a2fe0507c09a883c5420ebdb098afa5c75bd
+DIST thunderbird-102.5.0-br.xpi 615115 BLAKE2B 05ddfdc4ab289452d8228d826298fb0336f3ecf054df3f4b13df0a6c229626cc387131b7bc8ab869f8c85e7f505cbb0e683fa1c6d3fd16e5b2db68d2a78968e3 SHA512 5a897c11185175138773e9ed2e2a657363f0232a9c10b23f7d2ddd5da45225bd88aa3c6bc1f3d028d82cb3e671f58c39061cc484a4343482c20ddfead235b7bf
+DIST thunderbird-102.5.0-ca.xpi 636174 BLAKE2B e6bec45bc39cff0ed596fd7112098a17e8ee72afa46e2c9a174add319075dff256ee70bef8e27b1d9fe6405156e2a7c9da81d0fe3699c17968ba6dfcfa555d0c SHA512 7a697a373bee328b1bc430f80a15be32e9e54cade138adb166f3aa1df281872921108f3603fdd7e4a2b25603c6be331f363062857fb037b3baf0118fcd26bca3
+DIST thunderbird-102.5.0-cak.xpi 641842 BLAKE2B 7e01d8d1937e32162220e6ee937a55d157b9cf7a18d5af35de544748539ed8865b6551dcd98c4c941e44f3a56b06f516995b8a10581526b4a99170aed6b5ab0e SHA512 e08db5fc96487108ff40cedc79dbc52d60c06a85f9692980efa7fa4e147f1476b5be15850faff2c40650804926fee1202ae33d904aca8b9d3f58b1e095c40664
+DIST thunderbird-102.5.0-cs.xpi 706337 BLAKE2B f17ccd8a41defac92c7e4320a3d3ffd45e468718c00da53c498895a9e8dd4446548e1eaa284ffacf013fa22a0f162b5df99ec140ee9546d206baeb93ee55f5fa SHA512 831bda7bc15553452ce6302fba74c71dfa89e47c70e553aeff5fa1f39175022c015e97d30f63f3f4d17ab845e9418f214e8a56a6526273669adaf5c50edf3550
+DIST thunderbird-102.5.0-cy.xpi 684716 BLAKE2B 6cd51123aa4901d8eab113f58839593d81878a1500976a2d9f025b8cc77b5bad49064d81c056df5f820b4b70416877fb93b21cdd4970f823953e3f4e5174a6d8 SHA512 e792e0112d32b84456ce57a738bbd0ba1fd20237400387e4627d05c60f572b55ee28485e3490961671673c18c683619a4e96d02da43987945c97fc160fa654ef
+DIST thunderbird-102.5.0-da.xpi 670578 BLAKE2B e22dd96523b05bba607eb8c80ca196e7de645abf8b256475d07d8e7bbf00c18afb259ecd7d12676ac332e3d916d9e27ee1e8a33950ef9837c8a31a7998288cf5 SHA512 a0403c8197a3bcdabe046263d5a68ac6cc0ea555dc3d1f5d462447f653da7bcf3ea7fa2f20a47533db6d25d0493a45ee2d954a84499ceca99e87cc6addac5a30
+DIST thunderbird-102.5.0-de.xpi 703559 BLAKE2B 363993cda0c67cafa51a4676851ae05fcdfdbae46502c90819b73b266db7eb5f6af38d222b54298f457eea1dc76cde3b52c781dc8397efd84f736f7a416e7d31 SHA512 7077776a6b89c0efd49f1b53c628412a374b2feffad4e8d475ad82bc9d879f40f38cde8ed8b92f1d2543b69b3ab88776fd1070191717f30da6f7a80a7cc9a6bc
+DIST thunderbird-102.5.0-dsb.xpi 718470 BLAKE2B 9d3864582ea95665b2371f40303471464bba778bdb773556f2031e4fdc0498997fe16d5333a191bd55df9738c96c840f3e7d805b225aec768afc8c28d4f0691f SHA512 a3aa103726f8e516bb80cdda5b98847b466ef8381093d6ca6e8f600b2c56ab36099799c67c20cf1746898da0a48e63d032c1dd51352ea5401c49ad11d68d956c
+DIST thunderbird-102.5.0-el.xpi 816315 BLAKE2B cc8735308e9ce3cf0021e7a45ef5c4b993bd839be4da025c3a71f17e61f7a8a8260a9e080731220e0876480530d7bc36392c3f4c28b55348941bc79a3f0652e4 SHA512 5b2cb3771907fd96e8f39aea9a2839f457ce66a179849e2de38ca6737081f3099e9423845e784933e931ba0c9c1465d2563d4ad20ca794643d8bac8ba3988b1f
+DIST thunderbird-102.5.0-en-CA.xpi 644397 BLAKE2B 3a324d2cc753078affc146ca1e1ff6289966f438bdfe411e8f6de45b27fe3908d2c581f07e442d900971290ccd750d14640fc0d841ff09a5b162f6d2228f84da SHA512 51100025b8890af9415bfbc11afc1be522d374ca9f6ecc421d9a47e4012ad690f2c22089fa9b4f0a941d8bb854762ecb917105fa6b17fbe694fb1c631ce198b5
+DIST thunderbird-102.5.0-en-GB.xpi 645398 BLAKE2B 9985e6392eff8c8088dd4f78854b187565c03cf6b5f1e0f241781f6f9053ae34cae496c2143b7147b4da4bc938be7fd8312544210a044ec1c6e33c6a0b6d5a73 SHA512 8b4f4e6973fa1369abb5910c5e534a7fd592d18575fd780fca1f667ea1da2ab86aea78d74f5b97c62c8feb07187d2c86bc731058d4746a0df375a302f450d93e
+DIST thunderbird-102.5.0-es-AR.xpi 695963 BLAKE2B b9a517f72e9071fb78ec09fc85f157cbbe0297225a4e7800d88e4ddd37c9da14ddb6aedcf2f7ae61abe94ccb23c1efe40dd605ef5a0ed78c4c6dcd140934c98c SHA512 4512768c6168d75bee3a16a38a57157a227d67129d2e8b8b53f7ba1c3cc66367247b87d94e60979da5cbac35c12ccb825bfb89cfded20532ccbacf4d1fb28e9f
+DIST thunderbird-102.5.0-es-ES.xpi 652045 BLAKE2B 18dec7f62d14f332ba1c288b02699845a8026882771f9c374fcb5fe8e449da32b8fb0bcaac99ddba048e49f88b9c09b38844be7e9832dcd230be73a7d8db75ab SHA512 2b8a903bbdbc4c6547168660cdbc47890dd05e810f02676586c6427f202b8ecf9b76399357dab9d8268581ae98cb9b2e36c560006d1fcca973c21b9a3a9eac26
+DIST thunderbird-102.5.0-es-MX.xpi 698653 BLAKE2B c8998bf378308a1869545a18a5d910c73849c6af16e88d3319e2c3d3bd7ca575d10d84bf7c04c45ebfc6a1244ab371d44ceae5991748fdf1efd659d55c9d51ee SHA512 70b28e30a673ad791b723f05513f5671e0aa30b190ba1aca64dc5b314a2926fb6e063eeaa52e1801927a47eb8cf5cfbda6af5c6a42ee779bcf66a04ddb285810
+DIST thunderbird-102.5.0-et.xpi 666813 BLAKE2B d2d0172136de202c78efdb87f785ebbe45136ae777b132481db0fbc83e8e9dd7ab09b434c20e853f839eb5595d6e8bd5f744798a1b50e6d86c811f2745731ca0 SHA512 80f334627caa22ed98483ced66fe328bbdb90123d0d0c85f2301de060398cae46f09afdd948975df9231aee86d21c80e6ae78342614785f3fed355c51df24023
+DIST thunderbird-102.5.0-eu.xpi 680211 BLAKE2B 60f4392588b861f8aac9b6cd684a20248078a1696c975e606af79e92fb0f98a6180f898c61c6aa939963560f7b61523235d12fdbdc37c3f2880a8f3f949078a0 SHA512 cf273461a4dcf53c5025dc82eebac548ca2495d6dd109be5cf7d9fb71df886ba520a3e067d3d49c6c788a1794feba694f6a98a5ba59117046f209e035d9dfed2
+DIST thunderbird-102.5.0-fi.xpi 673902 BLAKE2B faa916d8d7f7a3fca0a9874edf9458ae0d7510b635b036ca526354285e19c9e88e4f7a7539b10b01a7fecc5f8b94e293b7fcddb2a434b2a2b283e7f946d78f0d SHA512 02d46716afa2229ab8032d88b6ac63a40e445ba7841e322a29353f437f5ab5d6692008382cae9df1816850582cc6b917275a7ed1a9560224bfc42eee79babec8
+DIST thunderbird-102.5.0-fr.xpi 708767 BLAKE2B d0e8b29a153358f272de17206680dce3fa13575293b7eed3dea223cd55759a05c43946a70aa7a3019bee6aeb3fbf69fa1ef0bcdc8f17ab199b39fef8249ab232 SHA512 cea496737f46785e4bec8b6b12455b8595af1aa356453e6f34376c8288b886a7e80527557396f0f0a99439886f4cc31815724e6d4b4ac9ed13d1fd356d41433a
+DIST thunderbird-102.5.0-fy-NL.xpi 690681 BLAKE2B 81b85f7092de2cbba0f0de9400fbe52bebec13e7cceff556553ff085123859736b7a1af3e75480596fd21d72548b07721144458f7dec392f0efadf684c273c0b SHA512 180f0959b46a5a4ce4ecea0c8e5bb374e6f4f64f1091b835211f6eb3d8b977a0546127d3759890b184687570d36ed80748e9fdd49b66a8a588654d3e369757cd
+DIST thunderbird-102.5.0-ga-IE.xpi 603098 BLAKE2B ae139feaca04cbf651616ccf62abe3f5a3ba8d27b051b2d0a7d3a5cabc3136fab672e23c228e5a61f5487a7ddd19005243c27001a1108043de98561da70608fd SHA512 ae6dce5b45a6fcddf9f9c04bc23ab7fc9d104d9249e1ca03f3640751d324926687504ad2b75817b498adb9d3db8ac131f942cfe751f7bd530e9334895a043f62
+DIST thunderbird-102.5.0-gd.xpi 632445 BLAKE2B a55383a30b9afd1553cc9d2dff106e5a4cd404cc3c7cc233a6a77b39c0eb4779efe8d61e0da38af6dc858d11c46ebd2065a90e340d79b1254e82e539439cbaf2 SHA512 6aee6f876e8156634c3234d5cfba2e085570403af11d9f2cb2c7a2d864b734e2563b5723d9bd37101a48a832ab06d2c0706cc1cc802b8e49930c693245900e1b
+DIST thunderbird-102.5.0-gl.xpi 663209 BLAKE2B 5d623f3e6d44b0ac583f78ac2910070b27965a9f0aac4b593e3198492a5677ba0c7c8b0112f15af05de7accd46b42e88eda5578830089b481576da83dc52b235 SHA512 a021603f92e8e4ee47083f27742d46acabca340a5f566b20b30545e43260ae7523bcb431de6e99081f013bd8f34d687273ce3ed788e5e51d6ac93e7d9cde61de
+DIST thunderbird-102.5.0-he.xpi 662890 BLAKE2B 7392abf96aa117ace66353b6044f7edbc216257a9291218a43a9af79f50bd4f7a3fd6aafbf0b6bbe28d75b1c65845ca7f410565abdac0476c9c82fbda1eb7786 SHA512 eea501f01b733b32478059de21dba17f7cc619aad4c2ccb719688b8979ba083297f4538aacfd5a9cf56be82500fd52ab883c06098654fcf2b10283ff66af1222
+DIST thunderbird-102.5.0-hr.xpi 661112 BLAKE2B e09982d13328968e5e6c619421c00ffff2a082e84ba5b096d75d9ca1923166c21ef231cd6d7100b78e23b3551a9eb3a4390f2074ccc33a33b7aa2a082225f6f9 SHA512 e3ecf8adee761c0824d2929802bf4341a859cd565abc786bc2b5654040c449bb6d426383e79ace3afd286316b8022134c6f90b22fcd16e69c3cab66a9b2e7507
+DIST thunderbird-102.5.0-hsb.xpi 715754 BLAKE2B f29c273ea44ef4ba2984e2502b7e86bc17c7f4ec9228663f8052934806ffc62b34ca0ad531099995111835753259aa64cd00d846689a29f3e9c69b95b138fec4 SHA512 95d2333a7c11bd57b08cf1f63e67444f6df5ffc65555bd22ce6e3f8446ab1362bf434e95a2ee50c9faf3539613d32532e5332133ddcb804860b214fea9178bcb
+DIST thunderbird-102.5.0-hu.xpi 718785 BLAKE2B 9161d358d82b22e5c013316b5b4cba52fd8c86ab7f4bf4cccef8fd1ac7ccb74e8c7b80e069a22c110e612080816b46cd629cb6a549141bbd1a8ec87e9f8bce3d SHA512 a27d93e84806efcaaf0ebd631194d632093cdf2c8eaaaeba01953b4a5356c2fde3fc0e76e33189a5fb444c5d36d93a9e2f2a4de4e923e4cc9ea599697e25ab5e
+DIST thunderbird-102.5.0-id.xpi 639542 BLAKE2B c302c31046bb4b40e61e63ca29ac52521ed28ae4056bbcc3d372fd60bf632b1505ed77287b902cf4a4468bad91454c12b4a9116a8f467b0ef00dba35befec673 SHA512 ca28ec8accb06fd580165ac2979bb49af0ac426981a8c3062f8ec2251f42e84f045f5b74758433c5b91ef1ae2b986498d0d8a8a6f8e226bbc040a76f6e980302
+DIST thunderbird-102.5.0-is.xpi 685617 BLAKE2B 3e9ea7c3fae76f6579b6e51c7230fea74d1c653e8f9cfe0c4bb64459ec9845373be39b0e6bd731044451b3f937fa19552035ba4e9371d527ef97f02f6516139c SHA512 dae88b95f700d3ec85bf840b8f5dca58cc4040ce4fff90437090a2d38e01e00de6fe44ecf26add241b29287a8ca1ee34f89f50ddb5ce2cc493720ba8ebe27ce1
+DIST thunderbird-102.5.0-it.xpi 617780 BLAKE2B 74ced8df05e7127ae5b93b4b7deefdb4a2150e2e5a09a0731a66dcf903284254fb5b8fdbdd6cd7ed6739b84753c0e2c68780d17dd3f2ac9cec7472249f24b49e SHA512 92dcd540f9ac0f10870ec9561bbcfc2100bc07f8680c8d97416300099cbb10764f597756e321cad432f7c1babe8dad184332a03881fc50625a8c7616b2df60d3
+DIST thunderbird-102.5.0-ja.xpi 755145 BLAKE2B 870f4e67a7c6cacaeb224a5a89d2c6f2bade222846c8265d19c2cb9c7ed8a9dc318ff620aa921468690e558e238adbd2f0936e70ae1163114ddeea088ba9afe6 SHA512 c4e1fb28cff27b5c6731d889dde46d755fb5b5de0d300778ab44509b7bcc12fcd708e8067c8c71ae6c18de49307100b7993e8edad93db47cc389d7e6ffac537b
+DIST thunderbird-102.5.0-ka.xpi 752977 BLAKE2B f9ded31e90cc2dec3c3ec021e318fe28c4101e99f64acfc72928acc7105ee5a18626711d07a0331a596cd21ee23679c3cac3278af37203032a48d9b8b1a174cb SHA512 ab07aea6bc1a88fc54d9212388dec76d200211426cae09148661316bda137fa564417e9699bf5c49f12a9165bbfedeb3464d288a9e6234d4cc94da090e1ddf2d
+DIST thunderbird-102.5.0-kab.xpi 688572 BLAKE2B 02ccaae86f798415b96eb9e283086694a71a1e0a043fdc0246d170eaeb4cfb03109da23f5d416dc89418adc16a69b5df3e01acdc1db23d4981125cf752cc1ce5 SHA512 6123abf6b28ea3e062eb0d12b63571222186bd412b6175a077787675221f54eedaf16857d10c801d7f1fe0bb0dcf69b202de126e5b910a3c37867e6acb9acebf
+DIST thunderbird-102.5.0-kk.xpi 731942 BLAKE2B 5c07b77ebbcba113266c1a6a2556f75872b7e1018b0855a86059411a698ccc6507daf6fed9c3c89ab5aa8ae923506f4da761cb025468ff97499eae083188cb55 SHA512 cd7d777386a6e6bd3a63a0426b1d10ca7fdb1e8914b4833e19098d7023309bc45a560e2ac4fc5632efd71ff8015ba35b76987988a39a163eb16543fd32b6ba0c
+DIST thunderbird-102.5.0-ko.xpi 692942 BLAKE2B 82d2f8c564cc898ee9b864427cb5d1894ecef7f14f14ea1fa76fea1df11deee234119281a08ff1045d63323d860cb0d2c37b5302af61b23a70c1d9112c9b1228 SHA512 ede612e93cb013bef06642a729382863fdd9e25fe4fb21d06b91d36d4ed3145897b9b3346f6710060da1d7fcfde5eb89d9081931f53fd85bc2d75774c420dcf1
+DIST thunderbird-102.5.0-lt.xpi 680720 BLAKE2B d6ab74cb9d46281d8edd9d0c9881a61e113aee5c974e89b865a73326018b969c1b3851411c62f6b67398cceeb84ca4ce53eb43ec2179c890115c76948b41c831 SHA512 73310a4d6b49a069af7dddb31f15157dcb7b44e3eb4cf5dedff5948660ce1ef74e53e9d4e12a097dbef74dc1e5f66d53463f83b114edd3c09661be4d9607983d
+DIST thunderbird-102.5.0-lv.xpi 608590 BLAKE2B 112e346d783a3e926051dff22c0866c265f31cce6ba0455dabc8427996a968da00fcced6243559b270acdd28a0a5a9b6a2a3d52f44bdcc35c581fc93fbaf4778 SHA512 fe67606f64f7fe91fc83f68ee1509a2564f6a05c54aee41d30c79d4756d5e0eeb2f77e9d5822e4c317462a56100f0874c01f86dc0b8cfc04c06f562c1387f863
+DIST thunderbird-102.5.0-ms.xpi 568426 BLAKE2B 594f2a51c56634734d31c313cf4168901fd933dfc770e47b6ab183216deceb6940437af7e84822bf4be74e07032838018525baa5ce89a0946f132a4a445bca68 SHA512 c72b9779ad6ef5d5784b197fdcf3ff117931ea6d66da396c013b2a41850c9d20a4a6dc6f7859462a6879d275971f0e2d044aae3d40788d5f35180f80c17ed340
+DIST thunderbird-102.5.0-nb-NO.xpi 648584 BLAKE2B 1a3bd5d8e4e5e69e44d2dfeefbb348646dd2e3803cb106c1bbf77e2ecd0d2f41d9cf1f8b9fd45693205c39ed836f59a6d54420bfe34b3dac869dfe7274a2d6f2 SHA512 060ef488fb38c947a2be6fa71178538ca1a4100b7fa9b566ef0c5063f4ed4d08d894529042b611760505211b15d498b4cd21d01f168b7fb32264a6f81685a0f1
+DIST thunderbird-102.5.0-nl.xpi 682267 BLAKE2B 64ce650a53812de39c8b57b798d9056c89fb3109b7962bf896eb001200e4948270bfa3b50fc768a349b073d5d5f03390d97fe69c8e6eb5dfe73b13957f436201 SHA512 c3a56572ef569c09fe4f0a8cddc73110f25b5fc31b304cfb8ac21188dd7466637607d11fcf4bdea5678f10e7d94f860ba1ddf1d66c36dd08882cfd8880eca1f6
+DIST thunderbird-102.5.0-nn-NO.xpi 656907 BLAKE2B c03d54e951d501030cce9492dee8b7a30f839ff01078bb474391bd72b3e75e19da2cb3fd9d2808bbf960baa9e6218b0131f70bb31997dc394ed3e954514fa55d SHA512 c11179ffc17faf43ad7a0fd60ea6848832fcc1f7ef1b7c4bd27d60c462732486ae2abd38c13a20d77f3f63b98f1980a61f327747d51ed4e7a910424e3599d5fe
+DIST thunderbird-102.5.0-pa-IN.xpi 653543 BLAKE2B 5e005cc184e5098f6d315a9516efffcb79ade394b3947bb46967f4de94ab4544a1a4db7bfe4f5c482d8a5b3bdb5eb127d948840d785faca452ed8eb30efa888e SHA512 ecd45904664fe6e7e14ff3eedc01317af0a3c309e7bb0ed637a454e2debf6e2937c82c31fe7a13824ceb7a4330020f370117b571e7111810573f14c39cd960b1
+DIST thunderbird-102.5.0-pl.xpi 695417 BLAKE2B ce213b91277dbad211c722b633baa9ae6dee5e0e0d6bad24cd20bbf64ab304851235332ddc0430769d03e9bf119f175bb8e3930da5259cccaee976ec4eb10250 SHA512 172f0a5ab3f1dd5c794d07925b25416db9afd36a547a4690c09d3f7466f5930f1d685622896d350fbebbafb818307bcf0db1201f7c48abd709a08632a2cfa396
+DIST thunderbird-102.5.0-pt-BR.xpi 690288 BLAKE2B 6f891b987f7f8ec2bd2b680a83a3c908c8157966a49d6745538a0e1a71481cb77443cd6486eae544466e371ab92b7c68108bd546d3721feb1dd965f61c5f0a83 SHA512 ec490f04f30d5cacdf9bb9d58bf0d04084c91bc4c5022eee80ac0936ddb5334770adea7dd5a6ed9e5782d72827c2fd75d57235964b23e14332a3e6dc51f122ff
+DIST thunderbird-102.5.0-pt-PT.xpi 666879 BLAKE2B 97b383492d8961236d578ca589f858885cd3ebb2edca3bd628e31a95ec74b8cdba7b0fd0eaf817a899259c1dabc3bd0f1debe267738b5a07938e4960bfa17a77 SHA512 78fdb6c5bdf0919ad49605f53f35b31dc8b1dd5aa1b91d5adbd1b2494c2daea5ab0eee1e00cf60e7de0bd50591ffe73a0ccc4c3c75d97b726c23a863482c9af1
+DIST thunderbird-102.5.0-rm.xpi 686110 BLAKE2B 7dc85b92231b6e6745ed9782e3e19ed0af6b978d1de1af13ceb3314d729d427d48bddb4dbf46a49d9119b19a31c0be837a0946c41550085a679e20ac21d99cbc SHA512 4d56bb4a412548c5e61c11c5c17c3a9f78ee387c20d0845353c93893a2215d72fa7b6eb86b3b26c73b26a4b2298fea5ca7c3a9dbd4a19ec0c96796e80b1e4445
+DIST thunderbird-102.5.0-ro.xpi 651335 BLAKE2B 5838c609016144de1fef33b95b93c90ff5cb0b0354be5bf3f3a442319a3c66da5fbecfc5b663bc74ba6cdc1036ce66d627e687fbe107588e612c3d3593ac4f51 SHA512 a473f95bac0f05dcdec5f14a14168355376bcfa36c10b05101119ef032a3edd2aeda6ef4c138348e20d061087b5d0fb643d5f3e0d764ae3c241b50d92ddd8c3c
+DIST thunderbird-102.5.0-ru.xpi 801784 BLAKE2B d1c74cfd59448ac3ac2ea2e43742a3c013ed85a9e2000d72a4066dac361bccfb9dc89edd028f9627083f296da158981716ed5d5cce9c646ff2e3c1ff7481c51e SHA512 b06f419d9ffdae93ce9eed53af2320714a8d030149c674e5ee31ee029f904f95cf9eb3700f1aea0477cec1ee8d8748b2c187e9dd326a335dad7b2eeb6bb98d1c
+DIST thunderbird-102.5.0-sk.xpi 718356 BLAKE2B 88972ad0c55db486ca68b33501a56ce03cdb508b119779031bf05192ecd14b46e88cfa468f5954d1e775b373f32157f101899ada657bdd8160ecce6c591321d5 SHA512 6061ebdd3323e80775927bfec4c31da09caa1ba446538a729f5d411f8b2897912d5184fe58e0f409dcebfb62f127eb381bd617c548f08ace00a1edc12fbf8b7e
+DIST thunderbird-102.5.0-sl.xpi 683784 BLAKE2B 72e336a55d5e19f70a23beda0a389d14ec96f4ad19d2f1a720c47ca50cb0e91a3f2444bf8f31850ec472109313b32283e064f953f2fbc1e81b7309a098e73946 SHA512 cc8e01d12792478e5a4d944a9c636def45b6c129f8297ee292a3cb0537cffd87588daa9fe0dcbcbaf1f35ebf70b60408e219328faa642a65f8a0d17d62be23ea
+DIST thunderbird-102.5.0-sq.xpi 690224 BLAKE2B 32e5f70898bea3ec98557e9f0885c8ff2904cfa6fe0966b74847e146a8667cddc16431616bbde806956e4c20c7993999ec7f94eaf1ce26c0b44b17cbc3f4beec SHA512 ccd89b79c7ed148b0c3cf17ec426c6f17c31cecab47a7542413dc0de93c771c79b18c9bb15b56161511f0ff08fa79aaa8426a691f8d340b63d4efbd55c5ebafd
+DIST thunderbird-102.5.0-sr.xpi 705270 BLAKE2B 5a57b5368c2b267fd851ad62e0471c7d4e148000330c0fa64c1feea36c4a13b407e57a0f4eccd8bd789996902a673eb83d73ddd60613c46c79ec7fb748926483 SHA512 61374f38ff7e3d1a8c5d65de4f95ffcbb437e2ba0e5160945ddac2bab2a23779e78f3d4f2c265558a122e5a744d681118458c6a939c3bcca547b7c90de998dd5
+DIST thunderbird-102.5.0-sv-SE.xpi 685685 BLAKE2B e3a6d1569889a713319dedccbf31dcc3a1dcaa2074e781df8d9418eca41de907672e77fe9f797a16b13a7bd56afe0d5b20ad650452c259004ad1c16f8634fbdc SHA512 333e6d8fe81a4a4bead28e767d50de91eb4ad6e699489f5707de33abecb7a0dfb737843e822f487eb2a5e814b23de1fa3f8c2ea99c47a2652f230d0417ddfadd
+DIST thunderbird-102.5.0-th.xpi 734540 BLAKE2B 354a2fa484df6237fc0c2ac1a6062ae5917fd65ec81b1ceccce7ad1619d510bfa7adf52d970e3fed870f48b6e9c348571f81c4f046ce7738da5dc8f33751ea5d SHA512 00637837eadf37d41db11999373ba01a8169a8084cdfedf824aa8ddc9af39f3c77e70cae1e53079497d3501a7887a66f5ce8862c8b08c794bb3ec7e9197c9021
+DIST thunderbird-102.5.0-tr.xpi 697057 BLAKE2B 3e7ec8a07f9915437167c8975e69158feb02726dc6ddf1caa22fd7c30f26c3fe6c1100fec45c4379d1376b9163600abc91bb055dc3a86f6f8dca85da2ef92703 SHA512 9d0e99063cee5beea0de06ed9a9fe13bf408ea12447d89ed20f35f3907dc945ff0136bda7544925d90b94d7f1f540645d1a2d90abc7ad953d9033dbad8d04e78
+DIST thunderbird-102.5.0-uk.xpi 794406 BLAKE2B 7bc74fbefbdb6d227c60cdd0666d29892d96de7ec01dc0df7d4014da2457b5b42cb5f39ed54299641dcfc891862db457c3d22d64de429cc6844c3ac67c29d085 SHA512 8a89937877dc1510ed762589b40770138d6675acb3008e9d504f23a277de0d7fba0e24ac90a1033912cd9e9830ded2c638a313d8dad862b1726d1111e1a04583
+DIST thunderbird-102.5.0-uz.xpi 584807 BLAKE2B 645493e677ef4ad188f04ed3b9873b37fb96d1a49c90b41fa2093a743fd5095324d56393e87abd5035a34ae32ac65a4b09811b7402e8fec3d23a152cbbc70cc7 SHA512 891d0c88db54378306862e644ab2b46c0f95d0ab98c69167d4b736c5f39b87e01352c487230b9496fe0126eae151390a05c12b1aa3327d86407d84cf46fa7f38
+DIST thunderbird-102.5.0-vi.xpi 724849 BLAKE2B 1a912cff7418cd2d1139bbfc2c060e6e5fa871d6196b899aa1de2514be7921d0a978fc31ee4f3ef4b71d9b830e8c419e50f9607f64d7d711c15b48d97e6d917e SHA512 85dec4b8086625cba7d120c24f95794959ba6babf943dfe184e12cca704bd78983f59173a06f25e54c56c76706f3bd1d03061a925d1dad619e9aa77672c3692d
+DIST thunderbird-102.5.0-zh-CN.xpi 722696 BLAKE2B 8a04aeaf37d8d3580c1b2ef79bc2c288b9be36f7a01e582acd7c2f017ce3dd572d7af52e0327347024e422f07c1b8fe64f4fb8c63452a453e70417904945f6cc SHA512 73c23709d2d994877da5676abafda891c78f830649f908d4f90f5e9033b2b30b6542a7b5e2ca1592874e112c270e73a8b4c783288b953b19abdfdbe73c6949f2
+DIST thunderbird-102.5.0-zh-TW.xpi 725969 BLAKE2B 863f00e7b37197d42c3400ab28d0561a90d64b61ac110a5709c2c117e43d57da9752cc1240a199bf82fce291b8e5169d68e017280bcd303ac8ff9244106dc1ad SHA512 c7027c8dec0659662e357468657ec2befe1e4bc50a38acc99849157b5e0a227d574a6238f14335348f9d41fa419859f34f572f2072f01d25d4348c9cef755bfe
+DIST thunderbird-102.5.0.source.tar.xz 506950192 BLAKE2B 7374644b6601358b9ac10694faf15bcfee20a92b00905b6d8321964996682512bbd3b57ab44ebcdeeb5f10ff297d14ce56f8c28482ab9fefa2ccf67df0adbc08 SHA512 b6f2828b23616db5620e0364a1ebb02a8676e184d5e361c0aa87f36b64eb6b7f4b1bc3c42675b3ae3092953fbda6b01c18c068b167d40469481b1e18af1dcaa1
diff --git a/mail-client/thunderbird/thunderbird-102.5.0.ebuild b/mail-client/thunderbird/thunderbird-102.5.0.ebuild
new file mode 100644
index 000000000000..549059c920e4
--- /dev/null
+++ b/mail-client/thunderbird/thunderbird-102.5.0.ebuild
@@ -0,0 +1,1170 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-102esr-patches-05j.tar.xz"
+
+LLVM_MAX_SLOT=15
+
+PYTHON_COMPAT=( python3_{8..11} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="pgo"
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils \
+ llvm multiprocessing optfeature pax-utils python-any-r1 toolchain-funcs \
+ virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~{juippis,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+
+DESCRIPTION="Thunderbird Mail Client"
+HOMEPAGE="https://www.thunderbird.net/"
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+SLOT="0"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
+IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp"
+IUSE+=" wayland wifi"
+
+# Thunderbird-only USE flags.
+IUSE+=" +system-librnp"
+
+REQUIRED_USE="debug? ( !system-av1 )
+ pgo? ( lto )
+ wayland? ( dbus )
+ wifi? ( dbus )"
+
+# Thunderbird-only dependencies.
+TB_ONLY_DEPEND="!<x11-plugins/enigmail-2.2
+ selinux? ( sec-policy/selinux-thunderbird )
+ !system-librnp? ( dev-libs/jsoncpp )
+ system-librnp? ( dev-util/librnp )"
+BDEPEND="${PYTHON_DEPS}
+ || (
+ (
+ sys-devel/clang:15
+ sys-devel/llvm:15
+ clang? (
+ sys-devel/lld:15
+ pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:14
+ sys-devel/llvm:14
+ clang? (
+ sys-devel/lld:14
+ pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] )
+ )
+ )
+ )
+ || (
+ virtual/rust:0/llvm-15
+ virtual/rust:0/llvm-14
+ )
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.24.3
+ net-libs/nodejs
+ virtual/pkgconfig
+ amd64? ( >=dev-lang/nasm-2.14 )
+ x86? ( >=dev-lang/nasm-2.14 )"
+
+COMMON_DEPEND="${TB_ONLY_DEPEND}
+ dev-libs/atk
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/libffi:=
+ >=dev-libs/nss-3.79
+ >=dev-libs/nspr-4.34
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/mesa
+ media-video/ffmpeg
+ sys-libs/zlib
+ virtual/freedesktop-icon-theme
+ virtual/opengl
+ x11-libs/cairo[X]
+ x11-libs/gdk-pixbuf
+ 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/libXtst
+ x11-libs/libxcb:=
+ x11-libs/libxkbcommon[X]
+ x11-libs/pango
+ x11-libs/pixman
+ dbus? (
+ dev-libs/dbus-glib
+ sys-apps/dbus
+ )
+ jack? ( virtual/jack )
+ libproxy? ( net-libs/libproxy )
+ 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-71.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
+ system-libevent? ( >=dev-libs/libevent-2.0: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? (
+ x11-libs/gtk+:3[wayland]
+ x11-libs/libdrm
+ x11-libs/libxkbcommon[wayland]
+ )
+ wifi? (
+ kernel_linux? (
+ dev-libs/dbus-glib
+ net-misc/networkmanager
+ sys-apps/dbus
+ )
+ )"
+
+RDEPEND="${COMMON_DEPEND}
+ jack? ( virtual/jack )
+ openh264? ( media-libs/openh264:*[plugin] )
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4
+ )
+ )"
+
+DEPEND="${COMMON_DEPEND}
+ x11-libs/libICE
+ x11-libs/libSM
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang ; then
+ if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
+ einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use pgo ; then
+ if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
+ einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+ af ar ast be bg br ca cak cs cy da de dsb
+ el en-CA en-GB en-US es-AR es-ES es-MX et eu
+ fi fr fy-NL ga-IE gd gl he hr hsb hu
+ id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+ pa-IN pl pt-BR pt-PT rm ro ru
+ sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -ne 1 ]] ; then
+ die "${FUNCNAME} requires exact one argument"
+ fi
+
+ einfo "Clearing cargo checksums for ${1} ..."
+
+ sed -i \
+ -e 's/\("files":{\)[^}]*/\1/' \
+ "${S}"/third_party/rust/${1}/.cargo-checksum.json \
+ || die
+}
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+mozconfig_add_options_ac() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_add_options_mk() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_use_enable() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_enable "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+mozconfig_use_with() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_with "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server can not run as root!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6600M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_setup
+
+ llvm_pkg_setup
+
+ if use clang && use lto ; then
+ local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+ [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+ [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+ local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+ [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+ [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+
+ if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+ eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+ eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+ eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
+ eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+ eerror " - Build ${CATEGORY}/${PN} without USE=lto"
+ eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
+ eerror " llvm/clang/lld/rust chain depending on your @world updates)"
+ die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+ fi
+ fi
+
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if use pgo ; then
+ # Allow access to GPU during PGO run
+ local ati_cards mesa_cards nvidia_cards render_cards
+ shopt -s nullglob
+
+ ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
+ if [[ -n "${ati_cards}" ]] ; then
+ addpredict "${ati_cards}"
+ fi
+
+ mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
+ if [[ -n "${mesa_cards}" ]] ; then
+ addpredict "${mesa_cards}"
+ fi
+
+ nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
+ if [[ -n "${nvidia_cards}" ]] ; then
+ addpredict "${nvidia_cards}"
+ fi
+
+ render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
+ if [[ -n "${render_cards}" ]] ; then
+ addpredict "${render_cards}"
+ fi
+
+ shopt -u nullglob
+ fi
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+ MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+
+ if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+ MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+ fi
+
+ # Mozilla API keys (see https://location.services.mozilla.com/api)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+ MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_prepare() {
+ if use lto; then
+ rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+ fi
+
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # Make LTO respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure \
+ || die "sed failed to set num_cores"
+
+ # Make ICU respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/intl/icu_sources_data.py \
+ || die "sed failed to set num_cores"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+ || die "sed failed to set toolchain prefix"
+
+ sed -i \
+ -e 's/ccache_stats = None/return None/' \
+ "${S}"/python/mozbuild/mozbuild/controller/building.py \
+ || die "sed failed to disable ccache stats call"
+
+ einfo "Removing pre-built binaries ..."
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # 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 ..."
+ if tc-is-gcc; then
+ have_switched_compiler=yes
+ fi
+ AR=llvm-ar
+ CC=${CHOST}-clang
+ CXX=${CHOST}-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
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ export AS="$(tc-getCC) -c"
+ tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG
+
+ # Pass the correct toolchain paths through cbindgen
+ if tc-is-cross-compiler ; then
+ export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
+ fi
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set state path
+ export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=comm/mail
+
+ # Set Gentoo defaults
+ export MOZILLA_OFFICIAL=1
+
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-gpsd \
+ --disable-install-strip \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-updater \
+ --enable-js-shell \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-ffi \
+ --enable-system-pixman \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --without-wasm-sandboxed-libraries \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system \
+ --x-includes="${ESYSROOT}/usr/include" \
+ --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+ if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ # For future keywording: This is currently (97.0) only supported on:
+ # amd64, arm, arm64 & x86.
+ # Might want to flip the logic around if Firefox is to support more arches.
+ if use ppc64; then
+ mozconfig_add_options_ac '' --disable-sandbox
+ else
+ mozconfig_add_options_ac '' --enable-sandbox
+ 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-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
+ fi
+
+ mozconfig_use_enable dbus
+ mozconfig_use_enable libproxy
+
+ use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+ fi
+
+ local myaudiobackends=""
+ use jack && myaudiobackends+="jack,"
+ use sndio && myaudiobackends+="sndio,"
+ use pulseaudio && myaudiobackends+="pulseaudio,"
+ ! use pulseaudio && myaudiobackends+="alsa,"
+
+ mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
+
+ mozconfig_use_enable wifi necko-wifi
+
+ if use wayland ; then
+ mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
+ else
+ mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3
+ fi
+
+ if use lto ; then
+ if use clang ; then
+ # Upstream only supports lld when using clang
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+
+ mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+ else
+ # ThinLTO is currently broken, see bmo#1644409
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ fi
+
+ if use pgo ; then
+ mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+ if use clang ; then
+ # Used in build/pgo/profileserver.py
+ export LLVM_PROFDATA="llvm-profdata"
+ fi
+ fi
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # This is upstream's default
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
+ else
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ fi
+ fi
+
+ # LTO flag was handled via configure
+ filter-flags '-flto*'
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ else
+ if is-flag '-g*' ; then
+ if use clang ; then
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
+ else
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
+ fi
+ else
+ mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
+ fi
+
+ if is-flag '-O0' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
+ elif is-flag '-O4' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
+ elif is-flag '-O3' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
+ elif is-flag '-O1' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
+ elif is-flag '-Os' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
+ else
+ mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
+ fi
+ fi
+
+ # Debug flag was handled via configure
+ filter-flags '-g*'
+
+ # Optimization flag was handled via configure
+ filter-flags '-O*'
+
+ # Modifications to better support ARM, bug #553364
+ if use cpu_flags_arm_neon ; then
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
+
+ if ! tc-is-clang ; then
+ # thumb options aren't supported when using clang, bug 666966
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' \
+ --with-thumb=yes \
+ --with-thumb-interwork=no
+ fi
+ fi
+
+ if [[ ${CHOST} == armv*h* ]] ; then
+ mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
+
+ if ! use system-libvpx ; then
+ sed -i \
+ -e "s|softfp|hard|" \
+ "${S}"/media/libvpx/moz.build \
+ || die
+ fi
+ fi
+
+ if use clang ; then
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
+ # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
+ local disable_elf_hack=
+ if use amd64 ; then
+ disable_elf_hack=yes
+ elif use x86 ; then
+ disable_elf_hack=yes
+ elif use arm ; then
+ disable_elf_hack=yes
+ fi
+
+ if [[ -n ${disable_elf_hack} ]] ; then
+ mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
+ fi
+ elif tc-is-gcc ; then
+ if ver_test $(gcc-fullversion) -ge 10 ; then
+ einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
+ append-cxxflags -fno-tree-loop-vectorize
+ fi
+ fi
+
+ # Additional ARCH support
+ case "${ARCH}" in
+ arm)
+ # Reduce the memory requirements for linking
+ if use clang ; then
+ # Nothing to do
+ :;
+ elif use lto ; then
+ append-ldflags -Wl,--no-keep-memory
+ else
+ append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
+ fi
+ ;;
+ esac
+
+ if ! use elibc_glibc ; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ # Allow elfhack to work in combination with unstripped binaries
+ # when they would normally be larger than 2GiB.
+ append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+ if use system-python-libs; then
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system"
+ else
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+ fi
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support arguments
+ mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if use pgo ; then
+ virtx_cmd=virtx
+
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+ fi
+
+ local -x GDK_BACKEND=x11
+
+ ${virtx_cmd} ./mach build --verbose \
+ || die
+}
+
+src_install() {
+ # xpcshell is getting called during install
+ pax-mark m \
+ "${BUILD_DIR}"/dist/bin/xpcshell \
+ "${BUILD_DIR}"/dist/bin/${PN} \
+ "${BUILD_DIR}"/dist/bin/plugin-container
+
+ DESTDIR="${D}" ./mach install || die
+
+ # Upstream cannot ship symlink but we can (bmo#658850)
+ rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+ dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+ # Don't install llvm-symbolizer from sys-devel/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+
+ if use wayland; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
+ pref("gfx.x11-egl.force-enabled", false);
+ EOF
+ else
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
+ pref("gfx.x11-egl.force-enabled", true);
+ EOF
+ fi
+ fi
+
+ # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
+ if use system-harfbuzz ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
+ sticky_pref("gfx.font_rendering.graphite.enabled", true);
+ EOF
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/comm/mail/branding/thunderbird"
+ local icon_symbolic_file="${icon_srcdir}/TB-symbolic.svg"
+
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menu
+ local app_name="Mozilla ${MOZ_PN^}"
+ local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop"
+ local desktop_filename="${PN}.desktop"
+ local exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" \
+ || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+
+ # Install wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+ # Update wrapper
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+ -e "s:@APULSELIB_DIR@:${apulselib}:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" \
+ || die
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+ # does not need to be forced into the LD_LIBRARY_PATH
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ einfo "APULSE found; Generating library symlinks for sound support ..."
+ local lib
+ pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+ for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+ # A quickpkg rolled by hand will grab symlinks as part of the package,
+ # so we need to avoid creating them if they already exist.
+ if [[ ! -L ${lib##*/} ]] ; then
+ ln -s "${lib}" ${lib##*/} || die
+ fi
+ done
+ popd &>/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ elog "Apulse was detected at merge time on this system and so it will always be"
+ elog "used for sound. If you wish to use pulseaudio instead please unmerge"
+ elog "media-sound/apulse."
+ elog
+ fi
+
+ local show_doh_information
+ local show_shortcut_information
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ # New install; Tell user that DoH is disabled by default
+ show_doh_information=yes
+ show_shortcut_information=no
+ else
+ local replacing_version
+ for replacing_version in ${REPLACING_VERSIONS} ; do
+ if ver_test "${replacing_version}" -lt 91.0 ; then
+ # Tell user that we no longer install a shortcut
+ # per supported display protocol
+ show_shortcut_information=yes
+ fi
+ done
+ fi
+
+ if [[ -n "${show_doh_information}" ]] ; then
+ elog
+ elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
+ elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
+ elog "DNS traffic to Cloudflare by default is not a good idea and applications"
+ elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
+ elog "(\"Off by choice\") by default."
+ elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
+ fi
+
+ if [[ -n "${show_shortcut_information}" ]] ; then
+ elog
+ elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
+ elog "each supported display protocol. Instead we will only install"
+ elog "one generic Mozilla ${PN^} shortcut."
+ elog "If you still want to be able to select between running Mozilla ${PN^}"
+ elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
+ fi
+
+ # bug 835078
+ if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
+ ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
+ ewarn "enabled for Firefox. Nouveau / your GPU might not support the "
+ ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
+ ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
+ fi
+
+ optfeature_header "Optional runtime features:"
+ optfeature "encrypted chat support" net-libs/libotr
+}