summaryrefslogtreecommitdiff
path: root/www-client/firefox
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-09-03 12:28:20 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-09-03 12:28:20 +0100
commit3f559ef486314f9b3b48d48eb303d6be68463af9 (patch)
tree3b70212f31ce4d000911c001ce13363d0909dfd1 /www-client/firefox
parent20b6ab983b55b022c6e4af317154089e18ad41cb (diff)
gentoo auto-resync : 03:09:2024 - 12:28:20
Diffstat (limited to 'www-client/firefox')
-rw-r--r--www-client/firefox/Manifest103
-rw-r--r--www-client/firefox/firefox-130.0.ebuild1365
2 files changed, 1468 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 9b0db044c606..201b0151ffaa 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -414,8 +414,111 @@ 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
EBUILD firefox-115.13.0.ebuild 39935 BLAKE2B a5ee41ddf96552edc4a346c5cf261e2f1bace515df4c7ff962ef1a2a95cc65bc20d6b09d368fadd0ca2111c514f310ac91e56d49260ac99e320c6a0707406bf3 SHA512 9d6232a69adf9fda97441dd6e46f5263fff17e25be47f399454972d4d69a895ebd5f14e91109174af196c158019c4b23cafce9600eb6d6301b4aa84a67560ca3
EBUILD firefox-115.14.0.ebuild 39936 BLAKE2B e32793dacc694d457ea7306eeb4493e0d8c2b3746a74d0f4db20bdb3323618f300ad866ceca9e85ffb8c75c05489b591dc0afab53e0a2ff00ea9eceaedfb5a8a SHA512 c9f7268f20624677f007f7797633bbf5e3994498f3392f78d2d6654494d55526193dc8b7dc8ee59807cb4be5fa1e3137671b56de1e3451b12d56af87dee57650
EBUILD firefox-128.1.0.ebuild 41438 BLAKE2B ddac6cf583726dd18d7bae4021a3ac6f6164e220f45f96af4accc604f36a383231523c563ab7fbe0ff1d41f5a7b92be5e3f809d3d7b91ad052321c56c05ce225 SHA512 a102354cbc15e30894fa59d5f4fa966810d5fa492d10c7caf6147ac741230a69c27d72816a1dacb2bc748f7e96de4c7ea6b0418656693e3af415e7cecea0503c
EBUILD firefox-129.0.2.ebuild 41326 BLAKE2B c5abed4860e8542d0afb8d800906495936be3ac1f1cfa9e1de8c4ce970181afe740f02ca6447f2d2486c421a84c7bab18c930a972a01831360e21753da93db95 SHA512 b8500ba34ca68e5dcdd018d89cee27989cb17086f7aface4fac2650671f72de7aa084925bb813e0d8b388b71c365d7298d8f071c7525247d6d00d9f0181af8ca
+EBUILD firefox-130.0.ebuild 41307 BLAKE2B 25bd01bff4cd06fa108355cc52aa475b92b92c42365db25ba50563f3fc8445060e8bfc7822f7e8ca091e61de12fcb0f1fa9f8abb11f9b93836f25cab4ef5239e SHA512 63f5df796711941c2430b748894061aa3441c2b7dd1e2594887bc27cade19930add01dc04e90794da4900055112a75171c6d93c962f005752dd5373414e5c332
MISC metadata.xml 2597 BLAKE2B b449997bc096ed8fb7bde41a5acb8d9f4c1c8cfc9663c06ff603cca756e8868d40049fd292a459a00d80b4e8c3a74e91e29fcb04abe87277640fe65d070f0bda SHA512 703c7f6a2b46748786145b0973a7b8439e530c96fd7c50d773efac7d5d9bf74ccb4f0c252f2701459944f2b3ced22d3e57ddf049b9aed0c8f0e094cabddda251
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
+}