diff options
author | V3n3RiX <venerix@koprulu.sector> | 2025-01-23 06:45:02 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2025-01-23 06:45:02 +0000 |
commit | c78477d222e1ceb9516a9bbbadbba0b5c1ce11db (patch) | |
tree | 5187cbad4740387edb2c1cca0942036a0fdccd88 /www-client/firefox | |
parent | 564687d289b862b8b079569a45a2d39d7b8c3585 (diff) |
Diffstat (limited to 'www-client/firefox')
-rw-r--r-- | www-client/firefox/Manifest | 102 | ||||
-rw-r--r-- | www-client/firefox/firefox-134.0.2.ebuild | 1371 |
2 files changed, 1473 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 576d25bce642..4ccdf055d30c 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -617,6 +617,107 @@ DIST firefox-134.0.1-xh.xpi 421000 BLAKE2B e294f811b4631e5f82a4cb5bd78b6975a57ac DIST firefox-134.0.1-zh-CN.xpi 684489 BLAKE2B 2113c7de306fce3c07f98a2301bb9a86e4a9ff0b5dc4af4f1a99b08b787f71a99aca078fc0d7eb1cd86cdf04d46ae5b42f7fb0018bbada84e6e6ad9115de9e0f SHA512 beeea5e91bb502bd560b8100033dc922b51f2e06da01754845ffdc58c08b62154f3ccbaf6b71a4b12da8bb30da5ec2a63b7019c1665a881757fca7f6f8a8f2cc DIST firefox-134.0.1-zh-TW.xpi 686744 BLAKE2B 77b3cc5fa4e33e2ff940599082bb741bbd0dd3d5f75ce1f9c3f77c8440ee6b7eaca575883215756a5c40290bf706b4580f9a7b4a9d03277098e86105424d3020 SHA512 fe9393f2b5ed97c24efb82181df81d971238440bc41f6f716f66a3359dc9d8b583a81af8c69b504cdf2ae99fa69bff53f8240293c126eb2b06130e3ce031dc76 DIST firefox-134.0.1.source.tar.xz 602467028 BLAKE2B 8ca00a9701eedf9b29aaf33ff1fbb57f515a006dc747ebac358383a49ab8492315ca321bd5b8e1c6d9966d5fefd83c0493c6df6419abddd3f07396ec7495e2fa SHA512 3f40ca5a753a66e08af4e8b12d75feab67b0567ecffd34f5cf013f49aeb809ccd458c8011e9456dc902c24eaf626078117874514eb40cee5574eafce93ee772d +DIST firefox-134.0.2-ach.xpi 468183 BLAKE2B 91455b0dea7133afa08a028baf85c7af1152c668ec18d021c2c4b52cdd022a783fe6ff957cd0a0d465c68f2404ff32e269988baa8730e9fa164b0bb3ac590ea5 SHA512 28620fa421c375ece3d4557f8cf6c6e03af641fa2e37672cdc243b40e773fc9204bd8d950dc7570006bf55d941c3d26cf57a170c79e3e4dd9c0768562af6e6ec +DIST firefox-134.0.2-af.xpi 421167 BLAKE2B 08b0592f6787e4a24e96ae5c4bfbcbef2d9aeea236020133e975537bf62e3658114f83fff2a76fb6dae46e85f5f951bbbb64d22b9e967f755672015be36a143d SHA512 a1794da6b6e2f8db7092e6821bc943b103ba8dee951b9f3397592df72f24c923b9065013ad9a4daca4b85339cb32b3274f6b4d16d2e9c977c13fed9536563f52 +DIST firefox-134.0.2-an.xpi 510946 BLAKE2B 29ca8a6c28143f52f88430224b83042db01810839b662038807813d4c83b08b5e9fd5d89899ed09e0ea2c7ba5a6299fe4566e809451c0ad89fcfec1236323823 SHA512 db600a4c5f5535c88fece4a47a2b6e734b0b36fa575e09ee1dc5913462c56d88011c2a32cee6269ef2ebac0769f6f0af4807b7ca8cb86f1bf827ee40c8ec8aa7 +DIST firefox-134.0.2-ar.xpi 633887 BLAKE2B 45ff400fd076dd182de8320bac741bfaccec8f285734e5e9b74b045e3c5322e156096e1c4b290b204b22ba8c42507bd892637e3f5ac682d172982951b3fba33d SHA512 1f5217a22582ddc0de9b308a5202ed9501f0a46a16edbb7cac5dda5b3a7e30c2a89c6de6f526a2a5ffd90602d220df577e23d16fc91fae7d434651e9fabdd6b6 +DIST firefox-134.0.2-ast.xpi 500088 BLAKE2B 24a5e6a8d25ed3d6acd75bb4f42bd111b981e3bc053c36d204fe9346a4b726f264c6f2c6e60babf6f13b38b6b0ba854e4898ee4db7381a025553e2ccc3225bb9 SHA512 536a4cfb4125b03c4a78a1e131296f639b9eb1c5010b35f0f4bd83ecbca2777c732b6484f97a4204da404f3558f036453518996fa410b1093a8756f928fdc365 +DIST firefox-134.0.2-az.xpi 494909 BLAKE2B 1396f12aa5694db9259e2a336340bea9c6ce149388472941bf815341558cef15bb8c21e6238c6b8d9957a529e35337160e94a2d06dd99885d089346db48e5ba7 SHA512 d55196ce86cf7735e5c54006ac1bff60152aca55c99b67ac8778ab24db186eb6d7b7028967a643d264033e36b1cac25353869b41a9a114915014a04a856cf8e3 +DIST firefox-134.0.2-be.xpi 744293 BLAKE2B 9487c2484b456c2f654e3f663eec7da783b7a156553eba084f1df3acabbf58ed69677251d3f1dfe2cbe7b0bbac0144790035a6497fa47d8457b32e366c5e63b5 SHA512 eb9e39c7521668756a516570dc6eed4ec179473debcd48c5ed74d6a1ef03893b6f4086c1b2e1badaeb6ed477b61c2a9e5ff3a5022ed33120ec62f50cd8e37271 +DIST firefox-134.0.2-bg.xpi 670910 BLAKE2B 15cb1c571dd14259be536338fcab9e459f45bcc0c4af13a74453fd79b8450520afa895a1503e22665e357e43b0d61cf8f18bc464efcf4af0b3be0916718d9b2a SHA512 1fac3d9fdc25cf206ee4bcb0da63190d90f755f49f17544dfee7eb312ea53f1c397e35d71d365931e5db407806cee6260da57fe31251980cdafbca633878eecb +DIST firefox-134.0.2-bn.xpi 615526 BLAKE2B c1c21e1f36a807a566f83176421fb48fd55eb0936ae8d71150c5e29c76e09ba3f91d46ae416754ab7b289f9c06be7a69f348061370ed8e9bab96d71fd32bc7ca SHA512 3d766eee4762e1a8c820406f361c8a71278f84f602df323bf24d3904a72a39a66fd220f265e14844ebf255a20dc2cd7d932f38ff653d688745e09c7217914492 +DIST firefox-134.0.2-br.xpi 598071 BLAKE2B 341ced2776436334b5ef85427f138a78378c0f21c6f82c094bbc05af41d40d6bdf934fa5814e5443464d3e7fd86347f594d96e60b4274a38c33868e5a0abf26f SHA512 e030429a56df0d4cb1cf939c07be904a4dad342c8ea725f09bdc46af79bad0d02f446717400551d332d1873a3b7a29d7468df829274109010192ed0da1dcc8a2 +DIST firefox-134.0.2-bs.xpi 557246 BLAKE2B 45aa9f9a02cba0001996fb24ca06f162f478aa25c76303f09cdb7b948dad7e5a0941ef7a1acafcd223c94b2879eaed62dbdc89204dc37954d987148a576e9e77 SHA512 d5756568967d997614bb282f16752a9e31d867b65d58b98e1bdb4e314f098f4b16b39c646d4776faa17ab558dab8ff6611a656faac622d6365686948e951a12b +DIST firefox-134.0.2-ca-valencia.xpi 550244 BLAKE2B 22b43f335fb1e929013bd9526476b2e910547aa94f4405225ad3016e6e4bd214a5844bdb11b48d307575ba8a17f1878525c4fba871b9b16e77db0310962630c9 SHA512 ef1f4c5f179291872083730de90df2f1176bd29c8afb4e2d777c2a0049946f37a0319a58b5500dd0fd56f9a67deb49165a18f89c3ec61cad57634817e05eedb1 +DIST firefox-134.0.2-ca.xpi 607770 BLAKE2B f1c6051911fa9c84aace6d130d466e20488f34f962a1f0e2d9f05f6ee9890d5a4ab282c0de9500a013edc8a8cabf7873476fc387f76cb8e02b8cadb1102dcf65 SHA512 788b5d971cb7062c834898a1cb8b37908e84e30ca3917c526f978697721d1a0c889ee941332fc40a24aa34a59278e5db648e467662d440bb2514446533e948e0 +DIST firefox-134.0.2-cak.xpi 597772 BLAKE2B d8ea4ce4f08ba4e45ab38c7b872c490d7a1b85b4394abc3c8d3f72ab30a2e41cfe56836f5f2a2ef72349ccbb9140904b945ad725c7d655a032385435a7e81fe9 SHA512 75d3097873ff94553e4f0fa2e08c6de495b096a365be09d16c4d5dd28c8b0b6085bf72905faacb4ded3a72f473824a838e4f7466f8e1c6dbf2aa3cbf984f7c12 +DIST firefox-134.0.2-cs.xpi 688678 BLAKE2B 4613b877cfcd46c3956484fd231b56a0c23a816dff6ee0cd6e26de153b41381c3b0d950904da0910579dcdc0f073a3336f25de8a1d270336eba2448e5ea574e6 SHA512 82747ce8469b514aa367284e55fb79c022430276b394a56b76903b8784bd7c569093216cdf0ae922542aafb768048e7a5e165c45b21791f6bd8016d9ac90303f +DIST firefox-134.0.2-cy.xpi 649384 BLAKE2B 6ef3a13bbc34ba3cbc7f8be369c3a414a80f8d19ab91958349c6820c15d00b9a8cc2acc0e79375025ac5705f45eb6ae6efac6cf93794adb148981a581a431ad2 SHA512 8fe21142730e5c321c741cb214e5814580a38ae8ac8bdd6d468f24e138950396df6238c5f087db7e8e2ae9dbd5e68454b3b206659edad50633098253b7e73c58 +DIST firefox-134.0.2-da.xpi 637279 BLAKE2B 7565d0cd6ede4bc1a236666f1dc44b6c2115e954167f9154b7ba85cfcd365cd5d147464e8f2120c39f5ead4bd774209fa8fd8514495d3054bbb95a2c20a27516 SHA512 f5d99d52b7febb34fe5cd7a7334044855f74ac8a919d8382e4abeccd7bd60113672be8b0bd47ab31c764f5092d31d66f566bb217ae1ed4b9e7bffde6e8fe6937 +DIST firefox-134.0.2-de.xpi 661274 BLAKE2B 121bbff7df561b7e404b86ab7a74cb2149d25059ad48249b24aa7272dcf0758817498229099d95eccd44e04fdae51aac4c48df670cce4311cf6872522c2c9bb6 SHA512 86cd284f5c648fccdfe28771c2a9b06ce879864052ae5953c0246c763bbc0e749fa79aa19c00ff4de28a946569c0a921ea8d4851bbf19e45ee5cc9150eac051a +DIST firefox-134.0.2-dsb.xpi 678095 BLAKE2B 9119f2cce2193148d29063f9ac59e80d300270079c3ef28bfc7f7a578f3bc569c5fb0dd95223f9ca8288b22c0a4c8668bdec8b00887185a74e3538df3b53413a SHA512 199f80c42027ebf314180ee92c25f6bb4e6c8fb62287b7a67b41f15a9a1651bff680e35030a654a8c83c19c1cdd88724ea5e102b4d3066a7e236f2413467774c +DIST firefox-134.0.2-el.xpi 760453 BLAKE2B 1f471a7e754b8fac4fc9aafdac2c0c58536e1822400b67952fe6c80ed5a4d8ea3c531fbce704a153ea7367e351010eabfd3150bd0874f9ece691fa535b90aebe SHA512 100e5e21cac15208e3c5ff76c3b0fff2dcbf33b2d0c643c0ffa7e5fae246a8a6212b92c33dc63325f0eab18e923511fdab662dfac744d1ed304bb338efd3f47b +DIST firefox-134.0.2-en-CA.xpi 607988 BLAKE2B a38f9093d70522ce28e0080fcfdde6f201b259d833a3eaa86bc359b98c512ef150f4aa460c26e7dc66df215f50d1511ade196e8a9e5f82052e035499ed54f0d4 SHA512 4e68eabb1e3addbe3c709930723df8406a005ee96209078e2ab38d85db3e2237a760d5d88dbc76de7919f2acd323e548f62123bfaf4795256277e9959c2390cd +DIST firefox-134.0.2-en-GB.xpi 609125 BLAKE2B 13baf2846643d2e1365d9a2111957300c8642c78a3675d59e29da50fbd6ffc7cf2cc0736f117896b9b9fa3e07e7d4f950df823b92dfcde6f11f5e11c62e30942 SHA512 04f9a3c61c87490dda717c80ae2c4b865064af9e8e0f6f72426ea2f47ef12f730097a48c5aee9d42c2ee0929e958a3eef84a11de6f7fdfa2b62e2b8cc9c990e4 +DIST firefox-134.0.2-eo.xpi 640107 BLAKE2B e0af3b4a51a1d6ff021b552ac337d965b9bb8bb9e4eacac75fc5894c9f685dd4780876332ef86f74ded4543676fbd472bd69b7716d026cae1687c0ee4f3dd39f SHA512 7bf6cd4c901a9db4c873d596f4518aba219c7e347ded0546cb1e508643f5e4b9d145fe43db2b2c3c18b21e57bb221b4b7ca2eb61252d06cbb9e1df5d71fccd8d +DIST firefox-134.0.2-es-AR.xpi 654030 BLAKE2B 672ff2459977d08013fa39cf98588337078f58ea3ebba74a9cc13e25498aa31a061163e7a38423a8f3043e3b065b7c469d12ab5b6b96a5ce4ea6deb691432a46 SHA512 a68772f891a68ec7c683932859d1367ad96fbf167a6488629b93e42e861d6d4222ca9f723c9076481fc0765e50a1956c9128ad4b292fd736d95f24998edba8be +DIST firefox-134.0.2-es-CL.xpi 653727 BLAKE2B aa596062cf6ebc7cbf7a0d5ebd077179ca0ace4873e277fae77528be48199d3aba4e5b87634b9c06c8168a0990973daf49b291cca71cf68dca338f032d522caa SHA512 9e68c4b40ee9080b6c86f214eca9da736a4e6f1860188944fb60d4d99f353e8a93b744b46973b0e80714d64bb629b2ddd34ea95d4e375a67d747b169a1992883 +DIST firefox-134.0.2-es-ES.xpi 648576 BLAKE2B 8f9d4384b42d10933d99b23eb3b0e9b1b3da622325f9fd11d61fe9b29225048797030f453289a4eeb89440a98d8b76baf57cedf7c6bf76ae16031b790c132b3d SHA512 80f54a6531522abe30da8e2a0d6fc01a70dd3d573b2bbc99d80c409e02ca52fd51f4feaf5df4b11548899b09ea26bf750bb22c74e8643cc4b38537bf8896dbc3 +DIST firefox-134.0.2-es-MX.xpi 657172 BLAKE2B 65d7318c90b5f3e2c4093ef1b2b1e06b308b005fcba9778474cf17bf3534cac0379d3eeb14d6f7608c35f99a30d21e3b244297b801e51d86a35ec954ebda2b51 SHA512 aa6c12525c7a2fa808ffc48203eced3ae17f4d9131f85b3bb1240d8ef6ed67cc05db091b7d0c896622a6b662adcc035d57515dca091f82072c0a615022e05a4b +DIST firefox-134.0.2-et.xpi 546712 BLAKE2B 7f7d14c2a4f145684e43818c66836eefdad661bcb23e48e0415a46377bb8f320d832573fedb3b3e40d47489940d8eb5430a3999535afd3ae4c7f7c736c6ac205 SHA512 747b51562dd3de57ee5d0c115b244589c6eb300a69c74a6a5373f942a9e88f106abe87e79043922580b2523051233f52bb21536063255bd3f1217efd4d214244 +DIST firefox-134.0.2-eu.xpi 622846 BLAKE2B 5cc311e6e69ed1c618dea710dbf390e9be23a4b5108d9bc2167edf916e30637a6c236969c62f2fe7bfcd65ca8a8f12542e68fa79905e5d8ec6208b961f216b96 SHA512 d61649cacab14051df4bdb8c84a9c07d75534a1aefcbaeff42949cecddb3e936ac20ae87db924b3bb624ccef8cf09c58c4bde295bcbbcb5dc46387ee1090c592 +DIST firefox-134.0.2-fa.xpi 625173 BLAKE2B 8a83f91f813742b553aa2e0729f453e30a6ba63544a5a78cefce822b1d5b30bad27b0c97a4d16757f7d88b0554678f6a0e436826bd1fa0af275bd79070a07513 SHA512 4272de5ae5ab383412972cfce469b1149d28993e4e11d2637bb5dea281d70fe3b434f8565058c491cb069f185a94324e82e380d539a4443408332eeff23e0b99 +DIST firefox-134.0.2-ff.xpi 479990 BLAKE2B 7d9b9df4107b0060dbdddcb3862e34488b95a74a37f8ca89b8840f1a823b34a013c347c297e6941ce3e939a0706d4d92b78eebcb818facf69a11f9607ed4d0b5 SHA512 563a20402a591390a33b0f20da2752c1990f35e57a8d200bd188e877d99eec80f12febc2779ac26a72db639165500271463cd1755cb5dc97d0646785191fdb15 +DIST firefox-134.0.2-fi.xpi 634175 BLAKE2B 95b0932aefc452a2e9b29861ce6c738379ca248f5dc20a6ef17a42705637ce957011e9bc44b73ed1b9e0b17a137a06909299f5732e5e74856b0cc488b9508e23 SHA512 9ad86fa96130a0522c33b5bbe8f5a809dde0f2761c982ff14723abf10984707e707d9bd87f4e75efe4f8868412884f5537847fbc6c246b7309072089b415c143 +DIST firefox-134.0.2-fr.xpi 667545 BLAKE2B 76564df53bff5d1a01272bb460d6d91c79b5f78d9e6bca078e07955c4f4c0f116b4e7f8b7abad35f7ece426113c2ea60d223d831b2c397e7fa7b451f7378e4f8 SHA512 389b2b916d08358de46f9fbd60a2462c4d362a1a3db7af611ab16c596f9cc0b8bc52517b479cf78e42efe28c72768ae14d03296d964330679cd20aada0767b5f +DIST firefox-134.0.2-fur.xpi 652564 BLAKE2B 98f4716015835a0749439400113517d32a29a7f94de952f4c26d534beb4b9a050cf461b1a125bd36feb945c10d181d2c144ce02c20411af1080aeff312f65fc4 SHA512 96deab0467b2f92b3a298de3139dfcfbde89c094771bc391d652120211d6e095cfb8ebe19f5c85aeb06a70939fe2b609110254d76370b1bbf0a85f0c35571586 +DIST firefox-134.0.2-fy-NL.xpi 649698 BLAKE2B faf13b822920f297bdab3fb722307a9e87d5f5682595fe467318305120d92ff22ca2a8e749a600a104cef8f3ff64315b1a6a5dd95866ee24bd5de0a912cb204e SHA512 11a028ab6dc5ebbf0c6ab9f52b75f2ca59cfcaa47a9a90ab77d228c0d838a5102ae1d994c45d10dd9785ca020a7308a645ae45f2c0dec1f3f7d049593421cf0a +DIST firefox-134.0.2-ga-IE.xpi 474980 BLAKE2B 4e2f1835f9ce5136655f8e0ff1a7e598af38c08ae55ac1d2937517fce36040722daaa60c5de1894bc3d7cf8619b75948097d21859ee7eb09918dd9d6b5bc48b1 SHA512 dc76d77c1648a942c08dc9091c7b016e18b7a2c284a4f6bbf4e58651bb520c4de6319d61d0836b69a526b1e15478ad697da7d459e9eaf335d792794a2e59082d +DIST firefox-134.0.2-gd.xpi 603300 BLAKE2B ee7f7ea015f6e08e0017fdd8cf8b2a15e1d12c894712c5fa06aba0305300863d1741e6443a48ffb9a69fc84bfb3745a55c62fa1a1564d8ecd41739b12d03b5a5 SHA512 d7612b7726ff3bd7cca2df22e38ece666b6d94a6b575c8f77dd098f067aff7d85f087c4428ea9ee79490eed5162cb7250ae2aa109e3b92aa9bd49574b98c7577 +DIST firefox-134.0.2-gl.xpi 614898 BLAKE2B 69322faa162013925e25e00d684252e8ea453ffb5dc99272e7971628ea5c06ff0d45f039251906ddedc25ebe10103e1294fb2d9feb4f4bfa4609b14872467a25 SHA512 f387aa44a401007b7fa3da1edf11b3ba42969d92ed1449928991f604a889bf8d952d9fb8dde823b1f4a7ca2ac23009554e5ff06ffd477a04a66daf6ec2586d97 +DIST firefox-134.0.2-gn.xpi 661083 BLAKE2B 7e5fed42738b3891ab58f658e9fb38c16428b4ca79e57e2e661c12ea60ae03f9b69e6861c7d25af82eb45f0083fe296515421379c7a44a8ef9e47661d684ff3c SHA512 9b1edcd8510acdc8cce031b3753f6ffd65dae202fff987e8a1955f1eaeac7c494c5870b24678e052d565ce885a89f2f3aafc34b768f81efa92fa56c5420af7a3 +DIST firefox-134.0.2-gu-IN.xpi 531506 BLAKE2B 32da48c3da174c5dbc784fc289556b28de43a78e4be1e13f51baf9ad333d3248ef37e9af2e51932b13c31344d95be4aa1b95369a7acab86d7e9c443fe9045716 SHA512 3ea36f9a30c60cf715f2253448784e8a2cdc241ef6022c92333e92078aedf132b8932dc67e94d91458d46ea8a649fac4db54e0de510cc5281431fc05afdd0dba +DIST firefox-134.0.2-he.xpi 656250 BLAKE2B c1eab0002cb46ed5b4a938ab176103e8c98ddfa116b62499b90556186ad2506606b5189d88d5f3dd7f456ce4cdc00de6a4f05a3a279c235bea03af50ff351185 SHA512 3f203a678471a86ecb5ac9ade5337fa5df1a1f9f4cce5509b3cfa7e555aba52899283086922468d1c4fd10d7e6f626c6e1c60faee6cae6153a2db3948ee126a6 +DIST firefox-134.0.2-hi-IN.xpi 570951 BLAKE2B 2070be5756dda4f052dbf44a102a981e175d7ea677e3f12d059abe95908bd285385a96c6e7ec1178b964e5ebfac4ede72bdf9a46f70991256019059fa3583123 SHA512 26170c931087ebf07da2a4d9b047dc28e671b0d0edaf686ff316a8dbceac75155b3baeaa7cd95023596fc1c6828b24f140d8b5777e603ddfe9af4cdd4148d532 +DIST firefox-134.0.2-hr.xpi 633364 BLAKE2B f2b25071146afe6a855a49f69834253d1fa0e7f293e91b05327cb3e39a8aa677379a302b063875d1a798971ab0ddb2096525243c2c92abeffbadfc9cfbf517c8 SHA512 14cfd5dee97851fd66ace3c8f783023a3e1f15995c1d1bc33a1608b0127533d142926aeb1816fa46143414a20e25d8cd26a32b6e9dc0b0f43d950aaabf775433 +DIST firefox-134.0.2-hsb.xpi 674094 BLAKE2B 6946a02e5206db18b7e7858ccabf92c8ff89bb19b515945bb3ab37f32242ab8794024bef63c37ab0b6d1254bbabf355ce85bc2f3f31ac6b784b97b39f66c835c SHA512 5ff6d30ace7065540c177e8f593df1b0084812223844f12b9b2cf01929bd0deb2eaca15b8c73d6fc98e8990fd1e5d7bfe67f91659ac88b5310cad4981dc34d3d +DIST firefox-134.0.2-hu.xpi 678171 BLAKE2B b2de66091fb9750ceefa589cc816dc86fb15ac050144d2900f226f41ee9321eee741290bb496b3a222aa1b0c1349521fdd27e7a0cb3310b1b69ade1b561676d0 SHA512 756bc161ea6debf018ef1b3689d56e2dc14cadf3e1a297481131d16a5a0d16be7e46dbf30964df8042c727af6ade87b9a0f4f85fc72a6982e72fe42b8648ff4f +DIST firefox-134.0.2-hy-AM.xpi 661668 BLAKE2B d0629f388ccd7eea29b7a62c15b2869f60eb061808e12f67972c3cc94c114d67cafc5051c693506d72ed7c5e4558b055866e04dc2b5780b36606f6a3d70aa043 SHA512 95cb4e2e269b7fb5b061798713e53e6756882df1a522767c5546c7ea022e2da5fb388580398627f83ee7ca38f2879bc2d7b78e222172c881471e509bfe218d5d +DIST firefox-134.0.2-ia.xpi 636641 BLAKE2B 0ad7121b94e38d1b87366cb76ce922c1388a5120cf56a8732c5b3e38be748d70f7ed105e4557fd1c51d27e3cdf32579b1bc1d6b0ec6dbe08cfd7cb6afb9c414d SHA512 d4b50fce3087c9bc86172e80f61af1c49a5726d82e4b217473c011d7d29a997b8b98d101c0f7c6ba59b968ec82d0be33383fa23fa04522a13e447e12917f56b0 +DIST firefox-134.0.2-id.xpi 620030 BLAKE2B d19441f894fa01bfa9d70ce0ffc22ebf288106a3c5316a92f7f1a4253765e4ec34ba1b112e4900446b89761364e58f7ecd1c816a1fc944bedd5ae578f66cd356 SHA512 f9f585e99bf9f09957f92deba6c7131767a9379d5770e776acaad1bdd170f6fcb5f8d91a50ada6d777d307ebd1e7e3648a09d2621a2dfcb90496851929855a32 +DIST firefox-134.0.2-is.xpi 642113 BLAKE2B 1650c60e471026f224ea44938f5de3ec347a0567e2262a3b592cd675e6127268e38bf9a4812da817e53abbb9c45d891cbc3e445f20bbec73121e94b956d59835 SHA512 670276c003825ee87e2ee9b875b3cb65c7b681af17e3371765f77fb257d2ae768f6e72f58a05caae13e7c686d4abee62cf358ebcb31bdfc4ccea395019d9265e +DIST firefox-134.0.2-it.xpi 646155 BLAKE2B c3a61b0ee00cffd33a1a4cdd151925f130937eab32abd0fcac8d01ec16c1d22d4451edbfbd171cd8d37d443ced974c30e6359907765ae44043838845df6b589b SHA512 47d05d3a2864cc16ab798f9fba75ab60f7f84972b0a8d6777d7a16ada927912eeff5f47505ab0318d177adf5a06dcae066c38d612c50fc161977aca42b5657c5 +DIST firefox-134.0.2-ja.xpi 704020 BLAKE2B 21bbb707fde92fd102c02e05887d43522a6516cdf3828d4b8944a0fd285650dac73815bef11460e351dda3f033d6fe5f8fe3e22a938f7b9ae9a4acbeb23001aa SHA512 1630e3a3ab7fce57b326313948088afc16f9d078584b62f3a086d41616dcf12fe4c69a717964b315a19c8599ae0c4c6b3fedec92cebe4fec2736956a8d78fa09 +DIST firefox-134.0.2-ka.xpi 711237 BLAKE2B dd0113c3d3d31be04380a249458c1deaf436238d3613100f46a722cf4c9ec7196921959820a57fff35c531a09366d719d6cbb7bd5b58d14ead19f3c6fb810d45 SHA512 99823fbf10be1a22d40f809d6f176358666e087536c249da17b5febc0184a702cff3f3c6daae9116eacef2b24cf84d7e20c127809480c0971c22cbf4992ee34c +DIST firefox-134.0.2-kab.xpi 626325 BLAKE2B 4a6e407a984e1c67c9807e6064872fca46e98db8995c3f7f0486d11ac6e5cde12dc19850868971ecb4e16e250548284b416a03af40c337f91aa60650382bd8e6 SHA512 0a536b59d7e892d347b2bc50c83fe24795d36d2d187cad8866a7cd11b8d94aba8796f1d033372a4d43817efdf61881ef383fa48b96e3918e89aac1f461eb6d81 +DIST firefox-134.0.2-kk.xpi 734771 BLAKE2B 3ca4504c41e83efd367df9b8fc0322f6b4c56a90af0149486969ed641a9a9fa29afe6c8e8f6576aa41c5515a3366ca502c7319b3c08baafa9fca623ac051c66d SHA512 a5750f94a84ec6e54e5d0b9962be729f3f6c71f3926b5bb48cfbd881013b734ae3afe94863ccb2a290ba593537515ded16973320d04143104a5abe2181fc3162 +DIST firefox-134.0.2-km.xpi 529767 BLAKE2B f1e01001e37ec62f75a999cd0b9de498f5c6765174bf42bcbaf1b0dbc52fa734f8e6c2673a5d1f439ddc65b945f7ef1f045b9ef4dc05f744e1be7590f9ac6b60 SHA512 a60caaf040a14ea072aa25b2165361f87af0005731c594c15dd05e7abc9e435e76575a51594a1b8d0706905fde23b5bd780ac9bbdbe72d8dcb326403da8cdf11 +DIST firefox-134.0.2-kn.xpi 494772 BLAKE2B a64a6320bc280805c7d2177d8df97061dbe56410cc1157ddc9cab78ecd91ec948ccec2eff611e623f2e70dd43821ceba07ce6c3939ca6255384981925e69008b SHA512 9db4d0d538d091217c6f8dd0d8bee01afcf3f98aa2197055222744468cffd8cded43d53b702dd4d8c62a7ccfb57c1f3a6abde473d58bfbda774719f5acdb368e +DIST firefox-134.0.2-ko.xpi 688667 BLAKE2B a460fe1b491db2ca958ff81053c3fd1f1865f20ceddae3e5a318470deb5cd16cc566dd0b06427b7db28467b122cab2462841c467fd88aa6edb6590626008ed7a SHA512 d3eb1a9f32a86bc2898240983beec368b5855c529d3eb5ec39616f60ec531ab538dff4a8ac1bfe0f7822b898dd27ee73492978de360057c5a10915ecc4d7ad70 +DIST firefox-134.0.2-lij.xpi 488326 BLAKE2B f1c72e8d2a1c4ce715d8a88ade1166dc2871e547dd4d6b0b03cd97aebfea7fcf3ec90bd97cd5d80bbf72ee5f9ce311eed86a41a3e0c5ce3f4a40b22ffc432f01 SHA512 3252e2db8e744075aad460a245a4bffdea90963f32b3e1a44157a752fb473b56dccf1b25157312870b3ffb3cdbe1b0fac0c12b987e3a25ac999dace5fb714f1c +DIST firefox-134.0.2-lt.xpi 577197 BLAKE2B 9f3b73599d8290f9c002e6f25aec7957603093f7f0a1fa897915a08bdffd4608d0ded77a6851e2a5e9c0910037b37847796f14891eb18fa3f8547d11095f56d8 SHA512 62ef191c57989fa58389d512d3bba0523c105bb6450f3965e4405ed862d00d21e4761c9d90f4e8b1b712e04e0178fc0dabe56328e94c657c90e006690950f480 +DIST firefox-134.0.2-lv.xpi 590048 BLAKE2B 9ed8da5fdc57463a2b9cd3628b297d36fa5f091a1a4f26122728ac2125cf0b8a5d30aacae22289fcc8e8a751471bcb3ee0ee50679f6254e52aa20fbc23ef76ee SHA512 11696c0ccecb557d71d96130df6125c4b13b08200412aaf36f0a64ec44b5b9959cda3da9dc88b8630df5099e5c528b99eba150b97a8f526271ef657b6275d368 +DIST firefox-134.0.2-mk.xpi 497209 BLAKE2B 42e2aff8e6717830b95f572ddb009624214b75fab977abbfb3b614bc0ced814aee91afe162df8d98c555b2825c59055c3b658ce19e97e1453e8048960e468722 SHA512 4a1bc08b54d00bfc05fac6843c72648dfa130b0c6666087d62d944de632799c7dae9d46042e34e5855cd9713f8ebee83c2cbf0bcd7825086ec4456f025a56255 +DIST firefox-134.0.2-mr.xpi 536144 BLAKE2B 4eed7afb68feba320e023a13733acc7f24b4833480b5bce429c9ee25d8b5b3110d61b84917fc145de05f12e19412d13d80ca9d0632c995f9a9954e3fc4ede0b2 SHA512 21a052b0aab09ba2ef83231a46b67c179e8a3cf2b47e4bc913849d40e11109bfcd90805b129778cc5faceaed6b787a55514ca8ea155db063011ab8fb82e832ef +DIST firefox-134.0.2-ms.xpi 453844 BLAKE2B 1a18ab8fa4948dbc26396f2b3649334d4a95916b682de36754fee8b5a9478247de9ed4084808dd082c5ea8843e2d5cc906d84a867a6b68d00033477b8f16812c SHA512 4b22c1092adf696508d45e396a334debee949679cd4e4f745ec32c3927c703bc92c8e463b09f99c84c6a5b4f8ae7e50671843b2e5d160e54b5cd74d3b4569d2c +DIST firefox-134.0.2-my.xpi 522472 BLAKE2B f9356284b54fbfb432a55ca6f9e66150fdb9fed71a94866a7d3c37d5def73fc27bed6d5ed9ac367c04e8ff3f981ab489be08a70c615a6d2e7022259a6650b619 SHA512 eab10e0b8563f223ec3a19160cb6a095fe1f85b544d3df119964446951218a22585aaf7ac0f597e1ae41146b009fc59e6f77609ef47eade7b684861a807790b9 +DIST firefox-134.0.2-nb-NO.xpi 625557 BLAKE2B 51f8d44e3a15a52a7bc63d29e38d715c7c13bd781532c80f6903dbacf9607bd4e4e4eecb1f21fd58c4839a75f147d32144137cb38632ab585ad4907866a9d8d5 SHA512 17ffea7c83f88aee8cf0859b12a27de016bf2108be0f514dcc60296c1dfac7732bf286f907bcd9f671d17bee08a8d6301ade164876b2a7693fcd577aaa70da7d +DIST firefox-134.0.2-ne-NP.xpi 524801 BLAKE2B e7ffa1b0fcc78f6c895ce9b9338ea8478ad61c6cdc89da77e048fb44edc3a77e4b5b70202a32d7c1f78e7b2a08503a259e0155ece02fe4364070a8cd2a7b273a SHA512 3bb166bce1de86f2d63ae106aaa38365efe5a3d7296d1495bddc7c6e408d3530223d6323826aec6c6f0c8a56f614b2401b13b2fec783fca2df68dbcc5680b99b +DIST firefox-134.0.2-nl.xpi 642842 BLAKE2B 7abe0316d0225894fe82eae71dfd4552b7454f9cce8d67e5d4e3a015dd4d97b958fc0ad65b4c45ea671d0bf3d60d4a007969145ce1be546d1989abbee6046db9 SHA512 19c48cc4466a7fab770a558967d48012d3b8524b7009cc1031b8ff65ef2215f03a4db97a2cbe0b8f7e975d10fb5d737ddfc7c8e0adb0d334cc252c81527c1e40 +DIST firefox-134.0.2-nn-NO.xpi 629847 BLAKE2B 72347e2c0dc988c32fa03634b7060e0edf4e68ae48b0c4d141713145cbec14b7b7f95566b4b2c6f348b0db7d22f0af4143fdcecd2afd256f7e4bb75a54b0bec1 SHA512 25ea6c572de098a03e977dfc43cc1d5eb5b0b6f01558fe19d9841f315e74c35362f4a74a7e52c82c5f9abcb3ba34cfdb6d208291fef0ecee0ae5d2355b278a36 +DIST firefox-134.0.2-oc.xpi 626184 BLAKE2B 9bb0f6fff001d5a48b8da9ee57982e41dba5a1839337763701cd3478925a518c1c232fc3768751340ee9028733401ecfb9caf8139ef152d058cbd2c63d325708 SHA512 b8541481e6502c4d21b910cd2b82afe6b82ac00cd792b3fad42544a9a85712d553473b5a647a0c54fb41fb50a9d4f8d40127089dc702612053d31db8f4adf3a8 +DIST firefox-134.0.2-pa-IN.xpi 723087 BLAKE2B 98c4db6d88f73969e6bea7207dfc44b44ad6486afa0454f4023f49341bbce3bbc6e91085d9ab5abad412ba81c6082efd82950744b9359898911e633b29f7423a SHA512 79cc7f20d3c2c3137cb8c9d6d3ec085eb72c1b814b4167ff6dc3c1092b9e212bbd4462f211d2d12702fd52ee7ed1bc5ffca4edd50b74f3b977facaebf27424c3 +DIST firefox-134.0.2-pl.xpi 661727 BLAKE2B 8c188693e8826a4e7a4b3ec1a66998274b704c9b5031ed97d604d756c99cc5e8197e3dbbab0e820701aeed71cfedca7a54a031e21a0d21c3808ee46bfc58a56d SHA512 a920c895d696f9e684551c3c33be2326b16b05a35d9e97c24cc93f957336f7842db9c833c1e42402cf8fb84e4080a677f8087a3edbe8220b141b6f7c87f89668 +DIST firefox-134.0.2-pt-BR.xpi 647959 BLAKE2B 64e241fa624eed060dba10add81d63c32d54b8fe0c927ddbb4d8568af6db5efa6f8f21e703900ba7b8159aa1ff53ecc8ac4afb7d714c5b0c039f78dec226790d SHA512 c13a0bc90c230f64b961f2d9c40ef884596722ea04739a3da6e90aebdeaa8deb7b5dc2c0112aea6d62c60e8f34f7d51d3ea5050af2eda2aecbb91bc807a046a6 +DIST firefox-134.0.2-pt-PT.xpi 654966 BLAKE2B 84baddb4e46c48f98651d61480b3e609371cceeb52bba684c37f1da46af61621743d440c802dfdadf3ce597af6d915b8c358a578d73b381c3f82a65b5dc788a1 SHA512 31788b3bc476f6019ada36486ad90f3e476b1c6f20d6ecde2333c19956a8761647717fd037229c4aea02454bfb5b8b0926eae8e76d64e24ae8f2c5b89412f582 +DIST firefox-134.0.2-rm.xpi 644069 BLAKE2B 971efe6bc012c621fcfcb0582ab2dc8b3471a8b0fbc4ba7a5082ddfe8be6048e53452950d0bc7d5dbe40592c1e715194ff238a7d45347a7da17f0162fc441cfb SHA512 edd13362bd17eb0fe37f97db839e402ff740d725c149c66b7b830e2d223f2c29876150705f95628213231103111504a64668f1c0975e3f24a62f409acfb60e34 +DIST firefox-134.0.2-ro.xpi 554203 BLAKE2B f7bc2c860db254f5ece82eff1467c784585810c3b4a0aa879302a41437695bb24559030917a3d473f2ebd61d3f02b437ee28637dbcb60fee5d153489367fb33a SHA512 ad7054dc38d11724cd97fe0cdcd0fd77028c4782aaf549c03b0086e84daf86b1a1244c074aa214ec871bbf0e338af534b1d2624646cd79c3d26d81603a0be27a +DIST firefox-134.0.2-ru.xpi 750994 BLAKE2B 5c3caf97acd758bddab7ebc75e4372e6c333bb7b41b9cdcff9a00c55e0c72a7376b4ddd1a6f553b63a5867821272713cd70ed43c3ff561f56bf52a0e14d505c8 SHA512 39f74044e69959717fba65b6c95943a7d29c848c8b338aff5410bc0f608c50d0b52422192929c83d1bad74f328d228969a2ab008a6fd409054751fe3249bdb45 +DIST firefox-134.0.2-sc.xpi 602168 BLAKE2B ebd0edaa3ac43d267334cd054ff7764ea7aabb1978a97b70b735e16100c30ed5eff98fcd1f5bd00829406d7849d883d6a2cd94bd01c049cf3d80505f3633e862 SHA512 3f17c57b1136f5be1ecd51155c0cf38be8d4b0a8a9442b8dcc46f7c40e5d0645b581fe5ed47edb97e6716f8db089ddcaa714b18a1b774217abc0de5199a20498 +DIST firefox-134.0.2-sco.xpi 515423 BLAKE2B f4acfed405aa27c2f01114f97c1a086f23b696a93dee91bdc31a265020ec87c09ed0b530b074aba675fe21a7b71bbcffe0169f59d5d3ed8b0f6e0e4bf30fc6d1 SHA512 c87053eee836f81a6680d38d70322f2944e919604d90c3df3b8c589b745ab80140026ee4758eb3825de4d1349187ab27df52136d9f0de19a72eca26efee61292 +DIST firefox-134.0.2-si.xpi 626869 BLAKE2B 1439f04b2666ea656757cccce4507c290a295bec746ddde94b3cce29218b2ae66608985d6e6276e0ad140a998d10924f33544864874a64d761788f3f12a05951 SHA512 4ff1fd4b0af8a65b8108307864b131083380c69a39f6e3feffc8ff7e5e209d58431f99415ade2a57d211eda7537625ecda5384f4079158f73d97bf00e105528d +DIST firefox-134.0.2-sk.xpi 680484 BLAKE2B 0d407ed97a02195f45120010e97412add658c6b4373c3b23851af6db6d0bb6db2a56fd12d0939e82df53e60c21d24af7427077f5f11f236cf3d05fed4b9fb4db SHA512 3a50f280da4a62ecd3e91c376ff24eb96a605189e3c4975064ed56c8a9d9a9906cc723ee166bc7b74c942dbef9b596aefc4e3afa67361498ba9375b338ac4a01 +DIST firefox-134.0.2-skr.xpi 727794 BLAKE2B a93a3967e7a1c61e43a849fa5b560e9ea1491335ff183c508ed5c402725ff075fee5040e3bc51d7752647fa955f732d225ec70b5b974f308b72d7951a912949f SHA512 d0f0bc5427f00ea16cbef9404a2699fd2a34fdc4abef0d328bef90ae8bf7a9244b5d205b388db714cc9fc4b4caad2b2399db5924e483bd7d18da18c006ef229e +DIST firefox-134.0.2-sl.xpi 647153 BLAKE2B 8e54d1c994721e4e19edbc707f56f5bfbd8ee6fe05e5cfe499e005ce19e54c645bbf0b20872dd0d7763123c69cdd7cee6c12b5b29138daddb7a42c955c5f970b SHA512 1dac80c77b1d6a2c0661b238067d424b4a40d78b29d42096bf45aad1121c54c27783539c529a41983eb546cd5f311c43812ce0debfcb8fd2fecda00617a5695c +DIST firefox-134.0.2-son.xpi 420280 BLAKE2B 66c2e089d4657b8666ff5eaf01279c96f48dd84f074039dfdb2b6104b9ce3bc3524e57698744382f2cb8bbbac8847c613f8cae9dbb3ef43b32915314f14878ca SHA512 a59617ef750e221cc7efc1e9d5f4058324be42f786619cd4c1f173dd94ea96962d3e53ede27602d00a63fc1ce0258b3abfdb63a3fdf833240de3eec51dde3ba0 +DIST firefox-134.0.2-sq.xpi 665690 BLAKE2B bf63c5f42e94edca443461606d1c87f1d391597b72fce85c2dd318fa274636205730aba40fd3374e86165cf06046e94b080a3aa113eacbe3bb3123dcb03a100e SHA512 8c31684a1a1fcdbfa93a0a579868098ba8b83aaaeb86e65c464dbb4f36b4fa747a3b4772a243f2f7d2dc18f71a3a5c93cec3941b9c4b4b049be97d15c94d4a36 +DIST firefox-134.0.2-sr.xpi 676502 BLAKE2B a41d7cd2779dafaccd63272113a9a16b531e8c7377bb1310f734a3a0177fee77698cf42af2537c142d49c84f9d1cfeb431955c74702bc76c1e4dba56184a7573 SHA512 54b3fac720a9f6b5e4b9c0ea2f7267f1a481cf1df5fa20e28a6cbf2f2efbc6f1643ea151e0b1aa04e98f062b39533f4cb472317e0b72bdff32bf4e83bd432ac9 +DIST firefox-134.0.2-sv-SE.xpi 644572 BLAKE2B ac727677d059374609860768bb094abac9556d7c0f5d3556f05290f7a29a71a3d065211feecc2465537a65b674cbfdb7436d8c93aa5988e891053ffea6ee0f0b SHA512 0cf3006e822bff478c31e9712b473222855dac3cc3796d0616c0adca82040506daf66a25c5a50b82fe37dece9f47950c2b4f98ae914f32c6997769f62577184c +DIST firefox-134.0.2-szl.xpi 530486 BLAKE2B 389cd7b376393e3e0b61d7692fd49ef323340421d3aba5eef188ae1cde42d2557c6b45f026de194614283893e553eb633fe73862a70ca9c0aa2b68ab6ef08f22 SHA512 5053c677c79c067a227153c50cb170c73ba2e13343b3ec45b158b9f90e6b39b3b2fe356e66f6c5423fed398aa9ef9cd2eacfee746b174d0ccd95e489b734cc09 +DIST firefox-134.0.2-ta.xpi 511217 BLAKE2B 35c2badfed05a3a174132c9a743871b716e9dff0fb51eb5ffe82534613805d0426d7b4aec9bcf619a1ef52946abd9da2fac0a561528eb6577c179988c31d1dbb SHA512 8ea523da807a016445755ebaede060bbd1d16f113769b8ad6e946ed62539d07ab647109a4c83a034236a444b37c71095e5aa9be1f87e9d15e105853876951a87 +DIST firefox-134.0.2-te.xpi 575366 BLAKE2B 1b43e4999e2f2004b8db03136b80fa5c530d4f8b81d7239a815839872170a399d06a7668bb8dd2b359907bb206c3c28ce298ff17214ae51b480525051620a156 SHA512 0c241e6a30ac6e87de1c5d2c92042460f01203e8c26d14495fca18db3891fc503a5e8bc61348debf5f26a38df0b0a982f4ac499e43d1b6dbdc17fa0096ec7b59 +DIST firefox-134.0.2-th.xpi 727730 BLAKE2B ea5b4de061fe582cf1f33ebdbe9eb7522ef5caa271ca63833c8d3d203df4f149f08c5b8071facad810d6273b94c2f323b04dc86bb0de0d6f8d20bc9cfaf65016 SHA512 e9160fa79349d3e3ab5d39fa7b852b838aca3709347307b177e9374e0305016b9734558aadc43b155bcb03d20e0b14df53add6c65c9ca7e05575cf87fee5900d +DIST firefox-134.0.2-tl.xpi 538546 BLAKE2B bf74822975816060da61f23591e27963fefd73ffe9f1f6d885eaeed663a344d50c3a905d5d26a39aea9927e6f464c7d91af8c831d578c4b888dd7c73475d7f93 SHA512 e3f54f4c670041a3e9b52724f37aea1dbb5816e8e09693d6d6bb9034acb1fe132be1dd01a8dcb963d4e96f9a2c8b9bfc39a62afd55ffb06214a94ebb325a7203 +DIST firefox-134.0.2-tr.xpi 656854 BLAKE2B 55f9847bfee9eb1a32570279b5715757ce6af15013a2e1dcbdd2ab4202e3bb26009326b0a1f6e55fefd65741ee3102cb5f892df044a042c0d80f426f99319c01 SHA512 da63d31d0c9ed9f29e429bb2e7b6d14d762de940af26330a8cc4f65424563d88dfc19ba5613fe60839c42a3686d347dca6a4e62acac4f38231d48346b671c4a4 +DIST firefox-134.0.2-trs.xpi 507810 BLAKE2B 0086999e232a3789d69abce703f887c787933db386b2095352c6521cabaaef5531cc52e36617113b0f2fbd89218bba9fd341d20f60e46521e66bcaa8c76c4e6e SHA512 60c96fbb59905007356db428a8f194af8e4cd91308487436597e7c61cd9fe1d72a533e001a0bf2d038e7eea77ded60ac705536257647aa3f9e4391cf24c10431 +DIST firefox-134.0.2-uk.xpi 742078 BLAKE2B 2589e3f00726dbbcd12f353ec0079b6ce37806cd92718e19e79d028f721de1dc6d66ff2b2ca85c5470cc2bcd974c8cc000fd298c957c170a77f29951ddd498ac SHA512 54500430a4045620255fb5d21427eb299cab4bba1135379b006dfa1bf0c35bdc98b24549718ea093319771aaa735d4990e104432e3b1920341b0cc355e0eadd0 +DIST firefox-134.0.2-ur.xpi 564367 BLAKE2B da26c584e0ebf2074636e8e622408b0b69610f609c7053748c7f64b98233fc9012a98d3ce13abd7085af67a3fca8783384eae345d2173ace89e214ed4559f2c2 SHA512 3b6e514cdbba4506422ee039c2ce4d0011d98d2be1e968ae528ee2bf79c6f80db3f766f70fe43ab8b0391869005346f4d8ae00bebc036be6727beedb2685cef8 +DIST firefox-134.0.2-uz.xpi 482832 BLAKE2B 4f0e7de6855da62732786c90447e68cee03068c9a647f3bbbf7495c58e8889e3c0611bcf144dc51fdb17fa3014e67cfce28712fa357d7e4a5ac922b1d004caa0 SHA512 bb17b008e3745b34855c2668e68a0de5ac09bcaadeb88affd0cf6741ca162e99177c7d9f19fd68f4b1714b5d4312bf9ef8366e813d0f6fab3baf95a6659d759e +DIST firefox-134.0.2-vi.xpi 683438 BLAKE2B 34ec85bb8c88758feb26b7d3fb0d9e166f731ac873b2fd182f11ecd5cc95feaa506b3e6cffb012efbe550d64623668b9a21bdf6cb482d57f0fa2b36892da2240 SHA512 506b0e4038328f3aa4dd7bfc439dd3805be7ac932c42c1140c4aabce3f19d5b95dfc94fe3e781480cd35b665c23aee1047f6efeaa15fe44af16d74c3a97cac58 +DIST firefox-134.0.2-xh.xpi 421008 BLAKE2B b0110c3a1930c312f385985b00b1e2bfb19666b137c4e2adc708a89fbfb921b4e5fde794d5d2651d1f45290ad7ededd7310e116d74d0b520329f7697e0bd1dd5 SHA512 8626397cb9642845a2f6d7c39511ad8d9d9f16d2d55c38d1804ec84919900f28a7fdb4e03312e3fd711fab21dcc3ca9db344405baaea9776cb255bd256728c26 +DIST firefox-134.0.2-zh-CN.xpi 684487 BLAKE2B 086b88dfd1451614af4da8b51ac180aeab8e47ecf69c6e5148738491f221a06d34c28254ea09ac951ba25f644b9024c917118d2818f583d0f259847f635b0f9f SHA512 3d2f762eeaad47dfff627087d174074d3a89507734c662c974ab5c4b5f587541ed62e8e59d5aeaacd881283b1f311c495894c60f4cb7f6dfb5feaf2508ea030a +DIST firefox-134.0.2-zh-TW.xpi 686743 BLAKE2B c3a157e5fae193476bde6722d32b1ea4e65cbd3bde891e76830ac193b609de6302291b6eebc5eb3a54575244738763a1c538f621d5bfe2f6715ad98009e83db5 SHA512 8fcbd4a0c897a9a0731283ccb78fa35d799957cf8fee1f70892c65f106efd42ba5b2024eb227952c45f4212a1bc2ddb65e7d7ac8cd61608c7c837d29b2c6b517 +DIST firefox-134.0.2.source.tar.xz 589962348 BLAKE2B e1d4eb6fd528fa405e1487ceb256a28946f703d39758594f65950feb1448f7423545162d411255c559c4ba697c5e14c7cf7fdbdabfdfdda9663f24c53737a742 SHA512 74d631ecbdb5607cfcc4de408947b3b129e36b3d1daa501827aebc81f48c878f9bade875875c466c07c651f26b5388ff2d2d2087e66e0613d8914abaa7ddf5ae DIST firefox-134.0.source.tar.xz 604421068 BLAKE2B 599049006a65bc70ce7a43b8412a260e033888609fefdec33a7aa4cf5427e0a89a725e6a74b396097a9263acafc9251f9a54294c666af1f7355c66ffeff4a007 SHA512 1275a686dc0a27b48df4ae05616511512f676e03474e3095b2521eac25a385d345aa3e8786716dbe812af49e07d72b32772479089d648968e2004ca0c9c35344 DIST wasi-sdk-24.0-arm64-linux.tar.gz 119660865 BLAKE2B 5067fe0d63a8be0e3466131a7f1e0a92185e09879e5256b8d12428606920fb074198d7c5b4f949466f5179852f53911333baf8fb2409068de4a9a6c4d62bbd96 SHA512 412df3d066ef4a175bc5a10353d4bf853c6aee101a024b84b2fc10c1e2a48c0dde1b7162c08a56726861a5b5b9838c05da75c5069d3454513ed862ba3f4629bc DIST wasi-sdk-24.0-x86_64-linux.tar.gz 118879731 BLAKE2B 385dced143f463427e48839b4c9a810161b2791f0a1a335ad53b1cff9e20fd004b1c24c80443ec213f448dc31a5b1748f447569161c88ca8fc01b3bf35421aa6 SHA512 e320e1d3965324dcc435aab15e0ec3597dae914fae9634af4e7181a76609d35fd01cdca07621f39a6c894b528055e2d014ce0c1fcfe23a154343f51fb48928bc @@ -627,5 +728,6 @@ EBUILD firefox-128.5.1.ebuild 41205 BLAKE2B 62be1b1a02d0630eadbf2b441febb6d02bb9 EBUILD firefox-128.6.0.ebuild 41758 BLAKE2B 52d51a1d0935179c0cc46c541e1645ae850b89400ec65bcc74ad4dcc23c76c922da2104ba44501c8b1f16655410d55f126348054fd3968ed3c9c0714920437c1 SHA512 4c125c2316f9678bd77d662337ae785b384c23f894d0769cab210bd444920b108f7f0b15baec04334903056b654e9f842d0fdd106fa79a80e45f8c1226009272 EBUILD firefox-133.0.3.ebuild 40775 BLAKE2B 80594fd1b2501bda3d6852cb9af0c0eeb25852c4dca9fda50c45af48b439fa716f624a5c6885855c72370edf540bcf216ebbe097ac1e922c9281c3c645a8d7ce SHA512 90f5653a1f8b81bf99a87f4198b28d4a207c7421fcf88a19a4cc57b360e69e944561afe571e357f9d0f2e09709f182260bc03d4b08edd7a31cbe4fcde394b9f5 EBUILD firefox-134.0.1.ebuild 41083 BLAKE2B e3c1339be6577370c54853d08abe549be982de7188427bd138103d7c6ba883956a280a6263cd86224e3926d62f4fd8f57dcedf810a9e3c432812bb5453443774 SHA512 c0e4115dd53a93c18fa98e622b7386d7f27d6899eb333d1b1a93027a1804ceb65ed93861ab2bb7d1bffa7d746735acd8b6eec2a54ed1a41cb7fb6e750d35bd78 +EBUILD firefox-134.0.2.ebuild 41083 BLAKE2B e3c1339be6577370c54853d08abe549be982de7188427bd138103d7c6ba883956a280a6263cd86224e3926d62f4fd8f57dcedf810a9e3c432812bb5453443774 SHA512 c0e4115dd53a93c18fa98e622b7386d7f27d6899eb333d1b1a93027a1804ceb65ed93861ab2bb7d1bffa7d746735acd8b6eec2a54ed1a41cb7fb6e750d35bd78 EBUILD firefox-134.0.ebuild 41083 BLAKE2B e3c1339be6577370c54853d08abe549be982de7188427bd138103d7c6ba883956a280a6263cd86224e3926d62f4fd8f57dcedf810a9e3c432812bb5453443774 SHA512 c0e4115dd53a93c18fa98e622b7386d7f27d6899eb333d1b1a93027a1804ceb65ed93861ab2bb7d1bffa7d746735acd8b6eec2a54ed1a41cb7fb6e750d35bd78 MISC metadata.xml 2730 BLAKE2B b9afb69e8ce59ffbf2804d7d2fc0540bbf4f6cbf4e2290b198339421fb1d27cadf26681d66e28797b2cff0778e07795a9cb5a8a842e68dda8c502d1d5522b044 SHA512 f093bd263102c298e6c3a05a2fb6729b34809a3bbcc5c4ebc5d308d9b6efb371ebb0392e2f12bed3d333a49123cc0ca450ac94c3653fbbe431a63acc18085551 diff --git a/www-client/firefox/firefox-134.0.2.ebuild b/www-client/firefox/firefox-134.0.2.ebuild new file mode 100644 index 000000000000..af9245e50f9b --- /dev/null +++ b/www-client/firefox/firefox-134.0.2.ebuild @@ -0,0 +1,1371 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-134-patches-01.tar.xz" + +LLVM_COMPAT=( 17 18 19 ) + +# This will also filter rust versions that don't match LLVM_COMPAT in the non-clang path; this is fine. +RUST_NEEDS_LLVM=1 + +# If not building with clang we need at least rust 1.76 +RUST_MIN_VER=1.77.1 + +PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +WANT_AUTOCONF="2.71" + +VIRTUALX_REQUIRED="manual" + +# Information about the bundled wasi toolchain from +# https://github.com/WebAssembly/wasi-sdk/ +WASI_SDK_VER=25.0 +WASI_SDK_LLVM_VER=19 + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" + HOMEPAGE="https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/" + SLOT="esr" +else + HOMEPAGE="https://www.mozilla.org/firefox" + SLOT="rapid" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ + optfeature pax-utils python-any-r1 readme.gentoo-r1 rust toolchain-funcs virtualx xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +DESCRIPTION="Firefox Web Browser" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]} + wasm-sandbox? ( + amd64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-x86_64-linux.tar.gz ) + arm64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-arm64-linux.tar.gz ) + )" + +S="${WORKDIR}/${PN}-${PV%_*}" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" + +IUSE="+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-jpeg +system-libevent" +IUSE+=" +system-libvpx system-png +system-webp valgrind wayland wifi +X" + +# Firefox-only IUSE +IUSE+=" +gmp-autoupdate gnome-shell +jumbo-build openh264 +telemetry wasm-sandbox" + +# "wasm-sandbox? ( llvm_slot_19 )" - most likely due to wasi-sdk-25.0 being llvm-19 based, and +# llvm/clang-19 turning on reference types for wasm targets. Luckily clang-19 is already stable in +# Gentoo so it should be widely adopted already - however, it might be possible to workaround +# the constraint simply by modifying CFLAGS when using clang-17/18. Will need to investigate (bmo#1905251) +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( jumbo-build ) + wasm-sandbox? ( llvm_slot_19 ) + wayland? ( dbus ) + wifi? ( dbus ) +" + +FF_ONLY_DEPEND="!www-client/firefox:0 + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + clang? ( + llvm-core/lld:${LLVM_SLOT} + pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ) + wasm-sandbox? ( llvm-core/lld:${LLVM_SLOT} ) + ') + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.26.0 + net-libs/nodejs + virtual/pkgconfig + 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.107 + >=dev-libs/nspr-4.35 + media-libs/alsa-lib + media-libs/fontconfig + media-libs/freetype + media-libs/mesa + media-video/ffmpeg + sys-libs/zlib + virtual/freedesktop-icon-theme + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/pango + x11-libs/pixman + dbus? ( + sys-apps/dbus + ) + jack? ( virtual/jack ) + pulseaudio? ( + || ( + media-libs/libpulse + >=media-sound/apulse-0.1.12-r4[sdk] + ) + ) + libproxy? ( net-libs/libproxy ) + selinux? ( sec-policy/selinux-mozilla ) + sndio? ( >=media-sound/sndio-1.8.0-r1 ) + system-av1? ( + >=media-libs/dav1d-1.0.0:= + >=media-libs/libaom-1.0.0:= + ) + system-harfbuzz? ( + >=media-libs/harfbuzz-2.8.1:0= + !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 ) + ) + system-icu? ( >=dev-libs/icu-73.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) + system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) + system-png? ( >=media-libs/libpng-1.6.35:0=[apng] ) + system-webp? ( >=media-libs/libwebp-1.1.0:0= ) + valgrind? ( dev-debug/valgrind ) + wayland? ( + >=media-libs/libepoxy-1.5.10-r1 + x11-libs/gtk+:3[wayland] + ) + wifi? ( + kernel_linux? ( + || ( + net-misc/networkmanager + net-misc/connman[networkmanager] + ) + sys-apps/dbus + ) + ) + X? ( + virtual/opengl + x11-libs/cairo[X] + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb:= + )" +RDEPEND="${COMMON_DEPEND} + hwaccel? ( + media-video/libva-utils + sys-apps/pciutils + ) + jack? ( virtual/jack ) + openh264? ( media-libs/openh264:*[plugin] )" +DEPEND="${COMMON_DEPEND} + X? ( + x11-base/xorg-proto + x11-libs/libICE + x11-libs/libSM + )" + +# ESR and rapid dependencies. +if [[ -n ${MOZ_ESR} ]] ; then + RDEPEND+=" !www-client/firefox:rapid" +else + RDEPEND+=" !www-client/firefox:esr" +fi + +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or +# overridden in the enviromnent (advanced hackers only) +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) +fi + +llvm_check_deps() { + if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then + einfo "llvm-core/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 "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + if use pgo ; then + if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then + einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( fur ) +MOZ_LANGS+=( gn ) +MOZ_LANGS+=( gu-IN ) +MOZ_LANGS+=( hi-IN ) +MOZ_LANGS+=( hy-AM ) +MOZ_LANGS+=( ia ) +MOZ_LANGS+=( km ) +MOZ_LANGS+=( kn ) +MOZ_LANGS+=( lij ) +MOZ_LANGS+=( mk ) +MOZ_LANGS+=( mr ) +MOZ_LANGS+=( my ) +MOZ_LANGS+=( ne-NP ) +MOZ_LANGS+=( oc ) +MOZ_LANGS+=( sc ) +MOZ_LANGS+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( skr ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif tc-is-lto ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="6800M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + fi + + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + if [[ ${use_lto} = yes ]]; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif [[ ${use_lto} == "yes" ]] ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="6800M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + 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 + + export use_lto + + 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} == "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#915651 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + elif use riscv ; then + # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of + # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working + # guess right now though. + elog "riscv detected, forcing a riscv64 target for now." + export RUST_TARGET="riscv64gc-unknown-linux-musl" + else + die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info" + fi + fi + + # Pre-built wasm-sandbox path manipulation. + if use wasm-sandbox ; then + if use amd64 ; then + export wasi_arch="x86_64" + elif use arm64 ; then + export wasi_arch="arm64" + else + die "wasm-sandbox enabled on unknown/unsupported arch!" + fi + + sed -i \ + -e "s:%%PORTAGE_WORKDIR%%:${WORKDIR}:" \ + -e "s:%%WASI_ARCH%%:${wasi_arch}:" \ + -e "s:%%WASI_SDK_VER%%:${WASI_SDK_VER}:" \ + -e "s:%%WASI_SDK_LLVM_VER%%:${WASI_SDK_LLVM_VER}:" \ + toolkit/moz.configure || die "Failed to update wasi-related paths." + 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" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/chromium/build/toolchain/get_cpu_count.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-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + + # Respect choice for "jumbo-build" + # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431 + if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then + local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16} + elog "" + elog "jumbo-build defaults modified to ${my_files_per_unified_file}." + elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE," + elog "if that fails try -jumbo-build before opening a bug report." + elog "" + + sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \ + python/mozbuild/mozbuild/frontend/data.py || + die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py" + sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \ + js/src/moz.build || + die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build" + fi + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + mozconfig_add_options_ac '' --enable-project=browser + + # Set Gentoo defaults + if use telemetry; then + export MOZILLA_OFFICIAL=1 + fi + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-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 \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + elif use valgrind; then + mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # Enable JIT on riscv64 explicitly + # Can be removed once upstream enable it by default in the future. + use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + mozconfig_use_enable valgrind + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + # wasm-sandbox + # Since graphite2 is one of the sandboxed libraries, system-graphite2 obviously can't work with +wasm-sandbox. + if use wasm-sandbox ; then + mozconfig_add_options_ac '+wasm-sandbox' --with-wasi-sysroot="${WORKDIR}/wasi-sdk-${WASI_SDK_VER}-${wasi_arch}-linux/share/wasi-sysroot/" + else + mozconfig_add_options_ac 'no wasm-sandbox' --without-wasm-sandboxed-libraries + mozconfig_use_with system-harfbuzz system-graphite2 + fi + + if [[ ${use_lto} == "yes" ]] ; 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 + + 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 + + # PGO was moved outside lto block to allow building pgo without lto. + 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 + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + if use valgrind; then + mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # 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 [[ ${use_lto} == "yes" ]] && tc-ld-is-mold; 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 llvm-core/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + + # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969) + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/vaapitest + + # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded) + if use arm64 ; then + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/v4l2test + fi + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Add telemetry config prefs, just in case something happens in future and telemetry build + # options stop working. + if ! use telemetry ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry prefs" + sticky_pref("toolkit.telemetry.dap_enabled", false); + pref("toolkit.telemetry.dap_helper", ""); + pref("toolkit.telemetry.dap_leader", ""); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/official" + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + if use gnome-shell ; then + # Install search provider for Gnome + insinto /usr/share/gnome-shell/search-providers/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini + + insinto /usr/share/dbus-1/services/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service + + # Toggle between rapid and esr desktop file names + if [[ -n ${MOZ_ESR} ]] ; then + sed -e "s/firefox.desktop/${desktop_filename}/g" \ + -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" || + die "Failed to sed org.mozilla.firefox.search-provider.ini file." + fi + + # Make the dbus service aware of a previous session, bgo#939196 + sed -e \ + "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \ + -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" || + die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file" + + # Update prefs to enable Gnome search provider + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs" + pref("browser.gnome-search-provider.enabled", true); + EOF + fi + + # 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:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die + + readme.gentoo_create_doc +} + +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 + + # 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 +} |