diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-09-03 12:28:20 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-09-03 12:28:20 +0100 |
commit | 3f559ef486314f9b3b48d48eb303d6be68463af9 (patch) | |
tree | 3b70212f31ce4d000911c001ce13363d0909dfd1 /www-client/firefox | |
parent | 20b6ab983b55b022c6e4af317154089e18ad41cb (diff) |
gentoo auto-resync : 03:09:2024 - 12:28:20
Diffstat (limited to 'www-client/firefox')
-rw-r--r-- | www-client/firefox/Manifest | 103 | ||||
-rw-r--r-- | www-client/firefox/firefox-130.0.ebuild | 1365 |
2 files changed, 1468 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 9b0db044c606..201b0151ffaa 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -414,8 +414,111 @@ DIST firefox-129.0.2-xh.xpi 419349 BLAKE2B f7e5832c8557d13d02b1afec6da0a277ff1ef DIST firefox-129.0.2-zh-CN.xpi 659755 BLAKE2B 9ae434ddbf71f457f35104064d014915be20139f612867b5da10d028284676e9156fe01e5f66b7df411e521e21a57d4a6d1b005eef675facbe254cc7160a741e SHA512 600b187ea9e2c2b0795052c0dda9bd7ecd9961e3a135fabf5ca656120445d4326c89e6ac8c9905460218a5b85fb0e02d4fd625d055529bccbdf05907c2db04f0 DIST firefox-129.0.2-zh-TW.xpi 661609 BLAKE2B e93e814e9096baf65c99011b62bbacded0c9820cac8272ea16059e458efb686c71d9ae110d9ae365fdaba15253dce825a3cd884e9d18b84457a25fcb58a7550d SHA512 1cf2a02b4b7d9680d661fb969d1f249f1e4e7b3af16fdeb60f45b6825e893052206331df2b05cb603546601f9ba98f3e840672390c067991d30c6803b1bf78eb DIST firefox-129.0.2.source.tar.xz 559547204 BLAKE2B f0c79de337b5c55f9345b21714dd1707e8ca20f66f7ae383026c3737a7a1eeafa5048c188b91cc2ca6089aff944802cf04fcaeed81af7a42218925981c0e5550 SHA512 f6805a87e5cb4e437583916e3ec1b312dc73eec5fc06ce7a038b13bd7c6827b18cf383c30645d96623ce41675351f3023ec6b9f89d676f1c889994eae79f2c13 +DIST firefox-130-patches-01.tar.xz 16708 BLAKE2B 315d7d010be938391bd734d17442ed85051e0aa5cf29fe864d0669084f50c5729389afe1d1d4c5d61e847ba2fe7d729237e531fdc2931c3c303612c11566b51a SHA512 52c6e3c50c067f98f0794bbdd9c6060e481db096a3fd17460e7b85e04e373ca2354f2c949492dff0f4f3a242da86ee5e593185a546df247b67760dcb203bd74a +DIST firefox-130.0-ach.xpi 467588 BLAKE2B 13924fd0dcc0d0c1a2cf7760ef263d257da8d6f761bd48d503c6e7fa8438996f36f83424383d6b285ed76eb6f284e45eb83ea19dc5892d99e0b5851b4635e4a6 SHA512 fa41e89ab9237b76094b660d439a8100bcf971c81c7f4f628f908978cc22f2018f21fa10a415925ce0f34e00815efb9f55210bc4629b9185035a26beac0ea5f6 +DIST firefox-130.0-af.xpi 420693 BLAKE2B 7e93d3dcf9a7e9ff348fac82174e0b103a6e3d9c6fe57b3500263211cf1e325b701343d01f6117669eef0197d0fb31e75be9ff0e7bbae3f952183ece781c15ad SHA512 3add870cee9dae595b7b4fe7f2e1a122f51ef937090422b7ea5723b87500b0daa7e90ff5e0a9f1e5346dfaf9ed78eda4df64b1dc5d4cc3732e76f626d38551b6 +DIST firefox-130.0-an.xpi 509179 BLAKE2B 1727e110a5328e5cad21a601db2b61318441fa58a4289584fa7dfeeaffc3591b5e14f45342365fab0e34db9210e0ead4b1a1d603b5199fe216a1227db1bf9e91 SHA512 ed9520e7c2825959e5239ecb7e4e56850fcd20abf9f749b8990d77a418aadb691ddef95de0c4193de7351ba59c4c96ad766f07cd19c1b893d3315ec814936617 +DIST firefox-130.0-ar.xpi 615236 BLAKE2B 888a050b002e1e09c1c245d25db64d096e8ed5ac20e2eb024aaa8101713548fd8b13979ac5ee9469326321ec16b238c332c74402054129fb88841a98a6be86b1 SHA512 14aeaf22b05e2574f0699a7abc86e6a96d8c22ba71477fcaac7478a562921c16399518b7007cfe7411efe51c8a0bade72a1e47f6570fa58efc6b99f550da2fdf +DIST firefox-130.0-ast.xpi 499645 BLAKE2B d9fac1d64e938bb3dad3d9d675a2aeb393682020babed7f95d8258dbe9aa49bbefe6599ed314d50cbc0def96c7398b911f56721c9e4cff98c68151e3655c6464 SHA512 249eb1526ef6c474fde33bb0cf81155e14be8df9a06e1308428e6eee43159c164f32c1fd2b79d3a1c6190ef566bdb5e281a379ede68e189f71c507d8f0a5cd1f +DIST firefox-130.0-az.xpi 494320 BLAKE2B b1a72494ca10887329f33c56c553e71db44c5fe6974905e3ee5ed2a4189c9f83d9c79e4edb0a96818668964667b24f01741406d925be31c14e4c544fa609a287 SHA512 afae69e0fa446a9b8d710686ece98ed148effe4e1038c863a2342a8d97caacc726547520a12375125a27b3771f9a44cad627a7516bea34d884e685d6612fcf23 +DIST firefox-130.0-be.xpi 726464 BLAKE2B 46a0ea6d367c6c5e0342b64f841344fd9f9b5f43434aa3f1d7cf6abb990d776d00469d40b4e77d53a9e4f35272e61e7e780be815cb9e7b6c7bcf19b328a41d5a SHA512 b8d26bb08317850ba0bcd7405978fabe361f7254b0bf861ece7bcfde09ee04db659817769ccf60db858fa5543bad14cb9cc43abc8070759df4435ebcc05d1b12 +DIST firefox-130.0-bg.xpi 640068 BLAKE2B 597a3613635d6835b9482be4892ac5729585ed0ffe18c07f0981273ada8a2d275f403f9c838a2e5981d98d486842e38bb3f3e2f0b7aeb0cbe09398d286fa6fc7 SHA512 0ea21b50ca8d7314ba0b8ed53c18005f7e203c4f172d55e363ab4d698eec99d346d7dc870d4e8ce0c8bf14c7d31c123c6d28a3861d378d1bdd7454bf512b8c55 +DIST firefox-130.0-bn.xpi 585048 BLAKE2B ed70f1f513f568a435b4d646f38c9a87950b064675f06f5dbdbf2c4b4cee60564a8ce2ecd0bb4d053d605dc10df321f807bad29915df5e06360298d5650ad751 SHA512 6afc892e77f826767f2fae8b3eadac13f63369255f60b4846b25d2b17acf45d63f2add409313be98522c04e6f47730712853bb8e279685a64b9e7073a45ef136 +DIST firefox-130.0-br.xpi 593557 BLAKE2B e52c14887baf248cebb64314e20079751833d6afe78de174c21fa759261b3287d20e2bae8d56d048253e0e54be5b3cceded51782a25c771f5516148017788850 SHA512 08fb191925d131b72529c8af0cffcb83766e63345f9813a0e2d93c4bd19d08e5ed215c4c1c3fb32b10bf12f078f9e16b4a97568c09257d5b359850a3f71002d9 +DIST firefox-130.0-bs.xpi 512747 BLAKE2B 8af1891916cd6b99c32aa0dd3fbe09905e1731bf9937c13f4b1fc35a23eff2367b2bf8eb09b49f17573eb49a43b7b06f026c0ba8df8e3e89dff237fa6390e9c0 SHA512 3a110646d88ec35f769c4f85ddca5e5192eb35b962ac44872deb2a466a740e144a7048da5b8956c66ce006eb07081676e87182101e092f17bc2b7baa089ec838 +DIST firefox-130.0-ca-valencia.xpi 549203 BLAKE2B 857b8c9060c458796e4e3a9d8facae30191bcb8cd4ef8a2ca944785849dcaf4f408299fb70edca5ab3732fd0b4977c2c2404fce9359c0bf29f864173fe78f78e SHA512 938ff218edfc55ccaea9ff8b58c47a24c16f62081bcee88ed902bda79fc66ffefc1a498794c5e5dae1ae6e389b7fd1f1bc31ef599978213b63b9e87be09dda3c +DIST firefox-130.0-ca.xpi 600852 BLAKE2B c9c22ab619eeebe4a5038cb66132c0494c3c2fd92063ebcf3d37dc595eb1d61165ce929b06050571fe57becb5296f256474f36b102f2f3b00162bec42f621538 SHA512 babf6a445f8cbd1a7067bb3aecf8d7ba98934cafa6d9d4890bc16b4d35034fcfca25355f032c3b3440a9d95d954c7b9e21797abb42ab4a3897cf0ba53766cc89 +DIST firefox-130.0-cak.xpi 596822 BLAKE2B 5206c1d1127c9ea91e7bd1bf3cac96fe32db820d3d845427cda6d143bed2912ab9575eb9a844d4a1df57f1235ce351acaa76d90a381586699df5f0ca00a91b5d SHA512 fa3ea718ae2cec52ac98d57ef45c302e3f53897c2aa607a4b3df5c73cd4a3bac0d7e1c3029bb11a9ed6bae87dc4287cdf7921955ab9a852da1467dc076996b81 +DIST firefox-130.0-cs.xpi 669121 BLAKE2B c8d35d751eb82fc238bed3dd6d37630625883d6817a1c7f74a85d16576f008f6321fd13f2441bde51bd367c58a3b7bc053d260c81a8fc9cb30c458fe959590c3 SHA512 c91bee8febdcb7273263969b1a526017b63a97ab4a88ff4e1ef689cadae39ba4b7afea3258a4160fefffceeb783758ced4626dafd967919a12e899cd50cba36a +DIST firefox-130.0-cy.xpi 633981 BLAKE2B a595c6c71c270296b29621b68c19988e1862dcf801bce127f3321525934a9844117328de35df579e38d26e3c1a6ac2b5aca4aa1af458d94da1328f4cd3c7bfb8 SHA512 0723f2b44f6a610337083f208866ecb6ccee5e49db41883179c36a0d466c50f4f44d089f6c95dc1cb9f7ef441a1e7a1e3a725ac30d5bfb4b80d072128f797755 +DIST firefox-130.0-da.xpi 622378 BLAKE2B 5cf535014d0f5c09c8a9167dce76e7ce9e322a1f604af76a59fbf1fe54ebdf1aedc192800e2126fce3eee76cb44265aa5ad87050bc7daf52ed4d6fea7ac92f47 SHA512 6dee6ea106ae178d4a0fb418bf83dea35b6d954b3620a4eb1f6442bda3b1f274cc2069c1172b95b5d2bf4d7e6d45e98760f7fec4e41b31ace7f3a29758e1d43c +DIST firefox-130.0-de.xpi 644003 BLAKE2B 5d6353a1dc0e27bea8f1554eb3452c22c27fc99598e3c55f7a777fc833e966220eca450fe1bc26661f68cfb6011237561387910fe5df94648549f913bb11e41b SHA512 1f43b831c41ffa8651dfd7b02b005db48101ee7a4de61bf8287700b776b6c0abd7929ce5450a016beb194d578615a5133a9d2c412d17501efdf8683dbdc44ae2 +DIST firefox-130.0-dsb.xpi 658767 BLAKE2B a12c538d8e41bbec195b9e3562106f47fddd0eaba3438d5a2e836b3a03c6b2b126f8f6c899303ab2d57ea0ada23694a1f9fb4da657451cad3dda908edd1795c1 SHA512 edc9df4c6139d3eed046f987e6f4c0da56961f2d9dda7877e9452b33ad80740c8ee14c4bb3f3f21c6a47db5ee06ca47f9b7fbdce427e8f04cc66ef8461e083ec +DIST firefox-130.0-el.xpi 743356 BLAKE2B 88692701510fef5a633c15748b2992868e733fbfd23cc0a9ca30575751abc3fb9b9e09ce81d670ffea4e37bbfc64a9c326b254a897fc059333a235f956636482 SHA512 4696def5855583c15f6f34ec9e5aa8c99eb9f9b12e3907c62f5ef36592bb24d4c3911134448cdd4a84841c8982815ae3934ef40ba1018aa039948431dd71ef29 +DIST firefox-130.0-en-CA.xpi 593000 BLAKE2B c0c91b2fe07e55efa13d993dd6cb2b68446746844369e103202fdb54bdaa1ee9813e78b94558d7ee3a886f68c079b5418c65a022be994040cccf5718da9c0203 SHA512 a1308fdfa709975e8dc61b6f7d0ee72cffa76e023dbd6b97072d7349a095e14a8fb61010a82f857b0b6431ba403a0aeaa7253b5b1e3770fed05dd6fcf1d9d3b2 +DIST firefox-130.0-en-GB.xpi 594149 BLAKE2B 0bdac5f735a09ce86b6e8b1ee2906096355d2dc86731553555919e5c616cf80faf6ea5e6840368d4bc48ff70d4194a5ae6cba20d9efa1ea34ebc1a07e8fafffd SHA512 3c904e13cc151110699a8c994fd1f6d92b4cfef94fe3b4ba5ecb3378e1dbf92f063c8010b01bc5577e2abd5b3d4904c4faac7772670dbd92d747e157fe0fccec +DIST firefox-130.0-eo.xpi 625380 BLAKE2B e46d8c9cebc2dd67d36a9ea671cec56612cc63c833215b0a208178e0bc9f5d5eb00dc7ee8f0e8d5651050c936c28fa5e2c1a830108d3cdc41921077543bc8544 SHA512 d52efd37c2c58f4c116974737acf6b50bc7b268074456ab6d7721a2018c53da3621447b0b090b97bec51bb86c9589a050f499561ee1bb49c1a81e8cb75b37707 +DIST firefox-130.0-es-AR.xpi 637457 BLAKE2B 1e8bf2bd2ea8069503169d5a088a468a4ec6c67935ede6eab6f7f47eba2906bc5fda0685e3ad0e8cf26c30bd56d1a66cbfae70cf0f29ef8ea4a17bcfa3a0a443 SHA512 71ba4cd7cbefb1b3589c039c759bd0a2a3fbcfa2b90c750a0c5914f46bac04c39031a08a094617e2efec141dbdfb7db1a4f6992166a0b98f7d91c5f4579575e5 +DIST firefox-130.0-es-CL.xpi 636359 BLAKE2B 2b8fae6ce7bc4e137183011d74f5315b0dd7a07dabd28e72f1347312d892c34d3ea6e9c013a1696e34137140301c1239d87f947b343af231373e99856070c317 SHA512 a213d6bf27f1cce77cfe58c98565f1d6208bc5e05622a3e103bbe58ba34f08b117046ba23e5a61cf717fb4dce6a755bc75f80f4f78d3f53b7767899ebed3968c +DIST firefox-130.0-es-ES.xpi 624788 BLAKE2B a7c40de76652b7ea45e78d2a77300589504c3e62abf88876d7a56cfd8798f7d8058c21a722b106c789a83ff71eb5b18b513472ce4659312463529d5880efc577 SHA512 e84a92e65ab4197272499df805f2f58bb1605bbb04494bf1b65b88ab317175cf14e4748ac11272a902d04055c51802c41758422a9d2fd1d89f3c8e1e1c379415 +DIST firefox-130.0-es-MX.xpi 620037 BLAKE2B 2203d2faf00fce513f57a07e2d835ac324f178199e7a212f1809d2cf162dd460df50baec1195af6ec04370d9d411ef7a83a50e9c724bfbc8d0196fc47d27d876 SHA512 8d4bbdae23a1c2d1d3a8d97736cf1693b4e8e95c32725649493351d6a5ecffd616625107d71f48089fc51d1770e3da33a30a40a2b622ee4b001f75cfc1dbcc61 +DIST firefox-130.0-et.xpi 543274 BLAKE2B 00bfb45208a6b3c562a982991e9f37e423b3a50bdea1e5fe5ccb9de58649ff31b723798ff90c566ee400814f01fecd39843eb3bcde3cea280223b3cffe7a4d5c SHA512 d6eedee6a657a379997aa8507fd4534a2801204aefbf2c54ae288e7d4ffab4a82359d3298b833aeee8066e726034e9b1d62c4e465d521365bfa392f5137ac011 +DIST firefox-130.0-eu.xpi 603909 BLAKE2B 6632e5020881c468da93fe03d9a595c40c7188cba5223e72da63a0a181ed95ea698da24c8b4e6bbfb8b339f1ea22b3cc3e38aca1a2b192a3d57f609e1a9e7533 SHA512 61446a8ebb9d23f5c7fd7c05f4a7e63f1db8c33246800daa952d7429070131e5b63bda772bed4ea8c48597640a2ac34b243925a3f7194fe295eeb68f55047199 +DIST firefox-130.0-fa.xpi 593582 BLAKE2B c0d9344b9170f8eefd9be7c495871a5edebb04403ad8e71a0aa031d16fb3f9c9c85825cb64260f82b2dcc15f9a98f1a1196871c5495fbb709a5d63fee3f23a49 SHA512 78db25909097c74bae6bf9c58459e8bf522cc02c457777bee656f9480ebc2387b5d05e1637a9cb6fa6dea9c516eb347271576b4e31f05c8bfb7167380a14adfa +DIST firefox-130.0-ff.xpi 479255 BLAKE2B 7d4a7aca3192aeb9a92937b034df91211db7bb66b873124f51bd3e03d2b004dfe2be7b7c286b33e2185dcd39376cbc9437626fe987e2edddb878d9c3f279ddf7 SHA512 a05bfbb0e1748b286734500161f681ada364c61ac390181134916f372e01cfee252108a759cc413a4cedb2181f68757bf13dc51a5db24ae8e2f72bb1f2928d88 +DIST firefox-130.0-fi.xpi 617454 BLAKE2B 3307e3251b701bf861a7d71eff1393e79e190aed85f67c79dde5b33ed93089d4a32990c40c03888f338dc4e405cd9ba1efba40087353b743e79773b82cf37235 SHA512 437783e5adf4fdb61a7ebce2e808d2d9feebc06e2380ec12de8bf2dc593134c944902b746fd7b9dd0d27b8c768705df28de9920680a6971e036294b4cf8f5371 +DIST firefox-130.0-fr.xpi 651038 BLAKE2B 7d8582f01e29533813878938c6eb7aa3c3bd164f6050b462404a1bc220428925577e7b32fa64bc0b138105d626c7951b51f86704ede1a846f7b5e07ce2a3c48a SHA512 ab4679aa3f949d3e948cbdab3150802429188450d3f180d098fe090bc30e2e971c80a0a28f428d80aec28169f4a2d6521bc85014db2f9fb43e4af0f11df0dd98 +DIST firefox-130.0-fur.xpi 643018 BLAKE2B 448e599bfab432babd95c606089ad1dde7a9904a3c288c1cb6ef9b1eb754b64db0e3f5d23458a0bf33c2b20fef0795c9ec68069c9a2692d571b3af21ac80e77d SHA512 88daec45271bdf58422e52d6d8a0e6a1d3aa86bd34677e56b88790e7a90df28905824a5c263b214a1352c9433de83e92f9fc7ad741bf487fc4dcfeeacd9e2d2e +DIST firefox-130.0-fy-NL.xpi 632428 BLAKE2B f0fdb9d47a8076103bdab21c516b482e859a6dcdf5b984b3b0242887d9535aea790627a9db9d85b56fb4accdf2e5b45443594f1b4fe645a8b527975044a0eef4 SHA512 bb1e4ba77d60a27070aed23b1cefa095f895e75f4c597a82592fa86e2b2b3c1c9c6fb69a44d7a7726dc52977c7c3da21e2b1f2eba51e6059f258bd68223af500 +DIST firefox-130.0-ga-IE.xpi 474442 BLAKE2B 3d84bdf740248c598769a180dfc799db8a754c7072be9020355fbffb7b409b68b804ad9cfc96b996e34acde17b7fdc504ee783dbd26facf173a172220a8a1cb7 SHA512 62ae04b8cd65f44ba6fb1f13cb23522c31dd17e9d3753d97f0df2bf4559e87ee26c75f08de09efe0508c10b02717e2a40ebf9f1e7674772d5ebef83675f13783 +DIST firefox-130.0-gd.xpi 600334 BLAKE2B 54e491177cceb642b17beacdab8ee1350b0b43e723bc0933b90bf8abefc392f557a65b75b9161ebc94940a85736345af8cb5ff57efcb733ff33bdc7d6afcd476 SHA512 6b3576408a26339e8fcb0d3d5d0864e722da3c7a07fdda0e08769d56d8f061e3ee0aa7c35145c6b45b3fcaa54051dba1cfb3f5bccb697a81d2664cd782b11a7a +DIST firefox-130.0-gl.xpi 608037 BLAKE2B f8e5a2b5cbb4eb561e1913ddfa48c4ea889bd98610ec3cb274f701ed6c33d042280c429cd8ad8f11fa15dc5c7ed46b76965b39bb18e9907d9eefe911810b3a5d SHA512 bd522bd76f869d8f599e1fe4723092c93ff958737d32d0c631cdf80c393c526eca572eb6431dcf3c7b25230a15e9c8b0833f696cfa6bbfbd38a5a864ba312217 +DIST firefox-130.0-gn.xpi 645999 BLAKE2B 3e377ecaf82b40ca84b33b96d0b9a47e67d68615a85b4cc0dbe82c09003b95f4609cc295b628e79c96fe8380110a774aa8a9d125c1ce3ce24d36c77297b0ab5f SHA512 f266ed0192376883eab75ac901d739f6f94340accef9b1a1b6927cfd4fc7ab043928857983f0c62e4611c73ceed58fdb23827b2024884b3fe746356dbbb7ef13 +DIST firefox-130.0-gu-IN.xpi 530812 BLAKE2B 53b9ff70efdaeba4c3a8ba1e0c317d8db821cd33da0a260f851bff71ec7b9e99956dad1a8cdc161e31e6128419034aab63153d1493142c7dbb350d1eae1dfa21 SHA512 178f4d2be128ae95de567e7270763bf08031d8820f64132c0f3a90ee72045ffc20094466f71e913f9add12347bebec25f6ec5475e5e553d4cfd316375922dbac +DIST firefox-130.0-he.xpi 640049 BLAKE2B 89a0e0eb440e95cfae64ba6866b7d9a92ae1303dcdbc2adcc3a73cb0464208a9e5670653d3619cf3dae1e928aba0ecde894581412595d56f843c0d65cde78eae SHA512 5f489dcdeff2957987d3fb78e628be675dd8921b6b1bd91c8cc1ce810c6b1d527cac942078a13da79dd4c2b07e79b01ce573a4b876b00c0e4254ef6b6f6c6be1 +DIST firefox-130.0-hi-IN.xpi 570024 BLAKE2B c33eb46b86aac94887671fc6404b25af79a9e39ea79cf5aa2fda1d0d63a67886f9c27bb171d3414dc1efbae13d23646d766403f01e99575e0455370016caea46 SHA512 3ed7f402ada653fa21f20947f0bc9730bddd84704e8de0b594e5298674b6cd0d7e91f607211019b4d138a8e327cb03ee0ead21d1633e27b4c987727bc383dfa1 +DIST firefox-130.0-hr.xpi 617522 BLAKE2B ea4772a15eadfe3a139569175d102171cf074772968f836e824e1a3d1cefc10bdf98ff5bd6a1d7d1d875f763d6f9b0fa790089d9c4ea7263e054e4b65602c5d1 SHA512 4ec531c27608bdf1c20734aa25a33a469d64a6f59203785b28494885e8e468f92af2291548a509e97e6ab0965803d65d65ee5e843840fdd5988253e45d7f49cf +DIST firefox-130.0-hsb.xpi 654771 BLAKE2B 0af2451d51f7de25b9e5cc3f1e543aa673dd5f0c899bf249399ecabddf11955b1dce1af2d0c771dfdcabfb78b871b12bdc5f608dddd0babbe50c59e7d45ef4a0 SHA512 0a0232d257936398dbe2469074bd3dbfc596daf49522a640926027f2a3b22fa672a1ab3953d342354945550e9366a7cd6d5f7494515ee28e381c84ee5a8b4b08 +DIST firefox-130.0-hu.xpi 659669 BLAKE2B c5cea2daa745baf2bdc08089ce33a8469613f175bc055f10c0f7fe00bb30f7ad58a59381646d9c78c7a6015483f29b3b9288e278ea6fd6cd4531e688350bd600 SHA512 8b907a97356c482f863556fd811de64d576bd4d1152fe133637722ee4930149f40b4bbfbd37a897391e6fb7185dc42fd93191089098b2d9e9c403d4a39f756c2 +DIST firefox-130.0-hy-AM.xpi 655061 BLAKE2B 4ad983457c8e3f7bc6c9e9d3a010094d189f3577a0abbf2ffbb07c6abce47b18c37d0b70fbe4fb7836c25337afe85132f6d10d8c644cd9718748813157672d18 SHA512 6590e7fdd994aeeb45ad95b6b5ee28bca44c6310af2eff58d7393fe9734c94333e8603194dcd4067bfbdc44cace09a198e8a026b530260271cf1bc5a60a4829c +DIST firefox-130.0-ia.xpi 620415 BLAKE2B 6b5227cf8d06e3cf4565f0e1a5826a02e8bfa7a08b66e10451a1d28e18820b9a3b7c8205510dfa8befbfdb0c2a5ffca846eceb3576c0b4ea107b5934c4f09060 SHA512 2eb6ef97be73d78acb32bf0ccb248ad358d60b95258c333304cc180b16ed231eb8b90abaca1252722d0294a258d8c541675d9189dd33945657738ca15e9de687 +DIST firefox-130.0-id.xpi 588473 BLAKE2B 28dfa350b749d6b1e4d52c011b11a1cafe6629cafca9e376dcbec9df531e8baa951b9b7e503c90e05240c7370aa4bc2c10f5f427872f712f874836970df504bf SHA512 7b4ffffa9cba6c3781e953b06f34c2584bcc623483e11b6922b3b1ffb3b0ab70cf37ea5983a56a777110278277bf4888a580d881cbbd20529dad85ed07615845 +DIST firefox-130.0-is.xpi 622838 BLAKE2B 963d2363dba0cad9e9c2d170f8e880de599673dcebc0ab4824b052f0701d2f98eb1c5ecbeec0eeaa9f54713e39d7f27b23cca6ec537d6893ba32968e37abe9ea SHA512 6151fcb5bead32a177acba728c712b2afb12451d4dc71cab1a18f65fb6c6a62893a169d369bd3493a4c55e9c822d9b39f030e8b44729f8887f708d71332d6377 +DIST firefox-130.0-it.xpi 576702 BLAKE2B 84301c0696fb27607a050d2887d54aba848cf19b0b138f43349f600818c2f06b3c5927113202087250bc4f410ac11996974ab0f322a2d077c5193d1afcec363b SHA512 ba042154ae2d32047f506b90521b6f1ef57ddea5df5cb1ca85706ddd927ef845ecfdb92571feb9ed79cfd6a1b7b3f203f9a5f39825e7d948f8c88d88644cebf1 +DIST firefox-130.0-ja.xpi 685864 BLAKE2B 994c7436ad0fee1a3d15a5b43a67f2663ab5609a32d5f39a847b4d90370b3c1908663e0a8e7280fc11fde86d4bf99469ea8c07bf37a8d26b171118f816e24681 SHA512 8f2aec5d3158b19441d1d1cddae1e0c18d5e1055af749f110b5193c5b26a3ceef50f213d690bffccdf084fa3f9697cf598f3503f9edbd997cb916553e078f538 +DIST firefox-130.0-ka.xpi 664736 BLAKE2B 0c5e0dbbf5c5e4f40d465e2cbd8fdfd3750010af24db9a2ce295af0a2b1d6f2123ff84f177ef2b123deaab2c2087ef37f5fd2500b390f6a7a50dfa16b10d37a7 SHA512 9b8aecb84049dce769b65fb46dfac1eb49e75020cea0ccd9a99c7e3dbf4d4b414e0df752d7e901db188813c2f5e6e7fa6e6bd372ebfb19a5bb8dbd9001358c35 +DIST firefox-130.0-kab.xpi 615479 BLAKE2B 47e39d8635fa0db2a1b6d78b04545a67d1ef569e0556d6e1e042e46e18ac52ef90bd80773e6bffcb5b4e0bab512594f18f441a970b2b152a0cb48d6922db4010 SHA512 95e796832d630f244d176c7eaff9bb5f0c1294c11ef2809019221ffe5e126853e19818b5899dd5d33471e1c248dd83f967d637e686e25a2a346830d5b17a6b12 +DIST firefox-130.0-kk.xpi 718490 BLAKE2B b87c8ae190f779bdec52d4b5189a6e8ff0bdbae2d651ba5e3115dee3d4444a0e91ff4a1476e34a01018a80b212f00651cea8cbc7b3b1a7890a2be048d821adb6 SHA512 6f9c1d05d2475ba2eb335bbc8141b70e843d3c4c06cdb0fc9858b39abc00b9f50089ef938fc9585f0398f314049e0e16ee8b4b1e4bad651bd49715c16552d9aa +DIST firefox-130.0-km.xpi 529330 BLAKE2B 6fe95c0179eff56ac84c86af5f05196bbaae199058b90b44ce67f3f2fed2ed9043a490ae0a708a1c95c502fbef7c8ba18067c34b140c2dbef57d6964b0f03f22 SHA512 3c261aad08d1a4b3b42820b1d7e5f41d24618d3bf74c2b1710f499b238700079d374f254af67aff69fa0f0035070ef1757b4d646538dd8b5d24cf4cb6ebdb2ab +DIST firefox-130.0-kn.xpi 494344 BLAKE2B 141e008cf40471245f3d227836c48b1a7400d1ebadc47a8f4f16bf46b7ffe58c50311e32268d09467c8bb8d773d026ff466c49ade05f073a7410f466b0baff68 SHA512 84593f1a855ab631533e2fa1b454928bb413405b064f5198fd8fba2bacd6034022717a9e0911557e2045d862e40f3cf3d63393cb11c715e04741fa796d9e8a9c +DIST firefox-130.0-ko.xpi 671547 BLAKE2B 7c891d33ddea6bb05277c4976d0d77f772b73b503b42ebc5d2c97715acf9375c658a9dff0c48f5a8d2376450b1d407513c3a1c9a19f81ec30903cd4257e98dbb SHA512 3d9e16971afe2b30b7be1c8fe927e7dbed4219c8160b9cbb7ebb4333a0307a8d09434c64fb6afba1234be5501a1a3a010d52b695bf39c0bff4dcee6027db553d +DIST firefox-130.0-lij.xpi 487638 BLAKE2B b45300b5f7b575482fca641b2034c98df6df38e617fe2894371792169d343e19c905daa0a269fd3cc8246b7e22f59d59ece2b15da95f7a1c566355c1aaade03e SHA512 ad5e6cb01bee9504c5f98e787228fca2cfd08c0fd318fdc52caeb78c3e9b493af4d80e4c0edce085ea43d97cf57bac7419854b3022bc5e1b7ad886fc0f7ad5aa +DIST firefox-130.0-lt.xpi 576386 BLAKE2B 146c5970f84c36701a91eb109032d787c9112aacf06d6ec6a6e82a9a94962c68b7a03f8188908d3ce215493b0a2f2bdf5fc2910b1e9d800b93f96ddbc345fc69 SHA512 53509733b53e4147cba22cf26b5102873d97b1939b16ec5be6cd49253c48912d6dca5f5e532c997fe885e9f71a89c3dcfb922ebe72569fd3beecbb2c340ea353 +DIST firefox-130.0-lv.xpi 589138 BLAKE2B 222f3c760cbc8d18da5dcac891dcac76e04285154eb1fa2a710304f13c35a87b27693ed94bc3646182d831c9dabbf429812fd811d794453c509d5be6d496b933 SHA512 a09551cd689851bde881ea51a0cd1da628dfc184d66238d72dbfa899b1bdcae90de0eb07ae3240fe9acf4bad79c653ee117f99482a511338c8a4d0a2f1c91160 +DIST firefox-130.0-mk.xpi 496958 BLAKE2B 1c3ad1e9c3a918a6f327bcaf3fb2e551a05bb2ff38a51891f1c810d68c190b8e210890ea70244553552f827f16dcc58f210e19da06a127a2f4c6657983a972c9 SHA512 3303a95dbe0f3a6b076f67d281ef60ec6a0d2f682a00578d8ad4c8fd2d9ebd744cc4f5e348eb889bc536a2552a63ba9f1a997c75bcac30da8cd65368f665457e +DIST firefox-130.0-mr.xpi 535458 BLAKE2B 1886a9710a35422e2b4449fb66f32cd1732765f318d6de3eda15a1f8a3231fea770cc01d3b4d6a8f8b8dc46c61e9daddc6b4f870b04a55cee3418c712591dffe SHA512 f6142b00d9507383e5d2a5fd652cb90e17d261cf1b9bdf4353c715c37e65a175b5e1820e3e89c284f09eff8ee593d36614478e34a1131755bae669888657945b +DIST firefox-130.0-ms.xpi 453245 BLAKE2B 2511a262027229f4f65592c67dc8c807fdf90e76a352838938701ababfa342bf418c405011cfb7f53c0d9171e982f269d1ea962c41b97d4a9a8c080a66172b65 SHA512 f644ff75e6ac1bbd252bfad7b1020867c907c4c33d4334d0bed28acba952be79669c705804004777b15ce2d911f8bc020bc24ad63a9915af783878776ec2c0ea +DIST firefox-130.0-my.xpi 521885 BLAKE2B de85cfc97c91f5a3d1274d6d72b5bde65d4b40f06c24a863d531340d46d3b70c59f9c7919f1d2bf9fc812fe79414a3fa07641503eb5ded5c92682060d9019628 SHA512 322c1cf80c3da649738002174406748d158a51ca5921fe8a422d52bc7a6c7281cfbc141bcb9cb88e1542894a1c2fc0cb7154ba205ccb9ab0047d5cbec9663cb3 +DIST firefox-130.0-nb-NO.xpi 615481 BLAKE2B 3753dbf18de927b8d3e4d13e94443b65510d9b117c156c1bf7596fce64fd39c94932e13878ea8324ba781bd4e7a577ae90c94cc0eaeb5a8923c0f8a0ad882f86 SHA512 9a6d80b4c7c0bdb2f2de01d3b04d7e1601725513cc2a18e48c8daca4077cab3e9da92882be54cfa0795d588d15e90931c110a7be274b8761f1e9b5523600e250 +DIST firefox-130.0-ne-NP.xpi 517919 BLAKE2B e0c73b95c0a3e5ec9aa90932170822218109ede720fcf8cb7fdd3639f851301df41c73de922c26f0d4b39b59657e3ddef488f42ecec84d59315943452cb433ab SHA512 30cf81482af57b9b7197fbc0a5ad15dee28de0d334fcefb4f7f4c5980bba7b193b514212fe38a109a9e269dbfac7f6ea6b279129c5b660958d03d4f547058fb0 +DIST firefox-130.0-nl.xpi 626066 BLAKE2B 5b644976d2530f600dac8310008a34736b829651a0b06c51063dd836c962980ebdd30a20f3eae84e17e92058fcc5998eb0d914bf89f72380f85b996f28e65ac0 SHA512 40939cb83f01aa4f3699933f5463dd085a6a443d195101f6988524a8f198e6fa51e0c06a765246163b0dae8fc3251c0ae8fe6e8e3254a183b8820915323d9596 +DIST firefox-130.0-nn-NO.xpi 619760 BLAKE2B 6842c61bff3b1b4d77d18b5859a5c87c065eae7ca91de375841e1898abc996f1d07242efe9406f8a2af39993b071e91aff221e4f379809122950a0589f143736 SHA512 208a4f8a5d5820afc8fb8f511c6f21a8afb37e9952ecf1bb54539ffcc9e71bc0ccb1fa0edea662d7704cc3bd0d833084694cf24fde633199c1d1c97a4b28d565 +DIST firefox-130.0-oc.xpi 616652 BLAKE2B 561b30e0fb9fcde1a727deccea6159c65325806ee8ab1a9289597f47141bdc7797fdefeff85b342d2540e43c96c92da1bdb5395f9776632f27a7f43764595d6b SHA512 b2699b1c228c4052c14f7ee6ca5444a7edf09ce211e2fb402cd0adf25ca3396f4651e76e8577f21c3c1ae93f676c113300bf66f2b69f8bf6f1c943e766a7964b +DIST firefox-130.0-pa-IN.xpi 700426 BLAKE2B 67a4dcbd8f441b66d93be4e6df5b74d8498662bad215e176e89167496e45b939d7cf27558af8e88d9b39d149a5023f10256928c8faada35c7337b443e1d4d266 SHA512 4da381e49070e34b493a9988636726abec70ac0f953b005bc5af6a09b87e5a53de6e2cde80342ff7a45ac1d762f4328a40c198531500c150cf8f0ac16fdb162f +DIST firefox-130.0-pl.xpi 646166 BLAKE2B 0b20b78f961286c1e076814bae8787f83da22d804800e4d4ad42343828dfb18b99b84f00da466afd955e27fd7fd721057a3d029a42dc83f8fc1b0c9bf8e4b776 SHA512 0f76c97a1f1a32ffd14cb04cf4cedce4f79729550345a5e104d550f9fcf0c5f297422030f08f9cc484b8a535e7f99acfd22744dd00c577601d5203319180ad78 +DIST firefox-130.0-pt-BR.xpi 631644 BLAKE2B 2242f5194f688829a561c14a08a69f5864277ea19fc4841f7926ad8a492a31e4074bd85b7f817e97259155d50532eba9ae6ea8e233e9702c4f5f2636c2554e9a SHA512 cf1702e44f04dd55528a7c1836b10add2645b49d91993bc310e944ce8238e13e85eb1d6e614e8d4520111e83eda440cc7f9a9f7d6dc44f4b0e973958a8283aec +DIST firefox-130.0-pt-PT.xpi 638061 BLAKE2B 1eb8f9f7e0acacee3f082b4e59df548e0e6e810e29647790746cba870b802350cdb027b6fbbf482f0e853fa100cdc83be8a2a8bb9cc8abdd07d636ea4d7e9cf7 SHA512 95a80d9a0beea19cdf9e03722478ff19338d3dfb4d0120996e64d45b995d38ee4ff996b0e679a515760bab40f951c4d95a27933e8f471dbb8d4c6d0d24467e6b +DIST firefox-130.0-rm.xpi 621691 BLAKE2B 66ad61d372c27e92afaed099a91d56d2afd2917975875a6cc857fbe137b420112fc3f2d4ce8900e21b307fe458ce6161a31ce9f54a97c8261b942cb51ae9b223 SHA512 139d007e141f5413e2fe99e6cbadc5d33c0e0564c46f131bcfcea5c52c457c6eef586ca9e59094b331432406aa03b2ffa89566388cd518d452ec6a5b494776b3 +DIST firefox-130.0-ro.xpi 553440 BLAKE2B f1968e97c24696e6a0b703bb0ae3a9331e2480dd31729f8d434f86b4fb494be36640146b2b371a601525fb054929e37690e42e6a2a4cd495c6a02aecfec11bd0 SHA512 b52c94c18cf2a6c17f1dff8dd4aec8164a39343ac7dd5cec8154c78564774496a54e8a042e2b9d9914ddb8b9d7f6f9ce081f755e7c8a9ed4e3ca69f1b28c560a +DIST firefox-130.0-ru.xpi 731292 BLAKE2B f20bbf1f071ea412f722685c332e79e2b548b3209321b221064d5204f069a35333503fa2cf8ab9e5565b0b051fadeb14aed140b3cfa7a39c3e306e40a64eeb19 SHA512 5d990242166c8bccd2a09104149a791ccf57426b580cd15a7941f3c3baeea01ebaa3e48027b64621ebce8a4e2c790e96a6336d44ffd877e497b7ad5851c9c61c +DIST firefox-130.0-sc.xpi 593199 BLAKE2B 51c2ed44181311a49fbbac2a40dca7553b8c86e85da4e2baf7f1c3d039bec7e563751d2ec2cb2c331990a75ba07ff79aa4785bac074e168afb3c0bd6a6902ab9 SHA512 2ea46cefc38117addcbba10c7bbc0fd425da593b16206e9113899b6fd0fa7a0fc90e8eb8d7c761d7f6f75b6908d92b885127eb3e1cc3494b422a57765d8c9c4f +DIST firefox-130.0-sco.xpi 514799 BLAKE2B 5edc89b5e4001060e6b6aecd2d1b23829b0c690f0f6a0136ba18ae9b487c6bd95754c714c2dcde3822dd90f3c9c615ee3dbc7894cfe079dbb87e8e9112760f47 SHA512 e44b7888aa59f27d3146fba77a2b3c3b62251de526087c61a484469f89034250595f302eaa3c44adf192cd4b1278e8cc2960f9f925e5188d496bf79928d7094c +DIST firefox-130.0-si.xpi 616762 BLAKE2B 1914782938cf618ba70a7e17cecc5bb8bedfda30eb3506805a09804b4ab6a014b19d5b2789bb013f0aa7e04db74fa156306315068424edb1b28ac83cf87a379c SHA512 fc94c1b1580e37ad0ca055379ccf8d7bb4cd9997ec88b8343b957843537c9fe65cc72d656fe19e24ddd16cd87d7b15f30fc54415d78ce409c11e109f4e70f462 +DIST firefox-130.0-sk.xpi 662602 BLAKE2B 1c0facd7168cb5202b47ebeb57a43bbfe9104a187602140ecac97737bedbf4d8ccd7737556dbfaea6f07caa4b11c4b6fda01ff6d170c529d8883216949a1eecb SHA512 4f2fa2717854baa9922f4887fc95fdb44eb4ab50e473c0644a1e72bda2bbbaea35d3996b87f719aba40d960c6297facafd24dacea8bfa1f425bbf89c5bc00017 +DIST firefox-130.0-skr.xpi 716710 BLAKE2B 728373d6fb77bc78fc03112ba4a55debae5a70abd907a3fa5e6bea457bc1258609021840041a298617fef22acf2376d384e536c71ee976ae57745350528d9b69 SHA512 e2c2f20c52a1dffb70c6a576cf5ac5bc03fbc44f1d7cf401bb8322ef6a2dd8a2fd315a61532f5ba72709d9c7b48911a54d48e9e6656e2ec7143a9e0882cd8192 +DIST firefox-130.0-sl.xpi 626607 BLAKE2B 86ff57b1255e6d513d1ba5ac0af9ca167c0d1db940e93a8a212ba6776e14f37d14cc30ad6420adeb55f690f8f9bfc01ffd1a07675fcb90d36c2d45c5c9b2fe14 SHA512 b8d52b5c1bde1991e3ba0234e92fa0a1fd6e0cab7e4d98b4925e3f28a0b698b227fb5b27256a1f2d40e38242bb639b0cbddd3199e11eb9bb5a175e689834decd +DIST firefox-130.0-son.xpi 419745 BLAKE2B 2a1de367402e31dc82cf44abd53d472fa0a9792af15c05fedb2257253e9d018364eb0ccb314ab5221607d61a7f929be94a56a3cfefb33d26b8f43f03982f8d40 SHA512 33f1b40014bba606fb16f6162ad667daf19a3452a20dda6037210637ed94bb339bbdb7b1265421c96715fc93dcad2473e7ca19b79337d3d87bcff351bd9e0388 +DIST firefox-130.0-sq.xpi 641275 BLAKE2B e63e57573290a34186c19d13b48406cf50bbf61326ebd727bfb418838068120b5d2c0c3375b3cca21f1686efefc813df3cceacaddafd71c0cae87cd7d3baa3d3 SHA512 430bb8719aae32a86f95247b8f344f3505e0c45093b13a0c0978a4c3875dfd59ad9af155f0773e4990f12432e52bb0f1b94fce281f9f39bb079acba5fc9c4fad +DIST firefox-130.0-sr.xpi 643275 BLAKE2B 8223f10628f781d50dc72f675bc60a65d1a0c1255f73ac2fd5ef5af5cf4831a1ecebd2ebfb4306a3f1fb9233ced28754710cee842ee1bbcb7dbe46a7818c0a55 SHA512 a4750b343be3562c1f84f8bca18e08708931031cdbb2a074c08f5ca753ad1c89e261b62b087cc2e84d4f257716b57ad2b77b56df62e77ee8ecba86946b0cd2c8 +DIST firefox-130.0-sv-SE.xpi 628348 BLAKE2B c53191ae72b267fd7f3c8259ac1afbe462f51065b6314a408ba3ec04b468d02c6afa43823b275e4e75d72d27f9e1a65ba703af33d508a486c15783b3ae92e704 SHA512 f53b86c79e64c376e1c97cd084cad971ae46bdb7c968dc05de6c3e24a5ebb870e898d7249e8f47e02a69d0e28e2c8bbe66aa3f5f88d71f8acba81f5c8de28868 +DIST firefox-130.0-szl.xpi 529951 BLAKE2B 00cca4ba24c734cfef11b292358adcb93a5084dd8b9382890660d22a686c62906bf1ec33b1cfbdb57de236590e5a90a68eec51c7e6345c843fd09058d508f1e6 SHA512 e2ff0b5914459a700c4543cf3b93c0b1484e6a3726bec21a2d92efa9d442241a5a3b2f07d363131e21b6e9f3377725d5bc22877a5617e2450d4d33614a821914 +DIST firefox-130.0-ta.xpi 510639 BLAKE2B a6c019e31e9b02cd9f9efe420409a3d86e153f98d16cbdaf5ce1968b42cd834f6de76f5b8b69c13a62f025b0856d38ee1cb979cdecfbfe6168057152adbdb004 SHA512 158e561f752d6e6318d2eb8ea41d4d5cbbb917dccab20850f1181b8c71795e8baf6ef30b53bec2b79dfff5b59f79ff71e24240e1b2487750a245883cde2afce8 +DIST firefox-130.0-te.xpi 564569 BLAKE2B 184ec5bb41ce4ee9237ceadc4fea7c842a5850c94b981bf9631f21e81eb63ed1ed77646afeffe115e38f9902d1b4ba366b2b8c0500c26b55e71d1ff37a782865 SHA512 3318abc55b92bbad2fcab84ba7e40f86fd9824183ad9d46055a652862725da9217ccc2ea7c0cbc44be7f6bbc98beae3414f72ecf1bd7468439dca87d291cbf80 +DIST firefox-130.0-th.xpi 701822 BLAKE2B fd4b959a9f68aede585144f89413603e6011ceb454aee6860cf4a9855b1bd2f6bb30887d6786d5807e7a8abfd55a483e39097a8894f82cda646b3c8a7580e97c SHA512 0838e90bb21340492be3d4f50b0e974f24cd638b608c94e0e82f4ab66ec9beb14f055558a714ccff6956ea041e34fdda94abd918aef849909163fddf3b96b5c1 +DIST firefox-130.0-tl.xpi 537784 BLAKE2B 08d43275933153f8f360c5285e3feadfa36e67b98d8fae15673053a95aeef127a8f20a6ca99e0005b12586c9178c3d265b9c85299ed4a8440d1b3eb0a1603ec7 SHA512 b04340a362674f0a2e53e4625644236e3c94ef6f1d6bcd7c94d47055ae0d63ec09f25c4a7a8127e5fcd6f35f71df53eaad290cbd99b0a5af0545863f8c44ce18 +DIST firefox-130.0-tr.xpi 641729 BLAKE2B 2b51eb152f5c23abd612e42c43e15429485d1208ef824ead2366ea5163788c307ba1d981746e7de3daedab0a5f10b9f58f3b67b0c6408b30680c972f643ea5b0 SHA512 e4f47ebc42621e25a11dc7a8a19f4df55659e4471fda3bd5ba0e857b442f259f7b8d7f85c33372e3addc0bebe351acb03731e9e1e7547aa5ef65b5f9529b5350 +DIST firefox-130.0-trs.xpi 507730 BLAKE2B 371d4c85400cfb77a7faa1a8235d313b04f6c17a7ff5712de3ba3dc180e67956aca998fc7805bf707e32c7d23a6b33462e38d346b03f5b175d82f834c9567f09 SHA512 53563389a3d01553ac24fde65aa550782de0a9ea1d724a3c01f6ed2972a8807506d596b4deb76114edb1ebd72ff84778ee88b50817f98e1a030f01dbf74efa9c +DIST firefox-130.0-uk.xpi 714781 BLAKE2B 60ef280e07396f7a0aba46f59901bb126bdb460b5e68a698f114d29743ffdbb2527b51e1b4b86666b71b7ff86efe3fbbc4df07ed6601b10f0a60dd71da54e7bd SHA512 04f69c1b24659002090a10c43174af53c7eda040695c58f94a66fcdac1262b0a5e29cba2a09457df704593f4ee9b7f2d2f15ad37fcafbd9685d22796f635aea9 +DIST firefox-130.0-ur.xpi 563621 BLAKE2B 45d889cd92edb3da5e3c2eb2077c6c3dce26a27beb97c1c1ae2ee67ebc58119772295d2294efe52b76427c72bd423ed5c83025dcee22c7a152a821efa5cf13a0 SHA512 3e5d3e82d9d99d9ae09f45fd141a46e48e52bc7346ca8e85e6bd81f1f86970777b235c63fa1e4434dc646e2c37d37510d40e6ed7e60f530cf22fc23262cc9a70 +DIST firefox-130.0-uz.xpi 482284 BLAKE2B 1d8b8562e01cbaafe9bf7cbd8300155de2c62259b2653b20502dcfb667c5353694e48d17d6a3a3fdb9581ef6b89a5e27262aa275b18500acc870e9faca674b31 SHA512 a7bad28238ca918cd1c340334f8c380d900d9c9da6ee627ab10e598bef27774e67ae4760a11ece7b7214f6c08c4802fb00d706aa7a261476d86232e0208a4a60 +DIST firefox-130.0-vi.xpi 666085 BLAKE2B b80be3d3c30aec668164abe5461677aaead06a6e59c121a3c80a27a492f838beb14f90f73d2dfb466d054b81f38279ca062f0e8019abab283b8f921d889b2884 SHA512 7ae3ac4d3b546649acf380312b9b0214da192cb160cbf3814f37fef6288f445ee4ad97dc6048b44630b8e8e53712fc25c03ffcf4f7ea721728367f45dae96f33 +DIST firefox-130.0-xh.xpi 420486 BLAKE2B 953135839c7a648b4b02459ceb47bfd6e7bf62a357eea4c7fe976409a6779199ba719c0cca662fac1d8fbc2865e5e529d7c656088a6509c072b52343170fb1bc SHA512 1cabec451c045df427d8b2dca6829f098ab99a4f7eb28c3e53b6a36b556b4f7471f9e7c3d4e991a03c0a925361a15897976c156eb5a9c8add1a325046f6227e0 +DIST firefox-130.0-zh-CN.xpi 667377 BLAKE2B a8ce2ee629c30204726f4e790310180bd2c31866adeb6a25d9e28f48e97dc7f27d9f9b3109e482ac08cfe98316fe9344515054151b3c3d37eee3a6058c0327d4 SHA512 a38673a73056f3ebc301f8cfb2c9fd8e5d764b9224294aab42c3b654dda95bc811a9ee9b1ed707072b39222b05c49deb019a8f51abe135ba9b26f800c928fd39 +DIST firefox-130.0-zh-TW.xpi 669293 BLAKE2B 8743ecdfa6fff21ba6d1c199bb24fca9b753b874e905a84ce805aa7a3e10d1871c22e119ab46b452be2c55cafdef9e8ba8a90e261078b0451ba3cb2e9054645e SHA512 6d12d92f82a7434bc7ffe3d0ab6e706ef230cb31b7889c8b0b4312f3cd0f4712ce59e4b576802b79d5bef552d3c07539d27394288c0f6e0e54998a55f44a62d3 +DIST firefox-130.0.source.tar.xz 568295588 BLAKE2B 9c7dfc43145e442d60f6971806848e4ecd0145713e31105da6bd13a82a50655f5c4095beff4d61505e26e188b60f49b16dc17fb42dc03a9fb9ef509a7010b0ab SHA512 d0d11b38d9e02fa15298ec13336bb086668b4f36b3ce9ced218a265327fd4822b9fea4303402631947ea3c20490c414de87f8df3e7c23d2e02b70f0456b9af40 EBUILD firefox-115.13.0.ebuild 39935 BLAKE2B a5ee41ddf96552edc4a346c5cf261e2f1bace515df4c7ff962ef1a2a95cc65bc20d6b09d368fadd0ca2111c514f310ac91e56d49260ac99e320c6a0707406bf3 SHA512 9d6232a69adf9fda97441dd6e46f5263fff17e25be47f399454972d4d69a895ebd5f14e91109174af196c158019c4b23cafce9600eb6d6301b4aa84a67560ca3 EBUILD firefox-115.14.0.ebuild 39936 BLAKE2B e32793dacc694d457ea7306eeb4493e0d8c2b3746a74d0f4db20bdb3323618f300ad866ceca9e85ffb8c75c05489b591dc0afab53e0a2ff00ea9eceaedfb5a8a SHA512 c9f7268f20624677f007f7797633bbf5e3994498f3392f78d2d6654494d55526193dc8b7dc8ee59807cb4be5fa1e3137671b56de1e3451b12d56af87dee57650 EBUILD firefox-128.1.0.ebuild 41438 BLAKE2B ddac6cf583726dd18d7bae4021a3ac6f6164e220f45f96af4accc604f36a383231523c563ab7fbe0ff1d41f5a7b92be5e3f809d3d7b91ad052321c56c05ce225 SHA512 a102354cbc15e30894fa59d5f4fa966810d5fa492d10c7caf6147ac741230a69c27d72816a1dacb2bc748f7e96de4c7ea6b0418656693e3af415e7cecea0503c EBUILD firefox-129.0.2.ebuild 41326 BLAKE2B c5abed4860e8542d0afb8d800906495936be3ac1f1cfa9e1de8c4ce970181afe740f02ca6447f2d2486c421a84c7bab18c930a972a01831360e21753da93db95 SHA512 b8500ba34ca68e5dcdd018d89cee27989cb17086f7aface4fac2650671f72de7aa084925bb813e0d8b388b71c365d7298d8f071c7525247d6d00d9f0181af8ca +EBUILD firefox-130.0.ebuild 41307 BLAKE2B 25bd01bff4cd06fa108355cc52aa475b92b92c42365db25ba50563f3fc8445060e8bfc7822f7e8ca091e61de12fcb0f1fa9f8abb11f9b93836f25cab4ef5239e SHA512 63f5df796711941c2430b748894061aa3441c2b7dd1e2594887bc27cade19930add01dc04e90794da4900055112a75171c6d93c962f005752dd5373414e5c332 MISC metadata.xml 2597 BLAKE2B b449997bc096ed8fb7bde41a5acb8d9f4c1c8cfc9663c06ff603cca756e8868d40049fd292a459a00d80b4e8c3a74e91e29fcb04abe87277640fe65d070f0bda SHA512 703c7f6a2b46748786145b0973a7b8439e530c96fd7c50d773efac7d5d9bf74ccb4f0c252f2701459944f2b3ced22d3e57ddf049b9aed0c8f0e094cabddda251 diff --git a/www-client/firefox/firefox-130.0.ebuild b/www-client/firefox/firefox-130.0.ebuild new file mode 100644 index 000000000000..52a69fea3f84 --- /dev/null +++ b/www-client/firefox/firefox-130.0.ebuild @@ -0,0 +1,1365 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-130-patches-01.tar.xz" + +LLVM_COMPAT=( 17 18 ) + +PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="manual" + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" + HOMEPAGE="https://www.mozilla.com/firefox https://www.mozilla.org/firefox/enterprise/" + SLOT="esr" +else + HOMEPAGE="https://www.mozilla.com/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 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[@]}" +S="${WORKDIR}/${PN}-${PV%_*}" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" + +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel jack +jumbo-build libproxy lto" +IUSE+=" openh264 pgo pulseaudio sndio selinux +system-av1 +system-harfbuzz +system-icu" +IUSE+=" +system-jpeg +system-libevent +system-libvpx system-png +system-webp +telemetry valgrind" +IUSE+=" wayland wifi +X" + +# Firefox-only IUSE +IUSE+=" +gmp-autoupdate" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( lto ) + wayland? ( dbus ) + wifi? ( dbus )" + +FF_ONLY_DEPEND="!www-client/firefox:0 + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + clang? ( + sys-devel/lld:${LLVM_SLOT} + virtual/rust:0/llvm-${LLVM_SLOT} + ) + pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ') + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.26.0 + net-libs/nodejs + virtual/pkgconfig + !clang? ( >=virtual/rust-1.76 ) + !elibc_glibc? ( dev-lang/rust ) + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + || ( + gui-wm/tinywl + <gui-libs/wlroots-0.17.3[tinywl(-)] + ) + x11-misc/xkeyboard-config + ) + )" +COMMON_DEPEND="${FF_ONLY_DEPEND} + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/expat + dev-libs/glib:2 + dev-libs/libffi:= + >=dev-libs/nss-3.103 + >=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-gfx/graphite2-1.3.13 + >=media-libs/harfbuzz-2.8.1:0= + ) + system-icu? ( >=dev-libs/icu-73.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) + system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) + system-png? ( >=media-libs/libpng-1.6.35:0=[apng] ) + system-webp? ( >=media-libs/libwebp-1.1.0:0= ) + valgrind? ( dev-debug/valgrind ) + wayland? ( + >=media-libs/libepoxy-1.5.10-r1 + x11-libs/gtk+:3[wayland] + ) + 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 "sys-devel/clang:${LLVM_SLOT}" ; then + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang && ! tc-ld-is-mold ; then + if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then + einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then + einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use pgo ; then + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( fur ) +MOZ_LANGS+=( gn ) +MOZ_LANGS+=( gu-IN ) +MOZ_LANGS+=( hi-IN ) +MOZ_LANGS+=( hy-AM ) +MOZ_LANGS+=( ia ) +MOZ_LANGS+=( km ) +MOZ_LANGS+=( kn ) +MOZ_LANGS+=( lij ) +MOZ_LANGS+=( mk ) +MOZ_LANGS+=( mr ) +MOZ_LANGS+=( my ) +MOZ_LANGS+=( ne-NP ) +MOZ_LANGS+=( oc ) +MOZ_LANGS+=( sc ) +MOZ_LANGS+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( 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 lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6600M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + check-reqs_pkg_setup + + llvm-r1_pkg_setup + + if use clang && use lto && tc-ld-is-lld ; then + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" + + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" + + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" + eerror " - Build ${CATEGORY}/${PN} without USE=lto" + eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole " + eerror " llvm/clang/lld/rust chain depending on your @world updates)" + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" + fi + fi + + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if use lto; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#917599 + if has_version ">=dev-libs/icu-74.1" && use system-icu ; then + eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch + fi + rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die + + # Workaround for bgo#915651 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + else + die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" + fi + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + # Make ICU respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count" + + # Respect MAKEOPTS all around (maybe some find+sed is better) + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || + die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + + # 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-gpsd \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-wmf \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + elif use valgrind; then + mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # Enable JIT on riscv64 explicitly + # Can be removed once upstream enable it by default in the future. + use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + mozconfig_use_enable valgrind + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + # LTO is handled via configure + filter-lto + + if use lto ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-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" + + # Allow elfhack to work in combination with unstripped binaries + # when they would normally be larger than 2GiB. + append-ldflags "-Wl,--compress-debug-sections=zlib" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + if ! use telemetry; then + mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0" + fi + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + if use valgrind; then + sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die + fi + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if tc-ld-is-mold && use lto; then + # increase ulimit with mold+lto, bugs #892641, #907485 + if ! ulimit -n 16384 1>/dev/null 2>&1 ; then + ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from sys-devel/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + + # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969) + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/vaapitest + + # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded) + if use arm64 ; then + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/v4l2test + fi + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # 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 + + # 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 + + 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 search-provider file." + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die + + readme.gentoo_create_doc +} + +pkg_preinst() { + xdg_pkg_preinst + + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse + # does not need to be forced into the LD_LIBRARY_PATH + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + einfo "APULSE found; Generating library symlinks for sound support ..." + local lib + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do + # A quickpkg rolled by hand will grab symlinks as part of the package, + # so we need to avoid creating them if they already exist. + if [[ ! -L ${lib##*/} ]] ; then + ln -s "${lib}" ${lib##*/} || die + fi + done + popd &>/dev/null || die + fi +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + elog "Apulse was detected at merge time on this system and so it will always be" + elog "used for sound. If you wish to use pulseaudio instead please unmerge" + elog "media-sound/apulse." + elog + fi + + # bug 835078 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then + ewarn "You have nouveau drivers installed in your system and 'hwaccel' " + ewarn "enabled for Firefox. Nouveau / your GPU might not support the " + ewarn "required EGL, so either disable 'hwaccel' or try the workaround " + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes." + fi + + readme.gentoo_print_elog + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal + if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then + optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver + fi + + if ! has_version "sys-libs/glibc"; then + elog + elog "glibc not found! You won't be able to play DRM content." + elog "See Gentoo bug #910309 or upstream bug #1843683." + elog + fi +} |