summaryrefslogtreecommitdiff
path: root/www-client/firefox
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-06-27 07:59:40 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-06-27 07:59:40 +0100
commitd2ed973482fdd800013658e83a61709b29e0a80f (patch)
tree57ea7666a57b5a05a4c8866e4915e90b4a6e7c94 /www-client/firefox
parent9f6a82a85d400d6ae7de04c43cee88dbc6bc4da0 (diff)
gentoo auto-resync : 27:06:2024 - 07:59:39
Diffstat (limited to 'www-client/firefox')
-rw-r--r--www-client/firefox/Manifest101
-rw-r--r--www-client/firefox/firefox-127.0.2.ebuild1420
2 files changed, 1521 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 105d3643f7e3..7d8b58cc4bfd 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -510,10 +510,111 @@ DIST firefox-127.0.1-xh.xpi 415013 BLAKE2B b91113b53ae38fa5a85ce322f1afaa6188f41
DIST firefox-127.0.1-zh-CN.xpi 650827 BLAKE2B c19b8ce5a69d58a4da1dd002cc841f2bf6823cec3dcf4ad3eee04c6f5547f95d6491c579565ca59e82c850a0cc6df60a7b18996af80538750f3f2fb25baec3ea SHA512 769a3eef576f9d78461c8bf900ca974dcf3d5043a6769297a0c3d2309d38e62214428f24eaecc2f2213dc08c7c50a1ee70de7ffef4b8997f51ed9080c76fe7f2
DIST firefox-127.0.1-zh-TW.xpi 653082 BLAKE2B e031aaf61fff9b0adc7749c78333d464a076b59ac5afdf8a9289d62c82aaff2d7ee4c4a6b6c828e0db0a6e23be98ad32e81defd57cb879be9d16022060fb9147 SHA512 0a1358e57daaad039f164ff9f00376c8023287bfb8dc8abbd4b908a47fba619028ecfb39e2864be22d34141a3d4aea1e21249706180a6a3a582104105a2f7ac4
DIST firefox-127.0.1.source.tar.xz 568595988 BLAKE2B 1399d5e7a364aba0a2c998fb12a5b52807426d265a8dc39fea910483319b3530f257e48aeac0daab930d79cedb40a1ca6a1211a7ae7e78a3d9bfe90dfdf01144 SHA512 13df770a89b703033601cab56892a2fc62427521936b366893008e68cd1f48d7b18917a3cede23764d024208819037ad0d28c2d4b73b99fdc204cbd53bb1297e
+DIST firefox-127.0.2-ach.xpi 461920 BLAKE2B 8978e6f06bf46bb473a5989cfeb9089863e9c92c3b93a0883ed2d0c577d24c717a49f5d35c1dd848c66076be3f0361ac917364716ea900156869ce3e21b92825 SHA512 f08f93f0b9c9704a77a00f1b9a83b867f82b144adb39d64ec0d4a3a5f78cf55b67b7eb3ce19c34eaf09357f8bdd7845a610937f70a2f856081ad468c446910c7
+DIST firefox-127.0.2-af.xpi 415365 BLAKE2B 383de6f37f70b7dd8791df80de220ad2b8db64f5c76bec9b5e8cf7064139acd08d4ae7000a28dfe14f648c8e8c20dd1bb8ac1c254ea9cfcf84c9850278aa6238 SHA512 84eb2d15fc2b1de6cff3dd7498277863734e60e29e013e72207b32fc230e80d9b417d2a0e0f5a1e5f2a43c2a98b90a47535bfc0f25a1e7966634c258927611d9
+DIST firefox-127.0.2-an.xpi 503728 BLAKE2B af62fb2c3862a9348d5ada2f21072d24b0800337a462c94d080a8ce112a01f28eaff40cd12a2b683ca44ffb4ed1de8b6bc9d0967774baf8b9bcc899b420e8134 SHA512 291e2c34b964f0d8986d2c568eac364e4d2a8e1218e2db71019ccf281b2f03474ebd90e3702fc7212be2fb435126eb635eec4b8871cb9f772f95e7c6c46df2b1
+DIST firefox-127.0.2-ar.xpi 607962 BLAKE2B 2777e90135a5b542688887b434838a5f9f123e626becaec6f274aeca78ff071c85501663115f99eab24e3ddfff04ba05d3332e6632600b97ec4366793cc290b7 SHA512 8dbcbed17479ad293d3e5c4d7f91e02fc95f121dc2be0b4e5f1532a270c3a45522774f85ea31454ca3e5fdb8456b230e0fa314a186134355503954ecfed0a1db
+DIST firefox-127.0.2-ast.xpi 494030 BLAKE2B 907feaecdfca0d282314669243bf12562ea45469b1fc9fee715461d3f698f0cb394dd9d8c35a90e5e3ed4d20a3629e74e14a05027c72205e3ec47d5f6b67178f SHA512 ad22d806c4584cc8769c21a04fff2457c7d2443d1a8fc7339876c1e10ec8e548d1dd898c017b2eff4759243930d6b1c6f1268166a6802e1faf6b6f67fe654db1
+DIST firefox-127.0.2-az.xpi 488590 BLAKE2B e2f329f8c5f15efc4b1cdeeb2fd99710707c97b77c00172b5fc985f80fe65ddaea26ac92dfae264ba50e9b22c3ef87c294c7c76ed2b44e98f75db03174ad3872 SHA512 b6c82f95b8fdb9b7e393fedebc04528c36b19fcb74452a12812a408d6c9f4ef53facc71d3fd9c55aae960f98b3c831be4b52b7c6d9679f6bd0a61501e00889ab
+DIST firefox-127.0.2-be.xpi 708721 BLAKE2B 9131e7cdbe4f9d087da31b4513cab3aaaff521983cdd89fd22704dd4006d6b3f2615cc9a70f594b432f7102ecc84420ab944b9f61b28af52769ab6a8ceed91d2 SHA512 b2521ae6f1c354b88c7ddde11e6f45927c40c374713f07466e649833045b5231b24861000eee27176c1dc043d2209f274a8cd788094acfbdafcbad96a9806f01
+DIST firefox-127.0.2-bg.xpi 601649 BLAKE2B e1f797b9a6b2d8b694384216b06b980fed8bbd379c5e13a4a29162ae1f517f5ac18227c705d32baddd883cd3246e8aa182d51599d924e4d48fa40d777dfc21d3 SHA512 f77319e46f237f208c566c186c0b8d4a70dea15c0c487ab77c41bb22e2459e59a8b1528bc93be36fc93c80781015626bd9a56a2d3964c38d08569612cf480469
+DIST firefox-127.0.2-bn.xpi 579342 BLAKE2B ae74def080fc4879d840cd7526bc199e66e27666bd7a1ba6a3b6d8dec2b151a52b10df5853812af8af7bed90a04b215f4dce3fe42d5103e47bcdfa3f5c05d605 SHA512 cb3b2110e3ac9f072d78aa72a4f2a987d1ee744a45b1fb1844ad50439667d97b78adb3c383a5e80b6dd1ed63abea51d429c08ce6144901228f062d33b3ecd0ec
+DIST firefox-127.0.2-br.xpi 585933 BLAKE2B be13e03b5ea66573f97b015acdbfc08e05c304338256ed9b6aceb540a76e5d257f6e9ac8108fb2449498298ed680bbe46d8225f6928e4830486ffbefd2e9daf3 SHA512 657254a8e018082bd18ea9afdf761f11ac4dcb4d6dbc84f92bbf00045f814d139f4884386546fb78ded8c971719775e2cb0030435bec6ea2c14520013dabf4e2
+DIST firefox-127.0.2-bs.xpi 499342 BLAKE2B 1d3bacbb74164370b0a9c4ad9b952942fcddc3a4bea7c18414d0e31e8afd0c7d0f0f316d3d35bd3cf535cd5db1b335d336bcf27ddd18a4111386c6751b52f812 SHA512 40a0d7502e1b61959d9145e9533098e6a2395938fb55679f7e67fe6d376f2e962be6c6fc0630a40a3cdaec7bc5a50e8193df885bf40e4ab68e488e19d30a4f85
+DIST firefox-127.0.2-ca-valencia.xpi 544016 BLAKE2B 313eef4d5fb691323a099405567eb1d0da4336c573f8f2fcaab33fc82161b30bc7c18e2ac8de89253ee47cc9589a67f889c5dda0dddca6b1be9113aad5fbf234 SHA512 5bf2930525505fa3906897bf8072ed2a13bbdc6de2df82350918d3bc94175113fdf2c1ee4da975d26cfaeffc3eb9c464cc1aafdb20eb0b29ffe022209427bac5
+DIST firefox-127.0.2-ca.xpi 582808 BLAKE2B ecfb3ef2af0ee94ca901730b9e9750515c66c0890ea28b1b0ae46e4e385e948590825ddb9607d9748a9f7f6c695f0887f4786ff3dcaa99c2be14d5a5b2d3d117 SHA512 6a29cd06569120205a13a389a4087520f803df5e459c293c4b7b61d6cdc19735491fc13382333ff96904e54da1a0b3d5b06c59792d53b877fb909e55d730486a
+DIST firefox-127.0.2-cak.xpi 590482 BLAKE2B 9f2dd6c56f78f7f64834c9fd12f14493ba1a30f0c1a283d286b4c0f0881b321029c54487cc7b644a2b9c7b547db65e76104b47404c0f50e4eab2d3bf936ef024 SHA512 510c272b05dfc16659fb27186aa1f64ae1e70a39dca93aa32d1dd79d8896c29c93322de9bdf388c8a0974632329e0798daea9b4a8d63e185d85f8a8377bb373e
+DIST firefox-127.0.2-cs.xpi 653270 BLAKE2B b98bfa2e3fbf724ced45b357c7c3ae6a5b074488b1b2426df327267232eb30b3866f836a433f00ef92c6943f5ceb2ded4ef5e0d86785ee88859cf88b47cc7c0d SHA512 3057bf1be5369af6f1572e14c8a07efb7250bb2f9e9a5f5d3e72eac6ca4764970ab47530e76399e39222fa8cff4c06df216f00acd338fc254473580cc42b9ed0
+DIST firefox-127.0.2-cy.xpi 618428 BLAKE2B c0be3dfcafd923a39cd0bd2c54e2c413509a0f1b7ca17cecd6e5c968930e5516f41bdb1b247002abbd7ac84f6855983eab2fbc3e9ebf03fd95d2aea2dc44c398 SHA512 0b217fb7c14a43830b7b48418a759185ec568100c600519a796a336059eb76239e4b58243903bd180a21327f177085900c007da8e31922bc279dcef90be2755c
+DIST firefox-127.0.2-da.xpi 606847 BLAKE2B aae984f6cce0f493a54ca2fb9f89ea916d25468d91aadae207f38a1771901dc6bad2d1761051a145ae0c197f049d10d662d0f78e64ab0ad7b7745fd41b312f53 SHA512 aa511bfc36695ce3a2a82ad759eb31b1396dc455703e605ca95ee96d72e19f768eff254645362da9c776d609b4d108d24f0ce8759c27d625a3f65eb2f249847e
+DIST firefox-127.0.2-de.xpi 628178 BLAKE2B 3a5ecbb47276320290acc9643c2396d3409c803dd7e35d767f3b43d9782d688e872981a66f8608b531e694b5779264472fee5d1b0ce7705cd590aee524cb4263 SHA512 d5346f45b6cd2f6f934d07e8445ea7ff1bc97540da57490a132d4125532b388ae911731f3a723d596f519d0325dc2ccbd287d529ce4f1e22a9e40b14b5a9045d
+DIST firefox-127.0.2-dsb.xpi 644572 BLAKE2B 72ce2b28b566e68ae48e9d2ae6db439583e3eb9bc7f08adf1e53fe53f943e49c18b53898dd649f7ddf0c1bd76cd1da00880f62cbbe7a9d897087d75cca16de48 SHA512 24b48a4e2cf9034249c5ad5b81ed25f727fe64ce8382be42d0ec418547672c7fb3d69aad0047e3085032086084921c2a51fbc29469cae0b75d3fa1b39807858b
+DIST firefox-127.0.2-el.xpi 726241 BLAKE2B 59b90ec280c4094451e4390ec990c3c5b87b22eb93217252962765220cf78539ace962abe8d4e5c581b146ec04cb5617499afe55657d951334103607d57d15a8 SHA512 bd29df99eeb56ed84d76183a09f48191b283d9d9ed3f3c0c6f33b5cdd6d6bff42a6e5e93644e91ff59ca3132155f3163b49a95c36b94eb7445f4133c6624fd7f
+DIST firefox-127.0.2-en-CA.xpi 579152 BLAKE2B 3b125758423e52dcc5ddab42c402eb311209845cee2c1e155c546b4cf8ac3e3e635fb01456ba67b52ba89d18443c833a42c5b072c24216ffeb7c51893b078396 SHA512 25d89707c67a70a807ff05c6665f03aae6effe58c9fb7a43cd427c70ee46ae7c8feda51319958cc91778ddb74031d6d471892f8b49f8a03ffd63ef30b8739c1e
+DIST firefox-127.0.2-en-GB.xpi 579706 BLAKE2B bf4151dc3504096dd96013119905cba19b8d1417da25a2f4c5dbf7e14e9ed2c20a3b4442d6eea29ee37a6a648d3aadf58f6164978921b84be1763c5dc2f99c86 SHA512 247a412c5ed93799f6a453ff8cb6a2e7629781238ffbceabb5a10c5de01cd0409cd37371b4e4511df38612397688fdeb1d4e3791d138115d733f7a14b34e2a95
+DIST firefox-127.0.2-eo.xpi 608810 BLAKE2B c85e1b71424db3764eac98af32cf943b1daeb3d64d5348cf5842862d81bdccc5afaa7f477a1ac4827087872762d3eb4969c427b3a2b5893210f9aa158c33b409 SHA512 06f3c6aff4316c7bb4ee1e2e7814267a86b5392cf2c78a39f5f4a104d48bc7bd85365ac6a1d1804b8c171548d71f8e4c571e85ca4d7fea81302160f159b0f31e
+DIST firefox-127.0.2-es-AR.xpi 622106 BLAKE2B 828e573af5e7499850fb5bc3d6a5c9b09ee4a31147a6a4dfc17665784a4f32d6a39eb94246b09c28160d927a939047807c3faa3a2b853da092de32feeea1d146 SHA512 6a8efb62c2364e344ca51dab0a3f1fb373b990e308ecd6887ed2fe3fc2f826949d676ac55068fbcd3460ee163dc9a41f7ab52d7063e27ce5624424238bf13d8a
+DIST firefox-127.0.2-es-CL.xpi 621302 BLAKE2B ed638109216a61bdbb0f1a91ffdea17321936bef0fd2c57fd8bb29e56b6103be24ced5d62c41ea114b37e962c5df496aecfb9a06227a2e3662e6fcf2793f3915 SHA512 217183e515a9fd83535795731a9f7124a3716e5f68c028ae2137057bdff261d1e7744acfe64212ff003fa7782108c261aa3dc7dcf2184f3c77462fd65a374e05
+DIST firefox-127.0.2-es-ES.xpi 616136 BLAKE2B 2c25d895c6752f5a196bc80eef656f691fdcef3d5991dd3940eb4457e36f4010d7a78f6293904b8c8bd7d2d41ad993425847cfc791b0f45688616d1a3b003d34 SHA512 1780160b8378a87790a7d06eaeb099ade3b18e80469386a886d119a811f1216dd6db0d10dc162f4eef209cc2e45d260ec83b7a61ff67312df9c2a97ad73f98c2
+DIST firefox-127.0.2-es-MX.xpi 589239 BLAKE2B 74ea13596d227087bd314822f4353e17ca47067bfdb9dfe31adceff013eb10947f9c51f21ae9ba65773af8f64c20211d753c7cd09af72645ad5ced25d7eec77e SHA512 c684248938f8e48f13943564bd98766043d2ab14777617128b62cf6983d616bcf75f4448bc9609c9b253172f0753d3904611bd5f79f89e63f43f8d5915e8affc
+DIST firefox-127.0.2-et.xpi 537278 BLAKE2B 9720007a3b7a1899eaa9ca12f72bbcc362600d23115c971c5d791878cceb3c23bdf9954fd127ca9bbeff5f55be71ab03d7ffdbd3ca26407773355874799b7da2 SHA512 6d3a8d15024a6c18bc0e8feca09280bc6c44d88b47aaf9c09fbf48776e9656357308a9e0c45ab42f5a387c69fa52db46e8b51143556ca7f6cf433b81df06a6b4
+DIST firefox-127.0.2-eu.xpi 593779 BLAKE2B 276eb7fd5ba095fc2ed9c1c89e91d92d9d78160d00bf79ff157bd53d5cb1b68290424b2959b69ef40d072fc33345a928dd66231dc2a8d922b4f65c773c0d5286 SHA512 05f754d2a01bd7c597d805cae6775ca05640bab6478c3c8c0a807aa08f41a63e86e0d5f85d7b020d805955cbdc8e0deccebc7f95b46f75dc31521da416d7cb3d
+DIST firefox-127.0.2-fa.xpi 587838 BLAKE2B 03c99132883000ed03489cd26d5a220bc5c3bb30323dc7c956a1c8ffd55e6a63a20c3a18413b151158a559c208751ed4afc352b5fd130ddbf4e7af83e2a2e933 SHA512 369cdea6c059bda8304fe4075ace929c5023359df27c5f5ec9b930aed2b57590b59309b993259c77b9a66f02d683cde1f1f8c6a930f129889df1239a3ca30bd3
+DIST firefox-127.0.2-ff.xpi 473942 BLAKE2B 020c910141a001fff646585b848ce7a0e62ae50ee5b790f25a3c35e24e302c3ee074ecd52ac987a3b91804d672a46b17fbbd503cf864faeada80d0773cda1eeb SHA512 c4c577ee23c99f26cd0c37553013f3cfc657e5c90b594f60ec6db66f5560069dfab175bea6b65ff8bba0e9a16697cdb7e30f773343612554b868bddb607d689e
+DIST firefox-127.0.2-fi.xpi 601836 BLAKE2B d7d757970504b3ae569f661d58c929c8128d8dd2786c0448dd88c65f97277f02cafde9d4fc8037241640a88899cd9f8c9aece17134f20d48ea6749e79ec12d2a SHA512 5fc511b7495fd7d92597ff3fdaa8b01d76e2325112d3b48d01ae38d624e0017dffd9e7316b21dd0bae6ecc95505993dd44c1f682bfd3b0086924695337da2f13
+DIST firefox-127.0.2-fr.xpi 635004 BLAKE2B 04d7c575d53527b098a1c1387b9331182d197cf4ffe157183e074e2129dd5709b490c056af819d596ab203072a048bbc8c6cec79a7b014f3d80c79428f6e3106 SHA512 7d456172b78fe2ab7708eaab0d1f197e95ef30b04265813557c12b138c284be76a6e78f11901024a7c0412831bde2f4fa9df66a44d0774c2d47bc97d47970a27
+DIST firefox-127.0.2-fur.xpi 627829 BLAKE2B be8d2157906aa341e712d2f741c8688f7d4a2a2ff40d8f46cf77c6afa13589b53f41a50618babb46e08a756952a6c6162ffd40e552b985fd9fa4184dd0b4ed41 SHA512 6f0216f8c6c0db651794515541340b45ef51d185d279910eb22d5941730dad462581cd36b849b87e878b67ffd16dd432289efc64d40423bfd684474a1f2fc3cc
+DIST firefox-127.0.2-fy-NL.xpi 617744 BLAKE2B a2c9177611b12d11cbe87bb2cc3099be5a0b339938048d9058047085e64c6b426cfb668d2f9bc51aba951d1f6d1f09aa572b082e87d8d403d9ee31bbcc0ad4d2 SHA512 ffb266eac4df02de1269307e42042db41f950ac5757ef4a4b79f05069efb84bcfc00f6b7605abbbdccfe39ef4962316494aa630d37098db6e237a4136884a598
+DIST firefox-127.0.2-ga-IE.xpi 468832 BLAKE2B 7696d21ac2419875770f0050ba22cdb77303a5062f4dc71a82ec6dbfd50cc9ee25eaa06ebc6dc5785953e42f120fbb316df81b6b596ed3c72dbb69b450bc4177 SHA512 8d19d9494feb2acb3c310adb1860b9988ff91a1cf691f4491394e9472535787045b6b0dcffe97f00aa56371a7f15b4baa357b11e63bd26a0b773b340f68f4ead
+DIST firefox-127.0.2-gd.xpi 594383 BLAKE2B bf678fe36233ac642d21a381b2dd819bf3e9a22bbcdf17b7404221657e9ff0a81a07d9d7f3fa134265ff471667f1428819756c13646f1c9be8c29e5d216fc722 SHA512 23cfa8484e7e97f4e88acb29c75cea3cef8cc96687b21d7ffb6b818222a12249fd3faf41c7ec7349f2e22860c062dff7eebffde40711d2e241ac36721daee6ba
+DIST firefox-127.0.2-gl.xpi 601871 BLAKE2B 165fd9574a2404154032709d56ce98dc636fea53233fdee6446f1ecc3be90f2da8d3bb958aa6bc552e44e838c4aebe3da2853b824ddc12f1d85847351a9d4454 SHA512 66a0845743bdc272827e0b8ccd2b47d8bc15cfe69a6f13a41027d80589e1833cca0a7aba81e4c4b1395804b3fb9a5c70859de0ce0c721397750e39b69223474a
+DIST firefox-127.0.2-gn.xpi 633216 BLAKE2B c720023594d1642a96cddc60c645cc9da55543269db9cb8a885585fb62dd4d88f9f56cacdde8a10bd08f370bd691ce3d2528df6a9f9987a8cd6ad06c943d4499 SHA512 68ac786265b14eff979bdeaa3cd54cbaf523d22013ce5d8e6e025dc84aa6bcc8f80d3f5437e63078569f950276d388a438e18d7c69cdd97a993af1b172624538
+DIST firefox-127.0.2-gu-IN.xpi 525159 BLAKE2B f5d800531dcd64701015bf2ad782c882bfc19f190292e453f650358a9d54eb1656ae1a85c4e26c7bcb9703890938dbd2da7a7d96f4af280aa6788ff76c55c0f3 SHA512 960762d09c38620010f179401de7aa648efaa7dab84ed6aab572c3c42f3fec40c456bd9bb1bf14545f34ad5b8cd018b00401096613d4610877ac4b9a2447efa3
+DIST firefox-127.0.2-he.xpi 626712 BLAKE2B afffff975a94d3cbd24bf8c548d2fbb3c72ffcae74eea9705b07512a9a6a751d372c031f7f7d395bf4c937f5a2d180afb942141e528ce74fcacdec0065c3a1c6 SHA512 92af5bf179af0aaa5a8fdd58a96e73ad815d9f7ec7442d09a15d918f3ed193d44a66ee2614d44fe09c332c09d70b647e555434633c9e5d33b0e6d30a7a08cfc8
+DIST firefox-127.0.2-hi-IN.xpi 563353 BLAKE2B 9ff065cbd37bbcad8394beb5b424c1389000da238f8483fc78970b32b6a3d766070fd2aa70e181079461b8871afd0e0fafd1283939a118d4c894deca44d12323 SHA512 0678fab31a20c98d64158a0501824c7371bc22279cbe4b195a376bb045712451eafbbf8bc123fcd117917d36dc4958bf6656b26ba4785e05b7bc940a169a860f
+DIST firefox-127.0.2-hr.xpi 554576 BLAKE2B fb13353b6b0deee986fbc5629252b56e7e6b2aea0fd3d2eb45f10488973a164df989c60ce1651626b5e0ae827b7b724be16c3ddc043413d7307a70d403c90175 SHA512 58fad028af2d8b9c17c2aed96703a07fff45e797d7e1a7cfd10ded7b61eaa0c04b36fdab44e154e7920c7e30e79bec96a1702512f033b557f64cc34f43824281
+DIST firefox-127.0.2-hsb.xpi 640687 BLAKE2B 4a4fec20af37db4bf1d1e945088619c11ae98bac270d659bd96d39000a14ef1ee843a45f55786d86dd41d768984de4f173f3a3e4eb0c648aa18203117d94fbec SHA512 10ac939b71b611d6ff052df9288b7e0348d741cb528d06c927523f46413499aef43726f8327bfbbde423ce33309d31a34dbc5c05d3d835e385b461cd5df7007b
+DIST firefox-127.0.2-hu.xpi 644724 BLAKE2B bcd603197ee1966a9ce15d39d7e9cbcc7885a7c90e000482d969e88773cea66d80cccf49f35bcee4ccf215f160562b0afd4bd04fe48260f6cb9f059405a171f5 SHA512 baff1ec2c87952299cd8d7780c19ff738ba730cd33e623c8c479dc07bcc2fe5e853e18f3c1ca697e743dddf4ab5e21d14a1cdaf7c5c5d91319b80b2f8cb3ed2e
+DIST firefox-127.0.2-hy-AM.xpi 648986 BLAKE2B 83014678273ef12ab46165594c525277187776562d71c0e04e32776649e4b30d0b2dd8f01e940de2fd6be256137ba982c6a2ea8c4368b45f4d0c5ea75775e0dd SHA512 2f25a4a190eca19c750e2fb2632bc227e3511b46e8338fd692e54104e866b8d0e97c57d814116a3220469f9f9a510e51f1a3357a4dd0a84798129be8b51863f9
+DIST firefox-127.0.2-ia.xpi 605289 BLAKE2B 543e1ef07007cda243c6c7921f657e407082ebd4e85f55944b64c221ccd65c85e80ce2c017a076d4e569cb5700d14b254289853df474561e7e446ee7d8c85968 SHA512 1886ebe21c2c3b3a0edaa12aea403eaa6a85fa25f6561f06d8b6aa250a8e010c4bfcc743d5fe304fffd63916dc8855a5ec85fed61c2b0c663f8020fd9626bb0d
+DIST firefox-127.0.2-id.xpi 572107 BLAKE2B be501c12b2410cd01e4c7c036aecab49a013dde75c0329dbd546f79e4f7acf2ddc37cf662fa374346bbf925777e968c76d0007d014b95dc922589c07bfcd9bcc SHA512 640b4cc656d7e816bc995418bdbd4680aac11192af29f923c669fbe6d8ee852ea8eefdd255251d83a02c873e5bf50766d0b94ce4f674d1f1b5cd14eb559b2f64
+DIST firefox-127.0.2-is.xpi 611945 BLAKE2B 589f70e6ad040719b901c9a6c74acd675438c6e2d1d43cff4761c9eecabd471cd7a3c93565b2afa635f76e84a2da87e06dc639a983ad2f7dc240bccc4f94d51d SHA512 1c8e31729d54e5a06e244dadcfaa686396776b90797d1f311c98ed779a8a730ab2b5f9ed3c41e89bc4a385e32d3af38df8e54feef1ba0feba6a8de304661330c
+DIST firefox-127.0.2-it.xpi 561886 BLAKE2B ff4d47130ee0480b736e929ac3d8dbf3888fe8b084c6fdb977584fd873fb00064458c72cbc6e2014080ed2f92aee91524449dfdbab0023ecc9d2d2eb71d4957d SHA512 412d49cc1cd92a3c50c9e1e517afbf70afa1d1457b41d2065fc0dee19e48c4bdaa4d68b462fff0c09cd102b5548aa815dfc3eb96a44ac6ce7fe4c92a63e19831
+DIST firefox-127.0.2-ja.xpi 673185 BLAKE2B 616faee17face89955ebcbca3fd0c38074eb9c8cb8ae5ac6f0ec298b55a71a781740537d31a55b09f2d3176d886f9dc94b516a277f7d3dad601d279b7b44581c SHA512 e4a1dce545675f2ff979d9ce04675229307ddf06302f4686e31dbf9b9e952a6e6681b9b73835a3e86d21ad0957eeb0a57af41a0f00fbf067a5e311f0aaa533d4
+DIST firefox-127.0.2-ka.xpi 658460 BLAKE2B 1e1cbf2ffd7edb05636b0894840b7729bc5ed07c54aa97730ccf30abb07391d90dc61f03aba68ab1b3cd2258d25195e10a15016ccde628fd207df3a2c8a43328 SHA512 282d5bc341eaca423c0d6f4f503d4e82aa7346d4db54ab64d63efec3985e52b6b3ec2b648265ae6861b96e505aa22b27bc8eab81d036e6f3f1831a30d720e84f
+DIST firefox-127.0.2-kab.xpi 602171 BLAKE2B d598af0433beef72504c005532b43511831b62437e62af54fb37af665e79f6aeefeac943a774bc3482ac058441ad25834531a43091a70e66387dbc90f0caa089 SHA512 93aab5f309d1ea6527029dcc414b2c335261605801cdbf6060699abe7fc11a533c67e391b64477b744c87815a4d9e8217dcf78950c707b12c05bb5f9353e27ee
+DIST firefox-127.0.2-kk.xpi 701249 BLAKE2B c012acbee6861d3f439912f4b7c1aeea5db6e1c667b716233b8b2941749679e88ec27587ba06810e5c242cf44e1dc71b0cbef73b791b7f1b6f270f0d13829d27 SHA512 933239b89d0008d7e9152be4167d44d3486a99bb1369932cf0c2cb627328fc0f810d5f153373fec7f783668cb93feb2735840962502a291cde0c76d067dc1c72
+DIST firefox-127.0.2-km.xpi 523616 BLAKE2B adc95ed4f61ac2a24e23d5a77050385640ae1ffb6d0ad8719de85aaf6c667d35cfba28ada2a688827ee9973520a01dc23182330a5a0ee505a414745915e21111 SHA512 5f6165b1059a226fc240afee289113f627b2e0d447d80e2c1231236365fa643a37744436b373fb2e62c27f3aac1427e1061901e02223bfdd505e9a93ec038a63
+DIST firefox-127.0.2-kn.xpi 489100 BLAKE2B 252088f2756606cb8eec9b5702b250f490f97367a5b26d7a3c35adcb95977d12494a7518e8a494d7d123fae55c6ff5ab50f79b8102daf734e6463817eaf6fb23 SHA512 333266766c09e952cd7b5a7761a824956da983bbf55cead5f14583f49d4099255101b4b20a0573eacbf97ff075124ed6e15394b8508d7a2c494829c95452d375
+DIST firefox-127.0.2-ko.xpi 655332 BLAKE2B b174ef3b71ccd98705f0099a9d8a9daf2df4d315a9a8400452f6f255e4ae6fa9dba0edb46fcbb129bcb3bd11ec2ae3b4cd415ba3210de1ba62e666e3520499e3 SHA512 0b1c672782c15a3b44e764b5954abd83ffd6c778d3c7105de326861feb14ca65446c16411c9fe13c25d34a4613ce35013c1346dfae14ef18f9b70dd27f7b5003
+DIST firefox-127.0.2-lij.xpi 481948 BLAKE2B 9d2d797dda09480e0bf45d9129f15fdd94c81395597bfdb37c524ea24ef476ed51fb7d298fbef8cd5a2bff8b0a38d052cdeb33c3dab696a3b35e5983d9bdfb99 SHA512 6853cd544af90e32fa06613f59a27b580caa48646a69a274fe53697fb807c3b1d576b84e20585bc1349c8c0d03e9c9f86136e8ad7f7ee255d5b5307e23dc8296
+DIST firefox-127.0.2-lt.xpi 570444 BLAKE2B 6524068e5e2c936a6d82fb55c3387665cc842847b01448bdac5e634a48074fb7d63de55534dcef765c0819b9bac33f2ac527160194716bb6c6fe9846147f3609 SHA512 c714f1d403de3243b7c126c1944178d8244c4ebacff9f65833c6da7e4f426fe9f6fe167027eb54436616801b44b6bcfffb813a9e6fe02b122330938572692f90
+DIST firefox-127.0.2-lv.xpi 571665 BLAKE2B 7e447f4538e60fa05dc4c4d19ac40367f5f34a0b9d90901b07b450a94f0257492b00715200e3b6b85cc7972e4b007fc3d8331f8d3f652ed445954cbe40b335cc SHA512 61289ce06d7b40f3cc64c05c98aa1a3cf79f21f42c08f3dda07716b1448e8a8a0c005f59cfa808bc8c7f362c1399fea50e6130fb028627a3210463bf8b72cc18
+DIST firefox-127.0.2-mk.xpi 491109 BLAKE2B bc1c1db4419ad47e9ac9730b439424688c883e475f927c5671268cb81de37a8a3bf2771dfa80dfa67c6f109faa5ed2974cf410ebfb0f59d586052cc27f319401 SHA512 8fcae32a324e336d9966b63b29455a7d44bee75b2147433d7a63c4ca4a12a7546d1b40ad433114ec95bb006c4f0aef51305fee2a133e24875d78e07da2c6d798
+DIST firefox-127.0.2-mr.xpi 529928 BLAKE2B 5b22c69c09b104fb06864d1ec3698db42a6ec4514f125928d538189a4609f2c9453625ea0300a32d4cbf95205e50a39a544f72f4164d7f4a154f7e867f4d1169 SHA512 8c46bf44f606968f14d0fd62542d2115aad9c8221a7179c56a39fb716416094adf14f8e714c9a765058057cd25b9d8e5150ca4f91d04ba29a6e98285c62a1b77
+DIST firefox-127.0.2-ms.xpi 447570 BLAKE2B eb532ec99408b57058afa89095b9b83a5b8276fb2717794326d4e6a199ed656ae6f6a0244e30e4a29e6b4133cae40e609c9badd1bde18483e21f1f0a55bc5d7e SHA512 f4ee3966274156890c6c87d316f8eef628a78cf3fa4f37f12a74ccfa84e8ab5390c6da758df45ef90e985a069f139256eaf557b050e93e832b398ed38228596f
+DIST firefox-127.0.2-my.xpi 516482 BLAKE2B 79892f75c81b973593e2fa5126fa861702d8612623b331c1c05856c86c8b5041ccb9587a1a7f6f6acc3d26269d5f39f8617f4b3a28e0a44662da543210b75084 SHA512 324244e8208859813d64ee578075a48cc4c9823154501ef1a3589f0c166be757dd470c563aa1ae7d8b46769a6d62c634c7b377859404d7c3e8b40a1cde596216
+DIST firefox-127.0.2-nb-NO.xpi 602855 BLAKE2B b385c75dd70ad2de9bca8cd9ca7f7a12e2519c5a3a8f52436cc4c74abb69176b9f1d353e951416bd72f6bb1bde9891cebb928dbd60b84db48d06c3a497f8b1dc SHA512 818598d7378d97f9cbff4b885660e950024c215bc9f6a669c5c8e7893fb3393e1bf6cb41d8e3feac142251d66796dd3174a4dfe968c7f80358c6cec63f231651
+DIST firefox-127.0.2-ne-NP.xpi 508759 BLAKE2B 8ebb4db29607220a96f7e81d539510830cf317936aae99c289ea35bdb77ef2aa493ab364c8ced059f5598186e68d6d6f069e41456c5131d06d0857c7d64df006 SHA512 5cf6ea3dbb0d82365beab3dfa6718014162b2901eb1ba8183106a99703004d0448b69fb49f6b140c8747b5ae00ff55b5b40fb15dbb60a89332f093d39c955898
+DIST firefox-127.0.2-nl.xpi 611454 BLAKE2B c9a18433a9f584b202cc5d3f1ac31ab77123b8682477f9874bee120ef5d5b34835fece3bab2eb9440860dfba1a925dc05dd295af1f14c851dbf54b0d0c075a88 SHA512 149f5c2d52fa2722b6f0d8f39796bc376d8ac0d65c07c61be43bdabfe135dc3056072bc3ffed433eae48ea9cc81ab8ea88759f8d2c4984a0ba337279d384b5e4
+DIST firefox-127.0.2-nn-NO.xpi 603355 BLAKE2B 67ac7a6dcaba44ec0190b7c8608b6edbae49fb9f6c61bda8dd9d1d55dc27e2e3cdbe57de79137bedc70dfe1f310dd192668be6166adb242e01ec8a72ce6ad623 SHA512 c22d95313aa51f705ad32255af4a43aefe645c6fd972b5d2e2f73e3369b1379c3ddb961823333323862b3eb8c5f2f12ebb16d9fdd82f39f8a992f955601f7b42
+DIST firefox-127.0.2-oc.xpi 608807 BLAKE2B 9df8419070a18ffe73e76b467e0b82fef9480e3d43fc5592376a96cf1a7c46a24fc7c59f0a7d99a1f291bb98548e3a55891daf32994e52f9f60fc407cfd1f62b SHA512 ee2cc4489784c7b26493a476730bc596b44cb6ec8703fa4e8c8066ed67e271ad23e720517b2577cced60e53031bb8db6fe2cc056f28f3956811216be0656df8a
+DIST firefox-127.0.2-pa-IN.xpi 687023 BLAKE2B 773a89ac237620167b1475c980669f050d8bf1b70c7bddb6bd2198c1266d14fa8e4b966e19a66e6201c0f52f6e6767432279395a5baf72d4ad7a8ce9c69398ac SHA512 f21c8ab2a7bb86a3ae57a2552bfc16ea3842d6ac4b4773161c15f15512a2ef2dcc57a54544b36bd1ac1ecb550f86cf7ec092beae1b3fa261d541cbc9f2112a52
+DIST firefox-127.0.2-pl.xpi 631922 BLAKE2B 1f490bf716751765f37e947065c79e40bded9ba716bd0189bb59c25f36a0be83b6d9879a2ca1dbd873d9438eb0cb4189cd15f72d19a6d7afe2158c92f0fe5746 SHA512 c25788444c441b0ad0ba573a194fabe8922cc611586ee19a9c7854307fb609552152e05cb624c1d17cf9bcec1662ed9a463b102ecd4aa9265840a48f56f858f9
+DIST firefox-127.0.2-pt-BR.xpi 616113 BLAKE2B df9bfd077412f11ecc945ce17155f01a812ca3f4b5915231625fc8c2a85e6a2a73439c32dfdf5137fec208fc44608b3a4528dc2a38e59250c5834542df943b01 SHA512 d80533c25e2f6fb8e4ce428332ffabc24db70cba180fa8f99948f94c5fa018b51466049f27ef4b45c68d50b4e2fbc2a510c651433b84d24c0af5de2d7e2922bb
+DIST firefox-127.0.2-pt-PT.xpi 622365 BLAKE2B 3a58c60a55ecb97079443c8b8f11c74e11b316e4cadd202b49c4a67d8c1ecca543295638e292bb843b9d53a8ae0f11746a507ccc13bc29e23a655b72962ca8b3 SHA512 6b3f52b3f597256263d6a31a9db4fe504405df80c77e33d4203438b31c1e4b5f0ea6b55bcfd088608b65efdf333d255dd51a6c62f6a6920542009d48d49a9277
+DIST firefox-127.0.2-rm.xpi 612109 BLAKE2B 037339854f561f18dad9b3f71ff29c93c62389a09bde63d038dc5432806d6793f89836a0b7a2b539fc1abc3e5da938841f4f56271c146507eeaaf1213076b6bf SHA512 b5e5ef4614f3c85eca0d95fc076ed6371ded5ee48186c58b209ae3d0386e4ec540c6fbbd479f7a4ac939e5687f51246d2d98c63ded1c791e3d429456e6743cef
+DIST firefox-127.0.2-ro.xpi 547541 BLAKE2B 05bc2ce40ad88755d62e001e5fbfc2ecc3f8de44d4c9a66b05d2aa1f5f9bf9fa47942a070234a4bc17be222e50d9ac57a876b3c935edaf868116738cb2ce513c SHA512 69a69804d9e9555971e997c9c1a9979343b9e6d92d250f6056fb1a43cf9f319675bd8f9534f2b195d2b17aa896ec2f48bd0f4fece1cf9a953b80b89a242ea494
+DIST firefox-127.0.2-ru.xpi 713587 BLAKE2B d7e43eb431e9ccd825c369a5ae03da01d8cd3e75a75ec3976b6c077b8017f1399bd8f6898fff6dcd763b471b85d1e045734d2c87be3f5479ef71be25b2a820fd SHA512 9bc67383511f4e3772a8d0387bc6356c1bc6279378cf92459b3fed84027c063180f27565fd207ca87aba43b23d89b88985566041d54fa87b796dd72ff5f8c3b8
+DIST firefox-127.0.2-sc.xpi 582650 BLAKE2B bc0a2823a0358c3369f09a4ae8f945ff24cb03f64cc364e492ea7cf4a2a75d0091e4c1156135ca240d2cad8cb64a7224b7435586d612a97718f3fa52e02573b5 SHA512 7d98df466fca23340be563faf94ced9be26938deffc5bee708ba1b9d0adf0041e4353973a447b153ed30dd7fa3d475e6479b7e2f99514e34c1b8b101e569387d
+DIST firefox-127.0.2-sco.xpi 509002 BLAKE2B 51c464944fb8b7bf1253d5283ac373b66a225936cc10d041f1a1afa7aa2945ad355ac76f4c7e0d486af5376f5a6168ab4fd7127adba7650d8beb48a64e2c290b SHA512 7f3f1f329b03011fd5e92ca83819878e52bcaa558d27fa8245fd97ba6a74263472dbc9e9e3b27a3d21243df7e97fa393cdabe5c3b7ec797dfea2365ef72caa1e
+DIST firefox-127.0.2-si.xpi 603740 BLAKE2B f4e030dfa2a86adcbbcb5a012fd3b94ef771dd4ef04c84d7d92e9d0076444db69d82362836438179161cc76f30ea1fe28ff208d9eba9601ec36f0cc2e294da8d SHA512 052ed58c249b438855f0eec798bcd7168e2a4cea40f4cafc20c71d1420416dd4bffaeefab07e1468d2db138c0c8995512baa392f58fe650ff0292d2ddba4d205
+DIST firefox-127.0.2-sk.xpi 646183 BLAKE2B 066ee127bde4f408f04ece718dfdaa9e9787a9d531f172edbc645423375e122e86667c149225ef865463ed6506f861347229781d66a746706914f9400543a29d SHA512 c010b5ec4d21f751acc65fd11909a2d11204558c2ff3c599678dde58cf64525776905d1cd0ead10103e1a4ddaf8bf1e74a2bd187be79e661efdcfb8e76c78cb5
+DIST firefox-127.0.2-sl.xpi 612536 BLAKE2B 154f285a2c34c47ad645562c0739d7167d09dae0cc3310dea11c66531d01cd760328d487fc4e287660f6b8abd83ec5280eb496cef2d5ca55ed9a4a730f61a8c6 SHA512 74a722e53c9d79b7d6ac71bea7d20b178e8ae0444f4c237f9038ba984c9f1f83b4f1b413469f43f56b2dce04b5dd96c07717cb13f1cea15ae61548e9d14c1c81
+DIST firefox-127.0.2-son.xpi 414287 BLAKE2B ef3c9c5cbb49b995d4031173daa9b2671d31f8c1607454d728fbc9a48337584b507d39a5c3f763d471d0069d7d03c04a20156f849976dd1e3f1bc1ec060a48fb SHA512 a127c147748f1829537707bafd0803ba0be05500eac44a310a035c3600e59b354249f82d03e1414f72c943b682deddbaccf38741791809c6e6fcb6a2535a1e88
+DIST firefox-127.0.2-sq.xpi 632514 BLAKE2B 57ed4165eb1c50706d4daa426b9561bf55114323c57f252a5cb10f24d12cae7929a663431ec815ab70bec7271e2c99ce42b1d33503d00f4335ad829bdf072a10 SHA512 b26dbcb8ffb1f7b346f5afe1b2a96bef700b0274c9423fccce3a6f9a72870740b422e60ca153a42fdd5dd550ea21348be457bafe11e16702e9013c71ad76b12c
+DIST firefox-127.0.2-sr.xpi 637089 BLAKE2B 0906ed4130759f223f0c9197ccefee7ee1a18e97adb2e3f95a37dd68e324f965571b2d465a6540241f094f713775528316cc9e20e92a16c6c0b3b93b58046163 SHA512 7f2ba2683e858264729389e1f87db5cc2facd712155cfba0b742e71977e40bd92aec35e85ba97cc089da1533d2a95aec727eee059db2b4e23cc7dc2085ca0ea9
+DIST firefox-127.0.2-sv-SE.xpi 613192 BLAKE2B 62fe88ce76e60a37d5d17d41aae8115fbd58f5e19f12a391dd12504d78b748d5f656eb72f2457ed0d2b4c5a423710333230a5cac7b811efc3b9bbf9425fc0e23 SHA512 0a3fc99b45702c4ecc38657c557681edaa5941d43cd2946310ebdc997306ba5d0566742c7bbdda44f1d52e9ea2b2d7d378a2e2ceb26cf5927d4f36b8cb5afeea
+DIST firefox-127.0.2-szl.xpi 524220 BLAKE2B f8519e76c38de1fce2d84dcae35155482688d9ac5273ae47c4fea0d86fcffddcc5313395019b6fcc9eff045cede9b2ed19cf4f030c92395aedb50aa6ffdd1670 SHA512 090353e034ad44199601012d9a99a8903ed6cb0868e25d0a5316cb0a34deb51a9a3f64d1c4f358d79702ad1a21ceb5d72eac08a325f875c4bb4d8a60a1a0ccdc
+DIST firefox-127.0.2-ta.xpi 505373 BLAKE2B 6e14af1ef396c63bc689033c1b89dd00019338c6b065f6e858a337ba0e38f5d08802fd8c85d1abc8da5ad95d970a9ff96f05076b029f482e246ab48ffbdf00ea SHA512 6f6096e2a0ca3e82649c97240052235d480456f32d38a810b0d5d7ac8fe4f5cd2406e44b4d92797154940213200024a1f6eb971b7dce12617f180f16998ecac6
+DIST firefox-127.0.2-te.xpi 558857 BLAKE2B 8492c705d927f9bfa27a41097f46b8f2bbe6532940360ce4e878fa117643bc6d5e82616fbd401a083810ab99325f821fdc670185181f2a88f9b03dd425d0ef08 SHA512 d5269e7b39125d492e13f4588037e970a39838d527483fa3e043f8087772cebbbd788f5242ea66db6825995c028bf1db2abe4abc28cabf42362cba5fe813ae41
+DIST firefox-127.0.2-th.xpi 689043 BLAKE2B d6175e8a39280a990dd5e2f598ccf7c920b9abf770ba68c7f87cd1c129b0e426d91155f7939c87716bd1921a58f3f411d0ed051e210cca19be9c275945fbf61c SHA512 1535857c7c226c8fcbe4b0d168953ee79868ddc590b0e52b70806e69aa0e9e9dca975062cea8f7028d49c1d6168ba0e4e0e4312e008c7813ffa3055ede341a06
+DIST firefox-127.0.2-tl.xpi 532003 BLAKE2B 9cc051e3025efe3b0a21bfa77cf9897ec5348a88be2481ad275c0ee1ee9756ff2d42bbd73aa5050ab0c5b540ccbb1f9242e1d38168098be8d139bf03475209dd SHA512 43611d4e87c7b5e5a5d4fe7ed505b08e5f768e340a01f0aa83e923f07d2bac9e8563981d8e5c28a3d52187a74f517a3d49c29aea57c6c9981f9943e54c940b0a
+DIST firefox-127.0.2-tr.xpi 626623 BLAKE2B d52a002ea0eb3dcd6097470ea7aef86c75cbaa7a98c0ff123ced4aa9dcbd7cbe6173f83350d48311d3f3f25eb921f64362fa2a9cb178010ee7d92e162bd1ba0a SHA512 96fd86f48fda7cdd5f6f438ae5541d4a500169ff9957a47102ceb751fc2d89ad885c9fd0648a3e0fc9c46cfe1763763822e11ee4932726f3c2ef0690fed1be7f
+DIST firefox-127.0.2-trs.xpi 501856 BLAKE2B 558bab47c71966a918c263834477838901ffd7650ad4af63731b44631f26b8f84cb5f26c16ffdb040657dfc39a7704453d66d93532a8ce546556379c30df8849 SHA512 5ad75696118ff20e7089ed1ba109c04307898533e3105529535e7243a53642b4b5ae9407b0ca0ddb2e64d5b9be871a20d740a7be58012ec0f6693194c5d95c8d
+DIST firefox-127.0.2-uk.xpi 705155 BLAKE2B 11287c54554accce94129cbbf30f987ec3f3dfa3430eea7efeb36b79a92d849aa548bb97cb2db80b9ac91c76761a0c1b906dff856b69be514d408ba81391565c SHA512 0f5c9a05e82a765e7f36fdc3d99dc2c37593efce24ecfa2e5f31c69500b4c8fdb80629bd1f3b504437ca961a49a111a5dc404a8ef076420dc92036b9dbd47c17
+DIST firefox-127.0.2-ur.xpi 558321 BLAKE2B 0993ac2acdba4798d3f32ab68b52a57151d3ae34db7e77ae792ed4adb3717b5d816116b3718348434a4023b862a5fa31cf351902cb7537e0e00183f6fa848e86 SHA512 2c131c6220f62655c33f7b6831c4dea66ba1dae0a4602761ae2ff5284559093aeaadcc40030d996c995ac8150735fa8166bf39c238d98b675fb3560766d266a0
+DIST firefox-127.0.2-uz.xpi 476583 BLAKE2B ec8571499e1813b37030cff7b4b06ce4cc2180f65a3dd6fb6b1936b85eff56dc5a9396cdff034fcd96dc351763ef02ce2b3e03a1a7711606281c3fdcb6e7b4c5 SHA512 de62f38157aa6ecdd75659f2fc660c3466980ca633fb45705b92830cc4951a5d24e68dd50e06b15a99610dc0d00e05dc0b59fd44befdb0a636107b93f5de68b0
+DIST firefox-127.0.2-vi.xpi 650522 BLAKE2B b203152c7803a4d87465a3bad14a4a7a2b6e6c5745fae6e514fcc7467223a165bda3f5f0568600fce1ea38c650bbf9191b77aa8831a997127d945f50a169897c SHA512 45fcf4ca1e02495f6fec520d0dc095fce55e208e9805c641b80e600092a7b117be965e73990042ac7a8fffc421c43309f0d8875389d6a281321f0aece608f53a
+DIST firefox-127.0.2-xh.xpi 415023 BLAKE2B 09ad510ea9a674f6f0aad08fcdd50dbe5196ec119d7a51fc8fcc02cd2358ce1df12dd46b4b23dc3a927a99a3727ee9159c44815e4ce074ba83a82bf2a0421b41 SHA512 a226b56517a49d29d74da8dba3d8e7edef132b970bc7f41f489973b26ba63961e2defc5e6d765b1f69dca05e07729ac49e953aeb195a5887fbd32fcf1d053b73
+DIST firefox-127.0.2-zh-CN.xpi 650833 BLAKE2B 28df31392be1acb5a73af40b1dd8744056cd9f5a179a5f95c31a16ec9f0c2a97deb52a927b1322ee1118691cfec05e35105953938a0c1ae527994805f4401f24 SHA512 61bc371d4d0e343f19a48a2ed473575176bdbd2b084ee464253e2958eb08673af9fefe3709dbad127254e8991a813d63de6156f60b773a0f6546a82728401595
+DIST firefox-127.0.2-zh-TW.xpi 653089 BLAKE2B f7d6c661cc6f7bdc068cb9b00991f164e3b6b123cef5af553c6749de3ce3eb6609a71115627532093f7450b08f6df5b5726903e70f61279b6292004918f9e5cf SHA512 3a8a3c3979db17b3a56fdb2049fb1a437b8c881dc6587affac0a24f936ab53845672da3cdb452e4831acd2ec080f08dd4fdb6f40bb8edbffbb2d2ff688eee96b
+DIST firefox-127.0.2.source.tar.xz 554998504 BLAKE2B 63221122b5d3ef57f47895fc3583ea4b6dd97a636934054572ac1fb1005777b2d76229124f4b8f293f34791720992489f9ded0e5707d930977fedb160dd0966c SHA512 d5a959a032309b8a42690b7f5afd5110c2e6ca7de426e1529d50f59cf065e67623ed98bf3aab39ce4d345ccfad2a273b24ce4f87c7ba7e6eccf2e9dfe3008d8b
DIST firefox-127.0.source.tar.xz 558840124 BLAKE2B 78fe92863389763759ce6e25dccc8adb19b8c35b59e591f40982fe5cd3b5511fee8f809567fa5aade68fcf3b40c1860f5e63aabdef0421c94b803d30d32d4988 SHA512 5a17bce357e7f445c37540115f2c131ad5a055c0cf04f20bc2eaca18f8d241a99ac76739d172b38f2ad2681633f901a0a15893801082ac5db9e20e31fc8b8291
EBUILD firefox-115.11.0.ebuild 40409 BLAKE2B 946cc9a9f1d5415932e8fa55d739370b1b2296588cbc97b95bea73c07efd9b51e12b5f55db269ece293e60697c764c7e635da36f2f6f40c2b25affab7f8d8f11 SHA512 fd6c57d8c113820d2fd2d20fd9c1dbb756585b5939168a3b9b96936284959f551359901e48f95a13d3b427210920a569a7f5aa8e999eecde84c42daea70e8bdd
EBUILD firefox-115.12.0.ebuild 40410 BLAKE2B 902b584a455863f5f0842116038fa1d71841bd82fbd9e39fd835f58f93400f22d053574952b75c4b8fbf60f1b4bf6f6a0f33bbb66040156c6708386e1ecb6e01 SHA512 d1c1ecf8728174770221e973b5e9af74ce7643b9cc990544e0d7b8443940996fb5e685ec4d15410f8fa360a80be30766921078ec78153ef23e899ff0116828ec
EBUILD firefox-126.0.1.ebuild 42514 BLAKE2B 789b5cebb2369a92cc314abbfee3b287b1b01a4402b635af4b6022d9d43ba2ef5b519205c994fc305672b45fd5f7673556176c3144ed1254a4849245906ff7d0 SHA512 66ef576f14b2a172633cfe41ce70a53051d13b3395909f7130237a4b93119b8331e68f6bd621d950234522e500f7ff09389f4e9d843e7c17f7d1607cfb525e74
EBUILD firefox-127.0.1.ebuild 42488 BLAKE2B 850bdf64d677b89ec1df1fc4a337d2e6ce08baaf559e224c573ada1ce98195b8e240e04a3ec5a31a277434e919ad71ffa9354540eab5ea0173c01ac379f3e926 SHA512 a435584138d6784271edc5592d5e67d9f07f5eefabe88c0a2dd09bccf21a56a6777629332aa4ec25ac20848ba7bc3da984a800517b3a2b4e8db8d1272cf9789a
+EBUILD firefox-127.0.2.ebuild 42488 BLAKE2B 850bdf64d677b89ec1df1fc4a337d2e6ce08baaf559e224c573ada1ce98195b8e240e04a3ec5a31a277434e919ad71ffa9354540eab5ea0173c01ac379f3e926 SHA512 a435584138d6784271edc5592d5e67d9f07f5eefabe88c0a2dd09bccf21a56a6777629332aa4ec25ac20848ba7bc3da984a800517b3a2b4e8db8d1272cf9789a
EBUILD firefox-127.0.ebuild 42488 BLAKE2B 850bdf64d677b89ec1df1fc4a337d2e6ce08baaf559e224c573ada1ce98195b8e240e04a3ec5a31a277434e919ad71ffa9354540eab5ea0173c01ac379f3e926 SHA512 a435584138d6784271edc5592d5e67d9f07f5eefabe88c0a2dd09bccf21a56a6777629332aa4ec25ac20848ba7bc3da984a800517b3a2b4e8db8d1272cf9789a
MISC metadata.xml 2597 BLAKE2B b449997bc096ed8fb7bde41a5acb8d9f4c1c8cfc9663c06ff603cca756e8868d40049fd292a459a00d80b4e8c3a74e91e29fcb04abe87277640fe65d070f0bda SHA512 703c7f6a2b46748786145b0973a7b8439e530c96fd7c50d773efac7d5d9bf74ccb4f0c252f2701459944f2b3ced22d3e57ddf049b9aed0c8f0e094cabddda251
diff --git a/www-client/firefox/firefox-127.0.2.ebuild b/www-client/firefox/firefox-127.0.2.ebuild
new file mode 100644
index 000000000000..72aa3df83042
--- /dev/null
+++ b/www-client/firefox/firefox-127.0.2.ebuild
@@ -0,0 +1,1420 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-127-patches-02.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"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \
+ optfeature pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+
+SLOT="rapid"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
+IUSE+=" jack +jumbo-build libproxy lto openh264 pgo pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png +system-webp"
+IUSE+=" +telemetry valgrind wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" geckodriver +gmp-autoupdate"
+
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )
+ pgo? ( lto )
+ wifi? ( dbus )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+ !www-client/firefox:esr
+ selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ sys-devel/llvm:${LLVM_SLOT}
+ clang? (
+ sys-devel/lld:${LLVM_SLOT}
+ virtual/rust:0/llvm-${LLVM_SLOT}
+ )
+ pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] )
+ ')
+ app-alternatives/awk
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.26.0
+ net-libs/nodejs
+ virtual/pkgconfig
+ !clang? ( >=virtual/rust-1.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.100
+ >=dev-libs/nspr-4.35
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/mesa
+ media-video/ffmpeg
+ sys-libs/zlib
+ virtual/freedesktop-icon-theme
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/pango
+ x11-libs/pixman
+ dbus? (
+ sys-apps/dbus
+ )
+ jack? ( virtual/jack )
+ pulseaudio? (
+ || (
+ media-libs/libpulse
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ libproxy? ( net-libs/libproxy )
+ selinux? ( sec-policy/selinux-mozilla )
+ sndio? ( >=media-sound/sndio-1.8.0-r1 )
+ system-av1? (
+ >=media-libs/dav1d-1.0.0:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-gfx/graphite2-1.3.13
+ >=media-libs/harfbuzz-2.8.1:0=
+ )
+ system-icu? ( >=dev-libs/icu-73.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
+ system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] )
+ system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+ system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ valgrind? ( dev-debug/valgrind )
+ wayland? (
+ >=media-libs/libepoxy-1.5.10-r1
+ x11-libs/gtk+:3[wayland]
+ x11-libs/libxkbcommon[wayland]
+ )
+ wifi? (
+ kernel_linux? (
+ net-misc/networkmanager
+ sys-apps/dbus
+ )
+ )
+ X? (
+ virtual/opengl
+ x11-libs/cairo[X]
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libxkbcommon[X]
+ x11-libs/libXrandr
+ x11-libs/libXtst
+ x11-libs/libxcb:=
+ )"
+RDEPEND="${COMMON_DEPEND}
+ hwaccel? (
+ media-video/libva-utils
+ sys-apps/pciutils
+ )
+ jack? ( virtual/jack )
+ openh264? ( media-libs/openh264:*[plugin] )"
+DEPEND="${COMMON_DEPEND}
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libICE
+ x11-libs/libSM
+ )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+ MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang && ! tc-ld-is-mold ; then
+ if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
+ einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
+ einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use pgo ; then
+ if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+ einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+ af ar ast be bg br ca cak cs cy da de dsb
+ el en-CA en-GB en-US es-AR es-ES et eu
+ fi fr fy-NL ga-IE gd gl he hr hsb hu
+ id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+ pa-IN pl pt-BR pt-PT rm ro ru
+ sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+# Firefox-only LANGS
+MOZ_LANGS+=( ach )
+MOZ_LANGS+=( an )
+MOZ_LANGS+=( az )
+MOZ_LANGS+=( bn )
+MOZ_LANGS+=( bs )
+MOZ_LANGS+=( ca-valencia )
+MOZ_LANGS+=( eo )
+MOZ_LANGS+=( es-CL )
+MOZ_LANGS+=( es-MX )
+MOZ_LANGS+=( fa )
+MOZ_LANGS+=( ff )
+MOZ_LANGS+=( fur )
+MOZ_LANGS+=( gn )
+MOZ_LANGS+=( gu-IN )
+MOZ_LANGS+=( hi-IN )
+MOZ_LANGS+=( hy-AM )
+MOZ_LANGS+=( ia )
+MOZ_LANGS+=( km )
+MOZ_LANGS+=( kn )
+MOZ_LANGS+=( lij )
+MOZ_LANGS+=( mk )
+MOZ_LANGS+=( mr )
+MOZ_LANGS+=( my )
+MOZ_LANGS+=( ne-NP )
+MOZ_LANGS+=( oc )
+MOZ_LANGS+=( sc )
+MOZ_LANGS+=( sco )
+MOZ_LANGS+=( si )
+MOZ_LANGS+=( son )
+MOZ_LANGS+=( szl )
+MOZ_LANGS+=( ta )
+MOZ_LANGS+=( te )
+MOZ_LANGS+=( tl )
+MOZ_LANGS+=( trs )
+MOZ_LANGS+=( ur )
+MOZ_LANGS+=( xh )
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -ne 1 ]] ; then
+ die "${FUNCNAME} requires exact one argument"
+ fi
+
+ einfo "Clearing cargo checksums for ${1} ..."
+
+ sed -i \
+ -e 's/\("files":{\)[^}]*/\1/' \
+ "${S}"/third_party/rust/${1}/.cargo-checksum.json \
+ || die
+}
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+mozconfig_add_options_ac() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_add_options_mk() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_use_enable() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_enable "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+mozconfig_use_with() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_with "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily
+# placed here until toolchain-funcs.eclass gets an official support for mold linker.
+# Please see:
+# https://github.com/gentoo/gentoo/pull/28366 ||
+# https://github.com/gentoo/gentoo/pull/28355
+tc-ld-is-mold() {
+ local out
+
+ # Ensure ld output is in English.
+ local -x LC_ALL=C
+
+ # First check the linker directly.
+ out=$($(tc-getLD "$@") --version 2>&1)
+ if [[ ${out} == *"mold"* ]] ; then
+ return 0
+ fi
+
+ # Then see if they're selecting mold via compiler flags.
+ # Note: We're assuming they're using LDFLAGS to hold the
+ # options and not CFLAGS/CXXFLAGS.
+ local base="${T}/test-tc-linker"
+ cat <<-EOF > "${base}.c"
+ int main() { return 0; }
+ EOF
+ out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1)
+ rm -f "${base}"*
+ if [[ ${out} == *"mold"* ]] ; then
+ return 0
+ fi
+
+ # No mold here!
+ return 1
+}
+
+virtwl() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
+ [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset"
+ tinywl -h >/dev/null || die 'tinywl -h failed'
+
+ local VIRTWL VIRTWL_PID
+ coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; }
+ local -x WAYLAND_DISPLAY
+ read WAYLAND_DISPLAY <&${VIRTWL[0]}
+
+ debug-print "${FUNCNAME}: $@"
+ "$@"
+ local r=$?
+
+ [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+ exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+ return $r
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server can not run as root!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6600M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_setup
+
+ llvm-r1_pkg_setup
+
+ if use clang && use lto && tc-ld-is-lld ; then
+ local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+ [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+ [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+ local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+ [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+ [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+
+ if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+ eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+ eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+ eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
+ eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+ eerror " - Build ${CATEGORY}/${PN} without USE=lto"
+ eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
+ eerror " llvm/clang/lld/rust chain depending on your @world updates)"
+ die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+ fi
+ fi
+
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if use pgo ; then
+ # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure
+ # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage
+ # (PORTAGE_SCHEDULING_POLICY) update...
+ addpredict /proc
+
+ # Clear tons of conditions, since PGO is hardware-dependant.
+ addpredict /dev
+ fi
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+ MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+
+ if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+ MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+ fi
+
+ # Mozilla API keys (see https://location.services.mozilla.com/api)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+ MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+
+ CONFIG_CHECK="~SECCOMP"
+ WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
+ linux-info_pkg_setup
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_prepare() {
+ if use lto; then
+ rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+ fi
+
+ # Workaround for bgo#917599
+ if has_version ">=dev-libs/icu-74.1" && use system-icu ; then
+ eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch
+ fi
+ rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die
+
+ # Workaround for bgo#915651 on musl
+ if use elibc_glibc ; then
+ rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+ fi
+
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # Workaround for bgo#915651
+ if ! use elibc_glibc ; then
+ if use amd64 ; then
+ export RUST_TARGET="x86_64-unknown-linux-musl"
+ elif use x86 ; then
+ export RUST_TARGET="i686-unknown-linux-musl"
+ elif use arm64 ; then
+ export RUST_TARGET="aarch64-unknown-linux-musl"
+ else
+ die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651"
+ fi
+ fi
+
+ # Make LTO respect MAKEOPTS
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count"
+
+ # Make ICU respect MAKEOPTS
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count"
+
+ # Respect MAKEOPTS all around (maybe some find+sed is better)
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+ || die "sed failed to set toolchain prefix"
+
+ sed -i \
+ -e 's/ccache_stats = None/return None/' \
+ "${S}"/python/mozbuild/mozbuild/controller/building.py \
+ || die "sed failed to disable ccache stats call"
+
+ einfo "Removing pre-built binaries ..."
+
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # Clear checksums from cargo crates we've manually patched.
+ # moz_clear_vendor_checksums xyz
+ moz_clear_vendor_checksums proc-macro2
+
+ # Respect choice for "jumbo-build"
+ # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431
+ if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then
+ local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16}
+ elog ""
+ elog "jumbo-build defaults modified to ${my_files_per_unified_file}."
+ elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE,"
+ elog "if that fails try -jumbo-build before opening a bug report."
+ elog ""
+
+ sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" python/mozbuild/mozbuild/frontend/data.py ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py"
+ sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" js/src/moz.build ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build"
+ fi
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+ echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
+ echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+ xdg_environment_reset
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ local have_switched_compiler=
+ if use clang; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+
+ local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
+ [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
+ [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+ if tc-is-gcc; then
+ have_switched_compiler=yes
+ fi
+
+ AR=llvm-ar
+ CC=${CHOST}-clang-${version_clang}
+ CXX=${CHOST}-clang++-${version_clang}
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain,
+ # AS is used in a non-standard way by upstream, #bmo1654031
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ export AS="$(tc-getCC) -c"
+
+ # Configuration tests expect llvm-readelf output, bug 913130
+ READELF="llvm-readelf"
+
+ tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG
+
+ # Pass the correct toolchain paths through cbindgen
+ if tc-is-cross-compiler ; then
+ export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
+ fi
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set state path
+ export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=browser
+ mozconfig_add_options_ac '' --enable-project=browser
+
+ # Set Gentoo defaults
+ if use telemetry; then
+ export MOZILLA_OFFICIAL=1
+ fi
+
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-disk-remnant-avoidance \
+ --disable-gpsd \
+ --disable-install-strip \
+ --disable-legacy-profile-creation \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-tests \
+ --disable-updater \
+ --disable-wmf \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-ffi \
+ --enable-system-pixman \
+ --enable-system-policies \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --without-wasm-sandboxed-libraries \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system \
+ --x-includes="${ESYSROOT}/usr/include" \
+ --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+ if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ # For future keywording: This is currently (97.0) only supported on:
+ # amd64, arm, arm64 & x86.
+ # Might want to flip the logic around if Firefox is to support more arches.
+ # bug 833001, bug 903411#c8
+ if use ppc64 || use riscv; then
+ mozconfig_add_options_ac '' --disable-sandbox
+ elif use valgrind; then
+ mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox
+ else
+ mozconfig_add_options_ac '' --enable-sandbox
+ fi
+
+ # Enable JIT on riscv64 explicitly
+ # Can be removed once upstream enable it by default in the future.
+ use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google API key ..."
+ fi
+
+ if [[ -s "${S}/api-location.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-location-service-api-keyfile="${S}/api-location.key"
+ else
+ einfo "Building without Location API key ..."
+ fi
+
+ if [[ -s "${S}/api-mozilla.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+ else
+ einfo "Building without Mozilla API key ..."
+ fi
+
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-harfbuzz system-graphite2
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libevent
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-png
+ mozconfig_use_with system-webp
+
+ mozconfig_use_enable dbus
+ mozconfig_use_enable libproxy
+ mozconfig_use_enable valgrind
+
+ use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+ mozconfig_use_enable geckodriver
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+
+ # Increase the FORTIFY_SOURCE value, #910071.
+ sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die
+ fi
+
+ local myaudiobackends=""
+ use jack && myaudiobackends+="jack,"
+ use sndio && myaudiobackends+="sndio,"
+ use pulseaudio && myaudiobackends+="pulseaudio,"
+ ! use pulseaudio && myaudiobackends+="alsa,"
+
+ mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
+
+ mozconfig_use_enable wifi necko-wifi
+
+ ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build
+
+ if use X && use wayland ; then
+ mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
+ elif ! use X && use wayland ; then
+ mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only
+ else
+ mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only
+ fi
+
+ # LTO is handled via configure
+ filter-lto
+
+ if use lto ; then
+ if use clang ; then
+ # Upstream only supports lld or mold when using clang.
+ if tc-ld-is-mold ; then
+ # mold expects the -flto line from *FLAGS configuration, bgo#923119
+ append-ldflags "-flto=thin"
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+ fi
+
+ mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+ else
+ # ThinLTO is currently broken, see bmo#1644409.
+ # mold does not support gcc+lto combination.
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ fi
+
+ if use pgo ; then
+ mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+ if use clang ; then
+ # Used in build/pgo/profileserver.py
+ export LLVM_PROFDATA="llvm-profdata"
+ fi
+ fi
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # lld is upstream's default
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
+ fi
+
+ else
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd
+ fi
+ fi
+ fi
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ mozconfig_add_options_ac '+debug' --enable-real-time-tracing
+ else
+ mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing
+
+ if is-flag '-g*' ; then
+ if use clang ; then
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
+ else
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
+ fi
+ else
+ mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
+ fi
+
+ if is-flag '-O0' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
+ elif is-flag '-O4' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
+ elif is-flag '-O3' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
+ elif is-flag '-O1' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
+ elif is-flag '-Os' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
+ else
+ mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
+ fi
+ fi
+
+ # Debug flag was handled via configure
+ filter-flags '-g*'
+
+ # Optimization flag was handled via configure
+ filter-flags '-O*'
+
+ # Modifications to better support ARM, bug #553364
+ if use cpu_flags_arm_neon ; then
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
+
+ if ! tc-is-clang ; then
+ # thumb options aren't supported when using clang, bug 666966
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' \
+ --with-thumb=yes \
+ --with-thumb-interwork=no
+ fi
+ fi
+
+ if [[ ${CHOST} == armv*h* ]] ; then
+ mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
+
+ if ! use system-libvpx ; then
+ sed -i \
+ -e "s|softfp|hard|" \
+ "${S}"/media/libvpx/moz.build \
+ || die
+ fi
+ fi
+
+ # elf-hack
+ # Filter "-z,pack-relative-relocs" and let the build system handle it instead.
+ if use amd64 || use x86 ; then
+ filter-flags "-z,pack-relative-relocs"
+
+ if tc-ld-is-mold ; then
+ # relr-elf-hack is currently broken with mold, bgo#916259
+ mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack
+ else
+ mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr
+ fi
+ elif use ppc64 || use riscv ; then
+ # '--disable-elf-hack' is not recognized on ppc64/riscv,
+ # see bgo #917049, #930046
+ :;
+ else
+ mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack
+ fi
+
+ # Additional ARCH support
+ case "${ARCH}" in
+ arm)
+ # Reduce the memory requirements for linking
+ if use clang ; then
+ # Nothing to do
+ :;
+ elif use lto ; then
+ append-ldflags -Wl,--no-keep-memory
+ else
+ append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
+ fi
+ ;;
+ esac
+
+ if ! use elibc_glibc; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ if use valgrind; then
+ mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc
+ fi
+
+ # System-av1 fix
+ use system-av1 && append-ldflags "-Wl,--undefined-version"
+
+ # Allow elfhack to work in combination with unstripped binaries
+ # when they would normally be larger than 2GiB.
+ append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+
+ if ! use telemetry; then
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0"
+ fi
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support arguments
+ mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ if use valgrind; then
+ sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die
+ fi
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if tc-ld-is-mold && use lto; then
+ # increase ulimit with mold+lto, bugs #892641, #907485
+ if ! ulimit -n 16384 1>/dev/null 2>&1 ; then
+ ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources."
+ ewarn "Please see bugs #892641 & #907485."
+ else
+ ulimit -n 16384
+ fi
+ fi
+
+ if use pgo; then
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+
+ if ! use X; then
+ virtx_cmd=virtwl
+ else
+ virtx_cmd=virtx
+ fi
+ fi
+
+ if ! use X; then
+ local -x GDK_BACKEND=wayland
+ else
+ local -x GDK_BACKEND=x11
+ fi
+
+ ${virtx_cmd} ./mach build --verbose || die
+}
+
+src_install() {
+ # xpcshell is getting called during install
+ pax-mark m \
+ "${BUILD_DIR}"/dist/bin/xpcshell \
+ "${BUILD_DIR}"/dist/bin/${PN} \
+ "${BUILD_DIR}"/dist/bin/plugin-container
+
+ DESTDIR="${D}" ./mach install || die
+
+ # Upstream cannot ship symlink but we can (bmo#658850)
+ rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+ dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+ # Don't install llvm-symbolizer from sys-devel/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+
+ if use wayland; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
+ pref("gfx.x11-egl.force-enabled", false);
+ EOF
+ else
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
+ pref("gfx.x11-egl.force-enabled", true);
+ EOF
+ fi
+
+ # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969)
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/vaapitest
+
+ # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded)
+ if use arm64 ; then
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/v4l2test
+ fi
+ fi
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ einfo "Disabling auto-update for ${plugin} plugin ..."
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
+ pref("media.${plugin}.autoupdate", false);
+ EOF
+ done
+ fi
+
+ # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
+ if use system-harfbuzz ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
+ sticky_pref("gfx.font_rendering.graphite.enabled", true);
+ EOF
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+
+ # Install geckodriver
+ if use geckodriver ; then
+ einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
+ pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/geckodriver
+
+ dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/browser/branding/official"
+ local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
+
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menu
+ local app_name="Mozilla ${MOZ_PN^}"
+ local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+ local desktop_filename="${PN}.desktop"
+ local exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" \
+ || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+
+ # Install wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+ # Update wrapper
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+ -e "s:@APULSELIB_DIR@:${apulselib}:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" \
+ || die
+
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+ # does not need to be forced into the LD_LIBRARY_PATH
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ einfo "APULSE found; Generating library symlinks for sound support ..."
+ local lib
+ pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+ for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+ # A quickpkg rolled by hand will grab symlinks as part of the package,
+ # so we need to avoid creating them if they already exist.
+ if [[ ! -L ${lib##*/} ]] ; then
+ ln -s "${lib}" ${lib##*/} || die
+ fi
+ done
+ popd &>/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ elog "\t ${plugin}"
+ done
+ elog
+ fi
+
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ elog "Apulse was detected at merge time on this system and so it will always be"
+ elog "used for sound. If you wish to use pulseaudio instead please unmerge"
+ elog "media-sound/apulse."
+ elog
+ fi
+
+ # bug 835078
+ if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
+ ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
+ ewarn "enabled for Firefox. Nouveau / your GPU might not support the "
+ ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
+ ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
+ fi
+
+ readme.gentoo_print_elog
+
+ optfeature_header "Optional programs for extra features:"
+ optfeature "desktop notifications" x11-libs/libnotify
+ optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas
+ optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal
+ if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then
+ optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver
+ fi
+
+ if ! has_version "sys-libs/glibc"; then
+ elog
+ elog "glibc not found! You won't be able to play DRM content."
+ elog "See Gentoo bug #910309 or upstream bug #1843683."
+ elog
+ fi
+
+ if use geckodriver ; then
+ ewarn "You have enabled the 'geckodriver' USE flag. Geckodriver is now"
+ ewarn "packaged separately as net-misc/geckodriver and the use flag will be"
+ ewarn "dropped from main Firefox package by Firefox 128.0 release."
+ fi
+}