commit: 15ac4bb53f345968163553213bf2f018a7249ab6 Author: Joonas Niilola <juippis <AT> gentoo <DOT> org> AuthorDate: Tue Oct 4 14:56:50 2022 +0000 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org> CommitDate: Tue Oct 4 14:56:50 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=15ac4bb5
www-client/firefox: add 105.0.2 - enable wayland+pgo, - virtwl() function copied from https://cgit.alxu.ca/gentoo-overlay.git/tree/eclass/virtualwl.eclass Closes: https://bugs.gentoo.org/848858 Closes: https://bugs.gentoo.org/767997 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org> www-client/firefox/Manifest | 98 +++ www-client/firefox/firefox-105.0.2.ebuild | 1317 +++++++++++++++++++++++++++++ 2 files changed, 1415 insertions(+) diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index e85378d07cc6..b6b13d230990 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -196,3 +196,101 @@ DIST firefox-105.0.1-xh.xpi 435741 BLAKE2B 4cc4ab55df561b95948dd6b5e389bf6a1e357 DIST firefox-105.0.1-zh-CN.xpi 596364 BLAKE2B 18c80655c480efedd506922bfc0d4430eda525a1b4a15db66851032c25dd0e103efd8e246003699996a01137972ceff1b60ca50cafa8ee8c9ac8b2657726654f SHA512 51a8bcd726e46f28e404f3866abb8ef36b01163ffaa42e23ff73cf596b920b7225f0bafa2f587389f585577aca379c4ab1805c808dedb36ddf05dc90468417c7 DIST firefox-105.0.1-zh-TW.xpi 597433 BLAKE2B 904ba9a3e987c3cde42aec94017000d5744e69195dc7382891f6443aa748f26f670bcc7c6e9da8f1954da8bc295c2f469fa666ca02141caa71fc467d5b4715f7 SHA512 c39cf3d846c43a1942ced5ead5c70610faa6089b8d87dd32a16d7d5909a28e051b122699947a8117e2ea34a8ba463d5b481f68fb231b33872b5c4b4d70e25024 DIST firefox-105.0.1.source.tar.xz 475536540 BLAKE2B 9ee260d5fbebf48fa3158e917e04707ceadf21961623b323d7f3c598ae754bf7cb9280d9cfe009c48ca52e9dd2d6c40d1b788f429bb0e3e9d620163dad3b2b4b SHA512 66ef7cd5028953e7da9d55e127135739c9d85be68ec633b71c52d6c9427edb0bd8a38504148484cd322adcefb57bfefe6e57cb15855f195508fe438864f4322b +DIST firefox-105.0.2-ach.xpi 462391 BLAKE2B 9f81f3f73fd3f616495e0d3e215cd3164a407a28ec5ccb89a723fa02f32131251b5eab3fc91be15dbcc80fc77041c360791c638c63f8463fd9e2063ade45397a SHA512 c6f202ad025b5cce4b92ed32a55996f5bae9f6a2cbc5d26ead6399332cfe41d9020afe01ad3f4dd21f42d81982ad61e4f718bda006027fb8edc51e2103f17d42 +DIST firefox-105.0.2-af.xpi 426879 BLAKE2B 4635cfeb46eec321bf06b9d2ff2866a112817155de4dfd13fffed3e53ae3e121eaa398655a817bb2d728b86f2d7ab80be680f7a49a252a147785245aa0a7c107 SHA512 5a98eba4e0a00baac7c0f3f824816efb206c4bd8381af56f8956164d50f1afe74988a34bd5f74d5076baab55c6bafb9d08169f6b9491f6fd5e4da3cc40cc0832 +DIST firefox-105.0.2-an.xpi 507319 BLAKE2B 01c9eedc3a2784b3bde71d9e9edb5a2da8b329c21e5a048334cbc021f67f3980905ad0040cd9a3ddc12f7b844957817351f471711172f55242edacfae6d5f65a SHA512 d3857557ca2cfc20bc95d61d564e17d102d56c5de5f8b9f8529ff098aa3fe6dd3264d7cdddd78498252f42053349f68ddce496d2c5b61bc6d0e08a618dee605f +DIST firefox-105.0.2-ar.xpi 571520 BLAKE2B ac4ee3a8906ee9e32256038753854badec8ce610930276b558f64b6cb17c09d7b995e8f1de48b9a13fb52a1a5708821a27b9502fcc83ed4f1e7f12ed84264def SHA512 d082aac8ce3d1d5e0afa5b019c57dbb47b1d43b75334f451b21b1a931b29325bf70849c581dab334f0f49cee70eca1aec1eb5fb745f4197d4c51623edfb0bb54 +DIST firefox-105.0.2-ast.xpi 502233 BLAKE2B 6b3baca0af83953bce5214c82ca7b3b89585fc9aecb4e22e676fbd86f4ecd9769bee90d2e7f53786a65d47605f25709aa36701b33a05e2b85279d4a9d4ab7d0f SHA512 c65f70642a917a40eb63a95d4e773afadbdb0048ba1b4f6120f11d22d15317c1326ae47755425e396a2c05a8d36d02e9153047ba7a3b9b5902bf90e15bb1f39f +DIST firefox-105.0.2-az.xpi 494481 BLAKE2B 5f3c0f47c70945512bcd2d8ce77163d1222cafac66d6f40cf72f3c3285efe86c0a77b0d43e9f023f8175247330d11242bb9b0cc25aac5b4e984c060240f8a0a1 SHA512 09c48ec36988b66486a8cca6584f9e95172f24ec2b9222aa148c82f923a5fb773f65e6ba8effbc9de051488b6e2b7fb3e2c8ebb24084d0513b604574d66c49dd +DIST firefox-105.0.2-be.xpi 647127 BLAKE2B a35edee8ea0dbcf970797ce1ef26e58d7b336bf4ea81fc5df4e85ae64a2a316237ba35c76a49cdd19006063d03cbcdb633353948b131cb099d3d7a09c2abb0c2 SHA512 26f97144bc0aa86917d39abf2df6a7ff71b0b32840730f67bf55c7ead27fd2711fe935753df3c743a00548bc777b8e300558a2a0a77c9b88e911b799cd3a69e1 +DIST firefox-105.0.2-bg.xpi 587140 BLAKE2B 6af462bb2ab04a951c7761218667058daa3c8d0c94e052176b38cc5223addc08392769778af58377876aadb6d72d5f5dc729d15ff11a171574f904f6c875ba5e SHA512 71839cfc774a01cf5e006acc6a3cd9f78f748f1c3902826d59c28a22dfbc8d930b9f6d695b1eb06ac4b24b8e4e01046d26b7252bddafc64fd435e63dcdb92ddc +DIST firefox-105.0.2-bn.xpi 585368 BLAKE2B f04d81ac30695ccf974ae20e685cba3a714203dd5aec27b8a474fdfaf51033661852bea98408a9c4f3ef8417e39cf973e95a0aaeee6f3c844ef3019a6eb971cc SHA512 788cf144dfb42b5433c718bb422a5654ce1f6f726ed2a65b3b3fda9e9ba50ce2a5c094dd8419b0c97bc59ff81872d9cbf9477dd44214584559075fcae0b9c252 +DIST firefox-105.0.2-br.xpi 539966 BLAKE2B 0a4b89e3fdf802b3eb1993a9d63bb525abcd39531106f429033f35e5c88e03f00b5ddc4ca14bfd7bd57bec09822b5ecbfb1179d293593d28ace4b7448e60686b SHA512 bb546c791a44da27146c1874286d9a1ac3fc50d5c455d1ea9e6821d1422fdd4333cc7a0cdcf6d2d81d2a5c40e890bbbb849d38d336ac9c4490e0e50dbdae223a +DIST firefox-105.0.2-bs.xpi 470953 BLAKE2B 28e3474d912227a80b43da629b9bbe0e2d3e4e31f0605c697b9464eff598dd1f95181ebf1c2f7ef67e374e0387c77812664260bd0504fdbec371ce060e3831fe SHA512 b70570bce2139c7117fbc8159ce194e7d4b9d2777c551cc81c258ebbe66fd79ce0c215afc6b2f9b0678a7a62377653942b7c2c8b8091129cb3c585a2d543efa4 +DIST firefox-105.0.2-ca-valencia.xpi 546426 BLAKE2B 65326ae5b3b91f00ad7c3c31125a39142492c767559cba70437f8232d02e4a13428a972ca1d2f253b1e488a4b4f3311a3bdf3e6e116af13d9a89051530d5ca5a SHA512 16a40af9545846298d55070136e43af57295c264cd8dcc93633ce11041400707fe8211063e46333cb7dadeb489c031919fb46ebe442b1a391038309bc33d1436 +DIST firefox-105.0.2-ca.xpi 549857 BLAKE2B 00b0b750ff0c9f3e208fd1705ec209084c34bf4e56ff46277b0aed73036d1c96a68ffeadd2a36111c631355f374ab160c79c422b099d6ad2fbbdb90074aa773f SHA512 912b56033a54ea3d45633f5393748377d178cee7c2f472248d69c0545b705266f7305d112715d36ba575dff9aa09a95f4e0bc36672101c161d57c39d5944076a +DIST firefox-105.0.2-cak.xpi 559990 BLAKE2B 9ae57c23e5a4b5b4921e1c09510f0964bbb448f6e5e55a2caa8cb676478fb71a3771b47c1ee1e2250589bcb5517a6a951502fed9c4f955f9f182986e6fdd1fe7 SHA512 600a1b9babe5b40442d10b0162e6080920f563cadbe03d15457aa4a71088e56017936c78e0eeb6ec21fc37f20d3d4b6b47dc3bcd607e79e9165cc58c0124ee03 +DIST firefox-105.0.2-cs.xpi 581735 BLAKE2B ccb36c77d6ddba17017b748c34de7ed0f37b07748051d148c7660dc75127e9df8f4d3c02a542226073f28755eda2d19b3037175a479f9d30b04a57bec267b33b SHA512 21bd4ae4f92dc1c6bd87a5989c198e8cfdb9b4ec604e4c6fe455d48f792e2c03b63cef9c052bbe24fe1f153637df4261bc04a312037b477d6386a8b1b0882a56 +DIST firefox-105.0.2-cy.xpi 562730 BLAKE2B c00bdaf2d4b8b8a89b4f9cff462d6ccc771a208c2b2cdf8d5f83eeef9975f91122e3cee6c843fd88f3c880015995b60a4fe659d3d18246099b3a1cc107bc65fe SHA512 c62d561bcc3294be67231b12ad326fb910f96c2500dfd405db73ec3dd77e9983eb3754d6a2f37eeb6ef3507a44699d4e9f707da0782abcaedada21d7dac011d0 +DIST firefox-105.0.2-da.xpi 553592 BLAKE2B d619659f46f6fadcd0149dbf2f74acd69a7bce12c6a12e0dd29a70492bf0630fde34e23bfe7948907542ad91a321b75877d9d71d11482c3afed00929b2533eef SHA512 775de9c470f9cd08eaae484e3e7fc6083464ed9636f49a5328be596dc1ae7e57167e4dde462a74f8b0a754ef8a84f48a9f33fc8d37852409787f6f9704f9c802 +DIST firefox-105.0.2-de.xpi 574355 BLAKE2B 53b41e092a4f341eeaf28ae621f4ec3e8776cd482a53098cace4fdcdedc30cc4144e996530acb8f76aac8e8baf7cf2b6ead541783d90db2e63c143c6e9479257 SHA512 caa2f03277946d819214df127ebb5d13534fa1ac9633e560b4194234faf893c48b7becc6238d1e30100d431289dc2469e623998fa517308d64b6e31bb7dade56 +DIST firefox-105.0.2-dsb.xpi 587695 BLAKE2B a9b84253f0d47007924a99d7b5bbf3b289a2363f56ff3ef9d2d727eb85ef7dc71258952ce8b3443f2ac2ee4137afac328cdce83d108989d8141a92401c821fd7 SHA512 944f42bf5ba38d2f9aacf65bf3a762bce77dd5b9dc53e33004482b868a8c69dab934c1d883c2ebcb9661ee730efb427b2b0e166d24381796b04580f719daf279 +DIST firefox-105.0.2-el.xpi 663186 BLAKE2B 511539d15d52006e37e0327c1c0b22401e71504233cc25e9ebfe679262e05cb65627f065d1fe6a37a171abd058c1db92ef78432803a120d74cac8298cd60fd1f SHA512 beb94e7f840dac1745c6d332d6694be9f803a950976e573f29646b0faad5df91e7d821fb3fde945b5285e5e7e10f0ec39e2f60e5e35d98ee90c47d7cdadcdf89 +DIST firefox-105.0.2-en-CA.xpi 523073 BLAKE2B 748421a0eff80fbff1f9dbb80b646480b73c48825704fac6f8b0a8affe1a1832bb3bc11011d837919134594de78c7a4c939d49322983e3797b3b99ce59d26c67 SHA512 e02a51f671cc79140d0c1c8b4884c30653037fc7e90e0f0063b67895e524f6db7576efc521dbd31a0dc8f4bc13bf787e445f005b17d6036b496c6e19a5f3bacc +DIST firefox-105.0.2-en-GB.xpi 530696 BLAKE2B 94a7ac14d7f783521dea81b62766b4f3a51b82368c097df055bd277dbbc183e0184f19422adf89247cbdd48acaaf609ae3a50b29a8d9b8ef5601b2929308961b SHA512 fe6dfd391693661a481b6939597276e821cba417eea8ff6243da77bcb823a137f359a54fd633f55a5b72094e8a48f251f3d319e9ca09a0e05263a212293d1bff +DIST firefox-105.0.2-eo.xpi 554046 BLAKE2B 9f071b86a6d9b1d080d37de736d37eccb034dc2d04a87d6c1f8243dd1729c0a15de017c5373c152a26644f3c9f7c1c86d72f0723be8cb258d801ceb9235a77b3 SHA512 05c48cddd2c9d773561aaf5b331112b58c79e4c9e0ab3823549a5360b618932bed00cea63d7c5486c66c64218aef78318cf5746641557872eab8ac75d0613de2 +DIST firefox-105.0.2-es-AR.xpi 568715 BLAKE2B 48f6219030d8de47ea70e2575c20758e38ab7b568543c166c6e5b263ecb57b6e9fbd749074216f791f65854bcf1c8144bc181cb05b0fd6656d9dbab8573d4901 SHA512 89a4c9bf604b12ac2e8c3838810ea8fdf9b230ac2f19be15939e5ccb8776f2f3f1439be2287341ebe0921ec78a040631ac7ce1bf1c034ba7ed1f730e8968e440 +DIST firefox-105.0.2-es-CL.xpi 567813 BLAKE2B 712cc833ae89c4d95107cd99f75faa387531b867599a2e26973ee5ca1d053ebe1ad4a206f7b8befd9766caddc8ac96e9f68f2a0d2581f3cf2be2c2e3b7e59b75 SHA512 8120371a7346ff95da760e27c250f50c223d5b32fa0e6fce73914e37a47beebae60885b5537cf627a15d4f75e5a777211d8a9bfe27f34c8370e2a21e1c0fc676 +DIST firefox-105.0.2-es-ES.xpi 553328 BLAKE2B be7eb7433d61cd31989ed80974a27424caa31958217b0d35e9bfb9ad711bd1adb670d9dc0ee7aa71bb6f136d74521d7dcf1dce69675be939d7d9171ee74bed4e SHA512 b28cdd4117168a21c705ba8e20373574c422b0d4938396b297f76395792282a920eca98dc2c6b0d9bd1df20f7dd8dae5f67a9e6865c9da2dbcc882fd94e6f3b5 +DIST firefox-105.0.2-es-MX.xpi 571868 BLAKE2B c543064b6d40624e9f57d9ffc80541ff6f2fd1f4d742572c9665a696fb56bcd190a5de3637d1790fa0b25f3ad1759bd3b4be74c444747184c5003902197b6569 SHA512 eb6b65b9e2dc341cddd35aee7b5afd06bea4ee53cb5f8172e103d64ed985d8049c70e9249a8f8c51074d2c727c66d6c159a0435c09899c8ea36c862688e5f724 +DIST firefox-105.0.2-et.xpi 539893 BLAKE2B c28506dae8d9f1efadc99cf8de6f9bbecbb37c4780c1e10d2bd976b5816cc6f7e603c19ff0413e5e47eabdfb343ce884416aea5ddf64426949f929fe35d86e4a SHA512 889a3ea25723267092a1cf7479987ef93b6305947bd2fb7682803e44aaa94365ea6da1f955d560b567ea77166201cfff9e0857ba0a2a891703860d898917fe66 +DIST firefox-105.0.2-eu.xpi 556241 BLAKE2B 6357354b9234585062fa200ba378919cd60a6f84b7382f33e71530c2d688b33e1ac7bd91093d718c04e766178c44099ac78794315c4373d1232aad70898d1e6a SHA512 1a6413a3d4af7fbf174fb245fbf558549db51ed1d51861b86656222c1ec00fea70253720412fd7bd1a30e0fe034d0aa77fe53164022355f8cf0d9db974f60385 +DIST firefox-105.0.2-fa.xpi 571117 BLAKE2B fca76032dc92af5b980e5683c3a6a3bc69a3f1608ffc4e0144e61b19fa3d4e48632f4b5eb7bcb9f4899dd1241fb649f8d195a685ff6b9938a8bac46fbf939151 SHA512 004e0cf5efc9ca14df73529a2449b7ece5ced626288d9424e3913921901c6fd9de617f75fe13330a866fe28c9a47913abbd232fe24bdf6539e6000a14e18540c +DIST firefox-105.0.2-ff.xpi 481142 BLAKE2B 0382a55580a424337ec6dbd3efdbcea4ff6f98ad98593a3e6df7392e2aab1d06ca2063b5ec1c86f8dda857c50be39af0cf36d605791f32d6c02b326651e32341 SHA512 728f94c6b71498cab1e66f3aef0f561e3d676ebdc1bac5398980397afed21da232ac9c2985ffee079a53a198d5a5dd5f9c8e520f6a3a8b3b70fde14ea07e75b8 +DIST firefox-105.0.2-fi.xpi 552067 BLAKE2B 273af3719257320d79ac206c907bea0b278241d2497f798f9afd8925827b6fecc9462d16b67cb7cb54586322ee7a476419f29cad33b1508a99c26d22d027e755 SHA512 4ff1b20dccd06ea78ac2b8588e88254662d119637edb4b3d176e204a42e6201eb81381e7b53fb4d98c37a19addaba6ae3698dfeaaa6d2a23065af1378fd8956a +DIST firefox-105.0.2-fr.xpi 580226 BLAKE2B 997438094937024513daa2fcbbc5a7dccb70706e0292ab58630d7fa83668535e099163cf336418e8651407e246837ae919663053108ac8dcbc8749f39fb06b12 SHA512 87cc753dd7d07f791996fcaa13d4a058ffc7db7884b8150630d25e5da4cda5eca5eec0db3a054dca5c9dbf31e802b65c0aeab83492f76f240cfb1f8ee48e6c45 +DIST firefox-105.0.2-fy-NL.xpi 564523 BLAKE2B 9fd34d35c3f9b1b7716cce11aea6902813a4227259b33324150fbb494753d92a35b3f54775aebc2957fafc0b8967ddd68d59509c960758a2cba3e6417c6e5f47 SHA512 b9ab504502de460bb98f96001f96794545c2d565c9b78cbd5e581b51ff7234a4f92e5e1129f953b4ae0c862a45ae0df30a43edfe4ba7e0b2e8ac2bd2bd0d43b4 +DIST firefox-105.0.2-ga-IE.xpi 479298 BLAKE2B ee35cbc6b9f94671afc3223de9e7f070f20b96de787e30535975db1d6eddeebca4a9f8477400d05d4248f2b635cb094992f01d9b8f798eaf57f97150afadfca1 SHA512 922659b1536a28a73ff8047a5cdd2cc3875e2c761cb98acb239f1eabc72aa39647a4f086cfc12af3fe69e46bf9203fce7c12813b99bc72712889c43c373b72c0 +DIST firefox-105.0.2-gd.xpi 552649 BLAKE2B 74e95bcddd8aa7ae80c03d31d3bcc78bf5d2e4a32636c6da7f550ebc2c1fedcd4f209722761f140e66bff3b3eb7f3bf0b0f7b9ce432323e82c97fdca37155d5e SHA512 4c153764aec66677b7d9da70643710bc0553ebfefc2bd5d365afa0267396fe0f34f98bfa08cb118acaa42b36574842720048da88833b9bce594550ad9be7035e +DIST firefox-105.0.2-gl.xpi 548793 BLAKE2B 135d55e43c2c59357f8b074b32d8b5767973ec9336eed0778990d010ca77a5c99dae77d5f91b331d509905dabb142e5d0ba9475d0fc7368d6522f672d7edbcb9 SHA512 d63d78644218a73e819df2f72eb686b2cf67732db33f6b63b254cba1da1ee8c6a866ff0b58c039854d7dc7287f78461ae1982884826648b81ec828e994458476 +DIST firefox-105.0.2-gn.xpi 579022 BLAKE2B 5db2fdfce8876095a6f3eec8c2d028319a383a46527e6e99cc4f197c32ec137b0e3d6a268e26b9df4ec70cfbd32c865ba15efa907c1cceb41d4df6025111b925 SHA512 5cbac237d4169bd69ca0e436a3cf17ffa7d2119924f37de749ca6dbb26a6238b5af79e3970d9f630e52b9655d3b6914d2a8880ac98c7b0be1779be0397f4b8c3 +DIST firefox-105.0.2-gu-IN.xpi 536346 BLAKE2B d01ee9f850392293e9f8c8b3c58f345b270ee18902ce76fc3a5917a7a1522abc91e7dc64c7169a95ec5e4e8160e228c4006b2b2cfdd29596fe4486eb064f9399 SHA512 adbd5a13cc0c3b88b61fe2e534ac9cdf62eb3d368de75b38c82d877714f3c30d348cb96a12b9af9c43347fd5aaba66dded560365cefdd24d53cdaac402d30158 +DIST firefox-105.0.2-he.xpi 575463 BLAKE2B cf12486a720fc4214b5df159d7ea5d2bdf82ad3d9566e31b298b3aa2ccff286d1b59677ee6bdbce7ed1a2e8ceca575869aee01752211c678e3ea62d9ad429597 SHA512 1b2fdaf49a552f960b625c45647e919c458f25edb3b47215a3a3a1e7ea2fbd50993578bd60244ca40195ca69efd1f0502958afad26f4d5678c8dcd55cb2ce95f +DIST firefox-105.0.2-hi-IN.xpi 566805 BLAKE2B bfc296aa079b42deca8ab19da62568389263b7755883879c88f026f4ba3badb2a84762708d011f5d7aeb33574d4d80dff6a76b9a946ed01b3b5013a17c75c476 SHA512 39185e597b71e97e2a126fdcdb193152f3c191af86c4f8b73129a0cf2c6146b67084a492bfde5a648d28bf735082e0dbf86be9290c25230a4bb1e1495d71ea82 +DIST firefox-105.0.2-hr.xpi 539465 BLAKE2B 161d395c3c18d89d80ad88f0aa4e6ea43b47bdb6cd7da1dc85f1c200b9ab3ad74770a3adfa15e767f0461452da5a260a67217947f44d8bb7cbe769c3e921bffc SHA512 85e9dd87f45634ce5344b9f4f705251413be8048fd438e341d8311424e81fb03626d4b67df11fd31fe9fdd41a71705d47fe2f358b2a11deea0b8715f5f36ddcf +DIST firefox-105.0.2-hsb.xpi 583869 BLAKE2B 7e9c3b2b5190f9aadf66486cc6b7ddf9b551309ff9f202bdc419c992d75d0285adf78d669522fa801d814176d6ae7dde95b1e8ee2e0a89cab34c759cc0c85bfe SHA512 2105e5bac07bc11cca7357853abe9d13d37681cb051cd89e34b8c5662168deef74bb63fb36c264ed05af7912770e14f4b0d6bd2c2372cd197d9469594c7b1058 +DIST firefox-105.0.2-hu.xpi 588455 BLAKE2B 31bc6acb3bae6f04331894bbd0bfb7d75cfec5986d49e0754cd6da5fa7be082c3bdc662dd302546c0a79b70342bc6984fb905380bbb95ab9382832bbc14bc021 SHA512 f829abe9d78b76f12e27b36c2f0560156d0d603ed5c21fee94a30013c6201d9d4fd002ec9ae775f48c3549067ebd1f6ffe6d024833e8e8432b69248eac742112 +DIST firefox-105.0.2-hy-AM.xpi 591365 BLAKE2B a03540a5115f6e00d13d809402486b9ec5566c9dfeb0c5a40b67f959dc20b0f2a363b437ff629dc9ddb6022c00c3d5320f05b182ac3e37ca05f37de2b64450f0 SHA512 31e36b5ca62cbd39630a82715b4e7fc9b96b151e4e4c4e84ebcf6fb5e580b3fe02ba5d24bf164abb4b2eab78609a0564486e6b0e9d55783db95a4337d9b61b15 +DIST firefox-105.0.2-ia.xpi 553264 BLAKE2B ab39a8ae95b164e223aa903510f00fa6059306ee6442c4ac894d6de0f50aaa30d4a15d38f16ac06940f705cedad6d3d1c830fe3a6cfe8c3434201458b15c92fd SHA512 a368af9ab1c8bdcdb8df23c16d8072c076af2aae511cc2a84c1f693f232f3305a26b6440f850a12aaa4ee05fe5cc750dd6a0c425b06712070a5e8cd210edb74c +DIST firefox-105.0.2-id.xpi 550335 BLAKE2B dc8a6307176a2f8f2a6368749e8f9e9a7320d4244434768b85183505a9c8d5163542a453641725586c76bec814ede5a19a88112f996a8fe9be31cd7b4a5ceeff SHA512 fbc9068c66d3e7f16aca2d8e51411f57f1976a95859f2b794c07c74a135f0c85e008ef59b9a4ead8852cbafd8c9189adb6dbbe6fb9ddfc393fab6c659abb9311 +DIST firefox-105.0.2-is.xpi 560812 BLAKE2B 1182c294e5a76da3f13b71f46b11424e8e2dee07ec598051969a30ddbc2abd077dc4d44ef4f4f9cdc524b87335e7e25b3efbad1782b40c42f9246d454da36c81 SHA512 936c3e0e52113544e6f5780cc3ad9026b2a9545bb1cd505f40592efed072d7aa5c66ea1aaefe5cb0e5bacca9c75fa8f77fbfd21bc67384dbbf3fd17141abcbb9 +DIST firefox-105.0.2-it.xpi 471258 BLAKE2B 05cff008ec080bf47918fb0f4dabaf17f3826fd68c6c02fefcb59c867011e62246d5c142e843be4db65bd594bae40e6d29f02e750b390be60e8923e0ba4591a1 SHA512 e41202b8dc98966c4624654d4d748adec28c9374dcec30386b99bf604be2d0fe93b80b18149c224f041f4af8c9e41fe4cf35727a5e7f10420ee44efec9fc7135 +DIST firefox-105.0.2-ja.xpi 593781 BLAKE2B fa2b731ec606d949f3456787c80cd783c5310362f23ef440df46b83def7ac57ea54986283077bc37345c52874edafe147aab6feef11cc314704948e9c8685586 SHA512 77c3e9076b2a24b2bc999fed73338d1c628bb8d3bbdec2165cb9098bb56eb389cdcb3bceb3f3a0cd8b60622ee36d289de9febd008fd64efe21e58030e1ee1f7c +DIST firefox-105.0.2-ka.xpi 614606 BLAKE2B 5db2ebb8c3330339397b1c4a0029673a4b87b473cac6199c5316659dced0c09fd156a48ab1710bfeac8b627f8c499f5731b71bac4b2b80dc87c8bdba3514c75c SHA512 6a5602c95d56da7eaa968996547e9b08dbc60c43d0e990ae61f652af0c894a20ec7398b9b4e3026aaf2ceb1e3d017e47aeddffac5244ec0f43c51ad4361a9efe +DIST firefox-105.0.2-kab.xpi 573733 BLAKE2B fc06539af9610e0219c9c76fd558ca348a93ef70e84bb1edb0c0f9d6cb093a633121dc84577b4721d77fce17a4acebcec765c1bd6d1cc5a9b31f4400ae1f6464 SHA512 56ce13fd7acbe8f89004014c27271ea037e20a7f2d7bbaab2ee3acc12e3381ec9e2d1f91f2794c289d337280ef2902446fd577db8d435e543aa62ae16b4bb30b +DIST firefox-105.0.2-kk.xpi 631204 BLAKE2B 77de41694d8b20d475ff5804bf03faa81cf6e8335fd3e5ad31adc541aa29638c3d3f6e43895afd7961ec32133b2a3deed1bbb5a77eec12399de417e5c53a06d6 SHA512 8433172fd1518933e17f36f146b2aebe6433a786c9d0a5fef2643aa7cb5b2c57108baaf83187860798e21d533dc0677814bbdbbcca8c5ec0662e027d78b788c2 +DIST firefox-105.0.2-km.xpi 540639 BLAKE2B dc637b0f092d4987174c71ff4d4effa805d73f5b40280df5de684081fa4fec4f076468566922fa88cae86fbbfe5cce43597b34f0107ce3f8dfb330a91b19fdf8 SHA512 9d34bc9d55b8af500520618eddf88167bd19684bb2855d6b21b2d95268eb9c84dfd6e725f1d999c288fc0ef200834fa37b90df241bcde013ab4fd6b83193aca8 +DIST firefox-105.0.2-kn.xpi 506463 BLAKE2B d738431c8d3b6bfbfe90106130c35033e3eb24513e2ac82088495240e855d5350a907aad0bebb407574e9f25c34cdc767f2f5e160cae9a50188acd5739563c92 SHA512 0c073a6a36655415030357e1a524253228edc79958c8f667cb97c9e0e2724e6d320160b5bd5b077e91661dd7b4e7aa6ebe70693f247c545078fedef82a67aa1d +DIST firefox-105.0.2-ko.xpi 600527 BLAKE2B 2c4b4484986851912c4cfbe016e2b080af2f2e571b1d3e105ae3861b8ae145b3de78d9d1dce2ab47b8595a65005c3ed37533f8c78c3c61bf4e735b1b024deeb4 SHA512 64641a3cd47d4ea247f98649ea37655c8121267be4ce86037a1d5b2d0a8a8227a11497d2375a41f0ad7b651a38b696721bbd8a5074a933a938e0a889a3dd502a +DIST firefox-105.0.2-lij.xpi 479004 BLAKE2B 5ebd246289cc6a3a3678d631e512eb87c9b6e1d3d32f57c57c06067aac810bfa57a719546ae68918d9a328a38ed7db16e4808e982eda410c603ac03ce7cca17e SHA512 e8eff656624960054785f1f41316cd033e3cdf611519c7faa89787159c21998e1b0a4c02103fc7b3ea2b67f37e94abf222819d7603c200dd6d508bf0bcb9fb3b +DIST firefox-105.0.2-lt.xpi 570062 BLAKE2B 92ab598525aef040e1306ea1cf1cf87d9570b59af8150126415068633f380724e7aca9f280c12d9f5e7107c64afaffc0b65925eb4ed1f66f2b0decf645a13905 SHA512 f02380bb025843dd5699902d6ddd22e38051a9fe5909d9dd04c9d32ef1a4aa380404c031d88db3689a197b28a3f647a9a5d8bafec3034a21fcfcef226e0cef05 +DIST firefox-105.0.2-lv.xpi 472208 BLAKE2B 8727f396c7e64de6d66e7677972ac7142557bfa3c4dba53d1ecc4c902ab9572968a8108f4f96e1b99862290e5c3d3cbbad54f83b37613684702ca1ebc888bdc6 SHA512 4a6cdf9945ff7e00d0abeaac8df1e484498d6e9da2e489828f75959890688c497972ac2a466cab487a32a7782033a70a3568f5ea1ed6b52659872542f14fbf30 +DIST firefox-105.0.2-mk.xpi 490866 BLAKE2B 1a3259166faadf2996e60b7911981541c6dcd7eb6b2c74932fbcbb02ecdadd97a15215cf8a3276edf5fc400b60f2bca1d4e6ed056519b6f621112998a1586bfd SHA512 7dd9b7fb92111e36cd9ee913fbaa85a8e8ea795e22b9867bd0ae465c2e2e3171516909266fc645c6d23c968a069237c19683f158b4475e6c41fc3363eb81abea +DIST firefox-105.0.2-mr.xpi 539894 BLAKE2B cec13d18f7f9f159058f824a60347f017a95dfb8610b1d0fe06c29e06d3fc065511288c4418add83d06d730cc70338caed72068cf0ba3c7ef248dc91da261b1f SHA512 3cdd72a08cfc9dab83319cbcff0bee1d5e23a568dfd62a3ed2822114ed07005d66e3f6db2df73892243159c589e26272231d13cb47ad194afb4578430596bce4 +DIST firefox-105.0.2-ms.xpi 457120 BLAKE2B 0c22455c08f6206b4217464379a64658f14286300b600027c9991cb2c04f2448f45be2547959b4d6dd32ec73b96b7d10badb288d4c7992ab3b06e7768f79d4dc SHA512 4162c44076a79251b63bae7a747561bf9721edde8a5434b988b98d34df724591f945010b03eb016d393cb5060309a0ef75cc875bd77ed5e60a858c23a452b31a +DIST firefox-105.0.2-my.xpi 520844 BLAKE2B 7b999dc1294e0573ee41386f4ec1a04f19572950085c342850b544939063682e2adbba6152dc80e0baac85a962373f9209b95006ccea845c4ec06a9a2cdb5ccc SHA512 e0eb4c0c406cb17ebe92dbc1670bc65dbe2e357e95dbd3ff664f99bab7cc000d7adeca95dd9fbc0adf3e0cdadf190c030d0d4d25ae36198e03f973f9a4177c8a +DIST firefox-105.0.2-nb-NO.xpi 549443 BLAKE2B 9f956621045003c573e2caa5c74fe017b59eb1665456bb950d449a07f20c53ad2bb1e05e02f47280114f3bba36001bdc305ca196f6f19800b83e44d4d08eba2b SHA512 9d79a8f27df35757f41d8ab5db1de6b787606d9f845bb88599cd9078448f08158e51f5d10d6ab4713e0ca4b3fb292335056211fb546b5ad2d914ef2e907a839a +DIST firefox-105.0.2-ne-NP.xpi 498120 BLAKE2B a16bce2197c3808f16d2f36a49429dcc75006eed6ff528a6c0cf9ff57ad4193e54706f18ce78f489fa5c4631bf06c96798fd0daea5aa13afe3563a2dde8e6a5d SHA512 8a06dc72092c6dc09edb29b9d188668615e2e34368321936af44bd38f58bb21c498a8176e2f56d6c102dfd7663398a6bcc4b21b12cd23a8efdb8d0a512965085 +DIST firefox-105.0.2-nl.xpi 558682 BLAKE2B 25a6ad19d04bc652384b12eb70677ab8a7cc65d6268958466eae9d2f62bfe7e2c4a482de4c0968e35a752d3ded0dcd855e1e1867713f5e39928c15e72fa5c8c1 SHA512 0e2a606d4ca500d4b70e3f629b17b51f2fc7fef58a986a3515320b41e0479578d632924fdbd5b0af6a72f56e02ac4c4b6ec97f21363f48aaa0140656409f8c15 +DIST firefox-105.0.2-nn-NO.xpi 549960 BLAKE2B d4d83daa43a715e79c4a29e0a9b0c72667392ef2461c5996a4a1237d4ee2158dba6cb2853e977b5bf54c179c06c05884360f31625317c709f1e92b61ccee3746 SHA512 ca5721d397699573ccabbd27cedc011777abf1720e5e798d8946a96bc18949f23a1307271bc9948b26093fa855cce1b0a9af67be0dfc2e74bb2c0d49bf8966eb +DIST firefox-105.0.2-oc.xpi 569604 BLAKE2B 753263c3baf420a020eecef985a1d07f001077993cc2df29c1b7e935d7e13fccab041d6c7930beb44c6b26e430cdb1403ab1cf3e1977eb8b226067e34444d920 SHA512 6a8cdc4c0e72e0db6cdad8a0e23501aa8a3f7a3845dab0c37f9b107c856ba8a9d48454cbacbc3a135ee65360d1da6a7adb8d1476b8c141e45a8344c3708a64a3 +DIST firefox-105.0.2-pa-IN.xpi 621212 BLAKE2B bfadf1e8ab2df2be22f84fb7c8a901e104a032f22868908414323ce2a9be65de873be362e0e48b6f057f3d4d6dc56bfa325be8024fd584fe3cd60aecd7b4dfe9 SHA512 107853f670afa0acc5e8968f210b9d9a85e93da23030e05959ba413cf8579bfb924f3b5692d54d23bb94693e212b84b4d22c4f4560d24c3855d4e8c244c333dd +DIST firefox-105.0.2-pl.xpi 579337 BLAKE2B 9f694fb64a8037060211f669bd2b4865e12988e86b70965f49f9f8cd87d808a1dfc5d3a6bf7f22846da67e3c2c6f57cd9f8b051bd22df2bdb05dc40561117272 SHA512 0f79f8dad4ae55ced8e426136a27358254a5155f96ad6e74a1f3ac410180f3fab44b691ad9f3e90e446ece375c90b27fbe8df0dbc7b3dfd86e95c168c87fcbb3 +DIST firefox-105.0.2-pt-BR.xpi 563724 BLAKE2B 6108ad4774905ed8e1978d4af9b19c5420032b9ca7619cbc5d129afbd91d17ab6ccc429a77e3fc83cd8e58649e5223f8e06c411cfebad0e683747f2db465d98f SHA512 5d5e1834b394c1f27ce9acb0858aa114c9fbb97f9bc49d91b65e0d49d733b5233f7f01d30f4baab6adb62c9142cfdd96f8fe29e7c555c9fb60d18775131684b8 +DIST firefox-105.0.2-pt-PT.xpi 563885 BLAKE2B 522266f206108090f0c5775a241d05ef52ff47bc866f75addef0dfe67c06d170874ec687541573a13d018578d1f27d04e40a6f3468819d37747bd35f7571915b SHA512 5157855e5d111a693f1b904de840d1d9be7982389492888b1a95d1c78f5e4c1a08923d2a84333e3e1428d52dbfa7bd3096fe4045ceb6480a14eb2d7dbfc0d435 +DIST firefox-105.0.2-rm.xpi 547530 BLAKE2B 41eb8198de05b03ac4bd46bf9f6f4f15b33f947fa6c166ed61ca874f5d5049f6b757b63824ed4ef78cf281c708a6d885c2eea2fbecc25451ff0a0ff6cd24d6ea SHA512 716900f7c6dd71729558923d8c8922201e3daacb557fe5013fefc2222693ec2b4b7b1dd94c5dc600b97f09da32d5d6c3a01b7cd9c1027a406e7785e3c8f6586c +DIST firefox-105.0.2-ro.xpi 537771 BLAKE2B 4c4b399d81d0bf477206416767564ddd2ccb91cfbd266c9d23cb7bc781a4cafffa7ba86da3c7036cc64faf349afbc9c50676eb2797c8fee320b55f746a4ab4fb SHA512 f6475731eb5ac23fea200f357a917fc705dd6bb53795e1b5d9511396f478ccb947a50f024447670d40b8f76d45fb8e64811cd08668e86b36583899199758fdce +DIST firefox-105.0.2-ru.xpi 651176 BLAKE2B d23b863128d69f50b44955613c15604fc76c99f782501296455d7084b1a7c1ce4b29903652d48745e364d760bb23ba89070da078ed64d649d8809c5451f091fd SHA512 df80b532a180e6174664fd3920180f6fd4dec999e67115054b46c34bd7a5feacd30d038fdca9c5251a11ec2c69addf1152ac39472178cfea07f2e324d92df77b +DIST firefox-105.0.2-sco.xpi 505200 BLAKE2B fcbad87d322d5dfb0a08efb297b6e9eff29e6bb11feb1cffa29c825d0a57f06d6a6b3ea8c06c617b72e76543d0779bee550bfaf900ff8427b8f1140250323097 SHA512 0f3a4fc9f6eaaf98303f79e404dac201ff26bb9d131fb3747242fef3ec0e27173e669b00a06b9a26c452d544009404768426c7c40bb84d16060995205d0d124d +DIST firefox-105.0.2-si.xpi 573141 BLAKE2B def1a9fee03d08b66f3bb2e1efb3ac15204ed8665b9c1f74019f2f416ba1d7921476be868c18fcb94b90e04ddb553543137f39d708819385fd7c8d2129582a81 SHA512 217dc40d788645d07f602f6909bfc3b4b6501161fb4a032da4ab19fba980d6fa680c6946833fceaca417f4b97de330b8bf73f38b9fd561cbc784aaa7b3185d55 +DIST firefox-105.0.2-sk.xpi 588220 BLAKE2B 649bc547f8e0f76c54a851f4f9097d25f6076f16a3cd9f3b356af503a58fa6061c395dc7800ba8598e9a70ddb362a64120c4b0582b9006963032ca75396f36ed SHA512 eafcd8fea9a51480177be4ae7c3d2622eff0c0642dc6d0d08e5c9406525d286dc0d430bade1877e2cb4a429b497fe3bebc1524fee770e15335751a7af4869419 +DIST firefox-105.0.2-sl.xpi 561133 BLAKE2B 6f182a93f64f273fc251514c0cf8868513fbea4b519a51760e5eaeea0a1d224646087261e8115b20ee18fd800cdb1b5abc1e4d6cc27e6ce02e957b5283cecf0e SHA512 e2fd7db4e37ba1fec406b554b8730d53ff36dfa4136efaef942fa05afc7b125f3bf98c0478fb6591f1dfed7a10bab4b9bf2d4710673e7c29f9274fbb91d70b57 +DIST firefox-105.0.2-son.xpi 433323 BLAKE2B 423c15959c5b00bf743f6c9569d0059faac22066524cae248dcc49ff3192fd607ce5ca3258028cda10edb2c5222d759b08fc999451f16b0c1c6b0292fd378bbf SHA512 d65d8bdd5cfa5135ce376e5c7f4f788d60250f13889dbdab6843afdc4ed30106ee055a904c8ffab3d77a48b9a56334772ca08d735979c9e04ed754d2de50ab82 +DIST firefox-105.0.2-sq.xpi 565442 BLAKE2B fdb1df972ffc71a77fb9f180bd2c4660012a3c7963c7db9bc06ebdb9b3296e2a0d1e431653074866f7e2ac171d892d25f1285210eb1e522ff71bf04acd5ed6e0 SHA512 8653eac8102c7b43da6fd30b7458a6036019de9d97a5f6fda4b0372b27f1d5a33f2887ef8f5d659948f108464421d6217c02e88d8cfebb0e079a510010e0cfe7 +DIST firefox-105.0.2-sr.xpi 604657 BLAKE2B 9abf459951edd1f2d1a698215b63ec0f868d8bafa237a82ab433313a80e9220405fbf84863ae26cea1bf83e0eaac70a355e5710f2cb7b720f9c6545e86ba62e1 SHA512 894daf0c67f31d8f5668ffa7c977b80ca772d15698cbd2e2f6834c9ec23033d8143f4b1731ea4b448af0b510110539973f97b1275bfbab0b2bc1980d1b847ca2 +DIST firefox-105.0.2-sv-SE.xpi 560629 BLAKE2B f760e5db8f846aaccea52e8ba4b6afe4c23232e0199d11a7eb5c81180d06cc57a399f911089f788ea82c4424cede03f8785c65e13e539c5a94bad4752d932f71 SHA512 3325452ea4220f0a39f7da7564371da4093d375cccb51b668ef80af2b094b6e656cf350c0703e35afaeb4e314924c689c38de8826641c592d8580d5e7337247b +DIST firefox-105.0.2-szl.xpi 520748 BLAKE2B 52a69ee514be1c9b2cbc7059e5b504eff501201111832ff6d709e0b2fc331df4ebd43c522a9ad6e70a4263c0430755a1630ded0ecfc0f71f9d0f83812884c190 SHA512 63f4aa51177ada21945c3a3f854bc9832ff36c1c71b3b0c2ff63b15e30db872d7e68950079890bf61d0b3658682ee91a40f0019bc5f000de9672647ebd13d02e +DIST firefox-105.0.2-ta.xpi 519016 BLAKE2B 2a259071d0d6a77f6fb1856e2dfad5c06c9afdca1b5af52e9f922c69127e5767ba753497ec6a943086f91735c2837139c368e0168338a688eccd3c84fc8d35af SHA512 b83e641dcd43ad819ff592f47e98117ef489b20e4d2d47b655e9ec2f4525001f2e56fd138c2e744aa3ac872b9f87956414c63fe38d2956d75c1900a799cb9bfb +DIST firefox-105.0.2-te.xpi 560557 BLAKE2B 334813703d71c92753165f3a6ff07269721f6d50d32afd691655a82dc95f2afabbf8b69983c4e34c105b24d13d5df38ba1ff119fb6df3996b7c98afd00dd80aa SHA512 bc8adb85c9f65cd9eea265d37bf323c1b80917dca252e6d522b33a7edfb49244869a093c62726f0f74e52562361edcc558a585d99fa2af0baa7c6b6da9606853 +DIST firefox-105.0.2-th.xpi 621832 BLAKE2B aa70347ecf893f0cdfffb9ac0e61f04efaf346f4f04f3b7c2a5f862ab00344631f1763c9393d04574433549d0b605b0874a95c1b175a44fcd9db13eb935059d5 SHA512 efdcc907cc964cd5dec9c5556535f565340b35e952483358d6e24be091a942a93dc848c7d632b2dd0fecd473df64a9316285fed6492bd771319d73d1f5d798e1 +DIST firefox-105.0.2-tl.xpi 528007 BLAKE2B 7af70e5c8d1867c90331f5aff1c9aa7fcf95a1f39cd2379b4cb17bf30c9cfe6e60d8ce4368410cb532c6fd3cc1e21e74cdfc181f491dea35006bd17808980013 SHA512 d2d62fa4a327ccd3502b80fbde00f9d4c8644db114c2950901380e0083af6e4452ab9464a615133f0f8467cf16615d24b42efbe442748414b6ee808b3f4630d7 +DIST firefox-105.0.2-tr.xpi 574329 BLAKE2B a3a62faa581a789340d2ad212c4bf803e5ca14d2b6be4865cb0d12bbde07882a98500c34a62a2c55edd75268a4f67d896c593115aef2f72a8034e29a854dd14a SHA512 e5f6421ce6e3da7b870c8cb1884dfa7bab71bacc707ba167dfcc7e558fdf6ac2c31e550067c0ffa7ec51a30f03b0f5bfc00d9ed1b1a81bb46ba06695c6ec7583 +DIST firefox-105.0.2-trs.xpi 498814 BLAKE2B ad77f52bf2ba9dca857b173726551c518ab14c7ada704ffbee4183a0b88ba87869be2eb6ae80f947a906f664f2ae4ea74f9060aa95547db1d14b0a7cae633357 SHA512 92f0f9ab1f2698bd9136119814a34153b131a2bbc5b358f18fd61205a1445b7fa945b24400a147bd2d6a2e27c23590dfcc1ecc7fd0eb7013f1f967d78f0170c8 +DIST firefox-105.0.2-uk.xpi 644340 BLAKE2B d7e9ef6b3de37799a2c432c9ba8d0e9c1aa00c12190823f7d33b7ad9580a85777b8aafb97eb0d31e590cd68737433d55188ce0068e63c6ebc22da08ef6225508 SHA512 77a246ea5d9735dcf485c19802ef4dcda67ed92da2a86cbd0fd7b10d49ffa96738458c019d1bdb7800ddee61f18f2a0d075e649894b879c085e9da0a66ce72f3 +DIST firefox-105.0.2-ur.xpi 566539 BLAKE2B bab7cd6dfe93afbc868e7d917fc981e5a6a075b28608640919e132c59c78ab5326e3715a754f060fd3723a477e5ba346db7ccadd20ae30421d95f3326d06c3f2 SHA512 950b4a90a382e48522e9b9ef90841e13a148d1fa1be510032010f7d9a55a818a4b6758958413a8d6aba36d8cbb3e3c3ea6abf89f05451438930550fe51cd99c7 +DIST firefox-105.0.2-uz.xpi 486870 BLAKE2B e3d241fc034cf2da5ac4cdd4152064a8ad9a353c7db528c32cd87ab0fdc02ddb310581911ae7cdc71d5898fafc4878c6a661b5fa69e3a060bc7888c4fe4d0f82 SHA512 bd5c01ca9564ef53fedbb1f1407c415c4f1220c2bef5dc6de4e647ae0ec45a60cedfc97eebfb8b036719553fd59da1c501032255d6ef07339bef442b559aff96 +DIST firefox-105.0.2-vi.xpi 595145 BLAKE2B 1768fd7fc806be488ecf1ec4f71522bf9def3294369f79261d1a76d248bb1680c9333345000602b2a93ae22c68fc8523f751426b4f4e7c523a5b3cc141694f98 SHA512 a217641e3ebbc6b5e42c8932c16e8ad4364b75bed5b46caf1d0d4579faa2eef40e03854616b018b311d9fd2fa251a5bdc107ebf87629dc1faf38d037a7b2f1d6 +DIST firefox-105.0.2-xh.xpi 435744 BLAKE2B 525f5a7ba427a5ae4323cfc71968f24598b1ad06a4a28b2bcafa457bd7f8a51a6a7e8f361e5d253a13a20e4989ff0e57e3a54acbca159506476963adc9041caa SHA512 dc3057114fca4b5a34c22f463aa5d0f149c4d560a8d896e8efcf5aede896792220239d76dc96815481046c98113ccf2717da9e1743da3a34647153e4308d06db +DIST firefox-105.0.2-zh-CN.xpi 596364 BLAKE2B 9528ab694ce2070e977440bf4dc542774a1bfdef68612bde73a667799fdfb3c05031f6722ea397cc1cb1eccd2ce7ab4f23bbb6b06b5534f5372a291309f1b626 SHA512 43d867cfe07e90bb86647e2a8d66ca8d07e87dddabd3ce045c13d3512b346e16fb3f1f7c7bc2df37b257009d977fbc4bbaf4e7f3dd3919f529095cff02084c9c +DIST firefox-105.0.2-zh-TW.xpi 597430 BLAKE2B 57b1e25bcecd1b917348bcecfdfc247497c914ca2ee06531531bd34191bf9d588216ce9689926b8c1d4cd770d554ff066a2239d8d170d8fda90bb669d57b1bc7 SHA512 468570b38d2b4f637b22cd0c7f7010d7675e4859bf84d6cf5c00b6e548a91dcc55f49442bf6f9afa2ca4d9f35fdd1319b7feb6aecd56a1c5067726434149aa03 +DIST firefox-105.0.2.source.tar.xz 481457328 BLAKE2B 0c789702678956fa51ddf3c2eea4f12a903cf62068759b66bff2d7239bfb40ca6e16bd0ec367f3ed00d2f3df68899e1b945e296577df0503380c9f872012d7c3 SHA512 49f4c0e7ecf2cef6fa7de8362185bd9ce6950304dadbbea0522a5782016587b9d58f32b45f0e0edf7a2cc31ea158ed10c886b287a18d1f2bff3daf50d9f0b926 diff --git a/www-client/firefox/firefox-105.0.2.ebuild b/www-client/firefox/firefox-105.0.2.ebuild new file mode 100644 index 000000000000..489dc3c4062f --- /dev/null +++ b/www-client/firefox/firefox-105.0.2.ebuild @@ -0,0 +1,1317 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-105-patches-05j.tar.xz" + +LLVM_MAX_SLOT=14 + +PYTHON_COMPAT=( python3_{8..11} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="manual" + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \ + llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \ + virtualx xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~{juippis,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" + +DESCRIPTION="Firefox Web Browser" +HOMEPAGE="https://www.mozilla.com/firefox" + +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" + +SLOT="rapid" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" + +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" +IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp" +IUSE+=" wayland wifi" + +# Firefox-only IUSE +IUSE+=" geckodriver +gmp-autoupdate screencast +X" + +REQUIRED_USE="debug? ( !system-av1 ) + pgo? ( lto ) + wifi? ( dbus )" + +# Firefox-only REQUIRED_USE flags +REQUIRED_USE+=" || ( X wayland )" +REQUIRED_USE+=" screencast? ( wayland )" + +FF_ONLY_DEPEND="!www-client/firefox:0 + !www-client/firefox:esr + screencast? ( media-video/pipewire:= ) + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.24.3 + net-libs/nodejs + virtual/pkgconfig + >=virtual/rust-1.61.0 + || ( + ( + sys-devel/clang:14 + sys-devel/llvm:14 + clang? ( + =sys-devel/lld-14* + pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] ) + ) + ) + ( + sys-devel/clang:13 + sys-devel/llvm:13 + clang? ( + =sys-devel/lld-13* + pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] ) + ) + ) + ) + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + wayland? ( >=gui-libs/wlroots-0.15.1-r1[tinywl] ) + )" +COMMON_DEPEND="${FF_ONLY_DEPEND} + >=app-accessibility/at-spi2-core-2.46.0 + dev-libs/expat + dev-libs/glib:2 + dev-libs/libffi:= + >=dev-libs/nss-3.82 + >=dev-libs/nspr-4.34.1 + media-libs/alsa-lib + media-libs/fontconfig + media-libs/freetype + media-libs/mesa + media-video/ffmpeg + sys-libs/zlib + virtual/freedesktop-icon-theme + x11-libs/cairo + x11-libs/gdk-pixbuf + x11-libs/pango + x11-libs/pixman + dbus? ( + dev-libs/dbus-glib + sys-apps/dbus + ) + jack? ( virtual/jack ) + libproxy? ( net-libs/libproxy ) + selinux? ( sec-policy/selinux-mozilla ) + sndio? ( >=media-sound/sndio-1.8.0-r1 ) + screencast? ( media-video/pipewire:= ) + system-av1? ( + >=media-libs/dav1d-1.0.0:= + >=media-libs/libaom-1.0.0:= + ) + system-harfbuzz? ( + >=media-gfx/graphite2-1.3.13 + >=media-libs/harfbuzz-2.8.1:0= + ) + system-icu? ( >=dev-libs/icu-71.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) + system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] ) + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) + system-png? ( >=media-libs/libpng-1.6.35:0=[apng] ) + system-webp? ( >=media-libs/libwebp-1.1.0:0= ) + wayland? ( + >=media-libs/libepoxy-1.5.10-r1 + x11-libs/gtk+:3[wayland] + x11-libs/libdrm + x11-libs/libxkbcommon[wayland] + ) + wifi? ( + kernel_linux? ( + dev-libs/dbus-glib + net-misc/networkmanager + sys-apps/dbus + ) + ) + X? ( + virtual/opengl + x11-libs/cairo[X] + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libxkbcommon[X] + x11-libs/libXrandr + x11-libs/libXtst + x11-libs/libxcb:= + )" +RDEPEND="${COMMON_DEPEND} + jack? ( virtual/jack ) + openh264? ( media-libs/openh264:*[plugin] ) + pulseaudio? ( + || ( + media-sound/pulseaudio + >=media-sound/apulse-0.1.12-r4 + ) + )" +DEPEND="${COMMON_DEPEND} + pulseaudio? ( + || ( + media-sound/pulseaudio + >=media-sound/apulse-0.1.12-r4[sdk] + ) + ) + X? ( + x11-libs/libICE + x11-libs/libSM + )" + +S="${WORKDIR}/${PN}-${PV%_*}" + +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or +# overridden in the enviromnent (advanced hackers only) +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) +fi + +llvm_check_deps() { + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang ; then + if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then + einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use pgo ; then + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( gn ) +MOZ_LANGS+=( gu-IN ) +MOZ_LANGS+=( hi-IN ) +MOZ_LANGS+=( hy-AM ) +MOZ_LANGS+=( ia ) +MOZ_LANGS+=( km ) +MOZ_LANGS+=( kn ) +MOZ_LANGS+=( lij ) +MOZ_LANGS+=( mk ) +MOZ_LANGS+=( mr ) +MOZ_LANGS+=( my ) +MOZ_LANGS+=( ne-NP ) +MOZ_LANGS+=( oc ) +MOZ_LANGS+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json \ + || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + # TODO: don't run addpredict in utility function. WLR_RENDERER=pixman doesn't work + addpredict /dev/dri + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6600M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + check-reqs_pkg_setup + + llvm_pkg_setup + + if use clang && use lto ; then + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" + + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" + + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" + eerror " - Build ${CATEGORY}/${PN} without USE=lto" + eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole " + eerror " llvm/clang/lld/rust chain depending on your @world updates)" + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" + fi + fi + + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # May need a wider addpredict when using wayland+pgo. + addpredict /dev/dri + + # Allow access to GPU during PGO run + local ati_cards mesa_cards nvidia_cards render_cards + shopt -s nullglob + + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g') + if [[ -n "${ati_cards}" ]] ; then + addpredict "${ati_cards}" + fi + + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g') + if [[ -n "${mesa_cards}" ]] ; then + addpredict "${mesa_cards}" + fi + + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g') + if [[ -n "${nvidia_cards}" ]] ; then + addpredict "${nvidia_cards}" + fi + + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g') + if [[ -n "${render_cards}" ]] ; then + addpredict "${render_cards}" + fi + + shopt -u nullglob + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch + ! use ppc64 && rm -v "${WORKDIR}"/firefox-patches/*bmo-1775202-ppc64*.patch + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Make LTO respect MAKEOPTS + sed -i \ + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure \ + || die "sed failed to set num_cores" + + # Make ICU respect MAKEOPTS + sed -i \ + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/intl/icu_sources_data.py \ + || die "sed failed to set num_cores" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \ + || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py \ + || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clearing checksums where we have applied patches + moz_clear_vendor_checksums audioipc + moz_clear_vendor_checksums audioipc-client + moz_clear_vendor_checksums audioipc-server + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang && ! tc-is-clang ; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + have_switched_compiler=yes + AR=llvm-ar + AS=llvm-as + CC=${CHOST}-clang + CXX=${CHOST}-clang++ + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + + # Set Gentoo defaults + export MOZILLA_OFFICIAL=1 + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-gpsd \ + --disable-install-strip \ + --disable-parental-controls \ + --disable-strip \ + --disable-updater \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + if use ppc64; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + mozconfig_use_enable geckodriver + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3 + fi + + if use lto ; then + if use clang ; then + # Upstream only supports lld when using clang + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409 + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + else + # Avoid auto-magic on linker + if use clang ; then + # This is upstream's default + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + else + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + fi + + # LTO flag was handled via configure + filter-flags '-flto*' + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + else + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # Modifications to better support ARM, bug #553364 + if use cpu_flags_arm_neon ; then + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon + + if ! tc-is-clang ; then + # thumb options aren't supported when using clang, bug 666966 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \ + --with-thumb=yes \ + --with-thumb-interwork=no + fi + fi + + if [[ ${CHOST} == armv*h* ]] ; then + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard + + if ! use system-libvpx ; then + sed -i \ + -e "s|softfp|hard|" \ + "${S}"/media/libvpx/moz.build \ + || die + fi + fi + + if use clang ; then + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64') + local disable_elf_hack= + if use amd64 ; then + disable_elf_hack=yes + elif use x86 ; then + disable_elf_hack=yes + elif use arm ; then + disable_elf_hack=yes + fi + + if [[ -n ${disable_elf_hack} ]] ; then + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack + fi + elif tc-is-gcc ; then + if ver_test $(gcc-fullversion) -ge 10 ; then + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..." + append-cxxflags -fno-tree-loop-vectorize + fi + fi + + # Additional ARCH support + case "${ARCH}" in + arm) + # Reduce the memory requirements for linking + if use clang ; then + # Nothing to do + :; + elif use lto ; then + append-ldflags -Wl,--no-keep-memory + else + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads + fi + ;; + esac + + if ! use elibc_glibc ; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # Allow elfhack to work in combination with unstripped binaries + # when they would normally be larger than 2GiB. + append-ldflags "-Wl,--compress-debug-sections=zlib" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + if use system-python-libs; then + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system" + else + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + fi + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from sys-devel/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install geckodriver + if use geckodriver ; then + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..." + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/geckodriver + + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/official" + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" \ + || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +pkg_preinst() { + xdg_pkg_preinst + + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse + # does not need to be forced into the LD_LIBRARY_PATH + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + einfo "APULSE found; Generating library symlinks for sound support ..." + local lib + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do + # A quickpkg rolled by hand will grab symlinks as part of the package, + # so we need to avoid creating them if they already exist. + if [[ ! -L ${lib##*/} ]] ; then + ln -s "${lib}" ${lib##*/} || die + fi + done + popd &>/dev/null || die + fi +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + elog "Apulse was detected at merge time on this system and so it will always be" + elog "used for sound. If you wish to use pulseaudio instead please unmerge" + elog "media-sound/apulse." + elog + fi + + local show_doh_information + local show_normandy_information + local show_shortcut_information + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + # New install; Tell user that DoH is disabled by default + show_doh_information=yes + show_normandy_information=yes + show_shortcut_information=no + else + local replacing_version + for replacing_version in ${REPLACING_VERSIONS} ; do + if ver_test "${replacing_version}" -lt 91.0 ; then + # Tell user that we no longer install a shortcut + # per supported display protocol + show_shortcut_information=yes + fi + done + fi + + if [[ -n "${show_doh_information}" ]] ; then + elog + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):" + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all" + elog "DNS traffic to Cloudflare by default is not a good idea and applications" + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5" + elog "(\"Off by choice\") by default." + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences." + fi + + # bug 713782 + if [[ -n "${show_normandy_information}" ]] ; then + elog + elog "Upstream operates a service named Normandy which allows Mozilla to" + elog "push changes for default settings or even install new add-ons remotely." + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or" + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security" + elog "concerns prevail, which is why we have switched off the use of this" + elog "service by default." + elog + elog "To re-enable this service set" + elog + elog " app.normandy.enabled=true" + elog + elog "in about:config." + fi + + if [[ -n "${show_shortcut_information}" ]] ; then + elog + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for" + elog "each supported display protocol. Instead we will only install" + elog "one generic Mozilla ${PN^} shortcut." + elog "If you still want to be able to select between running Mozilla ${PN^}" + elog "on X11 or Wayland, you have to re-create these shortcuts on your own." + fi + + # bug 835078 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then + ewarn "You have nouveau drivers installed in your system and 'hwaccel' " + ewarn "enabled for Firefox. Nouveau / your GPU might not support the " + ewarn "required EGL, so either disable 'hwaccel' or try the workaround " + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes." + fi + + elog + elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using " + elog "useragent checks. To temporarily fix this, enter about:config and modify " + elog "network.http.useragent.forceVersion preference to \"99\"." + elog "Or install an addon to change your useragent." + elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100" + elog +}