summaryrefslogtreecommitdiff
path: root/www-client/firefox
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-09-29 11:37:12 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-09-29 11:37:12 +0100
commit172f211c978ad5a44d673a147d1db4bb4677d60d (patch)
treecde065724da573c89090c0ed58f2713d25f352e9 /www-client/firefox
parent3766a8b91c5aed719a5fd49a417fd9f5ae810766 (diff)
gentoo auto-resync : 29:09:2023 - 11:37:12
Diffstat (limited to 'www-client/firefox')
-rw-r--r--www-client/firefox/Manifest101
-rw-r--r--www-client/firefox/firefox-118.0.1.ebuild1430
2 files changed, 1531 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 3c24c8068da2..11c14e0e2c62 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -509,10 +509,111 @@ DIST firefox-118.0-vi.xpi 605281 BLAKE2B 51865b9d8dd8f1a5f8200f754df8ad6ee2207f8
DIST firefox-118.0-xh.xpi 401464 BLAKE2B a2423f2509edd33aefebe4e9523c0463d51745035419fb59e8595845574903e4969ec6d341eb5c4bb95194eef210682fb1faa140f301ee33750388af95367e24 SHA512 d40d0c276ef89330c41634619b9e5b0233be6090a3277de91c06f2647280637ecd405f028ae1d4349db5ed9726d4f9f1a62e81d51d807c00e186e426e1d022d3
DIST firefox-118.0-zh-CN.xpi 604604 BLAKE2B 63bee140785e0d04c6fc4bb798c50267a5ef1987c2b7188a570d61cf3e3236cdd8badfe473822d63602df849264751dbf4de116fb7046419a5f378667b0d0bc7 SHA512 7ad987778bb5b514dda69370744a1e5b9f212238be9503444ed13ee177545742da0d6ee2db06b05ef40b991474a3995ee6aec4d4130c3ae87af91ff8d080cd07
DIST firefox-118.0-zh-TW.xpi 606636 BLAKE2B b976d18ba6dac7f48dcf8e904e0bdfc670ace60c0f0375114a5f9b4d095e51514ee4975f48afb0f5a22065200d499150a4ccf264d61b611e1a1db2d6816e7bc3 SHA512 b028cb6cbf8b5dd7bcc3fda78356363e6abcae9cc2f5d81c0c7d7b24b52d2c9a179c069915f2c1125773fa88c8e008e758426345dbed18a2d8d0b8ba15a3e9b9
+DIST firefox-118.0.1-ach.xpi 446026 BLAKE2B e5c801bee7f8ebd92c5de87217fb46cd7e3b7ccf08d2ff25537ba80cef8e5c940a3eec173f3ce46181fe68aef783751a68e9236b556818dcbada34b7d1bb29e1 SHA512 cd3c9010a75cacd7afb2f3d9626798d935a88c1f9460130325ca76fecc04094e335762e8f55c4fb9fd98c09f6fd947b7d8b58ccde23fe0f06d5ae59a40628f0f
+DIST firefox-118.0.1-af.xpi 401795 BLAKE2B ad6a6815cb2f544a14d9125d9d89dbd745b679ccd89ef75c8bdc77fdf55ebc1f7c14422c92ae07a6a59a166f89afdf3ed024603c4ce9edce80c95f685ed6d3f3 SHA512 9187bf995aecdaeaa11c423ca60514fdd5f8d90fc8e93f1ee28897dcac057914801083a6b2c90634842c66d8ae80b87d6ec8989ce8cf666b4b64fe3b919b1a18
+DIST firefox-118.0.1-an.xpi 485437 BLAKE2B 8da6d2893750e7e2e1e718fb8e6e559725f97ad8f3aca44bbc658573f89f5d21460b62176f9423ca0c81358863a2804ac653ebf49596c3ec84c3bf8f0ca16b6b SHA512 b61baa59dcf51c0627b0630680ed440734d69824f87236e7806c461dda6c891d6fcae6b791366bc9a55050e1a8aaad258f1df22eeaec0c6d72a96bd82651ea04
+DIST firefox-118.0.1-ar.xpi 552502 BLAKE2B 714d561ea57ce939fc0bb76a404b706d7d3f0aaa544fea813c49d32644be4d3edbb0b2867afa81abb6002b8185c97480cd87acca433137df7b8c92dcfe21d2b9 SHA512 e9b6818b4d569e77d344c1a7a32a29cf3853b9f0d42e7c73707c0b5deb119e0c739754693386fea982396acc9a0403e5f7676a5008bb12d01f74876eea99a8de
+DIST firefox-118.0.1-ast.xpi 478762 BLAKE2B 878fc79e0d365236daf3c9adf645d30d8a3f2ca7146798506c77970a58575b55781c2f51df2667ea860b32a31225e76e3a88df606eb12e2490cef6d27b2bd5ea SHA512 0ce1992a29ed6979a468085c0f526e8caf514ae9cbddec50ca6869048e3a7dfa5eacbe04ff925868251af374a38f5d30e53edd609cadda080653c9c622b2af96
+DIST firefox-118.0.1-az.xpi 471877 BLAKE2B fc3dd907330b9c16df7ee247dc41cbba8051a6a60c27ea8332ac7b07a6ff99db3609dee300ef01697588b3a9342d9e14aedb0f777862dfe1bfc43a1ed3cd4b77 SHA512 f2518452f5ba568a235d9996b3402bd778fe78aebec5a9a871ac2df2332564d5586a3e3da3ccf930df0ecf4d08dc10ef8bdc6c0085cae71295953b10cabe4075
+DIST firefox-118.0.1-be.xpi 657997 BLAKE2B eda077d395c0bfe52e3a6bb54d477e1e88fc8c73612e6159557f9d2efe4b0fd795d88c571ff5749c922660c05bcb7306aea4c57624784847b05d267aab4c8b02 SHA512 c13fb21176b0f5061a2ae96127de9d39dc567522a7345257dbd6a1dc4f9cbcbc2f732a69a2c3f804d05df6b7a70e9620d81e294b119c42bd8a91d1e8087f6fc3
+DIST firefox-118.0.1-bg.xpi 567008 BLAKE2B 515a6b7f74b8450b52daa2753268759f41358ad19529b95c2144957f374328d2e3faf7a40a4f5e6aa2f378e09e76fe49538478605b8c832298b5ac1a34d78a0d SHA512 6ce4817761e960adb27a429e36a1eb5fc5f1cce1829c4982550a5b721a4d42632b0444d74a9396d9f52dcf63434d9d32b300b56c3643aaf6b88ed5caaa197012
+DIST firefox-118.0.1-bn.xpi 561418 BLAKE2B 3bd876f045602755b934df77bdac5879382ee05d2a4622774d811a40cd6fd6f655ad58e07bc9a95b8a4a29a8ba7b915a4bafe8b51b263b5bfea2d52069398486 SHA512 3afe1ed48f1db34b5120db3b91af7188adf6d95cdf5b06de2d40df30ec055e54f966f934008b13a1e6fab48e312145dbe4b6ebe8caf3b94ab100b3e1da3281ad
+DIST firefox-118.0.1-br.xpi 546675 BLAKE2B b5e9d8cbf498e8c7a2d01f211131c8ef8eab2a020c2fd1a8ead4baff0d7439e195eda99c92b21ecd45c0f84cb27521fcb02a24d1d33acc1df23465e2d6fa34a3 SHA512 7aae2041bb48e6e051f4cea1f51ac8bcb7bf5f5c5dc9fc3a92aa4dd64036a2707aa5df716f2838ee4d8c6884fddaa7dc2747854723d4fcc1b5fec3c8c572e6ad
+DIST firefox-118.0.1-bs.xpi 441969 BLAKE2B 65a8ac3d49713ffc11583bf8da1c1b5a744d6cb6d07f5d898846e0575c6c691b9e8eef24d2f52774fc61fce5e99e4b42382b1f3ad87bc572f7245dc5ac5948de SHA512 f00863e5d736f525f9dc11bdb0e542579eddbdba86ca0f3d7058aab46567599bd40fc066b9084eb15a3ff9810af2fa1b99bd6cf93f2f2d3e7e15bd7e33dea04a
+DIST firefox-118.0.1-ca-valencia.xpi 524711 BLAKE2B c657f707b18bc462cbaecbbf68699d742e0b1ec1a47976bd62ed43da5044320e252940c4a803166677037620c11018022bcedd7c87c9fd5f97c2fd9bc9c31556 SHA512 0d972a85617dbfa6692aa5417b5f9528ec7c0e7ec696c9cd2fcc0ac87f121177812d9d95a076978b48923d31e5275d0743c6b21b38eb6186a3c92a38d2cba0ec
+DIST firefox-118.0.1-ca.xpi 548412 BLAKE2B 0d809e3183adb746328a8a645bc9557df64a37b7df32d792c352719a92e50675fc9b326aff39a4fde5a9f1fa08b4c1a8028b27b3d06fdb16265f679d9fac02ef SHA512 b72e01ff4f994ccad111bbee5ccb78a373087afccf766961d13abde201d3e4922dfbc90e13c28e895d21db76085b6327b1d3cce5517a21f27020404215adb82e
+DIST firefox-118.0.1-cak.xpi 569601 BLAKE2B 25b43b98a3df3a47cfe9c20b626a2319f02331228905e2619512ba0eb43aebca51b61750d3266cbcf827108e8ebae15659567026cf5cdacfbc759ac73936c8e5 SHA512 bc5824590b440b6fc1ef89af7b675050449b02b53fc32c3f71a89fce94e23f7523921d681f0d0084798f27101b82cc8794b19b03740295ee425c10760c29f142
+DIST firefox-118.0.1-cs.xpi 602034 BLAKE2B 0ba0f29d60b387cdfc8f92135b6a512abfee127f5644c40eaf0c00762634e005feba5595eb9193ad7b7839414f8adf96076fb0a148b775ffb161c42167ca6a18 SHA512 00c4cf1dfad327b4755f201d874453e6caf9bae6e7e0243269a9ae5a97883179bda966a5528ea63dfbc69baa8e6b4fd7a0db28f7808e38755d52cb28fbbb7b68
+DIST firefox-118.0.1-cy.xpi 573630 BLAKE2B d8b5e6049eccc88d6700e8438aa72d5539e7504df0a5cd05e54bf878afb05069886c7361531d18e022813e23005d1ff931154cf90f7bbb08f62900b7ccf267be SHA512 b08814e7d3d49ae9aefd502417e90a12db6e2130d9c0b441ee8d0362be943c845e3f2ca52d76c70086841b2d49726599a05da6c71a56237b5097f7dc413c0b8b
+DIST firefox-118.0.1-da.xpi 562661 BLAKE2B c3c45856463df46de3d35a2b35bee72269461311c415b6065176e1036bc5fa1025b07c102c2d76be4ff12d825598fb2dc66ffd38e8d77d18fcc1e0e2831d7971 SHA512 14c6f06b78d2ea6e5d15243159c57073df61f0ebb86e7e0bd58c75415a5e40c1b43503b745c1daa44925379a1479c7890a4d06c3feed6c32d25d3b1b0f972d64
+DIST firefox-118.0.1-de.xpi 583333 BLAKE2B 9e092c9d53fadd499a4fabb1ad936d56377bb06151a0bb51ce734f8f598ff5f140a7f9039768d42606368019179348ae5415f6dfa8b27303b1bb1eedfd7ba31d SHA512 1d591f374d878b3c70536d028a698cc9677af49fabbb586c28deb5cf2c666a144a9453e9cd8a7cd7f1279ce9a3c4c3fdba0a522d45290fc3789d0367abc00066
+DIST firefox-118.0.1-dsb.xpi 598372 BLAKE2B 3bf36096147faba5d86bc7b6f26521f90645a2fcce2149da5b14692b23bd88b11b930cc96c37a270532dc23cc47bada8c4299ec6ff71852b7136207b233e465f SHA512 00f4e192ca4bb1afc9dcb4ef59b091cf9ea0c55b46a5015bd7b6f5047c6ccd8431407ae927ed231a68085a064e4674aaab27fb7c1fbcaa1e519e8591401d512d
+DIST firefox-118.0.1-el.xpi 672674 BLAKE2B bbc26dc343aa5594c7ce695f9e987f749fbf160ce92d62ca8659a70ab79825bda37d4c74c58c1acb5120e80ec670c1926c7c9fc025cb552cfc78c4e80c4f6729 SHA512 3216e05760945d648f0773bf860fc81a1a40a5b2d1695b8fda467592df409337d43cf1ddff41f14a114c4723ab2c95918e57bf630bd521f51127afae212e7d2d
+DIST firefox-118.0.1-en-CA.xpi 538015 BLAKE2B ec2b95beed2d0a1d7e2a5b2003f72c76295b1aef0691b4bd56b9f6302dfd384ca152f17d0eb0cdb209cf1f4aaa8042230c29939556b2f1d9ec8ffc9b7016ffcf SHA512 b17ff95bdaf5c918db8d8f9230b5e3cf5b888a4769c2858268b3cbd4e7fe9a2bbea211dcc8bfbe310c8b96b91d53dbfb8bf64ee820917c47e7394d3c1e651564
+DIST firefox-118.0.1-en-GB.xpi 538560 BLAKE2B cb01dde6c2b9fcbca4041d107c858822558bbaa31c2904a622644c40f3158c5b5394f2b3eb5c51b7685f19ba65880600df3dc8fee16b5f47c69af8890a15a280 SHA512 9f786de53a0313f773abe9882929f907a4edce7ccf80fae476bea78626698957d78fd512974b26efb2d2ad468adbe3e13c0201574c361f2e8c3c29b20e4c0dd2
+DIST firefox-118.0.1-eo.xpi 563415 BLAKE2B 7e66dfb339e9b908c9087e2deaa6e2d07b1f3a5583ab3bfe3d86b5683503994767de63d77e03eb51aaad73e99933adb417b96ce1e6530fb6abf34c29db7017b5 SHA512 cd7a566db2f94d6504df8a74dd7853e13851d589facc9d6457b9dd00b2c9109657e7c978867673a7ee54962456809f09ea93003fffcd418744278724c41a3fb1
+DIST firefox-118.0.1-es-AR.xpi 577749 BLAKE2B 1a10cedf04ece61587aefe6e5ae22e4be384ef4a87e7ab6f95bf2fc3836633e5a9dfce6e5de2ee489a48f63d4e63308686bad5f8c17d93ed68f96e468e0c73d5 SHA512 d4a499d5d16b563c1ed1f931fd0d4ccd46d482b0469e0816e65f8ba21954d2f8a4a37606125a6daffc3d2064cb098f56c47bd5ac4b75df1e04485cfe0231a9ff
+DIST firefox-118.0.1-es-CL.xpi 576548 BLAKE2B 354b1adbe8b1ecf65e809caca8896e49c3d86881fcbaf86d23aa39af623604f0bb2f8f11b3db2f20d895d1af48a721056685e035e4fc2e6e93912f35b814c575 SHA512 5db0736f95bb9c1c3ad5cc23ae732051fc0bad4ba6db11168ba2ff40d031e9958087a20cde4715db2519efc32091a12de3362b665fd186aab624d488861665e6
+DIST firefox-118.0.1-es-ES.xpi 571103 BLAKE2B 772d119d3002f04cbff078d78ada5bdd38020df6fd375d421534024bc9d1d2df0c0fe31996c58bf4c54b9c53d0dedb1e626ede126c984e1cc3363ce644117862 SHA512 adb23f512fb0a83e906bb1a5828e0393cd193e707098e7244ff141e147876f491c6a225258642ff3846dbeb9edccf0b4a6e57c90f4fa31188b096f341e368cb8
+DIST firefox-118.0.1-es-MX.xpi 568537 BLAKE2B 20021b0b6d81f1cac45d09cee771057024ee3a7a878c13f8d6e1e726deb4cbff5b9e97e66c5bc982a466e028ee1435740293d828cc4286ebac5fffe645a0623a SHA512 419d3b2b64c8fa0ddf1d69c660884030b6dabad0766519c99742a602c20192782f05f8959f223375ca1a48a091cda1cf6122c562a244633e4d9f6887b6951e0a
+DIST firefox-118.0.1-et.xpi 519004 BLAKE2B 4fc35c5b10804f1d11e8f79cf1a9b20efc13742cf750033b46a55d402355b1437c56922a9922b6de4e35b7f6328a9b7f72dcb3c36eeef1c5ccd8c887a5068005 SHA512 6c5a00f7cb1ce72c2221dccfd4b19ee339cbde57f4d6eb2c09084b7af5ad7ebd4ef5acf2a0a88f8b569a0213f262df32e69c4860ed23c910d10e395338347e85
+DIST firefox-118.0.1-eu.xpi 559330 BLAKE2B 9772dd9eb2e0c031407dcdbe3f20828d323b337ef14264f97659ec5e62800d5757a74c80bc5cc268476090c641a9bf664f53a696f2928b06dc74c71c4e14fcd9 SHA512 85726a79e1d3c54acd14eaa274c1f7b208afb539c4d4132dfd1316fba0a948fb8518caef2d1f48fc50c77816c4cdf7fdce2719c23a081d8bc75c771b478af9d2
+DIST firefox-118.0.1-fa.xpi 569207 BLAKE2B ef86d02fde7e74260e0da31754a5f14fb5ab0d43e1818a3d5beb59961dae9981b0b15cb3e06d8eb64e45adf9abe8ab500b53c836ff60dece29e105a2437a06b7 SHA512 b65f4cfd004ef09c9918fc123d60bf05df96c0b4acb187f8589cf2f84b85083b9c4ace7467a97aa4a1be7b66fe47b44c0312a1449c57f3bc69270c7e3c315f97
+DIST firefox-118.0.1-ff.xpi 457184 BLAKE2B 229cfd28e434146b6d686364cc12abb0a8a8b4d411a504ce12b2da5227dd89f0b16258c009bfa9997f02e11e4f7d6cac471c1e3cba41549d76548b37018b6a10 SHA512 7ed55d66be7ed7593428b1d5a41f76a08dff21ae5700fa160e78dab4e556d5800151ae37cbd463a2937868300d108189b4b6f3e80b4e085c293239ce6c046971
+DIST firefox-118.0.1-fi.xpi 560271 BLAKE2B e9a1c53d65a3b37f70a4553c4c805c96f3c3834a9b9c28a415be330352e0d892652c35286884a1b9fcfea03ec0c0ef05cf42c43672570a01d2626bfde4145bd6 SHA512 a3396dddacf6bfa65d3cbcbcb7ecb870011cc0a6ca58266dcd97303fe0ffabe7ce43662c194f1b68de1e3d610c4b3495f2bc1cc9635fb1a9dfd7f8f965bbf091
+DIST firefox-118.0.1-fr.xpi 588797 BLAKE2B f5e90993e632c8252fb6ee01afeb956b4f91c0d3f7f4cbc46e47e86e917ba00ffd5ea8b3d31cb6544cf4f17c02b0be7b0b63a339a53c7eb99074a8d6020296ed SHA512 62ec47827589c3305ede9eacaf92c36bb7d438d66d3704cb324c8e23d26b70c8b418e9bd4da1c4228953c6fabb1bc6bd95fa52c013b5710b9cebdfa74948b547
+DIST firefox-118.0.1-fur.xpi 582429 BLAKE2B 4e961fb931f8022c45c4d7b75309727de91b0a2041dab26ba1f6cb41c259fe377744b2438fe1e1af04b8055cb8a2bd96b757f4644a9d417cece577d8b781cac3 SHA512 9e49704c562a384496d19dc211c1f91282c7f4fbcf08f1c2924b1fe5e9b2a1a947a6632d2ebf098ed1c566bd946cc55ba94b7afd5d4c47819b4216870da369db
+DIST firefox-118.0.1-fy-NL.xpi 573264 BLAKE2B 493bfd6fd947bd07befc9003bd448b8ce71e5c636da7bf57f2bce3de89db84689ae65b8855fb7515bd940d7e5a6b455d2365b3696561f45e6633914b41747062 SHA512 ce80a9f0980e6852ef658f45804995e78f914e7a579a1ec02698713e349f34e4e5a693aefcd92faf68b61fbad12a2a7333d3dedf6b96bbdc61aa511bc8e5b938
+DIST firefox-118.0.1-ga-IE.xpi 454904 BLAKE2B d540982ecee92bd00890355d5cc4b65febee4623d43d3900c7197fd0b3b13cfcf0aeda533c41ecc12a4e24044908eec78eee466a6b57d75d5acfce916719192f SHA512 d5b463e8ac387a18c5fcb7d575c88a3538c30143e3d50a9fcb6629fb0f7988ed6dd660cf467a46b0ee6c0ae6a3df8c98c08aebec44689ca7fc95c8409489c5b7
+DIST firefox-118.0.1-gd.xpi 570194 BLAKE2B baa4091ae065848effd0f544a769311124422cd336f9a599a618f8c83d8674d66896dd63c7e82187a05af1992fd0f8a734e1b689f9b9c16cad31a580b1930389 SHA512 e6abca5b6bcf5ad45fa81cdfd9f19909c54e8fb0b9e15753c7b0cc4f65ec0ec94157ad83fe7765c9305950c9d28cf987fefa7590be8ca7460359ec845dae7fe4
+DIST firefox-118.0.1-gl.xpi 569417 BLAKE2B 45323bd922f1994d6581f9998d0143f5933e53f4b02ce8aa0f8c2bf8190b06c1a17fe2713fcce5f2cbd34ce6a6e8716ad5fbf69a90a2852dbbd6ee6f43caff48 SHA512 a120c6dfa82792d2804a9187b157496600c8de759bb75367eafb58146dcc05ebde26b07c30171b0718ad8dc775680fee14bc49ecce4314a4f21ac72e6c10fc2b
+DIST firefox-118.0.1-gn.xpi 586932 BLAKE2B 1e743334a6ed8983068107cb8dac8500becd6a2c511ad127c618b565df8a9e3b343a2607d9453fa85a6134a9e6846defa9e3612b10f07014b98d1317b1bdd980 SHA512 1c691c93913023709ba255b056a71e376888af5fd758c387ca0805e84223cd2e632332657e6320a9f07ff5cb034e2588cb8e348eebac776415de5b6454ac91a5
+DIST firefox-118.0.1-gu-IN.xpi 507505 BLAKE2B c33469ede2868df698d70e077f9f6430f8aac0ba9418d7ceff8e23474b28cd5ec6a0c34356dc8dddba75871e51f60105bf8d22dd7e106d473c42a05d03f85127 SHA512 123f37a06290dfb38322540f956a97c42fdee2683831eef008178b43b33109f9cda61d295b528ef2c08a49cbaf119956f081da45b32eae9b70eebadf61828147
+DIST firefox-118.0.1-he.xpi 583011 BLAKE2B cc64ba46db5badbcf933c89aa434455d936c6d44715e2035b8215d9e8d8298252db34750c320a5c1088807dca9196b00838c697d9b02045f2fa944ae0e89c131 SHA512 7968e6b62b5a87284ff7b26cbf036f2addcfe0a1069d492fd41b0313ae999aeb764aebe5a45fe508eaf0b7e1d09add02aa4e4a5f3da749ce1da4822019cb73d8
+DIST firefox-118.0.1-hi-IN.xpi 545208 BLAKE2B 8a6db80e0fa3ee4dcb9e7d9eab4a9dd2aac38ba5809c48d19dd17404958dad9d98d63d17f87b74d772f772edf310a93ad5a4cc4fcd7fcb034a15dafddbfbc72f SHA512 732e844a00877f8f23c03fd2a4fe7a9933e2f55b4f6332e612ead9d86385f8478ea766cb3a7321227aaa557699a94ecabdb9f4f9a9fdf352848994516c6f4381
+DIST firefox-118.0.1-hr.xpi 536180 BLAKE2B 7d2c454040980c4d5acc80e72b381c0921741ccc9661679b852de08de0c9e104b99064aa92b19ccb5836ead745bacd11777bbc4cde6e993293f95e67d36ec58d SHA512 b22c5a2140c33c6d43d370eb500e7be4199ab0bee2972a7117629d0ea2e224aa0075e8078542128a5e64ef2e678b58a166e94cb94b701548cc8f5f05647cdb60
+DIST firefox-118.0.1-hsb.xpi 594446 BLAKE2B a67cbfbdf2a491f8583ce6062035467254311c86c94813269dcef7cbfc9ba6798e9b5a9597e35d3eff64a1a18d4bf7faa7e0f73779ae2b5e2027c68e9622d44e SHA512 771996cf72c693a9e88765fb862271d65620c8734c6c68faabc5d6fe5044a48f075c7b278ac9abadcfb3ed1ddd11a7499a9971d315af2aff987b8e2ecbaf47c0
+DIST firefox-118.0.1-hu.xpi 598444 BLAKE2B ba70006bfa81f711ab836ee1ea41e90b2aad19d422aebbc9dd609141b17f4a6cbfa4f6b247595d509cda700dd4ad94c2eb0ea428d1ae52abb6690453b0731f8c SHA512 3d8cfec795fc6550c1dd363b30836bd0e897db742895a202772f8f817301c5afca96fa072c6c1ce798646da2458f67b5f7d58a936df5d2db228fdc1235c6bd29
+DIST firefox-118.0.1-hy-AM.xpi 584489 BLAKE2B 58a39a714e8407c40cd707463f05eb58a230a5b2263b875956d48f8593613f65b7859069471f267cd9de369ab395279c97a9b2e0c10dd986aa0b218f60c90848 SHA512 0bc0021a10b80fe220a6df754da83ac879e7d0508f1f78536cfec551fd4b0b58734f4915a36cab895ae65e55d3f5174ee309e521ed47f91d207db8d30a324b59
+DIST firefox-118.0.1-ia.xpi 561641 BLAKE2B 7e95d000f88243e8a168ddd415f1bf8a2ca0f2b85d62620e954a734fb68c3cda6e41a724973e9797f5ef81dc4c6b049da4302f6cce508c4af6d368fe934bf461 SHA512 b4d0b1636201f38f1a4972e8f363daa3e3e0e8c428e1103b280bbba2b7592378942fd68d3cdab1f19c8ebfd6f8f38d784d701c1079486ef6d845a0391573b6ea
+DIST firefox-118.0.1-id.xpi 542963 BLAKE2B e15e68c9b3b6f05da79a9a6af3b4758bdb9d7da03ae4341a8cd063576374086143798f548d29bbbfda1a649015a55c2c38429b48d4c653360606bcad48885293 SHA512 d3e629e6a06cb44c069eeb079bc86e3831ddd09b69d068e7239603f662138b32821e5dd2a7f731b11f1a6e11b41c76fb8df64e3eeea87f44346e344f7405f234
+DIST firefox-118.0.1-is.xpi 569562 BLAKE2B 4713c314d3186dce80fa5e76c7d01ecf6cb53544065423205717669e25cfd49c7fd39b9261b28dba35a38eb2445267f2dd62682735815b37be3e7d7a381d4d81 SHA512 591650fd7c8352508d6cc9244924897467d68a8c16099d25694473ca204ddf02f44a848405f54e7b6a4263bb535ac7d167a75acdef5b0b55dde469818e1dae6f
+DIST firefox-118.0.1-it.xpi 515954 BLAKE2B ef68173de8cbc3a03f241ed150d32a303eaa5a34dd7532f6aac24c777dfc60536c3eea8eb3e838edabc6fecefbda646a5268ef0c225452088fbb806349ad2d2d SHA512 40f6b8cb2865291d2d13e92589066c34b363e127085b49e408ffd3c2a11c96849753d4a767658c5ea7f92d941aa23fee63a5e62b9f78a1fb6b86c9f33e1b6b39
+DIST firefox-118.0.1-ja.xpi 625823 BLAKE2B f044f87f4ebaa8de45787764df4c8bb130f73c059de01cbcca637da9b1a6c96606222ba4057cb0530784801c63e7396b56d20979a1cebc0a7a737328d7e02027 SHA512 fd452e9370cbb3eeafd8d61624cb50d652cf1ab09050d3fb51ca1d7d2a008f5715988f3ee1d49fa6f85c95b158859173293cc560c9da808ce85fb2299b3eb92f
+DIST firefox-118.0.1-ka.xpi 623571 BLAKE2B 4c89083950a31ce72f4699b2cd65e94949bd95b409256d4aaab500d80e59c177711be8e270cf48a63409e2da9e9a45e34848d0aeecd25db1272be8f9ccb72780 SHA512 68e9565b1224a15f01a5385352cea493b224574eedff3b2013d8abdea9ad876415a1ff50357e59cb05564d9cca9968e1f22e6c5040c3b6b683eff07f82957b52
+DIST firefox-118.0.1-kab.xpi 571651 BLAKE2B a679d0a2d2581e0663c56c110b5c7e8296f13826d42ba236b157d46c483ab968ed3b5db57b4ee7fccede9d215819d21387d2ebe2b5d355ddda46bef47ad140e1 SHA512 38a2b03187f133ac334a0d58357f95631b325bc20be17cb8ca1588d782b044b96587486d0385979151e0654c8a13fb4eecfaa0c7bcfc516abb33d71eb526a9dc
+DIST firefox-118.0.1-kk.xpi 649057 BLAKE2B cc352ba2715434f659814c1c42f272c8f99e17d1cf5cdbd2a707c46cf83ca1f9292bd4cb3072f3904f71e45bcdad448c328543d3530ea739573b4ade7717a913 SHA512 2a7699666691c8ad16b80b3b26d28008c3976475c4ccb3aec7281ba693c55fbcb8a5e933e9edf424c37fe851e93f62f0881f09ffb499a44d5e8e22f2eb97c2c9
+DIST firefox-118.0.1-km.xpi 508310 BLAKE2B a1afc977b7e76c2165c25361ad389bb3afcc5b44048cb59bddfdc8e216823e30d15b46a07c4c7571d6438a7817989cc22d2e5a3328b79470f03f876967d24bd1 SHA512 f41a23735139f849ec2fdf2a283a2aa7157436909fb30e08b9e3cf50b3d8ddf7d0e6859ab54824ecb34fceec7559c6a367697892941818c2b4f1a73e372e471e
+DIST firefox-118.0.1-kn.xpi 473774 BLAKE2B 17e551b52b06a059e997664639d0f407c43589b18b24b8fc72390e826bd668d6146b1cf327cc4e59da31e567fb501895fcd3aac6628f14b9049d35bd0a6bbc54 SHA512 80bea182a42e4e5839a4b8b6f5d796feb89aa1a1554d3424094e39aab41a46cd796bce74ff5efd3c0984bc5e1d4e0efc8baab04c1ad01eb84418caee9b9ddd5a
+DIST firefox-118.0.1-ko.xpi 609080 BLAKE2B 14d44971dc96e632b63ba9a6407efba24d50ab6578bd82427975807f007ffb2c610572792d686ab4d1cd10a9c195bd58ce87b7eb0ff763df460849cc58bba882 SHA512 b59b6941cf8bfad98e19e8376fda3ec3e51eadff3d14e40a06409f76358d1a447aff28971cbbf2ff4138214eb38cfde61474b930c41daed9540d8361303d61c5
+DIST firefox-118.0.1-lij.xpi 465501 BLAKE2B 6fce6303a6a4464ed475a8575984fa0543d61724ef414c8c63db5cdcbba3dd6616f27e0ee5ab038a315580eb1a686504438497913769bfe5be5eabed4c63f238 SHA512 cf6e5e463c7394e4401537a298f8086dfbec1d88ba68c20220fc5a2a7bf9bbc9bb33633536bd892a32f1026d5c8e31f8a229761a7970d8b61b55d6c6ab7764a0
+DIST firefox-118.0.1-lt.xpi 551343 BLAKE2B 8033e590d60e725146176ecb38a04f35dc9bdfaa8dd7209e70a437e86daf9e1c593dcdf3cdcc35fc4999cd006a294c56b70c829818accd80de55770d21e8fe94 SHA512 e9b6ee6afbe1127c13493cc8d318f9b3806f4441d434f77d4a274fe6fa3fe4eafcb1b3e8d5ffff94ba461d27e162308cce302f73dc3cf305fad7c5ca760cbc8e
+DIST firefox-118.0.1-lv.xpi 451453 BLAKE2B f4558c41032bd96ad0079e0f63291143c72e0128c0e4d82b6783b0945478c2805339218fe3d049e6856056782d33a7ecc2b9450a313c9fe57e2e7b777eb27807 SHA512 2a91860808592ed2e170d8f898fd5eed14a7f54c2aa966d8b620ae40c470a7c20a56a55b89112f8d64f7436c869b73c3e5b179d3c4c418a15abaf820a1595a69
+DIST firefox-118.0.1-mk.xpi 476570 BLAKE2B 2f5c7f37dfc05ef307585d4f708a9380952ae651b8acc68f04ac32275f7af3dbf6762cdc37109bb665858f3f08b6dbbd623818a195d686a39a8b86c1eb07c08c SHA512 75081d14a53692cd51c526e1705befd86b553c765b1ff5d2ec6fe09224e333bd366ce0e338f2e97e88404a700f5c7cca4faa183ac1b17f82da32992a0b4841fd
+DIST firefox-118.0.1-mr.xpi 512898 BLAKE2B fb58603fce3baa27d9c639bc15754ec38c06bd43dd577079b6ccc4769cb5f28bdfbbd3a8ecad81c2a5f3a4ce6d61b416f5bd8777e12421b781b815cc5fcaecb1 SHA512 a8099353f4a5773c64f899f9680e4e6accb40bc5779980e0ff592c42a827a056ce1049c7ee7619cd84512918773b0510f53d21d8da64b5096fab5cc59206c5ff
+DIST firefox-118.0.1-ms.xpi 431280 BLAKE2B 6cbbcd6d4061944f469586a0130fe1ba9e7efe194a833ceeaeb51eaf3485bef30a5d6ad79276853196bfcfdd454694f418f901178bcc72eb4f3f24ff9d762990 SHA512 f8a364911ef5877abcee4952d320d894c14de2c7cce6e5a37ccdc3e3c272dc0e62e3d6207a48d2a5309a7b38499ae916f69614af5613f3d75c5d5031b6b40ec3
+DIST firefox-118.0.1-my.xpi 494961 BLAKE2B cffe9cd89e832d0fa1da1d8170990a87f336922d1e1ee13a3e4332376cac3bbe7f6eb66394c72d9d9fd126549575ebb5f7ce0a1acc94bffe76aa80acac65af49 SHA512 daedb9a380f33fd183853544818af3f33eea4da8e9ca2ee35e72bc0a03d087a3058cb48e2fd07f3e43ca6acbf5b9b5a664e94331d27e9095f48ffb73696476b2
+DIST firefox-118.0.1-nb-NO.xpi 556708 BLAKE2B fe5ef73f4ee11671fd194c6fd34aec60b8720f18e50adcb2758019046e4b0e4c1c0a435f3318f03bcb74ed55edc4d3f9f04d276bf034eabf7079c472f7a902fb SHA512 4de007887de5fa3a7fd414f3daa2c16150e362e83f076f25dbfeb923e6916d6e8bb669bf9a87bb9368c7f4bd50106ac68a35e1f93c554b088825415ddfb57c3b
+DIST firefox-118.0.1-ne-NP.xpi 469854 BLAKE2B d922a6509686c74e9f4108a962aa3c3640d52b0054a6874f4ba5b2a1ec9b3bdd7e0b2f370b9076d76298a4426b2fdc570a0084cbeddf878dae03d931eb3e1cbe SHA512 d8d040107a727ce29e1657bcb89a44bab1a3d82c164235bc2aee3089a8a92bab466c23e02a5e6c6a3ef652b02a1723664231086deb4ed3eb9efc7d77e47d6a6d
+DIST firefox-118.0.1-nl.xpi 567471 BLAKE2B fae6a84d58545304d45eddc3a2499df76c661568f93ca52aef6eb036ccfb59051b8d1a0d61a8a53a0a62602c2acdc69a45c98feb3f660df69dc97749f54dd26d SHA512 59482962110b80587ffe87d32b3a3020a5ea8cffb5b087ea998e869c2997cddda7644a87928f085767cbbf5e56b78f3fc70e1ee99f92535343dbab117a48a731
+DIST firefox-118.0.1-nn-NO.xpi 561330 BLAKE2B ba2ef76392435e4c1f1d6036d31c652b408d04c82b28264d4c8e51698f65629be635fb21afe92091cc0320d5789dc071e903d242fab5ebf5a08d5c7a827b85d7 SHA512 a982e45415d713ec4a2945506f144401fb4b053e267f9a0bc81ea467ecc714eafd6f8300775cf581f438c1257a1137ccaa4064c533b05b54ba466a810a9cbffc
+DIST firefox-118.0.1-oc.xpi 577628 BLAKE2B 574fc804336fd12ff2a22074cc4aeb68affe04b641d5bbc029b0bbe0c1afe6863cff1c8ec3f5891c89dd92b8e1530b167f3971ea67b0ce4119a36bdb87ee8066 SHA512 a2087b6601c0a73826aae1cd84ffe5615c2da7b7c9fa2a566d0be4740c3c0f0b06be4870e3fb625e0bc7929ad1bf7f2aa7bc6a0b445ea5cae957f8d4be46c275
+DIST firefox-118.0.1-pa-IN.xpi 637554 BLAKE2B df753257d1e0bebce10ca3ef875a3ad1946b837afd233252b79289f221d8b738b85659f1d1a2bee3965e2fa2481951706426a769eeb7692a425abafca76dc4fa SHA512 128e4a4816d361194a60ec59c6f29699769d6438a9dde525ed296a89ec575bafb5375adfee82b5311b08994473b75ee54ae111de4edc4057eba75c30f9a88eeb
+DIST firefox-118.0.1-pl.xpi 587897 BLAKE2B 01dcb2f1acee7e1e5b51b7f17a7768faa014ea11b6349bcf1bcd9dfafe45228ae7f3dadaeb3ae2fe7ab6a7096d7c4b6ab3db72a204ac9c5538234b006282dc0b SHA512 f918710733fb56558821eaa3d089a959cfe509c563c8b62d403a93454d7d8b80e13af924e70ac108e03a10cee83a27220fe12537d321d40541f39be3700bdc62
+DIST firefox-118.0.1-pt-BR.xpi 572258 BLAKE2B b436dbe32828593e477161c74b15aa3bfd2d6e89fd00cc25b36f3c307a40a7df88f24c18c17e69cf81f55e80a38cfd7da3d3c26b25221efc54b8ebdfae2c62da SHA512 b1034054c85c3918dc9511767268d8a539d3b76676c3c476f8332e5478b3f682fc0b1834a3b652acf712f0bc7e51f3fe8ddd5fabb5f3b052e47840b25c2991b2
+DIST firefox-118.0.1-pt-PT.xpi 575081 BLAKE2B 58b78f78a74cb8469b6295e46585d68db3d11471b5f5943b3821a376d208203b9811cf6d7e24eca8d63c34c84a7ec0c537a4b9284f7d12d0281f850fbaec4107 SHA512 11dbf8e3b0355f8f79a0fd93f1582d891c443e83bd6bcb367d785b5770f33d3cf1fe51fae368b43432b876c9f8d6e1a789d8815bdc044c7c9f0da7cb1c330abb
+DIST firefox-118.0.1-rm.xpi 567687 BLAKE2B 1b1727c4eeab9bdf3e66ecbb48a221b9569146928ed458dd95a9fb346503411d1e7c2fe16a56ab5a53f2f47938ea14a2fa5c53a537d0850c6ed0cdaf4ceac71a SHA512 139dc519c41f189c9e10b5fcc4b7e7e23b994b77fe4b1fb783a536e90f69e7453c64cf614b3a54e55972e4b20950d5b85bf2825918135ad7c329659c1b39c156
+DIST firefox-118.0.1-ro.xpi 527800 BLAKE2B 1ebc436361d659df4fdb4db523ef2d4197197be3d9a2f8b83311120d8feb2ce58b76f5f3aefa3b9f14fd2573f54babf36c9185d873e045067db98075fba880cd SHA512 812de3dbd73543d33d577ea3686a583b2b7f7325284c0eef794412ad7d6387a973074a54f2c0d1f4c5e3ba3cc77c597dbb78dc3a070ffb2e2250a7c3781021d9
+DIST firefox-118.0.1-ru.xpi 662283 BLAKE2B b7fb7f68641522682b91055eb44e4371d9fdc2c21c94e4a508bb568771bbcf10fe2d6d4c034e36aa304c95d691918fc35a4795a561c8453c47e74fb7730b7aa2 SHA512 5c51534174ae76fe18f18576e0f1497f4a083719da058f9156091bdddcc587012ebe19e0868da3dd6ff9efcdd0e87efdc4f0ec104818acc51f5596bcef60841b
+DIST firefox-118.0.1-sc.xpi 543781 BLAKE2B 984cd25950f52be72b9191919faa96835d2cd932f5eb8f6d33f06ae11dbcb305a0498c7ad0459f429abf564b132304ef39dcb8478f84bcba7125d6f0e556e7db SHA512 f0c43e306fa4918983a475bb94f216d9460612c33c5737c575154000496e4f4d4c796d537ef4565b88032726ea8a8dd6a0ab64f4a7318d3c368014cab527d7fd
+DIST firefox-118.0.1-sco.xpi 491891 BLAKE2B b941f7b1facdaff899cba74b718c1ba6c3c222e39910540259d049f1fd974edc2764b6995c4b844c187bc76b42e77d1ad43d2dab69f48b324171e95f35ab9047 SHA512 4d470e5d2c248691395d0ca3ff089432bf00522bceebd94a32fe741acb64c77501b6615bf9aa67a04cf0fa9f6c3a11c0ddbe50125d1206f3238ae89cbd90be0d
+DIST firefox-118.0.1-si.xpi 580409 BLAKE2B 67ad6418d079803540197417ec777eba2bb3bd5e0d743ccda0f726f354f9da8e836dc2d561b299da5af8af7b0799736e90c123417555ec254fe95cc293d09b61 SHA512 0dc05f3f94c50f37bb6e84869e7311c8c8243540b0e042dbda7cc11f51c8add2be24892c0f08c0eb55a3213faf3bcd8260877042296e8ab894d2d257b02e36ee
+DIST firefox-118.0.1-sk.xpi 599034 BLAKE2B 16d693b9c2f9194f9e07d5ff486cb247c78a98f4be25d24876ab6617b7b6a0768ce2a268cec5704b7ab0a1dbeb286dbd4faa1fa51037b2febb357a901c794a86 SHA512 e20e57a34d6ccb00516d189c82e62750c2587180bdbeda675b2f7c95624b770b17bbca7edd89ee893c0d0fb0a5654a83f71820f95b8f36039d8399f4f82ab05a
+DIST firefox-118.0.1-sl.xpi 569543 BLAKE2B 0a59e35a444ea0162ff25d1b02e3626525c3a11711f428b2521c1f9f350152a7c9ffed22f091ce95cd8c5623045e7b27e942a161870bb864b1ad5956cccb22f0 SHA512 3f65af8b34d0655262e4150da2dc93d16d7f9b50fde08d28277216022ccab3d45433bf902e34dd7418ac3b79894313a78aca35c9d3d43b2e8e3bead65c8ee560
+DIST firefox-118.0.1-son.xpi 400844 BLAKE2B 539ad9d82ab16423d137abed9bf9ec3fe1683727041884e9967816919e8419c47058306aaf1d5b2e5fac3f255cc48a2070c4522d7dab78eca6ab14b79dc7b0f7 SHA512 f2dd4d673dae05e74ea994ff330ffaebb26377a1769aff148f04ecc5d3e6fed91eefd83fc5c270115fede43afce1fcdd99c4f75d2be3964ee25cfbf897ff4486
+DIST firefox-118.0.1-sq.xpi 567474 BLAKE2B bf5f4848abb764560c2db1ead6ec7896beb78914f85eb0e5d272894fd85189beed424efbc93d93f2e34f095d3f629f8de95ad83ef29a283e2ef5edc09bab20a3 SHA512 66b13f83f901c7ff2307fc9e2555174d03e8bfde82eca5c2bffaaa25d4da755d0d0e26d900d46ccc7c83cf4f40162da57a2f79c16f9bee6e881ca8a19453ac3b
+DIST firefox-118.0.1-sr.xpi 617279 BLAKE2B 3309d4c9aff54baf415092b543008a7b45aac9203b9b0ff8b1fd8b490e902b0449dd595cbe2d69299ed0ec45ff516af4d3fc95c15429516fa418ee24b7d1efe2 SHA512 56d0042f2b19edecf76a72e94418cce184ab609104a756dff8c0058f64ccd1a687b9083bfa43cdb1637b7beb381910b7c8cd8faa70007092337f581c5bccb133
+DIST firefox-118.0.1-sv-SE.xpi 569292 BLAKE2B 2c64bc62a5dca219f7d84fc8fec2492639836728a4fe6907268f9d42624701cfeaad2963d99028cd7b2e4975b1f5b9fc1f09a3e8d73d506737af464493039fe5 SHA512 ed8fc1ce133f5a24ee7301d92763993557457ee72aa4345a1403e5f15a2ef542676cd3a4e9a0a6fd99070890004646ce5ae8514ff9a4155de6b99e9acead2e40
+DIST firefox-118.0.1-szl.xpi 506760 BLAKE2B 98c2395314f6fa7ba67ea7ff42e03e684e0e8078cc90a2c85791d6f399af7299d455ec6517e4282590a7af83d322cc276bbe60a4f2ba9e2a1d97c71961c45772 SHA512 fcfc7d930a0fa506c03fb3483c7c2fb2de6e32d1feec5c71f0a7f42c37548bc19db0e84a71706484fe2cbf217a07bef32e69aaf2808d4545d528bc90122f1e43
+DIST firefox-118.0.1-ta.xpi 489464 BLAKE2B 9a28a287f6f6ad0be3894be4b5157a09cd4fe6ca6575dcf1fe45f8cbac8374f2deac9865700086bf8cec272961f26488d5cba15596cae277731e8b43d00b0820 SHA512 ce62183de8e1d5962b7912af98c0db2d8db4ced53c283d796d02b89232ad002926aec61601ca290d40ce5dc594a13c2f0e890bbfd108a70f78deb5839d61e5f1
+DIST firefox-118.0.1-te.xpi 537894 BLAKE2B c6ddb51fbd0ef575087966a1d389bf76d7b4369ef39a5d4ce582249d7b405e7a823fcd7ce086fc6eb93a60dfe41b281b18f3a7e6826e7543f3813e1b9f90524b SHA512 984f3a0c3fc8047f9e19639ba8da28979f56e3b49c17009c0f16d84ff70b989727ccaaa1882198a246a705fcd2c74972e35a987b828fe121e7282ca91595d7f7
+DIST firefox-118.0.1-th.xpi 638979 BLAKE2B 8cdfe87863eae771ed9680f19133a60e79d6a36c7b124de5258614cf5490666a7e527e5ab90086de3117f8c526eb3ae88a988dbf12bc86fb1aa437da4130d5af SHA512 17bb3047a0fc6e7dc1c7d18a002c22cd1a9020f95a299887652350ba2ec0bc4b82a6a1be3c12dc5d130ab2a3f514f6ac82d0cbcfeb1c9d22a8fd08fab4e33a59
+DIST firefox-118.0.1-tl.xpi 514355 BLAKE2B 2516f540e465f8bf30b070d00da82572e27c22a0f625da34636e5834fd7ee458fdafc74381befc2a40b4b9c728548da09796fb9b543344c65fd5ce8233079f51 SHA512 1d15e4d3ebd217cdc0f69ff12af179f8983f802c1265581a06fe15f6c866c822ac4142f4a0fe35bf7f0a63cc6e4a4b67141ed5948c7314fc658e1d8c0338e574
+DIST firefox-118.0.1-tr.xpi 580787 BLAKE2B 417eb525e08e749a4d6eaf5664ad765a0486f912e82b8f344c0afabc012006804802ffe80097b20f226deb7967304c7fa93c26ed6dd1282dd6b8e711e64a0092 SHA512 195a607422214aae091c07e4b6610d7bfe9d35fa78e7bf9e8e8a84f15cc2b00322ac07d33803955bf3221bcaa9f397e40438a1c812f496453bb92f2aa4f6bbd4
+DIST firefox-118.0.1-trs.xpi 485847 BLAKE2B fa02cbc328eebb899485c00dab27123af3d59e276581278d8b11660d8322b5b93089c3ac0c6f298358ebe5bfa14abea0efa28ab9a95e71f7344ecea2898761d1 SHA512 ecb10808f2093d32b54794e266cd6d1cdd0f789e21d3b77943ea0098489445b0680dac0a84cc6129f5b8bd0b40264657ce68c6e62b51e3722b0f763e9098307a
+DIST firefox-118.0.1-uk.xpi 655404 BLAKE2B 448896f9407cd600fb59926fe32d918d008e9ea747bc4f368b7a46e673185430be907567e4418ebe52cf6b86f042c5d113ba2755591935529ba117ad5457f214 SHA512 164a7012fd4d17d5928f4664e5f8990effd91ea91450b95b39b8509c3d3213db4a3f384404ca7bb37af999d5d29648ba196848e0ec82f638a25e3e9ae9266e7e
+DIST firefox-118.0.1-ur.xpi 541044 BLAKE2B c3866633c196dc8f1283981fc931093db1ff8e3b56abf3e5a8aba2a5e19b2044612dea83eabe43784780f2f00df1f43d0fa77671f043ec6bc93e3fe64fa015a7 SHA512 e2a1bb2a39d6042ad59fb6df95be8ceb42edf2c5639e385f9c53af8695fc8927b4f0fb77f96b518e9d66d609d6f322a461ca48fe91973182d073108a6a5ae777
+DIST firefox-118.0.1-uz.xpi 462461 BLAKE2B 2b538fb3a523931e63c4cbd1c23b4d0012fb7d8c57c1720baa2239df9117286578a9360d4e6e9def8404977fd2980703c832b90574dd1766c99e641ad5173088 SHA512 dd2afd5dca6eda8c99d6628603970559f82e75f2683a771c807817f00eb56bd8f8edacbb5a467cdafed00bbf3fb9a3ac8a66f8fa2efd56aa3c876f0925bf0682
+DIST firefox-118.0.1-vi.xpi 605278 BLAKE2B 34df1f4418901f701d07de04c8a21cbb2f38c3646c02ea8bd33dbacfe0935301c7981f77aaa6334f2b7d5a8d932b2b6702d6256a71abc71c2d3549d34df46232 SHA512 aab5e495ae951cfdeda6ca320144022fb1fabfcc13bdb1ea01e133a2e23d0b99128410fd443712595a6fb71286149cc8992e768029c381c3b4cdfe2ae00e4b7d
+DIST firefox-118.0.1-xh.xpi 401467 BLAKE2B dc957bd62cc2994b95fd36d6bbafa1a72362d460a724099e454e9854dce4d10cb8addd9db61b3bdb0c6c0c8dd216a424eda3d30b555f558f7510809e1e5d77ce SHA512 038c7c4811190402f6e24c409996b57a979396abb2aab036be1520cdecde6246ef39b27a8c19617351f5962c0d7ca4ed3e954931bb26a2f78d6575556c8ba015
+DIST firefox-118.0.1-zh-CN.xpi 604599 BLAKE2B 2d3b7020945bbd8d18152741f6f69446b70cd468a8608d6dea6b07d148b3b7d83ecbd99457e17c432a117b53ec0297dfc760cba0f06b6d03b83e9c0891482f99 SHA512 2c85bac1ead436e651c73b9db589ff0dbaa22331cea6ee641344f2caebd918deee45e5833641765a413f84ee62430679fc68fee534fb21d5d9a15b5185374b44
+DIST firefox-118.0.1-zh-TW.xpi 606658 BLAKE2B 368842ec50e390cfcbce8eeca4dbd28c43eecb1176d3d530cde6f82fd0cdb670052f7d421517dc90ce9f8c8e07e0c7e9271305e467260a7e1f36d84861d4cb76 SHA512 fb2b55c11a1d028a85f83b79334f99169431a2890dd434a07b386b967fe8c54f1affd9c9078c3b75f61950ef55371dbb94e0bc67467fdea51c0a36bee864ab33
+DIST firefox-118.0.1.source.tar.xz 516965884 BLAKE2B eef2b6f4d4f090535a8f74fa5ae3774288aa82142b8bb70c7ca913222a941ac9b7f8d9e6b6739a2ce67dff6f1bec0a9a21d11d015e3437013badf82335206b58 SHA512 b1efa1afea70434dc2a18d335bb8b526883cde200f1503b8c5fd2e7db8285e6a999cfa3aac354ea1c15a91d13a46d68db37023235314240b59eb8f55e01554ad
DIST firefox-118.0.source.tar.xz 518635224 BLAKE2B b31aa245687fe3c33152675ec5c4b8368ae810fbb8830535343029ed87683e2321afa8fdd473a41442475164312847874af09ccb704d9b1404cd033d0a8af0ec SHA512 7c34c43930bda84d17a241fe7e0f8e6ca262410423ae7e7cc8444224aea2d25a52acc9079064ba57f3350e3573eb23aeaf7a2d98136d17e6fa89a61aaf57155d
EBUILD firefox-102.15.1.ebuild 37115 BLAKE2B 4faa604c32aa8afdd09901b8df1b0e2ead85b23d2549ec29ae6afa87d82fcd358ad55c9a3553548ea4b74666e8e7842d6820971860acf91df2b7db9c64a600aa SHA512 dc290bc6527bd082cb3810ceb5d438db0f3a42cd267c8505ec72b3db1a5f6e501b1080224290367cdd37f5bd1ae6c342126db69cc66286732ad4deffe4b15359
EBUILD firefox-115.2.1.ebuild 40747 BLAKE2B fb55f9218eff4bc2d73244d1feac5e639c4e667d666853f788b32a4554cd57d776a2c077db6121652ff5a737bbd92f83fa0aeebeb0acf8176d8c4f4e716a8d59 SHA512 b4bba9b153652d988b24bd8fef9a479d49df95f7e6f9aa9eea993a26cc918eb3c5eb4b683fa76d3c82c4a10d24b3e8b060dc76cc32cdfb5e01af7cdb1566fd21
EBUILD firefox-115.3.0.ebuild 39084 BLAKE2B 7b38a25479e66305c0756bc4097be266b8395c488851548349c114c9393b2797185c48ccd753e58989052ad1bc12405035a85ba32b732df45f3d5dcaab28c418 SHA512 3b09b7b32bb094064ef2547b0fe0d89f64fd8e91cc9707b7fa2bac4fc7db6ec5053f3fc9954ea096b7704d3010d4f79f0c6a4ff0e16751fe3096632da22c3dd4
EBUILD firefox-117.0.1.ebuild 43979 BLAKE2B 1192233496b2611ca6972b1cf65846b73fef5df7c90f6dba74ac4d10c668af5e80e09b8aa0188875ba3f7830765957076760993589dc970479305c599d0aa4f0 SHA512 408087909b79d644185de61f220949585909699662d5c44834b0544806153596335987dac008a632bc451325828c98343aa406d626a221aa6d1ed3cd181d056b
+EBUILD firefox-118.0.1.ebuild 41603 BLAKE2B 998cbfd94a5cccb8b03e74d4982da1b4afdf82abd4cfb6c0e0a6cd2cb115daddf2dae74d0653922c650af10a5442636231d638d1d622c0ac77c580afc87781f9 SHA512 b18734441f704b647106227c3abbe4ce8112ba6d1f8b70530b7a69d2554ccae029037b6c0b229359d5d9e56542e9b976821fcd28fcd6f4ae2f02cfd9390ddad2
EBUILD firefox-118.0.ebuild 41603 BLAKE2B 998cbfd94a5cccb8b03e74d4982da1b4afdf82abd4cfb6c0e0a6cd2cb115daddf2dae74d0653922c650af10a5442636231d638d1d622c0ac77c580afc87781f9 SHA512 b18734441f704b647106227c3abbe4ce8112ba6d1f8b70530b7a69d2554ccae029037b6c0b229359d5d9e56542e9b976821fcd28fcd6f4ae2f02cfd9390ddad2
MISC metadata.xml 2658 BLAKE2B 4e52ee338d13627658328468081959897f9ffba3d0729a03975f756ed95e2649e21a40de4933c0a2bdd9c1d4dc6cea973f503a3d448f49f73ec3eafb933f6845 SHA512 1062c2e2a49757a8e3b027db5d425113ce6e7bdba630786109caedbb3717c7600094c7bb3fbc83e1887d96e464f0dc48bdbcff16d396ea5481f36040e0e4c70d
diff --git a/www-client/firefox/firefox-118.0.1.ebuild b/www-client/firefox/firefox-118.0.1.ebuild
new file mode 100644
index 000000000000..63526d063cb0
--- /dev/null
+++ b/www-client/firefox/firefox-118.0.1.ebuild
@@ -0,0 +1,1430 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-118-patches-02.tar.xz"
+
+LLVM_MAX_SLOT=16
+
+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 screencast"
+
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )
+ pgo? ( lto )
+ wifi? ( dbus )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+ !www-client/firefox:esr
+ screencast? ( media-video/pipewire:= )
+ selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+ || (
+ (
+ 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] )
+ )
+ )
+ (
+ sys-devel/clang:15
+ sys-devel/llvm:15
+ clang? (
+ sys-devel/lld:15
+ virtual/rust:0/llvm-15
+ pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] )
+ )
+ )
+ )
+ app-alternatives/awk
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.24.3
+ net-libs/nodejs
+ virtual/pkgconfig
+ !clang? ( >=virtual/rust-1.65 )
+ 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.93
+ >=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? (
+ dev-libs/dbus-glib
+ 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 )
+ screencast? ( media-video/pipewire:= )
+ 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-util/valgrind )
+ wayland? (
+ >=media-libs/libepoxy-1.5.10-r1
+ x11-libs/gtk+:3[wayland]
+ 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}
+ 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
+
+ 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
+
+ # 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"
+ 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
+
+ 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
+
+ if use elibc_musl && use arm64 ; then
+ mozconfig_add_options_ac 'elf-hack is broken when using musl/arm64' --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 (+arm when keyworded)
+ if use amd64 || use arm64 || use x86 ; then
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/vaapitest
+ fi
+
+ # 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
+
+ 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
+ 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
+}