From fe1ce172a73468b67dac24f9403116e36d4b72ee Mon Sep 17 00:00:00 2001 From: "Alex Xu (Hello71)" Date: Tue, 28 Jun 2022 16:43:11 -0400 Subject: www-client/firefox: sync --- www-client/firefox/Manifest | 198 ++-- www-client/firefox/firefox-101.0.1-r11.ebuild | 1297 ------------------------ www-client/firefox/firefox-102.0.ebuild | 1298 +++++++++++++++++++++++++ 3 files changed, 1397 insertions(+), 1396 deletions(-) delete mode 100644 www-client/firefox/firefox-101.0.1-r11.ebuild create mode 100644 www-client/firefox/firefox-102.0.ebuild (limited to 'www-client/firefox') diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index da015ef..882056c 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -1,99 +1,99 @@ -DIST firefox-101-patches-08j.tar.xz 40248 BLAKE2B 1dabb91b848b4baa6b1fc20cfaeeb92a7c669369f922a3929b0966d4dd98a0d4445ee3056079a3c33193d8da69780f8ff481160f58ff1216157b4144558d4a98 SHA512 d85203262166554efdcf91a913cf539da4e4443807c7ad756ae7784a738100e9a0e8b51226bfad578455f0d5b13bba2d4782d34d7974e573ccad28033c544da4 -DIST firefox-101.0.1-ach.xpi 443457 BLAKE2B 68a1ebdccbce17eeac8824e63e034f0db706a091b4dea9ce1c14d0b769ad404e36004e89a838ef68bfbc44336125bb3494ade8b076ce38e70ea15b78f394f8e5 SHA512 9ee130d4e96bb73ec2ec01bd75faa2687bcb620727f44e199ee17db3e523254e0a0e8bd8d1813f4eebeb80e575ba20b312677d23a4994aadc6a4d4fb9bbfa5b8 -DIST firefox-101.0.1-af.xpi 413389 BLAKE2B d531c87e3df019cd5ff8e497cb3e74f000d238b65329d4eff72fbe80c2e3052abbaa19bac17d9383df1a2d88e60fa20c9511b1c12ca3fc06fb986db4902da772 SHA512 c9ddeb4ddd6dd8704c17f5dd8bf8ebdb881d88ad1bb1e01737b70ba0efd3374fda0829123afcbfbf98b770be4c281a714fbab2ee30d6fceff3eacbfa398df9db -DIST firefox-101.0.1-an.xpi 487249 BLAKE2B 7d7d6b1b0590940df28b4a432d3909200496e500cce58cefb71393e6778723e71a251fede6470c97bb63b7e66b2c807bd9cf23fe4f790a9ea86c1f4856a48206 SHA512 fa7d675d52d547c7168e402e6a9c4f4687a1b1dd251e8e75ed8d0b7e171960e2762ae42d94d950d1925467b6195141101dd0b662c39919822ff2fdd2a248613f -DIST firefox-101.0.1-ar.xpi 552750 BLAKE2B ad12ce6e550dcd4979b2664f80f7e36b0059ff35430832ffda5e29f6e2eda241f558eda5936ea2682d030b423784907ceb8b066cf477be74dc09d49abdd3c9f7 SHA512 dc8a76c47eb7cb05c8c411da7066820b766d5b7af192c1ee9256479fb268f2d829442133e8073baae2945b6d1892a8c6aa40f1c0cc790819f3e4ef11cee04c6c -DIST firefox-101.0.1-ast.xpi 485914 BLAKE2B e3948117361aa4963b01df83b432130e75b670a075464c59894fbf4b4035ec78cb5030a17709ea9753258d1b2cf430f3488afc60ec5fdae4385d40421d7edd7a SHA512 9777c5922246b3d010652191a90aa5a0be9d0938d0432fe9e3a2819ccf07c7d605ed7eaa1d8e06f103ded77b943afb3a16cd9995040e769fd9e328a5bd5071c8 -DIST firefox-101.0.1-az.xpi 477260 BLAKE2B 0366f231862dfa7441615973f661488862abf11a551c714cabd6e754a33e45a25438f37071b90c9657eeb14b959e87e2986d7715fac70a228589ac9807401b17 SHA512 7b7abffa5a3ab9ec79c061faddb5492233c632061503867fc591ae2438d294ea77838f955d1addb87ef7965533f0990a0e4ae0682079f2775204fb95ca266d82 -DIST firefox-101.0.1-be.xpi 614359 BLAKE2B ac110e7057583c6d8dcce3377cf3ef2b99d404062387889242919c603e5fa454b0c840fcf63f572a560fee1d923e82e38181d436ded155efd4c3c7f00f5c52d4 SHA512 4c16da60999be558aae25004e12a75ce06061efc896ed5f612981b12ec6c293b3b6a8d8d0f732ca9b4686c1a0671d4359e115c4bb2e61ebe61b2d86cc34d2851 -DIST firefox-101.0.1-bg.xpi 558763 BLAKE2B 5af9937802d4ea43497f2101b87d8cc671737ac0c973c396035d0ac5ee332423ce9cfd6d6f9b812c3a0e09df695e48cec41e5f54df87046db9a8ad8aa5849414 SHA512 805966779a30d517f33755c4fee9b16079afd51edac2eabda32a64d718837d2bd47319302fef94e7b85e63ec1bc86a63be308b7f12c1847b5b7ff759d5568432 -DIST firefox-101.0.1-bn.xpi 545251 BLAKE2B de6e023fb1ed7455ada6ebc428b9cbfbaea7c593642a0a9ff2f4870a2f1d5f79b699ba491b8e6a4516070a34a0eb769fcf2d78d992b5caa79771f11d8186aab4 SHA512 b4910642b958b0f5b8dfb3708f973b985039c4cc35932fc6b3d1f0ad24ae2df75457b1d103ba2b39864a651d4a3c0f19301ac29504db7cc7c339c4757382b5a2 -DIST firefox-101.0.1-br.xpi 519308 BLAKE2B ec18b7362563cda585bbc5f5c696b809741d6da2bf05b4b4b551dbff6bdb0a39d59ce90c0714369cda3293f01ad7e66ac8e5ed415a627c0b761d0f133ad96e0a SHA512 df65f9f0cf1bd875ac376b5c6c6e8f2e6db885a88573b6aa40323e09bdc07790164fe01d250975845c83a5f54cf836e3f77a47603d86110b22c75e4da2231fa4 -DIST firefox-101.0.1-bs.xpi 452138 BLAKE2B bad35baff87fc4a07d33567f0bd76a14f211c1bee15d4376b4d7d51866bd5c1408618bfa89f88cf2a05ca47e87d91787ff2ead210cb5deb467a2dc0737caafd8 SHA512 7af3553a7a773bd5c26e16c388b7cd07e097e88937dbee83c3fa8f31463f7845923a62a655aeb4ba7cbb06cc6bcd128ad6c9eb1fed4c76b594cc8f08be01d004 -DIST firefox-101.0.1-ca-valencia.xpi 526520 BLAKE2B fae0b9cd5642a7c1bee467ea8f2b55b46cc093759be0d32f075b1e7c4c177780a3e90492794ecb1acf519c1cfe0cf8ffd43cab97676e295dcf00c46f558cd232 SHA512 4697f74f258b85af0516bd85211438671ffd539462d58d3eac49e535c3a8c0a0d4fff7dac97dabf50f74db77aaccf9d664d534663312288ad65290c18bc0dc05 -DIST firefox-101.0.1-ca.xpi 521443 BLAKE2B a2200d34353e20af691ac336f9eeece6907455498b85bed08d42644c95a7e01fab2b2777efaa87fd170ad81d9066b43e9e6d329b32e12745077454eec4e31ce9 SHA512 94b10a1d80110152304336976dad57681fda31c0776116f4b6bfc8e16d16d8fb14945b470e5ef5eadf4b482a8c63ed705de05939021e837295134d5a14edd218 -DIST firefox-101.0.1-cak.xpi 539976 BLAKE2B e40ea9ed10d864aa18f787388e155560353413e62f4ab4466ebaf41892b1bf9233c17406af43b8ef081708c3c772d69372953143d6d2dff4e6aa8a8a63466c7b SHA512 ded2be93d946de8cc81534612c0f17cc20a9903f8f47fd69a07d3c20b7ed2f59b61a9f06d6223024cfafeecdf9803e8d26572480995569b91b425b34a616c57b -DIST firefox-101.0.1-cs.xpi 557477 BLAKE2B 6883a85ab711c863b8db188f2cc0445f9d9d7842ef80d62f9bc052a149bf7c7307c2672495ea41a0cdc33f3f78664395d0fe4dd6f2f7b80a24255b4e7c5f80f3 SHA512 5416128c4a38da6eeaf14c74754fb09e76af5d1f8dcc8b26f55ccdd024e284fe4dcd3a7c20dfdc14d5c8e3e9a48c0c4e80d7be0c6e6c38f278367bc7a020e084 -DIST firefox-101.0.1-cy.xpi 534442 BLAKE2B f7769a3593c61d28f723231c3e015f022c461b9f42c388c6471734bf70f75dee8643d67b96b1e4e339f49035f41aa06c5f6eca65e79576bbd8622fd4b4c56cf2 SHA512 92e68512f1f7f583de04cf5fe2a5bf095f149e691f5ca29540e53c7e056da45aae973f90519a58b7b9fcd8e3f944a1d719294e72d1d996d6833ab50420b3b36b -DIST firefox-101.0.1-da.xpi 526079 BLAKE2B 4167db60be422b4d3ead0c742528ba8b028ad13ea264cc27fedac2bae0e7c5ec6ed86fd897e9619c9e8e5c7d5e331debd494223c6049826a9df409cfb30039c9 SHA512 29d29eebcb75b5bd0f19fa659af8c839e7307854a597a59b345bf0bcf96217dd9596c24aab056d988b3f5f9b6b32c97e1143b2449d405ffdbd561f22dc0891b0 -DIST firefox-101.0.1-de.xpi 545591 BLAKE2B 339a654ff451eaf95b5607c6e9c9838400b0445e42cbd4d6a5a29922453c509377ac15e8854b0d3a2a0fbf1d2dba498d182aab19627afa531ee3b0de920da815 SHA512 b7e37f20df57c02a2e21221c9cdcdb8945585ffb738598c272f73336309e31f40cdd23c3abcf6b048b759a8807deaed2d5e005426255b5dc8adfe09d2e3b8bdd -DIST firefox-101.0.1-dsb.xpi 558329 BLAKE2B 005d9561273853d9767a5672e17be380c8e650f961ba2b522fd66bf4ff3cfdd65430feff42cbfe0be94cfed72088c23ef1dfebfc3443230c7e59d7d8f08cebe6 SHA512 9c72d94014bf859aecca298cf7278be4ab9682631fe3303ecf8863c5fc82518e4fc468a31ba5c8a8fdeb3627122ed3c54a37621f8a817269d0e1e200f9042c2f -DIST firefox-101.0.1-el.xpi 629456 BLAKE2B 38273ec783d09b7a46cf1d56739d2da87f8abb79412e6e8450441cb96e02b7c4ec90ffdf3440583e6dc6d0d48415a26c33b0af29c05273b9819490fd4bc59ea2 SHA512 1dc5c220cbf829463cf622eb7d28395a6fb68515e9c74ae316b126490901efcaf84bb8c5682c05f207efc54537983e2059f4991e1df9f6236fabda7cadc78f96 -DIST firefox-101.0.1-en-CA.xpi 502217 BLAKE2B edb994ba92fafce6b3153c71f92cb9cdcf1386eaab949f82ed407e19116eb70d75ea248961c54de46c3ee8dd9a716888451fb8ba67d7ac419f9094ecd26911c1 SHA512 c14c0c1c6dd289f2fa2ffb01d4848cdecf2f405494082c690f89d8524950b8ccd9410340a3e7314adce2e8d3d513e315cb8e0315097caaf61cf5b10746ec0250 -DIST firefox-101.0.1-en-GB.xpi 503125 BLAKE2B 08ce3db2d2ae644e563ec42b84df07ec61051b70ae0f484ccd32feb696e8476e881c3ce1a9c1669460823045b8dac0bae577c580f8dc14c587ecc9daa5220c65 SHA512 17fddd7ca3b2364f2e282124b68c725090b8064446767f866dd456e9b77e1b5570d4133d37839b80defbc3e388cf84938a3feaeccbbd65b76e38a9c2a5637715 -DIST firefox-101.0.1-eo.xpi 529043 BLAKE2B 724136c1e18bc0ec99c2dad23f566dbd8e283359f6798be6e0d9ec5cf72eb02af23211867c508dd4c387f41b1680f6e9de447ad8225a324dbe0cba0239f4ebb3 SHA512 7c9a7e10b5aad212c3de8dd5799410fe0b1ff80f3bdaac08c6a8b6927627d56a6a35f278b7dd3283510de37539a69c7f8356653ec3959d0ef33396222f19a510 -DIST firefox-101.0.1-es-AR.xpi 539056 BLAKE2B 18ed1bfbad86c11672ea35f62479c59035f8323ef1f94f7e7eb8ada77382c2db9ac166a53b4e8abf2f1a2d2560df5ad0e8f47db7c8ba5eb237461e0adad7cd78 SHA512 d1d272b84b613540a3385fe3c9228fddf3718ef1de6c63b11f750961d27c3b985fc2c3c906183b175bc5ca2e7d8f51512bbacb97c8eebb0647a16b0df8fa0762 -DIST firefox-101.0.1-es-CL.xpi 538152 BLAKE2B 12c7d172873ebfdfd53c43f73d6aa0148c1d3824048455010054f93f0c00c405aa6e65309ab3b79168af33424cbfcec5cfc6652972e71f2d2e2234d04826921f SHA512 ba27192bd5e696693723f4753758e4a5e6b3f3899eb551f806f84c027390d3a14f074fa2faa3317236c5bc0ec5f2f347ed979c58bf4674d9698f6bf2d7291c0b -DIST firefox-101.0.1-es-ES.xpi 529115 BLAKE2B 033c070fd325992e500f32a791c23f7836e59e4fab53fe1bfebb643d8991b0e3e2bbef12de1169123a28f05f1a0a28deb285bad8322e98b459b2097d306f64df SHA512 3ac7261ea4af4a13c05b21a7b36e187688059ef8407bc9c731202931835c489ecab01b16e149b7effb8112bb05612cdb28ed1ccad748e634f8910000219ce422 -DIST firefox-101.0.1-es-MX.xpi 542146 BLAKE2B 1ad797c168ce6292c3562968446ffd60d4a58e11745b26d15184170363038d632e7f85854c8691a1fdea6a2f8c249dc0d9ec086508356c0e3213049f8a79e7d5 SHA512 0294e7f9b9f89c2cab0b2494da9369f51755934b1768caf97fb8fc19afe00181808c9a4b826bbb974d4679db196cf465f7b8cf66325affaababb4af92efb036f -DIST firefox-101.0.1-et.xpi 520745 BLAKE2B fabe897d39e45a827cabbd05d38ac75279fd6b47002aacd9f94e659c577f50d358fc4b122292e5513c06b02967d1b5b621a7a2e1f6fe2f29f9dc3a0fcc1519de SHA512 9110b812fffaa00e8ad98c68a1ea872a60d9749082e543f04dee75982403f16a99ad89a315a1ca55dc80f1aa21e00b62a8a44eb3711fb46a600f12bc2f43d95a -DIST firefox-101.0.1-eu.xpi 527791 BLAKE2B 92adec2270f666d4c271a6245d4d03ac5b9215c231dc473365d4e901b5badba8ce2e22587102c910e89c066a3dbc8b12803551d1fb316a53df1da0960ddaa3c3 SHA512 399b4de6bcc04625ab7b78b8f8ef82a38b14f57f86488b5bd0f29934bddf68aefe896b8b82c6f690b9a8227ab8732751f226bd3dff3f4777c3a75b2928ef4033 -DIST firefox-101.0.1-fa.xpi 551016 BLAKE2B f799ecc79b141367935249ec3732c2792989486c3baacbc4bda42f134dcaf20a5f4d9b48ad2f6dbfd6c6a0a3336c587b320c83e8f9d473061bf7de7d06e8539a SHA512 eccaa26d7846141b5d4f66b4a7ff01966070f904138fb255a7fd0171b05c70f0476560917b4e8b611cb9060bc264c5a058dea12482a5fa4e0b5f7745a1432a76 -DIST firefox-101.0.1-ff.xpi 461242 BLAKE2B 3f6d7b9a545ad71ac773d19537936f2f7d4dcb0c98686d26ac360c8aa646679a0bafc2dbe4234537990fbba971588009f4d347b823e988521aa4a23d4f84f3e6 SHA512 147dba504b74b8f9ca71965897c7bcbd7e0f1db6812c0f65776efda4bc9bdbfb24ac24f6fce367eb09778f7eef193b0d4b23f736a8f3b3faa91bfc2807ce8b4d -DIST firefox-101.0.1-fi.xpi 523432 BLAKE2B ad70105133f7fbb70871b3e349d01055e44e7be9381461d815bb2964d9e028782196d41ce070c983b5ee4881f66d7ff84b6eae6caeb3fbbe8832490b465dc184 SHA512 30155ade86d2f3edd656d7fec404a2342c66b33bd475b5f2462fe6af53c6c8bda19a9c3597cf540bcfffdd059276c0f18943030e409b2ecd61b1858633886005 -DIST firefox-101.0.1-fr.xpi 549201 BLAKE2B 3565e0c60d765f9a792444a6199dd7afb092c72af1163a8a0c6767eddef7e441bf25ae3b41de58ff224706751a5893e3a687237bab597ba0e265e99bcf566b9c SHA512 36d8ff0888c0f46dbb6b0b6c2a9e0b5a4cc4600471341cfd134bea4a1ae7d52ed505f3e5c2d4914747277a0ed4bdd8a241ee267617e44e8b39b8cd77883b1109 -DIST firefox-101.0.1-fy-NL.xpi 535699 BLAKE2B 1ef5d1dde46529b56e21dda8d9158de148510d38466dd999e2926ff1920fd721091d57deb1595eba1145639b3e7baa208cd0e827cfc18460be83377232c4b8e4 SHA512 f422022a610686095027fee7a6e630765ffa8e23b44d4f61bc6be90e1466e2cf7b34a925a8b25f8fa619d7cec8c84915f90ba468578b77cf061eea64a12ab76b -DIST firefox-101.0.1-ga-IE.xpi 461041 BLAKE2B 62b9b758ec12cf0f7ec4488caea72e4541cba57d6b061cbe51942681df638c8f6bd4c1b15edda81917cd1894faacfeefbd7a9c193707d5be48f955981f769020 SHA512 52b42928f5409a00eec57623c95198166884afac651587419a6ab26d2ee23eb206555ca1d27262bf837a6e4395ffd0f174b871d0e5901cec01b9ccc37ae42533 -DIST firefox-101.0.1-gd.xpi 520127 BLAKE2B da15bcec9091935ccc7401c58d9c64ea577667ec85471ac739353c0e9508037c2052f5db5ea0c9227e72a64365e733eb85e74c44daa31865fbe5ab4e2a8ce1af SHA512 ac4cf491ffa844ec5e7a27d50f2fbc55c746a42470ecd3ff5d28d94062d4fb0653235c56173ff11781a7a1b5b2ccabd5e3fd0e3f11017ac293786f63171bcc42 -DIST firefox-101.0.1-gl.xpi 528662 BLAKE2B 6cf1fdc4b55cb19f8c2179ac4fa3ba1f9ac8c228b18640acb0f41237526e1b65a719d86a6351f4f98e12d7945edc57df91d524fe6c9f0cb1e8518d0e081b7905 SHA512 6aa8945bc7bbe68204359b944af149c942baf265a27a1ccb04b3d197bb1a06c9f905f1bf8e522d9eb8ba72678bb09b717d6a8e9bfe84cbee119e36db315ca412 -DIST firefox-101.0.1-gn.xpi 549941 BLAKE2B f71b0e07f50cda91d593e71bd53b5e6c35be33439c837ab07eeeaf594a8413db56f592767a75cf7b081d703a4a2540a10a00c57973c7b1dbf31fe19d89e42c71 SHA512 17367b23bf8e3d648d04e81e8adce8bd130e74190ccfdfe360854064a7bf89ccef19543b60cc689cecd9681738fa81f86d13e41670da1f3e1bb647be177e5db9 -DIST firefox-101.0.1-gu-IN.xpi 516675 BLAKE2B 48b1fb7ab79957286a1a0ce9b984df72ce6a13340ea19a3d16ccf00235358f9ef054f102c7c82a6908da50d9b8c08f26d5e8e2b1649d6c14e8bca3b0ab915f39 SHA512 1ff94d348a3480d7820975d9c619361a44c54337c561f24612cdd6a0a64f1d076ada25750e89f4e998db1ace77e331799aece55d7105a4d2765d63993386b2a7 -DIST firefox-101.0.1-he.xpi 549791 BLAKE2B 7ae7388a08a815d313a3efcb5e004137d7b8821a0c3cf395bd8b8d3acfce9248beeaea96184cc7c7e438703ed229986ea3ebb726d1873fc6cd41df52051d9287 SHA512 c3944d9f9006d0d6e189a0aa17e785d5e4156c87243ca0f373de14ca2b4607092fad829f9223f0d8bbb7c5efb79dd57561cdd336ec81615fddb803224e9a70e3 -DIST firefox-101.0.1-hi-IN.xpi 546761 BLAKE2B baa387d2b56f1bc25714f3e0c508bc744bd8c9d78cc8734da463ac531695f5e818b489f728967bfc571585453d49544a967568b5b07a41d3dc78c6b925e0a634 SHA512 acc86cf51fbdcc81a1ba3492dc1115b19ee3fa764c8757ea34e64b3d179ad960afb12f05ec18c1d5b9e985e40ecffcc427d01d8e6c21a46b47836153ec2396a1 -DIST firefox-101.0.1-hr.xpi 519202 BLAKE2B d905a5c69abda8c4741a63cefe624d4cd5a49ed1a1b83c77a51c506d55709e53dacf631da839f68135c43c0d35ce8ae06a45269f89d63db2331932e134e66eb7 SHA512 cd5c54e19678798a924daceff182ed16e59c23f1103422fe230a6d6e70f2239513719fe60b1b91c60b7ef7df1d01ebbba8a1ecde2aa294ef61c78e98f05cc4cc -DIST firefox-101.0.1-hsb.xpi 554545 BLAKE2B de8377948716c4a852934fd660ae56f0dbf8d6d3b2ff78ce983aa41242144d09e2d469f010c0431843546b8fd68a412bb20058f6ffe5d95d82afaa8933a5d0d5 SHA512 96dd047012df846b4178335a7ef1fe8b6055f137f44ae617d2579b98b0bb87b2d2d29c2a1b270edcdca70588b007c73508f7b8f1c36d5d8a98a29c011f331f71 -DIST firefox-101.0.1-hu.xpi 557573 BLAKE2B e691668a8cc865586bf18749b0998199483c067afcfbcc5044c2b8a179862859158d918511625d12ed6bc9a9854478145b906f5b3c465c5df67d692d9162f9dc SHA512 e9611d63874609f994971a1b6007b5acb75a915122697bb54c0fac4558055f8e9cc9fb5b8bc0892cd5fa8aafb02fd3b88328abebca9c967c2ee69a14b51edbf8 -DIST firefox-101.0.1-hy-AM.xpi 568380 BLAKE2B 567c02333742edc07a58b2015c940f4ae1a57ebfda8e092ec9a41041a30f8e1b4f342cbf9336b36bdc3d8d4af8195af6a2e1742e47afbef72b9ef243a7cc9b96 SHA512 6a8299578c7826356d8232e7246897752d1d328c0401d58a0c3414805c6ca18152f5f80376121b5ab241e58ac24471125ea69aec7e05bd9e08f3e8ec3bb048fb -DIST firefox-101.0.1-ia.xpi 524537 BLAKE2B 3d65d754d5391ada925b50b6a5ba50af538703b77aa1c98b932df2cac736f59af2b80a049c9d117646e942e507429415bcc05ebe57b2bf1a2d05a8e6acdb9b99 SHA512 1dfcd38ed753b4fb74a60c730ca9fc88770cddafcb7dcc82cb4af86cf7363fe446cb4f6957b148e26257e07b242479f5802d8d33af5eeec6f1b508af7a13195e -DIST firefox-101.0.1-id.xpi 521948 BLAKE2B 3e1de30912d1d0f7abbeabd7a05c31c7e0871ac176249ae5b9b56cab3264cfc4ae341a6f81130aa53133f6f29fbd5367dc3f21b80b0bb1fade08056a44f8fd13 SHA512 9d6a47a4b7ac64abdd35cfe0b1fc61c09a9b1e8713793fc61a49867f610b9610065a1ef0228dfba78245b8a035b0221334ce39d947d05f464e49115cf468df1a -DIST firefox-101.0.1-is.xpi 529383 BLAKE2B 529c69c84556869807f35b7481dd01cbfbbd5506a36212504dc7776160ab07321fe95e239503e7589ba148ce7d06f361dce57a41a1bee2f2932585109f38cd45 SHA512 a009c7242f1c3d320396c4151a139cb64d08716cc62827f52da60281857fec813c225ea35a024eedd934db7622834072796075aa9f689675b514fa2a8359ce5b -DIST firefox-101.0.1-it.xpi 454741 BLAKE2B ba85efdc153b872d39faf2eed7f0a978b42a1d03bac8815b339cc615bf0e28ee13737a1a3d92f1e9f1998b791150b88561ca7738fb31aac8fecc17fec20edb22 SHA512 84f8ed2a21413d5725d71ab2633814d756e57fad08db20c8a615ca94f1a7c040e170a57ea15b63da7e245e921eecbd0df0dc4f71e2cdba07a355df5133c36bc8 -DIST firefox-101.0.1-ja.xpi 579349 BLAKE2B 45e5c19edbcb3908c5e29488ebe41ab7778945316634d86f4e4d836e3935e3ed03c654a54616e58e457da9aa6d651b6980abe2707c562f9f5593758ef2e1b6e4 SHA512 bce195760416ce5dfdfefcfcacf53b413d3fa6dc6f368e3247af32120a88dc58c12a82975b3a05351767723448e6e52c36a229e724f30e97861b97b6d0fa42b5 -DIST firefox-101.0.1-ka.xpi 582469 BLAKE2B 145d910ab8488febb1046c5b074d98004172547e591e888e80bf366fd89cf422299abe8a9c8ff0e6bd8e40818396850568b05a03f2f2c5c09651c8e555570b5b SHA512 ff903313ec8d0ebc189cd64a4d3471b79651c19ef1da828cf466ee404fa8a6ac2664af7cad13828aa9ae49f617f51b65a0ffbeca76276c36ecf7c34b2d3d6e6d -DIST firefox-101.0.1-kab.xpi 543575 BLAKE2B 8447e5f1716fac1968ea2d7b8d85e81203835ba4f4c986d885d3496cabe2f4e3ea4fba10520165d4d94885636b24c7781e7a3cea3e19e65aa4fff2fbe0cf39fe SHA512 15e10114dc2c0dee5bbcde8207acbd75948e9bf8f0b65e030c2db7a5d353c75b40efd70fec595679c7ab81b461ee1ede3db03f20eaedaa10cff632b584e816d1 -DIST firefox-101.0.1-kk.xpi 605356 BLAKE2B d82e0beecc65b48598cfb2dac172e282bfadbe086af1c298aa00dc5a12b84ce6f03c9abfad185c6924263b5b491b4f51a47fb31774f6a21facecbea090631ae3 SHA512 9353b5ade59913f5ca9167cddec374ce5ec9f46ded7d5b8eb839b0cd029ac99d2123e063742856cdc458adf825f0635fff9d8782b3fa5f11d758886c9cee0968 -DIST firefox-101.0.1-km.xpi 520290 BLAKE2B 12ddd52beb1343b96f972e5174a64d722c34322a01cf59bbb1ba655beb39ab5c6090c9753c3444451e1282d3415963647f1270a828f2268c2c7e26e3f8f37970 SHA512 8a01a95c904a98550ac75db70797d95386de0db7fc066ff7e064311d991efae15781eca662c57bbf62c203b0aba30681328741a647ab5e24e09667a0954ac4d6 -DIST firefox-101.0.1-kn.xpi 486511 BLAKE2B fa510f85f5ab1f7901ae1f561bd432b28ebb0645570315ee10d35c1546a5dd1d231888582269b5b27ff53e385dd8306e8b55995234ed8b56adf0b676f1e60fe1 SHA512 57770fb499873b140507930c501fadd37416708eda993f5f5295b59e05609660c015a6d6fa8d03982836736b8136129708a67b8b371087ee2f48e2bbc440a80c -DIST firefox-101.0.1-ko.xpi 570887 BLAKE2B 479e3801561fb646abb4748deff2b10b81e9d3f7f628aa087aba28da29e77e52fe32f99634b798c056e51128b32dad64956d351bb2da03fefba1b8fc79f60ba2 SHA512 5aa8ff54522b6ab51c7576b34c245abdfb59e7384ebc4296cb9ccd4cbd2357c21bc6442842262e4a35d3c8c7abc142b4740ccf28e85b1146125ba8cd52a45106 -DIST firefox-101.0.1-lij.xpi 459509 BLAKE2B 93babbedb995b01bda06ff29be69b55dcb885cbe5e23f345aa19e9af993c396df98f6d5b397eb926534395bdf9b2dd42ba8aa40e4709da2bccadf86597b969aa SHA512 1f0394937b2ef74a8ad3194f16219c73c2c11dc811ab1c117b197bfbfc96d255f0037fc7fd61cba90cdebf7b4beb43ff96a35b41034db382b148e996e05fd775 -DIST firefox-101.0.1-lt.xpi 546501 BLAKE2B fc2359da140d778693215c78a2c71a513964733a5517b07de106b1fa6024218794d5c3595decd773a7db6c4cfa4d33a7b3ff1fa5a0f6f256211100c4a44354be SHA512 bceea54b45eb8039d826b28e48cbac2162e584050c45221e5bf4687dc329c9e028ff739cf4218d97ccaca5ef9fa89aac77ffba2651131a9c9328e94e3e73c84d -DIST firefox-101.0.1-lv.xpi 452400 BLAKE2B bbb03b5d3c21f129910ea0cb35c40ccbe6ea9f900858b2e37cef9cbad1422c562474a9c76a51b1436abf14fd7775e2fcab9b72e2ed7c36862525a934d7d6e570 SHA512 0eb14aaef00b25c98f06c5a1be786f83af9b1d9d027ca655e524744773ac4bb424a77963c5d93885c70ce6719acc70b38ad9345084b264ca0992e823bb15d5e4 -DIST firefox-101.0.1-mk.xpi 463662 BLAKE2B f001143be9dde44fefffef44418dd1f70f3959350839b5462ad508b58632a920d1ed5e4908f75dee02dd58665a876432f01e08dda5054d1417a2bfe0f37e8064 SHA512 a572dc677a9c822a2f75a8ad81e3b30e45b7c018bac338ed8f04dfd81021cee74b4486ff3fee030f889ce202c73e73d75b8348ff55bda4bb82ddb7f8dcf07ec1 -DIST firefox-101.0.1-mr.xpi 520151 BLAKE2B da7f85de2a0db0d1b7b1c97f8443d35df22258294b1af9620f3d168d2b79a19d6ad29c331cb75d77991a9b30b219048f0011cd8c4414911aef20c73d1956f634 SHA512 2953238683b74a5682ab00a9d1510be488dcc1f9a23f16e33aae5dae3df34b63b118f5a6b2391bf08d44f654917ed80d19d408983bc6086252bd668197ccf85e -DIST firefox-101.0.1-ms.xpi 437586 BLAKE2B a99b9ca34df26c535260770835ea954059b289018a767ae31bebefe234320ba3a8d5d7f3bb5e9f343e5e3b69ff12cfe4e709f4da6a0c0b6bff4ab7e29c5a806c SHA512 5408697a9d542c559de6099dea7f58860f32941dece96d04cedb293f05905617b0d1a3adf7eaa875a53037d994ba3c594e0208950000f0e1ac05b7fa256fd0de -DIST firefox-101.0.1-my.xpi 503453 BLAKE2B 71c7da9a650665c1764de87b308d53dd0859b9831d260bb846b93b8153b219150c78158cca92058773772e31f3cc363f65e0b3978d9de2957cee2b62de84f048 SHA512 b661fb1c3ef3254ea3b33e8cd44c66885ec94ae32faadc74230e6d93acbe13ce27cb0806f25f2d5f2f98ba6a05a1c5e185499fefa90e25410b2ff94ae26efe4b -DIST firefox-101.0.1-nb-NO.xpi 521733 BLAKE2B 96077c67ba92855753abcd1a0617a98fa9177c93aefa2cfc239f90bb129f07afd727c5262399734e11b4575ad2ee6bb893afb98e9fa91542479e27392e9644f6 SHA512 e86d1ed31eec6c8a61d9abfe39971a74c5d823eafa8856032959b37d190639adf1d70ac6d8cde880f464fbb8452202bf70e92737a3061ba50edccec5b5f7f33f -DIST firefox-101.0.1-ne-NP.xpi 478321 BLAKE2B f4de378d35c0929b00458e13466094b3cf67d0f651ab2132c06913fa67f3d7baccccbb9a6f25691d8ccb913aa5ab7ccc23e9bb8a026a0be63d1bf63a6ce93e50 SHA512 3075f35fdbd961e1c29ac8f7a9f17bd6a50ab177cc504d7554fdf2834478f3972ce6c6bf17c6bb0198417786c073433423802a783636a9b858c2c1b6949b1d97 -DIST firefox-101.0.1-nl.xpi 529639 BLAKE2B 7ad96403ec356fe9ae86d0539f7b982b5d2da49513f58a757c050b358e7e6e6d8b75b7939e30c10a0450a344d610d1441212e7826f689a0c1f09eb9f69c26f3a SHA512 41b35f5b95870ac3334686b19f82f49582a1a5992c3ed12ef421d3fbb93e58fab8e1d433b2cfc982e5823a5c58d3ad3e95ed8207b9e03d9e3430b3758ac0649f -DIST firefox-101.0.1-nn-NO.xpi 523773 BLAKE2B 07721608b28abc99427b815c8b2df4c6c9c8866e8d7d4258ac1bddd20580eeec8138d9fc54945ac267b2eb80137e07dbf85dcd24b0a294ffa09081bb6338231a SHA512 797178353a17b4b5ba0dbfc117ed3c2a38d3d093f30612125163b890e66ea6ea4d8c8740d627b059d29701c27a5e6730e4403844b0add42e9464809ff0def214 -DIST firefox-101.0.1-oc.xpi 544435 BLAKE2B c2ecb49ab664260de8a0e1ed721a9752787a240db35155dbe905ab456720959362740ed81e20b9f45aec4e0a62c339d014b7db09483840bc2b3c36c3fe06bab6 SHA512 7270260c538dee769a5d8ceacf691ae602195ad8f1dd17e890dbf585596713e9018506bb335c9e87e0251deef67e643a4e30af53ba236c446d5bbd16ea8af975 -DIST firefox-101.0.1-pa-IN.xpi 592181 BLAKE2B e6cf51abe4f20ac2e3d5c8686b8380f21a2a8550e923413a85dc0c9472d531aba62961e9658656d110d7a25e3932c750f6b253853e8cf1ea4ab0899f94ffbddf SHA512 aff33d63496f28f8435ce410ebca18dfecfafa7a321d83fa83a51a80b03b0535dec1878c3345e88f31791f3c68817e883d06d646a8242972e77fa6342826ef42 -DIST firefox-101.0.1-pl.xpi 549640 BLAKE2B 6412e4e8a7eeecabb12cef3f1e5ac42f99c27396fdb7057ab1bb7a927e948cbfdde8673223a9cc511275105785a9fba17c55ba92612e98a899614b9daca573a6 SHA512 239bb04a41d8b386b9ca4ab89d3067b45268c2d8001022e70a375532ba0b6d1366bc1182516e96936d9b2b674a5daabea35d19c9915e3323860cfa73c82f12e1 -DIST firefox-101.0.1-pt-BR.xpi 535137 BLAKE2B fc7dcc4651a63d8601b7fa03eea648531ff55b09186600643d1981c5613e6fe8466f33fc89b1b26c9ac310763ce251989a0d0ced1f803e8b4dde50dbedc6c1c5 SHA512 8f53cce58496f5e1ddbcfeb738499e99b1eb83df039cd164f95da84a1057b5f651f09817a6a0c77cbc5dc622512c5916ab0c5593cc2f34eea1b6a15415589b12 -DIST firefox-101.0.1-pt-PT.xpi 538698 BLAKE2B 1f9f3ff0039af0f0aef4b194c1e1c7ad41c7ca5d3891c1946f9d61724f589a90bbbc820671f0fc6f8e73d940a840885079af1693aa78378a16f9ce3deef36a43 SHA512 3404d89c8662fccb42e611797e85fdc1bf1f63cdacd8974312f028548f1ce7e54f9ce724dd9ae7b7f35aff95d3153e224cffe485aae4d870f8f6f97fc101470b -DIST firefox-101.0.1-rm.xpi 528615 BLAKE2B 12b9ad7af2456f31dc8bce9ff513b0012546958ab80ef4b25a3ace54326ec6c8f891150796a5bc6d72d8c7a947986ba3bed40744452415e65517b3e347b08c97 SHA512 4f23976fa91004e8cf7828867535abab6951a5960ea14db21a6292eb36d2def36108fbafa21726e997715ccf96de7d2a7f59e7a6355c19d8a912bde088400d73 -DIST firefox-101.0.1-ro.xpi 516080 BLAKE2B 41910412b3fab6999ab21b324d6c7007f2048037ec7df9a089051a10d47bdd061d25f3a5648b9318bfdc9193fac9cf76617705918a012c6e7465df2ea02a2c34 SHA512 01eb61f6175d38dc76084907a0f80956d113eee82ba6d76116d75f850e7549ac9babf13eb8b440d6e0691b2f091f33dd8b30bb16482ebe09472f8e755034456a -DIST firefox-101.0.1-ru.xpi 617791 BLAKE2B 231990cb8cec6c2a1daa0bbc4eeba911d3abb1c0b6c9822262e9c3addbc69a3b5bd57e790b24a681db336fea15706e1a7d146a27070780d37d4db16aba22443b SHA512 13caa350473a4ff088fe1f118027e0cf78196f5bf6219bca4a43724dd615e8235c13c14e217072d47ce8742b2bae46c8e3d9a9f9adad80d8a4f7228958703ba1 -DIST firefox-101.0.1-sco.xpi 490268 BLAKE2B e36790438270d65911d76c0550938f6f0919a463cfe780bfabe2ece514694a12f8858180b374a585fd9d45e5307ef97c9b18359612d3abd47d425088bba431ee SHA512 18b3c39a743736dee3abf760a45cea35cde55d45b6d29e425f4baa556836fbddcc6536b6c59387cda70e83b71df10ddc5464d328d57b72ef0ced49bd0d7309d1 -DIST firefox-101.0.1-si.xpi 476134 BLAKE2B d6cc9a0ca46506d6985c643efc9c51e74756dbc43e409911408bc1e1b3412c4a3325eaefd051e779fc8fdb5e112e2565cc48da551f2aaa42e4da087e3c97eba9 SHA512 af14c4098191528739ca45d4df9f9118106f220dcb7daf1075ce4ef7cb0530d40acbc2569ada9e48af19eafb6d59ae09d0fe57be7b4e71ec014e1547a250cf37 -DIST firefox-101.0.1-sk.xpi 558363 BLAKE2B 3aabf9ce0c159893e49ab11a347086a9cde3b4fe4846ea0cafc6cd08e50c3e8ac78196d14f60d9f06ac3e04bdc9c0e4516c0d9da5a1aedb28bdb84c438337549 SHA512 b7d7a3f4dcaacbf0038a9c8af1a7ce0255648c6a2302795929eb20478391672d7f5da9453b7c1b1dc27910dcf3ed433b3dac6ac8373a82cf36a377390bc5a3d1 -DIST firefox-101.0.1-sl.xpi 531097 BLAKE2B 3d38b8972425ac4fea5675e2d20b9a17807ac0ccc22a10eab4c7dfb27c6014851578245d140a2c1b7fc5bf2056c5b1cc9db55d5e2cae4d9035b1de51e65b7720 SHA512 10747900cd3edd9615aeaeb4b0a54a5158226285d02d0854d01b94d176bb476cd054df511c8b244b553a6b284167006493e39191f8db5d972cb12ef3d9129746 -DIST firefox-101.0.1-son.xpi 415536 BLAKE2B 461458e8f5329749a3f9c59ceef01e51ebdecde36d96152401c838d65f51269b242a6f03fd2b9c64c8bb63969cc7cea3dc7b5222b302c4132228eb264dd44c07 SHA512 5a9871bd70d2ea9d7b74a5a78b126c503433ec72fafadca990769015a7f91bf71d276b5108a3c695d13e54725280553b35fb825a208bd539b862428d680be734 -DIST firefox-101.0.1-sq.xpi 546736 BLAKE2B 57e58547241a476d5e1dcd3542b17cbb327ea83acb49371cdadbdad2c6c90e5f9e1b90610d183732d9782ac009390614fc2db7e2f48eea9b3240a57eaaed8563 SHA512 8c5267719dc7f54f9b2b32d332fb28f3419a5ab95cdd6e2c3aba6468acc4361ecc2cf9cd6fdb313cf8dfaefffaa9f0e5048707f10d34ccc48a04026b5f9ddc4d -DIST firefox-101.0.1-sr.xpi 571511 BLAKE2B f43ae626d47c1ef8212cb92798a85dc6381aa236d00d68db101ba8a4ffe0f2924df8644649c1dfc216b7ecf057d470cc4aad08b824ff8f346ee2e1d00b4144bf SHA512 30252094fc660cdf8eafa654a91e83b565d56e26f2443cfa6fcd14759035082fa6cd872dedc899da207cf22c558b46c691afdebae032f7bacf2bc05c18724bd6 -DIST firefox-101.0.1-sv-SE.xpi 532152 BLAKE2B f2c8b3f310451f911d5b14189063b2555cfcf1f63bdfd299312039c3b02dc9a1b08842b77ace240ccc554c9b9aa51a338f4b00ad03651f27768b8b768310710e SHA512 c910d513eee696814580efcb713154d1ec8a998c4adc42697690425375081776ce4f6f3fe7ac36967013fdc53fea6c47190ca00d1e09d40fedd1884813616819 -DIST firefox-101.0.1-szl.xpi 502512 BLAKE2B dfc9465f4cfde7989ca028930250107a11f35a2915690d61a60388ea5238d5df16c5139e46792abff7d48a0e0e2027708bb18b241a0f5c310828fcb2db817be0 SHA512 afe15fe373c325264355fe8d3af21681fc947fa38ca32507337a7e073800fd0c7f7b6c25e4937eccec630b263553c7ce7c3e2d7f1af9f7a58db9525dc73f7c19 -DIST firefox-101.0.1-ta.xpi 500997 BLAKE2B 64a1d6397c84f16cb6fac2f160a2611749a46d939734f94a7c2a4f7f0793045ee64d350d8a7549abe33826f5c7b61327876f4848ac928da654442de18635a1b1 SHA512 635afda2bfee3e94e45db1ff1edc3176f588aa605a94b6a0a088ed7473c9a29fb8d23255ff26fd33981a062ccdbaf9f141a644159fec9963e554d33a39705e86 -DIST firefox-101.0.1-te.xpi 541010 BLAKE2B de214ded24bf0b5e1849402700c0cf9878aaf24e1387fac465bf3636e12ec4c99f1aa4be74153e43593b5aed6ae154477d524fef67fa57ab733082de86649069 SHA512 ca4f397d879e93fe72af8c36965571c68ba006b287f73abf1dc1164ce10facec7c9e83efe7e5d7c7bb318d580c03a08eb77b1f83d2e7178bca84ec4975a3d471 -DIST firefox-101.0.1-th.xpi 598575 BLAKE2B 68b752300955d0c8093d56fcdd4f4949e9191a9f0c920e9e2dd28c17b0f0847217f06cb7040fd832fb949128356d6880472742d0de96367bafada75c52ddd422 SHA512 9e1842aa7c5516c91573406bcfc545addb7f0df4b2173830a080bd4b7c488c2b05547998dedffb9139f4f78f35ba2191ab60e127027ad0b5c6fc781cb1ffd7b7 -DIST firefox-101.0.1-tl.xpi 505949 BLAKE2B 37ee6236b7af8789e25a9bfbab7cb1e7f2ee0dd2b93721ac955b7b6331079dcbeeb6ab9e0c54246063ffbe811de9a1c89c0522bd5798bb3cbffc4de508504a11 SHA512 3e7c066ccbfd9a3f954d09340301f06ef261a15a8ee45ed745e8773803cb84006070a7369678f1571946f33f34e8ba31ab5e577529c34389a92331c6ebb45ec0 -DIST firefox-101.0.1-tr.xpi 545474 BLAKE2B 4e62fabe85c79c9bfdff80124b3ebdfb0d8b6b6345e0794500a9a82699e862457f509f0c227de12d1cf07bfd7fa11ed1da6ee49ca0561f2ca6d524b6a46f3a1c SHA512 de60a361835e93ca97b2c00d65dad694546c552b1dbe419f768efec6d3a0192333d013083493764a8bddb5dce07c2289205c3bad01146144f952165b80f687c2 -DIST firefox-101.0.1-trs.xpi 480518 BLAKE2B 8cfc3baa60a8cbc380c7515c5032446275334f74f3af8855de0921f771f046701ea59504568a131bbfe021ef3e9464852d907496fc4677f90ec726b866dc1749 SHA512 0e801fe1b3e2f9b9ba53b29f5058836c7ea36d3a5e435cf82bf70b1185b02a44df0910cd6674d46d199e52289c7a8f89daee14320e78a1583c0124396c9fd960 -DIST firefox-101.0.1-uk.xpi 611843 BLAKE2B d1d73fa3a81df4a1a41d3193d3e4135a84c0f9629f3f45e5d34a99eac02f7158d08c000736d375d2b533266da73b0ffbd03269e82525f362c06a67cbb01c954c SHA512 4749000b5e7d72a1cc345a5e77e5c191d4aeb9283e999d552081d20b936ab7776d4409cc773275ad74980a888abf55f91ab09c2e823090ce66f99415cef61240 -DIST firefox-101.0.1-ur.xpi 548441 BLAKE2B ff9719307070fc2863e7aa5bfdb5fc5afdda2fb9c105c6b0a628401bd0663f6b896a9d106408a08d9586224d70035e39890265f6b86e11723ec46502561de572 SHA512 239b8f7b59e668099d97e46b0f34bc94a06a70ffdc8e87208d17399b0c4912cf63611f38531a6b308d88541ea4060e162225c801ffe60f43c396254ea6fafe47 -DIST firefox-101.0.1-uz.xpi 468688 BLAKE2B bfea0d2bd1f2ac97e9dd9a08c155e9d1ac22f3e4868ffe338a8d686c0c4ae0de6cc3fcc4c685ffaf2aaa88d8eb5be4f0d8eff7fda88f8ac5294c25dcd27a2b40 SHA512 74789f5e8ab27699b133d0f4219b0f017aab8a1e994453f7d622e72f9b0d4fe375439facee42f5e29a8ca87432413a722066e68eb4a0c1a07f7b6c41726ac9b9 -DIST firefox-101.0.1-vi.xpi 564697 BLAKE2B cc8c76f88829ea6bf62a8171e5b2e99a4f8f72df3aaacf1fc117939d33e525acabc795ca79eedae618b62132f1561d41e9fb74c8f7f3761997ce23c0b4b65350 SHA512 42991841f38a0b252f09ae44592830d0a2364feea7c401856f045bed050a874d76482d2f6668f9de78850899ae4fc82c923cd916cf6efeda4b41c6baa68fee4d -DIST firefox-101.0.1-xh.xpi 418659 BLAKE2B 520914da5263161b9f9480e455b584cc48f42efd0b9344ddc4d7c6a4759580ebea78127a044bb2a9177bba0e07f436599fbea2fcebbc4c19d0252583a19df8d5 SHA512 2cdd0dca9047385441a8208a84609b17728061e4b698ec2066d1cd2f54662409ee461bb444b3d8bde63034867cfbef448e04f85f45204bad022df58e89b8f74f -DIST firefox-101.0.1-zh-CN.xpi 567077 BLAKE2B d15b9f6881ac0198c90024fb8dbc3b1370b0e3858857732e49d72991aea2ff7b943c5c40fd2488230e857d0b9d41d25746691ce5ac86b90127a543e3a697b1c7 SHA512 848462ae18da62d79aa6163dcb0e53adb4ac0fe031a80dd1f3a0b943102060548682f8921b02431df552fd817bbd246bac5663e091762eb1ec040308f34fe639 -DIST firefox-101.0.1-zh-TW.xpi 567655 BLAKE2B f6a05838f02d95ad9ce8d2bde6b3f1b0c106fc11dbbd17000dcd4bf4c799a1f822f538bdc5667ac1bc87de34ce576dbd2e462d7dc6170a04f19f6fa3ee214116 SHA512 22fa87260421895813f5b3269e8a320d24b4477bad5c6108d0b68f80afeaaea2d90d367c436a49d643523a00bffbdf4c570c7d5544d3e6f1977a1c5b0473b3b5 -DIST firefox-101.0.1.source.tar.xz 486021240 BLAKE2B 8dce0083dc1fa7d9f04b1a87a02e6e171e19b18ddeab210a12940a4e582e8420aebaafb2fbbfcbfcadc36c2004a61b4a3a24b630838b3a7f146945ea735ec045 SHA512 435a7f6013582933e75c41e554a45beda30b5affd7d3ed7d2876026609ba7f17b2c20b507d9d0c9ce2379e335ec09b021257ba30ac55fabf02dca54b03ea70b4 +DIST firefox-102-patches-01j.tar.xz 32712 BLAKE2B 533c4a7ec9453dc12baf6dea1db8d988e3028d2824a52fc9124676db3bcadf814323f737b6ef17a33f2d618afea27dd9f45bc1ed011ca75f1be1c6415e118d87 SHA512 f0fbf378e103335d8a0afe6780f779ed33396bd2ab25000dac7f63a8409822ecbcef7ccb87560e97c495af332231f89d2aa0e39f2a151ee080853c2935b68e09 +DIST firefox-102.0-ach.xpi 443114 BLAKE2B 3084bf0515a7b0d744f28b2308e79302462861c890cf7eec40129e1b251fe9392412178a99b69a3ee1b479608f7687cf25dc7156916deecafee895a0867c8f9e SHA512 7eca63717fc6022332f77c5a2567b1b09f3ad2a94016e664487115d4ae326f1658b2834de01ca11969525b9d952256f66cf0a738d73548b485fb3432307f5267 +DIST firefox-102.0-af.xpi 408457 BLAKE2B 010b537aa482d4d2fe3b35ac8f07bf77e095501243b5e1395ee7a7c153db8a881af4e7eb3e57d9ca0ab274561a6a4ceb2b1fb167c2ef791cfb53c9829e014897 SHA512 705986d46b495e038cd6d4cc1a4f30f6ec1d5419cf840be459405e6aa505ede00960ff345d089bad68f53837d7f38d7a571c1e99728cf56b20c1b0fdba1753c5 +DIST firefox-102.0-an.xpi 486991 BLAKE2B 0e97c8aa2a96fb690378b555f115be30d0270d0fd064b3a78bc1fc1596e61c1b73656627630600ef35132dc83cc62bf96a269a49998484017fa41f394fa2b2de SHA512 2e682c8f58e475354b6e7f23462fef647bc779250290d6a1b7353304a045511e9dc7061b006dacefe5385da9ff622af4a71e988e45d3691a4a8f23c881bf4182 +DIST firefox-102.0-ar.xpi 550924 BLAKE2B 50d30d3c228177dcb9d38c4dd0cfe93c19038a3da7ac1053c6aee478eee978d51b0fa07eea7c8c9679f21bb93353162203b6c61ae56940039f6d71528e01dcb2 SHA512 355e1a9935613cc2a54ef9d5010625f3735ca2d22bb65448e95322d9c438ec0e8d459464b444eb1a38b0ad55af354b3a3af863aa72c096bdf5560ed7ba5cf29d +DIST firefox-102.0-ast.xpi 483305 BLAKE2B cf69b322c3bd47b4ac778d0d7442ef89f6e7b2abe29e4118b30e8c8cfa8c5e459658647d8c29bab0fa7eb8a735f1ed12bb05a1002c19bc2d7fe0802be3be1081 SHA512 4a1fde7a7cf6f57e214047b52885068bb5ad3b8e9495f3663f3bf1d70f9a05a7d8f4f406c9515e7ff92dd66317130f7a64a588b1b3b9c6d8cb9c5f418573e00e +DIST firefox-102.0-az.xpi 474703 BLAKE2B 7cf8edcb045f84264afea502cf3699c3115ca320a67d3bf99bcb5db0f266537b6c0673f1f78faa002c66d8a1821a526415bfc1d4e962a62ee1d52935870a79bf SHA512 52b5633860bcc877610a4730fc4aecaf7957bd1a78acbd0b20df035e04e8a3dc6462ad390a5442893a9019b123a8f89efde039ac0cf07234bf16f40fee2652e5 +DIST firefox-102.0-be.xpi 613475 BLAKE2B 15efa83b7b017d55cea322adf2f45c55ef30b06bc2063aaceafb15e34a81beee50fea4d25f96f36ffadd102ac431d378a5fa517fcacfa4e008bdddd598d9675d SHA512 a65d3d358ca23483c1b709e04becde02f7a962434acaa4b4cf2acd32b997f77145ecc4e59a4c507450e843dd2fc6410e96bb9a6d3e18c9943763e79602df0932 +DIST firefox-102.0-bg.xpi 563633 BLAKE2B b60e6b768a5fa5a581e8227f5e76eb74f58bdac35f9e178461d65cb2c4bec5962a150853428aee0121e7433a57811e15feef9cc82c3aa461fd121c11810d7739 SHA512 34d389d1afbb0072d91861f1715f4626ef849645f18397fa8d52efff19d9f9250e5548fdcadc529df3f46cf66499d2e620f2bf888f92aa6df6fa828347a0cb4a +DIST firefox-102.0-bn.xpi 565247 BLAKE2B 1af5bdc0f815ea3b0b868407769ebf6fa879cea2478f64956d06da31b5464c32ac6148fc366d965d960da62ab6f74e13f1bf490807106122f0273f7f79ba281a SHA512 78790e6bf4a367fcddb4af6bb83e279b807a5c6395dd4ea9da4cdcdbc5f9d6999a700852be9dd440106831a8c8c4899e21d1315210195c3d23bb0e064d4c1e2c +DIST firefox-102.0-br.xpi 521034 BLAKE2B 88e620bef0a6f15c36023ca231dc07ea1a5fceff583c2abd19491313acb3e909cf9da8be51bf96caaec67600ea9a6a46c99b26cd65a7370dd6cbf86ab94def2f SHA512 b208541b8a9f3b5bf221748f0bb6423a55bdcae0c3599822904bd0a23eba84607484903aa8a55cd8c2aa4c870d8c979beda46e99296f230644a25ad7937ca0c2 +DIST firefox-102.0-bs.xpi 451825 BLAKE2B 920b55d3afdb1b6153d627073a7e58035d615d437110fae95b4a2857d0d5ac3deceec243538638cc20698cb370caf0f357418b3a4026b89811f4317b049665cd SHA512 d29a3b7fa8e7f88eadb2f8b5b0add4a6c656f0670ca258030242d67b20409e08aee15fab2dbffa040e2835bf428ca8b926e4fc03123ecbf3e42539aea4e38748 +DIST firefox-102.0-ca-valencia.xpi 526177 BLAKE2B 3ef9b41debeeb4c1b79fada05e1b8d39d8410b5dd52979ab62dcfe5cd7313c2e2c4cba33913a5c9093705d3e43c950721b9ba7b90ea46dbae29bd9a953ac421c SHA512 0cbfb508f91e234edb23b28fd3ca097e33c9b46c29d5d625e5587686e1f26eded005f68d0d1d42a4e4194d00019a7cdb97e5ca7d1c32365c60c222412b7ca075 +DIST firefox-102.0-ca.xpi 522642 BLAKE2B 89ac6bc7a2d035d290e5286571d74ac8df14e8230b512a7d1a5d2d37b40c031a6c9097ea63408d1776daf6d9552e41c8bda9cb5becfa85b5a9a4961981227f53 SHA512 e2e33583adc291464565b231548d76d3533626bdb72922cc824ea62f319201a78ef251ad09195866f1c9f0c8587e590409eee7fb277b09b501581c20a41e3e1b +DIST firefox-102.0-cak.xpi 539672 BLAKE2B 34cc7fb9e1d5e30fe8ffcf504a31d18a43ec9578b5dcdb027a4bbe097f2c30866d13e98fe67928c2b45c2d65a9b194d298636214db621e26ec2a9ba4b4cf69ae SHA512 6d8fc504efa7168072f3b82d7ca78b4e51356771372ed4f35e3461d7b59f71c2b59e173734a781a454f1992f641707e0c946985ff9e2723304b6ae36b4b56e88 +DIST firefox-102.0-cs.xpi 556808 BLAKE2B aee01fd260893319aea17a3b4169c7098b53cff6f86001498d76b88eed54f4243651c64bbcbc0e502b6c2d45970839a95e47860399c9b2333b8ff0f8cea9e5d4 SHA512 993eaeaeeb6d2952863e0587164e3908437de5a4a1364b61f409296bd356c6b51cc2f5a19c34a03bcd261549ecfe240044f7dc6fb50084724cb0436c59df055c +DIST firefox-102.0-cy.xpi 533736 BLAKE2B fc958e900a2d039b9a076a709138c95d859c752216ab7e2631cc4887546b4b2e35c618e48834862ac1995ea52141c7c7c28f5fc96a91e2cddcd612184751139e SHA512 a599af689ef6ea265a0400ceae54f359e5da91f03e1626459826daf59cd6aca5bfd158b85bc50ae2b612cb28996780358af7537699f37bc077a679be6be3bc15 +DIST firefox-102.0-da.xpi 525897 BLAKE2B 43500d24b13493b97c5ac05b0265c3edf390f79225de8e71e81291a562cf5e951a72f58eb1d8294cb41f3e4559b6e271e721f58894f4ab2f3bdc9f1562c8b61b SHA512 c2541f49cbe144f4904cada116799e1a4a709f35456a28c22d7cb816c64bddd9374e747924985bf2b1c898ea9cc4cc45ee97ba815eba09e359d0030bcb6d3535 +DIST firefox-102.0-de.xpi 544840 BLAKE2B e95db2ffe33e43d4e493ffa168d25c9bdbd43c1c9b144cad3b44a91a6291eb397486b650062464046fda1b1ef3e99747a0c7777d4b2a7afb60b00fd1298ea102 SHA512 4c1ed1d8fcd3d36f62802efe52507fce6b74d347bedd8a7e0106fb685ea85a6d15d527c62fab1fce8f17c736d77e1935f9876fb115fc9b1b012a78aaf5f62548 +DIST firefox-102.0-dsb.xpi 557548 BLAKE2B 1f5525ce7df3d23af321b6358e86cdfc248c16479e5e4680369ff04020b9e1731dda887cb2d5c8d2d9017a9d38e51884833c3270f73d03c92d3cd1ec7cc3f011 SHA512 2a0d36a69ecf089aafe2587acc0f06a5ceda4686e17d73c356f14c7ebe02f97bbe28ff4a68343eeeed6617463000d60ce68ecad4cf9a67b1cf7f4a9f3863ecd9 +DIST firefox-102.0-el.xpi 628784 BLAKE2B 37c06e855f3fcde60d061297697df7ee44ddd18f490f3c72eda105c4eac01d8d7fe072d7d044316aa222b0859661ad6194386357640e39cf6b4eaceed68742c9 SHA512 8ccbb920c54c44291f4a1293ec4f8c5455022cdfb926813c4b214214a75d4537bd7a30bfdb63e674bfacc22f0a274b608b8550f09cbcf97d1e766dccbc97ce41 +DIST firefox-102.0-en-CA.xpi 501976 BLAKE2B dea2e8bd4552e981ded7e7e93338747c962c2dbfa0ffca6d072af516e5e78c92087a31a3a6ab1034fb657f5a65367a1c382642c7e88a27a939baa21c2d46d5e1 SHA512 bd6889642223f6a839c564cb1a835dac30b0f11063628634f7c85a00e0376a568d871f4d8bbc864269ab54c597d871cf5fb14a04a06fb8091d06eb0d2ef085dd +DIST firefox-102.0-en-GB.xpi 502448 BLAKE2B 017058f8c91d3c664eb50fa71162724cbde64faff6aa9a6081b6fc785efd194b59fda1f607366cf0958480ae69f6c1ca0080becfdba50bb1d8ea426b5f0534ce SHA512 8b356a0c11b6f7739081b1f2d070a7d30d1ff75f9048a5983e6f6912c0f5f2078418fa1645fe1b33f54be4684bf32a9fdc5d04b42564878a71fec585448a00db +DIST firefox-102.0-eo.xpi 528419 BLAKE2B 742c7126adcaef78d390e72e1b1206f943c1451f9ed75759df2706fd6975dbd8dbea9cdf38be710e81e32b04ea1d6e6830d8b4bd993ed6dfff20880b559edc60 SHA512 d27414dda61fcd3a14dd4cd6e29937d1f94e846581e676fb5896735bf795855d651107536d259d5c8f2d5e1105dfc5ae81bc64df62c703510c8b4e8492f9123b +DIST firefox-102.0-es-AR.xpi 538398 BLAKE2B 7dc9954c939c39c8aea8861fd5d8ad97e28f2c538dc8e5975e05919c7ed0f0f44a393cea94f87404aa6653887b89cfd3daed462b8120a1306d9593d8288eeefa SHA512 d1f07dc61bf43810e7e2e36b34e110e9f11a3b677f17736b804f9190d878cc8c670ef195434fec95f3530f00483ffbd1b2a894b9d9042c44bd5adc3f859466ee +DIST firefox-102.0-es-CL.xpi 537630 BLAKE2B 660ebcfc1918af0d1fcf4bfd654b1fcfe7f8c5df395e63d441041e873e24a8823ba95381859d60b267c952a02b3283226b587b4dea74f0a363abb099115af2cc SHA512 bfbbb88f638dbb26fe8bd7a29956f1110fa09caee31552ffe0ce4688ef50ba22641d96bc9252de0f904da35a16a6eb07a4e5bd315dfd972122462dbb547d96dc +DIST firefox-102.0-es-ES.xpi 529048 BLAKE2B 1f9b446becfddb74de3e38a133db865967f07c8f2d1c56b38db60f0f933c7561385ebb179ec4e1bfdf651d03604de62d74530d06eb557a659e3a3b6c38c09e1b SHA512 3ed835acea846e02600b97b18548e21c26cdfb6c9d52e323a971b8f7b536b8a48689b8495903be072ba3782447b4fa75a23d12b09d661cef534314aa857a276b +DIST firefox-102.0-es-MX.xpi 541459 BLAKE2B d688417a9d2fe3ba2c130eed01fee765c69db2cb5e7875859d5f3c61905311e8bb18c1005bf19ac0a3643012fc9214264023f555c34c6a3a3b1f3d0d29a8cecd SHA512 d341f7fa324f694f643fd46927782383caca8ec0d98b5920458b019a0907fe418527cd15df4bbe2d423e41fb9a1be7a0f7417837d3ef85806954913947815686 +DIST firefox-102.0-et.xpi 520003 BLAKE2B 540a9351ff9a2334897d04cf1e831359f11ebc279100d782b409640bde173fa501591bf6404a5c71860600070935e4ff3f44a3e5cecd819e73c0e4d2d0724a50 SHA512 f64cd17523859cfae89b9449d08dd83b72f1741fc0daf0d475bf7213541cca934963e3085bf7479eb04bb06372cc409bed18fa674fc5cf3d4b1f10771a664d28 +DIST firefox-102.0-eu.xpi 528097 BLAKE2B 54348abc356a48187ae3de0fe22f926c54b253b9ce7fa912919d300c90cbb9e054d4feb53d6cd98356b05274cd4f2b24eb9fb52f32558f1861cc0acdccd77499 SHA512 161736d7fe07569c1805ba1439bcbb86b3eea259d4c666f11be993880c15c0bd311286fe4d982a7dc27e6e25d3c6bfa93d958e86cdaf7d19d6f6c8b5bf85df95 +DIST firefox-102.0-fa.xpi 550815 BLAKE2B c8483c8455bd92799d471b27c6de152acbd879f9881f0b5c70fcedf4ddd9f07d2d90a3fe8fd276e2296c527e64109a8582a3134281104198130a92fb98e3dcd6 SHA512 31b1c838e21165b526a65176008df075c041e5eae9e4b1db3957cb0e0e5fb7d4d41fd9fcec15c9273e4205af7d7b0b37cb3c32d77a9c12dfa9f7eb4cab311550 +DIST firefox-102.0-ff.xpi 460979 BLAKE2B 1beb37770ca6656215d6c07bc7c4562046c8292de65830f705d945ee0a4a4106523592ca0da7b25eb5ebcfb7fd4943faa477b17cc69e058dc24c929a2ba46260 SHA512 a1474a8472f611a0623eeaef1688e3e9743511e9ab536e1c950b2c4449d17a7782bac33af1a456cb331a1340978675b507e200d41280ded8ab2fb22cef6b49a4 +DIST firefox-102.0-fi.xpi 524263 BLAKE2B 53ba21f8c4db5ca493cd4a51b6e0095009255188c1fb97bb520cfb78eddb8f7eb8e55bb70e313c36f85983b1b65536ba92faaef8a05629b31ff8e467e19328ac SHA512 8e0a7842f643c439611d9af85c40a6429b7cd149abf5784538151d39cd06cc9cae5c7627c519313149c5a2152bf8a10a7d4d8d1bbffebbfa5f4a93350edc94ee +DIST firefox-102.0-fr.xpi 549043 BLAKE2B 0449bef1fb2e700e693cf8246be769d5ce1506357b6b5ce23c133c87e14028894c45baf2c60dd54846fd93e6d43a14599b7a37346d3cbe7f1b7cd5ca35c4b85f SHA512 897f5e64ca45092101934fc6d7aa302c80a4a5ef66ffac456529abd2150ea00687e39acf5607d7668f679dc43ed9f5ddb1e380cd4d4ecce01c985ad457421852 +DIST firefox-102.0-fy-NL.xpi 534932 BLAKE2B a91bab50bcd3f18866b4fca410a825664f7b6d0d66ac33850c4a7049a270b8a3fe571a111b096a665402f320718b307a6b0a63663bbb5805c3719ad300224847 SHA512 beb683c80994c220751594227ded93377673c51757239cdfac7cab69906277b2c79ba07cf0f577d5a9d91639b4b148a4b1202294505b62d63e744000c9cc523c +DIST firefox-102.0-ga-IE.xpi 460696 BLAKE2B 9237484ef8836e4205a5d65df536d9f75a3e4e6489cc14bacaf124554d60c874cf623b9d4f4e611e2e4ed6de20008c6b06df6036486e38fc6e35d3942cada32b SHA512 f70511361e3c6becd28cde2bb655131f306985f7b30b8b3b617d64fbf3bf335ed9770525865e49182690e1a376b5429331c99a766f22ded09c1e06824ef641cd +DIST firefox-102.0-gd.xpi 522584 BLAKE2B 73cc61e4fd903a4ed1ba04ffe8205881943dd57f0e8de9284d95977097f89dce87863989547c8c947a2f431c955d8b6f85d5a836dea6feb6c1809f4c3956bb73 SHA512 d6ebfd7d4bd8eb17a35c4e06639c52e08cd13529057c0544966c5dabc403b6b17f31ad54bfaf9cfc2ce6c13c2a0684f4ec504adaeaa664761d9aef77118d274c +DIST firefox-102.0-gl.xpi 528501 BLAKE2B 91acd0622f2f7143d9947917773c11643b30ee11b81f61606accc3c880680c97edf6fbc3dc85ae99ded08e8f1ec84d3a62d3b5819bd72340e84f327b1e8be72f SHA512 c284a64f87da7c8d3ccccbb00a909dcd085cc1e2e473119eb6d347fdbecf4161e6980ed64be14db0c841965d22c8f311925679992335de4cd339f8dab01adfa7 +DIST firefox-102.0-gn.xpi 549540 BLAKE2B e43429935ca9a4ac5ad0bbff6dde4468a49b61e27d9d323a7da486fbe8ed424dbc1c210af70991e11d9ed38a579e80ed6491161a921053e907933ba6eb5f2e8f SHA512 017e1b78b5bba4dccaaf78f4648edd17031ee48be2678b8b89641dd4d1d71c36ed7d878682f114d697c3061ee0de4144da3483b9b18e14b129f3a0c8a91ae6a1 +DIST firefox-102.0-gu-IN.xpi 516013 BLAKE2B 672ded487e9159954699b3e418fa44a970c116e84760ca2b779af8a80ef78b6834b34dc8afbf77c37ee79eb03c707c6bd3af6b9e18a4824093b0315c9b0782fb SHA512 892a68da7a1daad0c9d05957e25dac89bf5e6baf58844ff0a8ec965dfd013ef211ed0b93e029a1a3258413aebf522c0ec0b1435ad7c0b17274f8edeea61ee2d1 +DIST firefox-102.0-he.xpi 548996 BLAKE2B 54d508cfeab00eeb00594771e9f4868f3da1a587919e5e8e84571db7dc3033b34c451db7c120b9d890273bcb93cd1b14d9153a0b5a8d1079b06fb81f608a2e6a SHA512 be0544bd47668f747fed01759291e3cc80e75e3bf1d18eb6fa06748b657d5bee24ad08410ca9c10fc07bb14f157351380186571be4341a848912b08bc5e8a568 +DIST firefox-102.0-hi-IN.xpi 546131 BLAKE2B 9dfe72ad4e60806c4ae4ab6c2f231344250e7a267c75c3966a54452c46b7553d2383a44d5089d2dab7788a07729e4f6327f6b98de93f9c43afda12386ee25e95 SHA512 ff45ae91e31a99c393ec53a9685bfc4765ba86d14d6db13e04fc26d58943825a637a97eebe96f0924bde6330459231a77a2231d2c0b2314fb6ae45263d33d0a5 +DIST firefox-102.0-hr.xpi 518890 BLAKE2B 5f3b507e456e17b47d50df5db20288e5c530132cee857e910272e6bdedd97b3af4cc7c7779f07403d457257e7916c2847debca984e6c315f6af5fff2db9adfc1 SHA512 4312b172b34d1d4d34f7e29c9b2a533d819ae08d90732f3240f753e65d69260e6ac49cbe4caf142a1def4cee047e284414487a15a916a6bb8891267061c2dc6b +DIST firefox-102.0-hsb.xpi 553790 BLAKE2B 66d9035cf89d7525c8799fc2b652edaf471cdddf47ef6c8e31b8e42bc738b49aca469cfaf0868c5571199a58588954f007b6d77f79e79c85f4cf0cf0dbc2bf80 SHA512 39e93145bb7747d62fc6b0f96ecf9e2e8a194477a9d387a0aac75c14c9573cd0293630f22ab8e01ffbfb0910b3ccec84b6a547fa1cc239c7976735c4b9a42e23 +DIST firefox-102.0-hu.xpi 556877 BLAKE2B 33dd1038ee113aa28e45552b11944e34793b43dceabe51c81c5730dd4f9a6cc9f8aac9bae47fd0ae39b6e77a3861846a602fca275756a86de2bfb7d49b5c441e SHA512 6d620d2ea77b56a106c3a3cf861df4bf4c9aaf8a5f82ae1e1c4a8b341de1bbd96f568eaa9a1917c7b4c341af197fcfde849304f7afef33313ee18f82c11822f9 +DIST firefox-102.0-hy-AM.xpi 567841 BLAKE2B 54e2352e4572bfc07397b540c4085bc604148fcfe5aa5c6d8669264c5595dbc810cf3855eb3a0eb692118bb85916b1060653024a71c400eecdcba06626bfa75e SHA512 0c97861d9f3960d70ce1d9fc5974bd3db1d6a606fdc2c76bf7e520f41122490fb33872db9f9f64fa06f60970d506f27f19fd83bdcf2c19cfea02a15d1e53284e +DIST firefox-102.0-ia.xpi 523743 BLAKE2B 4f1b0fff8593cbb4709af55b4703181a54bcd5bdbc79ece5ec0893139473dad50a747364c5b16374804ed54604b293612f66b8df1b0763de91ceeb4924f5a3af SHA512 e0fe67870bc1bc4eeb9d1783a7e0aa3a7baa6e5c60977662e41c5cc66bacc6909ad28846b1c5bbdc8ca9e5612c9d2a0a4c30f267f2c05a869b188560cfec3909 +DIST firefox-102.0-id.xpi 521249 BLAKE2B 08d3d7e108c8ab5fa63c8b2123c9502a94d486952a6c20399c199a7cd96e8e2a03b66cc649d6df43705bd45d3cf6026fffab34f49085840bac5c5543b7c43e53 SHA512 a1eeb71946091578dbbb6810f849032a1f8f09e751897b61ec2fc959b9c79454e6945ce87a78bdd637d9d0fa9e5c605817e4755b32cff67f34461cfae0c4dd22 +DIST firefox-102.0-is.xpi 528390 BLAKE2B 335ebbc3b8bac0ddd56dd2438c3274d2ffb7df74b64ce43849fca77206d8a7c355232efb2702d31ed83d71d27bc9c556fca2cce9e6ef82c9db736ece1bbf8d52 SHA512 7088be9f9cbb42d29741376034fb375896808420c8bd7376da542cb06fda30fa75a8d47b85dfd1a01009dd590b0495a2b5021ecee14b4d514ff4788a96280cbd +DIST firefox-102.0-it.xpi 449753 BLAKE2B 7204008f57cb5254f7e4f70b9e4c058f070821504edd1069870979055cd465ecc03bea95b1cea232811dd883bf4c1fd2191f4a9c08114114887117904071fc70 SHA512 6ca959d39d9abd0d01aea6037ceb31f241a17835fd4e7f02585f260a4eff162d6b42137969615292a647ff73aeac852a07c1444f54e1d6a66ffa21f48bceb034 +DIST firefox-102.0-ja.xpi 573744 BLAKE2B a3872c72440fef0d1c5e294741ae84ddc2b10a07a9e1bd68a20ab1472d1bfef4ce24fd8548605a919dc7fb1597a7a070dcbc4d1cdfbdb2f7ab3bcacb04428a95 SHA512 01df2c5fb0dd239cfd4e737de9aaa7405df446928bbcbd8255d4686a44f185ce41535976d8b8af6770843457bf0275973bba460a1db51ef4911fe3e070782ea9 +DIST firefox-102.0-ka.xpi 581241 BLAKE2B 4264cf98938748eed90bf7beecc2b5458ebcb75ceea7598d795c1933cfb0b147806b3dcf69da3109969b6a5e44acc2500f607cfaf4492b15b52cf25e203aebd4 SHA512 fe294cc0008cd38567f93b227e6b5829e661d7f6a31aaeb8fcb1e93cbf5d159ab0a91b3ad2a85928531169243287d90c972f468bd27668a6fad7ab7698dd7164 +DIST firefox-102.0-kab.xpi 543023 BLAKE2B 6b9a86e6fe20f9612eb08a1bece3fc05b983ed396824549f208ea787bfffab0233e4b8a2277c64b1ed848a0134f7f33c34643b895dd514b758789d32ef715eb8 SHA512 e3fc8d8012e5fad8f57a9e06c87b1ce46bc9e1be396e0f73d0b2165acb68888f3fc6cbb01531e0bad31eceff31f3736fed6893a73285fe2181713e7adf0aa7b6 +DIST firefox-102.0-kk.xpi 604853 BLAKE2B ec254a38f76e7aff04f3436da4bb44f5708bc80a9262de7b39dcbdfc3a60b285572cdbd27d59db2d484a68ee38abda1d4597a29e9a8c033d1440f43c7d5fc04d SHA512 b4d2f1e3074e94e3447071526a3c4b4bcf5b4ad45584b3389547b8bf04c1b8c0e8961e7990544bc6daecfb89eef1bb2135b10077c829d91cbf47f18166a5d093 +DIST firefox-102.0-km.xpi 519627 BLAKE2B 62c7738fcc346150331b8eda38f4c824aa91df1b7fe65c45c91d547d445e3d6f530597c86c8b1e89d0de024a778bc9c6ae0b92658a76bd5ba80a90e5323159b0 SHA512 dc3cc89f0f9e882e35888593e9f602fa97cd953a1215bfe3630816ba8a7059857b54604e17aa2f6c1b333f6e97f518c886c330a03fa654ce0eba66470d5abd3e +DIST firefox-102.0-kn.xpi 485569 BLAKE2B 276f030284f21ce0041e455ebd004f5b6f70230d9c0ca36a62fd81492aa8d8b0a48be4cbaad7a56f881c5996f48cd62697cbbbd06e160d4b1f9358ad3e2b3ff0 SHA512 2175227b123837bee9bc377e44e60d2b6490ccd667a6cdd7d5bf4d7d17b1fa2b4e6b3e34559f08e79c7affe9afd28d2ff0615028cc2c1420271fd4fe5e7cce4e +DIST firefox-102.0-ko.xpi 570086 BLAKE2B 310bb18acf85277b31cf3d8d9b5a03fbe769bce27641bb7e45df8cdd301073687105282485a0cb906c25c2b4efecf8c3bb7fea6a44bc7fd83f1562b33fc5e285 SHA512 287eac3c75e9f62bdff42d9c0bd919cb7a2884a38120fb1545b6dbc7ad9b8a09820be45f7f03c044a6d25fb386727656a45baf7a8011e0accfd08b64ba9a6759 +DIST firefox-102.0-lij.xpi 459205 BLAKE2B 712dce720af6161fba6505b4088d0eb16350e7175f6ae390c39a60dc81f32e1bcd778e6b9a5b6b39b1457e65d7003eeca4f1860c2e6eb1eb530041a27ae27ac6 SHA512 41334423d2d9069e5a979b9dd585f3d83d863dfcbc020d06a5baf3c0702a063c8891cc4276eb52e5a68977bb112e3398f9fe7180dfaa00bf77b06186b00f5fb4 +DIST firefox-102.0-lt.xpi 549839 BLAKE2B c1fd8bbc2fde4cc5ec6f136e9316411ad0f478dc181913a3bc0903862d38d8702497a4ceed364c8570b32a5d11287962bfe9740b60d1a7930ce2f22fe31ecc71 SHA512 637d5038ced19bfa1745bb96dcb8c49038a2eee206ce11fd532b91fdae30967a40c233a195c33e575947c73469c95355db729b61e421a5d1f5d73cf2b3ae18d4 +DIST firefox-102.0-lv.xpi 452063 BLAKE2B 770ed4645693822c2f6bf0d9acdc55c3f0f83d68d1d01a98783d47a4bb8611dc88a9d2154fab49a4a2e2921c81b4dda7ede3e3fabb9a5f9ad43cd120bd02af1d SHA512 ac38c1a173008aa60972a96b139d3c7c2acb4407ff12a30c3b7a42f62dba4260627a02cbb3324ca068f4848aca3858532c55da6e12e498b9d07f0ae3dd8e5c9c +DIST firefox-102.0-mk.xpi 458906 BLAKE2B 00052f7fae9f099d62eb72d61cee4efd588f27a7269eaedf8d88729323de4e6fcaff6baab44d27429ea815391b2c586645efeb03870c2fcc2fc70f42c30ba98b SHA512 b36e359d18b6f8578602ddf37e3bc990410ebde0952e069e04be30ecd5c0531e576784e0f5ec4a53d2fbca3e8bcc6491d48eba5decc3c74ec3acaaa541e39e72 +DIST firefox-102.0-mr.xpi 519582 BLAKE2B f1854857d5d8f5b62acf7b637f3029f5260fd88534871b1e47f373edeac0c39f4b8c18c39031b31c8cd802705d1e284d3d8ec0af3fc453d975ebc3a93e7d990b SHA512 89e4888461d37216e73e497ef478634e05cd4f935cacdcd4792d004c5a2b6ad94ebe12263f1cf74f5ec61849dc864090cc46a89e1d4cf27dd3e11db3281394c9 +DIST firefox-102.0-ms.xpi 437312 BLAKE2B 6b9b2e0153dbad03006157cf160aa0ff8f7c40922bf70ef1c12cacf7e8e1646285a5c9dbdf0cdbcf9c61da5ace7c03cdd2c28a281a2655d04e0c51e7a5c0cb7d SHA512 ea3051a814cb0c568e5e8be30963c4cd22ec3e3590692852bdefba1fd2630f1dd5a41262b447f91f804845fcf61bcce894bb0e446559e0f65d95d182a7ffb04c +DIST firefox-102.0-my.xpi 498768 BLAKE2B 2df83f8cd473d30643a4d9c4b65cff7e6ea3cfbeb9d08d8467dcb079acb1deb7720991b36808d05e654097a7a4422112e4dad0a036a2be26491a251415af863c SHA512 996231f63d772ffaa363a3bce5f2054ec5aa77b7b25ed036ee1c4c7be93e7f25484c1a013354b56069581d59cdc0eb21928929b114dcb4389ad95d4ea409bccd +DIST firefox-102.0-nb-NO.xpi 521318 BLAKE2B e4fad5e029a2cdd6dcbddab87cf53de1351719550766ec73b65ace2f5cbbb9057bcf843f7f2c96d233a6d0b798c060f611147d8d2065253f19c56d92f3ff4523 SHA512 9a16356f07acdc0f09724d1d1e1117b52d14851ca7c2d9961553962a4c514290c515a664c6451e847331ef77aec3b6df763f9b8e88b6e4dc56d2417f96f90674 +DIST firefox-102.0-ne-NP.xpi 477725 BLAKE2B ce46ae1c0362f564f969a1745546d9e702ebc34fe4cce85baede6ff6050c3c9f10f5897db210fae1573e61d7a1a734f084fe7d05a78895f7d022aa966983be9a SHA512 f3b2af66932cc2d8265a8e825e1f3e10834838d7c7194109c7107f8cbf67057b0249fadf515451d244abcd053db9e437c3717583ac8450effac1fab52e05bfeb +DIST firefox-102.0-nl.xpi 528938 BLAKE2B cbf292ead5770ae812d30124b5e88842217ee47f559fe4c534fe6aa5a45ad7f1af8cc6736fd07ac35a446809d1fab5ffa9925528b0abbaa9c0270ec57c77a49a SHA512 b39b4721e0ef253eb1eae55424be05ff0ef08b836df37fcee8000580faf50e0354b957530fe2bbc2e125463fc9e2dd0437d929b4fe85773d2fb2cdd03ff57a9d +DIST firefox-102.0-nn-NO.xpi 523252 BLAKE2B 2ab27538a3e14fdd4895e50393e1e0fb700733fd40d5b8f9d6be2a3ccd19dc1b088be1ac8278b3addbfd4d558a1d774ed26ce23718eecf1d2e97cab73c52f2f9 SHA512 8822083bc062300156700cb761c410a2b811e4ae5adf6890e808e1aca6752f92cf8074ac1665ff33dd1f4ab7281cb677d96616d6645c244c0d61433f203eab8e +DIST firefox-102.0-oc.xpi 544574 BLAKE2B 70673febaa283f31827c8d1a94e0216fe724b5504bc6e81234cb43123213cd257d04d4756b46951f5df9c79c518bb7e5efbcaf8f9d3bb4794ff87e5e171c0e9f SHA512 6843d6b5f805dca6a4f6ff8ed84182380d625a67342e6bc48d1b8b57839a4739f7ed6d8e9a23b6ba202b4eb29da4063a6baeb458b523cc9b264498d03a960572 +DIST firefox-102.0-pa-IN.xpi 587394 BLAKE2B 4fc0f1765a3156f9c0769a29c12bf996b68a63ad6696712cc52d9db822230ddb2f0eacd14825d5d938b5da8ac0ec7e8e5b3ae4bd8357f46dd2816ac91f12d589 SHA512 1cbec3c6da0bfafa770d08e45487ac0bec48be03a17694089114c1416e7d9f44485a5333cf6340ea2e4c7c5ebd76f774be1a3a4adf9e143a71b84cbfbcbdd610 +DIST firefox-102.0-pl.xpi 548925 BLAKE2B 160200ac25e8662c286cb45bb6546bf381c51332340fc6c7fd6b2bbddbfc91c631dfef89b8ae026a2f88fcd8dd058a0f33b08af13b254b2042759c8c4a201d98 SHA512 612d67a037e582b2b4895c6d540c9ebbce82eab619c73213321afc4b8e17e77fd1c5fd112825efc3cafbfb3ec52bcf334d01a0b3bf3940bec8819af948f8f7ec +DIST firefox-102.0-pt-BR.xpi 534193 BLAKE2B 1820aafa3663dacbf5328fab3aecf3debbb1937dea57dbd74f45dd06662a50bc41e597bb377ae5699cfcc0bb15a047f4f75413477e2a9003c4e53debc774a2f4 SHA512 cf578d71864f6967deb2563bf1fee63a2afc02a81e89b1a6f0de79615f567c7b78a12bb40e850b42cd8ca40c3eba766b2478a504da3fa9a1f4ee313932f094c8 +DIST firefox-102.0-pt-PT.xpi 538020 BLAKE2B d43cb7e8cafbed80bdf02eb52a5179de495353ac6c602b19414239be4e53662a1f9d1b2580bd98f76d78f4db9d3380db69423a02ee2fe3660964b166d076a263 SHA512 10d7c1921fa9c880feab048c528da5f3297bcb092be4f2f5d3583cb3e2de19594f2440f5022e136be9f53a2c116f9f465704dead7da18e7aead5eff33390a256 +DIST firefox-102.0-rm.xpi 528321 BLAKE2B 6431357c74dc1d42fe3006910a7b96f437916bb0becc80beeed6feda54da6ac266d648118a51ea38e5f8f3bedcf817a2c918a62794b5984c6c55a1922ade9b64 SHA512 7823ae5095f803ae8972e935e51da6fbd00a7aad3dfae4a67fa46cb2a2426fe19bff4512cbd7a1eadf75c3f421ee5215e64ef8917f0ff5323d669782f4adac32 +DIST firefox-102.0-ro.xpi 515795 BLAKE2B 207bfc940cc832f55a0c702fa00b1841e5e9d3528d8344e341396d221d0778060a6685a5575e88a8ecb9af49165e7efde381607982666bcb7c6190174816d1e8 SHA512 2f1be7028805aa3beff6394ec05926760890db2779788b5389c4f9583e89082aadbc8bcac6987ee4ff2dc85d68bb1e63292d81822d03accafd023ebecf38b19f +DIST firefox-102.0-ru.xpi 617119 BLAKE2B 00593df8ceef3f1a6118cf8d702c3573c094a5d263863e43d3a767ce854828684507a28ffb66b04fca27eb749ada17177150cacab364340041c69920978e341a SHA512 1e0c869ef5bdbaeace17ca01018bf5dcb593138172834e861dd381957b22358f7bd5464bcbf0e63154c81670051cfa6e6cac13b06fad695872f0d620f26cb15b +DIST firefox-102.0-sco.xpi 485586 BLAKE2B 2237288178dc677da77892eca5c619b9c2f75e5d97ecb49a33cdf7504643811915978bcfb6a8aa184d17100f687032d03c9f673568c3318d181f95234c68de38 SHA512 e876f4dd9f67eb5f37b1e57619f27f9f21b81892181115e10f281dc1767287ef23464eff75016757d36611f9a729efe0a12d6c165f3a7fef8aee340f071e2083 +DIST firefox-102.0-si.xpi 473403 BLAKE2B 752eb887908e258fad1d3e45aea36988616315f3917dd166e646b53694eba8410cc21efd3f6420e77e284ac2d0298e88c9a5d1b461dae70ab0c44ffad320e39a SHA512 18eea488d9a85f463f2dd04c0d6bfef35b31f80679955e5677e72b53fbc347c14fc9191fee31ffa6481ff4335d1d921bf87680512f33c227534438a1ad74e079 +DIST firefox-102.0-sk.xpi 557528 BLAKE2B 72675effb4e606eeae21ea4870073d3a89f1fb63e8c8ebb1d95a1adf6c51e893c8a5e3870ada92803e1fe147197fa3391af9d317359aa9d3ecb41f4ededd00e8 SHA512 473d6c71660b73fd5c4cae17ac80e7eb68fe8440e114521bcc876f015d18458956e19f23b7108f42bc98963299b9b657aa6a740c450b5e6e4d7a577ddd80a7d5 +DIST firefox-102.0-sl.xpi 531179 BLAKE2B 78f2e6d8855f68835fc7a9312c9fa153e5673e2edbd881fc831eeb79676964fd6b4bafcba126741ac6f5f31100019d0d7846b3d3aedb53d1daad8e8b41bf4419 SHA512 5feeb9f97b349c7c70b9ccb504a4848fa110c717557c3716ae4cade33ea9ef56ed44b1abf206283d2496a9e63362553d81aade91b46c3a6d87504c55f5abeaed +DIST firefox-102.0-son.xpi 415191 BLAKE2B c45e02e49f18dda1daa4459459d248db1a2d9d1b4ba75f02b9fe2157bafe1c653342184c6c7ceca259a03bf9bf436bb24952190f3aaab4bd21258a434c6eb407 SHA512 83fd1994ed055305f6f0ce6f9c4d83b8beb1a63640bf6d8628eb5f11ade4bd9d071576df5dad300e874386422c5e651e1f520a63b118df2ee1d83c9fd27629b0 +DIST firefox-102.0-sq.xpi 546090 BLAKE2B 398efdccaf629720750a0d54171ad58f620ce25e016b597afd2abd4c12f830a65e357452ac1d937a4725035a147853d87f20e8a6561c743c41f5818b33633427 SHA512 ec65eb04863e3ea0472a47572a428a9a5e1413015a08dfafdf0377d55ab69bef5d9656ad743173ee2ada74de88c9694b94a986940d5f03c1d4083836ca23eaeb +DIST firefox-102.0-sr.xpi 571117 BLAKE2B 013ff9e5d3c9663f7a28ca27aac5b9a21b808cb7f8109a3232c9d78bf3317283b1ead1b2252f5bb029e116a348b713af68ddaf947311cc13f2defe9f7e3c5177 SHA512 cc780782d71eb03b4c3e99c5cbf676efeb56f99f0538a207a39ae718a122cac923a195f715468aa6c8481e8312d28724dc8ece71486f58828ed7e052b94ac8b9 +DIST firefox-102.0-sv-SE.xpi 531425 BLAKE2B 10a907e9ffb9bc54cf24acbd348e989e67954d276084470ebaf88936e355ba02ac95dbb0d9ff58d8fec0850c844337ca9322a1d338d720a3bdc6e19826d065d4 SHA512 48b548e88a932f5cfe0bd60dc024ef50b5806ceb8a817c7e38c9a6b3ab147be052f9c1d2fa57b14e344cc854283165bee609924847dea2995baf7951ec64ebfa +DIST firefox-102.0-szl.xpi 497441 BLAKE2B 0cda2f047c2ba7d39972cdc6bc611a582beba2339843e4fdb606743e1c80e4087687ee663855816f56f10c42ed7ddc5b76c9df08413c88a20fc198da682c3ed6 SHA512 9ab12d0ed9902cf5c4e5b5e7d03cc0dcf8d01d8dde883efaea29b8f06a49c11238c6d23d7175367bd90523e1caaabf4dbd4b77148cbf8e7a43743819fa09518c +DIST firefox-102.0-ta.xpi 499389 BLAKE2B f17a2b1eda4b8c4379a03dfcb57d36bfa6d4a401fe43a4ed2e1f70af952e6ce2229f2f005d4d2658930ba09006d645de47c95273aefb2d4dc619b342b01058dd SHA512 b50e1e7a075f51ee0baa0cee5cd93f7976a627698977af2cd678e2c33f836c9a1fd0de4e7670bbf2d88a9f785b6e917a2521c6b023ed790401eb3c7cb65754c3 +DIST firefox-102.0-te.xpi 540270 BLAKE2B 5fe991b77f6b9c9ddb9a9f49383ae94e62e49e5dc56e916f58d232f360b34e7ab7434f165bf29744b0631aa951da9e009cb2ed9e0b9d6ad832c43fc2b773ed58 SHA512 457506bc6eab626dd6885a02273e3ee6ea93136ea803a125c4e231d55d6aecad20b425fad8ffb021273560a7d83e6b9413d58dec618c476d1020f0399cc0f4e0 +DIST firefox-102.0-th.xpi 598746 BLAKE2B 422dc1b321b67b13c9c4353823588da69155dfd8a74c535eedf4f3c091b79d6b55b1fc232ce2ab7b9d6398de4081595c16fc6d42c0751a85b6cf2d380b8249ec SHA512 ce0fcb3457b4eca577b232717f8d94517bdf7178b05ddfd119db4b610fc908f843cf514b829e4ad71fbbf3c841c825d6354df41848ec9da463e054bcb10fc24d +DIST firefox-102.0-tl.xpi 505602 BLAKE2B f2f9b73492ca73a25d5c04ab1176665beda773a8c3d6905ff76ba707674619bfcf9ae2e86ccb65afff960aa66edc2482e04b6049d09b7b4d680a2cf3158e6dd8 SHA512 98f287bb2b3643336aac9f90e6b26a3978699d9f829112bbbe2dfcca032504006a55a65d1b5adc302d3062fb5697169e40e0523ffd0d4b36f94568553ed9b29c +DIST firefox-102.0-tr.xpi 544796 BLAKE2B 1423748fc4066671e1f444856599108a2e36efd05f7cb840897179d81d658ad3187cbdbaa8e7b7a2e73ecb6711d4367d4038f69da336daba4f6be88b1e39567f SHA512 a88a0a48da82f99baca877de1a99a96567718c25f52b2dc7bc24dfde7115a6e91f71ff3a18ff8209210fcf2484bc7874a5f28d11e0c665db65e7501a9021fb1a +DIST firefox-102.0-trs.xpi 477870 BLAKE2B ed56d1690c471d55fadb016f4e7c05a0b0b558d0fb665dc492471d25a2ad70a0a7cc6db77c328631a8d70d31f271fa82e02396fc0297937fc733b471d576c80c SHA512 fdd2bf2d1d85cce4081db87b7788857bc8103521cbec6a05595d7898a482e1fd0f5f6e747229acb3e13fe25f0bebee6f938ba66e156fdbe1bf5ae7086385494a +DIST firefox-102.0-uk.xpi 610924 BLAKE2B 351fed6bdb8b1cb28f9277557191d721085281ab6e6ca37d849f01635d95b6f9334cb0b1ba8358b01a7e1ffb2424315f7511fa9e46c79c2d518673231ed596a8 SHA512 1ff88e2c7392fe0099b3eb7acdac13a045c7b799b966d9c1b6e806095f1d1bd5c8fbb9d39b054054dc366f55320803d0a0060183de727acf2007e59be803990a +DIST firefox-102.0-ur.xpi 547860 BLAKE2B 5084d45ebdafbf0a84fb6b01573c9a9aa41c7a860eb0b5a27298b8e9061b38d3b9fd1ccb83948c3d37179fbbc7b3ea312adb134657bbde16cae7635a8c2de572 SHA512 a0f5fc68fda5b3d1ae33fe02572a5f05b3437cc5716744185206ec44ad551e544289dd759d6233d58d70726dbb2312ea107320549e4472cba8751a8e61ecd394 +DIST firefox-102.0-uz.xpi 467335 BLAKE2B 67b0ea6862374c5c3145b8077d97ca3b0528297a425543ae3538ee3a9cae77e76a04dda481ac0837d2179132873a34a193015559cbd372f44f65827f37eb9af1 SHA512 c0a8fdf4dd86f6800547ff4e05aaf189adbb2a7aab215dfd89bcc43ad4620ad59f52d4f80ee952e7c0ae709e0981b3b5180c50700fb9317f163a391c65940605 +DIST firefox-102.0-vi.xpi 563706 BLAKE2B 42ffab120340561b147e432b20e95e841cc8dbfcb8bf33dc857e7d3e41928d3bdec16583f1f1a4147ac13cef9c5c7c56f929b7b5031c72e059f9f43aa2ecfb66 SHA512 eaa5ba7a847d318cfa23ddf7986b745b1f712a11a703af575a0a1491e0b263337d2d80226f1789597e4361b62ae5307e1cd3b1bc4c6eebb72962a99cceef4766 +DIST firefox-102.0-xh.xpi 418248 BLAKE2B 885d842dd0393964ab4fdf1e404d5b97bfe89d7c733cb0c7e0a889cc068c83849f0790eca76cf4eae7fc5c39ce4252d99e145fb401212d420b53a87caa6cabbc SHA512 4d858b575b25a56dbd9b41298d95d422c5165981587fbc19517e8fea7fd46f3ef418c2ef8fabc10525caa844c74e773145bc302234ae816ec08e3e13527a288a +DIST firefox-102.0-zh-CN.xpi 566189 BLAKE2B 6cb83e63e0c213ef1b08458bfabfb4ba97c284c9b4f34d16e462be908c27d6ac3b385fddbd5b0ed224fc723a19c86b3902c6f1af18235cdcedc8367c786729b5 SHA512 36f1d5f3a8501e1e610cd55f7163e283a6def99103d89b2a7c86f381459db515edf2e01a749f7be80e8820225c11dd5bc20c8868dbfe94a273d3a5738e80d6be +DIST firefox-102.0-zh-TW.xpi 567157 BLAKE2B 111d1dced6e2dc46a5dfc37b37c3a91a3bd2adb4fee149b8fdcbd87f2c739be09dae198847550721bcd7565b71b43cb8926b57442bce7a5ba1adf0627155d394 SHA512 d907102b3a07b1ddad5f88719cf2a8939da117cd7eebd04ffd2f9a475cd54bb891ff2788a76e0da953e2ac24f2a2d9f1a36a4d3c230208491e169791ad098fc1 +DIST firefox-102.0.source.tar.xz 482027632 BLAKE2B 34a2b2f164aded6ed666220f983c694d20df094f032e218d682308e69045dcfe2e031b14dfc4802e5a8c18f892e6e6cfca74080de89d2091f1a7690ed5387d3e SHA512 c7dd6d8d74c46573b16d097a5e5d230669e5778cd680b3b6f30510e989d21543138ced3bb013998b76614aa380b28efd8542450c591d8b724e03bd163d012057 diff --git a/www-client/firefox/firefox-101.0.1-r11.ebuild b/www-client/firefox/firefox-101.0.1-r11.ebuild deleted file mode 100644 index 04e2696..0000000 --- a/www-client/firefox/firefox-101.0.1-r11.ebuild +++ /dev/null @@ -1,1297 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -FIREFOX_PATCHSET="firefox-101-patches-08j.tar.xz" - -LLVM_MAX_SLOT=14 - -PYTHON_COMPAT=( python3_{8..10} ) -PYTHON_REQ_USE="ncurses,sqlite,ssl" - -WANT_AUTOCONF="2.1" - -VIRTUALX_REQUIRED="manual" -VIRTUALWL_REQUIRED="manual" - -MOZ_ESR= - -MOZ_PV=${PV} -MOZ_PV_SUFFIX= -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then - MOZ_PV_SUFFIX=${BASH_REMATCH[1]} - - # Convert the ebuild version to the upstream Mozilla version - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI -fi - -if [[ -n ${MOZ_ESR} ]] ; then - # ESR releases have slightly different version numbers - MOZ_PV="${MOZ_PV}esr" -fi - -MOZ_PN="${PN%-bin}" -MOZ_P="${MOZ_PN}-${MOZ_PV}" -MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" -MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" - -inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \ - llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \ - virtualwl virtualx xdg - -MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" - -if [[ ${PV} == *_rc* ]] ; then - MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" -fi - -PATCH_URIS=( - https://dev.gentoo.org/~{juippis,polynomial-c,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET} -) - -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz - ${PATCH_URIS[@]}" - -DESCRIPTION="Firefox Web Browser" -HOMEPAGE="https://www.mozilla.com/firefox" - -KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" - -SLOT="rapid" -LICENSE="MPL-2.0 GPL-2 LGPL-2.1" - -IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" -IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux" -IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp" -IUSE+=" wayland wifi" - -# Firefox-only IUSE -IUSE+=" geckodriver +gmp-autoupdate screencast +X" - -REQUIRED_USE="debug? ( !system-av1 ) - pgo? ( lto ) - wayland? ( dbus ) - wifi? ( dbus )" - -# Firefox-only REQUIRED_USE flags -REQUIRED_USE+=" || ( X wayland )" -REQUIRED_USE+=" screencast? ( wayland )" - -BDEPEND="${PYTHON_DEPS} - app-arch/unzip - app-arch/zip - >=dev-util/cbindgen-0.24.0 - >=net-libs/nodejs-10.23.1 - virtual/pkgconfig - >=virtual/rust-1.59.0 - || ( - ( - sys-devel/clang:14 - sys-devel/llvm:14 - clang? ( - =sys-devel/lld-14* - pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] ) - ) - ) - ( - sys-devel/clang:13 - sys-devel/llvm:13 - clang? ( - =sys-devel/lld-13* - pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] ) - ) - ) - ( - sys-devel/clang:12 - sys-devel/llvm:12 - clang? ( - =sys-devel/lld-12* - pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] ) - ) - ) - ) - amd64? ( >=dev-lang/nasm-2.14 ) - x86? ( >=dev-lang/nasm-2.14 ) - pgo? ( - X? ( ${VIRTUALX_DEPEND} ) - !X? ( wayland? ( ${VIRTUALWL_DEPEND} ) ) - ) -" - -COMMON_DEPEND=" - dev-libs/glib:2 - dev-libs/atk - dev-libs/expat - dev-libs/libffi:= - >=dev-libs/nss-3.78 - >=dev-libs/nspr-4.32 - media-libs/alsa-lib - media-libs/fontconfig - media-libs/freetype - media-libs/mesa - media-video/ffmpeg - sys-libs/zlib - virtual/freedesktop-icon-theme - x11-libs/cairo - x11-libs/gdk-pixbuf - x11-libs/pango - x11-libs/pixman - dbus? ( - dev-libs/dbus-glib - sys-apps/dbus - ) - jack? ( virtual/jack ) - libproxy? ( net-libs/libproxy ) - selinux? ( sec-policy/selinux-mozilla ) - sndio? ( >=media-sound/sndio-1.8.0-r1 ) - screencast? ( media-video/pipewire:= ) - system-av1? ( - >=media-libs/dav1d-0.9.3:= - >=media-libs/libaom-1.0.0:= - ) - system-harfbuzz? ( - >=media-gfx/graphite2-1.3.13 - >=media-libs/harfbuzz-2.8.1:0= - ) - system-icu? ( >=dev-libs/icu-71.1:= ) - system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) - system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] ) - system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) - system-png? ( >=media-libs/libpng-1.6.35:0=[apng] ) - system-webp? ( >=media-libs/libwebp-1.1.0:0= ) - wayland? ( - x11-libs/gtk+:3[wayland] - x11-libs/libdrm - x11-libs/libxkbcommon[wayland] - ) - wifi? ( - kernel_linux? ( - dev-libs/dbus-glib - net-misc/networkmanager - sys-apps/dbus - ) - ) - X? ( - virtual/opengl - x11-libs/cairo[X] - x11-libs/gtk+:3[X] - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libxkbcommon[X] - x11-libs/libXrandr - x11-libs/libXtst - x11-libs/libxcb:= - )" - -RDEPEND="${COMMON_DEPEND} - !www-client/firefox:0 - !www-client/firefox:esr - jack? ( virtual/jack ) - openh264? ( media-libs/openh264:*[plugin] ) - pulseaudio? ( - || ( - media-sound/pulseaudio - >=media-sound/apulse-0.1.12-r4 - ) - ) - selinux? ( sec-policy/selinux-mozilla )" - -DEPEND="${COMMON_DEPEND} - pulseaudio? ( - || ( - media-sound/pulseaudio - >=media-sound/apulse-0.1.12-r4[sdk] - ) - ) - X? ( - x11-libs/libICE - x11-libs/libSM - )" - -S="${WORKDIR}/${PN}-${PV%_*}" - -# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or -# overridden in the enviromnent (advanced hackers only) -if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then - MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) -fi - -llvm_check_deps() { - if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then - einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if use clang ; then - if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then - einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if use pgo ; then - if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then - einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - fi - fi - - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 -} - -MOZ_LANGS=( - af ar ast be bg br ca cak cs cy da de dsb - el en-CA en-GB en-US es-AR es-ES et eu - fi fr fy-NL ga-IE gd gl he hr hsb hu - id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO - pa-IN pl pt-BR pt-PT rm ro ru - sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW -) - -# Firefox-only LANGS -MOZ_LANGS+=( ach ) -MOZ_LANGS+=( an ) -MOZ_LANGS+=( az ) -MOZ_LANGS+=( bn ) -MOZ_LANGS+=( bs ) -MOZ_LANGS+=( ca-valencia ) -MOZ_LANGS+=( eo ) -MOZ_LANGS+=( es-CL ) -MOZ_LANGS+=( es-MX ) -MOZ_LANGS+=( fa ) -MOZ_LANGS+=( ff ) -MOZ_LANGS+=( gn ) -MOZ_LANGS+=( gu-IN ) -MOZ_LANGS+=( hi-IN ) -MOZ_LANGS+=( hy-AM ) -MOZ_LANGS+=( ia ) -MOZ_LANGS+=( km ) -MOZ_LANGS+=( kn ) -MOZ_LANGS+=( lij ) -MOZ_LANGS+=( mk ) -MOZ_LANGS+=( mr ) -MOZ_LANGS+=( my ) -MOZ_LANGS+=( ne-NP ) -MOZ_LANGS+=( oc ) -MOZ_LANGS+=( sco ) -MOZ_LANGS+=( si ) -MOZ_LANGS+=( son ) -MOZ_LANGS+=( szl ) -MOZ_LANGS+=( ta ) -MOZ_LANGS+=( te ) -MOZ_LANGS+=( tl ) -MOZ_LANGS+=( trs ) -MOZ_LANGS+=( ur ) -MOZ_LANGS+=( xh ) - -mozilla_set_globals() { - # https://bugs.gentoo.org/587334 - local MOZ_TOO_REGIONALIZED_FOR_L10N=( - fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE - ) - - local lang xflag - for lang in "${MOZ_LANGS[@]}" ; do - # en and en_US are handled internally - if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then - continue - fi - - # strip region subtag if $lang is in the list - if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then - xflag=${lang%%-*} - else - xflag=${lang} - fi - - SRC_URI+=" l10n_${xflag/[_@]/-}? (" - SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" - SRC_URI+=" )" - IUSE+=" l10n_${xflag/[_@]/-}" - done -} -mozilla_set_globals - -moz_clear_vendor_checksums() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -ne 1 ]] ; then - die "${FUNCNAME} requires exact one argument" - fi - - einfo "Clearing cargo checksums for ${1} ..." - - sed -i \ - -e 's/\("files":{\)[^}]*/\1/' \ - "${S}"/third_party/rust/${1}/.cargo-checksum.json \ - || die -} - -moz_install_xpi() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local DESTDIR=${1} - shift - - insinto "${DESTDIR}" - - local emid xpi_file xpi_tmp_dir - for xpi_file in "${@}" ; do - emid= - xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") - - # Unpack XPI - unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die - - # Determine extension ID - if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then - emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") - [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" - elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then - emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") - [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" - else - die "failed to determine extension id" - fi - - einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." - newins "${xpi_file}" "${emid}.xpi" - done -} - -mozconfig_add_options_ac() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_add_options_mk() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_use_enable() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_enable "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -mozconfig_use_with() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_with "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -pkg_pretend() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use pgo ; then - if ! has usersandbox $FEATURES ; then - die "You must enable usersandbox as X server can not run as root!" - fi - fi - - # Ensure we have enough disk space to compile - if use pgo || use lto || use debug ; then - CHECKREQS_DISK_BUILD="13500M" - else - CHECKREQS_DISK_BUILD="6600M" - fi - - check-reqs_pkg_pretend - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use pgo ; then - if ! has userpriv ${FEATURES} ; then - eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" - fi - fi - - # Ensure we have enough disk space to compile - if use pgo || use lto || use debug ; then - CHECKREQS_DISK_BUILD="13500M" - else - CHECKREQS_DISK_BUILD="6400M" - fi - - check-reqs_pkg_setup - - llvm_pkg_setup - - if use clang && use lto ; then - local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') - [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") - [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" - - local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') - [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") - [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" - - if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then - eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." - eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" - eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" - eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" - eerror " - Build ${CATEGORY}/${PN} without USE=lto" - eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole " - eerror " llvm/clang/lld/rust chain depending on your @world updates)" - die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" - fi - fi - - if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \ - && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then - # bug 792705 - eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)." - die "Set USE=clang or select "${S}"/api-google.key || die - echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die - echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die - - xdg_environment_reset -} - -src_configure() { - # Show flags set at the beginning - einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" - einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" - einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" - einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" - einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" - - local have_switched_compiler= - if use clang && ! tc-is-clang ; then - # Force clang - einfo "Enforcing the use of clang due to USE=clang ..." - have_switched_compiler=yes - AR=llvm-ar - AS=llvm-as - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - NM=llvm-nm - RANLIB=llvm-ranlib - elif ! use clang && ! tc-is-gcc ; then - # Force gcc - have_switched_compiler=yes - einfo "Enforcing the use of gcc due to USE=-clang ..." - AR=gcc-ar - CC=${CHOST}-gcc - CXX=${CHOST}-g++ - NM=gcc-nm - RANLIB=gcc-ranlib - fi - - if [[ -n "${have_switched_compiler}" ]] ; then - # Because we switched active compiler we have to ensure - # that no unsupported flags are set - strip-unsupported-flags - fi - - # Ensure we use correct toolchain - export HOST_CC="$(tc-getBUILD_CC)" - export HOST_CXX="$(tc-getBUILD_CXX)" - tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG - - # Pass the correct toolchain paths through cbindgen - if tc-is-cross-compiler ; then - export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" - fi - - # Set MOZILLA_FIVE_HOME - export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" - - # python/mach/mach/mixin/process.py fails to detect SHELL - export SHELL="${EPREFIX}/bin/bash" - - # Set state path - export MOZBUILD_STATE_PATH="${BUILD_DIR}" - - # Set MOZCONFIG - export MOZCONFIG="${S}/.mozconfig" - - # Initialize MOZCONFIG - mozconfig_add_options_ac '' --enable-application=browser - - # Set Gentoo defaults - export MOZILLA_OFFICIAL=1 - - mozconfig_add_options_ac 'Gentoo default' \ - --allow-addon-sideload \ - --disable-cargo-incremental \ - --disable-crashreporter \ - --disable-gpsd \ - --disable-install-strip \ - --disable-parental-controls \ - --disable-strip \ - --disable-updater \ - --enable-negotiateauth \ - --enable-new-pass-manager \ - --enable-official-branding \ - --enable-release \ - --enable-system-ffi \ - --enable-system-pixman \ - --host="${CBUILD:-${CHOST}}" \ - --libdir="${EPREFIX}/usr/$(get_libdir)" \ - --prefix="${EPREFIX}/usr" \ - --target="${CHOST}" \ - --without-ccache \ - --without-wasm-sandboxed-libraries \ - --with-intl-api \ - --with-libclang-path="$(llvm-config --libdir)" \ - --with-system-nspr \ - --with-system-nss \ - --with-system-zlib \ - --with-toolchain-prefix="${CHOST}-" \ - --with-unsigned-addon-scopes=app,system \ - --x-includes="${ESYSROOT}/usr/include" \ - --x-libraries="${ESYSROOT}/usr/$(get_libdir)" - - # Set update channel - local update_channel=release - [[ -n ${MOZ_ESR} ]] && update_channel=esr - mozconfig_add_options_ac '' --update-channel=${update_channel} - - if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then - mozconfig_add_options_ac '' --enable-rust-simd - fi - - # For future keywording: This is currently (97.0) only supported on: - # amd64, arm, arm64 & x86. - # Might want to flip the logic around if Firefox is to support more arches. - if use ppc64; then - mozconfig_add_options_ac '' --disable-sandbox - else - mozconfig_add_options_ac '' --enable-sandbox - fi - - if [[ -s "${S}/api-google.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-safebrowsing-api-keyfile="${S}/api-google.key" - else - einfo "Building without Google API key ..." - fi - - if [[ -s "${S}/api-location.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-location-service-api-keyfile="${S}/api-location.key" - else - einfo "Building without Location API key ..." - fi - - if [[ -s "${S}/api-mozilla.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-mozilla-api-keyfile="${S}/api-mozilla.key" - else - einfo "Building without Mozilla API key ..." - fi - - mozconfig_use_with system-av1 - mozconfig_use_with system-harfbuzz - mozconfig_use_with system-harfbuzz system-graphite2 - mozconfig_use_with system-icu - mozconfig_use_with system-jpeg - mozconfig_use_with system-libevent - mozconfig_use_with system-libvpx - mozconfig_use_with system-png - mozconfig_use_with system-webp - - mozconfig_use_enable dbus - mozconfig_use_enable libproxy - - use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme - - mozconfig_use_enable geckodriver - - if use hardened ; then - mozconfig_add_options_ac "+hardened" --enable-hardening - append-ldflags "-Wl,-z,relro -Wl,-z,now" - fi - - local myaudiobackends="" - use jack && myaudiobackends+="jack," - use sndio && myaudiobackends+="sndio," - use pulseaudio && myaudiobackends+="pulseaudio," - ! use pulseaudio && myaudiobackends+="alsa," - - mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" - - mozconfig_use_enable wifi necko-wifi - - if use X && use wayland ; then - mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland - elif ! use X && use wayland ; then - mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only - else - mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3 - fi - - if use lto ; then - if use clang ; then - # Upstream only supports lld when using clang - mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld - - mozconfig_add_options_ac '+lto' --enable-lto=cross - - else - # ThinLTO is currently broken, see bmo#1644409 - mozconfig_add_options_ac '+lto' --enable-lto=full - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd - fi - - if use pgo ; then - mozconfig_add_options_ac '+pgo' MOZ_PGO=1 - - if use clang ; then - # Used in build/pgo/profileserver.py - export LLVM_PROFDATA="llvm-profdata" - fi - fi - else - # Avoid auto-magic on linker - if use clang ; then - # This is upstream's default - mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld - else - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd - fi - fi - - # LTO flag was handled via configure - filter-flags '-flto*' - - mozconfig_use_enable debug - if use debug ; then - mozconfig_add_options_ac '+debug' --disable-optimize - else - if is-flag '-g*' ; then - if use clang ; then - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') - else - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols - fi - else - mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols - fi - - if is-flag '-O0' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 - elif is-flag '-O4' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 - elif is-flag '-O3' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 - elif is-flag '-O1' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 - elif is-flag '-Os' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os - else - mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 - fi - fi - - # Debug flag was handled via configure - filter-flags '-g*' - - # Optimization flag was handled via configure - filter-flags '-O*' - - # Modifications to better support ARM, bug #553364 - if use cpu_flags_arm_neon ; then - mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon - - if ! tc-is-clang ; then - # thumb options aren't supported when using clang, bug 666966 - mozconfig_add_options_ac '+cpu_flags_arm_neon' \ - --with-thumb=yes \ - --with-thumb-interwork=no - fi - fi - - if [[ ${CHOST} == armv*h* ]] ; then - mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard - - if ! use system-libvpx ; then - sed -i \ - -e "s|softfp|hard|" \ - "${S}"/media/libvpx/moz.build \ - || die - fi - fi - - if use clang ; then - # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822 - # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64') - local disable_elf_hack= - if use amd64 ; then - disable_elf_hack=yes - elif use x86 ; then - disable_elf_hack=yes - elif use arm ; then - disable_elf_hack=yes - fi - - if [[ -n ${disable_elf_hack} ]] ; then - mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack - fi - elif tc-is-gcc ; then - if ver_test $(gcc-fullversion) -ge 10 ; then - einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..." - append-cxxflags -fno-tree-loop-vectorize - fi - fi - - # Additional ARCH support - case "${ARCH}" in - arm) - # Reduce the memory requirements for linking - if use clang ; then - # Nothing to do - :; - elif use lto ; then - append-ldflags -Wl,--no-keep-memory - else - append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads - fi - ;; - esac - - if ! use elibc_glibc ; then - mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc - fi - - # Allow elfhack to work in combination with unstripped binaries - # when they would normally be larger than 2GiB. - append-ldflags "-Wl,--compress-debug-sections=zlib" - - # Make revdep-rebuild.sh happy; Also required for musl - append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags - - # Pass $MAKEOPTS to build system - export MOZ_MAKE_FLAGS="${MAKEOPTS}" - - # Use system's Python environment - PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach - - if use system-python-libs; then - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system" - else - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" - fi - - # Disable notification when build system has finished - export MOZ_NOSPAM=1 - - # Portage sets XARGS environment variable to "xargs -r" by default which - # breaks build system's check_prog() function which doesn't support arguments - mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" - - # Set build dir - mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" - - # Show flags we will use - einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" - einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" - einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" - einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" - einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" - - # Handle EXTRA_CONF and show summary - local ac opt hash reason - - # Apply EXTRA_ECONF entries to $MOZCONFIG - if [[ -n ${EXTRA_ECONF} ]] ; then - IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} - for opt in "${ac[@]}"; do - mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} - done - fi - - echo - echo "==========================================================" - echo "Building ${PF} with the following configuration" - grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do - [[ -z ${hash} || ${hash} == \# ]] \ - || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" - printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" - done - echo "==========================================================" - echo - - ./mach configure || die -} - -src_compile() { - local virtx_cmd= - - if use pgo ; then - if use X; then - local -x GDK_BACKEND=x11 - virtx_cmd=virtx - elif use wayland; then - local -x GDK_BACKEND=wayland - virtx_cmd=virtwl - fi - - # Reset and cleanup environment variables used by GNOME/XDG - gnome2_environment_reset - - addpredict /root - fi - - ${virtx_cmd} ./mach build --verbose \ - || die -} - -src_install() { - # xpcshell is getting called during install - pax-mark m \ - "${BUILD_DIR}"/dist/bin/xpcshell \ - "${BUILD_DIR}"/dist/bin/${PN} \ - "${BUILD_DIR}"/dist/bin/plugin-container - - DESTDIR="${D}" ./mach install || die - - # Upstream cannot ship symlink but we can (bmo#658850) - rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die - dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin - - # Don't install llvm-symbolizer from sys-devel/llvm package - if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then - rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die - fi - - # Install policy (currently only used to disable application updates) - insinto "${MOZILLA_FIVE_HOME}/distribution" - newins "${FILESDIR}"/distribution.ini distribution.ini - newins "${FILESDIR}"/disable-auto-update.policy.json policies.json - - # Install system-wide preferences - local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" - insinto "${PREFS_DIR}" - newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js - - local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" - - # Set dictionary path to use system hunspell - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" - pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); - EOF - - # Force hwaccel prefs if USE=hwaccel is enabled - if use hwaccel ; then - cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ - >>"${GENTOO_PREFS}" \ - || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" - - if use wayland; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" - pref("gfx.x11-egl.force-enabled", false); - EOF - else - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" - pref("gfx.x11-egl.force-enabled", true); - EOF - fi - fi - - if ! use gmp-autoupdate ; then - local plugin - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do - einfo "Disabling auto-update for ${plugin} plugin ..." - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" - pref("media.${plugin}.autoupdate", false); - EOF - done - fi - - # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it - if use system-harfbuzz ; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" - sticky_pref("gfx.font_rendering.graphite.enabled", true); - EOF - fi - - # Install language packs - local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) - if [[ -n "${langpacks}" ]] ; then - moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" - fi - - # Install geckodriver - if use geckodriver ; then - einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..." - pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver - exeinto "${MOZILLA_FIVE_HOME}" - doexe "${BUILD_DIR}"/dist/bin/geckodriver - - dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver - fi - - # Install icons - local icon_srcdir="${S}/browser/branding/official" - local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" - - insinto /usr/share/icons/hicolor/symbolic/apps - newins "${icon_symbolic_file}" ${PN}-symbolic.svg - - local icon size - for icon in "${icon_srcdir}"/default*.png ; do - size=${icon%.png} - size=${size##*/default} - - if [[ ${size} -eq 48 ]] ; then - newicon "${icon}" ${PN}.png - fi - - newicon -s ${size} "${icon}" ${PN}.png - done - - # Install menu - local app_name="Mozilla ${MOZ_PN^}" - local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" - local desktop_filename="${PN}.desktop" - local exec_command="${PN}" - local icon="${PN}" - local use_wayland="false" - - if use wayland ; then - use_wayland="true" - fi - - cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die - - sed -i \ - -e "s:@NAME@:${app_name}:" \ - -e "s:@EXEC@:${exec_command}:" \ - -e "s:@ICON@:${icon}:" \ - "${WORKDIR}/${PN}.desktop-template" \ - || die - - newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" - - rm "${WORKDIR}/${PN}.desktop-template" || die - - # Install wrapper script - [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" - newbin "${FILESDIR}/${PN}-r1.sh" ${PN} - - # Update wrapper - sed -i \ - -e "s:@PREFIX@:${EPREFIX}/usr:" \ - -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ - -e "s:@APULSELIB_DIR@:${apulselib}:" \ - -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ - "${ED}/usr/bin/${PN}" \ - || die -} - -pkg_preinst() { - xdg_pkg_preinst - - # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse - # does not need to be forced into the LD_LIBRARY_PATH - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then - einfo "APULSE found; Generating library symlinks for sound support ..." - local lib - pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die - for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do - # A quickpkg rolled by hand will grab symlinks as part of the package, - # so we need to avoid creating them if they already exist. - if [[ ! -L ${lib##*/} ]] ; then - ln -s "${lib}" ${lib##*/} || die - fi - done - popd &>/dev/null || die - fi -} - -pkg_postinst() { - xdg_pkg_postinst - - if ! use gmp-autoupdate ; then - elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" - elog "installing into new profiles:" - local plugin - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do - elog "\t ${plugin}" - done - elog - fi - - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then - elog "Apulse was detected at merge time on this system and so it will always be" - elog "used for sound. If you wish to use pulseaudio instead please unmerge" - elog "media-sound/apulse." - elog - fi - - local show_doh_information - local show_normandy_information - local show_shortcut_information - - if [[ -z "${REPLACING_VERSIONS}" ]] ; then - # New install; Tell user that DoH is disabled by default - show_doh_information=yes - show_normandy_information=yes - show_shortcut_information=no - else - local replacing_version - for replacing_version in ${REPLACING_VERSIONS} ; do - if ver_test "${replacing_version}" -lt 91.0 ; then - # Tell user that we no longer install a shortcut - # per supported display protocol - show_shortcut_information=yes - fi - done - fi - - if [[ -n "${show_doh_information}" ]] ; then - elog - elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):" - elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all" - elog "DNS traffic to Cloudflare by default is not a good idea and applications" - elog "should respect OS configured settings), \"network.trr.mode\" was set to 5" - elog "(\"Off by choice\") by default." - elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences." - fi - - # bug 713782 - if [[ -n "${show_normandy_information}" ]] ; then - elog - elog "Upstream operates a service named Normandy which allows Mozilla to" - elog "push changes for default settings or even install new add-ons remotely." - elog "While this can be useful to address problems like 'Armagadd-on 2.0' or" - elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security" - elog "concerns prevail, which is why we have switched off the use of this" - elog "service by default." - elog - elog "To re-enable this service set" - elog - elog " app.normandy.enabled=true" - elog - elog "in about:config." - fi - - if [[ -n "${show_shortcut_information}" ]] ; then - elog - elog "Since ${PN}-91.0 we no longer install multiple shortcuts for" - elog "each supported display protocol. Instead we will only install" - elog "one generic Mozilla ${PN^} shortcut." - elog "If you still want to be able to select between running Mozilla ${PN^}" - elog "on X11 or Wayland, you have to re-create these shortcuts on your own." - fi - - # bug 835078 - if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then - ewarn "You have nouveau drivers installed in your system and 'hwaccel' " - ewarn "enabled for Firefox. Nouveau / your GPU might not supported the " - ewarn "required EGL, so either disable 'hwaccel' or try the workaround " - ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes." - fi - - elog - elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using " - elog "useragent checks. To temporarily fix this, enter about:config and modify " - elog "network.http.useragent.forceVersion preference to \"99\"." - elog "Or install an addon to change your useragent." - elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100" - elog -} diff --git a/www-client/firefox/firefox-102.0.ebuild b/www-client/firefox/firefox-102.0.ebuild new file mode 100644 index 0000000..b37e56f --- /dev/null +++ b/www-client/firefox/firefox-102.0.ebuild @@ -0,0 +1,1298 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +FIREFOX_PATCHSET="firefox-102-patches-01j.tar.xz" + +LLVM_MAX_SLOT=14 + +PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="manual" +VIRTUALWL_REQUIRED="manual" + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \ + llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \ + virtualwl virtualx xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~{juippis,polynomial-c,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" + +DESCRIPTION="Firefox Web Browser" +HOMEPAGE="https://www.mozilla.com/firefox" + +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" + +SLOT="rapid" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" + +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" +IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp" +IUSE+=" wayland wifi" + +# Firefox-only IUSE +IUSE+=" geckodriver +gmp-autoupdate screencast +X" + +REQUIRED_USE="debug? ( !system-av1 ) + pgo? ( lto ) + wayland? ( dbus ) + wifi? ( dbus )" + +# Firefox-only REQUIRED_USE flags +REQUIRED_USE+=" || ( X wayland )" +REQUIRED_USE+=" screencast? ( wayland )" + +BDEPEND="${PYTHON_DEPS} + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.24.0 + >=net-libs/nodejs-10.23.1 + virtual/pkgconfig + >=virtual/rust-1.59.0 + || ( + ( + sys-devel/clang:14 + sys-devel/llvm:14 + clang? ( + =sys-devel/lld-14* + pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] ) + ) + ) + ( + sys-devel/clang:13 + sys-devel/llvm:13 + clang? ( + =sys-devel/lld-13* + pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] ) + ) + ) + ( + sys-devel/clang:12 + sys-devel/llvm:12 + clang? ( + =sys-devel/lld-12* + pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] ) + ) + ) + ) + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( ${VIRTUALX_DEPEND} ) + !X? ( wayland? ( ${VIRTUALWL_DEPEND} ) ) + ) +" + +COMMON_DEPEND=" + dev-libs/atk + dev-libs/expat + dev-libs/glib:2 + dev-libs/libffi:= + >=dev-libs/nss-3.79 + >=dev-libs/nspr-4.34 + media-libs/alsa-lib + media-libs/fontconfig + media-libs/freetype + media-libs/mesa + media-video/ffmpeg + sys-libs/zlib + virtual/freedesktop-icon-theme + x11-libs/cairo + x11-libs/gdk-pixbuf + x11-libs/pango + x11-libs/pixman + dbus? ( + dev-libs/dbus-glib + sys-apps/dbus + ) + jack? ( virtual/jack ) + libproxy? ( net-libs/libproxy ) + selinux? ( sec-policy/selinux-mozilla ) + sndio? ( >=media-sound/sndio-1.8.0-r1 ) + screencast? ( media-video/pipewire:= ) + system-av1? ( + >=media-libs/dav1d-0.9.3:= + >=media-libs/libaom-1.0.0:= + ) + system-harfbuzz? ( + >=media-gfx/graphite2-1.3.13 + >=media-libs/harfbuzz-2.8.1:0= + ) + system-icu? ( >=dev-libs/icu-71.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) + system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] ) + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) + system-png? ( >=media-libs/libpng-1.6.35:0=[apng] ) + system-webp? ( >=media-libs/libwebp-1.1.0:0= ) + wayland? ( + >=media-libs/libepoxy-1.5.10-r1 + x11-libs/gtk+:3[wayland] + x11-libs/libdrm + x11-libs/libxkbcommon[wayland] + ) + wifi? ( + kernel_linux? ( + dev-libs/dbus-glib + net-misc/networkmanager + sys-apps/dbus + ) + ) + X? ( + virtual/opengl + x11-libs/cairo[X] + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libxkbcommon[X] + x11-libs/libXrandr + x11-libs/libXtst + x11-libs/libxcb:= + )" + +RDEPEND="${COMMON_DEPEND} + !www-client/firefox:0 + !www-client/firefox:esr + jack? ( virtual/jack ) + openh264? ( media-libs/openh264:*[plugin] ) + pulseaudio? ( + || ( + media-sound/pulseaudio + >=media-sound/apulse-0.1.12-r4 + ) + ) + selinux? ( sec-policy/selinux-mozilla )" + +DEPEND="${COMMON_DEPEND} + pulseaudio? ( + || ( + media-sound/pulseaudio + >=media-sound/apulse-0.1.12-r4[sdk] + ) + ) + X? ( + x11-libs/libICE + x11-libs/libSM + )" + +S="${WORKDIR}/${PN}-${PV%_*}" + +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or +# overridden in the enviromnent (advanced hackers only) +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) +fi + +llvm_check_deps() { + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang ; then + if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then + einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use pgo ; then + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( gn ) +MOZ_LANGS+=( gu-IN ) +MOZ_LANGS+=( hi-IN ) +MOZ_LANGS+=( hy-AM ) +MOZ_LANGS+=( ia ) +MOZ_LANGS+=( km ) +MOZ_LANGS+=( kn ) +MOZ_LANGS+=( lij ) +MOZ_LANGS+=( mk ) +MOZ_LANGS+=( mr ) +MOZ_LANGS+=( my ) +MOZ_LANGS+=( ne-NP ) +MOZ_LANGS+=( oc ) +MOZ_LANGS+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json \ + || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6600M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + check-reqs_pkg_setup + + llvm_pkg_setup + + if use clang && use lto ; then + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" + + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" + + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" + eerror " - Build ${CATEGORY}/${PN} without USE=lto" + eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole " + eerror " llvm/clang/lld/rust chain depending on your @world updates)" + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" + fi + fi + + if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \ + && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then + # bug 792705 + eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)." + die "Set USE=clang or select "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang && ! tc-is-clang ; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + have_switched_compiler=yes + AR=llvm-ar + AS=llvm-as + CC=${CHOST}-clang + CXX=${CHOST}-clang++ + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + + # Set Gentoo defaults + export MOZILLA_OFFICIAL=1 + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-gpsd \ + --disable-install-strip \ + --disable-parental-controls \ + --disable-strip \ + --disable-updater \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + if use ppc64; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + mozconfig_use_enable geckodriver + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3 + fi + + if use lto ; then + if use clang ; then + # Upstream only supports lld when using clang + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409 + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + else + # Avoid auto-magic on linker + if use clang ; then + # This is upstream's default + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + else + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + fi + + # LTO flag was handled via configure + filter-flags '-flto*' + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + else + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # Modifications to better support ARM, bug #553364 + if use cpu_flags_arm_neon ; then + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon + + if ! tc-is-clang ; then + # thumb options aren't supported when using clang, bug 666966 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \ + --with-thumb=yes \ + --with-thumb-interwork=no + fi + fi + + if [[ ${CHOST} == armv*h* ]] ; then + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard + + if ! use system-libvpx ; then + sed -i \ + -e "s|softfp|hard|" \ + "${S}"/media/libvpx/moz.build \ + || die + fi + fi + + if use clang ; then + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64') + local disable_elf_hack= + if use amd64 ; then + disable_elf_hack=yes + elif use x86 ; then + disable_elf_hack=yes + elif use arm ; then + disable_elf_hack=yes + fi + + if [[ -n ${disable_elf_hack} ]] ; then + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack + fi + elif tc-is-gcc ; then + if ver_test $(gcc-fullversion) -ge 10 ; then + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..." + append-cxxflags -fno-tree-loop-vectorize + fi + fi + + # Additional ARCH support + case "${ARCH}" in + arm) + # Reduce the memory requirements for linking + if use clang ; then + # Nothing to do + :; + elif use lto ; then + append-ldflags -Wl,--no-keep-memory + else + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads + fi + ;; + esac + + if ! use elibc_glibc ; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # Allow elfhack to work in combination with unstripped binaries + # when they would normally be larger than 2GiB. + append-ldflags "-Wl,--compress-debug-sections=zlib" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + if use system-python-libs; then + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system" + else + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + fi + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if use pgo ; then + if use X; then + local -x GDK_BACKEND=x11 + virtx_cmd=virtx + elif use wayland; then + local -x GDK_BACKEND=wayland + virtx_cmd=virtwl + fi + + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + fi + + ${virtx_cmd} ./mach build --verbose \ + || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from sys-devel/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install geckodriver + if use geckodriver ; then + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..." + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/geckodriver + + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/official" + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" \ + || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +pkg_preinst() { + xdg_pkg_preinst + + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse + # does not need to be forced into the LD_LIBRARY_PATH + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + einfo "APULSE found; Generating library symlinks for sound support ..." + local lib + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do + # A quickpkg rolled by hand will grab symlinks as part of the package, + # so we need to avoid creating them if they already exist. + if [[ ! -L ${lib##*/} ]] ; then + ln -s "${lib}" ${lib##*/} || die + fi + done + popd &>/dev/null || die + fi +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + elog "Apulse was detected at merge time on this system and so it will always be" + elog "used for sound. If you wish to use pulseaudio instead please unmerge" + elog "media-sound/apulse." + elog + fi + + local show_doh_information + local show_normandy_information + local show_shortcut_information + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + # New install; Tell user that DoH is disabled by default + show_doh_information=yes + show_normandy_information=yes + show_shortcut_information=no + else + local replacing_version + for replacing_version in ${REPLACING_VERSIONS} ; do + if ver_test "${replacing_version}" -lt 91.0 ; then + # Tell user that we no longer install a shortcut + # per supported display protocol + show_shortcut_information=yes + fi + done + fi + + if [[ -n "${show_doh_information}" ]] ; then + elog + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):" + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all" + elog "DNS traffic to Cloudflare by default is not a good idea and applications" + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5" + elog "(\"Off by choice\") by default." + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences." + fi + + # bug 713782 + if [[ -n "${show_normandy_information}" ]] ; then + elog + elog "Upstream operates a service named Normandy which allows Mozilla to" + elog "push changes for default settings or even install new add-ons remotely." + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or" + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security" + elog "concerns prevail, which is why we have switched off the use of this" + elog "service by default." + elog + elog "To re-enable this service set" + elog + elog " app.normandy.enabled=true" + elog + elog "in about:config." + fi + + if [[ -n "${show_shortcut_information}" ]] ; then + elog + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for" + elog "each supported display protocol. Instead we will only install" + elog "one generic Mozilla ${PN^} shortcut." + elog "If you still want to be able to select between running Mozilla ${PN^}" + elog "on X11 or Wayland, you have to re-create these shortcuts on your own." + fi + + # bug 835078 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then + ewarn "You have nouveau drivers installed in your system and 'hwaccel' " + ewarn "enabled for Firefox. Nouveau / your GPU might not supported the " + ewarn "required EGL, so either disable 'hwaccel' or try the workaround " + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes." + fi + + elog + elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using " + elog "useragent checks. To temporarily fix this, enter about:config and modify " + elog "network.http.useragent.forceVersion preference to \"99\"." + elog "Or install an addon to change your useragent." + elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100" + elog +} -- cgit v1.2.3-70-g09d2