commit:     8c1ae9e94ab00b9c7e23beaab4aee381b8e742df
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  4 07:08:55 2021 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Fri Jun  4 07:32:55 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8c1ae9e9

mail-client/thunderbird: bump to v78.11.0

Package-Manager: Portage-3.0.19, Repoman-3.0.3
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 mail-client/thunderbird/Manifest                   |   66 ++
 mail-client/thunderbird/thunderbird-78.11.0.ebuild | 1108 ++++++++++++++++++++
 2 files changed, 1174 insertions(+)

diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest
index 9d411a04b1c..c9202ccf1ae 100644
--- a/mail-client/thunderbird/Manifest
+++ b/mail-client/thunderbird/Manifest
@@ -1,4 +1,5 @@
 DIST firefox-78esr-patches-13.tar.xz 83664 BLAKE2B 
92250d5bc3821ee1ff032236bd00e01a53e0af4f9e39696a634edb39f0a182bf5ff74b7fc0f107c9c53136c64485c398391e3a857c8b2b904115fd13d17e2a4f
 SHA512 
96739811bea833a6a9cb09075dfe49c6fa7f613e8bd41e1d830d6ae6851ce8e2f5d27c87d0035b6f3a099340dfd7eebe6ecb930ff25079e76cea92a7610293ca
+DIST firefox-78esr-patches-14.tar.xz 82976 BLAKE2B 
08cc3618c8069f4169b7647e7eb699153d558bb89f8a4f1ed74d5ccd339f77119cd8f253df011f0c2f255ad889b65e843171d7559f469788463ca7e9aa2e96aa
 SHA512 
1611c6f9d2c7d586e7b53810c1cfdb2682f5d289b1b019b71694b1ab2d8bbdfe827a73cfaf59f7e4808c0b90409ca4fa57e27655d8cdf0c578ffdbad33659f26
 DIST thunderbird-78.10.2-af.xpi 548348 BLAKE2B 
44d4c00a3672a82a1d7ec37394b6952824d940163a63213b8efa17488d97277de285f053ecca2925baef5ebb296647914028fbf37c884cf8d2527219e762d7e5
 SHA512 
04be6901b422e6a0a93d4b2a8c930f3ac8c78d4ce4fdff0dcfb904184080e5f1b0a10b05c44358069dfd9372fdabfeaa4b7a8b92fc16867fbe43569264996a08
 DIST thunderbird-78.10.2-ar.xpi 648605 BLAKE2B 
5f78480a6bca437d650f8567e8fc53dcf1ed61b6fc303f245d6634917caba60a85aa95636029891230d898e49076601be9c5265c9f00f2fb3ee88793e9159a81
 SHA512 
85d4711c30a7956199d34b5bb5b20a1876758bb12dd0ab09a636d5cdee8c3038f5f7a1940327218aca635e8789a36cd4d8318878999bee7bf49e87e88e7af829
 DIST thunderbird-78.10.2-ast.xpi 561260 BLAKE2B 
5c5883a0f42ef3b5ba1d42e70ec5d526eb93254d797c60ef757eed42285c9f9105a644088137cf59847da9fd20b7fdbdfc65c12c5c31118b8b004ba45c00bd28
 SHA512 
b3650198079ef290e82e51b9eb659c6675927378b14903de31d746ba6f5144bc8b1bc59b4909226118b4d5b88eb16ee7aee686cb15e6a28ae34e3a5bcc6d6441
@@ -64,3 +65,68 @@ DIST thunderbird-78.10.2-vi.xpi 674614 BLAKE2B 
3e24680e55133daefdd3b1759a9d257a1
 DIST thunderbird-78.10.2-zh-CN.xpi 687175 BLAKE2B 
19dab68c9608822f54523bbc99647a51731c17290ef49d51379c48d284180e0b3a9f66380222a767c4d3dd0dbeecc7036cff95b57e29399d922527c2187058ea
 SHA512 
5b90f11c3ff739fec02adec18285a95e70a02370567d9dadea97d64798916c793c5155bc3b313b489518d326124f215e29267a6465d7b52513fd2d3c25c97cde
 DIST thunderbird-78.10.2-zh-TW.xpi 687616 BLAKE2B 
d1b895a11c2ef84b2ffb4e9c24b477f77f84145b87659a29ebda5c5295c127e37fbe04f4e8662e552f848b4758ea19116e0b4fb8733fd467de1f3d827c3637a6
 SHA512 
fcf0ca89e6c80facd0b669fdb2c7807f48f703ca7fbf193882d2f4a8a4037ef4aceafd5aa04730c5fb9184b74e50ec74369684f55e3f786215acf2aeb663c31c
 DIST thunderbird-78.10.2.source.tar.xz 353926908 BLAKE2B 
23ed531fae63453b0b088f6eca4df3fa70c87e659ccb4afb6e1a26a9837cb0740ae354ed8078dbbdf7480d99fc7b82f0f37f37978f957a1d855f61e9f10dd974
 SHA512 
b938580055b8b935a37cd7b7aea9b654f5dc42b0a5d459ccb95d10fbde49405c5fad3ebf450ecd1077289aef008801d1dbbb7d5be56bb238616df14a7658c3f4
+DIST thunderbird-78.11.0-af.xpi 548343 BLAKE2B 
5eb0f8bde98e845046980bfa098b9749113cd4a95cff2ebcf7d387769bf407fb4f59926fea905dc293f916a91e0e0aaf78e1f4b2aac60dc1a38684a7293bbbef
 SHA512 
2978a9f8d81d936495207e9ecd45e67e9073037ffb9481e5dbfaa73a776a7787970bbde9ba9790c6ad53998fa391d251bc6b8eb5a3a04dd3bae791b8b426e73e
+DIST thunderbird-78.11.0-ar.xpi 648611 BLAKE2B 
d41906f09fb0522199e74ac0a7823f3769e23fb310c9d62a0332d288fb7cf46f7d1d97321f4cba6fe03b53c5e254e2ce27cb8606c58a9c1559b152d2be70d681
 SHA512 
595415279e9f14abc678d652bb58c3b7a5b4907dd979b86320aa4ea5c499bc02034c5fad4ffb388719ac8795923e9eb7936f9700b5655457cfb3942fddf6b821
+DIST thunderbird-78.11.0-ast.xpi 561258 BLAKE2B 
156729fe4b59c1594c35dc4e1bf198638cf361a679a95470fe495833c518c583abfbd69f358bba04f2c58d5a0d941603c969d640f9c18a26126a78f48e9b64d1
 SHA512 
d5821cf2aba5c3df1dac2d4310ba77aa7b5c1a69067216404944eff8b06bfb4eab2816aafbc490cf365c90aba850e6766092d9ae96dfb74ee9bb0452b591c21c
+DIST thunderbird-78.11.0-be.xpi 666676 BLAKE2B 
81877cd6f49e61d462d22510ed82b3a6e31ce34d2d11f253ee6ce31e7569dd6f3f5e4fd0ff41a7404c3b374fe01b6495af064a722f445c4ac23d7941e546b9ab
 SHA512 
11243c238d1fff8519e58d5f138b3830f398c5f561a968d448dbe3703d81ab98056ff65dd80ae3c268ddc14583437a1b4988323ae20c235652619c887e89a137
+DIST thunderbird-78.11.0-bg.xpi 672416 BLAKE2B 
625560636cbd8522d9425e395ce28829644d86700c365987ba31e92c9d8fb8ea5d132f62ff12b6386c41dd995d3b95d49e55c84c5be7d68e687228f2f510b0be
 SHA512 
1c16a3ba03579a462ed1f36eadb409c81cfa6185f6112a674aea9cbf445529d66c51e844ea7ec6c9c89ed8bdf593223a80116f976dd242078487c18a20f7abe4
+DIST thunderbird-78.11.0-br.xpi 604529 BLAKE2B 
b2e9f794d23b4a78209ffa355db99ce06ce573bfc9c3ee69a0cf82ebfca1e06c06b3e6ba869dfed72abe2d6ef84a87224fe713febe2c00828770a0a13e0a70e4
 SHA512 
f4a67b79ba899c29f6a0ee5ee2677a75898ecd417a5460af52e1dd72a99b985db9f00fe682a2249cf76ec7576316a52d24995b39e5e5ecac5fffc7b3abfb1126
+DIST thunderbird-78.11.0-ca.xpi 620448 BLAKE2B 
9b88bbb31a16934ca112f806db6b8a7225ce7969073b297b03f71522c5f5f069958fce80608da0e30cfd7edac5b1c5f9c161078b7210affa48e103e3e5aa7185
 SHA512 
5abf0bb7f9b9ffb784ce89bbc74deebdfd042ca465b14cd7560bc6e8d774fac8d1998dd1afe3bab31a2347bddb4b64621bce39429ee49c17302a0cd7c85987cb
+DIST thunderbird-78.11.0-cak.xpi 635650 BLAKE2B 
2d127cd4601de8b7aa114a3a96ec21e35dc7e0fc2da0df3a8a075ef2abfd044c797059cfce2167b839398c0762ca8378b7878c7208f0cfecf5ed4ebcb0c54883
 SHA512 
d74ab66d99895b6ba97e2e2ea8d3a285d0ba87f242f5f5ebcd155a15155b23db3eafd19599eae4d4f759efbbffa10b70ecfe899751c2f0e7c31fe7e51e47f99a
+DIST thunderbird-78.11.0-cs.xpi 635344 BLAKE2B 
9ca8d944d2be138d90a8da9e93d3e7a2ef5306dc3bad3fe874bb62347359f58472d38794210de3898774c2b1ede57b5a4cca10d210b63dd2aaa44e936d41ee7d
 SHA512 
b967644424cfc8132a76ba82dbca88b6c712bf1c37f46d57f0f17cbb493de4e3468c9ed6b20ef030c087316c263cc081fa7fb796c5f9cdaf3e34212f211ddfb4
+DIST thunderbird-78.11.0-cy.xpi 646232 BLAKE2B 
0f180f548f4bbca346b877092b940889ebdd8b2e97819052744a0b0ba2bdddc413d335e13b3392b0e02a7c347616d12cf266bae8d19f5365779eca449119599e
 SHA512 
b9bdd207ab9165e383a51f094d8ffa07ac20bf9d15f0f6832ccccc3342244ab7ba3344e20d3ac4c3ade70fbfab7c5598e9051907427a4553aa63022ac23fcef3
+DIST thunderbird-78.11.0-da.xpi 620991 BLAKE2B 
db619e56d9140b547055ed21d13590ffae23ca6528603cb40a68c7b5b46ae0a70bb267f79fd6b450cc106541491cb95072e8d34e1f22ccde3ae7138c809cde7a
 SHA512 
7417e454e1621e47df72b749da146faa0d9c88955c85655fb3edbe4a8e550788e9f6c53565a78cfe82e9ce0ab3524052cbfa0fdff5a71d2291284299a4ee4c33
+DIST thunderbird-78.11.0-de.xpi 665194 BLAKE2B 
af74caf1d4a6ae13ee3e6c59a3dd562333588c4b855b1f2cebcdf1f36a02fe2645bf6f402ca22cc69c7e38febabbf2cd63858eca31a1450224c7a5f7b68e8432
 SHA512 
ee3163c6b9e3c1583c0c3b5d33112f5e9f37b336e3ec52980dee7bab02f016a4b6a7f6f82851932c4d72f7c85428e24e308e798fe34c41b8cec3cb226b3c150f
+DIST thunderbird-78.11.0-dsb.xpi 666778 BLAKE2B 
26a14ff3711b6789b62cfab66b5e125bb4b1d41489b32a939602d37571503539022e7a72503417eb4f8d6d8f12c1d0ed8097e6d3e4cdef6b3c3b609d8209d279
 SHA512 
d8781e76172b29f68943f5f3bcf922b40937495a189ef709dcae19e2977cea27caebdb6b17989fd594bf707fdb0a288982d7ee4bbc916af987add20cf55b55d5
+DIST thunderbird-78.11.0-el.xpi 774458 BLAKE2B 
5ca290b9df4e7a7d7cb109bf1f026f88b47941d0e224de56ffe2fb1a8b4df8818584f163cb48657d022e553821349e1f2fb8f27a102de0986912402b9dd519cd
 SHA512 
06d1dcc0b17604cdd68bf8c0b0dc6a014ae6f70c05b4a1c5b2768a45eef8099686b307ce3e0b13a1d294ef45f1707cc7252c0c85d6b0bcf204cacf189f63bedd
+DIST thunderbird-78.11.0-en-CA.xpi 611764 BLAKE2B 
3c7df065c37712eeeb4d383eb42673ec31e8ba9d3d80a042728de1c276619ed19dc509762ec90f13b13a48b73991d2b9aee33df101039f18a4096ef0640f5e59
 SHA512 
843582f12e6d32c4eb27a0e984a96a406fa39b1adcd253c372e05c826e623e8059ccc704f7438cd4a14216b4251ceaa8c5b8b48dd8d34cc9f12336a3fb1ffe89
+DIST thunderbird-78.11.0-en-GB.xpi 611188 BLAKE2B 
9702b2e97c951589974f5b7f80636838261da021c4736e08416f15b0a7d30bc0885c6570fdc1f127111ce1f68e2251f181bc19b9bec887b7b1034becfc166fa4
 SHA512 
f0ecae7a6d3272cc779c35859647a86ec2f857499b47634006db528373a43aac79329e9ffeee304eb0a95195915f7aeb1170ef74240bb67e560d4305f960b21c
+DIST thunderbird-78.11.0-es-AR.xpi 657793 BLAKE2B 
895e2b21661c7c82475d3c93695e011f15f44d63cb49eab3b4b0c6a6d7d062eeb4282b1e16843d9202dc172e146406ed21851197e5eaff52dbbd81de0ea4f441
 SHA512 
570adcfa7416d1d3b2dbf6923927580c1334efd16ad024ab10df0a9c20558aaf4c14fb67245fe7d72b1d14454b759b38e3545fb62e9f9eb3feb881773dfcb6bc
+DIST thunderbird-78.11.0-es-ES.xpi 569808 BLAKE2B 
fd1edf9defcb06a2be32a065c72a479b43d66122636a5024d415d91358296a516730942aaf486fd18b391cc66a3282d8ac81263df261b5a98e3ec8a23cde3a18
 SHA512 
64fa4b4eb00c95dc8ccdc369cfc3c50a06bda3fc95a4d5625d677e27354f116d33b3e7de1697dfd16fa6429dcfbcbc2c7b8e4cdc9d6598ac08487d12b3d898ca
+DIST thunderbird-78.11.0-et.xpi 597738 BLAKE2B 
449b1057f9647f36e725368933b56125bf22377be1551c5c1a2c2b2dd4627114ec8257dc7b6960a2d31465c3026ce2f29c91d1c86fe7aa3741b9a92f425a9f51
 SHA512 
9f36639ddcc96851585a1cd5d36fcacbc4bbb6c1155cab5da1376f40b0a2a096c0d923ee00db32ff3a40c6543b957ae75472b1a052310be7cb0539cb3a826619
+DIST thunderbird-78.11.0-eu.xpi 632960 BLAKE2B 
7953b03d89922c61a4b2b4fd1328cc9f39b0095d071738c08531883ce4636a50669f62d26b87750c573638e0db48fb67aba18df70106636789306ac1ffe690b9
 SHA512 
e590ac6762c92b95e7c820f86f1484f72acf878489356c74b346073a39417b1db5a99a233d2466bf4f350516dab0279753e5724588bc0edca5965831c96a0e13
+DIST thunderbird-78.11.0-fa.xpi 639752 BLAKE2B 
9762634fb297c77110d6d45a64ccfc298510c838aaba9203a1e07b640e6aa72fa3083f722a070864927e0f687a6b764aa0cd51df79c50a1d9c71b289c0f13ade
 SHA512 
de2725034fd0373ea8955905079f4eabfe1d2baba44fbdcd614fd85ea33a8b8eabf4371f19e6f046929cbd56e4bf70e862693f1fbd97050c3411c83de8317234
+DIST thunderbird-78.11.0-fi.xpi 642456 BLAKE2B 
5af89a5311f7a373cd07a6350ef5bbc865be21d53cc33e5aa7a0ccf6d2963a25cbfb3cdac7c805f66feb084d807fed3a72aa3dd561c3d03ca647faaa6b3daa19
 SHA512 
0a22233c37b279b344862c0d156f938c588921aefc4852f3d4631a459b5a177cb74495ed61bbb90329aeb781f909cd9a330d2153114b8ebd64f53eb37bfa7965
+DIST thunderbird-78.11.0-fr.xpi 669492 BLAKE2B 
def525cee10efa0978d778ddb0ccd9672eb51ab5d7eb5a4a09b64773b410b5d2b3d17b93445cd324431cdec0ac8da8e72bab5534d60c694f2a50172280156174
 SHA512 
18b4aa4cf6684f0510b8e3cf990c79bb5b3c61ae37012dda0bc14febfa9ecb53f4cc86f21c40deca972972b1e89a9f15231a7498c3578ab22d1753b3dc397dff
+DIST thunderbird-78.11.0-fy-NL.xpi 653078 BLAKE2B 
043b2ecc0f54e0ba9b6f75ed1a0e8502ff4e5788e41d8c54a4895a107fd044fcb1aa4237a1e593f1cdcb8782e25226b6ba996df830aa1ab5b005410a7988c558
 SHA512 
e3b295fdb187715bda511105be726bddbbcd8ca3446bb8199937bcf98d16caa5ff7df52c9ef6170b85b8b0a0369179744e5a02283908c5fd1a3fede244d3ad77
+DIST thunderbird-78.11.0-ga-IE.xpi 600708 BLAKE2B 
9bb307d36ce5b9178985b818b75f417a4f44b29e748b847427598cd34a1202a15a5b2fbad00060bb98dd2ac0e1881845dbf23544f4defb16932c228fbe7eac22
 SHA512 
52a330bb02aac06ab2588537316a6241332bec6e2d616a3c5bba44fba1d50d4bc25ed3ca91372c74979ea6c92eadf484170e033bb0f2a12e22b54da0ac88fe4b
+DIST thunderbird-78.11.0-gd.xpi 609380 BLAKE2B 
8e33f096bc758e7d13c67b46f7508941c14dc8936678df293edb8782dc625c0b93ecb3b3d6df2b060e318430b9ced5c79c884b3fd495156e052e3edbf045d217
 SHA512 
e41728ba4d570995fcc382d372c7f1bf83ec1b554371748580b48d7f119047075439de662bc17bfeb60e20134f1f29ff3855c6e8a6e09498db606194c651dd05
+DIST thunderbird-78.11.0-gl.xpi 615733 BLAKE2B 
2b5364a9d4c03540091a60195f9a3d7b18cee3857693613c8d121731f1ff370209134ddffc6190e4e95b8ac5c32a7fbc8df81497e6dfaba680f91dc8f46feb2f
 SHA512 
c7b2aee95fdf67a65a9ffcb48ce8da2c720b6a6674a945012289f53d30e855c0602fc5df8b7186aadacb993fc2b1494bb79427d095db1daffd724e6fdec5a8db
+DIST thunderbird-78.11.0-he.xpi 640490 BLAKE2B 
f79910c79f9ba9d5ccbf72b5104b71837a77d53dcf92627f264b7a9f8717dc08ade847d717fac74b72ba102e204daa5af673a9438a52a4353890148456ebfa1c
 SHA512 
54122ab286ae100a38d0e9172d447d85df2692ea47baf57bb4632204c689ea6db83546610db1f0a93795eb7316bdee7db8b7adba8975bc51729b368df1bdc546
+DIST thunderbird-78.11.0-hr.xpi 629032 BLAKE2B 
137a179f6d3b774e177fd8d1b7035c5a872a998a2f22b5507007e7655e3b70d07414c9dd97c793276a892115c031afbb37e81a61f48ea830419e597b01fa9fc0
 SHA512 
2714cc3c735c227e7da7c61d078648814c1533f18ad18f90edc66a3e35af924b0728e335d3381c211333297aeb7cae5122f3803554ab825fbce54c55f0bc5087
+DIST thunderbird-78.11.0-hsb.xpi 668608 BLAKE2B 
61dccd236d7fa6d0e0df69727650f0f2710f14f6733b71e99b3f349f9446d551de861d5b44a3b8096a3a36503cdda7313d3459c974adabd19d8bb66f6bdd1df3
 SHA512 
d9461ec874a3c4a14ea8450868ec4193ed160df3e43fb083b1bc0cd3c9e208a9698f5b84cb4088e02fcfcad83e88a98406a8782672c57f3caf609917443620ce
+DIST thunderbird-78.11.0-hu.xpi 679836 BLAKE2B 
e58d2bfe5c6919fc46ab323a325dcd3ea6b2069763da16f8cdeb79a50dd7a1812f01e42a89abaa61d1bee4dab608c15e898f3563fe2b5eb2d2dfd61cd4e08d48
 SHA512 
b27bc91598df5b47453593c0ca75217f59143db756a496386907992bc9d7d259655985459c6cacf9736b5d12f8ebd92d7419c478892e22a2c6747a05bbdd3c64
+DIST thunderbird-78.11.0-hy-AM.xpi 713327 BLAKE2B 
25269f40b57361629a7212bfd1a5e8525e78d388a88e3648eea9316e7a181ecb79ca1657b1699103780fbecdb77ae939d2db29b424dcc00abb3bc8a65cf95b1c
 SHA512 
389a018f3185b24d5141a235f12d8a450aa86d3a17d4af03049453c607bedab9f953dba3f4e0b6c6512eb56bd9276a13871b56c386dc0e1433c819fddc95a03e
+DIST thunderbird-78.11.0-id.xpi 620681 BLAKE2B 
614ef09d3bafdceb05809efc973a38f23b7647561c80365d8b9dadeba0eb871b44af847ddecc0ee14a9ff8fe70c3facca2e1ba2a072ff3bed648c556cacab461
 SHA512 
2761954d55dda11609a20ce67868b9d83d3bc2608ecdc2a2d5bd8ffed628e80e62696f10b44026f53600becb0c0cadadf486f50e64f8ccffa7948cf1273fa910
+DIST thunderbird-78.11.0-is.xpi 581637 BLAKE2B 
2462fcd02e4affe409def825e5e220e1c4a3a0b0ec9e6666c1641dda1aeab472c088688e971ad149d3462eb1d11521c4076142da37e22c52756a2442585a0ea8
 SHA512 
52b11675f5333e3519e4972030d48f158ad1a266774a387a34012839227607ffc70662d6d94c06e3212825c187261339f112bc3b3181aa89b9c66c2f0e480bdf
+DIST thunderbird-78.11.0-it.xpi 572964 BLAKE2B 
c272e3f7203dc8494f83075f8121971e9fbee227e99cb84e33db32df61e0504b3a30ccafbeee42757cb437382d98a3251b019522077f1c4bc5012a0487275f52
 SHA512 
c09e348a4cdc1a682b30358a9c2a8a49342f07de5fe746e17079a11c480a5046cae348b0d8cdf56df3af3a77020feb6d1248bc22ded14c0d2f1f6d3c5b74053a
+DIST thunderbird-78.11.0-ja.xpi 722453 BLAKE2B 
eac59b6fa660fa3d80f4c968c444b495017b44cb73e9ec28840fd135dea439b5fa481ef10fa57333e2cbbc4d6a68634ce2b1705cbacbfa7be74aff14e41f718e
 SHA512 
c141ca2158307241f8b47fbca516944b81740c7a198f969e502bd774ac868037e9680024d910a737b34b026c465471bc2f493de4a6d6adf5e16c4aec66102cdb
+DIST thunderbird-78.11.0-ka.xpi 717016 BLAKE2B 
fba12a3dcff7cfe1421bc1d8ea130dff1c3c474e8aeb202463dc1bfcd681ea60e0076a6323ffd270e448dfb01a511ff93e13c906e0ab8f23d0da1c741848e988
 SHA512 
546d7863ac06da5334a89f8b3e590d596e58cadd3e7fb32420afad64d63ca31e4e8697e59e8f064a1dd1291c9fe6cb8993acac292f968494dde044e10bd71118
+DIST thunderbird-78.11.0-kab.xpi 651922 BLAKE2B 
3b94ce7c69c7ed81361e4366c28de31e4e2e6f7e646e587ecf0bd410f3f52c3f284ca61805fe0ee0d86bc7d6763aee8a6071f53fb99d4638ab631451303ccb8e
 SHA512 
60761ebf5d8fb8ff639e9178e5788fdcd9728cef6f69ba4dd9553eacf61b3e0a1ed3aa0489c277bd618745dc64da7587de8ee0f3f8d5f7ae3f93957f5456dec6
+DIST thunderbird-78.11.0-kk.xpi 720464 BLAKE2B 
bd741e0567c243303ae7287f9f12dfb7c59f286b8638285ea2b44e0bdb911dfc40434438fe7640f0a3a36a0863307ffccdfaac83d3c023cafb14d953f05a753e
 SHA512 
d92a7e142e6e8d01853d55ba0fba3b94df2847a7bfc8c7086d3ab06646c6bc55d3ecf9c63e4dcf1e42b883f297f55fd9ca94e19df12d54d33a406f9b985f1218
+DIST thunderbird-78.11.0-ko.xpi 688207 BLAKE2B 
1cc5547c1bd57daaa84557de95f708c9f44f66091b82749622e59030e91a1c1a6e7a503c692b1097f35cb1376634d1e9aef2c1d3ecdb82f02f3b8d7ac8d02ddf
 SHA512 
111c022dfae9705ca43bec679e84345415626e29b6320ce1001e8a00c5b34948ed7dad0548b864ef367d4f8db91b4e56554f2ba7ec490efcea69207184776404
+DIST thunderbird-78.11.0-lt.xpi 660298 BLAKE2B 
d494291f5c7f5010128da76a704c8b6a780e1b37c6e89b5b4f275c4c3bba69d0e2bb7b7b2e27ee8922085570d5b7f43d65b3d9fad4f7589dcf32d7db965b135d
 SHA512 
02ceeaf31b2d42494d5d1b8351912e4f4df5925e3b1111c0bb59ec84187ae83fd241a99f4f5660a8d7a0bf636b9c53c74fc61640065829735859c633f4f79758
+DIST thunderbird-78.11.0-ms.xpi 572177 BLAKE2B 
9ac91c920b272754c6f97c1f0018b7bad5d78b017705f4a2d8d8ae2e54bcaca373d64ebce37cb76a4d99ab4dd17cfa275fc24bf1b6e1c60f062cea43242e9c11
 SHA512 
5e31a0eb2e34aa45f75ee932150131e5618984d2e7d04acf5cdb4a72c5fec53131ea1bd36e407b98266d9a497219745c2aba9b501ca813a133abd7cab81fa9ac
+DIST thunderbird-78.11.0-nb-NO.xpi 637236 BLAKE2B 
86d94e683a3bddd0a344b8c3313dca82ec588a6957e6731734f1368a99e82acbb329f676bd516c43f7a54ad2ce18ee1d839283d132eb15300364477f13807abc
 SHA512 
9953462a1ed7b3ec2cfc979d4379b711ba065d9c519677abe10f0c13196e36830dd6bb549d199b681042200ac64668152b6855e4f23ada38815cf63e3df4e95b
+DIST thunderbird-78.11.0-nl.xpi 644361 BLAKE2B 
27a5a7a210ddf4f6c5e880f5234d938d61f513911db6b4954fc3cf97de257f253f089c2e4380294863bc08d8358ab9d3b79b786a0397076565d331ede5d94c66
 SHA512 
b4ba64c3bfdd3f4f5c52272802e927e2ad0bcd78b7553e7a65a16ecac715e5f9940f4d202097fc05e9b694e56e1ca9ddd99f1fb7f16b749e58a1f84835cadc4f
+DIST thunderbird-78.11.0-nn-NO.xpi 640698 BLAKE2B 
64a382fdeb55933aed0f12e4e01c5cb4e858885213cb48c4f95030d61bd8bb50e7bad4ab27bffa85f0a741cd77bcdf9ac962f854cf665a0717f863ab70d30334
 SHA512 
2cd14aef1333764eab9635b9a676e9412843ca76bad49f68a75ff888a2c8159a6d8790db482c879b620754ee7102656fca3dac78d4ca37c4eb65ca9afc1b17e8
+DIST thunderbird-78.11.0-pa-IN.xpi 633218 BLAKE2B 
782271f2f4c3858f3f7e4e9594210f2420f1116c28c2e28d7086194768c611c4f8cef2d26d6afa16a3449617eedef6395f54a1ad96136dde5763da5509744e20
 SHA512 
a0e5cceaa1b3a4278384c3653f463b9ba7829e24739cb6986b9e2bace54c4724e0747d72c7c8e7de4a0b06523e8722ccc21af3e2467580f2d8e375a62eb859d7
+DIST thunderbird-78.11.0-pl.xpi 637127 BLAKE2B 
15bd3782cd937d32665e078bf064b3d359625a546bf160e53ca19e3cb6d0628b68ba5bc2237cc2668e5812ff0fcda98271e5cdf848d5bea59588d23c6355c9e3
 SHA512 
e6f552fe5cfb51cd1b8fbaa5f5e59606ac032bc4316b694429da2357cc20f466bd2fb93b53e4e8c8397dcb0b688912f838acfea9312ea4c6f78d5874e1350a6b
+DIST thunderbird-78.11.0-pt-BR.xpi 649418 BLAKE2B 
5f12a096e4e8f4a1784c5de3042995f40e7bc389d935aabb2dfa6c90aaacfb4899d23ebe177b094fdc601303812096d4972fde661d34c407168c86300e43064a
 SHA512 
8c31c917ef14f6b9ad1064d268bb5c32ac8cda2e43586abbd4dd2e898dbd6699e0c7babd2f0e4607b2ae2ddbb099acda46deda11ef329bad7ed46162bda85454
+DIST thunderbird-78.11.0-pt-PT.xpi 655488 BLAKE2B 
34101f209071fbf439ed15b0ce1af5f16f5d07d9adcd84e15e64f2939177bcd192591ec3bcc962df3c6467d55b743867f4bcbecd330af667a758167b2129ac1b
 SHA512 
81db3d1f452b06e08e81f7c40d0fd5ee6887e8c1e618b676dba10a9deee720da318db8b52c9632ae1b727b75e7c3577a355779fe233319f53881ea4b393f5da3
+DIST thunderbird-78.11.0-rm.xpi 646533 BLAKE2B 
6ed3823c693a13accdf5293c55e61302f8747b43ded4b36dab0d28b31430174579cc6b8a37605a0ca3ebaf901ad00a15eb9e6fbe22822e17e9569b7d15b2597b
 SHA512 
e0831ee2236dadf6554021c7f4b80329532a39233fa94109d304993f72a9be6436e0ed2f3aeeff928342de1798d4aa225200cd42d517185f8bcb8dc7ee813cf8
+DIST thunderbird-78.11.0-ro.xpi 662634 BLAKE2B 
d0d396b81621aed365b580dc802f3fd8d70da2814190f87d0007620110f03fcd45cb501a6be7b5fe8f616a2b25c7a312512f51e936d1894300b919fde21b412d
 SHA512 
ac89bbe12cb3db1ab4afdb768ca7681a8620b8fd0ea13753806f8841e5f42b8e069cf8864b5b273e347068e30644c8cdfc748ef8aaecd16eac9e0d9d69b7f426
+DIST thunderbird-78.11.0-ru.xpi 756179 BLAKE2B 
97ae08626e6d3cb79549a922cc77d407087b089099bdb313748b35105018cb7dfe20c180ce33590988dea28763801a5883c73384234dacb04a258cbb5045c22d
 SHA512 
218d371689587addb7f58bf77800418e71865655a6b8a741a856ecd19664e714c5a706c28325871a455e14802d2ad19570e4dcc2ec36bb541030d1427a4e07c2
+DIST thunderbird-78.11.0-si.xpi 651107 BLAKE2B 
023dd3bfb33421ad40838de454d26c3273edc18f8c37a0a138ef9b31e360639d5fe4c7ecac13d045ef484c95255ac7c8560f7a89de6d3acacb3bd62ae1d718d8
 SHA512 
b4407aeb29a7dbb11ddb1af9b819b26d02c0cbc0b9f8479d8186d63ad2919ed1f93c3e1f4cdc1033944ac4611623bb9e4cd41e5695873bd0c16f466f0a200ff6
+DIST thunderbird-78.11.0-sk.xpi 643226 BLAKE2B 
4538fab12007f8bff1e398d91f4cd8a4ab5daec2a7a02f699fadd9352bf563de37984a2317cfa55979451b8e3ab139d0e9bff6b212895e35dfc47802323d96b8
 SHA512 
4c097c03a9c5f67d6c315f8d097760260986cf8cc299cbbe8e73c21cb1adccd9f27c91b420f6fd8dff07dfa1d9ef08ce8964dacc4ee2f27353fc6789c000ef5e
+DIST thunderbird-78.11.0-sl.xpi 632387 BLAKE2B 
0447e0295494f468d339f716a64155ae7bd06ffe1bfd85d123498b8f7f08946280cd24f07249128cff90677a4bdb38a93dc1494d091d99f193ee35e2c2e0b29c
 SHA512 
88a0188d61f53888221a62cd107c3cd140bea943e9ab04667a84d1fc4cb960e6e7a65b0415db77e5e16ff37edc80a0e4cbf2d1ec4f7cfd51aad4ac04d9715bff
+DIST thunderbird-78.11.0-sq.xpi 657820 BLAKE2B 
05dac5425b86dfccdaf9e6851173e57783b9dc542b04b94bc38ac1c26d85e0de2bb5f458a99cbf6e2c1e03e87b4066ef7a0029a75aac072adca1376441737417
 SHA512 
271b0e279809375bdc32017bee724483de054f8afd29ea467fad49e6ae867447fd63a4ab29997a2f2b50d3cd0b1a68367363e2c1f352729ab0d288fbb6451b84
+DIST thunderbird-78.11.0-sr.xpi 683118 BLAKE2B 
d3994161023a5e6d678cc32d8e192e3ee3e127b1b4cc0e2d060a3b126757f835f9c5ed2c5bcea1834bd779a412f7b38a02030b818f9dc11128dc4fcd4d892d45
 SHA512 
f9aba1f45d313d9c6eb6cb2177e218e21c1a6e9e7908675462893dae3354eda896e6ff8a00d3f634883165e01dea5a7550c752e348745489937d7179e3407049
+DIST thunderbird-78.11.0-sv-SE.xpi 648871 BLAKE2B 
c42ae9287630439a52b77d2ddf4dd00ee83ae7b85a9a7bd184e69b2d7ccbd11352098dfaa1164a1ee6ad3d8df72bd7a16a4991a6c1da4db6d00fd41ac0603d70
 SHA512 
708950a9bd38375e469f8e0006c4c63f867828f7324e847bc9116f2cdc59c73c4b8a0bfa65568c28d71163cd2cd13f73749590578145d809ee6306a627c17bc1
+DIST thunderbird-78.11.0-th.xpi 712040 BLAKE2B 
7d45cc692e84122fbb8abf265d000fddeea685059f93ae862fb0f49f9a6ee46af5f8c40cc06efc849b5704356c7ad2925addd087468216b715399bed14933638
 SHA512 
739f265f30e43ee707ac8b3f422b3665640133a5303a07ffcbc5c0f503bcc27236fdd43fa8650c18432ad7888d96ebcd1c6d7043d75be27c76723e02bd816671
+DIST thunderbird-78.11.0-tr.xpi 649072 BLAKE2B 
f2e78a3c0098b4b13d6f0c21a091843a77151785f3c054fead3a42c0a8524af9d3db4ea1fa67f8394dc7e713d4c67b15baef37be1c6fd8f7a8f31adddce7b42a
 SHA512 
d7c2015420542ce94419b3edd6a77fff5ce48206d8705ed83845725ef7f76b7e64d39c033bb419d61bc74fd0aae9472fd5be7670f186b0f778a61fb6d757a65a
+DIST thunderbird-78.11.0-uz.xpi 586597 BLAKE2B 
8b064a4ddadf316854546ed33c65aac119376f09091d42c22f47dd8f40ac210d12f5f1a8101b03f9113ed0e5c09e9ea3c21c95525c4a2a0bc2eaac195924c831
 SHA512 
72be001755d84ec39c00cf2d9a83d787d1716620da0c1a99b8f5ce793c89af89a8f49361a32ec4335c7a900da7ca718e3e38ddc80f81ae22786f158ff7c7ae07
+DIST thunderbird-78.11.0-vi.xpi 674611 BLAKE2B 
67834c7860979a438ed61056080b32c7be4416aebf87325172a15ff48f915a0d61c6a45e5cfc84c4aa74cd0f3776e5dc1476e187f7c07c5378abc010ac2af5ae
 SHA512 
336075fc449df3ac1a05d041d7fab80ca7c418cb43bbdb45df50b1a206dc95e0750f1b4b61da6d5473346e183f0c7525ef41de76dab9ff60ff8923b030a67486
+DIST thunderbird-78.11.0-zh-CN.xpi 687183 BLAKE2B 
9a18986ed58dec976e82f533a8a08cd6f374f20f3fe016ca8dff71fc01be7de0cebeb2cc311791bd41cee66f53f8f275a16cec376efe70848cb761daebdc87db
 SHA512 
53f81f5e5bfd20c3a6dd144d780e76016a58c0c60c034e7b7738a81d9ee6e702652ea8fb3e40861918e7606c6159ed09dd2e6ad7522a1d25f6c648fcc6c908f3
+DIST thunderbird-78.11.0-zh-TW.xpi 687626 BLAKE2B 
4822fd23fc0864238bbb85742fd9f9ce6a9f13384270a738d95f33defa5b07f453cd490d9df771a8fed594007512e40bbebf3434d29dad61319b35230d0e7229
 SHA512 
95eaa27e5877a3203ae0976bb349b38fd3d6ec0b44e0cc333e2573877d5482897d5ad4c888d8947c6d55ab3e6c2e17c21fe69c3aff3d3c81549e8f19918c0153
+DIST thunderbird-78.11.0.source.tar.xz 352417996 BLAKE2B 
8c8c972df68468a13c33526d076f40b02ef2b1568ae24a3b496cfca65647ff079c27117092c3e856f4b8ac535802619f7f01e14fd2804a37586006c4f6a12158
 SHA512 
c669439ae671a0a589f69902cced5685b8bab346c0ca3eeabd58d0449af338fb7a7a9189d6c2ef784f660c32278fee70766169d91293447eedef2e18a84f116a

diff --git a/mail-client/thunderbird/thunderbird-78.11.0.ebuild 
b/mail-client/thunderbird/thunderbird-78.11.0.ebuild
new file mode 100644
index 00000000000..281a2a6acb6
--- /dev/null
+++ b/mail-client/thunderbird/thunderbird-78.11.0.ebuild
@@ -0,0 +1,1108 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+FIREFOX_PATCHSET="firefox-78esr-patches-14.tar.xz"
+
+LLVM_MAX_SLOT=12
+
+PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="pgo"
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+       MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+       # Convert the ebuild version to the upstream Mozilla version
+       MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+       MOZ_PV="${MOZ_PV/_beta/b}"  # Handle beta for SRC_URI
+       MOZ_PV="${MOZ_PV%%_rc*}"    # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+       # ESR releases have slightly different version numbers
+       MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils llvm \
+       multiprocessing pax-utils python-any-r1 toolchain-funcs \
+       virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}";
+
+if [[ ${PV} == *_rc* ]] ; then
+       
MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}";
+fi
+
+PATCH_URIS=(
+       
https://dev.gentoo.org/~{axs,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> 
${MOZ_P_DISTFILES}.source.tar.xz
+       ${PATCH_URIS[@]}"
+
+DESCRIPTION="Thunderbird Mail Client"
+HOMEPAGE="https://www.mozilla.org/thunderbird";
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+SLOT="0/$(ver_cut 1)"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free
+       hardened hwaccel jack lto +openh264 pgo pulseaudio selinux
+       +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
+       +system-libvpx +system-webp wayland wifi"
+
+REQUIRED_USE="wifi? ( dbus )"
+
+BDEPEND="${PYTHON_DEPS}
+       app-arch/unzip
+       app-arch/zip
+       >=dev-util/cbindgen-0.14.3
+       >=net-libs/nodejs-10.21.0
+       virtual/pkgconfig
+       >=virtual/rust-1.41.0
+       || (
+               (
+                       sys-devel/clang:12
+                       sys-devel/llvm:12
+                       clang? (
+                               =sys-devel/lld-12*
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-12*[profile] )
+                       )
+               )
+               (
+                       sys-devel/clang:11
+                       sys-devel/llvm:11
+                       clang? (
+                               =sys-devel/lld-11*
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-11*[profile] )
+                       )
+               )
+               (
+                       sys-devel/clang:10
+                       sys-devel/llvm:10
+                       clang? (
+                               =sys-devel/lld-10*
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-10*[profile] )
+                       )
+               )
+       )
+       lto? (
+               !clang? ( sys-devel/binutils[gold] )
+       )
+       amd64? ( >=dev-lang/yasm-1.1 )
+       x86? ( >=dev-lang/yasm-1.1 )
+       !system-av1? (
+               amd64? ( >=dev-lang/nasm-2.13 )
+               x86? ( >=dev-lang/nasm-2.13 )
+       )"
+
+CDEPEND="
+       >=dev-libs/nss-3.53.1
+       >=dev-libs/nspr-4.25
+       dev-libs/atk
+       dev-libs/expat
+       >=x11-libs/cairo-1.10[X]
+       >=x11-libs/gtk+-2.18:2
+       >=x11-libs/gtk+-3.4.0:3[X]
+       x11-libs/gdk-pixbuf
+       >=x11-libs/pango-1.22.0
+       >=media-libs/libpng-1.6.35:0=[apng]
+       >=media-libs/mesa-10.2:*
+       media-libs/fontconfig
+       >=media-libs/freetype-2.4.10
+       kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
+       virtual/freedesktop-icon-theme
+       >=x11-libs/pixman-0.19.2
+       >=dev-libs/glib-2.26:2
+       >=sys-libs/zlib-1.2.3
+       >=dev-libs/libffi-3.0.10:=
+       media-video/ffmpeg
+       x11-libs/libX11
+       x11-libs/libXcomposite
+       x11-libs/libXdamage
+       x11-libs/libXext
+       x11-libs/libXfixes
+       x11-libs/libXrender
+       x11-libs/libXt
+       dbus? (
+               sys-apps/dbus
+               dev-libs/dbus-glib
+       )
+       system-av1? (
+               >=media-libs/dav1d-0.3.0:=
+               >=media-libs/libaom-1.0.0:=
+       )
+       system-harfbuzz? (
+               >=media-libs/harfbuzz-2.6.8:0=
+               >=media-gfx/graphite2-1.3.13
+       )
+       system-icu? ( >=dev-libs/icu-67.1:= )
+       system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
+       system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
+       system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+       system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+       wifi? (
+               kernel_linux? (
+                       sys-apps/dbus
+                       dev-libs/dbus-glib
+                       net-misc/networkmanager
+               )
+       )
+       jack? ( virtual/jack )
+       selinux? ( sec-policy/selinux-mozilla )"
+
+RDEPEND="${CDEPEND}
+       jack? ( virtual/jack )
+       openh264? ( media-libs/openh264:*[plugin] )
+       pulseaudio? (
+               || (
+                       media-sound/pulseaudio
+                       >=media-sound/apulse-0.1.12-r4
+               )
+       )
+       selinux? ( sec-policy/selinux-mozilla )
+       !<x11-plugins/enigmail-2.2"
+
+DEPEND="${CDEPEND}
+       pulseaudio? (
+               || (
+                       media-sound/pulseaudio
+                       >=media-sound/apulse-0.1.12-r4[sdk]
+               )
+       )
+       wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
+       amd64? ( virtual/opengl )
+       x86? ( virtual/opengl )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+llvm_check_deps() {
+       if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+               ewarn "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM 
slot ${LLVM_SLOT} ..." >&2
+               return 1
+       fi
+
+       if use clang ; then
+               if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
+                       ewarn "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot 
use LLVM slot ${LLVM_SLOT} ..." >&2
+                       return 1
+               fi
+
+               if use pgo ; then
+                       if ! has_version -b 
"=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
+                               ewarn 
"=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM 
slot ${LLVM_SLOT} ..." >&2
+                               return 1
+                       fi
+               fi
+       fi
+
+       einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+       af ar ast be bg br ca cak cs cy da de dsb el en-CA en-GB en-US
+       es-AR es-ES et eu fa fi fr fy-NL ga-IE gd gl he hr hsb hu hy-AM
+       id is it ja ka kab kk ko lt ms nb-NO nl nn-NO pa-IN pl pt-BR
+       pt-PT rm ro ru si sk sl sq sr sv-SE th tr uz vi zh-CN zh-TW
+)
+
+mozilla_set_globals() {
+       # https://bugs.gentoo.org/587334
+       local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+               fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+       )
+
+       local lang xflag
+       for lang in "${MOZ_LANGS[@]}" ; do
+               # en and en_US are handled internally
+               if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+                       continue
+               fi
+
+               # strip region subtag if $lang is in the list
+               if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+                       xflag=${lang%%-*}
+               else
+                       xflag=${lang}
+               fi
+
+               SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+               SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> 
${MOZ_P_DISTFILES}-${lang}.xpi"
+               SRC_URI+=" )"
+               IUSE+=" l10n_${xflag/[_@]/-}"
+       done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -ne 1 ]] ; then
+               die "${FUNCNAME} requires exact one argument"
+       fi
+
+       einfo "Clearing cargo checksums for ${1} ..."
+
+       sed -i \
+               -e 's/\("files":{\)[^}]*/\1/' \
+               "${S}"/third_party/rust/${1}/.cargo-checksum.json \
+               || die
+}
+
+moz_install_xpi() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local DESTDIR=${1}
+       shift
+
+       insinto "${DESTDIR}"
+
+       local emid xpi_file xpi_tmp_dir
+       for xpi_file in "${@}" ; do
+               emid=
+               xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+               # Unpack XPI
+               unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+               # Determine extension ID
+               if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+                       emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; 
s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+                       [[ -z "${emid}" ]] && die "failed to determine 
extension id from install.rdf"
+               elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+                       emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' 
"${xpi_tmp_dir}/manifest.json")
+                       [[ -z "${emid}" ]] && die "failed to determine 
extension id from manifest.json"
+               else
+                       die "failed to determine extension id"
+               fi
+
+               einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+               newins "${xpi_file}" "${emid}.xpi"
+       done
+}
+
+mozconfig_add_options_ac() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local reason=${1}
+       shift
+
+       local option
+       for option in ${@} ; do
+               echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+       done
+}
+
+mozconfig_add_options_mk() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local reason=${1}
+       shift
+
+       local option
+       for option in ${@} ; do
+               echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+       done
+}
+
+mozconfig_use_enable() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 1 ]] ; then
+               die "${FUNCNAME} requires at least one arguments"
+       fi
+
+       local flag=$(use_enable "${@}")
+       mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" 
"${flag}"
+}
+
+mozconfig_use_with() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 1 ]] ; then
+               die "${FUNCNAME} requires at least one arguments"
+       fi
+
+       local flag=$(use_with "${@}")
+       mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" 
"${flag}"
+}
+
+pkg_pretend() {
+       if [[ ${MERGE_TYPE} != binary ]] ; then
+               if use pgo ; then
+                       if ! has usersandbox $FEATURES ; then
+                               die "You must enable usersandbox as X server 
can not run as root!"
+                       fi
+               fi
+
+               # Ensure we have enough disk space to compile
+               if use pgo || use lto || use debug ; then
+                       CHECKREQS_DISK_BUILD="13500M"
+               else
+                       CHECKREQS_DISK_BUILD="6400M"
+               fi
+
+               check-reqs_pkg_pretend
+       fi
+}
+
+pkg_setup() {
+       if [[ ${MERGE_TYPE} != binary ]] ; then
+               if use pgo ; then
+                       if ! has userpriv ${FEATURES} ; then
+                               eerror "Building ${PN} with USE=pgo and 
FEATURES=-userpriv is not supported!"
+                       fi
+               fi
+
+               # Ensure we have enough disk space to compile
+               if use pgo || use lto || use debug ; then
+                       CHECKREQS_DISK_BUILD="13500M"
+               else
+                       CHECKREQS_DISK_BUILD="6400M"
+               fi
+
+               check-reqs_pkg_setup
+
+               llvm_pkg_setup
+
+               if use clang && use lto ; then
+                       local version_lld=$(ld.lld --version 2>/dev/null | awk 
'{ print $2 }')
+                       [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 
"${version_lld}")
+                       [[ -z ${version_lld} ]] && die "Failed to read ld.lld 
version!"
+
+                       # temp fix for https://bugs.gentoo.org/768543
+                       # we can assume that rust 1.{49,50}.0 always uses llvm 
11
+                       local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 
'release:' | awk '{ print $2 }')
+                       [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 
"${version_rust}")
+                       [[ -z ${version_rust} ]] && die "Failed to read version 
from rustc!"
+
+                       if ver_test "${version_rust}" -ge "1.49" && ver_test 
"${version_rust}" -le "1.50" ; then
+                               local version_llvm_rust="11"
+                       else
+                               local version_llvm_rust=$(rustc -Vv 2>/dev/null 
| grep -F -- 'LLVM version:' | awk '{ print $3 }')
+                               [[ -n ${version_llvm_rust} ]] && 
version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+                               [[ -z ${version_llvm_rust} ]] && die "Failed to 
read used LLVM version from rustc!"
+                       fi
+
+                       if ver_test "${version_lld}" -ne "${version_llvm_rust}" 
; then
+                               eerror "Rust is using LLVM version 
${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+                               eerror "You will be unable to link 
${CATEGORY}/${PN}. To proceed you have the following options:"
+                               eerror "  - Manually switch rust version using 
'eselect rust' to match used LLVM version"
+                               eerror "  - Switch to 
dev-lang/rust[system-llvm] which will guarantee matching version"
+                               eerror "  - Build ${CATEGORY}/${PN} without 
USE=lto"
+                               die "LLVM version used by Rust 
(${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+                       fi
+               fi
+
+               python-any-r1_pkg_setup
+
+               # Avoid PGO profiling problems due to enviroment leakage
+               # These should *always* be cleaned up anyway
+               unset \
+                       DBUS_SESSION_BUS_ADDRESS \
+                       DISPLAY \
+                       ORBIT_SOCKETDIR \
+                       SESSION_MANAGER \
+                       XAUTHORITY \
+                       XDG_CACHE_HOME \
+                       XDG_SESSION_COOKIE
+
+               # Build system is using /proc/self/oom_score_adj, bug #604394
+               addpredict /proc/self/oom_score_adj
+
+               if ! mountpoint -q /dev/shm ; then
+                       # If /dev/shm is not available, configure is known to 
fail with
+                       # a traceback report referencing 
/usr/lib/pythonN.N/multiprocessing/synchronize.py
+                       ewarn "/dev/shm is not mounted -- expect build 
failures!"
+               fi
+
+               # Google API keys (see 
http://www.chromium.org/developers/how-tos/api-keys)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+                       
MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+               fi
+
+               if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+                       
MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+               fi
+
+               # Mozilla API keys (see 
https://location.services.mozilla.com/api)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+                       
MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+               fi
+
+               # Ensure we use C locale when building, bug #746215
+               export LC_ALL=C
+       fi
+}
+
+src_unpack() {
+       local _lp_dir="${WORKDIR}/language_packs"
+       local _src_file
+
+       if [[ ! -d "${_lp_dir}" ]] ; then
+               mkdir "${_lp_dir}" || die
+       fi
+
+       for _src_file in ${A} ; do
+               if [[ ${_src_file} == *.xpi ]]; then
+                       cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die 
"Failed to copy '${_src_file}' to '${_lp_dir}'!"
+               else
+                       unpack ${_src_file}
+               fi
+       done
+}
+
+src_prepare() {
+       use lto && rm -v 
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
+       eapply "${WORKDIR}/firefox-patches"
+
+       # Allow user to apply any additional patches without modifing ebuild
+       eapply_user
+
+       # Make LTO respect MAKEOPTS
+       sed -i \
+               -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/build/moz.configure/lto-pgo.configure \
+               || die "sed failed to set num_cores"
+
+       # Make ICU respect MAKEOPTS
+       sed -i \
+               -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/intl/icu_sources_data.py \
+               || die "sed failed to set num_cores"
+
+       # sed-in toolchain prefix
+       sed -i \
+               -e "s/objdump/${CHOST}-objdump/" \
+               "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py 
\
+               || die "sed failed to set toolchain prefix"
+
+       sed -i \
+               -e 's/ccache_stats = None/return None/' \
+               "${S}"/python/mozbuild/mozbuild/controller/building.py \
+               || die "sed failed to disable ccache stats call"
+
+       einfo "Removing pre-built binaries ..."
+       find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) 
-print -delete || die
+
+       # Clearing checksums where we have applied patches
+       moz_clear_vendor_checksums target-lexicon-0.9.0
+
+       # Create build dir
+       BUILD_DIR="${WORKDIR}/${PN}_build"
+       mkdir -p "${BUILD_DIR}" || die
+
+       # Write API keys to disk
+       echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+       echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || 
die
+       echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+       xdg_src_prepare
+}
+
+src_configure() {
+       # Show flags set at the beginning
+       einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+       einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+       einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+       einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+       einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+       local have_switched_compiler=
+       if use clang && ! tc-is-clang ; then
+               # Force clang
+               einfo "Enforcing the use of clang due to USE=clang ..."
+               have_switched_compiler=yes
+               AR=llvm-ar
+               CC=${CHOST}-clang
+               CXX=${CHOST}-clang++
+               NM=llvm-nm
+               RANLIB=llvm-ranlib
+       elif ! use clang && ! tc-is-gcc ; then
+               # Force gcc
+               have_switched_compiler=yes
+               einfo "Enforcing the use of gcc due to USE=-clang ..."
+               AR=gcc-ar
+               CC=${CHOST}-gcc
+               CXX=${CHOST}-g++
+               NM=gcc-nm
+               RANLIB=gcc-ranlib
+       fi
+
+       if [[ -n "${have_switched_compiler}" ]] ; then
+               # Because we switched active compiler we have to ensure
+               # that no unsupported flags are set
+               strip-unsupported-flags
+       fi
+
+       # Ensure we use correct toolchain
+       export HOST_CC="$(tc-getBUILD_CC)"
+       export HOST_CXX="$(tc-getBUILD_CXX)"
+       tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
+
+       # Pass the correct toolchain paths through cbindgen
+       if tc-is-cross-compiler ; then
+               export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} 
--target=${CHOST} ${BINDGEN_CFLAGS-}"
+       fi
+
+       # Set MOZILLA_FIVE_HOME
+       export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+       # python/mach/mach/mixin/process.py fails to detect SHELL
+       export SHELL="${EPREFIX}/bin/bash"
+
+       # Set MOZCONFIG
+       export MOZCONFIG="${S}/.mozconfig"
+
+       # Initialize MOZCONFIG
+       mozconfig_add_options_ac '' --enable-application=comm/mail
+       mozconfig_add_options_ac '' --enable-calendar
+
+       # Set Gentoo defaults
+       export MOZILLA_OFFICIAL=1
+
+       mozconfig_add_options_ac 'Gentoo default' \
+               --allow-addon-sideload \
+               --disable-cargo-incremental \
+               --disable-crashreporter \
+               --disable-install-strip \
+               --disable-strip \
+               --disable-updater \
+               --enable-official-branding \
+               --enable-release \
+               --enable-system-ffi \
+               --enable-system-pixman \
+               --host="${CBUILD:-${CHOST}}" \
+               --libdir="${EPREFIX}/usr/$(get_libdir)" \
+               --prefix="${EPREFIX}/usr" \
+               --target="${CHOST}" \
+               --without-ccache \
+               --with-intl-api \
+               --with-libclang-path="$(llvm-config --libdir)" \
+               --with-system-nspr \
+               --with-system-nss \
+               --with-system-png \
+               --with-system-zlib \
+               --with-toolchain-prefix="${CHOST}-" \
+               --with-unsigned-addon-scopes=app,system \
+               --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
+               --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
+
+       # Set update channel
+       local update_channel=release
+       [[ -n ${MOZ_ESR} ]] && update_channel=esr
+       mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+       if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+               mozconfig_add_options_ac '' --enable-rust-simd
+       fi
+
+       if [[ -s "${S}/api-google.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 
}') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       
--with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+       else
+               einfo "Building without Google API key ..."
+       fi
+
+       if [[ -s "${S}/api-location.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 
}') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       
--with-google-location-service-api-keyfile="${S}/api-location.key"
+       else
+               einfo "Building without Location API key ..."
+       fi
+
+       if [[ -s "${S}/api-mozilla.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 
}') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+       else
+               einfo "Building without Mozilla API key ..."
+       fi
+
+       mozconfig_use_with system-av1
+       mozconfig_use_with system-harfbuzz
+       mozconfig_use_with system-harfbuzz system-graphite2
+       mozconfig_use_with system-icu
+       mozconfig_use_with system-jpeg
+       mozconfig_use_with system-libevent system-libevent 
"${SYSROOT}${EPREFIX}/usr"
+       mozconfig_use_with system-libvpx
+       mozconfig_use_with system-webp
+
+       mozconfig_use_enable dbus
+
+       use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+       if use hardened ; then
+               mozconfig_add_options_ac "+hardened" --enable-hardening
+               append-ldflags "-Wl,-z,relro -Wl,-z,now"
+       fi
+
+       mozconfig_use_enable jack
+
+       mozconfig_use_enable pulseaudio
+       # force the deprecated alsa sound code if pulseaudio is disabled
+       if use kernel_linux && ! use pulseaudio ; then
+               mozconfig_add_options_ac '-pulseaudio' --enable-alsa
+       fi
+
+       mozconfig_use_enable wifi necko-wifi
+
+       if use wayland ; then
+               mozconfig_add_options_ac '+wayland' 
--enable-default-toolkit=cairo-gtk3-wayland
+       else
+               mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
+       fi
+
+       if use lto ; then
+               if use clang ; then
+                       # Upstream only supports lld when using clang
+                       mozconfig_add_options_ac "forcing ld=lld due to 
USE=clang and USE=lto" --enable-linker=lld
+
+                       mozconfig_add_options_ac '+lto' --enable-lto=cross
+               else
+                       # Linking only works when using ld.gold when LTO is 
enabled
+                       mozconfig_add_options_ac "forcing ld=gold due to 
USE=lto" --enable-linker=gold
+
+                       # ThinLTO is currently broken, see bmo#1644409
+                       mozconfig_add_options_ac '+lto' --enable-lto=full
+               fi
+
+               if use pgo ; then
+                       mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+                       if use clang ; then
+                               # Used in build/pgo/profileserver.py
+                               export LLVM_PROFDATA="llvm-profdata"
+                       fi
+               fi
+       else
+               # Avoid auto-magic on linker
+               if use clang ; then
+                       # This is upstream's default
+                       mozconfig_add_options_ac "forcing ld=lld due to 
USE=clang" --enable-linker=lld
+               elif tc-ld-is-gold ; then
+                       mozconfig_add_options_ac "linker is set to gold" 
--enable-linker=gold
+               else
+                       mozconfig_add_options_ac "linker is set to bfd" 
--enable-linker=bfd
+               fi
+       fi
+
+       # LTO flag was handled via configure
+       filter-flags '-flto*'
+
+       mozconfig_use_enable debug
+       if use debug ; then
+               mozconfig_add_options_ac '+debug' --disable-optimize
+       else
+               if is-flag '-g*' ; then
+                       if use clang ; then
+                               mozconfig_add_options_ac 'from CFLAGS' 
--enable-debug-symbols=$(get-flag '-g*')
+                       else
+                               mozconfig_add_options_ac 'from CFLAGS' 
--enable-debug-symbols
+                       fi
+               else
+                       mozconfig_add_options_ac 'Gentoo default' 
--disable-debug-symbols
+               fi
+
+               if is-flag '-O0' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O0
+               elif is-flag '-O4' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O4
+               elif is-flag '-O3' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O3
+               elif is-flag '-O1' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O1
+               elif is-flag '-Os' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-Os
+               else
+                       mozconfig_add_options_ac "Gentoo default" 
--enable-optimize=-O2
+               fi
+       fi
+
+       # Debug flag was handled via configure
+       filter-flags '-g*'
+
+       # Optimization flag was handled via configure
+       filter-flags '-O*'
+
+       # Modifications to better support ARM, bug #553364
+       if use cpu_flags_arm_neon ; then
+               mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
+
+               if ! tc-is-clang ; then
+                       # thumb options aren't supported when using clang, bug 
666966
+                       mozconfig_add_options_ac '+cpu_flags_arm_neon' \
+                               --with-thumb=yes \
+                               --with-thumb-interwork=no
+               fi
+       fi
+
+       if [[ ${CHOST} == armv*h* ]] ; then
+               mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
+
+               if ! use system-libvpx ; then
+                       sed -i \
+                               -e "s|softfp|hard|" \
+                               "${S}"/media/libvpx/moz.build \
+                               || die
+               fi
+       fi
+
+       if use clang ; then
+               # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
+               # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
+               # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 
'x86', 'x86_64')
+               local disable_elf_hack=
+               if use amd64 ; then
+                       disable_elf_hack=yes
+               elif use x86 ; then
+                       disable_elf_hack=yes
+               elif use arm ; then
+                       disable_elf_hack=yes
+               fi
+
+               if [[ -n ${disable_elf_hack} ]] ; then
+                       mozconfig_add_options_ac 'elf-hack is broken when using 
Clang' --disable-elf-hack
+               fi
+       elif tc-is-gcc ; then
+               if ver_test $(gcc-fullversion) -ge 10 ; then
+                       einfo "Forcing -fno-tree-loop-vectorize to workaround 
GCC bug, see bug 758446 ..."
+                       append-cxxflags -fno-tree-loop-vectorize
+               fi
+       fi
+
+       # Additional ARCH support
+       case "${ARCH}" in
+               arm)
+                       # Reduce the memory requirements for linking
+                       if use clang ; then
+                               # Nothing to do
+                               :;
+                       elif tc-ld-is-gold || use lto ; then
+                               append-ldflags -Wl,--no-keep-memory
+                       else
+                               append-ldflags -Wl,--no-keep-memory 
-Wl,--reduce-memory-overheads
+                       fi
+                       ;;
+       esac
+
+       if ! use elibc_glibc ; then
+               mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+       fi
+
+       # Allow elfhack to work in combination with unstripped binaries
+       # when they would normally be larger than 2GiB.
+       append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+       # Make revdep-rebuild.sh happy; Also required for musl
+       append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+       # Pass $MAKEOPTS to build system
+       export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+       # Use system's Python environment
+       export MACH_USE_SYSTEM_PYTHON=1
+
+       # Disable notification when build system has finished
+       export MOZ_NOSPAM=1
+
+       # Build system requires xargs but is unable to find it
+       mozconfig_add_options_mk 'Gentoo default' 
"XARGS=${EPREFIX}/usr/bin/xargs"
+
+       # Set build dir
+       mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+       # Show flags we will use
+       einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+       einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+       einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+       einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+       einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+       # Handle EXTRA_CONF and show summary
+       local ac opt hash reason
+
+       # Apply EXTRA_ECONF entries to $MOZCONFIG
+       if [[ -n ${EXTRA_ECONF} ]] ; then
+               IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+               for opt in "${ac[@]}"; do
+                       mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+               done
+       fi
+
+       echo
+       echo "=========================================================="
+       echo "Building ${PF} with the following configuration"
+       grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+               [[ -z ${hash} || ${hash} == \# ]] \
+                       || die "error reading mozconfig: ${ac} ${opt} ${hash} 
${reason}"
+               printf "    %-30s  %s\n" "${opt}" "${reason:-mozilla.org 
default}"
+       done
+       echo "=========================================================="
+       echo
+
+       ./mach configure || die
+}
+
+src_compile() {
+       local virtx_cmd=
+
+       if use pgo ; then
+               virtx_cmd=virtx
+
+               # Reset and cleanup environment variables used by GNOME/XDG
+               gnome2_environment_reset
+
+               addpredict /root
+       fi
+
+       local -x GDK_BACKEND=x11
+
+       ${virtx_cmd} ./mach build --verbose \
+               || die
+}
+
+src_install() {
+       # xpcshell is getting called during install
+       pax-mark m \
+               "${BUILD_DIR}"/dist/bin/xpcshell \
+               "${BUILD_DIR}"/dist/bin/${PN} \
+               "${BUILD_DIR}"/dist/bin/plugin-container
+
+       DESTDIR="${D}" ./mach install || die
+
+       # Upstream cannot ship symlink but we can (bmo#658850)
+       rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+       dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+       # Don't install llvm-symbolizer from sys-devel/llvm package
+       if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+               rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+       fi
+
+       # Install policy (currently only used to disable application updates)
+       insinto "${MOZILLA_FIVE_HOME}/distribution"
+       newins "${FILESDIR}"/distribution.ini distribution.ini
+       newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+       # Install system-wide preferences
+       local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref"
+       insinto "${PREFS_DIR}"
+       newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+       local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+       # Set dictionary path to use system hunspell
+       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
spellchecker.dictionary_path pref"
+       pref("spellchecker.dictionary_path",       
"${EPREFIX}/usr/share/myspell");
+       EOF
+
+       # Force hwaccel prefs if USE=hwaccel is enabled
+       if use hwaccel ; then
+               cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
+               >>"${GENTOO_PREFS}" \
+               || die "failed to add prefs to force hardware-accelerated 
rendering to all-gentoo.js"
+       fi
+
+       # Force the graphite pref if USE=system-harfbuzz is enabled, since the 
pref cannot disable it
+       if use system-harfbuzz ; then
+               cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
gfx.font_rendering.graphite.enabled pref"
+               sticky_pref("gfx.font_rendering.graphite.enabled", true);
+               EOF
+       fi
+
+       # Install language packs
+       local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name 
'*.xpi') )
+       if [[ -n "${langpacks}" ]] ; then
+               moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" 
"${langpacks[@]}"
+       fi
+
+       # Install icons
+       local icon_srcdir="${S}/comm/mail/branding/thunderbird"
+       local icon_symbolic_file="${icon_srcdir}/TB-symbolic.svg"
+
+       insinto /usr/share/icons/hicolor/symbolic/apps
+       newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+       local icon size
+       for icon in "${icon_srcdir}"/default*.png ; do
+               size=${icon%.png}
+               size=${size##*/default}
+
+               if [[ ${size} -eq 48 ]] ; then
+                       newicon "${icon}" ${PN}.png
+               fi
+
+               newicon -s ${size} "${icon}" ${PN}.png
+       done
+
+       # Install menus
+       local wrapper_wayland="${PN}-wayland.sh"
+       local wrapper_x11="${PN}-x11.sh"
+       local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop"
+       local display_protocols="auto X11"
+       local icon="${PN}"
+       local name="Mozilla ${MOZ_PN^}"
+       local use_wayland="false"
+
+       if use wayland ; then
+               display_protocols+=" Wayland"
+               use_wayland="true"
+       fi
+
+       local app_name desktop_filename display_protocol exec_command
+       for display_protocol in ${display_protocols} ; do
+               app_name="${name} on ${display_protocol}"
+               desktop_filename="${PN}-${display_protocol,,}.desktop"
+
+               case ${display_protocol} in
+                       Wayland)
+                               exec_command="${PN}-wayland --name 
${PN}-wayland"
+                               newbin "${FILESDIR}/${wrapper_wayland}" 
${PN}-wayland
+                               ;;
+                       X11)
+                               if ! use wayland ; then
+                                       # Exit loop here because there's no 
choice so
+                                       # we don't need wrapper/.desktop file 
for X11.
+                                       continue
+                               fi
+
+                               exec_command="${PN}-x11 --name ${PN}-x11"
+                               newbin "${FILESDIR}/${wrapper_x11}" ${PN}-x11
+                               ;;
+                       *)
+                               app_name="${name}"
+                               desktop_filename="${PN}.desktop"
+                               exec_command="${PN}"
+                               ;;
+               esac
+
+               cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+               sed -i \
+                       -e "s:@NAME@:${app_name}:" \
+                       -e "s:@EXEC@:${exec_command}:" \
+                       -e "s:@ICON@:${icon}:" \
+                       "${WORKDIR}/${PN}.desktop-template" \
+                       || die
+
+               newmenu "${WORKDIR}/${PN}.desktop-template" 
"${desktop_filename}"
+
+               rm "${WORKDIR}/${PN}.desktop-template" || die
+       done
+
+       # Install generic wrapper script
+       [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+       newbin "${FILESDIR}/${PN}.sh" ${PN}
+
+       # Update wrapper
+       local wrapper
+       for wrapper in \
+               "${ED}/usr/bin/${PN}" \
+               "${ED}/usr/bin/${PN}-x11" \
+               "${ED}/usr/bin/${PN}-wayland" \
+       ; do
+               [[ ! -f "${wrapper}" ]] && continue
+
+               sed -i \
+                       -e "s:@PREFIX@:${EPREFIX}/usr:" \
+                       -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+                       -e "s:@APULSELIB_DIR@:${apulselib}:" \
+                       -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+                       "${wrapper}" \
+                       || die
+       done
+}
+
+pkg_preinst() {
+       xdg_pkg_preinst
+
+       # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+       # does not need to be forced into the LD_LIBRARY_PATH
+       if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+               einfo "APULSE found; Generating library symlinks for sound 
support ..."
+               local lib
+               pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+               for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+                       # A quickpkg rolled by hand will grab symlinks as part 
of the package,
+                       # so we need to avoid creating them if they already 
exist.
+                       if [[ ! -L ${lib##*/} ]] ; then
+                               ln -s "${lib}" ${lib##*/} || die
+                       fi
+               done
+               popd &>/dev/null || die
+       fi
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+
+       if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+               elog "Apulse was detected at merge time on this system and so 
it will always be"
+               elog "used for sound.  If you wish to use pulseaudio instead 
please unmerge"
+               elog "media-sound/apulse."
+               elog
+       fi
+
+       local show_doh_information
+
+       if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+               # New install; Tell user that DoH is disabled by default
+               show_doh_information=yes
+       fi
+
+       if [[ -n "${show_doh_information}" ]] ; then
+               elog
+               elog "Note regarding Trusted Recursive Resolver aka 
DNS-over-HTTPS (DoH):"
+               elog "Due to privacy concerns (encrypting DNS might be a good 
thing, sending all"
+               elog "DNS traffic to Cloudflare by default is not a good idea 
and applications"
+               elog "should respect OS configured settings), 
\"network.trr.mode\" was set to 5"
+               elog "(\"Off by choice\") by default."
+               elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
+       fi
+}

Reply via email to