diff options
author | V3n3RiX <venerix@koprulu.sector> | 2025-01-16 06:41:40 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2025-01-16 06:41:40 +0000 |
commit | cb2f73d10494730ba590096a1f24ebc6d0d61a9f (patch) | |
tree | 6b17212245a07479b72573fb8380352300de6b65 /www-client/firefox | |
parent | 8e26aeaca2a19592a9eea3917f3139bfde8641f0 (diff) |
gentoo auto-resync : 16:01:2025 - 06:41:40
Diffstat (limited to 'www-client/firefox')
-rw-r--r-- | www-client/firefox/Manifest | 102 | ||||
-rw-r--r-- | www-client/firefox/firefox-134.0.1.ebuild | 1371 |
2 files changed, 1473 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 83e84c0ea849..576d25bce642 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -516,6 +516,107 @@ DIST firefox-134.0-vi.xpi 683428 BLAKE2B b734c15bfb6712a665ea53d27c6eadef985c3c4 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.1-ach.xpi 468175 BLAKE2B 788b4c43d946082fedebb17be89e3cf434015c882655a5372dcd409d63eb7792ec5e10b1482ce5fd0b925d77441fa12804e4ebfc71a7d82f61d4b0805e7ec0e7 SHA512 e13f7cc1d3f7d27ec7e11a980cf89a767dccc7c4f35b464d27dea4ebce5ef781fa2556dd57b9c8335177165cdef11bc777ba21e361fe38cb771a31a99a1762f4 +DIST firefox-134.0.1-af.xpi 421160 BLAKE2B 2d7a974dd2862c6e69412045908847ef9725398d099169320da54b03249f9f2e56caef908a416f4e2ac4595bd1ffcb7636f156f8d06de7f4cc198c5de41e6e46 SHA512 99e97009f5a63210a1582712801a997d8dbba70b21853df6e9eaceaa52351df447936d5656b03c6b7072d824d0b5ae00b898b52e2475802eeb095386dbbc4c18 +DIST firefox-134.0.1-an.xpi 510941 BLAKE2B 8c161c455a5156992c5927bf7ad72742986a6018c514e71e2b8ff3a9207d86bcd80424c11e18692af8283da8ad8580337984f61cfdc8abeb190b3b2a3ad34270 SHA512 19b722c6fb8114e73bccf239dd08c8e184ba66fa615c5dcc8aae577f469248b85cc25b26050d0ca675c0ae3793b14d0f2d10b02c24d1d89959d0a03978fc155c +DIST firefox-134.0.1-ar.xpi 633882 BLAKE2B a19e83d00690f621e2bcc1729a981135e1a888935187057d6263b3d29b5959c4a7f842d0b566a733be15bbbb810bdc857fd7d589e56892bfd50f015a0cbc9855 SHA512 28114c4f7971dabd3e74bc22f052faa0ff151fd87a693a681217e4e4e15a912c1f6ebc54d4564f96456f666509127a0abfd7bb761a092487b62f1e8ecde3f235 +DIST firefox-134.0.1-ast.xpi 500078 BLAKE2B 1bfd6aaa0b1959c1039c1e3b9aa1212ee2bf94d07dee1d0b0e9a77d33ac4c83a58f46bcaac9039a2af6e2fe4a258c54d5478fb0e3211bb146764195eae8516cf SHA512 f39812dcdbe5641ce2e1b347bea72060e5d337d39d3133f2b272d3f743daf825aec187015fb086cdd57ead5e0b357ccc77cb9183d706f29ef1c37884a0549960 +DIST firefox-134.0.1-az.xpi 494905 BLAKE2B f417e13bc2d2152542becb6143eb7f4af0352d0a82171b729a5d5118ab934af46153bae95f1bad56665567e12dc01bebcd7bd6d5c727183e41993029572c99a9 SHA512 54ebc1385587a4ec21332e102aaa6f20ca4a4be4945540f2f3dcc2e2ab4fb12df7d6b5d8c5d3d5743131eaf0d30086bfab91735f211adb9a85ad872753c4187f +DIST firefox-134.0.1-be.xpi 744277 BLAKE2B 5fff8ea83331f397a4ab1828cf2fee3645abf897a6fbd2340e43e11e0ad8c42211e5c418e1dfde2e1e9452837954f04bac9bbb76424bfaa4a8f072bcfc5e229d SHA512 c1af86b6fd488da66c1d7bf11cbb63c45383b0e9aedc1c3bbd2092fab159248047b8e9e16be7d156b498652c52e745eb86866d9f0fabc8df72e0e72012b06618 +DIST firefox-134.0.1-bg.xpi 670911 BLAKE2B 01b8dc1038b7b6e9128958b5e739c5a4b3639807cff8df1b050359f2c3fe9811888c5c9370f647e7b3bbad154758a0e1f6b882b8afa51474ef157930e7cf04ba SHA512 8f9d8be21c16001c74fa19d627f2c2957d131dfbefdca91b27f002cf565038501bb0411828fe78bed2345868fb6afe6d674b2dc06c51dab8519081e8613e326e +DIST firefox-134.0.1-bn.xpi 615533 BLAKE2B 53b652f52a148c45ce7d329944eed7e84f00c93c26070e312d52312c0a1f0681ed547b8ade89271d851ff10fe2299d78272df512da0d4667c42fabef1e12ced1 SHA512 c676dd896b38358f798d721ace3dec428ef6be5d23284ec0dc808eed6e99cc740f602413d61a38033de9438986eb9e8ddbbf87c9ce06af3d4ae4273073e3bb99 +DIST firefox-134.0.1-br.xpi 598067 BLAKE2B 1261ec2774e698f450dc310eb567ef553a61c74a952a294561063e07488fad48df6f13a53ddfec5a167583d0d09f2a8b4bbd94cddf9fec59530fc2834797abdb SHA512 1c33a1bde8b0a8eb217314803b09b36d876d90cd5b539edce79b89e7751e3b50d6c21e8645cff75ed955d9fd2bab4df6df4e65582ba4b7975e2023d726440e81 +DIST firefox-134.0.1-bs.xpi 557253 BLAKE2B c28892d717b30aae7aaf7aea077197a307678d6fc53a0aad48f639357d61a3b93de2b370263dbe793f372fda644d7d539435bd9a232b990ee954d80578b04d39 SHA512 a7220eba676b0346ec1f2ca59dd84590182c4b908a2c8b886578a035f92b6c1d921f31f7083dd0f172756e6a182b4bf3e90c86ffb520a6b08a9cbf19378e1206 +DIST firefox-134.0.1-ca-valencia.xpi 550233 BLAKE2B 57d2fda6869373e843cb307884d3f4d63f3b7e9d7502effd2dacd3e7ce87d08611f8c4ca8882f2a2bcf0a0dfb6db66b8af8ce90fc5a58f5aed0b7def6bd7a422 SHA512 90f360c20371763990a90a958f4be72c34897e372ca2133312f5b3325e33a9163c30a76b1b3cd667497e3dfb680d2aecf276616ffe9842834957062895bbb894 +DIST firefox-134.0.1-ca.xpi 607763 BLAKE2B 471abe72ded5f9810f7b1d91b1f897772cbefa09c4ecb14d8cad38dcc1add0b97f229cca207eabf66989f06ebeaa9404185b46888828b45f6e7e295a194c265d SHA512 4f422d4d2c7800d194cf03741b7b9a51b53c14842e96a6358e6967040d3866f451ef977b1a099b32469b362b2704eb3349c39a5c0e981dc5c016c8eceeec3af9 +DIST firefox-134.0.1-cak.xpi 597763 BLAKE2B 551137974d12f5e85bd92e6e98b9ccb0ab021034c05ddd48885405610d78283fc923bc3bb9a93006cf2cd421e6d2b0049028671af8b5fd21fee85f6f3eeeec8b SHA512 e20e9320d6acb09aa99750c8124ecc657456bbaa8f55bf106a7105f7e6fc57b43a91edd5da4aeb9a7bcf7f4019c0e6e1f4c5d532f14efff7f517b7459f920f15 +DIST firefox-134.0.1-cs.xpi 688666 BLAKE2B 2cbebbe2d3232d528d53cabdda6302980d06c668519d749e901a121f5cf770b4b138f3e360f84bf7a36216cc254270368aa5226dfd249a62d11be141369550f3 SHA512 de5838393bbc6de2e38b142fa4a87d19b72e4233342436b7cc7bd9c7d9a4ce472eaa26b5a7bd4db4107f6e1d48536b29dc1ccd8fa69a7514cbb792fb2b2de4c6 +DIST firefox-134.0.1-cy.xpi 649379 BLAKE2B cdd5ba1d5aedd5851d255dfff6b921fb410d100b562640ff5b4933296e307dd3663f6d4b5b850517034d33f5818dc34856655a0379e7160342d7060818d59a13 SHA512 f7f630e45abbacab40e647bc88ba3d1aeeaf3c9c59f029c86264812713df0f221d33179f7d0f88a32e741d55d31cdb7c1f7826c2399a0c5b7f3b0a5955d7c9ef +DIST firefox-134.0.1-da.xpi 637282 BLAKE2B 8e164298378decb7ee8619099fb6f6dbce3ac154943fbd3d4ce8a626127dc2cb7ceaace59866b2fa923f48ce3c58fb9e055e27518ddc9b949b40753e99ad0ad7 SHA512 565f69bd98a0d5b921deae553436a2ac2e0ed72e04029bf1488d81a05d202729642e0e1bf93d6d9e51f718a9b05fd4f10da4aeae3620743fc5745d613b5dd49e +DIST firefox-134.0.1-de.xpi 661272 BLAKE2B 1151184923790742a50fbdb05b2477fca7404c2ad245d65c0ab8fe0ffa599cc3676cd1795da779bb60a16f6f76c0f520ef890d7eb776fa91e164da6803fbb7e0 SHA512 fd1dd3da2d952cb1eaf9f21f38a3f158a057249c4a2f7d761bd1d8e9a6453d4c50d494dbd3c81876693655c866cedac4204ab72b58174f07319a68de9714e197 +DIST firefox-134.0.1-dsb.xpi 678091 BLAKE2B 72bc98f77b5c4675f6c1631af4df7ab82a3d7d2807c6dda96f72b1c6be03b40e87fe093ba8d6486d04af78f67b2c4824555f8bab4c7598850201f8ec4975c862 SHA512 46780423beadeeeb8cd590886c29364be69e9a6886fd0e9238c346cb036f7b069c7d7c947f2e9c6fb9ea6f89566211057882093adbb9da252c364fb7797c46f2 +DIST firefox-134.0.1-el.xpi 760434 BLAKE2B 9fd7aca441b63d304e2c5d6ced84d7ce6dcd76000475171fb9c77be6cb9b8807dd4be9bb22efc74fc3744e49f38be02fcbdbacf4d92a3d5253cd8875dafd956e SHA512 a52d07337891d3fbe583651e24c91c378bfd1bb5fe1d6041c27b2cf441ae168a9ae3f5eb5d1d74fae25b719e908091aece73c415188ca70bb01c21b23815727b +DIST firefox-134.0.1-en-CA.xpi 607984 BLAKE2B d1a0d2e889d59ee0d7c006b12ca97f0c284f53563dabb963294981cc9c4462cf7d28d3d5bed1aa9b9ac999cec154e88967a59c1c596cdbb68358c89ba002abbd SHA512 bb0774b4d6fb47ff411b90ca0ab9d98ad58eadfab9123185b7f46bd7ac610cc5e2b0f4a2ea643b4bca10c2d7ce34ce2de5a0fa9548667a322c82eb4235a25ae9 +DIST firefox-134.0.1-en-GB.xpi 609115 BLAKE2B 362948f71c974bcdab609bf9516f2f98b52540fd0a790dc8109897c78360ddf3dcccf661167f986974d0d9f0111a023fc5b86f2e784bc1787621022efc6268ff SHA512 a93dac733809e4842d0828388e613cd093526b762507676ed147c08d20aab711f36431c8517c592f590761781e48bf543ff8c4a7af0c3792345bec1714acd720 +DIST firefox-134.0.1-eo.xpi 640105 BLAKE2B 09ab880f6a2d34f2857205d409839078f4a2c7126f45dabc94f1c06b657bbb9f94514260007b1c6882433621281ca229a7115fa8dabd04038b091a99ec25bf18 SHA512 c1b8d251f86174ca7807de476d0465e0ef92f76a3bc4b1f0baf4e5dc85727d0f75c5e534ed9851c7d2b8b670a0a981e825f6dcbdbae38072ffb1df2111d6ee1d +DIST firefox-134.0.1-es-AR.xpi 654023 BLAKE2B 4c1016c614999770a7fbd396bf17ebb8a0b87140cfdff8ae00108f8b5597828ff517692fb3521f69dfc698e4dc50ce7b80df9e3133f791c88ad7069e1a97c671 SHA512 5fa435a477224b2cd15a0f94648b9240d5e29da3102169cb3bd8098f7269c92566debab34c462d38ed3da7b1f77c942f29f1541e9539cf0a9bb8bc6e829240aa +DIST firefox-134.0.1-es-CL.xpi 653723 BLAKE2B 55a8eda049f5eb410a12cfe4ea09f486e9a0626b9a3a0e3f4ba3a95f930243572f595edff3b416c265c086d847e8b7e50212f506e934dd2faaea18b73ec5826e SHA512 251911b2690b22c57234bec301efbb7e5a85a894827279dd19c28317b1883e1e586c0074aae0aab0b726b06f143d19d8626d424f378d51e22e703a7c2272456a +DIST firefox-134.0.1-es-ES.xpi 648563 BLAKE2B 620d4736cd3e41c8210cb4319e5ce9c9fc8262bd599eb7c8585740a7f118a74c599a5f4a2592b4aa0dee2bc33a3a39ae0b48779d8d156e9d185b7914c4646caa SHA512 c65720d87b60f9f9d68078bfc5f1d0b9420940527ae42d43bcad9d74464b6eb35aa2cbf2cd1583e09cd7edeb930dbce5270b4b17ff2041bd4fbd58534a21ae7f +DIST firefox-134.0.1-es-MX.xpi 657160 BLAKE2B 4e8ee9b9b1bfafa2ed83ae79581f349f46acf0baaf0481976168b7414547c6e9736ac513de6e414a7fa25279c90ab651131e789fb7e36dd2f4c35ac04645ac11 SHA512 1a5e312dab7ec5cbd6f1679dd8b53ac4fc0d856ad458b1f762c358c2d2a731e7b753e9b6354a0ef369bac5d87dab661abfe603fbeb6da287e57affb3c634af4a +DIST firefox-134.0.1-et.xpi 546711 BLAKE2B b673824bf57de531f23c34ef8917132adc739f4da1668c34e8d075b231c42e90a0c2d6ff1848b63ed1b7a6bcec142af682186ee66aca601a42ce5ffb0cd58466 SHA512 0d2f9b5af88b640d25428cf6f189be31d98e17a04d57061a6321eef82fd47c3a566326f4e7098cc066e239c4f900016518dfb1e7cce258cd31eaf14672ffd78b +DIST firefox-134.0.1-eu.xpi 622843 BLAKE2B 1834e4d050bc6b400a0474e8064593254a9ff6f43eeec7aad06be98efd5a082ced7dd8eaf62575bf11d3dbe5aa620466d8ba35f89583c1fc2be919a4674b5c9b SHA512 110b7f787d8374e7e586ff6ccbeb9ec7d87cd5886e388a586e8d5fbf0617931f98705880ce4b916eeea6740c8f92fdc30d27a448b0a94b67c37052b7ff2be3cf +DIST firefox-134.0.1-fa.xpi 625170 BLAKE2B 34943c9a14758165c3685684e74dc19d381a5192375bb2ebf500d3bed5f62d8dd771bce500ab5d9d71a4c63765bf3aa30afdef496bd9708974dc31324c76b85a SHA512 55dbb1949d62e042e3ad17b77044660292889488a357a0f880c5b901982298a41899e3d5ce782506045ec5be4d53b0a99dd9d8c002d754c523c23a284e5a3e3a +DIST firefox-134.0.1-ff.xpi 479988 BLAKE2B 72bdf2767f69b94ea78e24e9991aa0a71d73c9f9ab1fce94af26e5292959109b8c0a8ff91b22642eb65c6d244d6aa85edc110f48e08752abea379a3efe4bffa7 SHA512 4eb31ded1971a531f19f6f3852bff48a67f855204956ae41eba137dcf43d5e84cc4de4282c3b7efe971e1013c4dc87d8928ea78148c5457b56417b1328a9499d +DIST firefox-134.0.1-fi.xpi 634175 BLAKE2B c28718ede4a3628809d7f9d77809540775a454e16f23a436ca22ada68d8fb75c28e0a39013ab9f8fb591c579c5582766845fc51f88a8c9cb65b15bb648c26178 SHA512 76d16c818beb8286fe4e633d20f5c0def02184f06773fa3bfa554fdddfa6855e4137d5691dea56d0df6c7887706fa4b59464f0dc8ec42d357f53ea310006a5a0 +DIST firefox-134.0.1-fr.xpi 667539 BLAKE2B c5edf355d8301bf0a4a245eb8ad2a543af2c12a2f4549e6cf6611514387c4f3b1dc8603a9c2d41cbcd690db46df707a9a584077b59285f4c5c118689ad6d1820 SHA512 82b4756b45effab7cd322869d3c0f82707b7fba8d79c154df3e748df1e04b57264a1b9ee6bc8e8bbe597c91d011e0b4ebb62877dc847867444798af0cfbd05a9 +DIST firefox-134.0.1-fur.xpi 652555 BLAKE2B 66b9f111b853085b5277f31bce69b808ae9ad4a4bbe91d4355433606ff5bbad0a22f6ca371dadece69ceb125d9773ad101302d0cd11fe537bc5c741438152faf SHA512 163c6339a3e573bee6beb15c12dd0292da765156cb98422550de97d4e24c0c2d8c0f0021564c7f23699c0d64cb139544ef484287cb462b33704449a55ab85a2b +DIST firefox-134.0.1-fy-NL.xpi 649682 BLAKE2B 00c39830cc589349b2e4aa92f24552d10a1df719d6273d86b2e02ba2c661d548914ece5371441c68ec6412086adf886f894e7797025affca93cec26ce62247d2 SHA512 b5fb3a7444ad8cf21ce6302642e23a6dea4025289a2d381b8fddb6605acfe3e69008c124f6995f634a1063dd5339b7edd6463cba3b4e6bbdfc447f3fd55f1eb7 +DIST firefox-134.0.1-ga-IE.xpi 474979 BLAKE2B 9fe63cd9e01f371803d0ce5afd0797016c24d17c742e47ba60c1a9020465103825d9218bbcc29053aee8a41dcc80b9f018c66d5b0a9f6d9016088d29114724c8 SHA512 0c5a1e62956e91d468dcddfe7f055ac9177cc1129f3158a99e186400ae62cca687b0a305833fb4bed240d42da3736bcd4727816b236920af6df7990e57797729 +DIST firefox-134.0.1-gd.xpi 603290 BLAKE2B 7d111ad363dc155d48761105bb846f3a0d815cad1dbac38dc398b2145a13af4c20a86f82b0ed160662f7157cbf1ed4c1307503884ffe9ca3265501a09584f8cc SHA512 bbc0757de6f144efda90c58b3a61281971fb854310f73e64b6eebcece81162cee81734830de4d4000b763fa30032ec7cc1107fbfa4204a5a2df5dcf40641447e +DIST firefox-134.0.1-gl.xpi 614904 BLAKE2B 5faa407f5698eceda380505156b7e7ecda69e2871ae3cf1ba46a1198d3ed9636c762178209cef8b1cc285bbd58f1fdd106e724fc91cf738a7cce073ae2ac542b SHA512 8a30c2ea9ed3e6b6f335f2d7d0e1f58ba8cbd6b58859ffbde90ddf935c9cb17f56cd17439169be10a226b2a69268ec96f934211b3941ee8cd2da9cd1335aa74d +DIST firefox-134.0.1-gn.xpi 661075 BLAKE2B d651686fff74773c3cdfd5d510d2dde2f666642c860b34610780c10cf66acbb938557700bbb1e565409fc26e00e2663b5c83edd2f308f9e2629fb5efb28ffc15 SHA512 a1c192261a0e5e325227dcfce712fc38d09e6f7546f74f82c229c3a16964ef5c0e8aa702303420394821eeb10ced49bf4c4fcf1d0e3494c64f91b13052b85904 +DIST firefox-134.0.1-gu-IN.xpi 531505 BLAKE2B 40d949467fd2fe93e99c7f496927b436b74cd0233af2d2c83efb06079aa2152b8006f953965199221666676c420b705057a30f827921b348d8e24e6568b36621 SHA512 f62798ba22e9163adae024de3349457ab4016edc1601c0fd1ff724b7c82c02dee8ef87fedd2265a1ea1e071ab7d0d72937523efae3d1d49bf15a7055b5a4da98 +DIST firefox-134.0.1-he.xpi 656240 BLAKE2B 39590855f02159d23f5cd8e60c940a4052a6f75be8045a37f678c99d877bbae9cb9efb1f5b05795b15ad3c2d0b3fc3d42fe913caf29af5dea703930a14f2dcff SHA512 8e8aa41eda57bdd2db844142fa49579edb43dde0d954fc78837dc9d4ebe3e3ad56142b6363c831409f2f0ba552c1d78014d06aa85c01bd4287b23a8685604696 +DIST firefox-134.0.1-hi-IN.xpi 570947 BLAKE2B 967cf67999796bd0be99befcc0afb425ddf13fa2deef026fad18951d402b3c321b1c4172b6cf5b108dee6813ddbbbc999be95ad11d375a5391576a5d0d6ce701 SHA512 c16dfdc8a9f178b39df53262936e39a2dfc3e1f53e208e2e589b7dbf9ba888c28b86814404ad798bc70f9ce814c2023d6ed0f238da263b173de987ce5660dba1 +DIST firefox-134.0.1-hr.xpi 633368 BLAKE2B 798befba32b265836933f7d19bcaeaa24cba8edd322b7ac996880f8dc4ab549bd9c53e002e68cb18f3ffc40953c4c4369944cabe00d06ddc0e07a35c8872808f SHA512 f2d230be6cb825458cb4e636095e74d737bf14997ee24f39a80c0882534df5af9a4c9702cbf45d86b7fb37b23c4627c7955fa56377c1d8a2478d73cb4e1fc825 +DIST firefox-134.0.1-hsb.xpi 674093 BLAKE2B 8c4cff5e920c63a394e0c393e5ffcdf2da24802a154fb9adda381ce15e802842d09fe6e83693b5401b24c92dc6a37861175b59a1d0cbb61d98fdfd6eaa589f6d SHA512 c455f94453e1cd9b730299eff59650ac304514ad241757c6ca895ac49db50018831fd901e0e508921677775e3777151310f24e667db4cc75a2924b3f1a9ec412 +DIST firefox-134.0.1-hu.xpi 678160 BLAKE2B 45810ebc540dd5796ca79eb4506df9b059f8abb9d832e0838a897d0ebd9fa32a17ab9e712fbaa7708a6d2a3b7e43aba140e54ff6632568242042e16199cd86be SHA512 120f50eee0b1e1219fd02d5d7d8057d0cdc519727aa319442154890b99b3ce3fe544283c77b8af946bd236edbd4bfc97273ec17aa4b6f02765083b501813c523 +DIST firefox-134.0.1-hy-AM.xpi 661668 BLAKE2B 1bf61ae9d99823097e1eeb4de17a521735c4dcb3b05c566c2bcb1cf755e1618880413a7030988b2b2420aba0ba212e36906e3e7097243189e64a5f4f484ff772 SHA512 dc8187317224ea007e39481a6c5872a15c15c0a21fed056d9f8ff5b3ee733a8f0619e6d988d0653edd6eac048305d88cc4bef8d3a45a54655ed454d756512c6a +DIST firefox-134.0.1-ia.xpi 636637 BLAKE2B 75b0cc092f632bad4e8b05e8455aa403373a4d41ae7cfc11aedda32a4e932b297101459d53e8cf2a4f8b1583e86044456d285be1989bcef1e9dbce1de3a5e291 SHA512 dec17bd540588eab7ede462a897e6022dd7d6d0d48c04101ad566f09ac77c0cfe004e209ce6518961b540ef56856251eb2390d73d91bfe3f781790801e3c9c24 +DIST firefox-134.0.1-id.xpi 620031 BLAKE2B 3d9594e939287dfda94a271b07e9d05fcabd26021b5e75d7b23d72c905e6488188afad09654865addead69f70e158156761732c6380ebfc4450067e0eb121a97 SHA512 dd7d8b978eb809d99be1ea930496270b5b0a728eecb0893a15c600bb14063e898fbce3424e261048fec6e193c6838d990630f7aa8029333dfe149484cc571e58 +DIST firefox-134.0.1-is.xpi 642121 BLAKE2B 4da6a20307cde66f5a39246d966fff223c9f112340c23bfca79747caace201753cb51e8484a770f2f78229e936768b7722ebfd24e0b00ec52a704fc8bce2781f SHA512 a5816e6169cfd2031429454f4f4ec1943a2e79dbcb7531dc3c131cd035c4901390dcb122064d6e7687d9a727d1059dfcc9173a48c0974051c1fce6e7705b767a +DIST firefox-134.0.1-it.xpi 646156 BLAKE2B ef69e5d790b476ae98bf2f9d3cb0fa27e2b8b9f54754f6f206b68922163465a707170ccbe673e91dd26fe9711d46b5b4bde8d99fe2b2ac0abff51f781d5a0ef6 SHA512 b45be9b36a93f21bf885d3c70fdcda2252509ee9b8e5c4e22e9278d168b5573741caa73226a57806f2455263b52a6e3bfa7db204e0ea461d5a47f533a7c5f73a +DIST firefox-134.0.1-ja.xpi 704020 BLAKE2B caa33493e15fc4a0faa044d7b10dea04bdcc722e95c7bfc72a0eb78f97a4551c9d397ea4afba086364c1052d98c5904024084cfe06e23236fe1d00d45ae0e3fb SHA512 454b05d7a9238bbd3c8395e1175db275729950553e31dcdfb9d728964d3053b2cabcd019f76d738454c06554c1aaa41ef0e8f9dd2db44b62c0ea191c31da46a8 +DIST firefox-134.0.1-ka.xpi 711239 BLAKE2B c4571dbf8ab7ae8a9c5917eeb5614641221acdecd0e23cb1567bcbe7927e4457248353c72db1a8abb2ab14e1e8cc9411c6c4dfe17fe86c98845872b2a3db6593 SHA512 2dea45cce48b936cac676883d27efc7378adb4729dc639036c12902956c8e6eaaaf2a91274216c3a6c7b826a00aad81fa82d00cfc596cb44b683525afcfb2e88 +DIST firefox-134.0.1-kab.xpi 626324 BLAKE2B ef543360e97676a3a6cabdb3136f160aee3d1c2000f4828ef447f87c9aaef349df4e68df12f9dcd7ea10ee05f5b0e6b1543200f55cded988af3546913cd1e7d4 SHA512 1460708b8772a3feb4dcdae5cb93e0ad5b5ec31b8b002312493079d294af729e643f5ebd98b868c1d8b0f00b84fb307c6c2c80d4ed0d4530b431164e878fe23e +DIST firefox-134.0.1-kk.xpi 734779 BLAKE2B 997bbeb292ae336cf892137f6247d996e9275ad178d4bbfe3ec436400a0b70433bb9faf6ca1db2bf2333ec723eaf3b062e9b5b3757603474d88129772c800cea SHA512 810f48ec04699b0ededac2abe79e4bec78fabfdde207b4cc18a9a4f770f5ce79e24dd2b35283709835bf61094309c171184a62b826924021053ecd8195872fec +DIST firefox-134.0.1-km.xpi 529766 BLAKE2B ffc3986397992b7ea52fcf734ac3fe750825be92a2ad316f60a63a0e2b8364279f01741f4a6de07d852a5e02710124814baa48040f14efa5d179a13193bb5884 SHA512 512552f3a0b8a8500350e48f8b95b08b6fbd13e197c2a1375494140c7108720f17673a055783bc0563d7f1f2db643ff74ccc8f3e5ce1e27e8558ba47fd56be03 +DIST firefox-134.0.1-kn.xpi 494780 BLAKE2B 9526039df0db78e3f3f91a286b0918c8bc64c01373ac59a6a3e9c0282b8455ea3329b23dc740d0f134e909c5ca3d7049526477c1490d0266a720fae7c84967d9 SHA512 20c0ea269b76a481df5c03ecc9c9db0354978b9d39bd9d43bd55bc5956298d8b56c1a1edde1ec3d6b04e9cd83da3eb9cc4ebfee856c207f959569c282611cda3 +DIST firefox-134.0.1-ko.xpi 688661 BLAKE2B 026baa4268d3752812e9174e828667586873da09d12ae5f83e4391ba6fbcfec184e36b2364b2a72674eb17ba7c3a4627b41270f9c69f8959cc2627be8f8d9b1b SHA512 ec01d896bd887aea151527d456c52819dd201eb98f8a5e5bfb189fe33163e5c6811382fdd380f4da0a78bae5bc20e07147fe285d971a449ea72906ce22591d4b +DIST firefox-134.0.1-lij.xpi 488308 BLAKE2B 14da2a82cfc53a9f87a568f4cc5b60e0d8f16b009c77cea776e05cdc4ac93f29e21d0e75e4c1f66ffa445d7e4ba02a4c68e8d1986d1514d05555d1738dc6e0ba SHA512 9f7a2805943b6b47fab323a5b258bdd2c9420955d48b9ad5fb9ddde64481feb1a4d540c47c73ec83385faf30a013c07bfae49c4cf1f2d7dc151767e7022f3b6e +DIST firefox-134.0.1-lt.xpi 577195 BLAKE2B 091011e0e17b9eed978c7ac7ce688521d2cc0ab232884d4912ff2e2464a0541b475ef94ef8cfa5ed80addfa85586d246b44031b5988d9f78a21f2beef2ff7c05 SHA512 374e5870a1f17c183faeb7e0a69fd8378b27334ba7e21ba421548fcf95eab71d6a1fe89f404a83ae5e8c6bb881db41d48aeb9c0aa043c8568616aeb22f894a91 +DIST firefox-134.0.1-lv.xpi 590047 BLAKE2B 58ea9e0aa3202ccc3c31c83be173d94f528a6312ce4e7213edb2ccabf1921de88baf35f4114f8fe6f2d1cb94e863b9ffaab7f3dd1dfb1e57bd6511c7ec7c5b93 SHA512 8537d86331d77221903f3a5445db1cc37546f7ddb5586421449adc15a396c5308548e908e8a7a4188b0f2f4581aa007282461331192d3a8365b76bce0b234fff +DIST firefox-134.0.1-mk.xpi 497207 BLAKE2B 509213b1283627c6ed7b1391d38f27e7f1a7a72f6221e8fc411e2e95175ca5747b4a4b88a0bedeef9d5a33a230a2c78879a841dce931f5c11bd672d8d1006293 SHA512 cdfae1bc8020fe9d561cdd1f7e0277b9f0a772d12514a8678f5f8ea96e20b649f8448b2d9e67ee2366c263bc5c72e83bd98d5bb20e32e559f0970fd26879629c +DIST firefox-134.0.1-mr.xpi 536146 BLAKE2B d50880231e938be54d44fed045801f7eed192c0f710d36c6f2fcb9119074045611140c8c24d8b17f118f609f976d62df839965ffa25adb63a93aeabea432d739 SHA512 2cdd92c32658545fdf41f8b0ae50658be644c4c71dbdbfaefc7adabcdb5e6bf4fa5a32ea2fa16c8af5af232c12bfcd7c68551c9f3093863d433e2e6ae58f1733 +DIST firefox-134.0.1-ms.xpi 453846 BLAKE2B d9e1443563eff6d1bb2f09864e42632e4eb5e2f794f462654f25d062d6ceb989480b520b2a8afd067f4757f1d35154349f4e82433ec8931b7dd37b8c063e05d0 SHA512 40f99116731ac80fd4fd49fbc5d5fbbfaa7860e9806aba308a01960e2cf098f3c50d301e1a8ed9162e88f6bb56d9ff01566c0d3f835adca7ca66f11a08d144a2 +DIST firefox-134.0.1-my.xpi 522476 BLAKE2B 65d6149824f5fdc87552904f4fc5f569f9bfd70249e38e8ef8a7c723988f0ab18b08db085fe8c1ea1baab3b92e2a6749ca7e7bc434d73dbb771568014eae3122 SHA512 6dba49140c2a9c6a5348f18378da6730ea354bbc3366e289a1af2a5d5a7275bb56a4775ab958d42124690f1f51ba547d41abc2e1172eb5370433018016f989c5 +DIST firefox-134.0.1-nb-NO.xpi 625552 BLAKE2B c3c85efe7902e9d3e49cb6a72da6860eee84c4d79351a999484c3bad407bca372aea475825f6f3360156efb8b0ccf82945dc1ccb61a2914612ba7f89a6df7222 SHA512 7e06651cf7facc1ab104dc4a75fc3e232601afe9827556481e0bc28865f8b47abb8b7328ba90a730b5e811afead62152e028db8fdd94a835b9a70792d3fbb2fd +DIST firefox-134.0.1-ne-NP.xpi 524800 BLAKE2B 0714bd61a28deada6e1d4097552cd5b67b6f8d0c8e8be973086eda3858f423665e2a0cf03ab23de00b77bd9bcacc780d93a4b15e457eeeb01447d2c40ee95769 SHA512 bac85169e2f70e7d5c358bdb78204d7d8b8b5e10003f9e6e67962cc38066f79366f00127187de2a131abe331cd998559b82a06073c24d6f13f570ec3a9a0267a +DIST firefox-134.0.1-nl.xpi 642843 BLAKE2B 4d692e5d0beac05dca50dd178c1217a2076281a8eb55802e6e95ce56f8a6536fee16fdd2cba8451665a56c808ac484c7472e906db5c264170062b6a295d3285e SHA512 fa01408d61a098e26177f5a6b15f70e8812d4aa69cb7cc1fbb40cb414365fb7feda05f9880d5dbf4e552a62b527f5ea089b1fe2c26e6504528fee835b431ca5d +DIST firefox-134.0.1-nn-NO.xpi 629834 BLAKE2B 4d7141b7774bf89fe9d6b46bd49fe1786921ae80604ca9c98fe872e18a0d118c43ce4c2ff7542e5892b90408b398ae3989528598455abfe41f936ea6064ca34c SHA512 31f5487c3de90a49464f45e0479f91442fc96d543a780d0381c3f88a33e13a0cbe39359fa2ef0162edc1e46c571749c8c09a212a96c3a0385ebdcad03e138cf9 +DIST firefox-134.0.1-oc.xpi 626180 BLAKE2B 968f2e94f341d0bf6fdb7d65f5ddd2393f0657e1dd1e24188a7642c7cd195c466910f5f937b8d8cbecfc8abc014b212e91be853559a4517b5ae144b0b3017b3c SHA512 00695e0dd5bea54332a288decfcdc45422bc20eb44b9e83b94e7c55de378dda22da2b23478d16b34744458d6db564ca022b63d90d724d000f8c7fae7f3359287 +DIST firefox-134.0.1-pa-IN.xpi 723077 BLAKE2B 053f71b2a2cd6ca574a30cfcf1af4e1ff7e08a8efb4d67908304230f88e477408c37576e9cb3aa1a22095aa3261d86e5bb4e597a74878fcd9f9562fda86a2ce9 SHA512 1c8ec921c5de189911c6f2c80d9ccac77b70c75752e43c4e8173682042cd104d9e416af065114cc8c32a7958cf3b470877fd8dbb7c59d2fe8ff7203d5731d03c +DIST firefox-134.0.1-pl.xpi 661730 BLAKE2B 89079300e7317e686e68b61d9ae0ae1c0360882f7f01933f102634635c96ba8897bf00f9ae4288b7246071ccc0e83338267061b1df0da098abf11b10d552da79 SHA512 ec4fa15d1b3719c765277df503ee6ea42e1949d37ee2524b5d6ae30307db0ceee86837ce992a008938601966c925e439f42dbd96f421d781d2ec66a48bbae546 +DIST firefox-134.0.1-pt-BR.xpi 647946 BLAKE2B e14d24bc7d3bb37633a19f8f4f73fde518837819f91f0d551f370004a6061ede536939e51c3204a27b00cb2b93d2ee33d773e7d481777ff0af8c13c509e887f1 SHA512 8d0c6c5252064d7be5eee30384a3d39851319b206c158b78ee6cce146335c78bc847f37743fa76460f893578220e9c598103249c6b323ed816b1986b32001952 +DIST firefox-134.0.1-pt-PT.xpi 654958 BLAKE2B 438c9ad7cb9e2099d43f7989d09ca2ef8444e428e11ddd2e3c60878dd75b1370259b5302462d70dc3c5e5a6e97dfa6122eacd99abf363b78a2bae03f42295695 SHA512 04bd15d670f40827b25a47321d03fe20deeb511e82423e43336eb23b932de32cc606b87ce327e2d89860fc59c7c768a986dec0e880129804e5e63ed2165082f7 +DIST firefox-134.0.1-rm.xpi 644065 BLAKE2B 15f0becba9faa5ec3b83445103a6396c4f18b3dadda9491e9ecb9167fe042dbd2e06da47d03eac7d478973ad1a33f3c9aa6c3aa289d697ffb39a629c75ee884e SHA512 6e7a0aaa8a4e784997067284124e9441701e91cd52236e121651bf4eeb8f846bb04396f6eaa72010ac35ff8dba58e1da360b8b9f2e6213ea0de1d85888b35682 +DIST firefox-134.0.1-ro.xpi 554201 BLAKE2B 70e452ba9951671e6dd79265ec14c9cd5c1a1b96fb86586c916560674809b8ca1fe069ea1897b63533797c38fe568c68adfda7169c0107f57618d61f5790da1b SHA512 03e38daa7b9027458d0993624161bae6c2db824ff0421858ce11a90e4724e6fda754b1b71c4cd09b5b10b3bb59fbb6e419011c5d6e14ea3ece402bc7debd32aa +DIST firefox-134.0.1-ru.xpi 750985 BLAKE2B b5e15f23836309493e20bfeebec3c5d364c3c33dda136407f006b65756b84aa4332a87b87c1fc6f3e2d073310fb2f595154121cee7a852dc73684aa63aa0456d SHA512 bdcc365a4659c3c7ccbd13632e93822572e4037d70f562aa944dad7b04811ac270554ee741bab77a16ee5bf9248b0423008f635c97eca2696ecdddace4f169e8 +DIST firefox-134.0.1-sc.xpi 602163 BLAKE2B 3cf87bb1f2e4d2435d1d01fd7208db1a7c780d4a7a43fb210826825be0adb49b19fa86673a9d069e05fb182816d54310c30899c822e911cdc7c0908d78b81097 SHA512 67170cac304862b610e4e5c08648b4db10284e215b05651353badcc293ff98e2570372481ac682c6bb8921307be46f718803ac8d0dadd070e2c093c7ce52c1de +DIST firefox-134.0.1-sco.xpi 515424 BLAKE2B ed5cce9dea2fd6ef9f12604db52282dc22f35fbe6a190cf6141245712205c8b5961fe0f04c06b72de3b4f8c855d9e5c0bc4e52956b91540e6f270a2b0e5c09c5 SHA512 d7a7e95bcb0753cb7697628b7229ef8a729d9fe32e3160d776842e6fa2dce2a34e76e6a63d89ccd86164b5c61b997898e44f5d30196d305bd5feb4f1e93b3a89 +DIST firefox-134.0.1-si.xpi 626864 BLAKE2B b6b9163b7cf77aa53a38cdaa22f382b4e2c244574e899dc2486f65d29746088e81c045673e7c66a5f44d69727f2f7124480c6cc13c4233c1bc8da4936f7a5cf8 SHA512 fd4b0bff150e04d402d7dc7730a95d254505fd71e500396986b5732b5adf121c40b77d1b6ee6d5e0450e240f12d359b491c85eee9381881b60b294fdd367fcfd +DIST firefox-134.0.1-sk.xpi 680478 BLAKE2B a4d4bea37c48c58d819539a698ddcb3ba78e05747dde612092ca3616d7c754ed96eb7830c592fe1dbad2e9a3c589f93a9e6c318c7142abe0a23d5e2e1793f434 SHA512 9e0b0a832691dfa04fb524343b156059df58bcf9f9bba424e4c8865dfbf5dcdd28bba82b2db5fa60db1488d41b0512969c154e5d66d666362e51379c6a344a84 +DIST firefox-134.0.1-skr.xpi 727787 BLAKE2B 361fcf3bc793ffbc035ee7e16855f94025aa380c2cf432783a584a783b53b00544ee0d3bdfd58646600f1a57c1605becbb7f61bef27acb60ff0db6feeb377bf5 SHA512 85c1d0aa771bc23355818ecae2249e7bdd9c48fe57856aaa356b9c0527be1bae8afde2a8c063776ef1fb56cd0c7bff9a88285339353c75fcb304b8f637189368 +DIST firefox-134.0.1-sl.xpi 647153 BLAKE2B 1cc065a6fc66c9d912096c0b7f795d562389885848f42aacb1dfbfb8c80b9049c0600ae126c2b9daab98726028895efeeac1c518607864bae7bee9f06dc51d12 SHA512 cacc3bc097e493850f966f2d651beef9f139ebce1161c247cab19fd8ba0b93643795235e7bce9240e912255ac0d42a344313600d8a6abf6d2b1722053f5ae642 +DIST firefox-134.0.1-son.xpi 420280 BLAKE2B 50c91dacd8ab84485133ca9aba6989ca105193809607dcba3b83722108c662a51bd580edbe90f2945231362427d3e5a0066aa2c2d12f02cea3c3c905134ac000 SHA512 5ac00b2d8968fbb9bb3c03ea0218a47c29accd3dfa6314b84babb6727d2e017d5e0d858af7f38c873c09be61c70fa97ca92cd8857e6225c3a84e4918a3fc1398 +DIST firefox-134.0.1-sq.xpi 665680 BLAKE2B 0cd71ccd45dd4817b3a39b20fda396dc7e0cdb05df30590227091c583e576c0473299a688bda58ae45eee8669628ae4c4aedcf88debef8d263a7392072c46f38 SHA512 d2486637ffeddfe57b27d6e5a696d1aedec6ab5824e2b401e3e9a57eae02ee34d18ed63e80997c951d8c511f56794dc0b9dfb5bb8cc5e0c2c9683d385bb0b166 +DIST firefox-134.0.1-sr.xpi 676500 BLAKE2B 4f335c0f542ca7d4f7e4e0218fc67cfaf30088a78b1681c517e15a55a279885f4e4813a720b1e87fbaf39c4715ecee3eb4e79127fbdf23d090b72c4c126ec0dd SHA512 7c761fa604deb8c72898cbde1f2593f09b543d23919ab1b4b006ec80f8eb23acdda521b18328dda6449ab40da00e13d230d6f530b193af8b4ddcf2df745a407b +DIST firefox-134.0.1-sv-SE.xpi 644569 BLAKE2B 51d03f40f61fab659f622df7626044b416b0aae95b6f5e29b792d0593c681cc931f97395999a11e6c2f6ba0ce22aebcb27c41eaf33a9ef4843a0e000674e1d1d SHA512 cacc53adc221f3ca66b03e3acd91b4b486f1df816e163de7514c04aa2b822b709c2cc572753b11f84bec3f4ee44c9b3f856630450fa4aa964c08be446639e2dc +DIST firefox-134.0.1-szl.xpi 530485 BLAKE2B 6d306e4796e095454e8b3ee6b4c69c6be2b2e14c6802aaa442229ea9092f4d44444fb1e244ccc40afa283b8829df91d6d31f39ec18f4f5aefaa25b043ccb9dad SHA512 b0d861e1cca91ca02426bd07123c60b96849b3862cc0c5e2af680b56ff03267ac40de138f3ebedfd87458d7cf0f994240902161145a43ea67e803737a2eee6b9 +DIST firefox-134.0.1-ta.xpi 511214 BLAKE2B 1473f6543931c5b045a05a32232c18d0aa3cfcd9836459bf346c5c9828946358ad98a5905c22762fcd6f470f0dd6b385234730cfcf9c87105b8d0a3657215cc3 SHA512 abc7dcc57ee6ed1a1e4ef78183cf17a4801437d9993838adc30c07115c592743343706cfa1c3c03e5b102dbb3bada26f9af41e06efe622430c09511348938ee4 +DIST firefox-134.0.1-te.xpi 575369 BLAKE2B 1e941acb251bfbbd9c497dfad0aaf20727455a5ca1ca20e913f04a744c91349a6c221aed669abedc2cdc9c1eff255f9eabfce1c1f183a7a1d71f18a4f25bcca5 SHA512 c432f53a30adfd8e33188af5851674a75c80f612a784c031aed7b77e5f12b0aa311f157e3ea22d42742e6ab96b411db57624326c516378e2295bb194d5c5a78f +DIST firefox-134.0.1-th.xpi 727726 BLAKE2B b58b778f7e8969ae9f7b624a814a1702283946239c85b67465fe3ea45d12d620fd3e41dba023e3837f41f3a95bedb68a4312adda2d1d599b4a3d0c24ae616251 SHA512 5f7085c7e6e1d3fd509d21539d1efe82e480bbb571d661748dedfc2550f25a21daeb1e5730b665f79759b6433a89274452dc38ac3d1784846a52f7d34b2e1489 +DIST firefox-134.0.1-tl.xpi 538547 BLAKE2B a411c7f6ef10343e11963a16e9303f16f239903b246f438c98be7e019fdaeb3dcaf1decb98fd4b4b2cb56921cc7fa87dd34bdc1f8d2d29a30ab43e0fd87cd84a SHA512 33755684f6c881fa4164bd710a988a9b9ae186ed2d987fcfab84351137c2f166b5732c32661cd9d9ca5c4c4ab180b8e6c6e93ae12e6e74aeb8be5abc325acb72 +DIST firefox-134.0.1-tr.xpi 656842 BLAKE2B 1667f7e399f9407130cc6b6c003ee86502aa5d7e54350201ab457b7e354855d41e01058beaf4ac0a8b500c6ace40408753418209f7bf653d76888d8a52efca5c SHA512 02f105c1ce0142c063c41abb41a3e89933cf86b53a9106fd6c48950580b318a3928bc746ede5b1efd6f09f690abbcad2fd47d4e5a4398475dd130f18a7e4c375 +DIST firefox-134.0.1-trs.xpi 507815 BLAKE2B 7695fb9055440fb411d3a14fefb9c0468ea6021fb726a910a79e0dc5fb6ccb1254492a091d11a67488cda194d3a176a426f42b5c3b5daf92ab294621069866ec SHA512 04f7913b61bfbfd8eca29907a56f2ea7afded4a7df892510b70717895095978444f8d3ee6259adb451aa1c57f9b2606b5d8d471e1295ec2219ae1c914a0a8816 +DIST firefox-134.0.1-uk.xpi 742087 BLAKE2B 16c52791649d5c23764694b852f7530bb02e8a959143c2891dd4ed90f6e95484930ffa7c24238065e0b33105b6ac9fa675cc4ec7532a34228d1ea0e890e2c0ac SHA512 5b2d0d98c5ab94304b6998f6d0a99a341db2d63df775c21bcdb181ddbba385b1c552a850690b7f8518f0a7301ea71ae5e394fc907b3632dee7446c7085a44797 +DIST firefox-134.0.1-ur.xpi 564371 BLAKE2B 680680c8b3ff393734f6cbd69a4474dc34748fa80124a9e28114b98f7e864eaa0356d1480d6f4b071c871704ac8472930142199ccad6a9086435fbb6d5608998 SHA512 e8660617e96cb4fb44d828f19a3350c78eec71595e57f5ebd6d8f16a2d132523debb6fdfa902d0a5231f7efad1c1fb2dd7e7b231fdb36b041f85983c10006750 +DIST firefox-134.0.1-uz.xpi 482821 BLAKE2B 929e808752c36b2970cf5e20de52818ab0d284d1047591645a1813edfd97cca455cc03da9bf1e95edadf5960809a73899279506369f3697048d2251efde2a8bd SHA512 8ec21ac0a20c3200c77acd371f0cdef717b919eefb9f3597c80f4eb67466ce09ad863c734c1c82c56d97f1fc360d579d59dbe1349d991df7ced56de025918934 +DIST firefox-134.0.1-vi.xpi 683427 BLAKE2B 0b9926c6ea07a0f43ead4201d4d639358f37c7ea5ce0950cb81320bd52050702bf28038b85604185f655779c8456d88960410b1541cac48d9b8f2d758031e017 SHA512 bbfe3a33e5784ab5bad0dad1e2ae9cf183cdc7e325613d42f28765a7b93631db147b4e4a0430a047248329ba025f04e388ffb636d960427e6d538facdf157177 +DIST firefox-134.0.1-xh.xpi 421000 BLAKE2B e294f811b4631e5f82a4cb5bd78b6975a57aca1e4d81ceab9847579823f6f38652551bd8df931f9798a5afc23ea6e70cd9a5e6b64f18deb797b1eb4b4012d15e SHA512 cd46448d84f973d38887d19d57a34e9bb049ba4f550d8acc901c67a0825460fd8970df1e2a88560f633234919840e77aeb29d39561a51da026484b783d2543a1 +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.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 @@ -525,5 +626,6 @@ EBUILD firefox-128.5.0.ebuild 41203 BLAKE2B c7f12ff1ec0ab88d1ba0d2e96e5fcd62ce29 EBUILD firefox-128.5.1.ebuild 41205 BLAKE2B 62be1b1a02d0630eadbf2b441febb6d02bb9a0633ea8c46d0fe35bd5df9ca30ab85b854d5c1bf5c8fce0e5fa020d6085d358e69b80ed43f919dc5eeb80a0171f SHA512 299056c24bda66a12cb4a29518b522fb7551729631d01d2db3d54a5c5dda6bb568d6cd5db27c57f686231034397162841739cd6e49ff244fc29ebfcc05f1cd32 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.ebuild 41083 BLAKE2B e3c1339be6577370c54853d08abe549be982de7188427bd138103d7c6ba883956a280a6263cd86224e3926d62f4fd8f57dcedf810a9e3c432812bb5453443774 SHA512 c0e4115dd53a93c18fa98e622b7386d7f27d6899eb333d1b1a93027a1804ceb65ed93861ab2bb7d1bffa7d746735acd8b6eec2a54ed1a41cb7fb6e750d35bd78 MISC metadata.xml 2730 BLAKE2B b9afb69e8ce59ffbf2804d7d2fc0540bbf4f6cbf4e2290b198339421fb1d27cadf26681d66e28797b2cff0778e07795a9cb5a8a842e68dda8c502d1d5522b044 SHA512 f093bd263102c298e6c3a05a2fb6729b34809a3bbcc5c4ebc5d308d9b6efb371ebb0392e2f12bed3d333a49123cc0ca450ac94c3653fbbe431a63acc18085551 diff --git a/www-client/firefox/firefox-134.0.1.ebuild b/www-client/firefox/firefox-134.0.1.ebuild new file mode 100644 index 000000000000..af9245e50f9b --- /dev/null +++ b/www-client/firefox/firefox-134.0.1.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 +} |