commit:     ad824011bfa2d51c93b360f8a1a6e6d9e9b5478e
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 23 12:31:26 2024 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue Jan 23 12:36:05 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ad824011

www-client/firefox: add 122.0

 - always install the "vaapitest" binary regardless of host arch,
 - include more sed calls to try and limit resources with specified MAKEOPTS,
 - move 'screencast' use flag to "optfeature" since it doesn't have a
   configure flag to begin with,
 - rebase the wayland-proxy-cache patch - no more specific configure option,
   but always enabled with +wayland,
 - remove some -dbus patches that have been upstreamed.

Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 www-client/firefox/Manifest             |  101 +++
 www-client/firefox/firefox-122.0.ebuild | 1461 +++++++++++++++++++++++++++++++
 2 files changed, 1562 insertions(+)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 0f98d1df9009..4d922326fb08 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -200,3 +200,104 @@ DIST firefox-121.0.1-xh.xpi 409054 BLAKE2B 
b07e3e8e3c3a3104aa3cffa4a3399e4122511
 DIST firefox-121.0.1-zh-CN.xpi 627860 BLAKE2B 
70f95a3b17912ba26ad30e0a797d4a1540cca02ead6b3ab241337f7fb102ffcd0b2d7fcb4e4f41427b85eac04ba253c8c60798ad417f1f24cc1d60db8a581f34
 SHA512 
494f593e108e06b3a2efdf452231b8604c339b056afd00d293ff0661091a3700e456400144e5719909ccb38ac1ecd4082be214ae96e57ca8ffe46ee436e80c2b
 DIST firefox-121.0.1-zh-TW.xpi 630002 BLAKE2B 
2cc8c5ddf78b59ae4636fff43eaa4167ed33a179fff638cee52f58c30cfa40f598ecc88d7c146a482a6d83910f00b41158610c2857721a443df77b218dc6dc8d
 SHA512 
d764400c4931aac6fb493857d0d64a0a8bacbe532f9078da5ff39ec97d67c3883169a0386d1e4b8c327a8df83b2af4ef5337056ff137123f5a1375fd3979e721
 DIST firefox-121.0.1.source.tar.xz 532719356 BLAKE2B 
c9931d38bb9c612000409ed54b2fbb190cabcb714cd559152f2f645a8a3a82934874d31e40fc298dca765dac94e4e0927b125e14cee325484ba0f9b1ed2cdc55
 SHA512 
7810850a922cb4a274ced6556e14256d3ff518a96f10a0f86d1f8e40daa0a8b1a5cfcc9cbf1391029d920944e94a9149951ee107a0e718a294954bb50b6ced2e
+DIST firefox-122-patches-01.tar.xz 23432 BLAKE2B 
f94a8a12551ec8e6db3d2f8497e2455f9eedec76df4d52335f124c12c45003570900b38f6aafed9b109fd39fd40f65e87d6a9cb79cda8b486f897cd05fe1a714
 SHA512 
39b4c2db9bc6391ddfacc86ea558260fc8228022b1c790d09d516c3012d83e6d6fbb168ea0fa1a5381cf948e13d987b83483807f9f255aa13b6b9311a88989fe
+DIST firefox-122.0-ach.xpi 455274 BLAKE2B 
b7cb256c05d8cfcdeb5f48b3d53b28a8f6587057ffb893121bb4b11ca975f509f1541924fbb28d8dc26af52364aecd0556b3c44d148eca0bc8288c397baff6b9
 SHA512 
587a4dfde5edc3dea6cafb5d8bae8ed661f3075ac7fd4a3500c047ccc25195bf4d7b777b2332eba580a84f115e00b4abd69e33cf9d160b5563e625bfd3d8c3bf
+DIST firefox-122.0-af.xpi 410010 BLAKE2B 
368b01cd67fcf8129ad207f84c4deb9d49b34a0eb21ab7f3e76dde098d0c4de79bb1b5e3d6714cab0d693f983033f99d37ca130c394b271378761da8a6c97595
 SHA512 
3149dfa8babb03eb00b3e89f3b2d94697c8ca9c127b5449441dc51fd26f9ad69d060f547fc304ac3476e024cd0d2c042fcea72679200ba03fe83fb23d13c2d4e
+DIST firefox-122.0-an.xpi 496349 BLAKE2B 
3319f85e5bb23c2cbbf056be3b68afacdd56e01d9dc41da36de4fce40c0c50d2cdbf7c6b50a5005c2c5781c2ab5139b583def00e2cdaab08acfdec7c2918f81f
 SHA512 
a6286496c59cbb15dbb0e6d9792558fb7ef7c902121faeb75aed72f63c95ebbfccc3c472f58af215aea8ac99612ce6965b53c82e37553eb0bf0c4f31d68e5787
+DIST firefox-122.0-ar.xpi 589156 BLAKE2B 
1ce35ab9c9f322b74b547a2d9550d6adc9632a5bd9a665a060f7400154c8e61c39ea8207050ba21d9088ed7ec4d0a63da47ebc318e67a7cacc3dde611540fabd
 SHA512 
7f0a3ab9d46c9f1105d6d20ce88c53e0b2e52c6f910645f0a20a18121544cdc8717b56bfce7e1f531e3595082c977435265259811d9eff61aa361879b2398934
+DIST firefox-122.0-ast.xpi 487307 BLAKE2B 
45330b6a954c33f98e986e19d704469719dc0fc89f3aaf8be81231783a5925bafae59d1cedca9309a145a7303b8c8aa63aba435d58720ca741d115c080c94901
 SHA512 
7e9c1f40151eb8d01d38a8f8572369ce97881cce88394c4989a80f4fe3a7407fec8af2bb65b8e363577b21c3823a3394b1e98abe1a170230581bde89e2724032
+DIST firefox-122.0-az.xpi 481590 BLAKE2B 
8b3b4bba4922169ba23c1da613c36f5de508c86532621bd11f54be2b1c7fbce1d14bd213a958e1dfbf91daa88ec1369bd9e040a2ee6891f52756f2c3abdfc438
 SHA512 
84e4d681e1e390b79f5d8482658e6f8929776deca0849876511e4c831c4d88be3361f7e9963a9b2b10a399b2a3c98eff5f44b4789f0115832d7c11464e0bc7de
+DIST firefox-122.0-be.xpi 690072 BLAKE2B 
9f6af390b898f3074a3440ce846f97ca39f00b1234e387d300b972ed4d937d4ab1f13d9fb59f4ced7d3450437f253318ae63c03f9cba4e1221997a3ffa0b3c8c
 SHA512 
30a596de8c53381bd8769a97352e61774b471939625a4e35ed979582a04cd8ec18480d7131cf9ffbf9aee4f7cd34021ac4b55695c425425dfce7f39f54c7ee52
+DIST firefox-122.0-bg.xpi 590013 BLAKE2B 
efc82662b7f7a931ad2fc9986c857bf16391d126dcae80d2a380633041f3c5bece5b0ab860aa43809425abd9cc892fdf468e46846095b6615ff550a2055a7c77
 SHA512 
f9ef69bdd2dbfc24c4acf0d6da19a768036e9816e27ad03078908a63ea2d08ae72791415049bc7dd25f1d6575aa35c6da1f56f89659522f74699ae0f9dc47523
+DIST firefox-122.0-bn.xpi 571850 BLAKE2B 
24090d9f5866e7d861daa8e6e476b33cf4513e9cb2b94aa271d80a224d23feab550c85c2c023c9d5fcc3164d8063d1b0b2cf88421a29b2f4a07229cd843476ef
 SHA512 
51ae22f48642f126c42c0535af970f20c2abfb73ea74436e6e51c8a4d6824ebd7653c377b291e2f022de44bd85c8f220f655aa911ef7b79b7b60e70e001ea7f3
+DIST firefox-122.0-br.xpi 572487 BLAKE2B 
59ed11f2212638f61ae18399d08e5421cb151077772dee2fbda2071a1c92cbcfcbf3fcce1529ecebf32c88e80e4671766c17b640283f7cfa5568123d55010bec
 SHA512 
266c406e15f31441ba02da5dc31e45fc6647abf035870ec66dbaf4c6416a0fb21bbe2d94e919bba424eb7c86d53e7319db1360b2db818a259b83ad70b0012930
+DIST firefox-122.0-bs.xpi 461794 BLAKE2B 
7353bf05058eeaa04cdf2b88bc5e39cffd2128d460a12f9c1354cd29c4e155aca0cda84947a440c7e02c52879e324f04a3d22b4cc18d11de1bd8a2a2f96b134d
 SHA512 
b34c7d164bda8cb89e426b0394154d67b11e37b7cc861454bf087f845b2b002edcd3e8125f35dae5b086701c516ae0427135cc09ff3ecf480e3dd63fe87faa83
+DIST firefox-122.0-ca-valencia.xpi 536375 BLAKE2B 
8d4b623bc6efa0541336fa5365382ab57f0fa1686207a4736eefbda317c1462ddc51b36189de1b8e659ebe8e2541e77c46dfc87d7327f63b89de6f9368e1e2c9
 SHA512 
5e2381f68c2a88438be90aef0c67982c0e663551e58a82ed565c203313ba4348369b8d4fbc5854b38b62c1f12a53c596f3bae4d5e249fb014b33fdae029d7cc3
+DIST firefox-122.0-ca.xpi 574304 BLAKE2B 
00136f69d46ef251e50cc93b42ba03404e34eaf1059cbb4f6fb4e3f4fc610f5fe4b89a2f658b026b2aed089b1edccf1a9975db46183c4eb95d35764c98f80849
 SHA512 
3d817c4d9264b8cf2e43a3000f577b749007edf36c759efb688cb6b2bfa4f02d6902149ee28fdb9e72676959e9be5b99fe81e89a8db6c1ea8e828a965ea91e65
+DIST firefox-122.0-cak.xpi 581378 BLAKE2B 
0319ea5f440d4f4ff533ff001ff09f4f1911789d0b430c025cd8e08aa11fffe1fe489f434b186092c0d90bcf681b7fcd44c875c8e574c38802841e8208c3b5b5
 SHA512 
21e393f9bdf26785b582718d67f63ddc2f2970638e56e48d6e0fd27aa6297b854115a078540e6ff8a0d74b0cde85f53eaaad6b330fc7d13140d280bc22d611a5
+DIST firefox-122.0-cs.xpi 635509 BLAKE2B 
6ea42d51364f69bae344220c6d98190362cae23ca342b23498ccaf4487829012a1019b8230479c081f08b1836417aeb47d45cb08db0c7ca4fcbd12020007e349
 SHA512 
964ada7880bcb2b5091fbf3a718660bae82a5dd54bbd048f591fec14f31aeabf456feaa186800acf6c3b6325185500e687e7a3ad7a83a5150519a14fb945ec91
+DIST firefox-122.0-cy.xpi 600530 BLAKE2B 
5eecf4a28a5060b0ff908b3fc7b45f5090edfcc1dd1125ee7ff0a13fc2fc51e051f60d18821fbcf1bb76c887f3ef410bc116a56a5a8f89beab3a1a98b1058b88
 SHA512 
5e5590f94ce9720ffef060b1861f0bad4433450c641f2e2e9496c9e9236aff3e5801b5d9042dea0fdf119ff5da6c78c67d9effe23d00d06ca12d70e8270e6470
+DIST firefox-122.0-da.xpi 589128 BLAKE2B 
3c7971a471b7bcc02f4fe5256c5cea1edce6f2766853417b6e474be1a80f30de84f53d22cb4d5a700424c93c6704e4dc7a2dd466a21aa203b0b1c75c3837e68a
 SHA512 
5808af91f145f01b385fc21c85086d5513edd51e949019397e7498f03f117965c0f37339b698e20ebde0310ea8981ed33cc2cfe12489c71816846ccd82b9ae03
+DIST firefox-122.0-de.xpi 611383 BLAKE2B 
7b21552aed4e707e5b5ac2e451ec0eb4aad5134d82e4061b6623aff13a9a46696ceba71274d74cf937fa64c4c495cce064a777ed75bd482ede842d3cb161ae45
 SHA512 
c11f7c30f06b4fce2df49425973b26977fa208641504f6401eacfb8575ab41d77cbf5ca2e096d64a458891dbc21cab043ad5734a87d7357db3f2abe125812b47
+DIST firefox-122.0-dsb.xpi 626250 BLAKE2B 
5c303dcb66f9d5477277858eebb4eaf626ea5112f8ee7124f053114259bde69ca1687435faab581897441250b5860a50d4314413720ff2e0333cb0a6f26ba9d7
 SHA512 
67fb2c7e782809e3169497fdefd1270995ba6fd8e5b9a1599d349a3fe545bfdc01c16f8f8aa89c262cd1b481842a5054d7ad535fc1aec4799caac84f2cbe5478
+DIST firefox-122.0-el.xpi 705660 BLAKE2B 
af9d350ddc2bcf8a99fabb2a70de751ec17e59f9a6015b5e42219d4991d04f2514cc35eb24cd22173ffe7704e33769ba872205c0e440cd7bc37101ba1cd6ea57
 SHA512 
7bd962317598d63213720aa145f8239af74ea56db675f3c55c83fb9cc1d42416aac3dde6c32a5c8e944db115edb54cab888a4c5893b1d91685e14abb859daa0e
+DIST firefox-122.0-en-CA.xpi 550372 BLAKE2B 
134e0ceee5c114d74aa1585b391bf51c133e17184b9f80cff15efd05f5d0ff55067deadec31951c1a761263cab6486bf7df67cffdb8b72eb72292ed5a6ef2176
 SHA512 
49c095fffa47cff883836585a5055867fd48a31cb43e8dc1c26bd0aaef6ad27f1091053f5448480be5142e2e655f97dbf9f3b5dacce7667bcc812ccc30cae344
+DIST firefox-122.0-en-GB.xpi 564338 BLAKE2B 
74fdeb6838be1903002398f19326f1d6b821e8f35e4731c4cdd6849294960f1df8e1426bae8b9b3eee8709883c46bb4756f24017b58184be2b50472451059038
 SHA512 
08d745cd47d000aac5af8ecaed2cfbd88b82b854cebcd60b5c93e353f30de40a12719075a1c9ea09951fe14cec905857a1def63018cb5ca803e37dfa1010b63e
+DIST firefox-122.0-eo.xpi 594071 BLAKE2B 
b4cabff491357f903682a692dcf3679dbf73bd44a1dca019885fa1531e8c9ab6f757a57b511ee7f3e368f0bde9017e06879d4be57b86223def642d79a112dafe
 SHA512 
75f5aa31122fe84d4e43602c8f409d26cd823204ec39f8c04b5c10d67602635a738a69663b3380daf8b7707b753aa895735f992e174a3a3e2e4a9402084bb967
+DIST firefox-122.0-es-AR.xpi 605587 BLAKE2B 
f31a0a5a838359dea981cdb4600c97cdca587dece96c450b3e7d178c5fb605767e5b8903b5fa0ff482aba3547dbeada3bc23c97e1ba8e0d5e4a5b19e07c8ad5b
 SHA512 
5816f76fe58a2247ce6c474ca09d621025546b6125734593cf3443e5615a5e699f15452c215723fbd13be04d24f14e81a3cf9723011a1c6af93c50867e9255ca
+DIST firefox-122.0-es-CL.xpi 603393 BLAKE2B 
cd6ea27d867ffab3e87ab2bc6fe19c18c5faeb753f5e66b61f916b13730f225030b98236f8b877e8946155e8b198d4640e550ca428225d6304043f524db34a63
 SHA512 
987c834b19c663b313683d5330caf4f5e3944ef5f4f8877baf382275a31a6dc7f97a85a3c57b4ab8fbd454bb70966bc50e82cbb9ddb73f03fab5379a707a529d
+DIST firefox-122.0-es-ES.xpi 599351 BLAKE2B 
767bc55ac536740ae0720a1a427b87cae6c412e40006fe9b245a52ba9e0685ef9807193e2a377561a5df2ef127191d8c165b21f1db08fc93d3910c845c4fe726
 SHA512 
8cfbc7ebb679c997216405914ad83a0243655f2cb9f88e936c8866b6bb33cb40e65021d8bc3e58fe25203d6c5603948e402f50ca9cee139df4b9a015841cdd96
+DIST firefox-122.0-es-MX.xpi 581875 BLAKE2B 
5715aec0c92e32d42e77be69e438a8cf01b7f932521e4f4a7899c10afe0983ccef463c2bbee2e83edc6108c47328079595971aa6fbe54c0bfa7a233bf6ca85ee
 SHA512 
dc283ba8248018d9016771d28d44c482a8df35aeef3b590c5e341bf7b25b4204c324bfd62ba2ba5f4c951bd33da61fdddbfe443d25c379ca58fc3c35f7d5927b
+DIST firefox-122.0-et.xpi 529930 BLAKE2B 
f3e79c5747a3efe312cb11116bba7fe25faf8b1874988d94c79b156016a931cdc67c468d17c8d559d9e34801669ef32624e564c2bcb2cc4b0ad0a903a2c1f29d
 SHA512 
818107d20de08d7afe9cde6fe19b177b4b0281818bb6123e3a7a17941f93919219b07d9d318e458edcffa4dbb2a24e5cd8a80cc330ffc50e494c5a20a0a7266e
+DIST firefox-122.0-eu.xpi 579941 BLAKE2B 
d749655f8aa5ae7e45fa1d13192d4f457ae77382a3fbc04aad4a5d7748861e3e27cfee1904acc61bf0dc54241a3a1561d30896fd5e5a0591166c063aa1d74b41
 SHA512 
cfcdf274269f99930fddf06c2387ba679896eb02820219408895062987f9c4bae551bd32376e1e24e37bc32947174d9fa241e5ad30baa16bfa76a870773ebe3b
+DIST firefox-122.0-fa.xpi 580317 BLAKE2B 
101030e85c47fa79411359205e3317eab008f44e4f6af308e97223f19387ad4d35d6cef5fc91a702b4f45b30115e1a09945e0709408a18ef15792117043c9c3e
 SHA512 
fa38fcee950804ca19065b5b1930646f2c93259b15b0a856cfd1266e8ff8a0f0037a1cc7c4443f0eea8347eb9ccd7b98a5ead10710a1bd9f1f06b91f6e099fac
+DIST firefox-122.0-ff.xpi 466806 BLAKE2B 
1148899fc2474426c0d5fb16c47d24ec38e3d73a1a70c6dc790b335b4b42b5310a14132dc10209620cfa0db7df2b85e02b32ad087e95cb6c3252b9e890e9011a
 SHA512 
67062d0af9056e4c933933f549dc02344dde24a01ae0ace3725f96bf1e0b2dc40d1791f5b0102ec0b32a22f14999d939c6f797d187226b28a58dc1140122650b
+DIST firefox-122.0-fi.xpi 586303 BLAKE2B 
5de17be23dd179ab05c5d4c516c8fd2136eba2528efbcfbf50335f6493325e48eaa00a59af1a34ba5ef16303d9cdc0d551046a7fbeae01acba305249d4a8ab9f
 SHA512 
6024115dd687cfcdd9fd5f3e4717edb12bf7f273f68f1ca22ff8036e9ffdce3e07f01f787ceb8d67ff0402f41754004141a288320ab75a83727862f65c2d6ba0
+DIST firefox-122.0-fr.xpi 616254 BLAKE2B 
71b7db75edc39cc65c494f891589c274f20ad4822237b68b70f567aaa39fda3c2ec74bed75bc30b1ebc52a794383a1028d507aeb879f8968144aadce7ce06ace
 SHA512 
371d7e45ac1d5bbe493c2f25323a2e164060433cf607e93dfbded4881720e88719ec2afb49ce1e1a089c6ac9f1f6471584a63b2a09f398c6535cbef9c2bdd45a
+DIST firefox-122.0-fur.xpi 609598 BLAKE2B 
c49b9fdecae900a1f03b9084a90dbf6cf661c0d650b1f24aefb3a8575865325a1a8eb0f280b757c712a4efb1bf848b9d68e699ef8a59a3c0d92aedd7fe3c1cd8
 SHA512 
fd35436e580e19a5426f9f73ab45b689b2e1d08ea12a434510abe212b81824dd44738dbc7f55198278d2d53d1d6f4b08adb7901bf36f9ed4c1e1168269d81139
+DIST firefox-122.0-fy-NL.xpi 599812 BLAKE2B 
f2d401446ebe6a124f9382d3e3d92227e9bd5f1d561069fce5be842afcd5cab737db1130fc0e1efded2364d9dffc6346572d8579f756d64f545bf338eb1f7fca
 SHA512 
bc84ff5248c8eec0a776e02dd954e734b1f43bf574b85fac953645bf8a6d95cab90fbcdbc11a84d1535a6190c741b0fdc3b1fd710a6e6fe74314b0f5e182f72b
+DIST firefox-122.0-ga-IE.xpi 463167 BLAKE2B 
ddea8505507c4eba23216fb44868ad46888e1fc43627fac70b45a7a8cfb213b41a40b702168d38b35b7c45b7c4c802144d820e953ac0d8416078e2f45d719fc6
 SHA512 
138273ca3c6f2b84c32aeb2ffd9bc3b3ec4120c37da0abdbbc75ae96e53e24ef4649252c5e41e54aec0a5194991fb51253e87cb0f2f51fa549622e71847c9f27
+DIST firefox-122.0-gd.xpi 581796 BLAKE2B 
ccbe79b1e06f765ae7cfae903835f7e85bffda982f9dc80266519c488357f37bc704e863f90b84057e2a6bd26f7076eb89b107dc54d68d64233034aceb16dcdb
 SHA512 
b79faa62e94bdea7125892554de197a25558cb01ee3e5b2e8a7bdba362431a922e82b067dedcf0e8f894bd3fac45bff0b51ebb0f14d9fbdfe0d9b2d532d64c78
+DIST firefox-122.0-gl.xpi 589972 BLAKE2B 
0ba621a5fb411463b096e6a5b4d8f06ed6e020602a0c4c14b80fea47507c937a1aea08593cfec928436a68a55d60bd4b7d72c738fabd98ac94eaac79a4ef1cab
 SHA512 
c7fdbb4e2ebc947b194f78f6bad607c264528d40588f4c24103942ea92b9845116aa50270d8302415afd38d24f87aacaa6bf991ffee907c317b97be9e85ba39d
+DIST firefox-122.0-gn.xpi 615048 BLAKE2B 
8aff84a2151024dbb1cffca33bee50d6c99f0e4b2fedaa841ef1c230b9fcb4bbc9136c1a075151ed2a28ed5477bf358292afeecd5653f22e2c2030743a732242
 SHA512 
0e5ec19ae0036a24d050daf562ed562e8e6ebebdd469bd0813948b85fed4d012f600c759be41d7b6720254e44428e461458cba774b968861457c62b928cf26aa
+DIST firefox-122.0-gu-IN.xpi 517698 BLAKE2B 
b2a583a521f8e02ec32a1ca167070ff1e70fe190b4d5b9e7571cdb313f07f9af0277d2591651298d583e1ca4d9f7f364370acd5bfd3d1a5dd3412afa811ab886
 SHA512 
eb51c73aed8134f8181ded9dc6fcd84642008bb8b6ba7d3c25426b30dfb0a6a1726efacba27f1e74628a43e8efa4d5d7baa5ca08be4be2c4099e6c76034c9409
+DIST firefox-122.0-he.xpi 609665 BLAKE2B 
807f667b512298eb55da63d277024c53868696258a85288717b0e3e0c43c21a9d36d3874e5bd1f331947f2e8787c1d814917b645cd0f43c6c18db5230956d8a0
 SHA512 
a338e5cc9596b19ebec421a4779cdc602b3c31507caf97f6d81e3f708e4b1590e364128a8767cda0c3c7ee4b1640065611caeae9c0b309c000b71106076d8701
+DIST firefox-122.0-hi-IN.xpi 555592 BLAKE2B 
799e94b9000e04fb3aaa9f890cb7a56914d354adf4adf08a3ef190e81e3d698c2badb2f2e3033f2099f370236c140c790d8c0898ae3a0799dd96f182f609ab4c
 SHA512 
93b98ff014398ad0199a64b53e0dec0976878b5822a898b44405970149abe8765129417875dd4d29de1224dd654b9b2803f71189bc7aa1c8427d9c2ca1abeff3
+DIST firefox-122.0-hr.xpi 546940 BLAKE2B 
cb2aa789ffbc5448e4f2522ef450e935494d3f184ad01aea1413f79ac5e8c7bd13d58db7b8b0dc4d85ff74cebdb6aa280c473fa61d5d88031013d1dd5b0c675e
 SHA512 
5503398b331bb82e7b1411e834646fd3b9c223b45cf8567bb73256b9c92ca13f07ac05c2ae49293d075eaa48ad6dcc30b7fb5f1bb258656005981ed9849f7f9f
+DIST firefox-122.0-hsb.xpi 622823 BLAKE2B 
2b865e7087912d28cc270dafd78a08cedbd2c010b0b0edfe7fccbd192dec2517ed9068ccababce51c4dc6ea505ff9c859df08a1f871bbda6648f73e9f16af174
 SHA512 
7112b086265151950e05ccedbbfd81af46d10a0f7ab4b6a834e411ff037bea9e51b8894a90e8ca2ddbaae848b7350caad2958a60aee1ea3403a5a5a6461bc498
+DIST firefox-122.0-hu.xpi 624095 BLAKE2B 
b85b52a22355a0293fbbf9878432bee335ae276c81330eae0bc235750b8750c86501187699042bbf336e73a66ecb21f95043f88ae2ef3a5744efa02e1a54c2c3
 SHA512 
ef24a4ea1dfaa38bac86871d25e4e2143879243dbc64f54040de1fc38109ebadc42e5b196d057bc0a3a1d741fd5bf9dc0dfaa26a7999313c2c395cfaf37e089e
+DIST firefox-122.0-hy-AM.xpi 597046 BLAKE2B 
8aedc37bf7ef3bba9c21748615b8a4ab25f5420de62fbfffc41a33225204fba3f1e0cdd4278e1137a7ce675b28a222fcdaa4826506cbd233bdf524523e5286d8
 SHA512 
998588364ffd47355ca071b42897e0be9f32d11e8348b29e0b0c698ceb548e200c39652bd4d7a93c50ba87bf88c3da464ed6788683056387671cc3a901302fab
+DIST firefox-122.0-ia.xpi 588965 BLAKE2B 
d8e6e22678c389f71c9c6369aae809481abf33842c43d0b08f2ac71767cf3ac164ab1a4ae7780b9744cb4afd53fde15e6ab4711e12844282ae266a0e59c47dcb
 SHA512 
10b10a05c0c179b19ed99ea6fd421c9ebdf4381e6030473a9c4a379195c90c1d5e4c591f5058c722b9f0daaa445618fe5ca4e88d9d550aa2adcc5857ab0b4ce5
+DIST firefox-122.0-id.xpi 556921 BLAKE2B 
98f7e57c74fc85169e71b7582c8a4b77ea40fd16ac2d03e4bbbfaf9566ac032f348cbb875e529008634228121b61954c4f4fa299eb3e1e5ae4bcd0f476d6f2a7
 SHA512 
101af619dfd5245f5a60e19196fb604591a2f06ae38f6eda08d2d0f50affaa470353df3ee509b15c8ccfc48fbd1d82f8c2f45cb4d3f6870a6b76b06437994c55
+DIST firefox-122.0-is.xpi 593864 BLAKE2B 
c98a40749c19be306d6ff292e41b9c1db8a75a24ad87d25de5fec5af973b8b3c0e00714fdbcb89af461caf39cc43becf42245322742cbd783cd57a0c186367e7
 SHA512 
62dbbc5a26435cfdd39dd589d51f8328325eb92b4705cb24ec67f29f00bffc48c20722bd2b69c3a1f49f69392dc8551c4038efad4e6c8177232ead67ee5ba9b9
+DIST firefox-122.0-it.xpi 546590 BLAKE2B 
1e3b894e042d47f7417680fb6aeb054e3370d28ecd287ad8a19bba2ce4aea744d7799f1587c8d62d20182a4096949567cffe218ba26b0ccd5f26166fa7418dcf
 SHA512 
968ceffde76fb27a9ed1ba668f8ac7c848daa881e5d74c88789c4d06b4c52597b394c098a9b557b4095c3a00084e2736a268c592de3e4f731be18a0c9b744974
+DIST firefox-122.0-ja.xpi 654833 BLAKE2B 
dcb4bc67a6933787d0566cb65059f1e9155b3132a565e069b4378404b8684513cbb87ccd02503e9e57eb6801d21761f71a2e63a2f7fd7e0a1e8bb371223e50e2
 SHA512 
f88439f1b2fc5841bb700bd33a86e2391022ab4b33f54094e1e90bf75f894435161928736d018bb81a181f9fe80469c98e9147a2fdd72609b517bff66be540fe
+DIST firefox-122.0-ka.xpi 650271 BLAKE2B 
6952f8b574401d9b097be7a330b37fdab12373f58098466f2ff62f09fc4e18fa0bb64d4822715014eb7add028254ca5edb66c72fb69aa2331ea690729ae4ebe9
 SHA512 
31374e0459b97b6a64c96921e7267577c0562f1dbbfc16ab291809bc9d8fd1f7202cf859081a9a18eb43d9e0061614fdfd1a74871c49fdb0024de2f3e7a5b917
+DIST firefox-122.0-kab.xpi 591593 BLAKE2B 
055c6c91dffd9a6062cc385e19a34638f2b3608401f341a9de754ef25a2f8d84c5ed2b7cee56a5bb05cec67d489631966cab82e5d867b1c11fec425d685cab38
 SHA512 
885f149978d6e0c58b5ade8ef8e819bcc04f840fd44a570520974e982d6dbcedaa1df34d9aee3f396e03b82f2ecf1e5dd6ba01b5bfb970206065928fa51f0efa
+DIST firefox-122.0-kk.xpi 682871 BLAKE2B 
56eee6c018b8b7b4fe979280a3b110d61acc8f6c0b0256928fcf72a94650d879ba24fed218d8f1838dfb8bf6d0fbbe733b0f4b8267e9a25a3b5765d3a0b9c85d
 SHA512 
128f4ee940e68cc853c54f4f31a759da9efb016cb1f59f3b15b5ff24adbced1a5ba427fb5b30033f673998190d1cdd6b19f76ef22e630ab612b1c39841296427
+DIST firefox-122.0-km.xpi 516743 BLAKE2B 
78a08aaaad35e944d18c4c7a3022fd4a4f513dce1934e8f86ff1cecde11992cd2b81786e3e11d76c21477a195385be40d2729d9afe37e4da58144aa98bdee138
 SHA512 
3d28671a4a97cff9e686219a027c86f056c4892b470081af91e6af7a13f1f3d8739522b50a7c233ea174f362dd8fa0f6f2e466c85722942fe838e019e7a29064
+DIST firefox-122.0-kn.xpi 482034 BLAKE2B 
bedf2c8c691a71870202e3d31962a8e9517cd6a27963b30bdc7e8bffe154d6017042c7886c84af2c15cbaf614772ddf71e76c870f504eef5d60d79368c76d8a1
 SHA512 
a6aafd89745ad6ac9db543ed24865b2d0dbaee2fb29535623cf5a9f16f5480d7a8f5f98cff7c8f50fdafe81d7f616c180308a50ccb89d10f481a89ce95a39ede
+DIST firefox-122.0-ko.xpi 637954 BLAKE2B 
958086a38713c7c478a42f0f26673d113cd1c940c9186bd822aae37b6b0a63ecad6d797465c478147680a42a9ce5a261a9e35d1863fdca7219ea862a2b50459b
 SHA512 
6761318fe09cf3d0867a9696e4123a4895a51730186048d21d37772bafa9c81ec6610b797dfb1a6c4fc1c57cce0ed8dc564274964c23a2a5db83c22f436035f0
+DIST firefox-122.0-lij.xpi 474905 BLAKE2B 
15e1763efaaeed55b2ef46e70e941e752c4f70be3838999ca36bdc0ba54e64a4cbff61e988a6273b54c96412f0bc249031521e7fb02fd3b53dd39b1776bae7a5
 SHA512 
9446f2bf80eed024b7ef0700d8b6ab14047453600f7a1f3e82399da3d43152d09775c111da90f6cc5d4e9b83b26369f5052cdccdec5331c6df18aad7e6a850b9
+DIST firefox-122.0-lt.xpi 562441 BLAKE2B 
f5fd0985749c86f1621b3570e937474c9538f81015ec7f118078d48c9555fd58a820e18512799ca068b8ae27c7f0c7482c941e18658d139edb25d1fb72309650
 SHA512 
8a83ddff96e14bd136fc8824367cfe4294a73b90fc2b41be333da39f6325248c32dd565bdbe1d9997e4c3913be73237a8e305812a6d4f5d9cb6c1544806be7ec
+DIST firefox-122.0-lv.xpi 460540 BLAKE2B 
ad36d5b061bd1e69c6148f82123d35ccb50e99d09e77b6e03197896d336734430efca5c47691725b66b245cc326cd10bfd370308f4800bd78a5be8f669b9d6d2
 SHA512 
7daef6a44826c0fd49c7eb55e5057131b5197a01f9c7253243c7fe3b7eea771afc6efe926159d9505bbec325400c8ab655f8f824e3fca9134b193d767c20344f
+DIST firefox-122.0-mk.xpi 484053 BLAKE2B 
2d64f5c4b62d915bcbb295368c1b48287605e06fdee0e8f13bf631839b46e00f1aa31228e8ec7d070395eaf132cb5ed02017e4909abaa12ed1dc45336f39b275
 SHA512 
9f875a1c2c8406ee4f4f9cf2bb71fc0e2fa3182bf9077d7ee65c7df653b51b9f4ce6e6ad8ec3b2bde766f1343c1cdedbb0daff2392bad5d399e54ec782d7d594
+DIST firefox-122.0-mr.xpi 522733 BLAKE2B 
72fd22baa7ed42a3e4b15ea095791fa5ba1bf13dc9fc9973ddc78e869f54d8d47f4d3d7cb754d8d6a715af439f7bae91d5f9771261586aa7778f5da50bb2ab10
 SHA512 
67c194867d5a276937c493911db590942ee37353effc1bdb4305c8c94cfd8f8d20efb537e08bec0f29399d5a760f2c6b13505ac5bd324dd68d0fa2511871307f
+DIST firefox-122.0-ms.xpi 440555 BLAKE2B 
981076e0ac62a66239948e34e8783cd1b8e86061e8a576565290911165c939d95d86b8855752700c16998884a1fc6c09801cef76e127803910cfcaebc81ba27d
 SHA512 
dbaf902310a652956835ca7be6aa20f9d239a0340bf635757869affa93346c672687e14996bee72b4f9ce3db3fb299ae23b00d88a85f128c198eee6839ff5fe1
+DIST firefox-122.0-my.xpi 508100 BLAKE2B 
18ecf10ef3af1e7fc67a87eb94f0d7470282db946f8f4adb060eceb768bfb841aaf78a8cf83015be83b8d02970e2f80fb2ab27f59392c41e42ba8a2e5977b172
 SHA512 
7340ca4c30010623988e444671a0ae5a37e0a6f2b518d7c7b9e1a08e7d69ac735c91c784090c755296c9898b47384bb8b5d5f28715c9b568550af016bb34b043
+DIST firefox-122.0-nb-NO.xpi 585042 BLAKE2B 
fc404088bcf1d38e34100d543a0df35461ff013f978140dda87429e5e29315452a7fc823210095d4b42afb122b6e73d1ea3aff71131f81ef17d58f8ff157bd29
 SHA512 
1bdb9fa3ec24f602485beac1391630b5f7e12125d6c1cdb7e58432fd7f57ccd47bb49bea8514dc7dbf42bb67a9533e2a8cd044494d87ab9b6a017be2646a327d
+DIST firefox-122.0-ne-NP.xpi 479217 BLAKE2B 
7b7cbf7f7a67a7d023bfb1cb95d5ade456f9dbf9d060385daa66d0c951b48c3ea02a2240502c85a5384434810e58205e71684202b6eeb435e30d436f87a4bd2b
 SHA512 
be60303fb48e472284cc7f5500bc9f90f1544b0c6e143f3c3a8fb1bdcdd876c083b4a94ef669531e0056a0ccb3418a1665dcd0ae1c4704bd70f34ee8162d78e6
+DIST firefox-122.0-nl.xpi 593818 BLAKE2B 
cf78164bffd36840e7bf7a2009ac15cfd7998490055524fd65f9ca8fca10a8f8e5d8d1e1a5727e20d07a27126e7610acef55875652ac3e078c46d830bd7917ef
 SHA512 
ccdaafaa597c5f02b104ab7d996b3affda46b831a45658f26d13a429618149eba5848850acf0be6e002877485fc2673b0d4872477d66bd68891be39004afd975
+DIST firefox-122.0-nn-NO.xpi 582360 BLAKE2B 
d07a327ef1f114432ac9a8c6e44363b2393d6ba245a3e740109a4791e3ece1905892ccf03df9ceb726a7b58ae664cbc0301b53d557a9dda48c5973bcad9e9f9e
 SHA512 
fe7d6bf1c27bdc9a766533f1e966958b9ce2ca7650c68e4ffc6ba9a4ce6051930931f3b61b2a68393b8ad85bfddce23279fd5352456872c2a7181ea956c40bb5
+DIST firefox-122.0-oc.xpi 595887 BLAKE2B 
5eb68a14660ba79a598ed6f4e922af70d7633c94ddda2a26ea69f64950ad1137d7918a95c1c8b6c5a54f54fc15b09d3fd177462e4e99445084e659bafb807907
 SHA512 
1189d42c590bb8da1367d90ec69e6e68380d899209aa40c8b8f6c55702854e2441a2fdbe2bdc13f58397851f8469f9c78852b25dca360c465bf034e3218f0831
+DIST firefox-122.0-pa-IN.xpi 668730 BLAKE2B 
08cbd86f237bd049457b5e5473c3122aee11691a72eac347fab660e4438fb5110aca05c9025062266762cb66d7509a995a408ebbf50589b5e27e6087d7254959
 SHA512 
c25ba27ed56092b089876110b666a2860f25efd39c16ffb8730952f5fe42ece8c8a96eef5f2426380d1b5503d34d1806596975a7fbc0fe8b960eba2ac398815c
+DIST firefox-122.0-pl.xpi 615484 BLAKE2B 
e0c52edebaba85fd0917f4ef71901a41426307c67424cd580d426757926dcd47b4584f8e55cd601af015a54be5826d4e2661c3879833e8f1121a98d76d6ede53
 SHA512 
bb33db9d84aa8632b1b1dc81a9e9829933f8df3bbbcb394d5cf6aae7db557fae5cbb9ec9bb43e3367470cfe8ec1137821c0b439e5a5424bce308b8d1445b29d1
+DIST firefox-122.0-pt-BR.xpi 598569 BLAKE2B 
946bfaf5822193c489524bcf7c06ffccf3c237615e53ef58086fa47c07f25e99d4b96dbdd459755f4a0ed2f755bd066c0843827b545e99aead74ff6b2225b067
 SHA512 
9c36e06bca1810c422a65a44000c950b7091eba41264d2a8287960e6c59a597a37723bf399aedccdb57876bb6e9a51055d8bfe9f94b10c31d2b1ffd6851764a0
+DIST firefox-122.0-pt-PT.xpi 595066 BLAKE2B 
ec9787229b06ee2cafa8153576d91d401906a69cccf02864e049926bc58e50cc0d82dfcc59a0b74b9899e631c4d4ade6b2caa8e2cc903309e15dec50cb97d625
 SHA512 
9d17251880ac1642a495ec62249a18ec01ba485b4f230b7b6891e9ffd7deb191133e145177c2b3d5d6f031efaaf45953f4d04e33e96356f35a354014928ad35d
+DIST firefox-122.0-rm.xpi 595442 BLAKE2B 
0675fd4b7460feb15766939fb56aa217f14461464741713329a58a71be90a85d25d51f88b8b00ac35d19125522990b5fa2a334a37427cc0d8a0af7ca595ebe2e
 SHA512 
c2ea283c4c9ea43e5ed253ae0fe2853ee19536239bc58b06f8321a747d165ba063b4d145ad376632cac830460c4538960dd2372db261eda4b304b67d7b6e57ba
+DIST firefox-122.0-ro.xpi 539318 BLAKE2B 
cf1958c4991814b50c8f5d84c7e0711cd98ee85dba20c8eed164c692080ff2330529a99dc28650963591891a379deae5caad7ce65172d4238f4e81ec5b42c080
 SHA512 
823c4ce9f12bf4556adf6b7be3f4af25978d7afdfec4fd20183a7f0216f9740d0db3e56d7be67eab362db42c8a4ec3b57cc97e8d7e996cf0d72a161d3a58afd1
+DIST firefox-122.0-ru.xpi 694898 BLAKE2B 
5060159f6309be0687663cececef74f168b9097e2099b21c2225929c49f605063de17ece2f978db34dfa83ac1c452829990852bbaebfb0ace6f76050339a17f2
 SHA512 
aacb9f6666efaf7a902c0207dbd476dd74f27fa16074091b174c5730ea87b09e7b3c685367003981713dd6fa54054f2bdf3d57f7406ec876d0aa9a6843217854
+DIST firefox-122.0-sc.xpi 558462 BLAKE2B 
1db71dd4cee51fdd22291e5f8b7c5061b619541ed2328ade72e6c9aaeca71fc0ec7f5ad715008c896de50f4824c9fffca0c8b390e377155149531b7bce13c7db
 SHA512 
d58c9d9c72e32178431d70a7e95666aad25607e6bdb153ebb2891c3eceed5760a708a2bffb3ee2e7ea3de46428f318033442f3c4a46e1e96af103876534ebed3
+DIST firefox-122.0-sco.xpi 502576 BLAKE2B 
fed9e35904e120913ec0f03ab29490db1fbc3e7d1d60bf1806a4cccd282dd857b8c957919685fd95b31a29178c29b6e1691e8cbb8b1cfc370f56b751110b8f12
 SHA512 
14be60d187929dea1fa659a70e680291b0e7753ecbbe28fd652b7d3704dace75d776e6799b270b708a2f5c26086cdae53669cefb45818b68aa44d6e3329e8181
+DIST firefox-122.0-si.xpi 595895 BLAKE2B 
021f599d15038b065ee77292a85325cd0280946639ddf985da1133bb4ad5f9ae8d732ec6f8ddc7c43094159baf908045f549e2e9c22e8a5d03e0416b2d0925f4
 SHA512 
58ea7c68b1714c825ee22f8beebef09bdee7068ec5287b0ed47dccd9c80bd460d77118689b923c44e079a6c23e762dcb38c2b323a8e0c3153456887f8787e25c
+DIST firefox-122.0-sk.xpi 628869 BLAKE2B 
57ab972ea47c222b80cdb4b8667a5ab1ed7fea156a4271bda2c0ee3f93618e2148adbc6147ea72da2584c4b1d6561eabae5ed9c8083f70b18c710935acdc6b15
 SHA512 
c316c136b52f7861a6ebf64495100837113822a7cb0c4d1b9eaf5cc83ea687e259828c6fe634517b78033e5768c3a4783ed828dab62534019df0dc88843a881c
+DIST firefox-122.0-sl.xpi 595261 BLAKE2B 
68c33f10a014c47afbec51cf6e60feb2a69a1fe37b38dd1e33b10b51cca310c91dcad9c895db4e8c9141f2186a24937fc9865e3683b05cdf9b9df4cfa7efcb9c
 SHA512 
0c23411faf4cbf7fd955c94fc5a6c0c36a89900c456da0f31fd17cad668cfebce4188780aac04638dcc0d0a1911bd01a5448a25fd4df5b66c7221c91093e5ef2
+DIST firefox-122.0-son.xpi 408749 BLAKE2B 
45337f7c9978112373fc63e7e7cc9689f60a2a625d46132ddf5929825cb67b5c074931c8beed2e8e951879e4f8628414b291f2c684f7ce3a63705c7412e92165
 SHA512 
614eebf35d69c97041c23e499acd93870d9a5ebb5f4698e2c543b121230d58214c47db322c9d309ce6d2f0c985117e0d6b11da53cadd5cb134b394e32f691c8d
+DIST firefox-122.0-sq.xpi 613979 BLAKE2B 
9b73190f44368d396e464b2e4239709fd964448a05814472f61b7847cf683be7c595eccc1f2678139da1b02bc97c9ef3ab55a4b1344e0b89438561693153b11b
 SHA512 
6e226c4f6c644d1c4630feeb75e66d97a19d00f0eb7feefcedd45401487bc84e9c97ee777bc7dbfbf191327fbee9a44fe82714cab42fdcfa1715c5191b40554c
+DIST firefox-122.0-sr.xpi 629415 BLAKE2B 
61a0977192ccd301d2dd5e7988b560f3bcf4226f492d7f8762a6eb285b4e7dce2887286b8cd6d2e193050c74ef0064675859064a7bacc26bfec75af32ff3d56f
 SHA512 
2906a0638e24a6116879aa22fa79d09bbd362a7d1b5dc5e0f97b8a7d73122cc84185527cb6c0d7ad76103d2fb53cc9ee6ef1939eb1ea2a76fc3bc4662a8c9027
+DIST firefox-122.0-sv-SE.xpi 596966 BLAKE2B 
184a007a5ac3b603d917c7e25f4b528c85365600a0917434a76634aa228151c68a41c90ca5e0dad30d41eceff423e93b48fcb084a40c6f40ac5bfd0b061fffd0
 SHA512 
17f0ab3d86e44fa1b93ba801d1735786027459eb7c63880e7897001e2a2d405ce94afefc67bad46041dd6faabfc2fd3804f72c0558b053662e7e197e3485bcb3
+DIST firefox-122.0-szl.xpi 517326 BLAKE2B 
1dd553070dda3b3c1d0dfa3d82d8c0597e622a075b2221d3e472bed55657e08969fbbf17faec374e5e8dd76e940a0fa4a6a0b9fc5dd8223a8d903225db4a21d0
 SHA512 
afae6fec9f43cc55690a64f789281dec8cd8bb147beac0cd9c9b58451734af97ec7e1a42609b6d997217094e704e2758e99807a9dfedcf645e30d1ad958ba637
+DIST firefox-122.0-ta.xpi 498449 BLAKE2B 
d00a7aaa72c003c6928a52caf3f79b8cc77ee9314694d57217b785ac28c8ba6daecb6da5cedc097c370470f41a62b629108f56eb757dd6abbf86f877043073a9
 SHA512 
3f8361e3cfa6c6ccad498e1cada48678224893d1a8ad029507f29ed0dd2d12399a9c485870cba538578e45e78e5de6fa184f0d4dc274beb20d06975b44606a13
+DIST firefox-122.0-te.xpi 549461 BLAKE2B 
cb785d484691593c1fd14391a49b38f60265dc227795c5fbbd0686fe2fc8dd50b0d5758426d461244935c1819cac6926ab6c3feac044fdd5d853211e016c2306
 SHA512 
b68a3768939a136c12a95c540678f56a961b2f9285163d911d4d9f8f8be9cf4d0abc367099474ddb6784a9d759ce9e1bb5fcd183b0545e71a1c7a4b6ce239495
+DIST firefox-122.0-th.xpi 667524 BLAKE2B 
f1bd92b23f6a906bdda73b482af141f5aaf27f19067463b42e4f390a782e78416489c042d9700f199fff82f30c62e44aba37894f0d2c304c58bce94d38ba73d0
 SHA512 
9d540b550d1c6e2dc6b50ae0322be38283c75977986922bff6dce4ecc833e55d6daaab935790f2045fcd2925755c5315f80a0caa85b35c83440f80c5bb8710b0
+DIST firefox-122.0-tl.xpi 524963 BLAKE2B 
5b3e11410333c12b64890aae773bd418300864fa695d1bd7fd9fe6daa9200ec5594510a40e4724d0d3111ad68422f537752ada23504843fe3c9faa5691419cbb
 SHA512 
6c051d5ee28f32873d45de0d6beaec099165b70cfa83d47a02a4b47c3bca3eaedd8ca93819ed13506f8c318c5d6f07fd6b02eb9ea018d69fb9d0d6dddf346d0e
+DIST firefox-122.0-tr.xpi 608102 BLAKE2B 
8d221d3b1a221521acbdce7022742c4c14bd3762eda7c3182f9701ab265c380186771060e1f9695bd0c48828625ee2e0613c98000d3bf7c83de2acbf9ec5fdb5
 SHA512 
ef8452f8596ca0b3214a5fb6caf67203efa8d98959421479c419e162e4600806bf92aac25f835f0a834691df58fa2c901c942f66c8cdf4889024086f003aab42
+DIST firefox-122.0-trs.xpi 494936 BLAKE2B 
e7c5c3c3403058bd4132b52af7fef1ccbe9af825307f42c933995af63f1b24255f5306578e726497f6d8c680c9002e50074c8ef7475f145b15bf52364b5c7acb
 SHA512 
4e0b5bef407fa2bbdb9fa8f16af90f367dd39828f8ef1ff5a27ad6e762b23495684a931897415f93630ddf8eb11935551f088a58c60d98da1ad74f522cf8fb7a
+DIST firefox-122.0-uk.xpi 687497 BLAKE2B 
9292dfa08ab745d8c0ab91fc3096990279bcff64a3565c1db1397f1f2842a775f64f9d084855c328a046eb11953d7ce85d578644d409b2dedf6ac3e2df7630fe
 SHA512 
204772900eb288fdca48c1c000406df9de55345c6c8e3df4f3e18b6a36fcf2338d16faff45f324b8e78a6303ffbfb7f2046acdbe7e84ef6218aeebce26682e11
+DIST firefox-122.0-ur.xpi 550616 BLAKE2B 
b6f134410ea76ee954afd8393b0e1e8952e6a907e8bc68852a5042e6c46d6cfefd01b4e1a5b880152e2e5a1d8f85f77d553d6d024f9da25c7021fd4796741137
 SHA512 
b98e7662867eea0c6c22bdf0f9f3acce686914df23ba0aab4536a28e846cc86ff6f48cac3ed12cad0aea2e232eab82eaa857667a8605e9391cd66e7342bc5128
+DIST firefox-122.0-uz.xpi 470542 BLAKE2B 
0aad778a6c570c29e83b4327906f1118ed100bf239a02dee3df366e34a59c206b318189e05a098d26d9a3091458ed3bb7d7169b3aa27538b651eaf52c1cc715e
 SHA512 
99fe93e9497a55db758c6e74da08b40070fb18d2f8c32f204c49123664895070cccdcd8d70d66fce27835df8c248316a6120745ab54c339d69962d8500c29bee
+DIST firefox-122.0-vi.xpi 632737 BLAKE2B 
b2a3e0f511bc156e499d7469dcd80e11807f6a49e6b86a90bc646791302ce59ba1431f17070dff4f1d4168e3dd25aff92e69e846ff989dbd9757367565fce76a
 SHA512 
b90302fc8440f94b896160cfcc2726fb6f0585ac5c392b94788b4faeda9f40506285cf3bf0a93c4bb5f6184d85a383c9ee5ee6b31d95bace02497586c5e1beff
+DIST firefox-122.0-xh.xpi 409563 BLAKE2B 
f344f38303b1937312632bea39311eb554a7dc2b8a7e880d352c809fc519f58fb7401a5d225f5c70567a4ca90eab81ae1699265b02b7e1fe74944bc34752b5ca
 SHA512 
1b48b1c430ca6e5c2e58d8f9c28c41c62c86005c6211e75a6253ab5d22bafa7c52322f6847d5c82be614fe43367293f580f955127011671cef6fcd9e2b96a062
+DIST firefox-122.0-zh-CN.xpi 633796 BLAKE2B 
da2b3e3a1bbf66f71beaffafa110a0a8e2e087e0693e52e681491fdaca25619294bb2f5d0cd8173c78c8925a373574a6888bb44ad396590d817b1e6e6d9282f1
 SHA512 
6d5dd35e0512cc74c1e84022d523e788caba03f656ed3e4cf41341154580f0e026364e3ecf8af81b7791f3e88001e645b45d13fcbe8d6307d7abd66d79f1e079
+DIST firefox-122.0-zh-TW.xpi 635797 BLAKE2B 
84191810324de418b2329b6fc403250db2ea4059befc2f523cc64dd0d157b28ca51a09333e097287acaaf5d11fce8fe51d782b5e83a6a9dff77cb03591dce4ac
 SHA512 
b8538d6874f2f1325d939c648a4025a064de6715ec6d327674f78583273df8e4e448eec45a2cc53148a9ebb8b1263aa3f66b79841b89989efdb88d962432694f
+DIST firefox-122.0.source.tar.xz 531823484 BLAKE2B 
7252cd58fef9f5fcb504c8c9f885567109c05e6ec92157459cc384edc6935adb206e3be0b805aeaa37dbd72656c3243db1291b745dd0f705f37a61319a4dc820
 SHA512 
619b735c16970207f3f8fb31dd2350a5e665a802c30501c89aee4817b8b0f7f466da93c66ab238e94967587e538e6858934b18164ff312dbdbfbc3b2bf8bd824

diff --git a/www-client/firefox/firefox-122.0.ebuild 
b/www-client/firefox/firefox-122.0.ebuild
new file mode 100644
index 000000000000..ebd0851a2c90
--- /dev/null
+++ b/www-client/firefox/firefox-122.0.ebuild
@@ -0,0 +1,1461 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-122-patches-01.tar.xz"
+
+LLVM_MAX_SLOT=17
+
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="manual"
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+       MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+       # Convert the ebuild version to the upstream Mozilla version
+       MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+       MOZ_PV="${MOZ_PV/_beta/b}"  # Handle beta for SRC_URI
+       MOZ_PV="${MOZ_PV%%_rc*}"    # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+       # ESR releases have slightly different version numbers
+       MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm 
multiprocessing \
+       optfeature pax-utils python-any-r1 readme.gentoo-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/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 ~riscv ~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 +jumbo-build 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+=" +telemetry valgrind wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" geckodriver +gmp-autoupdate"
+
+# "-jumbo-build +system-icu": build failure on firefox-120:
+#   firefox-120.0/intl/components/src/TimeZone.cpp:345:3: error: use of 
undeclared identifier 'MOZ_TRY'
+REQUIRED_USE="|| ( X wayland )
+       debug? ( !system-av1 )
+       !jumbo-build? ( !system-icu )
+       pgo? ( lto )
+       wifi? ( dbus )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+       !www-client/firefox:esr
+       selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+       || (
+               (
+                       sys-devel/clang:17
+                       sys-devel/llvm:17
+                       clang? (
+                               sys-devel/lld:17
+                               virtual/rust:0/llvm-17
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-17*[profile] )
+                       )
+               )
+               (
+                       sys-devel/clang:16
+                       sys-devel/llvm:16
+                       clang? (
+                               sys-devel/lld:16
+                               virtual/rust:0/llvm-16
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-16*[profile] )
+                       )
+               )
+       )
+       app-alternatives/awk
+       app-arch/unzip
+       app-arch/zip
+       >=dev-util/cbindgen-0.26.0
+       net-libs/nodejs
+       virtual/pkgconfig
+       !clang? ( >=virtual/rust-1.70 )
+       !elibc_glibc? (
+               || (
+                       dev-lang/rust
+                       <dev-lang/rust-bin-1.73
+               )
+       )
+       amd64? ( >=dev-lang/nasm-2.14 )
+       x86? ( >=dev-lang/nasm-2.14 )
+       pgo? (
+               X? (
+                       sys-devel/gettext
+                       x11-base/xorg-server[xvfb]
+                       x11-apps/xhost
+               )
+               !X? (
+                       >=gui-libs/wlroots-0.15.1-r1[tinywl]
+                       x11-misc/xkeyboard-config
+               )
+       )"
+COMMON_DEPEND="${FF_ONLY_DEPEND}
+       >=app-accessibility/at-spi2-core-2.46.0:2
+       dev-libs/expat
+       dev-libs/glib:2
+       dev-libs/libffi:=
+       >=dev-libs/nss-3.95
+       >=dev-libs/nspr-4.35
+       media-libs/alsa-lib
+       media-libs/fontconfig
+       media-libs/freetype
+       media-libs/mesa
+       media-video/ffmpeg
+       sys-libs/zlib
+       virtual/freedesktop-icon-theme
+       x11-libs/cairo
+       x11-libs/gdk-pixbuf
+       x11-libs/pango
+       x11-libs/pixman
+       dbus? (
+               sys-apps/dbus
+       )
+       jack? ( virtual/jack )
+       pulseaudio? (
+               || (
+                       media-libs/libpulse
+                       >=media-sound/apulse-0.1.12-r4[sdk]
+               )
+       )
+       libproxy? ( net-libs/libproxy )
+       selinux? ( sec-policy/selinux-mozilla )
+       sndio? ( >=media-sound/sndio-1.8.0-r1 )
+       system-av1? (
+               >=media-libs/dav1d-1.0.0:=
+               >=media-libs/libaom-1.0.0:=
+       )
+       system-harfbuzz? (
+               >=media-gfx/graphite2-1.3.13
+               >=media-libs/harfbuzz-2.8.1:0=
+       )
+       system-icu? ( >=dev-libs/icu-73.1:= )
+       system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
+       system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] )
+       system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+       system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+       system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+       valgrind? ( dev-debug/valgrind )
+       wayland? (
+               >=media-libs/libepoxy-1.5.10-r1
+               x11-libs/gtk+:3[wayland]
+               x11-libs/libxkbcommon[wayland]
+       )
+       wifi? (
+               kernel_linux? (
+                       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}
+       hwaccel? (
+               media-video/libva-utils
+               sys-apps/pciutils
+       )
+       jack? ( virtual/jack )
+       openh264? ( media-libs/openh264:*[plugin] )"
+DEPEND="${COMMON_DEPEND}
+       X? (
+               x11-base/xorg-proto
+               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 && ! tc-ld-is-mold ; then
+               if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
+                       einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot 
use LLVM slot ${LLVM_SLOT} ..." >&2
+                       return 1
+               fi
+
+               if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
+                       einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! 
Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+                       return 1
+               fi
+
+               if use pgo ; then
+                       if ! has_version -b 
"=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+                               einfo 
"=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing! Cannot use 
LLVM slot ${LLVM_SLOT} ..." >&2
+                               return 1
+                       fi
+               fi
+       fi
+
+       einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+       af ar ast be bg br ca cak cs cy da de dsb
+       el en-CA en-GB en-US es-AR es-ES et eu
+       fi fr fy-NL ga-IE gd gl he hr hsb hu
+       id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+       pa-IN pl pt-BR pt-PT rm ro ru
+       sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+# Firefox-only LANGS
+MOZ_LANGS+=( ach )
+MOZ_LANGS+=( an )
+MOZ_LANGS+=( az )
+MOZ_LANGS+=( bn )
+MOZ_LANGS+=( bs )
+MOZ_LANGS+=( ca-valencia )
+MOZ_LANGS+=( eo )
+MOZ_LANGS+=( es-CL )
+MOZ_LANGS+=( es-MX )
+MOZ_LANGS+=( fa )
+MOZ_LANGS+=( ff )
+MOZ_LANGS+=( fur )
+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+=( sc )
+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}"
+}
+
+# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', 
and is temporarily
+# placed here until toolchain-funcs.eclass gets an official support for mold 
linker.
+# Please see:
+# https://github.com/gentoo/gentoo/pull/28366 ||
+# https://github.com/gentoo/gentoo/pull/28355
+tc-ld-is-mold() {
+       local out
+
+       # Ensure ld output is in English.
+       local -x LC_ALL=C
+
+       # First check the linker directly.
+       out=$($(tc-getLD "$@") --version 2>&1)
+       if [[ ${out} == *"mold"* ]] ; then
+               return 0
+       fi
+
+       # Then see if they're selecting mold via compiler flags.
+       # Note: We're assuming they're using LDFLAGS to hold the
+       # options and not CFLAGS/CXXFLAGS.
+       local base="${T}/test-tc-linker"
+       cat <<-EOF > "${base}.c"
+       int main() { return 0; }
+       EOF
+       out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version 
"${base}.c" -o "${base}" 2>&1)
+       rm -f "${base}"*
+       if [[ ${out} == *"mold"* ]] ; then
+               return 0
+       fi
+
+       # No mold here!
+       return 1
+}
+
+virtwl() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
+       [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to 
be set; try xdg_environment_reset"
+       tinywl -h >/dev/null || die 'tinywl -h failed'
+
+       # TODO: don't run addpredict in utility function. WLR_RENDERER=pixman 
doesn't work
+       addpredict /dev/dri
+       local VIRTWL VIRTWL_PID
+       coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo 
$WAYLAND_DISPLAY; read _; kill $PPID'; }
+       local -x WAYLAND_DISPLAY
+       read WAYLAND_DISPLAY <&${VIRTWL[0]}
+
+       debug-print "${FUNCNAME}: $@"
+       "$@"
+       local r=$?
+
+       [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+       exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+       return $r
+}
+
+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 && tc-ld-is-lld ; then
+                       local version_lld=$(ld.lld --version 2>/dev/null | awk 
'{ print $2 }')
+                       [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 
"${version_lld}")
+                       [[ -z ${version_lld} ]] && die "Failed to read ld.lld 
version!"
+
+                       local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep 
-F -- 'LLVM version:' | awk '{ print $3 }')
+                       [[ -n ${version_llvm_rust} ]] && 
version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+                       [[ -z ${version_llvm_rust} ]] && die "Failed to read 
used LLVM version from rustc!"
+
+                       if ver_test "${version_lld}" -ne "${version_llvm_rust}" 
; then
+                               eerror "Rust is using LLVM version 
${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+                               eerror "You will be unable to link 
${CATEGORY}/${PN}. To proceed you have the following options:"
+                               eerror "  - Manually switch rust version using 
'eselect rust' to match used LLVM version"
+                               eerror "  - Switch to 
dev-lang/rust[system-llvm] which will guarantee matching version"
+                               eerror "  - Build ${CATEGORY}/${PN} without 
USE=lto"
+                               eerror "  - Rebuild lld with llvm that was used 
to build rust (may need to rebuild the whole "
+                               eerror "    llvm/clang/lld/rust chain depending 
on your @world updates)"
+                               die "LLVM version used by Rust 
(${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+                       fi
+               fi
+
+               python-any-r1_pkg_setup
+
+               # Avoid PGO profiling problems due to enviroment leakage
+               # These should *always* be cleaned up anyway
+               unset \
+                       DBUS_SESSION_BUS_ADDRESS \
+                       DISPLAY \
+                       ORBIT_SOCKETDIR \
+                       SESSION_MANAGER \
+                       XAUTHORITY \
+                       XDG_CACHE_HOME \
+                       XDG_SESSION_COOKIE
+
+               # Build system is using /proc/self/oom_score_adj, bug #604394
+               addpredict /proc/self/oom_score_adj
+
+               if use pgo ; then
+                       # Update 105.0: "/proc/self/oom_score_adj" isn't enough 
anymore with pgo, but not sure
+                       # whether that's due to better OOM handling by Firefox 
(bmo#1771712), or portage
+                       # (PORTAGE_SCHEDULING_POLICY) update...
+                       addpredict /proc
+
+                       # May need a wider addpredict when using wayland+pgo.
+                       addpredict /dev/dri
+
+                       # Allow access to GPU during PGO run
+                       local ati_cards mesa_cards nvidia_cards render_cards
+                       shopt -s nullglob
+
+                       ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
+                       if [[ -n "${ati_cards}" ]] ; then
+                               addpredict "${ati_cards}"
+                       fi
+
+                       mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
+                       if [[ -n "${mesa_cards}" ]] ; then
+                               addpredict "${mesa_cards}"
+                       fi
+
+                       nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
+                       if [[ -n "${nvidia_cards}" ]] ; then
+                               addpredict "${nvidia_cards}"
+                       fi
+
+                       render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ 
/:/g')
+                       if [[ -n "${render_cards}" ]] ; then
+                               addpredict "${render_cards}"
+                       fi
+
+                       shopt -u nullglob
+               fi
+
+               if ! mountpoint -q /dev/shm ; then
+                       # If /dev/shm is not available, configure is known to 
fail with
+                       # a traceback report referencing 
/usr/lib/pythonN.N/multiprocessing/synchronize.py
+                       ewarn "/dev/shm is not mounted -- expect build 
failures!"
+               fi
+
+               # Google API keys (see 
http://www.chromium.org/developers/how-tos/api-keys)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+                       
MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+               fi
+
+               if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+                       
MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+               fi
+
+               # Mozilla API keys (see 
https://location.services.mozilla.com/api)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+                       
MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+               fi
+
+               # Ensure we use C locale when building, bug #746215
+               export LC_ALL=C
+       fi
+
+       CONFIG_CHECK="~SECCOMP"
+       WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to 
play DRM-protected content."
+       linux-info_pkg_setup
+}
+
+src_unpack() {
+       local _lp_dir="${WORKDIR}/language_packs"
+       local _src_file
+
+       if [[ ! -d "${_lp_dir}" ]] ; then
+               mkdir "${_lp_dir}" || die
+       fi
+
+       for _src_file in ${A} ; do
+               if [[ ${_src_file} == *.xpi ]]; then
+                       cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die 
"Failed to copy '${_src_file}' to '${_lp_dir}'!"
+               else
+                       unpack ${_src_file}
+               fi
+       done
+}
+
+src_prepare() {
+       if use lto; then
+               rm -v 
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+       fi
+
+       if ! use ppc64; then
+               rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die
+       fi
+
+       # Workaround for bgo#917599
+       if has_version ">=dev-libs/icu-74.1" && use system-icu ; then
+               eapply 
"${WORKDIR}"/firefox-patches/0026-bmo-1862601-system-icu-74.patch
+       fi
+       rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || 
die
+
+       # Workaround for bgo#915651 on musl
+       if use elibc_glibc ; then
+               rm -v 
"${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+       fi
+
+       eapply "${WORKDIR}/firefox-patches"
+
+       # Allow user to apply any additional patches without modifing ebuild
+       eapply_user
+
+       # Make cargo respect MAKEOPTS
+       export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+       # Workaround for bgo#915651
+       if ! use elibc_glibc ; then
+               if use amd64 ; then
+                       export RUST_TARGET="x86_64-unknown-linux-musl"
+               elif use x86 ; then
+                       export RUST_TARGET="i686-unknown-linux-musl"
+               else
+                       die "Unknown musl chost, please post your rustc -vV 
along with emerge --info on Gentoo's bug #915651"
+               fi
+       fi
+
+       # Make LTO respect MAKEOPTS
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/build/moz.configure/lto-pgo.configure || die "Failed 
sedding multiprocessing.cpu_count"
+
+       # Make ICU respect MAKEOPTS
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/intl/icu_sources_data.py || die "Failed sedding 
multiprocessing.cpu_count"
+
+       # Respect MAKEOPTS all around (maybe some find+sed is better)
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding 
multiprocessing.cpu_count"
+
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py 
|| die "Failed sedding multiprocessing.cpu_count"
+
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               
"${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || die 
"Failed sedding multiprocessing.cpu_count"
+
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed 
sedding multiprocessing.cpu_count"
+
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py 
|| die "Failed sedding multiprocessing.cpu_count"
+
+       # 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
+
+       # Clear checksums from cargo crates we've manually patched.
+       # moz_clear_vendor_checksums xyz
+       moz_clear_vendor_checksums proc-macro2
+
+       # Respect choice for "jumbo-build"
+       # Changing the value for FILES_PER_UNIFIED_FILE may not work, see 
#905431
+       if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then
+               local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16}
+               elog ""
+               elog "jumbo-build defaults modified to 
${my_files_per_unified_file}."
+               elog "if you get a build failure, try undefining 
FILES_PER_UNIFIED_FILE,"
+               elog "if that fails try -jumbo-build before opening a bug 
report."
+               elog ""
+
+               sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 
16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" 
python/mozbuild/mozbuild/frontend/data.py ||
+                       die "Failed to adjust FILES_PER_UNIFIED_FILE in 
python/mozbuild/mozbuild/frontend/data.py"
+               sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE 
= "${my_files_per_unified_file}"/" js/src/moz.build ||
+                       die "Failed to adjust FILES_PER_UNIFIED_FILE in 
js/src/moz.build"
+       fi
+
+       # Create build dir
+       BUILD_DIR="${WORKDIR}/${PN}_build"
+       mkdir -p "${BUILD_DIR}" || die
+
+       # Write API keys to disk
+       echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+       echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || 
die
+       echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+       xdg_environment_reset
+}
+
+src_configure() {
+       # Show flags set at the beginning
+       einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+       einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+       einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+       einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+       einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+       local have_switched_compiler=
+       if use clang; then
+               # Force clang
+               einfo "Enforcing the use of clang due to USE=clang ..."
+
+               local version_clang=$(clang --version 2>/dev/null | grep -F -- 
'clang version' | awk '{ print $3 }')
+               [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 
"${version_clang}")
+               [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+               if tc-is-gcc; then
+                       have_switched_compiler=yes
+               fi
+
+               AR=llvm-ar
+               CC=${CHOST}-clang-${version_clang}
+               CXX=${CHOST}-clang++-${version_clang}
+               NM=llvm-nm
+               RANLIB=llvm-ranlib
+       elif ! use clang && ! tc-is-gcc ; then
+               # Force gcc
+               have_switched_compiler=yes
+               einfo "Enforcing the use of gcc due to USE=-clang ..."
+               AR=gcc-ar
+               CC=${CHOST}-gcc
+               CXX=${CHOST}-g++
+               NM=gcc-nm
+               RANLIB=gcc-ranlib
+       fi
+
+       if [[ -n "${have_switched_compiler}" ]] ; then
+               # Because we switched active compiler we have to ensure
+               # that no unsupported flags are set
+               strip-unsupported-flags
+       fi
+
+       # Ensure we use correct toolchain,
+       # AS is used in a non-standard way by upstream, #bmo1654031
+       export HOST_CC="$(tc-getBUILD_CC)"
+       export HOST_CXX="$(tc-getBUILD_CXX)"
+       export AS="$(tc-getCC) -c"
+
+       # Configuration tests expect llvm-readelf output, bug 913130
+       READELF="llvm-readelf"
+
+       tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF 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
+       mozconfig_add_options_ac '' --enable-project=browser
+
+       # Set Gentoo defaults
+       if use telemetry; then
+               export MOZILLA_OFFICIAL=1
+       fi
+
+       mozconfig_add_options_ac 'Gentoo default' \
+               --allow-addon-sideload \
+               --disable-cargo-incremental \
+               --disable-crashreporter \
+               --disable-disk-remnant-avoidance \
+               --disable-gpsd \
+               --disable-install-strip \
+               --disable-legacy-profile-creation \
+               --disable-parental-controls \
+               --disable-strip \
+               --disable-tests \
+               --disable-updater \
+               --disable-wasm-function-references \
+               --disable-wasm-gc \
+               --disable-wmf \
+               --enable-negotiateauth \
+               --enable-new-pass-manager \
+               --enable-official-branding \
+               --enable-release \
+               --enable-system-ffi \
+               --enable-system-pixman \
+               --enable-system-policies \
+               --host="${CBUILD:-${CHOST}}" \
+               --libdir="${EPREFIX}/usr/$(get_libdir)" \
+               --prefix="${EPREFIX}/usr" \
+               --target="${CHOST}" \
+               --without-ccache \
+               --without-wasm-sandboxed-libraries \
+               --with-intl-api \
+               --with-libclang-path="$(llvm-config --libdir)" \
+               --with-system-nspr \
+               --with-system-nss \
+               --with-system-zlib \
+               --with-toolchain-prefix="${CHOST}-" \
+               --with-unsigned-addon-scopes=app,system \
+               --x-includes="${ESYSROOT}/usr/include" \
+               --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+       # Set update channel
+       local update_channel=release
+       [[ -n ${MOZ_ESR} ]] && update_channel=esr
+       mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+       if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+               mozconfig_add_options_ac '' --enable-rust-simd
+       fi
+
+       # For future keywording: This is currently (97.0) only supported on:
+       # amd64, arm, arm64 & x86.
+       # Might want to flip the logic around if Firefox is to support more 
arches.
+       # bug 833001, bug 903411#c8
+       if use ppc64 || use riscv; then
+               mozconfig_add_options_ac '' --disable-sandbox
+       elif use valgrind; then
+               mozconfig_add_options_ac 'valgrind requirement' 
--disable-sandbox
+       else
+               mozconfig_add_options_ac '' --enable-sandbox
+       fi
+
+       # Enable JIT on riscv64 explicitly
+       # Can be removed once upstream enable it by default in the future.
+       use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' 
--enable-jit
+
+       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
+       mozconfig_use_enable valgrind
+
+       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"
+
+               # Increase the FORTIFY_SOURCE value, #910071.
+               sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' 
"${S}"/build/moz.configure/toolchain.configure || die
+       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
+
+       ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' 
--disable-unified-build
+
+       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-x11-only
+       fi
+
+       if use lto ; then
+               if use clang ; then
+                       # Upstream only supports lld or mold when using clang.
+                       if tc-ld-is-mold ; then
+                               mozconfig_add_options_ac "using ld=mold due to 
system selection" --enable-linker=mold
+                       else
+                               mozconfig_add_options_ac "forcing ld=lld due to 
USE=clang and USE=lto" --enable-linker=lld
+                       fi
+
+                       mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+               else
+                       # ThinLTO is currently broken, see bmo#1644409.
+                       # mold does not support gcc+lto combination.
+                       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
+                       # lld is upstream's default
+                       if tc-ld-is-mold ; then
+                               mozconfig_add_options_ac "using ld=mold due to 
system selection" --enable-linker=mold
+                       else
+                               mozconfig_add_options_ac "forcing ld=lld due to 
USE=clang" --enable-linker=lld
+                       fi
+
+               else
+                       if tc-ld-is-mold ; then
+                               mozconfig_add_options_ac "using ld=mold due to 
system selection" --enable-linker=mold
+                       else
+                               mozconfig_add_options_ac "linker is set to bfd 
due to USE=-clang" --enable-linker=bfd
+                       fi
+               fi
+       fi
+
+       # LTO flag was handled via configure
+       filter-lto
+
+       mozconfig_use_enable debug
+       if use debug ; then
+               mozconfig_add_options_ac '+debug' --disable-optimize
+               mozconfig_add_options_ac '+debug' --enable-real-time-tracing
+       else
+               mozconfig_add_options_ac 'Gentoo defaults' 
--disable-real-time-tracing
+
+               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
+
+       # elf-hack
+       if use amd64 || use x86 ; then
+               if tc-ld-is-mold ; then
+                       # relr-elf-hack is currently broken with mold, 
bgo#916259
+                       mozconfig_add_options_ac 'disable elf-hack with mold 
linker' --disable-elf-hack
+               else
+                       if use clang ; then
+                               mozconfig_add_options_ac 'relr elf-hack with 
clang' --enable-elf-hack=relr
+                       else
+                               mozconfig_add_options_ac 'legacy elf-hack with 
gcc' --enable-elf-hack=legacy
+                       fi
+               fi
+       elif use ppc64 ; then
+               # '--disable-elf-hack' is not recognized on ppc64, bgo#917049
+               :;
+       else
+               mozconfig_add_options_ac 'disable elf-hack on non-supported 
arches' --disable-elf-hack
+       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
+
+       if use valgrind; then
+               mozconfig_add_options_ac 'valgrind requirement' 
--disable-jemalloc
+       fi
+
+       # Allow elfhack to work in combination with unstripped binaries
+       # when they would normally be larger than 2GiB.
+       append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+       # Make revdep-rebuild.sh happy; Also required for musl
+       append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+       # Pass $MAKEOPTS to build system
+       export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+       # Use system's Python environment
+       export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+       if use system-python-libs; then
+               export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system"
+       else
+               export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+       fi
+
+       if ! use telemetry; then
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_CRASHREPORTER=0"
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_DATA_REPORTING=0"
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_SERVICES_HEALTHREPORT=0"
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_TELEMETRY_REPORTING=0"
+       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
+
+       if use valgrind; then
+               sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g 
-O2"/' .mozconfig || die
+       fi
+
+       ./mach configure || die
+}
+
+src_compile() {
+       local virtx_cmd=
+
+       if tc-ld-is-mold && use lto; then
+               # increase ulimit with mold+lto, bugs #892641, #907485
+               if ! ulimit -n 16384 1>/dev/null 2>&1 ; then
+                       ewarn "Unable to modify ulimits - building with 
mold+lto might fail due to low ulimit -n resources."
+                       ewarn "Please see bugs #892641 & #907485."
+               else
+                       ulimit -n 16384
+               fi
+       fi
+
+       if use pgo; then
+               # Reset and cleanup environment variables used by GNOME/XDG
+               gnome2_environment_reset
+
+               addpredict /root
+
+               if ! use X; then
+                       virtx_cmd=virtwl
+               else
+                       virtx_cmd=virtx
+               fi
+       fi
+
+       if ! use X; then
+               local -x GDK_BACKEND=wayland
+       else
+               local -x GDK_BACKEND=x11
+       fi
+
+       ${virtx_cmd} ./mach build --verbose || die
+}
+
+src_install() {
+       # xpcshell is getting called during install
+       pax-mark m \
+               "${BUILD_DIR}"/dist/bin/xpcshell \
+               "${BUILD_DIR}"/dist/bin/${PN} \
+               "${BUILD_DIR}"/dist/bin/plugin-container
+
+       DESTDIR="${D}" ./mach install || die
+
+       # Upstream cannot ship symlink but we can (bmo#658850)
+       rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+       dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+       # Don't install llvm-symbolizer from sys-devel/llvm package
+       if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+               rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+       fi
+
+       # Install policy (currently only used to disable application updates)
+       insinto "${MOZILLA_FIVE_HOME}/distribution"
+       newins "${FILESDIR}"/distribution.ini distribution.ini
+       newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+       # Install system-wide preferences
+       local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+       insinto "${PREFS_DIR}"
+       newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+       local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+       # Set dictionary path to use system hunspell
+       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
spellchecker.dictionary_path pref"
+       pref("spellchecker.dictionary_path",       
"${EPREFIX}/usr/share/myspell");
+       EOF
+
+       # Force hwaccel prefs if USE=hwaccel is enabled
+       if use hwaccel ; then
+               cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
+               >>"${GENTOO_PREFS}" \
+               || die "failed to add prefs to force hardware-accelerated 
rendering to all-gentoo.js"
+
+               if use wayland; then
+                       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
hwaccel wayland prefs"
+                       pref("gfx.x11-egl.force-enabled",          false);
+                       EOF
+               else
+                       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
hwaccel x11 prefs"
+                       pref("gfx.x11-egl.force-enabled",          true);
+                       EOF
+               fi
+
+               # Install the vaapitest binary on supported arches (122.0 
supports all platforms, bmo#1865969)
+               exeinto "${MOZILLA_FIVE_HOME}"
+               doexe "${BUILD_DIR}"/dist/bin/vaapitest
+
+               # Install the v4l2test on supported arches (+ arm, + riscv64 
when keyworded)
+               if use arm64 ; then
+                       exeinto "${MOZILLA_FIVE_HOME}"
+                       doexe "${BUILD_DIR}"/dist/bin/v4l2test
+               fi
+       fi
+
+       if ! use gmp-autoupdate ; then
+               local plugin
+               for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+                       einfo "Disabling auto-update for ${plugin} plugin ..."
+                       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to 
disable autoupdate for ${plugin} media plugin"
+                       pref("media.${plugin}.autoupdate",   false);
+                       EOF
+               done
+       fi
+
+       # Force the graphite pref if USE=system-harfbuzz is enabled, since the 
pref cannot disable it
+       if use system-harfbuzz ; then
+               cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
gfx.font_rendering.graphite.enabled pref"
+               sticky_pref("gfx.font_rendering.graphite.enabled", true);
+               EOF
+       fi
+
+       # Install language packs
+       local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name 
'*.xpi') )
+       if [[ -n "${langpacks}" ]] ; then
+               moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" 
"${langpacks[@]}"
+       fi
+
+       # Install geckodriver
+       if use geckodriver ; then
+               einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} 
..."
+               pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
+               exeinto "${MOZILLA_FIVE_HOME}"
+               doexe "${BUILD_DIR}"/dist/bin/geckodriver
+
+               dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
+       fi
+
+       # Install icons
+       local icon_srcdir="${S}/browser/branding/official"
+       local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
+
+       insinto /usr/share/icons/hicolor/symbolic/apps
+       newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+       local icon size
+       for icon in "${icon_srcdir}"/default*.png ; do
+               size=${icon%.png}
+               size=${size##*/default}
+
+               if [[ ${size} -eq 48 ]] ; then
+                       newicon "${icon}" ${PN}.png
+               fi
+
+               newicon -s ${size} "${icon}" ${PN}.png
+       done
+
+       # Install menu
+       local app_name="Mozilla ${MOZ_PN^}"
+       local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+       local desktop_filename="${PN}.desktop"
+       local exec_command="${PN}"
+       local icon="${PN}"
+       local use_wayland="false"
+
+       if use wayland ; then
+               use_wayland="true"
+       fi
+
+       cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+       sed -i \
+               -e "s:@NAME@:${app_name}:" \
+               -e "s:@EXEC@:${exec_command}:" \
+               -e "s:@ICON@:${icon}:" \
+               "${WORKDIR}/${PN}.desktop-template" \
+               || die
+
+       newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+       rm "${WORKDIR}/${PN}.desktop-template" || die
+
+       # Install wrapper script
+       [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+       newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+       # Update wrapper
+       sed -i \
+               -e "s:@PREFIX@:${EPREFIX}/usr:" \
+               -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+               -e "s:@APULSELIB_DIR@:${apulselib}:" \
+               -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+               "${ED}/usr/bin/${PN}" \
+               || die
+
+       readme.gentoo_create_doc
+}
+
+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
+
+       # bug 835078
+       if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
+               ewarn "You have nouveau drivers installed in your system and 
'hwaccel' "
+               ewarn "enabled for Firefox. Nouveau / your GPU might not 
support the "
+               ewarn "required EGL, so either disable 'hwaccel' or try the 
workaround "
+               ewarn "explained in https://bugs.gentoo.org/835078#c5 if 
Firefox crashes."
+       fi
+
+       readme.gentoo_print_elog
+
+       optfeature_header "Optional programs for extra features:"
+       optfeature "desktop notifications" x11-libs/libnotify
+       optfeature "fallback mouse cursor theme e.g. on WMs" 
gnome-base/gsettings-desktop-schemas
+       optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal
+       if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then
+               optfeature "hardware acceleration with NVIDIA cards" 
media-libs/nvidia-vaapi-driver
+       fi
+
+       if ! has_version "sys-libs/glibc"; then
+               elog
+               elog "glibc not found! You won't be able to play DRM content."
+               elog "See Gentoo bug #910309 or upstream bug #1843683."
+               elog
+       fi
+}

Reply via email to