commit:     77f4ecad5a864af8bd15b7d2e019e5d3620fc37f
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 25 14:08:46 2021 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Thu Mar 25 14:29:56 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=77f4ecad

mail-client/thunderbird: bump to v78.9.0

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

 mail-client/thunderbird/Manifest                  |   65 ++
 mail-client/thunderbird/thunderbird-78.9.0.ebuild | 1100 +++++++++++++++++++++
 2 files changed, 1165 insertions(+)

diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest
index f0ec57fd579..bf7d493b432 100644
--- a/mail-client/thunderbird/Manifest
+++ b/mail-client/thunderbird/Manifest
@@ -64,3 +64,68 @@ DIST thunderbird-78.8.1-vi.xpi 674607 BLAKE2B 
4e9171f411c664f28acf7cf5dfc592c225
 DIST thunderbird-78.8.1-zh-CN.xpi 687180 BLAKE2B 
f280eb1c9255c51a3e0e9a3fece514bc65c219cc6665ec0013af78073420c2fbefb342293817bbba422011889e0389af4984855fe57c549e60a3ca43761bd46f
 SHA512 
67636461fedbaa03c78f3e8015cb423c9186459fdb7dc4ebfc23b6b8caa079d873a726ec875036afbb9458cea84b959f1242e2fe9917a4d53b55b428172dacb5
 DIST thunderbird-78.8.1-zh-TW.xpi 687625 BLAKE2B 
6ccafd9cb5d2991143dead267bb7515ec23d8d9e491ec694641dfa182eb2f49b104553a9e918557edee2f0a85993526ca43c2a2ea6b15bd3a9a54b35b2235a53
 SHA512 
86e3f9c6fa84268ed79568cdb3003fee3420f2f8205492fd87eee972bbda94556f2e3c8d241bd028b174834f84f957738e0ef1f238a963c49aa589b5d9563aed
 DIST thunderbird-78.8.1.source.tar.xz 352875768 BLAKE2B 
cbc099669575a198d7c0ef1663848327f52fe1fe30473122075dd4e5e4327c006e03ef6b5bb9e741c782276dd5c8b43fbec16d8a11369c684a252241ec3ca931
 SHA512 
5158f7663acf3d00f45b457d1c172dcc95978d6782775faa4ec3995d3a799dfce668302e2c4b963a5607add831314fac76d516e45863a1971fbd4a6b0c4bdb10
+DIST thunderbird-78.9.0-af.xpi 548347 BLAKE2B 
182a980ce57ac8eddc252461352b85149e8490f086f15f5481dc5afef81bd5694a12e6db2a2adb425a26ec1a8c806b01e6a5341e9da0065ce43b90b866afe77f
 SHA512 
36ae4ccc440941b8aaf5a14f0f132967555f3588f039ac4846ed681f0478771a90ff28645aae9f720bbb9cedd942f03538adfcb346c60b76ebe7121b1b9356b2
+DIST thunderbird-78.9.0-ar.xpi 648600 BLAKE2B 
b7c896823b8c3f758bad49d2b3f6c505b48c630dd7cb14385c1d31716e230485de12219b36724661db6b850e1edd380d0d519d1798d48b4f245f6158d4ddab9b
 SHA512 
97c5d201e881643f9a7dfd282548063e09799370f631f6f0516c9953404c8f2ea98266000e57dfb544a8e5fc691ce18a5620b94e580a992ece8994949da566ef
+DIST thunderbird-78.9.0-ast.xpi 561257 BLAKE2B 
642540f13de3ad883887441bb1493407853ad6b40f91ba13dceb36493c12773c7c12c2a0ff1595872bb0d868f0700ea0f70a21419666a84bafc602f77202d55c
 SHA512 
5063dba84c3877fdabf0b5c619da1ca8adce88ee87effc7f5bf200a03d824f3e7f370df35e6a075d2461ef66715b5069bc6f95e047f8951bfed7b0ec6b41deb4
+DIST thunderbird-78.9.0-be.xpi 666665 BLAKE2B 
8bc6bc45e941a8d38e1e5dfd89d6cebdfce42f7515c2b283d263fe09bf20a533d45a5ccf830de0a8ce8ee125766b57f243a26740a3ae05d4d1a1600288f7639e
 SHA512 
e94afe457d1faefb5d931d3015422bf98eafee448a2ad33b4a4486b89f5906dc962d68f394ed1d7212d8406d259a2ca06b82968cf75d903cb59f000af23db69a
+DIST thunderbird-78.9.0-bg.xpi 672413 BLAKE2B 
d48b2195b291f1d571d63a0474738c9a766f5e8b7e0ba3c64672257f871cd46a8e6359d94314cd5c26eb17729bc071dea67aa8fd8b0a15100cf9d726fb181a77
 SHA512 
fcd90ac526e613ed3679fc7a09b8f23e9612f1fd8d114036d4098c118174ff0ee06b1546bc429c9fe63d7fdd2069c1529cf897221462a81413b01e34b4a5f2aa
+DIST thunderbird-78.9.0-br.xpi 604524 BLAKE2B 
64ea9771b840f24e3a9e8632d89b9c2208488fc155815188045f49d4e6472cbf490a6b84b9ea03e2ce65cae78ce8cded9edf9c5daaa13a5866f3080c99929daa
 SHA512 
16460190add098c7d226cb93091972cea4df4bc35b3bc482d8f9ff9b044a1e4463fd6ad6da8d6e6351efc064191430a0a9fc7e18b3e9a1f0051079855b6918d0
+DIST thunderbird-78.9.0-ca.xpi 620450 BLAKE2B 
3cb17ed7698b42ca2cacf91d4fbade9af6b7e65bd89ed97c9336d3ccf3d4e07af6dc2d4af970e7dd9bd2e1955de33e3f24814e4ca26e3d10cf7c8ebc106aa8bb
 SHA512 
e681a9c811f7619ae39942589e993725bf4a6c60395b0235ff193f3d8ed9b64811a6a1f135413b17cf662a94faec88dbd89499ce0330ddc72bef64fa3e3d165e
+DIST thunderbird-78.9.0-cak.xpi 635650 BLAKE2B 
b213b618ee62e13251d0ea746a93cd02fdd88ecc071f75005f0ca75808afa6809abb3e76f21d1ceed5303754afa1f6723138696439f8cade2e7eb79f637a8427
 SHA512 
e5ad94ac51ad4d80977a8b5a8e118b8385835d903813b545f058416c2bba066489cb183f6462f58022094d2fdea02215868ff79ef6ce345ed53bcdbb62176fe7
+DIST thunderbird-78.9.0-cs.xpi 635344 BLAKE2B 
edfcf1cc4e634f40627614a6876e5146b77ba1c32453ba861735c83e8a1b2fd58a8df244a182016603c4321ea28b0ac1cb28c45dee697ccb1c3201423f8aec2e
 SHA512 
957ecae3023b4fbc2a68bc93840b979831a93a002ebc9917ce5420d6ec41cb6aea7184beea32d5abbbd58a7141fa436307f3294ed01d53359aad60177732dfcf
+DIST thunderbird-78.9.0-cy.xpi 646247 BLAKE2B 
62455f1010cf4dc3ee958b9810e6bb925e810b10ac09fcaccd12a9975abc5823822cfaedecd0c0a93d51218a95efb4c8d8ccf1053f14188de56524bdba921330
 SHA512 
a0cb8166c3cd7c040e99c2466e0f240bf54347716ba08eaae7d43464c6a4fb00085aa06deacb64e1f6cb4141d91f1834fce738570ab15f1df64d8a59f00201fa
+DIST thunderbird-78.9.0-da.xpi 620991 BLAKE2B 
7e08397177b95b35effbfc842df6ef0d239e5898f428fd437729f88e3ceba9910cf502dda5a768b8dc22a75df8d80f16a69df05ba7d1ea6b2a6ce67720a6c172
 SHA512 
b773210ed3589e5f4751e6c7d840de8fdc79ae6518b13fe6e0ce1557a5a3f039faa8d9ac23cb52db45ab6e80982830cb79b8c20497709336cd299558fef33edf
+DIST thunderbird-78.9.0-de.xpi 665197 BLAKE2B 
18985164ca4204d5542ab705d67c0ec3270534e3792466aa65027cf10d555a7ec793c35f6183edb5b78a341c5d68a1fbf98dd5e12a628ea48a45acb7ba99e598
 SHA512 
32551947502cd22e574c6e1c927d1ca345a380fb310aa74daa150170b9b41f0b395cefc03fdb79b28190dc1a7c52c3d1af520abb7f664758aa4e17fb9b9e6c76
+DIST thunderbird-78.9.0-dsb.xpi 666772 BLAKE2B 
e387c4e615927b4c7e65e8d6d043f20b6ead6848b6ddfe30d793befa00f8f0afc12e76c368f93ed2c4073dfac1b3085613a3cbd2f09113113e801c6f787f6a08
 SHA512 
88ba3d7d219545647c2e089052ad083cb3f7a192b6bd08485b2c27e89b397430def2c7506f179896bddfc8613653d435d2ee707e74cba6f550216847027e24bf
+DIST thunderbird-78.9.0-el.xpi 774447 BLAKE2B 
d8e1f8e4fb07a74817ec13a2c15f123769da2ed6601e61ef2ddf7435aa988e8c44ba16409917eecd9774a68ca4bc9e47a7d74adb0f1b35444f4f48e404fa31e2
 SHA512 
a6c19306f0beedc03253d104a0bcf9b427626d140e7ad25ee6aefed620c544a64eaf4cae9eb5665d2e62d0f9d2119c0d4135ec43c77516d64bbe669ad8c9c9c3
+DIST thunderbird-78.9.0-en-CA.xpi 611776 BLAKE2B 
3e0d2c77306d62bd3bcd7a84fa97b94afac23451f40df4547b94a11624e0613b439f5e2d431c522e07e26557ba2a453ca66650ebb520a3273f3f58789e3296ef
 SHA512 
ccf7ff58b978cedd0f2a81143732dec9e046374db6290f86225a7ae731357755071cb816aa8a04bd9095ec0a3e64e49c9982ec70bb701cf7d5e96428ab560e2f
+DIST thunderbird-78.9.0-en-GB.xpi 611179 BLAKE2B 
31a43f9adc51cf4acc0f2708982c546bd381d4a63c578259d63fece1179201d0ecf057f12fb12b167c2d461cd13d016c716faf9422bcdb911f6918e08daead67
 SHA512 
e19fa80a5df2b75747b3c8fdd40f756d1150a0a8573545a349c3f5a7606b3a7d8646090c2382cc4da5e01d736457df7f38c8dff3ec8b667838268a6e09bf91ac
+DIST thunderbird-78.9.0-es-AR.xpi 657788 BLAKE2B 
d6cc7126be0bf0b3e3bd3fa0774920429782133c97962ccf3363579ada02394820575af1a13506f8b0bd49d6b65823d4231ab60f8f36a94e3dcc3f3045f00fc9
 SHA512 
10f6b1fe4429c0bd06b0958084b2707590a488b97f5dcbae1bd4c9789fc968160c13402b997b3eb18a0f4d0a88df885313897f6a9d16d1da2c4cf2bebbdb6a51
+DIST thunderbird-78.9.0-es-ES.xpi 569802 BLAKE2B 
243ce4815436a44a03e33f0e3b37af64f0cf942229eee322ec4d668840370e92f4456e7573fc32b7061c1de05742b8f643908a155561d9508d846a5128453818
 SHA512 
e4ed0a1af4477733d3ab47a63c621aead2724c289ae90509f543898c691af0fa72a6fff9c2e4a75e6c93194e4abbb567047fe81d079aa6c5e5a94b4cdd778dd7
+DIST thunderbird-78.9.0-et.xpi 597736 BLAKE2B 
3b8c72093a59de19e59c56953df394aa6cd83b0694a2163d94555e45d04734c3bedfaf40a77560bd27d51fcec736bc65e36a5a1fd8628d4708f2215d0c265b2f
 SHA512 
dac4322bf74aa6fbeacad934d70c0bfb31d682d9f0cb58b9beedc6db3e8d34a69df28cecf2b4d99c1a59dfa6c7f600fd6bdadd79058d5e2743f31534d18cf6bf
+DIST thunderbird-78.9.0-eu.xpi 632971 BLAKE2B 
d7ec7dae741bff1e4a97161a0fe837a2607f4d1b7f9e54e815bfc744d77b3490133382fdfda20dbeefdc5a94f4b69ba6d23c9f2e1ef24af4395b95ba91d88d18
 SHA512 
febbd58bd34007b6c06c646b4ac9b753d63cd958c937ea4cc67c131907c133cb0a86598fc8d114cf708cfa585c7c1332b4b7109fb88870c5e334f0ea4ac41936
+DIST thunderbird-78.9.0-fa.xpi 639750 BLAKE2B 
d8848e20bc292af94feef474504ea1dfc4820fdbb70cc36719fa8b66de23330d8b4bd73cad106ce190781d533dd0b5438020b8c1c03aaa05b47b287af3accaef
 SHA512 
69fee2afe19c5eeba680b2c573d51771feaabcfee0842526714a601c41b650bf6c7978399f2acb1677b003df8aaa09cfb1be3af8bbbd3fd76e181a0242669e8f
+DIST thunderbird-78.9.0-fi.xpi 642454 BLAKE2B 
8d9850cbc6a7215455093669ac043f35e68853f14c49aee0f21c7bc9c0544e0587c110072e988358ad64f8d8484f707e11f2b40f48e0152a17b9002b0bcbae12
 SHA512 
745133e2e16d56ca655c8dbeabe772ea30315f8265e6552a63bf0a83819d650059930402cbbb30bdae86c1db2a4806aaf8e47144e7eb2b60ec691012cc1b6bd0
+DIST thunderbird-78.9.0-fr.xpi 669489 BLAKE2B 
6672e2c55e4c1877fe5249fdf0963945d8b28fe94b5c39e5b89963ec478185efb7cbfc8822f00b5fa481cfa16f963eaf2b10a076f429aec5691be5b4528d71f5
 SHA512 
fc2115befcce6f27062a9de9d84ed54306a3f2ebdf2aeb0853e643982bc32a79be0aad81b9ccd835288186a2db19b939019013cb56cea47ed0be39909844d60f
+DIST thunderbird-78.9.0-fy-NL.xpi 653072 BLAKE2B 
2e8ae2393583a2f8728c1faf99bc05f7a818f844056c6e8dfb94c30c76c6a810d8a8b939a4b2a1ec7a8ea3ef6666de09243bbdcafa4033c9ee3af56f058ebdc0
 SHA512 
89795c1f4a2b782727c6d25b9d681638b8e03b480e4d7fcf9bc4a3c2d62d73eda0c50be806c93803af6dbafc45393458ce7028839cc1a7c41e6fa6cc99492c2c
+DIST thunderbird-78.9.0-ga-IE.xpi 600714 BLAKE2B 
305f7c76e81277b5f237d37650f076ba0e344cd644f20ce50d6e37298c7c0ef0dd7d842970d048ca1a8a7f44951e8939ed38a92017db9a7c5b0ff2151dac8c80
 SHA512 
d1e161f9b84719eba75d39949cbda2f2bbafc1d4e7ca3584fd2a3deed16312d177552ea99b4c39e017839423808e283038bbce6f5655ad735ad76ebeec96fdbc
+DIST thunderbird-78.9.0-gd.xpi 609387 BLAKE2B 
e63755ad6573895e9f6aa920e4855352a872c52d40c7fd47dd9a37948d5704aa5a02405ef4a5cba107b1d62856def01c59696fde8e2dfcb47a9bcd3f17f2ba06
 SHA512 
3837d40c3f17327ca95592079598f1cdd194dd8a97526a5a978b2c295f74d89d5751f2f2db614697bd4134ff05464b845a5520272f6ed27a37f20d39bec604dd
+DIST thunderbird-78.9.0-gl.xpi 615721 BLAKE2B 
23c6bca6d134b217645ddede225b266ee788c1ccc6ccf8dec0cee820c39bd3978df6636300090d0f44130f76c100b78eb944eea9fe93cd7dee7d4ccc76c224ae
 SHA512 
e6248833d5357d1124f109358af24a9050c45d30c2f709d325f6f61acc27f0cdb57178e9fe8b7c2e81f2a318d4c2373b98ec3c128c0be438b24730dc60929cae
+DIST thunderbird-78.9.0-he.xpi 640488 BLAKE2B 
95f11ab6407eb1ac3df6a6813f4c2e013111693de46ed7666e438819d36985385d8b7849634eb54c2523f8986203ef1aa54e67fea83746e42f0ed89e6f872b80
 SHA512 
e4b73d00e219776988e1507c981a46e94ccdc31a2195b21adb9abe6440e19a5fdc2dde5007d3c63b989c6d94102fa84f0635eedbc6c2a3931636798b5d8e7d6d
+DIST thunderbird-78.9.0-hr.xpi 629032 BLAKE2B 
83ddabd1471b801ab39ad6cb3f2fc6d9d05054709a6d8c4d6b0377f933a5201f12f18455d2a87ca0e65ad81c5b91b84a5e9f84bfacee29e7370e712eb870e14f
 SHA512 
227474c623cb5c10da5f778f093ab49065d1afefa1ecee8d186632a469739aec49f839467a356996bf8edd5f0abe5482c8b69054b076709796ad61e540f382bd
+DIST thunderbird-78.9.0-hsb.xpi 668604 BLAKE2B 
cdaea5be116db90d4cf778a51fec4105cfd7bc6cbeddbc05c73f5bf11b5d3ac682e88e6586fcb0698093b70b92cc08a996371470391026b11753c129e22aab66
 SHA512 
eda0fc2d3e136ea5446ad017e4932227c353053b3c87044576bc31e03da9c7fc1631214d2dc474b75d9b8c59f370dbdf1611528603bcc94fdf2ffe39423e521e
+DIST thunderbird-78.9.0-hu.xpi 679834 BLAKE2B 
8a631f3f51a0e1d6c41fa1baf16e7999bc9fb52820b1d8088f32705a2210bafd293075a028498cb8de87268d254e2339be58d102f6cab926b1e130c7f06940ec
 SHA512 
a07d514349a5539aa080711329e38138ec9fe9c28970f4434be8b254a4c60b56d675cbe180d6c88535ba3c86452befe1c43190caa9407a78f77d70c342230acf
+DIST thunderbird-78.9.0-hy-AM.xpi 713328 BLAKE2B 
18b262ed30c482de87de77da1570e2c5dce06244d94ac32815b98253b57c0eee48c8514f0909dc623faca5e7952fbe2e4b4d1975966621a882942b89bb423a71
 SHA512 
0f31d01c40a454629cd829c456579f16667f961213f1b8ec268fb2b1007a3affda41917e5c41faf53f4726098060e4a8c96980d3ff8906e1a3d39e8f633b13d0
+DIST thunderbird-78.9.0-id.xpi 620680 BLAKE2B 
934806a29e70cb7ec6e3d0f77c34f26c27745ee8e085baf9ada2ad27dadf6cf7f2486b89106426c21775bd68b7bc93a2d322a004f157bfd8002b7afbb41ba84f
 SHA512 
c7b56a3aa46a1c41beb67a22f0b8dc6b5f3a2523c9eddc3772fa36f3e81138ba6e34b6ae6c03c59e3b6d5e3284b91a0418c3f0785ccec0318e0d963a85bc604b
+DIST thunderbird-78.9.0-is.xpi 581647 BLAKE2B 
a46bec2e0791078c5a30ad5949a9d61ea1f0aeb3824b4ecb12fa09513e8dfc1ef3d394cdb46735209878644ffda639a3af4a762f32a15001cdbacd724e0132f6
 SHA512 
5d1ff65d71d96cffe844e436d7996b50fb59e2c0cfef22c18de2e0ad2b15e9c50c6b7ea85a3d956f8ddfa9a1e688519cdad4b519b770936b2ce4158710a96863
+DIST thunderbird-78.9.0-it.xpi 572954 BLAKE2B 
eb8f588bce2077f6fc7e3b83377b1dca43a69baa14afda0a63b831ee23b0a346a4aaa7eca09a3da206e72f9ed1ff472b5d6181bf1c80e71aa031b952b35613c1
 SHA512 
a22fbadad674af66ba74c37ab260a30e41443612fc4d200978240051b95485a56f582bd110e35ae0483034d2190b1682c51c053c6c9485b641390021c2716bdd
+DIST thunderbird-78.9.0-ja.xpi 722465 BLAKE2B 
a8f20f4fa60fd9681cfa84f6b00dbade45978c83ed17b0be800592c4db306cfa5ad97127f3d8cf17459947abaf0ce7ab660a949358bf81eb9f9fd3811ef7aea6
 SHA512 
7211a3b8d3f28f6497b782094776912959cc58700bc216732ea94d2d6a2a15099ed939e0118aa0527cf02ab3fbd70c86585ad8707077cc4bfde317ae311a9413
+DIST thunderbird-78.9.0-ka.xpi 717021 BLAKE2B 
7eaa557581de09c61befb7af62dc01dc42c67ae318566e48e1788987676836792f64252ed16963536e58b297467049645ee4e53cf1e6d6b9a4c3760e13474b46
 SHA512 
3a3cd2eac9ce8c3a7e7af41eed1d1d50ad45a1d789f4eceef6acdef1c722c715d871091ffab23230e35a5169083a6314bab0453702e638cd0c07764b497ea599
+DIST thunderbird-78.9.0-kab.xpi 651926 BLAKE2B 
e47db19bb1012a8f758c38ff9693db5082d1b8696f9791b29e865d6a87994723c20b04a574021da8942d2c14b33e3093ec9f37409bd54f306cc5d4df2ab90a1a
 SHA512 
6594cb07e8599108902d715fb9eef1562ace8168a1ec63a02ad605d86b2d4fd1582b489c8aa28a500b09635365019b40ff45189ae5f8d1474189dbc9c0dec7d6
+DIST thunderbird-78.9.0-kk.xpi 720472 BLAKE2B 
7dec5f0226bc8e230ba8501dbe26538c80168867bbf678ae4a326e3165914dec4255d93edda269c97b03c158f0db814863f89b5f471ff10a63c10984da3aaa5c
 SHA512 
e0bcb324434cf18b2d5ff4294a589a63b0a86c82b6d69d16903dc45b0665a6c23f0f93f6e54f39c7f3ec5f98b2bbbc2b10ee3667317b08083e39bbd2d78446ba
+DIST thunderbird-78.9.0-ko.xpi 688212 BLAKE2B 
eb2b65086a3ffd1dc80a501843f65a44b157770442c839c6db68e5f1a3eb280e40657b039cc2869f1cf0664498c68919541df1ffed07b0c3e333cf3e8297149e
 SHA512 
3371ef7a780e6b87d65ae3d4e9ae3f808e7335ae81e12dc0a43163b3aed9c8529b9e4e42d7533a9c743e4c7d61fbee99ba1efe2f2910a96b79c3dc6522043973
+DIST thunderbird-78.9.0-lt.xpi 660292 BLAKE2B 
6866cc1684360b6382864274c2ffa0a71602e724e3d7eeeb54f7c6b7bed283f4192cf790af19e443a151c7f5875bb3ba79fbcfca407af65af2834752481a9cf9
 SHA512 
8ea6f9ccae828c4a8b764820d706aaae541cc4962db73fec56488741a21f7d9a64ff12c3ecbe1002ad71c670a085f9919c8045c09f6d635d2ca9ade99e1d9006
+DIST thunderbird-78.9.0-ms.xpi 572175 BLAKE2B 
f282525c676f94afa9741df7866ad117c0a076f37fb822afe0a07053597a2cbbecf4bcb93c65344d642c351612d8dab87b8bb58e1377158260444d8c2dd951f4
 SHA512 
4e790816b980c31e5b0d212ebca0b886cdfffbd3255130157db7161397848e05cdd5353aaefba5f7c037df778324864596f4a73d118baf5cda36e280912e1fb5
+DIST thunderbird-78.9.0-nb-NO.xpi 637239 BLAKE2B 
d85411318cf990a69ba5c0d8cd59e15da6c38fe14b66b81c2bddd356aa7abbe2b0a68ae9e3063211123b259555c71ffa82a72422660523f05324a75292ae0ae6
 SHA512 
5978d1e9b08a7850c7b7d8428d650e27f3969fefc6dd418ea91f329e1b9dbedc6ac7da759d4ea1850beb31ee94b91c4d39f98a2cb499408703c94f0f41337992
+DIST thunderbird-78.9.0-nl.xpi 644356 BLAKE2B 
c0ccdc6adb5effec944f206486cc68445af764a60d603ffd4d5219a4d8fe02df7c4e08610773d524522ee1ce8cb465991a9c66380dc4f35e4dcdbd1f897b2159
 SHA512 
32be1a358ec34537917eea0478775e259f0b78d13f9309183b12e866faa6a3334132258f062628fd0e35fe8d977205c253316fcdaab66f185e883a620de3860f
+DIST thunderbird-78.9.0-nn-NO.xpi 640691 BLAKE2B 
e8e918a6d1370b87b12742009b08dea96eef483de33eb2d2da3e483ade70dc631eca48fcf0e38ccad5ecdbb83d7f3a22d3ab7d2c7756a4a4b3401aa047917388
 SHA512 
d1d197ee83f12393fca25161cf875b6727e4885f3ddd98136b99212dfa6e88697f05efd744fb6b578a5ab484398bb0b36dd870e0eff89d194c84433dbd93147e
+DIST thunderbird-78.9.0-pa-IN.xpi 633224 BLAKE2B 
45b4f62857ec6a6b96395d884850cf8376390569fb6e77be06f4c3d0ad650310bf9ba533c86e7931d34bb79e4099563ff4d64be6ba51c2f13f33415b4564c142
 SHA512 
0a183d3346ce710cd42bf14fa8248b312c22ddb88825ff22121e2f303ccf7c2f2c25dde47bcd3ccbd27c6a4b299fdb299622fb04b7a2906d5e1c00427f128a6c
+DIST thunderbird-78.9.0-pl.xpi 637119 BLAKE2B 
3c1b5da8eeefcb35190bf9b688ceb501d5f1e71b67b9f08261063468c3429cc040dfaa9229a1bdf3190ced515aa3536708aa452a5af6ec3af65bd64338c6023d
 SHA512 
2ccc3ae5f1b3cadb8ca7fd6f720b51a8a855ee3d220640ad8f77c383ba63e4d7e18a140c60ee779dfadadc8b9f5822741a2ee8d6fc18794bdf153b528bb40563
+DIST thunderbird-78.9.0-pt-BR.xpi 649416 BLAKE2B 
16af52bfa16c962768bb3ded35ddc58c4c71c139864bb563981903e9d9c77ce799bd92aa8a15e9a096605ad85bd7e84af95b6f1b65db5bdea7622a44cfa3d73f
 SHA512 
e4fe83bf7b7011f0d3e1f539002dba72740e19765273ea6af565727012ec7ecc9eb98c128a16cd5b48d20957f7d5312c29ebd1c8c18d6222630c0bff57ddd458
+DIST thunderbird-78.9.0-pt-PT.xpi 655505 BLAKE2B 
e40d0f76514484491d1d54b8e6160c1d539f9c054534159073ce80ada4b16e0aa45347f69cfcafa8c5548f2de1a1d775053107b52b93373ef6aeacddf98d2317
 SHA512 
c984e7286f38c0a3c1e5f509fc5a18bf090fcac61a91f034515955b8d133c29749131efe68018d81a49f17cf812cef383481defc13ba4cadce13da4cdd9ab80b
+DIST thunderbird-78.9.0-rm.xpi 646537 BLAKE2B 
32d2ad81f1769d63c75fb35dec4aa5fc354fe0c35bfc82833766760ee1970a077ded7ee50439659c9b8e68f69f287226719f97ff58559260d1b5c7849c4ad353
 SHA512 
77af201f6d46b677efce2ea9fb52a51da71768ce9a835bbee7be04aaf20783fd2d30978eb1f60b13fd0fa0e3cbd1ade97f6c631637bf1bd0e35916f06b92399e
+DIST thunderbird-78.9.0-ro.xpi 662633 BLAKE2B 
0bf5992d5e9c80ae8183fcc687b1ef21466c450dc842afcc77fb0d5a25898d16f081489197a3666c3de25d36a6e6f2910af2e62bbe7e37a39a29febb4ce9bde5
 SHA512 
21438384cd02dd6e3ed356566675b6d530466145f0e300227bc41fb3d3356069cff1c45d0ac55c6a88797a4d2d59972a5aad211f1934bfc29285ad59754d5d58
+DIST thunderbird-78.9.0-ru.xpi 756185 BLAKE2B 
1b06cd49b08e07540b893f3398bcd236621731c493ee9c49a043934564066685bd37cc9f0f1c141d53d3a0fbdd6933c7fab204ea100fc171fb53f1d56c70f046
 SHA512 
b1c3933700b5e58f36af446ba93dea1803570460fc55d5368d8c21f49e7f01c37e3fd330299d2af5e2350134f1fead5926ad441f0bc6ebb2cd318d3621cbdc98
+DIST thunderbird-78.9.0-si.xpi 651103 BLAKE2B 
58b20b27e3d5a82f0caf50b62692ba2b75434a2afeee73a2692a4b3f55a90cf530383a8009ab822df96a9c442d0f04feddc53c4ea076b2306420963d5b898ffb
 SHA512 
b5bc4f9da3abc0b7a9397f21e67ad38da336e41a96e47b9ea5b00a9e96e07111777ce3e9b5c87cc5ea44398880b7b027e42e5526ae9b4d7fc1752f1428834585
+DIST thunderbird-78.9.0-sk.xpi 643226 BLAKE2B 
fc4db06e7fd66106b03111491427961e7a31ea64509abc6b595609d216c674bc13faa27115a745613b835f66737f4811b9a42f1d544b00f79173d977016f1ece
 SHA512 
7462efe1aebe0537a59c94aa80cf0728a7015a9ed92d66b3207637add1b449dae7569ca264ccce071d2a69d430ad885bf43562fa25923682d48a161ae3909196
+DIST thunderbird-78.9.0-sl.xpi 632395 BLAKE2B 
723d3754a496d2d3ae37e1811efbcfc34435141ba740c1fa781538fee3cba5252c5363040fdaaa0428ce4b48f7656af0f11c83054dc15f5802407df0e01a3e8d
 SHA512 
0bc427bd428f78278d36dcc9eec7f903900168c3df4fa32cf81c42d5b7505860913eeb9a72ccd6bd25000596bde64c0dcbd8ef699acd131589d2918c4d9237f9
+DIST thunderbird-78.9.0-sq.xpi 657819 BLAKE2B 
2e6d960616816da9acaa257bcbcb91d881da02841507aa5010be39d695e010ea2f6ec8cb6f2c4f69d0940fb0542e587af2ac8557a4cfee5e1a480c19a6633c70
 SHA512 
f7e057e2842af335a17b11241252aeeb23850d285e55ccfec52f50217d69ee00e3e6c8963e6534619a270f9b768c2902af4742d192c7bdba7342d8aa27192191
+DIST thunderbird-78.9.0-sr.xpi 683106 BLAKE2B 
78cf724244194ea508d91fb0f0e2711dd18e82dbe8de55442607daecf4d27103b0878a0e2dc12f956f8f1670d020ccf40fec69db9b55cbdc4ffdf1b9221aa79f
 SHA512 
3b22a6f4def7c9bb4b20d99b4d03ecc9307302484ccbeb56d72598a5cfb1b7195003cf4c9c9ea4d0c60194a2975d57c961cf28f11679712b9d11f57cca37acc9
+DIST thunderbird-78.9.0-sv-SE.xpi 648863 BLAKE2B 
6cf1e738f0a910cc13d17b600dda15bf062055b5b9ae2d043b0739d75c2d6aa1e514e9562cd795d2d2bc3ac2755051eb854acf342cfbb1f21b206afeea72d275
 SHA512 
14f129299d13f990b94831a48dcf30da22a6ac56c19550634611785a13066b6c6e8ae3150e9ce5c0ca3b6402a8dd710ee54c22072e6043c2bcbb5f45e77fa484
+DIST thunderbird-78.9.0-th.xpi 712031 BLAKE2B 
92884512db6c8e9dddb0f6991fb64a62360298abf3642e0bcf393db989ef21fb37a26531341accead978babf83fd8adba21069328592f5b99852caeb85a0b9a8
 SHA512 
6d4074bcc09b5a995ef7078ea2500495d0995bc8d5a0d6c65d10ea89aadf980a7eda4414d05fc7c8769516937d4cc054285bfbcf8e87d06ca3db9ed774fc515e
+DIST thunderbird-78.9.0-tr.xpi 649075 BLAKE2B 
8ff985348477ed275fd7e352bd296e5863d4aa6a528d7dd1d13395654df078acae35b543c54f7f013b012a7d14c9a5de400c71b0d99162e0406247c6a530a3c4
 SHA512 
32dea4625116fc5c4911e16beb534255df8c269db7d1310cc08732b996ccd8a94af69bfa8a67e2ca8fccda732038cb1ac19e91be5fb0543d421aef9267fa6252
+DIST thunderbird-78.9.0-uz.xpi 586599 BLAKE2B 
771ada4baa1c67f0a85990e23132a306daf0ec2a7a64711e9e5fe0c032fd5c2372ba7dd3c53e3226ed0897c10d67b305df1e68c477223fe2a7a1b955298794b9
 SHA512 
5784fa9fc63fdb28a5d5c8a6b01395f7e488803c8f852c71818e968beddb3a081a6083e27e5c48c398d4cf0dab6e75b2b4928fa5590eda47ff70d7bce27c6458
+DIST thunderbird-78.9.0-vi.xpi 674604 BLAKE2B 
188a95bc4795d296f86425c59fef598c0b3503e8677f425560c332c3d3da4c443cbbf9f73bc268cd4ace14fa484be83539271cfe92b40b8c04fabd5d0d6c1f65
 SHA512 
af00e8cb4fa1be45f979f671a69f6454c2d56abae6fedab331607a67f85a3218c2c7d798fb48f418bd3e35f189e571d90c55310b21e7da868eb051928ca8780f
+DIST thunderbird-78.9.0-zh-CN.xpi 687187 BLAKE2B 
95e3c1ea1ccdbe5c652cb64557d0e439bc29632f322bf5baffc1baec96b6848057cf629534ae23511aaaaa136f2b72db80ee2527f66d3f01592a7302622805f8
 SHA512 
69e17fe996d23478a1a5741b49722b0beb0a471f7617db8181baacbae8e9fa20ba776b9787d8847b8dc16797420c7bf52e014e1376048f342fd2a23028481533
+DIST thunderbird-78.9.0-zh-TW.xpi 687614 BLAKE2B 
3c0151fe2835d1056a7e54300448910f693c004d95688a78d3e71eaa4a11c8bb266a9c1870ad03b2d9146dddb5ee36b854ef51698d338303f9887b7eb69a2e2b
 SHA512 
41d1166f75f3979c7885349fe58306f7e64c701abf6ad57233fb7e6c62cd6834e9b5284cfcd0d7489f742a28b5e60e8ac4fe2527ad742cf4df21bff7187c4587
+DIST thunderbird-78.9.0.source.tar.xz 353051768 BLAKE2B 
4251842f532a63fe6c882559a0bd2ec66a849e125fcc317582031cd5d3f67792b52293929d68dd5fef94ed707e013150906365fafbcd1d557ef1f1aa98c5c2dc
 SHA512 
fa5f9fee79c19810682b0848c2a9ca9518ca755b47689984165538d4d2a3d29423dd061691d5d227869472ca7275680e03f2a2b75766707cab264a9733d064cb

diff --git a/mail-client/thunderbird/thunderbird-78.9.0.ebuild 
b/mail-client/thunderbird/thunderbird-78.9.0.ebuild
new file mode 100644
index 00000000000..8f3de08b550
--- /dev/null
+++ b/mail-client/thunderbird/thunderbird-78.9.0.ebuild
@@ -0,0 +1,1100 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+FIREFOX_PATCHSET="firefox-78esr-patches-10.tar.xz"
+
+LLVM_MAX_SLOT=11
+
+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: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