From 752d6256e5204b958b0ef7905675a940b5e9172f Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 12 May 2022 16:42:50 +0300 Subject: gentoo resync : 12.05.2022 --- www-client/firefox/Manifest | 201 ++++- www-client/firefox/firefox-100.0.ebuild | 1267 ++++++++++++++++++++++++++++++ www-client/firefox/firefox-91.9.0.ebuild | 1244 +++++++++++++++++++++++++++++ www-client/firefox/metadata.xml | 29 +- 4 files changed, 2726 insertions(+), 15 deletions(-) create mode 100644 www-client/firefox/firefox-100.0.ebuild create mode 100644 www-client/firefox/firefox-91.9.0.ebuild (limited to 'www-client/firefox') diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index b3f8f34d025c..9d18735a423d 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -7,6 +7,105 @@ AUX gentoo-hwaccel-prefs.js-r1 262 BLAKE2B e5c450f8e331c8948720dbccf918f093b9d2f 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-100-patches-02j.tar.xz 18916 BLAKE2B a85a390ef40c2a321fae99b649b9df5ce9e3d226206f67a37d797154e4bb627574d0ec80055c218c2ab323b860a770a6d7ae5722d3ef1fff79c15c190ad85338 SHA512 f027c5a43c798964fdcb6ab7c32acbe4e03ece5870e3b619d2d3013fd3091706c144478ed70a86082dd7ea9818adaf9c769995e9630bf5d246196522b37a3b6f +DIST firefox-100.0-ach.xpi 448897 BLAKE2B 43cabf49051eeb439dd0d1726f198f57671ac7a7871b877c938e263675468bb522c139cb024e63a71125d2567e1588906a3a5103e7d54ec1e49e9791d978260f SHA512 bfcf45a0fc2ecb6bf80d90b20e627900832e9b270c5a330f76e9fedef2dae723c3f1fcee8056e2718c95f87ce5d23b8aba3535941165fe066dbb7c9218697bae +DIST firefox-100.0-af.xpi 415226 BLAKE2B 6c04b00b3551e88af1b4e2b6764180678c5cbabb85124d9a9e4f5ee6668e973967c18eac9a8c9dcc8d15e577bdffebc0b19f0ed67feecbf38fe03918cd90c730 SHA512 0cdaae26ac25bd1760a87d723620ca01fbb6c859c1d3759842734f2dd540555d1e5b8248b66dc35aeef62ff3e6abd12eb881c7931a5cfffdfa343fbbe3744d09 +DIST firefox-100.0-an.xpi 495500 BLAKE2B 02ed9d05350e38abe199b8373f59e4f14bcc45ba736517a3ffc5e3924da4183634e4ca163b09994eeba6b7a73dcea776d5c734f2f09fa3106ba06227a26f56c5 SHA512 01cb2d0da1f3ed9571156c708eb3d853cbf3196a7f7a90b1f3cdf3a392a893a2f2263b80f7f09fde23e23958df77a760695b15bee4f34bb4af42a8656348078d +DIST firefox-100.0-ar.xpi 564886 BLAKE2B 84937d45a0d8daf36fbcaf0d184dcf6033e868b150ece264546cc37fd61477a2810a231896103857359cf3a3ca4ad2cf5c867129115ac0db73fd6e40e55c73c0 SHA512 aad8936ce43af08aa19a375e0d3be9f04d6f78e8232eaad2d3e5936a36cd2aee5529b4a1abf93edf34dd5f46578b3f8f90afd403e87bcc66f61d35851cf12eab +DIST firefox-100.0-ast.xpi 493304 BLAKE2B b6c1046ae573e60414da042e6076462e102480a65bc98403344ae573d10e8c6b029304d48013594130eb3eeb08079dca195eb14269cb8f5b11e90e9dfb854514 SHA512 4e00aa27314529c4eb2897827fad42d037688224db5223c4e0a5c49b571a61ba8acbab8c55cbb7c6df501ef77688451641bebe86a599c7bbecdca2e9cc2168b9 +DIST firefox-100.0-az.xpi 484092 BLAKE2B 67a6a0c76ebbfd3ba4a6d9651693be6afba812162cdcdf9207d00d3cde9bb2c7a28df7bd6c03048bc6ae5cab7a3d1fc76bf6a21250ba8fd2707494d8af515247 SHA512 fabd11253fb255f46633612959b5b97981d8ef67b2ad4fb5e54bec4f6e6ac13ee6bf317081db2454c810a7e842c4b437a899f16d89bcb53c1d20da1a1c3aa5de +DIST firefox-100.0-be.xpi 628696 BLAKE2B 04c28384dbb313e5302f67b16a9effd7479c055b5f445ce5934d918b2a354600917463c3b10e5df504797ea10334b4b44175512571fc4e4bd9b0c192d7bf8dfd SHA512 2c7030822c1be57200fdc670a7b74e225cdc092522d6f77b6047cebad9a8077054ea47edfcfd86bfc0091e5c540a8833aadf8b605dca0988c99d1cf2cf6e1d2b +DIST firefox-100.0-bg.xpi 566785 BLAKE2B edd742fa43bb7e5098ceb5dec684e0f7921c0295bd461bb0eab1ffc9157bf83a725c5385c9e23bbf62e8403ae46054441d59f130b67b67f8feb9dc05548c2318 SHA512 29c7da2b92793481b8f1a0e81e7639cab51e1f1bab9ca4b9a4b788a679d4fd91f7d42c65bff122d0404ca8006579f3d503467df5e76cf6113ed3e805c01d1d74 +DIST firefox-100.0-bn.xpi 554540 BLAKE2B 89a1c26e62f2e80f4802fc9cfa23b94d672374316d813c9be022dfeaa9aeafe4ef8dcbe2951bc77fd0df59d5d1a246ab8e94fc8d310bca4e6bd4038dcca9a142 SHA512 107f23f8b82778a068c57e93512346c75a645ef47dba17e76794ca88affb649e79c5434fe547f79b5e68739174a272e011fa75582ef544df45cfd16f44907638 +DIST firefox-100.0-br.xpi 530611 BLAKE2B 201640add757a1dca171c0351e1845d91d9653bbd7a44f812be0fef1e811b7c3a30b3984a4208095db64bd23850c4858427c68139ee36bf77529ace065fba836 SHA512 bf1ecd65cac7a7a65f0b9f52ba128f77983fdc0a2f091a76ee20695527d6a93b431d177e923e35c144f4e29feccd60ee1e828d1ff0c3bad140cb22472e0ebc40 +DIST firefox-100.0-bs.xpi 459035 BLAKE2B cf2f09a31a150477adf5c9cf4810dcc1bda3d36ae2fe0a5a778c4b2915fcba18be129b9976fe449424e5e0dfc407149360b3954e4ffe69790cce50c3c68da7c6 SHA512 57d2fc336efa1c93b27d3712dcdee8a0046376c4011fe5f5d020044f26c97b49b5036c4e80609be5aabe90851f2031b1e2f7b1ecb6c25d3816da7c02ae086656 +DIST firefox-100.0-ca-valencia.xpi 536445 BLAKE2B 61320a337973d562ea601e28ac73af2cac27ad9eabe67c3a30bc51ac71979fe5857d9a1d1a62d3e411b0b4de422be37d9147427bff5496681ebdb9c02c689593 SHA512 4fad1577b9ff61d3956d52dcc2cd672a256d18616b8530b67c052d5e025f777cfd72242aec66416dc5fada74a8a97611c94111d3720c352f78ac3c0437a10954 +DIST firefox-100.0-ca.xpi 530200 BLAKE2B df66c1b672b8bd23d0c713d1689c05a76480cc18425476f7d2b0cea91113a8c442bce02a56ea1efd98fc1c262f25ea749181c960c8cdb55c63b65e6787fe399d SHA512 1c0052db74e50bcdeb394d57f33289a75d1bb495c78ea6d1483ddb1b0f18c4bd25018e76dfabedc501ee3303f426cb51358ef091ff64fd8715bfab68666959de +DIST firefox-100.0-cak.xpi 553417 BLAKE2B c13b19acb4dab04e76963bbc3ea813889a03236660229be3ba0e522e961229d8f8c123b0dcc140c2d783b08dea9351ad5be4ab27183c70188c93658caf7dda44 SHA512 f106e6b8d898f2046a0edfc41eb2782d8436fd14b1489442e6eb78c855128f37b4dd2de826462a9c44502fe3c795308511d97085912ef90e1f66309636dc67a5 +DIST firefox-100.0-cs.xpi 570159 BLAKE2B b39239d57eabe01940c01c51a01045b5eba6910c141e5b0f99a0ee5e539026cbd328a48a2539c2c2fa7d01132655757108313409a131aad567619943526387c1 SHA512 8c922e0433fd28f3e912be552ee93b25dfb3cb054237a9220a6523c9e765a97c7b5bb0dd4ef801bca773b47be31f777bdf103491776307e89e453453fbe7eff5 +DIST firefox-100.0-cy.xpi 546995 BLAKE2B 9250a3edafb95ddb60bade4c3d4e1e76659e08d01b0352288d2184e747e59c6763a514bbb464373fa998520ae0951bec17ef2ddef057e23d779def91e640c022 SHA512 8b975b20a7c422dc798382f83c0ca5217640e4deb5c9a0a64c3e578fff4afa1373c67e7dd32c5d5e8704741df44a00c9eaca83b61291613061775a3d9c9ff659 +DIST firefox-100.0-da.xpi 538817 BLAKE2B 6577ab7f419a3ccb1be856c497fe4ca0fab5f1cf05134de4a36b45e33fabfc0ccf5f5a3b931bbebd20c87eb54c87452df42026ecd3d40aafbe92abb513b89b43 SHA512 98d9ae3974f1fb1f9b720a2a11d2405e5a3a84162a028a74982a98b9c3a9485851074489f8e1ef254891e399c0b403924c9672bea30f69647de21a6c9d99736e +DIST firefox-100.0-de.xpi 558692 BLAKE2B 3eff85104794a5bb7ab0dca3c0ea549b23f129842d0198eb906763107706417560c2cf7585622b236b59891a4d9b1e48f2d42eac9af75de173e54b8dab4ed567 SHA512 f95b347b6d127c81402e706c02100a51a22a2a4ecde33a0cc267ba6831fc5c58e875b20a3f986cb11c23f90d9036d3ac56341d028f27a92363f311c652d89afe +DIST firefox-100.0-dsb.xpi 571795 BLAKE2B 9f5152d37d995bd54d328b519b0732fe22b1a27c26312775edeb795786865097bc86a739bc6cca8bd4235564681d104a6bfeae2efce551b09ae58d7dfa2a92d5 SHA512 a00a95f3381f401505c30e7a7f5536b98a7014029d06922cf1eb69d03215610b7d946cfa95ba47184908909a0e15821711ca0b13dfabb6db646dbd63583dc87a +DIST firefox-100.0-el.xpi 645056 BLAKE2B 3ba131bdee7a67293de875821b08e001fad2fccd4f20a5ce93f1f98d8833406152fa669b48c5aaf1a4cd283397dabb1dad64a367d472daba800307c364a71e92 SHA512 474e36968fee9a21fde283a8ec1185ed0f458e750c393e54f5bdead72138eeea3f7f4ea4775897332cd8b109e4fc8fa14f2b28a984571c7afaa15585e55adcee +DIST firefox-100.0-en-CA.xpi 514207 BLAKE2B 649d11c78c7ce395b967fe4bcd6d77f51f50ac1702a8b4113a011ccd183cca75c49e23021f9746ae0bd3b3196da69a44e95ec4525eb3ae35438998495413266f SHA512 27755999431373341c4ab049aad1745f8158232266c78a87b9b8f4d2b0c78bcc2eea61b6dee9ebb7e48ef687d73002bcf37d656112cca295a471aebacaae905f +DIST firefox-100.0-en-GB.xpi 514698 BLAKE2B 55486e15a07ab6548dc6136da12497182de2e7a8d441ff952f9b2ddc792d6fbebaf8e4019eb0d4a8660702224b33e97f1989d298b4f55ea6ac9a6524a7f55769 SHA512 4af7681303d437ee94ae0574c18929710925589a7be8e3034a01760518d7d5a6bbda68bf9a5bb081bc93af821a1d242e07bb5235fd559a970e59862e1012f82a +DIST firefox-100.0-eo.xpi 540865 BLAKE2B 2e030878522f1246be92c8e6db076979bfa1bc03e188213af536942f337622a950e957ea14a76d436c81ef9d2556d69caf3d06611278595822dce95e3d962de5 SHA512 0344de8764cc14e2b21e97e3e9e82312e592f95bf057481d25229d41504f9ffdbe2f0c18db47259830efdf0a47905f50fcd52be5e4deb9e6185c1e879e4a1d4a +DIST firefox-100.0-es-AR.xpi 551765 BLAKE2B e02ae9937d342a3922794717b3573dbe4f95fed2596a356ce78b24d7509ad2ad53254507a790766b01b3e21aa3181e5c41a795b0a8cd73478420b88cfb588837 SHA512 f3c5fe155f02639bdad39c6592920b8c343e9500d3a801a8715785add45f3058e5bba8aa67265eb69a6550eae77c57da32b30bdbce326c4021fbd42603829e9e +DIST firefox-100.0-es-CL.xpi 550976 BLAKE2B b67fe6a05c002b8fc5e474d5da19b67839239854df147a425d1e810020ab688e018f86a33397775ed37c424df8dd33f1b6767bca9897c1a230de51a1a8e1a806 SHA512 6400b5a47d01d5a4e0b6170ea86b1f8540b0bbb321368699a0bfb779e977e98ea11fc33edb3d7220af97eae7fedd0307b16a3925ddcaff95c5575b61e136fe0a +DIST firefox-100.0-es-ES.xpi 542252 BLAKE2B 41480f2db9bbc89c1ddc686c96da7bec59c173428822eec3995e77a56d695b3b28658f49211b7ea437c91c75f53a14d1c18287869965c460721b9a1ba59ff8e7 SHA512 7cfb1bdb53401e50f2f657d916b63750f55643ccc315da56f3aee60b0a6e22927b715014a91b288651f100461cddd32ad7f4f7974d4e7d5d4a94a86f0bee033c +DIST firefox-100.0-es-MX.xpi 555131 BLAKE2B e6ab92e7eda6167e65f8102b36f501ab3d800423e4596c16c4f5c4a08bff8944cffa19ac3e3dbc7f71601f0de7e40c524499aaf1748707ca3d6299083b3cfaa7 SHA512 0d3ead5dc58485ae41d7300e19bb25bc7cf04a1d7a0c15acdfc97aca4db326b513dea8583397f999392a24aa6a48f696c396340df0f80232f7f53703e0c2b43d +DIST firefox-100.0-et.xpi 532701 BLAKE2B 4db053beb173633dec2ab293a91f0501a8b10dad1d4c785d8b476ef021038870b5389a1069fbbd50f457c8f4279a3c45ae33f11536044a74cc4ccb2888e37985 SHA512 b4195ce5e0aea78e03bb9f56a84fe0427ca0b04d651e486bedd869a83f58a69eecc555e947bbaa91ec4496b3d57773c526b388b394f303499915cc07f8bcdccf +DIST firefox-100.0-eu.xpi 541413 BLAKE2B c48c3ba9107fdf626c4e8efb6609aaecd6e6d497577e8e459f136bfca50ae9b986a385bb435a7bb0273752a0a2a6805ecbe1faa45915a467a77de89b5b314d3a SHA512 cf587cf27280ec80ed4bea965451a3b4f67c2509fca8bdf1985787ccd870944d72d52059b7777e52fc7e8a7ae07f1a0759c8bf73ed778e42e9db5b62c2362ce0 +DIST firefox-100.0-fa.xpi 561338 BLAKE2B 91037614671d8dd6a0d6a23fd57a87a51e23a16d641a48454e015eeea6059bc9af6b7b146152207ad34effd4dad9978eb841ea62351d3690127a3909716bcce9 SHA512 b4909bad5a4c4dd692ca6ab2e106152dbfd5b059deb3119c328ebf8232705e4a577ff8a7865189ff54763605feab2adde2232ba2d5a41ea87920fd057a149d67 +DIST firefox-100.0-ff.xpi 468200 BLAKE2B a49e6011dee9e2131f6225d02e54fd2b397913880382c738c1b1483ca6c2407b7fe80bbf6394b6300e29b1f81f9fcd9c3839ceba95308614f52a4f656b20a003 SHA512 a39efa94171d7dbb7938cf10c791a3dd039a6cc06753a3ab55fb31c0c6dbc27b33905f31116f0601c2609741e19660afe703382e0d77d0031d1c7887127c63bb +DIST firefox-100.0-fi.xpi 535250 BLAKE2B b72c99ef47d263ca7ac3a64d5c547f3fe9fb877ea1696b6850692b557644c58f7f8349eeeb9da880ffce7c9bdc6f0090990163ab0f79ac14f5efec815d430738 SHA512 5410b5d02ebe44f2edd58fc66d067996dd2df5b56284ebe9ab8464672fcf651643c76f8e8952047d8217205103590151af4f978987fa9926a01c5091788c68fb +DIST firefox-100.0-fr.xpi 562950 BLAKE2B 5f8d105f8294c23ac98737dbfbd505e866385f4855e9ab960f2cb9bdc9ca19c9a8dc11b3a06ca79829bdd8ccf3a127fbd1803c05e8045079e8690a6cb5f77b4c SHA512 9dd9658d6fb25835e4a36b0bd2100f3a5acd2ebcc2305c2477e1736a3d960acec5f60bcd14d389071d6c9adb3ea2fc2f5f93753c420350eedbfcd95e3efc4961 +DIST firefox-100.0-fy-NL.xpi 548097 BLAKE2B 810393c73168e6ef13f15171da0f1d8f2049985c3572cf772851d598f75b0826379a87e57bfb8c25240239353dce308d4abb752a331e549c5e4a2e97b0977482 SHA512 9d646abaa1e0fe5db8b3ff6870c403fcf7e00cf8c67ec9a79da4e81deb4bf2e6171fdb831c3ff18e0b93646e2a880e671f104d0146040aa24a07fbad830ae163 +DIST firefox-100.0-ga-IE.xpi 465449 BLAKE2B 2d42b84c70ddbad25ed4bb1bf438dfe41a1e4a19b9122769e8eb103a037ec010e647a4376cc35878a460cff4dd6feb92b42d73069db417f854f0740b0a05b5b9 SHA512 f8c7eb7221bcd35b40d558e8707a62e6badb6090c99c4f1733ddb97699063ce41dcbaae5dd4c0bb41ecb25dd9fdc6590c70a2917bcbc5b1c4fbbc90f93ad4615 +DIST firefox-100.0-gd.xpi 528984 BLAKE2B 0b579a8147de2753aaef7a6cc741ed8f3f7b55c4d7426e4077d1018414b5b83fcf8de94606117e2356e01b4ab6a76b606db83d74840964f048e400868dfce643 SHA512 4fb28a6d64a3d72d2c2347900696663b311e31fc05072ddd9ff135becb9ffcb1ac94caeb63696a251028c675695dd1fe17ae2511b1f78ae4a9fd3300f14d8d05 +DIST firefox-100.0-gl.xpi 542249 BLAKE2B 8f4d96068a2153182cbd3db33452af93b0563fe73a23dfe7c6dd6f8be21e70e2565c31288e114eb760418df7353c5460645c344d7405ed70c34779d5bed75927 SHA512 df29d8e60e4fa0a9ba2f8fd98ae4970c070c45818cf77e961b4490e6e86349efae02f62a21a5460086b6a765b7081110726283f1c0dfad259da27fa469d2e534 +DIST firefox-100.0-gn.xpi 563265 BLAKE2B dc8b25cd8500c3ee9e90a2cba89641bf20f19c19a062368468116d3bb9cffb5f28e927fa105bedb1ae62d9246678b6ea765e37ec66551dd6f22b4eed89daf74c SHA512 7c14a4fdbcfd721901036bdc3fa226c48d4305c8f7c851932591abf0a39af1290c6e78202964fe736e2a23fe79d05d6ccb1f29ad7b4d051a8594c841b643fbde +DIST firefox-100.0-gu-IN.xpi 525537 BLAKE2B 460dd621f0e2f28dcb16b1e2c355fc4d75e4c2775bed6474c3befefdbfcf06d0fc902509a01c94738f33b0c243477ea55d97c996d79b733f9f5b632ec4e012c1 SHA512 7fb5dc80b162bbec6f90c39da0e464ae28f29fb94c084a09683d481e161225febbaa5c67c5084d80df90f0d03738d76009438e83ad4a17dd51e59b6e958e6582 +DIST firefox-100.0-he.xpi 561896 BLAKE2B af7c2fa448e29f7fa7f16f6047a0f65bdcc306b9d54fa31d7438d7265b0aaf40ddf25447d0f480419e4c051ebc63c8fa0e9f42479494fa40bf9604d6b9af9e6a SHA512 2f79b605243a7d9a988891e8fdb24b4e8d9f5bf0e355b35d2ccd7037756ebc6cf9f7736c77022719008a535bdbe7d1f6150e738c1f0c8a2e119a6b96d47d8b2d +DIST firefox-100.0-hi-IN.xpi 556335 BLAKE2B 05c937e34da03d00d92e9dc013b75e437df633a417389c6741c811aa1432c4d012829cdf8c28ebc30edd02228045ebcca5b7ddeb99317f5408d4900317255c1c SHA512 d633285dd480d8913d365c875e16b98b417bdd827e97edba176d86f35676f5821093a6b6a7a67096d4cb29e1930fa188f7bb7df8b11ebf5fa111db89e9d1d2c0 +DIST firefox-100.0-hr.xpi 530205 BLAKE2B 601f514da2e27d503a88d179b45d682278cb3a075dd5d16b5b085efde983128c1eb87b27e8dda590ea24709390c6e77d8e8a1e613dd15d61b6e84e0e4ea085ac SHA512 7a2290d9e7509684f2c5ba3f08a6e7e49301de3721d3e29899c1d7c29dd49a822556c686506bd90009555832823a097a4ee527121210e97b7691d79af863d25a +DIST firefox-100.0-hsb.xpi 567858 BLAKE2B 69e19bf61918492aaf6f091dac2de419722adb40517066309e07e7e78ddf858ea8e59bdf190ad30d877972fe4b5ad7535a891a63a49df2987bbfddb008f44dbf SHA512 8859d3aa9235e9f51e8b6e07b11166150ac9a31f36f127ada992766f8f730d1761bb516762506d7bffced68584e1e043eb6a6b6dd408e4ff406069152a028425 +DIST firefox-100.0-hu.xpi 571161 BLAKE2B 1a872e852584be7d55cebd19f12b17ffbcd72d8740a15b4a8af30fc16fb172936d73e5a3fca1fa21f92675402752f26d349df2fc29fb56a8d6b3e52746354b14 SHA512 a3c61eac82b44ea7a261a30e82c46559a15baff5aab5d02cb63a335238c5c0880ec22dd9e952335cc8081d528d3dc5c6c86d7c4337ac62cde81fe21f10ff3aba +DIST firefox-100.0-hy-AM.xpi 580138 BLAKE2B 1577ed5bd4434c674c602ed2458d944f89dfbc40a2eb5ac79cb10bcf587849031258fd063005ea90b8700edea3091dff2b1519a553acdc38182008819c7733ee SHA512 c5a805fe798939397c5727dca69b4112ecc21218307f5333275b3e144ff784bd85264a779d73e7bca46b1b8100ac2eb5dd71f5007525ebc61f68e6774862099f +DIST firefox-100.0-ia.xpi 537112 BLAKE2B c4f942bb79dfda4f2ebd2faba480ea5f9f4dfcb23bc7fc2c9219f51f0f2f49d9f200893f9785795aa3d7a2e002be740c681f95c596b5391ee8607cb6d9f47217 SHA512 46d8427096bc8e002e42977d5f00fd90a6b56dbe1059c0704744abcd3a0dddb571f8d2bd7c5af331fb8c42c3ac6fd33ead4bbef46150704e4eb677e4e8d924e7 +DIST firefox-100.0-id.xpi 533688 BLAKE2B 9846c9f64342c6cd9b7fd91646859d02387ca00d2dbb2308c167600652a0f18e4b80f7c9fc70295e5371faf3f54112c63f19e87c492463b3926a79f8caed57c6 SHA512 3b5f350f833d73010ae1dd7decc73b1c4262aac28c90a82478b7a93a368aa4149ed25d78f02fe2c1f25bda3de7a06468f87c6a50dd15ba1171930cf32599be70 +DIST firefox-100.0-is.xpi 540509 BLAKE2B 4739fd1d00e4fc479c757c9d20aa89d35f98f892591cd4504211169bb98cca38b463d3cb587d7e8090b1a035bb460ed28901a09b9e875e6417b579cee256d0e4 SHA512 06a5fc83219ba165bb39e15bb1abf0eca61cc374570bae32db141d2b63e49a1f816c3fdc5a472b26731bcd91fdabbf65a53b266d3d93ddeaa7bcbd65cb5abd27 +DIST firefox-100.0-it.xpi 464283 BLAKE2B 8b74c18bbd969556f907446c008d4dc04a65577d9f280a8a85614bd0d8033761c0aee284bb7ed1a7f1e054d343e35cc746cbe1a08216a92b949f43818540783c SHA512 2a61e5cec4f5abe10857f1634373aa85e12208e37b5581e9b71d61f8f53ee936b0bb5e538611046995348ddcc41f689f3fab9fccfaf8726a9f7d05ddeebc952a +DIST firefox-100.0-ja.xpi 593327 BLAKE2B 00a4a647bb84cbad92fef60f0cecab050b201f8ea0e383ca1e1d2ba370b74039817f95aa777fd8804326cdaf8f7900b2cb515401b202881e71fb8bd5d9f21954 SHA512 ec31ec41e8e84edbaf8d4aed3ec283252b9ed781a6e91937e5a4fee92bd03488b2a1982f459abe16d95d2742c684e663fc82ff8e54ee01844db85c7d5578a15a +DIST firefox-100.0-ka.xpi 596389 BLAKE2B f141998cc0babd4e2c1ed3c5be525c35e992d08e71af7051a51455d63c09c4acc593afcc2af0c6e1a6fd9cc2545914573ae7c79e2afcd0f51d904483e175070b SHA512 7d167bcbeff718c948b565de814890de76d0b39d302319a9f4f6c75955a216ac98e4ce9d1834cc99b30916c1e4be2f9af55e98def1a2857c2464f6ad006ee4df +DIST firefox-100.0-kab.xpi 556388 BLAKE2B 05c2483131fc9ebda5672ae07619c0a696fa79ed3b986712284ffc720e1f0004a588e09c90c93f09220be55cb84d82fcf3f609c7ec9e0f20546af8d0010539f5 SHA512 a27f73bedec56fa021b36ce02e312a8b376900d2c6ad83a2bafef9e6d0f2a98eeb459b8b1844b5b666ea52e5a2f943a28acf3d40592e95943929cdb7a71df59b +DIST firefox-100.0-kk.xpi 619239 BLAKE2B 33e1a4fa15560079cbd88f5c1c013d0f7cd4819f25ed8191ffdac0b8a3d3050d65ac85cb294e5969a330f0deb863670ba44ac658464fbbfba68fd98993dec746 SHA512 0e2d3f417038dfec89b74a868352fc460150bac1cb42ecfdf140eec09dc7760d43cd9fe637e6c224318addaf805baf902e8fcecfeff1a8562fa03ed22c5d3b0b +DIST firefox-100.0-km.xpi 525496 BLAKE2B 743298451ce750ab4f4c40a840849e284618367d5a6807179ff5eb487790784462ae039252efd9025eb8e4a7bd9a264399bb45aa17d0b705ffec1c7fd700314e SHA512 978a0eaae3fb66a34e63088e897977536143549a5af4b3519bd5ae71bc6848f279b4091fb6dfca9ce566ce93dd724f1566f75b7a45a241535e1b2f600eb55388 +DIST firefox-100.0-kn.xpi 491374 BLAKE2B 813f9228430c903c6cf2bad09f20e5e627dff063ab5f056378bb555b0dc292ef871debfa6bd319e650cb3667ce392b94ac56afb5f6c2d72aab0131e65245a12d SHA512 737fcdb7db76901bc7d82785e4895b0de0e010751c624cf366487aa1479ef679c741eec6757a9c9c2a5ef57ef710cdfa7b7d076f419958a2efc707e8998f7b8f +DIST firefox-100.0-ko.xpi 584519 BLAKE2B dba5a25440f936b5b9d829f1ac4840bc4b8e004cd6955a801bfc0196c1334a7c3d7450767614ac735061340b65ca12f332f1c26c39f74acd0d58af2c18907cb4 SHA512 1a193190a9832f083f1cd99a39376cbff70a891a85bceddd8ea8b6fc46a263c1125731934ff5055db042a2bf716a1003fe631ec75b3b3bc576a6b0d0228901f2 +DIST firefox-100.0-lij.xpi 466987 BLAKE2B 2d200187691b39c2b30d8959fcbe1d1f0a4a397a1602bf083fb0917c99da0dec8c551f86b98f2793a6ff8098f3e88a045ce919dd013594c2ab1d13b763cb2270 SHA512 cdb6e50f3e79179e05649072b3883f003f8bc47cdbbd89ece73d2aa5bb0d7ae64e0a80d396ebe0fe2af66e305685e7e8496d3701f80c0ad75a799c018e205918 +DIST firefox-100.0-lt.xpi 560142 BLAKE2B 0edbc1d0de5820351aab2e301bbe63806da9fbc7dadc5a805d533b1557befa200c7b065ef821b0bf9c296aec5bc6a581792313394fc5286d5e43bb5f33ed29fc SHA512 be40fecd9f6f69653e3ae2d72f949be6bfd0bcac87c2ffe4924715273d59ba419364111e8f7b18c6567178b2d2190cdcc928028c816307c31837f7c60b205927 +DIST firefox-100.0-lv.xpi 459192 BLAKE2B 85cc891cf90b21a109e1e00d453b3f03d770f3bef9176e7ca7b5345616bef6808d1eefaccbd20122c6869da988e76699db868ab44566c48fb574fd52ea1a1cc2 SHA512 ac93ca577072dacf28ae7d24284a0048201daf9637e3afaa4804e89c5fbec05c7503aa3376fb1a18285b176cb8830bcc57e0b863bde79e06250c2f821b00938b +DIST firefox-100.0-mk.xpi 468292 BLAKE2B 76ea89fffd80b24b3ccdc24dde4f5f89ba78ffa3a00d210e270ce32f707c7871fd186e3a992b786450ea503849454b3d2b0898819f6a7252ebd6db250097f888 SHA512 7da54a68bbea90114008b74ff4fb251ca5ba495568574cd8e63402258a687310ad46561715a09e1a8b55481bb3648e2f8956fd82cedf0aaf54639bc0dbdbf48c +DIST firefox-100.0-mr.xpi 528155 BLAKE2B eec04374cc9179eaaab52250f0594aec41354c9a0a072b5b13212003b4604e45f81b3d0d91c761b97e0a8f84b6a78c84ef0c4785c3c3e378678bedfaece6d30b SHA512 699748ec01d494e63566caf55b481387b6e1ec3662db5c7e8c804bcac5f21fdbb4b4962ba4bd200f83e04854cd13d1a57029c18e89c34562096c2514b10c09ff +DIST firefox-100.0-ms.xpi 444154 BLAKE2B de3e2b1cc9d0089cf92bb66120231786858898e0bddcffca930d2acae1b9fd7e2a010a7cfa931b386a678f4ad50a7730ea9bd2151d9202bcc85a2d89c621fe7c SHA512 03e91cd8b4d89d8b79f938be0ed3fca3ee656ea8b0f723028a737c1ee5e8db507b526bbfa1cbb9dbac9c8c130831e6fe72bc4f09e656037cec95f2b358844b29 +DIST firefox-100.0-my.xpi 507353 BLAKE2B 12207baf0ac2241591c5ba843a1d35b7edeb80cc035238d52cf90dddffc856c0396424b0671915dd08f9fd6be322550e027520da5c1bcad61122ef01df74ecbf SHA512 c45402e3486a438cdea1f48b79d1f569edcf10554da0fff12f49a9ec8220767ccbb28444eeba237899ae5a6cf3ee29257c00093fcf6b44d3f88f6f7a22fe0daa +DIST firefox-100.0-nb-NO.xpi 533774 BLAKE2B a34a394e75c7afa85ace6d73ac0531a88d1ff150052fb6198de4295b68a5e5c82498e8c3692afbc558d180b0d47901241e630c8b8d70e8ec86c4a1cfbe76450c SHA512 0c9c87cb189b5f24c4ebf60543df0fbc57f25293ec20de114306946cb4fd55268c334929a3713a26765d502ee5c4dcea5d45f88d4ae2c0ac92963022a8bde7b8 +DIST firefox-100.0-ne-NP.xpi 482563 BLAKE2B 320ac0d6c4853cf8f2167fb49d8fbe877e16f938caef116b3c1d60860b54820ee822e6249c4785b9740000455850949f54efdf9afcfcca8d57d3d656d2eea7d7 SHA512 be6f9da98f5760562ec301571843ec8e45ed4f1eb9ef5c4c56e7e2c0a9ae3dbb1964fc1927bc38bbb408b0f1e1830ec764fec9f13941b79cd940cfaf66f10a02 +DIST firefox-100.0-nl.xpi 542303 BLAKE2B 1d291d93790e41b8c477fd4dcbff7d20ca62c100e4d6e2ecc4e9797788d5e409903ed79d54c05654e96b1698a13359fb959759dea90c2df5be3e2b2e48169d40 SHA512 fa6eaec795c58df8b2953bcc1a1c4fd6729871ccbe9d0350dc4c2502cb50d705d8082a900fbb710be70144d6458006fb99edfe055ce7912df3366cfe87b60662 +DIST firefox-100.0-nn-NO.xpi 536149 BLAKE2B a97a81cbd5c59d91b58860e2a0c3d505628e65be21629a346b41ce83652c7ead65b124c31fa7862a4567bbad74f8eaca6ba0519d10452a2ffca4f3dc6dff5dc5 SHA512 4c85500ca8151f05f6042d173f4c85545d93992f36e888c4620da82302f6903c39b15d64aef34e939d83ff26aac25e734da558875b9e7050592a4b26e02af277 +DIST firefox-100.0-oc.xpi 556893 BLAKE2B 81939644afefe4c2900b06565ff0eff8ae8eb179da7508c2edb608ea11ae4b8c540f94f13012ec4a3cfbf3e5128a544c16c7ea02b1516414d388882d2b146cc9 SHA512 29990f7e2faae9759eb230bc805d1084f5107813ac71d93aac7186fd5cda29095b2761a0319792b6c3fdb6714c44a53e80fb73918d830c771ec8dd14c8197b8e +DIST firefox-100.0-pa-IN.xpi 600276 BLAKE2B 683051787ddf3b54d9f8e23903c2154096c1b1ca2161f392352086817225db5acb87a2d1ebf2efcfedbfb3c73fb71c77430a1ec2147a0b93f5fa290a482016a9 SHA512 88e16d3402961bd4673a16e66702e6a6a09c5fdbcec6e915020c575c9b717a3de333cab8eb03878a824befd6cf70aef10c773dfc361a06dc6a919c15ce56268c +DIST firefox-100.0-pl.xpi 562524 BLAKE2B b2da4fe2137175c0b18437256e1be9e5e45365b50d03f33f0e725a12dc4412c3268cef3927b9ec96326d970951cd82e418199aaf2067db9c489ef40eeeb49c9d SHA512 7d927beb70872050f905c09ed2b9ec70147b38248404d3101121bc5340b40a2cb49f7a0d4b3470a812a062628f92b0b6bfabe35cec8182a8fcbc500779a8c8f5 +DIST firefox-100.0-pt-BR.xpi 547573 BLAKE2B 9325ce7901214bfe872e92917346495282a4d80b837025dc50f32fcf3c7d2c8c9130bc222f60b01c2e25580efb1b1a68db2473a2448d62cc8e49b86711f29c46 SHA512 117e58296cc1294e25c1f1a414fb277f5f3a1ce688de7079a4bf7d30b4be026f1243a17085ee653c4d2dea689b32c5dfbce47b4eafe7e5b63e462a86a0c90289 +DIST firefox-100.0-pt-PT.xpi 551062 BLAKE2B cac57eba1fc66f8530dc922850c6dab6c0204f107c00da23ae867d9a26042dd0f9f51947aaaf1aa5e5a3747b2db3af0d8b2efa59716da63c5825f5eb532179dd SHA512 c72548abd4dde8c9dfd4df77d135c037d85a146b5dbd33b7bd4ca9e42cfb2cded5e428c3d466ed59c0309b59be333e0307abbb361f5f4876e8c0305a5a07648d +DIST firefox-100.0-rm.xpi 541902 BLAKE2B ec70fee31e1d553eb5719a56a7b1a0714454fa2868187225c4a4be5394edc3dc960ae960484913fd2eb2c244d0d92b4feddea0e6a99bcdd0828a09d692f53c3b SHA512 8955138c2de27f20936f6a6e868b442702792eb5d0fefda1964826734b3b7727cdf8504d74252445179e9e06d4af1e2b8425c01b2dadc5f9d88a449ec109c1e3 +DIST firefox-100.0-ro.xpi 528000 BLAKE2B 63207ed81a28332c8f3144c142e61ae968b20f696bae7f43d05c62ff64f723b7282c0ee66e1e849fdfbf7e091f6dcd7e1bab0edeec12e997d756a68b95c08197 SHA512 f972ac411443c2b7b5f51a3965cc3172adddf6fc4c251ae933c4354d6320aa1d2b43c30d5e0935a5b8d520794fb989e39b681e0fd2c13b11b664f16b069af187 +DIST firefox-100.0-ru.xpi 633342 BLAKE2B 72a7043f83bfbc0485340c7ee50d79c4bf3f91be94018ef4b9d61ff9847dd4deaa045394d979b8264d25096aaaeb00aa293c91650ac1c1db38346b50783317eb SHA512 afd9d8ec466e29f8a5e440fbb011393424319585719434535013d90322816f441bdaa8ca9706b85c8757bd16461ad1055ae555b7209f0c92aa7ca685b768ac9e +DIST firefox-100.0-sco.xpi 500184 BLAKE2B 634c95a01a766bc786f25cdf5957ffab8b09279dbc523f450afc712083e9468ba08b66bc0b4e8a3e3184a3bb0cad3ab9f8903b49914df7081f1cdd337274b439 SHA512 cb04dea130946a9b072813714f9aab0bd542ec52296a129f497c9b1778bb5781da53fb4f6cc228dac4205d4f9b3da4953c7db0f898b013183d2d59a36824daa0 +DIST firefox-100.0-si.xpi 480906 BLAKE2B b7d8fc68cdc9a106dc9e1c217af3e1997a7d67f60880ebd92bdcccfb41f3a95b2426ec549a83c913dd87ea10134bacb7309bd17350ea425326e96f0668402a00 SHA512 c53548edca6b46707e3653863125731a616d3bbedbc02915c4f49306d737c9dae5f008a40e1759c383e664ea991c5da8a719201545d4ff362d4dea731fa45f09 +DIST firefox-100.0-sk.xpi 571980 BLAKE2B 33e03eca7f545148967671eea16ec863b46f430755a258f98b3fd25124e43e212da379b1ec52f8ae2daa7c1d25b852bfd9e818076d346df2c4cebc113fcb0e4f SHA512 177b02195968228bd3567de47bba145d5206a158dadcf4c151c1438b4cadedd2e9b6b569ac724ea4b98b2f54a642629588df0ae8e737831050e2a98fd0c7484d +DIST firefox-100.0-sl.xpi 543730 BLAKE2B 7bb736bd256018cc4a88d681984f762e3600946be5cf939d1f47752c46435566150e61d0d8199a2fd995b42348c089c676928ab348e11d0168419586a7836dee SHA512 f2011198bde31bc644d5c780cd402164a3c6cb897e8c897adb4328a25c5c84078204c4794fbdd40fd9f28c016fc5fdda33586582ad063eef90ae8b86ee5b535d +DIST firefox-100.0-son.xpi 417301 BLAKE2B 64fc6f27cc774582ee4b219cef53cf7d7311ebcc7358c446d3006a36d2e091e63b218e44af18eca425f31e367618056181c79bcd4ef9e7501d21dac1c848a5aa SHA512 361549aaee1d50650ba451336f15ad74ad83dc2f2dbe9bfe6d4ff2dcbc9e1b4ee926b1607a7f0f36a424956940039e441b5c0ff6a96ea01e8a8415cf1c978567 +DIST firefox-100.0-sq.xpi 560514 BLAKE2B 646e3fd5b69cd35732c2c1bd9193d7a69a7cef30e6d235f88e928d0d5203cafcbc2ecdf65f6a9b92b86781ae20a66d09b9c0a7c292141e67d3dc92e4cc136bd1 SHA512 493509ed1811ddc0026ea9950bdb49bc95dd749761c5c63c1b996694af31ede095686868340efd6fcd3ef2fbfe4fc3ce68bac386e8558133b3fc94fbb66e52bd +DIST firefox-100.0-sr.xpi 585620 BLAKE2B b69959dd87eaad8720ec6cdabd544974e1567e6a845403700df9c983592902b84107202f0a143cdc51144088332716d9e0de58c5302352b6c569ff1ea31fb520 SHA512 e2695dc5705b0c4f3d7897870fbe6cd3ac43108450be2ef0b4cf03707ad88af539b103dcda05cbc6217e3f39a12350d24c5d32845cbd94b047269dab24a80ab0 +DIST firefox-100.0-sv-SE.xpi 544804 BLAKE2B d84dbe16ce2dd215dc58b40a387def80789135907fd027f6126e61253468ee1db2c1bd6a6fad093925122f0e6cbbae7165de8ba85ac8b2eeaccb995c16e3861e SHA512 53e5c085bd60b1184665fa8bf75144fc2bdd892f4e3acec699dd5266d53a2a94ab53606c3083e1306429e6d9a883dfb953ee82a92f36ac3606b048e84438c8a5 +DIST firefox-100.0-szl.xpi 503463 BLAKE2B da737c7bb20459857281033fdb1688d369666b5831d4da038a964b676047fa56a22e8ebe605f9f2f83a6ffbf3436e676c67479741e2dc51e8071a7c8ed0f7f91 SHA512 3c4c26ff1651ee98f1714966349a8b2a0dcccf0ea89b8a3b81763e1e84d60f0ba37855f26619324637acfeca0f7c866e2584ba93acf9a21602fb825061278060 +DIST firefox-100.0-ta.xpi 508207 BLAKE2B 230c7c70ce2df9fe11e4f3128d822b8e36f3155b247ec820bb7eb3f56b70ecc4a85c16cfdaf21785ef27ff48e4d6d0c880ebbda727e207d48a68743e0706877e SHA512 1098241ade5b7555cafc8dd5e8fd46e0fbab1e63baeed7033449fbcb88c428d3f6a0d4e336c60ac2c6620e8ed21a63c69269c0cb7942a6b57478a99eab593448 +DIST firefox-100.0-te.xpi 546711 BLAKE2B fde724a074af4a5945ab46cab2ea584c55ff323a9fc631847e163c4b45d9a209e1a8605bbd32a920319d4653bad35d350e98876ff80d59cd97b1c188cf10da6f SHA512 0ff5d8e1ba1b661b03d5028550c25c60458ff2d0d0e1e2c97a9eb55ca9152aee2705f9fa48081bdc507e6b3d9caddff7cf7a1700925761a13c01f5068fda1ca8 +DIST firefox-100.0-th.xpi 610742 BLAKE2B b2e4efad8af458302fd229469d9abceedfadd3c1a3357124c59901b685ab89027569e9271203dc8b0ebbf5721022f647c02649a88a3bf5220b765fc567e5a9ee SHA512 cbd162e297989abe2d6da802cb1e60d67704949bebfe16785dda5e567952579f7ed833bb30dfe2081842beecac00d921972481dd893960e352affc489e45ecc4 +DIST firefox-100.0-tl.xpi 518035 BLAKE2B f08e079756835f918dbdfe758589b7b187ab92ce17bd9ddbfdde976bf7d323ad1f97dd795a50f9b4cf8abdf73aa3e88f186dedd29d3ae4a3e01e9fee01861c20 SHA512 ebc0d2ef6aabb423a348692b019dab446e4b302bd511520343831d80c6a76031a0cd866ad65c9254d1ebda7ba1262f842ad2e3380670aee2f9c84ba8b6a85c36 +DIST firefox-100.0-tr.xpi 558389 BLAKE2B f642500b2e5730762eaf50d350a93fb44463e9f2ab79858e1b1bcae9e646194ba1856496d7de077036dc15919de96fe2779188d93a5a910b0fcd0cfb26f578b5 SHA512 98370ebfc6e893a2a392b24bd63951b2f528d224bb93829a5536d6113200a147d0a2bddd5e45ae8b4ef0e596db6b6521c5ddeb34eb4e43ee4ab3c8c17b0d654b +DIST firefox-100.0-trs.xpi 486846 BLAKE2B 31418b590c60f83a676f8a4e22c54cf6c13664b6a3b009fcc08844345f73ad92f117b8ef63fe4e29a1b5c6e23cd46a96fe9155e41e7d9dcfc105a443203d3db9 SHA512 10d5ca6203f16569785ab57ac174caeb6af3502460faf709e5a570f60ffdebfc004d0999bfe256302abfc5601057cc43dcdffc4c08eec151d56d9c1e0643ed4d +DIST firefox-100.0-uk.xpi 627006 BLAKE2B ee7d840b610a54b7b1396299ef29361f34dfb705d1398ca014de88b1eee6b7dcb98befeea3de26c3157e326d47cb18eef5104ebf59455ce40ae197de3fbb8500 SHA512 f994269dbd221c20ba1f8c35f3befcac40549c00fdcf689c2f51899db39ce98565b06b7c7e182f699053c459b05c8f4d7e2557abffd9912e4a4a78f03a16692a +DIST firefox-100.0-ur.xpi 556888 BLAKE2B 10b254e7602dc97f50c5f684beda9aff07fa37ec68fccb20edb9ff81749e4d9ddaec48de54749aa0789e1a419b88a8e6d0aee89c24ec0ef4d5dd01e175d54b5c SHA512 8f82357d4ec869aca4e830850b0f6341365941a75f822f75aa0cf908837bec23dfc8560774d3d77d2a1a16a336f6a55f66c13d70ccdfac8826976d116802607b +DIST firefox-100.0-uz.xpi 473713 BLAKE2B 0ef11ededef92bf4318056b5a5810ae1b879d4b0d351e1d5511c78f44b6f21d1666a91bcd43a8ff425694c3e14f1dd117f1ac3137bfebeb942403f12856f3df2 SHA512 73c845d8d1f786735842b8461645b323ebcce7a93e66b69a26dd9b092c6b734f9d1277a2701c45a10e3faed31f77ca68805c25de7052d82253ec2a2711ddfcb7 +DIST firefox-100.0-vi.xpi 578677 BLAKE2B 664bdc925b884ba6b15fc8c0f1f3eb8d94ef8b0424d40a8d4d172fa574e8a318634fa62b114c0c696ff9146e0f41f843d20fdd30ec25df8fd16bb68c4f884222 SHA512 760cfc847137ca7d93e2fcac72bea0d7eb4dbfb99ed8a36fef00ea5452d8d7f6e28885e980151defec06f8a8beccb49ba86de7283b6f3d4791043ed1a21da4a1 +DIST firefox-100.0-xh.xpi 419487 BLAKE2B 275284e39d91b8b636f37d22fcafa49d3038e3d7455c420660267b3feaf52f0c0fce335ec127a479a78e2fe6215cb59f682f1cf2d50b10dd9059f64c86f1a8c2 SHA512 df1b85b4b938670cdf6c6fc9e10df2315618ab4de95a0e4362ee0ee060b52ea8e24bfae7f2cff56787e0b206a966c8c8eb02637f6205a11de3a42184eea8e4e0 +DIST firefox-100.0-zh-CN.xpi 580538 BLAKE2B 734b191a32cea0e7e70c52c5dcbc6be38535321698dc4be6c2c7e5fe31aaa3e1e0abec07636f3033b3710e4064570a41689413460831bcf88dfc5a309bdfaf2e SHA512 f94787e44614dea3cef9230f7811aadee01b5312cc4a24cbeffc1b20c61dbf914b0b3ad33f3dc5f245ec891bf2c134ca22c9a4d23ec5529e2a20a0c873aa5026 +DIST firefox-100.0-zh-TW.xpi 581629 BLAKE2B 4de41a914983af7ee59e7fd2d3ad53770d9ecea2c496785cdaa24f20b0bf1b786e725e3c4ef1fddc5bc2a2b07d85e2fb22771ef9608dbd64be98afe3ad7edab6 SHA512 b90f5fea05243612b327180a0ce13211464acd4dc02377a11386d0a1075aa9ec2265a511c0471193d9cf9dc8c3e1afb82d4908bddbb1d665511d84eae697b8a1 +DIST firefox-100.0.source.tar.xz 487179576 BLAKE2B b8a46dce6d15d11476aa24fbc87a9df562fcd613594193ad053367facff9663b7ad0dd79720e7437383b7212869213d275ae12755a91ae22633f03f78db3a601 SHA512 29c56391c980209ff94c02a9aba18fe27bea188bdcbcf7fe0c0f27f61e823f4507a3ec343b27cb5285cf3901843e9cc4aca8e568beb623c4b69b7282e662b2aa DIST firefox-91.8.0esr-ach.xpi 453230 BLAKE2B 1fdc80d15961c175e220f08da45e7d020815deb74a9bb1ee4d64e91f57ca8aace009af1f908f0e9a9d33abd790801404436bbaf859cbc7a5711972a09c2583b6 SHA512 d7b2a3f5e2901e1cfd6970a1a57f2c5730c262e0e87b8e969122864e2c053ece36bb0c3b1ce550f227caf9196ee628fb079af71155dcb09d7946ab41f78318d3 DIST firefox-91.8.0esr-af.xpi 426924 BLAKE2B 8b456a253fbca60931ef7357307721656423869726df147df8a0ba687fae9eea70576f9cf92a6b2ba700ff5b7d2a0cbc3472781248813e58a17a7acd5f20735c SHA512 23454f657059a95318c0cdfbea3da7bff5e87c97a2e6bb7bd7cf58517e8e7d2d1657cddc48ebf8351827e68e79fb797c1428ffab2c4afe73b4b249bbd2115131 DIST firefox-91.8.0esr-an.xpi 499890 BLAKE2B 66b739ef571b483739573b37eb7d5f10efa158a26633dad70e61719ce4447a7817758f175e57f8fc4d5a7461b18acce5f41230d33da5e6c45d280adaa467c752 SHA512 c63ee6f7b31387f6b8dee901ca07896ccd4664a3193c357f9f1e9b46e5673e93c23b5dbc3c264211845be929e9e6b80e702c3f38967b94011157dee947760237 @@ -105,6 +204,104 @@ DIST firefox-91.8.0esr-xh.xpi 428174 BLAKE2B 5b8783a6d95f54b6661f1498a5829de69dc DIST firefox-91.8.0esr-zh-CN.xpi 575374 BLAKE2B cc5798a6e5c143bc5a58dff2ceab883c2635461b31a7785b031e4254da2b13fd2d6c095a1da54025443dcabb2ec6ecf661800fc1ab410195dd3be57430a821b1 SHA512 2056f9543a0692246b47a32d5d030734dceb9d8d109c94a7960a1f367ff3ee85ccf73d839492a57abf286f09a7e5bb43cb1d50a8be990b1a7e8b1fc1802a626a DIST firefox-91.8.0esr-zh-TW.xpi 576235 BLAKE2B 83c9bdb83050a7957891571f49b8baba78eddca780f9362fc86f761b61f6840b14395941214391438f4db4e9a07689c486baf2c32ff3d249bad9e35f8bc22cf4 SHA512 efac8090ffd8d5661df24a0d5f6726b5c15969dd349a28ab716e7ae059daf62605dde41df13b4c253c2b2bec5201554b4e06b490d9066188ad9d65b42548ab15 DIST firefox-91.8.0esr.source.tar.xz 380325092 BLAKE2B 9bc470d0e8c65517d67f4075be2aece6e82af7dc89c40018359d3dd53d45d67424db8ed4614dd3dde430e08ec6ffff29f4ecc81e1990e05abd05804c6a2b5891 SHA512 edea2c7d4d3d0322091b20b623019ef041090d9f89f33c8e3140f66a54624261f278257393db70d2038154de8ee02da0bee6ecf85c281f3558338da71fc173c3 +DIST firefox-91.9.0esr-ach.xpi 453213 BLAKE2B 6ad8fb45ebed65b82ca407ca81e1a32cfae6da2dc93b7c06746f47829b4434a7fa41db3e8b0b307cc65e141485b3164595bed8df12b9ececaf86c251514203db SHA512 6886cbfcaf422a853811f56077a6b29c432bfa34fdc3768e62dde52d477ce99dedda2aba542e2813343b547b350b8d39d32784e496f8d18a02f9fa0954fcc470 +DIST firefox-91.9.0esr-af.xpi 426927 BLAKE2B 5375b04882b53a6ce1828a01a565d49ba02ceb076b89b8a64ff93f07573ebf3594db7ecae373b550496532a61ad2b4bcf62d2854278b517641c8b052cf8c8009 SHA512 7c374825faa131baa771bc4aa836656b1e456dd862db0d9fb52f13206c43f1162de30a0192ca023f0dc1ed98ad351a921917a6ad56ebffa4cfa3643b8210a478 +DIST firefox-91.9.0esr-an.xpi 499888 BLAKE2B f16f44afb6ae2d766a56e5eaa632c07616f0a4c6160625ac2013a0db8180fd8f83cf99d6291cf9d1458326b0dc155a992293682c05d790677f851f5a7d6fb910 SHA512 39069d165df48dea9047dc25dbc2ef8fd2f31249b487638f0769680da4d0a3841fa9bedfc23cdb7f4d563408914c052f388825f331b3a5104169bd79a1c49691 +DIST firefox-91.9.0esr-ar.xpi 559666 BLAKE2B b9eb161c72e91e7f5a6b74287a2462c4229b239543725654d89d83db78660549d3897e1c08f352cb1335e3d46878b3bfbb94f352f9b9358609cff9d767b751c6 SHA512 3d90b7d4f3801e0a688e1348f00012ab7112fd401a66fc2463d9b276657061d99a940ce65168232c82e3fb123849e455610f9ea2bb10740de8208df2f8a16ba2 +DIST firefox-91.9.0esr-ast.xpi 498577 BLAKE2B f63a1e323227313af4453e05feba571fe63d4390c7cf5c03052e6417545c443c06cf35690116d9ca301aa9a903769ca37f8147ecd643b099e56aed6c5f99e425 SHA512 3b63099c5868d483e533608c332247b3522308c49967e0618fe1cf618fbe986d908ce401bc16d66fb7566290f902cead6613369ce00d14ba7ec6f11737aab161 +DIST firefox-91.9.0esr-az.xpi 489426 BLAKE2B dce6d17075a1a7203a331377e7dbcc04f484c137d655b3145323019563e8b8dc5100d494268e6149e97875ee0a2faa9c0fe30f3108d1e53f0a4614e6dada8fe0 SHA512 85945e0692a212e1cbb92ba1a8510782362b8626d5e99cc7b61980e22235739ea956330d49fed519317688100209640920eefee974a4161d53f19a0c042ef8b2 +DIST firefox-91.9.0esr-be.xpi 622606 BLAKE2B 8518aeda6bc5aca132bae5fa5a8bd3543eb2bd7e5e0c2729167a63c2c01bde74e790ec1e50ec15ad3fa6ce41ca84ef912b9acbe3e2a2c24e82cb3ee6c3ebccea SHA512 de443a0824a345f38c81f38b98c9d2bbbc801e26f0ff0f3ecdd6849cd56d13931141462f116db3f2353a1f90053495712600b96a383a612bb275eed986027455 +DIST firefox-91.9.0esr-bg.xpi 567644 BLAKE2B daa34875f4cc607fa568c5228e9673f6b22a6ee21d98aac08270d41dbcbb20d2b8f8cab1cbfa66ef2adbf501fa7ba7113e24f45cbc0c47f1fd9341b9386500b9 SHA512 1284a7c93fff2767d302b39ac5953b8c0a43270b812e19f86692cee0e60ff6e76f3f74627283ad84cf4ab4b3d1d027947e488a7dd6564faad382e7a96775c27e +DIST firefox-91.9.0esr-bn.xpi 556824 BLAKE2B 9d07e8e9edcaf21e065c5ec3975486b72825d011294c426dc19f8746e4fdc977a06f14fb549f2f2978c94f1e34839722db8bdc5ed7c1b0468d5147f56351104e SHA512 134fffc2bebdf10871662e5b3fabbc19fa876e089a2fc5fa1d6969489430abc9e43ff8889311bba1f882b1ae884305c5df764a45b0a3bc90d232201f6e6d3baa +DIST firefox-91.9.0esr-br.xpi 526254 BLAKE2B 5a72f1153b7abe5455d87cca081dd5667b502863cb972498802452a03388e596f6629db8f745068fd0da6792a7c4ec3f73a8ced52a1da98949394f7ad77383fb SHA512 df02b6e2468b3bbeadab76959b41ab90946fbd67a0c85337e2a7d90f6e2039faf898f065e2f8098df2882fcb259fb28614da435aba63610036b4e66c6d43a343 +DIST firefox-91.9.0esr-bs.xpi 463551 BLAKE2B b601dedf41e4f5a2c0f4be9e9ecab0d6b5cd4d48339b24cf38c737e6f6723a9dcb46ad92d5fb52568cce902e61a018f3e9dc203cd88d87282794551e85c5d8f1 SHA512 48423a302cfdcae7908533f3ab72d54eaad61b82018d1989e17d1b468a5f1813a63ce39ba5f293cc9e88e17716d06833eb15464f69d7dcb210c8b88f76d2358a +DIST firefox-91.9.0esr-ca-valencia.xpi 529394 BLAKE2B 9e490a12d0c4c0cdeef00ec77fa8c60afa21cce72f117004889682671ac763b6efe76948dae7ae1927fef632d6195aa68b8953efc7cb04c71046cf0771745b69 SHA512 8ad48e0b17978fa5a1d41550dfb6a835ae1de0add646a791970e400ebb8ba43c7ebd73c7eca328592bbcb4602d62885e3359734a77c7d018558e2a37470d4697 +DIST firefox-91.9.0esr-ca.xpi 532479 BLAKE2B a4952618e69a515ef607efeb4eb6abb8926be101290b7a347bbf3bf86f388ca1f6cd7bd79f9ec2ebfbd5bf75dae088dbadad4a4cf645ee8a93b56fa15c0b17d0 SHA512 7c2f82365c95f95f426edd3a27454d3359a8b88a9bd2226904faec52b6fe2327c82034b59a0f97de7b3097fa4ef5983602d4a92e72cea85185067e03b7da9422 +DIST firefox-91.9.0esr-cak.xpi 552605 BLAKE2B 7b3973f5fca49f92a3d466ecea0401e594b741a60ae1cb16074a27bed5ddaba1c6452bec6411779b309e0d894b06c3e1fb5a88b5e383bcf71446f82cad97176d SHA512 782e6440e61d18252a50257f6e1b620a8f625b8c9476d3b3d73680a5bcad5ca8820cc78d36e9c04f67e5a14b95c009c4dcb29266c9471410ca1e655f677e7126 +DIST firefox-91.9.0esr-cs.xpi 563169 BLAKE2B 13a99716b3f213febbd63b9e0e8430cfe584777a12b34a05f25446489d60f901e8fd54b52b13cbd1e74f0b8b0080467ad2db08de5b6f3b73f930f3b33684cb08 SHA512 7f5388884709cbb660232a313025ec0c3dc49d2886149302e371efbc945622eafe99b6e0531ed96821b6295baa5de6c5dfdf296cd0fa49b00d5a47d8fcfb5d86 +DIST firefox-91.9.0esr-cy.xpi 542215 BLAKE2B 2bb8c593ece692d07b5ecf9ec0ca593b5e4c3a192f8b695b167f989ecf1da68bc6e61ac54adeccab01c1a6ddf9bffafa99b5ff5dee144d8e0916ea7da1956e23 SHA512 799861607fa3586542594d7690acfa30eb671f803f9b88b3113c6d282bb3934a00ab67d570024778ddf538fd01da9074f68ff0eb91af5afeff7d65a8cb90b8aa +DIST firefox-91.9.0esr-da.xpi 534159 BLAKE2B 6532a8a775257b1eac65861b42cfc2bae9d59cbc8e64dad3e147f0c9f598173408dde66eb41c6eaab400572e32297851bfd360825275c4a4ddd486a2a26e5784 SHA512 79100cb5d174e2c6ea9d030c48e8d7ce916d8f48c6900b4dbfc9843ca7fac8b2ae274c8a2f41ef19fe211cc962f3220b6acbc2d02690c7a46fe35187fc9c16f8 +DIST firefox-91.9.0esr-de.xpi 553583 BLAKE2B e371aa6a92796088080ba3ced85e67e917995c9f502067e46acc6d7b11b8be95228942b82e7e41e678095308415f5e79a0522d245d33b0345ec110a2ffd53de4 SHA512 712937007cb5933c0d7c019486cc63b31e90b6c18c7c9d5e137df5eab9ab4c25aeab704b7fed964373a5bdc8b1522db5fcde76b42a5777df33e0b0860f489214 +DIST firefox-91.9.0esr-dsb.xpi 566486 BLAKE2B 474979f95e2dabc445076246c94515cadb486944e3e8bc8e1998a31e2a3f711c93e6e565785f7cd7b826d58ed613df380d7b062bc4babfebcb3660a612643aac SHA512 a6bcdca3e4186b3d1d4f04e40fc5b121345c347cb75571ffddf2674584dcaed85d18c783801253d0c72f9a9d172c56de8d4d55ce642e95d6ee229003b18c56b3 +DIST firefox-91.9.0esr-el.xpi 639146 BLAKE2B 42a6de51fe4bee9a275154ec80824196d77fec3bd57537c229f864b61e75e63094b52d9690c72e66903aa8ce9e0462390718e4979081187bd7bdf64183ae5d39 SHA512 d64604fbed8bb89459ac67d81b65ede139f5e1e6f75118eeb62c48ebe79fdca5cb92d4039f0c2535e9504a4b4307beecb9e5160dce55d0830fe261cecdd04785 +DIST firefox-91.9.0esr-en-CA.xpi 509562 BLAKE2B 3c26338ef91200a71450cfad719a75bb4ab1aa226daddc4cda6c899605341f0e97736a00557dcf20906f2d118a9d28fd76ce08ab4b557494832048070b2dea1f SHA512 511b2ed01269869e7c263f8d9357e5f0c3773fd1cab0217472c44dd32446d94bfe1cc220e433c29bfefeee83d305e646c930326bf77612cb5e04e43de4795745 +DIST firefox-91.9.0esr-en-GB.xpi 510591 BLAKE2B ded3879d8ac55f3925802903faa182b95d10a272d8ffa15b54ecc4462704cb88b602db4719aa4cfb3defc632e592f36a2cab7c2d68d3c108c05f9c4dcb0b649f SHA512 a36fc58560607119c989cef29ba21f6d370cd958a341f0feee3984a69e6180f7b63af1df00f9003dbc731db02ddd99d80f9ae545eb182da28563ce4ac49f576d +DIST firefox-91.9.0esr-eo.xpi 534793 BLAKE2B 5040d22b259006355ab7278691bbc1951cef114e37dc2dfeb6bc0da9c439e22ef559745feaae9d5c291fdf8aab98bfcc9c7da79a32cc77aa65f4bc7c30c23ba2 SHA512 2b9689c52b431ea21a73dbeb5227b934363ba80f56d5335a05fe85b94a8beb4f73c2c7ca8f0d89fce7f4b384acf10d72c0a1b0a221fcaa986e5c61b51353c1e2 +DIST firefox-91.9.0esr-es-AR.xpi 546677 BLAKE2B 86e4dcef0df1d429019f0ff0c00c4a398dcbe0b23e4a62a2d39684c369044f6a3ad340f7ad0305081fa3d24047a64cf8b53468e0b65987947a0968c00b00b331 SHA512 9261dda6cabe7b51e0e29d41f631ea2eb8600681b12791f3e4a1793938c0a18c6fda4c12297ff8d274eaf9865bf0c65e3d187aad64b833baeda839d1d6a07813 +DIST firefox-91.9.0esr-es-CL.xpi 546380 BLAKE2B c5d1bdbe07e828ad50328ac5d7e9c1397edf072e9ae63a438b742b1a416e2bd068ee9b2e15e70f1a1dda1d65d98a03498c45b6f8b13b8d8de102011a3d081f12 SHA512 4e6ab6bdc68e44fb4224d85e8bc395c473fa9d30bc4e1bb3612ed31f2ea59838760720ad4d1345b1a4cc66f931f199be4aeb5d364e1f8c1ea2cbaadb123a6fb0 +DIST firefox-91.9.0esr-es-ES.xpi 537068 BLAKE2B ee2ec531ed515f280745b6fe1f026c14691c17b323b9edd958a5ef0428fa21ffebeb9557e912863cacae7d7781ac50fc96b29db801a355085e0e5274a898c824 SHA512 b33d90f20497babdbb288aa4a048b9b4f49ab6686c64e39d81a63875438a961b97a242a6c09ea7a1a669246147dd2d123ae45c4d1396a2c0dc89e39a346ce8ca +DIST firefox-91.9.0esr-es-MX.xpi 549996 BLAKE2B 4094a0af0996f7a2b30201074fb239af15e76d063bfaab6524b2b97dd8ef5d4c907279a9c56ba96c75fbb4b8eb72521fdffe538dc1bdae1ab6384b3a5644a172 SHA512 a8cb6a3ad72097092d42b376cc43305e0ca1f371b1bcd08189286c3cd5972f8b581aedbece86b0e64264ebbb59e5b3009ba383f03aa9b0e868610cdf980b1a2c +DIST firefox-91.9.0esr-et.xpi 506669 BLAKE2B c0fd33eddc6c318d17ba494a05dc23eda0292b33cb54de16aab5eafd840103a583a90bc69f7c21beb78018e8d1af19bac8f79842a1e2697389f61a8eef523fb7 SHA512 8b6e3a9a430855649093ff551f510984b76cb91c5243ad056b4d7d9cd1d09b6d6170d3f7174f4665db56227786c0e54b7bb4c4659f903adaca3dc2566079a18c +DIST firefox-91.9.0esr-eu.xpi 536329 BLAKE2B c9127b7ef9f063f2dc78dbc2b92ae8fc854742dddef0816abb7cdf44f6c43b3fbdaa19e0498feae34830cc39fae088d1ef1f7673383bf4b579fbfba3d7467c7f SHA512 cacdd1618a84b21ae1e5a6b1b7a9cc7c77f6ab2a0f4a57530850561ab4d3bde17cb49abcc20b9c31638656a82ee4d22a7bce0ec34c59ec28d106b5ee43d14c29 +DIST firefox-91.9.0esr-fa.xpi 559375 BLAKE2B 237aacb5c27bdcc4c05f03e1de35d58ef1adbb4152ad3f5e4da604633af0684568513d459a6f7f33e8713068b578553f61a0931d260ff4bf307b18c36037a299 SHA512 abc61e80ea2f365a9b1a0fd14e173d305d05b386c01c844e3eae14f9e279b927e5512b0d7413455f91049c98940f1529cf3095f054d46ccf8c7acccec3b2c5b5 +DIST firefox-91.9.0esr-ff.xpi 471869 BLAKE2B e3ff81504a43d8e006f51bc5d574d337ab0f7fd98e8019ada2aead40525b0cea696070ceaf2dd8ecf4390ffeea98ff1b2ffab23e2ab102c23c88b4136d56f5ee SHA512 ed0777632a0626b6d200630d8d6f0892e5095c5aa5232f109cc567f5133cbafc9d747b4bd17eb2a39917d0aa5d0d6801715ba093beec02c4720589795089cf5c +DIST firefox-91.9.0esr-fi.xpi 531482 BLAKE2B f5659a2e1c961edc77ef32ace4f7d9d900effb048bd05f804efe816c5f9bf78d9073c4f8280ada7b261e0754dcd879efbfb1689b15486ed53ca08c5c7fb5c2d0 SHA512 184e0dc3f4cba2e4ebd6fac27d1383e27b07994ce123858c43356d6000c9f873c4eb5c2648b04922394a1a1cc2c12fcbf437d7a7eaca5003fa2f133f34d69a0d +DIST firefox-91.9.0esr-fr.xpi 557621 BLAKE2B 820e4c675bfd2d57ce8733fc2c6cf2dcd204d7447059990096b5add75eb448728e3ca858362bb208ee9f07679960a5b63d4a4f54d0fd984ce81a456f2334fbbf SHA512 cb22c21540d441c3a274d276a546f664fab3f03be5d9d9c60f57d9693bc769d3a77f215a6b4389f835948c28a779479a3f03e8ab04ffb322a9be15a1a8a9f359 +DIST firefox-91.9.0esr-fy-NL.xpi 543302 BLAKE2B c8459abd86126029fd363c47ec6beb9e60ddfb34858ae1aca455567fabf28cb525636a113f856bb9266404e726c590fe3f5dba9d01f4d43eab8a5ea3ca77fa10 SHA512 d75eb5c360736e9bb3a85f452e0ebbdc6ffd8ef5fc324aa395a55e0e6a85eeabd4382b6dd6693196196dc4902b9d1da19068daaa350ff96c946bffbc1705eff4 +DIST firefox-91.9.0esr-ga-IE.xpi 459835 BLAKE2B d1d8a9f88870a69c169ca1c79de2d478f74f6e31ccf8d3512c4265278b4148e26fff8b6c57f25be7d6970a860b0ddef6f4b38d953676c61f2595acb9d14b9ad9 SHA512 694c419356872a99c86de4351a0cbd9f1b4a67afaab8a55288d54792a8e358182fd7813ae113ccc5596d2e5158337eccbe962dc93f938b45e90dfc46c5a25488 +DIST firefox-91.9.0esr-gd.xpi 530852 BLAKE2B d1d9827340b6860494f5c8275cf13c85648f25fe3d6b4ceac39cfafae1a3efea161c7e6486fe66651d6ea500bc4e1ed064a3f5e3dbfd848dbb9e7bcd8c526a85 SHA512 67823a10f89ac9118d6e82e6a7554c4fe911bf02d923a3e1e2665f90ecf4149136d76851a7861d47e5bc4fea672b586e828f4f4288a607d73ab81658b7be586e +DIST firefox-91.9.0esr-gl.xpi 541297 BLAKE2B ac1de8abb2bbb60b8c9a53731ee44f45db067c74ccc6d9a3dd95f49d26a20908fc2ceea7753c595f535c19a0f529a9ebebd6e727d86b1063d2cb6bf594402eb8 SHA512 5c99f2401f565cf609354b95af45d80f935d84d90f65d998b505e53989c73f4eec5f25859aef60846ce6b7c581d6fd7d53363314a60539b31164fafed4672cb9 +DIST firefox-91.9.0esr-gn.xpi 557606 BLAKE2B f21c2af2f39ce0510bc8ff86d0da5389cdbdc6c14a097e2801a76d246214d7b16dc6b96e37a4288a274337d0fe366c6d0ff01085dc8d014ff4be3c7ea9c90ae1 SHA512 d7e828bc0565b75c03c4f72274cfcd13cc3dc77639505010c4925a1ba2d7514a94062b802b46a0469ee033ca60da38dd4a0188cc7ab71f8b43a2e9ffd546319f +DIST firefox-91.9.0esr-gu-IN.xpi 529548 BLAKE2B 5409987f6fef13b0ff92f9b0aeac734660485c4353831ce7c375ce0c5a2b534d8875166860c5291325185712b7ae1436e13bb67432ed0489d9ea8262564a5269 SHA512 3a3a8a263004ac537e216362d5d402aa58ea74e43a4c546683b5bc5529d00df5f032373f799e307deb397b1e0c309073e9aaf826826213e3ebbf7641bcf79688 +DIST firefox-91.9.0esr-he.xpi 557207 BLAKE2B 62c60e1dbcf8739bbcb6d1ea71a5055d120709c500363dd247e75b690e7ab481a9a5da9014d43b71b7c61a83a3c25fe70134d0d17f896c1c19d387d4e94d1a2f SHA512 01b55c052813a53788806c157b15b219b7831e258ff0c547b1da79e8f2af1753a3b36bfbf49dadee6c8fa272f942ea72816a346bf26454b58e451fcd42e634ab +DIST firefox-91.9.0esr-hi-IN.xpi 560654 BLAKE2B db9216029dbd95dc1f9dc29b389189451fbcb2ca9dde9b2235d0aa48e31144ffc3d07e1c1a5c6e9ccbfe11ab67ee1b3853aeba6ba376209c28adc69a00fc26cb SHA512 cecefa32bc1d52fc3d330f870173b7fe906681c5bfed6b465cf36291a2dd51af229d6bae1c7a59f6655bcb0ee470e381f47602f834e595d92555f316cc26b8ab +DIST firefox-91.9.0esr-hr.xpi 530044 BLAKE2B b9f723415d7a2b07cebbb22618b7522e247e9e4ebd27cc3e6b7acf421b3ee728507aeedef41733fcfea69c08aea9b10bdf64586534b3c3e97bf5ba91d8d3fdb4 SHA512 b3f4c6aaffb69d316bfba893563ebea3c71f818e1c81b4a5b873b48a5891d34d042cedb6cba6e34c9dde98a1040cb05015e51b116a525144dc13e2af8c0aab3e +DIST firefox-91.9.0esr-hsb.xpi 562625 BLAKE2B 707d4aaba7e154fc66bc6f25c0314282c1de834b4b810ed8383f33cb040a0f934f68be23069c3cee38af0e11abaa3867c3fb6ed94927871f1faca9217b46e88d SHA512 84c3141b76a0a95c1e4df21a56f8687d568fc00d5e63ada95fe06ddd5a0d794b3ba8430b37c03732c2736fbce4a3b40e2860ce8eadd6d74f56c446ce950d093c +DIST firefox-91.9.0esr-hu.xpi 566083 BLAKE2B 0535b4d50c4e864dc17d5271b42083286a2ed58b18e935620701f8230a2c50dd8030c6b84c8ce54f15679cd1199ebe0929f4c0bb039306afc774dc6a2b65b011 SHA512 a9617431316de400435af7d7c5860239c4b0d75883ff326264506e7d31662b7be02f38a582a04cce81a378a9af7bc8da6dd8090b453e1f86d92d3239be531559 +DIST firefox-91.9.0esr-hy-AM.xpi 579765 BLAKE2B fa600e801b797fb1be7db1eb4c18458745b844a4ee5fa5c3959812334df6158fd25c0cbb2009ef56e4151525881cd7421d7a30bf21e2420dd197a17cbde72b86 SHA512 a68be69300c55cbc779f6d040fd28b6f4511584a8c9b49fe1fec57c501b81825fb377a7147bbd76098c379ad5050e74aebed9e4ba3908417c056d6143a9b92ba +DIST firefox-91.9.0esr-ia.xpi 532145 BLAKE2B 34ec0c3510b0786bd08df34a0d403bd5658e1b16054f54bfbd477075abca239ebf27c6d68182a7ebb815f3790045fffcffd277ac1ac915458987230108baf323 SHA512 b4ed164a5a7e294ef1618e1ca5817131e881b7936fa76fa65362d688a8be198957884bd4c974d1ffe32896079a1b1bbe17b2c9596cf4ce69e6aa1b3674bf26cb +DIST firefox-91.9.0esr-id.xpi 519831 BLAKE2B a44655ebf8d29e46bf0717282629749f400234441acae7d08ec6d964ae16444194ba6e0fe6264f7a1f700d9eae5d590f795bee9f4c2600541db5926001adce31 SHA512 9d410bf3711876a7a4145ed55685b35140dd60562d60693ba98c1e6acf679266c33c6700dba7117047f12509f41549c24899b293c9fa938639895e780bdacec1 +DIST firefox-91.9.0esr-is.xpi 470227 BLAKE2B c17ce3a944d4202d07e082b6a584a2b8c7211e2bd5b2c4823c82ad5dd44581a7a757517204fc0e62744f7124b6bff808623c6354018667b8a63c40933a74659a SHA512 80c0c19eb7612fd2ad4b5642639f208e98e44294bc68bcd1d0c93806585bfe1e2dfd8dac1ee543a15e3369851bdba7053dec2adcb92065c75332d587e654f611 +DIST firefox-91.9.0esr-it.xpi 459094 BLAKE2B dbef8dca3d64470e294e126b794af7da2d504d93f61c2d886c89c10faa3e1980798e7b8c95df87706f95f366701f2938d36da4f202f96845e38980d849c5d749 SHA512 59d6707da0fa7e401100173708474d1333a77c1d32d645b44c6cafdb629100fb45092d2438dbf8f26bf1549b695714de31d126fd8cc7d5ead3f3c8db48f56c7c +DIST firefox-91.9.0esr-ja.xpi 588083 BLAKE2B 775797fd2d92967a8106d9c38e81e9b3fd142cda0aa74ebba4ddb0f5bf8e6d11f7d4a6ab83f7b9a96c87cd575372a5f58a99a2bbb56459e3d84ad7fcd9c5440a SHA512 5e00899ff8813a3a3698ab068fc92b62c1f24e8cc5ae112adb3821a483a2ed3940ac0145d160899023a6adff5ada3fe76d2c98cc6c2931809ed26961783fa703 +DIST firefox-91.9.0esr-ka.xpi 592244 BLAKE2B 15276114b4c22675e0ba3b2558a3e66af26c764dd7165ef6dd0a1d48d28e542ef1c4eaa3847fa5fe0e29c48a8b3ee010d7eda938d31c886cb4b56936ac6010fb SHA512 016647180407fc6bcf92d915260ad57cd7054fd44d7946e6d90910c3aace23742a64685392af47488a5c479e397ac5fa3354b5f3f2c4555edd7f0c265fefd592 +DIST firefox-91.9.0esr-kab.xpi 545013 BLAKE2B 63cc363264e65f9712dbe52d2aaa26219e023f16f3412231efd8a6632d38e860c49adf86082a1badacb2ba5187f90d3cc35cb7534fb5ab3f554b5305aeeba098 SHA512 5e3536cbee93040fb39409fc78530343555bfededd3885a3088965891f31b478a8bbc5c13ab91b8eca9c5beb968f4c6b589a1d5fa9d7884c848590be42f79eed +DIST firefox-91.9.0esr-kk.xpi 605553 BLAKE2B 4e6f57c1fbb45fe82fd892cffc89b93c57269563255d74ed0ef4c7acbd3bdea4304ac64bf044eb7799535e23f44631345a6f83e38e6f5a89d6e7a15fb5929bd6 SHA512 1f9af806923e2a1a5e313a2c5ccac55061c8e89e0b50f0cc7c0385f5dbd2619037a7b48a8e59a806926fac863fced3646251a0c72f3c318575c07bf77dcc1dbc +DIST firefox-91.9.0esr-km.xpi 533110 BLAKE2B daaf504a1f1d01bec3403712890f3e438fde7ea81fef9a147f188a8212a94037a2bc00b6b2d40c7b5bf45247c2ec45097f595c963dfabf1621601fd7d7708990 SHA512 4e9f30d2b14441d739f9a46f6788d1ede20801406a05032122b75ad60c067ad3f2e499e2289b6e46f97d3581a46a6d7d05706e78151e2beec8f33af252368b0f +DIST firefox-91.9.0esr-kn.xpi 498972 BLAKE2B b8e456ba0aee0e976f9bfec744e2fe6fe00a333846ae95b6df105e06e75feee5794fd101f61f64a61c9db135d16fd58f2bc00ae13f39a96723680ffcbc69062a SHA512 98d2ef78d63bccfe4297f4c03b8f779a719114338fdf44584b4fa208c86ee2c25d4b9edc96b905b3b1df37ac6dc7fe231d6aabef6eb45ce25d2bf9c69eb916cc +DIST firefox-91.9.0esr-ko.xpi 579065 BLAKE2B b3748e9ef01125377ff30e27039cc2f945f3126fb26a47736724df65274e49b42ac25a435ed016cef1541121a544e93caed0643839224063407bc3440a49c1a2 SHA512 e54c373d97adcd08906bf3af8ac9523bb4637e8424b3b6824c0bfe51d3469f5530120adcbeafd6f8a469d65c68057d2f8ebf4e07a3fbc66b0a426d282554fc33 +DIST firefox-91.9.0esr-lij.xpi 470175 BLAKE2B 230c64869b916d8fbf27246886577484c191b68989a559d25b42cfad22d5f99ebbf0c9863e83205eeeef7cf5b920f146ddbc1903d25a442c7f6df7d7210b1c5d SHA512 eff03fa6bc7e0a6b6a59a0997cf487b25d45010c5f797160a0c1645c6812cfdd73dda22d3a58acac9e6abf5b755acb3ed635b96c06d4763be1a1d3579dcf1a43 +DIST firefox-91.9.0esr-lt.xpi 560114 BLAKE2B ff49024db893a512e272c391e2ba1effad16768bcb81f87cef671410225ddcf46d57e520cf896a84b08bcbf02abaabdf4bb9871ee44b913f008e4fa0c646d14e SHA512 67a840bd3c7f01d7fa64ef5afddef2919fab37f4c8c3090e6669233946975bde09060fb2c452a10bda620636defb74f2816309a317b3354895b89ef7a258675c +DIST firefox-91.9.0esr-lv.xpi 462464 BLAKE2B 18a863c07c62ee35f7d8b7684d3b9ac6c9b2d24d79efcfc1715ff95eda0e44643e4f2cb9b9a9c8ffc563ff3056417d67bb96dff625db9f1c5cf5a84dea98273a SHA512 36bd2ef7b0ac2813430247b6d0b922eb7de25af26b0776ffae92c2362f1fc1b6c60d5ee3076d3f8c47d1cd097326b464996b08687a7a9d2fb35f0392cc26b9ba +DIST firefox-91.9.0esr-mk.xpi 465339 BLAKE2B 575551634be9148ddbac3d948028369ef44fa83d8e702ee24eac9aef6a62ab58004dcf22fb6ad8ff0d58784105452fe9ba7ead026ac21406a38405d7753b95e1 SHA512 4a4bba0746607fd7cf7844f78c98b4026636d9a99f5e0191c68871c93ddab94da730927da183eeae49e07be5f763ddeb0b9c075eb631d1db1ac240eaaac4dffd +DIST firefox-91.9.0esr-mr.xpi 532126 BLAKE2B d1a5bc9a6076a0b2b2f4a6a6439e0d249e06a76dd2dfaa21168485c687f455e7010f412ad28e598ec3f5812ebc1e3b81b6a9adf3e2ecb7443c45c42460f63083 SHA512 421c2c36c85850fb61da9c65ae61ea0bdb2273440d472b63511444c4a4345383908e68e95b22b7297f31efc9e2ed9fb816e31618d7929772dc0a528f74c1f033 +DIST firefox-91.9.0esr-ms.xpi 447341 BLAKE2B 95401a97345175bf4e47a7e86954eb2777ce1c7125279a55a9cf6f491ca3157c7a0c986e34cec7be3fe725003eb515b890da65ec839cb82098f99a72d4d8f270 SHA512 622d3e6c131aebe3c7aa303fd0007b2ade21ee40128a5d7f7c84d22a59ab53391506a63a7c46efb29ad9e2094352d0a33b390facf34c7457e44c72450f0e08a6 +DIST firefox-91.9.0esr-my.xpi 516300 BLAKE2B a7fa279de82384ddddd88bc14f64b3732232997e4111008dfa4998f31e5345c3c8723f0052e3496390419e62d438351d3a1d91c883afbcb650d71524a33241d2 SHA512 ce6892bb26de06a01f7fdfc45650e6308579c7f2863f9836b57573db7939d7fdd0a27c93f79d6470043ac227fdb61c84de1d7dfefe8ab839e9e3a30b661fbcf6 +DIST firefox-91.9.0esr-nb-NO.xpi 529420 BLAKE2B ce31193c9580c5d2ac7e9e9a3dc3754f4e886d5cafe4b14209aec55dc6051b6ffe3a093f360bb952dd2b62d52820fd867da02a88bc33bbf25289b7461bf8d50a SHA512 3980ebdcbd48b96d08dedab50e4d6c28e0006601ccc64f9306b89efff5a4d6fd6cbae4132160dc8fd21d7aec66de4d73fb1b456f87ae19d533a6b72871e511e9 +DIST firefox-91.9.0esr-ne-NP.xpi 485220 BLAKE2B 8af37db3a936d9b5aa2ebf71b22c3d85080a0b546ca8e748222aba5086a2ae55431081040bb49ae2fa1517525b8029a1f8d0d237d3a037b97f56d47abf74e281 SHA512 cbe25214852054e08b41af418e5635b20191bd997730c2c096c7ca1cee92882277238ffb8aecc1d406680c2e9fc03c895b20af7cea8ab379958733d578cac93d +DIST firefox-91.9.0esr-nl.xpi 537388 BLAKE2B 848b8901b1480f95c0cb021727ecd00d2881c50bf1d6d489c19a79391cc635b7d34d5b8dbfdb16a77a33a20b2b0124e1ae4ef143b9b12e0e04f65ae49f53d646 SHA512 683ff16e9f014f594bf2d8ac4feda163f4caca6a0bdf02dd3068600fdc26db0a058c1d5f2fd501668ba59d9d9124cb3026f7eb34761f3235b01e9d5d24930665 +DIST firefox-91.9.0esr-nn-NO.xpi 531673 BLAKE2B 438894684ff5ad437b116a91bdfef9bb52ca2dc90aacc273d89da76e5fb5c134410846fe1953df20dd590512eeacbc473fe73bb2381d37d84f9263025569751a SHA512 ccb7045cb426cc3c372a4e698a752cefd19e6c29d163e1a94b960344b1378b4d73801088488998dc687b36def27de399d7a1f6f34f521402d167a172679aa257 +DIST firefox-91.9.0esr-oc.xpi 552938 BLAKE2B 40f39425048101c5330d77592320b44f8ff1cd74ff9ef451764d8723d6f8e5de8d0139a765ffd96aa176884800df87684f1c9bdc5240765621d8c092f66feaa9 SHA512 e4392439b229107db88684aa11a47f17d14e24c69db84dcd4ab30ae20119ee5d63784ba0206c19a0326d7a3f66d44afbf808ff6f8d93f3ddef358cb28967bb37 +DIST firefox-91.9.0esr-pa-IN.xpi 595974 BLAKE2B 7b9287da6718b7b6fc4fe3a43c414aa0e8629ade284e25f7fdec346fbc9078dbe54bef4bef2b26fa7dea3e9aa728be9ea44bbfa9c0ca4e899dbb20a0f34ebafe SHA512 f74438ccf2160196373eddfd4d8839a10ab2ead100f0a05dc9f43bc186b484b79e16eed319c84afa935d4ebb4027094766d5e993ee27e67a6e236497c062b6e1 +DIST firefox-91.9.0esr-pl.xpi 555619 BLAKE2B 2d210de181f2f9e247c3bb003b6a3cb3c4f15629bd7f294fbcd49cd71f8181a05715294f7c850bc4bef268190d05ca2ce1271211a55129831fd542e7a4dff6e6 SHA512 ac5cec8ca29a4a0424f0c3be1335bb8151291c98790f2c76550c89906f6c0e18d9ad9bb5ead8089148bd9dec92ae40aae753fa083d65493b8a35eb7b6c78e88a +DIST firefox-91.9.0esr-pt-BR.xpi 542613 BLAKE2B b5c2a4f2e8727a81aa683becc0d7d4af9e3671e69b5abff5b1128e568fe0c36fbe0d286ccf4d395e6bb67818bedab60b11a05efafb3df711069016cd1a9e0b27 SHA512 ea4841eba5080cc947bc5ef582d22b46aeb747e8ae1013f6b45b0a961bd9a8456f1e3772e9fc8d8a7d827f2c1b215c4239743716114139b6dff05e01712dfdc8 +DIST firefox-91.9.0esr-pt-PT.xpi 546338 BLAKE2B ee5e50a11fb5d65811f03afaa045bd7caf2fda8105ecdee182c3d62bb5edfbaf389bdcbac80b410883f3a2d1fac9a484356aba90de9052bf6626148d860cb81b SHA512 16d4ef571c5e3922889ad21186cf127c18ed523115476e465882269975cf130e42b9374e79069f225f14be2b391e79e4108dcb541265f6eb590550337655800d +DIST firefox-91.9.0esr-rm.xpi 537360 BLAKE2B da592598aab21dcc1c8b7e198194b90186902d8adc49b1a85bdb2aaba63e3fa3327990f34c3d6bfb0fb38d19e3278aa8d08f18763c46a4ebc5665edab0e1ff96 SHA512 92917d31ad3dfb5b28a571edfa405a3ea530951e2bc2ec32adb149b7c52b7cb8a3872c9ec7e1478da748810ca20c56901726785bd95256d2a65cc40d4f540426 +DIST firefox-91.9.0esr-ro.xpi 529326 BLAKE2B e53b448a8045b5051a7483db1ff75fdd24f0496d3cc24001e3e502cf2da1a3154653bb510fa64a7c76a2ec73e3a9eeb7d20646c7053d677a9921892b0ed904d1 SHA512 b9faad2a10495334d96eab6502607f7246c3a21b214f80708b7e366747c254289a47761ab415098f4f38fa9ee1243776f91caf7d55b3628a367b5220aa68d1c6 +DIST firefox-91.9.0esr-ru.xpi 627119 BLAKE2B 550843ccca9fada76012a0884258ff013616fa58c8744d5d7f7e697e9787b12ce77515c9d3a7e7a543090de3f258a23e1dcb3bc04f72009d51d4c204541251a4 SHA512 b54221e41b7d46951b127eb0c7398765040b044b86afee4dfb5cf858487639de7fbdca4593cc0d3ef8ce52dd42a4dcc5308e2b6b4118efdbe9b952b8aa58e141 +DIST firefox-91.9.0esr-sco.xpi 504857 BLAKE2B 069c1b3018535663014df2ebf5a4d314b78990456249ef865a0ee7033af99efbac5a8710ebada4b8bfca0645df565666280f5f859511b77fd40ed81cdc7da63d SHA512 199825623e9524438f390c22d5047298b7a905dd72045f4f36db25a811e84c3ef533ee8ed5805cf42134f9981813ded74533841d9eccc9c31d1e3df6c51d2430 +DIST firefox-91.9.0esr-si.xpi 487949 BLAKE2B 1d4b22f31c4968f23d13d7357aafe7afae43100ce866a4fcfe8ed5c849ae9f8e7ef5479cb23699d5f7a0932ed9cf1c2e562c8dd3bc09049b0f0bf4cc83d3a641 SHA512 c6d3c0a04ba479baddc3664470d637e4477fb951d10feeb811ddaf536109285e6ce99b3a5ac934ca948ca60afce37222d467ebd365712c88f4886810499ef0e0 +DIST firefox-91.9.0esr-sk.xpi 566482 BLAKE2B 31fc7923d99cd938c3c957b70814330989c5942e85ec2c96c3b43a18650bd65f1fa61061271239a1f2170f0778d16887ace440bcf07d074cbeec917127f0b1d7 SHA512 eec6e78b7e6da6841401ee90e55f92e64aad166c82e08b6a1b069d19215987ddaa0469dd8821e0fad6db0e5fbbf807c5451fb5b7d44838c87e83ba8cd1696e7e +DIST firefox-91.9.0esr-sl.xpi 538013 BLAKE2B 9e02552f32850a3c1ac7151399186016a9d8c7f8300fea370e7aa94b66051a1cbbff0f19c46690f0f40d123fa6f6cf3387a1262422fd79b976da7c71f6bcc706 SHA512 f4fac9fc17d4d51aec6ad23f3abf4d15606fd2f33bf63dc63d1c15abe818018b72ebb66929d592a009d6b782a6189cdc8e440593afb79be602fb4bc3d84fe245 +DIST firefox-91.9.0esr-son.xpi 425992 BLAKE2B 16ea43e2f86823371405cfb31d0c9d9a8aeecfdabf1e23610fea98273e5cce6d1c9d7fbefe4d97fb6fa65b7ac7cb97211b908fefce23ef60caf26ac94b6aa087 SHA512 907ea3f434d2b78e3d62373aa0b12205a6647cbd431e6b92e908d21e20eebec921a82076e3f96e86ee0c3ccf2d57101795cac3724069b9c20698e5f84bb6b329 +DIST firefox-91.9.0esr-sq.xpi 555988 BLAKE2B e3cfc8056d49332766c02183f3a1b6b65feb677a17053be423c218f827b9465b9d6325cff0c51245d80f1a699dc525eecd416c6d9c15a53ed7147154d908cbd7 SHA512 80102bc8c2cc9ca591a7952637efc2061e4b0737725d43acf4d5b1720d3b7e1bd73f15bf37ae5a4ce9e7eec0593bfae6dd961bff2555f00154f9bae6ec8459d8 +DIST firefox-91.9.0esr-sr.xpi 586068 BLAKE2B c5f5a635c1efcc1912ec5b14864126f975dd90372daf773eb5662c69f8ffde5892fa13c5ddd40f84cd1dfedaf714977afdf20e04f6dae1711c9ae3fe3dee21c5 SHA512 862a62ab1b3ca497305085bab269bf47f139be51213aa648689189e739a0fa9ee5687d9c2f54b5201314dea51a5e9ecc5ad4f888eb4028d7aa491aaec055a1a4 +DIST firefox-91.9.0esr-sv-SE.xpi 539967 BLAKE2B 2ef31d495462900322af60d0750b36371faaef7fc784fa3e06b20aa96ba2541f7cfb2d4a552ea4bc4102b5d83f41d8bf58dd06b343b54989a8dc1393303e8323 SHA512 1925ff7ca77d873b721af1b00105aa5972538949c930d20019f5b981807fd366061ae602b8b411866c121ce742e0d7876c82da4ffa695a1991dfafa9956708dd +DIST firefox-91.9.0esr-szl.xpi 509809 BLAKE2B 0e4eab06497623f1bc24ccdd9269587e081af29d817afaf4b8370a8f89a7486d192117b236766131d6af56afd929da30fb17f56ed5754288c374fc3ec09bb29a SHA512 7d583653d1a9f1be7ad080fe53e8ea6f447eef538792a40d7ec4e6e87d9a69f61c2ea46680d1b37c426718140b8219d6a7854626c939f461082257de762e3f87 +DIST firefox-91.9.0esr-ta.xpi 513821 BLAKE2B 3078334e2f461e661de6be33c166ea05951f4d9b55befc9e1b43b50ac013a2882bf31ca1f5a22fa892b3fc21b728661cfd87f29c2c6e87d0b2c41907d832e63f SHA512 0594c0c7df2d1586a965388ca0411b8cd4073e156befd83940c4e76959ffedae97f4fc312b3ff2028ce70ce2bfb24c59416157f04619cdadbf992b68ce3c347d +DIST firefox-91.9.0esr-te.xpi 549956 BLAKE2B dd197328b7c0682457451bf4058d7d16bcfd4d09d9dd870df922e924bf66f2c387e926b8237b3687ad79599e21ae625e9f171849bae982a23ccf587599a7851f SHA512 f64ede8e879e301b9dc8028695b8c72c79b3fa958dd0e24ee829db1a43a6c3a87c4612463705dd65095df41e21aa57178e5a41df2bb1c8576e0c14674671b274 +DIST firefox-91.9.0esr-th.xpi 607069 BLAKE2B c58fa3216c44a88c9d964b3ea2b7094b36bd1275f947709195308519f5084bf0709551c8a715c6ef188cf7ad64b878779172ba727d056e3c325dde8f72f3e6b6 SHA512 5779ffd7dc67c007722c1b211f3801ec0a76069f256c36399b016f66302fabe899ebfcbd85e196c62bff744f30d62c84f1ff66206a813d87ff5be12f5666c08d +DIST firefox-91.9.0esr-tl.xpi 516127 BLAKE2B c5a4ba6dba0b9017515e6bccb3810bfc8cf1407cfc42354c2222d3d93f0d2fee3ba90fa2580725a3de6269d16b4b130e53fec938d1a21daedb402437b1be6756 SHA512 2e4d5193f7c2aa9d19e9de62aede42b03f50e7f5fa1cd4461e9554c2fac9b49f7e58c6f8043c840571a407d7f5e252bfe0e15b0e8546b6ea2b50ffeadaad9823 +DIST firefox-91.9.0esr-tr.xpi 553689 BLAKE2B fae2b82a87aa6a7767cc6c682407a80bb1bde9a98fd4d0669af4864e9e4e3591b1502843962f3133b097358000638b55d2c82ec5d79b590246aaa62b0c732763 SHA512 5f4ad0d618cdde86a45a270090d696230ead0d13b2edd945d27c19c3adc4d8c1a5176df8a7ef3e8b9fe1efd59d316b30b04bf765c3a5e03e3eba4a45d90ce33b +DIST firefox-91.9.0esr-trs.xpi 491077 BLAKE2B 692615a9f48e6f6b01ee3b64a6f6c192f88800f3a43ee09f375308804e613d662c7c64c337c76286516a66ac75fafc7d1b64d2a9454acb030ef77b5864a1d791 SHA512 a4a4ff3d9ae62496b6c1a4ad47a3a8a3d03fb99247ce37b2ad95a8c9f19afba6a8b63bf985a20b6aabbee74763d57803ffe27dc0ab86f737b36a7d2f910f1be3 +DIST firefox-91.9.0esr-uk.xpi 620502 BLAKE2B 6d524fdb23202df338684dc5e892a24abd9877f3f669beada8a97e3b4fcf2e99b1a9d7e83cb8f54c8981aa57cd6fd19b20943109728cf8f8cbca036f7309ab37 SHA512 9a69261c71ddacdc570365847674082439b40e17957ce9509ae226c80ac2c5a117b9a69fb5d11a703de2695db75e427c7be085b4303bdefdcf1265890818f677 +DIST firefox-91.9.0esr-ur.xpi 557308 BLAKE2B 21fb3be9f78f427aa21f046367efa5442993de89914f23f93e859d64975b5409c43e15d9e01d43f0bc5ba851db3706759c2e5af1faa82581ee2a6f8534957f12 SHA512 a6cd0567c57da68250ab29c240675c9cd3299a078e09057e8bb04d5287c17557582fc16c856ce9c10b5c343152528014571dc225e8b84e4c4d16f4135aca0707 +DIST firefox-91.9.0esr-uz.xpi 466876 BLAKE2B 7a313daab0231ff7926e1589292a24b3620547f7454701aa417d1c2e9c9c1886ed82350ac8289af5926b7413cf435069eabe49c5c3059251e7bfb8a005c9259c SHA512 118c5f40b48449e61fd06a9f4ffc39c5203484148e18285d6c7b22fac3429531eee1788ce2211502b4d208852e0cb6d6a604620df9c7761bae40fb38997483db +DIST firefox-91.9.0esr-vi.xpi 573486 BLAKE2B 78a3e8b3b926fe735037e6032ec8a47d493a618d18afad30e9d0ae9b7eaaef2b03c90ded765224d476c5f4aa322535edb620031b73b0e37a7a213eb7744f5de6 SHA512 285e1daffc102e8a25b2d74c0fdcd063dc5542819a6b651b1644e702b0848dafc696facdcedd18c506cd4354f7f501cdc26f68336f66b0bbc710dcbc659a7bdc +DIST firefox-91.9.0esr-xh.xpi 428177 BLAKE2B 197dcfc2298edfa0b421322c275998dea4087e43108b3e279463bd7808e24c64fa5348cd258f4c49ed77c9ad28341d09da815ee5f4e663db590c44124b4b0554 SHA512 59d2d7877d539be879777ac8f48d6e98dee4eefe4cd92c1f1363e7cd7e1a909863d57109b0c47e159a55678677285380b7755e0d3c9f06cdc7eec7cbdb03d098 +DIST firefox-91.9.0esr-zh-CN.xpi 575381 BLAKE2B 662cf6768693e480184a7e789d1a823dd12aa7c710f5d8dae46398d78d2f827683c7d983ee31116937db841887f32acd4ddf75a34fdf29f8c9cb90b113a3f82d SHA512 ab6adcc8f1071aacda8452b0d58d26ee8f1072189b7459f9191e3a4c1b4a9f864ca3483fe6bf9f642f962d5f223d5f11364173349519a7ce7a4c7451c08d27cf +DIST firefox-91.9.0esr-zh-TW.xpi 576235 BLAKE2B 643c0d43f76a30eb1e6b9dae66798a6c4bde081e95585327377c7890c06eb27f1a35bb886ed3dcb6ff42e8766d0429fe5c7129ad8df1fb8735bba86f1860223a SHA512 326ae088155fe30964ce58b564dfc0879d5f94b14c31173194e424f3a2862a4619d76852118403ac92ed61581e5419395f219cdb8bc9a3056beded03d3b83d96 +DIST firefox-91.9.0esr.source.tar.xz 384516460 BLAKE2B 5b265ff907ff520edadb1211ceb9201419349555bc4ab9acbf1d50ce9f0a9bbd26b830f58aec899d882c25f8036bf4ea1df39c7ad144d0305c69826816eec48a SHA512 fd69d489429052013d2c1b8b766a47920ecee62f0688505758f593b27ae66d6343b9107163749406251aedebdf836147e4d562415a811b04d7ab2ae31e32f133 DIST firefox-91esr-patches-06j.tar.xz 17668 BLAKE2B ebe51e06197b70b0f0661724e1ccf2f2aaf0e0eb4576e795963c6a0f9c32f293825b8d2a487dcadd8e5e1cb5db7c756016c50f34e6bc6df451b44e54ef76686e SHA512 3af533a49c5e4a6fdb5be2225256655d402055332ba98f3aa159fcc78c4a9901a541b63d68cb02440f55ede04858388881118f655efebc75b18c316e0ab522a7 DIST firefox-99-patches-03j.tar.xz 20956 BLAKE2B 5e24ce954eefbf4ddabc70742d168adfadd3eb62bef8fdf107e90634f511f9495075e5c2cb5fc5706360ee653fe073d1e6003a0a09a29bdd63ae6711050eaaa0 SHA512 1a3232eed08610d1f4a27ec9ad79f5556ab8434f29ef1b76c3ac7c5607400cf916bde5fa988196c33c6404f37c970a87beaf4073b18a05784b3c810b69f7b551 DIST firefox-99.0.1-ach.xpi 449728 BLAKE2B 82060402c9f3692da5dce973b0ca89ac5fcf89198bbd14476a02c9ccdc784298283636c6fec545fca476fff0b802c1bf9d57e65fc9e05da29cb16c6383f1b4d1 SHA512 3b140416bfc8df7add0a7bba7494c8630ab2ab90f8152bca471dce54d8fd6e5c12b25d8139bd22ac42123b80b5f784913f83690370b3f2869dc4a2c4cbd0b651 @@ -205,6 +402,8 @@ DIST firefox-99.0.1-xh.xpi 419420 BLAKE2B da13a315cc5984acb6e54501e35c346fe0eb06 DIST firefox-99.0.1-zh-CN.xpi 579050 BLAKE2B 1625a620a6ce7c5498a8bba4658fe2e6a274564c6a3327cc58a6c1db9d334d133091a564c3778fbdbd1eae000ef60dbc7691344f69ab56af7496de8ee485a7ad SHA512 c4bd1254eba547d4c678088132c67b2500eb7187cfb728901261613d0d86e592f6dd594c6255ecbcd55d957d284d69ac7adf35ee641ce3d6261bc9af022fa927 DIST firefox-99.0.1-zh-TW.xpi 581395 BLAKE2B b50ea90ebb94bbb9f4474be7f7aa5a81879a0ef16555038d7cdcccff161bf1b2d9b35805290eb0cb9e849aca3c803a50a3d4682eef078b1ea38c5eedb9a62064 SHA512 1fc454cc022ab20421430cf7a423d900b8f82d47075729c798e57f8032176c0a2895dac8fbe7255977da76b3106be61a7c64a0e011fafa76196f53f5f6ef9f30 DIST firefox-99.0.1.source.tar.xz 483537764 BLAKE2B d77f35a8ab31d24c4e7293c8e540f5e9dedb3b98c6553794b1c87cbe28d9c53d995e6e036342003e9148d09a28bdb0efab4bae376dcfac8749ff4bcf69aa3f01 SHA512 0006b773ef1057a6e0b959d4f39849ad4a79272b38d565da98062b9aaf0effd2b729349c1f9fa10fccf7d2462d2c536b02c167ae6ad4556d6e519c6d22c25a7f +EBUILD firefox-100.0.ebuild 36518 BLAKE2B 07e678ab99de7abe2b3a95065eba7ba60e26e2420fda04778a67559f2c255279a09e77609fa6bf8aa9d4b75e5d5dca105d0d6315de015c12a0766a3c81fd9191 SHA512 765b61cca20b1991a910fb1ea7dccf20751520a4767bb7185287e1ed8aa6cd4b733000d4b7c75580fa3f010fd84c4685bb37a74cb6f746eaa87828e5e5ff2c2a EBUILD firefox-91.8.0.ebuild 35727 BLAKE2B 849a17d92b7a2d8558855ec7970c41b550539a9ae3d15af02cc0b7ee758a86d42b29593150343ee78c781b03d7b526a7bb388781611530164bcc7f61e2b4018e SHA512 9d79fdc0c35dea6df813e70981b9e40a3730f230f1a7662b32994797ad24df300ccc4424fc0a1c57e55f14f92994cf50834e1da3f9aaffe884c862df4e9df1f9 +EBUILD firefox-91.9.0.ebuild 35753 BLAKE2B 92414d657a0b4fd6805653cfea1b8631d96d18da9b9937a7f3096866250db2ec3f91e1f2a6b9ea05a74e78570a1f6cda58ada573bb0faf747f5e61a21472d695 SHA512 d2f97a4a452fd07302a09c9e9930195c096aec803c925306b76c0906d10c20c342c7b90f3126ed51860e54f98038aca339e2df0c3e110069eb18b97ded87510d EBUILD firefox-99.0.1.ebuild 36008 BLAKE2B 2c09ed02321079a768ecdad2a4f4a0893614a411b4897960b10f8d2578ba433bb532ece0cb3f98dc2534327e04e4c3cd169a933717f446b84a4f66dc7909cb65 SHA512 62f4ae2e0c2fc0bb800120d65bd80751ff65e4f3de783f4dab1d4b811ab6b4498391ca1f35ed86d487aff014e885c86fbae00968dcfc3b7faa743a9812215b50 -MISC metadata.xml 2332 BLAKE2B bd6315f382245e703161d0e7f6627695a5e12a9905fffa0a24c47976ac0abb6ae3e52450cac757c2830bab918b02e42f16972e2784ef4b51b9cf4db342532839 SHA512 78953e7162c905b2b0f481a2193732c91dc582da4c694093bc2fee77b35a9a01a9b13c0b67c530dcb867d5049c4d045bc90e244f31755bec561b33fd9efabdaf +MISC metadata.xml 2395 BLAKE2B ee257e2fbeed0224f696b3cef50af4387e8abed54a840131ff3e07892c0571d5a97221848eeeb20639d2f15be600e9b592dc0f9180f9561356b0fad2c2fcf148 SHA512 3d3f5dee740a64c6dc7a29bae5a9c2b205eeb59cb698f0a5a85b1a4bc7c0aa93724c7196008bd0439c12455ea3c29d4187088b6dda39d797b2f2595c1054337c diff --git a/www-client/firefox/firefox-100.0.ebuild b/www-client/firefox/firefox-100.0.ebuild new file mode 100644 index 000000000000..ea8e29a35647 --- /dev/null +++ b/www-client/firefox/firefox-100.0.ebuild @@ -0,0 +1,1267 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +FIREFOX_PATCHSET="firefox-100-patches-02j.tar.xz" + +LLVM_MAX_SLOT=14 + +PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="pgo" + +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,polynomial-c,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" + +DESCRIPTION="Firefox Web Browser" +HOMEPAGE="https://www.mozilla.com/firefox" + +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" + +SLOT="rapid" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" + +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" +IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp" +IUSE+=" wayland wifi" + +# Firefox-only IUSE +IUSE+=" geckodriver" +IUSE+=" +gmp-autoupdate" +IUSE+=" screencast" + +REQUIRED_USE="debug? ( !system-av1 ) + pgo? ( lto ) + wayland? ( dbus ) + wifi? ( dbus )" + +# Firefox-only REQUIRED_USE flags +REQUIRED_USE+=" screencast? ( wayland )" + +BDEPEND="${PYTHON_DEPS} + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.19.0 + >=net-libs/nodejs-10.23.1 + virtual/pkgconfig + >=virtual/rust-1.57.0 + || ( + ( + sys-devel/clang:14 + sys-devel/llvm:14 + clang? ( + =sys-devel/lld-14* + pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] ) + ) + ) + ( + sys-devel/clang:13 + sys-devel/llvm:13 + clang? ( + =sys-devel/lld-13* + pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] ) + ) + ) + ( + sys-devel/clang:12 + sys-devel/llvm:12 + clang? ( + =sys-devel/lld-12* + pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] ) + ) + ) + ) + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 )" + +COMMON_DEPEND=" + >=dev-libs/nss-3.76 + >=dev-libs/nspr-4.32 + dev-libs/atk + dev-libs/expat + media-libs/alsa-lib + >=media-libs/mesa-10.2:* + media-libs/fontconfig + >=media-libs/freetype-2.9 + virtual/freedesktop-icon-theme + >=x11-libs/pixman-0.19.2 + >=dev-libs/glib-2.42:2 + >=sys-libs/zlib-1.2.3 + >=dev-libs/libffi-3.0.10:= + media-video/ffmpeg + >=x11-libs/cairo-1.10[X] + >=x11-libs/gtk+-3.4.0:3[X] + x11-libs/gdk-pixbuf + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXtst + x11-libs/libxcb:= + >=x11-libs/pango-1.22.0 + dbus? ( + sys-apps/dbus + dev-libs/dbus-glib + ) + libproxy? ( net-libs/libproxy ) + screencast? ( media-video/pipewire:= ) + system-av1? ( + >=media-libs/dav1d-0.9.3:= + >=media-libs/libaom-1.0.0:= + ) + system-harfbuzz? ( + >=media-libs/harfbuzz-2.8.1:0= + >=media-gfx/graphite2-1.3.13 + ) + system-icu? ( >=dev-libs/icu-70.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= ) + wifi? ( + kernel_linux? ( + sys-apps/dbus + dev-libs/dbus-glib + net-misc/networkmanager + ) + ) + jack? ( virtual/jack ) + selinux? ( sec-policy/selinux-mozilla ) + sndio? ( media-sound/sndio )" + +RDEPEND="${COMMON_DEPEND} + !www-client/firefox:0 + !www-client/firefox:esr + jack? ( virtual/jack ) + openh264? ( media-libs/openh264:*[plugin] ) + pulseaudio? ( + || ( + media-sound/pulseaudio + >=media-sound/apulse-0.1.12-r4 + ) + ) + selinux? ( sec-policy/selinux-mozilla )" + +DEPEND="${COMMON_DEPEND} + x11-libs/libICE + x11-libs/libSM + pulseaudio? ( + || ( + media-sound/pulseaudio + >=media-sound/apulse-0.1.12-r4[sdk] + ) + ) + wayland? ( >=x11-libs/gtk+-3.11:3[wayland] ) + amd64? ( virtual/opengl ) + x86? ( virtual/opengl )" + +S="${WORKDIR}/${PN}-${PV%_*}" + +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or +# overridden in the enviromnent (advanced hackers only) +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) +fi + +llvm_check_deps() { + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang ; then + if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then + einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use pgo ; then + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( gn ) +MOZ_LANGS+=( gu-IN ) +MOZ_LANGS+=( hi-IN ) +MOZ_LANGS+=( hy-AM ) +MOZ_LANGS+=( ia ) +MOZ_LANGS+=( km ) +MOZ_LANGS+=( kn ) +MOZ_LANGS+=( lij ) +MOZ_LANGS+=( mk ) +MOZ_LANGS+=( mr ) +MOZ_LANGS+=( my ) +MOZ_LANGS+=( ne-NP ) +MOZ_LANGS+=( oc ) +MOZ_LANGS+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json \ + || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6600M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + check-reqs_pkg_setup + + llvm_pkg_setup + + if use clang && use lto ; then + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" + + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" + + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" + eerror " - Build ${CATEGORY}/${PN} without USE=lto" + eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole " + eerror " llvm/clang/lld/rust chain depending on your @world updates)" + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" + fi + fi + + if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \ + && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then + # bug 792705 + eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)." + die "Set USE=clang or select "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_src_prepare +} + +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-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="${SYSROOT}${EPREFIX}/usr/include" \ + --x-libraries="${SYSROOT}${EPREFIX}/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 '+wayland' --enable-default-toolkit=cairo-gtk3-wayland + else + mozconfig_add_options_ac '' --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-r1 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install geckodriver + if use geckodriver ; then + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..." + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/geckodriver + + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/official" + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" \ + || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +pkg_preinst() { + xdg_pkg_preinst + + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse + # does not need to be forced into the LD_LIBRARY_PATH + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + einfo "APULSE found; Generating library symlinks for sound support ..." + local lib + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do + # A quickpkg rolled by hand will grab symlinks as part of the package, + # so we need to avoid creating them if they already exist. + if [[ ! -L ${lib##*/} ]] ; then + ln -s "${lib}" ${lib##*/} || die + fi + done + popd &>/dev/null || die + fi +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + elog "Apulse was detected at merge time on this system and so it will always be" + elog "used for sound. If you wish to use pulseaudio instead please unmerge" + elog "media-sound/apulse." + elog + fi + + local show_doh_information + local show_normandy_information + local show_shortcut_information + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + # New install; Tell user that DoH is disabled by default + show_doh_information=yes + show_normandy_information=yes + show_shortcut_information=no + else + local replacing_version + for replacing_version in ${REPLACING_VERSIONS} ; do + if ver_test "${replacing_version}" -lt 91.0 ; then + # Tell user that we no longer install a shortcut + # per supported display protocol + show_shortcut_information=yes + fi + done + fi + + if [[ -n "${show_doh_information}" ]] ; then + elog + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):" + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all" + elog "DNS traffic to Cloudflare by default is not a good idea and applications" + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5" + elog "(\"Off by choice\") by default." + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences." + fi + + # bug 713782 + if [[ -n "${show_normandy_information}" ]] ; then + elog + elog "Upstream operates a service named Normandy which allows Mozilla to" + elog "push changes for default settings or even install new add-ons remotely." + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or" + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security" + elog "concerns prevail, which is why we have switched off the use of this" + elog "service by default." + elog + elog "To re-enable this service set" + elog + elog " app.normandy.enabled=true" + elog + elog "in about:config." + fi + + if [[ -n "${show_shortcut_information}" ]] ; then + elog + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for" + elog "each supported display protocol. Instead we will only install" + elog "one generic Mozilla ${PN^} shortcut." + elog "If you still want to be able to select between running Mozilla ${PN^}" + elog "on X11 or Wayland, you have to re-create these shortcuts on your own." + fi + + # bug 835078 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then + ewarn "You have nouveau drivers installed in your system and 'hwaccel' " + ewarn "enabled for Firefox. Nouveau / your GPU might not supported the " + ewarn "required EGL, so either disable 'hwaccel' or try the workaround " + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes." + fi + + elog + elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using " + elog "useragent checks. To temporarily fix this, enter about:config and modify " + elog "network.http.useragent.forceVersion preference to \"99\"." + elog "Or install an addon to change your useragent." + elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100" + elog +} diff --git a/www-client/firefox/firefox-91.9.0.ebuild b/www-client/firefox/firefox-91.9.0.ebuild new file mode 100644 index 000000000000..7128373e2339 --- /dev/null +++ b/www-client/firefox/firefox-91.9.0.ebuild @@ -0,0 +1,1244 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +FIREFOX_PATCHSET="firefox-91esr-patches-06j.tar.xz" + +LLVM_MAX_SLOT=14 + +PYTHON_COMPAT=( python3_{8..10} ) +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,polynomial-c,whissi}/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 lto +openh264 pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png +system-webp" +IUSE+=" wayland wifi" + +# Firefox-only IUSE +IUSE+=" geckodriver" +IUSE+=" +gmp-autoupdate" +IUSE+=" screencast" + +REQUIRED_USE="debug? ( !system-av1 ) + pgo? ( lto ) + wifi? ( dbus )" + +# Firefox-only REQUIRED_USE flags +REQUIRED_USE+=" screencast? ( wayland )" + +BDEPEND="${PYTHON_DEPS} + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.19.0 + >=net-libs/nodejs-10.23.1 + virtual/pkgconfig + >=virtual/rust-1.51.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:14 + ) + ) + ( + sys-devel/clang:13 + sys-devel/llvm:13 + clang? ( + =sys-devel/lld-13* + pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] ) + ) + ) + ( + sys-devel/clang:12 + sys-devel/llvm:12 + clang? ( + =sys-devel/lld-12* + pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] ) + ) + ) + ) + amd64? ( >=dev-lang/nasm-2.13 ) + x86? ( >=dev-lang/nasm-2.13 )" + +COMMON_DEPEND=" + >=dev-libs/nss-3.68 + >=dev-libs/nspr-4.32 + dev-libs/atk + dev-libs/expat + >=x11-libs/cairo-1.10[X] + >=x11-libs/gtk+-3.4.0:3[X] + x11-libs/gdk-pixbuf + >=x11-libs/pango-1.22.0 + >=media-libs/mesa-10.2:* + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) ) + virtual/freedesktop-icon-theme + >=x11-libs/pixman-0.19.2 + >=dev-libs/glib-2.26:2 + >=sys-libs/zlib-1.2.3 + >=dev-libs/libffi-3.0.10:= + media-video/ffmpeg + x11-libs/libX11 + x11-libs/libxcb:= + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrender + x11-libs/libXt + dbus? ( + sys-apps/dbus + dev-libs/dbus-glib + ) + screencast? ( media-video/pipewire:= ) + system-av1? ( + >=media-libs/dav1d-0.8.1:= + >=media-libs/libaom-1.0.0:= + ) + system-harfbuzz? ( + >=media-libs/harfbuzz-2.8.1:0= + >=media-gfx/graphite2-1.3.13 + ) + system-icu? ( >=dev-libs/icu-69.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= ) + wifi? ( + kernel_linux? ( + sys-apps/dbus + dev-libs/dbus-glib + net-misc/networkmanager + ) + ) + jack? ( virtual/jack ) + selinux? ( sec-policy/selinux-mozilla ) + sndio? ( media-sound/sndio )" + +RDEPEND="${COMMON_DEPEND} + !www-client/firefox:0 + !www-client/firefox:rapid + jack? ( virtual/jack ) + openh264? ( media-libs/openh264:*[plugin] ) + pulseaudio? ( + || ( + media-sound/pulseaudio + >=media-sound/apulse-0.1.12-r4 + ) + ) + selinux? ( sec-policy/selinux-mozilla )" + +DEPEND="${COMMON_DEPEND} + x11-libs/libICE + x11-libs/libSM + pulseaudio? ( + || ( + media-sound/pulseaudio + >=media-sound/apulse-0.1.12-r4[sdk] + ) + ) + wayland? ( >=x11-libs/gtk+-3.11:3[wayland] ) + amd64? ( virtual/opengl ) + x86? ( virtual/opengl )" + +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="6400M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + check-reqs_pkg_setup + + llvm_pkg_setup + + if use clang && use lto ; then + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" + + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" + + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" + eerror " - Build ${CATEGORY}/${PN} without USE=lto" + eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole " + eerror " llvm/clang/lld/rust chain depending on your @world updates)" + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" + fi + fi + + if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \ + && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then + # bug 792705 + eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)." + die "Set USE=clang or select "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_src_prepare +} + +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 + 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-install-strip \ + --disable-strip \ + --disable-updater \ + --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 \ + --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="${SYSROOT}${EPREFIX}/usr/include" \ + --x-libraries="${SYSROOT}${EPREFIX}/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 + + 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 system-libevent "${SYSROOT}${EPREFIX}/usr" + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + + 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 + + mozconfig_use_enable jack + + mozconfig_use_enable pulseaudio + # force the deprecated alsa sound code if pulseaudio is disabled + if use kernel_linux && ! use pulseaudio ; then + mozconfig_add_options_ac '-pulseaudio' --enable-alsa + fi + + mozconfig_use_enable sndio + + mozconfig_use_enable wifi necko-wifi + + if use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland + else + mozconfig_add_options_ac '' --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 + # ld.gold is known to fail: + # /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld.gold: internal error in set_xindex, at /var/tmp/portage/sys-devel/binutils-2.37_p1-r1/work/binutils-2.37/gold/object.h:1050 + + # 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 tc-ld-is-gold || 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 + export MACH_USE_SYSTEM_PYTHON=1 + export PIP_NO_CACHE_DIR=off + + # 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 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + 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 +} diff --git a/www-client/firefox/metadata.xml b/www-client/firefox/metadata.xml index 34498adf31a1..6670b0e4aed1 100644 --- a/www-client/firefox/metadata.xml +++ b/www-client/firefox/metadata.xml @@ -7,35 +7,36 @@ Use Clang compiler instead of GCC - Disable EME (DRM plugin) cabability at build time + Disable EME (DRM plugin) capability at build time Enable WebDriver support Allow Gecko Media Plugins (binary blobs) to be automatically downloaded and kept up-to-date in user profiles Force-enable hardware-accelerated rendering (Mozilla bug 594876) Enable libproxy support - Enable Link Time Optimization (LTO). Requires Gold linker when using GCC - or LDD linker when using Clang - Use media-libs/openh264 for H.264 support + Enable Link Time Optimization (LTO) - Uses BFD linker with GCC and LLD + linker with Clang + Use media-libs/openh264 for H264 support instead of downloading binary blob from Mozilla at runtime - Add support for profile-guided optimization using gcc-4.5, - for faster binaries. This option will double the compile time. + Add support for profile-guided optimization for faster binaries - this + option will double the compile time Enable support for remote desktop and screen cast using media-video/pipewire Enable support for the media-sound/sndio backend Use the system-wide media-libs/dav1d - and media-libs/libaom library instead of bundled. + and media-libs/libaom library instead of bundled Use the system-wide media-libs/harfbuzz - and media-gfx/graphite2 instead of bundled. + and media-gfx/graphite2 instead of bundled Use the system-wide dev-libs/icu - instead of bundled. + instead of bundled Use the system-wide media-libs/libjpeg-turbo - instead of bundled. + instead of bundled Use the system-wide dev-libs/libevent - instead of bundled. + instead of bundled Use the system-wide media-libs/libvpx - instead of bundled. + instead of bundled Use the system-wide media-libs/libpng - instead of bundled (requires APNG patches). + instead of bundled (requires APNG patches) + Use system's python site instead of bundled python libraries Use the system-wide media-libs/libwebp - instead of bundled. + instead of bundled -- cgit v1.2.3