summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'www-client/firefox')
-rw-r--r--www-client/firefox/Manifest97
-rw-r--r--www-client/firefox/firefox-78.12.0.ebuild1183
2 files changed, 1280 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 0b3395215eae..34752d0b4318 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -94,7 +94,104 @@ DIST firefox-78.11.0esr-xh.xpi 427833 BLAKE2B 484282b3729b6218e07bb153120c50c8ae
DIST firefox-78.11.0esr-zh-CN.xpi 564767 BLAKE2B 6a77c82c031ae8e2ba8d6ef4f294049f219bf573e678fc9fce4b23a19a89ab9d15487e760e809eda5798f5ed213d3e21c20bf34782e201b1fe04e51d0af078c0 SHA512 f2680016d879ce3ebe93f308cccdb59d40a850641e6e433a3b7620566591877746957fd541b49e466d69ef708f4422bab26316c4632459b4c8c1546ad5581a89
DIST firefox-78.11.0esr-zh-TW.xpi 564742 BLAKE2B 3357a373a38d89cf4807ffa7d306091f65397f97ef3346603493b93e5daff42f0c55826d329df8d1bde7ff104862eac756aa811a4754d401448638fd251cf0f4 SHA512 08290cc90f946732c63aeb247ef4babc90128f04dcf3c32b623d0d822941bef9df1a2239c5bc1d067f04e4ba099cefe5255e4e43750f1053e133773258a68d43
DIST firefox-78.11.0esr.source.tar.xz 333002576 BLAKE2B a8268886f86afb41b86d227f8a8f642674ea9c0a85365acb517c6997099dbddad9779efa772cce645da6443a78d6e94c89a750152386f8dff7bbbf31bf5df129 SHA512 d02fc2eda587155b1c54ca12a6c5cde220a29f41f154f1c9b71ae8f966d8cc9439201a5b241e03fc0795b74e2479f7aa5d6b69f70b7639432e5382f321f7a6f4
+DIST firefox-78.12.0esr-ach.xpi 460283 BLAKE2B a00bee0c7f0ec9c27454f618c0402721db074b6319c1b0964a5ccde3710175a20f9a6727eef881d8d3db7205b2f7bf5bcbf5c050c39cbd20f95cf23c6ee480f8 SHA512 6542b5683dd352ecafecb42a9bbdc438cdd927deb9e1c8f55f52a1c12690d1ac1281c379ed7dcedd6a62b4ff37b816b5a7870b0aa9a725444640a87b1e6749dc
+DIST firefox-78.12.0esr-af.xpi 428351 BLAKE2B b4f671687a03ed5e12e5c805b501ad3a975090168a60d4549326cfae17d0e31cbb7458e8118a8f85d566a75de97cd2b7a0f92f77f21e9b4a5cfd57163a54b163 SHA512 fa91d12158cf7d41000c3cb4beb0290c4fe760e5dcd27cd23d77b228f509558830ff4d2c29248bfc08f69c0a8592302cc6aa59fccb5b16f292e290bf9801f7f4
+DIST firefox-78.12.0esr-an.xpi 508377 BLAKE2B 63f4678044c1ff6088279a5fe25bc7a0eb0fb8eb8c2ca326c14ffad242be91892e8277bda016e852d61834bd095408d9c822e329918748248e4f8f0864c64718 SHA512 b1cbcf41150858ec827d485ca819490907d5604ceac758d478a5f39a20b1f204dfc674fa5563c25e8fd93d85f83faab3673e4d08becd6c628d1d8c118c22bbee
+DIST firefox-78.12.0esr-ar.xpi 560954 BLAKE2B 625905b86f9a7b9b8063873f7ba91d59196abc95a27b15764fbdd3bfea24d7aa69c7a9c4934fa9b0d8f210ff90b9782d981221bc8d892b5fa83b1c355166d554 SHA512 c0b09fe41708f1cab137a270ac848627ec98fc43e47c6a405d32db7e01a13338516cefb2f3cdf1a8590af00e75c3d4bec782646d6d143d2b103c7e5eb861dfdb
+DIST firefox-78.12.0esr-ast.xpi 456387 BLAKE2B d8a5fd537ccbbfcd654ac58ba963123380363bc5acc3261fcc5f4051d93e254a9f9cf2929de1dbb9c2092e2494c9744c973e1b8a2a12650655f8d25fba7fc749 SHA512 ec5e717088863808fe34f088336f13add49035ea8d7f323fc3c094316cf8044772d5ced904904cd170f471186028c0ecca21ea52cacffcff185548172f0abd69
+DIST firefox-78.12.0esr-az.xpi 497433 BLAKE2B bec0f0209a6f5d9043f4789df51c34519c5f33c08a2f6620041f591599929514658bfc7a5ea2cd457ded405f58e000861b6c9186972ee4390555d7fe0c5fb489 SHA512 49e2fc648e30e419407714677b59194196404c50c92e4d1affa01d66cb7719302979f3d4b74c7fca83fdbfc7ec5c406cf876b1fd342384870c39e08f72346d48
+DIST firefox-78.12.0esr-be.xpi 608650 BLAKE2B 0ab6829a8f7d49678d905f99e53375946a733e12ed46cd693fdae3da19aade621b572028f938d33c91da3e69280b53c6ab6a19690648a414127bf55a3279ea7f SHA512 de62c7f2e5c8ef8323eac321ff3c735cc165fcc53ecb044dbeec35a2196c52fe9cc083c95ce755b97c320f123500565e471fd8b0edcadee2b998d005402e6b84
+DIST firefox-78.12.0esr-bg.xpi 553973 BLAKE2B af6c0b0aaa207b9714269c2844eaaf4b7bbdff58350022bc816001711517f50e30b3eee62ed8dee53b906eb990373cd462d45b62cd112d44ac04e047638b5afc SHA512 3f50b3a300270a12b220ed903ba79738e807d71d731bb8755a543984b84272a7f67e1e4a05fc5ed7c87f391de69e9ede628f50a4f8faede4acf224adf0de4f7e
+DIST firefox-78.12.0esr-bn.xpi 572610 BLAKE2B d54b5abf4704b472537badef7559170f3663cabf6c7a48563fbac1b1f12f16bc048cc28e382f66aaa064fe5ab25b57e9ed58e94e9b285184d5a8ee1c2adc526c SHA512 3b116f3385d67f6901a801a758a02c834a9019696c498d085b7c0dec28d723b66f6485063db1ce7024e8b53793a3f146cac7337c130afd060c810d1e39ccd652
+DIST firefox-78.12.0esr-br.xpi 507129 BLAKE2B 19172ffbdc74639390d9beee945183e4f3ae068200af8caf697839774b942d251f36970f95b1ee17ea5726a4050a3ae77f22182810cb10668a17574aec522b4b SHA512 fc0c7f25f3b8a08052d5880e6c18df752b650c349411e464938d64850c7f8c5a471f5a7048fc13a6c7e8a0ef1b3bf7a7bec9da3b70bc4ca101f24288a09979d4
+DIST firefox-78.12.0esr-bs.xpi 463802 BLAKE2B b151773b4bb7e1c51566205e645c8a65a996bfcbd3a60f0648977f8a0784a6dae69ac799efbef5ba9daac906e48cc218e55d7c9a89181d8bd598930be5aac4a6 SHA512 85a7cf7f28c984f1330ef0e2b964d446bacb4f3369d1800031cccb61c43e10e990726af3d8aa8478af6eb416773c9e66f50793c87528435bbbd7b0c50e4d3b91
+DIST firefox-78.12.0esr-ca-valencia.xpi 517178 BLAKE2B d1574689812e3c1b01323d9eec83475d89e333e7ab8bdbb2b4cc11eed3cf7c56088adc3d1da7731c5ae65f3b9c0a76ab0743f50f3529dcd38d62be55c2862a9c SHA512 20b4b91a5e69975479a92f563042128d66d319843a71f7555f7fc53a1b9296d8eb8c60a3c647176a70408b616b5c5e44b901ed67bba46670dbf6cc31edc84e53
+DIST firefox-78.12.0esr-ca.xpi 514183 BLAKE2B 297626859bcd85f1e77f0eb37fb9c98175f8a7e6b45bf072405746b9428c2b789318db2f65fdb5dd906f8e21f7678d39efa62f031c4e884a689de5c7c2d7f3ea SHA512 24bcab6bb8d1e16d6098ace8502703e33e2c88c9d31a695c0783b103dc0212dbc48178a488a35b54fdc0a70675f0e37244cc4ae7bfa39d13614ff89fb2b2f7d9
+DIST firefox-78.12.0esr-cak.xpi 551556 BLAKE2B dfb1d7f88d2ceefd923f4af7239079ce2b1d0336cef47f26e35d5aead93351b05b26317875adf870acc817b71e02cfbf39e322377b3f89f93707182da13ed8d0 SHA512 1a1be2a52f85d06ddded2077ae330767c4629c363f7c11a1e4ac104d36ee4ae8640ae10d3dca1c94018c3cee6d94bbb241de6aacc49440479d5725074742fc75
+DIST firefox-78.12.0esr-cs.xpi 540329 BLAKE2B feaa6692d66d57084cedeacec0f3a49a5f175d59699af6980a12880ed3cb615fa5552f53a660adf9125a90703be743be15d6cdc651a68456ea22c4ac81a388ab SHA512 fa25f5f1cbe7dcff4e78fa02fc6996d1503c35b5b0a581172c6c111c86e1c65ef00dbac01372a33d929f03b15371545bb99801138afb26e39181248e663087f5
+DIST firefox-78.12.0esr-cy.xpi 530698 BLAKE2B 1e6cf6f9ac920a03315fd6901d79942cfc87387b00930b3a1feea7680d62a0683737463ba034530f65e9f85d1d99a3e2afc927cb6e221fcf1b1b9afe61d98919 SHA512 9456922b7291077fe26db1e4515742be7f860d294610022d384fbed1d5adf2ac973870e48e9695781fa82eeb92b431fd03dd15ff31a2f31082e340653c7a93f7
+DIST firefox-78.12.0esr-da.xpi 520269 BLAKE2B 3dc9ce7d730472394c3b237d5f9eef4b92dea1490cba2e73286aa48de477986ca6afe8a8a9f697ade06569f7ccb507a35ced025276b69d86b8ee7f0043ec1362 SHA512 6535bbd10493833c9f490806ebfcc7a02a122bd17c82468637e1e6c67f1f09aa207d5ee7a00f79796a70defe5ee53486db4e6f5ed9a712f06072ffe103948f9c
+DIST firefox-78.12.0esr-de.xpi 542853 BLAKE2B c52079da5fd96cc7a9f6636200764544c8d0c082cf9bb7dc3878740391b1b4eeca39721ae7a313e8614b71a80e856f413e79546b2cf62555f03800812759ce44 SHA512 1c66836985c31b6d46d4898ff6a73f2920d09d487f7deb4e5e0556cd84c7878da4c4ccd3131bee5ad8740bfe3b248c62e220d9a6c157dd5800111b288c339e9f
+DIST firefox-78.12.0esr-dsb.xpi 554280 BLAKE2B 3d14eaf320d18d7daabc8a0af83a34f52a616ed66f454ff2f8441cc776af604ddc90830f5bb6e1f777070607c73f25b522ca0c11faa34907ad52120e41ac56fa SHA512 4a05f52721ce363f4d977f92475029fa5a86445742acb1d3e4f023ba7875e9cc4b4ed290f75f3263c276066344e8d5af49fff4feba38485980b664c4f2bc93db
+DIST firefox-78.12.0esr-el.xpi 626568 BLAKE2B f89bfc615907dcfe53d870d6bab773f086c84e03d7632e826983da5271504528d3b453295d3edd1e5a9ce887af338f5fdc226c4fa7155f3fa9fc08c0ae09d378 SHA512 5997b04af48084cf9087110a42740e4e71d48ac4e0d52984e2e4dd62045001f14fb41105a693fb81a423bd985c464402a27d0217d0aef9efbb2e5fe975d74b33
+DIST firefox-78.12.0esr-en-CA.xpi 497732 BLAKE2B d7a74ba343baa1910eba123f801b82e18d9fdd1054e0df87ae234dc97ba5daa6a81d5b7dcd6fa403e0c52e884459c807b335094b4a8dbb09793a37d3731a4809 SHA512 78c05aa972db64a70980ea967f87edfd1edd08935313f70a43c0918c693e372dbff6f3ff1d233ca96268747e3f950e4666f23971d5d380f05a144d1be75d30b0
+DIST firefox-78.12.0esr-en-GB.xpi 497581 BLAKE2B 166282a2040172f9e8d209b9a8b098d4f56d1a4888ebc9b7ecd937991305827bf5f8bdafc75bf85effe97d4f809ca7a233b6f5ffd345e893fa3a5bc15fbf6445 SHA512 af372200fad2cfa9f653ac349289f0c20937f5ec798832e0d202f2f330fcba5fd04168b5960a5b8a534a1904bd5206f6745102e73ed6775dcd5120a120ba421c
+DIST firefox-78.12.0esr-eo.xpi 525738 BLAKE2B fa6cfd49fcda4fdfb54c93295978512a016f115cc0da9e54cc82f0da9c4fac90b2e2ea52d3ea41ee6b0654c90656b17d33ce316dee349da0dbe719eefdd6c6cf SHA512 8b11970ac93265c61c6518fa06eea0749f15f3cb94058e4f4c0db166fdde7261bb5bd9eca1e5f54db271570bf63d7f84d1ff5e141b20ec23ba09aeb9f30ab1e1
+DIST firefox-78.12.0esr-es-AR.xpi 535801 BLAKE2B 60688df3b040e8b17738c5c8f60e29bd9bca88f8d272e09ea9db60af859981ada067ab5ab7418153805a730e9fab1afcc0df2d55601c4d1dbc334d8ad56e42a4 SHA512 6567391847b866c5c4d53bc628259e69ca1038c468f0030536525d1bc5df19fab8654015f6404684156521a664422d41fdd341d8d4324e0ad8ecad1a96e759ca
+DIST firefox-78.12.0esr-es-CL.xpi 535347 BLAKE2B d31a9937488d728c9142f774a230f82fe955f4e735b9c4c71ba063e4c0fe80fc13a1227876dd14fec6bfe069cbe07e10e8ed93577bd214f5cd27581eeddd4b02 SHA512 49c96e3e2e79cd8b57d47e62a9f023ce52cf3b2ca82cd3d7f03d26f3c7433f080e915d4b0d0460af6d7f287ebdb8307e20a395ffcbcf926add14b31814f488c9
+DIST firefox-78.12.0esr-es-ES.xpi 522691 BLAKE2B ffdc2051ae8566d8320aa5cb100fab84df2e5ee1686353f21bffaeb15b7058e8920c46ac1a86f014ae2535435542e410b9464501d2306bc8215678eed917439d SHA512 754223da264548ed628611da8deec195ae5ac978c9f6244d2f132a7449c6693a09e0c808023dc3e18413e6372ea9957a8ed3d584fa06795b8355aac2823288c4
+DIST firefox-78.12.0esr-es-MX.xpi 532295 BLAKE2B dcc9269f6c4a5f55c871f11f81d29146d83c4e97b33ab509419b598d6716ce097760bbd677f7a5f0367323f31273837552db505c88920994a5e42f85616d84b6 SHA512 b3fd9d7fa72e730a215f3ef8b9cf45be999b5c393dd9a7f9a460bf83c52f10ca1057c52763f336dd3c5db3ad70bf9d0a6583a227b4403a4eb0137d33d0dfa24c
+DIST firefox-78.12.0esr-et.xpi 485252 BLAKE2B 181287684643149c2256a4c33c9486b947c8fcd973aa8bf76870082ab61ae735e997293abc852ff98611ecb1ccb9ee2f6f091604d3e7a67bfa570d741143ab93 SHA512 7661ba4923fbfda802225135ff2df04f5e6ea731bc8e3268dfef95749023b810997932efab11453f8b470d27372887e41d0231fd9a82936d376ad5a66705b4bf
+DIST firefox-78.12.0esr-eu.xpi 505876 BLAKE2B df642126d782f09639ea28f7cab53173f2039b0455f35589ecf9a1f07ec12331e555661c550bcb79391cb8203702312a36ec7385341ddfb487efa2cb218bd00f SHA512 905a1f112d2d5dc5e1ac465a4234ff64d08f44394c609c7dc11a895aa203b69bf9dfbf381b204b025d09a6a0db2eb95ceecb61d3b8f01014a9b003863480dacb
+DIST firefox-78.12.0esr-fa.xpi 538927 BLAKE2B bdab40593d23214daac28c7f6a2e4fda159b9af828158132354077596402dee1a09806ec8a699390f75dae82e548639b81a43ab4fbcbb331d9c2dce5309f4331 SHA512 34d8d6ed8aca43b5b70f595fc866390e389cdc79d7b48b8e66eb179c76f6cc09919b66fdee485b7646f386b79a1aaa6998f7b7c672ed7c286e646058484cc79b
+DIST firefox-78.12.0esr-ff.xpi 481609 BLAKE2B d076044f29ac3dcad8fe8dbcbcf2a8e8c6c52611d3cab47bc1a9341a42030c3cd48dfa595b8277933a4d038d81979a4cfc002d9a84c6203b2257126bed5e624f SHA512 620194c07b9a6eaaadc99617111c602d05ee573c8c3b95ed494e8322508b39d1e548d77f9014dd8ba3a2c2340239e1fab86a2788e1ade99b4dc6e16a205f7ee5
+DIST firefox-78.12.0esr-fi.xpi 517919 BLAKE2B 598654771e21d1c9964288f3c4fd53d2de6eb61cbe56fb6c0794904e8b12fcc0736191767658e9d5395ee99cdee0de56c2a7b07de16295573a4b7062d3703924 SHA512 a01cd7389cbb0a6adf05683a80b43b32119970181b0c32bec0383374e2fb4a5f767c3eeffff669a563fd6ae908ba431f67449d79433adc0c89133e59e6e67a22
+DIST firefox-78.12.0esr-fr.xpi 545884 BLAKE2B 1741066c45d77d6dfd4c33efa22cd04c343050a02e3f977cec5914729af87fd8cef2a2aea73afff9c9ab6b953d528bea7360b987ade059514ca03e72b937941b SHA512 4657093bf73e284491811cb3b98fde6b3b6fb47793a962700945f86091e677dcbb4431efa6a84b6f58320ab57ee88c0d8735a74c740ae6f21b76105740b26c1f
+DIST firefox-78.12.0esr-fy-NL.xpi 532485 BLAKE2B 8f3a639b2259781068c75163ed1a09ec9d11cfc0e07151caeaab881f75c551b1abebcc36a9c2373c5488ceac53762b911f348ff3781de598ee93e914f3c0bd5f SHA512 e816b480705a9e2ac5b46ec5e781ee15a5096f0ab78376599bbd447fc87007623b4324d675509e0115d20257d1efb03d66ee60d72530aa5c28db8d9a9afae4e9
+DIST firefox-78.12.0esr-ga-IE.xpi 466890 BLAKE2B 1642e6587825a9220424de58c5f7933402713cc8b43173247ad8bf47bcc1fe56feb5070616e29d6fcc4af66a2ff4023850d2873958082c6257656624daf73769 SHA512 fc1a6f74877ad6beb275b836f6ba1ed2b66e26170c15ecbd50a40d7cfa35b8e77b7eaea851e308213c73f57538a1fb32deadb44dad5a9d9bdec9de261c9cab08
+DIST firefox-78.12.0esr-gd.xpi 491887 BLAKE2B 86bb50326f52ec809777b1aa6dcfe3c5df6436eb0855ffc0ee7946a2266d4e70b8c596e4743be66c0d96d2e78eba74cfaacc044a4dff75dfa143899b964f3bb1 SHA512 41fe61ff05a39220faffb5c3cf131a92e00eda26f41bff0c61f8802abea179e0fb757ff74a2855921f2523cd1dd2bea4cb03589fc70210f7c6f25bdab321b726
+DIST firefox-78.12.0esr-gl.xpi 528408 BLAKE2B 7700bde64cc4ef05bbe29de4c7f066ca064c4f557787119e8bec5097ec947846d57f0a4494bc4bacb05d9044d8433db899840c7181f60b0d258290177530433d SHA512 9120e09f38178c72aa190ec1a78e1f750c748b1b5d62cea5abea3d7767cf7cd14000ae83dffba272311daecd3b811e00728f125d301de5a3fa7a78c1520e87ff
+DIST firefox-78.12.0esr-gn.xpi 546465 BLAKE2B d55ec543e9a8b4192e3d2b28f75305f9ee04d5dbab51a23edd216e20c70fd752e94567cd573eacd1727654a1e48ddd6c4640f43abd784f31aa4406769a25b7f1 SHA512 43c83e5bb7bb3d95856c05fd3a962eaf4cd01bde39576f43da4bc35e49b571c81f7baf4c84a8836d2bbfe5b50ce1c21bdf97c702511d74562e138bfe9c0e3b9a
+DIST firefox-78.12.0esr-gu-IN.xpi 541422 BLAKE2B ba3a82771dede3eb4a6971dd6c28a248139428dca3977df7a4279bd5a2028a2d01f3d078b748dc0c86923fa8677b2ebdbcfc1b99598b93d89d9688957404b3ca SHA512 62cd42cee8dc8531e1ddedfcb27e17d06f46ada4ae7be3c402badaa57fd84a3fcc70f6dd6afb1a2eb8b6ceefb979899aae1a67e08d73db073fd8f0d29a9a19c8
+DIST firefox-78.12.0esr-he.xpi 545595 BLAKE2B 8b2c65e9ecb12a9bca63694c4fa3ef6cd1cd04093e9f4da42bbf0b2bedbf90feca27a99d66652fd735f84c3f5f85e57b55734fddeaf748a8bac8212975343ed5 SHA512 209f3f6b1b2dd176fa340c65d3d880cbf7f02a850969ee333f0d98b7bf69bb2ea5a1c0dd434c0bbe06fa1ff74170f4bbb57112af072c5a045486ad9a3331e436
+DIST firefox-78.12.0esr-hi-IN.xpi 567860 BLAKE2B c6a65ab10c21bed41dc7eededef8092ddbdb0b09c6c4de87d4f0558c69c6d063595aa9c97ef3b7fc7f6fc88393609421cf5048b3e1d8130fd5c4e8361f70040c SHA512 cc2e2b370c0eabf2892993c1b97f0481f515b981c7f1fb4cbed8068fd13ffcc7ec0a3707dad53f691b5cf77816e24a8a04eadd88995daf572e34ed16ff95cb12
+DIST firefox-78.12.0esr-hr.xpi 522698 BLAKE2B 13c644feb97ebd9a5f0a0469bfb766a541fffd127fee2942cb9514404b9583c9d1ffb5eae668e2dd73190a82147fb304235f91c84fbe57c0cb359ccaed032bc1 SHA512 d5efdd70d10dd0a401d3d80976be737d5012ef33d95332b73d773793ffe567a7a447c8a65b9a2d931a4e6273c7623771b2c50a0c9424ada6dfc25b0722fe9911
+DIST firefox-78.12.0esr-hsb.xpi 550669 BLAKE2B 3a4224cf17d1faa79eb19c33922a1189604d8bbe206dd837931df509b0eab67d46ac90cc8a3464114c694037ef8896bff197d8fb0a74372093de70f765414810 SHA512 17e8bd7d8ea4e9b36ce32313792f2125f78db679218d530c4c226e8c86711a3bc79dc1ba40b66c04741a2601b4fd6bdad5d5eb732e365219fe2f2518256338a1
+DIST firefox-78.12.0esr-hu.xpi 554886 BLAKE2B 3ffed6828c76c5c51d6774653ad61777ee89943625c8ce59643f1af0df6e2a4d5dc918778c7c1bda9b3f72cce6fa534221d9b895ead11818348f9c7a0fa1bdfe SHA512 df432acbf507eca5bea458ce545de7521719ef1392a91e9717d538dc29d83135c9c5aa8bace1ca08788672eab7974d35883a4064d443aa6404cb408db784d77e
+DIST firefox-78.12.0esr-hy-AM.xpi 588981 BLAKE2B 7ff31af1fa503573f59ba57d072a24cd7ba8185a28256dd66c3e176ba21619b4175d4b40e3787c76ffd7944a8da059da588167cd773e3d8d5643e95e1fb33930 SHA512 3169381fbb21cbedd115613fc9ec96b1fa4fc9e6bc819a3e94134a05a8ac14ad5f2241426cf928d3ebdb3a48db8e49fd1596ead5a8cc40b9ad12385e6cdfe604
+DIST firefox-78.12.0esr-ia.xpi 518808 BLAKE2B 769860bd1a8940bfa4cff65682501db93e653facbe4c1ab1ebc4068864885266c0e203bbefe58f477e1fb3e397cb5ed7b0a1fdbd840bca9b89f7e2bda5bff705 SHA512 4d02668a8e6c30fbffe327692a0dda509daffd1f5eec08026f9b3944825333b0a38d3f71810220369b0bbee5f4c0082eb6d2fbbeea2aec873de720c4538e49d4
+DIST firefox-78.12.0esr-id.xpi 509561 BLAKE2B fcb2f7a558f6592260bec964de149001be7078e338f4d09446b01f1fa0d196252d2ce2fc1d2ffa4ea0de45d492323b4e9bd94ab268baa7f2f3f9c91aec7514e1 SHA512 098bbe019415541975e375f02de131af3a50b6ebaa3c39399b14b907e67740a28dbcfe4b15f0755011c5273504ecf74828c65c5d219b7a3dd7d9b9bd9de19179
+DIST firefox-78.12.0esr-is.xpi 477012 BLAKE2B 5bf1cbea09a85303ef4d3e25798c94a3a3e23d770536ad08c645490c042fad85f1254946aebe85c5388d54115d5c9bbc30c9c1ddf2e34ef40bc2b4b4c8642760 SHA512 fb385a03d574a8d280a54c977be14996d33d46d5b5495368e4226ecefb12e479bb57b21e28f3c23c14f4d1f0353c725cea3ea5e3e3498e4ade2a91ad59e0f847
+DIST firefox-78.12.0esr-it.xpi 449807 BLAKE2B 0b2b52d50fd220c7d250701bfa12ebeaa5863c78e8759948e481e22ea76cb10a406b2b32135a73f23155dd4c594002db777ca9ff4c4a64c0b87e642bdaf68c81 SHA512 b586eda2043774edc5008bfceef5f779d2e468f7304eea9bcf2d956078d95f04dc6dc49ce996496a131bbd366bb6b588d20b914ee393f175c94bfc52713af199
+DIST firefox-78.12.0esr-ja.xpi 578200 BLAKE2B 5178f4003c7ae8806b52223d1e1b599a693519f9daeacd5532c8dd6fcebc7cc82cb5539873eb4395dbb2a22ef6da5d09a9d9f9b0d395c7365fa1e6fe45e1b0b3 SHA512 268afcab72d2a5406b77d992ce005e336520f957bb81dac3491ea74b2d9e2906aa34dfb7f7ebb70b290737382237481bcfea0ce9f4c3316bd3c76f9698661e07
+DIST firefox-78.12.0esr-ka.xpi 579082 BLAKE2B ef8c55d39a2aa255eff85a7eb66f2a2d5c267948887fb9e975ba86d323518d863122bd5d48b2de158f35b084f54d6621189f4cb7df44dc271e85ab494fe113d4 SHA512 8db2582ed315e846e6eba468fb804cd7940984edf29a7b992a96eaebdca35110465457d55eeb5ba2557b4e868a0b0b600ccbb2023603104d7c934f80e022d951
+DIST firefox-78.12.0esr-kab.xpi 539732 BLAKE2B 8f5a140b2d2abf4958c6e437f26d49e6ce06511ac798505a2a7573010bde510ef523fa92d809e6dbe7dafe1e370932fd5db039099b2c619908d095d94b470ea5 SHA512 e4455e2031b86ae7b0b76da7b90f68cdec247ef9cadda2cbb7b86b85b80f296418cb3a034c6c630c9d62c056a35f0010b0f58ad53e634f7db68e4a4cdf09fa6a
+DIST firefox-78.12.0esr-kk.xpi 593260 BLAKE2B 68eea4cb0f257d4e1d0771d3e06324d4a556ba0c063a3d17f641330b289cd85c677f01c644713a882fdf3a94650d4824957dbebea37d0d87628c872c8f77a7c6 SHA512 e216c3727e7c1ef3c04862c207a9b22ee18202ace5dae589d19735e82496fa10560ca7c5e97750829ba7b9df57f0695778dc60794c837710be2509f139783fa5
+DIST firefox-78.12.0esr-km.xpi 527366 BLAKE2B d166e62391f2a93ee7ed06801bb1ea0d702ae4977c610aa013dbe7e21d2f7d243ed969370a8815a4173b5ed691b375804632222367e8b9c537ac7a03c3768e39 SHA512 ae50dcd81d874cd8802270903f4db23d7fac0ae9e913a674a2b487062cc901102723b3155e83a423ca07eb814f75fe5ab39b83ef36e203842c96af7d0bc587c6
+DIST firefox-78.12.0esr-kn.xpi 506748 BLAKE2B d753d31da106fb6857dddb21b95f755d8d8cd24f02e58a8d3b189530c568bbc94942d62afcaf49f3c82b209baeb455252a97892482538564c0986408c1fff3f9 SHA512 5134e70ab4ebd1b121a063e918924139a601c86af006d9e8f3a5025c68a6af550319511b4f032eda1c2a45fd7e857577d3ad4b7a6f86753b3f84c065e200ebf7
+DIST firefox-78.12.0esr-ko.xpi 567527 BLAKE2B 14b9d67c582ce2cacf1196ccfaa9f612e98547f30f321000650978422a2a0cd33f9c6f9f135b289baee75f28f3c30675ab486d37d4b028c39da9b26466a36837 SHA512 36bfd233884dff29ef3a41370df17cdd1f306b1b35bd81e8d2881c09a5f73536f834c6bce7f0b81b3b89862b19fdd507ce321e2b467de20586e829189a74f90b
+DIST firefox-78.12.0esr-lij.xpi 475236 BLAKE2B 89d82e8b109a625ad2b7440a908fce782b43e7bbc1b58b3c60a652334f25b2896640e1b97bf541c59cade8c6840425d6ef0cd9c8d8fef3224f77184f5515b5e8 SHA512 78b62ae948e65b53573c1c393b52242129e12e1a30dfff36ef2d435be0466c14cf09f28dca92b7d6ce67430a6c5f057178bb601d3378036db0cbd1ca13b5cc5e
+DIST firefox-78.12.0esr-lt.xpi 540687 BLAKE2B 36f07f0bd85470537f06e6f2a40ad5ff5143c256a44f6ee332caa4ff77f2dd87990c18368bd85ece775558f9312f3201bc30ec3b354ce3d25e822e6c98f6c938 SHA512 1df7b888852aa29de0de945e1d901a18b35537e4ab9ff9807e9efd3ff2c385292873862836bd40ad8eef1cfd5f6aa6b2fe7288334e2ee295ae12cdf29e6a3eb2
+DIST firefox-78.12.0esr-lv.xpi 467454 BLAKE2B 2eb95094f103059c77dcdad427394b70c26033b8fe9c2867750829b90deea9d1ffec738770fc0fa23ce2f84b8c92775307fc3ece15d2749419270ac1787e2d27 SHA512 4517bf89ecf9fdab3b68b58ae53709b327b38f6c546aec85ca339427e1e2f4e846b91f680d7dd59bdb935ad9c81dc2a85bb5e2803fa70a077a10fe082388def4
+DIST firefox-78.12.0esr-mk.xpi 460012 BLAKE2B 01b91f2059dea0e6aecebd98daf280a1d299a80d7777cd0e363b60cebc1f6bab04ae8cf6c666bedef33b9246cf623e8074ac9eca26d7a325451b5e1c673e9eee SHA512 641986710a8da7c4dd334039e403a8f42f0f143752555af72079246e001e8a4d7b8d013e900fb2b755ea60a2df2a748cd802398f694d6fb9e2c1cc61ee118f28
+DIST firefox-78.12.0esr-mr.xpi 541569 BLAKE2B ac084f640e23cdd07f93dc3b68d61eda67815c70f13d616d8440553f06d4f831d7815e390c88466d5fdff4767efc61196971bed750080b7940ca53ca76e5b26c SHA512 98282c85887e71dcdc08be45c46baf8893e9818880ad7096c57d946c2e08808fad74222c907c593a6f1d67f50f1cf6fa65e158f2379b3ff2e45c641c8975ab34
+DIST firefox-78.12.0esr-ms.xpi 453061 BLAKE2B 0fe96bd6db5f8f0fb9423a659a052a51a1bade98d9ec613efa29db87b6483e792ddbb6d6b6368cb7d9a1f52be42099d3fb927a4a438cb4aac32968089fac2376 SHA512 122da1a5bd6c521fbd93657afb26a734082f23b9e6e3d32c28345692c86665fe1310c74bebefdf65715451632e4f03bb3a0697e010712da7b90251e3e7a4c9ca
+DIST firefox-78.12.0esr-my.xpi 526323 BLAKE2B acd832cfa37ea57d3f475fc7d83747dedf76a81d3d783b83fc1dce42949e0cbbe905390945df314b14d67a4ae8a685abf8c20258bcb85bd04104faaebf18bfa3 SHA512 92b0fe9a657e3ca85d9b1c81d3435d94028e041098b7e1b52a26d4e9f378319cf70e9649585fdba5dac919c8189289394347466dd8be0492f05239ecfc4e5ca8
+DIST firefox-78.12.0esr-nb-NO.xpi 518519 BLAKE2B 3acb4ebe5add5433b603729a4afd3d07b5c611b14996f4723c865a4e4f77e77c7ab7b0a00c697190ad52733323a8d9807be5cf273bf4767b0b823fb0efc1be43 SHA512 9f1a0bfcd1c668ddcb7ce1ea52ce25ea3c490fb16ee8e4e475668b1e3a7e2e10db7dc36fa118b911f7b3b7e71054b664589763cb760232028552ea2220415a48
+DIST firefox-78.12.0esr-ne-NP.xpi 483409 BLAKE2B 24bc0e9eaca3055f2e6ed764b5ab230b161404694a7cff3c0d61de5d742fca558d894f72b00d8b9c2d7be5b96ea88eaf1656e90843f62afc325044fdc80bbd4d SHA512 ee4af731da6b770ea503aad20900da86aad7ebfb9e4509035a0efafb658eb62ef6633ebd6facdf38404dc2bf6e656eceeab6c4e358e472b7a220d7419ec28bb3
+DIST firefox-78.12.0esr-nl.xpi 526209 BLAKE2B cc7926d00063e84f4a9bfba8719d276c4c847152da283f0b36dce24cc1ab1f0ac0bffe29ce574362286c664564380e88f1575b19af5121f54caeca02f79a132a SHA512 5be0868df240c3f2bc5f62d62e33557bb5899d4afb8f775270a2a7e8d3cedd62b06f1bbad6ee4b42efe47faa974d2af684a629b910ffe3aa11877f0f0e772515
+DIST firefox-78.12.0esr-nn-NO.xpi 520165 BLAKE2B 5c730388fd83f76227e016a0cec35db136d4549105c7c55182125bbad7ed7b6797dab79d5a56cc1edb06d04cc6cff6734b9fc45db7c20b2efeee201f654d8247 SHA512 571606c967cc2d8343a9cd144b4c2b4f8739d43a899a60674d38822a8d8c488a6f4f38a3d7fe79b32a0e2c70b8d358ee0b6229bff4eeb16ad75e452629d78df6
+DIST firefox-78.12.0esr-oc.xpi 542161 BLAKE2B 56862a01dc976698fc1fa822cd4a540040cce2a98dbd8c68822d4d02daca9c30c785f2df4a4efa525f971aabbe90aa2f8d499b4b60ecf7fe064e4902a710742d SHA512 ebe47b83828bb15fd17829d5a741adaefba99702ea6642d0df89767ac0567905e0ba4d7c5014b453bb0ad235c317d1d9908fa9f3c956221d2330adab6ff09d06
+DIST firefox-78.12.0esr-pa-IN.xpi 580361 BLAKE2B 5708b864aa5bae9961c5aaeb75bc2d82e118e9ed4e5ce60b2202aeecb2ae9a55f3c2e5ea497352c7c5a5310be08c42ea7099199ccaa6ba5de5bd3ffce26f7406 SHA512 3a539f44c67f97f2e4a1c9cc29934e5135e241fe0adfd579571305baacfa545e602f78a2ac183086add7df444256eabee7e3ab32a626bc8d3ccb46d668831094
+DIST firefox-78.12.0esr-pl.xpi 545587 BLAKE2B ede715662416623631f16a1f3ded4a9beb8483a6155d541ab0d316902748295025fcc5a58a376d437ce496a0e23bb67772acf83b6477f70b0d0006c2ef58f5f4 SHA512 426b6385cee5ec7e1fdc97f8ebab31d9d3e7c7228cd791f2653a6e153c9c210e25ccb9040fdea89779664e8469958a3fce2036e31c00a51d48ef97eb1709cf85
+DIST firefox-78.12.0esr-pt-BR.xpi 527570 BLAKE2B 51dc9cf77c2f98cf5ed9045d355f8045dfa9bb3008dcaceb820b6df22d15e3fdf2d7fbcad986d17a93541051e863360786a3063d87233a9986f3a51cbcb821ea SHA512 9475a182f30f5124e9480def4c4d481ef744e9a57dd44418d9219ac464a9c52c35b50d713420b5957d3c18ac0b278ff0e9fd7ebbc8e7d723e3e54b697bf44786
+DIST firefox-78.12.0esr-pt-PT.xpi 532051 BLAKE2B 0296ef68afc434d5f382fae28f7d196fe535370fcf3aad8381fd485d52337e1655e7e175a73f69bea8f4ec9ea51c81f616fe6e01d893d43f37ff15a32e72c5bb SHA512 63cdc360ce7a950285c9ad2a8fefb15e1653db6cf03b5dc7ef94113be7a9abb79277e7a483a9969e317df5a80c0a780b480e36ec4b54b81e061eb6f8d78228f7
+DIST firefox-78.12.0esr-rm.xpi 526719 BLAKE2B 06fa9e1e88a49dff5b9e2d3a8257aa04f07f53761f9786b41f837315605c7df7d65c99a1d7faefa9d70a205801ef3a6de5e6037c3ebe740bbc848d2cec29526a SHA512 0562f349ff89dc6d58449ea84be5b7a3729b6a0a9da10eabe3e33ae0fdd67a356022e416a9164a76ee2b6ee53dafc683a5005709674a78c9b533c66cc45d0275
+DIST firefox-78.12.0esr-ro.xpi 535573 BLAKE2B 6873bee12b50838cf27b91c1d6bdd63a9e1cbe3c63e89c79ad2b8828f33c29dd95915cceec5fe42a3be12f8c1f59dd0225a9ace3bbef0d4e8cfcadf9724fe6f1 SHA512 73abbb7242568011eb39662e15ec2d63fc43fe269b21f82227d4b9a7eb89e9b3a7cc6ed9617600365360636a8df968cec87c966fd501ef1b4b12d276dd11c5f6
+DIST firefox-78.12.0esr-ru.xpi 614597 BLAKE2B 736786d92085cbb194dd371aee0a517ca6a17d9f6fc0db45e653af2052c5f5f39fe267b7ea826d102c68f699e991473474b0398175db17e3dcd58963a680d5b3 SHA512 432e4594e3c6446d9cfd24089a70960da19876b1e79e30f736471ac32f5772bce10c6c58be70237963174e828bb0f9ddbfbed2a314376d248fda9fe7d1d33f50
+DIST firefox-78.12.0esr-si.xpi 492527 BLAKE2B 1972bbf48b423af6d7642ab712affd8be3d2d9f22ee6fcd4d0ab5d79b34338d73bbd0f53f3809cf9a9c4adcb7a65a30ad5c751a8281efde29396e5eccdf49b20 SHA512 d223b49e703f2e4a0f26dee7353bbff6e865659abcb1e13dec3d2904e3c6a6d3d8c83216c038e425a65752e82b0ebe96368292f7d1229abe77994558394e439a
+DIST firefox-78.12.0esr-sk.xpi 534223 BLAKE2B 2b5e1c5e6013b69a7fd7bd47036c87fc12c4c53b8c3a8c2620dabe82594f4316dd71a038a47c3135a0b87a87cdf702ae0540f58906c0f6e0b181e0b9f68c2c4d SHA512 a3db60cc1d983eb7d1a3e3db671d82b80c657f294628a7d22652de82ed95ae3f149b7ff1e196d25fd6e25689c75c62b3027431fb33682ee9e7cfa5ab5ba529a7
+DIST firefox-78.12.0esr-sl.xpi 520944 BLAKE2B 9b4024810e61b3af52c866ab4abbcd660cd5da7a36245cfc134afa00e5e503edb22987c72a3d4180fee4aaee30549614063b297dd1a9db510705a665e4c59096 SHA512 69c1f56fcc966b29746f85a180e331c0646dd430f53cdcfcae3c958077d0bdc0d6332dc3c15910fa2e9dda6809fbe1c3982c9aa1f7bd7db6fcecd9d2fa4d99ac
+DIST firefox-78.12.0esr-son.xpi 424572 BLAKE2B d36a4002006b7c7f2a259e6b40bb4f385a2740b4e8ba9d3bd7b278baa24b0a1e62243982f34819f17a6824cc66f5ca4e7f32a355291ea33d8865172eda58cb69 SHA512 3a412d3ff10a11b9aab2751f7b15617cdfc4297d77301ed054119d4bf8746ebc132067e3dbb4100884de735d83f16ad326b4a7b4cabe150da609d8cafdade4a5
+DIST firefox-78.12.0esr-sq.xpi 544911 BLAKE2B a06a917f6dc1c3d0ccd712b3bd2ec1ce54c801c212c15da968282a7e169399690e7530b5b553dd11d3548df95e676c4882d54d394e593385a42c631d128be9ab SHA512 749552c95096d15e7c7eebd680dcd31d2565383222e4ccc8cc3fdf30b4536749726a5a6813c4ac665b57711265b1686073464743ba788d30f3b832c5107388e7
+DIST firefox-78.12.0esr-sr.xpi 561391 BLAKE2B c34eb03fcc556e2db09496931bd2d08ba9dc8a4ecff89ca03e19e8679deb0f4d03ffcea9f7d67eedb292a0dd4c65a66345eef45d5a284c72663c33b1bfb1d50c SHA512 8b5110e43de2c7afa4e6fe152c768ce1eeb3e21938abe34e27d9dce69f890ce3b3d90144639642afcb5c3a348ded6c412c7e48594c95657ee33275b056754868
+DIST firefox-78.12.0esr-sv-SE.xpi 529708 BLAKE2B fbd72399195f0824350510000c07ab0b8595d3315ba7ad983d4147aa86955a0843b5086046cf6d80bd8769ee7a21240d368b2ffa88194c2c07cfef55aa6adb98 SHA512 efdfa3f39ac1ec45d736590fbd5a36b81c5b6996e30129d2a7bec93f8d90fd6db31f997fe28f6dd430e10d9333edf5f5f2bbd72116ae73368b52522716f62b19
+DIST firefox-78.12.0esr-ta.xpi 521544 BLAKE2B e776dc5d8b1e01021a99ef84c94721342322a44399b689101d230881f9d212211e10a842a68675f2e11ae016eac93f061abd553998531b3c0d8a4f9e9f163680 SHA512 86c6631376f95e6c08d4e1d3bc0a2d5adb89cac885909d1f6a3b6ba8753d8d432784442aff27c71a673b9e0392b687e952284cd8ab3e36d06ac52e8a2ca55779
+DIST firefox-78.12.0esr-te.xpi 558391 BLAKE2B 2e0b60ebb90905fc49a2a2a5813aecc763ff598fa96f5af9f3f89ecde2914fff793d9029df1970cacc18a9b078b473ce62b0885df7f4832abeedda8cc03e520b SHA512 9058cdb3773e10366bac36dc77a122f4e6e83b84374c9d00861d40d28eb241425426644270eb31eea8098f8fac8b17da8db67b7f266bc7f6e86eb4e94863ea8d
+DIST firefox-78.12.0esr-th.xpi 592243 BLAKE2B ab688f807db0004f9e0de221079b1d107f5202686316c4a3c9bb7e899b057ca8682f29873039aaf9ae2f6cde0bd9141efc51eff00be1292df6ae43263dd80ff7 SHA512 310a04fbfa68f4f93becaf6baf10c98741f802556228076fe332672131b04903d35ea5354719a6b05a672e3b0b5ddee984abca97c62bbf198ac42b8ab2ed6995
+DIST firefox-78.12.0esr-tl.xpi 521109 BLAKE2B 4410a08723fbe30017adce09bb067712dc81580b6718ea6a9ae59222243d279f7418803fd624572cd5b543dac8922e5cb4d1613c70fc68f7ca9e09268c98ce97 SHA512 f7ab25435fb1a5c0550f7d15bca7ca93a8866c549756240ff6f7aabb843b7d780caf3b6fae8ab20685c03c65e419f88b3b4f6551d6524dc9ddd1d7cb857b92c9
+DIST firefox-78.12.0esr-tr.xpi 539884 BLAKE2B b2e56de6ae0ad00cc7c52d102d291d8d978bf0c24c88cfd5a6a9b856b9b31b40bfb6a26f709d51c848422c9925924bcb94f513a97d413cc33b0046d4cca42d64 SHA512 2eedae3645dc963a6016120007a634a0cfc4f1b38d27dc530340b6e8b8312c4d3a53de1529924688dd9d17b735cfeb27c6df10942dd72c2d138d35c27508bc25
+DIST firefox-78.12.0esr-trs.xpi 501218 BLAKE2B d9a566f1c0f5a5dcdc99e9c6b8e5fcd2b778b7589a3e2b5139b082189185d97f8dc7d35edf4a6980c964624d600495e902b2788dbd6b4359ec6aa45cbdecc744 SHA512 5faf29b0ee329c6dd2822491debe57c4f6ea8e6ec4275f25229a074d4274a6a843fd71c51d2714f44c07067dd92ac641548666fa017da644c300ff51ecd67588
+DIST firefox-78.12.0esr-uk.xpi 608585 BLAKE2B 96dcd88731f6ea3c9bf8cb1c0a6c10e37bd3dc5a8610a9e52b8bdc493bd898cd28c098e0850563d775f4f9c9e596f4b368baacea8eb9848d6aa3e428fed52676 SHA512 8d1176dfed8fbe3023fc850b2171e386ab6f2e1c38d3480fc7664291d8d59bfb8da90fc25562652e724de08454d3e2a57f537e3217c6540b75acb85db2de141d
+DIST firefox-78.12.0esr-ur.xpi 557951 BLAKE2B 201bec421aee0cdb63d211de89da044e5b6250c318831d1284dfbac2096404b9ba77b0ffd2b99c08653f9cfad3770b4045e90404eaa0e5587720c2adb8455fcb SHA512 d1bda9bb3207dbe654027175883c11cb9a82c11c23adee9a978ad5a6e9d5317cfaf0e87b4896c3f8ede86dcbb525b43be03218c2768b646023dad9a0c5ba6049
+DIST firefox-78.12.0esr-uz.xpi 477555 BLAKE2B 986bb748a2faa8b9a0aaa5ec874eea0a410502643ce71ebaafaeb184b97d4c4badb818a280339cedf6f401b34f79166c14dca08dbb8e714367f674b17bdee34a SHA512 1770757a2c1c3d9197ed08d6dc6514e8565292e1153c2c6d810ef299c5e070df1b67fb5996195541e880c71a63bb254905cd217f2532cbc7e75369241530494c
+DIST firefox-78.12.0esr-vi.xpi 562863 BLAKE2B b0c80866ab862e0d9d43306e897c8b3a06df6a03d62de0cb186b08ffc9307a68d17b361614046eb15388258af87938c93df9517e59b8736af2114e46a7a8cd2f SHA512 ea8aebe03949c8a364d0b47196bff4dbeff1eff1594f8b36dace7c6d401c3c353ed80bc89bdaf505f2b40abcb7c9c5ff13d38748f194629663f6e1cccb7c783f
+DIST firefox-78.12.0esr-xh.xpi 427839 BLAKE2B b6cf89388e45ca74b4d3042f9bf30535cd26a42aeda03b03340f2779ec0fe177653f43ffc3a6fad9a3ed98049950ad18b05a76b043d91ddad40f311e065fede2 SHA512 c146d9d5140ee3023a749d21bf4645e07f0ceae8f8b9d6ba91dd776c57e69b1c56e402fa3ec2b1d8da4918ee60e82b423c9994737e288d8a799c8c5ab1119116
+DIST firefox-78.12.0esr-zh-CN.xpi 564771 BLAKE2B b745ddf8c8ad7686e5ca7142338ef4b2f2e362874d9b087c4f4980f4d9e96f076bb318e0782c8c2404c00e71f585aaa76b26da0e369fb02b9121402b5471fa06 SHA512 cb707c11c8c0554e6255e725ab5c68f3b15c2d34d85f84fc6ab4ee7eae83fa91b35be282d592b845f09539ec43d1dde8167bad1eb24b86adbbe236c72854764a
+DIST firefox-78.12.0esr-zh-TW.xpi 564742 BLAKE2B 3d4b211b35c9aabe2c610b621c175bcfa4fb0f1ba4af607407b9002a475407f53cb8f2e7250a96fa93abd5ee74bd3ee5b0aff01a91e45ca7211fadb2b03e5e1c SHA512 a241c3af98170e0885b63ec0c140fb1ad7749a5bc762b7154b77282d33bbcf7926550182d261e3ac4b0084d4b8d98b30111dc459f3cbf2d9ccdf9f6b811222b5
+DIST firefox-78.12.0esr.source.tar.xz 333737488 BLAKE2B 775a55511a48f4210807d2648833bca6f95d9f4cd48b5d0de8cf0bf2609590c1615fca7ff855ae3643a25466d131e15dc293e6a57aa05e1d91d2cf819b0b89ca SHA512 646eb803e0d0e541773e3111708c7eaa85e784e4bae6e4a77dcecdc617ee29e2e349c9ef16ae7e663311734dd7491aebd904359124dda62672dbc18bfb608f0a
DIST firefox-78esr-patches-14.tar.xz 82976 BLAKE2B 08cc3618c8069f4169b7647e7eb699153d558bb89f8a4f1ed74d5ccd339f77119cd8f253df011f0c2f255ad889b65e843171d7559f469788463ca7e9aa2e96aa SHA512 1611c6f9d2c7d586e7b53810c1cfdb2682f5d289b1b019b71694b1ab2d8bbdfe827a73cfaf59f7e4808c0b90409ca4fa57e27655d8cdf0c578ffdbad33659f26
+DIST firefox-78esr-patches-15.tar.xz 65604 BLAKE2B 86e421e555ffd5f7f201d0f1a1c446c649739c67cdf8dca536efa115e09d9c357ce1551b7270c77e8bfe7dd53e0f3e6386496283879cf5e0c59b3c864951ebb3 SHA512 b229e895f083a0404cda1da0d8ae937429d5975ac52ab20e8b15611d9c737381a1076ebfa8c8a127dacac0e12a2a905ffd579facde2d80c6facc911e5739e34b
DIST firefox-89-patches-02.tar.xz 34192 BLAKE2B 06d54c82c2c9202fd176ea850872be626d3da38cc42f14def0a29a18f4cb52b851b7984c3880d35cf16b66cd5316d8a65212d6242350f1bb4f981d5deb050e16 SHA512 0e43645a81c75dc22da7091e00b9a1cdf055d6b4c2ded7ca1c15badb87fcfd29a7afb43ca0142627388d81c8728095a41b7e2a5983cdb1ea447269d8e6057003
DIST firefox-89-patches-03.tar.xz 34700 BLAKE2B d2d7bc89abc5c6e3f18fed724dc81c347f99cbc8c162acf50823c51ab62a0fb8c54a2be8f3e77d928a3b31d806d5407b374152e356fa98f366c0f33a7f0781bd SHA512 c20b701c1d427eeaea4856b0e36ebc57a1a6e7aa676c6c34185ed8b597d744da26fb889e6170ca3c82996de9ec1b5efe16e02d1cbdb3d1562af92f272c18243c
DIST firefox-89.0-ach.xpi 467444 BLAKE2B 7620cb550d3f7b980cdf45ed15d2b964fdcd125c794a9f2b78892dec5d0250d15428ada892d5ac75223d6fc225aaff0d862624b7edc98e91549535b0ffbab909 SHA512 dd416ae0e9097a293acc6a70b2d857cf6b9ad65ff1d54d51c751cb938e7e703faf117d037ed3fc84b2e2108884369a803f7a7745c86130682ddedd3cdac81de5
diff --git a/www-client/firefox/firefox-78.12.0.ebuild b/www-client/firefox/firefox-78.12.0.ebuild
new file mode 100644
index 000000000000..04d5ea5d3d60
--- /dev/null
+++ b/www-client/firefox/firefox-78.12.0.ebuild
@@ -0,0 +1,1183 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+FIREFOX_PATCHSET="firefox-78esr-patches-15.tar.xz"
+
+LLVM_MAX_SLOT=12
+
+PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="pgo"
+
+MOZ_ESR=yes
+
+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="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+SLOT="0/esr$(ver_cut 1)"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free geckodriver +gmp-autoupdate
+ hardened hwaccel jack lto +openh264 pgo pulseaudio screencast selinux
+ +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
+ +system-libvpx +system-webp wayland wifi"
+
+REQUIRED_USE="debug? ( !system-av1 )
+ screencast? ( wayland )
+ 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:12
+ sys-devel/llvm:12
+ clang? (
+ =sys-devel/lld-12*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:11
+ sys-devel/llvm:11
+ clang? (
+ =sys-devel/lld-11*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:10
+ sys-devel/llvm:10
+ clang? (
+ =sys-devel/lld-10*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] )
+ )
+ )
+ )
+ 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
+ )
+ screencast? ( media-video/pipewire:0/0.3 )
+ 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 )"
+
+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%_*}"
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+ MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ 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=(
+ ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy
+ da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu
+ fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM
+ ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my
+ nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru
+ si sk sl son sq sr sv-SE ta te th tl tr trs uk ur uz vi
+ xh 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=browser
+
+ # 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
+
+ mozconfig_use_enable geckodriver
+
+ 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 screencast pipewire
+
+ 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}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js all-gentoo.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.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
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ einfo "Disabling auto-update for ${plugin} plugin ..."
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
+ pref("media.${plugin}.autoupdate", false);
+ EOF
+ done
+ 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 geckodriver
+ if use geckodriver ; then
+ einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
+ pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/geckodriver
+
+ dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/browser/branding/official"
+ local icon_symbolic_file="${FILESDIR}/icon/firefox-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 gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ elog "\t ${plugin}"
+ done
+ elog
+ fi
+
+ 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 show_normandy_information
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ # New install; Tell user that DoH is disabled by default
+ show_doh_information=yes
+ show_normandy_information=yes
+ else
+ local replacing_version
+ for replacing_version in ${REPLACING_VERSIONS} ; do
+ if ver_test "${replacing_version}" -lt 70 ; then
+ # Tell user only once about our DoH default
+ show_doh_information=yes
+ fi
+
+ if ver_test "${replacing_version}" -lt 74.0-r2 ; then
+ # Tell user only once about our Normandy default
+ show_normandy_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
+
+ # bug 713782
+ if [[ -n "${show_normandy_information}" ]] ; then
+ elog
+ elog "Upstream operates a service named Normandy which allows Mozilla to"
+ elog "push changes for default settings or even install new add-ons remotely."
+ elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
+ elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
+ elog "concerns prevail, which is why we have switched off the use of this"
+ elog "service by default."
+ elog
+ elog "To re-enable this service set"
+ elog
+ elog " app.normandy.enabled=true"
+ elog
+ elog "in about:config."
+ fi
+}