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, 29 Nov 2022 08:24:16
Message-Id: 1669710250.39a46cf09f2ad9877d35f9561cfc36e496e9c789.juippis@gentoo
1 commit: 39a46cf09f2ad9877d35f9561cfc36e496e9c789
2 Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
3 AuthorDate: Tue Nov 29 08:23:51 2022 +0000
4 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
5 CommitDate: Tue Nov 29 08:24:10 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=39a46cf0
7
8 www-client/firefox: add 107.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-107.0.1.ebuild | 1328 +++++++++++++++++++++++++++++
14 2 files changed, 1426 insertions(+)
15
16 diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
17 index 487e27cd7f15..bfa62f95a9f7 100644
18 --- a/www-client/firefox/Manifest
19 +++ b/www-client/firefox/Manifest
20 @@ -195,4 +195,102 @@ DIST firefox-107.0-vi.xpi 585162 BLAKE2B 9401ecb5bb339cc22002d890510fb5d921c3104
21 DIST firefox-107.0-xh.xpi 414831 BLAKE2B a082cfdd8e73e6e84529a1e609063547a58bac559022ea2d9f8691a8771abf1a6f9f6f75489225081e23bad1599cc55c0f2a78dbefa20a586ee453ec36899c16 SHA512 34e63019f3e62eacfc6da7b648cb939a8b81a75e7751c5fcd4b6509b8fc2513e3c073593f31b08d42e8230fad4a22e02029a160228dd42fbdcc82e7a25e67fe7
22 DIST firefox-107.0-zh-CN.xpi 585092 BLAKE2B d1b48117604df85a097f6f46c4554f0ddcdf2adb1c692cac7211de3b3e2e0428e96d37a50ec39b6933c9112fa1d7f624b378f8786289c336d3102402d9fd0c4e SHA512 c352b5a9988ff823e3a43c3b6a97a5d1a25da842e61f23e52ec3fc9b044cab43e246e478fe83e83b10ed13932a677a79f5cab1eab78cf84268d64e0fc2a010aa
23 DIST firefox-107.0-zh-TW.xpi 586218 BLAKE2B 2ed318648e4fe0371c43860a67c72a005c52470759562788ef8ce68eab118db16c55580173106f287131b8888ff597664d40a819ca30d0c125ae8a43ca087866 SHA512 4e44e5937717ffc71680cc33aa144e0c8270f1dd085aaeafd3482c8da38012c3a24535e9cc5a9997ca8924ef037aa98269476947a69b86c7ddbfc5e395d51235
24 +DIST firefox-107.0.1-ach.xpi 449039 BLAKE2B a149710d662e4cb9f20a3177b4a759252cc8224a189590d50b9fb4708586196307a43b40e9e35dac4a7035b7fc39ad5cb16ccf605051ffc750f29db717b730c1 SHA512 cb700a00adfc67419af0678d4d461fdd91bb57ec2a2ede96194828bb717b3df91dad12e74e3c19b5c0781f61e0846cf3ee36fbddb3cc3973c30438316d9a4908
25 +DIST firefox-107.0.1-af.xpi 416137 BLAKE2B 3856d98b4f7bd241b4ea58c20d7f40118ea46df7aa47940db6754eb8aab8c05ab6e6145ad43859101aeb013e99f30c10c7dccfbb762b11d2f09da9abd548b746 SHA512 fb1b08e4abde6aba206ae59325727be2e0f8f5e75adc0534203e56e56a9259079806513c1fa31563ef418f0d60e11f6bf4416152cac0328c8db479c74cb1c07f
26 +DIST firefox-107.0.1-an.xpi 495686 BLAKE2B 10655d87c4791309cb8c00d6c73e0c33479f2e20adcae18e970a43f20a14134fd4af1dd2f4d236ce7976dabb6582e4322ad4f246c79e80de39a5950e7a47aea4 SHA512 145873bbc2387b7bb24b58a64b3def61430242386da18081b73641e0911123bdfbeaaf5300f87cf7e461b275ccafc4d4991b45d7699ae2fc6eb5b5c5335421bf
27 +DIST firefox-107.0.1-ar.xpi 561802 BLAKE2B f5ecd24b22c7921ca4857938585e33a4e951d1c26eab847fe9ca4a1792e5b5bc58bc785060e86fb49d5d25665db0b14f7d7bdce574cfc057672216f21168ad33 SHA512 4a9f8481f889cb6464f624da423b810f75960af9d65a7af75c6de22c22aa065be40ebdfcff83615d04047b913e2c08fc1522bfc1f76ece0c10bc72ca9ca48609
28 +DIST firefox-107.0.1-ast.xpi 482601 BLAKE2B dce2b3592493874ac5676df184644f9740fdab3a215d3bf4785bb8c3308fcc31f41f5c3c47aa9d1256d9112ae39528f1bbbd74e59be761ae1fe150147efc1a97 SHA512 d539629d6a4a66c3b10a65fa3e397826f8a8e0b39e98bb46dd11da529decd18bdefb3e6d0e26dd7c16321ea17f892eb1b458c582d3cafbda24f959a7e3c04a0d
29 +DIST firefox-107.0.1-az.xpi 485082 BLAKE2B f6f80b6f9467c37b04a10e6b8f5e48ed4a8f88a076d7164c44e321fc3c7a7b1abbe9f032f9da84a014cb9681c126563988b5a9f63743322d149ea32c5f629db9 SHA512 858fda6517f5b54955489eba9ebd94ac93fa8fac6dbe76f514b843df98dd5a748a1444f6daa39470eaadce00e08855eb2e9cde7941659a8cc4429927093ad1c4
30 +DIST firefox-107.0.1-be.xpi 636885 BLAKE2B 98ce5531a81f292929a6304b275854a71c71e06d6081b909293236fb3c49e073e729e517f83c4f46b19b6ff67a2f94b958f604b5d0f5b785c7b2bac930acadb3 SHA512 bf7b0ff36928db905d6ad32a239d3060234c8a07f486a099a58ced36d5e879fd454e4f342de28732f57708058a711a1ddeaa912a22c8f2e76a11984a8c05a98b
31 +DIST firefox-107.0.1-bg.xpi 574259 BLAKE2B a7174aa669a67530efc91d607ca88b0b835ab0090d0114b42e879e339f0e3ae9d78f18402daaf0c9792350621114bcad3e7090bee4a20f01cea3fe22fc8fc558 SHA512 72cfd5109f558507d894f5ca23b16040859b0b431edd9c6bc9d5a3ab3d98d9eac6e58e6b2f10e68ae31b810016fdb478d14b858c9c207414bab3c30ac7edbf87
32 +DIST firefox-107.0.1-bn.xpi 573784 BLAKE2B 1a27f73f0418b75a9b2ceda7e92ccb1b7949fd0c059d4bdc85668871d9fc0c3a154689be85a81b915671eacb1dcb031a548c5a0ca4ee38a99fa709259f0d6052 SHA512 4ec33ed11c775d788be3df646ae6bcc1b0e82c47b1a7df04085109b25bad9977d3d1a5f4901262de1d335a230bbcb63badff13c5d1e2e93b3823b354301fa1df
33 +DIST firefox-107.0.1-br.xpi 534506 BLAKE2B e7816e0de423e6d5f97e366a72bcf0a151ae3b012271f18f4e338500657689df7404b42714248b68e5ace6c57156eb322ddc828e7760836a4a0c186651fb75b9 SHA512 79163cbbd6308617bda9703371a0cce19259443cfbd722e62fb732d4f55dd721b89b17807bbe0da25d9d2d7ac1505a4826512d3a57d78beb90b2d5c017998948
34 +DIST firefox-107.0.1-bs.xpi 457089 BLAKE2B 33b7c04772ee3b7ec604aca714faf7746f1a5e4ba06abce99356e1ca37b46a17e330135bec1ab36985e5721eb04e4651ff8c9a74e117babeae8a7c7ecb62ba5e SHA512 d9a30d99b4425977c2de7fb6120bcbab9799316a08ac6aa31678daddaeb5f6ab1916f7d883d56b430948c78db7e7add88ee39aa11b03e23b5fb2e5f6d3c2e858
35 +DIST firefox-107.0.1-ca-valencia.xpi 534190 BLAKE2B a8dbbcf1d50af44173874635851faee5192be6c7baaa5d0aa272c242911c5f1e530c04f293b916917e3b6dafc2bc454f8b7f4575ac5510db09c77f23750fe4ac SHA512 ad9ae9517a8a54ddf593c3eda0a7fc32903c6616e16224a2de5173b744ae91c01e9a28884ba01ab10f1a0a0710aa0b169f55af13ada08b15b7d2cf8e94cb3f4d
36 +DIST firefox-107.0.1-ca.xpi 537741 BLAKE2B 37b204f92ad1f5412b19491024825686810b5c18690f74b056e7e75fee98b624d6d22ce1a2ff1e2d14e77f6a6412fe2a7ad474ad7715dd69887a3e1efb78fabc SHA512 583f6e8e2ac9cf9593360eeda15fb27eb580cd622a7ff7b66615a3d6523380d6d9c0d526bdd9163d642fe220bf66fafeb3e79720a6b6e306c262f92427b3013a
37 +DIST firefox-107.0.1-cak.xpi 549259 BLAKE2B f0aaa351c4afd6b2a1758f98ffdf01a786bc093f927643fbfa08923728c59776df6b4b100d4a33a84704737e3b21c4971982b9a1fc7b1a8ab5c41e784551a326 SHA512 949897082b72399da1f89b6d42d4f5c6e7ae36ecad916442f7feb35368d8009750bda40df70caa930f3f29e888a2eedc68d9b4651cb3852a62e24b0f3d1023b7
38 +DIST firefox-107.0.1-cs.xpi 569273 BLAKE2B 45f43aca4538a7bb28429c693b6b9042d1d340a9db807ea82138bedcfe97680b93928e87ce23e86d9f4d625993bac570d993282d0e984cc600e4cb3bd68a5cf3 SHA512 080dfceed6ca8bd6e868303d19e9306dde76e1586940092bc2fcf905270f9fad9318b6826707eb32f9746b2f984c21fd9d300b3a8e6fbbe866e0bdf9eb8fdeb5
39 +DIST firefox-107.0.1-cy.xpi 553188 BLAKE2B a42a488ce26b7ffa8709eee3741a6f5295e587d074ec8a6360816333cb749fb946f4a45f927c90b2a8fc961a533fe877e08e7bc192041bd7a94bd624b8955dce SHA512 3b51a35e0d83486e9133eedf1a7aaba704544208d307ccd385fb10d6f6542cdb992d60c5b9c684cdd85fa84ce3cbf02fbf633b2a8f8fddd6eef04cb4634cb965
40 +DIST firefox-107.0.1-da.xpi 543651 BLAKE2B 529c2191320390d6c36e76e2c52dc676e7c2af01e1e57b9889b2a90bcd38bdcb181eb4841800c5d2e242737ea2fbd14c2c2ed1c67f79b2b2eeddf4efe5bbdc43 SHA512 b3fcfd237e1bd630fbc7193f2c5c4f580ac20591a6a55ce9de1f78e58ae09803b9efac20b2e7bedadf9be8a47c95f8e1cfbe32a3fe4e253c03f121056a32b7b3
41 +DIST firefox-107.0.1-de.xpi 564623 BLAKE2B c644ba8fc4d133cefae88d12d53f28fc95369fd4abcbb7ba5217742bcc87afa4a0975f412d307d377ac26753b535e517c303366af6d64ff621762dc64c3635a6 SHA512 be5ae01d8703bf7d45f35aed7a65732695c9518b74845fb48e953bd2df0c8cc44a20a89d025914c698cc8327cf247eec321e1150d59cc3a9207e22a1f518329f
42 +DIST firefox-107.0.1-dsb.xpi 576821 BLAKE2B 5475cd6e95b5049f0eb35a2cf282128c785520f10814c07a3dc91d0f79958ea3c7b4154412327af4c4f83762222471582b15389d8d265f3f3740f18daf72e499 SHA512 d5858151071d96ec6218c6af830d26d871c584aaea73ae766b93edcef37a6dfb1724f7069a9d9a1475b9a98484abba546394546cd078e3de54c4741b11a6adb5
43 +DIST firefox-107.0.1-el.xpi 651470 BLAKE2B b5fac66b2e4668c8cfa3b8f5c06b6f764f4112bb158cf6ccb8caef92dd768f741c28cfeaa74e652b8fab322151587c78a85570f617af395553fd4404cba0c1a2 SHA512 dea83aac8f789a0577268c19e35b1726ee6821152ffb886021455b6cbc839c5e99a2b5e9205ac0979f248a5e1bbce0ae0e93a47a7fb7e59070caca662087592f
44 +DIST firefox-107.0.1-en-CA.xpi 518718 BLAKE2B 01f0aa373ccfd317e28cc48b7a90068539e2e1a663dff70fa06836f98c79e26c9286a2d8bc63c32825afefeec30e8e0e2928a086f7b945cf96a5d86c1ba49a64 SHA512 326425489312bc330924f7987ba77e7900348d1c6323d3483c949fee534ee6a5984d3697c1727945a49183a7b8e30b99124d6f33e53b194c0958badaaae7045f
45 +DIST firefox-107.0.1-en-GB.xpi 520248 BLAKE2B 4304aeaf9422c2da6dd6edcc0fca17c0828b847adb25d281db72e94f3d45ee6c35c0f3566893af5ac9564d0e8aabdb0369b323f02cadb4680263a3afbf9da443 SHA512 e8883a72c6454a19b01e63220a19c755d243255825ab207b13218a431040d0cffe798a81afc55b1df16e08006d9b109cb1ca16b47115fe49d9314654508502df
46 +DIST firefox-107.0.1-eo.xpi 546698 BLAKE2B b498b8628f366546d025e3f8fe1c3b8c5b8589e9d380dd2115364543ab5642d98e7226d721d67525e9caf4801d7372939fdf594da219247d53c88c0d4dac3d17 SHA512 13375734d8e9b49be3b8d3d638033091063007fb1581bbb4197a1e5d6a10c358ea5de07fea98b4cffea22415ef970d345f2d16a69ca30bc91d3ecf87579d9a52
47 +DIST firefox-107.0.1-es-AR.xpi 558788 BLAKE2B 4e5703ecb9f1b08071c837bf9bbe271ae21efdc9e20299fdca517ef46fc1d69fbdc39842108d0c4a2482693d84fdea04bb689c5f69cdfb0e7c3ab46de3bd2fe6 SHA512 0a3a3dea2cfa67f9406d7e5ffd05a997877f4cc130d5e604fa67dfded85814c5d05d707a0ac68235a0c0e82a6f13a5578161d1cd559ef2af0f7beadbc4af54b5
48 +DIST firefox-107.0.1-es-CL.xpi 557630 BLAKE2B c226bf4f7a68411a1d53b10f7bf1dd712ae54f5a8664015efefeed523100cbc95204f0a5dc5120fdde7c78de3dc8b939ca8bbe6eb85d8ce43ba46fae70e234b7 SHA512 d9412af614ea3d4924361f61094e6cd49caa524e31fe2250d347d6069660f48c5e6e9c8dcb30b643904fbc16b921fc18cb3545a725daa09c79ca44aa2ce064b2
49 +DIST firefox-107.0.1-es-ES.xpi 550456 BLAKE2B d9e84ce9669ae1a7be63cbc0713667111c4247c1a4ee20c909f451f9cc9e08d5d181dba502d690736b3c5242d7f196ba75c86c32b1ccce2fd6dab160a28034a3 SHA512 b5900969b219593b5565161288bbd4651f9e3d57d74544a1f59ca9373cf6a1bed8591e1805d9268c39e035689fe7141bc7c9fb3aac7a4ed6aefabc08ce5c4163
50 +DIST firefox-107.0.1-es-MX.xpi 561149 BLAKE2B 346546e16a85be9f0ed7f3d34daf3ef84c39067777104c3bc4169acd81d847bfe47ef606c77d1d79676a6a925233e34102f7b3655acf09f5383eb08ee362efb9 SHA512 5fa7d96cc13f25403c1dd4010aa27709aab772f0d153c88c4ba376860e12162030f602ec9304b9d0664d43417f91ae4302f83261938c7c8a4ed4bea460910ba0
51 +DIST firefox-107.0.1-et.xpi 528249 BLAKE2B 20a57fb52173eda4b6c7e484bed68aa4c85d2bb17aa22614de1190ae98e93a59598253bc3e1a4b3bf82002d343408b008564471203d3752376e8947c1e2ea727 SHA512 c58e5b8997c5dda1e25da1124414cc9f5d355ebaf6827095b81573ccb5c086d9fc68839397723fba2e53923ead559b281071c53bec2ebbc7b1956f4f5a8d5145
52 +DIST firefox-107.0.1-eu.xpi 547839 BLAKE2B 112dc8d342e42976b50950ba955efe500a9f1bae863e4dbb540e5422972ef2f7bcaae2b7c65d64ee215e272d9727a2d90f3d625da7bd4315836925c947516362 SHA512 072638c29273f19b21cdd8a51f97bb61b716783d1a7fa39634a00bae481eaec249ffb9c0ddade9f87e5f2973f3b3688cb70b9989df8ededef4ff942a28fd8339
53 +DIST firefox-107.0.1-fa.xpi 565788 BLAKE2B 7736bcf53fa40a587a155c758da9412477981d54d61bbd0f1503d3cef5d9fb9aac131311d9e733471130e3eecc807c365da20d751c1cc018da1cfd70aea82c61 SHA512 7b0352c0ec350151e88ab183403c7e5ecb847e9aec867933000fd4222c051ffc117b2910339217639a9a3ae62d5ee8cacbf26456221b9ae6fdb203ab0881a3ae
54 +DIST firefox-107.0.1-ff.xpi 469111 BLAKE2B 1c8c7f5992bbe30dbb211e54366623b4315b556eb747bf44557be86f1c48c019f782a7dce506d4a03be83d7ad39b56e0d5cec6132fc9c7289a2dff753cb1167d SHA512 57d16c1650165ecc287abf87a8439d7b51ad828f0571a8304bbeac6a62c0f086628c834fbf2ecaff62d964bc5b9e6d39a26167b665d478a3d4afebcdbbaab84b
55 +DIST firefox-107.0.1-fi.xpi 543813 BLAKE2B c1e287b0fdd049f02aaba3a2b66b1beb61ac828571dbccef92e8c28a84584a6e83f9ef6896e09682176ed121e9966bec2a69adfb4adf8de8c13e1c9a3342496b SHA512 f9078015e9ad82b6dd7434024bab1ffbcd2cedbe83dcb9bcdaa038a85d044cac2ddc589793ccb671191fbc3052ceded3c683921041ede7b5b3b75cbc8d6c49db
56 +DIST firefox-107.0.1-fr.xpi 569058 BLAKE2B e87716467efdf78c3ee8c60e05836e7ba239eef9752ca9cc215d78f58b369c916a2189ea06164bce38287f13dd4bdc979b6ea532fc555c613cd7e1622364d439 SHA512 6d224dba6b798969c485f915427d7e42379488873452f7dfcd350ae79b0b6465b445077cfd411d7355dbdbd0a3b72a3c02e0d85f1128c7abd7aed07aec0ff391
57 +DIST firefox-107.0.1-fy-NL.xpi 554258 BLAKE2B 23c9c80d61b2acfdc19a5a5c1819233c48c7d145a5b4d9f6fac5eac1da206db7b8508043abc34d0c561e5f7c539e0b1856b1b0ff2945c8fd93d87f895b2da4f7 SHA512 5fa663d1c295e2fdf3bf52ae2ee34e2c3abd0271616e5eaa498d3ff6ae373a5853900f3be27ac3ffb45d214e76e08dabf77300cc7b8112b4a67d662919745471
58 +DIST firefox-107.0.1-ga-IE.xpi 464759 BLAKE2B 721332c4d13ec77484d91dd44486afdd4d3537430c3e3fa07c28687610c12a193cbcee14186554cd4e6955b158526d6bba7618c79171d7034621b7449a37d9c0 SHA512 f33cf9626dd9f9e284a8d1a2d1eef12afac203fc5ca1920f35bdce26a44ef8942d661f91ec8721c54c06d8e4784948a6e85473a10887e6669c8ad6ba12b3b931
59 +DIST firefox-107.0.1-gd.xpi 542597 BLAKE2B 85d08150fdbf821de166c2b33a9b8f6cc205b250b5fe9a8593072e50bd3bf3163e95d41928cb33e670d8c20d81e80a0546573d92c723e5f03503a2050185a35e SHA512 9309a42b376950844201be1130426a32ee79a9f63211ff5fb42ce202985575ec5111dfa8a22d67cd52df1787218de1dcb8df996f1ebe3f6238fa1970ccdcdebf
60 +DIST firefox-107.0.1-gl.xpi 537433 BLAKE2B 297822dca0903df348d7a8e37f80765cb47d7969d65fad608ad737a4319af72605f957feb1d874905be192fafcdebf209ae02320f03a3de181180ca493c0d554 SHA512 b99a310793bf8069d7256437fc12b6d6e1aab8b13c1f56a7e348d0fccff3ad29d382cb0b474fba014be27186741de36d41e0fbeb96c052402ce7ba7406dcf163
61 +DIST firefox-107.0.1-gn.xpi 567616 BLAKE2B b02544d0a57ab3229a50967f6ae5d4954f26cd4531c78da3a5f81144a766aeb4d65e08dd78117f5d8de65ab3fbebe1ba9b13133db15a078f006b91dff2ca96f6 SHA512 a76161002ce37adad060228f1244cdc612613910e5dbaa052a928d201750850a97da3aad2c6278861ce4784251600e6fbc8eace38202dac564a8ea7705b69543
62 +DIST firefox-107.0.1-gu-IN.xpi 523506 BLAKE2B 74af08617fd81ff2118eb4865f625b90d8fee397ead1d06d998f1a9ebedd76046917a0b619e16105899b0d1db748fb6cf6143f755b881ea13b144a470e3abce4 SHA512 d4bd278d28a115c5cfda876407dbf8ba8a4d119d3187790e3b4fac3f49c45a7112c34c20c464343a44d2a69cdfaa706aef7915d92eb246881e46cbb19a0b6fe8
63 +DIST firefox-107.0.1-he.xpi 564223 BLAKE2B 63bc218e67b367a6e74935108ef0e0479e79ed650844ec1bcdcdc61725ba261130eb984e67df156ef2595fd5247c77955dd602e986d9991a1a28eda6d553ee3e SHA512 2b27cd7ccaba5af3807460f7d469edec63e2b75922f2294d1bd5251b6efa632721e6b72738df7f4428881e98b4800a32a4bc41c977b6c2763592150036e60d92
64 +DIST firefox-107.0.1-hi-IN.xpi 552200 BLAKE2B 512575f1884fa9b320d8ae88d4ccdf495015e0aa8b4d1253dd04e0d6cef52b30242fad9354f1bb2f81b5028ee84c136051a03412bb6841cd8dbea8476e889e51 SHA512 2f871f0ba44be4f2be17db16e8e1562988adaba6d5ce58adc6207d73a78eb0dd97777ccb6276f7a2dd53733fb84cc75b36e05b081dfdb0a8f8fabd32044ea3f0
65 +DIST firefox-107.0.1-hr.xpi 532340 BLAKE2B 54795559749f44992f6085bc95099746247473fa6c75e263fa9a06b2c75b31e1d60aca7b7978fcaf2767e0a49a2ebbb999df97fbd498ce16cd1e473f41afc6d5 SHA512 f2f57d1e8ee5667f4197806ff87aff7e10ca4e24c3555c0f456a2a53bdbb60022d597a416b1db48b015fc7346372a8ec689b3246c975cf153ac5de53da4f6f8e
66 +DIST firefox-107.0.1-hsb.xpi 573054 BLAKE2B 561871f8b3e705b089ce91e53f7b68bd8f388149ead676af3dd3f0c8e22a25713528c018eadfb59da55b04efc56c38db8b1b46d3fc0da30f5a5471841961bf35 SHA512 16f39efa86ebcdd04b67ff1b5fd7a0800be33d1aa73dec359c65378357c86e3b00b86645a4464827d44c80d2d9007fd6049424ab7544ea9dd2ccaedbae678a7f
67 +DIST firefox-107.0.1-hu.xpi 578347 BLAKE2B abe623e9053b9e81ff7fb52074d15c6f4cd7698ccf44d8a06a4bb85dcbf2592f1c5ff724402b2c729fe5b29d334f8087de1853a2835e0cab6399997b60e30565 SHA512 c4720fb716dcf5a700dd83298d4a98bd13c5ef3598a4fad15b29ed77f8ece863cef0095e41d1036f7b208fd1ead7e2c5e323cd6e0d567f3f1a8828abeae06375
68 +DIST firefox-107.0.1-hy-AM.xpi 588067 BLAKE2B 63dd3f50210a89f2bb587d93c48db5dbae74325b7cc545305b82ace3b3a3432889e758ed61954b8e6a3b0fdf02167bc86c356605c7bc2f0a38f7635d17bfd2c9 SHA512 bc7adb377fc07b56d6efffb76d52ede43f5f822c556ef035ea8aba646667cdb55a4bb9409a2d590516ad1af901b193480aa55151315412d370d23304d8632cfb
69 +DIST firefox-107.0.1-ia.xpi 543056 BLAKE2B cb2f716fcc949e195853b441035e93a55af4e174528056c79ec3b0e2dfabd854441c11195db27ac5fd1e74e40d4b1f864318098635ece7181fb6db03024da124 SHA512 72f1927f7a896ef0bcf99a8af531c800d792194fe97a05d3d4b7263e1a5173bed7eb8ac8b3704d7634e6417f6a0f3a48b912fe1a0e0a3ae828971fad5657b679
70 +DIST firefox-107.0.1-id.xpi 540031 BLAKE2B 1f4d13232e32b0049f8cf2590c65378ace6fc9b6c4f0b1ea5b8a2651a052e9704a1c56e542e930f78f3fa926c029c69d9fffde230233c516063d7bfe0f418c66 SHA512 79b8c8a6c888433592e78da046d7834725632ae66c696901db9a72773ba705e1ff43466dc5233d712f0f4379dea4b13a72f9b624432fb1c67b9ac9bd5bb5cee2
71 +DIST firefox-107.0.1-is.xpi 552255 BLAKE2B 91b3673fed93ab4128e99a030bb9aad2ec6dc17743dcc8fe0885fa4f62640b2a4403b9de74bc84b100eedaa5993e205a6abbc75c51e0d7549bf6e0333e91c1da SHA512 4ad8b75ef79031fb0357e1333bb4328751f440a30d9502c9bc1362ec74c32c02559b2d78e3b42373c73fbec23d20798962c61daed430c4f57eceddaece279741
72 +DIST firefox-107.0.1-it.xpi 481517 BLAKE2B 7e02a949367f899e586cd27ba6942ecc7ca80b1cbea5a7bd0579cd27ec67309e6b13d741a87cfed395439e49dde27b162664ffd3c9a37c34004eaea17472c015 SHA512 80f5b17194b5c68a0a64f5a077da50ca9b63afa2cf14afc0d5967bbc8a2fdafa18bf92b2869b6b271e603fc796669e0d09516a41cb027b0155100d78a899825e
73 +DIST firefox-107.0.1-ja.xpi 603795 BLAKE2B dedf27a1d97640e5e4cce8fe29439189ed6694b064bc7737501474ccc1721767762d9907a121348e7283c67540879275f8da446ec07a08482fa4915f5bf24d44 SHA512 18de035adc78584639b2e4ef354a6e83ece0de42ecdc4d03ff0fc6fe1b853144e0b3c42cb4a4184c99d9e7962130001abc3395698d49dc2b5b2da89a4db52a26
74 +DIST firefox-107.0.1-ka.xpi 606241 BLAKE2B cf56281ee299f93047a8756067c94f441927a2bf5eaa7551821da925845102fb828be9acb17bf30377e9b312639877f90c9aee14b98310bfe3834d7d8d26d0f5 SHA512 2126fea6304200305e36aa1b3e64705a2db11eab18c223e7d4c05ace8896b9c750ebc86dcd4524b3b54188a9914d834b9699a01d5bc24622f5d5d1cd34eed668
75 +DIST firefox-107.0.1-kab.xpi 562224 BLAKE2B f9b43668aad9d962eb9c6ca6a0579ab7cf89c883c12226009afc8d8a30a2210782bd17b680c045015de5647b6ff33ecf5da871f5d0c10e1d9630e40c177c4947 SHA512 29bbd8eaef84f13fcdd27b82e69fbd460321f4250bec5d06e8ca702742f334a4a2d66f3a83e01c78a6d14931f39da1dee96fa6accdcb93a153c6e4cfd020e226
76 +DIST firefox-107.0.1-kk.xpi 625497 BLAKE2B edb90e98ed891404173d4b71c7345904d97a0d65b648e527586ac2a515d1185862f40499bf5300ff8a7ecff5cde3d156994e3f38511fad591eb1d3df676e61d7 SHA512 efdfc4cb536b4c97fa64552735bea0230e009aaa86d2b98bcd165c9502f97b35afd4804ba96f517b58422a1d838fb9f78cb637d570b4ecdb77a837c29c265f80
77 +DIST firefox-107.0.1-km.xpi 525697 BLAKE2B bdecf673084c50ba69f9650fa423010d98f97ddfa31d1a2d900a15d0102f0853101e8f7f867eaa8201ebbd39bdb0a1caa1715d8a3461ff7d4530ffd04990d38c SHA512 0a9b60e508c4bf7e9fe1c1735833ae178361b5de56991b06ae198602b1da1bdbc01f25b0536aae496933c4a284e060fc979a68429393df0ccefdb5cfe984f46c
78 +DIST firefox-107.0.1-kn.xpi 491417 BLAKE2B 30dfd67cd5bf078668fa040a4f72c0b760583607d29d9a50f30ab31b13a6a5faa11922fb6a592af80dbeb99631fdbf380a750dac721502b98ded143878105f51 SHA512 64d460c35c9546162410373194d3468b40a0435ecb24024e90e7b401140ab0457d4ef474319f42e4c98d5207408e22773f0b6a08e91120be8f1d827b2feec81d
79 +DIST firefox-107.0.1-ko.xpi 589126 BLAKE2B fc0dd436d60b310b1aa62221df3fd27ed8baec511da0ebe96330809108aba1e7094033b79aa14829e4f30168a0c528091e2907181d540d21bc60b01074ac2002 SHA512 a605f1a2c4196e9d62a921189dd0ebba14d69ffade1b2c971fb1aa64ff078290035e46c23b47e4b212cb2f54b31e4806658d13cb50de09f7edab1c3cd126ae69
80 +DIST firefox-107.0.1-lij.xpi 465965 BLAKE2B 18b65311636a881ecbc2d6a507322d200ed56ac1f0075667bd89dba104dc7c0dd6ff02d55e8c0861cb009d3587276a9baaca6b240fdb34aa4f4924ef5452305a SHA512 209ce19b88e446c51a289c8a0adcfe443e3d2b254ff0c47eaa9ffa7c57846d98b7860fecbcf59ab1f233f27c6255962c1609719bc885a858b6a357d28b44e516
81 +DIST firefox-107.0.1-lt.xpi 558419 BLAKE2B ea696e8edc153297218c99c1e123bd85778da38ad6eff7cd4b0251200db0b0c04134df9d3ca0e4d15dde384970ae1d3d7588422ecaaa108cbe8c46c11f4f279d SHA512 13c8cb1559d76a5e8cfdc88fb2e37715f8aac37a389a53d296bc6f7507d5dd2af5a3fc42a2eb6a0d865a13259f24381458a66e8f926f361f9023deaaa51c9347
82 +DIST firefox-107.0.1-lv.xpi 460737 BLAKE2B ff838c14d738e55d5a94e061d3a236b75c2bc42c2db0293e49db2734b6b820a01f2cac19f75fa689bdbad03c00038407fd6e065eb529d90912590864c7496a8a SHA512 01b5c7c54f3ab2c040203059e3e4be626c9c1cd6d8cbf83ffc8b44981edb890dbedcf3a669d61d4d83f5fe48bab699ef869c4e8a180c660688d62d7a29eecbaf
83 +DIST firefox-107.0.1-mk.xpi 481448 BLAKE2B 4b44cee795a64da5d60804bd657a4da40c2cfc34e6040e6f45988be85aed1914defc6ae63d10b286b76ccdb638e9ef334573d2f0e4cc562fb418114869354ef6 SHA512 be5a8ca52cf586dd85031ab48f8cff5b0c2d45795bb79b527907a910d1985d8e37c33797aee0da4c95551a4beca936e76222aa51ead870ccf3aa7aa7c6dc5314
84 +DIST firefox-107.0.1-mr.xpi 526039 BLAKE2B 9cbe0b87b017f577e2f1068af7f4a3c42588d2b2ebb51f2eb735a6c770ee0c55febaff45a6c01e529e38d30e733e4e00f59bc14d6f82d79ea956497fab9156fd SHA512 57b100056cfdf6027a8f8ef2eaa0b2783a9df8210f7947b5a39b267c90e1f9703d661b90ed90f9ab6b28c0d5534a8a1ebfba7b053edfc72b15a781cd94a507e3
85 +DIST firefox-107.0.1-ms.xpi 445493 BLAKE2B bca003813cbdca4d7968855e146e6485c43b7c176a1fd6f6c10b3e8ddc8e9469cf14a0c6163939a1269b6fbefa6ca3368277fb5ca45248412640a313fa0550ea SHA512 0b97993d02beefa37c135749059eee420d8cd29cb874049db0186738121cb3d79f88ef147e44b392e0a9fa9b125ae3bed1e4d5a931800e5d9b71037e167c29d6
86 +DIST firefox-107.0.1-my.xpi 512003 BLAKE2B 2842daac07b031c5061ea45c8726f3d5bcdc404710cf6d3075938bfabe02dae16f537f9832363f98a4b940b599bd0b04e0ab4034daf92245752ad657b34fae1d SHA512 98948c1fc465946c0920e4f13cb14a38864502a672a6406ae22dadb993d00cbdc9cf370b1614766dbba02debd4d41993b7c168b28b7c642dc67431b914741dff
87 +DIST firefox-107.0.1-nb-NO.xpi 540798 BLAKE2B 24cb4b31ba6fdaf55b01b16e37b78a45927d3cf15b7bd47b69b821f395b30bc447d0f60cb200104a3a384284e3940445957a4459e84ec07f158c9b1321dc9eb3 SHA512 760f01f2c9ab83d34cdc8e5efc5fc3e210543f094a32055912725dcc22eebfce49c6b3e38f973d48be10871e9a7909ba326ec4364fcd3acf3fdb6c769605e5e6
88 +DIST firefox-107.0.1-ne-NP.xpi 480176 BLAKE2B 7c697c407ada21edd972f528db8fea81930b4e39601e2300291d5e68ba47f5f703e241f70ae11715675da378d53027064ff457c2b99d2b1dba44093983d7b011 SHA512 de6337411d9bf06f347f3baca406ec84cfe92955ec69aca8b69c6a60c0268550db09da10fa3fec8092ceda395aa712df5e4694b54072eb9f8e45b77eac867d8d
89 +DIST firefox-107.0.1-nl.xpi 548546 BLAKE2B 670b16f49dbaa1e775a295c0bc2ead18b3ec8c2580faa1c53a75c441dbf3a23ee2d36e009134c7e964f332cf324cd7feb5c4f7e9ac5d509956b00f445dfe7631 SHA512 672659ba87cf26a56521b1309bb146da0726fc889c003239d8fe20ede046c6e7930ef7fa74d1318cad50a4f4d3c4e3a9412c7f556ecf690d5ea39c57dbce8d40
90 +DIST firefox-107.0.1-nn-NO.xpi 543213 BLAKE2B 8d2e881f0f4711332fe4c3ba629789a6466bcaa153da4222531f6349728551ec7adbd4715ac14eef64fe7b9764a759f40314982e86e2c2d30433a13d4d895b7a SHA512 16949e233389932581fa56de01d0f92e10d796dd2d3f49c8b80a1c34dc6792062d3ed8cb3b0a860e1eb9afab040d032713ea4b677e8ca2bdbdd96d944c1f40c5
91 +DIST firefox-107.0.1-oc.xpi 564163 BLAKE2B 7101d30d595bd0f1a8f6216ac0c4f4d7c833d6f4d8968ef403635111dc1f1f212e48a927f29e72021939ba8eece55a670880beff114aa082875e9e4276a66bc5 SHA512 3fc357dfae3f7519092a7e1e389208524b5d786bea3d713f65c9a7761bf75d00d14ea44175d05ff90902ec278f7dfcf50a14abe8c1d99b0166b20559db626f61
92 +DIST firefox-107.0.1-pa-IN.xpi 618932 BLAKE2B 400865d13066b7806c311dc712d45449858bce3bf657082a62288056ea42a6e5595fee55c53af96ab8a8be955db64251371e391879b990220c784735a03bd7af SHA512 c67d33942c5ed7f74792e8099be88843bd51373f7dd75bd6832637b61303918e9beec18eb564cfd79332fa1f8c92bd4618b90d1f66469ac90e9f87ab372433cb
93 +DIST firefox-107.0.1-pl.xpi 570594 BLAKE2B 32568f4e55c8b881d03c095e0eb99764580a2b83b8f1e706d206e0353639784002b93a761436659e27f105a873e2c0a7ed416d2b51f2d664d8e393cc592622db SHA512 94e0cb3d71f8511dc502cc8cf6987371a23dbed1b1985486e3241ad4888d00000d65d198540a01f8813dfad997e7164d23ddd38124f1640b75e6f371ea7c4576
94 +DIST firefox-107.0.1-pt-BR.xpi 553416 BLAKE2B 18a5fe58e793f9e085966efa5ca1b4e31322952ee39eab41884820783552d5c9b974818959f91a73b0415248488c25dbc98d8390f793d4d719d2753a1cf1ffc3 SHA512 0f30801b2204c6fa42cdffca0322d758a482e19ce2d91ccb01fbcd38481f352627cfd617ee23bdbd42905cfc4c48d4bbca2fb61f4640966346464598facf34b7
95 +DIST firefox-107.0.1-pt-PT.xpi 558236 BLAKE2B 658d9fbf9fd16eb6b061b81ebdb8ce6245634a8472f1f1c0c8d133572aa29588e120b6c88e9fd320641a30bf5641704a58f2991f83e252b0a83152f9a2ab003f SHA512 000c1edaa2837c80f51de220742fa15f58320de98a60090b8d91c242b2fde1190df6be7e8b3cf4f268258ffd7a74eaf1b27a7872382cd0863d722c21ef0353f3
96 +DIST firefox-107.0.1-rm.xpi 548611 BLAKE2B 6b3cc0a78822fe9382701486b6e67279c58c72ff44f00064e6082a4b15b52a263336d1017244f5d9429dc759731d158659326e85d72391ffe5a6fbd38ee08034 SHA512 ef80bf0f52f6c7924e5c6dd8709b4e596c13934b94da55394b107360aefe6d2346f4f3b946f3c28f98ebabb7c041f69432c726d4a5742309ae0b81e2cbf92ef0
97 +DIST firefox-107.0.1-ro.xpi 528280 BLAKE2B 6ae82a8501d57f9ec8b87dbd46410112f4f0d19cd464b0b6930b6d28ccfd2192a94c25b3d338e4f0a9922e91fbf1c0cc454a307bf023eb5a6a0578ebeb97319a SHA512 486de7dc3aa134e280a288e60b0754eb228892cf1f9631febd074ef491e45464dd6cdd62ecd40dde18ec85319be72bcc9a84f485c7a8f0ebe9863611d0ef72b6
98 +DIST firefox-107.0.1-ru.xpi 640928 BLAKE2B 0ef5be441ec773ba67050af9725dcc691323ac5d2669aab29e59aaf351a31de9f3ef59a1844421a08f1b3feee10c39221c1a6ec0e7b6ca0c69c24c6599b1c810 SHA512 a303388b2220078102cfc757b5e1e332ccdebb1395c587ab93c82ab49683caa646f4fce84ab86517be7faf759f752bb4fd999b305b0e25c3a370c66e5baafb31
99 +DIST firefox-107.0.1-sco.xpi 498952 BLAKE2B 3e5e1402c36fe81239cba0b537ea2d0761cf4e535bad789025dae3da6abf4e0776f5c8cba990db7d1993be8adfb7f363e933a877ab609599716095d20b07e80d SHA512 5bf2a3e24b950973f5169c124f1291c657a889dcaa02bcc3b8fa787628092f639380d65158c76d5e96794f457d5a17d2d80eed54591bac18d452f2236e17fb82
100 +DIST firefox-107.0.1-si.xpi 564935 BLAKE2B d05ce2726a8c6e7e7a1c2e95fdf4a7ba14b827040b379744cf7c81900495b5ed7c945e08e1ce54b04f1fbf6c0ca08d712504a6fad8652aa7b15442eb24da65a5 SHA512 ef23e52683a681601ac1b5b2c0d8733a97eceb0edb250506e6cd964a423a10d5a128975090ccf924d791c855d3b2ed5670d431556b963dcc75909058bc54f253
101 +DIST firefox-107.0.1-sk.xpi 578150 BLAKE2B 31188b7d8518474c6849352dc0cea08ea89d86e529ed85773d6cf3fb26287ed13d07dda0e7cc247044221c6e5ffc8d83697b8c909d154b0fcbcf39c97dd8926c SHA512 f879c693b064ba820288a33c993daf83cc763a9289d0291918ba0eee98a37a1b477b1692690dd8631747af5ac3129126824367b0765403f5b9449ada46223dc9
102 +DIST firefox-107.0.1-sl.xpi 551906 BLAKE2B bd51c797ad6c2cec72470d8a32f6ab57ff3f258e22ed5d81acb2d394762eb9bf13e8d852762d55861872a22eeb3a47047166756d2c8c34cf67881ba6d106c545 SHA512 42739408646160d8cb963ba1fdaa79872b322669fcb0472d5c5160dc6084710e2d6eab5fe223c787779f93a39a8db3ba98695b03d51893d6b66c46b11d1ebe88
103 +DIST firefox-107.0.1-son.xpi 418041 BLAKE2B 40a29562c3def3b7b0587b6e7b94a6717037142ba024f26c9aafb87b6d3a8786283eb210106646f5d55b0d79821c65ab0efee06d0cf44e98000098f4075f7e1b SHA512 2997fb54d99ff43b6e12117963f4948bb425f5b3de836bd4869547ca985f040f7311b307df8e1e5c50aafb8305b55b45bf3c267652553462b7de653931038283
104 +DIST firefox-107.0.1-sq.xpi 554278 BLAKE2B 9a57f8377eba29fec8f2a92c356ee2487299104f17015b1c5eadb04b690a0456ad502f6ffffd6fcdbd01bc6ab15a0f5129ab57976a2244b98c7b4f9eb76d9516 SHA512 bc0e0c8125432b64f9d9f1d04ef181d00b9c7f82eb06ff34cd17aceaf1d3d92622853227e13cbdf9e40c4ee7096b9b217bbc603b8e6d61df75e4a881037949c2
105 +DIST firefox-107.0.1-sr.xpi 594624 BLAKE2B 4cfb39b7f693df1ce1252f543ee497cf315f78ec4536076f5cce2483c9279eb8f41a0ebdc4d51f9ec5bba55dd25bebeeff9daa97e338d9f04cb9038c42563744 SHA512 958a0de6256e75b3769f4c115fdaa6bd7fae4133d7d39986a93ddb1e17a9737a50d73fdfd20ddf985e51c2bb090fc76e9386a2353fe3f54fea522265c8c94629
106 +DIST firefox-107.0.1-sv-SE.xpi 550431 BLAKE2B 29c03ca1085d8bff372bdb81479d43d5f055ba11e171de1cb7de53dcb7648081de1e988b11edfc1509d41e29214ebfb4926662c94768b0c3de6541fdd1d167fd SHA512 84f9b91b77d8eb1ee283fe671f9c440338876002236969208f386ef00eb00271074685108b69e55fbe95317e223ed67158eb9e741155c5267ca5eef4e979359f
107 +DIST firefox-107.0.1-szl.xpi 511813 BLAKE2B 008466485cf93a7b28b15d4896462c72666cf12e4cd4177e01cef50170ab5154f860d275d943419bb719f584f0e613ccfa28ac3407d89752be9bc465f8b8db22 SHA512 653e6f8d3e9c12551426668ab27efded8641bcb74b4b2545b2287fe0d367ca4ec200a2ee32c9365956ef7524300bb1f611bb40fd2b5c7870b595b870e69186f3
108 +DIST firefox-107.0.1-ta.xpi 503959 BLAKE2B 35806726c2b9222bcc3c984dd3f40e405bc8a205cc04a1fce4267b4767bb4e16efc205ae969e52ef004c43e1bebc2ed14f24ba2b04fc318a92d8d4e4ee30b31b SHA512 429902bb4fc55dfe93c6e044fa7540692b50e6958a4f403ff7b5e26610fb9718eb1c0671418454342a2a04dd1c2c21460b00f48a35b79c6ffd21682337e3674e
109 +DIST firefox-107.0.1-te.xpi 550791 BLAKE2B 033471660c1f3c9c19dad3580740aac1d001e9d45637de11537e65ccd3379a19aff7c517b5f1066ad1330be69cfd094adb0b5ab517934c2be89fa513d5cde384 SHA512 ec0450e482cc72521cf84047055e721299245839911f226b70149f5d3e7737f01a4ad68c005d673032f80ef463c1d7bd1f7be74ad56ded16842510737a83fa5e
110 +DIST firefox-107.0.1-th.xpi 617234 BLAKE2B 2fd2b8f875dedca11a147405748dd264f150da276d9c7e8d76df3372a328f008441eff8bfc7079e5eaf12532c948b8144abd08cb4eb55bee4dbc99d7d3dacf21 SHA512 5e6716712d389fc216d20468f4938ef856667413c548c358f0f619fde61d7060ddda81680e9d03a58f69168dde5583b64d9f7dda1592807d63967ea01a004b9a
111 +DIST firefox-107.0.1-tl.xpi 517170 BLAKE2B e4b7330527a5b9f2b26cb00a5bb0e9235f81bd535b3df5ffd04a77dd64a8fab7ac851ac60a3afcc4cc6433a8d6d138c50461d6fd61d9540f6d142ee882bf8c45 SHA512 fa5ef8bfaf1d585df7f58ea2bcc9a53a91a9bf2c0bba51e8c5084b649c3fcba22fb4dcc55a1d9ad5ebe76e066112a83cdf244067105ae38642991e3b6471a7be
112 +DIST firefox-107.0.1-tr.xpi 564032 BLAKE2B 940a9c1cbe3da18f8dd493425f7bdea7264756af484fbd836ca933236e4cc198302db870b389012035cefe660a97953f790d140039c37a70efaa32948e9655fd SHA512 3a7a9f0e45942cc07f1483eb27dd24df8653fd571509ef3667826698d6bd08634018672fd49d8b7496911251f2f103cdc4c29321b1e5e65dd7e713813f732fce
113 +DIST firefox-107.0.1-trs.xpi 481809 BLAKE2B 9e671e7e10889352af3c4420e541fc9da2f8c8548365a840aa8052198901d915bbb6b5368c82aec5730db735f27d194268b6b2dd4eeedfb13d21ffc10560ca7a SHA512 92ddc7ac9ba74b56cd73f00aec7a5c5c9485c6370c7a65f20177f6d7bbd4096bc9d1fae541a679c6375cf2324976a2cb8f59a05aaa1d3de3daa981ccb249551b
114 +DIST firefox-107.0.1-uk.xpi 634111 BLAKE2B c6371d66495ed14fead561c7899b5f9223b443e8d2b8a5d6e4973289398c940fa87823641cc4bca42590676fcdcac2db4dcaacf023c8d926540a942aac692f25 SHA512 afb80ab6bc3a008035222bfb2b0d576e55c1f96577cd522f9f7f2815f1b40b502c482e56d1cb8fef2bfb5a28c10b9c60fb8a2fd69a80dc51fcb490224c1e2b94
115 +DIST firefox-107.0.1-ur.xpi 553081 BLAKE2B 9b64dbd578e695f2e8efd012bd52527b6f024e31d2e0816e1d6cae3535320c27650904cadf3fe0419edf36fc654d514184ec00cf7df8e98b4b4b458560fe339f SHA512 e155e942d8e7aafbffcbc7b16b7745322a2f41e2872d4de0c5499deb647739086d9f5522f73b3ba5fb64f152ea3d486fd40c837542f4d69d6c41b245d6389816
116 +DIST firefox-107.0.1-uz.xpi 473055 BLAKE2B c9a21bb2d7c2886c95829e99a8bce06f47301acfcf6c76d919309ce4c70b1c2bc6b47bd8f9bd80c7350e6e375a61f48283405412948b7607ebfd35b3833a2e24 SHA512 905434a50b9f264fd26095005cf0c9d155181e9cc6260c1a8ef26c1139a64afa7d21b8b827f01f221c578a0cf3e8c9b5082f30ddcc726a45b6a420310d321dc1
117 +DIST firefox-107.0.1-vi.xpi 585158 BLAKE2B 5c030fed4c996d44c712065191f8f3c8248c790b45b68cda43779542767e5349697ae83766599455c676382866d2531b3cbab7921033ff09c47e8c5e804c9caa SHA512 4c3d86fe4255f121ff2ed3e252f6b379610abafa2017fe13aed520e217e666ba7443c08989ac47115670e2ad69730583bccace14bde595345efd7dcbf991cdbf
118 +DIST firefox-107.0.1-xh.xpi 414832 BLAKE2B 3db7a14a5cde7a36fb0ddaf3c452787f8b4835b6cc025334dfec8a0f131040b3eea4171784b8ec39f7370047eb0f58d5b16904282d3d9a38d5df2727b08ab7c9 SHA512 36006fe32b4a6b5ffe208006ec6df870d280d7040ca1c52182839e9ad3de4e5fadd49f942170751549158f6ce894d560fad88c3f78ad92a9e92f07b007e10057
119 +DIST firefox-107.0.1-zh-CN.xpi 585099 BLAKE2B 98bf9c88917666a9316c8c7170dfc83e7a88d2deebd853b282af0b3854405a9ac258204df9013115dde2b8a0789c431396a8d9be6dc6ee7ff7a81a7f3748916a SHA512 393e75b0ec843b00f874ca44b0a378bf823223bc83a107bb8bfde5277c590a5c05b3633a72dd52b24e6d5755e19e844cb70ec15a12c696aaa53852ff95d6736a
120 +DIST firefox-107.0.1-zh-TW.xpi 586226 BLAKE2B b3f7b7831a501304dc47282f07f3edc1315a109a4de76956194644db2164544e8b2f85ec9dd98f2d9e7393d41ed603cf8b3cf3990c4fdf9e650cd453e61185f3 SHA512 18a5f6890a2f291bfab58252b5456df7e61f3f6289c84ce5112e1e1d7228fb3d2ec92d0f6a7669ee81ec8ccbca4ecc858ded8e5f2ecaf9839d38426851f8e3c3
121 +DIST firefox-107.0.1.source.tar.xz 508678860 BLAKE2B cab3d7e723c9927518a3acfbf8d0db7846074000933074309b9bea1dcc2e182b579a7a6b2763bafeaf813d9846c4539d6e73cf75734844f3207525aff7e5c8be SHA512 e57e4bfcecbcc6dbe73f23577a14a2998c8c3f3d602f85ea06f99e0974e78481b9f7bdb019cb4e9733e59f56be1407edd64a2adb7b284bb4a87b46b1e2295dea
122 DIST firefox-107.0.source.tar.xz 510848468 BLAKE2B 3266e1dafb3e0befe746f6ae33679474e70335b32baafc25981c7a13f385d6080a313887c7828d76a47d2e456056c6d93140b84f1eee502dc9590247d31ecff2 SHA512 4b442631079a13e1d11223499b1d8daf622d9d84b38898f9084670ddcb5738b73e0d967a5050d5930bf862aa69e8d46ebf6d751ac6d0f075a1d75ff4738bdb6e
123
124 diff --git a/www-client/firefox/firefox-107.0.1.ebuild b/www-client/firefox/firefox-107.0.1.ebuild
125 new file mode 100644
126 index 000000000000..e5d25a646f1a
127 --- /dev/null
128 +++ b/www-client/firefox/firefox-107.0.1.ebuild
129 @@ -0,0 +1,1328 @@
130 +# Copyright 1999-2022 Gentoo Authors
131 +# Distributed under the terms of the GNU General Public License v2
132 +
133 +EAPI=8
134 +
135 +FIREFOX_PATCHSET="firefox-107-patches-02j.tar.xz"
136 +
137 +LLVM_MAX_SLOT=15
138 +
139 +PYTHON_COMPAT=( python3_{8..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 + || (
216 + (
217 + sys-devel/clang:15
218 + sys-devel/llvm:15
219 + clang? (
220 + sys-devel/lld:15
221 + virtual/rust:0/llvm-15
222 + pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] )
223 + )
224 + )
225 + (
226 + sys-devel/clang:14
227 + sys-devel/llvm:14
228 + clang? (
229 + sys-devel/lld:14
230 + virtual/rust:0/llvm-14
231 + pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] )
232 + )
233 + )
234 + )
235 + app-arch/unzip
236 + app-arch/zip
237 + >=dev-util/cbindgen-0.24.3
238 + net-libs/nodejs
239 + virtual/pkgconfig
240 + !clang? ( virtual/rust )
241 + amd64? ( >=dev-lang/nasm-2.14 )
242 + x86? ( >=dev-lang/nasm-2.14 )
243 + pgo? (
244 + X? (
245 + x11-base/xorg-server[xvfb]
246 + x11-apps/xhost
247 + )
248 + wayland? (
249 + >=gui-libs/wlroots-0.15.1-r1[tinywl]
250 + x11-misc/xkeyboard-config
251 + )
252 + )"
253 +COMMON_DEPEND="${FF_ONLY_DEPEND}
254 + >=app-accessibility/at-spi2-core-2.46.0:2
255 + dev-libs/expat
256 + dev-libs/glib:2
257 + dev-libs/libffi:=
258 + >=dev-libs/nss-3.84
259 + >=dev-libs/nspr-4.35
260 + media-libs/alsa-lib
261 + media-libs/fontconfig
262 + media-libs/freetype
263 + media-libs/mesa
264 + media-video/ffmpeg
265 + sys-libs/zlib
266 + virtual/freedesktop-icon-theme
267 + x11-libs/cairo
268 + x11-libs/gdk-pixbuf
269 + x11-libs/pango
270 + x11-libs/pixman
271 + dbus? (
272 + dev-libs/dbus-glib
273 + sys-apps/dbus
274 + )
275 + jack? ( virtual/jack )
276 + libproxy? ( net-libs/libproxy )
277 + selinux? ( sec-policy/selinux-mozilla )
278 + sndio? ( >=media-sound/sndio-1.8.0-r1 )
279 + screencast? ( media-video/pipewire:= )
280 + system-av1? (
281 + >=media-libs/dav1d-1.0.0:=
282 + >=media-libs/libaom-1.0.0:=
283 + )
284 + system-harfbuzz? (
285 + >=media-gfx/graphite2-1.3.13
286 + >=media-libs/harfbuzz-2.8.1:0=
287 + )
288 + system-icu? ( >=dev-libs/icu-71.1:= )
289 + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
290 + system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads] )
291 + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
292 + system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
293 + system-webp? ( >=media-libs/libwebp-1.1.0:0= )
294 + wayland? (
295 + >=media-libs/libepoxy-1.5.10-r1
296 + x11-libs/gtk+:3[wayland]
297 + x11-libs/libdrm
298 + x11-libs/libxkbcommon[wayland]
299 + )
300 + wifi? (
301 + kernel_linux? (
302 + dev-libs/dbus-glib
303 + net-misc/networkmanager
304 + sys-apps/dbus
305 + )
306 + )
307 + X? (
308 + virtual/opengl
309 + x11-libs/cairo[X]
310 + x11-libs/gtk+:3[X]
311 + x11-libs/libX11
312 + x11-libs/libXcomposite
313 + x11-libs/libXdamage
314 + x11-libs/libXext
315 + x11-libs/libXfixes
316 + x11-libs/libxkbcommon[X]
317 + x11-libs/libXrandr
318 + x11-libs/libXtst
319 + x11-libs/libxcb:=
320 + )"
321 +RDEPEND="${COMMON_DEPEND}
322 + jack? ( virtual/jack )
323 + openh264? ( media-libs/openh264:*[plugin] )
324 + pulseaudio? (
325 + || (
326 + media-sound/pulseaudio
327 + >=media-sound/apulse-0.1.12-r4
328 + )
329 + )"
330 +DEPEND="${COMMON_DEPEND}
331 + pulseaudio? (
332 + || (
333 + media-sound/pulseaudio
334 + >=media-sound/apulse-0.1.12-r4[sdk]
335 + )
336 + )
337 + X? (
338 + x11-libs/libICE
339 + x11-libs/libSM
340 + )"
341 +
342 +S="${WORKDIR}/${PN}-${PV%_*}"
343 +
344 +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
345 +# overridden in the enviromnent (advanced hackers only)
346 +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
347 + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
348 +fi
349 +
350 +llvm_check_deps() {
351 + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
352 + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
353 + return 1
354 + fi
355 +
356 + if use clang ; then
357 + if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
358 + einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
359 + return 1
360 + fi
361 +
362 + if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
363 + einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
364 + return 1
365 + fi
366 +
367 + if use pgo ; then
368 + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
369 + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
370 + return 1
371 + fi
372 + fi
373 + fi
374 +
375 + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
376 +}
377 +
378 +MOZ_LANGS=(
379 + af ar ast be bg br ca cak cs cy da de dsb
380 + el en-CA en-GB en-US es-AR es-ES et eu
381 + fi fr fy-NL ga-IE gd gl he hr hsb hu
382 + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
383 + pa-IN pl pt-BR pt-PT rm ro ru
384 + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
385 +)
386 +
387 +# Firefox-only LANGS
388 +MOZ_LANGS+=( ach )
389 +MOZ_LANGS+=( an )
390 +MOZ_LANGS+=( az )
391 +MOZ_LANGS+=( bn )
392 +MOZ_LANGS+=( bs )
393 +MOZ_LANGS+=( ca-valencia )
394 +MOZ_LANGS+=( eo )
395 +MOZ_LANGS+=( es-CL )
396 +MOZ_LANGS+=( es-MX )
397 +MOZ_LANGS+=( fa )
398 +MOZ_LANGS+=( ff )
399 +MOZ_LANGS+=( gn )
400 +MOZ_LANGS+=( gu-IN )
401 +MOZ_LANGS+=( hi-IN )
402 +MOZ_LANGS+=( hy-AM )
403 +MOZ_LANGS+=( ia )
404 +MOZ_LANGS+=( km )
405 +MOZ_LANGS+=( kn )
406 +MOZ_LANGS+=( lij )
407 +MOZ_LANGS+=( mk )
408 +MOZ_LANGS+=( mr )
409 +MOZ_LANGS+=( my )
410 +MOZ_LANGS+=( ne-NP )
411 +MOZ_LANGS+=( oc )
412 +MOZ_LANGS+=( sco )
413 +MOZ_LANGS+=( si )
414 +MOZ_LANGS+=( son )
415 +MOZ_LANGS+=( szl )
416 +MOZ_LANGS+=( ta )
417 +MOZ_LANGS+=( te )
418 +MOZ_LANGS+=( tl )
419 +MOZ_LANGS+=( trs )
420 +MOZ_LANGS+=( ur )
421 +MOZ_LANGS+=( xh )
422 +
423 +mozilla_set_globals() {
424 + # https://bugs.gentoo.org/587334
425 + local MOZ_TOO_REGIONALIZED_FOR_L10N=(
426 + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
427 + )
428 +
429 + local lang xflag
430 + for lang in "${MOZ_LANGS[@]}" ; do
431 + # en and en_US are handled internally
432 + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
433 + continue
434 + fi
435 +
436 + # strip region subtag if $lang is in the list
437 + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
438 + xflag=${lang%%-*}
439 + else
440 + xflag=${lang}
441 + fi
442 +
443 + SRC_URI+=" l10n_${xflag/[_@]/-}? ("
444 + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
445 + SRC_URI+=" )"
446 + IUSE+=" l10n_${xflag/[_@]/-}"
447 + done
448 +}
449 +mozilla_set_globals
450 +
451 +moz_clear_vendor_checksums() {
452 + debug-print-function ${FUNCNAME} "$@"
453 +
454 + if [[ ${#} -ne 1 ]] ; then
455 + die "${FUNCNAME} requires exact one argument"
456 + fi
457 +
458 + einfo "Clearing cargo checksums for ${1} ..."
459 +
460 + sed -i \
461 + -e 's/\("files":{\)[^}]*/\1/' \
462 + "${S}"/third_party/rust/${1}/.cargo-checksum.json \
463 + || die
464 +}
465 +
466 +moz_install_xpi() {
467 + debug-print-function ${FUNCNAME} "$@"
468 +
469 + if [[ ${#} -lt 2 ]] ; then
470 + die "${FUNCNAME} requires at least two arguments"
471 + fi
472 +
473 + local DESTDIR=${1}
474 + shift
475 +
476 + insinto "${DESTDIR}"
477 +
478 + local emid xpi_file xpi_tmp_dir
479 + for xpi_file in "${@}" ; do
480 + emid=
481 + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
482 +
483 + # Unpack XPI
484 + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
485 +
486 + # Determine extension ID
487 + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
488 + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
489 + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
490 + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
491 + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
492 + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
493 + else
494 + die "failed to determine extension id"
495 + fi
496 +
497 + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
498 + newins "${xpi_file}" "${emid}.xpi"
499 + done
500 +}
501 +
502 +mozconfig_add_options_ac() {
503 + debug-print-function ${FUNCNAME} "$@"
504 +
505 + if [[ ${#} -lt 2 ]] ; then
506 + die "${FUNCNAME} requires at least two arguments"
507 + fi
508 +
509 + local reason=${1}
510 + shift
511 +
512 + local option
513 + for option in ${@} ; do
514 + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
515 + done
516 +}
517 +
518 +mozconfig_add_options_mk() {
519 + debug-print-function ${FUNCNAME} "$@"
520 +
521 + if [[ ${#} -lt 2 ]] ; then
522 + die "${FUNCNAME} requires at least two arguments"
523 + fi
524 +
525 + local reason=${1}
526 + shift
527 +
528 + local option
529 + for option in ${@} ; do
530 + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
531 + done
532 +}
533 +
534 +mozconfig_use_enable() {
535 + debug-print-function ${FUNCNAME} "$@"
536 +
537 + if [[ ${#} -lt 1 ]] ; then
538 + die "${FUNCNAME} requires at least one arguments"
539 + fi
540 +
541 + local flag=$(use_enable "${@}")
542 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
543 +}
544 +
545 +mozconfig_use_with() {
546 + debug-print-function ${FUNCNAME} "$@"
547 +
548 + if [[ ${#} -lt 1 ]] ; then
549 + die "${FUNCNAME} requires at least one arguments"
550 + fi
551 +
552 + local flag=$(use_with "${@}")
553 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
554 +}
555 +
556 +virtwl() {
557 + debug-print-function ${FUNCNAME} "$@"
558 +
559 + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
560 + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset"
561 + tinywl -h >/dev/null || die 'tinywl -h failed'
562 +
563 + # TODO: don't run addpredict in utility function. WLR_RENDERER=pixman doesn't work
564 + addpredict /dev/dri
565 + local VIRTWL VIRTWL_PID
566 + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; }
567 + local -x WAYLAND_DISPLAY
568 + read WAYLAND_DISPLAY <&${VIRTWL[0]}
569 +
570 + debug-print "${FUNCNAME}: $@"
571 + "$@"
572 +
573 + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
574 + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
575 +}
576 +
577 +pkg_pretend() {
578 + if [[ ${MERGE_TYPE} != binary ]] ; then
579 + if use pgo ; then
580 + if ! has usersandbox $FEATURES ; then
581 + die "You must enable usersandbox as X server can not run as root!"
582 + fi
583 + fi
584 +
585 + # Ensure we have enough disk space to compile
586 + if use pgo || use lto || use debug ; then
587 + CHECKREQS_DISK_BUILD="13500M"
588 + else
589 + CHECKREQS_DISK_BUILD="6600M"
590 + fi
591 +
592 + check-reqs_pkg_pretend
593 + fi
594 +}
595 +
596 +pkg_setup() {
597 + if [[ ${MERGE_TYPE} != binary ]] ; then
598 + if use pgo ; then
599 + if ! has userpriv ${FEATURES} ; then
600 + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
601 + fi
602 + fi
603 +
604 + # Ensure we have enough disk space to compile
605 + if use pgo || use lto || use debug ; then
606 + CHECKREQS_DISK_BUILD="13500M"
607 + else
608 + CHECKREQS_DISK_BUILD="6400M"
609 + fi
610 +
611 + check-reqs_pkg_setup
612 +
613 + llvm_pkg_setup
614 +
615 + if use clang && use lto ; then
616 + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
617 + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
618 + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
619 +
620 + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
621 + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
622 + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
623 +
624 + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
625 + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
626 + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
627 + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
628 + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
629 + eerror " - Build ${CATEGORY}/${PN} without USE=lto"
630 + eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
631 + eerror " llvm/clang/lld/rust chain depending on your @world updates)"
632 + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
633 + fi
634 + fi
635 +
636 + python-any-r1_pkg_setup
637 +
638 + # Avoid PGO profiling problems due to enviroment leakage
639 + # These should *always* be cleaned up anyway
640 + unset \
641 + DBUS_SESSION_BUS_ADDRESS \
642 + DISPLAY \
643 + ORBIT_SOCKETDIR \
644 + SESSION_MANAGER \
645 + XAUTHORITY \
646 + XDG_CACHE_HOME \
647 + XDG_SESSION_COOKIE
648 +
649 + # Build system is using /proc/self/oom_score_adj, bug #604394
650 + addpredict /proc/self/oom_score_adj
651 +
652 + if use pgo ; then
653 + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure
654 + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage
655 + # (PORTAGE_SCHEDULING_POLICY) update...
656 + addpredict /proc
657 +
658 + # May need a wider addpredict when using wayland+pgo.
659 + addpredict /dev/dri
660 +
661 + # Allow access to GPU during PGO run
662 + local ati_cards mesa_cards nvidia_cards render_cards
663 + shopt -s nullglob
664 +
665 + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
666 + if [[ -n "${ati_cards}" ]] ; then
667 + addpredict "${ati_cards}"
668 + fi
669 +
670 + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
671 + if [[ -n "${mesa_cards}" ]] ; then
672 + addpredict "${mesa_cards}"
673 + fi
674 +
675 + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
676 + if [[ -n "${nvidia_cards}" ]] ; then
677 + addpredict "${nvidia_cards}"
678 + fi
679 +
680 + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
681 + if [[ -n "${render_cards}" ]] ; then
682 + addpredict "${render_cards}"
683 + fi
684 +
685 + shopt -u nullglob
686 + fi
687 +
688 + if ! mountpoint -q /dev/shm ; then
689 + # If /dev/shm is not available, configure is known to fail with
690 + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
691 + ewarn "/dev/shm is not mounted -- expect build failures!"
692 + fi
693 +
694 + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
695 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
696 + # get your own set of keys.
697 + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
698 + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
699 + fi
700 +
701 + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
702 + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
703 + fi
704 +
705 + # Mozilla API keys (see https://location.services.mozilla.com/api)
706 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
707 + # get your own set of keys.
708 + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
709 + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
710 + fi
711 +
712 + # Ensure we use C locale when building, bug #746215
713 + export LC_ALL=C
714 + fi
715 +
716 + CONFIG_CHECK="~SECCOMP"
717 + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
718 + linux-info_pkg_setup
719 +}
720 +
721 +src_unpack() {
722 + local _lp_dir="${WORKDIR}/language_packs"
723 + local _src_file
724 +
725 + if [[ ! -d "${_lp_dir}" ]] ; then
726 + mkdir "${_lp_dir}" || die
727 + fi
728 +
729 + for _src_file in ${A} ; do
730 + if [[ ${_src_file} == *.xpi ]]; then
731 + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
732 + else
733 + unpack ${_src_file}
734 + fi
735 + done
736 +}
737 +
738 +src_prepare() {
739 + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
740 + ! use ppc64 && rm -v "${WORKDIR}"/firefox-patches/*bmo-1775202-ppc64*.patch
741 + eapply "${WORKDIR}/firefox-patches"
742 +
743 + # Allow user to apply any additional patches without modifing ebuild
744 + eapply_user
745 +
746 + # Make cargo respect MAKEOPTS
747 + export CARGO_BUILD_JOBS="$(makeopts_jobs)"
748 +
749 + # Make LTO respect MAKEOPTS
750 + sed -i \
751 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
752 + "${S}"/build/moz.configure/lto-pgo.configure \
753 + || die "sed failed to set num_cores"
754 +
755 + # Make ICU respect MAKEOPTS
756 + sed -i \
757 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
758 + "${S}"/intl/icu_sources_data.py \
759 + || die "sed failed to set num_cores"
760 +
761 + # sed-in toolchain prefix
762 + sed -i \
763 + -e "s/objdump/${CHOST}-objdump/" \
764 + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
765 + || die "sed failed to set toolchain prefix"
766 +
767 + sed -i \
768 + -e 's/ccache_stats = None/return None/' \
769 + "${S}"/python/mozbuild/mozbuild/controller/building.py \
770 + || die "sed failed to disable ccache stats call"
771 +
772 + einfo "Removing pre-built binaries ..."
773 + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
774 +
775 + # Clearing crate checksums where we have applied patches
776 + moz_clear_vendor_checksums bindgen
777 +
778 + # Create build dir
779 + BUILD_DIR="${WORKDIR}/${PN}_build"
780 + mkdir -p "${BUILD_DIR}" || die
781 +
782 + # Write API keys to disk
783 + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
784 + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
785 + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
786 +
787 + xdg_environment_reset
788 +}
789 +
790 +src_configure() {
791 + # Show flags set at the beginning
792 + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
793 + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
794 + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
795 + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
796 + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
797 +
798 + local have_switched_compiler=
799 + if use clang; then
800 + # Force clang
801 + einfo "Enforcing the use of clang due to USE=clang ..."
802 + if tc-is-gcc; then
803 + have_switched_compiler=yes
804 + fi
805 + AR=llvm-ar
806 + CC=${CHOST}-clang
807 + CXX=${CHOST}-clang++
808 + NM=llvm-nm
809 + RANLIB=llvm-ranlib
810 + elif ! use clang && ! tc-is-gcc ; then
811 + # Force gcc
812 + have_switched_compiler=yes
813 + einfo "Enforcing the use of gcc due to USE=-clang ..."
814 + AR=gcc-ar
815 + CC=${CHOST}-gcc
816 + CXX=${CHOST}-g++
817 + NM=gcc-nm
818 + RANLIB=gcc-ranlib
819 + fi
820 +
821 + if [[ -n "${have_switched_compiler}" ]] ; then
822 + # Because we switched active compiler we have to ensure
823 + # that no unsupported flags are set
824 + strip-unsupported-flags
825 + fi
826 +
827 + # Ensure we use correct toolchain,
828 + # AS is used in a non-standard way by upstream, #bmo1654031
829 + export HOST_CC="$(tc-getBUILD_CC)"
830 + export HOST_CXX="$(tc-getBUILD_CXX)"
831 + export AS="$(tc-getCC) -c"
832 + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG
833 +
834 + # Pass the correct toolchain paths through cbindgen
835 + if tc-is-cross-compiler ; then
836 + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
837 + fi
838 +
839 + # Set MOZILLA_FIVE_HOME
840 + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
841 +
842 + # python/mach/mach/mixin/process.py fails to detect SHELL
843 + export SHELL="${EPREFIX}/bin/bash"
844 +
845 + # Set state path
846 + export MOZBUILD_STATE_PATH="${BUILD_DIR}"
847 +
848 + # Set MOZCONFIG
849 + export MOZCONFIG="${S}/.mozconfig"
850 +
851 + # Initialize MOZCONFIG
852 + mozconfig_add_options_ac '' --enable-application=browser
853 +
854 + # Set Gentoo defaults
855 + export MOZILLA_OFFICIAL=1
856 +
857 + mozconfig_add_options_ac 'Gentoo default' \
858 + --allow-addon-sideload \
859 + --disable-cargo-incremental \
860 + --disable-crashreporter \
861 + --disable-gpsd \
862 + --disable-install-strip \
863 + --disable-parental-controls \
864 + --disable-strip \
865 + --disable-updater \
866 + --enable-negotiateauth \
867 + --enable-new-pass-manager \
868 + --enable-official-branding \
869 + --enable-release \
870 + --enable-system-ffi \
871 + --enable-system-pixman \
872 + --enable-system-policies \
873 + --host="${CBUILD:-${CHOST}}" \
874 + --libdir="${EPREFIX}/usr/$(get_libdir)" \
875 + --prefix="${EPREFIX}/usr" \
876 + --target="${CHOST}" \
877 + --without-ccache \
878 + --without-wasm-sandboxed-libraries \
879 + --with-intl-api \
880 + --with-libclang-path="$(llvm-config --libdir)" \
881 + --with-system-nspr \
882 + --with-system-nss \
883 + --with-system-zlib \
884 + --with-toolchain-prefix="${CHOST}-" \
885 + --with-unsigned-addon-scopes=app,system \
886 + --x-includes="${ESYSROOT}/usr/include" \
887 + --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
888 +
889 + # Set update channel
890 + local update_channel=release
891 + [[ -n ${MOZ_ESR} ]] && update_channel=esr
892 + mozconfig_add_options_ac '' --update-channel=${update_channel}
893 +
894 + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
895 + mozconfig_add_options_ac '' --enable-rust-simd
896 + fi
897 +
898 + # For future keywording: This is currently (97.0) only supported on:
899 + # amd64, arm, arm64 & x86.
900 + # Might want to flip the logic around if Firefox is to support more arches.
901 + if use ppc64; then
902 + mozconfig_add_options_ac '' --disable-sandbox
903 + else
904 + mozconfig_add_options_ac '' --enable-sandbox
905 + fi
906 +
907 + if [[ -s "${S}/api-google.key" ]] ; then
908 + local key_origin="Gentoo default"
909 + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
910 + key_origin="User value"
911 + fi
912 +
913 + mozconfig_add_options_ac "${key_origin}" \
914 + --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
915 + else
916 + einfo "Building without Google API key ..."
917 + fi
918 +
919 + if [[ -s "${S}/api-location.key" ]] ; then
920 + local key_origin="Gentoo default"
921 + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
922 + key_origin="User value"
923 + fi
924 +
925 + mozconfig_add_options_ac "${key_origin}" \
926 + --with-google-location-service-api-keyfile="${S}/api-location.key"
927 + else
928 + einfo "Building without Location API key ..."
929 + fi
930 +
931 + if [[ -s "${S}/api-mozilla.key" ]] ; then
932 + local key_origin="Gentoo default"
933 + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
934 + key_origin="User value"
935 + fi
936 +
937 + mozconfig_add_options_ac "${key_origin}" \
938 + --with-mozilla-api-keyfile="${S}/api-mozilla.key"
939 + else
940 + einfo "Building without Mozilla API key ..."
941 + fi
942 +
943 + mozconfig_use_with system-av1
944 + mozconfig_use_with system-harfbuzz
945 + mozconfig_use_with system-harfbuzz system-graphite2
946 + mozconfig_use_with system-icu
947 + mozconfig_use_with system-jpeg
948 + mozconfig_use_with system-libevent
949 + mozconfig_use_with system-libvpx
950 + mozconfig_use_with system-png
951 + mozconfig_use_with system-webp
952 +
953 + mozconfig_use_enable dbus
954 + mozconfig_use_enable libproxy
955 +
956 + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
957 +
958 + mozconfig_use_enable geckodriver
959 +
960 + if use hardened ; then
961 + mozconfig_add_options_ac "+hardened" --enable-hardening
962 + append-ldflags "-Wl,-z,relro -Wl,-z,now"
963 + fi
964 +
965 + local myaudiobackends=""
966 + use jack && myaudiobackends+="jack,"
967 + use sndio && myaudiobackends+="sndio,"
968 + use pulseaudio && myaudiobackends+="pulseaudio,"
969 + ! use pulseaudio && myaudiobackends+="alsa,"
970 +
971 + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
972 +
973 + mozconfig_use_enable wifi necko-wifi
974 +
975 + if use X && use wayland ; then
976 + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
977 + elif ! use X && use wayland ; then
978 + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only
979 + else
980 + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3
981 + fi
982 +
983 + if use lto ; then
984 + if use clang ; then
985 + # Upstream only supports lld when using clang
986 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
987 +
988 + mozconfig_add_options_ac '+lto' --enable-lto=cross
989 +
990 + else
991 + # ThinLTO is currently broken, see bmo#1644409
992 + mozconfig_add_options_ac '+lto' --enable-lto=full
993 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
994 + fi
995 +
996 + if use pgo ; then
997 + mozconfig_add_options_ac '+pgo' MOZ_PGO=1
998 +
999 + if use clang ; then
1000 + # Used in build/pgo/profileserver.py
1001 + export LLVM_PROFDATA="llvm-profdata"
1002 + fi
1003 + fi
1004 + else
1005 + # Avoid auto-magic on linker
1006 + if use clang ; then
1007 + # This is upstream's default
1008 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
1009 + else
1010 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
1011 + fi
1012 + fi
1013 +
1014 + # LTO flag was handled via configure
1015 + filter-flags '-flto*'
1016 +
1017 + mozconfig_use_enable debug
1018 + if use debug ; then
1019 + mozconfig_add_options_ac '+debug' --disable-optimize
1020 + else
1021 + if is-flag '-g*' ; then
1022 + if use clang ; then
1023 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
1024 + else
1025 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
1026 + fi
1027 + else
1028 + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
1029 + fi
1030 +
1031 + if is-flag '-O0' ; then
1032 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
1033 + elif is-flag '-O4' ; then
1034 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
1035 + elif is-flag '-O3' ; then
1036 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
1037 + elif is-flag '-O1' ; then
1038 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
1039 + elif is-flag '-Os' ; then
1040 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
1041 + else
1042 + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
1043 + fi
1044 + fi
1045 +
1046 + # Debug flag was handled via configure
1047 + filter-flags '-g*'
1048 +
1049 + # Optimization flag was handled via configure
1050 + filter-flags '-O*'
1051 +
1052 + # Modifications to better support ARM, bug #553364
1053 + if use cpu_flags_arm_neon ; then
1054 + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
1055 +
1056 + if ! tc-is-clang ; then
1057 + # thumb options aren't supported when using clang, bug 666966
1058 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \
1059 + --with-thumb=yes \
1060 + --with-thumb-interwork=no
1061 + fi
1062 + fi
1063 +
1064 + if [[ ${CHOST} == armv*h* ]] ; then
1065 + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
1066 +
1067 + if ! use system-libvpx ; then
1068 + sed -i \
1069 + -e "s|softfp|hard|" \
1070 + "${S}"/media/libvpx/moz.build \
1071 + || die
1072 + fi
1073 + fi
1074 +
1075 + if use clang ; then
1076 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
1077 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
1078 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
1079 + local disable_elf_hack=
1080 + if use amd64 ; then
1081 + disable_elf_hack=yes
1082 + elif use x86 ; then
1083 + disable_elf_hack=yes
1084 + elif use arm ; then
1085 + disable_elf_hack=yes
1086 + fi
1087 +
1088 + if [[ -n ${disable_elf_hack} ]] ; then
1089 + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
1090 + fi
1091 + elif tc-is-gcc ; then
1092 + if ver_test $(gcc-fullversion) -ge 10 ; then
1093 + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
1094 + append-cxxflags -fno-tree-loop-vectorize
1095 + fi
1096 + fi
1097 +
1098 + # Additional ARCH support
1099 + case "${ARCH}" in
1100 + arm)
1101 + # Reduce the memory requirements for linking
1102 + if use clang ; then
1103 + # Nothing to do
1104 + :;
1105 + elif use lto ; then
1106 + append-ldflags -Wl,--no-keep-memory
1107 + else
1108 + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
1109 + fi
1110 + ;;
1111 + esac
1112 +
1113 + if ! use elibc_glibc ; then
1114 + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
1115 + fi
1116 +
1117 + # Allow elfhack to work in combination with unstripped binaries
1118 + # when they would normally be larger than 2GiB.
1119 + append-ldflags "-Wl,--compress-debug-sections=zlib"
1120 +
1121 + # Make revdep-rebuild.sh happy; Also required for musl
1122 + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
1123 +
1124 + # Pass $MAKEOPTS to build system
1125 + export MOZ_MAKE_FLAGS="${MAKEOPTS}"
1126 +
1127 + # Use system's Python environment
1128 + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
1129 +
1130 + if use system-python-libs; then
1131 + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system"
1132 + else
1133 + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
1134 + fi
1135 +
1136 + # Disable notification when build system has finished
1137 + export MOZ_NOSPAM=1
1138 +
1139 + # Portage sets XARGS environment variable to "xargs -r" by default which
1140 + # breaks build system's check_prog() function which doesn't support arguments
1141 + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
1142 +
1143 + # Set build dir
1144 + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
1145 +
1146 + # Show flags we will use
1147 + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
1148 + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
1149 + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
1150 + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
1151 + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
1152 +
1153 + # Handle EXTRA_CONF and show summary
1154 + local ac opt hash reason
1155 +
1156 + # Apply EXTRA_ECONF entries to $MOZCONFIG
1157 + if [[ -n ${EXTRA_ECONF} ]] ; then
1158 + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
1159 + for opt in "${ac[@]}"; do
1160 + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
1161 + done
1162 + fi
1163 +
1164 + echo
1165 + echo "=========================================================="
1166 + echo "Building ${PF} with the following configuration"
1167 + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
1168 + [[ -z ${hash} || ${hash} == \# ]] \
1169 + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
1170 + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
1171 + done
1172 + echo "=========================================================="
1173 + echo
1174 +
1175 + ./mach configure || die
1176 +}
1177 +
1178 +src_compile() {
1179 + local virtx_cmd=
1180 +
1181 + if use pgo; then
1182 + # Reset and cleanup environment variables used by GNOME/XDG
1183 + gnome2_environment_reset
1184 +
1185 + addpredict /root
1186 +
1187 + if ! use X; then
1188 + virtx_cmd=virtwl
1189 + else
1190 + virtx_cmd=virtx
1191 + fi
1192 + fi
1193 +
1194 + if ! use X; then
1195 + local -x GDK_BACKEND=wayland
1196 + else
1197 + local -x GDK_BACKEND=x11
1198 + fi
1199 +
1200 + ${virtx_cmd} ./mach build --verbose || die
1201 +}
1202 +
1203 +src_install() {
1204 + # xpcshell is getting called during install
1205 + pax-mark m \
1206 + "${BUILD_DIR}"/dist/bin/xpcshell \
1207 + "${BUILD_DIR}"/dist/bin/${PN} \
1208 + "${BUILD_DIR}"/dist/bin/plugin-container
1209 +
1210 + DESTDIR="${D}" ./mach install || die
1211 +
1212 + # Upstream cannot ship symlink but we can (bmo#658850)
1213 + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
1214 + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
1215 +
1216 + # Don't install llvm-symbolizer from sys-devel/llvm package
1217 + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
1218 + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
1219 + fi
1220 +
1221 + # Install policy (currently only used to disable application updates)
1222 + insinto "${MOZILLA_FIVE_HOME}/distribution"
1223 + newins "${FILESDIR}"/distribution.ini distribution.ini
1224 + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
1225 +
1226 + # Install system-wide preferences
1227 + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
1228 + insinto "${PREFS_DIR}"
1229 + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
1230 +
1231 + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
1232 +
1233 + # Set dictionary path to use system hunspell
1234 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
1235 + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
1236 + EOF
1237 +
1238 + # Force hwaccel prefs if USE=hwaccel is enabled
1239 + if use hwaccel ; then
1240 + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
1241 + >>"${GENTOO_PREFS}" \
1242 + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
1243 +
1244 + if use wayland; then
1245 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
1246 + pref("gfx.x11-egl.force-enabled", false);
1247 + EOF
1248 + else
1249 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
1250 + pref("gfx.x11-egl.force-enabled", true);
1251 + EOF
1252 + fi
1253 + fi
1254 +
1255 + if ! use gmp-autoupdate ; then
1256 + local plugin
1257 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1258 + einfo "Disabling auto-update for ${plugin} plugin ..."
1259 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
1260 + pref("media.${plugin}.autoupdate", false);
1261 + EOF
1262 + done
1263 + fi
1264 +
1265 + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
1266 + if use system-harfbuzz ; then
1267 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
1268 + sticky_pref("gfx.font_rendering.graphite.enabled", true);
1269 + EOF
1270 + fi
1271 +
1272 + # Install language packs
1273 + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
1274 + if [[ -n "${langpacks}" ]] ; then
1275 + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
1276 + fi
1277 +
1278 + # Install geckodriver
1279 + if use geckodriver ; then
1280 + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
1281 + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
1282 + exeinto "${MOZILLA_FIVE_HOME}"
1283 + doexe "${BUILD_DIR}"/dist/bin/geckodriver
1284 +
1285 + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
1286 + fi
1287 +
1288 + # Install icons
1289 + local icon_srcdir="${S}/browser/branding/official"
1290 + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
1291 +
1292 + insinto /usr/share/icons/hicolor/symbolic/apps
1293 + newins "${icon_symbolic_file}" ${PN}-symbolic.svg
1294 +
1295 + local icon size
1296 + for icon in "${icon_srcdir}"/default*.png ; do
1297 + size=${icon%.png}
1298 + size=${size##*/default}
1299 +
1300 + if [[ ${size} -eq 48 ]] ; then
1301 + newicon "${icon}" ${PN}.png
1302 + fi
1303 +
1304 + newicon -s ${size} "${icon}" ${PN}.png
1305 + done
1306 +
1307 + # Install menu
1308 + local app_name="Mozilla ${MOZ_PN^}"
1309 + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
1310 + local desktop_filename="${PN}.desktop"
1311 + local exec_command="${PN}"
1312 + local icon="${PN}"
1313 + local use_wayland="false"
1314 +
1315 + if use wayland ; then
1316 + use_wayland="true"
1317 + fi
1318 +
1319 + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
1320 +
1321 + sed -i \
1322 + -e "s:@NAME@:${app_name}:" \
1323 + -e "s:@EXEC@:${exec_command}:" \
1324 + -e "s:@ICON@:${icon}:" \
1325 + "${WORKDIR}/${PN}.desktop-template" \
1326 + || die
1327 +
1328 + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
1329 +
1330 + rm "${WORKDIR}/${PN}.desktop-template" || die
1331 +
1332 + # Install wrapper script
1333 + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
1334 + newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
1335 +
1336 + # Update wrapper
1337 + sed -i \
1338 + -e "s:@PREFIX@:${EPREFIX}/usr:" \
1339 + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
1340 + -e "s:@APULSELIB_DIR@:${apulselib}:" \
1341 + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
1342 + "${ED}/usr/bin/${PN}" \
1343 + || die
1344 +}
1345 +
1346 +pkg_preinst() {
1347 + xdg_pkg_preinst
1348 +
1349 + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
1350 + # does not need to be forced into the LD_LIBRARY_PATH
1351 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1352 + einfo "APULSE found; Generating library symlinks for sound support ..."
1353 + local lib
1354 + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
1355 + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
1356 + # A quickpkg rolled by hand will grab symlinks as part of the package,
1357 + # so we need to avoid creating them if they already exist.
1358 + if [[ ! -L ${lib##*/} ]] ; then
1359 + ln -s "${lib}" ${lib##*/} || die
1360 + fi
1361 + done
1362 + popd &>/dev/null || die
1363 + fi
1364 +}
1365 +
1366 +pkg_postinst() {
1367 + xdg_pkg_postinst
1368 +
1369 + if ! use gmp-autoupdate ; then
1370 + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
1371 + elog "installing into new profiles:"
1372 + local plugin
1373 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1374 + elog "\t ${plugin}"
1375 + done
1376 + elog
1377 + fi
1378 +
1379 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1380 + elog "Apulse was detected at merge time on this system and so it will always be"
1381 + elog "used for sound. If you wish to use pulseaudio instead please unmerge"
1382 + elog "media-sound/apulse."
1383 + elog
1384 + fi
1385 +
1386 + local show_doh_information
1387 + local show_normandy_information
1388 + local show_shortcut_information
1389 +
1390 + if [[ -z "${REPLACING_VERSIONS}" ]] ; then
1391 + # New install; Tell user that DoH is disabled by default
1392 + show_doh_information=yes
1393 + show_normandy_information=yes
1394 + show_shortcut_information=no
1395 + else
1396 + local replacing_version
1397 + for replacing_version in ${REPLACING_VERSIONS} ; do
1398 + if ver_test "${replacing_version}" -lt 91.0 ; then
1399 + # Tell user that we no longer install a shortcut
1400 + # per supported display protocol
1401 + show_shortcut_information=yes
1402 + fi
1403 + done
1404 + fi
1405 +
1406 + if [[ -n "${show_doh_information}" ]] ; then
1407 + elog
1408 + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
1409 + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
1410 + elog "DNS traffic to Cloudflare by default is not a good idea and applications"
1411 + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
1412 + elog "(\"Off by choice\") by default."
1413 + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
1414 + fi
1415 +
1416 + # bug 713782
1417 + if [[ -n "${show_normandy_information}" ]] ; then
1418 + elog
1419 + elog "Upstream operates a service named Normandy which allows Mozilla to"
1420 + elog "push changes for default settings or even install new add-ons remotely."
1421 + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
1422 + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
1423 + elog "concerns prevail, which is why we have switched off the use of this"
1424 + elog "service by default."
1425 + elog
1426 + elog "To re-enable this service set"
1427 + elog
1428 + elog " app.normandy.enabled=true"
1429 + elog
1430 + elog "in about:config."
1431 + fi
1432 +
1433 + if [[ -n "${show_shortcut_information}" ]] ; then
1434 + elog
1435 + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
1436 + elog "each supported display protocol. Instead we will only install"
1437 + elog "one generic Mozilla ${PN^} shortcut."
1438 + elog "If you still want to be able to select between running Mozilla ${PN^}"
1439 + elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
1440 + fi
1441 +
1442 + # bug 835078
1443 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
1444 + ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
1445 + ewarn "enabled for Firefox. Nouveau / your GPU might not support the "
1446 + ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
1447 + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
1448 + fi
1449 +
1450 + elog
1451 + elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using "
1452 + elog "useragent checks. To temporarily fix this, enter about:config and modify "
1453 + elog "network.http.useragent.forceVersion preference to \"99\"."
1454 + elog "Or install an addon to change your useragent."
1455 + elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100"
1456 + elog
1457 +}