Gentoo Archives: gentoo-commits

From: Thomas Deutschmann <whissi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: mail-client/thunderbird/
Date: Tue, 18 May 2021 00:06:04
Message-Id: 1621296354.0dff4c4dfc41a29d500a9682c98abaf3161ebba6.whissi@gentoo
1 commit: 0dff4c4dfc41a29d500a9682c98abaf3161ebba6
2 Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
3 AuthorDate: Mon May 17 23:57:10 2021 +0000
4 Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
5 CommitDate: Tue May 18 00:05:54 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0dff4c4d
7
8 mail-client/thunderbird: bump to v78.10.2
9
10 Package-Manager: Portage-3.0.18, Repoman-3.0.3
11 Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
12
13 mail-client/thunderbird/Manifest | 65 ++
14 mail-client/thunderbird/thunderbird-78.10.2.ebuild | 1108 ++++++++++++++++++++
15 2 files changed, 1173 insertions(+)
16
17 diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest
18 index cf8d934d120..67249664433 100644
19 --- a/mail-client/thunderbird/Manifest
20 +++ b/mail-client/thunderbird/Manifest
21 @@ -64,3 +64,68 @@ DIST thunderbird-78.10.1-vi.xpi 674610 BLAKE2B f14923a00644e107072179603d06c072c
22 DIST thunderbird-78.10.1-zh-CN.xpi 687177 BLAKE2B 43da21f8faf74f9392ede14bdc8bdc7ba741724cbfae91ab6dcd9e3a8ad41e834355a3069e52acfdbf5bb3685f53e275cc4aeddfb987939ebfb6b1329384cb01 SHA512 2275a1e189d806f98c59a19231ed03683aed60bc08969cbcd9d3650b9b545ba3f2cc143b536a6689bb9b14c930048cda85d038267de3a75d44c3132dc474238b
23 DIST thunderbird-78.10.1-zh-TW.xpi 687622 BLAKE2B d3ff5da0323d6529a142ca20d29ce06397fb6761282ee6f4b8dc03ea4a79874f9db5856e5980de8cb7b2e68332b3589121768c1abefe9a9e5af29dc1cbafec68 SHA512 b4f85ca2ae438265fa9fdd99910d292937e78687a74cf12cc33e1a693e38cb76820a0e0c45f50de39cd2c4a3b911b5988eddbedb52a15379121590c9383ffac0
24 DIST thunderbird-78.10.1.source.tar.xz 354316236 BLAKE2B 756f471de37e96f9e9733864747b5d9270dbd67592e02b3632f80d815af95ce421a913f3f8d9454d5b5885e5506a6dad36f7b7c20ab46c371a5ba594cc51e681 SHA512 fffae4bcf2411834a86b5d1fd7c3fa8dbc32763061de4afef44ec95d55a8c4ab94576f54bd8b8c9aef22e0c4a09b48a381ba2ddafc31be60ef79b81e6835e4db
25 +DIST thunderbird-78.10.2-af.xpi 548348 BLAKE2B 44d4c00a3672a82a1d7ec37394b6952824d940163a63213b8efa17488d97277de285f053ecca2925baef5ebb296647914028fbf37c884cf8d2527219e762d7e5 SHA512 04be6901b422e6a0a93d4b2a8c930f3ac8c78d4ce4fdff0dcfb904184080e5f1b0a10b05c44358069dfd9372fdabfeaa4b7a8b92fc16867fbe43569264996a08
26 +DIST thunderbird-78.10.2-ar.xpi 648605 BLAKE2B 5f78480a6bca437d650f8567e8fc53dcf1ed61b6fc303f245d6634917caba60a85aa95636029891230d898e49076601be9c5265c9f00f2fb3ee88793e9159a81 SHA512 85d4711c30a7956199d34b5bb5b20a1876758bb12dd0ab09a636d5cdee8c3038f5f7a1940327218aca635e8789a36cd4d8318878999bee7bf49e87e88e7af829
27 +DIST thunderbird-78.10.2-ast.xpi 561260 BLAKE2B 5c5883a0f42ef3b5ba1d42e70ec5d526eb93254d797c60ef757eed42285c9f9105a644088137cf59847da9fd20b7fdbdfc65c12c5c31118b8b004ba45c00bd28 SHA512 b3650198079ef290e82e51b9eb659c6675927378b14903de31d746ba6f5144bc8b1bc59b4909226118b4d5b88eb16ee7aee686cb15e6a28ae34e3a5bcc6d6441
28 +DIST thunderbird-78.10.2-be.xpi 666673 BLAKE2B ba9662d249e523f77b03be2b4e1f2610dfc28d9f037fe4956ad94ab3051f191218f8b660aba21dcb52c214785debc61cbcd5ffa4805c4b2c6697c80941051f1d SHA512 b3cbe2dbf3b7dbee3033c016a5cac70d54633c568f2582005c08d9d8c600c6a4a63913f7c3bb33a504d3ed1cb573cfe922ab689af98b9bec1d945e1f034eb15e
29 +DIST thunderbird-78.10.2-bg.xpi 672412 BLAKE2B 4bcbf02e1dca21fc173da5cc7a5cfb748e6044433822efd9a2b908031155adad15606c60e40a9f75f15cba78ab9fe8571fd881b6479e2aef8498136a6b60e21b SHA512 6b4ab327f53e80f824b4b59091dc08e10f34919e8acbd2c89b0721a213ae500d4a355fff546e83eb3a610063a1d9789d087e04a9cec611f77a1dee4945575998
30 +DIST thunderbird-78.10.2-br.xpi 604525 BLAKE2B 3640c79dcd9c78f8afbb63153d93371ae5b50021494dc8cb5aa7e0191ce426e235d02406271a1f909fab7ad1229b7af77aedf2f8deb1fab0461b45bfb2825cec SHA512 d1f7be100422deee4bb678913e96e09c94dd198d08ce24eb1cef64aad85313aa539e21180ce25e0d6de7ba498389fc270c502005c2a5cc0468501aab45b392e6
31 +DIST thunderbird-78.10.2-ca.xpi 620452 BLAKE2B 2d61b461c81ea6e240fd551d0069b2aa87b30bbd06560b3917ee408b7f26a017938fe500050ddec3a63d371f178f418ce68ee7f73627683dbde33ac79d0b1f99 SHA512 c6bc69941c2f733dd92ad350a258520117407b6ee5877a236107974b3beb5349f29bc9f53071795fcfbed5c8abac104c08e0ef1c3848eb05ec6c67b857dd03c9
32 +DIST thunderbird-78.10.2-cak.xpi 635643 BLAKE2B d9263dc1c5d91bf2c69b3b6bcfdd640b8b566f82c68911e501aa4546935b729122a052d36a9531fa56e838500ad08a87761beb6e0a9150854e7231c4edf1f22b SHA512 ce771df6180ebc95e53e38dff77da0a55ca5c56085cb172e7cd4400e01915429230b675ce3ae1c15d59664476b1de1800cc59a8d4383f10dd6171868bb45a05a
33 +DIST thunderbird-78.10.2-cs.xpi 635349 BLAKE2B db347a943a0fda46a60851e3c2731514a3695ce7a44c09c71faf6f37f1282ffdcebb752462f7419189b9ccbda0f01e0b58a38c1eeb79e7e5210dad14cf81d935 SHA512 50eea5f566706ed0cef0ec8fa0cb292e7b0643aab21393516e31cc2a61dbdbf45e81c59dd8c06657cd93c0d68db10301633bd73c3a76b2760600a06d1386a0ef
34 +DIST thunderbird-78.10.2-cy.xpi 646244 BLAKE2B 4201ee82f7f512bd4b58e652948e0320c716e01169de66b1940e365d599eed25ada27eacfc4056392998266d640f37696e890236854ba0d8a3e3ebee965b43d0 SHA512 0086a25f0970f21b57109539ffbc8ef7dc6966c3f3e06a66e45986c8f209718bcc36a4250e84a97427f71d82c68949c25c7348fcf0ea6a7bcddfb6d12892e33d
35 +DIST thunderbird-78.10.2-da.xpi 620986 BLAKE2B 17c608c1b857fbd8b7c91419ee7ab82f48a55211d4d6085dcb6614f49a9dca4c21077a5ca3da075b3dc8afbf4d375141e53e94150fb0e2b02adc5dde21381ac5 SHA512 890604e4470ca600e7ba2e80d0a4ff78deffd422207a9fd2ce23dd84f6ff2dcb36e351c21ccfa2d1e188229c8b4da9902f8e045cd518ff202aed1023d4fcbf89
36 +DIST thunderbird-78.10.2-de.xpi 665195 BLAKE2B b1460496d067743ba77205d34ee7b1cfdfe486255385c9df466a64fb49f846b5241e9e3e5b556b93b5102086bf96a06b3fbc8784a7c06b8188c027b32093474c SHA512 5170ac63d6295f84e5cc506af09e4af87dd91a7438a916342ab5d485ba028aef2704b49d1736d55fdc1148c371d72ff0adc97918914e79627ae73f25b7df7c8b
37 +DIST thunderbird-78.10.2-dsb.xpi 666782 BLAKE2B 956dcf9929335166e9854c92e03e5e00c067d8c64e9353933c5acf1ef24a45f3d2800c81339ff13fc959ab8fdc7aac3955028b65018be5f574be4f8edecd6916 SHA512 348186117e9b05ab20562e89d15bfe2f1a3d190b8316e250bd5464b2fa906bf932297902c7c4088293895c8da8cc6a274477a2e36ec23a855a94fac1f2aac6e1
38 +DIST thunderbird-78.10.2-el.xpi 774450 BLAKE2B 9a460212b4a66f05c4ca9698a3b6f17ba3f2c63546badcd96f7e5550a41a201e80ba631fbc433746326c35a8cc94d2a12cac84e387dbbe90e3f940c64512d2a7 SHA512 e0ed4353fe0e51213a1d8b065215efeb287e57438f3da26530dec04a805f04fc1a1265dbddfda636759f150b895d80ae5b71e118baa09da2ec64398518b997c6
39 +DIST thunderbird-78.10.2-en-CA.xpi 611770 BLAKE2B e1f84a1979244eee2a23016aad9f5fd916d3e8cdb09e60c66c1641470a8246a0842ec99d0fdfa03c1cb0eed966a0872d59429cccf926c81607d3162decdf92ef SHA512 556d31167e89c7382a7d32ea4bb96aa280633641442d9c086cda060dc65dd7a49a19d771822beaa535650b17494f7a9b598fa8ee87b091691bec162f65236789
40 +DIST thunderbird-78.10.2-en-GB.xpi 611185 BLAKE2B c7721ba0647aa11f89eb1306ee08a8f07d0d49ca21bb15637522a753bc649b6d00d770a7ee1ffcd12cb25f128925c257f9d9725374b5d274830b098a88d10446 SHA512 f715cda23baadd9e3a2e06dd4b082a12832c07fc067e63ca3104036a5d5ffbde25d20b1a64473aa1052201a57d05d9bc9bfef7f1a0da6133db7a20f6667d07d9
41 +DIST thunderbird-78.10.2-es-AR.xpi 657792 BLAKE2B 08bc25600a0cccb5bed74f22599d2d19361be2bb05b65658ff0ec9eabe77500e2c42642132afa7509c7045372a18ce4c7f9b0c515821dc19d0a2d5bf8694c6a6 SHA512 62cfd7804e507f284a2f2e9f2bb13186d589d2e1c70408efe99fb9ba61f6a9952adc9d64cd9c27b10e635f81ff67500d2949933633c56db463931ceb87c9da9f
42 +DIST thunderbird-78.10.2-es-ES.xpi 569803 BLAKE2B 63251b76597eef77813d280e1aeefcc7302f1b7b7423864a9d2b7a80dd1f048290c4a2423e3e0865ec3cfd094223ac8027d6a4ba34d7469c59aaf8de3bd79fbb SHA512 85d572e747101b617c3592b39d290097b279054424d44d515b86c067eda0b7c1c0b157865a5f1451d12936e27e2184bb59a6b939395b8c8b7631f057f112a078
43 +DIST thunderbird-78.10.2-et.xpi 597726 BLAKE2B 54e228ac4d4f6a4aa4303218a912c342e289aabf9bcc63eb46dae5bd9f27ef0c652b6b8803558c42d5ab5381d70bb7364a35119703d64dee69c1e7ca011bd5e6 SHA512 b81c7f7118d4c420367fdca070f8a429df466ee01d1e5a9a41d22954ed67aa2099769b5338caca97a862a3a124583a9a63f872606fc97d3c8053d5287a6a1791
44 +DIST thunderbird-78.10.2-eu.xpi 632964 BLAKE2B 4bf02098d86275174c24c8843e921205c9e434c93f46e90662f89f08d8950407eac656545b8f8ccd62e3502524792f3659b49784f14923de631167bf832d288d SHA512 8cd4f4017ca520df5d7e0eea842d71df3b5be2587461aa616c89180c4e343f04437296e32ed2a7013fb5a181359f9c7ffcdcc9dea768967d4ee8001857376a9d
45 +DIST thunderbird-78.10.2-fa.xpi 639752 BLAKE2B 2f093ce8770ed9a19d57f51b870aac4a927f9f6b046f2352853469bfcd4a6788262b39951537ae9f3eb0007bef9c08f30b43fa6f76895f001c1189747841c18f SHA512 1226e1b25e700910760a1a85589d9a73116fb51a359d8f9849a5b17a0f8092a8784e20b849c7d09d6812849224892c68daaa697d636aa40e1afbc3df0a3f0c69
46 +DIST thunderbird-78.10.2-fi.xpi 642442 BLAKE2B d7081d333cc01f72a3b72544e026b40888746a7f17d962ee60ffaf323365b17449ae4368c135ab3fb502740d5d9e72288a21459cc63b4a3db209e1f4e12af358 SHA512 cd4d395d873e6625856c09db05e115505d4c6143f3a577d5c9346ae9154ed5400e7a45e4e7d286fcbb76f7769358fdb8a4c57d713932dffa26e6f473867d4247
47 +DIST thunderbird-78.10.2-fr.xpi 669481 BLAKE2B 22407c8752f2e1d9699bbb61599352272d6fb6d1f4afc1d1b64d45cbf0fe2c717fc12c5017c507ea468f4db2908d0e30df9d46040e55085b813721e5576263a8 SHA512 dbe0ff9059035b64f67325fb9de743b020401c1e93a4b17ca82e1e77cdf9463961bb09a2776091d116b15c2cc7325ea749220853f6dfedf9737ac12dc9591221
48 +DIST thunderbird-78.10.2-fy-NL.xpi 653080 BLAKE2B 4b2a06556bafad0fc81c3f2b136ba68ab30b0424307da7f20c0b979e61c893ec02f8a3b6755461a00f4fbf3c38db66247e883ab6a1ad88aa1968abd8bb180b59 SHA512 168c34a6ee346501544dde7a253ee722a0666c384bae3b9b91ebcedbc84bd6deee855b86b57e6d1b1c853287de04d440797dc66cd1e5bc3416aa5d8b211d598b
49 +DIST thunderbird-78.10.2-ga-IE.xpi 600713 BLAKE2B ee9d5505564521d4269b6955e2f77c13aa7cade2ae9221ec59ad273423cfb1962f9797be9b48a5cc8bf4e8e6ff68f4075bd05ec26087f5bcd7c60a90d7f7a463 SHA512 39eda3c2975c6fc97d976ab4eb9c2c2721b28abcb4baf628b6ff4f7b5f338fe162e12dfd720b48185de9ba7d01afdfcdfd9489e71e2d61849da12da6691bade9
50 +DIST thunderbird-78.10.2-gd.xpi 609384 BLAKE2B 35be1bd035f82a8712a78048aaf12f849e8624bc67aa788a5e27b90d938e3f36d89d6f3219524d30edbbf462e9f5d727c1c9e5083361e5537eec51cc86534692 SHA512 b6d2abf79ee0f44e9146b138edd33f206beca9190d209d04d065f85960967c9938e82312bdcbc976431f9a9987345fc0f891a8dccb9e168564de4d1762c47d51
51 +DIST thunderbird-78.10.2-gl.xpi 615724 BLAKE2B 8c1dc5d50600eff64093976bdad4653c7325f322bcdbfe0bc5aabc6b972f87a81c4fa4f31f1fd8d6f24f7b84746f691bcdca4ff18d23b81619a40f5141578c18 SHA512 5709527a6bb1ec825be1852b5a1ea9544838507e8c7f1825ca21c2d54db217f8d54187fe9326ca05205505fed95d75ab170b60fa744284e8d0ccb96a5de8b6f2
52 +DIST thunderbird-78.10.2-he.xpi 640496 BLAKE2B 850857fa02dc7b08bff873ea80174977cf27e42e7954160d0b1c1d40fbfd8ae7f98eeac437716a8b1213412944a6dd7f2a793fc19a329417e360d6a813719bae SHA512 376d13a92cf8e4109b7e042674757a57839d5415dacc357b3698eda42eed31a761afa210c993a0bdfa43b068b95f407e659b58a5273217a5b11fbabff03f6f45
53 +DIST thunderbird-78.10.2-hr.xpi 629022 BLAKE2B 7248b0140cfc2ce59a3c4bd7fae7d3e4085718395afbbb234cb5aed9df75c677570683ce5b0e239a0cc8903a98eb5ea758d6ac513c2c1332235da9bdc83cf31b SHA512 d41384c8d3ea1a9523e6a9dff4de64bd6a722e597de1a3fdbdee7f6c5efdd5cb200b37bc7c0b2e7e62afc708ac0316598fcb6596c17ba6692b39d82b7e24e058
54 +DIST thunderbird-78.10.2-hsb.xpi 668611 BLAKE2B 5dd7104555af6a764a21ddde7e6d70b40ffdf88d3e998a4baf04c6613b3b6a87cfb96864339c5a6ce0c027e41c0f80f4c19d5340053165c5a5a86662bb3e1c02 SHA512 7d9b17bdf9897fe39dd8648ca6925f38b12a9f849434d8831fe18ce4503ef823f2fae94eff60c608f7fe6a75f5e9f0ebf970af55ad56c8c8c0efd9126143ae10
55 +DIST thunderbird-78.10.2-hu.xpi 679840 BLAKE2B 5dab056090c23f622821c84a20c52b788ad90558486362d02925c2c7afd4385e57dbfb407b7008ab73e7daf138eabd88997ac99a35dc6fbd30914797f04e0a44 SHA512 d0da60afca83d108c00d8719a424d5a2ad548e78b87e104482109b4ec037599366d555ea0cd0d6f2df21420ca48be2f3f46d2411e0161405c0bf6fa239cebe48
56 +DIST thunderbird-78.10.2-hy-AM.xpi 713320 BLAKE2B 531637a8b10a7820cd0d5372464ecdba440f18a976d02a7c78c934909c61fa724bf3c466fea1e3049c3124ab3aba553d2a35d9b58cd60bf5a58f21d2e5b63a07 SHA512 896c2ecfaf7ec41db7cfd72389877a922357e5a81111f26d574e0e5a960139882b904b77b4106ca18fa3e3263c659c0e0aeee889256b1433b9dcb64c95373245
57 +DIST thunderbird-78.10.2-id.xpi 620679 BLAKE2B 0c462a5727cd578b53df07fc5778648455e04b2622bed5b67d6972b9c5df53d3dbd1a1bc0549f701608644a6eaafafe38a447b7e438f779f1aada21a8ae9b0bf SHA512 fbd903a461a937e3db90a245120883f26af6becfad3a2aacceede9fa55e097f2e01087382452e84fe8f2c8508f9fa6e2771e5b2f34966e58a1414c54828cad3f
58 +DIST thunderbird-78.10.2-is.xpi 581641 BLAKE2B cdf3733bc1f8f7103db0d2dee0e6857c8f0e8b6455ce2a36cc0a1d3a0a90eeaf570472ac45669122a390e5d2717df8f93907e9805c7bb087744e200ad87dfead SHA512 4bced7458b72299dd972885d9a14bfa0cb070bc7628cb5c85943f31bc6aa86b0907f451a258e93c019fe960da05254636e2fe09fe9dae8ff37d527426691946f
59 +DIST thunderbird-78.10.2-it.xpi 572953 BLAKE2B 84fba8b170e25887990188e94af1529862074819fe5440761c0881d4dee3a2c3bf2443f8c359ea3dda8721d0bf3360c8cd28aa32468ace843de259ce5bbf8ea7 SHA512 ce05dcf72a6f2c38b514bb69f341defc4992b9e5f0857632ef6ad615ef11cb68809c150799ec9a41fcc7ec0876baae568d27f2ea1a4172b3ba80cb3da545b09b
60 +DIST thunderbird-78.10.2-ja.xpi 722453 BLAKE2B ec5018bbcbc768a3221659af8d168ef11866f52dfc358e112bd8c4156e65119740f9b4206cd2dc61f629479bd69a9fae3c48d390ef77f52a41b71d887fc1f186 SHA512 25d4df5cec1edfd51689bab088b6af563324c775d50e78923210ce67584015210c8a17d3ca6769aad96f76bcd75f3f522d0421df9a17ced8ff20e5de68c7b945
61 +DIST thunderbird-78.10.2-ka.xpi 717012 BLAKE2B 0d59c3a06805f923a950832cf11588441f27e4c00361a2ef72acf89bbf030255f595565b824f20194a5fc021f10d5a85e12a144dabfa1f4d3a947d86363e59e9 SHA512 d3101d6b88ef3826a7aa0211e2b10483d2c36c99be58281435596d4d8e6550de317ee874b15769ae97570afe77d777cda265a22259041686bd6e1d9d576fef28
62 +DIST thunderbird-78.10.2-kab.xpi 651915 BLAKE2B 1dc33ea30fbf1b5ce768edf3628db3223b54eda75b1e3b29355a8915268ca4ef4cb7940846775dfbb35adb3b68671207e0cca8d5f32e6dad7127fb6605bfcc20 SHA512 3532c79866b6e8ff9114a9b6e6548ec7cabc9e95d7dc170433ec6cdf9546b28035c57a55ee7123ae0dc4d75365a2698be4afdfbef5b49696288752549892c8bd
63 +DIST thunderbird-78.10.2-kk.xpi 720474 BLAKE2B 1fa1d19b9915d74bac8bcdf0b4f97814cb7d0534b995858b0fb0342c46d0b125b9c80a70beef806f59e5d358cf7b44bbeba9364ce4f7f262684747b711e98b68 SHA512 ab87fcfb64f201238ce4b3eff5e3bc1409cf9fd3f2f530e89b9a0d275857bb67c3395b395236f27a240c349b7df9ae369a884f0fcbe3288a928ee2aa5eac6326
64 +DIST thunderbird-78.10.2-ko.xpi 688203 BLAKE2B f653e31c60a06a8785ecf6abe15096c73ab0da1895b264ce877320674baf961a56f9af8634d85e26c5306eb4adf893c469fe26ebeefca45a07a3580fbef5e57d SHA512 8d093f074de0731b8fc1b6f871c8c88735300ba1358544d6f048e933b8aec2036a310fb819ca4ea90efe665b4d76c8ff2732fd2effda5a5a1c746fe62f924649
65 +DIST thunderbird-78.10.2-lt.xpi 660299 BLAKE2B 3219cd098e4bdf7b36de9e7c93cc179e90efd81564f6b10018b165ec98a8bad39f07653e246ca847a2f496ddc3e81d5d726e7350f04004e15b50eff9e04241f1 SHA512 5250616c627e1eccfc4ade0fd9261e06c39dc72a1b1fb24e6baa913e73f29f716c8182b722fe4b8e334ac7d33f642e1e288c21e5e3551fb9db01b7d9f61cda4e
66 +DIST thunderbird-78.10.2-ms.xpi 572182 BLAKE2B 246077b9e37beaad2569fbb2b8ced527f8ef8475ca8566764c1eed6de2f25062f6ca80c68681c919ed856e23e02e31816859490ee39ba9ee67531ef46aa84e66 SHA512 e10122543d7d1f5eae0c102243a7ca47072663f3f18db0a7023a153d669432b2bcfdced994f6d1b2c9a30f876ad0eb895dd505d143039c1c00259a99be5baf5a
67 +DIST thunderbird-78.10.2-nb-NO.xpi 637239 BLAKE2B 1561f8021d620dc798ee549c9ddefe1868a04e198606a3fcd4c0f77edd765f4294e25b86301778bda9b68b7058797771976d2c2966df342c84895d5633ee5b9c SHA512 0f71998f5ae3ea04dd5fdd1991d47d39eb64b60ae577790d94c8297770a88360e0ce6559efa6e49c819d23fb29fae9c6aa1bd45891c8c88e8d7a6294e397268a
68 +DIST thunderbird-78.10.2-nl.xpi 644359 BLAKE2B 672fd8b9f9201beb6ec8fcf74df1c742ca0ff286cada51f9a0283a8b9cddce7edec6085666651ed2dafe346aa9888dedd7851a236318a4723cc9dae2afdc9325 SHA512 aed8aac63a8ca07aa138b6502f73993547772c7cb0932af13e2a73a97c2b233d930a15d387faff17c7970fa5e5bb2c6ee31b7f37fc7ff2d187e1c364d9217944
69 +DIST thunderbird-78.10.2-nn-NO.xpi 640689 BLAKE2B 76552d4e06706e5cd8dc1ddce07f751ff3a9bd09419abd9b44d6529d1b043edf58bba643ab172ec8d435a2cb738f8da5fbcb0a49dd5a2c85841c10c31b961a9c SHA512 7425aeafb5f10949484443d9074d09b78665086c3e666754ea0e4f2bc8b9917529d84cf6b8860d3470613648bac2298b43b20422c8833c3c8a13b02d35abce33
70 +DIST thunderbird-78.10.2-pa-IN.xpi 633216 BLAKE2B dc9357e642df02dd46419f9f7b328499f5b324305484728c1d8b5cca0b3c0c2743d2d966cfeab1aaeb82109f7accf914f1ce29329bdeb6eef6722dc78938a67c SHA512 c1fa268c497d5a43e8ff01345bc1c558177e4dcba9cd8d5ed82d4b200c2644b46ad183b1231bc540c2b13f4598d51ae020d2372798a7b6607451d172fb14990f
71 +DIST thunderbird-78.10.2-pl.xpi 637124 BLAKE2B 608d4074839e7e9b8f93f240c3d6796efeb83af4bf593e90a573a65ea981b14182c46858d71e35040b16db4f720f756f7c02683f607aebb19c356da46456316a SHA512 a3ddb51596eab1025d0f4512975ffbdf641c6e4ea6935cccf4334248140f46a6082d525852936911602060ae7dc38f70d1f9f4289c16951d9afea05570583b02
72 +DIST thunderbird-78.10.2-pt-BR.xpi 649421 BLAKE2B dfafe541f4023a1af4b0cc72fc3a9dcbb724f82ff7ad7af41bf8c21a26b91bfdd24ab671901ee091d0950810ab30d2d5bef84dffd0f5dbae1974f0048e240f70 SHA512 64ffd00023ca35a6d7e4ff946144a3a4f9bc2356622700effd971b2b13a96c2f3176925cff7d69e1e407eeb85256a6c2be6fab0b84c8ae827afb16a58abfb4d1
73 +DIST thunderbird-78.10.2-pt-PT.xpi 655499 BLAKE2B fab4eeba41e55937cd2a045bae8afb6b8101b42c76fbdb41b70c62b9b439c837be9a30b37b17ec83948cbb9fcf7d4ee27e93b95993cf60de867445ac364c8e13 SHA512 04a4d949f24d37af1f3e9b201df766e9fdb2d6ea0100acc425bb0d3db3f8ed900d8a088148c3b2bc2b5e04c610c9a440479281bed0bff29adef20a1e7d95d188
74 +DIST thunderbird-78.10.2-rm.xpi 646532 BLAKE2B 808fcf97c758c0934958ad7cd168e677c8b609e4f627edb260ea1478a7be1053167b00bca11e0983b240fccb11f62ebafddd14067c5dc4283e22e0f921901abc SHA512 1a9c1403360e1a18428d3e3b6820e59db99658dfcf761500e0333e13e03ff32dbc7c4762491f28cc4a2c7f42ce1cd06c723535d3ffea072082ffbb56bf27421d
75 +DIST thunderbird-78.10.2-ro.xpi 662634 BLAKE2B c297c8e818fef288b97900b225d427494b2d44d13d92d3e2d28f843371d4fe74431abd4e6bd9a252bed6573c568991a4235b65cbc871a2cff1c0aa5272ee256d SHA512 6afa9f76dc17ca2b93685c7f3510df8b193848b020ce5d088b4fc2840764849af7b4fdabd449387b4fc19be102a37c111583615773ddf1e2eff95d1fdf420c18
76 +DIST thunderbird-78.10.2-ru.xpi 756186 BLAKE2B ff533244e071f126903add92f273c8d4038e3ef29f795cab52fc4cac86954fc0e2a54191cd8e3206577e1fe324857e03a3779993e79408a1bf2cd4446253b13d SHA512 3cd4bae123bc07b49b373a58dd4cd9a44d47b48b559ee627ae52ca5f460dce5356d466330a71bac07cd4ec008d1d4d718fcfdd42e60f036432f074eebe5f8aa7
77 +DIST thunderbird-78.10.2-si.xpi 651096 BLAKE2B 0fe13805cea9499bb262a025e283ec0ba0b5c1b408b1c69f1f9e07901f2f3ed0710a2266be123a63f40e4e2c0246f3cab034b2b8a0dae868ec83589d5a162901 SHA512 cf583b85b5741d71db53aa475b24c0adc84a959a3cf8ccee833398f36dac9fad871544c895b8a03ad6dadda86f04530e80abfc9d601b38012efe990a720e2635
78 +DIST thunderbird-78.10.2-sk.xpi 643218 BLAKE2B 1cfa020bc3f1dd30880c2f84993fdbd278e964aa2d3a73423f9859c7020a31d6911f33aaf466211dadfa880f8c75095e7872977deead533fe4f676a1fce1f79d SHA512 ca5c7c1458879842c7da2bacee472cab200450bd4dd5c4fee92652cea4e55921c62aec89da25db9ce3d509e822c1612c13b662a21dd8643c5b32ac7eef20fdb7
79 +DIST thunderbird-78.10.2-sl.xpi 632383 BLAKE2B 9704d78764b0a32b538d4d93fd552607e4f6ca1d44de9ca1065c4730a9f87dbb14a26da2047b7cffcbfe299b735e9031cc995291552d681d62000819832f106d SHA512 3c0bf640327da12035d9a28248f09f74e9285f2ff5239089617a0144425f466236afe672403987a50adedd4fc9743bf66f968994b4239f996944b8030e98c1f5
80 +DIST thunderbird-78.10.2-sq.xpi 657826 BLAKE2B d2967b7011c290677653f974403289a7e9dfc0a32ae18f2c927809f66a10ac7375d3cce32c7169daf36290a21d8c4593dd85bb5786686ce06c608a750e9202ab SHA512 8c9f00cad31b190ab254103752bc376dc876e96ac6fae340f467f246056993e652b21bcb23f2fb3193fb60c2147b729702cb2f02d580d3ec6856c3202be235b7
81 +DIST thunderbird-78.10.2-sr.xpi 683114 BLAKE2B 178859c2968475105da49c9a4e5c3b7b9c03f0b3063112116a4a9ea7a3516af31045d0327eccece817ec0ba744dd744c39923326f7747d16113f5b5d7ad94d91 SHA512 022d7d3445b8a2a0df56ebe6877d5ee321f9335ab363e805a8356b2829a81db970358b626570dde0d646c2c30d3125662cbf3e7c15df520b2c6ab469f34f6439
82 +DIST thunderbird-78.10.2-sv-SE.xpi 648867 BLAKE2B 2b4519a648e76c34f65951151cc625bbc5837c30b10c66ed858938bd3f99e930e630464066c8ef07fb1842e7bb7542c4f8c3a0436b0c9562ef0f6a05c4d5eb3a SHA512 4ca886764db45a2c9e8ffca52112d10026f4fd9875a995838e7cbb35590e72e24b34ba1f310513665254867999419fb6a5377abb0de524ca78e4bf5f40bd14ac
83 +DIST thunderbird-78.10.2-th.xpi 712035 BLAKE2B cb42f70400c96721c7bbec6353bdfa59c7738ff5ba028c9ee31157a5556b508ee21564b89e3574d4abbb9b5e42e7f81fedda35da01f423ccc0b1db72d1030d86 SHA512 481eb81819861c355d4a0234a0200c92ba2f6f3e770644a924e0492560a5e85aa6327b387ff6c98420cf485473b510c48674efa3c416bc7650bb340690db5615
84 +DIST thunderbird-78.10.2-tr.xpi 649075 BLAKE2B a594a63b72040a86ff2ebc60669d19ef7b8c43136e7812008a43b7d85c1672f34838f5c2d5ae458590f8cabeafedfe5d045efe379ee2797f5fa72c0aa276ebaf SHA512 5f4c9c6c1414ed92892a71f8701107a4252bde8a0d515878f9002c30abbc50dd08694e86dad522b6538e5e1bf0754925c00f28039ef9414e3f5289e65bbaf484
85 +DIST thunderbird-78.10.2-uz.xpi 586596 BLAKE2B bf71e12dd8cd771cbe86c2ef1c598fd3f2aaf9e804ee2051f690061b32aff1d92b521e11406d9b57335a481094cac0cc9da73763239764c9bacc4b2a74707d47 SHA512 b56103dcf2771dc2933b6b3d854c8dc5164febe5bc9ea539c73766d27e4b1c21931d7dedf72ef2ce143b318d0c27f45c47b3843f56f7ca6a67aa5106f9d70c54
86 +DIST thunderbird-78.10.2-vi.xpi 674614 BLAKE2B 3e24680e55133daefdd3b1759a9d257a10d8e11d8c0f28935e14f4c8639b9986a1367a2aea43e1fc51641d47f3814f76d3d2049e51006ddf13fea17189261cf2 SHA512 ed954eff56724b89745f85ba83ef13aa404c190a2e5efa85ea4ae27fbd37f8a211bea8878179c257cffc35a24b312116314f14351a440a1d9f407a23f7146154
87 +DIST thunderbird-78.10.2-zh-CN.xpi 687175 BLAKE2B 19dab68c9608822f54523bbc99647a51731c17290ef49d51379c48d284180e0b3a9f66380222a767c4d3dd0dbeecc7036cff95b57e29399d922527c2187058ea SHA512 5b90f11c3ff739fec02adec18285a95e70a02370567d9dadea97d64798916c793c5155bc3b313b489518d326124f215e29267a6465d7b52513fd2d3c25c97cde
88 +DIST thunderbird-78.10.2-zh-TW.xpi 687616 BLAKE2B d1b895a11c2ef84b2ffb4e9c24b477f77f84145b87659a29ebda5c5295c127e37fbe04f4e8662e552f848b4758ea19116e0b4fb8733fd467de1f3d827c3637a6 SHA512 fcf0ca89e6c80facd0b669fdb2c7807f48f703ca7fbf193882d2f4a8a4037ef4aceafd5aa04730c5fb9184b74e50ec74369684f55e3f786215acf2aeb663c31c
89 +DIST thunderbird-78.10.2.source.tar.xz 353926908 BLAKE2B 23ed531fae63453b0b088f6eca4df3fa70c87e659ccb4afb6e1a26a9837cb0740ae354ed8078dbbdf7480d99fc7b82f0f37f37978f957a1d855f61e9f10dd974 SHA512 b938580055b8b935a37cd7b7aea9b654f5dc42b0a5d459ccb95d10fbde49405c5fad3ebf450ecd1077289aef008801d1dbbb7d5be56bb238616df14a7658c3f4
90
91 diff --git a/mail-client/thunderbird/thunderbird-78.10.2.ebuild b/mail-client/thunderbird/thunderbird-78.10.2.ebuild
92 new file mode 100644
93 index 00000000000..7e7981007ca
94 --- /dev/null
95 +++ b/mail-client/thunderbird/thunderbird-78.10.2.ebuild
96 @@ -0,0 +1,1108 @@
97 +# Copyright 1999-2021 Gentoo Authors
98 +# Distributed under the terms of the GNU General Public License v2
99 +
100 +EAPI="7"
101 +
102 +FIREFOX_PATCHSET="firefox-78esr-patches-12.tar.xz"
103 +
104 +LLVM_MAX_SLOT=12
105 +
106 +PYTHON_COMPAT=( python3_{7..9} )
107 +PYTHON_REQ_USE="ncurses,sqlite,ssl"
108 +
109 +WANT_AUTOCONF="2.1"
110 +
111 +VIRTUALX_REQUIRED="pgo"
112 +
113 +MOZ_ESR=
114 +
115 +MOZ_PV=${PV}
116 +MOZ_PV_SUFFIX=
117 +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
118 + MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
119 +
120 + # Convert the ebuild version to the upstream Mozilla version
121 + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
122 + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
123 + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
124 +fi
125 +
126 +if [[ -n ${MOZ_ESR} ]] ; then
127 + # ESR releases have slightly different version numbers
128 + MOZ_PV="${MOZ_PV}esr"
129 +fi
130 +
131 +MOZ_PN="${PN%-bin}"
132 +MOZ_P="${MOZ_PN}-${MOZ_PV}"
133 +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
134 +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
135 +
136 +inherit autotools check-reqs desktop flag-o-matic gnome2-utils llvm \
137 + multiprocessing pax-utils python-any-r1 toolchain-funcs \
138 + virtualx xdg
139 +
140 +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
141 +
142 +if [[ ${PV} == *_rc* ]] ; then
143 + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
144 +fi
145 +
146 +PATCH_URIS=(
147 + https://dev.gentoo.org/~{axs,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
148 +)
149 +
150 +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
151 + ${PATCH_URIS[@]}"
152 +
153 +DESCRIPTION="Thunderbird Mail Client"
154 +HOMEPAGE="https://www.mozilla.org/thunderbird"
155 +
156 +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
157 +
158 +SLOT="0/$(ver_cut 1)"
159 +LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
160 +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free
161 + hardened hwaccel jack lto +openh264 pgo pulseaudio selinux
162 + +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
163 + +system-libvpx +system-webp wayland wifi"
164 +
165 +REQUIRED_USE="wifi? ( dbus )"
166 +
167 +BDEPEND="${PYTHON_DEPS}
168 + app-arch/unzip
169 + app-arch/zip
170 + >=dev-util/cbindgen-0.14.3
171 + >=net-libs/nodejs-10.21.0
172 + virtual/pkgconfig
173 + >=virtual/rust-1.41.0
174 + || (
175 + (
176 + sys-devel/clang:12
177 + sys-devel/llvm:12
178 + clang? (
179 + =sys-devel/lld-12*
180 + pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
181 + )
182 + )
183 + (
184 + sys-devel/clang:11
185 + sys-devel/llvm:11
186 + clang? (
187 + =sys-devel/lld-11*
188 + pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
189 + )
190 + )
191 + (
192 + sys-devel/clang:10
193 + sys-devel/llvm:10
194 + clang? (
195 + =sys-devel/lld-10*
196 + pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] )
197 + )
198 + )
199 + )
200 + lto? (
201 + !clang? ( sys-devel/binutils[gold] )
202 + )
203 + amd64? ( >=dev-lang/yasm-1.1 )
204 + x86? ( >=dev-lang/yasm-1.1 )
205 + !system-av1? (
206 + amd64? ( >=dev-lang/nasm-2.13 )
207 + x86? ( >=dev-lang/nasm-2.13 )
208 + )"
209 +
210 +CDEPEND="
211 + >=dev-libs/nss-3.53.1
212 + >=dev-libs/nspr-4.25
213 + dev-libs/atk
214 + dev-libs/expat
215 + >=x11-libs/cairo-1.10[X]
216 + >=x11-libs/gtk+-2.18:2
217 + >=x11-libs/gtk+-3.4.0:3[X]
218 + x11-libs/gdk-pixbuf
219 + >=x11-libs/pango-1.22.0
220 + >=media-libs/libpng-1.6.35:0=[apng]
221 + >=media-libs/mesa-10.2:*
222 + media-libs/fontconfig
223 + >=media-libs/freetype-2.4.10
224 + kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
225 + virtual/freedesktop-icon-theme
226 + >=x11-libs/pixman-0.19.2
227 + >=dev-libs/glib-2.26:2
228 + >=sys-libs/zlib-1.2.3
229 + >=dev-libs/libffi-3.0.10:=
230 + media-video/ffmpeg
231 + x11-libs/libX11
232 + x11-libs/libXcomposite
233 + x11-libs/libXdamage
234 + x11-libs/libXext
235 + x11-libs/libXfixes
236 + x11-libs/libXrender
237 + x11-libs/libXt
238 + dbus? (
239 + sys-apps/dbus
240 + dev-libs/dbus-glib
241 + )
242 + system-av1? (
243 + >=media-libs/dav1d-0.3.0:=
244 + >=media-libs/libaom-1.0.0:=
245 + )
246 + system-harfbuzz? (
247 + >=media-libs/harfbuzz-2.6.8:0=
248 + >=media-gfx/graphite2-1.3.13
249 + )
250 + system-icu? ( >=dev-libs/icu-67.1:= )
251 + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
252 + system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
253 + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
254 + system-webp? ( >=media-libs/libwebp-1.1.0:0= )
255 + wifi? (
256 + kernel_linux? (
257 + sys-apps/dbus
258 + dev-libs/dbus-glib
259 + net-misc/networkmanager
260 + )
261 + )
262 + jack? ( virtual/jack )
263 + selinux? ( sec-policy/selinux-mozilla )"
264 +
265 +RDEPEND="${CDEPEND}
266 + jack? ( virtual/jack )
267 + openh264? ( media-libs/openh264:*[plugin] )
268 + pulseaudio? (
269 + || (
270 + media-sound/pulseaudio
271 + >=media-sound/apulse-0.1.12-r4
272 + )
273 + )
274 + selinux? ( sec-policy/selinux-mozilla )
275 + !<x11-plugins/enigmail-2.2"
276 +
277 +DEPEND="${CDEPEND}
278 + pulseaudio? (
279 + || (
280 + media-sound/pulseaudio
281 + >=media-sound/apulse-0.1.12-r4[sdk]
282 + )
283 + )
284 + wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
285 + amd64? ( virtual/opengl )
286 + x86? ( virtual/opengl )"
287 +
288 +S="${WORKDIR}/${PN}-${PV%_*}"
289 +
290 +llvm_check_deps() {
291 + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
292 + ewarn "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
293 + return 1
294 + fi
295 +
296 + if use clang ; then
297 + if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
298 + ewarn "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
299 + return 1
300 + fi
301 +
302 + if use pgo ; then
303 + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
304 + ewarn "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
305 + return 1
306 + fi
307 + fi
308 + fi
309 +
310 + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
311 +}
312 +
313 +MOZ_LANGS=(
314 + af ar ast be bg br ca cak cs cy da de dsb el en-CA en-GB en-US
315 + es-AR es-ES et eu fa fi fr fy-NL ga-IE gd gl he hr hsb hu hy-AM
316 + id is it ja ka kab kk ko lt ms nb-NO nl nn-NO pa-IN pl pt-BR
317 + pt-PT rm ro ru si sk sl sq sr sv-SE th tr uz vi zh-CN zh-TW
318 +)
319 +
320 +mozilla_set_globals() {
321 + # https://bugs.gentoo.org/587334
322 + local MOZ_TOO_REGIONALIZED_FOR_L10N=(
323 + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
324 + )
325 +
326 + local lang xflag
327 + for lang in "${MOZ_LANGS[@]}" ; do
328 + # en and en_US are handled internally
329 + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
330 + continue
331 + fi
332 +
333 + # strip region subtag if $lang is in the list
334 + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
335 + xflag=${lang%%-*}
336 + else
337 + xflag=${lang}
338 + fi
339 +
340 + SRC_URI+=" l10n_${xflag/[_@]/-}? ("
341 + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
342 + SRC_URI+=" )"
343 + IUSE+=" l10n_${xflag/[_@]/-}"
344 + done
345 +}
346 +mozilla_set_globals
347 +
348 +moz_clear_vendor_checksums() {
349 + debug-print-function ${FUNCNAME} "$@"
350 +
351 + if [[ ${#} -ne 1 ]] ; then
352 + die "${FUNCNAME} requires exact one argument"
353 + fi
354 +
355 + einfo "Clearing cargo checksums for ${1} ..."
356 +
357 + sed -i \
358 + -e 's/\("files":{\)[^}]*/\1/' \
359 + "${S}"/third_party/rust/${1}/.cargo-checksum.json \
360 + || die
361 +}
362 +
363 +moz_install_xpi() {
364 + debug-print-function ${FUNCNAME} "$@"
365 +
366 + if [[ ${#} -lt 2 ]] ; then
367 + die "${FUNCNAME} requires at least two arguments"
368 + fi
369 +
370 + local DESTDIR=${1}
371 + shift
372 +
373 + insinto "${DESTDIR}"
374 +
375 + local emid xpi_file xpi_tmp_dir
376 + for xpi_file in "${@}" ; do
377 + emid=
378 + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
379 +
380 + # Unpack XPI
381 + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
382 +
383 + # Determine extension ID
384 + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
385 + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
386 + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
387 + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
388 + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
389 + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
390 + else
391 + die "failed to determine extension id"
392 + fi
393 +
394 + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
395 + newins "${xpi_file}" "${emid}.xpi"
396 + done
397 +}
398 +
399 +mozconfig_add_options_ac() {
400 + debug-print-function ${FUNCNAME} "$@"
401 +
402 + if [[ ${#} -lt 2 ]] ; then
403 + die "${FUNCNAME} requires at least two arguments"
404 + fi
405 +
406 + local reason=${1}
407 + shift
408 +
409 + local option
410 + for option in ${@} ; do
411 + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
412 + done
413 +}
414 +
415 +mozconfig_add_options_mk() {
416 + debug-print-function ${FUNCNAME} "$@"
417 +
418 + if [[ ${#} -lt 2 ]] ; then
419 + die "${FUNCNAME} requires at least two arguments"
420 + fi
421 +
422 + local reason=${1}
423 + shift
424 +
425 + local option
426 + for option in ${@} ; do
427 + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
428 + done
429 +}
430 +
431 +mozconfig_use_enable() {
432 + debug-print-function ${FUNCNAME} "$@"
433 +
434 + if [[ ${#} -lt 1 ]] ; then
435 + die "${FUNCNAME} requires at least one arguments"
436 + fi
437 +
438 + local flag=$(use_enable "${@}")
439 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
440 +}
441 +
442 +mozconfig_use_with() {
443 + debug-print-function ${FUNCNAME} "$@"
444 +
445 + if [[ ${#} -lt 1 ]] ; then
446 + die "${FUNCNAME} requires at least one arguments"
447 + fi
448 +
449 + local flag=$(use_with "${@}")
450 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
451 +}
452 +
453 +pkg_pretend() {
454 + if [[ ${MERGE_TYPE} != binary ]] ; then
455 + if use pgo ; then
456 + if ! has usersandbox $FEATURES ; then
457 + die "You must enable usersandbox as X server can not run as root!"
458 + fi
459 + fi
460 +
461 + # Ensure we have enough disk space to compile
462 + if use pgo || use lto || use debug ; then
463 + CHECKREQS_DISK_BUILD="13500M"
464 + else
465 + CHECKREQS_DISK_BUILD="6400M"
466 + fi
467 +
468 + check-reqs_pkg_pretend
469 + fi
470 +}
471 +
472 +pkg_setup() {
473 + if [[ ${MERGE_TYPE} != binary ]] ; then
474 + if use pgo ; then
475 + if ! has userpriv ${FEATURES} ; then
476 + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
477 + fi
478 + fi
479 +
480 + # Ensure we have enough disk space to compile
481 + if use pgo || use lto || use debug ; then
482 + CHECKREQS_DISK_BUILD="13500M"
483 + else
484 + CHECKREQS_DISK_BUILD="6400M"
485 + fi
486 +
487 + check-reqs_pkg_setup
488 +
489 + llvm_pkg_setup
490 +
491 + if use clang && use lto ; then
492 + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
493 + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
494 + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
495 +
496 + # temp fix for https://bugs.gentoo.org/768543
497 + # we can assume that rust 1.{49,50}.0 always uses llvm 11
498 + local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
499 + [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
500 + [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
501 +
502 + if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
503 + local version_llvm_rust="11"
504 + else
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 + fi
509 +
510 + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
511 + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
512 + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
513 + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
514 + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
515 + eerror " - Build ${CATEGORY}/${PN} without USE=lto"
516 + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
517 + fi
518 + fi
519 +
520 + python-any-r1_pkg_setup
521 +
522 + # Avoid PGO profiling problems due to enviroment leakage
523 + # These should *always* be cleaned up anyway
524 + unset \
525 + DBUS_SESSION_BUS_ADDRESS \
526 + DISPLAY \
527 + ORBIT_SOCKETDIR \
528 + SESSION_MANAGER \
529 + XAUTHORITY \
530 + XDG_CACHE_HOME \
531 + XDG_SESSION_COOKIE
532 +
533 + # Build system is using /proc/self/oom_score_adj, bug #604394
534 + addpredict /proc/self/oom_score_adj
535 +
536 + if ! mountpoint -q /dev/shm ; then
537 + # If /dev/shm is not available, configure is known to fail with
538 + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
539 + ewarn "/dev/shm is not mounted -- expect build failures!"
540 + fi
541 +
542 + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
543 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
544 + # get your own set of keys.
545 + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
546 + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
547 + fi
548 +
549 + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
550 + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
551 + fi
552 +
553 + # Mozilla API keys (see https://location.services.mozilla.com/api)
554 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
555 + # get your own set of keys.
556 + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
557 + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
558 + fi
559 +
560 + # Ensure we use C locale when building, bug #746215
561 + export LC_ALL=C
562 + fi
563 +}
564 +
565 +src_unpack() {
566 + local _lp_dir="${WORKDIR}/language_packs"
567 + local _src_file
568 +
569 + if [[ ! -d "${_lp_dir}" ]] ; then
570 + mkdir "${_lp_dir}" || die
571 + fi
572 +
573 + for _src_file in ${A} ; do
574 + if [[ ${_src_file} == *.xpi ]]; then
575 + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
576 + else
577 + unpack ${_src_file}
578 + fi
579 + done
580 +}
581 +
582 +src_prepare() {
583 + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
584 + eapply "${WORKDIR}/firefox-patches"
585 +
586 + # Allow user to apply any additional patches without modifing ebuild
587 + eapply_user
588 +
589 + # Make LTO respect MAKEOPTS
590 + sed -i \
591 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
592 + "${S}"/build/moz.configure/lto-pgo.configure \
593 + || die "sed failed to set num_cores"
594 +
595 + # Make ICU respect MAKEOPTS
596 + sed -i \
597 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
598 + "${S}"/intl/icu_sources_data.py \
599 + || die "sed failed to set num_cores"
600 +
601 + # sed-in toolchain prefix
602 + sed -i \
603 + -e "s/objdump/${CHOST}-objdump/" \
604 + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
605 + || die "sed failed to set toolchain prefix"
606 +
607 + sed -i \
608 + -e 's/ccache_stats = None/return None/' \
609 + "${S}"/python/mozbuild/mozbuild/controller/building.py \
610 + || die "sed failed to disable ccache stats call"
611 +
612 + einfo "Removing pre-built binaries ..."
613 + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
614 +
615 + # Clearing checksums where we have applied patches
616 + moz_clear_vendor_checksums target-lexicon-0.9.0
617 +
618 + # Create build dir
619 + BUILD_DIR="${WORKDIR}/${PN}_build"
620 + mkdir -p "${BUILD_DIR}" || die
621 +
622 + # Write API keys to disk
623 + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
624 + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
625 + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
626 +
627 + xdg_src_prepare
628 +}
629 +
630 +src_configure() {
631 + # Show flags set at the beginning
632 + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
633 + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
634 + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
635 + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
636 + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
637 +
638 + local have_switched_compiler=
639 + if use clang && ! tc-is-clang ; then
640 + # Force clang
641 + einfo "Enforcing the use of clang due to USE=clang ..."
642 + have_switched_compiler=yes
643 + AR=llvm-ar
644 + CC=${CHOST}-clang
645 + CXX=${CHOST}-clang++
646 + NM=llvm-nm
647 + RANLIB=llvm-ranlib
648 + elif ! use clang && ! tc-is-gcc ; then
649 + # Force gcc
650 + have_switched_compiler=yes
651 + einfo "Enforcing the use of gcc due to USE=-clang ..."
652 + AR=gcc-ar
653 + CC=${CHOST}-gcc
654 + CXX=${CHOST}-g++
655 + NM=gcc-nm
656 + RANLIB=gcc-ranlib
657 + fi
658 +
659 + if [[ -n "${have_switched_compiler}" ]] ; then
660 + # Because we switched active compiler we have to ensure
661 + # that no unsupported flags are set
662 + strip-unsupported-flags
663 + fi
664 +
665 + # Ensure we use correct toolchain
666 + export HOST_CC="$(tc-getBUILD_CC)"
667 + export HOST_CXX="$(tc-getBUILD_CXX)"
668 + tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
669 +
670 + # Pass the correct toolchain paths through cbindgen
671 + if tc-is-cross-compiler ; then
672 + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
673 + fi
674 +
675 + # Set MOZILLA_FIVE_HOME
676 + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
677 +
678 + # python/mach/mach/mixin/process.py fails to detect SHELL
679 + export SHELL="${EPREFIX}/bin/bash"
680 +
681 + # Set MOZCONFIG
682 + export MOZCONFIG="${S}/.mozconfig"
683 +
684 + # Initialize MOZCONFIG
685 + mozconfig_add_options_ac '' --enable-application=comm/mail
686 + mozconfig_add_options_ac '' --enable-calendar
687 +
688 + # Set Gentoo defaults
689 + export MOZILLA_OFFICIAL=1
690 +
691 + mozconfig_add_options_ac 'Gentoo default' \
692 + --allow-addon-sideload \
693 + --disable-cargo-incremental \
694 + --disable-crashreporter \
695 + --disable-install-strip \
696 + --disable-strip \
697 + --disable-updater \
698 + --enable-official-branding \
699 + --enable-release \
700 + --enable-system-ffi \
701 + --enable-system-pixman \
702 + --host="${CBUILD:-${CHOST}}" \
703 + --libdir="${EPREFIX}/usr/$(get_libdir)" \
704 + --prefix="${EPREFIX}/usr" \
705 + --target="${CHOST}" \
706 + --without-ccache \
707 + --with-intl-api \
708 + --with-libclang-path="$(llvm-config --libdir)" \
709 + --with-system-nspr \
710 + --with-system-nss \
711 + --with-system-png \
712 + --with-system-zlib \
713 + --with-toolchain-prefix="${CHOST}-" \
714 + --with-unsigned-addon-scopes=app,system \
715 + --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
716 + --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
717 +
718 + # Set update channel
719 + local update_channel=release
720 + [[ -n ${MOZ_ESR} ]] && update_channel=esr
721 + mozconfig_add_options_ac '' --update-channel=${update_channel}
722 +
723 + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
724 + mozconfig_add_options_ac '' --enable-rust-simd
725 + fi
726 +
727 + if [[ -s "${S}/api-google.key" ]] ; then
728 + local key_origin="Gentoo default"
729 + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
730 + key_origin="User value"
731 + fi
732 +
733 + mozconfig_add_options_ac "${key_origin}" \
734 + --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
735 + else
736 + einfo "Building without Google API key ..."
737 + fi
738 +
739 + if [[ -s "${S}/api-location.key" ]] ; then
740 + local key_origin="Gentoo default"
741 + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
742 + key_origin="User value"
743 + fi
744 +
745 + mozconfig_add_options_ac "${key_origin}" \
746 + --with-google-location-service-api-keyfile="${S}/api-location.key"
747 + else
748 + einfo "Building without Location API key ..."
749 + fi
750 +
751 + if [[ -s "${S}/api-mozilla.key" ]] ; then
752 + local key_origin="Gentoo default"
753 + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
754 + key_origin="User value"
755 + fi
756 +
757 + mozconfig_add_options_ac "${key_origin}" \
758 + --with-mozilla-api-keyfile="${S}/api-mozilla.key"
759 + else
760 + einfo "Building without Mozilla API key ..."
761 + fi
762 +
763 + mozconfig_use_with system-av1
764 + mozconfig_use_with system-harfbuzz
765 + mozconfig_use_with system-harfbuzz system-graphite2
766 + mozconfig_use_with system-icu
767 + mozconfig_use_with system-jpeg
768 + mozconfig_use_with system-libevent system-libevent "${SYSROOT}${EPREFIX}/usr"
769 + mozconfig_use_with system-libvpx
770 + mozconfig_use_with system-webp
771 +
772 + mozconfig_use_enable dbus
773 +
774 + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
775 +
776 + if use hardened ; then
777 + mozconfig_add_options_ac "+hardened" --enable-hardening
778 + append-ldflags "-Wl,-z,relro -Wl,-z,now"
779 + fi
780 +
781 + mozconfig_use_enable jack
782 +
783 + mozconfig_use_enable pulseaudio
784 + # force the deprecated alsa sound code if pulseaudio is disabled
785 + if use kernel_linux && ! use pulseaudio ; then
786 + mozconfig_add_options_ac '-pulseaudio' --enable-alsa
787 + fi
788 +
789 + mozconfig_use_enable wifi necko-wifi
790 +
791 + if use wayland ; then
792 + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
793 + else
794 + mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
795 + fi
796 +
797 + if use lto ; then
798 + if use clang ; then
799 + # Upstream only supports lld when using clang
800 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
801 +
802 + mozconfig_add_options_ac '+lto' --enable-lto=cross
803 + else
804 + # Linking only works when using ld.gold when LTO is enabled
805 + mozconfig_add_options_ac "forcing ld=gold due to USE=lto" --enable-linker=gold
806 +
807 + # ThinLTO is currently broken, see bmo#1644409
808 + mozconfig_add_options_ac '+lto' --enable-lto=full
809 + fi
810 +
811 + if use pgo ; then
812 + mozconfig_add_options_ac '+pgo' MOZ_PGO=1
813 +
814 + if use clang ; then
815 + # Used in build/pgo/profileserver.py
816 + export LLVM_PROFDATA="llvm-profdata"
817 + fi
818 + fi
819 + else
820 + # Avoid auto-magic on linker
821 + if use clang ; then
822 + # This is upstream's default
823 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
824 + elif tc-ld-is-gold ; then
825 + mozconfig_add_options_ac "linker is set to gold" --enable-linker=gold
826 + else
827 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
828 + fi
829 + fi
830 +
831 + # LTO flag was handled via configure
832 + filter-flags '-flto*'
833 +
834 + mozconfig_use_enable debug
835 + if use debug ; then
836 + mozconfig_add_options_ac '+debug' --disable-optimize
837 + else
838 + if is-flag '-g*' ; then
839 + if use clang ; then
840 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
841 + else
842 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
843 + fi
844 + else
845 + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
846 + fi
847 +
848 + if is-flag '-O0' ; then
849 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
850 + elif is-flag '-O4' ; then
851 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
852 + elif is-flag '-O3' ; then
853 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
854 + elif is-flag '-O1' ; then
855 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
856 + elif is-flag '-Os' ; then
857 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
858 + else
859 + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
860 + fi
861 + fi
862 +
863 + # Debug flag was handled via configure
864 + filter-flags '-g*'
865 +
866 + # Optimization flag was handled via configure
867 + filter-flags '-O*'
868 +
869 + # Modifications to better support ARM, bug #553364
870 + if use cpu_flags_arm_neon ; then
871 + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
872 +
873 + if ! tc-is-clang ; then
874 + # thumb options aren't supported when using clang, bug 666966
875 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \
876 + --with-thumb=yes \
877 + --with-thumb-interwork=no
878 + fi
879 + fi
880 +
881 + if [[ ${CHOST} == armv*h* ]] ; then
882 + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
883 +
884 + if ! use system-libvpx ; then
885 + sed -i \
886 + -e "s|softfp|hard|" \
887 + "${S}"/media/libvpx/moz.build \
888 + || die
889 + fi
890 + fi
891 +
892 + if use clang ; then
893 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
894 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
895 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
896 + local disable_elf_hack=
897 + if use amd64 ; then
898 + disable_elf_hack=yes
899 + elif use x86 ; then
900 + disable_elf_hack=yes
901 + elif use arm ; then
902 + disable_elf_hack=yes
903 + fi
904 +
905 + if [[ -n ${disable_elf_hack} ]] ; then
906 + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
907 + fi
908 + elif tc-is-gcc ; then
909 + if ver_test $(gcc-fullversion) -ge 10 ; then
910 + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
911 + append-cxxflags -fno-tree-loop-vectorize
912 + fi
913 + fi
914 +
915 + # Additional ARCH support
916 + case "${ARCH}" in
917 + arm)
918 + # Reduce the memory requirements for linking
919 + if use clang ; then
920 + # Nothing to do
921 + :;
922 + elif tc-ld-is-gold || use lto ; then
923 + append-ldflags -Wl,--no-keep-memory
924 + else
925 + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
926 + fi
927 + ;;
928 + esac
929 +
930 + if ! use elibc_glibc ; then
931 + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
932 + fi
933 +
934 + # Allow elfhack to work in combination with unstripped binaries
935 + # when they would normally be larger than 2GiB.
936 + append-ldflags "-Wl,--compress-debug-sections=zlib"
937 +
938 + # Make revdep-rebuild.sh happy; Also required for musl
939 + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
940 +
941 + # Pass $MAKEOPTS to build system
942 + export MOZ_MAKE_FLAGS="${MAKEOPTS}"
943 +
944 + # Use system's Python environment
945 + export MACH_USE_SYSTEM_PYTHON=1
946 +
947 + # Disable notification when build system has finished
948 + export MOZ_NOSPAM=1
949 +
950 + # Build system requires xargs but is unable to find it
951 + mozconfig_add_options_mk 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
952 +
953 + # Set build dir
954 + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
955 +
956 + # Show flags we will use
957 + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
958 + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
959 + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
960 + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
961 + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
962 +
963 + # Handle EXTRA_CONF and show summary
964 + local ac opt hash reason
965 +
966 + # Apply EXTRA_ECONF entries to $MOZCONFIG
967 + if [[ -n ${EXTRA_ECONF} ]] ; then
968 + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
969 + for opt in "${ac[@]}"; do
970 + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
971 + done
972 + fi
973 +
974 + echo
975 + echo "=========================================================="
976 + echo "Building ${PF} with the following configuration"
977 + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
978 + [[ -z ${hash} || ${hash} == \# ]] \
979 + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
980 + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
981 + done
982 + echo "=========================================================="
983 + echo
984 +
985 + ./mach configure || die
986 +}
987 +
988 +src_compile() {
989 + local virtx_cmd=
990 +
991 + if use pgo ; then
992 + virtx_cmd=virtx
993 +
994 + # Reset and cleanup environment variables used by GNOME/XDG
995 + gnome2_environment_reset
996 +
997 + addpredict /root
998 + fi
999 +
1000 + local -x GDK_BACKEND=x11
1001 +
1002 + ${virtx_cmd} ./mach build --verbose \
1003 + || die
1004 +}
1005 +
1006 +src_install() {
1007 + # xpcshell is getting called during install
1008 + pax-mark m \
1009 + "${BUILD_DIR}"/dist/bin/xpcshell \
1010 + "${BUILD_DIR}"/dist/bin/${PN} \
1011 + "${BUILD_DIR}"/dist/bin/plugin-container
1012 +
1013 + DESTDIR="${D}" ./mach install || die
1014 +
1015 + # Upstream cannot ship symlink but we can (bmo#658850)
1016 + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
1017 + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
1018 +
1019 + # Don't install llvm-symbolizer from sys-devel/llvm package
1020 + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
1021 + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
1022 + fi
1023 +
1024 + # Install policy (currently only used to disable application updates)
1025 + insinto "${MOZILLA_FIVE_HOME}/distribution"
1026 + newins "${FILESDIR}"/distribution.ini distribution.ini
1027 + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
1028 +
1029 + # Install system-wide preferences
1030 + local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref"
1031 + insinto "${PREFS_DIR}"
1032 + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
1033 +
1034 + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
1035 +
1036 + # Set dictionary path to use system hunspell
1037 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
1038 + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
1039 + EOF
1040 +
1041 + # Force hwaccel prefs if USE=hwaccel is enabled
1042 + if use hwaccel ; then
1043 + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
1044 + >>"${GENTOO_PREFS}" \
1045 + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
1046 + fi
1047 +
1048 + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
1049 + if use system-harfbuzz ; then
1050 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
1051 + sticky_pref("gfx.font_rendering.graphite.enabled", true);
1052 + EOF
1053 + fi
1054 +
1055 + # Install language packs
1056 + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
1057 + if [[ -n "${langpacks}" ]] ; then
1058 + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
1059 + fi
1060 +
1061 + # Install icons
1062 + local icon_srcdir="${S}/comm/mail/branding/thunderbird"
1063 + local icon_symbolic_file="${icon_srcdir}/TB-symbolic.svg"
1064 +
1065 + insinto /usr/share/icons/hicolor/symbolic/apps
1066 + newins "${icon_symbolic_file}" ${PN}-symbolic.svg
1067 +
1068 + local icon size
1069 + for icon in "${icon_srcdir}"/default*.png ; do
1070 + size=${icon%.png}
1071 + size=${size##*/default}
1072 +
1073 + if [[ ${size} -eq 48 ]] ; then
1074 + newicon "${icon}" ${PN}.png
1075 + fi
1076 +
1077 + newicon -s ${size} "${icon}" ${PN}.png
1078 + done
1079 +
1080 + # Install menus
1081 + local wrapper_wayland="${PN}-wayland.sh"
1082 + local wrapper_x11="${PN}-x11.sh"
1083 + local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop"
1084 + local display_protocols="auto X11"
1085 + local icon="${PN}"
1086 + local name="Mozilla ${MOZ_PN^}"
1087 + local use_wayland="false"
1088 +
1089 + if use wayland ; then
1090 + display_protocols+=" Wayland"
1091 + use_wayland="true"
1092 + fi
1093 +
1094 + local app_name desktop_filename display_protocol exec_command
1095 + for display_protocol in ${display_protocols} ; do
1096 + app_name="${name} on ${display_protocol}"
1097 + desktop_filename="${PN}-${display_protocol,,}.desktop"
1098 +
1099 + case ${display_protocol} in
1100 + Wayland)
1101 + exec_command="${PN}-wayland --name ${PN}-wayland"
1102 + newbin "${FILESDIR}/${wrapper_wayland}" ${PN}-wayland
1103 + ;;
1104 + X11)
1105 + if ! use wayland ; then
1106 + # Exit loop here because there's no choice so
1107 + # we don't need wrapper/.desktop file for X11.
1108 + continue
1109 + fi
1110 +
1111 + exec_command="${PN}-x11 --name ${PN}-x11"
1112 + newbin "${FILESDIR}/${wrapper_x11}" ${PN}-x11
1113 + ;;
1114 + *)
1115 + app_name="${name}"
1116 + desktop_filename="${PN}.desktop"
1117 + exec_command="${PN}"
1118 + ;;
1119 + esac
1120 +
1121 + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
1122 +
1123 + sed -i \
1124 + -e "s:@NAME@:${app_name}:" \
1125 + -e "s:@EXEC@:${exec_command}:" \
1126 + -e "s:@ICON@:${icon}:" \
1127 + "${WORKDIR}/${PN}.desktop-template" \
1128 + || die
1129 +
1130 + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
1131 +
1132 + rm "${WORKDIR}/${PN}.desktop-template" || die
1133 + done
1134 +
1135 + # Install generic wrapper script
1136 + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
1137 + newbin "${FILESDIR}/${PN}.sh" ${PN}
1138 +
1139 + # Update wrapper
1140 + local wrapper
1141 + for wrapper in \
1142 + "${ED}/usr/bin/${PN}" \
1143 + "${ED}/usr/bin/${PN}-x11" \
1144 + "${ED}/usr/bin/${PN}-wayland" \
1145 + ; do
1146 + [[ ! -f "${wrapper}" ]] && continue
1147 +
1148 + sed -i \
1149 + -e "s:@PREFIX@:${EPREFIX}/usr:" \
1150 + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
1151 + -e "s:@APULSELIB_DIR@:${apulselib}:" \
1152 + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
1153 + "${wrapper}" \
1154 + || die
1155 + done
1156 +}
1157 +
1158 +pkg_preinst() {
1159 + xdg_pkg_preinst
1160 +
1161 + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
1162 + # does not need to be forced into the LD_LIBRARY_PATH
1163 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1164 + einfo "APULSE found; Generating library symlinks for sound support ..."
1165 + local lib
1166 + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
1167 + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
1168 + # A quickpkg rolled by hand will grab symlinks as part of the package,
1169 + # so we need to avoid creating them if they already exist.
1170 + if [[ ! -L ${lib##*/} ]] ; then
1171 + ln -s "${lib}" ${lib##*/} || die
1172 + fi
1173 + done
1174 + popd &>/dev/null || die
1175 + fi
1176 +}
1177 +
1178 +pkg_postinst() {
1179 + xdg_pkg_postinst
1180 +
1181 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1182 + elog "Apulse was detected at merge time on this system and so it will always be"
1183 + elog "used for sound. If you wish to use pulseaudio instead please unmerge"
1184 + elog "media-sound/apulse."
1185 + elog
1186 + fi
1187 +
1188 + local show_doh_information
1189 +
1190 + if [[ -z "${REPLACING_VERSIONS}" ]] ; then
1191 + # New install; Tell user that DoH is disabled by default
1192 + show_doh_information=yes
1193 + fi
1194 +
1195 + if [[ -n "${show_doh_information}" ]] ; then
1196 + elog
1197 + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
1198 + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
1199 + elog "DNS traffic to Cloudflare by default is not a good idea and applications"
1200 + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
1201 + elog "(\"Off by choice\") by default."
1202 + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
1203 + fi
1204 +}