Gentoo Archives: gentoo-commits

From: Joonas Niilola <juippis@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/
Date: Tue, 28 Feb 2023 10:01:11
Message-Id: 1677578464.b8da1c5ed5e04032fd5d0aaac54b384bd67fc0be.juippis@gentoo
1 commit: b8da1c5ed5e04032fd5d0aaac54b384bd67fc0be
2 Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
3 AuthorDate: Tue Feb 28 10:00:43 2023 +0000
4 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
5 CommitDate: Tue Feb 28 10:01:04 2023 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b8da1c5e
7
8 www-client/firefox: add 110.0.1
9
10 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
11
12 www-client/firefox/Manifest | 98 +++
13 www-client/firefox/firefox-110.0.1.ebuild | 1366 +++++++++++++++++++++++++++++
14 2 files changed, 1464 insertions(+)
15
16 diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
17 index 87aa362cd2f1..a61d21ef0e42 100644
18 --- a/www-client/firefox/Manifest
19 +++ b/www-client/firefox/Manifest
20 @@ -195,4 +195,102 @@ DIST firefox-110.0-vi.xpi 600468 BLAKE2B 0e43fb4c8c3058754f29bbe1ee086247c6a66ee
21 DIST firefox-110.0-xh.xpi 416885 BLAKE2B e04de3e3f8dfdd2479af336d7ee0159d60b4c1684a56715012b9e94a813bb99ef40a5600f366b2994a7219bbfeb8610da2e049491fe422900e85a2e06bdeb45a SHA512 336575462198c4800bc39508ba2cddab314c22265ec423e6155df0061b45daad3ba07671109a95a76602393e2b5da473029e671d21beb417dfec188e1fb391ca
22 DIST firefox-110.0-zh-CN.xpi 599820 BLAKE2B e883807740ae15d8fbafb5858e65ebf2053b032032444362cf3222dfda4e7893c0f0f12c5a1748b510953226d95df3a7f21889a61fa1f43e7c56560412d9e53f SHA512 324d8a3834ce9ecac7fcf7af4a8db5be221c2a6d4731822cf3c54ecb3ca7dc398ea8288f365c7cf8f8233bfe714c3c232c4e8d01d3b2b705cd5c726304d0a817
23 DIST firefox-110.0-zh-TW.xpi 602195 BLAKE2B a6d1fec05b52131642b7d4a1cb7988e64bcaf398b813bf86c3a2adc170ec350e27b1ddf1d0b7a4e5fc1a5d2b139dc63d65dc9f48e7ebdeaebb451883ce456932 SHA512 201892c437d07daec97365c4b51e1e686677ffc25965537e4fbe4764e9ad5f04029d557cfb1173c110b230979f4708fe6d0ad43b70517aa56a6fd95b7d72c673
24 +DIST firefox-110.0.1-ach.xpi 457762 BLAKE2B fda32f74826c349f71e65e0104394379ed44cf2cd08912e3cf8cb09c0b4741ad4bb085cb3682e38c443c523454909b6dbe82f133063efe14e7d720099a95ebc4 SHA512 906002d4303a2e2b4590aaa317dfd8d895a04e2740e08e9004000f75396a202f6b3ebe0e7d380a30dc6aef86c0240ca0b03afc3657a1aea698341fa27ee746e8
25 +DIST firefox-110.0.1-af.xpi 418315 BLAKE2B f941f4f8dffd6f40309d1baf249cd297ca0e6b45db0d114aebae7ae11cf5f5be51f13564a34e4e73bc609fcc65b65d55530cd4f0189b9a698c3f62290efb565b SHA512 42896c8925978cdab3b0c920b3984f90db1c7ee3a24308327e462ab7220b6b444f142c017c9bbd86d87e744a560e3a734e3dbc5b2062835975f1495005d9e92c
26 +DIST firefox-110.0.1-an.xpi 501245 BLAKE2B dfc3a04334120a635bf8d4e780fa2fcd0ef754e1f6f041f78cb120558c04a9394a922aab00f7a3553d916cfd5208f35eb46cd4cdff1379c3116dccace508e6a5 SHA512 4a73803d2a3c45f72d80cdf8ded4fbdb92619a72ddfef01aff67aa7e173dca8cce6f6cf8254012e91d4c40be5fa0fccfba1465c7720f6092881bc6e7c02f7493
27 +DIST firefox-110.0.1-ar.xpi 568249 BLAKE2B 6a73a37b2ea4e06a7527896b91779ed28de2e6d577263a234d29d3e5ff2faa58445ad163c6c8b8b2d12cb94b6ffae2089e1c538d78e9991e6414eb2080a9d260 SHA512 e70c4f2784efed74c0d23bea0ab69dd6dad04ea312f63c6629f6e52de3c4432943fc4dc616e91f54856ede766ab36e50ff02fa328cea800d6789c3a7a83706bf
28 +DIST firefox-110.0.1-ast.xpi 487472 BLAKE2B 35b1baf84ce3ccda479ee7134c7bebac7b661ec8b2e29d86fe72a84378b5d84aa91db06ede4f77966d8d8d98a1ee36de461cf1b098b94a59a3433bc55e5780a4 SHA512 a3cf5081331b33eb0d72ce3850600a2ae65f662ed8ca3366a43fec320807462d7c238be821eedc0d773d94d2f3330e7e326da3d59e51d3ea0e852b009e7abfad
29 +DIST firefox-110.0.1-az.xpi 490047 BLAKE2B 248be1d5983d5893372edfd88469fa78f7682a0af81995b43a7a80ce1909d6ca4265abe06feb8490e771465ef10df7c328eb5d2a267b4f24e918962f27c87047 SHA512 f4a3a6f7f639cc15d9693d61b690a436a8f9905205e7f1163df2a2fc4c8a554cb4b2e17f65901765b61c97003dd0b51da28e0531797487d2c344967811ec3b01
30 +DIST firefox-110.0.1-be.xpi 652589 BLAKE2B 7e24ef23bae7dd17019d0eb26bc5155c2640ca8cb0e444172615bfaf4094edd1a3621bb4c7087dc876f2fc7a7a87fc11bf0f04ede7d2c19380b73362d65acc27 SHA512 d99866a721b7cfe617fc67aeccd46c267e933d90c04f8ea5093ced0594d4612a73af7e6df2ba5edc2d5597224cbfc13c8e1e25963ac7a90bcd949611804392ea
31 +DIST firefox-110.0.1-bg.xpi 580006 BLAKE2B 93a7955fcf8a82befa1e63d953d0ffa96455b424b242ae9871679c924dc66064fe408707571afc841d3d8e9d3e6cc7e8e9bfaef3329a1d08720075418e49121c SHA512 79b448eed896d30bb8f2e5fb9d5384c6d1f9d7c5b266a3ec42634ace5ac6a1b8bd0daafce9c2bc04ccf742185fe8f2747e330c426b97e76020211ec8b398ea7f
32 +DIST firefox-110.0.1-bn.xpi 579351 BLAKE2B ea2de565b3fdafbea385bb83bd2c05f85cde88b0672bcb227fe38edeb5d4e4d6bcdc7db246ec454df19dde0f71a00be6556470fd74fd1e0986b4c6d8759fca1d SHA512 e0209b1bd84c68466b1bd19aa6302284b1afb219653ecee738dbf1b3e958fce6a0571029a4e1fbd3a02d293e556156ec93ab25a4035a361976c44b60dfde6d65
33 +DIST firefox-110.0.1-br.xpi 546492 BLAKE2B 7a77d5f87ed80e9147fdb267cd5d895867e8b771b3434b46c8ec9aca5017f9f70bfd8f95dbe54b2c89866602a0bb7247ea0be70752ecf831bdeabf501ed72385 SHA512 01d9177ffcfcfe5c97292dbf37fd26b48a3766385984d99d7c7517b708544849070e5109bf4b76163a27b2930d490bc7de84e1986568de6f9932a2d6441d809c
34 +DIST firefox-110.0.1-bs.xpi 461738 BLAKE2B 3f8c995d9110a1c64df610a390180bfc61bcd10e76ae482e12479e5260053614a484d8b0c059a3914e839dd3f0364df7db20f2fbb256e7ef1b065517178a0c56 SHA512 484be8a4e21f1c96ecef82c498b99275c106f2ff0360a73636979822533d7de69b344c074871fb34c512480bf9520641d1f93073c65a4047e1b9543585f767e7
35 +DIST firefox-110.0.1-ca-valencia.xpi 540143 BLAKE2B 07d29d002e31af30b92a1ba351c27164a7b3d2d04d7b3108b8b82498cd83bb3b0bda0ef2ed3a58c2d58781ecb19fba19abe5365bc49605e83c695dc400cdff76 SHA512 e6e83a71c198f7c7a9bf6243c0bcfc41d00afd546090da7a0db56037c872744b590845e2c925c80a09612f0f0e6488105aac3dbf266c593a84e083b0d9e1b733
36 +DIST firefox-110.0.1-ca.xpi 554782 BLAKE2B 993174fa389a61f3928a1f7ab3d85ebf4262973d0a02b30e3c8212ea874e96a0258cf6a93c24c0676c27b818704e98abb1c431810f59f17da06ee8a3e85583d0 SHA512 f2c67e989a845cf6de2ee15034c10400f8ed29f7cce1428ad5a8f3225e99dca098947717612bc5903dc5cad766252895e2062b98e4d38c3107c934cf2e249d65
37 +DIST firefox-110.0.1-cak.xpi 555439 BLAKE2B 39321c170a54f9f9c9b2ccc4f593b202f36b3f77034e3f0daddc0fc4eef4450c8bf6bbd003b5380dfa4a95c019c4770137b5ae754c380ff4ce23e5d66797980f SHA512 26cc556ef9f8cb71c8b4b586841cc1a995305e40484575179868b28f970a58f073b931f427aab1987787de166ecda13446b73f1f9718be58e60c1f808a304639
38 +DIST firefox-110.0.1-cs.xpi 591256 BLAKE2B 9ce58a740280b1d558572cf80d7b4a0acba0ed40724f05f77339ee82e63b4408d0585c22f04f7f4c8c70cd13d7411602682b63570078c8a72c71525c4f78a4f6 SHA512 d876df2b729642c802654800f078d4468559337c06519eda42d09094a21cf36fa47f86fa9136b38d25dba88cb5932e1009d5e6bd9d233b29e05131741c27fbef
39 +DIST firefox-110.0.1-cy.xpi 567860 BLAKE2B 43ff3c283b99da68a1da1d4da5a9ba79f964667fef0bcbb1fbbabf3d8249151cab9dadd699b6d00d71ec7a811074aeee800313625aaaf807d439cc2fe7a79b05 SHA512 1730660ce7cbac77c2678e1e41c5803cfd7b65d8e1c9ad2daa3f3e2f99ee2407d131832774a24b1a42903bd9e527f45c7bd91836ede42f1384d625d24b8f5013
40 +DIST firefox-110.0.1-da.xpi 558098 BLAKE2B a86eb8a832b7845337bf16ccb912338f2c6a8095df87a9c5da460709162224c9e95112e1535b29078c121f5bb5f81f7921be1607efab092fedfdddb95200454f SHA512 4e7b08422062cbe0c5fec98ed2891350ecb112193a580131e1ec5db0acd3415135c3621ba380a2d8cdafbcb57336599882c98325c1756d5d97df63b5e00014c7
41 +DIST firefox-110.0.1-de.xpi 578967 BLAKE2B 150502ce8379c5d3984abb0a10b8e01d3880332999198f2f4ff24ea94e52fdd405f0e92b006d8b237e61161c52dce2260f8cfd2771ff1b19b10ab255e47af8f1 SHA512 2b8d1297c7501591f0892b82b28796df12c5503728071f2009a946f4377ba45d17dbd9b96b2c69c448fc372f8653500b1199d01eba937b5584dfe23c75392801
42 +DIST firefox-110.0.1-dsb.xpi 589305 BLAKE2B d13ecdaabcff9c2d0512cfd661307334363c973ffaa3dae0fdbfe7f135cc54502a442388930adc6e0ed6efc749d71bbf64ccd698c4a922fdd4bf648581f72c6f SHA512 d2a59f6d7f378f6fb90dc4fee0f5ae54011d4b203cda9a5a3f31c479e6af78e61739934667ecfa0b5fb4c2c95d7d302df10ee793a3acc8eca928365b922bf483
43 +DIST firefox-110.0.1-el.xpi 667175 BLAKE2B e67d7c7ce81fdf6d6a3148caf78fd656f6dca4da13f394e1bf698c6b21f58123e984b771d2a4d58b2c58d762d7fe5f8f3557408cf3f09599244bb67c3186b971 SHA512 4df5453baa25f405a181239b53884a6832df441bbaa4074466f7f2ed794639f1bf586f435cb0493f008b60ec6448e9a8328d0c8a64649600b5d9f70866bf1171
44 +DIST firefox-110.0.1-en-CA.xpi 531661 BLAKE2B 79101ddb54ebdabfd73b5def3475f58e6bb95221f641c459ecd2577c09ba24fc8405fde7175b6e04ba4e003fa6f86d098735a8c9ebc9ea23226f9abd3cc123e6 SHA512 0f55c7bb763e50a78b5b79ceac09e2bba33f76b1da2b4ca832cd575070fa7f604eeb3a51cbcefddbe98809911afc8be7146ff8347ed64f3e07c5080bfab055e1
45 +DIST firefox-110.0.1-en-GB.xpi 535373 BLAKE2B 185027bd208518e8cd83810eb4ff62f122d012a9307882664a99d148d56f656a73d32e5337e46ea9ec357ec965843d8c0ca008f5c7ad8492b55d924bf587ba29 SHA512 3a20306c6642052f89011f41940216cff1019e3f5a1db0e365d0d20b9fcb22b0fe310b080c16b6a2b4f392cc8da008009b226fa9f717c19de10920e8d4b38cd2
46 +DIST firefox-110.0.1-eo.xpi 560361 BLAKE2B 8fd238057a0c7130f89f1a00eec3887ebde1f44b2570c2cefa74660d7f31036046375feec0322f1c5f41d6059dd38285230e75fa80cdad067863887f6c880776 SHA512 1d8f7f247705cde60d3f06f1c3cc5b9f03310c570c0daf53b663122878dfdc6d3775d29003f90ebe3c87c0122d97876402ee8054dc756f626adc4f97ddd4fec2
47 +DIST firefox-110.0.1-es-AR.xpi 573024 BLAKE2B 4f949a9109f969ddcfe629f5e000dbf5cffd4780583dfb22f92068c1395632c3c325bba4b9cb90e3a39223cf68529f88537fe7209b50a84f3d1dc9e5b3d1050d SHA512 a0df270daace758b7ef6ab213c12bb9d83aee48a7273d72c5d71ae7b3ad4f155dc918e732f5cc26ce6fc7c05db5f434d2b9c68b1bde057697c31004cdffc3393
48 +DIST firefox-110.0.1-es-CL.xpi 572237 BLAKE2B 1aa7a0b37e51907acc24ef75ccd08af0ff58d2b033bb73050cc37077fda4e2998b1eb36b903d38a8a4cd4285ef85d9e3e91db80de03c2db5d60d6d25c2185b9e SHA512 e5bea09eb21f767be59c9d28eaea19423798189618c5a0301fed8577cbca715d86183c1b4545acf32c486027e70c0932fb0238f014f888ea271d5b5fdc7a83c6
49 +DIST firefox-110.0.1-es-ES.xpi 566006 BLAKE2B b23ab5735bd9913e8312955339b308eaabae13edb1882671129cb9e05f79cc0d1934b6bdb5e1331a3e1d2eace87a0142c5ba7f556957c23f0e0449eb6444a7fb SHA512 9ef79e41a0ab1f642e6e3fd1242dde69e62d2949dd1406b3b6f4461a966924e33911502e2c61914c155dafe867aa443116585c6248f87fc380f21465ba88fd03
50 +DIST firefox-110.0.1-es-MX.xpi 575385 BLAKE2B 45debea3205ed98a5ac31a68d644fe9d9ada17b324d0aab0adaea4df1c5c5e4cbf68bbdcad7ae56c4ad5336b9dc9466c530c0bdd8e94821136680910f0a8b767 SHA512 bc18cf218ebb7f47fb82971380a7eeb45bda0a6535635965a53da5849d73edecc827fa4c7bc6c23b32056d63868693d12ea19cd693d31ac344ae26d22389622b
51 +DIST firefox-110.0.1-et.xpi 534629 BLAKE2B 23144d9df4f55a6a554bb72410ff9636a9174ce47f6026469a9de69c8f5304f1e8cb67e5a654ef320abf68e7350092ad12bd6bc27cde2ca77c6e039dfd4622e9 SHA512 caea76c1bb6c15f6964dbca87874a5f3e4679a43bb63a91434a6e8c8268926a1c3d9dc652dae6ef0c783e54a611a38dcc69cefe6ed068793903d12afe1464c12
52 +DIST firefox-110.0.1-eu.xpi 561985 BLAKE2B d81c9a2eda8c6481984c273c8d2cb067d4e7dbe52906265f2448fe416ddc33bd3ed98561443f5a9eae074fbe86b2d6142f1a975d3527c863bc6685ed8d6e4a21 SHA512 03482ca0c9f429aeafdf1a3e7eef88afe29f07b7d2d6aa8c2c3b6d95aad33cd853fdc4d35c8b29d739f9f51e72c6c8a56e74a9a91509238abba604daf48fe276
53 +DIST firefox-110.0.1-fa.xpi 571856 BLAKE2B c2d276fb4cddf1ed6e7685c5b32bec0ea2f17476d2a9b14ffaadc4b5135298b483631d37fcb3971635620178481686208220cb77319f64d65b809e8110243ca0 SHA512 112a68b654c4e0c045d2c92ca175b55af54c85cb7b05a0309633b99b0d0e09ca8da88ebad5bda149276297104351f8dc351ed177aba9878d03348617038431d9
54 +DIST firefox-110.0.1-ff.xpi 474140 BLAKE2B c4939880aa82cdc102402aed327c6bfbd56f5e08f92c642a4bf98f1b7c70bab879e237276b26bc349d97001afb6db6eb67ca535db4e4d21dcf3e51cdd1a953f2 SHA512 e7fe318145196c9598e0cb1e3ee3cd1536b5b56d90988bf1ba7f11863fe01f1e5f0afb5e35f5e534a1420a3aa11faf508af2ec6f01fe01386767c1b2b89b36e5
55 +DIST firefox-110.0.1-fi.xpi 557015 BLAKE2B 21debc9177df1267fc60c182e6d58cf4683de888dddbaa5f2ae3f5c4003b37b19c3364c95f4df766d7e34ef0e3aa127bdc63b59576601e6a0721dbb3757988b1 SHA512 c17b1326a0c692b7b65c6aee3bb1c0a08c0ab80cb90196c5be2cf88ce0c0e002e17e2d83e894bfe20d1393849ea0120eb73974c0086492c091a871fe50154f8d
56 +DIST firefox-110.0.1-fr.xpi 584582 BLAKE2B 2fa49279be90c5c92855105947314bf9b178eb858ca29e27772783727d101b134f349ce3aa816ff056391191cf19d18dd1e5485add5b148f144f0a08f627bad0 SHA512 7a6ae285cd757e16019e4071e5d289150258a6bb3825ad1e499b111dd0f2609d24554994e5e94ac6a467c9169e5c9a0e62625af88877732b60a8c14c3e1f7ca7
57 +DIST firefox-110.0.1-fy-NL.xpi 568580 BLAKE2B b66dfc23eda3c4aebf779aaa307e8be5a4959aaa58ccb6915d8deabb9aabc51332438e2d6f223eb800ebe5acb7835e20337af39ec7a956db3fa789ddf8184cbc SHA512 1fae0fe2164f73ac101239cfcddcc8aaaf278c0b2d5468fc0ceb97cf2e42024410d18e8ad5c5e7d35f28bd768b69e0d2ff5b93d0921ac400def2adffd0702df2
58 +DIST firefox-110.0.1-ga-IE.xpi 470626 BLAKE2B 0fc0b038a16cad527c9b33a7e4e3854b0c8385f8770f6ab504e36c7a61b914b51488ad8b5093d048f9f4a6fa55860fa8973c4b92b0dc42123cf7ab0a054bec40 SHA512 f4d75ecf9a1b1058e92e1c60067f0b7615f17259955b219b63c5ba56504657b3bab24b67cbe2fc68a8071a4f367a7e5fb403f99b081068829c15061c327a10d4
59 +DIST firefox-110.0.1-gd.xpi 548688 BLAKE2B ec41a0892ce0d250767a755e6d652c6639452932c3f52ebc229c6e7f597344457a6893e0b71511d44a32f76bf08e76ad421fecc708fdc4efdcdc93dc9ef439a6 SHA512 eb2daba1782e9d1013b46a64393f50db14a8c29d6592945e451686aa849a55291105f398af8b04aba5c9752d3e7a65d1338233ca6f060690f4622a3e729997bb
60 +DIST firefox-110.0.1-gl.xpi 543500 BLAKE2B 26ae2d3ee8dc69b0c5414dcf157148b2f4a3935d7ae9d6b4c8cf046f9c0d76941edabe9e2681a96e12bc5dee480119d656d1a2720361ceec52d7804ce835fc33 SHA512 7a28bcfd6854312900e0b2ae92184c3f80671ed3293a33b6045f2837702a3fde5087432a07f2ac9a4cac902a773928a1aaa5a73d8d66e9b53c0e27ba286227b5
61 +DIST firefox-110.0.1-gn.xpi 583840 BLAKE2B b9257807061bdeae91838a66371e4b38f0060062990332b1232d322277eb2129776395fbc0e47fb6440d45857afaab6c83f4ffb8509f19a016781ef37af5ef28 SHA512 2fee9be639ab7e81abe4483f2eebd7717f1360ad4625da37ab99e1964f82371629e687fcd691bbb316b3999b627e4e26f239cecf98723dcd74c7ebbddcd9a196
62 +DIST firefox-110.0.1-gu-IN.xpi 528996 BLAKE2B 63bd913283290097d6281eda373f61c40e7b00bcf99bb5811c7bf5b4403aa895888b826c75d37f65220316c59bef4f227f3925ee3344f6284578affb73971e19 SHA512 f6a35580a77fce17045535245f5da1154067a6b3c6fb6557558cd7b867bf9d45d882fd37993eff21f167080bfcce54ff90c3facfeeea4f872dfb8b180eb66ee1
63 +DIST firefox-110.0.1-he.xpi 578901 BLAKE2B 480127e6f98e1ed0d40ac52146ddbb08253943c6a1c7924e287c96915170a27abf3b628d6f9cf83bef571c6a18153bcb6ff028de23676db8770da8f0fbec328a SHA512 058a67411ceb24a2de63bf1458d8bb0e4a89346c13672404094490758b0c86b22ad576a14626089af38a6e6c64918fe7ee5835ff18395dbc56a3ce5ea0f9dd95
64 +DIST firefox-110.0.1-hi-IN.xpi 557876 BLAKE2B a1a614751a71fffe649606dbb90510dbd7ddda4287c9b2f34ec04202e450859bc0fbcb198e9e4f25f3f6a8dae2487a8dcc0128bff5bc1aa90e5e9656ec1b15f8 SHA512 c14df5b22cb301ebbe0583fb1867036b3389b3596482dde955a67bf6ed725a7eb2ef82a60be4fb434e5dff3c0658c5bf3d172a06e723ea3b9cb255aa148b38a4
65 +DIST firefox-110.0.1-hr.xpi 547286 BLAKE2B d4c51fdefdf635321152242f1ed46c5879e9a5d79df5571dd1720fbfa9b3461180bfe7ff15194985524144658d3e8c6fe3617b9b1d8793d08bb06369fdfe3c18 SHA512 9b7197ae615b0c8ed445366a41b113e058875908fe700c4cf1d4dc3aeb5f8429266722502d05c6a881a4c4c45ef9b52c769b7f9f4bb752cd1910f87594fe01b3
66 +DIST firefox-110.0.1-hsb.xpi 588111 BLAKE2B f828f6f13f5c3aa46c3467ba43ef57d59285515498702b482554e4c914736e95b2a210cd50e63f347547c11d94919c99ea39274e0f211f1dbd6e12574b69ca1d SHA512 308a7c8298277bc50fa96f9e7c3bf20a2d84bf4c0ef0c034220b0ca46615ebcfdd8c60e8aca828bbbe6c11844639b4cc6936f8b16fed2b5dc847c176f1d2592c
67 +DIST firefox-110.0.1-hu.xpi 593294 BLAKE2B f10152c37ef61b368f57aa2356b79eacb635b6b229ccf1c903243071d0c54042d374bd0aabd064d96fe06a9852047cd1d70622718f99b619924ae0df4c065245 SHA512 28dce369da1479f41212dce5e8e93b6baba8d921d50a8babe1f82b7c226948e38ee2541ae3a6bb101e27a4c2488fc9228148435412fd395fbffd60fc476cf58c
68 +DIST firefox-110.0.1-hy-AM.xpi 595642 BLAKE2B 45a8c0f0629f1fb9073d1bb25e6863412a1641cbb54c11a60234c38e2251a646598151f53c69f97bd9c4bdbf16f2abcdf114f703cc6eb10d546504152fb3ebfa SHA512 656141bc35d571ba62af6f68de5325f88d2229120c9b2537e2ef9250a9188549180a0ebdf9f15a8b55357f7477b9322117c868dae2ceb743b6d014a262e96e2e
69 +DIST firefox-110.0.1-ia.xpi 557000 BLAKE2B d99fe7b87e97652cd799fd5f54e4d05b997f7b71bef2a01ce133d88d0b63526dbc416e405975b16bc9735789cdb393b7569bb0952337ed0e14e8a38190bdb58b SHA512 037ab2b66116c1a3aef5d8ccc2b3d35a2fddf52a9fb9d5de0968b30797c60edfa6cfe8d5c2ebfc7664dfea4bacfd1d8a77c8f3a677ae812ea0febaef2c3741ab
70 +DIST firefox-110.0.1-id.xpi 553925 BLAKE2B 4ecf68d7b51185466ae3e0d17b6f6444bcbfa79dd4416bab395418754bd386794feac352d94dd863528cd780afffbd19f08b06b0fc63837707ea58ac99eab550 SHA512 a7fc0e1217fc9b87dfaa9f61d069dc7814b0cf21e7b3c13e2c27eb00fb13aeea166029e3b5a1df268598a1c29322aa3520a8e4fe87d9223ce645300e060c5510
71 +DIST firefox-110.0.1-is.xpi 565678 BLAKE2B 9d61eb7a948cd5db62522e22d06544f245ba0756f0c976e039dd25d81c4b7c7860eff715701c964b523c51d87d0adb4125099f195e0330580b494b196f965582 SHA512 2b3fa4888b73153f8cf54ca2774180d2599feb873ec27583dd40b74977f5c4f21125dd08fb78f4d9a3376bc7b1a4f61dad57459be689b630e23dd34a9e742538
72 +DIST firefox-110.0.1-it.xpi 496389 BLAKE2B 9e6c166f9a5c593e60b5a412c65fdc406e3503defaee645ff95f309b36a0aca0e3c04e2f673d8ec939ab403a8b58120cffa6d29bc2343f43d101394b20546c5c SHA512 2ff0b85ace287f441c9555eee687d4615914015227596a25deef732bfe28b671bcc6708b24d80bdf76f9746474ba22185a182feb2c785e112142774ed8b5a7c9
73 +DIST firefox-110.0.1-ja.xpi 618099 BLAKE2B 22c984eb82c5c60eb8ba73e180d2e49dafcf2f2e2d43fd8225210ac6b6fbc4c3795fc9c7b3309feb9fb0fd3b63d9c6082874cab76a32647db7283d19516cbc4f SHA512 fb4f9d8d160858cb41689c068440f4d92512d88abb89552f9b86d6f3099f195106ffbcc79394932ed35736384baaba91e0b85c28b976e794488ac17f433cdbb2
74 +DIST firefox-110.0.1-ka.xpi 622398 BLAKE2B b994485b789599845081f988a00757337346c756ac668a6725a105b568d27d6b7e91f2b30020630b7276a01a12acb4e8ef30f3ea3a2e20c70ea9b1ce0939559c SHA512 dedd48f2c112bc91c33f2c7e7a2c37dfe8aeaa4c518fb4c70fe943fd894d4910aa8707ce04ab85313594232a3ea88d5fd5903873832db898465a8fe976f3b006
75 +DIST firefox-110.0.1-kab.xpi 574109 BLAKE2B ddd6c900391ea990214a9519fec1ce5bf3d7cc53fa2c911b2381981bdd150c36730c24dab33f020943e6beb29d81d2b3db6c0bf6ac855792cb3912583c5dc1b3 SHA512 17f785a4f17f00e9533d80ee555f93587a01f3325cdf7d59030aaacccad20a3749089c927d7ceec1a97c518393949c00f451b13e6b82f94a2caf2d58969bf1dc
76 +DIST firefox-110.0.1-kk.xpi 645408 BLAKE2B 19fe16e808d1c56c986e287d81132609319225f3632668d35ad0b962542485afef898d4e16ce31bb870048f3588869e673ece1b8b2756fd7fb9ff7df26b28678 SHA512 2374665376df4c91092f0941124914f91acab821b2266ba50da31d3d0728ab0672ff2fa5ccb23eef895228c10d8aca1aa27a035dbe408c177e67f75158ed0022
77 +DIST firefox-110.0.1-km.xpi 531022 BLAKE2B e48a5998b96761a9ccd45fb652a9bc57c4d059cdb9ec3f89aeda95001f577ab383e504875c2434f696a65deab2a3480ae7a652bd37e6753b79174fb87292bd71 SHA512 f86918783de58240704d31e862fe5c9f154759e247e0014a4f96b7bcccf1300f0e01f55690b7fe77486709bccaadf5f39887061fc99e41f57d360d405a514403
78 +DIST firefox-110.0.1-kn.xpi 496283 BLAKE2B 494b3062e67194616f175ab2ac28703517a604812d9aa62573b7a88472b601c0535d205260998e6601d5dbd5a3ae709c37e3057b6d8add0866b1e1df0e784806 SHA512 bcadf4ecae0fcab880746c7a7e1af4264842e0d8018da4cf14129f984cea1e16ac4df06bde37c239caf3fed4e38b5925680ab8ba3c32fbf31ec79f9400493606
79 +DIST firefox-110.0.1-ko.xpi 605669 BLAKE2B 098dc89757c071f1adcc72706243902217453721d8e286bb5b150f0c5f2ac2289a76010efb5712310596eeee120b5f3c75be2d0aca264c174516848416369c2f SHA512 02c32fd971dff31134e346f2a6d7e7571e1bd66b48a9a22d73b6febfe3154a4a26ad67109665376801fc9c357650019f7f81711a51638fd7840b4874ae09c7c8
80 +DIST firefox-110.0.1-lij.xpi 471131 BLAKE2B 32a0dab00ca3f88ac5888a03060d84572c355b003586a64f835a1692e8bdf9d6323af365ac50b8ce5cdba0e1413306785f6e61454ec9bad51aea5bf47b99bcc0 SHA512 046d60d3f22c4dc04255aefd05fb7595e98d0aa8e23bf9f7a7e2cf3a1640f93bf00e7e273380c958829da9630996ca27c9f65fa1619d7ac99a22e5d678a510ce
81 +DIST firefox-110.0.1-lt.xpi 566274 BLAKE2B c62706836c6c811b8a598ffa4b95947914fe36e61a6270aae08c67918b8f8b511beed118d83fe64cf20e82fcae6ac50625b14ac45578cc3c9e1fe4dc2715bba3 SHA512 9706f26b25ad251f108688a8e70e287efacb9e6a6dcb7ae28150e73542c19117d8401d1b53413432b30bf74f2ddcbdc1b8e8307eb66071880bd8e7c0c695e41a
82 +DIST firefox-110.0.1-lv.xpi 470793 BLAKE2B c32deea4792d7e1aeeccfd6cc441d44b79b7a50bdd954f4dc11019cae14e6c0f46c6d8cffb35ceff98e8eec22165ea27ad9f35603d2f6b34e5d42e8a8d5b35e4 SHA512 dd7b3a023d1102b94ad17e4d90180deb9cc8718458e882225e4ee560643669de03268224be1903169da402b744f7c82f31bc6aeb75f33f27410ebac80a66c46a
83 +DIST firefox-110.0.1-mk.xpi 484130 BLAKE2B 8c1d0e291091cc24788bc2995e995354ca9673431ac16ea1f1226aa337f362236b2f4ba8c423aed06be6a103cdbd347271fcec1d59de2d4b5018e597397ebe80 SHA512 85b51c86185c62961e09868079f8df1b8afcc1af2f6661dbaff7d29b7eee0fa8b6c1bc6dd5d8aa0136b4b3557c71ed223b58e78f235d207f41035f4d4fae42a4
84 +DIST firefox-110.0.1-mr.xpi 531177 BLAKE2B c98c4fc1316675d22b52d06f49d369b1826272dc1afcb4ac63c270069d53b4cdba73cc13aab57fb3463401e081a20fc98ec2d857072241498874725d2fa70f6c SHA512 4d96809400dcb37939b35d3602f54623d7fdff64bee6a3713aa17e7988bb8b64dfee11370d1fef58504fd495e13e9571919655ab311e2b715fef4567a0cc2ff4
85 +DIST firefox-110.0.1-ms.xpi 450477 BLAKE2B 10f6fa3167d8b38aa47a8157ebb3181020d138b6afccc73be5258730caa593dbb227f174e7a78efed8c2727bad626fba2ab206a9d1da16098778950f9d20cf7f SHA512 3ced367ef704177e1b54bd915062db772184e3df59ea92c845253aa22b1b2c765a24e7655fb4a0c073eca636e5a6c67be0f9bba4375226cd071a3a75c71dfbc6
86 +DIST firefox-110.0.1-my.xpi 516587 BLAKE2B e3b051aa6a12345b3f910870d048a7fdfd6a50b7dd89b87b27350140a09049298de8c33aeec22fbe22d3b2999a40cc2e20eb6533e3c0fb2c1b43db178dd8430d SHA512 dd3b15be3c78b538aa9e54ae6acab9a41e8d8b9f76f6ee4e2a3d15b06db0f13bb0b39a1384f87ef3bdaf1ec3236b3eba84c20305e4e4e1143acd1e83e3bd95b7
87 +DIST firefox-110.0.1-nb-NO.xpi 554926 BLAKE2B 94eaa949d7bcd99e7d2eaeabff8b2c10e444553cc76cdb624fdccb6b5d75cb5e102aa7c562413f1c3af9c743f85e2e3cda308442ff9fb6efac761448d49a2213 SHA512 9450f612385951319080d01ada65f7f270af00a207ef70e57ff62afaa6252de9f8479abc5ae5c36eafd216c382b30a98d7b5ae0d83fed683a90c483b5ba50a95
88 +DIST firefox-110.0.1-ne-NP.xpi 484690 BLAKE2B 7ed7dab09a96b697d6f4e8c77792d81d25468fde369dc5ecf4ec947cd829dd7803b024430701b371afa6aea763241dc2a7673abec270a0cb713d65debe1aff5a SHA512 6677edea8977b2f6b1b4542a043b32730442ec40f3a014a58bb51880f2c011f95865e91f0d05cff2c2423612d254af304a5ff9eac03e1ad1444eeaad4375b31c
89 +DIST firefox-110.0.1-nl.xpi 562664 BLAKE2B bae7c1ea4cbf71a4d636daac3b685999fbeb623679d54d2ed30e659a5626d18e7527e7a6b06a7a694747b3e763740ace08c356efe06898fc17823317eedb9c60 SHA512 f463bbf904e7e4d4864c0e33f475a028801df873265f2829e9973930c86391d44694b0a7e5966bb3652e3335a6c9cbfcace8bb0e67c2189944bde59004ee6b94
90 +DIST firefox-110.0.1-nn-NO.xpi 556391 BLAKE2B fd348d530509dfac108252864843b8f13941e92029e9516b9394fd7ea7d8cd4c024eb4ace185337d4519d4a09d9eed4737df49b924ec691b7a3fb5d27fde4b57 SHA512 22614d7c522229baac153e154c8db9155cc8acc7cf242ad6d630ae7c5945ff65dd5b5f80598fe26c817ebd42799af9b7599119ab547c775e8bf15a4fd3512fdd
91 +DIST firefox-110.0.1-oc.xpi 579322 BLAKE2B 94963f95a54b2ae734c2e02f48fa95261fb426740d43e702082231f00fd868cae571b9310e4c10d27b1c70c75ee2f920dd07c6caedefdbe229d08988144ce446 SHA512 970e99170c1f0e076ff96107c62ccc82ffcd28a95c463198cb07d15fb92be6c64de9c2dd89f9670427dc90e4cf4d6cc599f595c6752ad147ef3dd5976e163a45
92 +DIST firefox-110.0.1-pa-IN.xpi 636181 BLAKE2B 91deba1d6dfd1bd0b25d409f75181471809d2e7e1b6187778d02c77b0f074b51640f27e19bdffeb60c992713cc0ba2155044c5306c8551311ac6dd87e7dd1649 SHA512 d68622fed4b7ff788a239af3a9f5f218cf4645c8161257ff32444e564747e9cce0daee8b1daf5f06c4e803ed09ac4a26fa7efe110e5a885055cf5616a48a75d2
93 +DIST firefox-110.0.1-pl.xpi 586009 BLAKE2B fc1658161514dda0feabd03334e7b308af4e41777146e80df24d329a8c8642713eb3440c1acbfbb22ca905002b27b882a9917a36295ade66e2d2830b1ef5f7e5 SHA512 69ec98eb1cf9ec558ab49551b3b79c9eae5d86d993102dcd27d44c1d52b9de2fabe6fdaf17a8f668a7de0c4f5efecf7c15ed699ec145c922cd826aa041af8e4d
94 +DIST firefox-110.0.1-pt-BR.xpi 567197 BLAKE2B 038e4afe6a59fa36673b95a8650593d1f9282f62d24734ef14e721f5889eff0e1bd7ae1e155c75d619d942058107c99d909c9253e95e6984f645dc76f7e54f15 SHA512 ccb6a5016d0fbba58e58d3a4a1bd7981b7f37d4fddb8f9cfc78d50bfd1b5ff2b7e23db252797c4965daf7a1da9eddd46d86dfe0ce62623b172f1bc9f9f887bc4
95 +DIST firefox-110.0.1-pt-PT.xpi 572576 BLAKE2B 0034d80daaa4c0347864e60e67d1b32e0f322f77e4fdaed11a477ca520b90ca2dcb463877ef3ffe685a1cb19af5e4a549892c104c302efb22c5fc8ae20f400ff SHA512 d2d9236b8bda720b719f416b87a7de431966919500dec18550afd4aefb4e00081505746b7d639390000d0365e7bc62901dc54ff377b01714f0ee1c463428c0dd
96 +DIST firefox-110.0.1-rm.xpi 560564 BLAKE2B 4ef2dde8ea34fae800a3b61ba597222571ef03c1405cace0b1195149f4ed86ef28c48863735e81fd3ac5beb0c0308225e474007b271a3e183e8d8580002ab564 SHA512 00651230d1e2fcef180e9bfd2ee8d788011aab1f649c1cc89169abe97f0df810be7bafa3944c4b11945b39d69c93e716279c2511c81112989941fc1a6f74cb4c
97 +DIST firefox-110.0.1-ro.xpi 533696 BLAKE2B b391090477181a00f4ee7157b15d27a38ea70ab5445894cc1126d271df213d41aecb25003d3bb4eca65e2537850a473a684ec8eb1365381a53b7f211cf79ca26 SHA512 cdf42fa01933b7f96b3bb30ae0cf15365586a6cfa8323f7eee3becf082013152f4857d713436fcf56f7571d0fbcd09ee2d12fa3884045b0ca9f637a44aac4833
98 +DIST firefox-110.0.1-ru.xpi 657162 BLAKE2B 160acedc67e633a5707dd570a894bdd48b9878b24ed3d500093c44425fa6b6f1540db1acbb7f0e29ff2d468fd99d4b1500a38e5dc668f20e9a79bc640262cd56 SHA512 27b3decdbb1efd5cd7ea1fe08679ee36fb9a03bae8a970ca37b58099eb5d8bd3001551650665d6c2f4dac45c5b40b0e23615a16d807523057328996c7e7d9f59
99 +DIST firefox-110.0.1-sco.xpi 505312 BLAKE2B 936d925886109a41ade7e97b4dea59385e2b34202d6fba7c7a4a52798ee83b2a95ff25b4b6b87cf42b837e1f14b20cd9aa00db6870c69f8afac30a998b5fa886 SHA512 99e2a0268880af56dec094b8ac20a94f78a5a803c9c89882f89dc489199ec560454a45a6403ffb4bff3171c3f3c3ceb2e901514be0767f644fd364a0cc21924a
100 +DIST firefox-110.0.1-si.xpi 574131 BLAKE2B 6b3e7d2bcc49b63dd1513f5e6cf26866671fca9d676aed47c15064e40207750472726b03c07885405435d581356ffb315291534b068ddaa9b129a3c22a7d3c3d SHA512 ba35ea58e83806c79466b54dbaee4a967e15d0428b43bd1278dc906eaa9ac8bd9b63fe766f0e93897a93434e257bea74a9fb9ad12f59e119a8fe2601e7afd76b
101 +DIST firefox-110.0.1-sk.xpi 593385 BLAKE2B 11f06197922726aac3468beceea4c21c475fd6dbe6527727560cf17574834fa0fdf29423ae4f4a4fc634461ae15f7683f42706ff3692b3d212f7fcd446b931c8 SHA512 9505aab4f34cbca685673f0f10a414b0a0f7d3e3a6378495b4ab3fae78c344c3e75d5fd7c882565b41f719776910890aa05d8c4add0520049504bcf824918de7
102 +DIST firefox-110.0.1-sl.xpi 566382 BLAKE2B 3f540db0494283e5e04b39ce652b42c9ecb53d72b31179e587387c9bb23531fbc47b1984c918f0477bd57a138a162c5d0fb9b6dec636d35c61b8af84824218c5 SHA512 72a8749a7d1b3258500a6b9dbf0c3b21c1deb7b9b1cffd3ff4df747add278c77f49f39381d4f3ee45fd78881d0a41b2bea00d1d7d0bcd54d601d38d307e27c4b
103 +DIST firefox-110.0.1-son.xpi 422457 BLAKE2B 04babac264fea21675959f429d017a0286535521441664f4b286af09583d4c4b5ae687490cf2771077589dbfc11e746a785c1c1ee0d60160d5f51f135f0231da SHA512 bc23e6d30e2d35baf7fa7be12784433eceac4b61db4ca49d3f67de48279ea3dbbfe5fafa885a8388527ad306efd0cdced6593a603e94c6c1bf1217ed2966e3aa
104 +DIST firefox-110.0.1-sq.xpi 581639 BLAKE2B 582d99cc5b5166ba2db0c56578ea0202d82b415e14b75a65b4b473c9aa6ff46c0713094331aa3fa3fcef5a0c6ba3554f715ef99c352deeaad94d2562d98bea9f SHA512 e8c7d39303c8d46d7704d876bde12475a853b457a4468f384d6326eecee382558a211f22a6b1859cc781619e4d40545ecb6076d091c32aff958b6065e7d3dbe5
105 +DIST firefox-110.0.1-sr.xpi 621092 BLAKE2B 6db5a1392adc982f001b86afcf2949d65da6c6de458c9adac673b350f28ef46c8ffb4e1d7655d627b58e59cc98498255635399f7a3c2c72ac404f17c67175461 SHA512 2be1ac69ba2a2eb3a222e9898d5a4210ee57a5d22e4548f455ac3a47f6bbe579eee6ab4bcaee9b1f7f6377e8248e518625b5dd8092bcc678f9dc736b02b16241
106 +DIST firefox-110.0.1-sv-SE.xpi 566330 BLAKE2B 52f7e626a9877a78871342afd2ac44116c6d9545148d147ebb9e88b7ce1fed398e952587009fe587c328fac4785994442cf14373305b747611c200845e9bbb08 SHA512 037563730b0d99c6c9ecfe84f6dec9c6e48eade137725b2efc940b9ede58a66c995aa8c3d53af9f8874f7ada38962b72491361493f755d58ea8bd68102466301
107 +DIST firefox-110.0.1-szl.xpi 518021 BLAKE2B d695e0efc72ccc5fe5427483dc1a491c170fcc393825c89eb9c1bd1383807b3c6ae02bcea8b635848075905750cb606b2c6020886a970f5606e06d13e6109da0 SHA512 f9fc39bcb3a6cd43f19c169ef54bb74c62d6d032aaa34209f636353d6fca9fe5116698af123bf15d3958149292eaa241c357abcbb644b0eacdbd1e5a0ef59030
108 +DIST firefox-110.0.1-ta.xpi 508561 BLAKE2B f5cea728483ffcb17486f98bf6b1b013e23bd989a496056dd2faf10893e67ef4aae3030907fbb75a33ecda69cbc93594df4ffe4883d252718748a5e763e33246 SHA512 fc92e80acdd56432fc5fde6b355652b29540ecb984501b80b91d5c5c7cc34051a9e2e1ffc1feebefe9a5d210a1986d3204243f7f6bd1fe2bf49748da7ca767e3
109 +DIST firefox-110.0.1-te.xpi 556285 BLAKE2B e03fddc6c5e13315a2d25b792afe325016771f687cb08cd333dc11b991aa526e1d17c340d82a8692937acf7575d7936e816ed87f710a40247a7ec12773695bd9 SHA512 0830cbdf0dce054c10f63db171f43550825c6c26a1815f8a8a2fcce726bdb3caf86004bf85d7d394b4d8aa6141ab1e57ea25802e632ac853756497994cd03855
110 +DIST firefox-110.0.1-th.xpi 636774 BLAKE2B 1f1c92fbc46586ceb586575f836db0b54b9394726daed762788631415d8c31000783f46195bf22e219eee14e18d881b8cfc5ee13f6b568bbd80bdd823d0ce82c SHA512 a3b4c3c0e4d3f0a3bf4734085e7e82c0b7dcd9aab046156fa58798e341a237b62503e69a8b2d2409dceee4eeeb71202393e57d1583cc47c995b93afa70212b16
111 +DIST firefox-110.0.1-tl.xpi 523711 BLAKE2B 12800962c30143477c7649117ebbb34a28900fb472c599e782059ad8729680d93b442eaaf6412a0734676591c2891141c77647674893f68f15351e4e25efe094 SHA512 dac94ffc2ff490b28295ac89856b79a37367bd25d85ce1ec08cd5f0e0ed6ddb875e1d7e28a89d22243cc4cfe67074f22dde8fd9e209f378eed2dd5722126b83e
112 +DIST firefox-110.0.1-tr.xpi 577878 BLAKE2B 3b505e078f4d613931aca5c4e8ea50353f4e3deae3b658c51d41bf198270b54c1c09e85fef8f54697d353ba551212a3ce172f44a13e2c810db368ff3e613ddd4 SHA512 377a409eeb8a468505027dfe791095b94e1f3e140844e57f3d9475d0839bd9ae75ae6d76aa4bbc4fa26262762270a8dfcf34c2d426cbe918f3f3cf273bb60a9a
113 +DIST firefox-110.0.1-trs.xpi 487282 BLAKE2B 876ca3ea39e8fff980321c64abc784445cf2321e2b1263b788070a0f74c3894450503bc24eb2596916a6e95f75c96778287c4d27dc23389c39c4e3747d49250e SHA512 0761c94c9d1bf22a3e35cb08892630203a5066e8e854daa2b235c395e38723de8bd8f00f1dec867e8298b91a82db537dbecac7083184200ac57148e3d45f4ab9
114 +DIST firefox-110.0.1-uk.xpi 650248 BLAKE2B fbf07118a60a0d1eaec119d7e6503b73a1805c64a1f2c1febba4ff7fa8df652223c0c8aa67545eb818f19430685d59c43c4ef009d0e0316de867f431337c0615 SHA512 efc9fcdaca232510f3034cee2c8d6ef858d4080bbffa640e55c4b3aaf9e7d7ff054a6d6bf13c0ae9b90b74901759c79f7c3c81ee5f932528832e4022e3ca5c7f
115 +DIST firefox-110.0.1-ur.xpi 558069 BLAKE2B 9911c2a1d230b7179f21233de4421d1699795591c982d664c453a1ef9a441f852a5f31c8114e44e31961a52bbd58d8f034a65a160ffd3c38f16dcdaf2f758653 SHA512 c2703d2f5b3cd3d2823a5445b81415db8db4523acb544444155b6e7e499fd324459642599e2d11be2e3607cd7bd260e8de0e358b73886d5fc4a3af9f0a16c5b7
116 +DIST firefox-110.0.1-uz.xpi 478758 BLAKE2B 217317687e596fc7a03eeb8ea24ed24f1be9d99000c489663bba604d63f6536d98c34cf8d752750d4003098e7e2cb6bbfa4daa579c803df3feb1adcffb25b932 SHA512 90e5412a06a243abc54115b0406662eb3d9ba48e8299a16e01794ae07da4b6e39307f015e6f52e7e99751507ac3b854e29fbfbd8ace4952117b09757cf817e5d
117 +DIST firefox-110.0.1-vi.xpi 600480 BLAKE2B 5b8266aa34e1f55b0b1776e44528a1e8d49db7571ee7ee6e5abca0ab2142841d28c83fe8677efe9a50d3194d2090b7072b8383918903fc6e2b9cd0d067bebddb SHA512 2dcea5f3063a0b83a86b0f65cf5008346575a4ee287faee8ac6e4298b53e221d4075f18a38bf64bd4822b67cc58c0f95e7cf26ec06d7f2bdca86dbcbeb0e699d
118 +DIST firefox-110.0.1-xh.xpi 416890 BLAKE2B a9dc27bf5848f9f8d4513398b633d1d17ae6e99f61dd27c3ed5aa4a933019e11c6bb0c39b925f81e4e0c5ab687aa9e23b3baa5016190e1717a45f8850e86d22e SHA512 28e5edb88683286464039f14d3a901aa3bf0d31dd3ac192c897396521896e25afe73f32a5d70b57440b3145737c1cd26b052a4983aab2a2ae63386835305f5bd
119 +DIST firefox-110.0.1-zh-CN.xpi 599824 BLAKE2B aa00d351216e606dc79e0e81dc2d32b7e465e3877b2410f19c9cc864e33b84a36f9b44b45a32689bd45a0250a5fb205cf7c6607d74dbe63b477bdb106cc31aa5 SHA512 f8afe4451da1b47ba4be65fdcd42770fab9e86ffa870722316b645b9301778fe6c2dc1ced395dd5a4c23f6972d4f4ffa2ea4e26d97acc1a524171fc5539e51c9
120 +DIST firefox-110.0.1-zh-TW.xpi 602201 BLAKE2B b7c64c74c480fd9459765e578d7c07ca656392a35317ca8a40e633df793176c307abac230498dfa704b1e88c4478b7f7ba39e8078370bc935c4c9528d74f30dc SHA512 3375915a30562cbf4ecf6aac3a1083135bc8afda22f17ac0f4edd9013f749de0e06c685fb85f7b59364e242a8d86a49f0c3a5e46248f7f576cf56a31ec9bad5d
121 +DIST firefox-110.0.1.source.tar.xz 494223300 BLAKE2B ff196016e0271f7828163b8f767f3321b5ee08ef6bd0b03b134e17a1e5b62666f10ae80a14569438f6ac1c995a7a8422265eaabbc505b6a86e95a66b5db07209 SHA512 42c6a99a3874a0f60121188c43788fb35577734d9366c3f89ad41b8328cc542ce172ec81ca35b9ea551eaa698197ccdb43922ec3215d311e0770aaaa59625d21
122 DIST firefox-110.0.source.tar.xz 499042592 BLAKE2B aae3b34f1642ddab5f0fcd104b4168c9d9856a1bbbc197ff3c8e1bbae0c8d1c033db6e974e10b5352f4457e890c50f1f9d5099a6b7200c3474b71ac7e6317113 SHA512 52a37a8f59a694c4790c0a14cd81fba9e2c982f64e00191afd0897c39ae1d5e25f24cff16f74d0a0b5cdf8e93a9a0974b6042b0de605cf1a533ef4e6a3c0dcf9
123
124 diff --git a/www-client/firefox/firefox-110.0.1.ebuild b/www-client/firefox/firefox-110.0.1.ebuild
125 new file mode 100644
126 index 000000000000..7f87eb3892ad
127 --- /dev/null
128 +++ b/www-client/firefox/firefox-110.0.1.ebuild
129 @@ -0,0 +1,1366 @@
130 +# Copyright 1999-2023 Gentoo Authors
131 +# Distributed under the terms of the GNU General Public License v2
132 +
133 +EAPI=8
134 +
135 +FIREFOX_PATCHSET="firefox-110-patches-01j.tar.xz"
136 +
137 +LLVM_MAX_SLOT=15
138 +
139 +PYTHON_COMPAT=( python3_{9..11} )
140 +PYTHON_REQ_USE="ncurses,sqlite,ssl"
141 +
142 +WANT_AUTOCONF="2.1"
143 +
144 +VIRTUALX_REQUIRED="manual"
145 +
146 +MOZ_ESR=
147 +
148 +MOZ_PV=${PV}
149 +MOZ_PV_SUFFIX=
150 +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
151 + MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
152 +
153 + # Convert the ebuild version to the upstream Mozilla version
154 + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
155 + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
156 + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
157 +fi
158 +
159 +if [[ -n ${MOZ_ESR} ]] ; then
160 + # ESR releases have slightly different version numbers
161 + MOZ_PV="${MOZ_PV}esr"
162 +fi
163 +
164 +MOZ_PN="${PN%-bin}"
165 +MOZ_P="${MOZ_PN}-${MOZ_PV}"
166 +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
167 +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
168 +
169 +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
170 + llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
171 + virtualx xdg
172 +
173 +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
174 +
175 +if [[ ${PV} == *_rc* ]] ; then
176 + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
177 +fi
178 +
179 +PATCH_URIS=(
180 + https://dev.gentoo.org/~{juippis,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET}
181 +)
182 +
183 +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
184 + ${PATCH_URIS[@]}"
185 +
186 +DESCRIPTION="Firefox Web Browser"
187 +HOMEPAGE="https://www.mozilla.com/firefox"
188 +
189 +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
190 +
191 +SLOT="rapid"
192 +LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
193 +
194 +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
195 +IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux"
196 +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp"
197 +IUSE+=" wayland wifi +X"
198 +
199 +# Firefox-only IUSE
200 +IUSE+=" geckodriver +gmp-autoupdate screencast"
201 +
202 +REQUIRED_USE="|| ( X wayland )
203 + debug? ( !system-av1 )
204 + pgo? ( lto )
205 + wifi? ( dbus )"
206 +
207 +# Firefox-only REQUIRED_USE flags
208 +REQUIRED_USE+=" screencast? ( wayland )"
209 +
210 +FF_ONLY_DEPEND="!www-client/firefox:0
211 + !www-client/firefox:esr
212 + screencast? ( media-video/pipewire:= )
213 + selinux? ( sec-policy/selinux-mozilla )"
214 +BDEPEND="${PYTHON_DEPS}
215 + sys-devel/clang:15
216 + sys-devel/llvm:15
217 + clang? (
218 + || (
219 + sys-devel/lld:15
220 + sys-devel/mold
221 + )
222 + virtual/rust:0/llvm-15
223 + pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] )
224 + )
225 + app-alternatives/awk
226 + app-arch/unzip
227 + app-arch/zip
228 + >=dev-util/cbindgen-0.24.3
229 + net-libs/nodejs
230 + virtual/pkgconfig
231 + !clang? ( >=virtual/rust-1.65 )
232 + amd64? ( >=dev-lang/nasm-2.14 )
233 + x86? ( >=dev-lang/nasm-2.14 )
234 + pgo? (
235 + X? (
236 + sys-devel/gettext
237 + x11-base/xorg-server[xvfb]
238 + x11-apps/xhost
239 + )
240 + wayland? (
241 + >=gui-libs/wlroots-0.15.1-r1[tinywl]
242 + x11-misc/xkeyboard-config
243 + )
244 + )"
245 +COMMON_DEPEND="${FF_ONLY_DEPEND}
246 + >=app-accessibility/at-spi2-core-2.46.0:2
247 + dev-libs/expat
248 + dev-libs/glib:2
249 + dev-libs/libffi:=
250 + >=dev-libs/nss-3.87
251 + >=dev-libs/nspr-4.35
252 + media-libs/alsa-lib
253 + media-libs/fontconfig
254 + media-libs/freetype
255 + media-libs/mesa
256 + media-video/ffmpeg
257 + sys-libs/zlib
258 + virtual/freedesktop-icon-theme
259 + x11-libs/cairo
260 + x11-libs/gdk-pixbuf
261 + x11-libs/pango
262 + x11-libs/pixman
263 + dbus? (
264 + dev-libs/dbus-glib
265 + sys-apps/dbus
266 + )
267 + jack? ( virtual/jack )
268 + pulseaudio? (
269 + || (
270 + media-libs/libpulse
271 + >=media-sound/apulse-0.1.12-r4[sdk]
272 + )
273 + )
274 + libproxy? ( net-libs/libproxy )
275 + selinux? ( sec-policy/selinux-mozilla )
276 + sndio? ( >=media-sound/sndio-1.8.0-r1 )
277 + screencast? ( media-video/pipewire:= )
278 + system-av1? (
279 + >=media-libs/dav1d-1.0.0:=
280 + >=media-libs/libaom-1.0.0:=
281 + )
282 + system-harfbuzz? (
283 + >=media-gfx/graphite2-1.3.13
284 + >=media-libs/harfbuzz-2.8.1:0=
285 + )
286 + system-icu? ( >=dev-libs/icu-72.1:= )
287 + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
288 + system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] )
289 + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
290 + system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
291 + system-webp? ( >=media-libs/libwebp-1.1.0:0= )
292 + wayland? (
293 + >=media-libs/libepoxy-1.5.10-r1
294 + x11-libs/gtk+:3[wayland]
295 + x11-libs/libdrm
296 + x11-libs/libxkbcommon[wayland]
297 + )
298 + wifi? (
299 + kernel_linux? (
300 + dev-libs/dbus-glib
301 + net-misc/networkmanager
302 + sys-apps/dbus
303 + )
304 + )
305 + X? (
306 + virtual/opengl
307 + x11-libs/cairo[X]
308 + x11-libs/gtk+:3[X]
309 + x11-libs/libX11
310 + x11-libs/libXcomposite
311 + x11-libs/libXdamage
312 + x11-libs/libXext
313 + x11-libs/libXfixes
314 + x11-libs/libxkbcommon[X]
315 + x11-libs/libXrandr
316 + x11-libs/libXtst
317 + x11-libs/libxcb:=
318 + )"
319 +RDEPEND="${COMMON_DEPEND}
320 + jack? ( virtual/jack )
321 + openh264? ( media-libs/openh264:*[plugin] )"
322 +DEPEND="${COMMON_DEPEND}
323 + X? (
324 + x11-base/xorg-proto
325 + x11-libs/libICE
326 + x11-libs/libSM
327 + )"
328 +
329 +S="${WORKDIR}/${PN}-${PV%_*}"
330 +
331 +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
332 +# overridden in the enviromnent (advanced hackers only)
333 +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
334 + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
335 +fi
336 +
337 +llvm_check_deps() {
338 + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
339 + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
340 + return 1
341 + fi
342 +
343 + if use clang && tc-ld-is-lld ; then
344 + if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
345 + einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
346 + return 1
347 + fi
348 +
349 + if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
350 + einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
351 + return 1
352 + fi
353 +
354 + if use pgo ; then
355 + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
356 + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
357 + return 1
358 + fi
359 + fi
360 + fi
361 +
362 + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
363 +}
364 +
365 +MOZ_LANGS=(
366 + af ar ast be bg br ca cak cs cy da de dsb
367 + el en-CA en-GB en-US es-AR es-ES et eu
368 + fi fr fy-NL ga-IE gd gl he hr hsb hu
369 + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
370 + pa-IN pl pt-BR pt-PT rm ro ru
371 + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
372 +)
373 +
374 +# Firefox-only LANGS
375 +MOZ_LANGS+=( ach )
376 +MOZ_LANGS+=( an )
377 +MOZ_LANGS+=( az )
378 +MOZ_LANGS+=( bn )
379 +MOZ_LANGS+=( bs )
380 +MOZ_LANGS+=( ca-valencia )
381 +MOZ_LANGS+=( eo )
382 +MOZ_LANGS+=( es-CL )
383 +MOZ_LANGS+=( es-MX )
384 +MOZ_LANGS+=( fa )
385 +MOZ_LANGS+=( ff )
386 +MOZ_LANGS+=( gn )
387 +MOZ_LANGS+=( gu-IN )
388 +MOZ_LANGS+=( hi-IN )
389 +MOZ_LANGS+=( hy-AM )
390 +MOZ_LANGS+=( ia )
391 +MOZ_LANGS+=( km )
392 +MOZ_LANGS+=( kn )
393 +MOZ_LANGS+=( lij )
394 +MOZ_LANGS+=( mk )
395 +MOZ_LANGS+=( mr )
396 +MOZ_LANGS+=( my )
397 +MOZ_LANGS+=( ne-NP )
398 +MOZ_LANGS+=( oc )
399 +MOZ_LANGS+=( sco )
400 +MOZ_LANGS+=( si )
401 +MOZ_LANGS+=( son )
402 +MOZ_LANGS+=( szl )
403 +MOZ_LANGS+=( ta )
404 +MOZ_LANGS+=( te )
405 +MOZ_LANGS+=( tl )
406 +MOZ_LANGS+=( trs )
407 +MOZ_LANGS+=( ur )
408 +MOZ_LANGS+=( xh )
409 +
410 +mozilla_set_globals() {
411 + # https://bugs.gentoo.org/587334
412 + local MOZ_TOO_REGIONALIZED_FOR_L10N=(
413 + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
414 + )
415 +
416 + local lang xflag
417 + for lang in "${MOZ_LANGS[@]}" ; do
418 + # en and en_US are handled internally
419 + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
420 + continue
421 + fi
422 +
423 + # strip region subtag if $lang is in the list
424 + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
425 + xflag=${lang%%-*}
426 + else
427 + xflag=${lang}
428 + fi
429 +
430 + SRC_URI+=" l10n_${xflag/[_@]/-}? ("
431 + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
432 + SRC_URI+=" )"
433 + IUSE+=" l10n_${xflag/[_@]/-}"
434 + done
435 +}
436 +mozilla_set_globals
437 +
438 +moz_clear_vendor_checksums() {
439 + debug-print-function ${FUNCNAME} "$@"
440 +
441 + if [[ ${#} -ne 1 ]] ; then
442 + die "${FUNCNAME} requires exact one argument"
443 + fi
444 +
445 + einfo "Clearing cargo checksums for ${1} ..."
446 +
447 + sed -i \
448 + -e 's/\("files":{\)[^}]*/\1/' \
449 + "${S}"/third_party/rust/${1}/.cargo-checksum.json \
450 + || die
451 +}
452 +
453 +moz_install_xpi() {
454 + debug-print-function ${FUNCNAME} "$@"
455 +
456 + if [[ ${#} -lt 2 ]] ; then
457 + die "${FUNCNAME} requires at least two arguments"
458 + fi
459 +
460 + local DESTDIR=${1}
461 + shift
462 +
463 + insinto "${DESTDIR}"
464 +
465 + local emid xpi_file xpi_tmp_dir
466 + for xpi_file in "${@}" ; do
467 + emid=
468 + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
469 +
470 + # Unpack XPI
471 + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
472 +
473 + # Determine extension ID
474 + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
475 + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
476 + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
477 + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
478 + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
479 + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
480 + else
481 + die "failed to determine extension id"
482 + fi
483 +
484 + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
485 + newins "${xpi_file}" "${emid}.xpi"
486 + done
487 +}
488 +
489 +mozconfig_add_options_ac() {
490 + debug-print-function ${FUNCNAME} "$@"
491 +
492 + if [[ ${#} -lt 2 ]] ; then
493 + die "${FUNCNAME} requires at least two arguments"
494 + fi
495 +
496 + local reason=${1}
497 + shift
498 +
499 + local option
500 + for option in ${@} ; do
501 + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
502 + done
503 +}
504 +
505 +mozconfig_add_options_mk() {
506 + debug-print-function ${FUNCNAME} "$@"
507 +
508 + if [[ ${#} -lt 2 ]] ; then
509 + die "${FUNCNAME} requires at least two arguments"
510 + fi
511 +
512 + local reason=${1}
513 + shift
514 +
515 + local option
516 + for option in ${@} ; do
517 + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
518 + done
519 +}
520 +
521 +mozconfig_use_enable() {
522 + debug-print-function ${FUNCNAME} "$@"
523 +
524 + if [[ ${#} -lt 1 ]] ; then
525 + die "${FUNCNAME} requires at least one arguments"
526 + fi
527 +
528 + local flag=$(use_enable "${@}")
529 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
530 +}
531 +
532 +mozconfig_use_with() {
533 + debug-print-function ${FUNCNAME} "$@"
534 +
535 + if [[ ${#} -lt 1 ]] ; then
536 + die "${FUNCNAME} requires at least one arguments"
537 + fi
538 +
539 + local flag=$(use_with "${@}")
540 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
541 +}
542 +
543 +# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily
544 +# placed here until toolchain-funcs.eclass gets an official support for mold linker.
545 +# Please see:
546 +# https://github.com/gentoo/gentoo/pull/28366 ||
547 +# https://github.com/gentoo/gentoo/pull/28355
548 +tc-ld-is-mold() {
549 + local out
550 +
551 + # Ensure ld output is in English.
552 + local -x LC_ALL=C
553 +
554 + # First check the linker directly.
555 + out=$($(tc-getLD "$@") --version 2>&1)
556 + if [[ ${out} == *"mold"* ]] ; then
557 + return 0
558 + fi
559 +
560 + # Then see if they're selecting mold via compiler flags.
561 + # Note: We're assuming they're using LDFLAGS to hold the
562 + # options and not CFLAGS/CXXFLAGS.
563 + local base="${T}/test-tc-linker"
564 + cat <<-EOF > "${base}.c"
565 + int main() { return 0; }
566 + EOF
567 + out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1)
568 + rm -f "${base}"*
569 + if [[ ${out} == *"mold"* ]] ; then
570 + return 0
571 + fi
572 +
573 + # No mold here!
574 + return 1
575 +}
576 +
577 +virtwl() {
578 + debug-print-function ${FUNCNAME} "$@"
579 +
580 + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
581 + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset"
582 + tinywl -h >/dev/null || die 'tinywl -h failed'
583 +
584 + # TODO: don't run addpredict in utility function. WLR_RENDERER=pixman doesn't work
585 + addpredict /dev/dri
586 + local VIRTWL VIRTWL_PID
587 + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; }
588 + local -x WAYLAND_DISPLAY
589 + read WAYLAND_DISPLAY <&${VIRTWL[0]}
590 +
591 + debug-print "${FUNCNAME}: $@"
592 + "$@"
593 +
594 + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
595 + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
596 +}
597 +
598 +pkg_pretend() {
599 + if [[ ${MERGE_TYPE} != binary ]] ; then
600 + if use pgo ; then
601 + if ! has usersandbox $FEATURES ; then
602 + die "You must enable usersandbox as X server can not run as root!"
603 + fi
604 + fi
605 +
606 + # Ensure we have enough disk space to compile
607 + if use pgo || use lto || use debug ; then
608 + CHECKREQS_DISK_BUILD="13500M"
609 + else
610 + CHECKREQS_DISK_BUILD="6600M"
611 + fi
612 +
613 + check-reqs_pkg_pretend
614 + fi
615 +}
616 +
617 +pkg_setup() {
618 + if [[ ${MERGE_TYPE} != binary ]] ; then
619 + if use pgo ; then
620 + if ! has userpriv ${FEATURES} ; then
621 + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
622 + fi
623 + fi
624 +
625 + # Ensure we have enough disk space to compile
626 + if use pgo || use lto || use debug ; then
627 + CHECKREQS_DISK_BUILD="13500M"
628 + else
629 + CHECKREQS_DISK_BUILD="6400M"
630 + fi
631 +
632 + check-reqs_pkg_setup
633 +
634 + llvm_pkg_setup
635 +
636 + if use clang && use lto && tc-ld-is-lld ; then
637 + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
638 + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
639 + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
640 +
641 + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
642 + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
643 + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
644 +
645 + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
646 + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
647 + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
648 + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
649 + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
650 + eerror " - Build ${CATEGORY}/${PN} without USE=lto"
651 + eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
652 + eerror " llvm/clang/lld/rust chain depending on your @world updates)"
653 + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
654 + fi
655 + fi
656 +
657 + python-any-r1_pkg_setup
658 +
659 + # Avoid PGO profiling problems due to enviroment leakage
660 + # These should *always* be cleaned up anyway
661 + unset \
662 + DBUS_SESSION_BUS_ADDRESS \
663 + DISPLAY \
664 + ORBIT_SOCKETDIR \
665 + SESSION_MANAGER \
666 + XAUTHORITY \
667 + XDG_CACHE_HOME \
668 + XDG_SESSION_COOKIE
669 +
670 + # Build system is using /proc/self/oom_score_adj, bug #604394
671 + addpredict /proc/self/oom_score_adj
672 +
673 + if use pgo ; then
674 + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure
675 + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage
676 + # (PORTAGE_SCHEDULING_POLICY) update...
677 + addpredict /proc
678 +
679 + # May need a wider addpredict when using wayland+pgo.
680 + addpredict /dev/dri
681 +
682 + # Allow access to GPU during PGO run
683 + local ati_cards mesa_cards nvidia_cards render_cards
684 + shopt -s nullglob
685 +
686 + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
687 + if [[ -n "${ati_cards}" ]] ; then
688 + addpredict "${ati_cards}"
689 + fi
690 +
691 + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
692 + if [[ -n "${mesa_cards}" ]] ; then
693 + addpredict "${mesa_cards}"
694 + fi
695 +
696 + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
697 + if [[ -n "${nvidia_cards}" ]] ; then
698 + addpredict "${nvidia_cards}"
699 + fi
700 +
701 + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
702 + if [[ -n "${render_cards}" ]] ; then
703 + addpredict "${render_cards}"
704 + fi
705 +
706 + shopt -u nullglob
707 + fi
708 +
709 + if ! mountpoint -q /dev/shm ; then
710 + # If /dev/shm is not available, configure is known to fail with
711 + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
712 + ewarn "/dev/shm is not mounted -- expect build failures!"
713 + fi
714 +
715 + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
716 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
717 + # get your own set of keys.
718 + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
719 + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
720 + fi
721 +
722 + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
723 + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
724 + fi
725 +
726 + # Mozilla API keys (see https://location.services.mozilla.com/api)
727 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
728 + # get your own set of keys.
729 + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
730 + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
731 + fi
732 +
733 + # Ensure we use C locale when building, bug #746215
734 + export LC_ALL=C
735 + fi
736 +
737 + CONFIG_CHECK="~SECCOMP"
738 + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
739 + linux-info_pkg_setup
740 +}
741 +
742 +src_unpack() {
743 + local _lp_dir="${WORKDIR}/language_packs"
744 + local _src_file
745 +
746 + if [[ ! -d "${_lp_dir}" ]] ; then
747 + mkdir "${_lp_dir}" || die
748 + fi
749 +
750 + for _src_file in ${A} ; do
751 + if [[ ${_src_file} == *.xpi ]]; then
752 + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
753 + else
754 + unpack ${_src_file}
755 + fi
756 + done
757 +}
758 +
759 +src_prepare() {
760 + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
761 + ! use ppc64 && rm -v "${WORKDIR}"/firefox-patches/*bmo-1775202-ppc64*.patch
762 +
763 + eapply "${WORKDIR}/firefox-patches"
764 +
765 + # Allow user to apply any additional patches without modifing ebuild
766 + eapply_user
767 +
768 + # Make cargo respect MAKEOPTS
769 + export CARGO_BUILD_JOBS="$(makeopts_jobs)"
770 +
771 + # Make LTO respect MAKEOPTS
772 + sed -i \
773 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
774 + "${S}"/build/moz.configure/lto-pgo.configure \
775 + || die "sed failed to set num_cores"
776 +
777 + # Make ICU respect MAKEOPTS
778 + sed -i \
779 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
780 + "${S}"/intl/icu_sources_data.py \
781 + || die "sed failed to set num_cores"
782 +
783 + # sed-in toolchain prefix
784 + sed -i \
785 + -e "s/objdump/${CHOST}-objdump/" \
786 + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
787 + || die "sed failed to set toolchain prefix"
788 +
789 + sed -i \
790 + -e 's/ccache_stats = None/return None/' \
791 + "${S}"/python/mozbuild/mozbuild/controller/building.py \
792 + || die "sed failed to disable ccache stats call"
793 +
794 + einfo "Removing pre-built binaries ..."
795 + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
796 +
797 + # Create build dir
798 + BUILD_DIR="${WORKDIR}/${PN}_build"
799 + mkdir -p "${BUILD_DIR}" || die
800 +
801 + # Write API keys to disk
802 + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
803 + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
804 + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
805 +
806 + xdg_environment_reset
807 +}
808 +
809 +src_configure() {
810 + # Show flags set at the beginning
811 + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
812 + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
813 + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
814 + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
815 + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
816 +
817 + local have_switched_compiler=
818 + if use clang; then
819 + # Force clang
820 + einfo "Enforcing the use of clang due to USE=clang ..."
821 + if tc-is-gcc; then
822 + have_switched_compiler=yes
823 + fi
824 + AR=llvm-ar
825 + CC=${CHOST}-clang
826 + CXX=${CHOST}-clang++
827 + NM=llvm-nm
828 + RANLIB=llvm-ranlib
829 + elif ! use clang && ! tc-is-gcc ; then
830 + # Force gcc
831 + have_switched_compiler=yes
832 + einfo "Enforcing the use of gcc due to USE=-clang ..."
833 + AR=gcc-ar
834 + CC=${CHOST}-gcc
835 + CXX=${CHOST}-g++
836 + NM=gcc-nm
837 + RANLIB=gcc-ranlib
838 + fi
839 +
840 + if [[ -n "${have_switched_compiler}" ]] ; then
841 + # Because we switched active compiler we have to ensure
842 + # that no unsupported flags are set
843 + strip-unsupported-flags
844 + fi
845 +
846 + # Ensure we use correct toolchain,
847 + # AS is used in a non-standard way by upstream, #bmo1654031
848 + export HOST_CC="$(tc-getBUILD_CC)"
849 + export HOST_CXX="$(tc-getBUILD_CXX)"
850 + export AS="$(tc-getCC) -c"
851 + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG
852 +
853 + # Pass the correct toolchain paths through cbindgen
854 + if tc-is-cross-compiler ; then
855 + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
856 + fi
857 +
858 + # Set MOZILLA_FIVE_HOME
859 + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
860 +
861 + # python/mach/mach/mixin/process.py fails to detect SHELL
862 + export SHELL="${EPREFIX}/bin/bash"
863 +
864 + # Set state path
865 + export MOZBUILD_STATE_PATH="${BUILD_DIR}"
866 +
867 + # Set MOZCONFIG
868 + export MOZCONFIG="${S}/.mozconfig"
869 +
870 + # Initialize MOZCONFIG
871 + mozconfig_add_options_ac '' --enable-application=browser
872 + mozconfig_add_options_ac '' --enable-project=browser
873 +
874 + # Set Gentoo defaults
875 + export MOZILLA_OFFICIAL=1
876 +
877 + mozconfig_add_options_ac 'Gentoo default' \
878 + --allow-addon-sideload \
879 + --disable-cargo-incremental \
880 + --disable-crashreporter \
881 + --disable-gpsd \
882 + --disable-install-strip \
883 + --disable-parental-controls \
884 + --disable-strip \
885 + --disable-tests \
886 + --disable-updater \
887 + --enable-negotiateauth \
888 + --enable-new-pass-manager \
889 + --enable-official-branding \
890 + --enable-release \
891 + --enable-system-ffi \
892 + --enable-system-pixman \
893 + --enable-system-policies \
894 + --host="${CBUILD:-${CHOST}}" \
895 + --libdir="${EPREFIX}/usr/$(get_libdir)" \
896 + --prefix="${EPREFIX}/usr" \
897 + --target="${CHOST}" \
898 + --without-ccache \
899 + --without-wasm-sandboxed-libraries \
900 + --with-intl-api \
901 + --with-libclang-path="$(llvm-config --libdir)" \
902 + --with-system-nspr \
903 + --with-system-nss \
904 + --with-system-zlib \
905 + --with-toolchain-prefix="${CHOST}-" \
906 + --with-unsigned-addon-scopes=app,system \
907 + --x-includes="${ESYSROOT}/usr/include" \
908 + --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
909 +
910 + # Set update channel
911 + local update_channel=release
912 + [[ -n ${MOZ_ESR} ]] && update_channel=esr
913 + mozconfig_add_options_ac '' --update-channel=${update_channel}
914 +
915 + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
916 + mozconfig_add_options_ac '' --enable-rust-simd
917 + fi
918 +
919 + # For future keywording: This is currently (97.0) only supported on:
920 + # amd64, arm, arm64 & x86.
921 + # Might want to flip the logic around if Firefox is to support more arches.
922 + if use ppc64; then
923 + mozconfig_add_options_ac '' --disable-sandbox
924 + else
925 + mozconfig_add_options_ac '' --enable-sandbox
926 + fi
927 +
928 + if [[ -s "${S}/api-google.key" ]] ; then
929 + local key_origin="Gentoo default"
930 + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
931 + key_origin="User value"
932 + fi
933 +
934 + mozconfig_add_options_ac "${key_origin}" \
935 + --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
936 + else
937 + einfo "Building without Google API key ..."
938 + fi
939 +
940 + if [[ -s "${S}/api-location.key" ]] ; then
941 + local key_origin="Gentoo default"
942 + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
943 + key_origin="User value"
944 + fi
945 +
946 + mozconfig_add_options_ac "${key_origin}" \
947 + --with-google-location-service-api-keyfile="${S}/api-location.key"
948 + else
949 + einfo "Building without Location API key ..."
950 + fi
951 +
952 + if [[ -s "${S}/api-mozilla.key" ]] ; then
953 + local key_origin="Gentoo default"
954 + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
955 + key_origin="User value"
956 + fi
957 +
958 + mozconfig_add_options_ac "${key_origin}" \
959 + --with-mozilla-api-keyfile="${S}/api-mozilla.key"
960 + else
961 + einfo "Building without Mozilla API key ..."
962 + fi
963 +
964 + mozconfig_use_with system-av1
965 + mozconfig_use_with system-harfbuzz
966 + mozconfig_use_with system-harfbuzz system-graphite2
967 + mozconfig_use_with system-icu
968 + mozconfig_use_with system-jpeg
969 + mozconfig_use_with system-libevent
970 + mozconfig_use_with system-libvpx
971 + mozconfig_use_with system-png
972 + mozconfig_use_with system-webp
973 +
974 + mozconfig_use_enable dbus
975 + mozconfig_use_enable libproxy
976 +
977 + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
978 +
979 + mozconfig_use_enable geckodriver
980 +
981 + if use hardened ; then
982 + mozconfig_add_options_ac "+hardened" --enable-hardening
983 + append-ldflags "-Wl,-z,relro -Wl,-z,now"
984 + fi
985 +
986 + local myaudiobackends=""
987 + use jack && myaudiobackends+="jack,"
988 + use sndio && myaudiobackends+="sndio,"
989 + use pulseaudio && myaudiobackends+="pulseaudio,"
990 + ! use pulseaudio && myaudiobackends+="alsa,"
991 +
992 + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
993 +
994 + mozconfig_use_enable wifi necko-wifi
995 +
996 + if use X && use wayland ; then
997 + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
998 + elif ! use X && use wayland ; then
999 + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only
1000 + else
1001 + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3
1002 + fi
1003 +
1004 + if use lto ; then
1005 + if use clang ; then
1006 + # Upstream only supports lld or mold when using clang.
1007 + if tc-ld-is-mold ; then
1008 + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
1009 + else
1010 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
1011 + fi
1012 +
1013 + mozconfig_add_options_ac '+lto' --enable-lto=cross
1014 +
1015 + else
1016 + # ThinLTO is currently broken, see bmo#1644409.
1017 + # mold does not support gcc+lto combination.
1018 + mozconfig_add_options_ac '+lto' --enable-lto=full
1019 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
1020 + fi
1021 +
1022 + if use pgo ; then
1023 + mozconfig_add_options_ac '+pgo' MOZ_PGO=1
1024 +
1025 + if use clang ; then
1026 + # Used in build/pgo/profileserver.py
1027 + export LLVM_PROFDATA="llvm-profdata"
1028 + fi
1029 + fi
1030 + else
1031 + # Avoid auto-magic on linker
1032 + if use clang ; then
1033 + # lld is upstream's default
1034 + if tc-ld-is-mold ; then
1035 + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
1036 + else
1037 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
1038 + fi
1039 +
1040 + else
1041 + if tc-ld-is-mold ; then
1042 + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
1043 + else
1044 + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd
1045 + fi
1046 + fi
1047 + fi
1048 +
1049 + # LTO flag was handled via configure
1050 + filter-flags '-flto*'
1051 +
1052 + mozconfig_use_enable debug
1053 + if use debug ; then
1054 + mozconfig_add_options_ac '+debug' --disable-optimize
1055 + mozconfig_add_options_ac '+debug' --enable-real-time-tracing
1056 + else
1057 + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing
1058 +
1059 + if is-flag '-g*' ; then
1060 + if use clang ; then
1061 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
1062 + else
1063 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
1064 + fi
1065 + else
1066 + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
1067 + fi
1068 +
1069 + if is-flag '-O0' ; then
1070 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
1071 + elif is-flag '-O4' ; then
1072 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
1073 + elif is-flag '-O3' ; then
1074 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
1075 + elif is-flag '-O1' ; then
1076 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
1077 + elif is-flag '-Os' ; then
1078 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
1079 + else
1080 + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
1081 + fi
1082 + fi
1083 +
1084 + # Debug flag was handled via configure
1085 + filter-flags '-g*'
1086 +
1087 + # Optimization flag was handled via configure
1088 + filter-flags '-O*'
1089 +
1090 + # Modifications to better support ARM, bug #553364
1091 + if use cpu_flags_arm_neon ; then
1092 + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
1093 +
1094 + if ! tc-is-clang ; then
1095 + # thumb options aren't supported when using clang, bug 666966
1096 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \
1097 + --with-thumb=yes \
1098 + --with-thumb-interwork=no
1099 + fi
1100 + fi
1101 +
1102 + if [[ ${CHOST} == armv*h* ]] ; then
1103 + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
1104 +
1105 + if ! use system-libvpx ; then
1106 + sed -i \
1107 + -e "s|softfp|hard|" \
1108 + "${S}"/media/libvpx/moz.build \
1109 + || die
1110 + fi
1111 + fi
1112 +
1113 + if use clang ; then
1114 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
1115 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
1116 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
1117 + local disable_elf_hack=
1118 + if use amd64 ; then
1119 + disable_elf_hack=yes
1120 + elif use x86 ; then
1121 + disable_elf_hack=yes
1122 + elif use arm ; then
1123 + disable_elf_hack=yes
1124 + fi
1125 +
1126 + if [[ -n ${disable_elf_hack} ]] ; then
1127 + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
1128 + fi
1129 + elif tc-is-gcc ; then
1130 + if ver_test $(gcc-fullversion) -ge 10 ; then
1131 + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
1132 + append-cxxflags -fno-tree-loop-vectorize
1133 + fi
1134 + fi
1135 +
1136 + # Additional ARCH support
1137 + case "${ARCH}" in
1138 + arm)
1139 + # Reduce the memory requirements for linking
1140 + if use clang ; then
1141 + # Nothing to do
1142 + :;
1143 + elif use lto ; then
1144 + append-ldflags -Wl,--no-keep-memory
1145 + else
1146 + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
1147 + fi
1148 + ;;
1149 + esac
1150 +
1151 + if ! use elibc_glibc ; then
1152 + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
1153 + fi
1154 +
1155 + # Allow elfhack to work in combination with unstripped binaries
1156 + # when they would normally be larger than 2GiB.
1157 + append-ldflags "-Wl,--compress-debug-sections=zlib"
1158 +
1159 + # Make revdep-rebuild.sh happy; Also required for musl
1160 + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
1161 +
1162 + # Pass $MAKEOPTS to build system
1163 + export MOZ_MAKE_FLAGS="${MAKEOPTS}"
1164 +
1165 + # Use system's Python environment
1166 + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
1167 +
1168 + if use system-python-libs; then
1169 + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system"
1170 + else
1171 + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
1172 + fi
1173 +
1174 + # Disable notification when build system has finished
1175 + export MOZ_NOSPAM=1
1176 +
1177 + # Portage sets XARGS environment variable to "xargs -r" by default which
1178 + # breaks build system's check_prog() function which doesn't support arguments
1179 + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
1180 +
1181 + # Set build dir
1182 + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
1183 +
1184 + # Show flags we will use
1185 + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
1186 + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
1187 + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
1188 + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
1189 + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
1190 +
1191 + # Handle EXTRA_CONF and show summary
1192 + local ac opt hash reason
1193 +
1194 + # Apply EXTRA_ECONF entries to $MOZCONFIG
1195 + if [[ -n ${EXTRA_ECONF} ]] ; then
1196 + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
1197 + for opt in "${ac[@]}"; do
1198 + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
1199 + done
1200 + fi
1201 +
1202 + echo
1203 + echo "=========================================================="
1204 + echo "Building ${PF} with the following configuration"
1205 + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
1206 + [[ -z ${hash} || ${hash} == \# ]] \
1207 + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
1208 + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
1209 + done
1210 + echo "=========================================================="
1211 + echo
1212 +
1213 + ./mach configure || die
1214 +}
1215 +
1216 +src_compile() {
1217 + local virtx_cmd=
1218 +
1219 + if use pgo; then
1220 + # Reset and cleanup environment variables used by GNOME/XDG
1221 + gnome2_environment_reset
1222 +
1223 + addpredict /root
1224 +
1225 + if ! use X; then
1226 + virtx_cmd=virtwl
1227 + else
1228 + virtx_cmd=virtx
1229 + fi
1230 + fi
1231 +
1232 + if ! use X; then
1233 + local -x GDK_BACKEND=wayland
1234 + else
1235 + local -x GDK_BACKEND=x11
1236 + fi
1237 +
1238 + ${virtx_cmd} ./mach build --verbose || die
1239 +}
1240 +
1241 +src_install() {
1242 + # xpcshell is getting called during install
1243 + pax-mark m \
1244 + "${BUILD_DIR}"/dist/bin/xpcshell \
1245 + "${BUILD_DIR}"/dist/bin/${PN} \
1246 + "${BUILD_DIR}"/dist/bin/plugin-container
1247 +
1248 + DESTDIR="${D}" ./mach install || die
1249 +
1250 + # Upstream cannot ship symlink but we can (bmo#658850)
1251 + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
1252 + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
1253 +
1254 + # Don't install llvm-symbolizer from sys-devel/llvm package
1255 + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
1256 + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
1257 + fi
1258 +
1259 + # Install policy (currently only used to disable application updates)
1260 + insinto "${MOZILLA_FIVE_HOME}/distribution"
1261 + newins "${FILESDIR}"/distribution.ini distribution.ini
1262 + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
1263 +
1264 + # Install system-wide preferences
1265 + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
1266 + insinto "${PREFS_DIR}"
1267 + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
1268 +
1269 + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
1270 +
1271 + # Set dictionary path to use system hunspell
1272 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
1273 + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
1274 + EOF
1275 +
1276 + # Force hwaccel prefs if USE=hwaccel is enabled
1277 + if use hwaccel ; then
1278 + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
1279 + >>"${GENTOO_PREFS}" \
1280 + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
1281 +
1282 + if use wayland; then
1283 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
1284 + pref("gfx.x11-egl.force-enabled", false);
1285 + EOF
1286 + else
1287 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
1288 + pref("gfx.x11-egl.force-enabled", true);
1289 + EOF
1290 + fi
1291 + fi
1292 +
1293 + if ! use gmp-autoupdate ; then
1294 + local plugin
1295 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1296 + einfo "Disabling auto-update for ${plugin} plugin ..."
1297 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
1298 + pref("media.${plugin}.autoupdate", false);
1299 + EOF
1300 + done
1301 + fi
1302 +
1303 + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
1304 + if use system-harfbuzz ; then
1305 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
1306 + sticky_pref("gfx.font_rendering.graphite.enabled", true);
1307 + EOF
1308 + fi
1309 +
1310 + # Install language packs
1311 + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
1312 + if [[ -n "${langpacks}" ]] ; then
1313 + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
1314 + fi
1315 +
1316 + # Install geckodriver
1317 + if use geckodriver ; then
1318 + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
1319 + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
1320 + exeinto "${MOZILLA_FIVE_HOME}"
1321 + doexe "${BUILD_DIR}"/dist/bin/geckodriver
1322 +
1323 + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
1324 + fi
1325 +
1326 + # Install icons
1327 + local icon_srcdir="${S}/browser/branding/official"
1328 + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
1329 +
1330 + insinto /usr/share/icons/hicolor/symbolic/apps
1331 + newins "${icon_symbolic_file}" ${PN}-symbolic.svg
1332 +
1333 + local icon size
1334 + for icon in "${icon_srcdir}"/default*.png ; do
1335 + size=${icon%.png}
1336 + size=${size##*/default}
1337 +
1338 + if [[ ${size} -eq 48 ]] ; then
1339 + newicon "${icon}" ${PN}.png
1340 + fi
1341 +
1342 + newicon -s ${size} "${icon}" ${PN}.png
1343 + done
1344 +
1345 + # Install menu
1346 + local app_name="Mozilla ${MOZ_PN^}"
1347 + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
1348 + local desktop_filename="${PN}.desktop"
1349 + local exec_command="${PN}"
1350 + local icon="${PN}"
1351 + local use_wayland="false"
1352 +
1353 + if use wayland ; then
1354 + use_wayland="true"
1355 + fi
1356 +
1357 + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
1358 +
1359 + sed -i \
1360 + -e "s:@NAME@:${app_name}:" \
1361 + -e "s:@EXEC@:${exec_command}:" \
1362 + -e "s:@ICON@:${icon}:" \
1363 + "${WORKDIR}/${PN}.desktop-template" \
1364 + || die
1365 +
1366 + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
1367 +
1368 + rm "${WORKDIR}/${PN}.desktop-template" || die
1369 +
1370 + # Install wrapper script
1371 + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
1372 + newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
1373 +
1374 + # Update wrapper
1375 + sed -i \
1376 + -e "s:@PREFIX@:${EPREFIX}/usr:" \
1377 + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
1378 + -e "s:@APULSELIB_DIR@:${apulselib}:" \
1379 + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
1380 + "${ED}/usr/bin/${PN}" \
1381 + || die
1382 +}
1383 +
1384 +pkg_preinst() {
1385 + xdg_pkg_preinst
1386 +
1387 + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
1388 + # does not need to be forced into the LD_LIBRARY_PATH
1389 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1390 + einfo "APULSE found; Generating library symlinks for sound support ..."
1391 + local lib
1392 + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
1393 + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
1394 + # A quickpkg rolled by hand will grab symlinks as part of the package,
1395 + # so we need to avoid creating them if they already exist.
1396 + if [[ ! -L ${lib##*/} ]] ; then
1397 + ln -s "${lib}" ${lib##*/} || die
1398 + fi
1399 + done
1400 + popd &>/dev/null || die
1401 + fi
1402 +}
1403 +
1404 +pkg_postinst() {
1405 + xdg_pkg_postinst
1406 +
1407 + if ! use gmp-autoupdate ; then
1408 + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
1409 + elog "installing into new profiles:"
1410 + local plugin
1411 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1412 + elog "\t ${plugin}"
1413 + done
1414 + elog
1415 + fi
1416 +
1417 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1418 + elog "Apulse was detected at merge time on this system and so it will always be"
1419 + elog "used for sound. If you wish to use pulseaudio instead please unmerge"
1420 + elog "media-sound/apulse."
1421 + elog
1422 + fi
1423 +
1424 + local show_doh_information
1425 + local show_normandy_information
1426 + local show_shortcut_information
1427 +
1428 + if [[ -z "${REPLACING_VERSIONS}" ]] ; then
1429 + # New install; Tell user that DoH is disabled by default
1430 + show_doh_information=yes
1431 + show_normandy_information=yes
1432 + show_shortcut_information=no
1433 + else
1434 + local replacing_version
1435 + for replacing_version in ${REPLACING_VERSIONS} ; do
1436 + if ver_test "${replacing_version}" -lt 91.0 ; then
1437 + # Tell user that we no longer install a shortcut
1438 + # per supported display protocol
1439 + show_shortcut_information=yes
1440 + fi
1441 + done
1442 + fi
1443 +
1444 + if [[ -n "${show_doh_information}" ]] ; then
1445 + elog
1446 + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
1447 + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
1448 + elog "DNS traffic to Cloudflare by default is not a good idea and applications"
1449 + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
1450 + elog "(\"Off by choice\") by default."
1451 + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
1452 + fi
1453 +
1454 + # bug 713782
1455 + if [[ -n "${show_normandy_information}" ]] ; then
1456 + elog
1457 + elog "Upstream operates a service named Normandy which allows Mozilla to"
1458 + elog "push changes for default settings or even install new add-ons remotely."
1459 + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
1460 + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
1461 + elog "concerns prevail, which is why we have switched off the use of this"
1462 + elog "service by default."
1463 + elog
1464 + elog "To re-enable this service set"
1465 + elog
1466 + elog " app.normandy.enabled=true"
1467 + elog
1468 + elog "in about:config."
1469 + fi
1470 +
1471 + if [[ -n "${show_shortcut_information}" ]] ; then
1472 + elog
1473 + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
1474 + elog "each supported display protocol. Instead we will only install"
1475 + elog "one generic Mozilla ${PN^} shortcut."
1476 + elog "If you still want to be able to select between running Mozilla ${PN^}"
1477 + elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
1478 + fi
1479 +
1480 + # bug 835078
1481 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
1482 + ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
1483 + ewarn "enabled for Firefox. Nouveau / your GPU might not support the "
1484 + ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
1485 + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
1486 + fi
1487 +
1488 + elog
1489 + elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using "
1490 + elog "useragent checks. To temporarily fix this, enter about:config and modify "
1491 + elog "network.http.useragent.forceVersion preference to \"99\"."
1492 + elog "Or install an addon to change your useragent."
1493 + elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100"
1494 + elog
1495 +}