commit:     b76df0e3220daa6afe0673b8e44905666d8aefce
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Tue Sep  3 05:36:49 2024 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue Sep  3 05:39:09 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b76df0e3

www-client/firefox: add 130.0

 - add an upstream patch to fix some camera issues with pipewire (bmo#1913286),
 - dropped bgo-907963-rustflags-single-string.patch for now - seems to work
   without it, may need a simple rebase or relocation to new *flags.configure
   files (need to investigate and test before pushing) or may work by upstream
   by default now,
 - dropped many patches that have been merged upstream for 130.0,
 - fixed installing gnome-shell search-provider files,
 - fixed some sed calls,
 - initial bump with more testing needed after - there seemed to be some
   relevant changes upstream, will go through them later and update ebuild
   accordingly if needed.

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

 www-client/firefox/Manifest             |  102 +++
 www-client/firefox/firefox-130.0.ebuild | 1365 +++++++++++++++++++++++++++++++
 2 files changed, 1467 insertions(+)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 292169644e22..b3bd97c8bebd 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -404,3 +404,105 @@ DIST firefox-129.0.2-xh.xpi 419349 BLAKE2B 
f7e5832c8557d13d02b1afec6da0a277ff1ef
 DIST firefox-129.0.2-zh-CN.xpi 659755 BLAKE2B 
9ae434ddbf71f457f35104064d014915be20139f612867b5da10d028284676e9156fe01e5f66b7df411e521e21a57d4a6d1b005eef675facbe254cc7160a741e
 SHA512 
600b187ea9e2c2b0795052c0dda9bd7ecd9961e3a135fabf5ca656120445d4326c89e6ac8c9905460218a5b85fb0e02d4fd625d055529bccbdf05907c2db04f0
 DIST firefox-129.0.2-zh-TW.xpi 661609 BLAKE2B 
e93e814e9096baf65c99011b62bbacded0c9820cac8272ea16059e458efb686c71d9ae110d9ae365fdaba15253dce825a3cd884e9d18b84457a25fcb58a7550d
 SHA512 
1cf2a02b4b7d9680d661fb969d1f249f1e4e7b3af16fdeb60f45b6825e893052206331df2b05cb603546601f9ba98f3e840672390c067991d30c6803b1bf78eb
 DIST firefox-129.0.2.source.tar.xz 559547204 BLAKE2B 
f0c79de337b5c55f9345b21714dd1707e8ca20f66f7ae383026c3737a7a1eeafa5048c188b91cc2ca6089aff944802cf04fcaeed81af7a42218925981c0e5550
 SHA512 
f6805a87e5cb4e437583916e3ec1b312dc73eec5fc06ce7a038b13bd7c6827b18cf383c30645d96623ce41675351f3023ec6b9f89d676f1c889994eae79f2c13
+DIST firefox-130-patches-01.tar.xz 16708 BLAKE2B 
315d7d010be938391bd734d17442ed85051e0aa5cf29fe864d0669084f50c5729389afe1d1d4c5d61e847ba2fe7d729237e531fdc2931c3c303612c11566b51a
 SHA512 
52c6e3c50c067f98f0794bbdd9c6060e481db096a3fd17460e7b85e04e373ca2354f2c949492dff0f4f3a242da86ee5e593185a546df247b67760dcb203bd74a
+DIST firefox-130.0-ach.xpi 467588 BLAKE2B 
13924fd0dcc0d0c1a2cf7760ef263d257da8d6f761bd48d503c6e7fa8438996f36f83424383d6b285ed76eb6f284e45eb83ea19dc5892d99e0b5851b4635e4a6
 SHA512 
fa41e89ab9237b76094b660d439a8100bcf971c81c7f4f628f908978cc22f2018f21fa10a415925ce0f34e00815efb9f55210bc4629b9185035a26beac0ea5f6
+DIST firefox-130.0-af.xpi 420693 BLAKE2B 
7e93d3dcf9a7e9ff348fac82174e0b103a6e3d9c6fe57b3500263211cf1e325b701343d01f6117669eef0197d0fb31e75be9ff0e7bbae3f952183ece781c15ad
 SHA512 
3add870cee9dae595b7b4fe7f2e1a122f51ef937090422b7ea5723b87500b0daa7e90ff5e0a9f1e5346dfaf9ed78eda4df64b1dc5d4cc3732e76f626d38551b6
+DIST firefox-130.0-an.xpi 509179 BLAKE2B 
1727e110a5328e5cad21a601db2b61318441fa58a4289584fa7dfeeaffc3591b5e14f45342365fab0e34db9210e0ead4b1a1d603b5199fe216a1227db1bf9e91
 SHA512 
ed9520e7c2825959e5239ecb7e4e56850fcd20abf9f749b8990d77a418aadb691ddef95de0c4193de7351ba59c4c96ad766f07cd19c1b893d3315ec814936617
+DIST firefox-130.0-ar.xpi 615236 BLAKE2B 
888a050b002e1e09c1c245d25db64d096e8ed5ac20e2eb024aaa8101713548fd8b13979ac5ee9469326321ec16b238c332c74402054129fb88841a98a6be86b1
 SHA512 
14aeaf22b05e2574f0699a7abc86e6a96d8c22ba71477fcaac7478a562921c16399518b7007cfe7411efe51c8a0bade72a1e47f6570fa58efc6b99f550da2fdf
+DIST firefox-130.0-ast.xpi 499645 BLAKE2B 
d9fac1d64e938bb3dad3d9d675a2aeb393682020babed7f95d8258dbe9aa49bbefe6599ed314d50cbc0def96c7398b911f56721c9e4cff98c68151e3655c6464
 SHA512 
249eb1526ef6c474fde33bb0cf81155e14be8df9a06e1308428e6eee43159c164f32c1fd2b79d3a1c6190ef566bdb5e281a379ede68e189f71c507d8f0a5cd1f
+DIST firefox-130.0-az.xpi 494320 BLAKE2B 
b1a72494ca10887329f33c56c553e71db44c5fe6974905e3ee5ed2a4189c9f83d9c79e4edb0a96818668964667b24f01741406d925be31c14e4c544fa609a287
 SHA512 
afae69e0fa446a9b8d710686ece98ed148effe4e1038c863a2342a8d97caacc726547520a12375125a27b3771f9a44cad627a7516bea34d884e685d6612fcf23
+DIST firefox-130.0-be.xpi 726464 BLAKE2B 
46a0ea6d367c6c5e0342b64f841344fd9f9b5f43434aa3f1d7cf6abb990d776d00469d40b4e77d53a9e4f35272e61e7e780be815cb9e7b6c7bcf19b328a41d5a
 SHA512 
b8d26bb08317850ba0bcd7405978fabe361f7254b0bf861ece7bcfde09ee04db659817769ccf60db858fa5543bad14cb9cc43abc8070759df4435ebcc05d1b12
+DIST firefox-130.0-bg.xpi 640068 BLAKE2B 
597a3613635d6835b9482be4892ac5729585ed0ffe18c07f0981273ada8a2d275f403f9c838a2e5981d98d486842e38bb3f3e2f0b7aeb0cbe09398d286fa6fc7
 SHA512 
0ea21b50ca8d7314ba0b8ed53c18005f7e203c4f172d55e363ab4d698eec99d346d7dc870d4e8ce0c8bf14c7d31c123c6d28a3861d378d1bdd7454bf512b8c55
+DIST firefox-130.0-bn.xpi 585048 BLAKE2B 
ed70f1f513f568a435b4d646f38c9a87950b064675f06f5dbdbf2c4b4cee60564a8ce2ecd0bb4d053d605dc10df321f807bad29915df5e06360298d5650ad751
 SHA512 
6afc892e77f826767f2fae8b3eadac13f63369255f60b4846b25d2b17acf45d63f2add409313be98522c04e6f47730712853bb8e279685a64b9e7073a45ef136
+DIST firefox-130.0-br.xpi 593557 BLAKE2B 
e52c14887baf248cebb64314e20079751833d6afe78de174c21fa759261b3287d20e2bae8d56d048253e0e54be5b3cceded51782a25c771f5516148017788850
 SHA512 
08fb191925d131b72529c8af0cffcb83766e63345f9813a0e2d93c4bd19d08e5ed215c4c1c3fb32b10bf12f078f9e16b4a97568c09257d5b359850a3f71002d9
+DIST firefox-130.0-bs.xpi 512747 BLAKE2B 
8af1891916cd6b99c32aa0dd3fbe09905e1731bf9937c13f4b1fc35a23eff2367b2bf8eb09b49f17573eb49a43b7b06f026c0ba8df8e3e89dff237fa6390e9c0
 SHA512 
3a110646d88ec35f769c4f85ddca5e5192eb35b962ac44872deb2a466a740e144a7048da5b8956c66ce006eb07081676e87182101e092f17bc2b7baa089ec838
+DIST firefox-130.0-ca-valencia.xpi 549203 BLAKE2B 
857b8c9060c458796e4e3a9d8facae30191bcb8cd4ef8a2ca944785849dcaf4f408299fb70edca5ab3732fd0b4977c2c2404fce9359c0bf29f864173fe78f78e
 SHA512 
938ff218edfc55ccaea9ff8b58c47a24c16f62081bcee88ed902bda79fc66ffefc1a498794c5e5dae1ae6e389b7fd1f1bc31ef599978213b63b9e87be09dda3c
+DIST firefox-130.0-ca.xpi 600852 BLAKE2B 
c9c22ab619eeebe4a5038cb66132c0494c3c2fd92063ebcf3d37dc595eb1d61165ce929b06050571fe57becb5296f256474f36b102f2f3b00162bec42f621538
 SHA512 
babf6a445f8cbd1a7067bb3aecf8d7ba98934cafa6d9d4890bc16b4d35034fcfca25355f032c3b3440a9d95d954c7b9e21797abb42ab4a3897cf0ba53766cc89
+DIST firefox-130.0-cak.xpi 596822 BLAKE2B 
5206c1d1127c9ea91e7bd1bf3cac96fe32db820d3d845427cda6d143bed2912ab9575eb9a844d4a1df57f1235ce351acaa76d90a381586699df5f0ca00a91b5d
 SHA512 
fa3ea718ae2cec52ac98d57ef45c302e3f53897c2aa607a4b3df5c73cd4a3bac0d7e1c3029bb11a9ed6bae87dc4287cdf7921955ab9a852da1467dc076996b81
+DIST firefox-130.0-cs.xpi 669121 BLAKE2B 
c8d35d751eb82fc238bed3dd6d37630625883d6817a1c7f74a85d16576f008f6321fd13f2441bde51bd367c58a3b7bc053d260c81a8fc9cb30c458fe959590c3
 SHA512 
c91bee8febdcb7273263969b1a526017b63a97ab4a88ff4e1ef689cadae39ba4b7afea3258a4160fefffceeb783758ced4626dafd967919a12e899cd50cba36a
+DIST firefox-130.0-cy.xpi 633981 BLAKE2B 
a595c6c71c270296b29621b68c19988e1862dcf801bce127f3321525934a9844117328de35df579e38d26e3c1a6ac2b5aca4aa1af458d94da1328f4cd3c7bfb8
 SHA512 
0723f2b44f6a610337083f208866ecb6ccee5e49db41883179c36a0d466c50f4f44d089f6c95dc1cb9f7ef441a1e7a1e3a725ac30d5bfb4b80d072128f797755
+DIST firefox-130.0-da.xpi 622378 BLAKE2B 
5cf535014d0f5c09c8a9167dce76e7ce9e322a1f604af76a59fbf1fe54ebdf1aedc192800e2126fce3eee76cb44265aa5ad87050bc7daf52ed4d6fea7ac92f47
 SHA512 
6dee6ea106ae178d4a0fb418bf83dea35b6d954b3620a4eb1f6442bda3b1f274cc2069c1172b95b5d2bf4d7e6d45e98760f7fec4e41b31ace7f3a29758e1d43c
+DIST firefox-130.0-de.xpi 644003 BLAKE2B 
5d6353a1dc0e27bea8f1554eb3452c22c27fc99598e3c55f7a777fc833e966220eca450fe1bc26661f68cfb6011237561387910fe5df94648549f913bb11e41b
 SHA512 
1f43b831c41ffa8651dfd7b02b005db48101ee7a4de61bf8287700b776b6c0abd7929ce5450a016beb194d578615a5133a9d2c412d17501efdf8683dbdc44ae2
+DIST firefox-130.0-dsb.xpi 658767 BLAKE2B 
a12c538d8e41bbec195b9e3562106f47fddd0eaba3438d5a2e836b3a03c6b2b126f8f6c899303ab2d57ea0ada23694a1f9fb4da657451cad3dda908edd1795c1
 SHA512 
edc9df4c6139d3eed046f987e6f4c0da56961f2d9dda7877e9452b33ad80740c8ee14c4bb3f3f21c6a47db5ee06ca47f9b7fbdce427e8f04cc66ef8461e083ec
+DIST firefox-130.0-el.xpi 743356 BLAKE2B 
88692701510fef5a633c15748b2992868e733fbfd23cc0a9ca30575751abc3fb9b9e09ce81d670ffea4e37bbfc64a9c326b254a897fc059333a235f956636482
 SHA512 
4696def5855583c15f6f34ec9e5aa8c99eb9f9b12e3907c62f5ef36592bb24d4c3911134448cdd4a84841c8982815ae3934ef40ba1018aa039948431dd71ef29
+DIST firefox-130.0-en-CA.xpi 593000 BLAKE2B 
c0c91b2fe07e55efa13d993dd6cb2b68446746844369e103202fdb54bdaa1ee9813e78b94558d7ee3a886f68c079b5418c65a022be994040cccf5718da9c0203
 SHA512 
a1308fdfa709975e8dc61b6f7d0ee72cffa76e023dbd6b97072d7349a095e14a8fb61010a82f857b0b6431ba403a0aeaa7253b5b1e3770fed05dd6fcf1d9d3b2
+DIST firefox-130.0-en-GB.xpi 594149 BLAKE2B 
0bdac5f735a09ce86b6e8b1ee2906096355d2dc86731553555919e5c616cf80faf6ea5e6840368d4bc48ff70d4194a5ae6cba20d9efa1ea34ebc1a07e8fafffd
 SHA512 
3c904e13cc151110699a8c994fd1f6d92b4cfef94fe3b4ba5ecb3378e1dbf92f063c8010b01bc5577e2abd5b3d4904c4faac7772670dbd92d747e157fe0fccec
+DIST firefox-130.0-eo.xpi 625380 BLAKE2B 
e46d8c9cebc2dd67d36a9ea671cec56612cc63c833215b0a208178e0bc9f5d5eb00dc7ee8f0e8d5651050c936c28fa5e2c1a830108d3cdc41921077543bc8544
 SHA512 
d52efd37c2c58f4c116974737acf6b50bc7b268074456ab6d7721a2018c53da3621447b0b090b97bec51bb86c9589a050f499561ee1bb49c1a81e8cb75b37707
+DIST firefox-130.0-es-AR.xpi 637457 BLAKE2B 
1e8bf2bd2ea8069503169d5a088a468a4ec6c67935ede6eab6f7f47eba2906bc5fda0685e3ad0e8cf26c30bd56d1a66cbfae70cf0f29ef8ea4a17bcfa3a0a443
 SHA512 
71ba4cd7cbefb1b3589c039c759bd0a2a3fbcfa2b90c750a0c5914f46bac04c39031a08a094617e2efec141dbdfb7db1a4f6992166a0b98f7d91c5f4579575e5
+DIST firefox-130.0-es-CL.xpi 636359 BLAKE2B 
2b8fae6ce7bc4e137183011d74f5315b0dd7a07dabd28e72f1347312d892c34d3ea6e9c013a1696e34137140301c1239d87f947b343af231373e99856070c317
 SHA512 
a213d6bf27f1cce77cfe58c98565f1d6208bc5e05622a3e103bbe58ba34f08b117046ba23e5a61cf717fb4dce6a755bc75f80f4f78d3f53b7767899ebed3968c
+DIST firefox-130.0-es-ES.xpi 624788 BLAKE2B 
a7c40de76652b7ea45e78d2a77300589504c3e62abf88876d7a56cfd8798f7d8058c21a722b106c789a83ff71eb5b18b513472ce4659312463529d5880efc577
 SHA512 
e84a92e65ab4197272499df805f2f58bb1605bbb04494bf1b65b88ab317175cf14e4748ac11272a902d04055c51802c41758422a9d2fd1d89f3c8e1e1c379415
+DIST firefox-130.0-es-MX.xpi 620037 BLAKE2B 
2203d2faf00fce513f57a07e2d835ac324f178199e7a212f1809d2cf162dd460df50baec1195af6ec04370d9d411ef7a83a50e9c724bfbc8d0196fc47d27d876
 SHA512 
8d4bbdae23a1c2d1d3a8d97736cf1693b4e8e95c32725649493351d6a5ecffd616625107d71f48089fc51d1770e3da33a30a40a2b622ee4b001f75cfc1dbcc61
+DIST firefox-130.0-et.xpi 543274 BLAKE2B 
00bfb45208a6b3c562a982991e9f37e423b3a50bdea1e5fe5ccb9de58649ff31b723798ff90c566ee400814f01fecd39843eb3bcde3cea280223b3cffe7a4d5c
 SHA512 
d6eedee6a657a379997aa8507fd4534a2801204aefbf2c54ae288e7d4ffab4a82359d3298b833aeee8066e726034e9b1d62c4e465d521365bfa392f5137ac011
+DIST firefox-130.0-eu.xpi 603909 BLAKE2B 
6632e5020881c468da93fe03d9a595c40c7188cba5223e72da63a0a181ed95ea698da24c8b4e6bbfb8b339f1ea22b3cc3e38aca1a2b192a3d57f609e1a9e7533
 SHA512 
61446a8ebb9d23f5c7fd7c05f4a7e63f1db8c33246800daa952d7429070131e5b63bda772bed4ea8c48597640a2ac34b243925a3f7194fe295eeb68f55047199
+DIST firefox-130.0-fa.xpi 593582 BLAKE2B 
c0d9344b9170f8eefd9be7c495871a5edebb04403ad8e71a0aa031d16fb3f9c9c85825cb64260f82b2dcc15f9a98f1a1196871c5495fbb709a5d63fee3f23a49
 SHA512 
78db25909097c74bae6bf9c58459e8bf522cc02c457777bee656f9480ebc2387b5d05e1637a9cb6fa6dea9c516eb347271576b4e31f05c8bfb7167380a14adfa
+DIST firefox-130.0-ff.xpi 479255 BLAKE2B 
7d4a7aca3192aeb9a92937b034df91211db7bb66b873124f51bd3e03d2b004dfe2be7b7c286b33e2185dcd39376cbc9437626fe987e2edddb878d9c3f279ddf7
 SHA512 
a05bfbb0e1748b286734500161f681ada364c61ac390181134916f372e01cfee252108a759cc413a4cedb2181f68757bf13dc51a5db24ae8e2f72bb1f2928d88
+DIST firefox-130.0-fi.xpi 617454 BLAKE2B 
3307e3251b701bf861a7d71eff1393e79e190aed85f67c79dde5b33ed93089d4a32990c40c03888f338dc4e405cd9ba1efba40087353b743e79773b82cf37235
 SHA512 
437783e5adf4fdb61a7ebce2e808d2d9feebc06e2380ec12de8bf2dc593134c944902b746fd7b9dd0d27b8c768705df28de9920680a6971e036294b4cf8f5371
+DIST firefox-130.0-fr.xpi 651038 BLAKE2B 
7d8582f01e29533813878938c6eb7aa3c3bd164f6050b462404a1bc220428925577e7b32fa64bc0b138105d626c7951b51f86704ede1a846f7b5e07ce2a3c48a
 SHA512 
ab4679aa3f949d3e948cbdab3150802429188450d3f180d098fe090bc30e2e971c80a0a28f428d80aec28169f4a2d6521bc85014db2f9fb43e4af0f11df0dd98
+DIST firefox-130.0-fur.xpi 643018 BLAKE2B 
448e599bfab432babd95c606089ad1dde7a9904a3c288c1cb6ef9b1eb754b64db0e3f5d23458a0bf33c2b20fef0795c9ec68069c9a2692d571b3af21ac80e77d
 SHA512 
88daec45271bdf58422e52d6d8a0e6a1d3aa86bd34677e56b88790e7a90df28905824a5c263b214a1352c9433de83e92f9fc7ad741bf487fc4dcfeeacd9e2d2e
+DIST firefox-130.0-fy-NL.xpi 632428 BLAKE2B 
f0fdb9d47a8076103bdab21c516b482e859a6dcdf5b984b3b0242887d9535aea790627a9db9d85b56fb4accdf2e5b45443594f1b4fe645a8b527975044a0eef4
 SHA512 
bb1e4ba77d60a27070aed23b1cefa095f895e75f4c597a82592fa86e2b2b3c1c9c6fb69a44d7a7726dc52977c7c3da21e2b1f2eba51e6059f258bd68223af500
+DIST firefox-130.0-ga-IE.xpi 474442 BLAKE2B 
3d84bdf740248c598769a180dfc799db8a754c7072be9020355fbffb7b409b68b804ad9cfc96b996e34acde17b7fdc504ee783dbd26facf173a172220a8a1cb7
 SHA512 
62ae04b8cd65f44ba6fb1f13cb23522c31dd17e9d3753d97f0df2bf4559e87ee26c75f08de09efe0508c10b02717e2a40ebf9f1e7674772d5ebef83675f13783
+DIST firefox-130.0-gd.xpi 600334 BLAKE2B 
54e491177cceb642b17beacdab8ee1350b0b43e723bc0933b90bf8abefc392f557a65b75b9161ebc94940a85736345af8cb5ff57efcb733ff33bdc7d6afcd476
 SHA512 
6b3576408a26339e8fcb0d3d5d0864e722da3c7a07fdda0e08769d56d8f061e3ee0aa7c35145c6b45b3fcaa54051dba1cfb3f5bccb697a81d2664cd782b11a7a
+DIST firefox-130.0-gl.xpi 608037 BLAKE2B 
f8e5a2b5cbb4eb561e1913ddfa48c4ea889bd98610ec3cb274f701ed6c33d042280c429cd8ad8f11fa15dc5c7ed46b76965b39bb18e9907d9eefe911810b3a5d
 SHA512 
bd522bd76f869d8f599e1fe4723092c93ff958737d32d0c631cdf80c393c526eca572eb6431dcf3c7b25230a15e9c8b0833f696cfa6bbfbd38a5a864ba312217
+DIST firefox-130.0-gn.xpi 645999 BLAKE2B 
3e377ecaf82b40ca84b33b96d0b9a47e67d68615a85b4cc0dbe82c09003b95f4609cc295b628e79c96fe8380110a774aa8a9d125c1ce3ce24d36c77297b0ab5f
 SHA512 
f266ed0192376883eab75ac901d739f6f94340accef9b1a1b6927cfd4fc7ab043928857983f0c62e4611c73ceed58fdb23827b2024884b3fe746356dbbb7ef13
+DIST firefox-130.0-gu-IN.xpi 530812 BLAKE2B 
53b9ff70efdaeba4c3a8ba1e0c317d8db821cd33da0a260f851bff71ec7b9e99956dad1a8cdc161e31e6128419034aab63153d1493142c7dbb350d1eae1dfa21
 SHA512 
178f4d2be128ae95de567e7270763bf08031d8820f64132c0f3a90ee72045ffc20094466f71e913f9add12347bebec25f6ec5475e5e553d4cfd316375922dbac
+DIST firefox-130.0-he.xpi 640049 BLAKE2B 
89a0e0eb440e95cfae64ba6866b7d9a92ae1303dcdbc2adcc3a73cb0464208a9e5670653d3619cf3dae1e928aba0ecde894581412595d56f843c0d65cde78eae
 SHA512 
5f489dcdeff2957987d3fb78e628be675dd8921b6b1bd91c8cc1ce810c6b1d527cac942078a13da79dd4c2b07e79b01ce573a4b876b00c0e4254ef6b6f6c6be1
+DIST firefox-130.0-hi-IN.xpi 570024 BLAKE2B 
c33eb46b86aac94887671fc6404b25af79a9e39ea79cf5aa2fda1d0d63a67886f9c27bb171d3414dc1efbae13d23646d766403f01e99575e0455370016caea46
 SHA512 
3ed7f402ada653fa21f20947f0bc9730bddd84704e8de0b594e5298674b6cd0d7e91f607211019b4d138a8e327cb03ee0ead21d1633e27b4c987727bc383dfa1
+DIST firefox-130.0-hr.xpi 617522 BLAKE2B 
ea4772a15eadfe3a139569175d102171cf074772968f836e824e1a3d1cefc10bdf98ff5bd6a1d7d1d875f763d6f9b0fa790089d9c4ea7263e054e4b65602c5d1
 SHA512 
4ec531c27608bdf1c20734aa25a33a469d64a6f59203785b28494885e8e468f92af2291548a509e97e6ab0965803d65d65ee5e843840fdd5988253e45d7f49cf
+DIST firefox-130.0-hsb.xpi 654771 BLAKE2B 
0af2451d51f7de25b9e5cc3f1e543aa673dd5f0c899bf249399ecabddf11955b1dce1af2d0c771dfdcabfb78b871b12bdc5f608dddd0babbe50c59e7d45ef4a0
 SHA512 
0a0232d257936398dbe2469074bd3dbfc596daf49522a640926027f2a3b22fa672a1ab3953d342354945550e9366a7cd6d5f7494515ee28e381c84ee5a8b4b08
+DIST firefox-130.0-hu.xpi 659669 BLAKE2B 
c5cea2daa745baf2bdc08089ce33a8469613f175bc055f10c0f7fe00bb30f7ad58a59381646d9c78c7a6015483f29b3b9288e278ea6fd6cd4531e688350bd600
 SHA512 
8b907a97356c482f863556fd811de64d576bd4d1152fe133637722ee4930149f40b4bbfbd37a897391e6fb7185dc42fd93191089098b2d9e9c403d4a39f756c2
+DIST firefox-130.0-hy-AM.xpi 655061 BLAKE2B 
4ad983457c8e3f7bc6c9e9d3a010094d189f3577a0abbf2ffbb07c6abce47b18c37d0b70fbe4fb7836c25337afe85132f6d10d8c644cd9718748813157672d18
 SHA512 
6590e7fdd994aeeb45ad95b6b5ee28bca44c6310af2eff58d7393fe9734c94333e8603194dcd4067bfbdc44cace09a198e8a026b530260271cf1bc5a60a4829c
+DIST firefox-130.0-ia.xpi 620415 BLAKE2B 
6b5227cf8d06e3cf4565f0e1a5826a02e8bfa7a08b66e10451a1d28e18820b9a3b7c8205510dfa8befbfdb0c2a5ffca846eceb3576c0b4ea107b5934c4f09060
 SHA512 
2eb6ef97be73d78acb32bf0ccb248ad358d60b95258c333304cc180b16ed231eb8b90abaca1252722d0294a258d8c541675d9189dd33945657738ca15e9de687
+DIST firefox-130.0-id.xpi 588473 BLAKE2B 
28dfa350b749d6b1e4d52c011b11a1cafe6629cafca9e376dcbec9df531e8baa951b9b7e503c90e05240c7370aa4bc2c10f5f427872f712f874836970df504bf
 SHA512 
7b4ffffa9cba6c3781e953b06f34c2584bcc623483e11b6922b3b1ffb3b0ab70cf37ea5983a56a777110278277bf4888a580d881cbbd20529dad85ed07615845
+DIST firefox-130.0-is.xpi 622838 BLAKE2B 
963d2363dba0cad9e9c2d170f8e880de599673dcebc0ab4824b052f0701d2f98eb1c5ecbeec0eeaa9f54713e39d7f27b23cca6ec537d6893ba32968e37abe9ea
 SHA512 
6151fcb5bead32a177acba728c712b2afb12451d4dc71cab1a18f65fb6c6a62893a169d369bd3493a4c55e9c822d9b39f030e8b44729f8887f708d71332d6377
+DIST firefox-130.0-it.xpi 576702 BLAKE2B 
84301c0696fb27607a050d2887d54aba848cf19b0b138f43349f600818c2f06b3c5927113202087250bc4f410ac11996974ab0f322a2d077c5193d1afcec363b
 SHA512 
ba042154ae2d32047f506b90521b6f1ef57ddea5df5cb1ca85706ddd927ef845ecfdb92571feb9ed79cfd6a1b7b3f203f9a5f39825e7d948f8c88d88644cebf1
+DIST firefox-130.0-ja.xpi 685864 BLAKE2B 
994c7436ad0fee1a3d15a5b43a67f2663ab5609a32d5f39a847b4d90370b3c1908663e0a8e7280fc11fde86d4bf99469ea8c07bf37a8d26b171118f816e24681
 SHA512 
8f2aec5d3158b19441d1d1cddae1e0c18d5e1055af749f110b5193c5b26a3ceef50f213d690bffccdf084fa3f9697cf598f3503f9edbd997cb916553e078f538
+DIST firefox-130.0-ka.xpi 664736 BLAKE2B 
0c5e0dbbf5c5e4f40d465e2cbd8fdfd3750010af24db9a2ce295af0a2b1d6f2123ff84f177ef2b123deaab2c2087ef37f5fd2500b390f6a7a50dfa16b10d37a7
 SHA512 
9b8aecb84049dce769b65fb46dfac1eb49e75020cea0ccd9a99c7e3dbf4d4b414e0df752d7e901db188813c2f5e6e7fa6e6bd372ebfb19a5bb8dbd9001358c35
+DIST firefox-130.0-kab.xpi 615479 BLAKE2B 
47e39d8635fa0db2a1b6d78b04545a67d1ef569e0556d6e1e042e46e18ac52ef90bd80773e6bffcb5b4e0bab512594f18f441a970b2b152a0cb48d6922db4010
 SHA512 
95e796832d630f244d176c7eaff9bb5f0c1294c11ef2809019221ffe5e126853e19818b5899dd5d33471e1c248dd83f967d637e686e25a2a346830d5b17a6b12
+DIST firefox-130.0-kk.xpi 718490 BLAKE2B 
b87c8ae190f779bdec52d4b5189a6e8ff0bdbae2d651ba5e3115dee3d4444a0e91ff4a1476e34a01018a80b212f00651cea8cbc7b3b1a7890a2be048d821adb6
 SHA512 
6f9c1d05d2475ba2eb335bbc8141b70e843d3c4c06cdb0fc9858b39abc00b9f50089ef938fc9585f0398f314049e0e16ee8b4b1e4bad651bd49715c16552d9aa
+DIST firefox-130.0-km.xpi 529330 BLAKE2B 
6fe95c0179eff56ac84c86af5f05196bbaae199058b90b44ce67f3f2fed2ed9043a490ae0a708a1c95c502fbef7c8ba18067c34b140c2dbef57d6964b0f03f22
 SHA512 
3c261aad08d1a4b3b42820b1d7e5f41d24618d3bf74c2b1710f499b238700079d374f254af67aff69fa0f0035070ef1757b4d646538dd8b5d24cf4cb6ebdb2ab
+DIST firefox-130.0-kn.xpi 494344 BLAKE2B 
141e008cf40471245f3d227836c48b1a7400d1ebadc47a8f4f16bf46b7ffe58c50311e32268d09467c8bb8d773d026ff466c49ade05f073a7410f466b0baff68
 SHA512 
84593f1a855ab631533e2fa1b454928bb413405b064f5198fd8fba2bacd6034022717a9e0911557e2045d862e40f3cf3d63393cb11c715e04741fa796d9e8a9c
+DIST firefox-130.0-ko.xpi 671547 BLAKE2B 
7c891d33ddea6bb05277c4976d0d77f772b73b503b42ebc5d2c97715acf9375c658a9dff0c48f5a8d2376450b1d407513c3a1c9a19f81ec30903cd4257e98dbb
 SHA512 
3d9e16971afe2b30b7be1c8fe927e7dbed4219c8160b9cbb7ebb4333a0307a8d09434c64fb6afba1234be5501a1a3a010d52b695bf39c0bff4dcee6027db553d
+DIST firefox-130.0-lij.xpi 487638 BLAKE2B 
b45300b5f7b575482fca641b2034c98df6df38e617fe2894371792169d343e19c905daa0a269fd3cc8246b7e22f59d59ece2b15da95f7a1c566355c1aaade03e
 SHA512 
ad5e6cb01bee9504c5f98e787228fca2cfd08c0fd318fdc52caeb78c3e9b493af4d80e4c0edce085ea43d97cf57bac7419854b3022bc5e1b7ad886fc0f7ad5aa
+DIST firefox-130.0-lt.xpi 576386 BLAKE2B 
146c5970f84c36701a91eb109032d787c9112aacf06d6ec6a6e82a9a94962c68b7a03f8188908d3ce215493b0a2f2bdf5fc2910b1e9d800b93f96ddbc345fc69
 SHA512 
53509733b53e4147cba22cf26b5102873d97b1939b16ec5be6cd49253c48912d6dca5f5e532c997fe885e9f71a89c3dcfb922ebe72569fd3beecbb2c340ea353
+DIST firefox-130.0-lv.xpi 589138 BLAKE2B 
222f3c760cbc8d18da5dcac891dcac76e04285154eb1fa2a710304f13c35a87b27693ed94bc3646182d831c9dabbf429812fd811d794453c509d5be6d496b933
 SHA512 
a09551cd689851bde881ea51a0cd1da628dfc184d66238d72dbfa899b1bdcae90de0eb07ae3240fe9acf4bad79c653ee117f99482a511338c8a4d0a2f1c91160
+DIST firefox-130.0-mk.xpi 496958 BLAKE2B 
1c3ad1e9c3a918a6f327bcaf3fb2e551a05bb2ff38a51891f1c810d68c190b8e210890ea70244553552f827f16dcc58f210e19da06a127a2f4c6657983a972c9
 SHA512 
3303a95dbe0f3a6b076f67d281ef60ec6a0d2f682a00578d8ad4c8fd2d9ebd744cc4f5e348eb889bc536a2552a63ba9f1a997c75bcac30da8cd65368f665457e
+DIST firefox-130.0-mr.xpi 535458 BLAKE2B 
1886a9710a35422e2b4449fb66f32cd1732765f318d6de3eda15a1f8a3231fea770cc01d3b4d6a8f8b8dc46c61e9daddc6b4f870b04a55cee3418c712591dffe
 SHA512 
f6142b00d9507383e5d2a5fd652cb90e17d261cf1b9bdf4353c715c37e65a175b5e1820e3e89c284f09eff8ee593d36614478e34a1131755bae669888657945b
+DIST firefox-130.0-ms.xpi 453245 BLAKE2B 
2511a262027229f4f65592c67dc8c807fdf90e76a352838938701ababfa342bf418c405011cfb7f53c0d9171e982f269d1ea962c41b97d4a9a8c080a66172b65
 SHA512 
f644ff75e6ac1bbd252bfad7b1020867c907c4c33d4334d0bed28acba952be79669c705804004777b15ce2d911f8bc020bc24ad63a9915af783878776ec2c0ea
+DIST firefox-130.0-my.xpi 521885 BLAKE2B 
de85cfc97c91f5a3d1274d6d72b5bde65d4b40f06c24a863d531340d46d3b70c59f9c7919f1d2bf9fc812fe79414a3fa07641503eb5ded5c92682060d9019628
 SHA512 
322c1cf80c3da649738002174406748d158a51ca5921fe8a422d52bc7a6c7281cfbc141bcb9cb88e1542894a1c2fc0cb7154ba205ccb9ab0047d5cbec9663cb3
+DIST firefox-130.0-nb-NO.xpi 615481 BLAKE2B 
3753dbf18de927b8d3e4d13e94443b65510d9b117c156c1bf7596fce64fd39c94932e13878ea8324ba781bd4e7a577ae90c94cc0eaeb5a8923c0f8a0ad882f86
 SHA512 
9a6d80b4c7c0bdb2f2de01d3b04d7e1601725513cc2a18e48c8daca4077cab3e9da92882be54cfa0795d588d15e90931c110a7be274b8761f1e9b5523600e250
+DIST firefox-130.0-ne-NP.xpi 517919 BLAKE2B 
e0c73b95c0a3e5ec9aa90932170822218109ede720fcf8cb7fdd3639f851301df41c73de922c26f0d4b39b59657e3ddef488f42ecec84d59315943452cb433ab
 SHA512 
30cf81482af57b9b7197fbc0a5ad15dee28de0d334fcefb4f7f4c5980bba7b193b514212fe38a109a9e269dbfac7f6ea6b279129c5b660958d03d4f547058fb0
+DIST firefox-130.0-nl.xpi 626066 BLAKE2B 
5b644976d2530f600dac8310008a34736b829651a0b06c51063dd836c962980ebdd30a20f3eae84e17e92058fcc5998eb0d914bf89f72380f85b996f28e65ac0
 SHA512 
40939cb83f01aa4f3699933f5463dd085a6a443d195101f6988524a8f198e6fa51e0c06a765246163b0dae8fc3251c0ae8fe6e8e3254a183b8820915323d9596
+DIST firefox-130.0-nn-NO.xpi 619760 BLAKE2B 
6842c61bff3b1b4d77d18b5859a5c87c065eae7ca91de375841e1898abc996f1d07242efe9406f8a2af39993b071e91aff221e4f379809122950a0589f143736
 SHA512 
208a4f8a5d5820afc8fb8f511c6f21a8afb37e9952ecf1bb54539ffcc9e71bc0ccb1fa0edea662d7704cc3bd0d833084694cf24fde633199c1d1c97a4b28d565
+DIST firefox-130.0-oc.xpi 616652 BLAKE2B 
561b30e0fb9fcde1a727deccea6159c65325806ee8ab1a9289597f47141bdc7797fdefeff85b342d2540e43c96c92da1bdb5395f9776632f27a7f43764595d6b
 SHA512 
b2699b1c228c4052c14f7ee6ca5444a7edf09ce211e2fb402cd0adf25ca3396f4651e76e8577f21c3c1ae93f676c113300bf66f2b69f8bf6f1c943e766a7964b
+DIST firefox-130.0-pa-IN.xpi 700426 BLAKE2B 
67a4dcbd8f441b66d93be4e6df5b74d8498662bad215e176e89167496e45b939d7cf27558af8e88d9b39d149a5023f10256928c8faada35c7337b443e1d4d266
 SHA512 
4da381e49070e34b493a9988636726abec70ac0f953b005bc5af6a09b87e5a53de6e2cde80342ff7a45ac1d762f4328a40c198531500c150cf8f0ac16fdb162f
+DIST firefox-130.0-pl.xpi 646166 BLAKE2B 
0b20b78f961286c1e076814bae8787f83da22d804800e4d4ad42343828dfb18b99b84f00da466afd955e27fd7fd721057a3d029a42dc83f8fc1b0c9bf8e4b776
 SHA512 
0f76c97a1f1a32ffd14cb04cf4cedce4f79729550345a5e104d550f9fcf0c5f297422030f08f9cc484b8a535e7f99acfd22744dd00c577601d5203319180ad78
+DIST firefox-130.0-pt-BR.xpi 631644 BLAKE2B 
2242f5194f688829a561c14a08a69f5864277ea19fc4841f7926ad8a492a31e4074bd85b7f817e97259155d50532eba9ae6ea8e233e9702c4f5f2636c2554e9a
 SHA512 
cf1702e44f04dd55528a7c1836b10add2645b49d91993bc310e944ce8238e13e85eb1d6e614e8d4520111e83eda440cc7f9a9f7d6dc44f4b0e973958a8283aec
+DIST firefox-130.0-pt-PT.xpi 638061 BLAKE2B 
1eb8f9f7e0acacee3f082b4e59df548e0e6e810e29647790746cba870b802350cdb027b6fbbf482f0e853fa100cdc83be8a2a8bb9cc8abdd07d636ea4d7e9cf7
 SHA512 
95a80d9a0beea19cdf9e03722478ff19338d3dfb4d0120996e64d45b995d38ee4ff996b0e679a515760bab40f951c4d95a27933e8f471dbb8d4c6d0d24467e6b
+DIST firefox-130.0-rm.xpi 621691 BLAKE2B 
66ad61d372c27e92afaed099a91d56d2afd2917975875a6cc857fbe137b420112fc3f2d4ce8900e21b307fe458ce6161a31ce9f54a97c8261b942cb51ae9b223
 SHA512 
139d007e141f5413e2fe99e6cbadc5d33c0e0564c46f131bcfcea5c52c457c6eef586ca9e59094b331432406aa03b2ffa89566388cd518d452ec6a5b494776b3
+DIST firefox-130.0-ro.xpi 553440 BLAKE2B 
f1968e97c24696e6a0b703bb0ae3a9331e2480dd31729f8d434f86b4fb494be36640146b2b371a601525fb054929e37690e42e6a2a4cd495c6a02aecfec11bd0
 SHA512 
b52c94c18cf2a6c17f1dff8dd4aec8164a39343ac7dd5cec8154c78564774496a54e8a042e2b9d9914ddb8b9d7f6f9ce081f755e7c8a9ed4e3ca69f1b28c560a
+DIST firefox-130.0-ru.xpi 731292 BLAKE2B 
f20bbf1f071ea412f722685c332e79e2b548b3209321b221064d5204f069a35333503fa2cf8ab9e5565b0b051fadeb14aed140b3cfa7a39c3e306e40a64eeb19
 SHA512 
5d990242166c8bccd2a09104149a791ccf57426b580cd15a7941f3c3baeea01ebaa3e48027b64621ebce8a4e2c790e96a6336d44ffd877e497b7ad5851c9c61c
+DIST firefox-130.0-sc.xpi 593199 BLAKE2B 
51c2ed44181311a49fbbac2a40dca7553b8c86e85da4e2baf7f1c3d039bec7e563751d2ec2cb2c331990a75ba07ff79aa4785bac074e168afb3c0bd6a6902ab9
 SHA512 
2ea46cefc38117addcbba10c7bbc0fd425da593b16206e9113899b6fd0fa7a0fc90e8eb8d7c761d7f6f75b6908d92b885127eb3e1cc3494b422a57765d8c9c4f
+DIST firefox-130.0-sco.xpi 514799 BLAKE2B 
5edc89b5e4001060e6b6aecd2d1b23829b0c690f0f6a0136ba18ae9b487c6bd95754c714c2dcde3822dd90f3c9c615ee3dbc7894cfe079dbb87e8e9112760f47
 SHA512 
e44b7888aa59f27d3146fba77a2b3c3b62251de526087c61a484469f89034250595f302eaa3c44adf192cd4b1278e8cc2960f9f925e5188d496bf79928d7094c
+DIST firefox-130.0-si.xpi 616762 BLAKE2B 
1914782938cf618ba70a7e17cecc5bb8bedfda30eb3506805a09804b4ab6a014b19d5b2789bb013f0aa7e04db74fa156306315068424edb1b28ac83cf87a379c
 SHA512 
fc94c1b1580e37ad0ca055379ccf8d7bb4cd9997ec88b8343b957843537c9fe65cc72d656fe19e24ddd16cd87d7b15f30fc54415d78ce409c11e109f4e70f462
+DIST firefox-130.0-sk.xpi 662602 BLAKE2B 
1c0facd7168cb5202b47ebeb57a43bbfe9104a187602140ecac97737bedbf4d8ccd7737556dbfaea6f07caa4b11c4b6fda01ff6d170c529d8883216949a1eecb
 SHA512 
4f2fa2717854baa9922f4887fc95fdb44eb4ab50e473c0644a1e72bda2bbbaea35d3996b87f719aba40d960c6297facafd24dacea8bfa1f425bbf89c5bc00017
+DIST firefox-130.0-skr.xpi 716710 BLAKE2B 
728373d6fb77bc78fc03112ba4a55debae5a70abd907a3fa5e6bea457bc1258609021840041a298617fef22acf2376d384e536c71ee976ae57745350528d9b69
 SHA512 
e2c2f20c52a1dffb70c6a576cf5ac5bc03fbc44f1d7cf401bb8322ef6a2dd8a2fd315a61532f5ba72709d9c7b48911a54d48e9e6656e2ec7143a9e0882cd8192
+DIST firefox-130.0-sl.xpi 626607 BLAKE2B 
86ff57b1255e6d513d1ba5ac0af9ca167c0d1db940e93a8a212ba6776e14f37d14cc30ad6420adeb55f690f8f9bfc01ffd1a07675fcb90d36c2d45c5c9b2fe14
 SHA512 
b8d52b5c1bde1991e3ba0234e92fa0a1fd6e0cab7e4d98b4925e3f28a0b698b227fb5b27256a1f2d40e38242bb639b0cbddd3199e11eb9bb5a175e689834decd
+DIST firefox-130.0-son.xpi 419745 BLAKE2B 
2a1de367402e31dc82cf44abd53d472fa0a9792af15c05fedb2257253e9d018364eb0ccb314ab5221607d61a7f929be94a56a3cfefb33d26b8f43f03982f8d40
 SHA512 
33f1b40014bba606fb16f6162ad667daf19a3452a20dda6037210637ed94bb339bbdb7b1265421c96715fc93dcad2473e7ca19b79337d3d87bcff351bd9e0388
+DIST firefox-130.0-sq.xpi 641275 BLAKE2B 
e63e57573290a34186c19d13b48406cf50bbf61326ebd727bfb418838068120b5d2c0c3375b3cca21f1686efefc813df3cceacaddafd71c0cae87cd7d3baa3d3
 SHA512 
430bb8719aae32a86f95247b8f344f3505e0c45093b13a0c0978a4c3875dfd59ad9af155f0773e4990f12432e52bb0f1b94fce281f9f39bb079acba5fc9c4fad
+DIST firefox-130.0-sr.xpi 643275 BLAKE2B 
8223f10628f781d50dc72f675bc60a65d1a0c1255f73ac2fd5ef5af5cf4831a1ecebd2ebfb4306a3f1fb9233ced28754710cee842ee1bbcb7dbe46a7818c0a55
 SHA512 
a4750b343be3562c1f84f8bca18e08708931031cdbb2a074c08f5ca753ad1c89e261b62b087cc2e84d4f257716b57ad2b77b56df62e77ee8ecba86946b0cd2c8
+DIST firefox-130.0-sv-SE.xpi 628348 BLAKE2B 
c53191ae72b267fd7f3c8259ac1afbe462f51065b6314a408ba3ec04b468d02c6afa43823b275e4e75d72d27f9e1a65ba703af33d508a486c15783b3ae92e704
 SHA512 
f53b86c79e64c376e1c97cd084cad971ae46bdb7c968dc05de6c3e24a5ebb870e898d7249e8f47e02a69d0e28e2c8bbe66aa3f5f88d71f8acba81f5c8de28868
+DIST firefox-130.0-szl.xpi 529951 BLAKE2B 
00cca4ba24c734cfef11b292358adcb93a5084dd8b9382890660d22a686c62906bf1ec33b1cfbdb57de236590e5a90a68eec51c7e6345c843fd09058d508f1e6
 SHA512 
e2ff0b5914459a700c4543cf3b93c0b1484e6a3726bec21a2d92efa9d442241a5a3b2f07d363131e21b6e9f3377725d5bc22877a5617e2450d4d33614a821914
+DIST firefox-130.0-ta.xpi 510639 BLAKE2B 
a6c019e31e9b02cd9f9efe420409a3d86e153f98d16cbdaf5ce1968b42cd834f6de76f5b8b69c13a62f025b0856d38ee1cb979cdecfbfe6168057152adbdb004
 SHA512 
158e561f752d6e6318d2eb8ea41d4d5cbbb917dccab20850f1181b8c71795e8baf6ef30b53bec2b79dfff5b59f79ff71e24240e1b2487750a245883cde2afce8
+DIST firefox-130.0-te.xpi 564569 BLAKE2B 
184ec5bb41ce4ee9237ceadc4fea7c842a5850c94b981bf9631f21e81eb63ed1ed77646afeffe115e38f9902d1b4ba366b2b8c0500c26b55e71d1ff37a782865
 SHA512 
3318abc55b92bbad2fcab84ba7e40f86fd9824183ad9d46055a652862725da9217ccc2ea7c0cbc44be7f6bbc98beae3414f72ecf1bd7468439dca87d291cbf80
+DIST firefox-130.0-th.xpi 701822 BLAKE2B 
fd4b959a9f68aede585144f89413603e6011ceb454aee6860cf4a9855b1bd2f6bb30887d6786d5807e7a8abfd55a483e39097a8894f82cda646b3c8a7580e97c
 SHA512 
0838e90bb21340492be3d4f50b0e974f24cd638b608c94e0e82f4ab66ec9beb14f055558a714ccff6956ea041e34fdda94abd918aef849909163fddf3b96b5c1
+DIST firefox-130.0-tl.xpi 537784 BLAKE2B 
08d43275933153f8f360c5285e3feadfa36e67b98d8fae15673053a95aeef127a8f20a6ca99e0005b12586c9178c3d265b9c85299ed4a8440d1b3eb0a1603ec7
 SHA512 
b04340a362674f0a2e53e4625644236e3c94ef6f1d6bcd7c94d47055ae0d63ec09f25c4a7a8127e5fcd6f35f71df53eaad290cbd99b0a5af0545863f8c44ce18
+DIST firefox-130.0-tr.xpi 641729 BLAKE2B 
2b51eb152f5c23abd612e42c43e15429485d1208ef824ead2366ea5163788c307ba1d981746e7de3daedab0a5f10b9f58f3b67b0c6408b30680c972f643ea5b0
 SHA512 
e4f47ebc42621e25a11dc7a8a19f4df55659e4471fda3bd5ba0e857b442f259f7b8d7f85c33372e3addc0bebe351acb03731e9e1e7547aa5ef65b5f9529b5350
+DIST firefox-130.0-trs.xpi 507730 BLAKE2B 
371d4c85400cfb77a7faa1a8235d313b04f6c17a7ff5712de3ba3dc180e67956aca998fc7805bf707e32c7d23a6b33462e38d346b03f5b175d82f834c9567f09
 SHA512 
53563389a3d01553ac24fde65aa550782de0a9ea1d724a3c01f6ed2972a8807506d596b4deb76114edb1ebd72ff84778ee88b50817f98e1a030f01dbf74efa9c
+DIST firefox-130.0-uk.xpi 714781 BLAKE2B 
60ef280e07396f7a0aba46f59901bb126bdb460b5e68a698f114d29743ffdbb2527b51e1b4b86666b71b7ff86efe3fbbc4df07ed6601b10f0a60dd71da54e7bd
 SHA512 
04f69c1b24659002090a10c43174af53c7eda040695c58f94a66fcdac1262b0a5e29cba2a09457df704593f4ee9b7f2d2f15ad37fcafbd9685d22796f635aea9
+DIST firefox-130.0-ur.xpi 563621 BLAKE2B 
45d889cd92edb3da5e3c2eb2077c6c3dce26a27beb97c1c1ae2ee67ebc58119772295d2294efe52b76427c72bd423ed5c83025dcee22c7a152a821efa5cf13a0
 SHA512 
3e5d3e82d9d99d9ae09f45fd141a46e48e52bc7346ca8e85e6bd81f1f86970777b235c63fa1e4434dc646e2c37d37510d40e6ed7e60f530cf22fc23262cc9a70
+DIST firefox-130.0-uz.xpi 482284 BLAKE2B 
1d8b8562e01cbaafe9bf7cbd8300155de2c62259b2653b20502dcfb667c5353694e48d17d6a3a3fdb9581ef6b89a5e27262aa275b18500acc870e9faca674b31
 SHA512 
a7bad28238ca918cd1c340334f8c380d900d9c9da6ee627ab10e598bef27774e67ae4760a11ece7b7214f6c08c4802fb00d706aa7a261476d86232e0208a4a60
+DIST firefox-130.0-vi.xpi 666085 BLAKE2B 
b80be3d3c30aec668164abe5461677aaead06a6e59c121a3c80a27a492f838beb14f90f73d2dfb466d054b81f38279ca062f0e8019abab283b8f921d889b2884
 SHA512 
7ae3ac4d3b546649acf380312b9b0214da192cb160cbf3814f37fef6288f445ee4ad97dc6048b44630b8e8e53712fc25c03ffcf4f7ea721728367f45dae96f33
+DIST firefox-130.0-xh.xpi 420486 BLAKE2B 
953135839c7a648b4b02459ceb47bfd6e7bf62a357eea4c7fe976409a6779199ba719c0cca662fac1d8fbc2865e5e529d7c656088a6509c072b52343170fb1bc
 SHA512 
1cabec451c045df427d8b2dca6829f098ab99a4f7eb28c3e53b6a36b556b4f7471f9e7c3d4e991a03c0a925361a15897976c156eb5a9c8add1a325046f6227e0
+DIST firefox-130.0-zh-CN.xpi 667377 BLAKE2B 
a8ce2ee629c30204726f4e790310180bd2c31866adeb6a25d9e28f48e97dc7f27d9f9b3109e482ac08cfe98316fe9344515054151b3c3d37eee3a6058c0327d4
 SHA512 
a38673a73056f3ebc301f8cfb2c9fd8e5d764b9224294aab42c3b654dda95bc811a9ee9b1ed707072b39222b05c49deb019a8f51abe135ba9b26f800c928fd39
+DIST firefox-130.0-zh-TW.xpi 669293 BLAKE2B 
8743ecdfa6fff21ba6d1c199bb24fca9b753b874e905a84ce805aa7a3e10d1871c22e119ab46b452be2c55cafdef9e8ba8a90e261078b0451ba3cb2e9054645e
 SHA512 
6d12d92f82a7434bc7ffe3d0ab6e706ef230cb31b7889c8b0b4312f3cd0f4712ce59e4b576802b79d5bef552d3c07539d27394288c0f6e0e54998a55f44a62d3
+DIST firefox-130.0.source.tar.xz 568295588 BLAKE2B 
9c7dfc43145e442d60f6971806848e4ecd0145713e31105da6bd13a82a50655f5c4095beff4d61505e26e188b60f49b16dc17fb42dc03a9fb9ef509a7010b0ab
 SHA512 
d0d11b38d9e02fa15298ec13336bb086668b4f36b3ce9ced218a265327fd4822b9fea4303402631947ea3c20490c414de87f8df3e7c23d2e02b70f0456b9af40

diff --git a/www-client/firefox/firefox-130.0.ebuild 
b/www-client/firefox/firefox-130.0.ebuild
new file mode 100644
index 000000000000..52a69fea3f84
--- /dev/null
+++ b/www-client/firefox/firefox-130.0.ebuild
@@ -0,0 +1,1365 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-130-patches-01.tar.xz"
+
+LLVM_COMPAT=( 17 18 )
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="manual"
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+       MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+       # Convert the ebuild version to the upstream Mozilla version
+       MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+       MOZ_PV="${MOZ_PV/_beta/b}"  # Handle beta for SRC_URI
+       MOZ_PV="${MOZ_PV%%_rc*}"    # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+       # ESR releases have slightly different version numbers
+       MOZ_PV="${MOZ_PV}esr"
+       HOMEPAGE="https://www.mozilla.com/firefox 
https://www.mozilla.org/firefox/enterprise/";
+       SLOT="esr"
+else
+       HOMEPAGE="https://www.mozilla.com/firefox";
+       SLOT="rapid"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info 
llvm-r1 multiprocessing \
+       optfeature pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs 
virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}";
+
+if [[ ${PV} == *_rc* ]] ; then
+       
MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}";
+fi
+
+PATCH_URIS=(
+       https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+DESCRIPTION="Firefox Web Browser"
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> 
${MOZ_P_DISTFILES}.source.tar.xz
+       ${PATCH_URIS[@]}"
+S="${WORKDIR}/${PN}-${PV%_*}"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel jack 
+jumbo-build libproxy lto"
+IUSE+=" openh264 pgo pulseaudio sndio selinux +system-av1 +system-harfbuzz 
+system-icu"
+IUSE+=" +system-jpeg +system-libevent +system-libvpx system-png +system-webp 
+telemetry valgrind"
+IUSE+=" wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" +gmp-autoupdate"
+
+REQUIRED_USE="|| ( X wayland )
+       debug? ( !system-av1 )
+       pgo? ( lto )
+       wayland? ( dbus )
+       wifi? ( dbus )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+       selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+       $(llvm_gen_dep '
+               sys-devel/clang:${LLVM_SLOT}
+               sys-devel/llvm:${LLVM_SLOT}
+               clang? (
+                       sys-devel/lld:${LLVM_SLOT}
+                       virtual/rust:0/llvm-${LLVM_SLOT}
+               )
+               pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] )
+       ')
+       app-alternatives/awk
+       app-arch/unzip
+       app-arch/zip
+       >=dev-util/cbindgen-0.26.0
+       net-libs/nodejs
+       virtual/pkgconfig
+       !clang? ( >=virtual/rust-1.76 )
+       !elibc_glibc? ( dev-lang/rust )
+       amd64? ( >=dev-lang/nasm-2.14 )
+       x86? ( >=dev-lang/nasm-2.14 )
+       pgo? (
+               X? (
+                       sys-devel/gettext
+                       x11-base/xorg-server[xvfb]
+                       x11-apps/xhost
+               )
+               !X? (
+                       || (
+                               gui-wm/tinywl
+                               <gui-libs/wlroots-0.17.3[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.103
+       >=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:2
+       x11-libs/pango
+       x11-libs/pixman
+       dbus? (
+               sys-apps/dbus
+       )
+       jack? ( virtual/jack )
+       pulseaudio? (
+               || (
+                       media-libs/libpulse
+                       >=media-sound/apulse-0.1.12-r4[sdk]
+               )
+       )
+       libproxy? ( net-libs/libproxy )
+       selinux? ( sec-policy/selinux-mozilla )
+       sndio? ( >=media-sound/sndio-1.8.0-r1 )
+       system-av1? (
+               >=media-libs/dav1d-1.0.0:=
+               >=media-libs/libaom-1.0.0:=
+       )
+       system-harfbuzz? (
+               >=media-gfx/graphite2-1.3.13
+               >=media-libs/harfbuzz-2.8.1:0=
+       )
+       system-icu? ( >=dev-libs/icu-73.1:= )
+       system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= )
+       system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] )
+       system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+       system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+       system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+       valgrind? ( dev-debug/valgrind )
+       wayland? (
+               >=media-libs/libepoxy-1.5.10-r1
+               x11-libs/gtk+:3[wayland]
+       )
+       wifi? (
+               kernel_linux? (
+                       || (
+                               net-misc/networkmanager
+                               net-misc/connman[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/libXrandr
+               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
+       )"
+
+# ESR and rapid dependencies.
+if [[ -n ${MOZ_ESR} ]] ; then
+       RDEPEND+=" !www-client/firefox:rapid"
+else
+       RDEPEND+=" !www-client/firefox:esr"
+fi
+
+# 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!" >&2
+                               einfo "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+=( skr )
+MOZ_LANGS+=( son )
+MOZ_LANGS+=( szl )
+MOZ_LANGS+=( ta )
+MOZ_LANGS+=( te )
+MOZ_LANGS+=( tl )
+MOZ_LANGS+=( trs )
+MOZ_LANGS+=( ur )
+MOZ_LANGS+=( xh )
+
+mozilla_set_globals() {
+       # https://bugs.gentoo.org/587334
+       local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+               fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+       )
+
+       local lang xflag
+       for lang in "${MOZ_LANGS[@]}" ; do
+               # en and en_US are handled internally
+               if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+                       continue
+               fi
+
+               # strip region subtag if $lang is in the list
+               if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+                       xflag=${lang%%-*}
+               else
+                       xflag=${lang}
+               fi
+
+               SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+               SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> 
${MOZ_P_DISTFILES}-${lang}.xpi"
+               SRC_URI+=" )"
+               IUSE+=" l10n_${xflag/[_@]/-}"
+       done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -ne 1 ]] ; then
+               die "${FUNCNAME} requires exact one argument"
+       fi
+
+       einfo "Clearing cargo checksums for ${1} ..."
+
+       sed -i \
+               -e 's/\("files":{\)[^}]*/\1/' \
+               "${S}"/third_party/rust/${1}/.cargo-checksum.json || die
+}
+
+moz_install_xpi() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local DESTDIR=${1}
+       shift
+
+       insinto "${DESTDIR}"
+
+       local emid xpi_file xpi_tmp_dir
+       for xpi_file in "${@}" ; do
+               emid=
+               xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+               # Unpack XPI
+               unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+               # Determine extension ID
+               if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+                       emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; 
s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+                       [[ -z "${emid}" ]] && die "failed to determine 
extension id from install.rdf"
+               elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+                       emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' 
"${xpi_tmp_dir}/manifest.json")
+                       [[ -z "${emid}" ]] && die "failed to determine 
extension id from manifest.json"
+               else
+                       die "failed to determine extension id"
+               fi
+
+               einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+               newins "${xpi_file}" "${emid}.xpi"
+       done
+}
+
+mozconfig_add_options_ac() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local reason=${1}
+       shift
+
+       local option
+       for option in ${@} ; do
+               echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+       done
+}
+
+mozconfig_add_options_mk() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local reason=${1}
+       shift
+
+       local option
+       for option in ${@} ; do
+               echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+       done
+}
+
+mozconfig_use_enable() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 1 ]] ; then
+               die "${FUNCNAME} requires at least one arguments"
+       fi
+
+       local flag=$(use_enable "${@}")
+       mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" 
"${flag}"
+}
+
+mozconfig_use_with() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 1 ]] ; then
+               die "${FUNCNAME} requires at least one arguments"
+       fi
+
+       local flag=$(use_with "${@}")
+       mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" 
"${flag}"
+}
+
+virtwl() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
+       [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to 
be set; try xdg_environment_reset"
+       tinywl -h >/dev/null || die 'tinywl -h failed'
+
+       local VIRTWL VIRTWL_PID
+       coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo 
$WAYLAND_DISPLAY; read _; kill $PPID'; }
+       local -x WAYLAND_DISPLAY
+       read WAYLAND_DISPLAY <&${VIRTWL[0]}
+
+       debug-print "${FUNCNAME}: $@"
+       "$@"
+       local r=$?
+
+       [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+       exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+       return $r
+}
+
+pkg_pretend() {
+       if [[ ${MERGE_TYPE} != binary ]] ; then
+               if use pgo ; then
+                       if ! has usersandbox $FEATURES ; then
+                               die "You must enable usersandbox as X server 
can not run as root!"
+                       fi
+               fi
+
+               # Ensure we have enough disk space to compile
+               if use pgo || use lto || use debug ; then
+                       CHECKREQS_DISK_BUILD="13500M"
+               else
+                       CHECKREQS_DISK_BUILD="6600M"
+               fi
+
+               check-reqs_pkg_pretend
+       fi
+}
+
+pkg_setup() {
+       if [[ ${MERGE_TYPE} != binary ]] ; then
+               if use pgo ; then
+                       if ! has userpriv ${FEATURES} ; then
+                               eerror "Building ${PN} with USE=pgo and 
FEATURES=-userpriv is not supported!"
+                       fi
+               fi
+
+               # Ensure we have enough disk space to compile
+               if use pgo || use lto || use debug ; then
+                       CHECKREQS_DISK_BUILD="13500M"
+               else
+                       CHECKREQS_DISK_BUILD="6400M"
+               fi
+
+               check-reqs_pkg_setup
+
+               llvm-r1_pkg_setup
+
+               if use clang && use lto && tc-ld-is-lld ; then
+                       local version_lld=$(ld.lld --version 2>/dev/null | awk 
'{ print $2 }')
+                       [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 
"${version_lld}")
+                       [[ -z ${version_lld} ]] && die "Failed to read ld.lld 
version!"
+
+                       local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep 
-F -- 'LLVM version:' | awk '{ print $3 }')
+                       [[ -n ${version_llvm_rust} ]] && 
version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+                       [[ -z ${version_llvm_rust} ]] && die "Failed to read 
used LLVM version from rustc!"
+
+                       if ver_test "${version_lld}" -ne "${version_llvm_rust}" 
; then
+                               eerror "Rust is using LLVM version 
${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+                               eerror "You will be unable to link 
${CATEGORY}/${PN}. To proceed you have the following options:"
+                               eerror "  - Manually switch rust version using 
'eselect rust' to match used LLVM version"
+                               eerror "  - Switch to 
dev-lang/rust[system-llvm] which will guarantee matching version"
+                               eerror "  - Build ${CATEGORY}/${PN} without 
USE=lto"
+                               eerror "  - Rebuild lld with llvm that was used 
to build rust (may need to rebuild the whole "
+                               eerror "    llvm/clang/lld/rust chain depending 
on your @world updates)"
+                               die "LLVM version used by Rust 
(${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+                       fi
+               fi
+
+               python-any-r1_pkg_setup
+
+               # Avoid PGO profiling problems due to enviroment leakage
+               # These should *always* be cleaned up anyway
+               unset \
+                       DBUS_SESSION_BUS_ADDRESS \
+                       DISPLAY \
+                       ORBIT_SOCKETDIR \
+                       SESSION_MANAGER \
+                       XAUTHORITY \
+                       XDG_CACHE_HOME \
+                       XDG_SESSION_COOKIE
+
+               # Build system is using /proc/self/oom_score_adj, bug #604394
+               addpredict /proc/self/oom_score_adj
+
+               if use pgo ; then
+                       # Update 105.0: "/proc/self/oom_score_adj" isn't enough 
anymore with pgo, but not sure
+                       # whether that's due to better OOM handling by Firefox 
(bmo#1771712), or portage
+                       # (PORTAGE_SCHEDULING_POLICY) update...
+                       addpredict /proc
+
+                       # Clear tons of conditions, since PGO is 
hardware-dependant.
+                       addpredict /dev
+               fi
+
+               if ! mountpoint -q /dev/shm ; then
+                       # If /dev/shm is not available, configure is known to 
fail with
+                       # a traceback report referencing 
/usr/lib/pythonN.N/multiprocessing/synchronize.py
+                       ewarn "/dev/shm is not mounted -- expect build 
failures!"
+               fi
+
+               # Google API keys (see 
http://www.chromium.org/developers/how-tos/api-keys)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+                       
MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+               fi
+
+               if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+                       
MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+               fi
+
+               # Mozilla API keys (see 
https://location.services.mozilla.com/api)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+                       
MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+               fi
+
+               # Ensure we use C locale when building, bug #746215
+               export LC_ALL=C
+       fi
+
+       CONFIG_CHECK="~SECCOMP"
+       WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to 
play DRM-protected content."
+       linux-info_pkg_setup
+}
+
+src_unpack() {
+       local _lp_dir="${WORKDIR}/language_packs"
+       local _src_file
+
+       if [[ ! -d "${_lp_dir}" ]] ; then
+               mkdir "${_lp_dir}" || die
+       fi
+
+       for _src_file in ${A} ; do
+               if [[ ${_src_file} == *.xpi ]]; then
+                       cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die 
"Failed to copy '${_src_file}' to '${_lp_dir}'!"
+               else
+                       unpack ${_src_file}
+               fi
+       done
+}
+
+src_prepare() {
+       if use lto; then
+               rm -v 
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+       fi
+
+       # Workaround for bgo#917599
+       if has_version ">=dev-libs/icu-74.1" && use system-icu ; then
+               eapply 
"${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch
+       fi
+       rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || 
die
+
+       # Workaround for bgo#915651 on musl
+       if use elibc_glibc ; then
+               rm -v 
"${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+       fi
+
+       eapply "${WORKDIR}/firefox-patches"
+
+       # Allow user to apply any additional patches without modifing ebuild
+       eapply_user
+
+       # Make cargo respect MAKEOPTS
+       export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+       # Workaround for bgo#915651
+       if ! use elibc_glibc ; then
+               if use amd64 ; then
+                       export RUST_TARGET="x86_64-unknown-linux-musl"
+               elif use x86 ; then
+                       export RUST_TARGET="i686-unknown-linux-musl"
+               elif use arm64 ; then
+                       export RUST_TARGET="aarch64-unknown-linux-musl"
+               elif use ppc64 ; then
+                       export RUST_TARGET="powerpc64le-unknown-linux-musl"
+               else
+                       die "Unknown musl chost, please post your rustc -vV 
along with emerge --info on Gentoo's bug #915651"
+               fi
+       fi
+
+       # Make LTO respect MAKEOPTS
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/build/moz.configure/lto-pgo.configure || die "Failed 
sedding multiprocessing.cpu_count"
+
+       # Make ICU respect MAKEOPTS
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/intl/icu_sources_data.py || die "Failed sedding 
multiprocessing.cpu_count"
+
+       # Respect MAKEOPTS all around (maybe some find+sed is better)
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding 
multiprocessing.cpu_count"
+
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py 
|| die "Failed sedding multiprocessing.cpu_count"
+
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               
"${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py ||
+                       die "Failed sedding multiprocessing.cpu_count"
+
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed 
sedding multiprocessing.cpu_count"
+
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py 
|| die "Failed sedding multiprocessing.cpu_count"
+
+       # sed-in toolchain prefix
+       sed -i \
+               -e "s/objdump/${CHOST}-objdump/" \
+               "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py 
|| die "sed failed to set toolchain prefix"
+
+       sed -i \
+               -e 's/ccache_stats = None/return None/' \
+               "${S}"/python/mozbuild/mozbuild/controller/building.py || die 
"sed failed to disable ccache stats call"
+
+       einfo "Removing pre-built binaries ..."
+
+       find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) 
-print -delete || die
+
+       # Clear checksums from cargo crates we've manually patched.
+       # moz_clear_vendor_checksums xyz
+
+       # Respect choice for "jumbo-build"
+       # Changing the value for FILES_PER_UNIFIED_FILE may not work, see 
#905431
+       if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then
+               local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16}
+               elog ""
+               elog "jumbo-build defaults modified to 
${my_files_per_unified_file}."
+               elog "if you get a build failure, try undefining 
FILES_PER_UNIFIED_FILE,"
+               elog "if that fails try -jumbo-build before opening a bug 
report."
+               elog ""
+
+               sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 
16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \
+                       python/mozbuild/mozbuild/frontend/data.py ||
+                               die "Failed to adjust FILES_PER_UNIFIED_FILE in 
python/mozbuild/mozbuild/frontend/data.py"
+               sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE 
= "${my_files_per_unified_file}"/" \
+                       js/src/moz.build ||
+                               die "Failed to adjust FILES_PER_UNIFIED_FILE in 
js/src/moz.build"
+       fi
+
+       # Create build dir
+       BUILD_DIR="${WORKDIR}/${PN}_build"
+       mkdir -p "${BUILD_DIR}" || die
+
+       # Write API keys to disk
+       echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+       echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || 
die
+       echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+       xdg_environment_reset
+}
+
+src_configure() {
+       # Show flags set at the beginning
+       einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+       einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+       einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+       einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+       einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+       local have_switched_compiler=
+       if use clang; then
+               # Force clang
+               einfo "Enforcing the use of clang due to USE=clang ..."
+
+               local version_clang=$(clang --version 2>/dev/null | grep -F -- 
'clang version' | awk '{ print $3 }')
+               [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 
"${version_clang}")
+               [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+               if tc-is-gcc; then
+                       have_switched_compiler=yes
+               fi
+
+               AR=llvm-ar
+               CC=${CHOST}-clang-${version_clang}
+               CXX=${CHOST}-clang++-${version_clang}
+               NM=llvm-nm
+               RANLIB=llvm-ranlib
+       elif ! use clang && ! tc-is-gcc ; then
+               # Force gcc
+               have_switched_compiler=yes
+               einfo "Enforcing the use of gcc due to USE=-clang ..."
+               AR=gcc-ar
+               CC=${CHOST}-gcc
+               CXX=${CHOST}-g++
+               NM=gcc-nm
+               RANLIB=gcc-ranlib
+       fi
+
+       if [[ -n "${have_switched_compiler}" ]] ; then
+               # Because we switched active compiler we have to ensure
+               # that no unsupported flags are set
+               strip-unsupported-flags
+       fi
+
+       # Ensure we use correct toolchain,
+       # AS is used in a non-standard way by upstream, #bmo1654031
+       export HOST_CC="$(tc-getBUILD_CC)"
+       export HOST_CXX="$(tc-getBUILD_CXX)"
+       export AS="$(tc-getCC) -c"
+
+       # Configuration tests expect llvm-readelf output, bug 913130
+       READELF="llvm-readelf"
+
+       tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG
+
+       # Pass the correct toolchain paths through cbindgen
+       if tc-is-cross-compiler ; then
+               export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} 
--target=${CHOST} ${BINDGEN_CFLAGS-}"
+       fi
+
+       # Set MOZILLA_FIVE_HOME
+       export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+       # python/mach/mach/mixin/process.py fails to detect SHELL
+       export SHELL="${EPREFIX}/bin/bash"
+
+       # Set state path
+       export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+       # Set MOZCONFIG
+       export MOZCONFIG="${S}/.mozconfig"
+
+       # Initialize MOZCONFIG
+       mozconfig_add_options_ac '' --enable-application=browser
+       mozconfig_add_options_ac '' --enable-project=browser
+
+       # Set Gentoo defaults
+       if use telemetry; then
+               export MOZILLA_OFFICIAL=1
+       fi
+
+       mozconfig_add_options_ac 'Gentoo default' \
+               --allow-addon-sideload \
+               --disable-cargo-incremental \
+               --disable-crashreporter \
+               --disable-disk-remnant-avoidance \
+               --disable-geckodriver \
+               --disable-gpsd \
+               --disable-install-strip \
+               --disable-legacy-profile-creation \
+               --disable-parental-controls \
+               --disable-strip \
+               --disable-tests \
+               --disable-updater \
+               --disable-wmf \
+               --enable-negotiateauth \
+               --enable-new-pass-manager \
+               --enable-official-branding \
+               --enable-release \
+               --enable-system-ffi \
+               --enable-system-pixman \
+               --enable-system-policies \
+               --host="${CBUILD:-${CHOST}}" \
+               --libdir="${EPREFIX}/usr/$(get_libdir)" \
+               --prefix="${EPREFIX}/usr" \
+               --target="${CHOST}" \
+               --without-ccache \
+               --without-wasm-sandboxed-libraries \
+               --with-intl-api \
+               --with-libclang-path="$(llvm-config --libdir)" \
+               --with-system-nspr \
+               --with-system-nss \
+               --with-system-zlib \
+               --with-toolchain-prefix="${CHOST}-" \
+               --with-unsigned-addon-scopes=app,system \
+               --x-includes="${ESYSROOT}/usr/include" \
+               --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+       # Set update channel
+       local update_channel=release
+       [[ -n ${MOZ_ESR} ]] && update_channel=esr
+       mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+       if ! use x86 ; 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
+
+       if use hardened ; then
+               mozconfig_add_options_ac "+hardened" --enable-hardening
+               append-ldflags "-Wl,-z,relro -Wl,-z,now"
+
+               # Increase the FORTIFY_SOURCE value, #910071.
+               sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' 
"${S}"/build/moz.configure/toolchain.configure || die
+       fi
+
+       local myaudiobackends=""
+       use jack && myaudiobackends+="jack,"
+       use sndio && myaudiobackends+="sndio,"
+       use pulseaudio && myaudiobackends+="pulseaudio,"
+       ! use pulseaudio && myaudiobackends+="alsa,"
+
+       mozconfig_add_options_ac '--enable-audio-backends' 
--enable-audio-backends="${myaudiobackends::-1}"
+
+       mozconfig_use_enable wifi necko-wifi
+
+       ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' 
--disable-unified-build
+
+       if use X && use wayland ; then
+               mozconfig_add_options_ac '+x11+wayland' 
--enable-default-toolkit=cairo-gtk3-x11-wayland
+       elif ! use X && use wayland ; then
+               mozconfig_add_options_ac '+wayland' 
--enable-default-toolkit=cairo-gtk3-wayland-only
+       else
+               mozconfig_add_options_ac '+x11' 
--enable-default-toolkit=cairo-gtk3-x11-only
+       fi
+
+       # LTO is handled via configure
+       filter-lto
+
+       if use lto ; then
+               if use clang ; then
+                       # Upstream only supports lld or mold when using clang.
+                       if tc-ld-is-mold ; then
+                               # mold expects the -flto line from *FLAGS 
configuration, bgo#923119
+                               append-ldflags "-flto=thin"
+                               mozconfig_add_options_ac "using ld=mold due to 
system selection" --enable-linker=mold
+                       else
+                               mozconfig_add_options_ac "forcing ld=lld due to 
USE=clang and USE=lto" --enable-linker=lld
+                       fi
+
+                       mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+               else
+                       # ThinLTO is currently broken, see bmo#1644409.
+                       # mold does not support gcc+lto combination.
+                       mozconfig_add_options_ac '+lto' --enable-lto=full
+                       mozconfig_add_options_ac "linker is set to bfd" 
--enable-linker=bfd
+               fi
+
+               if use pgo ; then
+                       mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+                       if use clang ; then
+                               # Used in build/pgo/profileserver.py
+                               export LLVM_PROFDATA="llvm-profdata"
+                       fi
+               fi
+       else
+               # Avoid auto-magic on linker
+               if use clang ; then
+                       # lld is upstream's default
+                       if tc-ld-is-mold ; then
+                               mozconfig_add_options_ac "using ld=mold due to 
system selection" --enable-linker=mold
+                       else
+                               mozconfig_add_options_ac "forcing ld=lld due to 
USE=clang" --enable-linker=lld
+                       fi
+
+               else
+                       if tc-ld-is-mold ; then
+                               mozconfig_add_options_ac "using ld=mold due to 
system selection" --enable-linker=mold
+                       else
+                               mozconfig_add_options_ac "linker is set to bfd 
due to USE=-clang" --enable-linker=bfd
+                       fi
+               fi
+       fi
+
+       mozconfig_use_enable debug
+       if use debug ; then
+               mozconfig_add_options_ac '+debug' --disable-optimize
+               mozconfig_add_options_ac '+debug' --enable-jemalloc
+               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*'
+
+       # elf-hack
+       # Filter "-z,pack-relative-relocs" and let the build system handle it 
instead.
+       if use amd64 || use x86 ; then
+               filter-flags "-z,pack-relative-relocs"
+
+               if tc-ld-is-mold ; then
+                       # relr-elf-hack is currently broken with mold, 
bgo#916259
+                       mozconfig_add_options_ac 'disable elf-hack with mold 
linker' --disable-elf-hack
+               else
+                       mozconfig_add_options_ac 'relr elf-hack' 
--enable-elf-hack=relr
+               fi
+       elif use ppc64 || use riscv ; then
+               # '--disable-elf-hack' is not recognized on ppc64/riscv,
+               # see bgo #917049, #930046
+               :;
+       else
+               mozconfig_add_options_ac 'disable elf-hack on non-supported 
arches' --disable-elf-hack
+       fi
+
+       if ! use elibc_glibc; then
+               mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+       fi
+
+       if use valgrind; then
+               mozconfig_add_options_ac 'valgrind requirement' 
--disable-jemalloc
+       fi
+
+       # System-av1 fix
+       use system-av1 && append-ldflags "-Wl,--undefined-version"
+
+       # Allow elfhack to work in combination with unstripped binaries
+       # when they would normally be larger than 2GiB.
+       append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+       # Make revdep-rebuild.sh happy; Also required for musl
+       append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+       # Pass $MAKEOPTS to build system
+       export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+       # Use system's Python environment
+       export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+       export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+
+       if ! use telemetry; then
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_CRASHREPORTER=0"
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_DATA_REPORTING=0"
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_SERVICES_HEALTHREPORT=0"
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_TELEMETRY_REPORTING=0"
+       fi
+
+       # Disable notification when build system has finished
+       export MOZ_NOSPAM=1
+
+       # Portage sets XARGS environment variable to "xargs -r" by default which
+       # breaks build system's check_prog() function which doesn't support 
arguments
+       mozconfig_add_options_ac 'Gentoo default' 
"XARGS=${EPREFIX}/usr/bin/xargs"
+
+       # Set build dir
+       mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+       # Show flags we will use
+       einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+       einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+       einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+       einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+       einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+       # Handle EXTRA_CONF and show summary
+       local ac opt hash reason
+
+       # Apply EXTRA_ECONF entries to $MOZCONFIG
+       if [[ -n ${EXTRA_ECONF} ]] ; then
+               IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+               for opt in "${ac[@]}"; do
+                       mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+               done
+       fi
+
+       echo
+       echo "=========================================================="
+       echo "Building ${PF} with the following configuration"
+       grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+               [[ -z ${hash} || ${hash} == \# ]] \
+                       || die "error reading mozconfig: ${ac} ${opt} ${hash} 
${reason}"
+               printf "    %-30s  %s\n" "${opt}" "${reason:-mozilla.org 
default}"
+       done
+       echo "=========================================================="
+       echo
+
+       if use valgrind; then
+               sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g 
-O2"/' .mozconfig || die
+       fi
+
+       ./mach configure || die
+}
+
+src_compile() {
+       local virtx_cmd=
+
+       if tc-ld-is-mold && use lto; then
+               # increase ulimit with mold+lto, bugs #892641, #907485
+               if ! ulimit -n 16384 1>/dev/null 2>&1 ; then
+                       ewarn "Unable to modify ulimits - building with 
mold+lto might fail due to low ulimit -n resources."
+                       ewarn "Please see bugs #892641 & #907485."
+               else
+                       ulimit -n 16384
+               fi
+       fi
+
+       if use pgo; then
+               # Reset and cleanup environment variables used by GNOME/XDG
+               gnome2_environment_reset
+
+               addpredict /root
+
+               if ! use X; then
+                       virtx_cmd=virtwl
+               else
+                       virtx_cmd=virtx
+               fi
+       fi
+
+       if ! use X; then
+               local -x GDK_BACKEND=wayland
+       else
+               local -x GDK_BACKEND=x11
+       fi
+
+       ${virtx_cmd} ./mach build --verbose || die
+}
+
+src_install() {
+       # xpcshell is getting called during install
+       pax-mark m \
+               "${BUILD_DIR}"/dist/bin/xpcshell \
+               "${BUILD_DIR}"/dist/bin/${PN} \
+               "${BUILD_DIR}"/dist/bin/plugin-container
+
+       DESTDIR="${D}" ./mach install || die
+
+       # Upstream cannot ship symlink but we can (bmo#658850)
+       rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+       dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+       # Don't install llvm-symbolizer from sys-devel/llvm package
+       if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+               rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+       fi
+
+       # Install policy (currently only used to disable application updates)
+       insinto "${MOZILLA_FIVE_HOME}/distribution"
+       newins "${FILESDIR}"/distribution.ini distribution.ini
+       newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+       # Install system-wide preferences
+       local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+       insinto "${PREFS_DIR}"
+       newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+       local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+       # Set dictionary path to use system hunspell
+       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
spellchecker.dictionary_path pref"
+       pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+       EOF
+
+       # Force hwaccel prefs if USE=hwaccel is enabled
+       if use hwaccel ; then
+               cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
+               >>"${GENTOO_PREFS}" \
+               || die "failed to add prefs to force hardware-accelerated 
rendering to all-gentoo.js"
+
+               if use wayland; then
+                       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
hwaccel wayland prefs"
+                       pref("gfx.x11-egl.force-enabled", false);
+                       EOF
+               else
+                       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
hwaccel x11 prefs"
+                       pref("gfx.x11-egl.force-enabled", true);
+                       EOF
+               fi
+
+               # Install the vaapitest binary on supported arches (122.0 
supports all platforms, bmo#1865969)
+               exeinto "${MOZILLA_FIVE_HOME}"
+               doexe "${BUILD_DIR}"/dist/bin/vaapitest
+
+               # Install the v4l2test on supported arches (+ arm, + riscv64 
when keyworded)
+               if use arm64 ; then
+                       exeinto "${MOZILLA_FIVE_HOME}"
+                       doexe "${BUILD_DIR}"/dist/bin/v4l2test
+               fi
+       fi
+
+       if ! use gmp-autoupdate ; then
+               local plugin
+               for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+                       einfo "Disabling auto-update for ${plugin} plugin ..."
+                       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to 
disable autoupdate for ${plugin} media plugin"
+                       pref("media.${plugin}.autoupdate", false);
+                       EOF
+               done
+       fi
+
+       # Force the graphite pref if USE=system-harfbuzz is enabled, since the 
pref cannot disable it
+       if use system-harfbuzz ; then
+               cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
gfx.font_rendering.graphite.enabled pref"
+               sticky_pref("gfx.font_rendering.graphite.enabled", true);
+               EOF
+       fi
+
+       # Add telemetry config prefs, just in case something happens in future 
and telemetry build
+       # options stop working.
+       if ! use telemetry ; then
+               cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry 
prefs"
+               sticky_pref("toolkit.telemetry.dap_enabled", false);
+               pref("toolkit.telemetry.dap_helper", "");
+               pref("toolkit.telemetry.dap_leader", "");
+               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 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 exec_command="${PN}"
+       local icon="${PN}"
+       local use_wayland="false"
+
+       if [[ -n ${MOZ_ESR} ]] ; then
+               local desktop_filename="${PN}-esr.desktop"
+       else
+               local desktop_filename="${PN}.desktop"
+       fi
+
+       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 search provider for Gnome
+       insinto /usr/share/gnome-shell/search-providers/
+       doins 
browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini
+
+       insinto /usr/share/dbus-1/services/
+       doins 
browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service
+
+       sed -e "s/firefox.desktop/${desktop_filename}/g" \
+               -i 
"${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini"
 ||
+                       die "Failed to sed search-provider file."
+
+       # Install wrapper script
+       [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+       newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+       # Update wrapper
+       sed -i \
+               -e "s:@PREFIX@:${EPREFIX}/usr:" \
+               -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+               -e "s:@APULSELIB_DIR@:${apulselib}:" \
+               -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+               "${ED}/usr/bin/${PN}" || die
+
+       readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+       xdg_pkg_preinst
+
+       # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+       # does not need to be forced into the LD_LIBRARY_PATH
+       if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+               einfo "APULSE found; Generating library symlinks for sound 
support ..."
+               local lib
+               pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+               for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+                       # A quickpkg rolled by hand will grab symlinks as part 
of the package,
+                       # so we need to avoid creating them if they already 
exist.
+                       if [[ ! -L ${lib##*/} ]] ; then
+                               ln -s "${lib}" ${lib##*/} || die
+                       fi
+               done
+               popd &>/dev/null || die
+       fi
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+
+       if ! use gmp-autoupdate ; then
+               elog "USE='-gmp-autoupdate' has disabled the following plugins 
from updating or"
+               elog "installing into new profiles:"
+               local plugin
+               for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+                       elog "\t ${plugin}"
+               done
+               elog
+       fi
+
+       if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+               elog "Apulse was detected at merge time on this system and so 
it will always be"
+               elog "used for sound.  If you wish to use pulseaudio instead 
please unmerge"
+               elog "media-sound/apulse."
+               elog
+       fi
+
+       # bug 835078
+       if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
+               ewarn "You have nouveau drivers installed in your system and 
'hwaccel' "
+               ewarn "enabled for Firefox. Nouveau / your GPU might not 
support the "
+               ewarn "required EGL, so either disable 'hwaccel' or try the 
workaround "
+               ewarn "explained in https://bugs.gentoo.org/835078#c5 if 
Firefox crashes."
+       fi
+
+       readme.gentoo_print_elog
+
+       optfeature_header "Optional programs for extra features:"
+       optfeature "desktop notifications" x11-libs/libnotify
+       optfeature "fallback mouse cursor theme e.g. on WMs" 
gnome-base/gsettings-desktop-schemas
+       optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal
+       if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then
+               optfeature "hardware acceleration with NVIDIA cards" 
media-libs/nvidia-vaapi-driver
+       fi
+
+       if ! has_version "sys-libs/glibc"; then
+               elog
+               elog "glibc not found! You won't be able to play DRM content."
+               elog "See Gentoo bug #910309 or upstream bug #1843683."
+               elog
+       fi
+}

Reply via email to