summaryrefslogtreecommitdiff
path: root/www-client
diff options
context:
space:
mode:
Diffstat (limited to 'www-client')
-rw-r--r--www-client/Manifest.gzbin6206 -> 6206 bytes
-rw-r--r--www-client/firefox/Manifest302
-rw-r--r--www-client/firefox/firefox-102.3.0.ebuild1266
-rw-r--r--www-client/firefox/firefox-102.4.0.ebuild2
-rw-r--r--www-client/firefox/firefox-105.0.2.ebuild1323
-rw-r--r--www-client/firefox/firefox-106.0.ebuild1321
6 files changed, 2 insertions, 4212 deletions
diff --git a/www-client/Manifest.gz b/www-client/Manifest.gz
index 2041356eb6e7..d355e3ff742f 100644
--- a/www-client/Manifest.gz
+++ b/www-client/Manifest.gz
Binary files differ
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index f3e66e89ac66..1edd30a55131 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -7,104 +7,6 @@ AUX gentoo-hwaccel-prefs.js-r2 265 BLAKE2B ac3053eb15e2dac446337c29184b5ec54fb30
AUX icon/firefox-r2.desktop 8137 BLAKE2B 5d0ce737c0e0969cb1a61de7989f5ca1ca0dff413d6d98bb0c93e0fed510b4e075a88fc117d3713e5e11ee7471ceaeffa9bc9dfd4282f3ddb1ea837d823e4887 SHA512 749a50b11d89c1329a52d13745ff8d5f801e565038cb5341319b4b515f36baf1c0c740003d6d01188c27e31d7ddeff58310e7b2420681292d0f2522bc5bd34b6
AUX icon/firefox-r3.desktop 8116 BLAKE2B 50b476a1be87bcca0bd6175b7a7f5e67ac5d3f40b0a5a99c2244036a9eea53fb518f59c1d87b18723c4ae6c261bfb692ef0b52c6714402b0a98da4b6867ab977 SHA512 07c9d89babe20fba9531396c9aa2b692aae77606be2b8a750481b6b8f9b3eab320fef313d1ed4b15d3fbc4cd94dfb56b62ce1a3e89ba7143c6aa9acc0f919bf8
AUX icon/firefox-symbolic.svg 7432 BLAKE2B 33a552ffb9850f6b9cd3cb8d9f7f80268ac08f00a0bd5eb15d892c6fbb950f8cacf6058b9c838f5be1ae1b53541f143a1ec0c1302ae85b49100b166fcbccdce6 SHA512 ba7db9a7c95a051bcd84e4c09c802fc55ee3c0d1d06ec1b169b04e414259b75bbe92fe584aee41a1e3f71e71c160df8bedf5393449e5024110ed27dbc0579ea8
-DIST firefox-102.3.0esr-ach.xpi 453455 BLAKE2B b89f8b8b5a42f703b84a5f003c8d4c3ff9cb82e86ef522c6495664f4f6462ab25f650bebc362474641ae5749c7f8d4e2249f68c528888ac1b7c848c431aafcf3 SHA512 1c5bad68c11af14db55c2c950df243621538f3bc0341953482c4333929452e4fb32d4cb625c0a0969afdded17904e72b75276bde86470bdd45a06ad48f2b5c47
-DIST firefox-102.3.0esr-af.xpi 418247 BLAKE2B 6c75efa232644b892aae95a73b6cc66b357610f6a32b1ddd82ca4078c5245f3228f506c809847a3bff0ae49b9b7acaef405fc19c000762d4611a3fbf53d29fd7 SHA512 e60e9753293086fc26684fc4e5932f14a3a7f4b65cf590a750dcd47b95bbba75605b31b8e5a3daedaf1177867de3e7ba90e87df256937c1d6f737928536ea3a8
-DIST firefox-102.3.0esr-an.xpi 498403 BLAKE2B 4f7666361af01b53b4f5a046fc956cf72de668772c7cab5dbc841104c5526ade61fed2c577c0742c4841e2abd77dff6cb9e804698c5ad9f519c2740ea2991a13 SHA512 f55efa9f76df914ec8371ea902406d60f0ef6ac13825fe1d0e45c2e587d299dc2480b4df6536fda74f1f6f8438a2566a8dcb503c56ec41e805331684c3829065
-DIST firefox-102.3.0esr-ar.xpi 563015 BLAKE2B 59f76a4ec1a10b5287405ff5db54cc35bac362d304f869d85b2e9f61d8c53ab80d5e61b9df89ceee3a85395ea82e63b0da51b8e0f6efee55cda2e8924abac6ba SHA512 5edd4030772c1cfb080d0033a810e903f88ccfcf686ad9606a03bf2b4d8e1972381a229674ec457851d0dd19855b85f02db1463dc54f9de152f2fd4096e614fb
-DIST firefox-102.3.0esr-ast.xpi 493499 BLAKE2B bed8f3312b393715022d9d74dfef19fc19cec37ddb19333191d775642ea703914c22860965edb3efff1b7203569b966f7ddad275ad551f513b560ad2ee71f6e3 SHA512 0e044f108521022f3e8c84cb2f9d09a94a0d05ec7eba961fe24552ecbe3756ec05bbd1d4335044b4250819dda9b275e09d0b6e3fac8e491747ccadbff6a1d0b0
-DIST firefox-102.3.0esr-az.xpi 485920 BLAKE2B 778a9ffaf0a33ef8f82342efe676b4d6c4ce4ccc20af2603d517fa65b737cbe160a22e8b7f457001675a592802044dbeb7ae315043762d8c10f0a79a529c574e SHA512 f80c2fbf32fa719b65dc6b35d88f21360c8206d4224c27aec34f4a9b07eeb63cb8abbdcfde69388e7eed6d7209eea23d1f9c545e89e451b58046dac6aa4f6ef7
-DIST firefox-102.3.0esr-be.xpi 638906 BLAKE2B 27f3b238ab4fa420f365d683f81c1b42d8f22b70491b8ca898ef7f8d8891b434adbdac4d4e8f37dd98348283d6de046b0b3bffbc78e1b0725d9a0d3174abd012 SHA512 7d955be75b94ef5d05a68a4d1750d61a674b21d6408d0402f30ecb128ce9aeb24ab6a72e26097053f8b1ee1acce653dbc2de95197fd5b28e2aab16a5a57c01ab
-DIST firefox-102.3.0esr-bg.xpi 578861 BLAKE2B 719fd25f559053a035681871fa8acf42c85000c462d5170ac3ffee762a5d531a8d6bda59bd0b1b48e65e8069f2ef3f20808b7b0d6d1b659b6fb375b18555ccb8 SHA512 38a53a1fc200fcad3f7c843559a6843a6c0be296eb5a2f04f1f19f68db7bac68dd5b57fc2c159e4a97f8460347a05764b3660e0adaf844ab701d65a9cfe2bff1
-DIST firefox-102.3.0esr-bn.xpi 576721 BLAKE2B 80d5f2dee94516196cfd206f952d1d9eaf97fa973a1c89ed65ce2f094fdf814b38c5cd738983ad767f88f417135a39df952872639f56478c0e8a9f4ebafc2276 SHA512 0232cbbb6062db4e71b2a58c4b43c8976bdc431475f6a91d6213558114832692ff439b9a40bc0b0700431e47e130b42e4146ae94250665e73772e672dfb693d7
-DIST firefox-102.3.0esr-br.xpi 531022 BLAKE2B 4b5080825076a583f7b1a9e5cce63a7a4aa6d9e57759415d14d730ea8aaf1fbdc785f1b2f5aac8372c45f2b984c5dd4d0dd31f64b8cc841fd8df3c109879c627 SHA512 782b9c57186d6902f3c49fd55adb256f45d52eff16dc21268b34bfb45a9dafbffd1013db45c8b3f2d6afe53c5c0c072c07887da8aad1e96a64caa08fc988cc64
-DIST firefox-102.3.0esr-bs.xpi 462131 BLAKE2B 15e77e28870bf7b2efaae16e082589e125d7cf1a89fc34398a879d6edc1ddc97c6474d630f7170fc8675304fa11cf051601864059fd22f85d305140981614d50 SHA512 6e3ae23473090a10ed61e4ca6a446e595974d3e7e8cf54ad37cefecd99b3c6d08e288057d2fe41e8762046d3408f0fd5b605bdb1062c73ef64244e2a7c3e9fc8
-DIST firefox-102.3.0esr-ca-valencia.xpi 537517 BLAKE2B 23c14a46134d41e50aef405bcdd25f8a8da947d745ad45ba3724a7c7cbc4b05c10ca29ee5dd141ed866b7a8d041326d16b38af5907fe673964393bac58b67331 SHA512 93c1046f4b6b77f4b97668c26f5042b7b93c3b9b57f2e9d4e5e5e662d8ec4f78cbe2ac186ffc2a6650aa86759cdf401869e0548fb6af108b6058c9027a291105
-DIST firefox-102.3.0esr-ca.xpi 540477 BLAKE2B 3cfea1d14a00bc625200a3d1e1c276094de1edbb35b9e29edae819a8e8b738460f6d0b0545d052674cae21da3d5a6a4f258be92d1345b0b7cb654ac87cd774f2 SHA512 b30ff4b0c424ea12b298c5f3b1a7805aff074cda8c297a9ba93d2804732294250e354f0d40665cded19715850237dc4d5030deeb3e44107974e4a88f3acf7568
-DIST firefox-102.3.0esr-cak.xpi 550775 BLAKE2B 9052bc53ad297d12dafac397c05a0fe6b775ad4bcc705416cde8e4687e53e3860d1456eb3f591d75401ee31d071aa8ef58c68bf62f9c136f85a3358134f63e06 SHA512 824668d6bd7d9c7fa67cadf4557e736f4b915536579787e065024a32447d2a4dbed57e6445918ff3b6a30b805dc873aa014029664174e047f6257fd7f76f30ed
-DIST firefox-102.3.0esr-cs.xpi 573455 BLAKE2B 0ac0e4aeb7c40155a119b412f6d2ff60b14af5c48f6a661a29ea4190b354cb81eee743d62c4cdcc98443abae969ed9f8a8f382bf5daae0c302a7a184f370211d SHA512 622db5c0d53f39afeb9750e126e015677f08003032a27b5ebcfebd7f131df9b6a1ee705855fb98133e692f3169492a49ca4a04705de8244116ce45250d116dea
-DIST firefox-102.3.0esr-cy.xpi 554750 BLAKE2B fb5a29a1aedd47e2cc83ba8515f017fbf707c74e27443ed3931d61adcf6fa53bfd6a63f86e5bd48fdaecd5e601ae77fd8e1e0550817ada638b3f501a8e6e4e18 SHA512 1c3b1cd61ad432d95d020d06c63594587bf62fa1ee56beb842a434c9e297c892f6ae1c699f9e9080068d14bb3ad14572270431d87428a9c51f40c86da7ae795a
-DIST firefox-102.3.0esr-da.xpi 546947 BLAKE2B 3d5db31de7cc30a2317c699cf7559e70d274c83b46508f98ef11880ec7dcc982064c93f89e948a6a368e20bcce7b937dbeedacbbd35781494386390b0e482462 SHA512 a47b65fa09b68e6b08f0fbda74f046efeed3a22f0e6cca902420fd21b351eb1b6403fd7ef5a93f7c3630eafebb16f71569d2b21c59ca6c7f6c659935a3f8677e
-DIST firefox-102.3.0esr-de.xpi 567046 BLAKE2B dfd661d963788405960c99d930b065f2c1b66b575914a38a4d43fa7f9e06346b3c74c4e580ee71da032ccb6481488ea74946cd84c2c46bae4813134d3b752660 SHA512 d1d9a3e0965be66f4b56ff526ed5a3d86e677e3497014d8ba06d119f1e9129b0931c3d69a6fa11f6026c850bde7a858c377b0915160ed22e954a08a58c0b06bf
-DIST firefox-102.3.0esr-dsb.xpi 579784 BLAKE2B 4513cc52cf1978548a002e23f22aff14aaab59bb98712bf4fa0c3b8adf05afb2a83bb3684060dc5cd8c39046f369b27672382514b7acb4c11f74809de8a72f2c SHA512 38e7d81a4894cf2ec9ffd87f53e90cb5974f420276036cacdbb58077f413a85506d0d88c2db31161b1446941f14326224ef0fd3afc8edf8350e40616f9adb79b
-DIST firefox-102.3.0esr-el.xpi 655029 BLAKE2B 1b92a1d7785279a66abbeae8b17b068cec127f98a6b214d35981fb40f07b7a560d1ca048373a50e794f788004f7870fa652cdae233fa1b25a77f0a2d83ed81ef SHA512 ae2924a48bc6716fffffdae4c623d9b5ec76ccfc286765315b1b45bf78ac98caba5dd024360296fe9a94df8bf409e047bec9a0d964b63728dc77605b7f67b51c
-DIST firefox-102.3.0esr-en-CA.xpi 514604 BLAKE2B a2330a5d480c0e3885581ba1d2d8e91d0f5c1ec7cc9256397838470ed803e09978595ca3284bd2093d78c67e78ed7add64719e7e0b0c8ec1949561fceb597bca SHA512 a2d9a00e44a07aec9d43496b47405a30c71f6d6019dc9ff52737c0020c2efe3050aed0ca5218499fa362fe574a9ae1a74a3a321f3fd91129854ee48359123ee7
-DIST firefox-102.3.0esr-en-GB.xpi 522699 BLAKE2B 55042f1722163590006544ce314ff07a169598e45c95f61287313d2627170db40dcc2c96b82f236b389b85218fdea6c05bbd565ef74c3bdb03dd58988fe1c6de SHA512 8494171611818f4a3c2ece4321252ff0c74e82864c97b3688e7d968a8f047cde0bc9d5fa652425306106dab1a81c92a2d2b1777e6e6ddaaeaec89c07fc98d1ea
-DIST firefox-102.3.0esr-eo.xpi 545935 BLAKE2B 11b2dab95d74307e05fa41dc3bf6c7ace25c9a2860fe4beaf189f34b78b12e7e865a19590497174bcd2636ab1495f7f63e05e09c58a7865cc965bade5a52cddf SHA512 1fb688fc8b4420019980955bbfcfc0446c2e8ab9cadc957af1254537e4e541305751a1fedc311fc168ceeae5080829612b4ae0aecd0d86ad5302fa3d70dd408e
-DIST firefox-102.3.0esr-es-AR.xpi 560326 BLAKE2B 4c48314897346a94bc3b4559e4e0cf8a9cf9dcf4e1c072c418c7f4921f65f407362e91e5b14253d766a261119fe0814afaea603d3e19ac378ba9fbda68cc2407 SHA512 da9e497c489815747718f3de802f141f076b222ba26585726aaba59f9e2ebe407d2a461f2eaa5cabe05627372622b585936f99108e6e7948dfa8ee9adde0e8ad
-DIST firefox-102.3.0esr-es-CL.xpi 559370 BLAKE2B 2cf5c1bed76ec905f0617532b558a6ba47d6c3eeba3fb7999bbc4d523c5c1fbc4c801a7a4508b8225fc8182d80a0729919dd011cbffe240331e64be7ad233e86 SHA512 5308bd3f90b61c9afa4a83c3d4b42ff77830743760d2c4b0418dba7ef701e9e07abdedb4a3b9aa507db45176df5431f273e16468e2e5c0ac586b19258b53fb1e
-DIST firefox-102.3.0esr-es-ES.xpi 544164 BLAKE2B 495ec841b827552ffafbac3e92024dec571081fe65a227d3de680a36df36041dc6246d4a70db2cd3b6db280f896c8d040cd79f729a8ed84bff1e684b4998680f SHA512 16e580ca4f0dde68d9fdce3a0d0336eba77b6d6cfe378633c3bdc0061b0954de6dd74cf38e5a9e8d9f0269de55ef117e438ed58c3488d66d072ba660133b0ebe
-DIST firefox-102.3.0esr-es-MX.xpi 563464 BLAKE2B c2e95d7c5a2e9c6b2544de8195b3b41fcd2f16315c36a3a1a463660386a77f5e1b041a810ac1a4661a9fd3bea004e14d1a999b2520d99bbed59166d0377e40f2 SHA512 d733a06266a6546a96637532abc9cec7b3f38c9243a3a9622bdf0c098a16e67bbda793d87650ac41ddfad949ec93a5a3296ec883ebc7880e4c931ece8ef56013
-DIST firefox-102.3.0esr-et.xpi 531816 BLAKE2B 5976155f1898b7b4b3f48dbd44448e2800726d085384082873e9cb24b29b0ad02faefdbbd9bc190cdf650a03d893054332b2e6f94642464613938eeecd28ffe6 SHA512 8216b66a34510a48a0441e68f5ea06774fb4be1ead029c26f0c30dd82ff0b884fb620c31c0d85053338fed461f62bbbf156757fef1e01709f098f3ae8c863dff
-DIST firefox-102.3.0esr-eu.xpi 548210 BLAKE2B d4995ef93d4b0df73a99915c0f1962fe432cffcdc4c84d390961539bcde382d81b2874428f7565e65142968395da1fbc54cf15b3d3cbe63da6f617562cb3115e SHA512 9a5568e046251ee7410a9704ba637df0829cfe2bc6f9e2ddaf710f7abb9618742c0710859f997261200172035fd1e07dfcb727c84803139ab170ce9c568f2b6d
-DIST firefox-102.3.0esr-fa.xpi 562344 BLAKE2B fa22d089f9f7498d06bfce03e811b9c64bb0141fc043af4c35928e23d4ecfe06115a9ec66ac946d1b6c5e9d3a7eefced986d86cf7c0cf0e6a968e7599789610d SHA512 905aa6979ceefea7503d10409b75a7e58ebff6eae06e9c2777c8a353fe895f224a610a80db71e5772715c61946b26adcc5efa0d0f0a4c2633b9b5750804a1233
-DIST firefox-102.3.0esr-ff.xpi 472169 BLAKE2B a54f9e7c891dbfacf9a29a524e041c14555b58ae414911ef6e2596fe97c7932727abb1f546edccef615d25ec21b92255755f8131d964bf38e253b4a7d45df74e SHA512 7c21b35fa781f453d05a0a8a81095c02e8d30c307e23b23d6276f2b35ee744e00c8f41908f6aba8b44a999f886dd7662649cc6de1920ac0d0b849455fd070fd9
-DIST firefox-102.3.0esr-fi.xpi 544783 BLAKE2B b1a9269fc70d1295aa184a38c238702a7bad749b6f3b58da4c14d4bf1940c67050e27bcec0ffed01644ac1764f98b913c707ec516461163e1603467521a87975 SHA512 1f4a32769955cff68bb3347cc82880ee582511ebdee766d73d5f39aa6de73a704341abd999ef1960609206a7222cb344c792f679071f26807d00eeee1957bcf4
-DIST firefox-102.3.0esr-fr.xpi 571385 BLAKE2B 85dd921fedf3a491b6743954bfa6c64795dd2f18de9a06fabc466a92cf8ea9001dc7cb89bc6d6771b69d77edcbe85c637410b2738fed645ef985a615375bf913 SHA512 ed84c1d311ec7842832e183342c2bb3e10d462460d3c0fb03d0d4cc81af2bb73f5483997acf166eb8767260a0c43e701bfa41c0951f7a29ef4325ff07fc1007e
-DIST firefox-102.3.0esr-fy-NL.xpi 556592 BLAKE2B 2e83c92963a330519e761ec02d5f838a615a6c14036fe3f153802949cbf2fd51d52afb1405b1ab53f9b39833decb71f4a1d9303cc9b2cfa0ebb79d2dd35b549a SHA512 94908b1c05bc15c9736da83560813917ee4e76876f3c31394ef6c0dda3b0f980bab70ec34304341b05df17bd49eba2f0cc369efa2ac8972a8fd100fcf5f5070e
-DIST firefox-102.3.0esr-ga-IE.xpi 470608 BLAKE2B 4181f987725e6a66729a204d51ac1a1dbdfab1e11d1b00560a14a911fb97deb582b0291d50d0397a30a8640ecb96b3bebf229e40b336a7705d8a2575046ddef2 SHA512 1ba5c0dbf71561b29b6bcb0aab20e4b07a7f72422d9d0d2061273cdff7c2cf2375da5a8988ead21f927d0301ca4ceaec3a956726e8dae68e62a672ba85d1f80d
-DIST firefox-102.3.0esr-gd.xpi 543720 BLAKE2B 1e4a3b3ec4a0997c6bced200c09085b81b037b012c6e976a1bdf8868b2985322757305c59bfc25085d79d03e605d1ae99185e104d9765de3d97fd0128cb07e1e SHA512 ebc9c6771d5daa35521ae7b923ec24adf862a45feafbde8b3e264aae280ba6e9287d045a74a2cbdf62e6b572ea59a755384e24fd8dcfbd190112c7dcfbf5b690
-DIST firefox-102.3.0esr-gl.xpi 539053 BLAKE2B 4c5d5fcced6b2a8d416205e62c21496ea6fc4783aa7a592575f457c83d1d699cfde3adb9c391da7f100e228e3cc81da648a0b838d9e4604afb34ea810f1b85b4 SHA512 c1d6f2194c851ef2044f2eb242a032c48afa3399d45b2df98642dbdc02a85afaf41a00a200166bf581a5d4f70d9e5fb9183f577f340d62bfd6d2f6b331879002
-DIST firefox-102.3.0esr-gn.xpi 570897 BLAKE2B 09a7119908a040d719235dda7b4a2fe5ec2b7ffdc66211c5c0b548abf7f116982f4c36df0eba5f707c9a31938d07672b40c0f43c1756c9754bf3dfe6957b2a52 SHA512 a1c4845740441b0b71b18b653b3948d6fd244d3cf6726e49845541be4b8167e2e9095d38123fe94c0169afac421b248fbce4f76ea9290e50ebeb9e6cd9d22190
-DIST firefox-102.3.0esr-gu-IN.xpi 527872 BLAKE2B 69e8ddcd76a678bd78463f1b240f91722c18d74f128e22fb9724c3d79d6669b70e34a4f20e4b9854ebf17bc08e8ed4247cc6c0bcad4a919b7f117b3f8f6aa5f5 SHA512 0be7d68f54661c8070b80a4e9504bf6352f3aaf087f5ef14a3b521fd1c15d5cdb7927b76ae06369290ce6878c9320b02946522df381ebc3146fdf68955ad4749
-DIST firefox-102.3.0esr-he.xpi 568678 BLAKE2B 79a89e55a135ad7c12b2eb2c503b68eaf8441c58fa353ffa4f3d51bce4f0b1561763018826ff02e2ce0abed1f2b80b3c11320439db956ef93e000d9e4f85e3d8 SHA512 2719300e548aae73bb53ada61a0d24c126d0fe825cdfa5f0834bb3e4495daa12c38338c4eaa89ae575c85c0f0a8f19659e674b4e65fa2029e385949006b00334
-DIST firefox-102.3.0esr-hi-IN.xpi 558539 BLAKE2B c2ddfdedcc15c7a7d37cafbfe05272c885208aec6826c0377c2dc9920c9d48e2a6c23876e9fe01502fa53ef01a8f886b1e53464f75332ec6c544a4134f09c5f2 SHA512 64dc592725ce712c4d68c9dcb39ba6793204f88b4a8f46bccbba9ab22e818885591078a013c727481b24f509f06ee8063f972d1d7d7e4a6496b02432497e0b20
-DIST firefox-102.3.0esr-hr.xpi 529738 BLAKE2B 16dbb6af30f269d8b66b13ac66fd2223f4843decce8e94bebbf9c9fc2897e3b4de14bd8ae0ee9a50f931454bb7eb14b423761b92a3509cadd0fff14a8e0c65a6 SHA512 325b8f12d299cfea651edddbb237462090b287b68bf0c2feae67767bb6f7d0279fef10e798e5982cc17802ca847d6262500c92f04711dfc6640390c764dd31d5
-DIST firefox-102.3.0esr-hsb.xpi 575946 BLAKE2B 30bd83aecf189348ba972a364fa5148c3152f9544b7059bb06ccd74ca7bc2481f53c5e51dd2b4910e3adcd7d761be0807c025a15bd2d8027aae26056e94ec585 SHA512 30444fad035a5083140a20a014c5b8a9b4f014c073b88199584519bc6ce9996bf0da170cd1360281800233e81475409c6f5d0f16b802902cf5338dc549279b45
-DIST firefox-102.3.0esr-hu.xpi 580250 BLAKE2B adb670db4b95a76709d42951478591e70d264fb771d8aa60f9e0fadeb9606152acf1295f38c017ac1cd744e99d8b7512baad47071f3f20bbb5a08fb664420028 SHA512 f61f86cf40b53bfd4680edfddecd396a2635bef0c2419445cf52f63dca53da27603862b54de23f97386c8837a5f6d2fa1a8df2425176dc4fadbebb42bf33ddef
-DIST firefox-102.3.0esr-hy-AM.xpi 582119 BLAKE2B 8551ed1377108803d46dbd185b4a9a06c4139d6a2fe14d5cd4fbf2dfac3626852de294413263f664d9e295e1227b6eccb70953899a50c13629ce0000456b897a SHA512 324c4c994e55cdda393da1d0dbf8cf7d8e794481432939d4b9b0d158ee518129abc830228fca229889723e7457b1ff33784f7093e66c2c89fc078bcdaab8c6bc
-DIST firefox-102.3.0esr-ia.xpi 545262 BLAKE2B da53ab9a57d9e2ce8c4741af776bf266d25053741a6e2d6d6400372365c93716b5c137f8272edf020b1e18643470bae5b8eebdae08c00a983c23f79c865d2bd6 SHA512 8d41339c86ddacdd5faad662f331a01f1d777f21165c4908ec39be9f2a8c966adda5d7d14324a58bf0a84175e855d0a2cd77f15679c3755f24b7d47f3f48a28c
-DIST firefox-102.3.0esr-id.xpi 542448 BLAKE2B 7eec3c870b40712da44c45c4f497f51370561a5ed0427193053fc9cbb5ed0f3c44ef449417c83dbe5ba979ca6a8d12030a380ebbf6ec905e67745a5c1d845f8b SHA512 cf67e20d2efe267b2bf46d32cf684ba7a8d60c87781c1246c2eb2ad3f74f194c63637fb1f2a2e6524edffbdccd97253f16b16aa8c3b7de8fb110c7e3ae752d7f
-DIST firefox-102.3.0esr-is.xpi 551935 BLAKE2B bc1f402c582ef0a22cf1db81e88a5d77cac245721544ad36e8f4f328b51ccc1396b4393c90e42cfe1a653fc57b220a0947d5516e796191b2fd0db40e7ad4065a SHA512 fb0c29ebf12c4901a24b78dc996f6ca390603f5ad2f23def32af82cbfbc5e9a47e1069841ab0db3f68937b33a7e7fe60ca773c154498e37646b3211cbe06655d
-DIST firefox-102.3.0esr-it.xpi 463213 BLAKE2B b68825a8c43b9014b9871e38d57d92bd0a3d41c355e8825e117f6de2b33890a4484fa47d429c93be3e732a93e3ed0ae8fbe813e2e1b75b51eeb61e4e340f8f07 SHA512 f37bac0b09a23c3a200c16b025cec1c1e470eba8fc52a30fb048c3b6d5cca7f3a578c2c245ec378facc9d55eaeab82a24928d91985a5bf65a03b7f5123b928fa
-DIST firefox-102.3.0esr-ja.xpi 586305 BLAKE2B f1a969fbd12c82432e5ea8ab9610095ed7f3a2fe8f750b28ef9ebeabc0888c92fb1c09857c75e02848150d64b93dfaac32f3a3873337a21c2a11e724c2214c0e SHA512 599904bf221abf952a7d6b45e387a7e43f4c4970c6a7a5772f8bfd2b4d79294073a791ad48a6b2b60430cad9c5c7cc161068c7bec54edebc5ad56765738d8d6f
-DIST firefox-102.3.0esr-ka.xpi 606132 BLAKE2B f5459ae508d5a7f2d4e71a885670cf7dc4551905697d280f93403c40f528d566e3d600b6771300bdd4038c020bef8f3c1e09850ff47417c91c4966b502697fe5 SHA512 1fcc7c63220df66363b1294162ae98809a207cff602f5490a42169889b8f27309796d56fcfc81fe0e87df3f19e6e5e12365acbbb6dc0b509aa8658dd1de1aadf
-DIST firefox-102.3.0esr-kab.xpi 565741 BLAKE2B 52ccb77cde51b9f8e4b7b5100dfa63444a779f62f16fb19912b53de6d1950dcd797febdbff5b2f84b1e2ea4b9996d787d4be507462158a83359ee53b9108e8f9 SHA512 33384e39af5c30f56fce040e09117fd0879c3b2f49a0fd0c700dd53e29662f20c191e6f6a99bf9254f5cd1278784095488d1896aa55bd50ae6e1474516ff2545
-DIST firefox-102.3.0esr-kk.xpi 621839 BLAKE2B e290bbe5d9ff14d6bbd9154d45184017291278723aba83875cb181a79e1f24c117e43445f974483c5ace4e9a4b62c73649ece43cdc269f864af12fa5537f5ffd SHA512 d8b612ba4921f23e464775f009487365b11295010016f2d87b6096c83c08cc7fe1241994cdd2fe1303d4651e1d61a41639437c11384fe0ee076c4a7593011413
-DIST firefox-102.3.0esr-km.xpi 531579 BLAKE2B 80ac1403094fb789e258fb5cc8884fe85d7b701f8098a4c546b3b8c7508bba422cc1f41b16248670152f78bc7a1111a426fcc65f42ff109e8403b6c0d8645604 SHA512 87c030793fd4c3e254a7de40d88b328c9c0e2e15a22ad70045b9d122f54b11b1c49ec42dd11765d661124d2540e40bba533831f0575fe9aa0ee915ca30470fe0
-DIST firefox-102.3.0esr-kn.xpi 497201 BLAKE2B 854d219b8f5f13daeb89d90eacb5c4689e77b6c2bea4f60002f06fbf277d0579bfd433a4b5e7192cbdd77f896ebb3e841e50557326674bdf31db326b007995a0 SHA512 572c0f699deedbeca7443bc9d0c935141636114bf986f59a3a4ff96ddadbdddf81c5745c15a755765b3d0ba2a9ef749276071f8bb884ba2e44b3596ad93e4500
-DIST firefox-102.3.0esr-ko.xpi 593293 BLAKE2B e29f63fb5e37124b6a148f6308cf30480c383ae28515c4bcdaebcb0f0bb2ba25dc6eba88d74e719afdaaf9ec872ebff6977db6c2a1d1dee5b6d01db5df380c79 SHA512 7935db3542dd510f8dd2a150033d282fc46728be34bd35af7d94a968c633640be92ffa03a3c4b30fe1d5c2cea7fa61e68d643191613437c28711a7d0c28e2ed3
-DIST firefox-102.3.0esr-lij.xpi 470141 BLAKE2B 0e654ef57bcfc6b308387d2083ec147b82986ea59cf8beb2338830b6a719787306a02a0ab65118952030bb0e85fc7196bfba8ab3deeb9fec247ccd36a263017b SHA512 3d842507516fe2cf5d80c06f871c757a08060ba3e857845fe0e3c15c1df31ca3bf0a5ef6bc7c83ee1a15f59b4f2d5ac00e1ca9f2fd1839e957800e33147d9078
-DIST firefox-102.3.0esr-lt.xpi 561127 BLAKE2B 0a6d1c86e7fdb915a863b54d8d75d35ed5bafdacae0bab31bbce97b44e21cd9538abadd1f1a3e6c2a66170e84dead65a15b3f014bd929678ef10101ac453404c SHA512 e2b0b2858a0fc97b0af32bff1651246b1558ba8be16c941193f9a31feecc380fb1d93b926ebd734a9f125c2715c364bec4c247b3b6aed84cc475b064ef8a24d6
-DIST firefox-102.3.0esr-lv.xpi 463020 BLAKE2B 56d01f39fc29842911363d6bd4b1dbcbaa039467973a2dafe9cc097b8e36dc07b0d4854d256059ebf6f5d0d04c0a157a096eec3f1e01671997244b9bbace079a SHA512 ede171b2bf31b34c9b6dccce9cd8be85e701bab6ad84f9a43e7bee3c6601c4946cdfb1267ac8da2e9bbfe4efd39fa0f1a4f3633e0e33a5f41f8b413a22652be4
-DIST firefox-102.3.0esr-mk.xpi 482313 BLAKE2B 9b5382542944828faf99a79d56cb22807aad65507bdb290b46c107d82f2a390cc760f8d3add494963299d808e82f05c9a350da5066d591d71305f26d6f8d06de SHA512 934d0fa0a0ceec899c18ee16e020a26a9c0599d51f1139a26b0508ea1c570602a9028692ac36dd9ff87d2026e3a3dca8c88d3d39b82da8961fa035f8e0dab0d3
-DIST firefox-102.3.0esr-mr.xpi 531252 BLAKE2B ffadb2926faeb3e4ecf0c1f6ce8cacb8102fa8f5a7c05c709d89a47d965252b380de6aab8f5a8bf786e104bd5fce0752feecf9698a05de1c22a82879c066d726 SHA512 01e1c0614096df55093e7f0a203ac5ab141bcd663c5f71a2173d7d716022c6bbba4f1f3ef66d5c583d81a1d614659f82368a5a98991478bfd4969cbb335d0aaa
-DIST firefox-102.3.0esr-ms.xpi 448123 BLAKE2B 33e996afe1d849dddbdd246b1e04b881af0c358f6bb5d305d1a7c11e6ac4597696d949fc49be2eb2cb4311c19736c0c631825fcc4feab9eb2e22c6af3129ec89 SHA512 7ac315d4cda83106258ccfba4f1945f817d5fd5f7dde625f641ee790bfe0193660f57dd69258c0db4bdc8d334b1a9520c5f856b7914b571e4315fba6b16ee7ff
-DIST firefox-102.3.0esr-my.xpi 511807 BLAKE2B 4416387c070b261c1aafa2ae51eec94529ddb06f2bb9e8dc722a9681a75be4cbfaacbad1f8f6f9243b5d5fde3bbe93205318900ed0c2f63d3ed6e780d47bb805 SHA512 e7187d9b0c5a787f6f6d1f337a072a0eb57b1b25bbf74a8c4068075a1e747042ee23fc23e7f333df1c94c03d29c49d8b69448079c8fe7a07c2a202b465b8f979
-DIST firefox-102.3.0esr-nb-NO.xpi 541242 BLAKE2B cbaac4222370b1cecfdbf7a073d1a7dda69c6621b5c2da21ae9a6f7fa5a789459cf37fa47b835bd51fdce81f1d0ee40f910bf6322ac3967fee2e95cfa0330482 SHA512 49dc8f417aaac2aea5fde3781c5b159127d9a76813aea3b242fe3058c7e775761805415e85c6e80813fa5c0815277a9ddeedee5aa7625b8ed137d92fd3d6eb14
-DIST firefox-102.3.0esr-ne-NP.xpi 489420 BLAKE2B 107e3f27d3bf0aad6e59c7a942825f32918850b50a7b94e697cbd6509ec5ff31c3057584c392ba5e840d9251a523c825d3d9a76e032351320b9aee3f2d988520 SHA512 ac48878324241ee9e4b31f91b7400985795201c6c94ce2878f5fb39da25fe479669748dc07778c806a1bf382e65080a79f44d8a80c7ebf59d363fad5fa0084e3
-DIST firefox-102.3.0esr-nl.xpi 550349 BLAKE2B 2a180b9b7271c5565cbd65981d9326304247bbeacdddef12da34b505f49cba9b4ac4dbb338a6048ac4a3eb5d985a0b513f89800ebc120123a790f14b668576d5 SHA512 cd18f08fe259778d0cd059357f1f46c014eead4008645a022c9b0891471ac72df6824b72c0440a1dc610baccbc1b9dd1d2ceb80dfa7313f26478c8930f427489
-DIST firefox-102.3.0esr-nn-NO.xpi 541467 BLAKE2B a21752e1a92ceb0c48e614878622892181ef4caf677b4698f0632aeff9d43d3015d2d6614d27c2087b77104098e6fd52faa37e19b194720adfc60e32bf340c25 SHA512 bda7179ceb26453e9ef8ef37dd83d03a32fb16f0b798f280b23ba6c47f3d268286ea5a4beb55f7feabbdc2bde182c2620f6b8edf41748401112a3c656d00e6bf
-DIST firefox-102.3.0esr-oc.xpi 560885 BLAKE2B 2ff5630e76f4c7875e65eb267cb482c232131bfdd93995afd304ef4c1e9c05427d299b4784a61a1722578a2a66d264f4d31307254ea2b52e083a9a65bfc29ae4 SHA512 1f495b4497dd7a90e8d111ea453ed351b44ced910fbba4bac669a77631368337c1cba58d042e5f8abacb079c48bf1f79df0275bc1728f2f918055b3653e817ae
-DIST firefox-102.3.0esr-pa-IN.xpi 612447 BLAKE2B 7c681875f8fbd7d33db5cc803d9ea63db473902f41fefb2cfb32503be05370e2c21e2a4d25941c7415ac436689fb6d8bc39dd7c7ca206c0e2e26824ae886d562 SHA512 ec36cb6dfdd677e7b22415703e5a62326abe13ecb2e90f4c3565ef4149a4e63d53e01b2de6b23b66491cf217777353521da9fe5667f246bdbc827b0358cc0a67
-DIST firefox-102.3.0esr-pl.xpi 571733 BLAKE2B 16dfad3e0d49ba8e68ba847b4990911026e0e378e49d65104523fc47452aa57be621d3efacbf6823e96b32d46e4fb3a5fa2962c1127e92c3c479c581338073d3 SHA512 412b95f604a655d915e323e1ed1b2510b708c39eaf147c45eeac46fffc2cace2e57db848b8c77ddb5ccc96be8e9315193d904bb5e3a7839d358ebe1d37d70fdc
-DIST firefox-102.3.0esr-pt-BR.xpi 555920 BLAKE2B 5343560b00743773b099a2146ca11544e22b2309708d1c3381f27004e8f458daaad3dba5aa10aa8ddd55fe3f989862e94eb79ff1889602af041a52ae4871b477 SHA512 aabad94bc00aaec4929cc02d37f4926df22526cdf7d4e2cce12a103ca69554597a7d09951c66260f1ff1605dfa9eb07571f5a39668de3f9fdc9a51af288bb501
-DIST firefox-102.3.0esr-pt-PT.xpi 555205 BLAKE2B 579cac7775a5028dfb010e0d483110ddae0a8e8cc850eb0e786c3f3a29e102a6e1282ffbc80543f8134e31db8ca2e3026bd8e3767c30fb61dda6454d89c06f7c SHA512 2ff0d5a2fcae26591e8fc5a1be1e2b35b442dec8f2932b0770c777136b642cbc202c7cb645095c7e6eca713b2fabe7523fb70ee84349e76a0bf0ee1fa5866d61
-DIST firefox-102.3.0esr-rm.xpi 538504 BLAKE2B 76a14f62f381b492b87a6dfc992cf56bc80e66e24b50a16ccc2a6434ba2efa1eaf0e05358fd5b42e372845a23d0cb716585194f461805ba7777b8cebbe571afd SHA512 40b8dbc6dbbe021c0cc40c321553ac69d25789622234eb1c1da0aa747f2c641483a387d796c5b4fa1489aecbf83d579a0cb670d9aa1b95f78c2a0c5fb411b78f
-DIST firefox-102.3.0esr-ro.xpi 527971 BLAKE2B 54935a691b4b89a24ab1da688b7127ffc82d55b863308a844dfa78ce3f45a74638ca56304bd8a2290282a65e1bbdc3685e23ab3f7f7772d06dc301b29fbb4c1e SHA512 ea5f4c06434500f954611ea1324b4497c2a2518fb36bb724e1190b159e1f865110b22e06fc0aaa33ed0803c23a0df2e56eb6f6d05918e6c7db7e25de3d75ca0a
-DIST firefox-102.3.0esr-ru.xpi 642366 BLAKE2B be51c0c62009bda55fcc9dff436fee78f1f038b218886e84c3997c0ea1b5020a28d66f94be15ccd5f8d2131996b23f63e10f4223a518f786ca750e5689a585ca SHA512 b86159d177844c330824896853b8194fe122629673a279a3829282f6e90c4dae65547f15382993098b97510e76d1cfce1b3ebc01138041bc23ec03305a5993b2
-DIST firefox-102.3.0esr-sco.xpi 496336 BLAKE2B 7c9ef809ec723c27e62cd81feb841e75b624fb2bdaa09931162faab53a34c23de9d5c2c6199aa7a6e41d8977b938a8775dc36e4562bf9c7c46500ebe5dbac042 SHA512 d0fff7b6e4d3f7a7985ade738f21f559a0e8ebd2304fcc9f22755b658e350b9063e3ee14515098afa33c0aaacc60c42ef5b3d58fab32f7e132c7a3f99c555dca
-DIST firefox-102.3.0esr-si.xpi 564314 BLAKE2B 74ce40ebfddb64b3a743993a07764186a69893b8ad9812fb9f96dd824a06d9f55fccab8df7f248ab48f50d40579170b765b2ea412672c8fde61d52640c73574f SHA512 c9b61b8d62a643c869c258ff747ddd9dadb4504e1b7e6b7678b9fc64cb40a7de417ead175da2ddebe4994ee5c5ff89f645ab7793c20845fb49395f746642d6f9
-DIST firefox-102.3.0esr-sk.xpi 580588 BLAKE2B f6a7e5e6e0c7fb0fd4521ee22530cce5c53868fa400ddbef7d3f56a8a866c36d78e43aaf698f5e379fd3a6f917120ebd0f0ef5f7426dc5a607d4f01382d9275a SHA512 6e9ae7c608a032cc5ec9eb60683dbb9b16f82448506b1ba3987501e3f5d0c148babca5626dcfe46d658dcd88ed82cf6c9f5e21da9de17fe03fd3f54751589141
-DIST firefox-102.3.0esr-sl.xpi 553154 BLAKE2B ce9ceab97fa9c38e231c2040bb10796169072f99778bcef8318b3adabf6675d61e3c5ae040eb03a12fd4fe6c8089c20f0ba33357fc2b65d87dd972f05ba2fbf0 SHA512 3f09114a0d2250710ea2a4d9172d03d323199a52d9c10966d7c9fd13b664c305660687058e6339d94cf1a75a70436e29c7851de750e320c632d3948d1b592321
-DIST firefox-102.3.0esr-son.xpi 424697 BLAKE2B 584eff5eca60738aed08237f468794f3ffb46ab577f06dd7ecb56959646fe8197936c47f439ee726ac565fd8e27c5889e946a1f1203188794fed182041ceb871 SHA512 29f30e325bbde80e567a1394bd14a541bf340fb809273225e50b71c92127d0a987b60ec7a2bf1f037ee2bea8304bc382bba8fd12992308e0ea19e831ad1c70ce
-DIST firefox-102.3.0esr-sq.xpi 556113 BLAKE2B 3ab043804ecb52c9eb4c6c87448dac9ce6d496c03d2dad463acd22d4fc144fb05add1881ae359e7e9bc3c76658fb7caa2153ffaf62d835fb5d8a8b979d764b26 SHA512 c6abce9bb925753423878b8adb1edb8230d19c37a2b755f981f358177544ddda8a117f56e592fee32ad7469db0ee79d54290b66e5f81b2fa840795d4710b3065
-DIST firefox-102.3.0esr-sr.xpi 595492 BLAKE2B 949054d9008ef4d18aa4221669c193f81997c870901f0833c6503a3152ab41ac429ee65332ec7ed710106a13d8e370fa1d77c4fcdf68a50226a2cb772876bc49 SHA512 16f358ce2cc654cc27f1ad54bcbb772eba9b48303afeca80d7e5f292a75b98f6e091b447ba092fc164cb28279a53637c139fc9a9a8de07a5cb2e28455237e794
-DIST firefox-102.3.0esr-sv-SE.xpi 553017 BLAKE2B adb51c3f04048758918452badb6fcd81511261d0c61b119a0a4568e61f2f03bc4fe69041960b611829f6dbd5e5691c2bd66604b612b1952ff42935c5cb98686d SHA512 acdf0afc289f7a521640094f33e745a1c6b3e09c2b96be1e9019562cc2cd20fd7252ced9e898e6443f237b924b4e5673de714b3066c22f2d3c31c0ac60b1b25e
-DIST firefox-102.3.0esr-szl.xpi 512005 BLAKE2B 498e98ef7f1962a129d197e754f64e527b37639aceecaa9b964014d165602c8304544e37852c361095154c6222bc5737221d3ade2c0f1e981676c92d24000495 SHA512 1d2210f160d92da7074d119ea1806c9b88b206b44742b9e8a4d0d37a1c9ca74f17c8a12834323aa12948c2e5ab0f890edeb57b94782339079b73de32ad1ae1a1
-DIST firefox-102.3.0esr-ta.xpi 510340 BLAKE2B 8dfb9e20ac388b1e82139bb5a27f1cff19e0bcd9d0ef054ba2ac34cf7a3792add4f9e949bdbfbca907060e9f57528df070a792d1b9bd40957ace7e61d4a16130 SHA512 1cad1416c798fd2fab469f2cbabd33de93abe2ba906429f96c22aaee7378e0e1be6a7ee49bc093ecc5fea14310820d4d997e34e8d5dad7c2bca4475bfa04a0db
-DIST firefox-102.3.0esr-te.xpi 551584 BLAKE2B 1c6c1baa598bfad8cc5b7639c4c2e62d5fb1714d354630d5fd863d02e83c6937f306095683f12248c854f264d43b634a3f267c041c8e72b9da447920cf82d1da SHA512 6dd038446414dbce78efc0d4cdc13c92ae611c84540b832dba64138b5a95d55305317b24594113e50f2819a4999c253879732d10621f4b75e7ffdb1cfe5a2591
-DIST firefox-102.3.0esr-th.xpi 612082 BLAKE2B 69f67b021e69c8d45db99c079425f6c260c7a4ab6bb2352d2c2400ff724f626b212f57294822ee8c8bf363515cec377d53ccb3f14dabeacc8e946a7e7eadcf4a SHA512 aeccdeadc400c69941c4d3878657e0a4708e64e4f5e780c289287797dd561703b736a30fd91c3217a7918a60c43e403abbfbb11f0db12b07b9f148de60e40a5a
-DIST firefox-102.3.0esr-tl.xpi 518943 BLAKE2B 5c7562dc434f80bf9821f3e0ffda53afa5a47e4c8f4173dc828c1de3f747654783e6ff422a01d22029fb1d30d7abd441511009283ded4194833ba27ee4bcc159 SHA512 fc620e959eac61b653a160336163bf3a974da47364503d0992b7be0156d9b77b18388e3a721828b86c218ddc8d692c5244ac1dcf2d596c6fc675053230ad62c5
-DIST firefox-102.3.0esr-tr.xpi 567030 BLAKE2B adcc39e2c690a3fdd1731de99f91647ddf49a9ae1e3db379674da4edeb016b1659074d5f463d75a79fa27013d0ad7dbfa526aee943b6ad57533dc1a10c582379 SHA512 1fcf727cd521072fafae5797cc758f7d862648a88b283b0b3d91b755377cfd9f4e853abcb6cd930c576434ab013fbf02fdb7b9139affd9091ef4a548ef345cea
-DIST firefox-102.3.0esr-trs.xpi 490213 BLAKE2B e8edb6a7d535788bf6c3ce3ce545b834095fc58e9e780b467050567f89329e31ec3f24293ba5e8b3fb5b9dc310ab4c0d8322e360875dc874e5b34882f0ee295b SHA512 ac5046eff687566e2917915ec886982137d8bfb0c4d1026763ab7d1358022c7d504a9cde89e0f34149bd4103d8d18f3534cea7cf444cdaf750277956c939e053
-DIST firefox-102.3.0esr-uk.xpi 635945 BLAKE2B 46b3a19488904df7bef1883cff005ee63a5b1b3c2090c64fb366c934d5a88037fe89027c2685d6820d032147dae1abe4917fe1fd45d3a4015b5b191a1a6c2108 SHA512 ab9eda82ec04e9ed5e7532181cb1f78388f6db76823b40280b6872ba6522d244d81f40273ccbda12ee0d87f9263cf8d32a43478c5b4db77ff522ae634699ec7b
-DIST firefox-102.3.0esr-ur.xpi 558059 BLAKE2B 5901db9e23122470312df1c61acc4b7a1e5de16d53701e8dbf8ab1828fdbdb9e7223f146675a7f6357de8ed4f6dcb2b17bae02fa4b13c55ef8f767ed0a8739bf SHA512 c17ad720bf22daa4a8f6bd2046e218875ac1fd8d1e256b6a0bc4d9d162764f0af1cc900b9dd54189ad750deff2faedb183301318131d725a2da761267d5bd706
-DIST firefox-102.3.0esr-uz.xpi 478246 BLAKE2B 580a168a88a12ae18162aede8c6a3f32b1f7ce9e938daef6dfd00c9ffe3d968c10efe40354c458b6312d374c8a2fe4a88b1ba59e5b3c39d535deb5570b131642 SHA512 106f5806dc52f3c49cb162b850e85cb159284072b0cd0e833885aff89d711be76debab4e377e9edb11f1f5aae437670aae5df76c1b5ab22a77c047e21fb44404
-DIST firefox-102.3.0esr-vi.xpi 586368 BLAKE2B 3ec464d87002e196970b04792767e539c9c12c1e17165539492ef00b6d9a7b8916ab4f3c5e05a218be746dfbd43dfeafa2336f8fe841ee5225ba556c252407b7 SHA512 362aac1e18f3a3f694b657cf9bdb7c2c2cf9810387bbd71e13e0b9e455f3d3e588b7500fe6cef299c43c4d793a7ebdd31a15e30076c0e7e2600555c5b187fa46
-DIST firefox-102.3.0esr-xh.xpi 427184 BLAKE2B 85d46e7f2d1220e13ce660677603cb9ba90e2244c6140cb02ed3a93745479268c4b72a04d02ee184b88519b69b2c5784526625f3e478f41040a07200002bf8ef SHA512 a8ebe8abaed1019b5b8cdf567f1bd8eb41f34b75609e99e7abf53c92884c49a886d5c481245b4411ecf735acf2e611f872464d47a040ec7e6a6f19eafd23f51d
-DIST firefox-102.3.0esr-zh-CN.xpi 589094 BLAKE2B d496632b1f029535012ad3b43e93534b206651701a83e32750f03f3d7c2b2b22c6165aa0748fcee89c1b97a535e521ee4e8c20ea51fb6633892a0e851b8adaee SHA512 b328345dba6f6d02561fd63dad909b1c071af652d36c198bbbbfb746fd7907b6ca7d048899a4ef42477ccfbe5c2345be3afd4bbed1fa75f04f6c6714f0831e1b
-DIST firefox-102.3.0esr-zh-TW.xpi 590469 BLAKE2B 71323bfe2c05d01e38ad6629291a83f82eb2b5486a133d0836e5982d6ca8e2fda0ec11e66d874dfefff31b6b42237324b80146ac643b78d557102a8b693f6847 SHA512 3038339af3b2c01824c17bdcdfbe64354c63e4bc55b6bd463297c1f875c49980a747c5447f9f468ff567d6bb2b883b2cec91a1d716fed3245aa1a1bd840412fc
-DIST firefox-102.3.0esr.source.tar.xz 478260896 BLAKE2B c40ddcfefee874f6dff5d175331144461917269e912d959af20aa19cb8bdc57209403d1e5962311614be8fede33733f734c19bb0d32d881421fa1197539dce5f SHA512 35357791f4de8b474780083a22fb52b7846b8012cbf01403f2b9526151d11c196ce0f9fba8e0f16d8235d7259af6fba1bc3acbb5b7e79129a28f390467aa7556
DIST firefox-102.4.0esr-ach.xpi 453446 BLAKE2B 61752c8ba1df1e9cf08543efcea3d5a17179a85ab5cef40eefc69009963c8784d6b9ffe2a190ed4ee891446ea6d0cc63c72c4aa1fe03ad2aef2e7616bb75c99a SHA512 3fbaab97f3b45c1ad17dc71c390d758fc1f49ab33baea5965f0dfcc023040f6105af6078b0510a3c02ef776cc5a6dfbcb317790f129acb18e5b24e81db725ead
DIST firefox-102.4.0esr-af.xpi 418250 BLAKE2B 9635e007c9af5d0eeaad86e6f56d4262c43f705930bebf2098f2d70277d858e72e2c676971480669aeae0f4ce44a6318f11249376278e4d1fe48014f559338bf SHA512 b74f776ef685ded49b355029903301b9e7c7ef2979708d0545209151af1f7fb5684697e11fbbd6a3cfb6f00896534c0c8744560fda5536f26642164cfb7b56e5
DIST firefox-102.4.0esr-an.xpi 498413 BLAKE2B 63589bda0efef5c67e04aafc4859959f880a9300075246db7e303d917c2423082c45debbd7f2c898d2071a8f099e07940a2d0aec6ebc19b35a5449c7736e5d7a SHA512 1b0a59e373e8502f6b83f18362590c36d1984138a483ab24533e0d9870bfab18cd7da751bcf54fe025cacc675b7a067ddfc5ee358af7957fad189bab089f1fc4
@@ -203,206 +105,8 @@ DIST firefox-102.4.0esr-xh.xpi 427181 BLAKE2B 5f1966e0dbd2aa3813166dc850f177934a
DIST firefox-102.4.0esr-zh-CN.xpi 589096 BLAKE2B ba7ec34f1f70fbc2800821ef4cd55bdae4544fdd71ba180907cccc68e1df773b1e4a681c67bf9a018eec4f9012c6750df829c81e4cc80f3a32ae1bd480304240 SHA512 85e624355363f9d2e5717723da6aeb920342c551f3448f1581c9ecafd7dcf06a7188176a73ab39faa54c4b856ea3d0a98438111e1211abc7af72fe5fe4470530
DIST firefox-102.4.0esr-zh-TW.xpi 590475 BLAKE2B ca73c38446e2fc3daf4f5e7a4e27cca153f0df38ca83e9368a71e108820709ce588593e3562941d310224bce606da77682afee90829bbb4feb34d64ca595ef85 SHA512 94bac8f5b13099eef8570f1e9a7dc0509886aae3e3c1b952f970cf1adf99062405ea504e1417e3e54b92a551bfdb666274ad47c9fd08d2a72fa6f6579fb2b3a3
DIST firefox-102.4.0esr.source.tar.xz 482118312 BLAKE2B dadb293edf4df20da5345aab6845ca9da8143a966b38d3660ea8ebc4f24ecab72097ba4345d30895907c83895883379867437f8097b86af4e7e0e691da551793 SHA512 30d9e6ef04fd86516e2cea3c797ec99af4c96b08576bb3409c0026da4fd1218167f89a007109e1fa4e2571f98f2dbe5ab58a26473533d45301f75b90ec3dbf28
-DIST firefox-102esr-patches-03j.tar.xz 20768 BLAKE2B 49c5be06c5df5eda693a9712a63989f71dbbfc34fb3dadd74f0c95a25b2d8123af973ce92d7c7b342de311d8e94fd652a3c126ad6b9f0eeda09e709d42959cf4 SHA512 8d1e9e37095fc2d1a24064b6b6b16e5535dd387d7a566c52b8add7e060e9e7d0f0c14ff46efe370dc7b8bf7469fe9cb0ba4c2014829195f922bdbb0a2f41bc31
DIST firefox-102esr-patches-04j.tar.xz 21860 BLAKE2B 1cc1d6493912f85e71cb5a0ec2c3196cda203242f3503bb6ce8c23a93e71a6e8b1138f88498a6a9698066134cc234989b35cb378693fb2cbc9ba4caa8d66761d SHA512 9f7188dd79b9856826ae2a60b0109c2c86c60c10b03cd1828a9f7a7576df5c49ed3e11e4d3319d80e117204d6bc3408e375a62ad16ec8d2e53f999cd298811d8
-DIST firefox-105-patches-05j.tar.xz 19144 BLAKE2B 61bdd5bde8fcb0f71f45595dfd289e3798ae9ae64e2c7bb3db54816a5ba494cfb0bcebbc42d47f4cc395260a01c6444588ebf0ccae481cbe0db5e3d42646cb78 SHA512 140da5d340ea38d0d431533961d7219414162046d6e1f6c0af582ebf5a92ed4b8a88a87991dc231434bf5a0e7250244283b2d36f519fbcbb62d5bf82d8f10187
-DIST firefox-105.0.2-ach.xpi 462391 BLAKE2B 9f81f3f73fd3f616495e0d3e215cd3164a407a28ec5ccb89a723fa02f32131251b5eab3fc91be15dbcc80fc77041c360791c638c63f8463fd9e2063ade45397a SHA512 c6f202ad025b5cce4b92ed32a55996f5bae9f6a2cbc5d26ead6399332cfe41d9020afe01ad3f4dd21f42d81982ad61e4f718bda006027fb8edc51e2103f17d42
-DIST firefox-105.0.2-af.xpi 426879 BLAKE2B 4635cfeb46eec321bf06b9d2ff2866a112817155de4dfd13fffed3e53ae3e121eaa398655a817bb2d728b86f2d7ab80be680f7a49a252a147785245aa0a7c107 SHA512 5a98eba4e0a00baac7c0f3f824816efb206c4bd8381af56f8956164d50f1afe74988a34bd5f74d5076baab55c6bafb9d08169f6b9491f6fd5e4da3cc40cc0832
-DIST firefox-105.0.2-an.xpi 507319 BLAKE2B 01c9eedc3a2784b3bde71d9e9edb5a2da8b329c21e5a048334cbc021f67f3980905ad0040cd9a3ddc12f7b844957817351f471711172f55242edacfae6d5f65a SHA512 d3857557ca2cfc20bc95d61d564e17d102d56c5de5f8b9f8529ff098aa3fe6dd3264d7cdddd78498252f42053349f68ddce496d2c5b61bc6d0e08a618dee605f
-DIST firefox-105.0.2-ar.xpi 571520 BLAKE2B ac4ee3a8906ee9e32256038753854badec8ce610930276b558f64b6cb17c09d7b995e8f1de48b9a13fb52a1a5708821a27b9502fcc83ed4f1e7f12ed84264def SHA512 d082aac8ce3d1d5e0afa5b019c57dbb47b1d43b75334f451b21b1a931b29325bf70849c581dab334f0f49cee70eca1aec1eb5fb745f4197d4c51623edfb0bb54
-DIST firefox-105.0.2-ast.xpi 502233 BLAKE2B 6b3baca0af83953bce5214c82ca7b3b89585fc9aecb4e22e676fbd86f4ecd9769bee90d2e7f53786a65d47605f25709aa36701b33a05e2b85279d4a9d4ab7d0f SHA512 c65f70642a917a40eb63a95d4e773afadbdb0048ba1b4f6120f11d22d15317c1326ae47755425e396a2c05a8d36d02e9153047ba7a3b9b5902bf90e15bb1f39f
-DIST firefox-105.0.2-az.xpi 494481 BLAKE2B 5f3c0f47c70945512bcd2d8ce77163d1222cafac66d6f40cf72f3c3285efe86c0a77b0d43e9f023f8175247330d11242bb9b0cc25aac5b4e984c060240f8a0a1 SHA512 09c48ec36988b66486a8cca6584f9e95172f24ec2b9222aa148c82f923a5fb773f65e6ba8effbc9de051488b6e2b7fb3e2c8ebb24084d0513b604574d66c49dd
-DIST firefox-105.0.2-be.xpi 647127 BLAKE2B a35edee8ea0dbcf970797ce1ef26e58d7b336bf4ea81fc5df4e85ae64a2a316237ba35c76a49cdd19006063d03cbcdb633353948b131cb099d3d7a09c2abb0c2 SHA512 26f97144bc0aa86917d39abf2df6a7ff71b0b32840730f67bf55c7ead27fd2711fe935753df3c743a00548bc777b8e300558a2a0a77c9b88e911b799cd3a69e1
-DIST firefox-105.0.2-bg.xpi 587140 BLAKE2B 6af462bb2ab04a951c7761218667058daa3c8d0c94e052176b38cc5223addc08392769778af58377876aadb6d72d5f5dc729d15ff11a171574f904f6c875ba5e SHA512 71839cfc774a01cf5e006acc6a3cd9f78f748f1c3902826d59c28a22dfbc8d930b9f6d695b1eb06ac4b24b8e4e01046d26b7252bddafc64fd435e63dcdb92ddc
-DIST firefox-105.0.2-bn.xpi 585368 BLAKE2B f04d81ac30695ccf974ae20e685cba3a714203dd5aec27b8a474fdfaf51033661852bea98408a9c4f3ef8417e39cf973e95a0aaeee6f3c844ef3019a6eb971cc SHA512 788cf144dfb42b5433c718bb422a5654ce1f6f726ed2a65b3b3fda9e9ba50ce2a5c094dd8419b0c97bc59ff81872d9cbf9477dd44214584559075fcae0b9c252
-DIST firefox-105.0.2-br.xpi 539966 BLAKE2B 0a4b89e3fdf802b3eb1993a9d63bb525abcd39531106f429033f35e5c88e03f00b5ddc4ca14bfd7bd57bec09822b5ecbfb1179d293593d28ace4b7448e60686b SHA512 bb546c791a44da27146c1874286d9a1ac3fc50d5c455d1ea9e6821d1422fdd4333cc7a0cdcf6d2d81d2a5c40e890bbbb849d38d336ac9c4490e0e50dbdae223a
-DIST firefox-105.0.2-bs.xpi 470953 BLAKE2B 28e3474d912227a80b43da629b9bbe0e2d3e4e31f0605c697b9464eff598dd1f95181ebf1c2f7ef67e374e0387c77812664260bd0504fdbec371ce060e3831fe SHA512 b70570bce2139c7117fbc8159ce194e7d4b9d2777c551cc81c258ebbe66fd79ce0c215afc6b2f9b0678a7a62377653942b7c2c8b8091129cb3c585a2d543efa4
-DIST firefox-105.0.2-ca-valencia.xpi 546426 BLAKE2B 65326ae5b3b91f00ad7c3c31125a39142492c767559cba70437f8232d02e4a13428a972ca1d2f253b1e488a4b4f3311a3bdf3e6e116af13d9a89051530d5ca5a SHA512 16a40af9545846298d55070136e43af57295c264cd8dcc93633ce11041400707fe8211063e46333cb7dadeb489c031919fb46ebe442b1a391038309bc33d1436
-DIST firefox-105.0.2-ca.xpi 549857 BLAKE2B 00b0b750ff0c9f3e208fd1705ec209084c34bf4e56ff46277b0aed73036d1c96a68ffeadd2a36111c631355f374ab160c79c422b099d6ad2fbbdb90074aa773f SHA512 912b56033a54ea3d45633f5393748377d178cee7c2f472248d69c0545b705266f7305d112715d36ba575dff9aa09a95f4e0bc36672101c161d57c39d5944076a
-DIST firefox-105.0.2-cak.xpi 559990 BLAKE2B 9ae57c23e5a4b5b4921e1c09510f0964bbb448f6e5e55a2caa8cb676478fb71a3771b47c1ee1e2250589bcb5517a6a951502fed9c4f955f9f182986e6fdd1fe7 SHA512 600a1b9babe5b40442d10b0162e6080920f563cadbe03d15457aa4a71088e56017936c78e0eeb6ec21fc37f20d3d4b6b47dc3bcd607e79e9165cc58c0124ee03
-DIST firefox-105.0.2-cs.xpi 581735 BLAKE2B ccb36c77d6ddba17017b748c34de7ed0f37b07748051d148c7660dc75127e9df8f4d3c02a542226073f28755eda2d19b3037175a479f9d30b04a57bec267b33b SHA512 21bd4ae4f92dc1c6bd87a5989c198e8cfdb9b4ec604e4c6fe455d48f792e2c03b63cef9c052bbe24fe1f153637df4261bc04a312037b477d6386a8b1b0882a56
-DIST firefox-105.0.2-cy.xpi 562730 BLAKE2B c00bdaf2d4b8b8a89b4f9cff462d6ccc771a208c2b2cdf8d5f83eeef9975f91122e3cee6c843fd88f3c880015995b60a4fe659d3d18246099b3a1cc107bc65fe SHA512 c62d561bcc3294be67231b12ad326fb910f96c2500dfd405db73ec3dd77e9983eb3754d6a2f37eeb6ef3507a44699d4e9f707da0782abcaedada21d7dac011d0
-DIST firefox-105.0.2-da.xpi 553592 BLAKE2B d619659f46f6fadcd0149dbf2f74acd69a7bce12c6a12e0dd29a70492bf0630fde34e23bfe7948907542ad91a321b75877d9d71d11482c3afed00929b2533eef SHA512 775de9c470f9cd08eaae484e3e7fc6083464ed9636f49a5328be596dc1ae7e57167e4dde462a74f8b0a754ef8a84f48a9f33fc8d37852409787f6f9704f9c802
-DIST firefox-105.0.2-de.xpi 574355 BLAKE2B 53b41e092a4f341eeaf28ae621f4ec3e8776cd482a53098cace4fdcdedc30cc4144e996530acb8f76aac8e8baf7cf2b6ead541783d90db2e63c143c6e9479257 SHA512 caa2f03277946d819214df127ebb5d13534fa1ac9633e560b4194234faf893c48b7becc6238d1e30100d431289dc2469e623998fa517308d64b6e31bb7dade56
-DIST firefox-105.0.2-dsb.xpi 587695 BLAKE2B a9b84253f0d47007924a99d7b5bbf3b289a2363f56ff3ef9d2d727eb85ef7dc71258952ce8b3443f2ac2ee4137afac328cdce83d108989d8141a92401c821fd7 SHA512 944f42bf5ba38d2f9aacf65bf3a762bce77dd5b9dc53e33004482b868a8c69dab934c1d883c2ebcb9661ee730efb427b2b0e166d24381796b04580f719daf279
-DIST firefox-105.0.2-el.xpi 663186 BLAKE2B 511539d15d52006e37e0327c1c0b22401e71504233cc25e9ebfe679262e05cb65627f065d1fe6a37a171abd058c1db92ef78432803a120d74cac8298cd60fd1f SHA512 beb94e7f840dac1745c6d332d6694be9f803a950976e573f29646b0faad5df91e7d821fb3fde945b5285e5e7e10f0ec39e2f60e5e35d98ee90c47d7cdadcdf89
-DIST firefox-105.0.2-en-CA.xpi 523073 BLAKE2B 748421a0eff80fbff1f9dbb80b646480b73c48825704fac6f8b0a8affe1a1832bb3bc11011d837919134594de78c7a4c939d49322983e3797b3b99ce59d26c67 SHA512 e02a51f671cc79140d0c1c8b4884c30653037fc7e90e0f0063b67895e524f6db7576efc521dbd31a0dc8f4bc13bf787e445f005b17d6036b496c6e19a5f3bacc
-DIST firefox-105.0.2-en-GB.xpi 530696 BLAKE2B 94a7ac14d7f783521dea81b62766b4f3a51b82368c097df055bd277dbbc183e0184f19422adf89247cbdd48acaaf609ae3a50b29a8d9b8ef5601b2929308961b SHA512 fe6dfd391693661a481b6939597276e821cba417eea8ff6243da77bcb823a137f359a54fd633f55a5b72094e8a48f251f3d319e9ca09a0e05263a212293d1bff
-DIST firefox-105.0.2-eo.xpi 554046 BLAKE2B 9f071b86a6d9b1d080d37de736d37eccb034dc2d04a87d6c1f8243dd1729c0a15de017c5373c152a26644f3c9f7c1c86d72f0723be8cb258d801ceb9235a77b3 SHA512 05c48cddd2c9d773561aaf5b331112b58c79e4c9e0ab3823549a5360b618932bed00cea63d7c5486c66c64218aef78318cf5746641557872eab8ac75d0613de2
-DIST firefox-105.0.2-es-AR.xpi 568715 BLAKE2B 48f6219030d8de47ea70e2575c20758e38ab7b568543c166c6e5b263ecb57b6e9fbd749074216f791f65854bcf1c8144bc181cb05b0fd6656d9dbab8573d4901 SHA512 89a4c9bf604b12ac2e8c3838810ea8fdf9b230ac2f19be15939e5ccb8776f2f3f1439be2287341ebe0921ec78a040631ac7ce1bf1c034ba7ed1f730e8968e440
-DIST firefox-105.0.2-es-CL.xpi 567813 BLAKE2B 712cc833ae89c4d95107cd99f75faa387531b867599a2e26973ee5ca1d053ebe1ad4a206f7b8befd9766caddc8ac96e9f68f2a0d2581f3cf2be2c2e3b7e59b75 SHA512 8120371a7346ff95da760e27c250f50c223d5b32fa0e6fce73914e37a47beebae60885b5537cf627a15d4f75e5a777211d8a9bfe27f34c8370e2a21e1c0fc676
-DIST firefox-105.0.2-es-ES.xpi 553328 BLAKE2B be7eb7433d61cd31989ed80974a27424caa31958217b0d35e9bfb9ad711bd1adb670d9dc0ee7aa71bb6f136d74521d7dcf1dce69675be939d7d9171ee74bed4e SHA512 b28cdd4117168a21c705ba8e20373574c422b0d4938396b297f76395792282a920eca98dc2c6b0d9bd1df20f7dd8dae5f67a9e6865c9da2dbcc882fd94e6f3b5
-DIST firefox-105.0.2-es-MX.xpi 571868 BLAKE2B c543064b6d40624e9f57d9ffc80541ff6f2fd1f4d742572c9665a696fb56bcd190a5de3637d1790fa0b25f3ad1759bd3b4be74c444747184c5003902197b6569 SHA512 eb6b65b9e2dc341cddd35aee7b5afd06bea4ee53cb5f8172e103d64ed985d8049c70e9249a8f8c51074d2c727c66d6c159a0435c09899c8ea36c862688e5f724
-DIST firefox-105.0.2-et.xpi 539893 BLAKE2B c28506dae8d9f1efadc99cf8de6f9bbecbb37c4780c1e10d2bd976b5816cc6f7e603c19ff0413e5e47eabdfb343ce884416aea5ddf64426949f929fe35d86e4a SHA512 889a3ea25723267092a1cf7479987ef93b6305947bd2fb7682803e44aaa94365ea6da1f955d560b567ea77166201cfff9e0857ba0a2a891703860d898917fe66
-DIST firefox-105.0.2-eu.xpi 556241 BLAKE2B 6357354b9234585062fa200ba378919cd60a6f84b7382f33e71530c2d688b33e1ac7bd91093d718c04e766178c44099ac78794315c4373d1232aad70898d1e6a SHA512 1a6413a3d4af7fbf174fb245fbf558549db51ed1d51861b86656222c1ec00fea70253720412fd7bd1a30e0fe034d0aa77fe53164022355f8cf0d9db974f60385
-DIST firefox-105.0.2-fa.xpi 571117 BLAKE2B fca76032dc92af5b980e5683c3a6a3bc69a3f1608ffc4e0144e61b19fa3d4e48632f4b5eb7bcb9f4899dd1241fb649f8d195a685ff6b9938a8bac46fbf939151 SHA512 004e0cf5efc9ca14df73529a2449b7ece5ced626288d9424e3913921901c6fd9de617f75fe13330a866fe28c9a47913abbd232fe24bdf6539e6000a14e18540c
-DIST firefox-105.0.2-ff.xpi 481142 BLAKE2B 0382a55580a424337ec6dbd3efdbcea4ff6f98ad98593a3e6df7392e2aab1d06ca2063b5ec1c86f8dda857c50be39af0cf36d605791f32d6c02b326651e32341 SHA512 728f94c6b71498cab1e66f3aef0f561e3d676ebdc1bac5398980397afed21da232ac9c2985ffee079a53a198d5a5dd5f9c8e520f6a3a8b3b70fde14ea07e75b8
-DIST firefox-105.0.2-fi.xpi 552067 BLAKE2B 273af3719257320d79ac206c907bea0b278241d2497f798f9afd8925827b6fecc9462d16b67cb7cb54586322ee7a476419f29cad33b1508a99c26d22d027e755 SHA512 4ff1b20dccd06ea78ac2b8588e88254662d119637edb4b3d176e204a42e6201eb81381e7b53fb4d98c37a19addaba6ae3698dfeaaa6d2a23065af1378fd8956a
-DIST firefox-105.0.2-fr.xpi 580226 BLAKE2B 997438094937024513daa2fcbbc5a7dccb70706e0292ab58630d7fa83668535e099163cf336418e8651407e246837ae919663053108ac8dcbc8749f39fb06b12 SHA512 87cc753dd7d07f791996fcaa13d4a058ffc7db7884b8150630d25e5da4cda5eca5eec0db3a054dca5c9dbf31e802b65c0aeab83492f76f240cfb1f8ee48e6c45
-DIST firefox-105.0.2-fy-NL.xpi 564523 BLAKE2B 9fd34d35c3f9b1b7716cce11aea6902813a4227259b33324150fbb494753d92a35b3f54775aebc2957fafc0b8967ddd68d59509c960758a2cba3e6417c6e5f47 SHA512 b9ab504502de460bb98f96001f96794545c2d565c9b78cbd5e581b51ff7234a4f92e5e1129f953b4ae0c862a45ae0df30a43edfe4ba7e0b2e8ac2bd2bd0d43b4
-DIST firefox-105.0.2-ga-IE.xpi 479298 BLAKE2B ee35cbc6b9f94671afc3223de9e7f070f20b96de787e30535975db1d6eddeebca4a9f8477400d05d4248f2b635cb094992f01d9b8f798eaf57f97150afadfca1 SHA512 922659b1536a28a73ff8047a5cdd2cc3875e2c761cb98acb239f1eabc72aa39647a4f086cfc12af3fe69e46bf9203fce7c12813b99bc72712889c43c373b72c0
-DIST firefox-105.0.2-gd.xpi 552649 BLAKE2B 74e95bcddd8aa7ae80c03d31d3bcc78bf5d2e4a32636c6da7f550ebc2c1fedcd4f209722761f140e66bff3b3eb7f3bf0b0f7b9ce432323e82c97fdca37155d5e SHA512 4c153764aec66677b7d9da70643710bc0553ebfefc2bd5d365afa0267396fe0f34f98bfa08cb118acaa42b36574842720048da88833b9bce594550ad9be7035e
-DIST firefox-105.0.2-gl.xpi 548793 BLAKE2B 135d55e43c2c59357f8b074b32d8b5767973ec9336eed0778990d010ca77a5c99dae77d5f91b331d509905dabb142e5d0ba9475d0fc7368d6522f672d7edbcb9 SHA512 d63d78644218a73e819df2f72eb686b2cf67732db33f6b63b254cba1da1ee8c6a866ff0b58c039854d7dc7287f78461ae1982884826648b81ec828e994458476
-DIST firefox-105.0.2-gn.xpi 579022 BLAKE2B 5db2fdfce8876095a6f3eec8c2d028319a383a46527e6e99cc4f197c32ec137b0e3d6a268e26b9df4ec70cfbd32c865ba15efa907c1cceb41d4df6025111b925 SHA512 5cbac237d4169bd69ca0e436a3cf17ffa7d2119924f37de749ca6dbb26a6238b5af79e3970d9f630e52b9655d3b6914d2a8880ac98c7b0be1779be0397f4b8c3
-DIST firefox-105.0.2-gu-IN.xpi 536346 BLAKE2B d01ee9f850392293e9f8c8b3c58f345b270ee18902ce76fc3a5917a7a1522abc91e7dc64c7169a95ec5e4e8160e228c4006b2b2cfdd29596fe4486eb064f9399 SHA512 adbd5a13cc0c3b88b61fe2e534ac9cdf62eb3d368de75b38c82d877714f3c30d348cb96a12b9af9c43347fd5aaba66dded560365cefdd24d53cdaac402d30158
-DIST firefox-105.0.2-he.xpi 575463 BLAKE2B cf12486a720fc4214b5df159d7ea5d2bdf82ad3d9566e31b298b3aa2ccff286d1b59677ee6bdbce7ed1a2e8ceca575869aee01752211c678e3ea62d9ad429597 SHA512 1b2fdaf49a552f960b625c45647e919c458f25edb3b47215a3a3a1e7ea2fbd50993578bd60244ca40195ca69efd1f0502958afad26f4d5678c8dcd55cb2ce95f
-DIST firefox-105.0.2-hi-IN.xpi 566805 BLAKE2B bfc296aa079b42deca8ab19da62568389263b7755883879c88f026f4ba3badb2a84762708d011f5d7aeb33574d4d80dff6a76b9a946ed01b3b5013a17c75c476 SHA512 39185e597b71e97e2a126fdcdb193152f3c191af86c4f8b73129a0cf2c6146b67084a492bfde5a648d28bf735082e0dbf86be9290c25230a4bb1e1495d71ea82
-DIST firefox-105.0.2-hr.xpi 539465 BLAKE2B 161d395c3c18d89d80ad88f0aa4e6ea43b47bdb6cd7da1dc85f1c200b9ab3ad74770a3adfa15e767f0461452da5a260a67217947f44d8bb7cbe769c3e921bffc SHA512 85e9dd87f45634ce5344b9f4f705251413be8048fd438e341d8311424e81fb03626d4b67df11fd31fe9fdd41a71705d47fe2f358b2a11deea0b8715f5f36ddcf
-DIST firefox-105.0.2-hsb.xpi 583869 BLAKE2B 7e9c3b2b5190f9aadf66486cc6b7ddf9b551309ff9f202bdc419c992d75d0285adf78d669522fa801d814176d6ae7dde95b1e8ee2e0a89cab34c759cc0c85bfe SHA512 2105e5bac07bc11cca7357853abe9d13d37681cb051cd89e34b8c5662168deef74bb63fb36c264ed05af7912770e14f4b0d6bd2c2372cd197d9469594c7b1058
-DIST firefox-105.0.2-hu.xpi 588455 BLAKE2B 31bc6acb3bae6f04331894bbd0bfb7d75cfec5986d49e0754cd6da5fa7be082c3bdc662dd302546c0a79b70342bc6984fb905380bbb95ab9382832bbc14bc021 SHA512 f829abe9d78b76f12e27b36c2f0560156d0d603ed5c21fee94a30013c6201d9d4fd002ec9ae775f48c3549067ebd1f6ffe6d024833e8e8432b69248eac742112
-DIST firefox-105.0.2-hy-AM.xpi 591365 BLAKE2B a03540a5115f6e00d13d809402486b9ec5566c9dfeb0c5a40b67f959dc20b0f2a363b437ff629dc9ddb6022c00c3d5320f05b182ac3e37ca05f37de2b64450f0 SHA512 31e36b5ca62cbd39630a82715b4e7fc9b96b151e4e4c4e84ebcf6fb5e580b3fe02ba5d24bf164abb4b2eab78609a0564486e6b0e9d55783db95a4337d9b61b15
-DIST firefox-105.0.2-ia.xpi 553264 BLAKE2B ab39a8ae95b164e223aa903510f00fa6059306ee6442c4ac894d6de0f50aaa30d4a15d38f16ac06940f705cedad6d3d1c830fe3a6cfe8c3434201458b15c92fd SHA512 a368af9ab1c8bdcdb8df23c16d8072c076af2aae511cc2a84c1f693f232f3305a26b6440f850a12aaa4ee05fe5cc750dd6a0c425b06712070a5e8cd210edb74c
-DIST firefox-105.0.2-id.xpi 550335 BLAKE2B dc8a6307176a2f8f2a6368749e8f9e9a7320d4244434768b85183505a9c8d5163542a453641725586c76bec814ede5a19a88112f996a8fe9be31cd7b4a5ceeff SHA512 fbc9068c66d3e7f16aca2d8e51411f57f1976a95859f2b794c07c74a135f0c85e008ef59b9a4ead8852cbafd8c9189adb6dbbe6fb9ddfc393fab6c659abb9311
-DIST firefox-105.0.2-is.xpi 560812 BLAKE2B 1182c294e5a76da3f13b71f46b11424e8e2dee07ec598051969a30ddbc2abd077dc4d44ef4f4f9cdc524b87335e7e25b3efbad1782b40c42f9246d454da36c81 SHA512 936c3e0e52113544e6f5780cc3ad9026b2a9545bb1cd505f40592efed072d7aa5c66ea1aaefe5cb0e5bacca9c75fa8f77fbfd21bc67384dbbf3fd17141abcbb9
-DIST firefox-105.0.2-it.xpi 471258 BLAKE2B 05cff008ec080bf47918fb0f4dabaf17f3826fd68c6c02fefcb59c867011e62246d5c142e843be4db65bd594bae40e6d29f02e750b390be60e8923e0ba4591a1 SHA512 e41202b8dc98966c4624654d4d748adec28c9374dcec30386b99bf604be2d0fe93b80b18149c224f041f4af8c9e41fe4cf35727a5e7f10420ee44efec9fc7135
-DIST firefox-105.0.2-ja.xpi 593781 BLAKE2B fa2b731ec606d949f3456787c80cd783c5310362f23ef440df46b83def7ac57ea54986283077bc37345c52874edafe147aab6feef11cc314704948e9c8685586 SHA512 77c3e9076b2a24b2bc999fed73338d1c628bb8d3bbdec2165cb9098bb56eb389cdcb3bceb3f3a0cd8b60622ee36d289de9febd008fd64efe21e58030e1ee1f7c
-DIST firefox-105.0.2-ka.xpi 614606 BLAKE2B 5db2ebb8c3330339397b1c4a0029673a4b87b473cac6199c5316659dced0c09fd156a48ab1710bfeac8b627f8c499f5731b71bac4b2b80dc87c8bdba3514c75c SHA512 6a5602c95d56da7eaa968996547e9b08dbc60c43d0e990ae61f652af0c894a20ec7398b9b4e3026aaf2ceb1e3d017e47aeddffac5244ec0f43c51ad4361a9efe
-DIST firefox-105.0.2-kab.xpi 573733 BLAKE2B fc06539af9610e0219c9c76fd558ca348a93ef70e84bb1edb0c0f9d6cb093a633121dc84577b4721d77fce17a4acebcec765c1bd6d1cc5a9b31f4400ae1f6464 SHA512 56ce13fd7acbe8f89004014c27271ea037e20a7f2d7bbaab2ee3acc12e3381ec9e2d1f91f2794c289d337280ef2902446fd577db8d435e543aa62ae16b4bb30b
-DIST firefox-105.0.2-kk.xpi 631204 BLAKE2B 77de41694d8b20d475ff5804bf03faa81cf6e8335fd3e5ad31adc541aa29638c3d3f6e43895afd7961ec32133b2a3deed1bbb5a77eec12399de417e5c53a06d6 SHA512 8433172fd1518933e17f36f146b2aebe6433a786c9d0a5fef2643aa7cb5b2c57108baaf83187860798e21d533dc0677814bbdbbcca8c5ec0662e027d78b788c2
-DIST firefox-105.0.2-km.xpi 540639 BLAKE2B dc637b0f092d4987174c71ff4d4effa805d73f5b40280df5de684081fa4fec4f076468566922fa88cae86fbbfe5cce43597b34f0107ce3f8dfb330a91b19fdf8 SHA512 9d34bc9d55b8af500520618eddf88167bd19684bb2855d6b21b2d95268eb9c84dfd6e725f1d999c288fc0ef200834fa37b90df241bcde013ab4fd6b83193aca8
-DIST firefox-105.0.2-kn.xpi 506463 BLAKE2B d738431c8d3b6bfbfe90106130c35033e3eb24513e2ac82088495240e855d5350a907aad0bebb407574e9f25c34cdc767f2f5e160cae9a50188acd5739563c92 SHA512 0c073a6a36655415030357e1a524253228edc79958c8f667cb97c9e0e2724e6d320160b5bd5b077e91661dd7b4e7aa6ebe70693f247c545078fedef82a67aa1d
-DIST firefox-105.0.2-ko.xpi 600527 BLAKE2B 2c4b4484986851912c4cfbe016e2b080af2f2e571b1d3e105ae3861b8ae145b3de78d9d1dce2ab47b8595a65005c3ed37533f8c78c3c61bf4e735b1b024deeb4 SHA512 64641a3cd47d4ea247f98649ea37655c8121267be4ce86037a1d5b2d0a8a8227a11497d2375a41f0ad7b651a38b696721bbd8a5074a933a938e0a889a3dd502a
-DIST firefox-105.0.2-lij.xpi 479004 BLAKE2B 5ebd246289cc6a3a3678d631e512eb87c9b6e1d3d32f57c57c06067aac810bfa57a719546ae68918d9a328a38ed7db16e4808e982eda410c603ac03ce7cca17e SHA512 e8eff656624960054785f1f41316cd033e3cdf611519c7faa89787159c21998e1b0a4c02103fc7b3ea2b67f37e94abf222819d7603c200dd6d508bf0bcb9fb3b
-DIST firefox-105.0.2-lt.xpi 570062 BLAKE2B 92ab598525aef040e1306ea1cf1cf87d9570b59af8150126415068633f380724e7aca9f280c12d9f5e7107c64afaffc0b65925eb4ed1f66f2b0decf645a13905 SHA512 f02380bb025843dd5699902d6ddd22e38051a9fe5909d9dd04c9d32ef1a4aa380404c031d88db3689a197b28a3f647a9a5d8bafec3034a21fcfcef226e0cef05
-DIST firefox-105.0.2-lv.xpi 472208 BLAKE2B 8727f396c7e64de6d66e7677972ac7142557bfa3c4dba53d1ecc4c902ab9572968a8108f4f96e1b99862290e5c3d3cbbad54f83b37613684702ca1ebc888bdc6 SHA512 4a6cdf9945ff7e00d0abeaac8df1e484498d6e9da2e489828f75959890688c497972ac2a466cab487a32a7782033a70a3568f5ea1ed6b52659872542f14fbf30
-DIST firefox-105.0.2-mk.xpi 490866 BLAKE2B 1a3259166faadf2996e60b7911981541c6dcd7eb6b2c74932fbcbb02ecdadd97a15215cf8a3276edf5fc400b60f2bca1d4e6ed056519b6f621112998a1586bfd SHA512 7dd9b7fb92111e36cd9ee913fbaa85a8e8ea795e22b9867bd0ae465c2e2e3171516909266fc645c6d23c968a069237c19683f158b4475e6c41fc3363eb81abea
-DIST firefox-105.0.2-mr.xpi 539894 BLAKE2B cec13d18f7f9f159058f824a60347f017a95dfb8610b1d0fe06c29e06d3fc065511288c4418add83d06d730cc70338caed72068cf0ba3c7ef248dc91da261b1f SHA512 3cdd72a08cfc9dab83319cbcff0bee1d5e23a568dfd62a3ed2822114ed07005d66e3f6db2df73892243159c589e26272231d13cb47ad194afb4578430596bce4
-DIST firefox-105.0.2-ms.xpi 457120 BLAKE2B 0c22455c08f6206b4217464379a64658f14286300b600027c9991cb2c04f2448f45be2547959b4d6dd32ec73b96b7d10badb288d4c7992ab3b06e7768f79d4dc SHA512 4162c44076a79251b63bae7a747561bf9721edde8a5434b988b98d34df724591f945010b03eb016d393cb5060309a0ef75cc875bd77ed5e60a858c23a452b31a
-DIST firefox-105.0.2-my.xpi 520844 BLAKE2B 7b999dc1294e0573ee41386f4ec1a04f19572950085c342850b544939063682e2adbba6152dc80e0baac85a962373f9209b95006ccea845c4ec06a9a2cdb5ccc SHA512 e0eb4c0c406cb17ebe92dbc1670bc65dbe2e357e95dbd3ff664f99bab7cc000d7adeca95dd9fbc0adf3e0cdadf190c030d0d4d25ae36198e03f973f9a4177c8a
-DIST firefox-105.0.2-nb-NO.xpi 549443 BLAKE2B 9f956621045003c573e2caa5c74fe017b59eb1665456bb950d449a07f20c53ad2bb1e05e02f47280114f3bba36001bdc305ca196f6f19800b83e44d4d08eba2b SHA512 9d79a8f27df35757f41d8ab5db1de6b787606d9f845bb88599cd9078448f08158e51f5d10d6ab4713e0ca4b3fb292335056211fb546b5ad2d914ef2e907a839a
-DIST firefox-105.0.2-ne-NP.xpi 498120 BLAKE2B a16bce2197c3808f16d2f36a49429dcc75006eed6ff528a6c0cf9ff57ad4193e54706f18ce78f489fa5c4631bf06c96798fd0daea5aa13afe3563a2dde8e6a5d SHA512 8a06dc72092c6dc09edb29b9d188668615e2e34368321936af44bd38f58bb21c498a8176e2f56d6c102dfd7663398a6bcc4b21b12cd23a8efdb8d0a512965085
-DIST firefox-105.0.2-nl.xpi 558682 BLAKE2B 25a6ad19d04bc652384b12eb70677ab8a7cc65d6268958466eae9d2f62bfe7e2c4a482de4c0968e35a752d3ded0dcd855e1e1867713f5e39928c15e72fa5c8c1 SHA512 0e2a606d4ca500d4b70e3f629b17b51f2fc7fef58a986a3515320b41e0479578d632924fdbd5b0af6a72f56e02ac4c4b6ec97f21363f48aaa0140656409f8c15
-DIST firefox-105.0.2-nn-NO.xpi 549960 BLAKE2B d4d83daa43a715e79c4a29e0a9b0c72667392ef2461c5996a4a1237d4ee2158dba6cb2853e977b5bf54c179c06c05884360f31625317c709f1e92b61ccee3746 SHA512 ca5721d397699573ccabbd27cedc011777abf1720e5e798d8946a96bc18949f23a1307271bc9948b26093fa855cce1b0a9af67be0dfc2e74bb2c0d49bf8966eb
-DIST firefox-105.0.2-oc.xpi 569604 BLAKE2B 753263c3baf420a020eecef985a1d07f001077993cc2df29c1b7e935d7e13fccab041d6c7930beb44c6b26e430cdb1403ab1cf3e1977eb8b226067e34444d920 SHA512 6a8cdc4c0e72e0db6cdad8a0e23501aa8a3f7a3845dab0c37f9b107c856ba8a9d48454cbacbc3a135ee65360d1da6a7adb8d1476b8c141e45a8344c3708a64a3
-DIST firefox-105.0.2-pa-IN.xpi 621212 BLAKE2B bfadf1e8ab2df2be22f84fb7c8a901e104a032f22868908414323ce2a9be65de873be362e0e48b6f057f3d4d6dc56bfa325be8024fd584fe3cd60aecd7b4dfe9 SHA512 107853f670afa0acc5e8968f210b9d9a85e93da23030e05959ba413cf8579bfb924f3b5692d54d23bb94693e212b84b4d22c4f4560d24c3855d4e8c244c333dd
-DIST firefox-105.0.2-pl.xpi 579337 BLAKE2B 9f694fb64a8037060211f669bd2b4865e12988e86b70965f49f9f8cd87d808a1dfc5d3a6bf7f22846da67e3c2c6f57cd9f8b051bd22df2bdb05dc40561117272 SHA512 0f79f8dad4ae55ced8e426136a27358254a5155f96ad6e74a1f3ac410180f3fab44b691ad9f3e90e446ece375c90b27fbe8df0dbc7b3dfd86e95c168c87fcbb3
-DIST firefox-105.0.2-pt-BR.xpi 563724 BLAKE2B 6108ad4774905ed8e1978d4af9b19c5420032b9ca7619cbc5d129afbd91d17ab6ccc429a77e3fc83cd8e58649e5223f8e06c411cfebad0e683747f2db465d98f SHA512 5d5e1834b394c1f27ce9acb0858aa114c9fbb97f9bc49d91b65e0d49d733b5233f7f01d30f4baab6adb62c9142cfdd96f8fe29e7c555c9fb60d18775131684b8
-DIST firefox-105.0.2-pt-PT.xpi 563885 BLAKE2B 522266f206108090f0c5775a241d05ef52ff47bc866f75addef0dfe67c06d170874ec687541573a13d018578d1f27d04e40a6f3468819d37747bd35f7571915b SHA512 5157855e5d111a693f1b904de840d1d9be7982389492888b1a95d1c78f5e4c1a08923d2a84333e3e1428d52dbfa7bd3096fe4045ceb6480a14eb2d7dbfc0d435
-DIST firefox-105.0.2-rm.xpi 547530 BLAKE2B 41eb8198de05b03ac4bd46bf9f6f4f15b33f947fa6c166ed61ca874f5d5049f6b757b63824ed4ef78cf281c708a6d885c2eea2fbecc25451ff0a0ff6cd24d6ea SHA512 716900f7c6dd71729558923d8c8922201e3daacb557fe5013fefc2222693ec2b4b7b1dd94c5dc600b97f09da32d5d6c3a01b7cd9c1027a406e7785e3c8f6586c
-DIST firefox-105.0.2-ro.xpi 537771 BLAKE2B 4c4b399d81d0bf477206416767564ddd2ccb91cfbd266c9d23cb7bc781a4cafffa7ba86da3c7036cc64faf349afbc9c50676eb2797c8fee320b55f746a4ab4fb SHA512 f6475731eb5ac23fea200f357a917fc705dd6bb53795e1b5d9511396f478ccb947a50f024447670d40b8f76d45fb8e64811cd08668e86b36583899199758fdce
-DIST firefox-105.0.2-ru.xpi 651176 BLAKE2B d23b863128d69f50b44955613c15604fc76c99f782501296455d7084b1a7c1ce4b29903652d48745e364d760bb23ba89070da078ed64d649d8809c5451f091fd SHA512 df80b532a180e6174664fd3920180f6fd4dec999e67115054b46c34bd7a5feacd30d038fdca9c5251a11ec2c69addf1152ac39472178cfea07f2e324d92df77b
-DIST firefox-105.0.2-sco.xpi 505200 BLAKE2B fcbad87d322d5dfb0a08efb297b6e9eff29e6bb11feb1cffa29c825d0a57f06d6a6b3ea8c06c617b72e76543d0779bee550bfaf900ff8427b8f1140250323097 SHA512 0f3a4fc9f6eaaf98303f79e404dac201ff26bb9d131fb3747242fef3ec0e27173e669b00a06b9a26c452d544009404768426c7c40bb84d16060995205d0d124d
-DIST firefox-105.0.2-si.xpi 573141 BLAKE2B def1a9fee03d08b66f3bb2e1efb3ac15204ed8665b9c1f74019f2f416ba1d7921476be868c18fcb94b90e04ddb553543137f39d708819385fd7c8d2129582a81 SHA512 217dc40d788645d07f602f6909bfc3b4b6501161fb4a032da4ab19fba980d6fa680c6946833fceaca417f4b97de330b8bf73f38b9fd561cbc784aaa7b3185d55
-DIST firefox-105.0.2-sk.xpi 588220 BLAKE2B 649bc547f8e0f76c54a851f4f9097d25f6076f16a3cd9f3b356af503a58fa6061c395dc7800ba8598e9a70ddb362a64120c4b0582b9006963032ca75396f36ed SHA512 eafcd8fea9a51480177be4ae7c3d2622eff0c0642dc6d0d08e5c9406525d286dc0d430bade1877e2cb4a429b497fe3bebc1524fee770e15335751a7af4869419
-DIST firefox-105.0.2-sl.xpi 561133 BLAKE2B 6f182a93f64f273fc251514c0cf8868513fbea4b519a51760e5eaeea0a1d224646087261e8115b20ee18fd800cdb1b5abc1e4d6cc27e6ce02e957b5283cecf0e SHA512 e2fd7db4e37ba1fec406b554b8730d53ff36dfa4136efaef942fa05afc7b125f3bf98c0478fb6591f1dfed7a10bab4b9bf2d4710673e7c29f9274fbb91d70b57
-DIST firefox-105.0.2-son.xpi 433323 BLAKE2B 423c15959c5b00bf743f6c9569d0059faac22066524cae248dcc49ff3192fd607ce5ca3258028cda10edb2c5222d759b08fc999451f16b0c1c6b0292fd378bbf SHA512 d65d8bdd5cfa5135ce376e5c7f4f788d60250f13889dbdab6843afdc4ed30106ee055a904c8ffab3d77a48b9a56334772ca08d735979c9e04ed754d2de50ab82
-DIST firefox-105.0.2-sq.xpi 565442 BLAKE2B fdb1df972ffc71a77fb9f180bd2c4660012a3c7963c7db9bc06ebdb9b3296e2a0d1e431653074866f7e2ac171d892d25f1285210eb1e522ff71bf04acd5ed6e0 SHA512 8653eac8102c7b43da6fd30b7458a6036019de9d97a5f6fda4b0372b27f1d5a33f2887ef8f5d659948f108464421d6217c02e88d8cfebb0e079a510010e0cfe7
-DIST firefox-105.0.2-sr.xpi 604657 BLAKE2B 9abf459951edd1f2d1a698215b63ec0f868d8bafa237a82ab433313a80e9220405fbf84863ae26cea1bf83e0eaac70a355e5710f2cb7b720f9c6545e86ba62e1 SHA512 894daf0c67f31d8f5668ffa7c977b80ca772d15698cbd2e2f6834c9ec23033d8143f4b1731ea4b448af0b510110539973f97b1275bfbab0b2bc1980d1b847ca2
-DIST firefox-105.0.2-sv-SE.xpi 560629 BLAKE2B f760e5db8f846aaccea52e8ba4b6afe4c23232e0199d11a7eb5c81180d06cc57a399f911089f788ea82c4424cede03f8785c65e13e539c5a94bad4752d932f71 SHA512 3325452ea4220f0a39f7da7564371da4093d375cccb51b668ef80af2b094b6e656cf350c0703e35afaeb4e314924c689c38de8826641c592d8580d5e7337247b
-DIST firefox-105.0.2-szl.xpi 520748 BLAKE2B 52a69ee514be1c9b2cbc7059e5b504eff501201111832ff6d709e0b2fc331df4ebd43c522a9ad6e70a4263c0430755a1630ded0ecfc0f71f9d0f83812884c190 SHA512 63f4aa51177ada21945c3a3f854bc9832ff36c1c71b3b0c2ff63b15e30db872d7e68950079890bf61d0b3658682ee91a40f0019bc5f000de9672647ebd13d02e
-DIST firefox-105.0.2-ta.xpi 519016 BLAKE2B 2a259071d0d6a77f6fb1856e2dfad5c06c9afdca1b5af52e9f922c69127e5767ba753497ec6a943086f91735c2837139c368e0168338a688eccd3c84fc8d35af SHA512 b83e641dcd43ad819ff592f47e98117ef489b20e4d2d47b655e9ec2f4525001f2e56fd138c2e744aa3ac872b9f87956414c63fe38d2956d75c1900a799cb9bfb
-DIST firefox-105.0.2-te.xpi 560557 BLAKE2B 334813703d71c92753165f3a6ff07269721f6d50d32afd691655a82dc95f2afabbf8b69983c4e34c105b24d13d5df38ba1ff119fb6df3996b7c98afd00dd80aa SHA512 bc8adb85c9f65cd9eea265d37bf323c1b80917dca252e6d522b33a7edfb49244869a093c62726f0f74e52562361edcc558a585d99fa2af0baa7c6b6da9606853
-DIST firefox-105.0.2-th.xpi 621832 BLAKE2B aa70347ecf893f0cdfffb9ac0e61f04efaf346f4f04f3b7c2a5f862ab00344631f1763c9393d04574433549d0b605b0874a95c1b175a44fcd9db13eb935059d5 SHA512 efdcc907cc964cd5dec9c5556535f565340b35e952483358d6e24be091a942a93dc848c7d632b2dd0fecd473df64a9316285fed6492bd771319d73d1f5d798e1
-DIST firefox-105.0.2-tl.xpi 528007 BLAKE2B 7af70e5c8d1867c90331f5aff1c9aa7fcf95a1f39cd2379b4cb17bf30c9cfe6e60d8ce4368410cb532c6fd3cc1e21e74cdfc181f491dea35006bd17808980013 SHA512 d2d62fa4a327ccd3502b80fbde00f9d4c8644db114c2950901380e0083af6e4452ab9464a615133f0f8467cf16615d24b42efbe442748414b6ee808b3f4630d7
-DIST firefox-105.0.2-tr.xpi 574329 BLAKE2B a3a62faa581a789340d2ad212c4bf803e5ca14d2b6be4865cb0d12bbde07882a98500c34a62a2c55edd75268a4f67d896c593115aef2f72a8034e29a854dd14a SHA512 e5f6421ce6e3da7b870c8cb1884dfa7bab71bacc707ba167dfcc7e558fdf6ac2c31e550067c0ffa7ec51a30f03b0f5bfc00d9ed1b1a81bb46ba06695c6ec7583
-DIST firefox-105.0.2-trs.xpi 498814 BLAKE2B ad77f52bf2ba9dca857b173726551c518ab14c7ada704ffbee4183a0b88ba87869be2eb6ae80f947a906f664f2ae4ea74f9060aa95547db1d14b0a7cae633357 SHA512 92f0f9ab1f2698bd9136119814a34153b131a2bbc5b358f18fd61205a1445b7fa945b24400a147bd2d6a2e27c23590dfcc1ecc7fd0eb7013f1f967d78f0170c8
-DIST firefox-105.0.2-uk.xpi 644340 BLAKE2B d7e9ef6b3de37799a2c432c9ba8d0e9c1aa00c12190823f7d33b7ad9580a85777b8aafb97eb0d31e590cd68737433d55188ce0068e63c6ebc22da08ef6225508 SHA512 77a246ea5d9735dcf485c19802ef4dcda67ed92da2a86cbd0fd7b10d49ffa96738458c019d1bdb7800ddee61f18f2a0d075e649894b879c085e9da0a66ce72f3
-DIST firefox-105.0.2-ur.xpi 566539 BLAKE2B bab7cd6dfe93afbc868e7d917fc981e5a6a075b28608640919e132c59c78ab5326e3715a754f060fd3723a477e5ba346db7ccadd20ae30421d95f3326d06c3f2 SHA512 950b4a90a382e48522e9b9ef90841e13a148d1fa1be510032010f7d9a55a818a4b6758958413a8d6aba36d8cbb3e3c3ea6abf89f05451438930550fe51cd99c7
-DIST firefox-105.0.2-uz.xpi 486870 BLAKE2B e3d241fc034cf2da5ac4cdd4152064a8ad9a353c7db528c32cd87ab0fdc02ddb310581911ae7cdc71d5898fafc4878c6a661b5fa69e3a060bc7888c4fe4d0f82 SHA512 bd5c01ca9564ef53fedbb1f1407c415c4f1220c2bef5dc6de4e647ae0ec45a60cedfc97eebfb8b036719553fd59da1c501032255d6ef07339bef442b559aff96
-DIST firefox-105.0.2-vi.xpi 595145 BLAKE2B 1768fd7fc806be488ecf1ec4f71522bf9def3294369f79261d1a76d248bb1680c9333345000602b2a93ae22c68fc8523f751426b4f4e7c523a5b3cc141694f98 SHA512 a217641e3ebbc6b5e42c8932c16e8ad4364b75bed5b46caf1d0d4579faa2eef40e03854616b018b311d9fd2fa251a5bdc107ebf87629dc1faf38d037a7b2f1d6
-DIST firefox-105.0.2-xh.xpi 435744 BLAKE2B 525f5a7ba427a5ae4323cfc71968f24598b1ad06a4a28b2bcafa457bd7f8a51a6a7e8f361e5d253a13a20e4989ff0e57e3a54acbca159506476963adc9041caa SHA512 dc3057114fca4b5a34c22f463aa5d0f149c4d560a8d896e8efcf5aede896792220239d76dc96815481046c98113ccf2717da9e1743da3a34647153e4308d06db
-DIST firefox-105.0.2-zh-CN.xpi 596364 BLAKE2B 9528ab694ce2070e977440bf4dc542774a1bfdef68612bde73a667799fdfb3c05031f6722ea397cc1cb1eccd2ce7ab4f23bbb6b06b5534f5372a291309f1b626 SHA512 43d867cfe07e90bb86647e2a8d66ca8d07e87dddabd3ce045c13d3512b346e16fb3f1f7c7bc2df37b257009d977fbc4bbaf4e7f3dd3919f529095cff02084c9c
-DIST firefox-105.0.2-zh-TW.xpi 597430 BLAKE2B 57b1e25bcecd1b917348bcecfdfc247497c914ca2ee06531531bd34191bf9d588216ce9689926b8c1d4cd770d554ff066a2239d8d170d8fda90bb669d57b1bc7 SHA512 468570b38d2b4f637b22cd0c7f7010d7675e4859bf84d6cf5c00b6e548a91dcc55f49442bf6f9afa2ca4d9f35fdd1319b7feb6aecd56a1c5067726434149aa03
-DIST firefox-105.0.2.source.tar.xz 481457328 BLAKE2B 0c789702678956fa51ddf3c2eea4f12a903cf62068759b66bff2d7239bfb40ca6e16bd0ec367f3ed00d2f3df68899e1b945e296577df0503380c9f872012d7c3 SHA512 49f4c0e7ecf2cef6fa7de8362185bd9ce6950304dadbbea0522a5782016587b9d58f32b45f0e0edf7a2cc31ea158ed10c886b287a18d1f2bff3daf50d9f0b926
-DIST firefox-106-patches-01j.tar.xz 21628 BLAKE2B 69e7d925e764de90dbb28b18a6ff9e72be344413bc161195d419e40bd6b1e74a45c0fcacb49c09b20f9032e3281b213e5fa472d7c68dc8124e8833f13a54c6ba SHA512 366413cced550280f29fab16e9d1e5245dcd82a7f90b736b748af27cc2e58def0d454fba25a71429f2db4101a47472191d4382f12e001d3478d58503922bc921
DIST firefox-106-patches-02j.tar.xz 22024 BLAKE2B 329c8afbf319c6145878abc97428941c58683a0d1089f6a3408ae2d4d793a8fff5228acad86319b2973b4b3ef773c0374764905f33f88367ac19616258a80d10 SHA512 4f4fb6fe826007aa9214cfdd60a607b04c0342ed670cb9d9fbd3dab574e98aef7bcdfb4154d612ee91e6f6d4c4502d66fdb6dcd3f1263e6835c1c3563cf16365
-DIST firefox-106.0-ach.xpi 460137 BLAKE2B e42862b66bb21e4290218537cde2c31cf7df5edee239707ae007f87ebf1dcd44bd1c42bd291362f89cafcb6bd2899ee993c519910a408446a446ed20e7d9db42 SHA512 98d46fb86831095f1dec0dc85dc2f2cd4163903eefc5be0bc5b2d11756da32e7e4a5ffc51b421729d9e67c297209233d7210406f1416e50fbd08d5ecafd426dd
-DIST firefox-106.0-af.xpi 428340 BLAKE2B 576c36bcda9c7edeac3de09f268b0176eeb9dd4c5165160eff0fcede863a0f65f7da5217c69f20bffcc0a1688b221b3b0e54d851a37c780c6d1b833c13a680a3 SHA512 fc5b7c0cc6695734c6f2aa99bda974fb47963622686f6fe1df36f189861142da46faab54f6f22e870786e7a2a7d37dd419551873393db041118a30175db80fda
-DIST firefox-106.0-an.xpi 507373 BLAKE2B 6153c6416a865470b25712bf8e21ebbe990a81cd271fd7c4e65550f35a9dbd4af74cc1cbd7403b3a477fb376c15703e68a684ce8a69d6ec6c84a09acbf03eae9 SHA512 e90f449bca2bfc0b0c8aab905307f9672314b6a55eab75b710aa5dbb12fe21d0a085cde1265625852a2372f016c87a95ed8aa5593c01cc1a222313826a2fa2b6
-DIST firefox-106.0-ar.xpi 573895 BLAKE2B fbd35f94b546ee106d217796d1498d7ca911e8f05ee018832162d0ad534aafe6f57d7fc8ad31e19a5fda0ab34f8befbbf8895a06ee42ccdab34367fd5e0e9778 SHA512 b3a8b57b13775eaf26f82bc6eef22482751c4b2aeadbcd48a22d1c164ac4bb7eb9c791f56cadb96baeb3dff862e98b1fae0a8931e58392d402b8dd435388e9c4
-DIST firefox-106.0-ast.xpi 494679 BLAKE2B 66b36c32c036d4e476dcccc45a1ba837f5592b5cadcb69ae5bf15b841e97b3b19a98f41cbf8da280a6110995850a6a32de877b7208c4ec368db7739cf7d712bd SHA512 2974eaf240594b2c62424ec3788ac8b89d8c55be34cfb3885cc8a52bb6cc756cd5ea3288e9377f2d25f2a5a18935b00f9624fd306e483f8036b6405ed950b32e
-DIST firefox-106.0-az.xpi 497308 BLAKE2B d2b6c7e7183a5f5b659598befbc8076cf2ad2fb594c74a8add8f57ff98d0ca41b5ae7dcb6afc311febec1104bedeb7e68b78336cdd4d681b2a60b2d5e6b7a1d9 SHA512 bbcaf66f4ae182e7d4954ada312e65883fac05c3633070e956d6e019b7f103092fd2e78823bfa9b697fada894b0f914de0ca7909c087051c560eb65d08541951
-DIST firefox-106.0-be.xpi 647941 BLAKE2B 735666e57b1d359c9b0e0df8c928c250962c68ebcec9310a49fdda99bd4ecd37d0c2b5cf25ee93cf7b5c3dc0303287acd4366b1bec08e2c1eb198af2b12c8f8b SHA512 34a484eb5ce58c65a489c90a725f4a88c5b54c31567dcfde40461b1a2e5537ca606add0d85037cf66c39454997fde924a0d1376e9f7ad540de2c84c9dd8a8ef1
-DIST firefox-106.0-bg.xpi 586678 BLAKE2B bbe42003d24110b083da4dac1c480d00c2bbe122632a744bf673a7f3b14f9523dbea033b2b53fe3b4141770f88d25ef2bf299ac2856ec5fa62182e6ed0ff9d16 SHA512 f2bf1b79b795613c64dddce10c9c6a67d5984d874c57e76ad8855e4123c59c8a87c66266404ebea5e4da83a434342651bb373f074a53155d88d6f7c189a052d0
-DIST firefox-106.0-bn.xpi 587357 BLAKE2B 75b4f11bef5846ebaf3841261e49697f4d7428802b9d30225ce09883ee1f4e7f3d6fdf7f71599f70417e0265ca55a669fc5a7df884a7b69c53e34622d6e0849b SHA512 1b8793691c9b53a61a9fdc84573bc0bf71066baaf410831ea9c5fa45313888dc0cb46404667fe68de213a24d6df692bfc935ee142e6742cea5e30bbb9856d9cd
-DIST firefox-106.0-br.xpi 546144 BLAKE2B 8411f8b925c745459c2bf1aefd1d846d2d392e203465ccd257bb30111fe6173c29a67bcf8b67f3f281048e0457647ae2125da62ca63603c43c2ae90ab1248439 SHA512 0426cd1190275973b8287cdc69e8b237e55a149aa621b07887f76ddd063b2ef3427911ee51c949f27466b94ddad51e919402834202582105e9d60c2dd432109f
-DIST firefox-106.0-bs.xpi 468735 BLAKE2B b3ee1258d1b376627fd687ebd136c76847040f1e6bb4d65d9fe740d28613a95ac287ddf367eccdc630337707aea7c000ee572666daae814e1da32f0de903e219 SHA512 1ceafba76a921c63629aa3d16808c0892c81d7dcbfb9e48ed35e74ece436aa20669e765531ce28933d08d4a70a176bfd6ffbd92a06ab01fdf3c2d52e2e781ef8
-DIST firefox-106.0-ca-valencia.xpi 545332 BLAKE2B b2a697d015b2b8ff2fcdbcb81ab716961eb5f65121f7c3eea6b498fbd2f6b1f70966cfe688221377bc755faa0ea8c86a887c854e03fd319849453ac464286c79 SHA512 b05921a8819e9dd68e521bfcda8e7f7e5e8893b5258521572612f5782ac7e90083f354997fa573242cfb99e500a4e587cf7f509afb63d73e68482c130737edb2
-DIST firefox-106.0-ca.xpi 548753 BLAKE2B 3d3a63991db7d0c729dec2e13ab4b8f8f4b3e687765e698eb9a3abffab25e2d7fb8090759aaafe2bff7a20780bf476df3c97b44617a1ac677963c6633bfc6777 SHA512 87d2eaaf211a1eb1432e6e4911848fab78123627b98882506b03a57cb6ccf48f1ec6cb1a4f4113fcca859c8e53b46df5a01e5a6efca78c301cfbf800188f6fe2
-DIST firefox-106.0-cak.xpi 560422 BLAKE2B dbf14bcb621d665a5ce19112ba05935deea1bc6e6f9caadb2d67c5c40ec9b98e53dd87da0c966d8042076992d507b7bf42fbe277b792f410ab4ae56ecba0c5c2 SHA512 e7e1ce2583788cb328607322806e3a0ba1e7c517548e0fcf3ce2193ad762c8c24824d55ef2d725348c93847fadefd7386be705f5ea5347a85c8ed4c153322b52
-DIST firefox-106.0-cs.xpi 580716 BLAKE2B 19fa0b59a60e374415d5499bfbb6a755a9e5e13bf08257362710cc8275139c895f312361f102bb4542a3240553918217bf69fa54e39495973e0fbb4dd1b3a20b SHA512 a56c37f11a6a23dd6bd0f760a73199db12ea31676308d224ca30b49b407e0973fd20ae6fcf821479704fa6df211a7081087f5b74ac050ea3e2a4f87247d9dfa3
-DIST firefox-106.0-cy.xpi 562861 BLAKE2B b8ccbfed3ac90c3bd57ac381fd51fef8147885fe8b995d39743b80767136c2a65d239c91093603f380da92304333875f1da446439b47090500b3c89899350b67 SHA512 555e0bad601ddad13395f38a2f5d7bdba5675fba2e6af5af3720ab9e307ea272ccf05d75d2856d889610656dee75e767996623a801963281d4d9a945dba2f52e
-DIST firefox-106.0-da.xpi 553184 BLAKE2B 884718825fc007e772a56ecadeada1063ed344202db05dbf123ec07e84d5495a1d86afbae51e00f78c44708b587b3e05e085c43cbf453da12ea4c53f09328947 SHA512 f4b222deb212c6b9cf450c1ed8f6a24e496e40924eb37def5bcf311e6e3b48fe0dd8b917c24593d834ce3b033f55e7d61eaeacf8551482dbf8a2b555cb2b1ca0
-DIST firefox-106.0-de.xpi 574539 BLAKE2B e5e9f65405f4e5c2cdc879ea5a31b782cb78d109095d989c93ff18987a6204c120921df0da9d46302c712b00e64333b3d4ba9961bde6e70f6dbc78c3929eeb27 SHA512 db9a8198c1c8c05115dc491cf25c95ba400cad81c59c62e2751ac1f9dbd11e7adb5b1ad645701750926188fb34e3abf53dbeed409d1dca9e00913461aa248463
-DIST firefox-106.0-dsb.xpi 588022 BLAKE2B 44c9759211dac224af8f8909c6c6acce5dbc97b3a559691e4f0fa783bdb62dfddb9bd966bef9138a84e9d5132a0e7ef25b8e25729f37168592bae8f3758ad2ea SHA512 e7a572561085ee9b646b77bc8b004c070c2ee793e40a12add63f40e1cddad6a4651fc07dde832e55884620a3bba1ccb652e200bbfaa81cb08b30294231c72bea
-DIST firefox-106.0-el.xpi 663905 BLAKE2B 1f10d508cc441840380deb5f72a427316cdebdc52d5116e069b38bfa781b3d33ca7e5da6406003ddc882ab61ca69a15ddf467dcf28a3f3f21b048eb8fe6149ae SHA512 eb40ecaf5d7495aecf51af5f6032dea5005ce67f619352a3f9d124232afca4bf65c8080dfcb16730227ef1668e0702e8a815ef85baced986d3b78608fd904f13
-DIST firefox-106.0-en-CA.xpi 528602 BLAKE2B 2678394a722165671b82cd64ffa3a0774dcf5948f4084905c37212624cd49b9730e5703c303cd65923950e2de8488f4caeb80033c4365ecc0664881b428cd823 SHA512 ad38bbb629eddd6c3d1e3413fe2a36973e2bc04c44daee0ca10420849cb24ec3359ad1d0834d865d8a77f9da1d58292f2a30dfc605e579de78716834534133f2
-DIST firefox-106.0-en-GB.xpi 529343 BLAKE2B d41dd4d7903278b09d3378ceb911ea256b7680852a8ffb591b2e52da066597fd37d9551105aded7b424b39e24932efef3db6714867d83ce2cc9b8e81c96e5f75 SHA512 f60062f4f3508e15d8a1c9c6d1ffa687e81bf9936765bf719aecb4a49065d164d131da564e8dcfe32b93efb287f092229d0dd839662af8e299b0f74c42566041
-DIST firefox-106.0-eo.xpi 556640 BLAKE2B 052ead7f1756685aa62d4a59e6b1494c532059a546f73bbff290291666399405b1ad13429c5a203597a08045e93c9bb9306cc822eefc2c5b9cbb5dc5dd1f43ff SHA512 c731a8abe3ee1a6db5b6f6cd1ae868c199d6fc0435026d3fa367c6b778c33bd8e08ddb9e4c67da2c0acc94b7ae97a7d29ce615f7e4540bc70053e9965fedff03
-DIST firefox-106.0-es-AR.xpi 568404 BLAKE2B ccb2d749c8549f7269c80688637c1f2f48f03aae72c1a0f6566a17232a1e1b1e312a215d15382b81aa0a01e0ed920b1ee4e596398ec6e11c6a905996c7f2f028 SHA512 71ff9218c567db3271f5fba013b3cfb2fc6f9648e09e068843bd8547b9bc8e169795b6c83548e1eee31cb58372619f94f825dd0a62f3c287b939fc55d4b00be8
-DIST firefox-106.0-es-CL.xpi 567431 BLAKE2B e99eb6370a437103dcb7eacbf1970b0c29a0f619504b8352a44cfb34518485e89d090d75629c980fddb05d53142c96e91be91c1db70f621f88a94c30b4279167 SHA512 e8c4bde5dbdc280477dc0ad64d06a9ecd9d63be43aab34f161cc0d2d7c7952942958bfe93216d9a91b37ac9d146405d838aeeae1dd8b5f9c338e9eb820d7c9c8
-DIST firefox-106.0-es-ES.xpi 559871 BLAKE2B d4df595be6ba09665c2ff9aab02ca88ab883b8cdd04512a8c98ad4156c46028eec4dc3b92e8df04ccbfb77ade7f3ecbd6cd58071c6abe5726d75168161d9f670 SHA512 08f4a2b0bbda5e37a055dc6d90f481359350814745c70c20e1723cea4e361502f7a9a6bfea5ebbb284e31ce6936bedc1fd7af94379de81abd5676fe3cd7d71fc
-DIST firefox-106.0-es-MX.xpi 571124 BLAKE2B e8c0b71aabb2f0b6a528e53709897cb8be07122928ec5460830e67f22825989b655d9999598e3b99b85be0f8bb72defdcb738c001cb6e0ff4b639dc43804b5d0 SHA512 c15316f7bb0cb129de413416be6e29f9e37e473ecfd4312bdb721da73d2d0d7acfcd1d079091721251e2d8bf0937571aaa3314613bb716648197e2b16ffa1869
-DIST firefox-106.0-et.xpi 539260 BLAKE2B 5174e608f2b439fc93d84e18f3722332cab347428357f962e609a7ca58374d7a9727c5830d165885012a296c30484a00777b955116e1254b1437d13a2fa5ae2d SHA512 09930f9417b0a46347cc64150972e8ce5ae83a8c50cacd5517a88690e69c83e0275ca230c5b34b363d9963b289b74ac6edc0e948f626e92bf0ff4c28c0602752
-DIST firefox-106.0-eu.xpi 554702 BLAKE2B 7fe6af0b324629fa82c641c74eda323ee4a8f85348111028f8e8c16bbdce53f9034207d082f3f1308b1a222e3bb31509e4e13ccdcb87838ee7c80d5c6a695b4f SHA512 06f38af9beae4c3f55089898d554355e932afce6e34890101f96afdffb5fb303c1810b9fe0d881b4d6e70018fdcf87eae740cfc1675ffe660fa7a76d59cce642
-DIST firefox-106.0-fa.xpi 571096 BLAKE2B 8db633fbd586919a71b9b98b5c821f8457bd3488580c8571582155b5e7418bbb34b79375c5c1b3b3420d1944a2737f0134f91bcb2b8e641b41641b51550efd66 SHA512 d12d255d11d4381020d0d331afc2ac67caba1d71a785cc39a7ba3484905d802de28fd7c1b6aa16171914d360a0661b9ca30cd002fbfcb8b0c1ed0de10743b7ec
-DIST firefox-106.0-ff.xpi 480585 BLAKE2B 419871ce05761cb82c277bbacb677eb84f3ab139bec7b48fc7b4fd9d68a2867453bc03188012b39e5dfde8e4490b968a83d441c9e073a798604f9e6a7569a13a SHA512 d181417cabc9120643d1901d081551a3d92c37758979a6cd5d70c90970f14c4e891eb96348a46766ad1f922bff36debf1c428f9372f05fe1b9f9267c34b17ecd
-DIST firefox-106.0-fi.xpi 553329 BLAKE2B 3d6e1f94d405d61a4b48573ab98e7967498d6ca3ebcd6aa72bd72b347c80890a9d4f05d677b5bc2069009fc5b8c05462037946f4ab617ddf38a4e73bba017aac SHA512 016278a95d4205f73fb949f6a70c21dee281277e48ad8e53ec2143571857f78aa98ead6e4c22882eaea66f50aa45d56e806c6b4f390cd7acb8b5382717dd41de
-DIST firefox-106.0-fr.xpi 580181 BLAKE2B e90392c5daa8f381b57921badc922eaaba80c844dc83811a5492f3c35a204236fa6393f9daf88490fbfda2b9ea98f0796f1c38a9cd5dd06ee315cdaa777920a4 SHA512 e4317c872f4f33b1eed1d6b49971017f77f47b197e9eb90cdccf5d5e67b211ebaa3fefe52b1548ffba6f1e08292005e0d9745189fbfcca459b11e486a2b3c324
-DIST firefox-106.0-fy-NL.xpi 563946 BLAKE2B 17d3e643e289f052a8a1931b7a94d7311a78b36d1db6c0f3df0568ab213ba3bc62da6a3d8c0c99cb6fdc54a52c41193348b8d1030491a088e2605bbd6d871ab5 SHA512 d8763d12cc965b2eed4faa3734b482fea02f4cd34b0b48ba33e86fd270b37c38974d2c01157582181d8b2aef24e4106b87490e24757a0156be5c0b11a037aefb
-DIST firefox-106.0-ga-IE.xpi 476063 BLAKE2B f92fd8aa1f54487aa849ae6a744b4d7e38a826e313d300e70ca313b1f5d34c9bb8999bdb1850ca309e2489dd464c1a4f338a5587dbc97619ed2805135908bc1a SHA512 8b1807e53b8aac7fd03ea44f06106d75f6802c0ea45eb5bff1699d4700c8473e9e22e2f72ddf752313c4713213ac6384a9eaece4d852b92f6267a08c2591003a
-DIST firefox-106.0-gd.xpi 554225 BLAKE2B c847cc5a27cf201aa6d4bc0bfacbcc63b6e146acd5fcde246551f06ab55711c8a2b2981e825640e5e7c9ea8ad9ee4244ebd44e4f1ee04343b7a37fd01fb5bc8f SHA512 650e7e388513904ad8f407dfaafc08f526c267b03e59da72d3e2da1c254eb50b9705ebbb32f362701899b5a65898736e85bd73b274ea558ce5481e9315b53229
-DIST firefox-106.0-gl.xpi 548330 BLAKE2B 6f84a1f10af81e17ee44879a599fcb4c34a413eaa11cfed4b5d93703aaa024bb1071b354dfd18d53230a2b050fda55d97bcb3b4e2a83d79be4fc57475ea0f84d SHA512 d126aa68f929d9b09c98ebe58a120f21b22f2fe546b0063ef234d3256917f6ae222af4b04f226a3feacdb806f7f6226aaed744f0a0623c3454964b55f49016f0
-DIST firefox-106.0-gn.xpi 577830 BLAKE2B c753cdd847df39d09cda46bd8a7e362ed1d68a8ae1f0a5ec27736a9bc3ddf8c56fd5843b4490e70abc75090e5bba64e9da23e26314267b1239607355dcadb5cb SHA512 81877da1a6ddfd4d1b11acaea08c0b86e6e3bd4f79a7d1bb20326e08ca36ea36c47d35c365c3044a3a1e83f4d1b59f95942a5a67e29c2020cfb7993b7e6d440c
-DIST firefox-106.0-gu-IN.xpi 537613 BLAKE2B 4c3cbc720628d899478ccffad0ff456d6d2317f1d3f5c762d4ff0060ed6e80dfe729c2099d3e68b774e7cd4aee32650b39070bf296038c80163caa8ebf2d98aa SHA512 9e374ba72ded9626a7a3fd604a3cb021ff22c47dd61fc3fd08fab55304788b4eb52f0f819a620d106785c98d06646b21f41f88e00c81653becdf5b68c861263e
-DIST firefox-106.0-he.xpi 574394 BLAKE2B fe166ba6ae76d6a4bb20d66efbb100ffdde8624498964f74013db0e72332d4d8df20e486080e4720e861f76e8ea797795339f0376c6308709dc09eee056f5861 SHA512 5414142e508649a9c55fe2c406b5d999883bb677a3c5db7a5735716eccd53fa7bb57f653bd98c385c7296d26bea628c008daffdc24f18084b2b49f69530db669
-DIST firefox-106.0-hi-IN.xpi 565730 BLAKE2B 2c366e1dcf7b55add5ea4f0b062ed50b04a5a3b950077b64f501b8a72c1064438c57e81d40043910385114af1d7e2287f5b29ab6ad8a801c58377532c7a7eb7b SHA512 e8c51823bc3a2a70d89156d3e9ad5eb985a590a2d6ac3543d375ee5030938f3e663cf069d7e31b5ef4f92b93e3632d01779951cdb27e87f865fb47a383fabb15
-DIST firefox-106.0-hr.xpi 539363 BLAKE2B 3832947bd1fb4239077a6e8734e6b31019318fa7ab02a3c7cdfe741062e918600fbd9be72528f17ed82e3349ea0d3561a359c4ac4096add50eba4cf19042b3c5 SHA512 514552328e7117a9bcb676760fad9a1332bd669e9e4096eed85defbd817eb8f78abbeeeeeca5c9947cb703dd0da4c679aef7b1f51371ca6583cd9a671661afa7
-DIST firefox-106.0-hsb.xpi 583934 BLAKE2B 2f7ecc70c85f2247fa97c31a9e5a8a5dbbd3251c73edfbcd8a7d434029b0f5da98cdc523245ffc98641c58e3e949201d7b1a6578acc39a4fbbd68c9af576ca30 SHA512 d3ed3144e94efe8559388149a7c8e9f99e6de796f1beeac7650c8ec5076dff4af6adc6bd0e264da93fa1ea0bcaf09ac19158eae94979fda9c928578c67ee406f
-DIST firefox-106.0-hu.xpi 588133 BLAKE2B e1ae7a5b1dc9ebb86861c48d2f1a6429bc07b74124c70bdc4a50c08f2f50612c2db29093c8baad692b4f7e68bdadcea9eaa45c6e604a36cd13e68ad605beec90 SHA512 bc86efe76549d0e807947d2b13e0f170856cfeb7816dc921dd9a0c5a9f21eef475e80b0237bd10442f423446d6e7c109578703ba6cbb1378cee73e4d9347c74e
-DIST firefox-106.0-hy-AM.xpi 592228 BLAKE2B 659172717f635fddbc5a1df745903908b473e0d8d55aaab790c71686169ed8eaad908eef05c22e2f5b9a9df72120874db635557cfaa3ed172bedb5915e816ba3 SHA512 9d8211eb298bdf7d9d3a995e6915068bdfe58bca6ff3a03f4cc8fb97c5f1a7f638e7e682ccd14582cd93266e869dfc40afaf49ca556f604309bbcfb55b32b83b
-DIST firefox-106.0-ia.xpi 552318 BLAKE2B f7e8da92f1d17779a77e2ec78ee3ba01c007ff61f2e037e49828086b74a80f6b17b60ee38cde9f8eba3e876c00d00ae370f1063c0547fb94e589a08d3e7d9733 SHA512 6c0114be0bf7f132021ab00a9397710a6b84bb4a00b00356bceae8272d5dca9fb8290ab1e7375f10d5f9c53a31a78c95b1774fdb56225e20e8047316501ef22f
-DIST firefox-106.0-id.xpi 549215 BLAKE2B dd2f1e0f2ece37322118e4e5d3cb4013e90a3547584ebc467033921362e7de91e4dc77a9d62456eacc76b1e62d6aeae84b49b6aac1fd35e9f74d7ace486fff87 SHA512 850f506f11a78b46f3cc20b9a1ec80a53bb943dbed7702450c459b8fa1f8528ba0915fbd73303d46773154c591962544848575162a2c99bd8e91049acb2583f0
-DIST firefox-106.0-is.xpi 562109 BLAKE2B dc54ee659447116660da93dcb1b35bb463a8aad18ac902b66c48c0d2a54735fd89c3fe15a2dcc52b6c8d7f16cf57a73b95ebe08323bcedc1702da05518a68fe6 SHA512 c03900765cb2cb03a49e895a78481ab2e502b37e85290dbe743d5a755ab456657ab86f042a91da7f13551561ce8ca4957ab2955b46dc45fd26aefa3df3aa3f13
-DIST firefox-106.0-it.xpi 489731 BLAKE2B 79c75e77718c46e78ab56922bc3e8228bbda98c5318a4b71d4e819f00f1da8db96e65eb360bf4ab79215cfb16a4e6211b286b00c97b69b79172e7a4abeaaf7ab SHA512 7a1c03f068d846a81bbc45f880f531a3c6b7f5738f9b65e4d402aae3914459eb035c443ff1f761f7e574235f229527e55f039349f8152f9c52167dfe2f664bd0
-DIST firefox-106.0-ja.xpi 613423 BLAKE2B 6f20d57b0c27cef3577da05cb0763d994fdda1f8a81e3c8c5d23078a7eae55f7eafabebfced72f4754e960893140e63fd08f49d405a93ef1c0bda7fa604806bf SHA512 13606594fcaf0e5a78c484a66f0278e945ec0f8dfb91d80744df0817bc1c4456fa62537f47dc5f76f82412d773d3dca625e31228a036c882ff57296369263d57
-DIST firefox-106.0-ka.xpi 617306 BLAKE2B f3ecdf9a2920da827b9e3924f446af55b9d30269eb898931899a907569365995b0251ba738a8f2d2a2583f99194e529a1bb51b2a03a6dd9617d72c6ec32361d2 SHA512 6d070ac25475cd21abbfacf332b3b5793859aa69d8a19089fc374e7582259905df12754394101e71a7784b0b3bb2dd136f58998d119e93c186719ce3ef7e621f
-DIST firefox-106.0-kab.xpi 572402 BLAKE2B eae98e6b0e2780be00535362ce07057ad12d2180e872796cff51fb139a81ed9b2e60053571eba628379c79d0733aa1aba7d6498cd882e3f7e18dc889bcc59cbb SHA512 b018d072681beb1b7c42db14c5391c24edfd1d26d421c6b78d05de08e24916f8794c03a3499c0916588b34c8a8472229b3811fe5156630083bc7037ffbfc124a
-DIST firefox-106.0-kk.xpi 633098 BLAKE2B b6134da3954e55271c58dd1fa63ce717414c6b23f302259e56e762bd89e3d42e458460a50f7255fa11208b07c3aff6e673a615c522feeb3437c0ceab9c33a4e2 SHA512 62304bd1c7bef2729e271f7369644103133e5dfa90a00cc0204825d7cc8e05b475d419b2b01fb465f2805a3379818d8604dede823d8e63cb81926847b22edf56
-DIST firefox-106.0-km.xpi 540438 BLAKE2B e062dd357dac4dbdc8a6e9ba743c3e4c2332ce4f3f2fa510b10e5eebedbab02e9c3473d0e7fb582cd82dfc5cdd369a71aaaa7ef52a232b01f746ae010c0ea407 SHA512 de32e91b72d8c273c9119cbedf4574447ec6768ccd80a9ca5c5c49efc1b83a2855555ff89678f68dbe6d4f792a56b6eeb5fad3d4c6fae97ced41e2fa98e51c7b
-DIST firefox-106.0-kn.xpi 505952 BLAKE2B 8eb1bd4f2ac389b28e9f6d73ab64457d0f59b296865fe359f92f27ae786d308c2a9792320f9c24a64093feedf67b4d4f3fe27242cad09af1feb3b3418916f254 SHA512 c4b847868da33c74dbd36dae2fc8814508bfb7338aa56c0948a97c066871c8dfce47b472943eae69efa09dca66901270f7229c3600374785e693e2c89f5dd498
-DIST firefox-106.0-ko.xpi 599629 BLAKE2B e506ff20611f048e81ad37c36b6af4704f7ad92140d9e8d2acc8024e56e6767b7833d32bca6d235a38931dd589a170c69b30a1edf82d1da3a3aaaf1dedf3eece SHA512 41bf0b56a1e376a80ded6b3ef7f6171d21412f5b1f50df34e07b1f0bb67458433b6f53a378f701fcdc40d4a91f89a4103b5d3c2f414325b818015fac9a2ee660
-DIST firefox-106.0-lij.xpi 477201 BLAKE2B 8122c249784088da96615304d311f615ee17bc618489a4f36c63ac5dab2a92a15630db792ace749567ba6e3f7f052a53e61b0fb71cc24c69797eed11033cd8f4 SHA512 61a32878a58cb35ab343666d88250d5d26a6d60c3e01589f4f03d6c6ea89ce447d51b23da1fe1052d75e7be36ac596d6bd414c1cdd14a7a8be829b211f14630c
-DIST firefox-106.0-lt.xpi 569662 BLAKE2B c22b2aacc83df787804dc259cbebd28dda1a2600e4c120b168877657e1e396c62b2dc9811fab078c76a062fda8136764380a4f9b17c4b7825b76a758c8c2836a SHA512 f9086b44a0d39d73fa6d0324b5df4bca966d5bb35c7fd5f0fff4e5b3ca3deaa6f5dba37c6ce139dfe93f507135fc646036e113a875b5257ae8e6d7d7189bc7a0
-DIST firefox-106.0-lv.xpi 472671 BLAKE2B 40614bf8baed1cfaed97fa85f9512c65d53be5e6f5c499d94f605494e0c147640394ef084096b2d5dbbc385376888981490adb65ed5542181e185adb7016ab8c SHA512 9cdcb655077f441da597672c7789bdafee73fb763135b32948d52c10a47aea9893d99167606fe8df769af36ca2ad4087915beb54c45aa87dea9e58c38b467aa3
-DIST firefox-106.0-mk.xpi 496305 BLAKE2B b5ba919f68218390949e457f0b636db4b257768b9f846deff048df09914992197df917bb629ea767d3f8f77f21b78d29408206a1490f8c901db822b67f28406e SHA512 8b21df4524975168b5f301bcb568653e5aba3b56156c0e863fe670691a5ed6c0052f56c3b55847dcdc404e266f7d951bc4c7aaebe32e4235779307bdb4b2007a
-DIST firefox-106.0-mr.xpi 539605 BLAKE2B e796b6eb30ec810c2c3a8ad6b1b112ba17f25e668768c3e7827a4244d32c4173795507a259f3448ad2fd15837bc600f58e768efa97a194757bcc9f8fcb02fb86 SHA512 fcae3600c0c6b88e211d7019b3af2b5ae710f17cf9f83df671c5af915124c602def41f1d3a6f0bff054d327e745c4a9aed8e2c7e9ea30316a3d1431ddf867514
-DIST firefox-106.0-ms.xpi 456693 BLAKE2B 25ca2e70172d3eafa13ac8e7c16ab36ba3636484097b0efae96d852f9a982d96cab40071cb1d68a00ca6471f93bc704479e98cef60ffd0bdcb65864fea4d9857 SHA512 64e8bd483dcbbf311c84fddd03e18bc0f5d618f02c69724342ccf57c0c3eb7230773f56119490880a112640707c7b8d45e4864ad5dc139d54a7c9ac1bd74922d
-DIST firefox-106.0-my.xpi 526209 BLAKE2B f3d89bb3e628a5034163f7bbd0788e06ef488c0a928588c573b2229be90c7743ec073fdafe1f441f36ba3f919d54eaafdc2619044080322e8de411f74421210b SHA512 7ef19e4d5e475bee160b8567d88db29f7d2df161139264f8c44cc8d542dd10af0c301e4a7b4b0e4dd8ebe13cbea63252ab2d4b3a4e6bd064cfac6f8a3921348f
-DIST firefox-106.0-nb-NO.xpi 550273 BLAKE2B 7d28bb05d762dcca01e08fc787eef7ec17e0df79eaf7a6451da493feffd00fd56e318e64fe1a77136b9c61af7b4304ce280294b00ebf8e6ac490ec2f405f38f1 SHA512 8334bb52929a1c7b8f07f1df646942b81401553835f15de0ef5dc53acc180de19ffcaa49cdae6b66e8350b728b2b434e222d426eb5491bde07483fca9efe6fc9
-DIST firefox-106.0-ne-NP.xpi 493192 BLAKE2B 4ba9bb6628e0a97b4e696f4c3caf7ef3356030bac4759c001cf79e4dcc316cfb7fb27288ac89c1366b6fc7ae51496e548d715a94e8101f6fdf3c76509c7afe31 SHA512 f538cddd7ab915b053934893eef790de495da7c6661fcc0f7386392098b707a593150598bce241b2195ba3890130e7035a549762e938f2069a02d43b8352d933
-DIST firefox-106.0-nl.xpi 557944 BLAKE2B a69794574160221500d71a62428d360010b73f4b9149c4adb47420da63b4b26898f8dfcc78ce9300fb5600ec2e9e551045a2f0c55717da91aa1e7a813b09dce2 SHA512 b91e28e482ea894271f68bc9b3b2a548a0f155e6f16cc85e70449eefaafbbcc5a49b491959bb7a8b4c01912fb8282a608d4b30e841b982d9b978b7b0393ac92f
-DIST firefox-106.0-nn-NO.xpi 550859 BLAKE2B 784e3c3eac66cb646319f23136e64381ac105c47e41083f4f25ea90e4bb04df1fccce0f0f85ae69060c4cadf7b8fb79301e83a71578525acd631d9e71d90256c SHA512 453bab840d7b68e8239154536bf8667b3ede2664f50bf33bb44d173633bb97fe804c8f2a9b446950bf6f4b6414bd27fd31c32cf77a00e6289d2d5aeeb3d12b2d
-DIST firefox-106.0-oc.xpi 574505 BLAKE2B 6fa067a9e63578474cbd5453055a19602f136d6169c7df5ca51d4d0fd01deb78c407c39e4390c1ed3b6592b684536a923e94ea1213b56837b60ca5383c7dd5e8 SHA512 86326e1c8d7fe5cb0dc5e7d57ff688b1f8ba9616f1b665326790b139663908e275982b5401a3e3d07b33827606f1cf780292f751ed7521e01aec1e6cf8222fa7
-DIST firefox-106.0-pa-IN.xpi 630425 BLAKE2B cd38afe9964cae0546863b469c1df185f032974175c788ae8f87eef28b34e45eda6ce2f1909963d22f39d71825abc3daac1aec2b514b2cb38db2fb24a4e7ccb5 SHA512 9c82d1737e80a087a829e07f8c846e1b3f84e4bbd2eea219495cd42eaaa3565ec89600995808c95cfc6910947cfb642a52da0464fd85ee5c0097afe98f7ab13a
-DIST firefox-106.0-pl.xpi 580614 BLAKE2B b9efd4c7d4840a6aa4b94c2e45b937255fc59a97377cb3d0d3ebbcdd2a3e957c31dab7a419c64d0980cbe8d0bd9deeee7007baff31a5889eb85a3a2171cede31 SHA512 d0098c54f16d3b2dfb8a1ef018e466ba441727131f7e5ade1462d63887a27f393cd460e687fb1053aecf14cee590d548d1bae60fef5ea48c32c60489531533f6
-DIST firefox-106.0-pt-BR.xpi 563211 BLAKE2B 3972416e9aaca3093400af6b702024c17935ea192f34903dc740f72fd04a70cfa04a7cbe27bd4682dac8d647f983a95f5399f1bee5be55cc32cea166154dd719 SHA512 ac049b9d1792df7cf39f07dc35f253620ecbed4e7c95142834f3a073f0b0c848d62ebb44f234fa1fe12e24f4d6254f0321f463d56f5149ffae248f54d050b839
-DIST firefox-106.0-pt-PT.xpi 567716 BLAKE2B b24851a16220a31c35336b3573ff00f7fe0480041f444ccb82c839d039b4e475bee6ea5f2e811a4dd9903182bc8ba7f128a47482be0d34210ffeed7acceb2d7a SHA512 a26fdbf64779f778ea1a9fbf878c73422838d195fa9578f8f2d7a71fd749167dc530c297bdc3e89684fa0c8845d30bfe67852fbb9b267c5542e841de585bd9ca
-DIST firefox-106.0-rm.xpi 558453 BLAKE2B 5c16a24cb820897f902a004a1bf196e8f200d3aad801cbce3b708a8f50711a049fa71b5ee373db1516ec45f3deb285d74535850321bc9a8df95c09f18847b33b SHA512 28c1f4c0cc6c6ac125af7f4c796cfcde47d3057a418a39ea29ab85d8c52b8b59d6f30c6f26012525838cdd26c8093aeb8dace271c87dbc2b4048091018a6b29a
-DIST firefox-106.0-ro.xpi 539419 BLAKE2B cec0846ebe9af78b4ba31a2a2b77ed68e5bf3566933c6c931fc38666a951bbb294da6456857f77af2bba8e202bf6663afe6716993d50ba12fed1c4a69a547a39 SHA512 3a1fda7967b0cf46b6e341f138d50f996ac5537d58b6f01d04328462da44974318f1fa07d768f2bdf57e12c9473cc8163eb1a47c8610488d8ef8bb9e227c4186
-DIST firefox-106.0-ru.xpi 652355 BLAKE2B 3a916c73380d740a431e9e614ec693b3873436325e5d76284c4faf573a3b8f0ef63c88b6572af9db2791cbdf17e64659be91f6c3480f9c446322abe052143858 SHA512 3c5c12baaffd9cafd13899dd7ec9b687ad0e60fc08af51fb3b95bd7e943d96a16bc0de2308a66a96e0ea5d2853eadfa5de7f2cd6b1d099b04addf69c2804d5f8
-DIST firefox-106.0-sco.xpi 509981 BLAKE2B 6e1ffd2a3b245816cac7621f0a8eb130ee4b940e378df10cbec8810fbd692fda642f54dcad08129a775a592d2ee12853d5331bce78587fb197a574a99730131f SHA512 30b2252eca69141c5efca34ac643bed44b149917e1b49a45eca0eb8ec5fa9c4789b084690857fd925e317ea752d41f1ce147e28a7c1d43115394fa6f3f5cb3f1
-DIST firefox-106.0-si.xpi 577792 BLAKE2B 2ee552a78f649ea827417406b7b92ff377a6005e1efa03b1a3a817cf1ad5d573094bbf0aa6dbb2f09d9d77fa3cdde6b68ded12cc93b7e1d1289ece63d3dc7b01 SHA512 422f72ab794337367ff65b1c6290f6270ad95f3a707657d6240a5381d5a2fbab2c3773aa52528fc27414c84f39c06e754faeb8cbbda106446dab7f72a41872cd
-DIST firefox-106.0-sk.xpi 588280 BLAKE2B fe7b422f89ef19ff2850a89049e02e1236bcb99230305b2eb533736b16f2151674d09159bb5aaabc52e19ef03f918047ff917a9696de15c9f913d6e832bad2d1 SHA512 92df39c43227ca9a1b4ccf048a0d52b8e29877c9bccdff490f01bc09d55f1a1af2a786e67e65e18659f2e918abda09e811e5797cadee47bb627a7e20a8f1c517
-DIST firefox-106.0-sl.xpi 561258 BLAKE2B 08cbc6f4287e92b58d7f06b8d08d67cd523d21b5857c7c105d74b8a94f95f0905d54150e0b6acfa95be80b9ae7c766a75104a5f9793514efe31ac2d4a4f5eccc SHA512 7c3136bc0363ca71ec15678b282f136bbfc29684bfb2381383035af091a72fddb5c46f19847f663f79c7d8d7ba8b8a4dc09c0a19339a905dbb066958e981caec
-DIST firefox-106.0-son.xpi 429528 BLAKE2B b78b4633721571ec47ecadcac3323cd6e3845eb8ecf9841a9a989af6e07fecbb5282ae1cc088cb460983c00d319115924c493648fcdcd32ae7b64ad2e5642671 SHA512 84d70a4e358ce9a8fd468f35811a8546ea895eab21a49db652e990f7b99b44c491b52f25ded3e9ce729b73dc3e2232cfb54e33da2bf9b06ed8442027cb808f35
-DIST firefox-106.0-sq.xpi 565747 BLAKE2B 9cc96b92e86c2db5766d582be6b2880373bdbc6c71b24e409824884743e5387b1936e8b2dd3f6b3a71aad98e6cc15a88c0a1160399e3134a97255a10634ecb25 SHA512 fb0dfbdfa1b32bc72646f24c0eeb140ad73029c4c9bccd4401db1ec8180b55d47d90570e68f45ab501d805d1ab43ea727f7a15bd69a10efa325d81c57b94758b
-DIST firefox-106.0-sr.xpi 607532 BLAKE2B 7a9097199421383d54f54898969ef6dc375314aedbc1ea946831102b45f9768ef35cbe2b342b0a4b0b18f0f8d51a5c8e43a67c4986b0012a57d37dab4af579de SHA512 c73bb7405f203158ad38df5089f44477579ea86c9f1f1f14146c4bf66f262071ec8613c941cf00e422c7a229c3d21bfbe26c3bac723db6147d3fae04a42df07d
-DIST firefox-106.0-sv-SE.xpi 559813 BLAKE2B 1f65d2d49d02afce2ceb660077d55e64a2b7ba1df67087681f2e148305b1cf2a458fd7942cb9c6bf3d45a19f05548d620cc0f379e88ce8d14ac421064876a22c SHA512 0f6d664cddd2dcdcf1b2c8a1db02d9b7578d645da7ee6f94176a7e9747dbadad56893edd7ff102851ca62e57fbee9add41ffd08fce87f6cb4c51ec89ef1b80e0
-DIST firefox-106.0-szl.xpi 523778 BLAKE2B 71841301c450b3475ff6e2ca0329127d71716ce71c65be3e9e8e1c63be5466b64d22f8a6f205f967da7d0bbeeb4917e2bc4fd98125f982b2fc3ec47e74736fef SHA512 315a883cce7ab2c46f2014a096c55768905ece3942645471af70b12c121bc0fa71a934faa9bbe2fd7742fa01f4c4aafc0ac4c910a0fcc7c284bdfbcf7c1a39cc
-DIST firefox-106.0-ta.xpi 517847 BLAKE2B 81341361af18521f24ffdf752f22abbb388f389aecb9e520cec29f07bdb497fbab32566db42458fd8b54d6779d1404f243d9dccc112a4c5cef94f0c749eb1797 SHA512 bcdf10dcb97f2ba2d9c434bab9825bcc7a633c38095c8a6b3432b1452bfc0b2f85accc655151ae55d977786d4888025dc90091afe3f45940c2075aaf397bca1f
-DIST firefox-106.0-te.xpi 564264 BLAKE2B 54c0417de09671642a729b0e82b8cf93da58682ca7533fa4b85106bc601c516f87655df143b0d184ffc097a943c4a2b04eb344eb14c6c89157cbb3df88f6f37c SHA512 53bf6286748547381bfd461af78318031c91e43378e17480c9db8df5eac6246ca9ab8fc95f131eb16092abc058e391b54dee836edcadb06979f2a8fb44db0c31
-DIST firefox-106.0-th.xpi 628694 BLAKE2B 5d12b53cb5841a6ca369bbfa3cb4e4c42f8252be1e9a8e540a1a5e463bddd31c04ccc2b099d1b1c1362348e908497fc42603e7fb022e95fe93a75562b308089d SHA512 6849f139105a97df0bb72e4c61edb5c414e36739327bd26b7f486b002b84e3115adab83b70d1c178558e7768dfa87abf37888a01e9f87a4537246b8e53ce121f
-DIST firefox-106.0-tl.xpi 528359 BLAKE2B 6e16646e507974e4f09fcc332a87eb76c3eebafc32245e5621333f33f7436c739505a4694246982d01bce1fc8ff33eabe36ea43a78ac27504209bc27fc436b3d SHA512 13d9957cee4ba8591b14377d2661b5c07f1547d5eaaa3351a91ba35feb526d9bd77c28dffd95e1ed1a46139058da4ab0893d9240c4daddfcac59e056b53f0f05
-DIST firefox-106.0-tr.xpi 573861 BLAKE2B 16682fcb8d634e2ae832e99de7d4253e778b761930906fb9bc7df9a8e7ed223d9dce40e0f1d6f87aee807e6b61733df29df9702db4db3f60d3c4a405f2e6de3c SHA512 2704a0ce0d1ecc972d9791e1cc3d2c6b83fd7ed7c3d0269ffa081ea024103a1fd828c73b20d5b09d52385e8e4359c00d293231ccefc045adf51f66e23c713658
-DIST firefox-106.0-trs.xpi 493781 BLAKE2B 51e5d62cdc4c3d551f719c0a21a8835a17b6b543e41c7b520e3228c4fef2b422a397c869c4d5bb3531605039b93941a1662b678e0f5aeee1b6925d5c98673b41 SHA512 13722d9cb958939b79bca2d2df5590a19a78006978316dde4d3eacaa8b2181d32c502f3d0deeb256e90a445cc72f0739cfba892837e89b59b1738308bcfdeece
-DIST firefox-106.0-uk.xpi 645593 BLAKE2B 53e74fd17231682d4203b2231ab42c53b1bed7fc6409c105e64d3a14c2223c25c7fdd8ed0227a63b951ad22d1d59aacd8ee6609a322cfd9efafd292509f50192 SHA512 ed7c10a68a4d1ca9b7fb9debf6040f6019208b909ae2f3fd4e3866a70825182b92cda4528b9030fd7e5f4b736950f15fa2ee9829a4bede782ac345fbbf265820
-DIST firefox-106.0-ur.xpi 566157 BLAKE2B 17c16300736d22e71905895d41175413780ec5a4aff2c90baf1fe16ddf795d5d56459ecbb609b81285c4fb7aa64a513a78885a2c9e45f3b7688089e4dd086391 SHA512 beb084d46bc4e95dac2ba7062531459e6b72f027bac6f83b56c2e49f98a628de7734c8e2df2a93facd8b82f4a78009fb34d6d8743810598946b88a99efe4c405
-DIST firefox-106.0-uz.xpi 485812 BLAKE2B 4439e372132c3bb1481854a8610b9ba8487960326f27fb54e804fadcecf8a2c1dd38634e1a828009a82a8267766700b4e425bb67d8875e929895292bf707039a SHA512 57f5b770987bcec432c37c8123cfcace950da89897a9880f542f22584b0070ce182c740035eec7db5d199f5c207abd95d82965ba6dbc63d7b3784e9e763e0ed4
-DIST firefox-106.0-vi.xpi 595204 BLAKE2B c1035f6931c0f1561cfefd7f27174c4657e3c8340f0823e5471529099ed5f79495b19be594b810b1a583cad0a2a69dcd841dbb06f034555fa7ccc3ba0bdc5007 SHA512 3065a08f7321490026897f11e49d2fcfbf0703f1f35b0a49b451978bb8d34dcbe0e93cd23f5aef0d4e4adedbe03ac8aed8fbed982a8cbe6b1e46f90695800cff
-DIST firefox-106.0-xh.xpi 426995 BLAKE2B b0ebff77538848270c140547e88a253bf14a6f982d20f51dfd3e4e770a576ea0eb3fd34100dfea32393bfcdd20f47afd5ce9285c14bda7e4c71160e7fbd31fbf SHA512 2575811ffec99f10fd8eaa7401c70e5284caf25cd06c979ee1cec90eac7cd4d55c4ff954a2825cf5078a71a75b05d8c177a800dce976dc52ac90e9dd2df79831
-DIST firefox-106.0-zh-CN.xpi 595323 BLAKE2B 546fabe04b7b691afa2d14516471dea1b6a93a3c58f4e2eb5d5c7470254195fce1c5813a023ffbc621c1848c8b39cfac042c18c1fd74283b76a6da5938f942ef SHA512 a466782afae6d422f491fb363e737638f5128fe1b456e47b7a72db376682757208b5a496b0ebfc416776a973d866d438a0ac84540b030735ea145400c2486c41
-DIST firefox-106.0-zh-TW.xpi 596105 BLAKE2B bc35a4d6a28462acea79ace4139bf9e641fe28b2eeebc0e2c6d90f5ac978570c9956de372e90db069f3b31432e79f9c616fba7431899f304dad33b4b2642a6af SHA512 3d76fe47c5b8ab1ff4b612e49e0cfd7a0a825b72b673697f3262a5cef6e660b291a161d6664da3e351a8e51d8d8d14d859dae2d97b09d0ba7b67d9704e6d9ad4
DIST firefox-106.0.1-ach.xpi 460152 BLAKE2B 282d137211ab5b74538b9d76100d26e79236e21f27ccf46ffe4d231ecf1e7166865c2b240f06048d462adc419c07e930143707222ddbf5117b30a2b46bcdf62d SHA512 20ae74577a663aaeafc17a23e3a683ab503cecb666dec0219a1b4ea080e14be752efdd3b9f3de3001dced7b39ec19239a454c58d25f55536077746283aea2f24
DIST firefox-106.0.1-af.xpi 428351 BLAKE2B feb7f9053ddc1d891ceea93836825f81d4d2e85dfe25845543b39440985bb2ad20fae465fb11cfa5f6533103c3d0f653d06717187157a48b35cffa5f5aa6e411 SHA512 edf8908c02e2e42798f6a2e9df98aa3d2bd6a12926a649827bce977532e22608bee6fbd4a7c39edaf50465d4b7a45a52d7e4f1b4716d882a88d6d3294ea93060
DIST firefox-106.0.1-an.xpi 507373 BLAKE2B b70c953cf8296dcbd29128d09ad76ca2b561e3a13f0bd03ae519b7299f6f18e2f27bb3ac530899ea88a6fdf733b7ddad22040dbd132e137f3a007896e9142d8d SHA512 33612ac0f792a254efccfba4939a3c15ba84b0f17428c37c2e0ae6b37afb1bf5b3ea18036c8581e342a74d52a8bb1d8af22c645f1457d55567f02aa6a4b4b2f5
@@ -501,10 +205,6 @@ DIST firefox-106.0.1-xh.xpi 427003 BLAKE2B a969fa4cf091e34e1038d893c19aede541b43
DIST firefox-106.0.1-zh-CN.xpi 595316 BLAKE2B 8d8c6611167fe8f2d2e7d44109b52e47e17193925306fa2edd497bcbca790a32d0a265caa8a7e2a143b9c625d186caf163d2917241803bd4739d1a5bae45e2f7 SHA512 b997cb0ae5d2c76ba4ce885da09207b2561c1f4453ac284a58ddbed5de41f0378bb4ae7507573df378a176476392b278e5d025a8d59f23962d6fcef72805420f
DIST firefox-106.0.1-zh-TW.xpi 596106 BLAKE2B eefdbba0813fbe04bc1f9737b4c1a3e608c40bfc58454db12c447a7b134efd51c1f38297dfe06ad8587c22b4195994237806918179d8583538e477f8cdcfe542 SHA512 c6849a68624ec1ae00fd5f622efb5dc6e79a03c23f924c40e2ef448a4d52b9da972c263c3719c3ca033433212cc47b200e53403f5c26fdc3561a297911ad48a2
DIST firefox-106.0.1.source.tar.xz 501822184 BLAKE2B 8443392cf1f1ca5d41ba2d9571a6817f4b82ee31f21eb99586f6736783c56d53e0c67be485768ee70fb06040cafc6548e7082bf6f4bb360f2cf0cfbeba2e89e2 SHA512 15f5a65a69e11dd0c463b358cafb5ad0f31db93619b9ec3f89e8c5e14d4d319d9423fe4dcd0dbbcbedc1ad444dcbd8e5e30e483220277f5b550bff6124b66519
-DIST firefox-106.0.source.tar.xz 500449804 BLAKE2B fe003b0d4933a73f1435ec640b052ea72f3226c51257c2a6fa3b2d0bb22e45d2a0709c32592a2d443601cd61884ae057226b756ca19fe182f92aad8e0104c7a1 SHA512 30ced2fff818858267eaab23974f6962c5d39433ce8e26507589535fc9348f00cf5e45b90997dfb6e2361b70900547fdb0e70d741127cc6705089ea585ea2296
-EBUILD firefox-102.3.0.ebuild 36274 BLAKE2B 38ad5876eecab2edebc273cb5f4f5cbcc453158242a5b04a6befe8857cb9a800d6e235395e11c82ba85a55518be4e8d6c924257b3b6497d564928c65abfd43d2 SHA512 a81aaacbcce4f7258026a20633b402fb9039b7979ce344e608c768e753663cb4b2c9f7e1e51684003729a006b30f2026ed76b2e804f2f5d184911554f1395586
-EBUILD firefox-102.4.0.ebuild 36273 BLAKE2B 39ad53fb05be22398e925612d994ee8c8954728f775f72377e1d8e0fca67e18d14cc35fb23b21514f4f7c862d7801627e39d6fd7250c006b93481d41615edcba SHA512 a00bca7b57e8d745dd02dd494de77444bd1bf79110e3c15d9b38a6e52644fb1ae960fcb2218eb87526becfb6ead9038ea492093072d02cc316dd61492fe3d873
-EBUILD firefox-105.0.2.ebuild 38137 BLAKE2B 49284b24dcbdc57d0408f33a84f36cc603c99a92713e9382b9b1639fce75ec5c29d023df7698ac2932a4885e15299c5edd2f7510ede70e7d45fdc740449962f3 SHA512 4b0a674f18d78e075918ee3d087e35f790a6c83e714a618ae9fdf54df4b3072317d078368b36f027c2e168eb7defaa28aaff217753c205039a0d9c01b2888173
+EBUILD firefox-102.4.0.ebuild 36270 BLAKE2B 6837b774261e3f5dce707881e556112d7c931328fde0b524cab76cbc2fcf5591d4dbc09ba2677be226329ad58db918918d892f0adb8cb2021758fea69ab71d95 SHA512 768dc68293057c733299b063582600a791c6d55893f36ec500582a66cae8c3102a10869b4f68aaec18a80096ad1bf4cd6b5dcf20811aaa79fe983bde85a32530
EBUILD firefox-106.0.1.ebuild 38042 BLAKE2B de8af13de0378ea23e890762f8a50bec1a04df60a8e4f77847ab017729be2d835ce188a05c3e169d7ace4cf5decfc7534024c1fcf05d9007785b4ce58cf0d9e8 SHA512 e54fc64d2a34f20ea473ef5a042bd52796f9c3bb463e44e6af808d3a82f2d7f4e7eeb36447e019e8eedf828cabafadda8c7a5e681c21ed93f6efb4835f270bc5
-EBUILD firefox-106.0.ebuild 38042 BLAKE2B 1e4003ea71eda1e24cc3f4712bd38749ee7ae52edfde8ec3cd53f462bb6224604a299f62a168618f64af78d61c3fcb44fab931ab53e0b06dea2110c48c8d93c3 SHA512 989310f403880dc892c4ee4b6d381bbd3a0e814895a935c46f1d95a12b998b6ba0690008406d12aec51491d2312f417360c7c16382d8d6ffc8fcb8e8812b2cfd
MISC metadata.xml 2219 BLAKE2B 064f486eecd2a66ef4c9cccef46803f877039bf16bc40b699a48e28e04e816d0ad434ce65ae2e056e1a4126a67a7dd7eff16040276159c1f5aa8966b1c0d7b6c SHA512 522b09ffc2857553e240b1e7c82c11ccc281dd87c720c6292ec9314b91319e0a55ca2838f17e878f5c1e58e4f22caa1b0c3b90506b65b350beff06f3f397d897
diff --git a/www-client/firefox/firefox-102.3.0.ebuild b/www-client/firefox/firefox-102.3.0.ebuild
deleted file mode 100644
index 3c37dbddf5c5..000000000000
--- a/www-client/firefox/firefox-102.3.0.ebuild
+++ /dev/null
@@ -1,1266 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-FIREFOX_PATCHSET="firefox-102esr-patches-03j.tar.xz"
-
-LLVM_MAX_SLOT=14
-
-PYTHON_COMPAT=( python3_{8..11} )
-PYTHON_REQ_USE="ncurses,sqlite,ssl"
-
-WANT_AUTOCONF="2.1"
-
-VIRTUALX_REQUIRED="pgo"
-
-MOZ_ESR=yes
-
-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 \
- 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,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="esr"
-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"
-
-REQUIRED_USE="debug? ( !system-av1 )
- pgo? ( lto )
- wayland? ( dbus )
- wifi? ( dbus )"
-
-# Firefox-only REQUIRED_USE flags
-REQUIRED_USE+=" screencast? ( wayland )"
-
-FF_ONLY_DEPEND="!www-client/firefox:0
- !www-client/firefox:rapid
- screencast? ( media-video/pipewire:= )
- selinux? ( sec-policy/selinux-mozilla )"
-BDEPEND="${PYTHON_DEPS}
- app-arch/unzip
- app-arch/zip
- >=dev-util/cbindgen-0.24.3
- net-libs/nodejs
- virtual/pkgconfig
- virtual/rust
- || (
- (
- 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] )
- )
- )
- )
- amd64? ( >=dev-lang/nasm-2.14 )
- x86? ( >=dev-lang/nasm-2.14 )"
-
-COMMON_DEPEND="${FF_ONLY_DEPEND}
- || (
- >=app-accessibility/at-spi2-core-2.46.0:2
- dev-libs/atk
- )
- dev-libs/expat
- dev-libs/glib:2
- dev-libs/libffi:=
- >=dev-libs/nss-3.79.1
- >=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
- virtual/opengl
- x11-libs/cairo[X]
- x11-libs/gdk-pixbuf
- x11-libs/gtk+:3[X]
- x11-libs/libX11
- x11-libs/libXcomposite
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXrandr
- x11-libs/libXtst
- x11-libs/libxcb:=
- x11-libs/libxkbcommon[X]
- x11-libs/pango
- x11-libs/pixman
- dbus? (
- dev-libs/dbus-glib
- sys-apps/dbus
- )
- jack? ( virtual/jack )
- libproxy? ( net-libs/libproxy )
- sndio? ( >=media-sound/sndio-1.8.0-r1 )
- system-av1? (
- >=media-libs/dav1d-1.0.0:=
- >=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
- )
- )"
-
-RDEPEND="${COMMON_DEPEND}
- jack? ( virtual/jack )
- openh264? ( media-libs/openh264:*[plugin] )
- pulseaudio? (
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4
- )
- )"
-
-DEPEND="${COMMON_DEPEND}
- x11-libs/libICE
- x11-libs/libSM
- pulseaudio? (
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4[sdk]
- )
- )"
-
-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
-
- python-any-r1_pkg_setup
-
- # Avoid PGO profiling problems due to enviroment leakage
- # These should *always* be cleaned up anyway
- unset \
- DBUS_SESSION_BUS_ADDRESS \
- DISPLAY \
- ORBIT_SOCKETDIR \
- SESSION_MANAGER \
- XAUTHORITY \
- XDG_CACHE_HOME \
- XDG_SESSION_COOKIE
-
- # Build system is using /proc/self/oom_score_adj, bug #604394
- addpredict /proc/self/oom_score_adj
-
- if use pgo ; then
- # Allow access to GPU during PGO run
- local ati_cards mesa_cards nvidia_cards render_cards
- shopt -s nullglob
-
- ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
- if [[ -n "${ati_cards}" ]] ; then
- addpredict "${ati_cards}"
- fi
-
- mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
- if [[ -n "${mesa_cards}" ]] ; then
- addpredict "${mesa_cards}"
- fi
-
- nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
- if [[ -n "${nvidia_cards}" ]] ; then
- addpredict "${nvidia_cards}"
- fi
-
- render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
- if [[ -n "${render_cards}" ]] ; then
- addpredict "${render_cards}"
- fi
-
- shopt -u nullglob
- fi
-
- if ! mountpoint -q /dev/shm ; then
- # If /dev/shm is not available, configure is known to fail with
- # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
- ewarn "/dev/shm is not mounted -- expect build failures!"
- fi
-
- # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
- # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
- # get your own set of keys.
- if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
- MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
- fi
-
- if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
- MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
- fi
-
- # Mozilla API keys (see https://location.services.mozilla.com/api)
- # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
- # get your own set of keys.
- if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
- MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
- fi
-
- # Ensure we use C locale when building, bug #746215
- export LC_ALL=C
- fi
-
- CONFIG_CHECK="~SECCOMP"
- WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
- linux-info_pkg_setup
-}
-
-src_unpack() {
- local _lp_dir="${WORKDIR}/language_packs"
- local _src_file
-
- if [[ ! -d "${_lp_dir}" ]] ; then
- mkdir "${_lp_dir}" || die
- fi
-
- for _src_file in ${A} ; do
- if [[ ${_src_file} == *.xpi ]]; then
- cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
- else
- unpack ${_src_file}
- fi
- done
-}
-
-src_prepare() {
- if use lto; then
- rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
- fi
-
- eapply "${WORKDIR}/firefox-patches"
-
- # Allow user to apply any additional patches without modifing ebuild
- eapply_user
-
- # Make cargo respect MAKEOPTS
- export CARGO_BUILD_JOBS="$(makeopts_jobs)"
-
- # Make LTO respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/build/moz.configure/lto-pgo.configure \
- || die "sed failed to set num_cores"
-
- # Make ICU respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/intl/icu_sources_data.py \
- || die "sed failed to set num_cores"
-
- # sed-in toolchain prefix
- sed -i \
- -e "s/objdump/${CHOST}-objdump/" \
- "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
- || die "sed failed to set toolchain prefix"
-
- sed -i \
- -e 's/ccache_stats = None/return None/' \
- "${S}"/python/mozbuild/mozbuild/controller/building.py \
- || die "sed failed to disable ccache stats call"
-
- einfo "Removing pre-built binaries ..."
- find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
-
- # Create build dir
- BUILD_DIR="${WORKDIR}/${PN}_build"
- mkdir -p "${BUILD_DIR}" || die
-
- # Write API keys to disk
- echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${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 wayland ; then
- mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
- 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
- virtx_cmd=virtx
-
- # Reset and cleanup environment variables used by GNOME/XDG
- gnome2_environment_reset
-
- addpredict /root
- fi
-
- local -x GDK_BACKEND=x11
-
- ${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}-esr.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 support 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.4.0.ebuild b/www-client/firefox/firefox-102.4.0.ebuild
index da231a0559f3..b2861a3a5b41 100644
--- a/www-client/firefox/firefox-102.4.0.ebuild
+++ b/www-client/firefox/firefox-102.4.0.ebuild
@@ -57,7 +57,7 @@ SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}
DESCRIPTION="Firefox Web Browser"
HOMEPAGE="https://www.mozilla.com/firefox"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 arm64 ~ppc64 x86"
SLOT="esr"
LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
diff --git a/www-client/firefox/firefox-105.0.2.ebuild b/www-client/firefox/firefox-105.0.2.ebuild
deleted file mode 100644
index 1c4172c64be5..000000000000
--- a/www-client/firefox/firefox-105.0.2.ebuild
+++ /dev/null
@@ -1,1323 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-FIREFOX_PATCHSET="firefox-105-patches-05j.tar.xz"
-
-LLVM_MAX_SLOT=14
-
-PYTHON_COMPAT=( python3_{8..11} )
-PYTHON_REQ_USE="ncurses,sqlite,ssl"
-
-WANT_AUTOCONF="2.1"
-
-VIRTUALX_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 \
- 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,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 )
- wifi? ( dbus )"
-
-# Firefox-only REQUIRED_USE flags
-REQUIRED_USE+=" || ( X wayland )"
-REQUIRED_USE+=" screencast? ( wayland )"
-
-FF_ONLY_DEPEND="!www-client/firefox:0
- !www-client/firefox:esr
- screencast? ( media-video/pipewire:= )
- selinux? ( sec-policy/selinux-mozilla )"
-BDEPEND="${PYTHON_DEPS}
- app-arch/unzip
- app-arch/zip
- >=dev-util/cbindgen-0.24.3
- net-libs/nodejs
- virtual/pkgconfig
- >=virtual/rust-1.61.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] )
- )
- )
- )
- amd64? ( >=dev-lang/nasm-2.14 )
- x86? ( >=dev-lang/nasm-2.14 )
- pgo? (
- X? (
- x11-base/xorg-server[xvfb]
- x11-apps/xhost
- )
- wayland? (
- >=gui-libs/wlroots-0.15.1-r1[tinywl]
- x11-misc/xkeyboard-config
- )
- )"
-COMMON_DEPEND="${FF_ONLY_DEPEND}
- || (
- >=app-accessibility/at-spi2-core-2.46.0:2
- dev-libs/atk
- )
- dev-libs/expat
- dev-libs/glib:2
- dev-libs/libffi:=
- >=dev-libs/nss-3.82
- >=dev-libs/nspr-4.34.1
- 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-1.0.0:=
- >=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}
- jack? ( virtual/jack )
- openh264? ( media-libs/openh264:*[plugin] )
- pulseaudio? (
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4
- )
- )"
-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}"
-}
-
-virtwl() {
- debug-print-function ${FUNCNAME} "$@"
-
- [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
- [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset"
- tinywl -h >/dev/null || die 'tinywl -h failed'
-
- # TODO: don't run addpredict in utility function. WLR_RENDERER=pixman doesn't work
- addpredict /dev/dri
- local VIRTWL VIRTWL_PID
- coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; }
- local -x WAYLAND_DISPLAY
- read WAYLAND_DISPLAY <&${VIRTWL[0]}
-
- debug-print "${FUNCNAME}: $@"
- "$@"
-
- [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
- exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
-}
-
-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
-
- python-any-r1_pkg_setup
-
- # Avoid PGO profiling problems due to enviroment leakage
- # These should *always* be cleaned up anyway
- unset \
- DBUS_SESSION_BUS_ADDRESS \
- DISPLAY \
- ORBIT_SOCKETDIR \
- SESSION_MANAGER \
- XAUTHORITY \
- XDG_CACHE_HOME \
- XDG_SESSION_COOKIE
-
- # Build system is using /proc/self/oom_score_adj, bug #604394
- addpredict /proc/self/oom_score_adj
-
- if use pgo ; then
- # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure
- # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage
- # (PORTAGE_SCHEDULING_POLICY) update...
- addpredict /proc
-
- # May need a wider addpredict when using wayland+pgo.
- addpredict /dev/dri
-
- # Allow access to GPU during PGO run
- local ati_cards mesa_cards nvidia_cards render_cards
- shopt -s nullglob
-
- ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
- if [[ -n "${ati_cards}" ]] ; then
- addpredict "${ati_cards}"
- fi
-
- mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
- if [[ -n "${mesa_cards}" ]] ; then
- addpredict "${mesa_cards}"
- fi
-
- nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
- if [[ -n "${nvidia_cards}" ]] ; then
- addpredict "${nvidia_cards}"
- fi
-
- render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
- if [[ -n "${render_cards}" ]] ; then
- addpredict "${render_cards}"
- fi
-
- shopt -u nullglob
- fi
-
- if ! mountpoint -q /dev/shm ; then
- # If /dev/shm is not available, configure is known to fail with
- # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
- ewarn "/dev/shm is not mounted -- expect build failures!"
- fi
-
- # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
- # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
- # get your own set of keys.
- if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
- MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
- fi
-
- if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
- MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
- fi
-
- # Mozilla API keys (see https://location.services.mozilla.com/api)
- # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
- # get your own set of keys.
- if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
- MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
- fi
-
- # Ensure we use C locale when building, bug #746215
- export LC_ALL=C
- fi
-
- CONFIG_CHECK="~SECCOMP"
- WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
- linux-info_pkg_setup
-}
-
-src_unpack() {
- local _lp_dir="${WORKDIR}/language_packs"
- local _src_file
-
- if [[ ! -d "${_lp_dir}" ]] ; then
- mkdir "${_lp_dir}" || die
- fi
-
- for _src_file in ${A} ; do
- if [[ ${_src_file} == *.xpi ]]; then
- cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
- else
- unpack ${_src_file}
- fi
- done
-}
-
-src_prepare() {
- use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
- ! use ppc64 && rm -v "${WORKDIR}"/firefox-patches/*bmo-1775202-ppc64*.patch
- eapply "${WORKDIR}/firefox-patches"
-
- # Allow user to apply any additional patches without modifing ebuild
- eapply_user
-
- # Make cargo respect MAKEOPTS
- export CARGO_BUILD_JOBS="$(makeopts_jobs)"
-
- # Make LTO respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/build/moz.configure/lto-pgo.configure \
- || die "sed failed to set num_cores"
-
- # Make ICU respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/intl/icu_sources_data.py \
- || die "sed failed to set num_cores"
-
- # sed-in toolchain prefix
- sed -i \
- -e "s/objdump/${CHOST}-objdump/" \
- "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
- || die "sed failed to set toolchain prefix"
-
- sed -i \
- -e 's/ccache_stats = None/return None/' \
- "${S}"/python/mozbuild/mozbuild/controller/building.py \
- || die "sed failed to disable ccache stats call"
-
- einfo "Removing pre-built binaries ..."
- find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
-
- # Clearing checksums where we have applied patches
- moz_clear_vendor_checksums audioipc
- moz_clear_vendor_checksums audioipc-client
- moz_clear_vendor_checksums audioipc-server
-
- # Create build dir
- BUILD_DIR="${WORKDIR}/${PN}_build"
- mkdir -p "${BUILD_DIR}" || die
-
- # Write API keys to disk
- echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${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 \
- --enable-system-policies \
- --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
- # Reset and cleanup environment variables used by GNOME/XDG
- gnome2_environment_reset
-
- addpredict /root
-
- if ! use X; then
- virtx_cmd=virtwl
- else
- virtx_cmd=virtx
- fi
- fi
-
- if ! use X; then
- local -x GDK_BACKEND=wayland
- else
- local -x GDK_BACKEND=x11
- 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 support 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-106.0.ebuild b/www-client/firefox/firefox-106.0.ebuild
deleted file mode 100644
index bedbd980b08e..000000000000
--- a/www-client/firefox/firefox-106.0.ebuild
+++ /dev/null
@@ -1,1321 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-FIREFOX_PATCHSET="firefox-106-patches-01j.tar.xz"
-
-LLVM_MAX_SLOT=14
-
-PYTHON_COMPAT=( python3_{8..11} )
-PYTHON_REQ_USE="ncurses,sqlite,ssl"
-
-WANT_AUTOCONF="2.1"
-
-VIRTUALX_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 \
- 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,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 )
- wifi? ( dbus )"
-
-# Firefox-only REQUIRED_USE flags
-REQUIRED_USE+=" || ( X wayland )"
-REQUIRED_USE+=" screencast? ( wayland )"
-
-FF_ONLY_DEPEND="!www-client/firefox:0
- !www-client/firefox:esr
- screencast? ( media-video/pipewire:= )
- selinux? ( sec-policy/selinux-mozilla )"
-BDEPEND="${PYTHON_DEPS}
- app-arch/unzip
- app-arch/zip
- >=dev-util/cbindgen-0.24.3
- net-libs/nodejs
- virtual/pkgconfig
- >=virtual/rust-1.61.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] )
- )
- )
- )
- amd64? ( >=dev-lang/nasm-2.14 )
- x86? ( >=dev-lang/nasm-2.14 )
- pgo? (
- X? (
- x11-base/xorg-server[xvfb]
- x11-apps/xhost
- )
- wayland? (
- >=gui-libs/wlroots-0.15.1-r1[tinywl]
- x11-misc/xkeyboard-config
- )
- )"
-COMMON_DEPEND="${FF_ONLY_DEPEND}
- || (
- >=app-accessibility/at-spi2-core-2.46.0:2
- dev-libs/atk
- )
- dev-libs/expat
- dev-libs/glib:2
- dev-libs/libffi:=
- >=dev-libs/nss-3.83
- >=dev-libs/nspr-4.35
- 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-1.0.0:=
- >=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}
- jack? ( virtual/jack )
- openh264? ( media-libs/openh264:*[plugin] )
- pulseaudio? (
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4
- )
- )"
-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}"
-}
-
-virtwl() {
- debug-print-function ${FUNCNAME} "$@"
-
- [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
- [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset"
- tinywl -h >/dev/null || die 'tinywl -h failed'
-
- # TODO: don't run addpredict in utility function. WLR_RENDERER=pixman doesn't work
- addpredict /dev/dri
- local VIRTWL VIRTWL_PID
- coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; }
- local -x WAYLAND_DISPLAY
- read WAYLAND_DISPLAY <&${VIRTWL[0]}
-
- debug-print "${FUNCNAME}: $@"
- "$@"
-
- [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
- exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
-}
-
-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
-
- python-any-r1_pkg_setup
-
- # Avoid PGO profiling problems due to enviroment leakage
- # These should *always* be cleaned up anyway
- unset \
- DBUS_SESSION_BUS_ADDRESS \
- DISPLAY \
- ORBIT_SOCKETDIR \
- SESSION_MANAGER \
- XAUTHORITY \
- XDG_CACHE_HOME \
- XDG_SESSION_COOKIE
-
- # Build system is using /proc/self/oom_score_adj, bug #604394
- addpredict /proc/self/oom_score_adj
-
- if use pgo ; then
- # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure
- # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage
- # (PORTAGE_SCHEDULING_POLICY) update...
- addpredict /proc
-
- # May need a wider addpredict when using wayland+pgo.
- addpredict /dev/dri
-
- # Allow access to GPU during PGO run
- local ati_cards mesa_cards nvidia_cards render_cards
- shopt -s nullglob
-
- ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
- if [[ -n "${ati_cards}" ]] ; then
- addpredict "${ati_cards}"
- fi
-
- mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
- if [[ -n "${mesa_cards}" ]] ; then
- addpredict "${mesa_cards}"
- fi
-
- nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
- if [[ -n "${nvidia_cards}" ]] ; then
- addpredict "${nvidia_cards}"
- fi
-
- render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
- if [[ -n "${render_cards}" ]] ; then
- addpredict "${render_cards}"
- fi
-
- shopt -u nullglob
- fi
-
- if ! mountpoint -q /dev/shm ; then
- # If /dev/shm is not available, configure is known to fail with
- # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
- ewarn "/dev/shm is not mounted -- expect build failures!"
- fi
-
- # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
- # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
- # get your own set of keys.
- if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
- MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
- fi
-
- if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
- MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
- fi
-
- # Mozilla API keys (see https://location.services.mozilla.com/api)
- # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
- # get your own set of keys.
- if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
- MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
- fi
-
- # Ensure we use C locale when building, bug #746215
- export LC_ALL=C
- fi
-
- CONFIG_CHECK="~SECCOMP"
- WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
- linux-info_pkg_setup
-}
-
-src_unpack() {
- local _lp_dir="${WORKDIR}/language_packs"
- local _src_file
-
- if [[ ! -d "${_lp_dir}" ]] ; then
- mkdir "${_lp_dir}" || die
- fi
-
- for _src_file in ${A} ; do
- if [[ ${_src_file} == *.xpi ]]; then
- cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
- else
- unpack ${_src_file}
- fi
- done
-}
-
-src_prepare() {
- use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
- ! use ppc64 && rm -v "${WORKDIR}"/firefox-patches/*bmo-1775202-ppc64*.patch
- eapply "${WORKDIR}/firefox-patches"
-
- # Allow user to apply any additional patches without modifing ebuild
- eapply_user
-
- # Make cargo respect MAKEOPTS
- export CARGO_BUILD_JOBS="$(makeopts_jobs)"
-
- # Make LTO respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/build/moz.configure/lto-pgo.configure \
- || die "sed failed to set num_cores"
-
- # Make ICU respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/intl/icu_sources_data.py \
- || die "sed failed to set num_cores"
-
- # sed-in toolchain prefix
- sed -i \
- -e "s/objdump/${CHOST}-objdump/" \
- "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
- || die "sed failed to set toolchain prefix"
-
- sed -i \
- -e 's/ccache_stats = None/return None/' \
- "${S}"/python/mozbuild/mozbuild/controller/building.py \
- || die "sed failed to disable ccache stats call"
-
- einfo "Removing pre-built binaries ..."
- find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
-
- # Clearing checksums where we have applied patches
- moz_clear_vendor_checksums bindgen
-
- # Create build dir
- BUILD_DIR="${WORKDIR}/${PN}_build"
- mkdir -p "${BUILD_DIR}" || die
-
- # Write API keys to disk
- echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${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 \
- --enable-system-policies \
- --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
- # Reset and cleanup environment variables used by GNOME/XDG
- gnome2_environment_reset
-
- addpredict /root
-
- if ! use X; then
- virtx_cmd=virtwl
- else
- virtx_cmd=virtx
- fi
- fi
-
- if ! use X; then
- local -x GDK_BACKEND=wayland
- else
- local -x GDK_BACKEND=x11
- 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 support 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
-}