summaryrefslogtreecommitdiff
path: root/www-client/firefox
diff options
context:
space:
mode:
Diffstat (limited to 'www-client/firefox')
-rw-r--r--www-client/firefox/Manifest103
-rw-r--r--www-client/firefox/firefox-115.0.2.ebuild1459
-rw-r--r--www-client/firefox/metadata.xml2
3 files changed, 1563 insertions, 1 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index e5beecbb8a63..b2747dd938bc 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -508,10 +508,111 @@ DIST firefox-115.0-vi.xpi 631054 BLAKE2B 78293b383d62796d9731cfa669671c3405faba2
DIST firefox-115.0-xh.xpi 429450 BLAKE2B 206183f10758acde849aaddf3ac261c49fc49c274ca643ae46b0609779b18b85391df3a2f3e34b4854f4234860df374c8aadb2711a0220f8414dcd0988c0fd9a SHA512 e696b5a960f12173e6766002f6cb8b743c422ea13d0067ca1c78b6626846fb42216dec1fac536407c3a4466cbc48c25cc7526544537a3be4215882f6beceeb24
DIST firefox-115.0-zh-CN.xpi 629739 BLAKE2B 4fdd9f7534512796b5540aa08a0519bebeb12b1d41ebfa6b7669de94a68769b53bbb90535c5b7473f3791378fdd92a7bd3901189dcf93e6a8a5fa437a45ba9bc SHA512 9ba2ccfe09104ee005f39a6171724f0fdfa89d11dac3d1747c77d431513ac4cec1b5cd869ad003f8b07249fdff7bdc335e7596a5326b4e6d738809d1d79a610e
DIST firefox-115.0-zh-TW.xpi 631510 BLAKE2B ceb95485fd162e056a4d02b310d751d3023963d4cd64d11205fd06198ee4757c83601cfa65163ecb2c1868fdf7d8872beb0b1dc491dd4b59fba98330398d8fb0 SHA512 afa77b7e710329af3cb1c8b1fd65a42e5c2bac52495a3917047b7fa7e5d813cb4e39d03e649e6aed34449011926cd82baa2c7fa31eefb969f9806c1d9485b052
+DIST firefox-115.0.2-ach.xpi 469325 BLAKE2B a2989debc49362fabba6dc6d7d47cb4fb65aeb898e52e45d7ecb7bd7b5343c94600adad3e614f57c14491cc5c62e3dedf38839b8b06fcdf0dc1f62d220953d4b SHA512 373ad7914d4cf2348faa21f8539bbea2583d8e35bc00c647d8c68bfdaf59f67dc9aa413d62d45c1f4ddc120d92e854cec34721d5e4238f3abeb1fda95970c3bb
+DIST firefox-115.0.2-af.xpi 430126 BLAKE2B 87f2a05edc259b463261be7e6115df4a69facce3b49c766f7b3f55b6f3540ddd4e3c24b880e2f4da054fc5fa004ac7bde1bc6627f9804282e9b28a7e3f0577fa SHA512 2e79fd92f8ef924aae69cfabe86aabaf0cd9aca96e37e651fee5981a22336fed801a490ce0b4cf74e41966a24f88148384eec2b36054b35ec0a5c38b5f055b84
+DIST firefox-115.0.2-an.xpi 514826 BLAKE2B 32441bf332e8e5aa66c6df851084c6dfb28faa5fa1bd45b46ef6fba15882694d689314109482027402fb8fffe9fc3a037a2ee3a185450096dd339e871b230989 SHA512 c462a6e9cd53db577ea705801c4492fd9cf74ce0a218bc13d828591caddc8a9ff1811a0c404bb97ac0a0152abc9e811dd4d7eac285242b7361275c785dec99cf
+DIST firefox-115.0.2-ar.xpi 583866 BLAKE2B 63bedd4422ab32507b140d75cd4a2ffface755e05e517ede985a33e7527bee3b177cd5b9d9b528031ab4b3f1bfd114282f07a4be28f0460c02cd8a2f23a619e1 SHA512 a77b2633b73a1fdf12a5976393138439ee570827b7d46f4621671af65e0ae6fa4cf43d9750c67754df8d8697faeeb2ab50fa68ed73a91f0f6f89b4067a050bed
+DIST firefox-115.0.2-ast.xpi 496707 BLAKE2B f69c446391774c52e5b166602dc7b4fd16ae91a3acbce8161b45016c0152052fcf9e3670953421f0af2932272c9d4cbb0d1d15679a1613a0af4f07950b4c6e2c SHA512 25a593d4acddac84b8c5695e9ca717170edb2a6d767b2e838d796c217ac96bd065f16d49952963d362e8c96af5b03a32b6003fd74f767e0a0435a6ae7b572102
+DIST firefox-115.0.2-az.xpi 501990 BLAKE2B 9ee2a25ae11d0dc2da4e0601a14bddcd8762c3759312261af473161c67f80908e266ed21f35ea2fcb24adf648b592605741856175077a41f8ccdd93ffa4c4a57 SHA512 6afcc1a5c2884b60cc0f92319bd75f881c6b797f1652adab9a66ca5a1df208221eceae5ed925606f166f59885e172697b080cd51db7139e6f89a2d1aada7dcb2
+DIST firefox-115.0.2-be.xpi 686956 BLAKE2B 95a0635ae23590a8026edb45fff7245b240deccfbac1a7e7b0d3cdbc37f45cb62d5ac4c2dbb657fcfaa06e1a5915763b3037bf174605d113396a901c72520dfd SHA512 3ca9fc2fb5ff86f17a44362e36ab8c73bc6c65063c05b80cb869223b9d65d6ba5d1575ed2d547bfcd5ba206733b2af96ca5802aa8f6a339f2e7c38b1c7e7d1c7
+DIST firefox-115.0.2-bg.xpi 600445 BLAKE2B a640ac8eefaff06015cb47c9f7ae92977713d28b9bc73b1525fb680aa175ea4d4ca6ada1427da40cf6b36d71b02cdbcb7d247fcfdb70e786964172dac07da272 SHA512 c246ab14009b239a9ad0116762a582b414efd3dc7468f087af56a697de927404ca8e56a972d1607b2782ff58a3278414754437a0a739cd997045c6d86b9a0bfe
+DIST firefox-115.0.2-bn.xpi 593735 BLAKE2B 67d45b26eb96ead3caaaa6a1ae10f5674abb3b11299e4d8864c0548c62345b1faa535ce3a855db5784d88e9268a024e3e7dd4e10d0f2840e4087af06e5fc6aa8 SHA512 3758151cbb3f56806483195f4cfea74abb472af3b2764168c57ac05d5add559711ed338b76f2ae7f8dab50c0a4c65288912d602b9c389dcdebdf1c2f07969916
+DIST firefox-115.0.2-br.xpi 565393 BLAKE2B b183ed667e283357579e762e138cf6ca002dd3d37bdcba2e307c30e08cbac9af058be29aac758892bdb285ddef46260df65b5ca0de614be2f95a16bc874fc54b SHA512 f29bc850977cb2aff30c6454374877abddaeea687cf67ce35d0b804954face525a25da7c80984cf09e052e4566c908722cd29266a0b8c468668eeefb4cea5f65
+DIST firefox-115.0.2-bs.xpi 474036 BLAKE2B 0ec155ca400736938631c25cb37eebbaf6c4643dcab6e8f01a679f81609c8940f14ac782adc967fa3b57c07d546eb5627ee638453a98a3b60498f3538b764065 SHA512 576f31e6914d718fc4df365f7ed1d8308a4f0ecda979a4a6b8410d96cc77154d2dd135c360ee8b313f2a442bbe7cec6cfc6c862d38eb73464125cf91fad76aa0
+DIST firefox-115.0.2-ca-valencia.xpi 554623 BLAKE2B 409f82c2f25580637b909e71e0ecd6e4535b2c54ee61e53cc2ee00a0e88e9372ba1404a6448c4e9e4fa35cafa416a4702c8392e660a89fd3f7c8e23ed3b703b9 SHA512 2daf6d4a6f581274e9afe7535af2ae0708e2e12d5c25bb03a70471e1a284961465913350e8c7f5877a3717569fd220c308e08500d22ef00f9d3ed0cc2b5c456f
+DIST firefox-115.0.2-ca.xpi 576657 BLAKE2B 92cab038b49a04af05497768681e280674bf1aa30acf46cdcccc4baf9bd3fcf847f62cbac3fa1374a572b4344e10826c5701c67f258ad6f95a9a504adf2bed6a SHA512 09a909f5288ce7042e990cc1126a1ef3f1576c689966bec773190bddca457da0ec4552170ce53ed6fdcb54071480da088b552e1ea0e6ccd422aab86bdb72e384
+DIST firefox-115.0.2-cak.xpi 599844 BLAKE2B fe73402612e13a60d76a925667fa67e382bbef39c2f47238ee2f47148f71c9268a263e38a68fb0bf1042c25d4f8fc3801cb070e742dc0b49ac783f6b9abd5411 SHA512 0060763719f3518313be9d6e3d31389312e20cae45fe4910120f5d1c2d1efd1f5cb19194ee71dbcf830b8c3023750bccde93399cc90a30bddc00224169f09cbd
+DIST firefox-115.0.2-cs.xpi 627667 BLAKE2B 13a5afc9bf3021c11c63f36e287e2476ee5a470e4ece17bf0b5d094e20efe6ab567c222892ca4f0f4676f656d211ef7916bdf5d3af9c8e49b6badc14bbc4857c SHA512 bf19071bb096882cf6656d838f76ea8e2687b6ec8f7a38c04cb4d2c7592c9396540caff9d04c8c7376629163dc1f42469e5526fd2df416abddf3c411044da97f
+DIST firefox-115.0.2-cy.xpi 598167 BLAKE2B 4e89041f9beba76d33e42ba29ac81e93e997d617316dd1bbad2e7f15c5ec0bf05b55f22f56bb49257113ee441f9d46abd1dff144fd1263be3040b0ac69f4a061 SHA512 a60bd9023a36e56f356fc5d795be23a7ef2aaa78bbc6be68e29f70f6eff8551c6c776f68080dbf88d6501bb4cdfad144f9c14456b632d6b7186a7c0fac83c4e2
+DIST firefox-115.0.2-da.xpi 587172 BLAKE2B 72df606c66251326c924e1e374368258dcb6d70276986a9312bee6ceeec2037b7d132a637c5c8ffbb891e8cc0d20bb9644c592baa294d7fb26800bebb98fcbf6 SHA512 c674ac961295b3726677e261dd48bc45975d97cc835d2af5b8ceda6154368629dbb9c4fa4a51bdfa5571e9025aa58881f7c513966227ba32d94f13ad1632a980
+DIST firefox-115.0.2-de.xpi 608957 BLAKE2B 23d0a1cb8eb302c9fded9c3e48187b7846a2c3512506798eb8d3f0ca0e3a74c03a5395d78caa913a5b599479152952c6b8c067abb6fe172f230dd480a5b42653 SHA512 0d4aacea6bd9a3fd2fb0a65f8deb54f7e01f8e038a7b8ebb357de5c7dd711446f0234160d35de98564288cfafd8b608ac4cf9a845723a47170fb647d1e1cdfdc
+DIST firefox-115.0.2-dsb.xpi 620451 BLAKE2B 072c4dab4c8b251afef55ee32c86e732e3782ffa871a7515a64197547aaf9696601c6e74e8582f3782e21ea4b0b9374f119f75563c531d8c30903c48ff9e6db4 SHA512 d49282c9c94aade87c90702d66274f06a55ab5513cdf045ea785a9dab5f2e0569eaf2bb296702620c6ad10a153b23d11e5927b62adae629167784779ad6db58e
+DIST firefox-115.0.2-el.xpi 703017 BLAKE2B e950f5e12e724fabf1131263c7f248dcd80d1e959ceb2458ac25f02b6e7a7666dc0ea46e20b22043ad16320716cd24a45c12f2e51c54c4ee82101a8cf9d0e19a SHA512 a1b608a18d333d7b7a38b7e281007fcd979d8fc61ee2e35a0bc21baa0d341c9f1afe7d712c1ebc3ca7488a68660f747d757a2a5df9927b329af6f36ed9b4ebd5
+DIST firefox-115.0.2-en-CA.xpi 551507 BLAKE2B 19537f42ab2409578a1f3dbea46dbe027fcf136923e554c0242d28ecdb0812732e563451c0db2f461ff33bad1c309c46a6ed1f2e0ee8dc1c6d99f419d7233c80 SHA512 5a568950255cb24f9ed8e97f157108aa6dc939f0f9733f2ee45deabc0d3c2fa57ed42c1302306ac58523889c9eb0d960b47a47e8bc0af0094518395f17390cf0
+DIST firefox-115.0.2-en-GB.xpi 561372 BLAKE2B c9ec9a60cf9f0b8f52e50f5b83a6fced6fd6435fb7cfb822e98bf9914a843495f38191214f3734257732f0876eac7ab74bd8f4664b281dc23965457558d77294 SHA512 9dbc16cfc19e0e40eae29a721261ebbfdfab8861bcf9abf05f1048d73567a2c6608b52cbb95128a876f8784de13cf91441da0af2196445f62c008b0405d9faab
+DIST firefox-115.0.2-eo.xpi 583959 BLAKE2B 76f240466b7bb3940241a84fc0be313abb039dddff30b7311a601486caee68ffd2834cdaceeef9c8c3220af67d0d774fc72a3c57c14d29c6676e0e86f5068487 SHA512 7c0bccf25d24ce3a54b2aea37cfea33139d87daaa5814ee450e9b72e1b0cefa72216aa914d791c7bca6d22446bc84642b6d65faaa24692c7ef18b1d2b4e158f3
+DIST firefox-115.0.2-es-AR.xpi 602639 BLAKE2B 4f0229d3c3f686b461a44857861cac71222e4dfd5704cfa4fa53e447204096386c4e0bfd81d216447880a55174f72b6000ea1c408356a5ab2098614954c1c55c SHA512 0f72ab773cd0fd029babb4b8616a2c1f2bf298acc0a6d684b7c111b3596dfc36963f5e84062034b5b54a24f4418e7807c235d42319d5e285bf2f1065b5280bdf
+DIST firefox-115.0.2-es-CL.xpi 601312 BLAKE2B 1aa8caa081a2c8e466e97e59c89279f8fb998ad588cfb0a494e8846c7a7daf1190436940c2218ff96a52c02285c47878c2aeee828f52c64b893005f3c8189fa4 SHA512 3f7a9b722cf70eb8992ed41f79eb8343670227948010aeb603981acfc077e189502201e9ffe93520134bf4a20087d02c4803589f79bdefc888f0d0e7a272859a
+DIST firefox-115.0.2-es-ES.xpi 595249 BLAKE2B 73db55faeffd60a1c32455ec72c6d8c041638ac29b55d7c3a2e7af295f34a1202037115617f3e23c36f325024029d244c5c5292d322daa9c9da71557040a16e0 SHA512 2e5d37fcbd4e190e9fd8a1661f220a413e67551f78eef161d29ce88ac1cf23e655eead773c12e811194f4b4627590cfe24e0741b3a9946482af479bc4008c271
+DIST firefox-115.0.2-es-MX.xpi 600973 BLAKE2B 4e5a336b614e813e0d7509f01bf8d3fe928ece17d7c67af4316d0bbd4125587c3c5a7f41aae644251267cf789573e99436b2d78bdc885916821e8a8116bd8177 SHA512 b627379565450e69cd5c589b10844d4020d786a5887f77e33d0c49c13a4caa9b1110b2f1970531811663ce63b7a680dcaca0007fe9f2dd03d6bb5152d4cf4519
+DIST firefox-115.0.2-et.xpi 548992 BLAKE2B 0c37cd9113383074c4ce2d3a13fd38fd4f263373fd717669b5b28db36df017263af1546962b58f12113d0205323d941679cfe8963b6e678596ae9ee127652473 SHA512 f7928347a5d1ed4e87807a7bdb5a213cc27110d4e438ff2ef3e61bfb03e4826249a6cb6cfbe6d6d4ce34d72e661ddb15d460d15dc5914ce0a55837ffb368a721
+DIST firefox-115.0.2-eu.xpi 586432 BLAKE2B 046bdcf7fd6d480fd5669e845aea41a90cc42db223c685c608cf6724c817b00359ed2c7fc3b78fdd177c472fdd2c8482e60b98b60ea8e89feea53b111864f7b5 SHA512 23035d8561e8dac308aa4bddae742967ee8d8bdb21ee7ad8b038c28c4cc04f0c2113c28a7a503e744c1335cb8aa761721b0c60717786df07de47ad1b64beaeb6
+DIST firefox-115.0.2-fa.xpi 601519 BLAKE2B bfb1e114636b6e9c89055b10e475c15891e68ca006e40f9c9dc8e4d281b1f8fb8c1321f6ccf89793e9f9b14142f0c9115a17599a625a53a0b58c12f231261c36 SHA512 9dea16dbb2de3a54e598c8a894e3fafae385115b952fe15090cf6964acbc91a583802194b17fd012e219cb360026dd14ce0fdfdf8f1b1235d53d5a41e3d2d919
+DIST firefox-115.0.2-ff.xpi 485924 BLAKE2B 07a350d2a6d10eb5bd241971d184d8bfeb674e441d899324c4a2792eafacd36cf32d96ca0db83f877668d777d9c607b1ddf5a1f3a22bf5237a03455e888d82fd SHA512 3a65e4a9af80c78060e8585dbf17e4c71b17f1bcdf4e80d83be8c8edf4851e11b0591206206fd1d40af303adf6d0611ca58f900a35cbd52e2cba36392baa47ca
+DIST firefox-115.0.2-fi.xpi 586044 BLAKE2B 4825eaf6c606f48ed4c30ec9d3414a638d2ef284aea7381a8db3937d7495f03453e5d4e43c3a8ab62790fc6b446904ca79cee184099e42e2c9a5c826b62a1c5d SHA512 019c0c62d97935363cd1c4491d1f4706746db85acdcefbc62d2c894a817a0b91119a8c205710ceeeccefa626b5315e3d28d035357c73ba99ae39007bf780a67f
+DIST firefox-115.0.2-fr.xpi 615065 BLAKE2B 1b4c52b298f64873968e702f6869dc5afbb152883111c6a41e5c2b7e85522aa39458027bbdaa4d4b1e574e3ae2b76f10190c1ed980b65952b1d2fa50b09549d3 SHA512 cb21fc64c995f81d3bd63530000ea93d7a754afeda0a1186727827cd581979ce1a44d8af6c2675583ef378dd414542d02cd70dd39b9563f1f6d98bfe51bdd4ad
+DIST firefox-115.0.2-fur.xpi 606893 BLAKE2B e70c153aa38a9c05c100ff4dde4e2b1d698fae75b67262b467606aa06ab6b5686f699dd21c555ebc8bea1e98cf2b123c12754fcdbce12e1a95d67e9512700a09 SHA512 df49d308abea65372bbb70e9ed1754400f0e1d698d4f10d4534b297ca3436898ee8829bf207d4d390f7e67ee11874d2fa10be843d912c5a106c924038bcd6295
+DIST firefox-115.0.2-fy-NL.xpi 598092 BLAKE2B 25ebfcf9ea937df000f8d6f769090bf2daac98ba6cea58bc521d44a29143236c833fa8f33d61bb1236a9d7b5457726704bc65528eac895ec115d96a51999332c SHA512 3e62903a42e0ef7f1e1d505682d2265b6965c665e91b6bae3f9e0bc41db8578db927b23a71d5d2368de8cdf89acd64a72b775380278b65905f41d078d54c4a86
+DIST firefox-115.0.2-ga-IE.xpi 482378 BLAKE2B a1c441657c2d54888bb0fd7e510c6468dc5ebd22f6d083f80c988e49dbcec2ef0a0c0be9c708852aa0b6080a6914cc6960aec5214a77fbb66eebfd6a7e808371 SHA512 c109a715d26fedf0988bde2bc59d71ad777daa25ff72b52cfb8ce618e5d40ffd8d10bbd21fda392f48db41e7ca7b0ff74cb6aed2141e25418e3bfacc0307fe5f
+DIST firefox-115.0.2-gd.xpi 603644 BLAKE2B 701b6f55ec2c4f057fca46bc8cebb5620450c258fbd90dc8ba410eb50826bea84711d38d329a1630f9e12ad84703e823e3934d37083f8a5d43c56a4d00359c29 SHA512 0cf517f49731ff84155d107f7a4395e831472f2e6e59add23f3bb1015ae407f4aabe20d3b0d2cdaa67681d5787d4a3c9d6e2ee62f64624b69ba1b7bb517cbe2a
+DIST firefox-115.0.2-gl.xpi 598452 BLAKE2B 703ad7847e2d05f91f0c4b7eb3679a3089c2a88bb7227ec92626b72b3e7cde703e929109e987cf8f9148472b8322468e4c38ecd2e88f83a9b1e81166e268ed64 SHA512 f8081ff7351dab63c57cdd01f8c0ac4bc336b938e459fb814e2b2f33d7358346155ed7ec639df2f704b1478c6fe7c549173d749d02ae797b0c8fad199e365989
+DIST firefox-115.0.2-gn.xpi 612070 BLAKE2B 35a832f0d83bf0b3415f5b7b9aa1cec156e2512d3a623d6a4c71015d7d3dc4b5d42f84ae6dda8339d2e0d72739d802675ad5f41666b8102ba88ed26635aba122 SHA512 704db298cb8ac2e4a4be1e7bc97d40af2f6dae2afd5c8d95a9d2664ebe330b3b7afb003d4af68e24cad1886a85c4b9ce4c8e4c98d6bbf44dbd57257c56f4a7c7
+DIST firefox-115.0.2-gu-IN.xpi 541878 BLAKE2B 94b810381d77c70c29b62d2c7c74ca0aa2e196cc18dd5f76a5dcd41cd0641841c7955e339e5fd6bd8ec540f084f34a17c624c6fa5ea118eba1b79a5aa898fe53 SHA512 806320d55b9ddf4d6553e33dafa02f59077e98195730817f610b7141562e6647d8b206464be090e4506e1ce4471c5db1e180bef555db02edd6199b79b4ee522b
+DIST firefox-115.0.2-he.xpi 608008 BLAKE2B 9bf87beab18def740dd36c4f8252de0ce4e98b15511030b7599def08d215e5e97a94835048e687630bfdad4c77090004aa2d4edcb49a0863e57e04a7f1e63256 SHA512 45cace25db06c29ecc71f1d5c36549a19482791e1adb48a47337a9a0fe83440915f0c69276c70c8fd3d76813f87afb9b73d2fc0528d3b7a01376d44cb5421725
+DIST firefox-115.0.2-hi-IN.xpi 571178 BLAKE2B 89075cc02cf73326a00316506de53f4a2373c727021680e844186784d5c3be5bc4fb95f49b355a8e8f1584ca2478480579aaf50c983f682fff31d56958b2c1b7 SHA512 04790eb258b6cff286ab21e49d03ab337c2acdffef867ab1da26027bb88900505a035f760ee10933bcfcb4012c9b5a8683882b2565531eafae327537efa10203
+DIST firefox-115.0.2-hr.xpi 564502 BLAKE2B c8a5285986d56cf25a4b258167c57cb818c256551549d62802adf99e08e7ae25955a2a53278c08f7002d73db147be37adbfa1e16f5e0abfea3f85a1a2e36d18c SHA512 2f6657adb3c2f07f8019038e4b2e0884d7cfdb6dfcd5af564c55ebbecb696d6bedc9eb9b1a0f00b3b7b11803bb6723b6bb4cac18be2ce820121582bf143a1bea
+DIST firefox-115.0.2-hsb.xpi 620455 BLAKE2B 532263be4501e6c81c36e07bc9bcbde160b71608b8258facc90902e9102882ef5cebd4dbf1b9a8e8362469ee7112db3d421e227984dd520ee7bd8b40af9e8f49 SHA512 bd7a9b33a47ccbe18422f4001d7d3bd26de2f4fc7c8d4df5899b052bdf5dba6288f1c2aa2d5588ceb21207cb8f580082ae4621ca0c9126b1ba0847ae5cb3508b
+DIST firefox-115.0.2-hu.xpi 623869 BLAKE2B 2ce5cc06c7c9f468d25d4fecb32326492869e9a13ae4c28bcfb47f4c6f50f367f7683c0b3d022c9887f499ad7bd818356bd7437a7d428604d73669cab5987c26 SHA512 6a514ecbdba45d0eba46b2b15c163d194ed26047f823ecb8926c36ead2fa3ee7a4d67f7b6b7899f8d60142f0df05c3b30180f0e576bf8fbabf0e57f8a8961af8
+DIST firefox-115.0.2-hy-AM.xpi 614932 BLAKE2B 42d59371799f66a3af652c6bf4906720623854031d83fba4b59858a29eb7ebb0205e00296464a11a312029256628efd152f86781161620db1c495f741b1ee735 SHA512 60ce4ab8bba5df45076b49825c36c7ad031e8763ebe444a52ff1e60155a10e2db488c775d41f345a098054bbcdf20f9c10c14eb7f795accff2717c2cf69c0341
+DIST firefox-115.0.2-ia.xpi 585626 BLAKE2B b80a17e165fde31d5717ad727974d0d6e8d5085d80f355f7fef4ed2a39851e78c4dd1c4567c7a14683cc04fca13d9cef40a16c90e8e789eec59fd63c6cd55e92 SHA512 9bc9f1ba0145467af8e576c054d4d14f6e7ec1cd2d0973ec833783c9325e1d9f9766d88dd95149d0b24246372f63ce03720f4b20b18c2927d0cc396839afecee
+DIST firefox-115.0.2-id.xpi 571364 BLAKE2B eb410dfe06827e40b366e1451c383a9c85ec840f1d4a70ee6cbadf0fd892605bd6de29df636c2a0ac7a9fd8a915589cfb299e7f8a6a136a2a71233d22ad975f6 SHA512 5ee61e5132a41f097ed1baa656491472127b532245c0a1d392005545e12d4d19a7b9de7a3659cca008f7c49fff105015e02067597a1c1ded50079017bffbc9a6
+DIST firefox-115.0.2-is.xpi 593531 BLAKE2B ca271d1f7e307d70c311d2a197dbfce2d811ab716944b8e33e8a53c95f072aa75d73c14809f802aa67d079641c36b1666e2c8d124edea795e6d43ebc6f113875 SHA512 e3116f989453acc4290bafda837da1cc7fb3d3ea722a7644a49ea43906ed7c7981fc46928a27a8f0a8fb9eafccdcbbc2dd65500a45535251a80600d8d7d0d46f
+DIST firefox-115.0.2-it.xpi 536403 BLAKE2B f58d3db9ca072d74215af30084595be32afbd62a04942d7bb770f455be862211160b675a6373b97c628f35026072f1872011992d2f5767a26ba87d57da04f196 SHA512 b433fad7dd79f9ef0a7991fc2792275b9e46441d67f4cd3c2f2b5623917de14f586f7fe6d0edcb3572cd4e457fa7c117433f4eca534a6178f74f33397a61a511
+DIST firefox-115.0.2-ja.xpi 648087 BLAKE2B 5b6415626654ca2b94961989bbe0301c55d41157f92c8002b466523275d596c4aaed409da148e06ceb24b121a4447ffc40f70b8b3fcfb4373804bf89d5bdf214 SHA512 54960e93304c79f092d7b5e47f88e47df4786cfd491d7c9ce808e1d6ce62db9a0daa1b473e7a4176c86481e204dda3ec15be2d6c8e32241f9458f283e23bfc00
+DIST firefox-115.0.2-ka.xpi 651358 BLAKE2B 4c5f2a9ad96a0591cebe10fabd07ec1971563f47df5b3a5722f2d21df4a602ac47336ac02fa4908aa1af144b218d2748d159f07a60ab09d9041967f1093fbcf0 SHA512 1eb62092a36f637b1f7392917df9d17249e57a0327ae41267dd9325c3eb5338f8b68eb2884029fbe65e14149a020c5bea111c7c4e3582f113b284727080ba1a8
+DIST firefox-115.0.2-kab.xpi 598573 BLAKE2B e063ada93e0ae33690ca1b24029b9b25629505d4a034c2b4f7f928e39afb54c12dbe6f2041a5f49f01d72e53a196dec5cce4be2fecea54deff128024c887538d SHA512 eb31a2e7249e5d67c0dea8cad1d7c6f7e7d97da350145285f82ef4a238420cdcafbad851a469413d1c70264928b2e5a61720e877d5334e3628c060d4a275a22a
+DIST firefox-115.0.2-kk.xpi 674099 BLAKE2B b71ef3b9e08f6a7fc4cd94bacd510454d24536fd79b476d16e828403592883a44bd56cc11b740175bd325a0cd56aae249da577a23952b78e9a3a20602def3053 SHA512 5ed5d4132ead0bfa8fb83d2beaff819c2cb976ad5eeb94a6e94abd373a192d8545d5123fb3d9aafbf3a12f3e82e9912501c2d0fcf83503bf2bb27c0e1e3f2ceb
+DIST firefox-115.0.2-km.xpi 543687 BLAKE2B c9bf1c03a40f45e1c9de6e6f4c31acc2f3194576cd93cce0704b2a61f10560f75a31c912e78a1ab69a835a4d1bb7bc8e12a6cc4110f3347c1ef31dc82c08d327 SHA512 0f64c1a9b1cd29c4c8c5781f3db5f8a3a532562791a6c0a91aa3b3649721da7493261b0e3498a1480c5cc809490f55bf86939f09f36e0b8bf77c33189250b5b3
+DIST firefox-115.0.2-kn.xpi 508139 BLAKE2B 2eb74980b827b283d7429f9c3f2d4031c25a69baf9083918b18a4b8391dcb28b2e1f80140e7e389e150338d6d0848abfd176d719cca7c635d4775feb6bb1d87b SHA512 d73872fa9c3a009dcb2a53a168cda5d5d19a85c43fdb8016a6bb6c71fec3237d126a04952147b3d8eaabc41d89f93c70fe22264e83492c280915b5e4631b9518
+DIST firefox-115.0.2-ko.xpi 634989 BLAKE2B d11df0bb37c8f44612883b2f52e4b7b39b30d26bf89e419e56217ab522581158668ae40eab00ffbb2c46db979d63e5022e53fe69a4a91773a3043d1e0a5dcecb SHA512 0fb8ad2bebdf174597c7e9a1ccb74b5351c6dcbf9267b17b7d891b80ce13d3d0f1f3e3edfe3f7dcb374e42ff20b8ca00980e42715be61fed7ddf1d9b0840a11c
+DIST firefox-115.0.2-lij.xpi 493481 BLAKE2B 1ff7fc073e057f95b7cce18f55a219396d125429eb5c73002caabd37ea6eb87434df11f3135ee3c23cee0165fbc5e5007ecf8a503e08309592cb2fef32d1d527 SHA512 2b68b75fc91b9f0286e804616f00d97b40e02be14d4ba7f874e27cf47c6d1f7bb47863eb8e776b859cfaa91d339c55b04fac3b1106084076c9a41412b738de40
+DIST firefox-115.0.2-lt.xpi 583774 BLAKE2B c1d7f2a4af6e4c599d7f472c82fa95964e5641fd8c7f6a54c3e2b0fef41406be7d61ab6968f8786a4541768abbeafa38942d42ccb2d7dd5f1cf8ebd4d70ebdec SHA512 4f5272a28efc6fe5657a6b56a6e86291bcd8fbfde65fd165ffd75aa6ae75b07c9c0c2a7dac69d2ece739bf5e00fe1c0b7970c68a92a8a64abb0002fafe627233
+DIST firefox-115.0.2-lv.xpi 481435 BLAKE2B e644e0f10ff3bfb638ae127655bc7f121b445a1cc3cd6f31bd8b5210238ccd1703f68cecb46d49bd5d9cb1471a41091ff5e309cd2a6d2474d7340effddbaf425 SHA512 6a83c38f0d784e248fe6ec38878a4e4e8322e1fd555b174e74aaf36a3cdc6ce5c601e1e80ef184d219bcc1b7e277f72dc3bc915e3526eb4573e7de1971a74a08
+DIST firefox-115.0.2-mk.xpi 496390 BLAKE2B 4f54dc80cdc04f0151ebaa3bea9d16a2de6a9bf26976f87cbdf6d10189e2d1d98c11fb31ec62daf3035021c099c28d2bac6d461d95872603b8825ae8461f9be4 SHA512 ff6675271cc64aa1952064e92561cf5729b7f00e4307602d126a593b2da595b0253bf6fceaf57afa57e6e11901424883d3f681afe297a8f34fbe3a6cce173f23
+DIST firefox-115.0.2-mr.xpi 544675 BLAKE2B 1e92a85f609da23885bd2b6e2ced69e8afc9a6e461e5e4d8a4723395d0d6f38b4a14d7beb92885b96c87c5c51182270efecf07585b58c3bcaabe9c9bc4345ab4 SHA512 f3bdf6bba16405da1c9330297de126e93a2e9606e4eb591b8776e5379324abdba5bc9cb923f286ef34c7b7fba51ab6d2f7033f2094f3fdd1ed9ebb1303125f0f
+DIST firefox-115.0.2-ms.xpi 461878 BLAKE2B c5c45396738529d31c538d7524354ec91d4be846930a0c0979900266602f579541f2bee5c8aa648b3013f3fc2ab3068cd3a892d1864080a900602a0f54d6bc2f SHA512 56047c7854896e9111ce1ac0a461193fb6fe8db2a6cc81cb0d497b45588ab0d67171e9394f1b1564cb4f0265313ffb23e50b575131eaff19a598d6c2cc1b7708
+DIST firefox-115.0.2-my.xpi 529053 BLAKE2B 65dd164728b8fdb3be329d8388405c51b57d8617dbafed078d8574cfb8e0faa8d9a1c0e22757e61a11d5aa62518261c1618e7a2135fa751b8073a398cf735cdd SHA512 053d1f49ef5623426ece6eebccdd87aecf2cbf4b8490d471e6ce37d4debdc9d1678cbfe820784b79952dfdfea6d264ff8a69ef1d4f5a930b088e3698955b224a
+DIST firefox-115.0.2-nb-NO.xpi 582793 BLAKE2B 8c4d139e424054462657889f55a65291d22bd57213b99f928431835d380b5c1f1a8b20d7611f58e0be7bbc3e743c47b46d59289880cf7b2e3cd9c4c9d12f7076 SHA512 8ba35aa456a4ac062a9d08cebc0e31a16934263f7a1cfcd077e192d5ce12cb3c5998eff7877046427fbb957a6af886371d39ac7a1ec2bd7077781578a73290cf
+DIST firefox-115.0.2-ne-NP.xpi 496638 BLAKE2B 2d28a4d74a417de9b355e21c455285b264cf13ac137c8e5235531ea50cc359d8a75bee0be7a4b66804380b8b98a5da3ac6cbf1ad005ebe534414849d0f717584 SHA512 5c76db88eaa89fc146c0a28a12c3f4f615037bff848f65b839bb273f34d0830b8ee740bf1273c5cc8facf8519caae97bda563f5ff3e422269f9212537eb22e67
+DIST firefox-115.0.2-nl.xpi 591933 BLAKE2B c33268fb5eb867999b5275e7cd3ad6f0fae3b534ffeb1c3bb53a0b82cf03d3e1a6aff374a99b46a11034546a920f86f69a313aec78a3715ea9f453bbfa2120d4 SHA512 c1ef253f70a82ab1a49d83da5a78e4e1a1b36444dec5c30f846c12d89b0d6c84ee332d5774eff0ad10cfe104fe92d2bcce6c5ade195210371e3adeac2b0769b4
+DIST firefox-115.0.2-nn-NO.xpi 585564 BLAKE2B ce5d2022f1b9458f0b0b36d67e182a3dc6d77927e83cb315db330abae1a12e3902b49efc4f9d3350b39f93a6cb48c33c471e622a9579faecd126998697461aea SHA512 12dab0e4a5dba09c25b3d57313460a6b210d7b95c4c14c3222c740e5e8a2a692aab4f5ab4c753391c92a720c04b73b840171ed7b5e8e7865f70aea5bcdce227b
+DIST firefox-115.0.2-oc.xpi 606885 BLAKE2B f37b67625d39fd15eca7a558d94fc39266441dd5c5bef40b58dacd50ac4a82d26c982e94f3bddb7dda2e763e047ec956987053967c52638610965d3de1195c2d SHA512 8dfb54e7e2b47120a91d3a30f35ef9fd580bed48a4b74f8a2c0c9a414ebc6af244278f301cc45ca894436684a3712c4a609242b12b646aa7ca34b42f54eb621f
+DIST firefox-115.0.2-pa-IN.xpi 665207 BLAKE2B 90a20eab9d087d30089ab5b101692106ed8468e06f255d9a741db22caa8280f080c49623b84786d605eb049a3bc9bdabb3eeb1b7a39080290d3db907e86165d1 SHA512 57e343fec82fbfc3a4ef1b1ba2c655ede756f7b2b1d45705110c5484a960aa4fd7260d4741eb70abb0de2c6dea6c83dc374836f07786bd38a79901d131ef08a7
+DIST firefox-115.0.2-pl.xpi 617012 BLAKE2B f845086b34edacc47f2cb542f245998b6566a6922696fae9548bb9e8e6c1ae46659ee30c9ed6ad958ea3bb0ea93fc0319ce6047160f6d8dc5bb6405cd18d72e4 SHA512 2447c08f02bd33026768cc738e2310e5ae0464307dcbe581bcf83de734c8fc24fb20c0140072c4b80e8f35dc9ff8a34ad45d5eb41cc2f6619007624a420b3009
+DIST firefox-115.0.2-pt-BR.xpi 596732 BLAKE2B 2e47dcbc7c008a3ecd61e117106c2bf39c3dbbcfd28e6ab2d60a6c619edc7ca5f895969132e391a3a9492a922b7ee50b6b5e63de17e6c51f4ed41ec85cffb87b SHA512 0da0ce733270d1d40c95f4eb90655efe95ff2d22e6ac882391b442fc0aea1654c2b0c683bed1c57ba52ab54539af50de376be77b9df5613ffd6cf93aa44ac313
+DIST firefox-115.0.2-pt-PT.xpi 598863 BLAKE2B 0c5d3ac8bf414457e70d8bdcce6673e778082ca784b8136bb2b4aa1e0007dfcfb4bcd12e399cd5f7d2b07569b56ebc9d7fdd0ff0618fabb4342db816d761f900 SHA512 348f3431f94c99c0f774204da106a0186c041114fcbaa9c865e9b028079e8726f09d5d46d75dbd814df3989cc0f93ec765e31f616549148d1b92f592978ed491
+DIST firefox-115.0.2-rm.xpi 592653 BLAKE2B aeab853de10dc3f47bfd76cc355710e27f0c1a5e63eb506e15d1380d6ffa710aa62c5ffb9fdb195963621d8ebaa68b350c6222039c17fbab40eed773cd8965d1 SHA512 728f33814d9a358012091be24ecc7e60c333ada93722f1c8836423a87957a8a427951c0305ddc850c41ad1263de5de9b5115f4540ba9b1286cd923546983c571
+DIST firefox-115.0.2-ro.xpi 557000 BLAKE2B 09eb80370f7b9f37885cf5d51d6fdf783ba0a524219aa707f85fe1f1f620a4958e49449dbe228eaea5ee8edea7fd118bd930bfea81e07a49757f8f2af7ad6b78 SHA512 adf99f33fa74fe79f68ea05b7f64486e9ce0ee329e36ef3d9558a897642f33e859011ec638ca50e02a54f661bdd3ac10a17812fa3f56bf8a80f662a8d7067933
+DIST firefox-115.0.2-ru.xpi 691641 BLAKE2B a5383c6c6e10ca79fe9cbbb626eb1ae5cdbe1c8a3db6f8e37e17bb5358f78c4169d78cc1a19c753936f3811e0fa237925c48eb6d2a2bc93ca019088e5c3b9dc4 SHA512 c4fbba17427c069f01f02d4604f605f41c5eafb4630777565090c2c6834a1c0191425014bbaff19ad886d90c51cf8f8de6570260bdab5f3f4462606c6c10a975
+DIST firefox-115.0.2-sc.xpi 567083 BLAKE2B ac6e0c2d3f3b3beb35b15b9e5f68ddec713a27e09e5cc1fe78c7831bd503dbeca90dc48a802bb52e4cf9385d604c34c7f25645f75472693a13d7c52e04b28acd SHA512 9233e352a1a6cd44b8b3e96087a6a3ba18aa924a2f78d077d6d1679ce911e06a79ce9eee6246ef9466d8082636bfae7e38f0e323d437586644f097b489d718b9
+DIST firefox-115.0.2-sco.xpi 518348 BLAKE2B 484d4c714f9d150d71de1373d2ded6163639aa86d93d7b19190d324141c29b546a3890ac9078313a64be50e07f43d110bea2fec9cd22c502846b018cd62b46e5 SHA512 ed5ca916f92b8bf09af1ba8dbd0e6164d05cd5f77d6c2b04ad59d75c9a5c9140a82f5aeae8305201788a6e28ea45f08209da4ce42af4f157b3d420d4da203f32
+DIST firefox-115.0.2-si.xpi 593134 BLAKE2B e556c5a7e3f87a1750ea0da86a3bc8f7f9e7f100870c385686726c97b234273499189bedebbf20a2b9acebb48488e8ed9aa6d9218e1b89240692fa2eb30e1fa8 SHA512 d8e7cecf091a5c11638dd6c773001a832100cf388f8d5a7eea83917ac2b7d74b12262ebd4a90a85f978403f3eb3f7c11b7d6ced19a7895c0f4cb4bcce0eee146
+DIST firefox-115.0.2-sk.xpi 625406 BLAKE2B e25723c0556c7625aabab5a6fc8000fcdaa8f6615b4061fdc59a39a8e78403801fe039f63b0efe543f68a78f8b685e366b9d38e305fb5c6b4d61e9e7173c743b SHA512 0073be603a752de4e0065b4337e381d854997c6f3be22867b141fe2840b154793452eae1d68fd4098becf043fe5eb65b61283fc59d8fd433cf794ff69a4fbe2a
+DIST firefox-115.0.2-sl.xpi 596055 BLAKE2B b2b9bec22f431acfc10937d54e09c8055c3d2e68ac9ef3ad5d93a4f5a49ac060790950e9f724d540565244ee9aba9d1165fe563d228ac358a215ded493f4f244 SHA512 974fbf13d0f81892ccea42c0295625b0f9b0964aa397a5a628838699c70c4454e2b4cec748a800fa874f5e043ed72943cc2817c9b46c09500960c8dbccf5521d
+DIST firefox-115.0.2-son.xpi 432506 BLAKE2B d159d2aa59902f13a5544bf77acc00218719da623865fdc1235101afa88ac6c49e80d9eff091db3cd04ff5d30b55a7dee3200270f1194e644cd1b41e5975b10d SHA512 79543f2af6d0202cd3550a007faa68554b1da56a6b21f14e78be756a6eeb18b0634f7d7e575e17e6e96002739c1d59ae16b9885084083a645ac4a6667e3f2dcc
+DIST firefox-115.0.2-sq.xpi 600796 BLAKE2B 9ff833d4ae555165c1c4c15129f72e014f95dcab6b938ce1facf98aa995991c7f702e1e62e8471e396adf537f65d5038ae4c63178a6a40a85404d10318ecba2e SHA512 6436f525fc46108861f65f5985f8529ddc101aa10ec05170b5f8b5755e41e84cd0d66eb52c0cff5798abcdf495b08cfa95da5d260e2299d14925f67c1bea2573
+DIST firefox-115.0.2-sr.xpi 653902 BLAKE2B 93938a0afa9d085515b917ae3aac0ac55be1976ec0a3588360147bbabb2b6e5ddff1f4285f5369c67346c635e1d7428e48673e54ab58bb4682a1065d78b71a13 SHA512 e8de6cc852238f67d13e70f2839aa80ccaa33ed615912a8fc3c14540b3f0ec48c547add3864e253f3c9d9783ed6789f1145b16a2ef99c3b89d315788857ffd0e
+DIST firefox-115.0.2-sv-SE.xpi 593897 BLAKE2B 78d4fd7579d92f38c3075ff2b3b6239501c526760da708399aeb1154a8e08902f1a6c851a7cbd5bcfa93d89e203e1c663bfc559a82b73f7e1075907ebb36983b SHA512 a43b21340bf262a139f3ad01baf75e37392619b596a5119aa9505c90b5619614f89293a8a37a8454f76331295dc99ea0e2f778417d6512288fb036957265f60f
+DIST firefox-115.0.2-szl.xpi 534134 BLAKE2B 88827046938d884c62f1f2c8b9f6a188172a1833ae22201b72949eff6d71a4b9c60afde3b94f5e8407360c239ca73cb2b94805ae531f1bd71623c5041cdab187 SHA512 2d18b8ca39f9ba955365e8d59cdedcc6e5f7ea238c7cb36d000a8b739fc0a40b45a14520bfe6039bcd24cdd3efc76e7bc0b19b052e741ebdd578a27a02555ab2
+DIST firefox-115.0.2-ta.xpi 520713 BLAKE2B eb9024c0355df9bc49d33aae1b413a67fef1d9a50d1b3df9315a0edc497753a6f944ae57b97abceba94f966d2498c5ca9f4b1e49978cdf0de3a63910f490b85d SHA512 46d0128e3859978a2e389717bcb4ff77b0399d604e38da931d0a3b9625fd2a4ab88b30acff22cc8cef6c457190cfc26a753265afe747693ff25f81602670e2e9
+DIST firefox-115.0.2-te.xpi 570038 BLAKE2B a29503eb758dd3862dcef8627370be362cf591043fcb39fc5443ea60305fc7ad5eb4cc4fd9048715f7eb0c107179550571c89082057570898fb7565aebca3a9c SHA512 d077e3d423db5180d51393ddca9b56d4585e0952ae0de86d5f645e9c4083885550164357a1fa000fe78a9fe2b4e219321a31694062526044e2a6605ed2b02335
+DIST firefox-115.0.2-th.xpi 667035 BLAKE2B 5255e412daa96efb0c5e1aa3020fd1c36137e3e842bfb0c3c5002119567f9818bf04dd0e775ac5e7ce461d8ac65c84be34d0dccfc52168aa1a6bb44b92e04ae0 SHA512 9f2da5722adfae75f3bf07d3395b2c87bed5ee585c133b285bf834549810f97c734e413dc786e1d71e8c85cd59d31c907f1c2d5a25a358b0fc66e6dcb999b4ba
+DIST firefox-115.0.2-tl.xpi 541134 BLAKE2B 2eb6d6d9ee41ceaead4fb98dbf99be97a4bf959adbb445c0b05aab09a740ce6cd6ed9b72d5c7152ec39929079fd07c2336c6d6a6278019d330c2670647969988 SHA512 e464934793ad5bd72382dcfee6f68a2ab68c457d9f99d0e7aa1c42dd93839a67710492e26effd9018eb4966c66de6bd174f374587396061cc94394e408eacbc2
+DIST firefox-115.0.2-tr.xpi 607281 BLAKE2B e6dae804ca1fd61b3a47b1bb55536feed69987d2e9027448bf54c1a6a664ac24ff87f503628eac26397a44ed8adbaa7344a5a66f0e4b40c844dc5b20c9a2b314 SHA512 1565c75ad9d639658435243effe27ef5b20f417a692eaf5e80584630ea5eec7e7d264880d6b10dcb76bd178e666885afbbec492d30976d3ef23ffbb8cff21c72
+DIST firefox-115.0.2-trs.xpi 501900 BLAKE2B ce39bfd00e6b6ac901029e63829a0eae60c8d163029f7ce04201d3bcc19dc6dd91562ff9a6789250b257af5b0dbf8247f62bf213c10f1525517517b85a27ac70 SHA512 b5fdfa42c87acd0c4678f349b8b27d10eb9ea37574bf322a2a310c98034e99bd00a157f6f72777147574425f32c64bf699639b3291e0b15e9c30c5cea0acea63
+DIST firefox-115.0.2-uk.xpi 684822 BLAKE2B 26d3154fc14aed34ad9b8118910e8286489775ab7ef0a978f025a711cdfdc13e763bbb6305880b9397bd32fe54379649153eb38240fa077fdd0e2204339b310f SHA512 d83008065cd119f77f2700472248ba38028ab9116eb34cf9e25cdb67b0af4ce19029398f56c90cd1621f0a606c278d0ef093448c65cef88ed356100ec9e4d62b
+DIST firefox-115.0.2-ur.xpi 570580 BLAKE2B 60a7a711673e15cf745de0d0ad5cf83aeb6c64f7704e957605d61cebc04aedb87b089516b74e22cde5ae993548aab5f503bd203cf66a29ce47821bb196ffce9e SHA512 31d0ca8e43a6df9396319b86c9bc2aca8896738ecd46ed271ed9216943fbdb29323b4e8d78313e7b6993c81148d434496257695affc2c43cb1aeb2020e632c2f
+DIST firefox-115.0.2-uz.xpi 488309 BLAKE2B 6f183856712caeede2d5497920a4da5c686cb8f350fb6d2bafe2cd721fd37849ea5f5f96e24d677e9daabc9ef681685c25cceba6843aa8eef5f3cfdb3dda1d7a SHA512 c79ef2a7740e8cc022ff5d44b38870e45f4d43bcf74c965060469762802b800a762a390d9642f75ffa747cb70dba51f66ef06a0b6894a5d3136345b9d651a6c3
+DIST firefox-115.0.2-vi.xpi 631053 BLAKE2B 51c993480f0e1e29da0183fbd79f569ded109c99f3f24513e4e7608f3b4a7385028e990040281df2637ec37ac2aa313e06a90a33acc8d939651ef8ba4ee71289 SHA512 750cb780405f8433552bdc0e58d6d43b43be21950ba301de297d110ce8b79d113cc8b355a2d2dceef6b19147a529eb7253867edda152b662347d25d080aecffc
+DIST firefox-115.0.2-xh.xpi 429442 BLAKE2B ab34436e2c2c9dcde04f38f638be7cdcba5939228bed9d24a7caed0d29f25d3efb08ae1a7286b223289e44aa1f4a3bff7196ad0d75eb34d694cdc4fde2aa3583 SHA512 36f165e0841c76b6c181fba1536e69a8d28d554e4e04a3eed05925906870122ae21cb4811bbc3c9e29304884e9a765b08b6dd32000eb861c3db2ea817c96d511
+DIST firefox-115.0.2-zh-CN.xpi 629741 BLAKE2B 7ac24b4ecd0c9d96ec0fe8a4e068845295c43104c50077e0eec7ece976b787042e762d1f2d08045d4888cb4efc77b96457cd448a45312c05812511090e000017 SHA512 6d1cd6f0815694e3f6dfcb10ac7082752f479ac5e5b6ae6f1cadeda79c531dd41114e5ebd2b8ff987a8e136d9311ef77fe78c1992f983a774937f0e65e3d9a2e
+DIST firefox-115.0.2-zh-TW.xpi 631509 BLAKE2B 70e0c60f846c7ec864b956fcca6c209169abdac3e791bc7e60ce9c0c113b8367d49f699afe4938d58fae1c0fff5667bb01c85444ac6078d8fedaa6826e76d617 SHA512 a2aebe7ef10f371a56a52c29cb878274135cec914dc639b29f9433a462cf95e0b88234098ccd2fdd426f2e39ac8ae9c9504e87a55612d0e6e02b52738dbadcff
+DIST firefox-115.0.2.source.tar.xz 506385780 BLAKE2B ca602d102f2b7b7fc7bebb6ca4b21e548d4542727da94410497ad6774b6dc7a9eba778c9b6e269beabdbf647e3447f621103cb68fbcac77c4beca1829cbfc535 SHA512 de6ce8a2512e862c69a7d5c557d6168498d0d40e9c4b54b775f81c444e863a64c43130d57b51b360db4224c34b64a93f3ad263441caee713243b97750ec1eb4b
DIST firefox-115.0.source.tar.xz 505151516 BLAKE2B f5489d96be60f3ed5f5657cb43142a876a7ef2bfe46b2ebb54df2b9be8262ab8c8d3aa342adf84fa68ffe0abc63e3b4671f310e0a3dd4c53c137a612e9e67932 SHA512 ed5d150e4dfdc01026beb3ae502a0b04321dd130084fdef63afce79a8a7a4898741d08f77716ba720c24f31b9c732c00ad0f1cd408b35b5eb6601a10014fb1a2
EBUILD firefox-102.12.0.ebuild 36934 BLAKE2B c220162fca46646a54dbfdbffd8f1f48d7dd5bbb89fd172311eeafc2c151ac0f99741e45f79beaee5cf14e76818814770101ff806fe063595d0d0e1fede65691 SHA512 326871f23739414945ff6213c68fd17806b1a8195040a0be836f07b558d1ff67786f5179671f1a7eedbd9c4035f200954acbefe85ccbe5cfb4b31708824d7448
EBUILD firefox-102.13.0.ebuild 36906 BLAKE2B d266c7b9564e0eabc9cd9d3c2f10d8d4037a1f9af44e2c35b13039cea04a41544345c7dcdecf0bbc1832b8e94eef73b08a623a9a4705c39f3de71a022e622bc3 SHA512 74ed20a8b2579864feb5f4b96c739718359a6b086e3e4d008f4c86dbc56697ceda6882fdda21b03f8beca16ebc91a5752f80e5755bfa0ec5516959c090837222
EBUILD firefox-113.0.2.ebuild 41932 BLAKE2B d1c0bf0b9391896ef853224a1aea274e6ae933cbfd437221d8fc189323625ccc0568f3ed82094bd4575620a4e121bc652556b8a62cd19b2ab9ca70083a575165 SHA512 a241b516ee3302458c2bd99bb40a3b8e3e6af7955308493fc17b5c73ab8c486cec08b62bdeabd2247a505351edb0ee5c9957320f3b4b0345e7143501a4aa6d5c
EBUILD firefox-114.0.ebuild 42940 BLAKE2B 280e6c46998da3f76e903f6d2180aef136c9088b4406c3eb9c8bc44a021739fd599860e48514f161ea6d41405f3466ca3b33d9f1c3173275f974bee87546fdd1 SHA512 b75253a0a88b3c43f268fb765dc0aeb8759e21386499ef8dff747ba5489e0bc0b2393475068fe64f94af09a3a12b8a9ec7cb01243cd8917c8a2376a5acb6bc8a
+EBUILD firefox-115.0.2.ebuild 42992 BLAKE2B 9748855600647f060d213e8d3dc1114b507fd4f12f0486e1ddc42a34ac72c63888cb648377f535512282d95867cae0f4b3cf5126e0d6e4567ce00eb2d1c85a98 SHA512 4adb1c76de22cdd70c42740930396a445b08ae7eac6aa009a857fcc86e0c40c06ea1c7f23ee008f8c961ec47e57078a62abcf4c82620804ae1afd3b9416bb32d
EBUILD firefox-115.0.ebuild 42967 BLAKE2B 03424e30ab150459f8e727555822313f4cb1c5203db37d65d6f6149a4638015c9520a543ff6a6859a0d43c36e433681529676c96bc69b381eab37a65e9601918 SHA512 4c000ba875f648e33e4952d453a45d9b55c5112a339e390525561935fdbf2243cff333748a7d2bbe9b67080c6fa5f334452833b4b661a9e450656748a4c51570
-MISC metadata.xml 2488 BLAKE2B a9368281b4c5c77f0726358ef5deb9295a7ec84ca262b524a8bc6e7123ee73e5b114504f9639f34cfdb436aad991dc4dfdc36a2f7a92b58c69ace59fe24cbe4a SHA512 e560585b3c06b5fef366cdb7380c2be43d0b6747271100b43e9a264b491d72df0171995db0fb5c69c973f287eac9e4dd80f970665a807ba2268de27e183b7820
+MISC metadata.xml 2658 BLAKE2B 4e52ee338d13627658328468081959897f9ffba3d0729a03975f756ed95e2649e21a40de4933c0a2bdd9c1d4dc6cea973f503a3d448f49f73ec3eafb933f6845 SHA512 1062c2e2a49757a8e3b027db5d425113ce6e7bdba630786109caedbb3717c7600094c7bb3fbc83e1887d96e464f0dc48bdbcff16d396ea5481f36040e0e4c70d
diff --git a/www-client/firefox/firefox-115.0.2.ebuild b/www-client/firefox/firefox-115.0.2.ebuild
new file mode 100644
index 000000000000..c2c6345e8bd4
--- /dev/null
+++ b/www-client/firefox/firefox-115.0.2.ebuild
@@ -0,0 +1,1459 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-115-patches-04.tar.xz"
+
+LLVM_MAX_SLOT=16
+
+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 optfeature 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/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 ~riscv ~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 +jumbo-build 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+=" +telemetry valgrind wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" geckodriver +gmp-autoupdate screencast"
+
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )
+ !jumbo-build? ( clang )
+ pgo? ( lto )
+ wifi? ( dbus )"
+
+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:16
+ sys-devel/llvm:16
+ clang? (
+ || (
+ sys-devel/lld:16
+ sys-devel/mold
+ )
+ virtual/rust:0/llvm-16
+ pgo? ( =sys-libs/compiler-rt-sanitizers-16*[profile] )
+ )
+ )
+ (
+ 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.90
+ >=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-73.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
+ system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] )
+ system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+ system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ valgrind? ( dev-util/valgrind )
+ wayland? (
+ >=media-libs/libepoxy-1.5.10-r1
+ x11-libs/gtk+:3[wayland]
+ 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-mold ; then
+ if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
+ einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
+ einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use pgo ; then
+ if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+ einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+ af ar ast be bg br ca cak cs cy da de dsb
+ el en-CA en-GB en-US es-AR es-ES et eu
+ fi fr fy-NL ga-IE gd gl he hr hsb hu
+ id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+ pa-IN pl pt-BR pt-PT rm ro ru
+ sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+# Firefox-only LANGS
+MOZ_LANGS+=( ach )
+MOZ_LANGS+=( an )
+MOZ_LANGS+=( az )
+MOZ_LANGS+=( bn )
+MOZ_LANGS+=( bs )
+MOZ_LANGS+=( ca-valencia )
+MOZ_LANGS+=( eo )
+MOZ_LANGS+=( es-CL )
+MOZ_LANGS+=( es-MX )
+MOZ_LANGS+=( fa )
+MOZ_LANGS+=( ff )
+MOZ_LANGS+=( fur )
+MOZ_LANGS+=( gn )
+MOZ_LANGS+=( gu-IN )
+MOZ_LANGS+=( hi-IN )
+MOZ_LANGS+=( hy-AM )
+MOZ_LANGS+=( ia )
+MOZ_LANGS+=( km )
+MOZ_LANGS+=( kn )
+MOZ_LANGS+=( lij )
+MOZ_LANGS+=( mk )
+MOZ_LANGS+=( mr )
+MOZ_LANGS+=( my )
+MOZ_LANGS+=( ne-NP )
+MOZ_LANGS+=( oc )
+MOZ_LANGS+=( sc )
+MOZ_LANGS+=( sco )
+MOZ_LANGS+=( si )
+MOZ_LANGS+=( 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}: $@"
+ "$@"
+ local r=$?
+
+ [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+ exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+ return $r
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server can not run as root!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6600M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_setup
+
+ llvm_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() {
+ if use lto; then
+ rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+ fi
+
+ if ! use ppc64; then
+ rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die
+ fi
+
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # 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
+
+ # Respect choice for "jumbo-build"
+ # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431
+ if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then
+ local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16}
+ elog ""
+ elog "jumbo-build defaults modified to ${my_files_per_unified_file}."
+ elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE,"
+ elog "if that fails try -jumbo-build before opening a bug report."
+ elog ""
+
+ sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" python/mozbuild/mozbuild/frontend/data.py ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py"
+ sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" js/src/moz.build ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build"
+ fi
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+ echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
+ echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+ xdg_environment_reset
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ local have_switched_compiler=
+ if use clang; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+
+ local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
+ [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
+ [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+ if tc-is-gcc; then
+ have_switched_compiler=yes
+ fi
+
+ AR=llvm-ar
+ CC=${CHOST}-clang-${version_clang}
+ CXX=${CHOST}-clang++-${version_clang}
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain,
+ # AS is used in a non-standard way by upstream, #bmo1654031
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ export AS="$(tc-getCC) -c"
+ 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
+ if use telemetry; then
+ export MOZILLA_OFFICIAL=1
+ fi
+
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-gpsd \
+ --disable-install-strip \
+ --disable-legacy-profile-creation \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-tests \
+ --disable-updater \
+ --disable-wmf \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-ffi \
+ --enable-system-pixman \
+ --enable-system-policies \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --without-wasm-sandboxed-libraries \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system \
+ --x-includes="${ESYSROOT}/usr/include" \
+ --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+ if ! use x86 && [[ ${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.
+ # bug 833001, bug 903411#c8
+ if use ppc64 || use riscv; then
+ mozconfig_add_options_ac '' --disable-sandbox
+ elif use valgrind; then
+ mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox
+ else
+ mozconfig_add_options_ac '' --enable-sandbox
+ fi
+
+ # Enable JIT on riscv64 explicitly
+ # Can be removed once upstream enable it by default in the future.
+ use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google API key ..."
+ fi
+
+ if [[ -s "${S}/api-location.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-location-service-api-keyfile="${S}/api-location.key"
+ else
+ einfo "Building without Location API key ..."
+ fi
+
+ if [[ -s "${S}/api-mozilla.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+ else
+ einfo "Building without Mozilla API key ..."
+ fi
+
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-harfbuzz system-graphite2
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libevent
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-png
+ mozconfig_use_with system-webp
+
+ mozconfig_use_enable dbus
+ mozconfig_use_enable libproxy
+ mozconfig_use_enable valgrind
+
+ use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+ 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
+
+ ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build
+
+ if use X && use wayland ; then
+ mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
+ elif ! use X && use wayland ; then
+ mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only
+ else
+ mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3
+ 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-lto
+
+ 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
+
+ if use elibc_musl && use arm64 ; then
+ mozconfig_add_options_ac 'elf-hack is broken when using musl/arm64' --disable-elf-hack
+ 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
+
+ if use valgrind; then
+ mozconfig_add_options_ac 'valgrind requirement' --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
+
+ if ! use telemetry; then
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0"
+ fi
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support arguments
+ mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ if use valgrind; then
+ sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die
+ fi
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if tc-ld-is-mold && use lto; then
+ # increase ulimit with mold+lto, bugs #892641, #907485
+ if ! ulimit -n 16384 1>/dev/null 2>&1 ; then
+ ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources."
+ ewarn "Please see bugs #892641 & #907485."
+ else
+ ulimit -n 16384
+ fi
+ fi
+
+ if use pgo; then
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+
+ if ! use X; then
+ virtx_cmd=virtwl
+ else
+ virtx_cmd=virtx
+ fi
+ fi
+
+ if ! use X; then
+ local -x GDK_BACKEND=wayland
+ else
+ local -x GDK_BACKEND=x11
+ fi
+
+ ${virtx_cmd} ./mach build --verbose || die
+}
+
+src_install() {
+ # xpcshell is getting called during install
+ pax-mark m \
+ "${BUILD_DIR}"/dist/bin/xpcshell \
+ "${BUILD_DIR}"/dist/bin/${PN} \
+ "${BUILD_DIR}"/dist/bin/plugin-container
+
+ DESTDIR="${D}" ./mach install || die
+
+ # Upstream cannot ship symlink but we can (bmo#658850)
+ rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+ dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+ # Don't install llvm-symbolizer from sys-devel/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+
+ if use wayland; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
+ pref("gfx.x11-egl.force-enabled", false);
+ EOF
+ else
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
+ pref("gfx.x11-egl.force-enabled", true);
+ EOF
+ fi
+ 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
+
+ optfeature_header "Optional programs for extra features:"
+ optfeature "desktop notifications" x11-libs/libnotify
+ optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas
+}
diff --git a/www-client/firefox/metadata.xml b/www-client/firefox/metadata.xml
index 9f937b18b66a..6215c1eac1fe 100644
--- a/www-client/firefox/metadata.xml
+++ b/www-client/firefox/metadata.xml
@@ -39,5 +39,7 @@
<flag name="system-python-libs">Use system's python site instead of bundled python libraries</flag>
<flag name="system-webp">Use the system-wide <pkg>media-libs/libwebp</pkg>
instead of bundled</flag>
+ <flag name="wifi">Enable necko-wifi for NetworkManager integration, and access point MAC
+ address scanning for better precision with opt-in geolocation services</flag>
</use>
</pkgmetadata>