summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonas Niilola <juippis@gentoo.org>2022-06-15 08:46:54 +0300
committerJoonas Niilola <juippis@gentoo.org>2022-06-15 08:47:49 +0300
commit307434e2beded9d5b54e36bea3c584f319af15a1 (patch)
tree7c8d27cb6ddba66ad88a93474689aef31bf371b4 /www-client
parentsys-apps/firejail: bump to 0.9.70 for security fixes; cleanup (diff)
downloadgentoo-307434e2beded9d5b54e36bea3c584f319af15a1.tar.gz
gentoo-307434e2beded9d5b54e36bea3c584f319af15a1.tar.bz2
gentoo-307434e2beded9d5b54e36bea3c584f319af15a1.zip
www-client/firefox: drop 101.0, 101.0-r10
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'www-client')
-rw-r--r--www-client/firefox/Manifest100
-rw-r--r--www-client/firefox/firefox-101.0-r10.ebuild1282
-rw-r--r--www-client/firefox/firefox-101.0.ebuild1266
3 files changed, 0 insertions, 2648 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index bde7105d05e3..8d92d2706d80 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -1,104 +1,5 @@
-DIST firefox-101-patches-01j.tar.xz 17516 BLAKE2B 1d222df49f8c97d71e07acbe1427351961425508af86d9df440e9a78026edacb638f1ac8e49bc93733aeffb68a270a7bf2e7f1758c285d682fbc6e8910f162cb SHA512 f7e59b67761caf60e6d37134a72d7d71bf9376a5ef9149fb83d59ddb227601a78b63685051ff634cfa17f49f5d77eba49f8ca6f9bb635fe97a4acbe8eb07177f
-DIST firefox-101-patches-03j.tar.xz 20448 BLAKE2B 4261674022814cc656a73785f75ceb489a4bf60132f027674ac841e61a43b6defcdafe14878dcb8cd01911f43952d9e2c99b23065d4e68b68d907ae176d2aaa4 SHA512 316e3474a631bfc636d2f76dc709146aec0010f44c0b1e8b40d9b603000063320257b80dc758d8e08441b67125fa2346cb468470b87efcbb3324c1be3c492f44
DIST firefox-101-patches-04j.tar.xz 35036 BLAKE2B 6643183d0721e557497d85169546de0e9f9f4718aabd3c8b9ee50f596107a9b500212b41cfaccad8e524a882ae39a8e17bf27d2e370ad894a1e617390b428b7e SHA512 10f451d3ccbd1276a7a340146cedcf2d6bd1066f74237a27d45be63aff257e7e74e50965c8663df9d9141662d039ae7d2d112a1e05d67ff4931f3c63cc7b4620
DIST firefox-101-patches-04jwl.tar.xz 37124 BLAKE2B f8e3dac57ee6cc1ca7dc29451d570d9ca4d1ffddfaaeca991ab0159232fdffd9d6f91c073ece33f8e00a9e6ef52c3ab73b0431d00408b11537ead382f6b52885 SHA512 9b91708845f7d4fb836ffe3050b07534c9a4ad1d4e9eadbe9eb528d787f755aa8a4ecedb454ec1ecc980b20ea2f2b9bfb33f95aecc09e95b154fc7b25897dc37
-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.1-ach.xpi 443457 BLAKE2B 68a1ebdccbce17eeac8824e63e034f0db706a091b4dea9ce1c14d0b769ad404e36004e89a838ef68bfbc44336125bb3494ade8b076ce38e70ea15b78f394f8e5 SHA512 9ee130d4e96bb73ec2ec01bd75faa2687bcb620727f44e199ee17db3e523254e0a0e8bd8d1813f4eebeb80e575ba20b312677d23a4994aadc6a4d4fb9bbfa5b8
DIST firefox-101.0.1-af.xpi 413389 BLAKE2B d531c87e3df019cd5ff8e497cb3e74f000d238b65329d4eff72fbe80c2e3052abbaa19bac17d9383df1a2d88e60fa20c9511b1c12ca3fc06fb986db4902da772 SHA512 c9ddeb4ddd6dd8704c17f5dd8bf8ebdb881d88ad1bb1e01737b70ba0efd3374fda0829123afcbfbf98b770be4c281a714fbab2ee30d6fceff3eacbfa398df9db
DIST firefox-101.0.1-an.xpi 487249 BLAKE2B 7d7d6b1b0590940df28b4a432d3909200496e500cce58cefb71393e6778723e71a251fede6470c97bb63b7e66b2c807bd9cf23fe4f790a9ea86c1f4856a48206 SHA512 fa7d675d52d547c7168e402e6a9c4f4687a1b1dd251e8e75ed8d0b7e171960e2762ae42d94d950d1925467b6195141101dd0b662c39919822ff2fdd2a248613f
@@ -197,7 +98,6 @@ DIST firefox-101.0.1-xh.xpi 418659 BLAKE2B 520914da5263161b9f9480e455b584cc48f42
DIST firefox-101.0.1-zh-CN.xpi 567077 BLAKE2B d15b9f6881ac0198c90024fb8dbc3b1370b0e3858857732e49d72991aea2ff7b943c5c40fd2488230e857d0b9d41d25746691ce5ac86b90127a543e3a697b1c7 SHA512 848462ae18da62d79aa6163dcb0e53adb4ac0fe031a80dd1f3a0b943102060548682f8921b02431df552fd817bbd246bac5663e091762eb1ec040308f34fe639
DIST firefox-101.0.1-zh-TW.xpi 567655 BLAKE2B f6a05838f02d95ad9ce8d2bde6b3f1b0c106fc11dbbd17000dcd4bf4c799a1f822f538bdc5667ac1bc87de34ce576dbd2e462d7dc6170a04f19f6fa3ee214116 SHA512 22fa87260421895813f5b3269e8a320d24b4477bad5c6108d0b68f80afeaaea2d90d367c436a49d643523a00bffbdf4c570c7d5544d3e6f1977a1c5b0473b3b5
DIST firefox-101.0.1.source.tar.xz 486021240 BLAKE2B 8dce0083dc1fa7d9f04b1a87a02e6e171e19b18ddeab210a12940a4e582e8420aebaafb2fbbfcbfcadc36c2004a61b4a3a24b630838b3a7f146945ea735ec045 SHA512 435a7f6013582933e75c41e554a45beda30b5affd7d3ed7d2876026609ba7f17b2c20b507d9d0c9ce2379e335ec09b021257ba30ac55fabf02dca54b03ea70b4
-DIST firefox-101.0.source.tar.xz 490975228 BLAKE2B 7d819a8d66df38a80929d83ed42bcaf0c3fab431c8593a98c8381a4757776540475ca77fdcbcc144e1ba7c27b851d51da653d375a34a9dbe9785a09d319554c4 SHA512 fffe7e0940c1443fcdc5b205677764cb4e04b29f33fcfafb2857d383700584f309806b81fc4989efb56cc12a3cca1ff7d451b647050c43e98777b5c952ed5d56
DIST firefox-91.10.0esr-ach.xpi 453209 BLAKE2B 14b4549f563075b1b91e626993d0bd9ded4798ed61a747e2bb11d0f1325fe3d506773b675148f3d4b292fd3799d92e3d9968679000879d7e4ae9dd75bec37815 SHA512 eab581d3b6e87f88b5ddeadcf805fc456ba5abdf8bcd571d961609aefefc35aefad841c078485a8509ff679baca516d2425f472a49bbe19fa782d8c8f52bc726
DIST firefox-91.10.0esr-af.xpi 426923 BLAKE2B bfebf65937d882cce010f41ac4e3bf0a91659b03d103a2bcd6975ceb1dfe8e4c6f93d18c9f9ee80b65d29f602b0894006c820d1fced79c38099b100696cde9c8 SHA512 b88dc4bb84e80752c1d3dfaee88f829312b063be11abaeb5d3b0a95e4441be7f89ce2fd090d50786bbc01839a08b9ff85c98a4d54c9304259078242187056426
DIST firefox-91.10.0esr-an.xpi 499888 BLAKE2B 67b8233f0cd6f3e1a0d7b9a3f98c1f98af4239e11e3b768d7825f11fb4c998bed424e605500ff9d470c1fe525b20a7d6cb28ebc1cf3b7edf104712d71a6a8f43 SHA512 ac68029cef8e543dfc7f954baa518cdd25180e5f9ddfee9114fcbff2cd9cc9784f7486c10c38e5c4980cbda5fc63b26d393ec1ef4457731378e48c762d16ca68
diff --git a/www-client/firefox/firefox-101.0-r10.ebuild b/www-client/firefox/firefox-101.0-r10.ebuild
deleted file mode 100644
index e409fa7f0871..000000000000
--- a/www-client/firefox/firefox-101.0-r10.ebuild
+++ /dev/null
@@ -1,1282 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-FIREFOX_PATCHSET="firefox-101-patches-03j.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 +X"
-
-REQUIRED_USE="debug? ( !system-av1 )
- pgo? ( lto )
- wayland? ( dbus )
- wifi? ( dbus )"
-
-# Firefox-only REQUIRED_USE flags
-REQUIRED_USE+=" || ( X wayland )"
-REQUIRED_USE+=" pgo? ( X )"
-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/glib:2
- dev-libs/atk
- dev-libs/expat
- 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
- x11-libs/gdk-pixbuf
- x11-libs/pango
- x11-libs/pixman
- dbus? (
- dev-libs/dbus-glib
- sys-apps/dbus
- )
- jack? ( virtual/jack )
- libproxy? ( net-libs/libproxy )
- selinux? ( sec-policy/selinux-mozilla )
- sndio? ( media-sound/sndio )
- screencast? ( media-video/pipewire:= )
- 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= )
- wayland? (
- x11-libs/gtk+:3[wayland]
- x11-libs/libdrm
- x11-libs/libxkbcommon[wayland]
- )
- wifi? (
- kernel_linux? (
- dev-libs/dbus-glib
- net-misc/networkmanager
- sys-apps/dbus
- )
- )
- X? (
- virtual/opengl
- x11-libs/cairo[X]
- x11-libs/gtk+:3[X]
- x11-libs/libX11
- x11-libs/libXcomposite
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libxkbcommon[X]
- x11-libs/libXrandr
- x11-libs/libXtst
- x11-libs/libxcb:=
- )"
-
-RDEPEND="${COMMON_DEPEND}
- !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}
- pulseaudio? (
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4[sdk]
- )
- )
- X? (
- x11-libs/libICE
- x11-libs/libSM
- )"
-
-S="${WORKDIR}/${PN}-${PV%_*}"
-
-# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
-# overridden in the enviromnent (advanced hackers only)
-if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
- MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
-fi
-
-llvm_check_deps() {
- if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
- einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
- return 1
- fi
-
- if use clang ; then
- if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
- einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
- return 1
- fi
-
- if 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 X && use wayland ; then
- mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
- elif ! use X && use wayland ; then
- mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only
- else
- mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3
- fi
-
- if use lto ; then
- if use clang ; then
- # Upstream only supports lld when using clang
- mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
-
- mozconfig_add_options_ac '+lto' --enable-lto=cross
-
- else
- # ThinLTO is currently broken, see bmo#1644409
- mozconfig_add_options_ac '+lto' --enable-lto=full
- mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
- fi
-
- if use pgo ; then
- mozconfig_add_options_ac '+pgo' MOZ_PGO=1
-
- if use clang ; then
- # Used in build/pgo/profileserver.py
- export LLVM_PROFDATA="llvm-profdata"
- fi
- fi
- else
- # Avoid auto-magic on linker
- if use clang ; then
- # This is upstream's default
- mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
- else
- mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
- fi
- fi
-
- # LTO flag was handled via configure
- filter-flags '-flto*'
-
- mozconfig_use_enable debug
- if use debug ; then
- mozconfig_add_options_ac '+debug' --disable-optimize
- else
- if is-flag '-g*' ; then
- if use clang ; then
- mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
- else
- mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
- fi
- else
- mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
- fi
-
- if is-flag '-O0' ; then
- mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
- elif is-flag '-O4' ; then
- mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
- elif is-flag '-O3' ; then
- mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
- elif is-flag '-O1' ; then
- mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
- elif is-flag '-Os' ; then
- mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
- else
- mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
- fi
- fi
-
- # Debug flag was handled via configure
- filter-flags '-g*'
-
- # Optimization flag was handled via configure
- filter-flags '-O*'
-
- # Modifications to better support ARM, bug #553364
- if use cpu_flags_arm_neon ; then
- mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
-
- if ! tc-is-clang ; then
- # thumb options aren't supported when using clang, bug 666966
- mozconfig_add_options_ac '+cpu_flags_arm_neon' \
- --with-thumb=yes \
- --with-thumb-interwork=no
- fi
- fi
-
- if [[ ${CHOST} == armv*h* ]] ; then
- mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
-
- if ! use system-libvpx ; then
- sed -i \
- -e "s|softfp|hard|" \
- "${S}"/media/libvpx/moz.build \
- || die
- fi
- fi
-
- if use clang ; then
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
- # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
- local disable_elf_hack=
- if use amd64 ; then
- disable_elf_hack=yes
- elif use x86 ; then
- disable_elf_hack=yes
- elif use arm ; then
- disable_elf_hack=yes
- fi
-
- if [[ -n ${disable_elf_hack} ]] ; then
- mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
- fi
- elif tc-is-gcc ; then
- if ver_test $(gcc-fullversion) -ge 10 ; then
- einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
- append-cxxflags -fno-tree-loop-vectorize
- fi
- fi
-
- # Additional ARCH support
- case "${ARCH}" in
- arm)
- # Reduce the memory requirements for linking
- if use clang ; then
- # Nothing to do
- :;
- elif use lto ; then
- append-ldflags -Wl,--no-keep-memory
- else
- append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
- fi
- ;;
- esac
-
- if ! use elibc_glibc ; then
- mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
- fi
-
- # Allow elfhack to work in combination with unstripped binaries
- # when they would normally be larger than 2GiB.
- append-ldflags "-Wl,--compress-debug-sections=zlib"
-
- # Make revdep-rebuild.sh happy; Also required for musl
- append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
-
- # Pass $MAKEOPTS to build system
- export MOZ_MAKE_FLAGS="${MAKEOPTS}"
-
- # Use system's Python environment
- 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
-
- if ! use X && use wayland; then
- local -x GDK_BACKEND=wayland
- else
- local -x GDK_BACKEND=x11
- fi
-
- ${virtx_cmd} ./mach build --verbose \
- || die
-}
-
-src_install() {
- # xpcshell is getting called during install
- pax-mark m \
- "${BUILD_DIR}"/dist/bin/xpcshell \
- "${BUILD_DIR}"/dist/bin/${PN} \
- "${BUILD_DIR}"/dist/bin/plugin-container
-
- DESTDIR="${D}" ./mach install || die
-
- # Upstream cannot ship symlink but we can (bmo#658850)
- rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
- dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
-
- # Don't install llvm-symbolizer from sys-devel/llvm package
- if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
- rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
- fi
-
- # Install policy (currently only used to disable application updates)
- insinto "${MOZILLA_FIVE_HOME}/distribution"
- newins "${FILESDIR}"/distribution.ini distribution.ini
- newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
-
- # Install system-wide preferences
- local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
- insinto "${PREFS_DIR}"
- newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
-
- local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
-
- # Set dictionary path to use system hunspell
- cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
- pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
- EOF
-
- # Force hwaccel prefs if USE=hwaccel is enabled
- if use hwaccel ; then
- cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-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
-}
diff --git a/www-client/firefox/firefox-101.0.ebuild b/www-client/firefox/firefox-101.0.ebuild
deleted file mode 100644
index 7a8a1e28e9be..000000000000
--- a/www-client/firefox/firefox-101.0.ebuild
+++ /dev/null
@@ -1,1266 +0,0 @@
-# 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
-}