summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonas Niilola <juippis@gentoo.org>2022-05-31 21:12:24 +0300
committerJoonas Niilola <juippis@gentoo.org>2022-05-31 21:12:24 +0300
commit520a4ac06b9830c368ca333165072af7c970e1d8 (patch)
tree41f0f7e5e2c4a24f822b21151837477feb5d5144 /www-client
parentnet-libs/libnma: Drop ~alpha keywords (diff)
downloadgentoo-520a4ac06b9830c368ca333165072af7c970e1d8.tar.gz
gentoo-520a4ac06b9830c368ca333165072af7c970e1d8.tar.bz2
gentoo-520a4ac06b9830c368ca333165072af7c970e1d8.zip
www-client/firefox: add 101.0
- bump EAPI to 8, - rebase a lot of our patches in patchset, - wayland-only build looks _possible_ in this release, but libwebrtc still depends on X11 so more work is required to reach that full-wayland goal, as webrtc seems more important when serving majority of the users. There's supposed to be a way to --disable-webrtc (not quite so simple though) so a _concept_ ebuild may be pushed later as package.masked. Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'www-client')
-rw-r--r--www-client/firefox/Manifest99
-rw-r--r--www-client/firefox/firefox-101.0.ebuild1266
2 files changed, 1365 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index f975aab4dc57..8db5259c58df 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -97,6 +97,105 @@ DIST firefox-100.0.2-xh.xpi 419501 BLAKE2B 0a8e51da7fee1c844cbc5304d31d0bc260970
DIST firefox-100.0.2-zh-CN.xpi 580540 BLAKE2B d77af0550b7d5cd561357bfd263680b1ac7ea58f3de14f17e6be712b9eb4979695601d9fabd1f7724acb45263410ec8c0b8f0088fffd27199bb2afad75319bb4 SHA512 ca868ca64d0acf5f0ebb9fbdcad25a3935d3ba7156b0d05b86779a8a21f45d42a74ad6cc9a176d96bd7e38b554e02ecd987d9b1c4e9fc3a4149c4eb3e45df54e
DIST firefox-100.0.2-zh-TW.xpi 581632 BLAKE2B dd203ff1f4ecdb53ec6f85c03668647b839ba16edb1b06b68ce0677e8f6756b033efeb4c2b9ffc794148dc8dcd8175c5c5d2d657cc13db3ef36940a2a4885519 SHA512 26e737abf949f171a4f03d8bd16dfb6422e89f7f177e40db5f49d03d1b41638580d3e2dc1ed72d857b4c9ba322f88206a25da43ae1c0b5b59543bb42c73da301
DIST firefox-100.0.2.source.tar.xz 482708576 BLAKE2B 2edfe7ac3f568dc124e6e733fe8cfa554acdf0cb0aa456cab601be0637bbeea1b1b48a4069440a4075c17a7db3a683d554197f1369e614e33af02cdcd39888ba SHA512 6d9922e35e496fa63833ba03d1466e075287e40e50854ddc4f4a2036d9c7ca1f35c03bc6f708a3c469e0ec3b389b3346ac754bb84df0fecb86955fc21c05e00f
+DIST firefox-101-patches-01j.tar.xz 17516 BLAKE2B 1d222df49f8c97d71e07acbe1427351961425508af86d9df440e9a78026edacb638f1ac8e49bc93733aeffb68a270a7bf2e7f1758c285d682fbc6e8910f162cb SHA512 f7e59b67761caf60e6d37134a72d7d71bf9376a5ef9149fb83d59ddb227601a78b63685051ff634cfa17f49f5d77eba49f8ca6f9bb635fe97a4acbe8eb07177f
+DIST firefox-101.0-ach.xpi 443451 BLAKE2B a8da480ce7f4d677a3b432708376aa1ef3cb302b9e944605bf52708b723ff3778024683461789b83b292fe77965a5f9e45995cc354b5c3ab68f2ac1c14da11c3 SHA512 7f9778d872043a80fb357503a76b78cb9de821214bf66374f9f3cbe079dc5ada99b32c98cef76853657fd1db937ab3b1d28d499de1d304364cd7db3c8dd94863
+DIST firefox-101.0-af.xpi 413388 BLAKE2B 600f6091343ea59bc68d5c9352b75d560055530ffbb241c916d86ee3e8a9db6eabcd64743999a8de3fd3f4e0984addbfdcd341c1d97b6b0fedb8873acc1490fa SHA512 64c66a654efda3c9d9c44ba44014570285cf14aa4fa6c08c4d2f89aa27c7854fb43694445ff5f9362e2260453ca9789798af3424f56e500fc542bf514046b3df
+DIST firefox-101.0-an.xpi 487253 BLAKE2B 32938686d11e0fd7b4083b67929fa2274f8c7685871d6ad91898b6b310622c42f4e0fd732dffe50878fb874a473178826daf3e42000c916615e0159aeae4bdd4 SHA512 b32e0768865643a58e7b86fc8839e08d982463311741931b01592992cb3fb512caa28080434cf22fc8dcf2be8f8d9af76168efdda31cc002016cde46710a8102
+DIST firefox-101.0-ar.xpi 552747 BLAKE2B 1f03d743f69d1eff3e3e7f6a41401ffc3f71e28ca1e9a5bbe36ccf5186d81634853b8c94efe279c194120bdd1877f300eab88dc1017016f3087d0406147ba888 SHA512 99ca01d57559b545205f9ffa365b0c76a03f0dcd1ac0f2971d1b9d24eb11019efbae51e98718fd4bb80592d33c20181c8ac0c6531729796ab1ec08c53580974e
+DIST firefox-101.0-ast.xpi 485918 BLAKE2B b82518cc25bb583b53647b246c1ba28aed26e0231b44ff5a6d283c23004b8cf0e7ef51f557a110afe6a44ab6b98dbb42c0afb002707c9f4c4ac81285d8b02527 SHA512 30d91d61e3af8bc960d9a929c63f6dae285589114ab678044e8b04e8805bddaf0468ab4425f5349742353af6a3946c3558b4687a6cf9c7dce776d67e5335d4f3
+DIST firefox-101.0-az.xpi 477262 BLAKE2B d40546b499dd315d1a50370b09ff8ceaaefc3dcfbf43d54c69aefe0e1bcc95393bbb1fd4333c81f7f43d9f51cc5dea715f96215a8c40c4cba8d784d1064f43d4 SHA512 7e467ad180752f910899cfe8995ff8c06fa0d54ff31c11f591d3bff1e6be421ae1d9852d17e60ee5b07f83d3d9d519efdbc5d1c13b22ce4363048dd078d69c7c
+DIST firefox-101.0-be.xpi 614351 BLAKE2B b619a9b47e5bbbf1a4c5ea49043fc88fe2cf53dabf36e38d7798fa459c749a63a4d302d94ed4edbba9502442427a974f931e7462d9ad839f570d6552cbe6e9ef SHA512 0bb62a22a23e004d7443f1445071f5d979aceff9f8210154f3b1d00ea8c376b5df97c120a3d0bf1b4087674eaf504d519b260cb2c7be6e9b70d3ab150194f752
+DIST firefox-101.0-bg.xpi 558755 BLAKE2B c38a89eb63ae494b3e02e1c66810877b50fcc5fae530adfea1dbdbcc76b166872946d27b50fbc723a3e637a48f74f64f887ae19b168147515b3e4f4649c7b8b2 SHA512 cdf8c1c73981daf9e16663d216d119d8873b7b9588537b45efeb6a3d0aa4ec9f0df37d2a22f4ec3bfb6c363760b48dc8b8803e77dc9c46ad72d4e497273e4426
+DIST firefox-101.0-bn.xpi 545253 BLAKE2B d9b3b52f4f1615b99ae837d6f993231b580d5991098bd1faeef74bd0ad039cd26cee601fa283217daaa9c0c96841157036011474d605ed812fc00c6d5be39ede SHA512 42c14cd104f5d7de9434a90925f34af5fdde7ad32fadfd580d844d30b85a0e7900fdace915f9ced0b071a39da3ec02edc1b57096b1c98846df729b849ac9dc68
+DIST firefox-101.0-br.xpi 519305 BLAKE2B 72a9b820e80bc6210eea702335244141340ce8cc0dff743715ea21d3ea95e6e8438df86eac9c3be923adf6e058389ebb713f2264345b00098acb117d5ad75c0e SHA512 0b4d8b65b40481a9c6c84d64e31732da1ff415704937af4adff30e26d69a7c1f64400e77dcfc0fd0aec7f6a9198462f0c2f953dcd03e4bc08e5599e918fb798c
+DIST firefox-101.0-bs.xpi 452142 BLAKE2B 06e1c6a694a376ca9423d7eaae7fea51fafb0173579f60ffeb02cd672a22bcae8f2fc0ee0c241f2fa008f567cb41e984ee2af030ead726bf3bdd1a94943babf5 SHA512 a79b9ffda8799eb563190256f2fd2d904bb847630167884b00c3b97bfb113f62af5f7bb244b86ed3f941e16b497f33315a3014aee73d28c27ac40415d5073e1c
+DIST firefox-101.0-ca-valencia.xpi 526502 BLAKE2B 84fdac71f76b829dd7c0cb77d265908ccaec5c356e61fd7ce57d0329bdb728de5269d6eea88ed3df435311b61270aebc48e30bd65a463a69bfcffe6c55d96ae3 SHA512 98b5ca891cde876a08ac016ebfb026240a182681d94eecc6e963afb57289f0df891d76ab739cc0907bcb8b235bf6e1a0cc26fe9e415c538d3e3c1a199203a553
+DIST firefox-101.0-ca.xpi 521443 BLAKE2B 0b6c228fa208805a3bc9d35aa74f74d65789ce275045a8060406cf280d231962c63bcd6ecd2295b54ef218f16b3179de6e90c7d644f9a76eff2a10e0103504b4 SHA512 ad130d0ee829eb1f0f63afe7e8841b0bddb2524e6779abe10786c7295faeb85c43ecd408ac5b2c2b5d329678749eb02927d0f872df39fa0d27cf3a3674a9c3b5
+DIST firefox-101.0-cak.xpi 539972 BLAKE2B b2dd027a82b09c1d37ef5706af416b2833af7080d9cced92014d1d4ee7b2a273eb3188a8236002ab433ff05ab2f103c9a21f39e462f7bcd7a9cd52c8979e4113 SHA512 7b23564847f4021ce92485dc751590cbd9a0f355d3ab3e3b99e14c71c35fb30302b28aec3320f46a1abaee0ba1cd6803bcb9deec6219483b55190853c4e3d8bb
+DIST firefox-101.0-cs.xpi 557463 BLAKE2B 69fee48b4f21fc3fda8a54836f100ed612059a3aef6bc3507f11b87319fc167c9633fbbcd37c5e72bb65d83a119eb820253572179c8cdeef6b17d0fad0e63db1 SHA512 a41f7f51c08b8ea5225e984b6d5e96767bdbfab043555c9a811619467fd2873b81b0fc18533983ef2e0a5b92462f08aa66738f2f074eff91c2dc7a0a67f95b71
+DIST firefox-101.0-cy.xpi 534438 BLAKE2B b3d3fdbf17607ab250c2e0067ddf84a5a14d99e117f485ac2ac94bbe64ab5701c204eb75ff3ddb3752a4ab72255c21b9d5ad244a20926f09d1347c24f29a0d0a SHA512 204e163df222edfd79ad4f78b252c58654a27b4b6d08bbd816fb518b2b332b72d498a2f64f0f78b9d54a8d9fe295e5f027497d3963a22e4457574bf3c33a5b21
+DIST firefox-101.0-da.xpi 526067 BLAKE2B 514fabbb28a83509fb6169fc47cc650fbc917299cfaef485d2b4733d42036f01829fbfbeddad1169958b89e41b9e4993e57e1abc37fd223e4abaab03b4d3f5ea SHA512 9cd61b8806a2ddbfeb5972e9e2c1a19b14bc195226e696e3715e6231799bae656f9151b23660ebafeb87f34e544aec5dda8ec2754d13ceb05cb2627cbd7ad4ba
+DIST firefox-101.0-de.xpi 545583 BLAKE2B 11fd3c5a203a05837023d11617cb48f1c25cf820f84fd5145ab7c0999350b2e0097150eadc52f317c9b802dede774880181a470cba186f6a945625510f10b517 SHA512 c0e84843d4d2086e7d8edd1383c3a469e41a904babb483f1255b20aa1f8fa06161077556fb2a575280e3871a00721cfac2a425e0f0ebabc5c411ec36919e6cc3
+DIST firefox-101.0-dsb.xpi 558343 BLAKE2B 383dd6b6bf5640a8a0d86d33400927cb0498220a25fa030f3c036c899548e882d3168836fd80b251be30ea2c42bd4d12c36d846361ab52f4edbe4cefb2dcd392 SHA512 0dcf236bff118a68e1bfe9d4c12ee9ca435f896e0cd60004510b7f7aa4a49a782254b058d7321531e93c3817d0bbb767173264d6e7199afcb6583b7cfea01095
+DIST firefox-101.0-el.xpi 629451 BLAKE2B 47bca72136eb215119660de431f95e4337c2eb4e7fcdc7607d521052ff1ad2babb34536c4fd9b697c9e44a58f247264a2262c64a72d62c9944a85a50c79a4a9b SHA512 d129d094254bd49606db15c4becd8b054876a4fd8a0bc1fee58d78afd82b577b37a99c1a0066538c008ac8e97b2a201e5c89f3cac44e1302aa14d4cf8b9e4578
+DIST firefox-101.0-en-CA.xpi 502216 BLAKE2B e7e7e77619cd16a44df71eb4a089398f6d8c3c67c187c047539aa5565640d39706b622c29d4f060763e21b47ec60c611b06c4e26ce069109437175ad6bfae06f SHA512 93fa8322890126113a7b2e2cc2031132410c5177a88c305d22796eda0d8a6eda0d79fedd6120294d31387065a4d455e8c59d2be10b51d545889b55a02273018b
+DIST firefox-101.0-en-GB.xpi 503123 BLAKE2B ee3298df0ad894a2fa6c36e9bc523e0148b4d4d452cc110596b1bbd7514d3ca0cb1881864f9609b460a60ee245102ca57a67ca3943658cecdeb36c681f7b5afa SHA512 3f7b9fd39a3f1ebeea813ed282fc0c4706e90ae85c0151a7893a2eb252bcd87a9fa6e2323895a0ff86cfbd5c91f3b58253a3a42a5d0820cec169e4847d1cb84e
+DIST firefox-101.0-eo.xpi 529039 BLAKE2B 5dfb417114a94cec450565f07cf826f983d44d036065431f914c446be1be6f71eb03c601c7bd2911a2e2c4eeb74de2a894e9b381a093f069b6f3b2a8606863ce SHA512 4cd825b63d51276de9cbeaf8cbccc01aa77bbde51fa8bd54b22392a7e6a789dbb1e9b1c6c89ef21c53dd77946d267cbd8e54fd40e411faecc8651fd799a0d250
+DIST firefox-101.0-es-AR.xpi 539061 BLAKE2B fd90770a8c86e9e5a7f92c08be054d5c199c368f9450924d4710c941946649287dd6c6cedc7c604c6223c26bed379b01ac9437aedaae7da35490399dde3aef96 SHA512 0a734c2edefd50e7258c349dea60327a9d85a0cb7c5aca0e8540cb6c72a37d95c0df45201150c2fe98657a6640ff13befdefbf656afc12b6704a336f01c41e52
+DIST firefox-101.0-es-CL.xpi 538158 BLAKE2B 94c9907c642f1348984395918c42ae01f02ed83cdd5f3262df7fea1a8405bc552265aa6a87979e899c21b095f8225810785fbd43482799a1dadd6c3a684c516d SHA512 967df51b39613e7e1509cbcfff8e80f255f5a62fb469be5b7eb90274636394fc497ff47b365f6519c5f53d973bf6d58885434c053a800024eb0cc6f0cf0f1ce5
+DIST firefox-101.0-es-ES.xpi 529110 BLAKE2B 20d701ac74567898d1e520dd9f5fb054ec6782f33e43ce7a447bf51f31e3e38913c9aae6ae508b547f79774210111dbe82bc2cfaffe3563579cbcf620d891050 SHA512 73660d9ce54ad068fac974fbd73a9b3480b75cf4107421f8bdd243bf10604d5c99b428cda4db86657b1038e16240f07f830a62a94517465569132a8aece6d25c
+DIST firefox-101.0-es-MX.xpi 542141 BLAKE2B 9115f9712d304876482d8ad23551da7c3296e4a7ab76da2e709106f6f84c87c586db39623c872e3bdfa37058f50d3b51785eb9ae227343efbf6fa750309e5ae4 SHA512 ff66e388765532e42fb2014912562c01e936284230ae79cfe694853f11dd56cd2bba88c0bdd7fdf8535f54b485978021bfa5443c4a54192f0c9b9d776d436640
+DIST firefox-101.0-et.xpi 520744 BLAKE2B 0a1da1743b9cc13f8a6d35730db8c72c5f6b946dae1784489cba93423de89c5c5e9f0b9918775e6bca921e13f59550edfbf6027f9c404f735deb10c9cc01dad4 SHA512 1fec51670ed198f6317a9034a282fbef4b562ecd82f012094fedbd603450851e7da1aea95394ec6f829b1bf595ccc0b0acfa78615efd8c43cd491b863108b2e7
+DIST firefox-101.0-eu.xpi 527775 BLAKE2B 6c25374754515172f2bb2b9ee5a322500a77ded411fb7ba6e037424627aa88f523f21d58c58be7c452e7b94cd29b1b860d2bd07de6daf6fb4cd2c7bc265fed9e SHA512 c12e36d7c0c1b7fed5bea9c9c651fd52b215b3644327b1f20f8e2f5e2283fd2b858a0445d82848201367cda313497041707e68b587a333aa70486def289fd8d0
+DIST firefox-101.0-fa.xpi 551020 BLAKE2B ce6e197d6502e257149a6e3ded25c730121a5b53e4f2ea799a57f5525fc68bc4a5426fbd752221eeb6041e019ac7af953020d2866751d8f71ace0e0cbc10ab64 SHA512 2d075e404ebaf51c6e90e94414a3e6f8f7e597f562c9a3d35e3eba2aadabee67e8f4e470b96342c62a2ae0bcb0f717f7f52f713e508a66e96eb147ef1ec55540
+DIST firefox-101.0-ff.xpi 461238 BLAKE2B a2d914ebb3465c0cf1a4a93637b7f46ad8bd433e84d3b365899241ab3ceb798b1e610461f61255802f64ed49398e0297f6c73a3463c24e184e97a32b6f0f5c58 SHA512 d57c46117a23077c7423efceaeb2759c4e6a653763fbc093955e43e644af1c4dd5eebf81d733f8a2c766a448fd1075f9e7628c25a3aecc9704c407552319a43d
+DIST firefox-101.0-fi.xpi 523417 BLAKE2B 8b4204e8bdcf7c4a22ff3d87d2930974974441a38cd01badb8706f13a3cbdf5e829b28c0eb17452e7de2afde5a19b204fba3b90f463ddbbbd1151b2651456f43 SHA512 67fbbbedc31ffc2afeb48c11a210914eb0db04a053cd8f22c8eb0b61f95cfd64b5fa12eb01b94a3166af8e61bce3408bfeee5dfef5c8432ea2ac283fcd4a597a
+DIST firefox-101.0-fr.xpi 549196 BLAKE2B 30e31e0737177bcc5f4720fb763ddc4996613388fc45c72cae52e947c612e0d6ba8cceddd54396a1d713207b1117f0daad4b7ef53e8475831149f3c107a3a72f SHA512 b9154a7c44a36da43820f05a41daa8ca048d4f0ff33062c7786eaf9d66090860dedc6c2625ed7eb9d058101fa214ad5ece8beaa1d1e7c4c307890f6976f3044f
+DIST firefox-101.0-fy-NL.xpi 535686 BLAKE2B 5f9023c4b603f79ddc77aded999d24f4ec6288424e54e52877810c1055dc9971994c260ef6ae5a32eb91dd8a2921405e15a77ce15b29a93f9933961a3dc6e8af SHA512 9577f17b8399967b267f9258475b820c7a746a57c891ff4ce2d2158dc921db5b97a4eb2aa05ab3aaff8d744d0c8c9a7b44dcb84490a27949d40ab750317a1872
+DIST firefox-101.0-ga-IE.xpi 461042 BLAKE2B a4f5fa6679bade28a709fffa7108c0b8b92508fa2407a210987b4ac9ab3bc75578074f416d36ca5f0e3b67cdd56e65cefd8061c75dd022cdd97ae3dba8d7744f SHA512 afa9ecae197bafbbfe828799491cdb59175f4112cc95bd83bdc9861a0af6102cb5dd6fcca591da55d7ad344e1fd635b3beb2901bdab5544fe5a2318798b4097f
+DIST firefox-101.0-gd.xpi 520113 BLAKE2B 3da50c2124e1baecb5becfb61706bcaa5767b36bdd26500979733f502b8a4b42169b84a9bb728e4d669aa84b907c79437f22bebe122e8c3c0096c49241363ecc SHA512 1bed2f786499083a800f175ded6c2c79904e308831ab01d200612bee81710f3d4c3e51f8ba9690e56a1c6398d6fdfe5953deefa7a717a6412892b5c7a457c27b
+DIST firefox-101.0-gl.xpi 528662 BLAKE2B 00406056a0dc8959bee183041b011015dc26385f5765ca84207f8ace4b3c65e085582db531e5cdde0ffd4d72c30576146ae87c6c680f64b389560df86f298d13 SHA512 0d34b4c8663a183a3cf7f893916608536dfc6fbcea3760e3a39f6b1463dd8765b8825ec5bd6682d6f5bac413d15bc4154ae5e4ea17d4a829a0cecc0396ccf9c4
+DIST firefox-101.0-gn.xpi 549923 BLAKE2B da6d28840f577122dda184e9ed0e3dd8ea1ceaa9112389096f94c86bb40240c8cb1757e27e714f166c60c42bd59f49005913c7336d068d7561ed2e529f9bf2cf SHA512 2ac991baa03f72eb8bfce058bb5f0f03af020b17105477998dd347a592874e11b7bfb8e780fff01499119960b14e38bd3b7c7c4405ca83cebcede82095016e4b
+DIST firefox-101.0-gu-IN.xpi 516674 BLAKE2B 9de377953491afccb885b98d3bbfa7092cf4a35f590601235c5ecc8e54005763198ee4c8d2406ce7741591f1b28afd30bf5c472becb0ee8aa9fb72d1515ffc28 SHA512 88cefe65db467d39e212feaafaf48d85308a6550a80ca55d6241ef737a708bfa4e3482ccaf76b8703d71f6ee9e281b98d1c320b6c717df367ee7da740afede71
+DIST firefox-101.0-he.xpi 549784 BLAKE2B 9ea2aed63ea80ea67461cb4928d642b323d25df142d2fa29e2ca00c02f032d14b4383c29d023a95622bfcc776d66e800d4ab8a49f6848104f6aaccbddfd32822 SHA512 55f3c19ef737fd800cf5cd6c3f73550bf4e79fddd0ddf3c315db55f0536dc12dd5bf3145ecefa02ad406266f8634a9737fbf0fcc12d36f04c9961f169b8a5f91
+DIST firefox-101.0-hi-IN.xpi 546766 BLAKE2B 0cc503393bfa995c25c4244460579406703f8013b4cc8461ee20ad8d33cb6523c87eb51e0430686686879b664c1115511b145f714926fc8773a167fabe8b9ec3 SHA512 356ff919ec2d8b8130b6972decd6c3e6a36b7db44f3463ca52f06fe25880d604de3645d71f1cca5a9c8848f2d74fcca13c9a7e4531241b0c473314414fa3a918
+DIST firefox-101.0-hr.xpi 519206 BLAKE2B b18e0076896ff4a0e57ca1c0247deafd4cc8b343f16c23add02b7076a5ce7d4db195c5b364ca5d2360e86fffe1bbe4068e607e5920eb4023c7963af52757ef44 SHA512 82a7c87381f7059e49484538c28dd3b8495a3eb554be737ab52130a682aaa1d8be17a75aa1af9af525c0bde132eb8393d12658f4ed41ea0533e4c5795ea61991
+DIST firefox-101.0-hsb.xpi 554536 BLAKE2B 17961c62b928d980d1655978a20f7888a8416f7f254ce0c4b773e0c53dd74ccc3e76e2540e81d8220e803ae498c4757285ce2b3450c363b931baf974cd28c3ae SHA512 eb03e7417b15e6f2e277f3c1d8783cdf3c7ba2f9bb8b501f089e5e436413ab10944a6341eac0a9107e44a72aaa72744bb057300e2a6c5b8149fe889515920320
+DIST firefox-101.0-hu.xpi 557567 BLAKE2B 6c9b68790472eef8add389770c903e17f340f6bfe31bbbc4d31299e3ac6e8d0bf41f0c93415d50cd38d75f456c8a93df00d53ee176287f5dee69f7ac5e7f7373 SHA512 c72b6f0dbd3ec1bddb408760d58fa55efb0daf1a5b822faed0edd965bca3aa4ea4e35bd5c5d9615eba21866c95f80b2879a3200eb01770b5bd27f6d02dd394b4
+DIST firefox-101.0-hy-AM.xpi 568388 BLAKE2B aef23e6ef7ade48e27a6b500dafa9944de546dca378e79d781208c4b8b05d52db9597474dbab60ab045d3bd3b0247137c6d3c255f1c9bf53028cb01117cf440d SHA512 b52ceb93ecc24de924dfa4082130031a44061e01bb291a017ae0e34dc154c0bbe657f590b5f658a779119afd6832fa31e9225b0b29cce7f01a6569098b490ea8
+DIST firefox-101.0-ia.xpi 524532 BLAKE2B 4f4c98b99226f3e6679b81257f25935e6cc5d3cc9db6d36446e7efe38ad8aa427b5f9e2e1033a0a8edeb79503d0d438f5bdb830e5a06c94d9f1fe9141a617932 SHA512 f3f7ae4cd518df04f716af775c910bd83d71bf72daead8fa182436c15a80637046b7dae02632fc834c23761df1c3d3bc3b4c0e8739bacc1b95ccfd4009049591
+DIST firefox-101.0-id.xpi 521946 BLAKE2B b82d9346b19bcc37f3df04b65febe52652fc37f95db9b797054e34512fa5cbaebcba147254e157a69486594792c666ee18c40dadb9237c28bdde29baefedee60 SHA512 cf635bbd66aba2cf8ec02597fb264aa8a840e63cd4d1a94f6b32e398b4bd2fc5d8a52e6111b82ddf37148ca48384c506de2f1bffd57a295b291be45a497c2165
+DIST firefox-101.0-is.xpi 529392 BLAKE2B effe3d917eb0a236be74d5a828f658cf9b785dac99ce2a18e3cfe5d6806b607a9d4edd719fd7191704b4440075d5f7797eef5023a3ad4355d5c7a4e3982e4536 SHA512 e33f666539349207057f8903bcd658168d269845d4986eaf3138395f82a87fe18145bb6586086a5272b4ffebe2edb7fe0c20d8a820e7f28d9260d4385d59dded
+DIST firefox-101.0-it.xpi 454743 BLAKE2B 1f3e6c0c3018c1e7e968d9602b5dc4a6a33ba6e98b5bfad5f02ca432358297d24faf7a73da96569d8b0f8a87941d03644943d2fb0de70aa6e5d4f0e25ac24de3 SHA512 710d48a4ae89097fc6caa9269fd78721b2f2f1bb240a1801bd0e028e307ea8a376b41b7d83d6872cf626536f3ea40f1da98198b7b8392d7e116732da45ff5ccb
+DIST firefox-101.0-ja.xpi 579353 BLAKE2B e8f06f3330ed32c0d2f31a7f65df5502eff9f758d449807a6461ba3550895e0769ae3392631cb1f8b693b12adf4f7b83611f3d54ad4bfde78fe73c95547f6d5e SHA512 2ac284f4bd12cb01a3449819cc497b5ef03f79e7b1ad3b989594008b91876ddbb2c719a5b2bd5d693c019b6397a85d4c92dd856a879f96f1214eace77c6bd75f
+DIST firefox-101.0-ka.xpi 582461 BLAKE2B 6294fa6aa65b031b425846dc4395db0ce0200ba3669b0c4b29eae2050dcd662a0955058abf4dc093e6adaf3f199e5159196fac3c2d8ec99cc84d60806a4958d5 SHA512 938d9b056be547fb548d5b16b4664d9570bb268edd437baf82eae336fcd26b39946379b2d9d279a9bd53c1daf236f48316468748763c41b2a9b5c700df4b6e7b
+DIST firefox-101.0-kab.xpi 543572 BLAKE2B bb37e2f5babcd905fab5f93a6a2a76b729662d23e7424c2b205650ba04ab6c0915bb95c17575b7e1cecee9a2303bee4f6cec1124ae7ec3205f43178382020dc2 SHA512 c2a6178ae1545a5bf6e297dbd5f3981869d080389cad0e5c1598b1395712e294c6f05ada28a3e6db3b82e0f5f044283c35423b22a83ff68dc10ffe483f8e87fe
+DIST firefox-101.0-kk.xpi 605355 BLAKE2B fe0c9d1551a228688fbde61beca8f2da48f91704698b91da1d68483645ad7bb72da55621fd82b483650027e129509f021b63dad072b5c8353215e182ff9f866e SHA512 9840173b52afddce66710b1faf5955567eac6a379c0c400a12a98eccded9753a296efab07feb4934258a39d0b333e4e70968cbf74dbbf13d81567ca72ad1d0f6
+DIST firefox-101.0-km.xpi 520288 BLAKE2B c523bfdb6e3306333f1f016d4dcecf6b53c451dab30344f136a5514684b54b0e6e1c609f645c206c08a8ad09a32358efde73949f71b5bbb2e3de82f120989ba6 SHA512 f26c71bdbd7259a3e7ad8577f931bd9e1fb372d4d72c94e634ee904e7a7e6153d39d5be83163379968e8611f8ccff51a1a8f67f0eb1da7c11a193c365170056e
+DIST firefox-101.0-kn.xpi 486503 BLAKE2B dcbdae74e313e2eff17537a59d529fcb59dc24ad8bd82e469b13a327edd23e18f04b17b0e9bed0e914a4eb9ffc72197cb1f23eeb857456e36941892d23f54142 SHA512 16a39e41169aeddf3835613f98ace4ab9c15acff319415a72ff0cc5377c572c9e29b8d6a29834007fdd81ca57a8d2b573db4f0f2db56f391eb9da624131efc26
+DIST firefox-101.0-ko.xpi 570889 BLAKE2B 91fd0957cf8cfcf0ec8b02700aa1e0d2d9102ef40e038fb0f801272b48b8c6f8fbfbc32be3bb483c3ede2db397be05e10697bdda49f37dd956c73af53cf3c9f0 SHA512 80022dedf5e1ee42d58d3d0c98ad1b22b1e19226eeb04ec279ffbfff74c08c1585f837c9f3c9b3e12ce66350a4748f64c69c8bf942e4b83073e06d988f2dff7e
+DIST firefox-101.0-lij.xpi 459507 BLAKE2B 9d2ee16416f16a6bbf3bf899b5a5f2998ae481c21e089cd6c93a5ac66a50a28029b9385937e991d0fc09fd6d322f086322ab199397ea5d9ed82bf531e10fc99c SHA512 f4b1ddbdcdfe4c2964bbe18751c1943876e10d0e1b7ea3bea50362eb7af91658e26e5426cc70175dd11a19b04a7b8a1ab03eeff7024e69dee6dc765ef875bd0a
+DIST firefox-101.0-lt.xpi 546498 BLAKE2B 3d4fe56f7b5a10e5fa6738bb2f4dd4be8a97686a47676fc1e38012cc1f8f7986fdf1290b468c8f81f6410a820d9c25c5f09ba3db285bcbbfce9acd5d0f3d14ad SHA512 435f40dfc0ea37c036911b2606c7c0089e96e6ed400dac9da2ea50741b0cf659c8c830e4f08d5f3cd4e6bba346a20c5cf6ad00ce648f8566d84b4748f6475fdc
+DIST firefox-101.0-lv.xpi 452391 BLAKE2B f2ab43cc35d08a0b22639dbbf5badb6d8a4e321d4669d814f3890fec8a8340d96ec31ad82131d8c1229a885f5609d323fe55dc6863becb43a303b63dcb243430 SHA512 2e112898920a8532e7c5bee2e0a4f9f68ac85496d41900adf4ab297b9c727654efc0f83e1ab1eb4687137831a3bc76ecc9a2fc185de2ababe105a19691ade046
+DIST firefox-101.0-mk.xpi 463666 BLAKE2B 83d3798a84a39a4a78ff8f96136af21174bc90d4eb1b9b7bb2225d83794fa18cc01c9d7a138925b1cc971cbef1fd164f4f51fc4b39a6bf845fa38a6c1750c935 SHA512 d9066da695d464a40a2011635c8c56f514a74eee6275f11b72135e753d3ce3518172aaa07f1adaef8595c4818f7543b36af909f9f85d22c2dd074d4b7f2c980a
+DIST firefox-101.0-mr.xpi 520141 BLAKE2B 4c699dcb280ab6fee40d65f10ed5cb3783f4cc1c42f7b97235d3d27e40558ead315de6d425711f54c8555c924cdd8baa968db883cc273b990b5987a4bf313797 SHA512 b3c9183998a5019e4faef08a5b47d254540f117d6b83a8934005f2cd7791f515bc06756af1b97d360d2e88f727d14c60bebb966fae61dd6c2b4c3c50912b4d9b
+DIST firefox-101.0-ms.xpi 437570 BLAKE2B ee853b54346cf773c1e84ff71f44996bef70e243eaf3140b83376de192dcc6e08a9d62b4cd5709584758c1145948c2b528e5876b7b83a07e45cfc75192beb609 SHA512 a7d2a339e1fa8a79131e90617b09160a2102b292bae6c90dec096253e15c8673f2dc9dd3e5073072533a4ca4d4c7c376a766705552b073ece979ef9de849db59
+DIST firefox-101.0-my.xpi 503452 BLAKE2B e4aad1813f79a961ca65ea1d36cc3d651be267e47e60fff5c1839c48412c09d5d8762cf05107d5f0b9defa7ba83b7be48dea9436884c048c50738af8209d507a SHA512 be6f53378e41c6d31d45ef9d350e09dba74ee99572d49574ac93c7adf104723e9098125f9cd029e6bfe36facaccd23c67ea8a3315823187c9b3bcb8af9b29d9d
+DIST firefox-101.0-nb-NO.xpi 521734 BLAKE2B 68031e50392de258de2dcb475bb8b413ee314d70d65751f26dfc3615611d9928c143a59122536827b1837ace2d352bbb27f49a10fed30cccf6adcfc0c96d4691 SHA512 089bd0b3fd1cd8ff4a89a812f1aa8ff525545029941429aaa4c2a9b19ccf23a8bd3b4a7ed4e81ab3fafde5f86cd868574a538d5cbc5698429874a2888c0d6ce3
+DIST firefox-101.0-ne-NP.xpi 478317 BLAKE2B a1b8cf240226e82e803add6b1e38aec51633ec05497597643f89b77248a590230bbe1b9df758a80454c71727f3b2bc6022d78e9040446860977ca623c08eaeaf SHA512 15d0ef53511cc6b6ab164d2893e0925ced94ef82034bf4356d4fb58739ffbe54f885f6dcac00d6bd03e4de1eb115c19d22e48322edd2cfb06aa6ae59656dcf15
+DIST firefox-101.0-nl.xpi 529647 BLAKE2B 3ebaebbf938d143923a4cdd295dd3ec9e67ca3a394605283c194e466455d8a77a60c4badedefe27c95ccf2837297ab9308f005a05474248f755ed3422fc16e94 SHA512 aea4c9dfadb14839853c058dea437d5e1450ef535b2cd0b27b1896b6d33ecbf440b6569ad8f937129e6d6fc8a080ef06d699e8d090d7860c440a9df112d794cf
+DIST firefox-101.0-nn-NO.xpi 523770 BLAKE2B a01b26149a31957d409aee147a2ef9e8c37f0993c0647b7fb7f4040cab479811ca3f22d566c76eca0883eacc96194f47977593fc9abc41e890fc0d8dd22f75d0 SHA512 133f010b3d77bd6b41570173b8fb67b817124a17e311613a4b9c4d4a5e4ba3a6229e0a589a626cf65312255f3a49b93644484a398cc62b0fc70b935a90876c26
+DIST firefox-101.0-oc.xpi 544433 BLAKE2B 4964ad4464624d753309f167410a457db6c6c1696fd597b1f602953980e4340d662c9304cbf93487be52e89cfe58d1e0c6fd51ddef8801d58f9edad2e2c5cc22 SHA512 f7d7893511d39e3b5d694542840841b2758706eaf6c752a33759795e8abc35e3f6f6ba7834631567d0ec80f4d77955d126d128d818274e2a71bdfdbf22a8a4f0
+DIST firefox-101.0-pa-IN.xpi 592170 BLAKE2B 591cb7ffb3bf254ff1385b0e7409434797a922816c8db00bdd36e147ca857f11e3e8fd68a1cbf30f2fa2a68ef2923e916b510514d50aeb503a0ca3686bd6d77e SHA512 0b239e4bdaf749c5d5bee66f21053009ab40e2740d28bebe9f14afe934bbea69dbe8932d487da8dde1a03c62606ac73f095e629cbd9564a28f1be0db631509cc
+DIST firefox-101.0-pl.xpi 549645 BLAKE2B 40a32775fb12c07bdb6421d5fc8848c86c6ff941428237a1c3edd6f000cb1273177425c028db313b2bda437a83cbaf5bb287a7096545670251be5a6aee0cef70 SHA512 7abefd4588e656128b2dce4299506fe9696b37c460d75e83182e8cc9a72588846c45997ef429fcd14b4db508dd1d306f83d49c8ab52c18b617b89d25d3128790
+DIST firefox-101.0-pt-BR.xpi 535131 BLAKE2B 97b3de0029623dc7689f9bd4b2c6d8dd73aadc8cb94a52d48838d45bec4df8cca22154c8a6b3620d51835962d2f047bb55203a9a799a61f1738b29a54512aa45 SHA512 ebf46292bc68f9a7e674a7206ccac9a872d0b116b9a66c5cb2c9ff05136670c78c89ff2c82909805d5bbe27fc4671a831c530a468702843eeb36d123cd2accda
+DIST firefox-101.0-pt-PT.xpi 538683 BLAKE2B e2ba38821eb8f2761726428832c09706b1e73052a5bac3619ff604a2fb08049ac313d8ad578346a4e1131243fd890deb5d826f9874b6e122f87aebc146cdaf54 SHA512 57d649a6dfb7bb70556edcfed18182019e7311b91038d4a9cce1f07b7666f3dcf9c4de1728377539132a78aa493173ba8e080335f7d13823a77afee434dab059
+DIST firefox-101.0-rm.xpi 528619 BLAKE2B 149127164d57540b38a3b129812eab08d33f48cbe9d74032591a820999f8be4d78d31ca11ea72e9ebdc4852aecede621caaf559ad2180b7b6819554d4fb2f8a7 SHA512 5bf40fba66a28a6bec911b9836bc33bf0ced89016ed3feaab400238e81c63ea2ae0ce6e2fb2e16fec110cdf1c56ac0fdc0886a94a65494d1dd5b631581246448
+DIST firefox-101.0-ro.xpi 516076 BLAKE2B 5a7f4d2782301415a08c2a56b975aaf8b761ff615e73e4f66aa28fd91678c93dfa229037fcb86768486302cc3b73240df10671e7b321fc13f2478cd3141eb8d8 SHA512 785ab5e472548146a386acd27f68be24728401f63c9a2ce98c3f88b156f3e940c2888dc506e408aa760a9f1fcc846c5abb75ffe0de26c8138b268a779986bad3
+DIST firefox-101.0-ru.xpi 617781 BLAKE2B b340f626a1da5fb27ef17c336eab0a9ab9ca6f241a9d240de728549d09ba46ee18d9aecd8ee5a50b17ea3ec5d41cd67391b5110c44663ee391231723eced2823 SHA512 fa2a0f9b5442888ee7af3edca5744404e64ebca32133b2be178712465819f35885e47a22327a4edf9b7be5bb5b6cb6d5f82391368d40347ea5f5a4e714d31426
+DIST firefox-101.0-sco.xpi 490267 BLAKE2B d3eaf068abd4aafe63ced25b71f66f7bb1a9339f6566acd507b16ec5204146daa0d4075665eeb64b5927d9afc2816c15b180db3e99f3369a520b8edcd0ef41e8 SHA512 f87716df8d21310bd4a5d693390f8c12881e6fd71dc0c1028ba9fd4deb3f049f704c1b869b1fb8868f05fc407ff6b326877dd637bc3fd19a4959c7a3ade4e744
+DIST firefox-101.0-si.xpi 476127 BLAKE2B b0d6957490ddee4dd7ab1675550e8767d298feb38410c69ac5084a9e8c7741fa294a21a65628c2de629627f210e33ba6eecbae6498a5e78beb5c8276a75b0668 SHA512 086d8be2a7b79375126436ace64bb468258e504e57e0e4e19f17c5dc85acac76cdf62603d98747f24e2f2bbd7796b927e4639ffbe7b5a12afc18b00b364b939b
+DIST firefox-101.0-sk.xpi 558358 BLAKE2B 6f83449bf0cc6cf395fe4a9b2a109a8605609fd7f491efcde43011cff1e9b467da5cd01106c7f6ffcd3f72bf4ecc013a85dc95f041b9271bc96c407a00963102 SHA512 07edb792a048021c53af600a6b04ad70abec9452e1fec2112f111b20f6995c043bc2a683533f059ea9f7cc7e9bcf619d808bb59de2ae578548323f59d09c6d42
+DIST firefox-101.0-sl.xpi 531097 BLAKE2B 50fc2b60f440e26fb70a3cf8edca5a04892e3f31d57f392593ba37fc8f54cfcca9dccd238618ad27bf061e7a854a09b80384d4b40511810a1ec6591f1ab80383 SHA512 699e4ee37ed88cac8e9fc4763c81f1179fc84d9f6e1db982eb2a89621a64da78c42507f07ead7b0ad737d5419d0d2d166b26cc6b0421c2a0036d714f08caa465
+DIST firefox-101.0-son.xpi 415524 BLAKE2B 6d0db35f2fa4f0f19b3b5124239c4d1c98a3c71e6b266c015ac2e462057d0fac4d6eb044dcf7725f4f2987feecdd3d2bbe43433efd4e58619dc141af6d61c96d SHA512 f1e2dfcfb2dbe6c4c06bec890b77b982ed5bbcab43e064e82f19b600f182ba3318ebbbd8a9e792f0ca312b0ddfaedff067cb38c46afa0ccef708da7cfa9c0d69
+DIST firefox-101.0-sq.xpi 546725 BLAKE2B 5ac336c462a75b5f0a937a142dd36c740e9b9544a9632d6ecb216146645a486e0cff1fea50411ee598813a5f21053d69242674314f1d8dd0ddbb01f460f64ec8 SHA512 89a99b0b72326f50d04ad75bbf9c4156e932a44ccc0408449973afdfe9a8e810c2f9a54c8edb4997fcd3c648f935d9510762c477a98688c2d8a803bb42c98062
+DIST firefox-101.0-sr.xpi 571499 BLAKE2B 4119871309cf09b1b6b94567fb0a862bab2c6e7ac7f716b75f3c0c12d5c362b2dc852a9c2d37c3d532b8c383f74675ce7ae76dd166de1b89b3dfefe9be1715f9 SHA512 59d6a7fe568cc704ac58acbd41de55793d3c9864b1a3010a6d7a65ed0046fab8fc7e92f65ee9ed7d75425dbcffd211b744ada68cdb9985f8a8a92a306f31a6cb
+DIST firefox-101.0-sv-SE.xpi 532145 BLAKE2B 86a75e4680fc9c6410b8c962c21960d45f1b906967431522445b25a0a4dd6042e02b86f959ca8972b57193781f333c830b3b663553bec051f51fbb7f3bf1d533 SHA512 eea4ee8a7a3969b3304a73bcd9832caa84722c4241894deaa83711164b565afcff3b9ecd18867e6e0bc5c89aab2f1d1db50141b36602938b5fc344cf54a409f3
+DIST firefox-101.0-szl.xpi 502506 BLAKE2B 03fdfe9bf053508f0b5ef4cfbaebeb19065c1ca4f55a4e79566c2e64e31fbe0551a6d707a16fe3298160289665b315969bece8c6fc26dabe9bd036bfc92fbbb4 SHA512 39e646563bb8ca5f1564b94044743c6edc124d072f3ac726661f6676b5ed1b37c97d5acfa16617a47713390cb9b01e6765cd5971bddcbcd54cd5709a2f8b6cde
+DIST firefox-101.0-ta.xpi 500997 BLAKE2B c0af351654be4f327846f9c986b87c99074dc53f478549e555f6a7d13bc857338dc19d750a87a9a7356db9299bebc1d1296aab83a5d5099b0621b6822301aaac SHA512 f209f73f57cd7cf13d67011f518be989fc468a5e0ad35a31ffc3ae60555517f4994e830643dee39c56eec0bebc0f475007ce2506162ae7b66a5653c569177200
+DIST firefox-101.0-te.xpi 541004 BLAKE2B a971a8008e0d7d75054bd502bee5e006cd32ba222fce0168198eb2af12a721ee89f09b24ad48da5a656182f8bf7d07f6240dcd2c8b0dff93ff33df096120582f SHA512 842916e41371e260f659932dfc935781667ef48b79bf78dfcf7db0d93328464bc86c8bc440277e3a0181eacabe1eb9f47aa54e6a1eae17646ff01884684ace50
+DIST firefox-101.0-th.xpi 598582 BLAKE2B 0891cea480799f18e7d9fd955940c9ce6e67786255fa96138e1a57c9474de3934c479167c16c002523a4cde19efb2aac3506cc6005de577d3bacd256b3aca317 SHA512 9f135435b12a773ac41a5344f612193e8e8e0cd8a47972208829cfcf6788c2ab8af1b6d6024646f2b93473a0ba2cf5a6bee112ef9b1a492868fe4ce0a99ca1c0
+DIST firefox-101.0-tl.xpi 505942 BLAKE2B 0ceec5ae7a66b576ed9f2c7c0dcdb57bea78f0eb708c60cd744fbe0f95c7cb1d5848c6387b733c7c06a3ea1169d8fb3e7a6a86416f3bda43375f1b0eb364af98 SHA512 06591c770820c790279a43ce1f3e6707933f6d4a96be9c528210b3563dfeb7cfdb6c77ef8cf07cc2d06cace4fbf0f010db2fbbcdd957fd9068e720f6de08d0e4
+DIST firefox-101.0-tr.xpi 545467 BLAKE2B defd18d757683aa8276930718acf4daa572131ce051fa89317120d2182c89193b3931bc838a34abc9b2248375d6da73df090e5893ba18ac02bfdc10a27301010 SHA512 65057bb62b9181e6415419d9136dd4e6d8abbc4735b01486730f5c51084f4fe5295b096dacea3c06d75cb18740b93afd2b7b287ab4ae5f10e5120decc88a4fdd
+DIST firefox-101.0-trs.xpi 480504 BLAKE2B 002b98f42dd12497b373b878b848da35e1ee8aa3891ed5b8d69b5d0338e0db80534d7c4fc07657784b151129ba063fec6e21cd99dac63465eef7ebd2c6deb0b9 SHA512 ea07ecc3c520af78eb343eacbb4035788871275cd199f01c9e378a5824f009533bfe5855294d9465fed4eb260f9571192711f87ee9814b47b6919ad696be7294
+DIST firefox-101.0-uk.xpi 611842 BLAKE2B b08e041195924ed61ccfc9512310758b7dc0ca0bea724dc87ae02ef98a6d191127d109d44090b6a3a9769ae3a2c43245462078f7154cd91a6b731611344da670 SHA512 6c5aff629856ae3a7c3e71726a51f5985be6b3b720b4e2106019ec4f225128db5b6c96b7cfb6605208894c9055d8ded182bc1a52e8f7c1d1009a4ff6ebb8e02e
+DIST firefox-101.0-ur.xpi 548437 BLAKE2B f4837d3440c6b3744cc8cb259683dc54dab7bc8108d84587ba64f8cee2956257b58b6136c4e35e621b7dfb84a012e46bcc7c6cc3bbce8b1ecb6c8412459d6e8c SHA512 c04aa823829093c88fed63ae1bba07a0c1b03f38e676a45009bf4212f286994c470e809b042dbc700d4c196dbb51a6bbc951149cf078466cb2c3cd39c00ee448
+DIST firefox-101.0-uz.xpi 468689 BLAKE2B 05f3d5fdc7376b94fdd0c7bcad6e7b2256dcc627e570b0ec51048b8d8ed44671bcde728fc3c4cbe5e86546db3abb1bafcbb0438dcc964f2f2ab5c924a7f9282b SHA512 e413b3e596f9de8e340c8334650c58fe1998a8d0187a8c0ea9ef1d13a29f6bc71ec9d55a05c0c11482f0c1bf3fb0a09061f69e0f87e315999e12c00cf1e4a8e9
+DIST firefox-101.0-vi.xpi 564700 BLAKE2B c7680c2beca53d285ca6bd412ac0dd18fdf589e39e14373fb0e4d284f70b55da278871080aabc6f16828068927a0b156d93e959a92f48f647d1d8e9689dae530 SHA512 3aed361bf35dbd8d215afd8037ed3fe06d756bd395dceefa06c999cf26ec6209b5aa1228b38bc4b6b042bb6c8438588264846d6346477088a96d55e0255a5c5d
+DIST firefox-101.0-xh.xpi 418658 BLAKE2B 68a9f90c2b92d8ed36e47d73077720b86e91abe379c4032041e244083fb70eee27a06a64b69417eed58849394e563a9641ed27247c23af1e82639ca776f1d0bf SHA512 1a0fe5caa261b66470b5033283e1699cd55f4c5a7a9b3e9614af19d6d11523de922e9540e0f9a914281920402c2a97654e2ddba04d8f08acb4e317cc7181c5a2
+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.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
diff --git a/www-client/firefox/firefox-101.0.ebuild b/www-client/firefox/firefox-101.0.ebuild
new file mode 100644
index 000000000000..7a8a1e28e9be
--- /dev/null
+++ b/www-client/firefox/firefox-101.0.ebuild
@@ -0,0 +1,1266 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+FIREFOX_PATCHSET="firefox-101-patches-01j.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=
+
+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,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"
+
+# Firefox-only IUSE
+IUSE+=" geckodriver +gmp-autoupdate screencast"
+
+REQUIRED_USE="debug? ( !system-av1 )
+ pgo? ( lto )
+ wayland? ( dbus )
+ wifi? ( dbus )"
+
+# Firefox-only REQUIRED_USE flags
+REQUIRED_USE+=" screencast? ( wayland )"
+
+BDEPEND="${PYTHON_DEPS}
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.23.0
+ >=net-libs/nodejs-10.23.1
+ virtual/pkgconfig
+ >=virtual/rust-1.59.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: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.14 )
+ x86? ( >=dev-lang/nasm-2.14 )"
+
+COMMON_DEPEND="
+ dev-libs/atk
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/libffi:=
+ >=dev-libs/nss-3.78
+ >=dev-libs/nspr-4.32
+ 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[X]
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXtst
+ x11-libs/libxcb:=
+ x11-libs/pango
+ x11-libs/pixman
+ dbus? (
+ sys-apps/dbus
+ dev-libs/dbus-glib
+ )
+ jack? ( virtual/jack )
+ libproxy? ( net-libs/libproxy )
+ screencast? ( media-video/pipewire:= )
+ selinux? ( sec-policy/selinux-mozilla )
+ sndio? ( media-sound/sndio )
+ system-av1? (
+ >=media-libs/dav1d-0.9.3:=
+ >=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.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? (
+ dev-libs/dbus-glib
+ net-misc/networkmanager
+ sys-apps/dbus
+ )
+ )"
+
+RDEPEND="${COMMON_DEPEND}
+ !www-client/firefox:0
+ !www-client/firefox:esr
+ 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="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
+
+ 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() {
+ use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.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 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
+ AS=llvm-as
+ 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-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 \
+ --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 wayland ; then
+ mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-x11-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
+ # 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
+ 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
+ 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-r1 \
+ >>"${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
+
+ # 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 supported 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
+}