summaryrefslogtreecommitdiff
path: root/www-client/firefox
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-05-25 15:06:16 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-05-25 15:06:16 +0100
commitc8ac16ee4e3813ee30a3224cd92efc19477070b0 (patch)
tree31e1fd7120b966a9707a5d0e9ef94a2f09ccdf65 /www-client/firefox
parent070db046876f2e8d5f83cb7b380ae857d06e493a (diff)
gentoo auto-resync : 25:05:2023 - 15:06:16
Diffstat (limited to 'www-client/firefox')
-rw-r--r--www-client/firefox/Manifest101
-rw-r--r--www-client/firefox/firefox-113.0.2.ebuild1409
2 files changed, 1510 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 4fe15d120f85..218f73a57f52 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -207,6 +207,107 @@ DIST firefox-113.0.1-xh.xpi 422788 BLAKE2B 17750f9f0cd5f44996783f0f1b1afcb08c391
DIST firefox-113.0.1-zh-CN.xpi 611653 BLAKE2B bfd688d17409f3effdb01c904c432ca53a6cc91aa5a0f527288ca5ced8130d89b94ca1e18fca68093d62d7c8439f8b7fc8c8c539688d231e6ac2a63626254dba SHA512 a7106640cc65385a0bc5996aaf35d390ad4e1be7fb7650d0bb6b25fc73b4df899170d1872ba452f0737948419ac102d468168ff156493bad2f6a747339e7646f
DIST firefox-113.0.1-zh-TW.xpi 613183 BLAKE2B a80f74253f92c6d5213e20a419d3974928645340b3855c9f40abbe63d0be45e39537ce45ff8e2858383c4ac530176138d11d90a3ba0501b82e30e3bc17a65516 SHA512 6bb4ca9953ee36e25409667ac156f22eda6a0ec38dd0e2d7d826d3890691280562e589addf9764370430eb946cdb3ee8c58b838c464396c8e7c6592379f7501c
DIST firefox-113.0.1.source.tar.xz 502785808 BLAKE2B d87c98d29f9a29568a818bdbaf12a690ff60e16bb4b8f2a97c83280692533d04b089d015dca5b20fd0a03ca3763ef4a3b438f7105cbe877fda6044cc2c462a08 SHA512 67d6b777d138ef55dd813a15a483d0588181f3b83ba8da52bf6c1f10a58ab1d907a80afcfc1aa90b65405852b50d083f05032b32d3fdb153317f2df7f1f15db3
+DIST firefox-113.0.2-ach.xpi 460940 BLAKE2B deab23e630cb6a2d7dae687d3ff3d20bd07bcb4fbbeb4fec6be99d4cb119254f5e7f41dca6f37bf55aec924de838de01589b36748c78d15efbf67adbd2faae14 SHA512 ee80b1d7c60e24acdeb26de3f705be741c4f5030155ae7706a6c15793cc21fa987dcbdabdc39a0100668632c57153f59fb8593e3b32c4579dba5e0694ed75593
+DIST firefox-113.0.2-af.xpi 424028 BLAKE2B 0be47c3b0fa7c2ed17e96beed83ce6ea12e9f511f4b8edde4514dbc14d5a35087218196be877997b4b5223652cbf162a21629c32cf6b4ff2b697d44397a97348 SHA512 7661a0cac606a6f6fd89ff29172a37d1f6188670a2629cb868710f89d27d9eef8c472509c97d928d61b8eaac1e1d90274902665b7b86b0ce1f1c4e267e560987
+DIST firefox-113.0.2-an.xpi 505331 BLAKE2B 2c2c6f0d04d30baad98dbb20c33386786fd28935b6b11ebd2dea42a8ebaea0e4a87dfcfc0d56017a139c65af7d10dbec32bd3b080729441231cb2cdebb19f2a5 SHA512 3c87c2391f5805ae0e55d64f2e8937c1944aa55883b1ed9da69b2fefc7291ad7fca886f5956f8e4771fc0ef75be2322f678bdef4b483e7fcbb29e677ad674a05
+DIST firefox-113.0.2-ar.xpi 572298 BLAKE2B e8b0537f5e36b4eef876313d164193602fa76a1c191d675e0fffb47c35ab961e80f3cba895b85f616304e495a6e7282a0b9b99f5c91712facfd69e46a3c308d5 SHA512 664c18289a8dd1ae09235471c599863ca2559fcc4ab47ae68eb21517aac90bfcd6252268ac62f620904fe86a3e38c88b7d73168c0d0c1ce2cd07396be9e82905
+DIST firefox-113.0.2-ast.xpi 491662 BLAKE2B 75dbb378dfc4d69c3308ec0246a74cd638ef73968e70497caaa2287b6f65773310a342dac584cf4929b6f113d04f54ef56bc0c75226ec171c0de9b35c1d27bc5 SHA512 b6b1ddc59e1f057de41949edb183c6795ac67ade5c2576622df226c7f496f8889cf744597c2f4ac49471a58d3dcd76346102ec6feb792b99adb6e9f8bdf1657c
+DIST firefox-113.0.2-az.xpi 493578 BLAKE2B 31ee57ab65503a495f9df2b917b0c12395433c303a8f29486e0332bdd24b855f352e05c798b753ece3df299f163b9468639411b8d60c6d63997545a6ea862b6a SHA512 fafc1c8b4ba2a6b784ada9aa489b29b7dc70001a1a610daa29e7c938c7167c69743d1b06c9f009e3308c076d5c3e6ac04c545b0b1cde97a3833b074f7fe4faa5
+DIST firefox-113.0.2-be.xpi 665969 BLAKE2B d07c671ef7e9bcb5e8a7e7a25d32e392eabef5599c0aed885b7b1ed5e5723c2857dbfac0b9b77f32b183a9d6dfe29edd6c94c55fc7ef7349d91e367c6e8395d2 SHA512 f5a3c3ae305a0666a29063991838c416d59140c4a84e2a787d7f02987c7cf5d21ee0629a665a1af9578b7e79e553b28a6125b95eef695621425bef8ee27c89fd
+DIST firefox-113.0.2-bg.xpi 589762 BLAKE2B f5a651de25f9aae263e816fbddccf761120e24714e88b4b300eb4667f6a845d8d8334706a6adec6963978c0a7b7e1eda3b6d14428aeb0db7202178edc260e1df SHA512 bc58f200edd618b309f338fd7b0d76d2a84babfe7dcedc26ab026661656d62e7d814b5eb2386e8a4f6951c8e6ef2567a5e3ef0d6f661cb3cb5a92bb31a6bcbe4
+DIST firefox-113.0.2-bn.xpi 583365 BLAKE2B 59c69a191b12e23868de36813745e6b8a03b54337281262d4804371a557f8adc7ef5e2617413994258a3eb0679b709a952102ee6592bfa987d70b4947f286a42 SHA512 b06c3644247a7a5131e5a44d218e86d84f0f84c48fb1ef1d0f1688e55137b72eff40df36a3387dd0dd4090f97484ac40f9c2b5de8ac4b8e9bc64daa9673a9cc7
+DIST firefox-113.0.2-br.xpi 549640 BLAKE2B 2847ff73752d434ee50173ae062d00e195ae5f385d11ed7413871c50bab3818ef2a57a1992f0fd7186bcf745339167e34e16ea9e0d5bd078c1da0ca3db63bf4c SHA512 8e3f6082e8d9a150fc033c38e5187a40c2c878fdbbace81aae507b35a122111108b4e1d7a7ea5e2be1b90d6dc31e0acee5f329ef607311cfb7f871e87b3c363f
+DIST firefox-113.0.2-bs.xpi 465657 BLAKE2B eff1c79f387d55ed7f6d3f250239d765231b53ecd58c131e1ce319409ed6e24f7857657ba18cdbc461a7ffba971772adb44c6acb1b8dc3248f01e4ea82633300 SHA512 429866da92f9155865fff5faaa9db7c64327d4b5ed5071580f43b50ec70af5be41223421137368b2891b3ee2b82a62cfdc4c699585974d98dc6c536238290194
+DIST firefox-113.0.2-ca-valencia.xpi 544161 BLAKE2B 0b049f59e70efca271247f30f608943890f4e58754c69e92430df0fdc706ffa721543c9a7edb04507af707cf6a9e65d3add24e88ab857b33aeb891ff828a241d SHA512 3682a386a07d6b737aedf035d3ed992840c240d4fcaab4dab91a98dba2292f4cc826b19d4576593e7b172f0b64eb994b180bc5e151a9fca522b2d2ded0b395ae
+DIST firefox-113.0.2-ca.xpi 564147 BLAKE2B bc4b5bac3f73482f1e577faa2f01d8d23642f7b32534d219afe5bc462e6f949659d779e437775338239e4e1ecb6f93c22ca984b6f6684fbaaa683481be14df80 SHA512 c606782b32e786d711ea8790ceee8e0bd9d5daaf45d8019fb34c52e92281f7244306419b916b0d0bef0a14bb2cc31df01c8918b50af3533a8b5087a9fe839781
+DIST firefox-113.0.2-cak.xpi 586891 BLAKE2B 638c5dcbfde3372b39c3b1599157caf1bab353b288f8abbcf1cd459d6af5503733a6080e2bbac29d8fc1f44395b9a1df55bfb85386f957705102846c96db56bb SHA512 d40ffcb900d0549da5d225a7f196b31fb0d5fbecfba947b7381a005b3ed3f5251ccf001ef56f9bfd783f4fbd25994fe9e8a1f243e0f7e4cc1944e61f9552b65e
+DIST firefox-113.0.2-cs.xpi 599481 BLAKE2B fc0b414453ed357d0113ad4511d902a3ace2d89f4f72abe43a5614f64f56cc7f3fe28388e22571f1bc7360fe5bfc9dd450295cbacf085e38e4e87eb644f9888b SHA512 4eedcf903821096d10139251886ff89c3a23892ede20297b06baaec5244eb9caee94ec8cc88e4b0e863ce0e57351db46f386d36684448f617bc9489a5c647a9d
+DIST firefox-113.0.2-cy.xpi 579539 BLAKE2B 610b081a168b3209d4a7bf3ba94be843ac9b905de2fcf5342538ce5fedf013de921939fe5c52bfbea50bba7023d5044b95d2e6fc9ea772b6a3a4bbd1e2c5c3a5 SHA512 b6123885b2b2fda99afea524dfd1872cc7f8abeb769df240ce488c19e5d2aec243aeb69df2d7cbb7da174dae2d576b0ed4483c80d8105c7e952f6449bf0570dd
+DIST firefox-113.0.2-da.xpi 568105 BLAKE2B 5cc25278edd703e992c1903ae8aa113184e2f8eb09a407f7fcc1f9b4fbb708dd8b7714caacf44ab87de63cccca71318c42baf9955c7fa2f91af4bf78421052ac SHA512 780ad8373a214581b64c0925b84aa4a751e0dd6c4bf32dff4f494d60e2c0720fb7d83fa6168188cc13a386ea3236191e7802f1df5060b6215dcf66901ba23013
+DIST firefox-113.0.2-de.xpi 590611 BLAKE2B a8704f8fea8d5e858f18831a9311675d89c005f3bbfc7f16d9e5254f846b5c86872aa8923340d3c15a6948681adfda4928b1209b2ea545ddbb7223db096d42bc SHA512 9e5e4e6794c4cf259be946d17dda62df67b5d56c3f23646481afe2c10e034b70c29cd49732c3c3f524cf4e3daf496fe3607da787079596b105a5375da8e47c74
+DIST firefox-113.0.2-dsb.xpi 605165 BLAKE2B f865b33d81c1df6da65f98ae4812474c91e0325f117da75dc150dd6b9c27a3708002de28f7e34db161690ade1237d9ab5aaf357f44d03af1c1ba0f6160be0b3f SHA512 d440ddaac699db06be78a0799a0cdd8133ee10826b815ab5188dfd701dc4e22c5e48a584770888aa3cc14bdc68a9f943afb94982b614181646d8288e7138f29f
+DIST firefox-113.0.2-el.xpi 678408 BLAKE2B 9514c8f722680b744ae931e830571edd95c81d5a4295c7674cce78c2477e2af2cb12314a24a48b8636979edf0f1c623d23d54d89f12d35a544f7b64135f6c956 SHA512 27e0c266a9fee6d4c96b814cfe6db66ae5b4d833ea46e7cdf748a83e318d8cb6fab786be1daeffd0b33dc1b98d0aa19145d3cbf528d60606750925b02650ea5e
+DIST firefox-113.0.2-en-CA.xpi 539597 BLAKE2B 1d8f54aef430e2568736bef9db4402a26e3c5450a9b7ed5c1baa858ce00671426d49766decd12dab9537bf34f80f86eedd99a473e2df0bc5eab456ef83f0d021 SHA512 6b24bb7cdfc43c5daef6ec0234ef74b920811a435e870a159af75b48c30ed98faefa2a0e56a27f39494faca273fe691f5f34582f9bd4be237b08c493ce5d4dc0
+DIST firefox-113.0.2-en-GB.xpi 544353 BLAKE2B d06fb8bfb42a72a308d3ad53cb591e7a08f8ac01d982f84268634f534b661995714c6e418941f3ed07a9bb38782d4812f86e9ca13e88ad93cb7bb9a2786cac3b SHA512 bd0de81311df8af8a5dc45d65bd5b50b4a4f59ec42cd9cbc280467dd2460169fa82afc3f7836be38dfe1ec8a15a32cc03be0e0405727fd3ca24eb106d7387661
+DIST firefox-113.0.2-eo.xpi 572718 BLAKE2B c509df53c3b742d85645d2e2b02b431556112cc135e5798c995b59cd1c124b29a348e50fbb272d5417f2185eefd44bd2922729dcaf2b66df596432087243645e SHA512 202f7a23e0d9d0016170c5bbbe05e8b162cb5fe105f61e327fe2d68e261109f109141d7c93647464179cfae730dfe78e40c86f3d79ab4968cd3ad1541d2fd834
+DIST firefox-113.0.2-es-AR.xpi 584473 BLAKE2B c8f235bdd84c0d605c0666ee0db060669b2d9cd85c220f02276fb3046968fa2c210c6d36ad715820be991b4b43b3d2240df5ee06341eef2e62d2a35a1d7637cf SHA512 9a870832de836e2bf93c9376bac4907993af06bcd3cd63c2a645492611002bf723e234e33682ed76046b72e43ee60b61fa733fa4bf74378c08adaeb8f83ee773
+DIST firefox-113.0.2-es-CL.xpi 583617 BLAKE2B 61f4d996dedc60f3d4e586cc1bf904566288ef28928caacc9ae1586b203fcdd934b4ef51efdd06ded48a9210b1eef39cace9a8814b35a37c48ea9720942cc6d6 SHA512 12878d232eba1f4f9e1bd7c5704890d7e4bac867722a53c5203d9ff174122b5e50ecd7f4b572ea71bd1d626883ec3d4812e8341eb5874de3eebf7efb82ca69d6
+DIST firefox-113.0.2-es-ES.xpi 576191 BLAKE2B ffc967cee53af5399f1c88d6772665829e612c752632ad67b797b5a4d0019cf780f93f296715343389625dadb2b1c06fc63a9afcd33b2e62ac8ebbe75a32ea1c SHA512 2ca1025e086b60dfb211f3e3cd407c3685ac91ec00fcb40dcb78078beaaa1463d542c2a9ab98232a6e109dc3562295d786a58fe705f839dff72314549b27d208
+DIST firefox-113.0.2-es-MX.xpi 583075 BLAKE2B 175f9069e5d6df2c7ad36f8610f15306fe810a88ffce254001e78a97549687da21b451b2e9664183d3e98d17df453012c1c7a18b1fc676889100dd730e2fba0d SHA512 d090124b4955b0b3b1b3354961d2532cd76d885e1709986833e92acd9ee13eac700ee26f483627d112a4ab5f03f381365edb39748f273160e2eaf184d1c5385f
+DIST firefox-113.0.2-et.xpi 538575 BLAKE2B c3012921280b06aeb46991ccc8b5612e4165f988dfff76ef4d21f2286b125ef0b0ca84f3e54a2530e6c74627fb4168a12e8aeebd225a64ef6fbd0d78cf288021 SHA512 c257fd5be0cab779385f6c7d76b9940d7d18b099f327f246ed67a37e78399ee1d4fcaa66a9f516446eb09770a3b88f04e36f870c936ee8820dda33945b25110e
+DIST firefox-113.0.2-eu.xpi 570058 BLAKE2B 3c8b49725820f08c92ca8ebd3d08eb499231fe63841dffc829eb6b8784a648d66ab486a972c5325e70996ba89e9aa119015bb1a5d0323e561c84717693185fd0 SHA512 101c74486f4d852a6fc986c6ca234c12199197ca3324dc26500b4495b9a89d9cd9985c3058d4cc0e7880973f923d18ed05afcc6260d1f37705b1ecc38b4d838b
+DIST firefox-113.0.2-fa.xpi 584245 BLAKE2B 3d4455b44eb3795756c1ffd882101c4fa0d1ce6152762b6a573d35d4d93977c23cdaee447a4e042aac41b70de7b28117746b2ce4377b0b88ffbf6d648316709f SHA512 e7d32b211340986167a7536964ca6d1ae686f65e42e6ba7df0a0522d5e59dff51553f30f16d587ee68d406198098974e39a4d970a70b9d1b15c2ec42070b7054
+DIST firefox-113.0.2-ff.xpi 477764 BLAKE2B 5a33f7a7df9695db364476122d832b126e16f8ad8cfc89c98d9c04fa50b96242a308ef9e9d001df1ff776812475fe0591d01410e4eaa590f3d12289753324c48 SHA512 7d3b0499fe8b648a6a3f106ff0f94baeebf2c2b6e52d57f417ec59d2ac193442838a29bec9400bd18c2a0db68fc75253d096b58b5f05d42d0af394a2fd46e2f9
+DIST firefox-113.0.2-fi.xpi 567998 BLAKE2B e0795dfc1268a91f42a18502dfbd4556d959c0c386ad27a72804053ab66c0d677d12616757698c1d204f8efe9369c002ccb7475d6d6765fc39f50aab3664ae72 SHA512 e3e2371c759fcdf7f79eecb5c77151c69976efa6fd74b1fd03f74cf4512d280a9dc7f0ca8294121d801b226f596a8a4601d972ec69796fe96767e0a54458ffdf
+DIST firefox-113.0.2-fr.xpi 595794 BLAKE2B b4001e0b0b0e8d66c061037f1edea959aaeb431ea1d0847c9971dc114e90316b6bf0c8b5200e4edad0bbaf980e52593dcc7f972a4a1e7b23e2a59f57e151a4eb SHA512 74de36a2c43e093ea1e193c23a5483c7ee0882391f023f679d9d47a55555f4ac8b982f864216b6ee986f7104a0e1af0a815f4dfc8b8e1e29700768f8d728ea95
+DIST firefox-113.0.2-fur.xpi 588901 BLAKE2B e28da34f76b39c9b095ffb965b04d3624455dcf032fa8a810bda5483f146a48c04b9c7624f9e8a98f7ab0d6f0ebf107e439e7b50810c5c6c34cec5a692951bb3 SHA512 b22190015a11d199a1d003a72fa55552b91839b4b1a69c42be63ef9ff3588c3a8834c8a314650e3a1f8a41448b9d34f107a8d746691d9359635a6a13840514d4
+DIST firefox-113.0.2-fy-NL.xpi 578752 BLAKE2B 50a504caee2428e4f8c40a427b827e251d0ee7941823fdc9fb5ad769a61d82012acb4573b2b523d78961fb30b27d7f70597ba94298419ef3c844d054dafc6184 SHA512 d73ff1776d3e71424c9f2a3631908d5a8900ef00387876801bb49a1b06767c37806f7a57a9105430c999d828a57f127c9c48eee5c4d5c7412ce68436d696a415
+DIST firefox-113.0.2-ga-IE.xpi 474578 BLAKE2B afc552e387cdebf1240be0dde4c55cc4ac84ac38afeccc4a635707d8447c9e22c9387ea2eee8834c18ea4bb2fc7cd47004a8114c0d237b1720f587e5ab3ee8c1 SHA512 baf571ad1f8848d89a355be215b190a1be005c9861827aa4b760ef89cc17967d0279c3493e8dfab64afcba6abfd3226621d6f3e60afcba29e0244d03a179f7df
+DIST firefox-113.0.2-gd.xpi 560376 BLAKE2B 86caf470d10199622f2cc71bc40e81711e5ea2f8e853426ba7c07215994dbadd64b8c843baf6c04b9f699719a3bcd4734725e203b09bfbd422b8acea68cae2aa SHA512 f0af8ffe314d83feb21e64845659a856ef47cd1c382b913bb5478dbdfb261d7e635a69c270e7d957b4772f383aaae412b322a2817a759187ed391bbd6e4c45c6
+DIST firefox-113.0.2-gl.xpi 547674 BLAKE2B bc351520a34d2594ed59c4916c46e5c83573986a7f25018b90e6471e122da256fddf00c29dcc3dc57eeedae4f5736aa7f7d900de70c33afad6f442bb72dcd015 SHA512 d85a628bd88432e912d0c22caebfdf385b414e03b9f2e4c6148f1095a40439f873ed593dde740a3b39efceaabea6e022ab9193d2c23307d6416e82593cad8b44
+DIST firefox-113.0.2-gn.xpi 595117 BLAKE2B 035435a6d2d0b3a6f2299c838419facf35d110be1c53e4370f5b9af3470d7a5180b4a7c9163a27e54a63ca4784f44ce8547954c3fcaa5ff27d6817745b865404 SHA512 622385d7c33b725ef6a08a9f6524a1ded1a10f3abbf8b61276bbce0e2f754c5f4a819280c5075e5fd9a5c14f51dee3a1939837c6004fdec82b7f14d0d530d5f8
+DIST firefox-113.0.2-gu-IN.xpi 532740 BLAKE2B f228f96f0753a674c399840d571ca2218470423502ad00cffb29838bfb2d17f4a6d403336a57219d2fef55f5d6d5fe48e99ee40e815d10b20bae76912d92fb3d SHA512 e5c3960ce1c879a498de6f00c35e2657ed006f215b3b59a1caaacfe3f97916d9c3be52dbd5c2353610441aab43626bc21d97b069bd2532cdc365f44af6f5594c
+DIST firefox-113.0.2-he.xpi 589194 BLAKE2B bf642b9aaff5180fa74af7555a33400986575a916fc52e31b46aa0a0d7456b46ead53e5ee0cd0d7746d9340c8c47231ddb0ab73fca55a3116aab6061ad0f8c0e SHA512 fd483b6d6d26b970c73c6ad60b1fbd32c2f6d2f64734dd3cf0baa67ade72f98a475bab1b6bdfe06ed6636fe73f15c890da88eba09f61c1aab98b6f16add0b34a
+DIST firefox-113.0.2-hi-IN.xpi 562004 BLAKE2B 1c86261efadc105cf8108bee5cda96f70ffa5fc91e7ae446827216523bcb3d1d8bb474a9d5e4e904a643a7cd8a7aa40a91c33be63b49795cbed794bfcd5c86b2 SHA512 efe3368a762b1825d709d0f0c3cac69e4e45bd639e343ca7d4a7782b3f8678d58729d69a7dd4a6c062f53b25492357b9726728b6e8175118237f256c8b363529
+DIST firefox-113.0.2-hr.xpi 550557 BLAKE2B 08b91e0c2e865a1408d6ae4354012519bf19abb892346f77622172adedc43cca793226eda9b0820bbe7e69fb62b0e025cb8f31c65e95a2cc5eb396d4e8fe92e9 SHA512 981395527b7dd467e158a6d135fc345577c955de3eb84f7126bcadd54a1d864fbec760d1e5a9e14b33d57c5181ca518d1526224dba9f6b5a98ffcffe08630707
+DIST firefox-113.0.2-hsb.xpi 601199 BLAKE2B 389afd369916c97e5445e574f49aea231a8335ac0b3584033d22f46154d05cf0ab6c232cf7ae40b39f43259040a907a79cfa7c7e6fc04686daee20b9313d537f SHA512 c4bc47fb70629235070908fb466be5f2c9da932c33a8e6bed9ed9559812b6f46b29adb65a61946a4b0354166a7bed7a5daf053c998152a040a9f1659040f05ff
+DIST firefox-113.0.2-hu.xpi 605475 BLAKE2B 4aaef26b8fb913ed55eb1de4511877df1c30509b8e0161b2f32d8f60b633b9b024cec87579a9fd423c7af9d876672ed62c14114ed5718247e8f35163ecc3baba SHA512 85355ab43f126ece587442018a26ac37c2db51fed258e8c94d840fcb59391065cbb3444f388570123efa055c8b0aa6ad55628688e5a140f57874a5887cd86dea
+DIST firefox-113.0.2-hy-AM.xpi 604450 BLAKE2B 02c4ad5cee823ad263309713614c1016dd57c0ac775153cb25113546537726192af91d4fed51d8b6d7e284e765e9ca48b6bfd4d48f3d7a60518fb8ab9571ce65 SHA512 50c273cc630eb4b66eec529053a7650f84840e34efbfe0d0fb54fca6273762f207c78fb005d63cb6161a40c9ad2a8774612331b6f0c8f83c5ac8f1387169bfff
+DIST firefox-113.0.2-ia.xpi 568099 BLAKE2B e3161725fc4b1f306738aabb200e1b2a16e7dd5e1fb8f3a5f25b69564af0eec5a1daca339d6326ed212c23f732c58861aeedc0cf236b367500d231b01972620d SHA512 bd401b5608a5334e7e8012b3e2a451c58a0e801a0aacb7f521ab8d5ca19266195c55a7557e5088e385a733f82971721ddb5d5bfddb3fb986a865c2b4a0d934c4
+DIST firefox-113.0.2-id.xpi 559882 BLAKE2B d1ae34032822fdd38a5c3b3983749387faa939be266c4ba8f228a08a3ed95e9736f5b6e9835edba77e9cc332741e9087c78f10dccea6ec6eb030382b5ee08a47 SHA512 1ad40ccd1849a6c3df21ee489eb9e74c40c3cb9b567e95b9a2726476e0aee7d9f881dd2b5390e92a4fc0c2c6bcf6a2376cd95f2fd76e7bdd7d88ccfed4cfa139
+DIST firefox-113.0.2-is.xpi 574433 BLAKE2B 4d9184cc85b01d599b09238fa12837be62bdae96e181ab23af13343d17347ae7218749883d1ce517157000776f47b7a6d844a823fd57294a78ebc9f226a55318 SHA512 e3e37640a0de73c7c21fcef09c7da8ae2000ffa346b6a3f0c67acad640e614e97c65f32880f68bd163aca3f34491f14681c2b1adfc70a9d908e176e2169b4d95
+DIST firefox-113.0.2-it.xpi 505907 BLAKE2B 4a5a5fd80b2d7595fbc49f753a51243885ab5bfe918666caa4105ac8c371e161a216a673e132b6d2dd76cc81dc29ed077097d67ba2648bb369b5ad0dc8dc5130 SHA512 020102fc6db57da6887caaba107d56e81a195b599f245001fb16f13db03b7adb1db71ddab09ced9a06db6cb06af354a4cc6f2fdb03732b87f579b258ce290dc2
+DIST firefox-113.0.2-ja.xpi 629323 BLAKE2B d130273c287caa92ab7dc83b5f27d001eaaf9a35a1fc4dfaf4cc9590069320f11311f0497f109bc8cf8714f9ae170d581810d18dd1f0549104bebe15e0fc0b80 SHA512 63df89ecb93ce8d41d84b5e59ba5e5c07be17eb0d5cc4eca52bac530536ddcabbf1871d9b9b8c1214080596b570a253bf4fa44e1c0894c04c836f39b7b3d9301
+DIST firefox-113.0.2-ka.xpi 631100 BLAKE2B 43d16b5f8ec37e2ae15110968c7f6403236d9eeef03e967414343093838dba75f4ad9b0dfea4855b33caf6483603a5e49b875d34908942df0c3bccb6931efc60 SHA512 f0631f10683dbf6ed50ef030e06ccc39f348792f3adc76ef32bf23b4dc58e3d6287127c90c089df985cbc622bb35d9039e82599bba40826a6f18bfb9df26aa07
+DIST firefox-113.0.2-kab.xpi 584687 BLAKE2B 8ac0ca9b7799178c0e12a4da45b3e00b23c538c7e9749008553c82e376d7675ddfea46b4adf6f3446dede11c563f16126800e0cdde6e274b666bbef67ae89ee6 SHA512 8c600932afb3a831a993d2a9f015ae73762906ecce122b92ad777fb416891ea99694c0bbb60e5e83174c4516c245052baa8435e71b08e0ff223392e6e65db720
+DIST firefox-113.0.2-kk.xpi 654255 BLAKE2B 711336b51eb72b10eb50c9f06c9d0eda85f83c52d1fa586095cd2380e081c621bcae4941ae29b4be49327691122489042d37ff114bdb339f8dba4fffc5d25cfa SHA512 35329696ea41c6c6719a36f834e4a585716b145c6dfc03a334bb598731bbc77851021ef45055d834fa7db09564aadd3f3ab86986189126b0681f00fa65f7fb45
+DIST firefox-113.0.2-km.xpi 534947 BLAKE2B 82244d8ca1dc2c7a4f09a3a7fb3dfd42fba4f42cf7fc4eae5e74f39859c9ef3f49d1af9967a66418f08a985704ebcb5fa310e1f14eaaf7d5a39ffdd4146444d1 SHA512 9f4f11ba201a9a7da55d15e16402eba69e332ba409291a5594672f065c424b045db54718372ed97c319fc6cefc8f0b6d18a89ee9599f03ce00852db4af53b8ad
+DIST firefox-113.0.2-kn.xpi 500360 BLAKE2B 1fb7c49cbab3eef33eaf43558ad7624ef865ae6a7f7bfd389ef917e99707ea8eed8265041c49b19beb6a26f5bd29d1fc0a618ee2a64b45bd3849ecb17e94a60a SHA512 1ce3a0e4831d79c18078e30c4c31607c7557170ef401bc17cf91b2c58055129fa3289ae72b5b087419581af10bdddf888949afaaaf004e5fbfa9a09201cc9093
+DIST firefox-113.0.2-ko.xpi 615949 BLAKE2B 8dd3105afa9d968d42a9c3062ca861b72f7755da0c649e4997a37624071b26391c905ef3929e5e26983b403c677402a7a6c083ddd1a047f57dcd20bb5cb23d61 SHA512 d0eae8fe23f6ea3d59618adebcd926ffbc0569efe9e04bf2c70060496fbf7f4f661dab62372f354f0bdee0937ee57273853688878ec3715c302e7c7dbd2a85d8
+DIST firefox-113.0.2-lij.xpi 474968 BLAKE2B 575a0ea7dc1f37ce0b902a2b8748df2c7b7246ed81859d3b430fa5c7d4aa4c21cb1b48e3ce512d7a2a5a0413a930b9ead353ee7ac5ff46aa9e3004a112639f73 SHA512 835ae81c6aa4f1db7d356026379e23559cc96f7e6da7a7e7e2fa876f20c64bc522fb24d08cc79976131212744e436300154d9e796beb1a35a650509a2a0212f6
+DIST firefox-113.0.2-lt.xpi 570732 BLAKE2B dbfe1b69bc9635ae0bafb8eb7226aa28f97976a7eab6035d6bdde4e29074cc435f57871d6ef916d83d3807f2f46bdd141817d0a29b15a33951971005d64181ef SHA512 b35e58e04bedaf2fed4b86839d71739e9af10daa47a426fcbe3681dae5c62b7ea5bf1a97ef0cd7444b77a4e601d4d77dcf3b901ac54373842d4f2e5d4d68a15c
+DIST firefox-113.0.2-lv.xpi 474351 BLAKE2B 9975a91bb69a9f306b2296fb471aba371ef8f0ab7d5dd09b9fba8524d4b8908fe76ba4ce750d226a7f5a4a33f60adc58b6fdd57f7f33ef0387dc0996fe6bcb2c SHA512 bd65b4a1af78a1fe7ece29a882677e098ca634e3aae84f6d2273a4d8907c6ba7757ac187a8747ba1b6ec31fa9138bf0e1a21bf232c8400ba0487d62e38df1679
+DIST firefox-113.0.2-mk.xpi 490180 BLAKE2B 5838f2bda3e52ab7f796a9dd9d79c1f8cf40543e0f4e02edb582a0fafae782b91624c46a046a0d3051a7c399bb14d31866f5c7cc0de0b6b7bc1318a1b66374aa SHA512 c20588a1733ca591a535dde6e236ab02dd496363547e5b36430d9a5441930652262d5e7a08468425f14fdbc1a463e78fb908f8fdd6032bb65bbd48762d01e938
+DIST firefox-113.0.2-mr.xpi 534960 BLAKE2B 89f62bbdec26c9fbc5c60b403a228cb0485f23de08b6053ffad0ef265efd92092b86e5d7039663fb6229df5837956144f7211dd1019862888be3aab481de11b0 SHA512 a4f988fde4015d952565092ae148976665b9459bf4ca4bfb2b6659f25237f3dac4584cf9136af4dfc3bfa7ce15fe233dbf86fee4dcef053e4bb37351c1394fe0
+DIST firefox-113.0.2-ms.xpi 454091 BLAKE2B 61fd21f764d67471f5858e56df7557c0614120c57d65e4ed8a5f202e119b35437a56fdc9f683a9fb16f16d95a04b0ee699dd2a4d7d2e07ef823b96d21e5feebc SHA512 266f275e16ca1f9002c00ecba744c46206d9546929e7f20809701085b4891259dd17d3305afbd47e2bdd55649c17c4dc10cdbcff196af2c785a792ebd3e59290
+DIST firefox-113.0.2-my.xpi 520813 BLAKE2B cc31abfde20d608ac28c0ab28f485dd9651881d68e03ecbc9730f26010f0a8724a41d6e64120199ea0ea181bb209310a382bea2e4711460a897d569ba956c53c SHA512 f04de6045c65da5a35b2753779c675b18ccd2376dd21f2baccdefdb173f15a5e8446ce2e73684df17a8a54482771e62f5665997fb3aa6c82549ba91ced4bd89c
+DIST firefox-113.0.2-nb-NO.xpi 563831 BLAKE2B b0eeaa8013b2d2ca000e8da383d2d3e63f556efc8bd3eb733be4611023e9a2c3cabc2cb53e1e067c4011499e17bf9eefa019901d831914e835d518d731d5f564 SHA512 133cecfa9211917fbac6628658cf6898bd014f54f68e8493f3d24c58854c95f12681a0d5cf5c9d379775217471536f101faab93498710578519ec8a6cc9f1063
+DIST firefox-113.0.2-ne-NP.xpi 488584 BLAKE2B 314b25407e489702707ba315bd966b94926330a63f305587efa8591665b6f1b2c21f960f5e4cdf4da419d4598a3d1d25410d8ae17bda130065c49a7601bd12bd SHA512 eea118613633ff0b7475fc101c21655a0b028a5927356bde07851f08641bf690b37e27b5bc2d9f55e94bf913d285c3632f25782cfd1094ca68b197c942430e59
+DIST firefox-113.0.2-nl.xpi 572760 BLAKE2B 6f9fe989c2d0de58bad6480aa2400859b91c8bf35fc59c3ab7a6bcf9d2d14b567bd294df2bcc69247a5f5c141e3ade0bc39e29cd1ad89f542e2b0f452ad50479 SHA512 66b918e85829f7d2be269672624b90de05c582106ee1f89deb93097e53edf26f083c89343d63fd149265a26e82c33de75ceb138ee373dde9772c6c5b7dee468a
+DIST firefox-113.0.2-nn-NO.xpi 568523 BLAKE2B f6aaba579913d7bd6eb4467e861715c304d0e493f81195278223742b2cc175fc7d36e6fda08b4d46236b9f8c7daa46d43aa911adeb6bdd7fd8e9a278d844335a SHA512 f70819d3419cf9dc0542e85b22e32717401825ae3dd0f236363240594c26480a3517d751c7297f993474ae5fbdd36b4e2ea3ac2989d51ea3e1c86ff232d25a4f
+DIST firefox-113.0.2-oc.xpi 589377 BLAKE2B df5b59150233845cd66007d49a79c9a7d9778266676ecbde8e91000fd46e6ccb0cbf59f4c60e24e4caf02c37450758b472a34abdbdca0f58885d799962a0f0a4 SHA512 7718d7b23a36e653a7d3f441e61bf512b9ca14a113c8ba6133599025068a2d0c9c8c9f7265d214e4dd2b15b48bf97f8b210557973cc506a411da075724c973dc
+DIST firefox-113.0.2-pa-IN.xpi 647318 BLAKE2B 0472148e4a5db31c5d0984201f968b912783788bc45a98d8423a58f494f166a0a1541e36cfc9bf4a5b5a7ee4397ea1038a74033021e1c05f62ec9ecd644bd278 SHA512 c4476464e3b03602d3e8aab7ca7d5ca409b536770b11854fa18a9869d817a16e0ed1cc7e5c9001ca5fe396025090bfa6fa7a9bbc552091ff90fb1fb2a3aab886
+DIST firefox-113.0.2-pl.xpi 598086 BLAKE2B 4b14c58a13328cd5fa3470e1c0c0da27ba66778ea9558c779b50561f2d6b6108ff2c427bedb389983563251dc44ced50eb5bc3852a1e4ce41f781bf822e982f6 SHA512 16f765eeca8b7877c7b7d8acb532496a323d16340700e6fd6546eb0204caf7759d7196e0bcef4626d8b326215d897f1726d9d6a22ee35f094ccd46ff2c600290
+DIST firefox-113.0.2-pt-BR.xpi 578658 BLAKE2B 2ffc3148a52a393aa903ef639bb49537b1aedfccce6988b356a2a3cd47a2b68e103aa360b01f7bceb57c46fa1d4c095e68632142e854b3d02c5a6d0e904b66c2 SHA512 612079ed62d663dabe2de2ff56ab0c123201fce23faec16caac602b854f0f1ef769e59dbe80adae6d16735fd5ed777371cb7db5779c1e202fb9ee9e700759288
+DIST firefox-113.0.2-pt-PT.xpi 583010 BLAKE2B 3553d4e871485e7b2aff68e111589bb950ea56e40b84f54115b0c6ae0ae7ffc97ae8ac38a51ac5f0aaede4a004fc5a45b6e03c6b3ab25a2dbaba357fb3b4517a SHA512 ecef540e441402a68d913a8db333faa17d3bd51057a1d882dbebbc04478d04e1deeec1e0b6db4c99b3bd910a0e9206b4ca7a8801bcd88b49db2f6185e7ab62d0
+DIST firefox-113.0.2-rm.xpi 574482 BLAKE2B c78736af98d688a854e737b5021a1312f3db681d2c776de74983c99f36dee0957dbe7c986b3d5bd7d856dae513431e163afc0285bff8980951d4d7149cff8c2e SHA512 e0102132b3bd5d4b4af5d270750f5b80a148ba52e3f22b725d3036252bd8a34444c0a295edc77b5c61369a229766a9a9182e98f4ecaf1aba0883face83aafe28
+DIST firefox-113.0.2-ro.xpi 539288 BLAKE2B 753ee894d3c81b530f59ef674971ba42548d44c9eea002325ad403e42dc92e78987c59ce8aaf1dbb8b1bed5e744609c4acbc77e502334ddbb60ce5e64f427d50 SHA512 13eeea82acae451cfde169dc4bc91e30a2f04303d65c51526e9e0608ad287f7839bc7920f3521419bd0f264088fbb4996a8aa1502943186a53a732c1b766e83f
+DIST firefox-113.0.2-ru.xpi 670905 BLAKE2B d10910fb4bfb7626892a55988de98a19585bb64b61aa466d7b51832b617bc73cb43eda2975c0edc7a422cfa3c4647955936b274d07e1a79736f558400ee12082 SHA512 6fe6a3384e0787209a48735d2e566b116cf6df1556035101ef0f695d0357b7d9ebe27bed4469775cf1665a14e403a4d01c29329022b00ae2258ef20a6cc33856
+DIST firefox-113.0.2-sc.xpi 549540 BLAKE2B d5102b7fe3c87d2316c746f52ae11112ec19bf8011e40c0973e89001fba3ffa41b45923ffb87aef622f27eeb2ae414df534435965a74a3aba4dddefd0f69ea40 SHA512 4fa6a1348bf35f15a53026030bff45eaff316512c045b2d0bb54dac9bc3cff0b22c93192f069fa67dae7fd8430a5f53c058a6459a47a6d1aeff3a74c2332b909
+DIST firefox-113.0.2-sco.xpi 509088 BLAKE2B 4b0fcda489d1028483679e9910e49fee85f83d993589ce3c19d6cae95eb3c7d04d18b46a5717f3a726b6ce240caa76677672f28c732349dbb7c0cccd3813f391 SHA512 b7969ceb1cbeb30c974ff3506a74c8d394ebb872e57fe89fbca36a686bf9f5557cdd10e685745564a87513ea2c163424f5bfa8353fdae39e5ed122ae2c7d37b8
+DIST firefox-113.0.2-si.xpi 578767 BLAKE2B a37b2552c903e20610cc39dc4483b32e1f3573647347b4dfb294c028bf40e4f9664df40577a1f6935eb7102c3f5ccf09a5cd18b9f98799508da3cce026cd3687 SHA512 006ea4a716fe56d8a7e373a035c64e973627266c7bbfec64e5c6d625b6953ac2478810bcbeeb7ff8bb2739c2bc29e4f4cb359edfd68064736226d1f271c51086
+DIST firefox-113.0.2-sk.xpi 606287 BLAKE2B 76396559d058ba36268ea61a86a0aa59439f45fa9d394eb033682db98c2023f3949c739d668a1339b912aa1d73fce1f48f8ec61834e1a5e5d36717c6907331c6 SHA512 81a9d8bae5cd1b885d2fdc2b4859b7aaf572c369658e654e8bc68cb72841ca3cc0382d1a9e542213289ed4b7f93ee4fe2393a987a840d850a7c29316bf549ead
+DIST firefox-113.0.2-sl.xpi 575406 BLAKE2B ba8b39cc3dbca6e4014e382ae5416d44e3187987e2c0ab42e93d7247742ebec1b03a4309181a112a4f5acbfd752ad0a102ff0e6d4801c4839a1bb982a7514dc4 SHA512 46e1c9d6d9a1099b2958adccbdcb850612ce508d9cdaa80d69fcff4d6c9a6ed9ef8de56aafe65be8256c7e695e4ece98250667ad8eac4030f61af6194c7c2ccf
+DIST firefox-113.0.2-son.xpi 425947 BLAKE2B 9ab56a96e18a70753fea4cec7936c044db5ece8dca848655a41353f29a5fb02584519cfc3ac0a9dc1ea4db4620bcfa6b92901065942df497a4107612a5e75d87 SHA512 2fb528f99663a594446d77bd35f1544d5df90ff1b9505802c06a3c04f182ce8a9893c5b2aa42445a2ff6dd4e72c933e3a8b6bb4985d626fbc4606ee7188ab0d2
+DIST firefox-113.0.2-sq.xpi 589370 BLAKE2B 60140cd28f927c2c83880de8278c55a78d28f8fd6868830f5db2b208786eeff3dbb2bc302758fd192950a4989f84bfe11fb440378f336b05b3b95e17c8c446fd SHA512 30da2f8f49da9911473c567f814584991e1dbe292e46ba7b06954e4e3b4230c4795bd362bf28e4ba544eb2e80288c75a2dcc364cf1745b9d70685c5e4ee36e58
+DIST firefox-113.0.2-sr.xpi 633735 BLAKE2B 32f60eabe83f854e0634a32ce09086f8447ca005845a8c645fa4ea4c44b56b547f1fb9595244e46e3b7aa0b0ebb322dba29b2ca47fe046bab4bf276285ed5aaf SHA512 17d4c2c38c918c99ee5f6219f284ee3a58ba62d1e564ba312b1c285980a031441213cb53a375b09aa55be2d35987819be0a7de62d04936aeb2ce9bd37d26b8bf
+DIST firefox-113.0.2-sv-SE.xpi 575937 BLAKE2B d5a98ced3fc2fe309e9027e78d80a63c477bc45ff91b1d0d044b824fd835c8a3c63eb5dfd1e72272fe411bd366ecfba91d1ca3c2bdddb7cd99ffe980da0f416f SHA512 5b3f94c1a8179b898398de5482941e506766bcc2431cdc47c5c7fc2998f5c5a798a5c02a580c26b365f255557a7324c4db7d2194d4a3c6e12da4ba119f1c353d
+DIST firefox-113.0.2-szl.xpi 521942 BLAKE2B 1845960aee4c356deb38244f38d8da21659c02f53413e492042e9c00a4389c69b90e6b7269a6aede371279163b72bb9ad2da5996391879c9d71ec4c7a3f277a6 SHA512 79349e9000ac47d8365badb33a7d30d7c559707d5cac6e78036017e635d2180729dcd1148f7525bb7d63b2c5d928f57933a25faeba2fa6d217d8af6828d488ed
+DIST firefox-113.0.2-ta.xpi 512532 BLAKE2B e601796c21448eb92d53b5c242ce17032de067e7613820b28b6138669de3df962b18f918238f0d6e8a40f9708147badb895b15d0f41fbb8e9d135579b788ea18 SHA512 15b46279df5469e2e47b9c4cb5a7835effeb560d42339758389c1ee17e35e930d0f8e24ebe27fce84fa16cab7682f2d2e03eb808169644b156d21f54a65c10ce
+DIST firefox-113.0.2-te.xpi 560993 BLAKE2B 8d59b082e796494351fdb5e7ade07d4dbfc76f607a2b49112ca4a5241598345ead9ef317eef80055d90c8fc8457ffca293618fca18938f5116ae3f989dde65a1 SHA512 58186d8ccbaae01e8b426715548c4caa50f4835456d1c100d79e10b01f235869fd6fb25849d439d34aa406c229365831d1ecfb8db6d5b7140a072abbf6135663
+DIST firefox-113.0.2-th.xpi 644417 BLAKE2B a39368b2cd8ee18fa719f1228a500129e03187c38606e731f0e2f6d71bab4a884419af7ac6621de10796859cfe0fe18a8dc8c6a49429f32903a911091d090b0a SHA512 d0e57c62804a54372251aa649141211c03a9ce3357b26c9ac2d9650c66f0ce08d523596a2b8cefdab909e3e47fdf71ff8e9e6c9be920dff2a88e75ca7bc51cdd
+DIST firefox-113.0.2-tl.xpi 531911 BLAKE2B 5f663f5c438fd0b3f3f6122a71678f410ee623227ca3265b3e37d3e1d416f31e02004d6389a7d8796163d2a0c33238fd3366e9945af6b10d69ccb03cfb65edfc SHA512 dde830f23da90161d6f05f9bac2f7f7be1fd3902769f3846922a02cd979c1edab71e43576bfca1330f35dc40c748a10b2dc09599f805f83bf08b3a4c1dcdb2ee
+DIST firefox-113.0.2-tr.xpi 589105 BLAKE2B 37a23379dd7f92e1ec74f12d1b7088d6ef1f91be364b91765f2a6be36170779874c26765c7b10a9ebf408f48a84acd9229917fd05db4544f45b508abb1fc3b56 SHA512 e93dc6c39cf2876a42f71dadba48b0e568a97e178f17f9db7f399f2c3ea723bfdc18b1963603fc30c58856009f0f007744ee49d04c484e88fd34646e31ab1045
+DIST firefox-113.0.2-trs.xpi 491608 BLAKE2B f628f97efa589ff3d0daee5d1b66229559628cd023900db60bdaad622ef72f1b7668945a2fbb245f97d89cc72a986263def352334d76c5f9dc775ccef0deaff9 SHA512 bbc2e3cac1a25442f0464b07c6986a7591e84a9b3a8fec3c33c9890116d1bd4b4fa0406d35f7f8e3f59bef9358e1714d3a095610ba1177f9bea25e3510ba280b
+DIST firefox-113.0.2-uk.xpi 663982 BLAKE2B 6bbd019d839ff780651b5f20c98cdda3f201c3febc58f958ad22e9e1ce92ed7f0be915c578f4a98df9c8a7c7db7a9f2d9c94a294d9f0b6ce173ca604d1210d11 SHA512 d00cf48b4b3f2c1c184022dfdf883f6e754627557be97e9c440e59c56ad555dae8a880a9f9d038ccf8cc191a08b1dd7c3737430cc00f532171f2aa659d5cf9b8
+DIST firefox-113.0.2-ur.xpi 562157 BLAKE2B 6295826bec7900656a626ef072f907a7d44821cb44ea915f778c534ee4f659adad743dde1055c93387fa31c46a3b3aa7eafa899626eb3e92ee630bb4dbe61a4e SHA512 120f589d64c8abafa017525ee733f4101471cd7f8b67a0737d9ba48cd65bda46a35ed8ceef8b5b431819c5de7dc99a8adb948e0df4e76b7d5b15f971d4996cf8
+DIST firefox-113.0.2-uz.xpi 482163 BLAKE2B d5ebebc38c08505d4f0e1ddde913a560fe98cece45f665455baeb0259c0566171bee1e920fc9a4985ece9b707eb9ebaee8d9281872ba316ca53ccd7f17b6fece SHA512 22f03522d685869fb9d4b674210fef29089fa997ae782ede0fa1c5476a160b320c83c498b0442e1258bff7819dc1da33efef37b204d1c8b1d8bf0f467bba539f
+DIST firefox-113.0.2-vi.xpi 612244 BLAKE2B be4a0001fa1494fa94c9759431e53c52b6912769b1ac8370e24954d5664ae11359cfea149bbf729308c1678042db35477da47246ca7e213c8f1ea8314085bcdd SHA512 3ad57fb47e6c79100572cfce742393ed75f6d155d58148d37f7f685d8a3fe3ba1b346044c7cc72e5ea28e5a86fed9368865f6799ea29ad2e5b8711ce99eef12b
+DIST firefox-113.0.2-xh.xpi 422785 BLAKE2B 066d50c827f0cca04b8da1543c98021306884f97612b5f63cfd049c8a82a308443471be0caae53ad9d294347474584c50014bf4aa6eedb90661090a72e66857f SHA512 c5ce10c43dfb147e04e09ccfa106ef8e398d49a69b2f5fc24e72b891e892cec3b921a317df9f55f708aeb99571d54f84b46408a986f3ca34525a3a2af7150f94
+DIST firefox-113.0.2-zh-CN.xpi 611651 BLAKE2B 6d427ec1b97e653628f83cca402e859c8dd7febdd047e67a19858c0cc85e3a866cf9eb42a6c9aaf9ca9ba54627d8f2e406a9144cbe2180dc83d2e4152926932d SHA512 0fbb954cdb79038ab66e6715181c4ee33579a41ae7911b4080005dfd22a5bef7cb53746599009cc4781922e349402b6bd36c4361c1f18671c1f715e3444d6e8f
+DIST firefox-113.0.2-zh-TW.xpi 613181 BLAKE2B c197d28285fc8b1f14ad38509219823821e753a661c7a8f0f0f51b0a23e8f11acdd3f3cd131194ce852a98926ca267b1559e7987940f463fbd6c822b769ea712 SHA512 c50cb9d6f4844bdcd8d7ba81f263658ccdcf3cc9afbcbd241085cf6f4961289e2abf92e012ddded4083fce77e31eb13d73bd607e594030e23581c5dadf43bc95
+DIST firefox-113.0.2.source.tar.xz 500503164 BLAKE2B 29be5865db0fd5de0d74d8f906301277eb3eeb0ef53db0a27398a0410fd2b8f973074cf58e00c718b5c7ef2b71295513adc1a905444e8b74f5b9be3a701d9b6d SHA512 7b1ff7d547fda02901f54a2593e03598a830698192003d833e27b85db0e00571ff66e03ebd4089e76fa65b09df000cbb2542450beeabb0b310875910603e6743
EBUILD firefox-102.11.0.ebuild 36945 BLAKE2B 7fa69a1943348e1dddb8143d3012a185054f66cb5d5147a9e69f502c7e29267c5e4ac06b6bad86e55122fb155c176912568fac3e8ef2daaac66ce4d9988a4575 SHA512 4f475808715fde3565fe415d0e8321ae38aba1c253824b6ee8f5fb1041beb935c516fe4ef034ca3ab736db968b99024ff2ee891d8cd30b5dd588e31439a0d6c2
EBUILD firefox-113.0.1.ebuild 41692 BLAKE2B 62b08b31939613963414bdbc097108b215531723c8b1f54fb7d334e3a7e3e29ff1bde4bd91448a989ab7bda4b437dc8a185918b2174e313696cc660a08f46faf SHA512 91843ac46efc0a9afb47b1568f339cd33848ab5cb8fb8ac27d85fecc25c73c7e12d8da72fe24f4dc0906c94759f5836f8f9453c84cf81e93758ee9d58d936aa7
+EBUILD firefox-113.0.2.ebuild 41692 BLAKE2B 62b08b31939613963414bdbc097108b215531723c8b1f54fb7d334e3a7e3e29ff1bde4bd91448a989ab7bda4b437dc8a185918b2174e313696cc660a08f46faf SHA512 91843ac46efc0a9afb47b1568f339cd33848ab5cb8fb8ac27d85fecc25c73c7e12d8da72fe24f4dc0906c94759f5836f8f9453c84cf81e93758ee9d58d936aa7
MISC metadata.xml 2349 BLAKE2B 28d361b31232cb633877c0229f923638614b369caf92d392d9f0a1d51a5a1596b9ee7817076673de381fcbc708d9038da967dfe2440f4d21c1658b6dea2783cf SHA512 61bc9614c7d56a68fdfbd0ffbc2c828002a0be6b56523109dfb482d73f7739b934dcf407088fb5cca0f0c1c89b56a2c8d9afd836d39bf4108d3510a81814135c
diff --git a/www-client/firefox/firefox-113.0.2.ebuild b/www-client/firefox/firefox-113.0.2.ebuild
new file mode 100644
index 000000000000..00e00080656d
--- /dev/null
+++ b/www-client/firefox/firefox-113.0.2.ebuild
@@ -0,0 +1,1409 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-113-patches-01.tar.xz"
+
+LLVM_MAX_SLOT=15
+
+PYTHON_COMPAT=( python3_{9..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 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 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:15
+ sys-devel/llvm:15
+ clang? (
+ || (
+ sys-devel/lld:15
+ sys-devel/mold
+ )
+ 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
+ )
+ wayland? (
+ >=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.89
+ >=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-72.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= )
+ wayland? (
+ >=media-libs/libepoxy-1.5.10-r1
+ x11-libs/gtk+:3[wayland]
+ x11-libs/libdrm
+ x11-libs/libxkbcommon[wayland]
+ )
+ wifi? (
+ kernel_linux? (
+ dev-libs/dbus-glib
+ net-misc/networkmanager
+ sys-apps/dbus
+ )
+ )
+ X? (
+ virtual/opengl
+ x11-libs/cairo[X]
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libxkbcommon[X]
+ x11-libs/libXrandr
+ x11-libs/libXtst
+ x11-libs/libxcb:=
+ )"
+RDEPEND="${COMMON_DEPEND}
+ 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-lld ; 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() {
+ use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
+ ! use ppc64 && rm -v "${WORKDIR}"/firefox-patches/*bmo-1775202-ppc64*.patch
+
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # Make LTO respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure \
+ || die "sed failed to set num_cores"
+
+ # Make ICU respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/intl/icu_sources_data.py \
+ || die "sed failed to set num_cores"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+ || die "sed failed to set toolchain prefix"
+
+ sed -i \
+ -e 's/ccache_stats = None/return None/' \
+ "${S}"/python/mozbuild/mozbuild/controller/building.py \
+ || die "sed failed to disable ccache stats call"
+
+ einfo "Removing pre-built binaries ..."
+
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # 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 ..."
+ if tc-is-gcc; then
+ have_switched_compiler=yes
+ fi
+ AR=llvm-ar
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain,
+ # 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"
+ tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG
+
+ # Pass the correct toolchain paths through cbindgen
+ if tc-is-cross-compiler ; then
+ export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
+ fi
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set state path
+ export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=browser
+ 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-gpsd \
+ --disable-install-strip \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-tests \
+ --disable-updater \
+ --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
+ 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
+
+ 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
+ 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-flags '-flto*'
+
+ 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
+
+ # 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
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ 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
+ fi
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ einfo "Disabling auto-update for ${plugin} plugin ..."
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
+ pref("media.${plugin}.autoupdate", false);
+ EOF
+ done
+ fi
+
+ # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
+ if use system-harfbuzz ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
+ sticky_pref("gfx.font_rendering.graphite.enabled", true);
+ EOF
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+
+ # Install geckodriver
+ if use geckodriver ; then
+ einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
+ pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/geckodriver
+
+ dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/browser/branding/official"
+ local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
+
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menu
+ local app_name="Mozilla ${MOZ_PN^}"
+ local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+ local desktop_filename="${PN}.desktop"
+ local exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" \
+ || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+
+ # Install wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+ # Update wrapper
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+ -e "s:@APULSELIB_DIR@:${apulselib}:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" \
+ || die
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+ # does not need to be forced into the LD_LIBRARY_PATH
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ einfo "APULSE found; Generating library symlinks for sound support ..."
+ local lib
+ pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+ for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+ # A quickpkg rolled by hand will grab symlinks as part of the package,
+ # so we need to avoid creating them if they already exist.
+ if [[ ! -L ${lib##*/} ]] ; then
+ ln -s "${lib}" ${lib##*/} || die
+ fi
+ done
+ popd &>/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ elog "\t ${plugin}"
+ done
+ elog
+ fi
+
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ elog "Apulse was detected at merge time on this system and so it will always be"
+ elog "used for sound. If you wish to use pulseaudio instead please unmerge"
+ elog "media-sound/apulse."
+ elog
+ fi
+
+ local show_doh_information
+ local show_normandy_information
+ local show_shortcut_information
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ # New install; Tell user that DoH is disabled by default
+ show_doh_information=yes
+ show_normandy_information=yes
+ show_shortcut_information=no
+ else
+ local replacing_version
+ for replacing_version in ${REPLACING_VERSIONS} ; do
+ if ver_test "${replacing_version}" -lt 91.0 ; then
+ # Tell user that we no longer install a shortcut
+ # per supported display protocol
+ show_shortcut_information=yes
+ fi
+ done
+ fi
+
+ if [[ -n "${show_doh_information}" ]] ; then
+ elog
+ elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
+ elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
+ elog "DNS traffic to Cloudflare by default is not a good idea and applications"
+ elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
+ elog "(\"Off by choice\") by default."
+ elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
+ fi
+
+ # bug 713782
+ if [[ -n "${show_normandy_information}" ]] ; then
+ elog
+ elog "Upstream operates a service named Normandy which allows Mozilla to"
+ elog "push changes for default settings or even install new add-ons remotely."
+ elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
+ elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
+ elog "concerns prevail, which is why we have switched off the use of this"
+ elog "service by default."
+ elog
+ elog "To re-enable this service set"
+ elog
+ elog " app.normandy.enabled=true"
+ elog
+ elog "in about:config."
+ fi
+
+ if [[ -n "${show_shortcut_information}" ]] ; then
+ elog
+ elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
+ elog "each supported display protocol. Instead we will only install"
+ elog "one generic Mozilla ${PN^} shortcut."
+ elog "If you still want to be able to select between running Mozilla ${PN^}"
+ elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
+ fi
+
+ # bug 835078
+ if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
+ ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
+ ewarn "enabled for Firefox. Nouveau / your GPU might not 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
+
+ elog
+ elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using "
+ elog "useragent checks. To temporarily fix this, enter about:config and modify "
+ elog "network.http.useragent.forceVersion preference to \"99\"."
+ elog "Or install an addon to change your useragent."
+ elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100"
+ elog
+
+ 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
+}