summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonas Niilola <juippis@gentoo.org>2023-01-04 14:29:47 +0200
committerJoonas Niilola <juippis@gentoo.org>2023-01-04 14:29:47 +0200
commit00086c17b9c34e916b53dd6a320d904553d1491a (patch)
tree76606a94557398919c058625a824be768632d1cc /mail-client
parentdev-python/responses: Remove old (diff)
downloadgentoo-00086c17b9c34e916b53dd6a320d904553d1491a.tar.gz
gentoo-00086c17b9c34e916b53dd6a320d904553d1491a.tar.bz2
gentoo-00086c17b9c34e916b53dd6a320d904553d1491a.zip
mail-client/thunderbird: add 102.6.1
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.6.1.ebuild1177
2 files changed, 1242 insertions, 0 deletions
diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest
index 39dc8ec2cfb4..69a8667f3876 100644
--- a/mail-client/thunderbird/Manifest
+++ b/mail-client/thunderbird/Manifest
@@ -64,3 +64,68 @@ DIST thunderbird-102.6.0-vi.xpi 724846 BLAKE2B 6dca929b4e4153c1e6b92b300f5545d81
DIST thunderbird-102.6.0-zh-CN.xpi 722697 BLAKE2B ee72fcf8d68619b3e256dcf0008724005f2e5096a571275b652ea7a617c5bd951462677a9081978063055374e175fafbc64feb9d2a2d588d6150dc0e55e00722 SHA512 dcc1f0281926eaf0b480c702df74ccf8decf3d53902df96b7deec1e68d7ad0472c01a8f9aa1b7ee8bf9d7e5ec577e8bde682922c99cdc0b43d83c6a520d18523
DIST thunderbird-102.6.0-zh-TW.xpi 725968 BLAKE2B b6b27f9376c32fc7cf69581a4f02847b6fc57dbd20d311215e29704f783eaa0cd9bb4901549c004f3fbbf39aa68c7cef4fb1f7e5dace611e4a30534e315a64a4 SHA512 904c5a8159b4d468745455b090013d6447de265d13b031f0ef19f2488130767e556e9a9513ebd8614ce6def270966e4a55fb57281092c45e41cee98f41bdcb3c
DIST thunderbird-102.6.0.source.tar.xz 503321152 BLAKE2B 1cacdaadd952f8dd7e2d2cdf47288d58922919fe2171e403e5a31fdae77b172be2921e455cd37253541ddf49ed3c105a5b29d994ef374625cd45804a200e843d SHA512 34f79068685ace75ca65141d8165138d25326e9d0a1c25b0463ea69c64a7240dd19c6c894c875c5429cf7b40344fbd32b1ba0412bf8893c4bb744c83f8bc25ad
+DIST thunderbird-102.6.1-af.xpi 551371 BLAKE2B 1663fbb2cd90e6638cb96922e515e0b5762cf55bb6fe3c366c83508a01c49e27656a89e0c6ba0a7079bcbbca02f702f967d3858ba7fb7931b6653f92b7ba6496 SHA512 730306d74c3ef95f5e3a2b90e868d6c963687b436ef7310b01f48d23b3a0c9f0370e21506d946d8b3e2930d563c2a9bfc3ab115be5d28f0d2f61237b276824e5
+DIST thunderbird-102.6.1-ar.xpi 656150 BLAKE2B 33f2ff4e97b206b5b7c27b661f863fde2e83ac066f136e0c1c8ad2e7779b0aa70d3460868b3fe3a25037e9adfc84cb1617fdc1136e165c3309560dd282be2821 SHA512 6c045f1cb0f4a1d67598f3149500b32d9a36a6549eb116e4901c640091b604b8cc106a1e5ca38e4786ef894b7c7ee3230e94ff44b29e013bc07ca7c1e8cf8f38
+DIST thunderbird-102.6.1-ast.xpi 564287 BLAKE2B 8355c98444ad184b37b00a64dcd270c33ccf98a17349c726ba41d6d138959372c48af3f654c34305958bc5198b51af75dfd3253e8d85c5b1043d76cc19d496cb SHA512 9739b6850b543f674805189bac97eb2b1c5ff7d756f6f7cb5b748aaeb72f80a1b2bddcfc98f55bb14a55d716302d039fccaf4d85879c3a7d28fc1c97c699432c
+DIST thunderbird-102.6.1-be.xpi 686680 BLAKE2B d58868887f566f5309cb096222b85907b3763296b2b88c6e3e65f826821ab8b0f59122e579c99fe0f57e1a1aa5b4b86d00a7341dd5a64d1753865b62db3bcf5b SHA512 a9935043d409ef14164c3f9e34f2238c9864e9d8ef35df0b6056b5468ebd97b0a7e1e38a6c5c0c8333ff656ef5b6954cea423ae6d73c602b3e2109d31f161536
+DIST thunderbird-102.6.1-bg.xpi 682268 BLAKE2B 460b99c13c4e53411d58510dc9b41d94b4d37398a7442182ef1593b8aad9327b6f8f71286950071a0a3325b2ea2e4d85a915a07638e7c31f9f4416777367beba SHA512 02f692bce4481576b1ced41cdf6626a930cd4be89a8318ee8a622b2b0173fa87f023545054894aeeeb1c222e47c09908d10ce057b5d55a40adb6953555af4b1a
+DIST thunderbird-102.6.1-br.xpi 615116 BLAKE2B c418fa14507c23ad6a0bd1745192808f92d0ce280fa5a1ed28c6c03f936331edbaa9646ef115e1ca7130b8f7e39999ad2f7392e641e00621444ed496371df46a SHA512 986aa0f4eaa5ea0ec913c5dff5c4061fb54e2e546988df688fde1d7e76cc3d34d8940b56da3bb0f12015db1a1cbb20d85e47fe534300cf8000defb7c087bd917
+DIST thunderbird-102.6.1-ca.xpi 636174 BLAKE2B 33be4429701302d57505b3574f7b85daf4480de3609dc53162bda00dd9c0e6cc403642216fd9ff0e91a193b5474d7b8e525a062fc0d3ab0707b3ec0de26b6a04 SHA512 0c4055fdf4da509283712436ca3dd428d5d6aab60c4f76252a2b595738556757d880285461fc5b57d043529033af6a6065022e4b8f58091688a65cc7de7b7ca4
+DIST thunderbird-102.6.1-cak.xpi 641842 BLAKE2B db3d1cedcfe816a851f3d89d01d7cc75c5d5b0753184805f9c5909378ecff1e547403ed921e035d02d8cde09f390ece5549beaebe82a9dd2035792f416cf759c SHA512 fed9562fb24da6bf090f99431b22f6640597e80a7b1bcfa7d2072e5e1ffc5a397362ea61a3ae33ba711cab9a76a96957feb152f3c8332e06a47294ed5f290e7c
+DIST thunderbird-102.6.1-cs.xpi 706337 BLAKE2B bce6d3906552e9b1c317dca0e20739e1e69a496a8a1ac36638f6fe4c1860dbf40189cc1591ef38b828981415d05c4566697fc953593805f4981ef5e8d6e1a453 SHA512 18157d00ec99076788e542b7566fbc9a33b6182654060a33e7a126b24b403cffee8ce43b2950a1260ca13ab9707bd589476b83059ac29b35c8442349a8418f3a
+DIST thunderbird-102.6.1-cy.xpi 684717 BLAKE2B 08ba971b022266680e557abc8b11d707ed0c05a43fc5f01bc659a0d314161759bb31834ecba5e7050dce3fd17813bcfab2af54cefe3cc7af75216a9ba5fc52b4 SHA512 7209892f706468e5ff5b04dae3b0f4f0fab1989b93d8d0858da9c7223dde6e9f12439c84802daec6700bab4bdd1384904b50deff219cf766be9f8b47a6249ded
+DIST thunderbird-102.6.1-da.xpi 670578 BLAKE2B 12c7241cd0b03d40aa1185060636aebe098c0de7f92c248b4f7f3027f29838cfb536fe72b63dae4a167319ebcaafb9e97acaa6166b90b460644851e8949763aa SHA512 37571b6593c2acd9f6cfdf7a078ba8d0329c6d56ead45497ac5701cf5e926eda1bd0e2535e3fdb28585f26b9a01b9f1a8c6d4a8e340b4ed34d2d06bbb0226f99
+DIST thunderbird-102.6.1-de.xpi 703559 BLAKE2B 1a1db85dc147c6fa3547fb988a9287a16221d5555160d7a7e6b594417741562b5e39384a67e21a75c3b0b5cf4a4e63e010b70629fbe634f42d07cf81d429b7a1 SHA512 f53498019560400b6b94a1650d90b7b3a93aa509dcb05a2503c03bac1d8dd3edf687e3154a57b8d5471889378762e25051c838f8da5c978bfa095eb6fa33b0ad
+DIST thunderbird-102.6.1-dsb.xpi 718470 BLAKE2B fb95cc6fe836dda48f748c12a67c112c027da923c2833965e1e46763f108f83105dbeea052663c8f8480a56a389a65368fe23e98fb6d4ea29b25b8bb6c455405 SHA512 a1a697e4543cc74f7c58460b7728fbd10a16e6e9b25ca944897379c831585560c10bdc97a67ccc0f05f0159bf3020eb6e0d48958495f9c9f659c9e08ba89b77a
+DIST thunderbird-102.6.1-el.xpi 816316 BLAKE2B ef5e09be51fd4ab4adbed3acbb706052822ac439468661ccdda48c1509df79d007c15e7bcdd7a3b3def5d87996875cff80c957944455a168a665158591b1460c SHA512 4915ef3a080e74ad73c5bdd5fb438762942238cb5a1140bb757fea4d0fe9167211911295888fb0506b1bce000077d9dd6fdfabe437b7f73dc595dbc81bee8fa5
+DIST thunderbird-102.6.1-en-CA.xpi 644397 BLAKE2B d6734e81b356f2e282612011647d5b55b15e7debc82b891140e9850b2b7878661903ef940f45827f3e5ac745fde2166bdde8660204eaf43c01f3b7d92710a5c5 SHA512 5ddf62a5d3df809864911a433562773f0d0d8ba1a9e0d8efdc016b37f73a3360de0070bc2b2005a2baa95f21cbe8f64487a6354d196f69e72d5f6771e5db2cb4
+DIST thunderbird-102.6.1-en-GB.xpi 645398 BLAKE2B 4c2637ff18f05eec417f6eb05ad586fc4f8022f568f67d9528ef9d509bb58a9937322ef907d5cd7aa7aee15990dd2548e762487e4624a58b02270ca11f12259f SHA512 4af6b75f002226d5c3bf13af84e9e51a229395079e517228b73520d3958233b549b9ffa2e1d1f18c7f8879a3f8e588acc7b1632de53eec9d58af65e1ebc9a6da
+DIST thunderbird-102.6.1-es-AR.xpi 695963 BLAKE2B 4b6a58248f2a29dfe4ef6b6299d668e4338f9e15a72947a7432cc7e12636c1d6a630d3e1f05110a6f1d6155b05135bf0170e80bde5b8692ba0642e305412a067 SHA512 208871538718377d1ad8fb0046c93764c6e6f98c80c9bc57b4c27eb1d7276bee4d599175666bf08fad53d16bc7ffedf86c3006b98aea9aea31e9a4668e868d3a
+DIST thunderbird-102.6.1-es-ES.xpi 652045 BLAKE2B d095593c03512be2475c1ef412e0ee542dc6df857d1c5c366ea6a819aa2d0e59260187e87de0558d576730b57268201e7bd9676bd110a49cb94f0e837695d7e8 SHA512 f05785d3d7842c0991b686d058d33dfbd07131b6bfed8b2c0a39cdaba747b8bfa5eed119c107f56a40cf651196ff2fe4f68145f3452404d8f4eb5e5992fb5fd2
+DIST thunderbird-102.6.1-es-MX.xpi 698653 BLAKE2B fcdc77c5cc593c6af3a94095a1ceb0fa6a431562f960c3519b1624e9fb23adb2fa8ea7d07ad47224a9d44b6aac38564ed9f8259d509653a4603cb1e0a86992b2 SHA512 5e14c979c80030f0a0993bc92372c31d266ecd87cf4c94b20e26a32bc5fef96a7e6fdd339f251d545235d5d7452e93de308a2df4910c92b790c0da0c566cdf1d
+DIST thunderbird-102.6.1-et.xpi 666815 BLAKE2B abfa7fb9075541f4a683631cddb010b8cbfafa4c0cba167fa3903d0ed5f49216b6be1a539da30e85882609dee682078f0e831ee30f0be83a9133f3a4820f3e97 SHA512 abff1e5eb2e4b2963fa8e2d9f10e4b94e566812870e21c2efdc9707064cc84394109eae4bec5ed4016b468c2c1d0ff9edff770335228d01766ab4a0291cb5296
+DIST thunderbird-102.6.1-eu.xpi 680211 BLAKE2B eda5be64cb98e799a9455086ec0c124b445fac0aa9a577605fabb51ce62f36dca0461e4d337f6f612c7683ec885ab7998233d7086897f6709ab212f20bfe0f47 SHA512 bc7d9f25dee278182896120d3924d7a64c56e52a2df8e535fbd457c49d62b3722614ace99e4bb9286d8846ba00688fd53e8b57b31a95e4360764271f5a65ac4c
+DIST thunderbird-102.6.1-fi.xpi 673901 BLAKE2B 7054b6315f250496fa6265d1bfdef5972f0804389271f9663724f8521ec79ea88067bfa31c1fc7eae6dbd1251cfe1e6947c1e529f32b1a7d3f36a6da7064aea8 SHA512 0b60a2825251f8849bb78252979ead237e06799f594dd6aed7ec3c9861596de2b0ecc38b38741be7ab373f1bd5edb6ce53eb202d1856da95969675bf2a95bbc0
+DIST thunderbird-102.6.1-fr.xpi 708768 BLAKE2B ba866bd08a8612d8d51b1bbd235856b7a09dbcec63d65d9f71faa5909f2b4f5b2b288c3a16fe68ff292bc4d9e5ec4c1aded93151439c1f8f582e8fc8cd4c2bfb SHA512 07c214a858937689ae7fc0f8cfd6b7a23ec694050bacf54ab03e4271447d1f7f9c46f74c54bb3fa704bc44849af8143e53ba0eb80b26c712815e8c0658851cd6
+DIST thunderbird-102.6.1-fy-NL.xpi 690681 BLAKE2B 67209e3e0fbbe947001a3e175ba4e37d168befcf3d6c78559d01b76a3c633c3488469f27d6b7dd610e428c954ceefdb198e461530c7836f858192435490a0ba8 SHA512 09d2ead611ba64aeab7805a5f3df9b10f8155e565edef849fb5fef04aabbb2cc325480c692c72902eb9dd1c0a855f7738091bd8d8ffa23548160ce1ffb2b2bcd
+DIST thunderbird-102.6.1-ga-IE.xpi 603099 BLAKE2B ad04262a2e4b20a8cd01fa4615ce2fcef22d26fe2194caf0a47595c05a99fb58dc1a26b91c5e500fa4b76fb4e5c91dbdc293fbb6693a7011da7ce2bf89c3a068 SHA512 ac964d81a1beab88ab28225f1f5ddc515853b1b4e458c7c6a44ca282a2c85bb9f6c02dac011fe01eef2cd6cd74d898bf8c93fa490bc76e454f57efac8387bbc6
+DIST thunderbird-102.6.1-gd.xpi 632445 BLAKE2B 80ba08102747bc9af1d045e7b89a7c6f5a339fbf60d88e47f8dbb90edd50222ba826004a6f74dfcb60f4d74314fc5d8140aa830c92a931503f4239f2956246bb SHA512 0e894a06c0e185e209ffe10bcc02a0547fa42fd371d8116509d3d0fd97324bfc8ed1fb0ce581f47fe71942c4882f21f82745a5a5d4322b6353ae91f1427bd8f4
+DIST thunderbird-102.6.1-gl.xpi 663210 BLAKE2B 9bbd2a4db45bebda89314a2fcdb0c56e8dd5fb0064a65829897ca59bb1c807b1b1baaea9bac6fb9887c3f5cca7eae804525b010620081f205b04eda90e05ad08 SHA512 9c9a5ee1a603ba81d397ffe65548497c4d8a2a34e37a848ab4f3d71d05debfd6b4c3bf40edbb8811bb4c18d42780c50062f0c760f86090920b40ef88d88a70a8
+DIST thunderbird-102.6.1-he.xpi 662890 BLAKE2B d5332a37d48cf56da3617cd1e9ca42567e43c5beee4cca16b79ed7c36a0b1d85ca4dcf036b9508fc8bdf066a8d49ee53270e8d090528dd48690a049514cfd3b1 SHA512 7f1cfff69771060ee19d7feae0ac96716431d47cdf25db74f2e4cf650c196e6784e94b88bcf6224497ca2cf428cee9e02951ace118736f60bd0581c2f6caaaed
+DIST thunderbird-102.6.1-hr.xpi 661114 BLAKE2B 9601adcadc3fffdbd1287e60235470c140d7ac3b18f1cf21a888d13ca1bb0415df1f2c86dff35b5c664564036ccc0f127d5bbc07588a3ab63294bc36e4ad4eea SHA512 5ed29db619f6ec6f2dd4223914b6abc53ca848a700b6f477fa15f36ba8ed05ad3ac88b7ec8eae94a70bb06d7beab636dfa6b92931fe6acd9d1dfda3bcae0dde0
+DIST thunderbird-102.6.1-hsb.xpi 715754 BLAKE2B 2e79101155d85397639a7d39e3f8531ee755b5f6eb906494bdfcb8b55f01703969ee2f3537d8b1b9f124fe82198cd43e76f40c7987f99411129a90acd984e5b1 SHA512 d7b736e05b171a62f667cd2d5a4b215198e215ec3674f46aa2a586f94f7b2cc815930fbae7af600b9a566a53b6592e3e23c8df0f4c2ab9e90f02f06a4ceec068
+DIST thunderbird-102.6.1-hu.xpi 718786 BLAKE2B fa9791ab8fa3a6638f95ab50561411ae5526844300ab3a65b828934339a4dc955e7088ac4b99328cec7c6ea8d8c6c7abd60a019ca1ad0d2cc4e070e9f20a2c5a SHA512 55c0f06ae86cf01a1936703ff1e73a0b49d1e5e22d707a184d4a98f533917d1f1b573ef702bd989ed838137464653a56177861c04a362ef4ff32f28c8c284f9c
+DIST thunderbird-102.6.1-id.xpi 639541 BLAKE2B c1cf2914ec15e5539767b6609505b9b690561c8471e7ae9fcbb1d53686f324f046904f35f8fda315e79133745990be8637da04411d410eb7d80f45024235bd63 SHA512 b4bf087901104cd4bef755b0eb6b42d8067a3befe1b7bbef40ec72b1de4897eed1717256f59149a323455a6be8372eb1fd277d8da99311eafa3f46256009b7fa
+DIST thunderbird-102.6.1-is.xpi 685617 BLAKE2B 167aff47e8e97e2821455536a8089d176d294dac1ff8b5232fc2343f4915945dfe059008154be4212aaafed2c8f5887ec35f8c06f2efc1306c24648a6c05e3ee SHA512 4ea933814c0c3d41c8ce99ba733b7e3fbb4d7e9b0280c2310ee9dea49326d3a56fd7950d223314c8157e6382bb938f2b53755a819e789ae5f04244cb4fa8e5d4
+DIST thunderbird-102.6.1-it.xpi 617780 BLAKE2B d0d70e38f5ffc154afd364da1b6616d87251b60ca1bc8a13aa25034508446b72d250b16c64a0f355730d475cae3bd8a87b3053dd1fc312f69af4a16cce7ed414 SHA512 178d1d19f8f90b9b7471c13af63d1970107f9021ae3be5585304df053760592481df9321b4cbb8bd39d3e986fa72e082e6c5f6b43b064f775d4d2cca686692cf
+DIST thunderbird-102.6.1-ja.xpi 755145 BLAKE2B 0312ec97172823ea2da728e4dafe5f92f9bdc74859e5d7ad284da18d78a0988f733de56e43ca63092201a302edfe1113fd3e416156443f5ffa6b87d42c7ea6ab SHA512 7ee8d97e70a5cea037bef7e94e32568fbe5dc1e67dd0b591e2b33158c314a9bc36bb3ec4838081c88cbd85b21c6243871079ee0216f152315286922e45d1a3c3
+DIST thunderbird-102.6.1-ka.xpi 752978 BLAKE2B 72e6a1fb3cb24443fb0afb2d39bfb52de28095dc6d3c1c00d97fe2c3599e9ed384f88e1dddd4cd512ec706c8ad029060826a658be193976f6149b5fcaa9b6ec6 SHA512 5953ff9020458184a0f0f864935b0e34ba143cfc62312b90ddbf35625d047819405ed81475e64ea2f6a6a51d0e31495adb0b1a3b47d34ba91b6af852a3249a07
+DIST thunderbird-102.6.1-kab.xpi 688572 BLAKE2B 3f19c99a12c080971ae69d68ce61b28adfc2edaecda84ff5a5357a0cdd9eeedae7bde37aaf69513aa89add46601614876c0976f696bc8b116207dceb9b2338e5 SHA512 bf8d85f62bdaba10812cd8aba69165164e5361ceef3cea0f214bf864c8027743c793738a54a8a092327ec7f8f7cd0cc7530e6ed27c2c0ffb95d807e98f86197e
+DIST thunderbird-102.6.1-kk.xpi 731942 BLAKE2B 7d9e11472b06ff06c0bd9510482fbbd445d64559d95f70aeae77538ca0795aa2e6a994f1e1a422878d8e9b8925306d8e0ada612ee249c54565013b55bd686304 SHA512 a0da1e68cdac2a7516a9ff6d46416672b445ebd2090f422670458271dc386367cf0c282557c3be99c6de593505ab6e725b0240ca84e05abe3fc14ea214b5ea9e
+DIST thunderbird-102.6.1-ko.xpi 692942 BLAKE2B 7833ae52e8b2bcbbc47e57d33fad32f21ee9e925e0eba8f8bb593ca2588937d161d7f9116c2ce27e5cbecb9b344eb4fb13fedb86c6c1161ee6cd399adff1bef7 SHA512 667db1b55ccc05e722e16730ec745daa6ec2bdf1325066e5e79eccacefa50e0e19405501f736044cc0e44f19c646efc479c12612f1482e9fb99f24a7cd60f854
+DIST thunderbird-102.6.1-lt.xpi 680720 BLAKE2B f2fdc21f6d92055475d6d1c913beef490419b1ea4c5a0735666dcc7386eb3076a04c299173fae1424605c58d067b53edbdced713e1c043e55f23b6eca933909a SHA512 6a94c16494a374e012fef994e7a0c809899956279e63b231486dd771e3f3fc93baf12ce2aa1494a4fed866d6ad3ff7fc1939a40ba5f805a802f4334a5081e5b9
+DIST thunderbird-102.6.1-lv.xpi 608590 BLAKE2B 4bfc20fc584235dc5f5125c436364a69a807a6a600e5af790a906c004268bf55a9546a70737a4613710d844151d66f159f47c33f4d151908eba7616d4fb0c5e7 SHA512 31bfd6c9ed28ed27ade01e62471b70e6851ab4257b720c8f2071faee146c6e1498cb74640c56e7a93689e9d43c67c483dd47ff99429a6e75dca8933fa6b4e356
+DIST thunderbird-102.6.1-ms.xpi 568426 BLAKE2B 92c2524b7d94d79f8a886f4a2b2a1fbe12adc20fcbf6c492cd207f8303f203f2c73a670d9061f40e8484b487a1a5c2ad2c66021745fdc9305454b8e9dab59ab8 SHA512 6afc59a6d3700bf628b735f5ec7430033984d17ca3b81697edad0b862bad5e7a07e9b00beeca1976f7b477e5d2ead1ba610a205fd8a4eb455afc8320aa7352b3
+DIST thunderbird-102.6.1-nb-NO.xpi 648582 BLAKE2B dad528e0a65977b6f1bb6622566429db8aab44c0367464abd60d3f8dcaeb8ec3dbbf4d35c76bde821fdd72963ce2fcce211810bc85b1396a06222b1e9136317d SHA512 255df01113342a8336bdb855f01ac1d5712cd9636500b83d3cc7d8d31466400126791c61222bed85d795416b49d028eeedd64d62cd218b2c26ff8ac1c89e8ed1
+DIST thunderbird-102.6.1-nl.xpi 682268 BLAKE2B f3eab1d63a43e487f711b4fd31e49972cd96b93ca0c3a2e0ee9527085df1bc597f4f680bfd159b638a0681177491ba8110c1f8e05a42590e2558f0ffd4e5735f SHA512 d0d6bea1487c4affd731cc3a67c72709ba8539bfacc424afe97ede07039ecfe71f0fb4e7c54ffa4abdcd0ba4eac0fc6352b3b1a48a3becfcae930dfce0f9b788
+DIST thunderbird-102.6.1-nn-NO.xpi 656905 BLAKE2B 5400df3ed9f2ebf6417cba8087e5b4d4bba838efcd54a641646bd9caac2748fbc10020c29fe621b8c7fb0ad53d6990576b9d4bad9579cbfe7d4c1f1b09a4126e SHA512 0d2ff9620d0321ad0a9b19b7d7131357cff863a96a8547f176c07dbe881ceaa87b33a2922db20ce1b1096a2630769e351e0c459e0ebc5276ec424ebf5466dca5
+DIST thunderbird-102.6.1-pa-IN.xpi 653543 BLAKE2B 16213c16c8fc758dc8aa2b67e9994b8173a9c86149251507b57b24d875a69d5f7dff484609fcb2e187b5ff77aa42323e052699ea149da666ba86eb55f85319dd SHA512 cf2366a849b029c3ef7dbc578e691ba43dfbc2c1c7d8ad87fc49d5d0daae87f0766fe45c5f68340c9b7a0c13fd9041a43d64fd4dc6668ce4ad2d378807b356dc
+DIST thunderbird-102.6.1-pl.xpi 695418 BLAKE2B 8741380c235ee5c1cbd4e5693f754eb66ac05825861b1db194ba21f07575c5406835b74dc831e5f0709fc4fbddb7f3ba2b068fc5addedcdbcd5119280bd6edbf SHA512 3bb768f22772a8eb021c76883d74f0595d35b68c06ecbac79ee23b9cf4a041bc90e31ac89581b5578638c33bada0f50661ac36cdab7389bf85efbbe916373b07
+DIST thunderbird-102.6.1-pt-BR.xpi 690288 BLAKE2B 0cac3c3c4c117668983bfc8806c1b39c5903124ba8e15ae8b19a07c0bfcf2441d89284680a9cc69b1da7661f7ee96aaead5ff1ac87fa45dab26bc397369ae2bc SHA512 3c45037b654dc3f4d2921044c8dddb58a555f86212048d969ddc1e08568568b2c85d6323962a17ba33bd1b6d74f53c34f3e7a718cd3c850874393dfe4d58e7d4
+DIST thunderbird-102.6.1-pt-PT.xpi 666880 BLAKE2B 065b203f03ae4a8b80dba748a24c98ab7418bd129e596a479301816268c92ad11278e9958a3ce7217bd0b50ee2905ad3fbaa198bb87058665b046b34be1d0187 SHA512 d60661d54dc353b251b7f6c432ac60f8a77c012e4681b79bbae21c8a2c592bbb29f16ac7a9827baf6d98ec46f28793103383bca5866c33d0863c0889dc1ed5cc
+DIST thunderbird-102.6.1-rm.xpi 686109 BLAKE2B 1bf723fd83b361304b38d4d6c84c4ed24eee5510d826f0f56c2dbc41c1c19d60c705cac8085bbb77b2c22acac8cfb9afa552df24368655d5c9004db7443682cc SHA512 ae5c015aae46758e69d8a2e7eab12627ef1fa7a29737f060afa1ac87956a65608790c34325817a14b2495e7cd26893e66c2f0ea6b48e9e1afd8921884210b3c9
+DIST thunderbird-102.6.1-ro.xpi 651335 BLAKE2B 2c638ff0c22b2d5e0f0dcff016b20f9866c3cc7b39ec0a3bad058d9ae8f0133ac2dfb003be694ba1d0acf5a4b43cc9fd03ea1178eebebe4867c54d2f8e755d95 SHA512 660657471d9ed4e04a573a09de6163d3b0724323f7784f40a04add5448df41d77d2a997c36daaf4d9547c9e3397938011c8bcf594fd21e4069fbc40a29065925
+DIST thunderbird-102.6.1-ru.xpi 801785 BLAKE2B c105226717ef5e12b1e689d6b8be3448e54ea561ae26936f71ae2daf03a41650be4fb4ff5b0c1d7c0db01ec61688ee637b62d8989726566feb066361a76f11a5 SHA512 5b58185e29a1e681e9d5d6b16e585c79fd2fa752158dad61f175e3534e411ea5107b6e8bddeb151c993cfd1d84814ec4f4d3b4e8448b99c8ad71f59e335f000f
+DIST thunderbird-102.6.1-sk.xpi 718356 BLAKE2B eaffb8a3ea21d4952708cdfd2d48e17bb46164385f828509c7c633302bf04c41ca5f72d86297196a56c09d0ea1b1e393efd69fac2dd42205f14fdcddcf429720 SHA512 e48407f36083ebedc3c982e55cb40154d8020f643b2313f7dbeba9c50f45a0e75c26eaa6dc06916439fbcbf987d4026e1bb448b58095180280ef8dce0a4483b8
+DIST thunderbird-102.6.1-sl.xpi 683785 BLAKE2B 234c992d059caf458078b49c4cd1fa8bdc71892a6e2eddd1dbc1ab8dc0ae8c7c3cbd3c1399f0f9c2de1cfc877f45f8c9951135334a901233b8033bd66ec15e81 SHA512 fc8098725e8f70d9d74c60ca7e5d785e9c065f9893acf3f213cb5e47c7e64a2af93c0022ea8eb8828e90d20286325b21bad06888f688ec018b52b181b9f7fec3
+DIST thunderbird-102.6.1-sq.xpi 690226 BLAKE2B 87b3284efef1623a933f37931a76f2b951bcf31bb1645980425cfdfe02ae5417fd437e05780a1e9fed886032f20131a7540b4144aa3d757dc9b736ffea395495 SHA512 e05f1d7004ca86e5adf6a28f58bb1548f2ade67da888a0f189594d264a1ac1c7d24edf615fa659edc5e509dc04b69d2b272fbf01fabf335c66e9451df3beaf7b
+DIST thunderbird-102.6.1-sr.xpi 705270 BLAKE2B c9c11cebec0a68e2cefea6e0c0529c9b07c38678186a9ba7c6b86d1ca7a66e2bfc714d4b412f82ca2223955c8532b6b0ea47d5d7e6bde1f6076de56368ac240a SHA512 208acc42517ff74dc60a39f8714ad2f8b159a46845f2cbff07183b65e29a71ea0dcd211756dcc625a1361ab3126d1507a1a5458830dbf8585cb8472d3fc68e88
+DIST thunderbird-102.6.1-sv-SE.xpi 685685 BLAKE2B 555078ab0b6457dc8b1a0bd6bdd9d93d80d5277e4ee642dcc6a213ffdd071393fa513ff2568c88d3a00837f4cc169bdb5bca594a2ebd2c556ca4ac117c181676 SHA512 d34069e14dd939b4092d0719f3f0380801e9e2f152f86ebfd2c2af4fe48d130ebde158fa748296269221b8566e1b7b46b57575d7b2283d20e847f7211a4af28c
+DIST thunderbird-102.6.1-th.xpi 734541 BLAKE2B 09d5f168e816bc2a3256540ede79aa755bf435d9ce8bae504493c74c202a078c93638a825d577970179200f65c4425e0846717b4ed57742fc8afb000ef9abc48 SHA512 d5c01b85455805d5770e24d399c893ebc857aa29a7f0809f06dda05381dbc55ab04b6a93ab35b6b1352631facab5e6cc42ed0048c52e9faac27c811786bf2c9e
+DIST thunderbird-102.6.1-tr.xpi 697056 BLAKE2B b51223200c18ed57acbfb20462a45aa2374e4550fa98efa6b3cae19d69cceacd5cd26639969e31db5f87f0cb23e631bf8b91b10a8548d315ec1a121dd88e1a23 SHA512 9a050b203058f217189c6b473e94b88c0d6974af9424c13691cbaba22734badb2087f2de0648e0f82088c30dcc507f392e14dc4fd00b38eeb2b95bcd409b1a24
+DIST thunderbird-102.6.1-uk.xpi 794405 BLAKE2B 7f09aaf7e105130dc905e38a0c345eee04ef5b4ba37a67549818660d3cd295f9a6cadb5c3b8ea09ac2a81ac061a5b3d7208be742e95645fd8a0fa11345a952ef SHA512 2ab844419ad0d456623d267531c028198a5cef96199ef08c430f0b40fc84e48cd1dfcf8aeced4c0257a79f8aed03db9ecfa0518d6906e062a9995e892c388eb3
+DIST thunderbird-102.6.1-uz.xpi 584807 BLAKE2B 9ad1134699eda65be7ebe754f0f2d47ba5ceb4d96c0eb76f7d600aa58bdd25a80ca442cae58c0df0bbf1acdbf0851e19574e599743fb6f1a32349d2d2dc074a5 SHA512 a0b0b851a119cd0dab182544711c82ccd48913a70552708e765303e8c77af19e6d18fab26265251b92ac1e05b489a43013111521dee8fa1edf6d7a87c7a8c281
+DIST thunderbird-102.6.1-vi.xpi 724848 BLAKE2B 80a1ed0b0da36c32189fe2b5b06415766a32326a23823a323c1b8d7887f6a03de657bf7cda21689de55a379fdcc4d0aedcb702813fc39fc2b44026f0fec2aaab SHA512 b67167c7c658f5d4c5309aa1f68b3e83ff3ba5878e8391179a60ad556efd6c0500926e1d19a33d631d8305092ab5824cdf0cc24525e9eba31868cfb85b64af16
+DIST thunderbird-102.6.1-zh-CN.xpi 722698 BLAKE2B 3ed7e0fe78d5bf17084436b5dace00dba3bca92817e3a8212807bbfa30f283833f769be875679d67b0d4aa6170f3e9e813ce3f478cd206142aa2014c4cc38b6b SHA512 7bf80b68344e9c3b13f72033ec23cfc8c7dfbc811ae1d71c5bb9df37c1a605a64900917667bdc840d1c2e8033e0d6a4dbb0e8a5124368ef3c4652d7f85adf828
+DIST thunderbird-102.6.1-zh-TW.xpi 725969 BLAKE2B bf188d304c663e9fdb58f85388899128de299857e00ec73d48b5389729e3ab91ab0d671ba7907e1f65d1510aa69f7150e72004f423667de9fb63a7dfd22d20ac SHA512 1e395caf272de70d546c856e1fc0cf7e5fed90e301270246d2a214f54f5836df0f42dcf9d8ddda20e5e480b8026d9c80942aaf594efcc02778e3aaa7acc7c1d7
+DIST thunderbird-102.6.1.source.tar.xz 508826308 BLAKE2B ac364b260e430768e120005cb04ddc4f712dbbb601b066b86d4cac6e893939feae8e344dc71af02375d4f3362e2253e99a4930365e5f0b2d994c0e91726942f9 SHA512 06ea2fce76c08609d638435869fddc1c4d7f4b748951ebfb2476b4dba9f1f76d3de2c11e5f62540f297a5d30bb0fc637852d8e57f4fadc2c905f299757949d83
diff --git a/mail-client/thunderbird/thunderbird-102.6.1.ebuild b/mail-client/thunderbird/thunderbird-102.6.1.ebuild
new file mode 100644
index 000000000000..b1695aabe6e4
--- /dev/null
+++ b/mail-client/thunderbird/thunderbird-102.6.1.ebuild
@@ -0,0 +1,1177 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-102esr-patches-07j.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
+ virtual/rust:0/llvm-15
+ pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:14
+ sys-devel/llvm:14
+ clang? (
+ sys-devel/lld:14
+ virtual/rust:0/llvm-14
+ pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] )
+ )
+ )
+ )
+ !clang? ( virtual/rust )
+ 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}
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/libffi:=
+ >=dev-libs/nss-3.79.2
+ >=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 ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
+ einfo "virtual/rust:0/llvm-${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}*[profile]" ; then
+ einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] 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
+
+ # Clearing crate checksums where we have applied patches
+ moz_clear_vendor_checksums bindgen
+
+ # 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
+}