Gentoo Archives: gentoo-commits

From: Thomas Deutschmann <whissi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/
Date: Tue, 24 Aug 2021 13:17:54
Message-Id: 1629809524.70d179391eeaa9ff904ebaa1d8a0b28653ae3076.whissi@gentoo
1 commit: 70d179391eeaa9ff904ebaa1d8a0b28653ae3076
2 Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
3 AuthorDate: Tue Aug 24 12:08:00 2021 +0000
4 Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
5 CommitDate: Tue Aug 24 12:52:04 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=70d17939
7
8 www-client/firefox: bump to v91.0.2
9
10 Package-Manager: Portage-3.0.22, Repoman-3.0.3
11 Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
12
13 www-client/firefox/Manifest | 99 +++
14 www-client/firefox/firefox-91.0.2.ebuild | 1149 ++++++++++++++++++++++++++++++
15 2 files changed, 1248 insertions(+)
16
17 diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
18 index 6bb50419f87..320fb5f86c1 100644
19 --- a/www-client/firefox/Manifest
20 +++ b/www-client/firefox/Manifest
21 @@ -292,6 +292,7 @@ DIST firefox-90.0.2-zh-TW.xpi 588723 BLAKE2B 295e5ebb3f810f1ab8b66f301ee5fcd67d1
22 DIST firefox-90.0.2.source.tar.xz 380670372 BLAKE2B 782e548663d3538d834feeea54c9fa54ff5580472b967bb60be331e591b782fff2a6877f2e8db29511ac4b4b3dff847f30dc8f0a8333ece3d4156d6ac10a723d SHA512 4fda0b1e666fb0b1d846708fad2b48a5b53d48e7fc2a5da1f234b5b839c55265b41f6509e6b506d5e8a7455f816dfa5ab538589bc9e83b7e3846f0f72210513e
23 DIST firefox-91-patches-01.tar.xz 22352 BLAKE2B 2761467fed0a288f5ed58a2806eb73a00ae91f35d62284b48adf39898603a1dade82f7fc9a98a6154ee580fa7b010dc4bc2e656e6505bf9e3682c23698d02829 SHA512 1149e413af3fea1756754fe7ce6a273b00f07918074e16576d25113408e9c5a99cebb7e3a5195ff8dda343b8249e90b2778186d103a88f117ca7a3ac50ffa968
24 DIST firefox-91-patches-02.tar.xz 22332 BLAKE2B d323054441c9383ccc88b0522cd2a8732df19af670aab6e57689a69f299ed97fe8cfeda0aff8dc7353d591705ce2c42957b21da1f449a58145d9343474d35f2d SHA512 f70665c4dcf19b67ee7305fc3d683c03817e7089188a5033a6fe9ee32074820876b52e0bd32f585e1e5cb14e2fa4bcd1cf9928dab6f74f6753b4bf18919537c5
25 +DIST firefox-91-patches-03.tar.xz 22948 BLAKE2B b65585a1c84000872ce675cd531033522cd7ec7e3d3c4bb660269709f02944e8d88cc76c3b9b0059cf3ca85a3caad22168cf607aa1f4f2426eb0dd161b5ea249 SHA512 e970f8fda3257b871f3d8f1e185724ebdf5b4d91bfba6061a777242b7aee5a613fa4450af4f758c0f440d09483e65ca48ae79c91e040ba9c5e63d32d329a7187
26 DIST firefox-91.0-ach.xpi 465289 BLAKE2B 5caa3a3103616976d61880b893e48c5d5e425b409702b8cbd327a1111e1e359fa0341894500351fe24cc73deb8e7228b009e36332642c12d3afa92f9bc79c76c SHA512 42ca4fa331f7a53171717831bc3309782f7cd91ff2a91a7d8169b04efa8896b200cb2937e4365f0413f74cac71c7c5a41085d4716beb9bf39b70f3f1993457c1
27 DIST firefox-91.0-af.xpi 433157 BLAKE2B 054cf19dbe8bead4d2a88ad5e8a2c6ad21569af45a10be1dddf7d44b179017fcb5575fe26063740bdc59b6b411e5decf2658bdc266f6bcb642207abf543bd9e5 SHA512 a7d07c25cee103086992e106f1448d6a5f7b614755045e6cc8d7e165a289bc7675034dc85be171a3677739fb9d88c38b5f5cdec58f120a129a022369185f8492
28 DIST firefox-91.0-an.xpi 511816 BLAKE2B 4ded8e0e43194412cd7641af85f238165a6b5a3d0d215ba913665efec8d172f940207320c75b4d38243d9a6a23d9ed9fbf01dd7ca78daf81dd7ebb480d34b396 SHA512 4edaa0cb4f24b0bf20be96f95fba5d9cacf29d47cd9f93b95c8a4314bae50901bdd4031277ac596a2a2b5077b52faccd21a73c4db1481c3501671f5c65c13922
29 @@ -485,4 +486,102 @@ DIST firefox-91.0.1-xh.xpi 435057 BLAKE2B 02b8cd6ccd064c43111158efc842f305b497af
30 DIST firefox-91.0.1-zh-CN.xpi 581947 BLAKE2B e536cd392e3eb452f7de9bb708974412e9e34f862fb9213917df4317f331005f29300e7a486302584a8c2e59c03088b8f4a1e3d780549e9006a62f22a495fdf3 SHA512 d2f1767782b9f9a3dd545bc3fd98c08da3fc9d4809c5eaed088518e0fb766813acfb498442486768aa90f0ecc9ed9e787b805a268c6a03a8ec381493ed694e4a
31 DIST firefox-91.0.1-zh-TW.xpi 582122 BLAKE2B 1cc357c92eb9a3ea42fc1c30e9aec966b6368a6c0ca60fa41415ff561d86cfb7e5bfaecbc69bc99b2e0ea8d93f0026c0c48b41b0fe06df5b784eb76bdf25583e SHA512 9927feb39e7bf343414065d0ed8e308e9c754c393d59d0ad7fdc8a743d20d7eeb315b1fd0a8f5e004968d99ce2fb1cac3344ac973ecb31257ad8052612cd0f73
32 DIST firefox-91.0.1.source.tar.xz 389052264 BLAKE2B 5372d65561ef5f52b2d71d8b9401c2402413fb5bc027167356bb491ca3c979a5516da11f9b855a1d796146640a9f1308e808218099cfd64f9c3e61578dfaf348 SHA512 9388789bfe3dca596542b082d0eca7b1a6d1bbbf69eb97cc445f563d1a5ff0c9b530f3be02ee290805e311b0fcb392a4f5341e9f256d9764a787b43b232bdf67
33 +DIST firefox-91.0.2-ach.xpi 465284 BLAKE2B 1827b3beb7ee055d363f3d993a02a732363e0a8f37cf9ca15fd97f0702779a7a1a2ff4a7594b3c85034db42f3b50124b4cdf1e2b38e0fb01f1a7ee16f83f00e5 SHA512 6f9016adcce981dfe122282e5806ea690e615af4c2542f996813eeeea81bea81ec87eac38f12baf9e0daad19af546a65753fdedc1cb715ee93ab30250dd8ba78
34 +DIST firefox-91.0.2-af.xpi 433156 BLAKE2B ea445ac7e7b0080ee0b454a6839ef378359945b9aa6fe9c8e99accb8343982127cb42d64a7ffc1f24edd5f0358d3eedfbc58828bd1f3a37058ab41dd160db5fb SHA512 89866a7e818ecc53674b1bcebc7ef36af7b3ec8416cb8ad6b57f0ab4ad9a1445e99dd203aaa52631c5cbb9265adb9c13197abf593f0c5a4849660f40afa3e122
35 +DIST firefox-91.0.2-an.xpi 511823 BLAKE2B a0aee9d410bccda629ceae7cfb913519c31317bf2dae6290b36b764219154d4a7bc17dcabab0d7494b525edd374f5003f00acfada79d3efada0676a73c593963 SHA512 75a4a2ac929a629fa1392868abbdab4d3f86f94f93c15fa8f8029c84ad5c70054153a85b7fbdee47495a25efd7f829cad3992b3e87fcb950607a70fe58f1e48c
36 +DIST firefox-91.0.2-ar.xpi 573962 BLAKE2B 7e7cd41eacdeca1773d3bf97a15270249b4514ca3ce30bf44d2ec3ac19394f0e1eb1f0fafe991ae850bd35fbcccfadcb9a469f6af9ffae7c4fae9a8d9c3ef22b SHA512 2dca2e3828a381c08e48f5cf05449a62ce41d2ee5e86e5d74c6f128458e2ef7f748d8e93486dc40b942330e2481dc836bec38caaa957d18b512a3b48421f914b
37 +DIST firefox-91.0.2-ast.xpi 502953 BLAKE2B 129f446a8d4d7d704423426a22c2fc0fab4c11bab737f1395a8bb3f9b0b9071942e4d076e98fefd487f673da7f5fc7a7debd701764559132be8dcefc33328b5d SHA512 8af2bf2347ee42566c9e36872890212a08ec66c4b1d6eac97d43212d0b05617e5fdf8504eee6087344b4b4cff05b1b1e23b1433fa5fcfb9df6df7c0b8c57259e
38 +DIST firefox-91.0.2-az.xpi 500888 BLAKE2B cfaf3f2be8c9c2a99c68c91ecb05e2526e0caf6e80bf955708d6c6f35e0eb789ed8865e2c0343830865a201defb42ae1a09df8895bd38a1bc92c25e573212e51 SHA512 2e25186f03ced1a2c817dc05bef502b5eb62a46e58a42ef31f5fc8b1a6747e57bd2c132987e08aa4aea30745130b818c2acee0a685fb506d51964f6ff9348823
39 +DIST firefox-91.0.2-be.xpi 630158 BLAKE2B b01908e7234c26ce6bd1093639e6ffb9f184fe6bc9b3389bc70a405109dca768f98135e22989e7e071d6e49a61d9e5102d14785073cec6f458eabcfe54c1ac33 SHA512 589dd1b63468f2f6e08b769680f8217f21d73a2b16257eedbd5f100e9d17591476a7572a04e89c3a14e9d63662fd62ef9c56e9d756c2172461af015ea7bef0ab
40 +DIST firefox-91.0.2-bg.xpi 585089 BLAKE2B 6759da23207731cfc0ea46a14f64863c97aa8e1d4f030664819407a91c37b458b64a3fd6902f005c070aba5bb9c42f7dfd4f5752bde00277147670b728b647f8 SHA512 945b973fe302fbb7344e6152ae5680927ae4df45f9b836b79e9de89f0739a162a41565517db8591abe09762564ed07709c3b7175d89803df27b54c9308e5da2b
41 +DIST firefox-91.0.2-bn.xpi 576482 BLAKE2B b3c12715a82cad54cd607c3ba4d97f8863850ba52bfd48395376f48d11b7fb2854de003a4c497cc5af06fee31e52d9e5ebf150f7c28085b0e5033a65ab69d7d7 SHA512 899f6c151b0133d18516247549651fc0a008d2f8a5a329976201f5d60192d3715907c56848933c3f03883bbac86b1e933414379bcf207ec4d3c9ed1639e3d745
42 +DIST firefox-91.0.2-br.xpi 534790 BLAKE2B 66f419ae8b34b69c76e192f603d7b68aea2e9883fc74e1f24cfc010a5465cd3750310b29d06d674d861d634117efcb09f18e9fb186c12131a80db00a5bd95540 SHA512 6f97876cfa656d181c819beae2ec0d08bb13901538df0e5cfa27abafcfe43660b49f1db9e4dea3ac2da38f3a7f5925341449ca50c71cfffdf24aed9e93a94120
43 +DIST firefox-91.0.2-bs.xpi 473101 BLAKE2B 6228b43cfb0397be9d0303b84c17338a338e4c84ee05e578714b9212812066d7209ca11bc80ab16308a53372b202fe60fccb7792e520e14a0c3e4d2edf9ce342 SHA512 d3cd6bb28e5adc4a8effa3907c4843813d583a2d4a04c5ba1371c9b9cd086c38158b7aa8baf2b91c1f917b60b79fc2214bc1b956cc12996ba1d0c58356d6b261
44 +DIST firefox-91.0.2-ca-valencia.xpi 543235 BLAKE2B 80fc2be3f773136a409cc231321b21db4a7fcf1c927d460c4c10cd47fb14bffb9915a3d792d49646ea1798f164a7a00c994aacd376cc11c2d7634fefcfbd88d8 SHA512 e0a6e8d39d11caff521aad0fed3416a16097190b102db40970c63070eac4723831a428425abf9d6a1c4fb47ee18ef63cc3a7ef829938b528646f3ac14a46edf1
45 +DIST firefox-91.0.2-ca.xpi 541005 BLAKE2B 411c713142c91d73902d09667a2ee058a8f13c2ce7dd2655655a63e349176f15d998625a63b1b37e497bc5ef053ee5165f8a4552738ea1b4d92f541e955d68c7 SHA512 782878ed186ddc0e64aaed91c66f02d4387b2493f81357d73e6a7c2f2f5612929f6d2fc955b927dd7d12ef5e18f9890589691ea834ce6232aa60474b11e66d75
46 +DIST firefox-91.0.2-cak.xpi 568042 BLAKE2B 24f066877199909cbc65ae213e53f53f9393347d8ed16c09c54e9dd2e344715ee004d273e8a8720b60f71f993a93b986d0db80434e66ad9aeb7d998553ef5491 SHA512 14be651ab88b951617ae1f60b35ab61f4241268d261d9cbe2604e11bf2c4d0a8ccbc16a4ef980d88865d84112c4ff1577e7002b57a4af3cc1d90ccbf0693eb21
47 +DIST firefox-91.0.2-cs.xpi 571515 BLAKE2B ec03024b6e69364913f952b4ba56b7c4695f5067c7bb1115d7c27b1cf8f04abc7bc5ed023c3c5a6c673ee99356bff23af160a5ae642e741cb2b98b637fc9ed99 SHA512 b47773ce2f19f5e44de7ba59d27b01a533641d54b0354a2d0c1b4e6455f9ad9b8485f72dd03d2081d7780c2221c154b117b0f14e6669b2774fb11b19e1fd798b
48 +DIST firefox-91.0.2-cy.xpi 548289 BLAKE2B b0513e5f5eff768ad4061125a6de882a5046235115b115ec6da6e9d308b844a51482a189225c50906f675b7e47fa51cccd1028385ed69be809cc5ec22ef19ec7 SHA512 8eab5988490e1a0f396290f399ac47347bc269ea6ba6676a9e1ed6c52f9beb494687e1ee60eb1eb1b1a280be551c7c784a47925ce2652b4cac1cccd3712e14e2
49 +DIST firefox-91.0.2-da.xpi 540522 BLAKE2B 5c33f02e1940e8dbef839967276c9fe8fcc8011f814790825433c6960bb35e9d624af4c35d615516e43f5d65a2320266612d10516ff0d209ec49396f6154cd28 SHA512 50b8d81b568e1c29cabd304427ade67fae622d1a1af589773c148c9c2e45651baaba6b9707bbd54b1f103cbefcdd476ec5623773a9fb44fcb8c0a4377661e001
50 +DIST firefox-91.0.2-de.xpi 560089 BLAKE2B 47647865fa91e22e601b52ae2bcc8f2ac91619307551ef3dd260e258f7657d8ee164664eda40354a30e8c50be94402dca56b5ef9c53a2bc463c390130c8fd46b SHA512 8267c893cebec1cb3198045bbc5ec2cea821abbe8ade3488eec27b1d599d74de87df4396b686b509866f850dc3b996a0e665f8ff1e3b510f08fd8d7a9035b39d
51 +DIST firefox-91.0.2-dsb.xpi 572860 BLAKE2B 49debcc4b22fc28e7bd2b951b59898f4d60070dffb50f851759161731dabed3b8750424cb5d5517c9f71ef7c203b1f26ff370dcc0fdeae11fdb2a9606be4571b SHA512 bc045c295d4a33507a4037003e3dc32cd632d88c31c89b10543e5ee57b733659bee5ebcb45629fadf79ace5c6a47fc3fd9cc06aa2e75ac43edc3d32bcd67fe0f
52 +DIST firefox-91.0.2-el.xpi 646568 BLAKE2B 50a0fe00c2b14556f39d501232593289585213e66b65897f630e6688e1a3ab4b447ccd1634672148370c325712510e7dad884872360e8d8744db8901b51af849 SHA512 0e62e049b3a51ad1f2a2a95fa5ac62996a3e56a69a41355bc74e6af9ce487ec98e89a15237b351878c9a90f34f0ca5ce14d6d27659f432eafd11f960b4fa21a3
53 +DIST firefox-91.0.2-en-CA.xpi 515736 BLAKE2B f0de88e7c171910287fe40048c3c4e70c65856e6c7d6af06ff92edf4b0ff6600678f0f51164bb59b2315187200783068c0b28436d50004e64b944dc46c086684 SHA512 6b9b6a4fe029df7a283d78237b23f69bb57e84ff60055843dc422795dbec4fe92a396344c0be2467be7764d30f19d993c4af01e6935da688ad503090714ca610
54 +DIST firefox-91.0.2-en-GB.xpi 515982 BLAKE2B 034e89bbc4419c77913370b19f587b437588aa7f9ec27a84aeba27887ce2e31e967d695d67ecb725b31ac0d84e3fb56eb34491927cb4604bec658883a55f6a47 SHA512 fee033b59fb4305a373a902519537ef3293c74ad5ecc5016ce499bf845400d34e7ae5915ff5f95a3384f5eda20ddee97578f9c1d8c7f055936c4800e5341bfbc
55 +DIST firefox-91.0.2-eo.xpi 542048 BLAKE2B 374f51c5979d382e73c0bc4cbe7e4ea66112b4cea907f71cb140515632852a686ff0f3a1febd0f74e4c2c536977e7aec0c0eff43f33fe61ebaf3aa96238dc0c1 SHA512 cc0049d2b4b90833a66affb778a3481c1de0816bda7eb150616562c43fca9095d2d5704cc4c9edf346f29e30471c83848d15500a319caea5b04f7df8c0461708
56 +DIST firefox-91.0.2-es-AR.xpi 553517 BLAKE2B 311b2b0e5f4c0704b2bb993bd9da749b84c4780fe0b4dbfd960c11f6c0e33ac5b74bd7d88bf0e8a993019f52e093e5b5915d6a05660a655fd189363415939730 SHA512 792532867883d33fc234a204291c9966b06870db3d15d8710beba6be7892ad5d7ab0141191390372b44042f9ab6a3ef81c113ab7a6a675306fbdaffd2b3378e6
57 +DIST firefox-91.0.2-es-CL.xpi 552534 BLAKE2B 48891168c9de04fc35ee63cba20c0f0c03ae967e389a5cfdd6f6984663ccedd28d686f84d8ec4880b41938a5e64833c635c51b9b63c247f340aacc010beb2aea SHA512 e774fdbdab10bdaa97d81a8e05963b60921143aac2149cc03aacd0ad8b89689882617ad3052b78286300a2d8c44fb549577cc84d78048e725a7ecc1a831470e4
58 +DIST firefox-91.0.2-es-ES.xpi 542522 BLAKE2B 62d28273362e360317562939cfead517c5da7fe2d38b0e13123992e67dafe5ed4c06a5c426a28192719bbe6aee6cc59fc6d8e36bea10f8e544ec35e12c62b0ee SHA512 c50e56de633f981f0e8e5fb0c82f5ea0e347d71434bd467aa56c131a01d605b44f955e6cfffddd0e9a7a12fef98d811830d032aef2ede7a3b8576ae164e8ccdf
59 +DIST firefox-91.0.2-es-MX.xpi 556676 BLAKE2B ed87e4b73f9827a31c4b257c797f5b117d37f436ad7876f6aea71052ed858b700f535597372a49db9297bf51c8cb2c3a053661642fdbc228beb85f63d6542c65 SHA512 e07113691b8fc1a6b798dd8327f95d725f635fac7e198fde00f833528a073c69eab6b88c7e1d4c50340475c7fe2c1416498ca243cc6843bd93da8ef1342db95f
60 +DIST firefox-91.0.2-et.xpi 494142 BLAKE2B 4e8ace24cde2baf4826334e0fb7ae7209893bace1981f994fe3dd1c9b1cb4e7384eaa68db7974a8dfe0db2cba6ee468268f0852f47db81b975b02cd09c77185e SHA512 1f53ae61a22fe59935b7b7be506f466909e27ea3a541bcf36174ceea89bce56fd35b15372c7adecb92173e87ca0706c1bd39011fea40c136768410d9c2d49d8f
61 +DIST firefox-91.0.2-eu.xpi 539046 BLAKE2B 93cfe5c88109054e09fb0605d998bc4ebe9cde572332ed6fd8cef517e5afc50596175a08cbd041dceaa056c5a419cd494e6a75a2d19c54603b9d48be5b357424 SHA512 61bfe155b5abbcf15739576928e2f4f84f4898911fb862d2d51d45d4648d0f5ebfc7fab0770f64b295dbf604d6772883884d3f908dfeffbf6438f44ea1078f63
62 +DIST firefox-91.0.2-fa.xpi 561638 BLAKE2B f277a445a109761dea17a8601b62c1d03a53855d46ba17c5129aa5732695663499ae86ca279a1581db2bde6ee1b8dbec09506abb60ea8c39dd4550bdf735af8f SHA512 c0821849b254977c6002b92f0a48020476531f6485260155ef103e4564f6628f3b097c24877cb86adfa6ab0afaa15786924e65e3f60a2284753f7ba52514eda9
63 +DIST firefox-91.0.2-ff.xpi 485699 BLAKE2B 1d372646848dadb64a1ea0f084e762b8174f6f815fedd265dbe0b70af07a7fc472cc32ae755b18e4b9af8257dce5bfc18f67526a997e17734b4277573684b310 SHA512 bc34242897070e8593f8024f795d18e049fedd448d0084aff7b7d4765bd4d9b9458bb692cc54eae15872ebe7d2f22a00e732f1093a7628e216d4ccca0ba4615e
64 +DIST firefox-91.0.2-fi.xpi 539811 BLAKE2B d09217d946f8fdcdc9dd41b4d5c5bd9d9d30a37a1e1d4cc85b37c90d5e3a7874aa58c8297c7fb10ee437f738cdf64fef338c4aa0d92733c5f2c4a9aef877e0ab SHA512 4d87dc2bcaec4b3a1d653797fb3a56a609931ce3a24ca277fe0a050d0fd7336e5ddef881e03f7c161184c857aa0d361a7b9c80258ab42bc4e9fa73d335a8d8b1
65 +DIST firefox-91.0.2-fr.xpi 564055 BLAKE2B 7e6538a7246179fea01b20361334a7ce429e73f6cb7537c096ee512acc77192dc0e39546956c1cdffa9b497e4d14ba41ad38c5f5b583fe42f57032356086df28 SHA512 aa25c36a732d512c4d686698f69ed1467d82c02eb4476d8117959683f7aabd1ca580019e0450c39ecc95916b9e2765c4eeb5a94774ef3ca87e047830a8756925
66 +DIST firefox-91.0.2-fy-NL.xpi 549221 BLAKE2B b8b836dd7fa5f4f9bc0fb5ee9620db0ad2d1606ea26f49344433fbabb85321cfe760412d02fd61c010be25bc92f8793101e341527b8770375a20adfcc3c25666 SHA512 b452811f1fabc0240141996c393d2e0bc04a6d1163aa32e9cbcd381f2d505a0cc6b4d82192dfbfeb671346e111db16bbd6bf73712ce7015a3c4fbdcf438a0b2d
67 +DIST firefox-91.0.2-ga-IE.xpi 470699 BLAKE2B 1da8c8d70e28dddf138b6750b6bb5b03ce95349e1108f14e395993aae0c9c2631b40742b10ff4b5763e2d5c145fc316ca2394bf14715467e4ba75b542d51f23f SHA512 2d7cafdf455cf805ddb522152238dde6261964399f60bfaacf2c6cd70e54c047ae70fd0952254d34b7b1b4f9c85162687684f5e66c7d60ee0915571b96c78c84
68 +DIST firefox-91.0.2-gd.xpi 545686 BLAKE2B e6c5552211ca1b07426ae79e80fe9be7fb516ad831c4bb303f0aa1bb7e3f648062d0b29c9a617ed2bed3310dc51a28889232b4c413e93c6623126ff4fdb7a075 SHA512 5ebde92fbb0697745e8b8cb4d0eb40581a2a54f18fb967a90cbe7d90bf22ab9b1a40d04f7a52f1ef96c349167a4a50ef02476a68a5bf5d9fa911893a3a90f37b
69 +DIST firefox-91.0.2-gl.xpi 548390 BLAKE2B cacc1630f147ede28dab1c47d1eb4442077d0126fd5e02ab06572f33004e50f43a0a7365ef863ff0b3f983041b2b915cd34ce674c56602616912516dab39adfc SHA512 644cec199ab6f9919b82b3d903cda3fa12557c9e7ac0df4e4d41e854d04f54fb98775e80d052aee6a840c1de008c83390c4402cd3a0703de1edd94ec7ec37a37
70 +DIST firefox-91.0.2-gn.xpi 565276 BLAKE2B 7053cd1585af3a9f755a1f09132035e5b3e39f9b293364a411028fda8382dfe9ad91970a748c52dcad35fa526ddace25e0e032032dfcf8cd2008422b54be5117 SHA512 ca0476636fded14809fbc8549305b7f5d42382f973704f04fa6bd1cdfd378ce4340046a8ffc7959caf5345a5955cab235834d7830f77717a759e9404c8b74ba2
71 +DIST firefox-91.0.2-gu-IN.xpi 544513 BLAKE2B 414c5705c7b9116754c7a64b9b270d5fdf08589e50993643165c61e2a0874eeec5ca11156c9dd8bb7ec2edca05ba0c476f4df10927907b3a10aeb4f4a6a4f509 SHA512 2fc8ba1bb037a70e20c3914f304aa8798fe4f7bef9814d73f21df7e4deb2abd708ec90fe8c257640d66249fb21efea3226564416d326705f10258defbd84ccfb
72 +DIST firefox-91.0.2-he.xpi 563140 BLAKE2B f4a9fb78602318778be27806f67afc4d638248472386dd5f1140cda9922a3d62439d06e1ebe0b19ed8adf86f256bac14ff7cd5a53e6fa82ab05b5f596813e2a1 SHA512 0100acf0f6cce50fb382ba9e70c5b95e3862779308a6f6038726914226f1948b556335aac498f2737217f0a77037af2545788515bd1ea643af37c855ad0833ca
73 +DIST firefox-91.0.2-hi-IN.xpi 575682 BLAKE2B b93b1cfef22c48dc1fd7c1b6cf2f6198428aabcd19a002bd60c2b17e14cfa68e93253391783c179f20a4b619cb75ce2b4b09a58228525f73c8c9376075476bfe SHA512 8f9b0d18fb1ccac2df13faba3b84151e222b717b0110f3bed4b3800848bfd165c42388e3e81a76e7bd13356cbc1a85f4b6b8676f2c0179da3847beea5c7610cb
74 +DIST firefox-91.0.2-hr.xpi 544093 BLAKE2B 522e7738189dfdfa741bbf6e071a2a0af759830b9ef055d6397f22a95da390e6a22d6d08e4c5cf61588d8d6decf0e986c80be0720640c56d5081f9eae373bab6 SHA512 3284e8570ed98d6d453d87fc3d0805015b5219c4dab9d5413622a5bc95ff6026811b30a6e64546b138884f9e1bcdb04144efe6efaca6666ad37eb0a89ec1ffa9
75 +DIST firefox-91.0.2-hsb.xpi 568931 BLAKE2B 02948484c3d21a10bb1811921fbcc9a2e1d549358ba0436d4958edf85a5f3b5580d011ffa98c154c79c2349e3dbdd04f70993e70a62aaaf3a52d0a36d94b9540 SHA512 2767920e501cba28b842bb358dadea7a9b992b7324186dd1b4e6a8f3da404aa682a5f1e23d05c3c3ba79d5bd0550ed6631c07ceb3d35ec223974e6608c778dc4
76 +DIST firefox-91.0.2-hu.xpi 572766 BLAKE2B 85196c0e3107768d3b50c32d12a44156bae2ad7bfecd5f3588c9fbba4d122da4d8fb09bb2e9582a7c35f19e74f8622bac6e791da022f151e37727a5841c1b6aa SHA512 15be8f755bcdbd1c3f2ddb5f5e6861bb5b5eaac2fe6590c117b48d2a3dc841356d96c1385569a54eefb4232f3e0b9552f0082e9921f5dbd62a85e71519b4552f
77 +DIST firefox-91.0.2-hy-AM.xpi 599014 BLAKE2B 6a08d2427f3ed840cd88575d84e862bfc46998e6c1f5c51ed975b4e7f7e2f8bff373d11b59c71fdc4da34ff16cb4ac81ee2f803effd7e8cb4095086f6c43ead0 SHA512 6d6edbb1cc88a9d4af446f7979b559ec9fa848e6c89d45f00e0cd74278f2c0863bd1f7c78710c0238fcac7dd9fa1f62e79d9ef04931bf2df94d1899eada3c913
78 +DIST firefox-91.0.2-ia.xpi 538523 BLAKE2B 078f874a0252b40d0817ae333d157c0f18d9b3f84da9778702ef2ff96d55bab94395cfee04ae8b292fea36f7c8f7f3e62aea63a4aa4534073525532a60107760 SHA512 526712c639ced83b42602d160d020d66a1b5381db15e3be500d121820a697c48ba961ed5b874003e1df5b819da28107f620805b630b4fccd85613229841ebe47
79 +DIST firefox-91.0.2-id.xpi 533874 BLAKE2B 165ddea29605321b3296ade87e8cf276fecc45848b3df036527eaacb566ec3b44ccc5a90611a4f815279e0aabb06eaaba6c8b432460bc6bed8d92bf63247b174 SHA512 333874f55731dca69937a4f43fe335c0c066af4506955af8eb3da82764c5c05394f359429ee38992c51a714c7d7e0f4427235d54c52f176865a03b291dbd0bf9
80 +DIST firefox-91.0.2-is.xpi 481340 BLAKE2B bb8c5840492f47ef79c763e2677fbafcfd90b3d16c54f9492958fae73c12f575265873fe310dc9010fd55a62d42c74572351a828b78edbcd479aadaacba5ff93 SHA512 d74497fab93316d556002558768bb28ca26d39198d745e9d252b6c97a46179e9a33a207d0aafca098ee83de79522d5e73d75e1fbac3c0f83ebbbacd3d2d0a7a0
81 +DIST firefox-91.0.2-it.xpi 467043 BLAKE2B aca3186e0e425f0532f9be8c647c44f2edb934fdebfb0197d122e921e181093ff38485bc9f9e18e32bd2d3ae68a23219def152d00d0d435b7b643832d635b595 SHA512 070fadc60b7f06591a1e9714a12f3f60be04f6fc42ed4ff8713d8755fe39c1a99345f8e9fc0bdb94a825e5cc582e7d671275946a125597f08c57152927bbddf6
82 +DIST firefox-91.0.2-ja.xpi 599312 BLAKE2B 4535634b3469ee7e76f465ce87cb82baaff44bc69bf9b95c7691df876df4fe91bab899c48b3bbb2b665eef8259aa83251aa3c184b0296cd431a8e6c6ff82db0e SHA512 a1e813820de9b5e44d7adb18f1451c55e62924ed769e394b9a7b38ff24c6a96e49f674402e76b53eeb43d19e597f7df9083f0158987462157f48940808d6f057
83 +DIST firefox-91.0.2-ka.xpi 600142 BLAKE2B e1a2ebaa905ae3432c06f448f4a2e4414caebf92148abdd52d8077784f5d6d5c63770c7c797d5bbacf206ec7f5ed6410dfc3315229f7e13f67df1b225175a434 SHA512 d99056aec02d3c62a3b6fac4d44bd7bf35edd73de32500f9dcf2ac5320d6fdaf93bf495303873dd725d80651d393786a3fce5d7eb68ca5ecfaec5be199c9f3e6
84 +DIST firefox-91.0.2-kab.xpi 557813 BLAKE2B bd0baf375f7318ce8f88883f52368b0d35132674ccda5905e2154b03e493db6452267069b482c290d3db005bca450c038257262207b2547872d66136a0d864a5 SHA512 3afa8920925b1c54d7b37b26056bd170e246615544bd4e3efdac9404602e4c17d6b7f019c56819f4dbd53505bee220e7edec91d85ed442fbebccdfee7130b6bd
85 +DIST firefox-91.0.2-kk.xpi 614348 BLAKE2B 8cca4eaea30764e7156c55c13118d5ca1d9dda845be7894fe2bcfc734ace1d967e984cafd8e1a522298032a7f1f345847d806429cce0ea157ab12566c8f70d06 SHA512 12753ddc8419b830a0e6af938399902da277ee375cb29a144e32c1a71c5c5cb314c308ed1283bffea4127b70e5dada7449f141455fd148c0fbe0d85e56a817d2
86 +DIST firefox-91.0.2-km.xpi 544983 BLAKE2B 648abe7d2f3c4dfab206330886bf64e9e5e6a121612ef8589bd6f9bb2ce0f74a2db5336098e9f7b15fd959bc562be7aaa6e5c957f7b601ceab0f06be9eb5e7eb SHA512 5dedbefa7d088c87c009263ad6bf11b3c739478fb993a1b94fa10fa5d0e8771fe92db7548e52618543340f7d42774faf15a9ae834011577ad6a4f45d113163d9
87 +DIST firefox-91.0.2-kn.xpi 508521 BLAKE2B 70d6936f6b213428e3a09c94d6cdf9ede084c9c96dc0dcf43134bf31f1bbc356cc69354c3a6e9780b5f208e6ce254f7e307d31f39d2d38660260ad374c438b5c SHA512 e9bc6fa8cb3ebc9cd5d6f289b2d7f31a8f9063cf84819cd5e56e43db7a2d864ce2fcb09cf6602b53dd6cff595f62f50caa60343efd2ebed84c0c87bcf92c838b
88 +DIST firefox-91.0.2-ko.xpi 584343 BLAKE2B 58a4c560788b2b8f9c7e7f577cab11c7ca34cb243685bcecab8b8a5453f8634289b61b30c8717d2487d3ba10f59bf76a09af4e156fa7cfa4c2b7b81453355638 SHA512 7fbd65d20d1f72f6ce83b8efc2d2d37515360060b2a58d0395e03eb297aa136a13f919187b29027512f7558ab489cf73d7edec344e37a91578a2c03a346d2f7c
89 +DIST firefox-91.0.2-lij.xpi 481930 BLAKE2B 52dbe2aa33ce053073c0c157471d5c6be9c94743ec90523687f8ce70da96c17f64a59a1cf96c78f810e86a64b3ff573b366742184f617d7e4d713b3a8c85c564 SHA512 463bfffdae4e4969fdf9e1629dc44185e4774dd786d0a072b4ad3214230f0f6c8299b129b1dee1859a626cd2233e5c0af60128651b7722fb50b7892bcc873225
90 +DIST firefox-91.0.2-lt.xpi 567603 BLAKE2B f073ef003588d3fe0cfee368ddcfffbae6ef0b1a233f4e0ac9637b76b4724db5cc2452373098552103523d28426e71c6ab88149f0599cf40040c057dfc61b45c SHA512 664557a9e4d05ceac2fac9d51b89a672824b83eacfe14744cbb639866ae0efdf743c6d245f5c870dc97209b015ddc9ccc2feec9b71af717355f5073fc0fdbb08
91 +DIST firefox-91.0.2-lv.xpi 473333 BLAKE2B f53f90bb380bf60d960c998affdcf2d250fb84da847a6904d67a54f437e0e0c522346276a3db6967d5153998ddccb1916a98ff70ea44182117d300f0ce950582 SHA512 d59618421f4c3b8dd85e8a2eabe08c3a858eb3c8a06dec84da7451c4f12bd0a1161db3b300bae138558b552ebf5bcdba18494272b08871b4d7d1d05d280c7c34
92 +DIST firefox-91.0.2-mk.xpi 473479 BLAKE2B 6ff5f26980802fa7049fd550e56215807dda08fbf248f77c2d4d06255bf5d7c2897b5337582276b14ce7b11692c04c442d746559ac04b5d901dd6e53307e7cc6 SHA512 f8902b73f7dc119c960bf536817c47589f7d9bf4fad73ecbbb173bded865e96beeb1eee891ce69d4cd7be0732f7f07bf5a43290d79e32acb3b1d77ece720f1cf
93 +DIST firefox-91.0.2-mr.xpi 544869 BLAKE2B 8063812be027d53982c5b2c52c576622c4b5ee8add2deede210c70eb3a9fa77b4b82d8f78c2277cbcfec64955a76ef7f91d290b354aa01275c6d98cd15211b6d SHA512 75a95bd65b7caefd471a171fa56ceac1dcc73e65fb62d89af71da608fc44a802d3e239546f78340e9d61335765183dad85f1593cebbcfc7418d0e467a041e3f3
94 +DIST firefox-91.0.2-ms.xpi 457203 BLAKE2B 459bc8db9573053491d7708cf7136fd8b25f0ee406f1058d49b46868242ab2fbfcaa00fd5dd97bba830dd4fc3d98eed944adacf7fcdc3219b35b438bc76625bb SHA512 733971750312670a2345c3724585991e33e65d17126bd699be7c115da6f814700db01411776ea25adc2ee47ade78d6f8f18f4aa0b5e301dc749de5c1c2fdff26
95 +DIST firefox-91.0.2-my.xpi 530145 BLAKE2B 42909546ba46ed0e12a93703cdf356407e2b1bd0296d74748fbee32415bd1c8cd647602c7c7312eff94b31ef27fcfe9fe947dbbb999c10978c06027d6f90efeb SHA512 c24deca71aeaf03d083767b37758da97c20b735973bc7373d791b7d4f2d70175bd243b4ae8b65d3fd277cdf43d65133d7c536dec6e23aa395e68547176364ef9
96 +DIST firefox-91.0.2-nb-NO.xpi 534986 BLAKE2B 6393d435d9bc7f6afd76def4ebb3a03efde327a3bb8a3fd84eabcb485d4fd340bd0dbd84918102ff10fb9b5e9f3a5783d2404010c448a3eab34e0fcc5084b35b SHA512 bba89b13817da879d2fbc029dd42753122ef3ead9f24163c57f6e56daba4d83c69ec117dc729a87a8d217b073e0f623007e05bb5f15c5cc579a7a0c254ed9ad4
97 +DIST firefox-91.0.2-ne-NP.xpi 486178 BLAKE2B 22793df48a5a2f62169a441934aa8975470f7765b32d6097b19320c3cb4e3890cf95f9b5a91e7590781e342bdf0fcf26ce4949208fb8ce89001b4d3bf3adc5db SHA512 d4b67b1fde7c386cf0df744194e72df12e0341b85678378762d15ab86d0d9d1e03d9d251705986b5cf8bc67aaed54694d719b73426a2911b0ef3d1d00b76c14d
98 +DIST firefox-91.0.2-nl.xpi 543375 BLAKE2B 7089b4c42afb164560e45727f655255c8f6d0c0530dcd18535524520a9b011aa145f097c0d260b5a16df007ecca58dc63c8516ec55aee2559a5217b120c03db2 SHA512 5668f48b70798f5da84951c1f95ab60ad2d7e354abdb75546684d0df2749381c68ce0d3f8e481c29aa9d7e942cf092aa03e3967cd914dd8abd5c7f8fa7ba7366
99 +DIST firefox-91.0.2-nn-NO.xpi 537542 BLAKE2B 9bbb693c26e3776485d816cd032ecf380f3dde7785b9994f56c06d194127993bb22624b3d5a2d9e7c300b7676f9d1e8cb9627e9929cd80bce39c030e656e6949 SHA512 dab9c2c2bdb72fcf8463d82a351746c9cafa4b3400493098d8ebbb5c611a6b0563d070e36d7cc659351c45212551e7e77af023c91e13691d88a70afaea169484
100 +DIST firefox-91.0.2-oc.xpi 559028 BLAKE2B 341ad88da64ac06e86cff2ff2f2b3a31e420a1529e64f0b626c0374272d123a808cf47aa30104bc3821488d1051f3020fdb5a91c5ad590069857029b39d64038 SHA512 7fee4a09dfcfdc84372faa8ade371441985d235c73e1cd0349c7ac8d280ccd5f9ac1efb86530cb5dade4face156d6299f8d14a0b3d7972a49898da56b816a5d2
101 +DIST firefox-91.0.2-pa-IN.xpi 605086 BLAKE2B d31232b6ab3154ca7c1b4f69308c24fd9fa7ae5e367e02d089cb8f759ee95397b504f6a94c059b6c822597fecff69703af59cec5f299fac62b97c396ad132a06 SHA512 86a98ac48c729fb308ece202dec5116732dad5b13c75a8fcb6dd4a3e7f1888f432a5aaffa0b4fcef7de409d3f5d2e6e32c4b762f0e0c2e932d5510361835d0d4
102 +DIST firefox-91.0.2-pl.xpi 562852 BLAKE2B 45177be1a73deba99c21c00e92607567384fd93e632803b4babd3f6d0b2d4ee7106bb3cfaa713b44efa0f667bb524c0d4b0ed14f2cf3aef2ca46869e5dcec60f SHA512 913c5fd1618e09fdcf404af08754022249ac4dc3580efc823a3ffa14876eab949b28c41ea99d291d59d0012cee5306509108ebbcfbb97cd1d3396f9510831d09
103 +DIST firefox-91.0.2-pt-BR.xpi 549002 BLAKE2B a12c8b2d7dd6f5228a547a79f5f6527cbce47b599076d372d87501f8b965299c538072dd1845efa52f94c579506a82129dd5623d3d66ec8f7a325aabbfa63d9b SHA512 4de795d87061b9e4e6d484efd765d2cd68b68b98dcdcd58382095d8e4d7d3051650da3a28f01b632b5eb37c4c3e5f50f0a2dda3c97c02f5dd2097d472c957de4
104 +DIST firefox-91.0.2-pt-PT.xpi 552653 BLAKE2B a6b625df698b8dbb2686b140b8ad89a6e547197b91d397b72ce03b27357f037529eb4b9dc431b5a6c785f365dcbb0994060b87a11e77daad069687c7f39fba3a SHA512 499152aadb03b3721dda8ca4f1943b56122e4cb9ddccfc90d1eddd6f7c116ba2f3746e686ac1b4057a2c3a821beda3d1d6aada651b545fe144b5c86f3780bbce
105 +DIST firefox-91.0.2-rm.xpi 543758 BLAKE2B b5c6b7c255cf47d565379c2d09978d54fa84da46b29601c3ef23dccb244417080f22e6c18e96fdf5ba4c657da8e7f3adba1f1b44436e40fd615b4f2ec6ad70de SHA512 f3ffd1514fa4d664cbb5e0d1a3caa1c286dfce482665a111504d72c5e0c1f1db2148552c24e7daf801317c11732049df997134c481de790ae2962fa3c81a3183
106 +DIST firefox-91.0.2-ro.xpi 544870 BLAKE2B 638192c620112619abd447597f9d7db7bc09cc5b1fc7bafc1986863ff0904f78695fcebb4271d3ddb86167436d98052aa2b7fc5fdc919d1751beed00204c0f85 SHA512 b4700a3b946df0210683d463fc244cbe345f4ab34b4240ed746f15096a4a00448bbe5a3bbfd7bed1909c7df39cb9e234cf33db3650096a8d1b34767fb6694f81
107 +DIST firefox-91.0.2-ru.xpi 635037 BLAKE2B 1173448e8346105bf86e91be2467c5d5baa4f0afb8f79d83197acd3ede3fa88505a7f123f132a7dbab13c4bdc0aaf095815cc943056a1152569407b7d51afe63 SHA512 5e18f24daea284a47ec2a563d790e3dc8ae44ffdedffa684f737daee04fe480eedcf4ff60481d8c76becd0d1c16cb80954c612aa00162cf40390f9f2ac3727aa
108 +DIST firefox-91.0.2-sco.xpi 512252 BLAKE2B e91cd10d8db891b75f552cae391b9f20fc93e77ef9a01e13e3303425ec4758f63b5cf8806bbdecce2434f471f660148dc16c2bf9b872732f8156235995341809 SHA512 340626f186c46336b1b36c14f1b4e56d337ec0e04fe84a8cc2293b1cdf7b385d2068825fe81952ed28b983ad931a8e56d0e1828447a6fbad288a9016eca38375
109 +DIST firefox-91.0.2-si.xpi 496840 BLAKE2B 3609ada9163696aba196d9748e97f8e6ea16510b0f55145d23c16d8868def2236a178c4b429f0bf9f479c75ed83623e306443e102dc82c87be35de12fd4a8fde SHA512 7dfcfc0ebc6c2d9651c3274abfc25d100b451b55375a9e9380cc2586531ab08c0a5e1ce4d914f8b846f3d4f8c10ae33fe66c9d04817d01d5e7f3ef98239ea6d6
110 +DIST firefox-91.0.2-sk.xpi 572088 BLAKE2B 86020743034e7e00783038256231e1bcb3f2054d3c679db716d71ecc42e5b3be18e3151180250f82bbd03c99d72b71a886f5d8cb7b08da4fe596fcd1de62e5bb SHA512 5487d0ebf35a13368c3f2c4c6e933953ad43938f98a56660d7ee83156bfedfd5f766b8779ae0980aebebe6a4112cc3e90ad941159fed6767c4319c4bcbfed873
111 +DIST firefox-91.0.2-sl.xpi 542792 BLAKE2B 05b78a248eecd982251e83aea8d4e180388e5ba2424d8642c8b8c37e9024622bce4c7e268067bd2c959602326f7ded61f3268c25c6048abaff277f6eb53dd143 SHA512 684d20192df92823fdd853d8a79582748e2c1f3d95d40b2896952b931b34feaf4eedf222aea640ff576f0fe68efb661a48acfa616263a3d41d9777a23ddcd992
112 +DIST firefox-91.0.2-son.xpi 432937 BLAKE2B 592a2605a2fe3567e0dc5020382c3cad9ac152cfdd3793c679a1f776983cd9aa4cb83d59c39ff3dfca8c0e70c98fa8fa13ba5a11eed74ce906e2cd0c9f955aec SHA512 cac2639b2358550d50ba53cea726dbe65717d40296d63dc0eff85bbebb3cf0186c70ef6e8d83857e61b06bd5c425c1a72aec34723541e2aaded96ae6838e616d
113 +DIST firefox-91.0.2-sq.xpi 562223 BLAKE2B 49443861d6ecd85d6fe4383518a0b65b57055260d326778497042e771f62cbb830dc479e883fa154dd2f2a2dbf4061fde46f137f14e63b8bce76d4c90299f13a SHA512 c6a65bd7fc49ad9fd5af2c7b8b86c42a90b81074ea16411adeb6794195fda74cd13fc61762f0962ba6252da8011c8279deaf2352ec9be3439254fdc38c398d45
114 +DIST firefox-91.0.2-sr.xpi 596028 BLAKE2B 6ea53132a28738d54446b82fba65317a3f9f493f185f76595067d29a84551a69995d6676150946dc52df9df5f6836476d578b9609bb04f7ceda77f9bd8723e73 SHA512 c4e6b08d0e983bae2f76fc8b5d3c301dcb8103051d7d7d1766db7981972cfa8027cb178ddb854be6a95c4fb9c2b4a82336eee4fd5d4de7b6af4e98ad8d0526cd
115 +DIST firefox-91.0.2-sv-SE.xpi 546389 BLAKE2B 20dde060f8e0bb1a0117bd8d3135dd5593720eac58a946df6f6572fcc1a3c558052dd8db4d696b3c56326685af149d02ad023388539f45c71c959b0e5c24671a SHA512 42f66c348933a446aead3dbb115873e52a7f8ce428b75065ccac8e6bd6a3332f1f4a5e9fc30fd001f7e6fbce4c20f50c70f0aea52fe4f3bac605a1b94ba96e45
116 +DIST firefox-91.0.2-szl.xpi 522374 BLAKE2B 3100df810f0b26de1c4ba3e868e6855ef444654ddae1f15b1b28ff721f64b5807eebb154dc41d6d7ef30184e35a532e3357229148cb502e2a34a2b08b29060dd SHA512 4434ca0704390113fc22bcac26efdd376643b550d33f070493b2132421281983f1e0b4823b83319a3e11e274b9381d502fa193d52f7efe883ee6f801707b6e71
117 +DIST firefox-91.0.2-ta.xpi 523941 BLAKE2B 2c87a6ead3ba80ae2d31353dedaeb6f58da25751684e5341517720690f8ab52201259aad7ce33ed78816d817a5d3a3a2147ab3bba6513ea044971a8f7f273cdf SHA512 9c24dd0b1e17623af3166ca4078bee47a6958cd9287c8719a525f1c5ae8a88bc21044e8e83675c9e786be93fe6c1a4c30a91f1f68a880eae2351b4ad3bb050b7
118 +DIST firefox-91.0.2-te.xpi 564760 BLAKE2B 314220ed7b4ebe6bb27d740360b608c4702051a6f2762429868c9a116c568f87ae34eb062d86782e0e753febc70daf02ae844c3fdd3f1ccd67d13f2a4c404ce1 SHA512 4170d39649828e1c8395fdcd1b0e5555ca2ca32e4003c68ead981b108ac98c5cf955bcfc74486c3e940d8e5ce21c9853a7fda88b98b50698a979f7258d4bdeb4
119 +DIST firefox-91.0.2-th.xpi 614152 BLAKE2B 85b298f4dd95f35e7681fec5a736c3dcf27bea72d0c319292a342a8d5f72dd8764d02c98aac5e0d49326ac506cd8045715bbe8088e67062c97ec116e1f32779c SHA512 0ea959243a6edb9433bf86dffa7cabb09b4b69dbda218a4e040625c75d543d5e5cb065dcf6ebaa346b347abe6cf0d76237458cae8fab04f1ebef3e8a9320de63
120 +DIST firefox-91.0.2-tl.xpi 531316 BLAKE2B 0946e102605fc7c05c7e883b693cfeca11204f4d1d0793864e9c0f7a5c573b04f1714a72094e8e78b4106889068921a1c13b44ab77478352310c05507de9a087 SHA512 8f13de4fd691937296bb4c3e3d67b2d826b0e89ac0a972cf4ebe2bdabd4b5539bed9455a56f6211067900b9b003d388c90d96b2b25f4896ee9c78814a7bde6d2
121 +DIST firefox-91.0.2-tr.xpi 558469 BLAKE2B 1f6b73ada217f445cc9eb04358f7d6e84ffb20283d4bad63afc735536851af4a7198cc2a4e32a8c2b2659d212b89783844e006dbedc1a613353f76a523a0ab38 SHA512 c947f20755b5691bdb115e15108f6a6783a74b372dccc6912749e25ded9d01e463b4346bcd1b8d2d8ee017c95573b27431056ed3878c547b36be81a8f108fc9a
122 +DIST firefox-91.0.2-trs.xpi 503653 BLAKE2B ce6c5aceeffc3ce0f3980d64c6111c917ab984020d03b18302422a1db3dc8f9d56544e27b45dbdc12d4f394f41d133624932e390c358572b1a8f5df780d62717 SHA512 f1b16b1a9e97344d6f0326e29939ccd9a2e71dec21748310b4c76ea4ccd130f6e3c0ddaef7596eff073315d8d57602c12361aba45e85785720e73ccdcbf0768b
123 +DIST firefox-91.0.2-uk.xpi 628579 BLAKE2B 1276d8d95c61ab17748b3d5809b4fa1c0606b7eab417888e3e4f822295ffca7e1d5d38c6c3c5ee83b2dafd3fbef2462b942c245ab13e90775e252dadada43740 SHA512 314262e929bfeac9908709e01b78f0a42a9317e0c427cf47f87233353dcbee5ad12ca2b77a322c8a1bd481d43b42d133784170e5335429cf11ca16da838762a3
124 +DIST firefox-91.0.2-ur.xpi 572692 BLAKE2B 3726bed6a61448343fbe39dd952045d74ea16e9910c1b4712e0e4145fc852242b675265929f06f4f32daf31e648438cd95bcf2e3077005f12e21b28392283402 SHA512 f0d2ef0ee280096c905b29b8cf81e8a561d789e51b8cc45ffba4f56a79854fc0a9d28270fa85d1db85642690bfb1e3d8b2c77cd04fb81a0ffe5dbf3e9198c00a
125 +DIST firefox-91.0.2-uz.xpi 480939 BLAKE2B c992594e78b95eb6678ac7beba5a5c332b3af5d9ea09ffa77e052e0b4745a84c4e27abc9423d9ae0db44eee15ee3e05880da378a83f86754e3b55179b862ed20 SHA512 9b65130a52b0eb05cafda63960ac0bca6f499d1bf9422685b8e21647665daa837331d7f59fc82a6bf55cb7824e851cc86529e140e5316ebe319e06669bd8bf1e
126 +DIST firefox-91.0.2-vi.xpi 580492 BLAKE2B 9df06719539a0d9f9d55f6480bc438598eb632916b4254599df1aad25abb3ab3d379fb1d55d8dca39416dd9bd0e7f225c6579643a8a7883bf68aaf1d9783b56a SHA512 684ca1c7c994d3a67a27b3e3c1318bb6dd0b668a49da13c4c5cfb4fe695915a38f6f9cfbb7bc7ee3e322b6139f0ab561ef741b11a12ccd418e747b03a70e18b7
127 +DIST firefox-91.0.2-xh.xpi 435041 BLAKE2B e51f7abe34cd7e65be01e3a5c0288cced33e85c0e63e4bb33e62f0972724c689d40113f40cbdbeccb84ca536b540fa3a1653d8853c461c28b7f353fca11db1a9 SHA512 eb6ba0cc1446d67663270505e7f9b215733dd6d668218197c1b5a7c95b22c237ea5f66cea6b8a9ba7e74699d50643927e77c95b29f2922cf30aff5ac1bc9dc7c
128 +DIST firefox-91.0.2-zh-CN.xpi 581941 BLAKE2B 92ffe8fa9317e8240a522bf312333cf35359fc036e9caf6bdb8c56a4701163efbbe6f69145a0282963c255998c554a6f2f0876c31aa6c7396dc7bfd73f15ec85 SHA512 f09100f3d7555c00cdb33bc0b0a07488494baffe6bb8e7408c32196e91808625fcd9af24d4088bcbaa06637ccfc3f6e8772d29dc0c66b1335d09ca7a6e0ced55
129 +DIST firefox-91.0.2-zh-TW.xpi 582124 BLAKE2B 962fe6182f240fa5f1bce94f7e1038c958aefa0736a1b3b36a3565d26acd6361d19dc31cd4747dd723e9069490b073b2b2fdd328af440efaeeeed6531bb00a72 SHA512 3315585c1cc781c2f8707f7f092e70374e93166884149ee9123ddd1cc5e6c4950ce6ea5050637181a79096544d3567f0c4c46dbd88ddb6eb1d3e06c2c5b7346a
130 +DIST firefox-91.0.2.source.tar.xz 381193820 BLAKE2B 42e03ee63e9930a71716599fdeb538006e1a1404a81ecb0efc25511f4d2100b447c9c979d367c9f5fdd60c8ac667f50d36f250b1b755b8eb6eb8f7fdd909b612 SHA512 82084799524db6661d97d9942a01ca9edec2fae6b503c9dd2d79fca78bfef4ee0a888e5f5cf4cfa2b91d9c9392658bb8218bae2b9bec0fbcacfe73a174a4dbe7
131 DIST firefox-91.0.source.tar.xz 380788436 BLAKE2B 14cbe36c19b9dc64d3903994681bc42f2fbca30b97413088155620ec2a93433898bb1d247b55701bda61c4144cb8f1e460f6c2d5d5cdb57081a760f291c1a0d4 SHA512 a02486a3996570e0cc815e92c98890bca1d27ce0018c2ee3d4bff9a6e54dbc8f5926fea8b5864f208e15389d631685b2add1e4e9e51146e40224d16d5c02f730
132
133 diff --git a/www-client/firefox/firefox-91.0.2.ebuild b/www-client/firefox/firefox-91.0.2.ebuild
134 new file mode 100644
135 index 00000000000..b606ecd707c
136 --- /dev/null
137 +++ b/www-client/firefox/firefox-91.0.2.ebuild
138 @@ -0,0 +1,1149 @@
139 +# Copyright 1999-2021 Gentoo Authors
140 +# Distributed under the terms of the GNU General Public License v2
141 +
142 +EAPI="7"
143 +
144 +FIREFOX_PATCHSET="firefox-91-patches-03.tar.xz"
145 +
146 +LLVM_MAX_SLOT=12
147 +
148 +PYTHON_COMPAT=( python3_{7..10} )
149 +PYTHON_REQ_USE="ncurses,sqlite,ssl"
150 +
151 +WANT_AUTOCONF="2.1"
152 +
153 +VIRTUALX_REQUIRED="pgo"
154 +
155 +MOZ_ESR=
156 +
157 +MOZ_PV=${PV}
158 +MOZ_PV_SUFFIX=
159 +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
160 + MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
161 +
162 + # Convert the ebuild version to the upstream Mozilla version
163 + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
164 + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
165 + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
166 +fi
167 +
168 +if [[ -n ${MOZ_ESR} ]] ; then
169 + # ESR releases have slightly different version numbers
170 + MOZ_PV="${MOZ_PV}esr"
171 +fi
172 +
173 +MOZ_PN="${PN%-bin}"
174 +MOZ_P="${MOZ_PN}-${MOZ_PV}"
175 +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
176 +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
177 +
178 +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
179 + llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
180 + virtualx xdg
181 +
182 +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
183 +
184 +if [[ ${PV} == *_rc* ]] ; then
185 + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
186 +fi
187 +
188 +PATCH_URIS=(
189 + https://dev.gentoo.org/~{axs,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
190 +)
191 +
192 +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
193 + ${PATCH_URIS[@]}"
194 +
195 +DESCRIPTION="Firefox Web Browser"
196 +HOMEPAGE="https://www.mozilla.com/firefox"
197 +
198 +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
199 +
200 +SLOT="0/$(ver_cut 1)"
201 +LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
202 +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free geckodriver +gmp-autoupdate
203 + hardened hwaccel jack lto +openh264 pgo pulseaudio screencast sndio selinux
204 + +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
205 + +system-libvpx +system-webp wayland wifi"
206 +
207 +REQUIRED_USE="debug? ( !system-av1 )
208 + screencast? ( wayland )"
209 +
210 +BDEPEND="${PYTHON_DEPS}
211 + app-arch/unzip
212 + app-arch/zip
213 + >=dev-util/cbindgen-0.19.0
214 + >=net-libs/nodejs-10.23.1
215 + virtual/pkgconfig
216 + >=virtual/rust-1.51.0
217 + || (
218 + (
219 + sys-devel/clang:12
220 + sys-devel/llvm:12
221 + clang? (
222 + =sys-devel/lld-12*
223 + pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
224 + )
225 + )
226 + (
227 + sys-devel/clang:11
228 + sys-devel/llvm:11
229 + clang? (
230 + =sys-devel/lld-11*
231 + pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
232 + )
233 + )
234 + (
235 + sys-devel/clang:10
236 + sys-devel/llvm:10
237 + clang? (
238 + =sys-devel/lld-10*
239 + pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] )
240 + )
241 + )
242 + )
243 + amd64? ( >=dev-lang/nasm-2.13 )
244 + x86? ( >=dev-lang/nasm-2.13 )"
245 +
246 +CDEPEND="
247 + >=dev-libs/nss-3.68
248 + >=dev-libs/nspr-4.32
249 + dev-libs/atk
250 + dev-libs/expat
251 + >=x11-libs/cairo-1.10[X]
252 + >=x11-libs/gtk+-3.4.0:3[X]
253 + x11-libs/gdk-pixbuf
254 + >=x11-libs/pango-1.22.0
255 + >=media-libs/libpng-1.6.35:0=[apng]
256 + >=media-libs/mesa-10.2:*
257 + media-libs/fontconfig
258 + >=media-libs/freetype-2.4.10
259 + kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
260 + virtual/freedesktop-icon-theme
261 + >=x11-libs/pixman-0.19.2
262 + >=dev-libs/glib-2.26:2
263 + >=sys-libs/zlib-1.2.3
264 + >=dev-libs/libffi-3.0.10:=
265 + media-video/ffmpeg
266 + x11-libs/libX11
267 + x11-libs/libXcomposite
268 + x11-libs/libXdamage
269 + x11-libs/libXext
270 + x11-libs/libXfixes
271 + x11-libs/libXrender
272 + x11-libs/libXt
273 + dbus? (
274 + sys-apps/dbus
275 + dev-libs/dbus-glib
276 + )
277 + screencast? ( media-video/pipewire:0/0.3 )
278 + system-av1? (
279 + >=media-libs/dav1d-0.8.1:=
280 + >=media-libs/libaom-1.0.0:=
281 + )
282 + system-harfbuzz? (
283 + >=media-libs/harfbuzz-2.8.1:0=
284 + >=media-gfx/graphite2-1.3.13
285 + )
286 + system-icu? ( >=dev-libs/icu-69.1:= )
287 + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
288 + system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
289 + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
290 + system-webp? ( >=media-libs/libwebp-1.1.0:0= )
291 + wifi? (
292 + kernel_linux? (
293 + sys-apps/dbus
294 + dev-libs/dbus-glib
295 + net-misc/networkmanager
296 + )
297 + )
298 + jack? ( virtual/jack )
299 + selinux? ( sec-policy/selinux-mozilla )
300 + sndio? ( media-sound/sndio )"
301 +
302 +RDEPEND="${CDEPEND}
303 + jack? ( virtual/jack )
304 + openh264? ( media-libs/openh264:*[plugin] )
305 + pulseaudio? (
306 + || (
307 + media-sound/pulseaudio
308 + >=media-sound/apulse-0.1.12-r4
309 + )
310 + )
311 + selinux? ( sec-policy/selinux-mozilla )"
312 +
313 +DEPEND="${CDEPEND}
314 + pulseaudio? (
315 + || (
316 + media-sound/pulseaudio
317 + >=media-sound/apulse-0.1.12-r4[sdk]
318 + )
319 + )
320 + wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
321 + amd64? ( virtual/opengl )
322 + x86? ( virtual/opengl )"
323 +
324 +S="${WORKDIR}/${PN}-${PV%_*}"
325 +
326 +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
327 +# overridden in the enviromnent (advanced hackers only)
328 +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
329 + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
330 +fi
331 +
332 +llvm_check_deps() {
333 + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
334 + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
335 + return 1
336 + fi
337 +
338 + if use clang ; then
339 + if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
340 + einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
341 + return 1
342 + fi
343 +
344 + if use pgo ; then
345 + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
346 + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
347 + return 1
348 + fi
349 + fi
350 + fi
351 +
352 + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
353 +}
354 +
355 +MOZ_LANGS=(
356 + ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy
357 + da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu
358 + fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM
359 + ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my
360 + nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru sco
361 + si sk sl son sq sr sv-SE szl ta te th tl tr trs uk ur uz vi
362 + xh zh-CN zh-TW
363 +)
364 +
365 +mozilla_set_globals() {
366 + # https://bugs.gentoo.org/587334
367 + local MOZ_TOO_REGIONALIZED_FOR_L10N=(
368 + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
369 + )
370 +
371 + local lang xflag
372 + for lang in "${MOZ_LANGS[@]}" ; do
373 + # en and en_US are handled internally
374 + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
375 + continue
376 + fi
377 +
378 + # strip region subtag if $lang is in the list
379 + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
380 + xflag=${lang%%-*}
381 + else
382 + xflag=${lang}
383 + fi
384 +
385 + SRC_URI+=" l10n_${xflag/[_@]/-}? ("
386 + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
387 + SRC_URI+=" )"
388 + IUSE+=" l10n_${xflag/[_@]/-}"
389 + done
390 +}
391 +mozilla_set_globals
392 +
393 +moz_clear_vendor_checksums() {
394 + debug-print-function ${FUNCNAME} "$@"
395 +
396 + if [[ ${#} -ne 1 ]] ; then
397 + die "${FUNCNAME} requires exact one argument"
398 + fi
399 +
400 + einfo "Clearing cargo checksums for ${1} ..."
401 +
402 + sed -i \
403 + -e 's/\("files":{\)[^}]*/\1/' \
404 + "${S}"/third_party/rust/${1}/.cargo-checksum.json \
405 + || die
406 +}
407 +
408 +moz_install_xpi() {
409 + debug-print-function ${FUNCNAME} "$@"
410 +
411 + if [[ ${#} -lt 2 ]] ; then
412 + die "${FUNCNAME} requires at least two arguments"
413 + fi
414 +
415 + local DESTDIR=${1}
416 + shift
417 +
418 + insinto "${DESTDIR}"
419 +
420 + local emid xpi_file xpi_tmp_dir
421 + for xpi_file in "${@}" ; do
422 + emid=
423 + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
424 +
425 + # Unpack XPI
426 + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
427 +
428 + # Determine extension ID
429 + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
430 + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
431 + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
432 + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
433 + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
434 + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
435 + else
436 + die "failed to determine extension id"
437 + fi
438 +
439 + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
440 + newins "${xpi_file}" "${emid}.xpi"
441 + done
442 +}
443 +
444 +mozconfig_add_options_ac() {
445 + debug-print-function ${FUNCNAME} "$@"
446 +
447 + if [[ ${#} -lt 2 ]] ; then
448 + die "${FUNCNAME} requires at least two arguments"
449 + fi
450 +
451 + local reason=${1}
452 + shift
453 +
454 + local option
455 + for option in ${@} ; do
456 + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
457 + done
458 +}
459 +
460 +mozconfig_add_options_mk() {
461 + debug-print-function ${FUNCNAME} "$@"
462 +
463 + if [[ ${#} -lt 2 ]] ; then
464 + die "${FUNCNAME} requires at least two arguments"
465 + fi
466 +
467 + local reason=${1}
468 + shift
469 +
470 + local option
471 + for option in ${@} ; do
472 + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
473 + done
474 +}
475 +
476 +mozconfig_use_enable() {
477 + debug-print-function ${FUNCNAME} "$@"
478 +
479 + if [[ ${#} -lt 1 ]] ; then
480 + die "${FUNCNAME} requires at least one arguments"
481 + fi
482 +
483 + local flag=$(use_enable "${@}")
484 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
485 +}
486 +
487 +mozconfig_use_with() {
488 + debug-print-function ${FUNCNAME} "$@"
489 +
490 + if [[ ${#} -lt 1 ]] ; then
491 + die "${FUNCNAME} requires at least one arguments"
492 + fi
493 +
494 + local flag=$(use_with "${@}")
495 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
496 +}
497 +
498 +pkg_pretend() {
499 + if [[ ${MERGE_TYPE} != binary ]] ; then
500 + if use pgo ; then
501 + if ! has usersandbox $FEATURES ; then
502 + die "You must enable usersandbox as X server can not run as root!"
503 + fi
504 + fi
505 +
506 + # Ensure we have enough disk space to compile
507 + if use pgo || use lto || use debug ; then
508 + CHECKREQS_DISK_BUILD="13500M"
509 + else
510 + CHECKREQS_DISK_BUILD="6400M"
511 + fi
512 +
513 + check-reqs_pkg_pretend
514 + fi
515 +}
516 +
517 +pkg_setup() {
518 + if [[ ${MERGE_TYPE} != binary ]] ; then
519 + if use pgo ; then
520 + if ! has userpriv ${FEATURES} ; then
521 + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
522 + fi
523 + fi
524 +
525 + # Ensure we have enough disk space to compile
526 + if use pgo || use lto || use debug ; then
527 + CHECKREQS_DISK_BUILD="13500M"
528 + else
529 + CHECKREQS_DISK_BUILD="6400M"
530 + fi
531 +
532 + check-reqs_pkg_setup
533 +
534 + llvm_pkg_setup
535 +
536 + if use clang && use lto ; then
537 + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
538 + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
539 + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
540 +
541 + # temp fix for https://bugs.gentoo.org/768543
542 + # we can assume that rust 1.{49,50}.0 always uses llvm 11
543 + local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
544 + [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
545 + [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
546 +
547 + if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
548 + local version_llvm_rust="11"
549 + else
550 + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
551 + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
552 + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
553 + fi
554 +
555 + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
556 + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
557 + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
558 + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
559 + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
560 + eerror " - Build ${CATEGORY}/${PN} without USE=lto"
561 + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
562 + fi
563 + fi
564 +
565 + if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
566 + && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
567 + # bug 792705
568 + eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
569 + die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
570 + fi
571 +
572 + python-any-r1_pkg_setup
573 +
574 + # Avoid PGO profiling problems due to enviroment leakage
575 + # These should *always* be cleaned up anyway
576 + unset \
577 + DBUS_SESSION_BUS_ADDRESS \
578 + DISPLAY \
579 + ORBIT_SOCKETDIR \
580 + SESSION_MANAGER \
581 + XAUTHORITY \
582 + XDG_CACHE_HOME \
583 + XDG_SESSION_COOKIE
584 +
585 + # Build system is using /proc/self/oom_score_adj, bug #604394
586 + addpredict /proc/self/oom_score_adj
587 +
588 + if ! mountpoint -q /dev/shm ; then
589 + # If /dev/shm is not available, configure is known to fail with
590 + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
591 + ewarn "/dev/shm is not mounted -- expect build failures!"
592 + fi
593 +
594 + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
595 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
596 + # get your own set of keys.
597 + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
598 + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
599 + fi
600 +
601 + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
602 + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
603 + fi
604 +
605 + # Mozilla API keys (see https://location.services.mozilla.com/api)
606 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
607 + # get your own set of keys.
608 + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
609 + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
610 + fi
611 +
612 + # Ensure we use C locale when building, bug #746215
613 + export LC_ALL=C
614 + fi
615 +
616 + CONFIG_CHECK="~SECCOMP"
617 + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
618 + linux-info_pkg_setup
619 +}
620 +
621 +src_unpack() {
622 + local _lp_dir="${WORKDIR}/language_packs"
623 + local _src_file
624 +
625 + if [[ ! -d "${_lp_dir}" ]] ; then
626 + mkdir "${_lp_dir}" || die
627 + fi
628 +
629 + for _src_file in ${A} ; do
630 + if [[ ${_src_file} == *.xpi ]]; then
631 + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
632 + else
633 + unpack ${_src_file}
634 + fi
635 + done
636 +}
637 +
638 +src_prepare() {
639 + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
640 + eapply "${WORKDIR}/firefox-patches"
641 +
642 + # Allow user to apply any additional patches without modifing ebuild
643 + eapply_user
644 +
645 + # Make LTO respect MAKEOPTS
646 + sed -i \
647 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
648 + "${S}"/build/moz.configure/lto-pgo.configure \
649 + || die "sed failed to set num_cores"
650 +
651 + # Make ICU respect MAKEOPTS
652 + sed -i \
653 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
654 + "${S}"/intl/icu_sources_data.py \
655 + || die "sed failed to set num_cores"
656 +
657 + # sed-in toolchain prefix
658 + sed -i \
659 + -e "s/objdump/${CHOST}-objdump/" \
660 + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
661 + || die "sed failed to set toolchain prefix"
662 +
663 + sed -i \
664 + -e 's/ccache_stats = None/return None/' \
665 + "${S}"/python/mozbuild/mozbuild/controller/building.py \
666 + || die "sed failed to disable ccache stats call"
667 +
668 + einfo "Removing pre-built binaries ..."
669 + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
670 +
671 + # Clearing checksums where we have applied patches
672 + moz_clear_vendor_checksums target-lexicon-0.9.0
673 +
674 + # Create build dir
675 + BUILD_DIR="${WORKDIR}/${PN}_build"
676 + mkdir -p "${BUILD_DIR}" || die
677 +
678 + # Write API keys to disk
679 + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
680 + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
681 + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
682 +
683 + xdg_src_prepare
684 +}
685 +
686 +src_configure() {
687 + # Show flags set at the beginning
688 + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
689 + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
690 + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
691 + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
692 + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
693 +
694 + local have_switched_compiler=
695 + if use clang && ! tc-is-clang ; then
696 + # Force clang
697 + einfo "Enforcing the use of clang due to USE=clang ..."
698 + have_switched_compiler=yes
699 + AR=llvm-ar
700 + CC=${CHOST}-clang
701 + CXX=${CHOST}-clang++
702 + NM=llvm-nm
703 + RANLIB=llvm-ranlib
704 + elif ! use clang && ! tc-is-gcc ; then
705 + # Force gcc
706 + have_switched_compiler=yes
707 + einfo "Enforcing the use of gcc due to USE=-clang ..."
708 + AR=gcc-ar
709 + CC=${CHOST}-gcc
710 + CXX=${CHOST}-g++
711 + NM=gcc-nm
712 + RANLIB=gcc-ranlib
713 + fi
714 +
715 + if [[ -n "${have_switched_compiler}" ]] ; then
716 + # Because we switched active compiler we have to ensure
717 + # that no unsupported flags are set
718 + strip-unsupported-flags
719 + fi
720 +
721 + # Ensure we use correct toolchain
722 + export HOST_CC="$(tc-getBUILD_CC)"
723 + export HOST_CXX="$(tc-getBUILD_CXX)"
724 + tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
725 +
726 + # Pass the correct toolchain paths through cbindgen
727 + if tc-is-cross-compiler ; then
728 + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
729 + fi
730 +
731 + # Set MOZILLA_FIVE_HOME
732 + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
733 +
734 + # python/mach/mach/mixin/process.py fails to detect SHELL
735 + export SHELL="${EPREFIX}/bin/bash"
736 +
737 + # Set MOZCONFIG
738 + export MOZCONFIG="${S}/.mozconfig"
739 +
740 + # Initialize MOZCONFIG
741 + mozconfig_add_options_ac '' --enable-application=browser
742 +
743 + # Set Gentoo defaults
744 + export MOZILLA_OFFICIAL=1
745 +
746 + mozconfig_add_options_ac 'Gentoo default' \
747 + --allow-addon-sideload \
748 + --disable-cargo-incremental \
749 + --disable-crashreporter \
750 + --disable-install-strip \
751 + --disable-strip \
752 + --disable-updater \
753 + --enable-official-branding \
754 + --enable-release \
755 + --enable-system-ffi \
756 + --enable-system-pixman \
757 + --host="${CBUILD:-${CHOST}}" \
758 + --libdir="${EPREFIX}/usr/$(get_libdir)" \
759 + --prefix="${EPREFIX}/usr" \
760 + --target="${CHOST}" \
761 + --without-ccache \
762 + --with-intl-api \
763 + --with-libclang-path="$(llvm-config --libdir)" \
764 + --with-system-nspr \
765 + --with-system-nss \
766 + --with-system-png \
767 + --with-system-zlib \
768 + --with-toolchain-prefix="${CHOST}-" \
769 + --with-unsigned-addon-scopes=app,system \
770 + --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
771 + --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
772 +
773 + # Set update channel
774 + local update_channel=release
775 + [[ -n ${MOZ_ESR} ]] && update_channel=esr
776 + mozconfig_add_options_ac '' --update-channel=${update_channel}
777 +
778 + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
779 + mozconfig_add_options_ac '' --enable-rust-simd
780 + fi
781 +
782 + if [[ -s "${S}/api-google.key" ]] ; then
783 + local key_origin="Gentoo default"
784 + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
785 + key_origin="User value"
786 + fi
787 +
788 + mozconfig_add_options_ac "${key_origin}" \
789 + --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
790 + else
791 + einfo "Building without Google API key ..."
792 + fi
793 +
794 + if [[ -s "${S}/api-location.key" ]] ; then
795 + local key_origin="Gentoo default"
796 + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
797 + key_origin="User value"
798 + fi
799 +
800 + mozconfig_add_options_ac "${key_origin}" \
801 + --with-google-location-service-api-keyfile="${S}/api-location.key"
802 + else
803 + einfo "Building without Location API key ..."
804 + fi
805 +
806 + if [[ -s "${S}/api-mozilla.key" ]] ; then
807 + local key_origin="Gentoo default"
808 + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
809 + key_origin="User value"
810 + fi
811 +
812 + mozconfig_add_options_ac "${key_origin}" \
813 + --with-mozilla-api-keyfile="${S}/api-mozilla.key"
814 + else
815 + einfo "Building without Mozilla API key ..."
816 + fi
817 +
818 + mozconfig_use_with system-av1
819 + mozconfig_use_with system-harfbuzz
820 + mozconfig_use_with system-harfbuzz system-graphite2
821 + mozconfig_use_with system-icu
822 + mozconfig_use_with system-jpeg
823 + mozconfig_use_with system-libevent system-libevent "${SYSROOT}${EPREFIX}/usr"
824 + mozconfig_use_with system-libvpx
825 + mozconfig_use_with system-webp
826 +
827 + mozconfig_use_enable dbus
828 +
829 + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
830 +
831 + mozconfig_use_enable geckodriver
832 +
833 + if use hardened ; then
834 + mozconfig_add_options_ac "+hardened" --enable-hardening
835 + append-ldflags "-Wl,-z,relro -Wl,-z,now"
836 + fi
837 +
838 + mozconfig_use_enable jack
839 +
840 + mozconfig_use_enable pulseaudio
841 + # force the deprecated alsa sound code if pulseaudio is disabled
842 + if use kernel_linux && ! use pulseaudio ; then
843 + mozconfig_add_options_ac '-pulseaudio' --enable-alsa
844 + fi
845 +
846 + mozconfig_use_enable sndio
847 +
848 + mozconfig_use_enable wifi necko-wifi
849 +
850 + if use wayland ; then
851 + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
852 + else
853 + mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
854 + fi
855 +
856 + if use lto ; then
857 + if use clang ; then
858 + # Upstream only supports lld when using clang
859 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
860 +
861 + mozconfig_add_options_ac '+lto' --enable-lto=cross
862 + else
863 + # ThinLTO is currently broken, see bmo#1644409
864 + mozconfig_add_options_ac '+lto' --enable-lto=full
865 + fi
866 +
867 + if use pgo ; then
868 + mozconfig_add_options_ac '+pgo' MOZ_PGO=1
869 +
870 + if use clang ; then
871 + # Used in build/pgo/profileserver.py
872 + export LLVM_PROFDATA="llvm-profdata"
873 + fi
874 + fi
875 + else
876 + # Avoid auto-magic on linker
877 + if use clang ; then
878 + # This is upstream's default
879 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
880 + else
881 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
882 + fi
883 + fi
884 +
885 + # LTO flag was handled via configure
886 + filter-flags '-flto*'
887 +
888 + mozconfig_use_enable debug
889 + if use debug ; then
890 + mozconfig_add_options_ac '+debug' --disable-optimize
891 + else
892 + if is-flag '-g*' ; then
893 + if use clang ; then
894 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
895 + else
896 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
897 + fi
898 + else
899 + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
900 + fi
901 +
902 + if is-flag '-O0' ; then
903 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
904 + elif is-flag '-O4' ; then
905 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
906 + elif is-flag '-O3' ; then
907 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
908 + elif is-flag '-O1' ; then
909 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
910 + elif is-flag '-Os' ; then
911 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
912 + else
913 + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
914 + fi
915 + fi
916 +
917 + # Debug flag was handled via configure
918 + filter-flags '-g*'
919 +
920 + # Optimization flag was handled via configure
921 + filter-flags '-O*'
922 +
923 + # Modifications to better support ARM, bug #553364
924 + if use cpu_flags_arm_neon ; then
925 + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
926 +
927 + if ! tc-is-clang ; then
928 + # thumb options aren't supported when using clang, bug 666966
929 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \
930 + --with-thumb=yes \
931 + --with-thumb-interwork=no
932 + fi
933 + fi
934 +
935 + if [[ ${CHOST} == armv*h* ]] ; then
936 + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
937 +
938 + if ! use system-libvpx ; then
939 + sed -i \
940 + -e "s|softfp|hard|" \
941 + "${S}"/media/libvpx/moz.build \
942 + || die
943 + fi
944 + fi
945 +
946 + if use clang ; then
947 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
948 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
949 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
950 + local disable_elf_hack=
951 + if use amd64 ; then
952 + disable_elf_hack=yes
953 + elif use x86 ; then
954 + disable_elf_hack=yes
955 + elif use arm ; then
956 + disable_elf_hack=yes
957 + fi
958 +
959 + if [[ -n ${disable_elf_hack} ]] ; then
960 + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
961 + fi
962 + elif tc-is-gcc ; then
963 + if ver_test $(gcc-fullversion) -ge 10 ; then
964 + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
965 + append-cxxflags -fno-tree-loop-vectorize
966 + fi
967 + fi
968 +
969 + # Additional ARCH support
970 + case "${ARCH}" in
971 + arm)
972 + # Reduce the memory requirements for linking
973 + if use clang ; then
974 + # Nothing to do
975 + :;
976 + elif tc-ld-is-gold || use lto ; then
977 + append-ldflags -Wl,--no-keep-memory
978 + else
979 + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
980 + fi
981 + ;;
982 + esac
983 +
984 + if ! use elibc_glibc ; then
985 + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
986 + fi
987 +
988 + # Allow elfhack to work in combination with unstripped binaries
989 + # when they would normally be larger than 2GiB.
990 + append-ldflags "-Wl,--compress-debug-sections=zlib"
991 +
992 + # Make revdep-rebuild.sh happy; Also required for musl
993 + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
994 +
995 + # Pass $MAKEOPTS to build system
996 + export MOZ_MAKE_FLAGS="${MAKEOPTS}"
997 +
998 + # Use system's Python environment
999 + export MACH_USE_SYSTEM_PYTHON=1
1000 +
1001 + # Disable notification when build system has finished
1002 + export MOZ_NOSPAM=1
1003 +
1004 + # Portage sets XARGS environment variable to "xargs -r" by default which
1005 + # breaks build system's check_prog() function which doesn't support arguments
1006 + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
1007 +
1008 + # Set build dir
1009 + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
1010 +
1011 + # Show flags we will use
1012 + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
1013 + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
1014 + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
1015 + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
1016 + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
1017 +
1018 + # Handle EXTRA_CONF and show summary
1019 + local ac opt hash reason
1020 +
1021 + # Apply EXTRA_ECONF entries to $MOZCONFIG
1022 + if [[ -n ${EXTRA_ECONF} ]] ; then
1023 + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
1024 + for opt in "${ac[@]}"; do
1025 + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
1026 + done
1027 + fi
1028 +
1029 + echo
1030 + echo "=========================================================="
1031 + echo "Building ${PF} with the following configuration"
1032 + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
1033 + [[ -z ${hash} || ${hash} == \# ]] \
1034 + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
1035 + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
1036 + done
1037 + echo "=========================================================="
1038 + echo
1039 +
1040 + ./mach configure || die
1041 +}
1042 +
1043 +src_compile() {
1044 + local virtx_cmd=
1045 +
1046 + if use pgo ; then
1047 + virtx_cmd=virtx
1048 +
1049 + # Reset and cleanup environment variables used by GNOME/XDG
1050 + gnome2_environment_reset
1051 +
1052 + addpredict /root
1053 + fi
1054 +
1055 + local -x GDK_BACKEND=x11
1056 +
1057 + ${virtx_cmd} ./mach build --verbose \
1058 + || die
1059 +}
1060 +
1061 +src_install() {
1062 + # xpcshell is getting called during install
1063 + pax-mark m \
1064 + "${BUILD_DIR}"/dist/bin/xpcshell \
1065 + "${BUILD_DIR}"/dist/bin/${PN} \
1066 + "${BUILD_DIR}"/dist/bin/plugin-container
1067 +
1068 + DESTDIR="${D}" ./mach install || die
1069 +
1070 + # Upstream cannot ship symlink but we can (bmo#658850)
1071 + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
1072 + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
1073 +
1074 + # Don't install llvm-symbolizer from sys-devel/llvm package
1075 + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
1076 + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
1077 + fi
1078 +
1079 + # Install policy (currently only used to disable application updates)
1080 + insinto "${MOZILLA_FIVE_HOME}/distribution"
1081 + newins "${FILESDIR}"/distribution.ini distribution.ini
1082 + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
1083 +
1084 + # Install system-wide preferences
1085 + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
1086 + insinto "${PREFS_DIR}"
1087 + newins "${FILESDIR}"/gentoo-default-prefs.js all-gentoo.js
1088 +
1089 + local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.js"
1090 +
1091 + # Set dictionary path to use system hunspell
1092 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
1093 + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
1094 + EOF
1095 +
1096 + # Force hwaccel prefs if USE=hwaccel is enabled
1097 + if use hwaccel ; then
1098 + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
1099 + >>"${GENTOO_PREFS}" \
1100 + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
1101 + fi
1102 +
1103 + if ! use gmp-autoupdate ; then
1104 + local plugin
1105 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1106 + einfo "Disabling auto-update for ${plugin} plugin ..."
1107 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
1108 + pref("media.${plugin}.autoupdate", false);
1109 + EOF
1110 + done
1111 + fi
1112 +
1113 + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
1114 + if use system-harfbuzz ; then
1115 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
1116 + sticky_pref("gfx.font_rendering.graphite.enabled", true);
1117 + EOF
1118 + fi
1119 +
1120 + # Install language packs
1121 + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
1122 + if [[ -n "${langpacks}" ]] ; then
1123 + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
1124 + fi
1125 +
1126 + # Install geckodriver
1127 + if use geckodriver ; then
1128 + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
1129 + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
1130 + exeinto "${MOZILLA_FIVE_HOME}"
1131 + doexe "${BUILD_DIR}"/dist/bin/geckodriver
1132 +
1133 + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
1134 + fi
1135 +
1136 + # Install icons
1137 + local icon_srcdir="${S}/browser/branding/official"
1138 + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
1139 +
1140 + insinto /usr/share/icons/hicolor/symbolic/apps
1141 + newins "${icon_symbolic_file}" ${PN}-symbolic.svg
1142 +
1143 + local icon size
1144 + for icon in "${icon_srcdir}"/default*.png ; do
1145 + size=${icon%.png}
1146 + size=${size##*/default}
1147 +
1148 + if [[ ${size} -eq 48 ]] ; then
1149 + newicon "${icon}" ${PN}.png
1150 + fi
1151 +
1152 + newicon -s ${size} "${icon}" ${PN}.png
1153 + done
1154 +
1155 + # Install menu
1156 + local app_name="Mozilla ${MOZ_PN^}"
1157 + local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop"
1158 + local desktop_filename="${PN}.desktop"
1159 + local exec_command="${PN}"
1160 + local icon="${PN}"
1161 + local use_wayland="false"
1162 +
1163 + if use wayland ; then
1164 + use_wayland="true"
1165 + fi
1166 +
1167 + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
1168 +
1169 + sed -i \
1170 + -e "s:@NAME@:${app_name}:" \
1171 + -e "s:@EXEC@:${exec_command}:" \
1172 + -e "s:@ICON@:${icon}:" \
1173 + "${WORKDIR}/${PN}.desktop-template" \
1174 + || die
1175 +
1176 + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
1177 +
1178 + rm "${WORKDIR}/${PN}.desktop-template" || die
1179 +
1180 + # Install wrapper script
1181 + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
1182 + newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
1183 +
1184 + # Update wrapper
1185 + sed -i \
1186 + -e "s:@PREFIX@:${EPREFIX}/usr:" \
1187 + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
1188 + -e "s:@APULSELIB_DIR@:${apulselib}:" \
1189 + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
1190 + "${ED}/usr/bin/${PN}" \
1191 + || die
1192 +}
1193 +
1194 +pkg_preinst() {
1195 + xdg_pkg_preinst
1196 +
1197 + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
1198 + # does not need to be forced into the LD_LIBRARY_PATH
1199 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1200 + einfo "APULSE found; Generating library symlinks for sound support ..."
1201 + local lib
1202 + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
1203 + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
1204 + # A quickpkg rolled by hand will grab symlinks as part of the package,
1205 + # so we need to avoid creating them if they already exist.
1206 + if [[ ! -L ${lib##*/} ]] ; then
1207 + ln -s "${lib}" ${lib##*/} || die
1208 + fi
1209 + done
1210 + popd &>/dev/null || die
1211 + fi
1212 +}
1213 +
1214 +pkg_postinst() {
1215 + xdg_pkg_postinst
1216 +
1217 + if ! use gmp-autoupdate ; then
1218 + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
1219 + elog "installing into new profiles:"
1220 + local plugin
1221 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1222 + elog "\t ${plugin}"
1223 + done
1224 + elog
1225 + fi
1226 +
1227 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1228 + elog "Apulse was detected at merge time on this system and so it will always be"
1229 + elog "used for sound. If you wish to use pulseaudio instead please unmerge"
1230 + elog "media-sound/apulse."
1231 + elog
1232 + fi
1233 +
1234 + local show_doh_information show_normandy_information show_shortcut_information
1235 +
1236 + if [[ -z "${REPLACING_VERSIONS}" ]] ; then
1237 + # New install; Tell user that DoH is disabled by default
1238 + show_doh_information=yes
1239 + show_normandy_information=yes
1240 + show_shortcut_information=no
1241 + else
1242 + local replacing_version
1243 + for replacing_version in ${REPLACING_VERSIONS} ; do
1244 + if ver_test "${replacing_version}" -lt 91.0 ; then
1245 + # Tell user that we no longer install a shortcut
1246 + # per supported display protocol
1247 + show_shortcut_information=yes
1248 + fi
1249 + done
1250 + fi
1251 +
1252 + if [[ -n "${show_doh_information}" ]] ; then
1253 + elog
1254 + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
1255 + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
1256 + elog "DNS traffic to Cloudflare by default is not a good idea and applications"
1257 + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
1258 + elog "(\"Off by choice\") by default."
1259 + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
1260 + fi
1261 +
1262 + # bug 713782
1263 + if [[ -n "${show_normandy_information}" ]] ; then
1264 + elog
1265 + elog "Upstream operates a service named Normandy which allows Mozilla to"
1266 + elog "push changes for default settings or even install new add-ons remotely."
1267 + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
1268 + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
1269 + elog "concerns prevail, which is why we have switched off the use of this"
1270 + elog "service by default."
1271 + elog
1272 + elog "To re-enable this service set"
1273 + elog
1274 + elog " app.normandy.enabled=true"
1275 + elog
1276 + elog "in about:config."
1277 + fi
1278 +
1279 + if [[ -n "${show_shortcut_information}" ]] ; then
1280 + elog
1281 + elog "Since firefox-91.0 we no longer install multiple shortcuts for"
1282 + elog "each supported display protocol. Instead we will only install"
1283 + elog "one generic Mozilla Firefox shortcut."
1284 + elog "If you still want to be able to select between running Mozilla Firefox"
1285 + elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
1286 + fi
1287 +}