summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mail-client/thunderbird/Manifest66
-rw-r--r--mail-client/thunderbird/thunderbird-78.8.0.ebuild1108
2 files changed, 1174 insertions, 0 deletions
diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest
index d31cad2eef56..9249b115bec3 100644
--- a/mail-client/thunderbird/Manifest
+++ b/mail-client/thunderbird/Manifest
@@ -1,4 +1,5 @@
DIST firefox-78esr-patches-09.tar.xz 67480 BLAKE2B dde764add31a755765df996aeb50bc647881f9956c9b18c87ccc1c79325ec6f4c3a7ae3a8be1a64c5d80a9aece90d05697a8920912a7a37fd62d62bf2e03a536 SHA512 aa0eb6183ead7efe231ecb2922f22d5028a9edb656e65bfebfbb175af868f8c8ae05668e4bc2a982befcd04698cca43d3abb5b261aa2931bc7d8c7808a8495f4
+DIST firefox-78esr-patches-10.tar.xz 66396 BLAKE2B c29b723e47c58b10885b220080568aba751e1b73c58e28fce62a2da4c4c3ba8c71b63e60448d17599a3df4446dbd9f9387b4b2b75da5ed1e545591aafe8ec83c SHA512 6bb9caf1f6867b894ab315a73f8ae6f381b5c80c90539f38e786ee653c72c0df055aade854faa23f22cab2253f54abaf918a756945b76ed88f5a224ba8a8f12f
DIST thunderbird-78.7.1-af.xpi 548331 BLAKE2B cce90f640602a186d4ff62ca183bf324d0f0a7f439932c12b20422ed19c1c810017317e7f35ab84eb45f0fcea08e2a227c24aa8a90c4dd313b415e98eaeffee6 SHA512 65937e5eb081588e9297cc4cb1f273248b83d50f1d4f41b460943ffba316bb05f8d369271718fd568ce110c5aeb4af081943a30465ea2d916d83a65c9fc4376b
DIST thunderbird-78.7.1-ar.xpi 648602 BLAKE2B c2f8a333b25b271794194e98036d5b7bb9c33b3e126a5c13f0e9b1a11afd1ce5e443c01ba1425201376b17158fe72e8550410db08da25a174ad49a4e3c47e22f SHA512 34a430b789c0032b5f093d206ac3cfb7b63c59d0e08fd439f0793790475eb1691932b8babac5a067d48c381e497127e9d11f9abdecd8e70f953320142403f539
DIST thunderbird-78.7.1-ast.xpi 561255 BLAKE2B 72a927b2b7914cd30bdf5fd787c9c73bbc7b31c496b3980b07db0d7945df33ecd53fdd21e8742f48bbdd906c4ea7d03f2c95d599bf2345be37cf8ae424e90f8f SHA512 dfe810e362fa0947d4a44445f491b0899def9e9da463f39af4335634dc843172a3a296a49dc0d13e5d8a25fce6acb608b7ab82b8a32236eb52815a05372231af
@@ -64,3 +65,68 @@ DIST thunderbird-78.7.1-vi.xpi 674614 BLAKE2B 50c7c2280b2e804813286f32752196db4f
DIST thunderbird-78.7.1-zh-CN.xpi 687176 BLAKE2B 0848a228e62a77160f8667c6fa0baffa03c039ddf165421e88f49e736859499874e57cc7978956e5f0da7ae383fb5d31ca25b0d2f84464e3dda9c414ba731963 SHA512 abf954d65768e9598534232d74da8ea44bf9491453d71bf17ad64a4deacb3572985abbca16bfb9047b64f3b2e33f379a6ee50a29eb470006f8f442bb05d6a597
DIST thunderbird-78.7.1-zh-TW.xpi 687622 BLAKE2B e9ba2b698c944c33d080e7522bffce093b74494b480ccfe0df9942b93b7ad16347a65e9bdccc5b67953dae032310c70c6bac5f192b5d44dfeaedc707318ba79a SHA512 871fe27f95cc17e29145039f52d4fbbb126d231a7bdd27fcb11a2e5d1925631a708e49c3fa8c8d08f0f2fee838f3ca929c1e7619761d0444843f8c8d47611c7a
DIST thunderbird-78.7.1.source.tar.xz 361610852 BLAKE2B 71b6ec2aa5e99d8c5114f66ff670d2930f246c57c461cddcc6c61b4beb8c629d5269197de62fe10cb0bde1be796312e4cc316b63e5c75d28cb9e6bbe9298dbbd SHA512 fe5635eda67ea356cc83e8e5ced4ca3c4555a964192c3e77fa0095a26a8e7366c6520604283bb9f3a5f529fee18baf54ca169bdcb7b402bd3752157b95848bc4
+DIST thunderbird-78.8.0-af.xpi 548342 BLAKE2B 4165c5723013c15bab04013dc316f6c7574acdbdcac676d9971b35d6eadd13ed0cbeb2d4425faaa0d0b73b543920c7a2b4d569bc8ebc5f3502030dd85950c3f4 SHA512 6919ddf5549197a398a75ea9ec0e8074bd521772e9b1a0977f9322e4967fcf4db09ea708e07c73badd3ffddf351443719d0010b80edaead75cb3b75f8eb1b0a7
+DIST thunderbird-78.8.0-ar.xpi 648607 BLAKE2B aa6a845c9fee67edde83c77864bcefd4987d6e0de7bbe74dd393d04a29b3ab13d1063c5c05700e8f9aec4ed272d2dbc75c0b90977fa92047cef1abedf7cfac7f SHA512 6a607ca466ba05bbe439b3188a470782e3f5bdd1346c4d24eafd7ca7127c4f456d26de006208affda019a010e4290e1e6940943764ee03af6b4c0933153601ae
+DIST thunderbird-78.8.0-ast.xpi 561254 BLAKE2B 86b08175ae6aff2d3c32068cda3a814d6a7a004032f9998b5876a0c6c75ca619effd7c4b647d5dc92110f82da4c78e86dc38dfc180353a2eca5ba5119029ae8e SHA512 009df4311c18d408211bbd40179cc566dc248a9ff38eeabf7373b8a5551493c92486aeee114a09ca831f759e1ba321b56ce370f7f4be7eed82f0e90e6af5e449
+DIST thunderbird-78.8.0-be.xpi 666671 BLAKE2B 6f7d5d82f1e596678e0a2341e2be5ab53ac12fcbca51187ed27f9736bf19b606e09fb2d4f54630863e942e549e9499da8fcc01d8ab2fa1e50aedda347e2f24a2 SHA512 c3b4f7a251b558f5cd3925f99d47e03372ab2512ab538c98451866a58c8c0460230316079699ddecfd0e725f09a6cc0765d4194f5751da80814587bbe04bdecb
+DIST thunderbird-78.8.0-bg.xpi 672415 BLAKE2B 9d750e1fbc1bef06c645e79ca6588e428eae3a5c5d35e9d5a7b7df967faa7596a7332e52c251779b2d4768ea8c8dbdfa22dc021b63d5beb1d2adbf6b551bfee1 SHA512 58468edfcda578fc9b262524d38f31857d59411a4e63a608c5db517bfa9bd7b7bb20261ee25647ac74f5b48bc18c9ff542c8715323d59a63b2f01a0245e43647
+DIST thunderbird-78.8.0-br.xpi 604536 BLAKE2B a33c63a80b534e48f5cf38205b3711673a02b3de2163413b99d652cc048b9ee9726192d67a53636343bf2e1f80e6b7e9bbc8f37bda0fb00e994ae64556037b8b SHA512 f28ca741d5860347964388fcbdab173223ef56766c37051dfc05ccde0f1e77184d57fb41dced3636967f895ef1f92119b99982cb37f2e991ae833ff5de00a169
+DIST thunderbird-78.8.0-ca.xpi 620451 BLAKE2B c32b0469dccc4cae5bb4bcd3ced1a503df8cec0ef750bef6c6d11057b9549e327a93bdeaf293d0fb06a00e3b8cfa8c8bd2e02f5d464f2c1d6eb482e23d899537 SHA512 60fb3eb0e0e24c5a52ea5b3203fe1a2c83920579607cdffa5054e6a8d861e8963598ff23c24fb7e0fb5febf997e9b79126046b0413a01b5fc067547cffd64879
+DIST thunderbird-78.8.0-cak.xpi 635653 BLAKE2B ce92ac946377fb7144e50dfc170946360d673bf29095a7be4aff0dded75f34307c25679750b7ec766a98711e0f07ca681556026c99b073b51094a4ed362d527f SHA512 64e8d64f9729dedc63eb5a140237f060e5a4a37fad6fe1c71d5d04738dcead20ab44690c6cf12b1bcdca31a3a7ab2f6f06c4985ac3cd7e9356fb5c0370200f4c
+DIST thunderbird-78.8.0-cs.xpi 635349 BLAKE2B ead7ef55525a86804386ee118eb6f40dc850d3f83d9f70534b7841510a80b6eaf3ac3c8c306852bd610207c9f71409b3a085f2e173edd9a47ac49e627f78aea1 SHA512 3ba9a8ad0ad92c1f95f60fecbc5b06e9b4afc8e5862c19c5d7204a014b689e9022b05f7f25e7bea76a12bb53bc35fb2daeb0bafff248002490193e5a96091155
+DIST thunderbird-78.8.0-cy.xpi 646245 BLAKE2B 3bf8ae9c19903c49618ea9837f00a35ac61ca76c3b1b6d63544bc86e5d5fdf913646fde3fc2fadd12da373ad388bdf9527a2334d6ffccf73a776ffb97ae2d49f SHA512 e2859b10dd6a21cd534ed066cbf45f73b020624c0822ffe7c00a9bd38fced0f1e0d6684e907c855475e68d031934346d8c79a4280f91141b4bc6a6c3684b0f88
+DIST thunderbird-78.8.0-da.xpi 620998 BLAKE2B ad2d11535c67bb990da63b8c34bec78afb9ff2dea92f3fb82628b34c5cb144925d8f977937489a5c8bdbc3ed118ef26e8a9efd6bc866f694f22cd0147041f1ee SHA512 5df2c6e9d88554a120613839d07d13c7d181dcab4cb45941122ebae16311f810ff82e99464124a5de672c41a1dc99fe89a54da425ceaf3df0053e340049ace4a
+DIST thunderbird-78.8.0-de.xpi 665187 BLAKE2B 5f4326eee7d7b566d273e62dc8924f20d6ff515d49523552ef3dd982cf1b2c6646844785bd56bced0df65a3149c2c349d54067106f6d0c85b315698c4afb17d6 SHA512 7178f9d97fabc04d46e6c1b0857709ce88720f44e316868799e92e6c96a7186a5c978635f72f63cc5568b356a03b85a9e4bc4067eccef9bccc8a1e6ef4d61517
+DIST thunderbird-78.8.0-dsb.xpi 666773 BLAKE2B c8348d6df73e4d60bd4df2f71052862cda7b25684efd2b3a658e98015423546b5a2762e8f6c16e40960b29e6742390394a6223c939f105a34012f0a29d15a8ee SHA512 2b1eabf4fd17d1b99acad9fc0741093dc4d79fd94fab023868aa8f61d9e7dd92b53d2a963754584d2d4cf0ab95a167292cd4cf8a3d50d724f5ba4513c2564334
+DIST thunderbird-78.8.0-el.xpi 774460 BLAKE2B d9830af62f3e07e4655ccb4efe7eecb1dcd512cb2b12169b1a40388d1cb65a387cbf69d23f0c29c1764b9478fe427373665af7056d544302af6c1016d8ea789f SHA512 9753aca2e05439818e5d45a6bcbc64c48f3342a3ca7414378fd8edd72304637404b29581833ced3320640b8cb6bf66f5410a090f76df331cd56beac013c99a9f
+DIST thunderbird-78.8.0-en-CA.xpi 611769 BLAKE2B 88f182b41a461f19cedc03c3dbe54637e50bb08c34fc78c10aa680ec8b7cb97fd721b8758edbf49c3be0dfc8fd4784452864010a296d7cd9a1ffc9045fe06ce4 SHA512 cbfffc53c1b5fd4fce0037aca6ad8d795e997ed260583dc2794428da89dc43cb4a73e1ff04567b902266603421ad52e2d82e9ad3bd8b702f938d2db1b7532abf
+DIST thunderbird-78.8.0-en-GB.xpi 611186 BLAKE2B 170d4dfe3ed46b2ca6e912ee4bd4ebb297486104f4b9db4f7720ae2a44ab74a18b556e9b6a4212bb7e386b0cf7b7c73b8630d1be3ffff1acc1f8dc55c452d322 SHA512 ee301f1dbdc7c687b6825e7636121c583a6410465bef77965b3230638a4584dd45caa75b938d001a2b378a58a965e324912637fecb06a96b841aa0f11897899f
+DIST thunderbird-78.8.0-es-AR.xpi 657788 BLAKE2B 2c58fcc67575130a21f3c863247e300f79f675737857dbe2f48510bc37e9d2f982c8d93972b86087aaeb59a3b9e64e62e871a8f37f6e6e45f123e593f3b56444 SHA512 977a2dfbe08e86b5b15c5165d77a0c8b4218fd3a77c7c26b9d6ed60422ca2467e661b0fbb9a5e7fb0e791fb2e6c58743a2a540bd10b0efe077cd3f2a24f3c515
+DIST thunderbird-78.8.0-es-ES.xpi 569795 BLAKE2B a383ded35dab81b3777cc2431455df3b680110a4769d638aeef8d42f38744965a5c51d04ec9d9d56cfae5e7bfffdb92630e9159dadbc102cfb41a594ca6dd83a SHA512 24e84d2b01313466235fc0979b8d2547a453d4fbb5db42c606c3e95241a1e0047aee7e130f5095ab57a71a3f581c3bb312aac8a92c7dfe0b4f8b89d1072eda75
+DIST thunderbird-78.8.0-et.xpi 597734 BLAKE2B e14bb1b238e3f1d6e83a1b2cab5b8d4e7c72dc9d134128a190feeb9d8d1bd30aaa543f9613a93dc164fd54e31eaad53700e777fc21f98cf58dc26ac2d97360f4 SHA512 9cb6647db768f9693e93b9dc81f2fcc13c87465dc713661ef26f0e238bc7d61fd393749e26e85aff434fb5de253f8435cb81ade6637456cfc6a5cf52ad362522
+DIST thunderbird-78.8.0-eu.xpi 632966 BLAKE2B 181574e2029b48b613877c306a0802fd90e040b73e93a6cfa1ce1cdb38008ac4a598350ae1fbde9e5bd075f7f70e8269003c1f37f31f8ca9c62c35fabcea1068 SHA512 f00eda0202e562e64e0432978d2b0ab778189d28288c0e7afbe91a9e12d084b0b0e3c8b19ec329ab0112155713c67876fe9d81a9218e537d8e751b59a57af9b1
+DIST thunderbird-78.8.0-fa.xpi 639752 BLAKE2B 2641ae1d68498c9ea3f35917ce961d83f8248e320da3d4737f316f1338c548cc10384303095c7ddf6e16e8b67538e0b535394bb4cf879cbddee9cda6031ee0b5 SHA512 48c807a6ac991434a425122d41c8aaf0eefe184949c9113268a9d2cb872f1d6afdd189e48b04f1bf172a61f9ea0eef258396fea8621afa5fc99a74079afeacfb
+DIST thunderbird-78.8.0-fi.xpi 642446 BLAKE2B 9021bf414f4456c4bf31100fa9971c1d86ddbeafdda00afed720168e26259e8fc3662a01f6768e3e03dc11c35bd128c36aecf1ad3d62b910079df1ea1096063a SHA512 c1cccb2c151496009e19e11003f0ecb9b790a8d38eee729665ee5f0a60e8301a42187a6b7d6994cb01f429d282d4eaea8f8456898eb3ed02b35456e9aa029e80
+DIST thunderbird-78.8.0-fr.xpi 669487 BLAKE2B e3fe0ff95281e34809deee629ba2c4b373a51283da037a62b214f7168d2222166140b36a770cd77554c594240940eee0f297a40bd0f601bdba558477b168f98a SHA512 1db2d3a5315ef3354d62e0d3137f6c3a67686379b57d77db37c9528e9d7be2769fb0fec69923de792cd1c2e6f9d2021d18ab335bdb175f12b46dba4d761f29bf
+DIST thunderbird-78.8.0-fy-NL.xpi 653081 BLAKE2B e9f6970daa8443ce773d4f6cb1034ac80fbcaa26459d7b5462dfe55fb2f641ac5972e0170f066b1c6f274be3fc31de4c3dc6fccec5093d884be9eb294fb34f25 SHA512 be36ab1dc00f94924671aa208e5d0ce9026c207a905943e6858de8c3d1e5c3f3cca17090e43371802069079e05eba7d3d1fdd1a076d3f998959fbc1fe33a97fe
+DIST thunderbird-78.8.0-ga-IE.xpi 600699 BLAKE2B be75208495a5e984a5ca52d044be90ed08594f03f24c8aef2ff518907e7f8a1d5efff472664a45cd40bb75c209f02bf1c9b70454441160ad521ff0bd09a6b88b SHA512 f3ca1e2a43f67b30ece5ca766c6446a09ca840be153677947a0648365a36d863e2b6f9696856a8a0be489c3162c80f61b9e47984c6f139f9dd19841af2b14ccc
+DIST thunderbird-78.8.0-gd.xpi 609386 BLAKE2B deff30da088dcf3e8f001ac8b7c734aceba8cfb86f4ccf53887a0dd6ad4da6ab600eff9b0e6d276ced2f69e47b02463cda9a751c48cfc78de2c7d27e1d65d873 SHA512 7c1f1f955dbe7c93179e5cb0d4868af1c99947202e886016d74018aee79d29fe93a1fceba7bc14de2ccc354532f9a7b0bc27554041cd78a4bc064ba2ea5993c6
+DIST thunderbird-78.8.0-gl.xpi 615725 BLAKE2B feef84503450168170ddfe839fb21e24ee28004495c60591f55da021274c2db6d5871760fd2df46e99def462191c9a60cb565d0def417a57a3af78d8165b6271 SHA512 2703e48c68aaf84c7da1c71f59784e9df8cd0986da9e3174e968e41300acd51ba28adac97e293eef2f41c32fc7818037bb0e6df7ac9ef9a6e502cc1400107df2
+DIST thunderbird-78.8.0-he.xpi 640504 BLAKE2B 017cda134569d13b0e0200f0a63fef92925f6e37c465cdcecf5203b3e6994eb0ae4187fac66f538b8956db1fd6d1be824a76ce1ccde401394be7f82a0b8c5ade SHA512 84e4695b4d68b4adfb39a6937857473cbb03385f7508cd3644888ec27c9508e4a7fb370d80731ba319187dfaf0af62e46030c36b872dcca7995abfdd2caf188b
+DIST thunderbird-78.8.0-hr.xpi 629030 BLAKE2B 3816d4da01efde04b61912113b1c306c129a2b990788d64daaf2c16ee962fe88da4826c4396dd2414134e171f89458e283e09511c068da739053c4ea5bd0d4bb SHA512 09e7c9d85e59c0bb4a4c4e767fd240bf28a0271c4146bc1a77bb77fb5b23307fea046c711c1039e9914944f62287b2be749a2c2e1e1632b6726e6d8dbca6192d
+DIST thunderbird-78.8.0-hsb.xpi 668598 BLAKE2B 051f0348d5f5c61ed0c2b256fc3877cbe9ed66053a085aaa8e61fb7f81ef5ad9b3ec1f254b3e52d965fd0e2e60c5305da84c7d661e303eea0b2ddd34cf461c74 SHA512 04893aea2509b5d36283700a028e85399a25543308f70cae30d0023bdf580b3bba1aca47a042170029cb670d3ac16d5b4a48aeef7c29080a4c1c8e68050d74d8
+DIST thunderbird-78.8.0-hu.xpi 679835 BLAKE2B c66d7819ac1a878fddc35864472181be7b3b25718c13b9b9db8d075e3c234e224414ec3c1cc5028cf3f0f9ac8eaae142af61cae01b286df2607b5df3e6e42c76 SHA512 b79e5658913c27628ea94a3c8b0d52aa17dcb9009afeaf138dafd4d70945ff90c466666676f634c9f4c5808dfc71587ef72628e576b1d6389e6bd576130d41a3
+DIST thunderbird-78.8.0-hy-AM.xpi 713331 BLAKE2B 84f0385c330658fe89adc14e5a33b1298ddce4cb03ce2d79207f9165b9e9b2de8bd659c142f207f0d383bb24d8f6d258679149850501384305153ba2bfac1bab SHA512 779b0fd7be93ae028d3af8dfc1b90852fdd39eed6beaeedfef7608dd9b7d020e692939d441b0c59fec5f3cfceefacd36e2aaf0fd7b10084df97ce5630d59e069
+DIST thunderbird-78.8.0-id.xpi 620677 BLAKE2B 473a0ee4ffc941bde1ef51d3d604bcf34926b7134a638ff2a1b5352e72ae6dd4d6d3af2def8913d69ff668615eaaacd5afccccd8ed7f92f746fb9540128c7feb SHA512 e1416db889b9be0c023b4578cdba75adcbf9d4b88b29f6e00d5647c09aeaf1ab1afdcbd88f2fe2e3151454452b4077011e20fc5517d3ca528f36b2cfdfa67ca0
+DIST thunderbird-78.8.0-is.xpi 581648 BLAKE2B f436e88f7fd4aa3a45796dd31a26e8e356dc64f274b8b47fd96629c9a117fa30e0532180b895c15d434ca7472d10b05174e18bffd692314545515afa96e419c7 SHA512 6c4e2c9ee83130b64b150e85446df8b979af5984630de3a32e0f11f5a39cead50068a532c5a5971ee93ee9242190c176bf2ca4ae81d48d140e4fbef37bcd7a41
+DIST thunderbird-78.8.0-it.xpi 572965 BLAKE2B bd14e0ea976377cadeefb826843805481ccba23f5c287ec11190b0dcccd5a08fa6c859be4b105d5a5a56152a142ff9ef33d763996276ac5a51c7d686c43dcf62 SHA512 22024982614c700e1fe7ef048b83859e099d40499b57559758a03a8ea116dd36c1ab9820fa7ef550558c09f9558515b12dbe786f3d7b6d27a3ec077b8fee4d4e
+DIST thunderbird-78.8.0-ja.xpi 722454 BLAKE2B fe11bc934e89893e7f352fdfacec5b330b0bacfafded38d4574e96e1762a5a9ed9caec370fc1ea805d30d7a236b9927840a3b331dd86d506676daaef0a581816 SHA512 92f2590362935cada2769cb84e3f27395353953493bf15d1e8e6cbb8875cbeb594d071a3208d040ce4c79da501066ea2c082923ee8faefc46c3e158a4c1a23f0
+DIST thunderbird-78.8.0-ka.xpi 717017 BLAKE2B a9fd20a0064e7ebaf9b990c8bd0cb795331656ef5a8a8bb523262e46931048d00f4475d128787d90a2a8062b4c0207672ebb1bab8d93073e434cbe5863ac8c07 SHA512 a1a85daac4b3751db10ca9fcab144324ead5023245f02c10c2d712f7a027d6ff5dae5ca04a5f6e0875cb7fa9c2ddc0376d503c7cf06cb878db5c27ca8d9d5a7c
+DIST thunderbird-78.8.0-kab.xpi 651922 BLAKE2B 41bff182cfe72c270cd94e15512c8b134ab4d384dc7ec52bba86a808192312886e3256ca5c128f0523e99674789b516089d6239e432a6b694da0bdc01751d154 SHA512 49a75c15a0b6ecb97f518181afa711e15cf2c7e3b2e368582166d4e092fa9beebcadf4e572eeb729d8531f1ec5ccbfc688edde024c733dda5980be09101ae52b
+DIST thunderbird-78.8.0-kk.xpi 720468 BLAKE2B 21815445c1665808abe1ff93a77252d2f4622971b80e5210828746020850546e350c8764b8b7de5b4b22b7210662bd32df14d65ef84ade8769bced175cba310c SHA512 db40436d08152560134671e6e5c52e3ef1d5981561523519fe0bbffe88c2b0e305940fdb034837715aa1e7f2d40e9993f90f5614dc949fb4bd35aad3afc22efa
+DIST thunderbird-78.8.0-ko.xpi 688207 BLAKE2B 2666812be58bb367bd92f98712e83323ad61677431e8a3d1283bb943382b182e16b28ec58f435ec59861d819abeef1ebdd37712ae4ad94324d629c1a969dc2b9 SHA512 2e1b468fb2f74cebb4c8d1978549a12bf2472b8dc07581281e8eb993b2454c5c23c1fbf99adbc4360daa00b4f6744b1d7e45d165e3c835a1a656f0dd22976e9c
+DIST thunderbird-78.8.0-lt.xpi 660298 BLAKE2B 5f1bfe651c3af4fb008fcbce06f31747fb5145fc92180743ad08ff2a9afd585dd8b1a2cbf9fd2f2bc0dedae3a70319aaa796d4e763d4b8ea5ecb0a96e8900d68 SHA512 0e454ea9c7a87d34235d11ba843e9801bbd2a093366f5d845a2eaf0cc7e07430409f266a09f8608750e2bc78564e8a0a24591b95ffc2880452546e60f94b72a0
+DIST thunderbird-78.8.0-ms.xpi 572174 BLAKE2B d72c780ac2766622b72eaee552b9957750d0cca30b7ecef4ef1a5bfaa26f6c34a32f86b3e5200d03c487514b83abfa99ad3e82cb14d9bf98544f2968dbdf4976 SHA512 7872308796d453a7d04423f51d6e8e47ef320e49b0e43543bd0e381acea30d4a4a0539c2a5d29529fd5b5bfc0ffc9bf6f113229bc413f4c6e4d8a2a492ef1c17
+DIST thunderbird-78.8.0-nb-NO.xpi 637239 BLAKE2B ae4daad96278e5b4154b4be4675a84d838c1d3def8762904a73d33e20e458c1a676ca4796f46fd72742195c3d76565f116849fb2512ac88b46e9de7f1d46149e SHA512 ba07b4ea6a9e46b707306cb18074bc67e318195a1fd257d2632b90ac6de8c5c45db178dd04e51e2b168a9021ff278bd487597bd6840da1883f8874a37c0be17e
+DIST thunderbird-78.8.0-nl.xpi 644359 BLAKE2B 41965faf73c3c0f9fb017965b47468beaf4faa9e5dfd09b66cc984b1d0931963b0fa8f34fe641f7392731d86425e29ddfdd474b5f0d2debeb5d3af4d9a33701d SHA512 1053066a04e48dfaab69e409389cbc248b03aa32b9806c77f1c5ab2e69adbc9fa5d91142f4b87d8407d01daf958a035e73d44f7f0c3d1c13c141c79ff19ca9a4
+DIST thunderbird-78.8.0-nn-NO.xpi 640690 BLAKE2B 46cc9ac54bb43b20202213e033b7153be0c3c5313e48e44442f85c90a56222b77185511c244d67663205117391e02cb7ecfc1f28ce997be170bcc3a4bfe35d34 SHA512 1c08b8daa87b50ba0474d55a4d72161796e58e76e23a88e6c88035bf019aaad9834a625f8fd45cb42d106043252b15f346296573fdcafb7d11643ef2c73376a3
+DIST thunderbird-78.8.0-pa-IN.xpi 633219 BLAKE2B 4d508e848a9bc05aeaf4c54ee34d061187effed00dd2610bf27cb28df166866dfdf17e2fcf2745f973b6945eeb444bf6ab165f26b18f366874559e8acd28921f SHA512 65993d2cd037692b6b56eba803fe027f7dd5ac567dce89ae5d4929ffe99501d681976b3b0a99b9c74ec7b40223aba30de002923f87e8ec0ec7e38bfe0e49482e
+DIST thunderbird-78.8.0-pl.xpi 637132 BLAKE2B 795bdc308f7dbf56195cf6cf9c4a71d017795f367caf61611515cb37b4057313299efad6823274e56a7b23fb0daab5aaf7ce89fe4e24b9d4a043b7af56326c4d SHA512 cce74e59f21757582e83ee05035682dc6371f3e171226dcb20284c5528f9415c07254a3b1643e74a9d361f1d2441fb6b4d9194fc84630d58a35213bbc3bc3394
+DIST thunderbird-78.8.0-pt-BR.xpi 649415 BLAKE2B eb9b29ff21191682e402a31e63a6c24d6cb870f2608f525933a18da4e663db1d9cd6faa6979724a297c79e2dc1f0398ecd89ea623e1d7972cca675f5712cb2ca SHA512 bb6c5a9d6895de4faf6b19500d9c244976ec11fa88b16226c15fca17264a09f1ee7deaab7eb7b2b9b22b176c959a05aec578d9b28b4c0415f73e42300cc6d097
+DIST thunderbird-78.8.0-pt-PT.xpi 655502 BLAKE2B 450bce6537e58ac2750c7c8790270dfe994cf38e4bfb07fe322b9d1e6fec47665b7535724326cd4ebf8a0f790b30734db29b123b9289325d355038b2fd622fde SHA512 ec04f1ffb87cb5c83f1a0d1fff72d39e01621e35fd506344cf50217ba056428f6afb52a89824d89ae2968041a9f4a316532deecb10ea4621ac9eb93524b0299f
+DIST thunderbird-78.8.0-rm.xpi 646531 BLAKE2B 09ff8eb94d3d7b2d25104d4c17ad957ec6046a37f4b45d6c88a5d60c12e00eab5833204ade5f69f06bf689548eacc92e7e7db9b69bc06efd2bf1b0fc2b0d0755 SHA512 1bcfc9d9139fb30e0c65b688b1bb483d9c0cad0830840dd56b958c03e842400922351a5152a0c3d7a3e843fde35a51a26568a18ae664697ddead2a37c2fcbebe
+DIST thunderbird-78.8.0-ro.xpi 662627 BLAKE2B c82d2130d5ae2dc7b57b21f2f4465fc5d775ea71d504decaec25ccab59a6621816636a7d9051986c4809ebcbf617c2b88a0ec81ddd8a254bd74af62e871f2380 SHA512 7ba6221fb3282b13c399aacb5d68063a0bb4755d222099f74d63970a4b9087170e40a87c190b1201f1cbb2a932479bdced737cb52ae29715b64df0b827e18aaf
+DIST thunderbird-78.8.0-ru.xpi 756189 BLAKE2B 10eea9117fed75fe4cd4cc3ce74e36bf72047164e569dfc74f3fd38814e82e0c7597a9ec9577f92e7c59f482b56689c44b7186f373f3997a40a2a3ebbbd2fdef SHA512 79a8c316282f73bd2c717f8b01cea00d7899fe22b0e295c31350d81a1c4ab7e663d0489102284355daebbc58c3b1377a7f8495484a128cab9f5cbeda99bb8682
+DIST thunderbird-78.8.0-si.xpi 651103 BLAKE2B 9ac083d464dfddac5d265d80bf4d411e8c2f66f20e05e000a64e063da6e33176f400d4e47f27eb1adcf970e2aed563ed5f4ab62d0e34e29c3a2952405daee55f SHA512 673d7a600704c4539acc6a7e800f0403197303648633c860f38d330112ce6e17a99132019f95f011ed4f2073221358a758765577980565d6b941547daa0e83f6
+DIST thunderbird-78.8.0-sk.xpi 643225 BLAKE2B 249d1d14f0097792677ae71e780ba21293985f40db4acd9ec95111499554a53b4195730399f9aca514ca0ead37d3839271115fb38bb58756c139924269968bfb SHA512 44438e9c6fd938630ebdf768659acca14067ffbb7831e889def33109e09f24d551a5f181925587ffddf7d54c8abe5a4320c8c7110459bbba44f3b867c450d1d1
+DIST thunderbird-78.8.0-sl.xpi 632384 BLAKE2B 2fb5c7668b6933ce48fd236c3b38970de9219214aa8b215260f5753b9e2d4b1842c41356c43aa16825aa073ead5c3e68dc19f94e2bae6889f3f3d2458c525f5d SHA512 6fe972a136683994b595743527640d51f4d0bb3880b794df5c4c611a349dc56f5968a651b3fd62bec58511a6fe7c6ef7d30a77e7c469b20f1060b4444be4e2ef
+DIST thunderbird-78.8.0-sq.xpi 657816 BLAKE2B 9517fd6f8c35534350905919d1f0bb97a1702b8ad3a10f29861e9add9e88b4d489166b0fefd5fbd4a8b229169ab35dfb8ca2a6b390b82d4f984095e4de3ab3a8 SHA512 e9e9b22d813f5b825f660a977d3107caa7efabd6c9b8a7a2e9371cf18d5dbb3364bf400dce589864fd4252f9513227e3396589561939595e19ae575bb4b3d2dc
+DIST thunderbird-78.8.0-sr.xpi 683123 BLAKE2B 5deb3e13d436744c4b7f8c52c5eecfb9abfbdc069993fe7cad47a9b2e73e9685ca670c1ed0457e769b1e8b4233d88f275194ce5301adef77863d4d6685d020fd SHA512 0026010d0aff81ae619e1db8e9d595e1c51177aeb45c1e98d04d6ed276f3dbe4cc4758898d1982a6443f35869d0cdc89cb44ac9f2367a00fa2ecb350e294e0f3
+DIST thunderbird-78.8.0-sv-SE.xpi 648867 BLAKE2B a6c7b6137a8d540a506f3405119725dfc68c1136be2e715f9d72e25ae0cbbc4ed91f659f560cbc1c069aff8cbbe5fe1b7a094d87f73c2b2d5da557deae21d6d6 SHA512 1c25d41ceca01c6300c9cc42d643e59a5d97ed73aad810c148d2845dd51d28561bca1342f4d86da61285a511cba39aeeeb455325c38334586d5acfcd1d1e2768
+DIST thunderbird-78.8.0-th.xpi 712027 BLAKE2B 39a6186ed96ab458743ae3d03b938a694611a441340dd1dcccbc7ca3de8fb765e42387edcb529b228196fab01dc785ed13cb882d839a50dae98a10fbafec4278 SHA512 58f730506782d014ea1e0e0ba8a6c9f6226a3d3d617e793350703fab925606695a10f5eac396c9c3aa3d294f41989e94b7c5220a3af08c01e031cf6327c3d123
+DIST thunderbird-78.8.0-tr.xpi 649070 BLAKE2B 7d5c22de6bde5843914b05fd3aaa4679aa947103e447e0a5ac0d68cadabb2623a065bc973869cdd79223067aff334e2ebf87e4642d9cd2dba67b5cfd64857f4d SHA512 bcb6026d3deb8490998feae8504f729bcb559ad6c7dde330d6f8fb2a1e4eeff090e7ce1313fd2a6a7e8a44fcad519a4f2c8f2f40d739b4ad17cf0bd795ca85cc
+DIST thunderbird-78.8.0-uz.xpi 586600 BLAKE2B fbe31d8a104bbd3c3900c449bbac350144a11255f4fb8ac060809a221de2ebe364205838b43eaf9f6183451bae45e3b68e34b84e5a63bd9d0dcf636c99c7803f SHA512 09ea336d739be09ec97371f75f914a5b36f89042f1b8eb88bb2f89951ee55820ff74f3bc5b8ac17bf199ce0778e5404891dde4fc71bd4e671336c44b6171caea
+DIST thunderbird-78.8.0-vi.xpi 674601 BLAKE2B 4ffcd7e4015a24b72b2c6e63bc3be529900bced5e1ab42f82f9a8e7c7a1ebf1218b5cb36025318f7c774e135951476226d924223754626ddbb3e9cd59418eea4 SHA512 9bdf8e207003bfc9b82919794d7c8d94dc27d4acef4527fce2dafcbd8721f92c63fff72ae0f59f8f44d16d993e85a8c32672a62be8767172027565b1026c324a
+DIST thunderbird-78.8.0-zh-CN.xpi 687183 BLAKE2B 87e0d1b874cb21eef72b3cd53faeb5cd660fa39a0e9779e4c83321f25fa94c7c43b1ba3b268b33b9c637af671cfcdac03f8128f7edf371f5d8afe2a1e6422f66 SHA512 cc9a7ea3cf683c91066072121b1686057bbaf55d5e43a63deefbf40df8a14491e37d3c361babb38fbb839ac24aa31ff2a0cc9dbb48848a4bcd2047371fcc7bb7
+DIST thunderbird-78.8.0-zh-TW.xpi 687626 BLAKE2B a4a0c70b226b1f0672b25dd467d2000270042f5d474ef257dc56973949f06fbca51c1a8b520860762a9feec04c3d65ab4af537fff702affea38a7c724921b7e1 SHA512 e98b5772218608e5355635a80dc49156ccc18297c59368e5e4a6c5a40b3716b240e67e9ec3f69b8f230b8e7ed4b32cb6073743e843242d67e16c11937adab50a
+DIST thunderbird-78.8.0.source.tar.xz 353232724 BLAKE2B 3c691393e0dbc71f345557632c734138cb7e603ffadbc364837c3fb759be07bac3f8b022b3e1261a7d850fc33bb917d7bb8fe314ea4c39dec6286d882f1c7f00 SHA512 c7d31ab6b2863c14fe7e11df4e805ca0ecd1f6e6b5e7d5ec73939500c5125faeec213b4df25f23a5f152345027926356b7df47efcfa60ff0f9e5b825119f0e51
diff --git a/mail-client/thunderbird/thunderbird-78.8.0.ebuild b/mail-client/thunderbird/thunderbird-78.8.0.ebuild
new file mode 100644
index 000000000000..8e7bee22cf5c
--- /dev/null
+++ b/mail-client/thunderbird/thunderbird-78.8.0.ebuild
@@ -0,0 +1,1108 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+FIREFOX_PATCHSET="firefox-78esr-patches-10.tar.xz"
+
+LLVM_MAX_SLOT=11
+
+PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="pgo"
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils llvm \
+ multiprocessing pax-utils python-any-r1 toolchain-funcs \
+ virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~{axs,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+
+DESCRIPTION="Thunderbird Mail Client"
+HOMEPAGE="https://www.mozilla.org/thunderbird"
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+SLOT="0/$(ver_cut 1)"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free
+ hardened hwaccel jack lto +openh264 pgo pulseaudio selinux
+ +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
+ +system-libvpx +system-webp wayland wifi"
+
+REQUIRED_USE="wifi? ( dbus )"
+
+BDEPEND="${PYTHON_DEPS}
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.14.3
+ >=net-libs/nodejs-10.21.0
+ virtual/pkgconfig
+ >=virtual/rust-1.41.0
+ || (
+ (
+ sys-devel/clang:11
+ sys-devel/llvm:11
+ clang? (
+ =sys-devel/lld-11*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:10
+ sys-devel/llvm:10
+ clang? (
+ =sys-devel/lld-10*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] )
+ )
+ )
+ (
+ 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!"
+
+ # temp fix for https://bugs.gentoo.org/768543
+ # we can assume that rust 1.{49,50}.0 always uses llvm 11
+ local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
+ [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
+ [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
+
+ if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
+ local version_llvm_rust="11"
+ else
+ local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+ [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+ [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+ fi
+
+ if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+ eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+ eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+ eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
+ eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+ eerror " - Build ${CATEGORY}/${PN} without USE=lto"
+ die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+ fi
+ fi
+
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+ MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+
+ if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+ MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+ fi
+
+ # Mozilla API keys (see https://location.services.mozilla.com/api)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+ MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_prepare() {
+ use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make LTO respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure \
+ || die "sed failed to set num_cores"
+
+ # Make ICU respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/intl/icu_sources_data.py \
+ || die "sed failed to set num_cores"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+ || die "sed failed to set toolchain prefix"
+
+ sed -i \
+ -e 's/ccache_stats = None/return None/' \
+ "${S}"/python/mozbuild/mozbuild/controller/building.py \
+ || die "sed failed to disable ccache stats call"
+
+ einfo "Removing pre-built binaries ..."
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # Clearing checksums where we have applied patches
+ moz_clear_vendor_checksums target-lexicon-0.9.0
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+ echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
+ echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+ xdg_src_prepare
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ local have_switched_compiler=
+ if use clang && ! tc-is-clang ; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+ have_switched_compiler=yes
+ AR=llvm-ar
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
+
+ # Pass the correct toolchain paths through cbindgen
+ if tc-is-cross-compiler ; then
+ export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
+ fi
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=comm/mail
+ mozconfig_add_options_ac '' --enable-calendar
+
+ # Set Gentoo defaults
+ export MOZILLA_OFFICIAL=1
+
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-install-strip \
+ --disable-strip \
+ --disable-updater \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-ffi \
+ --enable-system-pixman \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-png \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system \
+ --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
+ --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+ if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google API key ..."
+ fi
+
+ if [[ -s "${S}/api-location.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-location-service-api-keyfile="${S}/api-location.key"
+ else
+ einfo "Building without Location API key ..."
+ fi
+
+ if [[ -s "${S}/api-mozilla.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+ else
+ einfo "Building without Mozilla API key ..."
+ fi
+
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-harfbuzz system-graphite2
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libevent system-libevent "${SYSROOT}${EPREFIX}/usr"
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-webp
+
+ mozconfig_use_enable dbus
+
+ use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+ fi
+
+ mozconfig_use_enable jack
+
+ mozconfig_use_enable pulseaudio
+ # force the deprecated alsa sound code if pulseaudio is disabled
+ if use kernel_linux && ! use pulseaudio ; then
+ mozconfig_add_options_ac '-pulseaudio' --enable-alsa
+ fi
+
+ mozconfig_use_enable wifi necko-wifi
+
+ if use wayland ; then
+ mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
+ else
+ mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
+ fi
+
+ if use lto ; then
+ if use clang ; then
+ # Upstream only supports lld when using clang
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+
+ mozconfig_add_options_ac '+lto' --enable-lto=cross
+ else
+ # Linking only works when using ld.gold when LTO is enabled
+ mozconfig_add_options_ac "forcing ld=gold due to USE=lto" --enable-linker=gold
+
+ # ThinLTO is currently broken, see bmo#1644409
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ fi
+
+ if use pgo ; then
+ mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+ if use clang ; then
+ # Used in build/pgo/profileserver.py
+ export LLVM_PROFDATA="llvm-profdata"
+ fi
+ fi
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # This is upstream's default
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
+ elif tc-ld-is-gold ; then
+ mozconfig_add_options_ac "linker is set to gold" --enable-linker=gold
+ else
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ fi
+ fi
+
+ # LTO flag was handled via configure
+ filter-flags '-flto*'
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ else
+ if is-flag '-g*' ; then
+ if use clang ; then
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
+ else
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
+ fi
+ else
+ mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
+ fi
+
+ if is-flag '-O0' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
+ elif is-flag '-O4' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
+ elif is-flag '-O3' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
+ elif is-flag '-O1' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
+ elif is-flag '-Os' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
+ else
+ mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
+ fi
+ fi
+
+ # Debug flag was handled via configure
+ filter-flags '-g*'
+
+ # Optimization flag was handled via configure
+ filter-flags '-O*'
+
+ # Modifications to better support ARM, bug #553364
+ if use cpu_flags_arm_neon ; then
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
+
+ if ! tc-is-clang ; then
+ # thumb options aren't supported when using clang, bug 666966
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' \
+ --with-thumb=yes \
+ --with-thumb-interwork=no
+ fi
+ fi
+
+ if [[ ${CHOST} == armv*h* ]] ; then
+ mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
+
+ if ! use system-libvpx ; then
+ sed -i \
+ -e "s|softfp|hard|" \
+ "${S}"/media/libvpx/moz.build \
+ || die
+ fi
+ fi
+
+ if use clang ; then
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
+ # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
+ local disable_elf_hack=
+ if use amd64 ; then
+ disable_elf_hack=yes
+ elif use x86 ; then
+ disable_elf_hack=yes
+ elif use arm ; then
+ disable_elf_hack=yes
+ fi
+
+ if [[ -n ${disable_elf_hack} ]] ; then
+ mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
+ fi
+ elif tc-is-gcc ; then
+ if ver_test $(gcc-fullversion) -ge 10 ; then
+ einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
+ append-cxxflags -fno-tree-loop-vectorize
+ fi
+ fi
+
+ # Additional ARCH support
+ case "${ARCH}" in
+ arm)
+ # Reduce the memory requirements for linking
+ if use clang ; then
+ # Nothing to do
+ :;
+ elif tc-ld-is-gold || use lto ; then
+ append-ldflags -Wl,--no-keep-memory
+ else
+ append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
+ fi
+ ;;
+ esac
+
+ if ! use elibc_glibc ; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ # Allow elfhack to work in combination with unstripped binaries
+ # when they would normally be larger than 2GiB.
+ append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export MACH_USE_SYSTEM_PYTHON=1
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Build system requires xargs but is unable to find it
+ mozconfig_add_options_mk 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if use pgo ; then
+ virtx_cmd=virtx
+
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+ fi
+
+ local -x GDK_BACKEND=x11
+
+ ${virtx_cmd} ./mach build --verbose \
+ || die
+}
+
+src_install() {
+ # xpcshell is getting called during install
+ pax-mark m \
+ "${BUILD_DIR}"/dist/bin/xpcshell \
+ "${BUILD_DIR}"/dist/bin/${PN} \
+ "${BUILD_DIR}"/dist/bin/plugin-container
+
+ DESTDIR="${D}" ./mach install || die
+
+ # Upstream cannot ship symlink but we can (bmo#658850)
+ rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+ dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+ # Don't install llvm-symbolizer from sys-devel/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+ fi
+
+ # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
+ if use system-harfbuzz ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
+ sticky_pref("gfx.font_rendering.graphite.enabled", true);
+ EOF
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/comm/mail/branding/thunderbird"
+ local icon_symbolic_file="${icon_srcdir}/TB-symbolic.svg"
+
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menus
+ local wrapper_wayland="${PN}-wayland.sh"
+ local wrapper_x11="${PN}-x11.sh"
+ local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop"
+ local display_protocols="auto X11"
+ local icon="${PN}"
+ local name="Mozilla ${MOZ_PN^}"
+ local use_wayland="false"
+
+ if use wayland ; then
+ display_protocols+=" Wayland"
+ use_wayland="true"
+ fi
+
+ local app_name desktop_filename display_protocol exec_command
+ for display_protocol in ${display_protocols} ; do
+ app_name="${name} on ${display_protocol}"
+ desktop_filename="${PN}-${display_protocol,,}.desktop"
+
+ case ${display_protocol} in
+ Wayland)
+ exec_command="${PN}-wayland --name ${PN}-wayland"
+ newbin "${FILESDIR}/${wrapper_wayland}" ${PN}-wayland
+ ;;
+ X11)
+ if ! use wayland ; then
+ # Exit loop here because there's no choice so
+ # we don't need wrapper/.desktop file for X11.
+ continue
+ fi
+
+ exec_command="${PN}-x11 --name ${PN}-x11"
+ newbin "${FILESDIR}/${wrapper_x11}" ${PN}-x11
+ ;;
+ *)
+ app_name="${name}"
+ desktop_filename="${PN}.desktop"
+ exec_command="${PN}"
+ ;;
+ esac
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" \
+ || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+ done
+
+ # Install generic wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}.sh" ${PN}
+
+ # Update wrapper
+ local wrapper
+ for wrapper in \
+ "${ED}/usr/bin/${PN}" \
+ "${ED}/usr/bin/${PN}-x11" \
+ "${ED}/usr/bin/${PN}-wayland" \
+ ; do
+ [[ ! -f "${wrapper}" ]] && continue
+
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+ -e "s:@APULSELIB_DIR@:${apulselib}:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${wrapper}" \
+ || die
+ done
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+ # does not need to be forced into the LD_LIBRARY_PATH
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ einfo "APULSE found; Generating library symlinks for sound support ..."
+ local lib
+ pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+ for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+ # A quickpkg rolled by hand will grab symlinks as part of the package,
+ # so we need to avoid creating them if they already exist.
+ if [[ ! -L ${lib##*/} ]] ; then
+ ln -s "${lib}" ${lib##*/} || die
+ fi
+ done
+ popd &>/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ elog "Apulse was detected at merge time on this system and so it will always be"
+ elog "used for sound. If you wish to use pulseaudio instead please unmerge"
+ elog "media-sound/apulse."
+ elog
+ fi
+
+ local show_doh_information
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ # New install; Tell user that DoH is disabled by default
+ show_doh_information=yes
+ fi
+
+ if [[ -n "${show_doh_information}" ]] ; then
+ elog
+ elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
+ elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
+ elog "DNS traffic to Cloudflare by default is not a good idea and applications"
+ elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
+ elog "(\"Off by choice\") by default."
+ elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
+ fi
+}