From 82020bf7ff936f52f6f1efc646ae374e46b5ed36 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 29 Nov 2022 13:20:26 +0000 Subject: gentoo auto-resync : 29:11:2022 - 13:20:25 --- www-client/firefox/Manifest | 99 +++ www-client/firefox/firefox-107.0.1.ebuild | 1328 +++++++++++++++++++++++++++++ 2 files changed, 1427 insertions(+) create mode 100644 www-client/firefox/firefox-107.0.1.ebuild (limited to 'www-client/firefox') diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 02f445eb3b01..a63db815d5e1 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -204,7 +204,106 @@ DIST firefox-107.0-vi.xpi 585162 BLAKE2B 9401ecb5bb339cc22002d890510fb5d921c3104 DIST firefox-107.0-xh.xpi 414831 BLAKE2B a082cfdd8e73e6e84529a1e609063547a58bac559022ea2d9f8691a8771abf1a6f9f6f75489225081e23bad1599cc55c0f2a78dbefa20a586ee453ec36899c16 SHA512 34e63019f3e62eacfc6da7b648cb939a8b81a75e7751c5fcd4b6509b8fc2513e3c073593f31b08d42e8230fad4a22e02029a160228dd42fbdcc82e7a25e67fe7 DIST firefox-107.0-zh-CN.xpi 585092 BLAKE2B d1b48117604df85a097f6f46c4554f0ddcdf2adb1c692cac7211de3b3e2e0428e96d37a50ec39b6933c9112fa1d7f624b378f8786289c336d3102402d9fd0c4e SHA512 c352b5a9988ff823e3a43c3b6a97a5d1a25da842e61f23e52ec3fc9b044cab43e246e478fe83e83b10ed13932a677a79f5cab1eab78cf84268d64e0fc2a010aa DIST firefox-107.0-zh-TW.xpi 586218 BLAKE2B 2ed318648e4fe0371c43860a67c72a005c52470759562788ef8ce68eab118db16c55580173106f287131b8888ff597664d40a819ca30d0c125ae8a43ca087866 SHA512 4e44e5937717ffc71680cc33aa144e0c8270f1dd085aaeafd3482c8da38012c3a24535e9cc5a9997ca8924ef037aa98269476947a69b86c7ddbfc5e395d51235 +DIST firefox-107.0.1-ach.xpi 449039 BLAKE2B a149710d662e4cb9f20a3177b4a759252cc8224a189590d50b9fb4708586196307a43b40e9e35dac4a7035b7fc39ad5cb16ccf605051ffc750f29db717b730c1 SHA512 cb700a00adfc67419af0678d4d461fdd91bb57ec2a2ede96194828bb717b3df91dad12e74e3c19b5c0781f61e0846cf3ee36fbddb3cc3973c30438316d9a4908 +DIST firefox-107.0.1-af.xpi 416137 BLAKE2B 3856d98b4f7bd241b4ea58c20d7f40118ea46df7aa47940db6754eb8aab8c05ab6e6145ad43859101aeb013e99f30c10c7dccfbb762b11d2f09da9abd548b746 SHA512 fb1b08e4abde6aba206ae59325727be2e0f8f5e75adc0534203e56e56a9259079806513c1fa31563ef418f0d60e11f6bf4416152cac0328c8db479c74cb1c07f +DIST firefox-107.0.1-an.xpi 495686 BLAKE2B 10655d87c4791309cb8c00d6c73e0c33479f2e20adcae18e970a43f20a14134fd4af1dd2f4d236ce7976dabb6582e4322ad4f246c79e80de39a5950e7a47aea4 SHA512 145873bbc2387b7bb24b58a64b3def61430242386da18081b73641e0911123bdfbeaaf5300f87cf7e461b275ccafc4d4991b45d7699ae2fc6eb5b5c5335421bf +DIST firefox-107.0.1-ar.xpi 561802 BLAKE2B f5ecd24b22c7921ca4857938585e33a4e951d1c26eab847fe9ca4a1792e5b5bc58bc785060e86fb49d5d25665db0b14f7d7bdce574cfc057672216f21168ad33 SHA512 4a9f8481f889cb6464f624da423b810f75960af9d65a7af75c6de22c22aa065be40ebdfcff83615d04047b913e2c08fc1522bfc1f76ece0c10bc72ca9ca48609 +DIST firefox-107.0.1-ast.xpi 482601 BLAKE2B dce2b3592493874ac5676df184644f9740fdab3a215d3bf4785bb8c3308fcc31f41f5c3c47aa9d1256d9112ae39528f1bbbd74e59be761ae1fe150147efc1a97 SHA512 d539629d6a4a66c3b10a65fa3e397826f8a8e0b39e98bb46dd11da529decd18bdefb3e6d0e26dd7c16321ea17f892eb1b458c582d3cafbda24f959a7e3c04a0d +DIST firefox-107.0.1-az.xpi 485082 BLAKE2B f6f80b6f9467c37b04a10e6b8f5e48ed4a8f88a076d7164c44e321fc3c7a7b1abbe9f032f9da84a014cb9681c126563988b5a9f63743322d149ea32c5f629db9 SHA512 858fda6517f5b54955489eba9ebd94ac93fa8fac6dbe76f514b843df98dd5a748a1444f6daa39470eaadce00e08855eb2e9cde7941659a8cc4429927093ad1c4 +DIST firefox-107.0.1-be.xpi 636885 BLAKE2B 98ce5531a81f292929a6304b275854a71c71e06d6081b909293236fb3c49e073e729e517f83c4f46b19b6ff67a2f94b958f604b5d0f5b785c7b2bac930acadb3 SHA512 bf7b0ff36928db905d6ad32a239d3060234c8a07f486a099a58ced36d5e879fd454e4f342de28732f57708058a711a1ddeaa912a22c8f2e76a11984a8c05a98b +DIST firefox-107.0.1-bg.xpi 574259 BLAKE2B a7174aa669a67530efc91d607ca88b0b835ab0090d0114b42e879e339f0e3ae9d78f18402daaf0c9792350621114bcad3e7090bee4a20f01cea3fe22fc8fc558 SHA512 72cfd5109f558507d894f5ca23b16040859b0b431edd9c6bc9d5a3ab3d98d9eac6e58e6b2f10e68ae31b810016fdb478d14b858c9c207414bab3c30ac7edbf87 +DIST firefox-107.0.1-bn.xpi 573784 BLAKE2B 1a27f73f0418b75a9b2ceda7e92ccb1b7949fd0c059d4bdc85668871d9fc0c3a154689be85a81b915671eacb1dcb031a548c5a0ca4ee38a99fa709259f0d6052 SHA512 4ec33ed11c775d788be3df646ae6bcc1b0e82c47b1a7df04085109b25bad9977d3d1a5f4901262de1d335a230bbcb63badff13c5d1e2e93b3823b354301fa1df +DIST firefox-107.0.1-br.xpi 534506 BLAKE2B e7816e0de423e6d5f97e366a72bcf0a151ae3b012271f18f4e338500657689df7404b42714248b68e5ace6c57156eb322ddc828e7760836a4a0c186651fb75b9 SHA512 79163cbbd6308617bda9703371a0cce19259443cfbd722e62fb732d4f55dd721b89b17807bbe0da25d9d2d7ac1505a4826512d3a57d78beb90b2d5c017998948 +DIST firefox-107.0.1-bs.xpi 457089 BLAKE2B 33b7c04772ee3b7ec604aca714faf7746f1a5e4ba06abce99356e1ca37b46a17e330135bec1ab36985e5721eb04e4651ff8c9a74e117babeae8a7c7ecb62ba5e SHA512 d9a30d99b4425977c2de7fb6120bcbab9799316a08ac6aa31678daddaeb5f6ab1916f7d883d56b430948c78db7e7add88ee39aa11b03e23b5fb2e5f6d3c2e858 +DIST firefox-107.0.1-ca-valencia.xpi 534190 BLAKE2B a8dbbcf1d50af44173874635851faee5192be6c7baaa5d0aa272c242911c5f1e530c04f293b916917e3b6dafc2bc454f8b7f4575ac5510db09c77f23750fe4ac SHA512 ad9ae9517a8a54ddf593c3eda0a7fc32903c6616e16224a2de5173b744ae91c01e9a28884ba01ab10f1a0a0710aa0b169f55af13ada08b15b7d2cf8e94cb3f4d +DIST firefox-107.0.1-ca.xpi 537741 BLAKE2B 37b204f92ad1f5412b19491024825686810b5c18690f74b056e7e75fee98b624d6d22ce1a2ff1e2d14e77f6a6412fe2a7ad474ad7715dd69887a3e1efb78fabc SHA512 583f6e8e2ac9cf9593360eeda15fb27eb580cd622a7ff7b66615a3d6523380d6d9c0d526bdd9163d642fe220bf66fafeb3e79720a6b6e306c262f92427b3013a +DIST firefox-107.0.1-cak.xpi 549259 BLAKE2B f0aaa351c4afd6b2a1758f98ffdf01a786bc093f927643fbfa08923728c59776df6b4b100d4a33a84704737e3b21c4971982b9a1fc7b1a8ab5c41e784551a326 SHA512 949897082b72399da1f89b6d42d4f5c6e7ae36ecad916442f7feb35368d8009750bda40df70caa930f3f29e888a2eedc68d9b4651cb3852a62e24b0f3d1023b7 +DIST firefox-107.0.1-cs.xpi 569273 BLAKE2B 45f43aca4538a7bb28429c693b6b9042d1d340a9db807ea82138bedcfe97680b93928e87ce23e86d9f4d625993bac570d993282d0e984cc600e4cb3bd68a5cf3 SHA512 080dfceed6ca8bd6e868303d19e9306dde76e1586940092bc2fcf905270f9fad9318b6826707eb32f9746b2f984c21fd9d300b3a8e6fbbe866e0bdf9eb8fdeb5 +DIST firefox-107.0.1-cy.xpi 553188 BLAKE2B a42a488ce26b7ffa8709eee3741a6f5295e587d074ec8a6360816333cb749fb946f4a45f927c90b2a8fc961a533fe877e08e7bc192041bd7a94bd624b8955dce SHA512 3b51a35e0d83486e9133eedf1a7aaba704544208d307ccd385fb10d6f6542cdb992d60c5b9c684cdd85fa84ce3cbf02fbf633b2a8f8fddd6eef04cb4634cb965 +DIST firefox-107.0.1-da.xpi 543651 BLAKE2B 529c2191320390d6c36e76e2c52dc676e7c2af01e1e57b9889b2a90bcd38bdcb181eb4841800c5d2e242737ea2fbd14c2c2ed1c67f79b2b2eeddf4efe5bbdc43 SHA512 b3fcfd237e1bd630fbc7193f2c5c4f580ac20591a6a55ce9de1f78e58ae09803b9efac20b2e7bedadf9be8a47c95f8e1cfbe32a3fe4e253c03f121056a32b7b3 +DIST firefox-107.0.1-de.xpi 564623 BLAKE2B c644ba8fc4d133cefae88d12d53f28fc95369fd4abcbb7ba5217742bcc87afa4a0975f412d307d377ac26753b535e517c303366af6d64ff621762dc64c3635a6 SHA512 be5ae01d8703bf7d45f35aed7a65732695c9518b74845fb48e953bd2df0c8cc44a20a89d025914c698cc8327cf247eec321e1150d59cc3a9207e22a1f518329f +DIST firefox-107.0.1-dsb.xpi 576821 BLAKE2B 5475cd6e95b5049f0eb35a2cf282128c785520f10814c07a3dc91d0f79958ea3c7b4154412327af4c4f83762222471582b15389d8d265f3f3740f18daf72e499 SHA512 d5858151071d96ec6218c6af830d26d871c584aaea73ae766b93edcef37a6dfb1724f7069a9d9a1475b9a98484abba546394546cd078e3de54c4741b11a6adb5 +DIST firefox-107.0.1-el.xpi 651470 BLAKE2B b5fac66b2e4668c8cfa3b8f5c06b6f764f4112bb158cf6ccb8caef92dd768f741c28cfeaa74e652b8fab322151587c78a85570f617af395553fd4404cba0c1a2 SHA512 dea83aac8f789a0577268c19e35b1726ee6821152ffb886021455b6cbc839c5e99a2b5e9205ac0979f248a5e1bbce0ae0e93a47a7fb7e59070caca662087592f +DIST firefox-107.0.1-en-CA.xpi 518718 BLAKE2B 01f0aa373ccfd317e28cc48b7a90068539e2e1a663dff70fa06836f98c79e26c9286a2d8bc63c32825afefeec30e8e0e2928a086f7b945cf96a5d86c1ba49a64 SHA512 326425489312bc330924f7987ba77e7900348d1c6323d3483c949fee534ee6a5984d3697c1727945a49183a7b8e30b99124d6f33e53b194c0958badaaae7045f +DIST firefox-107.0.1-en-GB.xpi 520248 BLAKE2B 4304aeaf9422c2da6dd6edcc0fca17c0828b847adb25d281db72e94f3d45ee6c35c0f3566893af5ac9564d0e8aabdb0369b323f02cadb4680263a3afbf9da443 SHA512 e8883a72c6454a19b01e63220a19c755d243255825ab207b13218a431040d0cffe798a81afc55b1df16e08006d9b109cb1ca16b47115fe49d9314654508502df +DIST firefox-107.0.1-eo.xpi 546698 BLAKE2B b498b8628f366546d025e3f8fe1c3b8c5b8589e9d380dd2115364543ab5642d98e7226d721d67525e9caf4801d7372939fdf594da219247d53c88c0d4dac3d17 SHA512 13375734d8e9b49be3b8d3d638033091063007fb1581bbb4197a1e5d6a10c358ea5de07fea98b4cffea22415ef970d345f2d16a69ca30bc91d3ecf87579d9a52 +DIST firefox-107.0.1-es-AR.xpi 558788 BLAKE2B 4e5703ecb9f1b08071c837bf9bbe271ae21efdc9e20299fdca517ef46fc1d69fbdc39842108d0c4a2482693d84fdea04bb689c5f69cdfb0e7c3ab46de3bd2fe6 SHA512 0a3a3dea2cfa67f9406d7e5ffd05a997877f4cc130d5e604fa67dfded85814c5d05d707a0ac68235a0c0e82a6f13a5578161d1cd559ef2af0f7beadbc4af54b5 +DIST firefox-107.0.1-es-CL.xpi 557630 BLAKE2B c226bf4f7a68411a1d53b10f7bf1dd712ae54f5a8664015efefeed523100cbc95204f0a5dc5120fdde7c78de3dc8b939ca8bbe6eb85d8ce43ba46fae70e234b7 SHA512 d9412af614ea3d4924361f61094e6cd49caa524e31fe2250d347d6069660f48c5e6e9c8dcb30b643904fbc16b921fc18cb3545a725daa09c79ca44aa2ce064b2 +DIST firefox-107.0.1-es-ES.xpi 550456 BLAKE2B d9e84ce9669ae1a7be63cbc0713667111c4247c1a4ee20c909f451f9cc9e08d5d181dba502d690736b3c5242d7f196ba75c86c32b1ccce2fd6dab160a28034a3 SHA512 b5900969b219593b5565161288bbd4651f9e3d57d74544a1f59ca9373cf6a1bed8591e1805d9268c39e035689fe7141bc7c9fb3aac7a4ed6aefabc08ce5c4163 +DIST firefox-107.0.1-es-MX.xpi 561149 BLAKE2B 346546e16a85be9f0ed7f3d34daf3ef84c39067777104c3bc4169acd81d847bfe47ef606c77d1d79676a6a925233e34102f7b3655acf09f5383eb08ee362efb9 SHA512 5fa7d96cc13f25403c1dd4010aa27709aab772f0d153c88c4ba376860e12162030f602ec9304b9d0664d43417f91ae4302f83261938c7c8a4ed4bea460910ba0 +DIST firefox-107.0.1-et.xpi 528249 BLAKE2B 20a57fb52173eda4b6c7e484bed68aa4c85d2bb17aa22614de1190ae98e93a59598253bc3e1a4b3bf82002d343408b008564471203d3752376e8947c1e2ea727 SHA512 c58e5b8997c5dda1e25da1124414cc9f5d355ebaf6827095b81573ccb5c086d9fc68839397723fba2e53923ead559b281071c53bec2ebbc7b1956f4f5a8d5145 +DIST firefox-107.0.1-eu.xpi 547839 BLAKE2B 112dc8d342e42976b50950ba955efe500a9f1bae863e4dbb540e5422972ef2f7bcaae2b7c65d64ee215e272d9727a2d90f3d625da7bd4315836925c947516362 SHA512 072638c29273f19b21cdd8a51f97bb61b716783d1a7fa39634a00bae481eaec249ffb9c0ddade9f87e5f2973f3b3688cb70b9989df8ededef4ff942a28fd8339 +DIST firefox-107.0.1-fa.xpi 565788 BLAKE2B 7736bcf53fa40a587a155c758da9412477981d54d61bbd0f1503d3cef5d9fb9aac131311d9e733471130e3eecc807c365da20d751c1cc018da1cfd70aea82c61 SHA512 7b0352c0ec350151e88ab183403c7e5ecb847e9aec867933000fd4222c051ffc117b2910339217639a9a3ae62d5ee8cacbf26456221b9ae6fdb203ab0881a3ae +DIST firefox-107.0.1-ff.xpi 469111 BLAKE2B 1c8c7f5992bbe30dbb211e54366623b4315b556eb747bf44557be86f1c48c019f782a7dce506d4a03be83d7ad39b56e0d5cec6132fc9c7289a2dff753cb1167d SHA512 57d16c1650165ecc287abf87a8439d7b51ad828f0571a8304bbeac6a62c0f086628c834fbf2ecaff62d964bc5b9e6d39a26167b665d478a3d4afebcdbbaab84b +DIST firefox-107.0.1-fi.xpi 543813 BLAKE2B c1e287b0fdd049f02aaba3a2b66b1beb61ac828571dbccef92e8c28a84584a6e83f9ef6896e09682176ed121e9966bec2a69adfb4adf8de8c13e1c9a3342496b SHA512 f9078015e9ad82b6dd7434024bab1ffbcd2cedbe83dcb9bcdaa038a85d044cac2ddc589793ccb671191fbc3052ceded3c683921041ede7b5b3b75cbc8d6c49db +DIST firefox-107.0.1-fr.xpi 569058 BLAKE2B e87716467efdf78c3ee8c60e05836e7ba239eef9752ca9cc215d78f58b369c916a2189ea06164bce38287f13dd4bdc979b6ea532fc555c613cd7e1622364d439 SHA512 6d224dba6b798969c485f915427d7e42379488873452f7dfcd350ae79b0b6465b445077cfd411d7355dbdbd0a3b72a3c02e0d85f1128c7abd7aed07aec0ff391 +DIST firefox-107.0.1-fy-NL.xpi 554258 BLAKE2B 23c9c80d61b2acfdc19a5a5c1819233c48c7d145a5b4d9f6fac5eac1da206db7b8508043abc34d0c561e5f7c539e0b1856b1b0ff2945c8fd93d87f895b2da4f7 SHA512 5fa663d1c295e2fdf3bf52ae2ee34e2c3abd0271616e5eaa498d3ff6ae373a5853900f3be27ac3ffb45d214e76e08dabf77300cc7b8112b4a67d662919745471 +DIST firefox-107.0.1-ga-IE.xpi 464759 BLAKE2B 721332c4d13ec77484d91dd44486afdd4d3537430c3e3fa07c28687610c12a193cbcee14186554cd4e6955b158526d6bba7618c79171d7034621b7449a37d9c0 SHA512 f33cf9626dd9f9e284a8d1a2d1eef12afac203fc5ca1920f35bdce26a44ef8942d661f91ec8721c54c06d8e4784948a6e85473a10887e6669c8ad6ba12b3b931 +DIST firefox-107.0.1-gd.xpi 542597 BLAKE2B 85d08150fdbf821de166c2b33a9b8f6cc205b250b5fe9a8593072e50bd3bf3163e95d41928cb33e670d8c20d81e80a0546573d92c723e5f03503a2050185a35e SHA512 9309a42b376950844201be1130426a32ee79a9f63211ff5fb42ce202985575ec5111dfa8a22d67cd52df1787218de1dcb8df996f1ebe3f6238fa1970ccdcdebf +DIST firefox-107.0.1-gl.xpi 537433 BLAKE2B 297822dca0903df348d7a8e37f80765cb47d7969d65fad608ad737a4319af72605f957feb1d874905be192fafcdebf209ae02320f03a3de181180ca493c0d554 SHA512 b99a310793bf8069d7256437fc12b6d6e1aab8b13c1f56a7e348d0fccff3ad29d382cb0b474fba014be27186741de36d41e0fbeb96c052402ce7ba7406dcf163 +DIST firefox-107.0.1-gn.xpi 567616 BLAKE2B b02544d0a57ab3229a50967f6ae5d4954f26cd4531c78da3a5f81144a766aeb4d65e08dd78117f5d8de65ab3fbebe1ba9b13133db15a078f006b91dff2ca96f6 SHA512 a76161002ce37adad060228f1244cdc612613910e5dbaa052a928d201750850a97da3aad2c6278861ce4784251600e6fbc8eace38202dac564a8ea7705b69543 +DIST firefox-107.0.1-gu-IN.xpi 523506 BLAKE2B 74af08617fd81ff2118eb4865f625b90d8fee397ead1d06d998f1a9ebedd76046917a0b619e16105899b0d1db748fb6cf6143f755b881ea13b144a470e3abce4 SHA512 d4bd278d28a115c5cfda876407dbf8ba8a4d119d3187790e3b4fac3f49c45a7112c34c20c464343a44d2a69cdfaa706aef7915d92eb246881e46cbb19a0b6fe8 +DIST firefox-107.0.1-he.xpi 564223 BLAKE2B 63bc218e67b367a6e74935108ef0e0479e79ed650844ec1bcdcdc61725ba261130eb984e67df156ef2595fd5247c77955dd602e986d9991a1a28eda6d553ee3e SHA512 2b27cd7ccaba5af3807460f7d469edec63e2b75922f2294d1bd5251b6efa632721e6b72738df7f4428881e98b4800a32a4bc41c977b6c2763592150036e60d92 +DIST firefox-107.0.1-hi-IN.xpi 552200 BLAKE2B 512575f1884fa9b320d8ae88d4ccdf495015e0aa8b4d1253dd04e0d6cef52b30242fad9354f1bb2f81b5028ee84c136051a03412bb6841cd8dbea8476e889e51 SHA512 2f871f0ba44be4f2be17db16e8e1562988adaba6d5ce58adc6207d73a78eb0dd97777ccb6276f7a2dd53733fb84cc75b36e05b081dfdb0a8f8fabd32044ea3f0 +DIST firefox-107.0.1-hr.xpi 532340 BLAKE2B 54795559749f44992f6085bc95099746247473fa6c75e263fa9a06b2c75b31e1d60aca7b7978fcaf2767e0a49a2ebbb999df97fbd498ce16cd1e473f41afc6d5 SHA512 f2f57d1e8ee5667f4197806ff87aff7e10ca4e24c3555c0f456a2a53bdbb60022d597a416b1db48b015fc7346372a8ec689b3246c975cf153ac5de53da4f6f8e +DIST firefox-107.0.1-hsb.xpi 573054 BLAKE2B 561871f8b3e705b089ce91e53f7b68bd8f388149ead676af3dd3f0c8e22a25713528c018eadfb59da55b04efc56c38db8b1b46d3fc0da30f5a5471841961bf35 SHA512 16f39efa86ebcdd04b67ff1b5fd7a0800be33d1aa73dec359c65378357c86e3b00b86645a4464827d44c80d2d9007fd6049424ab7544ea9dd2ccaedbae678a7f +DIST firefox-107.0.1-hu.xpi 578347 BLAKE2B abe623e9053b9e81ff7fb52074d15c6f4cd7698ccf44d8a06a4bb85dcbf2592f1c5ff724402b2c729fe5b29d334f8087de1853a2835e0cab6399997b60e30565 SHA512 c4720fb716dcf5a700dd83298d4a98bd13c5ef3598a4fad15b29ed77f8ece863cef0095e41d1036f7b208fd1ead7e2c5e323cd6e0d567f3f1a8828abeae06375 +DIST firefox-107.0.1-hy-AM.xpi 588067 BLAKE2B 63dd3f50210a89f2bb587d93c48db5dbae74325b7cc545305b82ace3b3a3432889e758ed61954b8e6a3b0fdf02167bc86c356605c7bc2f0a38f7635d17bfd2c9 SHA512 bc7adb377fc07b56d6efffb76d52ede43f5f822c556ef035ea8aba646667cdb55a4bb9409a2d590516ad1af901b193480aa55151315412d370d23304d8632cfb +DIST firefox-107.0.1-ia.xpi 543056 BLAKE2B cb2f716fcc949e195853b441035e93a55af4e174528056c79ec3b0e2dfabd854441c11195db27ac5fd1e74e40d4b1f864318098635ece7181fb6db03024da124 SHA512 72f1927f7a896ef0bcf99a8af531c800d792194fe97a05d3d4b7263e1a5173bed7eb8ac8b3704d7634e6417f6a0f3a48b912fe1a0e0a3ae828971fad5657b679 +DIST firefox-107.0.1-id.xpi 540031 BLAKE2B 1f4d13232e32b0049f8cf2590c65378ace6fc9b6c4f0b1ea5b8a2651a052e9704a1c56e542e930f78f3fa926c029c69d9fffde230233c516063d7bfe0f418c66 SHA512 79b8c8a6c888433592e78da046d7834725632ae66c696901db9a72773ba705e1ff43466dc5233d712f0f4379dea4b13a72f9b624432fb1c67b9ac9bd5bb5cee2 +DIST firefox-107.0.1-is.xpi 552255 BLAKE2B 91b3673fed93ab4128e99a030bb9aad2ec6dc17743dcc8fe0885fa4f62640b2a4403b9de74bc84b100eedaa5993e205a6abbc75c51e0d7549bf6e0333e91c1da SHA512 4ad8b75ef79031fb0357e1333bb4328751f440a30d9502c9bc1362ec74c32c02559b2d78e3b42373c73fbec23d20798962c61daed430c4f57eceddaece279741 +DIST firefox-107.0.1-it.xpi 481517 BLAKE2B 7e02a949367f899e586cd27ba6942ecc7ca80b1cbea5a7bd0579cd27ec67309e6b13d741a87cfed395439e49dde27b162664ffd3c9a37c34004eaea17472c015 SHA512 80f5b17194b5c68a0a64f5a077da50ca9b63afa2cf14afc0d5967bbc8a2fdafa18bf92b2869b6b271e603fc796669e0d09516a41cb027b0155100d78a899825e +DIST firefox-107.0.1-ja.xpi 603795 BLAKE2B dedf27a1d97640e5e4cce8fe29439189ed6694b064bc7737501474ccc1721767762d9907a121348e7283c67540879275f8da446ec07a08482fa4915f5bf24d44 SHA512 18de035adc78584639b2e4ef354a6e83ece0de42ecdc4d03ff0fc6fe1b853144e0b3c42cb4a4184c99d9e7962130001abc3395698d49dc2b5b2da89a4db52a26 +DIST firefox-107.0.1-ka.xpi 606241 BLAKE2B cf56281ee299f93047a8756067c94f441927a2bf5eaa7551821da925845102fb828be9acb17bf30377e9b312639877f90c9aee14b98310bfe3834d7d8d26d0f5 SHA512 2126fea6304200305e36aa1b3e64705a2db11eab18c223e7d4c05ace8896b9c750ebc86dcd4524b3b54188a9914d834b9699a01d5bc24622f5d5d1cd34eed668 +DIST firefox-107.0.1-kab.xpi 562224 BLAKE2B f9b43668aad9d962eb9c6ca6a0579ab7cf89c883c12226009afc8d8a30a2210782bd17b680c045015de5647b6ff33ecf5da871f5d0c10e1d9630e40c177c4947 SHA512 29bbd8eaef84f13fcdd27b82e69fbd460321f4250bec5d06e8ca702742f334a4a2d66f3a83e01c78a6d14931f39da1dee96fa6accdcb93a153c6e4cfd020e226 +DIST firefox-107.0.1-kk.xpi 625497 BLAKE2B edb90e98ed891404173d4b71c7345904d97a0d65b648e527586ac2a515d1185862f40499bf5300ff8a7ecff5cde3d156994e3f38511fad591eb1d3df676e61d7 SHA512 efdfc4cb536b4c97fa64552735bea0230e009aaa86d2b98bcd165c9502f97b35afd4804ba96f517b58422a1d838fb9f78cb637d570b4ecdb77a837c29c265f80 +DIST firefox-107.0.1-km.xpi 525697 BLAKE2B bdecf673084c50ba69f9650fa423010d98f97ddfa31d1a2d900a15d0102f0853101e8f7f867eaa8201ebbd39bdb0a1caa1715d8a3461ff7d4530ffd04990d38c SHA512 0a9b60e508c4bf7e9fe1c1735833ae178361b5de56991b06ae198602b1da1bdbc01f25b0536aae496933c4a284e060fc979a68429393df0ccefdb5cfe984f46c +DIST firefox-107.0.1-kn.xpi 491417 BLAKE2B 30dfd67cd5bf078668fa040a4f72c0b760583607d29d9a50f30ab31b13a6a5faa11922fb6a592af80dbeb99631fdbf380a750dac721502b98ded143878105f51 SHA512 64d460c35c9546162410373194d3468b40a0435ecb24024e90e7b401140ab0457d4ef474319f42e4c98d5207408e22773f0b6a08e91120be8f1d827b2feec81d +DIST firefox-107.0.1-ko.xpi 589126 BLAKE2B fc0dd436d60b310b1aa62221df3fd27ed8baec511da0ebe96330809108aba1e7094033b79aa14829e4f30168a0c528091e2907181d540d21bc60b01074ac2002 SHA512 a605f1a2c4196e9d62a921189dd0ebba14d69ffade1b2c971fb1aa64ff078290035e46c23b47e4b212cb2f54b31e4806658d13cb50de09f7edab1c3cd126ae69 +DIST firefox-107.0.1-lij.xpi 465965 BLAKE2B 18b65311636a881ecbc2d6a507322d200ed56ac1f0075667bd89dba104dc7c0dd6ff02d55e8c0861cb009d3587276a9baaca6b240fdb34aa4f4924ef5452305a SHA512 209ce19b88e446c51a289c8a0adcfe443e3d2b254ff0c47eaa9ffa7c57846d98b7860fecbcf59ab1f233f27c6255962c1609719bc885a858b6a357d28b44e516 +DIST firefox-107.0.1-lt.xpi 558419 BLAKE2B ea696e8edc153297218c99c1e123bd85778da38ad6eff7cd4b0251200db0b0c04134df9d3ca0e4d15dde384970ae1d3d7588422ecaaa108cbe8c46c11f4f279d SHA512 13c8cb1559d76a5e8cfdc88fb2e37715f8aac37a389a53d296bc6f7507d5dd2af5a3fc42a2eb6a0d865a13259f24381458a66e8f926f361f9023deaaa51c9347 +DIST firefox-107.0.1-lv.xpi 460737 BLAKE2B ff838c14d738e55d5a94e061d3a236b75c2bc42c2db0293e49db2734b6b820a01f2cac19f75fa689bdbad03c00038407fd6e065eb529d90912590864c7496a8a SHA512 01b5c7c54f3ab2c040203059e3e4be626c9c1cd6d8cbf83ffc8b44981edb890dbedcf3a669d61d4d83f5fe48bab699ef869c4e8a180c660688d62d7a29eecbaf +DIST firefox-107.0.1-mk.xpi 481448 BLAKE2B 4b44cee795a64da5d60804bd657a4da40c2cfc34e6040e6f45988be85aed1914defc6ae63d10b286b76ccdb638e9ef334573d2f0e4cc562fb418114869354ef6 SHA512 be5a8ca52cf586dd85031ab48f8cff5b0c2d45795bb79b527907a910d1985d8e37c33797aee0da4c95551a4beca936e76222aa51ead870ccf3aa7aa7c6dc5314 +DIST firefox-107.0.1-mr.xpi 526039 BLAKE2B 9cbe0b87b017f577e2f1068af7f4a3c42588d2b2ebb51f2eb735a6c770ee0c55febaff45a6c01e529e38d30e733e4e00f59bc14d6f82d79ea956497fab9156fd SHA512 57b100056cfdf6027a8f8ef2eaa0b2783a9df8210f7947b5a39b267c90e1f9703d661b90ed90f9ab6b28c0d5534a8a1ebfba7b053edfc72b15a781cd94a507e3 +DIST firefox-107.0.1-ms.xpi 445493 BLAKE2B bca003813cbdca4d7968855e146e6485c43b7c176a1fd6f6c10b3e8ddc8e9469cf14a0c6163939a1269b6fbefa6ca3368277fb5ca45248412640a313fa0550ea SHA512 0b97993d02beefa37c135749059eee420d8cd29cb874049db0186738121cb3d79f88ef147e44b392e0a9fa9b125ae3bed1e4d5a931800e5d9b71037e167c29d6 +DIST firefox-107.0.1-my.xpi 512003 BLAKE2B 2842daac07b031c5061ea45c8726f3d5bcdc404710cf6d3075938bfabe02dae16f537f9832363f98a4b940b599bd0b04e0ab4034daf92245752ad657b34fae1d SHA512 98948c1fc465946c0920e4f13cb14a38864502a672a6406ae22dadb993d00cbdc9cf370b1614766dbba02debd4d41993b7c168b28b7c642dc67431b914741dff +DIST firefox-107.0.1-nb-NO.xpi 540798 BLAKE2B 24cb4b31ba6fdaf55b01b16e37b78a45927d3cf15b7bd47b69b821f395b30bc447d0f60cb200104a3a384284e3940445957a4459e84ec07f158c9b1321dc9eb3 SHA512 760f01f2c9ab83d34cdc8e5efc5fc3e210543f094a32055912725dcc22eebfce49c6b3e38f973d48be10871e9a7909ba326ec4364fcd3acf3fdb6c769605e5e6 +DIST firefox-107.0.1-ne-NP.xpi 480176 BLAKE2B 7c697c407ada21edd972f528db8fea81930b4e39601e2300291d5e68ba47f5f703e241f70ae11715675da378d53027064ff457c2b99d2b1dba44093983d7b011 SHA512 de6337411d9bf06f347f3baca406ec84cfe92955ec69aca8b69c6a60c0268550db09da10fa3fec8092ceda395aa712df5e4694b54072eb9f8e45b77eac867d8d +DIST firefox-107.0.1-nl.xpi 548546 BLAKE2B 670b16f49dbaa1e775a295c0bc2ead18b3ec8c2580faa1c53a75c441dbf3a23ee2d36e009134c7e964f332cf324cd7feb5c4f7e9ac5d509956b00f445dfe7631 SHA512 672659ba87cf26a56521b1309bb146da0726fc889c003239d8fe20ede046c6e7930ef7fa74d1318cad50a4f4d3c4e3a9412c7f556ecf690d5ea39c57dbce8d40 +DIST firefox-107.0.1-nn-NO.xpi 543213 BLAKE2B 8d2e881f0f4711332fe4c3ba629789a6466bcaa153da4222531f6349728551ec7adbd4715ac14eef64fe7b9764a759f40314982e86e2c2d30433a13d4d895b7a SHA512 16949e233389932581fa56de01d0f92e10d796dd2d3f49c8b80a1c34dc6792062d3ed8cb3b0a860e1eb9afab040d032713ea4b677e8ca2bdbdd96d944c1f40c5 +DIST firefox-107.0.1-oc.xpi 564163 BLAKE2B 7101d30d595bd0f1a8f6216ac0c4f4d7c833d6f4d8968ef403635111dc1f1f212e48a927f29e72021939ba8eece55a670880beff114aa082875e9e4276a66bc5 SHA512 3fc357dfae3f7519092a7e1e389208524b5d786bea3d713f65c9a7761bf75d00d14ea44175d05ff90902ec278f7dfcf50a14abe8c1d99b0166b20559db626f61 +DIST firefox-107.0.1-pa-IN.xpi 618932 BLAKE2B 400865d13066b7806c311dc712d45449858bce3bf657082a62288056ea42a6e5595fee55c53af96ab8a8be955db64251371e391879b990220c784735a03bd7af SHA512 c67d33942c5ed7f74792e8099be88843bd51373f7dd75bd6832637b61303918e9beec18eb564cfd79332fa1f8c92bd4618b90d1f66469ac90e9f87ab372433cb +DIST firefox-107.0.1-pl.xpi 570594 BLAKE2B 32568f4e55c8b881d03c095e0eb99764580a2b83b8f1e706d206e0353639784002b93a761436659e27f105a873e2c0a7ed416d2b51f2d664d8e393cc592622db SHA512 94e0cb3d71f8511dc502cc8cf6987371a23dbed1b1985486e3241ad4888d00000d65d198540a01f8813dfad997e7164d23ddd38124f1640b75e6f371ea7c4576 +DIST firefox-107.0.1-pt-BR.xpi 553416 BLAKE2B 18a5fe58e793f9e085966efa5ca1b4e31322952ee39eab41884820783552d5c9b974818959f91a73b0415248488c25dbc98d8390f793d4d719d2753a1cf1ffc3 SHA512 0f30801b2204c6fa42cdffca0322d758a482e19ce2d91ccb01fbcd38481f352627cfd617ee23bdbd42905cfc4c48d4bbca2fb61f4640966346464598facf34b7 +DIST firefox-107.0.1-pt-PT.xpi 558236 BLAKE2B 658d9fbf9fd16eb6b061b81ebdb8ce6245634a8472f1f1c0c8d133572aa29588e120b6c88e9fd320641a30bf5641704a58f2991f83e252b0a83152f9a2ab003f SHA512 000c1edaa2837c80f51de220742fa15f58320de98a60090b8d91c242b2fde1190df6be7e8b3cf4f268258ffd7a74eaf1b27a7872382cd0863d722c21ef0353f3 +DIST firefox-107.0.1-rm.xpi 548611 BLAKE2B 6b3cc0a78822fe9382701486b6e67279c58c72ff44f00064e6082a4b15b52a263336d1017244f5d9429dc759731d158659326e85d72391ffe5a6fbd38ee08034 SHA512 ef80bf0f52f6c7924e5c6dd8709b4e596c13934b94da55394b107360aefe6d2346f4f3b946f3c28f98ebabb7c041f69432c726d4a5742309ae0b81e2cbf92ef0 +DIST firefox-107.0.1-ro.xpi 528280 BLAKE2B 6ae82a8501d57f9ec8b87dbd46410112f4f0d19cd464b0b6930b6d28ccfd2192a94c25b3d338e4f0a9922e91fbf1c0cc454a307bf023eb5a6a0578ebeb97319a SHA512 486de7dc3aa134e280a288e60b0754eb228892cf1f9631febd074ef491e45464dd6cdd62ecd40dde18ec85319be72bcc9a84f485c7a8f0ebe9863611d0ef72b6 +DIST firefox-107.0.1-ru.xpi 640928 BLAKE2B 0ef5be441ec773ba67050af9725dcc691323ac5d2669aab29e59aaf351a31de9f3ef59a1844421a08f1b3feee10c39221c1a6ec0e7b6ca0c69c24c6599b1c810 SHA512 a303388b2220078102cfc757b5e1e332ccdebb1395c587ab93c82ab49683caa646f4fce84ab86517be7faf759f752bb4fd999b305b0e25c3a370c66e5baafb31 +DIST firefox-107.0.1-sco.xpi 498952 BLAKE2B 3e5e1402c36fe81239cba0b537ea2d0761cf4e535bad789025dae3da6abf4e0776f5c8cba990db7d1993be8adfb7f363e933a877ab609599716095d20b07e80d SHA512 5bf2a3e24b950973f5169c124f1291c657a889dcaa02bcc3b8fa787628092f639380d65158c76d5e96794f457d5a17d2d80eed54591bac18d452f2236e17fb82 +DIST firefox-107.0.1-si.xpi 564935 BLAKE2B d05ce2726a8c6e7e7a1c2e95fdf4a7ba14b827040b379744cf7c81900495b5ed7c945e08e1ce54b04f1fbf6c0ca08d712504a6fad8652aa7b15442eb24da65a5 SHA512 ef23e52683a681601ac1b5b2c0d8733a97eceb0edb250506e6cd964a423a10d5a128975090ccf924d791c855d3b2ed5670d431556b963dcc75909058bc54f253 +DIST firefox-107.0.1-sk.xpi 578150 BLAKE2B 31188b7d8518474c6849352dc0cea08ea89d86e529ed85773d6cf3fb26287ed13d07dda0e7cc247044221c6e5ffc8d83697b8c909d154b0fcbcf39c97dd8926c SHA512 f879c693b064ba820288a33c993daf83cc763a9289d0291918ba0eee98a37a1b477b1692690dd8631747af5ac3129126824367b0765403f5b9449ada46223dc9 +DIST firefox-107.0.1-sl.xpi 551906 BLAKE2B bd51c797ad6c2cec72470d8a32f6ab57ff3f258e22ed5d81acb2d394762eb9bf13e8d852762d55861872a22eeb3a47047166756d2c8c34cf67881ba6d106c545 SHA512 42739408646160d8cb963ba1fdaa79872b322669fcb0472d5c5160dc6084710e2d6eab5fe223c787779f93a39a8db3ba98695b03d51893d6b66c46b11d1ebe88 +DIST firefox-107.0.1-son.xpi 418041 BLAKE2B 40a29562c3def3b7b0587b6e7b94a6717037142ba024f26c9aafb87b6d3a8786283eb210106646f5d55b0d79821c65ab0efee06d0cf44e98000098f4075f7e1b SHA512 2997fb54d99ff43b6e12117963f4948bb425f5b3de836bd4869547ca985f040f7311b307df8e1e5c50aafb8305b55b45bf3c267652553462b7de653931038283 +DIST firefox-107.0.1-sq.xpi 554278 BLAKE2B 9a57f8377eba29fec8f2a92c356ee2487299104f17015b1c5eadb04b690a0456ad502f6ffffd6fcdbd01bc6ab15a0f5129ab57976a2244b98c7b4f9eb76d9516 SHA512 bc0e0c8125432b64f9d9f1d04ef181d00b9c7f82eb06ff34cd17aceaf1d3d92622853227e13cbdf9e40c4ee7096b9b217bbc603b8e6d61df75e4a881037949c2 +DIST firefox-107.0.1-sr.xpi 594624 BLAKE2B 4cfb39b7f693df1ce1252f543ee497cf315f78ec4536076f5cce2483c9279eb8f41a0ebdc4d51f9ec5bba55dd25bebeeff9daa97e338d9f04cb9038c42563744 SHA512 958a0de6256e75b3769f4c115fdaa6bd7fae4133d7d39986a93ddb1e17a9737a50d73fdfd20ddf985e51c2bb090fc76e9386a2353fe3f54fea522265c8c94629 +DIST firefox-107.0.1-sv-SE.xpi 550431 BLAKE2B 29c03ca1085d8bff372bdb81479d43d5f055ba11e171de1cb7de53dcb7648081de1e988b11edfc1509d41e29214ebfb4926662c94768b0c3de6541fdd1d167fd SHA512 84f9b91b77d8eb1ee283fe671f9c440338876002236969208f386ef00eb00271074685108b69e55fbe95317e223ed67158eb9e741155c5267ca5eef4e979359f +DIST firefox-107.0.1-szl.xpi 511813 BLAKE2B 008466485cf93a7b28b15d4896462c72666cf12e4cd4177e01cef50170ab5154f860d275d943419bb719f584f0e613ccfa28ac3407d89752be9bc465f8b8db22 SHA512 653e6f8d3e9c12551426668ab27efded8641bcb74b4b2545b2287fe0d367ca4ec200a2ee32c9365956ef7524300bb1f611bb40fd2b5c7870b595b870e69186f3 +DIST firefox-107.0.1-ta.xpi 503959 BLAKE2B 35806726c2b9222bcc3c984dd3f40e405bc8a205cc04a1fce4267b4767bb4e16efc205ae969e52ef004c43e1bebc2ed14f24ba2b04fc318a92d8d4e4ee30b31b SHA512 429902bb4fc55dfe93c6e044fa7540692b50e6958a4f403ff7b5e26610fb9718eb1c0671418454342a2a04dd1c2c21460b00f48a35b79c6ffd21682337e3674e +DIST firefox-107.0.1-te.xpi 550791 BLAKE2B 033471660c1f3c9c19dad3580740aac1d001e9d45637de11537e65ccd3379a19aff7c517b5f1066ad1330be69cfd094adb0b5ab517934c2be89fa513d5cde384 SHA512 ec0450e482cc72521cf84047055e721299245839911f226b70149f5d3e7737f01a4ad68c005d673032f80ef463c1d7bd1f7be74ad56ded16842510737a83fa5e +DIST firefox-107.0.1-th.xpi 617234 BLAKE2B 2fd2b8f875dedca11a147405748dd264f150da276d9c7e8d76df3372a328f008441eff8bfc7079e5eaf12532c948b8144abd08cb4eb55bee4dbc99d7d3dacf21 SHA512 5e6716712d389fc216d20468f4938ef856667413c548c358f0f619fde61d7060ddda81680e9d03a58f69168dde5583b64d9f7dda1592807d63967ea01a004b9a +DIST firefox-107.0.1-tl.xpi 517170 BLAKE2B e4b7330527a5b9f2b26cb00a5bb0e9235f81bd535b3df5ffd04a77dd64a8fab7ac851ac60a3afcc4cc6433a8d6d138c50461d6fd61d9540f6d142ee882bf8c45 SHA512 fa5ef8bfaf1d585df7f58ea2bcc9a53a91a9bf2c0bba51e8c5084b649c3fcba22fb4dcc55a1d9ad5ebe76e066112a83cdf244067105ae38642991e3b6471a7be +DIST firefox-107.0.1-tr.xpi 564032 BLAKE2B 940a9c1cbe3da18f8dd493425f7bdea7264756af484fbd836ca933236e4cc198302db870b389012035cefe660a97953f790d140039c37a70efaa32948e9655fd SHA512 3a7a9f0e45942cc07f1483eb27dd24df8653fd571509ef3667826698d6bd08634018672fd49d8b7496911251f2f103cdc4c29321b1e5e65dd7e713813f732fce +DIST firefox-107.0.1-trs.xpi 481809 BLAKE2B 9e671e7e10889352af3c4420e541fc9da2f8c8548365a840aa8052198901d915bbb6b5368c82aec5730db735f27d194268b6b2dd4eeedfb13d21ffc10560ca7a SHA512 92ddc7ac9ba74b56cd73f00aec7a5c5c9485c6370c7a65f20177f6d7bbd4096bc9d1fae541a679c6375cf2324976a2cb8f59a05aaa1d3de3daa981ccb249551b +DIST firefox-107.0.1-uk.xpi 634111 BLAKE2B c6371d66495ed14fead561c7899b5f9223b443e8d2b8a5d6e4973289398c940fa87823641cc4bca42590676fcdcac2db4dcaacf023c8d926540a942aac692f25 SHA512 afb80ab6bc3a008035222bfb2b0d576e55c1f96577cd522f9f7f2815f1b40b502c482e56d1cb8fef2bfb5a28c10b9c60fb8a2fd69a80dc51fcb490224c1e2b94 +DIST firefox-107.0.1-ur.xpi 553081 BLAKE2B 9b64dbd578e695f2e8efd012bd52527b6f024e31d2e0816e1d6cae3535320c27650904cadf3fe0419edf36fc654d514184ec00cf7df8e98b4b4b458560fe339f SHA512 e155e942d8e7aafbffcbc7b16b7745322a2f41e2872d4de0c5499deb647739086d9f5522f73b3ba5fb64f152ea3d486fd40c837542f4d69d6c41b245d6389816 +DIST firefox-107.0.1-uz.xpi 473055 BLAKE2B c9a21bb2d7c2886c95829e99a8bce06f47301acfcf6c76d919309ce4c70b1c2bc6b47bd8f9bd80c7350e6e375a61f48283405412948b7607ebfd35b3833a2e24 SHA512 905434a50b9f264fd26095005cf0c9d155181e9cc6260c1a8ef26c1139a64afa7d21b8b827f01f221c578a0cf3e8c9b5082f30ddcc726a45b6a420310d321dc1 +DIST firefox-107.0.1-vi.xpi 585158 BLAKE2B 5c030fed4c996d44c712065191f8f3c8248c790b45b68cda43779542767e5349697ae83766599455c676382866d2531b3cbab7921033ff09c47e8c5e804c9caa SHA512 4c3d86fe4255f121ff2ed3e252f6b379610abafa2017fe13aed520e217e666ba7443c08989ac47115670e2ad69730583bccace14bde595345efd7dcbf991cdbf +DIST firefox-107.0.1-xh.xpi 414832 BLAKE2B 3db7a14a5cde7a36fb0ddaf3c452787f8b4835b6cc025334dfec8a0f131040b3eea4171784b8ec39f7370047eb0f58d5b16904282d3d9a38d5df2727b08ab7c9 SHA512 36006fe32b4a6b5ffe208006ec6df870d280d7040ca1c52182839e9ad3de4e5fadd49f942170751549158f6ce894d560fad88c3f78ad92a9e92f07b007e10057 +DIST firefox-107.0.1-zh-CN.xpi 585099 BLAKE2B 98bf9c88917666a9316c8c7170dfc83e7a88d2deebd853b282af0b3854405a9ac258204df9013115dde2b8a0789c431396a8d9be6dc6ee7ff7a81a7f3748916a SHA512 393e75b0ec843b00f874ca44b0a378bf823223bc83a107bb8bfde5277c590a5c05b3633a72dd52b24e6d5755e19e844cb70ec15a12c696aaa53852ff95d6736a +DIST firefox-107.0.1-zh-TW.xpi 586226 BLAKE2B b3f7b7831a501304dc47282f07f3edc1315a109a4de76956194644db2164544e8b2f85ec9dd98f2d9e7393d41ed603cf8b3cf3990c4fdf9e650cd453e61185f3 SHA512 18a5f6890a2f291bfab58252b5456df7e61f3f6289c84ce5112e1e1d7228fb3d2ec92d0f6a7669ee81ec8ccbca4ecc858ded8e5f2ecaf9839d38426851f8e3c3 +DIST firefox-107.0.1.source.tar.xz 508678860 BLAKE2B cab3d7e723c9927518a3acfbf8d0db7846074000933074309b9bea1dcc2e182b579a7a6b2763bafeaf813d9846c4539d6e73cf75734844f3207525aff7e5c8be SHA512 e57e4bfcecbcc6dbe73f23577a14a2998c8c3f3d602f85ea06f99e0974e78481b9f7bdb019cb4e9733e59f56be1407edd64a2adb7b284bb4a87b46b1e2295dea DIST firefox-107.0.source.tar.xz 510848468 BLAKE2B 3266e1dafb3e0befe746f6ae33679474e70335b32baafc25981c7a13f385d6080a313887c7828d76a47d2e456056c6d93140b84f1eee502dc9590247d31ecff2 SHA512 4b442631079a13e1d11223499b1d8daf622d9d84b38898f9084670ddcb5738b73e0d967a5050d5930bf862aa69e8d46ebf6d751ac6d0f075a1d75ff4738bdb6e EBUILD firefox-102.5.0.ebuild 36662 BLAKE2B 6935d17ca84566b65963c23b6e880dd19ab4fd2a14317078b70ecb7a0cda20a604b38157cb48bba21963ec5cafe9fa2b967355b8df1b0b8cc1599f137b32581d SHA512 f2fa0fcdd78855fd4b69a36f01e5d6c83c2af31b7a646403895f12cbdb3fa20caa3d2b77379662b6813abfa46007674ff7e854358be6d805da7c676db44ef797 +EBUILD firefox-107.0.1.ebuild 38357 BLAKE2B 0d1343666d430e8e9436fb01955ed991692295a8b6b17de60b56c322d0022d56bfeb89da4e1f12bce8e2a52b8d694d3b7b27b7618499cb4f9fb2eca5715649bf SHA512 ff9a9d4c1571c2b18a66d797239a22dc378ecc4ef0e421e3375188356d7ad8730cbdce4f637e57052ea0cc26c258c9d7581d7f949055dbd0e19205614c5e5dca EBUILD firefox-107.0.ebuild 38382 BLAKE2B 583598cb4ff452ac94968dedbdf16bb51d0d7548d2986c07f81dd21d995e0dec2b104796086e07539cf6264a4c6fbebe5c6adce2d3805db25de0819de78a88cb SHA512 4cd0e85bae89cb41b921cbfda6a29e6fcf94d49381e196a390ecf09dca4f4aa1cd5b6061ebe593d312882c3ef257bc14ae1e6353494958eec99bd331ed22b6f9 MISC metadata.xml 2219 BLAKE2B 064f486eecd2a66ef4c9cccef46803f877039bf16bc40b699a48e28e04e816d0ad434ce65ae2e056e1a4126a67a7dd7eff16040276159c1f5aa8966b1c0d7b6c SHA512 522b09ffc2857553e240b1e7c82c11ccc281dd87c720c6292ec9314b91319e0a55ca2838f17e878f5c1e58e4f22caa1b0c3b90506b65b350beff06f3f397d897 diff --git a/www-client/firefox/firefox-107.0.1.ebuild b/www-client/firefox/firefox-107.0.1.ebuild new file mode 100644 index 000000000000..e5d25a646f1a --- /dev/null +++ b/www-client/firefox/firefox-107.0.1.ebuild @@ -0,0 +1,1328 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-107-patches-02j.tar.xz" + +LLVM_MAX_SLOT=15 + +PYTHON_COMPAT=( python3_{8..11} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="manual" + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \ + llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \ + virtualx xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~{juippis,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" + +DESCRIPTION="Firefox Web Browser" +HOMEPAGE="https://www.mozilla.com/firefox" + +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" + +SLOT="rapid" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" + +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" +IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp" +IUSE+=" wayland wifi +X" + +# Firefox-only IUSE +IUSE+=" geckodriver +gmp-autoupdate screencast" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( lto ) + wifi? ( dbus )" + +# Firefox-only REQUIRED_USE flags +REQUIRED_USE+=" screencast? ( wayland )" + +FF_ONLY_DEPEND="!www-client/firefox:0 + !www-client/firefox:esr + screencast? ( media-video/pipewire:= ) + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + || ( + ( + sys-devel/clang:15 + sys-devel/llvm:15 + clang? ( + sys-devel/lld:15 + virtual/rust:0/llvm-15 + pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] ) + ) + ) + ( + sys-devel/clang:14 + sys-devel/llvm:14 + clang? ( + sys-devel/lld:14 + virtual/rust:0/llvm-14 + pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] ) + ) + ) + ) + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.24.3 + net-libs/nodejs + virtual/pkgconfig + !clang? ( virtual/rust ) + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + 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.84 + >=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 ) + libproxy? ( net-libs/libproxy ) + selinux? ( sec-policy/selinux-mozilla ) + sndio? ( >=media-sound/sndio-1.8.0-r1 ) + screencast? ( media-video/pipewire:= ) + system-av1? ( + >=media-libs/dav1d-1.0.0:= + >=media-libs/libaom-1.0.0:= + ) + system-harfbuzz? ( + >=media-gfx/graphite2-1.3.13 + >=media-libs/harfbuzz-2.8.1:0= + ) + system-icu? ( >=dev-libs/icu-71.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) + system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads] ) + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) + system-png? ( >=media-libs/libpng-1.6.35:0=[apng] ) + system-webp? ( >=media-libs/libwebp-1.1.0:0= ) + wayland? ( + >=media-libs/libepoxy-1.5.10-r1 + x11-libs/gtk+:3[wayland] + x11-libs/libdrm + x11-libs/libxkbcommon[wayland] + ) + wifi? ( + kernel_linux? ( + dev-libs/dbus-glib + net-misc/networkmanager + sys-apps/dbus + ) + ) + X? ( + virtual/opengl + x11-libs/cairo[X] + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libxkbcommon[X] + x11-libs/libXrandr + x11-libs/libXtst + x11-libs/libxcb:= + )" +RDEPEND="${COMMON_DEPEND} + jack? ( virtual/jack ) + openh264? ( media-libs/openh264:*[plugin] ) + pulseaudio? ( + || ( + media-sound/pulseaudio + >=media-sound/apulse-0.1.12-r4 + ) + )" +DEPEND="${COMMON_DEPEND} + pulseaudio? ( + || ( + media-sound/pulseaudio + >=media-sound/apulse-0.1.12-r4[sdk] + ) + ) + X? ( + 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 ; then + if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then + einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then + einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use pgo ; then + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( gn ) +MOZ_LANGS+=( gu-IN ) +MOZ_LANGS+=( hi-IN ) +MOZ_LANGS+=( hy-AM ) +MOZ_LANGS+=( ia ) +MOZ_LANGS+=( km ) +MOZ_LANGS+=( kn ) +MOZ_LANGS+=( lij ) +MOZ_LANGS+=( mk ) +MOZ_LANGS+=( mr ) +MOZ_LANGS+=( my ) +MOZ_LANGS+=( ne-NP ) +MOZ_LANGS+=( oc ) +MOZ_LANGS+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json \ + || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + # TODO: don't run addpredict in utility function. WLR_RENDERER=pixman doesn't work + addpredict /dev/dri + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6600M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + check-reqs_pkg_setup + + llvm_pkg_setup + + if use clang && use lto ; then + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" + + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" + + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" + eerror " - Build ${CATEGORY}/${PN} without USE=lto" + eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole " + eerror " llvm/clang/lld/rust chain depending on your @world updates)" + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" + fi + fi + + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # May need a wider addpredict when using wayland+pgo. + addpredict /dev/dri + + # Allow access to GPU during PGO run + local ati_cards mesa_cards nvidia_cards render_cards + shopt -s nullglob + + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g') + if [[ -n "${ati_cards}" ]] ; then + addpredict "${ati_cards}" + fi + + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g') + if [[ -n "${mesa_cards}" ]] ; then + addpredict "${mesa_cards}" + fi + + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g') + if [[ -n "${nvidia_cards}" ]] ; then + addpredict "${nvidia_cards}" + fi + + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g') + if [[ -n "${render_cards}" ]] ; then + addpredict "${render_cards}" + fi + + shopt -u nullglob + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch + ! use ppc64 && rm -v "${WORKDIR}"/firefox-patches/*bmo-1775202-ppc64*.patch + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Make LTO respect MAKEOPTS + sed -i \ + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure \ + || die "sed failed to set num_cores" + + # Make ICU respect MAKEOPTS + sed -i \ + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/intl/icu_sources_data.py \ + || die "sed failed to set num_cores" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \ + || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py \ + || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clearing crate checksums where we have applied patches + moz_clear_vendor_checksums bindgen + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + if tc-is-gcc; then + have_switched_compiler=yes + fi + AR=llvm-ar + CC=${CHOST}-clang + CXX=${CHOST}-clang++ + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + + # Set Gentoo defaults + export MOZILLA_OFFICIAL=1 + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-gpsd \ + --disable-install-strip \ + --disable-parental-controls \ + --disable-strip \ + --disable-updater \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + if use ppc64; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + mozconfig_use_enable geckodriver + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3 + fi + + if use lto ; then + if use clang ; then + # Upstream only supports lld when using clang + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409 + 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 + # This is upstream's default + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + else + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + fi + + # LTO flag was handled via configure + filter-flags '-flto*' + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + else + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # Modifications to better support ARM, bug #553364 + if use cpu_flags_arm_neon ; then + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon + + if ! tc-is-clang ; then + # thumb options aren't supported when using clang, bug 666966 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \ + --with-thumb=yes \ + --with-thumb-interwork=no + fi + fi + + if [[ ${CHOST} == armv*h* ]] ; then + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard + + if ! use system-libvpx ; then + sed -i \ + -e "s|softfp|hard|" \ + "${S}"/media/libvpx/moz.build \ + || die + fi + fi + + if use clang ; then + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64') + local disable_elf_hack= + if use amd64 ; then + disable_elf_hack=yes + elif use x86 ; then + disable_elf_hack=yes + elif use arm ; then + disable_elf_hack=yes + fi + + if [[ -n ${disable_elf_hack} ]] ; then + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack + fi + elif tc-is-gcc ; then + if ver_test $(gcc-fullversion) -ge 10 ; then + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..." + append-cxxflags -fno-tree-loop-vectorize + fi + fi + + # Additional ARCH support + case "${ARCH}" in + arm) + # Reduce the memory requirements for linking + if use clang ; then + # Nothing to do + :; + elif use lto ; then + append-ldflags -Wl,--no-keep-memory + else + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads + fi + ;; + esac + + if ! use elibc_glibc ; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # Allow elfhack to work in combination with unstripped binaries + # when they would normally be larger than 2GiB. + append-ldflags "-Wl,--compress-debug-sections=zlib" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + if use system-python-libs; then + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system" + else + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + fi + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from sys-devel/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install geckodriver + if use geckodriver ; then + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..." + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/geckodriver + + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/official" + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" \ + || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +pkg_preinst() { + xdg_pkg_preinst + + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse + # does not need to be forced into the LD_LIBRARY_PATH + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + einfo "APULSE found; Generating library symlinks for sound support ..." + local lib + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do + # A quickpkg rolled by hand will grab symlinks as part of the package, + # so we need to avoid creating them if they already exist. + if [[ ! -L ${lib##*/} ]] ; then + ln -s "${lib}" ${lib##*/} || die + fi + done + popd &>/dev/null || die + fi +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + elog "Apulse was detected at merge time on this system and so it will always be" + elog "used for sound. If you wish to use pulseaudio instead please unmerge" + elog "media-sound/apulse." + elog + fi + + local show_doh_information + local show_normandy_information + local show_shortcut_information + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + # New install; Tell user that DoH is disabled by default + show_doh_information=yes + show_normandy_information=yes + show_shortcut_information=no + else + local replacing_version + for replacing_version in ${REPLACING_VERSIONS} ; do + if ver_test "${replacing_version}" -lt 91.0 ; then + # Tell user that we no longer install a shortcut + # per supported display protocol + show_shortcut_information=yes + fi + done + fi + + if [[ -n "${show_doh_information}" ]] ; then + elog + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):" + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all" + elog "DNS traffic to Cloudflare by default is not a good idea and applications" + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5" + elog "(\"Off by choice\") by default." + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences." + fi + + # bug 713782 + if [[ -n "${show_normandy_information}" ]] ; then + elog + elog "Upstream operates a service named Normandy which allows Mozilla to" + elog "push changes for default settings or even install new add-ons remotely." + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or" + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security" + elog "concerns prevail, which is why we have switched off the use of this" + elog "service by default." + elog + elog "To re-enable this service set" + elog + elog " app.normandy.enabled=true" + elog + elog "in about:config." + fi + + if [[ -n "${show_shortcut_information}" ]] ; then + elog + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for" + elog "each supported display protocol. Instead we will only install" + elog "one generic Mozilla ${PN^} shortcut." + elog "If you still want to be able to select between running Mozilla ${PN^}" + elog "on X11 or Wayland, you have to re-create these shortcuts on your own." + fi + + # bug 835078 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then + ewarn "You have nouveau drivers installed in your system and 'hwaccel' " + ewarn "enabled for Firefox. Nouveau / your GPU might not support the " + ewarn "required EGL, so either disable 'hwaccel' or try the workaround " + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes." + fi + + elog + elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using " + elog "useragent checks. To temporarily fix this, enter about:config and modify " + elog "network.http.useragent.forceVersion preference to \"99\"." + elog "Or install an addon to change your useragent." + elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100" + elog +} -- cgit v1.2.3