commit:     de47c34f07ce7838ea19946997a569168cdcc58b
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Tue May 14 05:12:20 2024 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue May 14 05:12:20 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=de47c34f

www-client/firefox: add 126.0

Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 www-client/firefox/Manifest             |  101 +++
 www-client/firefox/firefox-126.0.ebuild | 1419 +++++++++++++++++++++++++++++++
 2 files changed, 1520 insertions(+)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 760a0ef83a27..de78f8bec1d8 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -501,3 +501,104 @@ DIST firefox-125.0.3-xh.xpi 414332 BLAKE2B 
0830d61baf994a669054362c3200f0f1798e7
 DIST firefox-125.0.3-zh-CN.xpi 645753 BLAKE2B 
a21ea3af45235dcca0378a16cbad27b56b135a03c958e4ebec2f9f717aee7b3a3b3706e39e2b1f1a6ddceacee51416641c9f166e2d5a428f7df476dfa483700e
 SHA512 
8ff3f3882aefd9f856bbee20ca63f6341f2a0ed9b7235030ea9c63b3579a6e1125214aa2f9aa36b639b2a87a67326c2f12184ec9f09e78f954ea8e7a26aa49b7
 DIST firefox-125.0.3-zh-TW.xpi 647651 BLAKE2B 
c05d06c30de86670e0baeacf2127cc53cbc8239860d01156f347d1bf7c9fb05aa568c4ac369df87a08fbad29fd2adc632a9ab6bd60fed8b55a64227646bc5a62
 SHA512 
44990a7f63b54e931b6d001dce27a31b3995ccf94fcbb7322f3e0f7ea806a5dc1b76a206066893d7e56616a2dd142ea0f81f0b4ba8b14286a0dba8d9ba4a22fc
 DIST firefox-125.0.3.source.tar.xz 551590872 BLAKE2B 
a8379eda733981158248134183a11c7fa4a2de7952a43b861e653a0d7c48743442c26312419ad85be2a5e8f242d23dda03ea1aa5041916a3e44d06926a8c1342
 SHA512 
18e705a3093290311ccb5f27f01e43fe243ece94c1769a9ccc4fa53d370e32a1ec6a107cdeb531e9468b9aca1a1fe668161adb7acc1ec65fd383837882c7d484
+DIST firefox-126-patches-01.tar.xz 17024 BLAKE2B 
f6524bb2a1118d4015947f63af10c5c4a0a729fe51ae3744c912e523b813597476f0e8b38558de8bee8d7b68b2f2589bf3f260cf0f97b2a85f3fa9e683ccd6ed
 SHA512 
51162ef122f7751340eb20e68cc3bed4a348499618c51e498a605ab08105a132e44d4e4bf01ea08eac7c57d90963bc0572ed709bdec6fa77cd9f28587b808755
+DIST firefox-126.0-ach.xpi 461750 BLAKE2B 
bd22a8b4dae2dda16e2505c911231b85e03d7de46875dc0ae0f8a1ade3dc415e26bb5424b7c300d8c6964a4326b6837bda7646828a2943a5405c121a7ace677e
 SHA512 
761fe4dadebc6dc9b01cc66f1e60f2ad67edb9d8581056758ff5ffd213d74bcce198cdb32c9ddad2b0fb7e2653b67e91f0a61514b4e1a78983136f68c94edfe1
+DIST firefox-126.0-af.xpi 415209 BLAKE2B 
4478650e633786f05d03ace7b22a339d64210cab324754ccc48a9f416b788f2f7dbd43da43d856bcf08e65f2f6f12c09c48f67a0aaf7c5f5e83e9c7703a36bf8
 SHA512 
3d2c0893c227d67a7cae4f2d27b0ed5d93f440175e21fed5b26f00500b34be1764a8ab00c12bccfd8296e966bfa38cc82e492721d768dad61dbc356f81942aff
+DIST firefox-126.0-an.xpi 503683 BLAKE2B 
30b353afb4658db21daedf2ad24acc6aad4715caf16aa63e89ab95df0e5558df9c66f5f6ac1522456dcf3c75b4fe7c023a1f06895055a9d5fc69f6d6e97b34e0
 SHA512 
53da2bd4337106d12f06911a22e29be794f9564dfe100b281a240fefc17ba6dd9889ad53471a811faac5558ac4399f7c46117087d6071672c0840108ec9a9e1d
+DIST firefox-126.0-ar.xpi 607799 BLAKE2B 
6389c0c3b95ec64e6db135efa7888f0798f99301d4c5f0e7b8d8617bf9070570eb138a9ed1a637b835735b629a0cfc8ae41a0a100586e0e8cf8f20baeb360146
 SHA512 
60fdd2ac023b434c9f5d6b83e0b65dd2c85347754e7c9a6659f9c6fe595785c1adda55139524e503b592760884294fbd4c66fc137e3ecee2c906c1c0532a14f9
+DIST firefox-126.0-ast.xpi 493866 BLAKE2B 
22fbbddaaae134cd1119dea6e687f4db1061265caad8121f70181b2630549fb874bd130a39c7c99734e99c162c0ac9f980b3c0ce3e8407f040ee5bb20dde3232
 SHA512 
ce6c67c6b9ba8f0394904a185987203e51b10bda84ec9d171bc9b915c879001e6d938d2aa00dad3f412faf18e45314096df482e6260b3b88ef6ce5a3ab52e272
+DIST firefox-126.0-az.xpi 488425 BLAKE2B 
6d60b5fa9714bd1f8475febef4ff5806e09cb41c99aef3c81b1d20c58b4ff460244524ff22b7742240ca45025589d9f6270e5a59106bf328b55d89c7f85f5335
 SHA512 
b1e9a94c3d273412aa496f4d6ab73a98c4c94897c8214d7cd95beaaf0819ca550f9f0fe275e3fd55ea2758e65bd8dc0198a855dc5b349f603ca6f1f8dcf91e71
+DIST firefox-126.0-be.xpi 707136 BLAKE2B 
17c6d550e5be93bfe1bb95922b8f853c11555bea0e408994236b50a8833a4c12bcc18f6709e41131a9b4de9dee18085a89709964e246e8bb15f70eb4264577c0
 SHA512 
6723aee7141aa3c4bb412830d1d7a366a82696181cdcec69984d20d8e81e423835fe4d565d518c43ebc91313a2a9cb13c0c9c6774eda200e283efdb238b3304a
+DIST firefox-126.0-bg.xpi 601469 BLAKE2B 
945d95ee472a99a48e7f84208a1494fac3cfc64e527ec059991daa354c6100d29fba93a422b9921aaa51e0d272def1a59aafa890492a6cbc210ab66dac746b74
 SHA512 
0534934c0b1e9255aed72232ef634db472f371be56506d71507974bf00452e82d7981966a474fd94ddcad550aba866cf0a6d7774ffd6ee19ac9ffe80cfb941ed
+DIST firefox-126.0-bn.xpi 579176 BLAKE2B 
25ef761e595605c1fff45dcd45f2889e555db8f631b828584bfe7b9acbf762ca80596b70106da4073de73ab6823ad0b1b0e6203b426d4b7dabde0b6862fcc66f
 SHA512 
e78f79059a826d0db85a1d7eda367b9a3830cebafc0eb78ee28daa4d6318a1bce5d1b1d6cab274feb7267cd878d34fab5c12603b8b804f65c247413fbfd06e34
+DIST firefox-126.0-br.xpi 585149 BLAKE2B 
591542aaeab4049b24defad07acb696e96c6e0c571edf6d3a9543e504964d73e8a0c399ff2bc3d9e5f44a76b2391f720be7d2b94eb180a512f25722fdb4a0d9e
 SHA512 
3597d841b557ae1e11578e788d56638d3e241b680c4b0260646e43e6109d909e73445b128b954980648c92bd1e3c081250957c033ce3471be34ac5a9584274e0
+DIST firefox-126.0-bs.xpi 499182 BLAKE2B 
569e7607b33e2ac0d69536f382f9ae551ea7290b60122b0b6ad8d1ee55218576d84b235282dba0019f35ea7eeaec3ae6cecfb56fcb966b1248a670f10d460909
 SHA512 
02fb23b5c06ae784ef7e45449ff9214bb0931782a4aa6974dba49caa1139faf1ff0d1c257e99fd3062471cd1feca0811bcbb397d30331dd9297063c8fc9c41da
+DIST firefox-126.0-ca-valencia.xpi 543850 BLAKE2B 
928c68b51701cebd91ad4cf1a9fc3430680e1191362f0bebfe9f11211988fb0d35a754fc2f396da3bce0f68efa67223bf0bd1a326156814e15896fd6a07fe0f8
 SHA512 
cdcb1b9bd464526aa83ea029fe34d3f25454edd6246993b15c6126ea54d8dd06175416e6a5568cd848ef8b6271aa6c0a3c689f3d92a73fc50adacf4c402aca36
+DIST firefox-126.0-ca.xpi 582652 BLAKE2B 
4abe56254451bd86b24edaa3a85e7489c1934cabee27990da5b9b2f230efc058b3920512a03171373a924e241eca2c68c7a52a2aa99cfe07865f2ee27bda3e43
 SHA512 
3656856429fdfffbf82656a8bb953ecb40b482177be6d8fb333ba64eb40991fb52707bf56c3b4390a29bc6591e8c45e6fe7897bf5bc8a43d5c7cc3cc92517ff3
+DIST firefox-126.0-cak.xpi 590417 BLAKE2B 
c25dd0bcc040e0530370882741d823ee2ee1271f85d801c37a4a57fb6775142d01ad821efa56c6902bbc9facbbf4d5b3bd1eaad29c4ce1dda1400a48e2e668a2
 SHA512 
b956f430e5028a55c92cc61213a06eb3b39f2f858eb9e62edaf4e004c5221913c9d6052d3a7a4565bfb66eb2b4d37a44c1a2aaf22075068d4b75c9fb0e12ba56
+DIST firefox-126.0-cs.xpi 651840 BLAKE2B 
23ff80f9af2adc5d3735541645cb068c763e5125397e11b26a8293e510a1610377daf8b75986f7b6fab550b57a0bac9412808a6fe43d3ac2a84d7ddb92d7799b
 SHA512 
a563605af527e426a3eca184489423ef5c2eb7ab96091f73bc267fa2ef3641aea684d635793d9822004bf52858c1737308b231b16971d2b9976acc60375b2a56
+DIST firefox-126.0-cy.xpi 617234 BLAKE2B 
a73f5fe211f0cd7714eb52423b1eed9f5fd95ff92061bcefc88fc87299a660ab6a696d1f11b03f352a22ca10f34c1f3d04ea4f96b373a3278971d595faf437a5
 SHA512 
c8a2e715f066df83554d49455d51eb3bf69841c6bdc23aa192c98f827ee2ef3889eff9f1695f2c383d0fc764bee6f7eb3d9f3e60aba4f3969f985944699eec39
+DIST firefox-126.0-da.xpi 605577 BLAKE2B 
63abd04d0d8d8a8234ba82055be4aa6f1de427950e1b7f695025646d133659c21d6b09527fbac53d58a5f61399ff73b57639b5e5d566f64494f642ff6ae3859e
 SHA512 
2ffbca8bbab6ae00f8bb3eeb9614ab13af3ec4babab431f6c6b7c43a8823076412762d7cd38d76451d140ca52ad8af2a9d0c032be93f75caea1fcdfa1b107009
+DIST firefox-126.0-de.xpi 626799 BLAKE2B 
5a53bfb6ece48a4814dbc87a90ba328c80eb0109aa7c43c5d050fcb643f3dd7f6bf4db8c5d262c14bc63366414b7bce4926b9f74773708500c34dab0b6e3b691
 SHA512 
c29e188c69a4e4fa82dccb8615cff93c607802a322afa0f0075ceb51ebcd0df5b0a291ac0b0bd6b33a936b86eccc1bb07763670039ae9dfe9a92b21ecece2a08
+DIST firefox-126.0-dsb.xpi 643331 BLAKE2B 
f484a53f93c5be8d6ddffb74becd00e56474dde161bc169238efb1938c1b4c4566e85afc390fe5ae3fa9f0549ba397c825d48d4ec4f021d02f2789e26727041a
 SHA512 
bc3431129170f1b9f5e33bcfcba61d6d630f6ce8a20f8b58b5c95a3ea4f5b8db81290307bd3f3294e33398b97bd38a30d957846944504a38a62467c87c5fd5ce
+DIST firefox-126.0-el.xpi 724050 BLAKE2B 
331b82f325c94ab839c5aad221ae9d2b511245045db65b045ff5269d91d8aa04b543279222e8febd3747c6766faa145a56571a6a33af2f69351acd8b487c7949
 SHA512 
ceffdfcdfbf0ae8fd1df2ff44259dc849bdbccc4e45929382024431c40733f4f78aff444119174fbdd4a426771e98ad897ad967cd9463b742eb7dd395807a5c2
+DIST firefox-126.0-en-CA.xpi 577921 BLAKE2B 
c6c8fb1dad71699ce36d7e486ab7d138b8fc792841d8fa766d411d426098c728830fa4b1141391ad3e8fe3cefad8769e2d8a71916c20990413b9ca721a5cbf64
 SHA512 
e55ed3aff1877e0a7c2bc5294394180ad26d449f8e8930d75f06ceea00b0adeb4a334ff5d5fc49ab30bacda4b14abb22fda8da32745dd24e9a191fc8a430604e
+DIST firefox-126.0-en-GB.xpi 578505 BLAKE2B 
9ebcaac750876d16b7086e45699b9fe4af0fa303c223cca3ee44922542818363bb6ca2f36f235e10eb2dee35cf2932b2be25bc7a984e81a572ede6cdeff3eb6b
 SHA512 
a66c1a3fd9db5c4ef59efda0cccbf34ee158f515535e7c781ded323f5157984721c3f4e616e4387a67b45ae45f3838370a97cc838adbe5e8b7207c81ff01b542
+DIST firefox-126.0-eo.xpi 608851 BLAKE2B 
48723e34ef47b73470f3ec926563edc24b2692a0507fe3cf30b53e4091b45a5457b60afd213ad0a1a8c7a71d4e487335fc8f6359d08fc6d598fdf2d83f558940
 SHA512 
ac0b88df025fcc74a3048b685a4fdc1c3087def4f0911de3f66e91795f59d9236739a7a8e026fcadd8e88c4f830201bc83d6b91dd39ffee27f390a40bb4133d8
+DIST firefox-126.0-es-AR.xpi 620748 BLAKE2B 
8690fc233a3237b47b298a0713211eec748e6e507af600f257b6e3a3173c984103c5b09dbe78b82e5b60c2993b273a27b097e1ceccb8e0a19970ae9c9bda3f46
 SHA512 
6cee5873d8db44ef9081c2a9d422e73f2dcd3b4d3c8c7019f99fbaa36aa1325611826fcdf530ee194d404cff6c28fae2aab2188322e9bceb314b549c907244fc
+DIST firefox-126.0-es-CL.xpi 619954 BLAKE2B 
1471d73857a716b1a96e4128f243c565503a6276bfcd39fa302ad0a0984af90e69267d39c8f369edea68050c935af44db753b89c7dee459c1bbca655d2af2652
 SHA512 
8fbf7f7c5a634e2aa30266876fc707b03b471ca24270fa042a7da2ff76bc7353329ba1c0367cf25e2283d1a2347b6b851f40c0b48065111fcc9dabe188c4075d
+DIST firefox-126.0-es-ES.xpi 614786 BLAKE2B 
7e8824b5141314a46cc9027b1b352ce63e0013c663e70b055b29c3a404e673b6867e2ab3d388a08fde741185f94312fdec875123ebc5df8c83288346c586f25d
 SHA512 
d97587a4a6c68e7404724850db666accdf85ca7c83bebfb5cbdba389e4854979815c5ad7454351025f44f0a88a8143889be8a65b0897f60cc4297b9434aec20d
+DIST firefox-126.0-es-MX.xpi 589049 BLAKE2B 
52c44347d8969293ede309d6630503bb0124f00f9caab35c673e2d08c3bb6db6ecd25503b2660989289ad111ea8efdd7fd4c6b4fdb3ea3892cd3549306d0578d
 SHA512 
c43bc8ebae91fbc98139e3d9a97514bd4ab01cc762fbb96cb0990863026359b08fd2272056cb676018c9613ebbe1a914d542f632c4e8f51dbf7f33a40bed4f4e
+DIST firefox-126.0-et.xpi 537126 BLAKE2B 
dbf0026c25141e7641e99989d58f1e9a71ee4956f9b7516c602dfb27fb131a311aaac09bb9a1d4528978975083efe50e50220bb0037a943825c42e75d539e423
 SHA512 
0c3a524bea738eaf86c629c25fbad50edaabf33c0d1da1b90a1e1277d3377925af4033bdfd1aa78d2b88b9e48f135f10c88b2af69bafdafacebd1133097837a3
+DIST firefox-126.0-eu.xpi 591935 BLAKE2B 
df4f7829cc918234d9600e7f13380857d39d5e8244721696174a7741f591eb3df917bbf3486c2c2f22452ea222693145b98787a4c5e041e15d6bf680a50ddc85
 SHA512 
242ec6f089f7767112ab7c0c941dd1feda87989883ea07f521c963e2590d8006c47568493404601cc6bd40249376b3c169575876e36b2a85caa23d1832641890
+DIST firefox-126.0-fa.xpi 587674 BLAKE2B 
921dc0ea5ae668207d6840158fd3ae201d4f88a1a4f54564fe1c23f0970da3152d6786a186af456e5872c3436171d5e01cb2e104fb45372d2b4200b96542c8b5
 SHA512 
120a8ac585e66c29b2129a9b9b6d79ab0943cbdf76e400c52cc5b292efd4290184422190add559aab91427540e44caee3b409520bc4d2de0f05bfabc8fd7f2bd
+DIST firefox-126.0-ff.xpi 473884 BLAKE2B 
0225c243cccba5342736c275ed040b0aa0bbcfde5625f87aa4b9f2c16716fc9c373aea04a27a819df12ef1d2fb4df4abbcf43052bb486d600f53919df024615b
 SHA512 
fc2a53fc9d6f8e14a84cf7bdc0246b5c017b6fad75205d2e726cfc9a91c12746872eb80ff0a65b586eff20051f03775c887916921ebfeb60f5026df11f0cc3c4
+DIST firefox-126.0-fi.xpi 600578 BLAKE2B 
43febfe158a1b4a53eb541521d428908a76e9c75121facc9eb83bc13e2b95cb760d78054fefc0afa7c2a0d18a81405cb361011123f17abb1b8384eee81c53550
 SHA512 
17ef99ad044a17a1c0988ee24faee5b6e5d04f90433233765a566689200e5c661dcd631b73d1da486f83a0e70845a00977a1521da5a1f5c07776ebc4a7ac8242
+DIST firefox-126.0-fr.xpi 633635 BLAKE2B 
406ccde040aecf76813d278b0fbf0553b273657e620f7a55dc1ae15d6b605fa4831312c9e9899f86e4fae6ea593a4c83cf3e1268b7de721a5afe1eba6daeda07
 SHA512 
bf01fc4d4465ec9eddd7ca8126da638e59c2fa42ccae606a21ac8cb6c31b0393065787f0463037ee9bd90390446492cc693a0dfb9e1b276c51ffb50a6d58553a
+DIST firefox-126.0-fur.xpi 626260 BLAKE2B 
626a040b7646e3bff76c9d61dd2767f14be9817fb7c4652d062b9063d6238fe6cbe89ca949d3e48b1f0dcfc88fc39c0f90c2fffdadd79fed9208f3e6522f66f1
 SHA512 
dc7a9ed0f130bf34a706236a0236bb5d0113e36c2b0ac2ee64f4f9cd7526c720a0dc6e2f5a5646aec075c62f133c47bc62a3aa150ac2077fc1a123090db56917
+DIST firefox-126.0-fy-NL.xpi 616367 BLAKE2B 
3cd9aa88b08e3242e44f18e33b27d341436fda7499c6d2ae00637c057a5750617100b783209272507ff7d98649a2489c9bd6d5dc85aed7d266e7c49b8216c534
 SHA512 
788cabb75abcb9ebd3edcc6fc459c0d0e72e487e6e02b0e0f2d884c1d135a2c7c1e01afc885b1b6ccd92a283eae77f3d8b9b9dbeee48634335dae82f7cb5103e
+DIST firefox-126.0-ga-IE.xpi 468665 BLAKE2B 
0a781048a857ce32b470f638562fe9fdbd54d136177cf030b57cd6be06e843cf8f35ff68741e90f3dd8ce7c68816a1655f5780dc79767dba4918cc2d176c0f0d
 SHA512 
b012e2f30f5af9bf7003ae720aaaf44d72c9bad962f4223e3cac321be59a081f8feb59c00bb1d2d26315c9d598178fa9c7ffb204c52641311cc67329ca841f78
+DIST firefox-126.0-gd.xpi 594218 BLAKE2B 
b1350b5da4b5b0b98e1fb7ba45669a98eac15fd60f2043d6b6e6d4160c952fb77381fff41bc1d7bda20fd55be2919ac7c7526ccf9e911b7d348549d283b272de
 SHA512 
cc5e6d4398f1bac41d360344aac2cf4017314a6505ce700bdd29eba574ea5d5d841a8dc64e5ad95b28a43e8fb980f59eb3cdc4afec437230593f56638b15b2bc
+DIST firefox-126.0-gl.xpi 601690 BLAKE2B 
9e8940a765618b10e5260fb97a485d34c7539650df31de3c11b7bbbb62d7da5757c2bac77cc3703e5f9345d301110ef79d23c553a8a90171d38fa1f431a8a737
 SHA512 
2610e7ee174fdec4660fe786bfd74324afbce8c21f3cc47ad0cb8638726217f9a867a591d2b8ed8c98fdd3b48ac93ad8989efcca47163b3aa72b64aa6c423443
+DIST firefox-126.0-gn.xpi 631848 BLAKE2B 
008b7593d2bb1283ef3eb9a5c3b652356a9a1628993f4ee94f64289b4e119a9b9b1c3d524931406a0968f99fa836308bb6c0ae494953c53297ec6aeb585ccf77
 SHA512 
5a110718f0403e37cd5288552742fefde3921438a4ca40487593526fbb3bc8d46409e1c295426d71b5d4c81e7184f4996f8833898d96a10b57d0a3a0475b3e1f
+DIST firefox-126.0-gu-IN.xpi 524987 BLAKE2B 
5c3c2869087302f59e547fd8362f79381ffdac2dc0453f00db5ebbef8941fde05ad326ead4ef647acfa51730b4c457a557a49f88a2d8b94be2b228afd091c9ec
 SHA512 
52d4fef17d6c43069ea3f9a90173604d239a6a3f424a005c6f71b9e9b5d95411c40289e0b35d4340a445ea43dd6e2b393540161a8fbb1e2ad442370bf9a41a80
+DIST firefox-126.0-he.xpi 625264 BLAKE2B 
2514250747fdb2d06b5114f016edfb9ef8258cd0c75e3829b6c34b01759f11ac30bdd2e5a1fb93806548ac9c312a6b2c2b7b4031ba62f4afacf199c88f771ede
 SHA512 
0642ec8eedc3c65d8b42bf2a9b310e0f65124e12f0e0d101e0a6caa344f62353f87168f446e64adc206dce3c8919c564d18db836675e8b9bcb2e87e3919cf987
+DIST firefox-126.0-hi-IN.xpi 563178 BLAKE2B 
a0cb38b27f82939218af2a13214983fdc942b079b7ad453ac2ddf43d03827b1ef316b38551d621834cba09a6f4e37437f2fef6a56803d80dcd6aa90ddd212d52
 SHA512 
7a95d3c236e7fdb1da9a0685482dcf09026af3ae903dedea06881624b972d2ff0c462dae4750a72c5eee60fb02923e4813120fb566325b8f1aacd546876cef9b
+DIST firefox-126.0-hr.xpi 554418 BLAKE2B 
5c278296e5dd2c55dad50576d1cb67da51141f3c618e39cedc870d964146e55d3f923107f591857beb034a539a9ceeea07d11b0363340800b10d301db3149828
 SHA512 
57baeda10dc46d2d6d5375a3bfc4f2ebb46cdc33a69dc4bb7ff6e72527edd94da627f655858e7e5e47c38b7596fbb43f7d7eda0dbb161e46eb91f94403f7ae9e
+DIST firefox-126.0-hsb.xpi 639345 BLAKE2B 
f2d5f8f10176633d1133a724212050318450da7cf9f68c6c8e2097f6be58360ee657b7008eafb5dfffbfc87f2480765510cc6cc135e122158bea0ad2c9b317e5
 SHA512 
cdf274a7d898c8595ce69f35fd7ae3583fec3afa4a1a70c57c0b02ee95a3f81f0fd8b43e72c7bf92c66b2286c3fef3b88e0c3fb921a2ab2e163e47502c547c64
+DIST firefox-126.0-hu.xpi 642408 BLAKE2B 
f3f772d68436f24c9528722ae2a2fa91f2ac1611d1e487defe92eb07aa06c73ac3eebfc0455da7ef06969d362d3dcfc4da2bb5d52fd1012bccf3f1c0198de2fe
 SHA512 
5dfed7b5fbeecaaf19ff732a39ff2f768b5f5e8386eeaf2a1640ab2494d05e3901db3781d5817a4955eeb2c70f498874a52b72d83bc64496cf950d10c9ddc1e9
+DIST firefox-126.0-hy-AM.xpi 646981 BLAKE2B 
49ff92fcf12274303fbe1734092349e78a74a3cfe5a83babbfd19922171656a90049778f0bc647bcdfc7995e84ee1bcc73ebdfc401763f338fee4bfc1f6651c7
 SHA512 
23b8d9ebbdc3419a047532b5cf96eb96eac97c0fe3ed48ec9914e8e46d345a383a177873e263a3dc8feb5065a41075a654d7abcf1887afe880ed5bb67e1e9559
+DIST firefox-126.0-ia.xpi 604002 BLAKE2B 
3ede285d695396a8a0bff9cd7f87c2557d18bb65000582c0e2cc03070e5c23082924229ed20bf7bc5b414b1a935e87707c32f0f42b4196ced25e98d5a7c367c5
 SHA512 
700404a5d6dfc9c26479e7ecc6f1ed7848634f5abeb8e86afc488748a43cc95d64c748e29933bb15e09a9f08403011ce5de66c23a2a22550c60a45bca990dc24
+DIST firefox-126.0-id.xpi 571939 BLAKE2B 
d70e176b541deeb903ab43b213277a859c1181a708041f5ae2a8d98904658349e09496a777e099bed3dbf5f62051ab7145032b2da0f15191e192abd129b03eae
 SHA512 
481bf22ded3744402dde326bc812811d7021b23c54a8c6dac42b2a86b0b3ce00d5a173d7fc3c9a51b226441382efb425df4d855acd89ef842c64bf0fcf8178a4
+DIST firefox-126.0-is.xpi 610470 BLAKE2B 
f9e51a64cdf6444f0d8fc8c658e4b607ef540b589ec5e4bd32b2f41fbe7ea5dafb669a97ea9e712f56f1a32a7c12c02cf69dac86889f57186c7c30a8a1d3a392
 SHA512 
96672c91cfa0fbce998362d2dd1d91297aebe3658d4d2b57c5419f2fd64dd8579d0cfd18b2eab441ea29f55e92ecb7d3b71ececa6cd356903291e21d78d56e1d
+DIST firefox-126.0-it.xpi 560880 BLAKE2B 
35b94a2c7eefc6da70835f3a7a4b9e32bffc74c33440bc0bea40b1a4e23f525d0633180b7e5eee1a223ef03302d165b5801da5ac84184e3741c4ad766443a51b
 SHA512 
1fbf143d9937a3750e27be8409f640bfbdd2a3eb3d5b354cf205d59c70c7399fd89f21114bbb2ba8445692081013978abe9194b74d3da6f0b1538e6f18789417
+DIST firefox-126.0-ja.xpi 671973 BLAKE2B 
c5997088887d83786ec730fedaa380ce15e8ac90285ef9d41ab2bbb243bc3caa2e11d9f7a5f643fd2a2e0ebb87606848ab6d45c41b373a5eb574123382343d71
 SHA512 
72e0ebf8137a2152aa622a130351b169bf87ba289ce9b518b4abde6ca4032a742b4cd903789e1a09c52bb0b6d3c24f0d4ee79b52889a7f4cba1940930314bbe7
+DIST firefox-126.0-ka.xpi 658279 BLAKE2B 
4a6bcb3982a581e215274b2662fdb79e9bc38d4fefff0c5f500047dce02ee41b9faa5c7a34eb1194508de8789d02552c245562a3ae222ae44d9f00db27fb05f0
 SHA512 
8bd0024e1e07c2333b7cab35bb623393dba62dd1cb2a2e9c61232dcabb3c65880cca3c2c044c93c8c2a7ef6cdb1fd76fbdb5026d6f157d8ba0eed3b83b19c9c9
+DIST firefox-126.0-kab.xpi 601303 BLAKE2B 
13a62ad6f2d876d27176eb9f10e846f5773e0f95f093010d5a084236302d15e302cfc2e5ec089373ef7d432de92d1204e0ebdeb23d9f665f401d0969952a5098
 SHA512 
4db72525e5cf94b9933c4666d0f457d23401ccdbd230e99323aa254dbd503280bcc26d1db916a9dfa60d11b0709b86a5ad7257d56b07d246d55ed5a0bdc2bc3a
+DIST firefox-126.0-kk.xpi 699766 BLAKE2B 
4e3735c3e0eab0863e506ae5dc9b02209b1d1308937d4414ffca1d2f40853d5e1e5d29976a8e251887cc6ebc80caac901324c3cab3fa56ae47b1641b63468218
 SHA512 
dbbc3e37ac7688d44c5f8e2fd38140813d97f7f1d0f66315e5a9469d5df0bd0974f4496e47cd2e21d13d97e869a4d99e6dd73fe9996815153a7ece0b077d9868
+DIST firefox-126.0-km.xpi 523437 BLAKE2B 
9ed18034ab065e29b162e71dceab14cbcb05f1ba891c6708d8c3abeeb3357153a58d960b91767e4c99e760c8f499af6cb56f3a1b6e6aa3c4d3803eb85df9c279
 SHA512 
ec16d3ecb6d191437d4515b75371193b672f036b69112e26fb2bff441347cbc2864be77d198e9c2543f008282c866091970ed4e4942ce21f2779704a50cd0e2f
+DIST firefox-126.0-kn.xpi 488921 BLAKE2B 
e09a55f574cb48e753f70b3b3f710dfbb54e303aea3b2cb353ce1473719878adc2fac13e51b1bb7da9425337db4291d4c3bb51322a159189db0c3d92f3493201
 SHA512 
e2f2ec0d5e943a9d78883711887b1773ac09e94efa59e3ad2dcaab865879df40befe97a3c08514a128a3898d7105f09dba72b47dd03f501557f7a4c8f70ab244
+DIST firefox-126.0-ko.xpi 653970 BLAKE2B 
f0b14bc27bfa0866c90b569f33251fef842d6b2d858c13f0d47187fbd5b2d11eef9774974fe040b15aef2bab94dd42457c7152f49d55dfd2167000050cdc4665
 SHA512 
54c12180dd46867dcaa4fbbff81a607efcd705a8ce031d6d7e31c3fe2511809b1b8f46be8bbb3b3516f8915ca5e744eb353124fb3ca275ee7f0680c21eb7ac30
+DIST firefox-126.0-lij.xpi 481804 BLAKE2B 
8047fc09200055f2cf3d0a0580ea4b54b44c0b189633a4575769619bd8d9e0fb1420fbdbf0f03923d9f7ed59e033bb092d80deb69285cd16322a2833a2781567
 SHA512 
f43be6fd60d8ab7a96d35d8de449c0d304112333f02ecfe431a39ce3470a4629d69b852c6118036e0f19585ddc0c1f4d8bff1bc4eb23f42ed7c1a9e241af23dc
+DIST firefox-126.0-lt.xpi 570284 BLAKE2B 
e545f68c1eab7f3f92501252353d1158e6070dea5dbe8a575377dbd8c1cb4757ce0e8103965ce48e34ee0ad5dd7d0b8fb10b71fb75f5a78bcbbebfc4eebf4666
 SHA512 
39a99b1bebf32fca5278f337083b861b136c1e3fbc4b2c7ab233ffecd75158fc18af66140b618e0536eb29919458eb724a2d03bfd3718fd730ac9d07f9723322
+DIST firefox-126.0-lv.xpi 571452 BLAKE2B 
2dec5af89ef2efd811316db55b3fdd92f46cd85ea1946e4f12cb9e004c355c65e3c7887050e2e9697ce7d91abbde5f03c9385f27cdf0b9f55b57d110f12d2361
 SHA512 
4348314e2bc653657e50beb8493ae8ea46711b44a3cc1f974c45d63c07de8613d3c6da20da6dcd854aa35e1f17b674b6c5f22cdbee4a100bc3714d4700922347
+DIST firefox-126.0-mk.xpi 490941 BLAKE2B 
83199e60b575bb6b3a7201028d98e29675056f3df6d0cc14743694c6bac971c15980d30467da6eabd5f5c4a22f0053008c4ad07198312eaf5fdcabf8e02315f2
 SHA512 
7b482fa050734a907350d1c9fc6345c0f674d780b22f2a7028f1336306df4f1c6728bbddcf44ab7323dc8da0ab22ad1bf82ace0a86cc4339c1f5c20f5f3e1757
+DIST firefox-126.0-mr.xpi 529766 BLAKE2B 
033e10a85bb6da2825ba692caed8965b143b06480e5cff0c17a414a72443bafa603c8405b467ae7c858510cb7d4877bb7dd9fa7f165756fbc699feaa57e4ccf8
 SHA512 
8d5bd24a60da35a9d2ddd59927a33b59a1146e3d9857128c90a902fae770ea15bd689e4e70bbc28b9ba05bf1552ef967b9d142e98bc4590936c5cf6fc3212716
+DIST firefox-126.0-ms.xpi 447421 BLAKE2B 
d060dd416dec9c54b9ce353888f2149ca657f9bef44b01d0800017df5eaf4a33a77748f4b27853c60512a3ebaca7988b701993583fab5026f2c326de1e82cf6d
 SHA512 
fc946a56f9b5d5581f13f4fb24af6c9ada0b920c65f7e6c9f2582426c64c2ea4f6aaea0f85ad4791d83f73edca7667989d22459f62017203f63bc373ca1550f1
+DIST firefox-126.0-my.xpi 516436 BLAKE2B 
28a0eb7f7ca64176f6b34cf8b648160149b5269d2c6c6df38fd793ee87c8e64cc78ea449f6099acb5231925bd935e10ccecc7aca008d6ccf299c19b3efbc87b5
 SHA512 
fcecbcbd9db0204ec2b8208a60ecb17761754359fa8e83d7debc5368896903e0acfdf2298da4383dc92f37a19eb323441ee22cab1fdb361698c6347ac8974a7f
+DIST firefox-126.0-nb-NO.xpi 599722 BLAKE2B 
9dcadc18bf7eb12212fd308dd598ce5288914f89f2c1d71c04c8c8e7ad9a69433705478133eb2c0ad85de4221b101a69eedfa2d8ea01832ee4301abe4f1956b9
 SHA512 
1442de4367f3265a4dc91563fded02d06c58b74804fc5543f7e4452d199b42805ca4616451a9cc1cc9611cabcda482b10e12968fc60ac75a219a1bad7bc4d10f
+DIST firefox-126.0-ne-NP.xpi 498214 BLAKE2B 
67cfb14e0dfa89b7a2032da957fcef3bdbe6eb2c968aa85a07f3252a909c444c088e1de3aae35b6405f3f048ee4e29984c9b2d480e1c58a1352030edef06ccfc
 SHA512 
ce29ad779c4cafc2c5806db74fc5c3cd2c3739a50197a51c8b801352b3fca254eb88ffb5d9e2b97e0947116a25c6eac676eabc99f86dbd416a623f1ba1197e42
+DIST firefox-126.0-nl.xpi 610133 BLAKE2B 
b1f777285ddef7f502655f37419e33d512a7a8a7c806fbd1efcf387a49343a22a5abb56c02c171e277b32367921993259352945fe475428cba04cba2af06e596
 SHA512 
53f54d6e9a72090305153caf340ca355c0ea8138bd98979a8b5dae977efa64abf59beb1bc6c2dc9887673f25dbd17a7b6cb0fb08cd3d9fa70b8f2f0a0518adcb
+DIST firefox-126.0-nn-NO.xpi 593757 BLAKE2B 
b5aea80a5247ef51c95ea60a944f74895d30965017ed3e3132b8eeaf1bdf1b86189aa202f70357cb143e60639279cdfff8f971b2f49927d4ae0207662108423d
 SHA512 
8b16851a1999d7948f9469ce798d8860e2e8e5114f5e82ea3d8042dfdaf326fc4fa6a1ba281c9c2709537d3792e26871e4e7a3030a93df13d1d9510d4cf77c14
+DIST firefox-126.0-oc.xpi 608227 BLAKE2B 
9ea863851456ba54024a2c1af81b04763392067c42672b1b7c09370a3260ffde4301d55e32ef3799138d98d05f3623049b74e0587263981c7f1464f06061730c
 SHA512 
180f19fb359e7bedbcedd1a0ed0b9eeade7cc5c14869f5deda368db980c1ce9cac025138a100218d7eb695a2810f8e391eaf11d9b76f4f94ab8406add174df50
+DIST firefox-126.0-pa-IN.xpi 684085 BLAKE2B 
5a688e5a81c7047c6cf376c3eb2f669c0b7ec6f6e37e7a4af2c5e4776db7cc0d2e8d481814c73aff40e51d05070bab27157b40a37ac562cb7624b1f96fbe67a1
 SHA512 
43ef0fd082975a0a6e56fc5500b2668147308f0368caa38dc704515fcef84fcdb47721d25961a6a7bbde9c94464f18eb86202d8d57d8cef370a5c5773c60b41a
+DIST firefox-126.0-pl.xpi 630478 BLAKE2B 
aaaf92519ee5c39923f8f7b5f9d15c0e46704180fe05f516cad6dbd655319919a1d9c4f8e3f4e4f3a14bc491a3b645ec4a3051b604bc44001a8dd4d6b544026a
 SHA512 
ba5ef269242a41f8a128097c39b79fba03cd784b8e86b136516e629c6426151ab7090d1d76804700e4db8e65b90996439a0cf67e660b32e12f44d9501e7cea36
+DIST firefox-126.0-pt-BR.xpi 614784 BLAKE2B 
b6b6f6a98a808660685f3409115ba7c69cf43d25200dd54ef4298e70cc8a404cffdf08ee739e122349e25b96882922c834125215f4a087a80daa76849b9685ae
 SHA512 
e43c4a2141713482e156264b0c2c2414d7f139edfcfdaef34deaa9a4b919288b9c75ca07f72cc5f63b3003960509f03944a29c5428733f98ac01685cf2e362f8
+DIST firefox-126.0-pt-PT.xpi 618386 BLAKE2B 
77a124ae5218b9b9eca2fa92dbfdc2949904dc9dfe94c95ac24352e9115d2912f1bf1f353a47a5be98a22e5fe4df92cdc87e22f50d15a756ae16456bf06a52b8
 SHA512 
9ee99fca78e93559ae8f38ced72cfde02cfcf98092ea7e30a2d2517164c81148dda096864dc038a78a474f9cbb183f3d3b5568e3f273b8b79f1699145ae36bf8
+DIST firefox-126.0-rm.xpi 610724 BLAKE2B 
fa698f2fc6b0ee64f47296fa3eddbfbf20baaa500c191ce5b5053588e94e2ffa3a586092f85af042177916a708ad6bb5992e99db720ebe7d0a7cc79908e1b7bf
 SHA512 
c043c4b0521878655092a70ddf6b3cf13906a7af27576737dea0d895fa764c17931c19891c2f58faaee843fc61723bb555cb250b99e18b939140c9a3c078598b
+DIST firefox-126.0-ro.xpi 547381 BLAKE2B 
dbe81339b20ec1d015bcfd72a679e786902d620c3a6f895d64e89d5e302f0b661d4137623b0a96c53faed2ec46566f5c2b345805850155ea00c7638e92649014
 SHA512 
5974b32c9eaa3c75832b884c7f69349efe95677388a57de83e0c588ea5ffdc0e83ad50639a7c21e761dfae775907b23a647159ac2056f87b2d5e643c3bf3aa42
+DIST firefox-126.0-ru.xpi 711960 BLAKE2B 
5f9c62de9ad9a1826fe5ea22db7fd6f957024843f0a19c2b3d6fddf86963bf9691aed56cfbb640dc1ee3c6caa9ffcc0073e082498348f1817bf3f99803e244c5
 SHA512 
598016b1e95079db095f30aedff710d2deee274108de93fd66400c1e27f65f48d151e23434d122f0b82fc673632bf1a2f20457b96f710c5f60c47b944edf64f3
+DIST firefox-126.0-sc.xpi 576528 BLAKE2B 
cddf92e7d777f8ed116859c955f4e72a69dd709d44d5bc722ba459de2a0a4fded553306dc83f84072396bbd96dda5be543e95456e186aa08ca8abaeb3c966873
 SHA512 
1a36f1e90896d96583bb1d6142b2fea5a4b4d22ae631e3f28dd72e372cc28a4e934792dd1ba5b20093bbdcdb660326d7de63507fc92c4a8270285ed14ab3956e
+DIST firefox-126.0-sco.xpi 508846 BLAKE2B 
f8a013b727c934301bd51127e32cf4b5538fa58fca7eaab688a281408f4ded61e8ea2c6d6c2c2d878b24a5768920362aa658a4dad4488f7cfd1a1c40a27e47b6
 SHA512 
be610025dfb1fa47a9f7920357e028e690e2a3230ad512fc9da0a8c4975299b6f96d3bf87114a3c78f160adb568cbc725eb70ba26f70a5db8c20a699de834053
+DIST firefox-126.0-si.xpi 603576 BLAKE2B 
7e75d472b754227eec27bbdd9b5004c1032a304f645fd6676915921c6364b731134adf52e492b56b64eacb737e6d1ff67f0f0978e846ee336d977de7428650d5
 SHA512 
da0ccf83da14d37cd2ce4724a46cfb97f602a97b8f599c52d08ff273c485aeb23d9919a51d9625110cc21f099373e15a1851bcedb9854fc79221a2c6f88ff76e
+DIST firefox-126.0-sk.xpi 644825 BLAKE2B 
1cecac060137d7632ff918b3483297e1aff728942a36636ed43832940b66111c707624b157309794b4353818921e5da50bf07ff4926d412f731afe3e9eaf2bdb
 SHA512 
a1924dce938f7a943f5dea308af1cb40c6f5f47629cbbbd81f8bc825ceb39fd7145baba76b4e936611d033a1bd01f415ffc957f6c9827dbbf5be07d284651e78
+DIST firefox-126.0-sl.xpi 609033 BLAKE2B 
5268820eefdf2a6c707ee767946f66b48f73dca770b0d78624f24a190ea6499fdfe98f547a8efd8d1f9f3a301a3e26a80f121715587a502419fe1727c5b4a14c
 SHA512 
12b303724014855182ebfebf3fe170b7c4531ebd1c5a91d0f726d5104182186b2ef88ecd18d7919fe670fb20770e7ca6d690c35a4ef67308322e557b9e985728
+DIST firefox-126.0-son.xpi 414130 BLAKE2B 
adbf311c16007bd67f121207496a410efa00dc6c22cf6abc8c7d65a6a665f2719e144a5ca68f366de49d5065c912e68095243fa586c373f76898218a34c2f35e
 SHA512 
66f0de96d6875799745b2f7132d9aedc21cb09755aa8ce9a544b4c4f7c9ae0d6d37a74cf40c6c426f0ac44f460344e52014ca67dbf6c81710b95ead5bf72bb90
+DIST firefox-126.0-sq.xpi 631484 BLAKE2B 
02792930f0035796a5ba30e88b106b5dba3b646d064e2765f2b3bc41dba11ec8e3d998c3f7d61241d50e328e4909a86282532b6a760c4c6c3da2410045296fd6
 SHA512 
7ba44a8a3d57af1df042cef862cfe7ea8f2889781aa4e4153b145f91ebf23a0bd7e3e8c550dd31ea8c887cbad4764c3aa63b07cd0d229dcf05a5105342b21157
+DIST firefox-126.0-sr.xpi 636904 BLAKE2B 
3c40b597be9a49e3be8bd2cfdf55247b633c22302169c9cbcf9f4ab2bd959a105d498dcd3b941b88e48859cf5f41262352ff2613945559d2095fa1a8c312f435
 SHA512 
57ff2ff8585eba71cce8973676a2c8c7360059a3d538f49fc6a095a018eea26a22ab2e53be3e5a5bdd993204bb964724cc107ed1b7dadbd97d3b1559de5fb0d5
+DIST firefox-126.0-sv-SE.xpi 611999 BLAKE2B 
cd3db50b469ac065b22560a6bf8350a32b8917160708a18079fd9e43e9e557ffec976fc934125638aa011f16a325b4f0f4a780a259830644fe73ba180da08532
 SHA512 
d9b262ba4d3e6075a47ef71fbe3b85a986324d29100dd8c73ad8364118ae8541fc936d5a696133985030612e91aea9ed91b093bf7a04e7c8dcbeddff888a048c
+DIST firefox-126.0-szl.xpi 524040 BLAKE2B 
a1df548ab4bd87d9acf77ef2b9134ec3b43503df69fe409ee2b849b40ba614840392c40029984b28d4b5738f8cb9a5f3adbcf77556fd391088e1fe6fc3094740
 SHA512 
bd3d04959af768d6714c169d406826f8680943b7690809d84008fd3cd59083a1b2db53e1c32f862d278403863a515de5c8d2f8df7843351caf8e4cee4ff9207d
+DIST firefox-126.0-ta.xpi 505214 BLAKE2B 
1835d0a7ba357f9f90b586772436416367d4f181eb335c873f54386c9f61d0b8ed7516c9b898b33c36408bf9e0fb09bee8a754dfec79b3182dd63f2271400c28
 SHA512 
fe4d06a53ca1aacf31390a768f727f086b84f0b4ef95a89781deed53aa8b78bdc73c347d49c318931713bb1add8978c747f3442f63458c87f9730f9568bd1db0
+DIST firefox-126.0-te.xpi 556675 BLAKE2B 
b5d95671af56c7303d8eb9e2c1761c8e5d12f9f88aab0d44128b192af2fc73bb63be7503322c76b72ababcb1a9d863b89086651c1899ac315af164dc7cf9956f
 SHA512 
05db4ffc2e97f956339beed8578ca038d053042f432efdb298b9b0cf83b057b94bea4df9845b3de3f33faa06c7e502a0f02a44c5f1400d733ca8d6f9cf468c19
+DIST firefox-126.0-th.xpi 687706 BLAKE2B 
b2d9c1c78c19bbb442dcd980b9874827e0079bebc71024496d65035dc2f67cdc6475b746bc79ff63382268c0ae484992871eb109ba65a1e1faf9fdb02eb9a908
 SHA512 
d115eacf5f53342b6ca87bf81c2968ef6b79524ae95aae1e6770dd7c66c0fab3cfcdbeb4335ad77820212ebe35374fd0896330ebdd2e8837fb5c062fb6c8062a
+DIST firefox-126.0-tl.xpi 531822 BLAKE2B 
7292bc0caf37b262f08cdb725f85ba570683495acd85e43fc34a83bbe6b85bf4ee312624d24cb50360b1a6aed5692f8ae00e09eb664d5f1db34e9783d4b35e56
 SHA512 
95fe5bd8d83cfb4c4129b8cb676292598414b9cc6ecbd512297b7a87e1b12602bae9cacf559dfd703b25ce1d3a3c69514ec9dd71980afc5790d8cda1346755b6
+DIST firefox-126.0-tr.xpi 624998 BLAKE2B 
487a53a8ae20c2e1796afc06dd3a40142f2ee2b88eca27d982dbeb3f78ce00eae8200a6d30cf038351ad13ed45b6d3b0d037424942af6c47a17e3ea21bdc92de
 SHA512 
d10b800acdf58095406900283e54f35e4aaefee65305fbb5684e7ff5f9fbeea93ab1045377bc52f54ae98586f4cee4b57f56199e522b31e3b9fbdf9545f2f32e
+DIST firefox-126.0-trs.xpi 501691 BLAKE2B 
3ae1774df8f202023b5089bf40ab8cedefae6254b7466d3a39958deee67ce154f5da711e6d9b7b4dd170aa6a09764f347e3398fed27d7089263b5868dd0ccbb0
 SHA512 
41559f64bf5c22e2d36b0f19dbc6bd2d41ee4792ce313d4b08fe1c7945fdaeb9d902751e845ab1b832625a7dbe6e5b2c3d021e626aefa1b9f2fb35bf49e773b2
+DIST firefox-126.0-uk.xpi 703811 BLAKE2B 
9d7a22f3a30e06b9642d8b15d7870701cc4f96cff59efb218d58b8aa8dde13d553f02ecbad70bef37349a8b234e82eb6f1888b93844859a283eb9144d9230660
 SHA512 
069971fff2ec21867ef50fbadf8919ff38aa3824fabc02217b9e6e5dd83be82458fa024b00366a0a87a978d31f3ec92ebdcea789f867e3b38ce683ac50020c09
+DIST firefox-126.0-ur.xpi 558139 BLAKE2B 
60c98d5e1a49d90432e49f16d9053387b230cdfda8f118300663678b60bae9326f3f6a2d9de55048614d235d62e77814a34cfc33e7d9c973ac54a8e7cbfb6bcc
 SHA512 
9a1a0e5e15ab90ba1137c73174be7e631e5a0bcbbd7b52683282e580e30f2db1e6a8481f7337e744cab0a084ce701d719c5e33102f6d1751ba25cb0825710456
+DIST firefox-126.0-uz.xpi 476546 BLAKE2B 
35c05fdff82eadc1a9978c2a03f386040b773da201252eb3f7258af2df64d0b4534c5fda57a3a210575d4a8abc10a14877fe8b9e260960b87e6c983bbff8566c
 SHA512 
28a695f863c14d02a211d4f3e435ab79708083e79237d532b033bf32bc097ab47930e5a891544d215a1c8e24fe7b4127b727246bef80fec2adb35d03c77cece3
+DIST firefox-126.0-vi.xpi 649540 BLAKE2B 
545a01d3d901f2c8013835649db47c547ec9207ef0260a2dbc661ddd761765d3a40c37838134330767221ac535d970f5908e71521e58021736a4a08dab8dc1c8
 SHA512 
d94a1a8befe0c45e981d9bedbc688aaccec57521190a336ca094f3d7c5d64af4ca4872ceab426c2658bfdefd967de00245ceb715851763b4116ccd09fc1347da
+DIST firefox-126.0-xh.xpi 414864 BLAKE2B 
9ef6cc38daec68367317e8c29ad25d8aa1d002aac87d288e0d2f86342b7b7f76a8822d910fbb3e8f5df604d37b49bdf252890659f7e45261a0714320603111cf
 SHA512 
3b00c25657d9b8e71b53c0699d53bdca327750f4007a54c420657b884524ed1da6e2e0276f2a81f361869b050408590f73ec73f488efdc28820d6ae8a56f077e
+DIST firefox-126.0-zh-CN.xpi 649590 BLAKE2B 
1919defcbe80f49756a984833c2e7d809728394df7d4897d0c805ed5ec6318e8b137a7866563ce9ed2e68ed51a3f6695cee8c241533bb2f43814bf916778a716
 SHA512 
67fb4ee9c44727e56f5f01e8e90817c582e619af051e43edf771f75cd20e8858dac332c0f422df8b8017dfe91c81d6a8eae1ce96a3f927726b8518aefb1fe28b
+DIST firefox-126.0-zh-TW.xpi 651627 BLAKE2B 
34dbf056777c8345e4da72b908af5cf300d649fc8fa5896766f587f36a051418d06126cddb841caf3eaae0c5f2285e13c6929aaad4aba310d8d9e40a2f417cc2
 SHA512 
154c03337b9638c04d62f1282aeb7d3785865e8af63382ef5689fa30509d5ccb0745f6f15a08cdd1c613d24ada133095d2be08a7c9f7b546fefc3d48f3344858
+DIST firefox-126.0.source.tar.xz 552065476 BLAKE2B 
9f40424502ccf7516b8b1142372ff816986c07646e88b3e69ca1a6a5173166a3b6c37696c99fbbaece23d01af51a76e56c19df3babc7af4e5d13e5821262ad1b
 SHA512 
56025b051d544ca294911a1d6a66f09945f71012131881b64313dafb579730810a4b091950c90a21d4fd3f393ba23670d8409086e1677d80d0bbbe347c303527

diff --git a/www-client/firefox/firefox-126.0.ebuild 
b/www-client/firefox/firefox-126.0.ebuild
new file mode 100644
index 000000000000..b5eed72a0ab9
--- /dev/null
+++ b/www-client/firefox/firefox-126.0.ebuild
@@ -0,0 +1,1419 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-126-patches-01.tar.xz"
+
+LLVM_COMPAT=( 17 )
+
+PYTHON_COMPAT=( python3_{10..12} )
+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-r1 multiprocessing \
+       optfeature pax-utils python-any-r1 readme.gentoo-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/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 ~riscv ~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 +jumbo-build libproxy lto openh264 pgo pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent 
+system-libvpx system-png +system-webp"
+IUSE+=" +telemetry valgrind wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" geckodriver +gmp-autoupdate"
+
+# "-jumbo-build +system-icu": build failure on firefox-120:
+#   firefox-120.0/intl/components/src/TimeZone.cpp:345:3: error: use of 
undeclared identifier 'MOZ_TRY'
+REQUIRED_USE="|| ( X wayland )
+       debug? ( !system-av1 )
+       pgo? ( lto )
+       wifi? ( dbus )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+       !www-client/firefox:esr
+       selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+       $(llvm_gen_dep '
+               sys-devel/clang:${LLVM_SLOT}
+               sys-devel/llvm:${LLVM_SLOT}
+               clang? (
+                       sys-devel/lld:${LLVM_SLOT}
+                       virtual/rust:0/llvm-${LLVM_SLOT}
+               )
+               pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] )
+       ')
+       app-alternatives/awk
+       app-arch/unzip
+       app-arch/zip
+       >=dev-util/cbindgen-0.26.0
+       net-libs/nodejs
+       virtual/pkgconfig
+       !clang? ( >=virtual/rust-1.74 )
+       !elibc_glibc? ( dev-lang/rust )
+       amd64? ( >=dev-lang/nasm-2.14 )
+       x86? ( >=dev-lang/nasm-2.14 )
+       pgo? (
+               X? (
+                       sys-devel/gettext
+                       x11-base/xorg-server[xvfb]
+                       x11-apps/xhost
+               )
+               !X? (
+                       >=gui-libs/wlroots-0.15.1-r1[tinywl]
+                       x11-misc/xkeyboard-config
+               )
+       )"
+COMMON_DEPEND="${FF_ONLY_DEPEND}
+       >=app-accessibility/at-spi2-core-2.46.0:2
+       dev-libs/expat
+       dev-libs/glib:2
+       dev-libs/libffi:=
+       >=dev-libs/nss-3.99
+       >=dev-libs/nspr-4.35
+       media-libs/alsa-lib
+       media-libs/fontconfig
+       media-libs/freetype
+       media-libs/mesa
+       media-video/ffmpeg
+       sys-libs/zlib
+       virtual/freedesktop-icon-theme
+       x11-libs/cairo
+       x11-libs/gdk-pixbuf
+       x11-libs/pango
+       x11-libs/pixman
+       dbus? (
+               sys-apps/dbus
+       )
+       jack? ( virtual/jack )
+       pulseaudio? (
+               || (
+                       media-libs/libpulse
+                       >=media-sound/apulse-0.1.12-r4[sdk]
+               )
+       )
+       libproxy? ( net-libs/libproxy )
+       selinux? ( sec-policy/selinux-mozilla )
+       sndio? ( >=media-sound/sndio-1.8.0-r1 )
+       system-av1? (
+               >=media-libs/dav1d-1.0.0:=
+               >=media-libs/libaom-1.0.0:=
+       )
+       system-harfbuzz? (
+               >=media-gfx/graphite2-1.3.13
+               >=media-libs/harfbuzz-2.8.1:0=
+       )
+       system-icu? ( >=dev-libs/icu-73.1:= )
+       system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
+       system-libevent? ( >=dev-libs/libevent-2.1.12: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= )
+       valgrind? ( dev-debug/valgrind )
+       wayland? (
+               >=media-libs/libepoxy-1.5.10-r1
+               x11-libs/gtk+:3[wayland]
+               x11-libs/libxkbcommon[wayland]
+       )
+       wifi? (
+               kernel_linux? (
+                       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}
+       hwaccel? (
+               media-video/libva-utils
+               sys-apps/pciutils
+       )
+       jack? ( virtual/jack )
+       openh264? ( media-libs/openh264:*[plugin] )"
+DEPEND="${COMMON_DEPEND}
+       X? (
+               x11-base/xorg-proto
+               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 && ! tc-ld-is-mold ; 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 ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
+                       einfo "virtual/rust:0/llvm-${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}*[profile]" ; then
+                               einfo 
"=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] 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+=( fur )
+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+=( sc )
+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}"
+}
+
+# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', 
and is temporarily
+# placed here until toolchain-funcs.eclass gets an official support for mold 
linker.
+# Please see:
+# https://github.com/gentoo/gentoo/pull/28366 ||
+# https://github.com/gentoo/gentoo/pull/28355
+tc-ld-is-mold() {
+       local out
+
+       # Ensure ld output is in English.
+       local -x LC_ALL=C
+
+       # First check the linker directly.
+       out=$($(tc-getLD "$@") --version 2>&1)
+       if [[ ${out} == *"mold"* ]] ; then
+               return 0
+       fi
+
+       # Then see if they're selecting mold via compiler flags.
+       # Note: We're assuming they're using LDFLAGS to hold the
+       # options and not CFLAGS/CXXFLAGS.
+       local base="${T}/test-tc-linker"
+       cat <<-EOF > "${base}.c"
+       int main() { return 0; }
+       EOF
+       out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version 
"${base}.c" -o "${base}" 2>&1)
+       rm -f "${base}"*
+       if [[ ${out} == *"mold"* ]] ; then
+               return 0
+       fi
+
+       # No mold here!
+       return 1
+}
+
+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'
+
+       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}: $@"
+       "$@"
+       local r=$?
+
+       [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+       exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+       return $r
+}
+
+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-r1_pkg_setup
+
+               if use clang && use lto && tc-ld-is-lld ; 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
+
+                       # Clear tons of conditions, since PGO is 
hardware-dependant.
+                       addpredict /dev
+               fi
+
+               if ! mountpoint -q /dev/shm ; then
+                       # If /dev/shm is not available, configure is known to 
fail with
+                       # a traceback report referencing 
/usr/lib/pythonN.N/multiprocessing/synchronize.py
+                       ewarn "/dev/shm is not mounted -- expect build 
failures!"
+               fi
+
+               # Google API keys (see 
http://www.chromium.org/developers/how-tos/api-keys)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+                       
MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+               fi
+
+               if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+                       
MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+               fi
+
+               # Mozilla API keys (see 
https://location.services.mozilla.com/api)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+                       
MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+               fi
+
+               # Ensure we use C locale when building, bug #746215
+               export LC_ALL=C
+       fi
+
+       CONFIG_CHECK="~SECCOMP"
+       WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to 
play DRM-protected content."
+       linux-info_pkg_setup
+}
+
+src_unpack() {
+       local _lp_dir="${WORKDIR}/language_packs"
+       local _src_file
+
+       if [[ ! -d "${_lp_dir}" ]] ; then
+               mkdir "${_lp_dir}" || die
+       fi
+
+       for _src_file in ${A} ; do
+               if [[ ${_src_file} == *.xpi ]]; then
+                       cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die 
"Failed to copy '${_src_file}' to '${_lp_dir}'!"
+               else
+                       unpack ${_src_file}
+               fi
+       done
+}
+
+src_prepare() {
+       if use lto; then
+               rm -v 
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+       fi
+
+       # Workaround for bgo#917599
+       if has_version ">=dev-libs/icu-74.1" && use system-icu ; then
+               eapply 
"${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch
+       fi
+       rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || 
die
+
+       # Workaround for bgo#915651 on musl
+       if use elibc_glibc ; then
+               rm -v 
"${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+       fi
+
+       eapply "${WORKDIR}/firefox-patches"
+
+       # Allow user to apply any additional patches without modifing ebuild
+       eapply_user
+
+       # Make cargo respect MAKEOPTS
+       export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+       # Workaround for bgo#915651
+       if ! use elibc_glibc ; then
+               if use amd64 ; then
+                       export RUST_TARGET="x86_64-unknown-linux-musl"
+               elif use x86 ; then
+                       export RUST_TARGET="i686-unknown-linux-musl"
+               elif use arm64 ; then
+                       export RUST_TARGET="aarch64-unknown-linux-musl"
+               else
+                       die "Unknown musl chost, please post your rustc -vV 
along with emerge --info on Gentoo's bug #915651"
+               fi
+       fi
+
+       # Make LTO respect MAKEOPTS
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/build/moz.configure/lto-pgo.configure || die "Failed 
sedding multiprocessing.cpu_count"
+
+       # Make ICU respect MAKEOPTS
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/intl/icu_sources_data.py || die "Failed sedding 
multiprocessing.cpu_count"
+
+       # Respect MAKEOPTS all around (maybe some find+sed is better)
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding 
multiprocessing.cpu_count"
+
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py 
|| die "Failed sedding multiprocessing.cpu_count"
+
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               
"${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || die 
"Failed sedding multiprocessing.cpu_count"
+
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed 
sedding multiprocessing.cpu_count"
+
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py 
|| die "Failed sedding multiprocessing.cpu_count"
+
+       # 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
+
+       # Clear checksums from cargo crates we've manually patched.
+       # moz_clear_vendor_checksums xyz
+       moz_clear_vendor_checksums proc-macro2
+
+       # Respect choice for "jumbo-build"
+       # Changing the value for FILES_PER_UNIFIED_FILE may not work, see 
#905431
+       if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then
+               local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16}
+               elog ""
+               elog "jumbo-build defaults modified to 
${my_files_per_unified_file}."
+               elog "if you get a build failure, try undefining 
FILES_PER_UNIFIED_FILE,"
+               elog "if that fails try -jumbo-build before opening a bug 
report."
+               elog ""
+
+               sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 
16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" 
python/mozbuild/mozbuild/frontend/data.py ||
+                       die "Failed to adjust FILES_PER_UNIFIED_FILE in 
python/mozbuild/mozbuild/frontend/data.py"
+               sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE 
= "${my_files_per_unified_file}"/" js/src/moz.build ||
+                       die "Failed to adjust FILES_PER_UNIFIED_FILE in 
js/src/moz.build"
+       fi
+
+       # 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; then
+               # Force clang
+               einfo "Enforcing the use of clang due to USE=clang ..."
+
+               local version_clang=$(clang --version 2>/dev/null | grep -F -- 
'clang version' | awk '{ print $3 }')
+               [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 
"${version_clang}")
+               [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+               if tc-is-gcc; then
+                       have_switched_compiler=yes
+               fi
+
+               AR=llvm-ar
+               CC=${CHOST}-clang-${version_clang}
+               CXX=${CHOST}-clang++-${version_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,
+       # AS is used in a non-standard way by upstream, #bmo1654031
+       export HOST_CC="$(tc-getBUILD_CC)"
+       export HOST_CXX="$(tc-getBUILD_CXX)"
+       export AS="$(tc-getCC) -c"
+
+       # Configuration tests expect llvm-readelf output, bug 913130
+       READELF="llvm-readelf"
+
+       tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF 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
+       mozconfig_add_options_ac '' --enable-project=browser
+
+       # Set Gentoo defaults
+       if use telemetry; then
+               export MOZILLA_OFFICIAL=1
+       fi
+
+       mozconfig_add_options_ac 'Gentoo default' \
+               --allow-addon-sideload \
+               --disable-cargo-incremental \
+               --disable-crashreporter \
+               --disable-disk-remnant-avoidance \
+               --disable-gpsd \
+               --disable-install-strip \
+               --disable-legacy-profile-creation \
+               --disable-parental-controls \
+               --disable-strip \
+               --disable-tests \
+               --disable-updater \
+               --disable-wmf \
+               --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.
+       # bug 833001, bug 903411#c8
+       if use ppc64 || use riscv; then
+               mozconfig_add_options_ac '' --disable-sandbox
+       elif use valgrind; then
+               mozconfig_add_options_ac 'valgrind requirement' 
--disable-sandbox
+       else
+               mozconfig_add_options_ac '' --enable-sandbox
+       fi
+
+       # Enable JIT on riscv64 explicitly
+       # Can be removed once upstream enable it by default in the future.
+       use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' 
--enable-jit
+
+       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
+       mozconfig_use_enable valgrind
+
+       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"
+
+               # Increase the FORTIFY_SOURCE value, #910071.
+               sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' 
"${S}"/build/moz.configure/toolchain.configure || die
+       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
+
+       ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' 
--disable-unified-build
+
+       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-x11-only
+       fi
+
+       # LTO is handled via configure
+       filter-lto
+
+       if use lto ; then
+               if use clang ; then
+                       # Upstream only supports lld or mold when using clang.
+                       if tc-ld-is-mold ; then
+                               # mold expects the -flto line from *FLAGS 
configuration, bgo#923119
+                               append-ldflags "-flto=thin"
+                               mozconfig_add_options_ac "using ld=mold due to 
system selection" --enable-linker=mold
+                       else
+                               mozconfig_add_options_ac "forcing ld=lld due to 
USE=clang and USE=lto" --enable-linker=lld
+                       fi
+
+                       mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+               else
+                       # ThinLTO is currently broken, see bmo#1644409.
+                       # mold does not support gcc+lto combination.
+                       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
+                       # lld is upstream's default
+                       if tc-ld-is-mold ; then
+                               mozconfig_add_options_ac "using ld=mold due to 
system selection" --enable-linker=mold
+                       else
+                               mozconfig_add_options_ac "forcing ld=lld due to 
USE=clang" --enable-linker=lld
+                       fi
+
+               else
+                       if tc-ld-is-mold ; then
+                               mozconfig_add_options_ac "using ld=mold due to 
system selection" --enable-linker=mold
+                       else
+                               mozconfig_add_options_ac "linker is set to bfd 
due to USE=-clang" --enable-linker=bfd
+                       fi
+               fi
+       fi
+
+       mozconfig_use_enable debug
+       if use debug ; then
+               mozconfig_add_options_ac '+debug' --disable-optimize
+               mozconfig_add_options_ac '+debug' --enable-real-time-tracing
+       else
+               mozconfig_add_options_ac 'Gentoo defaults' 
--disable-real-time-tracing
+
+               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
+
+       # elf-hack
+       # Filter "-z,pack-relative-relocs" and let the build system handle it 
instead.
+       if use amd64 || use x86 ; then
+               filter-flags "-z,pack-relative-relocs"
+
+               if tc-ld-is-mold ; then
+                       # relr-elf-hack is currently broken with mold, 
bgo#916259
+                       mozconfig_add_options_ac 'disable elf-hack with mold 
linker' --disable-elf-hack
+               else
+                       mozconfig_add_options_ac 'relr elf-hack' 
--enable-elf-hack=relr
+               fi
+       elif use ppc64 || use riscv ; then
+               # '--disable-elf-hack' is not recognized on ppc64/riscv,
+               # see bgo #917049, #930046
+               :;
+       else
+               mozconfig_add_options_ac 'disable elf-hack on non-supported 
arches' --disable-elf-hack
+       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
+
+       if use valgrind; then
+               mozconfig_add_options_ac 'valgrind requirement' 
--disable-jemalloc
+       fi
+
+       # System-av1 fix
+       use system-av1 && append-ldflags "-Wl,--undefined-version"
+
+       # Allow elfhack to work in combination with unstripped binaries
+       # when they would normally be larger than 2GiB.
+       append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+       # Make revdep-rebuild.sh happy; Also required for musl
+       append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+       # Pass $MAKEOPTS to build system
+       export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+       # Use system's Python environment
+       export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+       export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+
+       if ! use telemetry; then
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_CRASHREPORTER=0"
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_DATA_REPORTING=0"
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_SERVICES_HEALTHREPORT=0"
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_TELEMETRY_REPORTING=0"
+       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
+
+       if use valgrind; then
+               sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g 
-O2"/' .mozconfig || die
+       fi
+
+       ./mach configure || die
+}
+
+src_compile() {
+       local virtx_cmd=
+
+       if tc-ld-is-mold && use lto; then
+               # increase ulimit with mold+lto, bugs #892641, #907485
+               if ! ulimit -n 16384 1>/dev/null 2>&1 ; then
+                       ewarn "Unable to modify ulimits - building with 
mold+lto might fail due to low ulimit -n resources."
+                       ewarn "Please see bugs #892641 & #907485."
+               else
+                       ulimit -n 16384
+               fi
+       fi
+
+       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
+
+               # Install the vaapitest binary on supported arches (122.0 
supports all platforms, bmo#1865969)
+               exeinto "${MOZILLA_FIVE_HOME}"
+               doexe "${BUILD_DIR}"/dist/bin/vaapitest
+
+               # Install the v4l2test on supported arches (+ arm, + riscv64 
when keyworded)
+               if use arm64 ; then
+                       exeinto "${MOZILLA_FIVE_HOME}"
+                       doexe "${BUILD_DIR}"/dist/bin/v4l2test
+               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
+
+       readme.gentoo_create_doc
+}
+
+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
+
+       # 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
+
+       readme.gentoo_print_elog
+
+       optfeature_header "Optional programs for extra features:"
+       optfeature "desktop notifications" x11-libs/libnotify
+       optfeature "fallback mouse cursor theme e.g. on WMs" 
gnome-base/gsettings-desktop-schemas
+       optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal
+       if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then
+               optfeature "hardware acceleration with NVIDIA cards" 
media-libs/nvidia-vaapi-driver
+       fi
+
+       if ! has_version "sys-libs/glibc"; then
+               elog
+               elog "glibc not found! You won't be able to play DRM content."
+               elog "See Gentoo bug #910309 or upstream bug #1843683."
+               elog
+       fi
+
+       if use geckodriver ; then
+               ewarn "You have enabled the 'geckodriver' USE flag. Geckodriver 
is now"
+               ewarn "packaged separately as net-misc/geckodriver and the use 
flag will be"
+               ewarn "dropped from main Firefox package by Firefox 128.0 
release."
+       fi
+}

Reply via email to