summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mail-client/thunderbird/Manifest65
-rw-r--r--mail-client/thunderbird/files/distribution.ini9
-rw-r--r--mail-client/thunderbird/files/gentoo-hwaccel-prefs.js3
-rw-r--r--mail-client/thunderbird/metadata.xml1
-rw-r--r--mail-client/thunderbird/thunderbird-78.6.0.ebuild1046
5 files changed, 1124 insertions, 0 deletions
diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest
index fd74e0307000..fbbefb314759 100644
--- a/mail-client/thunderbird/Manifest
+++ b/mail-client/thunderbird/Manifest
@@ -64,3 +64,68 @@ DIST thunderbird-78.5.1-vi.xpi 674603 BLAKE2B 47d7902b363d3f383d18be1446b83aa67b
DIST thunderbird-78.5.1-zh-CN.xpi 687173 BLAKE2B 559fe08784381491f4711200b8024a43a3a539b234aa8f4c4a0836899774a792805c1e5f74a77c33ea3d61392d2e7a6a3521903d1d776e8fe671d2667c6f5f32 SHA512 917ddc49e8603eed925678e57d9a00da85da42676ae7b0a9e567e84f8cb8daf8014b897cc9a651ce60a683d17cd9510400647e5621261ae483fd6634cbeaea36
DIST thunderbird-78.5.1-zh-TW.xpi 687617 BLAKE2B 905f1290f151c44961c3052237b57732f1be545a60189e2fd1621b1b31d522cfc8cbb7e49fed1d8b8795d936a830c7f5dc33e0b27d8caff31309d09429397e76 SHA512 1bf9343592d4df3f5f091ae6fe63b58c2c43bec0581124db88e7c714877e364f0a97d252736dec6cf3522134a7eceb7ca00ffa00274e5690f39e6a4de1f05a8c
DIST thunderbird-78.5.1.source.tar.xz 352743032 BLAKE2B b713b157e273a01ad215bfe751d79948884b9320b59689e0ae1916dee730b54f9147f7c895ec629f06cf4b6da7bff9045bece54704c5d683d9c1deaf41298e8d SHA512 3fb50ee1b5ec4bedaca0c68a86286f5141d3e350025b9d928348c55e57e07013124ef8b0315ee6cb16c08777ba8b0fb715ddc4b5fef2481e32f2b676090a2d80
+DIST thunderbird-78.6.0-af.xpi 548345 BLAKE2B d89ee0a52cbbdfe33efb93f5ad4d89523f486b18fe62f5292dbad19b2ac7f8134d83b9c40e9424318d40de4a8d9f745f61faf0614015ce6ae1ae8b42b9fd0be0 SHA512 273c352acfce808b97bad77f0b9a3b02296ea78e086baf7b2a3c5d6c980edcdc20e2f525aa24dfffaee74a027a8bb2d34ec09f221f76a67bbcb145c6d21ed417
+DIST thunderbird-78.6.0-ar.xpi 648600 BLAKE2B 274020f982e55bb6892153e3a19b55a6bf5a845e85fdf144f114ae2be4a4607fe3f140ea67e89ea2a3b921355f550b23e5eb88723a58803c4aac08af7f7b161d SHA512 b73e36dd0a086cdcda34757a0e30dd6aa82791862d60d7c0f87bd8687d52d71da81dc1684130182be07001a777512897dcf4f95e23db344f97991ff937aae5df
+DIST thunderbird-78.6.0-ast.xpi 561260 BLAKE2B f6eff5ea45de17a5b370539ab83de54a04d6afa603e122f2afc8875e3f2b3205fbbedff7c3df99532c7ffa8985167a1b124ca586376a3a8b3f84e6023123ee92 SHA512 a7ce5cfaf4c96bdc63dc99aa1e5a31eb5e4f90a45350b3bcae2fedf2925a2372fe0058754f490e5e0a114ee5d6341fe8b632f4e3c01924da3f79738a55201117
+DIST thunderbird-78.6.0-be.xpi 666670 BLAKE2B 13402ba59c35c3d20c25cb18f8786c0a0b83088e8ee46a0b3c0fd86f0069c3848e966a9ef7c2546e0d665d01e16ee7372d1c920be902f18a0efa36d0ccacd8da SHA512 4ca4be8284f64132c99c11e4428fa7e4638b8a970eb31f61b5368a18425b7736622ff21b38907450361b943b680d50b2f0b293f6dc943cc8b665ff8af8cdbe8b
+DIST thunderbird-78.6.0-bg.xpi 672417 BLAKE2B f2fef6a49108146a3f4d0c4feb36cf199a5043a85544f4e0d8cee271f180126ad0f035f34bf4978071be3f7f7bbd15b25f9bb6addc5bc05aa7e8a22eae3c6c9e SHA512 aa18a8bf86ffdd83f292942f338e4ae6085ee50e0b573f95bf0c9fa99e257719e934e48d6347c99b39c7aa128a34cd6986154cfd8cea8e5c50a023a8b669a861
+DIST thunderbird-78.6.0-br.xpi 604528 BLAKE2B 4c1a1159eb3c2433ba2334833799cbd321b43165331cf4cd3fbc6f0e29f543aecd8755632938151220a30d69f6f9e503d22a1656d0488a1d57b36a7b982ae148 SHA512 85c9c83e535c87faeb98e2adb7b7ce41752d913e23cb7a92bcc3f5b7af412c184a3995bc0956872c9474dc45b00f6db00058f485a7ff202d478179b8b34af656
+DIST thunderbird-78.6.0-ca.xpi 620436 BLAKE2B 0124303d8e022da4a2a67df03e18d3c64559966c952a9df14a2d09de954467954cc9231904c649c09b40a4956752156b6eeafc4d904fdd9866a0e8bfb01aac6c SHA512 9d6debedb42e0d314dd4a8f14eba786ee32afb582791e2568a3a528cedef414c01a3df40bee44514ce8cb3e498a49998430b52b1cb3db3bda78989f1775b7a01
+DIST thunderbird-78.6.0-cak.xpi 635657 BLAKE2B 095934912bf56eeffdbb66c782a32ed30a3f1d940eafa086a69e385a2d913c38510eb5e3522c4df8d25e6d97e9bb4ac5bf5552ce096d7b92f14da2fe68676777 SHA512 b998c8972f193a57e0a601f0a6d51130567fd5a74d7d31fdca03cb2ae0d716196bcc36718ce936c15f92d24a2035e19479546dec618685505b4a3ba59ec00653
+DIST thunderbird-78.6.0-cs.xpi 635346 BLAKE2B 58d56bef182faa2996db3a66909e4daa113a66193b2bb1bed629e772792c2933ca7983062ab2828aed9957bb0303074d02c0729650939153deb0646eb47d71d0 SHA512 317573845d2d470a5466dd0863e2c462ad2357b3f6ce422ad74f9db53ceb6876095452bed13cf83cb46ec78c47145d2168b51c600fc17ec1bf0c8e458e15eb0a
+DIST thunderbird-78.6.0-cy.xpi 646243 BLAKE2B c02bbe1a26c4c295d04750adb393a786fda6acdfdac420c155f57ca90470ad2ff07f4bed50819bedf1739c0b14b5facd8223a68fb358b832ec683a970a058593 SHA512 836171f65ce69d61c0f2043c18db13f2fdf8e38b28982b89bb547de07930c1dd807f710efeb50b61c203c5f91648499dd58488dd6e41b050aaf78f5f1560deec
+DIST thunderbird-78.6.0-da.xpi 620993 BLAKE2B 089edb401b604309848a8c45ada0e048a76670d2ae85138b60d798afdee0597f8a3cf9d7344755a207c381cd74444f55e0c634c72b01863dbc6d547838d894b8 SHA512 e5d19b04b314dc29ba822ea6ccaa77ec54ee526838ca4b565ab74b63a8b521e7060af8d416a285b56db91631284b34941bce7e664643042440528e8165a01c65
+DIST thunderbird-78.6.0-de.xpi 665191 BLAKE2B 8236d20a297bb3f0b9ef0b9f7cd8eb49877aeb8d12b38a3de7204fbeaf544b109ab4d420c1792277dd4570d94a564ed13617287f6b3f9331404b213acca097bc SHA512 0ef3ba13a9feeb3496d295553f6908a0329f426b8b0fb1646a2f0c7638c4557765da5a39b58e4269dfe593a43909aa712024e16e0450df7c4db5a938172b855a
+DIST thunderbird-78.6.0-dsb.xpi 666771 BLAKE2B e1c15e7a2c5eca6630a5ff739c40dbc095903326ea324e8c2fd6356603737d18cc837cc511c0fcad0c322bc007b7c6d7f706f2062e8a8ceafa92ceb04fd952f6 SHA512 a831c73ead0e13ab05ae95b972055a3b329092b622c19cba1bf4fd917e85514b55d4fe1c31b1af51173f855f36b4a9bcc631bcf1081fda74d2bdde7a9584526e
+DIST thunderbird-78.6.0-el.xpi 774448 BLAKE2B 6f6044403442a9375eb42f9b6731a014aa2d008f713666a8caab5dcd6260ede83a7292ab2ca1920fa33fbe87c5e07c66b56feebbe7c8ec580db7624df45f317c SHA512 63264d5332a089e838f4a968f2c804d3e8411a68639caea65b7d6a13cb0569f5e44b2ade846032bb79f13499e9565ce231ccb55ba48ca3a2502c92e0f40adedb
+DIST thunderbird-78.6.0-en-CA.xpi 611773 BLAKE2B 1b608542c77d41edb37c583cbd74ff1932dd21e36954678161c57f6820ceba4c14408dc7d79a8d7a86bfd4d493ff45028fe520abff79719db025442de6d88b65 SHA512 0077c9b65b56e8b1c5f7dfedf2bb2d45896b4a02b5c6ace9e8e03d6499c96cf4a9ed1dc9eaa85a71357f9a1a5a60b5f8f6e21a92992ac5544c3d1992815204f0
+DIST thunderbird-78.6.0-en-GB.xpi 611183 BLAKE2B 9bc2ea427279866563e421c6ca7efb739b96a9d5aa11591b3595cb54a9293bd1876290e385f64206142d833ab3339321af6ebe30f234472cca48affbd5ee0127 SHA512 12761b4b100bd845f2f55c2b724b2bd350a0290ff821df84c4f732d5947e2cb974368ca0063f98e3e8ab264da4e2acda7499255dd82e96bf30b7e7e32b4fb1c3
+DIST thunderbird-78.6.0-es-AR.xpi 657788 BLAKE2B 2d14ebb13dbdd93d4f095d1c9a1345b68e9e6d488059e88bc3643695fa31cc46e8edd76aaeb8beb10c1fd7a1dbab313b0c693a68d46322159781e6efd199ac3c SHA512 0417c7c47a22c9e548120202d35b52fd4bf7bd6b08e4c9771cc027348bec1fa8db3cd551f41726cc61a830397738274d0483d1cbd507b90c501b53495f22f6e7
+DIST thunderbird-78.6.0-es-ES.xpi 569804 BLAKE2B 33bb8080008ef53e82cfb7f36c4ab8e21691f9fbe43c1691ffac98dfde64c707415bf8e0d8488a058c8e35813ae910dcd4e82126779ae2259dd9450c4bb87a21 SHA512 7c6cce31958b93afbbe4fcf99a62c4a73f2e37eaf51a54945d0ce2190df635eb53498d3d455e7b53fff035f9dd76b92b4478cf44594d67d293a5ca549ca43e36
+DIST thunderbird-78.6.0-et.xpi 597728 BLAKE2B d0aebfc5fe1335eed6dbe6e42015d59b4aedbf45f91f44950f125ffb8952395119f8427c83c0749b1d682fcff553e556ae41d2ea8ff011a2d3931bc78a05d285 SHA512 5381bb92715ad132cd8c68d9781c4c975a59df64000a6ea71a0113cfda54ddcacebfca8b90bd030128110c915293df26a2c34a10f9ebc2ffdf0a5b24eb39d18e
+DIST thunderbird-78.6.0-eu.xpi 632962 BLAKE2B c97291230b26dc72d0113af0f4cc8d8d4bf5be645bc784b8802852f6c58ef9e691bd73a15843b974ad9b2eb5ff48b291a35c774e3fdcfc54af492aa9f9f02e22 SHA512 3f38183f140aa30e7b947f47a9da01454722ceb69c75819c0a8831938faba084b3b2398ae5136dd3c72b8a504df78bae6948b6491b8ff8ff9f3a675b934d2a60
+DIST thunderbird-78.6.0-fa.xpi 639756 BLAKE2B e61f2625fdb7cfa1d3276b5f0a1fe13d89a7632e1437f7c32262dd0df994b41868094f57915d4b389d1277a0a7c8692203da82381a1b809178084b80e6deb391 SHA512 d8e4488007f6dcee3b499e8306086860d3d2d2e4031c0a03022402d1eac2dc7f35a77ed49d2de8ad0e1ce50450152c3f8e1a685f416c2b4aa14239b05e4b0d94
+DIST thunderbird-78.6.0-fi.xpi 642454 BLAKE2B b29324602268c3b347f8876f1c0e27de28b04c49b862bb93a614bcca40250c79f644887261468f2b110b6d71a1ad5da0d45bdf40301ea24a159bdce5da914273 SHA512 9b69c8a1ae2e04aa9282066cdde5831960d34bfee69188aa8fe0be69db799b79c3ea11f55d1c084b4d3376974c667d8dec57592937c4988617d1cf1dc81690ac
+DIST thunderbird-78.6.0-fr.xpi 669493 BLAKE2B fa3b3bfceed1852a3500b3804679d57f897a017d195f011fd79b9476f73d385f15ce3316cfc349d31c9fb03635aa5286e212343cf9b6b45be5532bd9eb698996 SHA512 bfbf57fe957bad0043b51950354cf1619a497c224ee3c84893f888d6ad72e695fc6a20a9c44c8cfe48d64f89f80304a8d814a600371708415c2671f28b9b7d50
+DIST thunderbird-78.6.0-fy-NL.xpi 653072 BLAKE2B 468c42637d99472415f5ab81d3126fcbcf2eab5e67803e16b7d0d0117fa039983e1d43d2c7ebbec0acff9d6dd20047c558d583ea2c7104b277e68989da90d9c4 SHA512 c4e4999c76af1c94cbf5009f23d500f2e5351fc38ce18c45c06dc85d6e548be411632b3c3cdd84f37a476cc391bf9000de7c0f4331bfad445b8e13aa153b2951
+DIST thunderbird-78.6.0-ga-IE.xpi 600703 BLAKE2B 7692232fdea4a106ec0c47c20f170ba0ed021438e41893159038bf9fdf5e00f7dd6e67bb53ab515c9d3bdfe540c5b65e29e2ebfd81506e48e9920b60128b32ee SHA512 d16ee32e21c3cfa354e34b74864f732b2edeb63177ab0ad19731f12ec724f4c59a684e013f0ca083edec9335039419e53b7c86cdcf01cf5bdb02896f7ac7acbe
+DIST thunderbird-78.6.0-gd.xpi 609381 BLAKE2B 7813fc3edc1080148a59eda5ceb3b2cc0fa47f734c18dde4412398169746fd037c364f7159b1ad1877cf7a2a0bc590b53df552ab2f00fdde0aac83eddf40cdee SHA512 a775f12c9a85c4be2ff7777e3cef7f921e6d70be3e1439c363007d383773b56657600eb816299035d959d97708e786319f927410dd83758c5b605c17447418c1
+DIST thunderbird-78.6.0-gl.xpi 615720 BLAKE2B 766c20db8418c07016c8acf90adfec3a64c86e6fa4f6f37b51fc92a36e4af9a588d4456177acd7ecf207e7d076f1ba4159eb00c94179a0082759d9ee1fceef4e SHA512 ea9003203e13a5beeac91b691e1fad55eadd83113a586943330e58bcfa00451acea801d374064d98e6649650545392b6bb5ff69d2cdcdf08c223dfad25058a32
+DIST thunderbird-78.6.0-he.xpi 640498 BLAKE2B 8b372d45238bf88182a53c2129e856c2c4ae59406bcb3f22740d5e8fdd941b351df58baef25e9857eeb42583fca4b99e1153bd5239f6ebdbadb9ff8d12c139d8 SHA512 586869e7648df55872fc824d13bf279cfb0ea2f133fabb235ba6230619a2ca7f0dd505cfe71b8788a2e965f3657aa98fbe5b79acd1995576d2507e56e0398c45
+DIST thunderbird-78.6.0-hr.xpi 629032 BLAKE2B 7f7410f9a10c348db7c605e485cd90ec0b88e028ff13577c10017e27c91a3f182edf2a5121febfe97ac849529b47f395aaac8b18bc0e705f28d4d5f6b5a7b27c SHA512 950c929465b15e13f06b065f967d58ab51b741cf788b58f3e54c15f7917b6dfa372213e4e685310c08e76274237f113b8edb457c29a1beb93e7643cbfd724558
+DIST thunderbird-78.6.0-hsb.xpi 668602 BLAKE2B de71c85a194402ec9e5f7e80e51cda8b25237c47354990da6ad187638d7e4a76ca49a7ef6bf84d24737669dfeda31ef26afbd57d09633a3d16d56c619a9baba3 SHA512 e2d20a2c3eae77227587b3f90621bd84a3b4c5fe289b97a03b3951c0a050a85faff3f2d4cd51f0e644ec073706e2249e304a5ccd00072ff70d37fcff902c14d0
+DIST thunderbird-78.6.0-hu.xpi 679831 BLAKE2B a5597ac70728c3d89c4af989b31dfb73e1dcdce1b6426b1eba03dacb17881d818b5f1e146ab808199e07f3f81bf6e31b0e5a89519d79ef5040cfba3a58843000 SHA512 df8a66b3907adda26bfc55eebcd463fcb2c93fd907c6c72a133a66a2848a9fca7cc1d78e25b745d750bbd5c8a47354a225891095d9d036ffd8f529eac4078b0b
+DIST thunderbird-78.6.0-hy-AM.xpi 713334 BLAKE2B d3fe1317a7bb149a60ffc85786c37b4b53a6b2ec41d4099357ee3e7d7a5d48aa477f4212a2419f94cbba117ce7e773c7f04467edd38ced72867545fa6c3aca9a SHA512 9c7a3b685d60f1ef899a0e61752740f1f15c8ff6d1f156d6b1dd1b90ea69f3c319a0fc5fbfdabad954f20b87c712bcf4a7d1010de7b8fe06618c24a4ae0dec51
+DIST thunderbird-78.6.0-id.xpi 620680 BLAKE2B e09060c821c4ec6c2fd047bf2fc01cc161fc984807d2fda7d571483029d5ab9be28b1f2950d279e8ba3aa86443e3eb7774dc15b377a048a75d0dfd8fd6541bdd SHA512 ea81176725de1a79cd6bebda2e41f01a852db5b8d3b2466919e77afe31335255a3fabd9d88bde684c5bd4fac447f106a183e217e72a15f436a92bc7f064d0acb
+DIST thunderbird-78.6.0-is.xpi 581641 BLAKE2B 0debf74e2280b2a1f0d733a6845f5d71c46f1ad0c3cb771e382247369d1d6529e410b98515019f7bbfc2ad4ddb600cb4f0922bb5f9f043d77a0c285e82c7ba94 SHA512 bb9a1144afe77eba866d03bc0eaa507e7e12fe785af4a7d0d61be2257511d48c83569fadaa7b71c71b3d74796296f34424c10ad6c6735d401542be23d97e27b9
+DIST thunderbird-78.6.0-it.xpi 572959 BLAKE2B 00f7fe1681a7e79acfbec06877732c1603263fc58ff1e8a595c672f8dc6e7368f0b028b7eecc2988dea2249a4b35db806c1b9e08e8effc67347c2f1572dc7342 SHA512 de3c634a4763a0efa48dfa921986f12dbdb5d8890628996a8b26f10e35dbff833851381a2b3846328e52d702d33eebaa0aa6859ed3c61dc19ffcededb99b1cc9
+DIST thunderbird-78.6.0-ja.xpi 722456 BLAKE2B 122ebc20541bd219124b2241e90401067a4c58a1b00e171827a95df43781b875703fd8e4b5388327b8f883da8fc87839d13c02883c284333947036da6e183a46 SHA512 70d5b3aa1efe0c6ad54c7b15599f6c63b0deaecd0f46cc20ccb16201d24a081f45f62f73907defc6d5b73d2bd3e3e8f959ddb5744d0f94b880403595802ba856
+DIST thunderbird-78.6.0-ka.xpi 717013 BLAKE2B 0733225b0cd6852aaa15f24fb99659e622f40894ad81dde4119d1e3b536038d310280f5edef41257355e6485e17e5db56a7532a20c6ba7f498b272f725a9d61b SHA512 2c4ecf76f42b2e0421a08d7825b8fed3a02f340634ea5136024dc4bd4833b93f5079ea31911db0af26472ea2fc1ba8ab0b47e5debaed8345533f1f1ef37fb7b1
+DIST thunderbird-78.6.0-kab.xpi 651911 BLAKE2B ae8db244f9b001eb84d463dfc20e032471c956164f366e9eadfa309f79879e7f52f3edc4436db2d4f0e41e76cfa8865f3debec2aa9f7eb4fad156d3c01bf551a SHA512 8ea02eb64f8852929b5a48c5616140ba24dd0d056e5371c6489fe080a8c4604108ec2b38ae6ed937304889aa58608a9815813f3bd1a1149940ce994528a1594a
+DIST thunderbird-78.6.0-kk.xpi 720467 BLAKE2B 6ebbff20d3d5182cc605f16ba98d99559f84b0e7db007e2a8bd7808eb71697b4d60d0ebeb4d2e738b41f546eb1c026d9d827579f566dfc5dae0e984cf73f729c SHA512 41e5fb9a5c03114b465ea1f7d1d7d41a9bb1a8147ce89ebf043a96ace293321c6a933b166637ff750bf3bfbb7722b39d589910d1e88680e18871f1c473b475ab
+DIST thunderbird-78.6.0-ko.xpi 688206 BLAKE2B d3d98362817d725aa1d69a1a7c0b8d84d517108b72a1bd37d8d43a647aac22032b7a3c6f1783913176fee64c501f55ed00ed6e1fabfd33e9d51963777d81fc33 SHA512 f7db483586c0d2f562316b63324a996355572177d83cc664db34048e4e613f2302f007cddb356381f93cf3526a33ee5a5b516fb9469775a99b634f5712651979
+DIST thunderbird-78.6.0-lt.xpi 660294 BLAKE2B a8fb815d4ce796391acc4f4eab4dc75c943b7b0814aa056d85d8fb687903a5bd11b7ddb839100b3a183ea027ef934f0fdf635956ca83885fee302f8270f5012a SHA512 f31729b94c20292a88deacf4e44a19fb9e3843334f87a062d1e0f482f1b7b2c81cb61c96ffc2a9e71f90823c0571c51ea5c3b6e1df83b7194cee00e93a200560
+DIST thunderbird-78.6.0-ms.xpi 572178 BLAKE2B 434711867a334f60871e013b10ef6b0cd5df01df9a254f80922db1fd4399ff367112595e6a04645274fd18b679c4536ba9f71d66108a2a1a8550458601b6fc34 SHA512 98b1db595979d635fd83013b878a91c7a54459755fa60db97f080d98328cbf967b4a4d6e12f47229d7162cfe06697b6adf87bd6a1b76bb151af0a45f2241fde1
+DIST thunderbird-78.6.0-nb-NO.xpi 637238 BLAKE2B c245f36cecd8416110390f9d654fc2b03fbb89a54e2f04cdc56771b72f88fbece43e78833c8d178ef733e1a1748e691ecca7e18858520cde82ebf310ae1570aa SHA512 5790635192abd36c6649af9024498a1830a6dcbfa4f830b54ab9940e908ad0184c696acfca3f07856f507b22793f7c401f914ad179c9d02ddfb278a4ce9e558c
+DIST thunderbird-78.6.0-nl.xpi 644358 BLAKE2B 1e6ef2483d2f7aea4645dffc6180b5bfada30e7eaeae017d25c62428e599549c9d7c7c6a1440d0456b52bf0fece5a3e3b04f015c685e37b05329e4d88a1c50fe SHA512 40cdb1860ff159c6929523278e2e08c0701333e76b15fd27689e424450363c4ee0f85088f3963fef3cc1dde891a886b31b48316eebe8c4f4c6cbeec4c35d603f
+DIST thunderbird-78.6.0-nn-NO.xpi 640689 BLAKE2B 9d7b6894ca31a9ce1d85ae57bc368b9d1c8ba7af2a98255e2e57253b6c5867e3657a5ba12b632fdc52985a4242fffe21bce69f4c085859454c3f1e6d6d58b24d SHA512 cc37e910819df0245d9b69364eec7c95bd5753fc4513188e8793c5e6e44ce7732261fe22fed4683e535dc68bfd047c4aec9d106a3e0912911bc9a522bb83335d
+DIST thunderbird-78.6.0-pa-IN.xpi 633216 BLAKE2B 689f49261d4d87262bc6b25e69dbbe97cb9d1c70124c67e0f48e8476ccb1d43875695f48276db8295296cf79fa8c9be404253a590c348c182d872bdf4e4ba7a8 SHA512 21a6c9e18e089c57541b827449b51d2591a7d4b815398faf36f727eedf17c8b97923687a6ac6947e89aebb1ecf4f10effb3aab39798a8ff3d2e99b0f2939984f
+DIST thunderbird-78.6.0-pl.xpi 637127 BLAKE2B 80440ea54e6135d51b34db18b5f1848fbdc0f0adb04aaccd8ace85c2d7521af9b3c0d33abc81b36c631db77b95663ad5dd4ac19364e8300183c6f6a82adea037 SHA512 e0a35f5a5fc44e3ad0150eb93e6e542c4676b02e16b797c04ddeed551bba191750f58dd743431350af3fe44d318483a6b823767a3a9ebc5a75483d0706a407dd
+DIST thunderbird-78.6.0-pt-BR.xpi 649417 BLAKE2B c4f22032da235c6f3828205dea272020d198ea6211d595900c9bdeacb890ac4e3e3b162f5cdc2cd163ce3be698bb8df56c7bfcba1d45709567c5e2eeae2e3494 SHA512 5223246ab5c33ecf43d6b81f1c26eebdb25d667726bb7ba5eadf7c4d8c774207543f098c049893b42965b8495f2162f00cf2abccf85ea6e7f141a9a0169eedb2
+DIST thunderbird-78.6.0-pt-PT.xpi 655498 BLAKE2B 256ce12702391fd3c9fb8de6e4f0257032d41679b2bdf9e43e7a96adf281722a714bf60004b4dfec4b210f7c7b64913114686f76d3d10af26e83573e45f09ccf SHA512 5a81abf08b6115480573e729bfb5c00bb1c8449b35b6b8ab8523e9c84c9d00e53973e4072a99a736c9d6a44afcfc4d5587df9e1b5036966d18cb5393d3523eb3
+DIST thunderbird-78.6.0-rm.xpi 646529 BLAKE2B eac9273aab4ee9fa46880e0f92d0041c1fc003523fa191918f34bc7219d6e4a5075bb815047881a07b8522a212d76a75c838ba0ced3c8af3cef5466d5aee8a40 SHA512 5b56d907789c926e92344ddbeae276e6879ac7d9171d52f235ef1a319422ba6f6b2c0d905d1e43eb28a65153ca8869fb69a3592a16a308a6fc0e3a7df981f79c
+DIST thunderbird-78.6.0-ro.xpi 662631 BLAKE2B 026ef09f7d7d489e30a28fd0f65a48a3cf0188812b3e34aa5768ade6a8638fd7e49c006ad8c7140c227e9cfd03a451c6206c0ffd55619834b6a735e5cc50f72d SHA512 4912ba964500b233b4caf08c004d69623d2fb864bdaf4ae46f0fc65c2552fb75d7da5c20815e471971457ef5a98661e3424218f78f88fa63077f542ae8bff312
+DIST thunderbird-78.6.0-ru.xpi 756183 BLAKE2B 8051edc385f5c9bc6263fdbafeb777a1c168a4f54f577867d965f5aa91e2b454b8734a64e4a2aeff91447676461d15c815c9a73b10213d60843c8da8e086a413 SHA512 d3f60e3b8efc6dc4fc1fc390dc3afa29f74e71df0efc553e2011f2bef341cce0522c861ac3f131ed4adf9f172d8390597de0aa094670e0a1e34e36afddcc0ad9
+DIST thunderbird-78.6.0-si.xpi 651097 BLAKE2B 70b48d07ddabec8fbf9257f8d3eca281ad35b262abb189445990b628efbb59af527135e873e96c5072c71b7b18325ed656b7873f98121660922b3e19c24ac2d7 SHA512 4c5769c720616276f900f21afbd580ad2bc97f86522eff3b75a09f69f2146f9510742c2d83f4080e7a23b97caafd0d30a40e6a6bebd819d1d67a1412831f6e4a
+DIST thunderbird-78.6.0-sk.xpi 643224 BLAKE2B efebcbcc0fdb45cb68a392837a893b8c6efac3ffa578024698834b3c4b6a1991ded082368d780832719c6d64cc049a4d989614d6d0cfe8b3f9450d1f9d763616 SHA512 2b3c748650b642e7790b854f897cae928197914feb95cab8003c0b33a3dbea050bc60fbdffc32327c458e052a8db8f7e670c4caed8fe5895b2033851215d9484
+DIST thunderbird-78.6.0-sl.xpi 632386 BLAKE2B 703614849ff79d90dcbdada61cd90f493e5bb1747465c4e037a5e5c668e5e0129d03a19fe9e5161c83ec64e9f5f23a134a1b8d7cfb7d3bfd40bb6ab4dec140b9 SHA512 73a5584dd6b27905c64ad3f4a20f089ced5f7987865b316145d8d7160e863381eafeed10918ca18bb58dbce4d9d302c72b511996aea9ec789d90e1e0e5137683
+DIST thunderbird-78.6.0-sq.xpi 657824 BLAKE2B 37c210e46f0865db3feb8fc05e0baf0fbbe5d0c7e2e40248b915cbca82e6f96f3ff1cd968a0979571fcb036fa06e155ce7e118c6ceea962bce28dc9b18201dc3 SHA512 d90f97a383602752adecdbff4c76e50cb5c5ce31589d2d1165bea6c5fe30d80382fc9294f7c7d1df6c33327f99ec87e7ab797645e5ea4ebd89acfeb2bc0a8e7a
+DIST thunderbird-78.6.0-sr.xpi 683113 BLAKE2B f3dbfd42ccb3d7476af6861e1e8650507240b179ee4d6b356797e95436fe43875c8e239facbcf75884a3c1cccdc2224d1da46cf142b571f6e6d24a49d5bd2c7c SHA512 7a3201573cba6949ccba92a5d6801e61775e8dc2e1dd1f5e5f64806559081c84364f974e93de032845fba12e469add4ed731975bc0490dbed03d928b65ae8783
+DIST thunderbird-78.6.0-sv-SE.xpi 648865 BLAKE2B 2682a73db0092415272cf1b99409f282b7b39538f018d697483b6b4a13b81182916f76f1fcfb608dd91e50a239e11e0d973333b5972f3d926322372118940043 SHA512 9509af73ae1efd8f7aeea319c736d962d81c0ab4708b4be5c5637d73c7fa804cd3a30b507f3d18c365f8ca1cee78ebe9a1797cbe4db7c91bd220fd82ef4a5be6
+DIST thunderbird-78.6.0-th.xpi 712032 BLAKE2B 0945fefe03f853e36e2d48b0991b0fc48e2c5a63c18405844ae0c225d302925a81ac3eb30221aeb16e68902aaa099669f961002f917663271c0c8de39c5402e2 SHA512 8e26902e33bb940ceb7e23ddbecd3991caf08ce3e9aa9049a02fdeff377d741ca69aff8e412c0f87329f67d92e7fb77f6a652fd05e3ae5422972776394f4bab8
+DIST thunderbird-78.6.0-tr.xpi 649077 BLAKE2B 0cb4d4ca9cc747f9d430873f4801d0c019701f07fcdf6846263437fc9c072251f0d957eed792fd51df02b80493742d22b24bfa3da2bed358fc7023fd23d4a99b SHA512 a98868cf4efd6fcbd0d52278b7d5a35ea0db4b0d8fcb4b0bc449fa73771f1f80d5b542521450f755c09cd509b0a806716b527ff5b36ff6c87ca1aa8dde654951
+DIST thunderbird-78.6.0-uz.xpi 586592 BLAKE2B 00ade31247f6aebdbb7c3d1dbe4913646ea752041cdd83e6c67779c764ce2f2530e9dc38125d92d9930cf5b5f4615a67b8ec1261e887412f00fdb54f502e553f SHA512 a5d20d2910e70535da06ce1a52d28190934834b609af2c689f6695e2c4b4e0fb20f438ebd4d8ddb4ef7f327acc845144ffbad4965840e72d069662a345d980fb
+DIST thunderbird-78.6.0-vi.xpi 674599 BLAKE2B dcc41dcfcb211f9362b92dde02fffecc83c53e279e97e6620247e617a9da03d641301ddfcb244f6977e932cd3a5e97528fb6d66c098e41394b9b8e2600cb9f52 SHA512 a73b25e4fcb1d110ae79fc14e000bc4f2fcf0870d521f4d2c98bb8774c889ba308aedc5a200f4b344aa12bca954d829abc4bfb4fabf1d14d15af2fb9e0a77eec
+DIST thunderbird-78.6.0-zh-CN.xpi 687180 BLAKE2B 4b662680445032e207b21136af182358b4d353d487baa42022f42b4ce0a9d413fcf7ddfd7b5a0ec6418c38d6979eb8adfbe5c435632873642f9f25a8614b9c90 SHA512 4655c5b71b75a483779b1ee974961f2f11f70d4f3ff60e0d7422681a6fc14ef7b44c7e1ac409c319081b88bdf4a76fa6dc3ca51fe19a0ec87b0df8716674439d
+DIST thunderbird-78.6.0-zh-TW.xpi 687618 BLAKE2B 56a70374a090c6e8118d513dc3f55e7b8b4dc51853cf8a243f369de3f5449a311d9da6b789d4ea326b36db4f386a0926964a3d3d8f64656a2a037dc3e8b45221 SHA512 26ae0da18bd99aa0bbb32fcc5a8e5cb2e22cf60bdef93be2805174c85a1372f59b3099fed24ee5d88c754ada0293fcac8d3ad2d029a622240d583ddfaca87da2
+DIST thunderbird-78.6.0.source.tar.xz 353496712 BLAKE2B 71cba995bc99181c7bee5ad99c3441301f12b79d4db3491d79df3c89f06927ab62261a12cbaae0031bce880f817eee9d35b3e2a66acfd3c070b902f6db1c25e6 SHA512 36194e8bf58117d8accbd6d8dc52a6241d8c572c023db1b271db3b73098652a608da28134865099792fbeb0a2f0d3705d98093447b64fa19eab7efb3e3bdd421
diff --git a/mail-client/thunderbird/files/distribution.ini b/mail-client/thunderbird/files/distribution.ini
new file mode 100644
index 000000000000..ab0d14912f4c
--- /dev/null
+++ b/mail-client/thunderbird/files/distribution.ini
@@ -0,0 +1,9 @@
+[Global]
+id=gentoo
+version=1.0
+about=Mozilla Thunderbird for Gentoo
+about.de=Mozilla Thunderbird für Gentoo
+
+[Preferences]
+app.distributor="gentoo"
+app.distributor.channel="gentoo"
diff --git a/mail-client/thunderbird/files/gentoo-hwaccel-prefs.js b/mail-client/thunderbird/files/gentoo-hwaccel-prefs.js
new file mode 100644
index 000000000000..a00144a7ad13
--- /dev/null
+++ b/mail-client/thunderbird/files/gentoo-hwaccel-prefs.js
@@ -0,0 +1,3 @@
+/* Force hardware accelerated rendering due to USE=hwaccel */
+pref("layers.acceleration.force-enabled", true);
+pref("webgl.force-enabled", true);
diff --git a/mail-client/thunderbird/metadata.xml b/mail-client/thunderbird/metadata.xml
index ae7a481e18f0..bc4d1af369a4 100644
--- a/mail-client/thunderbird/metadata.xml
+++ b/mail-client/thunderbird/metadata.xml
@@ -8,6 +8,7 @@
<use>
<flag name="clang">Use Clang compiler instead of GCC</flag>
<flag name="eme-free">Disable EME (DRM plugin) cabability at build time</flag>
+ <flag name="hwaccel">Force-enable hardware-accelerated rendering (Mozilla bug 594876)</flag>
<flag name="lto">Enable Link Time Optimization (LTO). Requires Gold linker when using GCC
or LDD linker when using Clang</flag>
<flag name="openh264">Use <pkg>media-libs/openh264</pkg> for H.264 support
diff --git a/mail-client/thunderbird/thunderbird-78.6.0.ebuild b/mail-client/thunderbird/thunderbird-78.6.0.ebuild
new file mode 100644
index 000000000000..ed887f803073
--- /dev/null
+++ b/mail-client/thunderbird/thunderbird-78.6.0.ebuild
@@ -0,0 +1,1046 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+FIREFOX_PATCHSET="firefox-78esr-patches-07.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"
+
+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] )
+ )
+ )
+ (
+ sys-devel/clang:9
+ sys-devel/llvm:9
+ clang? (
+ =sys-devel/lld-9*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-9*[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!"
+
+ 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!"
+
+ 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
+
+ # 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
+
+ xdg_src_prepare
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current CFLAGS: ${CFLAGS}"
+ einfo "Current LDFLAGS: ${LDFLAGS}"
+ einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
+
+ 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
+
+ # 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-location-service-api-keyfile="${S}/api-google.key" \
+ --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google 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
+ 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 CFLAGS: ${CFLAGS}"
+ einfo "Build LDFLAGS: ${LDFLAGS}"
+ einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
+
+ # 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
+}