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: Wed, 04 May 2022 11:51:23
Message-Id: 1651665074.163a91aa403fda9aab3389d89edba639e930a4b4.juippis@gentoo
1 commit: 163a91aa403fda9aab3389d89edba639e930a4b4
2 Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
3 AuthorDate: Wed May 4 11:35:46 2022 +0000
4 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
5 CommitDate: Wed May 4 11:51:14 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=163a91aa
7
8 www-client/firefox: add 91.9.0
9
10 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
11
12 www-client/firefox/Manifest | 98 +++
13 www-client/firefox/firefox-91.9.0.ebuild | 1244 ++++++++++++++++++++++++++++++
14 2 files changed, 1342 insertions(+)
15
16 diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
17 index bd306e347c7c..58d0a019c072 100644
18 --- a/www-client/firefox/Manifest
19 +++ b/www-client/firefox/Manifest
20 @@ -195,6 +195,104 @@ DIST firefox-91.8.0esr-xh.xpi 428174 BLAKE2B 5b8783a6d95f54b6661f1498a5829de69dc
21 DIST firefox-91.8.0esr-zh-CN.xpi 575374 BLAKE2B cc5798a6e5c143bc5a58dff2ceab883c2635461b31a7785b031e4254da2b13fd2d6c095a1da54025443dcabb2ec6ecf661800fc1ab410195dd3be57430a821b1 SHA512 2056f9543a0692246b47a32d5d030734dceb9d8d109c94a7960a1f367ff3ee85ccf73d839492a57abf286f09a7e5bb43cb1d50a8be990b1a7e8b1fc1802a626a
22 DIST firefox-91.8.0esr-zh-TW.xpi 576235 BLAKE2B 83c9bdb83050a7957891571f49b8baba78eddca780f9362fc86f761b61f6840b14395941214391438f4db4e9a07689c486baf2c32ff3d249bad9e35f8bc22cf4 SHA512 efac8090ffd8d5661df24a0d5f6726b5c15969dd349a28ab716e7ae059daf62605dde41df13b4c253c2b2bec5201554b4e06b490d9066188ad9d65b42548ab15
23 DIST firefox-91.8.0esr.source.tar.xz 380325092 BLAKE2B 9bc470d0e8c65517d67f4075be2aece6e82af7dc89c40018359d3dd53d45d67424db8ed4614dd3dde430e08ec6ffff29f4ecc81e1990e05abd05804c6a2b5891 SHA512 edea2c7d4d3d0322091b20b623019ef041090d9f89f33c8e3140f66a54624261f278257393db70d2038154de8ee02da0bee6ecf85c281f3558338da71fc173c3
24 +DIST firefox-91.9.0esr-ach.xpi 453213 BLAKE2B 6ad8fb45ebed65b82ca407ca81e1a32cfae6da2dc93b7c06746f47829b4434a7fa41db3e8b0b307cc65e141485b3164595bed8df12b9ececaf86c251514203db SHA512 6886cbfcaf422a853811f56077a6b29c432bfa34fdc3768e62dde52d477ce99dedda2aba542e2813343b547b350b8d39d32784e496f8d18a02f9fa0954fcc470
25 +DIST firefox-91.9.0esr-af.xpi 426927 BLAKE2B 5375b04882b53a6ce1828a01a565d49ba02ceb076b89b8a64ff93f07573ebf3594db7ecae373b550496532a61ad2b4bcf62d2854278b517641c8b052cf8c8009 SHA512 7c374825faa131baa771bc4aa836656b1e456dd862db0d9fb52f13206c43f1162de30a0192ca023f0dc1ed98ad351a921917a6ad56ebffa4cfa3643b8210a478
26 +DIST firefox-91.9.0esr-an.xpi 499888 BLAKE2B f16f44afb6ae2d766a56e5eaa632c07616f0a4c6160625ac2013a0db8180fd8f83cf99d6291cf9d1458326b0dc155a992293682c05d790677f851f5a7d6fb910 SHA512 39069d165df48dea9047dc25dbc2ef8fd2f31249b487638f0769680da4d0a3841fa9bedfc23cdb7f4d563408914c052f388825f331b3a5104169bd79a1c49691
27 +DIST firefox-91.9.0esr-ar.xpi 559666 BLAKE2B b9eb161c72e91e7f5a6b74287a2462c4229b239543725654d89d83db78660549d3897e1c08f352cb1335e3d46878b3bfbb94f352f9b9358609cff9d767b751c6 SHA512 3d90b7d4f3801e0a688e1348f00012ab7112fd401a66fc2463d9b276657061d99a940ce65168232c82e3fb123849e455610f9ea2bb10740de8208df2f8a16ba2
28 +DIST firefox-91.9.0esr-ast.xpi 498577 BLAKE2B f63a1e323227313af4453e05feba571fe63d4390c7cf5c03052e6417545c443c06cf35690116d9ca301aa9a903769ca37f8147ecd643b099e56aed6c5f99e425 SHA512 3b63099c5868d483e533608c332247b3522308c49967e0618fe1cf618fbe986d908ce401bc16d66fb7566290f902cead6613369ce00d14ba7ec6f11737aab161
29 +DIST firefox-91.9.0esr-az.xpi 489426 BLAKE2B dce6d17075a1a7203a331377e7dbcc04f484c137d655b3145323019563e8b8dc5100d494268e6149e97875ee0a2faa9c0fe30f3108d1e53f0a4614e6dada8fe0 SHA512 85945e0692a212e1cbb92ba1a8510782362b8626d5e99cc7b61980e22235739ea956330d49fed519317688100209640920eefee974a4161d53f19a0c042ef8b2
30 +DIST firefox-91.9.0esr-be.xpi 622606 BLAKE2B 8518aeda6bc5aca132bae5fa5a8bd3543eb2bd7e5e0c2729167a63c2c01bde74e790ec1e50ec15ad3fa6ce41ca84ef912b9acbe3e2a2c24e82cb3ee6c3ebccea SHA512 de443a0824a345f38c81f38b98c9d2bbbc801e26f0ff0f3ecdd6849cd56d13931141462f116db3f2353a1f90053495712600b96a383a612bb275eed986027455
31 +DIST firefox-91.9.0esr-bg.xpi 567644 BLAKE2B daa34875f4cc607fa568c5228e9673f6b22a6ee21d98aac08270d41dbcbb20d2b8f8cab1cbfa66ef2adbf501fa7ba7113e24f45cbc0c47f1fd9341b9386500b9 SHA512 1284a7c93fff2767d302b39ac5953b8c0a43270b812e19f86692cee0e60ff6e76f3f74627283ad84cf4ab4b3d1d027947e488a7dd6564faad382e7a96775c27e
32 +DIST firefox-91.9.0esr-bn.xpi 556824 BLAKE2B 9d07e8e9edcaf21e065c5ec3975486b72825d011294c426dc19f8746e4fdc977a06f14fb549f2f2978c94f1e34839722db8bdc5ed7c1b0468d5147f56351104e SHA512 134fffc2bebdf10871662e5b3fabbc19fa876e089a2fc5fa1d6969489430abc9e43ff8889311bba1f882b1ae884305c5df764a45b0a3bc90d232201f6e6d3baa
33 +DIST firefox-91.9.0esr-br.xpi 526254 BLAKE2B 5a72f1153b7abe5455d87cca081dd5667b502863cb972498802452a03388e596f6629db8f745068fd0da6792a7c4ec3f73a8ced52a1da98949394f7ad77383fb SHA512 df02b6e2468b3bbeadab76959b41ab90946fbd67a0c85337e2a7d90f6e2039faf898f065e2f8098df2882fcb259fb28614da435aba63610036b4e66c6d43a343
34 +DIST firefox-91.9.0esr-bs.xpi 463551 BLAKE2B b601dedf41e4f5a2c0f4be9e9ecab0d6b5cd4d48339b24cf38c737e6f6723a9dcb46ad92d5fb52568cce902e61a018f3e9dc203cd88d87282794551e85c5d8f1 SHA512 48423a302cfdcae7908533f3ab72d54eaad61b82018d1989e17d1b468a5f1813a63ce39ba5f293cc9e88e17716d06833eb15464f69d7dcb210c8b88f76d2358a
35 +DIST firefox-91.9.0esr-ca-valencia.xpi 529394 BLAKE2B 9e490a12d0c4c0cdeef00ec77fa8c60afa21cce72f117004889682671ac763b6efe76948dae7ae1927fef632d6195aa68b8953efc7cb04c71046cf0771745b69 SHA512 8ad48e0b17978fa5a1d41550dfb6a835ae1de0add646a791970e400ebb8ba43c7ebd73c7eca328592bbcb4602d62885e3359734a77c7d018558e2a37470d4697
36 +DIST firefox-91.9.0esr-ca.xpi 532479 BLAKE2B a4952618e69a515ef607efeb4eb6abb8926be101290b7a347bbf3bf86f388ca1f6cd7bd79f9ec2ebfbd5bf75dae088dbadad4a4cf645ee8a93b56fa15c0b17d0 SHA512 7c2f82365c95f95f426edd3a27454d3359a8b88a9bd2226904faec52b6fe2327c82034b59a0f97de7b3097fa4ef5983602d4a92e72cea85185067e03b7da9422
37 +DIST firefox-91.9.0esr-cak.xpi 552605 BLAKE2B 7b3973f5fca49f92a3d466ecea0401e594b741a60ae1cb16074a27bed5ddaba1c6452bec6411779b309e0d894b06c3e1fb5a88b5e383bcf71446f82cad97176d SHA512 782e6440e61d18252a50257f6e1b620a8f625b8c9476d3b3d73680a5bcad5ca8820cc78d36e9c04f67e5a14b95c009c4dcb29266c9471410ca1e655f677e7126
38 +DIST firefox-91.9.0esr-cs.xpi 563169 BLAKE2B 13a99716b3f213febbd63b9e0e8430cfe584777a12b34a05f25446489d60f901e8fd54b52b13cbd1e74f0b8b0080467ad2db08de5b6f3b73f930f3b33684cb08 SHA512 7f5388884709cbb660232a313025ec0c3dc49d2886149302e371efbc945622eafe99b6e0531ed96821b6295baa5de6c5dfdf296cd0fa49b00d5a47d8fcfb5d86
39 +DIST firefox-91.9.0esr-cy.xpi 542215 BLAKE2B 2bb8c593ece692d07b5ecf9ec0ca593b5e4c3a192f8b695b167f989ecf1da68bc6e61ac54adeccab01c1a6ddf9bffafa99b5ff5dee144d8e0916ea7da1956e23 SHA512 799861607fa3586542594d7690acfa30eb671f803f9b88b3113c6d282bb3934a00ab67d570024778ddf538fd01da9074f68ff0eb91af5afeff7d65a8cb90b8aa
40 +DIST firefox-91.9.0esr-da.xpi 534159 BLAKE2B 6532a8a775257b1eac65861b42cfc2bae9d59cbc8e64dad3e147f0c9f598173408dde66eb41c6eaab400572e32297851bfd360825275c4a4ddd486a2a26e5784 SHA512 79100cb5d174e2c6ea9d030c48e8d7ce916d8f48c6900b4dbfc9843ca7fac8b2ae274c8a2f41ef19fe211cc962f3220b6acbc2d02690c7a46fe35187fc9c16f8
41 +DIST firefox-91.9.0esr-de.xpi 553583 BLAKE2B e371aa6a92796088080ba3ced85e67e917995c9f502067e46acc6d7b11b8be95228942b82e7e41e678095308415f5e79a0522d245d33b0345ec110a2ffd53de4 SHA512 712937007cb5933c0d7c019486cc63b31e90b6c18c7c9d5e137df5eab9ab4c25aeab704b7fed964373a5bdc8b1522db5fcde76b42a5777df33e0b0860f489214
42 +DIST firefox-91.9.0esr-dsb.xpi 566486 BLAKE2B 474979f95e2dabc445076246c94515cadb486944e3e8bc8e1998a31e2a3f711c93e6e565785f7cd7b826d58ed613df380d7b062bc4babfebcb3660a612643aac SHA512 a6bcdca3e4186b3d1d4f04e40fc5b121345c347cb75571ffddf2674584dcaed85d18c783801253d0c72f9a9d172c56de8d4d55ce642e95d6ee229003b18c56b3
43 +DIST firefox-91.9.0esr-el.xpi 639146 BLAKE2B 42a6de51fe4bee9a275154ec80824196d77fec3bd57537c229f864b61e75e63094b52d9690c72e66903aa8ce9e0462390718e4979081187bd7bdf64183ae5d39 SHA512 d64604fbed8bb89459ac67d81b65ede139f5e1e6f75118eeb62c48ebe79fdca5cb92d4039f0c2535e9504a4b4307beecb9e5160dce55d0830fe261cecdd04785
44 +DIST firefox-91.9.0esr-en-CA.xpi 509562 BLAKE2B 3c26338ef91200a71450cfad719a75bb4ab1aa226daddc4cda6c899605341f0e97736a00557dcf20906f2d118a9d28fd76ce08ab4b557494832048070b2dea1f SHA512 511b2ed01269869e7c263f8d9357e5f0c3773fd1cab0217472c44dd32446d94bfe1cc220e433c29bfefeee83d305e646c930326bf77612cb5e04e43de4795745
45 +DIST firefox-91.9.0esr-en-GB.xpi 510591 BLAKE2B ded3879d8ac55f3925802903faa182b95d10a272d8ffa15b54ecc4462704cb88b602db4719aa4cfb3defc632e592f36a2cab7c2d68d3c108c05f9c4dcb0b649f SHA512 a36fc58560607119c989cef29ba21f6d370cd958a341f0feee3984a69e6180f7b63af1df00f9003dbc731db02ddd99d80f9ae545eb182da28563ce4ac49f576d
46 +DIST firefox-91.9.0esr-eo.xpi 534793 BLAKE2B 5040d22b259006355ab7278691bbc1951cef114e37dc2dfeb6bc0da9c439e22ef559745feaae9d5c291fdf8aab98bfcc9c7da79a32cc77aa65f4bc7c30c23ba2 SHA512 2b9689c52b431ea21a73dbeb5227b934363ba80f56d5335a05fe85b94a8beb4f73c2c7ca8f0d89fce7f4b384acf10d72c0a1b0a221fcaa986e5c61b51353c1e2
47 +DIST firefox-91.9.0esr-es-AR.xpi 546677 BLAKE2B 86e4dcef0df1d429019f0ff0c00c4a398dcbe0b23e4a62a2d39684c369044f6a3ad340f7ad0305081fa3d24047a64cf8b53468e0b65987947a0968c00b00b331 SHA512 9261dda6cabe7b51e0e29d41f631ea2eb8600681b12791f3e4a1793938c0a18c6fda4c12297ff8d274eaf9865bf0c65e3d187aad64b833baeda839d1d6a07813
48 +DIST firefox-91.9.0esr-es-CL.xpi 546380 BLAKE2B c5d1bdbe07e828ad50328ac5d7e9c1397edf072e9ae63a438b742b1a416e2bd068ee9b2e15e70f1a1dda1d65d98a03498c45b6f8b13b8d8de102011a3d081f12 SHA512 4e6ab6bdc68e44fb4224d85e8bc395c473fa9d30bc4e1bb3612ed31f2ea59838760720ad4d1345b1a4cc66f931f199be4aeb5d364e1f8c1ea2cbaadb123a6fb0
49 +DIST firefox-91.9.0esr-es-ES.xpi 537068 BLAKE2B ee2ec531ed515f280745b6fe1f026c14691c17b323b9edd958a5ef0428fa21ffebeb9557e912863cacae7d7781ac50fc96b29db801a355085e0e5274a898c824 SHA512 b33d90f20497babdbb288aa4a048b9b4f49ab6686c64e39d81a63875438a961b97a242a6c09ea7a1a669246147dd2d123ae45c4d1396a2c0dc89e39a346ce8ca
50 +DIST firefox-91.9.0esr-es-MX.xpi 549996 BLAKE2B 4094a0af0996f7a2b30201074fb239af15e76d063bfaab6524b2b97dd8ef5d4c907279a9c56ba96c75fbb4b8eb72521fdffe538dc1bdae1ab6384b3a5644a172 SHA512 a8cb6a3ad72097092d42b376cc43305e0ca1f371b1bcd08189286c3cd5972f8b581aedbece86b0e64264ebbb59e5b3009ba383f03aa9b0e868610cdf980b1a2c
51 +DIST firefox-91.9.0esr-et.xpi 506669 BLAKE2B c0fd33eddc6c318d17ba494a05dc23eda0292b33cb54de16aab5eafd840103a583a90bc69f7c21beb78018e8d1af19bac8f79842a1e2697389f61a8eef523fb7 SHA512 8b6e3a9a430855649093ff551f510984b76cb91c5243ad056b4d7d9cd1d09b6d6170d3f7174f4665db56227786c0e54b7bb4c4659f903adaca3dc2566079a18c
52 +DIST firefox-91.9.0esr-eu.xpi 536329 BLAKE2B c9127b7ef9f063f2dc78dbc2b92ae8fc854742dddef0816abb7cdf44f6c43b3fbdaa19e0498feae34830cc39fae088d1ef1f7673383bf4b579fbfba3d7467c7f SHA512 cacdd1618a84b21ae1e5a6b1b7a9cc7c77f6ab2a0f4a57530850561ab4d3bde17cb49abcc20b9c31638656a82ee4d22a7bce0ec34c59ec28d106b5ee43d14c29
53 +DIST firefox-91.9.0esr-fa.xpi 559375 BLAKE2B 237aacb5c27bdcc4c05f03e1de35d58ef1adbb4152ad3f5e4da604633af0684568513d459a6f7f33e8713068b578553f61a0931d260ff4bf307b18c36037a299 SHA512 abc61e80ea2f365a9b1a0fd14e173d305d05b386c01c844e3eae14f9e279b927e5512b0d7413455f91049c98940f1529cf3095f054d46ccf8c7acccec3b2c5b5
54 +DIST firefox-91.9.0esr-ff.xpi 471869 BLAKE2B e3ff81504a43d8e006f51bc5d574d337ab0f7fd98e8019ada2aead40525b0cea696070ceaf2dd8ecf4390ffeea98ff1b2ffab23e2ab102c23c88b4136d56f5ee SHA512 ed0777632a0626b6d200630d8d6f0892e5095c5aa5232f109cc567f5133cbafc9d747b4bd17eb2a39917d0aa5d0d6801715ba093beec02c4720589795089cf5c
55 +DIST firefox-91.9.0esr-fi.xpi 531482 BLAKE2B f5659a2e1c961edc77ef32ace4f7d9d900effb048bd05f804efe816c5f9bf78d9073c4f8280ada7b261e0754dcd879efbfb1689b15486ed53ca08c5c7fb5c2d0 SHA512 184e0dc3f4cba2e4ebd6fac27d1383e27b07994ce123858c43356d6000c9f873c4eb5c2648b04922394a1a1cc2c12fcbf437d7a7eaca5003fa2f133f34d69a0d
56 +DIST firefox-91.9.0esr-fr.xpi 557621 BLAKE2B 820e4c675bfd2d57ce8733fc2c6cf2dcd204d7447059990096b5add75eb448728e3ca858362bb208ee9f07679960a5b63d4a4f54d0fd984ce81a456f2334fbbf SHA512 cb22c21540d441c3a274d276a546f664fab3f03be5d9d9c60f57d9693bc769d3a77f215a6b4389f835948c28a779479a3f03e8ab04ffb322a9be15a1a8a9f359
57 +DIST firefox-91.9.0esr-fy-NL.xpi 543302 BLAKE2B c8459abd86126029fd363c47ec6beb9e60ddfb34858ae1aca455567fabf28cb525636a113f856bb9266404e726c590fe3f5dba9d01f4d43eab8a5ea3ca77fa10 SHA512 d75eb5c360736e9bb3a85f452e0ebbdc6ffd8ef5fc324aa395a55e0e6a85eeabd4382b6dd6693196196dc4902b9d1da19068daaa350ff96c946bffbc1705eff4
58 +DIST firefox-91.9.0esr-ga-IE.xpi 459835 BLAKE2B d1d8a9f88870a69c169ca1c79de2d478f74f6e31ccf8d3512c4265278b4148e26fff8b6c57f25be7d6970a860b0ddef6f4b38d953676c61f2595acb9d14b9ad9 SHA512 694c419356872a99c86de4351a0cbd9f1b4a67afaab8a55288d54792a8e358182fd7813ae113ccc5596d2e5158337eccbe962dc93f938b45e90dfc46c5a25488
59 +DIST firefox-91.9.0esr-gd.xpi 530852 BLAKE2B d1d9827340b6860494f5c8275cf13c85648f25fe3d6b4ceac39cfafae1a3efea161c7e6486fe66651d6ea500bc4e1ed064a3f5e3dbfd848dbb9e7bcd8c526a85 SHA512 67823a10f89ac9118d6e82e6a7554c4fe911bf02d923a3e1e2665f90ecf4149136d76851a7861d47e5bc4fea672b586e828f4f4288a607d73ab81658b7be586e
60 +DIST firefox-91.9.0esr-gl.xpi 541297 BLAKE2B ac1de8abb2bbb60b8c9a53731ee44f45db067c74ccc6d9a3dd95f49d26a20908fc2ceea7753c595f535c19a0f529a9ebebd6e727d86b1063d2cb6bf594402eb8 SHA512 5c99f2401f565cf609354b95af45d80f935d84d90f65d998b505e53989c73f4eec5f25859aef60846ce6b7c581d6fd7d53363314a60539b31164fafed4672cb9
61 +DIST firefox-91.9.0esr-gn.xpi 557606 BLAKE2B f21c2af2f39ce0510bc8ff86d0da5389cdbdc6c14a097e2801a76d246214d7b16dc6b96e37a4288a274337d0fe366c6d0ff01085dc8d014ff4be3c7ea9c90ae1 SHA512 d7e828bc0565b75c03c4f72274cfcd13cc3dc77639505010c4925a1ba2d7514a94062b802b46a0469ee033ca60da38dd4a0188cc7ab71f8b43a2e9ffd546319f
62 +DIST firefox-91.9.0esr-gu-IN.xpi 529548 BLAKE2B 5409987f6fef13b0ff92f9b0aeac734660485c4353831ce7c375ce0c5a2b534d8875166860c5291325185712b7ae1436e13bb67432ed0489d9ea8262564a5269 SHA512 3a3a8a263004ac537e216362d5d402aa58ea74e43a4c546683b5bc5529d00df5f032373f799e307deb397b1e0c309073e9aaf826826213e3ebbf7641bcf79688
63 +DIST firefox-91.9.0esr-he.xpi 557207 BLAKE2B 62c60e1dbcf8739bbcb6d1ea71a5055d120709c500363dd247e75b690e7ab481a9a5da9014d43b71b7c61a83a3c25fe70134d0d17f896c1c19d387d4e94d1a2f SHA512 01b55c052813a53788806c157b15b219b7831e258ff0c547b1da79e8f2af1753a3b36bfbf49dadee6c8fa272f942ea72816a346bf26454b58e451fcd42e634ab
64 +DIST firefox-91.9.0esr-hi-IN.xpi 560654 BLAKE2B db9216029dbd95dc1f9dc29b389189451fbcb2ca9dde9b2235d0aa48e31144ffc3d07e1c1a5c6e9ccbfe11ab67ee1b3853aeba6ba376209c28adc69a00fc26cb SHA512 cecefa32bc1d52fc3d330f870173b7fe906681c5bfed6b465cf36291a2dd51af229d6bae1c7a59f6655bcb0ee470e381f47602f834e595d92555f316cc26b8ab
65 +DIST firefox-91.9.0esr-hr.xpi 530044 BLAKE2B b9f723415d7a2b07cebbb22618b7522e247e9e4ebd27cc3e6b7acf421b3ee728507aeedef41733fcfea69c08aea9b10bdf64586534b3c3e97bf5ba91d8d3fdb4 SHA512 b3f4c6aaffb69d316bfba893563ebea3c71f818e1c81b4a5b873b48a5891d34d042cedb6cba6e34c9dde98a1040cb05015e51b116a525144dc13e2af8c0aab3e
66 +DIST firefox-91.9.0esr-hsb.xpi 562625 BLAKE2B 707d4aaba7e154fc66bc6f25c0314282c1de834b4b810ed8383f33cb040a0f934f68be23069c3cee38af0e11abaa3867c3fb6ed94927871f1faca9217b46e88d SHA512 84c3141b76a0a95c1e4df21a56f8687d568fc00d5e63ada95fe06ddd5a0d794b3ba8430b37c03732c2736fbce4a3b40e2860ce8eadd6d74f56c446ce950d093c
67 +DIST firefox-91.9.0esr-hu.xpi 566083 BLAKE2B 0535b4d50c4e864dc17d5271b42083286a2ed58b18e935620701f8230a2c50dd8030c6b84c8ce54f15679cd1199ebe0929f4c0bb039306afc774dc6a2b65b011 SHA512 a9617431316de400435af7d7c5860239c4b0d75883ff326264506e7d31662b7be02f38a582a04cce81a378a9af7bc8da6dd8090b453e1f86d92d3239be531559
68 +DIST firefox-91.9.0esr-hy-AM.xpi 579765 BLAKE2B fa600e801b797fb1be7db1eb4c18458745b844a4ee5fa5c3959812334df6158fd25c0cbb2009ef56e4151525881cd7421d7a30bf21e2420dd197a17cbde72b86 SHA512 a68be69300c55cbc779f6d040fd28b6f4511584a8c9b49fe1fec57c501b81825fb377a7147bbd76098c379ad5050e74aebed9e4ba3908417c056d6143a9b92ba
69 +DIST firefox-91.9.0esr-ia.xpi 532145 BLAKE2B 34ec0c3510b0786bd08df34a0d403bd5658e1b16054f54bfbd477075abca239ebf27c6d68182a7ebb815f3790045fffcffd277ac1ac915458987230108baf323 SHA512 b4ed164a5a7e294ef1618e1ca5817131e881b7936fa76fa65362d688a8be198957884bd4c974d1ffe32896079a1b1bbe17b2c9596cf4ce69e6aa1b3674bf26cb
70 +DIST firefox-91.9.0esr-id.xpi 519831 BLAKE2B a44655ebf8d29e46bf0717282629749f400234441acae7d08ec6d964ae16444194ba6e0fe6264f7a1f700d9eae5d590f795bee9f4c2600541db5926001adce31 SHA512 9d410bf3711876a7a4145ed55685b35140dd60562d60693ba98c1e6acf679266c33c6700dba7117047f12509f41549c24899b293c9fa938639895e780bdacec1
71 +DIST firefox-91.9.0esr-is.xpi 470227 BLAKE2B c17ce3a944d4202d07e082b6a584a2b8c7211e2bd5b2c4823c82ad5dd44581a7a757517204fc0e62744f7124b6bff808623c6354018667b8a63c40933a74659a SHA512 80c0c19eb7612fd2ad4b5642639f208e98e44294bc68bcd1d0c93806585bfe1e2dfd8dac1ee543a15e3369851bdba7053dec2adcb92065c75332d587e654f611
72 +DIST firefox-91.9.0esr-it.xpi 459094 BLAKE2B dbef8dca3d64470e294e126b794af7da2d504d93f61c2d886c89c10faa3e1980798e7b8c95df87706f95f366701f2938d36da4f202f96845e38980d849c5d749 SHA512 59d6707da0fa7e401100173708474d1333a77c1d32d645b44c6cafdb629100fb45092d2438dbf8f26bf1549b695714de31d126fd8cc7d5ead3f3c8db48f56c7c
73 +DIST firefox-91.9.0esr-ja.xpi 588083 BLAKE2B 775797fd2d92967a8106d9c38e81e9b3fd142cda0aa74ebba4ddb0f5bf8e6d11f7d4a6ab83f7b9a96c87cd575372a5f58a99a2bbb56459e3d84ad7fcd9c5440a SHA512 5e00899ff8813a3a3698ab068fc92b62c1f24e8cc5ae112adb3821a483a2ed3940ac0145d160899023a6adff5ada3fe76d2c98cc6c2931809ed26961783fa703
74 +DIST firefox-91.9.0esr-ka.xpi 592244 BLAKE2B 15276114b4c22675e0ba3b2558a3e66af26c764dd7165ef6dd0a1d48d28e542ef1c4eaa3847fa5fe0e29c48a8b3ee010d7eda938d31c886cb4b56936ac6010fb SHA512 016647180407fc6bcf92d915260ad57cd7054fd44d7946e6d90910c3aace23742a64685392af47488a5c479e397ac5fa3354b5f3f2c4555edd7f0c265fefd592
75 +DIST firefox-91.9.0esr-kab.xpi 545013 BLAKE2B 63cc363264e65f9712dbe52d2aaa26219e023f16f3412231efd8a6632d38e860c49adf86082a1badacb2ba5187f90d3cc35cb7534fb5ab3f554b5305aeeba098 SHA512 5e3536cbee93040fb39409fc78530343555bfededd3885a3088965891f31b478a8bbc5c13ab91b8eca9c5beb968f4c6b589a1d5fa9d7884c848590be42f79eed
76 +DIST firefox-91.9.0esr-kk.xpi 605553 BLAKE2B 4e6f57c1fbb45fe82fd892cffc89b93c57269563255d74ed0ef4c7acbd3bdea4304ac64bf044eb7799535e23f44631345a6f83e38e6f5a89d6e7a15fb5929bd6 SHA512 1f9af806923e2a1a5e313a2c5ccac55061c8e89e0b50f0cc7c0385f5dbd2619037a7b48a8e59a806926fac863fced3646251a0c72f3c318575c07bf77dcc1dbc
77 +DIST firefox-91.9.0esr-km.xpi 533110 BLAKE2B daaf504a1f1d01bec3403712890f3e438fde7ea81fef9a147f188a8212a94037a2bc00b6b2d40c7b5bf45247c2ec45097f595c963dfabf1621601fd7d7708990 SHA512 4e9f30d2b14441d739f9a46f6788d1ede20801406a05032122b75ad60c067ad3f2e499e2289b6e46f97d3581a46a6d7d05706e78151e2beec8f33af252368b0f
78 +DIST firefox-91.9.0esr-kn.xpi 498972 BLAKE2B b8e456ba0aee0e976f9bfec744e2fe6fe00a333846ae95b6df105e06e75feee5794fd101f61f64a61c9db135d16fd58f2bc00ae13f39a96723680ffcbc69062a SHA512 98d2ef78d63bccfe4297f4c03b8f779a719114338fdf44584b4fa208c86ee2c25d4b9edc96b905b3b1df37ac6dc7fe231d6aabef6eb45ce25d2bf9c69eb916cc
79 +DIST firefox-91.9.0esr-ko.xpi 579065 BLAKE2B b3748e9ef01125377ff30e27039cc2f945f3126fb26a47736724df65274e49b42ac25a435ed016cef1541121a544e93caed0643839224063407bc3440a49c1a2 SHA512 e54c373d97adcd08906bf3af8ac9523bb4637e8424b3b6824c0bfe51d3469f5530120adcbeafd6f8a469d65c68057d2f8ebf4e07a3fbc66b0a426d282554fc33
80 +DIST firefox-91.9.0esr-lij.xpi 470175 BLAKE2B 230c64869b916d8fbf27246886577484c191b68989a559d25b42cfad22d5f99ebbf0c9863e83205eeeef7cf5b920f146ddbc1903d25a442c7f6df7d7210b1c5d SHA512 eff03fa6bc7e0a6b6a59a0997cf487b25d45010c5f797160a0c1645c6812cfdd73dda22d3a58acac9e6abf5b755acb3ed635b96c06d4763be1a1d3579dcf1a43
81 +DIST firefox-91.9.0esr-lt.xpi 560114 BLAKE2B ff49024db893a512e272c391e2ba1effad16768bcb81f87cef671410225ddcf46d57e520cf896a84b08bcbf02abaabdf4bb9871ee44b913f008e4fa0c646d14e SHA512 67a840bd3c7f01d7fa64ef5afddef2919fab37f4c8c3090e6669233946975bde09060fb2c452a10bda620636defb74f2816309a317b3354895b89ef7a258675c
82 +DIST firefox-91.9.0esr-lv.xpi 462464 BLAKE2B 18a863c07c62ee35f7d8b7684d3b9ac6c9b2d24d79efcfc1715ff95eda0e44643e4f2cb9b9a9c8ffc563ff3056417d67bb96dff625db9f1c5cf5a84dea98273a SHA512 36bd2ef7b0ac2813430247b6d0b922eb7de25af26b0776ffae92c2362f1fc1b6c60d5ee3076d3f8c47d1cd097326b464996b08687a7a9d2fb35f0392cc26b9ba
83 +DIST firefox-91.9.0esr-mk.xpi 465339 BLAKE2B 575551634be9148ddbac3d948028369ef44fa83d8e702ee24eac9aef6a62ab58004dcf22fb6ad8ff0d58784105452fe9ba7ead026ac21406a38405d7753b95e1 SHA512 4a4bba0746607fd7cf7844f78c98b4026636d9a99f5e0191c68871c93ddab94da730927da183eeae49e07be5f763ddeb0b9c075eb631d1db1ac240eaaac4dffd
84 +DIST firefox-91.9.0esr-mr.xpi 532126 BLAKE2B d1a5bc9a6076a0b2b2f4a6a6439e0d249e06a76dd2dfaa21168485c687f455e7010f412ad28e598ec3f5812ebc1e3b81b6a9adf3e2ecb7443c45c42460f63083 SHA512 421c2c36c85850fb61da9c65ae61ea0bdb2273440d472b63511444c4a4345383908e68e95b22b7297f31efc9e2ed9fb816e31618d7929772dc0a528f74c1f033
85 +DIST firefox-91.9.0esr-ms.xpi 447341 BLAKE2B 95401a97345175bf4e47a7e86954eb2777ce1c7125279a55a9cf6f491ca3157c7a0c986e34cec7be3fe725003eb515b890da65ec839cb82098f99a72d4d8f270 SHA512 622d3e6c131aebe3c7aa303fd0007b2ade21ee40128a5d7f7c84d22a59ab53391506a63a7c46efb29ad9e2094352d0a33b390facf34c7457e44c72450f0e08a6
86 +DIST firefox-91.9.0esr-my.xpi 516300 BLAKE2B a7fa279de82384ddddd88bc14f64b3732232997e4111008dfa4998f31e5345c3c8723f0052e3496390419e62d438351d3a1d91c883afbcb650d71524a33241d2 SHA512 ce6892bb26de06a01f7fdfc45650e6308579c7f2863f9836b57573db7939d7fdd0a27c93f79d6470043ac227fdb61c84de1d7dfefe8ab839e9e3a30b661fbcf6
87 +DIST firefox-91.9.0esr-nb-NO.xpi 529420 BLAKE2B ce31193c9580c5d2ac7e9e9a3dc3754f4e886d5cafe4b14209aec55dc6051b6ffe3a093f360bb952dd2b62d52820fd867da02a88bc33bbf25289b7461bf8d50a SHA512 3980ebdcbd48b96d08dedab50e4d6c28e0006601ccc64f9306b89efff5a4d6fd6cbae4132160dc8fd21d7aec66de4d73fb1b456f87ae19d533a6b72871e511e9
88 +DIST firefox-91.9.0esr-ne-NP.xpi 485220 BLAKE2B 8af37db3a936d9b5aa2ebf71b22c3d85080a0b546ca8e748222aba5086a2ae55431081040bb49ae2fa1517525b8029a1f8d0d237d3a037b97f56d47abf74e281 SHA512 cbe25214852054e08b41af418e5635b20191bd997730c2c096c7ca1cee92882277238ffb8aecc1d406680c2e9fc03c895b20af7cea8ab379958733d578cac93d
89 +DIST firefox-91.9.0esr-nl.xpi 537388 BLAKE2B 848b8901b1480f95c0cb021727ecd00d2881c50bf1d6d489c19a79391cc635b7d34d5b8dbfdb16a77a33a20b2b0124e1ae4ef143b9b12e0e04f65ae49f53d646 SHA512 683ff16e9f014f594bf2d8ac4feda163f4caca6a0bdf02dd3068600fdc26db0a058c1d5f2fd501668ba59d9d9124cb3026f7eb34761f3235b01e9d5d24930665
90 +DIST firefox-91.9.0esr-nn-NO.xpi 531673 BLAKE2B 438894684ff5ad437b116a91bdfef9bb52ca2dc90aacc273d89da76e5fb5c134410846fe1953df20dd590512eeacbc473fe73bb2381d37d84f9263025569751a SHA512 ccb7045cb426cc3c372a4e698a752cefd19e6c29d163e1a94b960344b1378b4d73801088488998dc687b36def27de399d7a1f6f34f521402d167a172679aa257
91 +DIST firefox-91.9.0esr-oc.xpi 552938 BLAKE2B 40f39425048101c5330d77592320b44f8ff1cd74ff9ef451764d8723d6f8e5de8d0139a765ffd96aa176884800df87684f1c9bdc5240765621d8c092f66feaa9 SHA512 e4392439b229107db88684aa11a47f17d14e24c69db84dcd4ab30ae20119ee5d63784ba0206c19a0326d7a3f66d44afbf808ff6f8d93f3ddef358cb28967bb37
92 +DIST firefox-91.9.0esr-pa-IN.xpi 595974 BLAKE2B 7b9287da6718b7b6fc4fe3a43c414aa0e8629ade284e25f7fdec346fbc9078dbe54bef4bef2b26fa7dea3e9aa728be9ea44bbfa9c0ca4e899dbb20a0f34ebafe SHA512 f74438ccf2160196373eddfd4d8839a10ab2ead100f0a05dc9f43bc186b484b79e16eed319c84afa935d4ebb4027094766d5e993ee27e67a6e236497c062b6e1
93 +DIST firefox-91.9.0esr-pl.xpi 555619 BLAKE2B 2d210de181f2f9e247c3bb003b6a3cb3c4f15629bd7f294fbcd49cd71f8181a05715294f7c850bc4bef268190d05ca2ce1271211a55129831fd542e7a4dff6e6 SHA512 ac5cec8ca29a4a0424f0c3be1335bb8151291c98790f2c76550c89906f6c0e18d9ad9bb5ead8089148bd9dec92ae40aae753fa083d65493b8a35eb7b6c78e88a
94 +DIST firefox-91.9.0esr-pt-BR.xpi 542613 BLAKE2B b5c2a4f2e8727a81aa683becc0d7d4af9e3671e69b5abff5b1128e568fe0c36fbe0d286ccf4d395e6bb67818bedab60b11a05efafb3df711069016cd1a9e0b27 SHA512 ea4841eba5080cc947bc5ef582d22b46aeb747e8ae1013f6b45b0a961bd9a8456f1e3772e9fc8d8a7d827f2c1b215c4239743716114139b6dff05e01712dfdc8
95 +DIST firefox-91.9.0esr-pt-PT.xpi 546338 BLAKE2B ee5e50a11fb5d65811f03afaa045bd7caf2fda8105ecdee182c3d62bb5edfbaf389bdcbac80b410883f3a2d1fac9a484356aba90de9052bf6626148d860cb81b SHA512 16d4ef571c5e3922889ad21186cf127c18ed523115476e465882269975cf130e42b9374e79069f225f14be2b391e79e4108dcb541265f6eb590550337655800d
96 +DIST firefox-91.9.0esr-rm.xpi 537360 BLAKE2B da592598aab21dcc1c8b7e198194b90186902d8adc49b1a85bdb2aaba63e3fa3327990f34c3d6bfb0fb38d19e3278aa8d08f18763c46a4ebc5665edab0e1ff96 SHA512 92917d31ad3dfb5b28a571edfa405a3ea530951e2bc2ec32adb149b7c52b7cb8a3872c9ec7e1478da748810ca20c56901726785bd95256d2a65cc40d4f540426
97 +DIST firefox-91.9.0esr-ro.xpi 529326 BLAKE2B e53b448a8045b5051a7483db1ff75fdd24f0496d3cc24001e3e502cf2da1a3154653bb510fa64a7c76a2ec73e3a9eeb7d20646c7053d677a9921892b0ed904d1 SHA512 b9faad2a10495334d96eab6502607f7246c3a21b214f80708b7e366747c254289a47761ab415098f4f38fa9ee1243776f91caf7d55b3628a367b5220aa68d1c6
98 +DIST firefox-91.9.0esr-ru.xpi 627119 BLAKE2B 550843ccca9fada76012a0884258ff013616fa58c8744d5d7f7e697e9787b12ce77515c9d3a7e7a543090de3f258a23e1dcb3bc04f72009d51d4c204541251a4 SHA512 b54221e41b7d46951b127eb0c7398765040b044b86afee4dfb5cf858487639de7fbdca4593cc0d3ef8ce52dd42a4dcc5308e2b6b4118efdbe9b952b8aa58e141
99 +DIST firefox-91.9.0esr-sco.xpi 504857 BLAKE2B 069c1b3018535663014df2ebf5a4d314b78990456249ef865a0ee7033af99efbac5a8710ebada4b8bfca0645df565666280f5f859511b77fd40ed81cdc7da63d SHA512 199825623e9524438f390c22d5047298b7a905dd72045f4f36db25a811e84c3ef533ee8ed5805cf42134f9981813ded74533841d9eccc9c31d1e3df6c51d2430
100 +DIST firefox-91.9.0esr-si.xpi 487949 BLAKE2B 1d4b22f31c4968f23d13d7357aafe7afae43100ce866a4fcfe8ed5c849ae9f8e7ef5479cb23699d5f7a0932ed9cf1c2e562c8dd3bc09049b0f0bf4cc83d3a641 SHA512 c6d3c0a04ba479baddc3664470d637e4477fb951d10feeb811ddaf536109285e6ce99b3a5ac934ca948ca60afce37222d467ebd365712c88f4886810499ef0e0
101 +DIST firefox-91.9.0esr-sk.xpi 566482 BLAKE2B 31fc7923d99cd938c3c957b70814330989c5942e85ec2c96c3b43a18650bd65f1fa61061271239a1f2170f0778d16887ace440bcf07d074cbeec917127f0b1d7 SHA512 eec6e78b7e6da6841401ee90e55f92e64aad166c82e08b6a1b069d19215987ddaa0469dd8821e0fad6db0e5fbbf807c5451fb5b7d44838c87e83ba8cd1696e7e
102 +DIST firefox-91.9.0esr-sl.xpi 538013 BLAKE2B 9e02552f32850a3c1ac7151399186016a9d8c7f8300fea370e7aa94b66051a1cbbff0f19c46690f0f40d123fa6f6cf3387a1262422fd79b976da7c71f6bcc706 SHA512 f4fac9fc17d4d51aec6ad23f3abf4d15606fd2f33bf63dc63d1c15abe818018b72ebb66929d592a009d6b782a6189cdc8e440593afb79be602fb4bc3d84fe245
103 +DIST firefox-91.9.0esr-son.xpi 425992 BLAKE2B 16ea43e2f86823371405cfb31d0c9d9a8aeecfdabf1e23610fea98273e5cce6d1c9d7fbefe4d97fb6fa65b7ac7cb97211b908fefce23ef60caf26ac94b6aa087 SHA512 907ea3f434d2b78e3d62373aa0b12205a6647cbd431e6b92e908d21e20eebec921a82076e3f96e86ee0c3ccf2d57101795cac3724069b9c20698e5f84bb6b329
104 +DIST firefox-91.9.0esr-sq.xpi 555988 BLAKE2B e3cfc8056d49332766c02183f3a1b6b65feb677a17053be423c218f827b9465b9d6325cff0c51245d80f1a699dc525eecd416c6d9c15a53ed7147154d908cbd7 SHA512 80102bc8c2cc9ca591a7952637efc2061e4b0737725d43acf4d5b1720d3b7e1bd73f15bf37ae5a4ce9e7eec0593bfae6dd961bff2555f00154f9bae6ec8459d8
105 +DIST firefox-91.9.0esr-sr.xpi 586068 BLAKE2B c5f5a635c1efcc1912ec5b14864126f975dd90372daf773eb5662c69f8ffde5892fa13c5ddd40f84cd1dfedaf714977afdf20e04f6dae1711c9ae3fe3dee21c5 SHA512 862a62ab1b3ca497305085bab269bf47f139be51213aa648689189e739a0fa9ee5687d9c2f54b5201314dea51a5e9ecc5ad4f888eb4028d7aa491aaec055a1a4
106 +DIST firefox-91.9.0esr-sv-SE.xpi 539967 BLAKE2B 2ef31d495462900322af60d0750b36371faaef7fc784fa3e06b20aa96ba2541f7cfb2d4a552ea4bc4102b5d83f41d8bf58dd06b343b54989a8dc1393303e8323 SHA512 1925ff7ca77d873b721af1b00105aa5972538949c930d20019f5b981807fd366061ae602b8b411866c121ce742e0d7876c82da4ffa695a1991dfafa9956708dd
107 +DIST firefox-91.9.0esr-szl.xpi 509809 BLAKE2B 0e4eab06497623f1bc24ccdd9269587e081af29d817afaf4b8370a8f89a7486d192117b236766131d6af56afd929da30fb17f56ed5754288c374fc3ec09bb29a SHA512 7d583653d1a9f1be7ad080fe53e8ea6f447eef538792a40d7ec4e6e87d9a69f61c2ea46680d1b37c426718140b8219d6a7854626c939f461082257de762e3f87
108 +DIST firefox-91.9.0esr-ta.xpi 513821 BLAKE2B 3078334e2f461e661de6be33c166ea05951f4d9b55befc9e1b43b50ac013a2882bf31ca1f5a22fa892b3fc21b728661cfd87f29c2c6e87d0b2c41907d832e63f SHA512 0594c0c7df2d1586a965388ca0411b8cd4073e156befd83940c4e76959ffedae97f4fc312b3ff2028ce70ce2bfb24c59416157f04619cdadbf992b68ce3c347d
109 +DIST firefox-91.9.0esr-te.xpi 549956 BLAKE2B dd197328b7c0682457451bf4058d7d16bcfd4d09d9dd870df922e924bf66f2c387e926b8237b3687ad79599e21ae625e9f171849bae982a23ccf587599a7851f SHA512 f64ede8e879e301b9dc8028695b8c72c79b3fa958dd0e24ee829db1a43a6c3a87c4612463705dd65095df41e21aa57178e5a41df2bb1c8576e0c14674671b274
110 +DIST firefox-91.9.0esr-th.xpi 607069 BLAKE2B c58fa3216c44a88c9d964b3ea2b7094b36bd1275f947709195308519f5084bf0709551c8a715c6ef188cf7ad64b878779172ba727d056e3c325dde8f72f3e6b6 SHA512 5779ffd7dc67c007722c1b211f3801ec0a76069f256c36399b016f66302fabe899ebfcbd85e196c62bff744f30d62c84f1ff66206a813d87ff5be12f5666c08d
111 +DIST firefox-91.9.0esr-tl.xpi 516127 BLAKE2B c5a4ba6dba0b9017515e6bccb3810bfc8cf1407cfc42354c2222d3d93f0d2fee3ba90fa2580725a3de6269d16b4b130e53fec938d1a21daedb402437b1be6756 SHA512 2e4d5193f7c2aa9d19e9de62aede42b03f50e7f5fa1cd4461e9554c2fac9b49f7e58c6f8043c840571a407d7f5e252bfe0e15b0e8546b6ea2b50ffeadaad9823
112 +DIST firefox-91.9.0esr-tr.xpi 553689 BLAKE2B fae2b82a87aa6a7767cc6c682407a80bb1bde9a98fd4d0669af4864e9e4e3591b1502843962f3133b097358000638b55d2c82ec5d79b590246aaa62b0c732763 SHA512 5f4ad0d618cdde86a45a270090d696230ead0d13b2edd945d27c19c3adc4d8c1a5176df8a7ef3e8b9fe1efd59d316b30b04bf765c3a5e03e3eba4a45d90ce33b
113 +DIST firefox-91.9.0esr-trs.xpi 491077 BLAKE2B 692615a9f48e6f6b01ee3b64a6f6c192f88800f3a43ee09f375308804e613d662c7c64c337c76286516a66ac75fafc7d1b64d2a9454acb030ef77b5864a1d791 SHA512 a4a4ff3d9ae62496b6c1a4ad47a3a8a3d03fb99247ce37b2ad95a8c9f19afba6a8b63bf985a20b6aabbee74763d57803ffe27dc0ab86f737b36a7d2f910f1be3
114 +DIST firefox-91.9.0esr-uk.xpi 620502 BLAKE2B 6d524fdb23202df338684dc5e892a24abd9877f3f669beada8a97e3b4fcf2e99b1a9d7e83cb8f54c8981aa57cd6fd19b20943109728cf8f8cbca036f7309ab37 SHA512 9a69261c71ddacdc570365847674082439b40e17957ce9509ae226c80ac2c5a117b9a69fb5d11a703de2695db75e427c7be085b4303bdefdcf1265890818f677
115 +DIST firefox-91.9.0esr-ur.xpi 557308 BLAKE2B 21fb3be9f78f427aa21f046367efa5442993de89914f23f93e859d64975b5409c43e15d9e01d43f0bc5ba851db3706759c2e5af1faa82581ee2a6f8534957f12 SHA512 a6cd0567c57da68250ab29c240675c9cd3299a078e09057e8bb04d5287c17557582fc16c856ce9c10b5c343152528014571dc225e8b84e4c4d16f4135aca0707
116 +DIST firefox-91.9.0esr-uz.xpi 466876 BLAKE2B 7a313daab0231ff7926e1589292a24b3620547f7454701aa417d1c2e9c9c1886ed82350ac8289af5926b7413cf435069eabe49c5c3059251e7bfb8a005c9259c SHA512 118c5f40b48449e61fd06a9f4ffc39c5203484148e18285d6c7b22fac3429531eee1788ce2211502b4d208852e0cb6d6a604620df9c7761bae40fb38997483db
117 +DIST firefox-91.9.0esr-vi.xpi 573486 BLAKE2B 78a3e8b3b926fe735037e6032ec8a47d493a618d18afad30e9d0ae9b7eaaef2b03c90ded765224d476c5f4aa322535edb620031b73b0e37a7a213eb7744f5de6 SHA512 285e1daffc102e8a25b2d74c0fdcd063dc5542819a6b651b1644e702b0848dafc696facdcedd18c506cd4354f7f501cdc26f68336f66b0bbc710dcbc659a7bdc
118 +DIST firefox-91.9.0esr-xh.xpi 428177 BLAKE2B 197dcfc2298edfa0b421322c275998dea4087e43108b3e279463bd7808e24c64fa5348cd258f4c49ed77c9ad28341d09da815ee5f4e663db590c44124b4b0554 SHA512 59d2d7877d539be879777ac8f48d6e98dee4eefe4cd92c1f1363e7cd7e1a909863d57109b0c47e159a55678677285380b7755e0d3c9f06cdc7eec7cbdb03d098
119 +DIST firefox-91.9.0esr-zh-CN.xpi 575381 BLAKE2B 662cf6768693e480184a7e789d1a823dd12aa7c710f5d8dae46398d78d2f827683c7d983ee31116937db841887f32acd4ddf75a34fdf29f8c9cb90b113a3f82d SHA512 ab6adcc8f1071aacda8452b0d58d26ee8f1072189b7459f9191e3a4c1b4a9f864ca3483fe6bf9f642f962d5f223d5f11364173349519a7ce7a4c7451c08d27cf
120 +DIST firefox-91.9.0esr-zh-TW.xpi 576235 BLAKE2B 643c0d43f76a30eb1e6b9dae66798a6c4bde081e95585327377c7890c06eb27f1a35bb886ed3dcb6ff42e8766d0429fe5c7129ad8df1fb8735bba86f1860223a SHA512 326ae088155fe30964ce58b564dfc0879d5f94b14c31173194e424f3a2862a4619d76852118403ac92ed61581e5419395f219cdb8bc9a3056beded03d3b83d96
121 +DIST firefox-91.9.0esr.source.tar.xz 384516460 BLAKE2B 5b265ff907ff520edadb1211ceb9201419349555bc4ab9acbf1d50ce9f0a9bbd26b830f58aec899d882c25f8036bf4ea1df39c7ad144d0305c69826816eec48a SHA512 fd69d489429052013d2c1b8b766a47920ecee62f0688505758f593b27ae66d6343b9107163749406251aedebdf836147e4d562415a811b04d7ab2ae31e32f133
122 DIST firefox-91esr-patches-06j.tar.xz 17668 BLAKE2B ebe51e06197b70b0f0661724e1ccf2f2aaf0e0eb4576e795963c6a0f9c32f293825b8d2a487dcadd8e5e1cb5db7c756016c50f34e6bc6df451b44e54ef76686e SHA512 3af533a49c5e4a6fdb5be2225256655d402055332ba98f3aa159fcc78c4a9901a541b63d68cb02440f55ede04858388881118f655efebc75b18c316e0ab522a7
123 DIST firefox-99-patches-03j.tar.xz 20956 BLAKE2B 5e24ce954eefbf4ddabc70742d168adfadd3eb62bef8fdf107e90634f511f9495075e5c2cb5fc5706360ee653fe073d1e6003a0a09a29bdd63ae6711050eaaa0 SHA512 1a3232eed08610d1f4a27ec9ad79f5556ab8434f29ef1b76c3ac7c5607400cf916bde5fa988196c33c6404f37c970a87beaf4073b18a05784b3c810b69f7b551
124 DIST firefox-99.0.1-ach.xpi 449728 BLAKE2B 82060402c9f3692da5dce973b0ca89ac5fcf89198bbd14476a02c9ccdc784298283636c6fec545fca476fff0b802c1bf9d57e65fc9e05da29cb16c6383f1b4d1 SHA512 3b140416bfc8df7add0a7bba7494c8630ab2ab90f8152bca471dce54d8fd6e5c12b25d8139bd22ac42123b80b5f784913f83690370b3f2869dc4a2c4cbd0b651
125
126 diff --git a/www-client/firefox/firefox-91.9.0.ebuild b/www-client/firefox/firefox-91.9.0.ebuild
127 new file mode 100644
128 index 000000000000..52edeb0bc2c7
129 --- /dev/null
130 +++ b/www-client/firefox/firefox-91.9.0.ebuild
131 @@ -0,0 +1,1244 @@
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-06j.tar.xz"
138 +
139 +LLVM_MAX_SLOT=14
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:14
223 + sys-devel/llvm:14
224 + clang? (
225 + =sys-devel/lld-14*
226 + pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] )
227 + sys-devel/clang:14
228 + )
229 + )
230 + (
231 + sys-devel/clang:13
232 + sys-devel/llvm:13
233 + clang? (
234 + =sys-devel/lld-13*
235 + pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
236 + )
237 + )
238 + (
239 + sys-devel/clang:12
240 + sys-devel/llvm:12
241 + clang? (
242 + =sys-devel/lld-12*
243 + pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
244 + )
245 + )
246 + )
247 + amd64? ( >=dev-lang/nasm-2.13 )
248 + x86? ( >=dev-lang/nasm-2.13 )"
249 +
250 +COMMON_DEPEND="
251 + >=dev-libs/nss-3.68
252 + >=dev-libs/nspr-4.32
253 + dev-libs/atk
254 + dev-libs/expat
255 + >=x11-libs/cairo-1.10[X]
256 + >=x11-libs/gtk+-3.4.0:3[X]
257 + x11-libs/gdk-pixbuf
258 + >=x11-libs/pango-1.22.0
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/libxcb:=
271 + x11-libs/libXcomposite
272 + x11-libs/libXdamage
273 + x11-libs/libXext
274 + x11-libs/libXfixes
275 + x11-libs/libXrender
276 + x11-libs/libXt
277 + dbus? (
278 + sys-apps/dbus
279 + dev-libs/dbus-glib
280 + )
281 + screencast? ( media-video/pipewire:= )
282 + system-av1? (
283 + >=media-libs/dav1d-0.8.1:=
284 + >=media-libs/libaom-1.0.0:=
285 + )
286 + system-harfbuzz? (
287 + >=media-libs/harfbuzz-2.8.1:0=
288 + >=media-gfx/graphite2-1.3.13
289 + )
290 + system-icu? ( >=dev-libs/icu-69.1:= )
291 + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
292 + system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
293 + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
294 + system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
295 + system-webp? ( >=media-libs/libwebp-1.1.0:0= )
296 + wifi? (
297 + kernel_linux? (
298 + sys-apps/dbus
299 + dev-libs/dbus-glib
300 + net-misc/networkmanager
301 + )
302 + )
303 + jack? ( virtual/jack )
304 + selinux? ( sec-policy/selinux-mozilla )
305 + sndio? ( media-sound/sndio )"
306 +
307 +RDEPEND="${COMMON_DEPEND}
308 + !www-client/firefox:0
309 + !www-client/firefox:rapid
310 + jack? ( virtual/jack )
311 + openh264? ( media-libs/openh264:*[plugin] )
312 + pulseaudio? (
313 + || (
314 + media-sound/pulseaudio
315 + >=media-sound/apulse-0.1.12-r4
316 + )
317 + )
318 + selinux? ( sec-policy/selinux-mozilla )"
319 +
320 +DEPEND="${COMMON_DEPEND}
321 + x11-libs/libICE
322 + x11-libs/libSM
323 + pulseaudio? (
324 + || (
325 + media-sound/pulseaudio
326 + >=media-sound/apulse-0.1.12-r4[sdk]
327 + )
328 + )
329 + wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
330 + amd64? ( virtual/opengl )
331 + x86? ( virtual/opengl )"
332 +
333 +S="${WORKDIR}/${PN}-${PV%_*}"
334 +
335 +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
336 +# overridden in the enviromnent (advanced hackers only)
337 +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
338 + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
339 +fi
340 +
341 +llvm_check_deps() {
342 + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
343 + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
344 + return 1
345 + fi
346 +
347 + if use clang ; then
348 + if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
349 + einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
350 + return 1
351 + fi
352 +
353 + if use pgo ; then
354 + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
355 + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
356 + return 1
357 + fi
358 + fi
359 + fi
360 +
361 + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
362 +}
363 +
364 +MOZ_LANGS=(
365 + af ar ast be bg br ca cak cs cy da de dsb
366 + el en-CA en-GB en-US es-AR es-ES et eu
367 + fi fr fy-NL ga-IE gd gl he hr hsb hu
368 + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
369 + pa-IN pl pt-BR pt-PT rm ro ru
370 + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
371 +)
372 +
373 +# Firefox-only LANGS
374 +MOZ_LANGS+=( ach )
375 +MOZ_LANGS+=( an )
376 +MOZ_LANGS+=( az )
377 +MOZ_LANGS+=( bn )
378 +MOZ_LANGS+=( bs )
379 +MOZ_LANGS+=( ca-valencia )
380 +MOZ_LANGS+=( eo )
381 +MOZ_LANGS+=( es-CL )
382 +MOZ_LANGS+=( es-MX )
383 +MOZ_LANGS+=( fa )
384 +MOZ_LANGS+=( ff )
385 +MOZ_LANGS+=( gn )
386 +MOZ_LANGS+=( gu-IN )
387 +MOZ_LANGS+=( hi-IN )
388 +MOZ_LANGS+=( hy-AM )
389 +MOZ_LANGS+=( ia )
390 +MOZ_LANGS+=( km )
391 +MOZ_LANGS+=( kn )
392 +MOZ_LANGS+=( lij )
393 +MOZ_LANGS+=( mk )
394 +MOZ_LANGS+=( mr )
395 +MOZ_LANGS+=( my )
396 +MOZ_LANGS+=( ne-NP )
397 +MOZ_LANGS+=( oc )
398 +MOZ_LANGS+=( sco )
399 +MOZ_LANGS+=( si )
400 +MOZ_LANGS+=( son )
401 +MOZ_LANGS+=( szl )
402 +MOZ_LANGS+=( ta )
403 +MOZ_LANGS+=( te )
404 +MOZ_LANGS+=( tl )
405 +MOZ_LANGS+=( trs )
406 +MOZ_LANGS+=( ur )
407 +MOZ_LANGS+=( xh )
408 +
409 +mozilla_set_globals() {
410 + # https://bugs.gentoo.org/587334
411 + local MOZ_TOO_REGIONALIZED_FOR_L10N=(
412 + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
413 + )
414 +
415 + local lang xflag
416 + for lang in "${MOZ_LANGS[@]}" ; do
417 + # en and en_US are handled internally
418 + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
419 + continue
420 + fi
421 +
422 + # strip region subtag if $lang is in the list
423 + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
424 + xflag=${lang%%-*}
425 + else
426 + xflag=${lang}
427 + fi
428 +
429 + SRC_URI+=" l10n_${xflag/[_@]/-}? ("
430 + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
431 + SRC_URI+=" )"
432 + IUSE+=" l10n_${xflag/[_@]/-}"
433 + done
434 +}
435 +mozilla_set_globals
436 +
437 +moz_clear_vendor_checksums() {
438 + debug-print-function ${FUNCNAME} "$@"
439 +
440 + if [[ ${#} -ne 1 ]] ; then
441 + die "${FUNCNAME} requires exact one argument"
442 + fi
443 +
444 + einfo "Clearing cargo checksums for ${1} ..."
445 +
446 + sed -i \
447 + -e 's/\("files":{\)[^}]*/\1/' \
448 + "${S}"/third_party/rust/${1}/.cargo-checksum.json \
449 + || die
450 +}
451 +
452 +moz_install_xpi() {
453 + debug-print-function ${FUNCNAME} "$@"
454 +
455 + if [[ ${#} -lt 2 ]] ; then
456 + die "${FUNCNAME} requires at least two arguments"
457 + fi
458 +
459 + local DESTDIR=${1}
460 + shift
461 +
462 + insinto "${DESTDIR}"
463 +
464 + local emid xpi_file xpi_tmp_dir
465 + for xpi_file in "${@}" ; do
466 + emid=
467 + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
468 +
469 + # Unpack XPI
470 + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
471 +
472 + # Determine extension ID
473 + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
474 + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
475 + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
476 + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
477 + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
478 + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
479 + else
480 + die "failed to determine extension id"
481 + fi
482 +
483 + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
484 + newins "${xpi_file}" "${emid}.xpi"
485 + done
486 +}
487 +
488 +mozconfig_add_options_ac() {
489 + debug-print-function ${FUNCNAME} "$@"
490 +
491 + if [[ ${#} -lt 2 ]] ; then
492 + die "${FUNCNAME} requires at least two arguments"
493 + fi
494 +
495 + local reason=${1}
496 + shift
497 +
498 + local option
499 + for option in ${@} ; do
500 + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
501 + done
502 +}
503 +
504 +mozconfig_add_options_mk() {
505 + debug-print-function ${FUNCNAME} "$@"
506 +
507 + if [[ ${#} -lt 2 ]] ; then
508 + die "${FUNCNAME} requires at least two arguments"
509 + fi
510 +
511 + local reason=${1}
512 + shift
513 +
514 + local option
515 + for option in ${@} ; do
516 + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
517 + done
518 +}
519 +
520 +mozconfig_use_enable() {
521 + debug-print-function ${FUNCNAME} "$@"
522 +
523 + if [[ ${#} -lt 1 ]] ; then
524 + die "${FUNCNAME} requires at least one arguments"
525 + fi
526 +
527 + local flag=$(use_enable "${@}")
528 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
529 +}
530 +
531 +mozconfig_use_with() {
532 + debug-print-function ${FUNCNAME} "$@"
533 +
534 + if [[ ${#} -lt 1 ]] ; then
535 + die "${FUNCNAME} requires at least one arguments"
536 + fi
537 +
538 + local flag=$(use_with "${@}")
539 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
540 +}
541 +
542 +pkg_pretend() {
543 + if [[ ${MERGE_TYPE} != binary ]] ; then
544 + if use pgo ; then
545 + if ! has usersandbox $FEATURES ; then
546 + die "You must enable usersandbox as X server can not run as root!"
547 + fi
548 + fi
549 +
550 + # Ensure we have enough disk space to compile
551 + if use pgo || use lto || use debug ; then
552 + CHECKREQS_DISK_BUILD="13500M"
553 + else
554 + CHECKREQS_DISK_BUILD="6400M"
555 + fi
556 +
557 + check-reqs_pkg_pretend
558 + fi
559 +}
560 +
561 +pkg_setup() {
562 + if [[ ${MERGE_TYPE} != binary ]] ; then
563 + if use pgo ; then
564 + if ! has userpriv ${FEATURES} ; then
565 + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
566 + fi
567 + fi
568 +
569 + # Ensure we have enough disk space to compile
570 + if use pgo || use lto || use debug ; then
571 + CHECKREQS_DISK_BUILD="13500M"
572 + else
573 + CHECKREQS_DISK_BUILD="6400M"
574 + fi
575 +
576 + check-reqs_pkg_setup
577 +
578 + llvm_pkg_setup
579 +
580 + if use clang && use lto ; then
581 + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
582 + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
583 + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
584 +
585 + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
586 + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
587 + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
588 +
589 + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
590 + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
591 + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
592 + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
593 + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
594 + eerror " - Build ${CATEGORY}/${PN} without USE=lto"
595 + eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
596 + eerror " llvm/clang/lld/rust chain depending on your @world updates)"
597 + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
598 + fi
599 + fi
600 +
601 + if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
602 + && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
603 + # bug 792705
604 + eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
605 + die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
606 + fi
607 +
608 + python-any-r1_pkg_setup
609 +
610 + # Avoid PGO profiling problems due to enviroment leakage
611 + # These should *always* be cleaned up anyway
612 + unset \
613 + DBUS_SESSION_BUS_ADDRESS \
614 + DISPLAY \
615 + ORBIT_SOCKETDIR \
616 + SESSION_MANAGER \
617 + XAUTHORITY \
618 + XDG_CACHE_HOME \
619 + XDG_SESSION_COOKIE
620 +
621 + # Build system is using /proc/self/oom_score_adj, bug #604394
622 + addpredict /proc/self/oom_score_adj
623 +
624 + if use pgo ; then
625 + # Allow access to GPU during PGO run
626 + local ati_cards mesa_cards nvidia_cards render_cards
627 + shopt -s nullglob
628 +
629 + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
630 + if [[ -n "${ati_cards}" ]] ; then
631 + addpredict "${ati_cards}"
632 + fi
633 +
634 + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
635 + if [[ -n "${mesa_cards}" ]] ; then
636 + addpredict "${mesa_cards}"
637 + fi
638 +
639 + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
640 + if [[ -n "${nvidia_cards}" ]] ; then
641 + addpredict "${nvidia_cards}"
642 + fi
643 +
644 + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
645 + if [[ -n "${render_cards}" ]] ; then
646 + addpredict "${render_cards}"
647 + fi
648 +
649 + shopt -u nullglob
650 + fi
651 +
652 + if ! mountpoint -q /dev/shm ; then
653 + # If /dev/shm is not available, configure is known to fail with
654 + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
655 + ewarn "/dev/shm is not mounted -- expect build failures!"
656 + fi
657 +
658 + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
659 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
660 + # get your own set of keys.
661 + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
662 + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
663 + fi
664 +
665 + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
666 + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
667 + fi
668 +
669 + # Mozilla API keys (see https://location.services.mozilla.com/api)
670 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
671 + # get your own set of keys.
672 + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
673 + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
674 + fi
675 +
676 + # Ensure we use C locale when building, bug #746215
677 + export LC_ALL=C
678 + fi
679 +
680 + CONFIG_CHECK="~SECCOMP"
681 + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
682 + linux-info_pkg_setup
683 +}
684 +
685 +src_unpack() {
686 + local _lp_dir="${WORKDIR}/language_packs"
687 + local _src_file
688 +
689 + if [[ ! -d "${_lp_dir}" ]] ; then
690 + mkdir "${_lp_dir}" || die
691 + fi
692 +
693 + for _src_file in ${A} ; do
694 + if [[ ${_src_file} == *.xpi ]]; then
695 + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
696 + else
697 + unpack ${_src_file}
698 + fi
699 + done
700 +}
701 +
702 +src_prepare() {
703 + if use lto; then
704 + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
705 + fi
706 +
707 + if use system-av1 && has_version "<media-libs/dav1d-1.0.0"; then
708 + rm -v "${WORKDIR}"/firefox-patches/0033-bgo-835788-dav1d-1.0.0-support.patch || die
709 + elog "<media-libs/dav1d-1.0.0 detected, removing 1.0.0 compat patch."
710 + elif ! use system-av1; then
711 + rm -v "${WORKDIR}"/firefox-patches/0033-bgo-835788-dav1d-1.0.0-support.patch || die
712 + elog "-system-av1 USE flag detected, removing 1.0.0 compat patch."
713 + fi
714 +
715 + eapply "${WORKDIR}/firefox-patches"
716 +
717 + # Allow user to apply any additional patches without modifing ebuild
718 + eapply_user
719 +
720 + # Make cargo respect MAKEOPTS
721 + export CARGO_BUILD_JOBS="$(makeopts_jobs)"
722 +
723 + # Make LTO respect MAKEOPTS
724 + sed -i \
725 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
726 + "${S}"/build/moz.configure/lto-pgo.configure \
727 + || die "sed failed to set num_cores"
728 +
729 + # Make ICU respect MAKEOPTS
730 + sed -i \
731 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
732 + "${S}"/intl/icu_sources_data.py \
733 + || die "sed failed to set num_cores"
734 +
735 + # sed-in toolchain prefix
736 + sed -i \
737 + -e "s/objdump/${CHOST}-objdump/" \
738 + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
739 + || die "sed failed to set toolchain prefix"
740 +
741 + sed -i \
742 + -e 's/ccache_stats = None/return None/' \
743 + "${S}"/python/mozbuild/mozbuild/controller/building.py \
744 + || die "sed failed to disable ccache stats call"
745 +
746 + einfo "Removing pre-built binaries ..."
747 + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
748 +
749 + # Clearing checksums where we have applied patches
750 + moz_clear_vendor_checksums target-lexicon-0.9.0
751 +
752 + # Create build dir
753 + BUILD_DIR="${WORKDIR}/${PN}_build"
754 + mkdir -p "${BUILD_DIR}" || die
755 +
756 + # Write API keys to disk
757 + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
758 + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
759 + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
760 +
761 + xdg_src_prepare
762 +}
763 +
764 +src_configure() {
765 + # Show flags set at the beginning
766 + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
767 + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
768 + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
769 + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
770 + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
771 +
772 + local have_switched_compiler=
773 + if use clang && ! tc-is-clang ; then
774 + # Force clang
775 + einfo "Enforcing the use of clang due to USE=clang ..."
776 + have_switched_compiler=yes
777 + AR=llvm-ar
778 + CC=${CHOST}-clang
779 + CXX=${CHOST}-clang++
780 + NM=llvm-nm
781 + RANLIB=llvm-ranlib
782 + elif ! use clang && ! tc-is-gcc ; then
783 + # Force gcc
784 + have_switched_compiler=yes
785 + einfo "Enforcing the use of gcc due to USE=-clang ..."
786 + AR=gcc-ar
787 + CC=${CHOST}-gcc
788 + CXX=${CHOST}-g++
789 + NM=gcc-nm
790 + RANLIB=gcc-ranlib
791 + fi
792 +
793 + if [[ -n "${have_switched_compiler}" ]] ; then
794 + # Because we switched active compiler we have to ensure
795 + # that no unsupported flags are set
796 + strip-unsupported-flags
797 + fi
798 +
799 + # Ensure we use correct toolchain
800 + export HOST_CC="$(tc-getBUILD_CC)"
801 + export HOST_CXX="$(tc-getBUILD_CXX)"
802 + tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
803 +
804 + # Pass the correct toolchain paths through cbindgen
805 + if tc-is-cross-compiler ; then
806 + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
807 + fi
808 +
809 + # Set MOZILLA_FIVE_HOME
810 + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
811 +
812 + # python/mach/mach/mixin/process.py fails to detect SHELL
813 + export SHELL="${EPREFIX}/bin/bash"
814 +
815 + # Set state path
816 + export MOZBUILD_STATE_PATH="${BUILD_DIR}"
817 +
818 + # Set MOZCONFIG
819 + export MOZCONFIG="${S}/.mozconfig"
820 +
821 + # Initialize MOZCONFIG
822 + mozconfig_add_options_ac '' --enable-application=browser
823 +
824 + # Set Gentoo defaults
825 + export MOZILLA_OFFICIAL=1
826 +
827 + mozconfig_add_options_ac 'Gentoo default' \
828 + --allow-addon-sideload \
829 + --disable-cargo-incremental \
830 + --disable-crashreporter \
831 + --disable-install-strip \
832 + --disable-strip \
833 + --disable-updater \
834 + --enable-official-branding \
835 + --enable-release \
836 + --enable-system-ffi \
837 + --enable-system-pixman \
838 + --host="${CBUILD:-${CHOST}}" \
839 + --libdir="${EPREFIX}/usr/$(get_libdir)" \
840 + --prefix="${EPREFIX}/usr" \
841 + --target="${CHOST}" \
842 + --without-ccache \
843 + --with-intl-api \
844 + --with-libclang-path="$(llvm-config --libdir)" \
845 + --with-system-nspr \
846 + --with-system-nss \
847 + --with-system-zlib \
848 + --with-toolchain-prefix="${CHOST}-" \
849 + --with-unsigned-addon-scopes=app,system \
850 + --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
851 + --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
852 +
853 + # Set update channel
854 + local update_channel=release
855 + [[ -n ${MOZ_ESR} ]] && update_channel=esr
856 + mozconfig_add_options_ac '' --update-channel=${update_channel}
857 +
858 + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
859 + mozconfig_add_options_ac '' --enable-rust-simd
860 + fi
861 +
862 + if [[ -s "${S}/api-google.key" ]] ; then
863 + local key_origin="Gentoo default"
864 + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
865 + key_origin="User value"
866 + fi
867 +
868 + mozconfig_add_options_ac "${key_origin}" \
869 + --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
870 + else
871 + einfo "Building without Google API key ..."
872 + fi
873 +
874 + if [[ -s "${S}/api-location.key" ]] ; then
875 + local key_origin="Gentoo default"
876 + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
877 + key_origin="User value"
878 + fi
879 +
880 + mozconfig_add_options_ac "${key_origin}" \
881 + --with-google-location-service-api-keyfile="${S}/api-location.key"
882 + else
883 + einfo "Building without Location API key ..."
884 + fi
885 +
886 + if [[ -s "${S}/api-mozilla.key" ]] ; then
887 + local key_origin="Gentoo default"
888 + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
889 + key_origin="User value"
890 + fi
891 +
892 + mozconfig_add_options_ac "${key_origin}" \
893 + --with-mozilla-api-keyfile="${S}/api-mozilla.key"
894 + else
895 + einfo "Building without Mozilla API key ..."
896 + fi
897 +
898 + mozconfig_use_with system-av1
899 + mozconfig_use_with system-harfbuzz
900 + mozconfig_use_with system-harfbuzz system-graphite2
901 + mozconfig_use_with system-icu
902 + mozconfig_use_with system-jpeg
903 + mozconfig_use_with system-libevent system-libevent "${SYSROOT}${EPREFIX}/usr"
904 + mozconfig_use_with system-libvpx
905 + mozconfig_use_with system-png
906 + mozconfig_use_with system-webp
907 +
908 + mozconfig_use_enable dbus
909 +
910 + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
911 +
912 + mozconfig_use_enable geckodriver
913 +
914 + if use hardened ; then
915 + mozconfig_add_options_ac "+hardened" --enable-hardening
916 + append-ldflags "-Wl,-z,relro -Wl,-z,now"
917 + fi
918 +
919 + mozconfig_use_enable jack
920 +
921 + mozconfig_use_enable pulseaudio
922 + # force the deprecated alsa sound code if pulseaudio is disabled
923 + if use kernel_linux && ! use pulseaudio ; then
924 + mozconfig_add_options_ac '-pulseaudio' --enable-alsa
925 + fi
926 +
927 + mozconfig_use_enable sndio
928 +
929 + mozconfig_use_enable wifi necko-wifi
930 +
931 + if use wayland ; then
932 + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
933 + else
934 + mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
935 + fi
936 +
937 + if use lto ; then
938 + if use clang ; then
939 + # Upstream only supports lld when using clang
940 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
941 +
942 + mozconfig_add_options_ac '+lto' --enable-lto=cross
943 + else
944 + # ld.gold is known to fail:
945 + # /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
946 +
947 + # ThinLTO is currently broken, see bmo#1644409
948 + mozconfig_add_options_ac '+lto' --enable-lto=full
949 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
950 + fi
951 +
952 + if use pgo ; then
953 + mozconfig_add_options_ac '+pgo' MOZ_PGO=1
954 +
955 + if use clang ; then
956 + # Used in build/pgo/profileserver.py
957 + export LLVM_PROFDATA="llvm-profdata"
958 + fi
959 + fi
960 + else
961 + # Avoid auto-magic on linker
962 + if use clang ; then
963 + # This is upstream's default
964 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
965 + else
966 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
967 + fi
968 + fi
969 +
970 + # LTO flag was handled via configure
971 + filter-flags '-flto*'
972 +
973 + mozconfig_use_enable debug
974 + if use debug ; then
975 + mozconfig_add_options_ac '+debug' --disable-optimize
976 + else
977 + if is-flag '-g*' ; then
978 + if use clang ; then
979 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
980 + else
981 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
982 + fi
983 + else
984 + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
985 + fi
986 +
987 + if is-flag '-O0' ; then
988 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
989 + elif is-flag '-O4' ; then
990 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
991 + elif is-flag '-O3' ; then
992 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
993 + elif is-flag '-O1' ; then
994 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
995 + elif is-flag '-Os' ; then
996 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
997 + else
998 + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
999 + fi
1000 + fi
1001 +
1002 + # Debug flag was handled via configure
1003 + filter-flags '-g*'
1004 +
1005 + # Optimization flag was handled via configure
1006 + filter-flags '-O*'
1007 +
1008 + # Modifications to better support ARM, bug #553364
1009 + if use cpu_flags_arm_neon ; then
1010 + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
1011 +
1012 + if ! tc-is-clang ; then
1013 + # thumb options aren't supported when using clang, bug 666966
1014 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \
1015 + --with-thumb=yes \
1016 + --with-thumb-interwork=no
1017 + fi
1018 + fi
1019 +
1020 + if [[ ${CHOST} == armv*h* ]] ; then
1021 + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
1022 +
1023 + if ! use system-libvpx ; then
1024 + sed -i \
1025 + -e "s|softfp|hard|" \
1026 + "${S}"/media/libvpx/moz.build \
1027 + || die
1028 + fi
1029 + fi
1030 +
1031 + if use clang ; then
1032 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
1033 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
1034 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
1035 + local disable_elf_hack=
1036 + if use amd64 ; then
1037 + disable_elf_hack=yes
1038 + elif use x86 ; then
1039 + disable_elf_hack=yes
1040 + elif use arm ; then
1041 + disable_elf_hack=yes
1042 + fi
1043 +
1044 + if [[ -n ${disable_elf_hack} ]] ; then
1045 + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
1046 + fi
1047 + elif tc-is-gcc ; then
1048 + if ver_test $(gcc-fullversion) -ge 10 ; then
1049 + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
1050 + append-cxxflags -fno-tree-loop-vectorize
1051 + fi
1052 + fi
1053 +
1054 + # Additional ARCH support
1055 + case "${ARCH}" in
1056 + arm)
1057 + # Reduce the memory requirements for linking
1058 + if use clang ; then
1059 + # Nothing to do
1060 + :;
1061 + elif tc-ld-is-gold || use lto ; then
1062 + append-ldflags -Wl,--no-keep-memory
1063 + else
1064 + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
1065 + fi
1066 + ;;
1067 + esac
1068 +
1069 + if ! use elibc_glibc ; then
1070 + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
1071 + fi
1072 +
1073 + # Allow elfhack to work in combination with unstripped binaries
1074 + # when they would normally be larger than 2GiB.
1075 + append-ldflags "-Wl,--compress-debug-sections=zlib"
1076 +
1077 + # Make revdep-rebuild.sh happy; Also required for musl
1078 + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
1079 +
1080 + # Pass $MAKEOPTS to build system
1081 + export MOZ_MAKE_FLAGS="${MAKEOPTS}"
1082 +
1083 + # Use system's Python environment
1084 + export MACH_USE_SYSTEM_PYTHON=1
1085 + export PIP_NO_CACHE_DIR=off
1086 +
1087 + # Disable notification when build system has finished
1088 + export MOZ_NOSPAM=1
1089 +
1090 + # Portage sets XARGS environment variable to "xargs -r" by default which
1091 + # breaks build system's check_prog() function which doesn't support arguments
1092 + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
1093 +
1094 + # Set build dir
1095 + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
1096 +
1097 + # Show flags we will use
1098 + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
1099 + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
1100 + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
1101 + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
1102 + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
1103 +
1104 + # Handle EXTRA_CONF and show summary
1105 + local ac opt hash reason
1106 +
1107 + # Apply EXTRA_ECONF entries to $MOZCONFIG
1108 + if [[ -n ${EXTRA_ECONF} ]] ; then
1109 + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
1110 + for opt in "${ac[@]}"; do
1111 + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
1112 + done
1113 + fi
1114 +
1115 + echo
1116 + echo "=========================================================="
1117 + echo "Building ${PF} with the following configuration"
1118 + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
1119 + [[ -z ${hash} || ${hash} == \# ]] \
1120 + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
1121 + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
1122 + done
1123 + echo "=========================================================="
1124 + echo
1125 +
1126 + ./mach configure || die
1127 +}
1128 +
1129 +src_compile() {
1130 + local virtx_cmd=
1131 +
1132 + if use pgo ; then
1133 + virtx_cmd=virtx
1134 +
1135 + # Reset and cleanup environment variables used by GNOME/XDG
1136 + gnome2_environment_reset
1137 +
1138 + addpredict /root
1139 + fi
1140 +
1141 + local -x GDK_BACKEND=x11
1142 +
1143 + ${virtx_cmd} ./mach build --verbose \
1144 + || die
1145 +}
1146 +
1147 +src_install() {
1148 + # xpcshell is getting called during install
1149 + pax-mark m \
1150 + "${BUILD_DIR}"/dist/bin/xpcshell \
1151 + "${BUILD_DIR}"/dist/bin/${PN} \
1152 + "${BUILD_DIR}"/dist/bin/plugin-container
1153 +
1154 + DESTDIR="${D}" ./mach install || die
1155 +
1156 + # Upstream cannot ship symlink but we can (bmo#658850)
1157 + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
1158 + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
1159 +
1160 + # Don't install llvm-symbolizer from sys-devel/llvm package
1161 + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
1162 + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
1163 + fi
1164 +
1165 + # Install policy (currently only used to disable application updates)
1166 + insinto "${MOZILLA_FIVE_HOME}/distribution"
1167 + newins "${FILESDIR}"/distribution.ini distribution.ini
1168 + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
1169 +
1170 + # Install system-wide preferences
1171 + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
1172 + insinto "${PREFS_DIR}"
1173 + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
1174 +
1175 + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
1176 +
1177 + # Set dictionary path to use system hunspell
1178 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
1179 + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
1180 + EOF
1181 +
1182 + # Force hwaccel prefs if USE=hwaccel is enabled
1183 + if use hwaccel ; then
1184 + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
1185 + >>"${GENTOO_PREFS}" \
1186 + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
1187 + fi
1188 +
1189 + if ! use gmp-autoupdate ; then
1190 + local plugin
1191 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1192 + einfo "Disabling auto-update for ${plugin} plugin ..."
1193 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
1194 + pref("media.${plugin}.autoupdate", false);
1195 + EOF
1196 + done
1197 + fi
1198 +
1199 + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
1200 + if use system-harfbuzz ; then
1201 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
1202 + sticky_pref("gfx.font_rendering.graphite.enabled", true);
1203 + EOF
1204 + fi
1205 +
1206 + # Install language packs
1207 + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
1208 + if [[ -n "${langpacks}" ]] ; then
1209 + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
1210 + fi
1211 +
1212 + # Install geckodriver
1213 + if use geckodriver ; then
1214 + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
1215 + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
1216 + exeinto "${MOZILLA_FIVE_HOME}"
1217 + doexe "${BUILD_DIR}"/dist/bin/geckodriver
1218 +
1219 + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
1220 + fi
1221 +
1222 + # Install icons
1223 + local icon_srcdir="${S}/browser/branding/official"
1224 + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
1225 +
1226 + insinto /usr/share/icons/hicolor/symbolic/apps
1227 + newins "${icon_symbolic_file}" ${PN}-symbolic.svg
1228 +
1229 + local icon size
1230 + for icon in "${icon_srcdir}"/default*.png ; do
1231 + size=${icon%.png}
1232 + size=${size##*/default}
1233 +
1234 + if [[ ${size} -eq 48 ]] ; then
1235 + newicon "${icon}" ${PN}.png
1236 + fi
1237 +
1238 + newicon -s ${size} "${icon}" ${PN}.png
1239 + done
1240 +
1241 + # Install menu
1242 + local app_name="Mozilla ${MOZ_PN^}"
1243 + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
1244 + local desktop_filename="${PN}.desktop"
1245 + local exec_command="${PN}"
1246 + local icon="${PN}"
1247 + local use_wayland="false"
1248 +
1249 + if use wayland ; then
1250 + use_wayland="true"
1251 + fi
1252 +
1253 + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
1254 +
1255 + sed -i \
1256 + -e "s:@NAME@:${app_name}:" \
1257 + -e "s:@EXEC@:${exec_command}:" \
1258 + -e "s:@ICON@:${icon}:" \
1259 + "${WORKDIR}/${PN}.desktop-template" \
1260 + || die
1261 +
1262 + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
1263 +
1264 + rm "${WORKDIR}/${PN}.desktop-template" || die
1265 +
1266 + # Install wrapper script
1267 + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
1268 + newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
1269 +
1270 + # Update wrapper
1271 + sed -i \
1272 + -e "s:@PREFIX@:${EPREFIX}/usr:" \
1273 + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
1274 + -e "s:@APULSELIB_DIR@:${apulselib}:" \
1275 + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
1276 + "${ED}/usr/bin/${PN}" \
1277 + || die
1278 +}
1279 +
1280 +pkg_preinst() {
1281 + xdg_pkg_preinst
1282 +
1283 + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
1284 + # does not need to be forced into the LD_LIBRARY_PATH
1285 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1286 + einfo "APULSE found; Generating library symlinks for sound support ..."
1287 + local lib
1288 + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
1289 + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
1290 + # A quickpkg rolled by hand will grab symlinks as part of the package,
1291 + # so we need to avoid creating them if they already exist.
1292 + if [[ ! -L ${lib##*/} ]] ; then
1293 + ln -s "${lib}" ${lib##*/} || die
1294 + fi
1295 + done
1296 + popd &>/dev/null || die
1297 + fi
1298 +}
1299 +
1300 +pkg_postinst() {
1301 + xdg_pkg_postinst
1302 +
1303 + if ! use gmp-autoupdate ; then
1304 + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
1305 + elog "installing into new profiles:"
1306 + local plugin
1307 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1308 + elog "\t ${plugin}"
1309 + done
1310 + elog
1311 + fi
1312 +
1313 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1314 + elog "Apulse was detected at merge time on this system and so it will always be"
1315 + elog "used for sound. If you wish to use pulseaudio instead please unmerge"
1316 + elog "media-sound/apulse."
1317 + elog
1318 + fi
1319 +
1320 + local show_doh_information
1321 + local show_normandy_information
1322 + local show_shortcut_information
1323 +
1324 + if [[ -z "${REPLACING_VERSIONS}" ]] ; then
1325 + # New install; Tell user that DoH is disabled by default
1326 + show_doh_information=yes
1327 + show_normandy_information=yes
1328 + show_shortcut_information=no
1329 + else
1330 + local replacing_version
1331 + for replacing_version in ${REPLACING_VERSIONS} ; do
1332 + if ver_test "${replacing_version}" -lt 91.0 ; then
1333 + # Tell user that we no longer install a shortcut
1334 + # per supported display protocol
1335 + show_shortcut_information=yes
1336 + fi
1337 + done
1338 + fi
1339 +
1340 + if [[ -n "${show_doh_information}" ]] ; then
1341 + elog
1342 + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
1343 + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
1344 + elog "DNS traffic to Cloudflare by default is not a good idea and applications"
1345 + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
1346 + elog "(\"Off by choice\") by default."
1347 + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
1348 + fi
1349 +
1350 + # bug 713782
1351 + if [[ -n "${show_normandy_information}" ]] ; then
1352 + elog
1353 + elog "Upstream operates a service named Normandy which allows Mozilla to"
1354 + elog "push changes for default settings or even install new add-ons remotely."
1355 + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
1356 + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
1357 + elog "concerns prevail, which is why we have switched off the use of this"
1358 + elog "service by default."
1359 + elog
1360 + elog "To re-enable this service set"
1361 + elog
1362 + elog " app.normandy.enabled=true"
1363 + elog
1364 + elog "in about:config."
1365 + fi
1366 +
1367 + if [[ -n "${show_shortcut_information}" ]] ; then
1368 + elog
1369 + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
1370 + elog "each supported display protocol. Instead we will only install"
1371 + elog "one generic Mozilla ${PN^} shortcut."
1372 + elog "If you still want to be able to select between running Mozilla ${PN^}"
1373 + elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
1374 + fi
1375 +}