From 9323524b4d44f4ec3dc923bd8e9ea04bdde8a067 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 6 Apr 2024 00:30:33 +0100 Subject: gentoo auto-resync : 06:04:2024 - 00:30:33 --- www-client/firefox/Manifest | 102 +++ www-client/firefox/firefox-124.0.2.ebuild | 1423 +++++++++++++++++++++++++++++ 2 files changed, 1525 insertions(+) create mode 100644 www-client/firefox/firefox-124.0.2.ebuild (limited to 'www-client/firefox') diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 66cc05f66f33..b90495a5be2a 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -311,6 +311,7 @@ DIST firefox-122.0.1-zh-CN.xpi 633790 BLAKE2B dab2b232aec155b0a304f2bffa000424f4 DIST firefox-122.0.1-zh-TW.xpi 635798 BLAKE2B f098894718db43f15999844f4756921e37f40a4926f1a3ca717b0a7ec7b5ee9e9319075eab50e01ad51a849b2cfd39b06732e4c510e09b0809b8a0bf9596d39b SHA512 748744b619608a9bc4a28e85fe7cc8ec4a17c7e4af1e3a5ab5a74a4ac265c9e4c5c4f639a06cdcd1cf6e5fd57e377929ab31ce46ffea576d0f7889e84e259d01 DIST firefox-122.0.1.source.tar.xz 533052916 BLAKE2B ea4346b88c7f3e7e2126eed6b0f4b1460e70fa430944a7263d42ac762e10c8440967ebbae25ceff15e7afb451e1a890ab7e97ff60619a465152e9ff6a7691653 SHA512 1d4fe1ed351edd748ede2ef6448798a32de9ed7a075a54a7ed5f7baa7b0c4c7f932c2e29f443c9066829e39f22a1dc94be5d00cc994193e949b72aa4a1c8ba41 DIST firefox-124-patches-01.tar.xz 15092 BLAKE2B 1a4d952fbb8525ce1e100a738f6d309284125625b8f1badfe687caacdcd309c6e6e4cd1182e9647f93204055f35bc29c202902f229520bea10fdd1eeb066e30b SHA512 b2cd5170d5db60ebfd2b24e8a55a46e5890b26a50a398e63880d8ab276c2d601be6b7c40de59f1f6ddbd3160f80b8664a2f345c64addf55a6a734f8e362fba53 +DIST firefox-124-patches-03.tar.xz 16308 BLAKE2B 5ba859876bd6c947213140e9b6c63ea535c83aa29fcc49de0ceeceb02c17275c111a9004ba22437b3eb1e7d9f44de138d3b673d279b34884efc02c97ae4389ad SHA512 9a9a5f409354000f6af2de8e6868de8d750c724445fc4eca19627cb2d949b50c53f48d4b1e1c6e597112924459f789802afa73701ae024d794aa186da7fe9532 DIST firefox-124.0.1-ach.xpi 457263 BLAKE2B d079c15f56038073e5d440483d96d974e124b8843aada2e89326cf1ce903bf1719a7410307f0b83702aba48b01b3e1cae21ee7a01acd05e4d930ed490965854a SHA512 9e295355e1d15097055425d0ce856aeffa7aefa9a5732a48721c32c13b50f3ab6b899e1d47a3ae5f8b0b5e66bb426c387e4d23c8d98fc09d3aaeccd909615306 DIST firefox-124.0.1-af.xpi 411557 BLAKE2B 0a84f9f12b40646b60ea3f50ac641004ea8496c7a0ec9adfd49d7d8e2c1d3a6e8eb5ed37df5ddd5539bdeb9c69ee1db392bec2f688883a766c0909bad7f4768f SHA512 3c851bff524714844227ff90582203fa861b48d53f7492042b3738be55d320b53d81633c9c769d8da918c92dfcb0f9589972c7bcdf1444342c833ef09670eda9 DIST firefox-124.0.1-an.xpi 498968 BLAKE2B 29b2a9c5296c19170269181c8d87400eb96241ae6f34b4607d66e2b9721ace30ae9fb76b60e4deb63cfab33eaf1decb2a3d6b32fccbbc03bd77e810baa1a3e98 SHA512 ae8691314a58af492f2ff3a4b9f07fa2a46b971bd1481906c5dff8051aeefbc8297261cf4967e0a7d7fb45a8c503e21b0ee66566034849ab335776c624457e1d @@ -411,8 +412,109 @@ DIST firefox-124.0.1-xh.xpi 411003 BLAKE2B 5c92c2443e73de2736a42f578f70a69c570cc DIST firefox-124.0.1-zh-CN.xpi 640174 BLAKE2B 42edc61f18a8614b5cb6b28052a5599702929d9ac2fbf7b7bd90cb5fd415cd82c7b70b8e68ed317517747aae0e1f201674e29aeb9910fd710fd7c1f1ed87d788 SHA512 1bfe2db372bd42ecc9acefa378c033dbf499ad39bd5da9b4e351de8aaedfc4876cfabc02fdd8f8ffcd37775f561391ccc1ac5515509dd2016ce9a73580932232 DIST firefox-124.0.1-zh-TW.xpi 642122 BLAKE2B de00e146dfe60477f04ea28cea19351db0e168aad3d4869c949065248c11a7b6b2caee687d3b8a4f0b09a4019ce2d7fffb16f91c3d31f0fb0f83071650e70551 SHA512 588d3311e820a345e27033135d7f9f3838bf949f0c7fd9f68a09d7a033f15a239e2eaab1db42b4c4560eee21503e0c57d3e69a1492b27c602b49e0e0beeebe30 DIST firefox-124.0.1.source.tar.xz 545772696 BLAKE2B b986833fbf28ebcb5588a68367054ca7a2f51f69685349ba65d25e118c90ded55c6e626842bbda8f00717ee55aa784c808e8f09855de423234a592ad23d9e9bf SHA512 282c45e5c468419536dd8b81c8ea687b10d8002d7521403330e6eeef49207143bee88a44c3785748d461ed9a72687606f5da14f4dfb98eb40a5cd08a4a12722b +DIST firefox-124.0.2-ach.xpi 457255 BLAKE2B 17ccf91392d831fe07e4c4874628a13766384531b6d0a5fe54f800cf325342d18241b3b4ff11d43ebe116284d6e921a09c50d30142a7623fa473ead89fd6042f SHA512 f42acf587564905ecaa0538e5c5aed39d90bb7de900368eaa50aef6524823c59ed58da0d284680988c3df5eac6a76fb40e3ac7b5cd0342e5613ef6336d87c483 +DIST firefox-124.0.2-af.xpi 411565 BLAKE2B 79c20abb835b2c02a2efd16ffb2a671e6d144c3e5b27d481026089374c11432be660bbc63a1e0d70cee469eb8c0bcf40b2e16518cf63d7d19450eebf181dfd31 SHA512 a9a02a570f7fa85e0f4023b23178b33072c8810f98faf05bf2c30d9a31acab7c4da3de65e1181ec0861afb3b1bd0f3895e15fb7c51e569965672a4d5b488c78d +DIST firefox-124.0.2-an.xpi 498970 BLAKE2B bbeb7f904d9e355c521dcb8e9e47f354abb77f8fea03cc6b17504decff53133e1cc9ef7524ee68bd6dc0b8adad398ba7d241528086e92cb9d07c1603462ee88f SHA512 01a7116931539dccb79ba2ace11787c7bdfda819b7ac412034a06f6768468540fb8213d7cc169a375b8b81fb467460424f57c871846e4538b2d482685e665d40 +DIST firefox-124.0.2-ar.xpi 598799 BLAKE2B ec863c0ab0c81dae02b107da4ae66b6c79873ce6bf79550ed2d64319081344c8ce79368d393e24ab7055b334bbb438c1d5618818312812533b4840a85ade1b83 SHA512 45eb02ce19fc2359ff37bdda083aa128d5c29f3851ffebc2cb2a30b0a736be33a2d881fd14ee3eeebb7819f6970885e5b3482cd7c7d2ab5780720fdf2a35e88d +DIST firefox-124.0.2-ast.xpi 489747 BLAKE2B ea3290199a6b0bccce031a03735865b16917fcb53c18fcfc649b471ff2b69effae40eb8d9a76e96b25da940305e76ace7a780766fff7508021e87e67002dc08d SHA512 dca07b30a3d911c3babaf376fedc0c296b511002265111dd011f5c164eee4eddef59b95e8ce261419441024499a62caa728f2998ab27b6d40d59385b5ba67376 +DIST firefox-124.0.2-az.xpi 483726 BLAKE2B 70360548931a0aef3a9a80b9a0dc454b47c863d395da5c011e65888e311b30ad7d00688bf5745e3f0b436d9b578e560752fe247c5b227b08285f388fd143cdc0 SHA512 462252f781a0e64a041138a0e07c1fad50780c8f7882d4e13e6625107623bef3b917445af6cd377d69bab52bad305057c5fc7eb34810b181ba058dc28fa3ca1e +DIST firefox-124.0.2-be.xpi 696936 BLAKE2B c4c4ccd86e7268f785b2b1f9d204583d547544c6574f5240fd4c58c5b4a1194082e1a17b84fdde0bafc62387f5f62197167da48fa5f587b5298b7fd41ad6512c SHA512 0be05e367f2ed107967ac7d8c34c8ec246a359b4a03d61b944384042b713fe228ba80263a571afd0649164b627c977c082bde80b338f0cdb12300a854ccb81d8 +DIST firefox-124.0.2-bg.xpi 596459 BLAKE2B f6d676a6cc5e59e7156ccce5edc64f3a659ecbdcfdecb6c8994f67799b009779a8919296a30348157c45bd118d6d6603e191af1317760b93adb0b266e5d522fe SHA512 1e0caf825a54c1effdf2067aa20d8ab079ce39cc261eef8d99d85148bdf64bc8d4ba4caf45d343fb2e9d793a2ca9f7cec034d024d7233c78fed9f9e27ce4ae1d +DIST firefox-124.0.2-bn.xpi 574087 BLAKE2B dd33c1665a89f0b2c73e4791bbb3db9c16de4645e598718c3e4a40e4562f1a258403591a43ae9a9a633b1e873f1fd855caf99f6c817da30ebe7922c92889336b SHA512 b1c8bcb90252a7b9541c227be377ef8fc0150ed4c2f3ea42f300b8010fd2658af13940ff3c0b39b0acfa539971141179d176b50a2764f2075ad31ecaee12b6f2 +DIST firefox-124.0.2-br.xpi 579512 BLAKE2B bdc327166b6da57af25fa25078b0a3ceee8d1576e06ed76db6b2a4695a8d397326d6f144d814ce86e2b70c6140dd211daea3ec68b252075b0617a93e9d1c284b SHA512 873792f6920d18a19544ef97d5c1c084c2ed5fcbf4b3939afbbfbdf7cd1a671f9a390e16c5dca76f47c96f84c80cdddf3be8525fd684018e28f3e598474cc7a4 +DIST firefox-124.0.2-bs.xpi 466315 BLAKE2B 79394ca083e22e3f3e5e0c41906af3bf983e436bfa1530cdcb1e538d267891afdeabb40ca052a4e9019956be9378b2fb144e9926a40b292f818aad58df412085 SHA512 f0d851512240569ec9679aacc5b39a6e9a80c2e41728c5cb3a970b4e6482c3a483ea976e58ac97cd272fb9a97bfb65886c38a4dbc75a4efdc736ba0f2744b6c3 +DIST firefox-124.0.2-ca-valencia.xpi 538973 BLAKE2B 1b272ba4d19c7a8bcd30755db1a236e86403faf2d06d972cef468556feada24f5365e2f41c87b35de3b53a0a16424e0a93f14642e23033869554fd464b5005b7 SHA512 714d341ea70495f2e80fd5f2d0771cd2a9f10397584f1424ce88088d527ac4fca7fdd1280317adc030eec0eb61ee3d46ce214a74d33a9bcc691f82afb0c9bf17 +DIST firefox-124.0.2-ca.xpi 577127 BLAKE2B 40e164ee558304bd7f4d1fdbf894cfb09cf1ef1a4992ddcd6421a8494438c33ff5d4b09bad1e2a7108d8b08b490c526e4c951ec3203a2a1498251d27d120bfe5 SHA512 533251b89a42d9460b3f90ca63d5432fe73a71ea79d89d89c993cb04ff4844705439746b80d911354eb187c2156e17c4a14edeea4bce572f13f969ea4dec1f23 +DIST firefox-124.0.2-cak.xpi 584191 BLAKE2B 94ac0612af970f74b2d7b8b908932f94361bd15d9c721788ccf99363f563ee1620760fdd0c5e07d09e86c4ce0a3f21c578fe1712c197791d1de18f1ff0ae7f61 SHA512 7d56cba939f896bff8d688216c5ed1b3d40a00126251712337723267712220cca0b7b9e7717d0a812aabc721d8c2c79d20cd1045e2a0d80eda83a5a632bb363e +DIST firefox-124.0.2-cs.xpi 640185 BLAKE2B eb43e546f220dac2aac77738a0e3c9b48a0f3c6cee50379333fa908e4ae784143bf9e3f0c4f7a7531b2e08feacd4409d21f2080ec6a6973c91c75e7afbd905e2 SHA512 cdbe4f7eca65137101fe1029b8b2fc614f6e890432bd533d8f5d3615f1a0234d1fac3474f7a84dd1a678c81e1ef7a0b79842f774832c733a7b79e0c711a076ee +DIST firefox-124.0.2-cy.xpi 607557 BLAKE2B 8333305beb2b40279d67c7d52ba0cb8820c3629e38c2e107698e1d03e84639b287eeb6d94a7e7617f0c56c42631807626d46217ccba9784bd2527a2404940cab SHA512 d4049a20e8a6182e498c2a17e5ee44d8fa60e628936b81cd965ba5261c1589ed37a56f0b18e7e6cb9b8a39c68314ca7eefbbe7526c8b6553e6386972276f1a53 +DIST firefox-124.0.2-da.xpi 596587 BLAKE2B fe49f750c55bc1c1763cc5f100377a6c9461d462cbd07a87a0fea2d5606c91bf06fc4ffa9fb02b1e62299f83a2ceb6b3b2c06ef92802e381d63d38ed28b1ffb2 SHA512 3c06c97e4a7cf01c478682a5d9bae853cee437eeddd18a5123919900bc9df7bbde395722cde1343734eb8737b0fb5f0c3ed0cc8412be4529d302633ba4341ab7 +DIST firefox-124.0.2-de.xpi 617699 BLAKE2B cc783c541223f834ecf1a1d8652fade443133692eb8e40fa5e14cf72c957e2ca864ac9c1fa9b8f671075a192042ac52dc77aca12ae16a7b6cec69203d45cf06b SHA512 000288baaa3ccf3819dec45641f57a8ece0c1acd56129570bcc74465b9aeb9f44608c353464125406afff9eaabf6df3a06811d88286e3a829a4afb69d8c445e0 +DIST firefox-124.0.2-dsb.xpi 634051 BLAKE2B 956c8aecafa7db07311ff87fb46a65ce93fe597d2ff3d42f8322ca4bd45e83f68be87e4d26ad487f2071bf8d7ba7bd2aff5107081afaba269b2aaf7c571cb3ef SHA512 698a465c5da52c8a55357f0504d97217fd082e1c90ba101c4d801436a80e8c7ba8914d9388c9958223d88fdf672a77dc3341ff1f86868689fe29b2acfc664a94 +DIST firefox-124.0.2-el.xpi 714179 BLAKE2B eae2a0fbb09780a69d05735d99432aa766b8f7068352278fb2b4b08ee4b49bed1f1e0b686f88ccdad0432db30d9984ae86bc6e930683a1e498811c0a0c3af2a6 SHA512 db5b232cb159fb2f4367215b0542ee1d4d698c9c6a122143289c979f4a65c3f9c69b41f523d31664259326e721ddfc0600559ad131955e28ca04ce393537c215 +DIST firefox-124.0.2-en-CA.xpi 552853 BLAKE2B 540b3c85cfe47bc9b494600334db0ec8578701d2d9d5a78fda8357b4911bce89ee6687581787439558e3b9039c2b5ba427c40b387f4608c75f5a9c701982d470 SHA512 33b85a60bf6df93633f83e4c1ab334c5a5b68966508de7584d57ccfdf6e1e55f62be7040421928d9cf268c403846c03e4c104853b8dc8a88db71291d4d211060 +DIST firefox-124.0.2-en-GB.xpi 570065 BLAKE2B d650d94b8354b80d29d2ecc342687b78f375b26d97e6635554ed84cfd12277b019366486bf68c177158560512619bd55d4c0dd3251150d2a783170fc313fc001 SHA512 22184d8504d5a22b3a549cce83e985d6d25b91600de1ff4e1164b8df533c67b1cd4e11da1c8d8be72d05c9b5afb24067a5632dd492d85af97267c3ed06444aeb +DIST firefox-124.0.2-eo.xpi 600155 BLAKE2B b49018b71f91e4c7c8e35148ee48f56cfb3605b64277307885e8f2156425f2523beb443b64588473972f30d14da9fcbfaaee7eab29942b20f1a014ff7dad8e24 SHA512 1f054a1e2d3f8b84191968c8965a4ada33291c5561ff534ccfa1e01fec1cd3a7ee72e259095043def52a06e6dbb02f170dcfa7b9bb1bc1e9ad91839c557ca871 +DIST firefox-124.0.2-es-AR.xpi 611788 BLAKE2B 9fc4f4fb5525aa41a1d8061c7a7ff2f3fb6a9d168094e7c82e99e35ef8e5fc6cef615c8e7bebdbb8dbda47fd5255dfcedec76158b93eebb5c6ea18ce289020c6 SHA512 d8b9549cfc678389bfed1c6ffb401f7b1dd6fea37e469bf8c71565b9b732c788659fb365a4c4388573a11515271a6730db967595b0054e28dd616fb5054eb3dc +DIST firefox-124.0.2-es-CL.xpi 610709 BLAKE2B c04371458ec0c94c1a98ef70845369676a4ae5a8848626adc3a9376ab34a7a931d91495a89ab6e7e548d062caf4184a144dd324f4abdf11f5b22b08391e4d267 SHA512 25d3b459fc6c17246b7c04f96674039da868c5383675b7404a001ba9c596ddf8c5f66ba1351ada56550c240b8e34195f4c65c1c68cb76b22241229e036330c4e +DIST firefox-124.0.2-es-ES.xpi 605675 BLAKE2B 5fbf14abde93c0ec9d2941e9852a5ffbae8cfaf477b77627d7a863791ab4312f8035cc74ed98d449b4a08c9466a6d0463921a14fa898c7e60bda27a9e1e22558 SHA512 b24a35464888d5b3a46909aae749852b4b85acf9c27aae6dad01534060b9ae0950a53874c5b41c94fd553749980547f4d2d90e3396e0acdf496a7036ecd2073f +DIST firefox-124.0.2-es-MX.xpi 584181 BLAKE2B 7ab20252899f1af9cd6187ccbe5b02a72c45870daa17b67ea343c6f9d0f30b2c18fc31d11f8163dfbb31983ff26168c6e4ec1d3a082a81c6ef7c078d7c86504d SHA512 d1ccbee7d76069387e8cb55fb843f45825dbf3af0b5ebc752f689b69e885d88563441bf781f34edca54de8df99bb38c1292e9dfef69526f8fb2e0cbc043d6ddb +DIST firefox-124.0.2-et.xpi 532343 BLAKE2B 7f80387b09f3140f4954bd9f97abf6de989ad8cc8bddffc2ebc9bd51425f4cb34ee71618e851ab7a5381f8d3acc729c94a4c01f3102787c9c34e0ace558ffa87 SHA512 b2b291f1d356141cfebb5dbb1d2c5376600ff972d9f936b41deea5472cb3609b87d0a21941435fdd1a280abc5b1c3cfe5c2fa88d190fd35a6499c3dd604ab1da +DIST firefox-124.0.2-eu.xpi 585776 BLAKE2B 836b0e41b6ad37f1894c58367f084b6c42e8cb6748195c5963175c523d83da11791bed668c44825d772354c3045ce0d0686be6770e9ae80df617e78310d0821d SHA512 806ef686c3ec2f36289f1d1b3947ac40ca509f0fb275ea65bf152165cbd602b45b354cc9c48e30e22aee113d8c6aa1a6e657ab7bb5e27fe708c6297fd28fb077 +DIST firefox-124.0.2-fa.xpi 582557 BLAKE2B cf8ef01764273db2147faefad652723ca5a619ae9c1a42feece5971b2863396419833f560802ad41908dfaa8e76cfae80fb51e5bdbebca0a63fccd0b06375bc5 SHA512 ca1d384fec57b61e00bc89f81141564354d23a6b20111c49e4e74299735e40f243948df3211258c84e150130d8465266f78ac67efa0774d211cf39dd75996b1f +DIST firefox-124.0.2-ff.xpi 469176 BLAKE2B 01007b7ff9e49f87e3c06299cce27269b9aa9abc9bd72bff0319720b755b84405988de378e81c60b37fd3b91ddc70109f50fda3e4adb44d3792a07d2e9de74d2 SHA512 cf76f84312d48f5e5a70be7a23e547a7cbb3c7b3b8ce76ca145d4bc48bb8a54b75c7d710d7838dd13ccc2ab4b53137427a1e08f54b3987beb168249bbddef64d +DIST firefox-124.0.2-fi.xpi 592095 BLAKE2B 0e94ffffc2e029b338c08e11d53f3e6fba67eee7a7bfea8d8980ebdb46306bdccfa153059f66179dd7905b3d2b2e9823375e3118d23a97b6e21e69bf49484a8b SHA512 be1bf303f07b79194dcfcd4d7c1e6155d3c13e39c290ad813779d7d65fa58cc1329b38bfb71cfc23364b83791e9ea80874bc6ef00344fb6f2ceb1459a8f71dbf +DIST firefox-124.0.2-fr.xpi 621884 BLAKE2B 0a9a21660af566fdeebabc6e217e9bef22026f46ac97f37ebbebf0b3aa9da8265e2b8fa52589562d4126c14f29a3ac80cae288466d1c3408e082407082567261 SHA512 a447f0df57c9161bdec7dcbbea2430ce22b51297a8e2b9815ac9b6e3606fdccc79b7e60a5ad34068a0a6a584dddb690e56784beffcb075c5bfea55aca242f538 +DIST firefox-124.0.2-fur.xpi 617363 BLAKE2B f2098f559962f969c8999cb19a706d192e03c642b1e68800a488f38ca8f670d7a0a3ed351ddbf6b8b811dc4278ba2bf12969d04bc6a88d7753f4df513ea3daef SHA512 6e9692d11af8fdcd8a31955bb8966293706d0a5036d9400faaee9e9e12530b30b0cc127712dbb533426ea3b8d2214918ec72c7e315c0f2929efb699862c09b16 +DIST firefox-124.0.2-fy-NL.xpi 606666 BLAKE2B 24f033e8520a68d5e594fd5c8a8cb162ea68af041ccbdf90b7b2042b520435dd46375bae968a25cc989fab56b01cdd17eb221c71b75ca6fb5a0090e53e77618e SHA512 ffc4683bfeb7c6b4862ec9434582383a34e7155ef83ae1613b796047c03f524abe85cdd8aa634ada881865339615bc8e20f7e73a696a0266a8ece0b3eb770723 +DIST firefox-124.0.2-ga-IE.xpi 464732 BLAKE2B 80ed500c3aca0b702e8be150c0a71c4bce3810a7126a27256b3e9491a51b629cf73ed8f55646c4aa3a8896f40548943de8f0e9aab803c0b69ceec47ffad2afe8 SHA512 ce8aa2781772e45ac8d5f03bcaa5b3b2d718e4aef3e5e17ee0ab6973a401b801db46ba826b8ec2d3d410eef7ab78affba5d6d325bf2d2eae2e271f05f722be3a +DIST firefox-124.0.2-gd.xpi 584018 BLAKE2B eaabc701392f24f00c6644d18aeb0d0e1f343975db6ab61bf34399f18cbce57d90718d6abc63d5b21d08cc25f515ca4da549300bea40a4cf12d761e73e3bac78 SHA512 f5cae8378ee27385b981357503e832b9ffe434d3f8a552934f4657055d7e53499189a90efb53feb09084d176272cc344abba981d17bddecfeab0ba9c0df2ab31 +DIST firefox-124.0.2-gl.xpi 597048 BLAKE2B c9a77391e33b057236d95b38d4ef3efbf34c542249b3b8334d0a97c04aecf90df544dea516431edf7c6a331b06eb322c4aa9711a470c5d388af34d0c5cb0def5 SHA512 ea93afb70af13fd91af2a92d1112e20b6a7c8dd6fb84c5172e95d3d74e7936f3e3556a29864bead8c97bde84ada8f3367e5a9ca00812aea2029c827b06add8b6 +DIST firefox-124.0.2-gn.xpi 621056 BLAKE2B 3e94cc50b7b33637742b7e3aa8d7376f793400a7e6ce266704c3ff25625fafd18a4e4e4284ad48f9f1525623b71c05667cf3b245ebf47e0b657395858c834122 SHA512 bf32126be2c9e79b4653d3757ddcae1155d4cf6cc917f3218dba9448fea87cba5dbc9652dce49bf466c411229a17a0ad8afbb054e07137a1206e7fac5c7e21a3 +DIST firefox-124.0.2-gu-IN.xpi 520056 BLAKE2B cdd54d067f827e85c05fcb6c9bf7b662bb3e2bb4923b63a31e36924d0bed236f09adf90629044038b681933c3314d16ba0e9a39acf38828de7b8c15c61bd8060 SHA512 2e4560faefb15aad3ff19f5909f52a5d4b6265e5eb2abc953113a1969ad35250cc1b3e48a9adf27ad6e6204e59f043418f7f2c5db6b71becd5a5b64f7d401e7c +DIST firefox-124.0.2-he.xpi 616172 BLAKE2B c574d4728a20d95f0f09cefd1e11b1442d715bffa807bc310cbbfb812ee3da44f3cc94d03f719c958a6796b0b3935783145dd9589dbd91e58a73f90fb88ba30e SHA512 498c61a37d4ab18b7ce9722163eab17c4934e669adc2e934b65700f5bf323e04c8677ccca75b064f0ed315fc49ab6e77791504925b5206c591872578324490d5 +DIST firefox-124.0.2-hi-IN.xpi 558182 BLAKE2B be7b8deca2a0aaf2ab0a3dcda97066fc76720a1835af4719de55b631b0c1e6f60b5c98fcbca95b51103cbf97d1abc984af90aade8ccffbe8179144b668cd8a11 SHA512 fae1ba48bf8c82cbadb762057289e4e921add2c1a2e3ce3bb1b7729038336b36ebaf7708f907b24d2c9f3b2ab58bfb77c707fe90dd1d33efeeff411b24895b8f +DIST firefox-124.0.2-hr.xpi 549496 BLAKE2B 7b18cb9a9ebb4ced5a2eb98f9dd5501fb745d6e55df143c331af1cedcc67db467ad13713eb77b1c9cf70207569fb49a7e794b4305f86019a59939b6f9d93b92c SHA512 d6f559f3086397cee39112e2ea87ca96daa36f658d7e19e537838071702396cd7c1e4cb42370ff44b78457a207efb333ac3a5be704eeda34929bd110b76258d5 +DIST firefox-124.0.2-hsb.xpi 629696 BLAKE2B 9a6f36a61a6843d45f006fe26165b5e9f1f902035764dc2db19a736a8762fd1b89931f0f929dc81a3be6cf325b4960c95c511d0343c7553134d0391c01259121 SHA512 76542cbf5e59448c5636d84b7a1af34877b3483cb1907e8d9e5145a8059419a430febce518c3b8868c6ed087e0d37aa99e7ab04326b1d04c60972726204146be +DIST firefox-124.0.2-hu.xpi 633303 BLAKE2B a30267d27ca8b625c5830db59c5fda496b92be1b93634f76665d282069eaa0683192302d1aa66fe6b48b78f13045426994ea63e3b98e927c95673300d3726c1a SHA512 1bb5128803c476779b1a7a259ac1c59a50703cbe1ae07987eb1296141b2ebe0f0c334c3a32016e42b3b818902f4728fe99d7bb8251bd7784e4b30e21f9b69b4a +DIST firefox-124.0.2-hy-AM.xpi 607891 BLAKE2B a9c7fc28bddcca108701159eb2d286f6af37985fa8240470410abded20aa01ed4abc7198f9fd74295d32f8737b2eb7202c6ff88315c6706cf2ecf1e0e8437f82 SHA512 c14a5fcd1996bbe5290a626cfdec3d9d9dee49e44f1c105c0431cd1d568ead214ca2942253d672c7df09fc77fef279722877917185bba27ecf26b8197ed4b907 +DIST firefox-124.0.2-ia.xpi 594010 BLAKE2B 98b3a13b0f42cfd1210fe5b77f0db12a34082809afc5752e74303458ad798aeb8fa6d0d702e2a45db1c55eb302ee119dc8b751d8028689ab9de3b1295949555d SHA512 df1295c2ec83810e67611516acb1ee790593f5b58058067031607c8412ae741bc50820fddd082b15c16d6011d1dc685ecb79507a476ae3c1e1d00327be019b0a +DIST firefox-124.0.2-id.xpi 566763 BLAKE2B ef7065b6551bcc5226044780ec6ce4c09704cd3f11a02c5fa6388da2c6258b3ca33f55b720fb57260e138421efe958e5798d96b89c0363cd4821180faa4aa2bd SHA512 087b1fb159902a9a06ebf4e64e1a78e66dacc86fbb30ac46f30698779676a2dfce041fed504367a1eb6a5e17a16fde1ea1a2a55be0365c78a16f04db4f8d0feb +DIST firefox-124.0.2-is.xpi 600747 BLAKE2B 827f1f9d0bd800b066ff76e30ffe41ccdefb94e764ade69deb4c5e35f68cce6476e5f42a4afe32fd1973192b0f51deee1aeb227e67568da33e5e62025c51dad0 SHA512 42370d399a5394a340a83173fb51152fbdb15f1d6a507e563a5ef9f43b2efa6e182c39b6dd630f013bcd6100e79d0ba8fb93a777fd97cdc25001fde01d05cacb +DIST firefox-124.0.2-it.xpi 551729 BLAKE2B 06724af6d42da8c67db0e1602f1fff176a9b0eddc7047ff363630b78615897d69bdc388fce189f8ac7aed09559f81cda0b0a54be608b7f9e952e4943a4e47e4f SHA512 6876bee18ed9e14074522076788cc3a308305a1919eec4f81ec4adf64ae007add124ce9b667c7308cbfc815f9281067d0f1da4995a4487be382da46d8af27d0f +DIST firefox-124.0.2-ja.xpi 662254 BLAKE2B 3c144406a9e71ea162e730e1654e2cc7bfab35ca50653ae3e3501a477dd55b4b46aa1a60acec91a2db382bfb0f5549ad60acbbcda9715fda07cb0897df0a4c69 SHA512 52b64c2492d187e7113ff979356f6fa6aadb4f17795d74390b9664d3db80c86ea5d1185b5b745023ac33bc461365e16d162a7aff76d7333d13d35e6d77d51645 +DIST firefox-124.0.2-ka.xpi 652848 BLAKE2B 8729b644b26ec7675bf6cf7e94a732d87ce819e305c5c3368e2f97637440f78f533637c62bb51df81ad5b22630a9a3199543c27d8bf6d0e1129e998e8e36fc87 SHA512 88bff601af66c22f8eb126f429fc0cdfa323645450d25f5855b109552db3ec54ef03c0ff26dfe4834ae7063cf452b26484beed11553bd1e61d6a804c93551e51 +DIST firefox-124.0.2-kab.xpi 594394 BLAKE2B dc6154a1b9a699842d4196df868d7ec75a610f23235a11ba3aee51d17dd63e55731f797d58d87b79cd84bf356092612efe746fa9743d25980c39111cc90001db SHA512 6bbfe7b0716e983ddef68cfde52c1c382d46c23fd147c312c07cf32e61ee59d013c0d4188d7e0b97feef45b95099615e8c53f6340a7b1d3404fd8016b3008c8e +DIST firefox-124.0.2-kk.xpi 689599 BLAKE2B 35e8cdf1d2337ff4f34c3fc8c6a225ecfb02000a143b872d9a6d41b6f31054a63da7b02abbd7e6bc1f1b20270a1f8ec5f0525fbec82edad6f17f01f1ea618d7d SHA512 49b423ca758d5d17a0be61893b94db1e0a0a4b82e5e04213f39cd88b1becb0d737466034230a351202fd5200ef95dd0f81468ef3214b120c4b2d6a64ada515b7 +DIST firefox-124.0.2-km.xpi 518437 BLAKE2B efb005f82123994105be8523719cb59e3828d02d5c7d2eb2c42d0a57d710afddef1240405b270ca4a742c24625e672cdbd2ca14c76f32a0f89dfd99b07e42ec1 SHA512 536fda68aa0cd688572ab12c69f6d16ab0af6f10913f58e38ae77fdbbd3ac6ecde5c73914a8292dc899af1788079742f3359f79e28c593f61c5b25fd07dadabc +DIST firefox-124.0.2-kn.xpi 484307 BLAKE2B 11e4d75335e13cabfaef01b2f24871c8ffb8372dd52cd8f0cec9bdfd5b1a0c928b1e589f6388cfa7f6f66bae217eebbfd0892aaed2c1977b4a5175fbf1b7e2fb SHA512 4f9884641a5d94c3216acea07391396a3dfe1b58eb223f08beed58a37a166299035f7e735cb2ba33b9055a8b2e9154af5132bd9a04d7368daac424473231494e +DIST firefox-124.0.2-ko.xpi 644460 BLAKE2B c1fe0c9d910d29c9aa5a041be8f78f4d781305833c47b2c03b0c788184299fcc20968bd691df4743f006fa7328e212d66ca984477c81a1a4d5c83990624fcc1f SHA512 070b97338a5e8a95bbdb738dcdf0bec525fbe60d14b5c090037c81e21a08983c60f2fe8fafaa962ad5a97ef57298ba267917414c66a97386c7763a2c14931bee +DIST firefox-124.0.2-lij.xpi 477138 BLAKE2B 4a2767b630af6de8fecf5e1c652e1df0b019ea414a175987e382bbcff879ea7fb4be721c6959a57359e368d2616f17e2fe4986f58bf7daf9e836f1002e63aea1 SHA512 db529e9e5657eed3e1f1db2690815ab4ba490d547870f3c335784692dcaf826673dd41c6b16ff7589e4d729e94fd882de08eb3a8598dd445365346501e0eac66 +DIST firefox-124.0.2-lt.xpi 565318 BLAKE2B 534994785117886b1fd34c6f1860842f4d9726d17fc0fd9e05e7cad82d3ed48fb0e6ee63b9c059b034f844b4018f3a4ab858a0a31a3a282bd5b14f4b764eb811 SHA512 1682df7b61015ca1dd417f418c33067704d9d257dcbceaf647c37c82babd87b33f279623a2b3e316c7ae2a50f7cc9bf675dc272aafc16dacd711054d43c71a03 +DIST firefox-124.0.2-lv.xpi 462857 BLAKE2B 1bd532754023cd7a201ff2ca61fd3749c0b46b691e9724d9f4d84ef69a0291f7f2839bd35809cdb196b9d2125bb7b55e63c20b24e33d5be77dbc815098cd3eaf SHA512 1a4088a39823f0c54e96f485a4f557f594656459f0b778e0007213026df5b215a37009cdc20e825927d543989685ac1d6085a79683777340d9b028530be54c06 +DIST firefox-124.0.2-mk.xpi 486003 BLAKE2B 248f11e61eb64e887b5793e51739b75de387d4d8d18f514db71e16a6d75e4df4628216aa4d36a0af51a97515618cc26789ec7d961c984bcf0fdb9e4390a68520 SHA512 085f6cb9206864872fca2616994664b2047a828207a81ec8e0ba97ac1bdf1edb733570d8b60b07b377f3db57608d5dc68d15cf0a5eedb3d2312d332b4d280267 +DIST firefox-124.0.2-mr.xpi 525108 BLAKE2B 84918f32c64967856d6b3e444fe12c218291c0784ca31e7ad79a5bb5aabb2bb285e91af52e8f52deab6e79dbea1fc23982518d56faea95a9e61ddf9ad328db7a SHA512 4b93d04e1f243ce87138d7526103e21c9a777e71f1052ffece379d1daf0f5cae6f0e7a4682839744fb284494ae73932f6f8549e58794cb159c4f207a7835ef2c +DIST firefox-124.0.2-ms.xpi 442792 BLAKE2B a9e994978d22d94ae62215eee160f20380993a2d3f0d50d92186d365b8bf9206ddf77c9ffb2c2f4861b912534880fc55e7e4fd93e37dc788fca32555636b0f81 SHA512 8c214bcb95539aa5a9a430af455c92808e5f1654830ba704181e75afdff0846ebb3fc9bc40c24c2c2a1514108e85126cf7134265dd4f2886566b6eac7df3684f +DIST firefox-124.0.2-my.xpi 510097 BLAKE2B 1b82950bdc30116845267bc55e2a150341b24477c50ed8293396f29151a3e9c640cd4437061547e467f2aea4f78e10b7472f654f788fc7bdfad08c13d8b4662a SHA512 666483025b85dd3b0d29cd4b93787acd112d252112999f245b147c3c61d6ac9a8ffcb5260a5a5a84aacf8406a3f19f351b9943a0665a552e853a777ec3e9da3c +DIST firefox-124.0.2-nb-NO.xpi 592048 BLAKE2B f4f0a66d5964a89a04142a712a3b385d92d4f4968afd67c32f5f93f8d82fa6f69c7e29aebbe2e136181325307070b5dd8dd8c5a8937879ba338eee7034e14d2b SHA512 328daf05d02e075d9406bb937fbce877d5911222aa8c8c68d3eb493f7ccafb38e702dd2cb9fa873cba28b9021a93af5917efdd5e72f2253d1beb061f3a13c129 +DIST firefox-124.0.2-ne-NP.xpi 489213 BLAKE2B 79e4fc62763fdccc37c166f38afd310c2d5bc3c213dfecebe7d71fd7bc8cb7f95b3709f282c908666ce5090efb0a38a3f88fa5ef2576658ba4fc6d08613e5493 SHA512 20993887de43855e7c30668a043bca9d6834f742da36b1117824c6334a37e14c095bddc51b7ce29d9f8c1ba67a2c7c1b4584c2c5c0a39b0da0e67f897e25add8 +DIST firefox-124.0.2-nl.xpi 600468 BLAKE2B a5a87df2e9df6b0f4c1e53ba87ada7f46bde7394855c61ad6b4b3851bbd392b588e08d3377aeb5e6d6993e4913713d09d211b920d8179e58c72df61013ec3fe8 SHA512 6daef12bba475260bd925bd1db3bf32f678abeb6876bede729a8808c68dc6e65b6ad2a5090d4d9a968409f253c8cccebaf54f13674f3f5cd68864c12452fc5ab +DIST firefox-124.0.2-nn-NO.xpi 584693 BLAKE2B ca676606f2f7166246a8566c1bcbc35f7c44d2801e8903ebefbd372c66db06d1df8713381691f6fb5f4b846ea2f1237e392e14296d48a1e00e45d304c205926c SHA512 da26e8d751e850c533eb9caf93b426e14d38e680c567e13d1cd2075195af1682bc03293d18eff8beffc3b5c8bfd16d6fcaa05654d2d63f10534ec2955f93aa20 +DIST firefox-124.0.2-oc.xpi 600442 BLAKE2B 49d8f868c8d751101d9979c575f38447b17e0b880d42f1cc475edb7d8ec1fe1e08223ee4dd70efad6860a27026da8d6cc6fb90d56547caaba264429ba1a6bd23 SHA512 1577eb225dd993b71ff0b5963e567cbaa83b97806d4bffc4f8fa57abdf43e93fa41d140bf800eb3cd7c5806cb59f0392fd959ae1c3a06d1e580a18e54cb7a1bd +DIST firefox-124.0.2-pa-IN.xpi 674686 BLAKE2B f22a4f21869daf5d287165d09acc1f62786a2a0970cc445aa8e83fc980b093130b4101353d0f1e77af8cd5d76244c65032e38e602fee1cf3def3164edb31dfd2 SHA512 238fc66530d9c34d7cf21894c0ce600d9a235b77dc9b7664ab9140277a2edbc29c20272eec510415f4e885d49ceb6157981c6a46db35f9ca3e7480c1dc169ab9 +DIST firefox-124.0.2-pl.xpi 621246 BLAKE2B adfc0996c4b410249e903e45d2c472c77045db74ff31c6e1ea76e497a32759a5f79cb343ce7a1dd069f13d836605da0356d418b84951dc734c6351fc675121a9 SHA512 0bc118672fc0505ed73f18f7f5f7e0f061dbc3ff28fd958c5c27e51e6da3e468b0f589905c9baba1d65791f2b1ef5cd0e37ba3f9cfa8008b601ee65c842e6417 +DIST firefox-124.0.2-pt-BR.xpi 605308 BLAKE2B e6afeb842a5d74059bd1a72da341e1a58ab38b98c1db90085011e8686b818cddcfcbcc630a7b41d2395739411e5ba93125961593637c1f1e9853385798d85253 SHA512 0a4e4a8db9ed4de3c331fae98d3a9d201ce5dc40f5ecb6f15fb6c569d6d9517d333631ab1518db18444d92577980344f163bafcaa1a5f1ad0cf6dfb3717f9704 +DIST firefox-124.0.2-pt-PT.xpi 611850 BLAKE2B c8c9865961915ac08c58e0b634480c9df91d7ab8cd282c303786a5489bf8e64f8e48216eabd06c398bb0872bda6d3c60a18a5eac264145d02635840072a74136 SHA512 5883d843a49fdba79596b1d160e290e886186dfe32f37e4e68a27e34ecb2387b6e83add2d514d9490fcffbfad117bad3f40ef78272073e60bd50f7fe8bf8b69d +DIST firefox-124.0.2-rm.xpi 598307 BLAKE2B 26bf7439a08dfa695d7aaa44e2590b4118a10732e4dc2b854390e42c829c5c8491ad606732d6f4aecdad83ba8aa58d2b2f9e5b8fb77ab1fd7f6e0270e5436e06 SHA512 523d03d710dce8fa65d7b70326cffab825cbe88b56d9f6cfc5365a50de700896df0edf1da196dc282c2ac2cfa9d15f8113e624da777683237aacab6f7c4bd08d +DIST firefox-124.0.2-ro.xpi 542510 BLAKE2B 5f1776fe56423c5f4d4a8ecad94f39b9b6253dce0a0bbb069724f83e44bf4ee1b2883b31c7d6ab33ac55f5858b9f336b5c98b3beed7c90b4f795ad0eb5debbc3 SHA512 8d96f4aef94a2e63cc7b00aed47a590fdab007a57c405451e9c9f14735c35e860903d50c2e790dc0f9a3175904818130632e5178f0ac176533a32908ecea0110 +DIST firefox-124.0.2-ru.xpi 701735 BLAKE2B d42653869c44df2fe3bb36eae1ba7d9c4707777cba4bd974b5597e789ba0226d8ea8bf1b0dee60e9ecc44b49bad07172286803a99bf77d9379f3104c4501fbf2 SHA512 be5cda4232abe402073d4f42d8e9c535d21c068428350c777e37876284db1609a155a3d3c10106023ede39433a044d8ef4aa91d2df0c07424f11df4fc11f4d79 +DIST firefox-124.0.2-sc.xpi 571500 BLAKE2B f42206e37bf137b58ba8d068b478339e68d3b9127d67e8700b6208a31429a2156087f363cd68baabaaf161a92c7e189f0befebc45e1b8bf4d5aea40b88c2402f SHA512 4ac5d53358de6ffc24feeaf0569f2e7d7658de987f29ac83f5ebd8a106b698bfb4ab37cf9174c24783d8f0b25184323d64fc37b6315ffd5671685eac8cc3e2aa +DIST firefox-124.0.2-sco.xpi 504482 BLAKE2B fc0651773c0ea9422533698f299d19e5d61e36cd285bf3178845a16d0a11adcb463666dce5aebe0a45e2cc16bc301391015498242bc072a90a22af2262c5861e SHA512 b5b22f3b70aab8c9a2b119bae1780c288f0f34e6eeec77d5995f61d1d376bbfb120a4a816f521ff648213e268991c0663914e79a6b1a55c65cc7dc8ec73ce298 +DIST firefox-124.0.2-si.xpi 598356 BLAKE2B 8ef22c49498e336c5d5037608e63b8e34d70319d2a2c25280e8ef492e88a934a4b1c09fe1192c010662ecbe632ac401f1fd9be9ecce38a2c44b62648b7bfff47 SHA512 2e63777dc1c58b8621af8eed0314123de5cf32b6d0203d245b175ddcfa7b543068e0d0e87170b1d3574f06567c55e3e6cdf6d64ec2e00d47e031a3f84c64ad96 +DIST firefox-124.0.2-sk.xpi 635463 BLAKE2B 987f6cac09f22c972172d2f4cfc421233013797bc5c56adbf2ff96ab128d7fd45200dcfc828a5838bad6d7acbc537451eb0e2ffe280795fcad1b8c7f38e34de6 SHA512 7cc091b49a9caaf0c0a9833c0d2064bb096c0c5c806c91e68b3b8284fb84764bc96b7de962b4ebd15d2a09f5ed239d65d9acb06b2d9a0322625e84807a7e8bb2 +DIST firefox-124.0.2-sl.xpi 601279 BLAKE2B 39926d54e0d014a3b86bba1cc0194fbd57dbebf2cb25edcaccf03edfd4a54e3c09643575589ac5045959c39b05455aa7e7583a3ca5175df8e7e6e40dec16106c SHA512 33d556a8a56db7586d431fa5282f63857bd2007929e387f188ff8ab5e9999eb5b9eea28a22ce115b079e88027a2634430f5fb9b36c85e0949676d6e8cf1a43d4 +DIST firefox-124.0.2-son.xpi 410250 BLAKE2B c568f5ef0e5063ade87d6101c74d1f44aac2091e0aebd17df040256a16aed461ff10f5ef4fe97b0b217eb8648dd21ec0c3e059f58a7652a4fa4e96430113c96d SHA512 3ffb78cc387557ca5b0f94e9328a413ebd6ed796453765f8edcfb86889b6d0d03ceff74f5083fb3bfb38f720a8d4922ce610f74892c8f34aeb25887e57c4dbd1 +DIST firefox-124.0.2-sq.xpi 620804 BLAKE2B 72d667be20837d46fd62b53bd0927a05c3bcfdcbfcb9b94f942e4ddab25be86af8ce9d67efee2ecc699a8b5a74d6d8e25d83c84e2627177e9e1dd80c98ddbf3c SHA512 8f00c7f63482c7f7e8b796d95691c079aef52dcaad8ba85671ef4f22838e477dad885a581b3dd68cb33eb393a5a3fe846779db773ccede1362fe17d5846ac721 +DIST firefox-124.0.2-sr.xpi 631737 BLAKE2B 2d1cd53855e1fb8b90036776f57fbd3fb3596a752d2a2fd0758d0a92fa5afa8173187feaa45a7b29aabcfda68b5a23d845e51b34f087862231bcd47879926107 SHA512 b6f993f5c39c24e0c40f64643c35fb7523e4b89cd8510a8574053af47593ebfd065dbeba444a5dec21691ea65d01f9f25c5b4fe26a07713d54d98b176fe5cf1a +DIST firefox-124.0.2-sv-SE.xpi 603117 BLAKE2B 03e079b48688b76fbe27ce1f735cc4b28d43a2957b1eab9abe987f671a8e3c785ddb293e1d06be450c2fc247ceabe83b6110ea9cec85261ee71186809e3e99d1 SHA512 25d7f79267ccba690aa75f7cebf7dcfea51dcd018541d600c04ac5dedef8f95d886fd34e1d891ff3c718d96666310e42b684d8cbbfa8292dd47fc8d4b6a8c5dd +DIST firefox-124.0.2-szl.xpi 519293 BLAKE2B 9cf82b4bf8ab10c64e7e58d6f666bf2878494b272ae6e7512d03820ab18f61849643767ce8a512a32738ecf0ce77dada713178bd5252c9e97cf211c68e39dbfc SHA512 98632ed7ff33bb063f6832c6b4f3a674da71500efed134eee22171bee64513ef72ca91ac7ca69ec3dd22405f3a6a0bfa25bab3deea0b488b1925a502f991a032 +DIST firefox-124.0.2-ta.xpi 500075 BLAKE2B 55e079cfd660f50c4cefea56e86bc70ea601b93405080b306cd6c1cc1565bc57b68a693ea0bcf78612740087b37f1c059c68962fc25d0be483769a88dbce4e64 SHA512 68b91d6e8dfa91cca90fecef8d82179a3611c9ab440ef2a0edb409fff1de6175ec11e8de096cb670838e3e9e2c2b18b152f2100c9958ddd76b5d21029dd031e6 +DIST firefox-124.0.2-te.xpi 551831 BLAKE2B 0498c6bd8f026a31d0518a18546183af98885ee9a753eb476e37b3707932e6db1348311131c4626a47d0121b9672d7667d16eb1be4a845a9b6333feec1f92330 SHA512 cfc46e4684d898c5615950b4414005517061b1a665ff2871001561e157d8e258e4aad56dacc93516b4bc6817cf6eeddac9279882705fbc8d95bef76010f90cbc +DIST firefox-124.0.2-th.xpi 677236 BLAKE2B 6c09109b2d39c511b54bd9974d6c37c49d019f63d456f38a306100ddd110fc123959b700466831d7abb2b9dd8cdbeb40919f266c1473aef8fff2424d2f476ee5 SHA512 09984d194a9366d71230e19f840d182c36ff6a2a26a3e5eeff46db1bf33dc3143e9f12127e393d16e45536eabc6e9b2526fbae8b134bda4ed0d871368003dfb4 +DIST firefox-124.0.2-tl.xpi 527127 BLAKE2B 608669d87474873ee56c4b9c4355920d0860491087269f7a5477f9c2d1b04c81a1124b191fba19fa55fff658fefb2e9765fc1bebdf91a1147240cef46ce132ff SHA512 5672cb540855ad20af7e36593df2b5a40e91c9c2ec3f12e1621d219639829bb035f8bae7b8931cd1ad70cc1dc71675d25da81ca62303696e196b152bce8565b9 +DIST firefox-124.0.2-tr.xpi 615930 BLAKE2B f0518f639ff634cd152d7dbe2fe50cba4836ae41cde177ddb8ef9235c1abb3b6edcd386cb517d4690743998283affceb19ba7d2244ed2d9b3ff95b7e86ba94ba SHA512 1f4f5cbea3a8b6aa3d8822caef4786c14bd681218f4c0dc9662e8c0e1115735c35126b5d9617e6c8a56cd52ba66ca3c7749d620b65ac5a927fc1e81730022d6f +DIST firefox-124.0.2-trs.xpi 497069 BLAKE2B 7c83db698dd4321c6ca9439a997dabb29df6aea45e2846dee78fb8844db638b23e060990af6a4a840c5a26c1da00c68634f3e0f2a7950393d0b0628ce695857c SHA512 c8b94354aef9119f6c273c1f631ce08d3dd332d35cf641483825fdaa7a716946fb969a97fd45e59f32cfdc52f81df7af5a68c4bd8cea20f93751662a3883fcfc +DIST firefox-124.0.2-uk.xpi 694223 BLAKE2B 31075fe5f36091d6b6ab0adcd2835061199b7cd9eac69408eba7c8037375650d146f659205d7c9cf577bccdea476ba0967f688bdd6f0cab736b407eee3feba24 SHA512 f6993359def2975f1a1a7ecb128fb6197afb322ba7e11a400c9e351d1a06ca1006eae7205b7ac36bd7fc2e5a63ecee534b416839788167ffe0ffb37d3b3b7857 +DIST firefox-124.0.2-ur.xpi 553210 BLAKE2B 48bfb22f5e76f34d38c5ad03ca41ead6f09fc9fa3d018588f36fd1aeb70ed9f10ef70b1fc10882d9d5f948e04970d9bf251623e3deb98ff281fb57cb512a81db SHA512 cdbb7739899be716f89ddb87ce5bc769b4434bcf4223b498caa821748d1a897246591f477ce34323edf35500e9f0f05d4f947d737101178f92737ef8247b8dea +DIST firefox-124.0.2-uz.xpi 472284 BLAKE2B 042a0f3c98fe2de648badb7b1011c6ff268efdd57ab63f39eac08e9ba59f4e7cc7532fe8b84bd6708e49b485e9921f3564d5386b6af3471da21daa2b1fd78e9d SHA512 77b3f6f18159e031f130dfdaf2c45e7c52c88435586bda9b49b9c7d177b79f335f03b39ef45df7a1a3bc7b5b9865739e3322647de457b67e33a7a8d4a7ab137c +DIST firefox-124.0.2-vi.xpi 638584 BLAKE2B 9b0818957b987ec56229834b46ced5d1279b4d90deb94a299e3bc5f4d10c9c685bf933b3200b44e9c9a43b49d2ba69eabe25571180b6888b15992be55fb81beb SHA512 efae644efa1b7dcae8c500afaf84ecc77738f14001230d7b7ce5248501a8258a1ce3dc4d00858a9cf71b37be1720ff785d03c3cf6fc1fc34a4f4db98bc2b4c0a +DIST firefox-124.0.2-xh.xpi 410993 BLAKE2B cd7436a833ea5672766a60441fd44ac8be56c402d354853dda5bf672b6aa1ac7a1c0785e1371fda3d14b9bef772c81455e3fde71fcfaa45072d459c33b251524 SHA512 2a102f27f3f2cc60db5ef778f61fd16c8e6b9faeaa6f92c928a67024b31680b50211f8016e4a5536ad6bb1148933af151b39708dad0b28425b14d20886636649 +DIST firefox-124.0.2-zh-CN.xpi 640173 BLAKE2B 981d6819da6600b28fd3fb10b7adc6fbd14607eac0ac718124ee4d5befbf139e140d731a87938e4d348b9aa258477e82b86ef66b07ed204790e9ce859d9befa1 SHA512 d659578ad68bcc0433ea6f03f272fbd9dd6292efda0a2d84a33b987858e54deca10a5bc1d8bd68c721bea258a57296fc93e29fb72fc9fa0286afe0ca65d364fd +DIST firefox-124.0.2-zh-TW.xpi 642118 BLAKE2B 56be8d7c6c780688b0160ec0bbab7258ee9d88b1087a0faf95b40f11dfd18acbf676eedecef7a9c45a5fe82d09f5f9a815ca69aab4a44fcbcadb81bb6909671e SHA512 5bc8540068fcdec6728d743f123db6a4d7936b63b1dbf1a669d1dc7745b9e9ba1512860408acb3adebb987cfbcda0ea8c23eb998bc3e056dee5799092a0a8fe5 +DIST firefox-124.0.2.source.tar.xz 555223648 BLAKE2B eaa35c3967514cb9f9ca48e32414bdecead3147a3d5ba8e9648be32f04b5d9e209ce71e02029851e1654c66d5cefd9a7b1a2a0fa68558a856c2ae3b1112d04d6 SHA512 8cf340de6e34812f8ae3363265859a263330af770d981c3dd1ca1e7e0cfe513604d3e68184d4aa1446569aefbdf359d561fbc200faf19a5ed020a1709d9ef10e EBUILD firefox-115.9.0.ebuild 40131 BLAKE2B 075005b8f056a3220b0e25860e87698e377388471f90e156dff30fa0c554d48317ec5b0784f9058cf8e6e109ad290eea7db4bc2ee0df63d6b0d17a493f6fa7b1 SHA512 cda2b831f8738e2fc67894ac22e913cbda202d1e72f204655fcd7169b12cb1a7aa7c10a1b24ca61328ea4bdf0427a8b76a497d1be3d3fee77539caf4e2b573a3 EBUILD firefox-115.9.1.ebuild 39878 BLAKE2B 1c8242b63ac72dfce4a84263ba4c359101058b6c3acbe43e57635e310efc3cb16542c1cdb68442de919f20a530ae31d486682dafd4988f5d76c53fd4dd3a6a64 SHA512 df531c94778f63d8a65d52713a97cbafc042d85bd3218e1c4fd3b20ec79f6ae12bb58e863b8a2756f87023b9d533acba399368e666a67316cc699b437b53f534 EBUILD firefox-122.0.1.ebuild 43363 BLAKE2B d215e52ef1a0c12c36c1956ce551ffb80fef00c8dadc60b0a8d4e08f22308fc4216a0c02abf81490b9ee54abdc9a8c2edbdab4939df9282608a427d19cae9423 SHA512 0195715e17e34da674ef69785af0261ef4a229f55679b088cbdfff25e89cebe5f965a3f42ad48226c9eb47ab3951c88969e256a26f6639ba3d74d42ed7b21fe7 EBUILD firefox-124.0.1.ebuild 42533 BLAKE2B d0463da13e3e8f3c38ca8890186352e69e18ab39bc2143bb6fc4fabbe17af777ee14624f5c4b9a11449cdba7062f2331cf82a11ab26a34cd9d1bf4b376e98244 SHA512 9de09b56d40257d7c9aabc5806a61235ba66b5701ed7c329d5e0cd0544d9e64f85ccdc2923b7f51996e489e42cf4064c3b3675fd4918f1c9d0d1e0cd6a013833 +EBUILD firefox-124.0.2.ebuild 42502 BLAKE2B c92ad06753afa9e83335782de6f9c9c7de5ea50ab45a19c052c4df8ac809ed1265d9e2779efa5257be541b40cbda9efcfe7c089b367ca328518e72364a1d8340 SHA512 af0045beebd5c83861e36bdbdab92f15bef9b29ca30f67e717416549f8bb279db1137044d8e1c7cb05c8cb82fe2a8c33730a1687b57e64fadb527a5ecf40cdc3 MISC metadata.xml 2597 BLAKE2B b449997bc096ed8fb7bde41a5acb8d9f4c1c8cfc9663c06ff603cca756e8868d40049fd292a459a00d80b4e8c3a74e91e29fcb04abe87277640fe65d070f0bda SHA512 703c7f6a2b46748786145b0973a7b8439e530c96fd7c50d773efac7d5d9bf74ccb4f0c252f2701459944f2b3ced22d3e57ddf049b9aed0c8f0e094cabddda251 diff --git a/www-client/firefox/firefox-124.0.2.ebuild b/www-client/firefox/firefox-124.0.2.ebuild new file mode 100644 index 000000000000..cce5a5e34687 --- /dev/null +++ b/www-client/firefox/firefox-124.0.2.ebuild @@ -0,0 +1,1423 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-124-patches-03.tar.xz" + +LLVM_COMPAT=( 16 17 ) + +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-python-libs +system-webp" +IUSE+=" +telemetry valgrind wayland wifi +X" + +# Firefox-only IUSE +IUSE+=" geckodriver +gmp-autoupdate" + +# "-jumbo-build +system-icu": build failure on firefox-120: +# firefox-120.0/intl/components/src/TimeZone.cpp:345:3: error: use of undeclared identifier 'MOZ_TRY' +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.70 ) + !elibc_glibc? ( + || ( + dev-lang/rust + =dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + >=gui-libs/wlroots-0.15.1-r1[tinywl] + x11-misc/xkeyboard-config + ) + )" +COMMON_DEPEND="${FF_ONLY_DEPEND} + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/expat + dev-libs/glib:2 + dev-libs/libffi:= + >=dev-libs/nss-3.98 + >=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 + + if ! use ppc64; then + rm -v "${WORKDIR}"/firefox-patches/*ppc64*.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" + 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 ; then + # '--disable-elf-hack' is not recognized on ppc64, bgo#917049 + :; + 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 + + if use system-python-libs; then + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system" + else + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + fi + + if ! use telemetry; then + mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0" + fi + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + if use valgrind; then + sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die + fi + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if tc-ld-is-mold && use lto; then + # increase ulimit with mold+lto, bugs #892641, #907485 + if ! ulimit -n 16384 1>/dev/null 2>&1 ; then + ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from sys-devel/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + + # Install the vaapitest binary on supported arches (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 +} -- cgit v1.2.3