commit: a74c2b05e99b1b70c5191a736436822f1158fa11 Author: Joonas Niilola <juippis <AT> gentoo <DOT> org> AuthorDate: Tue Sep 20 13:36:40 2022 +0000 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org> CommitDate: Tue Sep 20 13:37:37 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a74c2b05
www-client/firefox: add 105.0 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org> www-client/firefox/Manifest | 99 +++ www-client/firefox/firefox-105.0.ebuild | 1283 +++++++++++++++++++++++++++++++ 2 files changed, 1382 insertions(+) diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 741e9345cc90..1292987c1a45 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -294,6 +294,105 @@ DIST firefox-104.0.2-xh.xpi 433349 BLAKE2B 86121f6ba9e13baabd0e96217fd8518e8d14b DIST firefox-104.0.2-zh-CN.xpi 587664 BLAKE2B 0c210fe7c503a579b860ecc328033b3e547a6717a384f1bac9e8483e859e9c8cf07dd40ed9cb7d7c2989097a6850dc2da6ae179ee5e5bf6288e1dd145126eddc SHA512 684ccf3095aacc200440b4b33b91c24a75c08f47fbd1be5704ad9d7ce95aeaa1169032efc0b5b692124047238b41dea617ae22c126a60dc5a788ba8a4acdb353 DIST firefox-104.0.2-zh-TW.xpi 588467 BLAKE2B 67bbf28ecb6f4a8305c551893fde3e4a8771c47d02928fb06e003c8e6badc1af9bbec131759446c76da571084857c27566e90b5bf99dd6f5d024398b5bc66163 SHA512 8421fd070afd584f933b0912e74cfa9f62ee5c007749bbea44ea0a20ece130570a2450463da136ff9b00bea010872dedf47e21aff51de9e21bf87bbae2f911cf DIST firefox-104.0.2.source.tar.xz 478270500 BLAKE2B 1a8317a2880fd412449f18868b0ed7b5a757083a7622ec06fb48c01314774e5645527a217e38a98279494f3140d55414bb3fbe3c0731690e383aa5b617607dd5 SHA512 bf0d972add11566f5ef6402a22abd82122945de9fa9aab6ed7bb7e41d0843d41948a6d95c0769b0b704c066c8ff6e3f3bf26fcf288c64cd3b3f09a13d4dd467d +DIST firefox-105-patches-01j.tar.xz 18160 BLAKE2B 2acbe25186abb4830db69af6aafee4b63c84e22ba5114d111439f7cab6c49884ab96ce0c62d619d0e8892c84a1fcba7d5e6f0700c0ad45cd7307393b42c14fb1 SHA512 77adbf56f48ba0da5b0e790765a5a1399151337f7945359b861c96bea5e6e4429fcade52a337c04ae2e7dcbf296658ef8c835d48c15ea19491f43137a2159784 +DIST firefox-105.0-ach.xpi 462391 BLAKE2B 518b3592cb9fbbf816850c04a6ff88646a588cc9e611d8e2deb035b0ba1f0ea54f838cc0315b932e3ac0b3890a5c5a2ac0dc66246d9dec2f502d43d6a274b0a1 SHA512 b4ee588178257cc2bb3a4a782680a00697fe0caf5e5751be3aee3414df08c20ba8feb0514dd0fe53c0d9fee335c38d5eaad226fbe2dca048b83203baba23030e +DIST firefox-105.0-af.xpi 426869 BLAKE2B 31ab4be151e5d7a11fc6ea6ab4434932d795b6440490fa8f68869dffa4c55dbf0f9bbe9ca85e0d71a26f86e34fdeb4bfc11d647bebd60080c274015234012be1 SHA512 ccedfe2193f0dd2b4d895851742b00cdca7d347ca10522a5f1bd32dafe89a4ec030f271eaa22b1f9e7029012ea4c11fcc798cdd6d8f540783aa72336517b4522 +DIST firefox-105.0-an.xpi 507324 BLAKE2B 24b911cb0f68c0e0b354fb915ba81d14c1c7c57d7252c50563145b25a9a1f8cb921c83c6a9f58821b7465e9aa168e5c2af9c9fdb51005699b83e8a6c09e063a2 SHA512 e6220b2d71503c5e131ebeffbeb0a573ce48d15cb9714524de970ce52925c40adca7f2829b615924421a8d4185da03b892613c63107bbc7d8a9d9d6e2a31686f +DIST firefox-105.0-ar.xpi 571515 BLAKE2B 7986ec6af983f8aa48da55b12aa1446b22bd9b8781cd56d68d4f93c2658e907ffa8dfe67820b1bea251498bea7edd30cbfeef02e5943fa67cae00b7fd5d254c5 SHA512 3d7d6a5b17655ec63aa8eed367190eecf7e6ec6fdc50034f6c530897187d8a53bdbb1d25b968138ca10503dfb6674b3004f820b73d1a67a26a42e20d3a8820e2 +DIST firefox-105.0-ast.xpi 502221 BLAKE2B 322274a9a3f4081de8cbb49d194270f785399da6eb0fb015afad2ab02c9e2b261694fc2a3681632dcf429307c0beb212abe49afffb360b3641c67fef514aa2bc SHA512 bfcb39e7f99b0a769f18bcc6a19f3ca3185ab89dbe881d38991ebfa4b7eefb2cae5682bf9492edf2cceaa27a9fd3f78d73b6b7afc061d928bca5e21b0b0d7922 +DIST firefox-105.0-az.xpi 494476 BLAKE2B 90cf2183440fcf180630592d08da65ea8408cb3c40873fd0eadafca2a9cb06d6e5418be9a5f8140f724ae925cf8df3fbfb6b51022c0d6e6e9782253d7065ae55 SHA512 464da710136325c2969efd62f26c390b25733d806493edc943824b2816f0dcb8eeb88261e89048fbc1183b7e292f46400ecdc6f60b822495f0e237e813b9bb1d +DIST firefox-105.0-be.xpi 647118 BLAKE2B b5164bbb0b6b3c69220081dbe7e49c41f0de50cd366f347c042a32807fe41534eabd4d150b736d4f38eec70c24d12d4c6409fec35d09734cfe49e0b3a60bbedd SHA512 5139b62fa2ba825148a12f4379daa6cefc1ece69b4220c983c45f6e414a10bebea9c0ea0a1cea8e7bc0758723abc147c9150a5c2699ff8e6b542f179912312cd +DIST firefox-105.0-bg.xpi 587139 BLAKE2B 2f9047c7740781c41faebdd6764c69c17b1b7cdab13760fd56251191db6062fdb8af282e776cf4a0ca72c7fb517831b426e913c7fb3860a08a0085c0b790498b SHA512 2150eda7eecc111d2d9b01e2bf258405e11943cf84e513d8cbc63690c680dbdec3c5c87411d9e92d5e710ece46e686438260990c635078abd3285b5ce89e1e53 +DIST firefox-105.0-bn.xpi 585360 BLAKE2B 612e307b297a424356069b0e96dd7bec7dfca1a01afe04ea128968667a2b81cefbd85cef04a49daf16c0b5feeb82b68abc5e24da36673e2307df969a7f90fd49 SHA512 d3d4be2d7a1bb9b3c1fec8af9e79fb0af69024e432571079ed09b83163f09663e33e508709494584dd0050dc1c692d424dea0f7ccb0de83fa2754d65e746b1e1 +DIST firefox-105.0-br.xpi 539955 BLAKE2B 9780398c9c47d70707ffd6cbfc30eff20d5be4808df1675b8cbeeaa66ea58c15dfa995b7650db934c398157ec9b945756af74f5b586400b4fa8c4926099d5fa5 SHA512 920ccb7a2fa27392da378cca4ac4d85a1409b837731985bb70b997d3e495874755c8f9d4563b7b00ba2ce5279e4c3417b490d3a82d57294df8288f0574fc0470 +DIST firefox-105.0-bs.xpi 470942 BLAKE2B c448a0bc7b21db3f1cbbab3d39b19d48aa21a9eb60b4a56ab04f5231de3c8d11112a1c7d568e32a98b9b0e94bac511845295f713da31b4b9a6f72ff65823a554 SHA512 c035792c7209a8bdfaba460d3b0add9132de080de6fcc3cbda4e007c6e09af61a890acb2a8fb5630690dab1a782fe3989ae2c520cab7893b09678c1426ff2b22 +DIST firefox-105.0-ca-valencia.xpi 546411 BLAKE2B abdc3ad0bb4736fc5601d8c61e39956028585b45569ea6247c92648e58743e256daf1d3f24a9d31eb756d015d7bf8881c69e7ad38296bd0619b9d0ca18e41c0a SHA512 d9e7902212625c0452ec5a85d0b1bcebe2819ac0d58e98e4a2aeafd2a49a044abf76abf7f2bfd9371eaa54998d34697c9fefb026bd1e21a63f2ac88376dd9b7e +DIST firefox-105.0-ca.xpi 549850 BLAKE2B 7a888717d1af8c42009ce82800601f55e79d62f573b89b1caf0858614b6e22194decdb67044848b79e650d6a0be1cb373ee34942428ac2405952153b5ec0d8d8 SHA512 d5d79173acf0589d45e87e29736d02f75ed190d204417b77a392276369a9b757cece3740108f5829b1e48934f4cbdbdff712b2f78e2e65f3b879b895b6f586f3 +DIST firefox-105.0-cak.xpi 559984 BLAKE2B dd80d3110193e43c84d9da5154f923f87677872ea47b945897d05bde0d365f8858ae7b8f44c42d13a20d736af7a95e371f2f012b0acde0fc2a440b3dca0dd294 SHA512 1cd94db4d76622c55d4f7abdef34e7f91aaf5e353ed1816d7c9b80b8e3a2c8e1a5183cb0c30eaf1c90e381d9ee7e5ee6cde8cd811c6586fb93494bb6c7186482 +DIST firefox-105.0-cs.xpi 581729 BLAKE2B 666d15f6dce17d7525cd446780b69cd68e663be35162bb94ad84a739ecd6586b85abdd923cfcbcffb1d67baf0f843f861ad2c672e19397794bfe44fd6ec37896 SHA512 15bbabc1de218a372da7faa95a015ed5264df75143f3c3234854ee75144def6b22ed5ea5b30784c043ec0a0fff0bf8ac21e5db5f310d3911b73f60d70264feee +DIST firefox-105.0-cy.xpi 562725 BLAKE2B 79360272309b236f4246b8d83d4d83ba9a9a3ec19c46fa9c044e3a0f83ae143d784f61b647241c30d84ac5fcc99832331ec46dc90d0b0bd4e1536679f964b84a SHA512 ffbf678454c66e73ce5631dbe93efc9435b187d1703d5d2eb684111291768a75be186c71c0a112ffa4f7ed9a05311384dcd8d80781bb2d2845da19cb0615db14 +DIST firefox-105.0-da.xpi 553589 BLAKE2B 62fdfd8c6c0f8659459078289775b0dd1453404d1e5ae899b4d58de43d9a4622c83017e396962219f72389f22b32d10865203aece1c673eb8eda2f3415feab37 SHA512 fc1fa288fd0bf4638376c32062ebf117ac10a907fe36e9730f76956ce15f43d63e8ae1b9ed9b87980423b33cdbf59d936e01daa5e3add6954d7f5458d4aec4e2 +DIST firefox-105.0-de.xpi 574350 BLAKE2B 18e6bb652780fd13eea21b0f7a16e26601bdec7caadad2885d951193b9e80192c687937083f49710dcb7408d6be4829cef0adcad3c8b3ea838301c61f08d1a88 SHA512 b7f3bf6f68c43e8da47f1caeb9f48a16200c6aa33d9c1fbe88e9f2c566fc4e237a5315c4d31544681bf24749e37a4f162527d57a4922a47c31fe034900508c26 +DIST firefox-105.0-dsb.xpi 587684 BLAKE2B cb500a529baa29324d564472ccbc836c227900f0a141c70978e59f20673bd61d7e7139b1084abbf511fa4cb3861b6d694a96fca5e8e9737fd7bf048d0659db9c SHA512 944d69c3632e12594f61cf91eba407f71aae2e5bd483db8f261b2b64a599ff3b95a67aae6f2ebc9ff9dd4f79524ace480d99bf6ccfa4ee9664539462127bc298 +DIST firefox-105.0-el.xpi 663172 BLAKE2B acd710ed1178dfa20e7d54248f99941d6bbee580dd230455d7c8256ead07898b16a7d856054561457e24bdead14e0e4121f55e25255506e6cc51cedd63687974 SHA512 d4144295ea1929466f2efadaf833b44be2f9ac5b796cd2d4dfea51f134a3d5a6fe4db569c9c66c0be2123b208858cf1d14889a8d65deb18f276ddd05fd7048d4 +DIST firefox-105.0-en-CA.xpi 523058 BLAKE2B 75c34195de8e535e5fa85b601ec1ccccd010662ab0044246bb5211017223416173898dae8ee2b4d400d206619a2d423b508ade6f0ee56e5703395dcd07cbd7f0 SHA512 976ccb29f80980c5cf80543e650276f3e624787fe26758859f6bbaffbad2538d7db99dfa692fc2f9c8492a06d5b1fcf419c12e51b0a895114e584d36f729d3a8 +DIST firefox-105.0-en-GB.xpi 530699 BLAKE2B 858de4b72d6680f83604483c84edf5b656531c9e5dcc5e0331632c5645b50fbe4fa2e05183d032fea0f258e933400e9d124e940a0fd3a16fa8ac0f4564946f46 SHA512 9181ddafb4d03cfc7d1bcd16e4b92cfbcf220fab932f266b7c6c24bc98c3d90e9fa5b966fbe544885e9798f353f261d9a5ec1341b30219fc0937f7bea5da0e63 +DIST firefox-105.0-eo.xpi 554046 BLAKE2B b2220066890e47e08ba87f8b6886ac4eff2b88d8003ce8469bb3b104ec7fca2d7f84deb5a180f8538be4a79e82bec4b008ed40f1dbd00ded8befc157ef57caf8 SHA512 955d5b73ea8dd7edc501a385e707a376c48170cb19c69784b382d5b890a7d42bd613936190cc52f99c7d0ae0be9af62e111ab48c599ccb608d9c0816bf226104 +DIST firefox-105.0-es-AR.xpi 568709 BLAKE2B 0e152903bb46b13a22aa02777021cdc4e14141740283f2a52cf2ecd885ff6449e3cc266d92124cac6768b2a85c1dadcc057f6c8dd3c4ad85b334f661869ded32 SHA512 1fd92c2246df6a5320377f5f9983d4c098a0508226d8e866ae6c03c4c98935f2ca838e6de541bbec1b4ee1569e42a1d2416ff6489f16911ef79bd4d27411a75b +DIST firefox-105.0-es-CL.xpi 567806 BLAKE2B 1be487ab3f56aac176b337fa727964f500265bbf7c4bdbdef98444cdd2f032a4879cdfb58acfb58203ce409b7d6a3d9ab75df6a6eae1b0bcd58c289572da8229 SHA512 7d3881ccbb76349849812aad858f30cfdc468402249df77058230afde59297051d540b0d4d5a05db3209f0065558eb74da17f2f4cc0bd0b3966a2a967016b2c7 +DIST firefox-105.0-es-ES.xpi 553317 BLAKE2B 7c8ff9d42c9343c75ed4360aadb0704a4986db6d2165b6a8bd5e80562fa9ebd0bb5736098b8770f15ec13707eed05a29ba3132d5b17e6ced3a47377639fc8804 SHA512 08741a2a0f8ccd3a401d1743da174d41639ea5a541ef70170ab641acaa1688699565a0bbbd9557a0d8481a79b1d5af2582ae98dee9b7803b3bf7c9c8fc63ae96 +DIST firefox-105.0-es-MX.xpi 571862 BLAKE2B e86cc6d277cc50f687309398f1060109e2a80ba180495ce20f8568f8a15a50e6cabe3f3dc8548d59da5a19534d96aee8985880923d4447715d907bf9cdcbacdc SHA512 a1ca0c654f388e4fbd3888d1ddab6c0451fb5d46117aea76cfbc139cd24861f45e0c70348bd7c6b2a9b765f7fe19417d7a34be00e547bfef4112dd3cb0dbd668 +DIST firefox-105.0-et.xpi 539881 BLAKE2B b1063c03b9f37e5867eea4ba0e7f79a0056362aea929ded13292c937faecef21d4c7bbd923695972912920b22a7ab9c6735ffbe3c4738eacf572f4684e5dae63 SHA512 29f5c8242762fb28dfe944eb071cf6b4bba82cf300181da2817ac3d3b3c9da4558eaa2cf8357a4980d3024d10c1eab929a8112d1504035991c828e9f508900c5 +DIST firefox-105.0-eu.xpi 556228 BLAKE2B 93dd1796836d3a15b1f72ccdda4779ef06d344970718bc593c08e7b3832ae364cfc1a95e0a009a0b089bbe2f3757272002aad6642ac1609057e30e1da1cd19a5 SHA512 ecee6a561a51f59b9b7788942c5c6341ca112ece9db4edb69277b2f64c2e7652392640f3937c9a3c4f91bc270381d6597a16ff6b51d5cc4ee1067768f442f7f6 +DIST firefox-105.0-fa.xpi 571110 BLAKE2B 401844e080a74762f28f106c5c602d23ae6a07b0ba7cb25b147b2fb548efa630956f4fa547d26627865c2837d20e595af02b3d3f1072fd7747545aedddfa3335 SHA512 4be6922847fab0622c81b63e8e180035a364df5f120dc1d6a84fa85a5c852deb0197ab9f1d60a0db54b77f156e62f1dc2ef528711fdce26d52c11fbaee2f51e7 +DIST firefox-105.0-ff.xpi 481136 BLAKE2B 27fe9c34aa4d00285ed9a6035b8b921237852a7c5aded61855d95749cb377303409097a34eb667025d249f8bc06467a5389896376cc35e98ccd5b031ca4d21bd SHA512 cf35094cd2978bdd44660faf9a29e2ed5ef6ca8bbbd464499c82f193cf0c125f909785defba730aace1d789da88abd47ad3b8a9d0a76b29844003fc6a8063f99 +DIST firefox-105.0-fi.xpi 552062 BLAKE2B 8f52878f31e8a224b5ac06069007e25f606740f14eb37d6f24278ad45677fc8186b01b071ce5e571fdc206c83c6eee638303a08d62a2b3081542056804004f61 SHA512 7dac8adf410da53e1614ca2358ea7f3b06f66f019e58c94a15fb652dfe2135fcec1248ad5a2f1b56cbf8e174accacbf16d2190806c6597aead880b45bb9cad71 +DIST firefox-105.0-fr.xpi 580211 BLAKE2B be25a8e129d640fd8931b013d3ef79a0b2c10a8784eee5e72d7bb9e681a6d4ab3377799b5270da1a2ab0265a0e0b43cde56bc5a322ee791114f00591cc6582cd SHA512 10111f8792befd7069eccac01c91e648595f622fd7d17e37ce6f5c656d49c286c4869997b306b560bff696e30afbd15f6f85d7989290fe871bcb8c27c88e1862 +DIST firefox-105.0-fy-NL.xpi 564513 BLAKE2B e68e5fcf8d4b5bb4ba5d64806058ef87ed78675091638583b5ef435766c40b9c90b7191b20cbb542653e4af7a9cc5346b190851a7e8cf6072e6d5b4398f7f978 SHA512 31488b4bb233e76085b9a2462e81833bc9d7d46dfca73f35ec50a12ab881d217d031fda92fbf540275c2bebdbdbfce836eb22937fe8ed46c9d59df679bb27600 +DIST firefox-105.0-ga-IE.xpi 479289 BLAKE2B 12e16417e7fcb89b8ec60dcdb3e25397c904cfb272f58994551aad2f6c434825d70848af68087710cdab67cc4dcfa47c95b73a5d068abaaa0ff0097116c0d768 SHA512 0ceb64d5d4fcfe8e1c02b34d28305904ff1a330a1300882561b25af7a3109cd2e772f49f4ca83c818c6df37828ce8bf12bd7bbc2fcc27d6db11068a315a1e02e +DIST firefox-105.0-gd.xpi 552645 BLAKE2B 5476f373edcff5327de9285e8df600a7b4bad0770cd7b159cab6084e5c1944ca2f933b64858d4807f08bc9c6c40b44a8da98ff5d35659153689e1a376da7e43c SHA512 03faef5fa0ddbe50bae585d180100d3d668b26803de94ae526d23a3764df8bb6bdd6a30229c8a3f2e4da2440b2660ba3ec149384e21d96ed60830b228a65c095 +DIST firefox-105.0-gl.xpi 548771 BLAKE2B 96f99730a77cb0567a795749e9113d03a3f28d714bcc7aa9ffaa456e00749f60bf761e652179bd914930899adec40104be59d3cee99990a79406b7bf4d72ce09 SHA512 58107209fc005b44a683eac0489629a60913bf6405ce18e834ee43b5c533906df962edb23a574606e2dd5648501fbde93735e43d6bf499494114300564f225e2 +DIST firefox-105.0-gn.xpi 579017 BLAKE2B a24aa45193226265f20a8ab8c29c2111043689db07ce50008f573db406a569add2690556056f2e9e4c2a345ff0eb966a9398aa94f0de77d9a0fa06cf10a63a89 SHA512 80be6dfb2a2e7ce7e68991fc2f35a54a6249bd720adc06d0d913f8f465c5e97c958b051ab60b5c575f80320d1a880630558ab83d94eeb7460b1abd914c5982e8 +DIST firefox-105.0-gu-IN.xpi 536338 BLAKE2B b75b9a86b08834b4f8289cc82649b73e800e4f2d3cbe387e622c93d400b3e1450a18c4cb7eb29f52fe27b4acddb5ab18d2ab5f5103d91f049384bce6f931c25b SHA512 e0547cecea69ff88f396cef93283a360c747add582a470cd1f894ce036d224f3f73918cac92785ba38a9d0ee58f6c88892d3432f598cc6ef15142f66fda7bd6f +DIST firefox-105.0-he.xpi 575460 BLAKE2B db24f91d8496eb68eaf6ab3738634bc99d53890736f4e821f528607c8bb4564749cb6698116f48878246aaad6ce84af5b33226f6df23f3f7c1cbd699ab33c4d3 SHA512 9b238a9e9e04690f96cb8ac204d387b2d27effe706857093317e37d24140a79ec05f729bc20c2f7aa1a7e3e1259eaa942fbdcc35f00f68423243343b19d81237 +DIST firefox-105.0-hi-IN.xpi 566798 BLAKE2B c4beebf4d1469ebe7c44dde7714f4857f59dfc06e5f0c5671bee82f2e01c4f5e87b2f0c5f3dde5027977ed49f718529cd314cd9dae55c62e9e96eb80e5b10244 SHA512 30e2b3de8f6f68a9f53a386ae96b45c6cde45c512b247dfa2aafa29fdb564e9dbf342de79e4f1af28d67eacff87cc4783244c5507ee51add20340821a62021b6 +DIST firefox-105.0-hr.xpi 539459 BLAKE2B 6b39a370a07997a7e62f4248a7dbfa627f0aef1343362b35e221a6364e45d0ae54dfb57f37780452d8585ee5ca25d79cf7c4a4b30346862b02fc05b8c70390de SHA512 7e300696f256f4df213ed373ca6c7d47aa9256dd0caa6a10ffeafce2883edce15c0939461e5cba583ee309a030d100ade4a456e84efc295f790e2e9400bfc302 +DIST firefox-105.0-hsb.xpi 583863 BLAKE2B 93f82e33980547b5c57a67005176abfda4115b3a216302c1d14a66f73471eac409f44ecfa6258e54fd36ab1312c6166972a99984a62c1030a215037f1ad7b6da SHA512 d87a15be0e85a687cdb98313c3a7dde03f5c55a880eeb529a9a0b2dda4e3065eb1d1361834043549b1479a0b60b1b2e879eacdf65f553945d1681c8fdb2b4465 +DIST firefox-105.0-hu.xpi 588449 BLAKE2B a57997cd1cbac8e6391454c19a32bf5a993d4567af6bda8676ed1de70f428da0634b18e2b136527b2f147bcc0d83244318dbecbf7cb522a54af3fb9474307738 SHA512 6a3770f80402fea7e1efdebc2d6abf41a097c6909745b62dff0880da63529d6993bbab9bd2a15a96c51a282c43dd6ee060970b9559d486fcd315ef364aca8797 +DIST firefox-105.0-hy-AM.xpi 591352 BLAKE2B f23b8df6b56269fce491c3024e78c638b6f1e7d6c7c89e62868af3c2a5133bd4ee05d38b45854a2f177ee0a6c85564d8a0168e48652110ce4efa91b5d85c8ae7 SHA512 7b0b6088e57d8d16ad1315379572077c6d45619d530897f8473c9b8afd46ab9337a97c9b1627b6bd210d3ab2b776fd825f2953a0751fa6f3b5cb57b26c92f30a +DIST firefox-105.0-ia.xpi 553254 BLAKE2B d723d6f3009c11a51c216a90eed2e03675db55146ee7546e6fede2f6c72e3a065ccd7943b08b9a9802ee797bbc3989d3a90df264cd99823957b5baffb2a322fe SHA512 b46c013dd0d3f4b3bae3941421e913c594beef27c8d1f473150d1bec2d83fdd360e176693ac1fce6106dcceff1420badb45589ed5cfdf28a5b854725af685579 +DIST firefox-105.0-id.xpi 550328 BLAKE2B 3c8330f3f30b391d41160ced36a9e1624ec690dc9ea1cba5174a8f0db406329156e58f21e91ecfc585c1e823e29b8ef6d1ecf57990e93231a4091c2eb13b3d75 SHA512 b77f30e2e93d1823eff7654fc4683f29720e64a870d2b3f128ab2946267693a0b22a60a16fdfacd2d6e4ecacc876c6fae7f1af225edd5de37e8d004b2323ceaa +DIST firefox-105.0-is.xpi 560803 BLAKE2B 2f28b4c948d952598e17770b9eef2ecd6bc00c5ad05db33d59ced3239e5e82ff4cd35315b3324c5d381d79393327c8094bd0df57c50f2f022297bb79ad155785 SHA512 31771a373cac848a869d50ef6e2cf75d3fd1d4b7006c675952f44d2918d0a6332a901ca93c02c0e35a3a14c3d4bfb984c0c709921301d2201ea5a0b1a51cd834 +DIST firefox-105.0-it.xpi 471260 BLAKE2B 99638b000d56a7adc52173ec286c9398a3bc032f3f8d6d2fcda12d37a172aa4520f373588c53f3a84c21e3c3ed65f37e5a593810190594afc97e5fc6e9549fe1 SHA512 09ecbdcdc30e87613d2f87fbef4fcd39a2f41b351f917059004f92f9eeec7cd504ec79e5aeed7c9e674f652777639697f9a6ad973f213fa577ff1080a16fb0e8 +DIST firefox-105.0-ja.xpi 593770 BLAKE2B b9046c203e81892e11310ed46671d9f8f0227211aad441f8904dcb94d82c47f28daa87294df94d3c9a61722939c1fab65bb698751fcff790828d9a24fb70c13f SHA512 e031c6915862a5feb633cb39a2c72e6b9d265db231a6f3a64416ed6911ce1aa725f85b751366f613ac4903a75f090fd7a03dd5ec6dad7078f546d66bf33d73a4 +DIST firefox-105.0-ka.xpi 614606 BLAKE2B 91c8869a36cff0e8cb4e018222c4f5e207ab669daa59675a84ae32179058ac67ca48c0db817e670b965e3484b2dc3fd7f165f2ef94d943af5c8a46b5463ab58b SHA512 b944f7edfa5283674a3425a4b0130c74c4ee5a80494597b1f3a67cf65957820343326dda96daedb347757bb4e9f704c06fc3b8f839ee4439f0fd35df8fc90f47 +DIST firefox-105.0-kab.xpi 573721 BLAKE2B a1434c8e0c074dabaef2a34096123af3d0367c8cf625f60a144c746231711b54ce7af7fea44d840cb830cbd58cddfe2dba1cbc9b0ff7c22b0ce30e1c55c477fa SHA512 ad287eaef61903e040ab1900583efc268cf67f551eb35136a8eadf5208c840722c6d2fa2e627a7596902a0f304941ff33240844dd901f858c5460a1bd9281c16 +DIST firefox-105.0-kk.xpi 631192 BLAKE2B 40a7b08c2913b482d6a16c7bd043b6b88de4a9afd7cb96840d06761bd5fe58eed5d5d3e2f32b7511ddd3f7f362a19cbd7665ffcd6d79b2540592a3eaa6b5f6d1 SHA512 890a098495a80ed2069d8a85406d1309655f7f4b90e19b7fe75857138b86425b5cc19e85e58fb5cd43a10ddbf924c191c2164e395e033b4ec2b0baa90e77b8f7 +DIST firefox-105.0-km.xpi 540636 BLAKE2B 3cee1fe8f0fd605436c6a70480e82651c58ec9c85109f716f4dcfc3521af99181efba3702156033b20172c521789172053c410fdf95b83700cd864dbf52dc309 SHA512 d0c53c1b4994c8752b508f74593179284692fd3608a57ab48bd5f4aea762a3961603d20aa0a1948d459faf5fe38290da2666449dc91af5b692eadedc24bdec05 +DIST firefox-105.0-kn.xpi 506456 BLAKE2B 887f41af6106df63d038771e73a4a0ab630a6bdc895c51f7ac353baec9fa89f11867b1e46513201ccc180ac2160819a0d378ec60ef5157cb39de3ff624fa2d7d SHA512 d99a560226e96cafaab2170d69c098da127c62fcc6e162bbb8499a176dbebe16cdce983ef0ec204be8b3a3d426f685f6bcc18afc921a6e1a314a7e8d29375a6f +DIST firefox-105.0-ko.xpi 600511 BLAKE2B 17d0ba694c396d9147b0c42bb63e10fabf28cc5921cb46c8e1b5db318246e1271128d7247ff97de325ce38b4bfcac4cc5d195aa92afcfed10bc77212e2caf0a2 SHA512 f5d6b959fbdd4a51ca066bde5e3633d3c1af455ddcc6508f4c23c0591bd058e0220e356561130b95c61b87b751a4c7e6216c3e52d1b532f1d395e8ea1915bf13 +DIST firefox-105.0-lij.xpi 479007 BLAKE2B c3ebfa92f42b674c02574e90d10c2d64ece9fbe284f9c36fd5db18701ec862a18a19df6a6590ac657fc9f9690d891d6cb2e361ed092cf58d38d03d58ff2695d3 SHA512 dbc7136a1f1fc5705d2b02048fa8e1ebb1f052a3531bd7a87aad6bf83e379cc8c1b0f644a68c7b6ec25bffd2318e62a182863c63b04d623b5ae7687af23c7004 +DIST firefox-105.0-lt.xpi 570052 BLAKE2B 6ba0174c3deb84a0f3d8ad4558826f723b2fd15fafdab63e5eb9c8e8a15045d7b3375d84f426f69ac69c7b05210ff363474a05da501924e9e4bd2253a6b5ab60 SHA512 2545590f43ff0e3cdd027b0023e7d4677702151be3484600808988c586efeabf77e4e5b3b04b2f70221b6ba78e1f36d4de8a049cc5ec0208901f286e4fcf861c +DIST firefox-105.0-lv.xpi 472201 BLAKE2B 328fe46dafe89586a1f8eead3704f2ca65d83e3c2930a903f5ce91a5f1eb75ffa4d063489e4a24937bf95e5d6ab6ace242def6107de26a7b6116202518203a14 SHA512 ca09b9c5e13f803e081b181d5f65d06f2a58c763bb0a10511314a80100f4d7d2fce7131cf128b838839a05158b6f14141e1c7b26c53188ed4d7f57fc7fc018a4 +DIST firefox-105.0-mk.xpi 490859 BLAKE2B 38b9a5d250ee7c4cd7093dd6da3d3c289726d75cdbfdcd992f343d5cf9a783ca553a543593996baf3f03f697ea15a1392048da3bcae21de3a1da70a301a4a246 SHA512 0b83d8477fdbcdf5ea386cf4f9538e9d58d52793391dd4bde7271bcc90ae58bdeead3df184f88f17b54fcf7ac3fea584d5b5fee0ceb8ddd477660698009d8392 +DIST firefox-105.0-mr.xpi 539886 BLAKE2B b00ae908acccb3eb23ec6cae816b32d315f29e820d76d52b523e53325af8decec6b6b5acf467b5e994dc76fda9946336ad2895399d4e823ce07a871f135150b4 SHA512 c054444affed517f7507984498e84dc4f779d98473235cea864a7f7dc3b474f1121a9d6677eac85599e0b4ef186bb1c68fe8f37be72859f1f3edce9407015307 +DIST firefox-105.0-ms.xpi 457110 BLAKE2B 25cfebd14cbe0164252689a99b9ebc1a0991996b30626efc547a1c869e5de4a4a4707d1d356fda8f6469af67ec5a3f06f1a3c5092219101fa174cbafd8dfc9b6 SHA512 3279fa8016effaa64b61a51e843782972db118e21928d1105a381355304fbec41d163a35e02cb47d49d55584b5a86b1d3d34774f8ce24ac781d4118348d99a7f +DIST firefox-105.0-my.xpi 520836 BLAKE2B 278a46b4718f265c6e8442896f9a0e837dba0535df55fa85e4703a574dbab18d75ce548bca15df399381ea97637855f96d82bdd33227f4237d87384a3d99bb5e SHA512 3419279f6b1a05408ba547a01d4950803e7708d6dbda4b38f1788d6d450f18a920d09efa547168c43a67155da9bca18bab8569b871f2bb3f35a240e6d863a2b7 +DIST firefox-105.0-nb-NO.xpi 549440 BLAKE2B d776d923ccd85b33b8c686b60bea715c4fbdc10e2cd0f4f08fdc132625a4149d1fccc6947d532f1e67263c54cddd6cbf1a6ea7d2499e6133c7a1ed0eafc28c43 SHA512 cd8a90956635c01c729015949447c5d060e9f1e447b9290824e332efb953b5c0d31a601ce16f50dc6f15ed6467e383256613226195b2758d4a1168580fa46c3b +DIST firefox-105.0-ne-NP.xpi 498114 BLAKE2B 5e5573f549cc721c8a6e507da3cddf29df748d2e563837cd4f28135f153f844d9591c53b1738bf216c8194f62dddff1f555482ab53d481e2f7ccec8292d1a78b SHA512 b90e3f35d0c3cc249b95b9e0693221c14967fa07a20afa528b717884285b3c62ef2dde5d65058907f0ff8a264544eb9843c1ca44ee54380f79b81b413f1be25f +DIST firefox-105.0-nl.xpi 558679 BLAKE2B f0098d310b3d180abaa565e3fc55eb8d7f7b0a8f1b1cee8ffc9fca12fbbe5ec569b6e15912e880a7219e9783af2751ce342f43f37ce76dca400526c4cd3f1c64 SHA512 f984d5b81c24ee8f36d177051542ff8ce06b984a2ef837b3410aed75c7565c0bc309e19c32ea9a419c01dc58d755518708b39b7194cb5e279fa2be3470b3f8ce +DIST firefox-105.0-nn-NO.xpi 549946 BLAKE2B 7e4830e951881c9423a3ceee904a6b7848f7a78622841eb44eedc1d25a855e92a8621e3a37b63d14fe7d63417de2d90dee0cc153007b291864a843e4efb994ee SHA512 4734c8cf916c85d1c3342e2c1a561ec0680efe4e98a382467a4fb5fb514b14372d29c587ea0f5530881bdf314962b57ed6954472577d64372ea636673ddad174 +DIST firefox-105.0-oc.xpi 569592 BLAKE2B 9f2d041dfd06745506a31ef2b76025c7fa8d12f7d1750db148630582e21046fbab38e5b8764668731590a0e65f09ec97d0beb67d165a6dfddd944234422ea897 SHA512 3e1076ee5fa0531fba9fa5a37a56645f5ecdadbf27adb392dfd65dcfab5fbcd56fe0b9f08234c3ba192a827c33a5d493123411cd5809cf935090bb9223c206ec +DIST firefox-105.0-pa-IN.xpi 621200 BLAKE2B c36857c0214595febbc3fd1c9fc6a41b677d1c72d79dd6e67e9a55cdb7712f3dff9a90ab09fa9677a83f71c93d2eae1e9f09f18655edd9afda2bf282f9ff846e SHA512 7a3d0761a0736d0386cc658afd14946ddb843c8a380c79c1813a0eb093339ba342d1389ac16c5fda2951790622e276caa8e99cc6ef7d30e0edc7a397765e16b0 +DIST firefox-105.0-pl.xpi 579327 BLAKE2B 7364acda33029575189c4e84379320b96bfbf7343f0d6da45b15e66f61410bc190624f4b066c8e7cc00f2803fc6597e31714db41fe7f49d58d59178aa6f41f5c SHA512 151c63dded1a08c2316818f72236dc907de3b8f91b89595015cfd7bcee1a2b4d11830d5ca1cdb812de5c70f9c2d7b1b6a803c48ad02f7b12942185b028143ac1 +DIST firefox-105.0-pt-BR.xpi 563715 BLAKE2B 19ee561ac8f503519d4b4d323b542441dff0a7a60a22e1d76960adcf03bb2d46651274db0943cf01e802f22468dadf3911a668feafa51df9cee1a8265bece87e SHA512 445f31e9e5582ea911f9fa8bcf2d52735c48273da8e2c0d5df219ef1e23827b8a053e4a7f38107b78a580f76f75802275acd1228fbcec12133e6198fde1d2272 +DIST firefox-105.0-pt-PT.xpi 563873 BLAKE2B 27f3940da60991ca53b136e02c879c77a6a4a87791d4e3d74c69d79005f71107fb6ef84518f95994be6333944f431a69e7b4919b288b87d551dc23adaa0a5363 SHA512 34a669c09bc275e7b1d2e800c01bd527ad43bd837be4a16ae51df1920cd8a17a7d8e1743abe478df68d569ed4aba878d8627b35f93ae4ea3c5cad0a576c7dcac +DIST firefox-105.0-rm.xpi 547518 BLAKE2B 2c67c5e8bcbba1fae3760a3700863c49d147868ce1009f7e4d4076f2991cbd8d52aa3b97c385592e92a4fc965bcd2b4326099d4825360cb5c7726385e5041ec7 SHA512 ad6c601e038c893b2bfbfb083fc09534001f853d0d91807dd6b686cdb7139621ff6523a60c17d159b14759ef00a334ab65ba953f5e16f3f088305343793844b8 +DIST firefox-105.0-ro.xpi 537768 BLAKE2B 8a5f9a93f71f492a2b354cb66eb8775873594a28e6907d77bf21dbbbbd5a4bc03c5867ab38a5b19ce26a8c215957ae927833f4fd031f321cc7c4fe5974fb10ea SHA512 5234754893df799538d00c9bbc0509470ee0558cd7dceabd80fc8cd45be6f68c5e078b474e88c07d0cd28ac6b2329deba076da315e584f470cac02e6de971348 +DIST firefox-105.0-ru.xpi 651152 BLAKE2B c8b5ddaf3955daf81b1c3109a28bd5c1f9d789797932c65603ee2c9628abed1516b8010230c75ce83045c8233e7465ff8ab6579bf5460f6eec7866ab257637d3 SHA512 132d0fdd7d0027f364cddacde8d2858def95f3d27ed5fc76fcbe160c26944897ef345739bd709a7f4955bb4122e0d1b7c34ee8f69fedd434448858f6c1a93c01 +DIST firefox-105.0-sco.xpi 505203 BLAKE2B b831362c3c03eb46b1797b8481f7aa8e345cf1809d0ed055ed1051cb0a191a44704d7ae0eb041373b45fc8a22ad5ff5d1a8d16991070cea17d76ce9f5765ee82 SHA512 5c990fdda7f7a587344c7dfd2ac5fd40c303a0fd3525d271bc1588dddd7fb0d656954c789d171983a59ad8425a2b6f299fc0324922d39a0964785c155b722bbb +DIST firefox-105.0-si.xpi 573125 BLAKE2B fb53b2ff54316990eb3edd0c059deb6a08f62e55bf3b515ac4deb5498fc0e432b56815972b87fbccbafb7aa19a8628b7a8417b938ea98603a8f4d78632b29728 SHA512 3061c7e44c31c754a9608d22c0e02f1d0649df9090dcd91c7bbe607a16a1034b89d75a0a2812dd5ded3c5962862d6a0e729eb1fa0733d54624ca48f3ec472d36 +DIST firefox-105.0-sk.xpi 588214 BLAKE2B 212fb528898ab2447e9d09dee1db229adba4e67f63a78618e0064f858aa93484b0265084e1eabc1f715a5b3fc0a60aabe5d5699cd7151c2bd151730b2a4cdbaa SHA512 e9681134cd349d2a64c60beaee02d9fa9cd55d99b8a0d1296996db7e1f240c148ef62b34c9fdc1aa9fe3fe58ce0b3c4daef77ffb564c88b7dbf9445073f021ac +DIST firefox-105.0-sl.xpi 561108 BLAKE2B 9dcfcd71cce3fd0218875b71cd4984c5797f48bb1508ed46c1ca28d040011951043f62fdd2e1331bd3f044c551355850b6ce7b3a0a34a49402f8435e1456e283 SHA512 593d913f31cd62d13bbdca59ff2b3e54551d72d3e161c4c13a2f77937d95717cb78b201ef7c8af249b0d9162972c0161df783f64b071f8aebfe3e8080f0f195d +DIST firefox-105.0-son.xpi 433314 BLAKE2B d86b43f67b8156ca213c6d3c59ae0a1035a882dd65aaf497e853ea815d3cf487073b8e4030affb80614d1f79a6e3ef22d70f4685d5591e7c77d49cbe04c08d7f SHA512 437ef372ab79cb5bf36d7a1805ed4253955cd8293cc60512156baa679f22bce8b9a2c127e0038c226b6aca279e40a5597eeb891c6633e987e61b89009f25ec46 +DIST firefox-105.0-sq.xpi 565438 BLAKE2B c26483ceee5196fe31f7154e5b3a544e477add30c974a89b22205a9d07c2f38f8e10c65c18e103f4ad309e458e81462f520717c98c24fb8b2741ec14499135a7 SHA512 6fe64021f01ac8877cc30612fdf957277e2a2b0d77460d3a75b5d12be807330621f805d0ab4858ee217a07c22d662bf5c43f361daab3c6f52af58a319c06821c +DIST firefox-105.0-sr.xpi 604650 BLAKE2B 86cb703f3ac2ce2fd5260cfa4f72c2b5e18f651be839813debef827cf21285d031b6af18d756369bff848c46df8e5955a17f4fae0b008f42c96c160a740028dc SHA512 e5f07a3b9acf5f7103613ad0059ef1e9d6a8cb3930f3a6dabe807747f75dbc3e9c74b14104031b3795b01483e9bba7b6c7adbd8a6b6e1ca5f992465a4969f724 +DIST firefox-105.0-sv-SE.xpi 560616 BLAKE2B 0cb7eb69fc2831b7e31ae8cc724c0c20e234d32b431997f0ded1f4392b41739ff5addfc6ba55fed19cea7fd2874d8d9361f35dfd936b147df408387280bb4aa3 SHA512 3a4619f618d2bd47445b4acc16c065c34967eab09a891b1fd81f1ef2885fd4c350b871829d74beda2ae78ffb83598379a2b0037405b1d4931de7628fb68082a4 +DIST firefox-105.0-szl.xpi 520743 BLAKE2B c017823733cc8c7aa663ff0d2390d7713cb09765ccdabab8883ae6a8260e17e6a5e1ddb62dcde381faead167a226e2235b39797d76e2613bc29bd14d52503d46 SHA512 ad08c5bb2e6ff3da15900d43e6756ae51870b7aca91b5400888d2fc9780929f78605445fe32bce7cbf8a6051700658136213a705b2d36a445852a346788f246b +DIST firefox-105.0-ta.xpi 519016 BLAKE2B 6ef09bde897cf09f424b1c86f8f6f62bb1ab47bd864821399d2bbae2e310c8a2d38941d7ac1767d2875cb54aab4baa945da42087bb516abaf36f951fd9054f8f SHA512 3d9a2d7552479342a8bc8141619e95018ec738033d7b61e9b5d81a4ca9dd54fac9f36baaf24a4f1b3e86ac6dd399acc22ae325c0d7c48c7b538bf6538515e801 +DIST firefox-105.0-te.xpi 560549 BLAKE2B d59cff66c4026428eee5f7d6e00f09e4d27a25ce4443ae55659e6c3989ef5dec39ddbc3976a205b463de66bdcdf49888ab8894e557eb8bb1d2958d5efffb1c3c SHA512 79f0dcf66565b45e0c5c0a2910f276f8d32355b90c3f4d089a5a934fb1d77f15d3a1936baee51b0bf360c9670b88dce4905b311e0338d437c6c05414d1e9d9d6 +DIST firefox-105.0-th.xpi 621828 BLAKE2B 0cc3253d4573a32c15e6cd00dab4011f8881039bde1a4438f76b44b4a276b6fc00096c4cd5c80b337caa68a7f30ea58b5ce5980ab42119eb99e02f7287eff33d SHA512 b9b84266d1ac5f6f676dee29abfb07a4ca13690e45d0f04774bee6cad317b95110a80af9afb8d6c66e246e33c57015a5d41c6810583e96b1bcd5986c0ecd8190 +DIST firefox-105.0-tl.xpi 528005 BLAKE2B 26ae127c0a7189aa8a320c7c78a2f9fd30a5a99a0042428b9cf0825e4e4adb516d8c3c36341b49355f196dd4b47cd53568cc0f28a645429eba85046418ccefa5 SHA512 c449ed87ca56f18dc70bfbcfce5e737b00513ea2221a5cc0ec5e357b0372434058e4045d488b1723834468e29bfb1ad5a7b0f4f34691a5da82bb103047a033cd +DIST firefox-105.0-tr.xpi 574327 BLAKE2B dca8147b6b00d823cba9655daafda6938cd10990a5b43640001f55e8608cb54b32d3c66a623252b45e947761d703ef25c03a5d8c95bf287f536716f3ea17e8bc SHA512 b95162aab0e1c8530602dbbc7c26d798768085f10ad4d7d36e9934d956f4b3a1cd6529c48c9dd63a52098b88190dce2ab087b9a1f72691c4fcc82c659cc9cad2 +DIST firefox-105.0-trs.xpi 498807 BLAKE2B b95619ff1112814fad74979fe2556f65f218cb64d70f7d3270f02ba7f6ef8cc350cf1d04c0a7a3bd9b18f7e36310b215c1cca5ff15624ba2c89123fd5009abba SHA512 b8f1b2e23ce6cf9228c14ff7314e307021003983d0db7533e0937bdee102b41061e1c6982637730c797f20cdef9b89659ac3ea1eda9006241e19a11b1fac7f37 +DIST firefox-105.0-uk.xpi 644336 BLAKE2B 0af43ff97b71621eaf2f7d028af2fb27c446fd0d193ec5f7e7ad37bf591a5e23454df5ef8960081a7c0bb6d3cb89a4d07ec11c33244a72b395ad15919de225a5 SHA512 bc656f7f3b1f81471e446ee9b7e62b0cf80b466a55f23f3fa4d0147549f13f0c93272350b0b0ea433f91ba0c2bc669c373667a5d97d5ba7bb4d8a8102401289d +DIST firefox-105.0-ur.xpi 566535 BLAKE2B 97b2d3ef7d1560ace7445a68acc36ae529617b592197309a302d1476f7acbf3bb79cdb04ad45bb90ee4052a51006178e1b0be6b9cf1c8efd6789711f0b764a0b SHA512 4729113722992f47bba9aa95ee46d374fd5fe775a4033cc99b226c42a1b68f0177c280b1c921eb6865e4d159558c24ba4628659771c65d4001ecfb9150d17d90 +DIST firefox-105.0-uz.xpi 486874 BLAKE2B f7bcf82e4f33c452deee3d061718dff75a638b0b2cd77baed7d6011d46a8a4e87e2ab1d7e9bf9e1484d88e953c691731de068c7522cdca4bb3d736da434d17a0 SHA512 616812a38b878bf019252ce373e9a03965f646e0e1793f624b1f806af89065d2de981ba946afb9d697ee310d8948bc7062c917cc4f07ae65ffd0d320abf3aef0 +DIST firefox-105.0-vi.xpi 595124 BLAKE2B c27899ee403a140819545214ec94c76511b03293e818d012ab071f3f1f7608685cbf565771ff9d3c66cfe18970e7baf444256371b9a9d9cbe9462aa8000fec2a SHA512 c18a29b4ab803c33f1a7ea39e349208bc82312f38d5b037009b0b3bc71343f7e9b2807de396b074188f49d0e532be14571b88d456b6bdcf9c4f36133ffe63958 +DIST firefox-105.0-xh.xpi 435737 BLAKE2B f879915c310fd039863708758ec14da34d38ae5f4db79f03e054a626f2a9214394131f4e2caf4b5a899e23a97aaf14e5f6b338c80333cf648ee9a5b7f58ae8af SHA512 a7256f6529f3b60ba3807f0ed02fd5089aa81b7972ab0918c2822717c672ef3946d236c55dd03292c88a871c9fca665b6d0d2ffc75d173304348d07b56426339 +DIST firefox-105.0-zh-CN.xpi 596363 BLAKE2B dfd583934ee29157fb45212dc842135f945b0a05a246982d49c11a1e044c7d75fd501e7ce449336936a4a8115b7e9bd1d3570ba57bd3cb9d5275009c7ac2572e SHA512 0ea263baada245adb5bfa850a83018ef42e9d4f8b0ac4bb8459281d5f179a9dc0a2d2a64505e115ffc15ea37243411b8630d3c83a885c4b84c922e128b48cf4f +DIST firefox-105.0-zh-TW.xpi 597428 BLAKE2B 7fc6a94076a5031292c52de3bbe3bffd463d7ce8ac0ab2fe08df38ceb2c7fe011c91171fe569ffd79c4eaf1d0b1b11688f6c64db55f204d735c43908f2db4f15 SHA512 dba7949b44d3429f6b14525862f4ac7aee43e90c8f9b8485db7d1eef82d37da38c817873cdf56f555481999b0ed32264a76e4430cd65c112768b072226506df1 +DIST firefox-105.0.source.tar.xz 487471648 BLAKE2B fb911cfb117433994927bfc0b05cd31ea86993be0b728d3b9dcda7dd3608c8b8a3a6eb6b4dada643abd2e109e9c551495a7bc92909bbb6db93763c0a66ac465a SHA512 a48f323f874b538402630a9094daa83189b3ca319feddc80fd66d087eca13f21c8b2d85be9c29e948c18cb7c524adac44e135adcde4d4592738e104ae9c1a734 DIST firefox-91.13.0esr-ach.xpi 453223 BLAKE2B 88b43c79620d3e0263f7e251a41c8ee88f10798982d8a0db3d8d545b83aa4e3da75140f5d9bf879f2229ea831668344cefddf6c67ee45f3169c7d854cf53a90d SHA512 795ca4fced227f29861de8fe2e93acb339d41de8b09c941244f4b62c8e7835971ec4366bcb3a35aaa75e779087248df459364c262f2fd7b294a6d7176b74e1ef DIST firefox-91.13.0esr-af.xpi 426921 BLAKE2B c0a89908f46ba666c9d3c9e916636e5aeff7564a0f2132213aa443c5dfed474006dd65dc8f47d0e0fa30d5435c810937da98536b3408dae62c428a5f1f4bbe78 SHA512 8c8a40cb2117479c08c13077eeffcd3473b4e2fd9164269da58a68b3c0e77c339184a2edca79ae80480f2b7e41c42e598a9350f01061b424cef1aab35a7480bd DIST firefox-91.13.0esr-an.xpi 499888 BLAKE2B 5a3bf70080e5ce5fee3a47955678a179e716474c4f341cff1ebffef0401b2b24d0e61b30c772b3863a9b3e62bad68a37ba4037b8fea332d40194ad905fcedad1 SHA512 8935e71639824517870e679bfe4edd8870b37c36a4ec6d5e4a93c9496c5df551fcac14dab397be12f80e0a3f5fa14253f1995d0ee2e4328dd05219901299898b diff --git a/www-client/firefox/firefox-105.0.ebuild b/www-client/firefox/firefox-105.0.ebuild new file mode 100644 index 000000000000..9b338e3b7c2e --- /dev/null +++ b/www-client/firefox/firefox-105.0.ebuild @@ -0,0 +1,1283 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-105-patches-01j.tar.xz" + +LLVM_MAX_SLOT=14 + +PYTHON_COMPAT=( python3_{8..11} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="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,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" + +DESCRIPTION="Firefox Web Browser" +HOMEPAGE="https://www.mozilla.com/firefox" + +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" + +SLOT="rapid" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" + +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" +IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp" +IUSE+=" wayland wifi" + +# Firefox-only IUSE +IUSE+=" geckodriver +gmp-autoupdate screencast +X" + +REQUIRED_USE="debug? ( !system-av1 ) + pgo? ( lto ) + wifi? ( dbus )" + +# Firefox-only REQUIRED_USE flags +REQUIRED_USE+=" || ( X wayland )" +REQUIRED_USE+=" pgo? ( X )" +REQUIRED_USE+=" screencast? ( wayland )" + +FF_ONLY_DEPEND="!www-client/firefox:0 + !www-client/firefox:esr + screencast? ( media-video/pipewire:= ) + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.24.3 + net-libs/nodejs + virtual/pkgconfig + >=virtual/rust-1.61.0 + || ( + ( + sys-devel/clang:14 + sys-devel/llvm:14 + clang? ( + =sys-devel/lld-14* + pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] ) + ) + ) + ( + sys-devel/clang:13 + sys-devel/llvm:13 + clang? ( + =sys-devel/lld-13* + pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] ) + ) + ) + ) + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 )" +COMMON_DEPEND="${FF_ONLY_DEPEND} + dev-libs/atk + dev-libs/expat + dev-libs/glib:2 + dev-libs/libffi:= + >=dev-libs/nss-3.82 + >=dev-libs/nspr-4.34.1 + media-libs/alsa-lib + media-libs/fontconfig + media-libs/freetype + media-libs/mesa + media-video/ffmpeg + sys-libs/zlib + virtual/freedesktop-icon-theme + x11-libs/cairo + x11-libs/gdk-pixbuf + x11-libs/pango + x11-libs/pixman + dbus? ( + dev-libs/dbus-glib + sys-apps/dbus + ) + jack? ( virtual/jack ) + libproxy? ( net-libs/libproxy ) + selinux? ( sec-policy/selinux-mozilla ) + sndio? ( >=media-sound/sndio-1.8.0-r1 ) + screencast? ( media-video/pipewire:= ) + system-av1? ( + >=media-libs/dav1d-1.0.0:= + >=media-libs/libaom-1.0.0:= + ) + system-harfbuzz? ( + >=media-gfx/graphite2-1.3.13 + >=media-libs/harfbuzz-2.8.1:0= + ) + system-icu? ( >=dev-libs/icu-71.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) + system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] ) + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) + system-png? ( >=media-libs/libpng-1.6.35:0=[apng] ) + system-webp? ( >=media-libs/libwebp-1.1.0:0= ) + wayland? ( + >=media-libs/libepoxy-1.5.10-r1 + x11-libs/gtk+:3[wayland] + x11-libs/libdrm + x11-libs/libxkbcommon[wayland] + ) + wifi? ( + kernel_linux? ( + dev-libs/dbus-glib + net-misc/networkmanager + sys-apps/dbus + ) + ) + X? ( + virtual/opengl + x11-libs/cairo[X] + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libxkbcommon[X] + x11-libs/libXrandr + x11-libs/libXtst + x11-libs/libxcb:= + )" +RDEPEND="${COMMON_DEPEND} + jack? ( virtual/jack ) + openh264? ( media-libs/openh264:*[plugin] ) + pulseaudio? ( + || ( + media-sound/pulseaudio + >=media-sound/apulse-0.1.12-r4 + ) + )" +DEPEND="${COMMON_DEPEND} + pulseaudio? ( + || ( + media-sound/pulseaudio + >=media-sound/apulse-0.1.12-r4[sdk] + ) + ) + X? ( + x11-libs/libICE + x11-libs/libSM + )" + +S="${WORKDIR}/${PN}-${PV%_*}" + +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or +# overridden in the enviromnent (advanced hackers only) +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) +fi + +llvm_check_deps() { + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang ; then + if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then + einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use pgo ; then + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( gn ) +MOZ_LANGS+=( gu-IN ) +MOZ_LANGS+=( hi-IN ) +MOZ_LANGS+=( hy-AM ) +MOZ_LANGS+=( ia ) +MOZ_LANGS+=( km ) +MOZ_LANGS+=( kn ) +MOZ_LANGS+=( lij ) +MOZ_LANGS+=( mk ) +MOZ_LANGS+=( mr ) +MOZ_LANGS+=( my ) +MOZ_LANGS+=( ne-NP ) +MOZ_LANGS+=( oc ) +MOZ_LANGS+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json \ + || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6600M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + check-reqs_pkg_setup + + llvm_pkg_setup + + if use clang && use lto ; then + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" + + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" + + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" + eerror " - Build ${CATEGORY}/${PN} without USE=lto" + eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole " + eerror " llvm/clang/lld/rust chain depending on your @world updates)" + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" + fi + fi + + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore, but not sure whether that's + # due to better OOM handling by Firefox, or portage (PORTAGE_SCHEDULING_POLICY) update... + # addpredict /proc/self/oom_score_adj + addpredict /proc + # addpredict /dev/dri + + if use pgo ; then + # Allow access to GPU during PGO run + local ati_cards mesa_cards nvidia_cards render_cards + shopt -s nullglob + + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g') + if [[ -n "${ati_cards}" ]] ; then + addpredict "${ati_cards}" + fi + + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g') + if [[ -n "${mesa_cards}" ]] ; then + addpredict "${mesa_cards}" + fi + + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g') + if [[ -n "${nvidia_cards}" ]] ; then + addpredict "${nvidia_cards}" + fi + + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g') + if [[ -n "${render_cards}" ]] ; then + addpredict "${render_cards}" + fi + + shopt -u nullglob + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch + ! use ppc64 && rm -v "${WORKDIR}"/firefox-patches/*bmo-1775202-ppc64*.patch + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Make LTO respect MAKEOPTS + sed -i \ + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure \ + || die "sed failed to set num_cores" + + # Make ICU respect MAKEOPTS + sed -i \ + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/intl/icu_sources_data.py \ + || die "sed failed to set num_cores" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \ + || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py \ + || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clearing checksums where we have applied patches + moz_clear_vendor_checksums audioipc + moz_clear_vendor_checksums audioipc-client + moz_clear_vendor_checksums audioipc-server + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang && ! tc-is-clang ; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + have_switched_compiler=yes + AR=llvm-ar + AS=llvm-as + CC=${CHOST}-clang + CXX=${CHOST}-clang++ + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + + # Set Gentoo defaults + export MOZILLA_OFFICIAL=1 + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-gpsd \ + --disable-install-strip \ + --disable-parental-controls \ + --disable-strip \ + --disable-updater \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + if use ppc64; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + mozconfig_use_enable geckodriver + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3 + fi + + if use lto ; then + if use clang ; then + # Upstream only supports lld when using clang + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409 + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + else + # Avoid auto-magic on linker + if use clang ; then + # This is upstream's default + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + else + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + fi + + # LTO flag was handled via configure + filter-flags '-flto*' + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + else + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # Modifications to better support ARM, bug #553364 + if use cpu_flags_arm_neon ; then + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon + + if ! tc-is-clang ; then + # thumb options aren't supported when using clang, bug 666966 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \ + --with-thumb=yes \ + --with-thumb-interwork=no + fi + fi + + if [[ ${CHOST} == armv*h* ]] ; then + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard + + if ! use system-libvpx ; then + sed -i \ + -e "s|softfp|hard|" \ + "${S}"/media/libvpx/moz.build \ + || die + fi + fi + + if use clang ; then + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64') + local disable_elf_hack= + if use amd64 ; then + disable_elf_hack=yes + elif use x86 ; then + disable_elf_hack=yes + elif use arm ; then + disable_elf_hack=yes + fi + + if [[ -n ${disable_elf_hack} ]] ; then + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack + fi + elif tc-is-gcc ; then + if ver_test $(gcc-fullversion) -ge 10 ; then + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..." + append-cxxflags -fno-tree-loop-vectorize + fi + fi + + # Additional ARCH support + case "${ARCH}" in + arm) + # Reduce the memory requirements for linking + if use clang ; then + # Nothing to do + :; + elif use lto ; then + append-ldflags -Wl,--no-keep-memory + else + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads + fi + ;; + esac + + if ! use elibc_glibc ; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # Allow elfhack to work in combination with unstripped binaries + # when they would normally be larger than 2GiB. + append-ldflags "-Wl,--compress-debug-sections=zlib" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + if use system-python-libs; then + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system" + else + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + fi + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if use pgo ; then + virtx_cmd=virtx + + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + fi + + if ! use X && use wayland; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose \ + || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from sys-devel/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install geckodriver + if use geckodriver ; then + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..." + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/geckodriver + + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/official" + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" \ + || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +pkg_preinst() { + xdg_pkg_preinst + + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse + # does not need to be forced into the LD_LIBRARY_PATH + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + einfo "APULSE found; Generating library symlinks for sound support ..." + local lib + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do + # A quickpkg rolled by hand will grab symlinks as part of the package, + # so we need to avoid creating them if they already exist. + if [[ ! -L ${lib##*/} ]] ; then + ln -s "${lib}" ${lib##*/} || die + fi + done + popd &>/dev/null || die + fi +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + elog "Apulse was detected at merge time on this system and so it will always be" + elog "used for sound. If you wish to use pulseaudio instead please unmerge" + elog "media-sound/apulse." + elog + fi + + local show_doh_information + local show_normandy_information + local show_shortcut_information + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + # New install; Tell user that DoH is disabled by default + show_doh_information=yes + show_normandy_information=yes + show_shortcut_information=no + else + local replacing_version + for replacing_version in ${REPLACING_VERSIONS} ; do + if ver_test "${replacing_version}" -lt 91.0 ; then + # Tell user that we no longer install a shortcut + # per supported display protocol + show_shortcut_information=yes + fi + done + fi + + if [[ -n "${show_doh_information}" ]] ; then + elog + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):" + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all" + elog "DNS traffic to Cloudflare by default is not a good idea and applications" + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5" + elog "(\"Off by choice\") by default." + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences." + fi + + # bug 713782 + if [[ -n "${show_normandy_information}" ]] ; then + elog + elog "Upstream operates a service named Normandy which allows Mozilla to" + elog "push changes for default settings or even install new add-ons remotely." + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or" + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security" + elog "concerns prevail, which is why we have switched off the use of this" + elog "service by default." + elog + elog "To re-enable this service set" + elog + elog " app.normandy.enabled=true" + elog + elog "in about:config." + fi + + if [[ -n "${show_shortcut_information}" ]] ; then + elog + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for" + elog "each supported display protocol. Instead we will only install" + elog "one generic Mozilla ${PN^} shortcut." + elog "If you still want to be able to select between running Mozilla ${PN^}" + elog "on X11 or Wayland, you have to re-create these shortcuts on your own." + fi + + # bug 835078 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then + ewarn "You have nouveau drivers installed in your system and 'hwaccel' " + ewarn "enabled for Firefox. Nouveau / your GPU might not support the " + ewarn "required EGL, so either disable 'hwaccel' or try the workaround " + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes." + fi + + elog + elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using " + elog "useragent checks. To temporarily fix this, enter about:config and modify " + elog "network.http.useragent.forceVersion preference to \"99\"." + elog "Or install an addon to change your useragent." + elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100" + elog +}