diff options
Diffstat (limited to 'www-client/firefox')
16 files changed, 3154 insertions, 1139 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 1bf2388e..4e5b6a49 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -1,93 +1,198 @@ -DIST firefox-76.0-ach.xpi 508335 BLAKE2B dc951b6da4382a2778fc01fd90fa610a71626ddbd89b6c42abd37eeda35d9ef5611b1c0f7277fb10d3f4f80b7a8370a72262c508c3f71dec87a457c087239070 SHA512 9a543b888ac026c5d5a201a595897d6ff4b2ff29107b6eb87be9d0d07830d3c83b6ca45505729497cd23f7d094f9f5c10779bb1f301ef35859a23f18516f828f -DIST firefox-76.0-af.xpi 462166 BLAKE2B b1ecddbc083f2845f8ae0f8b198b17f19f3fda8f196acb6dd7aa36a4ad92938a4dd63de6073c93fff62b2fa80bf11e6dbeb3437496ddc16428a079194fc1640e SHA512 9b91278c854cbe4c65e5bc6080e7942c0ebbfc984d0a6fbe191aee83311e29f60786649049d108f179db72925d7d6d0e219333face0b622325cea746ff834cdb -DIST firefox-76.0-an.xpi 520893 BLAKE2B 5c967ae1d907ad721c702f387c4d4d5647502f6b656e14a4b5144813f1aaa78209fd08e27f14b550a0d0f51c459de85e1627e89c5d2ad74834a51f9a75788889 SHA512 4c4e43fc4f3bd04af90a3b0817c5734d5da5db3826174602df56e55169ec497f17b6c57f533f71f85a9d45f9a2561a85255fcea126cf62bae723d43dd99fad69 -DIST firefox-76.0-ar.xpi 594843 BLAKE2B 82ef88fc15c40e359bc957d7fcc3ce0d18623a6d7c5270b5e36becfec0791f7a52aa778abd29b8b47c8ce44fb4ef016f221bb061a6dc13e2ae25340384643ca6 SHA512 9d5d95ece40d254d8886e59345484095b0b96685ebaab2f91fd9612ba68ad52da0bfe1fa64207e103557b9196ab27f4546a0c99b7798f1aca441f43d974d0188 -DIST firefox-76.0-ast.xpi 508908 BLAKE2B 1bb6256380b6c3a6939866b946f7b501e3360e160d5adf451f7ef88ce1836a86df8ebe5e18c57d4270a4736ffda0b92b31c1ef4239ddf443a9767fc7c010c751 SHA512 f2cbeaac61ff9176b49678a0b005dd18d5d1bb913dbfad392a39465b4b1f5ebadc9937bd65cf27d87f952107d0c2206ef20ea777c53c5d6b9a2281720ae44ef5 -DIST firefox-76.0-az.xpi 546087 BLAKE2B 9f5c59a63d57051f3dd77c57429fcb3a2f404c6ad54744d16eea787875ad7d0b28dd6253346ddaa88b7106f02f58375b6925005aec5489408309e4443fd18fb5 SHA512 fcb037d093081827e4dfda8389719d49863ab54ba5629581b33dcfa3fa758f2ea0a2857b9772965f3ceb65af9d76f26c6b7f7cb4ccceb5ac94ddaad6273d7db1 -DIST firefox-76.0-be.xpi 644316 BLAKE2B ef0617e9223c5208fc52afb190e70a70d0dfc13d870ec25a6725a81255dd766ec3cb30b4a2718b0f27d161b87f903a5fe2d8f3ff6012b3506062a2a591e0a000 SHA512 15b302b5a5aa5db14232bc7d2b6af9d8e100748173a2206cb68e89e6199323f307987977388d6bf29d284aa45e2d49cf52cf1562476ba245718fa56cfd0d4bf8 -DIST firefox-76.0-bg.xpi 609149 BLAKE2B 740ea49e0cd52deadd218a0b829391102787989bab6bb16550d0035789d1acbdf32e8fbd206265b4481b4cb2322b2ea3c3eb53df59257bef8b84467336e239dd SHA512 9dea7122befed370fbee58e8f6b12591479e0aa45daad94486b69316cb6fea78e7b5b6d56527892906adcbf0e4f3d3bcf5eb863be40881fd25782e2d433bb7d5 -DIST firefox-76.0-bn.xpi 637290 BLAKE2B b327b9bfedd16c80c4ef20421ff89373096b20b6fb428396993a3b925aa47cd0704a92817f58b0017e801860130df41f4e5432d88b330f8021ec459d9542a502 SHA512 aaa382a7b28924a2b2a06d2918f0392be8666508a5c465f127264e42253d079b0d11ccea50bcc079311a0e85e7bafa00da91cbdb18f3bca9e7e72de33a7e7122 -DIST firefox-76.0-br.xpi 554055 BLAKE2B 13fd3a2d33f64e69a6b4d98e0006f91026c8306d5323c95cda82b67fe84f7cee9c05c5e78a8fca20fd82cbbee85ca578fe8b589f17f2b59194464cfb3be6be73 SHA512 5dbd065ab914f45157b31fd036d6d48c2f41bf273a7b54ac7d8b072d2e475dbd8fff7073840ec52ac9ee320ae698b480dbb9d61627feaf85e7e51bf4d9612f6f -DIST firefox-76.0-bs.xpi 517515 BLAKE2B 4bf3046e8e00eefbd6d524daf3997d89a2a4280ccb480aa6154d55852619506f1bd610d31f8d4d5945224f44c09d6cdfb96f90b2e49a5a5acf4cc6d8b0639ace SHA512 2a7cec5dc91a1121fe43602207bf4da3a792834396c50c2361fcb37532297d7826c3e72c8418c4f463369e7b2c60c6bd518ebbe25457c74ec6bf7972aa5bfc4f -DIST firefox-76.0-ca.xpi 553533 BLAKE2B e9fe256e86f9fb158306b577634aeedb125de68e3021db9815e93d415f071415615a2c41812a8a6201d70a17c674880bef2a3632017dd23411b6a5e8a8c52768 SHA512 4d77ec8c58370dc91aadd48d8bb27c5f5376c8aad84f862bdb4603f3218f69ce5e62f7612b8e76744182b40da50a4bb360d82efa528d3ba77e2bf48099bc399c -DIST firefox-76.0-cak.xpi 581877 BLAKE2B ac6c6faba552beb71d6de14d9320a2f7527df7beaab962babfb2ed4929c8d3fc263cdca962ade344aee6e468f02dc1168b91923d0ff38c26ebc3a4bb70e218a5 SHA512 694cb69a32a3e385a256ce5238dd63386149506d52197ddc61ea8be22594b8db45119dd8f74877cafeddbf62ff4383827f832a4ab0ee2e286a816e52e7726b1a -DIST firefox-76.0-cs.xpi 580448 BLAKE2B 25a322a199c3bad938827bf80a3ab4df555eff88360ed765dbdfdacb4e1e68be8c0259df982dd530991dad9785a4b212b691d18495b346d1a2027a76afc645c9 SHA512 af0d841ddda4f1f2c226eb7d31f9c02761345e6b3241d26de466b8a3cb4e0c1609919e11485b20f9f440f69d3d4cabdaf098b05f1c2d2ba9ac13dcc58c0a4b4e -DIST firefox-76.0-cy.xpi 559016 BLAKE2B 3ad9febee8ca9876c577b99e5fd7122ec7d6c3fd65b60e61d8d8b710effeabc52a5349d45d4933fa261a207b1c90164ade702c555b2c4c60289e5e8eb58f4eed SHA512 12e7ae854cd7b451040cb92ee8084a5cf3b4beed739a01a26f3c9d09ea730b947e5a1c7c2fe9bb754d66b56c955d59477570cd76ee08a08c76a5f74aa9022df7 -DIST firefox-76.0-da.xpi 542772 BLAKE2B c13e8470723295ac4dea59670c7d70a8bcb5db93531315272125811814958b16773766c253c24f26ef7a4f3e7163c10ee0b36de74444ccdbd365b1bf848fec0e SHA512 9c33648bf32dcd94532f215d125d3eb9bdbe94373ec8499051b747392206838f0f712f49d3d8bb9719a93036cf0e6f7c7ef3fb034633851d7fac10ef136022fb -DIST firefox-76.0-de.xpi 574270 BLAKE2B 781674ab820dd9b20bd76877dff58e7502e4cbb38ff5a19c073126c33134ffd2f1f3c95f9f3c100fb3af7f3f5ebade93c5830465ecc6a595c752c13f75f477fd SHA512 6aba1b03088f333b22a45f3f5b98286d66712f2d26c597575b8e09982cc17c2708ef14be9b4401e77870ec169802dd41c58b2f6c6863752173b2438cb61e15ee -DIST firefox-76.0-dsb.xpi 585286 BLAKE2B 182915aa840ffde2ccc65d279b89744fd33cb1b3ed223b70ef1fc0d54702b512c8ae5c9f5ee6af4ccc1b1b0e08936583d29438095b1b68f25f64ff9bfe2b5113 SHA512 7ff8e08f4fcf5be0cf546b66a9996757697cb6f77f8e0fa9e8e84a946ed2adfda264d6795a4a13a5b61e473a22e61aa37c7f8d764ab18d30234a6414d2a75388 -DIST firefox-76.0-el.xpi 651722 BLAKE2B c150b96a27fd7517bd83729ade55a898cee12e68518296cf6f7b44b8e4dc9d8236ccffc23e15895169e4016e4597e5b37d5f159bbe8c16a009e870bc9a70e4b5 SHA512 a981557ef38eb38c91168f67f46fff3669c50017b89b043aeaff0acbd6540b60acd11cba002149a5d011164a4a1f699e81983f15f0af88d2732f58797949afe3 -DIST firefox-76.0-en-CA.xpi 527588 BLAKE2B c2618dc6b08485c1e58b000a11bb385c855a993fa7050d0c8a6d708a47fa71ca768253c2c0d47a10b92247b293a463bdf283decf64cd3dc63446909980e721d1 SHA512 91638383a8c93837ecc54d95441595247ee5bb27a003e3cff39ed2f262793944514692a047b83267c566fa2067053d8d4fb0866fc8d6d4f058081acc8dd74676 -DIST firefox-76.0-en-GB.xpi 526595 BLAKE2B b6322dc291e3cb12cf97e8c85cdae3a39d4383507eee178e945f8524a3b3a27939fafec0f253165695532e525bc3ae031e8304b06ad84f7c126092dc50c7426d SHA512 65ab7aa3980b472468bde793fa2791bfa6afa2afca9fc95b8e4ca41049aa87959878351b3f13cde3f8e5174694a60d5f6eb934c2f493d374b400d124a852a341 -DIST firefox-76.0-eo.xpi 554333 BLAKE2B 634a4db8037ec4bb14a380def2bd111cf16c10d16dde0da0d3e91113972f62d6d009db985350f4af47454b7f3dcce7e5c240b437f10a8e9cdd20d2237d651efc SHA512 638a97b1988a2090935c5b9d31261f031014f7aefa424333e29c6d2a1d03b8470f11f873c1efc5f34ff1342daac68ef430ab57044aa2827768a653f74f25b938 -DIST firefox-76.0-es-AR.xpi 564730 BLAKE2B 02f322d2d0b9f0014d9c96f73d8402972150e542ce1dc409f12647229a9bbd59dfa6140af25e5f81afb347ff498120756fc18fea8142c118a697ec2f92087e2b SHA512 16c4edd6831059a21898989b10721af3c5d18f5f04ba0dbb09861fe3e41ad233a6cdb0726fe221e09a104ec4e1ceb5a1e0fb25f9d3fe42cee6bdf0ee60db36c1 -DIST firefox-76.0-es-CL.xpi 564296 BLAKE2B e896ee2129acb7ccb860e9316139663d8f732a51e80100bcec9b87a96734d45d4d1a2a888fcb7149c446290c83407e010c7b04fff6a4425fc79869334cdf9179 SHA512 dd7aa74e65b6fea57f6b200ea24a5920b85abc1635c3f8c9fda5ae966bb5f035666f31b310ffbb9bf524d5d92fb3244c48c95827b7a65171bc5efdc15ec4c6f2 -DIST firefox-76.0-es-ES.xpi 542819 BLAKE2B 2194145c9b42fb551d1bfecdda59002f6111fc9f5964552b45cb2aa16d4146ee5b24a63213a3aebcf44232a46e9793b36627385598873e212c4cbf1f45a4db7a SHA512 d28f3d4cd4afbae7e674a0ea20babb9909b7fee1fb97389a44f22b71d4a4f8826212f46087628adda91bbaf199707d8c84edee0b785d8cebc3918439c4ed7b50 -DIST firefox-76.0-es-MX.xpi 569355 BLAKE2B e200874d4937e713304a5dd7c5825060395dd876e09604cd51a999a07407a4e77cd67689992b8f82ac108cd0cd4167c7cded922c816369c2c85638594bf7dc66 SHA512 0a93240066fbbb3eccfeef02c678d76b71c7dbc9a2fed6ef4422057996b6faa0b981c33f5853287bcc583a84386344befcdb15c0b336cd0c73e89e9f5eee3bd6 -DIST firefox-76.0-et.xpi 541798 BLAKE2B 8a1840106b0db985b2bef491fe671e88284385ff11b654ccf49ac5ea5fb21f5eadd4bf41ffa55b714758df0373b07e2f00e97ac75dbcffd19183add7c45c889b SHA512 3eeb552fd315abde0fc35df068b1f2c8a350c3c78229d1a2f3f13e9706098aea232effb202af298d70df1992be79cdf216109a89882f07673094b3f1e1d4b918 -DIST firefox-76.0-eu.xpi 555580 BLAKE2B 19bb9eae3a3e78ba8c269840b73f382c7d1805b01be9f213273ae947eb3202e935e5ec41c57a89b0593d15bb2edff9d57fd0b1cd6d7aa6f27a185add4386cd99 SHA512 0f3f058b19756bc017ebae0a60f78d47287a9e2519dad824a237c8c6081c431aa1cdd4e3eaf827cf9a315a8a70e416478ea1013b584afaa735a81c6426e34d57 -DIST firefox-76.0-fa.xpi 603916 BLAKE2B fc47f85786e6d218dae5fe97d8fb371bf2b10ed763e2dd47978485087ce75dcbdcca0c02f03a23f5564cd96efe039248a29e526058f672b909f609218d2a3181 SHA512 33a3da3e7374df0b0c6455af1bd583f742d7c3aa794a28a317988b0010c52af04d4f8060a37bf4e3b3cde6eac6175d15984e156c177c048a7c1b68e69f34c5da -DIST firefox-76.0-ff.xpi 520977 BLAKE2B d5c6db4b37c841103aa739958f3f3514ece9276d9a1144f654bc438936b075924d9d30afcc812ee290c78eb8699d05e8cdc6908ce42815acc0bf2c2c9fa0658a SHA512 9e0f3ff60718e88f0d0f172bac7346dc25e9507b8bcb44e224f17c6dd0b9de254652b8f0401dd1ab757e86d092862baf0ed16e5e5f1e3d98a90c4dcdd3a6f84e -DIST firefox-76.0-fi.xpi 550641 BLAKE2B b238de1859df8467446921a59fddef530570c95b168eb55c5311cf30129ed5cf72204a6b837e3109c355e2a6c2b3615dce8a6f308fd959497ddbefb7bf38bbe3 SHA512 fb88e65f1ee44e713cbfd1d19e858ce8ff9ae60a1ce81d6968739e65e34fd182a96b750a8ea4d02747a7f62c6494eb72e63f0706decdac14b2c9434cac426bdf -DIST firefox-76.0-fr.xpi 574847 BLAKE2B 9f818608206588a12b49aa01342498d1550304c66bd397b94e0d14c09f7d6920441e8369e0c14f4d84cb8f7d4aa33a8d1d9ee814f4d8a665fd3a5be5996bcb83 SHA512 acc41b10b9c55f8731c91d7054aa502b232598c382ff8cf3e1b449a11e04510181ee505366efa3524fc7991dcad2b0db09deda893d21a9a4ea71d3800e1c7ea7 -DIST firefox-76.0-fy-NL.xpi 560196 BLAKE2B 6a2d145d67b6935a1b10b891e6a430ff683fb0a917344faed7de8c9c47ab13d69b508ec168e6a01f96eb21f527a5446e34270baa24fdfb74b7a303bfcd342050 SHA512 89f37a73895c404409bb327d7782ddc46749361e6abfcaf758ba58b9f8c43360d3b92247539a150b01d96b6c1f09da2976d0cbd645fa4e9c43981dd6a7983de7 -DIST firefox-76.0-ga-IE.xpi 530013 BLAKE2B 6515d87e5a2980a95b02523d32386adb402ee549def52e5d8ac4998eda5db56ecbec3d5f2bac78cfdcd32ce4a844c711afaf369a528a509d901ad609e3b53cef SHA512 865055c0341bdc20b14e0dfa48885fdad95c74f2bcbf906a6abf7be85d733726efe1f689ecd82b65fe0055f562fd91b1eed7ec02252eb8d8622a74b7417eb94e -DIST firefox-76.0-gd.xpi 551222 BLAKE2B 5fb6419e7c84cf78550ed783c886730de1e0b2c1e4b2627403f482f5049174be5d3066e4a58f4c299f871792eabebfdeab940b3afb70d617be2d49720b3609d7 SHA512 37c86c3503e1eed1f949f2e1cd9ff1d8e1aa9fee9cabc9cbbca8bdb19507815f8bb2f43644115870dbaa5bbbaed6592e2f0650a9adf523ccfa0da8ac8965d0af -DIST firefox-76.0-gl.xpi 519221 BLAKE2B 50d1ec45d275cc0eac0676c245f33e44d330a702395b4cc8945120eaf5aeb34defa6349ad63975e431c2a9186ccb719421260233322aa3c74f28dc998698de9f SHA512 496ce3104ca482b0fa3cb2aaa9ef6077c05fe2dd850f3da96889ac2de48c64a85a943f752696560a9215b72d20b8cd3f0bf0eb9a397c3f8f70dcbeba9fce721d -DIST firefox-76.0-gn.xpi 578234 BLAKE2B 087719b71231820b62f90e56a2de8d34dd7a48b77ad30d40d753ae5d8add7745bfde7bea4569dd249f2d5cb8004272ecece3abb3c42475ee2491b1576a4422e9 SHA512 8c466f4c5f67478e87b76bc64546f80130b127c4801c18bc9d897ac438ebc4611b20854dcdfc5391e50f339555bce8b3de11d16a4b9f6eeff2bd4d110dfb30ed -DIST firefox-76.0-gu-IN.xpi 616364 BLAKE2B d899a9c4451b9b9a233d009ba7a68eaa2d0c8091c8c4a7652b96f6f6aeb250da6e043b415a0db527d01c43c117583b46666693f3563cbffe82e7fccf47ca4ee9 SHA512 c218c3fd06c264d07e0f4edff134c7db068eef2a8c467471e279f8e31ced49388d377c64d7b1e43fb14e4fb8a741000489faee151c766fdbec7b03b6db50da02 -DIST firefox-76.0-he.xpi 573127 BLAKE2B e2aed08aa1014f4295994e44b229862260adfb6a4207fe7a9c372d286e40430d1097c8ef0f0acaa05cb06d7a3e7687e925fcc22a28dd0d6a442d39b3a010b5f9 SHA512 7409957a61fd25da684df0f98d72f89039b517d29589be3ccf1cb708a65c91b49e46c4466192e2558887b44cb758e3f8723c6ba4ea55ad4acf1427e31d98c0b9 -DIST firefox-76.0-hi-IN.xpi 624554 BLAKE2B 70b5461ddc0853359ef219b5069298304c21cbbcbf1842edb72cf764c499237ea1e7359d7605d79f05677ca346c1cf5c11cacd7d8e7ca5ceca57c82dd1d87b36 SHA512 be6f43a7d2ae71fcc79cff955b735ae626035043cbe612ea7115248b171a2d8044cd634a4ef265818c4d8d3c057752ce173fb57122093f9dc9c69fe66abac1f8 -DIST firefox-76.0-hr.xpi 556566 BLAKE2B c96931450cbac0fb1e2eb0d4329b11f324467b45a0e8c5b672beb98bfabe7a28f14426e5b1a42a597932c99b207ea6c0ae12377058607876e1443aeb5e6cbf09 SHA512 f169bc414cb7e12a22288a8bbcab8fc4fd4f3838f793f78440c771ff942e2f504ca3c0aa38cc1e942b15c922b7ce9505a479c9d50b1ba92dc0d36bba3b665b72 -DIST firefox-76.0-hsb.xpi 579179 BLAKE2B 84f902b45949a3fb32db75fe9cf1f3b3adc1fbfe0dc26463a78c23d9f4f0c26d0839ed782c861593926516575fc4c18e95f1232cc5e95e9720d89aa666df1b93 SHA512 73b9e17b28c8cf50cd0ebbfbd70504c42368c63e7abe281a92070a88be2948e2024679e79c1a958f0df61bf4d9919a156952c23296a58e74c3595202939a978c -DIST firefox-76.0-hu.xpi 585318 BLAKE2B 06426aae810a2710622d27783054eb7fad0a3778a11a7850647b518e84c2d8414ce5ac18f4bcde932d98bd5155499dca0d5091964c984fa8d6c704469073aea8 SHA512 e5043e21f6abaaaa10c9e54d4f7f82f7112ce71fe7af2a971e8dba8337840469ae2ad7e9f6ee507e8e2ad0105fee1db014986479d43a82a06d0dbb88f8963d47 -DIST firefox-76.0-hy-AM.xpi 637480 BLAKE2B ff98191cfcfb3ef7a53c045c2d5b8b3664f6e3047f0856d3cca6f186f0d75674a55063144a94a282c80608a0b512a3f1cd4f86d42517cae931c531ad48b51ce2 SHA512 19a6488db1111fb6f8c81d3e4c7fb11fbbb7c11e3ce1e888a1d810e58a187da340dd2e8b91fc2d8436a4f98d8fab73b29cfec107cd01fc8462e3ebb7c2d7c5d4 -DIST firefox-76.0-ia.xpi 544913 BLAKE2B eed278539a240396b75e230b4523acf2421ad3b1897e1050a4a62f83d12a3d4b0e7026d7f8c241d125bc2a979ac1c2f1a63b86cd536a1ee58fdb0e408c9174e2 SHA512 65d6bf816ea977870b24e3a96a8f06b3f6103e15351cc4b27ad093c5dcae9a4b9781e004fca61353f8417219e7f198ebf5d27de7df818a79071c6ad2e99fdce0 -DIST firefox-76.0-id.xpi 546907 BLAKE2B 2a596844f9b71e88671b6217bd931936193e0be795348b2e2337d2d3a823a844a991a22d5bd056b1505117467098b562ab3e34289eab49d41a18fb7db66d3586 SHA512 9a7f45d5d7165546394674b03aff5289a1c48c637f4c8be610bf35e8e7d3fa6421b894a102c956cee7fbd16c7d4c97e53f38b67f7422f6d0284f6282fa9a9d27 -DIST firefox-76.0-is.xpi 534417 BLAKE2B 63820dd9cc6166501025bfe97f77004ede9fd01619503f4680fbdebf8f25faa5fc5218dda7b6e2f0c010c7cb0499324df88230e4659bb043484de8e2c05e5e77 SHA512 b9523afdce27c45f2489a033fe51c07f29412b7fb9741ba243d66992ef1bf00bd4c1d8bfab8579317d41e5f1809e50c2ef19a969de709a25391f2235681f7793 -DIST firefox-76.0-it.xpi 444054 BLAKE2B 614a44fc70afade26e26855e2b733c396ee10231f1207ce99ea7eaf6eed1f81fce699cc6f39671f378a51a53b9628c678a23b3c0fbe7a17e6783934ed9d4c889 SHA512 fcf0182ab8714ebdaa6a91be621295db7746f76c72cd79bc6c2c665e7d3e3c4d6032e4c11a99f328a54ed833e7507b2ac74eff8601f6e55517552b36e8b0d2ad -DIST firefox-76.0-ja.xpi 605030 BLAKE2B 35bc390992018f00d6edd1fe213a4a4f80ca29a4371c1fdd94745045b1caa6744f6c53a91cf1aec5c8dcd5bbb23f3ebea56c0d158301b1109c07445fe9ddaa0d SHA512 82c691ce897c651d87de6940891ff442400b3da95d45c3b6ec79827c2a8245fd0aa347cb2ee13a740ce30b0c6a6fb01aebf08d691d51f4936142c416b615c97b -DIST firefox-76.0-ka.xpi 607015 BLAKE2B c1e96e76362319b230946d4c87dd26c018c9f74bfedb8d508d783ff03d7253147ddf5d3c7b9a1bb76916991dbf12a2c5ebc847d9cdee839a1b1c4ad324230208 SHA512 d888595a1587a9768ef70cf646cf8e75e16eca0713b39d1f2447c44e991f20cd288421de012cd3f879cc1a2cd7aab054c1b02d920822e64b2ab98305872b31bc -DIST firefox-76.0-kab.xpi 566437 BLAKE2B 62e9588e2c016987214fe6e9ed555c115d523ba73c94cca0ed51bc16f8117abfa83481638a9fcede99979747074e6d134b96afefbcc6dddc266c2b3a47c28861 SHA512 84ca61b7c84008cc4e15cd9e8f1de9fa1bac9e5e3492e6d4abd321837172ee7927c6d88bc3ec196a2f928f315decc837d15106c32b38ee2b87a258057efd0163 -DIST firefox-76.0-kk.xpi 637156 BLAKE2B c316c0ec6c866291413e98ab39705dd8a93691101dff3397e80da541a60c06abcea6c0f83a61ce68a52910eb2d4619422b545e2d8263adb4dc35d26a2345f84f SHA512 ffc557db0d063e8030ffce2a99e20e4529d9caf6ecc378f63f7204af7e9fd4046590617b3e01ac3f151a33a7c52dc77d13b634ff893072a5f847f6550d796eb1 -DIST firefox-76.0-km.xpi 584433 BLAKE2B 95374741a44d7bfc465a55e62509ebf1ba505b49562bf088995ba1bca5f719a0f18c60747f6267ebb848a7d3728026cce4c3827dc0bdccc775ce94f3a2c2a973 SHA512 733e5f32a87b972a77537db5050c767537c96b229297d5f45b65e6cf95a10c6c9c682b61bb561572b4fa30bc3a7005ab866760712ae9b95628943cbec7a188ff -DIST firefox-76.0-kn.xpi 576964 BLAKE2B 0bb305a9bf96f1aa2db6b6ca8d147bd5425070c01c8cfe290d9af2639f36576481718a8bdb48d812ad1c820fc1bc0f6538ec195a9ab092f05e669a02a62e6241 SHA512 40088eda1f9e7428efb9093c8f9a14bdda7564a941be712ea3e87998ecc12aff5601f5e9def2336aabce2c6a034d86e99bf98681aff5b2bf22a1fc96dfcc93cb -DIST firefox-76.0-ko.xpi 592119 BLAKE2B 16fe796492925fefc1c50636a1122962381e0f773f289b4e8e634b9b73655dcba7a5810d7f77d57ad5e61f2a1c29b123f94f9a1c307aea7eaa165a609201fb14 SHA512 ba4df60fd89f30fcd1e4e38e97c1de1ba9f5e22dc1cbedfb7a0e15f95d84c3b4f31bc0bd75612e516ad45e59360a186537d1e813422eeaaec6be64114b2d9dbe -DIST firefox-76.0-lij.xpi 525536 BLAKE2B 47d61b6e94ceceb48720ffb4151a4057324d021035fb77b1ea9b4a181091f01477c417ebcf7ad494f0549cd0b51d90126e750ef008a2c6b4b14b51b7854c5d93 SHA512 64b5dede1c2a72c4a1be2af21dd572da771f5432f2e9b02450f3be5a9bfccf3cff8f3455e0f22773aa19651eb80080b01c024db93ead286443e592509bea60f6 -DIST firefox-76.0-lt.xpi 581671 BLAKE2B fe8f16384dc56b1df79e695f41063c6357817ac7828d281dc104cfd8844abd7137bd721c90c44ae3ec6c2f24511b3cb3e1d1197ba8af31e18b3296c935dd1d24 SHA512 72a6bc5d8908f6ffba7dceeaa3d11b218a490b2d582894432c7b45f21f59c19f81ec9dde96e4d51461dba6eb8230ff621545dcad1eec7283fbf1d6b11437cc11 -DIST firefox-76.0-lv.xpi 533766 BLAKE2B 5ef3cafe0b07a7deb0b64a83be91fea02d539fa7210d96ddb26f580e966bfdc55fc3ea17163c58bfe6892d1a3096abf69a2ecb15a8fb06a8dacaa1d55b5516c2 SHA512 d9b6fdbff546c0162b473ad75e7a8c1a3673f26de592000b2198e4a71a656621901b49f6fcad813dfe0fdb0e7cac914ba4012e0b29854b565eab10659d4a899b -DIST firefox-76.0-mk.xpi 502443 BLAKE2B d0c06f5b85bc804dfb3a939bee1ccf9803c24a0da7767c9e18192f00d153942d7a630751e7dde6ad3ca4aef01d1012909adfc41fc8864e87203adf166333d9a6 SHA512 5b0ab324062d5195ecfc0550d5b16014ad5d4baad74eb2185034ced3c06ff215f93fea2f7559235fe144a5eab5e3ff1f7772e8918e306c51113e409d1019cb38 -DIST firefox-76.0-mr.xpi 612109 BLAKE2B 4f53fd540d72cf3119214d0d0f5ba195f22bd68a2793e5a86b578750c6caed9d2e14be87d7fb02f5251c4df52c499811479a7a4f43834467478864a89657409c SHA512 f9c19646d5f1299d92dbc0532250eb1c36f2689d3347b5fc24bc4ab473ed4793660c9ee9a4bbb264912938e0e184a14b51c3e3e3c98147e66685e1c2758ae7ee -DIST firefox-76.0-ms.xpi 514188 BLAKE2B 45d5503e4b063a2a3fa741e532bd6a51ed05a0fbe76e20627076072ee4de642401b7f693d6264aa69c69d5770d07ae14a345ad6ab404ec9fac6d543aa873988f SHA512 47614e7647b39198e2eaf022eeacbf731f24cbd3886dee5f8b8a357facdff6558c14ab4f46224091d9d1a3d5579218d1e14753569ae45bfabd37b10ef9b9ebf1 -DIST firefox-76.0-my.xpi 578039 BLAKE2B c66c3c9ceb15f28eb39695db997bc56155d8672ddca1b89c37b67cf422e98c9c8de9f0b92bf881a53bff80a47ac2e3efc0f261ea1d9062a3297279ade94bf115 SHA512 06b83af0ca68ca7e74a6101ade21b650bdc41020d5b19390f5b37d5c87f2bb5271232e580a0b0aaf5f4bf3857fcc670d4953396bab3916d862d1b2a494b58865 -DIST firefox-76.0-nb-NO.xpi 546236 BLAKE2B f447cbfc93873abcd018abc70a81c5ae25bcb4978cdbb131178dc60c4a0a1f4d1a5c10c0eedc827bbf0f7d5975deef873126364eaf7f942964817319d7f8adfb SHA512 a1f8d4ba951266bf3c3682535a6abb67836faf22b7c93096d22a79a4507df295fef47d44e3af88e1abe4b52f938189adb89aeb614c1bff3a6c18dc87c32ee5dc -DIST firefox-76.0-nl.xpi 548817 BLAKE2B 3d15e8a0f7384f4368765b9144e2c9aee1c1b4e4c8285cd5fb3bbe41e0c1ed57a80bb7224ae3b906423b86e5f23169d418cab89ed463687599c5a6b7c311ed42 SHA512 f4a51531c876ec163842d3c7c2a6168abfc3efe07680246b26c3d7955a49f14b75f1f6d274cb0a871237793e9be31311475413679ade85555bd878130f1362d2 -DIST firefox-76.0-nn-NO.xpi 548022 BLAKE2B a2f179cc32871cc2ea2a5256f9bccdb90fee87554d4d3cc114424166a31cd72d773af987db102f16876a7c5dfa74ecb112b847055319446a3f3f7ec757df66a9 SHA512 1f246378ec4bf05c7ed8f1c11d50bd261fc30ebad2a04a3e3bca06afd255892945abe00ced9b6d5f9b8c254c7e7ee7c3e11e596ea143594b66d2ac1a0005d195 -DIST firefox-76.0-oc.xpi 566164 BLAKE2B 561e6d007eb565fb6eacec0fe6f820ea7e158762b373d4073db6030201b57ad364aa9bc7c35df32b4e591436cf0c35b85e62990c4576a1474fe2903536843dfb SHA512 9d24a3a7a085db087192508b50b7dc5789f3f8085e650a8b196a8a85fcc86e5dc1d585e282a3afdb0ea921a01a83bc655198b15d6bb2c076c873ea6107fbdc3e -DIST firefox-76.0-pa-IN.xpi 600380 BLAKE2B 5ba3f82c00371f4a01cbe59b6a10a6803df1b773ec9a1aad5ae369fa1547c68413b043ad9d5ce337dea9a1060f791c617a54f2475de0ce8125bb2c8f2c3f8513 SHA512 26623e6ca6b2c4377ecd2785628d2377424cba3fd2e4c5b87cb4f0ee8833e6db5ecd08000b7127a50b4edce61d17f8647f4a5a2dd6cc33d47d5e60bf078a35f4 -DIST firefox-76.0-patches-01.tar.xz 15908 BLAKE2B 6fb89d7c7bcc1e0ff8d46402d5560373d1a89c36d77a48030b8bbabc59d678137a2e8b846cd75799f3563c08a3fec5652c3fe9d9827c0c81f014da1900969acb SHA512 9f426fdb329113b782cb9b9d21506e8c566e650f413fe4f727791033eec9338349668214c2c0e481bacdd48405d514d21b96e975cc7b9318256b21b4489b3ce9 -DIST firefox-76.0-pl.xpi 563340 BLAKE2B dbde00cad15b0f310ce0b03da9cef79beee700334bb29c3e20224aefa5ad4f483cd15fef983ae34890716898257473a4064e75de6e42985a9231ec541544d150 SHA512 db24e3d913ca5a3a52e14c8406b3ae0a7e76a395ce252e85861aa99a8ee476e64d2a5c1ad0da2f7dff3954c125754ba513e17c9e6b65c0e9cb082405563156bb -DIST firefox-76.0-pt-BR.xpi 549872 BLAKE2B a75d13c2ec85dc9b6cf9ef78c5b4295bc1ea71b591baf757a64a311f17537bd148508e85aeb6484926ae52cf600590e5ffe90dd0a0877476ba81a979e547a9da SHA512 b884fb23397d9d537e02f4b5e8312ff8db15c1589d5176da9b74f228ab21d474268f174c5b0a6f22c8482daf7a7f1f1678f8bcc7433b1f36eb9c9f26f793d602 -DIST firefox-76.0-pt-PT.xpi 560718 BLAKE2B 13c50042264ba1d8bd77d6e661962446edba3f6a484fd33b45132e7897be2b68fb76806420db204d45a21ff4ab12c93d1ee865d7dbab24517837d2c8bef7edc4 SHA512 a2fa25e0d8d1f9d636b9a8060c122ab6583566cc561e200455abaecf0aad269e3d993b3a7a093bed7448fe0ccb98eac1d8cff85a986a8d81b60f58c2df8a4e48 -DIST firefox-76.0-rm.xpi 552981 BLAKE2B 54027e71ee131686b068f3d357da2d6a0fce1003c13ebd83df07a5575aa3b3ffed88b273ef7883db21b625a24a11239dc39803e05bc514c60a0bb7c54efbf2b9 SHA512 71dc96082ade33ed64031dbe60f2cd0b55b10108740a957fe30a775b540ac45553fdccb6f71ae4a32e466c223388ec459a904cf00683c34a43a42b037a2bbe7c -DIST firefox-76.0-ro.xpi 567248 BLAKE2B 1047d7cd7044c847c591df3c76177c2e0287b342610b1e6e7351fc9b468755f31991ba02d3d1192ae3744df8c38e330f2e2bb0254ea5f7a8b5f595eab88b51fa SHA512 54d4d5763a3c9e09405bb5a08c8fa6dc488b38510b67166a5e9d8d70ca2664fb32e9c85a01f67b7f61773cdcc98c4919437b8711d6c273a7c36b173198f1a5ab -DIST firefox-76.0-ru.xpi 646853 BLAKE2B ba9be1e335b72ad2cf89f1e8a3ce9581cd1d7e5cf7143bbdde5901a8cd4ee998911c30359ab16c5dcbd8b8aaefab3a6e5ab65154d6907b0b54c9538a1f5b1407 SHA512 ee7cd8b11d917a1231d03abff790bffb50c9daf161f3febdcbc9166b8661075389054f76b46c22c980a5907f464f230f4ebc8f7f0f62dd87d62dc89edb2239ac -DIST firefox-76.0-si.xpi 553879 BLAKE2B 879d103587be30b27429803fbf7a757d71abc572e97dc3cd29a511946ac016b859270cc36267317c4873b6f45c362da101c1f02c6a9e9f116c8e0d66f31bfcf0 SHA512 540275e0b0ec754599b26cd70940626889711695dee30835c32c5a1b86b198958b56e91201f736ebd0a0a3b09b33333d70771d0acf9183f57516dd45ca5e57b0 -DIST firefox-76.0-sk.xpi 580395 BLAKE2B dcad9a028cf7a1b81715966679fcbddd2e9c730a3b9a5db553108d5a8c057e4c2d6da227433265dfa21243bdd5072201b6782b2867849bf9f0d56505d985fd63 SHA512 c0fa279a3361103e588ad83806475e1a6ac1c5d7426ed12fcd83e0bc3d104cdd0ec010c2a58f30e87919a0579e56d028612d3fbd934e96fcf58e54e57179739f -DIST firefox-76.0-sl.xpi 560107 BLAKE2B 68c7f3debcaafe3b36c3c476b29c0150b920662c3871dbf3766d60a2386b5d8c9bdaea6657e9d313b156f4972c4889d7b9e6e671a7f4bd8c7e99ae5201a61273 SHA512 c8e34d869998d42028eee88b730b9f9206e82e6c6775e907116df8211a383ec9c0f06dd8f99bb50ad68e2d4e09e134484778b3ec28798cc56fae108dd16c038e -DIST firefox-76.0-son.xpi 478245 BLAKE2B 655cffc7a1a2a4277ea84e1b2256c6121199d0b2eee4397ad97ad86f65812f424385034503cec70d0034298627a8f54b04b1065cc20370a56276e1d54e95208b SHA512 d662ace11bd5ec4523fe0513eaeb6f31f2218de13001de485dc8648078e17463e746fe2437a5d556e02d815bcc6e19b9f8cac107ee8b447449b403be8dfe72a5 -DIST firefox-76.0-sq.xpi 571953 BLAKE2B 6f94d2b28bef6e89b7f31ab5065c5e1d01805cf43f577b8f8c87851c88f5cd75230f8505072770701dc3d67391821f91b51cab5e8b6bc21e7f830358eab43df7 SHA512 605b77d6a87de3b28bfa3f1cc04e0f567629d2bfd1101259a76ce2250119e6861b55bc9a85bdc4aabc83e8e68a0405d4cd51b040c3820b8a004f75a64e70b71c -DIST firefox-76.0-sr.xpi 598638 BLAKE2B 0bb7b50bb48fe3072fc99b76dc42c41124a00691e4b0d658a2900ddfa30279221a33019fad506513bbaa2ea074993d21dbdd47e47f50c3f05fe1a6c046e4d9dd SHA512 197e67d3931a235440f15ef4bd4ecfb6d9f0abb2e86a61310b10903c0a2e81e767eb1c2cd1f11f7fded450810a054ff8ffa9fd1165eed133d56eb67feb32e897 -DIST firefox-76.0-sv-SE.xpi 558264 BLAKE2B c22dcb2005af326b60a967f622c9151513f71be66cbe3c91aa1c5c2ff501fb1e588bf5c84fdae7885a8621d5234718242803e74101c9c203f6dfdb99dfd34219 SHA512 0cc21323468f0a7be5ac0de3aa8da0d1fcc6ded86d153d2131fbd1b605be519a8ec589d44c4b60779430bc149d18559e72e0a03f0ff1985db75033f702a03314 -DIST firefox-76.0-ta.xpi 583677 BLAKE2B d8e39e3862b2f702435a960ff9a97185374eedc1b3dd8641f7cbb35e4f3278c5db7ba6049d8d80d8c2492f331e14300358ebff1c17ecd2ae01da621079ae388b SHA512 d45468b1321478c0f5c402953a7141596fc0cd3ed575ae9191f0e5c156599d60caa0a6dfa948effc75d7f7ef9bef322b446b80c6f1b96a1ec206a2502c449309 -DIST firefox-76.0-te.xpi 603569 BLAKE2B 0d6a2b5086551520875400af9a221b1323931ad32d59609bc4c58e77b4dc52bed35e2eef623e171a491b28b9c326be698ff795fdad4efda44a76d4a909737ade SHA512 aa1904cdbc3e3aaf906c2901fee97b797244e7b723651e40f40df118c75c6eb588ae46772116f780acb3de2a11dd26bfcc7ddc66906f439ef039fa2c883f4515 -DIST firefox-76.0-th.xpi 622450 BLAKE2B 2ca37180126c6a38b8084befaf2742c3bd877c11d8a72a3c1d4a8e7d5070d3f17cabb188d0db0ef3784cdb63d2ca76ae2e086576c07bf294d9ea581572783e85 SHA512 f173bc3adad85a6de570efc913eb47592af5fd9a25d6fc40eaef139848557be091173f8a99f20eeeb7e925b42f2b57f34bf37e72fb6072d3924c89cc788af63e -DIST firefox-76.0-tr.xpi 572164 BLAKE2B 12c49e6e232afe2731481e28bddfa63910edeecbac57cdceaf285c43b42764a4cf330390a37e9a1b7a4831c08cdf90ade60166dd4cdc62307d20111ae157ba51 SHA512 8f0fc16312c3e67bf3554bbb34615064650170fa7bc38f61465a84463ab68fd3d5116c67851556ec8831da3bd1bbb9ee5808c66eec24fe300f0b51060d300cfc -DIST firefox-76.0-uk.xpi 635708 BLAKE2B bb1658d23026f3c22baeb9bea61709bba256286c7addde673091e4c83bf3b8ff10fbb5c78507c0ef35dd1037af064eea357a4b33cfd03e477ba9b002cd928875 SHA512 3c64a3757722b7daafd86f7d7f1034fd3608ef4ef3483e4c84bdadd4d04f4766e5716a033a429a6a7ea8dc985d623707599da09d6e61584d0efdca3373ca961f -DIST firefox-76.0-ur.xpi 611184 BLAKE2B 83a97b80424b20b34d577ef7be291066070762409c866bcdfa8c27b9f20f1bcabd3f05708f298b657d15cedf5b3d499ef9404aaabbd0c7a7ee12811c59a098e5 SHA512 2c52dfb957082db3d34914a8eaa8be671a78a1b7e17a313b06c08da5979783eabb4515b7c4d712e7d4bba5422a7ac5f5563aee3b12a2b31d30c7628ca3f851a1 -DIST firefox-76.0-uz.xpi 529079 BLAKE2B 87cf7cf23b2af4a12ce29f5691939e5be5d5750419b9c4eedd38bcd7f3e0bb93b41bde580a5c4daaad792f44f5556d15611571b7b6fb73b6c88ec5d9097b97ec SHA512 8ae5b46f28934616d5851b7ddafffa289a5decaa4249742a1bacb313d528ab5bb6a013e44c6542b134203dba15a1e3b821c0830ee96d45560b495be63341be01 -DIST firefox-76.0-vi.xpi 588350 BLAKE2B 83e74c3e8f5a82a4d6a7fdfa6c57a21e74adb12255073f4157ce9907e27c1b9d41afb4691cba38708256a1e37ea1d3cf25df0ccd89d863f1962c72f93c1f4e5e SHA512 1fb5e9c78cf93cfbecd3f5b5d440f6bd224b6bc1667b678071bc61add5afe7c7689230ba4f9ed810905a985644a15ac418816bd135f4d6b894d26bf328695150 -DIST firefox-76.0-xh.xpi 483097 BLAKE2B 1ed80fda15948789b68564c4003447f5cd766c63d53478c68e6ec23fda85dc27c28458a7fc72a98e5a73e91727f7756c5716994b294695baca49f01a109db66e SHA512 a39019009be2b78cae0d2df7b85a1920e18608da652ed25d12aa21a20515e3128f30afe73f127f502b0a01610165059ac69fc916ca134887b8f073806855dfe1 -DIST firefox-76.0-zh-CN.xpi 595484 BLAKE2B 0f211db9071e3f7384527fb8eba5a70d945886078f5cc9db3309c7e6cfd4efc8805aa1fb968b1922f365fed25b5664410133d8d3f98fdd15d1b27cc32c4b4a81 SHA512 2e064b162114845937b8ac636f38edd1c1f3e6805a33d74ac5d65aba52f4a24bcbab530d39e3187e762bcbf95c2d096eb7590e55cc8510086f6da36e5b1f5894 -DIST firefox-76.0-zh-TW.xpi 593884 BLAKE2B a07b5f91fffc3756a17be120513e14dfc570d813e311d69930c1bf075ba471da06ffd30185e71454a94bb5c01947ede2900285ac8952444ca88526cb788cfdcb SHA512 2f3ef78ca78c4e302e1d4d4a4dd64a8fa1c4dddf07b98e1ac4671d462b6f11678351cfad1fc8f1577e633331378597f1f22b8e449b816388676f492d24f58429 -DIST firefox-76.0_rc2.tar.xz 323886744 BLAKE2B 6efc4bb891300918f1ff9fad7b68dc9fc7e923778e62e44784d5992ba902d92c77d1235aa5f82c8934fb356830bfabf68bda4200b19df1f6160a4426f17777f4 SHA512 1f023861aaed0468f62135d3ef1098f599111df4e8f231e19baaa54e4bad0e3ddf8575895467ffc9f72bd91a2f6ed5b55096fe4932685e4bb58871e004c184db +DIST firefox-91.4.0esr-ach.xpi 451228 BLAKE2B 525aac7e80d504b87a565f045f6ffefb5b8743d9f0606564d6c10dd2ba6ede526d451bd08bdf9ff4abea578f55cbf7dde1c0542ff8ac3640c3c8bda920d146fb SHA512 42be3bdc43b561b2148fcc08be8c4645c6ec15ebc1d689489f922c31234df2a88fa1dd481b7d8122c822b8487e2d1cd4e7a546909000603cc1d056afa83ff5e5 +DIST firefox-91.4.0esr-af.xpi 425096 BLAKE2B 8af222eee5d909eeaa76168a1601e59abf870e1d351b49495074c27eb12e1fe1160293aaa972633002a9e9bdae02a555e395f962de8fd9283ce86556ac73d6de SHA512 1a82f635d36a646973b0f08b1746bd476283f6e807ac31ef9fef48e59130367c7e138ba92038f7f2778c8f4455f9d6726871bbb9d563495b68b0e3f72cf1bd02 +DIST firefox-91.4.0esr-an.xpi 497865 BLAKE2B c4903662ae08d04a5193f4355ab273d09b71fefe3ed69f93ee80b577ea76ca0ff1921f31c8d4de852569a41d6eef54ae039d6557437761fce42d5c7babc632b9 SHA512 35da11f247f7180e2c5e720a1989d57bf575c7c8844b231c38b598c0df166891b9fbc86360fe7865908eee7f4119c037664f74002093a056e601fc65634361cb +DIST firefox-91.4.0esr-ar.xpi 557243 BLAKE2B e1f4dd28e26227ef345673ac6b69eccbb3083d619fe0ad691586f2c132912589552e3a2d463efae30ac109d3bcef7a2b94aba78b0dd89b4a1ddec9537adb2e14 SHA512 cc5e9e60cc65314fef7c6b001a773f8ae7763342ba2979606dc4ef3efeab2af5cfe0443c953dd0796a2cc4f5bcd4671a6223fb921559d455794ac3c2606751fd +DIST firefox-91.4.0esr-ast.xpi 496964 BLAKE2B 6cd56181f48260dc85982220d32599c5d99fc7607ee17cf607976d945b8fc04217e9bb5ed150db6e8b0d691c6d219f9adbe9e26fc52af8af106b1b635caec105 SHA512 619f8f5d96d325a068cd27589de9cf230be74b613d8cb983e4833cfc59641b5e716a3d7f1ea69027e1baea4ab5a34f21f836141e5bfc4d8257c8d81077c29804 +DIST firefox-91.4.0esr-az.xpi 487259 BLAKE2B 533a12abce11c5d39eb21291aae74efe0ca1a77a2169ce5be11cc64864b1cda5b28f04153c1f0c1c368b5183b248aca9596fc0c8e19466a5dc433ea5a54cdd54 SHA512 ea239697a214b6756e091655608514f3746a6ac0661cabe0241004d90854baf7d0f3191de361216dec70db00534bdd432495fc45531c1ba1162bf61d35ad4e5f +DIST firefox-91.4.0esr-be.xpi 617852 BLAKE2B 0e9fa980b3bc459e3b9bb7f3e63c6c3b21a2ae30995412b62dd55d2865c5e8144d5bb236a884680839a227e2e5456b107cb4c39ef1220b6186ab8ed8649eb170 SHA512 848d39d99f72bdc0b470c9e0a9a347edc3a661a43342e68085c33974bbac0d7085548fadb391fa4eec12aa24d4e577e670899d503a70bcbd02d83032b4d6c8b3 +DIST firefox-91.4.0esr-bg.xpi 566071 BLAKE2B ce4def1ff088bba14618de255e33dcafe2c0e1116f5d58166361f1f8a27a7c608e5ebead3270766111598c2d43ce5a9b413798c4aa722960bcbd7da07386538f SHA512 e964a9ca742de974334b5f9a54dc3a0e6d7488a181ae7696a6130e2307d85cf1d39307ee4442bc663dab7a9a4d1850117a5eaac22e670852cedde4a18d2e0c46 +DIST firefox-91.4.0esr-bn.xpi 554437 BLAKE2B f0b7e820e5a06f9ba829fe61b903d8d363eb4793f8ba7463096ea9acd68abab500465c52ca9d577fda0b9f36eefcbdf62a4811be15abe9e2ed3af752853c5980 SHA512 95bed68b2e1c2954a8447cf5d782c9e650bd06e522163341890aa7e751ebd906404dfa8fa68e66749c0a69e5a1a17fabec827ecc0fac2bcd3db5ed4cb423346f +DIST firefox-91.4.0esr-br.xpi 522501 BLAKE2B b2b2e43d3d6a0dce53b8fa6329951bb3ae14513a53f42078545c1bac0b42ed3854e367bfa9ddeeabea995c6f0c2709150dfeae474b6c9d22465057ae2c6cfbd1 SHA512 f4a4a21ccb7b7609dd7050f5fac57834b3806916ae2fe5a8d46dfea43715a80387ae776edc84cd151b2913ba0b3250896b2e0667dbcde5501873512a9897db26 +DIST firefox-91.4.0esr-bs.xpi 461651 BLAKE2B 173ae71acf7d349526871b71a17742723d5ec4ca8a4e4786c7e60611579aa1dc2d7d3aa98db263a0d6e3e9246b45fb1f923662691df5c0e7b9bf4119abb3bc5a SHA512 98227011b4167c3635507c1d3984854e049bc12f7d9ac27678bcc8c3db2c00df461d1b937c30e0ccade7fb90cff10ca354be84050f63730b05e6261bedc18c5e +DIST firefox-91.4.0esr-ca-valencia.xpi 527261 BLAKE2B 08da181d15b6859851f294a97548685797e6de5a954615990bae0fb0de0f8a8af4267516397e7773e6d239734c12dfeb5c3597ed66e917cdd35b7ee929a27522 SHA512 e91197cff0a966fa294f9e7027eff1134b196489ff5ccf943f3c91a0deccc60a9b4acd02e932074196e5fcaf3702453058aca1f5efe57766d44cd21a7ea35082 +DIST firefox-91.4.0esr-ca.xpi 527631 BLAKE2B d759ba35fe9940a21ac969b9386f236ada30b5ea4ccfa702714de5aa2310a150db48a2dc5e2c46087e4d0d2abb51e60672eba9b9e8e941d3c33d2529328c13eb SHA512 2abef3037ba8d26669d64c710acb681136794e9d51c47f25dcc8d668e8cae65b708b072569379d6c272a54ba6027212696ac31777d79421eca3acd0fcbc75b91 +DIST firefox-91.4.0esr-cak.xpi 550924 BLAKE2B d41287e5d63273e97ba55748d6f94462db7fd0508be4bff7d59c7e79504f7f173826b891e52355545edc9110619755ab5b8bc635e65d2019d012df7185fba24c SHA512 86b021881ebc4bb1855cfc52509b16f864314947d7122da415ce057dc7daf7a3d4aa9621ed668152302f9eda1250c7426a8df9a717d92f7d1591097c4aea6c55 +DIST firefox-91.4.0esr-cs.xpi 559274 BLAKE2B a8e0f05e08b85020a70ba313ec16a4cdbe2e1815070449485bde0436750e42ca39bb1d2b530cf4c69928ac96a37f24868ad5dd09182c627ba8916cfb1eece052 SHA512 2a706df50f8245863b9d66265055c83ebe2fd8e19e2ec7f203aff4036025411a7c9163cf60b6f37e042d3f11cb5b4b3de920de2b26db9559525339261212201b +DIST firefox-91.4.0esr-cy.xpi 538234 BLAKE2B dbc2747859d76eb542c30719364963b112e0643592ea6ebab75167eaa5db5f5c62427d601c3bd2106001965e988b098191b2c53b7be1a8237dbe3375aeb56e91 SHA512 3a4fa4f2a52bf028ba8b2bf370eea3ae0a0a50fe98e42eae8eed8aa0d5c828aabbf72b21a70dc99ccef3b6ce59956e01a0970b44bc9cd82cf3f7d30f48f9a898 +DIST firefox-91.4.0esr-da.xpi 530228 BLAKE2B ad7891974d63bef156efea37a634a53548fc924590c7caddc4df1aad12541f2052123aff1656064e38743764a6c5933b968ae750831dc5b7686f42cdc64cb7d2 SHA512 1feafd2c5af269318109e11f47bd1dc30c28027b02deeb2910c21e84ca988c0ef6e5b85adead7aa73581bcdc861445899996e61b370a039355bf15d63ea3309f +DIST firefox-91.4.0esr-de.xpi 549363 BLAKE2B 8660c7d0d22382487bf45d573f93424706b07b4275e553e00faab26debaa156309918983b18ba60710b5694da7628c8bad89a92709f67303f63fb4974cf32143 SHA512 badfc5b13084cb6938a08e403fafbe128fe62f3eb799754b89037204f72a254601073d46b10d614f120ee9ae834cbac63ef6d2b2e632a1dbd29d8ba466f6a00e +DIST firefox-91.4.0esr-dsb.xpi 562054 BLAKE2B 03ceae4f7c0b21a4a73ede81da1d87f28b36691ecfade984e0150367faec8397ebad2a53b5709105afd437fbc84da1673259993cf9c95c415a962db827a96a9e SHA512 bf46da14c7539d4e69a2a4ae9e11949b9013798587ed99d15831ba8e654d1d623dcbd26150668839b06196e24999b7ff6cc8f31c0c664b6d338e8423b813a26b +DIST firefox-91.4.0esr-el.xpi 634551 BLAKE2B 4d6d237e1657db12df1d13887d45c636e0fbadc79feb9c27a16243bd6157c5b7f7d0c1b1cf29e05d58709c228929c0a4d2c4732d4c1d0f844f11606c50243494 SHA512 433003408c24815a5e05e0595a21fb6b5f1710cd672b343f9a708299e8c61f621d0b01cd9895610fd87214b6108ccbe9efbf8053a687b669d60864f69c45b2df +DIST firefox-91.4.0esr-en-CA.xpi 506461 BLAKE2B 499bccc90ee2ccaf44fd82292ef193223b8ce0a8ee8714694d668fc52a1e550dcd90d75455810a3f167d50060decd5d491660f4958847872f30211477fc53329 SHA512 79db782768da33dbdf707d8e67d0fa361fd7651576b7fce5ba55fcea9d5b36b20961eb5564ca9f54dbf5dd8d21f8b106d1b7fcbe7b6e6c4704d54f9c0190e579 +DIST firefox-91.4.0esr-en-GB.xpi 507019 BLAKE2B e1143c3c00e0ec03be030b12b9988b7ad088fe2c833524b796ad4ad4e0a2e10d1754b217dc8e2bf280b1dd92a4a8f9cee9fb55875b6540847591827a0f687e99 SHA512 53cf821d5413f60c13e50cdaf9244b80c4f4783cd6bfe7c7c340b99c0d4f1f479950affcabca33db1d28da3302e30b157e78e972384b1d56eba06043c06d6d64 +DIST firefox-91.4.0esr-eo.xpi 528486 BLAKE2B e5c361e4c4fdee20d33ece92d5130f182a5af860d916040463e8292f14799bda0ced5da3cdd09844a85799e5991d9f25721e60c4a8e9b0321028d2f25a26085c SHA512 4c93457f3276f66d442321454d9ee020ab24966552ceafa980212638379a15da213f9bd08dfacab104803ab1258f3e3fa92c6f4a81548c7ee973871151900175 +DIST firefox-91.4.0esr-es-AR.xpi 542781 BLAKE2B 661c003673dddce5ca3cbddaf6a7166f65ddbd62eccfda55fd6e110ce2ee416d48a2be1522bd298e64c54aba72c8e0b55c233a5da46551970b1553c78911142a SHA512 cd7d4c39b4b010dd8c17497450297b7c3f8ccbbad1bc5b598700b88e4432c8c6a4c07652fe4f818b6c58028fa243bbfd987436ea9749303fe6e33da5756c68d6 +DIST firefox-91.4.0esr-es-CL.xpi 542423 BLAKE2B f620a3f923167105b6222f4f814bd16a3d39c791e91a034c10c4e2a74e82231ef11f967d4d10b74a51de965825b3d95213c0a4044d500e0825c22c74def52b7f SHA512 1df5c356c657bf009c0702d178c0a97ca6425350aefe46246d585bc914f9e957d45be2b8f098c79aeb6802c715879faa3c9ebda96ce1a1855151d0f031ff9c27 +DIST firefox-91.4.0esr-es-ES.xpi 533117 BLAKE2B 645808f4c09423f43cd323eaf5190259702fcabc29aa816a3eb64e63394b5571e0c4e23a87a5feb9e79145fc3d2dc6c4e48d12fa2f0df199690f8245aae877fb SHA512 4920c49813d2b996ca832f452d51226365bb39a44ac62645e3418749fbdd08e8e5ec8091eb9108e9039206d434091be570aa71cbb9732516752cf616b4465dc5 +DIST firefox-91.4.0esr-es-MX.xpi 541516 BLAKE2B 457044739b4f864c7c5647056c4b31eacb32d79296488668429683a33f7a4438b13a8832763f9e7628ae6094d8b7dd1ac72944d931e96a0e4a1a6883d5cd8878 SHA512 79b184125aae7311195d268af0d97aa274c9d26d8fd1d8b557db9860dd8e5cb17a5307a39a22be150fec18adc69649dae5e76922e9c46fe29cb32a6bfef8b46b +DIST firefox-91.4.0esr-et.xpi 480346 BLAKE2B 5ac5375095f433be0d2d474c7ea808f826c2123b82ebdbd541bd03914972b4546c940f1334711ff16c75b9d07ef179bdecef8aba80b02c0350c4696d86655530 SHA512 d86bee23f2a22a09b8cd331a3f1ba3a17a3509c1941af64111d604895e8ae48c0ed36daaa72610037aacd039d2e1ae80a08182014163cb054a57bb4bd3c99029 +DIST firefox-91.4.0esr-eu.xpi 532520 BLAKE2B 88fce18bde87ac875adfb43fa5741ba2ff568f0ce8c1260c474d3f3a7af879ef4af699ee8a6b24d99aa6228dacca67b7897e9588f2b4c30679fe37bfcd511693 SHA512 c1cbafc7a7f2c462d7c2f43b830397dd02f9b6e12c01e45be154105b36cb62e56d18f662086dbe4127d91927dd5980157dc90dd4a8bbae8a663beb42dacc7a47 +DIST firefox-91.4.0esr-fa.xpi 553970 BLAKE2B 568cf1029ad7150c72f06adbdc80ce16235f6905fdd7545ab9aa8b5923b5f585f2e2d889260b5ee3cb30f6a0dfcbc24afc5b2e7307055dc4bfb02e735e40d640 SHA512 6c0d5114943d27b4d8b50a99235d6e85e6674a810e95c1999cd2061cdb9a7f1f63444857fe69d893a864a3f083ecd86fc4641d59edb9b15ec6f1287feb2a13ff +DIST firefox-91.4.0esr-ff.xpi 469973 BLAKE2B 6dcbacee6086dec58fc2b619004cd505eecfb20ac914b2592c6e18864b4c016b535949241f1e8e806ef7609a3534c272b0339a701ca07fe92aa5e0fa2c7bf8e9 SHA512 3250d9e7c14370ad5379b081dfc4831ec5c4db6361cee3014f1c31d0b963d82da8cc5895ee8793d383fc508e0d78fb289f592f8dc1f75e1e70b61ffb6218111e +DIST firefox-91.4.0esr-fi.xpi 526622 BLAKE2B b77cbdf5370e3535a3352cb956eac60f2f3facaa6f9934d6bd75d8570b0bac801a9f56cb44044974b9669595c54dbed95e48568759cfaf0f853f8fd89fc3b91b SHA512 38d6d9d1243ff26fc588b984114f8669136ac7e78e421d1dec0ea6bd12116ae49d85de5f3b559f21b0510c01a203cb8acc19f625047e13fd5d79238832a2af94 +DIST firefox-91.4.0esr-fr.xpi 553503 BLAKE2B 393c700caec3ccee3ca5e679f63b8463461750872c54090d5f619501ae4dadf0a475ca47da1dd7efd80335854b094d52f08df7ec4939a3978b7130ef8875c840 SHA512 fef38c360e58008da3ecfb261fc8cfc904fb4512159d4367e7e3d08173c1e675d2fd9a5ee0db5cf440f2eae18314998515a0fa1e78c855ec2b45cc95f70376fb +DIST firefox-91.4.0esr-fy-NL.xpi 539366 BLAKE2B 618c96d6156799c5744d311368d7b29edb79887c6997260bdf74bc3ba6b6452ce7fa76265965e78732bd746dc19bf1512e7ddd9edd43dda9faa6166417cf6274 SHA512 062d45aa56fda9e7e77d0badde5a519190fdc804dee5d648d9d2ea75174ec6412395784992b50ac58e79d821492b248e6757f2c99c63a5649bd5bc52de74973a +DIST firefox-91.4.0esr-ga-IE.xpi 457892 BLAKE2B f3f5c1ea1c1e122a896bf88774f8b76b8dfe48183c8896f5c64c705dc1ff0283a2f17b534301f4dbe2b621b5f6f6251d2085b28476ff21aeadc1cd15d9a14378 SHA512 e5aeb011f6e6b5adea4c04b01f994a6d4e3b4d368fd8a1efefd48fb631fca757463a71f2c3b519af7216ef42d540367fae3423e6e2dea038e51075c10b4c7b33 +DIST firefox-91.4.0esr-gd.xpi 529204 BLAKE2B 2d61fd5f3c221dc9ccf9a72948d28a9615c6d920989ede46ff888bd0f63754eef7db995d3744be398249db8aa7bec0d37f61c58ea1de016d4ccbb62b471ac58c SHA512 62222ade8a1ab7a60168040c25929155f5e9a6a769d40885b7f6471bfdd523457e09cd4810227dee5dc97092fe2862a66af62843a18a17be8cd0cb4d09116e6b +DIST firefox-91.4.0esr-gl.xpi 537265 BLAKE2B f3913d321f6abea828a18f774e475da4d9d91bebe3e596a77719216ffbef7602a10c4501d0fa6c1ca1404c1121773a9cc2b4d8b1c02e20d971ea1516a05fec3f SHA512 1f3177618c182cec06c9c9d69efb016dd09ca80dcd1a809a5308c32e32737a3c18170de3f9f88b04f71a42b2090051c6c62f8578ad55488c5322e9667a0b1301 +DIST firefox-91.4.0esr-gn.xpi 554090 BLAKE2B 216907423db0a9ea6af0003cda1fa12b6b44fbfbaca7b71d241e9e05365e07ac99b2b2d8654937a840b4747a2916228edb9e66a56203e3b19e8fc4fc41daef6b SHA512 306e3474f30cd22e52e17a7f338f1ce28b2aa03cc8129eda8b24cf379d686068bc93cfe9c3cbbddf4e60fcb278a5c0c9cfa443fd4f34bd4b6bff3f924a6cee1c +DIST firefox-91.4.0esr-gu-IN.xpi 527245 BLAKE2B 2dc7bff6a9a8117907aa0534100cda919926191793171b0e35dda3e3e0c66d7768ad77b24266de265b5a3dfca206d6c3f968870b2184badb71d99c1b0ab9e650 SHA512 ff631f7094c1d3d496a18bfc9279424f8165f2d3c0e9eb40a723e1f586e32602d9cd387cc4eadd6bb0e7a80996b94e5e9a774e4f2b010427cd26efcacd4fa947 +DIST firefox-91.4.0esr-he.xpi 553037 BLAKE2B 3700b0298b76cceef7a2363e1e99c9ca16d3e778def977f1f7ce93f3f6059e4f7dd136773a3e77dcca18511920f078a1f763d111a616e198bbcbecf9ab155584 SHA512 70e5125db74d1427d70cbb5e68c34520a960874897299eb35ef2846123ab82b737fd71d32adc92e7d04f632e4ee8b64a154aa0f8357a9ece277ab7669df717be +DIST firefox-91.4.0esr-hi-IN.xpi 554560 BLAKE2B 2551147898282dc511a36400e392b3c4e19b4dd935ded68c61211afcad796cef7a22061768d6ce486e81e958fcb49f9a4c1f303fb847d0e9fc8c4066281d7fb6 SHA512 315fd73b64538eaa6c83bd32afe47a64eb16c3cac4c8710b79cbeb38b8e6de1d6e14b678e4d078b8a39735694a21add2695720f7bdcd96f7b5f41438b66bd6c4 +DIST firefox-91.4.0esr-hr.xpi 528149 BLAKE2B 307d94c1a9efc507f931e69c34ca89d13b0327176a8b022f497ec33d8e1698daee5f1cd3d61eb21892db2647654d155cef12b8fcd14b61394d3e80129217fdea SHA512 d25661ee98fe4dd552a98d5cf9d2a315551a6ef80e4a36418486967e0a85e7f09c26e3d01d4d692e57c12f10336898d854f57ed6d8b4576a7cd43da641b1817a +DIST firefox-91.4.0esr-hsb.xpi 558158 BLAKE2B 429e76be5ec37826ef7a41b32fd966e4bd8bc62719732a9b2e0f52665dc3ccd91abe83857c687384610f28c5c887952a9c9662d7394071a49482600b21e01bf0 SHA512 d79e612ab8b21ead195298493b6e97cc38a648b66da8653032483c7cb4b481efb08bcd4aee6197a69c5d8692fcb1c85dff88a3e28b327e85855598ddb7d5207a +DIST firefox-91.4.0esr-hu.xpi 561985 BLAKE2B d30551d2c287d19ffafcb034eeb3a1c645784307f545cd489a1bed92f445edfbd04794918e9a06c608c25b917f22f7c69be76b8b05f053ab83157895b76c5c3a SHA512 05fbbc80885d2fe40d4e2dc8b8b95ad3495a979c9b69a223cf38b67a3cb55dfae636bd63e051cbcea777085173797a075b8c37ca626984b7bf5165267e9c8485 +DIST firefox-91.4.0esr-hy-AM.xpi 576131 BLAKE2B adaa4291a56a0b7fb202e890d0f8a05b7dcf56d9b6ee38015895c145050d5d4022f5150770eca71403229423945f6692dea4c4ab43e9301403d6a5dcb54ef93f SHA512 1f233daad38800c7adce495053bc76ed5a101893b1d0187b73062bd45e96b3cebe83eb435c44da7b374ea0a76e00bfa78e3d816b050492497c1e254f25ab7708 +DIST firefox-91.4.0esr-ia.xpi 528328 BLAKE2B 71c39e655836fcb82004fe6a7d6308ab337d41b89312c57bc8c8081a05accf3a75cbf2dd443da4b3e99f35fe47e091219a27c94c8a971e3a5ce1fa9ad3ea6a50 SHA512 e345f378dd823b2e11a6efc4e9d9301d8eb5368e32d1a3b8e27ed9379c2c311214e67099f3ea6ef19c86eb40cf80f46eee0333e5e1d787f2c1c529a79797f323 +DIST firefox-91.4.0esr-id.xpi 517718 BLAKE2B 6ae152e686f9b55c067d9e3758f71e7690b8421352bcc562a375daa47ed1a7a811ab1f62f61c6a9ba9351952bb90bb208893787f4eae63943202d36545184f1e SHA512 a2974e9ecd45c4615164eaf55cebc7f01737f5dfdaf3547add722f33d215b013f4fe18546259dfb2943e08707ac196c74a5c5ecb6d2e931142b2874220b97e72 +DIST firefox-91.4.0esr-is.xpi 467919 BLAKE2B 3abc9ab10dd2eaee9bd335b715300bca43a03c63a7a2a292d45d2ac9f43b216848d498a02493e77ff5be9855f77290d23ae8c635aef29566702c55bde158a465 SHA512 293295d4dc560beb034fe565ecb828f80a1bac7486e297b315c0aa452ecf5ba759017e61f9a3edcebd8bdf2a6a02b5c7c8a3ea4db119d19cce76ca8df5eed197 +DIST firefox-91.4.0esr-it.xpi 455746 BLAKE2B dbaaed50f0d19596bd2eb7fe1584fa14296041e04eb987a845d21883ac14df80c33fe5fce6a5b66d8a062d5ce147242a31860d1d250038c0a6f56b738477f774 SHA512 6b517797d0df3d163fec14137184ae112c948c3146c271806546d9288e424797cbc8d664346d02e3eb702c1c920ee67d084015815da45457ff317bd4d4c060b9 +DIST firefox-91.4.0esr-ja.xpi 584266 BLAKE2B 8fd1614855bca5054cdab88daf77681fd9b8ec8487e62dafa6cf415322bb5992dcb57b4337c2afa7d9fcb863e4c26d608ec44af887f4faeb99c9322dd15cf8ed SHA512 d82eeb7df6274d12e53b48a6a5c5687dfaf963b9a41173eac1d7dbd1cb0d620f33f3551682f4e07343dc97ac9bb3d5993ee5c26978798522a8972b655426f908 +DIST firefox-91.4.0esr-ka.xpi 582191 BLAKE2B 50fbd0919e98d1fbec2f88506a412246590308c76ac541c9728236007e2c4a4e9d7e2c85eccb2c52fa376bd1453557f6a17ce688ed93e72994fb44cf21e0e1f8 SHA512 e867e77a3817c23104dde4f989cd0590d78cdf278d0b8ceffd5189e6b7bf37e86394fa246b444b86f1a8e79a627f02c316aa1a891c6caf33d791021004a3c890 +DIST firefox-91.4.0esr-kab.xpi 541441 BLAKE2B 4960041931a5e4ed22aae97f6a6ed72d2b181042a67ba85c9c96a44740ce2ed1644a14759c4704f6faa36e6395e600d1977447e98b38d6b6da415c974dc62260 SHA512 b114aa5f922a831e3fea8f2ad25ae54dbfb0840fb3979a55d72ce2b3ca59644e14075ef0da57c6b465603d51edf4ae81cdfd926f9ac0e428b09523d9e47a09ed +DIST firefox-91.4.0esr-kk.xpi 602422 BLAKE2B b635982be599b6adbac1593e844f65e49987ea649abc6a41e0d5c112f1e2973c703025c834efc1f3161415e93e9e2dbcd3b76c03a845b380fc4641c14f004ac0 SHA512 81d163e25d069de9fd14440219f96ac5dde744458bea87bb906b2bdad21dcdf749b1639c6e3bae54e9cf50ff13f4425d07cd861c2890bb5c1b4cf902ec3c3aed +DIST firefox-91.4.0esr-km.xpi 531026 BLAKE2B 694d6ffbf2e5155dbd5e6aad9cfc161309a9b4056b2e41bc4506700a69e1f5bc4ab458892bd6987ec9e67ab454c43fe9bbe4e3d2eb38dfc8681e2f4e29695f5d SHA512 d7e5e2b75885c03631154de1dba4bce1e605805751a2d34a2beaa50232e4af51a7c7069454be077ce65555903fabc5009195bb37978bb0fbc8d7ac976e5b52d1 +DIST firefox-91.4.0esr-kn.xpi 496518 BLAKE2B c0e0d5d8ef46e3cc3e013ee3eed5b5ccf71ad9b9331fe1c56ad451b9e5c70f04561ec29159f5d82e6007ac97d407535ff923be297500fcd5990e1d0d917d2360 SHA512 6185590550c9d78444c96f0f66fe6a7ef2ef46cc0220e485ddc8a9fedcaff2d779e2096dcced729c5d19732b7bb7408ea2550d87c66f5f94afddcedacb4eaaad +DIST firefox-91.4.0esr-ko.xpi 574828 BLAKE2B 22ab4c2598fab7105f4fab62f7d37390a2c3ff5ff1334309ec7cc60406d1c4bbeab617c5511a0fbd0ea74ac7dceffab416aec2aeb6b2b307fd0c2a7b115a5952 SHA512 40ccea4f669d3d559837b0196fc1688d75e02aa39162e02913cb0d9c19a1d57d4705ba789d53c38f4cd2afcc888eb153e2ef79a0c618e04460b90f3ea95f329a +DIST firefox-91.4.0esr-lij.xpi 468276 BLAKE2B b53d636db515a94135faa29e5951ef9f9628603bc6fb6d8e288c7e713294babcef48aabc70d53a1a2e5c5141551e2d5f3e941579f0cf40e553c3c8e8a98e8306 SHA512 c1e27148d9e18eaf972ab2e12ef6474afdce88f0eda7e81d20326bcc5f815b78fa60cf79c9bbb5483902141d8b46c048c94e06230ce5d13526f1aa56985f6885 +DIST firefox-91.4.0esr-lt.xpi 556483 BLAKE2B 76b7dec6dbbb222e8763b18563e33a74666aa1f566b31671eb44cc3908ec8cbccf73a496840be41ddbc7619c02bb8a2663af72417e4cef2f3cd48690606acfc5 SHA512 99dc34d152d48d544059f5e2c5e070dba68f6278de804a82b82919058a3308858fa00556f306fa67ec9e2dbf73b8bad7ad6eb29c415b34cca191271d7d3b4bd1 +DIST firefox-91.4.0esr-lv.xpi 460155 BLAKE2B 1f0de8813c7c05d4c8208adc0377637a1df9bdf0f5639c2bf2d5b440bc5c0772e60499acb1630e65f8912a253d7cd449b9afdad0b45a77d6b15c82ee3cb51bd0 SHA512 8f2506be64284e762b90f5c4771730f627110aac5377281ea17647d1bcf61e2911d0ec3d7664a7f6d3d7799e0a18f72422117d9cee36d8b18188da729bcffbcb +DIST firefox-91.4.0esr-mk.xpi 463732 BLAKE2B 215c755574ce9204e1facb159b99b88730fa920b2029cdbe78a7e6815df30e4187e8b726f6893dca78a6bd71814524f742fc939f84198b81c6dd8590d3ab9ff5 SHA512 8fdc6e67a9ddf65281ca2e90942a3eff163eaddb694abf01672f1f2e5e7845d49543079e396ccc8a2403a2189143dda32f9053873c5e1927c3b09b7b7fc0cef9 +DIST firefox-91.4.0esr-mr.xpi 529969 BLAKE2B f9bd79323f907b67bb845f91138837d4ae30ff2f74366258a95f4104ea07c3840daec921a516fb929a59fda61df69a5f3ac0a18bb4bc73b26f9296f81286cd3a SHA512 0f489e4036ab4ccf7e07262f9253882505c0bba20f1e07f57e0fbedfc6e98c430e847e1d95285999fbde16be0d0757127447ed20c83fbecb0500df1f1b1c529b +DIST firefox-91.4.0esr-ms.xpi 445085 BLAKE2B d8771fe6917e27c3052ea72b416dba33126bb7fb7bc6c29040df431385f04f2aa44ed80ec63f507ade28e6f64d6d02a63ced4349a6f2b7a899bab709a994fbb0 SHA512 8b0b4c4050cb7343b1bf13495c712352f244dd746f126fc4ffa620ce29cbf4bddfd3f02d822626e01c7a200f025073ccc918c7a759133bc772c2158edfe52bf3 +DIST firefox-91.4.0esr-my.xpi 514591 BLAKE2B 35db61858c48264ebadf7ee856861ef29c7da74f98816c72ca230eecd7051e960fb3206571b31fb1c4a13c2e02e1f4ee7922b0194f78e2751f99c57e1f08003f SHA512 5906da191e64af4273b077d49eb518d00ed96d13e54839e9b5f2a283f548b825d1c1331076644ca7791dc4cf3beec0e43b59331c741ef0a760281430a10d93a8 +DIST firefox-91.4.0esr-nb-NO.xpi 525627 BLAKE2B e96be9c59aaca41b37df77fc20be03fc011a20e121a35166dce6e2e69fd9f9245d373656e5122d876baab34e28a1360e9f7e1ef00c4b97ad409421bcc2fa595b SHA512 900267d676c41c0f83ba866139851a193f0267fbd531d0524f0e21b356763dc898f5777081870f6f3e4c69fc64653a93631c085bf4b6a420895b23e0032b0630 +DIST firefox-91.4.0esr-ne-NP.xpi 474185 BLAKE2B c3e041da59a92cf37e5b3a69debdce9392d2a95cfd513a3ded00c583ba424292ce54b8a7b7f9cb34b20d731803d0b5766e943132f868db1ef9fcb81a9e271a83 SHA512 3412c5be0a63dcc86831a9c85cd744528fc4d009c01295984e9b1fb9f8498abc17bab6dcd2a6dd5770d390bb6fcb9b934c2c367d71270f272fac222924bc01fc +DIST firefox-91.4.0esr-nl.xpi 533414 BLAKE2B fe2537d5846d6d62fbab558cf4e5083c187237a364a6b80da8d17edebd1e973599d8cd6895d55991c20196cadfc45c06bfeae616a8542355b82bcadaef2ad4cd SHA512 6a156e7ee152273bfdd49d5af28d26b3733bbbd7c8b4d448d0413cd1dce0d086dbff1246c7464ca7925a502a71bcdb85b7346ff25888f3bd891fa76a59c94d30 +DIST firefox-91.4.0esr-nn-NO.xpi 527058 BLAKE2B 64e769dda2316320d75bc24b28827feb92cfe788dd349ff69c0f708f7f5578c565e85789a39fce97aa37a7e3f7647fa702209446cfa4bc3b391b606c2584bb57 SHA512 bf95f24d1d226fed9e75fc027166a6cfda3e691748fd06b132953d56c31e42ad8ed261264d5e225b7de32c138876873e40a8e67b564f507a50f80851d44f2784 +DIST firefox-91.4.0esr-oc.xpi 548919 BLAKE2B 0ace64b36a718a54d6b33d1d93107ee9485324c7b1b4137dc9fe84dcf70b85bf0f4ae75aedb67686972b493049bad11e7362bbd462d04f2a18ec78c942f0eb00 SHA512 27a72e76cb3b51589dc460b6995ee57fcfcf4f8e579a95edba87e0ab18ae857d289061933127968bde3aa29df3ed4f2772bc44105068019c0c74e453e7473e56 +DIST firefox-91.4.0esr-pa-IN.xpi 589463 BLAKE2B 7379cba877a4d5837fc597b9f18ef300b1093a66349dcc4c8d2d25b85074c8d45e1647ae22db909e3825f5dc3da0b606d6cb5d6723014943f6a292e61b3c2078 SHA512 da19812759622e3e76d02ea54c7431aea15293af2029817ef3005aa58421c7da1a144fe93905eb078653ccfce0436cc107039ccbed15d562ef5ce091d98f6d6a +DIST firefox-91.4.0esr-pl.xpi 552660 BLAKE2B ce354c26bb6f8564f9fd776f1befa924c9e139d0d4b09684f1df0866717829551c260da38f3f819e39f2ad98dbd1e047b9458ae1f7f10f1f2df36df6942920e2 SHA512 8bc536bb7f45f6571cc625cae8178db182382846f49bb14d3c840f21c3fe778c396b1ad5ffa05bcaa53aca017cd8b9e3a1fc921024a88f67ddd497f76fc19bbf +DIST firefox-91.4.0esr-pt-BR.xpi 538494 BLAKE2B 064f775abe3f0e7f692cf8ee7ec8de788f0099fd8a41d0f0c64d13fe309dd7596005a2b7af2f869a3e994879be2d94cd9fcd99ba25b3bf388a8ad08bd802c088 SHA512 c04526f15cad1e32371d3e1d95fe8975614cf3295f3a80299a7a0b921c2746ce4c4df0392d7e3e24926516aa5eaec0f48460601d3154ad2abe230b7b20502a84 +DIST firefox-91.4.0esr-pt-PT.xpi 542430 BLAKE2B 51460fd6d910c847d1e7ff7d918990dd41d0e875c1d76d36a6c7e56192058c76594f561eabc394e08ef635b9be4cc6344c758733de83baeb71410b663122c55c SHA512 cb5741451651dcd8720f79297c632b410ff22b9a4fcecc6c12359fd03e06ed414b87a07ddaafad5b49da4582068ad268b0bade8cd51ddd2bcdca3fca007cf3f9 +DIST firefox-91.4.0esr-rm.xpi 533244 BLAKE2B 0844973f8a88e55f1e60c41ebfd6e73051f0f1b7ecffa64343efcbe52cf1f9783379975b6a258b80e18352c384ccea76cdeecb9dd153bcbeedd3932a257d266e SHA512 1e6fd16b476a6440af3754411071ed0c5d3b483ea1b3dd1bab921175042f4ab7d894a308839e3d1cf67efa78884249f1589bab85892f46520196badc8c5dd928 +DIST firefox-91.4.0esr-ro.xpi 526985 BLAKE2B e8ce39ccb62069614e4a811061865cbac81a712ce5a8bcf1f56b9962367e69dbafa4f591ff695ae086ad95bf018c45158763835487b0ab388cb3424df3e5224f SHA512 a8f003cb9d935bf5528291e9b9175183036e069cd8f71b0d8aa13a2d387b9446c743b958f212141c956e4b52074c3d49b7839e6b1c7708c9d9d66bfa68504763 +DIST firefox-91.4.0esr-ru.xpi 622479 BLAKE2B 5c546e993726cfe05930d6663e55a9254e94808d91e8964bd6253b5a66b3f7fe0aa17fb95c6fe2211b40f1eb3205a142ab31ce0fca63a351402d1bd9e5be6e05 SHA512 c8dbcec0fdd628d5ee2aa7bd35df9d000ae4639d767125f9e60bb706718acc3f3c827c2da8bda592847ec180208c4f4a01499d92414b10e9a101cdfe5540d137 +DIST firefox-91.4.0esr-sco.xpi 503271 BLAKE2B 8085da172a519cf273a33e70dcd1f70f9423308186a09b2fc7775822e33a65ea3f0c751a8b04c812761259cff4fb604c5055dd34561581075c2bc71e7578c4db SHA512 bee9ec974bb56b86f243cafa3810462e1ded2ed1b356a80179323404a6ebc8076e71088b35eb1948f825d0dbd70fcb4617aad068eadd26537f5e2f2b5bd68976 +DIST firefox-91.4.0esr-si.xpi 485754 BLAKE2B 7898bc88ef5f480800efe25273b39345d5ecbf0f52fdd37db4f8c01b5f7aadf39def6ad1fcd8422fa2cc13542c73ac1ca4294ad01934895b857e5393df57b9b2 SHA512 3c0696368d4fe4963ff6ee4f4fa7ca15e4464eee567801e0ca10781095ca4d8a4128b0e393a1de6748492a001a941b3c9a072f07d3f4d020699f13dccbd36125 +DIST firefox-91.4.0esr-sk.xpi 562099 BLAKE2B c0c1e770acafcbb0c70a82235818b31d53f0b21447230fd88de12430585067ad418c59790f34ad45276b63e1f3cc6f07c3994d718bded1511f682445e83ec3b7 SHA512 dc3a49b3845ac78e6317a1651b072ea24c0c4e7aa68e2b61f0365d188e42cd6785cbdb1ae201b179d3a01fc3ef97f524b5fde1fd6649a3a86337a4db28a33c0d +DIST firefox-91.4.0esr-sl.xpi 529903 BLAKE2B 69b9dbd60e92aebd07b31d5b52e7b7bd3973a05281dcc5801010ab0ca2221a661232d054ee4b544b1f0458b3b73cfa14e28871162fa639e83908a046b5317ba7 SHA512 f1d61aa23c06a165c93c15455f11e27a9fc77629fdf6615297f258999c4e7a1fd6ff6ea89efc6694252acb3215e6c752d2fb1d2b1ccc1e1a4dea9f1c61f064c3 +DIST firefox-91.4.0esr-son.xpi 424145 BLAKE2B 13973029336e622ae43522501fa715096db3bef7a2ab5b13e4ecc9bf45dda6083e5aef7b9daf078192f1ac2f846a29db58cfa7045915db01cd6f42721ce16614 SHA512 d397eab0f3e5ea3d9a7637f64bc1464f67adf76700a775524859d7e0833d1d4f7f9e1168e41a9e8283f8529c071128c5555ec4d270041dae1ce7113909d5b7d5 +DIST firefox-91.4.0esr-sq.xpi 544586 BLAKE2B 4ac371a525dd2df44cf6997a0e1c866980d4d861a8e80ea1d496e7f81016c814e654e4d6b4ac797c2d3e702bc0adff7a129c41ed3907133d0d2d952b8a61fef3 SHA512 23a606954e4d205aed77efef69eb509e5fe95326398932e0a8af36bde2fc3cf67b08b9a967be1f1b2d9901c7969aa0d1872f6f631df5642ff56c689fba743db7 +DIST firefox-91.4.0esr-sr.xpi 583086 BLAKE2B 46994159fc1ff22b78a6162c54e9dd93506fe604750a70c4a0fd395566403a46b95748c922696458a263307ed50472c4c9caeedb8959b65c002a18526795a0d3 SHA512 e8a9173c91738364e0ef4e9e8a42a5d9b75995ad10be60261407948404df0f31824c5dd93fb92e34b3f0a68ca7e41b51883b2e5eb45894d164ae8ea55d80dc20 +DIST firefox-91.4.0esr-sv-SE.xpi 536058 BLAKE2B 11ca31308f043605fa59a2856c8210715990c4e014925fc4fc07dc90c1400d622fcbdbc283bf622206e8ee6a4dd706e1aaa20e12d252f61bbc30dc6708e710ce SHA512 0be654894191d685a4ba9b4659d85b6ecdc1891687c10bfb89412f15ab8da4df07a1a9f64283efca4895b9c11413b9955283aa2bf3e088171e0e8f6ab5d5efb4 +DIST firefox-91.4.0esr-szl.xpi 508146 BLAKE2B 347121bdaaafcf3f91726c7ec6daa5b45d56470c39ecce3d27f00f5d7c4fe52478f1c7b8390480c58896addab012aa74ff0b41bbac57e82f3c18567be9444a6a SHA512 0564a38bc2c2eb65011d9e0a7d2ae923808739d5a29f8be54c2476ae11a607cec9fe9b2b3a28d35da9373dccfa803a19dd7084f0b85ba051e8bd7542ac52e7ce +DIST firefox-91.4.0esr-ta.xpi 510667 BLAKE2B b4fc8de02fd9b4888158a4c10be33259bf60457f5ff210e595a1b93f723cce0d2abb260ea00d6138f0876cbb05cfa337b4eeb1aef6f008859fe968ed1c7cf0e3 SHA512 7492d64b776f6c187d186eb7479a2362da725be88c7ea6bf1d8b4914acd4f8130bbe9bc7b192770982645d2484ee0fcdb9b05356a5cdb416af208df583f6e590 +DIST firefox-91.4.0esr-te.xpi 547906 BLAKE2B 2002d8dceeb2b0a61577cb334402b68cff1c2f613542d87985d2739740fdb577a38501d37df6708bb158685f2eccb7fba75467b25394ae9fee6acd1afc64c1f9 SHA512 8b85b5d1beecac77167ad9abced138a2f0e8cc3b68b2188fb80dfe1852fc299705d32e150c1f8e250929c7af10d787fb2477d1e731683d954ac48a6e9995d075 +DIST firefox-91.4.0esr-th.xpi 597694 BLAKE2B e34e0be0d0b93015c4ee577f70f796ff9fdf02e3bab0f25f3e51489ef05b831d06ab3bb7f52aa29b72dd1a0824d0b4aa69d6cc69635810caa8f73b89c8897947 SHA512 e3665e291f71f2b4d11c974c255eeb9e7fb079b705e1f70451e45ce3aa206ecd0ec5b28207b57cf56a84cd5175bb8a8b0735fc23825fb1dbf93635574ea40f4c +DIST firefox-91.4.0esr-tl.xpi 513310 BLAKE2B b549526e3d1db282210c81c68960dcfb95d67eb554a0931869b1390ff6ad81796b2e0768bde840827b2b56cd74b064096330c3aaaeb9245026fe503a2dc3c8d1 SHA512 336cbe0837696ac1f2153edc21481dc658afc35b0c61ea0c87b996036647fa220c447f3e7a8f0413e219336845cc9eb049dedf16840066533bb02f8dc41e1f54 +DIST firefox-91.4.0esr-tr.xpi 548362 BLAKE2B c878ba25cc461624cd86a6a8789cda55dd018e66113a50dc280fd62d2f9c5ca79eb3c7c471ebe511fa451cc72a28f38d3f6538895ad8b5df81db45e68d74a408 SHA512 70fd852fa95f8adadb8a1c7feb3d67700598b720cc49a01e133c16213a92f9afd8238816150f79b2f15f24168f7839dc7e00ea9afb7b2453e446e0f375995260 +DIST firefox-91.4.0esr-trs.xpi 488758 BLAKE2B 220d3383d3064b092c1eaaa19de4981f7edec0edbe1dacf06d866af846fc338120c64711f160a7a0ee04624528686b554c701e013042ebc907b439443754d8b6 SHA512 337d236b29d1cfc103052cd1c651e6140217c0afb9092be37feb81a964d8cebd6e26c8366457fe65ec4eb79379400f86c3635111f6ad17d11a86c304d395bca6 +DIST firefox-91.4.0esr-uk.xpi 615983 BLAKE2B f78f5dd87d49792374225e1ede6311f4c8ffe451b0427bd77f554487c255c94149e207183d79ad79c6eef5d96a3e4f8abfb6743d031bc7afb8ed93db5d9572ed SHA512 ad06e287b5c96bb990621b410d9c45db92bc3bfd9c5c204acfbea22c4f4aa09ee9e0b4366ce1c5bf174fc38c7ee664c5cfbeac3fe38ac874007499b3553931cc +DIST firefox-91.4.0esr-ur.xpi 554113 BLAKE2B 5b7447e25f05d3211920051bc9e6fb807bf569dcb99f5a8ca383058a2fbcbe50aae5203f94f1242ae8e389a1ecf9a1602730a2445dfc5ca01afe96a551f7594e SHA512 00bb497a1729a74a67a83b0a7512822c4415bdc71bf940f9731785cc87869d98514b9c8fb12e8167ed0eef80aae4cea0b30f0410fed43924108ba49f8d0bf841 +DIST firefox-91.4.0esr-uz.xpi 465013 BLAKE2B 989f3dda30973403ca5c1eb8a129278105ef645889d4c6f32144c2970e54b13472860a815762f7b2c2bcc1646f227f0d63be5c284aa18a72b10a1d9366627234 SHA512 d38a60af12c379c3b4d0d24b478b3a964dc31afad481d3303a7cbf39555c29ef7fa33465203b632f88c586a4afac97da6d74a3ad1fe431d919133206c11ba439 +DIST firefox-91.4.0esr-vi.xpi 569116 BLAKE2B 983c10b007eaa88f324a16cafb90924e1a1d14c118616d1c526d4dbbf3ed6db339978d2de49f53afb53555f5bfaa63f4a02fc4469035a102332bc305c16ee533 SHA512 e33542cba623880b69ff11551380e893f6e6485c13855a9c4121bc88c1037c22510ab12efdc47737e3b389f6bbe278957c8fdc9ff8ad2f3c7e831db9de328ce8 +DIST firefox-91.4.0esr-xh.xpi 426318 BLAKE2B caa90a68a11059bab6d54800936f247c692b7eb8aae30178934d2486e635bb86b540601610062f32c6496399cb6f446741cacc559b7abd280eaa5392a894322f SHA512 08ef35e0bd42451280acf8b6d4c2c27b1c0b32fc070dd289d6405122f423e55b6eceb0b1235f865b5f95a0f257afb037f6cee48407014f7b435f712d7cd30867 +DIST firefox-91.4.0esr-zh-CN.xpi 571363 BLAKE2B 353648ce0c0b12a1e922e4169e4ed31e0dab3337a2e5fa53879e38aa454933cf4e76191da186053d888f755a1bca176e7e23d856f5b7aa9ca088e12a59791b0d SHA512 db04703780fe73b23025a984511f3e55189de663b563ed1c9dfb95de98e648842a623e5deac341fac9afd568b33f48ae574af8f5a49cbf808158551448deeaa8 +DIST firefox-91.4.0esr-zh-TW.xpi 572071 BLAKE2B df9f18fa4cbede2324aaff48c503b58cbe97f07394a2ddc00c7bb2a8e9e8f2ef0608374d726274bcd3890a97bcabbcbd25b56fe14db67c8cbe15948b612d5ba3 SHA512 e279a726a6014b6c473c275c8c3a786714757ca63d6311637f42787f2c5bc2778b36bf46302b932ee1a9cf478ac6a8e29382a389d84c29621d62642365b07360 +DIST firefox-91.4.0esr.source.tar.xz 379759164 BLAKE2B 073ad017a7a5569713bfea850d5572c6cc0e7c46dc3c89878a6405b024ee9a46453c8588b78d547f838b9d55a93a509a293f578a3ffac35b952e2bce84e931a7 SHA512 781bf62a0e1215cad7d90de7c822978997bfeaf71bde4e7124a732921d130762c6654417c708a299726039d1603ff5e0796106118ad4b2ddef4e9dac84887765 +DIST firefox-91esr-patches-03.tar.xz 17204 BLAKE2B 6ef1aa70708f9e5a5926f712d449bb40c86d449389a5d4c1730ada065d4af252b08cd17eafaee7cc01ea0c50c53b272c38a047760d3cf94ba34375ff77af534c SHA512 2c02a6ba36934f796a7b2d3ded0b68689ce4b21f21396004e829102bcc56e302c89357d18c4f353c62f45865dccde27230cdb016d99c42b3ae12b4e5a6a02e6d +DIST firefox-95-patches-02.tar.xz 17220 BLAKE2B cf2c3e72c37800506252f31057cb719af7e5b8f8bc8257e1ff0a93164367dd90e7fc51f7290ca4870bad7b0d13c0dd3554fd44000f85989e275233842233138f SHA512 43f8092579ab30c2b2ae43269264713742e54ff6c4207583bcd97efb57936ddb407174e75d524e1a872dde834b1e0d3b985b31b66d858db277b135926d1442b1 +DIST firefox-95.0-ach.xpi 450515 BLAKE2B 3fe20f62740464379328642cbacebc9166be39553e0f7158fd5d3c805874701917daa10f215e296b98ee8ad111e3ee66e069a65321bfe2da364ea57fd2c4d37e SHA512 551fb9f5c03d9a1e05e02b19fd36cbdf91e02a196f7bec80672efbcf30a109adc8331dbc49cb4e2a0d085c896f713af6c6469d8350f477f47a27b2aff922c7bf +DIST firefox-95.0-af.xpi 421588 BLAKE2B 8e61208a72754a6f76458284baa5147c7a06df3ff7d4f876d9b888c7525f584907311e2997db5d11fe0c2d68309c065d27cea2e5e22d2f04566a89c36dd0fc4e SHA512 346ae3a1436e6f277a86a0238b166d002cfb9be361d6f59d06c595c4ff48db41c90d6adef4486682d7850522b48abd00e0380461af12727b2d5bc2fb8eb4f637 +DIST firefox-95.0-an.xpi 497839 BLAKE2B 6aeeefc0fe2bb28d851e1694ec0449a4408f1989268f2436f20dfd00386a7f5e21b07a941a27165b3b8c09c1cae8c7875a16a48dd0a44ae953d85569e06ab981 SHA512 acae1e417303fcb28c70fff9e8c3d86efcb41b3417d3624a49020bf1310ae5a9900054eda57e4413c8424c193a2b8ab86ebe0d45046c19933a39421a6d37c881 +DIST firefox-95.0-ar.xpi 556957 BLAKE2B 9388f44e38fab99427b5d81f0d4eb4918e4b81198d4b60e916b2004c1086362bcd0eae964d436c8fa1d787ecf3609f0499b0d1d754e453321999158cdcd22e2b SHA512 1b15787e4690dff02aa49494e018501c95ba3f5b0c68362a9735682c84ccb8a0b0fc94d919b0b0a15fd8333ead5b13028303c879e972d7d2d3af21c97b64e369 +DIST firefox-95.0-ast.xpi 495632 BLAKE2B d3684061045a422989e76853dc0d7de1d3deeb20b789aacc36f459620de7c9c472fb58c3cc06421c236e603345792efac61f9292ead66dc8999e1c4275ec1e13 SHA512 76bfcfc87f92e04aba40af0955425ab261227642e6d3e8cd97f2ab4cc04ec751ba5425ba3facb0d9ce4eda74041058d055bca068bc258f7167a37cc362ad7bd0 +DIST firefox-95.0-az.xpi 486489 BLAKE2B c41b7060af5c641499768d1553468cfbb068e3eab2e3549e29a190a4ea27025c91bda839cb1aa717aedc46a725f4e1d0df61dc1e04e73a43d339ef5c6301b03a SHA512 727af196fb12673d3a9f59fc34e82fa99a2ed49b92da1023dae2048f0dbe50498261d17243288ff84f3f64470109920d106b1a959476ca5413b5a1efdb768dc9 +DIST firefox-95.0-be.xpi 617804 BLAKE2B e14e9064c73c1247c77f74737ac8409342000e155768113bc9bcec2ce0362333b3131355bc66f81a97ab3d1df497b76d117191f2823f70bf46414d7dece53495 SHA512 ebb28844d8f70aeec72ab4262fc8bb53497f4293b97ae2e58c9a950644f4e145316064214e65af85e5f7f17de42bb1fb1de175677437ee7006e6b468a506272c +DIST firefox-95.0-bg.xpi 564532 BLAKE2B 70a722b8772f10056efa951598d33e04e36f213b1c049d500cb8afc76883a3495805e1cb2ff6ae4bb5140032029bb018d85903085cd55551d947185c44020eb4 SHA512 186ec20af2bf495200d48e8f367a7cfd01a9da3ecc7019675b9f66bf071e660b9d79e98bec59ee02074168676fb303546723231c29b44e4f2bfd9892abeb8406 +DIST firefox-95.0-bn.xpi 553373 BLAKE2B e1a221ec3317ac111a4ce439df152e764886b5c9b9a1a9a71c44dcf32f243d9bd6d79356f9faab438f22cce2c7f04fa7933cc6732d82819720eb76451a0fa5e1 SHA512 e56695513a63c2884f11b555da6c4622dad2c8710927310ef2e1e78bb028fb57c1f7ff07580aad01dcc7dbdbfdd1fb876fc09b155a755b640cc94fa76f6d5e41 +DIST firefox-95.0-br.xpi 524087 BLAKE2B 2070ec3ade3c8c2765b6c130699a3e5297fb231f291b0379318bb54339bf5d18dba8e3a3627b8c50a80016e5e6b1a9eb4ddbd9f91c428d32b5c251c781643e97 SHA512 e6e2c9dacab74359eff56da967548c936f28bbfdbae3f246e45042e4ba1fc650c942b4b41ef08979a5ced64f2a99cee57c443a69d447918587423b496e537b74 +DIST firefox-95.0-bs.xpi 460948 BLAKE2B 1b9eedc34291de5876c3443d15a39bc8dd59e69bb07789c9c34b7df9cac39cbfe15a21182ec7c23c24a0068d0f6df944ad8b5378d156e24b5fdda55c90e7a6d4 SHA512 892218d00a0f3b08cb540dbc8bf248f93008c0edd190d292153a32c8a4542ad664839fdcb7f371391278eee289815f16949502ab4f1283ea3c7821663b707243 +DIST firefox-95.0-ca-valencia.xpi 526570 BLAKE2B fe44ca5bbbdff9a095507013da118c4db227c8b53441ead8097aa4ecc2c131a2b929897cad64be9172c732b7be64ba545d963758b4dde02e18e4682a2620e3a3 SHA512 87840b38a07db17f82adf31e37b9527819c27a62453304885772617548dfcb90ef0ce411ed2dc4d3189298e9bf4f8ede0ae7d85d6bdd2f74129d5001a4e21d5c +DIST firefox-95.0-ca.xpi 529728 BLAKE2B 6dcf7a991153111792a79258cbbd8a6b916c2eab19b5eaeb358a5ecdbfb71bb8ab1e2a47e387e77b65c566eacddd5c6518df6b24c51ee128d9e1fb81c6801cc4 SHA512 9676d4af6f7484092d459b726a69e15b29563f5de26406ecbb0458b99a8fcf997607845f6349e26230c292fef0cdd739bda1bc06e674b9e382450afd603789cf +DIST firefox-95.0-cak.xpi 550291 BLAKE2B 25d588295feb5b063696b92538ae59c477fe60d036e18d668841a1cdfa9a100b6203dc83f494f2c1f840944858ddb61e704f6f74a28a428f03afe611577e4e13 SHA512 23d01a09ce27cf835b1a08df86304139227f017ac2946be97f203a8074894445792e9c06ccf53ed95842cc9e80a86fc954b718f651609c666b979806908dfa54 +DIST firefox-95.0-cs.xpi 560520 BLAKE2B 9e4b836d02cc00fe2bca57326245a82bae2430475f7f9e9b98498fa61241c2bd75faa5f3babdd808e6f2b61d3ea36c42942f56563327003e3b7d0093192bb580 SHA512 46a7736f29465650b19fc7fdfa9ae7ba49ad6212530ff42fb21a04fcc1773bbcabd02da2ab06b87fddcfada57808244666932eb596c978add1ec8da8bec2cf1a +DIST firefox-95.0-cy.xpi 538502 BLAKE2B 33953d710b38f333387a0382d39e657665c0a3fd79cf20fc70adbaff0460d71e3dba092f30845d1b98afd213dded01743ac10cd1d9bc4b2bab9e866de3d6ddf8 SHA512 87610b36a440aa73106ff3d198484ff644b82d3d23be56f51ef178ec88e9dd163bde390c87799020b10e803caeb3a5426e2eb51cc8ac27847e988b1ce8bc7f12 +DIST firefox-95.0-da.xpi 530402 BLAKE2B 1eb31b2569616314b1d7831ccc1a6f07f6b2c6a4102af056e41010a70f4d7914c2cde8f0da65589e6013b738ba2be38fa9ca0600e0eecaa441ddcf9e1bde019f SHA512 32814bb82715ded6204afb409a6ca0a790ee8931e6e10c4697468235dd843660e1899b17e24efe22fa6a5b3274a24df1769453ca0b40c48130e06b9d0a3375db +DIST firefox-95.0-de.xpi 549565 BLAKE2B 30293bb4e923721df296defbb314921942597f9b4d5d4ef5fa19e388e729235730eadda3baafee31bf4cf21a4069193ed1a11277af8f3f32282b33bb40d70f2b SHA512 2e60f80e7bc3594bc14648cd8ca2d6db143bddfb58ffdd425007e278af014fff3c87eeccdd7dc3e2be12ae9e3b3176a10dffce453bb4ff7f85d91ee7d3ad93f4 +DIST firefox-95.0-dsb.xpi 562325 BLAKE2B 64529835e0eb45a75079ec18c45e9af952933cb9a98d5e0c901ea0ade4b77315584fa2cb17ac43b130f5aa6f495d55308be88655e096926368f86b968203ebcc SHA512 06bafe2c5775bd4e3ffaaaac0670ad0e26c96ab1c111bc6e5edfd839ef4cb203924aac1a295152f59a61765b2d63ac5564a35497de7ee1a105ada242d7ef42ba +DIST firefox-95.0-el.xpi 634235 BLAKE2B ac8a59203731c49daa2340c714f896e3ac3b256ad3c46bae9954a4aa1b757dbf88afc31606fd0195b8b7093d0544b52520a5c7ac411033df0a10c8d9659ade7d SHA512 79926906f8f965424a1bc169869c835d386bbc5b09008bda013e1e0a0e9019b81fa265422d5a6f667e2a5cfaf6dc9aab6304a799bd852cd3f5fa16e5cb9c055b +DIST firefox-95.0-en-CA.xpi 506099 BLAKE2B ea570c851e6f50b5446fea06df857eb3bcaba0ce1ef35a849089c5bd5b55f25bf503d107b68860e7ee368c4cd36e3fb12e0a44baea48f3c10b6a11507e018a02 SHA512 279bd4845fe0112c1408a1684c17788d0c10ecd933189009e0a5d7e78557415d9e6ce73136e9d2c08aeba60a3cffdd79799c869b12bf2bb60d29f6fa51981704 +DIST firefox-95.0-en-GB.xpi 507069 BLAKE2B e53f9632b22fc3357f6195960b619dd17d685d793c178b0cbb03beffca2982db758a97067f14a9d070bf1adb4716cb0e9baca570bc0f588b04948bdf981cf1de SHA512 ce05b73d2170b6323a1d3b1fbe1e2b29a898cbac8c304886e1f620a2ac3a473bfd20247e76261e674e1a36b392fd1f52ef409acf1fab3adb4ad1751552b79297 +DIST firefox-95.0-eo.xpi 531427 BLAKE2B 931e48677238a5b8a7f9b94cb9f5cc47b4b72512092b14bc196dde71172fd0049104a6233eb7bffc42bbf0bcc0cd01d502eebe7148b7c0225a9eb729aa20ba84 SHA512 8e47dbd945329c19d471cf896314066f4e6d3561eb4774027a5f0633b56b0c5f7bf3d4342086d58c61b75ce850b6b5147c5492699283a112330371b68e932533 +DIST firefox-95.0-es-AR.xpi 542817 BLAKE2B 577ba91822539f5ef062a6af801b212764b6d13d1ac537759ab8ebff50c56a083f626b7f818dd8a6499dc3d8abfd34987c5a2a80e09ed993e5c034bc5b17ae51 SHA512 20e6c6463df0738ba0c99abe8e0ba8f50207153dff69caa58addd5e705408f2d5e70173cdd7044cf098fddbd614686b980bc39f96c5ebe39396e820176a0c364 +DIST firefox-95.0-es-CL.xpi 542407 BLAKE2B 1d5f9f81599bb0c6af67e68d7ee3a09759a047aa9bdc9badda27973aa54eb6e34e2c060fa3503df9f6dab6fd86b684d8288d24bc6e9b456a323efdcd411b6001 SHA512 4c358e45f859d8c4c0f2a4852e6545cc2fd0d01bf2ca629db643202fd5958efbccc48c4b9ff28f37a5052257e45c28761028898c306b9a81e98d7a88dde85fc0 +DIST firefox-95.0-es-ES.xpi 533165 BLAKE2B f0a3361ff395c85efd8fff3fb68f9fe791c53d6542a992feba96590ee44078381e4769629765a1f626cb428fed34c7ef616a00919c224dae9d4feebb97a63f15 SHA512 68f6090a698cc290f2cbe45d5346d706902ae41ce839ce2e1e73db5b2705fb3f70ab1384b0529e2ab2bd20aa2aac425ac40284028bde4e9b535559427deb3b8b +DIST firefox-95.0-es-MX.xpi 545980 BLAKE2B 6502c56441b0244677bcfba298a533f617954a51cefff2845e265666f9a8496e11ebc1e38cb0ef4499c729b4e9de1ae0bc3c8b73e2000557986ea720ed2acc82 SHA512 3283b0c15b22c31d3558c15c6448bc0fac3df2ed7d5085e31b86a682becee3f636b3f45665e1f55cb3ad569bd6b5c7ba47fc7010e5ca639a5c721b98689a5e1e +DIST firefox-95.0-et.xpi 503978 BLAKE2B 58455a3a78bf9f5a85fa4deebaa624e38ddef24f4132ecec02d5c3048f7f549c06ba9684024f4d5c04e90a1dd9382f04a824e59f1c92feb57351216a0098450b SHA512 688637b0aa911a5cfd4054659449ecb24cfecd1ac7b2bb4e99d49c2c1077b473419cf4d44fcd532f6d8dad6b69fd18e8cf7ce69aa14fa90a0d60e99c76e60c8e +DIST firefox-95.0-eu.xpi 532585 BLAKE2B e5cf65694bb88c9b043daaa43eca78cc18f4a555936259cd1049cf93c16048939c9636886b1368c26c9e1cf756105ee3a16e9c3ef8a12a4a708f87f3a8be15c4 SHA512 1198626f7686359794907dec80c1772a8b1755bc46e84d953e835c35ba41fb3f66ea4bc85b92ad07e364583e8d3b290c60afeb80128e8a9421a879f6a826bd63 +DIST firefox-95.0-fa.xpi 556251 BLAKE2B 6fda62ee7317ff5015dbe1aebc06ff0932a48f02829606529b0ca3227d82a4940f665a8b0ee5bfd7087481d90494ae0a7722da3c2013dd7dbecf90b653b6ac92 SHA512 aeb404627ce3169e3e24ab3ffc15682c3524b39f0132d1249e84abf305d6c488c709c2425c2409d3aec19c42d9ea3f48b9f74b8ca51eddbebd6ed701c39e5bba +DIST firefox-95.0-ff.xpi 468414 BLAKE2B 32567ec18d5508228aa7f6ed47d366ed89d1bcd6d555ba09c1df813893472a07efc2b920aea7eb0cb91dff5c2957337da81089723ba7dddfac08aa5654b8f400 SHA512 b3ad7c506b9fb1a34bf1fd7d48982bbfbe6a5a0002fca3c7218ea55ca24b11aa5f75940d1f8f9490460b1266f5cd28901ef6d3be07f8c8cbbd65e3e6b3804b7e +DIST firefox-95.0-fi.xpi 527602 BLAKE2B f98e194dbfc087e0afc11f0b8cd8083179dc046b9ea413c4bd4371b45c50da5bcc899ac247ca28fd999f94c60a98eed0accb3a0fdaf94ea319d1353c5bd56add SHA512 a6a48e1d5bae2d41ee73587e7e79b98415d61167c2c119079e5c6803c4619965445c5913139f420554ca537f2675d6eaf34669a9e1a58e61e5dc9907d8ab42b9 +DIST firefox-95.0-fr.xpi 553723 BLAKE2B 915a6cb4bcbd6eeeac431859fb2e568e92fa802e4ffa12262acb17c53d99ce63cd54c10a47eda458d10a90ca2c7c34978a67ae7998477c775ecaa5285b9f4ca9 SHA512 c3fe187f56ea1390c4dcd0f0776c7dc8f5d0463621af185401b3ef3912f78d6ae7ee1b227093b2c68cdd304bdae9bd944017f00a429ec59d3ee591d55d82d7c9 +DIST firefox-95.0-fy-NL.xpi 539299 BLAKE2B 3793ba6e07eb8bbd9dccfd6c8388019ab38798bae947e45033d5f557d1a4c49144108cccbd6dc8d7a995fff0179b05ed8e27ef34e091edfbfcf9cece618fefab SHA512 d42354fadace36cb3eb40f18f1fc44cf8ffbdde3d69dbfd215b0dec0b4eb3e809a0eda212575c649d5d052c23b7145dc8b37f09103122f928b6be77a58922105 +DIST firefox-95.0-ga-IE.xpi 456359 BLAKE2B ee362381323e1ab0d9452379bc6274807a3331cf35a5a9841e2f3fb436343fcc1c6a302190225dd7b7df9e061450cc40a0874fa4582b08029e293ee6e83eb574 SHA512 159ef08e8b271c18d237d50157c3626e6fda291f355fc015f16baa407e11ff664b7e9b52a4e26ba8e0cba68ee2a1fc2832ebf7d43506bae4457ea8064a8be3e2 +DIST firefox-95.0-gd.xpi 528510 BLAKE2B 2f03ddf60f3a0780ba921406115ccbc0d5985bfd552193d481c57ce7e7cf8c3625d2a33e89c2cd009fd3facd174fa20d9cc3d8b95b6f1fcb7f5105779529f956 SHA512 b4d447b813cff0b394a1f93a4f8c17cc2a1369872e506ae868b5131264e0c51f262da2c48eff76b6a3e591a4248efdcadbae53e6d5043bf077e1e5194c2a767b +DIST firefox-95.0-gl.xpi 537648 BLAKE2B dad92ffd75438dbc8593d7e86057b3e179b4d5118b5f1e952a724ba5fda37a6acdd4034957ab00f16c645728d07d6bcf200fd1604e1a10ec0f57a96760261412 SHA512 65377280d2da2647585ee254b4f60a7eb06794f09060fa7eaaa0f4eb1df86409c338f6c8b000a5d9472b355701efa4df2edf3358b5ef146f928098f5a8f8e3ab +DIST firefox-95.0-gn.xpi 553613 BLAKE2B 2096a50dfd019f2ece3218d7948bfdd63939f4da5d3634f161d21661657f4b1020ba27844a36d841577d8db2d8a49222ad05dfb0b5564597ce585ac23ecf633b SHA512 bdd7e22210fda6ba1aaac0bc2eb93f137bbc99fcb3c6ac18e822f25956b0eff1acdc407181d7e0e077c59cdedb912e8280d6ceb546553a5bebfff291a24d7fa2 +DIST firefox-95.0-gu-IN.xpi 525936 BLAKE2B 8ba13c0d070ea669601bff1389d5a0aa8cc6af6fdf0a7221e3171fe5615abba5bb1a26baf5f12aef1199548bd823ea40edc79e045cd45db0e1effbd310be49f2 SHA512 317d7f8028be22805708623047e2fe3d7e95ff82c6e02dbe9f3b5a57d12fb5bb91af0aa9af9f82ba64bca737a7fdcfc6022438b15fabcd1d5b1d860661ac0946 +DIST firefox-95.0-he.xpi 553664 BLAKE2B c66bf40ae133d60485b0965d4a20d84d7bc5c60ccc12809e374e4d641455c7b360fe1d4eba28f2107e590c76e22276540aa18b458b6ece18332182f6d9d37c06 SHA512 918900356296c9a62d6e9b9bdd38dce19b88571f23917879af49a8eea60bf5b836aee3b81a3e629d7b4471a75e2e7c97db67cddf9ceab90d7bfa6465fd2a6391 +DIST firefox-95.0-hi-IN.xpi 557072 BLAKE2B 467778dd8b16dbd9afd11347892c7c62f63991381cb3639e5857c7a4433c7572e4b815577aa89014a40514263e1cb82e3ff8f190c956b3f607da99e234eff20e SHA512 39b605fe5c6e91d1c5e0768acccc05fb22fbe340fd235822fbe25be04dbdc0d6bb0e3915ef7983d3b079baed88a527de3ea307f9fc1de5a0b7ed6d7f68110b5f +DIST firefox-95.0-hr.xpi 527718 BLAKE2B ac46ac1454118daecba9bcca0ea7ca939b5fb01eccafbdf99ac4800a266ac501c15a31975ab914ce37faae66cbf1ab591608f215673042c14fc786cf2c084f6a SHA512 77389343ae828186e7dc4ec4e34738ee2e09920ad5e3090fdb94f57639d3b35d21e587102fbb74c5dc05805c7b69785292d298cf102c3e7b581c229387777cf6 +DIST firefox-95.0-hsb.xpi 558439 BLAKE2B 7e7606d884e77ddbe006d3f5909a797f3649845196323d5ddc3832c97b388c7eb5995e2a8aa42b94ea6bbde96d9dbd3c940db3cd3ccccc9899bd2f93385f62a4 SHA512 dc99c334cd3808c96be797c732507884592881defeee75012254a934616c564f1a77f306fd3bbc5852c71a5f2e6244212353e7c3d62cd0bdbbd7ee4102e87fd7 +DIST firefox-95.0-hu.xpi 561838 BLAKE2B 27d99323b98cd46f1a2de46edd451f19acdc780564f99d63c0a4b2f345cec9959123d5a68fd06f3034abfe511116c2c302cc8daa0493ac1eee2a1639a072605c SHA512 149c14be3a22be6b18fb352336f11af2213ea5f3ca84c8dff2a9bf902c03364ca013a510de9841ca16486e2de2b007209ab34a9163ff1a5ee203d694015aa752 +DIST firefox-95.0-hy-AM.xpi 576865 BLAKE2B 02afc0c5b116e384eb73eaba9b51d53edc38584d32063d97c7ee7745c15801d4c2fc0227468d667a9bd114ad46c9d215ba57010732e81022eae1a9b0d8ea32a2 SHA512 8518abc97346f90b75978cb3a48522f3b072a79f5d589ff5566b9836f3918bf834390f7ae30a881533167dc139f26ac3723e128968b93bbae4f34ef93e2684fa +DIST firefox-95.0-ia.xpi 528438 BLAKE2B 39b4ce0a650a4f4587bfdbde2fa7095c2bc81db72d4a785b8597cd5dbdc9826575fe613c9d5c1372f8ca6a1ba732364fb10f6998741db4bceed44ba39efb04be SHA512 492b7617951d24acd00b1ab28453f35f2cf88722dd97105fc09d1287566cd27a1822eb4d3bfb953e5d1285cdc7bd7cde9c74e58deb0206db3e9c107308de66a2 +DIST firefox-95.0-id.xpi 518116 BLAKE2B 80f9f3fb82c47a3cd23660dc6745da3ccdce80fe996c6c530bdbd9190379692ca571949c5ddcf886e89aa232c25a49d1b6c44d167dc3f8b1ea23932a1b19b41c SHA512 83f72af2c7457f0555cd9a06212e44846867698c813daf72c190bd8bd311cee4565c254e981a848cb5359fc945f0e730bd5168cf8fc763a430521e47102ef538 +DIST firefox-95.0-is.xpi 467522 BLAKE2B 7294b6dabbe6054a8e81abb9e07baa0de9812d413ad6765374332e5f110db262fdd9386109d2fa237fba387de7529dc4466fcba39f38fcafdda693fa9c3ccbf6 SHA512 d6301e73b43e01584dea2250a45fa10a2b131fdaaa82988a43a070763c347647e7d4649afc54390c517c879a652a77394910057ae569aad62a9133859a5b060c +DIST firefox-95.0-it.xpi 456459 BLAKE2B 50426f0831287966e74f20e6af143fc6d43740ba3d5c3d69d7a11ca9773fd87a5ae2b7056ca17c1570666cb8b5cf415c1fdbbf0a042ff35cfdfc2bca6c032c79 SHA512 5c81581b251f8772f39dd9084798e4ee260fc2145224a16afbb4f2568a7482ee3cdc46779db3436e1345ba39bc4fe63aa6705994f2f0cdb0dd633b88594722b3 +DIST firefox-95.0-ja.xpi 583404 BLAKE2B 045f27584721c8c0d0a04d28f6956588ed013bdcfcd6f8505d5e69168df86189f8120c5f0f55c56c5803dc58258b7cd524bd3a81c1943612221af7f417394444 SHA512 7daca5ec67a72d3ea71cf234feba68f1d8abfd849b252d0fdee4e8782884f78ba6d4fb31fd0039ae05720be1e56e92b6012447afe991cdebb113078340d78d18 +DIST firefox-95.0-ka.xpi 587672 BLAKE2B 34de6399c51aabe30c28919cf5aa5306fc75d18a2131ee9fff94f19b264a9c2316e145ddd347a2f9e7fc204a249f338a7c08254747ac3c41fbf6e76636ad33c3 SHA512 3a43d89333a34a346a94e65faafd296e18266d6a3617ad8b7e1f4599886d1f053855e0995f19ccf8965afc88c22898cd8a7da02017b6059904a23a9ae2773c4b +DIST firefox-95.0-kab.xpi 543119 BLAKE2B 47130c805f67c2436a5269ea4b5d35d11ca3780f2ee1a3fb7a34b16849dd838e24e8418f94df8ce33f8754cd37347a141fc445d908e0d11001a056ae52da5ca1 SHA512 8f9bcfc33aeda142674fcc6bdcbda9ddc5d8f6978f75ba2abd0f5501c25f79c67044ace25ce4eb2bf438d72f5f243af1994e1cc33fd4eef2843f9be204cb9c5a +DIST firefox-95.0-kk.xpi 601962 BLAKE2B c842658d861010559c64b3944d389adbac21036f0781f96677b6a0ee4511e5d1bfef91a94adb22df65d978e9072c504d05e4708c5b1f740372eb694433432a62 SHA512 cd73493d0a15186192e5ff433f6a007fdb49529791bff044facbe9e5344116c496de5f0da74be661614a068964a967784eb786e4d59f49dd6e0490efffe36557 +DIST firefox-95.0-km.xpi 528933 BLAKE2B 1e459b9b8826a509b3cb9f1e400c6f07c95e2351987562097b580263571ad6db2c02a599f80ca8b96c2608900e962626d37b070aff516b0cdf7f59a6d5b959d6 SHA512 efdfaa7b197015cdce00c6837eedc776ed53120ef8fc95547aee6118a7bd4a2131fe8e0383fe0940f653241c50a307f5abaefba7b11335ad62dae0c0aed6f780 +DIST firefox-95.0-kn.xpi 494304 BLAKE2B 45cf6be539ecda4fa17d3f88c726384266f8a9866abe8356df193a5296018907284a49c9d3bc4bf4d9ac7f07238e592bf49a73180431b5930c816f8e743a5c1d SHA512 e62728ac977a598486e181b936a0bad4c61f6a842e06fa07e615015ded640035e92dedd8dd4e8ad0f141b60e4b61263747d6d657b987e11f7eee6948007b1b92 +DIST firefox-95.0-ko.xpi 574782 BLAKE2B d11ee747bdc13e7b0f9202397068cb58100849480921b7a93bb791025856fa6e7e714d716c05327f8ccca2c104f273c4c229e7a7a3242bb7482b515938f07e86 SHA512 58621fa4487d76dda0335ddf76eaa98c2fc61b5c37f3445d83472acd0623bc1370efca5a13d26ad18ea1aba5f437aa623977804ee5bb1d41c76957411fa64d4a +DIST firefox-95.0-lij.xpi 467379 BLAKE2B e038e7d3cbdd75d4410e7938db17dbe18980ff66441dd014a9904fa683f2e2672ac57774ef462e55630197801e99c43965d2f9025bfdc16cbcecbb701e73ee7d SHA512 0ad2699fa1d96833b8d20428a420a95cb1ba096d195562dd351be74eb6ef1bb37e8b3b1838e38a6f6e4b19e3a1f0af427e1fbc31d8e83974243fc6e40e692845 +DIST firefox-95.0-lt.xpi 556126 BLAKE2B d57e3a4da3173169337963d84c18fc01a212124422e2deb3aff177a36d3968beb1407c51268c30db5d4b2056303d10f9097fdfc291f741c0c9ab5fad715b78d9 SHA512 513abc915c526048f4cbcdd9e33f7c10636ecb52a38660f994c5f1d5bc4f8b759304711fdcbb26325f7853f83e75be147bfbb27608b96b3437e6761132f488a3 +DIST firefox-95.0-lv.xpi 459576 BLAKE2B 2c46cb32b99d4fd6f9903c0933b70c6bcedce52b78f3f2f5414e04cef209f06af135aea03d63fa005ace1ee85cb5ed9343fe36cac05a5f70952ad94a36cb16cd SHA512 c1101737b19b663d08c64544a50c5f75b2e134f287fc1cf53df29401847c61cbd2951c321a1d3e81b724dc594575a1351bf3c1571cdf86aa894cf58a5cd1b16e +DIST firefox-95.0-mk.xpi 460717 BLAKE2B 591b55228c7e572552a21f07d4eaac87548055442aa41ca2fe63e658c64e4db70e314ec4c259b43ccf0302c81f44c058b9d065d8d21950ed716b18679b56d21a SHA512 7e1151e19ee75b81cac6c36f00278981c0f4dd12322b5c8d465811d0931b89d9d6bf012fb43b4943e4b67db0015fa3fa5ac84e792c3a4934efba3c2bf389fbc7 +DIST firefox-95.0-mr.xpi 528738 BLAKE2B e4bac04d0f10d638e2bc02228e2127c56a7196433cdb2116528ca50c423f7064be9adf4c8fd8537c4deded872c7caf187a812b14b37720ba7b0e4a29e1e0c919 SHA512 4ab9e64a1fba744a55b5ac7ec3a614bb6271af4693d806ef2f57724c561423e3f8e6ff0ba162e2c5deacc3d65a58d806dffdeeb8a29aca6f391309c3a5233771 +DIST firefox-95.0-ms.xpi 444663 BLAKE2B 545a6479eb3cda354449669050832c539b75692d35d2e373bc02fffe2bfd19f95c8241ffe1fa1f56c37e0de359c1ff035408c9ce5d81c40e27260f34e34dd783 SHA512 6273fe3f2b686aa80b88d5dc64e07617eb28b1e0a2de962c4eb77ab730cce0ae49af97f33520bbfeaece34afd7163f7d7b6891159360af66829f27aa3aa37981 +DIST firefox-95.0-my.xpi 512526 BLAKE2B 8766581eb05049ee7a430a67c9ae7b962085c4588f35046ac2a10e50df5bbff6947f681e1fdef756f8210908f97cccdd41496fe3b96f0959b3f19cf0bd967d81 SHA512 fdffe4140d38237789c7cdd43e39aaa0e1e411a62d398f792a19724874ee5ccb56de0401b804ce07fc15e9b502d0ad6d3e8b77f1f63ca6daab9cc2399586b94d +DIST firefox-95.0-nb-NO.xpi 525747 BLAKE2B f48881217157c037451c9d685258ede8ba0f10ae890a6a01700deccfdf2e7d3a410bca9f8002cf313127098a040638719cc2c1dfef73f32d1d3e31311c1621cb SHA512 a199a137a39d56563e5284548fd9012abcc57234570d3eca5fbd648bbccf352cfbbb6671d6c0b16b23b655a26cbbb366318e9b370f6a9b5348630183ee7f1b04 +DIST firefox-95.0-ne-NP.xpi 481248 BLAKE2B 003af761306299f0a3b9633d675298427fc97df0cfad50334621b52eaa4e25de12669478481693f999fa7ba8fe17950bcd644cb8b1d67dc825b44f27ca44fefa SHA512 8ab172cce511c74edc101880825d447c7f86ec2e8b076c0206e91c6a3d6ec7ec8438cacd5da94dd572df61f6da51b9619b053727157319b1afcf85547d4017be +DIST firefox-95.0-nl.xpi 533457 BLAKE2B 47079b02637c9a3eeb6a22abb09bb48e0d606d23d4aa9b62b05f03049463704665d6d885380bb4560ab55d16d06b6b163869b2843e8ff127827e4cebd73ec03a SHA512 2e52326799609e7c1a17f43829b2ffcaff0888b88ed1182c173e32433abb471da7c2bbba1fc237ca2eea73138d954fd38f0614cf055885e175612dc53bcb492f +DIST firefox-95.0-nn-NO.xpi 527937 BLAKE2B 172afccfd416591b06f0236e79a99d5c54d96535b37305ceefdb6d4b08f632b6f4abd49a00e4c69ca602ad17bb71edd8f49ff3924680c01fef6c6b31fd59582d SHA512 b97f19e24126047cb51797c2882b2bfb728595206924f9c53ae37bd3ff0cd30e27a88669e4d24f4bd788523358ea650cc792e65a26d6bf8913f5364379fe4332 +DIST firefox-95.0-oc.xpi 549080 BLAKE2B ca7a523ff465b8750458ecff217db8b33866816a704565f4c7646e885d6c1861966b1e6f0d75013da454b1e249f5ced8b8dcecaa36d3c5a579c8c26f444d8a11 SHA512 5d7f2a4440b9697c5b2d9fd2f3c079085420cb2bf1f76e9bac80b8d17f1adfad8b8ab99152c5287efceb22ac26ccccc96ae8f000baf9af7f2f56574f95b8854e +DIST firefox-95.0-pa-IN.xpi 592184 BLAKE2B 5a03318fd405de07a7874ed2fef380ae103b98590177c9da0f84a92da6599fd48d09bf0e10c60564ab287cb36e386bfe5637d809d02f2aa60fe426f68643d392 SHA512 f04772e873dd0bcab39e3641fd14928b230b315f0bb01471fa403a866e4eb222da024fbdb69e85f8655e7ce6c6f41a88a5616d4935527391a95b6665f76000b6 +DIST firefox-95.0-pl.xpi 551775 BLAKE2B b0fda1de615693a07f81e327f2343eb9e0836d6c80978e6b702ee6edcd48530bcbf7c1538aae146973d3438b3cc89ffd6a4daeb27fc9c3af9b3048d2509871b9 SHA512 b7c144af35ac65315c9d709e047f5dfb64650eec9ec3ac967e031506f93ef9312ff4c590d474b1aa1e3f0c49e7b18e31c857477f316b5960354d5b5179388c91 +DIST firefox-95.0-pt-BR.xpi 538817 BLAKE2B c69a5aac089154418ad3be52dd819c582c5ef04ab277299a843948ed20d5a1df52b7ef275a43888c2c2b11e8ee16112db27c960ed1bd0c500697287d23338491 SHA512 881335de74fd0cf83bda0ee7538f68d7f63bf28a7fabcff6ae84ec7d68e0fb428ccb3c7959866776eba6889816e72be3dd00f7516e4bf8447452b96cd4bf58c4 +DIST firefox-95.0-pt-PT.xpi 542297 BLAKE2B d215211af7b2c0e6aa7d4f40b22f8889d8b242790f38bc913ce5268219280c2b4ab5dddaf55ebb1f90d087c8c6c115292e02486a6a100c0eeeb2ab170c1fe530 SHA512 e861aa28696d03231b68ef7820f3b2beb71d8a441e62d6fcb35dffcd05b25f0f20d56206a3de71717029d9f8654a31dd75bb286606dde20ca91a52524a0141bd +DIST firefox-95.0-rm.xpi 533362 BLAKE2B 9e9fe73ab0f8d072dfc88b5a5bab11ff27a3683ec9e867ea0a3d478a656b9aebb229f9b3a3f101183cb9481be80297e0e527a71e46b33a495639822064baab99 SHA512 e99367f50ff1bfc5a24d114990b619097922375e86ce706fc1390dfa19ebd9c70617d3b61fdf8fc1441a5aee759b2b4b0d1ed976fd9f1bc8971c39d7acc6cced +DIST firefox-95.0-ro.xpi 526935 BLAKE2B 289d63649ba197ccaea3002fa0b165dda0cda9858dafe90a4aac838033dfc400b5f0fe17830626e48aab9a0e4184620ef2ab8297d827375b1579ef59548c0534 SHA512 d87bb24c58f5624cf33cd00c4e35a247a2093159243aa3ae2a77e74bd1b2d773a36894d705665ad5ba14ea014cfda5f068a775a76b9b631909533b5ecdf5dcb6 +DIST firefox-95.0-ru.xpi 622429 BLAKE2B 88c622874abb3c2a102edaa1ebf1ea080dde5baae4a2148d79baebcdc9b494aeb4f768264c6f0a1f53b695657921b59a039e2ec8cae47955cdee9be9b93e515f SHA512 048bbba2b8506838f6aff171fb1474e2e41c60519fce8096a43740b11081a17230963c558704ecf4476292b2d7cc770ce659ee6a23cd9c78f8302b37093c88b7 +DIST firefox-95.0-sco.xpi 502276 BLAKE2B 74ccf3d089973529bdbb5a140c4bf1ac91e9cd6435eb837aa7df477ba281df89b107647eb3a41f0980ab49676fcc06a0d4462172b4715e7c28a88fdc716cd5c9 SHA512 86cda28ea4596f07530a8f6d6a2bb3da8ce36f47f5b222eb65cf09a1436fa2de2ad58466b589f734925d5d79d0fb14e23ef2583985e8625d78ae9c3ee05d60ab +DIST firefox-95.0-si.xpi 484211 BLAKE2B 6aabb660f7bc8e57edfd22dddb92f82594ea8f307679ea32f8d376bb2ce1c0d24cbb81b53bc0c4f492775cbafbd98abec364e5b634f7cdd990079a97298a1953 SHA512 5a40505ed8bfc9bbeeefef8cca36f911a7e830a8e386100fcbb72db5c79f9f898f899002d8059f1480df279a26565429304540b33750db3253614a205550c995 +DIST firefox-95.0-sk.xpi 562407 BLAKE2B 3a01a8bf40cd0bae4d7b24e41b551cb21c8f850daece989727a88a04711f7f1a1b9091efcc7cf9a4bdc059c00e60d61270617c08a2d59859c73a5b8a807228c1 SHA512 ec4f21d61906c70c96ba530d463ba0a2d6d2e893ac68c818152bb695c28d85a5b70a603279ac3b37107bfae85000d664956eadbab472f52297a90986ac00031f +DIST firefox-95.0-sl.xpi 534345 BLAKE2B 58eda7c2f9405cf644843ef9f5a2b7ebd23a051a78dc28779e77b99b8c9c52605508c26133e294ca109f7d87fc470498955e7c8d41b4bbbd81ece0b6fdabad8a SHA512 e4623d8373a853d45b7b0fb3b81129099f38532ac8a6048a7202990e59432f769b035ace16be4b228db2a31eca095acb1205627e41a40652feb33456a55be0a0 +DIST firefox-95.0-son.xpi 420603 BLAKE2B d08a1a531523dca9cd8268c7205edb08f2f16a9fdcfe708ef03319d61274c52384ad7b2c9c39fddf85026f021d6f411c9c5e80b21535965a6832beb93f56ba1d SHA512 03f2a58a408bb33c05c8da67508c3244a528dfd4c1763ac8d6f9251e029c79f98075b191ab7937c3bc3f329c7a089d10c64e4361f9028a6d6eab7e47d69da0ba +DIST firefox-95.0-sq.xpi 552427 BLAKE2B 7a6cb3fa1d5c2ce397c54adcfbb85b83aa9001bf355d838bbb54a1eeee681a1dcbde7d9fd8266bdfb080188cc1091d935fef39ed39d6fc36392405b0ecd5a993 SHA512 0e67147bd01929ef9c0bc00893166332cc2043bb9a1e53bc4437625102cc376b4bd9da91373b480198e3f8c8c9eb05a8aa6774657a18946590d240a148de788c +DIST firefox-95.0-sr.xpi 582868 BLAKE2B db8768ceae1a9c3a705212ccb77537296e24aaa14199e755a1d32da318d14bd2ef1bc960bd491eb3b88904ac3a4c5d37f3cb683614db3076d30202379da9d724 SHA512 68343edaaaf9ce66267d32545b077affa9eeab5a220bed1f3b08da3db239be8420709006eba56bc1e4e4bf326c08c7ee8f521b6cc6cb4147d11c54a9ec904042 +DIST firefox-95.0-sv-SE.xpi 536153 BLAKE2B 7f1a33176fe5e4e41c4797e5d801278989d58a2e77db8f553adca85e32c86169020540f9d974c17f3d7a977fca2972ee9244f7d2caa997be9b73dca1036f36f0 SHA512 f631df62d197c75ccc645b86e5131c1a3171e755e9009b3b8826fd3e7af90f8d43b974e7079ba6beb5e92c0243773237c16aac17bb559cdf3c4e34929fa68603 +DIST firefox-95.0-szl.xpi 507025 BLAKE2B 3998bafc5c46ea7158523e6ee4722d5e1d97b96b0e8f06eb0129283d7070c7238833037aa13e9148a11f9bdd50e0ef37fc9d1cb7ee907cc60cdc1b7dab70cb1a SHA512 664e90e66615d2cea2528d7f3d90d883ad76219ba12147ce0931382e70f85d2f590b31c9bab9f035e1ba279f750e8f165909fa6400fc0d76a713ffa60166ab9f +DIST firefox-95.0-ta.xpi 509400 BLAKE2B 04961b9383bea30627e053b512476179f3fe04a3605b8b5813bb09617082deb48a7a971052fc7edd79f162bbbbaf6201c85400f96ceb0d27e806a5dfa7add122 SHA512 8da011875792d71cf80107e96f91dcc1a5f4e7725a2e71e1654fea905345b8023566b2eaa896e160e002790164b13bab989c75b7e2407f590e05fbab74a72df5 +DIST firefox-95.0-te.xpi 546760 BLAKE2B 7bb8a94a2311fdcd126f6d8c7d76c016d42c88ed063f5a16e8dcc633f6a653aed1b3ea2cc850dba4c29abe488433fd1611fb5c20609101c30c1233b2fa3a6b95 SHA512 b955574375fa45a20b55898eebbb1eacf3dee43c55cc3862343b3e21ac9acda9544d9ed116b515e3f0ee8a57c45b553b97f7c68d02ae59794e90df503800130e +DIST firefox-95.0-th.xpi 602687 BLAKE2B f2af676483ee8918a76c5bb90b1f4f753d9912879f72b0f3cf370242f2d9258c03dd76fa136d039d802336a67ea59e004658527955d708bcfe8a1c3678a6edc3 SHA512 b7987b4e2e6ac604c6c69539e543ba2050342e087363aa1650837adcefb97455bb5cc92fefa0553d7152e8b2e03b6c0c22499ddea1c6fcc9e8e7d58f74ebd33e +DIST firefox-95.0-tl.xpi 514073 BLAKE2B 04fde0285700502bf278fb6af49d01f95839f34348855867fae9d8ce50bb1e75b2f371b9770f7d9f0d191012cdcd9fbdb2d87df887d450cf7025136c34266281 SHA512 752c4d3faa0bbd1d189acbd265bee5700825c4c006d5bf5343e3aa96747a4eb50aa3cc714eb0e96206e0a81619189a3a0c877c03d8a7598533711e706fe8066c +DIST firefox-95.0-tr.xpi 549761 BLAKE2B 5bbc39f2a80c896ef7bc16871c4034f3c7ad7ec5ead98b8a5c22b573a34c46e7059879687a39b2223c0058ccb19f3243f1eff1b7484f316fafc905859f3d4b2f SHA512 5a3192201ec54196f1af306339987631d6bb55b5392f8b3641facbac544d1906bff9d5312bc0b005c259dd2cccccce453a2a910e4a93afd321266e08b929d0d8 +DIST firefox-95.0-trs.xpi 487959 BLAKE2B d86920e62b0dd0338964d5bdecedc55f4d43781cdaa57080d7b2314837d52872a101dae4b02a7fcba447e4aa48eec243e986b55b38a37e1c228a7cfb8817ad91 SHA512 de92ac2cfc8c9f2ae90506ea22720b3914a3bb63822b1f6daaf544130eea9055e3d6d498b02ae25c3fddc1e06512c95d5aad0206419582bc8d976c5e058b3d5c +DIST firefox-95.0-uk.xpi 615803 BLAKE2B df477a4f9badab9e8c9c90a634e7a3937da53584ce1dd4d6c08f6934de93ef4b62d806cbaf9ef50c22c528269dd3b352607c1826c96ce93708c002cadaf38ef4 SHA512 1650c9cc066303ce1c40277f47c06d05e372e0df9dd6c6944549fa3741339ec3c4c4e6ba5b64162997605878d897e518d6d201c2611fa1a9e7152eaf77ff116d +DIST firefox-95.0-ur.xpi 554230 BLAKE2B 9ebf28b6630c7ac86c1d86617f118dc55160d8b979aed4d5041340b025e3b2d2db8ebb3a15af579f3410d8ebf7ec4b18fb6a3e98758d14eca7f1016736f10279 SHA512 32299a4dbc0a7109f6e520a4cc0d3b69e97737fadc6ca8313fd23b9524971f1f78b5c214a4eb05b2a3705277e4b14a538cc1394b65e00bb5479f9b233cd966c9 +DIST firefox-95.0-uz.xpi 463752 BLAKE2B 8ddfa67828ca4865a6be32024492d23ccd5212bbffc1cb0533d99849eb1fca7356e355cb3b980dd0767232c3d78a71bbd7d90fde5e5318d7be05c118a3023781 SHA512 d5cc2d8ca356a30af0362659352d76e4b4bc666a03533f371a3637f158cfb28c6aafef76f9fa0b238d5875d00219e5029abe13fad56fd189876ea04f2c204868 +DIST firefox-95.0-vi.xpi 569408 BLAKE2B ea2d973c250c3a46621567bde9d6e9805dc2231569c8431ae28a3eef4ee1705ed1e48a4cbb1e1d47b31b5899fd4767b1e7e11c989c17a006dcf8629d95870e9f SHA512 304fd402b2be4174a954545c247269f66f716722eae6c3e299dcc8299f0da9b1daa2f637fd3bf2dc0c04218f493a91952f0f3f67d010acca28e969ffbc4cd102 +DIST firefox-95.0-xh.xpi 424123 BLAKE2B 35ebded6af47343021066ff726501b1c5a36bf96c2d2805883ea7f0c27820807a7745a59c9e5a0ae7d0697935501ebcdd4ab26d4bc4ec27900d02562215331c7 SHA512 9335a43b2bcd62a8521c04c1698ef021b839b124a20c00ff8a8c3a4b641273fcbab5938b8f207fbc94e26c03a05e4a213f2a43e64814da1114178951068d2c66 +DIST firefox-95.0-zh-CN.xpi 571142 BLAKE2B ef68a507ae28c7fc9fdae15a3b2f760ed50889245dd3a3c463f170642deb14383feb0bd1a7dcd2806b6c88aca14101b0253879ddc85773a355667e98f8fc7b47 SHA512 006518e8c34db43fc96f371970737751df6a36b95a89172d2934f776c3eda3372cc4fcf674fd81b8a9f4471fe2be7a212a725ea9772dbd0d82b9a1fc56ba75e1 +DIST firefox-95.0-zh-TW.xpi 571955 BLAKE2B a41c01347771a0fe5609ebb61b2046695d9354c35f61e238db116401da8b8b50c31b07ee8455347f6f2714a2ad3fba5dacdaa8cc4b0794e90db16c8ec30741d1 SHA512 68395d78cb17ad8c9ce7b70e23b5f019bfda25e6aebaaaa615babfafdb715dc3c83cff049ae8b9d6c3520919a8fc46cc606b136276af1e86dfb5e82ba3978e7b +DIST firefox-95.0.source.tar.xz 382853940 BLAKE2B 64ff056f2e8a21731a920a5bc4580d3bc8805b40ac1c0ab3d6cf3811cc1e058ee9363f85a9c8bb086b1bc87462b7feaae565c459edf37417b44cba6e0727dd94 SHA512 350672a2cd99195c67dafc0e71c6eaf1e23e85a5fe92775697119a054f17c34a736035e23d7f2bb404b544f0f144efef3843cfc293596a6e61d1ea36efc3a724 diff --git a/www-client/firefox/files/distribution.ini b/www-client/firefox/files/distribution.ini new file mode 100644 index 00000000..680512e3 --- /dev/null +++ b/www-client/firefox/files/distribution.ini @@ -0,0 +1,42 @@ +[Global] +id=gentoo +version=1.0 +about=Mozilla Firefox for Gentoo +about.de=Mozilla Firefox für Gentoo + +[Preferences] +app.distributor="gentoo" +app.distributor.channel="gentoo" +startup.homepage_welcome_url="https://www.gentoo.org/" + +[BookmarksToolbar] +item.1.type=default +item.2.title=Gentoo's Bugzilla +item.2.link=https://bugs.gentoo.org/ +item.3.title=Gentoo Forums +item.3.link=https://forums.gentoo.org/ +item.4.title=Gentoo Packages +item.4.link=https://packages.gentoo.org/ +item.5.title=Planet Gentoo +item.5.link=https://planet.gentoo.org/ +item.6.title=Gentoo Wiki +item.6.link=https://wiki.gentoo.org/ + +[BookmarksMenu] +item.1.title=Gentoo +item.1.type=folder +item.1.folderId=1 + +[BookmarksFolder-1] +item.1.title=Gentoo Linux +item.1.link=https://www.gentoo.org/ +item.2.title=Gentoo's Bugzilla +item.2.link=https://bugs.gentoo.org/ +item.3.title=Gentoo Forums +item.3.link=https://forums.gentoo.org/ +item.4.title=Gentoo Packages +item.4.link=https://packages.gentoo.org/ +item.5.title=Planet Gentoo +item.5.link=https://planet.gentoo.org/ +item.6.title=Gentoo Wiki +item.6.link=https://wiki.gentoo.org/ diff --git a/www-client/firefox/files/firefox-52.9.0-blessings-TERM.patch b/www-client/firefox/files/firefox-52.9.0-blessings-TERM.patch deleted file mode 100644 index 271a62a1..00000000 --- a/www-client/firefox/files/firefox-52.9.0-blessings-TERM.patch +++ /dev/null @@ -1,56 +0,0 @@ -https://github.com/erikrose/blessings/pull/137 - -Fixes: https://bugs.gentoo.org/654316 - -From 5fefc65c306cf9ec492e7b422d6bb4842385afbc Mon Sep 17 00:00:00 2001 -From: Jay Kamat <jaygkamat@gmail.com> -Date: Fri, 24 Aug 2018 11:11:57 -0700 -Subject: [PATCH 1/2] Fix error when TERM is unset or improperly set - ---- - blessings/__init__.py | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/blessings/__init__.py b/blessings/__init__.py -index 98b75c3..3872b5f 100644 ---- a/python/blessings/blessings/__init__.py -+++ b/python/blessings/blessings/__init__.py -@@ -94,8 +94,13 @@ def __init__(self, kind=None, stream=None, force_styling=False): - # init sequences to the stream if it has a file descriptor, and - # send them to stdout as a fallback, since they have to go - # somewhere. -- setupterm(kind or environ.get('TERM', 'unknown'), -- self._init_descriptor) -+ try: -+ setupterm(kind or environ.get('TERM', 'dumb') or 'dumb', -+ self._init_descriptor) -+ except: -+ # There was an error setting up the terminal, either curses is -+ # not supported or TERM is incorrectly set. Fall back to dumb. -+ self._does_styling = False - - self.stream = stream - - -From d885df78c6f931abf3259343aaaa897e16c8cba1 Mon Sep 17 00:00:00 2001 -From: Jay Kamat <jaygkamat@gmail.com> -Date: Sat, 1 Sep 2018 13:20:32 -0700 -Subject: [PATCH 2/2] Explicitly catch curses.error - ---- - blessings/__init__.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/blessings/__init__.py b/blessings/__init__.py -index 3872b5f..fdceb09 100644 ---- a/python/blessings/blessings/__init__.py -+++ b/python/blessings/blessings/__init__.py -@@ -97,7 +97,7 @@ def __init__(self, kind=None, stream=None, force_styling=False): - try: - setupterm(kind or environ.get('TERM', 'dumb'), - self._init_descriptor) -- except: -+ except curses.error: - # There was an error setting up the terminal, either curses is - # not supported or TERM is incorrectly set. Fall back to dumb. - self._does_styling = False diff --git a/www-client/firefox/files/firefox-r1.sh b/www-client/firefox/files/firefox-r1.sh new file mode 100644 index 00000000..853a4efa --- /dev/null +++ b/www-client/firefox/files/firefox-r1.sh @@ -0,0 +1,116 @@ +#!/bin/bash + +## +## Usage: +## +## $ firefox +## +## This script is meant to run Mozilla Firefox in Gentoo. + +cmdname=$(basename "$0") + +## +## Variables +## +MOZ_ARCH=$(uname -m) +case ${MOZ_ARCH} in + x86_64|s390x|sparc64) + MOZ_LIB_DIR="@PREFIX@/lib64" + SECONDARY_LIB_DIR="@PREFIX@/lib" + ;; + *) + MOZ_LIB_DIR="@PREFIX@/lib" + SECONDARY_LIB_DIR="@PREFIX@/lib64" + ;; +esac + +MOZ_FIREFOX_FILE="firefox" + +if [[ ! -r ${MOZ_LIB_DIR}/firefox/${MOZ_FIREFOX_FILE} ]]; then + if [[ ! -r ${SECONDARY_LIB_DIR}/firefox/${MOZ_FIREFOX_FILE} ]]; then + echo "Error: ${MOZ_LIB_DIR}/firefox/${MOZ_FIREFOX_FILE} not found" >&2 + if [[ -d ${SECONDARY_LIB_DIR} ]]; then + echo " ${SECONDARY_LIB_DIR}/firefox/${MOZ_FIREFOX_FILE} not found" >&2 + fi + exit 1 + fi + MOZ_LIB_DIR="${SECONDARY_LIB_DIR}" +fi +MOZILLA_FIVE_HOME="${MOZ_LIB_DIR}/firefox" +MOZ_EXTENSIONS_PROFILE_DIR="${HOME}/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}" +MOZ_PROGRAM="${MOZILLA_FIVE_HOME}/${MOZ_FIREFOX_FILE}" + +## +## Enable Wayland backend? +## +if @DEFAULT_WAYLAND@ && [[ -z ${MOZ_DISABLE_WAYLAND} ]]; then + if [[ -n "${WAYLAND_DISPLAY}" ]]; then + export MOZ_ENABLE_WAYLAND=1 + fi +fi + +## +## Use D-Bus remote exclusively when there's Wayland display. +## +if [[ -n "${WAYLAND_DISPLAY}" ]]; then + export MOZ_DBUS_REMOTE=1 +fi + +## +## Make sure that we set the plugin path +## +MOZ_PLUGIN_DIR="plugins" + +if [[ -n "${MOZ_PLUGIN_PATH}" ]]; then + MOZ_PLUGIN_PATH=${MOZ_PLUGIN_PATH}:${MOZ_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR} +else + MOZ_PLUGIN_PATH=${MOZ_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR} +fi + +if [[ -d "${SECONDARY_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR}" ]]; then + MOZ_PLUGIN_PATH=${MOZ_PLUGIN_PATH}:${SECONDARY_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR} +fi + +export MOZ_PLUGIN_PATH + +## +## Set MOZ_APP_LAUNCHER for gnome-session +## +export MOZ_APP_LAUNCHER="@PREFIX@/bin/${cmdname}" + +## +## Disable the GNOME crash dialog, Mozilla has its own +## +if [[ "${XDG_CURRENT_DESKTOP}" == "GNOME" ]]; then + GNOME_DISABLE_CRASH_DIALOG=1 + export GNOME_DISABLE_CRASH_DIALOG +fi + +## +## Enable Xinput2 (#617344) +## + +# respect user settings +MOZ_USE_XINPUT2=${MOZ_USE_XINPUT2:-auto} + +if [[ ${MOZ_USE_XINPUT2} == auto && -n ${WAYLAND_DISPLAY} ]]; then + # enabling XINPUT2 should be safe for all wayland users + MOZ_USE_XINPUT2=1 +elif [[ ${MOZ_USE_XINPUT2} == auto && ${XDG_CURRENT_DESKTOP^^} == KDE ]]; then + # XINPUT2 is known to cause problems for KWin users + MOZ_USE_XINPUT2=0 +elif [[ ${MOZ_USE_XINPUT2} == auto && ${XDG_CURRENT_DESKTOP^^} == LXQT ]]; then + # LXQt uses KWin + MOZ_USE_XINPUT2=0 +elif [[ ${MOZ_USE_XINPUT2} == auto ]]; then + # should work on Mate, Xfce, FluxBox, OpenBox and all the others ... + MOZ_USE_XINPUT2=1 +fi + +[[ ${MOZ_USE_XINPUT2} != 0 ]] && export MOZ_USE_XINPUT2=${MOZ_USE_XINPUT2} + +# Don't throw "old profile" dialog box. +export MOZ_ALLOW_DOWNGRADE=1 + +# Run the browser +exec ${MOZ_PROGRAM} "${@}" diff --git a/www-client/firefox/files/gentoo-default-prefs.js b/www-client/firefox/files/gentoo-default-prefs.js new file mode 100644 index 00000000..0407f5d3 --- /dev/null +++ b/www-client/firefox/files/gentoo-default-prefs.js @@ -0,0 +1,12 @@ +pref("general.smoothScroll", true); +pref("general.autoScroll", false); +pref("browser.urlbar.hideGoButton", true); +pref("accessibility.typeaheadfind", true); +pref("browser.shell.checkDefaultBrowser", false); +pref("browser.EULA.override", true); +pref("general.useragent.locale", "chrome://global/locale/intl.properties"); +pref("intl.locale.requested", ""); +/* Disable DoH by default */ +pref("network.trr.mode", 5); +/* Disable use of Mozilla Normandy service by default */ +pref("app.normandy.enabled", false); diff --git a/www-client/firefox/files/gentoo-default-prefs.js-1 b/www-client/firefox/files/gentoo-default-prefs.js-1 deleted file mode 100644 index 22a51ff7..00000000 --- a/www-client/firefox/files/gentoo-default-prefs.js-1 +++ /dev/null @@ -1,17 +0,0 @@ -pref("app.update.enabled", false); -pref("app.update.autoInstallEnabled", false); -pref("browser.display.use_system_colors", true); -pref("browser.link.open_external", 3); -pref("general.smoothScroll", true); -pref("general.autoScroll", false); -pref("browser.tabs.tabMinWidth", 15); -pref("browser.backspace_action", 0); -pref("browser.urlbar.hideGoButton", true); -pref("accessibility.typeaheadfind", true); -pref("browser.shell.checkDefaultBrowser", false); -pref("browser.EULA.override", true); -pref("general.useragent.vendor", "Gentoo"); -pref("intl.locale.matchOS", true); -pref("general.useragent.locale", "chrome://global/locale/intl.properties"); -pref("extensions.autoDisableScopes", 0); -pref("layout.css.dpi", 0); diff --git a/www-client/firefox/files/gentoo-default-prefs.js-3 b/www-client/firefox/files/gentoo-default-prefs.js-3 deleted file mode 100644 index 073ea77e..00000000 --- a/www-client/firefox/files/gentoo-default-prefs.js-3 +++ /dev/null @@ -1,19 +0,0 @@ -pref("app.update.enabled", false); -pref("app.update.autoInstallEnabled", false); -pref("browser.display.use_system_colors", true); -pref("browser.link.open_external", 3); -pref("general.smoothScroll", true); -pref("general.autoScroll", false); -pref("browser.tabs.tabMinWidth", 15); -pref("browser.backspace_action", 0); -pref("browser.urlbar.hideGoButton", true); -pref("accessibility.typeaheadfind", true); -pref("browser.shell.checkDefaultBrowser", false); -pref("browser.EULA.override", true); -pref("general.useragent.vendor", "Gentoo"); -pref("general.useragent.locale", "chrome://global/locale/intl.properties"); -pref("intl.locale.requested", ""); -pref("extensions.autoDisableScopes", 0); -pref("layout.css.dpi", 0); -pref("network.trr.mode", 5); -pref("app.normandy.enabled", false); diff --git a/www-client/firefox/files/gentoo-hwaccel-prefs.js-1 b/www-client/firefox/files/gentoo-hwaccel-prefs.js index 0cb92b04..a00144a7 100644 --- a/www-client/firefox/files/gentoo-hwaccel-prefs.js-1 +++ b/www-client/firefox/files/gentoo-hwaccel-prefs.js @@ -1,2 +1,3 @@ +/* Force hardware accelerated rendering due to USE=hwaccel */ pref("layers.acceleration.force-enabled", true); pref("webgl.force-enabled", true); diff --git a/www-client/firefox/files/icon/firefox-r1.desktop b/www-client/firefox/files/icon/firefox-r2.desktop index a000dffd..45d5f11f 100644 --- a/www-client/firefox/files/icon/firefox-r1.desktop +++ b/www-client/firefox/files/icon/firefox-r2.desktop @@ -8,10 +8,10 @@ Icon=@ICON@ Terminal=false Type=Application MimeType=application/pdf;application/vnd.mozilla.xul+xml;application/xhtml+xml;text/html;text/mml;text/xml;x-scheme-handler/ftp;x-scheme-handler/http;x-scheme-handler/https; -StartupNotify=@STARTUP_NOTIFY@ +StartupNotify=true Categories=Network;WebBrowser; Keywords=web;browser;internet; -Actions=new-window;new-private-window; +Actions=new-window;new-private-window;profile-manager-window; [Desktop Action new-window] Name=Open a New Window @@ -228,3 +228,9 @@ Name[xh]=Ifestile yangasese entsha Name[zh_CN]=新建隐私浏览窗口 Name[zh_TW]=新增隱私視窗 Exec=@EXEC@ --private-window %u + +[Desktop Action profile-manager-window] +Name=Open the Profile Manager +Name[de]=Profilverwaltung öffnen +Name[cs]=Správa profilů +Exec=@EXEC@ --ProfileManager diff --git a/www-client/firefox/files/icon/firefox-r3.desktop b/www-client/firefox/files/icon/firefox-r3.desktop new file mode 100644 index 00000000..8219e935 --- /dev/null +++ b/www-client/firefox/files/icon/firefox-r3.desktop @@ -0,0 +1,236 @@ +[Desktop Entry] +Version=1.0 +Name=@NAME@ +GenericName=Web Browser +Comment=Browse the Web +Exec=@EXEC@ %u +Icon=@ICON@ +Terminal=false +Type=Application +MimeType=application/pdf;application/vnd.mozilla.xul+xml;application/xhtml+xml;text/html;text/mml;text/xml;x-scheme-handler/http;x-scheme-handler/https; +StartupNotify=true +Categories=Network;WebBrowser; +Keywords=web;browser;internet; +Actions=new-window;new-private-window;profile-manager-window; + +[Desktop Action new-window] +Name=Open a New Window +Name[ach]=Dirica manyen +Name[af]=Nuwe venster +Name[an]=Nueva finestra +Name[ar]=نافذة جديدة +Name[as]=নতুন উইন্ডো +Name[ast]=Ventana nueva +Name[az]=Yeni Pəncərə +Name[be]=Новае акно +Name[bg]=Нов прозорец +Name[bn_BD]=নতুন উইন্ডো (N) +Name[bn_IN]=নতুন উইন্ডো +Name[br]=Prenestr nevez +Name[brx]=गोदान उइन्ड'(N) +Name[bs]=Novi prozor +Name[ca]=Finestra nova +Name[cak]=K'ak'a' tzuwäch +Name[cs]=Nové okno +Name[cy]=Ffenestr Newydd +Name[da]=Nyt vindue +Name[de]=Neues Fenster +Name[dsb]=Nowe wokno +Name[el]=Νέο παράθυρο +Name[en_GB]=New Window +Name[en_US]=New Window +Name[en_ZA]=New Window +Name[eo]=Nova fenestro +Name[es_AR]=Nueva ventana +Name[es_CL]=Nueva ventana +Name[es_ES]=Nueva ventana +Name[es_MX]=Nueva ventana +Name[et]=Uus aken +Name[eu]=Leiho berria +Name[fa]=پنجره جدید +Name[ff]=Henorde Hesere +Name[fi]=Uusi ikkuna +Name[fr]=Nouvelle fenêtre +Name[fy_NL]=Nij finster +Name[ga_IE]=Fuinneog Nua +Name[gd]=Uinneag ùr +Name[gl]=Nova xanela +Name[gn]=Ovetã pyahu +Name[gu_IN]=નવી વિન્ડો +Name[he]=חלון חדש +Name[hi_IN]=नया विंडो +Name[hr]=Novi prozor +Name[hsb]=Nowe wokno +Name[hu]=Új ablak +Name[hy_AM]=Նոր Պատուհան +Name[id]=Jendela Baru +Name[is]=Nýr gluggi +Name[it]=Nuova finestra +Name[ja]=新しいウィンドウ +Name[ja_JP-mac]=新規ウインドウ +Name[ka]=ახალი ფანჯარა +Name[kk]=Жаңа терезе +Name[km]=បង្អួចថ្មី +Name[kn]=ಹೊಸ ಕಿಟಕಿ +Name[ko]=새 창 +Name[kok]=नवें जनेल +Name[ks]=نئئ وِنڈو +Name[lij]=Neuvo barcon +Name[lo]=ຫນ້າຕ່າງໃຫມ່ +Name[lt]=Naujas langas +Name[ltg]=Jauns lūgs +Name[lv]=Jauns logs +Name[mai]=नव विंडो +Name[mk]=Нов прозорец +Name[ml]=പുതിയ ജാലകം +Name[mr]=नवीन पटल +Name[ms]=Tetingkap Baru +Name[my]=ဝင်းဒိုးအသစ် +Name[nb_NO]=Nytt vindu +Name[ne_NP]=नयाँ सञ्झ्याल +Name[nl]=Nieuw venster +Name[nn_NO]=Nytt vindauge +Name[or]=ନୂତନ ୱିଣ୍ଡୋ +Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ +Name[pl]=Nowe okno +Name[pt_BR]=Nova janela +Name[pt_PT]=Nova janela +Name[rm]=Nova fanestra +Name[ro]=Fereastră nouă +Name[ru]=Новое окно +Name[sat]=नावा विंडो (N) +Name[si]=නව කවුළුවක් +Name[sk]=Nové okno +Name[sl]=Novo okno +Name[son]=Zanfun taaga +Name[sq]=Dritare e Re +Name[sr]=Нови прозор +Name[sv_SE]=Nytt fönster +Name[ta]=புதிய சாளரம் +Name[te]=కొత్త విండో +Name[th]=หน้าต่างใหม่ +Name[tr]=Yeni pencere +Name[tsz]=Eraatarakua jimpani +Name[uk]=Нове вікно +Name[ur]=نیا دریچہ +Name[uz]=Yangi oyna +Name[vi]=Cửa sổ mới +Name[wo]=Palanteer bu bees +Name[xh]=Ifestile entsha +Name[zh_CN]=新建窗口 +Name[zh_TW]=開新視窗 +Exec=@EXEC@ --new-window %u + +[Desktop Action new-private-window] +Name=Open a New Private Window +Name[ach]=Dirica manyen me mung +Name[af]=Nuwe privaatvenster +Name[an]=Nueva finestra privada +Name[ar]=نافذة خاصة جديدة +Name[as]=নতুন ব্যক্তিগত উইন্ডো +Name[ast]=Ventana privada nueva +Name[az]=Yeni Məxfi Pəncərə +Name[be]=Новае акно адасаблення +Name[bg]=Нов прозорец за поверително сърфиране +Name[bn_BD]=নতুন ব্যক্তিগত উইন্ডো +Name[bn_IN]=নতুন ব্যক্তিগত উইন্ডো +Name[br]=Prenestr merdeiñ prevez nevez +Name[brx]=गोदान प्राइभेट उइन्ड' +Name[bs]=Novi privatni prozor +Name[ca]=Finestra privada nova +Name[cak]=K'ak'a' ichinan tzuwäch +Name[cs]=Nové anonymní okno +Name[cy]=Ffenestr Breifat Newydd +Name[da]=Nyt privat vindue +Name[de]=Neues privates Fenster +Name[dsb]=Nowe priwatne wokno +Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης +Name[en_GB]=New Private Window +Name[en_US]=New Private Window +Name[en_ZA]=New Private Window +Name[eo]=Nova privata fenestro +Name[es_AR]=Nueva ventana privada +Name[es_CL]=Nueva ventana privada +Name[es_ES]=Nueva ventana privada +Name[es_MX]=Nueva ventana privada +Name[et]=Uus privaatne aken +Name[eu]=Leiho pribatu berria +Name[fa]=پنجره ناشناس جدید +Name[ff]=Henorde Suturo Hesere +Name[fi]=Uusi yksityinen ikkuna +Name[fr]=Nouvelle fenêtre de navigation privée +Name[fy_NL]=Nij priveefinster +Name[ga_IE]=Fuinneog Nua Phríobháideach +Name[gd]=Uinneag phrìobhaideach ùr +Name[gl]=Nova xanela privada +Name[gn]=Ovetã ñemi pyahu +Name[gu_IN]=નવી ખાનગી વિન્ડો +Name[he]=חלון פרטי חדש +Name[hi_IN]=नयी निजी विंडो +Name[hr]=Novi privatni prozor +Name[hsb]=Nowe priwatne wokno +Name[hu]=Új privát ablak +Name[hy_AM]=Սկսել Գաղտնի դիտարկում +Name[id]=Jendela Mode Pribadi Baru +Name[is]=Nýr huliðsgluggi +Name[it]=Nuova finestra anonima +Name[ja]=新しいプライベートウィンドウ +Name[ja_JP-mac]=新規プライベートウインドウ +Name[ka]=ახალი პირადი ფანჯარა +Name[kk]=Жаңа жекелік терезе +Name[km]=បង្អួចឯកជនថ្មី +Name[kn]=ಹೊಸ ಖಾಸಗಿ ಕಿಟಕಿ +Name[ko]=새 사생활 보호 모드 +Name[kok]=नवो खाजगी विंडो +Name[ks]=نْو پرایوٹ وینڈو& +Name[lij]=Neuvo barcon privou +Name[lo]=ເປີດຫນ້າຕ່າງສວນຕົວຂື້ນມາໃຫມ່ +Name[lt]=Naujas privataus naršymo langas +Name[ltg]=Jauns privatais lūgs +Name[lv]=Jauns privātais logs +Name[mai]=नया निज विंडो (W) +Name[mk]=Нов приватен прозорец +Name[ml]=പുതിയ സ്വകാര്യ ജാലകം +Name[mr]=नवीन वैयक्तिक पटल +Name[ms]=Tetingkap Persendirian Baharu +Name[my]=New Private Window +Name[nb_NO]=Nytt privat vindu +Name[ne_NP]=नयाँ निजी सञ्झ्याल +Name[nl]=Nieuw privévenster +Name[nn_NO]=Nytt privat vindauge +Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ +Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ +Name[pl]=Nowe okno prywatne +Name[pt_BR]=Nova janela privativa +Name[pt_PT]=Nova janela privada +Name[rm]=Nova fanestra privata +Name[ro]=Fereastră privată nouă +Name[ru]=Новое приватное окно +Name[sat]=नावा निजेराक् विंडो (W ) +Name[si]=නව පුද්ගලික කවුළුව (W) +Name[sk]=Nové okno v režime Súkromné prehliadanie +Name[sl]=Novo zasebno okno +Name[son]=Sutura zanfun taaga +Name[sq]=Dritare e Re Private +Name[sr]=Нови приватан прозор +Name[sv_SE]=Nytt privat fönster +Name[ta]=புதிய தனிப்பட்ட சாளரம் +Name[te]=కొత్త ఆంతరంగిక విండో +Name[th]=หน้าต่างส่วนตัวใหม่ +Name[tr]=Yeni gizli pencere +Name[tsz]=Juchiiti eraatarakua jimpani +Name[uk]=Приватне вікно +Name[ur]=نیا نجی دریچہ +Name[uz]=Yangi maxfiy oyna +Name[vi]=Cửa sổ riêng tư mới +Name[wo]=Panlanteeru biir bu bees +Name[xh]=Ifestile yangasese entsha +Name[zh_CN]=新建隐私浏览窗口 +Name[zh_TW]=新增隱私視窗 +Exec=@EXEC@ --private-window %u + +[Desktop Action profile-manager-window] +Name=Open the Profile Manager +Name[de]=Profilverwaltung öffnen +Name[cs]=Správa profilů +Exec=@EXEC@ --ProfileManager diff --git a/www-client/firefox/files/icon/firefox-symbolic.svg b/www-client/firefox/files/icon/firefox-symbolic.svg new file mode 100644 index 00000000..2078eea4 --- /dev/null +++ b/www-client/firefox/files/icon/firefox-symbolic.svg @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="16" + height="16" + viewBox="0 0 16 16" + version="1.1" + id="svg3758" + sodipodi:docname="firefox-symbolic-quantum.svg" + inkscape:version="0.92.2 5c3e80d, 2017-08-06"> + <metadata + id="metadata3764"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title>Gnome Symbolic Icon Theme</dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <defs + id="defs3762" /> + <sodipodi:namedview + pagecolor="#555753" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="1" + inkscape:pageshadow="2" + inkscape:window-width="1591" + inkscape:window-height="909" + id="namedview3760" + showgrid="false" + showborder="false" + inkscape:snap-global="false" + inkscape:zoom="1" + inkscape:cx="3.8851213" + inkscape:cy="12.517918" + inkscape:window-x="143" + inkscape:window-y="60" + inkscape:window-maximized="0" + inkscape:current-layer="svg3758"> + <inkscape:grid + type="xygrid" + id="grid3768" /> + </sodipodi:namedview> + <title + id="title3754">Gnome Symbolic Icon Theme</title> + <path + d="m 15.054715,6.9884649 v 0 c -0.02034,-0.133652 -0.04071,-0.2122775 -0.04071,-0.2122775 0,0 -0.05225,0.060583 -0.138743,0.1748124 A 4.9808937,4.9808937 0 0 0 14.703694,6.0103229 6.4034781,6.4034781 0 0 0 14.270352,4.895288 4.6469845,4.6469845 0 0 0 13.87447,4.2163686 Q 13.793063,4.0947376 13.708437,3.9805045 C 13.444828,3.5499376 13.142365,3.2867867 12.792269,2.7891599 A 3.6101075,3.6101075 0 0 1 12.333953,1.5474054 5.0151173,5.0151173 0 0 0 12.113814,2.3599798 C 11.754468,1.997397 11.441832,1.7397963 11.253142,1.5640539 10.322171,0.69459485 10.430396,0.24367816 10.430396,0.24367816 v 0 c 0,0 -1.7389294,1.94102274 -0.9855522,3.96297904 a 3.8848199,3.8848199 0 0 0 1.2949452,1.726432 c 0.728868,0.6012222 1.513693,1.0743371 1.927612,2.2832561 A 3.8741829,3.8741829 0 0 0 11.21337,6.6823034 3.5023502,3.5023502 0 0 1 11.490854,8.0697401 3.2946971,3.2946971 0 0 1 7.4621982,11.27934 3.0343219,3.0343219 0 0 1 6.6459244,11.001852 3.3219834,3.3219834 0 0 1 5.667782,10.09771 l -0.00463,-0.0078 0.058274,0.02125 a 3.0061106,3.0061106 0 0 0 0.4162344,0.111409 2.6028293,2.6028293 0 0 0 1.6570605,-0.195631 C 8.3154732,9.7379218 8.6308831,9.5237932 8.8866339,9.6084266 h 0.0046 c 0.24974,0.079514 0.446755,-0.1628244 0.2682391,-0.4162632 A 1.3596868,1.3596868 0 0 0 7.8423564,8.6778985 C 7.3211426,8.7537416 6.8434027,9.1241907 6.1603222,8.7653097 a 1.4470953,1.4470953 0 0 1 -0.128107,-0.075371 c -0.04625,-0.026369 0.146605,0.040234 0.1017455,0.010233 A 3.3899676,3.3899676 0 0 1 5.7047808,8.4439577 c -0.010172,-0.00822 0.103133,0.032367 0.092497,0.024039 A 1.6561356,1.6561356 0 0 1 5.3495968,8.015168 0.80517516,0.80517516 0 0 1 5.3190728,7.2964766 0.63405807,0.63405807 0 0 1 5.5965603,7.0356384 c 0.088333,0.043485 0.1429059,0.076305 0.1429059,0.076305 0,0 -0.040235,-0.073997 -0.061972,-0.1128365 0.00786,-0.0027 0.014794,0 0.022662,-0.00513 0.077233,0.033293 0.248351,0.1202544 0.3385341,0.1734358 A 0.46987818,0.46987818 0 0 1 6.19362,7.3061637 c 0,0 0.030994,-0.015351 0.0079,-0.079998 A 0.41623066,0.41623066 0 0 0 6.0414753,7.0300927 h 0.0074 a 1.3596868,1.3596868 0 0 1 0.1970213,0.1225561 0.96149289,0.96149289 0 0 0 0.078625,-0.416232 0.54479973,0.54479973 0 0 0 -0.031914,-0.2312396 c -0.024511,-0.046254 0.013876,-0.064746 0.056885,-0.016135 A 0.45137905,0.45137905 0 0 0 6.3129456,6.378979 v -0.00372 0 c 0,0 0.024511,-0.031916 0.035615,-0.043486 A 0.66134433,0.66134433 0 0 1 6.4484481,6.2503678 4.6122987,4.6122987 0 0 1 7.1259793,5.9048971 C 7.3174429,5.8211545 7.4760733,5.7573477 7.5084475,5.7388339 a 1.0637007,1.0637007 0 0 0 0.1355052,-0.1040612 0.91015778,0.91015778 0 0 0 0.3052354,-0.5272274 0.73996569,0.73996569 0 0 0 0.0079,-0.082324 v -0.023118 -0.013967 0 -0.00552 0 -0.00611 0 C 7.9293085,4.872475 7.749868,4.7943251 6.8119611,4.7064478 A 0.81997449,0.81997449 0 0 1 6.1413599,4.0776254 v 0.0042 c -0.013416,0.034225 -0.025431,0.068909 -0.037456,0.1040572 0.012025,-0.034685 0.024051,-0.069373 0.037456,-0.1040572 v -0.00742 A 2.3762148,2.3762148 0 0 1 7.0598423,2.9339361 c 0.024051,-0.019416 -0.096192,0.00512 -0.072152,-0.014798 A 2.3845397,2.3845397 0 0 1 7.2328039,2.8155414 C 7.2748921,2.7979724 7.0524371,2.7128704 6.8558842,2.7336774 a 1.0174527,1.0174527 0 0 0 -0.3496338,0.082324 c 0.046253,-0.039773 0.1849968,-0.092498 0.1521605,-0.092498 a 2.2499581,2.2499581 0 0 0 -0.713142,0.2696255 0.14521828,0.14521828 0 0 1 0.01387,-0.064747 1.1099484,1.1099484 0 0 0 -0.4458297,0.3440843 0.58966016,0.58966016 0 0 0 0.00462,-0.080469 1.3300881,1.3300881 0 0 0 -0.2187525,0.2053404 l -0.00417,0.00321 A 2.9066776,2.9066776 0 0 0 3.6684873,3.2618132 l -0.00463,-0.0042 h 0.00554 A 1.3610743,1.3610743 0 0 1 3.3803631,2.9339159 l -0.0074,0.0018 -0.00877,-0.010174 C 3.3285694,2.8728322 3.2920343,2.813172 3.2545731,2.7465739 3.2277502,2.7003291 3.2004619,2.646216 3.1731756,2.5902563 c 0,-0.00372 -0.00416,-0.00513 -0.006,-0.00552 -0.0111,0 -0.01896,0.05133 -0.028212,0.037927 v -0.0028 A 1.9923577,1.9923577 0 0 1 3.0080744,1.8396896 l -0.0074,0.00372 A 0.87130958,0.87130958 0 0 0 2.6704677,2.2753541 c -0.028212,0.063362 -0.046248,0.098047 -0.064746,0.1327329 0,0.0028 0,-0.00461 0,-0.016194 0.00416,-0.031916 0.018037,-0.097585 0.014799,-0.092497 -0.00323,0.00513 -0.00553,0.00882 -0.00877,0.013415 A 0.80147532,0.80147532 0 0 0 2.4956586,2.4848515 1.0891367,1.0891367 0 0 0 2.4262868,2.661518 c -0.00276,0.00973 0,-0.00832 0,-0.029599 0,-0.02127 0.00416,-0.059199 0,-0.051331 L 2.4161148,2.600475 A 4.3935464,4.3935464 0 0 0 2.0461275,4.0040946 1.3976101,1.3976101 0 0 0 2.031791,4.252909 v 0.00742 A 3.0653076,3.0653076 0 0 0 1.6539417,4.7690529 7.2174403,7.2174403 0 0 0 0.85524217,6.725337 4.7871157,4.7871157 0 0 1 1.2830334,5.9756593 6.9371784,6.9371784 0 0 0 0.79974461,8.5192901 6.582457,6.582457 0 0 1 1.0078598,7.7659142 6.3854411,6.3854411 0 0 0 1.585032,10.755373 6.9542899,6.9542899 0 0 0 4.3372422,13.87618 v 0 a 6.0196208,6.0196208 0 0 0 1.6038754,0.768639 c 0.07492,0.02728 0.1507676,0.0541 0.2284646,0.08 -0.024511,-0.0096 -0.04625,-0.02034 -0.070761,-0.03098 A 7.2609132,7.2609132 0 0 0 8.179966,15 c 2.494615,0 3.318287,-0.949928 3.394136,-1.044738 v 0 A 1.2625664,1.2625664 0 0 0 11.8687,13.559386 v 0 q 0.07216,-0.02958 0.145679,-0.06335 l 0.03097,-0.01397 0.05597,-0.02635 a 5.2315572,5.2315572 0 0 0 1.053064,-0.659489 2.5436321,2.5436321 0 0 0 0.98184,-1.433687 v 0 a 0.89628343,0.89628343 0 0 0 0.01343,-0.660421 q 0.03838,-0.0606 0.0791,-0.129501 A 5.8762526,5.8762526 0 0 0 15.1107,7.7140393 v -0.0027 c 0,-0.027291 0,-0.054583 0,-0.081863 A 3.5754215,3.5754215 0 0 0 15.05473,6.9884887 Z" + id="path3756" + inkscape:connector-curvature="0" + style="fill:#bebebe;fill-opacity:1;stroke-width:0.46247858" /> +</svg> diff --git a/www-client/firefox/files/icon/firefox.desktop b/www-client/firefox/files/icon/firefox.desktop deleted file mode 100644 index 1affce8f..00000000 --- a/www-client/firefox/files/icon/firefox.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Name=@NAME@ -Comment=Web Browser -Exec=firefox %u -Icon=@ICON@ -Terminal=false -Type=Application -MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https; -Categories=Network;WebBrowser; - diff --git a/www-client/firefox/firefox-76.0_rc2.ebuild b/www-client/firefox/firefox-76.0_rc2.ebuild deleted file mode 100644 index 7eed7cbc..00000000 --- a/www-client/firefox/firefox-76.0_rc2.ebuild +++ /dev/null @@ -1,934 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" -VIRTUALX_REQUIRED="pgo" -WANT_AUTOCONF="2.1" -MOZ_ESR="" - -PYTHON_COMPAT=( python3_{6,7,8} ) -PYTHON_REQ_USE='ncurses,sqlite,ssl,threads(+)' - -# This list can be updated with scripts/get_langs.sh from the mozilla overlay -MOZ_LANGS=(ach af an ar ast az be bg bn br bs ca cak cs cy da de dsb el en 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 nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru si sk sl son sq sr sv-SE ta te -th tr uk ur uz vi xh zh-CN zh-TW ) - -# Convert the ebuild version to the upstream mozilla version, used by mozlinguas -MOZ_PV="${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 - -if [[ ${MOZ_ESR} == 1 ]] ; then - # ESR releases have slightly different version numbers - MOZ_PV="${MOZ_PV}esr" -fi - -# Patch version -PATCH="${PN}-76.0-patches-01" - -MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/releases" -MOZ_SRC_URI="${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.xz" - -if [[ "${PV}" == *_rc* ]]; then - MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" - MOZ_LANGPACK_PREFIX="linux-i686/xpi/" - MOZ_SRC_URI="${MOZ_HTTP_URI}/source/${PN}-${MOZ_PV}.source.tar.xz -> $P.tar.xz" -fi - -LLVM_MAX_SLOT=10 - -inherit check-reqs eapi7-ver flag-o-matic toolchain-funcs eutils \ - gnome2-utils llvm mozcoreconf-v6 multiprocessing \ - pax-utils xdg-utils autotools mozlinguas-v2 virtualx \ - eapi7-ver - -DESCRIPTION="Firefox Web Browser" -HOMEPAGE="https://www.mozilla.com/firefox" - -KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" - -SLOT="0" -LICENSE="MPL-2.0 GPL-2 LGPL-2.1" -IUSE="bindist clang cpu_flags_x86_avx2 debug eme-free geckodriver - +gmp-autoupdate hardened hwaccel jack lto cpu_flags_arm_neon pgo - pulseaudio +screenshot selinux startup-notification +system-av1 - +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx - +system-webp test wayland wifi" - -REQUIRED_USE="pgo? ( lto )" - -RESTRICT="!bindist? ( bindist ) - !test? ( test )" - -PATCH_URIS=( https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${PATCH}.tar.xz ) -SRC_URI="${SRC_URI} - ${MOZ_SRC_URI} - ${PATCH_URIS[@]}" - -CDEPEND=" - >=dev-libs/nss-3.51.1 - >=dev-libs/nspr-4.25 - dev-libs/atk - dev-libs/expat - >=x11-libs/cairo-1.10[X] - >=x11-libs/gtk+-2.18:2 - >=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 - sys-apps/dbus - dev-libs/dbus-glib - startup-notification? ( >=x11-libs/startup-notification-0.8 ) - >=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 - system-av1? ( - >=media-libs/dav1d-0.3.0:= - >=media-libs/libaom-1.0.0:= - ) - system-harfbuzz? ( >=media-libs/harfbuzz-2.6.4:0= >=media-gfx/graphite2-1.3.13 ) - system-icu? ( >=dev-libs/icu-64.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? ( - net-misc/networkmanager - ) - ) - jack? ( virtual/jack ) - selinux? ( sec-policy/selinux-mozilla )" - -RDEPEND="${CDEPEND} - jack? ( virtual/jack ) - pulseaudio? ( - || ( - media-sound/pulseaudio - >=media-sound/apulse-0.1.12-r4 - ) - ) - selinux? ( sec-policy/selinux-mozilla )" - -DEPEND="${CDEPEND} - app-arch/zip - app-arch/unzip - >=dev-util/cbindgen-0.13.0 - >=net-libs/nodejs-10.19.0 - >=sys-devel/binutils-2.30 - sys-apps/findutils - || ( - ( - sys-devel/clang:10 - !clang? ( sys-devel/llvm:10 ) - clang? ( - =sys-devel/lld-10* - sys-devel/llvm:10[gold] - pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] ) - ) - ) - ( - sys-devel/clang:9 - !clang? ( sys-devel/llvm:9 ) - clang? ( - =sys-devel/lld-9* - sys-devel/llvm:9[gold] - pgo? ( =sys-libs/compiler-rt-sanitizers-9*[profile] ) - ) - ) - ( - sys-devel/clang:8 - !clang? ( sys-devel/llvm:8 ) - clang? ( - =sys-devel/lld-8* - sys-devel/llvm:8[gold] - pgo? ( =sys-libs/compiler-rt-sanitizers-8*[profile] ) - ) - ) - ( - sys-devel/clang:7 - !clang? ( sys-devel/llvm:7 ) - clang? ( - =sys-devel/lld-7* - sys-devel/llvm:7[gold] - pgo? ( =sys-libs/compiler-rt-sanitizers-7*[profile] ) - ) - ) - ) - pulseaudio? ( - || ( - media-sound/pulseaudio - >=media-sound/apulse-0.1.12-r4[sdk] - ) - ) - >=virtual/rust-1.41.0 - wayland? ( >=x11-libs/gtk+-3.11:3[wayland] ) - amd64? ( >=dev-lang/yasm-1.1 virtual/opengl ) - x86? ( >=dev-lang/yasm-1.1 virtual/opengl ) - !system-av1? ( - amd64? ( >=dev-lang/nasm-2.13 ) - x86? ( >=dev-lang/nasm-2.13 ) - )" - -S="${WORKDIR}/firefox-${PV%_*}" - -QA_PRESTRIPPED="usr/lib*/${PN}/firefox" - -BUILD_OBJ_DIR="${S}/ff" - -# allow GMP_PLUGIN_LIST to be set in an eclass or -# overridden in the enviromnent (advanced hackers only) -if [[ -z $GMP_PLUGIN_LIST ]] ; then - GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) -fi - -fix_path() { - local value_to_move=${1} - local new_path path_value - IFS=:; local -a path_values=( ${PATH} ) - for path_value in "${path_values[@]}" ; do - if [[ ${path_value} == *"${value_to_move}"* ]] ; then - new_path="${path_value}${new_path:+:}${new_path}" - else - new_path+="${new_path:+:}${path_value}" - fi - done - - echo "${new_path}" -} - -llvm_check_deps() { - if ! has_version --host-root "sys-devel/clang:${LLVM_SLOT}" ; then - ewarn "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if use clang ; then - if ! has_version --host-root "=sys-devel/lld-${LLVM_SLOT}*" ; then - ewarn "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if use pgo ; then - if ! has_version --host-root "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then - ewarn "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - fi - fi - - einfo "Will use LLVM slot ${LLVM_SLOT}!" >&2 -} - -pkg_pretend() { - if use pgo ; then - if ! has usersandbox $FEATURES ; then - die "You must enable usersandbox as X server can not run as root!" - fi - - if ! use clang ; then - # Force user decision so they don't find out firefox was build - # without pgo after spending some hours - eerror "USE=pgo when using GCC is currently known to be broken." - eerror "Either switch to USE=clang or temporarily set USE=-pgo." - die "USE=pgo without USE=clang is currently known to be broken." - fi - fi - - # Ensure we have enough disk space to compile - if use pgo || use lto || use debug || use test ; then - CHECKREQS_DISK_BUILD="8G" - else - CHECKREQS_DISK_BUILD="4G" - fi - - check-reqs_pkg_pretend -} - -pkg_setup() { - moz_pkgsetup - - # Ensure we have enough disk space to compile - if use pgo || use lto || use debug || use test ; then - CHECKREQS_DISK_BUILD="8G" - else - CHECKREQS_DISK_BUILD="4G" - fi - - check-reqs_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 \ - XDG_CACHE_HOME \ - XDG_SESSION_COOKIE \ - XAUTHORITY - - if ! use bindist ; then - einfo - elog "You are enabling official branding. You may not redistribute this build" - elog "to any users on your network or the internet. Doing so puts yourself into" - elog "a legal problem with Mozilla Foundation." - elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag." - fi - - addpredict /proc/self/oom_score_adj - - llvm_pkg_setup - - # Workaround for #627726 - if has ccache ${FEATURES} ; then - if use clang && use pgo ; then - die "Using FEATURES=ccache with USE=clang and USE=pgo is currently known to be broken (bug #718632)." - fi - - einfo "Fixing PATH for FEATURES=ccache ..." - PATH=$(fix_path 'ccache/bin') - elif has distcc ${FEATURES} ; then - einfo "Fixing PATH for FEATURES=distcc ..." - PATH=$(fix_path 'distcc/bin') - fi -} - -src_unpack() { - default - - # Unpack language packs - mozlinguas_src_unpack -} - -src_prepare() { - eapply "${WORKDIR}/firefox" - - # 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" - - # Allow user to apply any additional patches without modifing ebuild - eapply_user - - einfo "Removing pre-built binaries ..." - find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die - - # Enable gnomebreakpad - if use debug ; then - sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \ - "${S}"/build/unix/run-mozilla.sh || die "sed failed!" - fi - - # Drop -Wl,--as-needed related manipulation for ia64 as it causes ld sefgaults, bug #582432 - if use ia64 ; then - sed -i \ - -e '/^OS_LIBS += no_as_needed/d' \ - -e '/^OS_LIBS += as_needed/d' \ - "${S}"/widget/gtk/mozgtk/gtk2/moz.build \ - "${S}"/widget/gtk/mozgtk/gtk3/moz.build \ - || die "sed failed to drop --as-needed for ia64" - fi - - # Fix sandbox violations during make clean, bug 372817 - sed -e "s:\(/no-such-file\):${T}\1:g" \ - -i "${S}"/config/rules.mk \ - -i "${S}"/nsprpub/configure{.in,} \ - || die - - # Don't exit with error when some libs are missing which we have in - # system. - sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \ - -i "${S}"/browser/installer/Makefile.in || die - - # Don't error out when there's no files to be removed: - sed 's@\(xargs rm\)$@\1 -f@' \ - -i "${S}"/toolkit/mozapps/installer/packager.mk || die - - # Keep codebase the same even if not using official branding - sed '/^MOZ_DEV_EDITION=1/d' \ - -i "${S}"/browser/branding/aurora/configure.sh || die - - # rustfmt, a tool to format Rust code, is optional and not required to build Firefox. - # However, when available, an unsupported version can cause problems, bug #669548 - sed -i -e "s@check_prog('RUSTFMT', add_rustup_path('rustfmt')@check_prog('RUSTFMT', add_rustup_path('rustfmt_do_not_use')@" \ - "${S}"/build/moz.configure/rust.configure || die - - # Autotools configure is now called old-configure.in - # This works because there is still a configure.in that happens to be for the - # shell wrapper configure script - eautoreconf old-configure.in - - # Must run autoconf in js/src - cd "${S}"/js/src || die - eautoconf old-configure.in - - # Clear checksums that present a problem - sed -i 's/\("files":{\)[^}]*/\1/' "${S}"/third_party/rust/target-lexicon-0.9.0/.cargo-checksum.json || die -} - -src_configure() { - MEXTENSIONS="default" - # 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. - _google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc - - # Add information about TERM to output (build.log) to aid debugging - # blessings problems - if [[ -n "${TERM}" ]] ; then - einfo "TERM is set to: \"${TERM}\"" - else - einfo "TERM is unset." - fi - - if use clang && ! tc-is-clang ; then - # Force clang - einfo "Enforcing the use of clang due to USE=clang ..." - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - elif ! use clang && ! tc-is-gcc ; then - # Force gcc - einfo "Enforcing the use of gcc due to USE=-clang ..." - CC=${CHOST}-gcc - CXX=${CHOST}-g++ - strip-unsupported-flags - fi - - #################################### - # - # mozconfig, CFLAGS and CXXFLAGS setup - # - #################################### - - mozconfig_init - # common config components - mozconfig_annotate 'system_libs' \ - --with-system-zlib \ - --with-system-bz2 - - # Must pass release in order to properly select linker - mozconfig_annotate 'Enable by Gentoo' --enable-release - - # libclang.so is not properly detected work around issue - mozconfig_annotate '' --with-libclang-path="$(llvm-config --libdir)" - - if use pgo ; then - if ! has userpriv $FEATURES ; then - eerror "Building firefox with USE=pgo and FEATURES=-userpriv is not supported!" - fi - fi - - # Don't let user's LTO flags clash with upstream's flags - filter-flags -flto* - - if use lto ; then - local show_old_compiler_warning= - - if use clang ; then - # At this stage CC is adjusted and the following check will - # will work - if [[ $(clang-major-version) -lt 7 ]] ; then - show_old_compiler_warning=1 - fi - - # Upstream only supports lld when using clang - mozconfig_annotate "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld - else - if [[ $(gcc-major-version) -lt 8 ]] ; then - show_old_compiler_warning=1 - fi - - if ! use cpu_flags_x86_avx2 ; then - local _gcc_version_with_ipa_cdtor_fix="8.3" - local _current_gcc_version="$(gcc-major-version).$(gcc-minor-version)" - - if ver_test "${_current_gcc_version}" -lt "${_gcc_version_with_ipa_cdtor_fix}" ; then - # due to a GCC bug, GCC will produce AVX2 instructions - # even if the CPU doesn't support AVX2, https://gcc.gnu.org/ml/gcc-patches/2018-12/msg01142.html - einfo "Disable IPA cdtor due to bug in GCC and missing AVX2 support -- triggered by USE=lto" - append-ldflags -fdisable-ipa-cdtor - else - einfo "No GCC workaround required, GCC version is already patched!" - fi - else - einfo "No GCC workaround required, system supports AVX2" - fi - - # Linking only works when using ld.gold when LTO is enabled - mozconfig_annotate "forcing ld=gold due to USE=lto" --enable-linker=gold - fi - - if [[ -n "${show_old_compiler_warning}" ]] ; then - # Checking compiler's major version uses CC variable. Because we allow - # user to control used compiler via USE=clang flag, we cannot use - # initial value. So this is the earliest stage where we can do this check - # because pkg_pretend is not called in the main phase function sequence - # environment saving is not guaranteed so we don't know if we will have - # correct compiler until now. - ewarn "" - ewarn "USE=lto requires up-to-date compiler (>=gcc-8 or >=clang-7)." - ewarn "You are on your own -- expect build failures. Don't file bugs using that unsupported configuration!" - ewarn "" - sleep 5 - fi - - mozconfig_annotate '+lto' --enable-lto=thin - - if use pgo ; then - mozconfig_annotate '+pgo' MOZ_PGO=1 - fi - else - # Avoid auto-magic on linker - if use clang ; then - # This is upstream's default - mozconfig_annotate "forcing ld=lld due to USE=clang" --enable-linker=lld - elif tc-ld-is-gold ; then - mozconfig_annotate "linker is set to gold" --enable-linker=gold - else - mozconfig_annotate "linker is set to bfd" --enable-linker=bfd - fi - fi - - # It doesn't compile on alpha without this LDFLAGS - use alpha && append-ldflags "-Wl,--no-relax" - - # Add full relro support for hardened - use hardened && append-ldflags "-Wl,-z,now" - - # Modifications to better support ARM, bug 553364 - if use cpu_flags_arm_neon ; then - mozconfig_annotate '' --with-fpu=neon - - if ! tc-is-clang ; then - # thumb options aren't supported when using clang, bug 666966 - mozconfig_annotate '' --with-thumb=yes - mozconfig_annotate '' --with-thumb-interwork=no - fi - fi - - if [[ ${CHOST} == armv*h* ]] ; then - mozconfig_annotate '' --with-float-abi=hard - if ! use system-libvpx ; then - sed -i -e "s|softfp|hard|" \ - "${S}"/media/libvpx/moz.build - fi - fi - - mozconfig_use_enable !bindist official-branding - - mozconfig_use_enable debug - mozconfig_use_enable debug tests - if ! use debug ; then - mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols - else - mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols - fi - # These are enabled by default in all mozilla applications - mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${SYSROOT}${EPREFIX}"/usr - mozconfig_annotate '' --with-system-nss --with-nss-prefix="${SYSROOT}${EPREFIX}"/usr - mozconfig_annotate '' --x-includes="${SYSROOT}${EPREFIX}"/usr/include \ - --x-libraries="${SYSROOT}${EPREFIX}"/usr/$(get_libdir) - mozconfig_annotate '' --prefix="${EPREFIX}"/usr - mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir) - mozconfig_annotate '' --disable-crashreporter - mozconfig_annotate 'Gentoo default' --with-system-png - mozconfig_annotate '' --enable-system-ffi - mozconfig_annotate '' --disable-gconf - mozconfig_annotate '' --with-intl-api - mozconfig_annotate '' --enable-system-pixman - # Instead of the standard --build= and --host=, mozilla uses --host instead - # of --build, and --target intstead of --host. - # Note, mozilla also has --build but it does not do what you think it does. - # Set both --target and --host as mozilla uses python to guess values otherwise - mozconfig_annotate '' --target="${CHOST}" - mozconfig_annotate '' --host="${CBUILD:-${CHOST}}" - if use system-libevent ; then - mozconfig_annotate '' --with-system-libevent="${SYSROOT}${EPREFIX}"/usr - fi - - if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then - mozconfig_annotate '' --enable-rust-simd - fi - - # use the gtk3 toolkit (the only one supported at this point) - # TODO: Will this result in automagic dependency on x11-libs/gtk+[wayland]? - if use wayland ; then - mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3-wayland - else - mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3 - fi - - mozconfig_use_enable startup-notification - 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-libvpx - mozconfig_use_with system-webp - mozconfig_use_enable pulseaudio - # force the deprecated alsa sound code if pulseaudio is disabled - if use kernel_linux && ! use pulseaudio ; then - mozconfig_annotate '-pulseaudio' --enable-alsa - fi - - # Disable built-in ccache support to avoid sandbox violation, #665420 - # Use FEATURES=ccache instead! - mozconfig_annotate '' --without-ccache - sed -i -e 's/ccache_stats = None/return None/' \ - python/mozbuild/mozbuild/controller/building.py || \ - die "Failed to disable ccache stats call" - - mozconfig_use_enable wifi necko-wifi - - mozconfig_use_enable geckodriver - - # enable JACK, bug 600002 - mozconfig_use_enable jack - - # Enable/Disable eme support - use eme-free && mozconfig_annotate '+eme-free' --disable-eme - - # Setup api key for location services and safebrowsing, https://bugzilla.mozilla.org/show_bug.cgi?id=1531176#c34 - echo -n "${_google_api_key}" > "${S}"/google-api-key - mozconfig_annotate '' --with-google-location-service-api-keyfile="${S}/google-api-key" - mozconfig_annotate '' --with-google-safebrowsing-api-keyfile="${S}/google-api-key" - - mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}" - - # allow elfhack to work in combination with unstripped binaries - # when they would normally be larger than 2GiB. - append-ldflags "-Wl,--compress-debug-sections=zlib" - - if use clang && ! use arm64; then - # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822 - mozconfig_annotate 'elf-hack is broken when using Clang' --disable-elf-hack - fi - - echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig - echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig - - # Finalize and report settings - mozconfig_final - - mkdir -p "${S}"/third_party/rust/libloading/.deps - - # workaround for funky/broken upstream configure... - SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \ - ./mach configure || die -} - -src_compile() { - local _virtx= - if use pgo ; then - _virtx=virtx - - # Reset and cleanup environment variables used by GNOME/XDG - gnome2_environment_reset - - addpredict /root - addpredict /etc/gconf - fi - - GDK_BACKEND=x11 \ - MOZ_MAKE_FLAGS="${MAKEOPTS} -O" \ - SHELL="${SHELL:-${EPREFIX}/bin/bash}" \ - MOZ_NOSPAM=1 \ - ${_virtx} \ - ./mach build --verbose \ - || die -} - -src_install() { - cd "${BUILD_OBJ_DIR}" || die - - # Pax mark xpcshell for hardened support, only used for startupcache creation. - pax-mark m "${BUILD_OBJ_DIR}"/dist/bin/xpcshell - - # Add our default prefs for firefox - cp "${FILESDIR}"/gentoo-default-prefs.js-3 \ - "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \ - || die - - # set dictionary path, to use system hunspell - echo "pref(\"spellchecker.dictionary_path\", \"${EPREFIX}/usr/share/myspell\");" \ - >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die - - # force the graphite pref if system-harfbuzz is enabled, since the pref cant disable it - if use system-harfbuzz ; then - echo "sticky_pref(\"gfx.font_rendering.graphite.enabled\",true);" \ - >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die - fi - - # force cairo as the canvas renderer on platforms without skia support - if [[ $(tc-endian) == "big" ]] ; then - echo "sticky_pref(\"gfx.canvas.azure.backends\",\"cairo\");" \ - >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die - echo "sticky_pref(\"gfx.content.azure.backends\",\"cairo\");" \ - >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die - fi - - # Augment this with hwaccel prefs - if use hwaccel ; then - cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-1 >> \ - "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \ - || die - fi - - if ! use screenshot ; then - echo "pref(\"extensions.screenshots.disabled\", true);" >> \ - "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \ - || die - fi - - echo "pref(\"extensions.autoDisableScopes\", 3);" >> \ - "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \ - || die - - local plugin - use gmp-autoupdate || use eme-free || for plugin in "${GMP_PLUGIN_LIST[@]}" ; do - echo "pref(\"media.${plugin}.autoupdate\", false);" >> \ - "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \ - || die - done - - cd "${S}" - MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \ - DESTDIR="${D}" ./mach install || die - - if use geckodriver ; then - cp "${BUILD_OBJ_DIR}"/dist/bin/geckodriver "${ED%/}"${MOZILLA_FIVE_HOME} || die - pax-mark m "${ED%/}"${MOZILLA_FIVE_HOME}/geckodriver - - dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver - fi - - # Install language packs - MOZEXTENSION_TARGET="distribution/extensions" MOZ_INSTALL_L10N_XPIFILE="1" mozlinguas_src_install - - local size sizes icon_path icon name - if use bindist ; then - sizes="16 32 48" - icon_path="${S}/browser/branding/aurora" - # Firefox's new rapid release cycle means no more codenames - # Let's just stick with this one... - icon="aurora" - name="Aurora" - - # Override preferences to set the MOZ_DEV_EDITION defaults, since we - # don't define MOZ_DEV_EDITION to avoid profile debaucles. - # (source: browser/app/profile/firefox.js) - cat >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" <<PROFILE_EOF -pref("app.feedback.baseURL", "https://input.mozilla.org/%LOCALE%/feedback/firefoxdev/%VERSION%/"); -sticky_pref("lightweightThemes.selectedThemeID", "firefox-devedition@mozilla.org"); -sticky_pref("browser.devedition.theme.enabled", true); -sticky_pref("devtools.theme", "dark"); -PROFILE_EOF - - else - sizes="16 22 24 32 48 64 128 256" - icon_path="${S}/browser/branding/official" - icon="${PN}" - name="Mozilla Firefox" - fi - - # Disable built-in auto-update because we update firefox through package manager - insinto ${MOZILLA_FIVE_HOME}/distribution/ - newins "${FILESDIR}"/disable-auto-update.policy.json policies.json - - # Install icons and .desktop for menu entry - for size in ${sizes} ; do - insinto "/usr/share/icons/hicolor/${size}x${size}/apps" - newins "${icon_path}/default${size}.png" "${icon}.png" - done - # Install a 48x48 icon into /usr/share/pixmaps for legacy DEs - newicon "${icon_path}/default48.png" "${icon}.png" - - # Add StartupNotify=true bug 237317 - local startup_notify="false" - if use startup-notification ; then - startup_notify="true" - fi - - local display_protocols="auto X11" use_wayland="false" - if use wayland ; then - display_protocols+=" Wayland" - use_wayland="true" - fi - - local app_name desktop_filename display_protocol exec_command - for display_protocol in ${display_protocols} ; do - app_name="${name} on ${display_protocol}" - desktop_filename="${PN}-${display_protocol,,}.desktop" - - case ${display_protocol} in - Wayland) - exec_command='firefox-wayland --name firefox-wayland' - newbin "${FILESDIR}"/firefox-wayland.sh firefox-wayland - ;; - X11) - if ! use wayland ; then - # Exit loop here because there's no choice so - # we don't need wrapper/.desktop file for X11. - continue - fi - - exec_command='firefox-x11 --name firefox-x11' - newbin "${FILESDIR}"/firefox-x11.sh firefox-x11 - ;; - *) - app_name="${name}" - desktop_filename="${PN}.desktop" - exec_command='firefox' - ;; - esac - - newmenu "${FILESDIR}/icon/${PN}-r1.desktop" "${desktop_filename}" - sed -i \ - -e "s:@NAME@:${app_name}:" \ - -e "s:@EXEC@:${exec_command}:" \ - -e "s:@ICON@:${icon}:" \ - -e "s:@STARTUP_NOTIFY@:${startup_notify}:" \ - "${ED%/}/usr/share/applications/${desktop_filename}" || die - done - - rm "${ED%/}"/usr/bin/firefox || die - newbin "${FILESDIR}"/firefox.sh firefox - - local wrapper - for wrapper in \ - "${ED%/}"/usr/bin/firefox \ - "${ED%/}"/usr/bin/firefox-x11 \ - "${ED%/}"/usr/bin/firefox-wayland \ - ; do - [[ ! -f "${wrapper}" ]] && continue - - sed -i \ - -e "s:@PREFIX@:${EPREFIX%/}/usr:" \ - -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ - "${wrapper}" || die - done - - # Don't install llvm-symbolizer from sys-devel/llvm package - [[ -f "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] && \ - rm "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer" - - # firefox and firefox-bin are identical - rm "${ED%/}"${MOZILLA_FIVE_HOME}/firefox-bin || die - dosym firefox ${MOZILLA_FIVE_HOME}/firefox-bin - - # Required in order to use plugins and even run firefox on hardened. - pax-mark m "${ED%/}"${MOZILLA_FIVE_HOME}/{firefox,plugin-container} -} - -pkg_preinst() { - # if the apulse libs are available in MOZILLA_FIVE_HOME then apulse - # doesn't 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_desktop_database_update - xdg_icon_cache_update - - if ! use gmp-autoupdate && ! use eme-free ; then - elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" - elog "installing into new profiles:" - local plugin - for plugin in "${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 - - if [[ -z "${REPLACING_VERSIONS}" ]] ; then - # New install; Tell user that DoH is disabled by default - show_doh_information=yes - show_normandy_information=yes - else - local replacing_version - for replacing_version in ${REPLACING_VERSIONS} ; do - if ver_test "${replacing_version}" -lt 70 ; then - # Tell user only once about our DoH default - show_doh_information=yes - fi - - if ver_test "${replacing_version}" -lt 74.0-r2 ; then - # Tell user only once about our Normandy default - show_normandy_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 -} - -pkg_postrm() { - xdg_desktop_database_update - xdg_icon_cache_update -} diff --git a/www-client/firefox/firefox-91.4.0-r2.ebuild b/www-client/firefox/firefox-91.4.0-r2.ebuild new file mode 100644 index 00000000..65f2dd9b --- /dev/null +++ b/www-client/firefox/firefox-91.4.0-r2.ebuild @@ -0,0 +1,1235 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +FIREFOX_PATCHSET="firefox-91esr-patches-03.tar.xz" + +LLVM_MAX_SLOT=13 + +PYTHON_COMPAT=( python3_{7..10} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="pgo" + +MOZ_ESR=yes + +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/~{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/esr$(ver_cut 1)" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" + +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" +IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx +system-webp" +IUSE+=" wayland wifi" + +# Firefox-only IUSE +IUSE+=" geckodriver" +IUSE+=" +gmp-autoupdate" +IUSE+=" screencast" + +REQUIRED_USE="debug? ( !system-av1 ) + pgo? ( lto ) + wifi? ( dbus )" + +# Firefox-only REQUIRED_USE flags +REQUIRED_USE+=" screencast? ( wayland )" + +BDEPEND="${PYTHON_DEPS} + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.19.0 + >=net-libs/nodejs-10.23.1 + virtual/pkgconfig + >=virtual/rust-1.51.0 + || ( + ( + sys-devel/clang:13 + sys-devel/llvm:13 + clang? ( + =sys-devel/lld-13* + pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] ) + ) + ) + ( + sys-devel/clang:12 + sys-devel/llvm:12 + clang? ( + =sys-devel/lld-12* + pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] ) + ) + ) + ( + sys-devel/clang:11 + sys-devel/llvm:11 + clang? ( + =sys-devel/lld-11* + pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] ) + ) + ) + ) + amd64? ( >=dev-lang/nasm-2.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/mesa-10.2:* + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + >=media-libs/libpng-1.6.35:0=[apng(+)] + 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/libxcb + 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} + x11-libs/libICE + x11-libs/libSM + pulseaudio? ( + || ( + media-sound/pulseaudio + >=media-sound/apulse-0.1.12-r4[sdk] + ) + ) + wayland? ( >=x11-libs/gtk+-3.11:3[wayland] ) + amd64? ( virtual/opengl ) + x86? ( virtual/opengl )" + +S="${WORKDIR}/${PN}-${PV%_*}" + +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or +# overridden in the enviromnent (advanced hackers only) +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) +fi + +llvm_check_deps() { + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang ; then + if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then + einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use pgo ; then + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( gn ) +MOZ_LANGS+=( gu-IN ) +MOZ_LANGS+=( hi-IN ) +MOZ_LANGS+=( hy-AM ) +MOZ_LANGS+=( ia ) +MOZ_LANGS+=( km ) +MOZ_LANGS+=( kn ) +MOZ_LANGS+=( lij ) +MOZ_LANGS+=( mk ) +MOZ_LANGS+=( mr ) +MOZ_LANGS+=( my ) +MOZ_LANGS+=( ne-NP ) +MOZ_LANGS+=( oc ) +MOZ_LANGS+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json \ + || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="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 use pgo ; then + # Allow access to GPU during PGO run + local ati_cards mesa_cards nvidia_cards render_cards + shopt -s nullglob + + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g') + if [[ -n "${ati_cards}" ]] ; then + addpredict "${ati_cards}" + fi + + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g') + if [[ -n "${mesa_cards}" ]] ; then + addpredict "${mesa_cards}" + fi + + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g') + if [[ -n "${nvidia_cards}" ]] ; then + addpredict "${nvidia_cards}" + fi + + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g') + if [[ -n "${render_cards}" ]] ; then + addpredict "${render_cards}" + fi + + shopt -u nullglob + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make 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 state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + + # Set Gentoo defaults + export MOZILLA_OFFICIAL=1 + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-install-strip \ + --disable-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 + # ld.gold is known to fail: + # /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld.gold: internal error in set_xindex, at /var/tmp/portage/sys-devel/binutils-2.37_p1-r1/work/binutils-2.37/gold/object.h:1050 + + # ThinLTO is currently broken, see bmo#1644409 + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + else + # Avoid auto-magic on linker + if use clang ; then + # This is upstream's default + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + else + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + fi + + # LTO flag was handled via configure + filter-flags '-flto*' + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + else + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # Modifications to better support ARM, bug #553364 + if use cpu_flags_arm_neon ; then + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon + + if ! tc-is-clang ; then + # thumb options aren't supported when using clang, bug 666966 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \ + --with-thumb=yes \ + --with-thumb-interwork=no + fi + fi + + if [[ ${CHOST} == armv*h* ]] ; then + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard + + if ! use system-libvpx ; then + sed -i \ + -e "s|softfp|hard|" \ + "${S}"/media/libvpx/moz.build \ + || die + fi + fi + + if use clang ; then + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64') + local disable_elf_hack= + if use amd64 ; then + disable_elf_hack=yes + elif use x86 ; then + disable_elf_hack=yes + elif use arm ; then + disable_elf_hack=yes + fi + + if [[ -n ${disable_elf_hack} ]] ; then + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack + fi + elif tc-is-gcc ; then + if ver_test $(gcc-fullversion) -ge 10 ; then + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..." + append-cxxflags -fno-tree-loop-vectorize + fi + fi + + # Additional ARCH support + case "${ARCH}" in + arm) + # Reduce the memory requirements for linking + if use clang ; then + # Nothing to do + :; + elif 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 + export PIP_NO_CACHE_DIR=off + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if use pgo ; then + virtx_cmd=virtx + + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + fi + + local -x GDK_BACKEND=x11 + + ${virtx_cmd} ./mach build --verbose \ + || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from sys-devel/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install geckodriver + if use geckodriver ; then + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..." + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/geckodriver + + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/official" + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" \ + || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +pkg_preinst() { + xdg_pkg_preinst + + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse + # does not need to be forced into the LD_LIBRARY_PATH + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + einfo "APULSE found; Generating library symlinks for sound support ..." + local lib + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do + # A quickpkg rolled by hand will grab symlinks as part of the package, + # so we need to avoid creating them if they already exist. + if [[ ! -L ${lib##*/} ]] ; then + ln -s "${lib}" ${lib##*/} || die + fi + done + popd &>/dev/null || die + fi +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + elog "Apulse was detected at merge time on this system and so it will always be" + elog "used for sound. If you wish to use pulseaudio instead please unmerge" + elog "media-sound/apulse." + elog + fi + + local show_doh_information + local show_normandy_information + local show_shortcut_information + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + # New install; Tell user that DoH is disabled by default + show_doh_information=yes + show_normandy_information=yes + show_shortcut_information=no + else + local replacing_version + for replacing_version in ${REPLACING_VERSIONS} ; do + if ver_test "${replacing_version}" -lt 91.0 ; then + # Tell user that we no longer install a shortcut + # per supported display protocol + show_shortcut_information=yes + fi + done + fi + + if [[ -n "${show_doh_information}" ]] ; then + elog + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):" + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all" + elog "DNS traffic to Cloudflare by default is not a good idea and applications" + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5" + elog "(\"Off by choice\") by default." + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences." + fi + + # bug 713782 + if [[ -n "${show_normandy_information}" ]] ; then + elog + elog "Upstream operates a service named Normandy which allows Mozilla to" + elog "push changes for default settings or even install new add-ons remotely." + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or" + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security" + elog "concerns prevail, which is why we have switched off the use of this" + elog "service by default." + elog + elog "To re-enable this service set" + elog + elog " app.normandy.enabled=true" + elog + elog "in about:config." + fi + + if [[ -n "${show_shortcut_information}" ]] ; then + elog + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for" + elog "each supported display protocol. Instead we will only install" + elog "one generic Mozilla ${PN^} shortcut." + elog "If you still want to be able to select between running Mozilla ${PN^}" + elog "on X11 or Wayland, you have to re-create these shortcuts on your own." + fi +} diff --git a/www-client/firefox/firefox-95.0-r2.ebuild b/www-client/firefox/firefox-95.0-r2.ebuild new file mode 100644 index 00000000..a10ee30f --- /dev/null +++ b/www-client/firefox/firefox-95.0-r2.ebuild @@ -0,0 +1,1237 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +FIREFOX_PATCHSET="firefox-95-patches-02.tar.xz" + +LLVM_MAX_SLOT=13 + +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/~{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 hardened hwaccel" +IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx +system-webp" +IUSE+=" wayland wifi" + +# Firefox-only IUSE +IUSE+=" geckodriver" +IUSE+=" +gmp-autoupdate" +IUSE+=" screencast" + +REQUIRED_USE="debug? ( !system-av1 ) + pgo? ( lto ) + wayland? ( dbus ) + wifi? ( dbus )" + +# Firefox-only REQUIRED_USE flags +REQUIRED_USE+=" screencast? ( wayland )" + +BDEPEND="${PYTHON_DEPS} + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.19.0 + >=net-libs/nodejs-10.23.1 + virtual/pkgconfig + >=virtual/rust-1.53.0 + || ( + ( + sys-devel/clang:13 + sys-devel/llvm:13 + clang? ( + =sys-devel/lld-13* + pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] ) + ) + ) + ( + sys-devel/clang:12 + sys-devel/llvm:12 + clang? ( + =sys-devel/lld-12* + pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] ) + ) + ) + ( + sys-devel/clang:11 + sys-devel/llvm:11 + clang? ( + =sys-devel/lld-11* + pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] ) + ) + ) + ) + amd64? ( >=dev-lang/nasm-2.13 ) + x86? ( >=dev-lang/nasm-2.13 )" + +CDEPEND=" + >=dev-libs/nss-3.72 + >=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/mesa-10.2:* + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + >=media-libs/libpng-1.6.35:0=[apng(+)] + 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/libxcb + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libXrender + dbus? ( + sys-apps/dbus + dev-libs/dbus-glib + ) + screencast? ( media-video/pipewire:0/0.3 ) + system-av1? ( + >=media-libs/dav1d-0.9.3:= + >=media-libs/libaom-1.0.0:= + ) + system-harfbuzz? ( + >=media-libs/harfbuzz-2.8.1:0= + >=media-gfx/graphite2-1.3.13 + ) + system-icu? ( >=dev-libs/icu-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} + x11-libs/libICE + x11-libs/libSM + pulseaudio? ( + || ( + media-sound/pulseaudio + >=media-sound/apulse-0.1.12-r4[sdk] + ) + ) + wayland? ( >=x11-libs/gtk+-3.11:3[wayland] ) + amd64? ( virtual/opengl ) + x86? ( virtual/opengl )" + +S="${WORKDIR}/${PN}-${PV%_*}" + +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or +# overridden in the enviromnent (advanced hackers only) +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) +fi + +llvm_check_deps() { + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang ; then + if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then + einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use pgo ; then + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( gn ) +MOZ_LANGS+=( gu-IN ) +MOZ_LANGS+=( hi-IN ) +MOZ_LANGS+=( hy-AM ) +MOZ_LANGS+=( ia ) +MOZ_LANGS+=( km ) +MOZ_LANGS+=( kn ) +MOZ_LANGS+=( lij ) +MOZ_LANGS+=( mk ) +MOZ_LANGS+=( mr ) +MOZ_LANGS+=( my ) +MOZ_LANGS+=( ne-NP ) +MOZ_LANGS+=( oc ) +MOZ_LANGS+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json \ + || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="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 use pgo ; then + # Allow access to GPU during PGO run + local ati_cards mesa_cards nvidia_cards render_cards + shopt -s nullglob + + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g') + if [[ -n "${ati_cards}" ]] ; then + addpredict "${ati_cards}" + fi + + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g') + if [[ -n "${mesa_cards}" ]] ; then + addpredict "${mesa_cards}" + fi + + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g') + if [[ -n "${nvidia_cards}" ]] ; then + addpredict "${nvidia_cards}" + fi + + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g') + if [[ -n "${render_cards}" ]] ; then + addpredict "${render_cards}" + fi + + shopt -u nullglob + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make 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 state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + + # Set Gentoo defaults + export MOZILLA_OFFICIAL=1 + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-install-strip \ + --disable-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 \ + --without-wasm-sandboxed-libraries \ + --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 + # ld.gold is known to fail: + # /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld.gold: internal error in set_xindex, at /var/tmp/portage/sys-devel/binutils-2.37_p1-r1/work/binutils-2.37/gold/object.h:1050 + + # ThinLTO is currently broken, see bmo#1644409 + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + else + # Avoid auto-magic on linker + if use clang ; then + # This is upstream's default + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + else + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + fi + + # LTO flag was handled via configure + filter-flags '-flto*' + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + else + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # Modifications to better support ARM, bug #553364 + if use cpu_flags_arm_neon ; then + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon + + if ! tc-is-clang ; then + # thumb options aren't supported when using clang, bug 666966 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \ + --with-thumb=yes \ + --with-thumb-interwork=no + fi + fi + + if [[ ${CHOST} == armv*h* ]] ; then + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard + + if ! use system-libvpx ; then + sed -i \ + -e "s|softfp|hard|" \ + "${S}"/media/libvpx/moz.build \ + || die + fi + fi + + if use clang ; then + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64') + local disable_elf_hack= + if use amd64 ; then + disable_elf_hack=yes + elif use x86 ; then + disable_elf_hack=yes + elif use arm ; then + disable_elf_hack=yes + fi + + if [[ -n ${disable_elf_hack} ]] ; then + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack + fi + elif tc-is-gcc ; then + if ver_test $(gcc-fullversion) -ge 10 ; then + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..." + append-cxxflags -fno-tree-loop-vectorize + fi + fi + + # Additional ARCH support + case "${ARCH}" in + arm) + # Reduce the memory requirements for linking + if use clang ; then + # Nothing to do + :; + elif 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 + export PIP_NO_CACHE_DIR=off + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if use pgo ; then + virtx_cmd=virtx + + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + fi + + local -x GDK_BACKEND=x11 + + ${virtx_cmd} ./mach build --verbose \ + || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from sys-devel/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install geckodriver + if use geckodriver ; then + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..." + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/geckodriver + + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/official" + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" \ + || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +pkg_preinst() { + xdg_pkg_preinst + + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse + # does not need to be forced into the LD_LIBRARY_PATH + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + einfo "APULSE found; Generating library symlinks for sound support ..." + local lib + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do + # A quickpkg rolled by hand will grab symlinks as part of the package, + # so we need to avoid creating them if they already exist. + if [[ ! -L ${lib##*/} ]] ; then + ln -s "${lib}" ${lib##*/} || die + fi + done + popd &>/dev/null || die + fi +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + elog "Apulse was detected at merge time on this system and so it will always be" + elog "used for sound. If you wish to use pulseaudio instead please unmerge" + elog "media-sound/apulse." + elog + fi + + local show_doh_information + local show_normandy_information + local show_shortcut_information + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + # New install; Tell user that DoH is disabled by default + show_doh_information=yes + show_normandy_information=yes + show_shortcut_information=no + else + local replacing_version + for replacing_version in ${REPLACING_VERSIONS} ; do + if ver_test "${replacing_version}" -lt 91.0 ; then + # Tell user that we no longer install a shortcut + # per supported display protocol + show_shortcut_information=yes + fi + done + fi + + if [[ -n "${show_doh_information}" ]] ; then + elog + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):" + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all" + elog "DNS traffic to Cloudflare by default is not a good idea and applications" + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5" + elog "(\"Off by choice\") by default." + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences." + fi + + # bug 713782 + if [[ -n "${show_normandy_information}" ]] ; then + elog + elog "Upstream operates a service named Normandy which allows Mozilla to" + elog "push changes for default settings or even install new add-ons remotely." + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or" + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security" + elog "concerns prevail, which is why we have switched off the use of this" + elog "service by default." + elog + elog "To re-enable this service set" + elog + elog " app.normandy.enabled=true" + elog + elog "in about:config." + fi + + if [[ -n "${show_shortcut_information}" ]] ; then + elog + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for" + elog "each supported display protocol. Instead we will only install" + elog "one generic Mozilla ${PN^} shortcut." + elog "If you still want to be able to select between running Mozilla ${PN^}" + elog "on X11 or Wayland, you have to re-create these shortcuts on your own." + fi +} diff --git a/www-client/firefox/metadata.xml b/www-client/firefox/metadata.xml index 87e25099..32fae387 100644 --- a/www-client/firefox/metadata.xml +++ b/www-client/firefox/metadata.xml @@ -1,16 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>mozilla@gentoo.org</email> <name>Gentoo Mozilla Team</name> </maintainer> <use> - <flag name="bindist">Disable official Firefox branding (icons, name) which - are not binary-redistributable according to upstream.</flag> <flag name="clang">Use Clang compiler instead of GCC</flag> - <flag name="custom-optimization">Build with user-specified compiler optimizations - (-Os, -O0, -O1, -O2, -O3) from CFLAGS (unsupported)</flag> <flag name="eme-free">Disable EME (DRM plugin) cabability at build time</flag> <flag name="geckodriver">Enable WebDriver support</flag> <flag name="gmp-autoupdate">Allow Gecko Media Plugins (binary blobs) to be automatically @@ -18,9 +14,12 @@ <flag name="hwaccel">Force-enable hardware-accelerated rendering (Mozilla bug 594876)</flag> <flag name="lto">Enable Link Time Optimization (LTO). Requires Gold linker when using GCC or LDD linker when using Clang</flag> + <flag name="openh264">Use <pkg>media-libs/openh264</pkg> for H.264 support + instead of downloading binary blob from Mozilla at runtime</flag> <flag name="pgo">Add support for profile-guided optimization using gcc-4.5, for faster binaries. This option will double the compile time.</flag> - <flag name="screenshot">Allow to disable screenshot extension in global profile</flag> + <flag name="screencast">Enable support for remote desktop and screen cast using <pkg>media-video/pipewire</pkg></flag> + <flag name="sndio">Enable support for the <pkg>media-sound/sndio</pkg> backend</flag> <flag name="system-av1">Use the system-wide <pkg>media-libs/dav1d</pkg> and <pkg>media-libs/libaom</pkg> library instead of bundled.</flag> <flag name="system-harfbuzz">Use the system-wide <pkg>media-libs/harfbuzz</pkg> @@ -35,7 +34,5 @@ instead of bundled.</flag> <flag name="system-webp">Use the system-wide <pkg>media-libs/libwebp</pkg> instead of bundled.</flag> - - </use> </pkgmetadata> |