commit:     a01c437a753fda7d27060e7e46010f5fa714a9c8
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 16 01:38:27 2021 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Tue Nov 16 01:43:18 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a01c437a

mail-client/thunderbird: bump to v91.3.1

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

 mail-client/thunderbird/Manifest                  |   64 ++
 mail-client/thunderbird/thunderbird-91.3.1.ebuild | 1133 +++++++++++++++++++++
 2 files changed, 1197 insertions(+)

diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest
index a69ffbcf45cf..f00c04963279 100644
--- a/mail-client/thunderbird/Manifest
+++ b/mail-client/thunderbird/Manifest
@@ -195,3 +195,67 @@ DIST thunderbird-91.3.0-vi.xpi 702844 BLAKE2B 
75dad43c5ef0a81d579b54913a140d78e2
 DIST thunderbird-91.3.0-zh-CN.xpi 712870 BLAKE2B 
975ceab44fad6f5a073b5c8c03905e02ee23af7deea94ad47e34790c528fd7fa388e511c57a4dab623831918f1ae4c18edda1cbbab2aade0f8611e62ce5b809d
 SHA512 
b9b48a34d9606afcdea5a982d545bf516faa8f76659380918a8f05904e38f4a43bfb01ed4ea5b6d36c420fb1a0515acabc253a02fe656d2da63d338aac8de113
 DIST thunderbird-91.3.0-zh-TW.xpi 713850 BLAKE2B 
3cbb2f628db7bd578eb4072b5140017f059c4b0146b76e82fd79b308efd06f952be2019eecfde84bd52739614bcc6a4509e01465fa32a25f71796f94875150bc
 SHA512 
b8bc40cfc3cb7dc6fb2206d485ef602b725cb2346f5ef6c5223f9b2bb3a0a93800eae494163018b44bb2e4c9581f90039fba7cdae7ebee849ab68d02cc70d4b7
 DIST thunderbird-91.3.0.source.tar.xz 403256924 BLAKE2B 
0ee2cc960bf7b6837a73ed8d8916226f8275913d2f764f76fb16e50e66c94e8892cec755af0d3061edbce80dfe35b646af0f5d7d17876b434e7d32d5a90eaa04
 SHA512 
938de817ed2cad90f665559da1dfc266f34b6ca2e688ee364112edfdb1167183a8225132ed50b672ceb14402be933be82fd1ef8b46f103cdf1534a403fb472d9
+DIST thunderbird-91.3.1-af.xpi 560244 BLAKE2B 
96b15b5f0680e2c85645eb85ca965d73942db55164691dc9064580ef21826d433ccd007d432487e85070488a8ab956792e96edda876bfadc50dc4dbd85062fe9
 SHA512 
5a123d817a7ad13597ff586746cb4ddb3ec925d9489cf1b883fc1d24ee40eac965bcf5673e3a395c9e8f726e5a2cad8f83ecb5a0defc8b551070f54a4184d58d
+DIST thunderbird-91.3.1-ar.xpi 660311 BLAKE2B 
b46f2ade020de3649c7e955b5373a1008e0ee2ea267a714797c4b83440da2a9f2e444e6cc67d8a74caea4b7e69a24896a670c5497e9c79f5398b6cb652bb3f9c
 SHA512 
168fb07909edf1f6388da073a2d98774be3105c067743666bda131535943d2c9b24fc56f368884e06410f7eb81d9335458737667c1892ba80f367a38fc9dce88
+DIST thunderbird-91.3.1-ast.xpi 577050 BLAKE2B 
5ec41ed50ea8af02ef778f2352e5c70eedc5072440bc1a87442397c9a913e7c898a5e9adee00c91992669931cac97bdd7a8b32ebaea15a6bf91ed1c34bd8c91c
 SHA512 
f5736c877d353450908de411f09dc7543a9ddc963ec6743352d07bbc7861724b4008a160567735c8a1d99dd3d820a8d8d2c36e3537f746b3fd779c7da04d7933
+DIST thunderbird-91.3.1-be.xpi 687226 BLAKE2B 
1f7e1a52f69816aac6f3916f76624fc7c3c98af9ee8cc5f6b0d03d175aa4e9af0257d50ec79743b79d53ac43cd790ae5ec5c38ebd3d4e86c2460df0394cea101
 SHA512 
f88010bd6018736ccca7b1a8b4ff72503bce54c8244db4f55ba5fea3348808f2af7a52f5b89586fded985762ce849f530383cf2052e2f0e301cbebf7f24c798b
+DIST thunderbird-91.3.1-bg.xpi 686414 BLAKE2B 
7f4715cdc04edfb80c667999ea9998dcf4ee35f942263f59f570647ef6d4cad1069ce20498342828fa65a9b279b9077e598c484060986c9d839c90cb255794b8
 SHA512 
41dc23c3c53c9348afee3f5f6c0f31c103289a733b362d643b07d627270e76f2aafd7b8ba1db2bf0c4b144ae5c44c2631f23d079cc7c3cb37c10d1a3ada452b7
+DIST thunderbird-91.3.1-br.xpi 616016 BLAKE2B 
62f962db1a8e1c902a337b01c77ea3f810c24863c1dd8cf7fa2df44d0681bb02fb5c3db86af24853ae3d54a99a7e51d633ed5647339bf8f24f396de7c1f56267
 SHA512 
dbebfb8366899518971d06dd738a867bbbfc2c5716a0abab393fab89dd6e5f3ecf16b0b7be4c7b29fb6bbf3556f7fb5f4cd023b754c1f3da6fb91acbd83d7247
+DIST thunderbird-91.3.1-ca.xpi 641158 BLAKE2B 
c837bf4b903e4589f8e668c79a7dddab4968e32ebb855673e5052ea512c45c8c1ff1aa01e5a29c258dd9e2a37e4a78bf33e555803ed312a7cbdee8921428a544
 SHA512 
c70e28a5542176d8105ee329feb3af3eca165f4daa5cf0d246c9c1b78c073eb3e43815ae763f7e9dc5e99a62ee626d7c5b3b76156c04bae74ea535f59012b0c3
+DIST thunderbird-91.3.1-cak.xpi 647214 BLAKE2B 
27532b2f1e45fcd1aedf3d35e365fb99022a33b93db4070c01d42c721639cf2318fde919efeb8fb3c033df15ed04821f85682c14d4a902c32bec7274d27e2812
 SHA512 
06c82064b2b7d65987569b915fc943226530430b9acd546c075736ee8a648b3dc4144b6c1f76e5d0e4cc727b83f53535b2cf14b404f9e8c4ef4ef3ec87a8f2aa
+DIST thunderbird-91.3.1-cs.xpi 698286 BLAKE2B 
f2ea823f6710eb1fb16b6531b2a2aece02760314e91f73a1d56d18de1e878ebcd76c5a3f0f005422eba54b6217e73e5e131af010227099831afb1cfb9d3e16d0
 SHA512 
314558a583f8489a6a34c97277f3d55a1a9f421899b78172958498e6ab13b0d8dc346582073a26620cf62cd9e3942460bc894e7ca2873b0558a85719eab80fcf
+DIST thunderbird-91.3.1-cy.xpi 673996 BLAKE2B 
45c6593b9050f8d73ead6d26ee5b2444dc393806c38e9e77f44e4b0256c8120fb54a71cd4b35973d4ea0230ab748fc290a03d4cf1c11acb1bcf571148fd5f78d
 SHA512 
20c3118701bc348b7e92f2e3993008508af15c61269e4ec9de9124d08941df732cf922b7d1b8b5508812a5c6e6681d264d8e23b193eccca6eecea51b6340aea6
+DIST thunderbird-91.3.1-da.xpi 655950 BLAKE2B 
bc4775113294d34b1561d64fe85e83c6b3497d2724ff1f08f1ed9dd8ff72fe53e457571ce32760cea910edceece7c4e54762127e0a9b2c0702ed2d2b315f1bca
 SHA512 
f418d15bf33fb64bcc89ff4b8b38e7b490429999e8a53c11b4d54edb840dff3d521e351499e49535f2c0dab4750382d1ab47b4fe01e32866442af3427ef71137
+DIST thunderbird-91.3.1-de.xpi 687003 BLAKE2B 
84ab8cff6d38c4b220d536bf963c18a60fcc16a1917864138066959120b52589f704d8ead2d6407fa810aecb8a85ef7072bcf57eb4362aca12032ace14fa0053
 SHA512 
46422f4441dd0baffcec39ae7f1964dae1674b613316447608e1ae71c1229c2b5cbfdbf4f31c05b6c68a98cd97cbc7335c0e1295cd8de0b1e0428c2aacbdfd67
+DIST thunderbird-91.3.1-dsb.xpi 707235 BLAKE2B 
5eb6fb00de070201aa7d53e250a6b85123679e44465ace188fc399d3b86c66cb0e46dad31c3040237b3effbd0aa74aaf462a57eda1c3e105d85ffe9b8b0ef69a
 SHA512 
462352e570d81925ea4ddb404b9837f8bf6fd446900b905a87dcd38025095be1a722383856b0a1291ce012c908cba35fb4ba5ea355a2a7d7142c728817876909
+DIST thunderbird-91.3.1-el.xpi 803551 BLAKE2B 
a010e72138fbfb59b9901cf5528b011a6ba1dda90000170d5c1f40239d85d5d6eea510d58b6723ba1f36cef4e2b7f31b12bf8bd7dfe0d30320cd830a9cbdf1a9
 SHA512 
7cd702d24a068b7de86f788cb0ec77a617555d9a22ab5a99b4c9550de0d5f357af915a7c6a3af5b1260f0c518b3176209b1e18054fa5bea0fc6960bd4d4d7c95
+DIST thunderbird-91.3.1-en-CA.xpi 634125 BLAKE2B 
521ea2043bcf96e077dff4e484edd1332c068cd409b3bed9e10161fdb30050245e7338ba0caf40474afbcc1ade8981de73b128fc182dff92988ddfc7a2c361c6
 SHA512 
0a811ad2214c45d4c2c512eae9dc5156bffbc7680a4a7fe91888b37dc849a539157acc4fb9e2e1586d9b18a32c2f56aa1803aea529892ff852e7420e5d6f5e75
+DIST thunderbird-91.3.1-en-GB.xpi 636515 BLAKE2B 
8745129e430fd2e14da152266079b090e58a1426d9d8f1c187fdf0f8a2f17b079c6ace2ac26f61368cbd92629d7c164bb1fb11bb9d655e962cb5927daf56f35e
 SHA512 
4b8f54321a06b02edb53fd83e1cfb5ed83bf5110cf07ed1a05540c1dcfded030f228837c04ba1e402fde2bbb5d63593fa07076b847a87dd48672977615ea4105
+DIST thunderbird-91.3.1-es-AR.xpi 685105 BLAKE2B 
83e6dc1b76240aee87939088e31c8979887b07f26e052f72ac1631c65652dd3c9335e47f82c23880367bbf88f978d61b8bc98dec0bcaab8db2a8d5dff680ba0e
 SHA512 
b72ebc12a6e2ecf7c9ec63c6704e56bb47b785c71431b5d67d7f68f592f53b9c52e184c55097f35cec6d3a0a18f5ad99548257712366ffc03296cc340eac8208
+DIST thunderbird-91.3.1-es-ES.xpi 573861 BLAKE2B 
9b511f17e4f12ee999d9ec04b0310ee6f9ed6f0fa19641cce4db104832aeecc56e37f2aaad9ab3cf2835e6d58727060922ff9811b0d29bb7972cf24d1828ffa0
 SHA512 
3b64e93a1835b5a11f5d1978157d1d1089fd4d5b5f52b2059322ab8afa3eb9011723b9a1c4c73818e0b9c0a6a97e8eb5a2a12fe28d552ecc1a9dbfabed5d3fd0
+DIST thunderbird-91.3.1-et.xpi 598832 BLAKE2B 
620427e8ffb08be43e258a74858766ac825f30eaa108e790a6d6d94b37b6011c308bbff89d7f5ad12360bd43667cbcc0d643486ef59ce7c632f6fab5f7fefec2
 SHA512 
c64cf3df9bc80ddb6497dc2fc629816571956731eb5a49742c244bca4bd7ed04e7175091a178c70e04f800f5cb08daf7946f3df57bd3dd2c788e1244e2d123e2
+DIST thunderbird-91.3.1-eu.xpi 666123 BLAKE2B 
4ec1846dc87dc3a22635891c045093de115956e7ec60bb6bf05405beef68748e9aa04821873cf145608ddc02ab3b435c7ea7ce5a4498ccd1bab93d6f9752277d
 SHA512 
c9e748190eb9dd2a3a0b746c9d6f5aa093b03815da8f48c0d6306640ded9d17334d532460f972142505811139e329749184447619f016d841c033d7143b0062d
+DIST thunderbird-91.3.1-fi.xpi 664675 BLAKE2B 
c1e998eb843650f5da17a7f8f292e0e26b79cf6fdac0baefa73df73ca9b3ff298f6174a488269276937fbd963519ebd1e9b094ae2ed8c7158386540dcf5a3352
 SHA512 
3fdc9b1d2b880722f98d8671e488358e85f9eca9fc589342cb185bea278dd9b8122e8af862c7bf14cd1659ee85b0971921b9d3e6fe29a0e34e79a9cd2acd8b95
+DIST thunderbird-91.3.1-fr.xpi 697504 BLAKE2B 
c09827b5737af2cf79775a648fcb71e6277d306351749057fc60ddfb32fac8fc41aaec241e490f7abe6ae1b452d4eab354dd21b30c5563db8e1fd03aaf04da69
 SHA512 
1205403633b5b4d8ee758656d48e16de1e69a6e0a60754d582f72481983cee9f8dd3bdaa5f0c133336bf796ef925939f97e03331ce317e85724ab808f66681a5
+DIST thunderbird-91.3.1-fy-NL.xpi 680170 BLAKE2B 
2bcb5a8683dec68991b0025693219644db38c28599eddad0e0209d4e5a7fcdda8036056dad3e4bb0daca4710e46d0a9b3af1f1ba4e3a6c05b1b24b6bd98477e7
 SHA512 
88756c2b54bb2246bed6da072fa9dea852379dc588a3879a60403751bd9c3db40603bea3ff232cff64eb846719d40fb00b67e29b656d60802ab84e5cb32dbc8c
+DIST thunderbird-91.3.1-ga-IE.xpi 601908 BLAKE2B 
078ccf9984d776be58b9d418502f46450051aa39295f4c8a15557d954c94ac9da5d5ff995c065616777878881d9263376abe6a0e10c19ce36a34b21a8e60fab2
 SHA512 
b109c298926a8c3fb69855a8573e004d5deed48627389c00451007297811ea09b7296b1a698d7c3b756872494a2ac3120ffa0c15563bfda6ed1dc2cab8a87cd2
+DIST thunderbird-91.3.1-gd.xpi 635775 BLAKE2B 
509c6a6ef970514c86f03d61a82ca8c0a7941d4be3aafdfa2f1ecccd1ad379abf237f39f82fb81ad11d84c8099ef7c6349e8f29f4acd2489a7462a5b8c3c5cd7
 SHA512 
4f1f696ffb139cf6774011f426bb1ffb1a5136065415fdb54dd55e4b7b5278961ea7a1950d8f7c1b207abcf063a30c96c60c3d7f4fcad02d332bc922e34bc385
+DIST thunderbird-91.3.1-gl.xpi 671073 BLAKE2B 
d2aa5947514193423a778d6b4829fb273b82fcd46d0a2aedaa9e9062475602881f8233a9878b3ef6f012361119c3a8b8cff597239d7f45911bef8e013164dbb0
 SHA512 
b21e91fee3990af8a05a4e31bd97e691f2994d0c071e35143bb6994713f5059d7b31791b795bc7c0b5037e8745141f88dee5f8474ca66465b3f124b3c3d0eaa7
+DIST thunderbird-91.3.1-he.xpi 665955 BLAKE2B 
a16cf00e6e2ad075eb19b1a0f77606740ae711b58ba83cee3e8bcbf7823ee70a4fc28b08dbcd5af7cee862eafccbb0b34dd1e65dcdfb3893125152443987a425
 SHA512 
059477eaa6415da2fd8404ef8506bfd2683754a73d64fd458e3358ef9129a4a9539f0899be8c5667ba77476a2029a783d73bdef50653fb39e20d3be80de6d7dd
+DIST thunderbird-91.3.1-hr.xpi 641170 BLAKE2B 
3b30ec0324df223ea528fc7c7695f78fb3ac1cccf750b745bea2f0645e5d66a1336795e81d1131987bdc79d69133902f546d5486eb5a71a08075669107684962
 SHA512 
0b2c09eaca6bae8b00d04249071a37fc950869da18137abb2a3234d5490b77837417896741f8b0e873c237d09879110190c1e4f63cb4f83d6295bab06bc890dc
+DIST thunderbird-91.3.1-hsb.xpi 704704 BLAKE2B 
afdafc91640fef194cdfded2a786734732dc557a076f8841bc27797d6064f98fc3d95506ebb96df0967a0863bc369e3f74d132c169c7d612ee03ca00a0d68978
 SHA512 
00ac03d24fa46dc7566e851ef2160cdd443eb92472523e5c0e3d60f217917059674540a509b49dfb3c3cddc51988e6610db9b103a293b58963c77a93e1a3482d
+DIST thunderbird-91.3.1-hu.xpi 707540 BLAKE2B 
a14c48b225aa75ff78d10b8dc90bf397c17504bfe4dae899f7497b61f62cda6420b7ac680a7cac0978bc6b5f03fa078f847d433d1772c44b37b7af40f9bede16
 SHA512 
c084303cf61356c671882a76e5e0cb0d898833116e60b2660af3a406bd72da3e9308dc7c77b08bc6bafdaaa55bd3e2563e37176f978ad8e2ad6b4a57baa0964f
+DIST thunderbird-91.3.1-id.xpi 639034 BLAKE2B 
abd128f415d296c307742a89dd53df8779243004d4598406668e452c8e542996082f40ffaa3c0817939adfba70491df5e5705f7d81d880c9343871a5ddff38d8
 SHA512 
edc8bc5d3126744a1d4a524cd59c327baf9b6c6dca7cf1344f314adcd53d74715bb08b8968ed6ff18e0003ae364aa45671399b3b9d2a28f211a44e814f6590d7
+DIST thunderbird-91.3.1-is.xpi 575006 BLAKE2B 
0db13a4c112daab7182e3c8aec948325f4f50660f9e06ea0b35046b7f6565003219e45cf4ef027a52e00fd846a0ad3e435867f6b5f60fda71b0579ac10b7b07a
 SHA512 
dbfac12a7393b536a5d4939f24838674334be073a52ed34902ca19f6d07160e20eae647d75192c493912c98172e7a60ce6e5204a887ebe561b6f8b85cb7dc163
+DIST thunderbird-91.3.1-it.xpi 600161 BLAKE2B 
18288099b1952952e38a371f9ff3b37a2e46512ba94ffd93c3a5ca97ccb812deb6eca3177e9b699a3b73803ca9f89a2323d5465c21cf905fc13b98bc99e475c7
 SHA512 
735458792f757da0aeb2c88a24ea7567ff4fca457f2811e463f5f5ca9e0b16140994ef9931d862587bdb1722fa7c97fb5935f5b1b5cc4f8139b746ded3109bab
+DIST thunderbird-91.3.1-ja.xpi 741227 BLAKE2B 
b7e2690febc08bb2048b03ed8da957fe386e5cff43b928daec6cc46119f39cf23be5197b654b103145a23ab89f945058b50c057d349129d543ae1affb73a7b50
 SHA512 
18476465f1df86ab6d1995d56bbf9ee542acf975ebe46c59442f3f4765cd61f1ae28ee17fdc9c8f9a61b70c3832eeae9581220948b083fc4a6e91542fdfb8e4e
+DIST thunderbird-91.3.1-ka.xpi 746750 BLAKE2B 
45a3925629c3f86feb1d4a5bf0e9e3aa6e84a64987417ac61de63bd227e72d1f716509f23b348740fb4d1bd8e65f0ec0f8157e4ee3a3f46a187d535a807dd5d8
 SHA512 
c03612a9a1884bbb9d3c81e65a65334d07d75195a89b7c940ba29fdcef2bc449d6c0bd5d7e7a708b02c67e51d67cbf48f2072b8ec21df0818352776b9689c311
+DIST thunderbird-91.3.1-kab.xpi 672039 BLAKE2B 
5b36ee742720ce86ce7febb95fdb698316e1ec9864da47f68a1a535936101f727b079515fa2bbb6b40f55db55da9c4cb64f49f3926af063d631757abb978d526
 SHA512 
28d1d5080f016ac1b1c60b4325bcdc2ba3fc492722a1f1b585b3b80bb19b0ab33dcf0b9c1119f4cf7fa1d3a8fd4523b543b293967af5bb27aa1932d996ed36cd
+DIST thunderbird-91.3.1-kk.xpi 731345 BLAKE2B 
dad8f52758362414259033d50cacd2c125655594960b1e706b921893ea757c73f71cac932c626beaebb3641a5d379edcbe40cefadfc36b3b138ff0d34d66f343
 SHA512 
e43929d7fd3fd6e4c7bc04cb9c666638c710e84f2b4768ac3cef485944bf78f55f82c1e6fdfe583f1e1e3cea380b190fe8aef3c0cac2594fbfa366ce2a708aca
+DIST thunderbird-91.3.1-ko.xpi 695480 BLAKE2B 
972507b92927d8d5e65e27ab97436bbf7f82ccdcf9d734d2d38ae1251645fb6064fd3b5b85cbada64fe0140294e77be6bacc5548933fc19bb0e18530ca300016
 SHA512 
3c01502de4f1c4941134a8171a6be3a57fd76f9f87abac6068bfc45dd5d0ff86664a147ee4bfee36ab632028b7eeb1e8a440abfa0e9b3b9f167404c46748090b
+DIST thunderbird-91.3.1-lt.xpi 688957 BLAKE2B 
f8c70d0377dce6478d3ce037c525a11a6faaba0107808a2eda468886ff5bfa088fec625bf58d72398cc64293b7970ca783bd0f872fdb42cab86ebae26d1a8be5
 SHA512 
822baedd2457b4a88b3f29a94c7299fce71e2664f28bc5e008dba465613530d7a7832b23b4f428632ec72c09141b9977d46d72bf8ef504c60ebd8c3da58d04d4
+DIST thunderbird-91.3.1-lv.xpi 614286 BLAKE2B 
aab9365f85588368f7ea0708c26db0d2212a699b574c8126996508ecea7a28f2efc71035f7d107f4e7e41a1c7b92cd2bdb70fad3a4e4ce28fea4494d285e63f6
 SHA512 
f0677cde5fdf289d0de6a3454d365b5b76e262e862a7095e57227cc3debc9c36440489909c0254b4d2b3f8a1c4f8db6df2e5a97ba0b9b21a6baa8790225f9f0b
+DIST thunderbird-91.3.1-ms.xpi 574045 BLAKE2B 
b8e3cdb2e6be06d461135e360d88937167ae3f468a66ad6fa4ec282c92c969b731f7e387a8b00b9a3cedd928335d36aa7d43d08ced9b06a6e687552540ecce48
 SHA512 
f160a11e95eeeb8cfd64a769394dee0fb018bb29ebdfb59a7c81fbe983dc879c29e970da21352137854348ca9ff989f2347c2ecb27b09e4d270fa271f3a77721
+DIST thunderbird-91.3.1-nb-NO.xpi 645839 BLAKE2B 
40469231b87dd7b91ea6013c7f4cdf99eb33fc2c62e6333757eb3f2d62cef1aaf55583e4b8374c8292d529c006268cc0b640d2fbf8f6c2ae152213ba2de79784
 SHA512 
8fec70b79305c3f6993edd0d61b083f291e8d6607baafb7502d45ccecb235513ee1251b30c7b656c61155efa981aacd08a4083f5652ff641c3e76a195c423dff
+DIST thunderbird-91.3.1-nl.xpi 671289 BLAKE2B 
18a6497116f427ecd7d74122a4f027988af69ac77701b8add0f727151f53ee3531234d19928b1bf2e611bbbb9f647e1ef44cf8788faa9cf9e80d698009f12028
 SHA512 
51b4f92f6d1a428b8ce02c6f7b31893359932a52a269ec66e3a8cf8ca04e1bc5d021eaf320f1ef74f107c3918bf087453f626280a96406c2c3eacb1c03277918
+DIST thunderbird-91.3.1-nn-NO.xpi 649226 BLAKE2B 
9deadabb55132177510635c44ccd5a70a63c72920788ebc60d28c43061f434a6a972909400dd6061d3d806fc3bfa250e4c4c2e3c1f5c54a94b929c088e8b6cf8
 SHA512 
330d42d6b3f489fcb0ee8ea3e14153effb67fa98f71246ce99c4c3b9bd425ae583325007f83d3e273fc7b1798b9734f42313cbaf3651b6e668ef3433ef887cf6
+DIST thunderbird-91.3.1-pa-IN.xpi 647734 BLAKE2B 
0e97bd268f7e78492b2a6ba151e060ffa94e1126226574e2880a8842ad9e82903df09776d6ec603d5f597018be348171efc89c08b42eac128c65321e4c714968
 SHA512 
d461c5e4eb87bc6d13bb2bf61062732003e61d98292a7ccbebf54ce9df49ae43455584bedb7ae19b0198096d55396ebe733cb5f8e368618e1ec403bd4028362d
+DIST thunderbird-91.3.1-pl.xpi 680303 BLAKE2B 
b64eb494a7f57262ba64dd1854d8a65594ffeafbd550d2e7b8636cea6138b8852095989aa15d426344c194ddf1612ce033bebbb01c1283aa597a0eae12ce51b1
 SHA512 
fab743e4aca700160331bb2886e4da9c72a6439fa8ca73a12eeb572a2dc12260c79d48e19fb92a5088455a04a741f5bc493ce9bc08f6f0619654a7188cdb470a
+DIST thunderbird-91.3.1-pt-BR.xpi 678980 BLAKE2B 
5edd83ea6694d0237cb0bbea4f3811c3199bd5bf1db1fa598dda973eb15d71762a2b62d187c8e3e181fbdc905a2b00aaf61ef6eeaea3de4067f4cea2117cf979
 SHA512 
cef3805b6a28dccc7a211c7bbdfcfe6071ead9a5e16bf5bd88c2d5715ab18ac577cdc0c94bd0d032c3f517967f8943ab5f1b62235b7bdfd3f3945be76a692ace
+DIST thunderbird-91.3.1-pt-PT.xpi 665706 BLAKE2B 
8ff39799c60f734f8166f00dee67dcec24fd0f1a32fff132151d553f32faf6002d40980c7ddbe63aa5f6f41c4c5e1465f0176259720dd7df040973fbb187ca86
 SHA512 
0acfdc983214e5e5e3fd617c8c0dc1ca6e138c85a8d7ac7f45db0336d47e1756bf73d1ef69ea19987633482dcace49ccf16a1ee1afd73bba60fb3786f4bde8bd
+DIST thunderbird-91.3.1-rm.xpi 671676 BLAKE2B 
6e032211eb2d6607e8016be956aa7c082ec5d18348a5c086d07e9750629b8bb200b76f6f0142c68133a017c981a9535e0fabf0868a08b10af961b43ab600d4de
 SHA512 
328759757b1e99be8f03b4d31de01fbfc45009719a2977a1391a298e9b5e5ddd98321f273972c3a372ef07e06f7d1c4ec376e0f4d77a5cfed03f694184ded20f
+DIST thunderbird-91.3.1-ro.xpi 656463 BLAKE2B 
6e6d2d0a546ea8bc0ccec73a6d34cb6f0153d09b40d75a5393b64a7802399453873c2f38cf59c036bff16bfa157fea1150d49d2f9abcca1ad41b5332a856424a
 SHA512 
889b038fcab1f5f30efef09d05cf9f81ea6697ccd4ec3b754a20974b3555c53daf82ab13db288612b5f3b8e5a1a0a88a2eec09441d04477b0ca3f7359053f639
+DIST thunderbird-91.3.1-ru.xpi 783358 BLAKE2B 
dbc46acdcdfce2335218901aec856918b6bbac070b046e877338a0d2b32dc7c2174452342946fa0e515a066736945302c51617bc94108147a43c346a9b63c068
 SHA512 
19b46e08a26b9062b739b064dd267d77b5153d6af3a19ccde2d26b88d635d6c042a5b3527d66dd06a30974d08ffc24b9f2b016f116d90ee71df560af6ecc6691
+DIST thunderbird-91.3.1-sk.xpi 707730 BLAKE2B 
14db4a6910a372d9bb30186ea85c8a67eb26113307edbe55856e0f89a493e84871790ac792808195fcf1a304067619c5434f7f506fcd1c4dd6d51c9660390268
 SHA512 
63717f8c65637d3d0844b9d854824fb38c417de697d28349e27cd52f854184a4aa2addbde1a1cccb77810686584c61a4d81c39543e791856a41f8d7cfe9dc0e3
+DIST thunderbird-91.3.1-sl.xpi 660445 BLAKE2B 
88ff5beda92853853009dbe52bd4fb8be04f17d3db7488077fbfea7cc2f76190c265786984b5ceba742720108ab905e1239eb79983ce5fde932c2be83e1594d1
 SHA512 
2232a13dcdebd60beb07d7aff295f4fc717cb471aa602c345fef528b3b243a901d9ef5987efa5f6ad145f18a82d22d7e5dd6de8d09f5a88810bfff6124d50547
+DIST thunderbird-91.3.1-sq.xpi 693388 BLAKE2B 
f11ee150b11038e8b8368f23150fbde33bf2f192713ee5b54f36946a3e017e79e5e4069645a5cfc7a0694c5bc805cb5937c58e0a017bfc4ff083d35c13c8edb6
 SHA512 
d5fb405ce939c906ba24c3e06effb1fb56fd01a3c32333b6a2ef052d220d8e28ca225750d05b7bc1be87ced61037c2e56aee04219d5a44d6a6ef36ae0e8a47d2
+DIST thunderbird-91.3.1-sr.xpi 703326 BLAKE2B 
27a76a23f12e33c73d8f71cbd7e3786ce375f6920c8961780b6f40488126e6518230f23ababbbbbbe56424cf38dfff97795590029b3b9480b88ca04d89b1ead3
 SHA512 
bf8f1da3d6afcb23882541c0a1a49f638327e6c96f85d03f92ce17964712a0af250bdb0bfa8757ccd2e4ad58f0ee8e2c36d1fac50e145fee32809629fe55ba70
+DIST thunderbird-91.3.1-sv-SE.xpi 675810 BLAKE2B 
0cd247331989856c5e34a865b4a4cda799a7a33ae1843efd704321e64df7b88031e52d2b520ceb540912b7b5b557dd4df018b28126c5ecad4c988e2a4d6a5fa3
 SHA512 
ed3a638507b09ec9e02155e7adb221e67d2a47afb20adab86d1390b69dfca43d7688b6ab8d9bbae80765af44337d2cc8e9fd2751f704fae10ec2e260c8dbcbe3
+DIST thunderbird-91.3.1-th.xpi 741242 BLAKE2B 
0ca48582ca6d8bcc89947d2d925d06b27e9da72345e08a994b2d96e4de1e22ca23c951abdd565cd6b8d0cf8c58f75f5428f491180c06d0fd02916b3d30a14159
 SHA512 
574b0752364f2aeac8b300752ce63988c0fc984dc1f5c7e6f115e62342b8a16031d48c9dfc7b93aed2911a8e71cc748ef85a08011e4711fda88c591f52fdff47
+DIST thunderbird-91.3.1-tr.xpi 685071 BLAKE2B 
14f004db0328d7389c95301245a7f0d55bc1f49888f94dc92c453482fd2620d0ae9a5f4ea088263f0624efdec92859721f110c9986ab389f20bf101a7e785b47
 SHA512 
3997e2b6c898fa88dcea35a6a3e31cb9afb11cf6138ecfcb307fdfb00b1eb818709bb43be9cb16f7f781b52295fe3b19b86025dfcf479442c731982936bb522a
+DIST thunderbird-91.3.1-uk.xpi 780969 BLAKE2B 
4b2f9a0908c011d525276ee7ec98ad6d7f3ccf3a12b9d3725ce4b3b97cd3407a02d0135142db5fd57978b4f16fbf6a22e5fc11dbafe82c79e77ad41d5151c1c2
 SHA512 
cb7fab9e45727cc6d6801df1804bc3bd1313597af4bbeacafa6bb29de804a848635cbc3be783b804d9d8d540ca14e08ebd0793657aa9279d8d4d12a9e1baf05d
+DIST thunderbird-91.3.1-uz.xpi 588119 BLAKE2B 
33956448279338ca6d5e6c55bc76ddce28c837b60feaaa48cfeaf20718f603cb486d69e55623138a443a3e9a008a68f00bffaf33275d6d4298a3ad71e5d9ae42
 SHA512 
2096aaf6f277ceb207cbe331f610a59d27a295a7b992bba2348cad5fb9b96e24540fb728cbd51fb79ce980734e14b45c9954a6865d04273ffbadb6ff7394f3e8
+DIST thunderbird-91.3.1-vi.xpi 706358 BLAKE2B 
7cfdb545b0c532f9077d7266e443e4692c237a26ca73ea9c68bf865ea4f9626b38d70da4f52001757b80f3ab77532a58c0daf64d3c02963358979a840a876f72
 SHA512 
1babc23023da7a6811dd1b1ad73165e2deadba18070b4c271395652e832486d9555d6b51e549bbcf8cc29b18d7971da6cdd625e971543f3500a558afa1b7aa0e
+DIST thunderbird-91.3.1-zh-CN.xpi 714607 BLAKE2B 
c9edc522533149bb7ae3e753daa15b77581c67d2c2372b783ac86489c98d5fb1b167982f94ce7d535a2a9b8b47c3a1a1cd62ece804c708ba926dc05d245f5401
 SHA512 
66556244cbf6e700dcbba0b61d0561ed848941e9e929e37e96c47060ce8c98ec3ff064d7e1c95082fa2b6e6e9e29b8f9a93eab7623b4ca62d1b4a84c877585a6
+DIST thunderbird-91.3.1-zh-TW.xpi 715955 BLAKE2B 
1e8d785f749cc9825989992ff8e8ba4f2094742c383dab5bd3638c4af34d3d4b85eeb23bed98cf8c030b24e25115fa6de87db5439a5cd0663f41fb19df465620
 SHA512 
87610a5e557a04b3e0bb0fdc1970fa294681d0f7607b46228980be56e7737698e3edad46647c8b7be67d22d7c3033bff5d6d7dab6ae8fea2284ccbb0f5516b93
+DIST thunderbird-91.3.1.source.tar.xz 403764984 BLAKE2B 
55dc404797f3ed4065d14d1b9360218c2f24dd9bd22472446a2bb755de68495d974e1bb647caef8cf9a27af0e96ba53cf57504fe0332d23ba76e9230b3e2dd3c
 SHA512 
4938f676ddeeba37da1f2086d76a2ef2c870738169f7e10b35b83e4ed772df634825ee25c28232df1ac1e3a18a9466e97dc7ee318abbf43f1f4ce6479a13975b

diff --git a/mail-client/thunderbird/thunderbird-91.3.1.ebuild 
b/mail-client/thunderbird/thunderbird-91.3.1.ebuild
new file mode 100644
index 000000000000..d053304bbe36
--- /dev/null
+++ b/mail-client/thunderbird/thunderbird-91.3.1.ebuild
@@ -0,0 +1,1133 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+FIREFOX_PATCHSET="firefox-91esr-patches-01.tar.xz"
+
+LLVM_MAX_SLOT=13
+
+PYTHON_COMPAT=( python3_{7..10} )
+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/~{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.thunderbird.net/";
+
+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"
+IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent 
+system-libvpx +system-webp"
+IUSE+=" wayland wifi"
+
+REQUIRED_USE="debug? ( !system-av1 )
+       wifi? ( dbus )"
+
+BDEPEND="${PYTHON_DEPS}
+       app-arch/unzip
+       app-arch/zip
+       >=dev-util/cbindgen-0.19.0
+       >=net-libs/nodejs-10.23.1
+       virtual/pkgconfig
+       >=virtual/rust-1.51.0
+       || (
+               (
+                       sys-devel/clang:13
+                       sys-devel/llvm:13
+                       clang? (
+                               =sys-devel/lld-13*
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-13*[profile] )
+                       )
+               )
+               (
+                       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] )
+                       )
+               )
+       )
+       amd64? ( >=dev-lang/nasm-2.13 )
+       x86? ( >=dev-lang/nasm-2.13 )"
+
+CDEPEND="
+       >=dev-libs/nss-3.68
+       >=dev-libs/nspr-4.32
+       dev-libs/atk
+       dev-libs/expat
+       >=x11-libs/cairo-1.10[X]
+       >=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/libxcb
+       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.8.1:=
+               >=media-libs/libaom-1.0.0:=
+       )
+       system-harfbuzz? (
+               >=media-libs/harfbuzz-2.8.1:0=
+               >=media-gfx/graphite2-1.3.13
+       )
+       system-icu? ( >=dev-libs/icu-69.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 )
+       sndio? ( media-sound/sndio )"
+
+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}
+       x11-libs/libICE
+       x11-libs/libSM
+       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
+               einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM 
slot ${LLVM_SLOT} ..." >&2
+               return 1
+       fi
+
+       if use clang ; then
+               if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
+                       einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot 
use LLVM slot ${LLVM_SLOT} ..." >&2
+                       return 1
+               fi
+
+               if use pgo ; then
+                       if ! has_version -b 
"=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
+                               einfo 
"=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
+       fi fr fy-NL ga-IE gd gl he hr hsb hu
+       id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+       pa-IN pl pt-BR pt-PT rm ro ru
+       sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+mozilla_set_globals() {
+       # https://bugs.gentoo.org/587334
+       local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+               fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+       )
+
+       local lang xflag
+       for lang in "${MOZ_LANGS[@]}" ; do
+               # en and en_US are handled internally
+               if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+                       continue
+               fi
+
+               # strip region subtag if $lang is in the list
+               if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+                       xflag=${lang%%-*}
+               else
+                       xflag=${lang}
+               fi
+
+               SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+               SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> 
${MOZ_P_DISTFILES}-${lang}.xpi"
+               SRC_URI+=" )"
+               IUSE+=" l10n_${xflag/[_@]/-}"
+       done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -ne 1 ]] ; then
+               die "${FUNCNAME} requires exact one argument"
+       fi
+
+       einfo "Clearing cargo checksums for ${1} ..."
+
+       sed -i \
+               -e 's/\("files":{\)[^}]*/\1/' \
+               "${S}"/third_party/rust/${1}/.cargo-checksum.json \
+               || die
+}
+
+moz_install_xpi() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local DESTDIR=${1}
+       shift
+
+       insinto "${DESTDIR}"
+
+       local emid xpi_file xpi_tmp_dir
+       for xpi_file in "${@}" ; do
+               emid=
+               xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+               # Unpack XPI
+               unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+               # Determine extension ID
+               if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+                       emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; 
s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+                       [[ -z "${emid}" ]] && die "failed to determine 
extension id from install.rdf"
+               elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+                       emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' 
"${xpi_tmp_dir}/manifest.json")
+                       [[ -z "${emid}" ]] && die "failed to determine 
extension id from manifest.json"
+               else
+                       die "failed to determine extension id"
+               fi
+
+               einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+               newins "${xpi_file}" "${emid}.xpi"
+       done
+}
+
+mozconfig_add_options_ac() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local reason=${1}
+       shift
+
+       local option
+       for option in ${@} ; do
+               echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+       done
+}
+
+mozconfig_add_options_mk() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local reason=${1}
+       shift
+
+       local option
+       for option in ${@} ; do
+               echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+       done
+}
+
+mozconfig_use_enable() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 1 ]] ; then
+               die "${FUNCNAME} requires at least one arguments"
+       fi
+
+       local flag=$(use_enable "${@}")
+       mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" 
"${flag}"
+}
+
+mozconfig_use_with() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 1 ]] ; then
+               die "${FUNCNAME} requires at least one arguments"
+       fi
+
+       local flag=$(use_with "${@}")
+       mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" 
"${flag}"
+}
+
+pkg_pretend() {
+       if [[ ${MERGE_TYPE} != binary ]] ; then
+               if use pgo ; then
+                       if ! has usersandbox $FEATURES ; then
+                               die "You must enable usersandbox as X server 
can not run as root!"
+                       fi
+               fi
+
+               # Ensure we have enough disk space to compile
+               if use pgo || use lto || use debug ; then
+                       CHECKREQS_DISK_BUILD="13500M"
+               else
+                       CHECKREQS_DISK_BUILD="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
+
+               if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
+                       && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
+                       # bug 792705
+                       eerror "Using GCC 11 to compile firefox is currently 
known to be broken (see bug #792705)."
+                       die "Set USE=clang or select <gcc-11 to build 
${CATEGORY}/${P}."
+               fi
+
+               python-any-r1_pkg_setup
+
+               # Avoid PGO profiling problems due to enviroment leakage
+               # These should *always* be cleaned up anyway
+               unset \
+                       DBUS_SESSION_BUS_ADDRESS \
+                       DISPLAY \
+                       ORBIT_SOCKETDIR \
+                       SESSION_MANAGER \
+                       XAUTHORITY \
+                       XDG_CACHE_HOME \
+                       XDG_SESSION_COOKIE
+
+               # Build system is using /proc/self/oom_score_adj, bug #604394
+               addpredict /proc/self/oom_score_adj
+
+               if use pgo ; then
+                       # Allow access to GPU during PGO run
+                       local ati_cards mesa_cards nvidia_cards render_cards
+                       shopt -s nullglob
+
+                       ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
+                       if [[ -n "${ati_cards}" ]] ; then
+                               addpredict "${ati_cards}"
+                       fi
+
+                       mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
+                       if [[ -n "${mesa_cards}" ]] ; then
+                               addpredict "${mesa_cards}"
+                       fi
+
+                       nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
+                       if [[ -n "${nvidia_cards}" ]] ; then
+                               addpredict "${nvidia_cards}"
+                       fi
+
+                       render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ 
/:/g')
+                       if [[ -n "${render_cards}" ]] ; then
+                               addpredict "${render_cards}"
+                       fi
+
+                       shopt -u nullglob
+               fi
+
+               if ! mountpoint -q /dev/shm ; then
+                       # If /dev/shm is not available, configure is known to 
fail with
+                       # a traceback report referencing 
/usr/lib/pythonN.N/multiprocessing/synchronize.py
+                       ewarn "/dev/shm is not mounted -- expect build 
failures!"
+               fi
+
+               # Google API keys (see 
http://www.chromium.org/developers/how-tos/api-keys)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+                       
MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+               fi
+
+               if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+                       
MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+               fi
+
+               # Mozilla API keys (see 
https://location.services.mozilla.com/api)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+                       
MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+               fi
+
+               # Ensure we use C locale when building, bug #746215
+               export LC_ALL=C
+       fi
+}
+
+src_unpack() {
+       local _lp_dir="${WORKDIR}/language_packs"
+       local _src_file
+
+       if [[ ! -d "${_lp_dir}" ]] ; then
+               mkdir "${_lp_dir}" || die
+       fi
+
+       for _src_file in ${A} ; do
+               if [[ ${_src_file} == *.xpi ]]; then
+                       cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die 
"Failed to copy '${_src_file}' to '${_lp_dir}'!"
+               else
+                       unpack ${_src_file}
+               fi
+       done
+}
+
+src_prepare() {
+       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 state path
+       export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+       # Set MOZCONFIG
+       export MOZCONFIG="${S}/.mozconfig"
+
+       # Initialize MOZCONFIG
+       mozconfig_add_options_ac '' --enable-application=comm/mail
+
+       # Set Gentoo defaults
+       export MOZILLA_OFFICIAL=1
+
+       mozconfig_add_options_ac 'Gentoo default' \
+               --allow-addon-sideload \
+               --disable-cargo-incremental \
+               --disable-crashreporter \
+               --disable-install-strip \
+               --disable-strip \
+               --disable-updater \
+               --enable-js-shell \
+               --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 sndio
+
+       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
+                       # 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
+               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
+
+       # Portage sets XARGS environment variable to "xargs -r" by default which
+       # breaks build system's check_prog() function which doesn't support 
arguments
+       mozconfig_add_options_ac 'Gentoo default' 
"XARGS=${EPREFIX}/usr/bin/xargs"
+
+       # Set build dir
+       mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+       # Show flags we will use
+       einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+       einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+       einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+       einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+       einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+       # Handle EXTRA_CONF and show summary
+       local ac opt hash reason
+
+       # Apply EXTRA_ECONF entries to $MOZCONFIG
+       if [[ -n ${EXTRA_ECONF} ]] ; then
+               IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+               for opt in "${ac[@]}"; do
+                       mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+               done
+       fi
+
+       echo
+       echo "=========================================================="
+       echo "Building ${PF} with the following configuration"
+       grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+               [[ -z ${hash} || ${hash} == \# ]] \
+                       || die "error reading mozconfig: ${ac} ${opt} ${hash} 
${reason}"
+               printf "    %-30s  %s\n" "${opt}" "${reason:-mozilla.org 
default}"
+       done
+       echo "=========================================================="
+       echo
+
+       ./mach configure || die
+}
+
+src_compile() {
+       local virtx_cmd=
+
+       if use pgo ; then
+               virtx_cmd=virtx
+
+               # Reset and cleanup environment variables used by GNOME/XDG
+               gnome2_environment_reset
+
+               addpredict /root
+       fi
+
+       local -x GDK_BACKEND=x11
+
+       ${virtx_cmd} ./mach build --verbose \
+               || die
+}
+
+src_install() {
+       # xpcshell is getting called during install
+       pax-mark m \
+               "${BUILD_DIR}"/dist/bin/xpcshell \
+               "${BUILD_DIR}"/dist/bin/${PN} \
+               "${BUILD_DIR}"/dist/bin/plugin-container
+
+       DESTDIR="${D}" ./mach install || die
+
+       # Upstream cannot ship symlink but we can (bmo#658850)
+       rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+       dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+       # Don't install llvm-symbolizer from sys-devel/llvm package
+       if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+               rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+       fi
+
+       # Install policy (currently only used to disable application updates)
+       insinto "${MOZILLA_FIVE_HOME}/distribution"
+       newins "${FILESDIR}"/distribution.ini distribution.ini
+       newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+       # Install system-wide preferences
+       local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref"
+       insinto "${PREFS_DIR}"
+       newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+       local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+       # Set dictionary path to use system hunspell
+       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
spellchecker.dictionary_path pref"
+       pref("spellchecker.dictionary_path",       
"${EPREFIX}/usr/share/myspell");
+       EOF
+
+       # Force hwaccel prefs if USE=hwaccel is enabled
+       if use hwaccel ; then
+               cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
+               >>"${GENTOO_PREFS}" \
+               || die "failed to add prefs to force hardware-accelerated 
rendering to all-gentoo.js"
+       fi
+
+       # Force the graphite pref if USE=system-harfbuzz is enabled, since the 
pref cannot disable it
+       if use system-harfbuzz ; then
+               cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
gfx.font_rendering.graphite.enabled pref"
+               sticky_pref("gfx.font_rendering.graphite.enabled", true);
+               EOF
+       fi
+
+       # Install language packs
+       local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name 
'*.xpi') )
+       if [[ -n "${langpacks}" ]] ; then
+               moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" 
"${langpacks[@]}"
+       fi
+
+       # Install icons
+       local icon_srcdir="${S}/comm/mail/branding/thunderbird"
+       local icon_symbolic_file="${icon_srcdir}/TB-symbolic.svg"
+
+       insinto /usr/share/icons/hicolor/symbolic/apps
+       newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+       local icon size
+       for icon in "${icon_srcdir}"/default*.png ; do
+               size=${icon%.png}
+               size=${size##*/default}
+
+               if [[ ${size} -eq 48 ]] ; then
+                       newicon "${icon}" ${PN}.png
+               fi
+
+               newicon -s ${size} "${icon}" ${PN}.png
+       done
+
+       # Install menu
+       local app_name="Mozilla ${MOZ_PN^}"
+       local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop"
+       local desktop_filename="${PN}.desktop"
+       local exec_command="${PN}"
+       local icon="${PN}"
+       local use_wayland="false"
+
+       if use wayland ; then
+               use_wayland="true"
+       fi
+
+       cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+       sed -i \
+               -e "s:@NAME@:${app_name}:" \
+               -e "s:@EXEC@:${exec_command}:" \
+               -e "s:@ICON@:${icon}:" \
+               "${WORKDIR}/${PN}.desktop-template" \
+               || die
+
+       newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+       rm "${WORKDIR}/${PN}.desktop-template" || die
+
+       # Install wrapper script
+       [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+       newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+       # Update wrapper
+       sed -i \
+               -e "s:@PREFIX@:${EPREFIX}/usr:" \
+               -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+               -e "s:@APULSELIB_DIR@:${apulselib}:" \
+               -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+               "${ED}/usr/bin/${PN}" \
+               || die
+}
+
+pkg_preinst() {
+       xdg_pkg_preinst
+
+       # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+       # does not need to be forced into the LD_LIBRARY_PATH
+       if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+               einfo "APULSE found; Generating library symlinks for sound 
support ..."
+               local lib
+               pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+               for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+                       # A quickpkg rolled by hand will grab symlinks as part 
of the package,
+                       # so we need to avoid creating them if they already 
exist.
+                       if [[ ! -L ${lib##*/} ]] ; then
+                               ln -s "${lib}" ${lib##*/} || die
+                       fi
+               done
+               popd &>/dev/null || die
+       fi
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+
+       if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+               elog "Apulse was detected at merge time on this system and so 
it will always be"
+               elog "used for sound.  If you wish to use pulseaudio instead 
please unmerge"
+               elog "media-sound/apulse."
+               elog
+       fi
+
+       local show_doh_information
+       local show_shortcut_information
+
+       if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+               # New install; Tell user that DoH is disabled by default
+               show_doh_information=yes
+               show_shortcut_information=no
+       else
+               local replacing_version
+               for replacing_version in ${REPLACING_VERSIONS} ; do
+                       if ver_test "${replacing_version}" -lt 91.0 ; then
+                               # Tell user that we no longer install a shortcut
+                               # per supported display protocol
+                               show_shortcut_information=yes
+                       fi
+               done
+       fi
+
+       if [[ -n "${show_doh_information}" ]] ; then
+               elog
+               elog "Note regarding Trusted Recursive Resolver aka 
DNS-over-HTTPS (DoH):"
+               elog "Due to privacy concerns (encrypting DNS might be a good 
thing, sending all"
+               elog "DNS traffic to Cloudflare by default is not a good idea 
and applications"
+               elog "should respect OS configured settings), 
\"network.trr.mode\" was set to 5"
+               elog "(\"Off by choice\") by default."
+               elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
+       fi
+
+       if [[ -n "${show_shortcut_information}" ]] ; then
+               elog
+               elog "Since ${PN}-91.0 we no longer install multiple shortcuts 
for"
+               elog "each supported display protocol.  Instead we will only 
install"
+               elog "one generic Mozilla ${PN^} shortcut."
+               elog "If you still want to be able to select between running 
Mozilla ${PN^}"
+               elog "on X11 or Wayland, you have to re-create these shortcuts 
on your own."
+       fi
+}

Reply via email to