diff options
Diffstat (limited to 'www-client/firefox')
-rw-r--r-- | www-client/firefox/Manifest | 100 | ||||
-rw-r--r-- | www-client/firefox/firefox-110.0.ebuild | 1366 |
2 files changed, 1466 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 04142d7a601c..ee552830312d 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -205,6 +205,106 @@ DIST firefox-109.0.1-xh.xpi 415569 BLAKE2B 65d01f5ab46718b0517c72d612884c35cd20e DIST firefox-109.0.1-zh-CN.xpi 597582 BLAKE2B fce20ac823abfd1171018488297274aa93f95620450d24da2b375b1591cacc8714fbc4c512dc86fabc56017a10d1f7a9e2055fd41ba7f61d93238c35933d00e6 SHA512 2541ead9b20399d09dbdb262d483bf8adb72cd4cb35b760cc5b2c856ebe7de8569935a48b6ee957c9fa2a17d32e6354c7995d5d48b7c5e08a97f009cd7affa38 DIST firefox-109.0.1-zh-TW.xpi 598876 BLAKE2B 027dc07b63f6564212b30d2a0b2a942819f56f6b13fa49dacfaff2a20b3f7a19ddde49f46ccdfbf2fcc07620aedbfcffc9e5665527f198653686edb88af02892 SHA512 8e2eff75bed76179ffc4fca16a33fb1443ee77c01d73ad8440e1e7cde25009fb9e003ceb80665aa7d03d46f6c82afc90460bc592951a1759990d45aab884a531 DIST firefox-109.0.1.source.tar.xz 493832884 BLAKE2B 37370cced42da5850ad8cc4d90c0e7c1a700b9fa5c281c57ef7c3c243898b7ac55a8f183360585b24b164b8572816c9e216114594371bac3f2e3c1d85c2f6408 SHA512 58b21449a16a794152888f50e7fe9488c28739a7e067729acdc1de9f2e8384e6316cffdfe89f690f0d211189668d940825b4f8a26b8100468ae120772df99d72 +DIST firefox-110-patches-01j.tar.xz 17060 BLAKE2B 80ab1437311b33248edeadacfd53522ac388bfdccb89f721ab9dbf9dad7ee82b1cea978e553c42728c9a2a5d4fd6d2f101d42eab78a220e4181aa1068ed73278 SHA512 c8d2610bf7b1e5d1f1a1bd608b3ac8f0239e45cb08b6a2d9c63dcd19f900dedd99942a35539c5952ddaa84746c064ca2930c3c1b68758914ca5a9f1016e86ea0 +DIST firefox-110.0-ach.xpi 457766 BLAKE2B 166b12fc0400ca240640eab4c074dc259e4c38800b93452757afdf15ffbb8cb775e2e99d50a791e3e1a2342d065f56157bb143dbd191c45b15810fa34048fa63 SHA512 f9ed95380afdda2b556922916584521a7eafd912ebd421f92c82eb0c2ee618e15bec68741cd51351696b7f2eb7c33ab97827a45193868eca2de7f23054f86f06 +DIST firefox-110.0-af.xpi 418305 BLAKE2B 14d880431623f655eb33f3a6a0232f4996ea137ecbce064d5347de82363efb0824481911ffecf3a0fac98546922fa372f2ea8cae9033e0b3c646e8360d7d560e SHA512 3b8f5ed26c394a5bd451657fec83ee1fb9cd6318c91bb7fceb1ab4d3ff04e8b066d24a4718ab360233622ca21ac27896eab5d53f6e05af403880243c6721d2e8 +DIST firefox-110.0-an.xpi 501238 BLAKE2B 02b9aa6014817ab02db61a99d8118c1f2775c7d42be9986333c37f71571fbd60026491edead6c0c26057baf98b841e86900bf4cb187b5466ace3b0c7ffc51b63 SHA512 a4fc90cd1d97040c48d4d6804c7a6ea3c740bbc45c21a2b4fe0d396534e78423738d288bd54c5d65096b94e40c110003f0540938ba83bc115f69e6ecd481ef45 +DIST firefox-110.0-ar.xpi 568264 BLAKE2B c4ccacbe0f8f833c91413ce7db75f39eaea4b2f29db14b6d83369c420561621d86b4534fb6f3b439202b8c899c6092199f58e6e8e469077010ac16ba21d7dc2a SHA512 4c4f4b6cc4185d8a5ccd52980c236cd5a84a6732f7943a7580e1241a32e4562b774459a5a7f94de1a163586a4097ee05b991f15d5e928de080354e84135f636a +DIST firefox-110.0-ast.xpi 487468 BLAKE2B 1be6f483ce27fd23e75ac89cf8d1bcbc976686ed783e659739267c6d05e589892260681e96c1c8bc844e07c170b9156e76540b1be9151c30ee79b279dea42530 SHA512 9c7778723e8c07987fcefe4fa3c5710859bd55f8e0ed0579eb8690652e10bbd9307470f625d4810ce13737f63d7db06b284ef29a42f347afedabaf3484efd0e7 +DIST firefox-110.0-az.xpi 490056 BLAKE2B 66231a1055ad707ac6938fbd23d55c9d9d7a5504215d9d5eb31266b03b29927a7a85631c9e8ab21bfbdb57b1f1415923e10433f84204bf7ef2d03a0ce26a3e0f SHA512 756f5938184ebe10e46724d7805c9ea86b066a9339398e7cc4bb2b514edba310981977a4439d249951e84df1b7b83c2b0fb8f51db487858e3c01a80178413f71 +DIST firefox-110.0-be.xpi 652579 BLAKE2B da9f88506d08a511b491978320ab0a6f7418dbd003d392dcca6f2621774755f34ee6c59f926399f8f9c49b98e9791503531b3b12b151d9390a5936b17055cdf0 SHA512 b0c62ab93c736428d25acbd722aa621feaa601bb00a8d87da3253405be04c87d36b5a71c7e5b66f4f1a34d836d26f5629a2375a61d5a1b65bdc7bced1b17a978 +DIST firefox-110.0-bg.xpi 579992 BLAKE2B 70adbd5670c3f8102332165c462f088c43b49a5676023a673e2ae0dc183614414a432ee88c6d37ac6d2ce18f21a7bc4fc6244b0e36079d605cfb64be6464d4b2 SHA512 6c97c21466b88bf2b5f2d68784241940f0759ddf82921a365e798734844341ed851a48518fd45a0a6693801cd7738e98b400bda08d0002696cbed4319cb7626e +DIST firefox-110.0-bn.xpi 579339 BLAKE2B b00cc3bd5ee414e737397ba07e6ebc05d5266d2d47e2f0ca73e421b5e8d3415fd844b04f60a57ad43181129a445d67bbaac412903179bf7029c4886303c6fd4d SHA512 eee4ea7899d4eaf5ad9346c5bf7afc91b0f19ca064c50b85c51221608ccc7f629c65f4e358e2b5d7db3b8a90b6a1f976c8e98dffe7879b94f845bbffadc94bc8 +DIST firefox-110.0-br.xpi 546492 BLAKE2B 263af6cb6d6a7355ddde4cf282dbea91de986f0ecdc4add8b016e7845e0c4ad8c6ede786f7d635f90e949f842dba3e8568ca9c439c8bfad018502845868bfba7 SHA512 8ad5269de65833801c2b26167070e3566c033af37a5417ab0c8ccb2fca8291d14e7b6bda5304084b666337e28a7b15a99ae6f140a94e36423e4678add81dd3d6 +DIST firefox-110.0-bs.xpi 461730 BLAKE2B 6394b1dd3aa487708112643a883008392d81372d89a6486283500d84762040b18fff576cb740e343951c9ad5bdc963e0c8e390266baa3b5bf8e524cd854f64f1 SHA512 e495358e090be17b624523c86ee2ce9c6554b2eee37c8b2bd7bbf7818f7135652f29f8d362cb74dc87b5193c8d346c3d8438635a05e05e4891fbe24e62688e30 +DIST firefox-110.0-ca-valencia.xpi 540139 BLAKE2B 6a4f0aa0a3740d02b61407a34dceb06abf3e109d4c37df4fb18cfa01b3992903c66e98e4e3ea18af6d7e824b86cd752e93fa2f927fa531f3cd37b6e9e7ef14c9 SHA512 b50ebedb3cfd08348dacb646a8466467754e58443e2683f72b6acabd7e94dc687549c7ac0943f160b209c6f4e08232c48a0fdb77ac76b249ca544014e38c0dca +DIST firefox-110.0-ca.xpi 554783 BLAKE2B 55ed4bf968ec46510effc98a41f7d3a6310f2d66a865ab1d9177d62524c2eaeaa66ace16d9788017f69c9e22a5ae6e4b2fe83f4c03fb158be28f5382935b86c3 SHA512 064a7add5945e994a1e8f69a93ea66ac3f2cb1d3f03206f4a10464d954ca98a2c59ed40807cba60bfce9e7292ed0b642017399294baef231d5709f3590b563a2 +DIST firefox-110.0-cak.xpi 555434 BLAKE2B 70ad875c3ea5535032f03615632838e6b92665fef5311a10271fcad5ed08d10b663bf40258ee8ee29f9715052f7a7c85e355a96d845387675b66be75e92bd9d1 SHA512 898179fe1a81dcf7c8af75a083362d7fae03256167e4c1c91e331acb8361f54abdc86fae03fab4ce2f5ed444815a186e5e0f7a2ea6614c6def2847a1091306fa +DIST firefox-110.0-cs.xpi 591249 BLAKE2B dc31a4caf8999a8f9a646e1a9a2aa182eb9263ece1d600f7e649f824ce304efd432decd61f0e33c5734abaecbf6feeffca81d2774b342cd621d11892b0492fa9 SHA512 c82eef048ad87719c4da53d655005253f5b1caaf289a3ea6f683fe51590d3c145ae5059463d54e74ce491b340c98fdbee7eff7980264b4af41e267e5af6c0728 +DIST firefox-110.0-cy.xpi 567859 BLAKE2B 5b49d3100d335a9c052a1704ab278d422fe01fc9465ff6775c46ad6fafcec64dfe94dae6e34c372915db5991b2116200593930e2d30fb31cc7da0fdffc5cce07 SHA512 8acac7208932319eb039989b7df455cc02afe84d8440e02af0c697b70ddf50f99a8b08e8c0f1f965c89e14a3be6f138d099fb90d433c642713bc6f9e2debf49b +DIST firefox-110.0-da.xpi 558098 BLAKE2B 093bac5c53f258419d379a6e49998db47150ed27d90e2fc77f908e94f5f90c889305e0a518c45a1d35ecf5566b2a9a49c36972754a1cbdc6359a7b8ac2050eb0 SHA512 34c48965cf5cb89d7d2f7bf132d2ca63df1de179f1b5cf4c3647fc1faaf52d551da3d8655c868920626ae7329cc3f315a0104b6315e0a3cb9b55c7da247f0d0f +DIST firefox-110.0-de.xpi 578970 BLAKE2B 9a1f1dafb8e5bf9d297eacd7007de23fcc2a69539a327e14b9ee62ae9e3296bf29eb86174bac7e61183df67acfdcf4ff9c3c086cc22d045c52114c2f291ed459 SHA512 ff9c5990ac796c883b0598e9ad098a80c772433b8234ea1e95f3d1f55001056298cdbb48795cbf672509d94d69696c2dbb0df69dbdff223702b6b820ef776af4 +DIST firefox-110.0-dsb.xpi 589316 BLAKE2B bbffe00a1a6ea3fdae411a375712af0674ede5f93ffcfa644d31fd330eb2ad126bf177a7112cbe81ca9c6f8c53b4cc8c6f158b333bffa9adc30d2a2f24e0c176 SHA512 50f59ad44e9e90ce4449cb3888b2b27d9c7c1979614cd2caa1a2d4632745fe01731f303c6c114a67547042e20fa44d540b587e42f0193abe5e37455f8ca4d83a +DIST firefox-110.0-el.xpi 667180 BLAKE2B aa346700d62e9d9efe6f6aa1ec3135434153b7e9c57dfbfd0268ad10dba175f572f24604f2b4bd9e53f0e19fd8e224ea4e4ee5c5db5cc85d1e74c557b5ae0d66 SHA512 591023f5e61a1742661a311cf5c699d8a87f08e4453b006ccb9c66e0c628c565ab4fe6a1d33f5768f015bbffd417bf548f9eecdbf0ce5aa40aff0f1d33894165 +DIST firefox-110.0-en-CA.xpi 531651 BLAKE2B 3f1dddd29688862c5f852475f07610d4add753a3a1832bc4b3b9bc38bf2dffafedbae69387ec45096f4ee7c4696326737011a3120f2dd58a45ac1447bfbdf9b0 SHA512 c8b4afd5c25f9131aa3c41880ccf2d6408341c82e7c2f579ff163af39413cfba4dbd1a7124f6fb8d2fcd5ee020dca3ccba9339fb15dee8f3034739597ea1c691 +DIST firefox-110.0-en-GB.xpi 535380 BLAKE2B 16f9291ccf11acdf0d0670925ea8ddd0eb71535aef09f34b88568dd2cc6fc7cca4c64adb073cbd8355296ce558e078b86a8e4838e27456052e7ff9b419a9799c SHA512 5fa857e8156d0bb6512e8b9b45fcf48fcae3d78f763f2dfc707cf85b11ac870973375996c1be2c98fdbbb2a144175c75ff8ff2a7355955884f35fb7872a1518a +DIST firefox-110.0-eo.xpi 560353 BLAKE2B 49e8e3110017055c94f6d85e50c028655ed425b87eb1d9b351e1b410f9bbb84de433152cfd68b5eec70b32c059f327205f5f3ee073ccd23925edd68caf2dffb3 SHA512 3246a934b8913ae5f9a08359e083e3e5b4f7962acb4520792b96848903d08b3a50b735ff56b32fd5857c9edd2f3106fc8e6ea4346f2b7fb6c4504a917d3313ab +DIST firefox-110.0-es-AR.xpi 573022 BLAKE2B abac791edbdc3c9041b3caa50e40cab526dbbdbb508044917c8c2383104b62e650d45538dc24e9a65c6bb698f4c46c5805f2be8d49b7c358385407df7381e489 SHA512 6537160919839acca8ea20545280a7b81f736230347f6f0e581f70fba5ac3c3c4de36fa6aa637bdd69d9f8d2bbb01a488680e6f566cd9e4578df49131b7bbfc5 +DIST firefox-110.0-es-CL.xpi 572248 BLAKE2B 6c7de6da9deaf7851691c424f3f6005a99c874aaaef11f08c06ab62321a21a0ad12c773965da95bb0da05196d77d463a7c8b7a72f0bd1ad21f3c886d5e96344d SHA512 034a941f178ace1b089947f5c6a165b31649219548927dcbcffffdc3b1ef528c9bcae176c08d754195d69fa4f6dada10b37f761a44675d28ce4f28de1daa70a9 +DIST firefox-110.0-es-ES.xpi 566016 BLAKE2B 80ff0ec0d379ff7e7ece253a16d4e2960fb71f46d9011fc8eec951b214766b52e8ef77e012d1b672c24604b08ebb5938f9eccb98a52154ff624bc68f6719dc12 SHA512 bae1ccfdb9d3b6efaebab685360b61442e0ec4d1391a0799187ef25e93faeedc4ad503dcfa5deb94c6f02ba552629d85a873264ab2f67a8313c44411404a89f3 +DIST firefox-110.0-es-MX.xpi 575394 BLAKE2B a114ee942f36e3cf54da79d95df95dfa718d2c58c287351508e5c639ec50ea604e92852e1ba6b2cf75ee2452a2437d7487ce1f74536e5f306ff847b00adee71e SHA512 b9a1a2e230108752ef312e8e7a959b8398c58e70c8a8eb6e7326cd503ea1fc7a76b37374894cbb0251828d5a38f50d52bb43ad3835f496c93bad97dff8be1ec6 +DIST firefox-110.0-et.xpi 534623 BLAKE2B e6d4273bc2a9dd6c79bc387dbcda108f7eb59fd56c2c3f28f2ebb5d6f10d606fe43c467d630518a68b5352a33391f6f62e41767681ba91177724027f312cae02 SHA512 4f7b72ae3e9331dae4686f7bbd9c1bb6ba6f69a470bee8d07ba30c2ef39d5415c3718428948d3ad8d5b71eb90874fbf2f448894f62423356de93ef5938a00b71 +DIST firefox-110.0-eu.xpi 561986 BLAKE2B caf5cc92d7e0a69a5eb58b13ac12872da9970b43691209a0b9cc2e05f854918a9d98c316f3cd7658b11ee905884357d28557f1ff1589cfd87fdc87f22ff9b512 SHA512 d0d8767120e9c77baf159527ed6715401d05f7f7db0db99b3a740446cb505e2d7f540f0206d0829b641a5c0bf8f18ba25cd511776be13c700dc1b2de5612f58d +DIST firefox-110.0-fa.xpi 571857 BLAKE2B 8c1668ce7d05b1e3040a031c477fcf8dfee09626637200c2721f6feff0ae991035429107cf1080cbb5de68f4e041401cefa0281f9d66c459298bbbfbcbe64c79 SHA512 f4891f85865a0d696a38bfd7826b8247a5e459bfda2a5fdab08b07227e2cd29de2f074cf160eb74e5a0fad203637adb48b290054b134ff945cbae6a6309952dd +DIST firefox-110.0-ff.xpi 474130 BLAKE2B 40d94429594feeb285f3f964274b6f27e066576536e3e4a497b59f89838a44f7042c7a6e9521ae65ba9d97a8cedc512f3c880983f34d898aeb4d7a03623b6a57 SHA512 548936edbf5de453d2cccf0bd78137d7a888e68bd2b5c7e827ea0fc4620eefba968e7559ede9ecf9403cd47bea7a5bca4b72a61a37603164a4850a39d2c2b97c +DIST firefox-110.0-fi.xpi 557017 BLAKE2B 432a990ed5ef865dc027f77ea2a559e7edfec074b06b95a3d9f80c035f16d24b499984daba1e0b0c076abd71447f0c6b7aeb951ee1837b6ee776fb7a2f771432 SHA512 cdb8426655547bfce0aad790194df29205b39e39772a25a71ce7e8e7ee16f1e66c0420497628f92eddcd43594b18caaf76d604e5d5e249a2a65ed410cc9f07e8 +DIST firefox-110.0-fr.xpi 584583 BLAKE2B 61b4e7a87ebd3e5e162dc2a51b92e59d0368d07040d7f99db0486076e454962934780426891c743022c3789f1f00f929a03fa21e0865807a04fd077ffdb435bd SHA512 8ae58f1c156ca8fad10fa2036f0ea9e9611d8b8f23ea1168be927a792fecb25f77dd415ef2357f6454bf57f4fa6a8ed31c455773ef9f508f0f449b4ba87d505c +DIST firefox-110.0-fy-NL.xpi 568575 BLAKE2B 40e7c348e3571b8d5db22643a3c287e1c6817b13046d7dfb53e9220ff921855ccaa011b953c558d724afb4d96e35a387041c885b338e8390abbdbeebb1293ed8 SHA512 3a3bfb996ceda950f1b1a607604685ce46cbe830993a804e0ada13824a62498456579f774fb8de1696a2f4cfeb9ae6d1c52e2e873c0c5859e518e01061d55e41 +DIST firefox-110.0-ga-IE.xpi 470627 BLAKE2B 8967b9aa8335e2e73b23315535c917af9b42fa1964cc3fe7f0ff97a6e14f24f6ba3588b966690b5cdcbc786d6dcaf9602ba7b0121fdb3ab732cdfeb8144cd1b2 SHA512 90807f4517987a2fd4dbb718050fcf84a9605195a30f83b8f6a4d9a82a8bc2f91f9507ee95776163e319e0c8d63a423b307dbfb8702f815a128ec04497ea9d11 +DIST firefox-110.0-gd.xpi 548691 BLAKE2B da79abad7e946b625f43dedaa15251e127bb8d0df3b1f2739e650433ed9e94d5d05c058b5592471c1029d630872d751a1532cbf9e8280bd829ce6ddd9d1f864e SHA512 43bb57e0001dc812089bedaea012c3d8bdfbc3aac2201a2237df6d93518cd07c840e0360295d883e839549515402e612b07cdf3877c3ff656434da399fa313bb +DIST firefox-110.0-gl.xpi 543495 BLAKE2B eaeb21bea907e3a21b220fe6f826578763fd9e3a0947fe10207363f664c97c221dad3d6f5048db3c3241cdf91990a08840d944f1bd127bd97e9913e1925b6745 SHA512 ce58c7c4c693bbd1e01776e026570d7e7c3d0a0131fb0efb62fc4b9ee6dd05a1c4d4093a1c81b1b54745c5f2bcb7f6e38bb65d42f150eb4bae5e0710e2c1681e +DIST firefox-110.0-gn.xpi 583839 BLAKE2B fc6c182df9a7efef6697a78cd46f244832d03a51a0c08e19a5b6b4dcb39684225eca68285f7568be118cdc222c1c763c57d12d7067e9557e85d9fdfa65fada9c SHA512 e704ff2d2826bc50a78a77e494bfb4d28ef69f7c22bc8806e26a38e99280636088c54a830305870f6b9d9b19e937259d848aeea4e8469a1c7914c2a8a3eab861 +DIST firefox-110.0-gu-IN.xpi 528992 BLAKE2B 95d7f9338ddd582f335802786d67e24043ad3deaf1e5f9ee44bfa2ddc25fcb317b3b7cbee7b0b71a61a2ad253eb07584d07e4f6ae2ff20590e8f6b214374aa0e SHA512 160734698698542d1bcfa1dba91cb412856b71aaa6d4be86c6aa1a2d16c204f024043eff87ff5d3eaab70cecc314bf08677f8621ba92e1a5eead0e051066b0a3 +DIST firefox-110.0-he.xpi 578897 BLAKE2B 00720a042b705d3b63ec5f4335c4f2bf91721fa60ea6b2d74d5dc6c67b05fa32bab3bdb50c32aaec282d1f972ce638780619b4d399781b8710853fd7cab10177 SHA512 4d8eaf8643bdd349dbb60cffb77b53a946f0096bd7b9cbd2d78fca6bd804d7c5b0d408fb1453d3eb8077b66046e0db8eb4f62819c3e59fa76ec00c5b91246ec4 +DIST firefox-110.0-hi-IN.xpi 557869 BLAKE2B f576c56a0ada87ca0cef14727baaa84ef2948c2dd0b4d5cb6a29f0e24ed8bf962082086831b6566785a99aceff48c7d396850d3ecc72ce303c4e4cae0869759c SHA512 35c6321df40564e047168f6b4acaa56399f3353640c447f652e205fa5cea63d57e8eacce438921dd38f9c2404950f193c5adda836152cd4d5155bbde92c5af58 +DIST firefox-110.0-hr.xpi 547283 BLAKE2B ae536e5169251450928e28de89ad1e1e86ac05c8853742e2ae49d5490d031a7a886aa7b1c666baecdae7c39ecbf82d5ad92ad43bb3d788404fc9f065b941a50c SHA512 a7a6a26aefb35bdd045ee60c1c53531985797d7e9c0365035253923b3382cc71b03ce1364a9ba7f6dc02c43440a7d721eef223b655855950f38df13eaa7bd7ce +DIST firefox-110.0-hsb.xpi 588114 BLAKE2B 915bc6675e101232b22178c426fefb964838e22eefedfa412edd3bae362c4128aff43b5272fe69246b88c8be15f0cc8e95d702751e2065fb5ea21295ac3b7d00 SHA512 8e68cb9f8eb86e4a9d64f6f24ed4c9ff8eb5d2cf74bf28536c60eb5afbc57a9dab8a74286800bfed5aab051a6b9999eee32446b3c38327da3486365234f61a3e +DIST firefox-110.0-hu.xpi 593285 BLAKE2B 9e92164a544c804d1b6e27de604f523abb372b561772d7e2a45ec553f32e5e3a59f69c9d6c64ee76cd14336ef4d0c7def2b6ae4ff1a5423710d0a514aff8ce1b SHA512 caf57941e3ac5e762e46c7bf66878a20336f84833d99cc099fa0c4353d16ae51ea691ba950f242ed470d1ee944c0272bf713c0905c151c1c2d7850c440b4c7a0 +DIST firefox-110.0-hy-AM.xpi 595634 BLAKE2B 6bc1452ad3bd5b2712f518bef45af0761fa8f2911e3612f35e66ccab57011d02324805e9812b26e38343720e6452019137a85a5b131d36ff8607c1f9bb3dd75c SHA512 c5ea392c4b26299ef4d275e7170086a0461f662cbd002c39b26aae2b646c5dfa36e021f8dbb317da22299fc23985d7a694f65dca7e7de4e5f86ca5999294d747 +DIST firefox-110.0-ia.xpi 556994 BLAKE2B 7a6ba1aae7e6731a532156df5f9d6eb97ecdce3d348a4d8d5c626c509243224694af7d53a87f447d70d7ac1393441a191da74823c617457db2cdaaa854492cdc SHA512 9b2fb33214356ad28860fe64abf8f559387d5acfab964318d7cdef848011768c6a86a831db45ad1fd6a217b328bc0c0f17fd0ebb7e59951769045c259236005d +DIST firefox-110.0-id.xpi 553923 BLAKE2B d7254c5d9730ce142dbc7ce976111665681034a843fd2864984220d2f5bcdbc53e51bea4bb419ec964a2ccf764a7ef16cb5f9a42ff68c89feac729843bffe64b SHA512 0d16874ab4c7c45efc452f718c3477fe8b90f823c5386d0a5366873f6051a2831a90bd7e4117291343909d1c0a584138f12bcf2b464d8f975a14148e87ab2457 +DIST firefox-110.0-is.xpi 565689 BLAKE2B 68d217e933f5f77066b005a8300fdc671396f3b1434831a615ba580cf5074e3aba9825c87cbb6f0c06f35b77c5cbc39d307b31048ca9160d38404e2383302882 SHA512 5a2ca0542882bb972c1ec83c3d8463203ab7dd2dffcdf5f9233f5a3e89ecafcb508a920eaf145d4ddd0b515ed322869735ce5c485a92cc344564aaba92fae9cd +DIST firefox-110.0-it.xpi 496397 BLAKE2B 1b1c19190b618aab93546934bc59862fbd7e1c0c52dd6f428d62caeb470e8be66ec8c07ff70576f9ed6823749ad868d131884795309778fa1fac6798bd9694d5 SHA512 8d24a64c78058f4cc1c198e5a42ef18ca3c2f68d4cc3cb7a5e0ccdbfa8699a48c792bf273e32a30a5fe60d3470b7ac5c15beb347fc3c373bcc39b1a56068f272 +DIST firefox-110.0-ja.xpi 618089 BLAKE2B c432fd7ef2ee4d3c08a8db96abb1ec4c298b9f0a88db7cd8dff9b1e260ffef0b4658f2bd42a77ca1625e40308394c311b6179bd42980d6dae5080139c037b0b3 SHA512 86c82daffd879986c031a5683c0660f6f4d6e6dbbd1d74f34928e8bb18b1ae3eb8da6b078df7689454051b21488e5345308e8d853eb630c4475d0f7e76ec10bc +DIST firefox-110.0-ka.xpi 622407 BLAKE2B b0d570b5ff448d9b01d8bc7afad993d4c8abb2bf786d94cab8f38a4c13f6f5af015ee43a748ae5789f2a9c3005528085f75c9b1f90328464fc1368e90f9f1666 SHA512 8981ac78576c6266c6bd6e56b605b05e643c0407dcfe9e70fd028b22e0499948c0a33a49d2f71479a5fd5efde5824b3411e24b53381e6d41e466ee6ae333a381 +DIST firefox-110.0-kab.xpi 574108 BLAKE2B 6f27d4becbeda651c9246b57da3c4a1a3cab8015cde0b2b1bd072b696ddac568d683ab2ebc2144df1007db357ef7ac9ea288eed9df3e02036d522fb0b642307d SHA512 509d2b57a499cf6ff71a002880f5dddc155f13c1827f476c5300acb3bc9b708f732f306dea310f55c4102f948cfd13cedb4b6674a648c821eee5d497968974e8 +DIST firefox-110.0-kk.xpi 645400 BLAKE2B 5e4ffe1b00cae7d40cb151ac456d412c6260205823855b71dcfc0d1290cf3a08650cd70eae970be8bf38ff24dc961a3602437894fa90adffde0788ae775e1a33 SHA512 96093b80364383b146e4f007764a6e7297f6a682b9cb3d39648cfa4908fe8d0e078eb6509281b5d36ec9cbd240f1511196626e9afc2cc4140aa77ef6e723e13d +DIST firefox-110.0-km.xpi 531028 BLAKE2B 02aa09b3f699a7d95225cd98cf41c25ebac9d7e03c3c8e07c5a897bd76e5eafb7818d60ac0e491e07497fa477ab136087ecfdbaaa585a7c19dbbb21030ab9669 SHA512 15bf9b089072e7e349d2af723c3c81d1221cd471a58850daeb8f4ccd02161d7a74dfeaf20774a5a2c19c8be14208d3cbd1c022f8689aac47aa0504aced1d3a4f +DIST firefox-110.0-kn.xpi 496274 BLAKE2B 0adddf55f55398fb83389adc853fdcec452881e8aa47f5a5802050ed551d7f020d0baf14e632fe6d8e777fed9d273f71e2aaf43d7810893cc718857d042a1df4 SHA512 6eb2aac8a2c3b8f8ab40a4a74713b32f29adf5c91a92e8e78b7ce744844fd9b2dbb57c0c2bed3afecd3dfcbbbb788d01c7b655996a7d0fa074674bdb176a7c04 +DIST firefox-110.0-ko.xpi 605670 BLAKE2B 06dd5381632383512f800dd748855c64ce8dbf002e0ae4c927dda237fb37bb9fe8d448ca6281b09fa6eb7b7e4b92dfbd8c20467f5768dde2bc5354eeea23b936 SHA512 622868c5ca40b59cc840b0ca22299e591a222235a2a248fa9f7cea9250e380333b5999ceb5a1533a434e4a7a48dcb2eb7609f5b26ad09e6c19423a294c156f76 +DIST firefox-110.0-lij.xpi 471134 BLAKE2B 14931b1a928ac8e5dc018c1de89edd69403c64ecd1a9b132ea2f7ff377390bb3975d6bd00e5b362a5409cbf4c59ee5c29209d6a84d0769914b78f800a8e93347 SHA512 593b6800a2d2f61738642e456859709b046febee2a0f952bd4f37443182ba04647ea8b5bd1968dae885f4f1e877194730f20d2bc54f61f14c1cdace0db495342 +DIST firefox-110.0-lt.xpi 566265 BLAKE2B 579ef42efe8e0a55c5e791761d5f3aa912970a2b39e7e9af6f9a04339d4a52fe1c456b182300955b3437b62af88a17cf2e835b5413cf86a8eb2026dae4dcbb3f SHA512 ad75acd8f469177439693bf530cd196eb074726baddd47e9e34272ca1e61dd3d6f4c178a4f323b24deea720f652a38595aa29a90785c58de1af8caf9559c472c +DIST firefox-110.0-lv.xpi 470789 BLAKE2B 3b3cc7e00c4e12614026fab54d4d7d8288bde83c0fa6acc91b4deb7f5f1fb407ff37637a132c4d0dd225f098a9824e82bf9b26e27e09a5d9df666a3b369fdb45 SHA512 66625b6480d07ec64fef67aec2b65dad4b6f95ba5e763d15debccb2069e624cdfc563927681239acd60b3aa290f589ef1fe27ce99c4add8de349d2e3a6fc1733 +DIST firefox-110.0-mk.xpi 484129 BLAKE2B 53fd9f68d04a380d5bd70c688a4e95100a56c267f3f06381c0b1d1945fb7123d61ef0b62e9cc30f47fb8eccc1c0292b702ccb12ac24197e2fbca09894d6eb072 SHA512 9836ab4f73715fb953d9d85834518fd562ad966de4a0a431d524c6e2c2f4546349f196018d95c63f1020053795c8c8530bf0245157029228353275a8b0daeaf0 +DIST firefox-110.0-mr.xpi 531174 BLAKE2B befe28c691c5d49a7b9bdeb770c7b72574feb63114e28ab68149615502c2a7bbbe4917c0d2391becf06b10b3b21df527f8927caddf6c879a68c7a1aa23802d53 SHA512 31ef73a40e9b48be592ab772fcbcbd72586afb37dc11cb663c11522ff49f76f050edb2ebd8a12cd0078fa9adbcd8740ad22b50dfc2f9540ef62c9de3fe6c4373 +DIST firefox-110.0-ms.xpi 450482 BLAKE2B 9b0392389b3fe2fe74e82c309474fe023fcb736e9ef4d5e1935dbd435b0b03c36d7a63a930eafc5127de30d6a5e134cda6dd81908a5f3a8fa643595990381807 SHA512 1c32b4ae9bd90749f5a7cd205c50dc4e5655c27ce9ef14f4b69ca23094c3d035dfa286ea89063411374c21c97eb0c61e4eb4b34ba91f6a8d2ea223422552631b +DIST firefox-110.0-my.xpi 516589 BLAKE2B b61c4f3092b390c0f14973a851c9fd05bf62a889bf281bde606150d14d10252d9a9c170064c1acac5272eafd07e7e603d84a393ab8b144bc13d5e8201811686b SHA512 fc168f27f9b0f016cdf7d61489389f665a09386a2da10d585903028806a6f1d3303a78ce371bd9b468b90f9cf4e964b8f3188b30c7162cbe7297cad3dc170ac2 +DIST firefox-110.0-nb-NO.xpi 554917 BLAKE2B b18a4e4a753d87abf27fd059b2370d61b6c1532187b7c4ca601b79f434d2c0b9a835f7b75e591dbc6c738920d4f8bc20ae9f41842c85823da8c110422626cc1d SHA512 6a2604ac55899cd01ce454e89f9338e6c187d50195eec619252b69213958b9e96753e563b2b5e997e38141588e869cdf94a41b4534dea62e99248c502cf189e2 +DIST firefox-110.0-ne-NP.xpi 484686 BLAKE2B 0629d2861214f19bf73c6717926b01044121900e84e0acd4d576b7478607e2500c1e753029e2f1338d428396a9e3094cbdcb3dc30cee7c42e6355dcba06d54d8 SHA512 7b2582d6308bd5bd9947587c3e7f07378338117b3b335fb67e99dfc25c8853bba3bf60a9e4fcdbc214c898ab110e4db4073a249bf411ef7eb6f561885d9ec160 +DIST firefox-110.0-nl.xpi 562660 BLAKE2B 4b5fb38b7211d30fc6fc0a2677aa893841dc7afdc326bf3311ecdbd45f6d439b2dc926c9bc2917cbafc4bdc727281a112e7a154895cba91fd0a543d00b4d0f71 SHA512 a216fa4b955eeb7f52095aab2823a4b7572f65ad149b07135d2a3032de3499fc1ed9df789ab0d0d439b7d42f8cd1fc1681c1325a68175e9092d3a91925f753fa +DIST firefox-110.0-nn-NO.xpi 556384 BLAKE2B 45479e8668707db783fc3ec771e0c1eb8d69f432a193eb2f4704b922f77c328de651e723595c4f65cea70d0b8ce2def9635f7c279bf0f19e72b1025e69a10d5d SHA512 4eca8d94c99ee46881368a18a3f0d6ea6d2859bc18ec1c448efcad7d822059b9c24927d3f6053045fbfb5a61c3c6b9959b4c8dff8a8fd3560ab485223ac4fdd6 +DIST firefox-110.0-oc.xpi 579331 BLAKE2B d9dccc80f1671f232004645e37eaf22b99b1d5677b374351db326523c59391decba8b73a45101dc6e198a9ea091c468d1830a6ba496edd25d30b620002bc75f0 SHA512 cc9c3c169c5dc628ca401b8c69142f471b6e4de893f1879782ceacc00af3754872084c0f20666fb81e01d4f2aebfe8b3fa8bf80dd42d2b72d116fc02fb27afdd +DIST firefox-110.0-pa-IN.xpi 636181 BLAKE2B aa5873076ba838266e36075c07e0ede752d1c606f6dcfa903200ffe6ecf86bed753068b22f5fc7323045322822ad4d84f6c1df0c5979fd864167b8434cb6ab40 SHA512 df68e1085d7eeff7d07a9225a87830d7d0b5b25e46f58d5d07c43cd79aca55d33435a1f7eef5f11598077c7824c90ebe682a514fe05fd242f120dc8706a4ac14 +DIST firefox-110.0-pl.xpi 586002 BLAKE2B a34f1a32154efa6c60788ff0b2575a77ab1af5d3eb951de9cc16e7db67ed95ac2947e57c1e2a2321570363d789b9c4944cfc542a78d5ac304a8774bb66db7492 SHA512 d0e26248162c6e78686324886e2eb74e9c0c532a17647b89b924fe05c8ffe1810f57488d8bd5985773f020e7d30ac3be3a61de4e0f284617d6c85f028060c167 +DIST firefox-110.0-pt-BR.xpi 567190 BLAKE2B 756c4ba96e98977430df84b4234a5ae5e81c1d4bf4f4d0eb0d78734c483b1253a7d44d03eda63eb2a615b5def5a0e53971d47a7588203d1972a177e464888510 SHA512 5abd2d65020569f73dd4f6992d978ad47db88a4c34cbc0f4f5b045ee13762c212c8d83b51c324bf3b00a442a4b747fdf9386fe906cfb9b990de9df431d25c360 +DIST firefox-110.0-pt-PT.xpi 572576 BLAKE2B b879aa5203f4003da0402c855e03adcd2840f89ba4e8d1ce2ac0f904480d922b11cb397d077a3548b04ce5d70bd042f61bc67fa499f046d1cb7416823ed7a224 SHA512 0157a187e53bf91f8c286182320403d4ea544781818f65cad2c11ed4a226e43e0b276938c1788c37c85da587653302d52d2483410b60e7849e7284abf2585ec5 +DIST firefox-110.0-rm.xpi 560554 BLAKE2B 80cb1c3d4e74266d1a2441bd976fddec11ec08049bb2ee2e72523c688645e46b1f07748630407cd4760248e74d72a15332456411c82dd65f3719239dc349fe4b SHA512 40510103ec11577cc6645349c74f6124d5e1509594cea3dc627c0d0e26829e5917fce4e58ab3f43780db728183eae8dfc2fa18efb954e1810cb1bf5d350ad30a +DIST firefox-110.0-ro.xpi 533699 BLAKE2B ebaa14f4536ee9463b7dde55191b6876430e83a185b16f2b7f4f727627581bb18e9e76dae378bb7083eca3e3b7e066881d9c8489c9feb89717ea978352c04f57 SHA512 8c15a0d44c06878e2d66bdfca4873e822fd90cc76550398139aabc984739e7028ae10f228e450eef111b2c10342cf9965dcbfa5ab0ed5fa8f3a7bd5f686c56f3 +DIST firefox-110.0-ru.xpi 657165 BLAKE2B fce5f4da630f5d7eea92c6cebf32225f774d335eeb0997e7c70ee4daea6b754811cf9edea4a3e4d99a16e68cca8be2fbd6ff23b6f9e24d168018f9913046c786 SHA512 1e78f73b9ee117b97b138bb9ed528fdb46c5a95a945e4f13c21b19fff822d1ddc3cd6c786d9f3c982e1063f7166e981a36fb635f19fc1e08f0d908094a308ccc +DIST firefox-110.0-sco.xpi 505319 BLAKE2B ed099f2d726cd29e839c3254e0a577856a283bcda249cf77ccf07d8c489ac2e77b75621a03a879d29babaf9d3e7b0310f5e95822a7d879ea1149524ba8d33031 SHA512 4b6452e16a3e61d71bf8261049f114fe502c1894a71252aa125a1d72a07105bf6606c38c7700af1f6a2bfecd1833602c180d875c18efb4ac7f36c48a58130057 +DIST firefox-110.0-si.xpi 574128 BLAKE2B 45bdfbfaa48b91f206426dd435a67f684495dd59d4f5b0acfc9bc5e0be76d98995e8ebe65ef1c30a52af691bf281409dff1b92e59718ee643fd65472d9814b2a SHA512 e1dd3a00d641355d3329888d8408920e012d6ab804ac63a4dd6b72eb2a3b1a34181b35239143c0a85734d803901dbca3b1e8c2d97a0b9ed9e8e5d876c981b4c1 +DIST firefox-110.0-sk.xpi 593384 BLAKE2B dd90383719835bda107c557914a30b8728499111168cc34efd061b18b1db24bcf56d9527750a5e2d34bc0fc88dfe971830e56443afde3fecb8a8dc83e6e252c4 SHA512 9ee29a38da1b668ecf56990dfa36103206300cdb2f39718aa698b24bcb6218608045d76797f5ad2b60367e2577dcc2655f6d008ebd4a4109b27cbe46a719a491 +DIST firefox-110.0-sl.xpi 566383 BLAKE2B acd9b56190bd23c23188dca4e78c0618744a9133e7b72a51bb91776e2870d389d1c7eb0d848e78fe143a45ee25afc38100bcc852ffbf924f043434a3c1922013 SHA512 dade34435b74e7b0dc57d5259c5ae0be7cfc40819f091bd27049babec604336c58de8e3b92c289e211a986c7cbcdc32f9f198c0ce9f456017715ceb69903857e +DIST firefox-110.0-son.xpi 422459 BLAKE2B 06429dfdd0cb765246050b9126a03eb68fd799f5b45d9ff572649818204010e35ea5b60b85bef8626cf85f5c5bcb358f3834e02a07255585ca719ce1d4fcca7b SHA512 01c4f1bfaea5a2d3347fa4e41e9fe48a2cfb60a373308ffa229d317508cc6098cb34e0771db9baef81f70bf79bbca356f21cc94800d4357fe44b6cfaf0961630 +DIST firefox-110.0-sq.xpi 581630 BLAKE2B 44251912393f6db9da34f4a77057c47bc3474253aa11c619689cb46d7735eeed550ac787757118060b1b8ae8bf0358299193bd2bd4d1c7f84f55180cc92ca65d SHA512 951191be18300729014e07171a3ea10a205d7092c5f05de6fd8ce219c1c5b5d960a74247138387ceea766776cd48070dcbaf325fc9e543148967016d4063f57a +DIST firefox-110.0-sr.xpi 621091 BLAKE2B 059e4fbce708f53ac97f32ff812cb914ec4dc03ea96cdbe0382af368f0471e8ba55ddd6189ad4f9ee70314e21edafb4a256ef22d9c1fb75e9968f7f473bce043 SHA512 e56ad7ea8b2c73950e9a60555e3957e4bc0b8c6327af7e91ac7e9cb464e83fdde244f98cc39deced84e543496f4a003448df4fbc7c84584b760b5f829260778c +DIST firefox-110.0-sv-SE.xpi 566320 BLAKE2B b2153a8ccdefaef91303226371c19d541e161d5f7007d6243eb36c0351b29da96ad706008bd604fc36d6649d641b0b5fd891d4f78d2d3d8ba3dcce1456efa48f SHA512 b3909a001a6c8bf3c0afc8551fffacf252b2c66defc5db7ed90e7ef59391378d3716c45d5fb3ee82c6c23ca766a43ce8c3b4e29667e824b627cb7a03fa759e1c +DIST firefox-110.0-szl.xpi 518015 BLAKE2B 1d792f957eae4b6e8546565203fef42af1f4fa65655dd99d1676e7227970dec5f55032a127a22891825cefaa894c923ef0c98e621de9df4a8d3c55646762eaca SHA512 972fc4f47f7e25f5916001876341114a592d9b79067dea45a5b3862063c99fce6842dbd1008d3bd1b080e4f73215248e1b8107d8a96ba1a9fc9e7d5aa0edf277 +DIST firefox-110.0-ta.xpi 508561 BLAKE2B 19e1d1149723dc6c95116a53e680558bacefcd05cd9f54854472c40d8f1945bd1a696b4d43ca266afb7e500f2eeb34af95ffe87bff48c4a9e1b6f2f058f97703 SHA512 eff8a1589116f2a25596c978e4ee3b4e9a3210c300afce7d89a02577ab55586290af7904bc0ee61e25a80946e088a95f9599182cf94185b58e6cc6146a6f8041 +DIST firefox-110.0-te.xpi 556278 BLAKE2B 1913398c2040703c1e67500a670f07c6782b6ac24955ccb2c0ea9d36f83d5630e940a00df7c44f200564881c535bbb3293e76c2cbe6a984eb708675b4e85d040 SHA512 65e2ae14f586f62335dbd9dbf9154db263c0072f4fff83bdb817439ca369a4a88b58ecd5c1fdf9e45f550d9e9e5251714df60d2e466529d180ab3250664f1353 +DIST firefox-110.0-th.xpi 636762 BLAKE2B 1d10e91150cb7d1855c0d3f9549c0749a817588fb315da6eb8d67a8a3489cad3537c5f020b7177a8da50b8bef284c2c531056d623ac101db15e1816af26b4520 SHA512 2e5f32659f2315438c3a9fe8937660acac03d9a8f6a38aa2041609b4332e331236f27154a1a059d57ac3db138b80c5818ae1d51986a8cd6c5d8364962b73c89b +DIST firefox-110.0-tl.xpi 523706 BLAKE2B a5196d21433927862cd2a0b6588f4c7205f2dba7587a3a22e5fc039525686ea446ec058cd4883e1e0928479c8a4c5136c3a9051eaca5cf7c7c506d2ccdb62c11 SHA512 9e535e9a6dc4848ea18a8b491230206b00415582c3e95a2528a49d1206b248a32951c34a34921aad2935579c48f0406041bb3bc2b90ba21e4616930111ea9386 +DIST firefox-110.0-tr.xpi 577877 BLAKE2B 4839c6306a862dc2a763d36ee5f61b06fe100478391702139b23468979908efcf48d8428fe3730d435e022962afee602ea6f0d7f4b907b9e14dd40f8636a266f SHA512 7a2d12da7495cb5b66309e148749c5383de0cdb310bd0af08ec606a6250306e8d11568bb02f229e11898281918f9463e282494f08c36af1d7016035b920f5d0e +DIST firefox-110.0-trs.xpi 487275 BLAKE2B f5a3e419fda8219b80cab13ddb3fe0a65b2a406b634421a6e1471e2a52f42a1be97c46d9e2f8b33a4a7b311097f9f181c24a90ef52ba4a0778e97d5cfee3b0cb SHA512 ed6165deef4012e656f1b51dc1345950c6adaccd67c89313252b2e831389ee8cf9bb52dd480fcfbd947fea2e8888bc903ec3f2e8a4e2ec91497029c94928fdea +DIST firefox-110.0-uk.xpi 650249 BLAKE2B 3052ee1d78d32d6582bce51704046c042d6aaad2f74f5a7f972020876c183352fd167e4d29b01f47c600db8b1ba62714a8cdeb6db62bcb93fda0aa2335fa3990 SHA512 20b618f26b14ad85163a479b8f4c4acbb54b811132393bc673c9ad622870cd2d2086743f9fed4a434e215bbb64ede547ac29056e98f0313f1b4e0a374c85f5de +DIST firefox-110.0-ur.xpi 558068 BLAKE2B e2cfb6e0e808cad232d757d6fcaa9e963a94a431ee1bf6ed94910fbdbc509288fc00b12059800aa51347d544166a3a15291e16a820f8b74b9bdcafdc339619eb SHA512 6b2729802f8c6e9026b05ee6bfcef4642055dba9f00e7f01ab2ad59070466efd3fb90d927de90b2150b0da658180a89b73e50e40b6cc6acfe4f7248b2c86f4a3 +DIST firefox-110.0-uz.xpi 478753 BLAKE2B 5b41080753c51f446982b5cc3d44a65ae05661a53eb1671b34ab9f13d06cebad37d281f4f842b4eccb1f6cd846ac3360862c3d86a3e0fec8402aff54b194c14a SHA512 e8d14efa69dd6e584b6e58fd459cd48536524a863e6178925b7e2301e282614e16ed77edaacb5c7adf8bb60a8031cd50b11921fd98f3a3b649abb66e12f2e154 +DIST firefox-110.0-vi.xpi 600468 BLAKE2B 0e43fb4c8c3058754f29bbe1ee086247c6a66eeff07f2cf18db5802187d3ad324d34ef75699b8bb3708e2b32b45bc079b1452ea3cc77adcc83e43f78515e1900 SHA512 478b09fe0fbdf4dafe6eda7c845d0765586cfaf1761d899f799d5ed6100ae2b166c3cc757724e7b0424531ec3501a1e8eeb8599359a2ec722813179b43fb1fb8 +DIST firefox-110.0-xh.xpi 416885 BLAKE2B e04de3e3f8dfdd2479af336d7ee0159d60b4c1684a56715012b9e94a813bb99ef40a5600f366b2994a7219bbfeb8610da2e049491fe422900e85a2e06bdeb45a SHA512 336575462198c4800bc39508ba2cddab314c22265ec423e6155df0061b45daad3ba07671109a95a76602393e2b5da473029e671d21beb417dfec188e1fb391ca +DIST firefox-110.0-zh-CN.xpi 599820 BLAKE2B e883807740ae15d8fbafb5858e65ebf2053b032032444362cf3222dfda4e7893c0f0f12c5a1748b510953226d95df3a7f21889a61fa1f43e7c56560412d9e53f SHA512 324d8a3834ce9ecac7fcf7af4a8db5be221c2a6d4731822cf3c54ecb3ca7dc398ea8288f365c7cf8f8233bfe714c3c232c4e8d01d3b2b705cd5c726304d0a817 +DIST firefox-110.0-zh-TW.xpi 602195 BLAKE2B a6d1fec05b52131642b7d4a1cb7988e64bcaf398b813bf86c3a2adc170ec350e27b1ddf1d0b7a4e5fc1a5d2b139dc63d65dc9f48e7ebdeaebb451883ce456932 SHA512 201892c437d07daec97365c4b51e1e686677ffc25965537e4fbe4764e9ad5f04029d557cfb1173c110b230979f4708fe6d0ad43b70517aa56a6fd95b7d72c673 +DIST firefox-110.0.source.tar.xz 499042592 BLAKE2B aae3b34f1642ddab5f0fcd104b4168c9d9856a1bbbc197ff3c8e1bbae0c8d1c033db6e974e10b5352f4457e890c50f1f9d5099a6b7200c3474b71ac7e6317113 SHA512 52a37a8f59a694c4790c0a14cd81fba9e2c982f64e00191afd0897c39ae1d5e25f24cff16f74d0a0b5cdf8e93a9a0974b6042b0de605cf1a533ef4e6a3c0dcf9 EBUILD firefox-102.7.0-r1.ebuild 36567 BLAKE2B 4f6cd3a520b7187bf12a13544394d895586df660ea33a0609cb89b9aa2ef8007ecb3e635de7a88f93ae20db0085a187ea12fee8f8418644d527ae6f9a62cd393 SHA512 eeeb7578cea264edc8221527374a46f29fb04f9b56685f5448c19bc27325e2ffc306e1ed09a048360fe32532fc1b2cb1ab20c9f2be7379130247fb8acab73e52 EBUILD firefox-109.0.1-r1.ebuild 39974 BLAKE2B d3d285793ac31a3ad7dfca6634c6888d7f5380916b4b2c079b43f55173e9957ae42536919698bf9b5db93c312b858b37daba84cc607681ab45b91a496c573fa5 SHA512 cf50f7e383fbefab4796bfb0b6ca2e06bdc37fc947e1fa1f512f9351756e8b10125e14cb56bf45bc7380aa9ef8168f6511071ef33a88a1b9ea0a89eec07d1fd1 +EBUILD firefox-110.0.ebuild 39733 BLAKE2B bb325affa05cfdb07d6f0be7ae3ded2bafcc7a70252a8b57191e5d6e88f4b809dcdc0102c26456b14c35803717f3c9f5ca4e56bca7a9a31179608432b73ce3f0 SHA512 08336cff722a7eba353cabd6b7f1c5b1a0306f57fffe5593548eedbfa38ec115b9d1f5081fc45b1fd2de52f9d1516a98c82a229126419cc87c45974032c79dee MISC metadata.xml 2219 BLAKE2B 064f486eecd2a66ef4c9cccef46803f877039bf16bc40b699a48e28e04e816d0ad434ce65ae2e056e1a4126a67a7dd7eff16040276159c1f5aa8966b1c0d7b6c SHA512 522b09ffc2857553e240b1e7c82c11ccc281dd87c720c6292ec9314b91319e0a55ca2838f17e878f5c1e58e4f22caa1b0c3b90506b65b350beff06f3f397d897 diff --git a/www-client/firefox/firefox-110.0.ebuild b/www-client/firefox/firefox-110.0.ebuild new file mode 100644 index 000000000000..abeb9294463e --- /dev/null +++ b/www-client/firefox/firefox-110.0.ebuild @@ -0,0 +1,1366 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-110-patches-01j.tar.xz" + +LLVM_MAX_SLOT=15 + +PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="manual" + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \ + llvm multiprocessing pax-utils python-any-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,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" + +DESCRIPTION="Firefox Web Browser" +HOMEPAGE="https://www.mozilla.com/firefox" + +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" + +SLOT="rapid" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" + +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" +IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp" +IUSE+=" wayland wifi +X" + +# Firefox-only IUSE +IUSE+=" geckodriver +gmp-autoupdate screencast" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( lto ) + wifi? ( dbus )" + +# Firefox-only REQUIRED_USE flags +REQUIRED_USE+=" screencast? ( wayland )" + +FF_ONLY_DEPEND="!www-client/firefox:0 + !www-client/firefox:esr + screencast? ( media-video/pipewire:= ) + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + sys-devel/clang:15 + sys-devel/llvm:15 + clang? ( + || ( + sys-devel/lld:15 + sys-devel/mold + ) + virtual/rust:0/llvm-15 + pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] ) + ) + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.24.3 + net-libs/nodejs + virtual/pkgconfig + !clang? ( >=virtual/rust-1.65 ) + 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 + ) + wayland? ( + >=gui-libs/wlroots-0.15.1-r1[tinywl] + x11-misc/xkeyboard-config + ) + )" +COMMON_DEPEND="${FF_ONLY_DEPEND} + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/expat + dev-libs/glib:2 + dev-libs/libffi:= + >=dev-libs/nss-3.87 + >=dev-libs/nspr-4.35 + media-libs/alsa-lib + media-libs/fontconfig + media-libs/freetype + media-libs/mesa + media-video/ffmpeg + sys-libs/zlib + virtual/freedesktop-icon-theme + x11-libs/cairo + x11-libs/gdk-pixbuf + x11-libs/pango + x11-libs/pixman + dbus? ( + dev-libs/dbus-glib + 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 ) + screencast? ( media-video/pipewire:= ) + 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-71.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= ) + wayland? ( + >=media-libs/libepoxy-1.5.10-r1 + x11-libs/gtk+:3[wayland] + x11-libs/libdrm + x11-libs/libxkbcommon[wayland] + ) + wifi? ( + kernel_linux? ( + dev-libs/dbus-glib + net-misc/networkmanager + sys-apps/dbus + ) + ) + X? ( + virtual/opengl + x11-libs/cairo[X] + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libxkbcommon[X] + x11-libs/libXrandr + x11-libs/libXtst + x11-libs/libxcb:= + )" +RDEPEND="${COMMON_DEPEND} + jack? ( virtual/jack ) + openh264? ( media-libs/openh264:*[plugin] )" +DEPEND="${COMMON_DEPEND} + X? ( + x11-base/xorg-proto + x11-libs/libICE + x11-libs/libSM + )" + +S="${WORKDIR}/${PN}-${PV%_*}" + +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or +# overridden in the enviromnent (advanced hackers only) +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) +fi + +llvm_check_deps() { + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang && tc-ld-is-lld ; then + if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then + einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then + einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use pgo ; then + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( 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+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json \ + || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily +# placed here until toolchain-funcs.eclass gets an official support for mold linker. +# Please see: +# https://github.com/gentoo/gentoo/pull/28366 || +# https://github.com/gentoo/gentoo/pull/28355 +tc-ld-is-mold() { + local out + + # Ensure ld output is in English. + local -x LC_ALL=C + + # First check the linker directly. + out=$($(tc-getLD "$@") --version 2>&1) + if [[ ${out} == *"mold"* ]] ; then + return 0 + fi + + # Then see if they're selecting mold via compiler flags. + # Note: We're assuming they're using LDFLAGS to hold the + # options and not CFLAGS/CXXFLAGS. + local base="${T}/test-tc-linker" + cat <<-EOF > "${base}.c" + int main() { return 0; } + EOF + out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1) + rm -f "${base}"* + if [[ ${out} == *"mold"* ]] ; then + return 0 + fi + + # No mold here! + return 1 +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + # TODO: don't run addpredict in utility function. WLR_RENDERER=pixman doesn't work + addpredict /dev/dri + 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}: $@" + "$@" + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- +} + +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_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 + + # May need a wider addpredict when using wayland+pgo. + addpredict /dev/dri + + # Allow access to GPU during PGO run + local ati_cards mesa_cards nvidia_cards render_cards + shopt -s nullglob + + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g') + if [[ -n "${ati_cards}" ]] ; then + addpredict "${ati_cards}" + fi + + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g') + if [[ -n "${mesa_cards}" ]] ; then + addpredict "${mesa_cards}" + fi + + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g') + if [[ -n "${nvidia_cards}" ]] ; then + addpredict "${nvidia_cards}" + fi + + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g') + if [[ -n "${render_cards}" ]] ; then + addpredict "${render_cards}" + fi + + shopt -u nullglob + 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() { + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch + ! use ppc64 && rm -v "${WORKDIR}"/firefox-patches/*bmo-1775202-ppc64*.patch + + 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)" + + # Make LTO respect MAKEOPTS + sed -i \ + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure \ + || die "sed failed to set num_cores" + + # Make ICU respect MAKEOPTS + sed -i \ + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/intl/icu_sources_data.py \ + || die "sed failed to set num_cores" + + # 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 + + # 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 ..." + if tc-is-gcc; then + have_switched_compiler=yes + fi + AR=llvm-ar + CC=${CHOST}-clang + CXX=${CHOST}-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" + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB 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 + export MOZILLA_OFFICIAL=1 + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-gpsd \ + --disable-install-strip \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + if use ppc64; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + 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 + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + mozconfig_use_enable geckodriver + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + 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 + + 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 + fi + + if use lto ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + 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 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 + + # LTO flag was handled via configure + filter-flags '-flto*' + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # Modifications to better support ARM, bug #553364 + if use cpu_flags_arm_neon ; then + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon + + if ! tc-is-clang ; then + # thumb options aren't supported when using clang, bug 666966 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \ + --with-thumb=yes \ + --with-thumb-interwork=no + fi + fi + + if [[ ${CHOST} == armv*h* ]] ; then + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard + + if ! use system-libvpx ; then + sed -i \ + -e "s|softfp|hard|" \ + "${S}"/media/libvpx/moz.build \ + || die + fi + fi + + if use clang ; then + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64') + local disable_elf_hack= + if use amd64 ; then + disable_elf_hack=yes + elif use x86 ; then + disable_elf_hack=yes + elif use arm ; then + disable_elf_hack=yes + fi + + if [[ -n ${disable_elf_hack} ]] ; then + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack + fi + elif tc-is-gcc ; then + if ver_test $(gcc-fullversion) -ge 10 ; then + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..." + append-cxxflags -fno-tree-loop-vectorize + fi + fi + + # Additional ARCH support + case "${ARCH}" in + arm) + # Reduce the memory requirements for linking + if use clang ; then + # Nothing to do + :; + elif use lto ; then + append-ldflags -Wl,--no-keep-memory + else + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads + fi + ;; + esac + + if ! use elibc_glibc ; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # Allow elfhack to work in combination with unstripped binaries + # when they would normally be larger than 2GiB. + append-ldflags "-Wl,--compress-debug-sections=zlib" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + if use system-python-libs; then + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system" + else + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + fi + + # 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 + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + 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 + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install geckodriver + if use geckodriver ; then + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..." + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/geckodriver + + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/official" + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" \ + || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +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 + + local show_doh_information + local show_normandy_information + local show_shortcut_information + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + # New install; Tell user that DoH is disabled by default + show_doh_information=yes + show_normandy_information=yes + show_shortcut_information=no + else + local replacing_version + for replacing_version in ${REPLACING_VERSIONS} ; do + if ver_test "${replacing_version}" -lt 91.0 ; then + # Tell user that we no longer install a shortcut + # per supported display protocol + show_shortcut_information=yes + fi + done + fi + + if [[ -n "${show_doh_information}" ]] ; then + elog + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):" + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all" + elog "DNS traffic to Cloudflare by default is not a good idea and applications" + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5" + elog "(\"Off by choice\") by default." + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences." + fi + + # bug 713782 + if [[ -n "${show_normandy_information}" ]] ; then + elog + elog "Upstream operates a service named Normandy which allows Mozilla to" + elog "push changes for default settings or even install new add-ons remotely." + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or" + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security" + elog "concerns prevail, which is why we have switched off the use of this" + elog "service by default." + elog + elog "To re-enable this service set" + elog + elog " app.normandy.enabled=true" + elog + elog "in about:config." + fi + + if [[ -n "${show_shortcut_information}" ]] ; then + elog + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for" + elog "each supported display protocol. Instead we will only install" + elog "one generic Mozilla ${PN^} shortcut." + elog "If you still want to be able to select between running Mozilla ${PN^}" + elog "on X11 or Wayland, you have to re-create these shortcuts on your own." + 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 + + elog + elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using " + elog "useragent checks. To temporarily fix this, enter about:config and modify " + elog "network.http.useragent.forceVersion preference to \"99\"." + elog "Or install an addon to change your useragent." + elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100" + elog +} |