diff options
author | Joonas Niilola <juippis@gentoo.org> | 2025-01-06 22:04:43 +0200 |
---|---|---|
committer | Joonas Niilola <juippis@gentoo.org> | 2025-01-06 22:11:14 +0200 |
commit | 364d0eb807eb4f0f6748f0b1487962f3ff784e1b (patch) | |
tree | 99b1f883fae510fe317e3cc69a0600adf60f37ec /www-client | |
parent | dev-ada/e3-testsuite: drop 25.0 (diff) | |
download | gentoo-364d0eb807eb4f0f6748f0b1487962f3ff784e1b.tar.gz gentoo-364d0eb807eb4f0f6748f0b1487962f3ff784e1b.tar.bz2 gentoo-364d0eb807eb4f0f6748f0b1487962f3ff784e1b.zip |
www-client/firefox: add 134.0
- rename 'wasm' use flag to 'wasm-sandbox' to more accurately reflect what it
does - people have been confused about it,
- since upstream has updated their bundled icu to 76, some of icu-related
patching have been removed,
- update nss requirement to 3.107,
- update upstream wasi-sdk to 25.0 which is llvm-19 based and most likely
breaks '+wasm-sandbox' with clang <19, therefore require llvm/clang >= 19 to
compile with '+wasm-sandbox'.
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'www-client')
-rw-r--r-- | www-client/firefox/Manifest | 104 | ||||
-rw-r--r-- | www-client/firefox/firefox-134.0.ebuild | 1373 | ||||
-rw-r--r-- | www-client/firefox/metadata.xml | 1 |
3 files changed, 1478 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 0307b661e5eb..50ae392bddae 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -303,5 +303,109 @@ DIST firefox-133.0.3-xh.xpi 421372 BLAKE2B 79238c6ce683f1d9cc585f8ce40e1603df46a DIST firefox-133.0.3-zh-CN.xpi 679309 BLAKE2B b6f9d3ac6055a258b78857dddffb89c97f2b77bd859bdab6bb20c7791f811267bcc09db2b451ed56855c074cbb9a7c6b09c375819e951f89d67b011178b30f82 SHA512 c42eba97f3069b38fdae933489c6dc1b9fbd7ab866830b4d3fbdbaf10969e1cf4665235193ae6985d032fd4007c12dc221f8a6f284625f60b36a043dcbf3c6b3 DIST firefox-133.0.3-zh-TW.xpi 681633 BLAKE2B 7f67226c9bf2a2d311b7a13c5aaf68bae1c784c53256f3e971490980f6d739f2dedcde7803d0f1955d6be8390ad461d3fe1f84083a7ea093624ae39564aa6ffc SHA512 975b508f569eff982575a5d62387882a4fe0bc061ef5af510cdfcd4b8c04480b260d9bd89b0da857d481272b12ba5007b73b46938bcb24e2754139d7ec16a3d8 DIST firefox-133.0.3.source.tar.xz 580071280 BLAKE2B e686408397a886e36ead739851ec190f108db2bda92b7147ec16c12233459dc23ab256ba125fb8902fb2a855ea76d9cb02e6c55ea62e7639f8700dba6bae9acb SHA512 ce48beaa5bb1717d9b6dbfff035b1bb5de1456df14b6a91adfaf3ccfb7ac550ab7ee854546231424a920e01d981825253609fce2ec326c4aa1ca316bbbdb31f8 +DIST firefox-134-patches-01.tar.xz 13880 BLAKE2B 4f80540acf09b51de091882318e205e1d9c7a8d65de62f453953d1e943321ba334d8f337244800e705fc38d7fac8c1cee87f4a8532020b708338cbbbb8b69426 SHA512 bd454754a5b14d9e34b8970d992639196672ee4472ee6c473287700c38f1a0127480c3a5eaf4de0a59ba72097f703fe231ef52fb4ab86d5dc5b99569285ce164 +DIST firefox-134.0-ach.xpi 468175 BLAKE2B a9eaab4624ae5675cc0f380c877b8aa5205cd768f640bdfac44e97714c1dd754f8bb89dcd2a71732438f6027b20b0f5f8493e839cf18640bc8d47b604034a1b9 SHA512 ca12411ab30de0f101656b4c2cc9914cc5602580ecb16a0af463c251de36d13641b468690961d4170dfcef89fb62242a73665ea320704e5c23227f5b6edbf8fe +DIST firefox-134.0-af.xpi 421162 BLAKE2B a9bdd1b7f129a9d3a08df608e1b2d23a844b367bc2985fb6904ed233be5e0d57f36b840bf88712596117970ceb2d20c48f2afda4db3b6e767b1d7d39f72ab2f5 SHA512 36411f485e16856ca96fd5a8ad6a9f4b8266ccd880a9196b5f8052dfec32765e248c53f65930b9cc9b151123ad240edbd3095b7005ff132a6937cc48d2b9be25 +DIST firefox-134.0-an.xpi 510952 BLAKE2B ff0e62dc07bf174b68e691c5285931593312aad5b9522a8310dd5d78c6cde894d768cc394ca75082ea4085f80da164a8f46c632d30c09dc61d548a95362018e7 SHA512 2e1ea28b965ceb2ba8317635045b775084c239ab726a8c8ff5e95388abc09d54e4472914302f5b0c817801c3a962859ed3edb1c15a4cce39e5ccaa86899ae4af +DIST firefox-134.0-ar.xpi 633883 BLAKE2B 499a63f6432343a0e0917ccdc5b74a381114683fb22a0361f2fbf1f1a57722cc3896ebae5cf7c8d1ac59fdb7ac201a1cbdc9108a9903ff0227754a91ba0e3a99 SHA512 4033c754a91f88b4b883ce539940a8e13241770df6bf41f30fe1dbcf7eff3589b3e7b67696bc62abf64294c044e25f54cb28179ea1af672147a8247bb5926c26 +DIST firefox-134.0-ast.xpi 500083 BLAKE2B 4806276202782d21fc715abd1f9acc3aa6c7971a419fdbcee9dbf11baccaaad6fb2176691631ddbea62351076cdeaa1f49454a2f383aff2aff9d1acec6b6c931 SHA512 2268f5d46db69cf61dfa9c7dd17f3178060180c856eb78fd0a930d98049cbbc81d1d7bcc542f55c586e59d417220ba7f6a6ef8862596d6fb7580434919b3e917 +DIST firefox-134.0-az.xpi 494914 BLAKE2B 98fed19418868442f33ab74a1d9400e91b9e71e4e028b9cf29751730b7f315c4eb419cb6d146a3cf15acfa8404753e408571bf4a8ad8ba38387aac268fc7cef0 SHA512 e5f22868fec85d0082abb5ea8ba24ae6833d38f5f70d0e717aabea718c513bef58bb519feb9a889f5bc6ec4d6d18c1cc9b4b8916100e0344e426841416d0175d +DIST firefox-134.0-be.xpi 744276 BLAKE2B 5b85f995f7a8a065b8febb2cb31ca4681bce49c7df5a06d742c4bc47f3e0afba5a0181a09c58a3d3f9e99a2cda14a1489df68a31ec537c93dc155cce5b1ef51a SHA512 40ccdab86a13601506174c395812ab285b212332aed946c309979332d050aedf10983114fe9540538b8d45a783d6712acfa6ddeb334bb06b9bb7cec6c6f0c1c2 +DIST firefox-134.0-bg.xpi 670917 BLAKE2B c74f8c258ff87da9036b7720fa8f1b667815cc369b59084a06b298fe8fd0c7278ec302596b834b514ffc89e194996f8dadf485d50b94a3687078482bcc6230b5 SHA512 2984937477e5e15cc78e8d14a58a3ced09a60e9e72cb0decce8950969ce954ac5e18889cf804cd28421a4c799adb8041e761b8c8fd444fd4a8f596069af0e944 +DIST firefox-134.0-bn.xpi 615540 BLAKE2B 8598aecc24159a9ce4a3130351f7eb9a3d52121e9c4ddbb386101041818bfb7012b379e57e6a4162832278807fdd8c99e32230284934ae54b1dd1dbafd0624bc SHA512 56b3394fd8da1f189db1ccd7b636307e592199db2f9109710591d4c9fd77fb25ac0ca8ebd317c91eb3fcba143bc2648844f4b74ed76f6bc9e58aa3c710501e2f +DIST firefox-134.0-br.xpi 598074 BLAKE2B 02a67188192651658c7bdea7a5256e11964e7ca86d479577bb9ec314b64796f47ffcdd21726e5b7b495196b26b7c4aa8d86f086c0c9b7eeb0fe556b61cb15e28 SHA512 280c030873b3e29ca1245ed0104b14a34c74e41bac485066058cb87f7e2e2df56fd5b89fc9378c7b018aff9e776e9e1032c2331011676c6c2bd2527c4607a57b +DIST firefox-134.0-bs.xpi 557244 BLAKE2B c19d9a67887fc21ae1df78001759d5b44f45d2bb1e394c5e008ecc89fce9288b42f9320ed8b83bf1cabf83429be5e11bdb2edea8322a40bf8c1c1645805d8e03 SHA512 b4a8c5b09188afa95caa0694342160c8082b6b6668145e161d137144791fe85ef982ca852e67b56aab4301cfb6271259ae41eacbe6da211a2e07919f52c360d3 +DIST firefox-134.0-ca-valencia.xpi 550243 BLAKE2B 2b94db9efa25a8d72d2071824d923da49fdae896d83ad2ad3a20f765cfaa7c0761f8e0befda7eee70f8db0a82d62daac9712946a2645a2ccdd70b55b558b3ea1 SHA512 48bbbe27199f39b3b7b6db5d3aa2b475978d234c50a2f4d1e82d62c4478c4ff3a0a4406b1b473d54560e95146fd82f15789a3655c47ca72130f07303b865e978 +DIST firefox-134.0-ca.xpi 607760 BLAKE2B e369bcf5ac6faec9e2b80267785f8e80ae5f38f1cbc80be82b8cbb676ff44543229d43d73cdaa8c31610ce427b30324bec42ce59affb164190c6b291e3747e1c SHA512 0d411187a750975309071936c93e7ec5d179cf600acec8d5a63d00b5bc1124d6cd71d86c4ed29678bbd8bcceb56472c4ddb96231ffc704473e7cd27eeb0e8d73 +DIST firefox-134.0-cak.xpi 597775 BLAKE2B 338ceee303e1f61923827c61bc183f36c210371a5df8f4affe9f43c946003f07071c8c2b0b25e3f0575a007f9d818e703781daec8cc84aeae661a5687ca0db78 SHA512 e94b4320478188cc2cbcac3818bdf01c739e84f1503427264a3c0f8fa81abb8bfad05fef05f2b87e7a0f2a5d3185cd7c3ee172917fd8560d9a97dff7b95183a5 +DIST firefox-134.0-cs.xpi 688675 BLAKE2B 89750207ac3755d2ae8cd56f38d574447d7c547c153bd59779b6af421416c710fead0df0125ba41a3041ff096dce680abbf4cdcc2c61a88903051d0675be541d SHA512 787dd821e6cc4d8dc8b077854b21a7e2b2a444cfdaef21cb905d87584c43270900f368de049a940211c82d8d34c5a944c101483cefe1aa98a6a5f01afaf512fb +DIST firefox-134.0-cy.xpi 649374 BLAKE2B a012dcf4dc063dad39349feeebc57f65d2dbd19dd9bcb30c6e0cf352832e40f431b1354299ae87c5ba84ba8f59b125fbc4cabc46f8c1d5808d47f893fecbb5e1 SHA512 535104977911640070b0a90915eb12863fedb3dbb9aba673cf2ea3f336cf449fe09daa198f9852c8643369e85b9a6da8791a0e0a93892ec94b7111de3c6a9631 +DIST firefox-134.0-da.xpi 637277 BLAKE2B beac566965ad67645341e95370dacdac62744ccdf70fab3fa3766c2b7aa5dbaec8ad07638e379e6bd0d72785cb5b7a2bd2b49721e409fda8fc9dc458df2c9533 SHA512 7bfd03093ffe0ce226d556322a26889008b362ccea90bb02b195061c83ba214773113aeecc18c791ab7e8d181457008cb9908e9fc1d57bc1d9f76c3a35b0244a +DIST firefox-134.0-de.xpi 661278 BLAKE2B 2ae531ae6f9eb6a9f24267069e268f55e34cb3a8f316294000edecbfaeecce3256b0796131251fd88d1f796b1fa58049eae83c2a7fc7d239a1efa90bb046397c SHA512 a4b859e5536c6c7f5dd54fc1bd275efb16bb2d37b83299967ba97d8368a17c6d3bfc66c7288fe0d56369010015d8b0b97ce453e66830a203c6e716fa00ea2b93 +DIST firefox-134.0-dsb.xpi 678094 BLAKE2B 4ef86f513736609808ac2e2c0ec3b5a993795a24647c3871f4b2c877b9b6b03889629f6483d278ce86ab76c63c1c34a8a01241426d630a4ba19c4ac507bfd768 SHA512 e4c35f7544466b1f44b83b1837cd9100b57aebc574290ceed487cf38fa77eb9da8fea66c3c0043d7919b61e3c0ed9e7103ba5b9c4bd0e2189d7afcf1949dbdff +DIST firefox-134.0-el.xpi 760444 BLAKE2B b01b4ed8767c4736ee103442d575947d984820c7c7b83e5302100c5b7e040d5d3977032a1e72eb4efb23e091fafcace0c374ac8c72bda5c952df1a8f8c8aee53 SHA512 1b85d8383a2186602f19125e0a2d8ea7a7e4fd2b7065db41419074254688f767c5d77c9874c768b83b5473d97519d50cc53025208d069e7fc6fb965a449e8fdb +DIST firefox-134.0-en-CA.xpi 607990 BLAKE2B 84aa24343d7f657f9170f532900e719673fe9a81c03d340c3fb0b9d7b204b13b87df9aad63405b5b53d60dbc6bed2480b8dba4cb66f3f4f141b894ed5383e45a SHA512 8bd7905d288ca2efaa8e66aa24a00d062d15dfc82f256e9ce3c5d48f25196c625b4f9d03d2e848e417c6a77a98c47ddd142a390e5a1ad8b25bf08dcfbf5bb817 +DIST firefox-134.0-en-GB.xpi 609127 BLAKE2B 621027a1962b61a62ad6ece1028fb18e86d01ca760fcb51361bbd3b2b9bc7787118378bb5a4149caae17045e1703bea4956869cc7b9414731e7d4ad0ebd912c8 SHA512 bb5c07495920787b224160e8b80965c661b3a5e3efc281205a4f72f15c9195f12feae1843832439ccc58f6b7db9e1fb3a415bed0cb23e1bb3d68558e55edea73 +DIST firefox-134.0-eo.xpi 640106 BLAKE2B dc07c9670fd4d7340c7df5d21fa4e4e6a51d278b97ee5937953e12008b0c39ab36c00fcb1c5e28a7ab47518e9dbf53dd8877fae94d1e839e522d83c27e91b8d2 SHA512 783337aaf0e88f64992e90ec659a59859282678ad9a1330ceae9f1ec0cf050732e6ea4547f0525cc39674c680c8323afed3daa6bf9c66c7a519ed7ba0679ddcf +DIST firefox-134.0-es-AR.xpi 654030 BLAKE2B f903a48e6dbef2e5820b6d9f783b68297b7eba7f3cfefaac6e4376cca626321a4e03d5c65c248d592e78c42e23981eb3883c0e1395d840e013176942fbfc0ff5 SHA512 4eb99e6e13f63df53006eff38c03f2ca25e8494e5406ccaa23e7d3eb51aa2049ea1fb558faa114248af92d885d3010c01d9637401f60623102fa3a8e20c06b94 +DIST firefox-134.0-es-CL.xpi 653726 BLAKE2B 92d312e3b68cf562d85a2980efc367a374bb380de5461770fddf66dd9a2f57bfaf4d1869c2bd433b56159ba91a4d65c07328b87615f38d7f5c39b2ad4f7572f0 SHA512 1175f079f704f3b4ecde696a0aa6a19646ca31f1ce7bd52762caefc7c9c88cb9ceaefe425d6ea2a86f9a428aad620ae83a9c4074c2820248333f9957d1e16d08 +DIST firefox-134.0-es-ES.xpi 648570 BLAKE2B 4889a95618d3a66e6e351086f023d616507bad730f18f691088b612ba0fd5e722d8946f66c826fe91e072fbd431a9d4fc297bafcd5aacdc21fb93940fc737038 SHA512 19ce7b26ee126a95587368c40b08cfb1b856c573b06a6b5adabb9eeb9bcd1ec00a18b09e51ddbe2a0e11a54e65ce88adb159d6f275ab932fb6c13484d6082621 +DIST firefox-134.0-es-MX.xpi 657163 BLAKE2B 55adbd7d260524a017c808aee37e22ee1c9aca9a92a812d6b79303fe2b2d2d12068a40883a5f43bebf1e400a201c9bdb75ae45521361a2372733e973231ce52a SHA512 60de9104db9fd3e76f1f0611e9aed423c16ef957f8ce6a6f3534d3fcf80462650c5c7aaae3659b80f9d8df40a54dcce5656302956afdad23125ed9bb717d984d +DIST firefox-134.0-et.xpi 546711 BLAKE2B 6f76c5b5e2633c1024c8927427a2dff039fbebe68c5f5114d1e6d1296e07357636ef1438ec548169199d2bcf9cd7aec2d44b0b21298290f9b94c33ce6791433b SHA512 83bfe20856f81493d222bd5d8676c3ea3b87553def038b3ba7cc15b0b5d35e7c1980df51f8ab036e0835f17029c9e776403a3e498353513ab3830d2bf586cd9a +DIST firefox-134.0-eu.xpi 622849 BLAKE2B de83771937c91d360fc2aa62a7247fd66cf0dc6a8a78256e3577138d121ef810ba8058203d30f33c023a9434a481e95f31df1b98fbdfd8ee2a2859f1bac973d4 SHA512 e1638c31fd4dcaa1a082cc9f8b278c968dfe2b377381638e3682638f211a363beedb3221f33acb65e325ef98b3b75f2a812c5de991674fa4092246f68427da72 +DIST firefox-134.0-fa.xpi 625175 BLAKE2B 29d1200918b50ab32150995f9c72ed3c3ed495a691b4d446c99d099c64ef4254fd4d4194d726904e04c1f17826313e2ab4a8afd048579007f750c804a065221f SHA512 92a9bd736629e6ad97ffd6609ef6bed2be43a770a1e356b94e8fd74bd3471364d605141b8e257aca88ceaafc586424e79b7b63cb5a3258126b14ebbeabd6477a +DIST firefox-134.0-ff.xpi 479999 BLAKE2B 85c2fdec3c0e3f37e33f756e5751aae6e17f02d3d503f913200a2788b0b5aaa3492c46b6c381f633b96eaba3f13164177392658ceb2d18d39473b0b58760cb77 SHA512 779a6ce6ebf1d2dd82345a92a166d8e83e8216287d8a6066bdb46fdc42b9342f5556be11ed78625c87179567845b1eb93bb4d101ed7c39297bec657802bfb2c6 +DIST firefox-134.0-fi.xpi 634177 BLAKE2B c4a28dd11b971b7d3b74011d6d6137f6fd7890a98f860cdaee0cbbe9edf48bd511c08fe22bc2922aa3bb3d26665b745584a2bb712ca7df515c89bd6c70a8b4a1 SHA512 4f0479c83b457b575f70a149c37c90877a55100d8b3fcee0b5216d6b4d73b62e9e0d04467fedab9a2aaefe01b7feefcf2c4f623ab997ebbf3e6617739b349fdb +DIST firefox-134.0-fr.xpi 667546 BLAKE2B 510825119b5ae19935623860ac038c0345d3583f80d8c296b8e4f7aea2e474bcfda1cfd538fc2c79d8ec19ad88b12cc84f7f31f7b972b2364e752672d5ef14a6 SHA512 116e99d4f0b543739127131470b07f0fea478de71e395f999a71f99b799df8c1c33e7352472ec40b443d620a05269ce98587f74322e898e08daf0a236ca01606 +DIST firefox-134.0-fur.xpi 652563 BLAKE2B 3faf2cb17a496470d49bda53f4811c517f77860a02c4dd4222b2bea97a1e4380f7ca6624ece7bd416686aff047cb7c40cfaff38bb20fb49cadbf77a32451f510 SHA512 febb5f87a803dd81459e92fd55c0236a4225d927df21ed95f0fbc9c6727c9e73916d18508acfaaa0b77bed013c6f7c39be0a5bf066d66c6767cd28c7bb356918 +DIST firefox-134.0-fy-NL.xpi 649694 BLAKE2B bf3f00c9b4c7bbfb103002a1382d3c99b44bfc157d8b9865137263515d950bb5d9797623844a2cd053746f2bf0c0db577bb12827c19e04a514bc231dabae69fa SHA512 b2d7f8672ed0360b2ad95017cddb0b31f030e8e5dc87679a059e6b31ebe687eface7a7120224b55a310c476b82d1adb47c35858f71de77238f3ad9ae70892f3d +DIST firefox-134.0-ga-IE.xpi 474982 BLAKE2B ebee8e595678b4dcd4adc159b9e81e42481746af9f90c8a4d0c26b04bf194804be7f2eea84d54115924e712725c8b7670b082082a737603ea4c516f9539a609a SHA512 c28ee784a56b5535930645e7398c13c07ea6822486c6b9260ec20ea5ff0a0b30b7dafbd93b7abacb3880bd521243b72dae72ab33780afff1a1c4b4640d07fbb6 +DIST firefox-134.0-gd.xpi 603300 BLAKE2B 019e09fd2c46919aac770689c17a06f8d3c83006e27f7f92b29cadefe529951c18f50f9e6081d4bc4e49895d0f28e49398fb957764cac912868226a088cb969b SHA512 7f9535446536919fb9c6c4ee5f4cf8874d41e500a0a9cd65d1eaa436d7cfd8edbac2c4a1fc2b4481b53ab017019e5da176c45240c5525cc06d1e9fb7537df79b +DIST firefox-134.0-gl.xpi 614908 BLAKE2B 35c1cff09869b2fa556b112fb1e46deacc645f37f3af8dbf9ef4aca60596d06e966dd65a68554c365c5a72495bf94ee215b0b5a884d9dd316a30108e197cdc31 SHA512 ad794ad32fcea6c5d3d677f215c78cddcfb6f9bf7ce2001f13da5ae0bb3ab83fcf932b2ed5937a5248d96bb3b052f53a11c3ed9289b851e5c7d7573c80d0f986 +DIST firefox-134.0-gn.xpi 661081 BLAKE2B 96af2541f39a6bf0d1f84210cb78a0eda3aaf698773a5d484dd76927fc3faca0a28581e95e42afbe404cb867f5730c4f15d1719011ee90fc875116ec154c5e94 SHA512 61f5612fbdfed0ebee60a118734761a9c8c382b0d50b8281566c9f3896a3eb509b86b2bf9f59de08a231f9af80bee9b40acfea8149e378b6e851a42d711cfdfc +DIST firefox-134.0-gu-IN.xpi 531510 BLAKE2B aed65e51e72a525bfb74e9efe52af651c787bdce71962e2f035bea4b6c0af2c7d6b293a7c99c65c2e7b76748b58dc5c425759786eed73530be60860e654fbdc7 SHA512 b5daef8e06b003511a0bf34a7e802f3c278342d0d1964930e2904c002c76ad22d7c839b4450c88709f3da3662d8a8d97ad412806d9d2d8582c30a8bc17b2135a +DIST firefox-134.0-he.xpi 656241 BLAKE2B e5e33c5205019120333e1bf28f0bc7ff5fc651e72452650fb3ff5211c773185149b5b0328c4384778f46f42a12f11e17cbf96af8d60908d71b43b41f88dbf4ef SHA512 9948154b38aa50ec11a3f478682bf61c5f7a9d2c9022feb4b2e0e379c42901d5604e32a8455c4caa2a8e4bf94e9232d5b3d24e2e93d970f15570c45cadbc92f5 +DIST firefox-134.0-hi-IN.xpi 570956 BLAKE2B 516aa55421d863261421ed8bf3dc93c63157aa4cf324be8ad2658780861128c5fb3828c5237208654e49cc0f11dd8cd64bb4e2b02f99e112f6077b2471a916a8 SHA512 6836bd4de8ba0c57a9a1e9f8079d6eab4230442fb3ab29e69a27c9e836afa11124a1c761b90a0ad2d37f21a98542d04d6c87f30d4ad83420a7ae49c6598b0665 +DIST firefox-134.0-hr.xpi 633368 BLAKE2B 96b344a5bd091e574bfd0ca7350df579732484edcf54f3db709901cf63415d306b2c4919d8f7942dca3876892394732a975f245d652c50a487525a7d61039381 SHA512 aebfd94df4e98412410953b922850a58c37c6ca149b64a4301e4e0cc82d646a9e050260cd0e237e8e685415cdec6a377618cb7cd1db2773056f859ce003c2e11 +DIST firefox-134.0-hsb.xpi 674109 BLAKE2B 7f053ef3ca21c59ad5d2d55ddda8136d54b60f51694131dfa4b5d8fc47ccde6d922c50967ccb1047ec607af489e1cb64313628a9f5fbd865d8741dae77c9a907 SHA512 a7885aaa5f03138dae3a70aecd77d090cc57d5deff3cd7c36b9b3c3a5250b814db1edd69f00d49845d98ba8ac0ee6130c88ecba23a3208010c26a5ac7b72d652 +DIST firefox-134.0-hu.xpi 678173 BLAKE2B 1865fd393f9dea7fbc0bae251c0c6fa7a1f8047e87508e06c21f2d755635b372a713f32d4ecc32a112c77cec249d3e883900384085ecc2d652d9bce604d8e320 SHA512 5b1247bdf0fe4cc4a5ff31db0398589bf4b17fa72b6f61814f74fafbe52a00a0754ea0e5585cc909d14bda0a7a3301e5efa8501fe707c23b5d9c24d4732ba729 +DIST firefox-134.0-hy-AM.xpi 661671 BLAKE2B 027c9a6ac7b9139b2e5b633c359005728b1d8f80f3627e1770702781b7b4ea039eb6d14b6aebf51d610659d72019b34efff3fcba9fe6f22aa0ff087e43865c4f SHA512 48c686539e93f8b0510ee1484e261e0f700767fbace31c745d4242e8604c23921eb102e89136f96c8ff46e5caa360dcbe10fde2a3111785357fead8099938a9a +DIST firefox-134.0-ia.xpi 636635 BLAKE2B 52033a26972eda686ad6b18ed18552cb75ad79ad36f2b25ae1798cdf276efecfd480a0e8c7eb8e6907d95989251ef1210218ea6d80dc226c3c7a535720e18540 SHA512 8d7d17fb12797ac7866a202e213048195fd3a888f308153bddee559c308d974d3c28f4e7c7ba33f466276a5dd133adc6f47d043855562f2570ff229522c07371 +DIST firefox-134.0-id.xpi 620028 BLAKE2B 4a6b509ed71d455a952098606db488e246441d5708036e2ec5c5da5f6423ff10807ddcf5159e0f30f102a3e651e81b2d50806e25ee45e5f0df4f86a8aa1e1325 SHA512 a198e8e85167ab37a158d2ce3dcaeac4a66875e8a3bcf14b9e93f1c041266165a8757f42d42f8bf333a8935968c61929b7a01e808f2bede03617d03dc34075b1 +DIST firefox-134.0-is.xpi 642110 BLAKE2B 56b463c588dc2b43861ba7d16e08df029f390451702cf38eccdec73abd989c6e46216078c85cb870f983cf311ce1eaa65997caee07f685e06ac51e05ef5f1269 SHA512 26036a48139178aa4609bc70371814543830385224c8c9b5c9291356ba0f530426062c69b9b2d2bce92d10d927fda9aebbf78324bad01793ffc59b23cbc4fc63 +DIST firefox-134.0-it.xpi 646160 BLAKE2B 8dca9f809cded5193b34b9682114aefeaf27383fabbbcc94a46de294959e301fd1454d868e242355078a989fe6da83951ddc02d693c38f481fe172d7009a3776 SHA512 39c328508f6bb53b0688ee40fcf7e50e21ff85a397fefa1612edb284f2b7e36502984ff8e543398db4c8b295f2c1523f260e97aaacabe27bc8d987ab950ba16f +DIST firefox-134.0-ja.xpi 704024 BLAKE2B 76aee1734dced3a87537ae0f8d7f82ff74171a87c4f9418c3f69359fef32ed199527c8e1ea1259a070e421d84c62d1d57bbf9cb5f7f2ccf6704013e60720d6d4 SHA512 9b1f0c27cfc472a22aef82fb446c8ddf923f997442a1369575c98723b33ec7a31da7b61bc5744cdab40d1f7812d6768c5f6c47db9c1b1dfa1648499d84bd98c0 +DIST firefox-134.0-ka.xpi 711240 BLAKE2B 8f221b7f4ea16e5e2fb3d8c2cb274997f95f21f9419fb9606fd4a7e8e245a971d4a7f825d97c6c04d2bcc9a7a0ef996980e5bf3612c9b68a0d69cedca90f4df9 SHA512 f2ca38b1e8ebbe73c37d0c009b1ab65e103175a69c2d42a0c9e1e27576f1ac7051f051f2dfc323d417c3cffadaded2a178b2c927975a7377fe4d42a7f7e73eb6 +DIST firefox-134.0-kab.xpi 626328 BLAKE2B fe69b8c014967ddc649ed98e17f56967a2449f9b7107e9603d6202a97a093e4ffaa04431ca83867348bda9b5101ccbb936e3bcdde063eb2231e3012f8e06739d SHA512 76c6e9db97ebd1daec554e24ab48564281b4ad8fd198f5750c14bc94bbb40115cb76716e4f5a7b44d0b7ab2073f68f4ceee23f8b5a6c4425734268d19c21d2a9 +DIST firefox-134.0-kk.xpi 734784 BLAKE2B 6f77c28fd237f8ca9634ab0ad9fbe820dc78603b09ef3fe796b9152c4cb14bdfc3d0189c97ef3a6b19cfba01025ea112d3d6f46bbc7c0a7dc2f7e273d2edc6a4 SHA512 d2e32e4a9d9e2ad35b5fab0ef79921d60dc62e21e51b792f9316e60bf77394354e13b480cc4248579a31f470ed307ac8e66921f8cc5ae59c3fe73b5e209d72cf +DIST firefox-134.0-km.xpi 529770 BLAKE2B d684dfcf62f0e5ec777e8dba8c58cd3ea0f3be9c3ff2db58164382b0ee11b03591bdc50604fab00bdd4d266a6e73202fb1bfabce854b15d9e1e9590cfd6bf5e2 SHA512 a4624a5cb60041ba2b94c199a0f6a8e09c5ce29f577bec7a791afc3d9eed944f9e416801c88fe158a0734f83d48a3076495e146095b2fa5b2ff481af86fa20ee +DIST firefox-134.0-kn.xpi 494779 BLAKE2B 8f2e7d9ad8d67d0b03982738d3db00ce921befb54f1bb67a4451013ea8f583f91c79a468de37abc59c073f77667ebb3f7116edb08f393cea4591695c4dfb3263 SHA512 92fbc828362f09572fbf909e4b50b3bf3572dd5495f6449c622d6072d89f50ac095f8ed48cb7cb99c9aa92195ef033ec3fa4a44b21fbb13aa07380004aa20210 +DIST firefox-134.0-ko.xpi 688670 BLAKE2B 46552c5fb5a08da2e25a15baab5ed5d64aa9964e93ec6769a532f7e8808f56baa74b3c402eb80196f176c4fc90ebb3493971e2e70f96caf2da9e6e9d8f36f197 SHA512 b82a3c0d9aa69afc94f8e74fe1021cc28ff1d2521f432ade955940cf6c24418aebc3ca26f169d57ae105256d2cb34697d256ce4b9fb08f448c6d90eacc6fee50 +DIST firefox-134.0-lij.xpi 488327 BLAKE2B 9a2b0ee6328da5b1efc83be48a0cc5eea886df98f1f1bd55e9b3ded4eeec1ab5c2bdf105eaaad0ac547f3c0cfbb8e8a558a25429abb0bc7dfb8391e52a007db1 SHA512 5e405965493f3aeedbff0f06852bc1ec40c3ea9b440fd18a9de169956a554fe0ca0b31aeeec9840de49e223e1a87a446d9921e92120b59d7ccc6ebbc6a3134cd +DIST firefox-134.0-lt.xpi 577201 BLAKE2B fa99bf93f7298e69381a4a986c10fbe203629edbb51c761c08b7ea40dcd9c6a616611096a3036cbeeb1c6c8e7fc8b6e272d0319c00be273c84cff934745d25f4 SHA512 2f37c3b318b1d5d985e32755a8a351791e83a0cec6215d02e435ceab7915d08afb06870f0fb272a179a63fbdb94de1c3f84bb94a679bb7bad66a7da29c85b76a +DIST firefox-134.0-lv.xpi 590048 BLAKE2B 5a8623e003c2aef172d0796433797e9eb510b442066bcb45cb6fec5002e63fd7b81056f57f10ac59c905cc274e011e30ec92df5465e734b4297741156b7543a6 SHA512 73099be1cae3f0232acde3063d8b9f60bc3f22876449ffc53ab19e981db9927f7adce57553ddb80b2efa31f3db14bcb37257583c7c83360a2d65c2fb605f80d4 +DIST firefox-134.0-mk.xpi 497213 BLAKE2B bfad1e6a9c919f96d6692b2b2eea7ae841cae24cb532118b177c0c3fb99c040e72da88617f42ead86c63b9a83b945958a84b6b39839b91e9dd74e5e1e6c94baf SHA512 2d102dfeeb17d66abf6c2c40b35d99541dab01d64ff143d28da1950a1ffc46e99cf45317b4382fdd0a25de9db331589590ee7d8976ba50e12de5360aba0071dd +DIST firefox-134.0-mr.xpi 536143 BLAKE2B be8b5a11105da49ab2479fec5fb15fbf7efbd7de6838c326515d296bc4e1bc2ea5c4feed5d65ac5de0da62a46ad33675ae027c5525c6615bfb2ace406366d523 SHA512 59d7555d590cbf6dfb855725e9ce85f6d033a0b3fb714b92e9b9a954868ed590df55dd67b4a45bcd1b5f4c5c029cc65dd7b7fbf7ec9f71d50668082f417f283e +DIST firefox-134.0-ms.xpi 453846 BLAKE2B ede75605082be68e8965eff116fc19741cf338d987ad0c03dae4bdb441aacd2c5151e2fa8655c15937b7a69033d9f88474928ce60560872d71b812aa23db49a4 SHA512 15dbc9b1c56d97aecc79ebe99965b05238b37c127cdcb4c52035fa88d23b7ab3f8f5b97b6cabf9193c77d37a669a2d4de52e31a0796d801b0443125412d2de8f +DIST firefox-134.0-my.xpi 522468 BLAKE2B 00a9e7328968c4ed0636c0531b835b1fdfaf94f451ea297e1dbcbe05c5946adee87a5ad9d6e20af897b4f56de0ce964773fdd90ace5f6e68ade4cc36b46d04a2 SHA512 e7794350f214bd015896e5c8cdd4a24e02b71a2bb73ae2f95ef23de030c7fb2e9f70431c342a99e12d8899da164ab820b56011f1ac7fb2bf313d51ff879b2596 +DIST firefox-134.0-nb-NO.xpi 625554 BLAKE2B 9ef2a904ce19d095acc49ec9ef043ccca21d94c79f84b69356e8f812f2acdaef768eed0922e688728d659701e84d09eeafc405363e931cfd30cb660bb3177879 SHA512 ee97217855b3cdc73f4d4529ffffcb570026becafbe542a8477ccc743475762af69edaa788278a60b9ea8d733a8b20bcc7a17f9303a603daf5a09585eabad68c +DIST firefox-134.0-ne-NP.xpi 524811 BLAKE2B c1d4403220341adec278fc204b44c1443fc94b00158a3deebd4bc1a5c790c9706e2bd18d150ecd27efdac966c57a2c32aa67d6f367bb1b752176020a1a484563 SHA512 47e50fdfe3fd4921e4cdcc2fc72501a754d0e51d3e149cc093b82b9c4ad00e0e9951c83afa19b7b1e85e96923e9ec31f6dcc55f8b992bf742affe662fc153b00 +DIST firefox-134.0-nl.xpi 642841 BLAKE2B ed7bd0d0419819f3d9939b598328598de04b03b02fd3b4b65b2f24a419824d34640bbc51d8374de78db222120629768eaaacbafcb894fe83e85ba5dfba4207cc SHA512 44620f7fef6c7c4c3e41a966aca5902e58c1f04401e0e1bfd9cfca285355d00c82d038be55d62ab0769b3be0ca81400d12c731c2b82e4964c8ba05701387cdb2 +DIST firefox-134.0-nn-NO.xpi 629840 BLAKE2B fbbba8a0590f849df7b17e1cdad0a088649fd57a81fd008bc72c3d0a819773966bea710a7d234b3cd272e0650359031485e6c8c64cc97dbc03e09fca98679209 SHA512 d73d2338a401fb0fe950f78bf080f5021bd60da33077cc1a525c3da8b8297d2f9fe28f6d20bb3c0786f2c0f19dc65256456426d646533d60cb2d8adc9799fe7d +DIST firefox-134.0-oc.xpi 626181 BLAKE2B 51e33ed53bc1e730867ada9498c2cc69a0a81ffc7c3d79c293e8c378036690467297cc33cd16519fd48b44214998ececda9c8fce0082227230ace54dff615d3f SHA512 67e2473eac8176557dce11ffae66c68bca5597f79d7f6151087acc3c2ee79806c34582d6e2337885a5941bc20c5524db4b0d081d8feb6918aada10ee15564f47 +DIST firefox-134.0-pa-IN.xpi 723083 BLAKE2B df9a2c5a04add3716b31aed17ed44389a24bdaf4d174ef7d728a74d5675a68857f2ac5944bd608e8da56a8c18c3ff02f3ecb07b5b43c7734ed7a2bb16dadcf03 SHA512 7ff4909d046317a4ef6329a109061d771a054672fced6365ec2c2d7487f665b98ea90ec5f5a45c9410e1916ad0122f92828a3267ea829cb38cca90ed9a503a17 +DIST firefox-134.0-pl.xpi 661734 BLAKE2B 0f83a5628415325aa808244c91ea7cd5483b19b5d6237ba0b949fb0ea4a2e4b42d002467d6d6313b0870c0decfd1b28e4969a94a136f9ae9c7a4cf719281b70f SHA512 ad8329ed1e96be483e9a1e809fa4dea71d867e7359b13e24db8b71dbda908972ed456ed89917eb0af4fffc4e8c952bf2060bd96dc46a4ca980ce839463765ae9 +DIST firefox-134.0-pt-BR.xpi 647955 BLAKE2B 8c8006f9bc32dbd1c24827be85af0be7f895a40a2ea7d7a2ce5f57da82381f3f919d132dba4db181c84fdc216ebacf49deddcb0fa290a4c64bbd3513f7e67771 SHA512 5a5613be6cb85e6e5175b7ef028a6554c37748f6439bc8fbcb7c0a92c94c7e0a21c1b67e1b6d243fcb533af9c5550435f4a19e132df98642d089c00318ab6dd9 +DIST firefox-134.0-pt-PT.xpi 654969 BLAKE2B ef28cfb5c6432a7a6544f689b2650b220f539bbae2ba8db1643812eba253168abb91be37679550155b090c3d9111a6636aa13879018c79aee838de6ad075033e SHA512 2f6119783cd9c5f7c8426b9be9dfcf3856c465e63966d38d4863b15734de53898c00fde3896beb965845bc0df2a33089b4353b82ca812660efd0ef73256f420e +DIST firefox-134.0-rm.xpi 644069 BLAKE2B 4e00656d142d6fe2b47e1c37c44daf99ba49ef5e2c977fc4608dce721870fd18aae83802576e917e36cb8e1036ad8784f7cd22d37ef3da2dd961d56f3c87ada4 SHA512 5e95251b36d4ac8cf36307c2fefa6fecdba532177efed439d12f5492aa6b3114b2f13c31411ae38a7e05e3f15da703c4f06f3c519309349424ea4140ad59317d +DIST firefox-134.0-ro.xpi 554204 BLAKE2B 152690cf27c8b66b1201ed2d5158ec466a2954cc94ea39d6781811fba05499fd127e9b0ee7fea54f48da69c183d91901e39f6e01fb124b51d0bfd0b002d23737 SHA512 a498a0be99a01ce8c70d099e32c25f1b84e9442fd940d288c2037e646db8cd408c7bae12f9a764759b04065a47aa455e5da7f9075d3e71e3be2516d19bb62cd2 +DIST firefox-134.0-ru.xpi 750993 BLAKE2B c1696b5da1d593a3439a27ceee154b12db6256c53cd45c29a684a2bdf6b4bbd3fdb8e70f76d488f8c5653db3875aa67049acbee5d10857cbc7ac9324280a0d8a SHA512 8777c13f33b6c6cdd8a051fdd1b4671a77d9e8c74754ad16129f28042aa5ad44981eb2859b1abb9cac6b8caab8163d0f4b909a9817b52395b9c233c817fb7451 +DIST firefox-134.0-sc.xpi 602167 BLAKE2B a6c567999ff69fe2ce1e582bf1832ba9e5e96d522acdb8ab93dbfeb70131d9b241d71b0a1a16c18569e754c2415d6241acd4b2753c9da70b90334e9c42113403 SHA512 a4ca14be44f2b8ded0152b9c5bcffa710dba48d21f5ec96c47251e327b5cede1965281d2006c3ef881dadb317fcfa0b5bf962227773968b856946789a1e5e68b +DIST firefox-134.0-sco.xpi 515423 BLAKE2B e1d0654918a714460c2790717346c469671735a07f330fcada32c4947991e7b0da93e497eb0e80d893f03b12097edf1d71dfed5cfa46eaa582ce8de73bcae4ad SHA512 7cb519be6f4c23b311bf3423b69895c19fb14e6fd372a2b75fabc7ea2d8c63cedf42f28f3c6e61f37db47879ada678655238b223c21686d642a8cdd6cd80dcb7 +DIST firefox-134.0-si.xpi 626867 BLAKE2B 077c7f1fc1320669968eaf605c6614799f6b2bafcd330b3f489a0624ff25e831a7bc38351bbb5adc0de64dbe04ced481f1c0e7a78ee45e868b5175fc8063f161 SHA512 b627fd841542107b098e4c6b7e705bec76f646e1822a99ed70daed8a5bba0048d9092aa958d1ae73bf7a41ff3d5fd74490d0b973e448f9d10091fe83d8001014 +DIST firefox-134.0-sk.xpi 680487 BLAKE2B c3dd9a39b74231e0af76498557d770898ba4620f95f144fc36d53d0ab588b350ca3eef5b8071764cbcdaa5d6005c23309d5bed497220ba8a340ff8582f99b1d6 SHA512 55b3c48e0593d0902042557245c5f2747e3796b24e5bdbf5bcd7c22a7c221684147058daa599eab3d0556fcde28620d81bbdb24a2ee874e15414ebed39f6384c +DIST firefox-134.0-skr.xpi 727787 BLAKE2B 43539ce890c628d4cfc07d5169de790964f1a56ff17b7760e08e189c0de717f6a7014ce94176e2cf3539067b2906ba3415f183d3646499e77d51e0b3f9a91077 SHA512 2df6f26d44f1e0fd8b61660b2e493c5f6d477de708b86a08d425b886c4973bb92a4b98d18f66a9e2e99966e47ace1c2a2f143ae82d3681a2d37454ce5cbfd91c +DIST firefox-134.0-sl.xpi 647162 BLAKE2B 59c456d0a606323663d03a7e76344ef8c5b7d909535017dee9a711bddb8672e1df23f10568ae5f09d49547dd97b4c03e28546bb2a13f3b45b706228c125e25d2 SHA512 c23b7540f60ccd69db8a462d34747babbd825ef35d0f68d72a1ae329889cfefcc0916ee7ffa6aebfd4cffd757a2ba6f1142cc3ee2a0cd95eda342fb947d9cbc4 +DIST firefox-134.0-son.xpi 420277 BLAKE2B dbf934e75653ccd7f8c7f987b5640aae1891c02a07baf0718e7cb0a633f20b079d910998242ce37f0105650e3a2777bc1f1da7fd46d799839707a615df060ed1 SHA512 9355c045bdb761e66bdd7ccb131993ae073015d9ce80712d64eff9fe7c27a109308dc14e6090103ccfe75c4d375b3348688cbedc47fda69cc6b13a95ebcb4239 +DIST firefox-134.0-sq.xpi 665689 BLAKE2B 7283bb5bfee040c8404bb60b3a4bec4a420ce9287719cbb22c4f596b7b00f98b7db25292c69017c92575d1088b7819946db20b0eca69d8bb6a2d67e44573485a SHA512 f1bca9246daba492d5e2ffb29781cd299eda64e4944ea885d1b25a8b31989831b83f830021862431ec5828c6bc35154a359b388af3dcb4caf8a28b0e3506e753 +DIST firefox-134.0-sr.xpi 676512 BLAKE2B 5052293123365b0655010824485aac2188c41acf68593469970596350de7db000f98043d32f863f7032253ae1075539178dfcdce8c4411175a15559335737c55 SHA512 6ffc9baf2fa80bcc61337c75b28f77b9e5c9915dc8c4ab3db3d968be0f80d6f5cc62f3e3057b5423fd158b663066a0f9b938763548c8717182be9911c5ba9fde +DIST firefox-134.0-sv-SE.xpi 644572 BLAKE2B 2473d4381cc01a331621950916badbf6e8ed441f81bbee1f91fd86e218df50be1bc0c33a9f342454731072be9c1b39a05b0cedb1811a39c483952a676f471f36 SHA512 b364924165cc1e463ccb572ef79cfd2014352ccd4ed73d09215ce977f9682f0cb1f7653bcfadf26bd8f73eb1cfa9c7edc9509c1de19620eb3b7400b10792ada5 +DIST firefox-134.0-szl.xpi 530484 BLAKE2B cb68fb9eb03a1b2fae3d3359e9912e6317f7487709093151bda3270d0f27e803c21975964e02c424e7fe7c9a6e0ad78c3d5b6f8c7f73bf1861d1174dccf647db SHA512 247dc50b03ee0db9773ccef63b69c81494ff9f68d9a7958730aa466ade17f1d01fcf186e9619767c49d75eaa8d9726ebf7b4f03c3fd24e820b8e4d2b53a4222a +DIST firefox-134.0-ta.xpi 511223 BLAKE2B 923c419aa600a129a26a4b6ae8f25a19b17804ba3b158904488c5fd072eaa04955dc74985f00baac68baf8583ac82b76607167873c3d86dbfc3ee76503c9208f SHA512 6354017396ca9b0aa2c7ab1922194b6406cb14648d96c7dce53f6d59933245e21292009afa8154358e82ee46da98caec94c6728199cfe5af18fc6013911129ae +DIST firefox-134.0-te.xpi 575374 BLAKE2B a6cd392aa090ab43c15a25547dc635cdc2515342d4e71c5107c8dfa584861a50615bfc9604439595de43c66878df45617c6f114fce42136cbc3f3a690187330a SHA512 a4024e7e9a7301b93ffa0e19f770ab2380db675802d7ccb55f709d7ebdfa11188372b7eb8a83a2fcf44260943572ede7ea53823300609bba570151df356f732f +DIST firefox-134.0-th.xpi 727737 BLAKE2B 5db06b144fd0dcae2412ed238c2025e87069972057e6e00c27cbaca2c6864537bbcb0a527ae0f220b7e5a3e9faf02034733a29f026e75be4a95b2aaaadb1e3df SHA512 f2580bd7fdce036cfe275d1bd0a44b31e93f155faccf980a4b662acc2b6daf6dc463911888d7a786ea107a0f8f986aa7999d792b24f908f87263b9ab6a5fa660 +DIST firefox-134.0-tl.xpi 538552 BLAKE2B 15ee6b545f884659252025d983339d71498b258b50062a1ecf6f542697ae5c4556acb7ee898471ea530c97e6f754180cc010f91ec50c9815829615d179000c6d SHA512 c14a59836795062f96059b6eca08b5b46dcf056bc360ddaed6181fa06f80aa8987955204b42da81b4e850816df265b50843e7b920f9e750f2f8e6530da0e16b1 +DIST firefox-134.0-tr.xpi 656854 BLAKE2B 706941944a18ea03de340e471e418d4201058105cba51a6eada0805505dc8b17df8d62bfb95209fd8de67e7500106bb132aee58f4484002305cddfc2cafeb6b0 SHA512 f8e31694235fd77d5d1e3136dd3a53ce4680c07b3c243a0d70e2f32ad98801c3af7c417de2d129fdb170238e6b55499f213d4d6e2b7437b1fab9f6743b1200d7 +DIST firefox-134.0-trs.xpi 507813 BLAKE2B 7f1fb796821aaf37fbf7052163fabedc57453f9cdbf2c4521db48e3fbe871dff6c2e873be091923073703cdc27668f31d13fee0ae82045f8dba4e7805af94d96 SHA512 9383f0a069e47f5ae6959df6ac026b69d074a7b163ff5c1f3c72861d558d0bf9ae0d280853414d84ae5d7b6f32688d134f5a5db0b6b27720747913e0c967248f +DIST firefox-134.0-uk.xpi 742077 BLAKE2B bbc0c8813459ba0c0f54fbdaaecadc9c729535b896005f6d2947ca9ba09233e7507ff026579632604598e768d396fd34ac3291d25a0ad56855584b24ccdabc85 SHA512 920969f555f31fef82325d8cebd213a59c7b0d895044538cd34e5eee0b9f688657e76e9c0f7c6489a7bda660ff6747a7902515734277adea2a7939ce59a56d96 +DIST firefox-134.0-ur.xpi 564382 BLAKE2B 90aec1224989da6d6fcc88e99416a02b84909bf018e594a09082fbfd4947cd9afd649e83b972a72791a2074ea4e01b93997bb6022dcebfc0c5987798d49fa2b0 SHA512 e1c354defed3fec88cba9869296ac698d380c7c4450135ede9409c0c049bba0af01e774591881bfb1a71536361e2d4c82e67848138a37cdced3bac6b6f4f37b4 +DIST firefox-134.0-uz.xpi 482831 BLAKE2B e9bdaf98797a83b71e49390d7f5a048158f771734d213165911160550d5cc092f4701922ff3ab5c58ebedca88ee45a369977d6ba76249797061987f986b694c5 SHA512 ebc41f4d9e12935d6d815eb782a41e7ebf8e237f3e0d3896f5330690b80454f00c36d3f067be26b068913bad93bea876a7519f557aa0c497298c6225a0b99161 +DIST firefox-134.0-vi.xpi 683428 BLAKE2B b734c15bfb6712a665ea53d27c6eadef985c3c40235b52d4438ffe8c3984b387468c95e4b1671ed179377d94b71eb60e7275520806707b5aed19ccf14cc044e8 SHA512 4e15d75acf84a780bc34cf11d78a0568fdae087be441870df82f8fbb6f99f6bffc45763542d5fd8983b4410d7c10d6c900730c7d55b3f611c2b302e71dbb8a83 +DIST firefox-134.0-xh.xpi 421002 BLAKE2B d491bfa4f6be41b9403e13e0c1752878222a0d8f6eb3a7466e19efb217a2916143beedaab4512378811faf733d2ab39e9355e4bdd7c45333499be970333b98a8 SHA512 2c6005ba3716f6124a4baeb3210b2cf90ee9dbc51a1b3ace99dc1a3b72d3142c6b62d91363be17629cc0819aba23ebf38fbd53eb37b929e04231eac52436c4b2 +DIST firefox-134.0-zh-CN.xpi 684492 BLAKE2B e0d23ae8493c56b890e1390e6f472cc6d8921f296f0b792fe7c4dc82c3af465597152ec41adbf819a5a775af8f2eb486f3a62c01de246dbadf106926dfe855b4 SHA512 71486999caa8e8a3f8b6420ebe97111855b132fe1f1837ae85af112cb5a30a6b264bc659060f9da48aa7c7745515dc30eb05e44b2ffeada09b5885e53231e443 +DIST firefox-134.0-zh-TW.xpi 686751 BLAKE2B cca65375ac4d4569873a79d331604c88022b9ec8a19967d5faeba855aa89092830cd1cebb16d45aa8135bf38fbdfec53c69a307e79965a8ffc4c308ac617aa56 SHA512 18d9b8025eb99302644b7a2c535e750414e0f419886c4fefb517403881798bc66aa5084e3878b9e37aface79a624c725a62f3b00a89825ac061ff2469a704485 +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 +DIST wasi-sdk-25.0-arm64-linux.tar.gz 115160800 BLAKE2B 1ce22aaea87d0720d40d46ebdd96508c8fb0593b53c4489022fd5a1a9afb043a26a6e162a992d73454f612f2b6ab01e17a99c189c0c8b8c2d2d68fd96fabee1b SHA512 ef4eff22c1efec4dc5ab199d09d93ee0004f9fa67b32cac0030f8b6a40def10f714391cec8e803c200995dd8bfad3ebad9ec79b4195aa6b2ea61ea47a8b9e61f +DIST wasi-sdk-25.0-x86_64-linux.tar.gz 114450290 BLAKE2B 07618828d4c25d67421aa72d38fc49bbff9052b8ecfe0fa9f4207e71880e9c650f458567cfa5bd389d5f830fcfee89142a77d33c29e7bccd1da7ddba2bc47b95 SHA512 716acc4b737ad6f51c6b32c3423612c03df9a3165bde3d6e24df5c86779b8be9463f5a79e620f2fc49707275563a6c9710242caca27e1ad9dd2c69e8fce8a766 diff --git a/www-client/firefox/firefox-134.0.ebuild b/www-client/firefox/firefox-134.0.ebuild new file mode 100644 index 000000000000..fd8ced9e760d --- /dev/null +++ b/www-client/firefox/firefox-134.0.ebuild @@ -0,0 +1,1373 @@ +# 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 rust readme.gentoo-r1 toolchain-funcs virtualx xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +DESCRIPTION="Firefox Web Browser" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]} + 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. While I hate this REQUIRED_USE +# constraint, it's either this or removing llvm-17/18 compat, or having upstream to patch +# clang-17/18 (not going to happen ever). Luckily clang-19 is already stable in Gentoo so it should +# be widely adopted already. +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 +} diff --git a/www-client/firefox/metadata.xml b/www-client/firefox/metadata.xml index 0d8cb0c75363..8508735d5c7c 100644 --- a/www-client/firefox/metadata.xml +++ b/www-client/firefox/metadata.xml @@ -38,6 +38,7 @@ <flag name="system-webp">Use the system-wide <pkg>media-libs/libwebp</pkg> instead of bundled</flag> <flag name="wasm">Sandbox certain third-party libraries through WebAssembly using RLBox</flag> + <flag name="wasm-sandbox">Sandbox certain third-party libraries through WebAssembly using RLBox</flag> <flag name="wifi">Enable necko-wifi for NetworkManager integration, and access point MAC address scanning for better precision with opt-in geolocation services</flag> </use> |