Gentoo Archives: gentoo-commits

From: Joonas Niilola <juippis@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/
Date: Tue, 31 May 2022 18:15:38
Message-Id: 1654020744.520a4ac06b9830c368ca333165072af7c970e1d8.juippis@gentoo
1 commit: 520a4ac06b9830c368ca333165072af7c970e1d8
2 Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
3 AuthorDate: Tue May 31 18:12:24 2022 +0000
4 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
5 CommitDate: Tue May 31 18:12:24 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=520a4ac0
7
8 www-client/firefox: add 101.0
9
10 - bump EAPI to 8,
11 - rebase a lot of our patches in patchset,
12 - wayland-only build looks _possible_ in this release, but libwebrtc still
13 depends on X11 so more work is required to reach that full-wayland goal, as
14 webrtc seems more important when serving majority of the users. There's
15 supposed to be a way to --disable-webrtc (not quite so simple though) so a
16 _concept_ ebuild may be pushed later as package.masked.
17
18 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
19
20 www-client/firefox/Manifest | 99 +++
21 www-client/firefox/firefox-101.0.ebuild | 1266 +++++++++++++++++++++++++++++++
22 2 files changed, 1365 insertions(+)
23
24 diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
25 index f975aab4dc57..8db5259c58df 100644
26 --- a/www-client/firefox/Manifest
27 +++ b/www-client/firefox/Manifest
28 @@ -97,6 +97,105 @@ DIST firefox-100.0.2-xh.xpi 419501 BLAKE2B 0a8e51da7fee1c844cbc5304d31d0bc260970
29 DIST firefox-100.0.2-zh-CN.xpi 580540 BLAKE2B d77af0550b7d5cd561357bfd263680b1ac7ea58f3de14f17e6be712b9eb4979695601d9fabd1f7724acb45263410ec8c0b8f0088fffd27199bb2afad75319bb4 SHA512 ca868ca64d0acf5f0ebb9fbdcad25a3935d3ba7156b0d05b86779a8a21f45d42a74ad6cc9a176d96bd7e38b554e02ecd987d9b1c4e9fc3a4149c4eb3e45df54e
30 DIST firefox-100.0.2-zh-TW.xpi 581632 BLAKE2B dd203ff1f4ecdb53ec6f85c03668647b839ba16edb1b06b68ce0677e8f6756b033efeb4c2b9ffc794148dc8dcd8175c5c5d2d657cc13db3ef36940a2a4885519 SHA512 26e737abf949f171a4f03d8bd16dfb6422e89f7f177e40db5f49d03d1b41638580d3e2dc1ed72d857b4c9ba322f88206a25da43ae1c0b5b59543bb42c73da301
31 DIST firefox-100.0.2.source.tar.xz 482708576 BLAKE2B 2edfe7ac3f568dc124e6e733fe8cfa554acdf0cb0aa456cab601be0637bbeea1b1b48a4069440a4075c17a7db3a683d554197f1369e614e33af02cdcd39888ba SHA512 6d9922e35e496fa63833ba03d1466e075287e40e50854ddc4f4a2036d9c7ca1f35c03bc6f708a3c469e0ec3b389b3346ac754bb84df0fecb86955fc21c05e00f
32 +DIST firefox-101-patches-01j.tar.xz 17516 BLAKE2B 1d222df49f8c97d71e07acbe1427351961425508af86d9df440e9a78026edacb638f1ac8e49bc93733aeffb68a270a7bf2e7f1758c285d682fbc6e8910f162cb SHA512 f7e59b67761caf60e6d37134a72d7d71bf9376a5ef9149fb83d59ddb227601a78b63685051ff634cfa17f49f5d77eba49f8ca6f9bb635fe97a4acbe8eb07177f
33 +DIST firefox-101.0-ach.xpi 443451 BLAKE2B a8da480ce7f4d677a3b432708376aa1ef3cb302b9e944605bf52708b723ff3778024683461789b83b292fe77965a5f9e45995cc354b5c3ab68f2ac1c14da11c3 SHA512 7f9778d872043a80fb357503a76b78cb9de821214bf66374f9f3cbe079dc5ada99b32c98cef76853657fd1db937ab3b1d28d499de1d304364cd7db3c8dd94863
34 +DIST firefox-101.0-af.xpi 413388 BLAKE2B 600f6091343ea59bc68d5c9352b75d560055530ffbb241c916d86ee3e8a9db6eabcd64743999a8de3fd3f4e0984addbfdcd341c1d97b6b0fedb8873acc1490fa SHA512 64c66a654efda3c9d9c44ba44014570285cf14aa4fa6c08c4d2f89aa27c7854fb43694445ff5f9362e2260453ca9789798af3424f56e500fc542bf514046b3df
35 +DIST firefox-101.0-an.xpi 487253 BLAKE2B 32938686d11e0fd7b4083b67929fa2274f8c7685871d6ad91898b6b310622c42f4e0fd732dffe50878fb874a473178826daf3e42000c916615e0159aeae4bdd4 SHA512 b32e0768865643a58e7b86fc8839e08d982463311741931b01592992cb3fb512caa28080434cf22fc8dcf2be8f8d9af76168efdda31cc002016cde46710a8102
36 +DIST firefox-101.0-ar.xpi 552747 BLAKE2B 1f03d743f69d1eff3e3e7f6a41401ffc3f71e28ca1e9a5bbe36ccf5186d81634853b8c94efe279c194120bdd1877f300eab88dc1017016f3087d0406147ba888 SHA512 99ca01d57559b545205f9ffa365b0c76a03f0dcd1ac0f2971d1b9d24eb11019efbae51e98718fd4bb80592d33c20181c8ac0c6531729796ab1ec08c53580974e
37 +DIST firefox-101.0-ast.xpi 485918 BLAKE2B b82518cc25bb583b53647b246c1ba28aed26e0231b44ff5a6d283c23004b8cf0e7ef51f557a110afe6a44ab6b98dbb42c0afb002707c9f4c4ac81285d8b02527 SHA512 30d91d61e3af8bc960d9a929c63f6dae285589114ab678044e8b04e8805bddaf0468ab4425f5349742353af6a3946c3558b4687a6cf9c7dce776d67e5335d4f3
38 +DIST firefox-101.0-az.xpi 477262 BLAKE2B d40546b499dd315d1a50370b09ff8ceaaefc3dcfbf43d54c69aefe0e1bcc95393bbb1fd4333c81f7f43d9f51cc5dea715f96215a8c40c4cba8d784d1064f43d4 SHA512 7e467ad180752f910899cfe8995ff8c06fa0d54ff31c11f591d3bff1e6be421ae1d9852d17e60ee5b07f83d3d9d519efdbc5d1c13b22ce4363048dd078d69c7c
39 +DIST firefox-101.0-be.xpi 614351 BLAKE2B b619a9b47e5bbbf1a4c5ea49043fc88fe2cf53dabf36e38d7798fa459c749a63a4d302d94ed4edbba9502442427a974f931e7462d9ad839f570d6552cbe6e9ef SHA512 0bb62a22a23e004d7443f1445071f5d979aceff9f8210154f3b1d00ea8c376b5df97c120a3d0bf1b4087674eaf504d519b260cb2c7be6e9b70d3ab150194f752
40 +DIST firefox-101.0-bg.xpi 558755 BLAKE2B c38a89eb63ae494b3e02e1c66810877b50fcc5fae530adfea1dbdbcc76b166872946d27b50fbc723a3e637a48f74f64f887ae19b168147515b3e4f4649c7b8b2 SHA512 cdf8c1c73981daf9e16663d216d119d8873b7b9588537b45efeb6a3d0aa4ec9f0df37d2a22f4ec3bfb6c363760b48dc8b8803e77dc9c46ad72d4e497273e4426
41 +DIST firefox-101.0-bn.xpi 545253 BLAKE2B d9b3b52f4f1615b99ae837d6f993231b580d5991098bd1faeef74bd0ad039cd26cee601fa283217daaa9c0c96841157036011474d605ed812fc00c6d5be39ede SHA512 42c14cd104f5d7de9434a90925f34af5fdde7ad32fadfd580d844d30b85a0e7900fdace915f9ced0b071a39da3ec02edc1b57096b1c98846df729b849ac9dc68
42 +DIST firefox-101.0-br.xpi 519305 BLAKE2B 72a9b820e80bc6210eea702335244141340ce8cc0dff743715ea21d3ea95e6e8438df86eac9c3be923adf6e058389ebb713f2264345b00098acb117d5ad75c0e SHA512 0b4d8b65b40481a9c6c84d64e31732da1ff415704937af4adff30e26d69a7c1f64400e77dcfc0fd0aec7f6a9198462f0c2f953dcd03e4bc08e5599e918fb798c
43 +DIST firefox-101.0-bs.xpi 452142 BLAKE2B 06e1c6a694a376ca9423d7eaae7fea51fafb0173579f60ffeb02cd672a22bcae8f2fc0ee0c241f2fa008f567cb41e984ee2af030ead726bf3bdd1a94943babf5 SHA512 a79b9ffda8799eb563190256f2fd2d904bb847630167884b00c3b97bfb113f62af5f7bb244b86ed3f941e16b497f33315a3014aee73d28c27ac40415d5073e1c
44 +DIST firefox-101.0-ca-valencia.xpi 526502 BLAKE2B 84fdac71f76b829dd7c0cb77d265908ccaec5c356e61fd7ce57d0329bdb728de5269d6eea88ed3df435311b61270aebc48e30bd65a463a69bfcffe6c55d96ae3 SHA512 98b5ca891cde876a08ac016ebfb026240a182681d94eecc6e963afb57289f0df891d76ab739cc0907bcb8b235bf6e1a0cc26fe9e415c538d3e3c1a199203a553
45 +DIST firefox-101.0-ca.xpi 521443 BLAKE2B 0b6c228fa208805a3bc9d35aa74f74d65789ce275045a8060406cf280d231962c63bcd6ecd2295b54ef218f16b3179de6e90c7d644f9a76eff2a10e0103504b4 SHA512 ad130d0ee829eb1f0f63afe7e8841b0bddb2524e6779abe10786c7295faeb85c43ecd408ac5b2c2b5d329678749eb02927d0f872df39fa0d27cf3a3674a9c3b5
46 +DIST firefox-101.0-cak.xpi 539972 BLAKE2B b2dd027a82b09c1d37ef5706af416b2833af7080d9cced92014d1d4ee7b2a273eb3188a8236002ab433ff05ab2f103c9a21f39e462f7bcd7a9cd52c8979e4113 SHA512 7b23564847f4021ce92485dc751590cbd9a0f355d3ab3e3b99e14c71c35fb30302b28aec3320f46a1abaee0ba1cd6803bcb9deec6219483b55190853c4e3d8bb
47 +DIST firefox-101.0-cs.xpi 557463 BLAKE2B 69fee48b4f21fc3fda8a54836f100ed612059a3aef6bc3507f11b87319fc167c9633fbbcd37c5e72bb65d83a119eb820253572179c8cdeef6b17d0fad0e63db1 SHA512 a41f7f51c08b8ea5225e984b6d5e96767bdbfab043555c9a811619467fd2873b81b0fc18533983ef2e0a5b92462f08aa66738f2f074eff91c2dc7a0a67f95b71
48 +DIST firefox-101.0-cy.xpi 534438 BLAKE2B b3d3fdbf17607ab250c2e0067ddf84a5a14d99e117f485ac2ac94bbe64ab5701c204eb75ff3ddb3752a4ab72255c21b9d5ad244a20926f09d1347c24f29a0d0a SHA512 204e163df222edfd79ad4f78b252c58654a27b4b6d08bbd816fb518b2b332b72d498a2f64f0f78b9d54a8d9fe295e5f027497d3963a22e4457574bf3c33a5b21
49 +DIST firefox-101.0-da.xpi 526067 BLAKE2B 514fabbb28a83509fb6169fc47cc650fbc917299cfaef485d2b4733d42036f01829fbfbeddad1169958b89e41b9e4993e57e1abc37fd223e4abaab03b4d3f5ea SHA512 9cd61b8806a2ddbfeb5972e9e2c1a19b14bc195226e696e3715e6231799bae656f9151b23660ebafeb87f34e544aec5dda8ec2754d13ceb05cb2627cbd7ad4ba
50 +DIST firefox-101.0-de.xpi 545583 BLAKE2B 11fd3c5a203a05837023d11617cb48f1c25cf820f84fd5145ab7c0999350b2e0097150eadc52f317c9b802dede774880181a470cba186f6a945625510f10b517 SHA512 c0e84843d4d2086e7d8edd1383c3a469e41a904babb483f1255b20aa1f8fa06161077556fb2a575280e3871a00721cfac2a425e0f0ebabc5c411ec36919e6cc3
51 +DIST firefox-101.0-dsb.xpi 558343 BLAKE2B 383dd6b6bf5640a8a0d86d33400927cb0498220a25fa030f3c036c899548e882d3168836fd80b251be30ea2c42bd4d12c36d846361ab52f4edbe4cefb2dcd392 SHA512 0dcf236bff118a68e1bfe9d4c12ee9ca435f896e0cd60004510b7f7aa4a49a782254b058d7321531e93c3817d0bbb767173264d6e7199afcb6583b7cfea01095
52 +DIST firefox-101.0-el.xpi 629451 BLAKE2B 47bca72136eb215119660de431f95e4337c2eb4e7fcdc7607d521052ff1ad2babb34536c4fd9b697c9e44a58f247264a2262c64a72d62c9944a85a50c79a4a9b SHA512 d129d094254bd49606db15c4becd8b054876a4fd8a0bc1fee58d78afd82b577b37a99c1a0066538c008ac8e97b2a201e5c89f3cac44e1302aa14d4cf8b9e4578
53 +DIST firefox-101.0-en-CA.xpi 502216 BLAKE2B e7e7e77619cd16a44df71eb4a089398f6d8c3c67c187c047539aa5565640d39706b622c29d4f060763e21b47ec60c611b06c4e26ce069109437175ad6bfae06f SHA512 93fa8322890126113a7b2e2cc2031132410c5177a88c305d22796eda0d8a6eda0d79fedd6120294d31387065a4d455e8c59d2be10b51d545889b55a02273018b
54 +DIST firefox-101.0-en-GB.xpi 503123 BLAKE2B ee3298df0ad894a2fa6c36e9bc523e0148b4d4d452cc110596b1bbd7514d3ca0cb1881864f9609b460a60ee245102ca57a67ca3943658cecdeb36c681f7b5afa SHA512 3f7b9fd39a3f1ebeea813ed282fc0c4706e90ae85c0151a7893a2eb252bcd87a9fa6e2323895a0ff86cfbd5c91f3b58253a3a42a5d0820cec169e4847d1cb84e
55 +DIST firefox-101.0-eo.xpi 529039 BLAKE2B 5dfb417114a94cec450565f07cf826f983d44d036065431f914c446be1be6f71eb03c601c7bd2911a2e2c4eeb74de2a894e9b381a093f069b6f3b2a8606863ce SHA512 4cd825b63d51276de9cbeaf8cbccc01aa77bbde51fa8bd54b22392a7e6a789dbb1e9b1c6c89ef21c53dd77946d267cbd8e54fd40e411faecc8651fd799a0d250
56 +DIST firefox-101.0-es-AR.xpi 539061 BLAKE2B fd90770a8c86e9e5a7f92c08be054d5c199c368f9450924d4710c941946649287dd6c6cedc7c604c6223c26bed379b01ac9437aedaae7da35490399dde3aef96 SHA512 0a734c2edefd50e7258c349dea60327a9d85a0cb7c5aca0e8540cb6c72a37d95c0df45201150c2fe98657a6640ff13befdefbf656afc12b6704a336f01c41e52
57 +DIST firefox-101.0-es-CL.xpi 538158 BLAKE2B 94c9907c642f1348984395918c42ae01f02ed83cdd5f3262df7fea1a8405bc552265aa6a87979e899c21b095f8225810785fbd43482799a1dadd6c3a684c516d SHA512 967df51b39613e7e1509cbcfff8e80f255f5a62fb469be5b7eb90274636394fc497ff47b365f6519c5f53d973bf6d58885434c053a800024eb0cc6f0cf0f1ce5
58 +DIST firefox-101.0-es-ES.xpi 529110 BLAKE2B 20d701ac74567898d1e520dd9f5fb054ec6782f33e43ce7a447bf51f31e3e38913c9aae6ae508b547f79774210111dbe82bc2cfaffe3563579cbcf620d891050 SHA512 73660d9ce54ad068fac974fbd73a9b3480b75cf4107421f8bdd243bf10604d5c99b428cda4db86657b1038e16240f07f830a62a94517465569132a8aece6d25c
59 +DIST firefox-101.0-es-MX.xpi 542141 BLAKE2B 9115f9712d304876482d8ad23551da7c3296e4a7ab76da2e709106f6f84c87c586db39623c872e3bdfa37058f50d3b51785eb9ae227343efbf6fa750309e5ae4 SHA512 ff66e388765532e42fb2014912562c01e936284230ae79cfe694853f11dd56cd2bba88c0bdd7fdf8535f54b485978021bfa5443c4a54192f0c9b9d776d436640
60 +DIST firefox-101.0-et.xpi 520744 BLAKE2B 0a1da1743b9cc13f8a6d35730db8c72c5f6b946dae1784489cba93423de89c5c5e9f0b9918775e6bca921e13f59550edfbf6027f9c404f735deb10c9cc01dad4 SHA512 1fec51670ed198f6317a9034a282fbef4b562ecd82f012094fedbd603450851e7da1aea95394ec6f829b1bf595ccc0b0acfa78615efd8c43cd491b863108b2e7
61 +DIST firefox-101.0-eu.xpi 527775 BLAKE2B 6c25374754515172f2bb2b9ee5a322500a77ded411fb7ba6e037424627aa88f523f21d58c58be7c452e7b94cd29b1b860d2bd07de6daf6fb4cd2c7bc265fed9e SHA512 c12e36d7c0c1b7fed5bea9c9c651fd52b215b3644327b1f20f8e2f5e2283fd2b858a0445d82848201367cda313497041707e68b587a333aa70486def289fd8d0
62 +DIST firefox-101.0-fa.xpi 551020 BLAKE2B ce6e197d6502e257149a6e3ded25c730121a5b53e4f2ea799a57f5525fc68bc4a5426fbd752221eeb6041e019ac7af953020d2866751d8f71ace0e0cbc10ab64 SHA512 2d075e404ebaf51c6e90e94414a3e6f8f7e597f562c9a3d35e3eba2aadabee67e8f4e470b96342c62a2ae0bcb0f717f7f52f713e508a66e96eb147ef1ec55540
63 +DIST firefox-101.0-ff.xpi 461238 BLAKE2B a2d914ebb3465c0cf1a4a93637b7f46ad8bd433e84d3b365899241ab3ceb798b1e610461f61255802f64ed49398e0297f6c73a3463c24e184e97a32b6f0f5c58 SHA512 d57c46117a23077c7423efceaeb2759c4e6a653763fbc093955e43e644af1c4dd5eebf81d733f8a2c766a448fd1075f9e7628c25a3aecc9704c407552319a43d
64 +DIST firefox-101.0-fi.xpi 523417 BLAKE2B 8b4204e8bdcf7c4a22ff3d87d2930974974441a38cd01badb8706f13a3cbdf5e829b28c0eb17452e7de2afde5a19b204fba3b90f463ddbbbd1151b2651456f43 SHA512 67fbbbedc31ffc2afeb48c11a210914eb0db04a053cd8f22c8eb0b61f95cfd64b5fa12eb01b94a3166af8e61bce3408bfeee5dfef5c8432ea2ac283fcd4a597a
65 +DIST firefox-101.0-fr.xpi 549196 BLAKE2B 30e31e0737177bcc5f4720fb763ddc4996613388fc45c72cae52e947c612e0d6ba8cceddd54396a1d713207b1117f0daad4b7ef53e8475831149f3c107a3a72f SHA512 b9154a7c44a36da43820f05a41daa8ca048d4f0ff33062c7786eaf9d66090860dedc6c2625ed7eb9d058101fa214ad5ece8beaa1d1e7c4c307890f6976f3044f
66 +DIST firefox-101.0-fy-NL.xpi 535686 BLAKE2B 5f9023c4b603f79ddc77aded999d24f4ec6288424e54e52877810c1055dc9971994c260ef6ae5a32eb91dd8a2921405e15a77ce15b29a93f9933961a3dc6e8af SHA512 9577f17b8399967b267f9258475b820c7a746a57c891ff4ce2d2158dc921db5b97a4eb2aa05ab3aaff8d744d0c8c9a7b44dcb84490a27949d40ab750317a1872
67 +DIST firefox-101.0-ga-IE.xpi 461042 BLAKE2B a4f5fa6679bade28a709fffa7108c0b8b92508fa2407a210987b4ac9ab3bc75578074f416d36ca5f0e3b67cdd56e65cefd8061c75dd022cdd97ae3dba8d7744f SHA512 afa9ecae197bafbbfe828799491cdb59175f4112cc95bd83bdc9861a0af6102cb5dd6fcca591da55d7ad344e1fd635b3beb2901bdab5544fe5a2318798b4097f
68 +DIST firefox-101.0-gd.xpi 520113 BLAKE2B 3da50c2124e1baecb5becfb61706bcaa5767b36bdd26500979733f502b8a4b42169b84a9bb728e4d669aa84b907c79437f22bebe122e8c3c0096c49241363ecc SHA512 1bed2f786499083a800f175ded6c2c79904e308831ab01d200612bee81710f3d4c3e51f8ba9690e56a1c6398d6fdfe5953deefa7a717a6412892b5c7a457c27b
69 +DIST firefox-101.0-gl.xpi 528662 BLAKE2B 00406056a0dc8959bee183041b011015dc26385f5765ca84207f8ace4b3c65e085582db531e5cdde0ffd4d72c30576146ae87c6c680f64b389560df86f298d13 SHA512 0d34b4c8663a183a3cf7f893916608536dfc6fbcea3760e3a39f6b1463dd8765b8825ec5bd6682d6f5bac413d15bc4154ae5e4ea17d4a829a0cecc0396ccf9c4
70 +DIST firefox-101.0-gn.xpi 549923 BLAKE2B da6d28840f577122dda184e9ed0e3dd8ea1ceaa9112389096f94c86bb40240c8cb1757e27e714f166c60c42bd59f49005913c7336d068d7561ed2e529f9bf2cf SHA512 2ac991baa03f72eb8bfce058bb5f0f03af020b17105477998dd347a592874e11b7bfb8e780fff01499119960b14e38bd3b7c7c4405ca83cebcede82095016e4b
71 +DIST firefox-101.0-gu-IN.xpi 516674 BLAKE2B 9de377953491afccb885b98d3bbfa7092cf4a35f590601235c5ecc8e54005763198ee4c8d2406ce7741591f1b28afd30bf5c472becb0ee8aa9fb72d1515ffc28 SHA512 88cefe65db467d39e212feaafaf48d85308a6550a80ca55d6241ef737a708bfa4e3482ccaf76b8703d71f6ee9e281b98d1c320b6c717df367ee7da740afede71
72 +DIST firefox-101.0-he.xpi 549784 BLAKE2B 9ea2aed63ea80ea67461cb4928d642b323d25df142d2fa29e2ca00c02f032d14b4383c29d023a95622bfcc776d66e800d4ab8a49f6848104f6aaccbddfd32822 SHA512 55f3c19ef737fd800cf5cd6c3f73550bf4e79fddd0ddf3c315db55f0536dc12dd5bf3145ecefa02ad406266f8634a9737fbf0fcc12d36f04c9961f169b8a5f91
73 +DIST firefox-101.0-hi-IN.xpi 546766 BLAKE2B 0cc503393bfa995c25c4244460579406703f8013b4cc8461ee20ad8d33cb6523c87eb51e0430686686879b664c1115511b145f714926fc8773a167fabe8b9ec3 SHA512 356ff919ec2d8b8130b6972decd6c3e6a36b7db44f3463ca52f06fe25880d604de3645d71f1cca5a9c8848f2d74fcca13c9a7e4531241b0c473314414fa3a918
74 +DIST firefox-101.0-hr.xpi 519206 BLAKE2B b18e0076896ff4a0e57ca1c0247deafd4cc8b343f16c23add02b7076a5ce7d4db195c5b364ca5d2360e86fffe1bbe4068e607e5920eb4023c7963af52757ef44 SHA512 82a7c87381f7059e49484538c28dd3b8495a3eb554be737ab52130a682aaa1d8be17a75aa1af9af525c0bde132eb8393d12658f4ed41ea0533e4c5795ea61991
75 +DIST firefox-101.0-hsb.xpi 554536 BLAKE2B 17961c62b928d980d1655978a20f7888a8416f7f254ce0c4b773e0c53dd74ccc3e76e2540e81d8220e803ae498c4757285ce2b3450c363b931baf974cd28c3ae SHA512 eb03e7417b15e6f2e277f3c1d8783cdf3c7ba2f9bb8b501f089e5e436413ab10944a6341eac0a9107e44a72aaa72744bb057300e2a6c5b8149fe889515920320
76 +DIST firefox-101.0-hu.xpi 557567 BLAKE2B 6c9b68790472eef8add389770c903e17f340f6bfe31bbbc4d31299e3ac6e8d0bf41f0c93415d50cd38d75f456c8a93df00d53ee176287f5dee69f7ac5e7f7373 SHA512 c72b6f0dbd3ec1bddb408760d58fa55efb0daf1a5b822faed0edd965bca3aa4ea4e35bd5c5d9615eba21866c95f80b2879a3200eb01770b5bd27f6d02dd394b4
77 +DIST firefox-101.0-hy-AM.xpi 568388 BLAKE2B aef23e6ef7ade48e27a6b500dafa9944de546dca378e79d781208c4b8b05d52db9597474dbab60ab045d3bd3b0247137c6d3c255f1c9bf53028cb01117cf440d SHA512 b52ceb93ecc24de924dfa4082130031a44061e01bb291a017ae0e34dc154c0bbe657f590b5f658a779119afd6832fa31e9225b0b29cce7f01a6569098b490ea8
78 +DIST firefox-101.0-ia.xpi 524532 BLAKE2B 4f4c98b99226f3e6679b81257f25935e6cc5d3cc9db6d36446e7efe38ad8aa427b5f9e2e1033a0a8edeb79503d0d438f5bdb830e5a06c94d9f1fe9141a617932 SHA512 f3f7ae4cd518df04f716af775c910bd83d71bf72daead8fa182436c15a80637046b7dae02632fc834c23761df1c3d3bc3b4c0e8739bacc1b95ccfd4009049591
79 +DIST firefox-101.0-id.xpi 521946 BLAKE2B b82d9346b19bcc37f3df04b65febe52652fc37f95db9b797054e34512fa5cbaebcba147254e157a69486594792c666ee18c40dadb9237c28bdde29baefedee60 SHA512 cf635bbd66aba2cf8ec02597fb264aa8a840e63cd4d1a94f6b32e398b4bd2fc5d8a52e6111b82ddf37148ca48384c506de2f1bffd57a295b291be45a497c2165
80 +DIST firefox-101.0-is.xpi 529392 BLAKE2B effe3d917eb0a236be74d5a828f658cf9b785dac99ce2a18e3cfe5d6806b607a9d4edd719fd7191704b4440075d5f7797eef5023a3ad4355d5c7a4e3982e4536 SHA512 e33f666539349207057f8903bcd658168d269845d4986eaf3138395f82a87fe18145bb6586086a5272b4ffebe2edb7fe0c20d8a820e7f28d9260d4385d59dded
81 +DIST firefox-101.0-it.xpi 454743 BLAKE2B 1f3e6c0c3018c1e7e968d9602b5dc4a6a33ba6e98b5bfad5f02ca432358297d24faf7a73da96569d8b0f8a87941d03644943d2fb0de70aa6e5d4f0e25ac24de3 SHA512 710d48a4ae89097fc6caa9269fd78721b2f2f1bb240a1801bd0e028e307ea8a376b41b7d83d6872cf626536f3ea40f1da98198b7b8392d7e116732da45ff5ccb
82 +DIST firefox-101.0-ja.xpi 579353 BLAKE2B e8f06f3330ed32c0d2f31a7f65df5502eff9f758d449807a6461ba3550895e0769ae3392631cb1f8b693b12adf4f7b83611f3d54ad4bfde78fe73c95547f6d5e SHA512 2ac284f4bd12cb01a3449819cc497b5ef03f79e7b1ad3b989594008b91876ddbb2c719a5b2bd5d693c019b6397a85d4c92dd856a879f96f1214eace77c6bd75f
83 +DIST firefox-101.0-ka.xpi 582461 BLAKE2B 6294fa6aa65b031b425846dc4395db0ce0200ba3669b0c4b29eae2050dcd662a0955058abf4dc093e6adaf3f199e5159196fac3c2d8ec99cc84d60806a4958d5 SHA512 938d9b056be547fb548d5b16b4664d9570bb268edd437baf82eae336fcd26b39946379b2d9d279a9bd53c1daf236f48316468748763c41b2a9b5c700df4b6e7b
84 +DIST firefox-101.0-kab.xpi 543572 BLAKE2B bb37e2f5babcd905fab5f93a6a2a76b729662d23e7424c2b205650ba04ab6c0915bb95c17575b7e1cecee9a2303bee4f6cec1124ae7ec3205f43178382020dc2 SHA512 c2a6178ae1545a5bf6e297dbd5f3981869d080389cad0e5c1598b1395712e294c6f05ada28a3e6db3b82e0f5f044283c35423b22a83ff68dc10ffe483f8e87fe
85 +DIST firefox-101.0-kk.xpi 605355 BLAKE2B fe0c9d1551a228688fbde61beca8f2da48f91704698b91da1d68483645ad7bb72da55621fd82b483650027e129509f021b63dad072b5c8353215e182ff9f866e SHA512 9840173b52afddce66710b1faf5955567eac6a379c0c400a12a98eccded9753a296efab07feb4934258a39d0b333e4e70968cbf74dbbf13d81567ca72ad1d0f6
86 +DIST firefox-101.0-km.xpi 520288 BLAKE2B c523bfdb6e3306333f1f016d4dcecf6b53c451dab30344f136a5514684b54b0e6e1c609f645c206c08a8ad09a32358efde73949f71b5bbb2e3de82f120989ba6 SHA512 f26c71bdbd7259a3e7ad8577f931bd9e1fb372d4d72c94e634ee904e7a7e6153d39d5be83163379968e8611f8ccff51a1a8f67f0eb1da7c11a193c365170056e
87 +DIST firefox-101.0-kn.xpi 486503 BLAKE2B dcbdae74e313e2eff17537a59d529fcb59dc24ad8bd82e469b13a327edd23e18f04b17b0e9bed0e914a4eb9ffc72197cb1f23eeb857456e36941892d23f54142 SHA512 16a39e41169aeddf3835613f98ace4ab9c15acff319415a72ff0cc5377c572c9e29b8d6a29834007fdd81ca57a8d2b573db4f0f2db56f391eb9da624131efc26
88 +DIST firefox-101.0-ko.xpi 570889 BLAKE2B 91fd0957cf8cfcf0ec8b02700aa1e0d2d9102ef40e038fb0f801272b48b8c6f8fbfbc32be3bb483c3ede2db397be05e10697bdda49f37dd956c73af53cf3c9f0 SHA512 80022dedf5e1ee42d58d3d0c98ad1b22b1e19226eeb04ec279ffbfff74c08c1585f837c9f3c9b3e12ce66350a4748f64c69c8bf942e4b83073e06d988f2dff7e
89 +DIST firefox-101.0-lij.xpi 459507 BLAKE2B 9d2ee16416f16a6bbf3bf899b5a5f2998ae481c21e089cd6c93a5ac66a50a28029b9385937e991d0fc09fd6d322f086322ab199397ea5d9ed82bf531e10fc99c SHA512 f4b1ddbdcdfe4c2964bbe18751c1943876e10d0e1b7ea3bea50362eb7af91658e26e5426cc70175dd11a19b04a7b8a1ab03eeff7024e69dee6dc765ef875bd0a
90 +DIST firefox-101.0-lt.xpi 546498 BLAKE2B 3d4fe56f7b5a10e5fa6738bb2f4dd4be8a97686a47676fc1e38012cc1f8f7986fdf1290b468c8f81f6410a820d9c25c5f09ba3db285bcbbfce9acd5d0f3d14ad SHA512 435f40dfc0ea37c036911b2606c7c0089e96e6ed400dac9da2ea50741b0cf659c8c830e4f08d5f3cd4e6bba346a20c5cf6ad00ce648f8566d84b4748f6475fdc
91 +DIST firefox-101.0-lv.xpi 452391 BLAKE2B f2ab43cc35d08a0b22639dbbf5badb6d8a4e321d4669d814f3890fec8a8340d96ec31ad82131d8c1229a885f5609d323fe55dc6863becb43a303b63dcb243430 SHA512 2e112898920a8532e7c5bee2e0a4f9f68ac85496d41900adf4ab297b9c727654efc0f83e1ab1eb4687137831a3bc76ecc9a2fc185de2ababe105a19691ade046
92 +DIST firefox-101.0-mk.xpi 463666 BLAKE2B 83d3798a84a39a4a78ff8f96136af21174bc90d4eb1b9b7bb2225d83794fa18cc01c9d7a138925b1cc971cbef1fd164f4f51fc4b39a6bf845fa38a6c1750c935 SHA512 d9066da695d464a40a2011635c8c56f514a74eee6275f11b72135e753d3ce3518172aaa07f1adaef8595c4818f7543b36af909f9f85d22c2dd074d4b7f2c980a
93 +DIST firefox-101.0-mr.xpi 520141 BLAKE2B 4c699dcb280ab6fee40d65f10ed5cb3783f4cc1c42f7b97235d3d27e40558ead315de6d425711f54c8555c924cdd8baa968db883cc273b990b5987a4bf313797 SHA512 b3c9183998a5019e4faef08a5b47d254540f117d6b83a8934005f2cd7791f515bc06756af1b97d360d2e88f727d14c60bebb966fae61dd6c2b4c3c50912b4d9b
94 +DIST firefox-101.0-ms.xpi 437570 BLAKE2B ee853b54346cf773c1e84ff71f44996bef70e243eaf3140b83376de192dcc6e08a9d62b4cd5709584758c1145948c2b528e5876b7b83a07e45cfc75192beb609 SHA512 a7d2a339e1fa8a79131e90617b09160a2102b292bae6c90dec096253e15c8673f2dc9dd3e5073072533a4ca4d4c7c376a766705552b073ece979ef9de849db59
95 +DIST firefox-101.0-my.xpi 503452 BLAKE2B e4aad1813f79a961ca65ea1d36cc3d651be267e47e60fff5c1839c48412c09d5d8762cf05107d5f0b9defa7ba83b7be48dea9436884c048c50738af8209d507a SHA512 be6f53378e41c6d31d45ef9d350e09dba74ee99572d49574ac93c7adf104723e9098125f9cd029e6bfe36facaccd23c67ea8a3315823187c9b3bcb8af9b29d9d
96 +DIST firefox-101.0-nb-NO.xpi 521734 BLAKE2B 68031e50392de258de2dcb475bb8b413ee314d70d65751f26dfc3615611d9928c143a59122536827b1837ace2d352bbb27f49a10fed30cccf6adcfc0c96d4691 SHA512 089bd0b3fd1cd8ff4a89a812f1aa8ff525545029941429aaa4c2a9b19ccf23a8bd3b4a7ed4e81ab3fafde5f86cd868574a538d5cbc5698429874a2888c0d6ce3
97 +DIST firefox-101.0-ne-NP.xpi 478317 BLAKE2B a1b8cf240226e82e803add6b1e38aec51633ec05497597643f89b77248a590230bbe1b9df758a80454c71727f3b2bc6022d78e9040446860977ca623c08eaeaf SHA512 15d0ef53511cc6b6ab164d2893e0925ced94ef82034bf4356d4fb58739ffbe54f885f6dcac00d6bd03e4de1eb115c19d22e48322edd2cfb06aa6ae59656dcf15
98 +DIST firefox-101.0-nl.xpi 529647 BLAKE2B 3ebaebbf938d143923a4cdd295dd3ec9e67ca3a394605283c194e466455d8a77a60c4badedefe27c95ccf2837297ab9308f005a05474248f755ed3422fc16e94 SHA512 aea4c9dfadb14839853c058dea437d5e1450ef535b2cd0b27b1896b6d33ecbf440b6569ad8f937129e6d6fc8a080ef06d699e8d090d7860c440a9df112d794cf
99 +DIST firefox-101.0-nn-NO.xpi 523770 BLAKE2B a01b26149a31957d409aee147a2ef9e8c37f0993c0647b7fb7f4040cab479811ca3f22d566c76eca0883eacc96194f47977593fc9abc41e890fc0d8dd22f75d0 SHA512 133f010b3d77bd6b41570173b8fb67b817124a17e311613a4b9c4d4a5e4ba3a6229e0a589a626cf65312255f3a49b93644484a398cc62b0fc70b935a90876c26
100 +DIST firefox-101.0-oc.xpi 544433 BLAKE2B 4964ad4464624d753309f167410a457db6c6c1696fd597b1f602953980e4340d662c9304cbf93487be52e89cfe58d1e0c6fd51ddef8801d58f9edad2e2c5cc22 SHA512 f7d7893511d39e3b5d694542840841b2758706eaf6c752a33759795e8abc35e3f6f6ba7834631567d0ec80f4d77955d126d128d818274e2a71bdfdbf22a8a4f0
101 +DIST firefox-101.0-pa-IN.xpi 592170 BLAKE2B 591cb7ffb3bf254ff1385b0e7409434797a922816c8db00bdd36e147ca857f11e3e8fd68a1cbf30f2fa2a68ef2923e916b510514d50aeb503a0ca3686bd6d77e SHA512 0b239e4bdaf749c5d5bee66f21053009ab40e2740d28bebe9f14afe934bbea69dbe8932d487da8dde1a03c62606ac73f095e629cbd9564a28f1be0db631509cc
102 +DIST firefox-101.0-pl.xpi 549645 BLAKE2B 40a32775fb12c07bdb6421d5fc8848c86c6ff941428237a1c3edd6f000cb1273177425c028db313b2bda437a83cbaf5bb287a7096545670251be5a6aee0cef70 SHA512 7abefd4588e656128b2dce4299506fe9696b37c460d75e83182e8cc9a72588846c45997ef429fcd14b4db508dd1d306f83d49c8ab52c18b617b89d25d3128790
103 +DIST firefox-101.0-pt-BR.xpi 535131 BLAKE2B 97b3de0029623dc7689f9bd4b2c6d8dd73aadc8cb94a52d48838d45bec4df8cca22154c8a6b3620d51835962d2f047bb55203a9a799a61f1738b29a54512aa45 SHA512 ebf46292bc68f9a7e674a7206ccac9a872d0b116b9a66c5cb2c9ff05136670c78c89ff2c82909805d5bbe27fc4671a831c530a468702843eeb36d123cd2accda
104 +DIST firefox-101.0-pt-PT.xpi 538683 BLAKE2B e2ba38821eb8f2761726428832c09706b1e73052a5bac3619ff604a2fb08049ac313d8ad578346a4e1131243fd890deb5d826f9874b6e122f87aebc146cdaf54 SHA512 57d649a6dfb7bb70556edcfed18182019e7311b91038d4a9cce1f07b7666f3dcf9c4de1728377539132a78aa493173ba8e080335f7d13823a77afee434dab059
105 +DIST firefox-101.0-rm.xpi 528619 BLAKE2B 149127164d57540b38a3b129812eab08d33f48cbe9d74032591a820999f8be4d78d31ca11ea72e9ebdc4852aecede621caaf559ad2180b7b6819554d4fb2f8a7 SHA512 5bf40fba66a28a6bec911b9836bc33bf0ced89016ed3feaab400238e81c63ea2ae0ce6e2fb2e16fec110cdf1c56ac0fdc0886a94a65494d1dd5b631581246448
106 +DIST firefox-101.0-ro.xpi 516076 BLAKE2B 5a7f4d2782301415a08c2a56b975aaf8b761ff615e73e4f66aa28fd91678c93dfa229037fcb86768486302cc3b73240df10671e7b321fc13f2478cd3141eb8d8 SHA512 785ab5e472548146a386acd27f68be24728401f63c9a2ce98c3f88b156f3e940c2888dc506e408aa760a9f1fcc846c5abb75ffe0de26c8138b268a779986bad3
107 +DIST firefox-101.0-ru.xpi 617781 BLAKE2B b340f626a1da5fb27ef17c336eab0a9ab9ca6f241a9d240de728549d09ba46ee18d9aecd8ee5a50b17ea3ec5d41cd67391b5110c44663ee391231723eced2823 SHA512 fa2a0f9b5442888ee7af3edca5744404e64ebca32133b2be178712465819f35885e47a22327a4edf9b7be5bb5b6cb6d5f82391368d40347ea5f5a4e714d31426
108 +DIST firefox-101.0-sco.xpi 490267 BLAKE2B d3eaf068abd4aafe63ced25b71f66f7bb1a9339f6566acd507b16ec5204146daa0d4075665eeb64b5927d9afc2816c15b180db3e99f3369a520b8edcd0ef41e8 SHA512 f87716df8d21310bd4a5d693390f8c12881e6fd71dc0c1028ba9fd4deb3f049f704c1b869b1fb8868f05fc407ff6b326877dd637bc3fd19a4959c7a3ade4e744
109 +DIST firefox-101.0-si.xpi 476127 BLAKE2B b0d6957490ddee4dd7ab1675550e8767d298feb38410c69ac5084a9e8c7741fa294a21a65628c2de629627f210e33ba6eecbae6498a5e78beb5c8276a75b0668 SHA512 086d8be2a7b79375126436ace64bb468258e504e57e0e4e19f17c5dc85acac76cdf62603d98747f24e2f2bbd7796b927e4639ffbe7b5a12afc18b00b364b939b
110 +DIST firefox-101.0-sk.xpi 558358 BLAKE2B 6f83449bf0cc6cf395fe4a9b2a109a8605609fd7f491efcde43011cff1e9b467da5cd01106c7f6ffcd3f72bf4ecc013a85dc95f041b9271bc96c407a00963102 SHA512 07edb792a048021c53af600a6b04ad70abec9452e1fec2112f111b20f6995c043bc2a683533f059ea9f7cc7e9bcf619d808bb59de2ae578548323f59d09c6d42
111 +DIST firefox-101.0-sl.xpi 531097 BLAKE2B 50fc2b60f440e26fb70a3cf8edca5a04892e3f31d57f392593ba37fc8f54cfcca9dccd238618ad27bf061e7a854a09b80384d4b40511810a1ec6591f1ab80383 SHA512 699e4ee37ed88cac8e9fc4763c81f1179fc84d9f6e1db982eb2a89621a64da78c42507f07ead7b0ad737d5419d0d2d166b26cc6b0421c2a0036d714f08caa465
112 +DIST firefox-101.0-son.xpi 415524 BLAKE2B 6d0db35f2fa4f0f19b3b5124239c4d1c98a3c71e6b266c015ac2e462057d0fac4d6eb044dcf7725f4f2987feecdd3d2bbe43433efd4e58619dc141af6d61c96d SHA512 f1e2dfcfb2dbe6c4c06bec890b77b982ed5bbcab43e064e82f19b600f182ba3318ebbbd8a9e792f0ca312b0ddfaedff067cb38c46afa0ccef708da7cfa9c0d69
113 +DIST firefox-101.0-sq.xpi 546725 BLAKE2B 5ac336c462a75b5f0a937a142dd36c740e9b9544a9632d6ecb216146645a486e0cff1fea50411ee598813a5f21053d69242674314f1d8dd0ddbb01f460f64ec8 SHA512 89a99b0b72326f50d04ad75bbf9c4156e932a44ccc0408449973afdfe9a8e810c2f9a54c8edb4997fcd3c648f935d9510762c477a98688c2d8a803bb42c98062
114 +DIST firefox-101.0-sr.xpi 571499 BLAKE2B 4119871309cf09b1b6b94567fb0a862bab2c6e7ac7f716b75f3c0c12d5c362b2dc852a9c2d37c3d532b8c383f74675ce7ae76dd166de1b89b3dfefe9be1715f9 SHA512 59d6a7fe568cc704ac58acbd41de55793d3c9864b1a3010a6d7a65ed0046fab8fc7e92f65ee9ed7d75425dbcffd211b744ada68cdb9985f8a8a92a306f31a6cb
115 +DIST firefox-101.0-sv-SE.xpi 532145 BLAKE2B 86a75e4680fc9c6410b8c962c21960d45f1b906967431522445b25a0a4dd6042e02b86f959ca8972b57193781f333c830b3b663553bec051f51fbb7f3bf1d533 SHA512 eea4ee8a7a3969b3304a73bcd9832caa84722c4241894deaa83711164b565afcff3b9ecd18867e6e0bc5c89aab2f1d1db50141b36602938b5fc344cf54a409f3
116 +DIST firefox-101.0-szl.xpi 502506 BLAKE2B 03fdfe9bf053508f0b5ef4cfbaebeb19065c1ca4f55a4e79566c2e64e31fbe0551a6d707a16fe3298160289665b315969bece8c6fc26dabe9bd036bfc92fbbb4 SHA512 39e646563bb8ca5f1564b94044743c6edc124d072f3ac726661f6676b5ed1b37c97d5acfa16617a47713390cb9b01e6765cd5971bddcbcd54cd5709a2f8b6cde
117 +DIST firefox-101.0-ta.xpi 500997 BLAKE2B c0af351654be4f327846f9c986b87c99074dc53f478549e555f6a7d13bc857338dc19d750a87a9a7356db9299bebc1d1296aab83a5d5099b0621b6822301aaac SHA512 f209f73f57cd7cf13d67011f518be989fc468a5e0ad35a31ffc3ae60555517f4994e830643dee39c56eec0bebc0f475007ce2506162ae7b66a5653c569177200
118 +DIST firefox-101.0-te.xpi 541004 BLAKE2B a971a8008e0d7d75054bd502bee5e006cd32ba222fce0168198eb2af12a721ee89f09b24ad48da5a656182f8bf7d07f6240dcd2c8b0dff93ff33df096120582f SHA512 842916e41371e260f659932dfc935781667ef48b79bf78dfcf7db0d93328464bc86c8bc440277e3a0181eacabe1eb9f47aa54e6a1eae17646ff01884684ace50
119 +DIST firefox-101.0-th.xpi 598582 BLAKE2B 0891cea480799f18e7d9fd955940c9ce6e67786255fa96138e1a57c9474de3934c479167c16c002523a4cde19efb2aac3506cc6005de577d3bacd256b3aca317 SHA512 9f135435b12a773ac41a5344f612193e8e8e0cd8a47972208829cfcf6788c2ab8af1b6d6024646f2b93473a0ba2cf5a6bee112ef9b1a492868fe4ce0a99ca1c0
120 +DIST firefox-101.0-tl.xpi 505942 BLAKE2B 0ceec5ae7a66b576ed9f2c7c0dcdb57bea78f0eb708c60cd744fbe0f95c7cb1d5848c6387b733c7c06a3ea1169d8fb3e7a6a86416f3bda43375f1b0eb364af98 SHA512 06591c770820c790279a43ce1f3e6707933f6d4a96be9c528210b3563dfeb7cfdb6c77ef8cf07cc2d06cace4fbf0f010db2fbbcdd957fd9068e720f6de08d0e4
121 +DIST firefox-101.0-tr.xpi 545467 BLAKE2B defd18d757683aa8276930718acf4daa572131ce051fa89317120d2182c89193b3931bc838a34abc9b2248375d6da73df090e5893ba18ac02bfdc10a27301010 SHA512 65057bb62b9181e6415419d9136dd4e6d8abbc4735b01486730f5c51084f4fe5295b096dacea3c06d75cb18740b93afd2b7b287ab4ae5f10e5120decc88a4fdd
122 +DIST firefox-101.0-trs.xpi 480504 BLAKE2B 002b98f42dd12497b373b878b848da35e1ee8aa3891ed5b8d69b5d0338e0db80534d7c4fc07657784b151129ba063fec6e21cd99dac63465eef7ebd2c6deb0b9 SHA512 ea07ecc3c520af78eb343eacbb4035788871275cd199f01c9e378a5824f009533bfe5855294d9465fed4eb260f9571192711f87ee9814b47b6919ad696be7294
123 +DIST firefox-101.0-uk.xpi 611842 BLAKE2B b08e041195924ed61ccfc9512310758b7dc0ca0bea724dc87ae02ef98a6d191127d109d44090b6a3a9769ae3a2c43245462078f7154cd91a6b731611344da670 SHA512 6c5aff629856ae3a7c3e71726a51f5985be6b3b720b4e2106019ec4f225128db5b6c96b7cfb6605208894c9055d8ded182bc1a52e8f7c1d1009a4ff6ebb8e02e
124 +DIST firefox-101.0-ur.xpi 548437 BLAKE2B f4837d3440c6b3744cc8cb259683dc54dab7bc8108d84587ba64f8cee2956257b58b6136c4e35e621b7dfb84a012e46bcc7c6cc3bbce8b1ecb6c8412459d6e8c SHA512 c04aa823829093c88fed63ae1bba07a0c1b03f38e676a45009bf4212f286994c470e809b042dbc700d4c196dbb51a6bbc951149cf078466cb2c3cd39c00ee448
125 +DIST firefox-101.0-uz.xpi 468689 BLAKE2B 05f3d5fdc7376b94fdd0c7bcad6e7b2256dcc627e570b0ec51048b8d8ed44671bcde728fc3c4cbe5e86546db3abb1bafcbb0438dcc964f2f2ab5c924a7f9282b SHA512 e413b3e596f9de8e340c8334650c58fe1998a8d0187a8c0ea9ef1d13a29f6bc71ec9d55a05c0c11482f0c1bf3fb0a09061f69e0f87e315999e12c00cf1e4a8e9
126 +DIST firefox-101.0-vi.xpi 564700 BLAKE2B c7680c2beca53d285ca6bd412ac0dd18fdf589e39e14373fb0e4d284f70b55da278871080aabc6f16828068927a0b156d93e959a92f48f647d1d8e9689dae530 SHA512 3aed361bf35dbd8d215afd8037ed3fe06d756bd395dceefa06c999cf26ec6209b5aa1228b38bc4b6b042bb6c8438588264846d6346477088a96d55e0255a5c5d
127 +DIST firefox-101.0-xh.xpi 418658 BLAKE2B 68a9f90c2b92d8ed36e47d73077720b86e91abe379c4032041e244083fb70eee27a06a64b69417eed58849394e563a9641ed27247c23af1e82639ca776f1d0bf SHA512 1a0fe5caa261b66470b5033283e1699cd55f4c5a7a9b3e9614af19d6d11523de922e9540e0f9a914281920402c2a97654e2ddba04d8f08acb4e317cc7181c5a2
128 +DIST firefox-101.0-zh-CN.xpi 567077 BLAKE2B 051b082f6f6eab983b3eb6ac94fd673b80e4db1aebc533240d6b029905d7ae8de39cbf15d7eac67f5cfc9f8370951591f9a6e2153b806e174222447195f3dc4a SHA512 37c646b5c1c2ba49b20dcbb197f8856c2198de66705c11279ac790ef2be25dde843fab1a96f767129b15080445a961079edf4e9d58064f7d521357c596fa9fff
129 +DIST firefox-101.0-zh-TW.xpi 567648 BLAKE2B 1b9cdf34a9553c665b38b8b02814fdca8536ffd30da6d92c1ded2d3b0706d933809193705e05578f362f5a2653c88aab5a6c92290f88a55f1e31104d8be18ea9 SHA512 0a0680d6fd6d158a7bc0b5f19e24028647b3eb63b571bc4dc4741a2e647fa4d8de4120bf2fdba6481890cf75bf293e7c7779050f219738bbe23cfcf334516e5d
130 +DIST firefox-101.0.source.tar.xz 490975228 BLAKE2B 7d819a8d66df38a80929d83ed42bcaf0c3fab431c8593a98c8381a4757776540475ca77fdcbcc144e1ba7c27b851d51da653d375a34a9dbe9785a09d319554c4 SHA512 fffe7e0940c1443fcdc5b205677764cb4e04b29f33fcfafb2857d383700584f309806b81fc4989efb56cc12a3cca1ff7d451b647050c43e98777b5c952ed5d56
131 DIST firefox-91.9.0esr-ach.xpi 453213 BLAKE2B 6ad8fb45ebed65b82ca407ca81e1a32cfae6da2dc93b7c06746f47829b4434a7fa41db3e8b0b307cc65e141485b3164595bed8df12b9ececaf86c251514203db SHA512 6886cbfcaf422a853811f56077a6b29c432bfa34fdc3768e62dde52d477ce99dedda2aba542e2813343b547b350b8d39d32784e496f8d18a02f9fa0954fcc470
132 DIST firefox-91.9.0esr-af.xpi 426927 BLAKE2B 5375b04882b53a6ce1828a01a565d49ba02ceb076b89b8a64ff93f07573ebf3594db7ecae373b550496532a61ad2b4bcf62d2854278b517641c8b052cf8c8009 SHA512 7c374825faa131baa771bc4aa836656b1e456dd862db0d9fb52f13206c43f1162de30a0192ca023f0dc1ed98ad351a921917a6ad56ebffa4cfa3643b8210a478
133 DIST firefox-91.9.0esr-an.xpi 499888 BLAKE2B f16f44afb6ae2d766a56e5eaa632c07616f0a4c6160625ac2013a0db8180fd8f83cf99d6291cf9d1458326b0dc155a992293682c05d790677f851f5a7d6fb910 SHA512 39069d165df48dea9047dc25dbc2ef8fd2f31249b487638f0769680da4d0a3841fa9bedfc23cdb7f4d563408914c052f388825f331b3a5104169bd79a1c49691
134
135 diff --git a/www-client/firefox/firefox-101.0.ebuild b/www-client/firefox/firefox-101.0.ebuild
136 new file mode 100644
137 index 000000000000..7a8a1e28e9be
138 --- /dev/null
139 +++ b/www-client/firefox/firefox-101.0.ebuild
140 @@ -0,0 +1,1266 @@
141 +# Copyright 1999-2022 Gentoo Authors
142 +# Distributed under the terms of the GNU General Public License v2
143 +
144 +EAPI="8"
145 +
146 +FIREFOX_PATCHSET="firefox-101-patches-01j.tar.xz"
147 +
148 +LLVM_MAX_SLOT=14
149 +
150 +PYTHON_COMPAT=( python3_{8..10} )
151 +PYTHON_REQ_USE="ncurses,sqlite,ssl"
152 +
153 +WANT_AUTOCONF="2.1"
154 +
155 +VIRTUALX_REQUIRED="pgo"
156 +
157 +MOZ_ESR=
158 +
159 +MOZ_PV=${PV}
160 +MOZ_PV_SUFFIX=
161 +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
162 + MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
163 +
164 + # Convert the ebuild version to the upstream Mozilla version
165 + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
166 + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
167 + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
168 +fi
169 +
170 +if [[ -n ${MOZ_ESR} ]] ; then
171 + # ESR releases have slightly different version numbers
172 + MOZ_PV="${MOZ_PV}esr"
173 +fi
174 +
175 +MOZ_PN="${PN%-bin}"
176 +MOZ_P="${MOZ_PN}-${MOZ_PV}"
177 +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
178 +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
179 +
180 +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
181 + llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
182 + virtualx xdg
183 +
184 +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
185 +
186 +if [[ ${PV} == *_rc* ]] ; then
187 + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
188 +fi
189 +
190 +PATCH_URIS=(
191 + https://dev.gentoo.org/~{juippis,polynomial-c,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET}
192 +)
193 +
194 +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
195 + ${PATCH_URIS[@]}"
196 +
197 +DESCRIPTION="Firefox Web Browser"
198 +HOMEPAGE="https://www.mozilla.com/firefox"
199 +
200 +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
201 +
202 +SLOT="rapid"
203 +LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
204 +
205 +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
206 +IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux"
207 +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp"
208 +IUSE+=" wayland wifi"
209 +
210 +# Firefox-only IUSE
211 +IUSE+=" geckodriver +gmp-autoupdate screencast"
212 +
213 +REQUIRED_USE="debug? ( !system-av1 )
214 + pgo? ( lto )
215 + wayland? ( dbus )
216 + wifi? ( dbus )"
217 +
218 +# Firefox-only REQUIRED_USE flags
219 +REQUIRED_USE+=" screencast? ( wayland )"
220 +
221 +BDEPEND="${PYTHON_DEPS}
222 + app-arch/unzip
223 + app-arch/zip
224 + >=dev-util/cbindgen-0.23.0
225 + >=net-libs/nodejs-10.23.1
226 + virtual/pkgconfig
227 + >=virtual/rust-1.59.0
228 + || (
229 + (
230 + sys-devel/clang:14
231 + sys-devel/llvm:14
232 + clang? (
233 + =sys-devel/lld-14*
234 + pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] )
235 + )
236 + )
237 + (
238 + sys-devel/clang:13
239 + sys-devel/llvm:13
240 + clang? (
241 + =sys-devel/lld-13*
242 + pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
243 + )
244 + )
245 + (
246 + sys-devel/clang:12
247 + sys-devel/llvm:12
248 + clang? (
249 + =sys-devel/lld-12*
250 + pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
251 + )
252 + )
253 + )
254 + amd64? ( >=dev-lang/nasm-2.14 )
255 + x86? ( >=dev-lang/nasm-2.14 )"
256 +
257 +COMMON_DEPEND="
258 + dev-libs/atk
259 + dev-libs/expat
260 + dev-libs/glib:2
261 + dev-libs/libffi:=
262 + >=dev-libs/nss-3.78
263 + >=dev-libs/nspr-4.32
264 + media-libs/alsa-lib
265 + media-libs/fontconfig
266 + media-libs/freetype
267 + media-libs/mesa
268 + media-video/ffmpeg
269 + sys-libs/zlib
270 + virtual/freedesktop-icon-theme
271 + x11-libs/cairo[X]
272 + x11-libs/gdk-pixbuf
273 + x11-libs/gtk+:3[X]
274 + x11-libs/libX11
275 + x11-libs/libXcomposite
276 + x11-libs/libXdamage
277 + x11-libs/libXext
278 + x11-libs/libXfixes
279 + x11-libs/libXrandr
280 + x11-libs/libXrender
281 + x11-libs/libXtst
282 + x11-libs/libxcb:=
283 + x11-libs/pango
284 + x11-libs/pixman
285 + dbus? (
286 + sys-apps/dbus
287 + dev-libs/dbus-glib
288 + )
289 + jack? ( virtual/jack )
290 + libproxy? ( net-libs/libproxy )
291 + screencast? ( media-video/pipewire:= )
292 + selinux? ( sec-policy/selinux-mozilla )
293 + sndio? ( media-sound/sndio )
294 + system-av1? (
295 + >=media-libs/dav1d-0.9.3:=
296 + >=media-libs/libaom-1.0.0:=
297 + )
298 + system-harfbuzz? (
299 + >=media-gfx/graphite2-1.3.13
300 + >=media-libs/harfbuzz-2.8.1:0=
301 + )
302 + system-icu? ( >=dev-libs/icu-71.1:= )
303 + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
304 + system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
305 + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
306 + system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
307 + system-webp? ( >=media-libs/libwebp-1.1.0:0= )
308 + wifi? (
309 + kernel_linux? (
310 + dev-libs/dbus-glib
311 + net-misc/networkmanager
312 + sys-apps/dbus
313 + )
314 + )"
315 +
316 +RDEPEND="${COMMON_DEPEND}
317 + !www-client/firefox:0
318 + !www-client/firefox:esr
319 + jack? ( virtual/jack )
320 + openh264? ( media-libs/openh264:*[plugin] )
321 + pulseaudio? (
322 + || (
323 + media-sound/pulseaudio
324 + >=media-sound/apulse-0.1.12-r4
325 + )
326 + )
327 + selinux? ( sec-policy/selinux-mozilla )"
328 +
329 +DEPEND="${COMMON_DEPEND}
330 + x11-libs/libICE
331 + x11-libs/libSM
332 + pulseaudio? (
333 + || (
334 + media-sound/pulseaudio
335 + >=media-sound/apulse-0.1.12-r4[sdk]
336 + )
337 + )
338 + wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
339 + amd64? ( virtual/opengl )
340 + x86? ( virtual/opengl )"
341 +
342 +S="${WORKDIR}/${PN}-${PV%_*}"
343 +
344 +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
345 +# overridden in the enviromnent (advanced hackers only)
346 +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
347 + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
348 +fi
349 +
350 +llvm_check_deps() {
351 + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
352 + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
353 + return 1
354 + fi
355 +
356 + if use clang ; then
357 + if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
358 + einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
359 + return 1
360 + fi
361 +
362 + if use pgo ; then
363 + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
364 + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
365 + return 1
366 + fi
367 + fi
368 + fi
369 +
370 + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
371 +}
372 +
373 +MOZ_LANGS=(
374 + af ar ast be bg br ca cak cs cy da de dsb
375 + el en-CA en-GB en-US es-AR es-ES et eu
376 + fi fr fy-NL ga-IE gd gl he hr hsb hu
377 + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
378 + pa-IN pl pt-BR pt-PT rm ro ru
379 + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
380 +)
381 +
382 +# Firefox-only LANGS
383 +MOZ_LANGS+=( ach )
384 +MOZ_LANGS+=( an )
385 +MOZ_LANGS+=( az )
386 +MOZ_LANGS+=( bn )
387 +MOZ_LANGS+=( bs )
388 +MOZ_LANGS+=( ca-valencia )
389 +MOZ_LANGS+=( eo )
390 +MOZ_LANGS+=( es-CL )
391 +MOZ_LANGS+=( es-MX )
392 +MOZ_LANGS+=( fa )
393 +MOZ_LANGS+=( ff )
394 +MOZ_LANGS+=( gn )
395 +MOZ_LANGS+=( gu-IN )
396 +MOZ_LANGS+=( hi-IN )
397 +MOZ_LANGS+=( hy-AM )
398 +MOZ_LANGS+=( ia )
399 +MOZ_LANGS+=( km )
400 +MOZ_LANGS+=( kn )
401 +MOZ_LANGS+=( lij )
402 +MOZ_LANGS+=( mk )
403 +MOZ_LANGS+=( mr )
404 +MOZ_LANGS+=( my )
405 +MOZ_LANGS+=( ne-NP )
406 +MOZ_LANGS+=( oc )
407 +MOZ_LANGS+=( sco )
408 +MOZ_LANGS+=( si )
409 +MOZ_LANGS+=( son )
410 +MOZ_LANGS+=( szl )
411 +MOZ_LANGS+=( ta )
412 +MOZ_LANGS+=( te )
413 +MOZ_LANGS+=( tl )
414 +MOZ_LANGS+=( trs )
415 +MOZ_LANGS+=( ur )
416 +MOZ_LANGS+=( xh )
417 +
418 +mozilla_set_globals() {
419 + # https://bugs.gentoo.org/587334
420 + local MOZ_TOO_REGIONALIZED_FOR_L10N=(
421 + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
422 + )
423 +
424 + local lang xflag
425 + for lang in "${MOZ_LANGS[@]}" ; do
426 + # en and en_US are handled internally
427 + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
428 + continue
429 + fi
430 +
431 + # strip region subtag if $lang is in the list
432 + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
433 + xflag=${lang%%-*}
434 + else
435 + xflag=${lang}
436 + fi
437 +
438 + SRC_URI+=" l10n_${xflag/[_@]/-}? ("
439 + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
440 + SRC_URI+=" )"
441 + IUSE+=" l10n_${xflag/[_@]/-}"
442 + done
443 +}
444 +mozilla_set_globals
445 +
446 +moz_clear_vendor_checksums() {
447 + debug-print-function ${FUNCNAME} "$@"
448 +
449 + if [[ ${#} -ne 1 ]] ; then
450 + die "${FUNCNAME} requires exact one argument"
451 + fi
452 +
453 + einfo "Clearing cargo checksums for ${1} ..."
454 +
455 + sed -i \
456 + -e 's/\("files":{\)[^}]*/\1/' \
457 + "${S}"/third_party/rust/${1}/.cargo-checksum.json \
458 + || die
459 +}
460 +
461 +moz_install_xpi() {
462 + debug-print-function ${FUNCNAME} "$@"
463 +
464 + if [[ ${#} -lt 2 ]] ; then
465 + die "${FUNCNAME} requires at least two arguments"
466 + fi
467 +
468 + local DESTDIR=${1}
469 + shift
470 +
471 + insinto "${DESTDIR}"
472 +
473 + local emid xpi_file xpi_tmp_dir
474 + for xpi_file in "${@}" ; do
475 + emid=
476 + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
477 +
478 + # Unpack XPI
479 + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
480 +
481 + # Determine extension ID
482 + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
483 + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
484 + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
485 + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
486 + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
487 + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
488 + else
489 + die "failed to determine extension id"
490 + fi
491 +
492 + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
493 + newins "${xpi_file}" "${emid}.xpi"
494 + done
495 +}
496 +
497 +mozconfig_add_options_ac() {
498 + debug-print-function ${FUNCNAME} "$@"
499 +
500 + if [[ ${#} -lt 2 ]] ; then
501 + die "${FUNCNAME} requires at least two arguments"
502 + fi
503 +
504 + local reason=${1}
505 + shift
506 +
507 + local option
508 + for option in ${@} ; do
509 + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
510 + done
511 +}
512 +
513 +mozconfig_add_options_mk() {
514 + debug-print-function ${FUNCNAME} "$@"
515 +
516 + if [[ ${#} -lt 2 ]] ; then
517 + die "${FUNCNAME} requires at least two arguments"
518 + fi
519 +
520 + local reason=${1}
521 + shift
522 +
523 + local option
524 + for option in ${@} ; do
525 + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
526 + done
527 +}
528 +
529 +mozconfig_use_enable() {
530 + debug-print-function ${FUNCNAME} "$@"
531 +
532 + if [[ ${#} -lt 1 ]] ; then
533 + die "${FUNCNAME} requires at least one arguments"
534 + fi
535 +
536 + local flag=$(use_enable "${@}")
537 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
538 +}
539 +
540 +mozconfig_use_with() {
541 + debug-print-function ${FUNCNAME} "$@"
542 +
543 + if [[ ${#} -lt 1 ]] ; then
544 + die "${FUNCNAME} requires at least one arguments"
545 + fi
546 +
547 + local flag=$(use_with "${@}")
548 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
549 +}
550 +
551 +pkg_pretend() {
552 + if [[ ${MERGE_TYPE} != binary ]] ; then
553 + if use pgo ; then
554 + if ! has usersandbox $FEATURES ; then
555 + die "You must enable usersandbox as X server can not run as root!"
556 + fi
557 + fi
558 +
559 + # Ensure we have enough disk space to compile
560 + if use pgo || use lto || use debug ; then
561 + CHECKREQS_DISK_BUILD="13500M"
562 + else
563 + CHECKREQS_DISK_BUILD="6600M"
564 + fi
565 +
566 + check-reqs_pkg_pretend
567 + fi
568 +}
569 +
570 +pkg_setup() {
571 + if [[ ${MERGE_TYPE} != binary ]] ; then
572 + if use pgo ; then
573 + if ! has userpriv ${FEATURES} ; then
574 + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
575 + fi
576 + fi
577 +
578 + # Ensure we have enough disk space to compile
579 + if use pgo || use lto || use debug ; then
580 + CHECKREQS_DISK_BUILD="13500M"
581 + else
582 + CHECKREQS_DISK_BUILD="6400M"
583 + fi
584 +
585 + check-reqs_pkg_setup
586 +
587 + llvm_pkg_setup
588 +
589 + if use clang && use lto ; then
590 + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
591 + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
592 + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
593 +
594 + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
595 + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
596 + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
597 +
598 + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
599 + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
600 + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
601 + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
602 + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
603 + eerror " - Build ${CATEGORY}/${PN} without USE=lto"
604 + eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
605 + eerror " llvm/clang/lld/rust chain depending on your @world updates)"
606 + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
607 + fi
608 + fi
609 +
610 + if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
611 + && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
612 + # bug 792705
613 + eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
614 + die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
615 + fi
616 +
617 + python-any-r1_pkg_setup
618 +
619 + # Avoid PGO profiling problems due to enviroment leakage
620 + # These should *always* be cleaned up anyway
621 + unset \
622 + DBUS_SESSION_BUS_ADDRESS \
623 + DISPLAY \
624 + ORBIT_SOCKETDIR \
625 + SESSION_MANAGER \
626 + XAUTHORITY \
627 + XDG_CACHE_HOME \
628 + XDG_SESSION_COOKIE
629 +
630 + # Build system is using /proc/self/oom_score_adj, bug #604394
631 + addpredict /proc/self/oom_score_adj
632 +
633 + if use pgo ; then
634 + # Allow access to GPU during PGO run
635 + local ati_cards mesa_cards nvidia_cards render_cards
636 + shopt -s nullglob
637 +
638 + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
639 + if [[ -n "${ati_cards}" ]] ; then
640 + addpredict "${ati_cards}"
641 + fi
642 +
643 + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
644 + if [[ -n "${mesa_cards}" ]] ; then
645 + addpredict "${mesa_cards}"
646 + fi
647 +
648 + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
649 + if [[ -n "${nvidia_cards}" ]] ; then
650 + addpredict "${nvidia_cards}"
651 + fi
652 +
653 + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
654 + if [[ -n "${render_cards}" ]] ; then
655 + addpredict "${render_cards}"
656 + fi
657 +
658 + shopt -u nullglob
659 + fi
660 +
661 + if ! mountpoint -q /dev/shm ; then
662 + # If /dev/shm is not available, configure is known to fail with
663 + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
664 + ewarn "/dev/shm is not mounted -- expect build failures!"
665 + fi
666 +
667 + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
668 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
669 + # get your own set of keys.
670 + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
671 + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
672 + fi
673 +
674 + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
675 + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
676 + fi
677 +
678 + # Mozilla API keys (see https://location.services.mozilla.com/api)
679 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
680 + # get your own set of keys.
681 + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
682 + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
683 + fi
684 +
685 + # Ensure we use C locale when building, bug #746215
686 + export LC_ALL=C
687 + fi
688 +
689 + CONFIG_CHECK="~SECCOMP"
690 + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
691 + linux-info_pkg_setup
692 +}
693 +
694 +src_unpack() {
695 + local _lp_dir="${WORKDIR}/language_packs"
696 + local _src_file
697 +
698 + if [[ ! -d "${_lp_dir}" ]] ; then
699 + mkdir "${_lp_dir}" || die
700 + fi
701 +
702 + for _src_file in ${A} ; do
703 + if [[ ${_src_file} == *.xpi ]]; then
704 + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
705 + else
706 + unpack ${_src_file}
707 + fi
708 + done
709 +}
710 +
711 +src_prepare() {
712 + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
713 + eapply "${WORKDIR}/firefox-patches"
714 +
715 + # Allow user to apply any additional patches without modifing ebuild
716 + eapply_user
717 +
718 + # Make cargo respect MAKEOPTS
719 + export CARGO_BUILD_JOBS="$(makeopts_jobs)"
720 +
721 + # Make LTO respect MAKEOPTS
722 + sed -i \
723 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
724 + "${S}"/build/moz.configure/lto-pgo.configure \
725 + || die "sed failed to set num_cores"
726 +
727 + # Make ICU respect MAKEOPTS
728 + sed -i \
729 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
730 + "${S}"/intl/icu_sources_data.py \
731 + || die "sed failed to set num_cores"
732 +
733 + # sed-in toolchain prefix
734 + sed -i \
735 + -e "s/objdump/${CHOST}-objdump/" \
736 + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
737 + || die "sed failed to set toolchain prefix"
738 +
739 + sed -i \
740 + -e 's/ccache_stats = None/return None/' \
741 + "${S}"/python/mozbuild/mozbuild/controller/building.py \
742 + || die "sed failed to disable ccache stats call"
743 +
744 + einfo "Removing pre-built binaries ..."
745 + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
746 +
747 + # Clearing checksums where we have applied patches
748 + moz_clear_vendor_checksums target-lexicon-0.9.0
749 +
750 + # Create build dir
751 + BUILD_DIR="${WORKDIR}/${PN}_build"
752 + mkdir -p "${BUILD_DIR}" || die
753 +
754 + # Write API keys to disk
755 + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
756 + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
757 + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
758 +
759 + xdg_environment_reset
760 +}
761 +
762 +src_configure() {
763 + # Show flags set at the beginning
764 + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
765 + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
766 + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
767 + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
768 + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
769 +
770 + local have_switched_compiler=
771 + if use clang && ! tc-is-clang ; then
772 + # Force clang
773 + einfo "Enforcing the use of clang due to USE=clang ..."
774 + have_switched_compiler=yes
775 + AR=llvm-ar
776 + AS=llvm-as
777 + CC=${CHOST}-clang
778 + CXX=${CHOST}-clang++
779 + NM=llvm-nm
780 + RANLIB=llvm-ranlib
781 + elif ! use clang && ! tc-is-gcc ; then
782 + # Force gcc
783 + have_switched_compiler=yes
784 + einfo "Enforcing the use of gcc due to USE=-clang ..."
785 + AR=gcc-ar
786 + CC=${CHOST}-gcc
787 + CXX=${CHOST}-g++
788 + NM=gcc-nm
789 + RANLIB=gcc-ranlib
790 + fi
791 +
792 + if [[ -n "${have_switched_compiler}" ]] ; then
793 + # Because we switched active compiler we have to ensure
794 + # that no unsupported flags are set
795 + strip-unsupported-flags
796 + fi
797 +
798 + # Ensure we use correct toolchain
799 + export HOST_CC="$(tc-getBUILD_CC)"
800 + export HOST_CXX="$(tc-getBUILD_CXX)"
801 + tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
802 +
803 + # Pass the correct toolchain paths through cbindgen
804 + if tc-is-cross-compiler ; then
805 + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
806 + fi
807 +
808 + # Set MOZILLA_FIVE_HOME
809 + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
810 +
811 + # python/mach/mach/mixin/process.py fails to detect SHELL
812 + export SHELL="${EPREFIX}/bin/bash"
813 +
814 + # Set state path
815 + export MOZBUILD_STATE_PATH="${BUILD_DIR}"
816 +
817 + # Set MOZCONFIG
818 + export MOZCONFIG="${S}/.mozconfig"
819 +
820 + # Initialize MOZCONFIG
821 + mozconfig_add_options_ac '' --enable-application=browser
822 +
823 + # Set Gentoo defaults
824 + export MOZILLA_OFFICIAL=1
825 +
826 + mozconfig_add_options_ac 'Gentoo default' \
827 + --allow-addon-sideload \
828 + --disable-cargo-incremental \
829 + --disable-crashreporter \
830 + --disable-gpsd \
831 + --disable-install-strip \
832 + --disable-parental-controls \
833 + --disable-strip \
834 + --disable-updater \
835 + --enable-negotiateauth \
836 + --enable-new-pass-manager \
837 + --enable-official-branding \
838 + --enable-release \
839 + --enable-system-ffi \
840 + --enable-system-pixman \
841 + --host="${CBUILD:-${CHOST}}" \
842 + --libdir="${EPREFIX}/usr/$(get_libdir)" \
843 + --prefix="${EPREFIX}/usr" \
844 + --target="${CHOST}" \
845 + --without-ccache \
846 + --without-wasm-sandboxed-libraries \
847 + --with-intl-api \
848 + --with-libclang-path="$(llvm-config --libdir)" \
849 + --with-system-nspr \
850 + --with-system-nss \
851 + --with-system-zlib \
852 + --with-toolchain-prefix="${CHOST}-" \
853 + --with-unsigned-addon-scopes=app,system \
854 + --x-includes="${ESYSROOT}/usr/include" \
855 + --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
856 +
857 + # Set update channel
858 + local update_channel=release
859 + [[ -n ${MOZ_ESR} ]] && update_channel=esr
860 + mozconfig_add_options_ac '' --update-channel=${update_channel}
861 +
862 + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
863 + mozconfig_add_options_ac '' --enable-rust-simd
864 + fi
865 +
866 + # For future keywording: This is currently (97.0) only supported on:
867 + # amd64, arm, arm64 & x86.
868 + # Might want to flip the logic around if Firefox is to support more arches.
869 + if use ppc64; then
870 + mozconfig_add_options_ac '' --disable-sandbox
871 + else
872 + mozconfig_add_options_ac '' --enable-sandbox
873 + fi
874 +
875 + if [[ -s "${S}/api-google.key" ]] ; then
876 + local key_origin="Gentoo default"
877 + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
878 + key_origin="User value"
879 + fi
880 +
881 + mozconfig_add_options_ac "${key_origin}" \
882 + --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
883 + else
884 + einfo "Building without Google API key ..."
885 + fi
886 +
887 + if [[ -s "${S}/api-location.key" ]] ; then
888 + local key_origin="Gentoo default"
889 + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
890 + key_origin="User value"
891 + fi
892 +
893 + mozconfig_add_options_ac "${key_origin}" \
894 + --with-google-location-service-api-keyfile="${S}/api-location.key"
895 + else
896 + einfo "Building without Location API key ..."
897 + fi
898 +
899 + if [[ -s "${S}/api-mozilla.key" ]] ; then
900 + local key_origin="Gentoo default"
901 + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
902 + key_origin="User value"
903 + fi
904 +
905 + mozconfig_add_options_ac "${key_origin}" \
906 + --with-mozilla-api-keyfile="${S}/api-mozilla.key"
907 + else
908 + einfo "Building without Mozilla API key ..."
909 + fi
910 +
911 + mozconfig_use_with system-av1
912 + mozconfig_use_with system-harfbuzz
913 + mozconfig_use_with system-harfbuzz system-graphite2
914 + mozconfig_use_with system-icu
915 + mozconfig_use_with system-jpeg
916 + mozconfig_use_with system-libevent
917 + mozconfig_use_with system-libvpx
918 + mozconfig_use_with system-png
919 + mozconfig_use_with system-webp
920 +
921 + mozconfig_use_enable dbus
922 + mozconfig_use_enable libproxy
923 +
924 + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
925 +
926 + mozconfig_use_enable geckodriver
927 +
928 + if use hardened ; then
929 + mozconfig_add_options_ac "+hardened" --enable-hardening
930 + append-ldflags "-Wl,-z,relro -Wl,-z,now"
931 + fi
932 +
933 + local myaudiobackends=""
934 + use jack && myaudiobackends+="jack,"
935 + use sndio && myaudiobackends+="sndio,"
936 + use pulseaudio && myaudiobackends+="pulseaudio,"
937 + ! use pulseaudio && myaudiobackends+="alsa,"
938 +
939 + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
940 +
941 + mozconfig_use_enable wifi necko-wifi
942 +
943 + if use wayland ; then
944 + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
945 + else
946 + mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
947 + fi
948 +
949 + if use lto ; then
950 + if use clang ; then
951 + # Upstream only supports lld when using clang
952 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
953 +
954 + mozconfig_add_options_ac '+lto' --enable-lto=cross
955 +
956 + else
957 + # ThinLTO is currently broken, see bmo#1644409
958 + mozconfig_add_options_ac '+lto' --enable-lto=full
959 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
960 + fi
961 +
962 + if use pgo ; then
963 + mozconfig_add_options_ac '+pgo' MOZ_PGO=1
964 +
965 + if use clang ; then
966 + # Used in build/pgo/profileserver.py
967 + export LLVM_PROFDATA="llvm-profdata"
968 + fi
969 + fi
970 + else
971 + # Avoid auto-magic on linker
972 + if use clang ; then
973 + # This is upstream's default
974 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
975 + else
976 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
977 + fi
978 + fi
979 +
980 + # LTO flag was handled via configure
981 + filter-flags '-flto*'
982 +
983 + mozconfig_use_enable debug
984 + if use debug ; then
985 + mozconfig_add_options_ac '+debug' --disable-optimize
986 + else
987 + if is-flag '-g*' ; then
988 + if use clang ; then
989 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
990 + else
991 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
992 + fi
993 + else
994 + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
995 + fi
996 +
997 + if is-flag '-O0' ; then
998 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
999 + elif is-flag '-O4' ; then
1000 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
1001 + elif is-flag '-O3' ; then
1002 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
1003 + elif is-flag '-O1' ; then
1004 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
1005 + elif is-flag '-Os' ; then
1006 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
1007 + else
1008 + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
1009 + fi
1010 + fi
1011 +
1012 + # Debug flag was handled via configure
1013 + filter-flags '-g*'
1014 +
1015 + # Optimization flag was handled via configure
1016 + filter-flags '-O*'
1017 +
1018 + # Modifications to better support ARM, bug #553364
1019 + if use cpu_flags_arm_neon ; then
1020 + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
1021 +
1022 + if ! tc-is-clang ; then
1023 + # thumb options aren't supported when using clang, bug 666966
1024 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \
1025 + --with-thumb=yes \
1026 + --with-thumb-interwork=no
1027 + fi
1028 + fi
1029 +
1030 + if [[ ${CHOST} == armv*h* ]] ; then
1031 + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
1032 +
1033 + if ! use system-libvpx ; then
1034 + sed -i \
1035 + -e "s|softfp|hard|" \
1036 + "${S}"/media/libvpx/moz.build \
1037 + || die
1038 + fi
1039 + fi
1040 +
1041 + if use clang ; then
1042 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
1043 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
1044 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
1045 + local disable_elf_hack=
1046 + if use amd64 ; then
1047 + disable_elf_hack=yes
1048 + elif use x86 ; then
1049 + disable_elf_hack=yes
1050 + elif use arm ; then
1051 + disable_elf_hack=yes
1052 + fi
1053 +
1054 + if [[ -n ${disable_elf_hack} ]] ; then
1055 + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
1056 + fi
1057 + elif tc-is-gcc ; then
1058 + if ver_test $(gcc-fullversion) -ge 10 ; then
1059 + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
1060 + append-cxxflags -fno-tree-loop-vectorize
1061 + fi
1062 + fi
1063 +
1064 + # Additional ARCH support
1065 + case "${ARCH}" in
1066 + arm)
1067 + # Reduce the memory requirements for linking
1068 + if use clang ; then
1069 + # Nothing to do
1070 + :;
1071 + elif use lto ; then
1072 + append-ldflags -Wl,--no-keep-memory
1073 + else
1074 + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
1075 + fi
1076 + ;;
1077 + esac
1078 +
1079 + if ! use elibc_glibc ; then
1080 + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
1081 + fi
1082 +
1083 + # Allow elfhack to work in combination with unstripped binaries
1084 + # when they would normally be larger than 2GiB.
1085 + append-ldflags "-Wl,--compress-debug-sections=zlib"
1086 +
1087 + # Make revdep-rebuild.sh happy; Also required for musl
1088 + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
1089 +
1090 + # Pass $MAKEOPTS to build system
1091 + export MOZ_MAKE_FLAGS="${MAKEOPTS}"
1092 +
1093 + # Use system's Python environment
1094 + PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
1095 +
1096 + if use system-python-libs; then
1097 + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system"
1098 + else
1099 + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
1100 + fi
1101 +
1102 + # Disable notification when build system has finished
1103 + export MOZ_NOSPAM=1
1104 +
1105 + # Portage sets XARGS environment variable to "xargs -r" by default which
1106 + # breaks build system's check_prog() function which doesn't support arguments
1107 + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
1108 +
1109 + # Set build dir
1110 + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
1111 +
1112 + # Show flags we will use
1113 + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
1114 + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
1115 + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
1116 + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
1117 + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
1118 +
1119 + # Handle EXTRA_CONF and show summary
1120 + local ac opt hash reason
1121 +
1122 + # Apply EXTRA_ECONF entries to $MOZCONFIG
1123 + if [[ -n ${EXTRA_ECONF} ]] ; then
1124 + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
1125 + for opt in "${ac[@]}"; do
1126 + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
1127 + done
1128 + fi
1129 +
1130 + echo
1131 + echo "=========================================================="
1132 + echo "Building ${PF} with the following configuration"
1133 + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
1134 + [[ -z ${hash} || ${hash} == \# ]] \
1135 + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
1136 + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
1137 + done
1138 + echo "=========================================================="
1139 + echo
1140 +
1141 + ./mach configure || die
1142 +}
1143 +
1144 +src_compile() {
1145 + local virtx_cmd=
1146 +
1147 + if use pgo ; then
1148 + virtx_cmd=virtx
1149 +
1150 + # Reset and cleanup environment variables used by GNOME/XDG
1151 + gnome2_environment_reset
1152 +
1153 + addpredict /root
1154 + fi
1155 +
1156 + local -x GDK_BACKEND=x11
1157 +
1158 + ${virtx_cmd} ./mach build --verbose \
1159 + || die
1160 +}
1161 +
1162 +src_install() {
1163 + # xpcshell is getting called during install
1164 + pax-mark m \
1165 + "${BUILD_DIR}"/dist/bin/xpcshell \
1166 + "${BUILD_DIR}"/dist/bin/${PN} \
1167 + "${BUILD_DIR}"/dist/bin/plugin-container
1168 +
1169 + DESTDIR="${D}" ./mach install || die
1170 +
1171 + # Upstream cannot ship symlink but we can (bmo#658850)
1172 + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
1173 + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
1174 +
1175 + # Don't install llvm-symbolizer from sys-devel/llvm package
1176 + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
1177 + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
1178 + fi
1179 +
1180 + # Install policy (currently only used to disable application updates)
1181 + insinto "${MOZILLA_FIVE_HOME}/distribution"
1182 + newins "${FILESDIR}"/distribution.ini distribution.ini
1183 + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
1184 +
1185 + # Install system-wide preferences
1186 + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
1187 + insinto "${PREFS_DIR}"
1188 + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
1189 +
1190 + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
1191 +
1192 + # Set dictionary path to use system hunspell
1193 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
1194 + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
1195 + EOF
1196 +
1197 + # Force hwaccel prefs if USE=hwaccel is enabled
1198 + if use hwaccel ; then
1199 + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r1 \
1200 + >>"${GENTOO_PREFS}" \
1201 + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
1202 + fi
1203 +
1204 + if ! use gmp-autoupdate ; then
1205 + local plugin
1206 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1207 + einfo "Disabling auto-update for ${plugin} plugin ..."
1208 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
1209 + pref("media.${plugin}.autoupdate", false);
1210 + EOF
1211 + done
1212 + fi
1213 +
1214 + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
1215 + if use system-harfbuzz ; then
1216 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
1217 + sticky_pref("gfx.font_rendering.graphite.enabled", true);
1218 + EOF
1219 + fi
1220 +
1221 + # Install language packs
1222 + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
1223 + if [[ -n "${langpacks}" ]] ; then
1224 + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
1225 + fi
1226 +
1227 + # Install geckodriver
1228 + if use geckodriver ; then
1229 + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
1230 + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
1231 + exeinto "${MOZILLA_FIVE_HOME}"
1232 + doexe "${BUILD_DIR}"/dist/bin/geckodriver
1233 +
1234 + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
1235 + fi
1236 +
1237 + # Install icons
1238 + local icon_srcdir="${S}/browser/branding/official"
1239 + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
1240 +
1241 + insinto /usr/share/icons/hicolor/symbolic/apps
1242 + newins "${icon_symbolic_file}" ${PN}-symbolic.svg
1243 +
1244 + local icon size
1245 + for icon in "${icon_srcdir}"/default*.png ; do
1246 + size=${icon%.png}
1247 + size=${size##*/default}
1248 +
1249 + if [[ ${size} -eq 48 ]] ; then
1250 + newicon "${icon}" ${PN}.png
1251 + fi
1252 +
1253 + newicon -s ${size} "${icon}" ${PN}.png
1254 + done
1255 +
1256 + # Install menu
1257 + local app_name="Mozilla ${MOZ_PN^}"
1258 + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
1259 + local desktop_filename="${PN}.desktop"
1260 + local exec_command="${PN}"
1261 + local icon="${PN}"
1262 + local use_wayland="false"
1263 +
1264 + if use wayland ; then
1265 + use_wayland="true"
1266 + fi
1267 +
1268 + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
1269 +
1270 + sed -i \
1271 + -e "s:@NAME@:${app_name}:" \
1272 + -e "s:@EXEC@:${exec_command}:" \
1273 + -e "s:@ICON@:${icon}:" \
1274 + "${WORKDIR}/${PN}.desktop-template" \
1275 + || die
1276 +
1277 + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
1278 +
1279 + rm "${WORKDIR}/${PN}.desktop-template" || die
1280 +
1281 + # Install wrapper script
1282 + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
1283 + newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
1284 +
1285 + # Update wrapper
1286 + sed -i \
1287 + -e "s:@PREFIX@:${EPREFIX}/usr:" \
1288 + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
1289 + -e "s:@APULSELIB_DIR@:${apulselib}:" \
1290 + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
1291 + "${ED}/usr/bin/${PN}" \
1292 + || die
1293 +}
1294 +
1295 +pkg_preinst() {
1296 + xdg_pkg_preinst
1297 +
1298 + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
1299 + # does not need to be forced into the LD_LIBRARY_PATH
1300 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1301 + einfo "APULSE found; Generating library symlinks for sound support ..."
1302 + local lib
1303 + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
1304 + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
1305 + # A quickpkg rolled by hand will grab symlinks as part of the package,
1306 + # so we need to avoid creating them if they already exist.
1307 + if [[ ! -L ${lib##*/} ]] ; then
1308 + ln -s "${lib}" ${lib##*/} || die
1309 + fi
1310 + done
1311 + popd &>/dev/null || die
1312 + fi
1313 +}
1314 +
1315 +pkg_postinst() {
1316 + xdg_pkg_postinst
1317 +
1318 + if ! use gmp-autoupdate ; then
1319 + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
1320 + elog "installing into new profiles:"
1321 + local plugin
1322 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1323 + elog "\t ${plugin}"
1324 + done
1325 + elog
1326 + fi
1327 +
1328 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1329 + elog "Apulse was detected at merge time on this system and so it will always be"
1330 + elog "used for sound. If you wish to use pulseaudio instead please unmerge"
1331 + elog "media-sound/apulse."
1332 + elog
1333 + fi
1334 +
1335 + local show_doh_information
1336 + local show_normandy_information
1337 + local show_shortcut_information
1338 +
1339 + if [[ -z "${REPLACING_VERSIONS}" ]] ; then
1340 + # New install; Tell user that DoH is disabled by default
1341 + show_doh_information=yes
1342 + show_normandy_information=yes
1343 + show_shortcut_information=no
1344 + else
1345 + local replacing_version
1346 + for replacing_version in ${REPLACING_VERSIONS} ; do
1347 + if ver_test "${replacing_version}" -lt 91.0 ; then
1348 + # Tell user that we no longer install a shortcut
1349 + # per supported display protocol
1350 + show_shortcut_information=yes
1351 + fi
1352 + done
1353 + fi
1354 +
1355 + if [[ -n "${show_doh_information}" ]] ; then
1356 + elog
1357 + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
1358 + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
1359 + elog "DNS traffic to Cloudflare by default is not a good idea and applications"
1360 + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
1361 + elog "(\"Off by choice\") by default."
1362 + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
1363 + fi
1364 +
1365 + # bug 713782
1366 + if [[ -n "${show_normandy_information}" ]] ; then
1367 + elog
1368 + elog "Upstream operates a service named Normandy which allows Mozilla to"
1369 + elog "push changes for default settings or even install new add-ons remotely."
1370 + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
1371 + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
1372 + elog "concerns prevail, which is why we have switched off the use of this"
1373 + elog "service by default."
1374 + elog
1375 + elog "To re-enable this service set"
1376 + elog
1377 + elog " app.normandy.enabled=true"
1378 + elog
1379 + elog "in about:config."
1380 + fi
1381 +
1382 + if [[ -n "${show_shortcut_information}" ]] ; then
1383 + elog
1384 + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
1385 + elog "each supported display protocol. Instead we will only install"
1386 + elog "one generic Mozilla ${PN^} shortcut."
1387 + elog "If you still want to be able to select between running Mozilla ${PN^}"
1388 + elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
1389 + fi
1390 +
1391 + # bug 835078
1392 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
1393 + ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
1394 + ewarn "enabled for Firefox. Nouveau / your GPU might not supported the "
1395 + ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
1396 + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
1397 + fi
1398 +
1399 + elog
1400 + elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using "
1401 + elog "useragent checks. To temporarily fix this, enter about:config and modify "
1402 + elog "network.http.useragent.forceVersion preference to \"99\"."
1403 + elog "Or install an addon to change your useragent."
1404 + elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100"
1405 + elog
1406 +}