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: Fri, 03 Jun 2022 07:28:34
Message-Id: 1654241306.895cb41b0e9491fb4ab505091d56d5c0b9dc123e.juippis@gentoo
1 commit: 895cb41b0e9491fb4ab505091d56d5c0b9dc123e
2 Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
3 AuthorDate: Fri Jun 3 07:24:54 2022 +0000
4 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
5 CommitDate: Fri Jun 3 07:28:26 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=895cb41b
7
8 www-client/firefox: security cleanup
9
10 Bug: https://bugs.gentoo.org/849044
11 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
12
13 www-client/firefox/Manifest | 296 -------
14 www-client/firefox/firefox-100.0.2.ebuild | 1267 -----------------------------
15 www-client/firefox/firefox-91.9.0.ebuild | 1244 ----------------------------
16 www-client/firefox/firefox-91.9.1.ebuild | 1244 ----------------------------
17 4 files changed, 4051 deletions(-)
18
19 diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
20 index bb10fd755053..8a742e02f5b9 100644
21 --- a/www-client/firefox/Manifest
22 +++ b/www-client/firefox/Manifest
23 @@ -1,102 +1,3 @@
24 -DIST firefox-100-patches-02j.tar.xz 18916 BLAKE2B a85a390ef40c2a321fae99b649b9df5ce9e3d226206f67a37d797154e4bb627574d0ec80055c218c2ab323b860a770a6d7ae5722d3ef1fff79c15c190ad85338 SHA512 f027c5a43c798964fdcb6ab7c32acbe4e03ece5870e3b619d2d3013fd3091706c144478ed70a86082dd7ea9818adaf9c769995e9630bf5d246196522b37a3b6f
25 -DIST firefox-100.0.2-ach.xpi 448908 BLAKE2B a52cd317680c7797d13f24fb59416e13aa69a89d62488fa7cfca4d81383dbe873f2a2eda2b721efdcab7233f219bff92e2b3e1c16c4da34cbcb4839d35e9bf8a SHA512 b72811e44c0564a0dec0efb8f13840cae684882ec4aec50c265222c384bea54a0b5a77e6c3056c9d0ece59b5fc3b2fa3126e08d10b1e71af2759abd6469e510c
26 -DIST firefox-100.0.2-af.xpi 415231 BLAKE2B 594f221495e2a62bbf0c127509015a5b5c8c4d9813be5633c8eb55fe1ec0f4bbda33adc34f46b4062cfabb80c9087f3970a04829425319a4667dcbfdcb78e79d SHA512 e73f3905cc329fe55585f503b8f645f33707baf8d35eb8804e8a3ea138edfab30f9f8f377ea2993f64320add15c6f08ee2257fdf784d266ab2580c7f78081016
27 -DIST firefox-100.0.2-an.xpi 495514 BLAKE2B 701f16d41446f4d64fcd65c429e41ba606c880f412c32b3e23e6efde80a04809452aacab3df277d6f5843d815fd97e86c1b1c550de5c9392d9abc6191a9bd0c3 SHA512 5d63b2c89c6539a0d28aff3c3c07c25f4587738ae2216d30519e64710deca49fbffd3aed07a16066e020fdd6d022f78fb33b985e12b30fc9b776d06f0dd5c1f4
28 -DIST firefox-100.0.2-ar.xpi 564894 BLAKE2B 7c272fbb922a8a21ef59beb2d656643a38f4954cc95a3a090eeb4e1bd502198076d0265f8a79e9d65933f482771b445986178240f8436d3fdc8cee0f42fdd427 SHA512 40481831e50d28e9bcdfcbbf8a524b2205630974c150d936c1f27c1d501a541ad7a303d5ddce1bb3169b5afd8f67369e5f86873a3ab4337f4428b070b3ef4b38
29 -DIST firefox-100.0.2-ast.xpi 493289 BLAKE2B 33466dccaf2ed39620a8bde1b1aee748f82de85991a65916d13bea7b2c7cd13cc509573ed7659d1d28cc204a2fa2924e41b43d3219c7395cfeca4af23bce3522 SHA512 2140a2bec1e7590ad75af83d9fce76078544f518722662b38f5d1a86899e6be973fa675091fe984db2d1f92f6db2d72b4b094edad232848a678712d44a2d32e2
30 -DIST firefox-100.0.2-az.xpi 484098 BLAKE2B dc350a9e503d0279213438c24961cf7605754b4b6f603da3e9b55a7d37d51e64c0304943fd7510c9a2933a810dcfc88949894b277b38a77f5328818e888e025c SHA512 5607ea3218acd0a8db245d31f018442721ad2f83b96a3cebc756a80d40f7fb4bc56f214bcec837328e7e65bb0e8f91ea3197e815b7ba5078129afbc8dc25ea39
31 -DIST firefox-100.0.2-be.xpi 628712 BLAKE2B 241f24f95704c1be5ebc9cf47f1dfee2ac57f6c6edcd2be48caaa52baca329899f06cd159caf2ba0c4c6b033064096be4400ed2fb37eff4d911bb47862dbd113 SHA512 373fd102311c76186c760b1c3b0beff7d553d327e0f7fbd26f235b8edc3bf0164dcc7a3bcd73d6af363387cb7ea0122e2c0b10483629e4df0b804215da884df0
32 -DIST firefox-100.0.2-bg.xpi 566785 BLAKE2B b3e183ed614bb58212c2809c9668c4abcd32f0aea240580bbbde83f11e3aa4bd81f5b86f85c9341a6c56ff9602d75ccf78f9902774665ca827d40af2577da9b5 SHA512 da5b0ebe11089398b2809baec71989870ffc22b0525206433502eccd5abb839374f275f6df6c99b7a2b61ab3b3f6cc5a3be4846579d2677fdb9791bcab47c0d3
33 -DIST firefox-100.0.2-bn.xpi 554545 BLAKE2B 5b934ed2eedb8fbd4bd41a90b9bba9222513f584242aef6ec4cb4d4aec097f242cc09811e99d5453d102dcdbe756b7088182c08a486938914c3744a07854f6ea SHA512 e06d4ca29935e90b709c307d42d1c38ecf77c27f08e9943b4e4e1d2ca839ac32bab1fc353423acb61ce0621b645d214b2d7171dee08d09b41766afbf51ab1d3d
34 -DIST firefox-100.0.2-br.xpi 530620 BLAKE2B a52d3497a79be8873914ac9046430705463746e48e58d2c42abb9a1f3b4efd6f196e50353530b6b80f29e503f9983c484fe27d70d459ac2d3a4fba4ee6bafae2 SHA512 029af21be70190176cbfec08c0a701bd4264d80458b1d7bfba1d5f82ef877710963505864ea4acd00f0d38e19d958be98df1fc7205733b86488a5db1da4e5247
35 -DIST firefox-100.0.2-bs.xpi 459036 BLAKE2B ac92688a5e8b09b0214fe3a7dbfd76793cf36b211a0e38d82969dea2c0a0c0cbf1ddc8277da089e2558d00724fbec256e307ec6a3a98dcce796dbba07a21d2b8 SHA512 191c3f79ad4a84d5a2a160f74e99359c4a2dfb48263f55cec0adb7bfcdf7833cef2dd84726ac429a17bca8b5be623206e94d990a60430bd0b598f42e9153f51c
36 -DIST firefox-100.0.2-ca-valencia.xpi 536446 BLAKE2B afa24a8efaba40571c388eb1789aac0c700216524bf841d9535259b36256805acdc64ab240ef4af1047f15b24b54b037d145204b54415247daf52b094b1a9511 SHA512 92dc4d4ebd280858ac62d5ce221a2a95259204460190bc06ee17ac70e502eebc1ac2ced88a08a401c7f1ce60af988d4ce41e047f2164a22ed32398b407319ae0
37 -DIST firefox-100.0.2-ca.xpi 530221 BLAKE2B c427786fd3b44a2818cbf40ed541a18c6a2381660ab3cc68a750d213070098b5062dd88f2f5e71e76f572a4e76183ac473ea5d58c885530a1e603a699264a827 SHA512 bf92ffbbd7c2b76317c2b3e951eb412a4c623552d0e158ea3feb383c7a09faaa5058f29e48ee82bdf4153e08941b22c1a7511b5004c8eb844b8c72345d5fa03e
38 -DIST firefox-100.0.2-cak.xpi 553416 BLAKE2B bbd540524433048419364e4196170071bf2ac24ac6cce4c3d244cd23ac40be4c317a161fd1a39af16b1b49a6aebcc6a03dd441e65de133655f5416376fde5f42 SHA512 13c51c5d06115b25bd80e0e543326ed7b90cf6ff843a97579c91ef077e834e74d43631aaaed37791d05331aef07e068b75ead57dd7fbd5ec5b1c5c0b95969456
39 -DIST firefox-100.0.2-cs.xpi 570174 BLAKE2B 6efa1d409386e7e851349fe8ff4874b97b9b49cffaa4349088f8e9c7521e059c4b80bf2599025561e4175c6e14657f5d1e7cf062f65c1616e45743fd6831701a SHA512 5963ed28d92ffe3e2b255497c15edfd22eb84599378e809f9d9971925055548b554bcc41ccf6c93277d8918dbe5930c1ea3289ac07caaf8a96d16bfb88362671
40 -DIST firefox-100.0.2-cy.xpi 546994 BLAKE2B 8706f174d68988d07d92162e5ae55eeda77472509a2af1971a364c8c6b3844b41b825a26150ec182757c59975ddb90b73d1313909ab1acc33e37ac1324b9ac3c SHA512 03ab1d7a567d8d7bbe7fafba80cacca7910e6bf37b792f585ad6fed28e3e63c0300f9e69c9e234d64fdda22b240be60c274101508d446aa5e1f3a3c931058e7e
41 -DIST firefox-100.0.2-da.xpi 538821 BLAKE2B 16fc09d81a1ac7310640cf1163533188b6ba8db5d7618324760fab1947aa6d759e6932f70e2c16166956e32adeb54f2725d82f0826c0af7dca2c1a5136ca12c9 SHA512 4f0ce5f74e88db120de708624c33f6158b41c2fc62d1a96389092112f6296446e66c2f8c28a5a347c201c028ccad3484f32c048b079d25582d03550ba493c639
42 -DIST firefox-100.0.2-de.xpi 558692 BLAKE2B 4794bb95adf9e48cf03be2510315925b5cf9576784c4ca0d17d23e134032331febff6524d04ddb2288f7186eb7c71acc4d6d13602191b41022e8003e90ac4d1f SHA512 2cbc41a337d08d97ffdb3b0a7807c801c61e47dfd825c7c9afb971cc290ac44c4cd1cfc5ee56cc57ce2c5b5029954375d84bb30c9fde0cbe427ef1d9d0c371a1
43 -DIST firefox-100.0.2-dsb.xpi 571806 BLAKE2B b04be22268778e04ee14184c1f6626d141a4278881de3ebc561a4e50b24de8e49d16c6af205cc10dd4213c27329e25cdecb4d7d37fb6be8788df8cc299f9e9a5 SHA512 cb59a9b9098c0317d98e94548c15ced8b73e1f287b704c5f785ecf14774437761a06966802137b913184bb69424c22f83677ca34d194e7587417b9fd3c6bf218
44 -DIST firefox-100.0.2-el.xpi 645056 BLAKE2B 441b5f58c74fecd21845204c55408c7b3c527c40957392e1d511afb565188539820609401ab63759aee55f7f6587aa7de0ddda64492f5342a26257fe725765b5 SHA512 b898fb2ad0f0f6e5501a441bd115e4becd0b24edf128ba05403cf98250a492c1ae87f7d52f40b27f3b2a87a447163dd61f0d2c5c0736ae40a8d3ce68de8c5290
45 -DIST firefox-100.0.2-en-CA.xpi 514201 BLAKE2B 853aa7dface60e12db674a498499a1e0658e0932caeba83ec519a224117278a077ac8fe4acbd6504dbb4828d8fd368b2f2f477102694c52c3f3ffb5ccaa46559 SHA512 6a7aee70989ad9711eb9bfcc502f9d2e2a66ef3a52a24ca4ea8bf5d5717298d544d9be124e8a6e8c4a66360d9c2b1c1646eaf57cf9e300723e63ba053f7764df
46 -DIST firefox-100.0.2-en-GB.xpi 514710 BLAKE2B 6da85793bf9c58cec592670408f6f0c2c30aa021f1be063063a632816cc9923f110c241cbb1b320232efc3558617a68d84ebb839c3c47c7ec221b2aece4cbae6 SHA512 dc16798cda4e148c61edbe7a8c8432a6b4f99f4db56817fb1ec0384af9a75adc07908b55b6130f7f8add743fb390b9a0c905eb6a22cc1fa7e534cffe37f206e4
47 -DIST firefox-100.0.2-eo.xpi 540866 BLAKE2B 8f32eb9107b40c978e6f62617fd5c91e06f70362bde0043c1ef34e7cd9d83c8b497b21f3b992d58db59003c7c128e654cb19f7669769e37b62283d9136d4ff7d SHA512 b446ada00bc271b7c82e98243d713303ee4c564c83b254ff3578b153635ab295e4680a487e86dc25c1cf2f6c9f451fa353d93d3e3942ed3323102dfa4f121a9e
48 -DIST firefox-100.0.2-es-AR.xpi 551767 BLAKE2B 115dcc0289d84946930be19a5f219fac050f7796e73a5ee012c94391a109af3e249e7c42c1d50c23f1f682000280b65ae36ecf8df613dbc6077d51e4a681919c SHA512 56cefe5b0c1f3c532cb4f3e0fe2e52f231568f887191db644d648ff0b698b3469661d999061d27bea94710946fb552c4b5e33a96f5735b1db35254cd834a9ef6
49 -DIST firefox-100.0.2-es-CL.xpi 550977 BLAKE2B 34cdf202cf3ae988d5ea088c728b4ce320e27942b73ab155963577603ded1d8f220ea6cf6aed82aea2dfdad9415f3dc4d8127a705d692edb7e2455d0f43d70c0 SHA512 a7acb004f5248c266077e876ca5d81e6e5a668c3a4bdba916f5897fa338de6718b8c627a631ac4e1c1062991582f74a2ce4c45e86232767bd2c3a134fe34198c
50 -DIST firefox-100.0.2-es-ES.xpi 542250 BLAKE2B 4ba87f92fa0a4763e977aaeeb9762004e0131f444189a69af5a53b8c76553a59875f0197d87a0dbe39eb4c44253de3247b03ba60d5ea13abb76829652afb8e31 SHA512 35130242efa6cc087d36be650a60aed047c3315f7d6ab888e6fbc0ef67e7364b5b1c1aba1ece83c7250475b289ea906e8d63dfa258d9341b83dc10b1bf3ae01c
51 -DIST firefox-100.0.2-es-MX.xpi 555137 BLAKE2B fa053188054bdccca37a51ba0c773964acf24b38a56aa0397b5467516ba3f1f127e27008500f9041e02a3156116a264be7b73534facde5292a9a79526c084485 SHA512 fc71df4b58e7cdb26932eb7e9473e3c5424e78cd95a04c2ec31048915737cbd2b402493ec5054d0de8f37f1b357b36ef076ae0ebe91e86226c8a32d9407aa5ab
52 -DIST firefox-100.0.2-et.xpi 532709 BLAKE2B 6b436fe07be018e1a6be6f85f6ceb212aa2a9abcc536642e2e798b2c22387f62fa753cfcc1df6c8bf85c2b1684f61a05eb6dc50a999079fa5eb542f33ff0e88f SHA512 3ee4f49a90d52e178945e110ec573f1bc1843c6e3ea8f6582a8f4717e43551c5fa32e34a7ef6692ea03530dfe530cf9319ee7bdbd5e02ad7b06fd39826122d16
53 -DIST firefox-100.0.2-eu.xpi 541404 BLAKE2B 82d77d32a5c1daf6433c2c74ee8a8334bb5c46c6e00c20d28f2b5826c17d182f36a6153f83047696da6a8ed466cf4c08ee7ef7f31a2d65893da5ce77bf7a91ff SHA512 571965f680832796c215cf92caa474489ec491680b86cacd89460bedcb1f7d6742bde4e5b26e243f8520de39bd4f56fa0efd13ca52ca66d47651e3c7a0dbb6eb
54 -DIST firefox-100.0.2-fa.xpi 561339 BLAKE2B fe0f19355fefec5904f283c7fd77233c58a0104f2c10c893e67808d9d3b066538c4032d53b8cd21182cfd03264dbe064179e321b314604e46d0f6adcfa6e5a65 SHA512 60ea03beaf76198aeba39eb649e1960f2d9a8b2a12e26f933d78611bbbe3abe61147b81af707ae77f7327cc55d27408e1e860af0773cd82921f85764754c50f0
55 -DIST firefox-100.0.2-ff.xpi 468200 BLAKE2B 18d4d1f97b29c47dc97aa155cc63ea7f22e32813a2c12339644262f4575ff6b9fb66473880ed2b76c92667e1aaff75c4dcccb073c65c4518e4aa924bf07fb094 SHA512 f63b523536e64f7cf552b4f13bb8fe8652e2e7a20edf4ae4e9d7ca95994632dfeee480e2a58523a8100275dd22cb7db38445b68440c54ca5a1c5703c1d830632
56 -DIST firefox-100.0.2-fi.xpi 535254 BLAKE2B ad14ecb8e0643019015ea195f425ecd0384c5b52a6ae0ca4b3216981ef49c582e4fbbeb71d17d14f59c08d7275e084d56cf9d27a252504d07fce246f8fb471ba SHA512 2781680f8c36e7770ca46b458d75ac5948e1c9bb1a6b4c6def58e0f59c902a6e76decd0d5d47ae9973e6af6a45e513722069fb65401cb65bc206e0e10d207913
57 -DIST firefox-100.0.2-fr.xpi 562953 BLAKE2B 0711a176811f66a2a719f68610ac2618b205a4c0fa3711926a455fc097ed53dacd1ccf243b2a1bc7c9efa220a34ed045e7a0f2f1a268bf03956ff2771a725646 SHA512 951cdf413a73e1dba6f60757cffe4fee5d0e9de5b3ee38093d3a7556a7c28b1e07ffcd31f095b42e9c057e2b9c8d772aa5cb11724869cd9c7d60de81e2422adf
58 -DIST firefox-100.0.2-fy-NL.xpi 548090 BLAKE2B 53585e1e9a7d2ff67dbaa5dacdca066c12f28b5136ffdfb4a6d597fdd51de0957ce64ddfe761fe9b7bcfcdcadc6894f6ff36027eefabf0a7a43395b1ce8799a5 SHA512 6d9e93b08db8a3bcde8b76b91ff8a65d6c9abff6d502c43fbcf2e98e53a6b4322bee5b1ab23da9314e39230b1d7701ded3a4b74fffc16dce1fc280a322525ae2
59 -DIST firefox-100.0.2-ga-IE.xpi 465450 BLAKE2B 00e06350712eadc190a6d618039329f5d8cfda672c5b0c21487179099a4dca0dd45b1803b2f28ec63fd1586f92df7b3b015b191572b0aaaf86e10658b5ac9a2b SHA512 c787ea5cb6de0a0e50f2d622136196d1ad5d326be7a207eec15362e4374efa01e76c00541d1d6ba7fca5d317fe6312c62a465ff5422dca212d968d7b75a2551c
60 -DIST firefox-100.0.2-gd.xpi 528977 BLAKE2B 69223482005af1271e3b8c8fc7883fe07e98b0107986fd054d3255a2b20c39d8e75afa4991de44feb7e942fe84316bd23d78808e3b34b9fdf75544e47dca53a6 SHA512 c9add99072360cf1594b9073fd988b6a6546dcaba4f5f095d902c98adb147799fc276e9bddeeb8699ad45f4ccc68bf06db5fb3de6556e17a2034cc83c629d546
61 -DIST firefox-100.0.2-gl.xpi 542251 BLAKE2B 41b3644b78b5ef9b1b1a9518c4676f9a6a09fc76b75d1ffa51c6855ed8c043a624c3ed2fef16b8cbf07e45881649c314c94fd8332d273243cb546a19ecb789df SHA512 9ce976512d0eec7557e7b939a566902506a735da6db68882995928c7586ccc0dca28cb39e7d9c3c50d274044bb67f67a3412c393479e1bd0d163eab51228bd3e
62 -DIST firefox-100.0.2-gn.xpi 563267 BLAKE2B 45fd4b997ab8df581c7204763a53b667288ebeadd64a7022b786b810dbb3b07077df7e99a057c2f17d9a635ad262c24efc8953e35658ef0a4986c7b569fcd398 SHA512 3329503c0ca01db5b39579b356d0891bd9bf13e5314fff4afbe4e572afd29408c766deb8376d9d81e5ff126b182e78ed101701c5c45e2c2f23e0852cd81456d8
63 -DIST firefox-100.0.2-gu-IN.xpi 525530 BLAKE2B 025e23a358ab8b7e04667c78c737c72cf570e558e8c3d0d68fbdf8f2a0b54840b4b55e377a5be30e511d065d2a217d17326196a0e2da3403d4e6307addc07275 SHA512 7c0c0f734f7f658daceab3aaeffef6392c5b382daf46859c3a1aff5b29af9f0dab8cd0c62718e045296cef143831976ef6f9f76faa760053007fac016ff51f28
64 -DIST firefox-100.0.2-he.xpi 561897 BLAKE2B aec767f6385840c563c54e8a1aa8c5fae9a81620850e4c9788336ed9d689c63da179d66117600247f9d38524ca0b4c7bce79c2e9f41af43466b87dc632b168ed SHA512 4a28e976ecb3e478c86d3c44fd7d3dc9dcea1a67f33f9c0ce10a55dfbf6b39571593dee1da10148074d3f0a27de6c42ab4d080339bd5ee47083ea05a1f3abee2
65 -DIST firefox-100.0.2-hi-IN.xpi 556345 BLAKE2B 426e6e35b1a6c5f618446dc1e22018883aeb113adddff77a57674737cd87e7d0b730fafd9afcf260b53de9502ff9b528904781de49a948238976e8778e63d9a9 SHA512 fb542ad6b0e2ab1203de730070ce0236d3bb3a98b2cd71c3c431d30d8ce7d6b0698daf7480c21df9505acf434e8a95e0365bcd429e4f366659ce680898b788cb
66 -DIST firefox-100.0.2-hr.xpi 530211 BLAKE2B 27b338f4d2101cd84080052ad3dea1a7bb1b5bc084afa15a6fda249b875a9c880651384e1df72e9c305c63ebf880fb23e4d2fccaa1ff3e9ca95ed9643ef346a5 SHA512 4caddf6aec18b7ab32585dcb0d4af9a544ced25d5b2df2b39ac2791c6cb50d161d25ec6dd0c5e0dc77f7c3d139e88527a0250990ca9a1549c390920555d2a7d2
67 -DIST firefox-100.0.2-hsb.xpi 567858 BLAKE2B 3e16489a3b6372c94ecf51bf06bb87d4f72d56e15e8b94c450fa6d8e63dbe146b0d3a10b5a27e51ac75c39ab4d66a2bf41911f0783e77b9c2c40d3eec2239cb6 SHA512 07bbe8d9b824c26bcdbc78dbf306d6b61930a5c38141331dbdd289a4aad359231adc001498481284920b14195c8a6db411f21854d00e709d1419b417742e98f3
68 -DIST firefox-100.0.2-hu.xpi 571157 BLAKE2B 6a5765a500c110d51417ae0de5978403428fe5da2c37e4f3e36f3435b1098882a3f4dc09b41adae56bc43b96af9f8d31e89d98738c68591508449dc3d03ed7b1 SHA512 4fd9a35ba4f0d79deb12cba6d9a12f2514c110ce9fd1d26d65a3e427e20c728632f3347ae9b70c20896be413f44c9188b031802ba113fc1d2d060c3f3ad7bb59
69 -DIST firefox-100.0.2-hy-AM.xpi 580142 BLAKE2B 836b89c9b376e989ac47b2e02dc0bb376a9356f01bfd5d9362e863ed03a666e859d78a7e1fa60efb51d254707845360da9bddfc502d0e97ff3b6d6848b24529f SHA512 3c5ade3a7b5bce5a541a9fb048961a8d9456293aed91c173c0d6534c0ceace9dc3861586b862f3f5a5add7fb4b5590579c3c4f2a9c33f905deec35634fc4e31d
70 -DIST firefox-100.0.2-ia.xpi 537118 BLAKE2B b7515cfdfd5dcbcb23f539f503e0adcfec2a57502297e8d52dec3528d0b428dbe2de90d1ab482b6a7a59da869422b5d5885218bd9dc2de7d659433c836e45350 SHA512 4319c9c09cc08ea9ab23a41a72784a75afbbde5992bdca1e216357695d34036e518d2cf04ba57dd72f29fd66cdc621918d32e71ee5b16747382e7d7eaeb58650
71 -DIST firefox-100.0.2-id.xpi 533686 BLAKE2B 34ee9c1f5498015b4effa302387abaf5fc0486b3f1b8d240f2b2ff8c241f6e2786a2a32ce07ee2534e1389fa87cae691c67a66eb5a7dcb8c62c1dff22b0f4a1e SHA512 2137964634170205c068928b4061e898954bb2ae76b60de8a94296d7fbd7511949d981982382bacb410e71bd08a4e9e214653fec6199313cb4ab213090cd7f58
72 -DIST firefox-100.0.2-is.xpi 540508 BLAKE2B a08fb3fe6929f9a1b5a4d4d021ff8768ce817795042cc923713d2665642e4008031172ce98c1ee60b903d3742063926bf5b58e8d7b35ed584057cf3e75792228 SHA512 0a9f8b9e7a98566317a1230a625cdeca9cbdb43da924f71a6283529ca33a84d267b6e3b32a52b7a92e9d9798ee46e261c91d6fad36e889659499ba68bc37621e
73 -DIST firefox-100.0.2-it.xpi 464283 BLAKE2B 1142e273112e2f19b350af3c8463453890d61d94384f0157ebb73bfa82ddbd39f3ff4bbfd1e2ea73dcdc9abc627103de25ab829aebc8cd9460d4fb1e25e70067 SHA512 53e8a86e2fde17aaba2da612a5532f776fe18c6b39d6ff73e878db3bc5f92634f9f6b144ecbcee8e14f5a461c63d23ed0c951c8559011c6321ca8295fa123f96
74 -DIST firefox-100.0.2-ja.xpi 593329 BLAKE2B 66f0803b26bf70833d34f29fb98fb23bb06ff8a2941b8d5bfbe430a9e4fcce1fb807d94c578d767b0ae245ffd4dfd527bc2007f3d9131a97ff62c6e7d884b663 SHA512 1ae733aff8cbfe1f49897039ea10e913c23c7099efa5f71796c5607f60ae048ce2e1100290def25422abf04dc2aa5bb96d6049d3c762818513932174cbfb6271
75 -DIST firefox-100.0.2-ka.xpi 596397 BLAKE2B 24ac272b29be1f3ba7e97bddc623ff7ae8d38c2d536d0b5730c951824fc0e80c8dbceb0a4743519b6bd603dff0e16000b3470ae22512c9c19c4f3a89ab5f414f SHA512 9bcf40f46d742de250701bc85ddde9f2a14160e669834302585a69f2876068e215eee18362c6280f341d901db447bea0f615adce8f8a02fc638fc8534da3b539
76 -DIST firefox-100.0.2-kab.xpi 556375 BLAKE2B 550eab4e902396dc38e6e2d050fb7c0426738d557eb22059fafd70a38e4f074b5d9cb1a380e0e793bdc806098486f0a9dc10f1e862de430403a2a4e1038760a9 SHA512 638dcdf7c6e47ea3b961063f9a0a2934196a24c545910909e9d81b6912fd33239191ad9a9b2d60c020e319cd92680fd752b9c4537920ee4ea0a6bbb0335ec84d
77 -DIST firefox-100.0.2-kk.xpi 619251 BLAKE2B 8212e047f340b36f3cf2b41b8f1ee78d2a4b6274537d6e94b9190f709c9babe83149ae3d5fbdd16d6791510fe1bf0601e831a75a4c150d0a3fc16ce51095db7b SHA512 63e43a1ca40beed1d985ebde376d6922c04bc618379600368a332903c2769ceac29f46d7620485a461ff6b2c7ddcdcf91e8a90823394719303c16d10ed359e75
78 -DIST firefox-100.0.2-km.xpi 525505 BLAKE2B 5b027372aae8ed2d10967ff6aed4590b6d97c6aec1d3c21993aad726f6296801e18b9ee6cd6a9f51618745c77236c8360604147b72239f155110262aee892b83 SHA512 80bed25aa09c3e0c5a1f590a12cb250f8f5f523a5a8e93521d813160d74b1d4ec9d0d65d619a1a7d64dc22ca391d9d1044fb027d1bd4d18f7d2fa4d8ca46ce67
79 -DIST firefox-100.0.2-kn.xpi 491373 BLAKE2B dbffc3b3664a709025cd0a6ab3d8b2f4723648614d5fa257e3b8d2fae8d2e4615e6a60b1c9038ebaa6dfd718bd9e53c42a5e7442aabc0b0a58b0e1e014d98cb1 SHA512 728b2539aff82f93c4f2ff25f9f4eb43baf6921fec615c840958cf26f4f97d30f82e86de18bf430c576a0aa33583c9eb79bc3a92f32b60834f723d4f5c771b58
80 -DIST firefox-100.0.2-ko.xpi 584519 BLAKE2B 2fb6f031b06c44d66bba649e51274281878ab7b72ef327add09fe94292fa87c2cd31f5162eb9abd98b16461b1e2d3544a4b38e20bb520eac8813bffd9a0a950d SHA512 5bc5cd1c46df48bcd677974cfc4ed6d6c7513cb6eaf7e0c6072d4b0929ef2b09bba410999656a71b80fc0ba0d8a3179ee68a9280cf17590ecf5d0705808bfd1d
81 -DIST firefox-100.0.2-lij.xpi 466985 BLAKE2B 5b490eaf66b1247438b7edc28c36344558bdb34e805d77e5c8836270bdf8fdca53383baac1c187b3e42fc5f5cba8ea17663777defa41c75a8c74f727ccbe52c0 SHA512 f1bb61bebb2db026dec6aa0462f07177c397c591f7e31320abedf01827645dbd672c61a55a07078bfcf86738c77f18c971299675d38c44b7399740359cb2585a
82 -DIST firefox-100.0.2-lt.xpi 560143 BLAKE2B 90f86a8dd4c09e4775ce96e86fc0371f82101daf21f3a1bb81fa878d560919d5695c740453181425e168d07aacc0c131209cad8c1d3cf7b0f4d73d9db3da46cb SHA512 e283e0e8cbec92683efecee443fb9b6a3866335c857b87b38e1d5d71f9f2e3c04233073e6b896b0fed215c83bc160293cbf770fc108d18dc24986f13f31dcec5
83 -DIST firefox-100.0.2-lv.xpi 459191 BLAKE2B c06f6568b077b3f31615a19812a19575ea77b2a81171f611cc751650f84ff428528c59f08177d9b7b328784c2e77a9aaa595bb641358f7f555b2d366b09223df SHA512 aa7c066603cab7c728012dacd6f004fb1a463b932a2145e25aa24bfadce03b063c28a6a3a5f70777ef73246ff3904992774013f70691c3040dc7bac9c2ed2e26
84 -DIST firefox-100.0.2-mk.xpi 468285 BLAKE2B 12c2b4c99cc33aa32edf547d811c3d37c53270dff8faec835afa5433aacda61e534fc074edcc6e4e5ef8dc1c9b10130cf937807fbedc3e0a38fca73eed27b4bb SHA512 20967bad3582582a65b75e57a862d359f160e7c7b2b2249b203e91ee716f130797b16cb52d4a5e55ed4ec3b2479fa678af58964a661828c280308470368c7971
85 -DIST firefox-100.0.2-mr.xpi 528155 BLAKE2B 2290b7dfe64cf7468254bb127254bd0c19a0eacdf52fe7a9aa8e5a071bc1d3d9c7d089f25340c86b7d5538ca024c5eb035ddae3ae16bc394733e4ea5cd1a340a SHA512 d6ecaa48e8958607271c0b89968c814a5141410c54add6f879c37942a5864dd6cbef1e9c781ff0ef1392eeda993d4acd65c54a5a22fd56e9b80724c006d4d4ba
86 -DIST firefox-100.0.2-ms.xpi 444146 BLAKE2B 63813e32561b647b6db6518cc2cf64a2a535e586bd5024dc9977a9003d5673abc505f64ef7e22d4c3d9fe0eadfc91142551a475f7a23aba6fd81ba534e174325 SHA512 f6445f6fbd3712df208b519a32e3cfd6df505b077ca47c85766ed5d6ef399a8ea67fc932d18b51ffc9c9df07547a51eed129b5b822554927107ac925419e361c
87 -DIST firefox-100.0.2-my.xpi 507363 BLAKE2B 00f3c67eb19d2c49c80f125393eb1852ab3dffb888511c6d40597a80a7481186568a720ca929e6915ffa56b94d03140f48fdd62294a3107116404ae8406a51f2 SHA512 c09b60e837b82a26ccd98012686c5b684392dad2c85419bbacef43e4f4bde04a8e177729495597998b91e2d63568dfb4b819d68591946bc73807aa9eb4458185
88 -DIST firefox-100.0.2-nb-NO.xpi 533783 BLAKE2B b9bade9fc3a20e28ca6745d933b940d5b46d1bc24e0d80ac06c2b49c7ee84817a3ac226e11994ef4ce211edab7748400a699786df634ef416a1edb1fdadf06af SHA512 b923a91ff3552a9aaeaeb826dce307cb5b74bc88d6c8e0bfc99540130265178c54ca8a23e3e09867844b68158cf634a4dfe03af880d4cca7518bcc21a6655074
89 -DIST firefox-100.0.2-ne-NP.xpi 482556 BLAKE2B 94918dcb146a60945c98c93c10540b65a53e5ed1c90e6ba5b10056dbb1d7abd7e8ff91bb9f784cb5a58f2b6d4cef53bedb3aae3f62a3f55b5ef3f838e764152f SHA512 5e83a3a459b99e6f0b1e64528bb37601d43ed388ca0aff6fd67627e28b33e40d2a0a36c7529a1e7625abcdde402c3528a8c6b42f0ece250e20d6b718924f2c8c
90 -DIST firefox-100.0.2-nl.xpi 542300 BLAKE2B c771b682e8d18e15788cf6f02d935e2a5d576ed45f8f7821baeaf6ebc39e46c358a598860367e7572b9abeb53980eae01301b591f6f3f3f6c7136eeb771f9a3b SHA512 6dcbc0dc82d8e4fa15ae7e39308b8a4ac38c884739675daa2e34b66dfe03e334753764662ec830596264d2af654eb5e2f7d4c1578ce34365ce042a0fb51ea8d8
91 -DIST firefox-100.0.2-nn-NO.xpi 536161 BLAKE2B fe16b02bba6e6b9a5b3a80e01b6050bbf27bdd8cb0c42eb9eb480a2378b10177b7e8a57f906fed4e38f4fc5ef12e02af692b73528e4ee85ad05d8422b6b6d5c4 SHA512 4bfac8e0b5af2b11929c854cfc0e13780dd653db906780ae79635fc2c46a7112319639627539b7dfc979ad68df08b92478e68f7aee7f431c1256e663b6ce6399
92 -DIST firefox-100.0.2-oc.xpi 556910 BLAKE2B 12d894a47197333431485bda813033d083a6ebb662743970fa57912491c6a4bf10fb2e2e82ad2ac6d745810e44e267b3cf3fcc00441276818f7d5f60e41f4e4c SHA512 6854c13753f85f774630d4d3b2872f84a54063e3e818650a763019a744d305ad31ab4c9b9791dd358b4826f1df91c70cdcee98c6ae9be3363043f739e04bcc3a
93 -DIST firefox-100.0.2-pa-IN.xpi 600283 BLAKE2B 7acb127b40970db25561cee9abfa5d2dd6969e3dc59af262d95016000d3d1c65de9b6923c07f26fa258421dc5a132037fafadc25014cd2fdfed364e662be6e52 SHA512 1c41628135bd84b844c5ba3a49f29c2995a57117e66c1e13b20f3158c8578a986dc74079bd4afb8a8f3deda2ee5a20e6da643a4269274f3842836440470eacc5
94 -DIST firefox-100.0.2-pl.xpi 562524 BLAKE2B 7992dd26826c39119a607c3128e20fe086d5a6f5cd7d0c73ad57d8fc8b04914d3a189140a9ac29080e302675fda81b8124e26f79f788294ddcf2b8e848a4686a SHA512 c4130d875b91ebdb98562aaecc7c5f2fc263d2891176eb6f18c23028ef287c42151cf2575d867bdaa3edd393ea1dc79dc484aad1d808e490951022206bdcc6b4
95 -DIST firefox-100.0.2-pt-BR.xpi 547570 BLAKE2B f143a82f816162561f106b610f486774bd8b395e8055a1cfdddb09ec2a3a7c17dc890bdf6d96a1b220a7b443946608921cea4eb749b361a2573be4cb60c262b9 SHA512 da04b151cbf1d0a4364d4b6f885a78c911c73f18fdc293340e88eedbafd7d5c65ec95f8e81d717eb79febc55e62d2338a13eef5cba5f19603385797ec905619c
96 -DIST firefox-100.0.2-pt-PT.xpi 551059 BLAKE2B c6e227f169d7e55cdeb07d8e07a039716f05cac4860d734439ff2845efcd54349d8f46f62853c6ecb288db0c8cdc094bce82d9530c34c4aa713131a93980a5e4 SHA512 bcabff262e695985dedd14d8cd072c5f681a82b9e67a63e037517d29d46fe1d399dbda5f963e372f4a2b5cd123561d020e5029f6f39e0f5fe9942c796a1bf3ad
97 -DIST firefox-100.0.2-rm.xpi 541906 BLAKE2B 9102887ae1ef87e630cee34cd433d6c92ad5002cad46a1e945162dc1043118bbad1535e358bb07e56ca25b37e9859cc3c116d3d6ca122bb13ab9b0d0148ddce2 SHA512 9a0d4be1e804c3dd597e30506cd1065772f4aa7d8ad5599c77855c3e55a2f7d948df4d0661363f926e9324e557aabe689c94e4b22367768ff40af9b4dbc5f4df
98 -DIST firefox-100.0.2-ro.xpi 527992 BLAKE2B 8a1fb1d1f0d0c686c60096f9efec79fbdd091d5e45c5c11f67bb68331bb114adc8633a90d8f6bb7751a7471f2e530ee84caf58351897a89a3169dfea7ccf9d68 SHA512 3c6b5385eb4fbc8b06f4a36f48bb05f77df92e5cc31cb1f0fdc7e9244319e43e0c6ca4530fce753e91ddba0d22984769bddd36d13a0546049a24c046841cdc5a
99 -DIST firefox-100.0.2-ru.xpi 633347 BLAKE2B f748c71c63be93221a6dfed6c3829c2716e04f31fb231ee751216d83e6bfc4f606237f689ac9100d7240f356c00717f4b5ac26f3dc8efce396b6434d277ee9c7 SHA512 4d42aee1544ff6c862af51f5456371eecb50b4e0b889af31b50aa430bd46cfd6219a9d56585d7df5e97fe9c4486388d23439328500e3efeb4e77a26116ed587c
100 -DIST firefox-100.0.2-sco.xpi 500179 BLAKE2B fdc90b71a0faf84513040ddbeb40ac385b1f7cb9c17ad032fa41586cdc8fcd05b2a527cc2d544d705cb9445b809726bfef1c58e8bbfdc5afb0c1c2a8f83b6c3c SHA512 70c78f5679fddd52e13f65ad42a634254b94a92fc9daf6294e99608a2658a9db8f111ce6b2f27f8cbc66c1d708715747d833a7986d66d7c022948fcfc4f17921
101 -DIST firefox-100.0.2-si.xpi 480907 BLAKE2B bbb777bd4b88a37bc29a58844f46598c7628185228b97ba45ff40b6ec8f26eba384f5f4ae0d2475907ef79eca8e625cd18996ef41299feebb59a156f9d79dd79 SHA512 70d0b82544ba5eb58342ccf6a68a91722dc7c4fd67be96ab31bcb010a1689167087e93d0c9e8cb197123eb4a4c027f403b7179f8b8ed2e0a180ceafcf1097955
102 -DIST firefox-100.0.2-sk.xpi 571976 BLAKE2B 65a565eb26df35a5653558afb5c7f042d6a3d0d7a5f86eafe070967dec5df77bdfea01b5073692b78a7cc12a73e9776e921c5334eedafabf19a530b1ba664ba8 SHA512 28fb612cfa91fefa755deba5b2ea2fc55bc2588cb6982153271e2e325bb69a9adf9fa574c734d06feab197dee05056e62bb3ffa1f281861c3e78f76bbfb4f7ee
103 -DIST firefox-100.0.2-sl.xpi 543732 BLAKE2B 4bd86bf0d7d42cd8bedd150ef1b24310d2a25e42e0759f4f237ac8e4e3381878d88e811ac5ed2df4ee6b8f5573abbe4ad88eae7b445a063229be7a7124724fbb SHA512 2590fa421baa40b02a7541142162482b2bc42e5be8838092087c91bc7aea8467d0ecd3cf8d236471fe9dc62dff3d0146fec4df89b7cb020d91f1a843c2b9cb09
104 -DIST firefox-100.0.2-son.xpi 417297 BLAKE2B 30dc46556fe205518d1a1cb687b8f80cfb57c8c62823d6e612dc67c351df587c6ce39c015f09d8480cfe3e90912d39e12dcc79af0ca0044dea8510a574f98614 SHA512 f8d349eb4f2c5d6a1939c9355dee9484884c5e8b8141d0a04d66ec6d472f636d1cc0c46f06165c6dc71eedc1b1b7c29cdc2c097754f2f2d7b8aad048d55ee34e
105 -DIST firefox-100.0.2-sq.xpi 560523 BLAKE2B 26f98d8f3e0c6d1f98cdd5fdf914c9d9207722fe8fce2a5520486e58262ad58ade37d45debd5fd03c1d94ccc2507ca91a4b3bf4e18d074844ae2b933f351a696 SHA512 31f873a72cc38047f95f4f1c088233efdb6ef04b2a84e27f144c1b4e91a996ec18b22de7404e98c8b249f5ff985da2c0968e7f0671ae8c401820002005126eba
106 -DIST firefox-100.0.2-sr.xpi 585612 BLAKE2B 0de70369e71e3c40a7e556191a88db98790fe88794b1f07c677af151deaf97b1408a65828542a219e7580bd9e881e7867099abcbc8d2e0e0066c5b5760518a42 SHA512 05ae0a2f4bbcc73bcdd7fb822525c280951ae40a8f8f474138ccacd245af91c81a7de794933cb1232d58ec69b6c17d5518894ea81ed0fc87a7c7d284462d354b
107 -DIST firefox-100.0.2-sv-SE.xpi 544804 BLAKE2B 9d0130eb35ed980f567e35116c680b85567a35d82bde88fccc304323dd134e6bf9539aafd22886a7c111dd8439556d1072f78e4d2a33a432c3e8ef5325e4364e SHA512 f56d62e638954efc1cbc138565cce0a6cf93dfcef29cd68ecb9800309d3b25412ef65a1960a7be59aa18eb0cf9d22204f892ac9ce3c459312f2169c6f4f520bd
108 -DIST firefox-100.0.2-szl.xpi 503466 BLAKE2B e5898363e8abd336cf997031bdaba2338f3ed7ea20444b40c7a0be53c7769584589f506fcbf0c0316e8c87e53cd8743fdc7beaeef56978e4a7dd86ab0b75bfaa SHA512 b7de61c8b2d254ffe3301f0c230f958c17bd43f9cabe93327f422dfcfce0073e326a1f587d4814f25479b7e330beadd8200d25fe68177f7aa63c98eb0828854b
109 -DIST firefox-100.0.2-ta.xpi 508222 BLAKE2B c7aaccfecf7da02bf7088be8c70b0a52a38142d1fc6db918e9803a89d3da33e30a139f2dc974b95631b536122539fc636f636efd052a543f5a8062807552957c SHA512 376ba1fb183a78fe22cf0204b1d7da34ec80b569a0bd4036d23db30d2326d9cb49fbc618eb21aaa1095112dbfd0b23db867b2e2707c0825c6530c6c467ce984f
110 -DIST firefox-100.0.2-te.xpi 546700 BLAKE2B 0c76d8299f2ec2a6e52a280996316190fe3a8c05e0a4a18dee1b8db518fc516ffb9361e89abc470435168ed3f51d8b3cf9dbba7ee8bae971ed2c77b891d8bc67 SHA512 0b195a8521a86202f7bc80e412e8a8c9459f5c91b1fd05164dce21100f2d7f844dab384c7b52282bdceae23795719afcc0cf4f53c16505dc569f0bf99c892020
111 -DIST firefox-100.0.2-th.xpi 610751 BLAKE2B 115535c0c0cca78169cb0385ff99d2cf1d103165a065ee43d2723faa7b9c9f7f5904f7a69113483ea81a6e57574826bf07dbebf9cb01a1f0efb456de871cf667 SHA512 fa6ae7f8cc95116c3b1ecc4d95e4860d9d3cf8c33c5d546e3bbf3bcb4f4636b6d6d0737f7755d06584bb55a52f9d7a2066fcaf3ba472cab4bed10f70a81551d3
112 -DIST firefox-100.0.2-tl.xpi 518031 BLAKE2B 31d8871e6411008972e23f87dcd10561f9fa2e5691d29f55d5ef29d9a7fb55c2c3051555c857a6b70e1bd45f89c2e3bef81518f0af83247d214f9404b27e4ba6 SHA512 10a81826682bc8915bc3171069ebbc733c4fb69beae7da9a20e44a67f3aa27f67c49d9f0b747ff7c59cfcaaa1d1588a87d2972dd8a115e28fe7c8dfb7c60ced0
113 -DIST firefox-100.0.2-tr.xpi 558392 BLAKE2B 576ff1dafca7bfea9cf88fc235a0c4cbd4e00b6e38568c038ed4bfed422c8990bdd98ad4ed14ebeb206c15d65ab6479b16d2ce0b9473952f8c6b53bcb1d4d792 SHA512 7162e5b6363b895f12699eb64c6f0357b25aa6d81936f8a6fd6e2929c5254898fbb6cf79341b7ada101807998ef950f31e7ad1097db808577994310a675d81a6
114 -DIST firefox-100.0.2-trs.xpi 486855 BLAKE2B f426ef64d4a5415bbd81f4da2bddd5f2a7abcc0bc3917b185cb5d2fc4cda54881edde27187984b7311a78be2b939733deafb37810beed5e3211fa487b1a8fe4b SHA512 51613f6c3303eda6304bb1782c3759dd9bfb46a2cdedeb317021acf2c4a2553709a6dfe57c172fe585e8d15116fb8bee6a9f60dfd5a43d427cabbae55467cd16
115 -DIST firefox-100.0.2-uk.xpi 627003 BLAKE2B eda5a358498fbf50d7a3b3eaffdcbac5420a6a3ecf967a08cd6662755c1aef365e4fe69346055bc891d303cb82d54baa5c6be4a32191b2a074bb8c926f6cc77a SHA512 097e956c3252abbb1fc1a84b64967897238691d71be17028e8f86b9bb72398967f54d574faaa5490040bdac6a75c7f2eb1261a7a3bcd586bc0ecc90ba94c4d95
116 -DIST firefox-100.0.2-ur.xpi 556902 BLAKE2B c9648bfca98d2bed90a193e24835823faf504cb6a9b0889a47e344c49aa625a46a8500285673d17ebd609791d130e0d4706278685832c2d983d04a755041b3a4 SHA512 e438638d0e0fd6afeb81722912c66019ed603f1957ed47f41737aba03deebb1882e68583ad2965baff4c2848d04ae3188da6f9d3a528b015803989dab2930762
117 -DIST firefox-100.0.2-uz.xpi 473715 BLAKE2B dd3376ed96b43b6984fa8ec221a583c3b5024b8057fd227f1f70d7c0d27deda0565a72f775d5b91f466fb4a83cb0de5c556ef681555fbe8574b33629c3d25f0b SHA512 a4c1e7932b182a92d9f1353f01907fadb973260b70e422be16d04ab8820c2521701829e81dcb409bb2d5cc978fa37baa11e85a8baab0aa06c74da7c699bb3792
118 -DIST firefox-100.0.2-vi.xpi 578683 BLAKE2B ed83123fa277013124b771a3c097a61f6195dd1529c338adef31bf12e52faf8e8ff432a9ea6d957bf0ba07eeb07b234a4e43a06868584c8156db15ff45d64b45 SHA512 a90d159e1fd2fbb73a6b59bca01e82ad9ab77b9da70352f237af7e755dfd0e8899ac22f2a220ec2fe41e6058b13cb3744ed25226d0abbe95eb56346af66fa56f
119 -DIST firefox-100.0.2-xh.xpi 419501 BLAKE2B 0a8e51da7fee1c844cbc5304d31d0bc2609702ecde062de5a6e450c8fef1fd3f63bdcc56a1a4baeac695bc8fa43d462505be9aa9a866728e00ae1af7b5a314f4 SHA512 d0d5ed325d2cd6a4a62588985ca301daaf2c6c47ecc316340430a07a365db5f551e77584729bf61fd892b4e6dae7b5bfda646c562bc846321375dea6b694208d
120 -DIST firefox-100.0.2-zh-CN.xpi 580540 BLAKE2B d77af0550b7d5cd561357bfd263680b1ac7ea58f3de14f17e6be712b9eb4979695601d9fabd1f7724acb45263410ec8c0b8f0088fffd27199bb2afad75319bb4 SHA512 ca868ca64d0acf5f0ebb9fbdcad25a3935d3ba7156b0d05b86779a8a21f45d42a74ad6cc9a176d96bd7e38b554e02ecd987d9b1c4e9fc3a4149c4eb3e45df54e
121 -DIST firefox-100.0.2-zh-TW.xpi 581632 BLAKE2B dd203ff1f4ecdb53ec6f85c03668647b839ba16edb1b06b68ce0677e8f6756b033efeb4c2b9ffc794148dc8dcd8175c5c5d2d657cc13db3ef36940a2a4885519 SHA512 26e737abf949f171a4f03d8bd16dfb6422e89f7f177e40db5f49d03d1b41638580d3e2dc1ed72d857b4c9ba322f88206a25da43ae1c0b5b59543bb42c73da301
122 -DIST firefox-100.0.2.source.tar.xz 482708576 BLAKE2B 2edfe7ac3f568dc124e6e733fe8cfa554acdf0cb0aa456cab601be0637bbeea1b1b48a4069440a4075c17a7db3a683d554197f1369e614e33af02cdcd39888ba SHA512 6d9922e35e496fa63833ba03d1466e075287e40e50854ddc4f4a2036d9c7ca1f35c03bc6f708a3c469e0ec3b389b3346ac754bb84df0fecb86955fc21c05e00f
123 DIST firefox-101-patches-01j.tar.xz 17516 BLAKE2B 1d222df49f8c97d71e07acbe1427351961425508af86d9df440e9a78026edacb638f1ac8e49bc93733aeffb68a270a7bf2e7f1758c285d682fbc6e8910f162cb SHA512 f7e59b67761caf60e6d37134a72d7d71bf9376a5ef9149fb83d59ddb227601a78b63685051ff634cfa17f49f5d77eba49f8ca6f9bb635fe97a4acbe8eb07177f
124 DIST firefox-101.0-ach.xpi 443451 BLAKE2B a8da480ce7f4d677a3b432708376aa1ef3cb302b9e944605bf52708b723ff3778024683461789b83b292fe77965a5f9e45995cc354b5c3ab68f2ac1c14da11c3 SHA512 7f9778d872043a80fb357503a76b78cb9de821214bf66374f9f3cbe079dc5ada99b32c98cef76853657fd1db937ab3b1d28d499de1d304364cd7db3c8dd94863
125 DIST firefox-101.0-af.xpi 413388 BLAKE2B 600f6091343ea59bc68d5c9352b75d560055530ffbb241c916d86ee3e8a9db6eabcd64743999a8de3fd3f4e0984addbfdcd341c1d97b6b0fedb8873acc1490fa SHA512 64c66a654efda3c9d9c44ba44014570285cf14aa4fa6c08c4d2f89aa27c7854fb43694445ff5f9362e2260453ca9789798af3424f56e500fc542bf514046b3df
126 @@ -294,201 +195,4 @@ DIST firefox-91.10.0esr-xh.xpi 428175 BLAKE2B 40897b955a0f3b54b4b4057a871a5aa60f
127 DIST firefox-91.10.0esr-zh-CN.xpi 575371 BLAKE2B ab139a8305601c53895eab447643461717f17d350bfb5e1d3aa687e71f7d136555eb7c02405c67e2c675341fa9e0e24217f0cd608e47127cce1b89d5444dc64f SHA512 388b0023ed00752834daba082e81131fe83b8697c42a7b7541ac23fcf3fb369d3fd985bbf30e2530911a71c5755df813cab8f29e9323d84191b3cdbca76210e5
128 DIST firefox-91.10.0esr-zh-TW.xpi 576233 BLAKE2B 1afbb5ad4fb00bd4acbe0b71eb53e08a61b4ec38e22706efe2052454bc53b98bd87e5083e6f9b47574b4793a25551ca3f2e44b587586c7fe2c5de5f277de7ade SHA512 5422dddbc5d7ad54088a9258d5fd0a3a15d7b15dbac5080d7a897539d9dfb6fab258a0d76abceda87c123f66211649fd384bb249405af9e8099a3b7c12cf20c5
129 DIST firefox-91.10.0esr.source.tar.xz 380454768 BLAKE2B a28103041af99732545dcf5ff0c6ea999252f7006602b9f74c388afadb32f98927ec10fb1f5ff30029c18a0f7d26dd27584f4d129de6671d6728a49ade07b451 SHA512 8344b829d7bd86250afdd4cb582e27ed5705b3ef48aec50b9a39abc17deba86c9fd721f4667f5c2155e3d7cd1d6e1f82ff8e218ced3a16a4e06bb414ee0690f8
130 -DIST firefox-91.9.0esr-ach.xpi 453213 BLAKE2B 6ad8fb45ebed65b82ca407ca81e1a32cfae6da2dc93b7c06746f47829b4434a7fa41db3e8b0b307cc65e141485b3164595bed8df12b9ececaf86c251514203db SHA512 6886cbfcaf422a853811f56077a6b29c432bfa34fdc3768e62dde52d477ce99dedda2aba542e2813343b547b350b8d39d32784e496f8d18a02f9fa0954fcc470
131 -DIST firefox-91.9.0esr-af.xpi 426927 BLAKE2B 5375b04882b53a6ce1828a01a565d49ba02ceb076b89b8a64ff93f07573ebf3594db7ecae373b550496532a61ad2b4bcf62d2854278b517641c8b052cf8c8009 SHA512 7c374825faa131baa771bc4aa836656b1e456dd862db0d9fb52f13206c43f1162de30a0192ca023f0dc1ed98ad351a921917a6ad56ebffa4cfa3643b8210a478
132 -DIST firefox-91.9.0esr-an.xpi 499888 BLAKE2B f16f44afb6ae2d766a56e5eaa632c07616f0a4c6160625ac2013a0db8180fd8f83cf99d6291cf9d1458326b0dc155a992293682c05d790677f851f5a7d6fb910 SHA512 39069d165df48dea9047dc25dbc2ef8fd2f31249b487638f0769680da4d0a3841fa9bedfc23cdb7f4d563408914c052f388825f331b3a5104169bd79a1c49691
133 -DIST firefox-91.9.0esr-ar.xpi 559666 BLAKE2B b9eb161c72e91e7f5a6b74287a2462c4229b239543725654d89d83db78660549d3897e1c08f352cb1335e3d46878b3bfbb94f352f9b9358609cff9d767b751c6 SHA512 3d90b7d4f3801e0a688e1348f00012ab7112fd401a66fc2463d9b276657061d99a940ce65168232c82e3fb123849e455610f9ea2bb10740de8208df2f8a16ba2
134 -DIST firefox-91.9.0esr-ast.xpi 498577 BLAKE2B f63a1e323227313af4453e05feba571fe63d4390c7cf5c03052e6417545c443c06cf35690116d9ca301aa9a903769ca37f8147ecd643b099e56aed6c5f99e425 SHA512 3b63099c5868d483e533608c332247b3522308c49967e0618fe1cf618fbe986d908ce401bc16d66fb7566290f902cead6613369ce00d14ba7ec6f11737aab161
135 -DIST firefox-91.9.0esr-az.xpi 489426 BLAKE2B dce6d17075a1a7203a331377e7dbcc04f484c137d655b3145323019563e8b8dc5100d494268e6149e97875ee0a2faa9c0fe30f3108d1e53f0a4614e6dada8fe0 SHA512 85945e0692a212e1cbb92ba1a8510782362b8626d5e99cc7b61980e22235739ea956330d49fed519317688100209640920eefee974a4161d53f19a0c042ef8b2
136 -DIST firefox-91.9.0esr-be.xpi 622606 BLAKE2B 8518aeda6bc5aca132bae5fa5a8bd3543eb2bd7e5e0c2729167a63c2c01bde74e790ec1e50ec15ad3fa6ce41ca84ef912b9acbe3e2a2c24e82cb3ee6c3ebccea SHA512 de443a0824a345f38c81f38b98c9d2bbbc801e26f0ff0f3ecdd6849cd56d13931141462f116db3f2353a1f90053495712600b96a383a612bb275eed986027455
137 -DIST firefox-91.9.0esr-bg.xpi 567644 BLAKE2B daa34875f4cc607fa568c5228e9673f6b22a6ee21d98aac08270d41dbcbb20d2b8f8cab1cbfa66ef2adbf501fa7ba7113e24f45cbc0c47f1fd9341b9386500b9 SHA512 1284a7c93fff2767d302b39ac5953b8c0a43270b812e19f86692cee0e60ff6e76f3f74627283ad84cf4ab4b3d1d027947e488a7dd6564faad382e7a96775c27e
138 -DIST firefox-91.9.0esr-bn.xpi 556824 BLAKE2B 9d07e8e9edcaf21e065c5ec3975486b72825d011294c426dc19f8746e4fdc977a06f14fb549f2f2978c94f1e34839722db8bdc5ed7c1b0468d5147f56351104e SHA512 134fffc2bebdf10871662e5b3fabbc19fa876e089a2fc5fa1d6969489430abc9e43ff8889311bba1f882b1ae884305c5df764a45b0a3bc90d232201f6e6d3baa
139 -DIST firefox-91.9.0esr-br.xpi 526254 BLAKE2B 5a72f1153b7abe5455d87cca081dd5667b502863cb972498802452a03388e596f6629db8f745068fd0da6792a7c4ec3f73a8ced52a1da98949394f7ad77383fb SHA512 df02b6e2468b3bbeadab76959b41ab90946fbd67a0c85337e2a7d90f6e2039faf898f065e2f8098df2882fcb259fb28614da435aba63610036b4e66c6d43a343
140 -DIST firefox-91.9.0esr-bs.xpi 463551 BLAKE2B b601dedf41e4f5a2c0f4be9e9ecab0d6b5cd4d48339b24cf38c737e6f6723a9dcb46ad92d5fb52568cce902e61a018f3e9dc203cd88d87282794551e85c5d8f1 SHA512 48423a302cfdcae7908533f3ab72d54eaad61b82018d1989e17d1b468a5f1813a63ce39ba5f293cc9e88e17716d06833eb15464f69d7dcb210c8b88f76d2358a
141 -DIST firefox-91.9.0esr-ca-valencia.xpi 529394 BLAKE2B 9e490a12d0c4c0cdeef00ec77fa8c60afa21cce72f117004889682671ac763b6efe76948dae7ae1927fef632d6195aa68b8953efc7cb04c71046cf0771745b69 SHA512 8ad48e0b17978fa5a1d41550dfb6a835ae1de0add646a791970e400ebb8ba43c7ebd73c7eca328592bbcb4602d62885e3359734a77c7d018558e2a37470d4697
142 -DIST firefox-91.9.0esr-ca.xpi 532479 BLAKE2B a4952618e69a515ef607efeb4eb6abb8926be101290b7a347bbf3bf86f388ca1f6cd7bd79f9ec2ebfbd5bf75dae088dbadad4a4cf645ee8a93b56fa15c0b17d0 SHA512 7c2f82365c95f95f426edd3a27454d3359a8b88a9bd2226904faec52b6fe2327c82034b59a0f97de7b3097fa4ef5983602d4a92e72cea85185067e03b7da9422
143 -DIST firefox-91.9.0esr-cak.xpi 552605 BLAKE2B 7b3973f5fca49f92a3d466ecea0401e594b741a60ae1cb16074a27bed5ddaba1c6452bec6411779b309e0d894b06c3e1fb5a88b5e383bcf71446f82cad97176d SHA512 782e6440e61d18252a50257f6e1b620a8f625b8c9476d3b3d73680a5bcad5ca8820cc78d36e9c04f67e5a14b95c009c4dcb29266c9471410ca1e655f677e7126
144 -DIST firefox-91.9.0esr-cs.xpi 563169 BLAKE2B 13a99716b3f213febbd63b9e0e8430cfe584777a12b34a05f25446489d60f901e8fd54b52b13cbd1e74f0b8b0080467ad2db08de5b6f3b73f930f3b33684cb08 SHA512 7f5388884709cbb660232a313025ec0c3dc49d2886149302e371efbc945622eafe99b6e0531ed96821b6295baa5de6c5dfdf296cd0fa49b00d5a47d8fcfb5d86
145 -DIST firefox-91.9.0esr-cy.xpi 542215 BLAKE2B 2bb8c593ece692d07b5ecf9ec0ca593b5e4c3a192f8b695b167f989ecf1da68bc6e61ac54adeccab01c1a6ddf9bffafa99b5ff5dee144d8e0916ea7da1956e23 SHA512 799861607fa3586542594d7690acfa30eb671f803f9b88b3113c6d282bb3934a00ab67d570024778ddf538fd01da9074f68ff0eb91af5afeff7d65a8cb90b8aa
146 -DIST firefox-91.9.0esr-da.xpi 534159 BLAKE2B 6532a8a775257b1eac65861b42cfc2bae9d59cbc8e64dad3e147f0c9f598173408dde66eb41c6eaab400572e32297851bfd360825275c4a4ddd486a2a26e5784 SHA512 79100cb5d174e2c6ea9d030c48e8d7ce916d8f48c6900b4dbfc9843ca7fac8b2ae274c8a2f41ef19fe211cc962f3220b6acbc2d02690c7a46fe35187fc9c16f8
147 -DIST firefox-91.9.0esr-de.xpi 553583 BLAKE2B e371aa6a92796088080ba3ced85e67e917995c9f502067e46acc6d7b11b8be95228942b82e7e41e678095308415f5e79a0522d245d33b0345ec110a2ffd53de4 SHA512 712937007cb5933c0d7c019486cc63b31e90b6c18c7c9d5e137df5eab9ab4c25aeab704b7fed964373a5bdc8b1522db5fcde76b42a5777df33e0b0860f489214
148 -DIST firefox-91.9.0esr-dsb.xpi 566486 BLAKE2B 474979f95e2dabc445076246c94515cadb486944e3e8bc8e1998a31e2a3f711c93e6e565785f7cd7b826d58ed613df380d7b062bc4babfebcb3660a612643aac SHA512 a6bcdca3e4186b3d1d4f04e40fc5b121345c347cb75571ffddf2674584dcaed85d18c783801253d0c72f9a9d172c56de8d4d55ce642e95d6ee229003b18c56b3
149 -DIST firefox-91.9.0esr-el.xpi 639146 BLAKE2B 42a6de51fe4bee9a275154ec80824196d77fec3bd57537c229f864b61e75e63094b52d9690c72e66903aa8ce9e0462390718e4979081187bd7bdf64183ae5d39 SHA512 d64604fbed8bb89459ac67d81b65ede139f5e1e6f75118eeb62c48ebe79fdca5cb92d4039f0c2535e9504a4b4307beecb9e5160dce55d0830fe261cecdd04785
150 -DIST firefox-91.9.0esr-en-CA.xpi 509562 BLAKE2B 3c26338ef91200a71450cfad719a75bb4ab1aa226daddc4cda6c899605341f0e97736a00557dcf20906f2d118a9d28fd76ce08ab4b557494832048070b2dea1f SHA512 511b2ed01269869e7c263f8d9357e5f0c3773fd1cab0217472c44dd32446d94bfe1cc220e433c29bfefeee83d305e646c930326bf77612cb5e04e43de4795745
151 -DIST firefox-91.9.0esr-en-GB.xpi 510591 BLAKE2B ded3879d8ac55f3925802903faa182b95d10a272d8ffa15b54ecc4462704cb88b602db4719aa4cfb3defc632e592f36a2cab7c2d68d3c108c05f9c4dcb0b649f SHA512 a36fc58560607119c989cef29ba21f6d370cd958a341f0feee3984a69e6180f7b63af1df00f9003dbc731db02ddd99d80f9ae545eb182da28563ce4ac49f576d
152 -DIST firefox-91.9.0esr-eo.xpi 534793 BLAKE2B 5040d22b259006355ab7278691bbc1951cef114e37dc2dfeb6bc0da9c439e22ef559745feaae9d5c291fdf8aab98bfcc9c7da79a32cc77aa65f4bc7c30c23ba2 SHA512 2b9689c52b431ea21a73dbeb5227b934363ba80f56d5335a05fe85b94a8beb4f73c2c7ca8f0d89fce7f4b384acf10d72c0a1b0a221fcaa986e5c61b51353c1e2
153 -DIST firefox-91.9.0esr-es-AR.xpi 546677 BLAKE2B 86e4dcef0df1d429019f0ff0c00c4a398dcbe0b23e4a62a2d39684c369044f6a3ad340f7ad0305081fa3d24047a64cf8b53468e0b65987947a0968c00b00b331 SHA512 9261dda6cabe7b51e0e29d41f631ea2eb8600681b12791f3e4a1793938c0a18c6fda4c12297ff8d274eaf9865bf0c65e3d187aad64b833baeda839d1d6a07813
154 -DIST firefox-91.9.0esr-es-CL.xpi 546380 BLAKE2B c5d1bdbe07e828ad50328ac5d7e9c1397edf072e9ae63a438b742b1a416e2bd068ee9b2e15e70f1a1dda1d65d98a03498c45b6f8b13b8d8de102011a3d081f12 SHA512 4e6ab6bdc68e44fb4224d85e8bc395c473fa9d30bc4e1bb3612ed31f2ea59838760720ad4d1345b1a4cc66f931f199be4aeb5d364e1f8c1ea2cbaadb123a6fb0
155 -DIST firefox-91.9.0esr-es-ES.xpi 537068 BLAKE2B ee2ec531ed515f280745b6fe1f026c14691c17b323b9edd958a5ef0428fa21ffebeb9557e912863cacae7d7781ac50fc96b29db801a355085e0e5274a898c824 SHA512 b33d90f20497babdbb288aa4a048b9b4f49ab6686c64e39d81a63875438a961b97a242a6c09ea7a1a669246147dd2d123ae45c4d1396a2c0dc89e39a346ce8ca
156 -DIST firefox-91.9.0esr-es-MX.xpi 549996 BLAKE2B 4094a0af0996f7a2b30201074fb239af15e76d063bfaab6524b2b97dd8ef5d4c907279a9c56ba96c75fbb4b8eb72521fdffe538dc1bdae1ab6384b3a5644a172 SHA512 a8cb6a3ad72097092d42b376cc43305e0ca1f371b1bcd08189286c3cd5972f8b581aedbece86b0e64264ebbb59e5b3009ba383f03aa9b0e868610cdf980b1a2c
157 -DIST firefox-91.9.0esr-et.xpi 506669 BLAKE2B c0fd33eddc6c318d17ba494a05dc23eda0292b33cb54de16aab5eafd840103a583a90bc69f7c21beb78018e8d1af19bac8f79842a1e2697389f61a8eef523fb7 SHA512 8b6e3a9a430855649093ff551f510984b76cb91c5243ad056b4d7d9cd1d09b6d6170d3f7174f4665db56227786c0e54b7bb4c4659f903adaca3dc2566079a18c
158 -DIST firefox-91.9.0esr-eu.xpi 536329 BLAKE2B c9127b7ef9f063f2dc78dbc2b92ae8fc854742dddef0816abb7cdf44f6c43b3fbdaa19e0498feae34830cc39fae088d1ef1f7673383bf4b579fbfba3d7467c7f SHA512 cacdd1618a84b21ae1e5a6b1b7a9cc7c77f6ab2a0f4a57530850561ab4d3bde17cb49abcc20b9c31638656a82ee4d22a7bce0ec34c59ec28d106b5ee43d14c29
159 -DIST firefox-91.9.0esr-fa.xpi 559375 BLAKE2B 237aacb5c27bdcc4c05f03e1de35d58ef1adbb4152ad3f5e4da604633af0684568513d459a6f7f33e8713068b578553f61a0931d260ff4bf307b18c36037a299 SHA512 abc61e80ea2f365a9b1a0fd14e173d305d05b386c01c844e3eae14f9e279b927e5512b0d7413455f91049c98940f1529cf3095f054d46ccf8c7acccec3b2c5b5
160 -DIST firefox-91.9.0esr-ff.xpi 471869 BLAKE2B e3ff81504a43d8e006f51bc5d574d337ab0f7fd98e8019ada2aead40525b0cea696070ceaf2dd8ecf4390ffeea98ff1b2ffab23e2ab102c23c88b4136d56f5ee SHA512 ed0777632a0626b6d200630d8d6f0892e5095c5aa5232f109cc567f5133cbafc9d747b4bd17eb2a39917d0aa5d0d6801715ba093beec02c4720589795089cf5c
161 -DIST firefox-91.9.0esr-fi.xpi 531482 BLAKE2B f5659a2e1c961edc77ef32ace4f7d9d900effb048bd05f804efe816c5f9bf78d9073c4f8280ada7b261e0754dcd879efbfb1689b15486ed53ca08c5c7fb5c2d0 SHA512 184e0dc3f4cba2e4ebd6fac27d1383e27b07994ce123858c43356d6000c9f873c4eb5c2648b04922394a1a1cc2c12fcbf437d7a7eaca5003fa2f133f34d69a0d
162 -DIST firefox-91.9.0esr-fr.xpi 557621 BLAKE2B 820e4c675bfd2d57ce8733fc2c6cf2dcd204d7447059990096b5add75eb448728e3ca858362bb208ee9f07679960a5b63d4a4f54d0fd984ce81a456f2334fbbf SHA512 cb22c21540d441c3a274d276a546f664fab3f03be5d9d9c60f57d9693bc769d3a77f215a6b4389f835948c28a779479a3f03e8ab04ffb322a9be15a1a8a9f359
163 -DIST firefox-91.9.0esr-fy-NL.xpi 543302 BLAKE2B c8459abd86126029fd363c47ec6beb9e60ddfb34858ae1aca455567fabf28cb525636a113f856bb9266404e726c590fe3f5dba9d01f4d43eab8a5ea3ca77fa10 SHA512 d75eb5c360736e9bb3a85f452e0ebbdc6ffd8ef5fc324aa395a55e0e6a85eeabd4382b6dd6693196196dc4902b9d1da19068daaa350ff96c946bffbc1705eff4
164 -DIST firefox-91.9.0esr-ga-IE.xpi 459835 BLAKE2B d1d8a9f88870a69c169ca1c79de2d478f74f6e31ccf8d3512c4265278b4148e26fff8b6c57f25be7d6970a860b0ddef6f4b38d953676c61f2595acb9d14b9ad9 SHA512 694c419356872a99c86de4351a0cbd9f1b4a67afaab8a55288d54792a8e358182fd7813ae113ccc5596d2e5158337eccbe962dc93f938b45e90dfc46c5a25488
165 -DIST firefox-91.9.0esr-gd.xpi 530852 BLAKE2B d1d9827340b6860494f5c8275cf13c85648f25fe3d6b4ceac39cfafae1a3efea161c7e6486fe66651d6ea500bc4e1ed064a3f5e3dbfd848dbb9e7bcd8c526a85 SHA512 67823a10f89ac9118d6e82e6a7554c4fe911bf02d923a3e1e2665f90ecf4149136d76851a7861d47e5bc4fea672b586e828f4f4288a607d73ab81658b7be586e
166 -DIST firefox-91.9.0esr-gl.xpi 541297 BLAKE2B ac1de8abb2bbb60b8c9a53731ee44f45db067c74ccc6d9a3dd95f49d26a20908fc2ceea7753c595f535c19a0f529a9ebebd6e727d86b1063d2cb6bf594402eb8 SHA512 5c99f2401f565cf609354b95af45d80f935d84d90f65d998b505e53989c73f4eec5f25859aef60846ce6b7c581d6fd7d53363314a60539b31164fafed4672cb9
167 -DIST firefox-91.9.0esr-gn.xpi 557606 BLAKE2B f21c2af2f39ce0510bc8ff86d0da5389cdbdc6c14a097e2801a76d246214d7b16dc6b96e37a4288a274337d0fe366c6d0ff01085dc8d014ff4be3c7ea9c90ae1 SHA512 d7e828bc0565b75c03c4f72274cfcd13cc3dc77639505010c4925a1ba2d7514a94062b802b46a0469ee033ca60da38dd4a0188cc7ab71f8b43a2e9ffd546319f
168 -DIST firefox-91.9.0esr-gu-IN.xpi 529548 BLAKE2B 5409987f6fef13b0ff92f9b0aeac734660485c4353831ce7c375ce0c5a2b534d8875166860c5291325185712b7ae1436e13bb67432ed0489d9ea8262564a5269 SHA512 3a3a8a263004ac537e216362d5d402aa58ea74e43a4c546683b5bc5529d00df5f032373f799e307deb397b1e0c309073e9aaf826826213e3ebbf7641bcf79688
169 -DIST firefox-91.9.0esr-he.xpi 557207 BLAKE2B 62c60e1dbcf8739bbcb6d1ea71a5055d120709c500363dd247e75b690e7ab481a9a5da9014d43b71b7c61a83a3c25fe70134d0d17f896c1c19d387d4e94d1a2f SHA512 01b55c052813a53788806c157b15b219b7831e258ff0c547b1da79e8f2af1753a3b36bfbf49dadee6c8fa272f942ea72816a346bf26454b58e451fcd42e634ab
170 -DIST firefox-91.9.0esr-hi-IN.xpi 560654 BLAKE2B db9216029dbd95dc1f9dc29b389189451fbcb2ca9dde9b2235d0aa48e31144ffc3d07e1c1a5c6e9ccbfe11ab67ee1b3853aeba6ba376209c28adc69a00fc26cb SHA512 cecefa32bc1d52fc3d330f870173b7fe906681c5bfed6b465cf36291a2dd51af229d6bae1c7a59f6655bcb0ee470e381f47602f834e595d92555f316cc26b8ab
171 -DIST firefox-91.9.0esr-hr.xpi 530044 BLAKE2B b9f723415d7a2b07cebbb22618b7522e247e9e4ebd27cc3e6b7acf421b3ee728507aeedef41733fcfea69c08aea9b10bdf64586534b3c3e97bf5ba91d8d3fdb4 SHA512 b3f4c6aaffb69d316bfba893563ebea3c71f818e1c81b4a5b873b48a5891d34d042cedb6cba6e34c9dde98a1040cb05015e51b116a525144dc13e2af8c0aab3e
172 -DIST firefox-91.9.0esr-hsb.xpi 562625 BLAKE2B 707d4aaba7e154fc66bc6f25c0314282c1de834b4b810ed8383f33cb040a0f934f68be23069c3cee38af0e11abaa3867c3fb6ed94927871f1faca9217b46e88d SHA512 84c3141b76a0a95c1e4df21a56f8687d568fc00d5e63ada95fe06ddd5a0d794b3ba8430b37c03732c2736fbce4a3b40e2860ce8eadd6d74f56c446ce950d093c
173 -DIST firefox-91.9.0esr-hu.xpi 566083 BLAKE2B 0535b4d50c4e864dc17d5271b42083286a2ed58b18e935620701f8230a2c50dd8030c6b84c8ce54f15679cd1199ebe0929f4c0bb039306afc774dc6a2b65b011 SHA512 a9617431316de400435af7d7c5860239c4b0d75883ff326264506e7d31662b7be02f38a582a04cce81a378a9af7bc8da6dd8090b453e1f86d92d3239be531559
174 -DIST firefox-91.9.0esr-hy-AM.xpi 579765 BLAKE2B fa600e801b797fb1be7db1eb4c18458745b844a4ee5fa5c3959812334df6158fd25c0cbb2009ef56e4151525881cd7421d7a30bf21e2420dd197a17cbde72b86 SHA512 a68be69300c55cbc779f6d040fd28b6f4511584a8c9b49fe1fec57c501b81825fb377a7147bbd76098c379ad5050e74aebed9e4ba3908417c056d6143a9b92ba
175 -DIST firefox-91.9.0esr-ia.xpi 532145 BLAKE2B 34ec0c3510b0786bd08df34a0d403bd5658e1b16054f54bfbd477075abca239ebf27c6d68182a7ebb815f3790045fffcffd277ac1ac915458987230108baf323 SHA512 b4ed164a5a7e294ef1618e1ca5817131e881b7936fa76fa65362d688a8be198957884bd4c974d1ffe32896079a1b1bbe17b2c9596cf4ce69e6aa1b3674bf26cb
176 -DIST firefox-91.9.0esr-id.xpi 519831 BLAKE2B a44655ebf8d29e46bf0717282629749f400234441acae7d08ec6d964ae16444194ba6e0fe6264f7a1f700d9eae5d590f795bee9f4c2600541db5926001adce31 SHA512 9d410bf3711876a7a4145ed55685b35140dd60562d60693ba98c1e6acf679266c33c6700dba7117047f12509f41549c24899b293c9fa938639895e780bdacec1
177 -DIST firefox-91.9.0esr-is.xpi 470227 BLAKE2B c17ce3a944d4202d07e082b6a584a2b8c7211e2bd5b2c4823c82ad5dd44581a7a757517204fc0e62744f7124b6bff808623c6354018667b8a63c40933a74659a SHA512 80c0c19eb7612fd2ad4b5642639f208e98e44294bc68bcd1d0c93806585bfe1e2dfd8dac1ee543a15e3369851bdba7053dec2adcb92065c75332d587e654f611
178 -DIST firefox-91.9.0esr-it.xpi 459094 BLAKE2B dbef8dca3d64470e294e126b794af7da2d504d93f61c2d886c89c10faa3e1980798e7b8c95df87706f95f366701f2938d36da4f202f96845e38980d849c5d749 SHA512 59d6707da0fa7e401100173708474d1333a77c1d32d645b44c6cafdb629100fb45092d2438dbf8f26bf1549b695714de31d126fd8cc7d5ead3f3c8db48f56c7c
179 -DIST firefox-91.9.0esr-ja.xpi 588083 BLAKE2B 775797fd2d92967a8106d9c38e81e9b3fd142cda0aa74ebba4ddb0f5bf8e6d11f7d4a6ab83f7b9a96c87cd575372a5f58a99a2bbb56459e3d84ad7fcd9c5440a SHA512 5e00899ff8813a3a3698ab068fc92b62c1f24e8cc5ae112adb3821a483a2ed3940ac0145d160899023a6adff5ada3fe76d2c98cc6c2931809ed26961783fa703
180 -DIST firefox-91.9.0esr-ka.xpi 592244 BLAKE2B 15276114b4c22675e0ba3b2558a3e66af26c764dd7165ef6dd0a1d48d28e542ef1c4eaa3847fa5fe0e29c48a8b3ee010d7eda938d31c886cb4b56936ac6010fb SHA512 016647180407fc6bcf92d915260ad57cd7054fd44d7946e6d90910c3aace23742a64685392af47488a5c479e397ac5fa3354b5f3f2c4555edd7f0c265fefd592
181 -DIST firefox-91.9.0esr-kab.xpi 545013 BLAKE2B 63cc363264e65f9712dbe52d2aaa26219e023f16f3412231efd8a6632d38e860c49adf86082a1badacb2ba5187f90d3cc35cb7534fb5ab3f554b5305aeeba098 SHA512 5e3536cbee93040fb39409fc78530343555bfededd3885a3088965891f31b478a8bbc5c13ab91b8eca9c5beb968f4c6b589a1d5fa9d7884c848590be42f79eed
182 -DIST firefox-91.9.0esr-kk.xpi 605553 BLAKE2B 4e6f57c1fbb45fe82fd892cffc89b93c57269563255d74ed0ef4c7acbd3bdea4304ac64bf044eb7799535e23f44631345a6f83e38e6f5a89d6e7a15fb5929bd6 SHA512 1f9af806923e2a1a5e313a2c5ccac55061c8e89e0b50f0cc7c0385f5dbd2619037a7b48a8e59a806926fac863fced3646251a0c72f3c318575c07bf77dcc1dbc
183 -DIST firefox-91.9.0esr-km.xpi 533110 BLAKE2B daaf504a1f1d01bec3403712890f3e438fde7ea81fef9a147f188a8212a94037a2bc00b6b2d40c7b5bf45247c2ec45097f595c963dfabf1621601fd7d7708990 SHA512 4e9f30d2b14441d739f9a46f6788d1ede20801406a05032122b75ad60c067ad3f2e499e2289b6e46f97d3581a46a6d7d05706e78151e2beec8f33af252368b0f
184 -DIST firefox-91.9.0esr-kn.xpi 498972 BLAKE2B b8e456ba0aee0e976f9bfec744e2fe6fe00a333846ae95b6df105e06e75feee5794fd101f61f64a61c9db135d16fd58f2bc00ae13f39a96723680ffcbc69062a SHA512 98d2ef78d63bccfe4297f4c03b8f779a719114338fdf44584b4fa208c86ee2c25d4b9edc96b905b3b1df37ac6dc7fe231d6aabef6eb45ce25d2bf9c69eb916cc
185 -DIST firefox-91.9.0esr-ko.xpi 579065 BLAKE2B b3748e9ef01125377ff30e27039cc2f945f3126fb26a47736724df65274e49b42ac25a435ed016cef1541121a544e93caed0643839224063407bc3440a49c1a2 SHA512 e54c373d97adcd08906bf3af8ac9523bb4637e8424b3b6824c0bfe51d3469f5530120adcbeafd6f8a469d65c68057d2f8ebf4e07a3fbc66b0a426d282554fc33
186 -DIST firefox-91.9.0esr-lij.xpi 470175 BLAKE2B 230c64869b916d8fbf27246886577484c191b68989a559d25b42cfad22d5f99ebbf0c9863e83205eeeef7cf5b920f146ddbc1903d25a442c7f6df7d7210b1c5d SHA512 eff03fa6bc7e0a6b6a59a0997cf487b25d45010c5f797160a0c1645c6812cfdd73dda22d3a58acac9e6abf5b755acb3ed635b96c06d4763be1a1d3579dcf1a43
187 -DIST firefox-91.9.0esr-lt.xpi 560114 BLAKE2B ff49024db893a512e272c391e2ba1effad16768bcb81f87cef671410225ddcf46d57e520cf896a84b08bcbf02abaabdf4bb9871ee44b913f008e4fa0c646d14e SHA512 67a840bd3c7f01d7fa64ef5afddef2919fab37f4c8c3090e6669233946975bde09060fb2c452a10bda620636defb74f2816309a317b3354895b89ef7a258675c
188 -DIST firefox-91.9.0esr-lv.xpi 462464 BLAKE2B 18a863c07c62ee35f7d8b7684d3b9ac6c9b2d24d79efcfc1715ff95eda0e44643e4f2cb9b9a9c8ffc563ff3056417d67bb96dff625db9f1c5cf5a84dea98273a SHA512 36bd2ef7b0ac2813430247b6d0b922eb7de25af26b0776ffae92c2362f1fc1b6c60d5ee3076d3f8c47d1cd097326b464996b08687a7a9d2fb35f0392cc26b9ba
189 -DIST firefox-91.9.0esr-mk.xpi 465339 BLAKE2B 575551634be9148ddbac3d948028369ef44fa83d8e702ee24eac9aef6a62ab58004dcf22fb6ad8ff0d58784105452fe9ba7ead026ac21406a38405d7753b95e1 SHA512 4a4bba0746607fd7cf7844f78c98b4026636d9a99f5e0191c68871c93ddab94da730927da183eeae49e07be5f763ddeb0b9c075eb631d1db1ac240eaaac4dffd
190 -DIST firefox-91.9.0esr-mr.xpi 532126 BLAKE2B d1a5bc9a6076a0b2b2f4a6a6439e0d249e06a76dd2dfaa21168485c687f455e7010f412ad28e598ec3f5812ebc1e3b81b6a9adf3e2ecb7443c45c42460f63083 SHA512 421c2c36c85850fb61da9c65ae61ea0bdb2273440d472b63511444c4a4345383908e68e95b22b7297f31efc9e2ed9fb816e31618d7929772dc0a528f74c1f033
191 -DIST firefox-91.9.0esr-ms.xpi 447341 BLAKE2B 95401a97345175bf4e47a7e86954eb2777ce1c7125279a55a9cf6f491ca3157c7a0c986e34cec7be3fe725003eb515b890da65ec839cb82098f99a72d4d8f270 SHA512 622d3e6c131aebe3c7aa303fd0007b2ade21ee40128a5d7f7c84d22a59ab53391506a63a7c46efb29ad9e2094352d0a33b390facf34c7457e44c72450f0e08a6
192 -DIST firefox-91.9.0esr-my.xpi 516300 BLAKE2B a7fa279de82384ddddd88bc14f64b3732232997e4111008dfa4998f31e5345c3c8723f0052e3496390419e62d438351d3a1d91c883afbcb650d71524a33241d2 SHA512 ce6892bb26de06a01f7fdfc45650e6308579c7f2863f9836b57573db7939d7fdd0a27c93f79d6470043ac227fdb61c84de1d7dfefe8ab839e9e3a30b661fbcf6
193 -DIST firefox-91.9.0esr-nb-NO.xpi 529420 BLAKE2B ce31193c9580c5d2ac7e9e9a3dc3754f4e886d5cafe4b14209aec55dc6051b6ffe3a093f360bb952dd2b62d52820fd867da02a88bc33bbf25289b7461bf8d50a SHA512 3980ebdcbd48b96d08dedab50e4d6c28e0006601ccc64f9306b89efff5a4d6fd6cbae4132160dc8fd21d7aec66de4d73fb1b456f87ae19d533a6b72871e511e9
194 -DIST firefox-91.9.0esr-ne-NP.xpi 485220 BLAKE2B 8af37db3a936d9b5aa2ebf71b22c3d85080a0b546ca8e748222aba5086a2ae55431081040bb49ae2fa1517525b8029a1f8d0d237d3a037b97f56d47abf74e281 SHA512 cbe25214852054e08b41af418e5635b20191bd997730c2c096c7ca1cee92882277238ffb8aecc1d406680c2e9fc03c895b20af7cea8ab379958733d578cac93d
195 -DIST firefox-91.9.0esr-nl.xpi 537388 BLAKE2B 848b8901b1480f95c0cb021727ecd00d2881c50bf1d6d489c19a79391cc635b7d34d5b8dbfdb16a77a33a20b2b0124e1ae4ef143b9b12e0e04f65ae49f53d646 SHA512 683ff16e9f014f594bf2d8ac4feda163f4caca6a0bdf02dd3068600fdc26db0a058c1d5f2fd501668ba59d9d9124cb3026f7eb34761f3235b01e9d5d24930665
196 -DIST firefox-91.9.0esr-nn-NO.xpi 531673 BLAKE2B 438894684ff5ad437b116a91bdfef9bb52ca2dc90aacc273d89da76e5fb5c134410846fe1953df20dd590512eeacbc473fe73bb2381d37d84f9263025569751a SHA512 ccb7045cb426cc3c372a4e698a752cefd19e6c29d163e1a94b960344b1378b4d73801088488998dc687b36def27de399d7a1f6f34f521402d167a172679aa257
197 -DIST firefox-91.9.0esr-oc.xpi 552938 BLAKE2B 40f39425048101c5330d77592320b44f8ff1cd74ff9ef451764d8723d6f8e5de8d0139a765ffd96aa176884800df87684f1c9bdc5240765621d8c092f66feaa9 SHA512 e4392439b229107db88684aa11a47f17d14e24c69db84dcd4ab30ae20119ee5d63784ba0206c19a0326d7a3f66d44afbf808ff6f8d93f3ddef358cb28967bb37
198 -DIST firefox-91.9.0esr-pa-IN.xpi 595974 BLAKE2B 7b9287da6718b7b6fc4fe3a43c414aa0e8629ade284e25f7fdec346fbc9078dbe54bef4bef2b26fa7dea3e9aa728be9ea44bbfa9c0ca4e899dbb20a0f34ebafe SHA512 f74438ccf2160196373eddfd4d8839a10ab2ead100f0a05dc9f43bc186b484b79e16eed319c84afa935d4ebb4027094766d5e993ee27e67a6e236497c062b6e1
199 -DIST firefox-91.9.0esr-pl.xpi 555619 BLAKE2B 2d210de181f2f9e247c3bb003b6a3cb3c4f15629bd7f294fbcd49cd71f8181a05715294f7c850bc4bef268190d05ca2ce1271211a55129831fd542e7a4dff6e6 SHA512 ac5cec8ca29a4a0424f0c3be1335bb8151291c98790f2c76550c89906f6c0e18d9ad9bb5ead8089148bd9dec92ae40aae753fa083d65493b8a35eb7b6c78e88a
200 -DIST firefox-91.9.0esr-pt-BR.xpi 542613 BLAKE2B b5c2a4f2e8727a81aa683becc0d7d4af9e3671e69b5abff5b1128e568fe0c36fbe0d286ccf4d395e6bb67818bedab60b11a05efafb3df711069016cd1a9e0b27 SHA512 ea4841eba5080cc947bc5ef582d22b46aeb747e8ae1013f6b45b0a961bd9a8456f1e3772e9fc8d8a7d827f2c1b215c4239743716114139b6dff05e01712dfdc8
201 -DIST firefox-91.9.0esr-pt-PT.xpi 546338 BLAKE2B ee5e50a11fb5d65811f03afaa045bd7caf2fda8105ecdee182c3d62bb5edfbaf389bdcbac80b410883f3a2d1fac9a484356aba90de9052bf6626148d860cb81b SHA512 16d4ef571c5e3922889ad21186cf127c18ed523115476e465882269975cf130e42b9374e79069f225f14be2b391e79e4108dcb541265f6eb590550337655800d
202 -DIST firefox-91.9.0esr-rm.xpi 537360 BLAKE2B da592598aab21dcc1c8b7e198194b90186902d8adc49b1a85bdb2aaba63e3fa3327990f34c3d6bfb0fb38d19e3278aa8d08f18763c46a4ebc5665edab0e1ff96 SHA512 92917d31ad3dfb5b28a571edfa405a3ea530951e2bc2ec32adb149b7c52b7cb8a3872c9ec7e1478da748810ca20c56901726785bd95256d2a65cc40d4f540426
203 -DIST firefox-91.9.0esr-ro.xpi 529326 BLAKE2B e53b448a8045b5051a7483db1ff75fdd24f0496d3cc24001e3e502cf2da1a3154653bb510fa64a7c76a2ec73e3a9eeb7d20646c7053d677a9921892b0ed904d1 SHA512 b9faad2a10495334d96eab6502607f7246c3a21b214f80708b7e366747c254289a47761ab415098f4f38fa9ee1243776f91caf7d55b3628a367b5220aa68d1c6
204 -DIST firefox-91.9.0esr-ru.xpi 627119 BLAKE2B 550843ccca9fada76012a0884258ff013616fa58c8744d5d7f7e697e9787b12ce77515c9d3a7e7a543090de3f258a23e1dcb3bc04f72009d51d4c204541251a4 SHA512 b54221e41b7d46951b127eb0c7398765040b044b86afee4dfb5cf858487639de7fbdca4593cc0d3ef8ce52dd42a4dcc5308e2b6b4118efdbe9b952b8aa58e141
205 -DIST firefox-91.9.0esr-sco.xpi 504857 BLAKE2B 069c1b3018535663014df2ebf5a4d314b78990456249ef865a0ee7033af99efbac5a8710ebada4b8bfca0645df565666280f5f859511b77fd40ed81cdc7da63d SHA512 199825623e9524438f390c22d5047298b7a905dd72045f4f36db25a811e84c3ef533ee8ed5805cf42134f9981813ded74533841d9eccc9c31d1e3df6c51d2430
206 -DIST firefox-91.9.0esr-si.xpi 487949 BLAKE2B 1d4b22f31c4968f23d13d7357aafe7afae43100ce866a4fcfe8ed5c849ae9f8e7ef5479cb23699d5f7a0932ed9cf1c2e562c8dd3bc09049b0f0bf4cc83d3a641 SHA512 c6d3c0a04ba479baddc3664470d637e4477fb951d10feeb811ddaf536109285e6ce99b3a5ac934ca948ca60afce37222d467ebd365712c88f4886810499ef0e0
207 -DIST firefox-91.9.0esr-sk.xpi 566482 BLAKE2B 31fc7923d99cd938c3c957b70814330989c5942e85ec2c96c3b43a18650bd65f1fa61061271239a1f2170f0778d16887ace440bcf07d074cbeec917127f0b1d7 SHA512 eec6e78b7e6da6841401ee90e55f92e64aad166c82e08b6a1b069d19215987ddaa0469dd8821e0fad6db0e5fbbf807c5451fb5b7d44838c87e83ba8cd1696e7e
208 -DIST firefox-91.9.0esr-sl.xpi 538013 BLAKE2B 9e02552f32850a3c1ac7151399186016a9d8c7f8300fea370e7aa94b66051a1cbbff0f19c46690f0f40d123fa6f6cf3387a1262422fd79b976da7c71f6bcc706 SHA512 f4fac9fc17d4d51aec6ad23f3abf4d15606fd2f33bf63dc63d1c15abe818018b72ebb66929d592a009d6b782a6189cdc8e440593afb79be602fb4bc3d84fe245
209 -DIST firefox-91.9.0esr-son.xpi 425992 BLAKE2B 16ea43e2f86823371405cfb31d0c9d9a8aeecfdabf1e23610fea98273e5cce6d1c9d7fbefe4d97fb6fa65b7ac7cb97211b908fefce23ef60caf26ac94b6aa087 SHA512 907ea3f434d2b78e3d62373aa0b12205a6647cbd431e6b92e908d21e20eebec921a82076e3f96e86ee0c3ccf2d57101795cac3724069b9c20698e5f84bb6b329
210 -DIST firefox-91.9.0esr-sq.xpi 555988 BLAKE2B e3cfc8056d49332766c02183f3a1b6b65feb677a17053be423c218f827b9465b9d6325cff0c51245d80f1a699dc525eecd416c6d9c15a53ed7147154d908cbd7 SHA512 80102bc8c2cc9ca591a7952637efc2061e4b0737725d43acf4d5b1720d3b7e1bd73f15bf37ae5a4ce9e7eec0593bfae6dd961bff2555f00154f9bae6ec8459d8
211 -DIST firefox-91.9.0esr-sr.xpi 586068 BLAKE2B c5f5a635c1efcc1912ec5b14864126f975dd90372daf773eb5662c69f8ffde5892fa13c5ddd40f84cd1dfedaf714977afdf20e04f6dae1711c9ae3fe3dee21c5 SHA512 862a62ab1b3ca497305085bab269bf47f139be51213aa648689189e739a0fa9ee5687d9c2f54b5201314dea51a5e9ecc5ad4f888eb4028d7aa491aaec055a1a4
212 -DIST firefox-91.9.0esr-sv-SE.xpi 539967 BLAKE2B 2ef31d495462900322af60d0750b36371faaef7fc784fa3e06b20aa96ba2541f7cfb2d4a552ea4bc4102b5d83f41d8bf58dd06b343b54989a8dc1393303e8323 SHA512 1925ff7ca77d873b721af1b00105aa5972538949c930d20019f5b981807fd366061ae602b8b411866c121ce742e0d7876c82da4ffa695a1991dfafa9956708dd
213 -DIST firefox-91.9.0esr-szl.xpi 509809 BLAKE2B 0e4eab06497623f1bc24ccdd9269587e081af29d817afaf4b8370a8f89a7486d192117b236766131d6af56afd929da30fb17f56ed5754288c374fc3ec09bb29a SHA512 7d583653d1a9f1be7ad080fe53e8ea6f447eef538792a40d7ec4e6e87d9a69f61c2ea46680d1b37c426718140b8219d6a7854626c939f461082257de762e3f87
214 -DIST firefox-91.9.0esr-ta.xpi 513821 BLAKE2B 3078334e2f461e661de6be33c166ea05951f4d9b55befc9e1b43b50ac013a2882bf31ca1f5a22fa892b3fc21b728661cfd87f29c2c6e87d0b2c41907d832e63f SHA512 0594c0c7df2d1586a965388ca0411b8cd4073e156befd83940c4e76959ffedae97f4fc312b3ff2028ce70ce2bfb24c59416157f04619cdadbf992b68ce3c347d
215 -DIST firefox-91.9.0esr-te.xpi 549956 BLAKE2B dd197328b7c0682457451bf4058d7d16bcfd4d09d9dd870df922e924bf66f2c387e926b8237b3687ad79599e21ae625e9f171849bae982a23ccf587599a7851f SHA512 f64ede8e879e301b9dc8028695b8c72c79b3fa958dd0e24ee829db1a43a6c3a87c4612463705dd65095df41e21aa57178e5a41df2bb1c8576e0c14674671b274
216 -DIST firefox-91.9.0esr-th.xpi 607069 BLAKE2B c58fa3216c44a88c9d964b3ea2b7094b36bd1275f947709195308519f5084bf0709551c8a715c6ef188cf7ad64b878779172ba727d056e3c325dde8f72f3e6b6 SHA512 5779ffd7dc67c007722c1b211f3801ec0a76069f256c36399b016f66302fabe899ebfcbd85e196c62bff744f30d62c84f1ff66206a813d87ff5be12f5666c08d
217 -DIST firefox-91.9.0esr-tl.xpi 516127 BLAKE2B c5a4ba6dba0b9017515e6bccb3810bfc8cf1407cfc42354c2222d3d93f0d2fee3ba90fa2580725a3de6269d16b4b130e53fec938d1a21daedb402437b1be6756 SHA512 2e4d5193f7c2aa9d19e9de62aede42b03f50e7f5fa1cd4461e9554c2fac9b49f7e58c6f8043c840571a407d7f5e252bfe0e15b0e8546b6ea2b50ffeadaad9823
218 -DIST firefox-91.9.0esr-tr.xpi 553689 BLAKE2B fae2b82a87aa6a7767cc6c682407a80bb1bde9a98fd4d0669af4864e9e4e3591b1502843962f3133b097358000638b55d2c82ec5d79b590246aaa62b0c732763 SHA512 5f4ad0d618cdde86a45a270090d696230ead0d13b2edd945d27c19c3adc4d8c1a5176df8a7ef3e8b9fe1efd59d316b30b04bf765c3a5e03e3eba4a45d90ce33b
219 -DIST firefox-91.9.0esr-trs.xpi 491077 BLAKE2B 692615a9f48e6f6b01ee3b64a6f6c192f88800f3a43ee09f375308804e613d662c7c64c337c76286516a66ac75fafc7d1b64d2a9454acb030ef77b5864a1d791 SHA512 a4a4ff3d9ae62496b6c1a4ad47a3a8a3d03fb99247ce37b2ad95a8c9f19afba6a8b63bf985a20b6aabbee74763d57803ffe27dc0ab86f737b36a7d2f910f1be3
220 -DIST firefox-91.9.0esr-uk.xpi 620502 BLAKE2B 6d524fdb23202df338684dc5e892a24abd9877f3f669beada8a97e3b4fcf2e99b1a9d7e83cb8f54c8981aa57cd6fd19b20943109728cf8f8cbca036f7309ab37 SHA512 9a69261c71ddacdc570365847674082439b40e17957ce9509ae226c80ac2c5a117b9a69fb5d11a703de2695db75e427c7be085b4303bdefdcf1265890818f677
221 -DIST firefox-91.9.0esr-ur.xpi 557308 BLAKE2B 21fb3be9f78f427aa21f046367efa5442993de89914f23f93e859d64975b5409c43e15d9e01d43f0bc5ba851db3706759c2e5af1faa82581ee2a6f8534957f12 SHA512 a6cd0567c57da68250ab29c240675c9cd3299a078e09057e8bb04d5287c17557582fc16c856ce9c10b5c343152528014571dc225e8b84e4c4d16f4135aca0707
222 -DIST firefox-91.9.0esr-uz.xpi 466876 BLAKE2B 7a313daab0231ff7926e1589292a24b3620547f7454701aa417d1c2e9c9c1886ed82350ac8289af5926b7413cf435069eabe49c5c3059251e7bfb8a005c9259c SHA512 118c5f40b48449e61fd06a9f4ffc39c5203484148e18285d6c7b22fac3429531eee1788ce2211502b4d208852e0cb6d6a604620df9c7761bae40fb38997483db
223 -DIST firefox-91.9.0esr-vi.xpi 573486 BLAKE2B 78a3e8b3b926fe735037e6032ec8a47d493a618d18afad30e9d0ae9b7eaaef2b03c90ded765224d476c5f4aa322535edb620031b73b0e37a7a213eb7744f5de6 SHA512 285e1daffc102e8a25b2d74c0fdcd063dc5542819a6b651b1644e702b0848dafc696facdcedd18c506cd4354f7f501cdc26f68336f66b0bbc710dcbc659a7bdc
224 -DIST firefox-91.9.0esr-xh.xpi 428177 BLAKE2B 197dcfc2298edfa0b421322c275998dea4087e43108b3e279463bd7808e24c64fa5348cd258f4c49ed77c9ad28341d09da815ee5f4e663db590c44124b4b0554 SHA512 59d2d7877d539be879777ac8f48d6e98dee4eefe4cd92c1f1363e7cd7e1a909863d57109b0c47e159a55678677285380b7755e0d3c9f06cdc7eec7cbdb03d098
225 -DIST firefox-91.9.0esr-zh-CN.xpi 575381 BLAKE2B 662cf6768693e480184a7e789d1a823dd12aa7c710f5d8dae46398d78d2f827683c7d983ee31116937db841887f32acd4ddf75a34fdf29f8c9cb90b113a3f82d SHA512 ab6adcc8f1071aacda8452b0d58d26ee8f1072189b7459f9191e3a4c1b4a9f864ca3483fe6bf9f642f962d5f223d5f11364173349519a7ce7a4c7451c08d27cf
226 -DIST firefox-91.9.0esr-zh-TW.xpi 576235 BLAKE2B 643c0d43f76a30eb1e6b9dae66798a6c4bde081e95585327377c7890c06eb27f1a35bb886ed3dcb6ff42e8766d0429fe5c7129ad8df1fb8735bba86f1860223a SHA512 326ae088155fe30964ce58b564dfc0879d5f94b14c31173194e424f3a2862a4619d76852118403ac92ed61581e5419395f219cdb8bc9a3056beded03d3b83d96
227 -DIST firefox-91.9.0esr.source.tar.xz 384516460 BLAKE2B 5b265ff907ff520edadb1211ceb9201419349555bc4ab9acbf1d50ce9f0a9bbd26b830f58aec899d882c25f8036bf4ea1df39c7ad144d0305c69826816eec48a SHA512 fd69d489429052013d2c1b8b766a47920ecee62f0688505758f593b27ae66d6343b9107163749406251aedebdf836147e4d562415a811b04d7ab2ae31e32f133
228 -DIST firefox-91.9.1esr-ach.xpi 453222 BLAKE2B 5550856eb82e8774104400f1da02d6c4da95ebf01867c4706603c05e0678c308f5452bf3beb89936cfd89679553871b0e54fc17ab18e47f132e1984b60c0392d SHA512 b781130b79e20ae9f69f92dfda2cd12da58af023a0d39b58cc53032f8ca99eb8e5013bcd3017886b4a8b725caeee2215fe3d5f6df2d287245911f01dff6a603f
229 -DIST firefox-91.9.1esr-af.xpi 426915 BLAKE2B e069a50208c4f233d518ae91099e7f23b85f24ce0361f60372e07a2303a6235a06018429b0dbeb55bf601cd3255aa62301c4e762e2146591357d4ccc07aeff33 SHA512 9e1ca5c60675146b2b62bb7856582cd9d7cee81b8cda0efe57c631adaf0239f43c12aca7fc194e90742baf3de3313923d644a37281f7e09ab0f42094e35dd919
230 -DIST firefox-91.9.1esr-an.xpi 499887 BLAKE2B 662a8c02774140eaa890d42ee2308e71f5fbe14c1fc58acfae8a9fe3a8595b1593575521430bbd20ab251095d867b952a868d55378fbe08e1bbb3c94bdc39717 SHA512 c873a8f091a2f673b1bbb0b0c7718b4d41fa4ef4930190ce866ecca19f7ed10428f2c6080dd77f1c80fae2cbbc8123d835033cd2e3fcfd8a43942c0ba812ea27
231 -DIST firefox-91.9.1esr-ar.xpi 559677 BLAKE2B 968db49cadc2e3f98a8a789cb407f78d300848545f5dee231c99505e6bd9baaaf41c921f4152312fff78b050a38768fcd15a3c160f2c64490588002ad25b5486 SHA512 7bddc8e37d0bbd213af50f87c050e52b7908a8fbc7e60961d7bc2ae8d04bef0d4d759e369e7206537ff3456d45e9eb4257fe1c571e3bfedff3e17e3593438a34
232 -DIST firefox-91.9.1esr-ast.xpi 498573 BLAKE2B 4a6a71cee53a5ebf58552150f27fc915c22e020e6b286441930f1c465be5b38f37e3869b9ea1b0fc434156316c31e649e93d562e74efc778c186f02aab7c9d50 SHA512 67e4c9bfadb4d2b8ff9e12e89e0b500431de8f4f8dddec51384e5f01fae66e0b50a2522360481018467627524e682ecb4b93f601a8f3a5bbfcd6629d6b0249c8
233 -DIST firefox-91.9.1esr-az.xpi 489432 BLAKE2B 846a3ed39d26c80bf86794c80ae59b616f1af42be79fcb4c3e689f466c27540460d3569792bc7532e35fd254b58f1447d7ee32ea1bf7450bf1a110c539ffa840 SHA512 33511baba4e7b2d26ac690f68ffb71301b535da8c69a4653fc8fe19757987df23d31b5fce075b18dc61143c3f03d40503a41be51bd0821f2ef9546f5a71056f5
234 -DIST firefox-91.9.1esr-be.xpi 622606 BLAKE2B 0f82eee79d75e9c575f660ffef2fb8a913e5a9d83dd562419f0f326727ffd187546eb48ed8628d731704a98044d43bdeaa14cd2b0134e84eed5091fd0e226335 SHA512 57d5e45299d81da56e4ee7010796bb4d66775eda4eaa7b8f488861e11966d298d071b5b8b677629c3a3ac73b937e5555aeb0e4675cee38f3842c58bb62a4ed43
235 -DIST firefox-91.9.1esr-bg.xpi 567637 BLAKE2B 5730b6e43099a9dfdb3974b59cbf6402241714385f2094718f38a568b8cd0712ed26d026f5028480600875318538defbac6652199497d226f58d6237af153407 SHA512 6f99f08c8c6c6ff2e5e1f2384bd5bde7b92ca51ea60f6337f24196e7a1afe482137077fbb5b5123ec54a6665084771d77ee38614710a1e2db1421558a519dda7
236 -DIST firefox-91.9.1esr-bn.xpi 556821 BLAKE2B e9abdd49a51c0fcbd59b2874e7fcbfb8b083ad4af9bc220ab8cbec20cbdb7eb27db775f5a50420a332400b630c14f5a6b17e527e48d466e26eec627086c22024 SHA512 56d7ce8a8083723ec1a8b779f4c13c432c1c6624ccee509aa766b72d28be909631627d2a8353be85b1fb78eead99d79d379f2dd7191c4f2763621e2e036b3098
237 -DIST firefox-91.9.1esr-br.xpi 526248 BLAKE2B 85fd150812ea09da4ee969af0304dca74c20cb60cfb9da6f70ec129de908dc540f2dc058d694cc5f6ea940d9aa5d68f3fe0e892fee8dd9f5efdd40a59c8708f4 SHA512 376d1d606079434be8409f3f5503115cfe01962c86a6868b6a72b2d63cd09ea130f651c1a8a6e0ff61928ad8e513cfa9c695bc24ec671c1b2aa01174fdcfee04
238 -DIST firefox-91.9.1esr-bs.xpi 463562 BLAKE2B 5a53c90be2bbc928927fd2ae53e5b45c118b1e417da6036053e0aa3c2bc79978faf9906310b508f59cc147af1d1a1b84e2ecd9ab663c95e58eb4a9678c771ad6 SHA512 e18f4f4fe2e80824cae025be4f83757f73607037e4836102c9566395e174ed5c45c9a70690b618b54a8197b9c3700daad33eb6006fdb0f63c8557442032d883a
239 -DIST firefox-91.9.1esr-ca-valencia.xpi 529401 BLAKE2B fd6ba308413455c43a8545c7a294db8696411c891f028a8ff3d7e0649f69e891b94a0d1c042ee2bfa2c411e8bbc2fa06a02968dbc421f14e9bd5c51f61eed54f SHA512 09b137a2d91e72e9bc0411bd3cda1ded17b2794475a19fda4e75c18b9504d4e4e732f85323da66f689c56d1b3fed214895513764dd7002ff382d4e7a09337c0e
240 -DIST firefox-91.9.1esr-ca.xpi 532485 BLAKE2B b8aea4942c1670d79eaf26c3071ddf26dc7a511b9dbef05238eb268f59ad3fe63cedc43a1d9ee7f07f3392edc5f06842799728fc218f2e3ff36d1cda48dcef82 SHA512 e5899c96a65f174dcf91c55644114aec547c521b602ba59cdd469f8bca5e7e454e00074410887ed159fb6b3ae790fee1d6e31c071d23eb9061617b82f1b52bb5
241 -DIST firefox-91.9.1esr-cak.xpi 552604 BLAKE2B 54f8ff565e503d56b47a4dbd39f01768bf27e4cf93abb8ea0fc134437a1ee86005197d2e7477ac3592e1b2c2967065b0b0b202e67c6101a8a2a4802b4f008fff SHA512 9dd5b7d388c8761f28357abfa134b576960e5b6a4768ec2bc7b3e02018a731db6ddb9e40463f3c6cb696fa8ff6efa3a79e622dcbe904a70f4171a6d517ac8692
242 -DIST firefox-91.9.1esr-cs.xpi 563178 BLAKE2B 81e0c44a700f2279b5c25d7f7e12bd2b05e99a3dfb8f3d02a9f99ce1def663a2ec9818bfc6ec5c2609aa3433e5f56aeacee22e67b43dbc4ee9b7e0ad46bd5455 SHA512 746d1b6bd22384b9a4eb059da37715b0070cf426218c62be6a3c8a6d440972d389aea3584f0615af9d28d6df05a909bf55ab2dd6f2ff3bd370dabc1924fedc5a
243 -DIST firefox-91.9.1esr-cy.xpi 542220 BLAKE2B 9b621a600c49d1b9976c91ad7841647d57454436a438e0fac80d07c633c2e3823c6ffe2164ebe1d7253a208998177f563b543580173e4138a573081b932d39cb SHA512 77663420b067c402ebe7e62d74a275511f46bc28cc9241ed8c20156fa51c6881c8faf5ab96cb37f56ddc808723cd48af100404442ac463c7a17dda6e7d58625c
244 -DIST firefox-91.9.1esr-da.xpi 534156 BLAKE2B 03b76b9562b22258a5f672dfaede305ba2032224f3fcca26d54def02bb8a3512e72504ca2ef1f584b56d214041094eeed0a3a7d93b6a41f8f0670d5367a213cd SHA512 820b3dfa62476c672a48746f31b8483e04ebcb98982d493e5196766424877b3dddbd43c769b69ae3ca7fb144df2b9cae3afe402f5f97a6bb0d3c3475be9742da
245 -DIST firefox-91.9.1esr-de.xpi 553581 BLAKE2B 4dfb1571da036e05d7ba8bdbe7dd55447d89dfda95170e788b03147a9b16daa7807a3f9e1820866e3880f0226370f91f77a4ddb928334c555c85d66ae067631b SHA512 8f05ab8c73933d8013026a057438320dc6550de35749a53bf8688b7ccd86004c24cb085af30ba8e117f1d58727eb96dc2cea8c49fa18bdcec63e393c1fa5d5e6
246 -DIST firefox-91.9.1esr-dsb.xpi 566474 BLAKE2B 064bfd378742726c87aa2eaa37c071caf8d130271c04f1e44e104c5518e62ebaf7a11fec78e7bd7db75e854d5ad41756d722f09ff0b61a4f9d60988f2bc30cb1 SHA512 0e4509f32f45bc2429eb5b8be813ac4e39b7b68ce6e8454551766763ffd344574700611a53c022b40a9dab46081b67447e956255cbc5851a92ed4e8e9bb471d7
247 -DIST firefox-91.9.1esr-el.xpi 639151 BLAKE2B 3089a6f0a85eedb2acaf2b32db4f043b5628af4a02a5b70722a8f46441ec12c4fb8cbc5d3fe915327d189c128468ca86fc4c6abd9c4eaca8a407239d01d47ee8 SHA512 027de93fa2db2143655ef5ec5868036b69f4062973a99b3a2036cc742fe275815cd809c44a9de085ef669b07affffa19460323a2589c7f7dc6b33c0a6942959f
248 -DIST firefox-91.9.1esr-en-CA.xpi 509576 BLAKE2B f455e6cac08d3acb9e0a38ca77d20fa4aa4686f7e6cdca190ffd460c7bee0fa23357295bfb47491629811ce3d38730c18c21b2d054d51e8218a3ba836bd7e706 SHA512 158990ef837d3326ae926f4c024e759284c615ef0b289233538e931c9349ba6d9068db35496ac0a17a6936c0b7c555a6f0598e63ef7b6f9468bfa2a1a01e05c5
249 -DIST firefox-91.9.1esr-en-GB.xpi 510588 BLAKE2B b6dc5ce54aacaf1b1bcbda83e52ea9eec4c356079be6b1bec5b77feb1ab8087631a39a6a21e91471981ddd8dd945f3d1b9f34946e74d89a097083af7a7dbf3e1 SHA512 435931dd5cf36705bf3c52d55d8fa682db70314650f3c29fb4215e48717e2087f8a4fd3609f989c963c49dccc89882f1c4069b2cf3173d443da5275bc359465a
250 -DIST firefox-91.9.1esr-eo.xpi 534799 BLAKE2B 2fee158dfa3dea6ef3abee975366c433554c0719cb4c558c16fcdcc02ca9345f1c7b7688f8323332939a20ab06a9949895582d713bb0686c18fb076b117e9884 SHA512 8e28b390e1f3d8c226a6908a80a4e36ed3aefdaa875c412d5cc4fd1fca8d864375b77a089deed703d74dc945dcd6a55368d090d3d5ec215bf528ec1211dce4fd
251 -DIST firefox-91.9.1esr-es-AR.xpi 546672 BLAKE2B c4d6667677f2b6acecf55f1588923f5a89cce4c7b7b93a75ee4461cc783da74a8d5127370802c46457b792c5eef3ae11cf3893dbf525f50f83da74c9e78c6869 SHA512 9ceeb1abd3a3672aa52fa6ad1078a8e60e3cfab5f71a972384d3eaa5da7bf28cf60f94631fda813782acfdcc1aec0f6db185639f4c51297dc83417cdc0fd41bd
252 -DIST firefox-91.9.1esr-es-CL.xpi 546372 BLAKE2B 5903a48a83f5524d350021719f8f195cebf24efc0e93d0d62a74e0f21bf26a6e5429e959a6fba3498221ee0e2e1b321abd151c95244cbbb39300081cde84e4a5 SHA512 14f2ee5d7b04540ba70b79b2d28b97540086c747f0c85270971cf0a1b09b8108fb1ffe809983c790f07df69e650dea642815ecbb9f030c13af5627fd6caafafd
253 -DIST firefox-91.9.1esr-es-ES.xpi 537065 BLAKE2B e15aa0038b59a4ba1ef14fa5165a6ef6bfd38869daf70c1057d195f9d715e87108b5c2eced9996651cabb487f6acdd8df94eb67d96a9ec59d3625766116d90c5 SHA512 5fab44dd92453658c45875178dcb254e8b0525fbb0c80f203dea9d550cb8a56b6cdc170fcd393c519a23f1b98701e3cb42e9f4686ff4ca2efbccdf1aebf691b2
254 -DIST firefox-91.9.1esr-es-MX.xpi 549990 BLAKE2B dbe9dd632256c9edf5a047ee9b0ae989d7be4fbd53a3daed631292702f03cd30e871962dee18cdb6e649bf9271eed318ec27c87b9efce62a233c83bd6621e879 SHA512 9d093eda62eb4956eac6cc22407096c029a464339a4daf897ebbae58de5286930d3dfa06b1b292de8285f27033ab00f6cc9c9ab3a35a8befd33ce22c8df32d62
255 -DIST firefox-91.9.1esr-et.xpi 506667 BLAKE2B c98156cea556ece84a7975acc3e5946a02aaf2bcdebdf26794cab02e163d7421379e0489fa44fbd8d05c0319bda7971881d98a5f1d532fac32714aebccacb0f1 SHA512 d843161f279afa5b00a87b150e0aa79133e637847971078c375af74132b41f6c8d5a3cb0da7955cc7b58dc79b7722272d4bad9575f89a9d89729decd261efbff
256 -DIST firefox-91.9.1esr-eu.xpi 536326 BLAKE2B 15824e5680c82e482b1a674371caa49466c505c9713b36159fa09f96e1058bc0f7977d0114ef3ea011c326f54dc2d6d434f46887b61dbd74ba6c9db2a828b70e SHA512 e5441778071e11b266fe1f8ca8acf2d2c7b0118ad2ed9c5ae73f8160be8ac336eeb7d327984e3582d7c12daee43cdd1889be98777ebb49a08f78a3bedddd0f59
257 -DIST firefox-91.9.1esr-fa.xpi 559381 BLAKE2B 33f299cdc791ba0d0b3c9bfda29925f5fa7da66f266318623247d02fe37aa18a9895c1b5ca5d22034572767f2e7b701b3496736a3526546b9594e5e62a9ae2f2 SHA512 e7797bdd7fc34900b5da8587fff6292870c72e3091dc276ea6a392b0cb8485470ec7a775f957d02390cc623c2ed6fef70ef6962543150666c18f15eeece866fe
258 -DIST firefox-91.9.1esr-ff.xpi 471865 BLAKE2B 4b2629c6a6d16be4657245518213e05a985e22c6c3d49cf48c7898be055532eb37600212ecee9da0320d9609ca2eb71d9033c66d046db51f89776bae5b1d2eea SHA512 903affd8b0df0dbbdcc77a978fb3c51d6cab5607ebadc82336fc12be313afc82b4aeed6a3c5b865567c603b5576e94c0311e7b16a1c9c3c8ab46620c960adade
259 -DIST firefox-91.9.1esr-fi.xpi 531480 BLAKE2B abeccd533f5790410e9367b96a9073f5afc4e19aa82e030a21694b1eb55e6a643c04a78ec41dd691a02f86de61d7b0347523e6e787b6a46778c83ba44b6dff30 SHA512 2c05cee8fa839854c6ea2aedbea12b9ffbf2747beb20f6ff6d5d61c9e4288fce4d7b4d81bb48d47501ddebf12a7c31df247013f29f541f4bb0e33475b3530321
260 -DIST firefox-91.9.1esr-fr.xpi 557617 BLAKE2B 885ba7b74f7f0aa9dd0f58308a3b20d19d915fac5b3e1ece262a7d5195c894048c0a5dc639156e68006f1eed5b18b15e7df0ce2eed6d8f1db0f2a78e2de4ed31 SHA512 c19ee76fb0eeb93fdb7e2f50e395324b4e545ef7adb707285f7799c754ee2b02163a593197e66f5b0c4ad04a1f83ac1cee68e5579039120f5d56eac954e16ce1
261 -DIST firefox-91.9.1esr-fy-NL.xpi 543307 BLAKE2B 9c266fd328450d473752e33613bff9a20745c79d84eac3e184b90ccb27026f56aa38f66ea8f6ef0853bd1187cb306a0838a8c4cb093cf8e3ee83d2245d558f18 SHA512 f8ff4d61303014371e8bfa3fe03aae0896038446ff92c026005d3945385da18acff3cecf3d2d105fc36a6abdb8310016236a0ad1099412305dec803ae2ab27d6
262 -DIST firefox-91.9.1esr-ga-IE.xpi 459828 BLAKE2B aa63e6a18ba74b0a7dc77fc882739356d1261a1b80afa57dfced0a558371a88db47134e2cfc9c03d590027b41b159ebdb0dec262b5f2cc6e6f0e27dc86765829 SHA512 f223c06ac8af6e78847d8c4cda932ec6512e46d8af6763fc2ef5d2bb83d523279ac6e9213eda79a807e7da69b8f9dc36d27f81a16fc9c56f202d64cd5870e34d
263 -DIST firefox-91.9.1esr-gd.xpi 530843 BLAKE2B 4d28655cb29ce768d30ee31b18e5f108af8b330e402d5e9419baf517322325efad394f112e2aab2f3e696287bb15970b010e98437c60d8e18c6b49524938a21a SHA512 3c9f70cc62a43168d82d912f70928016f75129341a01c2bce9c710fe8028baefb989eda6903b1d647fe1fb6f2e6d2d65a6da257cb8270fc96519861de1928b85
264 -DIST firefox-91.9.1esr-gl.xpi 541294 BLAKE2B 7453533acc5886a09ad705ccbccbea86565fe4bba5f307239dfbf538e2668733009aa2d4fb188bf22ed6b3df8b66f0ea5da5b2d3cacab71ff7ea46e55c4777c0 SHA512 6473d9e11f2a887c43d89e7bb6480dd1830c3f28cf9f9c59d796952411d3d57b52b7570b737cea96b418969d8c64e41c4bc9cff110defa42f67bd345caafe07b
265 -DIST firefox-91.9.1esr-gn.xpi 557605 BLAKE2B f145d4bcf4ad293b671570f783469b598d977f1faeb75c370cae15714c0800f98e285d7775413769b6b634943b5a34e593f813e099a19eb8859bb500d981987d SHA512 061aca44b5551af76d5c261aafe980b4e589dd8f4cacdb6facf93d62d0bb72f4b186ebe4badf55b19f1011464314e201b027eddec7348a04d131d5a7a844954b
266 -DIST firefox-91.9.1esr-gu-IN.xpi 529553 BLAKE2B 790c509d8d863163464da7049a61040b1abb7f39713850d68565f14338066b3595fb8b721f40f0173d76740bae75377f244e960d8138c77e6e80293da4b1b212 SHA512 7efd3a293bced416799f2d58b668330d41f9b7af74cd7307652d3a459e596fe5032b39a5991f71b1a34a3fc73393fef0bb287ea26a6db02a3e0ff50564e6e28d
267 -DIST firefox-91.9.1esr-he.xpi 557203 BLAKE2B bddd143ea31d68da53fd96b5cfd569b7d5111de3b388357f2cc4b083085a88a001640817f0a92d2793bc4555834cf821b164cacd62a520c9c3763a34d73bbfc4 SHA512 5c49ba571476c7b50270a76b8fa7bc1e55037a189387e4b9ef113b755a0acf8262dda17193f4ce7fe9a75e1b2bfa6cdbca1fc60b66cb09dcb3b0c89932899d25
268 -DIST firefox-91.9.1esr-hi-IN.xpi 560656 BLAKE2B e9d8b8c4cfa926b5b82f4d57dbe8f3e4d1b46befad05ad11dab7f179e31318a5cb289cd2772fb264fa02ce9c9372e9eefe93a875d61fed048e578eea85f6fc89 SHA512 76615c44b23ffbffd929734ade318e2bf339a92e0ac2f4196d547eb677e23230fd65996f7b3b6fbda9bbc0fd4b90727dba9385bbb0129eb7c7a3f37613cfdf8e
269 -DIST firefox-91.9.1esr-hr.xpi 530056 BLAKE2B fe5dbfb8918c7ca02834deed5210ff332d92c40331e881eb0c08fda6f2c481e054079eeae9fa3e9080d36d12a233e3262d33d9dffefea9bc16464b15cafcb462 SHA512 c1bf048d5793872e73369b64e60776a2aea64904b330d92a32027948298465bb0950dc18928ef9878fa0b879b47dd32557865921107daed2a5bc7cee1031d514
270 -DIST firefox-91.9.1esr-hsb.xpi 562620 BLAKE2B f8b9f9b2db9c6df9aa8ac2f553e4b49721af1456d5dbfab4a04c60e87207ab1152684afae7db4a49fb5e6f716e16902eb1fcbb583f6dd40f5a0c7bb01d18245a SHA512 e37de9afa30e7f7bb7595de2277d059c9c522f79fc78a0e1fd2512b4dd1886cd45992b0b3d3656b53a52829ea6e0d72511d1af9231a4442ab0963e46cc2d8ffa
271 -DIST firefox-91.9.1esr-hu.xpi 566074 BLAKE2B 91196be1e199d3b2b3bde0e8fa49dcf6c26cd2ad9266fad575482a0d24133de208b16095d075bd4ffa5cf23c5faad17cdb10966229d20afbf4954124e9bb2092 SHA512 b2844cbc1c82cadff2b8a30f10c65b8157cb60b49a9d16b7b318f2e18f1b29c98b9544666b2469403d3da3ccc51bf2c6a692b88522e7f47e1888dbe9b82e7b79
272 -DIST firefox-91.9.1esr-hy-AM.xpi 579763 BLAKE2B 32d76dd9d59a8063ef9576a4ea736a417ee16774d44199b67756c6de429d79e47d30544f4ca908127769c967c5b99ba3668ce0d803589c72ec6aa5c22ceb6ba3 SHA512 fa2f16d6f79aa59f046e10e0c0897ef2d077ef5082f782fd09159360c4a89d64504b63bfa8362c7e6db780c4bb6926e32b9caf352ba0ad6c7e270663a70382d4
273 -DIST firefox-91.9.1esr-ia.xpi 532145 BLAKE2B 6282e25ecdbedea796c91fc3d71697d21a08dd405a390e499f52fc339272aac6b61e5f0f580c5061902a2637757adc53d6e75762e397b6321f99d5fd9cd90fbc SHA512 d97daec38b31b1c86f3a2589713e33c08e574806ebae32d132e5579b9713abdf9d6cec77b2b8b687e36fe2451711d8ea58cd7974b5b5e7077db7cea591f53595
274 -DIST firefox-91.9.1esr-id.xpi 519823 BLAKE2B 38bc78d5b7f6fe5079e2a7e96d2d50b21320e895b7b83e9e5ef9c8ecd0ee36848afe28ee19fdd65ae81e34afe4a1754a43d4b3a3f83455333e004b9405b30271 SHA512 09af676cedc70d678e42ca19f4aa3cccc756b83abf0b8e7e49501c2d01ff803c61527850f6be054f1e04cf303ae0af8d874ff1720be16f6718901c93bdccecb2
275 -DIST firefox-91.9.1esr-is.xpi 470231 BLAKE2B 7d2ff1ae88799d66834abf798ff7e5d5b6cf1ffacec67c72fe65237af3dc00d3fb5b024934dfab2786d2d11bf157b39d975af5581336b3cba0ad81eea0922bdb SHA512 f686caf87fdf376589f3e123b6f8cf9deb834bf194e3daa69c02ab8f0fea3adc149ba743dec3b5b99cb80c145c35c448dda944925bdf2058e09ed544483f2706
276 -DIST firefox-91.9.1esr-it.xpi 459088 BLAKE2B 3b9587d1e5fd81fb1611f57b8ae128b4027193ee467bed3dea1321b4eca02a8d236b28bba7c1fee9e2ca67eb00b934bdc8239b9da51e12551f59013a036ddc4a SHA512 4bc7a22143fd625d86fbc29413012e3a5a7a02445c2a2475e318aca6a8f835f134b88aa6b3e96c955226524e8b0afbcb15daba0de23001b2cf63e62ef9a015a2
277 -DIST firefox-91.9.1esr-ja.xpi 588075 BLAKE2B cebc4be09516bb221b668e5534b6a76d5bbdc3b99ab5932911666aa7787bdb281eed3f280f76cdf2d3675453e2a691230fa13484593afe17c68225a44a72171e SHA512 2d02f6118beed171c89521140184028c9e435f825e7b060fbb918ef28eea066a949a2b6e279d1c688faafdc0792f714c087e8755e29c6bc12c1acdd8b69ff764
278 -DIST firefox-91.9.1esr-ka.xpi 592252 BLAKE2B 16aed9cf86bbac3766a8d6e0093657960b339fde38dc5087234b979e767309662faf0640b5b5a042ac45b96b105c3280b30bd607a8a1bfa40920aed5cf5e765a SHA512 2c4c5b0a8c7ea7dc966a35ef11db5d784fa73087646ec011900fb59a3b5c5de2617d8c5155b749097764841e1350fb0ef8bfe203722cee5114f6d807008b9ee0
279 -DIST firefox-91.9.1esr-kab.xpi 545030 BLAKE2B 59c13345e0a6bdebcf8bc038f77a67678aa3c4903af45a86dce6aafed90388fec171b7c99540f223bd795e4b836be64ff55f19572d6880afd6cdd50f56e449f3 SHA512 c752b507581dc83638a0fc996875d6d6cf65baa8a5bcbb4a1ca7b26f048eb7647266d00bee3dc96658c27cab303e01fce85c26e7db9024a5e1b6b8a1c2a7176a
280 -DIST firefox-91.9.1esr-kk.xpi 605562 BLAKE2B b36b641309bfcd249b3089d7136f3134db59694fdb0c739f1c17d1793b095fd56a4c95b3c23827b127cb9b888845fea1f6c6024dbc047e6c593d802c2e1fd351 SHA512 9a44cec5bf6c8215ae31f378f78db6b46451292167b111caec08242da85d8e82868597bfa255390238bc032e22eb9bf3cc51a73cb72e515e0b39eb05f2e7c889
281 -DIST firefox-91.9.1esr-km.xpi 533112 BLAKE2B 3ae4a8845f25c8cf027652b64225398c77d7d6871b25e38b288117b6a34ba4223a7d1237dfc4c0011e3387d451fe98be7d55a48d68754034c95fcf0c43fa578c SHA512 b652f31ad1bc5c699e53b2cbc74ac5489c8a564e477a270f646a5587f854ef6da20d69955932291689ef64be5debdb79106b099f9437becba14ae93195dfe74d
282 -DIST firefox-91.9.1esr-kn.xpi 498971 BLAKE2B 0bc2da3c752d1c65f46b476150eef74c80de90a41c52f4a1ffce2f9369635a5ae100636477049dfc20cb99a8b97dd2c68ca0ab94c252b8930b103f2fadc39d2e SHA512 88aa0a85af340af45233e317d5da9f541d12352e20775c35f0a1920be83308167db2d1bf75078fda88e48dbf15670c02125c62e6dfeae866ec15262049950175
283 -DIST firefox-91.9.1esr-ko.xpi 579067 BLAKE2B 5aed9fea4a2bac4bbccfc34725eca03619736a4a2a9f6dc57b23a6d7a8d295be32e21df0f9614e289a2d7d895d1b6d6e5842ef232dd89d369de6e72ebeccd4c8 SHA512 4408527acf84fc18a1c26aeed2317ddd28060c2d25d038264f913770485044e4cd2017eb5a5ef9d5092a8ccf4451ee8a4053a5b91bf5483ec83f9e63bb7910a4
284 -DIST firefox-91.9.1esr-lij.xpi 470170 BLAKE2B a3ea904016e490786916064c43d2bbb776af8f8091172d2980d7ef1f202aa17c063fbd687ef1f2157b0f818edf1fd1884641d270bb433e4bb295e1e60bb1a84a SHA512 dba8018f18d28245edaef1a0c4701d495c18462b6ec2ddaec6435277e7eb2feef070824725a1436ac27f00f6e9c2ec1b9081c6d14f6c38ee1bccafa59cd72d2e
285 -DIST firefox-91.9.1esr-lt.xpi 560116 BLAKE2B 9aadc232586e23bd6919ccac383d1ff4871c878ce7cc0b7b9af6e3896e81b0645928fbc679e43a1391c5ba9ca98215b816a81af065401abb67c98ca051089a98 SHA512 59672597ca224c0132e99262edf6af64a6a81b96bbab0e4a5e04c981a2eaeb0b1c4ee142e5648fcbc3f69f666c318b5d3dae88a5b9e94b0901dcd22f361766db
286 -DIST firefox-91.9.1esr-lv.xpi 462455 BLAKE2B 65995ae3c6c91f2003e4d87baaca922cc053bd0637c638f3ffed7b5910a937cb973f5df33cfe4b1246880807acb849225d22900c7653c676a4e31a8ad67efe7f SHA512 d2e891ee66a1205362c2fcc7035582358e0950d3a3643840662feeb9ddf4c51950357d56a018ac4c3962a237746aa19eb443a6fb691741c5cace65e3f3bde224
287 -DIST firefox-91.9.1esr-mk.xpi 465349 BLAKE2B a80cd7f156d0e4c49d0cf2fb4085726c60fb813e37f55e29f3f70b83cbd005e6d70142cbed84f0c4e2005fa30bb776b9003f8b894edcfd0cdc50da48cdd1f5b9 SHA512 c63a3911e551111d91d6e9202e15be504b807b26e0ff06e697171cf2d0dd1b75ba61b49366d499aa197b5ef1ced74006b0109c76fc2ac3d2af6b29069442d0d7
288 -DIST firefox-91.9.1esr-mr.xpi 532118 BLAKE2B bf2b584486f166c7573fbc755dd9d9db448e1f2cdab2d603e665c24df1c8215f1ac269a1d84a928e6653450bdbcd5623bdecaeb3b1ab56a30f858bdeb6abdb4b SHA512 6874d5d052f33f3dda355224326f1d5c67d0ed1412a56af90ea978bb28ef4c71b56ef3a2d8a5ce1d36c817e0cb925c597be90b541c1bd3582ecaa9f366fc314b
289 -DIST firefox-91.9.1esr-ms.xpi 447342 BLAKE2B 5ceadaffb34b36637468bce4d11f65643b2e261582f641f39ad863d2fe35f80554e85cd4bac8ad58d97fd58306063a6e60d5226260c98e0611f3f3830a09ec54 SHA512 cec5236c5fe5b185c5f2e345997118d4f73720c63f3a2bd256e10f81fae3b9e5d7c6fd91221cbca49c04538dc975944e82683f93986a574e8dd5f197847fc2aa
290 -DIST firefox-91.9.1esr-my.xpi 516304 BLAKE2B de84ab8fd66959d036ecfc64b5dfae1b35a03c626380004ed61bc64f71d115d07b782728dfd8312d36db1671521fb651ca518c5e4ae50c9c5572c9af0b4b170f SHA512 c943f9c09395121eda413a40fa57590f1e2f54e98d4674b380dfe51aa7c122ba9b662ddc71debd6444fb1a94436bae74a36fc62a36410e7229c95ddb29eba9cf
291 -DIST firefox-91.9.1esr-nb-NO.xpi 529420 BLAKE2B c925b38c737004df912e1480e083f9ea0ecd77ca6ce66a1ff16d7c1c2476407e808d2992f666fa0cbe54062858f19dc4af46db6eb11f82ff87eb2f28a93ae6e7 SHA512 08b688dfbb92bb78ef56f94982b0292470a459f449bed084e1495ff3bfa135dded5b973d135af64840a473917e9aaccd35cdecfcd0477c761918c2238bdb3145
292 -DIST firefox-91.9.1esr-ne-NP.xpi 485210 BLAKE2B 24b85fbc2f42be9142ad8863b875e1223545010f845c842401964b2dd10368b8e2e7a6b72d7613f8c2f4f789840ee13d0a7a420a30d4513f08d7bd87290395f6 SHA512 c2f930c464990b78b2220cede3c10adb3412a17e781822a7e7774fda8508a70478b9cdafc11fb09042c6412f01355015855bcca8e6567cbd67897209675c4274
293 -DIST firefox-91.9.1esr-nl.xpi 537385 BLAKE2B e84e999c1087ecb111557492b0f328bc090f5017ed55712e346b4073da3aa85e576406ac8f172f9ca170e94741dcbabf9fbc3b1f4d3eb021cc95081cce6730bc SHA512 73426bc62d0698dee1925bfe38eba79cdd13fc547a3ba1f241e05eb7acd3367c1cdab3927223c9496f142bf01f56a9b9e6231b578f6628f548991f8009ec933b
294 -DIST firefox-91.9.1esr-nn-NO.xpi 531672 BLAKE2B 50d75604b7a680e187c03d716fd818210879b4c75c0fd1e2dc37020f0afddb311c7fbf95ecbb5b792aaa72d7ab145a0ab4aa6b5ecdf23dad58e19979b203ebda SHA512 acf5b91d5d16e06c91309b64943f1333e6d0b3ce1471578760602865d676d7f82443e6390eaa44cddb9b90756ec7ad5ff16e61c61097880bc36b44ac60002d2f
295 -DIST firefox-91.9.1esr-oc.xpi 552948 BLAKE2B 803acee6a14542099fccc29f9f05611783b45627babd73b5ed381eb29aefed03b1eeb3644b5a8c2a77650534dbe246d51724a70a2b42321d2b9cabec87461ab9 SHA512 9b78464ce4c4385506ea3725e083cfd6f897d8b538e356f1731fb8de4f9d8f0fae8b1ba24dba806a7a62f720775bada419a25977090d85febb59b0b660d07c43
296 -DIST firefox-91.9.1esr-pa-IN.xpi 595973 BLAKE2B 8b40e6e92e3f84ae14a841c2f80359de437b45bb41cfbaa957afdb8af5f619219b568cf2b207a71ae793f9e490b7d1f73bfffff683daee584a9f8c44e05627ef SHA512 8abd72654b7f6eda8437e6dadd28fb7d1bb728a44c132d3a79349fc3bfeb5fc771371034ef7f25743e695699f18431314566ba51ef377c26c420306d76ca0d79
297 -DIST firefox-91.9.1esr-pl.xpi 555620 BLAKE2B 66ad201404d3bf666df0c943eb114229a6284f6f018958c027f7893f2986955ead2b04493aa39bf2502822f8c0c0a6f91dfb5828abd9ba63e31db5618c0261a2 SHA512 c8b760307ff30eb66849a32894828e05430c1f015bba64259e17a04c86f8310622a97336b1764f2724f2fe572650995b454c1a34cf0fa9e06af3ead723c02cf8
298 -DIST firefox-91.9.1esr-pt-BR.xpi 542614 BLAKE2B e4611fffc38eaf573419e309ffe0ce2a7809c9cc3ef6c16a5a0c86dd79eeb97fe5f558f5f05d0c53823231e1a6c8f1d2e37559a495eb2aef5f3bdf4d9a16411a SHA512 edb2a0616aec6b66db75bfbc208113b4d365a8afcb5811fcd178774c27231326a5a239fa994f9d9c11bf3ff0d9307f826b28355039803e09e463ed055fc432df
299 -DIST firefox-91.9.1esr-pt-PT.xpi 546343 BLAKE2B d8270e4685cc9bf95a395e6eff640358385b74b8e5edec0945b9ebba8ae0a511801a87fe2da94092b2abd5726c2c8ed41ad31f13ac688c70577ed9adcd5b4b3c SHA512 f1e6d2fe8f8faf8e584153c5c6a4320270876933acecea9e52af341cd21b17e9e34cb7ce7ae330e3c4312b9e44d4a689fc785c04cc1d454a693d46065f456a29
300 -DIST firefox-91.9.1esr-rm.xpi 537373 BLAKE2B 005c4fb619272a3fad78737a4842327af64b5882b0d22e541161ed4e0ea3d15d47734c37cfa533769e285a8e8e7d57288aea34e2f25fc7f243e03fa95b6ee6f8 SHA512 f74ab71952e7ab7dba7641b1ce37e2bd2de0d3f8de0ef2e30c57d85b1de763a301839a9401192e717068a9ac97e23d59815f73d1f4b1e1a57663c08622d3fd4f
301 -DIST firefox-91.9.1esr-ro.xpi 529329 BLAKE2B a8941be0d66926dce3955d09367fa84d43910baf4d96a50a73f8a7bb4a83b287d13e79a991753a8bb2c19eb90a4b4ba7ec173aaf6befc3974b2b03488bd4932a SHA512 154a508357aac7ef127fc43bf09d35ecdebb93696f317ff8ebe5fe020ef489e09232316e993f575f8d6bdb4357a137bd5f88d0644e2e4f3a9a7beb9a2a5b6603
302 -DIST firefox-91.9.1esr-ru.xpi 627116 BLAKE2B 7a1657da615e62c58220b2c89fa7bf8e56dee3718503e267f0d6fcc91365d2a094ac4f62102883f3744131ae51eb2e98fb6e0befd9c522ffbac68cb18c2afb42 SHA512 1f3fc8e30eacfce4ef422882cb0dcf7f71a42135a80e8d8c62fdfe22dd76d6eaf717d1367cc60fd9804cdcffd417d3e0228f1715bcf375c6333009ea5dc1cd5b
303 -DIST firefox-91.9.1esr-sco.xpi 504858 BLAKE2B a45797d067999eb63f2cb658b43418c6575caa3b87294cdd696cdc416426c5e3fff73ddeb2152ca20011af3ed6098dae8bfc24b92e6391086ffd2987d1fdc100 SHA512 21e88f7d60c19a8808ef64ff76c41f29f6a7e69d8c340206729bc8b2e73f1de1d7df74cc969de8a5e3aa5cb59533991631e051b653f94a96d1f7bc182920d493
304 -DIST firefox-91.9.1esr-si.xpi 487947 BLAKE2B bb8a8f31f28ebc61ace748912ad473607de504e85e64dd345b9b17c1877fd7805c804965275770f09efc52630ad6d4dc07663b58d23840001c275febc613c5a5 SHA512 700a2c09911c4282fa255a0954d6cd888fd75e7c9cfe73291705f99d66072946085dd152c9eb91787a8ca889ca4f5195f21cb078dacbdd18a204c19cd577c8b1
305 -DIST firefox-91.9.1esr-sk.xpi 566483 BLAKE2B a6072e81a755e4844cdc4023d09cbb46cb4c612b57bdaaa58d108fa9a8a7a784eeb58aaa11cae9e8a1b6a24fcc93da45f89d5117421d115d8a4feddf9843b3fc SHA512 3c53a19f2885b1095d205d1eb6c2bcb2d0970d23c0c6d458d5f7a2327fef8b04800bb0ed5bd196aaa179ea5d2859bbcbde91fbeb95d9dd6fc66a8938a41f71bc
306 -DIST firefox-91.9.1esr-sl.xpi 538004 BLAKE2B af47d79db52e8c2a2dd785e504827a2186bae8703df68567e585653d64dea3167c7eefee6eafeb115a2fe1e7681741115990ced597d295b72999824c135c4120 SHA512 af1092970ea2bd7adbca1f8a84534e8bf64d77e9ae4c1615f9d5fdb6fa2e0788cf3a90c91edef106be2d8556d1371fc63661518132e5ce431256825a44a5dd58
307 -DIST firefox-91.9.1esr-son.xpi 425998 BLAKE2B 487df6aa909c87bfe92228f06d927bc6a8457620c8f22efb09bba602623d7580afa58601bf06fc5d78d195518d44366b73221cd6f65b4a324ec08e16edf9216a SHA512 f5b162ade2655ca6f287f7a9ef1407abe0cbefd30848bc25c3e30088bc44b98a44859a0ba25bd17d0dd229af0718b648e7bef83562ff4e8a4972fec3dea76dbb
308 -DIST firefox-91.9.1esr-sq.xpi 555994 BLAKE2B bb821d5501db1c96dfd9c6ddfc991c87cf63a8f449ee01f1bf0ed2d61d40889450831de79d33bfb6f15561e4d20fc869149e0f5a7d1eb5fe48a6d0445a1d5626 SHA512 6c4b8d9cc05a4f755b842b6bcc1f2ca1458092e80423db463251887cc8190291a24ec8b2e559dee3c9e5fda85c0468d4b516b67e33150724d19e980c4a367648
309 -DIST firefox-91.9.1esr-sr.xpi 586082 BLAKE2B 354959cac670b32a5f5d2380c4114f35f1cb9b2c52b7df34db3d1dacca167c54da1f30a8f5606522bfa6d3e1b0cfa0a08ffcc137c9b0d8c6a1ef0e63e64ba37c SHA512 b4a34eaf37b48a52f6749c9fdbed0a9c41e2d4d84079703bc13e3a104640c45893b4c9174eea73108eda3a58a07857272d5bc540b9319bb06ec67d50c861b8ac
310 -DIST firefox-91.9.1esr-sv-SE.xpi 539963 BLAKE2B 80ab209d720e76a174cfe41d5c7310a9b0ccd85cc57204c6e43a1430536e03da14fd76e0f8895fe7255c99d3f2d0278162b35c325c8b38fe6c496ba82ee214d5 SHA512 bcb2d7d96684017ea2eeca52f052abbd692d7cf103ab3459885760bcd2eb928a580a12f3b11e54ddd7a548204aa44939affe69025be81ff8fb523c5aff54e381
311 -DIST firefox-91.9.1esr-szl.xpi 509816 BLAKE2B 099c3960229cb3b5f8886fd2e86fe986fca70e154ffe24e3ed74551a53b93bb2e2e2a7bf8ff575f10a007cef1c9ea15ed36d91d309e902bafd6e3f27b521f11e SHA512 3bac1641db53469828d91d825e7cb02c699b97654410a57d8a021501643fe258a5e83c7aa25d09cb54ea915c0d41ad180a265009d103dae61e3a14311c153032
312 -DIST firefox-91.9.1esr-ta.xpi 513811 BLAKE2B 968aac9d23823537f5d377cb684ed8f95ae22a2d7f9807ee4b5d805ec51253c9f8962c1cee99c281b59684dd85cf8d8a8782554b0869fc19eafe70d462c92cb1 SHA512 3d6b2c63ccc2625ff32d0b2c5c4203f505f76cdee2a45c9188c15559ca738f026ce89c5611505e3ba399625b51d656f55a3ad249d81964a933b911e911184141
313 -DIST firefox-91.9.1esr-te.xpi 549966 BLAKE2B 015a03521d9affa8e49e9bb19179bfd51363ae049168ca5fbb8f290ceaeb5bcba2c116617c16f7c48e4d3a6603823b2da7e88883fe61eb86216b3b60765e1a5d SHA512 3bc521c96b83d2758546ba0610f90f7d61c109cfefda733e4a7c313c6a3be3bb9959af9c329c4946f919ef35feeb7d75cabd20b2c8888f6112c7f273db69b9a0
314 -DIST firefox-91.9.1esr-th.xpi 607071 BLAKE2B db26efc7d518b56a453c812274f541dac2dd60c93615bf41e9e4adbd177b7d8d5eb35ca0d5177a663152ece4228a4cc6d71fec86d95c7991e60f44e9914b2a2e SHA512 3f84af32a2541b7ac6c3bf3e0fa94f0f9571b7d87f6666edea74968b4756eb16d03896ac59ca9e1ace723f7a9b82826cfc0029ee6699a640b602c6cdf3da78c4
315 -DIST firefox-91.9.1esr-tl.xpi 516119 BLAKE2B 0573afd14e27855451b1d2535e3d2b6bf4abaa62b70104690c29fda2e6f123817c5c7742dccfe9254b5df1efc78064c8a066c828ab512487fd07831f573d14be SHA512 db2611e587850059f7ce3aa816bddd1a63690a3d8b7f8fad841dbe9c1320ea9e4ce0cf21b571a1e8275969b6bd20905a43939d49e637a4b0f37fa3911a3e81b9
316 -DIST firefox-91.9.1esr-tr.xpi 553679 BLAKE2B 6144533323d7829b0ff90735bea858bd072f3568bef8f3dd5b26632e1fd28384ce1d417b61601a9573e721071d2f4d6c45694197d132594241686c97b44779ce SHA512 f76ebf7635bd37069607a243302afc1352641b3e608fa636205f0fd95290eaad3eb759d335baf0dfbaf92a951ccb600d50464c40192a91fda6116969a618c5ee
317 -DIST firefox-91.9.1esr-trs.xpi 491089 BLAKE2B 77e305b6b16feda88921b09b13e905fbe17d8eeff20d0bf751d7ba002e947d014df87057383fb9ea2ae08c4b7c476294c15e259f6bc283797f41511673025bd7 SHA512 1c7d345c07dbbce80421fceddebd354a5f8bbb022f0b6c5cbeb9017b8ec4752439da966126ffb3c8ce616c4a08a3442e34c47af77722f0af575b8b979079a548
318 -DIST firefox-91.9.1esr-uk.xpi 620501 BLAKE2B 34a9646628b8f6d4a1f702111ba1f813dfe58d7cd264db23b5c911f95fd01d1424f9b984a8006a0f58130c9e20c9c6bdb8acd69a9170fbb5052815ba4732f872 SHA512 2d1b27e661f9154f67b5716fe57599b3f5975a24a95bddc9e7f5c8569f279647754d1f6a96945edabc15a5f92298298047c3cfb486ed212483a8d9678b75e87a
319 -DIST firefox-91.9.1esr-ur.xpi 557306 BLAKE2B 1a4f45153d2db372f59c07ba3fbe25ead2b8d07e63401166877d21b7a0208d923581df7ebd190247c601010c140279b85f59a304b6a15fd533de66e3fcec8963 SHA512 f2e39006b8eb1802659fb5e81f30e142e8b56afc69fb3b3552ccef590c1b0068436cc46604387df377c21325300bb9066168e7d21a5b397c630b19e70a63de65
320 -DIST firefox-91.9.1esr-uz.xpi 466870 BLAKE2B 85d035d8159620d674212b5d590e4f2682487816108919f2a4f92f654f6607bc9a63506cf85706397643d1a5124a5233cc96ac2b4b53344d31b984dc5a6649a8 SHA512 5792f04ce968a6700c6a3bbd227415c48e38ccff49f27a54b147e93a5a68629e438ef670c04047121a9d916fbf44461eb2e3f16006a11162bac50b60085a788e
321 -DIST firefox-91.9.1esr-vi.xpi 573493 BLAKE2B 283d5c6f13dd0fb4263c44927b699298fb47acad8f9d12e6c3ce81ff81eb5cf1e16f1d178ec0c7bbe6dc75087a63338dd5bde533565c122fb91e36877d969874 SHA512 9b1ce6ae44fe4ea9d0999b144899e12ab9d1272a8a3254b97ae60a0730bf3ce5feec8c8242edd82a5a8fa936204a91f02e9f70a8da61b16317ecaecb9b24f75a
322 -DIST firefox-91.9.1esr-xh.xpi 428175 BLAKE2B b445487874b3c2a3292803737c9ff9c30b6d01598ea46bc3aeb7187e633452ddd9e3b4434851fbb40fbfb33970eddf16751c67b35d863a7a297e1d050bd26adc SHA512 20dddc04ea84ad8c64b9f5b41b12cf79a880677a020ad7e65c43c246f580ffa654f4466919a83fc6a0798f3473266c91bf9166ef95f1b21eae59a9ec76e42f91
323 -DIST firefox-91.9.1esr-zh-CN.xpi 575374 BLAKE2B 648216d3c14cd32f083eff3e14dc9003e4bbfa1a3f0e042ab9d573c2d89c5d937fa3d013c33fb568a0b766189c1fd97e5a648db21b54d47c294571e3bf193b4a SHA512 5b759292e367b8987df8259bd929d5ce1f05517d9472e9436e6860c4a9a21369e70a0c38f601b9e09b94618e6f5290e33d2e45b2c29d0af748ffb5177f24cea6
324 -DIST firefox-91.9.1esr-zh-TW.xpi 576234 BLAKE2B 99295f79be73b1b50043e995c44848443a3c4d0441b1703c5c1821eb7c3d9c1f7deda75ffdef2cab4f6aca21dcf93ece6fd91356c26b9e9b87df4c65622dbf6c SHA512 96d15cd33e0a0d0b31c6a2b552f2295cbbf7aea2a74d704c4940149bee16fd94d99cb72e9cfc9555f439760aa86d02801f3d9953a9814110bc14a4d0af4205f1
325 -DIST firefox-91.9.1esr.source.tar.xz 378762560 BLAKE2B 6a29d262396ec63718d4569f37f14f496c46530a3997e05c41c69163e65f2deb382b983cac7adbd2246be9922a644af03a927328cb424bb1e138e87f49208b5d SHA512 d432d559f2c5f4b0bc66a755db7d61585e24a727cd8d18630854b3fb8633d54baf61ed65b580345b13d52b66288aa15ca8ca5cfcde8231e88108241f0b007683
326 -DIST firefox-91esr-patches-06j.tar.xz 17668 BLAKE2B ebe51e06197b70b0f0661724e1ccf2f2aaf0e0eb4576e795963c6a0f9c32f293825b8d2a487dcadd8e5e1cb5db7c756016c50f34e6bc6df451b44e54ef76686e SHA512 3af533a49c5e4a6fdb5be2225256655d402055332ba98f3aa159fcc78c4a9901a541b63d68cb02440f55ede04858388881118f655efebc75b18c316e0ab522a7
327 DIST firefox-91esr-patches-07j.tar.xz 18900 BLAKE2B ace76bc00c3053e60c39186e460b0b422a24bb3393091324470045707dc18c631c41d5d4e61b67dca6dc2e881b7dcffce256f5b897766f994ad46b23df96b77a SHA512 2fca4a5fec8fb79541b9dddec5a632a9a88fca845cac15aa963ab686eb80e8e5ad23186166f97ed88327e6c5bd7bae6178b32760f26d560c0b685ef3b3f638f4
328
329 diff --git a/www-client/firefox/firefox-100.0.2.ebuild b/www-client/firefox/firefox-100.0.2.ebuild
330 deleted file mode 100644
331 index 269124df77f6..000000000000
332 --- a/www-client/firefox/firefox-100.0.2.ebuild
333 +++ /dev/null
334 @@ -1,1267 +0,0 @@
335 -# Copyright 1999-2022 Gentoo Authors
336 -# Distributed under the terms of the GNU General Public License v2
337 -
338 -EAPI="7"
339 -
340 -FIREFOX_PATCHSET="firefox-100-patches-02j.tar.xz"
341 -
342 -LLVM_MAX_SLOT=14
343 -
344 -PYTHON_COMPAT=( python3_{8..10} )
345 -PYTHON_REQ_USE="ncurses,sqlite,ssl"
346 -
347 -WANT_AUTOCONF="2.1"
348 -
349 -VIRTUALX_REQUIRED="pgo"
350 -
351 -MOZ_ESR=
352 -
353 -MOZ_PV=${PV}
354 -MOZ_PV_SUFFIX=
355 -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
356 - MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
357 -
358 - # Convert the ebuild version to the upstream Mozilla version
359 - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
360 - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
361 - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
362 -fi
363 -
364 -if [[ -n ${MOZ_ESR} ]] ; then
365 - # ESR releases have slightly different version numbers
366 - MOZ_PV="${MOZ_PV}esr"
367 -fi
368 -
369 -MOZ_PN="${PN%-bin}"
370 -MOZ_P="${MOZ_PN}-${MOZ_PV}"
371 -MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
372 -MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
373 -
374 -inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
375 - llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
376 - virtualx xdg
377 -
378 -MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
379 -
380 -if [[ ${PV} == *_rc* ]] ; then
381 - MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
382 -fi
383 -
384 -PATCH_URIS=(
385 - https://dev.gentoo.org/~{juippis,polynomial-c,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET}
386 -)
387 -
388 -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
389 - ${PATCH_URIS[@]}"
390 -
391 -DESCRIPTION="Firefox Web Browser"
392 -HOMEPAGE="https://www.mozilla.com/firefox"
393 -
394 -KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
395 -
396 -SLOT="rapid"
397 -LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
398 -
399 -IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
400 -IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux"
401 -IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp"
402 -IUSE+=" wayland wifi"
403 -
404 -# Firefox-only IUSE
405 -IUSE+=" geckodriver"
406 -IUSE+=" +gmp-autoupdate"
407 -IUSE+=" screencast"
408 -
409 -REQUIRED_USE="debug? ( !system-av1 )
410 - pgo? ( lto )
411 - wayland? ( dbus )
412 - wifi? ( dbus )"
413 -
414 -# Firefox-only REQUIRED_USE flags
415 -REQUIRED_USE+=" screencast? ( wayland )"
416 -
417 -BDEPEND="${PYTHON_DEPS}
418 - app-arch/unzip
419 - app-arch/zip
420 - >=dev-util/cbindgen-0.19.0
421 - >=net-libs/nodejs-10.23.1
422 - virtual/pkgconfig
423 - >=virtual/rust-1.57.0
424 - || (
425 - (
426 - sys-devel/clang:14
427 - sys-devel/llvm:14
428 - clang? (
429 - =sys-devel/lld-14*
430 - pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] )
431 - )
432 - )
433 - (
434 - sys-devel/clang:13
435 - sys-devel/llvm:13
436 - clang? (
437 - =sys-devel/lld-13*
438 - pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
439 - )
440 - )
441 - (
442 - sys-devel/clang:12
443 - sys-devel/llvm:12
444 - clang? (
445 - =sys-devel/lld-12*
446 - pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
447 - )
448 - )
449 - )
450 - amd64? ( >=dev-lang/nasm-2.14 )
451 - x86? ( >=dev-lang/nasm-2.14 )"
452 -
453 -COMMON_DEPEND="
454 - >=dev-libs/nss-3.76
455 - >=dev-libs/nspr-4.32
456 - dev-libs/atk
457 - dev-libs/expat
458 - media-libs/alsa-lib
459 - >=media-libs/mesa-10.2:*
460 - media-libs/fontconfig
461 - >=media-libs/freetype-2.9
462 - virtual/freedesktop-icon-theme
463 - >=x11-libs/pixman-0.19.2
464 - >=dev-libs/glib-2.42:2
465 - >=sys-libs/zlib-1.2.3
466 - >=dev-libs/libffi-3.0.10:=
467 - media-video/ffmpeg
468 - >=x11-libs/cairo-1.10[X]
469 - >=x11-libs/gtk+-3.4.0:3[X]
470 - x11-libs/gdk-pixbuf
471 - x11-libs/libX11
472 - x11-libs/libXcomposite
473 - x11-libs/libXdamage
474 - x11-libs/libXext
475 - x11-libs/libXfixes
476 - x11-libs/libXrandr
477 - x11-libs/libXrender
478 - x11-libs/libXtst
479 - x11-libs/libxcb:=
480 - >=x11-libs/pango-1.22.0
481 - dbus? (
482 - sys-apps/dbus
483 - dev-libs/dbus-glib
484 - )
485 - libproxy? ( net-libs/libproxy )
486 - screencast? ( media-video/pipewire:= )
487 - system-av1? (
488 - >=media-libs/dav1d-0.9.3:=
489 - >=media-libs/libaom-1.0.0:=
490 - )
491 - system-harfbuzz? (
492 - >=media-libs/harfbuzz-2.8.1:0=
493 - >=media-gfx/graphite2-1.3.13
494 - )
495 - system-icu? ( >=dev-libs/icu-70.1:= )
496 - system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
497 - system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
498 - system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
499 - system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
500 - system-webp? ( >=media-libs/libwebp-1.1.0:0= )
501 - wifi? (
502 - kernel_linux? (
503 - sys-apps/dbus
504 - dev-libs/dbus-glib
505 - net-misc/networkmanager
506 - )
507 - )
508 - jack? ( virtual/jack )
509 - selinux? ( sec-policy/selinux-mozilla )
510 - sndio? ( media-sound/sndio )"
511 -
512 -RDEPEND="${COMMON_DEPEND}
513 - !www-client/firefox:0
514 - !www-client/firefox:esr
515 - jack? ( virtual/jack )
516 - openh264? ( media-libs/openh264:*[plugin] )
517 - pulseaudio? (
518 - || (
519 - media-sound/pulseaudio
520 - >=media-sound/apulse-0.1.12-r4
521 - )
522 - )
523 - selinux? ( sec-policy/selinux-mozilla )"
524 -
525 -DEPEND="${COMMON_DEPEND}
526 - x11-libs/libICE
527 - x11-libs/libSM
528 - pulseaudio? (
529 - || (
530 - media-sound/pulseaudio
531 - >=media-sound/apulse-0.1.12-r4[sdk]
532 - )
533 - )
534 - wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
535 - amd64? ( virtual/opengl )
536 - x86? ( virtual/opengl )"
537 -
538 -S="${WORKDIR}/${PN}-${PV%_*}"
539 -
540 -# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
541 -# overridden in the enviromnent (advanced hackers only)
542 -if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
543 - MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
544 -fi
545 -
546 -llvm_check_deps() {
547 - if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
548 - einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
549 - return 1
550 - fi
551 -
552 - if use clang ; then
553 - if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
554 - einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
555 - return 1
556 - fi
557 -
558 - if use pgo ; then
559 - if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
560 - einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
561 - return 1
562 - fi
563 - fi
564 - fi
565 -
566 - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
567 -}
568 -
569 -MOZ_LANGS=(
570 - af ar ast be bg br ca cak cs cy da de dsb
571 - el en-CA en-GB en-US es-AR es-ES et eu
572 - fi fr fy-NL ga-IE gd gl he hr hsb hu
573 - id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
574 - pa-IN pl pt-BR pt-PT rm ro ru
575 - sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
576 -)
577 -
578 -# Firefox-only LANGS
579 -MOZ_LANGS+=( ach )
580 -MOZ_LANGS+=( an )
581 -MOZ_LANGS+=( az )
582 -MOZ_LANGS+=( bn )
583 -MOZ_LANGS+=( bs )
584 -MOZ_LANGS+=( ca-valencia )
585 -MOZ_LANGS+=( eo )
586 -MOZ_LANGS+=( es-CL )
587 -MOZ_LANGS+=( es-MX )
588 -MOZ_LANGS+=( fa )
589 -MOZ_LANGS+=( ff )
590 -MOZ_LANGS+=( gn )
591 -MOZ_LANGS+=( gu-IN )
592 -MOZ_LANGS+=( hi-IN )
593 -MOZ_LANGS+=( hy-AM )
594 -MOZ_LANGS+=( ia )
595 -MOZ_LANGS+=( km )
596 -MOZ_LANGS+=( kn )
597 -MOZ_LANGS+=( lij )
598 -MOZ_LANGS+=( mk )
599 -MOZ_LANGS+=( mr )
600 -MOZ_LANGS+=( my )
601 -MOZ_LANGS+=( ne-NP )
602 -MOZ_LANGS+=( oc )
603 -MOZ_LANGS+=( sco )
604 -MOZ_LANGS+=( si )
605 -MOZ_LANGS+=( son )
606 -MOZ_LANGS+=( szl )
607 -MOZ_LANGS+=( ta )
608 -MOZ_LANGS+=( te )
609 -MOZ_LANGS+=( tl )
610 -MOZ_LANGS+=( trs )
611 -MOZ_LANGS+=( ur )
612 -MOZ_LANGS+=( xh )
613 -
614 -mozilla_set_globals() {
615 - # https://bugs.gentoo.org/587334
616 - local MOZ_TOO_REGIONALIZED_FOR_L10N=(
617 - fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
618 - )
619 -
620 - local lang xflag
621 - for lang in "${MOZ_LANGS[@]}" ; do
622 - # en and en_US are handled internally
623 - if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
624 - continue
625 - fi
626 -
627 - # strip region subtag if $lang is in the list
628 - if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
629 - xflag=${lang%%-*}
630 - else
631 - xflag=${lang}
632 - fi
633 -
634 - SRC_URI+=" l10n_${xflag/[_@]/-}? ("
635 - SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
636 - SRC_URI+=" )"
637 - IUSE+=" l10n_${xflag/[_@]/-}"
638 - done
639 -}
640 -mozilla_set_globals
641 -
642 -moz_clear_vendor_checksums() {
643 - debug-print-function ${FUNCNAME} "$@"
644 -
645 - if [[ ${#} -ne 1 ]] ; then
646 - die "${FUNCNAME} requires exact one argument"
647 - fi
648 -
649 - einfo "Clearing cargo checksums for ${1} ..."
650 -
651 - sed -i \
652 - -e 's/\("files":{\)[^}]*/\1/' \
653 - "${S}"/third_party/rust/${1}/.cargo-checksum.json \
654 - || die
655 -}
656 -
657 -moz_install_xpi() {
658 - debug-print-function ${FUNCNAME} "$@"
659 -
660 - if [[ ${#} -lt 2 ]] ; then
661 - die "${FUNCNAME} requires at least two arguments"
662 - fi
663 -
664 - local DESTDIR=${1}
665 - shift
666 -
667 - insinto "${DESTDIR}"
668 -
669 - local emid xpi_file xpi_tmp_dir
670 - for xpi_file in "${@}" ; do
671 - emid=
672 - xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
673 -
674 - # Unpack XPI
675 - unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
676 -
677 - # Determine extension ID
678 - if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
679 - emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
680 - [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
681 - elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
682 - emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
683 - [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
684 - else
685 - die "failed to determine extension id"
686 - fi
687 -
688 - einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
689 - newins "${xpi_file}" "${emid}.xpi"
690 - done
691 -}
692 -
693 -mozconfig_add_options_ac() {
694 - debug-print-function ${FUNCNAME} "$@"
695 -
696 - if [[ ${#} -lt 2 ]] ; then
697 - die "${FUNCNAME} requires at least two arguments"
698 - fi
699 -
700 - local reason=${1}
701 - shift
702 -
703 - local option
704 - for option in ${@} ; do
705 - echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
706 - done
707 -}
708 -
709 -mozconfig_add_options_mk() {
710 - debug-print-function ${FUNCNAME} "$@"
711 -
712 - if [[ ${#} -lt 2 ]] ; then
713 - die "${FUNCNAME} requires at least two arguments"
714 - fi
715 -
716 - local reason=${1}
717 - shift
718 -
719 - local option
720 - for option in ${@} ; do
721 - echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
722 - done
723 -}
724 -
725 -mozconfig_use_enable() {
726 - debug-print-function ${FUNCNAME} "$@"
727 -
728 - if [[ ${#} -lt 1 ]] ; then
729 - die "${FUNCNAME} requires at least one arguments"
730 - fi
731 -
732 - local flag=$(use_enable "${@}")
733 - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
734 -}
735 -
736 -mozconfig_use_with() {
737 - debug-print-function ${FUNCNAME} "$@"
738 -
739 - if [[ ${#} -lt 1 ]] ; then
740 - die "${FUNCNAME} requires at least one arguments"
741 - fi
742 -
743 - local flag=$(use_with "${@}")
744 - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
745 -}
746 -
747 -pkg_pretend() {
748 - if [[ ${MERGE_TYPE} != binary ]] ; then
749 - if use pgo ; then
750 - if ! has usersandbox $FEATURES ; then
751 - die "You must enable usersandbox as X server can not run as root!"
752 - fi
753 - fi
754 -
755 - # Ensure we have enough disk space to compile
756 - if use pgo || use lto || use debug ; then
757 - CHECKREQS_DISK_BUILD="13500M"
758 - else
759 - CHECKREQS_DISK_BUILD="6600M"
760 - fi
761 -
762 - check-reqs_pkg_pretend
763 - fi
764 -}
765 -
766 -pkg_setup() {
767 - if [[ ${MERGE_TYPE} != binary ]] ; then
768 - if use pgo ; then
769 - if ! has userpriv ${FEATURES} ; then
770 - eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
771 - fi
772 - fi
773 -
774 - # Ensure we have enough disk space to compile
775 - if use pgo || use lto || use debug ; then
776 - CHECKREQS_DISK_BUILD="13500M"
777 - else
778 - CHECKREQS_DISK_BUILD="6400M"
779 - fi
780 -
781 - check-reqs_pkg_setup
782 -
783 - llvm_pkg_setup
784 -
785 - if use clang && use lto ; then
786 - local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
787 - [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
788 - [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
789 -
790 - local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
791 - [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
792 - [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
793 -
794 - if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
795 - eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
796 - eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
797 - eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
798 - eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
799 - eerror " - Build ${CATEGORY}/${PN} without USE=lto"
800 - eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
801 - eerror " llvm/clang/lld/rust chain depending on your @world updates)"
802 - die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
803 - fi
804 - fi
805 -
806 - if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
807 - && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
808 - # bug 792705
809 - eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
810 - die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
811 - fi
812 -
813 - python-any-r1_pkg_setup
814 -
815 - # Avoid PGO profiling problems due to enviroment leakage
816 - # These should *always* be cleaned up anyway
817 - unset \
818 - DBUS_SESSION_BUS_ADDRESS \
819 - DISPLAY \
820 - ORBIT_SOCKETDIR \
821 - SESSION_MANAGER \
822 - XAUTHORITY \
823 - XDG_CACHE_HOME \
824 - XDG_SESSION_COOKIE
825 -
826 - # Build system is using /proc/self/oom_score_adj, bug #604394
827 - addpredict /proc/self/oom_score_adj
828 -
829 - if use pgo ; then
830 - # Allow access to GPU during PGO run
831 - local ati_cards mesa_cards nvidia_cards render_cards
832 - shopt -s nullglob
833 -
834 - ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
835 - if [[ -n "${ati_cards}" ]] ; then
836 - addpredict "${ati_cards}"
837 - fi
838 -
839 - mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
840 - if [[ -n "${mesa_cards}" ]] ; then
841 - addpredict "${mesa_cards}"
842 - fi
843 -
844 - nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
845 - if [[ -n "${nvidia_cards}" ]] ; then
846 - addpredict "${nvidia_cards}"
847 - fi
848 -
849 - render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
850 - if [[ -n "${render_cards}" ]] ; then
851 - addpredict "${render_cards}"
852 - fi
853 -
854 - shopt -u nullglob
855 - fi
856 -
857 - if ! mountpoint -q /dev/shm ; then
858 - # If /dev/shm is not available, configure is known to fail with
859 - # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
860 - ewarn "/dev/shm is not mounted -- expect build failures!"
861 - fi
862 -
863 - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
864 - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
865 - # get your own set of keys.
866 - if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
867 - MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
868 - fi
869 -
870 - if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
871 - MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
872 - fi
873 -
874 - # Mozilla API keys (see https://location.services.mozilla.com/api)
875 - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
876 - # get your own set of keys.
877 - if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
878 - MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
879 - fi
880 -
881 - # Ensure we use C locale when building, bug #746215
882 - export LC_ALL=C
883 - fi
884 -
885 - CONFIG_CHECK="~SECCOMP"
886 - WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
887 - linux-info_pkg_setup
888 -}
889 -
890 -src_unpack() {
891 - local _lp_dir="${WORKDIR}/language_packs"
892 - local _src_file
893 -
894 - if [[ ! -d "${_lp_dir}" ]] ; then
895 - mkdir "${_lp_dir}" || die
896 - fi
897 -
898 - for _src_file in ${A} ; do
899 - if [[ ${_src_file} == *.xpi ]]; then
900 - cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
901 - else
902 - unpack ${_src_file}
903 - fi
904 - done
905 -}
906 -
907 -src_prepare() {
908 - use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
909 - eapply "${WORKDIR}/firefox-patches"
910 -
911 - # Allow user to apply any additional patches without modifing ebuild
912 - eapply_user
913 -
914 - # Make cargo respect MAKEOPTS
915 - export CARGO_BUILD_JOBS="$(makeopts_jobs)"
916 -
917 - # Make LTO respect MAKEOPTS
918 - sed -i \
919 - -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
920 - "${S}"/build/moz.configure/lto-pgo.configure \
921 - || die "sed failed to set num_cores"
922 -
923 - # Make ICU respect MAKEOPTS
924 - sed -i \
925 - -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
926 - "${S}"/intl/icu_sources_data.py \
927 - || die "sed failed to set num_cores"
928 -
929 - # sed-in toolchain prefix
930 - sed -i \
931 - -e "s/objdump/${CHOST}-objdump/" \
932 - "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
933 - || die "sed failed to set toolchain prefix"
934 -
935 - sed -i \
936 - -e 's/ccache_stats = None/return None/' \
937 - "${S}"/python/mozbuild/mozbuild/controller/building.py \
938 - || die "sed failed to disable ccache stats call"
939 -
940 - einfo "Removing pre-built binaries ..."
941 - find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
942 -
943 - # Clearing checksums where we have applied patches
944 - moz_clear_vendor_checksums target-lexicon-0.9.0
945 -
946 - # Create build dir
947 - BUILD_DIR="${WORKDIR}/${PN}_build"
948 - mkdir -p "${BUILD_DIR}" || die
949 -
950 - # Write API keys to disk
951 - echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
952 - echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
953 - echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
954 -
955 - xdg_environment_reset
956 -}
957 -
958 -src_configure() {
959 - # Show flags set at the beginning
960 - einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
961 - einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
962 - einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
963 - einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
964 - einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
965 -
966 - local have_switched_compiler=
967 - if use clang && ! tc-is-clang ; then
968 - # Force clang
969 - einfo "Enforcing the use of clang due to USE=clang ..."
970 - have_switched_compiler=yes
971 - AR=llvm-ar
972 - AS=llvm-as
973 - CC=${CHOST}-clang
974 - CXX=${CHOST}-clang++
975 - NM=llvm-nm
976 - RANLIB=llvm-ranlib
977 - elif ! use clang && ! tc-is-gcc ; then
978 - # Force gcc
979 - have_switched_compiler=yes
980 - einfo "Enforcing the use of gcc due to USE=-clang ..."
981 - AR=gcc-ar
982 - CC=${CHOST}-gcc
983 - CXX=${CHOST}-g++
984 - NM=gcc-nm
985 - RANLIB=gcc-ranlib
986 - fi
987 -
988 - if [[ -n "${have_switched_compiler}" ]] ; then
989 - # Because we switched active compiler we have to ensure
990 - # that no unsupported flags are set
991 - strip-unsupported-flags
992 - fi
993 -
994 - # Ensure we use correct toolchain
995 - export HOST_CC="$(tc-getBUILD_CC)"
996 - export HOST_CXX="$(tc-getBUILD_CXX)"
997 - tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
998 -
999 - # Pass the correct toolchain paths through cbindgen
1000 - if tc-is-cross-compiler ; then
1001 - export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
1002 - fi
1003 -
1004 - # Set MOZILLA_FIVE_HOME
1005 - export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
1006 -
1007 - # python/mach/mach/mixin/process.py fails to detect SHELL
1008 - export SHELL="${EPREFIX}/bin/bash"
1009 -
1010 - # Set state path
1011 - export MOZBUILD_STATE_PATH="${BUILD_DIR}"
1012 -
1013 - # Set MOZCONFIG
1014 - export MOZCONFIG="${S}/.mozconfig"
1015 -
1016 - # Initialize MOZCONFIG
1017 - mozconfig_add_options_ac '' --enable-application=browser
1018 -
1019 - # Set Gentoo defaults
1020 - export MOZILLA_OFFICIAL=1
1021 -
1022 - mozconfig_add_options_ac 'Gentoo default' \
1023 - --allow-addon-sideload \
1024 - --disable-cargo-incremental \
1025 - --disable-crashreporter \
1026 - --disable-install-strip \
1027 - --disable-parental-controls \
1028 - --disable-strip \
1029 - --disable-updater \
1030 - --enable-negotiateauth \
1031 - --enable-new-pass-manager \
1032 - --enable-official-branding \
1033 - --enable-release \
1034 - --enable-system-ffi \
1035 - --enable-system-pixman \
1036 - --host="${CBUILD:-${CHOST}}" \
1037 - --libdir="${EPREFIX}/usr/$(get_libdir)" \
1038 - --prefix="${EPREFIX}/usr" \
1039 - --target="${CHOST}" \
1040 - --without-ccache \
1041 - --without-wasm-sandboxed-libraries \
1042 - --with-intl-api \
1043 - --with-libclang-path="$(llvm-config --libdir)" \
1044 - --with-system-nspr \
1045 - --with-system-nss \
1046 - --with-system-zlib \
1047 - --with-toolchain-prefix="${CHOST}-" \
1048 - --with-unsigned-addon-scopes=app,system \
1049 - --x-includes="${ESYSROOT}/usr/include" \
1050 - --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
1051 -
1052 - # Set update channel
1053 - local update_channel=release
1054 - [[ -n ${MOZ_ESR} ]] && update_channel=esr
1055 - mozconfig_add_options_ac '' --update-channel=${update_channel}
1056 -
1057 - if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
1058 - mozconfig_add_options_ac '' --enable-rust-simd
1059 - fi
1060 -
1061 - # For future keywording: This is currently (97.0) only supported on:
1062 - # amd64, arm, arm64 & x86.
1063 - # Might want to flip the logic around if Firefox is to support more arches.
1064 - if use ppc64; then
1065 - mozconfig_add_options_ac '' --disable-sandbox
1066 - else
1067 - mozconfig_add_options_ac '' --enable-sandbox
1068 - fi
1069 -
1070 - if [[ -s "${S}/api-google.key" ]] ; then
1071 - local key_origin="Gentoo default"
1072 - if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
1073 - key_origin="User value"
1074 - fi
1075 -
1076 - mozconfig_add_options_ac "${key_origin}" \
1077 - --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
1078 - else
1079 - einfo "Building without Google API key ..."
1080 - fi
1081 -
1082 - if [[ -s "${S}/api-location.key" ]] ; then
1083 - local key_origin="Gentoo default"
1084 - if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
1085 - key_origin="User value"
1086 - fi
1087 -
1088 - mozconfig_add_options_ac "${key_origin}" \
1089 - --with-google-location-service-api-keyfile="${S}/api-location.key"
1090 - else
1091 - einfo "Building without Location API key ..."
1092 - fi
1093 -
1094 - if [[ -s "${S}/api-mozilla.key" ]] ; then
1095 - local key_origin="Gentoo default"
1096 - if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
1097 - key_origin="User value"
1098 - fi
1099 -
1100 - mozconfig_add_options_ac "${key_origin}" \
1101 - --with-mozilla-api-keyfile="${S}/api-mozilla.key"
1102 - else
1103 - einfo "Building without Mozilla API key ..."
1104 - fi
1105 -
1106 - mozconfig_use_with system-av1
1107 - mozconfig_use_with system-harfbuzz
1108 - mozconfig_use_with system-harfbuzz system-graphite2
1109 - mozconfig_use_with system-icu
1110 - mozconfig_use_with system-jpeg
1111 - mozconfig_use_with system-libevent
1112 - mozconfig_use_with system-libvpx
1113 - mozconfig_use_with system-png
1114 - mozconfig_use_with system-webp
1115 -
1116 - mozconfig_use_enable dbus
1117 - mozconfig_use_enable libproxy
1118 -
1119 - use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
1120 -
1121 - mozconfig_use_enable geckodriver
1122 -
1123 - if use hardened ; then
1124 - mozconfig_add_options_ac "+hardened" --enable-hardening
1125 - append-ldflags "-Wl,-z,relro -Wl,-z,now"
1126 - fi
1127 -
1128 - local myaudiobackends=""
1129 - use jack && myaudiobackends+="jack,"
1130 - use sndio && myaudiobackends+="sndio,"
1131 - use pulseaudio && myaudiobackends+="pulseaudio,"
1132 - ! use pulseaudio && myaudiobackends+="alsa,"
1133 -
1134 - mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
1135 -
1136 - mozconfig_use_enable wifi necko-wifi
1137 -
1138 - if use wayland ; then
1139 - mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
1140 - else
1141 - mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
1142 - fi
1143 -
1144 - if use lto ; then
1145 - if use clang ; then
1146 - # Upstream only supports lld when using clang
1147 - mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
1148 -
1149 - mozconfig_add_options_ac '+lto' --enable-lto=cross
1150 -
1151 - else
1152 - # ThinLTO is currently broken, see bmo#1644409
1153 - mozconfig_add_options_ac '+lto' --enable-lto=full
1154 - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
1155 - fi
1156 -
1157 - if use pgo ; then
1158 - mozconfig_add_options_ac '+pgo' MOZ_PGO=1
1159 -
1160 - if use clang ; then
1161 - # Used in build/pgo/profileserver.py
1162 - export LLVM_PROFDATA="llvm-profdata"
1163 - fi
1164 - fi
1165 - else
1166 - # Avoid auto-magic on linker
1167 - if use clang ; then
1168 - # This is upstream's default
1169 - mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
1170 - else
1171 - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
1172 - fi
1173 - fi
1174 -
1175 - # LTO flag was handled via configure
1176 - filter-flags '-flto*'
1177 -
1178 - mozconfig_use_enable debug
1179 - if use debug ; then
1180 - mozconfig_add_options_ac '+debug' --disable-optimize
1181 - else
1182 - if is-flag '-g*' ; then
1183 - if use clang ; then
1184 - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
1185 - else
1186 - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
1187 - fi
1188 - else
1189 - mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
1190 - fi
1191 -
1192 - if is-flag '-O0' ; then
1193 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
1194 - elif is-flag '-O4' ; then
1195 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
1196 - elif is-flag '-O3' ; then
1197 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
1198 - elif is-flag '-O1' ; then
1199 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
1200 - elif is-flag '-Os' ; then
1201 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
1202 - else
1203 - mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
1204 - fi
1205 - fi
1206 -
1207 - # Debug flag was handled via configure
1208 - filter-flags '-g*'
1209 -
1210 - # Optimization flag was handled via configure
1211 - filter-flags '-O*'
1212 -
1213 - # Modifications to better support ARM, bug #553364
1214 - if use cpu_flags_arm_neon ; then
1215 - mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
1216 -
1217 - if ! tc-is-clang ; then
1218 - # thumb options aren't supported when using clang, bug 666966
1219 - mozconfig_add_options_ac '+cpu_flags_arm_neon' \
1220 - --with-thumb=yes \
1221 - --with-thumb-interwork=no
1222 - fi
1223 - fi
1224 -
1225 - if [[ ${CHOST} == armv*h* ]] ; then
1226 - mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
1227 -
1228 - if ! use system-libvpx ; then
1229 - sed -i \
1230 - -e "s|softfp|hard|" \
1231 - "${S}"/media/libvpx/moz.build \
1232 - || die
1233 - fi
1234 - fi
1235 -
1236 - if use clang ; then
1237 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
1238 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
1239 - # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
1240 - local disable_elf_hack=
1241 - if use amd64 ; then
1242 - disable_elf_hack=yes
1243 - elif use x86 ; then
1244 - disable_elf_hack=yes
1245 - elif use arm ; then
1246 - disable_elf_hack=yes
1247 - fi
1248 -
1249 - if [[ -n ${disable_elf_hack} ]] ; then
1250 - mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
1251 - fi
1252 - elif tc-is-gcc ; then
1253 - if ver_test $(gcc-fullversion) -ge 10 ; then
1254 - einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
1255 - append-cxxflags -fno-tree-loop-vectorize
1256 - fi
1257 - fi
1258 -
1259 - # Additional ARCH support
1260 - case "${ARCH}" in
1261 - arm)
1262 - # Reduce the memory requirements for linking
1263 - if use clang ; then
1264 - # Nothing to do
1265 - :;
1266 - elif use lto ; then
1267 - append-ldflags -Wl,--no-keep-memory
1268 - else
1269 - append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
1270 - fi
1271 - ;;
1272 - esac
1273 -
1274 - if ! use elibc_glibc ; then
1275 - mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
1276 - fi
1277 -
1278 - # Allow elfhack to work in combination with unstripped binaries
1279 - # when they would normally be larger than 2GiB.
1280 - append-ldflags "-Wl,--compress-debug-sections=zlib"
1281 -
1282 - # Make revdep-rebuild.sh happy; Also required for musl
1283 - append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
1284 -
1285 - # Pass $MAKEOPTS to build system
1286 - export MOZ_MAKE_FLAGS="${MAKEOPTS}"
1287 -
1288 - # Use system's Python environment
1289 - PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
1290 -
1291 - if use system-python-libs; then
1292 - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system"
1293 - else
1294 - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
1295 - fi
1296 -
1297 - # Disable notification when build system has finished
1298 - export MOZ_NOSPAM=1
1299 -
1300 - # Portage sets XARGS environment variable to "xargs -r" by default which
1301 - # breaks build system's check_prog() function which doesn't support arguments
1302 - mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
1303 -
1304 - # Set build dir
1305 - mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
1306 -
1307 - # Show flags we will use
1308 - einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
1309 - einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
1310 - einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
1311 - einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
1312 - einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
1313 -
1314 - # Handle EXTRA_CONF and show summary
1315 - local ac opt hash reason
1316 -
1317 - # Apply EXTRA_ECONF entries to $MOZCONFIG
1318 - if [[ -n ${EXTRA_ECONF} ]] ; then
1319 - IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
1320 - for opt in "${ac[@]}"; do
1321 - mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
1322 - done
1323 - fi
1324 -
1325 - echo
1326 - echo "=========================================================="
1327 - echo "Building ${PF} with the following configuration"
1328 - grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
1329 - [[ -z ${hash} || ${hash} == \# ]] \
1330 - || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
1331 - printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
1332 - done
1333 - echo "=========================================================="
1334 - echo
1335 -
1336 - ./mach configure || die
1337 -}
1338 -
1339 -src_compile() {
1340 - local virtx_cmd=
1341 -
1342 - if use pgo ; then
1343 - virtx_cmd=virtx
1344 -
1345 - # Reset and cleanup environment variables used by GNOME/XDG
1346 - gnome2_environment_reset
1347 -
1348 - addpredict /root
1349 - fi
1350 -
1351 - local -x GDK_BACKEND=x11
1352 -
1353 - ${virtx_cmd} ./mach build --verbose \
1354 - || die
1355 -}
1356 -
1357 -src_install() {
1358 - # xpcshell is getting called during install
1359 - pax-mark m \
1360 - "${BUILD_DIR}"/dist/bin/xpcshell \
1361 - "${BUILD_DIR}"/dist/bin/${PN} \
1362 - "${BUILD_DIR}"/dist/bin/plugin-container
1363 -
1364 - DESTDIR="${D}" ./mach install || die
1365 -
1366 - # Upstream cannot ship symlink but we can (bmo#658850)
1367 - rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
1368 - dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
1369 -
1370 - # Don't install llvm-symbolizer from sys-devel/llvm package
1371 - if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
1372 - rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
1373 - fi
1374 -
1375 - # Install policy (currently only used to disable application updates)
1376 - insinto "${MOZILLA_FIVE_HOME}/distribution"
1377 - newins "${FILESDIR}"/distribution.ini distribution.ini
1378 - newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
1379 -
1380 - # Install system-wide preferences
1381 - local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
1382 - insinto "${PREFS_DIR}"
1383 - newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
1384 -
1385 - local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
1386 -
1387 - # Set dictionary path to use system hunspell
1388 - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
1389 - pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
1390 - EOF
1391 -
1392 - # Force hwaccel prefs if USE=hwaccel is enabled
1393 - if use hwaccel ; then
1394 - cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r1 \
1395 - >>"${GENTOO_PREFS}" \
1396 - || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
1397 - fi
1398 -
1399 - if ! use gmp-autoupdate ; then
1400 - local plugin
1401 - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1402 - einfo "Disabling auto-update for ${plugin} plugin ..."
1403 - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
1404 - pref("media.${plugin}.autoupdate", false);
1405 - EOF
1406 - done
1407 - fi
1408 -
1409 - # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
1410 - if use system-harfbuzz ; then
1411 - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
1412 - sticky_pref("gfx.font_rendering.graphite.enabled", true);
1413 - EOF
1414 - fi
1415 -
1416 - # Install language packs
1417 - local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
1418 - if [[ -n "${langpacks}" ]] ; then
1419 - moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
1420 - fi
1421 -
1422 - # Install geckodriver
1423 - if use geckodriver ; then
1424 - einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
1425 - pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
1426 - exeinto "${MOZILLA_FIVE_HOME}"
1427 - doexe "${BUILD_DIR}"/dist/bin/geckodriver
1428 -
1429 - dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
1430 - fi
1431 -
1432 - # Install icons
1433 - local icon_srcdir="${S}/browser/branding/official"
1434 - local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
1435 -
1436 - insinto /usr/share/icons/hicolor/symbolic/apps
1437 - newins "${icon_symbolic_file}" ${PN}-symbolic.svg
1438 -
1439 - local icon size
1440 - for icon in "${icon_srcdir}"/default*.png ; do
1441 - size=${icon%.png}
1442 - size=${size##*/default}
1443 -
1444 - if [[ ${size} -eq 48 ]] ; then
1445 - newicon "${icon}" ${PN}.png
1446 - fi
1447 -
1448 - newicon -s ${size} "${icon}" ${PN}.png
1449 - done
1450 -
1451 - # Install menu
1452 - local app_name="Mozilla ${MOZ_PN^}"
1453 - local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
1454 - local desktop_filename="${PN}.desktop"
1455 - local exec_command="${PN}"
1456 - local icon="${PN}"
1457 - local use_wayland="false"
1458 -
1459 - if use wayland ; then
1460 - use_wayland="true"
1461 - fi
1462 -
1463 - cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
1464 -
1465 - sed -i \
1466 - -e "s:@NAME@:${app_name}:" \
1467 - -e "s:@EXEC@:${exec_command}:" \
1468 - -e "s:@ICON@:${icon}:" \
1469 - "${WORKDIR}/${PN}.desktop-template" \
1470 - || die
1471 -
1472 - newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
1473 -
1474 - rm "${WORKDIR}/${PN}.desktop-template" || die
1475 -
1476 - # Install wrapper script
1477 - [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
1478 - newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
1479 -
1480 - # Update wrapper
1481 - sed -i \
1482 - -e "s:@PREFIX@:${EPREFIX}/usr:" \
1483 - -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
1484 - -e "s:@APULSELIB_DIR@:${apulselib}:" \
1485 - -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
1486 - "${ED}/usr/bin/${PN}" \
1487 - || die
1488 -}
1489 -
1490 -pkg_preinst() {
1491 - xdg_pkg_preinst
1492 -
1493 - # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
1494 - # does not need to be forced into the LD_LIBRARY_PATH
1495 - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1496 - einfo "APULSE found; Generating library symlinks for sound support ..."
1497 - local lib
1498 - pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
1499 - for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
1500 - # A quickpkg rolled by hand will grab symlinks as part of the package,
1501 - # so we need to avoid creating them if they already exist.
1502 - if [[ ! -L ${lib##*/} ]] ; then
1503 - ln -s "${lib}" ${lib##*/} || die
1504 - fi
1505 - done
1506 - popd &>/dev/null || die
1507 - fi
1508 -}
1509 -
1510 -pkg_postinst() {
1511 - xdg_pkg_postinst
1512 -
1513 - if ! use gmp-autoupdate ; then
1514 - elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
1515 - elog "installing into new profiles:"
1516 - local plugin
1517 - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1518 - elog "\t ${plugin}"
1519 - done
1520 - elog
1521 - fi
1522 -
1523 - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1524 - elog "Apulse was detected at merge time on this system and so it will always be"
1525 - elog "used for sound. If you wish to use pulseaudio instead please unmerge"
1526 - elog "media-sound/apulse."
1527 - elog
1528 - fi
1529 -
1530 - local show_doh_information
1531 - local show_normandy_information
1532 - local show_shortcut_information
1533 -
1534 - if [[ -z "${REPLACING_VERSIONS}" ]] ; then
1535 - # New install; Tell user that DoH is disabled by default
1536 - show_doh_information=yes
1537 - show_normandy_information=yes
1538 - show_shortcut_information=no
1539 - else
1540 - local replacing_version
1541 - for replacing_version in ${REPLACING_VERSIONS} ; do
1542 - if ver_test "${replacing_version}" -lt 91.0 ; then
1543 - # Tell user that we no longer install a shortcut
1544 - # per supported display protocol
1545 - show_shortcut_information=yes
1546 - fi
1547 - done
1548 - fi
1549 -
1550 - if [[ -n "${show_doh_information}" ]] ; then
1551 - elog
1552 - elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
1553 - elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
1554 - elog "DNS traffic to Cloudflare by default is not a good idea and applications"
1555 - elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
1556 - elog "(\"Off by choice\") by default."
1557 - elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
1558 - fi
1559 -
1560 - # bug 713782
1561 - if [[ -n "${show_normandy_information}" ]] ; then
1562 - elog
1563 - elog "Upstream operates a service named Normandy which allows Mozilla to"
1564 - elog "push changes for default settings or even install new add-ons remotely."
1565 - elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
1566 - elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
1567 - elog "concerns prevail, which is why we have switched off the use of this"
1568 - elog "service by default."
1569 - elog
1570 - elog "To re-enable this service set"
1571 - elog
1572 - elog " app.normandy.enabled=true"
1573 - elog
1574 - elog "in about:config."
1575 - fi
1576 -
1577 - if [[ -n "${show_shortcut_information}" ]] ; then
1578 - elog
1579 - elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
1580 - elog "each supported display protocol. Instead we will only install"
1581 - elog "one generic Mozilla ${PN^} shortcut."
1582 - elog "If you still want to be able to select between running Mozilla ${PN^}"
1583 - elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
1584 - fi
1585 -
1586 - # bug 835078
1587 - if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
1588 - ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
1589 - ewarn "enabled for Firefox. Nouveau / your GPU might not supported the "
1590 - ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
1591 - ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
1592 - fi
1593 -
1594 - elog
1595 - elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using "
1596 - elog "useragent checks. To temporarily fix this, enter about:config and modify "
1597 - elog "network.http.useragent.forceVersion preference to \"99\"."
1598 - elog "Or install an addon to change your useragent."
1599 - elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100"
1600 - elog
1601 -}
1602
1603 diff --git a/www-client/firefox/firefox-91.9.0.ebuild b/www-client/firefox/firefox-91.9.0.ebuild
1604 deleted file mode 100644
1605 index bc4b2b364078..000000000000
1606 --- a/www-client/firefox/firefox-91.9.0.ebuild
1607 +++ /dev/null
1608 @@ -1,1244 +0,0 @@
1609 -# Copyright 1999-2022 Gentoo Authors
1610 -# Distributed under the terms of the GNU General Public License v2
1611 -
1612 -EAPI="7"
1613 -
1614 -FIREFOX_PATCHSET="firefox-91esr-patches-06j.tar.xz"
1615 -
1616 -LLVM_MAX_SLOT=14
1617 -
1618 -PYTHON_COMPAT=( python3_{8..10} )
1619 -PYTHON_REQ_USE="ncurses,sqlite,ssl"
1620 -
1621 -WANT_AUTOCONF="2.1"
1622 -
1623 -VIRTUALX_REQUIRED="pgo"
1624 -
1625 -MOZ_ESR=yes
1626 -
1627 -MOZ_PV=${PV}
1628 -MOZ_PV_SUFFIX=
1629 -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
1630 - MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
1631 -
1632 - # Convert the ebuild version to the upstream Mozilla version
1633 - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
1634 - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
1635 - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
1636 -fi
1637 -
1638 -if [[ -n ${MOZ_ESR} ]] ; then
1639 - # ESR releases have slightly different version numbers
1640 - MOZ_PV="${MOZ_PV}esr"
1641 -fi
1642 -
1643 -MOZ_PN="${PN%-bin}"
1644 -MOZ_P="${MOZ_PN}-${MOZ_PV}"
1645 -MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
1646 -MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
1647 -
1648 -inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
1649 - llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
1650 - virtualx xdg
1651 -
1652 -MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
1653 -
1654 -if [[ ${PV} == *_rc* ]] ; then
1655 - MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
1656 -fi
1657 -
1658 -PATCH_URIS=(
1659 - https://dev.gentoo.org/~{juippis,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
1660 -)
1661 -
1662 -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
1663 - ${PATCH_URIS[@]}"
1664 -
1665 -DESCRIPTION="Firefox Web Browser"
1666 -HOMEPAGE="https://www.mozilla.com/firefox"
1667 -
1668 -KEYWORDS="amd64 arm64 ~ppc64 x86"
1669 -
1670 -SLOT="esr"
1671 -LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
1672 -
1673 -IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
1674 -IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux"
1675 -IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png +system-webp"
1676 -IUSE+=" wayland wifi"
1677 -
1678 -# Firefox-only IUSE
1679 -IUSE+=" geckodriver"
1680 -IUSE+=" +gmp-autoupdate"
1681 -IUSE+=" screencast"
1682 -
1683 -REQUIRED_USE="debug? ( !system-av1 )
1684 - pgo? ( lto )
1685 - wifi? ( dbus )"
1686 -
1687 -# Firefox-only REQUIRED_USE flags
1688 -REQUIRED_USE+=" screencast? ( wayland )"
1689 -
1690 -BDEPEND="${PYTHON_DEPS}
1691 - app-arch/unzip
1692 - app-arch/zip
1693 - >=dev-util/cbindgen-0.19.0
1694 - >=net-libs/nodejs-10.23.1
1695 - virtual/pkgconfig
1696 - >=virtual/rust-1.51.0
1697 - || (
1698 - (
1699 - sys-devel/clang:14
1700 - sys-devel/llvm:14
1701 - clang? (
1702 - =sys-devel/lld-14*
1703 - pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] )
1704 - sys-devel/clang:14
1705 - )
1706 - )
1707 - (
1708 - sys-devel/clang:13
1709 - sys-devel/llvm:13
1710 - clang? (
1711 - =sys-devel/lld-13*
1712 - pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
1713 - )
1714 - )
1715 - (
1716 - sys-devel/clang:12
1717 - sys-devel/llvm:12
1718 - clang? (
1719 - =sys-devel/lld-12*
1720 - pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
1721 - )
1722 - )
1723 - )
1724 - amd64? ( >=dev-lang/nasm-2.13 )
1725 - x86? ( >=dev-lang/nasm-2.13 )"
1726 -
1727 -COMMON_DEPEND="
1728 - >=dev-libs/nss-3.68
1729 - >=dev-libs/nspr-4.32
1730 - dev-libs/atk
1731 - dev-libs/expat
1732 - >=x11-libs/cairo-1.10[X]
1733 - >=x11-libs/gtk+-3.4.0:3[X]
1734 - x11-libs/gdk-pixbuf
1735 - >=x11-libs/pango-1.22.0
1736 - >=media-libs/mesa-10.2:*
1737 - media-libs/fontconfig
1738 - >=media-libs/freetype-2.4.10
1739 - kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
1740 - virtual/freedesktop-icon-theme
1741 - >=x11-libs/pixman-0.19.2
1742 - >=dev-libs/glib-2.26:2
1743 - >=sys-libs/zlib-1.2.3
1744 - >=dev-libs/libffi-3.0.10:=
1745 - media-video/ffmpeg
1746 - x11-libs/libX11
1747 - x11-libs/libxcb:=
1748 - x11-libs/libXcomposite
1749 - x11-libs/libXdamage
1750 - x11-libs/libXext
1751 - x11-libs/libXfixes
1752 - x11-libs/libXrender
1753 - x11-libs/libXt
1754 - dbus? (
1755 - sys-apps/dbus
1756 - dev-libs/dbus-glib
1757 - )
1758 - screencast? ( media-video/pipewire:= )
1759 - system-av1? (
1760 - >=media-libs/dav1d-0.8.1:=
1761 - >=media-libs/libaom-1.0.0:=
1762 - )
1763 - system-harfbuzz? (
1764 - >=media-libs/harfbuzz-2.8.1:0=
1765 - >=media-gfx/graphite2-1.3.13
1766 - )
1767 - system-icu? ( >=dev-libs/icu-69.1:= )
1768 - system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
1769 - system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
1770 - system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
1771 - system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
1772 - system-webp? ( >=media-libs/libwebp-1.1.0:0= )
1773 - wifi? (
1774 - kernel_linux? (
1775 - sys-apps/dbus
1776 - dev-libs/dbus-glib
1777 - net-misc/networkmanager
1778 - )
1779 - )
1780 - jack? ( virtual/jack )
1781 - selinux? ( sec-policy/selinux-mozilla )
1782 - sndio? ( media-sound/sndio )"
1783 -
1784 -RDEPEND="${COMMON_DEPEND}
1785 - !www-client/firefox:0
1786 - !www-client/firefox:rapid
1787 - jack? ( virtual/jack )
1788 - openh264? ( media-libs/openh264:*[plugin] )
1789 - pulseaudio? (
1790 - || (
1791 - media-sound/pulseaudio
1792 - >=media-sound/apulse-0.1.12-r4
1793 - )
1794 - )
1795 - selinux? ( sec-policy/selinux-mozilla )"
1796 -
1797 -DEPEND="${COMMON_DEPEND}
1798 - x11-libs/libICE
1799 - x11-libs/libSM
1800 - pulseaudio? (
1801 - || (
1802 - media-sound/pulseaudio
1803 - >=media-sound/apulse-0.1.12-r4[sdk]
1804 - )
1805 - )
1806 - wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
1807 - amd64? ( virtual/opengl )
1808 - x86? ( virtual/opengl )"
1809 -
1810 -S="${WORKDIR}/${PN}-${PV%_*}"
1811 -
1812 -# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
1813 -# overridden in the enviromnent (advanced hackers only)
1814 -if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
1815 - MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
1816 -fi
1817 -
1818 -llvm_check_deps() {
1819 - if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
1820 - einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
1821 - return 1
1822 - fi
1823 -
1824 - if use clang ; then
1825 - if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
1826 - einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
1827 - return 1
1828 - fi
1829 -
1830 - if use pgo ; then
1831 - if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
1832 - einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
1833 - return 1
1834 - fi
1835 - fi
1836 - fi
1837 -
1838 - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
1839 -}
1840 -
1841 -MOZ_LANGS=(
1842 - af ar ast be bg br ca cak cs cy da de dsb
1843 - el en-CA en-GB en-US es-AR es-ES et eu
1844 - fi fr fy-NL ga-IE gd gl he hr hsb hu
1845 - id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
1846 - pa-IN pl pt-BR pt-PT rm ro ru
1847 - sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
1848 -)
1849 -
1850 -# Firefox-only LANGS
1851 -MOZ_LANGS+=( ach )
1852 -MOZ_LANGS+=( an )
1853 -MOZ_LANGS+=( az )
1854 -MOZ_LANGS+=( bn )
1855 -MOZ_LANGS+=( bs )
1856 -MOZ_LANGS+=( ca-valencia )
1857 -MOZ_LANGS+=( eo )
1858 -MOZ_LANGS+=( es-CL )
1859 -MOZ_LANGS+=( es-MX )
1860 -MOZ_LANGS+=( fa )
1861 -MOZ_LANGS+=( ff )
1862 -MOZ_LANGS+=( gn )
1863 -MOZ_LANGS+=( gu-IN )
1864 -MOZ_LANGS+=( hi-IN )
1865 -MOZ_LANGS+=( hy-AM )
1866 -MOZ_LANGS+=( ia )
1867 -MOZ_LANGS+=( km )
1868 -MOZ_LANGS+=( kn )
1869 -MOZ_LANGS+=( lij )
1870 -MOZ_LANGS+=( mk )
1871 -MOZ_LANGS+=( mr )
1872 -MOZ_LANGS+=( my )
1873 -MOZ_LANGS+=( ne-NP )
1874 -MOZ_LANGS+=( oc )
1875 -MOZ_LANGS+=( sco )
1876 -MOZ_LANGS+=( si )
1877 -MOZ_LANGS+=( son )
1878 -MOZ_LANGS+=( szl )
1879 -MOZ_LANGS+=( ta )
1880 -MOZ_LANGS+=( te )
1881 -MOZ_LANGS+=( tl )
1882 -MOZ_LANGS+=( trs )
1883 -MOZ_LANGS+=( ur )
1884 -MOZ_LANGS+=( xh )
1885 -
1886 -mozilla_set_globals() {
1887 - # https://bugs.gentoo.org/587334
1888 - local MOZ_TOO_REGIONALIZED_FOR_L10N=(
1889 - fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
1890 - )
1891 -
1892 - local lang xflag
1893 - for lang in "${MOZ_LANGS[@]}" ; do
1894 - # en and en_US are handled internally
1895 - if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
1896 - continue
1897 - fi
1898 -
1899 - # strip region subtag if $lang is in the list
1900 - if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
1901 - xflag=${lang%%-*}
1902 - else
1903 - xflag=${lang}
1904 - fi
1905 -
1906 - SRC_URI+=" l10n_${xflag/[_@]/-}? ("
1907 - SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
1908 - SRC_URI+=" )"
1909 - IUSE+=" l10n_${xflag/[_@]/-}"
1910 - done
1911 -}
1912 -mozilla_set_globals
1913 -
1914 -moz_clear_vendor_checksums() {
1915 - debug-print-function ${FUNCNAME} "$@"
1916 -
1917 - if [[ ${#} -ne 1 ]] ; then
1918 - die "${FUNCNAME} requires exact one argument"
1919 - fi
1920 -
1921 - einfo "Clearing cargo checksums for ${1} ..."
1922 -
1923 - sed -i \
1924 - -e 's/\("files":{\)[^}]*/\1/' \
1925 - "${S}"/third_party/rust/${1}/.cargo-checksum.json \
1926 - || die
1927 -}
1928 -
1929 -moz_install_xpi() {
1930 - debug-print-function ${FUNCNAME} "$@"
1931 -
1932 - if [[ ${#} -lt 2 ]] ; then
1933 - die "${FUNCNAME} requires at least two arguments"
1934 - fi
1935 -
1936 - local DESTDIR=${1}
1937 - shift
1938 -
1939 - insinto "${DESTDIR}"
1940 -
1941 - local emid xpi_file xpi_tmp_dir
1942 - for xpi_file in "${@}" ; do
1943 - emid=
1944 - xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
1945 -
1946 - # Unpack XPI
1947 - unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
1948 -
1949 - # Determine extension ID
1950 - if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
1951 - emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
1952 - [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
1953 - elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
1954 - emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
1955 - [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
1956 - else
1957 - die "failed to determine extension id"
1958 - fi
1959 -
1960 - einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
1961 - newins "${xpi_file}" "${emid}.xpi"
1962 - done
1963 -}
1964 -
1965 -mozconfig_add_options_ac() {
1966 - debug-print-function ${FUNCNAME} "$@"
1967 -
1968 - if [[ ${#} -lt 2 ]] ; then
1969 - die "${FUNCNAME} requires at least two arguments"
1970 - fi
1971 -
1972 - local reason=${1}
1973 - shift
1974 -
1975 - local option
1976 - for option in ${@} ; do
1977 - echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
1978 - done
1979 -}
1980 -
1981 -mozconfig_add_options_mk() {
1982 - debug-print-function ${FUNCNAME} "$@"
1983 -
1984 - if [[ ${#} -lt 2 ]] ; then
1985 - die "${FUNCNAME} requires at least two arguments"
1986 - fi
1987 -
1988 - local reason=${1}
1989 - shift
1990 -
1991 - local option
1992 - for option in ${@} ; do
1993 - echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
1994 - done
1995 -}
1996 -
1997 -mozconfig_use_enable() {
1998 - debug-print-function ${FUNCNAME} "$@"
1999 -
2000 - if [[ ${#} -lt 1 ]] ; then
2001 - die "${FUNCNAME} requires at least one arguments"
2002 - fi
2003 -
2004 - local flag=$(use_enable "${@}")
2005 - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
2006 -}
2007 -
2008 -mozconfig_use_with() {
2009 - debug-print-function ${FUNCNAME} "$@"
2010 -
2011 - if [[ ${#} -lt 1 ]] ; then
2012 - die "${FUNCNAME} requires at least one arguments"
2013 - fi
2014 -
2015 - local flag=$(use_with "${@}")
2016 - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
2017 -}
2018 -
2019 -pkg_pretend() {
2020 - if [[ ${MERGE_TYPE} != binary ]] ; then
2021 - if use pgo ; then
2022 - if ! has usersandbox $FEATURES ; then
2023 - die "You must enable usersandbox as X server can not run as root!"
2024 - fi
2025 - fi
2026 -
2027 - # Ensure we have enough disk space to compile
2028 - if use pgo || use lto || use debug ; then
2029 - CHECKREQS_DISK_BUILD="13500M"
2030 - else
2031 - CHECKREQS_DISK_BUILD="6400M"
2032 - fi
2033 -
2034 - check-reqs_pkg_pretend
2035 - fi
2036 -}
2037 -
2038 -pkg_setup() {
2039 - if [[ ${MERGE_TYPE} != binary ]] ; then
2040 - if use pgo ; then
2041 - if ! has userpriv ${FEATURES} ; then
2042 - eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
2043 - fi
2044 - fi
2045 -
2046 - # Ensure we have enough disk space to compile
2047 - if use pgo || use lto || use debug ; then
2048 - CHECKREQS_DISK_BUILD="13500M"
2049 - else
2050 - CHECKREQS_DISK_BUILD="6400M"
2051 - fi
2052 -
2053 - check-reqs_pkg_setup
2054 -
2055 - llvm_pkg_setup
2056 -
2057 - if use clang && use lto ; then
2058 - local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
2059 - [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
2060 - [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
2061 -
2062 - local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
2063 - [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
2064 - [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
2065 -
2066 - if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
2067 - eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
2068 - eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
2069 - eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
2070 - eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
2071 - eerror " - Build ${CATEGORY}/${PN} without USE=lto"
2072 - eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
2073 - eerror " llvm/clang/lld/rust chain depending on your @world updates)"
2074 - die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
2075 - fi
2076 - fi
2077 -
2078 - if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
2079 - && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
2080 - # bug 792705
2081 - eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
2082 - die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
2083 - fi
2084 -
2085 - python-any-r1_pkg_setup
2086 -
2087 - # Avoid PGO profiling problems due to enviroment leakage
2088 - # These should *always* be cleaned up anyway
2089 - unset \
2090 - DBUS_SESSION_BUS_ADDRESS \
2091 - DISPLAY \
2092 - ORBIT_SOCKETDIR \
2093 - SESSION_MANAGER \
2094 - XAUTHORITY \
2095 - XDG_CACHE_HOME \
2096 - XDG_SESSION_COOKIE
2097 -
2098 - # Build system is using /proc/self/oom_score_adj, bug #604394
2099 - addpredict /proc/self/oom_score_adj
2100 -
2101 - if use pgo ; then
2102 - # Allow access to GPU during PGO run
2103 - local ati_cards mesa_cards nvidia_cards render_cards
2104 - shopt -s nullglob
2105 -
2106 - ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
2107 - if [[ -n "${ati_cards}" ]] ; then
2108 - addpredict "${ati_cards}"
2109 - fi
2110 -
2111 - mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
2112 - if [[ -n "${mesa_cards}" ]] ; then
2113 - addpredict "${mesa_cards}"
2114 - fi
2115 -
2116 - nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
2117 - if [[ -n "${nvidia_cards}" ]] ; then
2118 - addpredict "${nvidia_cards}"
2119 - fi
2120 -
2121 - render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
2122 - if [[ -n "${render_cards}" ]] ; then
2123 - addpredict "${render_cards}"
2124 - fi
2125 -
2126 - shopt -u nullglob
2127 - fi
2128 -
2129 - if ! mountpoint -q /dev/shm ; then
2130 - # If /dev/shm is not available, configure is known to fail with
2131 - # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
2132 - ewarn "/dev/shm is not mounted -- expect build failures!"
2133 - fi
2134 -
2135 - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
2136 - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
2137 - # get your own set of keys.
2138 - if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
2139 - MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
2140 - fi
2141 -
2142 - if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
2143 - MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
2144 - fi
2145 -
2146 - # Mozilla API keys (see https://location.services.mozilla.com/api)
2147 - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
2148 - # get your own set of keys.
2149 - if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
2150 - MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
2151 - fi
2152 -
2153 - # Ensure we use C locale when building, bug #746215
2154 - export LC_ALL=C
2155 - fi
2156 -
2157 - CONFIG_CHECK="~SECCOMP"
2158 - WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
2159 - linux-info_pkg_setup
2160 -}
2161 -
2162 -src_unpack() {
2163 - local _lp_dir="${WORKDIR}/language_packs"
2164 - local _src_file
2165 -
2166 - if [[ ! -d "${_lp_dir}" ]] ; then
2167 - mkdir "${_lp_dir}" || die
2168 - fi
2169 -
2170 - for _src_file in ${A} ; do
2171 - if [[ ${_src_file} == *.xpi ]]; then
2172 - cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
2173 - else
2174 - unpack ${_src_file}
2175 - fi
2176 - done
2177 -}
2178 -
2179 -src_prepare() {
2180 - if use lto; then
2181 - rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
2182 - fi
2183 -
2184 - if use system-av1 && has_version "<media-libs/dav1d-1.0.0"; then
2185 - rm -v "${WORKDIR}"/firefox-patches/0033-bgo-835788-dav1d-1.0.0-support.patch || die
2186 - elog "<media-libs/dav1d-1.0.0 detected, removing 1.0.0 compat patch."
2187 - elif ! use system-av1; then
2188 - rm -v "${WORKDIR}"/firefox-patches/0033-bgo-835788-dav1d-1.0.0-support.patch || die
2189 - elog "-system-av1 USE flag detected, removing 1.0.0 compat patch."
2190 - fi
2191 -
2192 - eapply "${WORKDIR}/firefox-patches"
2193 -
2194 - # Allow user to apply any additional patches without modifing ebuild
2195 - eapply_user
2196 -
2197 - # Make cargo respect MAKEOPTS
2198 - export CARGO_BUILD_JOBS="$(makeopts_jobs)"
2199 -
2200 - # Make LTO respect MAKEOPTS
2201 - sed -i \
2202 - -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
2203 - "${S}"/build/moz.configure/lto-pgo.configure \
2204 - || die "sed failed to set num_cores"
2205 -
2206 - # Make ICU respect MAKEOPTS
2207 - sed -i \
2208 - -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
2209 - "${S}"/intl/icu_sources_data.py \
2210 - || die "sed failed to set num_cores"
2211 -
2212 - # sed-in toolchain prefix
2213 - sed -i \
2214 - -e "s/objdump/${CHOST}-objdump/" \
2215 - "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
2216 - || die "sed failed to set toolchain prefix"
2217 -
2218 - sed -i \
2219 - -e 's/ccache_stats = None/return None/' \
2220 - "${S}"/python/mozbuild/mozbuild/controller/building.py \
2221 - || die "sed failed to disable ccache stats call"
2222 -
2223 - einfo "Removing pre-built binaries ..."
2224 - find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
2225 -
2226 - # Clearing checksums where we have applied patches
2227 - moz_clear_vendor_checksums target-lexicon-0.9.0
2228 -
2229 - # Create build dir
2230 - BUILD_DIR="${WORKDIR}/${PN}_build"
2231 - mkdir -p "${BUILD_DIR}" || die
2232 -
2233 - # Write API keys to disk
2234 - echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
2235 - echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
2236 - echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
2237 -
2238 - xdg_src_prepare
2239 -}
2240 -
2241 -src_configure() {
2242 - # Show flags set at the beginning
2243 - einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
2244 - einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
2245 - einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
2246 - einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
2247 - einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
2248 -
2249 - local have_switched_compiler=
2250 - if use clang && ! tc-is-clang ; then
2251 - # Force clang
2252 - einfo "Enforcing the use of clang due to USE=clang ..."
2253 - have_switched_compiler=yes
2254 - AR=llvm-ar
2255 - CC=${CHOST}-clang
2256 - CXX=${CHOST}-clang++
2257 - NM=llvm-nm
2258 - RANLIB=llvm-ranlib
2259 - elif ! use clang && ! tc-is-gcc ; then
2260 - # Force gcc
2261 - have_switched_compiler=yes
2262 - einfo "Enforcing the use of gcc due to USE=-clang ..."
2263 - AR=gcc-ar
2264 - CC=${CHOST}-gcc
2265 - CXX=${CHOST}-g++
2266 - NM=gcc-nm
2267 - RANLIB=gcc-ranlib
2268 - fi
2269 -
2270 - if [[ -n "${have_switched_compiler}" ]] ; then
2271 - # Because we switched active compiler we have to ensure
2272 - # that no unsupported flags are set
2273 - strip-unsupported-flags
2274 - fi
2275 -
2276 - # Ensure we use correct toolchain
2277 - export HOST_CC="$(tc-getBUILD_CC)"
2278 - export HOST_CXX="$(tc-getBUILD_CXX)"
2279 - tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
2280 -
2281 - # Pass the correct toolchain paths through cbindgen
2282 - if tc-is-cross-compiler ; then
2283 - export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
2284 - fi
2285 -
2286 - # Set MOZILLA_FIVE_HOME
2287 - export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
2288 -
2289 - # python/mach/mach/mixin/process.py fails to detect SHELL
2290 - export SHELL="${EPREFIX}/bin/bash"
2291 -
2292 - # Set state path
2293 - export MOZBUILD_STATE_PATH="${BUILD_DIR}"
2294 -
2295 - # Set MOZCONFIG
2296 - export MOZCONFIG="${S}/.mozconfig"
2297 -
2298 - # Initialize MOZCONFIG
2299 - mozconfig_add_options_ac '' --enable-application=browser
2300 -
2301 - # Set Gentoo defaults
2302 - export MOZILLA_OFFICIAL=1
2303 -
2304 - mozconfig_add_options_ac 'Gentoo default' \
2305 - --allow-addon-sideload \
2306 - --disable-cargo-incremental \
2307 - --disable-crashreporter \
2308 - --disable-install-strip \
2309 - --disable-strip \
2310 - --disable-updater \
2311 - --enable-official-branding \
2312 - --enable-release \
2313 - --enable-system-ffi \
2314 - --enable-system-pixman \
2315 - --host="${CBUILD:-${CHOST}}" \
2316 - --libdir="${EPREFIX}/usr/$(get_libdir)" \
2317 - --prefix="${EPREFIX}/usr" \
2318 - --target="${CHOST}" \
2319 - --without-ccache \
2320 - --with-intl-api \
2321 - --with-libclang-path="$(llvm-config --libdir)" \
2322 - --with-system-nspr \
2323 - --with-system-nss \
2324 - --with-system-zlib \
2325 - --with-toolchain-prefix="${CHOST}-" \
2326 - --with-unsigned-addon-scopes=app,system \
2327 - --x-includes="${ESYSROOT}/usr/include" \
2328 - --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
2329 -
2330 - # Set update channel
2331 - local update_channel=release
2332 - [[ -n ${MOZ_ESR} ]] && update_channel=esr
2333 - mozconfig_add_options_ac '' --update-channel=${update_channel}
2334 -
2335 - if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
2336 - mozconfig_add_options_ac '' --enable-rust-simd
2337 - fi
2338 -
2339 - if [[ -s "${S}/api-google.key" ]] ; then
2340 - local key_origin="Gentoo default"
2341 - if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
2342 - key_origin="User value"
2343 - fi
2344 -
2345 - mozconfig_add_options_ac "${key_origin}" \
2346 - --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
2347 - else
2348 - einfo "Building without Google API key ..."
2349 - fi
2350 -
2351 - if [[ -s "${S}/api-location.key" ]] ; then
2352 - local key_origin="Gentoo default"
2353 - if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
2354 - key_origin="User value"
2355 - fi
2356 -
2357 - mozconfig_add_options_ac "${key_origin}" \
2358 - --with-google-location-service-api-keyfile="${S}/api-location.key"
2359 - else
2360 - einfo "Building without Location API key ..."
2361 - fi
2362 -
2363 - if [[ -s "${S}/api-mozilla.key" ]] ; then
2364 - local key_origin="Gentoo default"
2365 - if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
2366 - key_origin="User value"
2367 - fi
2368 -
2369 - mozconfig_add_options_ac "${key_origin}" \
2370 - --with-mozilla-api-keyfile="${S}/api-mozilla.key"
2371 - else
2372 - einfo "Building without Mozilla API key ..."
2373 - fi
2374 -
2375 - mozconfig_use_with system-av1
2376 - mozconfig_use_with system-harfbuzz
2377 - mozconfig_use_with system-harfbuzz system-graphite2
2378 - mozconfig_use_with system-icu
2379 - mozconfig_use_with system-jpeg
2380 - mozconfig_use_with system-libevent system-libevent "${ESYSROOT}/usr"
2381 - mozconfig_use_with system-libvpx
2382 - mozconfig_use_with system-png
2383 - mozconfig_use_with system-webp
2384 -
2385 - mozconfig_use_enable dbus
2386 -
2387 - use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
2388 -
2389 - mozconfig_use_enable geckodriver
2390 -
2391 - if use hardened ; then
2392 - mozconfig_add_options_ac "+hardened" --enable-hardening
2393 - append-ldflags "-Wl,-z,relro -Wl,-z,now"
2394 - fi
2395 -
2396 - mozconfig_use_enable jack
2397 -
2398 - mozconfig_use_enable pulseaudio
2399 - # force the deprecated alsa sound code if pulseaudio is disabled
2400 - if use kernel_linux && ! use pulseaudio ; then
2401 - mozconfig_add_options_ac '-pulseaudio' --enable-alsa
2402 - fi
2403 -
2404 - mozconfig_use_enable sndio
2405 -
2406 - mozconfig_use_enable wifi necko-wifi
2407 -
2408 - if use wayland ; then
2409 - mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
2410 - else
2411 - mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
2412 - fi
2413 -
2414 - if use lto ; then
2415 - if use clang ; then
2416 - # Upstream only supports lld when using clang
2417 - mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
2418 -
2419 - mozconfig_add_options_ac '+lto' --enable-lto=cross
2420 - else
2421 - # ld.gold is known to fail:
2422 - # /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
2423 -
2424 - # ThinLTO is currently broken, see bmo#1644409
2425 - mozconfig_add_options_ac '+lto' --enable-lto=full
2426 - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
2427 - fi
2428 -
2429 - if use pgo ; then
2430 - mozconfig_add_options_ac '+pgo' MOZ_PGO=1
2431 -
2432 - if use clang ; then
2433 - # Used in build/pgo/profileserver.py
2434 - export LLVM_PROFDATA="llvm-profdata"
2435 - fi
2436 - fi
2437 - else
2438 - # Avoid auto-magic on linker
2439 - if use clang ; then
2440 - # This is upstream's default
2441 - mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
2442 - else
2443 - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
2444 - fi
2445 - fi
2446 -
2447 - # LTO flag was handled via configure
2448 - filter-flags '-flto*'
2449 -
2450 - mozconfig_use_enable debug
2451 - if use debug ; then
2452 - mozconfig_add_options_ac '+debug' --disable-optimize
2453 - else
2454 - if is-flag '-g*' ; then
2455 - if use clang ; then
2456 - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
2457 - else
2458 - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
2459 - fi
2460 - else
2461 - mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
2462 - fi
2463 -
2464 - if is-flag '-O0' ; then
2465 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
2466 - elif is-flag '-O4' ; then
2467 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
2468 - elif is-flag '-O3' ; then
2469 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
2470 - elif is-flag '-O1' ; then
2471 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
2472 - elif is-flag '-Os' ; then
2473 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
2474 - else
2475 - mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
2476 - fi
2477 - fi
2478 -
2479 - # Debug flag was handled via configure
2480 - filter-flags '-g*'
2481 -
2482 - # Optimization flag was handled via configure
2483 - filter-flags '-O*'
2484 -
2485 - # Modifications to better support ARM, bug #553364
2486 - if use cpu_flags_arm_neon ; then
2487 - mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
2488 -
2489 - if ! tc-is-clang ; then
2490 - # thumb options aren't supported when using clang, bug 666966
2491 - mozconfig_add_options_ac '+cpu_flags_arm_neon' \
2492 - --with-thumb=yes \
2493 - --with-thumb-interwork=no
2494 - fi
2495 - fi
2496 -
2497 - if [[ ${CHOST} == armv*h* ]] ; then
2498 - mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
2499 -
2500 - if ! use system-libvpx ; then
2501 - sed -i \
2502 - -e "s|softfp|hard|" \
2503 - "${S}"/media/libvpx/moz.build \
2504 - || die
2505 - fi
2506 - fi
2507 -
2508 - if use clang ; then
2509 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
2510 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
2511 - # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
2512 - local disable_elf_hack=
2513 - if use amd64 ; then
2514 - disable_elf_hack=yes
2515 - elif use x86 ; then
2516 - disable_elf_hack=yes
2517 - elif use arm ; then
2518 - disable_elf_hack=yes
2519 - fi
2520 -
2521 - if [[ -n ${disable_elf_hack} ]] ; then
2522 - mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
2523 - fi
2524 - elif tc-is-gcc ; then
2525 - if ver_test $(gcc-fullversion) -ge 10 ; then
2526 - einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
2527 - append-cxxflags -fno-tree-loop-vectorize
2528 - fi
2529 - fi
2530 -
2531 - # Additional ARCH support
2532 - case "${ARCH}" in
2533 - arm)
2534 - # Reduce the memory requirements for linking
2535 - if use clang ; then
2536 - # Nothing to do
2537 - :;
2538 - elif tc-ld-is-gold || use lto ; then
2539 - append-ldflags -Wl,--no-keep-memory
2540 - else
2541 - append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
2542 - fi
2543 - ;;
2544 - esac
2545 -
2546 - if ! use elibc_glibc ; then
2547 - mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
2548 - fi
2549 -
2550 - # Allow elfhack to work in combination with unstripped binaries
2551 - # when they would normally be larger than 2GiB.
2552 - append-ldflags "-Wl,--compress-debug-sections=zlib"
2553 -
2554 - # Make revdep-rebuild.sh happy; Also required for musl
2555 - append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
2556 -
2557 - # Pass $MAKEOPTS to build system
2558 - export MOZ_MAKE_FLAGS="${MAKEOPTS}"
2559 -
2560 - # Use system's Python environment
2561 - export MACH_USE_SYSTEM_PYTHON=1
2562 - export PIP_NO_CACHE_DIR=off
2563 -
2564 - # Disable notification when build system has finished
2565 - export MOZ_NOSPAM=1
2566 -
2567 - # Portage sets XARGS environment variable to "xargs -r" by default which
2568 - # breaks build system's check_prog() function which doesn't support arguments
2569 - mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
2570 -
2571 - # Set build dir
2572 - mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
2573 -
2574 - # Show flags we will use
2575 - einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
2576 - einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
2577 - einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
2578 - einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
2579 - einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
2580 -
2581 - # Handle EXTRA_CONF and show summary
2582 - local ac opt hash reason
2583 -
2584 - # Apply EXTRA_ECONF entries to $MOZCONFIG
2585 - if [[ -n ${EXTRA_ECONF} ]] ; then
2586 - IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
2587 - for opt in "${ac[@]}"; do
2588 - mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
2589 - done
2590 - fi
2591 -
2592 - echo
2593 - echo "=========================================================="
2594 - echo "Building ${PF} with the following configuration"
2595 - grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
2596 - [[ -z ${hash} || ${hash} == \# ]] \
2597 - || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
2598 - printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
2599 - done
2600 - echo "=========================================================="
2601 - echo
2602 -
2603 - ./mach configure || die
2604 -}
2605 -
2606 -src_compile() {
2607 - local virtx_cmd=
2608 -
2609 - if use pgo ; then
2610 - virtx_cmd=virtx
2611 -
2612 - # Reset and cleanup environment variables used by GNOME/XDG
2613 - gnome2_environment_reset
2614 -
2615 - addpredict /root
2616 - fi
2617 -
2618 - local -x GDK_BACKEND=x11
2619 -
2620 - ${virtx_cmd} ./mach build --verbose \
2621 - || die
2622 -}
2623 -
2624 -src_install() {
2625 - # xpcshell is getting called during install
2626 - pax-mark m \
2627 - "${BUILD_DIR}"/dist/bin/xpcshell \
2628 - "${BUILD_DIR}"/dist/bin/${PN} \
2629 - "${BUILD_DIR}"/dist/bin/plugin-container
2630 -
2631 - DESTDIR="${D}" ./mach install || die
2632 -
2633 - # Upstream cannot ship symlink but we can (bmo#658850)
2634 - rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
2635 - dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
2636 -
2637 - # Don't install llvm-symbolizer from sys-devel/llvm package
2638 - if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
2639 - rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
2640 - fi
2641 -
2642 - # Install policy (currently only used to disable application updates)
2643 - insinto "${MOZILLA_FIVE_HOME}/distribution"
2644 - newins "${FILESDIR}"/distribution.ini distribution.ini
2645 - newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
2646 -
2647 - # Install system-wide preferences
2648 - local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
2649 - insinto "${PREFS_DIR}"
2650 - newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
2651 -
2652 - local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
2653 -
2654 - # Set dictionary path to use system hunspell
2655 - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
2656 - pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
2657 - EOF
2658 -
2659 - # Force hwaccel prefs if USE=hwaccel is enabled
2660 - if use hwaccel ; then
2661 - cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
2662 - >>"${GENTOO_PREFS}" \
2663 - || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
2664 - fi
2665 -
2666 - if ! use gmp-autoupdate ; then
2667 - local plugin
2668 - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
2669 - einfo "Disabling auto-update for ${plugin} plugin ..."
2670 - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
2671 - pref("media.${plugin}.autoupdate", false);
2672 - EOF
2673 - done
2674 - fi
2675 -
2676 - # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
2677 - if use system-harfbuzz ; then
2678 - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
2679 - sticky_pref("gfx.font_rendering.graphite.enabled", true);
2680 - EOF
2681 - fi
2682 -
2683 - # Install language packs
2684 - local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
2685 - if [[ -n "${langpacks}" ]] ; then
2686 - moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
2687 - fi
2688 -
2689 - # Install geckodriver
2690 - if use geckodriver ; then
2691 - einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
2692 - pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
2693 - exeinto "${MOZILLA_FIVE_HOME}"
2694 - doexe "${BUILD_DIR}"/dist/bin/geckodriver
2695 -
2696 - dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
2697 - fi
2698 -
2699 - # Install icons
2700 - local icon_srcdir="${S}/browser/branding/official"
2701 - local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
2702 -
2703 - insinto /usr/share/icons/hicolor/symbolic/apps
2704 - newins "${icon_symbolic_file}" ${PN}-symbolic.svg
2705 -
2706 - local icon size
2707 - for icon in "${icon_srcdir}"/default*.png ; do
2708 - size=${icon%.png}
2709 - size=${size##*/default}
2710 -
2711 - if [[ ${size} -eq 48 ]] ; then
2712 - newicon "${icon}" ${PN}.png
2713 - fi
2714 -
2715 - newicon -s ${size} "${icon}" ${PN}.png
2716 - done
2717 -
2718 - # Install menu
2719 - local app_name="Mozilla ${MOZ_PN^}"
2720 - local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
2721 - local desktop_filename="${PN}.desktop"
2722 - local exec_command="${PN}"
2723 - local icon="${PN}"
2724 - local use_wayland="false"
2725 -
2726 - if use wayland ; then
2727 - use_wayland="true"
2728 - fi
2729 -
2730 - cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
2731 -
2732 - sed -i \
2733 - -e "s:@NAME@:${app_name}:" \
2734 - -e "s:@EXEC@:${exec_command}:" \
2735 - -e "s:@ICON@:${icon}:" \
2736 - "${WORKDIR}/${PN}.desktop-template" \
2737 - || die
2738 -
2739 - newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
2740 -
2741 - rm "${WORKDIR}/${PN}.desktop-template" || die
2742 -
2743 - # Install wrapper script
2744 - [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
2745 - newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
2746 -
2747 - # Update wrapper
2748 - sed -i \
2749 - -e "s:@PREFIX@:${EPREFIX}/usr:" \
2750 - -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
2751 - -e "s:@APULSELIB_DIR@:${apulselib}:" \
2752 - -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
2753 - "${ED}/usr/bin/${PN}" \
2754 - || die
2755 -}
2756 -
2757 -pkg_preinst() {
2758 - xdg_pkg_preinst
2759 -
2760 - # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
2761 - # does not need to be forced into the LD_LIBRARY_PATH
2762 - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
2763 - einfo "APULSE found; Generating library symlinks for sound support ..."
2764 - local lib
2765 - pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
2766 - for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
2767 - # A quickpkg rolled by hand will grab symlinks as part of the package,
2768 - # so we need to avoid creating them if they already exist.
2769 - if [[ ! -L ${lib##*/} ]] ; then
2770 - ln -s "${lib}" ${lib##*/} || die
2771 - fi
2772 - done
2773 - popd &>/dev/null || die
2774 - fi
2775 -}
2776 -
2777 -pkg_postinst() {
2778 - xdg_pkg_postinst
2779 -
2780 - if ! use gmp-autoupdate ; then
2781 - elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
2782 - elog "installing into new profiles:"
2783 - local plugin
2784 - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
2785 - elog "\t ${plugin}"
2786 - done
2787 - elog
2788 - fi
2789 -
2790 - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
2791 - elog "Apulse was detected at merge time on this system and so it will always be"
2792 - elog "used for sound. If you wish to use pulseaudio instead please unmerge"
2793 - elog "media-sound/apulse."
2794 - elog
2795 - fi
2796 -
2797 - local show_doh_information
2798 - local show_normandy_information
2799 - local show_shortcut_information
2800 -
2801 - if [[ -z "${REPLACING_VERSIONS}" ]] ; then
2802 - # New install; Tell user that DoH is disabled by default
2803 - show_doh_information=yes
2804 - show_normandy_information=yes
2805 - show_shortcut_information=no
2806 - else
2807 - local replacing_version
2808 - for replacing_version in ${REPLACING_VERSIONS} ; do
2809 - if ver_test "${replacing_version}" -lt 91.0 ; then
2810 - # Tell user that we no longer install a shortcut
2811 - # per supported display protocol
2812 - show_shortcut_information=yes
2813 - fi
2814 - done
2815 - fi
2816 -
2817 - if [[ -n "${show_doh_information}" ]] ; then
2818 - elog
2819 - elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
2820 - elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
2821 - elog "DNS traffic to Cloudflare by default is not a good idea and applications"
2822 - elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
2823 - elog "(\"Off by choice\") by default."
2824 - elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
2825 - fi
2826 -
2827 - # bug 713782
2828 - if [[ -n "${show_normandy_information}" ]] ; then
2829 - elog
2830 - elog "Upstream operates a service named Normandy which allows Mozilla to"
2831 - elog "push changes for default settings or even install new add-ons remotely."
2832 - elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
2833 - elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
2834 - elog "concerns prevail, which is why we have switched off the use of this"
2835 - elog "service by default."
2836 - elog
2837 - elog "To re-enable this service set"
2838 - elog
2839 - elog " app.normandy.enabled=true"
2840 - elog
2841 - elog "in about:config."
2842 - fi
2843 -
2844 - if [[ -n "${show_shortcut_information}" ]] ; then
2845 - elog
2846 - elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
2847 - elog "each supported display protocol. Instead we will only install"
2848 - elog "one generic Mozilla ${PN^} shortcut."
2849 - elog "If you still want to be able to select between running Mozilla ${PN^}"
2850 - elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
2851 - fi
2852 -}
2853
2854 diff --git a/www-client/firefox/firefox-91.9.1.ebuild b/www-client/firefox/firefox-91.9.1.ebuild
2855 deleted file mode 100644
2856 index 115056d4311c..000000000000
2857 --- a/www-client/firefox/firefox-91.9.1.ebuild
2858 +++ /dev/null
2859 @@ -1,1244 +0,0 @@
2860 -# Copyright 1999-2022 Gentoo Authors
2861 -# Distributed under the terms of the GNU General Public License v2
2862 -
2863 -EAPI="7"
2864 -
2865 -FIREFOX_PATCHSET="firefox-91esr-patches-06j.tar.xz"
2866 -
2867 -LLVM_MAX_SLOT=14
2868 -
2869 -PYTHON_COMPAT=( python3_{8..10} )
2870 -PYTHON_REQ_USE="ncurses,sqlite,ssl"
2871 -
2872 -WANT_AUTOCONF="2.1"
2873 -
2874 -VIRTUALX_REQUIRED="pgo"
2875 -
2876 -MOZ_ESR=yes
2877 -
2878 -MOZ_PV=${PV}
2879 -MOZ_PV_SUFFIX=
2880 -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
2881 - MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
2882 -
2883 - # Convert the ebuild version to the upstream Mozilla version
2884 - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
2885 - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
2886 - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
2887 -fi
2888 -
2889 -if [[ -n ${MOZ_ESR} ]] ; then
2890 - # ESR releases have slightly different version numbers
2891 - MOZ_PV="${MOZ_PV}esr"
2892 -fi
2893 -
2894 -MOZ_PN="${PN%-bin}"
2895 -MOZ_P="${MOZ_PN}-${MOZ_PV}"
2896 -MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
2897 -MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
2898 -
2899 -inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
2900 - llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
2901 - virtualx xdg
2902 -
2903 -MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
2904 -
2905 -if [[ ${PV} == *_rc* ]] ; then
2906 - MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
2907 -fi
2908 -
2909 -PATCH_URIS=(
2910 - https://dev.gentoo.org/~{juippis,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
2911 -)
2912 -
2913 -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
2914 - ${PATCH_URIS[@]}"
2915 -
2916 -DESCRIPTION="Firefox Web Browser"
2917 -HOMEPAGE="https://www.mozilla.com/firefox"
2918 -
2919 -KEYWORDS="amd64 ~arm64 ~ppc64 x86"
2920 -
2921 -SLOT="esr"
2922 -LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
2923 -
2924 -IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
2925 -IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux"
2926 -IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png +system-webp"
2927 -IUSE+=" wayland wifi"
2928 -
2929 -# Firefox-only IUSE
2930 -IUSE+=" geckodriver"
2931 -IUSE+=" +gmp-autoupdate"
2932 -IUSE+=" screencast"
2933 -
2934 -REQUIRED_USE="debug? ( !system-av1 )
2935 - pgo? ( lto )
2936 - wifi? ( dbus )"
2937 -
2938 -# Firefox-only REQUIRED_USE flags
2939 -REQUIRED_USE+=" screencast? ( wayland )"
2940 -
2941 -BDEPEND="${PYTHON_DEPS}
2942 - app-arch/unzip
2943 - app-arch/zip
2944 - >=dev-util/cbindgen-0.19.0
2945 - >=net-libs/nodejs-10.23.1
2946 - virtual/pkgconfig
2947 - >=virtual/rust-1.51.0
2948 - || (
2949 - (
2950 - sys-devel/clang:14
2951 - sys-devel/llvm:14
2952 - clang? (
2953 - =sys-devel/lld-14*
2954 - pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] )
2955 - sys-devel/clang:14
2956 - )
2957 - )
2958 - (
2959 - sys-devel/clang:13
2960 - sys-devel/llvm:13
2961 - clang? (
2962 - =sys-devel/lld-13*
2963 - pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
2964 - )
2965 - )
2966 - (
2967 - sys-devel/clang:12
2968 - sys-devel/llvm:12
2969 - clang? (
2970 - =sys-devel/lld-12*
2971 - pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
2972 - )
2973 - )
2974 - )
2975 - amd64? ( >=dev-lang/nasm-2.13 )
2976 - x86? ( >=dev-lang/nasm-2.13 )"
2977 -
2978 -COMMON_DEPEND="
2979 - >=dev-libs/nss-3.68
2980 - >=dev-libs/nspr-4.32
2981 - dev-libs/atk
2982 - dev-libs/expat
2983 - >=x11-libs/cairo-1.10[X]
2984 - >=x11-libs/gtk+-3.4.0:3[X]
2985 - x11-libs/gdk-pixbuf
2986 - >=x11-libs/pango-1.22.0
2987 - >=media-libs/mesa-10.2:*
2988 - media-libs/fontconfig
2989 - >=media-libs/freetype-2.4.10
2990 - kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
2991 - virtual/freedesktop-icon-theme
2992 - >=x11-libs/pixman-0.19.2
2993 - >=dev-libs/glib-2.26:2
2994 - >=sys-libs/zlib-1.2.3
2995 - >=dev-libs/libffi-3.0.10:=
2996 - media-video/ffmpeg
2997 - x11-libs/libX11
2998 - x11-libs/libxcb:=
2999 - x11-libs/libXcomposite
3000 - x11-libs/libXdamage
3001 - x11-libs/libXext
3002 - x11-libs/libXfixes
3003 - x11-libs/libXrender
3004 - x11-libs/libXt
3005 - dbus? (
3006 - sys-apps/dbus
3007 - dev-libs/dbus-glib
3008 - )
3009 - screencast? ( media-video/pipewire:= )
3010 - system-av1? (
3011 - >=media-libs/dav1d-0.8.1:=
3012 - >=media-libs/libaom-1.0.0:=
3013 - )
3014 - system-harfbuzz? (
3015 - >=media-libs/harfbuzz-2.8.1:0=
3016 - >=media-gfx/graphite2-1.3.13
3017 - )
3018 - system-icu? ( >=dev-libs/icu-69.1:= )
3019 - system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
3020 - system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
3021 - system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
3022 - system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
3023 - system-webp? ( >=media-libs/libwebp-1.1.0:0= )
3024 - wifi? (
3025 - kernel_linux? (
3026 - sys-apps/dbus
3027 - dev-libs/dbus-glib
3028 - net-misc/networkmanager
3029 - )
3030 - )
3031 - jack? ( virtual/jack )
3032 - selinux? ( sec-policy/selinux-mozilla )
3033 - sndio? ( media-sound/sndio )"
3034 -
3035 -RDEPEND="${COMMON_DEPEND}
3036 - !www-client/firefox:0
3037 - !www-client/firefox:rapid
3038 - jack? ( virtual/jack )
3039 - openh264? ( media-libs/openh264:*[plugin] )
3040 - pulseaudio? (
3041 - || (
3042 - media-sound/pulseaudio
3043 - >=media-sound/apulse-0.1.12-r4
3044 - )
3045 - )
3046 - selinux? ( sec-policy/selinux-mozilla )"
3047 -
3048 -DEPEND="${COMMON_DEPEND}
3049 - x11-libs/libICE
3050 - x11-libs/libSM
3051 - pulseaudio? (
3052 - || (
3053 - media-sound/pulseaudio
3054 - >=media-sound/apulse-0.1.12-r4[sdk]
3055 - )
3056 - )
3057 - wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
3058 - amd64? ( virtual/opengl )
3059 - x86? ( virtual/opengl )"
3060 -
3061 -S="${WORKDIR}/${PN}-${PV%_*}"
3062 -
3063 -# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
3064 -# overridden in the enviromnent (advanced hackers only)
3065 -if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
3066 - MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
3067 -fi
3068 -
3069 -llvm_check_deps() {
3070 - if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
3071 - einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
3072 - return 1
3073 - fi
3074 -
3075 - if use clang ; then
3076 - if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
3077 - einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
3078 - return 1
3079 - fi
3080 -
3081 - if use pgo ; then
3082 - if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
3083 - einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
3084 - return 1
3085 - fi
3086 - fi
3087 - fi
3088 -
3089 - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
3090 -}
3091 -
3092 -MOZ_LANGS=(
3093 - af ar ast be bg br ca cak cs cy da de dsb
3094 - el en-CA en-GB en-US es-AR es-ES et eu
3095 - fi fr fy-NL ga-IE gd gl he hr hsb hu
3096 - id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
3097 - pa-IN pl pt-BR pt-PT rm ro ru
3098 - sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
3099 -)
3100 -
3101 -# Firefox-only LANGS
3102 -MOZ_LANGS+=( ach )
3103 -MOZ_LANGS+=( an )
3104 -MOZ_LANGS+=( az )
3105 -MOZ_LANGS+=( bn )
3106 -MOZ_LANGS+=( bs )
3107 -MOZ_LANGS+=( ca-valencia )
3108 -MOZ_LANGS+=( eo )
3109 -MOZ_LANGS+=( es-CL )
3110 -MOZ_LANGS+=( es-MX )
3111 -MOZ_LANGS+=( fa )
3112 -MOZ_LANGS+=( ff )
3113 -MOZ_LANGS+=( gn )
3114 -MOZ_LANGS+=( gu-IN )
3115 -MOZ_LANGS+=( hi-IN )
3116 -MOZ_LANGS+=( hy-AM )
3117 -MOZ_LANGS+=( ia )
3118 -MOZ_LANGS+=( km )
3119 -MOZ_LANGS+=( kn )
3120 -MOZ_LANGS+=( lij )
3121 -MOZ_LANGS+=( mk )
3122 -MOZ_LANGS+=( mr )
3123 -MOZ_LANGS+=( my )
3124 -MOZ_LANGS+=( ne-NP )
3125 -MOZ_LANGS+=( oc )
3126 -MOZ_LANGS+=( sco )
3127 -MOZ_LANGS+=( si )
3128 -MOZ_LANGS+=( son )
3129 -MOZ_LANGS+=( szl )
3130 -MOZ_LANGS+=( ta )
3131 -MOZ_LANGS+=( te )
3132 -MOZ_LANGS+=( tl )
3133 -MOZ_LANGS+=( trs )
3134 -MOZ_LANGS+=( ur )
3135 -MOZ_LANGS+=( xh )
3136 -
3137 -mozilla_set_globals() {
3138 - # https://bugs.gentoo.org/587334
3139 - local MOZ_TOO_REGIONALIZED_FOR_L10N=(
3140 - fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
3141 - )
3142 -
3143 - local lang xflag
3144 - for lang in "${MOZ_LANGS[@]}" ; do
3145 - # en and en_US are handled internally
3146 - if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
3147 - continue
3148 - fi
3149 -
3150 - # strip region subtag if $lang is in the list
3151 - if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
3152 - xflag=${lang%%-*}
3153 - else
3154 - xflag=${lang}
3155 - fi
3156 -
3157 - SRC_URI+=" l10n_${xflag/[_@]/-}? ("
3158 - SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
3159 - SRC_URI+=" )"
3160 - IUSE+=" l10n_${xflag/[_@]/-}"
3161 - done
3162 -}
3163 -mozilla_set_globals
3164 -
3165 -moz_clear_vendor_checksums() {
3166 - debug-print-function ${FUNCNAME} "$@"
3167 -
3168 - if [[ ${#} -ne 1 ]] ; then
3169 - die "${FUNCNAME} requires exact one argument"
3170 - fi
3171 -
3172 - einfo "Clearing cargo checksums for ${1} ..."
3173 -
3174 - sed -i \
3175 - -e 's/\("files":{\)[^}]*/\1/' \
3176 - "${S}"/third_party/rust/${1}/.cargo-checksum.json \
3177 - || die
3178 -}
3179 -
3180 -moz_install_xpi() {
3181 - debug-print-function ${FUNCNAME} "$@"
3182 -
3183 - if [[ ${#} -lt 2 ]] ; then
3184 - die "${FUNCNAME} requires at least two arguments"
3185 - fi
3186 -
3187 - local DESTDIR=${1}
3188 - shift
3189 -
3190 - insinto "${DESTDIR}"
3191 -
3192 - local emid xpi_file xpi_tmp_dir
3193 - for xpi_file in "${@}" ; do
3194 - emid=
3195 - xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
3196 -
3197 - # Unpack XPI
3198 - unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
3199 -
3200 - # Determine extension ID
3201 - if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
3202 - emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
3203 - [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
3204 - elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
3205 - emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
3206 - [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
3207 - else
3208 - die "failed to determine extension id"
3209 - fi
3210 -
3211 - einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
3212 - newins "${xpi_file}" "${emid}.xpi"
3213 - done
3214 -}
3215 -
3216 -mozconfig_add_options_ac() {
3217 - debug-print-function ${FUNCNAME} "$@"
3218 -
3219 - if [[ ${#} -lt 2 ]] ; then
3220 - die "${FUNCNAME} requires at least two arguments"
3221 - fi
3222 -
3223 - local reason=${1}
3224 - shift
3225 -
3226 - local option
3227 - for option in ${@} ; do
3228 - echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
3229 - done
3230 -}
3231 -
3232 -mozconfig_add_options_mk() {
3233 - debug-print-function ${FUNCNAME} "$@"
3234 -
3235 - if [[ ${#} -lt 2 ]] ; then
3236 - die "${FUNCNAME} requires at least two arguments"
3237 - fi
3238 -
3239 - local reason=${1}
3240 - shift
3241 -
3242 - local option
3243 - for option in ${@} ; do
3244 - echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
3245 - done
3246 -}
3247 -
3248 -mozconfig_use_enable() {
3249 - debug-print-function ${FUNCNAME} "$@"
3250 -
3251 - if [[ ${#} -lt 1 ]] ; then
3252 - die "${FUNCNAME} requires at least one arguments"
3253 - fi
3254 -
3255 - local flag=$(use_enable "${@}")
3256 - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
3257 -}
3258 -
3259 -mozconfig_use_with() {
3260 - debug-print-function ${FUNCNAME} "$@"
3261 -
3262 - if [[ ${#} -lt 1 ]] ; then
3263 - die "${FUNCNAME} requires at least one arguments"
3264 - fi
3265 -
3266 - local flag=$(use_with "${@}")
3267 - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
3268 -}
3269 -
3270 -pkg_pretend() {
3271 - if [[ ${MERGE_TYPE} != binary ]] ; then
3272 - if use pgo ; then
3273 - if ! has usersandbox $FEATURES ; then
3274 - die "You must enable usersandbox as X server can not run as root!"
3275 - fi
3276 - fi
3277 -
3278 - # Ensure we have enough disk space to compile
3279 - if use pgo || use lto || use debug ; then
3280 - CHECKREQS_DISK_BUILD="13500M"
3281 - else
3282 - CHECKREQS_DISK_BUILD="6400M"
3283 - fi
3284 -
3285 - check-reqs_pkg_pretend
3286 - fi
3287 -}
3288 -
3289 -pkg_setup() {
3290 - if [[ ${MERGE_TYPE} != binary ]] ; then
3291 - if use pgo ; then
3292 - if ! has userpriv ${FEATURES} ; then
3293 - eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
3294 - fi
3295 - fi
3296 -
3297 - # Ensure we have enough disk space to compile
3298 - if use pgo || use lto || use debug ; then
3299 - CHECKREQS_DISK_BUILD="13500M"
3300 - else
3301 - CHECKREQS_DISK_BUILD="6400M"
3302 - fi
3303 -
3304 - check-reqs_pkg_setup
3305 -
3306 - llvm_pkg_setup
3307 -
3308 - if use clang && use lto ; then
3309 - local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
3310 - [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
3311 - [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
3312 -
3313 - local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
3314 - [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
3315 - [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
3316 -
3317 - if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
3318 - eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
3319 - eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
3320 - eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
3321 - eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
3322 - eerror " - Build ${CATEGORY}/${PN} without USE=lto"
3323 - eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
3324 - eerror " llvm/clang/lld/rust chain depending on your @world updates)"
3325 - die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
3326 - fi
3327 - fi
3328 -
3329 - if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
3330 - && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
3331 - # bug 792705
3332 - eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
3333 - die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
3334 - fi
3335 -
3336 - python-any-r1_pkg_setup
3337 -
3338 - # Avoid PGO profiling problems due to enviroment leakage
3339 - # These should *always* be cleaned up anyway
3340 - unset \
3341 - DBUS_SESSION_BUS_ADDRESS \
3342 - DISPLAY \
3343 - ORBIT_SOCKETDIR \
3344 - SESSION_MANAGER \
3345 - XAUTHORITY \
3346 - XDG_CACHE_HOME \
3347 - XDG_SESSION_COOKIE
3348 -
3349 - # Build system is using /proc/self/oom_score_adj, bug #604394
3350 - addpredict /proc/self/oom_score_adj
3351 -
3352 - if use pgo ; then
3353 - # Allow access to GPU during PGO run
3354 - local ati_cards mesa_cards nvidia_cards render_cards
3355 - shopt -s nullglob
3356 -
3357 - ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
3358 - if [[ -n "${ati_cards}" ]] ; then
3359 - addpredict "${ati_cards}"
3360 - fi
3361 -
3362 - mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
3363 - if [[ -n "${mesa_cards}" ]] ; then
3364 - addpredict "${mesa_cards}"
3365 - fi
3366 -
3367 - nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
3368 - if [[ -n "${nvidia_cards}" ]] ; then
3369 - addpredict "${nvidia_cards}"
3370 - fi
3371 -
3372 - render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
3373 - if [[ -n "${render_cards}" ]] ; then
3374 - addpredict "${render_cards}"
3375 - fi
3376 -
3377 - shopt -u nullglob
3378 - fi
3379 -
3380 - if ! mountpoint -q /dev/shm ; then
3381 - # If /dev/shm is not available, configure is known to fail with
3382 - # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
3383 - ewarn "/dev/shm is not mounted -- expect build failures!"
3384 - fi
3385 -
3386 - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
3387 - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
3388 - # get your own set of keys.
3389 - if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
3390 - MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
3391 - fi
3392 -
3393 - if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
3394 - MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
3395 - fi
3396 -
3397 - # Mozilla API keys (see https://location.services.mozilla.com/api)
3398 - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
3399 - # get your own set of keys.
3400 - if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
3401 - MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
3402 - fi
3403 -
3404 - # Ensure we use C locale when building, bug #746215
3405 - export LC_ALL=C
3406 - fi
3407 -
3408 - CONFIG_CHECK="~SECCOMP"
3409 - WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
3410 - linux-info_pkg_setup
3411 -}
3412 -
3413 -src_unpack() {
3414 - local _lp_dir="${WORKDIR}/language_packs"
3415 - local _src_file
3416 -
3417 - if [[ ! -d "${_lp_dir}" ]] ; then
3418 - mkdir "${_lp_dir}" || die
3419 - fi
3420 -
3421 - for _src_file in ${A} ; do
3422 - if [[ ${_src_file} == *.xpi ]]; then
3423 - cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
3424 - else
3425 - unpack ${_src_file}
3426 - fi
3427 - done
3428 -}
3429 -
3430 -src_prepare() {
3431 - if use lto; then
3432 - rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
3433 - fi
3434 -
3435 - if use system-av1 && has_version "<media-libs/dav1d-1.0.0"; then
3436 - rm -v "${WORKDIR}"/firefox-patches/0033-bgo-835788-dav1d-1.0.0-support.patch || die
3437 - elog "<media-libs/dav1d-1.0.0 detected, removing 1.0.0 compat patch."
3438 - elif ! use system-av1; then
3439 - rm -v "${WORKDIR}"/firefox-patches/0033-bgo-835788-dav1d-1.0.0-support.patch || die
3440 - elog "-system-av1 USE flag detected, removing 1.0.0 compat patch."
3441 - fi
3442 -
3443 - eapply "${WORKDIR}/firefox-patches"
3444 -
3445 - # Allow user to apply any additional patches without modifing ebuild
3446 - eapply_user
3447 -
3448 - # Make cargo respect MAKEOPTS
3449 - export CARGO_BUILD_JOBS="$(makeopts_jobs)"
3450 -
3451 - # Make LTO respect MAKEOPTS
3452 - sed -i \
3453 - -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
3454 - "${S}"/build/moz.configure/lto-pgo.configure \
3455 - || die "sed failed to set num_cores"
3456 -
3457 - # Make ICU respect MAKEOPTS
3458 - sed -i \
3459 - -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
3460 - "${S}"/intl/icu_sources_data.py \
3461 - || die "sed failed to set num_cores"
3462 -
3463 - # sed-in toolchain prefix
3464 - sed -i \
3465 - -e "s/objdump/${CHOST}-objdump/" \
3466 - "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
3467 - || die "sed failed to set toolchain prefix"
3468 -
3469 - sed -i \
3470 - -e 's/ccache_stats = None/return None/' \
3471 - "${S}"/python/mozbuild/mozbuild/controller/building.py \
3472 - || die "sed failed to disable ccache stats call"
3473 -
3474 - einfo "Removing pre-built binaries ..."
3475 - find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
3476 -
3477 - # Clearing checksums where we have applied patches
3478 - moz_clear_vendor_checksums target-lexicon-0.9.0
3479 -
3480 - # Create build dir
3481 - BUILD_DIR="${WORKDIR}/${PN}_build"
3482 - mkdir -p "${BUILD_DIR}" || die
3483 -
3484 - # Write API keys to disk
3485 - echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
3486 - echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
3487 - echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
3488 -
3489 - xdg_src_prepare
3490 -}
3491 -
3492 -src_configure() {
3493 - # Show flags set at the beginning
3494 - einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
3495 - einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
3496 - einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
3497 - einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
3498 - einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
3499 -
3500 - local have_switched_compiler=
3501 - if use clang && ! tc-is-clang ; then
3502 - # Force clang
3503 - einfo "Enforcing the use of clang due to USE=clang ..."
3504 - have_switched_compiler=yes
3505 - AR=llvm-ar
3506 - CC=${CHOST}-clang
3507 - CXX=${CHOST}-clang++
3508 - NM=llvm-nm
3509 - RANLIB=llvm-ranlib
3510 - elif ! use clang && ! tc-is-gcc ; then
3511 - # Force gcc
3512 - have_switched_compiler=yes
3513 - einfo "Enforcing the use of gcc due to USE=-clang ..."
3514 - AR=gcc-ar
3515 - CC=${CHOST}-gcc
3516 - CXX=${CHOST}-g++
3517 - NM=gcc-nm
3518 - RANLIB=gcc-ranlib
3519 - fi
3520 -
3521 - if [[ -n "${have_switched_compiler}" ]] ; then
3522 - # Because we switched active compiler we have to ensure
3523 - # that no unsupported flags are set
3524 - strip-unsupported-flags
3525 - fi
3526 -
3527 - # Ensure we use correct toolchain
3528 - export HOST_CC="$(tc-getBUILD_CC)"
3529 - export HOST_CXX="$(tc-getBUILD_CXX)"
3530 - tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
3531 -
3532 - # Pass the correct toolchain paths through cbindgen
3533 - if tc-is-cross-compiler ; then
3534 - export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
3535 - fi
3536 -
3537 - # Set MOZILLA_FIVE_HOME
3538 - export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
3539 -
3540 - # python/mach/mach/mixin/process.py fails to detect SHELL
3541 - export SHELL="${EPREFIX}/bin/bash"
3542 -
3543 - # Set state path
3544 - export MOZBUILD_STATE_PATH="${BUILD_DIR}"
3545 -
3546 - # Set MOZCONFIG
3547 - export MOZCONFIG="${S}/.mozconfig"
3548 -
3549 - # Initialize MOZCONFIG
3550 - mozconfig_add_options_ac '' --enable-application=browser
3551 -
3552 - # Set Gentoo defaults
3553 - export MOZILLA_OFFICIAL=1
3554 -
3555 - mozconfig_add_options_ac 'Gentoo default' \
3556 - --allow-addon-sideload \
3557 - --disable-cargo-incremental \
3558 - --disable-crashreporter \
3559 - --disable-install-strip \
3560 - --disable-strip \
3561 - --disable-updater \
3562 - --enable-official-branding \
3563 - --enable-release \
3564 - --enable-system-ffi \
3565 - --enable-system-pixman \
3566 - --host="${CBUILD:-${CHOST}}" \
3567 - --libdir="${EPREFIX}/usr/$(get_libdir)" \
3568 - --prefix="${EPREFIX}/usr" \
3569 - --target="${CHOST}" \
3570 - --without-ccache \
3571 - --with-intl-api \
3572 - --with-libclang-path="$(llvm-config --libdir)" \
3573 - --with-system-nspr \
3574 - --with-system-nss \
3575 - --with-system-zlib \
3576 - --with-toolchain-prefix="${CHOST}-" \
3577 - --with-unsigned-addon-scopes=app,system \
3578 - --x-includes="${ESYSROOT}/usr/include" \
3579 - --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
3580 -
3581 - # Set update channel
3582 - local update_channel=release
3583 - [[ -n ${MOZ_ESR} ]] && update_channel=esr
3584 - mozconfig_add_options_ac '' --update-channel=${update_channel}
3585 -
3586 - if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
3587 - mozconfig_add_options_ac '' --enable-rust-simd
3588 - fi
3589 -
3590 - if [[ -s "${S}/api-google.key" ]] ; then
3591 - local key_origin="Gentoo default"
3592 - if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
3593 - key_origin="User value"
3594 - fi
3595 -
3596 - mozconfig_add_options_ac "${key_origin}" \
3597 - --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
3598 - else
3599 - einfo "Building without Google API key ..."
3600 - fi
3601 -
3602 - if [[ -s "${S}/api-location.key" ]] ; then
3603 - local key_origin="Gentoo default"
3604 - if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
3605 - key_origin="User value"
3606 - fi
3607 -
3608 - mozconfig_add_options_ac "${key_origin}" \
3609 - --with-google-location-service-api-keyfile="${S}/api-location.key"
3610 - else
3611 - einfo "Building without Location API key ..."
3612 - fi
3613 -
3614 - if [[ -s "${S}/api-mozilla.key" ]] ; then
3615 - local key_origin="Gentoo default"
3616 - if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
3617 - key_origin="User value"
3618 - fi
3619 -
3620 - mozconfig_add_options_ac "${key_origin}" \
3621 - --with-mozilla-api-keyfile="${S}/api-mozilla.key"
3622 - else
3623 - einfo "Building without Mozilla API key ..."
3624 - fi
3625 -
3626 - mozconfig_use_with system-av1
3627 - mozconfig_use_with system-harfbuzz
3628 - mozconfig_use_with system-harfbuzz system-graphite2
3629 - mozconfig_use_with system-icu
3630 - mozconfig_use_with system-jpeg
3631 - mozconfig_use_with system-libevent system-libevent "${ESYSROOT}/usr"
3632 - mozconfig_use_with system-libvpx
3633 - mozconfig_use_with system-png
3634 - mozconfig_use_with system-webp
3635 -
3636 - mozconfig_use_enable dbus
3637 -
3638 - use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
3639 -
3640 - mozconfig_use_enable geckodriver
3641 -
3642 - if use hardened ; then
3643 - mozconfig_add_options_ac "+hardened" --enable-hardening
3644 - append-ldflags "-Wl,-z,relro -Wl,-z,now"
3645 - fi
3646 -
3647 - mozconfig_use_enable jack
3648 -
3649 - mozconfig_use_enable pulseaudio
3650 - # force the deprecated alsa sound code if pulseaudio is disabled
3651 - if use kernel_linux && ! use pulseaudio ; then
3652 - mozconfig_add_options_ac '-pulseaudio' --enable-alsa
3653 - fi
3654 -
3655 - mozconfig_use_enable sndio
3656 -
3657 - mozconfig_use_enable wifi necko-wifi
3658 -
3659 - if use wayland ; then
3660 - mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
3661 - else
3662 - mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
3663 - fi
3664 -
3665 - if use lto ; then
3666 - if use clang ; then
3667 - # Upstream only supports lld when using clang
3668 - mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
3669 -
3670 - mozconfig_add_options_ac '+lto' --enable-lto=cross
3671 - else
3672 - # ld.gold is known to fail:
3673 - # /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
3674 -
3675 - # ThinLTO is currently broken, see bmo#1644409
3676 - mozconfig_add_options_ac '+lto' --enable-lto=full
3677 - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
3678 - fi
3679 -
3680 - if use pgo ; then
3681 - mozconfig_add_options_ac '+pgo' MOZ_PGO=1
3682 -
3683 - if use clang ; then
3684 - # Used in build/pgo/profileserver.py
3685 - export LLVM_PROFDATA="llvm-profdata"
3686 - fi
3687 - fi
3688 - else
3689 - # Avoid auto-magic on linker
3690 - if use clang ; then
3691 - # This is upstream's default
3692 - mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
3693 - else
3694 - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
3695 - fi
3696 - fi
3697 -
3698 - # LTO flag was handled via configure
3699 - filter-flags '-flto*'
3700 -
3701 - mozconfig_use_enable debug
3702 - if use debug ; then
3703 - mozconfig_add_options_ac '+debug' --disable-optimize
3704 - else
3705 - if is-flag '-g*' ; then
3706 - if use clang ; then
3707 - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
3708 - else
3709 - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
3710 - fi
3711 - else
3712 - mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
3713 - fi
3714 -
3715 - if is-flag '-O0' ; then
3716 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
3717 - elif is-flag '-O4' ; then
3718 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
3719 - elif is-flag '-O3' ; then
3720 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
3721 - elif is-flag '-O1' ; then
3722 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
3723 - elif is-flag '-Os' ; then
3724 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
3725 - else
3726 - mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
3727 - fi
3728 - fi
3729 -
3730 - # Debug flag was handled via configure
3731 - filter-flags '-g*'
3732 -
3733 - # Optimization flag was handled via configure
3734 - filter-flags '-O*'
3735 -
3736 - # Modifications to better support ARM, bug #553364
3737 - if use cpu_flags_arm_neon ; then
3738 - mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
3739 -
3740 - if ! tc-is-clang ; then
3741 - # thumb options aren't supported when using clang, bug 666966
3742 - mozconfig_add_options_ac '+cpu_flags_arm_neon' \
3743 - --with-thumb=yes \
3744 - --with-thumb-interwork=no
3745 - fi
3746 - fi
3747 -
3748 - if [[ ${CHOST} == armv*h* ]] ; then
3749 - mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
3750 -
3751 - if ! use system-libvpx ; then
3752 - sed -i \
3753 - -e "s|softfp|hard|" \
3754 - "${S}"/media/libvpx/moz.build \
3755 - || die
3756 - fi
3757 - fi
3758 -
3759 - if use clang ; then
3760 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
3761 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
3762 - # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
3763 - local disable_elf_hack=
3764 - if use amd64 ; then
3765 - disable_elf_hack=yes
3766 - elif use x86 ; then
3767 - disable_elf_hack=yes
3768 - elif use arm ; then
3769 - disable_elf_hack=yes
3770 - fi
3771 -
3772 - if [[ -n ${disable_elf_hack} ]] ; then
3773 - mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
3774 - fi
3775 - elif tc-is-gcc ; then
3776 - if ver_test $(gcc-fullversion) -ge 10 ; then
3777 - einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
3778 - append-cxxflags -fno-tree-loop-vectorize
3779 - fi
3780 - fi
3781 -
3782 - # Additional ARCH support
3783 - case "${ARCH}" in
3784 - arm)
3785 - # Reduce the memory requirements for linking
3786 - if use clang ; then
3787 - # Nothing to do
3788 - :;
3789 - elif tc-ld-is-gold || use lto ; then
3790 - append-ldflags -Wl,--no-keep-memory
3791 - else
3792 - append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
3793 - fi
3794 - ;;
3795 - esac
3796 -
3797 - if ! use elibc_glibc ; then
3798 - mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
3799 - fi
3800 -
3801 - # Allow elfhack to work in combination with unstripped binaries
3802 - # when they would normally be larger than 2GiB.
3803 - append-ldflags "-Wl,--compress-debug-sections=zlib"
3804 -
3805 - # Make revdep-rebuild.sh happy; Also required for musl
3806 - append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
3807 -
3808 - # Pass $MAKEOPTS to build system
3809 - export MOZ_MAKE_FLAGS="${MAKEOPTS}"
3810 -
3811 - # Use system's Python environment
3812 - export MACH_USE_SYSTEM_PYTHON=1
3813 - export PIP_NO_CACHE_DIR=off
3814 -
3815 - # Disable notification when build system has finished
3816 - export MOZ_NOSPAM=1
3817 -
3818 - # Portage sets XARGS environment variable to "xargs -r" by default which
3819 - # breaks build system's check_prog() function which doesn't support arguments
3820 - mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
3821 -
3822 - # Set build dir
3823 - mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
3824 -
3825 - # Show flags we will use
3826 - einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
3827 - einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
3828 - einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
3829 - einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
3830 - einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
3831 -
3832 - # Handle EXTRA_CONF and show summary
3833 - local ac opt hash reason
3834 -
3835 - # Apply EXTRA_ECONF entries to $MOZCONFIG
3836 - if [[ -n ${EXTRA_ECONF} ]] ; then
3837 - IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
3838 - for opt in "${ac[@]}"; do
3839 - mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
3840 - done
3841 - fi
3842 -
3843 - echo
3844 - echo "=========================================================="
3845 - echo "Building ${PF} with the following configuration"
3846 - grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
3847 - [[ -z ${hash} || ${hash} == \# ]] \
3848 - || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
3849 - printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
3850 - done
3851 - echo "=========================================================="
3852 - echo
3853 -
3854 - ./mach configure || die
3855 -}
3856 -
3857 -src_compile() {
3858 - local virtx_cmd=
3859 -
3860 - if use pgo ; then
3861 - virtx_cmd=virtx
3862 -
3863 - # Reset and cleanup environment variables used by GNOME/XDG
3864 - gnome2_environment_reset
3865 -
3866 - addpredict /root
3867 - fi
3868 -
3869 - local -x GDK_BACKEND=x11
3870 -
3871 - ${virtx_cmd} ./mach build --verbose \
3872 - || die
3873 -}
3874 -
3875 -src_install() {
3876 - # xpcshell is getting called during install
3877 - pax-mark m \
3878 - "${BUILD_DIR}"/dist/bin/xpcshell \
3879 - "${BUILD_DIR}"/dist/bin/${PN} \
3880 - "${BUILD_DIR}"/dist/bin/plugin-container
3881 -
3882 - DESTDIR="${D}" ./mach install || die
3883 -
3884 - # Upstream cannot ship symlink but we can (bmo#658850)
3885 - rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
3886 - dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
3887 -
3888 - # Don't install llvm-symbolizer from sys-devel/llvm package
3889 - if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
3890 - rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
3891 - fi
3892 -
3893 - # Install policy (currently only used to disable application updates)
3894 - insinto "${MOZILLA_FIVE_HOME}/distribution"
3895 - newins "${FILESDIR}"/distribution.ini distribution.ini
3896 - newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
3897 -
3898 - # Install system-wide preferences
3899 - local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
3900 - insinto "${PREFS_DIR}"
3901 - newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
3902 -
3903 - local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
3904 -
3905 - # Set dictionary path to use system hunspell
3906 - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
3907 - pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
3908 - EOF
3909 -
3910 - # Force hwaccel prefs if USE=hwaccel is enabled
3911 - if use hwaccel ; then
3912 - cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
3913 - >>"${GENTOO_PREFS}" \
3914 - || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
3915 - fi
3916 -
3917 - if ! use gmp-autoupdate ; then
3918 - local plugin
3919 - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
3920 - einfo "Disabling auto-update for ${plugin} plugin ..."
3921 - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
3922 - pref("media.${plugin}.autoupdate", false);
3923 - EOF
3924 - done
3925 - fi
3926 -
3927 - # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
3928 - if use system-harfbuzz ; then
3929 - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
3930 - sticky_pref("gfx.font_rendering.graphite.enabled", true);
3931 - EOF
3932 - fi
3933 -
3934 - # Install language packs
3935 - local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
3936 - if [[ -n "${langpacks}" ]] ; then
3937 - moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
3938 - fi
3939 -
3940 - # Install geckodriver
3941 - if use geckodriver ; then
3942 - einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
3943 - pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
3944 - exeinto "${MOZILLA_FIVE_HOME}"
3945 - doexe "${BUILD_DIR}"/dist/bin/geckodriver
3946 -
3947 - dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
3948 - fi
3949 -
3950 - # Install icons
3951 - local icon_srcdir="${S}/browser/branding/official"
3952 - local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
3953 -
3954 - insinto /usr/share/icons/hicolor/symbolic/apps
3955 - newins "${icon_symbolic_file}" ${PN}-symbolic.svg
3956 -
3957 - local icon size
3958 - for icon in "${icon_srcdir}"/default*.png ; do
3959 - size=${icon%.png}
3960 - size=${size##*/default}
3961 -
3962 - if [[ ${size} -eq 48 ]] ; then
3963 - newicon "${icon}" ${PN}.png
3964 - fi
3965 -
3966 - newicon -s ${size} "${icon}" ${PN}.png
3967 - done
3968 -
3969 - # Install menu
3970 - local app_name="Mozilla ${MOZ_PN^}"
3971 - local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
3972 - local desktop_filename="${PN}.desktop"
3973 - local exec_command="${PN}"
3974 - local icon="${PN}"
3975 - local use_wayland="false"
3976 -
3977 - if use wayland ; then
3978 - use_wayland="true"
3979 - fi
3980 -
3981 - cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
3982 -
3983 - sed -i \
3984 - -e "s:@NAME@:${app_name}:" \
3985 - -e "s:@EXEC@:${exec_command}:" \
3986 - -e "s:@ICON@:${icon}:" \
3987 - "${WORKDIR}/${PN}.desktop-template" \
3988 - || die
3989 -
3990 - newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
3991 -
3992 - rm "${WORKDIR}/${PN}.desktop-template" || die
3993 -
3994 - # Install wrapper script
3995 - [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
3996 - newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
3997 -
3998 - # Update wrapper
3999 - sed -i \
4000 - -e "s:@PREFIX@:${EPREFIX}/usr:" \
4001 - -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
4002 - -e "s:@APULSELIB_DIR@:${apulselib}:" \
4003 - -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
4004 - "${ED}/usr/bin/${PN}" \
4005 - || die
4006 -}
4007 -
4008 -pkg_preinst() {
4009 - xdg_pkg_preinst
4010 -
4011 - # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
4012 - # does not need to be forced into the LD_LIBRARY_PATH
4013 - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
4014 - einfo "APULSE found; Generating library symlinks for sound support ..."
4015 - local lib
4016 - pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
4017 - for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
4018 - # A quickpkg rolled by hand will grab symlinks as part of the package,
4019 - # so we need to avoid creating them if they already exist.
4020 - if [[ ! -L ${lib##*/} ]] ; then
4021 - ln -s "${lib}" ${lib##*/} || die
4022 - fi
4023 - done
4024 - popd &>/dev/null || die
4025 - fi
4026 -}
4027 -
4028 -pkg_postinst() {
4029 - xdg_pkg_postinst
4030 -
4031 - if ! use gmp-autoupdate ; then
4032 - elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
4033 - elog "installing into new profiles:"
4034 - local plugin
4035 - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
4036 - elog "\t ${plugin}"
4037 - done
4038 - elog
4039 - fi
4040 -
4041 - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
4042 - elog "Apulse was detected at merge time on this system and so it will always be"
4043 - elog "used for sound. If you wish to use pulseaudio instead please unmerge"
4044 - elog "media-sound/apulse."
4045 - elog
4046 - fi
4047 -
4048 - local show_doh_information
4049 - local show_normandy_information
4050 - local show_shortcut_information
4051 -
4052 - if [[ -z "${REPLACING_VERSIONS}" ]] ; then
4053 - # New install; Tell user that DoH is disabled by default
4054 - show_doh_information=yes
4055 - show_normandy_information=yes
4056 - show_shortcut_information=no
4057 - else
4058 - local replacing_version
4059 - for replacing_version in ${REPLACING_VERSIONS} ; do
4060 - if ver_test "${replacing_version}" -lt 91.0 ; then
4061 - # Tell user that we no longer install a shortcut
4062 - # per supported display protocol
4063 - show_shortcut_information=yes
4064 - fi
4065 - done
4066 - fi
4067 -
4068 - if [[ -n "${show_doh_information}" ]] ; then
4069 - elog
4070 - elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
4071 - elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
4072 - elog "DNS traffic to Cloudflare by default is not a good idea and applications"
4073 - elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
4074 - elog "(\"Off by choice\") by default."
4075 - elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
4076 - fi
4077 -
4078 - # bug 713782
4079 - if [[ -n "${show_normandy_information}" ]] ; then
4080 - elog
4081 - elog "Upstream operates a service named Normandy which allows Mozilla to"
4082 - elog "push changes for default settings or even install new add-ons remotely."
4083 - elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
4084 - elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
4085 - elog "concerns prevail, which is why we have switched off the use of this"
4086 - elog "service by default."
4087 - elog
4088 - elog "To re-enable this service set"
4089 - elog
4090 - elog " app.normandy.enabled=true"
4091 - elog
4092 - elog "in about:config."
4093 - fi
4094 -
4095 - if [[ -n "${show_shortcut_information}" ]] ; then
4096 - elog
4097 - elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
4098 - elog "each supported display protocol. Instead we will only install"
4099 - elog "one generic Mozilla ${PN^} shortcut."
4100 - elog "If you still want to be able to select between running Mozilla ${PN^}"
4101 - elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
4102 - fi
4103 -}