summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Deutschmann <whissi@gentoo.org>2021-11-03 17:57:51 +0100
committerThomas Deutschmann <whissi@gentoo.org>2021-11-03 18:05:45 +0100
commit631a1bd2e5f99b52cc4862a3d9e78b15f29c53cd (patch)
treeea9c809b343c6ffa035dbb6c55762ec3df927ef2 /mail-client
parentdev-util/gn: enable py3.10 and disable py3.7 (diff)
downloadgentoo-631a1bd2e5f99b52cc4862a3d9e78b15f29c53cd.tar.gz
gentoo-631a1bd2e5f99b52cc4862a3d9e78b15f29c53cd.tar.bz2
gentoo-631a1bd2e5f99b52cc4862a3d9e78b15f29c53cd.zip
mail-client/thunderbird: bump to v91.3.0
Package-Manager: Portage-3.0.28, Repoman-3.0.3 Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
Diffstat (limited to 'mail-client')
-rw-r--r--mail-client/thunderbird/Manifest65
-rw-r--r--mail-client/thunderbird/files/thunderbird-r1.sh116
-rw-r--r--mail-client/thunderbird/metadata.xml1
-rw-r--r--mail-client/thunderbird/thunderbird-91.3.0.ebuild1114
4 files changed, 1296 insertions, 0 deletions
diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest
index 6e56a2b98b09..a69ffbcf45cf 100644
--- a/mail-client/thunderbird/Manifest
+++ b/mail-client/thunderbird/Manifest
@@ -1,5 +1,6 @@
DIST firefox-78esr-patches-16.tar.xz 55964 BLAKE2B 79d3a465c69656bb55ee7c1e9060606464b6404435b92f534db275521ac2343e045feae1fff6166fde9e2599a82cd982b0b2395271b1033f0f784e745e2c6965 SHA512 3aa971c726646cbf37a14a0dba6c4ac966b88db655cd8b730c5572543bfbf682991ee7c139889541e4f6936c13f27233dc1837fbdb9ee340b33ebb2cec59b01f
DIST firefox-78esr-patches-19.tar.xz 88424 BLAKE2B fdc7bf8f28b3e799551a70f1cec7a695f52c4712f3b28733648fcd7dac5a599613f4c3d2cfa169266dc62b65619b7f28c0e06d32317adb8ec0056ca79c87e9f6 SHA512 3c81dadc9bf74207c4e361605127ef6141d77700c5c54f1f9cd5ad3be13df9f73c6eec2f51d779558e4bdad1e7395c6aa8943a93415bd1786d461042bc03550a
+DIST firefox-91esr-patches-01.tar.xz 20768 BLAKE2B 22ebd261b445f1920448d9243e3e15ed2e4d393099552bf43f26c9705dd00f8b87b5720e94fc43a31dd96c3a88398e17da80f81953f0bf9658d75e4a85a31fc9 SHA512 5935545535366abf8681286a9bd745f95f83ebf0d69ba5ce600ae513a4391fc16ea7eb4addbe8ad27f97eae3c1fcb05a78e2fc0fbd4cbf7798a83b778b5e1535
DIST thunderbird-78.13.0-af.xpi 548343 BLAKE2B 06beb7e934e29e09145fce1b30c249d79f6e9f40c8fc309b5033aeae664dcb9dde107f42ae5ac0d2d3e46487be30a22b3541ca87e03f37699bd8d352254e565e SHA512 30f699ccd68cd577b691439a3769ecb6eadda84352cac52d27364527a61d77f9584ce225ab871bf0ca76ece6e65fe939021b09c4adaee8e09f8635d326cb4d96
DIST thunderbird-78.13.0-ar.xpi 648617 BLAKE2B 78542fdc6c1c5f803fff4881cb87911560b8be5e350cb5232b573860af76f689a8e60aea674054bf614ac95d8ca75b8b994b25b7b11689d8f82449f0b124569d SHA512 678c1162243aec8e33a0fe09325f2856dcf2ba447e91a5283aa766c65285e95e7dc66e609a6b5bba9129cac393f09fa7083fb7c39b2d7604216155d9f03c2e56
DIST thunderbird-78.13.0-ast.xpi 561258 BLAKE2B 88ce63137775dc96a410e86323305ee0719d1dde716dc6a74e1314b9502d3d25a0ce92b9bb8194a37ecb06445b063024e3f540e547dd56b660fb732f91505b96 SHA512 84f42514f68228cff173a0fed9b7a54859a716b8bc53ea657241fa9e28f16161230c14c4b32e0c5208386ff47716244837130f2785f7eba3e1845a87b5904dc1
@@ -130,3 +131,67 @@ DIST thunderbird-78.14.0-vi.xpi 674612 BLAKE2B 7c2a212ab5233b307079dbe418f61af45
DIST thunderbird-78.14.0-zh-CN.xpi 687177 BLAKE2B d637b0456f8d90e8e2ff1149ba315a1198512882c15de4010f00b217e0446d3bac533fc9bd8b4ec79167b4de778b5c584818953964f792349a69269237b25efa SHA512 cba980ceba034dff08d0e97902f7ad5dfb4931b269fc16f14cb00ff2bf23391a95086be6b5df9944ba213d18e58071fcfcd4060b5f453a2dd2fe84e8ea9d2899
DIST thunderbird-78.14.0-zh-TW.xpi 687624 BLAKE2B 6466d30812b61fa2d053befc19a4404920bf99c7de6e9d43fa427141327dd9018f4a2fe312834af917f9a6e10cbe68e6b04893fe68fb9277f137525f8807b7d6 SHA512 6b4b37123881c42b0a70727ad73929e026f79214a0b4ef0b9ff2adc45f10c6025379375db60dc3ce56c0f15bc129c1acc2426d90957e5c2dfd6ae0ca249ba526
DIST thunderbird-78.14.0.source.tar.xz 352766276 BLAKE2B e692bfa7c40b05ae691d96efb03e3d6c86fcd1c87ebbf06323d0127d7cef603aad2029b1c76406d2893458b1dc5c0ef7a9b352606c5ab4475e85fe1a75b32311 SHA512 a6b70235eaa5bb334bff02591e030cd19a6c13d0302d12a83966a93c97bbdd6557c78418cd26b486fd1ce7b7c1b84cbc2397cebb29682ad1b45bc8de120cab3e
+DIST thunderbird-91.3.0-af.xpi 560018 BLAKE2B 8a29b9a097e2a433cbfd38f680c12cad68cd1479d4863821f0274ec790cb0288e0782162bf29caa76c74c321d7efa36bcba8091a0fddde0a13e44f85325e6a7e SHA512 7f6cefe5d3db2bbf4aa640ab4b68b7b0189d67932821b53eb73a1a2ed274e816e4fce0b6dbf20da4f9ef4d5be8faa58bff40cf9ecdba7322aeb3d22de7c2870c
+DIST thunderbird-91.3.0-ar.xpi 659999 BLAKE2B adbcd3a7b398e394909c03b8c4e0eca2aec202d4e05c6bdb3a2e14b74e4e82f507727ed40f571b9a03d2fdd27a6124860a9b864674e092798494950023b95823 SHA512 b79d8b4479fd5142a6d3428d501143ffd93706abf73dc26692218e937e207fb0dc488041cd57d8064c2f350de1cac5fc4d806b2a72405fb92b2c519422f12256
+DIST thunderbird-91.3.0-ast.xpi 576812 BLAKE2B 2c8c91bbb902381d6db2a0e165f1e90f4f57944b81c74b3050416c66ade1fb3850e0db9c1dd1e606263056bf30ae6322715a81f6d7e1cb598bf422117a3b03e4 SHA512 fcfa5b390a42b8b6291ca9857d7d739ca008519f5806fa398abe1adb4e56c31138009cfc601ebc059662c94ea0cc9017333331ec82ea3a635a5ef398b0bf1b70
+DIST thunderbird-91.3.0-be.xpi 685799 BLAKE2B 562e9f085c3494f288146b021f1fb19d8288033b7a4457f4f6ab77e0a44cf674578aea4f6812cb0541746a61beb001c59a587047c96d03661ac26379c9399550 SHA512 bcf93fa2301040b1748a13e4646b97d05bb0c10e9025fd2342174d590b477320af97d86ef6042d8d96657d56c1ec9cbf6090105570622d404719c24e2dbb552e
+DIST thunderbird-91.3.0-bg.xpi 686116 BLAKE2B e9b76ad78a628ae36189a1ba87a45a201f7ae5ba942f27f20bdba008dcae2abb5683653e860ad45d0552e41f3f1ca80b8115012a8776d991e9b4031d2b350283 SHA512 ed60f6c43626f95dd93d2faa253c9a2ebde3dbe704029a0d04c74f185724cdfb5c2feea8ff48402804c1028041bcbf9adf17b9d446a31daf52a9aa4bcab5175e
+DIST thunderbird-91.3.0-br.xpi 616628 BLAKE2B d52f7ea685c2fb660e01db84f18c18d5482378f4f8b3d9afe9f279e64a0ba10f960b20bdf907349e47c20fc87afeb3467c29cff37cee98010307e7e1e95cf0f0 SHA512 1571fab57c770d79fbb6988e16c871355c8526d7048c55b456d03ec6b4ee39fe1acd20c2b11396418288e2369aa76cf5bed2f3911a064bc9cb5ee2265aeaa2cc
+DIST thunderbird-91.3.0-ca.xpi 640744 BLAKE2B 7334ff568038163ff219603b9d8d7d9b5b0cef75f40b45de88748374de376cf7e07ecf4cdda0a1ee46d6b8ebca89844ef0491a5a519646655f68aa9fffa4771f SHA512 2c80e53b5095466a29cb82e4b5bdbc20ac8dd8074cc84aff2331326b763192a9a255b24f9e8c3cdfc99af390524e8c7f4e6e193f5d8f69d677d6f59826ca503e
+DIST thunderbird-91.3.0-cak.xpi 646928 BLAKE2B e85640865b27754bc643c6a0d0e3772b7875cc3073d2c8070092d9ba0514f1d0ed62e4c5a08c97c2d68b3e028b52ee27bf23423c4bfe38b45811888feaaedc2a SHA512 43889478b3570491190228d166a6b7815f944b2d2e77d0ec8f70d00b32665b5c812e5479a027a1a947f151e94da9573f0b8704ccbf30419adeb804d6a4fe200e
+DIST thunderbird-91.3.0-cs.xpi 696679 BLAKE2B 25204abe1fd438416220e23ec774deb412dc540a52a6b203cdd8fdabe4a5eaf81565f49279183d3204dee3152dbee1f453f36945ff8c8a761fb56ac9a58a2637 SHA512 829b66b45283ca27e6fa941c20e88590c0733d464bb36e770533a480f3697dce4303dfefcba7934b20bb93e7458d948e379f0da0ac9d6b50093f3f75872a51f7
+DIST thunderbird-91.3.0-cy.xpi 672535 BLAKE2B 3c9061f50d94cb45f4e27482d37c5caab75198ccf6f025d54fdd95d4d3b4c7995dd461ece6111c01b7b1efe4dc765f330a7197aca93e4dcdbeab011e599df29c SHA512 d1507df70b85fad42c6fa06fdffa9dd99c5622e458a1032711cf1ffd4b80fd19d42962baa20975dea8115baf85f192b5c5e6a6de8a52a08abefcb21a16b9ada7
+DIST thunderbird-91.3.0-da.xpi 654067 BLAKE2B 2252fad91ffc9e8020a4f7a2c506865a676dac10875c1f6e400d17cc9b6abdbee1adc259e23667928bb0f87391cdb12146f08979fa0606e0818a3251fa0eee3a SHA512 4a78713f8aa026eb75225c227f707ebc77f4e4ba9135532de5721bb79e6d060b6c7d805ee8ce8da504627efc4e342623ae6b8117ed77058835f1a7da7f925be0
+DIST thunderbird-91.3.0-de.xpi 686544 BLAKE2B 198fd1cc90aa38304484eb0e27a8c28080e15c35d11b9066732876dd31cf087143777c13feced984f8086e51eff119b89a335f04daa72956b717abf0aacd1183 SHA512 2c75fac16e2038b698dc07ce92193d458d183f809437a507a61a0c93673e665f6b3e94370f7572252878bba26959c58415a55faa8b2a7aff31a0b0b59e4654c9
+DIST thunderbird-91.3.0-dsb.xpi 705309 BLAKE2B 12c39407685653bd55853686a63c7154f4366f446c39b55703dadd205c7240d25fe7bb15571e29d6383947511869c30040dd319cc76fe0040631f3c5e57932eb SHA512 fb8c4a01f40963af8ce7678143ca47ad8b23e310bdd7d0b667d23b04256144f626d9eb387ee3a3f63ae38cff952058c898d2cd4f97c63f9f0e1260cce98c2c4f
+DIST thunderbird-91.3.0-el.xpi 799134 BLAKE2B 7a47f8799649f1433a5011c111db55187f0686f8e0fd38759481c9f1f80c5f0ba659599ff74bb14697f03254fcfaaa858cf30e8790707338364db3e9dd114877 SHA512 29b11326cdb9c1c094142ffe4d6db9e2ca3f1f55357934216f7bf20f2fb3faa651c6307a4f11d96fbb02bf3840f7e6270cab77bca4a63ef98694ff422b667f4b
+DIST thunderbird-91.3.0-en-CA.xpi 633864 BLAKE2B 0d531412ed8b7fcf093b8b3193f11f2afde4d3673fa3c1cb472a2ba75f2e26f2af7aaf7bbfe50e9b5c5e7cb03e80934d96a2c11bb39f3bc80e41c983ff1c131b SHA512 449f8bf0d20f6f9c2432442a04c5a8763a3d1034997eb3ad456df2fddced967b909714ab61ffa88d38b9cac0f2d00f5578a83af3099439153fc3f2f2e659a9a8
+DIST thunderbird-91.3.0-en-GB.xpi 634542 BLAKE2B 6a5c0af7f3accc63e5559b2ce1c7bc10cb1f258ec050632fcf5d5d1fd144100e6a1c783b3220e36fc0b785a505f15e3a2ef75123d6ec99ca9a8c37e309733f5d SHA512 a67bd60d6604cfd72c59fc763860166d914d96e5b338368f6072ad1968394173d814516d99e4562a52f7bdbd8f2a5eb0939d4042c58eee22b4c33967e3055bb9
+DIST thunderbird-91.3.0-es-AR.xpi 683006 BLAKE2B e3ef6ce21aace0173063a382be10e0cae254d4aaec97268e9ffa5ee42e182f9667753e768975366a2d825ebda5f853bfb7aa9f48d39dd2787970b0584d6bd482 SHA512 934886472adaebe4d7495f73addeeef63be15e20f5c1132373246ff89487713e2b2e39d7570cfe119bc65efdd0325b77b996101c6d0b427006ce7047902b27d7
+DIST thunderbird-91.3.0-es-ES.xpi 573056 BLAKE2B 565b3cce07a04d76374f470baaa7b2a35c98d86ea162cd3016f04cf538682d8d9c626c790692f05927c7b88fd69dfd823e2cd4c33e488be0891d9ed875d13fcc SHA512 f9c66c33618b106048848a590acf8c13550d47d118fa3c1b71509f46130e95ea9670558fe2f80aba1842a78a06664db4cc1c043780e3b920951086e74e52e5ee
+DIST thunderbird-91.3.0-et.xpi 598533 BLAKE2B 1698571eda793f442a5d89be7e47c975a89ec48cde7ecf0aa616855e40bb83c12d7cc2b2fd0bb9653e987477ca7415b4eb1a7788fcd817dc43da069a71424de1 SHA512 3e0d2902af192234c0c84407d45c3f7d25bf55a8d02a56d6c016f5381305c599bab74f9f0e859fdf47ff87a458f10479f6e3d0b1d8a97ff1e406e68382e23259
+DIST thunderbird-91.3.0-eu.xpi 665381 BLAKE2B 85d1d832a9c79f61a17ba9c711ed60422c2e01d61c1814510d4be4a85a898768a915a9400ba1bf235a3280a561e05921ca7c67a8055e71424d4cff496308c546 SHA512 009f0fa7d365c3b58dc5aeb36dddfd8ff799abddb015f8e6303673c1ed3a717f3f9f03ceeb6e325675e58d0d3b3bbf430b7e6b7022fadc1fb712c613888b0604
+DIST thunderbird-91.3.0-fi.xpi 662826 BLAKE2B 52e351c4e07b5dd3b14ba0e1681e09b245f06edd1b9f20f2b97a6ff456ae3662597805f39ed0e12195d4179d5c8410b2654fe83e6b0b4fd16dca12f949e9f7b1 SHA512 8bd7aac9c47314870b6c9fc7c655bfc1ffbbbc6652a8052504a3104bbcf7994a0b26c63a65e516027ef3417ebe908fbfb8b583366a499b1550a86d8fe307e30e
+DIST thunderbird-91.3.0-fr.xpi 694226 BLAKE2B af7b611990b4e46530f1be6b89521412e08d27edadf090331e10c0344bd07d70f56c2792511712f73cdd36c3467a40477ed934e3d6f487095dc909e88c3de513 SHA512 d10e28b8eeed85da5f8c36c8332e65e1028a9243cec4eba414bc3439a9bc40893618a7e85cfb9746f0c6871402a085c197a4d953329da48e5bef023b047d11aa
+DIST thunderbird-91.3.0-fy-NL.xpi 678590 BLAKE2B 168c5f75bac6df31a813c838ef3bd9749015a8ad7761c1920a9e67c86c73f8ad3ebc527c39546c96a91f9eb5068675790549d1edc34806bd0cbf16e08eae6e36 SHA512 3e63f969f2ad8161d748f53652ab9616fb74b71571e6a655df4b9a5e7ab7dc55d5906d24b875f0b975976da22f7f627284afdea2b2a046a05e6144dc72520872
+DIST thunderbird-91.3.0-ga-IE.xpi 601608 BLAKE2B 2711a7778a491b8128db22a8e1ae599162cc13b8d70f04ed3832365347968d7b2e62e2fbf9aa9088d941fc6cf12aac11ea5b6019039c6979d12cb0bc26e07342 SHA512 b884915a7a363ac8b919ea29581c0a5eee952b42b8446b1e13a21dec218eb7706c172df79f53021934aa831cc2be6bff9017fb6c1c3ead20f9b41061849ecf46
+DIST thunderbird-91.3.0-gd.xpi 635459 BLAKE2B 5d6bb7a5d280acbc992d79c8373d79f6942a20c7de1c0c43344a85e155312ce9519a1a14f7a4b01f390661d198a5e4a881238e4f9a1a39847e6fe13a423eeeb1 SHA512 3d91ff2128d0709da4c46f3fc28807542193b0274cd8e2aaa30ce78afb459cf1f24ed79de4450135396d4f77eb22dee8a8ad719dd6e7b5fa853555d3a69f4045
+DIST thunderbird-91.3.0-gl.xpi 669783 BLAKE2B b4118b6816e193ba22c6ee8d225a68e592462cf5c220827111e735241140654bf0d376382dc45aabb21412c9b3ab3fc3f3358de611827f6e63a044680c53e40f SHA512 26c84b7e95420772c46bd613505aba7674e698cb7ddb2ca6bfed196f125cdb59ba02d8153d85f68b47168781072793702639b3400c14629b7eb9f730a3afa8e0
+DIST thunderbird-91.3.0-he.xpi 650584 BLAKE2B 21ef6114521193c25b9f330d8a65855bd58fd1928aa2de03e7597c3320cacce38e8f2f27c3a2884ede00193e67ca17933c3c3b92e746f0e3a8d2f20e21b0a348 SHA512 6d16c298bc14033207bc529cb537745c817193355b73e01b380e2ed218c0152a8bb493087e0a2b46afc36e9415362e59b86731aa098a2461d8a365d089a318a9
+DIST thunderbird-91.3.0-hr.xpi 639668 BLAKE2B 8e3e2d54d88d5a84f4fe102a03a280d120b500315d8aa8075640dee2596dc371109c50348d3b9b4180d614a60e302b9fe2cb908cddf5312cee8ca4b3a2d59717 SHA512 02f09bc15ab2e83ae612fc7c30a9ccc4724fe53b2178cdf5ffd434a646e72bf2082d6867442b627f97df66b72a337850735e50640fd0db1da9b6775119ab0c18
+DIST thunderbird-91.3.0-hsb.xpi 702230 BLAKE2B 33f95b9986177b6f670a97bee30235502709f328606830cac4c374ff53b25f7ab293cad0f2e10408aba2b1d1c7060aab85a68071c6f5eb4c39fb46f5279fe648 SHA512 e601fc09ce1b2b6ce899aa2653ed38c6dcee5ba481bbe91f709ac963fadbb8bfce7aa83bbab052484995a0a54d90c18e298df0f09e42d090232f09cc4d8ccfd7
+DIST thunderbird-91.3.0-hu.xpi 705476 BLAKE2B 262da9f96ef20d6053536ddc7dc0b89a04d5601d0e4bcd7c5a7507eb24c2b357bd090f2fd07ff491ed5924caaef83e918bc96951e5d2824b2d4020ee47e438d6 SHA512 c3c2525ba759c93ee10d9534a7b6142f11282ce32c9379887a3ab8bce4740c72cf8424ecde67787e8968ff13bd0a2e885b24b97a986a632fa5005d7320b4e5fd
+DIST thunderbird-91.3.0-id.xpi 638748 BLAKE2B 164ade48ba4ef254d93f112c8c71b0a03ffeaf36fe666aa52dbdfe0568b9937503b55232a5368a82d6d68464b273cf6482b2de1a16a9534be35a0e6b48013ede SHA512 ecd58d868b2c18c8a118b3bf232fc069ac657e868088d94b2c854b9ee30324a33e79e52405aecf70c83673484e07bf2fa0f65ed630471f601dd5467a74505b9b
+DIST thunderbird-91.3.0-is.xpi 574725 BLAKE2B 5329400bd046583dac062d42839e295bd66620e302120389e9cef3a69d8f31e3a359ceb1ed96c9f623070abfd2c60fbbc6df283aea886b3739846e027b38d751 SHA512 88bffc408815c9a11816b7a95845bbc12f16c8b84d0d1b8513a4712e897e5f1597e95bd7d5531af5a3a2aa70cf3a57e64010139050dd7250a2b4bb57f9d8adec
+DIST thunderbird-91.3.0-it.xpi 598232 BLAKE2B e4a5b6729b23e15e1dbd88d9867235d485ce259dc622694f755f94b253617137537dda23910451d028d24e58a578b90dca06da56e6c689ad512ed497a795fafc SHA512 804729f19ad0132c9a6b6167495ee4ee783c0d376f3116ee1f9efe4f65f6f3d63b330133ac089c415cdd7927c786e925adce3c65d2d61050be6bba6a30b27fe0
+DIST thunderbird-91.3.0-ja.xpi 741356 BLAKE2B 8591296fe68034ff7f6dce349ae49093a0762585273a2a3180092c68469998d19da77e0bdc905253ed92dc0060058df82a3b59453e175edc98dbc2d5b3085cec SHA512 5daf35119196264acea64ebd1487cc862edc9dba8992d4ad34f2392b685d595aa186b62a573005753e5fb5b9717ccbe38d38490d5f33229a627d19976ee22b7d
+DIST thunderbird-91.3.0-ka.xpi 735875 BLAKE2B c61b900cb5fb4b4566af46a554defcf5c711060ae4f8fe160eb7c2aab37d8629323506578572b33eef052d36a842490d4974204dc5d807643bec4ee56de39a5c SHA512 16d59413d470ee92d0b6a373df7f243d2e14389fbfbb20b432e4eb9938c11ee276898d00a036c60a2beaa85cbb0c894050ee201aa07074157661fd5d9a23c169
+DIST thunderbird-91.3.0-kab.xpi 671295 BLAKE2B 20082b798a11d3d567f8cb5fb32a4c838bb48695955c99dc1335f228d23d97ffcf1456c0276b1e3a0c1ef06a9e2b4bf69d6ff2716f3760e967a5654528f7ab0c SHA512 34a2efe01cc8d3e39e17ec647fb9ce4fe2caed73cbe890fe5658778a649e7ef6c284ac82961ab163d565f4c02b02b4433c561dde33b60a8dbb6cce9c1a744a61
+DIST thunderbird-91.3.0-kk.xpi 729727 BLAKE2B 88ce3dd34a9f80b3117f8bd3e7d7241a859b5fc91d0c048752837f01d0005d03f930309c936cf6104d1751628f38346a83567667d84e4cc0e7f1789ddf7018a2 SHA512 e069c3b5fa2674c8dc3eee46956c829bd2bd60d4611013da8918950447b99b00a55c25ea099c08b61f6851fdb8e33b9a2493bcfca413a813dfe2e253cafb0321
+DIST thunderbird-91.3.0-ko.xpi 694564 BLAKE2B dadf5a01f3cb28da2f52732df46996420ce72689b8085fe2e08097e2c75d46bf7a133869c7f2872d9e81e35aecb0b4db42387a7ef3a782c1d6166311991f4122 SHA512 72ea1b67ef18144e847059c90e6caef3f7c1e527c458dfc66a56d706cba9f3a6cf185c738c8c5bdc441f9d91cfb94c5a1f3baf618388c519e53843a83237dd36
+DIST thunderbird-91.3.0-lt.xpi 687445 BLAKE2B a9f245e82ad7f0552c00f3b78945326fd87a85f0fd432de35234247c8b3bd67d7d4db3c483cfb5caf20de2f05e7c2078c19539cf7cee269042841c910afe28fa SHA512 752ef9b1a413fa585672d1e759b77bb0215c913acd1464cc3e1d9471d2e4541aa12ea1e3b697cdb61aa26d090b74cdce901b2029fac83024053b5cce587c7ccd
+DIST thunderbird-91.3.0-lv.xpi 613971 BLAKE2B 708b19fc76bf4b36fcfc3271976209e43bfe6d6981682e68876fc09d6c93a043d47fde08d4ad507b8d9606a77094d132037d537fe737f1d2efb4f15c8efa97e2 SHA512 2dab6750e54276c6e342759013b55a01719ed1193933b10f0f03a59e9bcdb892fe5f6851daaa11303542e9949bf28cb55a58c367d49479602dfbefd0c6507367
+DIST thunderbird-91.3.0-ms.xpi 573772 BLAKE2B 57b5dfa7ca4321b5b31dd4449d7edb88b8d7325dc729a41a133bce23c7cab15213892563db3a6fdd4a685ac00bb53fa754f7ef095b7b114425fbc12f109bc6a3 SHA512 cf7ea2e2071d0d26c6b0558723132767facee1ba7c0997d7bc8d35b32ce0197faa3ee0d57776b776b62df4b998042667039511c86d3aac23b67194422d36fbe8
+DIST thunderbird-91.3.0-nb-NO.xpi 645216 BLAKE2B 7fbf9dc2da547078ec660cfb168d050cbfbc89ad47b442d046d6b513a01615f7b26c609bdca66f9ec93250acf23bc7371cdc30d6c26fbabca42d383ca07fbba7 SHA512 0dfcac57d8f9bdadabc1d9dbe000a852ab2769825dbddf215cfc9f18252c1c583e94c9867f41f77f7ee24cff9063eeaf91fdf5254e4d1320c98dd950f5554a38
+DIST thunderbird-91.3.0-nl.xpi 669277 BLAKE2B b3ff0ec23bae762c2135196e00118436a9bcc3d7255b327b48cc9b23c28ba553fbed4ccfc1488c9162b05b92e12ea61723a7fdd8806f3b5672e3d3c8cec4ccad SHA512 b0fecbc04f611c43d844b6dcaf671ff254548b9893731124a09cabd90e15f960e23fc1cdefca0c0b337f114e0990d35050ddc6f3a96868803badc14d7e809b74
+DIST thunderbird-91.3.0-nn-NO.xpi 648291 BLAKE2B 0f8ab7c8b30f931382d4033e08d17c3d1ebff3924d012e6ef61cfecf31f16908f2b423ab90be80bf1d9cbe729c56e3e9fe58368702a4cc7e1d10ee873990d4bf SHA512 ea71f465424cec5347a5dcee6644d80c441e5c7cb4ab51bcaa458a8da108080d99c9bd64e363f72407d6a5feb86fdc67f7296eb115f524bda896fdcc10939b5c
+DIST thunderbird-91.3.0-pa-IN.xpi 647438 BLAKE2B 6d78571d9a5a93280fe25dece5ee7d03cf06aa742c8a19aee8746b68e798e1e74a161f2518517df2103b785d3b21a85364847e6016bbaa8137e7d2239666618c SHA512 a24711a523955c3d4e52742c37939a97ad0831bcf6e81bf58626f749867ebe7efc15472698b4fd8290a3b08213aca3e4a45b474a797d3c570e2fbf8a881c5f2d
+DIST thunderbird-91.3.0-pl.xpi 678586 BLAKE2B da9f73fb8158fb560e0a377e97293f73832834e1bc368873bade65b26993b3a320228be22cfe4914937420e8ad3a6e14fe9d2d697dd5ab9b8bb98a23ba27f1e7 SHA512 d8f89fac2cc8ebb08e4c5acda4178b07cfcce1d41aa8be2f4a5996186039ed3a84f35e22ef176c43d6781621aabc2665170864f487c9b5ce09215deab163fb0a
+DIST thunderbird-91.3.0-pt-BR.xpi 676928 BLAKE2B bd0009f7f9aaeade44f7f4ebf098357292c4c49eb417be69a79a56ba5e84250424c4ba60edd563bf41772b7128da221021e2edd19537c47bb351a303872968f7 SHA512 da831d06ccfcd3493b70d614240e5d8cfa83dc3e93c3b6867ccc0b2354b98929c0f72a2017aa8801cc2b152fa3f87f4fc2178e2625f1419acdbcfbfe391196aa
+DIST thunderbird-91.3.0-pt-PT.xpi 665335 BLAKE2B 99bdb0378225bd6c0873419e63befad53db79eb115c5a6e6013d2010e560b364f087bb27569dae7a2222294a27ba94216c5cb4ff8108398effab31396debc795 SHA512 2929806aa95834ead922b0adfeff3b16dc155edff0c3479cf9e587b8f6a268bf1aeaaba25c6d415bdba383c7ac346c72c2588f3a2f4b549b455c830de19b92ef
+DIST thunderbird-91.3.0-rm.xpi 670011 BLAKE2B 685bdd6dd6db0acd5878d8fb50eb6fcef7b56eaa7b5cdfe2c4e253be0d2fde276442aaef2e4a8f6f02446573353fecf3bde0acc6ae3b6ac3902dc20a5d942992 SHA512 97adf81600b9ff067062a4697bd71962a03db9221470c102a61af3e29e4276daa755852ad71a540e4d0fe8f4fd6d82beb06724af7d00214c164cd51122be4c2d
+DIST thunderbird-91.3.0-ro.xpi 656058 BLAKE2B c629a329620e30cb2e61fbdffe0d0c623d385c9ea80afb3ec39e3f60cdc29a1e6cd6c9ace7ddb79e1ece83d49b7e7dc120a6e2d6f46cbe610ced666e782661a3 SHA512 ded27b8487498fc0ddc5c15b66abe6f27a61b762f2933765e8ae2cf36f7c452b457cd0f5b1531782aad29510261a2e7ea2c7b87a6ed5a2706ed6ecebd3a1d4c3
+DIST thunderbird-91.3.0-ru.xpi 782564 BLAKE2B fd864ead8e13ce05fe5a62a63513c671f7f493249d0492743ca1e3b941cabd2f5afd39220b1a0fbb5d0a8881639a45dd3f91669fd624c89a2592e751d4c8649d SHA512 65d4e61e529da7f7e1cffc8413fa10eaf86ffa4efdedbc90bdaf45704bd6761c955698e94b7d2adf03b2ebb608ca5ccdc6d7a0643cec7b2d834ad6766f7937a6
+DIST thunderbird-91.3.0-sk.xpi 705601 BLAKE2B 59982508c21a24806eacf7d50d182974580a196dec500591a804b43218770600bdb9885612619e4fd95a57a3fb843ec52307052ccca8d160a49bc4327739ecf7 SHA512 1f15e7716151f6dee469d8a1f1f5104a77a72b9ff0746d30fa484f5338cdde7679b3141a395715cc649df16e6d5b48fee234a21e31458f724194e587be32b098
+DIST thunderbird-91.3.0-sl.xpi 657955 BLAKE2B a09bff8aa1221beec946310a37672120c24c1b94f3d47e67f5039699f115ef1e2d7d50c2789ce386946f3836750f335d9a0835aa1c535abf402e360e67b08ee8 SHA512 5cce8c69e3e6fafa784aeffba1d0d4515be697a11557ce9a04d814bd32c41e2d4a1ef88867b7f50b5e0b38cc0519bcec054f793ec27d3e159e14ac11f0fea8fd
+DIST thunderbird-91.3.0-sq.xpi 683298 BLAKE2B a4c35fa404f3dd29cde2d1c0baf21f1f2bd5a9525f9a89034001a53eb67a27824608b4e86e0077daa9813c8a86e269e0591f992a00e562b73b72bedae151f930 SHA512 1613ed8f74cd721ef497bf8b68e5e6ad07558e46057c3ba4ac40b39b55f45f3e21737c401caa5bb118c560e50c117eee11ad71c01a367cca339c5d3da654f660
+DIST thunderbird-91.3.0-sr.xpi 702976 BLAKE2B 826d7e799eef6584b16ca33c8da99fd617fa05b80a71c27f4aecf860e57c1970b685f1acf0311e9802bd87bb7778a93e843c5789dadedf8d120b1b947585fc7b SHA512 03fd59e6d3410298458c8131b8f09b7cff8869e82dd2fda935f5ebaf3b517633d1cc0e997bef009714b2f95388ff25cfb5c7f354fd81fa2afe819132b24604d7
+DIST thunderbird-91.3.0-sv-SE.xpi 673638 BLAKE2B 5e826df36042ce770aeb35eaa91db88cd32ab2ba0a64816d150e460a072945d0b709c980218372f6033e9fc9a81a5b54fb0678db44574871308a4b6388feb381 SHA512 0463dacf3a2c9392243e3716390b2764ff9e0b78a42c5b727740e0696fa008d665f408b9e0d7a72b4b6a91817ff9c2cea2a22fc3044f64dfe83e5b265d809750
+DIST thunderbird-91.3.0-th.xpi 738273 BLAKE2B e0e99acf1736400dd6000b901948c361ff53e35d3bc8caba38daec36f3974176e4920f859fac3e2b9948c508c67e421f82a2623c7ac70d86cbd20e5e0358dd1e SHA512 57f0d36b5d16464ce6bbb634bd1f604c9df3ba7f05d23f92921d8c38e4ad8fde65af25836e9d357d9efb397e3054832a551e869e9494125a7862c2eca5a218f8
+DIST thunderbird-91.3.0-tr.xpi 680124 BLAKE2B 86b215442a5db17a38612faa688a7b09cb8082e9187ecad2914858ff2f998a9a408aa7145d0e031b13622eb6f3f8dec87ef00f851b453d542132fd349f94548f SHA512 46802ce4488eea3464656e92b3f7682269647f166c29c76d0ab46e0f31231ad2ff87125b511d232b53718adf7f22dbb20a462838abca83060b93d8045b689e27
+DIST thunderbird-91.3.0-uk.xpi 778565 BLAKE2B ffc2419316a165717261814f2c9369ebf72793bc1e17855fc9d4255f9868d18cf1d9b3b809677efea9e37069ff9319a017951fa20db0107db97eb46d5f68a074 SHA512 5ff3bcec5e1a47ec0c352ca24da81432823d33e8ccd972cafa78fdcfd6813dabd2628511b3d65ed90e55b6126016d9fc123729f5664a0611c32684cd05e0e8a3
+DIST thunderbird-91.3.0-uz.xpi 587858 BLAKE2B b6cda786b9e03d9a1ee8b12216086ee3bfc04b314c4fd743d8fe2567ad6b6381ea62c128382ec3bd762375ab1ac1bad61633c37af4505337e41df2fd6d4cd53c SHA512 dbb5afdcfbdacdf644387626557bc8d88622a3709d454efb1471fc5a7d0a426a32ff1923996d22bd0ed62fb386ca226e82ec7e192f7c47b82e6df8830e51efd1
+DIST thunderbird-91.3.0-vi.xpi 702844 BLAKE2B 75dad43c5ef0a81d579b54913a140d78e2033f876fec0f879b175eff4bec70f04f4fcf44e8bf774ea55c8a084502043a6dd8c1e35c6a6d6d7cbc57a0f5b280d8 SHA512 688f34b648974085d70906886a612176ff92e9cc9a7629b5ed23ff2216dc57a41bfb32218113bbf0acc11271b8838aa4fa300673d3cf23614015d82e9a50ada1
+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
diff --git a/mail-client/thunderbird/files/thunderbird-r1.sh b/mail-client/thunderbird/files/thunderbird-r1.sh
new file mode 100644
index 000000000000..a433ee338577
--- /dev/null
+++ b/mail-client/thunderbird/files/thunderbird-r1.sh
@@ -0,0 +1,116 @@
+#!/bin/bash
+
+##
+## Usage:
+##
+## $ thunderbird
+##
+## This script is meant to run Mozilla Thunderbird in Gentoo.
+
+cmdname=$(basename "$0")
+
+##
+## Variables
+##
+MOZ_ARCH=$(uname -m)
+case ${MOZ_ARCH} in
+ x86_64|s390x|sparc64)
+ MOZ_LIB_DIR="@PREFIX@/lib64"
+ SECONDARY_LIB_DIR="@PREFIX@/lib"
+ ;;
+ *)
+ MOZ_LIB_DIR="@PREFIX@/lib"
+ SECONDARY_LIB_DIR="@PREFIX@/lib64"
+ ;;
+esac
+
+MOZ_THUNDERBIRD_FILE="thunderbird"
+
+if [[ ! -r ${MOZ_LIB_DIR}/thunderbird/${MOZ_THUNDERBIRD_FILE} ]]; then
+ if [[ ! -r ${SECONDARY_LIB_DIR}/thunderbird/${MOZ_THUNDERBIRD_FILE} ]]; then
+ echo "Error: ${MOZ_LIB_DIR}/thunderbird/${MOZ_THUNDERBIRD_FILE} not found" >&2
+ if [[ -d ${SECONDARY_LIB_DIR} ]]; then
+ echo " ${SECONDARY_LIB_DIR}/thunderbird/${MOZ_THUNDERBIRD_FILE} not found" >&2
+ fi
+ exit 1
+ fi
+ MOZ_LIB_DIR="${SECONDARY_LIB_DIR}"
+fi
+MOZILLA_FIVE_HOME="${MOZ_LIB_DIR}/thunderbird"
+MOZ_EXTENSIONS_PROFILE_DIR="${HOME}/.mozilla/extensions/{3550f703-e582-4d05-9a08-453d09bdfdc6}"
+MOZ_PROGRAM="${MOZILLA_FIVE_HOME}/${MOZ_THUNDERBIRD_FILE}"
+
+##
+## Enable Wayland backend?
+##
+if @DEFAULT_WAYLAND@ && [[ -z ${MOZ_DISABLE_WAYLAND} ]]; then
+ if [[ -n "${WAYLAND_DISPLAY}" ]]; then
+ export MOZ_ENABLE_WAYLAND=1
+ fi
+fi
+
+##
+## Use D-Bus remote exclusively when there's Wayland display.
+##
+if [[ -n "${WAYLAND_DISPLAY}" ]]; then
+ export MOZ_DBUS_REMOTE=1
+fi
+
+##
+## Make sure that we set the plugin path
+##
+MOZ_PLUGIN_DIR="plugins"
+
+if [[ -n "${MOZ_PLUGIN_PATH}" ]]; then
+ MOZ_PLUGIN_PATH=${MOZ_PLUGIN_PATH}:${MOZ_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR}
+else
+ MOZ_PLUGIN_PATH=${MOZ_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR}
+fi
+
+if [[ -d "${SECONDARY_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR}" ]]; then
+ MOZ_PLUGIN_PATH=${MOZ_PLUGIN_PATH}:${SECONDARY_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR}
+fi
+
+export MOZ_PLUGIN_PATH
+
+##
+## Set MOZ_APP_LAUNCHER for gnome-session
+##
+export MOZ_APP_LAUNCHER="@PREFIX@/bin/${cmdname}"
+
+##
+## Disable the GNOME crash dialog, Mozilla has its own
+##
+if [[ "${XDG_CURRENT_DESKTOP}" == "GNOME" ]]; then
+ GNOME_DISABLE_CRASH_DIALOG=1
+ export GNOME_DISABLE_CRASH_DIALOG
+fi
+
+##
+## Enable Xinput2 (#617344)
+##
+
+# respect user settings
+MOZ_USE_XINPUT2=${MOZ_USE_XINPUT2:-auto}
+
+if [[ ${MOZ_USE_XINPUT2} == auto && -n ${WAYLAND_DISPLAY} ]]; then
+ # enabling XINPUT2 should be safe for all wayland users
+ MOZ_USE_XINPUT2=1
+elif [[ ${MOZ_USE_XINPUT2} == auto && ${XDG_CURRENT_DESKTOP^^} == KDE ]]; then
+ # XINPUT2 is known to cause problems for KWin users
+ MOZ_USE_XINPUT2=0
+elif [[ ${MOZ_USE_XINPUT2} == auto && ${XDG_CURRENT_DESKTOP^^} == LXQT ]]; then
+ # LXQt uses KWin
+ MOZ_USE_XINPUT2=0
+elif [[ ${MOZ_USE_XINPUT2} == auto ]]; then
+ # should work on Mate, Xfce, FluxBox, OpenBox and all the others ...
+ MOZ_USE_XINPUT2=1
+fi
+
+[[ ${MOZ_USE_XINPUT2} != 0 ]] && export MOZ_USE_XINPUT2=${MOZ_USE_XINPUT2}
+
+# Don't throw "old profile" dialog box.
+export MOZ_ALLOW_DOWNGRADE=1
+
+# Run the mail client
+exec ${MOZ_PROGRAM} "${@}"
diff --git a/mail-client/thunderbird/metadata.xml b/mail-client/thunderbird/metadata.xml
index 0f7a99f4932a..e281b042c528 100644
--- a/mail-client/thunderbird/metadata.xml
+++ b/mail-client/thunderbird/metadata.xml
@@ -15,6 +15,7 @@
instead of downloading binary blob from Mozilla at runtime</flag>
<flag name="pgo">Add support for profile-guided optimization using gcc-4.5,
for faster binaries. This option will double the compile time.</flag>
+ <flag name="sndio">Enable support for the <pkg>media-sound/sndio</pkg> backend</flag>
<flag name="system-av1">Use the system-wide <pkg>media-libs/dav1d</pkg>
and <pkg>media-libs/libaom</pkg> library instead of bundled.</flag>
<flag name="system-harfbuzz">Use the system-wide <pkg>media-libs/harfbuzz</pkg>
diff --git a/mail-client/thunderbird/thunderbird-91.3.0.ebuild b/mail-client/thunderbird/thunderbird-91.3.0.ebuild
new file mode 100644
index 000000000000..5a0e48b7bfb7
--- /dev/null
+++ b/mail-client/thunderbird/thunderbird-91.3.0.ebuild
@@ -0,0 +1,1114 @@
+# 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 linux-info \
+ 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.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"
+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%_*}"
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+ MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+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 ! 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
+
+ CONFIG_CHECK="~SECCOMP"
+ WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
+ linux-info_pkg_setup
+}
+
+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-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
+}