summaryrefslogtreecommitdiff
path: root/www-client/firefox
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-02-20 14:20:31 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-02-20 14:20:31 +0000
commitd542bd2ef95af892c7ef62be1489b0288b1df9e3 (patch)
treec505cac3a3baf6f3d533852f28b798bfb877d8dc /www-client/firefox
parent0e2545bd942206b16391a6d7a256a5ef3ef497e7 (diff)
gentoo auto-resync : 20:02:2023 - 14:20:31
Diffstat (limited to 'www-client/firefox')
-rw-r--r--www-client/firefox/Manifest100
-rw-r--r--www-client/firefox/firefox-110.0.ebuild1366
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
+}