diff options
author | Thomas Deutschmann <whissi@gentoo.org> | 2021-08-24 14:08:00 +0200 |
---|---|---|
committer | Thomas Deutschmann <whissi@gentoo.org> | 2021-08-24 14:52:04 +0200 |
commit | 70d179391eeaa9ff904ebaa1d8a0b28653ae3076 (patch) | |
tree | 54c5e093daee0eb78895f8a7a89fb87c239ddf35 /www-client | |
parent | media-sound/tapestrea: Remove last-rited package (diff) | |
download | gentoo-70d179391eeaa9ff904ebaa1d8a0b28653ae3076.tar.gz gentoo-70d179391eeaa9ff904ebaa1d8a0b28653ae3076.tar.bz2 gentoo-70d179391eeaa9ff904ebaa1d8a0b28653ae3076.zip |
www-client/firefox: bump to v91.0.2
Package-Manager: Portage-3.0.22, Repoman-3.0.3
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
Diffstat (limited to 'www-client')
-rw-r--r-- | www-client/firefox/Manifest | 99 | ||||
-rw-r--r-- | www-client/firefox/firefox-91.0.2.ebuild | 1149 |
2 files changed, 1248 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 6bb50419f87d..320fb5f86c14 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -292,6 +292,7 @@ DIST firefox-90.0.2-zh-TW.xpi 588723 BLAKE2B 295e5ebb3f810f1ab8b66f301ee5fcd67d1 DIST firefox-90.0.2.source.tar.xz 380670372 BLAKE2B 782e548663d3538d834feeea54c9fa54ff5580472b967bb60be331e591b782fff2a6877f2e8db29511ac4b4b3dff847f30dc8f0a8333ece3d4156d6ac10a723d SHA512 4fda0b1e666fb0b1d846708fad2b48a5b53d48e7fc2a5da1f234b5b839c55265b41f6509e6b506d5e8a7455f816dfa5ab538589bc9e83b7e3846f0f72210513e DIST firefox-91-patches-01.tar.xz 22352 BLAKE2B 2761467fed0a288f5ed58a2806eb73a00ae91f35d62284b48adf39898603a1dade82f7fc9a98a6154ee580fa7b010dc4bc2e656e6505bf9e3682c23698d02829 SHA512 1149e413af3fea1756754fe7ce6a273b00f07918074e16576d25113408e9c5a99cebb7e3a5195ff8dda343b8249e90b2778186d103a88f117ca7a3ac50ffa968 DIST firefox-91-patches-02.tar.xz 22332 BLAKE2B d323054441c9383ccc88b0522cd2a8732df19af670aab6e57689a69f299ed97fe8cfeda0aff8dc7353d591705ce2c42957b21da1f449a58145d9343474d35f2d SHA512 f70665c4dcf19b67ee7305fc3d683c03817e7089188a5033a6fe9ee32074820876b52e0bd32f585e1e5cb14e2fa4bcd1cf9928dab6f74f6753b4bf18919537c5 +DIST firefox-91-patches-03.tar.xz 22948 BLAKE2B b65585a1c84000872ce675cd531033522cd7ec7e3d3c4bb660269709f02944e8d88cc76c3b9b0059cf3ca85a3caad22168cf607aa1f4f2426eb0dd161b5ea249 SHA512 e970f8fda3257b871f3d8f1e185724ebdf5b4d91bfba6061a777242b7aee5a613fa4450af4f758c0f440d09483e65ca48ae79c91e040ba9c5e63d32d329a7187 DIST firefox-91.0-ach.xpi 465289 BLAKE2B 5caa3a3103616976d61880b893e48c5d5e425b409702b8cbd327a1111e1e359fa0341894500351fe24cc73deb8e7228b009e36332642c12d3afa92f9bc79c76c SHA512 42ca4fa331f7a53171717831bc3309782f7cd91ff2a91a7d8169b04efa8896b200cb2937e4365f0413f74cac71c7c5a41085d4716beb9bf39b70f3f1993457c1 DIST firefox-91.0-af.xpi 433157 BLAKE2B 054cf19dbe8bead4d2a88ad5e8a2c6ad21569af45a10be1dddf7d44b179017fcb5575fe26063740bdc59b6b411e5decf2658bdc266f6bcb642207abf543bd9e5 SHA512 a7d07c25cee103086992e106f1448d6a5f7b614755045e6cc8d7e165a289bc7675034dc85be171a3677739fb9d88c38b5f5cdec58f120a129a022369185f8492 DIST firefox-91.0-an.xpi 511816 BLAKE2B 4ded8e0e43194412cd7641af85f238165a6b5a3d0d215ba913665efec8d172f940207320c75b4d38243d9a6a23d9ed9fbf01dd7ca78daf81dd7ebb480d34b396 SHA512 4edaa0cb4f24b0bf20be96f95fba5d9cacf29d47cd9f93b95c8a4314bae50901bdd4031277ac596a2a2b5077b52faccd21a73c4db1481c3501671f5c65c13922 @@ -485,4 +486,102 @@ DIST firefox-91.0.1-xh.xpi 435057 BLAKE2B 02b8cd6ccd064c43111158efc842f305b497af DIST firefox-91.0.1-zh-CN.xpi 581947 BLAKE2B e536cd392e3eb452f7de9bb708974412e9e34f862fb9213917df4317f331005f29300e7a486302584a8c2e59c03088b8f4a1e3d780549e9006a62f22a495fdf3 SHA512 d2f1767782b9f9a3dd545bc3fd98c08da3fc9d4809c5eaed088518e0fb766813acfb498442486768aa90f0ecc9ed9e787b805a268c6a03a8ec381493ed694e4a DIST firefox-91.0.1-zh-TW.xpi 582122 BLAKE2B 1cc357c92eb9a3ea42fc1c30e9aec966b6368a6c0ca60fa41415ff561d86cfb7e5bfaecbc69bc99b2e0ea8d93f0026c0c48b41b0fe06df5b784eb76bdf25583e SHA512 9927feb39e7bf343414065d0ed8e308e9c754c393d59d0ad7fdc8a743d20d7eeb315b1fd0a8f5e004968d99ce2fb1cac3344ac973ecb31257ad8052612cd0f73 DIST firefox-91.0.1.source.tar.xz 389052264 BLAKE2B 5372d65561ef5f52b2d71d8b9401c2402413fb5bc027167356bb491ca3c979a5516da11f9b855a1d796146640a9f1308e808218099cfd64f9c3e61578dfaf348 SHA512 9388789bfe3dca596542b082d0eca7b1a6d1bbbf69eb97cc445f563d1a5ff0c9b530f3be02ee290805e311b0fcb392a4f5341e9f256d9764a787b43b232bdf67 +DIST firefox-91.0.2-ach.xpi 465284 BLAKE2B 1827b3beb7ee055d363f3d993a02a732363e0a8f37cf9ca15fd97f0702779a7a1a2ff4a7594b3c85034db42f3b50124b4cdf1e2b38e0fb01f1a7ee16f83f00e5 SHA512 6f9016adcce981dfe122282e5806ea690e615af4c2542f996813eeeea81bea81ec87eac38f12baf9e0daad19af546a65753fdedc1cb715ee93ab30250dd8ba78 +DIST firefox-91.0.2-af.xpi 433156 BLAKE2B ea445ac7e7b0080ee0b454a6839ef378359945b9aa6fe9c8e99accb8343982127cb42d64a7ffc1f24edd5f0358d3eedfbc58828bd1f3a37058ab41dd160db5fb SHA512 89866a7e818ecc53674b1bcebc7ef36af7b3ec8416cb8ad6b57f0ab4ad9a1445e99dd203aaa52631c5cbb9265adb9c13197abf593f0c5a4849660f40afa3e122 +DIST firefox-91.0.2-an.xpi 511823 BLAKE2B a0aee9d410bccda629ceae7cfb913519c31317bf2dae6290b36b764219154d4a7bc17dcabab0d7494b525edd374f5003f00acfada79d3efada0676a73c593963 SHA512 75a4a2ac929a629fa1392868abbdab4d3f86f94f93c15fa8f8029c84ad5c70054153a85b7fbdee47495a25efd7f829cad3992b3e87fcb950607a70fe58f1e48c +DIST firefox-91.0.2-ar.xpi 573962 BLAKE2B 7e7cd41eacdeca1773d3bf97a15270249b4514ca3ce30bf44d2ec3ac19394f0e1eb1f0fafe991ae850bd35fbcccfadcb9a469f6af9ffae7c4fae9a8d9c3ef22b SHA512 2dca2e3828a381c08e48f5cf05449a62ce41d2ee5e86e5d74c6f128458e2ef7f748d8e93486dc40b942330e2481dc836bec38caaa957d18b512a3b48421f914b +DIST firefox-91.0.2-ast.xpi 502953 BLAKE2B 129f446a8d4d7d704423426a22c2fc0fab4c11bab737f1395a8bb3f9b0b9071942e4d076e98fefd487f673da7f5fc7a7debd701764559132be8dcefc33328b5d SHA512 8af2bf2347ee42566c9e36872890212a08ec66c4b1d6eac97d43212d0b05617e5fdf8504eee6087344b4b4cff05b1b1e23b1433fa5fcfb9df6df7c0b8c57259e +DIST firefox-91.0.2-az.xpi 500888 BLAKE2B cfaf3f2be8c9c2a99c68c91ecb05e2526e0caf6e80bf955708d6c6f35e0eb789ed8865e2c0343830865a201defb42ae1a09df8895bd38a1bc92c25e573212e51 SHA512 2e25186f03ced1a2c817dc05bef502b5eb62a46e58a42ef31f5fc8b1a6747e57bd2c132987e08aa4aea30745130b818c2acee0a685fb506d51964f6ff9348823 +DIST firefox-91.0.2-be.xpi 630158 BLAKE2B b01908e7234c26ce6bd1093639e6ffb9f184fe6bc9b3389bc70a405109dca768f98135e22989e7e071d6e49a61d9e5102d14785073cec6f458eabcfe54c1ac33 SHA512 589dd1b63468f2f6e08b769680f8217f21d73a2b16257eedbd5f100e9d17591476a7572a04e89c3a14e9d63662fd62ef9c56e9d756c2172461af015ea7bef0ab +DIST firefox-91.0.2-bg.xpi 585089 BLAKE2B 6759da23207731cfc0ea46a14f64863c97aa8e1d4f030664819407a91c37b458b64a3fd6902f005c070aba5bb9c42f7dfd4f5752bde00277147670b728b647f8 SHA512 945b973fe302fbb7344e6152ae5680927ae4df45f9b836b79e9de89f0739a162a41565517db8591abe09762564ed07709c3b7175d89803df27b54c9308e5da2b +DIST firefox-91.0.2-bn.xpi 576482 BLAKE2B b3c12715a82cad54cd607c3ba4d97f8863850ba52bfd48395376f48d11b7fb2854de003a4c497cc5af06fee31e52d9e5ebf150f7c28085b0e5033a65ab69d7d7 SHA512 899f6c151b0133d18516247549651fc0a008d2f8a5a329976201f5d60192d3715907c56848933c3f03883bbac86b1e933414379bcf207ec4d3c9ed1639e3d745 +DIST firefox-91.0.2-br.xpi 534790 BLAKE2B 66f419ae8b34b69c76e192f603d7b68aea2e9883fc74e1f24cfc010a5465cd3750310b29d06d674d861d634117efcb09f18e9fb186c12131a80db00a5bd95540 SHA512 6f97876cfa656d181c819beae2ec0d08bb13901538df0e5cfa27abafcfe43660b49f1db9e4dea3ac2da38f3a7f5925341449ca50c71cfffdf24aed9e93a94120 +DIST firefox-91.0.2-bs.xpi 473101 BLAKE2B 6228b43cfb0397be9d0303b84c17338a338e4c84ee05e578714b9212812066d7209ca11bc80ab16308a53372b202fe60fccb7792e520e14a0c3e4d2edf9ce342 SHA512 d3cd6bb28e5adc4a8effa3907c4843813d583a2d4a04c5ba1371c9b9cd086c38158b7aa8baf2b91c1f917b60b79fc2214bc1b956cc12996ba1d0c58356d6b261 +DIST firefox-91.0.2-ca-valencia.xpi 543235 BLAKE2B 80fc2be3f773136a409cc231321b21db4a7fcf1c927d460c4c10cd47fb14bffb9915a3d792d49646ea1798f164a7a00c994aacd376cc11c2d7634fefcfbd88d8 SHA512 e0a6e8d39d11caff521aad0fed3416a16097190b102db40970c63070eac4723831a428425abf9d6a1c4fb47ee18ef63cc3a7ef829938b528646f3ac14a46edf1 +DIST firefox-91.0.2-ca.xpi 541005 BLAKE2B 411c713142c91d73902d09667a2ee058a8f13c2ce7dd2655655a63e349176f15d998625a63b1b37e497bc5ef053ee5165f8a4552738ea1b4d92f541e955d68c7 SHA512 782878ed186ddc0e64aaed91c66f02d4387b2493f81357d73e6a7c2f2f5612929f6d2fc955b927dd7d12ef5e18f9890589691ea834ce6232aa60474b11e66d75 +DIST firefox-91.0.2-cak.xpi 568042 BLAKE2B 24f066877199909cbc65ae213e53f53f9393347d8ed16c09c54e9dd2e344715ee004d273e8a8720b60f71f993a93b986d0db80434e66ad9aeb7d998553ef5491 SHA512 14be651ab88b951617ae1f60b35ab61f4241268d261d9cbe2604e11bf2c4d0a8ccbc16a4ef980d88865d84112c4ff1577e7002b57a4af3cc1d90ccbf0693eb21 +DIST firefox-91.0.2-cs.xpi 571515 BLAKE2B ec03024b6e69364913f952b4ba56b7c4695f5067c7bb1115d7c27b1cf8f04abc7bc5ed023c3c5a6c673ee99356bff23af160a5ae642e741cb2b98b637fc9ed99 SHA512 b47773ce2f19f5e44de7ba59d27b01a533641d54b0354a2d0c1b4e6455f9ad9b8485f72dd03d2081d7780c2221c154b117b0f14e6669b2774fb11b19e1fd798b +DIST firefox-91.0.2-cy.xpi 548289 BLAKE2B b0513e5f5eff768ad4061125a6de882a5046235115b115ec6da6e9d308b844a51482a189225c50906f675b7e47fa51cccd1028385ed69be809cc5ec22ef19ec7 SHA512 8eab5988490e1a0f396290f399ac47347bc269ea6ba6676a9e1ed6c52f9beb494687e1ee60eb1eb1b1a280be551c7c784a47925ce2652b4cac1cccd3712e14e2 +DIST firefox-91.0.2-da.xpi 540522 BLAKE2B 5c33f02e1940e8dbef839967276c9fe8fcc8011f814790825433c6960bb35e9d624af4c35d615516e43f5d65a2320266612d10516ff0d209ec49396f6154cd28 SHA512 50b8d81b568e1c29cabd304427ade67fae622d1a1af589773c148c9c2e45651baaba6b9707bbd54b1f103cbefcdd476ec5623773a9fb44fcb8c0a4377661e001 +DIST firefox-91.0.2-de.xpi 560089 BLAKE2B 47647865fa91e22e601b52ae2bcc8f2ac91619307551ef3dd260e258f7657d8ee164664eda40354a30e8c50be94402dca56b5ef9c53a2bc463c390130c8fd46b SHA512 8267c893cebec1cb3198045bbc5ec2cea821abbe8ade3488eec27b1d599d74de87df4396b686b509866f850dc3b996a0e665f8ff1e3b510f08fd8d7a9035b39d +DIST firefox-91.0.2-dsb.xpi 572860 BLAKE2B 49debcc4b22fc28e7bd2b951b59898f4d60070dffb50f851759161731dabed3b8750424cb5d5517c9f71ef7c203b1f26ff370dcc0fdeae11fdb2a9606be4571b SHA512 bc045c295d4a33507a4037003e3dc32cd632d88c31c89b10543e5ee57b733659bee5ebcb45629fadf79ace5c6a47fc3fd9cc06aa2e75ac43edc3d32bcd67fe0f +DIST firefox-91.0.2-el.xpi 646568 BLAKE2B 50a0fe00c2b14556f39d501232593289585213e66b65897f630e6688e1a3ab4b447ccd1634672148370c325712510e7dad884872360e8d8744db8901b51af849 SHA512 0e62e049b3a51ad1f2a2a95fa5ac62996a3e56a69a41355bc74e6af9ce487ec98e89a15237b351878c9a90f34f0ca5ce14d6d27659f432eafd11f960b4fa21a3 +DIST firefox-91.0.2-en-CA.xpi 515736 BLAKE2B f0de88e7c171910287fe40048c3c4e70c65856e6c7d6af06ff92edf4b0ff6600678f0f51164bb59b2315187200783068c0b28436d50004e64b944dc46c086684 SHA512 6b9b6a4fe029df7a283d78237b23f69bb57e84ff60055843dc422795dbec4fe92a396344c0be2467be7764d30f19d993c4af01e6935da688ad503090714ca610 +DIST firefox-91.0.2-en-GB.xpi 515982 BLAKE2B 034e89bbc4419c77913370b19f587b437588aa7f9ec27a84aeba27887ce2e31e967d695d67ecb725b31ac0d84e3fb56eb34491927cb4604bec658883a55f6a47 SHA512 fee033b59fb4305a373a902519537ef3293c74ad5ecc5016ce499bf845400d34e7ae5915ff5f95a3384f5eda20ddee97578f9c1d8c7f055936c4800e5341bfbc +DIST firefox-91.0.2-eo.xpi 542048 BLAKE2B 374f51c5979d382e73c0bc4cbe7e4ea66112b4cea907f71cb140515632852a686ff0f3a1febd0f74e4c2c536977e7aec0c0eff43f33fe61ebaf3aa96238dc0c1 SHA512 cc0049d2b4b90833a66affb778a3481c1de0816bda7eb150616562c43fca9095d2d5704cc4c9edf346f29e30471c83848d15500a319caea5b04f7df8c0461708 +DIST firefox-91.0.2-es-AR.xpi 553517 BLAKE2B 311b2b0e5f4c0704b2bb993bd9da749b84c4780fe0b4dbfd960c11f6c0e33ac5b74bd7d88bf0e8a993019f52e093e5b5915d6a05660a655fd189363415939730 SHA512 792532867883d33fc234a204291c9966b06870db3d15d8710beba6be7892ad5d7ab0141191390372b44042f9ab6a3ef81c113ab7a6a675306fbdaffd2b3378e6 +DIST firefox-91.0.2-es-CL.xpi 552534 BLAKE2B 48891168c9de04fc35ee63cba20c0f0c03ae967e389a5cfdd6f6984663ccedd28d686f84d8ec4880b41938a5e64833c635c51b9b63c247f340aacc010beb2aea SHA512 e774fdbdab10bdaa97d81a8e05963b60921143aac2149cc03aacd0ad8b89689882617ad3052b78286300a2d8c44fb549577cc84d78048e725a7ecc1a831470e4 +DIST firefox-91.0.2-es-ES.xpi 542522 BLAKE2B 62d28273362e360317562939cfead517c5da7fe2d38b0e13123992e67dafe5ed4c06a5c426a28192719bbe6aee6cc59fc6d8e36bea10f8e544ec35e12c62b0ee SHA512 c50e56de633f981f0e8e5fb0c82f5ea0e347d71434bd467aa56c131a01d605b44f955e6cfffddd0e9a7a12fef98d811830d032aef2ede7a3b8576ae164e8ccdf +DIST firefox-91.0.2-es-MX.xpi 556676 BLAKE2B ed87e4b73f9827a31c4b257c797f5b117d37f436ad7876f6aea71052ed858b700f535597372a49db9297bf51c8cb2c3a053661642fdbc228beb85f63d6542c65 SHA512 e07113691b8fc1a6b798dd8327f95d725f635fac7e198fde00f833528a073c69eab6b88c7e1d4c50340475c7fe2c1416498ca243cc6843bd93da8ef1342db95f +DIST firefox-91.0.2-et.xpi 494142 BLAKE2B 4e8ace24cde2baf4826334e0fb7ae7209893bace1981f994fe3dd1c9b1cb4e7384eaa68db7974a8dfe0db2cba6ee468268f0852f47db81b975b02cd09c77185e SHA512 1f53ae61a22fe59935b7b7be506f466909e27ea3a541bcf36174ceea89bce56fd35b15372c7adecb92173e87ca0706c1bd39011fea40c136768410d9c2d49d8f +DIST firefox-91.0.2-eu.xpi 539046 BLAKE2B 93cfe5c88109054e09fb0605d998bc4ebe9cde572332ed6fd8cef517e5afc50596175a08cbd041dceaa056c5a419cd494e6a75a2d19c54603b9d48be5b357424 SHA512 61bfe155b5abbcf15739576928e2f4f84f4898911fb862d2d51d45d4648d0f5ebfc7fab0770f64b295dbf604d6772883884d3f908dfeffbf6438f44ea1078f63 +DIST firefox-91.0.2-fa.xpi 561638 BLAKE2B f277a445a109761dea17a8601b62c1d03a53855d46ba17c5129aa5732695663499ae86ca279a1581db2bde6ee1b8dbec09506abb60ea8c39dd4550bdf735af8f SHA512 c0821849b254977c6002b92f0a48020476531f6485260155ef103e4564f6628f3b097c24877cb86adfa6ab0afaa15786924e65e3f60a2284753f7ba52514eda9 +DIST firefox-91.0.2-ff.xpi 485699 BLAKE2B 1d372646848dadb64a1ea0f084e762b8174f6f815fedd265dbe0b70af07a7fc472cc32ae755b18e4b9af8257dce5bfc18f67526a997e17734b4277573684b310 SHA512 bc34242897070e8593f8024f795d18e049fedd448d0084aff7b7d4765bd4d9b9458bb692cc54eae15872ebe7d2f22a00e732f1093a7628e216d4ccca0ba4615e +DIST firefox-91.0.2-fi.xpi 539811 BLAKE2B d09217d946f8fdcdc9dd41b4d5c5bd9d9d30a37a1e1d4cc85b37c90d5e3a7874aa58c8297c7fb10ee437f738cdf64fef338c4aa0d92733c5f2c4a9aef877e0ab SHA512 4d87dc2bcaec4b3a1d653797fb3a56a609931ce3a24ca277fe0a050d0fd7336e5ddef881e03f7c161184c857aa0d361a7b9c80258ab42bc4e9fa73d335a8d8b1 +DIST firefox-91.0.2-fr.xpi 564055 BLAKE2B 7e6538a7246179fea01b20361334a7ce429e73f6cb7537c096ee512acc77192dc0e39546956c1cdffa9b497e4d14ba41ad38c5f5b583fe42f57032356086df28 SHA512 aa25c36a732d512c4d686698f69ed1467d82c02eb4476d8117959683f7aabd1ca580019e0450c39ecc95916b9e2765c4eeb5a94774ef3ca87e047830a8756925 +DIST firefox-91.0.2-fy-NL.xpi 549221 BLAKE2B b8b836dd7fa5f4f9bc0fb5ee9620db0ad2d1606ea26f49344433fbabb85321cfe760412d02fd61c010be25bc92f8793101e341527b8770375a20adfcc3c25666 SHA512 b452811f1fabc0240141996c393d2e0bc04a6d1163aa32e9cbcd381f2d505a0cc6b4d82192dfbfeb671346e111db16bbd6bf73712ce7015a3c4fbdcf438a0b2d +DIST firefox-91.0.2-ga-IE.xpi 470699 BLAKE2B 1da8c8d70e28dddf138b6750b6bb5b03ce95349e1108f14e395993aae0c9c2631b40742b10ff4b5763e2d5c145fc316ca2394bf14715467e4ba75b542d51f23f SHA512 2d7cafdf455cf805ddb522152238dde6261964399f60bfaacf2c6cd70e54c047ae70fd0952254d34b7b1b4f9c85162687684f5e66c7d60ee0915571b96c78c84 +DIST firefox-91.0.2-gd.xpi 545686 BLAKE2B e6c5552211ca1b07426ae79e80fe9be7fb516ad831c4bb303f0aa1bb7e3f648062d0b29c9a617ed2bed3310dc51a28889232b4c413e93c6623126ff4fdb7a075 SHA512 5ebde92fbb0697745e8b8cb4d0eb40581a2a54f18fb967a90cbe7d90bf22ab9b1a40d04f7a52f1ef96c349167a4a50ef02476a68a5bf5d9fa911893a3a90f37b +DIST firefox-91.0.2-gl.xpi 548390 BLAKE2B cacc1630f147ede28dab1c47d1eb4442077d0126fd5e02ab06572f33004e50f43a0a7365ef863ff0b3f983041b2b915cd34ce674c56602616912516dab39adfc SHA512 644cec199ab6f9919b82b3d903cda3fa12557c9e7ac0df4e4d41e854d04f54fb98775e80d052aee6a840c1de008c83390c4402cd3a0703de1edd94ec7ec37a37 +DIST firefox-91.0.2-gn.xpi 565276 BLAKE2B 7053cd1585af3a9f755a1f09132035e5b3e39f9b293364a411028fda8382dfe9ad91970a748c52dcad35fa526ddace25e0e032032dfcf8cd2008422b54be5117 SHA512 ca0476636fded14809fbc8549305b7f5d42382f973704f04fa6bd1cdfd378ce4340046a8ffc7959caf5345a5955cab235834d7830f77717a759e9404c8b74ba2 +DIST firefox-91.0.2-gu-IN.xpi 544513 BLAKE2B 414c5705c7b9116754c7a64b9b270d5fdf08589e50993643165c61e2a0874eeec5ca11156c9dd8bb7ec2edca05ba0c476f4df10927907b3a10aeb4f4a6a4f509 SHA512 2fc8ba1bb037a70e20c3914f304aa8798fe4f7bef9814d73f21df7e4deb2abd708ec90fe8c257640d66249fb21efea3226564416d326705f10258defbd84ccfb +DIST firefox-91.0.2-he.xpi 563140 BLAKE2B f4a9fb78602318778be27806f67afc4d638248472386dd5f1140cda9922a3d62439d06e1ebe0b19ed8adf86f256bac14ff7cd5a53e6fa82ab05b5f596813e2a1 SHA512 0100acf0f6cce50fb382ba9e70c5b95e3862779308a6f6038726914226f1948b556335aac498f2737217f0a77037af2545788515bd1ea643af37c855ad0833ca +DIST firefox-91.0.2-hi-IN.xpi 575682 BLAKE2B b93b1cfef22c48dc1fd7c1b6cf2f6198428aabcd19a002bd60c2b17e14cfa68e93253391783c179f20a4b619cb75ce2b4b09a58228525f73c8c9376075476bfe SHA512 8f9b0d18fb1ccac2df13faba3b84151e222b717b0110f3bed4b3800848bfd165c42388e3e81a76e7bd13356cbc1a85f4b6b8676f2c0179da3847beea5c7610cb +DIST firefox-91.0.2-hr.xpi 544093 BLAKE2B 522e7738189dfdfa741bbf6e071a2a0af759830b9ef055d6397f22a95da390e6a22d6d08e4c5cf61588d8d6decf0e986c80be0720640c56d5081f9eae373bab6 SHA512 3284e8570ed98d6d453d87fc3d0805015b5219c4dab9d5413622a5bc95ff6026811b30a6e64546b138884f9e1bcdb04144efe6efaca6666ad37eb0a89ec1ffa9 +DIST firefox-91.0.2-hsb.xpi 568931 BLAKE2B 02948484c3d21a10bb1811921fbcc9a2e1d549358ba0436d4958edf85a5f3b5580d011ffa98c154c79c2349e3dbdd04f70993e70a62aaaf3a52d0a36d94b9540 SHA512 2767920e501cba28b842bb358dadea7a9b992b7324186dd1b4e6a8f3da404aa682a5f1e23d05c3c3ba79d5bd0550ed6631c07ceb3d35ec223974e6608c778dc4 +DIST firefox-91.0.2-hu.xpi 572766 BLAKE2B 85196c0e3107768d3b50c32d12a44156bae2ad7bfecd5f3588c9fbba4d122da4d8fb09bb2e9582a7c35f19e74f8622bac6e791da022f151e37727a5841c1b6aa SHA512 15be8f755bcdbd1c3f2ddb5f5e6861bb5b5eaac2fe6590c117b48d2a3dc841356d96c1385569a54eefb4232f3e0b9552f0082e9921f5dbd62a85e71519b4552f +DIST firefox-91.0.2-hy-AM.xpi 599014 BLAKE2B 6a08d2427f3ed840cd88575d84e862bfc46998e6c1f5c51ed975b4e7f7e2f8bff373d11b59c71fdc4da34ff16cb4ac81ee2f803effd7e8cb4095086f6c43ead0 SHA512 6d6edbb1cc88a9d4af446f7979b559ec9fa848e6c89d45f00e0cd74278f2c0863bd1f7c78710c0238fcac7dd9fa1f62e79d9ef04931bf2df94d1899eada3c913 +DIST firefox-91.0.2-ia.xpi 538523 BLAKE2B 078f874a0252b40d0817ae333d157c0f18d9b3f84da9778702ef2ff96d55bab94395cfee04ae8b292fea36f7c8f7f3e62aea63a4aa4534073525532a60107760 SHA512 526712c639ced83b42602d160d020d66a1b5381db15e3be500d121820a697c48ba961ed5b874003e1df5b819da28107f620805b630b4fccd85613229841ebe47 +DIST firefox-91.0.2-id.xpi 533874 BLAKE2B 165ddea29605321b3296ade87e8cf276fecc45848b3df036527eaacb566ec3b44ccc5a90611a4f815279e0aabb06eaaba6c8b432460bc6bed8d92bf63247b174 SHA512 333874f55731dca69937a4f43fe335c0c066af4506955af8eb3da82764c5c05394f359429ee38992c51a714c7d7e0f4427235d54c52f176865a03b291dbd0bf9 +DIST firefox-91.0.2-is.xpi 481340 BLAKE2B bb8c5840492f47ef79c763e2677fbafcfd90b3d16c54f9492958fae73c12f575265873fe310dc9010fd55a62d42c74572351a828b78edbcd479aadaacba5ff93 SHA512 d74497fab93316d556002558768bb28ca26d39198d745e9d252b6c97a46179e9a33a207d0aafca098ee83de79522d5e73d75e1fbac3c0f83ebbbacd3d2d0a7a0 +DIST firefox-91.0.2-it.xpi 467043 BLAKE2B aca3186e0e425f0532f9be8c647c44f2edb934fdebfb0197d122e921e181093ff38485bc9f9e18e32bd2d3ae68a23219def152d00d0d435b7b643832d635b595 SHA512 070fadc60b7f06591a1e9714a12f3f60be04f6fc42ed4ff8713d8755fe39c1a99345f8e9fc0bdb94a825e5cc582e7d671275946a125597f08c57152927bbddf6 +DIST firefox-91.0.2-ja.xpi 599312 BLAKE2B 4535634b3469ee7e76f465ce87cb82baaff44bc69bf9b95c7691df876df4fe91bab899c48b3bbb2b665eef8259aa83251aa3c184b0296cd431a8e6c6ff82db0e SHA512 a1e813820de9b5e44d7adb18f1451c55e62924ed769e394b9a7b38ff24c6a96e49f674402e76b53eeb43d19e597f7df9083f0158987462157f48940808d6f057 +DIST firefox-91.0.2-ka.xpi 600142 BLAKE2B e1a2ebaa905ae3432c06f448f4a2e4414caebf92148abdd52d8077784f5d6d5c63770c7c797d5bbacf206ec7f5ed6410dfc3315229f7e13f67df1b225175a434 SHA512 d99056aec02d3c62a3b6fac4d44bd7bf35edd73de32500f9dcf2ac5320d6fdaf93bf495303873dd725d80651d393786a3fce5d7eb68ca5ecfaec5be199c9f3e6 +DIST firefox-91.0.2-kab.xpi 557813 BLAKE2B bd0baf375f7318ce8f88883f52368b0d35132674ccda5905e2154b03e493db6452267069b482c290d3db005bca450c038257262207b2547872d66136a0d864a5 SHA512 3afa8920925b1c54d7b37b26056bd170e246615544bd4e3efdac9404602e4c17d6b7f019c56819f4dbd53505bee220e7edec91d85ed442fbebccdfee7130b6bd +DIST firefox-91.0.2-kk.xpi 614348 BLAKE2B 8cca4eaea30764e7156c55c13118d5ca1d9dda845be7894fe2bcfc734ace1d967e984cafd8e1a522298032a7f1f345847d806429cce0ea157ab12566c8f70d06 SHA512 12753ddc8419b830a0e6af938399902da277ee375cb29a144e32c1a71c5c5cb314c308ed1283bffea4127b70e5dada7449f141455fd148c0fbe0d85e56a817d2 +DIST firefox-91.0.2-km.xpi 544983 BLAKE2B 648abe7d2f3c4dfab206330886bf64e9e5e6a121612ef8589bd6f9bb2ce0f74a2db5336098e9f7b15fd959bc562be7aaa6e5c957f7b601ceab0f06be9eb5e7eb SHA512 5dedbefa7d088c87c009263ad6bf11b3c739478fb993a1b94fa10fa5d0e8771fe92db7548e52618543340f7d42774faf15a9ae834011577ad6a4f45d113163d9 +DIST firefox-91.0.2-kn.xpi 508521 BLAKE2B 70d6936f6b213428e3a09c94d6cdf9ede084c9c96dc0dcf43134bf31f1bbc356cc69354c3a6e9780b5f208e6ce254f7e307d31f39d2d38660260ad374c438b5c SHA512 e9bc6fa8cb3ebc9cd5d6f289b2d7f31a8f9063cf84819cd5e56e43db7a2d864ce2fcb09cf6602b53dd6cff595f62f50caa60343efd2ebed84c0c87bcf92c838b +DIST firefox-91.0.2-ko.xpi 584343 BLAKE2B 58a4c560788b2b8f9c7e7f577cab11c7ca34cb243685bcecab8b8a5453f8634289b61b30c8717d2487d3ba10f59bf76a09af4e156fa7cfa4c2b7b81453355638 SHA512 7fbd65d20d1f72f6ce83b8efc2d2d37515360060b2a58d0395e03eb297aa136a13f919187b29027512f7558ab489cf73d7edec344e37a91578a2c03a346d2f7c +DIST firefox-91.0.2-lij.xpi 481930 BLAKE2B 52dbe2aa33ce053073c0c157471d5c6be9c94743ec90523687f8ce70da96c17f64a59a1cf96c78f810e86a64b3ff573b366742184f617d7e4d713b3a8c85c564 SHA512 463bfffdae4e4969fdf9e1629dc44185e4774dd786d0a072b4ad3214230f0f6c8299b129b1dee1859a626cd2233e5c0af60128651b7722fb50b7892bcc873225 +DIST firefox-91.0.2-lt.xpi 567603 BLAKE2B f073ef003588d3fe0cfee368ddcfffbae6ef0b1a233f4e0ac9637b76b4724db5cc2452373098552103523d28426e71c6ab88149f0599cf40040c057dfc61b45c SHA512 664557a9e4d05ceac2fac9d51b89a672824b83eacfe14744cbb639866ae0efdf743c6d245f5c870dc97209b015ddc9ccc2feec9b71af717355f5073fc0fdbb08 +DIST firefox-91.0.2-lv.xpi 473333 BLAKE2B f53f90bb380bf60d960c998affdcf2d250fb84da847a6904d67a54f437e0e0c522346276a3db6967d5153998ddccb1916a98ff70ea44182117d300f0ce950582 SHA512 d59618421f4c3b8dd85e8a2eabe08c3a858eb3c8a06dec84da7451c4f12bd0a1161db3b300bae138558b552ebf5bcdba18494272b08871b4d7d1d05d280c7c34 +DIST firefox-91.0.2-mk.xpi 473479 BLAKE2B 6ff5f26980802fa7049fd550e56215807dda08fbf248f77c2d4d06255bf5d7c2897b5337582276b14ce7b11692c04c442d746559ac04b5d901dd6e53307e7cc6 SHA512 f8902b73f7dc119c960bf536817c47589f7d9bf4fad73ecbbb173bded865e96beeb1eee891ce69d4cd7be0732f7f07bf5a43290d79e32acb3b1d77ece720f1cf +DIST firefox-91.0.2-mr.xpi 544869 BLAKE2B 8063812be027d53982c5b2c52c576622c4b5ee8add2deede210c70eb3a9fa77b4b82d8f78c2277cbcfec64955a76ef7f91d290b354aa01275c6d98cd15211b6d SHA512 75a95bd65b7caefd471a171fa56ceac1dcc73e65fb62d89af71da608fc44a802d3e239546f78340e9d61335765183dad85f1593cebbcfc7418d0e467a041e3f3 +DIST firefox-91.0.2-ms.xpi 457203 BLAKE2B 459bc8db9573053491d7708cf7136fd8b25f0ee406f1058d49b46868242ab2fbfcaa00fd5dd97bba830dd4fc3d98eed944adacf7fcdc3219b35b438bc76625bb SHA512 733971750312670a2345c3724585991e33e65d17126bd699be7c115da6f814700db01411776ea25adc2ee47ade78d6f8f18f4aa0b5e301dc749de5c1c2fdff26 +DIST firefox-91.0.2-my.xpi 530145 BLAKE2B 42909546ba46ed0e12a93703cdf356407e2b1bd0296d74748fbee32415bd1c8cd647602c7c7312eff94b31ef27fcfe9fe947dbbb999c10978c06027d6f90efeb SHA512 c24deca71aeaf03d083767b37758da97c20b735973bc7373d791b7d4f2d70175bd243b4ae8b65d3fd277cdf43d65133d7c536dec6e23aa395e68547176364ef9 +DIST firefox-91.0.2-nb-NO.xpi 534986 BLAKE2B 6393d435d9bc7f6afd76def4ebb3a03efde327a3bb8a3fd84eabcb485d4fd340bd0dbd84918102ff10fb9b5e9f3a5783d2404010c448a3eab34e0fcc5084b35b SHA512 bba89b13817da879d2fbc029dd42753122ef3ead9f24163c57f6e56daba4d83c69ec117dc729a87a8d217b073e0f623007e05bb5f15c5cc579a7a0c254ed9ad4 +DIST firefox-91.0.2-ne-NP.xpi 486178 BLAKE2B 22793df48a5a2f62169a441934aa8975470f7765b32d6097b19320c3cb4e3890cf95f9b5a91e7590781e342bdf0fcf26ce4949208fb8ce89001b4d3bf3adc5db SHA512 d4b67b1fde7c386cf0df744194e72df12e0341b85678378762d15ab86d0d9d1e03d9d251705986b5cf8bc67aaed54694d719b73426a2911b0ef3d1d00b76c14d +DIST firefox-91.0.2-nl.xpi 543375 BLAKE2B 7089b4c42afb164560e45727f655255c8f6d0c0530dcd18535524520a9b011aa145f097c0d260b5a16df007ecca58dc63c8516ec55aee2559a5217b120c03db2 SHA512 5668f48b70798f5da84951c1f95ab60ad2d7e354abdb75546684d0df2749381c68ce0d3f8e481c29aa9d7e942cf092aa03e3967cd914dd8abd5c7f8fa7ba7366 +DIST firefox-91.0.2-nn-NO.xpi 537542 BLAKE2B 9bbb693c26e3776485d816cd032ecf380f3dde7785b9994f56c06d194127993bb22624b3d5a2d9e7c300b7676f9d1e8cb9627e9929cd80bce39c030e656e6949 SHA512 dab9c2c2bdb72fcf8463d82a351746c9cafa4b3400493098d8ebbb5c611a6b0563d070e36d7cc659351c45212551e7e77af023c91e13691d88a70afaea169484 +DIST firefox-91.0.2-oc.xpi 559028 BLAKE2B 341ad88da64ac06e86cff2ff2f2b3a31e420a1529e64f0b626c0374272d123a808cf47aa30104bc3821488d1051f3020fdb5a91c5ad590069857029b39d64038 SHA512 7fee4a09dfcfdc84372faa8ade371441985d235c73e1cd0349c7ac8d280ccd5f9ac1efb86530cb5dade4face156d6299f8d14a0b3d7972a49898da56b816a5d2 +DIST firefox-91.0.2-pa-IN.xpi 605086 BLAKE2B d31232b6ab3154ca7c1b4f69308c24fd9fa7ae5e367e02d089cb8f759ee95397b504f6a94c059b6c822597fecff69703af59cec5f299fac62b97c396ad132a06 SHA512 86a98ac48c729fb308ece202dec5116732dad5b13c75a8fcb6dd4a3e7f1888f432a5aaffa0b4fcef7de409d3f5d2e6e32c4b762f0e0c2e932d5510361835d0d4 +DIST firefox-91.0.2-pl.xpi 562852 BLAKE2B 45177be1a73deba99c21c00e92607567384fd93e632803b4babd3f6d0b2d4ee7106bb3cfaa713b44efa0f667bb524c0d4b0ed14f2cf3aef2ca46869e5dcec60f SHA512 913c5fd1618e09fdcf404af08754022249ac4dc3580efc823a3ffa14876eab949b28c41ea99d291d59d0012cee5306509108ebbcfbb97cd1d3396f9510831d09 +DIST firefox-91.0.2-pt-BR.xpi 549002 BLAKE2B a12c8b2d7dd6f5228a547a79f5f6527cbce47b599076d372d87501f8b965299c538072dd1845efa52f94c579506a82129dd5623d3d66ec8f7a325aabbfa63d9b SHA512 4de795d87061b9e4e6d484efd765d2cd68b68b98dcdcd58382095d8e4d7d3051650da3a28f01b632b5eb37c4c3e5f50f0a2dda3c97c02f5dd2097d472c957de4 +DIST firefox-91.0.2-pt-PT.xpi 552653 BLAKE2B a6b625df698b8dbb2686b140b8ad89a6e547197b91d397b72ce03b27357f037529eb4b9dc431b5a6c785f365dcbb0994060b87a11e77daad069687c7f39fba3a SHA512 499152aadb03b3721dda8ca4f1943b56122e4cb9ddccfc90d1eddd6f7c116ba2f3746e686ac1b4057a2c3a821beda3d1d6aada651b545fe144b5c86f3780bbce +DIST firefox-91.0.2-rm.xpi 543758 BLAKE2B b5c6b7c255cf47d565379c2d09978d54fa84da46b29601c3ef23dccb244417080f22e6c18e96fdf5ba4c657da8e7f3adba1f1b44436e40fd615b4f2ec6ad70de SHA512 f3ffd1514fa4d664cbb5e0d1a3caa1c286dfce482665a111504d72c5e0c1f1db2148552c24e7daf801317c11732049df997134c481de790ae2962fa3c81a3183 +DIST firefox-91.0.2-ro.xpi 544870 BLAKE2B 638192c620112619abd447597f9d7db7bc09cc5b1fc7bafc1986863ff0904f78695fcebb4271d3ddb86167436d98052aa2b7fc5fdc919d1751beed00204c0f85 SHA512 b4700a3b946df0210683d463fc244cbe345f4ab34b4240ed746f15096a4a00448bbe5a3bbfd7bed1909c7df39cb9e234cf33db3650096a8d1b34767fb6694f81 +DIST firefox-91.0.2-ru.xpi 635037 BLAKE2B 1173448e8346105bf86e91be2467c5d5baa4f0afb8f79d83197acd3ede3fa88505a7f123f132a7dbab13c4bdc0aaf095815cc943056a1152569407b7d51afe63 SHA512 5e18f24daea284a47ec2a563d790e3dc8ae44ffdedffa684f737daee04fe480eedcf4ff60481d8c76becd0d1c16cb80954c612aa00162cf40390f9f2ac3727aa +DIST firefox-91.0.2-sco.xpi 512252 BLAKE2B e91cd10d8db891b75f552cae391b9f20fc93e77ef9a01e13e3303425ec4758f63b5cf8806bbdecce2434f471f660148dc16c2bf9b872732f8156235995341809 SHA512 340626f186c46336b1b36c14f1b4e56d337ec0e04fe84a8cc2293b1cdf7b385d2068825fe81952ed28b983ad931a8e56d0e1828447a6fbad288a9016eca38375 +DIST firefox-91.0.2-si.xpi 496840 BLAKE2B 3609ada9163696aba196d9748e97f8e6ea16510b0f55145d23c16d8868def2236a178c4b429f0bf9f479c75ed83623e306443e102dc82c87be35de12fd4a8fde SHA512 7dfcfc0ebc6c2d9651c3274abfc25d100b451b55375a9e9380cc2586531ab08c0a5e1ce4d914f8b846f3d4f8c10ae33fe66c9d04817d01d5e7f3ef98239ea6d6 +DIST firefox-91.0.2-sk.xpi 572088 BLAKE2B 86020743034e7e00783038256231e1bcb3f2054d3c679db716d71ecc42e5b3be18e3151180250f82bbd03c99d72b71a886f5d8cb7b08da4fe596fcd1de62e5bb SHA512 5487d0ebf35a13368c3f2c4c6e933953ad43938f98a56660d7ee83156bfedfd5f766b8779ae0980aebebe6a4112cc3e90ad941159fed6767c4319c4bcbfed873 +DIST firefox-91.0.2-sl.xpi 542792 BLAKE2B 05b78a248eecd982251e83aea8d4e180388e5ba2424d8642c8b8c37e9024622bce4c7e268067bd2c959602326f7ded61f3268c25c6048abaff277f6eb53dd143 SHA512 684d20192df92823fdd853d8a79582748e2c1f3d95d40b2896952b931b34feaf4eedf222aea640ff576f0fe68efb661a48acfa616263a3d41d9777a23ddcd992 +DIST firefox-91.0.2-son.xpi 432937 BLAKE2B 592a2605a2fe3567e0dc5020382c3cad9ac152cfdd3793c679a1f776983cd9aa4cb83d59c39ff3dfca8c0e70c98fa8fa13ba5a11eed74ce906e2cd0c9f955aec SHA512 cac2639b2358550d50ba53cea726dbe65717d40296d63dc0eff85bbebb3cf0186c70ef6e8d83857e61b06bd5c425c1a72aec34723541e2aaded96ae6838e616d +DIST firefox-91.0.2-sq.xpi 562223 BLAKE2B 49443861d6ecd85d6fe4383518a0b65b57055260d326778497042e771f62cbb830dc479e883fa154dd2f2a2dbf4061fde46f137f14e63b8bce76d4c90299f13a SHA512 c6a65bd7fc49ad9fd5af2c7b8b86c42a90b81074ea16411adeb6794195fda74cd13fc61762f0962ba6252da8011c8279deaf2352ec9be3439254fdc38c398d45 +DIST firefox-91.0.2-sr.xpi 596028 BLAKE2B 6ea53132a28738d54446b82fba65317a3f9f493f185f76595067d29a84551a69995d6676150946dc52df9df5f6836476d578b9609bb04f7ceda77f9bd8723e73 SHA512 c4e6b08d0e983bae2f76fc8b5d3c301dcb8103051d7d7d1766db7981972cfa8027cb178ddb854be6a95c4fb9c2b4a82336eee4fd5d4de7b6af4e98ad8d0526cd +DIST firefox-91.0.2-sv-SE.xpi 546389 BLAKE2B 20dde060f8e0bb1a0117bd8d3135dd5593720eac58a946df6f6572fcc1a3c558052dd8db4d696b3c56326685af149d02ad023388539f45c71c959b0e5c24671a SHA512 42f66c348933a446aead3dbb115873e52a7f8ce428b75065ccac8e6bd6a3332f1f4a5e9fc30fd001f7e6fbce4c20f50c70f0aea52fe4f3bac605a1b94ba96e45 +DIST firefox-91.0.2-szl.xpi 522374 BLAKE2B 3100df810f0b26de1c4ba3e868e6855ef444654ddae1f15b1b28ff721f64b5807eebb154dc41d6d7ef30184e35a532e3357229148cb502e2a34a2b08b29060dd SHA512 4434ca0704390113fc22bcac26efdd376643b550d33f070493b2132421281983f1e0b4823b83319a3e11e274b9381d502fa193d52f7efe883ee6f801707b6e71 +DIST firefox-91.0.2-ta.xpi 523941 BLAKE2B 2c87a6ead3ba80ae2d31353dedaeb6f58da25751684e5341517720690f8ab52201259aad7ce33ed78816d817a5d3a3a2147ab3bba6513ea044971a8f7f273cdf SHA512 9c24dd0b1e17623af3166ca4078bee47a6958cd9287c8719a525f1c5ae8a88bc21044e8e83675c9e786be93fe6c1a4c30a91f1f68a880eae2351b4ad3bb050b7 +DIST firefox-91.0.2-te.xpi 564760 BLAKE2B 314220ed7b4ebe6bb27d740360b608c4702051a6f2762429868c9a116c568f87ae34eb062d86782e0e753febc70daf02ae844c3fdd3f1ccd67d13f2a4c404ce1 SHA512 4170d39649828e1c8395fdcd1b0e5555ca2ca32e4003c68ead981b108ac98c5cf955bcfc74486c3e940d8e5ce21c9853a7fda88b98b50698a979f7258d4bdeb4 +DIST firefox-91.0.2-th.xpi 614152 BLAKE2B 85b298f4dd95f35e7681fec5a736c3dcf27bea72d0c319292a342a8d5f72dd8764d02c98aac5e0d49326ac506cd8045715bbe8088e67062c97ec116e1f32779c SHA512 0ea959243a6edb9433bf86dffa7cabb09b4b69dbda218a4e040625c75d543d5e5cb065dcf6ebaa346b347abe6cf0d76237458cae8fab04f1ebef3e8a9320de63 +DIST firefox-91.0.2-tl.xpi 531316 BLAKE2B 0946e102605fc7c05c7e883b693cfeca11204f4d1d0793864e9c0f7a5c573b04f1714a72094e8e78b4106889068921a1c13b44ab77478352310c05507de9a087 SHA512 8f13de4fd691937296bb4c3e3d67b2d826b0e89ac0a972cf4ebe2bdabd4b5539bed9455a56f6211067900b9b003d388c90d96b2b25f4896ee9c78814a7bde6d2 +DIST firefox-91.0.2-tr.xpi 558469 BLAKE2B 1f6b73ada217f445cc9eb04358f7d6e84ffb20283d4bad63afc735536851af4a7198cc2a4e32a8c2b2659d212b89783844e006dbedc1a613353f76a523a0ab38 SHA512 c947f20755b5691bdb115e15108f6a6783a74b372dccc6912749e25ded9d01e463b4346bcd1b8d2d8ee017c95573b27431056ed3878c547b36be81a8f108fc9a +DIST firefox-91.0.2-trs.xpi 503653 BLAKE2B ce6c5aceeffc3ce0f3980d64c6111c917ab984020d03b18302422a1db3dc8f9d56544e27b45dbdc12d4f394f41d133624932e390c358572b1a8f5df780d62717 SHA512 f1b16b1a9e97344d6f0326e29939ccd9a2e71dec21748310b4c76ea4ccd130f6e3c0ddaef7596eff073315d8d57602c12361aba45e85785720e73ccdcbf0768b +DIST firefox-91.0.2-uk.xpi 628579 BLAKE2B 1276d8d95c61ab17748b3d5809b4fa1c0606b7eab417888e3e4f822295ffca7e1d5d38c6c3c5ee83b2dafd3fbef2462b942c245ab13e90775e252dadada43740 SHA512 314262e929bfeac9908709e01b78f0a42a9317e0c427cf47f87233353dcbee5ad12ca2b77a322c8a1bd481d43b42d133784170e5335429cf11ca16da838762a3 +DIST firefox-91.0.2-ur.xpi 572692 BLAKE2B 3726bed6a61448343fbe39dd952045d74ea16e9910c1b4712e0e4145fc852242b675265929f06f4f32daf31e648438cd95bcf2e3077005f12e21b28392283402 SHA512 f0d2ef0ee280096c905b29b8cf81e8a561d789e51b8cc45ffba4f56a79854fc0a9d28270fa85d1db85642690bfb1e3d8b2c77cd04fb81a0ffe5dbf3e9198c00a +DIST firefox-91.0.2-uz.xpi 480939 BLAKE2B c992594e78b95eb6678ac7beba5a5c332b3af5d9ea09ffa77e052e0b4745a84c4e27abc9423d9ae0db44eee15ee3e05880da378a83f86754e3b55179b862ed20 SHA512 9b65130a52b0eb05cafda63960ac0bca6f499d1bf9422685b8e21647665daa837331d7f59fc82a6bf55cb7824e851cc86529e140e5316ebe319e06669bd8bf1e +DIST firefox-91.0.2-vi.xpi 580492 BLAKE2B 9df06719539a0d9f9d55f6480bc438598eb632916b4254599df1aad25abb3ab3d379fb1d55d8dca39416dd9bd0e7f225c6579643a8a7883bf68aaf1d9783b56a SHA512 684ca1c7c994d3a67a27b3e3c1318bb6dd0b668a49da13c4c5cfb4fe695915a38f6f9cfbb7bc7ee3e322b6139f0ab561ef741b11a12ccd418e747b03a70e18b7 +DIST firefox-91.0.2-xh.xpi 435041 BLAKE2B e51f7abe34cd7e65be01e3a5c0288cced33e85c0e63e4bb33e62f0972724c689d40113f40cbdbeccb84ca536b540fa3a1653d8853c461c28b7f353fca11db1a9 SHA512 eb6ba0cc1446d67663270505e7f9b215733dd6d668218197c1b5a7c95b22c237ea5f66cea6b8a9ba7e74699d50643927e77c95b29f2922cf30aff5ac1bc9dc7c +DIST firefox-91.0.2-zh-CN.xpi 581941 BLAKE2B 92ffe8fa9317e8240a522bf312333cf35359fc036e9caf6bdb8c56a4701163efbbe6f69145a0282963c255998c554a6f2f0876c31aa6c7396dc7bfd73f15ec85 SHA512 f09100f3d7555c00cdb33bc0b0a07488494baffe6bb8e7408c32196e91808625fcd9af24d4088bcbaa06637ccfc3f6e8772d29dc0c66b1335d09ca7a6e0ced55 +DIST firefox-91.0.2-zh-TW.xpi 582124 BLAKE2B 962fe6182f240fa5f1bce94f7e1038c958aefa0736a1b3b36a3565d26acd6361d19dc31cd4747dd723e9069490b073b2b2fdd328af440efaeeeed6531bb00a72 SHA512 3315585c1cc781c2f8707f7f092e70374e93166884149ee9123ddd1cc5e6c4950ce6ea5050637181a79096544d3567f0c4c46dbd88ddb6eb1d3e06c2c5b7346a +DIST firefox-91.0.2.source.tar.xz 381193820 BLAKE2B 42e03ee63e9930a71716599fdeb538006e1a1404a81ecb0efc25511f4d2100b447c9c979d367c9f5fdd60c8ac667f50d36f250b1b755b8eb6eb8f7fdd909b612 SHA512 82084799524db6661d97d9942a01ca9edec2fae6b503c9dd2d79fca78bfef4ee0a888e5f5cf4cfa2b91d9c9392658bb8218bae2b9bec0fbcacfe73a174a4dbe7 DIST firefox-91.0.source.tar.xz 380788436 BLAKE2B 14cbe36c19b9dc64d3903994681bc42f2fbca30b97413088155620ec2a93433898bb1d247b55701bda61c4144cb8f1e460f6c2d5d5cdb57081a760f291c1a0d4 SHA512 a02486a3996570e0cc815e92c98890bca1d27ce0018c2ee3d4bff9a6e54dbc8f5926fea8b5864f208e15389d631685b2add1e4e9e51146e40224d16d5c02f730 diff --git a/www-client/firefox/firefox-91.0.2.ebuild b/www-client/firefox/firefox-91.0.2.ebuild new file mode 100644 index 000000000000..b606ecd707c3 --- /dev/null +++ b/www-client/firefox/firefox-91.0.2.ebuild @@ -0,0 +1,1149 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +FIREFOX_PATCHSET="firefox-91-patches-03.tar.xz" + +LLVM_MAX_SLOT=12 + +PYTHON_COMPAT=( python3_{7..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/~{axs,polynomial-c,whissi}/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="0/$(ver_cut 1)" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free geckodriver +gmp-autoupdate + hardened hwaccel jack lto +openh264 pgo pulseaudio screencast sndio selinux + +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent + +system-libvpx +system-webp wayland wifi" + +REQUIRED_USE="debug? ( !system-av1 ) + 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.51.0 + || ( + ( + 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] ) + ) + ) + ( + sys-devel/clang:10 + sys-devel/llvm:10 + clang? ( + =sys-devel/lld-10* + pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] ) + ) + ) + ) + amd64? ( >=dev-lang/nasm-2.13 ) + x86? ( >=dev-lang/nasm-2.13 )" + +CDEPEND=" + >=dev-libs/nss-3.68 + >=dev-libs/nspr-4.32 + dev-libs/atk + dev-libs/expat + >=x11-libs/cairo-1.10[X] + >=x11-libs/gtk+-3.4.0:3[X] + x11-libs/gdk-pixbuf + >=x11-libs/pango-1.22.0 + >=media-libs/libpng-1.6.35:0=[apng] + >=media-libs/mesa-10.2:* + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) ) + virtual/freedesktop-icon-theme + >=x11-libs/pixman-0.19.2 + >=dev-libs/glib-2.26:2 + >=sys-libs/zlib-1.2.3 + >=dev-libs/libffi-3.0.10:= + media-video/ffmpeg + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrender + x11-libs/libXt + dbus? ( + sys-apps/dbus + dev-libs/dbus-glib + ) + screencast? ( media-video/pipewire:0/0.3 ) + system-av1? ( + >=media-libs/dav1d-0.8.1:= + >=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-69.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-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="${CDEPEND} + 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="${CDEPEND} + 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=( + ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy + da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu + fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM + ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my + nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru sco + si sk sl son sq sr sv-SE szl ta te th tl tr trs uk ur uz vi + xh zh-CN zh-TW +) + +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="6400M" + 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!" + + # temp fix for https://bugs.gentoo.org/768543 + # we can assume that rust 1.{49,50}.0 always uses llvm 11 + local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }') + [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}") + [[ -z ${version_rust} ]] && die "Failed to read version from rustc!" + + if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then + local version_llvm_rust="11" + else + 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!" + fi + + 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 ! 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 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 + 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 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-strip \ + --disable-updater \ + --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 \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-png \ + --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 + + 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 system-libevent "${SYSROOT}${EPREFIX}/usr" + mozconfig_use_with system-libvpx + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + + 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 + 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 tc-ld-is-gold || 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 + + # 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 all-gentoo.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.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 \ + >>"${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}-r2.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 show_normandy_information 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 firefox-91.0 we no longer install multiple shortcuts for" + elog "each supported display protocol. Instead we will only install" + elog "one generic Mozilla Firefox shortcut." + elog "If you still want to be able to select between running Mozilla Firefox" + elog "on X11 or Wayland, you have to re-create these shortcuts on your own." + fi +} |