summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonas Niilola <juippis@gentoo.org>2022-04-20 12:15:16 +0300
committerJoonas Niilola <juippis@gentoo.org>2022-04-20 12:15:34 +0300
commit53a93ee4fd90d0b0a0d5097dc7b32bc2473b3525 (patch)
tree0daca93bcdb75f4a1264feaea89273023dbdd934 /mail-client
parentapp-emacs/noflet: add missing dash dependency (diff)
downloadgentoo-53a93ee4fd90d0b0a0d5097dc7b32bc2473b3525.tar.gz
gentoo-53a93ee4fd90d0b0a0d5097dc7b32bc2473b3525.tar.bz2
gentoo-53a93ee4fd90d0b0a0d5097dc7b32bc2473b3525.zip
mail-client/thunderbird: add 91.8.1
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'mail-client')
-rw-r--r--mail-client/thunderbird/Manifest64
-rw-r--r--mail-client/thunderbird/thunderbird-91.8.1.ebuild1145
2 files changed, 1209 insertions, 0 deletions
diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest
index 48353258f877..6c40512eef03 100644
--- a/mail-client/thunderbird/Manifest
+++ b/mail-client/thunderbird/Manifest
@@ -127,3 +127,67 @@ DIST thunderbird-91.8.0-vi.xpi 725527 BLAKE2B 63e83e534406ff29e949211db05e9e4a17
DIST thunderbird-91.8.0-zh-CN.xpi 730902 BLAKE2B f9b38733993da2958ac981c150fcbb0482909cb9930f9c0b00dd5392a66730ccf4ec0e64c384da0cda249a6758626131ee5651fd7113a59b90d12e6ade84908a SHA512 02642d349dd7abd54c6462c32db381777f863077de102e35d7b9a96f33b2447e83237592bff7ab7ddd8486714477fc144532887f0e25bde8a2d81bec5f4b2948
DIST thunderbird-91.8.0-zh-TW.xpi 731944 BLAKE2B 96af2bc372640dd48408f261f05bb2a751404510606cb939e6142009a3cdeaf87f956120f82956504525d4a3e81a56d1ea3146490ea0a0443fd72c36bffe25e1 SHA512 3c0bbef2af7330e7ee760c22cb2d90f8adb1ba522309ab946745f5ecd734bf094633b943367c5d5235021d6bc000e5569df8e41380f582f7df8500b9eec40fa5
DIST thunderbird-91.8.0.source.tar.xz 404452336 BLAKE2B d045244b587bec6a35561cfa1de0edfdd898e2f5b03373053fcab7584ecd3f3fbddd618763732ce320920de6f3af4033b19f7970e0a87cdd70c21daba4d0791b SHA512 147c7ad68b0a32cc0fd4405935836af1fa77bbce6a1e367b51ef9871e7fc2a8fe908a1d200be34326f4f339d272e62f619b75680201fe82d301ddd02e23824d5
+DIST thunderbird-91.8.1-af.xpi 561895 BLAKE2B 14609f1e3d08e90bd8fbfcb241982602ea70906bf121cbc4008aba07cc062e1aa3b0334d458d2e045155419d2437c22d23afa5e5bff77b3cc1a2cdced33258ce SHA512 698673f6afb6285806bae6c88a619d20ec654d2cd1fc525500022f0300b113a0601be53391ca714b49addb7a8d8be84382892aaf3427fd971925f68e0001bf11
+DIST thunderbird-91.8.1-ar.xpi 665730 BLAKE2B 4a45222fb69435f7736b2fba9c7154b53f74fa8a9a54e51191dbdff6417c3b9ea5dc1d31e80ac51cd050c356266a4957ea4af2f1d57fa17de462ef6e324bb5d2 SHA512 66c40dd5d43b84ab9aaf2f9bf01dd9e9855bad531022c0c03c018dab4be15d13098fcfcddae7e4b26dbff64f851c26f59985577e8d09cb7ba03a8b303befcb7c
+DIST thunderbird-91.8.1-ast.xpi 580511 BLAKE2B 08b8a68e138e43df82f9051d455959b35408e52441106c1d18db6e4c7c948336fb9d5803ac63efaf0ef0d76733548be15102e607d342d0dc841a4510baa881e3 SHA512 9477df1858b8b42ebb693681d57bffab925a02ba0be6815d82d65f273c5d52d4915ea129df88c9a992741099df770ac570bc6e169252ef265348ac972765eea6
+DIST thunderbird-91.8.1-be.xpi 695198 BLAKE2B 9d285fd5a9acca811f5f1ac8c9ee2125d0383766cca63ada56ee78170ab717b7f8d0996df2cb2b206ccc15564f875719901a96a256d1aab3428618f6e451f69f SHA512 e144d5d1a4c3a37209df9108aeebe544c4bcc33c5d1754884f8378eaddf958886f97b14857346fcf8a472ad78f24af1c2d1cb399fbe73e28d0282e08d04c227f
+DIST thunderbird-91.8.1-bg.xpi 690996 BLAKE2B 730e21841eb94099813c293b47bd5d75b5bb9a155faa7e7f3d884916ea013a7ca0805f9a9964202afe3b4a4bb053f2cf7179a0d69e3438bfa69a26babd7f2314 SHA512 a7e697f83877961f0e687b6c57e9ed3f0b5a5de4cf6089357adbaf1343ec35f4f4bddeb25e4b60bbb93bf2dca364143034286c1cb4c2cc3af0c74186f09a2a18
+DIST thunderbird-91.8.1-br.xpi 620588 BLAKE2B ed8128865f0291f9efd0637f158e4f96f57326783328437d26212c80814e2440c5078f33bd38e489ed1585bd59151114c2713a516145581de33aacb11a0d1e06 SHA512 1453278f382276bdb6d5344318d7a6b76bfcc863801552d2b4a01f5bd7aa00c218ea604fa1f1e003b74d5721b833b267af7a4cfc4960be21ec940174cb66e547
+DIST thunderbird-91.8.1-ca.xpi 645975 BLAKE2B caa6d57e9deb1cda73df13e24e9515d4d0fab33af96b53d206aa5c7353f76702204785bbc9029356ea3bfd2d937a945d5522c6a803656b1797884331f4c4c125 SHA512 6279ec4103c5f8cde8d87fa67911e8d3453663b0093c5b57c6ae04ebf01f0d4d838b08b0effe72ad1bb92bb926f3cfffea6c906e1c700a8d5e0284179b17b97f
+DIST thunderbird-91.8.1-cak.xpi 652066 BLAKE2B 0d26242f82d173fd232f310dff495212a1c8b909045d5c7b1845331da6012affa51f88a574c37c2c08b369ac644297b02dd7ca87e2c8133c8aa0fd092b2f3910 SHA512 998e7e960c7752b36e523f1302a5f4a74469c2232c531f7dcafe155b0824ded6908ed9865bb10bc5f7dfb4d5d99744c0430ef8a2a96502a5b41431949e9a5f37
+DIST thunderbird-91.8.1-cs.xpi 711939 BLAKE2B e30ef7bcaf968d7fefc7a4f6eb91d80df9cf9c7c5d4419fb35b6fae3b382c600f1b0538defcc75652d6b3349bc374701d9586bd03c26298bff2cfd1f5a640096 SHA512 0e7593fbd9c81b026496efb8f2ab95654587ff7fc7bd377594eae866c98d06d032a3a17464fad1645f4414edd7c994d5ee4e400e86cf504bb86eccd8f252a71c
+DIST thunderbird-91.8.1-cy.xpi 688889 BLAKE2B c4a259fc29248879226314930822669cbaaee9ca917828274862e6abe1453bd950cade07785d82a91ac009348c090214e6affe9037588b29e2706ba9ebae8c76 SHA512 28119e65a361689be5fe4ae6ee3b823c50420dea2d940911f6861d4c72b466e92aec2c9a8be93b4bde09d499bbf325bf43f3876fd2962a5b9f2fa7a886f69ec8
+DIST thunderbird-91.8.1-da.xpi 674444 BLAKE2B cbf5789e902e4ca5eb9da0a98b80878b85ebfda610b3f80909f0cfa3a3d2dc307a37201d6cc3f2d06d124d14cb8ada2f1a0303cc96aa57c09ff1d8e563f46605 SHA512 e0e89b9ffef527b7f4df3f8d769b9497efdf1a83bfc126e1a9503609b2982d398caada36004ed4d5a72a33a3fa40e8bef913ea14a8a4bbabfb82aad5c38561c9
+DIST thunderbird-91.8.1-de.xpi 697527 BLAKE2B 1c615a420f3d703d6418bc803d7245bc065ccdac46bccb07f5ed4a253217bb0ed98512bc43021494f503801a8906c1850e275cd2d89d7b267e0344a435d47c69 SHA512 14848fa076d633271ea4ec336c3ce41755f658b51a67d62237a8e544378957a036f56c456ce9cf88735569ab80af4cb80e184da654d62ee548bd23822fce5872
+DIST thunderbird-91.8.1-dsb.xpi 724000 BLAKE2B eee8db5ac1def0e0d9494a12bf68b3ae3b130cb7935ade0416d99824125572ae70c025c6cc785e8dd6953a6eeb6bb7ce2b14fd7ddb0bb1214ca43987a6c059b4 SHA512 a4828d6fc9546bc51c5bf128c87d891c9659e24f21fb6a7ea4bb12d4a3bd4c8f66423a855fbf4ef4dfbf3129a9854cff19f17c4f80bc3cb4b014356f45775eae
+DIST thunderbird-91.8.1-el.xpi 821180 BLAKE2B bdc426dd01161604c9b7821be13713b43250de0985dbfe772ddd99c5370d4b621d0632901a7964be620ba4b5b392827ffbb2f6497afa9c507611d84b83c58f1a SHA512 994f03d1367e6b3fe70bd8b1772bbd255505136613f89b13c5dc00fccbe3170ef6220c59dd73bc81555a0cc7a8017fae2d472b5385401a56ca504c407c9c1302
+DIST thunderbird-91.8.1-en-CA.xpi 647814 BLAKE2B cfa4742f70af6d2213fc2989d69f88c6f306de7df3245bec63c7635c93f1a78553ad40cf9c4a74e88bf95ae51f6cc54122e488024da4af91d713b97e54416a01 SHA512 91aba2780958f5deb1d21422d9d53b206cbb95252b25cfa0af6a595978e7eda315f3dbcf0c30ca1b7ef5467cf82fc8687926f2c9d29ece2f01b2fbdc6100fcd7
+DIST thunderbird-91.8.1-en-GB.xpi 650551 BLAKE2B d6cf78547657cd0f1a1b5c769bf32d6927226e3113f4b15c226bbd0887db7d56704800206babc9f359c662974ad9bb83fa1f868c22d4596d8c823bfaf8514899 SHA512 994ecb8b0452dec85df199e9c0db1b6485c420c8a1cb77eccdc805dbadf43dc86dc64ccc1c35582b30fc2e1d625d35ef5add718808e4e7489ac680fe3eec5652
+DIST thunderbird-91.8.1-es-AR.xpi 700496 BLAKE2B bdf7548afebed5470ae837c0eee8fd9116b568e27c41fec89ad514f8bd3a4cdaa1a6164c90144533f41cfa9318447651647623ee34c8393b524d2bd9ca284dcc SHA512 3093813a60726feea716c6b46660509baa5fc732e0b54765be6429bf2b00dfa5a9dcd7cef69a5a7c963ce9900f0bdc791db20fdc322b67c72f6826cc2a2a5f02
+DIST thunderbird-91.8.1-es-ES.xpi 630920 BLAKE2B f6933e1b7b79c9c7bfa5dfb4ee3509abb4c3f113df4fdcec6def90e12a527dd31079261bfa6bf5554bbe0cfb1327a6d7a381d73d4b92b55511758c4da6dc8197 SHA512 612c108fc89e84e979154dbcdcd00b246ecdbcba2f4637e19a586ada0d7ebf436f13986b83cef07a8a83e5697079fc6e170434ed83e5c29202cd6d264e1b10db
+DIST thunderbird-91.8.1-et.xpi 672170 BLAKE2B 516d9ca90bc685d29a6be630253619a07623b10b10b5a3ada23b1775f9bda69dd365c3fd25f4bccfad9072c256fb90c48d00bcb4cb36c8ee8a6aecd0030cb32b SHA512 7f2a5f1c1204d5857153b5d11eb76ac1b05a9fba810b0a38768438862c0c21ccc51bbee96e3c4da3217c839049b2fec72f0d30c6fafed4b71d31d00b7e176b13
+DIST thunderbird-91.8.1-eu.xpi 678263 BLAKE2B 4d5ad3bf2b5568973cee14d7488e82a7fbcd9379baf03ab6602b531971c3cf84ed1ef9da62bdb2d41669b28ee582058085e82add75168dc38cc379db6ff09584 SHA512 a9e64dc7de976bcdbd9f0b9d0c5f5bb256120a127ae7346015a43dffa8c0d2cd55a2c523100124b736796f81707ac29f9e34e217e45725790815f277a699b2c6
+DIST thunderbird-91.8.1-fi.xpi 676630 BLAKE2B b2e7ab580d9a25aa12413f005916734c171f2694cad57ee6c42ccca5b77f11076049ee5a63f2d1e12b29bcc595d25c34ceed7fd84317417ab2de90dd0ad5ea8d SHA512 bfd003432f8a4cbf490504279df1000ee13bbc94cf3f0ce46d20ccd2a373c9901a26b2ee1063681e6324537736678b0f8b7ec4465d517fd0870644863ed2a5a8
+DIST thunderbird-91.8.1-fr.xpi 711453 BLAKE2B d4a2981c22f57f310b49a3a7c948b8962f3452c72d3463e15c3791c47e2a6d30d6eddf44bb50e9954e041a325ca78a039164c840b4811b26b9beefe657777e1f SHA512 5baeb10395354631562764c59f09518edb48ff30e7612e5f01b5f334e6c07bad743372ead87566b2d15837e9213306fe93a078bcb4719a6718d45986f35fc8b4
+DIST thunderbird-91.8.1-fy-NL.xpi 691880 BLAKE2B 4d441c6e221af369fce9c9fa3ffd077107c474583fccd895c0859469dcc4abde4464a7b447e5348b615e612072b818bb951cf2892cba5fbeb327b60207f8023e SHA512 a0484ba202847e62f50319f26169b126726335ac41c69345225421f8790f6c73b5119b53746cbfa4251545542fcb20fdb1b4deb0e9060fb2082f03733af8d302
+DIST thunderbird-91.8.1-ga-IE.xpi 613124 BLAKE2B 208f198b7ac1977298ee3ca897a9219db3c6767710bbe4aa06388db235f83ec80f45eaa8d1d8bec56c9fad4bbdb7669ed373f585dbd2a7cb62c7a672ff92db0c SHA512 a39e8007b71b008a64fba4006c2d71cfc908abafb2fc9449c22a771782b1ea2da911361c6c52caab2de97ddbfd2e5d5fb1b65a147aa7d5f3cd9834f047e69d47
+DIST thunderbird-91.8.1-gd.xpi 640649 BLAKE2B 88b82b4af9adc31cfa4df37a0a6aaa29baae1f409439d7876cc5ec46569812fbac4062b4efa31b16cd22d5f38493740f620b800f8a76e16a4ba05aa9d01d8c99 SHA512 9d1bac64333b2082edb5ee8b9b6e494a25b750f1accab74c2c79bb582408bb776a6bd83b078f2b59ccab445ed2c9f8bffa4089f51ecb18982891a53e7b3751be
+DIST thunderbird-91.8.1-gl.xpi 677790 BLAKE2B 9bda1d1eda601e86eaf41a398a6b9c5c2520aa5c8424b252b61141faa94f314909af29e597244db3f56372f8bf5a972165fc07516776cd7da3a08bec06b2f64c SHA512 b0a33d1a5c142b132ae26b11b7258f3707be7c680b4bda6d2a817636aae3b106f6d400484e88368b6acf272b46e274dc6105aaa7be5e2f20833647f46ffc0e33
+DIST thunderbird-91.8.1-he.xpi 673191 BLAKE2B 82bfb2ad34c3e56c27a7588b5fbaa2f91fbd842679f9916e1609a9bb974730a36db1a15e63e4fc544492f91fdba4cfd369ee1903ad30202a0399c21836a53102 SHA512 f99d2da0f3c89d0edb3e49b8c6fa7e8055209ba19678f3412a0ace06001b4b9eb45f11d76819b8032b32d9f325b14dca3882aa7cdb727b4dbce714934cc732b8
+DIST thunderbird-91.8.1-hr.xpi 653581 BLAKE2B e0d63d2038dc4f3a36d2681aa27f41a2a86d2e3ffa3e172612ba3413120f6cdc9f84b124cc3a90cfbc557104ac63a5e381c1a5ebdc3620b7823902ec29b7e1e0 SHA512 852759d628c80b7d155faeb9e90301e1db614c5f1162a2a811597372c22bf1e3631fefb3fe4edcaa5a54584fe89af0ebf3979adb4174a83cc7ec2edc71f22b34
+DIST thunderbird-91.8.1-hsb.xpi 720812 BLAKE2B be7cbf2f592eff523d128488a55b615264997f6ed0e520aee9eb1985cec7d90df1b251466b03ffee4c6ee16d4087634098ca2b9f4af1f13c0d057ab57862484b SHA512 23b8919329e20f700ee35774f295078767be660d12139eb09d1f1230a76cc320f0d63cf93dc7bec4f02921b4aadae5d10f7f06eafdbbcaa1c9b6f909a1477456
+DIST thunderbird-91.8.1-hu.xpi 723399 BLAKE2B bf7e4a440cde8399c76cd36319840ac270a44780f207ceeb91969fd08bee1711143a1861950a77b9d8c60b7e43f3503ba70f129e7d2852db93fbe0ab0541b826 SHA512 bf85f6a83099f4d359506e0a7784576cfa0a544e75762473840ce73c5741fe207cd01897d8d83d464808c13636b05b363578296dc9840aeeb3f88142a5715915
+DIST thunderbird-91.8.1-id.xpi 648250 BLAKE2B 6f6563ec51a1838c2693f5dfe5ec5868f27d42d430feaae1bc134581fb34a4708cd3903fe95ab6cda49337a21ee29cbcbce84698506164def7a18322b0e5b90a SHA512 64b32c0561a8edde514718ff1061a9e815910026caf58e671c8406ac183a12abd4b4f5ed03c09e0a46e1dd4ff960bea0332b002a2b2fc1dbc2db292cf530b92f
+DIST thunderbird-91.8.1-is.xpi 682262 BLAKE2B aef838ff9ce0331c75096a9733a94307b0fde8d07f835e2b0c98be2e5da43d627406c68467d3aed043761af4bfb5d5390ce4c5a9061e3ebff28d71670d53b41b SHA512 8af554d31b2769f3e39c829627fbd623fe1292359bd86057b7aea9e5c5013f687eddd47b0dcd83d1d97d2e7143cd07b3ae6646140fcc2979382a79298494bdb5
+DIST thunderbird-91.8.1-it.xpi 613334 BLAKE2B 27545126c484efab1c12f2b9ea9fdd053cb38e4a598a363a70335b6ceece23b4498551fa3fb55b58cb5e3905645709e65b3c637d489a6ab1616bc64c91b52898 SHA512 aae751711ce8964adfe9aa431a145b4a93db2301043f49de21028dce6fdab74670a0779fd59177ce974ddef23d830cf06112b033ff2b68793cc2c6ee2b1651d8
+DIST thunderbird-91.8.1-ja.xpi 756466 BLAKE2B 2127ab26a321e0622e77243d86a935d4713f728bdf7e0e4681611033cb164dfe9bad2a01a3811631ede74a5fc7fa913151a39bc9ca977e71fc02e7ba13622e8b SHA512 5b852e842fb4b811cf57baeed0eefa9efb60bf898a5d521554b376f41c3b350be8cf2d058757076dbbf7fbe0adf5e7581acedc09662a2d2940f7fd31a5e5a77b
+DIST thunderbird-91.8.1-ka.xpi 762629 BLAKE2B fa766ae093dfee966f4a4f1ce9cfdf9bf09706ce1ef21ba28d9565a3977870ff1486978fbd37b2bdc34d8c3fc776c65fdd88e49470d5cee0a5894a75d5a22582 SHA512 e558c45a0064bf49809235ae0008a5f7ff51b26cf5285b59554c2506453b836d31a52a8842758b6392c4e8e357d8c8723ce7277b5e53043b86bf2445bf37b629
+DIST thunderbird-91.8.1-kab.xpi 677086 BLAKE2B dc2703b82c606e5d65474bf3962d5874b94b6e5fe9a893653ed06d926eaf315b6a707e13f25f786a8c479a2ef50bae45aff37c8382843015d557606619240791 SHA512 2b2212a7ed9a398af417f1f2e1457d8f6d035b4459f09154ab1e82e57606e03e1e52adfedaefe3b586c79ac5d97261b41504b5413bf3eaca6e498513f300f378
+DIST thunderbird-91.8.1-kk.xpi 745524 BLAKE2B 7c8a3d4f4e21d45c5bb51d8636bf891ca225824118c57d09e22037ec703705e199b278e7d203f9034dc95734db55465877fb060ba97b5f52229c9af73d3093e6 SHA512 17e9cf08529e5637a30cd65feb4fc39a2c65d4ffd0674fb67788cdf8c2a3d3830c5135813f73d1b1e6179369a263fb4f8fcc7500e11d86af919da86eb055f48e
+DIST thunderbird-91.8.1-ko.xpi 704768 BLAKE2B 419e11fcee81bf9f89a2f972a513ca2e6cb06e095d5be2001a81d1607aff3758ade4ab693142650cc1e0efa9e84543909afa47476b65614945b1237fe93e14d2 SHA512 0d3b28c36bbb3a1b3c29fc4cb92cf0a1913f5284bdb10cc8f7fbe02433a6fc4c2ccb78fa6591bc24479ec8a4dd3ba571ea9d90b1d7e9bc36535a88fb53fbf4df
+DIST thunderbird-91.8.1-lt.xpi 696045 BLAKE2B aa8fa41aee59091476e0f11bc909561a4d4b34f501306c863c29042c12e6663faeb62fb2142a7be8d65e14e7afa850998f98c26e0d5e4c037cbd9af9370dbe61 SHA512 e618ed502cc84216e11185e46695b061641607f77b75983de909f7c22f4f05e30671c5baf71cde638a7d5c400bb839a8c124e869453cf3d404b5807b1036c5e0
+DIST thunderbird-91.8.1-lv.xpi 618523 BLAKE2B b5f08da5c1d1161523e3eed709635f4effceb26cc31b7b3f84d7fd10f8ed2aa96ebc4d27314fe6a2e918af6002c0665523a0c936a38051b5fb47fa05725da806 SHA512 26bbcea3ef620529a63307f415e4c4db819025832b5528ad021f190497e22b82739b5cb31b03c6a3f134cd9ca439896b4cdd07abbd6f536a40d7fbd3f8c2e556
+DIST thunderbird-91.8.1-ms.xpi 578080 BLAKE2B 92b46f9710b69184de643bb2343991a6ea3da23ad365a6d80e03e89d7a4aa21e8a021883c070dd7f3ce593c3629c96c09bed52079a734e1b555839df9f9709d6 SHA512 acd4f35c3de92d6d67a5b4329340daa0c1d82a7ef6ecefe94dfeb0ef049dc92a2fb6a92ced709165ff2dd768d4577b9576aa9ca1624aab14bb3fd1bdbd43fcec
+DIST thunderbird-91.8.1-nb-NO.xpi 653326 BLAKE2B 7a3257c89c54778cb484e88d3fae1813c7622a433556d6ca4cdfbfca64706a16bf8fd4cdb8e28a3edf70e8c1776672c1c8bfed79e436d10c5da787f32276e320 SHA512 c0a8b54748b68ad029353c3074513b5fe6dfe37d1cf61ccad64740cd3793c5b375c4449288f47dc5709ee8c423b95d8771bcbdd3e16d20b2c31e4db8b771c1c2
+DIST thunderbird-91.8.1-nl.xpi 685343 BLAKE2B 50f71447380ee7b83e5db62fec810047447dcabe398e1cdb0d6aae111c6f0ec6685fa7992195c5d64656a4246ebb9ef0b906897d6b56d5b7b3e0bccc132fb84f SHA512 6ec5dd50ff93d786452b15ee1c1ec9fb560cf422beffb9828008da54928f38a7d51402350adeb8cc7e20dd32374e2fdd891c3e685f1463ae94f2140e246e4ac9
+DIST thunderbird-91.8.1-nn-NO.xpi 658571 BLAKE2B 1a26063d8ac822fbf751dbca589752ba24042e734775b46af207cc1c55a60e0bde3e10dbb6ec999a82b90ae65402463d25bdc587681cf9e8514a6ba925c173bd SHA512 5369d9187cb1350d97609c51b2dfcf9968b6e2e16ca67a5807308de59d6bb78b3244d1db59e9590781e54f119ec7c80fd7ea02abb737a137a64d4625c1a2e7c3
+DIST thunderbird-91.8.1-pa-IN.xpi 652335 BLAKE2B 1b71aadefe236514ed30b549d59ae1721db5761302d90f2e14b028c0b65f887ddf3063514e34a239e48b5f775bfa4089b71fcc961c4530d66b3ff3aab358515f SHA512 f98526d0704155f699b307936b073f9629c1bd2ff4b3165291107ed346773860c0896713bf309acbade556986387f99c165eaeff062d02d039bb8cdb5295dfb8
+DIST thunderbird-91.8.1-pl.xpi 694113 BLAKE2B c23ed1f6147d8e88c97746996bcd29460f6415c8a2308e5f1068f440bde375c55e146dbb047ec14fd9a52ae321fd8793f43ef758dac11045ff8635617400fc34 SHA512 2de6dec6e88557a29970e57c48883640ebfec951293a7dc46dc2301fcaeec55f0651414663f1dd1ad8cbd9d3506a540637e8191d892c0211a1363e9d6a4ceb91
+DIST thunderbird-91.8.1-pt-BR.xpi 694133 BLAKE2B bc2fdff6d457404c190c03b4aa549dee3665fc54a56b72747f8b21534387e4c0912b91573357143b17da716b7093e7f1ba868ab0887a8c8639e781809b96fcfc SHA512 23bc0d9a7848f1627760e90c41d350349037724b938ec785b5e0b2c07608c9cd702f9bfcf633dfe753e5f7551287898d08669ddfa1391b9cdf0cc1191e485c89
+DIST thunderbird-91.8.1-pt-PT.xpi 674674 BLAKE2B d81e6d9af772b6a266f1997a3aa76e2c6d3749d0686578e3ebaab052cb78e820548a2589dc778ae41f44a7d4245fb28a8f63c1f12363430b423db556df0fddd8 SHA512 da583a0fa99265f11b1016c54d0f97755ae0e132d188d7c6a39b2418930cc110abef5a293626db879e2f417232bcf7c93e690f6fd45560f18bf156d87a6d2a2d
+DIST thunderbird-91.8.1-rm.xpi 687615 BLAKE2B d0e04fcdca37bbbefd61944366ee11766bc02e88ff7fef8714fd02dfc80f57a862a696787258dfd7ef905b6b68a36e02e808ce4c6eb80bff2f0cb7cfc36dc565 SHA512 e1433036f33f7c920a0df39ad1a3dec4862ea942610463a75ccb2223080db6fe1eabb4af03c8991f7e87ab6ddad8e70ae68f847b0138ec1e0e5e6558c42ac59a
+DIST thunderbird-91.8.1-ro.xpi 661347 BLAKE2B 142ec1faaf1b946810edc642d31d65fbc4309d6d52a35329a82c13d9ef74f35ce002f670479803b49dad1ac924e0b942258d752a6ed88f7c8464ab5736c7a58c SHA512 3be36a4cbae3852fd688c34f7b6ee72fb08b4fb1dd86adcf508ea2f6c8c5eb6a5c282842f017b92fc18245faffc4f7ef9ee4861a33ca12010bbd3f3c86882e2f
+DIST thunderbird-91.8.1-ru.xpi 793372 BLAKE2B 5aa64a35a4e835e7b778a54f2ff7d25222cc844580cd1a8506a6d08d2cb985bf450d6e45cb2398398b16c9cb125da1565a96de4f7560ed40c34de7a2396c7949 SHA512 9fc20be6e16a261fc56415a443e7e65e6eae7db5e917331b9a7127b2116b0eda6c746646795da62d4e49b0c871b76999bb396bc3e8aaaf9d8b1ebea46c640dc8
+DIST thunderbird-91.8.1-sk.xpi 721093 BLAKE2B 5d9d3ef339760d0f62645f22d6c8f45be8d6b0ba67a2590e04ab33f9474b595fcab44654fbe66162206abc751ffbea95c8d95828400fb5283f34a153ee3cb45b SHA512 173260faa9ea1f4fcbdae152b0dc1cfc26aab445a46bd9e5b834e864dd124e2a3b8fbba95fb0445fec8ff77357d1d3c7d9b8a45a30c32bb6b6846fbdc1016c35
+DIST thunderbird-91.8.1-sl.xpi 682544 BLAKE2B 17da03bb52e8fade2f50010eb2a0486472e01556ebdacc65e98e487e54f8617c1e76483b282f394bc4fd9ef4b9a6c706d35ea12f10d205515682477bac5faaca SHA512 4bc30c15daef990a7b7c3404472d8d333caaf2b94151398bcaf0a05a21899be461d5d561ddd339d1b3ba71e3fe27018e515e869fd6f0b69070e21d233772c0f8
+DIST thunderbird-91.8.1-sq.xpi 703626 BLAKE2B 6649a2c92017ac0a0d7080f89c58b2bc0d6ee4c0b7f7ff2e4ea8952b35b51c430a4b1ec6be3614df8d17643d1087bed3a8ec8678ad87c606b1f6331121ee589e SHA512 5d489bba80cc651517f862cdfe5642e225bd4662c196493c0060f50cef4bb2f109092e3d131317e006c4fad4dfff74bffa9a7b076389f162d44c24163ad26c63
+DIST thunderbird-91.8.1-sr.xpi 710564 BLAKE2B 5a1ee7a9ece65dc2ca57655f1a6e67f47274560e0b479386b2e021c4e07f4f2aa3066e09a97baadd1b2e0f953e3be100b12601353114878e32131e08a7210fa7 SHA512 ae6eb4f020b45069b52429bebb974bcb39bcd2a9b874a96b7e9ad1811ef66f920cc5329ba56c6b9f42e9d9def23dfb7f451e173db5d93c5aa152a61f2a2e535f
+DIST thunderbird-91.8.1-sv-SE.xpi 690968 BLAKE2B 153ff5a6ebf9244bb3121d4fffa8d2d5c285f7b2f03f55d5349b00093d2359d07d192ada953edc12eb032b2785fb4d0c4fab205ed9e1cc7d52610067bb4fcbbf SHA512 4f3f660e8b3322e4037e6c1f401b863da179a2507df4c83253155cbc97f120c7b68027dc0bcac079deda647a666987958765a4186525a1af5acf1dd05f6ea9f6
+DIST thunderbird-91.8.1-th.xpi 748756 BLAKE2B b1ffeecf89f4cfe8057efaf4ae447476fe3d3bc304e459776c4ec649331f309d7d7583c40098d180d86a2bbd3a6f9bace731747b6d48525a959039ec1d06c773 SHA512 ce428d16c8089c96cb589889d4642caf7f4fd11842b64ba4570189fe41f608fa68ec07e8a0857281581fd1a770b4b7e95502801c255023a7009352f617bac293
+DIST thunderbird-91.8.1-tr.xpi 699653 BLAKE2B a07e8e25793c8a4235ed9b8d9e13a8ba2e9363fd739d2ba94fd56af7aaf18b8b43b4ef03269599d27b60b436dbaa03156c4cbd199b31867437c48bbb674f786d SHA512 e02886bad42d759b1c80dcd2134a8e72f880eb38524b23800f0004e814d7e3d58d5c6f2209d804dcafa76dc801c5fb0b493a986a0260655cab0c1afeadf4208f
+DIST thunderbird-91.8.1-uk.xpi 798482 BLAKE2B 00fa04d3b1979847e1f4082ab9e1be94931912d57c215adaebbc81ffdf365bfc7a43c99ea34f422da564819c18e1bd3afe5437b269731bd179f73c0358402f82 SHA512 6cde9d0c554c5e7764e7fc27727200356a124d96f8325bc8cf0f7bcaa380900bdbf32173ca78a0db74868b295c68c0ce4026715ea99f06269b7d418fae3a4744
+DIST thunderbird-91.8.1-uz.xpi 595925 BLAKE2B 47cddedc7984524fbe414a5fd6fac5d87170403f0f460efe596215f8f5aecef70e2fcf0160cba8598ec23c408bfbe1750ccdcf139af3101b9f8d22b1b3137eed SHA512 5b551680aaa9a0a2b482fd3c9e3bb6dc0b661184952e29417ecaf46955ad4667331b97f8cd373c4d7ecc080a5a26709caee02e79585cb3d40e731bc3c9d4ee4d
+DIST thunderbird-91.8.1-vi.xpi 725526 BLAKE2B 3511130169dc5687234e037e35048446b7fee995d7faafe3ceaff8fd1c80e7ce378f17af7cb9605bd8f9de6e7a90a29177dedb1dd04d834eb26259ae328d2ec1 SHA512 ac1b3342d1094291e25899a8b48bd0bcd7dd3a9e72d3bd854b9dff6441174cd131809891c283b83b1e6e53ec82148428f6bf8bd23b2e811198beb16c2caa7bf1
+DIST thunderbird-91.8.1-zh-CN.xpi 730901 BLAKE2B 6001708f9760a81f34bfacf5216c383b8f8726364cb56e70d144f37d42a2d72983c27804eae0bf9f1f45558c8e65058ab7c27af59606b9507325f919e3e3c73f SHA512 aaa6ccd11325fed781d67f0a004c60c1beb1c902c7746a7c7a945abb2424a5afcbd10cf09655e6872754884ad2de062d012eb9de5fb687bd04074ebceeed2932
+DIST thunderbird-91.8.1-zh-TW.xpi 731944 BLAKE2B 3d09cfe5ba5a23c85745d006c4669485b37b2452f4a0f4e7cc7e5de1ad4cd183682225dca812bc31d474772b525440f125b2f41835d0f017f5ca990124062103 SHA512 c0047a86346a509a73002f89d3b34db76436cb4e09f736dca3f61513a710a632248a6eb8e9b0e8fb3ec3311f49d99d688b827b7723e693e3750b6fdbb050cf54
+DIST thunderbird-91.8.1.source.tar.xz 403849008 BLAKE2B 77cc2304c656c317e367a9037b6bbbabf382a7be0643ba9ef7e3e95ae5ee7c1f1540c990065973988ce6cd2041a392306be00d0297ee448562fd3529347b6678 SHA512 1591f3e9c76c1f2ea7fa5e194a7d030c8657a7855a95c8a177e8067c5aa838f0d8ca2652cd049b4bc88d0c9e604285a47b0c8316c190e2ceadfc1130d1e4de6c
diff --git a/mail-client/thunderbird/thunderbird-91.8.1.ebuild b/mail-client/thunderbird/thunderbird-91.8.1.ebuild
new file mode 100644
index 000000000000..9aeb25dc77a6
--- /dev/null
+++ b/mail-client/thunderbird/thunderbird-91.8.1.ebuild
@@ -0,0 +1,1145 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+FIREFOX_PATCHSET="firefox-91esr-patches-06j.tar.xz"
+
+LLVM_MAX_SLOT=14
+
+PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="pgo"
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils \
+ llvm multiprocessing optfeature 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/~{juippis,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+
+DESCRIPTION="Thunderbird Mail Client"
+HOMEPAGE="https://www.thunderbird.net/"
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+SLOT="0"
+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-png +system-webp"
+IUSE+=" wayland wifi"
+
+REQUIRED_USE="debug? ( !system-av1 )
+ pgo? ( lto )
+ 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:14
+ sys-devel/llvm:14
+ clang? (
+ =sys-devel/lld-14*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] )
+ )
+ )
+ (
+ 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] )
+ )
+ )
+ )
+ amd64? ( >=dev-lang/nasm-2.13 )
+ x86? ( >=dev-lang/nasm-2.13 )"
+
+COMMON_DEPEND="
+ >=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/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-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+ 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="${COMMON_DEPEND}
+ 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="${COMMON_DEPEND}
+ x11-libs/libICE
+ x11-libs/libSM
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
+ amd64? ( virtual/opengl )
+ x86? ( virtual/opengl )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang ; then
+ if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
+ einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use pgo ; then
+ if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
+ einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+ af ar ast be bg br ca cak cs cy da de dsb
+ el en-CA en-GB en-US es-AR es-ES et eu
+ fi fr fy-NL ga-IE gd gl he hr hsb hu
+ id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+ pa-IN pl pt-BR pt-PT rm ro ru
+ sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -ne 1 ]] ; then
+ die "${FUNCNAME} requires exact one argument"
+ fi
+
+ einfo "Clearing cargo checksums for ${1} ..."
+
+ sed -i \
+ -e 's/\("files":{\)[^}]*/\1/' \
+ "${S}"/third_party/rust/${1}/.cargo-checksum.json \
+ || die
+}
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+mozconfig_add_options_ac() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_add_options_mk() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_use_enable() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_enable "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+mozconfig_use_with() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_with "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server can not run as root!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_setup
+
+ llvm_pkg_setup
+
+ if use clang && use lto ; then
+ local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+ [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+ [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+ local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+ [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+ [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+
+ if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+ eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+ eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+ eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
+ eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+ eerror " - Build ${CATEGORY}/${PN} without USE=lto"
+ die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+ fi
+ fi
+
+ if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
+ && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
+ # bug 792705
+ eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
+ die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
+ fi
+
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if use pgo ; then
+ # Allow access to GPU during PGO run
+ local ati_cards mesa_cards nvidia_cards render_cards
+ shopt -s nullglob
+
+ ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
+ if [[ -n "${ati_cards}" ]] ; then
+ addpredict "${ati_cards}"
+ fi
+
+ mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
+ if [[ -n "${mesa_cards}" ]] ; then
+ addpredict "${mesa_cards}"
+ fi
+
+ nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
+ if [[ -n "${nvidia_cards}" ]] ; then
+ addpredict "${nvidia_cards}"
+ fi
+
+ render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
+ if [[ -n "${render_cards}" ]] ; then
+ addpredict "${render_cards}"
+ fi
+
+ shopt -u nullglob
+ fi
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+ MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+
+ if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+ MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+ fi
+
+ # Mozilla API keys (see https://location.services.mozilla.com/api)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+ MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_prepare() {
+ if use lto; then
+ rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+ fi
+
+ if use system-av1 && has_version "<media-libs/dav1d-1.0.0"; then
+ rm -v "${WORKDIR}"/firefox-patches/0033-bgo-835788-dav1d-1.0.0-support.patch || die
+ elog "<media-libs/dav1d-1.0.0 detected, removing 1.0.0 compat patch."
+ elif ! use system-av1; then
+ rm -v "${WORKDIR}"/firefox-patches/0033-bgo-835788-dav1d-1.0.0-support.patch || die
+ elog "-system-av1 USE flag detected, removing 1.0.0 compat patch."
+ fi
+
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # Make LTO respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure \
+ || die "sed failed to set num_cores"
+
+ # Make ICU respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/intl/icu_sources_data.py \
+ || die "sed failed to set num_cores"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+ || die "sed failed to set toolchain prefix"
+
+ sed -i \
+ -e 's/ccache_stats = None/return None/' \
+ "${S}"/python/mozbuild/mozbuild/controller/building.py \
+ || die "sed failed to disable ccache stats call"
+
+ einfo "Removing pre-built binaries ..."
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # Clearing checksums where we have applied patches
+ moz_clear_vendor_checksums target-lexicon-0.9.0
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+ echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
+ echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+ xdg_src_prepare
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ local have_switched_compiler=
+ if use clang && ! tc-is-clang ; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+ have_switched_compiler=yes
+ AR=llvm-ar
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
+
+ # Pass the correct toolchain paths through cbindgen
+ if tc-is-cross-compiler ; then
+ export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
+ fi
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set state path
+ export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=comm/mail
+
+ # Set Gentoo defaults
+ export MOZILLA_OFFICIAL=1
+
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-install-strip \
+ --disable-strip \
+ --disable-updater \
+ --enable-js-shell \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-ffi \
+ --enable-system-pixman \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-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-png
+ 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
+ # ld.gold is known to fail:
+ # /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld.gold: internal error in set_xindex, at /var/tmp/portage/sys-devel/binutils-2.37_p1-r1/work/binutils-2.37/gold/object.h:1050
+
+ # ThinLTO is currently broken, see bmo#1644409
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ 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
+
+ optfeature_header "Optional runtime features:"
+ optfeature "encrypted chat support" net-libs/libotr
+}