aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYu Gu <guyu2876@gmail.com>2022-04-20 21:05:30 +0800
committerYixun Lan <dlan@gentoo.org>2022-04-20 21:14:49 +0800
commit75dc910cf365b9c2a130ac7e84c86bba3a908d9d (patch)
treed6b9761b8d3e9b27900ee9cf41ed5193a10bb6a9
parentvirtual/linux-sources: removed (diff)
downloadriscv-75dc910cf365b9c2a130ac7e84c86bba3a908d9d.tar.gz
riscv-75dc910cf365b9c2a130ac7e84c86bba3a908d9d.tar.bz2
riscv-75dc910cf365b9c2a130ac7e84c86bba3a908d9d.zip
www-client/firefox: import ebuild from gentoo's official tree
original version without modification here Signed-off-by: Yu Gu <guyu2876@gmail.com> Signed-off-by: Yixun Lan <dlan@gentoo.org>
-rw-r--r--www-client/firefox/Manifest99
-rw-r--r--www-client/firefox/firefox-98.0.2.ebuild1256
2 files changed, 1355 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index a7f7936..74e132c 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -98,3 +98,102 @@ DIST firefox-94.0b1_beta1-xh.xpi 420863 BLAKE2B baa325cd8f2e04d6686d04a58ec2bfb0
DIST firefox-94.0b1_beta1-zh-CN.xpi 564714 BLAKE2B 7678cb9198f8966f06f4bfe794e5face4e454c9ff09e83edc7db3505a22a24212f1a8fd57cddd91e20a224d9e5381da7ededed9a2f99b116da91e721125c718c SHA512 e99d8212cea02cfe124613b3c33bf3041fcaa9abf64bcb70d4146ebc18648671a5ecb008057703bfbe8252b2c072f0a7c3644bb2ca4e9d2b391a022b04966344
DIST firefox-94.0b1_beta1-zh-TW.xpi 565288 BLAKE2B 43247ebd18a469135cdbbf011aa4a90805823a663c8249a560ae5dc34f620505fe0e4e6d9ce55590e2ed1fb5d4f8121eb6f2d7093bc38db46872cff7b388a4c2 SHA512 724a9a092a5dc12af346926b53c9efa992f7dcb72a28a858ff6a36f1ae35d1505b642edc07d2f9e1bbdfcb0750238b780bd05e93e9e5704f99a403e7c1a16e4e
DIST firefox-94.0b1_beta1.source.tar.xz 390066204 BLAKE2B a737ef0544efef068757aec6187deb927ff0335f096be6d448117e8d4c90e84b121c597e7a33295660bd24db2551da518942df9330e41c84d0a2a6ae1a21e51e SHA512 5f258f010eb0f9ae198d373abf71209734308f57d4c913873dc71ae1a8d7fba0bf255ae4305d16410d14fb19288e55718a83043d15013aec7d39f55ffb329f4a
+DIST firefox-98-patches-04j.tar.xz 17532 BLAKE2B da525840a0850a504d69dd8d758bd32c0146653450e5ca1023f43909fa3149424f48abfa98e8152875e44d72852a0310afbb42dc2684e3eecf666cdf6d84223d SHA512 db1b352c61ac784d44e197280b33e9088286571a66df6415ba28e5c910c67853053f56cd9c27faff2de77e13939e5d3e221ec4384e34881127e43a5cc315d357
+DIST firefox-98.0.2-ach.xpi 449114 BLAKE2B 79c1f755fe5ba6e0aabe7f79af24165ab8a589a13edecfb1addb21db318de946b11a87677ee68e3373930e3490bb77e5768d2a7dc59f362967555eea437f782d SHA512 dae2b44134d7424ec55dfe3b18c68add16e67e139543055527cfacb3f9aa21ab00fe096c32131119acae0f5873408daa5b832bac2516fc4ea597a0e36745ae35
+DIST firefox-98.0.2-af.xpi 415426 BLAKE2B 98b4d8a1fe0c10ac94792291e44a8727fb6f4ab722fa128af8d29fc2cbd8b5c9bfeae96f8f7608ed1428c90d09a72ab2a60f7d91b3e5a551d711fd2e9e3ef2b3 SHA512 09548a40ca600d2010ee2bc794a2db8f9a10df4a6c142e0cf01587e3d39ab9f332e6e258f91f588cd145c42c652b0c90eb421e439235490923776f5b219450d2
+DIST firefox-98.0.2-an.xpi 495404 BLAKE2B e7f03affb3468ad1558462f5be5e80a8a86b3fdc2cfe51ac5e2e1bb5e96c43d1615847ad87ec77e963f7e0df16785c576e2a5699c188cc9a023232190f8d75a1 SHA512 3ce820252b38887918bc797a031face2d19cca8ed7870ee4b3bf5ea9764e852de473ac97d2055763647ad23adc57b752c0365ef122975b9cdb008b532263d713
+DIST firefox-98.0.2-ar.xpi 564962 BLAKE2B a98ddeb1a47e27813d98bf1f6379d5993fb99ca87cc4edf3ceb3df9dabb8bb0ed7cc9085683f5284bac30f19e60ab8c68d768ea18d40f577cd7aa644baaf5ff6 SHA512 8074da6c1df49184bc6b06ab184caf31be127f43a5b7c3de5d191833f3d737a65c53317cac0d6c43a6c7074332007fa63305d6d14f52e51920792d1aacd67f52
+DIST firefox-98.0.2-ast.xpi 493534 BLAKE2B fcaae7f3cc0b66bad309b55bee96f60b4f59e93254cf246e1be6fd4ff4c8a879fbbcea596987a5efc89f034b2fd3aa6274d2e01222bd780c277adeecf6dfa5d4 SHA512 fb9fa854eab5ea44698da18fc77b75f5c781e0ac53f748416bb2f9617ebf80f00596c167cf09449e13616f1a9165781192ab0f3ad61046a409bb1b04503353d1
+DIST firefox-98.0.2-az.xpi 484500 BLAKE2B b4a4d3425db2900482b1fc141c248954be1e476c10720e94b9d8c401c118cdd11bc9207ea5b8ff201715539bb0f77ece424173ce95bb362e31ec7921b8646d04 SHA512 47cb63559055f35370b9407bd2d24e7f2351d4e40beb87d4d352f4fc93c8108f1f7a9c262b01dc2be5d603dc2f626a06581fab58c26bff85c92eaa11d6e31296
+DIST firefox-98.0.2-be.xpi 622449 BLAKE2B e610536b177582084c68e37c527ee005c61e326d41aa9e25b733abe1fd0d372250d7cd36bc92dc92d28efb5487a9296b9664ddb5ccc5df79f9695ebd57501849 SHA512 2fe3e5c2c4a7aa024746aebd8bb91e4985b55a721cf0ad2de0b62fad1c1575d549168dace6c0585757cac1cd59f31a1d452328b9e073852dc25e68a449b16240
+DIST firefox-98.0.2-bg.xpi 564861 BLAKE2B a2bc430e77803d9edbd1748df0e4afbb0de5e290fb9e862feb80668be8e7b69bc98deed901608847ef36537d795bd5c857b4c84b33e31dcf83268788fe23495a SHA512 30af19d470a4978f72fdeb645a5b0c68e1fbe9ee70a77fd275be62eea15fec7842f2e36c9718eb3467d4c6eefd10f09e1481900157f298933263c1619dffddab
+DIST firefox-98.0.2-bn.xpi 554271 BLAKE2B 64c79a313b69b9379f4dec13f279849f1df3efffb2d6d97d8fcef71b479f8d9c17ccf8d40b2b480d96bd0b1419b956dfc604854c6d601ec33bf9a416795f8792 SHA512 99827acb8457849b41313f7fb324611528f45dfe04bc08c9468c92cbfb5895665fb6a580f0b34055792c800fa8c1c4bdd29aa451db17833de2e71c7883d2f961
+DIST firefox-98.0.2-br.xpi 529022 BLAKE2B 1202457cf966b623ba4f93e0ce9504da69147e08b3b74b552f5f6a87e0f6b6eec3413f381cb7bf4f6723d821dd24a55e91457158fbf6fed094681aa4ee9f5931 SHA512 143775cd7bab34bce5abc6598e5676c25a6c6b0ee7acea75978b2cdb637ce771017575101788f6876acdb9272c4de10e2bed57624570e34abefcf597562d8177
+DIST firefox-98.0.2-bs.xpi 459067 BLAKE2B 77bb6c2916fc591ffbb27616be3a4b48386486032b65d1adf7cd907af2771f86e7a0432e6ae2341803c703dde62efef0400e201287c85aa148b89f1d2b934663 SHA512 b5d13abe08985f347e8cf2740099a1b9afba1b814da4e9878eec2309fcb440020ab1a2f269b7759812ef475d94bb297775ed169848ff7f893ba06300390a4ba1
+DIST firefox-98.0.2-ca-valencia.xpi 536649 BLAKE2B 3b9e7c2319a0fdf9c56a84fa80d531eb1629c3584b1e21f93a4dfccf7c067334fe66feb44c9d4f79b877d66a6690564f01d28d8dbec844c150bab5369d9c2dba SHA512 a9252eb384867b6cac5b56aa6795af5e4105c3dc1323398830f3bb8e967834d2eb24461310db9dad3def1052da253343b9cdf6d209e560b1c4d41ae56e325470
+DIST firefox-98.0.2-ca.xpi 529102 BLAKE2B 73addb3ba0c27d414800d81562ba9f043aa7febd801dbbb18533ee7a33292cfb35696d266dc1ade9c9d77d2574ed730de4d5b3e266bb5bd01a1bc6859152964a SHA512 315cec8596850dd0bd8cd89770901004d2ffd80be18d98188d3e1920b95d443805f43d279b036420a4b1ea7cb430c76ae145ba07160639d8cf6ceb35dc21f5ef
+DIST firefox-98.0.2-cak.xpi 552683 BLAKE2B 5da3c7e60e5c9c169609e03ee0a37a13535b929815723b71a4ba2a4f9eeb67f42e3c34477783df27acf25f458dba38afaacc019e568e06b8d696289592b2f3dd SHA512 46fa5ff468cafb6753a6829a08d281327604f444603924c643f888518c754d6467c1840a3feff8838c193c44cb6404a62c4f0b00dfc9a20180c06e6a14724bbe
+DIST firefox-98.0.2-cs.xpi 563942 BLAKE2B 4a1eff626f6cd5880a2228f3390bfcbe666f5c6b210010ad53d1a0af6407d51af0a972c80b240d28ede7d331caa4afc16ab9d9108def581c298f3501830817ca SHA512 098b56f16b3cd3ed4f4677b6dce26364260342cd7d48717fa774c5e27323abc50acc40a7a5d07dd29c7691b68e5de04916bae85b9c66305add63c392a9cfe2a3
+DIST firefox-98.0.2-cy.xpi 543646 BLAKE2B 26e75ba383ac7c7b092dbbb373d33fe0b4fd5e4405ef7baee96844de203af815d9976947b463803ef6edf1764afb52e1b6375168f512a5f13fe52071a22320f1 SHA512 a77c2a1c0afa804b92ecb3d57c5c3e3fc2470302e52d6301480ed2ed00ee8cb4f111025f29fbc391ecf8f8dd77355a674f6f0b022a13cca560bde8c7fcb717c9
+DIST firefox-98.0.2-da.xpi 535636 BLAKE2B e7b69aa87e169f125c7e652b8162e97c22d6e692c0d28aafc1431473e556db4b78ca7b2d930e32adad75d0f462c73368c6505d7bb064736bcfad0109c571cb73 SHA512 71ae5f7e5fb35c1903d9261a8dc08d57619eb23e1fa1d51315eb4a8a9a902f1c25a68ef5c5b97720e7155696df37be1c828da8bb97135e3f87e96547aab43f99
+DIST firefox-98.0.2-de.xpi 555199 BLAKE2B e8c753e7d78998b03035976c208f2d3c64c4d1df67f40a4e7fb27080cf38b062ae0cfd123aaccc2678bf9e0317760dedadadd7e4df6a1037da4af76d891e5cf1 SHA512 1458ec0b4c0091bfcf2d140cb4f36b46216ba9b23960ae1ed0270e785eec0beb56295bb2c5f5adf38636c9f713c90b92538d0fc27910d15be0a5168fee750552
+DIST firefox-98.0.2-dsb.xpi 568150 BLAKE2B df599cc3635c452dfd94fc3c0fb372763ee609218f08e2b27dbdcccadc93a1e85af55f5424dafef2692935ae91c11515b27fe865fa3adc5d3769f6d7ca258eaf SHA512 a087c0d5c303e3240ec2fab9b680fe1df99433733509743f76bd31445341a2f28b33bb457ad07d376d1ce20c6fe4c87e7cdfbe2b9df02326ecc46712864b32fd
+DIST firefox-98.0.2-el.xpi 641163 BLAKE2B 36d84c0d8ed29a5131f83b4373b1c4779e351c62c4178341e0ceb13c23f911727d89a87e2dd952b794773793777641c9ca4dfa2a6f698aaf2d4748c2e70da0e0 SHA512 ff49b16929e009308b879374278a8e26476a4a43e4c48848d5302bf5a4f410667a1a517bd03cfeed5a8346056a3bb87ad76b81082d7f5b08d8d5b3f0f9360c4c
+DIST firefox-98.0.2-en-CA.xpi 512243 BLAKE2B 2c4a67c02830fb850db5037199bb48b67361af1fb281b6c1af2a9f7bf3f96ae8840f7087172c349b5da6e2a696f340f24a5f09064f3683775333d9c39b975738 SHA512 a50e957ce1aa6ad3c95742f5dbadb42322ae5a6e7ef384677118b0d04de449c1b8f44b79919856125a75ca10455fce58be225a1214a1fb312109147ed853896e
+DIST firefox-98.0.2-en-GB.xpi 512579 BLAKE2B f0f1260c70218068a45157771a810d3c4d298b3f478c043e5a6a6c109a946467beeeda676a1ef38a277410e20b6543d0e7ae3def9dbca98c50f75d12dbf14233 SHA512 892b17ac30e246ca5ac487d530777ab6d58f204bb4c64a8956c6b854296bc072c39adc23aca34e67e36cbaa036f6bd8b789d34615f04711b7ac5e143a6923428
+DIST firefox-98.0.2-eo.xpi 534791 BLAKE2B 6aa33b19249d2bb2be30dc66ab65a0974c0612ecf902e7b6edc35d7851152d591caa56231bea4e67e8fb0d9e5991e08ed50ff22670806e8dfc69b51118bcd9ce SHA512 5d72d9fb631f2d96bd17921201fa8d4e7d94a3e4d65bc7c1ef2a75f4aa7ae3b4a274e615f3e35c563293900ce0456297d6c6f0ec9d09de0af8e1f928c0ced0b4
+DIST firefox-98.0.2-es-AR.xpi 548276 BLAKE2B d05501a7dda5c614725987ef7fe3e3179b96218a6267965ff55889d6ed68e38d06f77a56830ba71390c36850f6f98d8eecc09e9ec9cf1c44756b92b775c1f07a SHA512 a7f987461038c6d1feeb7a883001d305875465bbcff0c84d71d9bd26c086661c43cded28606717596c47f6fbbf03886978df937d64fbd527edaab7c628c70b9d
+DIST firefox-98.0.2-es-CL.xpi 547622 BLAKE2B 7e96ae9fe9e5a1c60f7f0ac2a80d40bdf520e6793b17034d57695853cbb7a1ad6b904c2007f54f6c8356d7278a70b3caf656308fce08ccb3ac56d922c8af4452 SHA512 661b830ed1bfab642714d33076ff8791e4c828ce35b8d1f369434e4a76ce0cc47b01810a9f3ecc87750c22f83fabf0700b08779fcde80f8c887bd938425c4991
+DIST firefox-98.0.2-es-ES.xpi 538893 BLAKE2B e26f5681bf3be07e2eddb9ebfc6ac46df577c83b901761026b7a62c487648d7386babafe09ae367d9f862403a0f9a5f5e67ab647e89dcf68aab4d559030ad1db SHA512 92194479fb2668e36481add62ab6b9557e1c6b156885f792e442b239ce6f42939ddcd5343d4d3e1af13c76186a52e7eec59d0b68c9b5bf825aee60f9b92bb985
+DIST firefox-98.0.2-es-MX.xpi 551616 BLAKE2B ad263ddc1735e4a72e96f95aec49a7faabb9af6908557bf9ab43872b7697c39e06b7cdac3930fee2a390e1668c3da911b991a4fdb39ebd4d7755106ddc370ca8 SHA512 ed18fed39766fcbd9c147522d3c7bd7c366e60e7e027c678d187362fd64abcd1843f002dfcda50bf58ba6ce91f455cdfe4447b2cc82d1e847c02c564a8583904
+DIST firefox-98.0.2-et.xpi 529512 BLAKE2B 6ea5b1258a6749a9c8a8d7d71dc91a387922142808a88b487478152c0e3faa9aa33ecbf85d4f662617c95c737fdf08261f12f7f43bc46912fceca9f2026bc43f SHA512 155d02773cbc85bf4eb61efc1c8464eb706494743afb3c76ad14a714bbad8df9714a9f9e6d3be9394cb4cc7b4e2fdf891bda840e85b774197f06f0113f3f1c03
+DIST firefox-98.0.2-eu.xpi 537994 BLAKE2B 10f260e10164f8d8b22719e97a66b7db0852950a0cf40d19c5d3e89d2e52b81d6600b58226655384368d701af22ebacc78145502159f3f927fd3c1361ee9b254 SHA512 d0b1cf2433c1cb0982f1e07c411c22f20f21d06f507c0a7e8b53ee04d3fb267df7efaf2898cb89b26b640517745490542859b3d20ccbb095b274ca999845d5ac
+DIST firefox-98.0.2-fa.xpi 561232 BLAKE2B e05174e7c2672c40c10a2e379765f933b068965ad2162988317f6438cea108ca9c45097cf3be1198e2fe7bae9476049f29bce91026e68734cd25cac4adfadc3e SHA512 f4c901a1420ca1f4b756517d0650cfb9273f8f03366ce1e1b8ddac8c697299292324cea75f1fd8dfa6f8163a3de5a9049bb83602277d09e7b80297cc0a8f235f
+DIST firefox-98.0.2-ff.xpi 468220 BLAKE2B f7fc8ee0fa2bcf1f74f81422bb6bc47ea58cca9763b510ad9dc1064ee21e72e96de8a9e9306515a4eb52e7e46d68fdb30d133e92c2aaae7b74d595a2263a5f35 SHA512 66d26e1bc69d47e381b3a8418911ee95a075d0de302e5641e433fbdcca9d1251d5215270d3ef03dc2971a653b04b501ca4d11a5a9bfa30fbd979bb754dfc18f4
+DIST firefox-98.0.2-fi.xpi 532698 BLAKE2B be6829fe102d1087290501cf2dedceadd4dd4db524d8b07d93e9f1bdf824be915fc8bba61533d47d6192470a4d6ba7b736a3a1a9c101221c01a0ba3fe51d4655 SHA512 e776ceca5c9d00a0ebc1e43b8e19c500bdefdc21ed0d3cbbfbb8b039667ae754d612dcf2b9a7dddba7740e082adaa1d50dc60e1fcee8c759fee7f94836616174
+DIST firefox-98.0.2-fr.xpi 559539 BLAKE2B f1b3f339a7bae1e611acb06874292a9e62b7c36d101943ac3c0049eb0a91ff18bf05d8bf0e3054d596ca95af70f85cb057a1ea92853dfacc69c347292a8f2a4d SHA512 3aaf8f5023b57ad81f135473f369ee7b0ee38734fc4cb6e7bbaf0c835922cb2085183482f38adbd8f4ecc1bfdac3b29fb3eda21c1ab957ff6e8c1f3af868b17e
+DIST firefox-98.0.2-fy-NL.xpi 544627 BLAKE2B 3726341e84b523c0b5c3259f73c36525bc78b877981903a877cf9fe33f7e698f4218a1c54b3df6199af325a74e08b6052b8e332855c00c5787eb50efab513aa7 SHA512 a65d5e120caf0f004c524ccd7c1996e81f31af11fcaf1808f74c5d834adf224a653f6538cd1af7d7ae815530110d8fb02c09d70984ebb988f411194f721b46d6
+DIST firefox-98.0.2-ga-IE.xpi 465499 BLAKE2B f1262744a7f452fcf4d8ed0ee6d11fb8da9315bec702bd0acaaebb859bc157dadf449bbe1803403908eb41defd62889fa7e2d3dbc7493d01e96ed095523adc97 SHA512 03dd6d1a6e3c43dc00e29560ea13fc1ac4e157f352722a8f551e66c40f4f782eb69977684e32c787a89489310badae16de05a6bbe98064b4f187319fdb828958
+DIST firefox-98.0.2-gd.xpi 528881 BLAKE2B 27e57f0b9c9250f9477c95fccdd2789ad475b1cdb1919890d0c41775033c003733560557fd120ffe772708c626e9983c154dbfa973cecaa3ed8450340ec63ace SHA512 2a9e23cbb7663c9740618f10214dedf95ce8598774c25db98d1b8faa54f08063211515f48e8ddcbd6a7e265df31684b856413ab9b9fe9ad66125ea12e8887f66
+DIST firefox-98.0.2-gl.xpi 541877 BLAKE2B f8a97ce6093d8b1a806e4916f28b44864edf00bb17a0513937acae43744528d41eaaec2f5c993b103e05b840f5b11073aaced5399c280338955e2aa2682b24f8 SHA512 47b6212426910a1cb853668968bd452913adaaa8d4562e8f7294a2a78864e916d5b98ad886510319e9d14af4259df886c9cc215b03cb7df1e13ecfd79a01f1c1
+DIST firefox-98.0.2-gn.xpi 559407 BLAKE2B 31fa85af4685bac2ac77f5e9927bc33bd91a50a7997e62209cd0f2179e8dd628316c8a8c49dd37705a344c1f475b1a057e32eb775554d5e05726eb90e23b5b58 SHA512 cc2c83616cb5ba45b2ad8edf2e164d9f8f98910113491b5ca8f6fffdfa97edcf12635eb1c3057472c6fd47f8e83ba18298c67439b4bfe7edfb0df460a2418663
+DIST firefox-98.0.2-gu-IN.xpi 525485 BLAKE2B aea8ac3308925de3292cfaf5bd4eb2ca33fc886a67b85eb8e5fbb01e14a3c4ad54af32ac079f1952b9418106c997948c9d012cac0f93bdc01c389de75ed5f982 SHA512 9234b834ebc50f95741ccb6c4961647eb591333331787c0316b0ead4c9adc8762dedc78d02409828bd54c70a3e49df4357132979fe4cb803036d111e51da2a54
+DIST firefox-98.0.2-he.xpi 558305 BLAKE2B 8af797ee96370cb6fa603b45894d9f36ffab2015ea4815f00d7d0f4ebd00e01172848910b37f63bc32f4074110b3283a81ffbdfb993e5d3711fc0fd73227d41f SHA512 3fef56ca896973e7aa08832d29740ea710de2001606e58a673721563212db3ebeac0833118f0a28225c7dd868b039bd0b05b25e35cb423b3268e50b1d051297a
+DIST firefox-98.0.2-hi-IN.xpi 555960 BLAKE2B c027e5fae3901d11fbb3eb25f0771254d33c4370b6e45b2cd2c74b3d2073d6c4bea935fcffe2af8d8e80167e64916ed767dc8691a37464c20dca6e6ecc9a55b3 SHA512 78cec2379f207b5819cb171df59931a4b2f4c3de7e47b39389f2b84abb6d24e64aa5e1dae5d2afd87f02cb64fa8da4da66c9df6673d702e07ea4141a0fc739da
+DIST firefox-98.0.2-hr.xpi 530102 BLAKE2B 37ed7335213d2b1b8729ca84c3785f12fe3cd82bfee9cea96d021c1a4f642a97f69a2f397204e44ec6f712e09e8aaeb7979cb80fcded7a7cf42df4e52563c024 SHA512 38962c221ef1a90bdfc8ac95d0891348fbbe4d943617116d2d413dce5ce163148014f3bb9f27ba6ad4d49a2c0bd222bde514e174543bc9d91fbd3af24172b170
+DIST firefox-98.0.2-hsb.xpi 564232 BLAKE2B 740d63e434158fc3fbb44b20992eece14d048a06a59e50ea31bb70a305465d6ff2e7fbc1500fd355f535d83e5805876740f5e6743d4f32711d86e62e1dc24383 SHA512 3eda4669d547a8cb54285cb5d8fcb0e4f78daf253516ddd2e1fb151680051755f17b6bb10a0ceb4004cb32cfd534b581927d05f6f58b2bc132a0b5e86a2bd2b1
+DIST firefox-98.0.2-hu.xpi 567465 BLAKE2B 5441e07829a6df4a641cf997f703e63b8d81e16823e3f1029b18f63878dc08f64176c9d5cb9a2fc43fc3651fbab5ca559b3ca32cfd579faf148cb09958bd1a70 SHA512 8c1aeb6f085ce3bdc4c5f6f973ffd3b532bc38dce4d77ba709bef306d41fa12ba141a055d989079867b8456724ca1690678fb081595518d7a79cdc6d74d3ea3f
+DIST firefox-98.0.2-hy-AM.xpi 578966 BLAKE2B 3829e499a3ab60d45ececa0aa69507de2130e7094691c388f01c7ba51772cf4311931da9ef816f9ea8669c8d6b17fb89201316e40b7c984ddbb214e8ee240a44 SHA512 c012d0381946122d4c0e1a170aed2bbea9a0b5cbd9d7ce776f8225e83acddfa8763f831e6c1ec616beef3e344c2c0664e7d9c06cd47d5dcf3444d5ec50fbf87d
+DIST firefox-98.0.2-ia.xpi 533677 BLAKE2B 8d33c7d3e1c06bf4897eb00b8b0c166924e5883ddea8e090e6daca776c32914d481c121c4a67b2843cc993198af9f09d8c361f77fd1e9d7a5c1dd8a9e18b2a35 SHA512 69a874db6b74fe2c925fb3b1702b4b4779d1dbe17940623d394c1cd52547bd3502bfa3b768bca1bbe8a68500a6d904ae26bda8b48c654eb76724737fc9ae6a91
+DIST firefox-98.0.2-id.xpi 528725 BLAKE2B d9d9c760fb18363af7ea3d9cbf606c9cdcf358759fa0d96be7e59d05b1cd25fb4b99e2b21dad418446a262974ce9c79a7c1d3c08da648d2de00eb45497581149 SHA512 a81b9530ef09979edf5ebe8ff1628416eab3acb0b8682a53328117dd6b3fab74e93ea1ae80e4b807681afe577ffe89791d39a0027f3ac0175d3574a48cd8c8d5
+DIST firefox-98.0.2-is.xpi 536089 BLAKE2B ee4d11debc3f24dbd67a5798de698ed6557d5c2d9aceb1e0d9a0d6b1526be38cc8abf07c32192ee7a9f8c977f69ea12f681fd5900cb601300e4e6fcc4413e262 SHA512 a6527e549541412a7822793e6edb63524c106973612e1107d53e1de1f668603625cd0f747db2ac1f4fcfe347603675b50167d8dbcd79b7e2898f8a237ca569ff
+DIST firefox-98.0.2-it.xpi 460872 BLAKE2B fa3fcc167b142b4e5108500ce98ba8605f3f5d5db0042dcd8698c796198543005cf4e27775fb0d6b34dc35462886fe8bb4c84fea09a12086ff1341ba348fd2f9 SHA512 f7c0d88d7b713bb5f673795a932a4729316ebffa53feea328857f92203bfef5e1418291ed5845488a7bdeb3d7a5a9f2c212b8b4c1c1d4b24044a612973c706c3
+DIST firefox-98.0.2-ja.xpi 589750 BLAKE2B 4959454ab380e357d5d7c61853fe318deb39666f997fa58a00537f46ba71b5d3bb76a8661054c4bcaa4a59a145b600c0d08ca6b8a3312c0770939522f8fb1d0c SHA512 88cd55adc38143494c79b3e3a41991e0b7e8bdd638771282a67ea23203ea80d9f4340b25c5b3bf7b6def41c9bbd52b519af0883efc29868636af59c1272dbe11
+DIST firefox-98.0.2-ka.xpi 592745 BLAKE2B 487617d8bc53989ba47bea96edff844cd7aca084b9a464153a767edb4fcd9dee8a9a990941f5aa675f6301b4e8b78d53fdeb402cf872f97b9f17d087136c6656 SHA512 a0d84cb034672ade48949107b00f941ec483b572d5c9e28a8d19a5e491e9a60b5e8ed35f002937f441a037aebd9ad1909d7493aa071d3fd29feffae9b2cfed92
+DIST firefox-98.0.2-kab.xpi 546513 BLAKE2B 3bebde160c71692f17a8b1d4c9e18d59c07795e5f9555e8c53697487fb680567d8094e4363aa7bc530eef9430255d286fc6fb41a29ef31083c35f148ce40361a SHA512 ee2a1933c95b6db2631128f7075bbaec02f36ccc2f96d32fa05c34164332d3038d5c58b4904dc9614f496519f1c59eaf26209372511d892cfc371e0724f65914
+DIST firefox-98.0.2-kk.xpi 615286 BLAKE2B e1477426cd4250909d74157c785af6e9f944c925c7f6ad761c3e7008aee6e03c2e6d7c661821fb19cb40c482ecd48545e3981c00e37aa3c88bb7c9df23f5c4ab SHA512 a96e2f3c2699a4278dbfe962f6ded1982dc073ad8201f822fb516266eb908eb4ef2ce1f882819bacc9b40c020a15c31b15270aa8471aebdaf1834522f9176e20
+DIST firefox-98.0.2-km.xpi 525561 BLAKE2B bf7ff2590177d2e7e6122b56d72931aa9de05d6526c30f5745ce2695e03f16b820f80cee51abfae32aca2a4580a2ceced51903d863836332942ba76046b3d34a SHA512 29bd4321c4784cd1544ceff60e71f1f83111b95c2628267fa7a0a25d9435a616d0e261b12a5b2f69045edcb5ab84f3a46575bd526b074b62511625246cf6ceeb
+DIST firefox-98.0.2-kn.xpi 491262 BLAKE2B e0c8e0803f80f0d313f087b40a8efd475fbbe23ca4c90357e046beaff425d8053121d477a82f4023e3c8e3b8ec35590bce94d2e9a3d2c4c1d6d7e9250f250f46 SHA512 85decbbcf490ede3915f3cb4e3bf27d452b84e7f664e40e784dd22f38462740390e6577a1f7370ebc71a100fe05b8e4d66ca63bef3c8e28db28fa2ca2b92d4f8
+DIST firefox-98.0.2-ko.xpi 580642 BLAKE2B b7244b80c142c8df4b511999a3b5d73976dd2b48a4d92c9e6ec567bf5cbd874650b61eba11adce4ef2ce357fa0475ca07ee2e3a17872c3f3c881b232fc59527f SHA512 d3405b0c2ee29c45f14821ab678df2d9959395fa420ccd26153b12dd27d4268492436fdb38910d780a6ca628fae3f2eb149fbd6f99438940c37a12222a0fd672
+DIST firefox-98.0.2-lij.xpi 467064 BLAKE2B 7ddfb10a76846ad0547b6df0684212c21babef68c6902f8dcd9715e5ee05f216c491d2550a6b2fd12040cec987f9709f235bf5fe4602b0df87ec785a272876c5 SHA512 31cdfe60f371d76fdcdd559b85e594bbd3b69522ff61a9a695ea629fa7d267f46ee5d9dc9464c79d432859a4fc001d807fe0318f92842abd31e676be18f8521c
+DIST firefox-98.0.2-lt.xpi 559741 BLAKE2B 691c1bda6ad623d6b091742c621077a90ccb32b128d276cb1afe98bc8f6249ca252e1fcb69a66c36cca73a88c43e5f7119cd52f78ae01f6263a72a6e85839c68 SHA512 f5d4fd79d2eb657725d9d31bdb8290306014ba4a7e5e60202cf51e8d27ced63148409c8501d68419116dab065bb344fd71a2bcb4a40bcf3df70be27fbff4f4f1
+DIST firefox-98.0.2-lv.xpi 459220 BLAKE2B 01ed8802d31f286d800ba5197879c2c51943f3f92042b8ade3ad63bfe4dfc41e125357e9f944cb19b49a479d4874b7a781570f657d44df8a5c633fe9c8cbb197 SHA512 b7e6110b645f760e490e74fa81a3743578119e2807cdb8866beb448fbaaccf407b21f7353609ce2bb092fac99c756a9170c5cd638bb462c8e0e7e9ea97e4206e
+DIST firefox-98.0.2-mk.xpi 458851 BLAKE2B 88e1563a1869525f79cf8317bd745085049052ff5f40d0adb641a26474d6dcf67a5a8b155dc06fbb49b33bfd957dd30a3d58fd1a945b3bbfd43ed9481e82c7b6 SHA512 d1d426a8f04363b3260e0614e9e4ff71ddb9e804906a5cd1034053fade157948ec97d205b6ed040a8025f9f060c91b4243ac93ee99df77090168c98cfdce45db
+DIST firefox-98.0.2-mr.xpi 528072 BLAKE2B 246d70aecf5415dd1071e615c55bae84813ee48daa2dcd55f77f0a17e226d72d7122bb5c72988c2545b1f579e0e76be84f50b06eb47eb5110269b5466795effb SHA512 545da72168acf5dd7fd1b18fe4eaaf18d456a63272a8c01b019f721c28735776a1218407324cc0b124a5840ea5b11d0cb100270a4f54af7f26a628d481ce2e16
+DIST firefox-98.0.2-ms.xpi 444224 BLAKE2B eb7e5e80c39f917263017f11ef7e44228b3a5dfdc310aead6e24920a094e29e7181e988724e54c8888185c92c065c52e385b71c5c68959c5185fc59148e43c83 SHA512 0386e2551266f50c03a1fd056dcbba22894de961f44bb59aa044c7ffb23512a04eb22382d3afc763bb993dd4032850d4acc553a433f6f175f888331d33549255
+DIST firefox-98.0.2-my.xpi 507146 BLAKE2B 890c1a12ee3ae80c3c79eff95137365d4e642df1ccbc472da61eb43b054b3b41db7e85f52341d55157bb198d9f1f487010f83a511bb614f9a25ea4462577a9b6 SHA512 e32bb12de96d51eaab13ae19907af5fe2194deebdef3d2d3f7412e40ac89aefed5252ee8f5bfafeb37268f4e615a7438ffe50f7cebc6c04c8525c7f879ea2b00
+DIST firefox-98.0.2-nb-NO.xpi 530495 BLAKE2B 6f4498b0ea79a1978b9e8c1da073dc30793965ad67b45d781ab2122ec3099287f34c58b0caff444d67d18268d8f104810323e3c383221577e32caee068a3a3dd SHA512 44b183f944c0be87d6b3ca32609a9d28bb64acdec026c0528da68b7d3b7b6bbc4aee299bc569000fefd3942d0d3b6fff4cb577585664e7c314b628951f18ba62
+DIST firefox-98.0.2-ne-NP.xpi 477716 BLAKE2B 506b6ab3db99f2d71706a308fb42b309accbeece8468a0e4098c5153c1008f1db741033fc8a3f238025d752e694dd789b4da56b1e7719e304633bc893787ef7c SHA512 cacd13d26953ee9e4333165f512e8844119115e6cb7aca0fa2ed29b6773e3b7caa85b63c8d8a4959834e3dda3dcbb4ace0d4c1cce5504c5bcdbe4ae46fdd2dce
+DIST firefox-98.0.2-nl.xpi 538883 BLAKE2B 457845be10787319f403af7438a2839a6b1b772f7a68a54557fca42122be2c38529e3695b6c44a4a7a0cc0edb5b79b2eea4f0cb8953b03a80f1406688eef9963 SHA512 843b9718ffd5c796c69ff85b2d7352c18f1e5e7fe5d30a9c871684451dded5c9b12d471f666a9fb335c140e8e6559e5d2bb692031262fd2e385d6e0623508357
+DIST firefox-98.0.2-nn-NO.xpi 532920 BLAKE2B 3bbce541e9cf1678dffaedfe73f5dcab4aca0bf6112f55a78d62883e7e98d914d2285b827fd15785b0b5c76d2be99de89bc0ea7f112167dfedb53224dd7e2afd SHA512 bd65d0151ff0874b215966195b10fa864b312bc5d07d438e0ba642ef1a115e1431b2fc98604074848194cdf1aa982f0632b34c128b939c48d80400b5cdc2ab85
+DIST firefox-98.0.2-oc.xpi 553369 BLAKE2B 1d9f441311e09ad61bf7f485add4ef96ba57a96aeb3cd9c2e3cee91422aa222a24a32045c56cfcdda4f43f6a39da1c5c260815571f7ad92fe4ddfe0e388abf7a SHA512 7cfa3050ffc049b3200165c1078441a466eb4d597178ce123db69e103dc6e682cf9a3e36c225c0b81afda981e92967a9c53a5cc28b155a19be4b0c94f2db3d93
+DIST firefox-98.0.2-pa-IN.xpi 594951 BLAKE2B 728e432db8d316a5f84b55e88ee6ea26f54006140034a3625874f4556af0493bf32d0c1de0862f41414fa97ab5f20df8de4c0ae9905a76caee99f45e7ea80f38 SHA512 0542ca8d5bc45d0382822c67dd4c367f6bef09d93855284a5224398ba3039daa7099725b06bb1f1eb71cdf5c3e78c87c97f39d3de102fd96653ba1135de47972
+DIST firefox-98.0.2-pl.xpi 558278 BLAKE2B 0da28af615bc82b072022f12cbac14560e6c2a8a971c2b307aafb0592a8b81f2975154290e0d6808a92115cf8eaa91236210c04031c4ec0dab106df8d3db472a SHA512 cb054d1a7b8f04883f7aa38ab11cecc8fbf85d3dcd7be873f9bef589403532fa41d093c468d7b7ed247fcf4a79ee77d0409996fc6defa19acb417e27701eef64
+DIST firefox-98.0.2-pt-BR.xpi 544102 BLAKE2B 3a02deb90c49bc5dbf8133eb0e8edd5fe1a7490c97504c59310766e0d3f3a6dbd172925f22fa6956232707740a94bb64720dd2e56179ce9ff9be081e973c042d SHA512 e94aae56684a44a311bcb1cea79160bafcda88a0809e822f60f4c4c27d135b95b9ac65af0fad3d80f96f5765f04e3bfb6eee82203c67967d38856e218bff630a
+DIST firefox-98.0.2-pt-PT.xpi 547538 BLAKE2B 8d6f6575cd551664595fdc44360f16bc145002e1abd0bf0942c23c6cc78ddbfea4be6ffef7bf66c60672f7e3262790188447d50af56d52f11d9643abad804561 SHA512 c635881c271dff5e60eacf0f20b791104111ec6608eca3adbb91801dedec33ae57c6cb61c86791adcb9652c61a7f22bb551e4c67082f8292ac05cf3fddf3ba1b
+DIST firefox-98.0.2-rm.xpi 538511 BLAKE2B 3555f2bb3ca372f2d0016aff186aad9e76438aac10c7ef1a503027b1afc9cbc29fffdf3132b13c9d0356a6189356352cdc3443b9951255b3fec9fa2c1c3f74de SHA512 b1b7086452d9a8a8d21d035dbf2af60870e66e4c2471b21129b82a8738b4b88ec8cd776ff9fe49dc42d9803cc1fe5150b554e220aed0d43134a2576c4ab38df7
+DIST firefox-98.0.2-ro.xpi 527827 BLAKE2B 61015f70af0691dc67003ffcd9a58a4a20e5efefd1c8d6ca830c878c5787c21c97f3b7ee352edf054fd7e3f51c994042a1d4c0300bf3254e743cc514ceea7e0d SHA512 32bb74227a3265a08187478ea0dac05122413e079daf0c2fb0b3d21c68a3f12d325ad76510310c49e141083b0edf1a5a1037ab089d0e599119f5e653bc680fc9
+DIST firefox-98.0.2-ru.xpi 630438 BLAKE2B c93d1ee6ee3110c71434b956f89f9b31b5e3594a91f639fcc9d95e614687af5853bfd0067e99ad90cb3903be907a922945f269ac923166e7ae3240fe823a8f38 SHA512 4fca37578db3cac11c621e6da125ba4769a107ffaf8d6cbd59f5b4930d42be7012096ca52fdbdc5cf0fefa26828790ce1c6a43df374fe2af4134154a16792dbc
+DIST firefox-98.0.2-sco.xpi 500798 BLAKE2B 5000488ef91aca0cfdddd9d4e91b7aedcba31963342f301ccd534b99e59bb273bf8db694a4b562f93b9e49deaa4d161a69a2b7775724a31fdbef77505bc35d4c SHA512 ece38e3ae3168d222a859ebe465543dc61ad332799b0d3138700750f166aca0553f9940b840eaedbe998593a4b8490c1e7e65d4eba1820c102084184a21bdadd
+DIST firefox-98.0.2-si.xpi 481253 BLAKE2B ec8b59d9c8b7ce524646f49ffea1fd29a0bd40228f57a5453f0078193c09435e67937996cfef646b0d3fca8e2bfd2688ac330b0f0542f14eb87823f656a89832 SHA512 1099e3c837d0d974855504547bc165a969822e35c432c7f10cce291f52f4d60c832adcfc7f007743347b8f72cc971a04364f5ff45a0a9a38cbdc0dcb34024260
+DIST firefox-98.0.2-sk.xpi 568210 BLAKE2B 920a602460f2a9e11d20560073e99d506a7c671fe417ab8a9b54995156f69fa1cebef798c4f384572b79f0dd13e0fcf1124891310a7b72f6635d5cc2b8d31540 SHA512 127e79c17e7ab61cda0eab7db66565553e20c51d8a5e542e7e34110e82f25dcc566da6aefed9af1fc1366490073a652110411cc19898631b2ca3c65068848d42
+DIST firefox-98.0.2-sl.xpi 539540 BLAKE2B f1256cd675c84adfa9d8843b83512c5c7f430bf020924d764a434df0cada0fcde67554137dcd2087be2d3d738a466b1312e3b14dd33b3a8192cff6908ee321cd SHA512 46a03daff3cb1eb4bb9ffd79ff97fb435de48909a401c051848b78fd66850df713eaf1fc4913f6035fa1d6eca4fd810a470ab7b20be19beb374ecfa97107f1d1
+DIST firefox-98.0.2-son.xpi 416599 BLAKE2B 41a7c55cf2795136ec8050b459c3fa21ceb80fe3c6e17ceee7817668c527c2562d476e03ae8d53713703aaa27d6fe650d9d07abe703bb822e149e9836ccade35 SHA512 5835a19bb75c47220156a0b4e50f919500f13249f9edf2e63679edc88721e277e8a20f9316db826c51ad2eab02751b72f82de24910afe4eeecd9dd120acb90ab
+DIST firefox-98.0.2-sq.xpi 557458 BLAKE2B 04887558ce03d3e5caada49d5a3e4bf1daeda1089912cbf648b1fa54db94048a68b997c4cc65139f5e1a679bd8dcd77b268451464bddc680679223128f4dfb47 SHA512 c085a17901ee43f30bd1d0cf4788cb2d27e7bcf943482df90a594bb875b7f7eb3c368a8b2041513c1112acd31dab6893529e1723d596c71389ebf44854e9346f
+DIST firefox-98.0.2-sr.xpi 584453 BLAKE2B 3c5b3ffd5639b3b13344a08f762c7f70b5a669a5c4fa1307080764453b57ee9b6333906b90c5ae8dbcae86356b1b31362da2ce5ee96246cf4d605bd545b00a7d SHA512 28d381b2f131e904dc8f42b08b82dcfc254fdca647bf66464d2a21f45bb3cc134a944fbc15fe692175021b68721b79de5b86d6373cee7901f7f4c971efabef88
+DIST firefox-98.0.2-sv-SE.xpi 541388 BLAKE2B f225d44cf14682817593675a4ba5df40f6755775c8590d366e37d54cc2b90ff8e84c516512f87dd90afbdf061dd78fec27c7bfcc08844a3b6596bc7ac890b28f SHA512 aa89ccdcf42c417cd28d3761c216178c25dbc134909e705fdbcb06ba702e9838ee0f4f5353dfdb8bcfeb3f4499e5bb32dbf2910a62952d7f9275ff1ce8a71528
+DIST firefox-98.0.2-szl.xpi 503398 BLAKE2B 471ae4b862f3c219fdfd77a8bae1f022d6576ae18bfe1caf4a780e534249db46ec2312e8539bee6cb493fa4afc16044dd6adbf2a996d99f4d906ec8d62f55158 SHA512 9479555a12a0edf7a4417b568dc2fa2250221347b4a4a84ac065a3c6d8083ce31c1f26ad8d231a2766f1801c71346411abfd9deef4d62305cf0b06ce029d6082
+DIST firefox-98.0.2-ta.xpi 508282 BLAKE2B 19e621c6442ac0ea55ef55cb85ee9b9c527d00925193904473648dd77f07cf936827af70c675bdfbd20f6442996a3701ff0609e87f37f3b565e4d66813c099b9 SHA512 4d8c8b8f77bc275653b97357d44157408f075b2a506bf5fa69718bfa9b74293cea794375ab61da0ce8b35455530de6b261a62a1fb3b2c9e2307c46fdd0f450e7
+DIST firefox-98.0.2-te.xpi 546052 BLAKE2B b17698fca8755229d25894ab627e0ed38cc988188627b3833f28d2dfbc4b122fe9bcdb5f23a387b750acac2b62c5903250ba1cd8b9e9f210018b82932b8e8614 SHA512 fd0817da6a531cbbc8db743aabfbcd8ec3774e92e26f0de58a52e053ff3fc9dde51ad81b1837d30daddfec9ef02ad9c8a351e3262f7aa503c67bde0f427294ca
+DIST firefox-98.0.2-th.xpi 606217 BLAKE2B 517f3b635ce474d299411d08ede26c2a8cfd8cb0b0b8af5fde2788486c95821c09ed0f90538ced86c35334525acf19debde06f04b088b4e988bd4310f998317d SHA512 9e089c8fd664066007b7802c2dd50c7010b32cfccd8666bb08ed108ec3fa8c3f46f4c7515a168d6b2b7a70d08b7bb242af86783b1c58b2ec8800762c8fb3c120
+DIST firefox-98.0.2-tl.xpi 517831 BLAKE2B d7ef1be200d7cf32a0d3c0f6a6f0b352d364e729068474af306a48f340ad42e79738b9f4bd48faf1fa070a6a589bfeed40d9a547a64533b4d423bcdac825a50e SHA512 b9b25deec30802038413cece40579a2d605472928adfba070e5323341148bb7593a3dc64be47e28e4c0b7a76ccdf287d05c39f93c65e58f7e67f6e79a8bd9ab3
+DIST firefox-98.0.2-tr.xpi 555798 BLAKE2B e6ad419745ccb0734cc13012e80c2c630fb21c97bc3abb6620f53ea9b20c1f492f20cfda4a048b4a7ec12798eac00570e218ce502daa9b1295ee60c69efa05be SHA512 0dc586c4604b7983e7acda3eda77ef6b2df7c8164a1e5c49c50bfcf090ce047701d80edb58ebf20a947ea21e369bda9b794ec1584d95be2927e15a367e5ecec9
+DIST firefox-98.0.2-trs.xpi 486924 BLAKE2B 9788470ee9218e54da4df5e4f032db9bd1cb5dbbde314b7824a1172b40bc0d0c6a271febf3ca9c3cb56a930ff6826b766a6d6c741ddba2118bf49cec7bb9803c SHA512 998cf96223f12cb57dbf85503923c5f5176e4f464e0a6de3d8cfdb4bce9d7fdc8e29762c8e1d9658cd28e40f179054b49537ac6395dd9efd8a432ce0fd187c2e
+DIST firefox-98.0.2-uk.xpi 623998 BLAKE2B 1a571ed1e5ed14114271f06f817e57155c5fd4b9b6a60ae710ce985ce631bc305cf43762b161bc4f40629f982c1bccbd477b30b64717d764d1df4e25b42b5f8c SHA512 236b990e7d088d3da94253eaacccc7fa2166740ab6af7ef67072c6753ce05ef2a31269ad6244a05fdcca421a02967ed571c39c80528b92458714309ac55ceb41
+DIST firefox-98.0.2-ur.xpi 555134 BLAKE2B 1121f6ce2a3ab97cc0335a53ed765dfb1e2fbd3f8d719bd58fbcf71ba812f8f96c224ac93771de8745e1c909c06689f6e151567988f89af89d6c7f727dd22491 SHA512 fb0b9fbcc88df32d698a962eb9b7b864cd697e5465b263027c4bdb8191b14d290624613da97354d3891ec6e86296cb854f0c9821df209f58d9a6cafef0f982d6
+DIST firefox-98.0.2-uz.xpi 473470 BLAKE2B d0685df6894dbd32120448e29fbdbb0b4c5eb852908cc248f0e1ab44bf615aca323d006902f593b1319d7f96a41da0dbd6573e49f6771e5c95813a5f95e01687 SHA512 12c60b17f319a1d57131d531fe3a679e7ac1e71966b7be5d849b1b9216dcfd21104d4f859629db91b1493aa31670edd82bc3f579663b5a03cb457bb5af26bb69
+DIST firefox-98.0.2-vi.xpi 575140 BLAKE2B 89d85c9bfdef5eee889747f2891c3a7f9d26c1c37235b39d72b5979f0de5684ac8d800136082d3fa451779f6ad773edd963076cdda060d7cefdf142efcff5f47 SHA512 016739acb2ee994e30b0f8c96ee29d2528e1bd75344e314da93986e389c67495f3e610065b049582000561eb12fc5eea704f36e44f84fad70b0a8e9830c14837
+DIST firefox-98.0.2-xh.xpi 418712 BLAKE2B f4487c2fa0ce8a7d6a098ca1c71f0d67d86825dc4302c0ec5bd977d910a1a60915c40e1b62d551f40344d4b00513bfa6d0b2c364666468903cbcd3781b209c40 SHA512 6184c166104b87ba036e8ec6ab2f8c46c8b139800dc5cc3cf516eb1a9555e5c9a1b41cbdf520a6546b965b339c49d23d3dfa2ae40841943a65eab3dfd433617d
+DIST firefox-98.0.2-zh-CN.xpi 576898 BLAKE2B 7fd46fc40d47895b9667c1fa9e06cd30151a14b1b757430de8bf4f6f34a20896ea9c231b1d8173da4774e37ec0d0cab5bec69b5f178c27958e481810a137f3bb SHA512 f27dc78f853cfa4ee34964096b80a6b1f19ddc5f8a8e2f3bc5c8d15f95112ff99194ef7dbb97a1fc9d23f553166601670a5a01407bb515518fbc8e338b2744a9
+DIST firefox-98.0.2-zh-TW.xpi 577898 BLAKE2B 271fb14f82b014f6d9705380df3eaa739d432b7edf58bc14126b5a02950e55a88e16d2e6b70eab59f8eff2ebdbc3411eb37bacdbc459358cb89264bf6d3b7012 SHA512 68b2a143750c4bbe268c02ff9b3028955151033a89ad698ad8a761d5f90b34e5fe75ed3e604e1b5c03b68fba55af470c6c92da80674516da9d627c7aa9ad4ecd
+DIST firefox-98.0.2.source.tar.xz 479907760 BLAKE2B 41b0237acbc061366927612472aece6559ba48b8073eae6b0f79a5f00f21a232e092ef0a332cfded1ca5cf4b6bcd9cddc1ff78236ff3fe883960092e98a9497e SHA512 b567b53fcdc08491063d535545f558ea56ec5be02ca540661de116986245b79f509e0103cea5661faf9f4b3d30b67758ebdb4b30401e260ee27cbb300203f36e
diff --git a/www-client/firefox/firefox-98.0.2.ebuild b/www-client/firefox/firefox-98.0.2.ebuild
new file mode 100644
index 0000000..4b45248
--- /dev/null
+++ b/www-client/firefox/firefox-98.0.2.ebuild
@@ -0,0 +1,1256 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+FIREFOX_PATCHSET="firefox-98-patches-04j.tar.xz"
+
+LLVM_MAX_SLOT=13
+
+PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="pgo"
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
+ llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
+ virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~{juippis,polynomial-c,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+SLOT="rapid"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
+IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png +system-webp"
+IUSE+=" wayland wifi"
+
+# Firefox-only IUSE
+IUSE+=" geckodriver"
+IUSE+=" +gmp-autoupdate"
+IUSE+=" screencast"
+
+REQUIRED_USE="debug? ( !system-av1 )
+ pgo? ( lto )
+ wayland? ( dbus )
+ wifi? ( dbus )"
+
+# Firefox-only REQUIRED_USE flags
+REQUIRED_USE+=" screencast? ( wayland )"
+
+BDEPEND="${PYTHON_DEPS}
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.19.0
+ >=net-libs/nodejs-10.23.1
+ virtual/pkgconfig
+ >=virtual/rust-1.57.0
+ || (
+ (
+ sys-devel/clang:13
+ sys-devel/llvm:13
+ clang? (
+ =sys-devel/lld-13*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:12
+ sys-devel/llvm:12
+ clang? (
+ =sys-devel/lld-12*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:11
+ sys-devel/llvm:11
+ clang? (
+ =sys-devel/lld-11*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
+ )
+ )
+ )
+ amd64? ( >=dev-lang/nasm-2.14 )
+ x86? ( >=dev-lang/nasm-2.14 )"
+
+COMMON_DEPEND="
+ >=dev-libs/nss-3.75
+ >=dev-libs/nspr-4.32
+ dev-libs/atk
+ dev-libs/expat
+ media-libs/alsa-lib
+ >=media-libs/mesa-10.2:*
+ media-libs/fontconfig
+ >=media-libs/freetype-2.9
+ virtual/freedesktop-icon-theme
+ >=x11-libs/pixman-0.19.2
+ >=dev-libs/glib-2.42:2
+ >=sys-libs/zlib-1.2.3
+ >=dev-libs/libffi-3.0.10:=
+ media-video/ffmpeg
+ >=x11-libs/cairo-1.10[X]
+ >=x11-libs/gtk+-3.4.0:3[X]
+ x11-libs/gdk-pixbuf
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXtst
+ x11-libs/libxcb:=
+ >=x11-libs/pango-1.22.0
+ dbus? (
+ sys-apps/dbus
+ dev-libs/dbus-glib
+ )
+ libproxy? ( net-libs/libproxy )
+ screencast? ( media-video/pipewire:= )
+ system-av1? (
+ >=media-libs/dav1d-0.9.3:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-libs/harfbuzz-2.8.1:0=
+ >=media-gfx/graphite2-1.3.13
+ )
+ system-icu? ( >=dev-libs/icu-70.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
+ system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
+ system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+ system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ wifi? (
+ kernel_linux? (
+ sys-apps/dbus
+ dev-libs/dbus-glib
+ net-misc/networkmanager
+ )
+ )
+ jack? ( virtual/jack )
+ selinux? ( sec-policy/selinux-mozilla )
+ sndio? ( media-sound/sndio )"
+
+RDEPEND="${COMMON_DEPEND}
+ !www-client/firefox:0
+ !www-client/firefox:esr
+ jack? ( virtual/jack )
+ openh264? ( media-libs/openh264:*[plugin] )
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4
+ )
+ )
+ selinux? ( sec-policy/selinux-mozilla )"
+
+DEPEND="${COMMON_DEPEND}
+ x11-libs/libICE
+ x11-libs/libSM
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
+ amd64? ( virtual/opengl )
+ x86? ( virtual/opengl )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+ MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang ; then
+ if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
+ einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use pgo ; then
+ if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
+ einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+ af ar ast be bg br ca cak cs cy da de dsb
+ el en-CA en-GB en-US es-AR es-ES et eu
+ fi fr fy-NL ga-IE gd gl he hr hsb hu
+ id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+ pa-IN pl pt-BR pt-PT rm ro ru
+ sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+# Firefox-only LANGS
+MOZ_LANGS+=( ach )
+MOZ_LANGS+=( an )
+MOZ_LANGS+=( az )
+MOZ_LANGS+=( bn )
+MOZ_LANGS+=( bs )
+MOZ_LANGS+=( ca-valencia )
+MOZ_LANGS+=( eo )
+MOZ_LANGS+=( es-CL )
+MOZ_LANGS+=( es-MX )
+MOZ_LANGS+=( fa )
+MOZ_LANGS+=( ff )
+MOZ_LANGS+=( gn )
+MOZ_LANGS+=( gu-IN )
+MOZ_LANGS+=( hi-IN )
+MOZ_LANGS+=( hy-AM )
+MOZ_LANGS+=( ia )
+MOZ_LANGS+=( km )
+MOZ_LANGS+=( kn )
+MOZ_LANGS+=( lij )
+MOZ_LANGS+=( mk )
+MOZ_LANGS+=( mr )
+MOZ_LANGS+=( my )
+MOZ_LANGS+=( ne-NP )
+MOZ_LANGS+=( oc )
+MOZ_LANGS+=( sco )
+MOZ_LANGS+=( si )
+MOZ_LANGS+=( son )
+MOZ_LANGS+=( szl )
+MOZ_LANGS+=( ta )
+MOZ_LANGS+=( te )
+MOZ_LANGS+=( tl )
+MOZ_LANGS+=( trs )
+MOZ_LANGS+=( ur )
+MOZ_LANGS+=( xh )
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -ne 1 ]] ; then
+ die "${FUNCNAME} requires exact one argument"
+ fi
+
+ einfo "Clearing cargo checksums for ${1} ..."
+
+ sed -i \
+ -e 's/\("files":{\)[^}]*/\1/' \
+ "${S}"/third_party/rust/${1}/.cargo-checksum.json \
+ || die
+}
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+mozconfig_add_options_ac() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_add_options_mk() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_use_enable() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_enable "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+mozconfig_use_with() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_with "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server can not run as root!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6500M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_setup
+
+ llvm_pkg_setup
+
+ if use clang && use lto ; then
+ local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+ [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+ [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+ local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+ [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+ [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+
+ if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+ eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+ eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+ eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
+ eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+ eerror " - Build ${CATEGORY}/${PN} without USE=lto"
+ die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+ fi
+ fi
+
+ if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
+ && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
+ # bug 792705
+ eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
+ die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
+ fi
+
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if use pgo ; then
+ # Allow access to GPU during PGO run
+ local ati_cards mesa_cards nvidia_cards render_cards
+ shopt -s nullglob
+
+ ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
+ if [[ -n "${ati_cards}" ]] ; then
+ addpredict "${ati_cards}"
+ fi
+
+ mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
+ if [[ -n "${mesa_cards}" ]] ; then
+ addpredict "${mesa_cards}"
+ fi
+
+ nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
+ if [[ -n "${nvidia_cards}" ]] ; then
+ addpredict "${nvidia_cards}"
+ fi
+
+ render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
+ if [[ -n "${render_cards}" ]] ; then
+ addpredict "${render_cards}"
+ fi
+
+ shopt -u nullglob
+ fi
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+ MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+
+ if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+ MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+ fi
+
+ # Mozilla API keys (see https://location.services.mozilla.com/api)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+ MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+
+ CONFIG_CHECK="~SECCOMP"
+ WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
+ linux-info_pkg_setup
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_prepare() {
+ use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # Make LTO respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure \
+ || die "sed failed to set num_cores"
+
+ # Make ICU respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/intl/icu_sources_data.py \
+ || die "sed failed to set num_cores"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+ || die "sed failed to set toolchain prefix"
+
+ sed -i \
+ -e 's/ccache_stats = None/return None/' \
+ "${S}"/python/mozbuild/mozbuild/controller/building.py \
+ || die "sed failed to disable ccache stats call"
+
+ einfo "Removing pre-built binaries ..."
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # Clearing checksums where we have applied patches
+ moz_clear_vendor_checksums target-lexicon-0.9.0
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+ echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
+ echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+ xdg_src_prepare
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ local have_switched_compiler=
+ if use clang && ! tc-is-clang ; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+ have_switched_compiler=yes
+ AR=llvm-ar
+ AS=llvm-as
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
+
+ # Pass the correct toolchain paths through cbindgen
+ if tc-is-cross-compiler ; then
+ export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
+ fi
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set state path
+ export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=browser
+
+ # Set Gentoo defaults
+ export MOZILLA_OFFICIAL=1
+
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-install-strip \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-updater \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-ffi \
+ --enable-system-pixman \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --without-wasm-sandboxed-libraries \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system \
+ --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
+ --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+ if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ # For future keywording: This is currently (97.0) only supported on:
+ # amd64, arm, arm64 & x86.
+ # Might want to flip the logic around if Firefox is to support more arches.
+ if use ppc64; then
+ mozconfig_add_options_ac '' --disable-sandbox
+ else
+ mozconfig_add_options_ac '' --enable-sandbox
+ fi
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google API key ..."
+ fi
+
+ if [[ -s "${S}/api-location.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-location-service-api-keyfile="${S}/api-location.key"
+ else
+ einfo "Building without Location API key ..."
+ fi
+
+ if [[ -s "${S}/api-mozilla.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+ else
+ einfo "Building without Mozilla API key ..."
+ fi
+
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-harfbuzz system-graphite2
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libevent
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-png
+ mozconfig_use_with system-webp
+
+ mozconfig_use_enable dbus
+ mozconfig_use_enable libproxy
+
+ use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+ mozconfig_use_enable geckodriver
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+ fi
+
+ mozconfig_use_enable jack
+
+ mozconfig_use_enable pulseaudio
+ # force the deprecated alsa sound code if pulseaudio is disabled
+ if use kernel_linux && ! use pulseaudio ; then
+ mozconfig_add_options_ac '-pulseaudio' --enable-alsa
+ fi
+
+ mozconfig_use_enable sndio
+
+ mozconfig_use_enable wifi necko-wifi
+
+ if use wayland ; then
+ mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
+ else
+ mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
+ fi
+
+ if use lto ; then
+ if use clang ; then
+ # Upstream only supports lld when using clang
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+
+ mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+ else
+ # ThinLTO is currently broken, see bmo#1644409
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ fi
+
+ if use pgo ; then
+ mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+ if use clang ; then
+ # Used in build/pgo/profileserver.py
+ export LLVM_PROFDATA="llvm-profdata"
+ fi
+ fi
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # This is upstream's default
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
+ else
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ fi
+ fi
+
+ # LTO flag was handled via configure
+ filter-flags '-flto*'
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ else
+ if is-flag '-g*' ; then
+ if use clang ; then
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
+ else
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
+ fi
+ else
+ mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
+ fi
+
+ if is-flag '-O0' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
+ elif is-flag '-O4' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
+ elif is-flag '-O3' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
+ elif is-flag '-O1' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
+ elif is-flag '-Os' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
+ else
+ mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
+ fi
+ fi
+
+ # Debug flag was handled via configure
+ filter-flags '-g*'
+
+ # Optimization flag was handled via configure
+ filter-flags '-O*'
+
+ # Modifications to better support ARM, bug #553364
+ if use cpu_flags_arm_neon ; then
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
+
+ if ! tc-is-clang ; then
+ # thumb options aren't supported when using clang, bug 666966
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' \
+ --with-thumb=yes \
+ --with-thumb-interwork=no
+ fi
+ fi
+
+ if [[ ${CHOST} == armv*h* ]] ; then
+ mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
+
+ if ! use system-libvpx ; then
+ sed -i \
+ -e "s|softfp|hard|" \
+ "${S}"/media/libvpx/moz.build \
+ || die
+ fi
+ fi
+
+ if use clang ; then
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
+ # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
+ local disable_elf_hack=
+ if use amd64 ; then
+ disable_elf_hack=yes
+ elif use x86 ; then
+ disable_elf_hack=yes
+ elif use arm ; then
+ disable_elf_hack=yes
+ fi
+
+ if [[ -n ${disable_elf_hack} ]] ; then
+ mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
+ fi
+ elif tc-is-gcc ; then
+ if ver_test $(gcc-fullversion) -ge 10 ; then
+ einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
+ append-cxxflags -fno-tree-loop-vectorize
+ fi
+ fi
+
+ # Additional ARCH support
+ case "${ARCH}" in
+ arm)
+ # Reduce the memory requirements for linking
+ if use clang ; then
+ # Nothing to do
+ :;
+ elif use lto ; then
+ append-ldflags -Wl,--no-keep-memory
+ else
+ append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
+ fi
+ ;;
+ esac
+
+ if ! use elibc_glibc ; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ # Allow elfhack to work in combination with unstripped binaries
+ # when they would normally be larger than 2GiB.
+ append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export MACH_USE_SYSTEM_PYTHON=1
+ export MACH_SYSTEM_ASSERTED_COMPATIBLE_WITH_MACH_SITE=1
+ export MACH_SYSTEM_ASSERTED_COMPATIBLE_WITH_BUILD_SITE=1
+ export PIP_NO_CACHE_DIR=off
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support arguments
+ mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if use pgo ; then
+ virtx_cmd=virtx
+
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+ fi
+
+ local -x GDK_BACKEND=x11
+
+ ${virtx_cmd} ./mach build --verbose \
+ || die
+}
+
+src_install() {
+ # xpcshell is getting called during install
+ pax-mark m \
+ "${BUILD_DIR}"/dist/bin/xpcshell \
+ "${BUILD_DIR}"/dist/bin/${PN} \
+ "${BUILD_DIR}"/dist/bin/plugin-container
+
+ DESTDIR="${D}" ./mach install || die
+
+ # Upstream cannot ship symlink but we can (bmo#658850)
+ rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+ dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+ # Don't install llvm-symbolizer from sys-devel/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r1 \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+ fi
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ einfo "Disabling auto-update for ${plugin} plugin ..."
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
+ pref("media.${plugin}.autoupdate", false);
+ EOF
+ done
+ fi
+
+ # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
+ if use system-harfbuzz ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
+ sticky_pref("gfx.font_rendering.graphite.enabled", true);
+ EOF
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+
+ # Install geckodriver
+ if use geckodriver ; then
+ einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
+ pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/geckodriver
+
+ dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/browser/branding/official"
+ local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
+
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menu
+ local app_name="Mozilla ${MOZ_PN^}"
+ local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+ local desktop_filename="${PN}.desktop"
+ local exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" \
+ || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+
+ # Install wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+ # Update wrapper
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+ -e "s:@APULSELIB_DIR@:${apulselib}:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" \
+ || die
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+ # does not need to be forced into the LD_LIBRARY_PATH
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ einfo "APULSE found; Generating library symlinks for sound support ..."
+ local lib
+ pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+ for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+ # A quickpkg rolled by hand will grab symlinks as part of the package,
+ # so we need to avoid creating them if they already exist.
+ if [[ ! -L ${lib##*/} ]] ; then
+ ln -s "${lib}" ${lib##*/} || die
+ fi
+ done
+ popd &>/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ elog "\t ${plugin}"
+ done
+ elog
+ fi
+
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ elog "Apulse was detected at merge time on this system and so it will always be"
+ elog "used for sound. If you wish to use pulseaudio instead please unmerge"
+ elog "media-sound/apulse."
+ elog
+ fi
+
+ local show_doh_information
+ local show_normandy_information
+ local show_shortcut_information
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ # New install; Tell user that DoH is disabled by default
+ show_doh_information=yes
+ show_normandy_information=yes
+ show_shortcut_information=no
+ else
+ local replacing_version
+ for replacing_version in ${REPLACING_VERSIONS} ; do
+ if ver_test "${replacing_version}" -lt 91.0 ; then
+ # Tell user that we no longer install a shortcut
+ # per supported display protocol
+ show_shortcut_information=yes
+ fi
+ done
+ fi
+
+ if [[ -n "${show_doh_information}" ]] ; then
+ elog
+ elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
+ elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
+ elog "DNS traffic to Cloudflare by default is not a good idea and applications"
+ elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
+ elog "(\"Off by choice\") by default."
+ elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
+ fi
+
+ # bug 713782
+ if [[ -n "${show_normandy_information}" ]] ; then
+ elog
+ elog "Upstream operates a service named Normandy which allows Mozilla to"
+ elog "push changes for default settings or even install new add-ons remotely."
+ elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
+ elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
+ elog "concerns prevail, which is why we have switched off the use of this"
+ elog "service by default."
+ elog
+ elog "To re-enable this service set"
+ elog
+ elog " app.normandy.enabled=true"
+ elog
+ elog "in about:config."
+ fi
+
+ if [[ -n "${show_shortcut_information}" ]] ; then
+ elog
+ elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
+ elog "each supported display protocol. Instead we will only install"
+ elog "one generic Mozilla ${PN^} shortcut."
+ elog "If you still want to be able to select between running Mozilla ${PN^}"
+ elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
+ fi
+
+ # bug 835078
+ if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
+ ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
+ ewarn "enabled for Firefox. Nouveau / your GPU might not supported the "
+ ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
+ ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
+ fi
+}