summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonas Niilola <juippis@gentoo.org>2022-11-04 13:07:02 +0200
committerJoonas Niilola <juippis@gentoo.org>2022-11-04 13:07:36 +0200
commitd46c315ad0c7dfee3d6ad9bf77edb241e212bdec (patch)
tree9464bb076cd3e542e9b22140d8e792cc41eb24b1 /mail-client/thunderbird
parentdev-python/statsmodels: add 0.13.5 (diff)
downloadgentoo-d46c315ad0c7dfee3d6ad9bf77edb241e212bdec.tar.gz
gentoo-d46c315ad0c7dfee3d6ad9bf77edb241e212bdec.tar.bz2
gentoo-d46c315ad0c7dfee3d6ad9bf77edb241e212bdec.zip
mail-client/thunderbird: add 102.4.2
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'mail-client/thunderbird')
-rw-r--r--mail-client/thunderbird/Manifest66
-rw-r--r--mail-client/thunderbird/thunderbird-102.4.2.ebuild1165
2 files changed, 1231 insertions, 0 deletions
diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest
index 899ed0d33679..e5d8ed3490af 100644
--- a/mail-client/thunderbird/Manifest
+++ b/mail-client/thunderbird/Manifest
@@ -1,4 +1,5 @@
DIST firefox-102esr-patches-04j.tar.xz 21860 BLAKE2B 1cc1d6493912f85e71cb5a0ec2c3196cda203242f3503bb6ce8c23a93e71a6e8b1138f88498a6a9698066134cc234989b35cb378693fb2cbc9ba4caa8d66761d SHA512 9f7188dd79b9856826ae2a60b0109c2c86c60c10b03cd1828a9f7a7576df5c49ed3e11e4d3319d80e117204d6bc3408e375a62ad16ec8d2e53f999cd298811d8
+DIST firefox-102esr-patches-05j.tar.xz 22180 BLAKE2B ea90ac860b20e6c44ad0abcc0275ffb8d09f29df07b9031b45642163408a0ed88a7ea3c5f2d40020ae1129521f3234c4bc22b2956a4aaf8679fe5f2e85c18fd4 SHA512 93733f8e3cbd19b5cbfb62487369ca7e5fda8f3335539e5af66d3d89c8b0bbcca4251bb56d92a008d47a6790f5cb2874268b2421c307307bbd34e4b3712b403e
DIST thunderbird-102.4.0-af.xpi 551915 BLAKE2B 13681d8aac920cc3295760e3ae21717d8fa67c35557216c70044b0e0d53515985e7a1c1508199149d34ea1dc6d0fe209091da3a30e1f0f9654b7c9ee607cd44a SHA512 960d9abcb20ce01ad1156c0851e8911f20de7de6e81968f85eeffadec76a1e322c7072b098f8001f0f9f252ccd5079efbec1d4ca41bcd2c5202982e3d7590b99
DIST thunderbird-102.4.0-ar.xpi 656148 BLAKE2B 9e83046403ddbb6701efa85da7c9492e852bc61bbf67287447c51a57d48934fa7e1111147ddef881b40eecbfb1da30c0d28cc9f215e210defdef583bed515936 SHA512 3ad66f30160bb1ec4d881849e96e511cfd71cda4b1b5d559bcec5e4268085e2c6fad30b7a7ce276b9e01cc70193bdc097e0870538c60ff3c4d86e8e23735b9b4
DIST thunderbird-102.4.0-ast.xpi 564832 BLAKE2B 83e12d4c8de9ef10bd5801ba54e2c37c718303f204bb730f99a3769b0931a62144d17fb699a24baffb3b16ca506638074a3d1f586f6c128f1874d70bf2d50ce2 SHA512 f07d7aa6d5c809506a10ddd79d1542045f4d222eca7ec5889a06ce539e10a291b8fae89cb500476a8945c2d2a093e102e08fe56cb27e9211ddd2780805a429f6
@@ -129,3 +130,68 @@ DIST thunderbird-102.4.1-vi.xpi 724844 BLAKE2B 5e8a9477e941b796fcee5d2c191396290
DIST thunderbird-102.4.1-zh-CN.xpi 722695 BLAKE2B 455c56d5756066913b9e4192f47e1b96d35c6122deacd6e26328dd2437f7f54e874efd27dad0113e286dfe704446ac4bd49c78d6cb71e3580692c5b2c8ef0c31 SHA512 4d9845511c89a5c641e74f524f4daee3c6ee36bb616499393ffcec9b336bcc91d04997dbec1bf2b833bdbd38f96d4e49882aa65a7c03258b08dc435d37c2f6ed
DIST thunderbird-102.4.1-zh-TW.xpi 725965 BLAKE2B c4d532dca6fd01e31756fd4865abc4726a662ffe8f9221705ea9936b826d82791a3eb6bdab2128acbf5f6bf6152b16d3b98ca8c53fbf267b511b74d1b6a40345 SHA512 14b190ae8b0886996d9660d1ea32e9f33442d96f7dc61ab26731e119e3236a23c358d1a2385b6ee7facae53c78f1e94000b451a4c36d98ccc80630042af6f2a3
DIST thunderbird-102.4.1.source.tar.xz 501950000 BLAKE2B 3e846245e8208c046ba87f0df984c7f875fe9c03122e71d1af82db42e987007478104a56edf640f75932145dbd7ad9812cad0aff99295be5fd551d0396034fa8 SHA512 8855f7bf1ee2c9f6859189f3aa8afa5d851af2f4edb1a63e3804ec7796f228addf2819028ca6213f7c3f6c452cf4915801df1e706d7c84d8f15e0a627c77b7b6
+DIST thunderbird-102.4.2-af.xpi 551372 BLAKE2B da7fee00ca127cc49f5b94bc5614a48957f254f6c53d08aa61cab69df30cc7d1b2308e2c59f5a66301e46a5aaa011aa54e955b79eed079a21aa7eadf17ca3639 SHA512 14ebd81a8a226b23a2915a1e4082c6cbf0ed86ef47c03c98de8f9146319cceb84699863d1df53fa5b51c08b122ed600758069fe33875808b1cca99cfe8c2ff3c
+DIST thunderbird-102.4.2-ar.xpi 656150 BLAKE2B 7a2c705155cc5959cb7b1b06a905d11f695f974b63e1ac6b5b548f8740aa3804712a1bee2f44968550ab1f559b167a5cdc534eb814191ad16aa2ed72a67b866b SHA512 7507d5f7cb851d07e3b52002605e9ee003738dfcf7b67ade69534c603d4fae1312c0383faf517feaaaa8fa1a458afedfe3f1a3ec0eaac99364e718c1703632ce
+DIST thunderbird-102.4.2-ast.xpi 564287 BLAKE2B c1faabf71ca9707d35722f750017c67f7fb6955c410002aa530f880b6106b1908111d58f3ac1682800d0d7002e3fa979e3d35de89d1326d088855335ce5c42e1 SHA512 f8db940f7ebde72b73bfed6483c043a4c12ea516f3613f7f699c25c2fdac3f54f5601c9104a154670bf6cdbf95f66b7a24c042c4dd12adbaa2b1ec978d670c5a
+DIST thunderbird-102.4.2-be.xpi 686679 BLAKE2B 106a5a32842dc591f47400150efada525f13a7383048d23b33aff761c1d6140b7e70d73f41b610e0cc17ac6fec930bb69e146e7c95ad45d483e71a4019be79a3 SHA512 4f1eac67a367f669fc5e0a59524a7cab5abf1090d3ba7644b69ebc477b92cdc558f968091a63f44e604e10be9226e3c08b607726b55447ac49cdeb718519fd98
+DIST thunderbird-102.4.2-bg.xpi 682268 BLAKE2B feb4e6f7d2958c413c93cc744d7118c7c6237aec5e8ceff27d91e0acf8fed948b420c74ea00ea06fcb1df40ee75263ee0bab803fb3e2f745b73968a83c789189 SHA512 9e441c90994ebda49f6f7c3b19137c3d3845faede3f4f07de2c3a164284d08fd8216b51961126bf9adda62318a84ad3c2b12d0dcf055ab7d3d450a926be4dfb5
+DIST thunderbird-102.4.2-br.xpi 615116 BLAKE2B b491616d53a06267d43afad2f5d1898983ade307235bdbfbf4dd38a9db6586d1087f561110220062f7036809d04d5bd20a73092a626476deaf9a40b846264e6f SHA512 477ff50e728bc3eca193084420dd46088a1181e9f1444977c7d1b4e4c6bb0a6bb501c7526cb1a712fea8b7b159f1e6cfd2ab935bcd0290777c913ec048f0ec44
+DIST thunderbird-102.4.2-ca.xpi 636174 BLAKE2B 48ca049d97beef13ed5bb6bc2bbef9b2c919e25c5c1a8484b698e899ff0baca9f3704f517a72fcb32a5930d65ab234ff06a0bfeb2ca0d87488cc2d79368eb62a SHA512 8eed52dfa8ed94a1ab4aa0696770523b07a9e6c4551b76aa5d87ba699f5c5ddde6745b3f3074ce8786b2b52adc6dea8f8905464649518a38fba9b5d691005311
+DIST thunderbird-102.4.2-cak.xpi 641841 BLAKE2B 78ccc24b6158ff743100b5a99f7f2f7a35d312250e74241e4552ffc65ede54d7fd3014df1a09f9fee620305eac2d65e6df5d74eab63af5f786e1acf266f84a06 SHA512 8c69d3201f011f2db121008f1d2ec81f2369e5f4b918d2092a3264d0f9c36a8f4f66219cd9c3dc4188d3a7a7a05176a9f298333fc5f0b4fd278f5ebe916b36bb
+DIST thunderbird-102.4.2-cs.xpi 706338 BLAKE2B 40c1f19439d17966e3ca2730fab8a0a365a8a4556efc5f946b4e7a4ea7a08138e5da82b0410446f868ea38e4ba07617a0dfbb05cfdf3f8524b5215804f85c91f SHA512 8263fa9357fefb2e8ffc21043356c502524ba0e190baa42d6a171be6b11d4e79f00de9058121940e31abc5f4c6a1eb95d4bd7de941d17ac541c64f3d9035347c
+DIST thunderbird-102.4.2-cy.xpi 684716 BLAKE2B 34f151510eacf0fd7b25a0c6863b9a7d3a89eb4c0bdf65609501254f7c1a27ddd3e95b2ca0b758b73588a1cefd57be7b5d132f584992b0f94bc1a16aa95bb990 SHA512 11aa51d16ec3807c02a3c32798a94c86ae7b9a5fd086aaabefa4dc174702a12bbc5c2dfb49b6bf3b398fc482b24d480cd1ec1c58ab875b7554f47f029e417e49
+DIST thunderbird-102.4.2-da.xpi 670578 BLAKE2B 05fedaeccbf90577c94651e63bb2890a3b0965f7dc6ea0794a37441bb4773ea5659c55e80c6aa2892eebe7ed372dad180605a45e7613abd23123bcfd3f92a298 SHA512 802e227b30d8b4d1edbc546d973ce05486a8b80eeb98f0e12a02b6496caf2e03e852060525d5c43e990196fa18c50cde80d3a19c2b9293b0798faf71d8581e61
+DIST thunderbird-102.4.2-de.xpi 703559 BLAKE2B 132497fd348b4c3b912538aa4daefde53b61a7b6245fb5518097b53db57a66870dee7e672d3632fa06ee89dcb818f35e77a4fe8ddd01da245604c5393bdd7cd9 SHA512 094e7914fe73ccd4349f0c979d11656b486aa7ee9d35550ef072af38de0925526051c716ab01c06ca220d4e26699cb01b5a203a8dba1e497e38d4ef8d23e3936
+DIST thunderbird-102.4.2-dsb.xpi 718470 BLAKE2B ad4cb896fcda260ede949a8e2e7fc8c014423bba2d4327e72556e77486a8dd2e61e61547110da0233ef01920024fc32fc422bb8b79ba0cc0eaead7dc531086a6 SHA512 39d1dc9b447b606f50e189eddc2543048f07e42fb0c78a709b9acf6c377318142050c278857161592d3268d2040531251eae5201acaae53ccfae632575d4dbc3
+DIST thunderbird-102.4.2-el.xpi 816316 BLAKE2B aa0c5f9bc7d38450d1c8b97badcb3eacfeee7b539c34878f4d6b87f2df9869a10073abcff341882455256e2d48664493e79ab28e793a9711f67ce58f9f6bc5cf SHA512 6d2a4f87d42c340f0d8768e5c45c22dd0b6c134eaaf0756ad1e5b3f97206840d15cf75cc09828dbe813ff3863266103a0dfd10a44174ca9cfc4646b8a6c337c4
+DIST thunderbird-102.4.2-en-CA.xpi 644397 BLAKE2B d2c8a988639948a12c72921d7169a8d97a5a6737ea6eb60ca462fd09b07c85f87981b93df1d5d59de5beed77f68715d827087afec764f9661a7d6cef4e2916d4 SHA512 d329c6cab779a9ecb852fe2be779599b077647a4670cffc04e25ac172dc93565cf68bb6ad4407374b0e856c4922984edd04e4d125f025b8412eb58416d85831a
+DIST thunderbird-102.4.2-en-GB.xpi 645398 BLAKE2B 331c0744ee350f1906d359faa688b8c4ca7a3f879dc2067c0d1c16929495a029ee6af3b3d4677227115868c2048e28495517f2b632c088468cec3635b5e45651 SHA512 1b86a5132b403b195749994022f624ad931d413f54f2eeecf02cda4ffb06b15e64e7e03577d44f4b49b1bd11cfe1aaec19ba98ed019e7435316dac39b417944a
+DIST thunderbird-102.4.2-es-AR.xpi 695963 BLAKE2B 02cfec82159b023adc586d53ca1164817e32b46a854781386dd52473eacbe5efa6f1927d4bc1b5b3edbad443707ec3c566ad4214dc28452ac7ab50801e3135a0 SHA512 06a475b8e66dbd5ea4c41c728b88237b3f76a3eb13fa8aca882274da73a8b38cfa779717661935a618ce780b190dc473a1542d3167e29a43195956bdba5abbe2
+DIST thunderbird-102.4.2-es-ES.xpi 652045 BLAKE2B 39c1c05abd9872096e3c2c70047ccbc24663ae55e1efcdfc37b3ff5edea2d62491a564ebff878adbe16093a8589cb35a0885ac4ffd0774da440566c4bd286bd4 SHA512 c9d4a6553637abd3d44656a015ed7d17b48b82fe7b3bd2f89da9723d10f9cbef3dff011e41e94b264dfd15182d2d69ff04f8f4650ba6555372da44bb9e1497f7
+DIST thunderbird-102.4.2-es-MX.xpi 698653 BLAKE2B c74050ffe38504ba604592ba9a19bf786bc69cbf3c882410ee483b7ac440c23890e5e326c530db11471d17e2e96c2a2e7c7861ca4e8a3ca5db3c292c9dea8765 SHA512 fcdf3c3bb6fcff7c315761c727a8e57d6debec5b4d47f2da54fb4cdf525a900ad809068a254c68504043e4113260525122d39899427178f658574a595d128255
+DIST thunderbird-102.4.2-et.xpi 666815 BLAKE2B dbf432e9feecf3a934a630fdc5b81e89daeec67c48402da35b62a020d31ad1263167bf32d0095e0019ca8eb47aae67c21b7c32f13a7ab48d74760f8417973b33 SHA512 f0776cac9cc1cd9ac716b47302aa93ba6f65fee469f92b42f4366ba557f289c6d98858a7f9631b9f4c1091abf5446e440e855d860f5c5cdadeb3660fbe847c2a
+DIST thunderbird-102.4.2-eu.xpi 680211 BLAKE2B a785bd3a7e519dc42ecf4d928fe8cd66b73a56ea38cfb3cc9dc55d470c0c4b3670f5457dea72e9cf8cea49bd3c207e8ff6b7d4678911d13ad9a97c44ef855e10 SHA512 8504863f40e2016cb69f0444083b3aab74e48d13564ff6ff0f1c512b00b0407622799f1137e05be2396bf4c2af4c96a58b3e95de349eea9405ae1107df1050a8
+DIST thunderbird-102.4.2-fi.xpi 673901 BLAKE2B 250b3badd6d90d51a6f9747239613ea4de9aabddb86830fb2d98865f97e586d67ea6b9878cf2332bd9ff772a44d8658b98e7be50261f6e298a2d47b9e555f871 SHA512 9b407d31315671ffe01ce9f767d89eaf43c083d2f41948a65c6eaadab6e33faf48383c8c1c53a02a7bf113260669d80494f4c6ddeca1eeac51e2f8b780fb8f8b
+DIST thunderbird-102.4.2-fr.xpi 708767 BLAKE2B 6bb63590d34ae4e295c0551dde823609ec82eec0a67da7bc443a8ffb5356d1c4cdac4693547c9c314f2811c65a83271a49fa2a331f5b038f89bf2ab28455d9d6 SHA512 dcb0afb46c34581a7d05462d98dd6b6beccdf005d417f76f3997df41313a8d91512febb3ed0611ab16bbfd1b5092c43d0392d3f0f577aa5c147fd6106ce914bc
+DIST thunderbird-102.4.2-fy-NL.xpi 690681 BLAKE2B b461c21aee3a06151977ba7e9241c930ee7d90b53125ba9fba2f6fbdf569663ff7c225fa20aa8466882d932671e40ce4c3e5164c87f70e77ca3bfefd9d26da33 SHA512 ef94e5b72b68e2cc3692a29b84aecfd82bc17525de9b7ea6c740d38840378da48907e8cd8c765f71788ec6d6f62e80cc74c049e6fedf7655555e4c18193b15c2
+DIST thunderbird-102.4.2-ga-IE.xpi 603099 BLAKE2B 127061da9377d54f0df2a01c342030cdc47d7927304a1246d732d12b3c0a83f5fc489c2ffb17dec1620304bf91fe282fe9b351a6b4a7b8166632c41bf34744a4 SHA512 e50b27c91b68daa2645e58f0bd56a76da42c35d3a3382abe3664629c86389db5a2fb1d72fd033d4de1b63774d9b63885ba8e23fc92cc5e5190f2bed825e91566
+DIST thunderbird-102.4.2-gd.xpi 632445 BLAKE2B 85732b1ad4b9ae725b7a6b6295598dbd381257cd677a7f8a4a5f084723655c16869da6284fa4f6296102e6321cc5cab432475235f5377f36b8b1a48322258796 SHA512 82675a468fc7cd282c64b0e07b01d37b177f54ba1555824e2e0b589a32172ca4c7fb7cd2b63d7ee51bfdf89fc687a93ccb1ddcd252fefeb875a9093faaffa2ea
+DIST thunderbird-102.4.2-gl.xpi 663210 BLAKE2B 2fffee731a09bcc7467c242b35c91d321b2e0414b2f27820b0b0e9d072c67a8b7762b5525220b94c1de6f84b8a67fcc64a6861b6b94566661745c1a0a9ecaa72 SHA512 6100a61507778adfad01f707511c58812d814705ae70fa29600e6375c8de365d5ea9d74811cfc771a4cb3402fdc38a1d937a383541071eb7e950c60a4a19c693
+DIST thunderbird-102.4.2-he.xpi 662890 BLAKE2B cdfe6bbb88507b3098c836c0ac115e25da71a0d1d9461d8f963e6535075b897d08d16bc614c2a59f983521d4eef40bdbe358886f7b7f24eec48fd35cff87b435 SHA512 0904fa5a6cd4c34c2951459086b974811079a930f8cd683975df23d698a798d5c61906b70127fb667009c0deec397a3d2cd6c2810e6fac09d9fc22d2c9972304
+DIST thunderbird-102.4.2-hr.xpi 661114 BLAKE2B 68ad72a93ec96fd3996a5084c34623bdc21098bedec218986bd44a5ec581c150c6faac0456ed893ed4019851b2e32c9b5b237ff29c6ab7d7bcb55e2b0cd32c64 SHA512 e057e55efcf5e7e58d44a5819ef7a082fae408adb31241da0634e234a146425c2febc9934bc279365d33c2a15b2e606e75528bf4d29ea98f743c9def066f4996
+DIST thunderbird-102.4.2-hsb.xpi 715754 BLAKE2B 81b0b581539ee2bd0ab8f9c4ef4288dbd6627a716bd4cd337bb20ea2e88b7c780cfffbce5d6da6a02ca8294f62efa1a99944a9ea674fc2927d628f5a857443fd SHA512 0a4fa6d0689fb027aa2a4194d98e6df0e6e66334df8c6cd42b2254f38215ad314150d474fe40ecfbaa069e5651fa1d16feb19d4d134d7b5a29547b108f69d62b
+DIST thunderbird-102.4.2-hu.xpi 718785 BLAKE2B b4d6b3595b7df1c31f3a3caf319df627ee5e9258614ab3f5133afdfe19466f7186f17a5e3047fca907b40f6439a5ab8ebef8f3a439e49312b794c286964f53c4 SHA512 aa71fc3434ddea897b5d9a51e449488b8b706185439898fafeeb3172a973abf5bb707cb1e7069800b506a1345253308c451495fdb12b890b97e2546627c45b4f
+DIST thunderbird-102.4.2-id.xpi 639541 BLAKE2B f0256637660d35514c09a8566feaedd953de113b3b37af59296854fb42df21a834ebf806116969907ad9ddd863a19d09d16c296aebd8df48b7e8977b31ead198 SHA512 a8632d326ef57ae058a8fa65b7ff1486fb0d4572057413af16b833e2d9e3450172cb2211f09ebd1997d87dd14232be09420e963622023bb7a7a932f05dc475af
+DIST thunderbird-102.4.2-is.xpi 685617 BLAKE2B e1b5163f185195a3f6d1b9aae13f657550b8c74086dee34f5c2d0ff0a3cd4da8e5c04bfbd28b1c30dc602814e55665d7634f746df64070268b5ed0af149b5f4a SHA512 bb6f92c8f3aaf05587a7cee5a8b4d5bd313b66c12194ebfc59db415bc8945310e5af176829aa32586850d222f8efed92de14b7c3d0b1e656b4e0faaee9723009
+DIST thunderbird-102.4.2-it.xpi 617780 BLAKE2B 7c43c26e86cf2263af749b895e3a3ed2d1e18d64ddce0840cfaa56423a8b9d1ff5663807d20e969473cdcd02394d2ce097147bf9de52ba35c2ad2b3cb04a5e2d SHA512 6b69c547efedbb43db8ce46c6c1bda3abc13b16afefaeec81d09903965bc7c0a9b9ece6f9efa59cc70fb8116c787126e4977fcfe5d3e8f08c13073d7f57630a7
+DIST thunderbird-102.4.2-ja.xpi 755143 BLAKE2B 0b81cd80a6078424380fdbd3fd2fc283805f745a9c36c4e76710fc3593b82dea7a8f20506fbbcd477fe920db399e51e5971886b551ce401477c8b2f1af4e0c25 SHA512 09322704f7c8f3b7f362335c6f417c45caef2248ae8136e0d8bcd96df52a9989690b4b8289e37e7b6a00368d779ad5402802925d122e267094e225c4087d9237
+DIST thunderbird-102.4.2-ka.xpi 752976 BLAKE2B a25fdb6634a12470bc2d127b361c00cd9475f0b83fe1c079be786c1b635cccfd90da69ff327941b203907b224e470260c3010130fafb63be6d149d18f7401f38 SHA512 3a31d1d1c4eff9872079b137b78522c4796fed0cf61b85dfc9eaa151373749a9298f53d978255f3a569c3bb8f6fcbba63c294ac574debf0e0a9f4dfa6ef937f1
+DIST thunderbird-102.4.2-kab.xpi 688572 BLAKE2B 71d199df00fb51e839c73f63ad50d8fcfbad61817c0492070a77d3269594a109b5fa35653d51bf4757bcf9394b5d4d451cd28e7af14ef75f91f9caa7a2bf3599 SHA512 74401fdcad0b8e4dcc2b2122da23484e89f00fdd7050bfd8c7d555121f3ef1a686b0f8176c845e8fe5137d4be4a88622ae2d4c279a93eaa690ba62f9ed286f6c
+DIST thunderbird-102.4.2-kk.xpi 731942 BLAKE2B 45b351c6cb1b37b3585f44f833667d40fc29f65166092ea74c61474ff8bdbb33ded8d52b655bbd7c6ca746452296e90152db0e87b2278de897477df8d0acaf21 SHA512 3bc6a0e13537fd819480cb01545cd29784d84a7c63593e3bc89528c8a8ed1058da42e5a306e96cc6422c795c023016ba15360cf0d148a30149c0673ffd89d066
+DIST thunderbird-102.4.2-ko.xpi 692941 BLAKE2B eb346b7852f95cb0b45ee08ddf8c87fcfa4c8d1a901e96ac5d54f4b4345f54e0460475180ae7c80efff52e90c60fdc99cb6e4b5d3611c856db786cb5bd3a3fbc SHA512 ab2e3e027a212edd0bc9a238c084d4ccd3d00e8688299b3251d2eecd8aa4a387cf31dc6cb0b5f41877dbeb6c7f0956702b98d50f13bee0cdf2e6e40a435474e1
+DIST thunderbird-102.4.2-lt.xpi 680720 BLAKE2B 389b8610abe8fb16fb3f7300d4e225f29819e0aba8a9a0c2a713fdf39e623b7b242ad7d168ce599678d84d2f6bdad25babf17fbad7d804e2385ab9ad0a54e24f SHA512 7d1948bfdd0ad20754abea33ad1a06848eb2f2eb15e1d0849dad4165e913886d72f6e17f018bdf4350bba2efc9ee102b6ec8c447890ef37cf8f4ea057c3dd7d5
+DIST thunderbird-102.4.2-lv.xpi 608589 BLAKE2B 5cb65df9d6e4b5b249a1ace9de8a11a6077346f5f2b5c1527091d29ad0a1c0dcfbea6c6ae808a44baf5cfe674e501c592e4d91aab228acf0dd3ca545672bc7b4 SHA512 1c36c77f54b230f8e5d87eb89ea5752e2a6bc751a19587cfa02d85e306f4a9eae72725c6109631ab7abbe74d42f5955fa7578cadd4341c7180715b702b96c30f
+DIST thunderbird-102.4.2-ms.xpi 568427 BLAKE2B 624be2236bc1e097880500e7e0a7c1a5e7ceb986a58d6bfa7261731b2819f6ed888372e7ab861c3ce4249b76c67832a3c7d41fdba90e822a15865556f9d91189 SHA512 ce5fbdc79c5c41a1be1505a87fc0b32ebf52f0094728299e2c7167dce809f0de1f3429c339ffa97678a90512c8b03b8965981aac297726dce6fb98b17fba7dbd
+DIST thunderbird-102.4.2-nb-NO.xpi 648583 BLAKE2B c1b13fee45c49313713919be65b10097863ab7f79351c92a04bff4d2a2ce83dbe0bb5420a4ba1d88a18bf84ea8a8ccc216de1721a76700f1a481b3281991d5a4 SHA512 7144098ac3b113573b40c118d719ad26c963253161e9121dd358373cf2bbd6e928e76aaffb6ea922ce899c4c19f44b1577514a51cadcc589fc5fc211e255975e
+DIST thunderbird-102.4.2-nl.xpi 682268 BLAKE2B 731deffa6ecf9ab07a8b9f5ff3a8c9bdde87ee4259f5479a520528c3d04f128ce8d9a013a5b697aaea35929d00426b2f12553f5ecf2ea6fc9f55c25a1cbd3c59 SHA512 05e71cc815208a4177208c52dbf64a732f245f10d0b4f1055a2dda6e40da74639d5e219ad0c9193becd94e3e114d687f8ce1bdcc02bbdcc285e2b97c2d4c952c
+DIST thunderbird-102.4.2-nn-NO.xpi 656907 BLAKE2B 4665a02d9a61c2f55cc9ab8905a766b4ef9d10353e14d4e463c6972c93b9cc257b08006178e53dae1737299e0a09f4dd83d1e2b559e6d2f394c77b44a8c7761a SHA512 632dbd2ee6686d7e024e3708fbe19ed201cc345f1e1e9f56da1b517f35e3069b4bd87d3add6e056581547587072ecddddc3b44bd4ad5d23da86c0f90b6a24207
+DIST thunderbird-102.4.2-pa-IN.xpi 653544 BLAKE2B bd891688af878090107fbec2d6cb06a4ecdbc18c0223e5f0c6e4dc8bc96bccd481a28327b7da8b7ed82338e76e61c6e8f1ee50d1fda1055e4e51b6b80eb1daba SHA512 90a144f83c5d6e415a6939778bb537181d5d8922103e8dc3c248fd24df17e8964cbaf5646628d3d39eaab58d53c064f48137f364304574f80a65e080273126a1
+DIST thunderbird-102.4.2-pl.xpi 695418 BLAKE2B ce434b772242fbae1bb6d5d35f9f54f76a2af1855f09ef67eb122a2cf65722c3c11cd1824439e1191cd8907e4e7d3c8a7d9b8fa23079bcee74069387908c8fcc SHA512 10a80d032eed010bc580331f79e4038f1e7debb497d3c948434904c222e7f4bac44b19368ebf3dc2a0cbfd0e0df66786af309f0f4e01ff9922d70673847da68d
+DIST thunderbird-102.4.2-pt-BR.xpi 690289 BLAKE2B 751f892906a90eb74b70bef279cbaf067ac30e9fc1db23bf56bed269ba8ac9b1eb45efb9abbcffce255640d6a09f9a81a7d2b5c919b34a2db4376f7ffa593cb8 SHA512 eaee3ad02883d18365c1b0f9a89abe3c0421be74c517c766ae2a5669af1eb4a7c8ef3e5519bc4dc114356cefddf038b7723e1071313fb19d4d5f0b818aae1fc4
+DIST thunderbird-102.4.2-pt-PT.xpi 666880 BLAKE2B 92747d4e996f5e6f8d4ad44c9bd23decca5c78f47f56664625d02f82e2dc6c62f56cf886cf38074963c35ee48e602c033871ca121e320902b73038f9fead919b SHA512 c871d6c94c638039184fab6388c62e79e33a269ac8260b8715c69a4ec0ba0e15c93c0d1db69b3664dc744e23ce2093f2c2f2d0745d61421c6f8f30444e110f02
+DIST thunderbird-102.4.2-rm.xpi 686110 BLAKE2B 94ec8575aa260a6ce9572241a72b610de6827c682e066743bcfe5b84bcfdcc710936478e7ff402f19fe2c4914f60ce4e4c2cf77586731859107d3cda2371cfb0 SHA512 a4419cbba043e611f7a34ea4053ab5285b6aee47c09c1a5456881ba77e5ba229a0ea53b50bcdfcfaa2491e1937cca0b6fecbc651e802042279b3d9c2285d3daf
+DIST thunderbird-102.4.2-ro.xpi 651333 BLAKE2B eae00946ca3d23bcbe25b537c0cb40927b142577a5887ca4add8fb85cfde05a10c48b096bcd0de4a10aeda8b4355bdc646c309d59f1e875ddaf5a27560781b1e SHA512 6356404ce6d06751236a0763dfc7396204f7a68f9067b98a1db8268c9a7c5085caa7f5e88a05d4a40f02975805b2ace1ed9e18e7c0b8486e6fac2afce2eaccf3
+DIST thunderbird-102.4.2-ru.xpi 801785 BLAKE2B 397eb691c476e8eeb6f7cb5fa490234c6f40f744f28930fa19cdbcc1e63326559492117910360eab09ee956c162b0e46210fdb588b26affe7b66a367f3be4ea0 SHA512 3fdef703253ac4918e38667f7a7d7b0d16ec20638975fa11cd6293f163d3691365b4cc1c5e86a19357062f8c290e9bf3a2013e4525441d3e9fbf56a89ec6210b
+DIST thunderbird-102.4.2-sk.xpi 718356 BLAKE2B c017c8c9db247762f098ff6e870d604d062a2e0e8efef891317e128218547e04f7c00933f7f64bb39ad5e87badf635c89f7be0c8004f1ccb45834bab8f5c2a2d SHA512 6e11f1f4f09d46752d2d91e00024c97b02802c0feaa9552a3636d1e059f3b096de08b3b1b509213c3cc0a75912400a8af83b15ec01e6fd12709aeb4f7160e388
+DIST thunderbird-102.4.2-sl.xpi 683785 BLAKE2B fe19af11b15546b4432acfa31a9a12c90e1db78e5e0bc9fd0b64327c48b2ecc41b87a9381e7f6b188de066ca4f1fbb1d5141c89bd82fc287ea7764f915883a93 SHA512 766603ed11c9d343aa289ff8755980ed53fd5a7366e1e67d12312bd21794bf8e8ab103dc7afadaf8125edeb852bbc11a8183db9332641aa140cb596bae552355
+DIST thunderbird-102.4.2-sq.xpi 690226 BLAKE2B 733ada974e6f1c67996f22aed61d70787ced8e2e887c8ed3fb9cd65d24bcffb86a1e06c8eaf64dd438e30d727e3918723e0790e1dab32c064b557375fa94ee0f SHA512 9404ff61a93efa682b8748abc9cd93010b3be71cebcf288d12c192e217a61169fed172af5502a8a90c819d1847914f854be0569f4ba3176a7aeb1c87b924fefb
+DIST thunderbird-102.4.2-sr.xpi 705271 BLAKE2B 2f55b06be7aa8f70160cd7507ef751702e8625cb6c0c8a5af1c9477da4537f738cfe26eb5319405032d271111ef79a0c87f13bd6f3a273f69922b7a5a7b5f3a3 SHA512 736cf17567052007e31dcbfad027edcb7215e9f8b8800c011a9691775c3b18873b0595841e566f0dc381ab01a6cfe40db639cd0d7b07556f85fac6fc68db23ab
+DIST thunderbird-102.4.2-sv-SE.xpi 685685 BLAKE2B 02ef5c5f9ed84a4912a2fd7f832e09a2f0f1d4fc1ece8b5fd2d3b5a26abec2e90d42869e7904e5d1cfb64f43d32c24626f4180bb62cea8ed5475d751ba3b5f36 SHA512 750b55322281aabd2a89213eab605e0474aea8a1262d24803e93b16507f844fbd491db861d02fcf64616b0cde9f59a3a3169bcd65feb2edd401124cb0844c295
+DIST thunderbird-102.4.2-th.xpi 734542 BLAKE2B c3e33afa0e78b1a11eea351616de56bcbdb22847f400538740074c24effe224c2e028cd4791ab61728283bb071e18aa01565f59cac47646130aaaaea77f816aa SHA512 19bcd31ebfa4efde7441afad34bd6c2bd3fdf6e6ee4df0c7e61f9ed7f26fa11753e286816be7633861dd837419d047d5b09edad3e8a38dd8440821256cf1b69b
+DIST thunderbird-102.4.2-tr.xpi 697057 BLAKE2B c62c330a950ca175c5b549d5d2f5d2c8a6f6d33fb91ab44e3031b7c42be589218659bb81f7f0d20342da5d6be728b41ee1e5b6990ccdecc270f0b32fcf49b9de SHA512 a894edb22d6466cf000f1e8fedd873ab2c3f5045deeda03993a4cdcb1a75a917039deb0a74a8f1101d9ca87b362b4fcf8b749ba20da691184dba8a881aec14d6
+DIST thunderbird-102.4.2-uk.xpi 794405 BLAKE2B 1f6215c1a38bf1edd5d7c6075bd4d280af62f64343da01aed3eee1068dfa61fdbad670209627a84f187a34c3a07e1800a3d934d8771eaee2ff68c7fcd70e4259 SHA512 d0d48b6aea0f42ef223f8c364d594752ce8ecdb9e0d1df3a06543320f56cff625c22ce1ab01ddfd4cf555c33a5c79bd5d764ef4fab5c896c893632ffddca6f8f
+DIST thunderbird-102.4.2-uz.xpi 584807 BLAKE2B 03c1513928bc9dd3c0cb34a387100ad0c4bbb6ffe0cb9294470ce768a0ae3249d56a4f7bfab769b02f9fa9d14dc5b2c55aff4b7d4207f705836ab1d1d098c467 SHA512 e272c7ffdc98db06ceea5dc51f8db69c07d3172e010d3ee168703da3ab652c127aa4a6f663fabd87ffeed4d2b9c32a0c42fabf34e2a7c2abac42c2d6c5ba32aa
+DIST thunderbird-102.4.2-vi.xpi 724848 BLAKE2B d63dda61aece0d1e229ee0bca54f4cc7c0eb7d03ac99a785f8fdfebbec00a0ca24bbe69aa79dce75737fa53d06706a1f234d970e2d2e3259dc7e86522ca39a9e SHA512 aefe2e1726e20a82192006ae81fd4e45f09362a634a87e4792abdc6fdcab938a228005834df31a0d958533d60caa98e002f7b3c70de54cfe1c805c02fee32fd1
+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
diff --git a/mail-client/thunderbird/thunderbird-102.4.2.ebuild b/mail-client/thunderbird/thunderbird-102.4.2.ebuild
new file mode 100644
index 000000000000..b08367f7693f
--- /dev/null
+++ b/mail-client/thunderbird/thunderbird-102.4.2.ebuild
@@ -0,0 +1,1165 @@
+# 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=14
+
+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}
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.24.3
+ net-libs/nodejs
+ virtual/pkgconfig
+ virtual/rust
+ || (
+ (
+ sys-devel/clang:14
+ sys-devel/llvm:14
+ clang? (
+ sys-devel/lld:14
+ pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:13
+ sys-devel/llvm:13
+ clang? (
+ sys-devel/lld:13
+ pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
+ )
+ )
+ )
+ 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 && ! tc-is-clang ; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+ have_switched_compiler=yes
+ AR=llvm-ar
+ AS=llvm-as
+ 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)"
+ tc-export CC CXX LD AR 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
+}