diff options
Diffstat (limited to 'www-client')
-rw-r--r-- | www-client/Manifest.gz | bin | 6194 -> 6195 bytes | |||
-rw-r--r-- | www-client/firefox/Manifest | 101 | ||||
-rw-r--r-- | www-client/firefox/firefox-113.0.2.ebuild | 1409 |
3 files changed, 1510 insertions, 0 deletions
diff --git a/www-client/Manifest.gz b/www-client/Manifest.gz Binary files differindex 953fce6ac171..ea639db06bab 100644 --- a/www-client/Manifest.gz +++ b/www-client/Manifest.gz 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 +} |