Gentoo Archives: gentoo-commits

From: Thomas Deutschmann <whissi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/
Date: Mon, 12 Jul 2021 23:32:52
Message-Id: 1626132710.370affb0247442c2f074ba6d3442fd320b6f9e63.whissi@gentoo
1 commit: 370affb0247442c2f074ba6d3442fd320b6f9e63
2 Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
3 AuthorDate: Mon Jul 12 22:57:26 2021 +0000
4 Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
5 CommitDate: Mon Jul 12 23:31:50 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=370affb0
7
8 www-client/firefox: bump to v78.12.0 ESR
9
10 Package-Manager: Portage-3.0.21, Repoman-3.0.3
11 Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
12
13 www-client/firefox/Manifest | 97 +++
14 www-client/firefox/firefox-78.12.0.ebuild | 1183 +++++++++++++++++++++++++++++
15 2 files changed, 1280 insertions(+)
16
17 diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
18 index 0b3395215ea..34752d0b431 100644
19 --- a/www-client/firefox/Manifest
20 +++ b/www-client/firefox/Manifest
21 @@ -94,7 +94,104 @@ DIST firefox-78.11.0esr-xh.xpi 427833 BLAKE2B 484282b3729b6218e07bb153120c50c8ae
22 DIST firefox-78.11.0esr-zh-CN.xpi 564767 BLAKE2B 6a77c82c031ae8e2ba8d6ef4f294049f219bf573e678fc9fce4b23a19a89ab9d15487e760e809eda5798f5ed213d3e21c20bf34782e201b1fe04e51d0af078c0 SHA512 f2680016d879ce3ebe93f308cccdb59d40a850641e6e433a3b7620566591877746957fd541b49e466d69ef708f4422bab26316c4632459b4c8c1546ad5581a89
23 DIST firefox-78.11.0esr-zh-TW.xpi 564742 BLAKE2B 3357a373a38d89cf4807ffa7d306091f65397f97ef3346603493b93e5daff42f0c55826d329df8d1bde7ff104862eac756aa811a4754d401448638fd251cf0f4 SHA512 08290cc90f946732c63aeb247ef4babc90128f04dcf3c32b623d0d822941bef9df1a2239c5bc1d067f04e4ba099cefe5255e4e43750f1053e133773258a68d43
24 DIST firefox-78.11.0esr.source.tar.xz 333002576 BLAKE2B a8268886f86afb41b86d227f8a8f642674ea9c0a85365acb517c6997099dbddad9779efa772cce645da6443a78d6e94c89a750152386f8dff7bbbf31bf5df129 SHA512 d02fc2eda587155b1c54ca12a6c5cde220a29f41f154f1c9b71ae8f966d8cc9439201a5b241e03fc0795b74e2479f7aa5d6b69f70b7639432e5382f321f7a6f4
25 +DIST firefox-78.12.0esr-ach.xpi 460283 BLAKE2B a00bee0c7f0ec9c27454f618c0402721db074b6319c1b0964a5ccde3710175a20f9a6727eef881d8d3db7205b2f7bf5bcbf5c050c39cbd20f95cf23c6ee480f8 SHA512 6542b5683dd352ecafecb42a9bbdc438cdd927deb9e1c8f55f52a1c12690d1ac1281c379ed7dcedd6a62b4ff37b816b5a7870b0aa9a725444640a87b1e6749dc
26 +DIST firefox-78.12.0esr-af.xpi 428351 BLAKE2B b4f671687a03ed5e12e5c805b501ad3a975090168a60d4549326cfae17d0e31cbb7458e8118a8f85d566a75de97cd2b7a0f92f77f21e9b4a5cfd57163a54b163 SHA512 fa91d12158cf7d41000c3cb4beb0290c4fe760e5dcd27cd23d77b228f509558830ff4d2c29248bfc08f69c0a8592302cc6aa59fccb5b16f292e290bf9801f7f4
27 +DIST firefox-78.12.0esr-an.xpi 508377 BLAKE2B 63f4678044c1ff6088279a5fe25bc7a0eb0fb8eb8c2ca326c14ffad242be91892e8277bda016e852d61834bd095408d9c822e329918748248e4f8f0864c64718 SHA512 b1cbcf41150858ec827d485ca819490907d5604ceac758d478a5f39a20b1f204dfc674fa5563c25e8fd93d85f83faab3673e4d08becd6c628d1d8c118c22bbee
28 +DIST firefox-78.12.0esr-ar.xpi 560954 BLAKE2B 625905b86f9a7b9b8063873f7ba91d59196abc95a27b15764fbdd3bfea24d7aa69c7a9c4934fa9b0d8f210ff90b9782d981221bc8d892b5fa83b1c355166d554 SHA512 c0b09fe41708f1cab137a270ac848627ec98fc43e47c6a405d32db7e01a13338516cefb2f3cdf1a8590af00e75c3d4bec782646d6d143d2b103c7e5eb861dfdb
29 +DIST firefox-78.12.0esr-ast.xpi 456387 BLAKE2B d8a5fd537ccbbfcd654ac58ba963123380363bc5acc3261fcc5f4051d93e254a9f9cf2929de1dbb9c2092e2494c9744c973e1b8a2a12650655f8d25fba7fc749 SHA512 ec5e717088863808fe34f088336f13add49035ea8d7f323fc3c094316cf8044772d5ced904904cd170f471186028c0ecca21ea52cacffcff185548172f0abd69
30 +DIST firefox-78.12.0esr-az.xpi 497433 BLAKE2B bec0f0209a6f5d9043f4789df51c34519c5f33c08a2f6620041f591599929514658bfc7a5ea2cd457ded405f58e000861b6c9186972ee4390555d7fe0c5fb489 SHA512 49e2fc648e30e419407714677b59194196404c50c92e4d1affa01d66cb7719302979f3d4b74c7fca83fdbfc7ec5c406cf876b1fd342384870c39e08f72346d48
31 +DIST firefox-78.12.0esr-be.xpi 608650 BLAKE2B 0ab6829a8f7d49678d905f99e53375946a733e12ed46cd693fdae3da19aade621b572028f938d33c91da3e69280b53c6ab6a19690648a414127bf55a3279ea7f SHA512 de62c7f2e5c8ef8323eac321ff3c735cc165fcc53ecb044dbeec35a2196c52fe9cc083c95ce755b97c320f123500565e471fd8b0edcadee2b998d005402e6b84
32 +DIST firefox-78.12.0esr-bg.xpi 553973 BLAKE2B af6c0b0aaa207b9714269c2844eaaf4b7bbdff58350022bc816001711517f50e30b3eee62ed8dee53b906eb990373cd462d45b62cd112d44ac04e047638b5afc SHA512 3f50b3a300270a12b220ed903ba79738e807d71d731bb8755a543984b84272a7f67e1e4a05fc5ed7c87f391de69e9ede628f50a4f8faede4acf224adf0de4f7e
33 +DIST firefox-78.12.0esr-bn.xpi 572610 BLAKE2B d54b5abf4704b472537badef7559170f3663cabf6c7a48563fbac1b1f12f16bc048cc28e382f66aaa064fe5ab25b57e9ed58e94e9b285184d5a8ee1c2adc526c SHA512 3b116f3385d67f6901a801a758a02c834a9019696c498d085b7c0dec28d723b66f6485063db1ce7024e8b53793a3f146cac7337c130afd060c810d1e39ccd652
34 +DIST firefox-78.12.0esr-br.xpi 507129 BLAKE2B 19172ffbdc74639390d9beee945183e4f3ae068200af8caf697839774b942d251f36970f95b1ee17ea5726a4050a3ae77f22182810cb10668a17574aec522b4b SHA512 fc0c7f25f3b8a08052d5880e6c18df752b650c349411e464938d64850c7f8c5a471f5a7048fc13a6c7e8a0ef1b3bf7a7bec9da3b70bc4ca101f24288a09979d4
35 +DIST firefox-78.12.0esr-bs.xpi 463802 BLAKE2B b151773b4bb7e1c51566205e645c8a65a996bfcbd3a60f0648977f8a0784a6dae69ac799efbef5ba9daac906e48cc218e55d7c9a89181d8bd598930be5aac4a6 SHA512 85a7cf7f28c984f1330ef0e2b964d446bacb4f3369d1800031cccb61c43e10e990726af3d8aa8478af6eb416773c9e66f50793c87528435bbbd7b0c50e4d3b91
36 +DIST firefox-78.12.0esr-ca-valencia.xpi 517178 BLAKE2B d1574689812e3c1b01323d9eec83475d89e333e7ab8bdbb2b4cc11eed3cf7c56088adc3d1da7731c5ae65f3b9c0a76ab0743f50f3529dcd38d62be55c2862a9c SHA512 20b4b91a5e69975479a92f563042128d66d319843a71f7555f7fc53a1b9296d8eb8c60a3c647176a70408b616b5c5e44b901ed67bba46670dbf6cc31edc84e53
37 +DIST firefox-78.12.0esr-ca.xpi 514183 BLAKE2B 297626859bcd85f1e77f0eb37fb9c98175f8a7e6b45bf072405746b9428c2b789318db2f65fdb5dd906f8e21f7678d39efa62f031c4e884a689de5c7c2d7f3ea SHA512 24bcab6bb8d1e16d6098ace8502703e33e2c88c9d31a695c0783b103dc0212dbc48178a488a35b54fdc0a70675f0e37244cc4ae7bfa39d13614ff89fb2b2f7d9
38 +DIST firefox-78.12.0esr-cak.xpi 551556 BLAKE2B dfb1d7f88d2ceefd923f4af7239079ce2b1d0336cef47f26e35d5aead93351b05b26317875adf870acc817b71e02cfbf39e322377b3f89f93707182da13ed8d0 SHA512 1a1be2a52f85d06ddded2077ae330767c4629c363f7c11a1e4ac104d36ee4ae8640ae10d3dca1c94018c3cee6d94bbb241de6aacc49440479d5725074742fc75
39 +DIST firefox-78.12.0esr-cs.xpi 540329 BLAKE2B feaa6692d66d57084cedeacec0f3a49a5f175d59699af6980a12880ed3cb615fa5552f53a660adf9125a90703be743be15d6cdc651a68456ea22c4ac81a388ab SHA512 fa25f5f1cbe7dcff4e78fa02fc6996d1503c35b5b0a581172c6c111c86e1c65ef00dbac01372a33d929f03b15371545bb99801138afb26e39181248e663087f5
40 +DIST firefox-78.12.0esr-cy.xpi 530698 BLAKE2B 1e6cf6f9ac920a03315fd6901d79942cfc87387b00930b3a1feea7680d62a0683737463ba034530f65e9f85d1d99a3e2afc927cb6e221fcf1b1b9afe61d98919 SHA512 9456922b7291077fe26db1e4515742be7f860d294610022d384fbed1d5adf2ac973870e48e9695781fa82eeb92b431fd03dd15ff31a2f31082e340653c7a93f7
41 +DIST firefox-78.12.0esr-da.xpi 520269 BLAKE2B 3dc9ce7d730472394c3b237d5f9eef4b92dea1490cba2e73286aa48de477986ca6afe8a8a9f697ade06569f7ccb507a35ced025276b69d86b8ee7f0043ec1362 SHA512 6535bbd10493833c9f490806ebfcc7a02a122bd17c82468637e1e6c67f1f09aa207d5ee7a00f79796a70defe5ee53486db4e6f5ed9a712f06072ffe103948f9c
42 +DIST firefox-78.12.0esr-de.xpi 542853 BLAKE2B c52079da5fd96cc7a9f6636200764544c8d0c082cf9bb7dc3878740391b1b4eeca39721ae7a313e8614b71a80e856f413e79546b2cf62555f03800812759ce44 SHA512 1c66836985c31b6d46d4898ff6a73f2920d09d487f7deb4e5e0556cd84c7878da4c4ccd3131bee5ad8740bfe3b248c62e220d9a6c157dd5800111b288c339e9f
43 +DIST firefox-78.12.0esr-dsb.xpi 554280 BLAKE2B 3d14eaf320d18d7daabc8a0af83a34f52a616ed66f454ff2f8441cc776af604ddc90830f5bb6e1f777070607c73f25b522ca0c11faa34907ad52120e41ac56fa SHA512 4a05f52721ce363f4d977f92475029fa5a86445742acb1d3e4f023ba7875e9cc4b4ed290f75f3263c276066344e8d5af49fff4feba38485980b664c4f2bc93db
44 +DIST firefox-78.12.0esr-el.xpi 626568 BLAKE2B f89bfc615907dcfe53d870d6bab773f086c84e03d7632e826983da5271504528d3b453295d3edd1e5a9ce887af338f5fdc226c4fa7155f3fa9fc08c0ae09d378 SHA512 5997b04af48084cf9087110a42740e4e71d48ac4e0d52984e2e4dd62045001f14fb41105a693fb81a423bd985c464402a27d0217d0aef9efbb2e5fe975d74b33
45 +DIST firefox-78.12.0esr-en-CA.xpi 497732 BLAKE2B d7a74ba343baa1910eba123f801b82e18d9fdd1054e0df87ae234dc97ba5daa6a81d5b7dcd6fa403e0c52e884459c807b335094b4a8dbb09793a37d3731a4809 SHA512 78c05aa972db64a70980ea967f87edfd1edd08935313f70a43c0918c693e372dbff6f3ff1d233ca96268747e3f950e4666f23971d5d380f05a144d1be75d30b0
46 +DIST firefox-78.12.0esr-en-GB.xpi 497581 BLAKE2B 166282a2040172f9e8d209b9a8b098d4f56d1a4888ebc9b7ecd937991305827bf5f8bdafc75bf85effe97d4f809ca7a233b6f5ffd345e893fa3a5bc15fbf6445 SHA512 af372200fad2cfa9f653ac349289f0c20937f5ec798832e0d202f2f330fcba5fd04168b5960a5b8a534a1904bd5206f6745102e73ed6775dcd5120a120ba421c
47 +DIST firefox-78.12.0esr-eo.xpi 525738 BLAKE2B fa6cfd49fcda4fdfb54c93295978512a016f115cc0da9e54cc82f0da9c4fac90b2e2ea52d3ea41ee6b0654c90656b17d33ce316dee349da0dbe719eefdd6c6cf SHA512 8b11970ac93265c61c6518fa06eea0749f15f3cb94058e4f4c0db166fdde7261bb5bd9eca1e5f54db271570bf63d7f84d1ff5e141b20ec23ba09aeb9f30ab1e1
48 +DIST firefox-78.12.0esr-es-AR.xpi 535801 BLAKE2B 60688df3b040e8b17738c5c8f60e29bd9bca88f8d272e09ea9db60af859981ada067ab5ab7418153805a730e9fab1afcc0df2d55601c4d1dbc334d8ad56e42a4 SHA512 6567391847b866c5c4d53bc628259e69ca1038c468f0030536525d1bc5df19fab8654015f6404684156521a664422d41fdd341d8d4324e0ad8ecad1a96e759ca
49 +DIST firefox-78.12.0esr-es-CL.xpi 535347 BLAKE2B d31a9937488d728c9142f774a230f82fe955f4e735b9c4c71ba063e4c0fe80fc13a1227876dd14fec6bfe069cbe07e10e8ed93577bd214f5cd27581eeddd4b02 SHA512 49c96e3e2e79cd8b57d47e62a9f023ce52cf3b2ca82cd3d7f03d26f3c7433f080e915d4b0d0460af6d7f287ebdb8307e20a395ffcbcf926add14b31814f488c9
50 +DIST firefox-78.12.0esr-es-ES.xpi 522691 BLAKE2B ffdc2051ae8566d8320aa5cb100fab84df2e5ee1686353f21bffaeb15b7058e8920c46ac1a86f014ae2535435542e410b9464501d2306bc8215678eed917439d SHA512 754223da264548ed628611da8deec195ae5ac978c9f6244d2f132a7449c6693a09e0c808023dc3e18413e6372ea9957a8ed3d584fa06795b8355aac2823288c4
51 +DIST firefox-78.12.0esr-es-MX.xpi 532295 BLAKE2B dcc9269f6c4a5f55c871f11f81d29146d83c4e97b33ab509419b598d6716ce097760bbd677f7a5f0367323f31273837552db505c88920994a5e42f85616d84b6 SHA512 b3fd9d7fa72e730a215f3ef8b9cf45be999b5c393dd9a7f9a460bf83c52f10ca1057c52763f336dd3c5db3ad70bf9d0a6583a227b4403a4eb0137d33d0dfa24c
52 +DIST firefox-78.12.0esr-et.xpi 485252 BLAKE2B 181287684643149c2256a4c33c9486b947c8fcd973aa8bf76870082ab61ae735e997293abc852ff98611ecb1ccb9ee2f6f091604d3e7a67bfa570d741143ab93 SHA512 7661ba4923fbfda802225135ff2df04f5e6ea731bc8e3268dfef95749023b810997932efab11453f8b470d27372887e41d0231fd9a82936d376ad5a66705b4bf
53 +DIST firefox-78.12.0esr-eu.xpi 505876 BLAKE2B df642126d782f09639ea28f7cab53173f2039b0455f35589ecf9a1f07ec12331e555661c550bcb79391cb8203702312a36ec7385341ddfb487efa2cb218bd00f SHA512 905a1f112d2d5dc5e1ac465a4234ff64d08f44394c609c7dc11a895aa203b69bf9dfbf381b204b025d09a6a0db2eb95ceecb61d3b8f01014a9b003863480dacb
54 +DIST firefox-78.12.0esr-fa.xpi 538927 BLAKE2B bdab40593d23214daac28c7f6a2e4fda159b9af828158132354077596402dee1a09806ec8a699390f75dae82e548639b81a43ab4fbcbb331d9c2dce5309f4331 SHA512 34d8d6ed8aca43b5b70f595fc866390e389cdc79d7b48b8e66eb179c76f6cc09919b66fdee485b7646f386b79a1aaa6998f7b7c672ed7c286e646058484cc79b
55 +DIST firefox-78.12.0esr-ff.xpi 481609 BLAKE2B d076044f29ac3dcad8fe8dbcbcf2a8e8c6c52611d3cab47bc1a9341a42030c3cd48dfa595b8277933a4d038d81979a4cfc002d9a84c6203b2257126bed5e624f SHA512 620194c07b9a6eaaadc99617111c602d05ee573c8c3b95ed494e8322508b39d1e548d77f9014dd8ba3a2c2340239e1fab86a2788e1ade99b4dc6e16a205f7ee5
56 +DIST firefox-78.12.0esr-fi.xpi 517919 BLAKE2B 598654771e21d1c9964288f3c4fd53d2de6eb61cbe56fb6c0794904e8b12fcc0736191767658e9d5395ee99cdee0de56c2a7b07de16295573a4b7062d3703924 SHA512 a01cd7389cbb0a6adf05683a80b43b32119970181b0c32bec0383374e2fb4a5f767c3eeffff669a563fd6ae908ba431f67449d79433adc0c89133e59e6e67a22
57 +DIST firefox-78.12.0esr-fr.xpi 545884 BLAKE2B 1741066c45d77d6dfd4c33efa22cd04c343050a02e3f977cec5914729af87fd8cef2a2aea73afff9c9ab6b953d528bea7360b987ade059514ca03e72b937941b SHA512 4657093bf73e284491811cb3b98fde6b3b6fb47793a962700945f86091e677dcbb4431efa6a84b6f58320ab57ee88c0d8735a74c740ae6f21b76105740b26c1f
58 +DIST firefox-78.12.0esr-fy-NL.xpi 532485 BLAKE2B 8f3a639b2259781068c75163ed1a09ec9d11cfc0e07151caeaab881f75c551b1abebcc36a9c2373c5488ceac53762b911f348ff3781de598ee93e914f3c0bd5f SHA512 e816b480705a9e2ac5b46ec5e781ee15a5096f0ab78376599bbd447fc87007623b4324d675509e0115d20257d1efb03d66ee60d72530aa5c28db8d9a9afae4e9
59 +DIST firefox-78.12.0esr-ga-IE.xpi 466890 BLAKE2B 1642e6587825a9220424de58c5f7933402713cc8b43173247ad8bf47bcc1fe56feb5070616e29d6fcc4af66a2ff4023850d2873958082c6257656624daf73769 SHA512 fc1a6f74877ad6beb275b836f6ba1ed2b66e26170c15ecbd50a40d7cfa35b8e77b7eaea851e308213c73f57538a1fb32deadb44dad5a9d9bdec9de261c9cab08
60 +DIST firefox-78.12.0esr-gd.xpi 491887 BLAKE2B 86bb50326f52ec809777b1aa6dcfe3c5df6436eb0855ffc0ee7946a2266d4e70b8c596e4743be66c0d96d2e78eba74cfaacc044a4dff75dfa143899b964f3bb1 SHA512 41fe61ff05a39220faffb5c3cf131a92e00eda26f41bff0c61f8802abea179e0fb757ff74a2855921f2523cd1dd2bea4cb03589fc70210f7c6f25bdab321b726
61 +DIST firefox-78.12.0esr-gl.xpi 528408 BLAKE2B 7700bde64cc4ef05bbe29de4c7f066ca064c4f557787119e8bec5097ec947846d57f0a4494bc4bacb05d9044d8433db899840c7181f60b0d258290177530433d SHA512 9120e09f38178c72aa190ec1a78e1f750c748b1b5d62cea5abea3d7767cf7cd14000ae83dffba272311daecd3b811e00728f125d301de5a3fa7a78c1520e87ff
62 +DIST firefox-78.12.0esr-gn.xpi 546465 BLAKE2B d55ec543e9a8b4192e3d2b28f75305f9ee04d5dbab51a23edd216e20c70fd752e94567cd573eacd1727654a1e48ddd6c4640f43abd784f31aa4406769a25b7f1 SHA512 43c83e5bb7bb3d95856c05fd3a962eaf4cd01bde39576f43da4bc35e49b571c81f7baf4c84a8836d2bbfe5b50ce1c21bdf97c702511d74562e138bfe9c0e3b9a
63 +DIST firefox-78.12.0esr-gu-IN.xpi 541422 BLAKE2B ba3a82771dede3eb4a6971dd6c28a248139428dca3977df7a4279bd5a2028a2d01f3d078b748dc0c86923fa8677b2ebdbcfc1b99598b93d89d9688957404b3ca SHA512 62cd42cee8dc8531e1ddedfcb27e17d06f46ada4ae7be3c402badaa57fd84a3fcc70f6dd6afb1a2eb8b6ceefb979899aae1a67e08d73db073fd8f0d29a9a19c8
64 +DIST firefox-78.12.0esr-he.xpi 545595 BLAKE2B 8b2c65e9ecb12a9bca63694c4fa3ef6cd1cd04093e9f4da42bbf0b2bedbf90feca27a99d66652fd735f84c3f5f85e57b55734fddeaf748a8bac8212975343ed5 SHA512 209f3f6b1b2dd176fa340c65d3d880cbf7f02a850969ee333f0d98b7bf69bb2ea5a1c0dd434c0bbe06fa1ff74170f4bbb57112af072c5a045486ad9a3331e436
65 +DIST firefox-78.12.0esr-hi-IN.xpi 567860 BLAKE2B c6a65ab10c21bed41dc7eededef8092ddbdb0b09c6c4de87d4f0558c69c6d063595aa9c97ef3b7fc7f6fc88393609421cf5048b3e1d8130fd5c4e8361f70040c SHA512 cc2e2b370c0eabf2892993c1b97f0481f515b981c7f1fb4cbed8068fd13ffcc7ec0a3707dad53f691b5cf77816e24a8a04eadd88995daf572e34ed16ff95cb12
66 +DIST firefox-78.12.0esr-hr.xpi 522698 BLAKE2B 13c644feb97ebd9a5f0a0469bfb766a541fffd127fee2942cb9514404b9583c9d1ffb5eae668e2dd73190a82147fb304235f91c84fbe57c0cb359ccaed032bc1 SHA512 d5efdd70d10dd0a401d3d80976be737d5012ef33d95332b73d773793ffe567a7a447c8a65b9a2d931a4e6273c7623771b2c50a0c9424ada6dfc25b0722fe9911
67 +DIST firefox-78.12.0esr-hsb.xpi 550669 BLAKE2B 3a4224cf17d1faa79eb19c33922a1189604d8bbe206dd837931df509b0eab67d46ac90cc8a3464114c694037ef8896bff197d8fb0a74372093de70f765414810 SHA512 17e8bd7d8ea4e9b36ce32313792f2125f78db679218d530c4c226e8c86711a3bc79dc1ba40b66c04741a2601b4fd6bdad5d5eb732e365219fe2f2518256338a1
68 +DIST firefox-78.12.0esr-hu.xpi 554886 BLAKE2B 3ffed6828c76c5c51d6774653ad61777ee89943625c8ce59643f1af0df6e2a4d5dc918778c7c1bda9b3f72cce6fa534221d9b895ead11818348f9c7a0fa1bdfe SHA512 df432acbf507eca5bea458ce545de7521719ef1392a91e9717d538dc29d83135c9c5aa8bace1ca08788672eab7974d35883a4064d443aa6404cb408db784d77e
69 +DIST firefox-78.12.0esr-hy-AM.xpi 588981 BLAKE2B 7ff31af1fa503573f59ba57d072a24cd7ba8185a28256dd66c3e176ba21619b4175d4b40e3787c76ffd7944a8da059da588167cd773e3d8d5643e95e1fb33930 SHA512 3169381fbb21cbedd115613fc9ec96b1fa4fc9e6bc819a3e94134a05a8ac14ad5f2241426cf928d3ebdb3a48db8e49fd1596ead5a8cc40b9ad12385e6cdfe604
70 +DIST firefox-78.12.0esr-ia.xpi 518808 BLAKE2B 769860bd1a8940bfa4cff65682501db93e653facbe4c1ab1ebc4068864885266c0e203bbefe58f477e1fb3e397cb5ed7b0a1fdbd840bca9b89f7e2bda5bff705 SHA512 4d02668a8e6c30fbffe327692a0dda509daffd1f5eec08026f9b3944825333b0a38d3f71810220369b0bbee5f4c0082eb6d2fbbeea2aec873de720c4538e49d4
71 +DIST firefox-78.12.0esr-id.xpi 509561 BLAKE2B fcb2f7a558f6592260bec964de149001be7078e338f4d09446b01f1fa0d196252d2ce2fc1d2ffa4ea0de45d492323b4e9bd94ab268baa7f2f3f9c91aec7514e1 SHA512 098bbe019415541975e375f02de131af3a50b6ebaa3c39399b14b907e67740a28dbcfe4b15f0755011c5273504ecf74828c65c5d219b7a3dd7d9b9bd9de19179
72 +DIST firefox-78.12.0esr-is.xpi 477012 BLAKE2B 5bf1cbea09a85303ef4d3e25798c94a3a3e23d770536ad08c645490c042fad85f1254946aebe85c5388d54115d5c9bbc30c9c1ddf2e34ef40bc2b4b4c8642760 SHA512 fb385a03d574a8d280a54c977be14996d33d46d5b5495368e4226ecefb12e479bb57b21e28f3c23c14f4d1f0353c725cea3ea5e3e3498e4ade2a91ad59e0f847
73 +DIST firefox-78.12.0esr-it.xpi 449807 BLAKE2B 0b2b52d50fd220c7d250701bfa12ebeaa5863c78e8759948e481e22ea76cb10a406b2b32135a73f23155dd4c594002db777ca9ff4c4a64c0b87e642bdaf68c81 SHA512 b586eda2043774edc5008bfceef5f779d2e468f7304eea9bcf2d956078d95f04dc6dc49ce996496a131bbd366bb6b588d20b914ee393f175c94bfc52713af199
74 +DIST firefox-78.12.0esr-ja.xpi 578200 BLAKE2B 5178f4003c7ae8806b52223d1e1b599a693519f9daeacd5532c8dd6fcebc7cc82cb5539873eb4395dbb2a22ef6da5d09a9d9f9b0d395c7365fa1e6fe45e1b0b3 SHA512 268afcab72d2a5406b77d992ce005e336520f957bb81dac3491ea74b2d9e2906aa34dfb7f7ebb70b290737382237481bcfea0ce9f4c3316bd3c76f9698661e07
75 +DIST firefox-78.12.0esr-ka.xpi 579082 BLAKE2B ef8c55d39a2aa255eff85a7eb66f2a2d5c267948887fb9e975ba86d323518d863122bd5d48b2de158f35b084f54d6621189f4cb7df44dc271e85ab494fe113d4 SHA512 8db2582ed315e846e6eba468fb804cd7940984edf29a7b992a96eaebdca35110465457d55eeb5ba2557b4e868a0b0b600ccbb2023603104d7c934f80e022d951
76 +DIST firefox-78.12.0esr-kab.xpi 539732 BLAKE2B 8f5a140b2d2abf4958c6e437f26d49e6ce06511ac798505a2a7573010bde510ef523fa92d809e6dbe7dafe1e370932fd5db039099b2c619908d095d94b470ea5 SHA512 e4455e2031b86ae7b0b76da7b90f68cdec247ef9cadda2cbb7b86b85b80f296418cb3a034c6c630c9d62c056a35f0010b0f58ad53e634f7db68e4a4cdf09fa6a
77 +DIST firefox-78.12.0esr-kk.xpi 593260 BLAKE2B 68eea4cb0f257d4e1d0771d3e06324d4a556ba0c063a3d17f641330b289cd85c677f01c644713a882fdf3a94650d4824957dbebea37d0d87628c872c8f77a7c6 SHA512 e216c3727e7c1ef3c04862c207a9b22ee18202ace5dae589d19735e82496fa10560ca7c5e97750829ba7b9df57f0695778dc60794c837710be2509f139783fa5
78 +DIST firefox-78.12.0esr-km.xpi 527366 BLAKE2B d166e62391f2a93ee7ed06801bb1ea0d702ae4977c610aa013dbe7e21d2f7d243ed969370a8815a4173b5ed691b375804632222367e8b9c537ac7a03c3768e39 SHA512 ae50dcd81d874cd8802270903f4db23d7fac0ae9e913a674a2b487062cc901102723b3155e83a423ca07eb814f75fe5ab39b83ef36e203842c96af7d0bc587c6
79 +DIST firefox-78.12.0esr-kn.xpi 506748 BLAKE2B d753d31da106fb6857dddb21b95f755d8d8cd24f02e58a8d3b189530c568bbc94942d62afcaf49f3c82b209baeb455252a97892482538564c0986408c1fff3f9 SHA512 5134e70ab4ebd1b121a063e918924139a601c86af006d9e8f3a5025c68a6af550319511b4f032eda1c2a45fd7e857577d3ad4b7a6f86753b3f84c065e200ebf7
80 +DIST firefox-78.12.0esr-ko.xpi 567527 BLAKE2B 14b9d67c582ce2cacf1196ccfaa9f612e98547f30f321000650978422a2a0cd33f9c6f9f135b289baee75f28f3c30675ab486d37d4b028c39da9b26466a36837 SHA512 36bfd233884dff29ef3a41370df17cdd1f306b1b35bd81e8d2881c09a5f73536f834c6bce7f0b81b3b89862b19fdd507ce321e2b467de20586e829189a74f90b
81 +DIST firefox-78.12.0esr-lij.xpi 475236 BLAKE2B 89d82e8b109a625ad2b7440a908fce782b43e7bbc1b58b3c60a652334f25b2896640e1b97bf541c59cade8c6840425d6ef0cd9c8d8fef3224f77184f5515b5e8 SHA512 78b62ae948e65b53573c1c393b52242129e12e1a30dfff36ef2d435be0466c14cf09f28dca92b7d6ce67430a6c5f057178bb601d3378036db0cbd1ca13b5cc5e
82 +DIST firefox-78.12.0esr-lt.xpi 540687 BLAKE2B 36f07f0bd85470537f06e6f2a40ad5ff5143c256a44f6ee332caa4ff77f2dd87990c18368bd85ece775558f9312f3201bc30ec3b354ce3d25e822e6c98f6c938 SHA512 1df7b888852aa29de0de945e1d901a18b35537e4ab9ff9807e9efd3ff2c385292873862836bd40ad8eef1cfd5f6aa6b2fe7288334e2ee295ae12cdf29e6a3eb2
83 +DIST firefox-78.12.0esr-lv.xpi 467454 BLAKE2B 2eb95094f103059c77dcdad427394b70c26033b8fe9c2867750829b90deea9d1ffec738770fc0fa23ce2f84b8c92775307fc3ece15d2749419270ac1787e2d27 SHA512 4517bf89ecf9fdab3b68b58ae53709b327b38f6c546aec85ca339427e1e2f4e846b91f680d7dd59bdb935ad9c81dc2a85bb5e2803fa70a077a10fe082388def4
84 +DIST firefox-78.12.0esr-mk.xpi 460012 BLAKE2B 01b91f2059dea0e6aecebd98daf280a1d299a80d7777cd0e363b60cebc1f6bab04ae8cf6c666bedef33b9246cf623e8074ac9eca26d7a325451b5e1c673e9eee SHA512 641986710a8da7c4dd334039e403a8f42f0f143752555af72079246e001e8a4d7b8d013e900fb2b755ea60a2df2a748cd802398f694d6fb9e2c1cc61ee118f28
85 +DIST firefox-78.12.0esr-mr.xpi 541569 BLAKE2B ac084f640e23cdd07f93dc3b68d61eda67815c70f13d616d8440553f06d4f831d7815e390c88466d5fdff4767efc61196971bed750080b7940ca53ca76e5b26c SHA512 98282c85887e71dcdc08be45c46baf8893e9818880ad7096c57d946c2e08808fad74222c907c593a6f1d67f50f1cf6fa65e158f2379b3ff2e45c641c8975ab34
86 +DIST firefox-78.12.0esr-ms.xpi 453061 BLAKE2B 0fe96bd6db5f8f0fb9423a659a052a51a1bade98d9ec613efa29db87b6483e792ddbb6d6b6368cb7d9a1f52be42099d3fb927a4a438cb4aac32968089fac2376 SHA512 122da1a5bd6c521fbd93657afb26a734082f23b9e6e3d32c28345692c86665fe1310c74bebefdf65715451632e4f03bb3a0697e010712da7b90251e3e7a4c9ca
87 +DIST firefox-78.12.0esr-my.xpi 526323 BLAKE2B acd832cfa37ea57d3f475fc7d83747dedf76a81d3d783b83fc1dce42949e0cbbe905390945df314b14d67a4ae8a685abf8c20258bcb85bd04104faaebf18bfa3 SHA512 92b0fe9a657e3ca85d9b1c81d3435d94028e041098b7e1b52a26d4e9f378319cf70e9649585fdba5dac919c8189289394347466dd8be0492f05239ecfc4e5ca8
88 +DIST firefox-78.12.0esr-nb-NO.xpi 518519 BLAKE2B 3acb4ebe5add5433b603729a4afd3d07b5c611b14996f4723c865a4e4f77e77c7ab7b0a00c697190ad52733323a8d9807be5cf273bf4767b0b823fb0efc1be43 SHA512 9f1a0bfcd1c668ddcb7ce1ea52ce25ea3c490fb16ee8e4e475668b1e3a7e2e10db7dc36fa118b911f7b3b7e71054b664589763cb760232028552ea2220415a48
89 +DIST firefox-78.12.0esr-ne-NP.xpi 483409 BLAKE2B 24bc0e9eaca3055f2e6ed764b5ab230b161404694a7cff3c0d61de5d742fca558d894f72b00d8b9c2d7be5b96ea88eaf1656e90843f62afc325044fdc80bbd4d SHA512 ee4af731da6b770ea503aad20900da86aad7ebfb9e4509035a0efafb658eb62ef6633ebd6facdf38404dc2bf6e656eceeab6c4e358e472b7a220d7419ec28bb3
90 +DIST firefox-78.12.0esr-nl.xpi 526209 BLAKE2B cc7926d00063e84f4a9bfba8719d276c4c847152da283f0b36dce24cc1ab1f0ac0bffe29ce574362286c664564380e88f1575b19af5121f54caeca02f79a132a SHA512 5be0868df240c3f2bc5f62d62e33557bb5899d4afb8f775270a2a7e8d3cedd62b06f1bbad6ee4b42efe47faa974d2af684a629b910ffe3aa11877f0f0e772515
91 +DIST firefox-78.12.0esr-nn-NO.xpi 520165 BLAKE2B 5c730388fd83f76227e016a0cec35db136d4549105c7c55182125bbad7ed7b6797dab79d5a56cc1edb06d04cc6cff6734b9fc45db7c20b2efeee201f654d8247 SHA512 571606c967cc2d8343a9cd144b4c2b4f8739d43a899a60674d38822a8d8c488a6f4f38a3d7fe79b32a0e2c70b8d358ee0b6229bff4eeb16ad75e452629d78df6
92 +DIST firefox-78.12.0esr-oc.xpi 542161 BLAKE2B 56862a01dc976698fc1fa822cd4a540040cce2a98dbd8c68822d4d02daca9c30c785f2df4a4efa525f971aabbe90aa2f8d499b4b60ecf7fe064e4902a710742d SHA512 ebe47b83828bb15fd17829d5a741adaefba99702ea6642d0df89767ac0567905e0ba4d7c5014b453bb0ad235c317d1d9908fa9f3c956221d2330adab6ff09d06
93 +DIST firefox-78.12.0esr-pa-IN.xpi 580361 BLAKE2B 5708b864aa5bae9961c5aaeb75bc2d82e118e9ed4e5ce60b2202aeecb2ae9a55f3c2e5ea497352c7c5a5310be08c42ea7099199ccaa6ba5de5bd3ffce26f7406 SHA512 3a539f44c67f97f2e4a1c9cc29934e5135e241fe0adfd579571305baacfa545e602f78a2ac183086add7df444256eabee7e3ab32a626bc8d3ccb46d668831094
94 +DIST firefox-78.12.0esr-pl.xpi 545587 BLAKE2B ede715662416623631f16a1f3ded4a9beb8483a6155d541ab0d316902748295025fcc5a58a376d437ce496a0e23bb67772acf83b6477f70b0d0006c2ef58f5f4 SHA512 426b6385cee5ec7e1fdc97f8ebab31d9d3e7c7228cd791f2653a6e153c9c210e25ccb9040fdea89779664e8469958a3fce2036e31c00a51d48ef97eb1709cf85
95 +DIST firefox-78.12.0esr-pt-BR.xpi 527570 BLAKE2B 51dc9cf77c2f98cf5ed9045d355f8045dfa9bb3008dcaceb820b6df22d15e3fdf2d7fbcad986d17a93541051e863360786a3063d87233a9986f3a51cbcb821ea SHA512 9475a182f30f5124e9480def4c4d481ef744e9a57dd44418d9219ac464a9c52c35b50d713420b5957d3c18ac0b278ff0e9fd7ebbc8e7d723e3e54b697bf44786
96 +DIST firefox-78.12.0esr-pt-PT.xpi 532051 BLAKE2B 0296ef68afc434d5f382fae28f7d196fe535370fcf3aad8381fd485d52337e1655e7e175a73f69bea8f4ec9ea51c81f616fe6e01d893d43f37ff15a32e72c5bb SHA512 63cdc360ce7a950285c9ad2a8fefb15e1653db6cf03b5dc7ef94113be7a9abb79277e7a483a9969e317df5a80c0a780b480e36ec4b54b81e061eb6f8d78228f7
97 +DIST firefox-78.12.0esr-rm.xpi 526719 BLAKE2B 06fa9e1e88a49dff5b9e2d3a8257aa04f07f53761f9786b41f837315605c7df7d65c99a1d7faefa9d70a205801ef3a6de5e6037c3ebe740bbc848d2cec29526a SHA512 0562f349ff89dc6d58449ea84be5b7a3729b6a0a9da10eabe3e33ae0fdd67a356022e416a9164a76ee2b6ee53dafc683a5005709674a78c9b533c66cc45d0275
98 +DIST firefox-78.12.0esr-ro.xpi 535573 BLAKE2B 6873bee12b50838cf27b91c1d6bdd63a9e1cbe3c63e89c79ad2b8828f33c29dd95915cceec5fe42a3be12f8c1f59dd0225a9ace3bbef0d4e8cfcadf9724fe6f1 SHA512 73abbb7242568011eb39662e15ec2d63fc43fe269b21f82227d4b9a7eb89e9b3a7cc6ed9617600365360636a8df968cec87c966fd501ef1b4b12d276dd11c5f6
99 +DIST firefox-78.12.0esr-ru.xpi 614597 BLAKE2B 736786d92085cbb194dd371aee0a517ca6a17d9f6fc0db45e653af2052c5f5f39fe267b7ea826d102c68f699e991473474b0398175db17e3dcd58963a680d5b3 SHA512 432e4594e3c6446d9cfd24089a70960da19876b1e79e30f736471ac32f5772bce10c6c58be70237963174e828bb0f9ddbfbed2a314376d248fda9fe7d1d33f50
100 +DIST firefox-78.12.0esr-si.xpi 492527 BLAKE2B 1972bbf48b423af6d7642ab712affd8be3d2d9f22ee6fcd4d0ab5d79b34338d73bbd0f53f3809cf9a9c4adcb7a65a30ad5c751a8281efde29396e5eccdf49b20 SHA512 d223b49e703f2e4a0f26dee7353bbff6e865659abcb1e13dec3d2904e3c6a6d3d8c83216c038e425a65752e82b0ebe96368292f7d1229abe77994558394e439a
101 +DIST firefox-78.12.0esr-sk.xpi 534223 BLAKE2B 2b5e1c5e6013b69a7fd7bd47036c87fc12c4c53b8c3a8c2620dabe82594f4316dd71a038a47c3135a0b87a87cdf702ae0540f58906c0f6e0b181e0b9f68c2c4d SHA512 a3db60cc1d983eb7d1a3e3db671d82b80c657f294628a7d22652de82ed95ae3f149b7ff1e196d25fd6e25689c75c62b3027431fb33682ee9e7cfa5ab5ba529a7
102 +DIST firefox-78.12.0esr-sl.xpi 520944 BLAKE2B 9b4024810e61b3af52c866ab4abbcd660cd5da7a36245cfc134afa00e5e503edb22987c72a3d4180fee4aaee30549614063b297dd1a9db510705a665e4c59096 SHA512 69c1f56fcc966b29746f85a180e331c0646dd430f53cdcfcae3c958077d0bdc0d6332dc3c15910fa2e9dda6809fbe1c3982c9aa1f7bd7db6fcecd9d2fa4d99ac
103 +DIST firefox-78.12.0esr-son.xpi 424572 BLAKE2B d36a4002006b7c7f2a259e6b40bb4f385a2740b4e8ba9d3bd7b278baa24b0a1e62243982f34819f17a6824cc66f5ca4e7f32a355291ea33d8865172eda58cb69 SHA512 3a412d3ff10a11b9aab2751f7b15617cdfc4297d77301ed054119d4bf8746ebc132067e3dbb4100884de735d83f16ad326b4a7b4cabe150da609d8cafdade4a5
104 +DIST firefox-78.12.0esr-sq.xpi 544911 BLAKE2B a06a917f6dc1c3d0ccd712b3bd2ec1ce54c801c212c15da968282a7e169399690e7530b5b553dd11d3548df95e676c4882d54d394e593385a42c631d128be9ab SHA512 749552c95096d15e7c7eebd680dcd31d2565383222e4ccc8cc3fdf30b4536749726a5a6813c4ac665b57711265b1686073464743ba788d30f3b832c5107388e7
105 +DIST firefox-78.12.0esr-sr.xpi 561391 BLAKE2B c34eb03fcc556e2db09496931bd2d08ba9dc8a4ecff89ca03e19e8679deb0f4d03ffcea9f7d67eedb292a0dd4c65a66345eef45d5a284c72663c33b1bfb1d50c SHA512 8b5110e43de2c7afa4e6fe152c768ce1eeb3e21938abe34e27d9dce69f890ce3b3d90144639642afcb5c3a348ded6c412c7e48594c95657ee33275b056754868
106 +DIST firefox-78.12.0esr-sv-SE.xpi 529708 BLAKE2B fbd72399195f0824350510000c07ab0b8595d3315ba7ad983d4147aa86955a0843b5086046cf6d80bd8769ee7a21240d368b2ffa88194c2c07cfef55aa6adb98 SHA512 efdfa3f39ac1ec45d736590fbd5a36b81c5b6996e30129d2a7bec93f8d90fd6db31f997fe28f6dd430e10d9333edf5f5f2bbd72116ae73368b52522716f62b19
107 +DIST firefox-78.12.0esr-ta.xpi 521544 BLAKE2B e776dc5d8b1e01021a99ef84c94721342322a44399b689101d230881f9d212211e10a842a68675f2e11ae016eac93f061abd553998531b3c0d8a4f9e9f163680 SHA512 86c6631376f95e6c08d4e1d3bc0a2d5adb89cac885909d1f6a3b6ba8753d8d432784442aff27c71a673b9e0392b687e952284cd8ab3e36d06ac52e8a2ca55779
108 +DIST firefox-78.12.0esr-te.xpi 558391 BLAKE2B 2e0b60ebb90905fc49a2a2a5813aecc763ff598fa96f5af9f3f89ecde2914fff793d9029df1970cacc18a9b078b473ce62b0885df7f4832abeedda8cc03e520b SHA512 9058cdb3773e10366bac36dc77a122f4e6e83b84374c9d00861d40d28eb241425426644270eb31eea8098f8fac8b17da8db67b7f266bc7f6e86eb4e94863ea8d
109 +DIST firefox-78.12.0esr-th.xpi 592243 BLAKE2B ab688f807db0004f9e0de221079b1d107f5202686316c4a3c9bb7e899b057ca8682f29873039aaf9ae2f6cde0bd9141efc51eff00be1292df6ae43263dd80ff7 SHA512 310a04fbfa68f4f93becaf6baf10c98741f802556228076fe332672131b04903d35ea5354719a6b05a672e3b0b5ddee984abca97c62bbf198ac42b8ab2ed6995
110 +DIST firefox-78.12.0esr-tl.xpi 521109 BLAKE2B 4410a08723fbe30017adce09bb067712dc81580b6718ea6a9ae59222243d279f7418803fd624572cd5b543dac8922e5cb4d1613c70fc68f7ca9e09268c98ce97 SHA512 f7ab25435fb1a5c0550f7d15bca7ca93a8866c549756240ff6f7aabb843b7d780caf3b6fae8ab20685c03c65e419f88b3b4f6551d6524dc9ddd1d7cb857b92c9
111 +DIST firefox-78.12.0esr-tr.xpi 539884 BLAKE2B b2e56de6ae0ad00cc7c52d102d291d8d978bf0c24c88cfd5a6a9b856b9b31b40bfb6a26f709d51c848422c9925924bcb94f513a97d413cc33b0046d4cca42d64 SHA512 2eedae3645dc963a6016120007a634a0cfc4f1b38d27dc530340b6e8b8312c4d3a53de1529924688dd9d17b735cfeb27c6df10942dd72c2d138d35c27508bc25
112 +DIST firefox-78.12.0esr-trs.xpi 501218 BLAKE2B d9a566f1c0f5a5dcdc99e9c6b8e5fcd2b778b7589a3e2b5139b082189185d97f8dc7d35edf4a6980c964624d600495e902b2788dbd6b4359ec6aa45cbdecc744 SHA512 5faf29b0ee329c6dd2822491debe57c4f6ea8e6ec4275f25229a074d4274a6a843fd71c51d2714f44c07067dd92ac641548666fa017da644c300ff51ecd67588
113 +DIST firefox-78.12.0esr-uk.xpi 608585 BLAKE2B 96dcd88731f6ea3c9bf8cb1c0a6c10e37bd3dc5a8610a9e52b8bdc493bd898cd28c098e0850563d775f4f9c9e596f4b368baacea8eb9848d6aa3e428fed52676 SHA512 8d1176dfed8fbe3023fc850b2171e386ab6f2e1c38d3480fc7664291d8d59bfb8da90fc25562652e724de08454d3e2a57f537e3217c6540b75acb85db2de141d
114 +DIST firefox-78.12.0esr-ur.xpi 557951 BLAKE2B 201bec421aee0cdb63d211de89da044e5b6250c318831d1284dfbac2096404b9ba77b0ffd2b99c08653f9cfad3770b4045e90404eaa0e5587720c2adb8455fcb SHA512 d1bda9bb3207dbe654027175883c11cb9a82c11c23adee9a978ad5a6e9d5317cfaf0e87b4896c3f8ede86dcbb525b43be03218c2768b646023dad9a0c5ba6049
115 +DIST firefox-78.12.0esr-uz.xpi 477555 BLAKE2B 986bb748a2faa8b9a0aaa5ec874eea0a410502643ce71ebaafaeb184b97d4c4badb818a280339cedf6f401b34f79166c14dca08dbb8e714367f674b17bdee34a SHA512 1770757a2c1c3d9197ed08d6dc6514e8565292e1153c2c6d810ef299c5e070df1b67fb5996195541e880c71a63bb254905cd217f2532cbc7e75369241530494c
116 +DIST firefox-78.12.0esr-vi.xpi 562863 BLAKE2B b0c80866ab862e0d9d43306e897c8b3a06df6a03d62de0cb186b08ffc9307a68d17b361614046eb15388258af87938c93df9517e59b8736af2114e46a7a8cd2f SHA512 ea8aebe03949c8a364d0b47196bff4dbeff1eff1594f8b36dace7c6d401c3c353ed80bc89bdaf505f2b40abcb7c9c5ff13d38748f194629663f6e1cccb7c783f
117 +DIST firefox-78.12.0esr-xh.xpi 427839 BLAKE2B b6cf89388e45ca74b4d3042f9bf30535cd26a42aeda03b03340f2779ec0fe177653f43ffc3a6fad9a3ed98049950ad18b05a76b043d91ddad40f311e065fede2 SHA512 c146d9d5140ee3023a749d21bf4645e07f0ceae8f8b9d6ba91dd776c57e69b1c56e402fa3ec2b1d8da4918ee60e82b423c9994737e288d8a799c8c5ab1119116
118 +DIST firefox-78.12.0esr-zh-CN.xpi 564771 BLAKE2B b745ddf8c8ad7686e5ca7142338ef4b2f2e362874d9b087c4f4980f4d9e96f076bb318e0782c8c2404c00e71f585aaa76b26da0e369fb02b9121402b5471fa06 SHA512 cb707c11c8c0554e6255e725ab5c68f3b15c2d34d85f84fc6ab4ee7eae83fa91b35be282d592b845f09539ec43d1dde8167bad1eb24b86adbbe236c72854764a
119 +DIST firefox-78.12.0esr-zh-TW.xpi 564742 BLAKE2B 3d4b211b35c9aabe2c610b621c175bcfa4fb0f1ba4af607407b9002a475407f53cb8f2e7250a96fa93abd5ee74bd3ee5b0aff01a91e45ca7211fadb2b03e5e1c SHA512 a241c3af98170e0885b63ec0c140fb1ad7749a5bc762b7154b77282d33bbcf7926550182d261e3ac4b0084d4b8d98b30111dc459f3cbf2d9ccdf9f6b811222b5
120 +DIST firefox-78.12.0esr.source.tar.xz 333737488 BLAKE2B 775a55511a48f4210807d2648833bca6f95d9f4cd48b5d0de8cf0bf2609590c1615fca7ff855ae3643a25466d131e15dc293e6a57aa05e1d91d2cf819b0b89ca SHA512 646eb803e0d0e541773e3111708c7eaa85e784e4bae6e4a77dcecdc617ee29e2e349c9ef16ae7e663311734dd7491aebd904359124dda62672dbc18bfb608f0a
121 DIST firefox-78esr-patches-14.tar.xz 82976 BLAKE2B 08cc3618c8069f4169b7647e7eb699153d558bb89f8a4f1ed74d5ccd339f77119cd8f253df011f0c2f255ad889b65e843171d7559f469788463ca7e9aa2e96aa SHA512 1611c6f9d2c7d586e7b53810c1cfdb2682f5d289b1b019b71694b1ab2d8bbdfe827a73cfaf59f7e4808c0b90409ca4fa57e27655d8cdf0c578ffdbad33659f26
122 +DIST firefox-78esr-patches-15.tar.xz 65604 BLAKE2B 86e421e555ffd5f7f201d0f1a1c446c649739c67cdf8dca536efa115e09d9c357ce1551b7270c77e8bfe7dd53e0f3e6386496283879cf5e0c59b3c864951ebb3 SHA512 b229e895f083a0404cda1da0d8ae937429d5975ac52ab20e8b15611d9c737381a1076ebfa8c8a127dacac0e12a2a905ffd579facde2d80c6facc911e5739e34b
123 DIST firefox-89-patches-02.tar.xz 34192 BLAKE2B 06d54c82c2c9202fd176ea850872be626d3da38cc42f14def0a29a18f4cb52b851b7984c3880d35cf16b66cd5316d8a65212d6242350f1bb4f981d5deb050e16 SHA512 0e43645a81c75dc22da7091e00b9a1cdf055d6b4c2ded7ca1c15badb87fcfd29a7afb43ca0142627388d81c8728095a41b7e2a5983cdb1ea447269d8e6057003
124 DIST firefox-89-patches-03.tar.xz 34700 BLAKE2B d2d7bc89abc5c6e3f18fed724dc81c347f99cbc8c162acf50823c51ab62a0fb8c54a2be8f3e77d928a3b31d806d5407b374152e356fa98f366c0f33a7f0781bd SHA512 c20b701c1d427eeaea4856b0e36ebc57a1a6e7aa676c6c34185ed8b597d744da26fb889e6170ca3c82996de9ec1b5efe16e02d1cbdb3d1562af92f272c18243c
125 DIST firefox-89.0-ach.xpi 467444 BLAKE2B 7620cb550d3f7b980cdf45ed15d2b964fdcd125c794a9f2b78892dec5d0250d15428ada892d5ac75223d6fc225aaff0d862624b7edc98e91549535b0ffbab909 SHA512 dd416ae0e9097a293acc6a70b2d857cf6b9ad65ff1d54d51c751cb938e7e703faf117d037ed3fc84b2e2108884369a803f7a7745c86130682ddedd3cdac81de5
126
127 diff --git a/www-client/firefox/firefox-78.12.0.ebuild b/www-client/firefox/firefox-78.12.0.ebuild
128 new file mode 100644
129 index 00000000000..04d5ea5d3d6
130 --- /dev/null
131 +++ b/www-client/firefox/firefox-78.12.0.ebuild
132 @@ -0,0 +1,1183 @@
133 +# Copyright 1999-2021 Gentoo Authors
134 +# Distributed under the terms of the GNU General Public License v2
135 +
136 +EAPI="7"
137 +
138 +FIREFOX_PATCHSET="firefox-78esr-patches-15.tar.xz"
139 +
140 +LLVM_MAX_SLOT=12
141 +
142 +PYTHON_COMPAT=( python3_{7..9} )
143 +PYTHON_REQ_USE="ncurses,sqlite,ssl"
144 +
145 +WANT_AUTOCONF="2.1"
146 +
147 +VIRTUALX_REQUIRED="pgo"
148 +
149 +MOZ_ESR=yes
150 +
151 +MOZ_PV=${PV}
152 +MOZ_PV_SUFFIX=
153 +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
154 + MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
155 +
156 + # Convert the ebuild version to the upstream Mozilla version
157 + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
158 + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
159 + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
160 +fi
161 +
162 +if [[ -n ${MOZ_ESR} ]] ; then
163 + # ESR releases have slightly different version numbers
164 + MOZ_PV="${MOZ_PV}esr"
165 +fi
166 +
167 +MOZ_PN="${PN%-bin}"
168 +MOZ_P="${MOZ_PN}-${MOZ_PV}"
169 +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
170 +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
171 +
172 +inherit autotools check-reqs desktop flag-o-matic gnome2-utils llvm \
173 + multiprocessing pax-utils python-any-r1 toolchain-funcs \
174 + virtualx xdg
175 +
176 +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
177 +
178 +if [[ ${PV} == *_rc* ]] ; then
179 + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
180 +fi
181 +
182 +PATCH_URIS=(
183 + https://dev.gentoo.org/~{axs,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
184 +)
185 +
186 +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
187 + ${PATCH_URIS[@]}"
188 +
189 +DESCRIPTION="Firefox Web Browser"
190 +HOMEPAGE="https://www.mozilla.com/firefox"
191 +
192 +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
193 +
194 +SLOT="0/esr$(ver_cut 1)"
195 +LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
196 +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free geckodriver +gmp-autoupdate
197 + hardened hwaccel jack lto +openh264 pgo pulseaudio screencast selinux
198 + +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
199 + +system-libvpx +system-webp wayland wifi"
200 +
201 +REQUIRED_USE="debug? ( !system-av1 )
202 + screencast? ( wayland )
203 + wifi? ( dbus )"
204 +
205 +BDEPEND="${PYTHON_DEPS}
206 + app-arch/unzip
207 + app-arch/zip
208 + >=dev-util/cbindgen-0.14.3
209 + >=net-libs/nodejs-10.21.0
210 + virtual/pkgconfig
211 + >=virtual/rust-1.41.0
212 + || (
213 + (
214 + sys-devel/clang:12
215 + sys-devel/llvm:12
216 + clang? (
217 + =sys-devel/lld-12*
218 + pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
219 + )
220 + )
221 + (
222 + sys-devel/clang:11
223 + sys-devel/llvm:11
224 + clang? (
225 + =sys-devel/lld-11*
226 + pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
227 + )
228 + )
229 + (
230 + sys-devel/clang:10
231 + sys-devel/llvm:10
232 + clang? (
233 + =sys-devel/lld-10*
234 + pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] )
235 + )
236 + )
237 + )
238 + lto? (
239 + !clang? ( sys-devel/binutils[gold] )
240 + )
241 + amd64? ( >=dev-lang/yasm-1.1 )
242 + x86? ( >=dev-lang/yasm-1.1 )
243 + !system-av1? (
244 + amd64? ( >=dev-lang/nasm-2.13 )
245 + x86? ( >=dev-lang/nasm-2.13 )
246 + )"
247 +
248 +CDEPEND="
249 + >=dev-libs/nss-3.53.1
250 + >=dev-libs/nspr-4.25
251 + dev-libs/atk
252 + dev-libs/expat
253 + >=x11-libs/cairo-1.10[X]
254 + >=x11-libs/gtk+-2.18:2
255 + >=x11-libs/gtk+-3.4.0:3[X]
256 + x11-libs/gdk-pixbuf
257 + >=x11-libs/pango-1.22.0
258 + >=media-libs/libpng-1.6.35:0=[apng]
259 + >=media-libs/mesa-10.2:*
260 + media-libs/fontconfig
261 + >=media-libs/freetype-2.4.10
262 + kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
263 + virtual/freedesktop-icon-theme
264 + >=x11-libs/pixman-0.19.2
265 + >=dev-libs/glib-2.26:2
266 + >=sys-libs/zlib-1.2.3
267 + >=dev-libs/libffi-3.0.10:=
268 + media-video/ffmpeg
269 + x11-libs/libX11
270 + x11-libs/libXcomposite
271 + x11-libs/libXdamage
272 + x11-libs/libXext
273 + x11-libs/libXfixes
274 + x11-libs/libXrender
275 + x11-libs/libXt
276 + dbus? (
277 + sys-apps/dbus
278 + dev-libs/dbus-glib
279 + )
280 + screencast? ( media-video/pipewire:0/0.3 )
281 + system-av1? (
282 + >=media-libs/dav1d-0.3.0:=
283 + >=media-libs/libaom-1.0.0:=
284 + )
285 + system-harfbuzz? (
286 + >=media-libs/harfbuzz-2.6.8:0=
287 + >=media-gfx/graphite2-1.3.13
288 + )
289 + system-icu? ( >=dev-libs/icu-67.1:= )
290 + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
291 + system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
292 + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
293 + system-webp? ( >=media-libs/libwebp-1.1.0:0= )
294 + wifi? (
295 + kernel_linux? (
296 + sys-apps/dbus
297 + dev-libs/dbus-glib
298 + net-misc/networkmanager
299 + )
300 + )
301 + jack? ( virtual/jack )
302 + selinux? ( sec-policy/selinux-mozilla )"
303 +
304 +RDEPEND="${CDEPEND}
305 + jack? ( virtual/jack )
306 + openh264? ( media-libs/openh264:*[plugin] )
307 + pulseaudio? (
308 + || (
309 + media-sound/pulseaudio
310 + >=media-sound/apulse-0.1.12-r4
311 + )
312 + )
313 + selinux? ( sec-policy/selinux-mozilla )"
314 +
315 +DEPEND="${CDEPEND}
316 + pulseaudio? (
317 + || (
318 + media-sound/pulseaudio
319 + >=media-sound/apulse-0.1.12-r4[sdk]
320 + )
321 + )
322 + wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
323 + amd64? ( virtual/opengl )
324 + x86? ( virtual/opengl )"
325 +
326 +S="${WORKDIR}/${PN}-${PV%_*}"
327 +
328 +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
329 +# overridden in the enviromnent (advanced hackers only)
330 +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
331 + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
332 +fi
333 +
334 +llvm_check_deps() {
335 + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
336 + ewarn "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
337 + return 1
338 + fi
339 +
340 + if use clang ; then
341 + if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
342 + ewarn "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
343 + return 1
344 + fi
345 +
346 + if use pgo ; then
347 + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
348 + ewarn "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
349 + return 1
350 + fi
351 + fi
352 + fi
353 +
354 + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
355 +}
356 +
357 +MOZ_LANGS=(
358 + ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy
359 + da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu
360 + fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM
361 + ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my
362 + nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru
363 + si sk sl son sq sr sv-SE ta te th tl tr trs uk ur uz vi
364 + xh zh-CN zh-TW
365 +)
366 +
367 +mozilla_set_globals() {
368 + # https://bugs.gentoo.org/587334
369 + local MOZ_TOO_REGIONALIZED_FOR_L10N=(
370 + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
371 + )
372 +
373 + local lang xflag
374 + for lang in "${MOZ_LANGS[@]}" ; do
375 + # en and en_US are handled internally
376 + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
377 + continue
378 + fi
379 +
380 + # strip region subtag if $lang is in the list
381 + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
382 + xflag=${lang%%-*}
383 + else
384 + xflag=${lang}
385 + fi
386 +
387 + SRC_URI+=" l10n_${xflag/[_@]/-}? ("
388 + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
389 + SRC_URI+=" )"
390 + IUSE+=" l10n_${xflag/[_@]/-}"
391 + done
392 +}
393 +mozilla_set_globals
394 +
395 +moz_clear_vendor_checksums() {
396 + debug-print-function ${FUNCNAME} "$@"
397 +
398 + if [[ ${#} -ne 1 ]] ; then
399 + die "${FUNCNAME} requires exact one argument"
400 + fi
401 +
402 + einfo "Clearing cargo checksums for ${1} ..."
403 +
404 + sed -i \
405 + -e 's/\("files":{\)[^}]*/\1/' \
406 + "${S}"/third_party/rust/${1}/.cargo-checksum.json \
407 + || die
408 +}
409 +
410 +moz_install_xpi() {
411 + debug-print-function ${FUNCNAME} "$@"
412 +
413 + if [[ ${#} -lt 2 ]] ; then
414 + die "${FUNCNAME} requires at least two arguments"
415 + fi
416 +
417 + local DESTDIR=${1}
418 + shift
419 +
420 + insinto "${DESTDIR}"
421 +
422 + local emid xpi_file xpi_tmp_dir
423 + for xpi_file in "${@}" ; do
424 + emid=
425 + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
426 +
427 + # Unpack XPI
428 + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
429 +
430 + # Determine extension ID
431 + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
432 + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
433 + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
434 + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
435 + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
436 + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
437 + else
438 + die "failed to determine extension id"
439 + fi
440 +
441 + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
442 + newins "${xpi_file}" "${emid}.xpi"
443 + done
444 +}
445 +
446 +mozconfig_add_options_ac() {
447 + debug-print-function ${FUNCNAME} "$@"
448 +
449 + if [[ ${#} -lt 2 ]] ; then
450 + die "${FUNCNAME} requires at least two arguments"
451 + fi
452 +
453 + local reason=${1}
454 + shift
455 +
456 + local option
457 + for option in ${@} ; do
458 + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
459 + done
460 +}
461 +
462 +mozconfig_add_options_mk() {
463 + debug-print-function ${FUNCNAME} "$@"
464 +
465 + if [[ ${#} -lt 2 ]] ; then
466 + die "${FUNCNAME} requires at least two arguments"
467 + fi
468 +
469 + local reason=${1}
470 + shift
471 +
472 + local option
473 + for option in ${@} ; do
474 + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
475 + done
476 +}
477 +
478 +mozconfig_use_enable() {
479 + debug-print-function ${FUNCNAME} "$@"
480 +
481 + if [[ ${#} -lt 1 ]] ; then
482 + die "${FUNCNAME} requires at least one arguments"
483 + fi
484 +
485 + local flag=$(use_enable "${@}")
486 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
487 +}
488 +
489 +mozconfig_use_with() {
490 + debug-print-function ${FUNCNAME} "$@"
491 +
492 + if [[ ${#} -lt 1 ]] ; then
493 + die "${FUNCNAME} requires at least one arguments"
494 + fi
495 +
496 + local flag=$(use_with "${@}")
497 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
498 +}
499 +
500 +pkg_pretend() {
501 + if [[ ${MERGE_TYPE} != binary ]] ; then
502 + if use pgo ; then
503 + if ! has usersandbox $FEATURES ; then
504 + die "You must enable usersandbox as X server can not run as root!"
505 + fi
506 + fi
507 +
508 + # Ensure we have enough disk space to compile
509 + if use pgo || use lto || use debug ; then
510 + CHECKREQS_DISK_BUILD="13500M"
511 + else
512 + CHECKREQS_DISK_BUILD="6400M"
513 + fi
514 +
515 + check-reqs_pkg_pretend
516 + fi
517 +}
518 +
519 +pkg_setup() {
520 + if [[ ${MERGE_TYPE} != binary ]] ; then
521 + if use pgo ; then
522 + if ! has userpriv ${FEATURES} ; then
523 + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
524 + fi
525 + fi
526 +
527 + # Ensure we have enough disk space to compile
528 + if use pgo || use lto || use debug ; then
529 + CHECKREQS_DISK_BUILD="13500M"
530 + else
531 + CHECKREQS_DISK_BUILD="6400M"
532 + fi
533 +
534 + check-reqs_pkg_setup
535 +
536 + llvm_pkg_setup
537 +
538 + if use clang && use lto ; then
539 + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
540 + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
541 + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
542 +
543 + # temp fix for https://bugs.gentoo.org/768543
544 + # we can assume that rust 1.{49,50}.0 always uses llvm 11
545 + local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
546 + [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
547 + [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
548 +
549 + if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
550 + local version_llvm_rust="11"
551 + else
552 + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
553 + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
554 + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
555 + fi
556 +
557 + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
558 + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
559 + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
560 + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
561 + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
562 + eerror " - Build ${CATEGORY}/${PN} without USE=lto"
563 + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
564 + fi
565 + fi
566 +
567 + python-any-r1_pkg_setup
568 +
569 + # Avoid PGO profiling problems due to enviroment leakage
570 + # These should *always* be cleaned up anyway
571 + unset \
572 + DBUS_SESSION_BUS_ADDRESS \
573 + DISPLAY \
574 + ORBIT_SOCKETDIR \
575 + SESSION_MANAGER \
576 + XAUTHORITY \
577 + XDG_CACHE_HOME \
578 + XDG_SESSION_COOKIE
579 +
580 + # Build system is using /proc/self/oom_score_adj, bug #604394
581 + addpredict /proc/self/oom_score_adj
582 +
583 + if ! mountpoint -q /dev/shm ; then
584 + # If /dev/shm is not available, configure is known to fail with
585 + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
586 + ewarn "/dev/shm is not mounted -- expect build failures!"
587 + fi
588 +
589 + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
590 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
591 + # get your own set of keys.
592 + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
593 + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
594 + fi
595 +
596 + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
597 + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
598 + fi
599 +
600 + # Mozilla API keys (see https://location.services.mozilla.com/api)
601 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
602 + # get your own set of keys.
603 + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
604 + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
605 + fi
606 +
607 + # Ensure we use C locale when building, bug #746215
608 + export LC_ALL=C
609 + fi
610 +}
611 +
612 +src_unpack() {
613 + local _lp_dir="${WORKDIR}/language_packs"
614 + local _src_file
615 +
616 + if [[ ! -d "${_lp_dir}" ]] ; then
617 + mkdir "${_lp_dir}" || die
618 + fi
619 +
620 + for _src_file in ${A} ; do
621 + if [[ ${_src_file} == *.xpi ]]; then
622 + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
623 + else
624 + unpack ${_src_file}
625 + fi
626 + done
627 +}
628 +
629 +src_prepare() {
630 + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
631 + eapply "${WORKDIR}/firefox-patches"
632 +
633 + # Allow user to apply any additional patches without modifing ebuild
634 + eapply_user
635 +
636 + # Make LTO respect MAKEOPTS
637 + sed -i \
638 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
639 + "${S}"/build/moz.configure/lto-pgo.configure \
640 + || die "sed failed to set num_cores"
641 +
642 + # Make ICU respect MAKEOPTS
643 + sed -i \
644 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
645 + "${S}"/intl/icu_sources_data.py \
646 + || die "sed failed to set num_cores"
647 +
648 + # sed-in toolchain prefix
649 + sed -i \
650 + -e "s/objdump/${CHOST}-objdump/" \
651 + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
652 + || die "sed failed to set toolchain prefix"
653 +
654 + sed -i \
655 + -e 's/ccache_stats = None/return None/' \
656 + "${S}"/python/mozbuild/mozbuild/controller/building.py \
657 + || die "sed failed to disable ccache stats call"
658 +
659 + einfo "Removing pre-built binaries ..."
660 + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
661 +
662 + # Clearing checksums where we have applied patches
663 + moz_clear_vendor_checksums target-lexicon-0.9.0
664 +
665 + # Create build dir
666 + BUILD_DIR="${WORKDIR}/${PN}_build"
667 + mkdir -p "${BUILD_DIR}" || die
668 +
669 + # Write API keys to disk
670 + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
671 + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
672 + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
673 +
674 + xdg_src_prepare
675 +}
676 +
677 +src_configure() {
678 + # Show flags set at the beginning
679 + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
680 + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
681 + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
682 + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
683 + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
684 +
685 + local have_switched_compiler=
686 + if use clang && ! tc-is-clang ; then
687 + # Force clang
688 + einfo "Enforcing the use of clang due to USE=clang ..."
689 + have_switched_compiler=yes
690 + AR=llvm-ar
691 + CC=${CHOST}-clang
692 + CXX=${CHOST}-clang++
693 + NM=llvm-nm
694 + RANLIB=llvm-ranlib
695 + elif ! use clang && ! tc-is-gcc ; then
696 + # Force gcc
697 + have_switched_compiler=yes
698 + einfo "Enforcing the use of gcc due to USE=-clang ..."
699 + AR=gcc-ar
700 + CC=${CHOST}-gcc
701 + CXX=${CHOST}-g++
702 + NM=gcc-nm
703 + RANLIB=gcc-ranlib
704 + fi
705 +
706 + if [[ -n "${have_switched_compiler}" ]] ; then
707 + # Because we switched active compiler we have to ensure
708 + # that no unsupported flags are set
709 + strip-unsupported-flags
710 + fi
711 +
712 + # Ensure we use correct toolchain
713 + export HOST_CC="$(tc-getBUILD_CC)"
714 + export HOST_CXX="$(tc-getBUILD_CXX)"
715 + tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
716 +
717 + # Pass the correct toolchain paths through cbindgen
718 + if tc-is-cross-compiler ; then
719 + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
720 + fi
721 +
722 + # Set MOZILLA_FIVE_HOME
723 + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
724 +
725 + # python/mach/mach/mixin/process.py fails to detect SHELL
726 + export SHELL="${EPREFIX}/bin/bash"
727 +
728 + # Set MOZCONFIG
729 + export MOZCONFIG="${S}/.mozconfig"
730 +
731 + # Initialize MOZCONFIG
732 + mozconfig_add_options_ac '' --enable-application=browser
733 +
734 + # Set Gentoo defaults
735 + export MOZILLA_OFFICIAL=1
736 +
737 + mozconfig_add_options_ac 'Gentoo default' \
738 + --allow-addon-sideload \
739 + --disable-cargo-incremental \
740 + --disable-crashreporter \
741 + --disable-install-strip \
742 + --disable-strip \
743 + --disable-updater \
744 + --enable-official-branding \
745 + --enable-release \
746 + --enable-system-ffi \
747 + --enable-system-pixman \
748 + --host="${CBUILD:-${CHOST}}" \
749 + --libdir="${EPREFIX}/usr/$(get_libdir)" \
750 + --prefix="${EPREFIX}/usr" \
751 + --target="${CHOST}" \
752 + --without-ccache \
753 + --with-intl-api \
754 + --with-libclang-path="$(llvm-config --libdir)" \
755 + --with-system-nspr \
756 + --with-system-nss \
757 + --with-system-png \
758 + --with-system-zlib \
759 + --with-toolchain-prefix="${CHOST}-" \
760 + --with-unsigned-addon-scopes=app,system \
761 + --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
762 + --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
763 +
764 + # Set update channel
765 + local update_channel=release
766 + [[ -n ${MOZ_ESR} ]] && update_channel=esr
767 + mozconfig_add_options_ac '' --update-channel=${update_channel}
768 +
769 + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
770 + mozconfig_add_options_ac '' --enable-rust-simd
771 + fi
772 +
773 + if [[ -s "${S}/api-google.key" ]] ; then
774 + local key_origin="Gentoo default"
775 + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
776 + key_origin="User value"
777 + fi
778 +
779 + mozconfig_add_options_ac "${key_origin}" \
780 + --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
781 + else
782 + einfo "Building without Google API key ..."
783 + fi
784 +
785 + if [[ -s "${S}/api-location.key" ]] ; then
786 + local key_origin="Gentoo default"
787 + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
788 + key_origin="User value"
789 + fi
790 +
791 + mozconfig_add_options_ac "${key_origin}" \
792 + --with-google-location-service-api-keyfile="${S}/api-location.key"
793 + else
794 + einfo "Building without Location API key ..."
795 + fi
796 +
797 + if [[ -s "${S}/api-mozilla.key" ]] ; then
798 + local key_origin="Gentoo default"
799 + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
800 + key_origin="User value"
801 + fi
802 +
803 + mozconfig_add_options_ac "${key_origin}" \
804 + --with-mozilla-api-keyfile="${S}/api-mozilla.key"
805 + else
806 + einfo "Building without Mozilla API key ..."
807 + fi
808 +
809 + mozconfig_use_with system-av1
810 + mozconfig_use_with system-harfbuzz
811 + mozconfig_use_with system-harfbuzz system-graphite2
812 + mozconfig_use_with system-icu
813 + mozconfig_use_with system-jpeg
814 + mozconfig_use_with system-libevent system-libevent "${SYSROOT}${EPREFIX}/usr"
815 + mozconfig_use_with system-libvpx
816 + mozconfig_use_with system-webp
817 +
818 + mozconfig_use_enable dbus
819 +
820 + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
821 +
822 + mozconfig_use_enable geckodriver
823 +
824 + if use hardened ; then
825 + mozconfig_add_options_ac "+hardened" --enable-hardening
826 + append-ldflags "-Wl,-z,relro -Wl,-z,now"
827 + fi
828 +
829 + mozconfig_use_enable jack
830 +
831 + mozconfig_use_enable pulseaudio
832 + # force the deprecated alsa sound code if pulseaudio is disabled
833 + if use kernel_linux && ! use pulseaudio ; then
834 + mozconfig_add_options_ac '-pulseaudio' --enable-alsa
835 + fi
836 +
837 + mozconfig_use_enable screencast pipewire
838 +
839 + mozconfig_use_enable wifi necko-wifi
840 +
841 + if use wayland ; then
842 + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
843 + else
844 + mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
845 + fi
846 +
847 + if use lto ; then
848 + if use clang ; then
849 + # Upstream only supports lld when using clang
850 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
851 +
852 + mozconfig_add_options_ac '+lto' --enable-lto=cross
853 + else
854 + # Linking only works when using ld.gold when LTO is enabled
855 + mozconfig_add_options_ac "forcing ld=gold due to USE=lto" --enable-linker=gold
856 +
857 + # ThinLTO is currently broken, see bmo#1644409
858 + mozconfig_add_options_ac '+lto' --enable-lto=full
859 + fi
860 +
861 + if use pgo ; then
862 + mozconfig_add_options_ac '+pgo' MOZ_PGO=1
863 +
864 + if use clang ; then
865 + # Used in build/pgo/profileserver.py
866 + export LLVM_PROFDATA="llvm-profdata"
867 + fi
868 + fi
869 + else
870 + # Avoid auto-magic on linker
871 + if use clang ; then
872 + # This is upstream's default
873 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
874 + elif tc-ld-is-gold ; then
875 + mozconfig_add_options_ac "linker is set to gold" --enable-linker=gold
876 + else
877 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
878 + fi
879 + fi
880 +
881 + # LTO flag was handled via configure
882 + filter-flags '-flto*'
883 +
884 + mozconfig_use_enable debug
885 + if use debug ; then
886 + mozconfig_add_options_ac '+debug' --disable-optimize
887 + else
888 + if is-flag '-g*' ; then
889 + if use clang ; then
890 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
891 + else
892 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
893 + fi
894 + else
895 + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
896 + fi
897 +
898 + if is-flag '-O0' ; then
899 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
900 + elif is-flag '-O4' ; then
901 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
902 + elif is-flag '-O3' ; then
903 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
904 + elif is-flag '-O1' ; then
905 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
906 + elif is-flag '-Os' ; then
907 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
908 + else
909 + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
910 + fi
911 + fi
912 +
913 + # Debug flag was handled via configure
914 + filter-flags '-g*'
915 +
916 + # Optimization flag was handled via configure
917 + filter-flags '-O*'
918 +
919 + # Modifications to better support ARM, bug #553364
920 + if use cpu_flags_arm_neon ; then
921 + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
922 +
923 + if ! tc-is-clang ; then
924 + # thumb options aren't supported when using clang, bug 666966
925 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \
926 + --with-thumb=yes \
927 + --with-thumb-interwork=no
928 + fi
929 + fi
930 +
931 + if [[ ${CHOST} == armv*h* ]] ; then
932 + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
933 +
934 + if ! use system-libvpx ; then
935 + sed -i \
936 + -e "s|softfp|hard|" \
937 + "${S}"/media/libvpx/moz.build \
938 + || die
939 + fi
940 + fi
941 +
942 + if use clang ; then
943 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
944 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
945 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
946 + local disable_elf_hack=
947 + if use amd64 ; then
948 + disable_elf_hack=yes
949 + elif use x86 ; then
950 + disable_elf_hack=yes
951 + elif use arm ; then
952 + disable_elf_hack=yes
953 + fi
954 +
955 + if [[ -n ${disable_elf_hack} ]] ; then
956 + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
957 + fi
958 + elif tc-is-gcc ; then
959 + if ver_test $(gcc-fullversion) -ge 10 ; then
960 + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
961 + append-cxxflags -fno-tree-loop-vectorize
962 + fi
963 + fi
964 +
965 + # Additional ARCH support
966 + case "${ARCH}" in
967 + arm)
968 + # Reduce the memory requirements for linking
969 + if use clang ; then
970 + # Nothing to do
971 + :;
972 + elif tc-ld-is-gold || use lto ; then
973 + append-ldflags -Wl,--no-keep-memory
974 + else
975 + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
976 + fi
977 + ;;
978 + esac
979 +
980 + if ! use elibc_glibc ; then
981 + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
982 + fi
983 +
984 + # Allow elfhack to work in combination with unstripped binaries
985 + # when they would normally be larger than 2GiB.
986 + append-ldflags "-Wl,--compress-debug-sections=zlib"
987 +
988 + # Make revdep-rebuild.sh happy; Also required for musl
989 + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
990 +
991 + # Pass $MAKEOPTS to build system
992 + export MOZ_MAKE_FLAGS="${MAKEOPTS}"
993 +
994 + # Use system's Python environment
995 + export MACH_USE_SYSTEM_PYTHON=1
996 +
997 + # Disable notification when build system has finished
998 + export MOZ_NOSPAM=1
999 +
1000 + # Build system requires xargs but is unable to find it
1001 + mozconfig_add_options_mk 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
1002 +
1003 + # Set build dir
1004 + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
1005 +
1006 + # Show flags we will use
1007 + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
1008 + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
1009 + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
1010 + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
1011 + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
1012 +
1013 + # Handle EXTRA_CONF and show summary
1014 + local ac opt hash reason
1015 +
1016 + # Apply EXTRA_ECONF entries to $MOZCONFIG
1017 + if [[ -n ${EXTRA_ECONF} ]] ; then
1018 + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
1019 + for opt in "${ac[@]}"; do
1020 + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
1021 + done
1022 + fi
1023 +
1024 + echo
1025 + echo "=========================================================="
1026 + echo "Building ${PF} with the following configuration"
1027 + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
1028 + [[ -z ${hash} || ${hash} == \# ]] \
1029 + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
1030 + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
1031 + done
1032 + echo "=========================================================="
1033 + echo
1034 +
1035 + ./mach configure || die
1036 +}
1037 +
1038 +src_compile() {
1039 + local virtx_cmd=
1040 +
1041 + if use pgo ; then
1042 + virtx_cmd=virtx
1043 +
1044 + # Reset and cleanup environment variables used by GNOME/XDG
1045 + gnome2_environment_reset
1046 +
1047 + addpredict /root
1048 + fi
1049 +
1050 + local -x GDK_BACKEND=x11
1051 +
1052 + ${virtx_cmd} ./mach build --verbose \
1053 + || die
1054 +}
1055 +
1056 +src_install() {
1057 + # xpcshell is getting called during install
1058 + pax-mark m \
1059 + "${BUILD_DIR}"/dist/bin/xpcshell \
1060 + "${BUILD_DIR}"/dist/bin/${PN} \
1061 + "${BUILD_DIR}"/dist/bin/plugin-container
1062 +
1063 + DESTDIR="${D}" ./mach install || die
1064 +
1065 + # Upstream cannot ship symlink but we can (bmo#658850)
1066 + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
1067 + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
1068 +
1069 + # Don't install llvm-symbolizer from sys-devel/llvm package
1070 + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
1071 + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
1072 + fi
1073 +
1074 + # Install policy (currently only used to disable application updates)
1075 + insinto "${MOZILLA_FIVE_HOME}/distribution"
1076 + newins "${FILESDIR}"/distribution.ini distribution.ini
1077 + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
1078 +
1079 + # Install system-wide preferences
1080 + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
1081 + insinto "${PREFS_DIR}"
1082 + newins "${FILESDIR}"/gentoo-default-prefs.js all-gentoo.js
1083 +
1084 + local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.js"
1085 +
1086 + # Set dictionary path to use system hunspell
1087 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
1088 + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
1089 + EOF
1090 +
1091 + # Force hwaccel prefs if USE=hwaccel is enabled
1092 + if use hwaccel ; then
1093 + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
1094 + >>"${GENTOO_PREFS}" \
1095 + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
1096 + fi
1097 +
1098 + if ! use gmp-autoupdate ; then
1099 + local plugin
1100 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1101 + einfo "Disabling auto-update for ${plugin} plugin ..."
1102 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
1103 + pref("media.${plugin}.autoupdate", false);
1104 + EOF
1105 + done
1106 + fi
1107 +
1108 + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
1109 + if use system-harfbuzz ; then
1110 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
1111 + sticky_pref("gfx.font_rendering.graphite.enabled", true);
1112 + EOF
1113 + fi
1114 +
1115 + # Install language packs
1116 + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
1117 + if [[ -n "${langpacks}" ]] ; then
1118 + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
1119 + fi
1120 +
1121 + # Install geckodriver
1122 + if use geckodriver ; then
1123 + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
1124 + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
1125 + exeinto "${MOZILLA_FIVE_HOME}"
1126 + doexe "${BUILD_DIR}"/dist/bin/geckodriver
1127 +
1128 + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
1129 + fi
1130 +
1131 + # Install icons
1132 + local icon_srcdir="${S}/browser/branding/official"
1133 + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
1134 +
1135 + insinto /usr/share/icons/hicolor/symbolic/apps
1136 + newins "${icon_symbolic_file}" ${PN}-symbolic.svg
1137 +
1138 + local icon size
1139 + for icon in "${icon_srcdir}"/default*.png ; do
1140 + size=${icon%.png}
1141 + size=${size##*/default}
1142 +
1143 + if [[ ${size} -eq 48 ]] ; then
1144 + newicon "${icon}" ${PN}.png
1145 + fi
1146 +
1147 + newicon -s ${size} "${icon}" ${PN}.png
1148 + done
1149 +
1150 + # Install menus
1151 + local wrapper_wayland="${PN}-wayland.sh"
1152 + local wrapper_x11="${PN}-x11.sh"
1153 + local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop"
1154 + local display_protocols="auto X11"
1155 + local icon="${PN}"
1156 + local name="Mozilla ${MOZ_PN^}"
1157 + local use_wayland="false"
1158 +
1159 + if use wayland ; then
1160 + display_protocols+=" Wayland"
1161 + use_wayland="true"
1162 + fi
1163 +
1164 + local app_name desktop_filename display_protocol exec_command
1165 + for display_protocol in ${display_protocols} ; do
1166 + app_name="${name} on ${display_protocol}"
1167 + desktop_filename="${PN}-${display_protocol,,}.desktop"
1168 +
1169 + case ${display_protocol} in
1170 + Wayland)
1171 + exec_command="${PN}-wayland --name ${PN}-wayland"
1172 + newbin "${FILESDIR}/${wrapper_wayland}" ${PN}-wayland
1173 + ;;
1174 + X11)
1175 + if ! use wayland ; then
1176 + # Exit loop here because there's no choice so
1177 + # we don't need wrapper/.desktop file for X11.
1178 + continue
1179 + fi
1180 +
1181 + exec_command="${PN}-x11 --name ${PN}-x11"
1182 + newbin "${FILESDIR}/${wrapper_x11}" ${PN}-x11
1183 + ;;
1184 + *)
1185 + app_name="${name}"
1186 + desktop_filename="${PN}.desktop"
1187 + exec_command="${PN}"
1188 + ;;
1189 + esac
1190 +
1191 + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
1192 +
1193 + sed -i \
1194 + -e "s:@NAME@:${app_name}:" \
1195 + -e "s:@EXEC@:${exec_command}:" \
1196 + -e "s:@ICON@:${icon}:" \
1197 + "${WORKDIR}/${PN}.desktop-template" \
1198 + || die
1199 +
1200 + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
1201 +
1202 + rm "${WORKDIR}/${PN}.desktop-template" || die
1203 + done
1204 +
1205 + # Install generic wrapper script
1206 + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
1207 + newbin "${FILESDIR}/${PN}.sh" ${PN}
1208 +
1209 + # Update wrapper
1210 + local wrapper
1211 + for wrapper in \
1212 + "${ED}/usr/bin/${PN}" \
1213 + "${ED}/usr/bin/${PN}-x11" \
1214 + "${ED}/usr/bin/${PN}-wayland" \
1215 + ; do
1216 + [[ ! -f "${wrapper}" ]] && continue
1217 +
1218 + sed -i \
1219 + -e "s:@PREFIX@:${EPREFIX}/usr:" \
1220 + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
1221 + -e "s:@APULSELIB_DIR@:${apulselib}:" \
1222 + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
1223 + "${wrapper}" \
1224 + || die
1225 + done
1226 +}
1227 +
1228 +pkg_preinst() {
1229 + xdg_pkg_preinst
1230 +
1231 + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
1232 + # does not need to be forced into the LD_LIBRARY_PATH
1233 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1234 + einfo "APULSE found; Generating library symlinks for sound support ..."
1235 + local lib
1236 + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
1237 + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
1238 + # A quickpkg rolled by hand will grab symlinks as part of the package,
1239 + # so we need to avoid creating them if they already exist.
1240 + if [[ ! -L ${lib##*/} ]] ; then
1241 + ln -s "${lib}" ${lib##*/} || die
1242 + fi
1243 + done
1244 + popd &>/dev/null || die
1245 + fi
1246 +}
1247 +
1248 +pkg_postinst() {
1249 + xdg_pkg_postinst
1250 +
1251 + if ! use gmp-autoupdate ; then
1252 + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
1253 + elog "installing into new profiles:"
1254 + local plugin
1255 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1256 + elog "\t ${plugin}"
1257 + done
1258 + elog
1259 + fi
1260 +
1261 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1262 + elog "Apulse was detected at merge time on this system and so it will always be"
1263 + elog "used for sound. If you wish to use pulseaudio instead please unmerge"
1264 + elog "media-sound/apulse."
1265 + elog
1266 + fi
1267 +
1268 + local show_doh_information show_normandy_information
1269 +
1270 + if [[ -z "${REPLACING_VERSIONS}" ]] ; then
1271 + # New install; Tell user that DoH is disabled by default
1272 + show_doh_information=yes
1273 + show_normandy_information=yes
1274 + else
1275 + local replacing_version
1276 + for replacing_version in ${REPLACING_VERSIONS} ; do
1277 + if ver_test "${replacing_version}" -lt 70 ; then
1278 + # Tell user only once about our DoH default
1279 + show_doh_information=yes
1280 + fi
1281 +
1282 + if ver_test "${replacing_version}" -lt 74.0-r2 ; then
1283 + # Tell user only once about our Normandy default
1284 + show_normandy_information=yes
1285 + fi
1286 + done
1287 + fi
1288 +
1289 + if [[ -n "${show_doh_information}" ]] ; then
1290 + elog
1291 + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
1292 + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
1293 + elog "DNS traffic to Cloudflare by default is not a good idea and applications"
1294 + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
1295 + elog "(\"Off by choice\") by default."
1296 + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
1297 + fi
1298 +
1299 + # bug 713782
1300 + if [[ -n "${show_normandy_information}" ]] ; then
1301 + elog
1302 + elog "Upstream operates a service named Normandy which allows Mozilla to"
1303 + elog "push changes for default settings or even install new add-ons remotely."
1304 + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
1305 + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
1306 + elog "concerns prevail, which is why we have switched off the use of this"
1307 + elog "service by default."
1308 + elog
1309 + elog "To re-enable this service set"
1310 + elog
1311 + elog " app.normandy.enabled=true"
1312 + elog
1313 + elog "in about:config."
1314 + fi
1315 +}