commit: 378e151bc78d66639de234f4d17f1703164ecc6d Author: Joonas Niilola <juippis <AT> gentoo <DOT> org> AuthorDate: Wed Jun 1 10:39:47 2022 +0000 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org> CommitDate: Wed Jun 1 10:40:17 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=378e151b
www-client/firefox: add 91.10.0 - bump EAPI to 8, - add upstream patches to fix gcc-12 build on esr. Closes: https://bugs.gentoo.org/846971 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org> www-client/firefox/Manifest | 99 +++ www-client/firefox/firefox-91.10.0.ebuild | 1244 +++++++++++++++++++++++++++++ 2 files changed, 1343 insertions(+) diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 8db5259c58df..bb10fd755053 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -196,6 +196,104 @@ DIST firefox-101.0-xh.xpi 418658 BLAKE2B 68a9f90c2b92d8ed36e47d73077720b86e91abe DIST firefox-101.0-zh-CN.xpi 567077 BLAKE2B 051b082f6f6eab983b3eb6ac94fd673b80e4db1aebc533240d6b029905d7ae8de39cbf15d7eac67f5cfc9f8370951591f9a6e2153b806e174222447195f3dc4a SHA512 37c646b5c1c2ba49b20dcbb197f8856c2198de66705c11279ac790ef2be25dde843fab1a96f767129b15080445a961079edf4e9d58064f7d521357c596fa9fff DIST firefox-101.0-zh-TW.xpi 567648 BLAKE2B 1b9cdf34a9553c665b38b8b02814fdca8536ffd30da6d92c1ded2d3b0706d933809193705e05578f362f5a2653c88aab5a6c92290f88a55f1e31104d8be18ea9 SHA512 0a0680d6fd6d158a7bc0b5f19e24028647b3eb63b571bc4dc4741a2e647fa4d8de4120bf2fdba6481890cf75bf293e7c7779050f219738bbe23cfcf334516e5d DIST firefox-101.0.source.tar.xz 490975228 BLAKE2B 7d819a8d66df38a80929d83ed42bcaf0c3fab431c8593a98c8381a4757776540475ca77fdcbcc144e1ba7c27b851d51da653d375a34a9dbe9785a09d319554c4 SHA512 fffe7e0940c1443fcdc5b205677764cb4e04b29f33fcfafb2857d383700584f309806b81fc4989efb56cc12a3cca1ff7d451b647050c43e98777b5c952ed5d56 +DIST firefox-91.10.0esr-ach.xpi 453209 BLAKE2B 14b4549f563075b1b91e626993d0bd9ded4798ed61a747e2bb11d0f1325fe3d506773b675148f3d4b292fd3799d92e3d9968679000879d7e4ae9dd75bec37815 SHA512 eab581d3b6e87f88b5ddeadcf805fc456ba5abdf8bcd571d961609aefefc35aefad841c078485a8509ff679baca516d2425f472a49bbe19fa782d8c8f52bc726 +DIST firefox-91.10.0esr-af.xpi 426923 BLAKE2B bfebf65937d882cce010f41ac4e3bf0a91659b03d103a2bcd6975ceb1dfe8e4c6f93d18c9f9ee80b65d29f602b0894006c820d1fced79c38099b100696cde9c8 SHA512 b88dc4bb84e80752c1d3dfaee88f829312b063be11abaeb5d3b0a95e4441be7f89ce2fd090d50786bbc01839a08b9ff85c98a4d54c9304259078242187056426 +DIST firefox-91.10.0esr-an.xpi 499888 BLAKE2B 67b8233f0cd6f3e1a0d7b9a3f98c1f98af4239e11e3b768d7825f11fb4c998bed424e605500ff9d470c1fe525b20a7d6cb28ebc1cf3b7edf104712d71a6a8f43 SHA512 ac68029cef8e543dfc7f954baa518cdd25180e5f9ddfee9114fcbff2cd9cc9784f7486c10c38e5c4980cbda5fc63b26d393ec1ef4457731378e48c762d16ca68 +DIST firefox-91.10.0esr-ar.xpi 559678 BLAKE2B e109b833d73d69eef943db296930e117003572343287bd877b05742d2af5bf18db3ab0dffc7711ceba72d6e6d442c7ac0ed450d607a90b52a6c91e64a47868da SHA512 583a1b3cbc69956dcf74f27e8cc5f77848b590b888bf29754eefc33d8994b9c4e013c1f080f26e68b3cc3e409882e6ee48786b087d4763ccc544104d37e7c1b6 +DIST firefox-91.10.0esr-ast.xpi 498577 BLAKE2B 10997c7fa2bbc3a933a892640477b30852a10876880d8c1adb47d0b1098cb94819b8812d2ee85948ad3b9fde8e3f08599302b89f08a6f046e29e0faed27d0040 SHA512 6263aa2c0d0455555abc7fecbe2576259493d75faf9f93e7701bd512c591e538905510fd590b93e871155e5fc01aba95188ee9a6b563cf3059d95ec1dc8449b2 +DIST firefox-91.10.0esr-az.xpi 489429 BLAKE2B 7919b3733e6f2be5fef1b8de463e81691c4e24c7788bf05b387e994dce5b9e8b0723fda93ceb4f081890d51065dd0dd86805a81f58fc2fbf9b6031fe97fb5fea SHA512 e52aeedd4035fb52a0110bc929acd3f5c57aed4a700810ddcbbba25bcd68323cd13bdc2a67c3d4c8ea6bd2e258efc98955bc2abcb54cce981855c89e070b0ba9 +DIST firefox-91.10.0esr-be.xpi 622605 BLAKE2B 2e46be354910fbb5af2d6e29c442ab0cf611fa09886350840f491959e64f361f58b0faea813f312e6cd13fbb0ba3950317860686b575c4d8bafe3a16212d05d3 SHA512 f57cf538dbba1350676115da5e25847b5e1b6eadf6c89bf10fa6122af8360f41e5a4c183f54aec149b3254096e0b4f40fd6ae91e077324463ddb85793cd36ade +DIST firefox-91.10.0esr-bg.xpi 567639 BLAKE2B 29e8bee289cbb144dae289071b1580ab75046cf10016bca117307ff07bb8e2c5243dec814337592f6d3c8f6e3145402a94a7a344ce3f571ebfc49af6be6ab1a6 SHA512 a238a676a8cbf7743f438a13b271721a3df76bc8f0ce7b26b17435ba4957c5f01fb09fb34ca597c569826f3a6257bcf750028a22205d0ca5c7cfa26ab35da7ba +DIST firefox-91.10.0esr-bn.xpi 556819 BLAKE2B 167b4c1c48c1f0584e532258a9f4635404fe91706a4a509f0f0ec5dfdf03b1d83cf48ed9a5e1fa36d65e563d6d491876a9a5eb56c1c263c4f61cdc38da339f7f SHA512 f94a61f3fb70da5590f9ce3224386855cd05bbcb5c7c51c8933f8c3c7c75cadbec858e18f0bc38d2150f72c40032e3b3a4795b6f25243978d83c3e2df829f69f +DIST firefox-91.10.0esr-br.xpi 526249 BLAKE2B c0a399ae78ab1c8a401eb9a08d8d81ec1d059240e4d14173485417bf438acad81919a61b084f515a66768bb7aeeb2a3d8f5ec338f6ac85e2d9652cd94cc71c77 SHA512 a2bff7bbc7477a8897735c50e9217f1f38994f868f74e4ed0d252b95021bdd87f9a88e4e12c92bf293bad644ea1e6c20afaf5e94ad64cef0a1b1c9de04db6e9b +DIST firefox-91.10.0esr-bs.xpi 463548 BLAKE2B 273b42583f5cb84a3e9574893a7d7121d1f3d183fb823f9cb11f33772003684cdb0211d4c01c72220f4f4c75c50e5d4934f46ae8fbcd609416d0a9c4c57be47d SHA512 e21b4c0b4ff71b56401639e8be8701bc34fced4e3fcc3a29be3641bcf2b860f1df6e331f34e9406adff4813c79a089e0ad9403431b87f786a997c93567202b69 +DIST firefox-91.10.0esr-ca-valencia.xpi 529389 BLAKE2B 30715e8475882004ccc4897cf04aeb8acc663bcc5a0765643a8a3b1d42397e6a63a5450c461a576ca572ebbb91c0fb38f71af8aac93a21f29b09a80d3b12ed00 SHA512 79e9bc156957e70eaf999f356da1c2be405891af4b748121707ad8c644be3b1203f359a6757016fd0e43eb4484adb42242712a6aa76ca3b037121d926b3e1796 +DIST firefox-91.10.0esr-ca.xpi 532471 BLAKE2B 6d485566453ac2b3ea1a465c9a906b1eb4a9e98a308f1c8c3ad8fe26804600de6bb3eed4b421fa7e98b98ecf0b4367dd49e21a33751b4fe54ce2e30de6f751c3 SHA512 41cdf1ea11b8b83888dab1e4a1dddd5e2a47b485a99afa28aa146105452d319f95126545274a2eac98116222cd63882b09ba9fadd3fd931fbf486e288d8bb249 +DIST firefox-91.10.0esr-cak.xpi 552604 BLAKE2B 07ff125597a09010b1bbd81d0155b35e247a398f5b028110758860f7a42614db393de4fc439f7450885252df3afd65d8c2ee2166f7b9c31a5f207cab8e969459 SHA512 04bbba3aa9afb0fdd387ff1daeccd18e3248e49532779cccc1976408b0ac7d87c96699142f42ed6f2783a04e18fba3f038e150ab53fe164c36643895fcd8348c +DIST firefox-91.10.0esr-cs.xpi 563183 BLAKE2B abd311d14d4224189fd873bdee98f4ca9e74bdba2b45904f1bdb9ef526fbcc7c5c48c419602075d04d18b06af431f5732ac966aa9681b52e00efe6d1cb883136 SHA512 24276debe4681f1165c9651cf86717cb3e6c28282e682cee27ef2696e94990bbba1e1bdd964cbec0fb709f748bd095af3f4accb3b1f401d7b1124bc0a70e8a41 +DIST firefox-91.10.0esr-cy.xpi 542210 BLAKE2B 65f3255b6eb61ff0753816624bcaf5eaaba2d21559bdc8cab77a017dad7584ffd35d70e62fd8aff45f1758f066b63df61c43a836c47ac81ba15f20fe99fd82d9 SHA512 823a35361ea82709e3e1cf5b57177e994b99497ad98418fc8c6b1777325aa9a202867a41707c60f78cbfa029331420104784b8499e5f6b897b4be23f4371cbff +DIST firefox-91.10.0esr-da.xpi 534156 BLAKE2B 6a14678ca9c1209c7f00d21ac5da418217d2885b23b5d2523dd2fa3ffcf52266d6b68aa65c3ccb9f9f108d2121a9e5a95a475911f466fe50b9ddfd39dcbdff71 SHA512 4aeb408f7309d12cb151916084d5f8975f912256a1ab4f1692bc186842cfa8885eda3be7d9b1504d99e922451792e8ae8af946ffdc48ad256827bdb63f4f04da +DIST firefox-91.10.0esr-de.xpi 553581 BLAKE2B c0e183960495fb9549dce473539eab5a1f40e2d20253047d37e849231117c0782bff859f85b595198a13baa476d9d1cdb56e6a3bbac9079056dcdc106fed970e SHA512 760d0f0ebf6cf26e0e79a7bcd34c129a4427d5564291d6772099746baaebfa7148afc4f7ce7fe4af3f09b5e1f5bac99c43a414f18eeef6679cc251a8ce100148 +DIST firefox-91.10.0esr-dsb.xpi 566488 BLAKE2B 323186fca07427b6acd26b5df55f8cd7004bb86a97cfa52dd389982cacbb9f37418ae09cc945825f5abec7fe7eca23209ece6839c0a1068100324963824ad59e SHA512 4c8a29305dcba4591116f1a422915b23aa31d2f0cfe388ebae058222745417e2308bc2cebcb4d9b593c7f31b7615e0503ef61f1dababc6290db3109cd6e9152b +DIST firefox-91.10.0esr-el.xpi 639150 BLAKE2B 66189f74ace2c977144333864bbe1338571ffaff5b5cd1e58a842d826964b2f3c1a3a9f3767afea1a75f61189170e1915dd8d126335c5b950ddfd410adb77783 SHA512 9a4b9dda7cd508afd16497980f750b8fc4d1c1dc586efeae4a0682c3488b1e957010744a23e948022734763aa8c0bbf11292482048e08ff5fadeb807d6c0fac2 +DIST firefox-91.10.0esr-en-CA.xpi 509577 BLAKE2B 5cbae30dab01a6bb2e5b7c7c197b5ba032cb8268b2252b74127b95e5061ce14d2c501942bfae86678ad11f8122bc1e85212a8edc540c50d6f28b13b20b81e3de SHA512 fc62ac2377adf9b43a448b0ff8ae6dad3013048419e51884bd5e194ac6f5eddec4c21295690410cd0688638f2f47555889e1cc592281414e637f30c8e20410a1 +DIST firefox-91.10.0esr-en-GB.xpi 510584 BLAKE2B 59b087618fd0cbfe3b82fc4dd8c711d82c19e71b6fc2f43d0fb5daa847da0ddccc58f47ab5d762b1bbd0396431acff39a30a244fdb375412badece730544d125 SHA512 068b0bb9426b3e43e71a6ec46ae730baa967600fe23f8c7ad14f0413b336bc47d851643b5b6c25b6bd4eab4acf62bb75b86fab96f97fed7b685a605cfb578ec4 +DIST firefox-91.10.0esr-eo.xpi 534802 BLAKE2B 287783dcc557f0582f25c863e94f840061ad0f497ec78e6c21b570f4437e26687cad9a4cb0a18bc0e1e0758be48b6a673a4b82b1e0f90a3bb585b3993e587df1 SHA512 eff66e746a36df76fb8f01f799e5222e14bd1cba6c9454132d65bf2d4ee7b676d0488f3407846f1352693656e789c3095729b63b4f69a9909a44a3c0d2a4d5ea +DIST firefox-91.10.0esr-es-AR.xpi 546687 BLAKE2B 179965ffc11fdb9ecd4e72847d47f7bdd9d536d0f92dd8d41fb2f68ffa48f4b6d24ce045876d6bc5e01c6a07ca59dc5ba7a9855a5be48ef8eaa3b5dacae5aa3c SHA512 e3800b508ff7778e7e7377b57ef8ad18230e42d69aca0d657bfe6c7d6689b98b71fce1d8886cd09da869ed5b8b988f27c83d83e44d33d5edd06de13a68f6213e +DIST firefox-91.10.0esr-es-CL.xpi 546378 BLAKE2B 92884da8d4daec8c3f53382213d5452ed470e0aa7cd97c565cdb09cd414afe26d71163e6d9bfed88ad2ac1330c345a4cf6a0a9c78c89effb7fb80766c44bd532 SHA512 301d5dbdcc0733a10ea3a14618abab092f87dd094d742b3df60a3d68140150df16c4cb39fb7b3a4a5da22f27dea51bb71751147f5e247ebe4732e6890d658c45 +DIST firefox-91.10.0esr-es-ES.xpi 537071 BLAKE2B 00ff613346d19492657bde4a54e7cee871bef9660083b0304871fa832a401abb2fba2314b573c8241f04e012e4b5f772c6f259306467efbb7fac84fa64cdf6e7 SHA512 aebdc2c3f587f3d6b9ada6d0add899db8c621a58330c96815f4aed17bdc07b26103a36fdc9d7b2d3cb391d5701aa4f6599c5136f0ee2fa83f02d12d7904eb5cd +DIST firefox-91.10.0esr-es-MX.xpi 549997 BLAKE2B d26908e829abb6f004aa5ce490e6ad0d62072b5e54393a98449745b5a30cd97b0f835a873a037fd3cf58d50131004069e315f2f936f13feb8e39c4fff2d18b86 SHA512 5d2b305f98bcf5ea17ec3a980a6456c0b461f69c3862a6794e18325059b880f6ec8d4f476d1943fa6b25a7327bc39aac0bb434785ff4b6c111179d54efc4a353 +DIST firefox-91.10.0esr-et.xpi 506667 BLAKE2B e0ad3f7abc63dca3325bac67ea506ee0d069797a5a67f9b5e7a97fa01eb515c8cf664220a6149f4cef22576f96a785132f3e37124ebdb2cd9c09187a5bcd3a98 SHA512 73168dd4dcc480c1f940ebded44bc9eb2103348775e50976df02f5a4003095be3cdaf28d6230e80067675d23158061c63ccaf6860e3980b845639a7a7433bd70 +DIST firefox-91.10.0esr-eu.xpi 536327 BLAKE2B a9dc75cb52d710a7b8659ad26b1d2290e32114bad896212230c7e5db49a85be88fad1ac6b09e0ad73909b8e19271ab45cfbc0cf921d6996ff6a5462bf06492f4 SHA512 1440c2932c02bb76f1dc0255316381b2cf060d19fd113a0477bc3cd1ddfc5effe65688f45041af9dc572a05d283ae4000944ac465ae61edcf8f59217155f9347 +DIST firefox-91.10.0esr-fa.xpi 559376 BLAKE2B 9e8b7dc64eac66b5430d867428e315b75ad5cb1e89f093924e53f84277b42be3fe5dffe6930c0bc156c76f250a9219ca1409d90b9bdf4a7b75122ef188494b29 SHA512 bd8bd78eea80cd11a1c95ba51f65f1b6918f670e849feb4d79d3d7c1107ec4a4caf335fead1d1a818ad5a4062b1bf8ebadec4de579b51fca95fb87a361bd9bcf +DIST firefox-91.10.0esr-ff.xpi 471867 BLAKE2B 8791e54364182abebb21ed9d4c6a4a1941f0feb1bbf37190b8f77d39fea9081da05720f0ffe1ba076261f634a5f878e6d3c6fe1d08d43005a28f2e7ea4c2d7e2 SHA512 f7b887108ee458abb5fb8d790e0e0758a0ddaacdb15e92fac219bfdb9a670cca74acf69a72b4211748f9dd420be3959a2f9607de4010ea9a8bf747ef468147cd +DIST firefox-91.10.0esr-fi.xpi 531473 BLAKE2B 8a688aadd3a9c2e455006e45dc6dfaa07950a24bd00dbaf15ff3aa35e0dfeb972ce6bb8e43a8edf8c5407af167f3b39b894bc304fecb4de7ac4841068c327ba6 SHA512 efe0c44beacbbcf110133af732a824332defd096c2f1e992a2af991574fffb63ac2c0d1b53fabc97c027184172fbcdcaef4ac5246b58399f08dc2d3cc2235222 +DIST firefox-91.10.0esr-fr.xpi 557615 BLAKE2B 879b5b16570f613312375b688f9ade043a50b7be1d0e2b36ffaee20196e498f01a9f975216986c1e84fef2dc1e5892aee1ce9084515062143cf0b8b3b9c344b7 SHA512 9c02d2615575959e42b1a2fb73486d31b3a94614619e4e24439ceb98976709c47043279a6171b7f7d564649b8ce668f0b3b62d1df8e4fdd6246f9d08b6683453 +DIST firefox-91.10.0esr-fy-NL.xpi 543301 BLAKE2B 88cebd6ec0d1ff2d472d20a59631af7af363c085542569d06ad2a2d180f2128a17b25cf12686f63f2e61f0447c59e461cc232d2f9f766c6f12a495470243a1eb SHA512 7d2c4765539fb1b53c41b557e64078c08977c4d015b2011a90cc4fec8954c63d73c08ddc9d2ea5033c648bbdca58f38ad3734921e5c52cd918b2fb0e1891444a +DIST firefox-91.10.0esr-ga-IE.xpi 459826 BLAKE2B 0c93d02708369dbbac4f4368c20be55ca746c1bbaa0906bae29b8a000ee5cd655fe9a7234e2f53fd36fc40968c2beaaeab6642a1ac78c621a93b26352bf3d858 SHA512 f37c152dc2916ad3f76d2ba73adc4665b029dae19a0411421c4191a4533faa29e52d159d4b91a71d95c3286548b0843ee33a8946d70b0236790e845f52ff2081 +DIST firefox-91.10.0esr-gd.xpi 530858 BLAKE2B c4bb622c7dfbef70ea0b559cf19cd3d4de3d4b832e2330fc55c3671fd787b689750536ea1b51ef86bf755663417eb11500b9bde361c3df089ee97c7d2eb78975 SHA512 13c32568ab40f55af053f89e12d76df0ef078aed33f52e55795beb277571a052a57db5775193ab60be023aab0bb7d0f4bb9848c3bd44c296417c6feb8a341aa2 +DIST firefox-91.10.0esr-gl.xpi 541301 BLAKE2B 96c8e2db166de1b5127c5c5f401901d34ec5b60fc98513470c1382a4be15856fb55d58cb7cdd494e4ffcd5900114966b2cd1d2932b6af94e7b6856ab3f3e34dd SHA512 4125fe9323a63311a26ae68e9bec03ae2a1d3497a21a72a73bc461d629fd4605fc51e08dd5b5ec427ddd272342b40a58b08bc6e0664d7374a98edc28e3865df7 +DIST firefox-91.10.0esr-gn.xpi 557606 BLAKE2B 7c504fde30f0aff5a45606438bcd2a0bcda9d8f9d20219c330cebebb6a78cb7293b587087a3479e8122deb7339986f71b9752760ea733cf078f607c5a7e7aed6 SHA512 33e3eb66f53671886c82832bd6879e325fc67aa9753af9ff3bbb001799c04f09f6be92d831fa973bbb4f582faeb73b50fc2c7819f04fc694c09b986c3b2aee6c +DIST firefox-91.10.0esr-gu-IN.xpi 529539 BLAKE2B 225c463ff8505f034cd6410ca4b9f6a69eed80ddf50c89a398ebdde2c037373494b0175fc9a9a39f5c366eb19396e94661a801f8cd2e341d260fe27737343bfb SHA512 acdd7c2460b312ec89b7430d077974328f7302c1536cbcb8c9254dae75634b2694c4fc1aff49674a2dac76a07a7857af7a1fe3bd5048c9abe933753daf0cb581 +DIST firefox-91.10.0esr-he.xpi 557201 BLAKE2B 5141f2d0426b9426e79c8ad1ddf05e3d94fdcd87dc8e19d76969a1386f6fb6a0953b1f5b6ecbb195b481320c2105f2a62cfc134f8abc292059f46273e94e3da0 SHA512 d6129aa406019c2d3eb20c081071f37f96da6716a1f869c46e691a3ddc69af122c1a82aa67ad1e712d383781676e040708033adbcde297508e0f190e98824e00 +DIST firefox-91.10.0esr-hi-IN.xpi 560651 BLAKE2B 2c845f6a471f5ad924ddd5123d29c62a6c882242874fa05415d3dda012152a4916870d5ddf7b8e76e20395dafa55a9c53412b30990684d6926122781dcfa4c6e SHA512 6878e89f166c0c0d85fbd9e6755f20fde51562e13b9f5c2425be836605981caee405949d90c570a8dc3376f2fb2a7def33692469471878c2ca070e16560ca7ed +DIST firefox-91.10.0esr-hr.xpi 530053 BLAKE2B c8bb37e92df70dbc836f89afdb46c27bf8392b1d081501231fb87d8c8e901cda5da4289694c45e04a2cd96901da71311c57f8f16be5fb701230ddfa4ac0e1c33 SHA512 dc983147efa992d720bfb8d1da5fb929f2ecf0f188345bc8334444c5e7c9927824e369885c9bebf3729640f2f06119da8120296a0ec0bd94162d81477c1b9bde +DIST firefox-91.10.0esr-hsb.xpi 562629 BLAKE2B 132f53274f2f32eb0d5fab20a9f1155fea76eaecafd8e1bcf5266e1e2fdcae0190064b2bb4fe0607633e0478bc23f75805d6ae9450cca2c3087ba9a45cd48561 SHA512 c731e98e96b04f426068425a2d0d83abcaebc2e2e55076e1f02aa21e4edde52fd08bcd61035a70243fc7732844688bcbd9cd24c3e91549c82231765b36232f9e +DIST firefox-91.10.0esr-hu.xpi 566076 BLAKE2B 66149533bdddf48740b99f3e4ec0c230a4af43d9c70f59684b7c48a8bd5e5e2c0148e0134f8a910dd86f62818347968808eb7bb7f1c5e6ee9b71dcea0323b326 SHA512 9670f1a29b412ec5d0a1ef87888d8876cddd9d2162a53019959fa188bd623812d129ea1fc136364a2660f2dc5d2fb5735eb309e3ac33069f386129d57d8d1dea +DIST firefox-91.10.0esr-hy-AM.xpi 579759 BLAKE2B 42b010958b26fb4e5cb341c048d02fa70d45d7ce4850fd85e8c12d8c882629d780e74a65a9b76e66568e0ba34c8e63a269003866008203bd694cbb367954230c SHA512 e300b92183ef947a5936bb914881a104d74731f6cb9480433989541df0defaf79037f8f52ccda2438eeea1ae720a389304b5820628efc3c9966e0e4cc7233d5f +DIST firefox-91.10.0esr-ia.xpi 532146 BLAKE2B 038ab2c78a3ab9b4b0eefccc2dff3d3923d82b6a2d5febbd9200b114f203b0065564cbe41a83d3d29a00e298f959ca158f059bbeb2a1a48a21a60f4f85df19df SHA512 df26efd5b304f3857e50117973f190f135f40d9b95c5e200a6bee8127b05b30361cc3592b02ba942670034ce1f4b781ec68539496924fc0aaf2795cb52ba71ba +DIST firefox-91.10.0esr-id.xpi 519823 BLAKE2B 794ae49c7c6380157d77a3bb7397228c6e8bd04b2d30cc4f431657c41160c6ef805053b17bc9b5b18b0db86e891427d14b08d572ca3ec14f17afa3567a796bea SHA512 73b74193aed945db3b8b2ebb56759f7e16cc8df9a2038d40d5b3d70acb1c978c8419bba9b99a5c74ebaee9a216ae6830a9327fbec53deb5b87540c00021be117 +DIST firefox-91.10.0esr-is.xpi 470229 BLAKE2B ac06af247e5dd9185c47af31e1bd2635a4228a74de0e4c5bb22f059e3b1d98c3a2bf3f2e5d7a942564ba1c24f80504f89dae0a4e3c598b3a9262230a12fdd4a6 SHA512 f1e255eca459eee380aaccb935e24d1a0d3577ec55e4df5c0930fd536d3f0de952a40390ad621e3e176fdd8476430921602925d5c00921517a9487e2a1b8755b +DIST firefox-91.10.0esr-it.xpi 459085 BLAKE2B 32564b93bd34c2df64f48645f6bbc8f3d228b75c164f752b4a65fc31ee3a53e0c32212b5b199c9988e2ea61a4d1664c5ffb4043a76c5842d4ca65daa32c346a6 SHA512 228e4a140d5f8e8b58491dce994e355ef7093f07398c76c4fc7390bdbd2a21c82c5eb1fb06d17ae2207a5ed926ede966e299d96d207629fd7e858ae1aecd2a6d +DIST firefox-91.10.0esr-ja.xpi 588079 BLAKE2B 8894158369a45dae6a1b2100ee30f48a7eb6ba4b3ce7c421119a032541f44d8dfd02c3ea771c30b58f1bb9e695f0279c8fd566395e71f974c757784a69604480 SHA512 5fe5e4b4ee4526cdef4119af2d5a4dcfb4a4fa98272bc7b2f326c4a39c9d3e9dc2d72592974c23ec80b23235bcc5df75cc9581c91ae820bffe677f908c49e3c4 +DIST firefox-91.10.0esr-ka.xpi 592255 BLAKE2B 24d6f95242f5daf2f85ad63239aa24379bbf01ac6ed923eb7ac60a8f11a6415af4a47d9232bebd00f9e093e1a0cd41c02425130ee844e8b6a6477dcd0ccaab46 SHA512 53fbcdd2cd01ae0ab181b0c70c05ed50a9a6239a3b9e0339e647dcad562043b37c2bd0a0d544672cdc357fa45fe5c276d2cf77bbbd1f21945e5045784bc688c8 +DIST firefox-91.10.0esr-kab.xpi 545012 BLAKE2B c8069b231a4909841915e7feb26dd6222e08964ea926bc5516d32ef4350972a33c026899f08e9955f57bd306e02f0a295c6fb5bbf24df91f44b4fb6fea487e09 SHA512 3d94f643c90830acc84e56a5ae493df083bc91ebe4cae1acea454ad67528ad2e711ae690447c0e6d1c2a8c3f9cfbb0f6b31d3c231418327c04c4262a9f656bde +DIST firefox-91.10.0esr-kk.xpi 605552 BLAKE2B c2d5efb8ddb10ac5ee211fee08cc2eb8f18a4b34e835b8350cf13bbc99ebc20c0e4ae03efcf64e195543319920aacf5b3367ef7c2a3823acbc2e3bb750e505f4 SHA512 ae68a9cc2297e6da1c286d47f0ea29cdad38d0ea864c03d4dd06a456bfd3a2214e9b63f45359908622f5b08956685b8cbc31a121c28087604b0f1bdb09172996 +DIST firefox-91.10.0esr-km.xpi 533116 BLAKE2B 7bbbdc28d1021f579b842869a82fb71bd9e528bc9e529b8b77fbe0d566c36bd6399ca881d15bbf5818c881ac4d2f59436c1408de9aa07b543cff4c1f5f42419a SHA512 00ba517e7842921aaa5c81d237d7f96bcf72380305863c1d4ae55c381441bc29dd6d882248571deb1e5b54c6e6965d806fe8b0930c25b45ee929ac679edc83e2 +DIST firefox-91.10.0esr-kn.xpi 498973 BLAKE2B 3488ca7b7c831a779170d39d57c0cc3cfd05935acff632972f81efcae42845f2a3ef671a3ca8e62c236a9ca3b3f6d45d6e60fee9a03410903426ec42b13f92d9 SHA512 db43b329c80bbd639e4711cc572a4a7fbe604a9b5c1d5a31e81fcdae0bf440b7a5bff4ca4e76443366980783a45542877d94dfcf36a83ade978533fd33292365 +DIST firefox-91.10.0esr-ko.xpi 579053 BLAKE2B 27b001322f3fbafd8a11cc3809c5342877fe92dc5eaf5011400a4a0576f7a15c30bc5bb87efabc9dc12fed42c2813a35e0b90cdea0958f8c8fd94df9e1a7e7a7 SHA512 c3ae94561d2f50af38185d771d79597d516d97da9724db346ae304061515d721af822c648cce85a2db37fd6216573283043c6c42d3f4242ace9e371f3ee19d0d +DIST firefox-91.10.0esr-lij.xpi 470176 BLAKE2B f729ec2b1e3dfc3fd29afdf1bc5f537b84ecad76f72800b44da6c4fdce621ba01cec9eee0a842b66eb0a24ca9d56d34a5e3982f619a1ab040b7cf8ec48e9cb5e SHA512 43fb845ec99e1a20a0f860b6a771ee1364958c4ef46c5158f4e09e1fafac045a9bbd093249c102c9b57326dbfdee7a9fe148139f34814114d303381784569f55 +DIST firefox-91.10.0esr-lt.xpi 560100 BLAKE2B fadb0080af0c78c04103ecbe2d2c6c45221c0c3438c1bc97c9e979617838d38b741abf1f4844958efac9ab298d2c39e4fb0c240f02f71aa728c9325216148e13 SHA512 0873ca244a688346a74474202de1b0d63ffbcbcdab7ed8938467f9f8340c3be757720597db3121eb9b2dcf9fdb4191787f7509cee4910aeb8cc119007f82d2bf +DIST firefox-91.10.0esr-lv.xpi 462452 BLAKE2B 5e6c79c39a319236dc320e333471ecbea4eab046f74a0752d60c2eecf561c229c20b18d23e47b4336f21f05c43c537f63f760dbde55e26aa695354fe62967d26 SHA512 d2d6ca0a55942a10692ad8d278e5ad69f585bb392bdc09a0a601ec43e36aec6750e0fbe54851cade7018b2373c4089443554e3b7fda9b73c7c3a13a17a06fed6 +DIST firefox-91.10.0esr-mk.xpi 465341 BLAKE2B 51627496d199ffd93e95ec4c2e367574f6be83cf36a7723127aa31ef6fcc66cc024899bfec689443e375d8d42123777b39b56079d2442c3d84e3bd09cb770564 SHA512 b4c4342f40729bcf5a66a120179328b0ff5542cbf25d6478611370328cea8cc597a6aa729678a9ff52374b68b2a27cc04702effce7486a83fc8b7340aff377f2 +DIST firefox-91.10.0esr-mr.xpi 532131 BLAKE2B 0ba5130a85db83137ed3063879714636ef4f60c811a76f031a1f53fa48d567cb06bb6f710c06f8ce2d035e7bebc6508f6f43ecf58ed477c459f7f1ffa6fe04da SHA512 f124ba3a373945a1dd0d0490fb8ccb3c36909b2772b60384d32520c00bb69f425f037a51d067d8114f85f5189793da0b1a2b909a64afd825ad6ec3a4da40e075 +DIST firefox-91.10.0esr-ms.xpi 447351 BLAKE2B e3c5fa267f1db84ba5c9e582951612d6073ae3357488eb6f658c90dd8c03e64f6d4bd8aa83b61be2942986e7bd8c66d68e55c695bc2a56889377ec2d3f0065ac SHA512 477a7c7ff39dd077462cb938c7ab2cf4f073c60d0d8e123bcb24ac9cbf3a0f4db0e51e8d0202b7b6facd92e8987b3da3947fac428a3ecfc1433b07d162bde64d +DIST firefox-91.10.0esr-my.xpi 516296 BLAKE2B c1fbf976c3192674eb1817627d06723a6eb159f4b17fe3449f34ea6f1fe6bb3477ec6dd73119f7d9efcb3b4711bf894021641e5b8d972ab0b99f1fa9a2bebc72 SHA512 4dc5c8c417b1fee1c9d33604f33e823443488e2760207ca0c3e09d814a019d7f34206c7f4661522e4d35d5bc47515a7aadd1356e2f284dc7b4a21013c08a00d2 +DIST firefox-91.10.0esr-nb-NO.xpi 529424 BLAKE2B 7d9789d0691e1f832bca084d1d9d9395beb6f2e57828aae714b084a5c2e7e6a27deba7f719f3fd306f9eeb6603126dcac10cbdd5736741b097f0ad5011932467 SHA512 2b83c83f50c95e576587f5382feb5cdc45b4e67c91f9a30a5300b446f2821761ec89cd44fc3abe5f7d5a06e3a29aeb52192d1c1701e52f938a1adab4d6f9fc0a +DIST firefox-91.10.0esr-ne-NP.xpi 485212 BLAKE2B 42cd98de4d28dd84205f1eba61e19c6e31b3b269487bd3e016c80335751b041433e9cc2f7b730dcb79f1e7b355914e752792cd8ad14601f01605c4d107df2c2f SHA512 1b0cc3b3c7c4e474d3de96d47117a362989026a1f3e0e04006e40cf1f68a2ac80c8245fbf1288abbf6f89b26e1a5f63bbd583664a9878dc42aa3e066c9fcfe5e +DIST firefox-91.10.0esr-nl.xpi 537394 BLAKE2B 22ccdff6dac4b1f8f6301e14fc09a4da8696703147c14b79a539e0108127e72bd13fd6b52b0b80d776fd731f225c322e4545b7d300bd844e4af1b6e49b7e289f SHA512 0a61f71240bf59da85709184bb177398b2d750e34fc1aeef33c1cb99328a661fe8e6777104f71264f3bb995abbaf1d34ab2dadce166b92239f01c1d4110cee07 +DIST firefox-91.10.0esr-nn-NO.xpi 531676 BLAKE2B 4cedfcb143b7fdfa6007fe645b4ed80e1275ded862ce3be8cd8df4b3e9ce52a16b8968486275026df2c672c293735d96df28ba378b4939ff7c98ce7fc23aaee0 SHA512 a119bdc76ccaf2e1b90ca16f7b3a5b74592f9cd98e948be68a71049400552672c92d859591dba0b293606e47379233a3a6b6722f52a8c29b76fcaa39a9e1b40b +DIST firefox-91.10.0esr-oc.xpi 552957 BLAKE2B f9c03080c0354177cc9b4878e233171025ec866f2af18aaba6dd3856cd3c3104822ece0220eb21c183a35f19824a8399fe6ada7bc63039452b91e44abc245731 SHA512 db9e5ca3083abd1821f73b989b134f0b318f0a78f3dd1e55efce4a82b996c793671ce2b64550d8030a3c1f0baf3ce714cefad2e70fabb2f144ea4c2416e28a5f +DIST firefox-91.10.0esr-pa-IN.xpi 595976 BLAKE2B 7836497ea23383da342b8645862c22e431bf5e85d3af262fec250d445f91f857a2b048d7661ef638102ff4b01a28892443be6fe1424b510f5934298214ba86cf SHA512 a03e1be488ec30b84fc8413347ce650db6131cf332c0ae99ae7dd3768eab8bfd700f976246406c5d223b82a9792097e6ad3aaabf6ca5ee09e0301d1b533e26c4 +DIST firefox-91.10.0esr-pl.xpi 555623 BLAKE2B c929d2f0eff13607022cdfa0bb0dae0f4987bf3d9ba64f0432087a726a9fca0e59a1b53edd7aa08a350992c2e2ef8d47d8aea802a45ee7a2979fc2a27b4a1944 SHA512 f759ca7cc8dc05fcfd6496b44ccbffd656234fe1a8f70edc19912ef19c503072618a38ad321c7030829046e53a5d704a0d789ba09a043b3549af95fc3ac889ae +DIST firefox-91.10.0esr-pt-BR.xpi 542617 BLAKE2B c852980429bbd5a0cd56aded1183f04173fe1cf94d29c12a952afda844ea6da51b8153b61a2433e67f9ef57ec383b834aa1a116513f8f02d21278d739ddbf5de SHA512 29f85f6f9ce89c1dc1b8f054a40ff4a53b6fc0b13957dd7deccf320e7b65f2bf610bd3a609832e7d2913a0d00860e94ad3d32987e4da83533526a971cfcc2ad6 +DIST firefox-91.10.0esr-pt-PT.xpi 546349 BLAKE2B 7268d2426dbec0b8c53eb8c8279e51cc84ea4811da09b136a1124dfe65c6bb9ab5f667e86572d5cbae6c383b158f1709d3700d1af37deb9d24b8c308bed78457 SHA512 76f1c95ac5d9407d6bd78815beb7266167b7af42a0d8ed141061d6a1d508dfc16e42c4d99dace258ea6f9c5ddc17a5bd15da46638cb19502acb57e85838f885c +DIST firefox-91.10.0esr-rm.xpi 537369 BLAKE2B 4e23362f393a97d8f8a1437ea411b2e56b8ecd2af6464cbfedc0bd07cd2ab7e4bb1a032d4c2d5a09e69b8d30c00f7cbf423b268cfc42239a700ec80f7a738a36 SHA512 463fc248d04d5e711d428dd68dae0cdb17d1d2a20ba445459810210bc92b47ef96bd5d84c0b2f1cdde2c35c10844299fb0b36687ad846eb649abb987641089a3 +DIST firefox-91.10.0esr-ro.xpi 529330 BLAKE2B f03f9fd463c4d57ffde72f3e02c550f74aa3ee8f5b7e15a62d5ec470b7a040beabc7a0599a993972e83c2b21d81fbf322a57d901fa49c2135ac0d3e4a88ee8f1 SHA512 90df5f6c393291e3d207753f704e83d0ae47419c0d9cda853ed2d4079c4eddb6e75f33658d75845de41c832687527fb25701e3577f8f63b16c8555c5a3c543d1 +DIST firefox-91.10.0esr-ru.xpi 627127 BLAKE2B 5538f1672d0424fccc7922b7879a752a8adef19142793b0b0bf7cdc87b8b472803c9d4a1938d2d6f26bbfd67bf2d40a49a97f8dd66205aa8ea2e32ff6e516fed SHA512 e407befe1f4d84cd84efe3ce038b18395673dbe32b2a22abc2a560abad4450fab7ac8e3a4171f3957f140d9de553c47220f61d97da0af1db2b19cbf2463c36c6 +DIST firefox-91.10.0esr-sco.xpi 504856 BLAKE2B 918f8080595b7d2f62789ede959ce59e117ed228ceb5e35936b7b8f80aaf21bcef914c378408d33f2a1f1f215e191d61033643ce5d027eb69d0f9fc4de02976f SHA512 b8baaf5425aafbce321a5ce175cb1a141a628be283b6be2dd4c5d933efff2a0e58a2410c9ca55459079169d069b3ed63a3c44cb0f82952b2f87e96b08a75d53a +DIST firefox-91.10.0esr-si.xpi 487949 BLAKE2B d11ad761530848646bb99fe9bbd5dd78d898eb705a5abc22709038e879f1666610eee9e52f1a095d62ba3ba7bc7a4bb2caba8124c52fa247e4fc1f6869b718aa SHA512 20f4211db6233dadc5d8ef1e27d74ef097531fbfa8fd9ba75976b96f6cfde5f1b7d68aee51a78bdfd672448f77fbfbd203d99f657a8bdf0513f09f7387caefb6 +DIST firefox-91.10.0esr-sk.xpi 566488 BLAKE2B f33c4bdb576ef40cc68238ab25bef7b2e46d870ea03b385424c52a0e689c0c6063d46b19251e8d970acc40036cc0ce7fedd0b4c79c5f164e366d9e3ebf9cb8b4 SHA512 c5daa178effe571c9012585ea2a756aa60352f6fc37cfabf6f4c006324088196240617c477c66e7b150302a328a1cbf4dda8d967a85bbaa2a1d363113deb0b07 +DIST firefox-91.10.0esr-sl.xpi 538008 BLAKE2B bac0d9dabfaa7429887b1fdbce2dfc7c1c4c5f10d0c0356bd58fee97241d0c07a9add16a872f0edd8b119219a479227b6ad4936a0cea315981b4be13f8eb0684 SHA512 ed831f02eec0240b820ec89a58d9929b8b43774d8cc8ab01a8f7206ad116f1358c5e1bf4ad6027c304bf6f9053987defce77f9050c307a8e55fe61dd26f98ad3 +DIST firefox-91.10.0esr-son.xpi 425996 BLAKE2B ac14015172aa89805cf23b76d47dc2cc19a70a51ffb60d18f65573ae146ae073c311402f9907bf45c9bc105ad5a03998254626edf2b5f82f977d3cd990d6e0e3 SHA512 62d56c60556cf52b48ce8803201d67aca68bd00ad9ddefb679bab0c3d15fc0f5aa6fa993b19a6cf208bb1036ef9969554bf3bd048a5ec852411d4a22beeb68aa +DIST firefox-91.10.0esr-sq.xpi 555999 BLAKE2B 5596fdc11f8264bc3389e061dc3c453f817e039d5e8d287348c241673be04f2ddca87856ca9dcef675e7c27ab27cf2c5b9a40ade3ab86a38845d3f1749ed5553 SHA512 22346d1542560ab20ae77d749373d57b85049a28bd93b014649bb0997e7eec09ea85272bb8b108193adf339d07ae5c10b77789377e6277a40a624c5eec458670 +DIST firefox-91.10.0esr-sr.xpi 586079 BLAKE2B c0f1fb33eb99eaef830e28957cbb9185010569d075746fa15987793d8cf0a8b72974c81c71e939198fd5060aa2b9e8455f70c222276d9ac9c584a2a44f7ccbd1 SHA512 54c0d3fd2d75c1f5b8828a8bb3be0e0bbbf9ca8f0819f6442ca1250f168b4e525a9c4b15ded0f7c6681b7efc05303045b95ffd566297b7cceb345d5371fd8281 +DIST firefox-91.10.0esr-sv-SE.xpi 539962 BLAKE2B f05aab4ac50b4d128a3e3d676561b2ffc4876d7ddf43acc5fe13fa50e139bf0c3c89cb1a03a44d3fdc982963edc0d112702a192c29092b455dadf19a85485873 SHA512 1ad2d48a46c1578578e05e96955bc63626398bc7df2a4e4c406feacbd86980e0d5aedcec0537bd64872f27beefca8fd0632aa16cd66a0f338b74ab347b68ecc8 +DIST firefox-91.10.0esr-szl.xpi 509818 BLAKE2B a05df7124139800848263aa4b6d7547999e6fd68e24f70b68b942d07acbf253146f9db6af0202cfc18716f64237ce49458e472e8dac3d2b59cf5e3963bdb8bcd SHA512 3de6c75ffcd2184bd1e118783be17681895830f21f44a63faac958ad7c444da0ec19003605985d1114dcae2dc99fb84f9fc2392f9fdbebe79d5eb835f59f7ae9 +DIST firefox-91.10.0esr-ta.xpi 513809 BLAKE2B c13ea87e1f8ad3bd5e92b09b94b3c26d91c237b3f3a847fa127e8b171bb8c63afebb6ec8562d6588c4dcaf6b638cfa63ed7b7e197439f34861067c85290380d8 SHA512 79d09633816544db1c0f4c0bb999d3289f81e66d85b1bdacdb300a94c4fb5a7f5f9e190590b3772fc3d16171adb9ee77fd63f76865e4cfe3f1ac81b905d915d7 +DIST firefox-91.10.0esr-te.xpi 549964 BLAKE2B 91c56e1b067946ef3b1336aa27a7944b05300178c24e3c187cfefebadef689cc6f3da22cfed31642fa37536c8c0912866b43085c9ffdadef394ac40100c6c55d SHA512 7da11fe8f0b3b9b8e782aeaab7a998bc48021cf7543416b504177ac233316ee1189c96dcace90efce10818dfc32333fdf6ee51f9087280466d894bce7b673127 +DIST firefox-91.10.0esr-th.xpi 607065 BLAKE2B b4807351a42c84636907e4276f42933dfd76f61ea3f77b92c9dc490b841979155d2d3e0a3f875a23a6b492015a309cfeacc16f344120608541aff8787089f6b7 SHA512 dc16436057526ff39b5311151a0648c2dfdc553a46f4170fcd47efb6081cadbc52970d640299ae8cebb34d5be1eb3ca96c98e8572f23e77ee7201b6a98e03b71 +DIST firefox-91.10.0esr-tl.xpi 516115 BLAKE2B 9e7f0d17cbc8a683ec3556e587dc7c3415957c539b37bf86cc86af0741e8cde9c8ba3ab5c584bb9b86d3c0ebb422310da34c4011551568735c71b12d897f5f4b SHA512 cf8bbcf5906d3569238b47144b0c36e284aa5aa526619afb2a45c9e839dd231c42e474412eca2122d564ee2a3841b3eba28d277f646a4a7462978b078cea8fdf +DIST firefox-91.10.0esr-tr.xpi 553675 BLAKE2B d4ae8769dd08ef5c86b39f3ad2f5a711a71903f4c2ecb96c32863127bdc2d79947cb4e832454bd64e28b0a5e3de6b5a11473979f80f0a378ed4e7de5da52f471 SHA512 a6178148997efdf1aa0f7410c6bdb0fe99808d015adfc315bdae1daace68f651359d3170a8410bba0cf5c4b9c85cb15dd9becc628147106186d449d03d66b09f +DIST firefox-91.10.0esr-trs.xpi 491082 BLAKE2B 4332598be9881a13d1a4a8fcd121e9ae9e762c4d2fcae5d62868266f94f7cccf78f6ce011199f436eb82257ef9f7b512d37312741afd6c2bb020990720b487a9 SHA512 710bb1f6714a1a79884dc5522b4a7d465fb8bc4f4b8c6aa4458a34a96c5b3b23e482744517e7fca53702dadf5fd8635abc18397e86807aff6127f895229e7353 +DIST firefox-91.10.0esr-uk.xpi 620497 BLAKE2B 93e49ee14ffd918f5ddb0d42914d7d5f7a63653828e1f3cb50a7594af76283c0b4f49e3c6d789ae7cc5d8211c585237068afc5d95346cf0e7e0db9d9cf1e1ddb SHA512 e75619fbdf6f71715d66a0e7c5acc6e396bf2426606c33eb94281215e71a6c92249ab2615c376c767c02952a20e3afba219883901a3c09eb49416fe59ca3b77b +DIST firefox-91.10.0esr-ur.xpi 557310 BLAKE2B 88f34a65e6bbdd0fde5590fa708b823bf37ad7fcf864e0eac8f8dbeca98894896f810c96280b3e2b3a097ad0976dabba2de37aa2213284976295274d6528fe08 SHA512 819ebc0c9d45657ca9ea9768e100025962c2cec73a7e1cfcff64b3bcc0901bcb6863a8bdd4d30a3775d13527bbbc83ed3885bbec05c38ee40f8f3c0d1681787b +DIST firefox-91.10.0esr-uz.xpi 466868 BLAKE2B 1a673ea378f0f99c9d25bb79a6ac1319aafa04285a2d54840b2d5e6114ecb70979927d0dd840be105766d8e60aa868ab7e35aef8821911af1e52c76f4ac3b9fd SHA512 aec723d51354d7be14788d4d2c375aa033f561b5fe4d7ed964bccb45abcd6d5d0f84a8973c80b7605128eccd3c53a0550917fac93966c80f691dded02ce5ecff +DIST firefox-91.10.0esr-vi.xpi 573482 BLAKE2B 9a355ab145b72a05b40cd55babdb23c290f9c07fe2af3cc1ac2c1ef498538754adad5e23379f8c5f12d3ad038fbcb7df50f8b15ebba99a5d046d569e33d2afbd SHA512 332f1c254909e8241b45600485ae43e934a89e74a0d5325146245533ac0b623a011da15f17fdb20cdb83694ae7cfec57f8286c0d4ee7a81e0ec1eec4074b2f86 +DIST firefox-91.10.0esr-xh.xpi 428175 BLAKE2B 40897b955a0f3b54b4b4057a871a5aa60f8f26f61f248313197c9b2bdd4bcd1d3d4f7ce545a4430a7a4c12e302afc6d1ebb40575dc01822ae1d24a232316c1ef SHA512 8cf4d3a8cd525e7d8d349ff6fe2079259014506b9595efea6fcfea3e04c9a58de20d1b10e89b5013d158c9307970bc65c1cce83da0622a6332557fa7c87bd4f9 +DIST firefox-91.10.0esr-zh-CN.xpi 575371 BLAKE2B ab139a8305601c53895eab447643461717f17d350bfb5e1d3aa687e71f7d136555eb7c02405c67e2c675341fa9e0e24217f0cd608e47127cce1b89d5444dc64f SHA512 388b0023ed00752834daba082e81131fe83b8697c42a7b7541ac23fcf3fb369d3fd985bbf30e2530911a71c5755df813cab8f29e9323d84191b3cdbca76210e5 +DIST firefox-91.10.0esr-zh-TW.xpi 576233 BLAKE2B 1afbb5ad4fb00bd4acbe0b71eb53e08a61b4ec38e22706efe2052454bc53b98bd87e5083e6f9b47574b4793a25551ca3f2e44b587586c7fe2c5de5f277de7ade SHA512 5422dddbc5d7ad54088a9258d5fd0a3a15d7b15dbac5080d7a897539d9dfb6fab258a0d76abceda87c123f66211649fd384bb249405af9e8099a3b7c12cf20c5 +DIST firefox-91.10.0esr.source.tar.xz 380454768 BLAKE2B a28103041af99732545dcf5ff0c6ea999252f7006602b9f74c388afadb32f98927ec10fb1f5ff30029c18a0f7d26dd27584f4d129de6671d6728a49ade07b451 SHA512 8344b829d7bd86250afdd4cb582e27ed5705b3ef48aec50b9a39abc17deba86c9fd721f4667f5c2155e3d7cd1d6e1f82ff8e218ced3a16a4e06bb414ee0690f8 DIST firefox-91.9.0esr-ach.xpi 453213 BLAKE2B 6ad8fb45ebed65b82ca407ca81e1a32cfae6da2dc93b7c06746f47829b4434a7fa41db3e8b0b307cc65e141485b3164595bed8df12b9ececaf86c251514203db SHA512 6886cbfcaf422a853811f56077a6b29c432bfa34fdc3768e62dde52d477ce99dedda2aba542e2813343b547b350b8d39d32784e496f8d18a02f9fa0954fcc470 DIST firefox-91.9.0esr-af.xpi 426927 BLAKE2B 5375b04882b53a6ce1828a01a565d49ba02ceb076b89b8a64ff93f07573ebf3594db7ecae373b550496532a61ad2b4bcf62d2854278b517641c8b052cf8c8009 SHA512 7c374825faa131baa771bc4aa836656b1e456dd862db0d9fb52f13206c43f1162de30a0192ca023f0dc1ed98ad351a921917a6ad56ebffa4cfa3643b8210a478 DIST firefox-91.9.0esr-an.xpi 499888 BLAKE2B f16f44afb6ae2d766a56e5eaa632c07616f0a4c6160625ac2013a0db8180fd8f83cf99d6291cf9d1458326b0dc155a992293682c05d790677f851f5a7d6fb910 SHA512 39069d165df48dea9047dc25dbc2ef8fd2f31249b487638f0769680da4d0a3841fa9bedfc23cdb7f4d563408914c052f388825f331b3a5104169bd79a1c49691 @@ -393,3 +491,4 @@ DIST firefox-91.9.1esr-zh-CN.xpi 575374 BLAKE2B 648216d3c14cd32f083eff3e14dc9003 DIST firefox-91.9.1esr-zh-TW.xpi 576234 BLAKE2B 99295f79be73b1b50043e995c44848443a3c4d0441b1703c5c1821eb7c3d9c1f7deda75ffdef2cab4f6aca21dcf93ece6fd91356c26b9e9b87df4c65622dbf6c SHA512 96d15cd33e0a0d0b31c6a2b552f2295cbbf7aea2a74d704c4940149bee16fd94d99cb72e9cfc9555f439760aa86d02801f3d9953a9814110bc14a4d0af4205f1 DIST firefox-91.9.1esr.source.tar.xz 378762560 BLAKE2B 6a29d262396ec63718d4569f37f14f496c46530a3997e05c41c69163e65f2deb382b983cac7adbd2246be9922a644af03a927328cb424bb1e138e87f49208b5d SHA512 d432d559f2c5f4b0bc66a755db7d61585e24a727cd8d18630854b3fb8633d54baf61ed65b580345b13d52b66288aa15ca8ca5cfcde8231e88108241f0b007683 DIST firefox-91esr-patches-06j.tar.xz 17668 BLAKE2B ebe51e06197b70b0f0661724e1ccf2f2aaf0e0eb4576e795963c6a0f9c32f293825b8d2a487dcadd8e5e1cb5db7c756016c50f34e6bc6df451b44e54ef76686e SHA512 3af533a49c5e4a6fdb5be2225256655d402055332ba98f3aa159fcc78c4a9901a541b63d68cb02440f55ede04858388881118f655efebc75b18c316e0ab522a7 +DIST firefox-91esr-patches-07j.tar.xz 18900 BLAKE2B ace76bc00c3053e60c39186e460b0b422a24bb3393091324470045707dc18c631c41d5d4e61b67dca6dc2e881b7dcffce256f5b897766f994ad46b23df96b77a SHA512 2fca4a5fec8fb79541b9dddec5a632a9a88fca845cac15aa963ab686eb80e8e5ad23186166f97ed88327e6c5bd7bae6178b32760f26d560c0b685ef3b3f638f4 diff --git a/www-client/firefox/firefox-91.10.0.ebuild b/www-client/firefox/firefox-91.10.0.ebuild new file mode 100644 index 000000000000..96aab564c030 --- /dev/null +++ b/www-client/firefox/firefox-91.10.0.ebuild @@ -0,0 +1,1244 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +FIREFOX_PATCHSET="firefox-91esr-patches-07j.tar.xz" + +LLVM_MAX_SLOT=14 + +PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="pgo" + +MOZ_ESR=yes + +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,polynomial-c,whissi}/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="esr" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" + +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" +IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png +system-webp" +IUSE+=" wayland wifi" + +# Firefox-only IUSE +IUSE+=" geckodriver" +IUSE+=" +gmp-autoupdate" +IUSE+=" screencast" + +REQUIRED_USE="debug? ( !system-av1 ) + pgo? ( lto ) + wifi? ( dbus )" + +# Firefox-only REQUIRED_USE flags +REQUIRED_USE+=" screencast? ( wayland )" + +BDEPEND="${PYTHON_DEPS} + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.19.0 + >=net-libs/nodejs-10.23.1 + virtual/pkgconfig + >=virtual/rust-1.51.0 + || ( + ( + sys-devel/clang:14 + sys-devel/llvm:14 + clang? ( + =sys-devel/lld-14* + pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] ) + sys-devel/clang:14 + ) + ) + ( + sys-devel/clang:13 + sys-devel/llvm:13 + clang? ( + =sys-devel/lld-13* + pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] ) + ) + ) + ( + sys-devel/clang:12 + sys-devel/llvm:12 + clang? ( + =sys-devel/lld-12* + pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] ) + ) + ) + ) + amd64? ( >=dev-lang/nasm-2.13 ) + x86? ( >=dev-lang/nasm-2.13 )" + +COMMON_DEPEND=" + >=dev-libs/nss-3.68 + >=dev-libs/nspr-4.32 + dev-libs/atk + dev-libs/expat + >=x11-libs/cairo-1.10[X] + >=x11-libs/gtk+-3.4.0:3[X] + x11-libs/gdk-pixbuf + >=x11-libs/pango-1.22.0 + >=media-libs/mesa-10.2:* + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) ) + virtual/freedesktop-icon-theme + >=x11-libs/pixman-0.19.2 + >=dev-libs/glib-2.26:2 + >=sys-libs/zlib-1.2.3 + >=dev-libs/libffi-3.0.10:= + media-video/ffmpeg + x11-libs/libX11 + x11-libs/libxcb:= + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrender + x11-libs/libXt + dbus? ( + sys-apps/dbus + dev-libs/dbus-glib + ) + screencast? ( media-video/pipewire:= ) + system-av1? ( + >=media-libs/dav1d-0.8.1:= + >=media-libs/libaom-1.0.0:= + ) + system-harfbuzz? ( + >=media-libs/harfbuzz-2.8.1:0= + >=media-gfx/graphite2-1.3.13 + ) + system-icu? ( >=dev-libs/icu-69.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) + system-libevent? ( >=dev-libs/libevent-2.0: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= ) + wifi? ( + kernel_linux? ( + sys-apps/dbus + dev-libs/dbus-glib + net-misc/networkmanager + ) + ) + jack? ( virtual/jack ) + selinux? ( sec-policy/selinux-mozilla ) + sndio? ( media-sound/sndio )" + +RDEPEND="${COMMON_DEPEND} + !www-client/firefox:0 + !www-client/firefox:rapid + jack? ( virtual/jack ) + openh264? ( media-libs/openh264:*[plugin] ) + pulseaudio? ( + || ( + media-sound/pulseaudio + >=media-sound/apulse-0.1.12-r4 + ) + ) + selinux? ( sec-policy/selinux-mozilla )" + +DEPEND="${COMMON_DEPEND} + x11-libs/libICE + x11-libs/libSM + pulseaudio? ( + || ( + media-sound/pulseaudio + >=media-sound/apulse-0.1.12-r4[sdk] + ) + ) + wayland? ( >=x11-libs/gtk+-3.11:3[wayland] ) + amd64? ( virtual/opengl ) + x86? ( virtual/opengl )" + +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 use pgo ; then + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* 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}" +} + +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="6400M" + 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 + + if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \ + && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then + # bug 792705 + eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)." + die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}." + 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 + # Allow access to GPU during PGO run + local ati_cards mesa_cards nvidia_cards render_cards + shopt -s nullglob + + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g') + if [[ -n "${ati_cards}" ]] ; then + addpredict "${ati_cards}" + fi + + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g') + if [[ -n "${mesa_cards}" ]] ; then + addpredict "${mesa_cards}" + fi + + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g') + if [[ -n "${nvidia_cards}" ]] ; then + addpredict "${nvidia_cards}" + fi + + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g') + if [[ -n "${render_cards}" ]] ; then + addpredict "${render_cards}" + fi + + shopt -u nullglob + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if use lto; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + if use system-av1 && has_version "<media-libs/dav1d-1.0.0"; then + rm -v "${WORKDIR}"/firefox-patches/0033-bgo-835788-dav1d-1.0.0-support.patch || die + elog "<media-libs/dav1d-1.0.0 detected, removing 1.0.0 compat patch." + elif ! use system-av1; then + rm -v "${WORKDIR}"/firefox-patches/0033-bgo-835788-dav1d-1.0.0-support.patch || die + elog "-system-av1 USE flag detected, removing 1.0.0 compat patch." + fi + + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Make LTO respect MAKEOPTS + sed -i \ + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure \ + || die "sed failed to set num_cores" + + # Make ICU respect MAKEOPTS + sed -i \ + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/intl/icu_sources_data.py \ + || die "sed failed to set num_cores" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \ + || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py \ + || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clearing checksums where we have applied patches + moz_clear_vendor_checksums target-lexicon-0.9.0 + + # 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 && ! tc-is-clang ; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + have_switched_compiler=yes + 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 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + tc-export CC CXX LD AR 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-install-strip \ + --disable-strip \ + --disable-updater \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --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 + + 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 system-libevent "${ESYSROOT}/usr" + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + + 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 + + mozconfig_use_enable jack + + mozconfig_use_enable pulseaudio + # force the deprecated alsa sound code if pulseaudio is disabled + if use kernel_linux && ! use pulseaudio ; then + mozconfig_add_options_ac '-pulseaudio' --enable-alsa + fi + + mozconfig_use_enable sndio + + mozconfig_use_enable wifi necko-wifi + + if use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland + else + mozconfig_add_options_ac '' --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 + # ld.gold is known to fail: + # /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld.gold: internal error in set_xindex, at /var/tmp/portage/sys-devel/binutils-2.37_p1-r1/work/binutils-2.37/gold/object.h:1050 + + # 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 tc-ld-is-gold || 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 MACH_USE_SYSTEM_PYTHON=1 + export PIP_NO_CACHE_DIR=off + + # 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 + virtx_cmd=virtx + + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + fi + + local -x GDK_BACKEND=x11 + + ${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 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + 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 +}
