Gentoo Archives: gentoo-commits

From: Joonas Niilola <juippis@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/
Date: Sat, 05 Mar 2022 08:28:47
Message-Id: 1646468919.ec2c1f5fcaccbb33870480a01b936fbd42bc3927.juippis@gentoo
1 commit: ec2c1f5fcaccbb33870480a01b936fbd42bc3927
2 Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
3 AuthorDate: Sat Mar 5 08:07:50 2022 +0000
4 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
5 CommitDate: Sat Mar 5 08:28:39 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ec2c1f5f
7
8 www-client/firefox: add 91.6.1
9
10 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
11
12 www-client/firefox/Manifest | 98 +++
13 www-client/firefox/firefox-91.6.1.ebuild | 1230 ++++++++++++++++++++++++++++++
14 2 files changed, 1328 insertions(+)
15
16 diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
17 index c5adb43d0d6c..1b1ce41aed1e 100644
18 --- a/www-client/firefox/Manifest
19 +++ b/www-client/firefox/Manifest
20 @@ -96,6 +96,104 @@ DIST firefox-91.6.0esr-xh.xpi 428179 BLAKE2B 3f3480f844684dc681961e390cdf02cc6fe
21 DIST firefox-91.6.0esr-zh-CN.xpi 575379 BLAKE2B 081ca8ec51d6da8357ee7fb4ee1f3f66b7f2084c177a5c2c94d8de06cd2a5399bb4f3d66f4c4ca557c0b5c6df31f520856b13f141757dae2cacb7112fb431429 SHA512 6a770336e06755b77006542151d748a482876b112e91307d98b06585e846a54889ba6957d409b6a68981be419dd1798fb2961d09a638186cc047f5b4536c125c
22 DIST firefox-91.6.0esr-zh-TW.xpi 576228 BLAKE2B a04e5857e6ff2707a1000fb554a4e2ee78cb02ea4c158b375872a77e1e938c1f4b9598c576b32f8ba38b96c279708b2885ce6300a566773171d3ee26e4dc687d SHA512 58d462c901bb5a892eb3f6924cf6ce9cd6a6d140b0ec47973981bb731c8e7f98dab1ac3f9d6d59a32d8c00bcdb394f5a3236e346fcc408abb5924198d7d8f9d8
23 DIST firefox-91.6.0esr.source.tar.xz 386869628 BLAKE2B d06496790b1421db2e0d9419ad29cc44b53b4140b85efedb8fc16e61c4e2320eb85441fae2af3678cd8f15f04890cb0d156bcc79a324e56eafcf3a61530aefb2 SHA512 3dd1929f93cdd087a93fc3597f32d9005c986b59832954e01a8c2472b179c92ad611eaa73d3fc000a08b838a0b70da73ff5ba82d6009160655ba6894cf04520e
24 +DIST firefox-91.6.1esr-ach.xpi 453215 BLAKE2B 91579ec20bd6843ad6878c7ed3c8e543b73e3f0301f1d0fe2ae9f1692a46210603a221d56864000b1ba978ce362cc8e23e11f0a28267ba237c5b3876cad7bd6a SHA512 37147bfbeea97403c054646f40fd1294cc56a59e6823d6a68979e57003ff42f82eb40f736186ebabaab11d1667cbb8a19fc637c02b37368c397d1377267aae07
25 +DIST firefox-91.6.1esr-af.xpi 426921 BLAKE2B a1f3d3eaa2f000ec117b01d8c5ee49408aa894452ac4c770cee3253d203805d896c38a8ec6d156743305bec1ad34f22160829bdeb3586c8da0b2180ced2e86a0 SHA512 f303109956f762381aa5e317fbc7b2b996dc4986bd34a2ef1500bdba20da4cf214e4d1db3d34daf462c07678781ae84f637f881109dbd4731ea744d32d39cdb4
26 +DIST firefox-91.6.1esr-an.xpi 499889 BLAKE2B aad51d8c31f8c451ef13908d225bb344ef0f49dd403466f51e551bf59202add635e2b533f3dfa3ac143979fce9c27fe63bcb21f87e88d9c231539a22ece79648 SHA512 8e2996af3deacf7f53bb048156dc7903ec40452709d4a689a335c79a64821065f870dd8c50e2089c5eb4bfee056307c5452875be74c9125b2a1099aba7852aec
27 +DIST firefox-91.6.1esr-ar.xpi 559671 BLAKE2B 9043e75fad2e1cd992f1460d6fa75663630ec915f32f741f121a3eccc2697199f8d468c377027b0598e1c81e519b6089996b0e571d9032dcbd21eafcffb26174 SHA512 e67cfb87bda9739021b5c871c4d315dd84ad9f2a9fc35afaf6d1ab9912663e6e952e2c6db48812086c06efcc05a1f65aa3f3fa9827a5007ffad9d382a7e61c44
28 +DIST firefox-91.6.1esr-ast.xpi 498578 BLAKE2B 14c786c3e5819c178386db964d7dca96a7138f2ee186215a1287250c339d2b48f4e28cc2f1191cdc22da8592faf2310870d79397138e22442502cc7e9a7dc0cd SHA512 0a23115f77b0e265b85261cd04f9fdc77376b36ac990b47bee0944bc3642283d5d523685dc9e04cdf2996b72376065cb1c63cad08a9ea2d9768a10dc7d852534
29 +DIST firefox-91.6.1esr-az.xpi 489431 BLAKE2B 9981f5151cc40387f50f2cdd05bb84d2254ac0ad9723085c2782b307c71965361ddd1bcc5f8e6f48f30e0899b758e413ce55daaaaa3ee584c920dad8c43024be SHA512 f3c90b6b73d8e7ae305d69a4d75c570159435ca87a6343305b0402ffeef9d938f742a2b5895147c80ad79ed56bbf3e4f3f1b4b3235d669b9dc70a0f675423cb9
30 +DIST firefox-91.6.1esr-be.xpi 622612 BLAKE2B f77507c86d8e67c74e259f31868176e6f47a03b57431b2fdcba2f4ac84137ad68cba7ad5bbda2fc1495d23a4ac0dfaf2fac6bc0430d651e4ba797f083eb5862b SHA512 03f690c75a310f86c23fd771a5c3e4348fbd7a02af489adbba500f496ede648d3772252d178783e2449f9167c3068851746ba008f9fca4edf85819567a77dbba
31 +DIST firefox-91.6.1esr-bg.xpi 567631 BLAKE2B 15c85b7d686b673a60936be0bee98e98fa1568e50028733c7984e2bfdac22569a4b4294a40f70889c2d17020905ad31c099e999f3d57e70ca7c9625afc76594c SHA512 61408202d2f74efb826bc259a2854ffe6769989c8f9ba8ffe0b2c50c00847885214fc7d14fb98e829b6033841bae47808c76c7d72bf0bc78f3df7c8a0706bc47
32 +DIST firefox-91.6.1esr-bn.xpi 556813 BLAKE2B c1c7bd4f72f7e8b8bbbeaf9cf538257aee2462e750685adc8908cf4af53a62e29770bc54614280e77219e744b241df11348ecefb312d16991c093d51666f9f75 SHA512 ae8694de99b1d8bc22e6f0d5afcb35b6b21938f324dca8e67cbe4ccb0031644ca9e79c1b7760d0b2ab49f3010757bd193de32343657a138d3678ad27f98e7f5b
33 +DIST firefox-91.6.1esr-br.xpi 526242 BLAKE2B 742d7856b28f643954cc018ab9ed6bb6fd76cdc09514228ada5152d32d33a1860cbe46b57101aee5781a40436f389a292ec3c9a3e5894ee1fc9419147a825bb3 SHA512 66feb66660a07110edd829b0f3b19cecbc69c9ecbaae99a1701cd6def8e911440da512a4a5fc4ee88a5c06b05fda044018d8cc99fb70ae2be153beee0d9d9669
34 +DIST firefox-91.6.1esr-bs.xpi 463559 BLAKE2B 6869ad6716ac0da8c386ba68d578022baf036310426d3fd5fe3eccbee26e023de4e2a932e2b603fe7b445807462dd98b2bed1832a89226757ea3f4df1f1a0b65 SHA512 d6e05ae4f7f7f9614aa31f64d6e2418433461553850af8bdb98ad10f375bb518cf30c4cae1c713a91583fbbd21b2dc0d78f107b60f769f90f7fa90026deb5513
35 +DIST firefox-91.6.1esr-ca-valencia.xpi 529389 BLAKE2B 32fa830955c6dd5cf91c3a4b1e6d11b11446b71e6ef32e56a00807a89a6b80109e6eda1f26bd217c0bcc1b1aa3d81f7050726f729561f77b06eb39f6d5da56e7 SHA512 bea6ec79c4bdbbce6db40f3b788d677c1984adc549ec45e3213ff76e8040cc8ec5bcaff7f15b2f8c0c9787e47cd87bdfe1262a4e87d321637455415537ce14f0
36 +DIST firefox-91.6.1esr-ca.xpi 532475 BLAKE2B 11c484fd9621f5513848947ba04da075411cab49c97a461b70243c786055cc70946629214448a9368f84c62bbed718c1d4462669e42299b973da930ce1686cb7 SHA512 ef098779d7c6891bad77cfc8f6af127feac2e71cbb196258a7964f325066b80fcd3b4b05d8c84e41cb3bd4f52776113a33073df691dc5ceba36daaae82e0e9d4
37 +DIST firefox-91.6.1esr-cak.xpi 552605 BLAKE2B e566b8fd130dc4d933d86d3d11a6f91f0837d958c2300cbde44140f6f4b5643eda6fa792e1e9839c1990bae40cdc2164648721173b5f4687b65b78bc36c00cde SHA512 54faa09149b91967b6124af293310ba019b150006581b2f9ab898f3d20d31e30fcf25df9f529664f93757f525581d07910627a664da6fe4d3c279c41115c7e9e
38 +DIST firefox-91.6.1esr-cs.xpi 563178 BLAKE2B 8571b1aea9656342c64d566765a6ba8b0f7ca747cf066c5ab281fcdf22ae305c12e8b23bd2cb75d229737a90bcb581ca720b11afdbf814a933135b4ce9e43cad SHA512 9f4cb527302e0e1ab99dc90fdee87112e981d2e278363413a823e0bfd0ca81a2fb4576cc92d05a89f0ce10f8092681c28aba61d1d56b90817aed0aff99fbe95b
39 +DIST firefox-91.6.1esr-cy.xpi 542218 BLAKE2B 6965c27838eba37c66da0dccedbde16455d4a76d003ed94a25fa91154e1fbdcb23e4f839f06b6b439c77bbe5beeb666e99020f6cbd7ed5d48925e1803fee8254 SHA512 b4d039876071b0e6f1fa22746902871d42cb14b421bd09d530b6338296eed4dd2aaeb80a30c5cf03ba019a96f21984d41fb2aa2d29e4d7a08b29a7d34fce4081
40 +DIST firefox-91.6.1esr-da.xpi 534151 BLAKE2B e22db3b83add3b537a4d0c009191194eaff0692cba29657c40ebf560b56f3e9e3af7286cde3d28a281ff4dda4f9d390095b9babd336625faaac5022094823bbf SHA512 bc0ba99bc54ba5e45fd9f81dcc41a5e9b278b39db4de78c997609b8c74bb6ab62dd161f8514ab1d2b8cb00df3a58cf7729a4a507465703fb1d8420505d8e41c2
41 +DIST firefox-91.6.1esr-de.xpi 553578 BLAKE2B a3f4ff0152f6d275bcebd45e7fc78642c07a4b13b90f79ada50200f105717ace4aedd97c6ed1a36523444941e92728c9690a8327b64a7e63cf49284a514c8b31 SHA512 3169996448e31c925682d453788009feccdf3495284b759c7896130b3459c9bd1ae7defdf66928118f9c4e79bf57ec92d1462239f39f1411b6be76e5b5edda8d
42 +DIST firefox-91.6.1esr-dsb.xpi 566489 BLAKE2B c61db1124c36e63708cc61e90190b11af81c14fafe3831da5c86b4e3e8bb49f622d083332d0dd78c4222a3fe5a3bc0a99db89371b0dc3cf72d2d4d35f8893f80 SHA512 8b676cf5fc291543f227d4fd3975ebfe6868aacc2bec41e6490169a40b10df3829aec04a9acfe4bd273991c3a08990ca8acbeda2cc5f50467dccd94933c9627f
43 +DIST firefox-91.6.1esr-el.xpi 639151 BLAKE2B 0be896207d413d3700f952b4856483a1f7f053df82c33d1b9f4e1f01203ccef8f925355f2887321968a9543015df5edab4461d96682b5b8287aba068a1815f00 SHA512 68e323a7c35e5bf1259ba5e95ab818b3c652e63b5a385067f3c8c95014314fc7fe7efabcaf8e51ccb976c7bf02b2102c9267b76cf7bac500c0076097474ee273
44 +DIST firefox-91.6.1esr-en-CA.xpi 509577 BLAKE2B 9c7e8d119f2e1805b11ae2e876a9981082f7b1cef41032e5890b9f57f83ca086c0febb5aebebce0d168635406549dad674b0b60cca6b9a28245e935342d7f6f6 SHA512 695865a65b5cda9296f236e8f60edfef4faeb5a3ca6ff4a81a8a409023c94fd2b185c2889b36c7ac3e8694c55a7ac4ecba3fce0f67f9f2201c6b22cc310ec170
45 +DIST firefox-91.6.1esr-en-GB.xpi 510591 BLAKE2B e4867ec6bcf09b142264ca5311740d02e71bd4d105e71db5f49f4f6fc72fb9d96fde5ec0661fe4474b46feb2c564e23dc860c067bdc15f2ed5928400956054a0 SHA512 c5ee776d82cd9325ebf3d2dd1d1f86de1cb6efc4fbbd58dc688d8eaa8fa7fb5263ebd0bb70116693c24e577a05b83f7059ddf0b084e3ebb3cb414113f8a9ef12
46 +DIST firefox-91.6.1esr-eo.xpi 534804 BLAKE2B de226f0c77d915ecf2930b3ab087399f61fc1063a2139dad47dbf1bdd7e3bd871447de8f9af4a87f00b0c84ff41f82c02fe5d1de8d3ed088a6fe921101a0001f SHA512 8ae2cb6cc2e4029bcffce1569a1c914904646abcaa7d688433aa39279a8faf8221ceeeaa43e299f2bce5499df60e0e74458e1f8cf8f2e496d0f2fd20cdef63ee
47 +DIST firefox-91.6.1esr-es-AR.xpi 546676 BLAKE2B 21ffe6a0ed28ba1b82cce8d536907afd80e1d75bc5de757665cf737df0de3db1790f437775d51741a678968ba5b8a8be1b591702510e1380cb2927321706ad6c SHA512 c97e71a82b370393246676fec1620a31e9e3752fc9279aea6bc7503b5486cb3e1aeb8a62d6f6561f567827136845418dd762720e3f63d6dec7125fd5c8a387f2
48 +DIST firefox-91.6.1esr-es-CL.xpi 546378 BLAKE2B 214dc01e8f55fff77181a305fc2f4b479685e716a991602e119b252819c7bcb556eaf78a33a98d379284ec57f1232a34042ded545f67cd85eed5a12f31790f81 SHA512 cb807740ad712e14ef9ff58331e7a17ee894ec182a68a6533ca1185cb9d07c05bdb27581f6b8ea0737a4f1334a06fde60e51bb30786c717200d43a8d1523c103
49 +DIST firefox-91.6.1esr-es-ES.xpi 537065 BLAKE2B 78e767cc2786691c355005dab92039bb796ffa12a5770f2d22e3fed5d88e78b8ab3f13e252858f7593a05f60c9cfe1cf8f9f732e04ec8e45a62b962e21095c9e SHA512 4ac7b65bc34a632026247e745fd527f7c58c6ccffbdd14cef4fddf7475e9b0204246852cc2f1bb974c1aad6d16e870fadc9eb56e451bbf002e593ab324fa7659
50 +DIST firefox-91.6.1esr-es-MX.xpi 549991 BLAKE2B a25b0736c4e089a22d8a31507d2fb9d007784d01e2aa45ccbc54f6a1ff89344ef2d06b877dcbc80ff548747014f317f9f500304d975424aa0b61406cdeb8bf23 SHA512 f4eab8c7403e08988bb28393eb9737db38fe712256818822d20629d4c9e5e80d64707e6ad6df42878977fbffdb143d0523d1c2cc355f5e11b5e22b964bb2d268
51 +DIST firefox-91.6.1esr-et.xpi 506666 BLAKE2B 95d32e6c6d85e3f01b12dea053ae26b0a763631c70962ff4be7167e870ebcdbc2c259d133a6be91928c03c4a3807d3ce6fbcbefcc8619e8a557d19785a20764c SHA512 e2910e94892c8ac54ae06cf946a0186fdf664748bfc4e79bba0d438e5effd3bfe7b282ae660e9109de91863ec8cc86c5b6aabbb3c27346fa5f18234caabf3ca5
52 +DIST firefox-91.6.1esr-eu.xpi 536329 BLAKE2B 8a048ea916e6bea692857b890ab2c79b232e5582a13852ef90c7dbb2e84767d1fca4cd88754537033d674da5014b74bab09d9ed15ab956c3fedf0e20bd912deb SHA512 cdb68b30e5a21e43a21131ddf98185a6142c7fefa3ec3ded30617a754e744d04132a072525fbb24ecb1f580612c15a507e15086b77011aff0f68ca62a84c9d13
53 +DIST firefox-91.6.1esr-fa.xpi 559374 BLAKE2B 11a23d32e7dd9682287b487b68ea7e5b85d93bbfdaa8d51f454913a5f860875646b2fdc5b963d51124129f1191ce4270fa6e1453ccf872e51ef7d8a8dcf8c224 SHA512 5cfd6263986c1e0d54221127ef201115c691f4eaa68c1728e53d0b06cfd7e751fc3a97bdd13bf09d7ec774916b4b8669912a8449453ab70b367b9f9c3201f15a
54 +DIST firefox-91.6.1esr-ff.xpi 471853 BLAKE2B 57e899c8601fa2dd7844dda6882bbb20bf2c6d43f81bf170660e2577819473066f7a2d0710ff53564a7a23fd448a968fe3d175f32bc2d10b0086ed4bf57a685a SHA512 eb854e8452ab0586f45cab4d3dd1e03c2137f41cfa1cd4740f60d2f7bb39fed86c27159ca895db8abf71650225de71265b2e64e0c63b3a19bcc605a99e9862ff
55 +DIST firefox-91.6.1esr-fi.xpi 531484 BLAKE2B 321116b11ff1bb9f23f85762fd012324ce08f751824592ef2f9d0e2c0b366f04b1bf6d8e69e261cffa3a43b7248fbc488785781a945e65a50c004251c7d86521 SHA512 98ef4f720188173b87212c3ee44d963eecbe4afeb0887ab872348f4c4ed7977fc5d61e15fe91aa8b66e0aca2d6de51b157d8e9e6cac626b180d3aeb9411d9288
56 +DIST firefox-91.6.1esr-fr.xpi 557611 BLAKE2B fde2bc84f34492f6f39bd35e109dde05e172635adad14b590459ee8a76dab505f309e359944424780c67d0c863252b34aba67ed69dd43ffe1d7478fa150844f4 SHA512 073fb99171b84921f7022d0dba3a4c4e27e19b97a0f84b5d2c18086d2094fc2627b8ecc2a4601626cb51b45c54d16eae48d06cf709a837b80a2ebd116ed3cc98
57 +DIST firefox-91.6.1esr-fy-NL.xpi 543295 BLAKE2B 3020c285bf369829fb4136653d45bd7b66f4889da688a3bdb7963372650634ac90299d8907ac2914207d5280fb127531da40e85ae7bf0c7a02756c62baadf64f SHA512 9c9a500e4932fbf745cfd2be0219bc68c2e1ede489c424ec6cfaca8f2ad67a86acc7da68170d957f963b91623c965acf1f3d5b4c3ceb9a34d86bec07f748ec61
58 +DIST firefox-91.6.1esr-ga-IE.xpi 459832 BLAKE2B 68c85ec853dd7454ecc531c504eff83e38d4d883824a605fa93ffa2384f012d9a5a0caf25cdcfaa94adae32b3338c2922a4a073ba2675996c86cb83dfc7e88d9 SHA512 d6ea6a41853f45067ea65e6a337c212f93f908096cee2af68095dba027977c408dc53152483071b386d85a08313b0cf7f1b7a29128109e66943d270b4659917e
59 +DIST firefox-91.6.1esr-gd.xpi 530847 BLAKE2B 9b19ab11add16b50278efccfba0a4ad6489a6bc60af4c73a3ad46712ff073fedc45fc0550c6c6dbe85a76e81befbafb14d3a2ec5cb30f74a27acf9f8236cdaef SHA512 8cb8f87769f7a9b627ce43c11390c69db94129b87712290ff10fc2f59be91e0fc1cf18a940452164de8a11c76d2e2270ab926175acaa47fea34411188ebe1f92
60 +DIST firefox-91.6.1esr-gl.xpi 541299 BLAKE2B 2e597662e78943c7e9e95c088814b5688cf20acd40d2b1a3355948796bcbc0ea2212a8bf9ba551358ce7753ac219abd5ef4ceb82337425eb4c0ce1d00cc25624 SHA512 f6177adeea729fae5fe972d02b9534d09c05cb1a18b5f07d9306fb1788ff9e50584ef36baaa539318e1335804ec51df6ce9f8369754ba838aa544de8f79c4512
61 +DIST firefox-91.6.1esr-gn.xpi 557605 BLAKE2B aedf152931bf4c1728f4dbed816804b9bcfb04e17e2bd9653739e3d8f8c7848c2a4062ab14ada44a14d8d050cbccd4b37bcc2e8e001af387bdcf44a0e7e9f25d SHA512 d831295e1faccdde3e16d6dd600f67f77c035280426ebf4bf996ceccef8ae8f4c7278c97ee2880746ca70cc3cd4d382ff0f6c1782a7cb722c0049edf9b54fca5
62 +DIST firefox-91.6.1esr-gu-IN.xpi 529550 BLAKE2B 206c20aee7aafe8b4e512933d5663d9ba908f54cac98f934d0a6a7ffd9ec7a8f979319810f845d9233477376801eb28d088f65620422c353c6120ee57451dd85 SHA512 0e60c3f3f0e0e351c90bb6ec1148506c9f1a70ae941a9338cfa762f7ae9e09541f283a949947f073386aab861f57a21196b042155fee1ce648493c886913ef31
63 +DIST firefox-91.6.1esr-he.xpi 557201 BLAKE2B 78ca7595206fa233fbb2f9b5efa9dff9031f5ced79ab14f08a5980cee0bef8745d974508c44900fef7c1b50261c5f01a456eea2762ae74b5baea6184df2cbb65 SHA512 d3c62fa6e830820b8cd75d730dd646c79f9ca755e2d2d6f03d650de2b328a3920ada7f7f290c2378bd3f25daaa4e1c686addfca5bb5c310e871ec7f00b534737
64 +DIST firefox-91.6.1esr-hi-IN.xpi 560655 BLAKE2B 3ba7442883a3875a947cfae7dcb3e34b58558fb9ca205ded1616786258e636e6cf937c32a83ec22a20aeda187f69da895c84fa7e157c3f84edce4b8698af5cf7 SHA512 c12b20bb05539d6586ed2efb893613ad740e0e79935115214a3800fcfbf2ed134823f0811c270c4cf47a78429213d294891e2dd2c0932f8e07be03ca5ba61335
65 +DIST firefox-91.6.1esr-hr.xpi 530056 BLAKE2B 17d4f4d81ab51c31be8dee6662acbfd1ab6e34682b40ee60c519944f8ea1ffd6690f3dd3cb41e0ef4ebeff25a77db9357adc3b9676063ddd6c3367f97ceaae56 SHA512 3b9f471cbfa198f4ec4b188d51472e625f72339c01bd2531dad852540215d17575998c509264bc35ee61fbaa8fbe40d99f5e5e0ce84e532530fbbf93a5b05908
66 +DIST firefox-91.6.1esr-hsb.xpi 562628 BLAKE2B 7197fcbd70ffc56ff1d0d515ebb2d50066fae1203287a94ea8b68318165102330c50d5bd9903c3a182ad44fc0f1c3dd06073feb8db863f53be1f56fc4712d778 SHA512 528cdb0e22f0ac67b4c41f419645193c8fe47b658412583a2c2f403e65e1f3f90704e63a48bd9d5afbda5c601c5817cc09584bd55003d82fc5342e4f3bc2fee7
67 +DIST firefox-91.6.1esr-hu.xpi 566079 BLAKE2B 6e02a20d963205a65ba790dcc6c06e391fa6c7c1bb902f897513a7ca1604ff6ff3cc80af1cc4b8f94057d76b18f7dae0571a0fe827d0a112a18fe34e957e9800 SHA512 61fccf3bbec40cd66e2537f397b68146022e1c2b763cdab2cceb9da90c8fe2deef66982f4045666bc70416236a96080979f04a6dbfe27cb7ef60a2973ec600b2
68 +DIST firefox-91.6.1esr-hy-AM.xpi 579768 BLAKE2B acfd57f64d21c60830eecf151aab58edae554744257e51dcc11b2d1bda8eaaabe96abe9b521e787364a5616fb8359f18ae23915c61727453c99ea11991b4870b SHA512 9eaed45aa84bb05a39298905394280b8187b88e6a25cbef7515167cc50b63faf5b473663001dcadadc9a628e0acd4f0edc6026927c31016cdd825d2a2b1c2e6a
69 +DIST firefox-91.6.1esr-ia.xpi 532142 BLAKE2B 8e61c08399d0c24314a85dd78cfc53cc7a0c44b0694b0e22a07156cf426463f2a2f7d5780e0b5effe2e9b899869dfa6382ec0e087b6eb7a9813fa1417bd4f6c4 SHA512 f51f3c481dcb32b5a324f03625639c0c06183493658edeaa9cda8341b5c435e8eb5aef915f1ccd13a6d904f31fb5e84f8b5b357bbca34387ef6a199f5ac25831
70 +DIST firefox-91.6.1esr-id.xpi 519833 BLAKE2B c4e9f748c3bb3c9cca0b3a0d60651af90800a94ffda54be2bd8fafdebb2e525fa1a6bebd1c59a7c25819ce1c8c3d09a97e0c3bd61369f1b607a70b36355f2c22 SHA512 73b6ed32bf79325a4b7dfd02d0750b7f7fba5f239e1a61953e98e8fe0125765d8554c6030eef84c9dcf8f85c6c8fc25d855fd8e53ed0ea0b9d06071f744a5475
71 +DIST firefox-91.6.1esr-is.xpi 470225 BLAKE2B 9b1007943a41d5a4f5e5266cb8a07c762a7d40826910a33e1123a9b954aa0f70b21b5f7b1e7e11790e2cc7ab6e55d214f1f00c5185b036845c42c0e4b35dd455 SHA512 a5929f2d78d091674e02e3c648b9c4fe97e9a64ce186fe456e71fec969ad1841f78f0b82ff3d2f712436cc4cbf734e60aeb975aadea11eeba4404234499893ab
72 +DIST firefox-91.6.1esr-it.xpi 459091 BLAKE2B 82c7b08e94ee780855efc5835e402a6d330f22caf418380014e0c13961ad599ba6f48d6e9eb05440c714befb3140a6956941e4f37a7a3ec535100f9c33f9fd3b SHA512 08c6e0820224ba2e064a8d878b939898bfa1ac63197cab8e6f495b93ac9aa97064009618420cea12926bf831fb879e44e59265a9375596a8534c0a3b9483c2fc
73 +DIST firefox-91.6.1esr-ja.xpi 588073 BLAKE2B 88ef6caeff385fb52c27876f26c5de04f936d0c7db138f65b37d65ca686d51e88da7c12fff5e06c6b5d0b0b767c6496fab07208fc6a5574508445cadd790ed21 SHA512 fabd20ce8791e597b51018dc72ade7a7a202e2a7c875dfd98ba4f1fc3d182de5174c263ae0a4de0f85d0401d2a4c2b23efc7ff36e70975be4a110d5315329f10
74 +DIST firefox-91.6.1esr-ka.xpi 592267 BLAKE2B fac7ce3934bd695353e198a1010789076ecabf11dc0ecfa6674a7faa8ed71548865faddb6a99830ccdfcd14f44e5a893b1e5554505d77f4e52499499a6ac5988 SHA512 f34755ec096b596edd807d15c823540c1ced5ea2c3def6afee37e94b63ce0f9365524d080a32ad5a9095b70e281ecebbb1df4e20335a30d4ba767529c6aa82d9
75 +DIST firefox-91.6.1esr-kab.xpi 545035 BLAKE2B 3938ced3e7824883672146fbcee32712a0bb5b7bf1a7b76e443060cd2239a221a51d3a9cc493cf127ef977348f2fb5bec8eb9b92e1c845b121a3e9356be11ddf SHA512 0aa25a877b5ce570e3f84201666dc9948e64628b9fbcd7fc68968590cc2fe8446006fcd0b3bf1d295a87cb66e657763b24d18117b1c12a17e5cc67c8bf9af655
76 +DIST firefox-91.6.1esr-kk.xpi 605553 BLAKE2B f989c9636ae028c6d9dc5254c1023421adbc0880cf3d3f3a02dc38a192b6938aa39cf68fc813237d62ea270aacec38e9b05cde0ee925c4e00d7894cae8c0afb3 SHA512 3c624dbf45680f4f14feaeb065543fdab1778e868b7ecfac225e9ffd52af75d6227c84e4c2a335a741843e2e26de2c8ed79b8d20a65701746f82bc027ab0f854
77 +DIST firefox-91.6.1esr-km.xpi 533105 BLAKE2B 99e8587f865a2665a954067c61d7d40ce89fcc980257a003d21662e72c770f55c8f5fa5754189dae0047971b8fd7fe64913288cd2dc775a5c8b0f041e8b21c5e SHA512 eed68962fff23181db19cea83266065e7053df171959ab531248148dd1636ec5807f4c785c3a189f221a30944026f331b342b9800aad895f4232cb20adac6444
78 +DIST firefox-91.6.1esr-kn.xpi 498967 BLAKE2B 69eec1d79dadddec5e73d6920e6cf7efc0625a7c090f20dc678715f4d099c94ed3726351e290a6adf1dfdaa3a0d3db6cb7fcef26c3c0a137dad2832a6fa0285b SHA512 941dfa38426f0d2ff3f72ed19870ebb61a8e49b45f637966f1b444559d90446c7fce1646f971f247aee01239b4109f8f1512bc534267394899d89a9bb87b3995
79 +DIST firefox-91.6.1esr-ko.xpi 579064 BLAKE2B f6ed696f04b44262784e0f4289190240826c7a62d4cc4e87fcd8a563da9903530c637536095cfdbc7f9a302e1e95bf5397e54813c14b15d6d03a126a02ffa719 SHA512 c30aa19b8fa582f918fc1b23b4768825fb523e6c55ff47880fe64822f14d4e8caed2d298272595a4956143361bc0573bc9a39c4677b498bff9f2be306a0ebce2
80 +DIST firefox-91.6.1esr-lij.xpi 470173 BLAKE2B 37dfe1916f0dcb70bb21c115a73c723dfcf7d64df23fe2dff4f2a889292299712e3ab3c79ff8d691ec050074bc94bc6a5fd1f914120a646cfec255b83543e2d3 SHA512 62f22426b29889f924006b6a376ee61ba96ff7d40007a557455ea8cd1de1773ca75867f04eb1bc21e9a4e92883c9b30077ee12995813d8c281060f1793a94fbf
81 +DIST firefox-91.6.1esr-lt.xpi 560109 BLAKE2B 336848d007d41e88c96e1a3228af4a4052e05d7f296abd6d5a020c9899a21899c18e21d0b504f6df57d1ee6aef141f335d7498214c4e44d4f5419c81ea275df0 SHA512 bf94f4109d769267cfcd69eb206032f3593e894fe606ef9b892cfecf2b83cc2c63a026ed1a8563def95a80e27ed79d295a7863a5651f0abb1145fa45afdee943
82 +DIST firefox-91.6.1esr-lv.xpi 462456 BLAKE2B ee831c08330aa26892bb5801249c13d86565ef6cfe30470586f93cb58aaf191c3b4fb087d451ef9771f2f4f04fcdf73dc99e0c28da92236de9034c145d4477f9 SHA512 e4ff087c582e447c28a84733fadf4377ab4d201e8824de3405de0c207f37944d24fafac154a1cd782bdb1e618f18a76c693809f346a11be60a6e0b03895eff47
83 +DIST firefox-91.6.1esr-mk.xpi 465340 BLAKE2B fc1148cd387fc574988cc042c3595bbcf320d3c2dfc022e836e1a87f863b35166de6b0b02f3cedf04c9154068d84f5359055beec93bb44593316e5a8487049f7 SHA512 ad6524b7704e3b86bafe306daf8b49f0ffd8c1e2bd0defff517e48ed6c9a7e7ac1512eb372347ae5c8ad9408bcc03b809248cc0796d664aebebec29823072512
84 +DIST firefox-91.6.1esr-mr.xpi 532126 BLAKE2B 41d176a05bafeb7efa34e00f1d17207435a3f5ba96edd8db2d77a32ac7fc7970f736609e319cbeb3af6ebe003f8b21ef8f3217a5e3caee29da087a0fd30bba78 SHA512 c2ee3702f2ff402dc89845baa9380b23484e548580efa5d3c8397fc4d058cc4078027f01a2321b8ed49fcd67432e0ee4f630d75168b188de4bf6575d30d3e991
85 +DIST firefox-91.6.1esr-ms.xpi 447343 BLAKE2B 37724c2dda3e64210f686fcf371c2f02bba436345b28292ff548913f73309dc25eb126895f5ccb8c27df5bfa14f56908309566fde880eea4014452376b0b0a0f SHA512 83c0c7447cb82f68fb9b552f592a5e684c93aec3df17aff7d6426ca38e2d583ffa85750697fec51c068dc9acdb6ff1aa078fd78c48fbd573c4d8d49b23f46203
86 +DIST firefox-91.6.1esr-my.xpi 516294 BLAKE2B 65714009c3e9d1f20ab4561dcd7d1bfb2e63b8fb7e790d2b7e37c95d69df4b1c453cf86872d5e2dfacd8d4dca21e46b5c90b6e537b313fcbbd9b9182164684d9 SHA512 015022eb1a1b8685f6e2b4df73c5b74d61dacfc8e6e2bf33224b74dc18a64ce774a1addaca7c8ce5ffea29c5c653b5fbb562d069f8ca9d41625403b069556828
87 +DIST firefox-91.6.1esr-nb-NO.xpi 529423 BLAKE2B 275ecb2f2c412d2408d32b7bd04678eac1540599784b2351b66ab6d34f4fd39fab45f1e910c8f4b7434bbed1dba798515d8d621c3db60263572bdfd46ba8e9d1 SHA512 346bda36d961de75d5bc03744c985fbc20bdc3dd90ed0029d9dde95d75c159b1430967c7077ff656084593159598c5cda538e9fc018a77d9d811561dfb2dc606
88 +DIST firefox-91.6.1esr-ne-NP.xpi 485205 BLAKE2B c6ff18a91f62ca741ac505ae75efced7b74c9138d2ff001ff4499fc3dce9b94c13cf8cbae8e4f58141430a0b5bd7ef357e86e2638df9e6a7528cc9a072309646 SHA512 f0b83a82b79ee655ccea992b94b8faba96b19c2dc9b905b2c7094a9a25c29747dc54557fd33320a67db488fd7125f5c14de2f02d7814e69f9c610338e48b6411
89 +DIST firefox-91.6.1esr-nl.xpi 537394 BLAKE2B a853a289634d5b698316161d3f4c04b63912d4cc8efd4998205454c54f968f38b314320fde291a1db2b150ae68d2c65e878829a6c750c1f7fc60f67f575fc705 SHA512 ba48762c537c9dd1c5a7ab44cdd67fd8dfdd823533f9e82d6884f24d09ad8880f0a0e75e232bd64a0634bfcc5b5ed4fe41e233e8bad82f181c9ff5c98e5ae2dd
90 +DIST firefox-91.6.1esr-nn-NO.xpi 531679 BLAKE2B 80e3f2ea651aff765506a9ba6ded2f50e18c35846cc88a0e52e617aa9b2fda15aa22d06b7fc09f817fda1bcb02b9a12d7d5926737ca1944b8b99f480ea0cc45e SHA512 b830b26fcf90d9241d0b09625756f92022f8d9b9cef2c42b0650682578a0da6860f78ade2ba953772eb62f9d77ae1298986e8c9afbcaebb987ab325131a11457
91 +DIST firefox-91.6.1esr-oc.xpi 552948 BLAKE2B 9981d6eb295518b05d0f927f705208ef6db86dab886d49759abfcc41fe148d4e0fd1c4098409df32ef4055cc339a23800004c9b43c9486843afae19fac40010b SHA512 9b51a3353f8e5ba7f6e94eadc947d5c1ab98f63715b84e3172378d834d018757ac417f6d5ac61758a5425a6995ac51f4ef12da1a814c3e22e637434583015413
92 +DIST firefox-91.6.1esr-pa-IN.xpi 595976 BLAKE2B d12dd271676281d67b86a0688365b78c59c05cf402937241acd0e2fbed65078c0943aed4e406ede052b1b0b665aabde3e0fce9f553e88143cf4908f5c7adbad0 SHA512 7d5a390534bd12588f6528fc6eafc04ef5bab16161fa627a5c47e5414f7f89edd3149f1be82aa505f49115e0c3fa9c8ed560c3f85f1a83673b19516c640c98e2
93 +DIST firefox-91.6.1esr-pl.xpi 555620 BLAKE2B 6fccb6c27dd0ba53ee20176aded36ecd27f5ecac4ffcfdd0e93d533ef471f2ad48bfa573ff5f1be92f890465dbe6cc5b25ba62643900058fe394871bb499f459 SHA512 996d03e555bb96a7d89aa8c66ac672024ae654a085ab67d41fe5da297562f03ce686849a05ed68ea9aa3a272c5cb96881aecedee2581f2d1d5820c708d91ae1e
94 +DIST firefox-91.6.1esr-pt-BR.xpi 542621 BLAKE2B c7e8cc7d56a3248eb255ab1ceb486ae696cddd2b0926537f48af44d45509e3b4502612b0941feb10fccee65a49641bb059af44d82bee9fe967526e3b3ec095d0 SHA512 9918a578d988acf970d48d33fc97a14ea312ffbc96b57838c11a41d968dcb779b660a9008fd35f50d0bcdaaa9c51b0afdf029cfa2205ff90d2814691d7a0a240
95 +DIST firefox-91.6.1esr-pt-PT.xpi 546345 BLAKE2B 98c12c979ec946d397552d88cb14e390ca4317c4b0a738d935acce194b42a86d69b114f323bc4efd7d78c3c510eaec7db01fc879a1553ae946bddaff1481940f SHA512 2ef933c3c330fb7db3055461be761d046643b6ed074b37dc3af5d93271c5ff0ce48ce5e8bbf9d4edd01b51e164af1f87893ab62fb17062d5ff39b3beea45b385
96 +DIST firefox-91.6.1esr-rm.xpi 537376 BLAKE2B f6392d292307b5f537196aa7911829d731bcf46257a4f878a722ab60db8e5cc809d8d27a02a5f729fa2df76f764c1069e221aaac6e3ed0ab6436f272bb405552 SHA512 3b2ae68cd748896ae584f0d4ce336f2625d409afddbf837feb7cc369c5fabf2c22030a495d652f5491ffc350658133762c43b527f97c0b6aca45890478f2e8ce
97 +DIST firefox-91.6.1esr-ro.xpi 529334 BLAKE2B f0f57ea4101347b61368c8b474b332e957fefe1b03ac50ad89256d2db03e74cd2541c3b17b5b94b9668ea0b61353167c452a801b19393a006f2f9ba5821c6fcb SHA512 ac59363785bcf53f8a5e7bd8ac67df2e718a5fac873695f7a7498fc650dbfc396471bf72437cf47d8f54fc8ef33123997c538300446604ee787dd1f2f1face49
98 +DIST firefox-91.6.1esr-ru.xpi 627112 BLAKE2B 3b5f7fe2fe954e5b78a6f83cdb44cbc9a5d1677ae9b8ec1b58be459cc0f8f3a0db553d3bd1723ec72c70726fdb543c1582864d67866edf9e2a3a9e84666ae051 SHA512 7b4e107d55b44899e6aadaadc2b4cbcf1835f29be4f5e6b26d854688c2ba6936bd7b803a61788383f6f0c546a6a2fd3de0dbb99de75d86775d7e87ad23e81eb2
99 +DIST firefox-91.6.1esr-sco.xpi 504855 BLAKE2B 1e739179486e85924e314427c3e2bf0dac44b9b22efe243d8a46580deae4e68fde9d118e0c6a2e88cafa47e216fbbe50b4dd0ae1d9e28841edebb459779506ed SHA512 bbec17da0cd86dd3d186e8dfc7f55a36ac949b6e8cd1f145ae5f767455aa98211ae6710de0243c1f85cfb9bf6d1477bdb5b56907be91ec5e51a4039ef2b09acd
100 +DIST firefox-91.6.1esr-si.xpi 487956 BLAKE2B 9b12c019f05dd2970a898eea3acbf9c59c4f4c2c78cd099da148ccc1d2522422f56bed902874dcad3eda4df431bbf59ccb78a615af551864c38518532877196b SHA512 9d2182e5522f0be260cea0afde8c5c8587dade0d44485496f33822ecbd943158c623f053e97969ca8cd429070e5302eed9484fe62c8ab8e6d26081cc6a0663f2
101 +DIST firefox-91.6.1esr-sk.xpi 566486 BLAKE2B 4b3281382edd9917f08d9601e5d841aa1ad0366ae87add699b3fe2c32c862f292244b694caf9805e6f236cc1f84252f5545c799a763d3216b9296babb1fc06d0 SHA512 d1dcfdd0b88050a8d79a46ff07ddb16696fb7e5727bcbdea8aa281fbe3c81cccdd7efce7f6a1b7e84a455c005a4bb459c4cae233ea669ee6c61f88eb857c117e
102 +DIST firefox-91.6.1esr-sl.xpi 538008 BLAKE2B dcac47faa7ddc41c7fb454c74d04954c57ed64071b5bb46407e8ae77b7546d0ad9d6d1f00a95a70af8a5915c08df48f501bd94fd22cf9b3ad0d752c3032e62be SHA512 4b653190e238a26f3083f2d7241deaf315009effcf57527a0bad513af1143a8df45c1e4e5f9a45980e595539c838206a8f1cdc71a884d3cfc82e7fcb459131d1
103 +DIST firefox-91.6.1esr-son.xpi 425994 BLAKE2B dd161506f3ce795ad162b812d2ef137f82385083497f23ba8c1d348f7254676e3262527209f6ff5885b7107fe5212c22fc7b93af6a3c55d9cad2c56755f6e474 SHA512 027a12311a9a61e0b5d6a77dbdf4d091513e8f35876d02a41561d145f3ba2bbbdf8b6c238a2242d8f61d27b22973573a6e56bb843d9b2d3d16b23f0ed077e90d
104 +DIST firefox-91.6.1esr-sq.xpi 556001 BLAKE2B 6030c2593d79051880b6e2b1cc5e8370cf7abbb4fe362548d66310b90bf53933f4034e7e379e92767e3d4d305f7e61aab52df466346d3dee60e28d79c5087ecd SHA512 641fd02b9cef710df2f125342449807e77c309b9ec67ade83bf36359b4a9e94289ad77c6821e23a1d7537fac12c91002afd7de34b9ea642f7d7c817f4f6266cd
105 +DIST firefox-91.6.1esr-sr.xpi 586076 BLAKE2B 01b88398f27ececff9c854f17154a7fa0d3344d23e48bba1b05afda28d14be89141b5525a808b64b3cc42b488f237ace7bcf78a727c26413ffd829ba1eca3b77 SHA512 1ec9c645c83c3e5c970b061d2016a06462ff36bb059e24f8963ac102dfa8d04ff572c1693915c30a94a487793d96ac5cc8529dec1eb717b11782a1950148929b
106 +DIST firefox-91.6.1esr-sv-SE.xpi 539961 BLAKE2B 5dcb92d0079587270100f17ab978a71f3dd759325fedf04f46200b3c176101092cb57aa8c1661cd97c9457fac814befdf7bcf3657f30297fb40622f9a0863a98 SHA512 e1d9a103d16d779f9800a6299e3b6d3ebf640c67877c5597660e2ee09d7fe8e790688e35708aa1bf2b002d4d26b9ad900d75f2893eb0287679a3c9ed3bfc7dd0
107 +DIST firefox-91.6.1esr-szl.xpi 509811 BLAKE2B f400e5f07d0cf63a2e6a9cc603b7fedd098291b9785d455a46bc4d0f25ae161c16f83d3e96dec51eb0caca591439521c58d5437db1cad37542dcafe469300d1d SHA512 707f04814751e471a4c52045804ae0d51121506cc8ee305d9a0eb9be9ce005f5c9d44c6da78cc7323d8ea5547b826413b2f6502ddd9eab869bc5dc505389a3c1
108 +DIST firefox-91.6.1esr-ta.xpi 513808 BLAKE2B 7dcd7193b5a33d46996fdedcc150b5a6d0a6c006b39610770f0f43cddeb323533ef9e9f92dba8335e031d49da7b080965793522ef0b64375361356576177e4ba SHA512 8bc30554ca5986152ef3bd5f25d783124c12b4f302cccbbace032211cde2fd279d3faefa5b726f6c2057f61522607fde42cc218a91fcee6786e7c12f0586e57c
109 +DIST firefox-91.6.1esr-te.xpi 549960 BLAKE2B 57f54ba1dc8c9e95b0a9489810674be0791cb2b828ef40df35be9ce92233525580580d2227e1e8db6511dae3ec6a0cf04dd40075cd29cd7bbf08edcf1500011c SHA512 ae9ff7026f5b5c4aadb4313069a0d14d9baff0ee4ea3062be5a0f3f87cc457f4537ea86e4b2ed9771a86787da14d4b710ca4491c1c6cd7c1dbcdfd6eab757490
110 +DIST firefox-91.6.1esr-th.xpi 607074 BLAKE2B b5a97687b23dbd3c70bf51afff7baa31313984895d4f3a828890f55438e1b93f66588b46e2f4b9265ae35a73380728e9754877a62d848d3426cd6fc43b475cd3 SHA512 c6229b7169e2fbc401ec4e30ae5ea85d176da3215ce8a0027da57f13b23d06063bd866c16abdc408b4ac2e91d8200f186c1b4137e466b4e9db706d6aac0c98fc
111 +DIST firefox-91.6.1esr-tl.xpi 516120 BLAKE2B 7b5ef80cc4c49a70b3d2b0cfce412c2459c4da9a64a4e593297a222e4cb30fb3f7b9df789126c4c2f2c8edfd1a48978d603b232d1f55505fdd01d2235dd7e4a8 SHA512 9bb4884537c9d05491546c5634580d936aa56a326f16c8c270b9b4b1dc3b4f9d2928b66666e447e1b9af46a3f368fa59e388a56d4fa690e2ad60feb40364eda9
112 +DIST firefox-91.6.1esr-tr.xpi 553671 BLAKE2B 4f36435d01c24809d998441817f532d47e778bb6874248a0944e15baf26f9a246a5291d770d0228b9e018f318ebec7ea694daee8bbfaf61408fa38c69e468426 SHA512 7014aba9c9b1d2a99e3388a966ab205499fd5809fed134ee6d47d51c932aa66b66f1f1ffb872291867081490c360679f38957adc9b0551d22be95c93e7228d41
113 +DIST firefox-91.6.1esr-trs.xpi 491079 BLAKE2B 4531d6d61bd5a60f73c500e9341704f310fc09805eab0c4071dfed467d178c6826c52db1313841e4b2992eb82a0554a26e10092efe6727fb4a139098246cfb97 SHA512 bf1d855304659ccb46c421d2d5e840aec4d551821dbd4d87c980cdc4e10a7a55b214ad53b825bb85eb8b5cc531dc80b81c3226a55a7632f2c43887c2ef73af71
114 +DIST firefox-91.6.1esr-uk.xpi 620494 BLAKE2B 66c097fac0b84997241d783ce144b2973999a2ce0a21eec01b01a6278045e2a42eb4831e664f7d94c0a6992a5e19b2b6b27cabbf5a84e4fa769f8f514f2c5683 SHA512 8baaa3b74c058903d005d53860fc6c93c119864c3110f6bf440e12960775a0343619e3631be2a8a78536849eec5a877ae5953d68cb18883ae8129cf98f121529
115 +DIST firefox-91.6.1esr-ur.xpi 557304 BLAKE2B d6105cd00d5202eddd7abde1550b7d8123e69a428fcc8617c26073ac26a20289ba8ea60680fc59c86b15f5d0b95320e89dd9a5e9bf1273d9c6d630fdfd7f48e9 SHA512 da867a66bc9a77b67f33200a49706ee802a993435676bfc0eefe08086b0dc398362a38190b98d7123598c8c1c2429751eb5ba54bba80365e9ef5ae39e2d205f0
116 +DIST firefox-91.6.1esr-uz.xpi 466864 BLAKE2B cf2602efd094058a0defd6eda5348b99a17ffe2c75890d73974fc70b9a8bc606974cb80e9c854cc5ef318115a79c996dd9784ff81e98b40a5a6794cc5fc775fa SHA512 afd1d5edeb843d4c116acacc4969241b0b99fee3a17beba56c54127f179a59d665652bd4b90e6b700e296965b8895395e5353516fd0ce3dc213ec3f0bf31381b
117 +DIST firefox-91.6.1esr-vi.xpi 573482 BLAKE2B 3865dc00dcbf8c463fcb769304e0dbd4edb4a3ca5832ec48f7a370f2a65daf6787ea91f60e45779c78061d6e732ee859cc7511eea983b0749dd159429758360c SHA512 02b31f1b1c0315525aa7038e47672b633d6caaf168bdf7c59aa50841052a27955f3bb4a0560ab43b61f0aeb7f0ee39f2d078d926e52c93eb9e894226970b6b07
118 +DIST firefox-91.6.1esr-xh.xpi 428172 BLAKE2B 7eab4443fc766bda5891a8e422417a7ca77df32ce9ab5b4c11de26ed27cd8a5bc31392ed793c1ae06ac5a8aa8f9100094361f6610c231eedbc7ac9347582e974 SHA512 d4957e0012e35c0cb61c5d9aec254123e9b3f6a4fdb41c3a8939abd51b4dafc93cb51ab988758430fbca3fde6ec616de113d07cd0911962bb989188568d4098b
119 +DIST firefox-91.6.1esr-zh-CN.xpi 575372 BLAKE2B 1d4785b546084f2eb7540d5d9496414d0b639483a18cb55db515ca5ce3523fea7f16230fa36a049b73bd67fb91010579e3f8f8fab64c337c25770bb433bea031 SHA512 4625336530f19f800aebbd5b957beeee4620a16b33aa7e8e197a65d71376484ebede0bd147920281fc81c004359b89ef395ce3620659e8f89f02e049aed1b49a
120 +DIST firefox-91.6.1esr-zh-TW.xpi 576227 BLAKE2B aa72e97cd81e9bf930719999d6ec17c9708d3acb840882a9eb465ed6301b124c9ce86013a3b2d21aa872f07ba22380cf2486f8cd7ea6cdf04f644e29632abcba SHA512 f9822c1c3285f7fdf4f8f5a0f343cdf731d7773884265646d7e01a8c1f23cb2b7bbd29fe55ec89d050da0aaf2e0f02cae50007d9f9691da32566e2f5ab9970ae
121 +DIST firefox-91.6.1esr.source.tar.xz 383294340 BLAKE2B 7ec034839a633b1309bf226e72dab69c4979982ab3babac287eec23b20b211f708b732becaae27d83ca4e801592b37f0117180fcdcf17d64d388edb5e8c8eed2 SHA512 e72ff7114e251ec3558f47bb45e4017fe4c665a95e0a108d5818c628b3de44c92f57cfb3dd9f5a25b7abad889be228f89dda838bc20fc9617c90655694184ed5
122 DIST firefox-91esr-patches-05j.tar.xz 17116 BLAKE2B 5db6d2d3d5432369d2cfcda1a2b542d70ac18c1af7013d91984054c9658d7e3f989527c3a248de53f2e8dc51a852a46477f9ad75e98db28f50f8609fcafe547c SHA512 42080a8e28014d5f8de7ff45e0128ab71747faad7a92f0f7094686125835c168751794bd0229f77290f075502c271af0171ffae2863325d10cc6e8a853a90d3e
123 DIST firefox-97-patches-03j.tar.xz 17340 BLAKE2B d1c9ff486510cfebc0cad708657203e3bdf9007e150af603a4625b29421f983ca1f3b1c6468d07fb7f1ebb967f4bd03ba6fa545a5ca420e957480a0b27c04632 SHA512 f4d9f95d7b88efd1b3f19957c7a1b1f971ce0f25fdd461cda701a4d8adf6d1733eaf055624342b79531f84ebc46c9c4edd4f0f23204b7fae9cdd6f9708c6ba41
124 DIST firefox-97.0.1-ach.xpi 453069 BLAKE2B 706b5e7dbe8ae9c1511922c54f8ae229a795208f0e35d456fa4b91f5d23308200dde3494c5d9f563da819d6e63c078b1b77c0c3d940c48dc29eaa76ae97e7db2 SHA512 486b5101982bb652b21f2f6a3e7c7df86e9c30caf002f5ac249eb3ac84b3aac49dd05b4a1420b3e2acda5fa3a96fdf4bf4717ba7d8463365f34136de20d0bc07
125
126 diff --git a/www-client/firefox/firefox-91.6.1.ebuild b/www-client/firefox/firefox-91.6.1.ebuild
127 new file mode 100644
128 index 000000000000..3f52fa98446d
129 --- /dev/null
130 +++ b/www-client/firefox/firefox-91.6.1.ebuild
131 @@ -0,0 +1,1230 @@
132 +# Copyright 1999-2022 Gentoo Authors
133 +# Distributed under the terms of the GNU General Public License v2
134 +
135 +EAPI="7"
136 +
137 +FIREFOX_PATCHSET="firefox-91esr-patches-05j.tar.xz"
138 +
139 +LLVM_MAX_SLOT=13
140 +
141 +PYTHON_COMPAT=( python3_{8..10} )
142 +PYTHON_REQ_USE="ncurses,sqlite,ssl"
143 +
144 +WANT_AUTOCONF="2.1"
145 +
146 +VIRTUALX_REQUIRED="pgo"
147 +
148 +MOZ_ESR=yes
149 +
150 +MOZ_PV=${PV}
151 +MOZ_PV_SUFFIX=
152 +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
153 + MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
154 +
155 + # Convert the ebuild version to the upstream Mozilla version
156 + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
157 + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
158 + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
159 +fi
160 +
161 +if [[ -n ${MOZ_ESR} ]] ; then
162 + # ESR releases have slightly different version numbers
163 + MOZ_PV="${MOZ_PV}esr"
164 +fi
165 +
166 +MOZ_PN="${PN%-bin}"
167 +MOZ_P="${MOZ_PN}-${MOZ_PV}"
168 +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
169 +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
170 +
171 +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
172 + llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
173 + virtualx xdg
174 +
175 +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
176 +
177 +if [[ ${PV} == *_rc* ]] ; then
178 + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
179 +fi
180 +
181 +PATCH_URIS=(
182 + https://dev.gentoo.org/~{juippis,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
183 +)
184 +
185 +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
186 + ${PATCH_URIS[@]}"
187 +
188 +DESCRIPTION="Firefox Web Browser"
189 +HOMEPAGE="https://www.mozilla.com/firefox"
190 +
191 +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
192 +
193 +SLOT="esr"
194 +LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
195 +
196 +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
197 +IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux"
198 +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png +system-webp"
199 +IUSE+=" wayland wifi"
200 +
201 +# Firefox-only IUSE
202 +IUSE+=" geckodriver"
203 +IUSE+=" +gmp-autoupdate"
204 +IUSE+=" screencast"
205 +
206 +REQUIRED_USE="debug? ( !system-av1 )
207 + pgo? ( lto )
208 + wifi? ( dbus )"
209 +
210 +# Firefox-only REQUIRED_USE flags
211 +REQUIRED_USE+=" screencast? ( wayland )"
212 +
213 +BDEPEND="${PYTHON_DEPS}
214 + app-arch/unzip
215 + app-arch/zip
216 + >=dev-util/cbindgen-0.19.0
217 + >=net-libs/nodejs-10.23.1
218 + virtual/pkgconfig
219 + >=virtual/rust-1.51.0
220 + || (
221 + (
222 + sys-devel/clang:13
223 + sys-devel/llvm:13
224 + clang? (
225 + =sys-devel/lld-13*
226 + pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
227 + )
228 + )
229 + (
230 + sys-devel/clang:12
231 + sys-devel/llvm:12
232 + clang? (
233 + =sys-devel/lld-12*
234 + pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
235 + )
236 + )
237 + (
238 + sys-devel/clang:11
239 + sys-devel/llvm:11
240 + clang? (
241 + =sys-devel/lld-11*
242 + pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
243 + )
244 + )
245 + )
246 + amd64? ( >=dev-lang/nasm-2.13 )
247 + x86? ( >=dev-lang/nasm-2.13 )"
248 +
249 +COMMON_DEPEND="
250 + >=dev-libs/nss-3.68
251 + >=dev-libs/nspr-4.32
252 + dev-libs/atk
253 + dev-libs/expat
254 + >=x11-libs/cairo-1.10[X]
255 + >=x11-libs/gtk+-3.4.0:3[X]
256 + x11-libs/gdk-pixbuf
257 + >=x11-libs/pango-1.22.0
258 + >=media-libs/mesa-10.2:*
259 + media-libs/fontconfig
260 + >=media-libs/freetype-2.4.10
261 + kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
262 + virtual/freedesktop-icon-theme
263 + >=x11-libs/pixman-0.19.2
264 + >=dev-libs/glib-2.26:2
265 + >=sys-libs/zlib-1.2.3
266 + >=dev-libs/libffi-3.0.10:=
267 + media-video/ffmpeg
268 + x11-libs/libX11
269 + x11-libs/libxcb
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:= )
281 + system-av1? (
282 + >=media-libs/dav1d-0.8.1:=
283 + >=media-libs/libaom-1.0.0:=
284 + )
285 + system-harfbuzz? (
286 + >=media-libs/harfbuzz-2.8.1:0=
287 + >=media-gfx/graphite2-1.3.13
288 + )
289 + system-icu? ( >=dev-libs/icu-69.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-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
294 + system-webp? ( >=media-libs/libwebp-1.1.0:0= )
295 + wifi? (
296 + kernel_linux? (
297 + sys-apps/dbus
298 + dev-libs/dbus-glib
299 + net-misc/networkmanager
300 + )
301 + )
302 + jack? ( virtual/jack )
303 + selinux? ( sec-policy/selinux-mozilla )
304 + sndio? ( media-sound/sndio )"
305 +
306 +RDEPEND="${COMMON_DEPEND}
307 + !www-client/firefox:0
308 + !www-client/firefox:rapid
309 + jack? ( virtual/jack )
310 + openh264? ( media-libs/openh264:*[plugin] )
311 + pulseaudio? (
312 + || (
313 + media-sound/pulseaudio
314 + >=media-sound/apulse-0.1.12-r4
315 + )
316 + )
317 + selinux? ( sec-policy/selinux-mozilla )"
318 +
319 +DEPEND="${COMMON_DEPEND}
320 + x11-libs/libICE
321 + x11-libs/libSM
322 + pulseaudio? (
323 + || (
324 + media-sound/pulseaudio
325 + >=media-sound/apulse-0.1.12-r4[sdk]
326 + )
327 + )
328 + wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
329 + amd64? ( virtual/opengl )
330 + x86? ( virtual/opengl )"
331 +
332 +S="${WORKDIR}/${PN}-${PV%_*}"
333 +
334 +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
335 +# overridden in the enviromnent (advanced hackers only)
336 +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
337 + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
338 +fi
339 +
340 +llvm_check_deps() {
341 + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
342 + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
343 + return 1
344 + fi
345 +
346 + if use clang ; then
347 + if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
348 + einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
349 + return 1
350 + fi
351 +
352 + if use pgo ; then
353 + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
354 + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
355 + return 1
356 + fi
357 + fi
358 + fi
359 +
360 + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
361 +}
362 +
363 +MOZ_LANGS=(
364 + af ar ast be bg br ca cak cs cy da de dsb
365 + el en-CA en-GB en-US es-AR es-ES et eu
366 + fi fr fy-NL ga-IE gd gl he hr hsb hu
367 + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
368 + pa-IN pl pt-BR pt-PT rm ro ru
369 + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
370 +)
371 +
372 +# Firefox-only LANGS
373 +MOZ_LANGS+=( ach )
374 +MOZ_LANGS+=( an )
375 +MOZ_LANGS+=( az )
376 +MOZ_LANGS+=( bn )
377 +MOZ_LANGS+=( bs )
378 +MOZ_LANGS+=( ca-valencia )
379 +MOZ_LANGS+=( eo )
380 +MOZ_LANGS+=( es-CL )
381 +MOZ_LANGS+=( es-MX )
382 +MOZ_LANGS+=( fa )
383 +MOZ_LANGS+=( ff )
384 +MOZ_LANGS+=( gn )
385 +MOZ_LANGS+=( gu-IN )
386 +MOZ_LANGS+=( hi-IN )
387 +MOZ_LANGS+=( hy-AM )
388 +MOZ_LANGS+=( ia )
389 +MOZ_LANGS+=( km )
390 +MOZ_LANGS+=( kn )
391 +MOZ_LANGS+=( lij )
392 +MOZ_LANGS+=( mk )
393 +MOZ_LANGS+=( mr )
394 +MOZ_LANGS+=( my )
395 +MOZ_LANGS+=( ne-NP )
396 +MOZ_LANGS+=( oc )
397 +MOZ_LANGS+=( sco )
398 +MOZ_LANGS+=( si )
399 +MOZ_LANGS+=( son )
400 +MOZ_LANGS+=( szl )
401 +MOZ_LANGS+=( ta )
402 +MOZ_LANGS+=( te )
403 +MOZ_LANGS+=( tl )
404 +MOZ_LANGS+=( trs )
405 +MOZ_LANGS+=( ur )
406 +MOZ_LANGS+=( xh )
407 +
408 +mozilla_set_globals() {
409 + # https://bugs.gentoo.org/587334
410 + local MOZ_TOO_REGIONALIZED_FOR_L10N=(
411 + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
412 + )
413 +
414 + local lang xflag
415 + for lang in "${MOZ_LANGS[@]}" ; do
416 + # en and en_US are handled internally
417 + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
418 + continue
419 + fi
420 +
421 + # strip region subtag if $lang is in the list
422 + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
423 + xflag=${lang%%-*}
424 + else
425 + xflag=${lang}
426 + fi
427 +
428 + SRC_URI+=" l10n_${xflag/[_@]/-}? ("
429 + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
430 + SRC_URI+=" )"
431 + IUSE+=" l10n_${xflag/[_@]/-}"
432 + done
433 +}
434 +mozilla_set_globals
435 +
436 +moz_clear_vendor_checksums() {
437 + debug-print-function ${FUNCNAME} "$@"
438 +
439 + if [[ ${#} -ne 1 ]] ; then
440 + die "${FUNCNAME} requires exact one argument"
441 + fi
442 +
443 + einfo "Clearing cargo checksums for ${1} ..."
444 +
445 + sed -i \
446 + -e 's/\("files":{\)[^}]*/\1/' \
447 + "${S}"/third_party/rust/${1}/.cargo-checksum.json \
448 + || die
449 +}
450 +
451 +moz_install_xpi() {
452 + debug-print-function ${FUNCNAME} "$@"
453 +
454 + if [[ ${#} -lt 2 ]] ; then
455 + die "${FUNCNAME} requires at least two arguments"
456 + fi
457 +
458 + local DESTDIR=${1}
459 + shift
460 +
461 + insinto "${DESTDIR}"
462 +
463 + local emid xpi_file xpi_tmp_dir
464 + for xpi_file in "${@}" ; do
465 + emid=
466 + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
467 +
468 + # Unpack XPI
469 + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
470 +
471 + # Determine extension ID
472 + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
473 + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
474 + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
475 + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
476 + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
477 + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
478 + else
479 + die "failed to determine extension id"
480 + fi
481 +
482 + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
483 + newins "${xpi_file}" "${emid}.xpi"
484 + done
485 +}
486 +
487 +mozconfig_add_options_ac() {
488 + debug-print-function ${FUNCNAME} "$@"
489 +
490 + if [[ ${#} -lt 2 ]] ; then
491 + die "${FUNCNAME} requires at least two arguments"
492 + fi
493 +
494 + local reason=${1}
495 + shift
496 +
497 + local option
498 + for option in ${@} ; do
499 + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
500 + done
501 +}
502 +
503 +mozconfig_add_options_mk() {
504 + debug-print-function ${FUNCNAME} "$@"
505 +
506 + if [[ ${#} -lt 2 ]] ; then
507 + die "${FUNCNAME} requires at least two arguments"
508 + fi
509 +
510 + local reason=${1}
511 + shift
512 +
513 + local option
514 + for option in ${@} ; do
515 + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
516 + done
517 +}
518 +
519 +mozconfig_use_enable() {
520 + debug-print-function ${FUNCNAME} "$@"
521 +
522 + if [[ ${#} -lt 1 ]] ; then
523 + die "${FUNCNAME} requires at least one arguments"
524 + fi
525 +
526 + local flag=$(use_enable "${@}")
527 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
528 +}
529 +
530 +mozconfig_use_with() {
531 + debug-print-function ${FUNCNAME} "$@"
532 +
533 + if [[ ${#} -lt 1 ]] ; then
534 + die "${FUNCNAME} requires at least one arguments"
535 + fi
536 +
537 + local flag=$(use_with "${@}")
538 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
539 +}
540 +
541 +pkg_pretend() {
542 + if [[ ${MERGE_TYPE} != binary ]] ; then
543 + if use pgo ; then
544 + if ! has usersandbox $FEATURES ; then
545 + die "You must enable usersandbox as X server can not run as root!"
546 + fi
547 + fi
548 +
549 + # Ensure we have enough disk space to compile
550 + if use pgo || use lto || use debug ; then
551 + CHECKREQS_DISK_BUILD="13500M"
552 + else
553 + CHECKREQS_DISK_BUILD="6400M"
554 + fi
555 +
556 + check-reqs_pkg_pretend
557 + fi
558 +}
559 +
560 +pkg_setup() {
561 + if [[ ${MERGE_TYPE} != binary ]] ; then
562 + if use pgo ; then
563 + if ! has userpriv ${FEATURES} ; then
564 + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
565 + fi
566 + fi
567 +
568 + # Ensure we have enough disk space to compile
569 + if use pgo || use lto || use debug ; then
570 + CHECKREQS_DISK_BUILD="13500M"
571 + else
572 + CHECKREQS_DISK_BUILD="6400M"
573 + fi
574 +
575 + check-reqs_pkg_setup
576 +
577 + llvm_pkg_setup
578 +
579 + if use clang && use lto ; then
580 + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
581 + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
582 + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
583 +
584 + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
585 + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
586 + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
587 +
588 + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
589 + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
590 + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
591 + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
592 + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
593 + eerror " - Build ${CATEGORY}/${PN} without USE=lto"
594 + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
595 + fi
596 + fi
597 +
598 + if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
599 + && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
600 + # bug 792705
601 + eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
602 + die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
603 + fi
604 +
605 + python-any-r1_pkg_setup
606 +
607 + # Avoid PGO profiling problems due to enviroment leakage
608 + # These should *always* be cleaned up anyway
609 + unset \
610 + DBUS_SESSION_BUS_ADDRESS \
611 + DISPLAY \
612 + ORBIT_SOCKETDIR \
613 + SESSION_MANAGER \
614 + XAUTHORITY \
615 + XDG_CACHE_HOME \
616 + XDG_SESSION_COOKIE
617 +
618 + # Build system is using /proc/self/oom_score_adj, bug #604394
619 + addpredict /proc/self/oom_score_adj
620 +
621 + if use pgo ; then
622 + # Allow access to GPU during PGO run
623 + local ati_cards mesa_cards nvidia_cards render_cards
624 + shopt -s nullglob
625 +
626 + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
627 + if [[ -n "${ati_cards}" ]] ; then
628 + addpredict "${ati_cards}"
629 + fi
630 +
631 + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
632 + if [[ -n "${mesa_cards}" ]] ; then
633 + addpredict "${mesa_cards}"
634 + fi
635 +
636 + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
637 + if [[ -n "${nvidia_cards}" ]] ; then
638 + addpredict "${nvidia_cards}"
639 + fi
640 +
641 + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
642 + if [[ -n "${render_cards}" ]] ; then
643 + addpredict "${render_cards}"
644 + fi
645 +
646 + shopt -u nullglob
647 + fi
648 +
649 + if ! mountpoint -q /dev/shm ; then
650 + # If /dev/shm is not available, configure is known to fail with
651 + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
652 + ewarn "/dev/shm is not mounted -- expect build failures!"
653 + fi
654 +
655 + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
656 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
657 + # get your own set of keys.
658 + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
659 + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
660 + fi
661 +
662 + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
663 + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
664 + fi
665 +
666 + # Mozilla API keys (see https://location.services.mozilla.com/api)
667 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
668 + # get your own set of keys.
669 + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
670 + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
671 + fi
672 +
673 + # Ensure we use C locale when building, bug #746215
674 + export LC_ALL=C
675 + fi
676 +
677 + CONFIG_CHECK="~SECCOMP"
678 + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
679 + linux-info_pkg_setup
680 +}
681 +
682 +src_unpack() {
683 + local _lp_dir="${WORKDIR}/language_packs"
684 + local _src_file
685 +
686 + if [[ ! -d "${_lp_dir}" ]] ; then
687 + mkdir "${_lp_dir}" || die
688 + fi
689 +
690 + for _src_file in ${A} ; do
691 + if [[ ${_src_file} == *.xpi ]]; then
692 + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
693 + else
694 + unpack ${_src_file}
695 + fi
696 + done
697 +}
698 +
699 +src_prepare() {
700 + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
701 + eapply "${WORKDIR}/firefox-patches"
702 +
703 + # Allow user to apply any additional patches without modifing ebuild
704 + eapply_user
705 +
706 + # Make cargo respect MAKEOPTS
707 + export CARGO_BUILD_JOBS="$(makeopts_jobs)"
708 +
709 + # Make LTO respect MAKEOPTS
710 + sed -i \
711 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
712 + "${S}"/build/moz.configure/lto-pgo.configure \
713 + || die "sed failed to set num_cores"
714 +
715 + # Make ICU respect MAKEOPTS
716 + sed -i \
717 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
718 + "${S}"/intl/icu_sources_data.py \
719 + || die "sed failed to set num_cores"
720 +
721 + # sed-in toolchain prefix
722 + sed -i \
723 + -e "s/objdump/${CHOST}-objdump/" \
724 + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
725 + || die "sed failed to set toolchain prefix"
726 +
727 + sed -i \
728 + -e 's/ccache_stats = None/return None/' \
729 + "${S}"/python/mozbuild/mozbuild/controller/building.py \
730 + || die "sed failed to disable ccache stats call"
731 +
732 + einfo "Removing pre-built binaries ..."
733 + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
734 +
735 + # Clearing checksums where we have applied patches
736 + moz_clear_vendor_checksums target-lexicon-0.9.0
737 +
738 + # Create build dir
739 + BUILD_DIR="${WORKDIR}/${PN}_build"
740 + mkdir -p "${BUILD_DIR}" || die
741 +
742 + # Write API keys to disk
743 + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
744 + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
745 + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
746 +
747 + xdg_src_prepare
748 +}
749 +
750 +src_configure() {
751 + # Show flags set at the beginning
752 + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
753 + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
754 + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
755 + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
756 + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
757 +
758 + local have_switched_compiler=
759 + if use clang && ! tc-is-clang ; then
760 + # Force clang
761 + einfo "Enforcing the use of clang due to USE=clang ..."
762 + have_switched_compiler=yes
763 + AR=llvm-ar
764 + CC=${CHOST}-clang
765 + CXX=${CHOST}-clang++
766 + NM=llvm-nm
767 + RANLIB=llvm-ranlib
768 + elif ! use clang && ! tc-is-gcc ; then
769 + # Force gcc
770 + have_switched_compiler=yes
771 + einfo "Enforcing the use of gcc due to USE=-clang ..."
772 + AR=gcc-ar
773 + CC=${CHOST}-gcc
774 + CXX=${CHOST}-g++
775 + NM=gcc-nm
776 + RANLIB=gcc-ranlib
777 + fi
778 +
779 + if [[ -n "${have_switched_compiler}" ]] ; then
780 + # Because we switched active compiler we have to ensure
781 + # that no unsupported flags are set
782 + strip-unsupported-flags
783 + fi
784 +
785 + # Ensure we use correct toolchain
786 + export HOST_CC="$(tc-getBUILD_CC)"
787 + export HOST_CXX="$(tc-getBUILD_CXX)"
788 + tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
789 +
790 + # Pass the correct toolchain paths through cbindgen
791 + if tc-is-cross-compiler ; then
792 + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
793 + fi
794 +
795 + # Set MOZILLA_FIVE_HOME
796 + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
797 +
798 + # python/mach/mach/mixin/process.py fails to detect SHELL
799 + export SHELL="${EPREFIX}/bin/bash"
800 +
801 + # Set state path
802 + export MOZBUILD_STATE_PATH="${BUILD_DIR}"
803 +
804 + # Set MOZCONFIG
805 + export MOZCONFIG="${S}/.mozconfig"
806 +
807 + # Initialize MOZCONFIG
808 + mozconfig_add_options_ac '' --enable-application=browser
809 +
810 + # Set Gentoo defaults
811 + export MOZILLA_OFFICIAL=1
812 +
813 + mozconfig_add_options_ac 'Gentoo default' \
814 + --allow-addon-sideload \
815 + --disable-cargo-incremental \
816 + --disable-crashreporter \
817 + --disable-install-strip \
818 + --disable-strip \
819 + --disable-updater \
820 + --enable-official-branding \
821 + --enable-release \
822 + --enable-system-ffi \
823 + --enable-system-pixman \
824 + --host="${CBUILD:-${CHOST}}" \
825 + --libdir="${EPREFIX}/usr/$(get_libdir)" \
826 + --prefix="${EPREFIX}/usr" \
827 + --target="${CHOST}" \
828 + --without-ccache \
829 + --with-intl-api \
830 + --with-libclang-path="$(llvm-config --libdir)" \
831 + --with-system-nspr \
832 + --with-system-nss \
833 + --with-system-zlib \
834 + --with-toolchain-prefix="${CHOST}-" \
835 + --with-unsigned-addon-scopes=app,system \
836 + --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
837 + --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
838 +
839 + # Set update channel
840 + local update_channel=release
841 + [[ -n ${MOZ_ESR} ]] && update_channel=esr
842 + mozconfig_add_options_ac '' --update-channel=${update_channel}
843 +
844 + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
845 + mozconfig_add_options_ac '' --enable-rust-simd
846 + fi
847 +
848 + if [[ -s "${S}/api-google.key" ]] ; then
849 + local key_origin="Gentoo default"
850 + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
851 + key_origin="User value"
852 + fi
853 +
854 + mozconfig_add_options_ac "${key_origin}" \
855 + --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
856 + else
857 + einfo "Building without Google API key ..."
858 + fi
859 +
860 + if [[ -s "${S}/api-location.key" ]] ; then
861 + local key_origin="Gentoo default"
862 + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
863 + key_origin="User value"
864 + fi
865 +
866 + mozconfig_add_options_ac "${key_origin}" \
867 + --with-google-location-service-api-keyfile="${S}/api-location.key"
868 + else
869 + einfo "Building without Location API key ..."
870 + fi
871 +
872 + if [[ -s "${S}/api-mozilla.key" ]] ; then
873 + local key_origin="Gentoo default"
874 + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
875 + key_origin="User value"
876 + fi
877 +
878 + mozconfig_add_options_ac "${key_origin}" \
879 + --with-mozilla-api-keyfile="${S}/api-mozilla.key"
880 + else
881 + einfo "Building without Mozilla API key ..."
882 + fi
883 +
884 + mozconfig_use_with system-av1
885 + mozconfig_use_with system-harfbuzz
886 + mozconfig_use_with system-harfbuzz system-graphite2
887 + mozconfig_use_with system-icu
888 + mozconfig_use_with system-jpeg
889 + mozconfig_use_with system-libevent system-libevent "${SYSROOT}${EPREFIX}/usr"
890 + mozconfig_use_with system-libvpx
891 + mozconfig_use_with system-png
892 + mozconfig_use_with system-webp
893 +
894 + mozconfig_use_enable dbus
895 +
896 + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
897 +
898 + mozconfig_use_enable geckodriver
899 +
900 + if use hardened ; then
901 + mozconfig_add_options_ac "+hardened" --enable-hardening
902 + append-ldflags "-Wl,-z,relro -Wl,-z,now"
903 + fi
904 +
905 + mozconfig_use_enable jack
906 +
907 + mozconfig_use_enable pulseaudio
908 + # force the deprecated alsa sound code if pulseaudio is disabled
909 + if use kernel_linux && ! use pulseaudio ; then
910 + mozconfig_add_options_ac '-pulseaudio' --enable-alsa
911 + fi
912 +
913 + mozconfig_use_enable sndio
914 +
915 + mozconfig_use_enable wifi necko-wifi
916 +
917 + if use wayland ; then
918 + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
919 + else
920 + mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
921 + fi
922 +
923 + if use lto ; then
924 + if use clang ; then
925 + # Upstream only supports lld when using clang
926 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
927 +
928 + mozconfig_add_options_ac '+lto' --enable-lto=cross
929 + else
930 + # ld.gold is known to fail:
931 + # /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld.gold: internal error in set_xindex, at /var/tmp/portage/sys-devel/binutils-2.37_p1-r1/work/binutils-2.37/gold/object.h:1050
932 +
933 + # ThinLTO is currently broken, see bmo#1644409
934 + mozconfig_add_options_ac '+lto' --enable-lto=full
935 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
936 + fi
937 +
938 + if use pgo ; then
939 + mozconfig_add_options_ac '+pgo' MOZ_PGO=1
940 +
941 + if use clang ; then
942 + # Used in build/pgo/profileserver.py
943 + export LLVM_PROFDATA="llvm-profdata"
944 + fi
945 + fi
946 + else
947 + # Avoid auto-magic on linker
948 + if use clang ; then
949 + # This is upstream's default
950 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
951 + else
952 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
953 + fi
954 + fi
955 +
956 + # LTO flag was handled via configure
957 + filter-flags '-flto*'
958 +
959 + mozconfig_use_enable debug
960 + if use debug ; then
961 + mozconfig_add_options_ac '+debug' --disable-optimize
962 + else
963 + if is-flag '-g*' ; then
964 + if use clang ; then
965 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
966 + else
967 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
968 + fi
969 + else
970 + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
971 + fi
972 +
973 + if is-flag '-O0' ; then
974 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
975 + elif is-flag '-O4' ; then
976 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
977 + elif is-flag '-O3' ; then
978 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
979 + elif is-flag '-O1' ; then
980 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
981 + elif is-flag '-Os' ; then
982 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
983 + else
984 + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
985 + fi
986 + fi
987 +
988 + # Debug flag was handled via configure
989 + filter-flags '-g*'
990 +
991 + # Optimization flag was handled via configure
992 + filter-flags '-O*'
993 +
994 + # Modifications to better support ARM, bug #553364
995 + if use cpu_flags_arm_neon ; then
996 + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
997 +
998 + if ! tc-is-clang ; then
999 + # thumb options aren't supported when using clang, bug 666966
1000 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \
1001 + --with-thumb=yes \
1002 + --with-thumb-interwork=no
1003 + fi
1004 + fi
1005 +
1006 + if [[ ${CHOST} == armv*h* ]] ; then
1007 + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
1008 +
1009 + if ! use system-libvpx ; then
1010 + sed -i \
1011 + -e "s|softfp|hard|" \
1012 + "${S}"/media/libvpx/moz.build \
1013 + || die
1014 + fi
1015 + fi
1016 +
1017 + if use clang ; then
1018 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
1019 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
1020 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
1021 + local disable_elf_hack=
1022 + if use amd64 ; then
1023 + disable_elf_hack=yes
1024 + elif use x86 ; then
1025 + disable_elf_hack=yes
1026 + elif use arm ; then
1027 + disable_elf_hack=yes
1028 + fi
1029 +
1030 + if [[ -n ${disable_elf_hack} ]] ; then
1031 + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
1032 + fi
1033 + elif tc-is-gcc ; then
1034 + if ver_test $(gcc-fullversion) -ge 10 ; then
1035 + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
1036 + append-cxxflags -fno-tree-loop-vectorize
1037 + fi
1038 + fi
1039 +
1040 + # Additional ARCH support
1041 + case "${ARCH}" in
1042 + arm)
1043 + # Reduce the memory requirements for linking
1044 + if use clang ; then
1045 + # Nothing to do
1046 + :;
1047 + elif tc-ld-is-gold || use lto ; then
1048 + append-ldflags -Wl,--no-keep-memory
1049 + else
1050 + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
1051 + fi
1052 + ;;
1053 + esac
1054 +
1055 + if ! use elibc_glibc ; then
1056 + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
1057 + fi
1058 +
1059 + # Allow elfhack to work in combination with unstripped binaries
1060 + # when they would normally be larger than 2GiB.
1061 + append-ldflags "-Wl,--compress-debug-sections=zlib"
1062 +
1063 + # Make revdep-rebuild.sh happy; Also required for musl
1064 + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
1065 +
1066 + # Pass $MAKEOPTS to build system
1067 + export MOZ_MAKE_FLAGS="${MAKEOPTS}"
1068 +
1069 + # Use system's Python environment
1070 + export MACH_USE_SYSTEM_PYTHON=1
1071 + export PIP_NO_CACHE_DIR=off
1072 +
1073 + # Disable notification when build system has finished
1074 + export MOZ_NOSPAM=1
1075 +
1076 + # Portage sets XARGS environment variable to "xargs -r" by default which
1077 + # breaks build system's check_prog() function which doesn't support arguments
1078 + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
1079 +
1080 + # Set build dir
1081 + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
1082 +
1083 + # Show flags we will use
1084 + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
1085 + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
1086 + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
1087 + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
1088 + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
1089 +
1090 + # Handle EXTRA_CONF and show summary
1091 + local ac opt hash reason
1092 +
1093 + # Apply EXTRA_ECONF entries to $MOZCONFIG
1094 + if [[ -n ${EXTRA_ECONF} ]] ; then
1095 + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
1096 + for opt in "${ac[@]}"; do
1097 + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
1098 + done
1099 + fi
1100 +
1101 + echo
1102 + echo "=========================================================="
1103 + echo "Building ${PF} with the following configuration"
1104 + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
1105 + [[ -z ${hash} || ${hash} == \# ]] \
1106 + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
1107 + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
1108 + done
1109 + echo "=========================================================="
1110 + echo
1111 +
1112 + ./mach configure || die
1113 +}
1114 +
1115 +src_compile() {
1116 + local virtx_cmd=
1117 +
1118 + if use pgo ; then
1119 + virtx_cmd=virtx
1120 +
1121 + # Reset and cleanup environment variables used by GNOME/XDG
1122 + gnome2_environment_reset
1123 +
1124 + addpredict /root
1125 + fi
1126 +
1127 + local -x GDK_BACKEND=x11
1128 +
1129 + ${virtx_cmd} ./mach build --verbose \
1130 + || die
1131 +}
1132 +
1133 +src_install() {
1134 + # xpcshell is getting called during install
1135 + pax-mark m \
1136 + "${BUILD_DIR}"/dist/bin/xpcshell \
1137 + "${BUILD_DIR}"/dist/bin/${PN} \
1138 + "${BUILD_DIR}"/dist/bin/plugin-container
1139 +
1140 + DESTDIR="${D}" ./mach install || die
1141 +
1142 + # Upstream cannot ship symlink but we can (bmo#658850)
1143 + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
1144 + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
1145 +
1146 + # Don't install llvm-symbolizer from sys-devel/llvm package
1147 + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
1148 + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
1149 + fi
1150 +
1151 + # Install policy (currently only used to disable application updates)
1152 + insinto "${MOZILLA_FIVE_HOME}/distribution"
1153 + newins "${FILESDIR}"/distribution.ini distribution.ini
1154 + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
1155 +
1156 + # Install system-wide preferences
1157 + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
1158 + insinto "${PREFS_DIR}"
1159 + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
1160 +
1161 + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
1162 +
1163 + # Set dictionary path to use system hunspell
1164 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
1165 + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
1166 + EOF
1167 +
1168 + # Force hwaccel prefs if USE=hwaccel is enabled
1169 + if use hwaccel ; then
1170 + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
1171 + >>"${GENTOO_PREFS}" \
1172 + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
1173 + fi
1174 +
1175 + if ! use gmp-autoupdate ; then
1176 + local plugin
1177 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1178 + einfo "Disabling auto-update for ${plugin} plugin ..."
1179 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
1180 + pref("media.${plugin}.autoupdate", false);
1181 + EOF
1182 + done
1183 + fi
1184 +
1185 + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
1186 + if use system-harfbuzz ; then
1187 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
1188 + sticky_pref("gfx.font_rendering.graphite.enabled", true);
1189 + EOF
1190 + fi
1191 +
1192 + # Install language packs
1193 + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
1194 + if [[ -n "${langpacks}" ]] ; then
1195 + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
1196 + fi
1197 +
1198 + # Install geckodriver
1199 + if use geckodriver ; then
1200 + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
1201 + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
1202 + exeinto "${MOZILLA_FIVE_HOME}"
1203 + doexe "${BUILD_DIR}"/dist/bin/geckodriver
1204 +
1205 + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
1206 + fi
1207 +
1208 + # Install icons
1209 + local icon_srcdir="${S}/browser/branding/official"
1210 + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
1211 +
1212 + insinto /usr/share/icons/hicolor/symbolic/apps
1213 + newins "${icon_symbolic_file}" ${PN}-symbolic.svg
1214 +
1215 + local icon size
1216 + for icon in "${icon_srcdir}"/default*.png ; do
1217 + size=${icon%.png}
1218 + size=${size##*/default}
1219 +
1220 + if [[ ${size} -eq 48 ]] ; then
1221 + newicon "${icon}" ${PN}.png
1222 + fi
1223 +
1224 + newicon -s ${size} "${icon}" ${PN}.png
1225 + done
1226 +
1227 + # Install menu
1228 + local app_name="Mozilla ${MOZ_PN^}"
1229 + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
1230 + local desktop_filename="${PN}.desktop"
1231 + local exec_command="${PN}"
1232 + local icon="${PN}"
1233 + local use_wayland="false"
1234 +
1235 + if use wayland ; then
1236 + use_wayland="true"
1237 + fi
1238 +
1239 + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
1240 +
1241 + sed -i \
1242 + -e "s:@NAME@:${app_name}:" \
1243 + -e "s:@EXEC@:${exec_command}:" \
1244 + -e "s:@ICON@:${icon}:" \
1245 + "${WORKDIR}/${PN}.desktop-template" \
1246 + || die
1247 +
1248 + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
1249 +
1250 + rm "${WORKDIR}/${PN}.desktop-template" || die
1251 +
1252 + # Install wrapper script
1253 + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
1254 + newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
1255 +
1256 + # Update wrapper
1257 + sed -i \
1258 + -e "s:@PREFIX@:${EPREFIX}/usr:" \
1259 + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
1260 + -e "s:@APULSELIB_DIR@:${apulselib}:" \
1261 + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
1262 + "${ED}/usr/bin/${PN}" \
1263 + || die
1264 +}
1265 +
1266 +pkg_preinst() {
1267 + xdg_pkg_preinst
1268 +
1269 + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
1270 + # does not need to be forced into the LD_LIBRARY_PATH
1271 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1272 + einfo "APULSE found; Generating library symlinks for sound support ..."
1273 + local lib
1274 + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
1275 + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
1276 + # A quickpkg rolled by hand will grab symlinks as part of the package,
1277 + # so we need to avoid creating them if they already exist.
1278 + if [[ ! -L ${lib##*/} ]] ; then
1279 + ln -s "${lib}" ${lib##*/} || die
1280 + fi
1281 + done
1282 + popd &>/dev/null || die
1283 + fi
1284 +}
1285 +
1286 +pkg_postinst() {
1287 + xdg_pkg_postinst
1288 +
1289 + if ! use gmp-autoupdate ; then
1290 + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
1291 + elog "installing into new profiles:"
1292 + local plugin
1293 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1294 + elog "\t ${plugin}"
1295 + done
1296 + elog
1297 + fi
1298 +
1299 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1300 + elog "Apulse was detected at merge time on this system and so it will always be"
1301 + elog "used for sound. If you wish to use pulseaudio instead please unmerge"
1302 + elog "media-sound/apulse."
1303 + elog
1304 + fi
1305 +
1306 + local show_doh_information
1307 + local show_normandy_information
1308 + local show_shortcut_information
1309 +
1310 + if [[ -z "${REPLACING_VERSIONS}" ]] ; then
1311 + # New install; Tell user that DoH is disabled by default
1312 + show_doh_information=yes
1313 + show_normandy_information=yes
1314 + show_shortcut_information=no
1315 + else
1316 + local replacing_version
1317 + for replacing_version in ${REPLACING_VERSIONS} ; do
1318 + if ver_test "${replacing_version}" -lt 91.0 ; then
1319 + # Tell user that we no longer install a shortcut
1320 + # per supported display protocol
1321 + show_shortcut_information=yes
1322 + fi
1323 + done
1324 + fi
1325 +
1326 + if [[ -n "${show_doh_information}" ]] ; then
1327 + elog
1328 + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
1329 + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
1330 + elog "DNS traffic to Cloudflare by default is not a good idea and applications"
1331 + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
1332 + elog "(\"Off by choice\") by default."
1333 + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
1334 + fi
1335 +
1336 + # bug 713782
1337 + if [[ -n "${show_normandy_information}" ]] ; then
1338 + elog
1339 + elog "Upstream operates a service named Normandy which allows Mozilla to"
1340 + elog "push changes for default settings or even install new add-ons remotely."
1341 + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
1342 + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
1343 + elog "concerns prevail, which is why we have switched off the use of this"
1344 + elog "service by default."
1345 + elog
1346 + elog "To re-enable this service set"
1347 + elog
1348 + elog " app.normandy.enabled=true"
1349 + elog
1350 + elog "in about:config."
1351 + fi
1352 +
1353 + if [[ -n "${show_shortcut_information}" ]] ; then
1354 + elog
1355 + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
1356 + elog "each supported display protocol. Instead we will only install"
1357 + elog "one generic Mozilla ${PN^} shortcut."
1358 + elog "If you still want to be able to select between running Mozilla ${PN^}"
1359 + elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
1360 + fi
1361 +}