commit:     fd4f8ec937ea9b37d6b78889dd98c79e5a986090
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 14 11:44:15 2023 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Thu Sep 14 11:45:22 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fd4f8ec9

www-client/firefox: add 117.0.1

Bug: https://bugs.gentoo.org/914073
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 www-client/firefox/Manifest               |  100 ++
 www-client/firefox/firefox-117.0.1.ebuild | 1488 +++++++++++++++++++++++++++++
 2 files changed, 1588 insertions(+)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 41dc624d7662..dce6d042b0ec 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -496,4 +496,104 @@ DIST firefox-117.0-vi.xpi 599835 BLAKE2B 
cb583ebdd0521764dfbff76abff238df4372a08
 DIST firefox-117.0-xh.xpi 401970 BLAKE2B 
1e5fc872ada80753c66a44c96e7da7945861152343ac416e3f8a9e670ca04c05014edeaaf8744134551aa76da7ed251d6a392404cacd4cbc3da39940beae44a6
 SHA512 
116e372c13611d0e8140dd289a20fd8161c6b96220c9e27f7bea6a0cc8e23b5e827a7eb3fe8203cea3e1421bff710a72a8b34554f1004d5223baab0890029a6a
 DIST firefox-117.0-zh-CN.xpi 599269 BLAKE2B 
7a46e06909c11dc5818c6f4bb8b5cce49ceba8c7dd6b7451c0830ce040db1a63f7464e82813ef841fccc2fe9f7cee8c7e33d5faf217a2822ab68cc5b55dd879b
 SHA512 
e4585672100ba500f89d38571188149ff78d3f50156dfaf2ca4193bb08863ef28e914d04bf51152f7f0ea9f4b0d8c953957c7101cb6f2b9d15f9eca803f31eb9
 DIST firefox-117.0-zh-TW.xpi 601287 BLAKE2B 
67415b4ebab0ba268053ffc680bd802587c4589163f43f39b9cfa5d31a9040a300ceb73be2a5b97dee94ad87eb78d76f8c1dcf62f59ba6df6d218c46392e3326
 SHA512 
5bf793f26c63e48f2ff831eb74d1272039093682298060dd72c442874ab1e56b0f959f65ce9569b64106f6eb0febc15b7f8dfbdf6ca490ea62cc1271d601f952
+DIST firefox-117.0.1-ach.xpi 444794 BLAKE2B 
7d8323bc22d1f078783171168e9d94ff5f8d8d678b8b1c2a9f7db7fc1a4e4221a383b8a4898d429cf4c7de77ceb5885d87817c6c965ca527de59a46321f4b150
 SHA512 
d0eac4c1f80492f083e4bf40879adf62c1c5c84179b0d9393f9f14a1d9b39c585e35793dae313818cfaeee063f0ca2b1b56306ef838ef6d4e40e47bca07f609b
+DIST firefox-117.0.1-af.xpi 401870 BLAKE2B 
7f280de7cc75817b35f224aa94bbe715eb7f0faca8f0c3e4080670ab88d218ebbd26ad04eab5afaa5e8be8729dc98a57dffa31c873aa563d9d68bab95410002f
 SHA512 
8c35c83202637e32e4ee07b82d37005db9c4fd18be24da8947bac5763ba6d69412cab0d5a2c1f57d5b1059d9d6006bc49f16988571c1caef0c0ee07fbe29f64c
+DIST firefox-117.0.1-an.xpi 483720 BLAKE2B 
ad0f6f648cbb4ab78cb86a356c110c94313661d8d768082a9984d5ad712954ba00c6314bb5cedecccc6198de5fbad779fe5b6233bd4f10b21492d0e257d96981
 SHA512 
b0b0233e7cbbc920f1c3bf322ff3e66928d97399d61d1fbea53066bf217f1bc543b8e10ad5262bc26c2d489f6fa1db070fe09840b8a46e5695eb554b1d465b51
+DIST firefox-117.0.1-ar.xpi 550587 BLAKE2B 
ffed86e98893f4cae6a4f7cffe7882166caf2419b17c0fbcbae1b60864127efded8dbe6f3ab1e11c78ecf08a985200dc0edad78aec62065f5459a670728adba8
 SHA512 
a9d20841e595e2a7e6a54b3457b3b0987ef4a78b2321dfb7f52fefc273c38b804a4a15377afb149ee7832406832ad9ed05d7738dd90d1ff16601a21eaccef2bc
+DIST firefox-117.0.1-ast.xpi 477431 BLAKE2B 
43d71d2da5c0b2b2b72b35abad7802e50709ce8c642886d5e21b66d578fa2ae07e5aeaf4ea057ffa89e0c9faf2fe29b14e90f43cd2e52cfe692f41bb6b7fe5c4
 SHA512 
35deb651a815178f6eb495ed19f89ea3f6fce30663f0dd0ccfb652a67a9b50367846b34250d0924e1f766d9b6db65532d83aa90b7a8677b1fb9315c5708938db
+DIST firefox-117.0.1-az.xpi 470715 BLAKE2B 
c7cd0b875ac79bad7b4f5c2d00e841bcc669d6e16c2a0e7e0ecaf791ebabdb6457d774b8f6d57e020ca8e41600f2cdf30f8bc4d5983229da608333099050c1fb
 SHA512 
b014e7aea064395dd45dd3ae104c473163517ed7692deb5473d6155ea3276a741f63e9d1f0e94a71822a02f0ce82fc223123e172bb61e6f8f0579e17c0aeda4c
+DIST firefox-117.0.1-be.xpi 652093 BLAKE2B 
80adf5fc012a03e542e9c1337601196342a4c72df2aa87ec3c6218c14cd35f1880fbcfdc3e1fe9376bdc2a0a6ff6b73fb63fa73933b8ce3dc762d8c13e3511a2
 SHA512 
e79bae64579daa7e06054c3ff51146041e016f0b76b878e26299432d2a972fb3bcb42bc3dcd22072661391cfd300981bfad3c76152143565a9ee12c4137e9dc1
+DIST firefox-117.0.1-bg.xpi 565325 BLAKE2B 
e02d0ecfb983c8d241ec512c7c9c0c7a0bace46e5cda0670611bbadb9f94da66956a38de7eeb95dfcba7e9959c4fc3235d6bd1adf8223c02692c1f18ab5f6f80
 SHA512 
805c8d39ddd217d3c9dd5e5d18ca261843140eb0dfb40ddeda3e0b5dca3f4479c096783d48ae21e80ba6c3ce6e6f03d9c27b66e067d6c0d9a302b561b4e9b75b
+DIST firefox-117.0.1-bn.xpi 559637 BLAKE2B 
72c3e2b381e6ea045de5fd43ed2fae43e64ae2844fe7048b91f9b2cefe11454530f5d2b0ccb2be6e45a91b2ac5b772423c1bee819f15d81ec652d67d55d2274d
 SHA512 
b0baf45e0c50ce77863c943d3483321f157bb7af4abd8231c0141e93b9cc1caa0a97d2253fd62f75aa599ec908b1168d400835445eebf9a6cb522bde3103099c
+DIST firefox-117.0.1-br.xpi 542774 BLAKE2B 
18bd431094c8504657c68256103b452fd9ee9134ea82a7574dbb5c52c15cd3f0fbe49f9e0fd5f83eb366e6d870d48b2b154b830c8c8b7bb529d9cd47f0df9454
 SHA512 
2691be474fd2d8cef39114cb045058ae3956240d89e3fe298bef3227396f0a7df1f0d87bf4408f7330127e4e6a1d6b1979dd81080059a2370237b7269834fcb2
+DIST firefox-117.0.1-bs.xpi 440955 BLAKE2B 
fe021ebc2909e83d1aa2aacc6aa04a05d820369f724b1ccbe0fed7078c3b1c79ced9bf30250756e0c153546fd7b840a6a93d3b148b2ee6a4f895292f8638f4e9
 SHA512 
43567bd807b147339aacbf03b1bc9115097edae6f659e77013224be0a72771dcaa6d07e98f2cde69cce0e12293aca8cbf99e12c5b03d79ec40a7aef2f0d1da69
+DIST firefox-117.0.1-ca-valencia.xpi 522903 BLAKE2B 
ca085c37458e47bfcf6d01f325cce8bc20aa2d9878185d4141f83e294197b9e441a327b355082958d9d1b82570da95b4058c26ce083595ca1014a0d281f7208b
 SHA512 
f8195d1a75c337ad887bfe71b114617573b7feea61e2646187469cf8faa81814bdc7f12d8a8038c5997fca3e39c9a28304e9ffa066a2bae74aa3078ae4a7cf64
+DIST firefox-117.0.1-ca.xpi 546625 BLAKE2B 
52dc4e9cf4efb94609b4653d65b9d4ae4e081fa9f71f75aab71b4d3dd4e1f9e337597f0309982ff7bb22f90c960405cb260420c086db1e81886d57573d449300
 SHA512 
7191d9a218218ac5dc0468455a263705321964619d463fb9874d1494cc0b184bfc0c363033324980492b192a3c0836e257a52eddad15fdd3f496b4e058fa2b2c
+DIST firefox-117.0.1-cak.xpi 567757 BLAKE2B 
76874d4da409c7d17914b4d420d194a03a16bb5f02f0cb40318b2ac42358a7392c9ed0bc210618af936643d3a8a7f59db00da105038050ff4207e20212d6a9d2
 SHA512 
18f135007ca84ed28dbee447ce7a93c03ffc1e92d8fb61ea9cb06241a1a5186ff49e6125b54c0bb98d81e82d20315a193d868c556b3b91340ad13983550958f3
+DIST firefox-117.0.1-cs.xpi 596753 BLAKE2B 
50e62d65a91a44f8f1ec922cd52a8ca3be4c569dbc503f85cf266d90ded69c49a9bb16ec033344a7084b322bcbd5b073f918cddbf0aeda23a3e2e2cc4dd4268b
 SHA512 
586d8d9255012dc2a8605dd2d0351b6fd19e63cba1266b40d056edd5c290c007322d9a0cbb44068ca5d88f6b7a8be5b1cc233ce8c5832af4332be78091ab32f7
+DIST firefox-117.0.1-cy.xpi 568486 BLAKE2B 
731e359d7a2dbed662956106eb3255cbaa3bc6757aac69c455a4b625d6b61068a82aebba79aa078d8b251612e33103d4bdac4fff5d6e76e0d3ca8e7b855ad045
 SHA512 
425225b47c3646621d9aa59a3d5f4871a97315e132616a576cb572e70271bdbf4224294833be8256ed05bdf384d541cd234f361f6be19caed206257b848070f1
+DIST firefox-117.0.1-da.xpi 557765 BLAKE2B 
0b095d846c427e32ff84050dcad1cdd6c2a1c78a13a24828c051ca4893155b61abc917a616d0905fd164fe49d8cad9b198e5e1962b1fd63c020674cda3d7ca4c
 SHA512 
6fa0960c3c33a1c511a2bafac027168d0f7ad203c34ac18a7659f89ba6284cd2eff240bf74652856058243ac81ba716ac8348b8eaec45b8a3f8f96aed5e791d5
+DIST firefox-117.0.1-de.xpi 578123 BLAKE2B 
8047d3a77c50d1df2591120149e9956db06f679e07285bfb5103cb85d65a53c842d676ab7aa7b6308c615ae58900ffdf318f829fb9070fdccc01233ddc67ad8d
 SHA512 
743fca26081f04232eb086b916503895c88c968fa30798b14785bd12f779e2ebaccefe4edd37f3095cd91444dac1c3b01d154d380aeec36c07f520c2fcdf4431
+DIST firefox-117.0.1-dsb.xpi 592963 BLAKE2B 
bf0d40cb824ff981cdfd3223da64a8538972ba059cd07767ecf93ef163c8e3f1ffde39867c02f3d13b7baf0489336979f4e62b1b8a0af461a0f17c4640402e66
 SHA512 
d3aae373841e4404762ef3a2c24a342bf280f463fa86077c02c23119fecdbbeed865b69a01b22282b3fad354564ee23ee3474102333c238115f48cd9de6434d3
+DIST firefox-117.0.1-el.xpi 666561 BLAKE2B 
7230b739140167e3de81b593ebea72a581f1ff2099ede20f942b2fdf116023706114f6335db9483640671084d28a1e4e126f9210aeafd1edec5ed97f6a45ce86
 SHA512 
cae5777f266809b8738759567415a2cb813834eaea63d2fc09ff2ba230858eab3d67af5b7ae2bc1f2068ecc7259c823c8f460b6c331686b5ca260a0d520c608c
+DIST firefox-117.0.1-en-CA.xpi 520398 BLAKE2B 
82aee3b8d0a4b44b162abc86c052fb76c10a7bc3fdbc9b87bba584b5e117b1caef86e6cfaa54f5d44d95ea285149f5124e7821802a9931c7260b58a448243c66
 SHA512 
c051bf524c704fc01afd310dbdcbf00e1f8d439a7c71c021d40de5788c10c5d194d78e243ac6b0310d23f84a6526705c98742df948dd69fd3d8d8080c6a08997
+DIST firefox-117.0.1-en-GB.xpi 533891 BLAKE2B 
0b1174ac3716f9caf0e74f7559e3c3cb56385f53deb6a836e55a056d00993af5c10192a24de4a55fa00d901252a0a4d6c6415a8cdcb439ef567080f37238767b
 SHA512 
2d855ac972934f4151f666dfcd69027df442aa1109f505b039703edada2fa37b306bda4163636407a908ff6af90b713bcad2494d42885d9e47599e99b9e02b59
+DIST firefox-117.0.1-eo.xpi 561457 BLAKE2B 
e0123c20272d8fbf31c2edec047f79e84178db792288aca5eed62ea25805ece8b4e0c2382a060a2e642c73ecee4448b29885b65b520e36e0513e649d5fcd3290
 SHA512 
44f1bf3022055938d4e127a8de84e20a3fdaeec872bea2a605132c0bba4138109d5522239f40a4d5fcdada2c7350a3ba26976b0d8c2f9b5fa1a8c96091127ace
+DIST firefox-117.0.1-es-AR.xpi 572729 BLAKE2B 
891c9abfe34b851c4e566d78e77896734aa45407dcb3171ecbc2b69f454b8d89e30a888074e4e928aea9b6a90c2faf2eed5214883b5cf985d5c5a2de2466c050
 SHA512 
4e15bd682e7fc57fd846630a47a3e5898855e59dccc5c20d6db46a3bec9967d557c1b354019019f5c9310caf5ded2bbb2698d8d45984ef51402baeadc30afb4a
+DIST firefox-117.0.1-es-CL.xpi 571661 BLAKE2B 
771ffcd98f952a65ad5e3a03a4a1ae891d8162bc9716db7c524e1c6d99ed5decb49583bd5540fb520d35b1539ffce8cd71f8940062785b7234332b94b17f0f7e
 SHA512 
9f7819c6190463aca08329285b025b9c9870f6d890e833b4a65e8ece5f8f124c78d434fe819d8ada183e7ed3c8de1ebaae5d0409d9c79d28c63d1e0601e9f427
+DIST firefox-117.0.1-es-ES.xpi 564585 BLAKE2B 
929468686adc48f25d283a304ab80435bc9c4bee6888082dce5ea6b9fe5a75d5515200e13538185da264259824246a068496dbfe8effa5afe204897a5ca46b66
 SHA512 
2bbf7d45de5c79d9daaac2fb6557378fbb91324f12cbd3323b2c881e004068f2cabc98a97fad70c7a583b79a3b16c66ba215b27fda8efd0a34203dda1fadcf7f
+DIST firefox-117.0.1-es-MX.xpi 566699 BLAKE2B 
c707dc1ed97ecb0edb7e1a30b081fef688a41e820093dff5f8143736b8bb064e3d090ee064fc42ff87ab61c19a27a6003ceb0918631f10f9b98fbfd060e5a716
 SHA512 
665c398b3a0fb26ae34e978ac9325312e16e4dfff88632b9feaea8a7ed415d145a9ad3d98c1439ead0581960f315a2f3e01a49624b2cb31ea8fd2d8545b3c9f8
+DIST firefox-117.0.1-et.xpi 517160 BLAKE2B 
284faae42ed138900ca5ecb0b0a851d9f929bb9374635f5c1fe15f5de8fa3e64c1d0478a53dc9dfe87df31504612e408cfe83f1f4158a9398ba40fc90a905ce7
 SHA512 
4afd3b849286efef78805b1d2f8c42d76ea5499cfb60545a42ab818a4c357ba2f111c041e39f51182376ec0dce2952845f268346443c293696cbfedfe65723bf
+DIST firefox-117.0.1-eu.xpi 555913 BLAKE2B 
c849636853d32f11e2add5e167b92e75df035247f342c28a6e66715ab8f6bbcb1de3c911bdd569e6b503069acb4f08e8ee3abc33e3fcc422a3aa29b2512f03ce
 SHA512 
7f7b383e5c2e4ec6eed6815a9ba84f7aa80c345202170cd1a161aaccb98d3bbf0c1a01c9b3580e926a8868a3d36ec27ea7a3abdff1bb904072aef1bfc811a327
+DIST firefox-117.0.1-fa.xpi 567400 BLAKE2B 
584c29684bc4e7145dab3cf4d260c4b8e5c55f1552d67369b5414adee49462df9f1874fb4608ee435a22246052d25c1a1ed2c16e78ced4b09177e8c34db532eb
 SHA512 
c46a29a7835d4ebde8ef21c20467c2478c9a9eeb8ef971ccf6c0b88ef28b7da64d341fc21b1d4c527c66ad7a1a88d315a64d076c6b87d2f5c32f11cdcca5ab25
+DIST firefox-117.0.1-ff.xpi 456776 BLAKE2B 
7b17db5da469b2fb9dac75c7b5b8092d91da4f089c7d0a64742e11fe987089b5143a5541c07f66d457f166b804a2e00ca670d5f253ac18299ea68a39cf6d6e2c
 SHA512 
75d0d7b1ef7ad6e661dfe326e31351d7c41597a3185f709d1e033640119642c48d80c7fc7e69d242bbd160779ef37aaff9fdd5319980a611975fdfbdbd5d8f58
+DIST firefox-117.0.1-fi.xpi 555275 BLAKE2B 
86053d2a7808cda208c8793fe7c17d22a7128eb94a24c0407bc54e127ad384a6daa1a7225d2a1fc11f4fdbb0b781eda6b219a74932582e122d6b2f1615c23d4a
 SHA512 
c56b1dbdcdcdd2ce272db607f291c9f7c201e328c52ef94ba1453840a6bccbae61963df867f3588dbd164b9bdef4153cb005698243505e06c0010f7118cd9124
+DIST firefox-117.0.1-fr.xpi 584457 BLAKE2B 
c88c10add51a72c3758c8d4f78d4cf3df5cfa9908395425b5747ba8f1f2137d8c92ab8da77ce06b56c4c8ccc8c4669faecc2f629d0e0782507aeea2d5aea2266
 SHA512 
348619f4b50bc52e55230e53c374e87f191f55df37721f08f6fbe8a8d2d16b21082ae9f9bd4633d3a8fccb638aa18d385bbd37a46f7b75718523ba9d3e5153bb
+DIST firefox-117.0.1-fur.xpi 576611 BLAKE2B 
861ae2eb336680002b2301d172912530a8d0cc2a1f9a7420c173c9e3afedc321122b7e12dfc2276716a88fec085182a2f5c02b239cc53d911500824ddbdf65ed
 SHA512 
ec7af54a5e46b88edf07c2a9330bace169f56a0ea8928c137f2751b0d30cd72eca448d41049d9d0953f8eaa58e2c51b05f6ff4a43f98d6c84c4de148fa99e717
+DIST firefox-117.0.1-fy-NL.xpi 568067 BLAKE2B 
a874f1dc6881fde14fa988ffe28f8d80924407b89039b7d42d3b5b68f05e60eeb58a97b608cc33f7bb0382f5815acdd71da6814ec6f74c61fcaa44c2be75e113
 SHA512 
c7ccefd29da83b4d8878a385e690ae56e8a528fd3b7088bb9b6e79e94e9b1529c6841c565a786258700ab2a987cb96bb087aa9efaea1c2fe52ebafe7f4161125
+DIST firefox-117.0.1-ga-IE.xpi 453869 BLAKE2B 
ae04dd74c34bf498cfcb8a2d6c4026097bccaa1ccd82267d43cabea66f9fd2eeb4875fd58b2c7f80777818bee461aa0a4bd431005005695f542706124daf3e4c
 SHA512 
1a08fa6f47ea9d778d0d0f3006219f324319bc749ca804c05554bbb90b3a4bda692a059d51dcf40e8d1442aea6b62a3597f4961747400ceb191d71efa066922b
+DIST firefox-117.0.1-gd.xpi 568329 BLAKE2B 
20ab07d0cd19c6e21f2935af15e7c8c2e610d017878ff7b09e3877874870ae11e164e55f5c55b298cfa21bd993af9a863446e3f9e482154ee2449b2bcdc08970
 SHA512 
238970b699f9335a1e9a80cbe3e3ea94cfac00e7abbfaef351d35e642d17049f4b969d5fb0e1c9c9d1d4a854e6ee67ed052535508f44b11a130ab96a69d87383
+DIST firefox-117.0.1-gl.xpi 567521 BLAKE2B 
89e1b7254e358bd6999313c87bf2d96c46d8edaf2fd1f122a96ad8a5dc08874075853bfaacb179f3bb78e701a48542a2284d4b06661d32e6c86c8181ef0deca0
 SHA512 
ac545da67cb40767b701735d2c07df0c2cfc5e08a2e75fd0c422b1f650ca8ebb3228085c90e8fb96b76ed39b98d11cad538a986de37b45746a5bb20cf934758e
+DIST firefox-117.0.1-gn.xpi 581965 BLAKE2B 
1f1359408f49cffc2b4f010c90474c3fd7a609ce634bc019d9aa7c7b610f684b1084259e094984d3de7e8ec73b6c3f5f91d7a81192fbe60e4d6c75d2a1c01ab0
 SHA512 
dba8ba7b1a8c71d1af4cb696ba0a2424c20b7d5df2d10c511475f332f930f87eaaea96fa264f0b8343ab75782ea62844e1791815519feb6913a446bdec47745a
+DIST firefox-117.0.1-gu-IN.xpi 506746 BLAKE2B 
fe5d1bbc055e11771cce9f683bd6ea71576184ae6ef7374525e8cbe3b3e024f528dc4a80a047325bfcb55b66fa47e409e3a121d4d41d4f9e21785c741d214003
 SHA512 
5c97fd05b406266e852a09b57caeba14263ab03cc256eff95f9152be893f1d7fc9d99562f52a744ffbfee7e59b24cb734cbe26d71826d4a93a0aab096cb95a1c
+DIST firefox-117.0.1-he.xpi 577834 BLAKE2B 
8452847e6d424620109092870376cd396ca801474570f4f551e5844dcc036962b28b32bd8a3cedabf020282f800cc61d485aee5d0e01ca751e18535f0a75070c
 SHA512 
a25acde56491f88486dd05fadee58d533f817e0ed8322e36ebfa2f37e5c68e8d8867b9ea0804f43b8626ee26bee0143b1a8d26a60645d2cd5f1387a84d900da9
+DIST firefox-117.0.1-hi-IN.xpi 543573 BLAKE2B 
bb888311afc6e000f0b13d3a6cf3db056216b1bc0a8e3950b31dbd5b4eee4358e33703ff9b4b515efe7d4fa252ab955b472e205089b5956e0b2708bd22d34f4f
 SHA512 
92479f6117cd798963edac66df6aa0db77611ce2522ed58fb26e940784ccb1ea578ae317ac5f5ca426a7081c0e2a9182e567f9ed33f554fd2edc045a18918369
+DIST firefox-117.0.1-hr.xpi 533132 BLAKE2B 
82f7bfb95a928fb63168bc8f5cb784ee7ab4e17896949d7c16327caf602935f8c50a4f63e501dc1e5695ee7a8a06525be5970a0fbc52392931ffd1d840b421b9
 SHA512 
7eb470e9b7bc17d94d80d95a790bf253d17af059e266d7872845086cab599ff5d3a4580081427163d683d6be99ae86aa828e6a1524a301de32dce4fa8614a7e1
+DIST firefox-117.0.1-hsb.xpi 589121 BLAKE2B 
00f8198fe7e41f29da3c67dd2a0eff203ba86284cdf27b398198792534d2838ab24c0354ac55c542257fe00d450cd606668b32cb4c5e777bfdb5046748333aa1
 SHA512 
6f538d758dae2413b29fd289b8d20d44dff05b4de7e9c31936c5d48fd5226ec34138dbdf7ad6c82e8e7f96b5315f1529fa863a9417a2fd9938ad117394d18a48
+DIST firefox-117.0.1-hu.xpi 593016 BLAKE2B 
9740e12c82ce95f8fb55120bfb991f9153c9e551a5227d532242dea57a31c8defae2458867d90fb55061d02f6896e0ed55d41beba9174e8fa6b06d7a2eeccfd5
 SHA512 
ac21bb393c1fa4ce1f244854d3915d2dd35ce2f9b5377ba34748197afd447ffacd7207f1039b699dda7a88fb8c9a17dc90ea3d3b43897d1b5e2e90c4291c9482
+DIST firefox-117.0.1-hy-AM.xpi 580487 BLAKE2B 
469a3bb6f5619a6584a842003b6530368c388b2967403a62260866c895966fa8b6e060bf51a4543d24525f7773b530884ed44500ebd7cfc8ae4b41976845c031
 SHA512 
cfb404e1fd4dec6ddffd6902073a52c9ecde0cf62cde35bc50301b5b87f9a1e893123fda28fcb8acf33ebb1bd5449b371232c647f499a938fe460df6fd6078ba
+DIST firefox-117.0.1-ia.xpi 556623 BLAKE2B 
703586794d6306d1aac41c52d307c16515d4213874726f97e5d2a35ca5af053ddd85930a41c6a0edefc740db839f459af3288c8e84d41fd5d89f687bace7516a
 SHA512 
56f2121b47410ffbbadd7254bf079cecf0ed791a32bb81aebfe22248d33cf613d86f460bb6494f61b5b0b66394c02117717a89f6bc23f6cc0d440491fbd8b5bd
+DIST firefox-117.0.1-id.xpi 540545 BLAKE2B 
682f799f6905ef167dc463de95e6316ae90bb10fc960e48d68bd2d5823a875a237845fbb58f18efb1328f404247ca79855974e8827d7d4fbe28befd019d07673
 SHA512 
8ff70a2498bb77666c7f1c1db15bf3332c0d74a7ec08f8d1f3d341e1ad37d6d83015e881a15098a9ddfdd58e723aa31a6bcac064ecd56bf20af0e046f6651103
+DIST firefox-117.0.1-is.xpi 564433 BLAKE2B 
37532a4b1af33a8845df4d8b1095d24664e7ff4168cbe6e5032a83d7906b2ea3f793bafd85e26cc84e436ce57e9ea85cacfc804e06afc60ec8eebe884efe7df6
 SHA512 
b1d878ad48b3cb5f7352b4306c93b69ae7569901d9ddad33454901a47d17bf2aa17b228469734ad1adda7d6e8035cc5c04005c83cd6804740155886dd420a8f7
+DIST firefox-117.0.1-it.xpi 510636 BLAKE2B 
26289a0e470191018e3ceeaad99fae8ce37475c47329a8455859db717528fb0f92b26d6cbf7e6031b64fd1d397126e63fb2f9b462347d0b096e8869e24598bfc
 SHA512 
80ab6f36a3d69f752cfc5b1231638bed7e6849340a7ba439202b563e2b583892cc97c8a70c541b742f48783b8e0a8896bcc5d05c36e659815b36d297aca236fd
+DIST firefox-117.0.1-ja.xpi 620391 BLAKE2B 
7833f134c42c9853611af96989d611b7e6daa782828540291804b8691fb13d1778e9bf782c3c3cd4689ba8e2dadee8851548133949373bf12efbb447e6a42cba
 SHA512 
f30c184a0942ece283f015d5c0925748f7178d89508da380fde0c29e6d362755b78f7d304c8eef915088dd64be9c28e26c63e47620b321ab53a7577d571dc05a
+DIST firefox-117.0.1-ka.xpi 620751 BLAKE2B 
da252eeb96fe3786c3905c334946a2c984f73fa75276f6cae3959e69688c59ca4d625d9e300e3d6b6c324bb3f368681932cf07e4e63e0edce4cfc4a7c7d1803b
 SHA512 
9cd3b9537998bcef38d036f2fa8981628ae5183758969a5e259527d856590c5e51e0218f77a1a8039a86745018b1ad96bc94c92da73ac9241f84715df214c584
+DIST firefox-117.0.1-kab.xpi 565303 BLAKE2B 
23ddfdbaba2eef6da6e21e6e4084610bd5905168d589347100e99e55b3a388869c6099d089efaf6ba7193a768d265ad0e27798b4cf7d80f714e9f28aced6659e
 SHA512 
972276edf066f5728aa200ca505a41ba5d99cb08aae6246a7d599952a2ef9c23bdf0f0cb8ed969790dcd7547a6b6a5462ff4e4c834d483e40151718d9e12e7c5
+DIST firefox-117.0.1-kk.xpi 645184 BLAKE2B 
5369791e634c40279d58b858fb83d9ad586843d4eeb5aacb25f85d7bb8a3ab9ddd92b96f1b913d8bddc9f0ab40b855f72477d25825674c11a12a8e23efc6d0df
 SHA512 
8845b795477701e1798fe5ec7b6e03977e01d4401ad5459244c79b3701556567d06c45621bc084da085fb97dab3f4794568895d1228731062caa28a6b086de17
+DIST firefox-117.0.1-km.xpi 507782 BLAKE2B 
aacd4abc97e87158d5760838874bb513b24371833da551a2d3178d9c36f4faa80104ee6c7b4de7d7fb779955491b590b7a7c93d69a2a0ec5d83304e3b97629dd
 SHA512 
e1cb02447fa00abbe323e47b9d19f37dd0c81cbd15b0866eb6df90d95699ca788512dd640340898272359c0ffea2539783d4bd41161d05363eb1c62e48bfe877
+DIST firefox-117.0.1-kn.xpi 473354 BLAKE2B 
cafcc0a05db676b74c944af04bd9d8a4a19ea468a76b02a0a6d5ed2c7185d4dad8ac2be6a3ad486d6eae478e8f76e3825cdf6a517b941bde2b931deec965e282
 SHA512 
6d0c33582712357fb47de4a62b7922792aa06d5bb863f233013076895f4260adbc493d7c0c6cf9ad22e0e57503ef59a934f531f779e514c3617bf077cf9528c2
+DIST firefox-117.0.1-ko.xpi 603702 BLAKE2B 
7430ed03581cbb2b70745169d602197c86fd07951eb12a63cd08a6fd828486caa1474ad07d7ce84a0aaef89b949cde3023dc1996a16a330daefa71d2857c3e0b
 SHA512 
82afeba574aab4a4db1c8c0a55745ec5cfce4b040726285afcb289c3502343063de1ceb1c7eef60214581ec5288aaa23a50cfd9240453e9eda45ae0be2027358
+DIST firefox-117.0.1-lij.xpi 464077 BLAKE2B 
dcdd0a2919e1f4fab8dd7e6c39451cdd8334ca2c12a7bc553ab68f74f902614d562ce82a01e9b23364f00d3912b652012da7ddcf225bee2e0c5ebf871c045a90
 SHA512 
129ec86c19d7a9d6fd2e8d9140ef8eff1d5449c3a5210b1369acccbe0bb8d258f38cc71f36ad2f6babb5cbbd6de279d4043fcc4254ecffda5353b141db15bbae
+DIST firefox-117.0.1-lt.xpi 549438 BLAKE2B 
a860990472ab714b95e6eea422876e5e2b8b874ebfdc9107eb1a00b21adf37b5f95f0fdc1346f2350c83291531f556160bc71691ed1677bcd587e1965155b411
 SHA512 
b11e3e62c0dba3d0f23831d5199845bf42dfe0583096619eacc2be038d197794d2474a75134ca7abd1b670df54ef712251cf4f18c361836e0e87f2788418a924
+DIST firefox-117.0.1-lv.xpi 450454 BLAKE2B 
1fcb416ad653e67c1b05a1c2c4677a82a6652bac0c8eafcf39b7898a3b3fb27eb00405fd13bcb51b23000972f0fe01647404af58a9a8e7d3a0616e7b9deaa143
 SHA512 
e02d0cd4c3075c6f06e9a2589b66a7552e55b45bca898a5b7ea1a3da36d8c0c8ea291fce3f949c14afb530117e29b3898d412c10b0d2b7884039bdeeb76ffe55
+DIST firefox-117.0.1-mk.xpi 476033 BLAKE2B 
01a7640d6d7a23c071e3ca42c52c709526db39dfbbcb1eca6afe33f6dc6e354ee0a2ec7fa1c9b0ff31f2a86cf09562407cfbbd5cad3b2302f9e2bcbcdfd182f1
 SHA512 
8b88a7b2d06dba93bc9a63036539d1f08a7419b0c641ac81f98f76ce6f5e67f528c296b6695766dc402e1284f79dd407d86d365a4808d66447684c1dfa05b4bb
+DIST firefox-117.0.1-mr.xpi 511391 BLAKE2B 
68029db7a2ff7830ed5b5cbbdc866b01974d5e68b8b99aae553c3ec1c836b0411633a5d4be03ad600ac26e229e12333b0c905908b69029ddb5ce388eaf78d68d
 SHA512 
b1fff78cbfffcdf159cf48211fa964605f4fd8d58988250899e263360c3a986dc61de2baaac3d4befc2d0d204f0ffc4ef1af410070698e4bc12bf810dbdd5393
+DIST firefox-117.0.1-ms.xpi 430981 BLAKE2B 
ac6bbad1c1bc87449c36850e998b7a25d8f4547166580308e4c933cda38455ac809492dc7f4a4f8c65d7a39ef1c06aeaf9ef17c369876f7c5758b0dcfd2369ed
 SHA512 
3c6b1a9b08f58888b672349c558b4e7674bd5d977a8816e3995849f4741ca75be4dc1f14761cab7f3b1a0e92e63bfe768fd9785ddf936052a6f79f39885b3ea1
+DIST firefox-117.0.1-my.xpi 493863 BLAKE2B 
30d88b139aad38a5e4e61eea7968aede3c35159c16513f5abf162bb551d365a40215aadea872af5079c678e1bd53f7696eb23ac117fbc4b9b0658789ba427a3e
 SHA512 
572af46bdb94371f48f3e47bd2847e649f027786d4891b9629aa2c6c7c34b0975ceaa938e1fe8e5c1ff2cc101f6b681c6f5608450c5d394132c637f13f670ce6
+DIST firefox-117.0.1-nb-NO.xpi 550899 BLAKE2B 
f4b966c69551e5ee9cc9a25b9160c35177016725d3508e6827ded565d8f21968c487e94c90d21c9f9422df12bafe6479f49f43d32f5cb03b0473319f788c7036
 SHA512 
327cdf11ff7b25ba0c5d6f5df55d8ac9a658ee0595d90e97c79d285b727b3d6e88ace910c360c29d59023b99a71546d7e59ccda4bdc31eee2796f8828ec32fbe
+DIST firefox-117.0.1-ne-NP.xpi 468693 BLAKE2B 
5ed5e3d2229720e9bf9eca44d0c1061fa47eeaa069d7d4683c3c4381c464831fec7852cb09500e8dc57b0b5aaec3687decaa302e3a587eac907770394e808103
 SHA512 
e04e7a1b013a3914056a50e00de134cad3028cb1133d56771bf545961b8fc9e14cd2312518f58af23ac393b80fc9bdd87a84a17b85e9aaa758fbae547b91f6f1
+DIST firefox-117.0.1-nl.xpi 562329 BLAKE2B 
eea9d199d10ffb2c98f28bdece3c45dff1b0388c80f53f86453c0417a4d21470c6c71789959797232b41b04bba05cac641acef415e868c2ddd5862630012283c
 SHA512 
d5aa8924a3017a27970c5dd6bfaaea24eabb29d7ed18333d7e3eade70dcb2525ff4b31215caf0199c5956ee663e4ff6b28360eb996c0ee7f1843981d86ceea47
+DIST firefox-117.0.1-nn-NO.xpi 555662 BLAKE2B 
85e3db533a9eabbbe7493a514b2e4f12065e9c7b08faa64b4d58e6111d6ffa5994189f58dfd7481a3ff021d374251574653c2a974f8163d42014537b179fad54
 SHA512 
f93591ca9214d07b79018d4614346888d7d2b1d6fd101cd399636c5ba09f1f843a7541a17f53606af9dbd3abe802a250c1f465aa7611f6643215385acc1fd923
+DIST firefox-117.0.1-oc.xpi 575179 BLAKE2B 
16773fda04259691fc33e14bb8cb67f48ed51aa6ce6d6370fa3e8693aae345252f685b9d35763daa7d32ce81fa331f574a329db9e5cdb71a1b15788349a661e7
 SHA512 
1fc1d139eaefc52f556d3d523b574e20489cc6ed0e71288ea6b515fa25b8072675c0c06c2c24848409d8aa563e48f78f1e7fdab2919c4d733ea1c4fa55219596
+DIST firefox-117.0.1-pa-IN.xpi 629875 BLAKE2B 
bc9b9b3cd9f429f837bd778af7792e82c5adc374240c668c5be29be0b87c747912301df43bbcfe1067ab099facfc785968f83b85c1dd6c3873a527ffd599ec01
 SHA512 
f23258394b70863715d702ddea9717c740d0261be85a1b043cde9e263943e5dacddb3174f7c6c185a00bdbceeaaa362127ced1873ec476ab9e9bdf933815a246
+DIST firefox-117.0.1-pl.xpi 585327 BLAKE2B 
936b06c9e0bd1d9b998150e864c0c1ff145e1c2bc7c1125907b01dbbe1c411b36b60fbbb947568aa220ef55c670dba56a7431629a9a1411adde4640e62673a3c
 SHA512 
63a813315a1056bc19ef7fa65c7856ff503b00fc0f366b7697c73c03e6c75b43235762351159408655781d10adc7b41cc31975ecc0f2e686af915ca8fcf8d9b9
+DIST firefox-117.0.1-pt-BR.xpi 567123 BLAKE2B 
5a0fd77d0a2802f844cad404c6c547db041c77e7c0f61eea5f256345e4aa29dfabf0b5522ef9efffcbd8c26d5fe8f309dfc94472ce7f7c09c43ecba7e0d79c90
 SHA512 
42a319dbf135ef5c67e48594c14d75d7424ee494f9608b4e959bf2154f1e4cb09f3b39442c0193ddd722f1012abf9936c87f0ba9be83e7605a5e7d24b8898f97
+DIST firefox-117.0.1-pt-PT.xpi 571439 BLAKE2B 
b639cefda2d0d23887e20b127bd765dda50630abaddf02b40debf00cc62b8aabccb381f675ada7f0207fd4a92d97ce1986d7f15ccf2a78390569c382c26736ec
 SHA512 
f47c106d686820772a6205cf8a413a3a9a9d0bac5d0c5d2e381bc921f277e6ab87d6b30898a3e52b424f55dd96723376797380ba74ce8df539fa38ab2778ff34
+DIST firefox-117.0.1-rm.xpi 562455 BLAKE2B 
37eaaa72a74fe0715e174130661c5eb8ef6913a8fc2a3f6864ac3109c6a137b449ec30bc06918c6bffced7cd8526ee67ccb1d5b38fea0aef989fdd2d063bb2af
 SHA512 
f455a5a11e512c31be52fc763ebd34d16daae768408d43ed883627222cb33b95e9bd1dfeb4cb7166aa33a60dceee62c33c44a0e67821f94f2f9d056e0bdf2702
+DIST firefox-117.0.1-ro.xpi 525859 BLAKE2B 
8c2c2dd9eba7528c07ae033ccd6652c57027e889c93cef660dddc51718e448886db087a034546f533d51a0c86d4e578524caec9fdb917553d070820fe7e4c0dd
 SHA512 
849f229e8c82f8294116be54367ec85d746470b46c81984a4b469209aa6c537c8d35edec05f466cb6b5d6387dfee893fe839e10c3898466aeffe56f2ba891474
+DIST firefox-117.0.1-ru.xpi 656334 BLAKE2B 
7f1ca76313a0cf27352e9ae007b1d0f9773b837569041e233b2d3ef13ecc2c2d6ec6c07975d6daa7172ef90392312b6ccb3e2c30103f858cae139b28edf37ae1
 SHA512 
0bbd4f8379d278badb0f84f167245563635daf7b9d8216e9b79026116c27eb84b31dee9667ed8932c4fc7de3aa95d918c855572884f353c6420e8835ef875b2b
+DIST firefox-117.0.1-sc.xpi 541048 BLAKE2B 
c4291076ddff342066e27a117518c2cbb0875bdbd8897611963189c51c4f7dd05c9cb47275079506dbba6da2921bdeb54bafe65ff1c3d0f221612e2dd0fffe7a
 SHA512 
681b7daa72e48b2bfa820ab698dc447a1a590a0bb132ff93f8ab1b4700edc7855234486960bf7673473dde45f7ba23145afe0e4739e4423c29aa22124a2737c5
+DIST firefox-117.0.1-sco.xpi 490213 BLAKE2B 
a46899ff81bb521fd7b46afbc644b6e59ba74e3761a5684db3cb4667ddbce44ad5376256dcd5033fb6ab2563654ba594a02f11cafe63923deaa7e82e5056273d
 SHA512 
eed95d20c9b260986284c185797efe7a98ef5aabd5d33bf71c8331e2b8cb18cf665f0ed8b1380943a9a0a7067a3935b8c11203e1b9c7ec8f30eaf3b055ba20c7
+DIST firefox-117.0.1-si.xpi 578783 BLAKE2B 
1eb170aa347f30e2e88877bc4f99e26ba5c9ebdfc0d4f1b6dbbb964f8966ec5dcaf9597fefd8fa201f291ba7086e4d5db1e467701dd25501a4e9a0ec89a97484
 SHA512 
ed113e784f85d43fcaf02e74c80a02035e3c3a9f4a45590ce707116b00ec61745dc80475affea41e82a15e10a35ed90f9e1872388798532f0f7fb21ee4aab01c
+DIST firefox-117.0.1-sk.xpi 593728 BLAKE2B 
2b7cf7cdeae1b58bc49844a3a467574c59e60c2301767b5e03c8c8e1418525faacdd7d833ae24dfa97937cfbe721e187facbea81867b16b952d4c70a0d9385d9
 SHA512 
19807928b1243b09c43f0495a47d94cb07c6d1ade5e413a64ce5ca35412d0026724e3117321b24c709fff9ec1abc38a4619623a4ff91a2cecf53b5aca5c97dd1
+DIST firefox-117.0.1-sl.xpi 565967 BLAKE2B 
649f14a27eda7c6cc4b306036cc0a333f5dc9feb13e803479830880fdfbab4da4106c3455bbcce65784281c0823d3c5d75e2fa2f71863d29da9f8adbfb77ad42
 SHA512 
c29ccb34ad2698db99f2bf7499d3c294668c12b10fba5f02a2049bfed01b57f684a44b03dc5945acea78604dcbd256ff5a188e2a51ea9bef1173c8890afd8d0b
+DIST firefox-117.0.1-son.xpi 400542 BLAKE2B 
6b3a042c000e2aa018e0e830e19aa9fc3059e429469fad760ac53d2b22b1d932075cc08d21edef8b50c9cc1152f383d5e14cf7893ea26faefa28668add8cd683
 SHA512 
576d4efc5a55cbe7f8f74f0f44b2b985d315884afee9365831002512e04b04bd4a0897097d4769cc4af7c3b2d3bba9b761cdb100787518df58151d64757abde9
+DIST firefox-117.0.1-sq.xpi 565650 BLAKE2B 
b726906c7f9021366919bec4a638989dd91bd0b541f602c0fcd8bf237e3c3e87488ea8cdc70cd1ee592b3db4076b30439b2e5e9719f4519a9276ad0fa4b0de6e
 SHA512 
d6029c737f83be9fe621fa6af7e0767af07e6fe9dbf923bca773ccbe1b993e708ed5361d60b89ce2dc13dc1e078c3dcf49b6523bb7bd7cf7aaf8b43adaa5215e
+DIST firefox-117.0.1-sr.xpi 615339 BLAKE2B 
1cf4181300ee42b55a04a59923e72023f00e106645f656586824dc5ac6df930174d3144ea5275450d2bd7e788cd069b6d2ec775efe7e410aac1bca66b95c37e1
 SHA512 
9a32a5449201c88bc4405108b5b27426961dfffe7ad366b3208a95b77812a80ee35a8e27cc956ad4732164f5a31a43b4f5dfdc81651d04c06a64333926f847e3
+DIST firefox-117.0.1-sv-SE.xpi 564229 BLAKE2B 
cb84a2f6b680939f2a5070ed7c745d156eddce911b5455c94c93b7d1865769f59d9547a7ef2587ec7f6b9333984d63830fb904f0ea7981f944b408a4e82a8429
 SHA512 
37e85842aa7cfe107295be7bb53fc26e89b346d8dc7438ff19e5a55973ac0118a668788b4a729d27f436f7d5341c7b50054247b82666d6cc5d9a8d4c97eb6f49
+DIST firefox-117.0.1-szl.xpi 504975 BLAKE2B 
724406eb4a1010e5fb36cfd9bf2e574e1f8a792214dbccb8cfd194561b03a487e79ae8a406f46217ffabe2983d8730ecd0251fba8e7fff024684481b5b807695
 SHA512 
66fd575e656f44329988366e0b2aca56d9f33a3fa57d94a44e3dbe276653436dff49b8949a86944acd84374f91925acf80de7ea59637bf768edcf9c128bb2a77
+DIST firefox-117.0.1-ta.xpi 488410 BLAKE2B 
b1521191a6586dc105960aea7810ed2840ac19f25548253d11a8f7e4ee6142bf8fc27f7074bb67b02f2c39f62e42d26207e193762bff0be0302d8e9b1317534e
 SHA512 
3bb33413b2af42d1a88418b4cf8992f5bb48f37eb6a5b4be9de2973d8e50b1226a22c0343f53eab00fc37706f00a20c020a5cf3b8404872dba121162bbc9fe40
+DIST firefox-117.0.1-te.xpi 536503 BLAKE2B 
f011ad982318e2e73ba5002c3500f8d0a901fc5c036eecbc3e934c3bfce0b9639e00ce47e9a226cb43e8dfeee1d5c3e21757825d387fecf6fc8826fc5082d219
 SHA512 
0987a70b2575c006ef4fddf5a3c52c8064031d934d1890ef9b731b2eb1302abd2a3e27a39ef1b94998d60820c0772f3576fdf1c0e9c6bf59749d4c9ae0ccd823
+DIST firefox-117.0.1-th.xpi 635861 BLAKE2B 
9d35892f1276e3a455347bf03b80686e10a5315c51fdd2183eba7b717ab1a61f44bdc8e717d932c2224a44f0aaf1abf67e93c422bc33b10d1141da51e04f5644
 SHA512 
02d5c139556ed9bc745db688473da5327ddff24ff90487bdeebb025bf7f4f9dece032c1bb14cb36bad0598b14c5c63cb7a84bcf4fd6c3811d1dfd22d935b18c2
+DIST firefox-117.0.1-tl.xpi 512498 BLAKE2B 
6e41e677985506ece451c5b0762aa0638e113bbaf774256a52e67d2f565ab5962f2573af11324a08371fb8f14e57b0b0f79f76b14873c27bfd5a7742c583af6b
 SHA512 
9fcb5dbb7d1b6915763a75e3a97609076b4bc459a0018be664196e00a2a5670db9a8ec66e22241df3831adc6b72922bcf51dae8b65743ed5e2bf23331f7577bc
+DIST firefox-117.0.1-tr.xpi 575940 BLAKE2B 
118495998cf20b66db33f517e83c9072eb7f95450f8b3f521ed54306553bd497542739837129fbf6b772187d04f3fbad7d7a91af0ef0a4a3787e5ca325e41705
 SHA512 
3573abf195d43ffd1d8baa02baf804c47bf0a7ca904a346513e657fb4387947c6b2e1fbdf20145895e77d7c97af4829a706d53d4adcfbb276f79effa3f782e50
+DIST firefox-117.0.1-trs.xpi 484139 BLAKE2B 
c5f70d5ab2ac8b2c3e6dd37849577bf0ab383624015b1678414782175b6d7af4a9e974e166a389386c37b785e6a9872c159a47a6a8d7b9dbbdd673c9741e14f9
 SHA512 
a2abede6cade3000fd0b04a320b5cf103d999610c006ac1c44b53fa3a88cfea895be8731206f6863eb4903f747242a734cf2f3e42b6d3595bb0e9f6f3c4631dd
+DIST firefox-117.0.1-uk.xpi 649509 BLAKE2B 
44b7d3bcd4774ce4c547e9e16e26e26fa74a51b294b9a087b4b7d14773a0af50a0d332ed49f8e7f1d6bcf4b92a2fd7137087fb9a91c8daa24e25c359a1f80d20
 SHA512 
1e09f9887b212de19a439ae26a405a44cfc806c88c4c7fd3b72a6e497818491de9aca1188ac171ba3c13542e3341846b92f859fb39d68ae97066a00116dd8a34
+DIST firefox-117.0.1-ur.xpi 539405 BLAKE2B 
a566551e8b4ec6168abd3ce2e4944ce970187df9bd8aa4948fa3815d03684e72e6cb09d8263cac4fde1e657b494d69b0eaea62212bf2af886731c9b188d1f364
 SHA512 
e8688bb3c3d60dd7789c20e43f4ffe144e0a29f1eb1da0cef23b29f78b474c415f42dd392e8037f2e78a43adca2af3b2de3d8c8aa10cdf5dfa64fbcee003124f
+DIST firefox-117.0.1-uz.xpi 461435 BLAKE2B 
8327cad84645658a4ae73d1883fe8e14af0a29070cba518207e1748d681afecdee665947a674d6f6f7a427b44d2b4929766296aab59a7f4ffcbec23b97da4a0a
 SHA512 
cdea003006ae45be1832aea3ceb9c12e840f343411caf55480e7b663601ab302235dbe390e7029dd178be3b15c797d51a505aa62d04007551d7cc0962a606285
+DIST firefox-117.0.1-vi.xpi 599834 BLAKE2B 
0733b21e6bb8adfb64914468eb0ac42bf14c789250f9176500645d230821dc191d4c679ed88e912bd1b83292a32b18585d0202a732280bfda6535be902d46711
 SHA512 
1dda8825f70a5e8c6ed93fdff4ed6f37058edde2a551cce6fbb15400a29b13ffcb3f2fb6f0350d84858795912b9076506fd068454a515a80aa066685c86ee75f
+DIST firefox-117.0.1-xh.xpi 401978 BLAKE2B 
bcb660965e3987d114909769a231d39cb8f51c27652a1d5c115e97c85a3325c45852419c936523ae5c4ef1d88ee334ec3a5b7618a206f9514ba43a230ab5e5f0
 SHA512 
a36b9e5fd6758e18fe2c400a43ea9b78b913eddc7e030caf907deffbcdbf9537e5d4f747321c7bb06893ca95b4386161d8281930e315f0edd886837f5c52a556
+DIST firefox-117.0.1-zh-CN.xpi 599263 BLAKE2B 
97fa0aaf78fb5ae47f55a738da58a42ea3969beacfd955342729e719d88ba35d7cad8d03b92aa2f66fa863499661043e43cae0c0449f89517b4f39e602033a28
 SHA512 
675bd545974137c50415989ac8dd3ad6ee941e83d7ad603404c67819a66505ff9ccf01db544db65bf7a64cc2dfd11fc4bd389552a421cd0e3545abc55e00fb64
+DIST firefox-117.0.1-zh-TW.xpi 601287 BLAKE2B 
e0d429281429671f6998b5a6bd119937c52ca4c9e11d64b60e6f73a0b7fa8800336a29055944c4ccb05eaeb7862fc13923a4ebdc84543fd96992f4ae2b0b5bc6
 SHA512 
89f6f72da94660d83ddf4ba71803bd4f520e1dea5651172c97ca007bbb681e7330648f5afebd1d5f9be37992da4d9eaade750bff63918dcdc05698193940f86d
+DIST firefox-117.0.1.source.tar.xz 509601584 BLAKE2B 
c618942209f60550ef5bd3db4a3a150fbe8993d2a40ba9b1ece3e647e4fcdd82639569f354f87b488b47781d52d21a158a25906c88fbaf86ddb57b5973f8ace6
 SHA512 
1583b0ad3b3b17c59bfbfb3e416074766327d0b926ef4f6c6b1e3b2d7cf6a18dec592b7d17fab9493ba1506f3540a02277096d28616dd29b6e7b9e93905f2071
 DIST firefox-117.0.source.tar.xz 505712192 BLAKE2B 
748e7ea88f493d449e52e94a268190f9beca671aebba057f7089897dee51d3e8d45c6f9721d38891c787b401cb6b32128d3b3b25073e17326c8fca80fe07d015
 SHA512 
4d2afa9bac9d0724fb3568f77a8103d75e90635802f47f2023127de07d70ff145fb0c19e6a4fd37bfe93a7bbb1ec506955c0d4fe3b07057561ebea82b8d6c8d2

diff --git a/www-client/firefox/firefox-117.0.1.ebuild 
b/www-client/firefox/firefox-117.0.1.ebuild
new file mode 100644
index 000000000000..c333fad41851
--- /dev/null
+++ b/www-client/firefox/firefox-117.0.1.ebuild
@@ -0,0 +1,1488 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-117-patches-04.tar.xz"
+
+LLVM_MAX_SLOT=16
+
+PYTHON_COMPAT=( python3_{10..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/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-python-libs +system-webp"
+IUSE+=" +telemetry valgrind 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:16
+                       sys-devel/llvm:16
+                       clang? (
+                               sys-devel/lld:16
+                               virtual/rust:0/llvm-16
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-16*[profile] )
+                       )
+               )
+               (
+                       sys-devel/clang:15
+                       sys-devel/llvm:15
+                       clang? (
+                               sys-devel/lld:15
+                               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
+               )
+               !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.92
+       >=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-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-util/valgrind )
+       wayland? (
+               >=media-libs/libepoxy-1.5.10-r1
+               x11-libs/gtk+:3[wayland]
+               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}
+       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'
+
+       # 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}: $@"
+       "$@"
+       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_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() {
+       if use lto; then
+               rm -v 
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+       fi
+
+       if ! use ppc64; then
+               rm -v "${WORKDIR}"/firefox-patches/*ppc64*.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)"
+
+       # 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
+
+       # 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-gpsd \
+               --disable-install-strip \
+               --disable-legacy-profile-creation \
+               --disable-parental-controls \
+               --disable-strip \
+               --disable-tests \
+               --disable-updater \
+               --disable-wasm-function-references \
+               --disable-wasm-gc \
+               --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"
+       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
+
+       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-lto
+
+       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
+
+       if use valgrind; then
+               mozconfig_add_options_ac 'valgrind requirement' 
--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
+
+       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 (+arm when 
keyworded)
+               if use amd64 || use arm64 || use x86 ; then
+                       exeinto "${MOZILLA_FIVE_HOME}"
+                       doexe "${BUILD_DIR}"/dist/bin/vaapitest
+               fi
+
+               # 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
+}
+
+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
+       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
+}

Reply via email to