commit:     8483d1122b4c093c8a8886de70774332c81b626a
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 11 05:11:03 2023 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue Apr 11 05:12:58 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8483d112

www-client/firefox: add 112.0

 - include dont-crash-on-wayland-log-handler.patch from upstream bug #1826583,
 - remove "accessibility.typeaheadfind" from our default prefs.

Bug: https://bugs.gentoo.org/902149
Bug: https://bugs.gentoo.org/903710
Bug: https://bugs.gentoo.org/901353
Bug: https://bugs.gentoo.org/904072
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 www-client/firefox/Manifest                      |  101 ++
 www-client/firefox/files/gentoo-default-prefs.js |    1 -
 www-client/firefox/firefox-112.0.ebuild          | 1379 ++++++++++++++++++++++
 3 files changed, 1480 insertions(+), 1 deletion(-)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index d0c6d75ddebf..9b7012f8499b 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -297,3 +297,104 @@ DIST firefox-111.0-xh.xpi 421019 BLAKE2B 
796f3a8ff74c0704e9ed746350f73b858bd219c
 DIST firefox-111.0-zh-CN.xpi 602345 BLAKE2B 
22d0d3cf8c580514f7ac3c2b75aaa77b108fc64941476298f8051df2b5e09f9f882bd49bc356e84f29afda64c92d9d6fbdfe5413b1b6c6654a6d865a4624b8a3
 SHA512 
6a234946541a1852e82baa75a94e4196d30c0c67a13965db0a955074b2640fde675470b9e6fd72ac73eaa81019b3f14e08079a641208fe67a588c31d93f3c44e
 DIST firefox-111.0-zh-TW.xpi 604910 BLAKE2B 
f5a04e08f87f5432994f2765b86616331d51ce8101b7abc8881af97dfdf88f384a0dccdcdd1c1845e221683d0dbda5a95d59c1285a06b0409164e71423db5fd0
 SHA512 
bf90c89fb6797fcaf83f13811e6a6c285deedeb70c7f48f310fb4cd2e664a3c633bb83ef829987ad80e3956189b67777b4b41c0742cdb1dade9dd3288f95adff
 DIST firefox-111.0.source.tar.xz 495743080 BLAKE2B 
5262557c7e3460c5d4013040b653b5ed357a6ee3fa196a8b862ac4e884a8be64bb06896a6ef468fe702f6ab09fc2af7088de4e4c14cf832d2a3d47a18ac68f0e
 SHA512 
cdb300fdbb2b60068b0fc10a18df587b417e484901d36f52dd174d320d3440a42b02ea000f325c5781fd8853a5171b1a5184562fb535ece90619e4c64d46bb82
+DIST firefox-112-patches-01j.tar.xz 16812 BLAKE2B 
027c67af0d5bad5cd2e59905a573cb27274971c8912d3d7f30f9a781054d2a1ee56ef801df8aeaf0123214138d18ff78d4f7e9ae5cccd2b7f305fe128151a50d
 SHA512 
3383d1c0264e23d2c45a7d9ed499615203a8684402fa126320bf4cae5b9f7f45f37fca4ae9e32a447122b8dac8e6051c6838b3b19c82b2044549fd697731cfa8
+DIST firefox-112.0-ach.xpi 459577 BLAKE2B 
3adb567d9b02f04e869236b7863d2f7425fe721f0c26bafd21aef30b0a761fc7dc0aedc7abf99429d6da19c6c33d4a7669edb1531526822e20d54d802f2bd92f
 SHA512 
e3a0487ca57ba731bfbacf7628f497b623a68324d9464a73d18e36d3331dde434d05b73abe3d8864ce684d4bddd4d20b73ee53c397dfa9f665360dd612c7fc63
+DIST firefox-112.0-af.xpi 423010 BLAKE2B 
6f87c4cc3eab518c111793860845c34b3131d50500211b0e5b813b376c8a13d5aee071a40e9172e2482994234d4d5764e14a24bb68a9ae8b4b86e8bcb6f0b97a
 SHA512 
000fd456377692eca76efde709d8526c599a38fb9839018cee726ca6359d3356f42f8620b892a9082cd8dcbad5c6be1346c7ef9bfed0b97910f7a343dc0e2cac
+DIST firefox-112.0-an.xpi 503915 BLAKE2B 
2e7e5fa8a7ade25e28edf32402a3132333019938d315483bacd3156c7c1cdeebae037d144f67a04d3dc16004012d0d855b5091249f83ebb55c84b680c903cce7
 SHA512 
45915bb76a712cfd437526f59bb56ce7b493bdc636f783cea1f7e4809d178189ac4622b733465147c82fece78cb49a5f81bb3ef91ee5c6f4ef55415bba55b672
+DIST firefox-112.0-ar.xpi 570938 BLAKE2B 
a1f9dbdfe938763547d3848e396cffec719453901fa05630090a53147f3a27af3f316948eaf217492c366beb74172f288f6565ca9f0390a2b2116e7f391124bb
 SHA512 
667f86e18b1580501d7b205fc8cda963b266ad19e4195b78f1287f1da37b0e81726f88231eb4173213c39e72abe0607592cebe2ac4985192086f774579ed83f9
+DIST firefox-112.0-ast.xpi 489822 BLAKE2B 
24eafec53a5fa9a27dfeb2ccf9126e7e635309873c646e1e50c816d56c8a71673b9e94bd31566edd6a7ed367f904d03752a3ee95381a13659b2da62e1ad0c324
 SHA512 
73a33f6dcbba9dd4692eabb2cb518828a8ac571eca4b532551c902708f9ea6c10e315ab8442e16c4bfa83cd6941d3cbe561c9ac4e3dda2f81e46deb8df1d1587
+DIST firefox-112.0-az.xpi 492297 BLAKE2B 
6aa8062bbf3430ec95b1fd6ee26034d82fffc9551e415801a71c53bb2c491decc007370aa08315f7c7f765edcfb7bb28345a058175002ba44f0d6c2d8133201b
 SHA512 
ec1601baafe5f8fa84d77cf29634cfd10108cd31d3610421afc40ea9bbb3051a8fcaefa3612ef117ed61d151bbe8940a31531bc717d909002eb0588e4a2562f0
+DIST firefox-112.0-be.xpi 659309 BLAKE2B 
a84c19eacf95c17d69350747a570ec90cbecdbf04e1958d60888a5995d38b71442acfb085c1dd16f29ca420cc4061372af0bb24426b2d8112586300b3b1a18fe
 SHA512 
08dafbcd8decd7d82ef49a69c924e5262ba6f522ef055b473bfc1e10b893ed645e7f2205a77c3cb4f91a63538301086f6a6c27c26be60bac412a58dc0df46ca0
+DIST firefox-112.0-bg.xpi 588443 BLAKE2B 
4ed52e475b392229d95d8de4b48c329bfafe1ae09d7363265afe92a99acd70d4a4b328728ac2410d08c9d9d18ceab9956ca369ca3d4062f6d771cd756bc1fb10
 SHA512 
f1c133c23f82fb137f72e77677c8d8fe9d78efb0a85b7bd48779086d65c4b1d2fdec13e41115b0f04a928983a13ac529052a15c39da3f4f4e8a28a38c27e4d0a
+DIST firefox-112.0-bn.xpi 582020 BLAKE2B 
f200f0ac5d20898e3be84a8d0e67f7c551081ac356890b34de9fc2c14ce65406df4a1509654e9a3178abd8d0931968657c2d82bd8c6a613e0da352ffb95bc5e4
 SHA512 
618f00b9dcc0ebdbebec73505bbce8523a7e65158ff9c597caa9954c82ec09188951f70812f6831372a9081c5f741535dde7eeeb53434076d86ea030f7430bea
+DIST firefox-112.0-br.xpi 548373 BLAKE2B 
3a69a75e99fcb1275fb9a8393dc7df89873f10eba581866ae45b2eb4dd0e18c1663fc41d784a0faba00805c890ac05c4d8d08b4a64d906dc1a1955e39d7452f4
 SHA512 
9c325c66e403dd5c36222a724c7ebcfa25918e9fb300a5039576e8d55be630c69c8d1c47f1b713b60bbab4479027e915c6fdd196784d877eb5b607d5cb016b4f
+DIST firefox-112.0-bs.xpi 464480 BLAKE2B 
c2be7995cc89955055b26cc72edf529b5eb124ce33e4d941667b7e0847b7716e6fef37b817e8b8a2e71ad07468ff026d0e6272fac84930cbce9791032ba1a3e6
 SHA512 
35b8e6eefa6db77a00882e8b4aee30d3aa4a386920931266cae2033b2c9febf5cc07bb3adea4ec2ab18cc7cdde52218f182498473a6d70c2565cd75457aea556
+DIST firefox-112.0-ca-valencia.xpi 542846 BLAKE2B 
e76f589a9eddf9ec7ed8b52f70a47f63b2845c7061aecc3af062c5edab4b4c58849218df79a4deb45758f111d7c72e5c2f3da208a648e4015e6d291ae0952d16
 SHA512 
61c442ae561a7c7839bfd746bcd3d455a5da2e5a85a67989b6ba75aec01984c1a32e9bb0a4dff4ae967f6aacf4f0f31ee42b69d31a07ccc73c9728a294cdb111
+DIST firefox-112.0-ca.xpi 558783 BLAKE2B 
c89f33e82e8a1adc1558a9d63d7ff1cceaf726b88eac22f3601c577f23e59a226171b0023701ee1fd20ae5d0efc9a9ee055a71e1e171dd327d8e4a756464b7c5
 SHA512 
30a3ab1976aa11f580bea80cf1783a5c35264c611ae84779f0cf5600a342c3fe5a8b2364941e1c2e96d5472cd0754a02d57efb8ffdb92665734006740221aa31
+DIST firefox-112.0-cak.xpi 580305 BLAKE2B 
50d28c95c8b605e7724c1f1c1a173f8dec266adedfd37e0f075c0eaba9d826f393001ecd3b4b51f27c1260714f23b50a91c49949aa7b7ba358a8e4a3107ee24a
 SHA512 
98b8e07d16a80ff13ec5abd668f52419b74433d6fbd9cfb6e08e59f171d77fea20c577d48f51562a9ddd8aab189db83e45caaff46f62535ab8c42fc36beb7455
+DIST firefox-112.0-cs.xpi 594677 BLAKE2B 
cf2fbeb6521f73d3253ec3725943d6dc9815cacba0d38823e448b2677fbdd39e813d8cb1827919261cd4db4f760ea5f700ddaa4d64c901c97c26b31e370405fc
 SHA512 
53713f1a7ccc81f143c03ef454ad0735be9bf144462b92089fbbaac2aaaca2afcdc88923971d536a8e5971f8f5059051601f1740761a4f22942cf27bb4dcfad4
+DIST firefox-112.0-cy.xpi 573564 BLAKE2B 
30da68075bd10f5da150d08da676ed4587be61a41a83656dafcda2701b5642ea258561e27cee4cbe37e6a8fe57db55bf05b841d7c8aeb884765355ade5039ac7
 SHA512 
444289f710f74983a13b2763e837cd0ae98ee02cfeda205de421af6593a736100a25da2124f41c3f3e1bcd15a4da5779b20ae01b98db31bc54954d291a384191
+DIST firefox-112.0-da.xpi 563251 BLAKE2B 
74eecd16a6d2301235297936176265a046cf80ab0f355fe075a23ad8ef1aa6da7635f53e2d81efe4ef0fa8af49eb50c5f390fcee0e35c9af5216ea09f569d181
 SHA512 
f0e4a3c6055513deb1bf8aa3ccc89161da0e10d6f3edf8c5881395a1be256ba8535c58d95031cd850d11cacba6b8a0d36793994390cad163a2bb402cca6896bc
+DIST firefox-112.0-de.xpi 584798 BLAKE2B 
41cd622f4fcc84abcdeee8b2c65c9fc322b4f9b066e0720e8c064f6655801d9ae7840e8c10bb44085d8cfb28dfc6ec8f4c554a849ad31153c13dbba498687665
 SHA512 
c647c980a79647ad84f5a3536fd0ec6b80491b0b0824c515aae3487cf287f4ba74a8c3000b9f36e84f72e9f6a20b3e5be591eed6ab2b7eb8a415be1b6dc7acff
+DIST firefox-112.0-dsb.xpi 593194 BLAKE2B 
31ef1b2586916cda1ba9ae49ccd5c0ed472c4802186a1778261a0079280ce7c3df370c1363c17373dc3c37d9bdf15adea2114f9a76157bc5b3daf2fc26c0d793
 SHA512 
4e451b88b0e712db19dc9ddd3fb0d3ea45a06e7a91f70c37fcad0f41de4f1cff78df5dee96e5142d60b859cb93ef3eafd497d1e957e1fadd9f0933c149801b85
+DIST firefox-112.0-el.xpi 674361 BLAKE2B 
c4324ab8b3a9f8ac1abb72118e6cac5304332c1d313d4dbf3e76c5092ebf5f252ce6aaafde9784c10411dba76f5d94d336748398e58a45052708985e4dd2024d
 SHA512 
5c6e4af34758b4630737c8c68014f690880987b33883d9892c7af0d266620e4322681dd920a0107f821817b94f61dbd899695d97d663e0319ec1c76b073572e1
+DIST firefox-112.0-en-CA.xpi 536336 BLAKE2B 
2d2957f9dccec6c88987625ca5fb438fa7ffc03b959fa4a91a91a32916a76217a1f32603ffed21e5ed088d5c2b94ffab5768135daba4127597d0c3f08931ecbb
 SHA512 
c3e4b760df2e206c0795f34a89ec1da4cd6a81f6db7823678e44941c3c2d63e156b299bf8927e683ea96fbc51a2f2a0abb16b3a942eb3403c4bb664a6f71a24d
+DIST firefox-112.0-en-GB.xpi 538969 BLAKE2B 
89f760f2aab9e72b648fda7347454d3e49b8b7890aa9f1bdbc060287bef773a729a5de74531435cfda413a86c90fd8f016029434e376f44c9c8f7302f20f0483
 SHA512 
214e52e17942341b9942c471f5fbae6a7821526925f9365efe9e750ff1968b39b76e9981851ac2ad83fadc43c3075ac3c819634e4c8befa073e8233b76c959d2
+DIST firefox-112.0-eo.xpi 567008 BLAKE2B 
bee8729facfafc3b457973f94a6e26a945fffdd2255cff0e66a74cee5245b06409f33cbeb3976c1dc5e31f3ea9f40864d40f137e32e7d96888063de0d27f9320
 SHA512 
aa250c262b7be624e9351806fbe43444800723029de9de4f416e8c109edf7f8aaced891c520d0a5a2dadff9c9a196338fa9cc31c60ec78adecde0ff7772a3b3a
+DIST firefox-112.0-es-AR.xpi 578708 BLAKE2B 
0d2d6289eb7f867405afe92e3815d590d1d7e2d105dfec942c94805f37d2640544dc217c5f834e32aa5da53138fa20d9a1e8fb755b81a05c14c735548f71fff8
 SHA512 
a8a546e2571e4690fcd3b0027d88a29e10a088716519f53f9841c526eb9b57443a0133b8e61a6ad5c402627ebe55ef3ed27b19c747e7617ae0880013ffa1f0d8
+DIST firefox-112.0-es-CL.xpi 577883 BLAKE2B 
fd9d067a8c6a4e5be49fc56d1acde5e5bb614e15170405b42263a1092cb8ea3703532ae9b6af29bf95e3c62e6bed38dd77a46cf084fd8038a08e3b4f9578d590
 SHA512 
e499fbb0e882151e2c108e0ac9ac1e6bb6ffcba8933bce0d6c9339f76104ba2f6f7cbb30ea046227f9b84b30983c9eb0ef024d49c418737fc966bae98550ef43
+DIST firefox-112.0-es-ES.xpi 571738 BLAKE2B 
346a71713f69a681c98470f7e3062df9983312004e71dc5f7c21885cc4ae73fc9280ea2d9983284f2874225fd0408122a24ad1892c85db5b29eb86dbaa74d032
 SHA512 
fe84ab66c88fcf78267624ee9e3a1974f309c19abe7dbcdb8f37820fa64497e11255bc53d0b48da3142759d2f3803388a4e8d07414c039a05b9a45ee965035b7
+DIST firefox-112.0-es-MX.xpi 579878 BLAKE2B 
a3e6fd8d61f8b20da4cf62b0b06eadbb84e5193310bc324cbe1f0a14ad76223fa40715dd11c9ff8b9c4a0242aa19f8f40d10bfe28486eba13fec587105461945
 SHA512 
f103fff33f016ee4f6bdf8ec1455d3323238eac37cc7e2adf63ec2cb72282b6c3628969cbddf4348974e0f825c3843f0cb6db78118edf3a571675951b6e223b4
+DIST firefox-112.0-et.xpi 537324 BLAKE2B 
80921a9ef9019630d2d96589234a19cf5c2a377beea969334706a26f28eed80cd942149b471e3cf99128996d05745107096f21c75384a4d7934de36920675399
 SHA512 
7eee0fa274bcec6aa4c11cd9bbd5a727f571f2a0bc7c8d52d44a8def0e5dbc847a70e71d8fc4797c70ad707cf1241af42fce01fc2c0b10b9315059812d2095c2
+DIST firefox-112.0-eu.xpi 566001 BLAKE2B 
8df5e08d4d2ef680ec9a97a8e7cecc6eeebb2377dc8feaaef7bb090573b587f642d2332bc41945ced92d1f5654e5b2bcf7d6f9acae9e5ae5ca515e397f3006e8
 SHA512 
b3b3376e216257139593003879016ba5132f1217cbab728950092ff833ecea07a304515d42a939412d7e3b474b15c65325eb180ee5d902d7eeee6575b079da62
+DIST firefox-112.0-fa.xpi 581822 BLAKE2B 
1884981cbf1825022e8c40a619c4491f68b443f63bc970997ef578bf255b63dda63cc835096feaf00d0cb93f8af3c2761bcb56225c0afd729dc1dd7ebb46a584
 SHA512 
cfa66a60305c3101e7ac8f229774cfd9006c2c65eb6429901b637a4aaa35a4080da9cbbc287ed7669c8395e92a4e7967677c4bc1f9558fdc27bfea33f31514ac
+DIST firefox-112.0-ff.xpi 476564 BLAKE2B 
3aa07450a181ec8a6a1b2e98de4271c39bd4bc35496d8ccca8a30845c9e105f2cfaab5f05c5ab172a5a8215fbf27722678efb39ffddebce2ab6cf5af3d070538
 SHA512 
bf5c198eec4be022696d853d08aa2b03079304f50369548a853f64c1664be39564cde899f2eea297344a305afe00de0850becc9e093b438194e2ff6fbbe20eb1
+DIST firefox-112.0-fi.xpi 561269 BLAKE2B 
9645753b38976dde20e033e44cbcce81976b9cf96e09244102e24bf9c4eafa2fab73c3734374796de9a6f3b28ab5f50c1618217079abe814a560e8372677af84
 SHA512 
517e397fd4bde265afffc92a306b1b8d0e80fe01d8d772f6668e676987eb50450fc608cfc2f61d82a87b4821f0f84b99149d00e2ff1f7123b2cd8ead627d85ff
+DIST firefox-112.0-fr.xpi 589437 BLAKE2B 
6ca97d535ce9bd8fe39effe47bf01b4c960fee8e8d0b4c8c18464ccbf004d7747543cfa78f6875f01ac4d591b604e339cd68497f7f45866ce632d9b22ac00f1c
 SHA512 
d9aaa6f025266c46bf335a57e55521cc31935d7c4c86544e2040a1da67e84830e3972b682ed94dbb547bb6e21910e3ed11b46eab41378ec7a7b758a65bb0be23
+DIST firefox-112.0-fur.xpi 583051 BLAKE2B 
fff528a7a8c8a9f7f05a9b93a28cd6f095440e93db4eac0927d3d11315f501deac98a2045bf9048e0570c42fa8cd388e7ec19eaf7e71500e4f2e917c3e0a9ce3
 SHA512 
3a8f3c7797117d2e09ae3d7714b12718130b060877b612f371da35f0b93e706586cf51c633eb55a271ce611fe16bb57c5ef891353f282ede695953d43c53ac15
+DIST firefox-112.0-fy-NL.xpi 574246 BLAKE2B 
2e96811f7b6b052865f7a298fb1ea3f427cc0e4204bca0e93566dd081dcc24d50f0f4cdd86a8fe05db35a7da58f10079c4a7d50d59876bceda576192c1a99ec6
 SHA512 
d898bb632e17751a9dcceacec3bce8cbc0c54a7898cb08c82b423a09804cb5efe38f3f2238b4fe92b1766c56a3a8847638f92645beaa3d70efd55fbaf5b4b417
+DIST firefox-112.0-ga-IE.xpi 473214 BLAKE2B 
4189301a0d48db7b78a13a7b4bc6606ed04c04d0f6af404e6d6ef45e807e8750d169885873fc06542af523c762dc1594f32bd948d4e15e95844432b0fa5edb06
 SHA512 
ae081b35d7ea7fe80a06bdea2fd95b0e1846330fcd2db7cf55cf7f43f581a2f5e98b932b384785b39c31e6401bf2f7db046b1dd17f3b0b75af58f3163634107d
+DIST firefox-112.0-gd.xpi 551292 BLAKE2B 
7429a4e8df9e86b8ebf91e0c6cd2ba4fe8fdb013fd9e622ec0b5a0ca39e5a9a27c2bba224faaef23a6b7d343897eb54ac9ce2198de47ad1a0092c7fdfb76f996
 SHA512 
1dd17c07afe6a011e3926883f3a3e5c8d1300d8b7b5f3e88b3cdd4f2c7266450e0e594847872ae26477b74a47e90fdec5443ba64b2a64985e6508db8457c032e
+DIST firefox-112.0-gl.xpi 546195 BLAKE2B 
adf616315d8f6104fdeef76c8f7f59e0a951753c9d7dcfc8c51bf7c7b6c7cb9b0633f3baab3a4d1c19ad2cfe900de1ffbf5b5ca8792195c2ec5fa4e37b3df585
 SHA512 
117d3fcd3ca422f6ad2a8bac8c0762272aa849cafab1e454f6c6a78cf79bae16443280017da2c494a588bafa1b0b8d55dfd6692bc793b85525a17d245fd0c5b6
+DIST firefox-112.0-gn.xpi 589196 BLAKE2B 
5dc7afba155450b3db2cccda9f2f132e9f1d8d731ba59fda996f5ec801c744efcafdd7bdb11b9270216c282ce8c80985ec0c6e395e9d9331b9d99c242f36cb77
 SHA512 
9767a51b525893e0c6eda6fed793202e50e37d6cbaeb8ee6dd6fb0a1a331ac3cc9f9ce13582457a816f2eed537e1e964c810890dc211ea716c52ce48d0b8c1c9
+DIST firefox-112.0-gu-IN.xpi 531462 BLAKE2B 
6ea7d5034100d70cee1a6b927fb548f901d09b3d10ace5ff75cf8ab64db3481e368fd489398f7bf6c2d723cb9045e8c736d91f9a298881fdd88d5485ef5fed6b
 SHA512 
4f09ca8bb2d67df0530443790972ec1b97fe53506fe544d32d9f62001b5b7892326a73bb6d13b18418564b8df4e0494507235d1307795a6f873f89be787f755a
+DIST firefox-112.0-he.xpi 582092 BLAKE2B 
7f8115c2edbd6a50daa70731af67e99e6a60e9d057a1d12a62aa70d841e6be7b6d32e2be112c5d95d6c3116ab1a730e4dc49f4710b6bfb62caa186d66e1285e5
 SHA512 
926a7c73c909ea54001f30c7d63ef787054d9069f4367e02133b0dc85a001edf87edaf085859b7cb9ad412899e8e9ad6f6103e5d932008fdbbabb035a6d94dc0
+DIST firefox-112.0-hi-IN.xpi 560534 BLAKE2B 
d5e420523714cf57b3d4761b6a9215cf43c74faeaf3382861d224ec8de34fca467f3d1ff08153b429789a54ae0a973c315f5161d2a23d97f77e16cda7f69d5b0
 SHA512 
f3d76beee21d4ca2883be263d19c1642744fa79dd690026325131ab421648435a176062d668d08554c82850984b741b1e757922107112f16a2c7c8aad87022b2
+DIST firefox-112.0-hr.xpi 549244 BLAKE2B 
29aa4e520d1296a143d8291135d1164a1a74a0c5580628d7786c384959d976657c91e058e4c28db13a0c7a8d31b8dca15fba245e60f55a95ac9b71ee042c0158
 SHA512 
837d072ea8103f246ee1b9b1d0fd2924d501f29344751f4219366109edcd6ccfe66169a1a1a070463543786d87ada552a45386dec2ace20a2778795b34caa6fd
+DIST firefox-112.0-hsb.xpi 594278 BLAKE2B 
89eef989c2b12bb1984dfb697a1878e2d0a6df9f9b4239d580b31afa91df569ed309c0e741a00ed54ff29a68bbe6e3d9dab4a591ff4451f2f84a3f2b7f10351b
 SHA512 
1cfae7bd49b564a72d0bcfa7e8823a17f36deb58207b752b25350ac7b712722ca308e560603e6af393d1b3fcb1cfb97038a4e15d537300fd7bfd3bf880fcf31c
+DIST firefox-112.0-hu.xpi 599394 BLAKE2B 
036c7f87f77d2e196b7b1d722dad8e2dd209d90f904648b779af6e780678dda68b59ee44ef7044558f1450accdab21e1beb96bf72bcc207e4ed9405459f7348c
 SHA512 
7037c7503c2e3bc38a9cfd30b5517247f19e6115cf32548473ca0fd3d11809ae8470db2c8661247e18b40e666eaf9e3ebfe281e68490a73ff54a82d3aec3d9f5
+DIST firefox-112.0-hy-AM.xpi 600439 BLAKE2B 
e1028ff259603a7a4fd9b9702fcaa31f353a593bf1c809e617bd3696881dde38cd12d2a630f33992851a4bc7fc023cc1e93e47f9982b59b411a74e955d0f8cbd
 SHA512 
3391553fc2802fa11c6649bba280962b778b68ca1ac861206aaf2b61ae811ff28633a83426b94626aadfb7eac7912ad4c62b91acb65a1ebd9311ee4e96387ef4
+DIST firefox-112.0-ia.xpi 562608 BLAKE2B 
35cf1f56d29f2da3674a71c6d48753c88552da758ec33d04ce1de442e4a41b813baed5189838201e74d061bdc426cf6df912bb6b2eff4710039eb91179d03789
 SHA512 
1a0cfd4bdf461552b530c9c82cc9b998de7c2b77ebb0bee1565c27dc22a133219dbe7cb2a6d4eb5bc2506703508690999922fb429055bab2ada0289d79a3b538
+DIST firefox-112.0-id.xpi 558190 BLAKE2B 
ca2818a7ee3565facf1a974f4fa3f264ff7c49fdc8e397cee30ad62b1b6926895e629430f51ff510c7c79e85891c2a07460fb08ab6198814fe02d05c65817924
 SHA512 
de69e4381fe7d7441ef9d8468381e34a7f3129e4268abc569c2b96041e0e76a98b5d536778f43a2bbe3d439f828453b2642f7c1ab1ec3d059036d48865c7a3f9
+DIST firefox-112.0-is.xpi 569051 BLAKE2B 
11201aaac800efb19cac2ffce909e76287f1985dcc685e001605da77768c35efd9deef20ed1253ac3eff505bbdc5fcad3f9f08d598e9696472ac16547c58379b
 SHA512 
f8e4b677f32b12483114095e0fc2fb1b90aba7122c8ec25c5b76dcb606a464426b8c142317a51be817b758e586c6f84ba5794b9dc4beb99ab0972fd7db42f650
+DIST firefox-112.0-it.xpi 500345 BLAKE2B 
8ad8b5516521c63146406c55efec7ebedbb2cc3b2b76ac2d6b8b4d1b90854f995d25297941724b55884dec4ede1eb5aa9ee4ace7bebec451c469e92eb8458bb6
 SHA512 
05f0458bdb2e9ecbfdd8ddc3b8d126b803d15a58e9d3f5b099b05051edcb2b09f7648b73414b63d5a99bcd21d344759a5bc6bbec517e9bb2e3d36bb9018bb55c
+DIST firefox-112.0-ja.xpi 624657 BLAKE2B 
f90d93f45abf72a92029fb75e1ba11d331e1bbc2d652fd1f16451e981b0ab6e834a0d889f9ad97fcd1b6de38d63046c094a8fc4fb22914cc82301125a1f7a894
 SHA512 
42a1968f8071ec5587c9bfdc6f3259f38890b99b7a83e12f2107570f27f9033358faeea5aa8e93ae4a7bf42a927ef290c3f0e0b8d0a200bd5f3f461bf8408a01
+DIST firefox-112.0-ka.xpi 628720 BLAKE2B 
e7f3a5851b8dc7026b3dc5b868dc6b307406fbfaac63b3fc09df92f084f702d254a7105382237a2d95d94e5b79dcbc1693afec14d80b9eaedf36b0314241d365
 SHA512 
e0aebc458d68db9662ce490cfc2c1e7d55da85617543303825946b2c9a3a8c7f07eb8c6e2db9c6bcf2941c823cf15959392c7c163420cb87d948a1d55aad28bf
+DIST firefox-112.0-kab.xpi 580368 BLAKE2B 
af68cf7247681e8b84ddf03a72e392d896972733d6d5fd2386de635bbe4dc3b485312eca7744498870b269977f1f61f88e9e5d31a63746919f2267de71923ef7
 SHA512 
93375fbd60539ec88a4797600b87aa81efb5a07e61e1a442fa983dab914fdada3294f07d43a8fefd3e290e5a9ce94dc4b685904cff148e90473e5b23ad8f6a1e
+DIST firefox-112.0-kk.xpi 650637 BLAKE2B 
8ef011cc0366012f0a755246dbfb315c7942efc56a872b2342b3128e498faeac69fbb014d4294f9b462f0e7bb9ca06c9a0824d328c4e0d66436ad3648081f262
 SHA512 
c86036364e409b31a43f8ebdb0026e3a14a6981306c53ac0a3e79ab0eff07881558eb36d81bcbf1ec3f0dbd90836bc233a52658919c919bb5f7f7944e20bff29
+DIST firefox-112.0-km.xpi 533374 BLAKE2B 
bb6990bbce1d1c5ef0c5d7abbd6676cafc0a5f04032caf6f88ef3574e4aec54d8bf2a37d76f3a1eb0bdacb6be33efc3cabedafa4cdcc36f49feff1d2b71296f6
 SHA512 
777ab46b7ddec70e9f6cbd2a84f3531c75d945e77e54fc25fdafdda7a60ad579f4ab36068d99a845593d3a458faeba47d186dba2941a4b45db5d267750aa485d
+DIST firefox-112.0-kn.xpi 498736 BLAKE2B 
d93b9989a8aa30a7895006857d4e319acafbb107f1ad04f9e48b7443c552b92d57eacde35bada4162851fc517c2b74a2147e0c889cec2b35fecb4dd2cc28faae
 SHA512 
71501e04a8117d0d84c446920cce3bc9be0bcc4945b9d34c9a79c3d56e9852e4fd5c68f45dd88d255dca64c3eb0f40015255dd27cde3e2acfe92dc38e2710720
+DIST firefox-112.0-ko.xpi 609820 BLAKE2B 
84559d2a6f6042b76b06802f99d2db8a4801e3e8ed761df3dec0220fb49c91d646866ad6539a5d1a3c9a2918246b56d5194813d293b13ca3524cfc74e17ccec8
 SHA512 
3a6f053a7ca2567483d8a9d05185ce646ce4760084357e12f1b462ca03b67fe9a92b61016663aed5064dc32150b25d26369d2d6b1e2131c790bc9c55c31eb18c
+DIST firefox-112.0-lij.xpi 473590 BLAKE2B 
67c0185c4a6390c7e304ae799e54847c7c471721569acca8b8511fa3fe7056d4d5dccd53f154489663dad60dee119096586881eca9463d229a7e5f652f8ae120
 SHA512 
3e72f6931cd886252012084ac5d7cd76ea0b3b8736ba8ea9b722c4dd3463035264283b08f80ae8823c557b00054efdb22fbe119268474f2fb87841fb05a8d5b2
+DIST firefox-112.0-lt.xpi 569448 BLAKE2B 
84e8fe6e0349724a8b1a0a39c37fc27eda69ae9466ec2df3a1363ce5fc709804e9da08784190c102d63f65937ee9e3fd49c16812a54b8693196dbbd7c8852255
 SHA512 
7356a84fdbe74a3b8a53585feb2cee0115d00960d2077fb5a4dd78294b5be7b387e9719291220c333cd512022d28c17d9c60c31e9c7a5ab9d721441fe0f93de4
+DIST firefox-112.0-lv.xpi 473260 BLAKE2B 
2e332feeb55ee86c0a4c15a535df5d718f9a1542f47b0b68c8a48f3bbe16fa906440dea47f568e5271584014bd5f8921dff0b348e0248e37269d39d3579efb1a
 SHA512 
058458a93fcf59b5af89d78b7d785e6c0f3fdc32020796137255348f093d910baee62e933bdc94b03b29d858760995dec18b96f721ca46197407dddda9252c39
+DIST firefox-112.0-mk.xpi 488935 BLAKE2B 
1e372c1034a0e50d5adb47a6d5cd600b8f6802fe00c006807d379ccd27bc90df6a11d50760900d4643cc1726209628c2c70ba1ed9c1e3de08dc8a680345eef3e
 SHA512 
edb8d569a018c80f021f8439b57f150997d4f14fd390bfaec7d093de34474d0478de3835864006bd3a99360e3e791b954a7a1a97d41c02a4a19bd11e5eb5c1b2
+DIST firefox-112.0-mr.xpi 533812 BLAKE2B 
994ce939289a7b7c5747d84055c75117e10d60d3cb2ea1f55b91a0708b7cea7f6b301260361a06a095109c02fba0f00e4c721f6e3325e74e9302270b36393af2
 SHA512 
1202dce73e5e79cfedf6ee6369a9f80e82c8a926a4f20254f4ecbb78d5853b75cfdd8d54a3af4d26fa59f9362d50e5f7ddf2afd9a729f595c4b2c942cd942d8e
+DIST firefox-112.0-ms.xpi 452949 BLAKE2B 
a40aa013a77cd87ab37bd010d65c81d1e45ef57a38f97933eeb89043e185578cb5119b6fdf608a521f03fe33888096887a310efcc637d3fdccb6c76b462f2ada
 SHA512 
7a9de2bfda19b66598e4bc891207cd98144978bc18bc0c2f53d15b4c52b1660d6ddf8104c396792f7615d60a31f0cc39eccad25754c47f78f5a9a2ef91469282
+DIST firefox-112.0-my.xpi 519345 BLAKE2B 
beb2e91d75490ad90fe55b6da1d9c99a353cdcc05ffd5e82808e0d0039b78e8d7b5bda87d96251a555468a15a207693991e4f545aa69496565fa48150d8baa8a
 SHA512 
28046eb5abc6c098f84929ac81905f43fb8aff23cc056c578770e5b41aaab0fd6ce1d78ca644540dc7915c39ff6e1f8394c14d3140316b3d4561f9e231229647
+DIST firefox-112.0-nb-NO.xpi 560423 BLAKE2B 
e7e9cc3a1853bdb6ac38d2f5259fbc4903f7e1f396ad03163dd01087e1e6f0d99187cda162ebe1bf1ba153d72fe145d44d77d71a0ed37566221a0f647bb18165
 SHA512 
af0591189dbf24907a4214ab75cca2ca84f9c88c89782565c856f53e86713049889d10073253b95e67801043fd66d36363a67853e7a339315ef133aeb11a6b4c
+DIST firefox-112.0-ne-NP.xpi 487142 BLAKE2B 
ea249c49abefa6434d63acce6ff7f95f7ec9245dd1f8b9c12bdbdc478b0464322fb25ab8e5e4737e98d5518025d01656bf6af6ef246ee5f267d27ddceafb1fd9
 SHA512 
fa13e1aedf6400e3f3c3503fb0ba96f777226b2300a6799567f9611dadc789898d71339d18593789c821944eb3c3d75680015488ea52b8cde4fb69580fbdfaaf
+DIST firefox-112.0-nl.xpi 568247 BLAKE2B 
2fb77d2c5a94d94041e0e3918b7d03aeb3cecc942d50da09d645585c83c2c3917e601282a7732521e7358e992355a203363e3e79380b03df3748bbf59f38733c
 SHA512 
cdb07a16051455037899c6c482a2d73a0e5e374c741263f13f27f514de6f83862a9402fadda7cfa8cf4ce073d711f32dfddb77692eb916799e58a6cbfc05d892
+DIST firefox-112.0-nn-NO.xpi 562948 BLAKE2B 
cd1d27b4e204e404b3f637cd5f6955e70e0261a98ba31ce3a69200375561093de1a9c45aabc9b344593cc5c5432bf1ca7f0bb4e6aead7455762d2b658f42ea3e
 SHA512 
e73e8a85dd56b7736d2564052c8487c64ec49c86a8c76d6c43b21e6e532025e3b0271d7300fae7fafb81857dba49eac3cc967a18af2c9edc3a18a2deea4faa44
+DIST firefox-112.0-oc.xpi 584381 BLAKE2B 
24e73a77e77c868617030af0e725d774f1f6885c374fc5cb3496b13e19282cddf3755d3612be3d403955228a48f495485ef94970b34205e5df0b6b949ab23bb7
 SHA512 
7b320ac32f9e304d8b0483d00e83f44b5fe791ede6dea7ade33b3bf86050a1f439d6d11dbc8b6928c0f2df6085bba1fd4e56336f2be9ccc1b052d41b8a225d10
+DIST firefox-112.0-pa-IN.xpi 639405 BLAKE2B 
3f386c3185da9b16eec301cf0be09a4ed05a45e630f181769708c9f9b8c896f67ab3da38f1e8e98a0f68fd20555073af36c7cd42ead8d96435af0503b9a4f3c6
 SHA512 
f0d90ba3195ebf5f239f0e4019211a6b45df4d8b58b4043da075d4cfa5a8d7a4df6a3dcfa0869bc2f50c04034531d11d6c7da26a1ff1c2c4088cdc6f5645dc2d
+DIST firefox-112.0-pl.xpi 591973 BLAKE2B 
305f182e1afc2326965cbd8ed08a3174a07cf60e70590c71ad9b90af770ca54fb5af6d175a2c5d68ed9bbf3b177dce40d77685164aed49eb6464056098fb4ff3
 SHA512 
3fa4ea14b8a90dd3d2de25353f7fd4546b6eb4ac0bf26824a69bc2da36411f41eca40e29b182d87e24a3d77acb055a9485f17c0eb4cfa69740813d9535eb3a6e
+DIST firefox-112.0-pt-BR.xpi 572835 BLAKE2B 
0e38fd289b59007f1e2394e87e841ed888c048bb14d2f8cf98477e173c2fec0dfe17ac79d090c805df8a73dc37423fbafc785323013d646a7640f1b3e6838792
 SHA512 
aed527a60a12e475d5988ee40a37f1a918183ebbcd14cf54efe8f855e7b4e1b2c2bc376d8b96e11327dfadf607a953d899047066b85b79d4bafa9a0b4047d091
+DIST firefox-112.0-pt-PT.xpi 578345 BLAKE2B 
39f5a7d8a2537dab4fbd73e4f3f896637a2fbf2206cece4157877cb2edd0dd4443738806e862efb50196cb37c35d896576416d2dfde32de4c54ba030ee39a614
 SHA512 
4d9476e7e16bb11a40ed23cd248eb23af9a7b79e39c6c5dc7d1c23beff41b980a6020cde0f8aac3ff2871428d96135b2ed7c6452af4d0cb6c90a0af45acb777d
+DIST firefox-112.0-rm.xpi 568722 BLAKE2B 
a92aee079eaf075eb5abc0cfe7dbc6945c42808fd3597d4ef5494205dc7023fbe3e15fd0f4e3becc97ce7b4a0f5982065aaeebbe30e375511f02d64be36aa95f
 SHA512 
b28d6f48c82c2ede45c9bf2957c43a7e7dd69478ae4d3b33839e1312d8a9ce3a6c106a5b9778ecf09b5a1198ebb0659e14b2acce5cef6b969d40c7073dbd444a
+DIST firefox-112.0-ro.xpi 537904 BLAKE2B 
922b93b41adf484baa031ef197a450afb7853b909fdef36cba65f957e18b600fbbf8ffa23bf249c954fd81599d195b856454728e1823fcf1088f9e5f4adc2fb5
 SHA512 
3fcb5f4c3f1171ed03c88196d0c293066a5be3672191753b3cd2507fa16a0c13eab998886162acb8ba0e89e0857e83aaf111248af6309f7e054c6bde90875a94
+DIST firefox-112.0-ru.xpi 663836 BLAKE2B 
7f69f42c4b0fe3e1e8c6d13465ec4046f9f38e2918bfc6aafe112a9b349f3998acb163e1a1e2cdc2f22191130f2fa0f89b1af766f38120887df5e40a70a575c2
 SHA512 
8aa75d3ec3f7ae0c1295e09dbae0e0bcc1e62f03cc9bcb72b4e147757b540b83d0359173156bbb8ee1423593654ed4693cdb4f99203665995f71f22f0649ba07
+DIST firefox-112.0-sc.xpi 547970 BLAKE2B 
13b36760a9d07bb02b8dd07e56391cb104ac6be9a204fc14fe0b799491c930551f60b4e672755bfbd0c69a07b73835783ba813a8a455c8c6ed349939d341c8fc
 SHA512 
44a87328d39ae9ceff4a6dfa41ca210fba3df854acc15b691923317dfb9c94cb9742d10f3d5933b561765c1d609b6a2832006894c3ce8a1b2d8e833b768cf0c9
+DIST firefox-112.0-sco.xpi 507895 BLAKE2B 
0a4a5a56c8fe17c8ffd1dec23c39adec6297ddcb791cec92dba3d8cc3bbd53877dca26d79494da357f672eac986f486441f640600c3c551c7510513d7b5bdcd1
 SHA512 
5b6306baa8d6e9cc1cfb564d7095e09f19e20955ec8a4d27eb5556008a1b91fdc4361fab740c4ae5270586f38876dd2498822098f1c62277728306ba5a9a16d5
+DIST firefox-112.0-si.xpi 576302 BLAKE2B 
55613a6dfd907ada8b521f85bec7a26e37510222de2174ca1960c5fbbfc987559fac9653b33cea4ce05314bd13b73234c8779728c5c9ec9b78abb1826a2fe018
 SHA512 
7794a730df054078f6d9c5d7a201d467a85759f4415f3e82d8bd3fab16179eac70af617796be74e2339f0dd57446106c14ee02af24a1fb40f355e0f730f22515
+DIST firefox-112.0-sk.xpi 599872 BLAKE2B 
378b9484ab98aee784537273a35d36066d1cd0c9e7a64ba21ead2b74993f36dff3aa0cb774d1332689b0a8983b8acb43ea6946cd2ce21ae633b596504f1a5eb6
 SHA512 
5551ebeed40ae6db834d1f575ee40026856bb93ad6e7823bdd810817b9165cc359417dd247df792bea8d16ca51add064117b59e7589725d170cd63955a54511c
+DIST firefox-112.0-sl.xpi 571231 BLAKE2B 
090a8de4a412a77c5d12f42db90b3e33eba55b29e2f8ab0b42a4f2c6c2d4e171b2248af7c2bdd3ee216e68f8d5cc47e1816e9996879df8faaddb414fef4429c7
 SHA512 
9f89bc1d5db2869c3d7e25b8a0151bc5f9aa2115ca1e1a20d94e12609d61f6531e445eea2c97c4bd7169321b43cbf6f64cb38d61e2a1e681e730dba12e09e4b0
+DIST firefox-112.0-son.xpi 424788 BLAKE2B 
e20c6cbbcd802e3705071badd4a61cd4e8793f12bca13b324c68d0e4d3e4eb40ea53f22460c10ba6bcacdf3311a0781b6cd1cc2abd6f29ce7991a94821a35401
 SHA512 
aa2297ea0f226e77fafdf2fecc894797b5315704925cf94347f51f665814ffb7be1e1b828350f12b50bfc31d6a5a1584f0fc0e74ce9ac27be2bd65ffb5f5485c
+DIST firefox-112.0-sq.xpi 587585 BLAKE2B 
f1800498a8e5ed55183679c1bcd8cea832109e1addef900f8d5c880d268bf87397fb592f2f2a8e6588f3776ad6db901c77defcfe3c105c81ea309e8fb147368c
 SHA512 
185aef80fb630d4a599ec3810c6f1da00744cf7900bf936d6486c4191e6b2819526c0cddf9fcc33b8abaf1f9d2b6166d450136b309952957fa592d98ec993309
+DIST firefox-112.0-sr.xpi 625885 BLAKE2B 
9e558ee542fc981e52af238f4f9eab3d9d8f8c176eca5b9d0156a582a30d46c83db8bee381f15813640a2a8f81362f7965b70905e5a98bc0c862c45d7f33dfd5
 SHA512 
372b902ac77aa1e840c457b2f03a4d643a7e3368ba20bd842033ca91067534184fc48f9d28f11cf7b4bdc850a177d7d7ccbc7db03baac0942666d840580b9158
+DIST firefox-112.0-sv-SE.xpi 570236 BLAKE2B 
60335af40c18659dc43d4466d0be62e25dfc90745a9fec0186687e2cabac23b2f1bd884dea0b00e934c654aef84fe4d4067f319a1afe63bea02d9871cd792e16
 SHA512 
5d24c11f194158aaae45c752eb216da9cd7116a01b27165b8ec7cced625173929bcc6aced7f48be42778f0acedd1be166a6458b4e4124dcdba1bc3ba87fb98ee
+DIST firefox-112.0-szl.xpi 520798 BLAKE2B 
1bb58e7d6087e02bbfc1e17a4d90eff413183c5fef033a821041ab35b978360533544f5b8f55c66824df3e7b4b00d1fad6fa2fb3d15b289ee3fa6b2bbfe91037
 SHA512 
94067f7e92a0dd86ba78b4cdeac2f93cf1bd5094db67aa009e02f421f745dd13b2f8f9ad9caf9a928e982a8e0729a1c844e4e23f31c5c2fdf801ac0289d678d0
+DIST firefox-112.0-ta.xpi 510942 BLAKE2B 
363a3f4f59f5f92808d2870df9c9cf8e039987eb1e9e5c96adfb7d6095e6f066cc1d938794518fc8de165f60f476c93d00900c29bf1a8d71ee91e513d1fd42ec
 SHA512 
dddcfcefb47f5646db0cca4215ed1dfb9a98073f581e801b4f624247134817af68b166910b5effe9bb31fe5cac783b9b4936df05c0bf77787e0b67793bc7ea3d
+DIST firefox-112.0-te.xpi 558903 BLAKE2B 
9ccec092e762d25f521067adc93c60bf17f9975740687673656f6b93a7bd562b166f1aa5a6f00d52710f8738858e6ee64c05416aaa91bda7ec5c16801ebb7884
 SHA512 
7e9c46271cd1043551c1a727350670a0d23d0c9b225b4884057f58ab78f40687dc3ec92da987a82d0baa28333bff53e20285af73698611e7a6da6371f9c75e47
+DIST firefox-112.0-th.xpi 642638 BLAKE2B 
42482016a0a0ec40967a2fb5d180463bbe0ed00059df0c0766ed86ca2e02db3371ce75bbbcf8341e411553d31a7b4a846029a9fabb1a13f3cab053cdcb0d4b40
 SHA512 
312ae1baa118805e8867133037dad7211609d0c20f4e53092649814f97d41cd9b500741675d0f1c2f3ba01a066103d04296285508981317bc828c947d52f9dec
+DIST firefox-112.0-tl.xpi 530627 BLAKE2B 
3b590aa06b24df7b364d624644b0e501292555fa458b4681269faae18f81cdf4b430993565d62a4bbc54822491ac483b4407f3b9875315596647b70c83bfe0fc
 SHA512 
7b79408edbd66fefdc6bf594bf28200e0f76391450fcdbadd00b2904fcb5aa3fb625764caf4ef939eef79e94a28c443526a753dc2cbf95fb7129bab3dea8c8d2
+DIST firefox-112.0-tr.xpi 583014 BLAKE2B 
fedcf1a096d6c05fd472c1d7427c371ffa7f8618aaef70f230b1ca45c1d59f7c94b603d66a427e8895321e144c223d857dd4d8e296ab74c322542ae21d0d3a83
 SHA512 
764c6b7e2f052ae764c6a1f4fcb5c559b568f8cc62230d9ce11b758a4b061bac709cc92f8ee54b1b380a4d75f2e7aa49d3bb8aaeec194498906b97a50e2e1652
+DIST firefox-112.0-trs.xpi 489980 BLAKE2B 
453f79711de19707ab4da7a0c0319c129971f0c6c4e9cc8768d79bc4557dbebedce822fd71d3ebb250c8eb7dfb8c1dd374f5e0bd2803ac6dc3f209e6660f798e
 SHA512 
bbfa5663b3aadb53ea0a4cfec036e175861a5bb2719f652bb620fe731c9acdfc4e545c7f6d51e654f0c3529b8cf488d61afae421152ebe37c99c0a65602e6a80
+DIST firefox-112.0-uk.xpi 657026 BLAKE2B 
17c32748ac3f14e6a277aa2b0b83f089ae3644461544bc2e1da788495994a9fecb15a55b29a615521658291d0c2e33935d9394e09c6cdf8a43fb40276c561fca
 SHA512 
8383468401aae597a4872e4b87202071c10f37fae72642684fa493726f93054316920f497da3d758630280cc864f5488d4b1b9a4e93fd394311811a1f083f9f3
+DIST firefox-112.0-ur.xpi 560846 BLAKE2B 
82a2cb037b817040b6945946f8fb03fdb4fba6e1d547b2580689ff9700feacedba96384a194e78d884122d1466e1d8cd023b31e4470333fee605aa54f2b94a3d
 SHA512 
64c1a7ff903b355e32362e9b760b7384c2233d4fe6a9616de6c17ea13fa33ff0803aa20f0f04e73f70a3cdc224e70fa09f35ac13182c78167b32394d4c015a2c
+DIST firefox-112.0-uz.xpi 481186 BLAKE2B 
a67111a86e425566c5f99b12caf9f521ec28df54f3c19321553b9767476b27601d19ab24432a43d19753916b2cafd4ecc0cbd83c8b040dd58a6a85b44e5f345c
 SHA512 
52c9b51115c2881fc91fd7e9aa7e09cc2f7efa520e5a01403b23e26d19c71d1a45563b0a39e2b652ed681a428ce02778a89327a96719c74e3a430fcd7b05c395
+DIST firefox-112.0-vi.xpi 606042 BLAKE2B 
3c184485d465c57e0904d0b7a1bb8cb424e4ab1f313c125aaafca5103024a0df8436af9cfc68d1efabb3eebed06ca5baa781caef19a0bd52bacca9463e5a91b5
 SHA512 
5b0edb6ac735335328599b3a9b0c24796eeb2464829325bfc311c90783d1d993bd99e4b83825d45b87f42d373158b1b260af838a32d4556d78a1e2aee5bdc46b
+DIST firefox-112.0-xh.xpi 421625 BLAKE2B 
0903cc3932dfc29e474ba105d043f6c583e369890ca6696d0ea2eb503f2ce368a038e4ee75642f9cb06854d266ed80ff37def8b38bf87eb31449ea52c8c8b4f1
 SHA512 
ee13ed7e6a413ba34818cc40ea9a8806cee6cf4d08d8621f529a6c70918bb4c66aa87f2d951c547a832c184da27e079377ef5630a269a37768a93eb40cea122a
+DIST firefox-112.0-zh-CN.xpi 605650 BLAKE2B 
1d6bbc286f03b42259f474f89bdb20a4e77b762876ddfe4e1295d8c760ba9db38059e10e4269a26734bff4518c51cd9486d101b551fd3565d8bf6ad72ba44662
 SHA512 
f36708227a660e428a2f4a9e74eef73e43eb6ac5964ad7b7e2da57814ef57aeac4218ba16463262f440ece718b4aa6286643580dddb6c4de6d31b7176a28fe87
+DIST firefox-112.0-zh-TW.xpi 607191 BLAKE2B 
8c26c2d740e210fddff8a2c4eae20e71da4f5403e5b99e795a6b53ebadd35276c52b40154afbe39ee18c949f444b736857be45f7848921d333ab655c2dfbcc10
 SHA512 
2a96611526d6fd33f921af2ffba3c491d3521885e51d3d026d3c2f583e71a478383ce0582d2d2f5c1dced236ae4dca5a00be58c2db4cc4f8d105e842b571e3d4
+DIST firefox-112.0.source.tar.xz 497250760 BLAKE2B 
6233ee202d000ddd5b0a2eafff09226abf2cf097ea3e1184442ad34e92f6fd408f1891a2063e459d419ba074218596f48c95c860246d4c46d2a4fca3df27a78a
 SHA512 
6b2bc8c0c93f3109da27168fe7e8f734c6ab4efb4ca56ff2d5e3a52659da71173bba2104037a000623833be8338621fca482f39f836e3910fe2996e6d0a68b39

diff --git a/www-client/firefox/files/gentoo-default-prefs.js 
b/www-client/firefox/files/gentoo-default-prefs.js
index 0407f5d3d234..e0389edac482 100644
--- a/www-client/firefox/files/gentoo-default-prefs.js
+++ b/www-client/firefox/files/gentoo-default-prefs.js
@@ -1,7 +1,6 @@
 pref("general.smoothScroll",               true);
 pref("general.autoScroll",                 false);
 pref("browser.urlbar.hideGoButton",        true);
-pref("accessibility.typeaheadfind",        true);
 pref("browser.shell.checkDefaultBrowser",  false);
 pref("browser.EULA.override",              true);
 pref("general.useragent.locale",           
"chrome://global/locale/intl.properties");

diff --git a/www-client/firefox/firefox-112.0.ebuild 
b/www-client/firefox/firefox-112.0.ebuild
new file mode 100644
index 000000000000..65972fcd4ab0
--- /dev/null
+++ b/www-client/firefox/firefox-112.0.ebuild
@@ -0,0 +1,1379 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-112-patches-01j.tar.xz"
+
+LLVM_MAX_SLOT=15
+
+PYTHON_COMPAT=( python3_{9..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 optfeature 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 ~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 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 +X"
+
+# Firefox-only IUSE
+IUSE+=" geckodriver +gmp-autoupdate screencast"
+
+REQUIRED_USE="|| ( X wayland )
+       debug? ( !system-av1 )
+       pgo? ( lto )
+       wifi? ( dbus )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+       !www-client/firefox:esr
+       screencast? ( media-video/pipewire:= )
+       selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+       sys-devel/clang:15
+       sys-devel/llvm:15
+       clang? (
+               || (
+                       sys-devel/lld:15
+                       sys-devel/mold
+               )
+               virtual/rust:0/llvm-15
+               pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] )
+       )
+       app-alternatives/awk
+       app-arch/unzip
+       app-arch/zip
+       >=dev-util/cbindgen-0.24.3
+       net-libs/nodejs
+       virtual/pkgconfig
+       !clang? ( >=virtual/rust-1.65 )
+       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
+               )
+               wayland? (
+                       >=gui-libs/wlroots-0.15.1-r1[tinywl]
+                       x11-misc/xkeyboard-config
+               )
+       )"
+COMMON_DEPEND="${FF_ONLY_DEPEND}
+       >=app-accessibility/at-spi2-core-2.46.0:2
+       dev-libs/expat
+       dev-libs/glib:2
+       dev-libs/libffi:=
+       >=dev-libs/nss-3.89
+       >=dev-libs/nspr-4.35
+       media-libs/alsa-lib
+       media-libs/fontconfig
+       media-libs/freetype
+       media-libs/mesa
+       media-video/ffmpeg
+       sys-libs/zlib
+       virtual/freedesktop-icon-theme
+       x11-libs/cairo
+       x11-libs/gdk-pixbuf
+       x11-libs/pango
+       x11-libs/pixman
+       dbus? (
+               dev-libs/dbus-glib
+               sys-apps/dbus
+       )
+       jack? ( virtual/jack )
+       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 )
+       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-72.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= )
+       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] )"
+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-lld ; 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'
+
+       # 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 && 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
+
+                       # 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
+
+       # 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 ..."
+               if tc-is-gcc; then
+                       have_switched_compiler=yes
+               fi
+               AR=llvm-ar
+               CC=${CHOST}-clang
+               CXX=${CHOST}-clang++
+               NM=llvm-nm
+               RANLIB=llvm-ranlib
+       elif ! use clang && ! tc-is-gcc ; then
+               # Force gcc
+               have_switched_compiler=yes
+               einfo "Enforcing the use of gcc due to USE=-clang ..."
+               AR=gcc-ar
+               CC=${CHOST}-gcc
+               CXX=${CHOST}-g++
+               NM=gcc-nm
+               RANLIB=gcc-ranlib
+       fi
+
+       if [[ -n "${have_switched_compiler}" ]] ; then
+               # Because we switched active compiler we have to ensure
+               # that no unsupported flags are set
+               strip-unsupported-flags
+       fi
+
+       # Ensure we use correct toolchain,
+       # 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"
+       tc-export CC CXX LD AR AS 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
+       mozconfig_add_options_ac '' --enable-project=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-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
+       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
+
+       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 or mold when using clang.
+                       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 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
+
+       # LTO flag was handled via configure
+       filter-flags '-flto*'
+
+       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
+
+       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
+
+        if use elibc_musl && use arm64 ; then
+                       mozconfig_add_options_ac 'elf-hack is broken when using 
musl/arm64' --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
+
+       # 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
+
+       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
+
+       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
+}

Reply via email to