summaryrefslogtreecommitdiff
path: root/www-client/firefox
diff options
context:
space:
mode:
Diffstat (limited to 'www-client/firefox')
-rw-r--r--www-client/firefox/Manifest101
-rw-r--r--www-client/firefox/firefox-78.13.0.ebuild2
-rw-r--r--www-client/firefox/firefox-91.0.1.ebuild1149
3 files changed, 1250 insertions, 2 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 8642842a5b40..1b0717e3a74e 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -301,6 +301,7 @@ DIST firefox-90.0.2-zh-CN.xpi 588311 BLAKE2B 6656456291738d7b7651e14558a288eec05
DIST firefox-90.0.2-zh-TW.xpi 588723 BLAKE2B 295e5ebb3f810f1ab8b66f301ee5fcd67d147cc640daabbb12e481baf835a439992fc5e1d1195bcd8b28e91336281b2e94d207d77261ec1297c784fdc3fba5eb SHA512 a6b5747fc3986357f13db401dd93763f370e547e3fae61330108debd981fbc630f6af8003d6146e73cdcc948e4b79fc00614e6a257358155b3cfe0176d2e55de
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.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
@@ -397,9 +398,107 @@ DIST firefox-91.0-vi.xpi 580502 BLAKE2B 7c6886328396a24e164fdd9fe8d61a012c09dc1c
DIST firefox-91.0-xh.xpi 435046 BLAKE2B 39d8bbf73f7360899ff2e3e17ea76aa23096b090d1941c69df45b58e4ccd32ea44fb8ac6f7bc73e7ca61871aca9f94f2b815a5484c3e46adaae36afe02ae82fb SHA512 68ea88ed0116d662f08f7ce581cd3f14d3685e7a41b1fc0cf104204f09750e5b1b6e3f7884385498888b419091b991907f2fe159465e00313dcc4e69511b9a4d
DIST firefox-91.0-zh-CN.xpi 581935 BLAKE2B 346ca8b1d7d99c31544e58e679988f0b53277c0d59dcc6be642a5fac863c1691c1e1ec66b815f7644383b907d04eb3481c850d0c5919dbabd159475cce1de831 SHA512 0456290e208fa190ea6e0a9f07a86c0ddbfbbfbcda7fe5c2d292bc6718de38838b30ad9412b8d26e57f56d7d42be76122a6d6b409d0c2ee298f738bbe3b98d4c
DIST firefox-91.0-zh-TW.xpi 582117 BLAKE2B 0f39cab747215ec9ab3e3da043e8650ab654f5dcaf8c26e7f96b373f6fa101a7c8960f3873fb5cadaae879170dcf27d67d06791b7e25732964c3f5f830e7e137 SHA512 5e504c968fae303241b8ba475f030fd228d19deeb54df80520e32dfd005b626dc6fcc4dfc4c906d614b8e747094d474734d0a9c47baabd5121271f8063df4985
+DIST firefox-91.0.1-ach.xpi 465287 BLAKE2B 2d45551393247fda1a64aa05e8491c52e476c033a457cdd8872b3cab88028692f360b2310174116b93437e6523d86c19150045187f1392fa2973cab0f9141a8f SHA512 560cf7a68510d55909a15524af17b3e49c3c6acd84d61c509545ca0661733779b563699952f07d8efd6becd569b204f7114aa7434ff8889184f5c2f0a71d4d07
+DIST firefox-91.0.1-af.xpi 433153 BLAKE2B d7b7210a9dbe92e2e73493539e3245f265247a6a754461c96e3a29fcfdfc5714ddfb83025b08d862d76bd19fab03fbb9892665fc8987033a406cd6e0ed0be6d5 SHA512 65ac9bc81d3676b1dd7871596fb8ee3361bc1e6204571319adc2691c8969234c7c0a66c00a52244e1ff8bbf213f38ae4ea9c85a181d3c92039cfc47902305e8f
+DIST firefox-91.0.1-an.xpi 511815 BLAKE2B 286a6e19f1a882942f187204a2923ec7e8ec38eded208acb0fe01b0c0f83f3b9cb30dc9bfe622d5a66ef327732ad8aebd415177716133abb074e8e85c1d400a2 SHA512 df6c249c5f0f572c4d128ff62e4c49d13dc6c2e4e3d450f290f4f9e55c18da2d1ffc4d04f75359e827b7a2b0d8d242c3f3f40f9e08d64e64e2d0c27a8e1390e5
+DIST firefox-91.0.1-ar.xpi 573965 BLAKE2B 52b50fe23ee9cc59730bd6baa81f0032ed46f54e6e633820a19632b6c45c8a1dd9fe0f73c2644b093f104c92f9ab6dfe621c1a6d88853a1ad516b63082a9d0eb SHA512 b20cc21d86967e15c5dc9276040ce46e51de8514905b78ebf9887cfb5c74135f425a3cabcdb7d6cf93be9c8d84e599e0c2083fd07b79d45c2d404a90536edfc1
+DIST firefox-91.0.1-ast.xpi 502959 BLAKE2B 07415fb7f77703a299e022c5283889ff070492f1e68709a610ab571a2d03af5449a751ccdff071b41091f271174aff8515cd090232ee3a8afb8524326488fe2e SHA512 a525017e47323d0680e5ec15ab1dfdb5be45994fe27506d0088c2e02d5ffbe9aa37d426b3032e4343f01d9f1e597359f46b73bd32847de02a524c47a82befb3a
+DIST firefox-91.0.1-az.xpi 500888 BLAKE2B fc33248a75f92dba2b6f905a18b184fa819a8b22244744e34c562bd824a4d5a352a39da7378a3810ac2ffc60c5e037ac627ff4d69271c3c1bdbc4b24d7c3559f SHA512 831ad2fa7fce8f1a1b3c5c4e69c0be8f412802a1b45c980f344f0329aa5b35f407185c7e863ef521e6be8ddea7b1c4ebd51112c47854891b11c1d8ba116feb3d
+DIST firefox-91.0.1-be.xpi 630159 BLAKE2B 54f5d6cb3e7cd8fe093637f4894afbe58627d0f548fe75095b97580af6be66ffec73dbf80176ad954742eb5cdafb790017f54f9a66594a948d84bd938dc137a7 SHA512 d126e4d28cf90a843c7591a032761e7fa9bf693ce5c94b2620b70d88e146896114ca975514a258e62c57affac13884c1dd3f560ab5a27287adefcf3755066d97
+DIST firefox-91.0.1-bg.xpi 585089 BLAKE2B c1986ecf74b055f5be9b20f40bc564b6ee4442fcd5aa8336b57dc45ca552c866cb209514aea48b124c10310c91d6a4a5c74353043a10dfba059f7557d1dedfb3 SHA512 db96440741c136a6bc8f6b71be0c100fe283dc85798f0c4be0975e543a1fed89e3045f81f8bc0299b702dac6b4f0336181154e256ce10831b6f4b922c117d624
+DIST firefox-91.0.1-bn.xpi 576483 BLAKE2B b7a85debdcb0a7ad07ab095d5d53e625d07608a118b29bca5491dbbf81455516c83b6cd2156cded61d050dd5239620e2c764460f091bee4f122cd74a0bde2d77 SHA512 d0498f27bc4e4b1e23cf5d53364b8c70c41f5e47542c34cd2151b25bb36d608da6897035af9493c1e07d0af8603abfb411953a84874df0d77e90c03e5dc8cff3
+DIST firefox-91.0.1-br.xpi 534797 BLAKE2B ee346228bb3f8cd0d2b6fac0b8fbe08cb37f36a151a63e181235894dd4608894442d481d7740f8543e538c8a9778d838a3f8b239642a17f9ef0621f0873643d8 SHA512 fe5bffa7fadb5192d4054ffcf865dd2fb2063d43e8012103280cb121fa59d39818a60f9d9305b22358942a5a55f4a34a3de188a1b7350f10a6820de8af918908
+DIST firefox-91.0.1-bs.xpi 473115 BLAKE2B 3d667ec86b2e840c39f412df88fa7183945e6a55ab9134300bc36ac1fe7d59324fa85b8efc8f6685ff813f734ab7c983f9afb9bb96c621e683311e50be8018b0 SHA512 fc81e1e90becee4436fe56ddccd986e9c975e4bf27a2497841e22dbf1f06358596071148fe9f00a729da549d80f31d6e341ec717e9eb63baebbd1e9403f8de16
+DIST firefox-91.0.1-ca-valencia.xpi 543224 BLAKE2B 0aa78a5d29c40ecea6aca34b4597b218433e67101a4018c64a8ebd7235bae0a4257570afecb9f1da75107379a72934752c57734cb81bb708461dd8b1127235a7 SHA512 b22d1013b3f60df720c7070f3e4ec62bf72b63629ea4828eef5def4edba4793a34ecc14aab8b5e21613193713ac13cbf53b3d240c6716a91523bef4a6752ccb8
+DIST firefox-91.0.1-ca.xpi 540998 BLAKE2B 1e7694f1e055516d36cc1e40360b5e60c94839b16ba9cdc7a241a308dd87e0fb46930ecd48a04bae560d35ad19cb480221cf0334f077c2260b2fb8f884142769 SHA512 01e3aefbb2cec10c86e7e18f45ec85b4d433cc995518c878411872a93c24d883dbb7a3087a51ba170d991a4e5263c75d59855b8a82ba21e329615fb33b89e48d
+DIST firefox-91.0.1-cak.xpi 568040 BLAKE2B a59457069ac664c299073e66ae405178241096cecf693b2b9eacade23c1916c5b171fc17a0d84286f3954d2b412e5dd87d10da2ababc258932d4171d49744c17 SHA512 1c0ff812049e5f09dacd795342722f117f33ecc4d6a2b62f0627971f91b68ad1ef62af85f1f694832318b06e5409560867256231a667b02bf9d01933cd610886
+DIST firefox-91.0.1-cs.xpi 571507 BLAKE2B 7804cf6786ab37d5f365b8901ffa49cef5b5176994cd380717b1fb1ac36816d6fbb97bae23c64851120c9fdb8bd24f35a729a5f8b8cda859c45e1522bf007228 SHA512 7667c0088c1366cb10720bbe52f8e7a58697f0c14c6319206b601bbb293f49d0d70bb0db57ee3e354665b29688b1612ef257d468a449843b387f06c0c81aa8a0
+DIST firefox-91.0.1-cy.xpi 548290 BLAKE2B c6f40f2f5c6eac115e8d31c54010b5d6478e18fca3eb7cb4944782abc84b66b7415acae4b7e3dcf5df91e4e78b280cbb66a6f86e9fff3ba62cb1a650338f1630 SHA512 e74e3de44863a6258b961b863961d620ea2c76386bab929a6dd954aacc7323bf2eb0b9e63619f62103a1224fecd5ab9adf633e99173661e07d0575e94649bbf7
+DIST firefox-91.0.1-da.xpi 540522 BLAKE2B 28962025613bb8f43a9493ceb3195ce94933691be571c950abac62c30ae75ce327c7b1834fe9a02de5209d94c66e62de346bb4e688bca21aa9ae284482652696 SHA512 958d7c260b947d7577f88f482aa9df9af0350b2efd618a47d1332d9f50418200c2e62c7bb71fe5136c80604b6450022aaeb78e16dff50a1c2ef63a12122fa316
+DIST firefox-91.0.1-de.xpi 560086 BLAKE2B 99079af04537beac2bab4b5591bd915295043597e09ff496c95c9c54bc9a8b30502a3d73e41eb54cb3ef3632a46fb3f92dcea88b8e0c21e7e7a1ace1f9511fea SHA512 8c0c1512ade19c9005bba51bd9bc2d559a84559c0b5db99c6687cceac7a9fd6f9aa0383815e9592a2ba656aed42d337fa94a687104738c8a76db649f0e150dd6
+DIST firefox-91.0.1-dsb.xpi 572852 BLAKE2B 5b5a79b15711ab50779d8af85095ce963ad27543eeb621e44384e0d25aa198cba029f13166ee3c944c8529dd5ff0fe1b232bcc60e1884afc96c8a0148ed85461 SHA512 01df036204449b6e9c08f26e7c9f33dd9a7b2db0eb9446a41c76de7bf9cc5adb35ce09020d93fc5c851e143934c8a0a3a20e2b0ab40a887bb347fc42c366f0a5
+DIST firefox-91.0.1-el.xpi 646565 BLAKE2B 39a36d9fb96e710fcb8f7907e6dce3c78b7c53a547373ef76ddef95503dab5b9ba10efcb8ca998e5141c7dc094923af808a8e53e7a1ef19cb6e1785fdc2b9613 SHA512 9a35bb7a0b2327616f4f928c6c8a39c00cdfc99926c3447dd314c19c201230e6f7b134734ed9ba126efd6a2762c6f8a9b47079ed52917b447d63d085fcecbb38
+DIST firefox-91.0.1-en-CA.xpi 515726 BLAKE2B d845b2da2d5c4b2e5f4f45eaaa038e075e0cc838f1f8fbc5018da08def530fe65558c80fd06dfa327c5cdcc5da7420abdf8a229dc1a451fe76d79a1d1ebc718d SHA512 e14353b710c593b0b912e9cd7c9be58c58591a93605a4ce5ccfe56385165b7317dceb699ce2dc674d20e51677a4a83f029579a8537757ad4eb0386c4cd79f600
+DIST firefox-91.0.1-en-GB.xpi 515977 BLAKE2B 1fb0906663297c2007fdd17983864c5d1240fc910485cd0f63d2f09463c7f0ebe8e1082972b14b02a44fe757feaadc999752130eecbfc5742e60ff348736011a SHA512 dbd27bbd0695d978e6f043fcbe859a8519c0de9a15df1be5d02676a8b122a2dc88afbd6be9fb6786db3562d894b7212d2807ba37487220c5d85c368e1f9cd8b8
+DIST firefox-91.0.1-eo.xpi 542047 BLAKE2B 6240da366483ca76a58eecf0efade198cc4443916efb7da422eddf353f5ec4e2967a7f932bddee056c62461657c03bd2524aabb9c12f4398d7e4511f3639cc88 SHA512 f3ceda1b665d696a4316f2c39d6172f0b88dd61100a7cc742285172d9da742406f7bfe1ea1f7de855ffd38851f5e7fe93bb346f62912f6e47b881f275012c1d6
+DIST firefox-91.0.1-es-AR.xpi 553515 BLAKE2B 676280a74709db605cf84e59403bf65f6b7b8bb4679e2e0b7f51fe8da2a69a38886f2a848318602ddad1070b583aa18977c4899a978def7ab87487104877e97e SHA512 3ace98e5165cef6d5eeb45b8df8449133c6a466b86e553778ef121cd2e89b57bf74dde6897b90f1c25b2d1e1db22d420627883496df160be293aa605defe52bd
+DIST firefox-91.0.1-es-CL.xpi 552540 BLAKE2B 893e92ed1e681e1ba238cd6d4a694d298aede939bb01d55b14017d61c58be545453534c82fe7f183683475292c068a37bc9e6f76cc50e99041962460af085763 SHA512 eecfaf871d63a51487a2aca835ff2190882aac2e51aebf25709f19fef34867ac4297598aacb27d908110b127102755aadc404dbbf3cd231090b8b1a6d4a0f100
+DIST firefox-91.0.1-es-ES.xpi 542531 BLAKE2B ddd687343115af534f986201dd1d7496a678457a567ae7309a2ff245432fa52341e877781b61ef304a0157f2fb5db49063ff54574776a5d4c74f17044bc5a9fe SHA512 b2022661f9e0fded6c91fc30b050c8c917e323f105779477f7883418286ff0838519bd091a510be4bd18fd41053220680bcc025bf3f7093035baddcff6a7a965
+DIST firefox-91.0.1-es-MX.xpi 556676 BLAKE2B ca0de4cb6af0bd6a033cc32b95c58e545d523feb30e7785d18b39d0bd90895b8e48272606f059c7e7b39da0dfd132f964f446142384459897e15f85360682043 SHA512 9ec1ac0d060b2284c77062ec780bb44f771189a360cdf687756d9d43a56072725c24b89b594a941ace27f892a6e3dff0d588cf1e6cf96d71bc6f5db4b29a90ba
+DIST firefox-91.0.1-et.xpi 494144 BLAKE2B 1507fff6e251ea9cb4ad0a13f471a95374b7aac2c109ac1f70e8c285103ffe0c08e505414ad90d9518cbed3946b9db5521793afca0ce3cd1a9f6303833876777 SHA512 77ce0b40539ade514a09453b175eb0be52702e53d4f1a0af39740d393d9f076b4f6e7e71380d678123dba2783a22d871c6990c738359e8c7387f816af4e96c3e
+DIST firefox-91.0.1-eu.xpi 539059 BLAKE2B a8b7c4ac6d4f2f4af552796a32ad46a90e3be4c2d3159f34d26566d8de1d1ae22d279be967289e7df161c875b9d28b244081a42c39386193a1a86beec0607d27 SHA512 34da87854e3407a18eb1adeb9a6f3aabb8adc2ced228bf6b62baba93a9a7160f108be7d0f18a9a462b30a503d411c4ca43dcb1231e5063504fc2c4b56aba4b60
+DIST firefox-91.0.1-fa.xpi 561627 BLAKE2B 5cfc5115d94a9e827eb254cf1da94fcdd1e5e2edf724e5725f4e4c3566d2a08084efb057f01131dcb5b6055de4f282f7170c55ffdc48a22bc123a02739bf440e SHA512 5e199c81278ca9311d4abddab35bd758231f5bbdaef50247c8d0e148602ab686517f711e97909d3e8c99a10a7e83dfbcb8a655dc151c595a348667b1c096d4cd
+DIST firefox-91.0.1-ff.xpi 485699 BLAKE2B 3d4bdd815afc8143019b3b8aa26409e5ddd70e5c5c9d98bdf856836f6d187318129aca275c43026a7d199e619059a6e8e89f177ec31f98f43933868fb811e47c SHA512 607c0e7e50f21403db2e7662a7b3b842c259534e6af052edf2ac4f5f2429cc0e4e90551b6f5dd09ac707756525349439a130305a86b5718bf436120c7df9a4b3
+DIST firefox-91.0.1-fi.xpi 539827 BLAKE2B 78fc432a81754687bc2cb42ef55597316086fe70987868dcb8c6b0155eeefc60e460596fc5a5750541f98d838c5d81271338b2280fba3b8122f8adb82a0932ea SHA512 046fb4f4b5300798fad660df13ddcee8327a7586634e4f1945ead67fd9b84cb50f4e1d05a8c8b1d259fdf4752efa2f02a84de637444118bad3eebeabfbb663d7
+DIST firefox-91.0.1-fr.xpi 564062 BLAKE2B 4be5cbb4d525dcbc50f2bbc652ed8d64c83922a2f5a2e30c1f78f89748668442dca87050f29be57ec5fd8f2f0f78eaefed8a985bf09245937d4567875813e047 SHA512 0d61587288f3f6677a1ab48b366f634eb05a55aecac3209a2a48a4df8c80b507589e88423493bcad86927f7e14992862916a910a14f951f5060651cfa61244cb
+DIST firefox-91.0.1-fy-NL.xpi 549214 BLAKE2B 86920b43508060098d03724b89b9d0327b8e95580fe1180c34ef372dc7554c48ffde85b34956baf2e8d9d1d1294622487d39713a9f57abba5b716872a4223357 SHA512 51b7c6623b446eb7e05d64073a66dfe5a853e742fb1251eebece8703edccfe9c534c06542df7c31353ca60f38612dd2f1a956bfea794b266d34590dd55cbee5a
+DIST firefox-91.0.1-ga-IE.xpi 470695 BLAKE2B 0854bad626a93dbb5a6d5bfb69dd10dffae79500040b423771793a5bca1d47232b9d620ce807ad853d8d3aed7f3e4d03e8fdd4dc1db4555150a8356c6d22d41c SHA512 e0cfb591df480d5d029700719e1cf0d1e72ca6efbe6e5ee74382b5ff631d22e6b5059a0805aead8e2ef3e8b0d03b2462939dd595227c4ea060aa8896941ef6d7
+DIST firefox-91.0.1-gd.xpi 545679 BLAKE2B f305678a4ac5a4e6d3078e7216abd69b8863a55a7322d490c94342ec458dd2af22eda25a3b578b801ca6e49ccf983115012ac4b1d0d0f20b6ee736b9313ccf7c SHA512 9014992c1fd03bc207ecd91f12d4e3d42d99323d306824274a5d830f73afe2718890de291d2d8619fb879b9b825e46e3eadeda9d905a4528be1d1a22e9ff2311
+DIST firefox-91.0.1-gl.xpi 548400 BLAKE2B a30c56b8b6d7fcea245dd4088f68b1e5d5ec052673b6bc81e00dae370c2e041a75060238b658c2f2ab0cdb1d6f48e410d071efd9640bd0ae6057401996429189 SHA512 57191af8eecceeaa151a4166b7d81d9bca56905cad4b335c3096c3b77c52833342863528398934a69724e4d315f155a4ed5188178f5c03e2574f8a6f78bc0648
+DIST firefox-91.0.1-gn.xpi 565288 BLAKE2B 2a625071695bb5de6e0c66dea03fbe34bccaff97443da4d3e8bc241a5e37d49af5ecda7c28a32804667f2f0f321137b92582f2339ca767c645e6d1ab0dfd44b6 SHA512 f2ef2392c8e0f51c0164dc27c0761d8b94e9b049e1a4e84b1c895de19ad1e97dc71419eab42436b62fc26be39baf10ee3c546f8440c834e890194f914f989b4c
+DIST firefox-91.0.1-gu-IN.xpi 544520 BLAKE2B 4b6ef8accc458b5092d2dba3a1b17816dff06c48f3cdd0b8c60732057062f8cb3070ef13af7024a5fc72d4f7d49d54871b6d1f75c76c1dc536754046576cc69a SHA512 4a861f82dd8ff7d220c9eae2552eb554470ff5214d3587b82278753525a7c17edc9d139a245360d6a2691694722b0be143d8388bfa3800c2c6e9868ee3f73e7f
+DIST firefox-91.0.1-he.xpi 563135 BLAKE2B f062c0d3778e60ea66554b31e4c25ed323b6a3c1304e69855fb9d249c55265003df9cdb9cff6c81543df1a0a427b17734c744589dfdd2ce70dd11f6f96df9fdf SHA512 cb3f171a0c84db3c4549392ab981450367f9a76a21014427c37e3b7d71693b496d27f140b029ea5e532c849100abae54e92706254840da406e901992fefc4d6c
+DIST firefox-91.0.1-hi-IN.xpi 575687 BLAKE2B 63b0c59d6be1d098c7ec121a111d7f7af394f3735e097bd82b445270d16a2881aeeef3c309b16aa4b4aed567fa3daff8b566ebe6d3a70ee068319af85cb9ae7e SHA512 260c490892ab6790bb7ea4e8e8ef84038359f016563be742f145a089b73462988611450246455c10fa70926104a79c55cd71bd508e0523ddecd79ab39d37a00e
+DIST firefox-91.0.1-hr.xpi 544089 BLAKE2B 585a212a42590aed3886a0d2f8c8819963cabb8e43c3eacf7b025606973c92aca900f9dfa50ee1850b84eccc0d07bda1f1fa8c3fa27f19cf0fa5e1f2b018eed2 SHA512 50e5540290c2e6b45c13aa04221478272ffc2c4ea67675997e95cffa366291a9e6cdf78803cb9d826710664f566e69dfee29266a6c50d60033d5b65c47830e6d
+DIST firefox-91.0.1-hsb.xpi 568946 BLAKE2B 657894acbd00379001162e710c062db03846ed8f59f1b522bef0305f86d65986b631bdc70216bfb3685be25ba856cc04adc509f08ced6265cd1904bd606646de SHA512 cce8258a90bdafda4136dbdc3a6bca7254dd5fe20d67e47c533d2bf514bc6e88debce079016e5ebe49c6e12aafe52501ff45629ff1a40ee11dcc740c3952e3f4
+DIST firefox-91.0.1-hu.xpi 572754 BLAKE2B 634d3a958462f342d398435161d5f2908392d4a2ea464946fb2c30f416a2ac143972abf4a6f7da3c15ce20e54b7d5b26512b2c47e15680483a56ffbff26b9bca SHA512 78270700c812a78b43242353b00e0668fb39141736670238e9082ce444164acbdfe94313da6698b90d5d1879d32f3119be720326bdf3f2687a6400f6d4617410
+DIST firefox-91.0.1-hy-AM.xpi 599022 BLAKE2B 6c34d34b1ee5d07ec67795702451b5015a08e4714cc6d4ce82d4a30b9522c51abbf3e20818c24f3a54f9d6e8e2d6a9a17771d3f468658822e1d8aa7cb1dbf66c SHA512 a0889af23304d9576f4118c56a739431fadff7abe913cefd800988da5783dcc9f8bddc6d384c217a4a766747306cf9464c4ddfda4b6faad5181faa781d584aed
+DIST firefox-91.0.1-ia.xpi 538521 BLAKE2B 92aa1189ff7235e68447a0dc815da9c662fe7b2d1016385e9872d039eaba5d7322a8ac4aa4b89c15bd5b28292979ccece664612ad6a27bd0322e7b6ebb371aa0 SHA512 ff11e19878b0dd9aee6b0a13c1d03921cb4f9537a7ec24a2cfd671208dbb1d7ce09e425ddd35afdda9a8603c975672a0db1cc92c6d8b16afa8984d4cec84c4e8
+DIST firefox-91.0.1-id.xpi 533880 BLAKE2B 765594b76a6e516c71c421b8d86abfca88e90ef9d7327c339034db15a314822495f3c742d56e82802f79e9f936934c677358dc343a594d50ce4a780e4515f787 SHA512 9af829bc083f0861613689f587aefb476428d6557c7b58122dd115389ef92ce63ba0915552657594d272f6162cd7c03364df8e84086fccd73d7f3ce7a4170ea6
+DIST firefox-91.0.1-is.xpi 481333 BLAKE2B 5272ec7357389f2036a321b2e8e117d5937696439ba1987575a7ceeeea49c017d43b225e8778ae0132dbf6379e31605bc6acc3f269fb15010ceb2002499d27a9 SHA512 dafc2b5a52905b659e8a7147b7ff5faaff8fa66d14bf7e1920764f9cc132b770404638687e09327ee99089ff37ee9e37effa607f0509949c6e6e4d842cf7a179
+DIST firefox-91.0.1-it.xpi 467038 BLAKE2B de243e2995585bf155b7e19e6fc092c083cfb865074e11b1be4f5cbb130b5984eeb034400ccaf19a4ff70867c26eb4387fc3561beacb0ba47864dbf9a7d5bfda SHA512 36bc28ba390afc153c7c3d5499fb78292ed8dd6ae5158119863042a254b2f1dc3d337dcc60258fe96125d587c4aea3e6b78763a8ab574d10c24038fa37e0f228
+DIST firefox-91.0.1-ja.xpi 599312 BLAKE2B 1fec31ea99221e133a2afb633d6e32a613a333e566c274591321e7c40dd657398f714a76cd69eae5ddf4f946d085998119e0779ea87c7c6e6ca14eae0c5fca9a SHA512 bfa62d077b9415ab9640389da416703bcac799d6849106a611edb4eea25b76cc0c55ebc6d1ed4c599d0d0732fee84c785c4b179024fc8c31ce992bbe90f0a9b6
+DIST firefox-91.0.1-ka.xpi 600149 BLAKE2B 849f2564a1bd52c3fbfc91adc5ee1d0434c4a7b0fb6ab07e7666b6e90c63a5fdfbdddb538c31c448cac3b5a1a44fc067229981f148428c0868e0675472c66b3f SHA512 7f40ed7b11e2baec17900a9cebf34763530619bd5377baf7cdc1384fd5197ab1b1743d2c0641ef1b709050b8dde2489feebfbc28595f8fad78c891764d310a15
+DIST firefox-91.0.1-kab.xpi 557819 BLAKE2B f3324372e1d0a77662266218537c90945135348fe955eb25cfeecc679c2f819a3fe18284bb7f4ac95e655a0706368d3ac38be25567e80c122d697ebaaa8377db SHA512 4d726ce5e6d2804e53f12960655a69ab7b5752f89c7ada0db8e6a5a7ea78c6971ee87963d4b2355a1b45d2aa21fd26757c0a85370494c61cf630ee6704537cdf
+DIST firefox-91.0.1-kk.xpi 614348 BLAKE2B 8b969952db26b3af3dc36f7cf0bd383583e1610a0fefecabb8587ae1360304fa4d0e0cb75ee80297d4f06f9a6a5e6aba278c61421cda3c292636defce5e434a3 SHA512 3dbebf440a68e0647758f6e821428ecae09fe6248cdc7166dafe4306c34c8ccec8362d4957b2de5715e38798a83ed4b988c0562b9357e4f5e29f9e8ccd9e70d1
+DIST firefox-91.0.1-km.xpi 544979 BLAKE2B c9404fd5a0c462ce0835e8a0752f0222bb258b5185b88c36a0b9e5ce7f1adfa6a3680da85fb3ac6ee5f27c93972971a4f203826e1a3e8a9ac8ff9ad1090ee2f2 SHA512 6afbba783256aea84c2ad2bcfa5d17dd58ca14288275b893f78c374561b03c407ead02376957bb622b19248a01c19f9788af736e85c663c252a20b12ad2b8c3a
+DIST firefox-91.0.1-kn.xpi 508520 BLAKE2B 0f7e87ed335cbf6b3d406d515fded7608976079f3f69cb623301b84c85ea21b90f8845bebd25a84d306d99cf59c7cf2d3bc66db1c6fc47d249d650b4f79fa307 SHA512 e4b0c2ee328e0fa5dbfe844fc04e4da8113a67dd453a2e7ec427aae55ad358467fd58959b0235c5bbc25e764b33003b326548c63b9d7224db4328b906d2d9cc2
+DIST firefox-91.0.1-ko.xpi 584339 BLAKE2B 260de436acfe9a052764d90321c51e912e86922ff2dec42baa997474f656af21542920a02dd8c6e9ec414b89aaa2470c050ba329747d56b8530a6e840292c67a SHA512 bd4edaead3c1e64a3fb2f95b7bced43f0cff61532900b2e092481a3296dc3eadb9d39dd6f5ce2150312cb81f18e113431e5a5f5de48541b4aa0b9603e4aecccd
+DIST firefox-91.0.1-lij.xpi 481929 BLAKE2B 9905cb8ac5025e63112209d20358aa6af3bb06de4ee6071937fd21be899d118f230906692baffecd30a0a1cec2aba23cbf8b4f52e8da055133d6164b5ed488a9 SHA512 ca04d219b8e0fa2a60a90a051b1ab67e575e68eb5e34689a72ab055215c2b38052da806666438e6ef361e5211195e54a9f4bbbf96c6197ac627e118549366b5d
+DIST firefox-91.0.1-lt.xpi 567607 BLAKE2B 176d3253e86b5636ff485355fd7921e20b8d62af84c8ebf5ca14340dfb89880dfe7c66847984ee2f43accd206da62378d2b4ae70427c29786e457a7ed38cf48e SHA512 a508469ccbfb038ab0c307f00f05d237f9471f85a547447236644e801fa4024acd3e9fb773f0464d801d8b1e762f1eb75dc4611b9ba41b14daf20328b15b4145
+DIST firefox-91.0.1-lv.xpi 473330 BLAKE2B 28460959c1137966e5b21cfe687e15d6806efb3a19b4805b88c71a3ca9af93aa2cb6cc222bad8e2b186d3be4712aa0500590a2308ad42b1b23092ef2de3aa069 SHA512 bc694d8ab26d76dd6340bd0a11499049e0a0c3436468a6839bc8384fbb275f9960528ad6aa56bb1463bb20c152a278c64100e8678ba369a034a2c0e01c05d5dd
+DIST firefox-91.0.1-mk.xpi 473477 BLAKE2B ff78a87591709df5a7ee502c4f97d509291aa73562417c64922342af171aff6a462c21f09e221c834162517a3d5528f8444e17330ebefc4f0b826ca5f050d381 SHA512 559077e8d9151618afb8ba375c637d04c3b382c34355442ec717175f60c85c0ed159725b8c6d470505349d33c13d0b70a5fd1850ab125aa25df1308f89dc8862
+DIST firefox-91.0.1-mr.xpi 544861 BLAKE2B 1bc24be2c664792aeeac10e706079afa3859f520b7e75899df95b371226c00f0f7a9943d76308dd48c2f58a181547fbf65d59c2f21cb0b20d2b2e8204d8fd4b1 SHA512 c60b5eec8c5cacc0520ef545298be9cca1e1cd7cb58a6e7dd54dd8975fe8ffb47642f1bac69f583a8da3e8821db78dd6351bbfad5fc4eddec52be18f09f105a2
+DIST firefox-91.0.1-ms.xpi 457207 BLAKE2B 55f928df57053f905d738e9fb56ae5d72c4d21aa409d0e478438e77fdb4bf842ff4a5a968aaa5d22b397b13d6ef5560aba402b9017d1258d5d2d838ca617a363 SHA512 e9ec601628226a9bfb14e5bbf3f41082daa8a5ab93a9e06a6fb0a0675b840f622cffc4bb332012a5c14760aff0cc861d797fb3f1f6cf3bcfb677d5150c78023f
+DIST firefox-91.0.1-my.xpi 530141 BLAKE2B eda719bd9d52eb2f74725c172fb6281d0693831dc99af7b22e9a2eb66605e4abb0543218ac69849da8c0135f7d10214531008f368b2887c05302450a25a9d078 SHA512 892c3872e531c1bdaf735250d42a275c181bdf096d1aade126acdb1d7169f02dfce67057f36c6f6a4cbb87967eb23afeac8c1fedaeeb0cc4092a68bc7cabbfb7
+DIST firefox-91.0.1-nb-NO.xpi 534990 BLAKE2B 8b6ddf3de4c230dba5c4afc1dd4c9aaba8abc61716b6a88c7759baa65c1af7b17c6d6a92f5b7d01817dcb50f6b7b64510b4141b813f2ecff487d05e9217dc77a SHA512 388eb598be5022de1d9b43a02666f60f618ab1a74a4a04718cee6e398f3422da314eb87d70f1e5eca31883f7d782d46076c3659f457fa893e9e9d9532abe61dc
+DIST firefox-91.0.1-ne-NP.xpi 486187 BLAKE2B e2a82ac646a4d7008a95b39f53b1f6e2516e4a22b837d32484b461e1f18fed2169cacddfb719d6099e66e61ef3dfb95021a2f2880de34da0fcaa8c99fa0383a7 SHA512 571c7002526676b5bac07d09a3666b586e016fa7f3d2082a1100a55d35309823b18185ea416b10ee501d7fe0934ba2d4f5ebd5849e378b2afcc9a8006841a12d
+DIST firefox-91.0.1-nl.xpi 543368 BLAKE2B 1b1681b47e5612ee32e1ee3371fef0d07855b0fc80e961b8495c0fc0291a6489582219f5c7aba465d517fbc4ff23c2ae9346a5f40b0fad078e77a9501f0534de SHA512 55b2d6cf5a699874af23b70da80195a2996b6f4a9c90e657785c98c14410c9d725b763fc39d73570b455359811d682430bc423b909270d067be9c140bcc1ac70
+DIST firefox-91.0.1-nn-NO.xpi 537546 BLAKE2B 978bdc13173d375f7321e6e821e93f9fd033001a2f0bf6f65bdb7da8571b41e0953e32b4bea9b43edbeeb31fed7c067e0eca72d86733a60e13b7070e189df0cb SHA512 0774741d022647dd826e316bc1c45cd17c43c130b4fec5edb770cb776a61953a3de30e4bf589c7a08680c4e02412f0ab4d55ca4596584921c2e22505df4ccf59
+DIST firefox-91.0.1-oc.xpi 559032 BLAKE2B f2701f64ebfe23a829b8e05b5337b7b5c9d7da205f131ec47b6fc06b7687ef12548ef5b19d13bb1d5884528e34116e99ed073c4babf421ae2e13d51e8a051b6c SHA512 e24f9d000ffbc4b138640cc01387d570336bf84b8f4d94d9fb2a04d8f9f9d183b9b04561411e300cbec44775d1cf08f720908caf9befbff4bb2d68a98bb002c1
+DIST firefox-91.0.1-pa-IN.xpi 605089 BLAKE2B d51ddcb0f3a2c37ad121e7e61e243d87911f1df20a88670330145f25dd40cb0edda537444e513ca7973004358946fb2812fd76d088624b918bb85eb9610469dd SHA512 6342a857167837f0250873d3f7d645a435ce9fe42afc3c07e00871953567d01d9076cd31ef6cf2aae33a1ed626a8fb70f747735e47eb1162debf35a1aba2cba3
+DIST firefox-91.0.1-pl.xpi 562845 BLAKE2B 5ef1225f91896ff5df88e2f7e6d83ab11e4b7aef1a094e11cfd4ba79c3b8777992b711a1e9cbd3a539377decb69e9de80d675073db2c84b86923674dd9ee9a0b SHA512 c62a73ce7c63468541a295cc4dc96ecbff669e9c80690b0db8cca3587398f1ce52f3087a88e97be1f7770bde7f6d06f96f5673864dceb45c8f7a3a7c7ab005f2
+DIST firefox-91.0.1-pt-BR.xpi 549014 BLAKE2B 284df08f9b992b692234726f29dd6db6ceb64827780d84a9eaa0b8d6ff3736f0fb8aacf6ad17a3700f5ade48e0f0647756452d5fea70527780bc05001e7500fd SHA512 9eba2963c882c64309cb39d732eea9a6a47b65764ef20c5ff35504255d764529b198b63177bbe654d1ae9e35c8ccd7d8db6416b8c2e4c5e7a423f8dab156b056
+DIST firefox-91.0.1-pt-PT.xpi 552654 BLAKE2B 6fe32e53cdc0977027f2ed12a3bdb4663316bfcc4633cd8199e8d22d119d621536f72d26f523aba005c923b6cc13f51ee8a2bb1509ed92e6bd9ed7288bdcb21b SHA512 f2bf85d884ef8a6d2b7da40f06b0cd530d64593f65908be62e78609e78f7ea47696e7129f68fb379abae78da1c83d9c32083ea4b9bcd9ba7104d4f4c507a8e83
+DIST firefox-91.0.1-rm.xpi 543754 BLAKE2B f4431c5bb5e8f408c7c794def16790723d3d44e823c38038a80375175ef63fd47b02728b24f4296cd901ac964d18a9bd9b63f5d93a65a0db1987343aafbaea4b SHA512 05ee7220d545afb2fdb8688eb2d3b750a732c80f53c1af349d85496f89152a6dbf96127f9f8e64e45bc62b7e2d2def9bf37e2be9c7b31deb5735167f5f0301fe
+DIST firefox-91.0.1-ro.xpi 544863 BLAKE2B 2f4708130a9b85110eec60ea44e696132bd36b08c6dbfb79d2d75382b337baf691a375ead8d014b408257c818a0495656169a82aa9ee9a5878b9d66053f747ad SHA512 877de9fe822754d72b7ae354f3950abafc48b9b2d90f2fd084a030aad2e4784f99c975f4781e1a6916a8d7ebf6908be90963fc51eef6e8915c1927893a3f645f
+DIST firefox-91.0.1-ru.xpi 635042 BLAKE2B c6de6a6fcc637665053998277135e53164617afe01d5123670c3ce468006cde702f93bc7b45ce514f6557c7788c21487c203cf7172ea47a9bf09bad0f21ead03 SHA512 9e55f4b82db8f9b566e0dab997ca5a9d908db7c002e15aebd4d92bb1aa98d7c1e1bb705be26e0d14ee342a1e719fb733c0a0ece15d3449a919673c9f68ae797a
+DIST firefox-91.0.1-si.xpi 496846 BLAKE2B 9bad4b6f48a63ec7f557eed45d7f85b532b942dd7d1281eb0d21a67950cf75b707f8c79b409e0e00f207479356e7aba10ebb3d8d18352e6fb5b3f54aff3a1909 SHA512 7999d0c0e2cb8a9171b8eda05c369d31a336041a9e907fe36a6a7e3207a5f57a264f4616952a34bb762374e5c18cec1b2479278c05210e04cb4bbb3c05b5496a
+DIST firefox-91.0.1-sk.xpi 572090 BLAKE2B bc335f6b5222f8618360d8f76143925fdc1b4a11970c5dd9dd65a83e3c79401ac0ae4afb685e95e103da1bb6d750eeab86b5c0471e49ac31f6eb3242bd4dfac1 SHA512 5f851e8a755b755d5bbc7155eecf9c9d6c9e79fb6753492280aa43a00caf9b80a07540e32e48f9281f1afe68a920d78a72229f7809a974724a47d23efbf9ad24
+DIST firefox-91.0.1-sl.xpi 542780 BLAKE2B 449439702d3e4b04b45971c0461fbcb6014d7aa420fa9e85efb068e93482731953c6bf413b96f645ec9bc6b02559ef28ba254404040469b2521ed58be31d1109 SHA512 14806cf7a350bd7983d0c4684b1c956c933e332aaaa376290a0184687fb14f1ba22aac8388ce1d05b627dff763faccf28d3504402db7b001165eac6c790ba18b
+DIST firefox-91.0.1-son.xpi 432934 BLAKE2B f21310d02ccee27097da171a18abbe47acdf6494422499d4f1b791bed56636db5596540e0412d43ebc7c1277e90e4755a7148e00da05d344284511618affc780 SHA512 34811ead9fba243f1892bceab29e4180b56d997fb7ee7c48899485a8308878ccc90b239f3b2565eb4f5356d60ea07936f6c8c94c4eaa5d2526c84e870b93c0bd
+DIST firefox-91.0.1-sq.xpi 562218 BLAKE2B 09780c37d7323135c9a336c7109d4abf7c9cab013f6148639f1e0c7ed00fb884d1115952849ddac6f33762594784f46807b78e4ecdee845817e0d2a6729f5d4b SHA512 5e64a574accbb5309cb6ce5f390dff4327e5374327bf20e4ac9fb42ba41dfdb4466a2bfde8b6f8390b2ffe53ca11746aec9a4a0c8d47e0a81e2bd5da610120e8
+DIST firefox-91.0.1-sr.xpi 596028 BLAKE2B 732581a0fc2758bcd377a7b7222392d083679764d61b3c83572a2c5e066738c70ccf1663134d2ace5999ed9f5b0cb23b494cb9813e8fb476e54f34aa3588a43f SHA512 08770fdca76823c10da8ce6cd4cdb32dfc35568ee579f97e3e826113a3d82c01459ababa4952c82b7c4ecf0c31f74066826f9a2782665ad9667b18d0d7e4551c
+DIST firefox-91.0.1-sv-SE.xpi 546388 BLAKE2B 52fe3913d4772ab3e621aba11a2e2bdb2e85aa194131494eb385f19094bf80cd8ef540111e450e6982ecea4f9c80228679eca7c01a353bad0ac60d7912b55954 SHA512 ce0294899aee0b12fded3572a9a856aa025836e492b49cd76c0c636f63056e951bb95d25c6e9228ab8a157fee24875defd632b36fa67c175e7b7d62323c8ab7c
+DIST firefox-91.0.1-szl.xpi 522369 BLAKE2B 4f42ea144d7782084f91fa89649f6ae360b7827801e35d9601f7b61232e04e1965c25c55b453b75f498d5f0347a7f1c4923fbe01fcbdfe61ce44177e7855f500 SHA512 5aa722889837c58f2fe5156cf17c5f6ec2349af3918ee6f97e42c6954420012c8931260d16d1ed475ea71695c25b776fa1ded76d17ea29c3d0ed49a7bfbb0ec2
+DIST firefox-91.0.1-ta.xpi 523936 BLAKE2B 17a186aaedfaf2d6e516c2d17278925005b933dcf4cc3e2cf50af2bd45e90239e33d01476de13e8dd3c65dc3e08f1dba5307d684096bd7f29b94a1c03e5d6792 SHA512 094f7c7f511d1485c4fc21745246a9eb7d654f728b3208362dfcc8d2cf4ee09adb0e100f47384b44972630e4b7b02b674ba611e56af39efb2354ccb466635610
+DIST firefox-91.0.1-te.xpi 564764 BLAKE2B 4aa83a92482e5c285f71a4922a5de2b2aeec84d396b179ae08d1a3318aed85d6b79ebef7e9b75ffcf5f533467ca61ee2a0a29a7830c7e8954cbe86ac45cc1eb6 SHA512 40a41d3ae4e3fa8613481d29766e770ca57a9cfcdd90ba2632b99794fb9a4612569d5f3e774b0e7d5abc47b818f99ba6abd1c767b459e734eb2731c21dc1fda3
+DIST firefox-91.0.1-th.xpi 614163 BLAKE2B f9f98f78708c60e3e63c24641b8c06e954c3e25d92872177d492d5c90fdf64d6cab1823da8cb757dcb0b8b5d85bb83c97f7a6ed16835ab2a3ada4fe9520068b6 SHA512 0eaef5015db4d38948b794da0c36f0f5c266c96a224bd75c5555232b43a167c6c3c2752b68b919409d626cbeb51ccbd45af39eac0e70e8bf91c701a30186e98f
+DIST firefox-91.0.1-tl.xpi 531313 BLAKE2B 77440085b88fd315097eb2bf7294d2bead31c40e87d402699ef4ce97200a5c77435ef346b688f1de3d1d44492c51d611968f98a3ae1411897d322ff8f4be75c8 SHA512 0e2bdadbd050f7306cc458976a1e32e1242034775b758cc1c1da605f5500ce2661349cafa28f004a1d5cca56837f176536c5515f4f96a8c66d9f8640f88bf3bd
+DIST firefox-91.0.1-tr.xpi 558477 BLAKE2B a57e1834284d4a41d34a5500e332393410858067ec2918da4110ea1c58581fe0956b98e580a1ed7028e139e963e3a1cd03e1a49579cf360f3aa6a6cd6f217159 SHA512 a13ea02344dd369c4f85ff8917c20f401c9944b472e9fbdfbbba653c8cd47415b33efbc77b580954ed9f9201ccf23e72258e40af532de0678622275437e32b18
+DIST firefox-91.0.1-trs.xpi 503655 BLAKE2B 25a6acae1b111d3b1b8ccad18cf9949896996bce2eca82a09b01487caaf595ea18353deea4b6943051e9cc07b0a84249e8508837ffcb729c3576705ad213bb5b SHA512 6aec49222741e020db701fdc071dfb8a7d64a5c434eebfdabea003258cc65dcc19fe01aa3acc3701c79f0f1dae267e856346bc079e4fc1e1c37e1836aafab56c
+DIST firefox-91.0.1-uk.xpi 628576 BLAKE2B 254edaf0cc874886013a2ffbe5347bb9ee2effbd53cf021804a8c04373e5143d51e8adf12dd887206ad75ccc0c12d130e07599435fdecb4bcd26655dbbec69ec SHA512 c01e6da44471bb0c0e2b762e80dadb2d69c3fde5fc8bf9bda41f6dbb19f20c94d7977e9a59a28a70eb48e05a235a77775b9253d68ca9ae95fee9cfb5e1aa3832
+DIST firefox-91.0.1-ur.xpi 572686 BLAKE2B 1b3952ca3196f7cabc28b3f898b13a16d9a0b04c16234e82174d90d77e772f4a30e266adc7a60afaa5bb67b5e80c0119c48c3ded58d429cf0a01d8eee98ac923 SHA512 7e1a35fb4fcc674b2f01b6e708d63fd17d035bc779c3d595587c6df47c956619511611b5a966b3335ac3007e1975de7399f9cada7a413a859718a0ea407bcc6a
+DIST firefox-91.0.1-uz.xpi 480945 BLAKE2B c2abeafd1326d072949393daa3563abf0ba638ee59b811989142fe2bcab711e354aab074272a7d7bcd296f328b080fb7e43d06873ec0e22bcb800f04596a4b27 SHA512 dee6dc7222129758602be663bb17d0f5bd0888bedb516970812983114db988d4c93f5452d219b29d9bb9e0426751b1967ea053a87c533f9cb8a56be66400c2b1
+DIST firefox-91.0.1-vi.xpi 580493 BLAKE2B 655227fb4bc61ecf7214ed185c6ff62cee36da6a2ea386a8979d738c40f05507dbd7b43610f9e634b8076002b7f3f3206ba776a8cb773af9bfa9e104e37c2b1c SHA512 8d18c04aa991c0d5b39303b14249c25b6d11adf871250d1639ed6a938d9a201dda08c15c56ffb4ea16288ebbaed0f5ae5b8c9268c6e4e0d936a86d9a2728b36d
+DIST firefox-91.0.1-xh.xpi 435057 BLAKE2B 02b8cd6ccd064c43111158efc842f305b497af8338ae633844dcb0c926dde913532b1df213b0c9f420a5ad9477e6ac26cef39075c26e509a76fd1c355e6d989d SHA512 01e6af744a5f099a79b6bd2c124a4c203fc494c8f3f63fa5b685581a258d504475b29767af5368cd4b1eaa5958fdbf17ef65d618613f720dd2b3289a2b304c55
+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.source.tar.xz 380788436 BLAKE2B 14cbe36c19b9dc64d3903994681bc42f2fbca30b97413088155620ec2a93433898bb1d247b55701bda61c4144cb8f1e460f6c2d5d5cdb57081a760f291c1a0d4 SHA512 a02486a3996570e0cc815e92c98890bca1d27ce0018c2ee3d4bff9a6e54dbc8f5926fea8b5864f208e15389d631685b2add1e4e9e51146e40224d16d5c02f730
EBUILD firefox-78.12.0.ebuild 34230 BLAKE2B 0d4f4b33aa635820ac38bb1a9b6023fb2716646791e165505ec60e155f956d389a3e6c249473ef2271045a597b45e57b006db59391074446149448ce57c601bc SHA512 c37b7749a18d72327c7656d59277336aefd355ec3983e69843878bd39b58afd3f1383c8edcc76fe95cdc2c6635aa056d0b3ce0af023a58c541f21ce40b5250c4
-EBUILD firefox-78.13.0.ebuild 34231 BLAKE2B b28771419f8e5b520b4fec20102716da78807b6e58ee6212c31e4aa929a5201d5acb63f9b177b92bd462f552cadc30ba6631b1c39e936850b340d79013c8108c SHA512 6068d39a7449a846a9a4ddc978605a7120a9f7bbc3f886252d442bf925b8d65d572a65879f2a50e460e0c4f291172b6d64ca437f1804a1e381293e4179c720d4
+EBUILD firefox-78.13.0.ebuild 34230 BLAKE2B 0edb04cf5df6ab00f88e7007638864ebc2a7dd6367298dacfd91fd127c86f83e55c56c191d6b6d72bf2dfcf7864e752ffdc61b460881fffc581ef74e4c427493 SHA512 30b0440297c041a0cfeab994a82fc893ed386d4ee25aa838acb22d8926de7f65446d79fe9eae728686484c3c4f255d0c67f2ca84bb75915feeae72c229b1296e
EBUILD firefox-90.0.2.ebuild 34223 BLAKE2B 037f674055e4d81adf41ca0f708a5c728a3932ff86673261031aa4ac94ba3e785af06ac1e13615bb836456049a37632f8c0301538863056702d702b564293e2e SHA512 e999a8e1f13e4d79ce8f346a0d3899cbe54e444641d445769f15075f932e60e4916b6082ec353ad1965411f180557654c087e6d171e9f59384c3d9f243659445
+EBUILD firefox-91.0.1.ebuild 33580 BLAKE2B 8760dfb1afa842d7ea346dc77a931793e094747d4a13575a6d488f0d0d2f5a1f9da188f7ed4957119596f4a216763458f7c6d979548d82817bcb26e87bd7444a SHA512 871c85b85851361e1f4c989a222b995c26753d1f6dddf8cea6460e49b743af8e513588cc06f7c8a86dfe99c647ba86f78256d3e078e37649bd0bf2ea3096177e
EBUILD firefox-91.0.ebuild 33580 BLAKE2B 6e532de3d7bb288ae4166ea52d83c883880df2cb97455117c25b71b65119d537f263e652840cff2d3c0a702500fa0358b064d3444f02481cec0e5ac99e4ccf66 SHA512 cab70369f49292a9015a8310146aa0fb1de4d0d4579738d8a9c95e965744a1d3fd72f00ef4845e4840c51e56fd75613f1722cbedc3ba11852ce4642e4ea7e77d
MISC metadata.xml 2150 BLAKE2B cd105f3b1d98b1fde124c6362c2e23563c03086a507bdc0eb0e4944f2050787f96967c4cba6f4605e4adcdb200d0c0fded6cc2bcda7ea7720d270e1fd6f33525 SHA512 a588a09ad3481522b44097b3c5e51211d5fc918a6733f3b6f1b1cd7994523894917fa737de944c235d45bfb9b57def205ce645ff1ac62ef7d6c3f3c51d387556
diff --git a/www-client/firefox/firefox-78.13.0.ebuild b/www-client/firefox/firefox-78.13.0.ebuild
index 26e0fb756bdf..ddf98b0a1574 100644
--- a/www-client/firefox/firefox-78.13.0.ebuild
+++ b/www-client/firefox/firefox-78.13.0.ebuild
@@ -57,7 +57,7 @@ SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}
DESCRIPTION="Firefox Web Browser"
HOMEPAGE="https://www.mozilla.com/firefox"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86"
+KEYWORDS="amd64 arm64 ~ppc64 x86"
SLOT="0/esr$(ver_cut 1)"
LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
diff --git a/www-client/firefox/firefox-91.0.1.ebuild b/www-client/firefox/firefox-91.0.1.ebuild
new file mode 100644
index 000000000000..fa00e3528010
--- /dev/null
+++ b/www-client/firefox/firefox-91.0.1.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-02.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
+ 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
+}