Gentoo Archives: gentoo-commits

From: Joonas Niilola <juippis@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: mail-client/thunderbird/
Date: Fri, 04 Nov 2022 11:07:42
Message-Id: 1667560056.d46c315ad0c7dfee3d6ad9bf77edb241e212bdec.juippis@gentoo
1 commit: d46c315ad0c7dfee3d6ad9bf77edb241e212bdec
2 Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
3 AuthorDate: Fri Nov 4 11:07:02 2022 +0000
4 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
5 CommitDate: Fri Nov 4 11:07:36 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d46c315a
7
8 mail-client/thunderbird: add 102.4.2
9
10 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
11
12 mail-client/thunderbird/Manifest | 66 ++
13 mail-client/thunderbird/thunderbird-102.4.2.ebuild | 1165 ++++++++++++++++++++
14 2 files changed, 1231 insertions(+)
15
16 diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest
17 index 899ed0d33679..e5d8ed3490af 100644
18 --- a/mail-client/thunderbird/Manifest
19 +++ b/mail-client/thunderbird/Manifest
20 @@ -1,4 +1,5 @@
21 DIST firefox-102esr-patches-04j.tar.xz 21860 BLAKE2B 1cc1d6493912f85e71cb5a0ec2c3196cda203242f3503bb6ce8c23a93e71a6e8b1138f88498a6a9698066134cc234989b35cb378693fb2cbc9ba4caa8d66761d SHA512 9f7188dd79b9856826ae2a60b0109c2c86c60c10b03cd1828a9f7a7576df5c49ed3e11e4d3319d80e117204d6bc3408e375a62ad16ec8d2e53f999cd298811d8
22 +DIST firefox-102esr-patches-05j.tar.xz 22180 BLAKE2B ea90ac860b20e6c44ad0abcc0275ffb8d09f29df07b9031b45642163408a0ed88a7ea3c5f2d40020ae1129521f3234c4bc22b2956a4aaf8679fe5f2e85c18fd4 SHA512 93733f8e3cbd19b5cbfb62487369ca7e5fda8f3335539e5af66d3d89c8b0bbcca4251bb56d92a008d47a6790f5cb2874268b2421c307307bbd34e4b3712b403e
23 DIST thunderbird-102.4.0-af.xpi 551915 BLAKE2B 13681d8aac920cc3295760e3ae21717d8fa67c35557216c70044b0e0d53515985e7a1c1508199149d34ea1dc6d0fe209091da3a30e1f0f9654b7c9ee607cd44a SHA512 960d9abcb20ce01ad1156c0851e8911f20de7de6e81968f85eeffadec76a1e322c7072b098f8001f0f9f252ccd5079efbec1d4ca41bcd2c5202982e3d7590b99
24 DIST thunderbird-102.4.0-ar.xpi 656148 BLAKE2B 9e83046403ddbb6701efa85da7c9492e852bc61bbf67287447c51a57d48934fa7e1111147ddef881b40eecbfb1da30c0d28cc9f215e210defdef583bed515936 SHA512 3ad66f30160bb1ec4d881849e96e511cfd71cda4b1b5d559bcec5e4268085e2c6fad30b7a7ce276b9e01cc70193bdc097e0870538c60ff3c4d86e8e23735b9b4
25 DIST thunderbird-102.4.0-ast.xpi 564832 BLAKE2B 83e12d4c8de9ef10bd5801ba54e2c37c718303f204bb730f99a3769b0931a62144d17fb699a24baffb3b16ca506638074a3d1f586f6c128f1874d70bf2d50ce2 SHA512 f07d7aa6d5c809506a10ddd79d1542045f4d222eca7ec5889a06ce539e10a291b8fae89cb500476a8945c2d2a093e102e08fe56cb27e9211ddd2780805a429f6
26 @@ -129,3 +130,68 @@ DIST thunderbird-102.4.1-vi.xpi 724844 BLAKE2B 5e8a9477e941b796fcee5d2c191396290
27 DIST thunderbird-102.4.1-zh-CN.xpi 722695 BLAKE2B 455c56d5756066913b9e4192f47e1b96d35c6122deacd6e26328dd2437f7f54e874efd27dad0113e286dfe704446ac4bd49c78d6cb71e3580692c5b2c8ef0c31 SHA512 4d9845511c89a5c641e74f524f4daee3c6ee36bb616499393ffcec9b336bcc91d04997dbec1bf2b833bdbd38f96d4e49882aa65a7c03258b08dc435d37c2f6ed
28 DIST thunderbird-102.4.1-zh-TW.xpi 725965 BLAKE2B c4d532dca6fd01e31756fd4865abc4726a662ffe8f9221705ea9936b826d82791a3eb6bdab2128acbf5f6bf6152b16d3b98ca8c53fbf267b511b74d1b6a40345 SHA512 14b190ae8b0886996d9660d1ea32e9f33442d96f7dc61ab26731e119e3236a23c358d1a2385b6ee7facae53c78f1e94000b451a4c36d98ccc80630042af6f2a3
29 DIST thunderbird-102.4.1.source.tar.xz 501950000 BLAKE2B 3e846245e8208c046ba87f0df984c7f875fe9c03122e71d1af82db42e987007478104a56edf640f75932145dbd7ad9812cad0aff99295be5fd551d0396034fa8 SHA512 8855f7bf1ee2c9f6859189f3aa8afa5d851af2f4edb1a63e3804ec7796f228addf2819028ca6213f7c3f6c452cf4915801df1e706d7c84d8f15e0a627c77b7b6
30 +DIST thunderbird-102.4.2-af.xpi 551372 BLAKE2B da7fee00ca127cc49f5b94bc5614a48957f254f6c53d08aa61cab69df30cc7d1b2308e2c59f5a66301e46a5aaa011aa54e955b79eed079a21aa7eadf17ca3639 SHA512 14ebd81a8a226b23a2915a1e4082c6cbf0ed86ef47c03c98de8f9146319cceb84699863d1df53fa5b51c08b122ed600758069fe33875808b1cca99cfe8c2ff3c
31 +DIST thunderbird-102.4.2-ar.xpi 656150 BLAKE2B 7a2c705155cc5959cb7b1b06a905d11f695f974b63e1ac6b5b548f8740aa3804712a1bee2f44968550ab1f559b167a5cdc534eb814191ad16aa2ed72a67b866b SHA512 7507d5f7cb851d07e3b52002605e9ee003738dfcf7b67ade69534c603d4fae1312c0383faf517feaaaa8fa1a458afedfe3f1a3ec0eaac99364e718c1703632ce
32 +DIST thunderbird-102.4.2-ast.xpi 564287 BLAKE2B c1faabf71ca9707d35722f750017c67f7fb6955c410002aa530f880b6106b1908111d58f3ac1682800d0d7002e3fa979e3d35de89d1326d088855335ce5c42e1 SHA512 f8db940f7ebde72b73bfed6483c043a4c12ea516f3613f7f699c25c2fdac3f54f5601c9104a154670bf6cdbf95f66b7a24c042c4dd12adbaa2b1ec978d670c5a
33 +DIST thunderbird-102.4.2-be.xpi 686679 BLAKE2B 106a5a32842dc591f47400150efada525f13a7383048d23b33aff761c1d6140b7e70d73f41b610e0cc17ac6fec930bb69e146e7c95ad45d483e71a4019be79a3 SHA512 4f1eac67a367f669fc5e0a59524a7cab5abf1090d3ba7644b69ebc477b92cdc558f968091a63f44e604e10be9226e3c08b607726b55447ac49cdeb718519fd98
34 +DIST thunderbird-102.4.2-bg.xpi 682268 BLAKE2B feb4e6f7d2958c413c93cc744d7118c7c6237aec5e8ceff27d91e0acf8fed948b420c74ea00ea06fcb1df40ee75263ee0bab803fb3e2f745b73968a83c789189 SHA512 9e441c90994ebda49f6f7c3b19137c3d3845faede3f4f07de2c3a164284d08fd8216b51961126bf9adda62318a84ad3c2b12d0dcf055ab7d3d450a926be4dfb5
35 +DIST thunderbird-102.4.2-br.xpi 615116 BLAKE2B b491616d53a06267d43afad2f5d1898983ade307235bdbfbf4dd38a9db6586d1087f561110220062f7036809d04d5bd20a73092a626476deaf9a40b846264e6f SHA512 477ff50e728bc3eca193084420dd46088a1181e9f1444977c7d1b4e4c6bb0a6bb501c7526cb1a712fea8b7b159f1e6cfd2ab935bcd0290777c913ec048f0ec44
36 +DIST thunderbird-102.4.2-ca.xpi 636174 BLAKE2B 48ca049d97beef13ed5bb6bc2bbef9b2c919e25c5c1a8484b698e899ff0baca9f3704f517a72fcb32a5930d65ab234ff06a0bfeb2ca0d87488cc2d79368eb62a SHA512 8eed52dfa8ed94a1ab4aa0696770523b07a9e6c4551b76aa5d87ba699f5c5ddde6745b3f3074ce8786b2b52adc6dea8f8905464649518a38fba9b5d691005311
37 +DIST thunderbird-102.4.2-cak.xpi 641841 BLAKE2B 78ccc24b6158ff743100b5a99f7f2f7a35d312250e74241e4552ffc65ede54d7fd3014df1a09f9fee620305eac2d65e6df5d74eab63af5f786e1acf266f84a06 SHA512 8c69d3201f011f2db121008f1d2ec81f2369e5f4b918d2092a3264d0f9c36a8f4f66219cd9c3dc4188d3a7a7a05176a9f298333fc5f0b4fd278f5ebe916b36bb
38 +DIST thunderbird-102.4.2-cs.xpi 706338 BLAKE2B 40c1f19439d17966e3ca2730fab8a0a365a8a4556efc5f946b4e7a4ea7a08138e5da82b0410446f868ea38e4ba07617a0dfbb05cfdf3f8524b5215804f85c91f SHA512 8263fa9357fefb2e8ffc21043356c502524ba0e190baa42d6a171be6b11d4e79f00de9058121940e31abc5f4c6a1eb95d4bd7de941d17ac541c64f3d9035347c
39 +DIST thunderbird-102.4.2-cy.xpi 684716 BLAKE2B 34f151510eacf0fd7b25a0c6863b9a7d3a89eb4c0bdf65609501254f7c1a27ddd3e95b2ca0b758b73588a1cefd57be7b5d132f584992b0f94bc1a16aa95bb990 SHA512 11aa51d16ec3807c02a3c32798a94c86ae7b9a5fd086aaabefa4dc174702a12bbc5c2dfb49b6bf3b398fc482b24d480cd1ec1c58ab875b7554f47f029e417e49
40 +DIST thunderbird-102.4.2-da.xpi 670578 BLAKE2B 05fedaeccbf90577c94651e63bb2890a3b0965f7dc6ea0794a37441bb4773ea5659c55e80c6aa2892eebe7ed372dad180605a45e7613abd23123bcfd3f92a298 SHA512 802e227b30d8b4d1edbc546d973ce05486a8b80eeb98f0e12a02b6496caf2e03e852060525d5c43e990196fa18c50cde80d3a19c2b9293b0798faf71d8581e61
41 +DIST thunderbird-102.4.2-de.xpi 703559 BLAKE2B 132497fd348b4c3b912538aa4daefde53b61a7b6245fb5518097b53db57a66870dee7e672d3632fa06ee89dcb818f35e77a4fe8ddd01da245604c5393bdd7cd9 SHA512 094e7914fe73ccd4349f0c979d11656b486aa7ee9d35550ef072af38de0925526051c716ab01c06ca220d4e26699cb01b5a203a8dba1e497e38d4ef8d23e3936
42 +DIST thunderbird-102.4.2-dsb.xpi 718470 BLAKE2B ad4cb896fcda260ede949a8e2e7fc8c014423bba2d4327e72556e77486a8dd2e61e61547110da0233ef01920024fc32fc422bb8b79ba0cc0eaead7dc531086a6 SHA512 39d1dc9b447b606f50e189eddc2543048f07e42fb0c78a709b9acf6c377318142050c278857161592d3268d2040531251eae5201acaae53ccfae632575d4dbc3
43 +DIST thunderbird-102.4.2-el.xpi 816316 BLAKE2B aa0c5f9bc7d38450d1c8b97badcb3eacfeee7b539c34878f4d6b87f2df9869a10073abcff341882455256e2d48664493e79ab28e793a9711f67ce58f9f6bc5cf SHA512 6d2a4f87d42c340f0d8768e5c45c22dd0b6c134eaaf0756ad1e5b3f97206840d15cf75cc09828dbe813ff3863266103a0dfd10a44174ca9cfc4646b8a6c337c4
44 +DIST thunderbird-102.4.2-en-CA.xpi 644397 BLAKE2B d2c8a988639948a12c72921d7169a8d97a5a6737ea6eb60ca462fd09b07c85f87981b93df1d5d59de5beed77f68715d827087afec764f9661a7d6cef4e2916d4 SHA512 d329c6cab779a9ecb852fe2be779599b077647a4670cffc04e25ac172dc93565cf68bb6ad4407374b0e856c4922984edd04e4d125f025b8412eb58416d85831a
45 +DIST thunderbird-102.4.2-en-GB.xpi 645398 BLAKE2B 331c0744ee350f1906d359faa688b8c4ca7a3f879dc2067c0d1c16929495a029ee6af3b3d4677227115868c2048e28495517f2b632c088468cec3635b5e45651 SHA512 1b86a5132b403b195749994022f624ad931d413f54f2eeecf02cda4ffb06b15e64e7e03577d44f4b49b1bd11cfe1aaec19ba98ed019e7435316dac39b417944a
46 +DIST thunderbird-102.4.2-es-AR.xpi 695963 BLAKE2B 02cfec82159b023adc586d53ca1164817e32b46a854781386dd52473eacbe5efa6f1927d4bc1b5b3edbad443707ec3c566ad4214dc28452ac7ab50801e3135a0 SHA512 06a475b8e66dbd5ea4c41c728b88237b3f76a3eb13fa8aca882274da73a8b38cfa779717661935a618ce780b190dc473a1542d3167e29a43195956bdba5abbe2
47 +DIST thunderbird-102.4.2-es-ES.xpi 652045 BLAKE2B 39c1c05abd9872096e3c2c70047ccbc24663ae55e1efcdfc37b3ff5edea2d62491a564ebff878adbe16093a8589cb35a0885ac4ffd0774da440566c4bd286bd4 SHA512 c9d4a6553637abd3d44656a015ed7d17b48b82fe7b3bd2f89da9723d10f9cbef3dff011e41e94b264dfd15182d2d69ff04f8f4650ba6555372da44bb9e1497f7
48 +DIST thunderbird-102.4.2-es-MX.xpi 698653 BLAKE2B c74050ffe38504ba604592ba9a19bf786bc69cbf3c882410ee483b7ac440c23890e5e326c530db11471d17e2e96c2a2e7c7861ca4e8a3ca5db3c292c9dea8765 SHA512 fcdf3c3bb6fcff7c315761c727a8e57d6debec5b4d47f2da54fb4cdf525a900ad809068a254c68504043e4113260525122d39899427178f658574a595d128255
49 +DIST thunderbird-102.4.2-et.xpi 666815 BLAKE2B dbf432e9feecf3a934a630fdc5b81e89daeec67c48402da35b62a020d31ad1263167bf32d0095e0019ca8eb47aae67c21b7c32f13a7ab48d74760f8417973b33 SHA512 f0776cac9cc1cd9ac716b47302aa93ba6f65fee469f92b42f4366ba557f289c6d98858a7f9631b9f4c1091abf5446e440e855d860f5c5cdadeb3660fbe847c2a
50 +DIST thunderbird-102.4.2-eu.xpi 680211 BLAKE2B a785bd3a7e519dc42ecf4d928fe8cd66b73a56ea38cfb3cc9dc55d470c0c4b3670f5457dea72e9cf8cea49bd3c207e8ff6b7d4678911d13ad9a97c44ef855e10 SHA512 8504863f40e2016cb69f0444083b3aab74e48d13564ff6ff0f1c512b00b0407622799f1137e05be2396bf4c2af4c96a58b3e95de349eea9405ae1107df1050a8
51 +DIST thunderbird-102.4.2-fi.xpi 673901 BLAKE2B 250b3badd6d90d51a6f9747239613ea4de9aabddb86830fb2d98865f97e586d67ea6b9878cf2332bd9ff772a44d8658b98e7be50261f6e298a2d47b9e555f871 SHA512 9b407d31315671ffe01ce9f767d89eaf43c083d2f41948a65c6eaadab6e33faf48383c8c1c53a02a7bf113260669d80494f4c6ddeca1eeac51e2f8b780fb8f8b
52 +DIST thunderbird-102.4.2-fr.xpi 708767 BLAKE2B 6bb63590d34ae4e295c0551dde823609ec82eec0a67da7bc443a8ffb5356d1c4cdac4693547c9c314f2811c65a83271a49fa2a331f5b038f89bf2ab28455d9d6 SHA512 dcb0afb46c34581a7d05462d98dd6b6beccdf005d417f76f3997df41313a8d91512febb3ed0611ab16bbfd1b5092c43d0392d3f0f577aa5c147fd6106ce914bc
53 +DIST thunderbird-102.4.2-fy-NL.xpi 690681 BLAKE2B b461c21aee3a06151977ba7e9241c930ee7d90b53125ba9fba2f6fbdf569663ff7c225fa20aa8466882d932671e40ce4c3e5164c87f70e77ca3bfefd9d26da33 SHA512 ef94e5b72b68e2cc3692a29b84aecfd82bc17525de9b7ea6c740d38840378da48907e8cd8c765f71788ec6d6f62e80cc74c049e6fedf7655555e4c18193b15c2
54 +DIST thunderbird-102.4.2-ga-IE.xpi 603099 BLAKE2B 127061da9377d54f0df2a01c342030cdc47d7927304a1246d732d12b3c0a83f5fc489c2ffb17dec1620304bf91fe282fe9b351a6b4a7b8166632c41bf34744a4 SHA512 e50b27c91b68daa2645e58f0bd56a76da42c35d3a3382abe3664629c86389db5a2fb1d72fd033d4de1b63774d9b63885ba8e23fc92cc5e5190f2bed825e91566
55 +DIST thunderbird-102.4.2-gd.xpi 632445 BLAKE2B 85732b1ad4b9ae725b7a6b6295598dbd381257cd677a7f8a4a5f084723655c16869da6284fa4f6296102e6321cc5cab432475235f5377f36b8b1a48322258796 SHA512 82675a468fc7cd282c64b0e07b01d37b177f54ba1555824e2e0b589a32172ca4c7fb7cd2b63d7ee51bfdf89fc687a93ccb1ddcd252fefeb875a9093faaffa2ea
56 +DIST thunderbird-102.4.2-gl.xpi 663210 BLAKE2B 2fffee731a09bcc7467c242b35c91d321b2e0414b2f27820b0b0e9d072c67a8b7762b5525220b94c1de6f84b8a67fcc64a6861b6b94566661745c1a0a9ecaa72 SHA512 6100a61507778adfad01f707511c58812d814705ae70fa29600e6375c8de365d5ea9d74811cfc771a4cb3402fdc38a1d937a383541071eb7e950c60a4a19c693
57 +DIST thunderbird-102.4.2-he.xpi 662890 BLAKE2B cdfe6bbb88507b3098c836c0ac115e25da71a0d1d9461d8f963e6535075b897d08d16bc614c2a59f983521d4eef40bdbe358886f7b7f24eec48fd35cff87b435 SHA512 0904fa5a6cd4c34c2951459086b974811079a930f8cd683975df23d698a798d5c61906b70127fb667009c0deec397a3d2cd6c2810e6fac09d9fc22d2c9972304
58 +DIST thunderbird-102.4.2-hr.xpi 661114 BLAKE2B 68ad72a93ec96fd3996a5084c34623bdc21098bedec218986bd44a5ec581c150c6faac0456ed893ed4019851b2e32c9b5b237ff29c6ab7d7bcb55e2b0cd32c64 SHA512 e057e55efcf5e7e58d44a5819ef7a082fae408adb31241da0634e234a146425c2febc9934bc279365d33c2a15b2e606e75528bf4d29ea98f743c9def066f4996
59 +DIST thunderbird-102.4.2-hsb.xpi 715754 BLAKE2B 81b0b581539ee2bd0ab8f9c4ef4288dbd6627a716bd4cd337bb20ea2e88b7c780cfffbce5d6da6a02ca8294f62efa1a99944a9ea674fc2927d628f5a857443fd SHA512 0a4fa6d0689fb027aa2a4194d98e6df0e6e66334df8c6cd42b2254f38215ad314150d474fe40ecfbaa069e5651fa1d16feb19d4d134d7b5a29547b108f69d62b
60 +DIST thunderbird-102.4.2-hu.xpi 718785 BLAKE2B b4d6b3595b7df1c31f3a3caf319df627ee5e9258614ab3f5133afdfe19466f7186f17a5e3047fca907b40f6439a5ab8ebef8f3a439e49312b794c286964f53c4 SHA512 aa71fc3434ddea897b5d9a51e449488b8b706185439898fafeeb3172a973abf5bb707cb1e7069800b506a1345253308c451495fdb12b890b97e2546627c45b4f
61 +DIST thunderbird-102.4.2-id.xpi 639541 BLAKE2B f0256637660d35514c09a8566feaedd953de113b3b37af59296854fb42df21a834ebf806116969907ad9ddd863a19d09d16c296aebd8df48b7e8977b31ead198 SHA512 a8632d326ef57ae058a8fa65b7ff1486fb0d4572057413af16b833e2d9e3450172cb2211f09ebd1997d87dd14232be09420e963622023bb7a7a932f05dc475af
62 +DIST thunderbird-102.4.2-is.xpi 685617 BLAKE2B e1b5163f185195a3f6d1b9aae13f657550b8c74086dee34f5c2d0ff0a3cd4da8e5c04bfbd28b1c30dc602814e55665d7634f746df64070268b5ed0af149b5f4a SHA512 bb6f92c8f3aaf05587a7cee5a8b4d5bd313b66c12194ebfc59db415bc8945310e5af176829aa32586850d222f8efed92de14b7c3d0b1e656b4e0faaee9723009
63 +DIST thunderbird-102.4.2-it.xpi 617780 BLAKE2B 7c43c26e86cf2263af749b895e3a3ed2d1e18d64ddce0840cfaa56423a8b9d1ff5663807d20e969473cdcd02394d2ce097147bf9de52ba35c2ad2b3cb04a5e2d SHA512 6b69c547efedbb43db8ce46c6c1bda3abc13b16afefaeec81d09903965bc7c0a9b9ece6f9efa59cc70fb8116c787126e4977fcfe5d3e8f08c13073d7f57630a7
64 +DIST thunderbird-102.4.2-ja.xpi 755143 BLAKE2B 0b81cd80a6078424380fdbd3fd2fc283805f745a9c36c4e76710fc3593b82dea7a8f20506fbbcd477fe920db399e51e5971886b551ce401477c8b2f1af4e0c25 SHA512 09322704f7c8f3b7f362335c6f417c45caef2248ae8136e0d8bcd96df52a9989690b4b8289e37e7b6a00368d779ad5402802925d122e267094e225c4087d9237
65 +DIST thunderbird-102.4.2-ka.xpi 752976 BLAKE2B a25fdb6634a12470bc2d127b361c00cd9475f0b83fe1c079be786c1b635cccfd90da69ff327941b203907b224e470260c3010130fafb63be6d149d18f7401f38 SHA512 3a31d1d1c4eff9872079b137b78522c4796fed0cf61b85dfc9eaa151373749a9298f53d978255f3a569c3bb8f6fcbba63c294ac574debf0e0a9f4dfa6ef937f1
66 +DIST thunderbird-102.4.2-kab.xpi 688572 BLAKE2B 71d199df00fb51e839c73f63ad50d8fcfbad61817c0492070a77d3269594a109b5fa35653d51bf4757bcf9394b5d4d451cd28e7af14ef75f91f9caa7a2bf3599 SHA512 74401fdcad0b8e4dcc2b2122da23484e89f00fdd7050bfd8c7d555121f3ef1a686b0f8176c845e8fe5137d4be4a88622ae2d4c279a93eaa690ba62f9ed286f6c
67 +DIST thunderbird-102.4.2-kk.xpi 731942 BLAKE2B 45b351c6cb1b37b3585f44f833667d40fc29f65166092ea74c61474ff8bdbb33ded8d52b655bbd7c6ca746452296e90152db0e87b2278de897477df8d0acaf21 SHA512 3bc6a0e13537fd819480cb01545cd29784d84a7c63593e3bc89528c8a8ed1058da42e5a306e96cc6422c795c023016ba15360cf0d148a30149c0673ffd89d066
68 +DIST thunderbird-102.4.2-ko.xpi 692941 BLAKE2B eb346b7852f95cb0b45ee08ddf8c87fcfa4c8d1a901e96ac5d54f4b4345f54e0460475180ae7c80efff52e90c60fdc99cb6e4b5d3611c856db786cb5bd3a3fbc SHA512 ab2e3e027a212edd0bc9a238c084d4ccd3d00e8688299b3251d2eecd8aa4a387cf31dc6cb0b5f41877dbeb6c7f0956702b98d50f13bee0cdf2e6e40a435474e1
69 +DIST thunderbird-102.4.2-lt.xpi 680720 BLAKE2B 389b8610abe8fb16fb3f7300d4e225f29819e0aba8a9a0c2a713fdf39e623b7b242ad7d168ce599678d84d2f6bdad25babf17fbad7d804e2385ab9ad0a54e24f SHA512 7d1948bfdd0ad20754abea33ad1a06848eb2f2eb15e1d0849dad4165e913886d72f6e17f018bdf4350bba2efc9ee102b6ec8c447890ef37cf8f4ea057c3dd7d5
70 +DIST thunderbird-102.4.2-lv.xpi 608589 BLAKE2B 5cb65df9d6e4b5b249a1ace9de8a11a6077346f5f2b5c1527091d29ad0a1c0dcfbea6c6ae808a44baf5cfe674e501c592e4d91aab228acf0dd3ca545672bc7b4 SHA512 1c36c77f54b230f8e5d87eb89ea5752e2a6bc751a19587cfa02d85e306f4a9eae72725c6109631ab7abbe74d42f5955fa7578cadd4341c7180715b702b96c30f
71 +DIST thunderbird-102.4.2-ms.xpi 568427 BLAKE2B 624be2236bc1e097880500e7e0a7c1a5e7ceb986a58d6bfa7261731b2819f6ed888372e7ab861c3ce4249b76c67832a3c7d41fdba90e822a15865556f9d91189 SHA512 ce5fbdc79c5c41a1be1505a87fc0b32ebf52f0094728299e2c7167dce809f0de1f3429c339ffa97678a90512c8b03b8965981aac297726dce6fb98b17fba7dbd
72 +DIST thunderbird-102.4.2-nb-NO.xpi 648583 BLAKE2B c1b13fee45c49313713919be65b10097863ab7f79351c92a04bff4d2a2ce83dbe0bb5420a4ba1d88a18bf84ea8a8ccc216de1721a76700f1a481b3281991d5a4 SHA512 7144098ac3b113573b40c118d719ad26c963253161e9121dd358373cf2bbd6e928e76aaffb6ea922ce899c4c19f44b1577514a51cadcc589fc5fc211e255975e
73 +DIST thunderbird-102.4.2-nl.xpi 682268 BLAKE2B 731deffa6ecf9ab07a8b9f5ff3a8c9bdde87ee4259f5479a520528c3d04f128ce8d9a013a5b697aaea35929d00426b2f12553f5ecf2ea6fc9f55c25a1cbd3c59 SHA512 05e71cc815208a4177208c52dbf64a732f245f10d0b4f1055a2dda6e40da74639d5e219ad0c9193becd94e3e114d687f8ce1bdcc02bbdcc285e2b97c2d4c952c
74 +DIST thunderbird-102.4.2-nn-NO.xpi 656907 BLAKE2B 4665a02d9a61c2f55cc9ab8905a766b4ef9d10353e14d4e463c6972c93b9cc257b08006178e53dae1737299e0a09f4dd83d1e2b559e6d2f394c77b44a8c7761a SHA512 632dbd2ee6686d7e024e3708fbe19ed201cc345f1e1e9f56da1b517f35e3069b4bd87d3add6e056581547587072ecddddc3b44bd4ad5d23da86c0f90b6a24207
75 +DIST thunderbird-102.4.2-pa-IN.xpi 653544 BLAKE2B bd891688af878090107fbec2d6cb06a4ecdbc18c0223e5f0c6e4dc8bc96bccd481a28327b7da8b7ed82338e76e61c6e8f1ee50d1fda1055e4e51b6b80eb1daba SHA512 90a144f83c5d6e415a6939778bb537181d5d8922103e8dc3c248fd24df17e8964cbaf5646628d3d39eaab58d53c064f48137f364304574f80a65e080273126a1
76 +DIST thunderbird-102.4.2-pl.xpi 695418 BLAKE2B ce434b772242fbae1bb6d5d35f9f54f76a2af1855f09ef67eb122a2cf65722c3c11cd1824439e1191cd8907e4e7d3c8a7d9b8fa23079bcee74069387908c8fcc SHA512 10a80d032eed010bc580331f79e4038f1e7debb497d3c948434904c222e7f4bac44b19368ebf3dc2a0cbfd0e0df66786af309f0f4e01ff9922d70673847da68d
77 +DIST thunderbird-102.4.2-pt-BR.xpi 690289 BLAKE2B 751f892906a90eb74b70bef279cbaf067ac30e9fc1db23bf56bed269ba8ac9b1eb45efb9abbcffce255640d6a09f9a81a7d2b5c919b34a2db4376f7ffa593cb8 SHA512 eaee3ad02883d18365c1b0f9a89abe3c0421be74c517c766ae2a5669af1eb4a7c8ef3e5519bc4dc114356cefddf038b7723e1071313fb19d4d5f0b818aae1fc4
78 +DIST thunderbird-102.4.2-pt-PT.xpi 666880 BLAKE2B 92747d4e996f5e6f8d4ad44c9bd23decca5c78f47f56664625d02f82e2dc6c62f56cf886cf38074963c35ee48e602c033871ca121e320902b73038f9fead919b SHA512 c871d6c94c638039184fab6388c62e79e33a269ac8260b8715c69a4ec0ba0e15c93c0d1db69b3664dc744e23ce2093f2c2f2d0745d61421c6f8f30444e110f02
79 +DIST thunderbird-102.4.2-rm.xpi 686110 BLAKE2B 94ec8575aa260a6ce9572241a72b610de6827c682e066743bcfe5b84bcfdcc710936478e7ff402f19fe2c4914f60ce4e4c2cf77586731859107d3cda2371cfb0 SHA512 a4419cbba043e611f7a34ea4053ab5285b6aee47c09c1a5456881ba77e5ba229a0ea53b50bcdfcfaa2491e1937cca0b6fecbc651e802042279b3d9c2285d3daf
80 +DIST thunderbird-102.4.2-ro.xpi 651333 BLAKE2B eae00946ca3d23bcbe25b537c0cb40927b142577a5887ca4add8fb85cfde05a10c48b096bcd0de4a10aeda8b4355bdc646c309d59f1e875ddaf5a27560781b1e SHA512 6356404ce6d06751236a0763dfc7396204f7a68f9067b98a1db8268c9a7c5085caa7f5e88a05d4a40f02975805b2ace1ed9e18e7c0b8486e6fac2afce2eaccf3
81 +DIST thunderbird-102.4.2-ru.xpi 801785 BLAKE2B 397eb691c476e8eeb6f7cb5fa490234c6f40f744f28930fa19cdbcc1e63326559492117910360eab09ee956c162b0e46210fdb588b26affe7b66a367f3be4ea0 SHA512 3fdef703253ac4918e38667f7a7d7b0d16ec20638975fa11cd6293f163d3691365b4cc1c5e86a19357062f8c290e9bf3a2013e4525441d3e9fbf56a89ec6210b
82 +DIST thunderbird-102.4.2-sk.xpi 718356 BLAKE2B c017c8c9db247762f098ff6e870d604d062a2e0e8efef891317e128218547e04f7c00933f7f64bb39ad5e87badf635c89f7be0c8004f1ccb45834bab8f5c2a2d SHA512 6e11f1f4f09d46752d2d91e00024c97b02802c0feaa9552a3636d1e059f3b096de08b3b1b509213c3cc0a75912400a8af83b15ec01e6fd12709aeb4f7160e388
83 +DIST thunderbird-102.4.2-sl.xpi 683785 BLAKE2B fe19af11b15546b4432acfa31a9a12c90e1db78e5e0bc9fd0b64327c48b2ecc41b87a9381e7f6b188de066ca4f1fbb1d5141c89bd82fc287ea7764f915883a93 SHA512 766603ed11c9d343aa289ff8755980ed53fd5a7366e1e67d12312bd21794bf8e8ab103dc7afadaf8125edeb852bbc11a8183db9332641aa140cb596bae552355
84 +DIST thunderbird-102.4.2-sq.xpi 690226 BLAKE2B 733ada974e6f1c67996f22aed61d70787ced8e2e887c8ed3fb9cd65d24bcffb86a1e06c8eaf64dd438e30d727e3918723e0790e1dab32c064b557375fa94ee0f SHA512 9404ff61a93efa682b8748abc9cd93010b3be71cebcf288d12c192e217a61169fed172af5502a8a90c819d1847914f854be0569f4ba3176a7aeb1c87b924fefb
85 +DIST thunderbird-102.4.2-sr.xpi 705271 BLAKE2B 2f55b06be7aa8f70160cd7507ef751702e8625cb6c0c8a5af1c9477da4537f738cfe26eb5319405032d271111ef79a0c87f13bd6f3a273f69922b7a5a7b5f3a3 SHA512 736cf17567052007e31dcbfad027edcb7215e9f8b8800c011a9691775c3b18873b0595841e566f0dc381ab01a6cfe40db639cd0d7b07556f85fac6fc68db23ab
86 +DIST thunderbird-102.4.2-sv-SE.xpi 685685 BLAKE2B 02ef5c5f9ed84a4912a2fd7f832e09a2f0f1d4fc1ece8b5fd2d3b5a26abec2e90d42869e7904e5d1cfb64f43d32c24626f4180bb62cea8ed5475d751ba3b5f36 SHA512 750b55322281aabd2a89213eab605e0474aea8a1262d24803e93b16507f844fbd491db861d02fcf64616b0cde9f59a3a3169bcd65feb2edd401124cb0844c295
87 +DIST thunderbird-102.4.2-th.xpi 734542 BLAKE2B c3e33afa0e78b1a11eea351616de56bcbdb22847f400538740074c24effe224c2e028cd4791ab61728283bb071e18aa01565f59cac47646130aaaaea77f816aa SHA512 19bcd31ebfa4efde7441afad34bd6c2bd3fdf6e6ee4df0c7e61f9ed7f26fa11753e286816be7633861dd837419d047d5b09edad3e8a38dd8440821256cf1b69b
88 +DIST thunderbird-102.4.2-tr.xpi 697057 BLAKE2B c62c330a950ca175c5b549d5d2f5d2c8a6f6d33fb91ab44e3031b7c42be589218659bb81f7f0d20342da5d6be728b41ee1e5b6990ccdecc270f0b32fcf49b9de SHA512 a894edb22d6466cf000f1e8fedd873ab2c3f5045deeda03993a4cdcb1a75a917039deb0a74a8f1101d9ca87b362b4fcf8b749ba20da691184dba8a881aec14d6
89 +DIST thunderbird-102.4.2-uk.xpi 794405 BLAKE2B 1f6215c1a38bf1edd5d7c6075bd4d280af62f64343da01aed3eee1068dfa61fdbad670209627a84f187a34c3a07e1800a3d934d8771eaee2ff68c7fcd70e4259 SHA512 d0d48b6aea0f42ef223f8c364d594752ce8ecdb9e0d1df3a06543320f56cff625c22ce1ab01ddfd4cf555c33a5c79bd5d764ef4fab5c896c893632ffddca6f8f
90 +DIST thunderbird-102.4.2-uz.xpi 584807 BLAKE2B 03c1513928bc9dd3c0cb34a387100ad0c4bbb6ffe0cb9294470ce768a0ae3249d56a4f7bfab769b02f9fa9d14dc5b2c55aff4b7d4207f705836ab1d1d098c467 SHA512 e272c7ffdc98db06ceea5dc51f8db69c07d3172e010d3ee168703da3ab652c127aa4a6f663fabd87ffeed4d2b9c32a0c42fabf34e2a7c2abac42c2d6c5ba32aa
91 +DIST thunderbird-102.4.2-vi.xpi 724848 BLAKE2B d63dda61aece0d1e229ee0bca54f4cc7c0eb7d03ac99a785f8fdfebbec00a0ca24bbe69aa79dce75737fa53d06706a1f234d970e2d2e3259dc7e86522ca39a9e SHA512 aefe2e1726e20a82192006ae81fd4e45f09362a634a87e4792abdc6fdcab938a228005834df31a0d958533d60caa98e002f7b3c70de54cfe1c805c02fee32fd1
92 +DIST thunderbird-102.4.2-zh-CN.xpi 722698 BLAKE2B d8a466c7c3cfa4d7a710be4429a5b1d9342b298fcd4848baf6601df1f122085c0ed6c921bd25c352cbd0441e07e8b2bf2a220cc73a0e3cae3b7760ddd65150e7 SHA512 a5ae3a7aa426bfaf44d13230f14589f56d92bc0b75b4fd24b8c746e7f758492ff21f2bdfd426a578434c35dbc7367bd5eada1961a809a3b303453dd99796777b
93 +DIST thunderbird-102.4.2-zh-TW.xpi 725969 BLAKE2B 15b0798c234180778c17cb1363218d5d190f7c63b7d3ddc06a13f77d9fd40a1ce664a17890c849bae502ddd0cf82f7eaaea8f003042310de80f2fadff1617d49 SHA512 6ddc7bd5aa084658253d228388af2cab035d611131ea2e4e84a6fea5f48c5402e463851d15faa979da1fc7b96535a1ee0aff6de4ebfa91f0f6dc4915da695adf
94 +DIST thunderbird-102.4.2.source.tar.xz 500913544 BLAKE2B d20177ac0191ee85d972fd11705a5a1a86fcd8265e3bb9c24c1413a0175a76094d9b775ea97217e2b5f7413ab3e3766ac5d167c8ed2622c786a0d5aa1d13211f SHA512 d74045e3ded718b9dffbf9f076f61f05be63d1914cca672c5145f86e94677df35c0c86958e31aee4f6388052c766b9588b942ab8578bc214addd49edfaa04a4f
95
96 diff --git a/mail-client/thunderbird/thunderbird-102.4.2.ebuild b/mail-client/thunderbird/thunderbird-102.4.2.ebuild
97 new file mode 100644
98 index 000000000000..b08367f7693f
99 --- /dev/null
100 +++ b/mail-client/thunderbird/thunderbird-102.4.2.ebuild
101 @@ -0,0 +1,1165 @@
102 +# Copyright 1999-2022 Gentoo Authors
103 +# Distributed under the terms of the GNU General Public License v2
104 +
105 +EAPI=8
106 +
107 +FIREFOX_PATCHSET="firefox-102esr-patches-05j.tar.xz"
108 +
109 +LLVM_MAX_SLOT=14
110 +
111 +PYTHON_COMPAT=( python3_{8..11} )
112 +PYTHON_REQ_USE="ncurses,sqlite,ssl"
113 +
114 +WANT_AUTOCONF="2.1"
115 +
116 +VIRTUALX_REQUIRED="pgo"
117 +
118 +MOZ_ESR=
119 +
120 +MOZ_PV=${PV}
121 +MOZ_PV_SUFFIX=
122 +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
123 + MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
124 +
125 + # Convert the ebuild version to the upstream Mozilla version
126 + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
127 + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
128 + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
129 +fi
130 +
131 +if [[ -n ${MOZ_ESR} ]] ; then
132 + # ESR releases have slightly different version numbers
133 + MOZ_PV="${MOZ_PV}esr"
134 +fi
135 +
136 +MOZ_PN="${PN%-bin}"
137 +MOZ_P="${MOZ_PN}-${MOZ_PV}"
138 +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
139 +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
140 +
141 +inherit autotools check-reqs desktop flag-o-matic gnome2-utils \
142 + llvm multiprocessing optfeature pax-utils python-any-r1 toolchain-funcs \
143 + virtualx xdg
144 +
145 +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
146 +
147 +if [[ ${PV} == *_rc* ]] ; then
148 + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
149 +fi
150 +
151 +PATCH_URIS=(
152 + https://dev.gentoo.org/~{juippis,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET}
153 +)
154 +
155 +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
156 + ${PATCH_URIS[@]}"
157 +
158 +DESCRIPTION="Thunderbird Mail Client"
159 +HOMEPAGE="https://www.thunderbird.net/"
160 +
161 +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
162 +
163 +SLOT="0"
164 +LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
165 +
166 +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
167 +IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux"
168 +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp"
169 +IUSE+=" wayland wifi"
170 +
171 +# Thunderbird-only USE flags.
172 +IUSE+=" +system-librnp"
173 +
174 +REQUIRED_USE="debug? ( !system-av1 )
175 + pgo? ( lto )
176 + wayland? ( dbus )
177 + wifi? ( dbus )"
178 +
179 +# Thunderbird-only dependencies.
180 +TB_ONLY_DEPEND="!<x11-plugins/enigmail-2.2
181 + selinux? ( sec-policy/selinux-thunderbird )
182 + !system-librnp? ( dev-libs/jsoncpp )
183 + system-librnp? ( dev-util/librnp )"
184 +BDEPEND="${PYTHON_DEPS}
185 + app-arch/unzip
186 + app-arch/zip
187 + >=dev-util/cbindgen-0.24.3
188 + net-libs/nodejs
189 + virtual/pkgconfig
190 + virtual/rust
191 + || (
192 + (
193 + sys-devel/clang:14
194 + sys-devel/llvm:14
195 + clang? (
196 + sys-devel/lld:14
197 + pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] )
198 + )
199 + )
200 + (
201 + sys-devel/clang:13
202 + sys-devel/llvm:13
203 + clang? (
204 + sys-devel/lld:13
205 + pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
206 + )
207 + )
208 + )
209 + amd64? ( >=dev-lang/nasm-2.14 )
210 + x86? ( >=dev-lang/nasm-2.14 )"
211 +
212 +COMMON_DEPEND="${TB_ONLY_DEPEND}
213 + dev-libs/atk
214 + dev-libs/expat
215 + dev-libs/glib:2
216 + dev-libs/libffi:=
217 + >=dev-libs/nss-3.79
218 + >=dev-libs/nspr-4.34
219 + media-libs/alsa-lib
220 + media-libs/fontconfig
221 + media-libs/freetype
222 + media-libs/mesa
223 + media-video/ffmpeg
224 + sys-libs/zlib
225 + virtual/freedesktop-icon-theme
226 + virtual/opengl
227 + x11-libs/cairo[X]
228 + x11-libs/gdk-pixbuf
229 + x11-libs/gtk+:3[X]
230 + x11-libs/libX11
231 + x11-libs/libXcomposite
232 + x11-libs/libXdamage
233 + x11-libs/libXext
234 + x11-libs/libXfixes
235 + x11-libs/libXrandr
236 + x11-libs/libXtst
237 + x11-libs/libxcb:=
238 + x11-libs/libxkbcommon[X]
239 + x11-libs/pango
240 + x11-libs/pixman
241 + dbus? (
242 + dev-libs/dbus-glib
243 + sys-apps/dbus
244 + )
245 + jack? ( virtual/jack )
246 + libproxy? ( net-libs/libproxy )
247 + sndio? ( >=media-sound/sndio-1.8.0-r1 )
248 + system-av1? (
249 + >=media-libs/dav1d-1.0.0:=
250 + >=media-libs/libaom-1.0.0:=
251 + )
252 + system-harfbuzz? (
253 + >=media-gfx/graphite2-1.3.13
254 + >=media-libs/harfbuzz-2.8.1:0=
255 + )
256 + system-icu? ( >=dev-libs/icu-71.1:= )
257 + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
258 + system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
259 + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
260 + system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
261 + system-webp? ( >=media-libs/libwebp-1.1.0:0= )
262 + wayland? (
263 + x11-libs/gtk+:3[wayland]
264 + x11-libs/libdrm
265 + x11-libs/libxkbcommon[wayland]
266 + )
267 + wifi? (
268 + kernel_linux? (
269 + dev-libs/dbus-glib
270 + net-misc/networkmanager
271 + sys-apps/dbus
272 + )
273 + )"
274 +
275 +RDEPEND="${COMMON_DEPEND}
276 + jack? ( virtual/jack )
277 + openh264? ( media-libs/openh264:*[plugin] )
278 + pulseaudio? (
279 + || (
280 + media-sound/pulseaudio
281 + >=media-sound/apulse-0.1.12-r4
282 + )
283 + )"
284 +
285 +DEPEND="${COMMON_DEPEND}
286 + x11-libs/libICE
287 + x11-libs/libSM
288 + pulseaudio? (
289 + || (
290 + media-sound/pulseaudio
291 + >=media-sound/apulse-0.1.12-r4[sdk]
292 + )
293 + )"
294 +
295 +S="${WORKDIR}/${PN}-${PV%_*}"
296 +
297 +llvm_check_deps() {
298 + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
299 + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
300 + return 1
301 + fi
302 +
303 + if use clang ; then
304 + if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
305 + einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
306 + return 1
307 + fi
308 +
309 + if use pgo ; then
310 + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
311 + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
312 + return 1
313 + fi
314 + fi
315 + fi
316 +
317 + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
318 +}
319 +
320 +MOZ_LANGS=(
321 + af ar ast be bg br ca cak cs cy da de dsb
322 + el en-CA en-GB en-US es-AR es-ES es-MX et eu
323 + fi fr fy-NL ga-IE gd gl he hr hsb hu
324 + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
325 + pa-IN pl pt-BR pt-PT rm ro ru
326 + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
327 +)
328 +
329 +mozilla_set_globals() {
330 + # https://bugs.gentoo.org/587334
331 + local MOZ_TOO_REGIONALIZED_FOR_L10N=(
332 + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
333 + )
334 +
335 + local lang xflag
336 + for lang in "${MOZ_LANGS[@]}" ; do
337 + # en and en_US are handled internally
338 + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
339 + continue
340 + fi
341 +
342 + # strip region subtag if $lang is in the list
343 + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
344 + xflag=${lang%%-*}
345 + else
346 + xflag=${lang}
347 + fi
348 +
349 + SRC_URI+=" l10n_${xflag/[_@]/-}? ("
350 + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
351 + SRC_URI+=" )"
352 + IUSE+=" l10n_${xflag/[_@]/-}"
353 + done
354 +}
355 +mozilla_set_globals
356 +
357 +moz_clear_vendor_checksums() {
358 + debug-print-function ${FUNCNAME} "$@"
359 +
360 + if [[ ${#} -ne 1 ]] ; then
361 + die "${FUNCNAME} requires exact one argument"
362 + fi
363 +
364 + einfo "Clearing cargo checksums for ${1} ..."
365 +
366 + sed -i \
367 + -e 's/\("files":{\)[^}]*/\1/' \
368 + "${S}"/third_party/rust/${1}/.cargo-checksum.json \
369 + || die
370 +}
371 +
372 +moz_install_xpi() {
373 + debug-print-function ${FUNCNAME} "$@"
374 +
375 + if [[ ${#} -lt 2 ]] ; then
376 + die "${FUNCNAME} requires at least two arguments"
377 + fi
378 +
379 + local DESTDIR=${1}
380 + shift
381 +
382 + insinto "${DESTDIR}"
383 +
384 + local emid xpi_file xpi_tmp_dir
385 + for xpi_file in "${@}" ; do
386 + emid=
387 + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
388 +
389 + # Unpack XPI
390 + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
391 +
392 + # Determine extension ID
393 + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
394 + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
395 + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
396 + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
397 + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
398 + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
399 + else
400 + die "failed to determine extension id"
401 + fi
402 +
403 + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
404 + newins "${xpi_file}" "${emid}.xpi"
405 + done
406 +}
407 +
408 +mozconfig_add_options_ac() {
409 + debug-print-function ${FUNCNAME} "$@"
410 +
411 + if [[ ${#} -lt 2 ]] ; then
412 + die "${FUNCNAME} requires at least two arguments"
413 + fi
414 +
415 + local reason=${1}
416 + shift
417 +
418 + local option
419 + for option in ${@} ; do
420 + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
421 + done
422 +}
423 +
424 +mozconfig_add_options_mk() {
425 + debug-print-function ${FUNCNAME} "$@"
426 +
427 + if [[ ${#} -lt 2 ]] ; then
428 + die "${FUNCNAME} requires at least two arguments"
429 + fi
430 +
431 + local reason=${1}
432 + shift
433 +
434 + local option
435 + for option in ${@} ; do
436 + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
437 + done
438 +}
439 +
440 +mozconfig_use_enable() {
441 + debug-print-function ${FUNCNAME} "$@"
442 +
443 + if [[ ${#} -lt 1 ]] ; then
444 + die "${FUNCNAME} requires at least one arguments"
445 + fi
446 +
447 + local flag=$(use_enable "${@}")
448 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
449 +}
450 +
451 +mozconfig_use_with() {
452 + debug-print-function ${FUNCNAME} "$@"
453 +
454 + if [[ ${#} -lt 1 ]] ; then
455 + die "${FUNCNAME} requires at least one arguments"
456 + fi
457 +
458 + local flag=$(use_with "${@}")
459 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
460 +}
461 +
462 +pkg_pretend() {
463 + if [[ ${MERGE_TYPE} != binary ]] ; then
464 + if use pgo ; then
465 + if ! has usersandbox $FEATURES ; then
466 + die "You must enable usersandbox as X server can not run as root!"
467 + fi
468 + fi
469 +
470 + # Ensure we have enough disk space to compile
471 + if use pgo || use lto || use debug ; then
472 + CHECKREQS_DISK_BUILD="13500M"
473 + else
474 + CHECKREQS_DISK_BUILD="6600M"
475 + fi
476 +
477 + check-reqs_pkg_pretend
478 + fi
479 +}
480 +
481 +pkg_setup() {
482 + if [[ ${MERGE_TYPE} != binary ]] ; then
483 + if use pgo ; then
484 + if ! has userpriv ${FEATURES} ; then
485 + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
486 + fi
487 + fi
488 +
489 + # Ensure we have enough disk space to compile
490 + if use pgo || use lto || use debug ; then
491 + CHECKREQS_DISK_BUILD="13500M"
492 + else
493 + CHECKREQS_DISK_BUILD="6400M"
494 + fi
495 +
496 + check-reqs_pkg_setup
497 +
498 + llvm_pkg_setup
499 +
500 + if use clang && use lto ; then
501 + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
502 + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
503 + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
504 +
505 + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
506 + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
507 + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
508 +
509 + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
510 + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
511 + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
512 + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
513 + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
514 + eerror " - Build ${CATEGORY}/${PN} without USE=lto"
515 + eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
516 + eerror " llvm/clang/lld/rust chain depending on your @world updates)"
517 + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
518 + fi
519 + fi
520 +
521 + python-any-r1_pkg_setup
522 +
523 + # Avoid PGO profiling problems due to enviroment leakage
524 + # These should *always* be cleaned up anyway
525 + unset \
526 + DBUS_SESSION_BUS_ADDRESS \
527 + DISPLAY \
528 + ORBIT_SOCKETDIR \
529 + SESSION_MANAGER \
530 + XAUTHORITY \
531 + XDG_CACHE_HOME \
532 + XDG_SESSION_COOKIE
533 +
534 + # Build system is using /proc/self/oom_score_adj, bug #604394
535 + addpredict /proc/self/oom_score_adj
536 +
537 + if use pgo ; then
538 + # Allow access to GPU during PGO run
539 + local ati_cards mesa_cards nvidia_cards render_cards
540 + shopt -s nullglob
541 +
542 + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
543 + if [[ -n "${ati_cards}" ]] ; then
544 + addpredict "${ati_cards}"
545 + fi
546 +
547 + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
548 + if [[ -n "${mesa_cards}" ]] ; then
549 + addpredict "${mesa_cards}"
550 + fi
551 +
552 + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
553 + if [[ -n "${nvidia_cards}" ]] ; then
554 + addpredict "${nvidia_cards}"
555 + fi
556 +
557 + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
558 + if [[ -n "${render_cards}" ]] ; then
559 + addpredict "${render_cards}"
560 + fi
561 +
562 + shopt -u nullglob
563 + fi
564 +
565 + if ! mountpoint -q /dev/shm ; then
566 + # If /dev/shm is not available, configure is known to fail with
567 + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
568 + ewarn "/dev/shm is not mounted -- expect build failures!"
569 + fi
570 +
571 + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
572 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
573 + # get your own set of keys.
574 + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
575 + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
576 + fi
577 +
578 + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
579 + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
580 + fi
581 +
582 + # Mozilla API keys (see https://location.services.mozilla.com/api)
583 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
584 + # get your own set of keys.
585 + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
586 + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
587 + fi
588 +
589 + # Ensure we use C locale when building, bug #746215
590 + export LC_ALL=C
591 + fi
592 +}
593 +
594 +src_unpack() {
595 + local _lp_dir="${WORKDIR}/language_packs"
596 + local _src_file
597 +
598 + if [[ ! -d "${_lp_dir}" ]] ; then
599 + mkdir "${_lp_dir}" || die
600 + fi
601 +
602 + for _src_file in ${A} ; do
603 + if [[ ${_src_file} == *.xpi ]]; then
604 + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
605 + else
606 + unpack ${_src_file}
607 + fi
608 + done
609 +}
610 +
611 +src_prepare() {
612 + if use lto; then
613 + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
614 + fi
615 +
616 + eapply "${WORKDIR}/firefox-patches"
617 +
618 + # Allow user to apply any additional patches without modifing ebuild
619 + eapply_user
620 +
621 + # Make cargo respect MAKEOPTS
622 + export CARGO_BUILD_JOBS="$(makeopts_jobs)"
623 +
624 + # Make LTO respect MAKEOPTS
625 + sed -i \
626 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
627 + "${S}"/build/moz.configure/lto-pgo.configure \
628 + || die "sed failed to set num_cores"
629 +
630 + # Make ICU respect MAKEOPTS
631 + sed -i \
632 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
633 + "${S}"/intl/icu_sources_data.py \
634 + || die "sed failed to set num_cores"
635 +
636 + # sed-in toolchain prefix
637 + sed -i \
638 + -e "s/objdump/${CHOST}-objdump/" \
639 + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
640 + || die "sed failed to set toolchain prefix"
641 +
642 + sed -i \
643 + -e 's/ccache_stats = None/return None/' \
644 + "${S}"/python/mozbuild/mozbuild/controller/building.py \
645 + || die "sed failed to disable ccache stats call"
646 +
647 + einfo "Removing pre-built binaries ..."
648 + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
649 +
650 + # Create build dir
651 + BUILD_DIR="${WORKDIR}/${PN}_build"
652 + mkdir -p "${BUILD_DIR}" || die
653 +
654 + # Write API keys to disk
655 + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
656 + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
657 + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
658 +
659 + xdg_environment_reset
660 +}
661 +
662 +src_configure() {
663 + # Show flags set at the beginning
664 + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
665 + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
666 + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
667 + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
668 + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
669 +
670 + local have_switched_compiler=
671 + if use clang && ! tc-is-clang ; then
672 + # Force clang
673 + einfo "Enforcing the use of clang due to USE=clang ..."
674 + have_switched_compiler=yes
675 + AR=llvm-ar
676 + AS=llvm-as
677 + CC=${CHOST}-clang
678 + CXX=${CHOST}-clang++
679 + NM=llvm-nm
680 + RANLIB=llvm-ranlib
681 + elif ! use clang && ! tc-is-gcc ; then
682 + # Force gcc
683 + have_switched_compiler=yes
684 + einfo "Enforcing the use of gcc due to USE=-clang ..."
685 + AR=gcc-ar
686 + CC=${CHOST}-gcc
687 + CXX=${CHOST}-g++
688 + NM=gcc-nm
689 + RANLIB=gcc-ranlib
690 + fi
691 +
692 + if [[ -n "${have_switched_compiler}" ]] ; then
693 + # Because we switched active compiler we have to ensure
694 + # that no unsupported flags are set
695 + strip-unsupported-flags
696 + fi
697 +
698 + # Ensure we use correct toolchain
699 + export HOST_CC="$(tc-getBUILD_CC)"
700 + export HOST_CXX="$(tc-getBUILD_CXX)"
701 + tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
702 +
703 + # Pass the correct toolchain paths through cbindgen
704 + if tc-is-cross-compiler ; then
705 + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
706 + fi
707 +
708 + # Set MOZILLA_FIVE_HOME
709 + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
710 +
711 + # python/mach/mach/mixin/process.py fails to detect SHELL
712 + export SHELL="${EPREFIX}/bin/bash"
713 +
714 + # Set state path
715 + export MOZBUILD_STATE_PATH="${BUILD_DIR}"
716 +
717 + # Set MOZCONFIG
718 + export MOZCONFIG="${S}/.mozconfig"
719 +
720 + # Initialize MOZCONFIG
721 + mozconfig_add_options_ac '' --enable-application=comm/mail
722 +
723 + # Set Gentoo defaults
724 + export MOZILLA_OFFICIAL=1
725 +
726 + mozconfig_add_options_ac 'Gentoo default' \
727 + --allow-addon-sideload \
728 + --disable-cargo-incremental \
729 + --disable-crashreporter \
730 + --disable-gpsd \
731 + --disable-install-strip \
732 + --disable-parental-controls \
733 + --disable-strip \
734 + --disable-updater \
735 + --enable-js-shell \
736 + --enable-negotiateauth \
737 + --enable-new-pass-manager \
738 + --enable-official-branding \
739 + --enable-release \
740 + --enable-system-ffi \
741 + --enable-system-pixman \
742 + --host="${CBUILD:-${CHOST}}" \
743 + --libdir="${EPREFIX}/usr/$(get_libdir)" \
744 + --prefix="${EPREFIX}/usr" \
745 + --target="${CHOST}" \
746 + --without-ccache \
747 + --without-wasm-sandboxed-libraries \
748 + --with-intl-api \
749 + --with-libclang-path="$(llvm-config --libdir)" \
750 + --with-system-nspr \
751 + --with-system-nss \
752 + --with-system-zlib \
753 + --with-toolchain-prefix="${CHOST}-" \
754 + --with-unsigned-addon-scopes=app,system \
755 + --x-includes="${ESYSROOT}/usr/include" \
756 + --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
757 +
758 + # Set update channel
759 + local update_channel=release
760 + [[ -n ${MOZ_ESR} ]] && update_channel=esr
761 + mozconfig_add_options_ac '' --update-channel=${update_channel}
762 +
763 + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
764 + mozconfig_add_options_ac '' --enable-rust-simd
765 + fi
766 +
767 + # For future keywording: This is currently (97.0) only supported on:
768 + # amd64, arm, arm64 & x86.
769 + # Might want to flip the logic around if Firefox is to support more arches.
770 + if use ppc64; then
771 + mozconfig_add_options_ac '' --disable-sandbox
772 + else
773 + mozconfig_add_options_ac '' --enable-sandbox
774 + fi
775 +
776 + if [[ -s "${S}/api-google.key" ]] ; then
777 + local key_origin="Gentoo default"
778 + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
779 + key_origin="User value"
780 + fi
781 +
782 + mozconfig_add_options_ac "${key_origin}" \
783 + --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
784 + else
785 + einfo "Building without Google API key ..."
786 + fi
787 +
788 + if [[ -s "${S}/api-location.key" ]] ; then
789 + local key_origin="Gentoo default"
790 + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
791 + key_origin="User value"
792 + fi
793 +
794 + mozconfig_add_options_ac "${key_origin}" \
795 + --with-google-location-service-api-keyfile="${S}/api-location.key"
796 + else
797 + einfo "Building without Location API key ..."
798 + fi
799 +
800 + if [[ -s "${S}/api-mozilla.key" ]] ; then
801 + local key_origin="Gentoo default"
802 + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
803 + key_origin="User value"
804 + fi
805 +
806 + mozconfig_add_options_ac "${key_origin}" \
807 + --with-mozilla-api-keyfile="${S}/api-mozilla.key"
808 + else
809 + einfo "Building without Mozilla API key ..."
810 + fi
811 +
812 + mozconfig_use_with system-av1
813 + mozconfig_use_with system-harfbuzz
814 + mozconfig_use_with system-harfbuzz system-graphite2
815 + mozconfig_use_with system-icu
816 + mozconfig_use_with system-jpeg
817 + mozconfig_use_with system-libevent
818 + mozconfig_use_with system-libvpx
819 + mozconfig_use_with system-png
820 + mozconfig_use_with system-webp
821 +
822 + if use system-librnp; then
823 + mozconfig_add_options_ac "+system-librnp" --enable-compile-environment
824 + mozconfig_use_with system-librnp
825 + fi
826 +
827 + mozconfig_use_enable dbus
828 + mozconfig_use_enable libproxy
829 +
830 + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
831 +
832 + if use hardened ; then
833 + mozconfig_add_options_ac "+hardened" --enable-hardening
834 + append-ldflags "-Wl,-z,relro -Wl,-z,now"
835 + fi
836 +
837 + local myaudiobackends=""
838 + use jack && myaudiobackends+="jack,"
839 + use sndio && myaudiobackends+="sndio,"
840 + use pulseaudio && myaudiobackends+="pulseaudio,"
841 + ! use pulseaudio && myaudiobackends+="alsa,"
842 +
843 + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
844 +
845 + mozconfig_use_enable wifi necko-wifi
846 +
847 + if use wayland ; then
848 + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
849 + else
850 + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3
851 + fi
852 +
853 + if use lto ; then
854 + if use clang ; then
855 + # Upstream only supports lld when using clang
856 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
857 +
858 + mozconfig_add_options_ac '+lto' --enable-lto=cross
859 +
860 + else
861 + # ThinLTO is currently broken, see bmo#1644409
862 + mozconfig_add_options_ac '+lto' --enable-lto=full
863 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
864 + fi
865 +
866 + if use pgo ; then
867 + mozconfig_add_options_ac '+pgo' MOZ_PGO=1
868 +
869 + if use clang ; then
870 + # Used in build/pgo/profileserver.py
871 + export LLVM_PROFDATA="llvm-profdata"
872 + fi
873 + fi
874 + else
875 + # Avoid auto-magic on linker
876 + if use clang ; then
877 + # This is upstream's default
878 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
879 + else
880 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
881 + fi
882 + fi
883 +
884 + # LTO flag was handled via configure
885 + filter-flags '-flto*'
886 +
887 + mozconfig_use_enable debug
888 + if use debug ; then
889 + mozconfig_add_options_ac '+debug' --disable-optimize
890 + else
891 + if is-flag '-g*' ; then
892 + if use clang ; then
893 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
894 + else
895 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
896 + fi
897 + else
898 + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
899 + fi
900 +
901 + if is-flag '-O0' ; then
902 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
903 + elif is-flag '-O4' ; then
904 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
905 + elif is-flag '-O3' ; then
906 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
907 + elif is-flag '-O1' ; then
908 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
909 + elif is-flag '-Os' ; then
910 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
911 + else
912 + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
913 + fi
914 + fi
915 +
916 + # Debug flag was handled via configure
917 + filter-flags '-g*'
918 +
919 + # Optimization flag was handled via configure
920 + filter-flags '-O*'
921 +
922 + # Modifications to better support ARM, bug #553364
923 + if use cpu_flags_arm_neon ; then
924 + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
925 +
926 + if ! tc-is-clang ; then
927 + # thumb options aren't supported when using clang, bug 666966
928 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \
929 + --with-thumb=yes \
930 + --with-thumb-interwork=no
931 + fi
932 + fi
933 +
934 + if [[ ${CHOST} == armv*h* ]] ; then
935 + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
936 +
937 + if ! use system-libvpx ; then
938 + sed -i \
939 + -e "s|softfp|hard|" \
940 + "${S}"/media/libvpx/moz.build \
941 + || die
942 + fi
943 + fi
944 +
945 + if use clang ; then
946 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
947 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
948 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
949 + local disable_elf_hack=
950 + if use amd64 ; then
951 + disable_elf_hack=yes
952 + elif use x86 ; then
953 + disable_elf_hack=yes
954 + elif use arm ; then
955 + disable_elf_hack=yes
956 + fi
957 +
958 + if [[ -n ${disable_elf_hack} ]] ; then
959 + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
960 + fi
961 + elif tc-is-gcc ; then
962 + if ver_test $(gcc-fullversion) -ge 10 ; then
963 + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
964 + append-cxxflags -fno-tree-loop-vectorize
965 + fi
966 + fi
967 +
968 + # Additional ARCH support
969 + case "${ARCH}" in
970 + arm)
971 + # Reduce the memory requirements for linking
972 + if use clang ; then
973 + # Nothing to do
974 + :;
975 + elif use lto ; then
976 + append-ldflags -Wl,--no-keep-memory
977 + else
978 + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
979 + fi
980 + ;;
981 + esac
982 +
983 + if ! use elibc_glibc ; then
984 + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
985 + fi
986 +
987 + # Allow elfhack to work in combination with unstripped binaries
988 + # when they would normally be larger than 2GiB.
989 + append-ldflags "-Wl,--compress-debug-sections=zlib"
990 +
991 + # Make revdep-rebuild.sh happy; Also required for musl
992 + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
993 +
994 + # Pass $MAKEOPTS to build system
995 + export MOZ_MAKE_FLAGS="${MAKEOPTS}"
996 +
997 + # Use system's Python environment
998 + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
999 +
1000 + if use system-python-libs; then
1001 + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system"
1002 + else
1003 + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
1004 + fi
1005 +
1006 + # Disable notification when build system has finished
1007 + export MOZ_NOSPAM=1
1008 +
1009 + # Portage sets XARGS environment variable to "xargs -r" by default which
1010 + # breaks build system's check_prog() function which doesn't support arguments
1011 + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
1012 +
1013 + # Set build dir
1014 + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
1015 +
1016 + # Show flags we will use
1017 + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
1018 + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
1019 + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
1020 + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
1021 + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
1022 +
1023 + # Handle EXTRA_CONF and show summary
1024 + local ac opt hash reason
1025 +
1026 + # Apply EXTRA_ECONF entries to $MOZCONFIG
1027 + if [[ -n ${EXTRA_ECONF} ]] ; then
1028 + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
1029 + for opt in "${ac[@]}"; do
1030 + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
1031 + done
1032 + fi
1033 +
1034 + echo
1035 + echo "=========================================================="
1036 + echo "Building ${PF} with the following configuration"
1037 + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
1038 + [[ -z ${hash} || ${hash} == \# ]] \
1039 + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
1040 + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
1041 + done
1042 + echo "=========================================================="
1043 + echo
1044 +
1045 + ./mach configure || die
1046 +}
1047 +
1048 +src_compile() {
1049 + local virtx_cmd=
1050 +
1051 + if use pgo ; then
1052 + virtx_cmd=virtx
1053 +
1054 + # Reset and cleanup environment variables used by GNOME/XDG
1055 + gnome2_environment_reset
1056 +
1057 + addpredict /root
1058 + fi
1059 +
1060 + local -x GDK_BACKEND=x11
1061 +
1062 + ${virtx_cmd} ./mach build --verbose \
1063 + || die
1064 +}
1065 +
1066 +src_install() {
1067 + # xpcshell is getting called during install
1068 + pax-mark m \
1069 + "${BUILD_DIR}"/dist/bin/xpcshell \
1070 + "${BUILD_DIR}"/dist/bin/${PN} \
1071 + "${BUILD_DIR}"/dist/bin/plugin-container
1072 +
1073 + DESTDIR="${D}" ./mach install || die
1074 +
1075 + # Upstream cannot ship symlink but we can (bmo#658850)
1076 + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
1077 + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
1078 +
1079 + # Don't install llvm-symbolizer from sys-devel/llvm package
1080 + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
1081 + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
1082 + fi
1083 +
1084 + # Install policy (currently only used to disable application updates)
1085 + insinto "${MOZILLA_FIVE_HOME}/distribution"
1086 + newins "${FILESDIR}"/distribution.ini distribution.ini
1087 + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
1088 +
1089 + # Install system-wide preferences
1090 + local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref"
1091 + insinto "${PREFS_DIR}"
1092 + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
1093 +
1094 + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
1095 +
1096 + # Set dictionary path to use system hunspell
1097 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
1098 + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
1099 + EOF
1100 +
1101 + # Force hwaccel prefs if USE=hwaccel is enabled
1102 + if use hwaccel ; then
1103 + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
1104 + >>"${GENTOO_PREFS}" \
1105 + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
1106 +
1107 + if use wayland; then
1108 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
1109 + pref("gfx.x11-egl.force-enabled", false);
1110 + EOF
1111 + else
1112 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
1113 + pref("gfx.x11-egl.force-enabled", true);
1114 + EOF
1115 + fi
1116 + fi
1117 +
1118 + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
1119 + if use system-harfbuzz ; then
1120 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
1121 + sticky_pref("gfx.font_rendering.graphite.enabled", true);
1122 + EOF
1123 + fi
1124 +
1125 + # Install language packs
1126 + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
1127 + if [[ -n "${langpacks}" ]] ; then
1128 + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
1129 + fi
1130 +
1131 + # Install icons
1132 + local icon_srcdir="${S}/comm/mail/branding/thunderbird"
1133 + local icon_symbolic_file="${icon_srcdir}/TB-symbolic.svg"
1134 +
1135 + insinto /usr/share/icons/hicolor/symbolic/apps
1136 + newins "${icon_symbolic_file}" ${PN}-symbolic.svg
1137 +
1138 + local icon size
1139 + for icon in "${icon_srcdir}"/default*.png ; do
1140 + size=${icon%.png}
1141 + size=${size##*/default}
1142 +
1143 + if [[ ${size} -eq 48 ]] ; then
1144 + newicon "${icon}" ${PN}.png
1145 + fi
1146 +
1147 + newicon -s ${size} "${icon}" ${PN}.png
1148 + done
1149 +
1150 + # Install menu
1151 + local app_name="Mozilla ${MOZ_PN^}"
1152 + local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop"
1153 + local desktop_filename="${PN}.desktop"
1154 + local exec_command="${PN}"
1155 + local icon="${PN}"
1156 + local use_wayland="false"
1157 +
1158 + if use wayland ; then
1159 + use_wayland="true"
1160 + fi
1161 +
1162 + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
1163 +
1164 + sed -i \
1165 + -e "s:@NAME@:${app_name}:" \
1166 + -e "s:@EXEC@:${exec_command}:" \
1167 + -e "s:@ICON@:${icon}:" \
1168 + "${WORKDIR}/${PN}.desktop-template" \
1169 + || die
1170 +
1171 + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
1172 +
1173 + rm "${WORKDIR}/${PN}.desktop-template" || die
1174 +
1175 + # Install wrapper script
1176 + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
1177 + newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
1178 +
1179 + # Update wrapper
1180 + sed -i \
1181 + -e "s:@PREFIX@:${EPREFIX}/usr:" \
1182 + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
1183 + -e "s:@APULSELIB_DIR@:${apulselib}:" \
1184 + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
1185 + "${ED}/usr/bin/${PN}" \
1186 + || die
1187 +}
1188 +
1189 +pkg_preinst() {
1190 + xdg_pkg_preinst
1191 +
1192 + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
1193 + # does not need to be forced into the LD_LIBRARY_PATH
1194 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1195 + einfo "APULSE found; Generating library symlinks for sound support ..."
1196 + local lib
1197 + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
1198 + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
1199 + # A quickpkg rolled by hand will grab symlinks as part of the package,
1200 + # so we need to avoid creating them if they already exist.
1201 + if [[ ! -L ${lib##*/} ]] ; then
1202 + ln -s "${lib}" ${lib##*/} || die
1203 + fi
1204 + done
1205 + popd &>/dev/null || die
1206 + fi
1207 +}
1208 +
1209 +pkg_postinst() {
1210 + xdg_pkg_postinst
1211 +
1212 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1213 + elog "Apulse was detected at merge time on this system and so it will always be"
1214 + elog "used for sound. If you wish to use pulseaudio instead please unmerge"
1215 + elog "media-sound/apulse."
1216 + elog
1217 + fi
1218 +
1219 + local show_doh_information
1220 + local show_shortcut_information
1221 +
1222 + if [[ -z "${REPLACING_VERSIONS}" ]] ; then
1223 + # New install; Tell user that DoH is disabled by default
1224 + show_doh_information=yes
1225 + show_shortcut_information=no
1226 + else
1227 + local replacing_version
1228 + for replacing_version in ${REPLACING_VERSIONS} ; do
1229 + if ver_test "${replacing_version}" -lt 91.0 ; then
1230 + # Tell user that we no longer install a shortcut
1231 + # per supported display protocol
1232 + show_shortcut_information=yes
1233 + fi
1234 + done
1235 + fi
1236 +
1237 + if [[ -n "${show_doh_information}" ]] ; then
1238 + elog
1239 + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
1240 + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
1241 + elog "DNS traffic to Cloudflare by default is not a good idea and applications"
1242 + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
1243 + elog "(\"Off by choice\") by default."
1244 + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
1245 + fi
1246 +
1247 + if [[ -n "${show_shortcut_information}" ]] ; then
1248 + elog
1249 + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
1250 + elog "each supported display protocol. Instead we will only install"
1251 + elog "one generic Mozilla ${PN^} shortcut."
1252 + elog "If you still want to be able to select between running Mozilla ${PN^}"
1253 + elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
1254 + fi
1255 +
1256 + # bug 835078
1257 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
1258 + ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
1259 + ewarn "enabled for Firefox. Nouveau / your GPU might not support the "
1260 + ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
1261 + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
1262 + fi
1263 +
1264 + optfeature_header "Optional runtime features:"
1265 + optfeature "encrypted chat support" net-libs/libotr
1266 +}