summaryrefslogtreecommitdiff
path: root/www-client/firefox
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-09-30 17:27:54 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-09-30 17:27:54 +0100
commitf70a1bfc721336d4fc7dfb711c2f518a6b18cf16 (patch)
treee907cb121b30e3c1df1710719c0ddf4029597a47 /www-client/firefox
parentdb063b515939ab15261136b24e4bc44386335c0c (diff)
gentoo resync : 30.09.2020
Diffstat (limited to 'www-client/firefox')
-rw-r--r--www-client/firefox/Manifest200
-rw-r--r--www-client/firefox/files/gentoo-default-prefs.js13
-rw-r--r--www-client/firefox/files/gentoo-hwaccel-prefs.js-11
-rw-r--r--www-client/firefox/files/icon/firefox-symbolic.svg64
-rw-r--r--www-client/firefox/firefox-78.3.0.ebuild1035
-rw-r--r--www-client/firefox/firefox-81.0.ebuild1035
6 files changed, 2347 insertions, 1 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 4d46414a6701..981be1f62bfd 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -2,10 +2,12 @@ AUX disable-auto-update.policy.json 53 BLAKE2B f8df63721191d84d8f1ceec263f63c44f
AUX firefox-wayland.sh 110 BLAKE2B 60875713743e7a65b0c5a7649b8a016dc5005b723640378c4b60ec29f017d7a227cdcddf3b77faa2cae33683b1b8dbf0688968071d9936def4bda4f66ca0aef1 SHA512 58d6b3fb5e9af26ce9c55d0da304eec65a5380ddd58e16dd28cc80ec035a9d1b88bd3815cb74a6999125d1540e77a42182c15e142803b326ddc9c3626e8cb484
AUX firefox-x11.sh 104 BLAKE2B 8d374235286fac0cfd113f851b0f48e9b23685f6890c6a959e4a071c6c2a58fd274aa7a88c750496420ce6918c06825d2c03cb159638db6567e3d773f3168cf7 SHA512 59cae56b34507f463c4480a7335ea25070beb450e3c93d3adcb782e070cb558544f05c7a784419d48f33cbdca7ed7b2c740c361da8ea081d0323677ffcef79ef
AUX firefox.sh 3103 BLAKE2B 43066a1aa148d2162f7c6ac422dd6983d7c4504ff09271da2ccd22adab9f834b5343e7970271ca995e2a85c17455988cac0d6235cfab40eff033ac29d33efb08 SHA512 7d443dc42bae690d22437be1cd025d8b21c7d31debdde1995495e6cab8ceb94ab0bcd63513ed5f68fefd2e1991db414c7134bb621f3079772e60e4ac9876903c
+AUX gentoo-default-prefs.js 674 BLAKE2B 02f84c3be7b50eefbb1c29b8f6876519674b239dcb0dead5e5c15999f1a52221e4caefff16f00ff85ff59dda177445bc7c3cfedc8b52377601604de9f7c83a3c SHA512 4fb488c0ebdfff251b3f3d53e912bfe88c404c133e2cfd9599d48809e0ffa855b9c9b700a6c98a5e6e6072f9b92f676e2ddb8cbbe883f1b731e167d76012bd8f
AUX gentoo-default-prefs.js-3 978 BLAKE2B 54af7c32832dccc407b09402e0f549e717e60d26f61bd0cb1bb4f5afb8ccd752f501fc194639bb81f88c732d813460fae19586e33b4dfcbc32262a58f0fde71a SHA512 ae96b9cdb8bbe3d47d8fab0386d1d1c3e8286b227cbd3590b3deb15f319d3779b052526866174231c730a4bf9eca82d10bc7e5d5bc626695b1271c5498906c27
-AUX gentoo-hwaccel-prefs.js-1 100 BLAKE2B 08be790b58524077a5681cc06e10890b72dc6e8155c9e03e6ef9165035087d4b8cbcac4a6b8997f61db3721895c9247a12171eec7d082fa15e1d5312bf51fbee SHA512 cf5385c793056e66b8853fd641dce2e7804d6878675afd24485487f2201801e1bdd5d27c15cb0d483eb34bfb75e7a21c01f1bbf701cb1c2dfa48f8f6422ed42c
+AUX gentoo-hwaccel-prefs.js-1 162 BLAKE2B c5f2dfb727081e2d538c262f12c0cfdda31cbda58c77f4024d820e1d1915203d1fb8ad2671f88ff0eb2b019bbf44079a8b1114e240b74f815680e5c28eccc295 SHA512 f1847f11e7059a83f09c3c7494aadcb04512cdf2ccf6616ebe3ec02fc46de66fd35cf83d81e08013c0e594b73e4dffcb67a32288b6949ce137669715583fd0a4
AUX icon/firefox-r1.desktop 7966 BLAKE2B 35b6b569024efe703dbcb0a6840fd85127db110f5c81c87dc910f61c262603967d1906c66fa1c926cf122551f61a59cded1d084d31e81291568765959e4c77ba SHA512 179bdaecc965ead95f32897d43efe530a358c8886d427fea37dab733871690955198aa6b55209e5167d11cc5cf1a76969bcdf1ea05571eb2b6dd7e72be44052c
AUX icon/firefox-r2.desktop 8137 BLAKE2B 5d0ce737c0e0969cb1a61de7989f5ca1ca0dff413d6d98bb0c93e0fed510b4e075a88fc117d3713e5e11ee7471ceaeffa9bc9dfd4282f3ddb1ea837d823e4887 SHA512 749a50b11d89c1329a52d13745ff8d5f801e565038cb5341319b4b515f36baf1c0c740003d6d01188c27e31d7ddeff58310e7b2420681292d0f2522bc5bd34b6
+AUX icon/firefox-symbolic.svg 7432 BLAKE2B 33a552ffb9850f6b9cd3cb8d9f7f80268ac08f00a0bd5eb15d892c6fbb950f8cacf6058b9c838f5be1ae1b53541f143a1ec0c1302ae85b49100b166fcbccdce6 SHA512 ba7db9a7c95a051bcd84e4c09c802fc55ee3c0d1d06ec1b169b04e414259b75bbe92fe584aee41a1e3f71e71c160df8bedf5393449e5024110ed27dbc0579ea8
AUX icon/firefox.desktop 277 BLAKE2B 944a7b4706ba5f6b93a1369416adc31203dfaf0d12291a035ce05830f2c79bd14d1f7d5324c16d3e5be21fdda2a9237223901030a974f3ff778b1def7f8bb3e3 SHA512 99b57d36601bba420bb2e6647e0fa4baa1c31f15bf7c602ac43a347d7fe78f4350b3fb10af3a709a5aac02a4c4f283dcfacd780bacb43e7e8ed46b83b97d6f4d
DIST firefox-68.0-patches-15.tar.xz 16060 BLAKE2B f9e6cd58ea51bed1af90a9d30fd551dc7e939afcd1b4d00de1271bd4bda94021c6f1799fd9945962c14ffa1fd0b6a6429369c4e45efc2000f179b9b2e46971e7 SHA512 9cb2479637dd8b84e0ab68dc0fe144acd2dc74feca282fd3c4b485ca6f0de8190244587622713a5421b243ccda153f738e9a8f463e87e15e93e9b725d943e128
DIST firefox-68.12.0esr-ach.xpi 471594 BLAKE2B 067ac8a1dc7773d198f7421ae43aa1dcf7ba3f83a9b4e9351813e0997171dfd3f24247c909993856ea0ee9738e259a54bf031b5dbeffe24e6181eb74041137fa SHA512 f070eb67eef8a441f285c8f91b41adde9d5a720852a24cc95137242602708d70371ad4abf20897232c73ff5b6f2556a00ae83ab5dd59d2674e291be3bab007b6
@@ -100,6 +102,102 @@ DIST firefox-68.12.0esr-xh.xpi 470243 BLAKE2B 1c1e8a6ce19687687827bc8e8ac3cf5230
DIST firefox-68.12.0esr-zh-CN.xpi 536443 BLAKE2B 2f0c8f0a541065d63e55673729b110495bfef7d07a71057b1c83cc3663888519ded6af1155ae47305a8468551354a4def2377903e3883e39060080b6b15d0a23 SHA512 30eca263f2e7aa516845305df42cea51646f8b9b7e011a9833df1e8b0e0266f24d20522fd2d070c07aa4ad10fad9509b13135ee747b56903b3e00cc9207b816c
DIST firefox-68.12.0esr-zh-TW.xpi 535854 BLAKE2B eade9f743136204f614a207c7ac4e07124f6f4a81de83b80da5659c42b19b0d794165147268bff847f64b185e370d91a1efe2dc694feb2643515a360eb5d71a7 SHA512 c81b18754fcd4e2bf6be72756bd730291732db41eb1c2320f22380fc4f87b505c162a02e8400833266ce59c43e60fa5d2e37f12f66ad7922acb509a42a9c0565
DIST firefox-68.12.0esr.source.tar.xz 313856956 BLAKE2B eeaa4acc9fabf15ec1b313170a30cee8e1fc10a8b08512b915b83b7d6a81c09b365733ed94638bd434864fd7b0cb8cbf1bc2e43441be69e31117e8e6a099234c SHA512 839b02422e4c87bdb12e0995cd35ca8c1996f3fba00bbb46b419e46b67df5ec48a264cb14632db777ce29166ee4fdcb06e2ee3ce847e64328c58c9a2f9129f4c
+DIST firefox-78.3.0esr-ach.xpi 500682 BLAKE2B cf2428cc06010aa818d541e0c50bd6ebea45e36238b1652e3443ee7036a152fbd6268274177b7b2c8ed0345ea9d9907f639ae454c13ef4d85d359b0968fc2519 SHA512 6d02af8987e18f0827d68d25bc1f916ed4fd163fb33f5c173edafd59038e036129199034839db771570e66aeccc1135ac5effbb7b01455f299cbbef91abaa0b3
+DIST firefox-78.3.0esr-af.xpi 444088 BLAKE2B c494ac63cecb8e4bcd9d41b227f5a2ef8e11012bb2d6b27c98c04a2f65d65303a2d0978dd31cb8d19bfca4e3a782906b11c33c5e74f8723c7f206228a81a6efd SHA512 8d082592d8c57c04b7dd022a1a972a59db8ef842279ca3d9973d350c053db35c11c9ac9eb959e087fdf43ead20f65b043513d975828a2f93bdc0faed382ccd6a
+DIST firefox-78.3.0esr-an.xpi 511470 BLAKE2B 3ad2f995299f96bce1d793cb846a99c025333b0c84e3e20dce6b2cd89804120eda44c976a57edee5d7c08362f2fe136dc579e579d9aedd65b6654360bef1b569 SHA512 4407016fa13849bcf83acc654e805719df4eb731ccdc7c7516e3dea492597f64e08d3fafe72708cc3ed921966af9f1b7eca82a0810a56fc57c573def196f2e20
+DIST firefox-78.3.0esr-ar.xpi 588708 BLAKE2B ac3dd8f0d23b0e940b2518ba89a031f082f41b8e8939ce143fcf9ef1e62acbd787fd786dd9d170b83b515075e0d333d54007a4f35ac5edd26eac522ce2b7450e SHA512 a550f82d4cb8d4bfa459b7b11a5f291d735bf20aa1403934b322dbeeffb69a4b645ffdf7fd1cfa7bf1e041b4f4fc1a9713f78d8e194699318daddd4104428497
+DIST firefox-78.3.0esr-ast.xpi 500545 BLAKE2B fad5d4dfba3a1785496788cfad57a775e0b48aed6632412019c5ad4b15fdcaf95e31411e65c911bea5da2d630f695f256bada4c601b3c114353efc926c487fb1 SHA512 06ee764ffd72eb4742d71face7a13984281ae9bb7fa4d1fdfa76e8e8309952261308a6f8881b716544385b6779cd03c2644beb50fc912511ab11c3f2dc910c94
+DIST firefox-78.3.0esr-az.xpi 537588 BLAKE2B 34597b9eb308816f5a12fd00307685fe160ca84e466528e719578adf6dae87b695c0539083ba09dafb3cd9a05d392a3b094a1e8a722beabf4ead6638e94b0b62 SHA512 91c3e0b14eacda998ac2d96f51304459e57ae3c06bb80178c67385094a930df9a29cfcdf2f36e3dbbbe9cb622d8976a3d717bcf63a4cf8369c9aa00626f4316b
+DIST firefox-78.3.0esr-be.xpi 647672 BLAKE2B 4c602a3403ada1d10351668cded869393f555a8292a947afbde0dec16f8a24743a8c67fd703dab92bafcb99ae3bb66f90c0bd5af1555e4474ca680fa486f3c5b SHA512 ea3ec989f942c8631f53d83a84e7f4b055553ab83503b879af5fc6050626c1a56d34fc2f9f1260213b6d7ffc6baa1fa9d42ada7f23edcdb06a4161f0887fedf9
+DIST firefox-78.3.0esr-bg.xpi 608529 BLAKE2B fed0302aef1330f37a92f14ddda35484945913800b02598ab60414b71a582aa754d9726f362a8d3c365082d62101cb553b4368e30415be816a4b0aaa4cedb499 SHA512 a1cf066661ae467dff419c58534a393b4e71b17e4f21419204cc4bf04fb0da951cd22ed133abecfcb25135ff9fdd56dd3d9c75a5b4a21321fa474d564c6e5315
+DIST firefox-78.3.0esr-bn.xpi 634043 BLAKE2B d2acf1e93bfdf6fae63b72c16195a252389eb2e61c1e940e7cb1ec2d6e854efb0168b4995fd701cab55cf90ffe1cb3bdbf8bb21b023a4434423b39e8aca6eb11 SHA512 e4fc1043f2ebc2f2890f4074ea350fdc3ae6366a922edc732c199998e73a4789e613129c52217a87003babc457bfafec1da660bac8349a9e80e76a1b2e42fc43
+DIST firefox-78.3.0esr-br.xpi 551259 BLAKE2B 333ad7581f4a020b61bc7424efcf5e267ffec2f0322678d7d1f7ec19f68b5ad21cf529381cdcd159300c98d4f215f232ce9026fbf1d4a283f9dbf87b2a46089e SHA512 decbcf6c78d73ced1e71d0dd5708ea6eb5553650826f66711fdbdb0ad88f7f64d00172aa3cf8653cbe748bdfe72a3d1176abff27ceed08289ba4e3881fb7c427
+DIST firefox-78.3.0esr-bs.xpi 506398 BLAKE2B 11b4b9f0780d26d5ed023d128ab79607f8e182519970cd4f308a21d79032b7e4d1c4b8148fc428e624d3f5172e565e27223370f7f5c46e2c20367d5cb18e8b78 SHA512 8fd41cc107473a83e8c90638406b0976f7242f9614b273d20a5030986f8e1fe3bbcf84a41a3657d46364e25172a5d4f2043117c683ef20841b02af50009032c4
+DIST firefox-78.3.0esr-ca-valencia.xpi 558395 BLAKE2B 7f794034c495355445e5c51d29d4af85ec6093380965414ed03e1430431462cd965f69a9699f47449e31ef87f5dc8bf2b16e1b8277d409fe40446c2b6e9e9652 SHA512 9369d644b8a65033c6c35b4da5e3c994e6386743810d1c76c5ab16da684f53a9c238bfb684b74ca0f9c73af4b6832980262f2bbae9bc19e945f355461e27a469
+DIST firefox-78.3.0esr-ca.xpi 552885 BLAKE2B ac9d0bdfbcd00d84ef4b1075fce0ccaa4399c1ffdf41765b25c7c3ac1583564fcdc47329943cdb7d058df2aada649ad8cf5f20c332de6126912f10af54a0c01b SHA512 dbb376de94bfa77af6e3f826a2b31c5e4fa212caf403d7d7fd17fcd899360b7f4e65de0002855e0c62a7bc7fa1e94f0f05272d9069e0337ef875f99ce1763c09
+DIST firefox-78.3.0esr-cak.xpi 584944 BLAKE2B 946b55cf0b0cb25649c41fdc214b87d1982c16296c4ac4ac0ebee61512aecee07430126d964de3dc6c71301af617293fc230fe5c2d0e7a68f893e9a8605dab66 SHA512 e83ff70e45966f1ab42cbf1a6af50372e9beb7ae22c7dad7ee2da6b8542bdece2e1165031588995f3bd32511c8af7ccf0117a70047e96d715028fdca7b190181
+DIST firefox-78.3.0esr-cs.xpi 585532 BLAKE2B 830dd4f7e0d0e7b51cf0d4c2fdf8be8356831f23380b8ba532f862076058efe933b4cd0423f5717da04ac32d09761297b25f85503acf0825e374a5574292735d SHA512 de7fe657cfa1b6ecef487bfa8081003315854a767f749b8e940128ffcf29ad1a249769bcbab86e286de4e1ce5910d82594e96d7bb87e1f8ecbcea172fabd6b3c
+DIST firefox-78.3.0esr-cy.xpi 563223 BLAKE2B 301f7ae058ed8c5bfd88efdbbf528e9ce863498c6b8d476f1d138583fbee4edde6b2a7fd12091e54dd07a5e661440ea573bbbd3998b43f7a32ebaccb20c3a8be SHA512 a8a14b7b11041b6155c26aa6f133542a5d515aaf3e43aeb55d8c80aa3083300e8865148cb5fe6c6e8477d909d7d5c440f04c409efe42565c50909279241af506
+DIST firefox-78.3.0esr-da.xpi 552316 BLAKE2B cb3021d1772836eab2d1aed539abd360662073c8ef63d62bc88a0726fbe063a56a0068695d962f8e377d28e56b0c31208db8edcd8a2a31848e7a25230bf51a12 SHA512 6c4d6d2a276bff85d6817240d964815c81d2c238682eb001afd770f64bc349d06b76e70c31f7e414cdfdc296c6ab75a62ee08315c7ef3abf5a072a16d3cd6c15
+DIST firefox-78.3.0esr-de.xpi 576946 BLAKE2B 5b43bcc1ffe80921231b0bba46631e3d8b637cbc79960e795901f407d897f2c62122ecaff7c4174f3a2325a6121be35ad2d9c19d3dfcfb787a3a1220c17f7b6c SHA512 2def0eae41265af867a088116bddd6bf795d778ceb12f7c99f35f26ca7167f8bc3c307b2a86597b5d71139cb71a6be342c01362c0901d5965a7d1b6c301470ae
+DIST firefox-78.3.0esr-dsb.xpi 589035 BLAKE2B 5a1ade20a3f8e880be54df7933d16566340f45b7fe78f4d4c43e8a683470532137a5a4e6c06c48bb800f8bbb1462c9d41a5c6ddea3a3ee3cddf21ed2010cda88 SHA512 df8b00d9f129badc06ffb0bcdf04cfa4387ac6b52b420b376123b0cc275d6dcb1644c0385a61759edf619f51156ab23c0c4fcce1a117517083f0bcab59e11283
+DIST firefox-78.3.0esr-el.xpi 665906 BLAKE2B 6aae483aa66b1f993f62a005d9c12ace14813b385d1e7b7a8740bc7f1bb0538c98840ae5c78971009e74a3908aef9177dc4735b2c88000fc0eab614ee50f6dec SHA512 1ca05989d02364b4bf8e4096cc8fe72e91c300a07bcc749afb53ea20d9fdec2adc7b5217b1d5cb8b79043ce22bec278f3af0af194cd323064bf6a57061a9eb3a
+DIST firefox-78.3.0esr-en-CA.xpi 531413 BLAKE2B 922e56e1c1fe8bb952368ed65fd16c3dbaebaaa503039aafe01535115b2912e4c4513a44b2bc3f03750c9aa39fb9740803bc1b17d5f305e9ee500ea2d5541e07 SHA512 0ff27080c531d296650cdfc984114518b83f0cf432ea085f7d6710f2c5324e92109ce3a242f847e8920d08306feb25cc3335f20efe966aa1316a4193d4fc5455
+DIST firefox-78.3.0esr-en-GB.xpi 531197 BLAKE2B 824b7bc95c58653d6d6ad1a5731a31443fce7e79e612da10c62c5e46a7da3133522507503a7aad63763fdfea74dcf824f8e72c17bd02c61b4757dc8ecec8fe7d SHA512 b0dac81bc663b8617d2378479727715008ed36b0294ee799add47aa8a74f1e1cb77c579140d8baef281c04f9339fcbf7f95cdd5d770230afb0fd2bbfc1179189
+DIST firefox-78.3.0esr-eo.xpi 558618 BLAKE2B fc0b7bb7ab3809628a0e039f69b23c68bd9ecf34285fd60d4990146379f10bb9f5c9f835646013fdeb600ebc6109f6ee0cc004755134239bbcb1838a2ca1549a SHA512 c5ebea956aea830e8fa7c0a454db89f1f2d6c8bb16eaefdbd703ee3bf3a4a1f6d1ce88444d7d93cb5a31162203c145da4dc137f147d6c422c7fd6b9d335998bf
+DIST firefox-78.3.0esr-es-AR.xpi 568401 BLAKE2B d0eec27d4a63eaed4c4be15b8328333de6deb0214e88213fff0666c91c91c45a1edec8ead65d61d3b2751b765b3512c6e5169c22295e82988ff4716c3b9b6355 SHA512 0c2300762caa233c17ed92411f11e5013ea1a6e40c26f341ce774a8e843aaa82810acc57ee20accd610f6348dfb32041a4bcf8b4e72ae44edc47ef50f4916645
+DIST firefox-78.3.0esr-es-CL.xpi 567586 BLAKE2B 050065738c3240fb6c139cf838ea3f060a419c52b5d67a4b7fc71f2d5d6fd98796b80941e6a8ba77908ee0fb8a6284ce34ae650b131f677e4dfd2cb43ac462f8 SHA512 97ca52f2e0cd83edc896ed386582f00537a29e51711d0c570b4700bc381aeaf427ec03369e41afbecb0f7ebf2db1f029966d44e04eb071814d9f9ba426236677
+DIST firefox-78.3.0esr-es-ES.xpi 551519 BLAKE2B a4a6b7d29ac3648db9d5d597334fd64f978c0bb418391ff6b1e1f83b56dde48d9b40567c7cd255b108cc1bab2b60cf28e81224f441ebb8ad4f871cd467fb2131 SHA512 cea38eb451863188ebf7b4c404b7a8389095ef604c73797820282cdbdc3dbed13281a544cd041dff1fe6aaf61cb7fffd406d9e7c134e3e5fc3deeb50a3473c68
+DIST firefox-78.3.0esr-es-MX.xpi 569785 BLAKE2B adcc399f73e6394ff98ad0d6544e34abe7f3773c60b55ea4087b0c6b2f5aeef81ec49b86a3f7c6a1c56820871af6805ff18b7cc692dc90d8ec9700800fb1424f SHA512 fe3c472ebf68c380810e6639558a7d51370694b016c3a60afeb65114c372e3fc8a7643e78b842e6c4276bbd9146742d9cd2920e4831207d296688167eb1fe868
+DIST firefox-78.3.0esr-et.xpi 535627 BLAKE2B 061beb3800fc32a92929cfb8bdcb32a087d3bd020cec909d05f6dabd659a5816704799563bc004324980531cdd94d777d4d180df47e069956135f8202fc3b1b1 SHA512 c1fdbb27afb0b5ee726441a4c123b29ece59988a01913789dadb859b2534507170f3cc3bde5a58c0f2859c13f724036841a7cb4e45371f29dc27f5a1ba7c20a1
+DIST firefox-78.3.0esr-eu.xpi 556811 BLAKE2B 3e973af9a7a3279b9af4fca3be9a80afdb0c7dce4a8ab614ecab5c5e0d6c60c11e4b99a88aeeb5885d05aac32ec8e659c974b45adfe59146324eadcb222dff6d SHA512 e4514c895ac2a4fb29e6978ec01de299388a67a512601896d4c33e780c6c9aecf1be0a4299467aaef02885dcb2b9b94a2be98005895fd2d29637b64cbef38e47
+DIST firefox-78.3.0esr-fa.xpi 593491 BLAKE2B 67224468f35394c6f1d5a91299b4c5da0b4e1d7d93a454cf9700a243b9f117050715f0110378eb71e7afa5eea31f74ff1209fa46769fd97360dfbafda88ff7b7 SHA512 3d997cffbfa58b726534a41af14762e5cc954982caad8e7ebd06596faccab4d2ab4ef5fa7bd2508f18fdf0030ab2eeb0d6dab9ae5f17862b88a69059635f23a0
+DIST firefox-78.3.0esr-ff.xpi 531569 BLAKE2B 357485219a341d57851a3b7b7aebb1397dd87431abc0a4947d12aa7b23447fe385fb9f07ed01a83505aac3ff4438497e029922686411b2a2fa2d3700621f2bef SHA512 c0308bfd9e46ebb11d96c435f08d09b5e9c9511ecaa1a7a53de35fd3a104f1cc814afa834f6160007b50e85da4df0129e039e28096ebd15b98971a06cbfd8c44
+DIST firefox-78.3.0esr-fi.xpi 554044 BLAKE2B c3837467858a821cf5791455b3fcc1acba70106630e2dc6b189f35cb8e41ff6d72df9b7d720ebc968a04a32ac07b5ea895d1a99f5db3fa90ce6b1aa1f01ced5f SHA512 b6f190c236cc1c16c08a92ecfb40acc1fbc370f1ca24db0ead15af067493129aa7f05ff5c0137641597bdd799a11e518b2cb26427b1bf09b6d6be70f5974afae
+DIST firefox-78.3.0esr-fr.xpi 580679 BLAKE2B 75bfa88984bb50b7fac546cdf1f2791e517c64cff54df9ac0174e09bb8a56348188e4fd9d011dc0d7a0d4912b854b40c3e980a779b2c0a01b123fc8ca1f673e2 SHA512 fd7686e40acb90b673f6c24fb26725bb7ee957fb87cb50f2b2bc2b25d33e1826481daa6550a5ce1e3fbf63317449f565d1f7074097cb2eafc09d2e5dd821c46d
+DIST firefox-78.3.0esr-fy-NL.xpi 565468 BLAKE2B b03519643b344b613ea2103906864a8597c7c7ce31fd9b13a22351d3fafa5cb95e9f738feb95dfcfac422657856e4e074c54cf2beb531f4adca5e0a0eef46e42 SHA512 eb53dc1dc6a2d0cbb0848c2d8b2529a00f2885b4f9e83fbd8843fba22ce04f79417663ed710572b9aba325baf3baaa22d33a7d4af466a57566576e65ddeb7c9e
+DIST firefox-78.3.0esr-ga-IE.xpi 514583 BLAKE2B e3da9447050aa1a7df690ce66a7aee2fd7ceb8251d9fce19917462e22b8351ce6008fa7b1a5c7299931acc8e6532ec665fdce07d71326c4e242dbaf81e8afaeb SHA512 f4a7d8a34039203f767b04ae53276aa1ff7fee141773efcd64e0d8238c2526395b3a417538bd486dfa923237111fc7d3faf340ea2f96555300f634d261f74ce7
+DIST firefox-78.3.0esr-gd.xpi 544413 BLAKE2B 6b1481db2b2ec9d50059e5033abdf237cd6a987d6878220601ac508024a4d0c6fcb56b9eec9f6e183aead26deb77c572af1ab091033cc5fdede9b995f500b203 SHA512 e6c43c09d2fcbdf19ca9bf269cdcecba31027ddfb6bf772b01754c0f293b07abd435de16caee750b1f159f4c21299ca78579e52f8f11ab8e32ca0b34fa281a5e
+DIST firefox-78.3.0esr-gl.xpi 508270 BLAKE2B b0aace1a12114a1ffb9bacd1ad74132e940d459303b5c1a42bc49339332cf0596937210ce4f610796a2a259040667e70b1b5a1b0e32c44976a661754c98dd8f0 SHA512 f5ccf8b24809451527889497fed3204d6c0407aee9ef431e528a8c394c8e88c697f322082460b3a40b46e54078b2d3fae3340ef2d504cb80ab506fe8547a4604
+DIST firefox-78.3.0esr-gn.xpi 582148 BLAKE2B afa9fa67dedd100218ea3372b00e8a93b4927133e318d3aa8a7c724934db07268551601ff695aca4aff4fb9fd1f8a2f0088d8bd96a9b3f170a171db78b5d0317 SHA512 28c6962fa96d539c600df43a856a50615dacd6d6180d15ab8e477026507fed51ee9d3dd4562a32dfe3e95e6e7fa6e7993e9a48e99dc43364e6af7a46f8501916
+DIST firefox-78.3.0esr-gu-IN.xpi 602924 BLAKE2B 61db1d6baf98caa6ff19d698facff4c41b01b380586b7d1c1fc2fb70931f05f282ca672b1f7fad9c8ad5f1c301593925bdc8381ce3ff2a340f62e6604afffd71 SHA512 2bb5595619ba5c7b6ec771ccfe6a1243ad2b9da6e1ca4ccd7211e65455662e91a784066c61ddd1e9a004e98e4dbb15db6a7bb563553057c54a231d13442e46e5
+DIST firefox-78.3.0esr-he.xpi 582419 BLAKE2B 902914c72d4973c82215af0ffa1830ee547dbe2902116d9568e030533ef327df16d3c32efbccf4a8140505b58f5c05dec272b2ac2d3d35dd9c4ed4cd9220fc28 SHA512 12e79d9a47dbdf9bd1d83a3d40045da8a0c2da15305c6e5f47c45ab5714799a2f0e1b8a85afca1523c501d7ba3b80088d056668c483f069031c0023131240c8a
+DIST firefox-78.3.0esr-hi-IN.xpi 622432 BLAKE2B 18f964712018aae867515f7440afdc6b95de5386e12b9337e9ce466027edfca659219c25d81000bc3542f66b985194be7b0f7f057d2add68faccc55419ea7cfd SHA512 cf3ed13276103cb0bc5fa2a627bc20a9639887b4459fa11d7754bd13a4d5f6022fc75c6244223e70831f668130c6e6e2ef7439a9fe4939c4382c6acc6a6be73e
+DIST firefox-78.3.0esr-hr.xpi 560788 BLAKE2B 772b000aecbf349eafcc47e97fb78f6e33ec31a29db52743a2d352636a375b8b064397f9e013fd61df141031f40cb082908248928bf76aa9c72735568e965233 SHA512 cd07c808c7e5a94344b7d61fad47017be6c01d41e4656f54cd21e76883f4cf7af3064f401351f4d056b7ec0408d3b3f52a590a87f4926ef38395f40977e6a888
+DIST firefox-78.3.0esr-hsb.xpi 585295 BLAKE2B 73447a1447da959297deba3980b51f0ea211bb3728f1fd2f1016c85359353526463a026d48ce249cd845bf6ace6f78d435c3b3877043518b5514812511ae15a0 SHA512 4420d54e08e9f326fece0fb6fb315e00810bd930100b545b91369168239714ca2f2b317dfea7ef550ed7f06e36cbd87e6a1b4489622fbd772320f1896d70982f
+DIST firefox-78.3.0esr-hu.xpi 588740 BLAKE2B a58c3329bf4cffe2155f1e1a42d1c75acf0b97c672b734b0f7f89b0262a0833fdcae36d507be08a1077f0bc0f16c5306c3bcaeb1386d366608435b988f9ad96b SHA512 5de6c62c1350e7dba7d37b42498ce74f1ee54d5b0c6a01c0498fed9475174d0b48a9c73808b14ecb65eacfa7c791bfc7097bd56ff54d56fd7fb83717b438ba81
+DIST firefox-78.3.0esr-hy-AM.xpi 649321 BLAKE2B 5e2e3b4c98b0054368e0da107b3cb5af03c6948afd6000d1ae319faadfb7c0b8a787516accbe601ce3f88f62db2386ba47f65edba20bf8446c47ae18ae117fa9 SHA512 2b09ae8159db3f188a33d362ab3d61c9697675346a5d6df9ff872a1a8da614457f47645b7b6a4b5cf0576eab2639a9eec0afe9c4a6037bc528dd86fba212c39d
+DIST firefox-78.3.0esr-ia.xpi 554114 BLAKE2B 974e63a047432aae4561849710d718f9dc7728b29da6318d447eef4396dd784f5af5b0b1f02a191508a43e19b84bb3b9ea9329e747bc303e7ef5d8c439bec572 SHA512 5e4442cdbcadff0eb4c8c054f641959d11436b3e872417b70235b66123263a0ca474ce9fc652fba9cd2bf145ccbb01a23c28ea87763c6cf9c0c2fd01777c0572
+DIST firefox-78.3.0esr-id.xpi 551948 BLAKE2B dc745e26fce4a1db839be26448a97a8d206ab566c734047c7a485b065aa509620da876d9c5f829972bf0d4c84ddadaf3511228a854556e5b10e960e8f7447ebc SHA512 bc8a5cdfa3d8d2134715fabc0f3cdece57702a0ca67afe5d882d1fe9fd2e5ecf69cbca637c6159e1871c2c900a90296a1bd06eb99cb439ceb7fe7f8888d7f421
+DIST firefox-78.3.0esr-is.xpi 527495 BLAKE2B e5d7e1a94a26a5dbbf794d1ddc9830cc6066ab1b99d297ff65da0e6075b143d920f45abde072d525b90aa304c965f5f5bdfd48f0d6f0d300f993708a1f2bdd05 SHA512 0bfea6f0cbb188b26048216ed5ffd05b3e2085f7da5f5fae4916d762ae79508900181bd116b7a41a4b89c40f7f98ba9db03efbe57c375d778e500278d96489d4
+DIST firefox-78.3.0esr-it.xpi 455011 BLAKE2B bb9b80c8afd66d77e090de1ea171e958a7c5fc290747abd7bbd650524f31b98d3107bb3a3b98ba67edafdc66ec8f19fec37b7e1b6dd622e678781b62771e1fad SHA512 8d5c696a189df64e5616a71622973f7be1cb4b49480cb5ed5935fb7f84865a3f29483bc50ce68b91f2c6218780080f5cc7ebe39b7a635ab4264b52958200376c
+DIST firefox-78.3.0esr-ja.xpi 615907 BLAKE2B 9e4c2adb807696bb1acda5b10c732be78f0e0b6db197853f2498fd2d57e4457cbeee7a594a20c557ae57335712aa2b8f65547d017640e41066a6f55aa657d516 SHA512 883ea7d350da791c5f5809677970e8fc86344c46f9127d9a53d0a8ee3491eafb251d5c243f2c07124ec162b135dd8f5d08ae529bfaf4aae887894981dfbb46e4
+DIST firefox-78.3.0esr-ka.xpi 612307 BLAKE2B 0ab9f7f9a95630b9f0aa177d74de7425266280a6a196d20eaaa5aa9faf3eea29d971c6602cd633c33848c21b197aad71ed2df6c90f97cd942431720117e66977 SHA512 acd94f25a1d416a0e18c2d70503ea84d4103bd07f869280cd53bf7a6986fc99181d6ddcd9456645469bab25a6bcf48d466009435742a0e360b0b99a33ef77943
+DIST firefox-78.3.0esr-kab.xpi 574001 BLAKE2B 3e2b35009b4d76c63cd3e6bfd9bdb16ad96514b987d3659a96890f9a6e751cb4423d46a42a685253678114abeae545b2e12e470265a8d83ab5cd7dbe06ad6737 SHA512 e2f643d084e7d0b9216e99b4f6a5a809cf099d0022add05b13cd3e809baa300591db7457626675dab1c0ee3234f4cd1e3ca38076dad47392540b69321efb32ef
+DIST firefox-78.3.0esr-kk.xpi 642150 BLAKE2B 95486ad4de3f1f256a34444a0f23cc61542ad76acd104f27dade39242ba7641fc3abed4d67e572c4a92c7f193bfbbe909fe86f8ac15c88ada062797ab25f0843 SHA512 db650c7082980c5bbe7b8fbd3a4b270f09c99629ed8f80be6ad32181f5a62b73765c802c38581360cf518f2bd1c36e6e4a52cd1663ddac382ca164cd883a6aa1
+DIST firefox-78.3.0esr-km.xpi 567222 BLAKE2B a5f9c41cca58b4d4f67e03e44edb29cbddf3814557570aebe9fa9e1bea82cac318a65319db1e6ff1b337e84e404155b6adf5a0bf84c542e473bcf00e915c2fc7 SHA512 beb53e0a3f2f9f9ee012f658c7081c2b51d6a42711387882e8983b4c792ffd8365d1f43d9b61d53c1910fcca9214a22d7b36516f5e031aa89702466114d90d8d
+DIST firefox-78.3.0esr-kn.xpi 558804 BLAKE2B 723256334f62d518df8552269804c1e9151bda031c1bdd856f7386727b194bd02ec8a120b2d5da2ecd6894d789eb199b23ca55495cafe899d7b95d953050da44 SHA512 05b010d549b1234af0ebaebfe00d6b1962c1aafc884f356fe639f92706c5ca0f76b3c423a5bd37b09f295af9e31f122b0a46bfdb3aa4c94eff5e49a2e5ff6e26
+DIST firefox-78.3.0esr-ko.xpi 602760 BLAKE2B f4c2fec9781c848c26d4f69320fb446762a15f828108ea51533b9205fb91609e849850577081b97849b1b76be20dc9b4d05062fba372df449bf5c5d6c33dce79 SHA512 08219bb5cea7c2ca93948d9ba84070d05dc3f130243a784a0b51ab2dc263d7cb0c8f0261bd697981a645686a572c9ee34cfca3d8395b12da660b59a8b9a591a5
+DIST firefox-78.3.0esr-lij.xpi 526104 BLAKE2B f7d272398516350c8d8c1d27db1933ae332f9d5dbe4ae3f01873b4a791216e9cd34ca8b2d9b46d83a778bd35b493b01e60b23503025890679f9cd52c9f5d531a SHA512 64ead02ada241ae321058ad946b3975ea5587b05f8d25beccaf29c821e72303a93dba3aa1ab2a8341885f47ff9bd369aa4282a709eeef03ca34529b8dc67512f
+DIST firefox-78.3.0esr-lt.xpi 579640 BLAKE2B a7805992aac896db5229662a716572da9563e9b3c44f67f7bb7889e9e41f4b9e43dd8cc730cbb01b997aa7feca3758a7a0e9cbf2afe00f86112682642172ceb0 SHA512 e6f62c425547639998b1a78d33a7de8d88776c76e1bbbebce50b9bd49de0fdb5e36fff225ad9dfacbcf1912b077bab7ad23655eb02e4cb145d804b502adbee26
+DIST firefox-78.3.0esr-lv.xpi 516885 BLAKE2B d2f107234e672f06a10348aa6450e3dcc11edc8cffd31ab0f255b3061209aa70571b4d7e14bc543f170ec1b584a0ef0ced4d1fff290cc3c7c86c722e54eb2d38 SHA512 77b51303a527d23b619f95beb461c86e280ffd8a6ef4f1b317cdb37f138f822b3a72f34b811e74cc85c7bd8ccf1c775abee13f255e462be7918548c519719280
+DIST firefox-78.3.0esr-mk.xpi 482921 BLAKE2B 9246f394e7b6283afcad82ae0a564e49c55e74bf5adf7d4a8d2f255ab89b9d6939d37d8d7e891859cd95b58f5ff5e877d9e8e96fc1a8f65d6fee09e1c6b999e7 SHA512 b19560ff4409c5bd774532c06596a2937de839a25378a3abc1536e20e6a83cd2d17c9211d4126f38d11b2ae3dc02d1d5678c132020aa86a1524c8f5aafe08916
+DIST firefox-78.3.0esr-mr.xpi 599909 BLAKE2B b47c363e78d6185de2183d68dba430eebb48c7e908b75c8992030960cac25fa5f3a57d4103ce161509eef5854df16f1c891e401cc0b98166d08648cf142fc734 SHA512 8a5fded7b9e372050b06e70dabc152659e8b2d4d456f0cb8d076c86c976af373241459a119741aef6c3d3881aa6834593f991ed441de547579d06ad15a4a55c4
+DIST firefox-78.3.0esr-ms.xpi 500963 BLAKE2B 2e13bb37c0af066d5feb7d8fdaeaab33c5bdf2d85d686f2f994e5fbb190b650622eb86dee352e0caa7bd49f056a77433ac687a24ae62ff90158584720def427a SHA512 becaeb0e75eea79fda891b888eb34cc6be2c9bfe2b868540b6d143322a518d55c6c6e4ddb7512739271e0d07f1e93cd8614123b2a2b3c0314b4e24e532f5cbb6
+DIST firefox-78.3.0esr-my.xpi 557190 BLAKE2B 1f8059b3fbeeb48997c91b86822bc147130bed4e4392313abd880e60035236e2dea132aed0a4618f9dc94611c4e79e859f256acdcb47ad0e3e0ec6ff16fac471 SHA512 76988f9b040aa9877f612e462d9295040f87bed2b183ea48cb4980d741d4713199c44cc2763eb62a13804dd7a3f883584afe67d8651ed5540d6e8f170219f9e8
+DIST firefox-78.3.0esr-nb-NO.xpi 549585 BLAKE2B 400aca7a92d4c66df6dc1bb3105fa1040281e16da197ee4591ec4b7e0bb12c98cd5d7a2ec4db366ad9391be1bfca0a8d4aacc9749312a8e8c7f900c886de479d SHA512 4cc0ad05e409afced60cb3cedd8f0033b26dc5a893ecdcfd49875e6d3267338d1b784a598954d52afa6e7f97880bf4ca04b0874f21a88830219e7622a554134e
+DIST firefox-78.3.0esr-ne-NP.xpi 529237 BLAKE2B af2e49484a9fa30a09ee6721b72d62602d6bed6f6d96a63ddfcf5d5c4267ad8f7afae7b9cc33e2dd10b603eae105b94ca1639dd012b25dc129cd4b3262801e07 SHA512 4404cc5ca543b0ad88bce09e9db5a8930a874ac07957b8b52219375cec9f81d448d7e21f83241ae3c71978ad721378ed3311e121317a2bd12d947c2e70dd1a90
+DIST firefox-78.3.0esr-nl.xpi 558792 BLAKE2B 2bd46047aed16a1b3a82a86144ccabed472d4c0c85c45753be9791a7ff2885f418854992ce81a7d34318da4315fcf6d77cc85b412d83cfaa08ce575d49fd87e8 SHA512 2e3e202a81566a1d036bc1dba7c71c5191b8a43359b3baefbd8733646114e9990c93f965686a6c431ca42a0b721bd6896d67d6a3f4bf3cab3ce3f8b84cf8a565
+DIST firefox-78.3.0esr-nn-NO.xpi 552150 BLAKE2B 07353adae442cc7b8bbc14c2f4aeea2da082968bb6678003ab425955dc3385a0d5bdaab8d6383c42ab1ed25681dd3fdb1b7e1da52c791024e2f564ab1940555a SHA512 6242f603970b267cd8776b58322d116da789390f82d339e9b4519b480c193a77794e6033116be02d813732067e6efe0291763afcb609c0cd4b5830686c621a90
+DIST firefox-78.3.0esr-oc.xpi 576260 BLAKE2B 7f361c79ec67eb8f65b96bf9eec1f4561f908f2b2952baca8bf80e59a34bbd35df8976145c4bceb0a51e218d947a9560d6ee9a1880f2409db326dbcdf4042485 SHA512 f73e4b74324e6bb4111af5c3184e432db8f9ec2c97d9743f924fc7fe23fa018bcb5298cd00083c9a526d69642b41ede711546ef6768c297a5fe565ef66a7c9c9
+DIST firefox-78.3.0esr-pa-IN.xpi 606173 BLAKE2B 6f003decd5c1957ffc833f1603d1b362627a9d74fc410650089612c5cb22787b4fadeb57f3037318ccb943af91a016cc68ce6f368ccb7ee1f9527604329a1f83 SHA512 e43d8d072173323e4e9ec8e5109202863d49a46d7a6f3380829b5eb655b0e306b7e4d8694e41d60fb9783adbec3d5ced8f31531c188560527eaeb21255deb47b
+DIST firefox-78.3.0esr-pl.xpi 574905 BLAKE2B 67c8a8a1817aa0c4375b1e8e368cb3bee3b1569fb2c0cf4083b8929ef148f4509a019640bc5f9a47c42b903ed27c0fd96834ba200caccee38cb5bbe9cdf588d0 SHA512 b7adb3b9240d7e5f438aee47cc6b751d84fd655d3bbd0ebc1c7c7979c9b193405680a8888df4713a7feadd58d398dc2719bb1f21fc644b2f21fcd115307ae3b4
+DIST firefox-78.3.0esr-pt-BR.xpi 558015 BLAKE2B fb992389146f5dfe281037e07e9020df56a7364fb4ecd19dc2d96069bd7c8c62b166f188cafebc1479171a1b123038af0c3ce2842263a202896d052cc903e823 SHA512 1e1e3c9eaf6b8865f17ff291abbae5bc1df7fefcec50a91c592f1209eb8dc0e2a40173bdae31a1679f3ad1da223a85c07cf3752fe8496aa88b52bb6d69b646cb
+DIST firefox-78.3.0esr-pt-PT.xpi 565636 BLAKE2B 0436da53682a7827aa73565d06c7e72686f1e3ce95d308d9de558c0011f32e541ca1b1d62dd61bcd664f73734fa356d172bdffa782c5f1c88efd43a29aee82bd SHA512 c36981935727c6f9809de8231d1c8d7aae42d802436231e0ea451a5fbb955fedafb36aaee56d4de103e3da0ee20c9079549192052fd97e0165dd236dd7eb294e
+DIST firefox-78.3.0esr-rm.xpi 557926 BLAKE2B 53696df0d5a81aa2767b77391250086484b5596aeef689e160838865b5502f7826d58a07f0fc0a3f15615f321494d9c14e1c59e16540ad64b18aac589151726e SHA512 22d74c6304baa9a20a983abfe56b8f9934a609cf76eed120bbc9e3c46f96c58568f551e01e8f0839b7935df82619971f39d8108f03cf5d92e084ce81e482e8d1
+DIST firefox-78.3.0esr-ro.xpi 569383 BLAKE2B 0671c39d38ff4079a121b3900508582395f7203752ed42aa4428578914caab2e00544ed8757e19f7a408063d47f36328f4f393da2b98913d37e8a01cf315cfaf SHA512 0560b3dc0576854547027f26499a69ad59c27f6244cb94529989cddb3e31412b85ebfbee630c0cfee83234157dd5f5a82b2e978ffd1ff8ebc5d998135435cf2b
+DIST firefox-78.3.0esr-ru.xpi 650683 BLAKE2B 952fe3437829f63928e0233d894944d62fa70eb6d99fba5028a1819dc29626d25c303bfbf5f5f99eaada03c06a164acfbaa3edf73b4f0271d6101dca95086586 SHA512 402a9411cc1e86ab82ba1445b9d90fa1549000eea59f428452a45e6f059ebf6838fd504db2f2527adde4f79d8ad663d96185242e1dbcecfd92d4e7c3bf661554
+DIST firefox-78.3.0esr-si.xpi 534199 BLAKE2B 24a8187ce61e7c87f3a75b74a2bc527f926b313eb1c2e0c7cb6566edcfd90f2bd431c8b96f7082e663458e5787e23c0d7ac484e2492adc9e30fbc95777d58b3a SHA512 5137226dae2817bd811a084d061d1c19b7e231a454f0ba7e1823a0907a465223362d6722c8ff9f92661b927e7b7da8effd71408aac99bba8ae07251082aabad6
+DIST firefox-78.3.0esr-sk.xpi 578529 BLAKE2B 2ba3d75e14f91694cf9481c21c327ddd022206ecec741d14f1bf87b52c6983406e0ceed2ef7bd714f1e7e8cd1310309c0149bca357547e068d6fe54c1d09ce96 SHA512 c68a995a970c41caf126b0fb250c160ef0be9fdef67a06aabe87e8f235e979eb41f7d888e3dda1532e062864c7b3bf5a339826ad2e95cc20e5bb57ce6061b5d5
+DIST firefox-78.3.0esr-sl.xpi 563041 BLAKE2B 66ec660cc69831ec2c8f261dc28d3a1f59b308ac43deeca7f04d7d51efb8f833776559a9fa217873d0a8ab0b0c843be4d16f9b08f5319a9720219118cf800c0b SHA512 060b0538b9fe0ed956b2e429573c5dc85cb897f5cb328d3a995e880a48bc85576853602b47f3f33568a60f9c8177a68888a17b5d90076eda155e14dd4903bde0
+DIST firefox-78.3.0esr-son.xpi 454251 BLAKE2B 58fa0909f5a201c163ceced02e13f9d0c5aa94446981cc35a970a8ebdc54b0f2c8130ca8e4bc0977a987fe03a2b734ed5658494f1221b6016add0c2cb44b8598 SHA512 cafd081493a60354b0b6a6de607a244adf935c343b7de3416d0f72ebbe79d81c10499ff74fe05b2b883a38359159c09db21df2299aa23746782a45b9a4547d83
+DIST firefox-78.3.0esr-sq.xpi 580012 BLAKE2B 46cded6ec796bbabec107446e79d545e73ae6ddb1fb2f1273ff9c7f5f06cf36df0490fabace6d38e844b7cb9bd098aed99a151790cab8134a75e14c6fe3aaa4d SHA512 7254ac7e75d619e83bc314985028622d87a09551cc78b7506dd002db8f5ec8d784baf2f1d2f6a50289e7fd6ca6145a96c5b2db39e786cad226f64da8c381dd08
+DIST firefox-78.3.0esr-sr.xpi 604539 BLAKE2B 2519ea9b3cb53256d55b33b52fbbe5a466f62aca1223e081d7b9a72519a9d1e28a0b2a28960b0ff0bfcab3c23631fd525400f49cf0e1e94513ec12a8754e75cc SHA512 f5251fcb8a8a3574da1b360c75d00e803b851772736d35b06a7ef61d54cccdf8efcd240366998853705a7e9d5b1c259c4df76c93f1480155f1d9665298800270
+DIST firefox-78.3.0esr-sv-SE.xpi 561876 BLAKE2B fd0f23cdd139b41735696fa5d75a7b9907a8435d9c40f414c0032e1ffa752ec7ebb5617877cb5458d3c16e4422b4b4c4d1ef1ef2c7eb6b3bd0eb0def37814448 SHA512 52430c3373c1de65cd21c62f9d9b61188fb04f086ba2e596bda1c4bb4d3d15e6f49f124f31153b1f88225ce87dc581f15e1f074de7d489ff550a6777806ad10e
+DIST firefox-78.3.0esr-ta.xpi 572350 BLAKE2B fca05092e55129e9be4b29b49b513167b41d934b7a5cce020fafc2653cc8ba934fc2c5b6f41bd78124f05659d9e5ec8801b1fc2125058bb4ac7a6237026843e4 SHA512 16c9f175415c96889148f7a6cb37cccfbfaa7a4b0c0a4015bdb8d67f5f604e2af3240a9aeed01d4f80af3ebb145331e44207fcf898fed62138d494398a0777bc
+DIST firefox-78.3.0esr-te.xpi 591644 BLAKE2B c2f9cac8f83ae43cd8f75d179897a723dc9e338e6e658619945eb803f4ceb3afa15ce788930239ce56de456e200da95f07b0a086dc2cb0bfe21c9d397892336c SHA512 282ada33e70414e1a5cc983102acf1da24d37bd38fb84c241c2dbe371dec98f9a33e1701635258c334c3971a62fe9a434fb3792e5cddb3733ff4ed4397e76d39
+DIST firefox-78.3.0esr-th.xpi 628321 BLAKE2B a142b53e0dcad6ab0b3d9d9d3d9e0533c05d294be9910fdce3adf77564c1cd008a03f41b54816db30ecbb929df6ad1c5b87cc6b383802a5925c2367237c99a2c SHA512 69cbba91cc1a8d4f3e106826bf426d694409dbda99b66f93d36b73f2f65cfd1529eefe0166b3e9a909969e594eb2bd9b0deca1a7a28cc2d8b2f56ebb0e4bc5af
+DIST firefox-78.3.0esr-tl.xpi 552298 BLAKE2B 6010847a8291fc8c7deb3246100aff8d4120ef11bf9c5a3857cb797fa44ceb3ae3c736999e18d8b56a602b96607b43c5c902abcc37509c8ecde1316eee193d57 SHA512 8ad5ab27f6907561c9f0e11ce76b4a9180e3d76dedb1b8b01ed87cca5cfe677b839e3ac7962e227ba7ce5986464b3b90694e95c31cd0a25854943428dc28e7b3
+DIST firefox-78.3.0esr-tr.xpi 576356 BLAKE2B 2dd2159e3811401c0a3cbbfa9dd762f6e455cf8969c6f76c23a8a6e1f2bfe72b481502c1ffac0dc5ab336ad603bdb2cb2923a924e2375408420d9a20438a19d6 SHA512 f20defbbc20a3d2c020ce4c1ceb5823dc5694d94fc5e38893ff59293112130cc9da91657d3ebb6983561c7378e8b3296dde8d3033ea50c5f535d8e416b97b16d
+DIST firefox-78.3.0esr-trs.xpi 540192 BLAKE2B e19c87ae84a23a5c9d2c64d81d984989606d588b553f9d223406003eb1e0c7fcf7cafbedf72d040701870df84cad891084528de9283607b982ee60642b76378e SHA512 205739a745d0856b5157723e55bf0fe02ff649f828ce2fc9ed7ca759a322ad802a9235c4247a419315c01450331bfdce8cbbae2f821009dff615a3ac37ba9a6e
+DIST firefox-78.3.0esr-uk.xpi 646864 BLAKE2B 796a779d263fed8965fca8f73989c9be0af1d27157cc84f31861460bd06f12c40deeaa2769ad912d28addfa4a6835d37df29e7ad6e0e91573890c7718d4f4fe2 SHA512 e70405a6318af6d35e068c452d6014279615fa3a16f31565f06c5f90a1faee9fe3bd7b3b4823e1db2ead8d329e84c53c642ccdf80d1b542c7eac5562a6406aa0
+DIST firefox-78.3.0esr-ur.xpi 608130 BLAKE2B 747526131d83b0691dbafae9a664a613e46a07e87d7fa08dbe559339a549d17d55c69cd117624b74e1c99079b1a9fcbb9fa7b13b6aafa9f83c85232763843dad SHA512 e16b52a1b1444922a36145788ed7e7b53a1ffc2be19c29d43b9080d7ebd92496e5543d0a3034bc5f5e38e718e9fb2ac95507894b6f1dfb4487164b13d53d1678
+DIST firefox-78.3.0esr-uz.xpi 521140 BLAKE2B 91681e284ca1ec82fe35cdd569e5406b522ed156f739ce940b852a94470ce5a5483bb7a08ddcd85c05886829a26b6fffaf1be896f3bbad182e9989d047d0e46b SHA512 b64d33c920dca971bf7f3a8b57693162aac5e4df3b8797f27855b1cd8b5a9714a4a177b9d46f945eb4f7d6adbf1967a74341784d0f0c81ce906960290fd89c58
+DIST firefox-78.3.0esr-vi.xpi 596838 BLAKE2B 4549ee453a89aeda2dd0501062d084f526af0d2baccb3aa54e27026e0cad7c9ce39373776f4b6d6f05bdc39c245963452772bad8f19974cae9ec92ae06640f85 SHA512 4b336d96f79b97a4af6e52ea27bf2071d560710c2ba496d1b3a00dd4241ecdafa2a130294515587417437ab835df98bbb4d6f06e91a7245b214f049622c66063
+DIST firefox-78.3.0esr-xh.xpi 458908 BLAKE2B f9a6769a96540056c37ce1cb077694e98b98293f620c8a163dbdb177de8466803fc11ac5a0d87df48c93b9d322ca1a05671e4a981899cd3509194db9d72a4338 SHA512 2992481f9900e36342314d291354fc76019140130cc2f4405aa41e2696819fea62147e264168067ae505a453e8fcbe43a1609b74ebf42b4a01af635ac573b031
+DIST firefox-78.3.0esr-zh-CN.xpi 600179 BLAKE2B bbdc1cec5c4dbc2efa6913393b4928fe3ceb4f3d68f8615a3ac80510e2fd22bc60b6628e9053c83b263bca5fa2ab6357d0f5f7f8cfad2ea2bc6c23727966c1c5 SHA512 b156e8de8717367c4494744f13f698803cfb0e4b9ca6acc5b06350df3fd400a3dc20dd12c7438bc0ee3fa4ffb25b24c57e858102d1ffccdf7ab90acf255c54c1
+DIST firefox-78.3.0esr-zh-TW.xpi 599257 BLAKE2B c5b28502cd111e8b03f85694be2baebb199aaf35cb8fe7cc466e205ca73098a6e5dbdbff128a89288f416afecd06a563ab59a3083344e503392e4ae3641c160a SHA512 05cd0d99d5caff0dd9b35f5347770854b7aaad9dca71868470ab2c6e00e7c0e38430b8579a1186148ff6955a44139635a2935e6fbde2fac0f0a3081c9e3fa851
+DIST firefox-78.3.0esr.source.tar.xz 331073228 BLAKE2B 01f3d3c0b8b963dedfa89631c518225104c739637a8bf22c121e3a942fa0b1d1f8cf1c4c2edad2e823e0e3922f865cc8d3430c6fc9246deea855295eaff84a0e SHA512 89e12797429d99760b294e302d803432f533b7c2c10f1fcd3781b89b27ec9698173d4fbf1bfe7506186602daf6666c09152407ce5668fb5b7391e38b5566f2f2
DIST firefox-80.0-ach.xpi 504733 BLAKE2B cd52c95165ccf00c0bc995f869c65cc4d3b5ed8b5cb698b1343d1cf6272a0d749cb4d9cf5e05dee39d57bfffec13955b4176422d22995387cdbfaa1014e4e73b SHA512 235c396fb2a45e4e18b0834196565498987bedf63d3b8968f983b994c660d71400fd1966aa2cdab3bc1fa24ccc82384e079ec9db0ea12b4fa447e6f58233661b
DIST firefox-80.0-af.xpi 444437 BLAKE2B 3b40f0ff49e4e2d4c3780f1312db9ae2cd7c0c93dbb23ae667a9f9d0183a31e9db423e69abff43da5cedd9abed0b4be654b24bf125cffa6a2072c4338a436bc0 SHA512 5381e4cfdac44d088fc6c9c778b03780d79ab39f440e6beece40c4e62c0077fb461397059484318520a55ef4d9a6637efc2b2f2599ed3e7311900409d7b638f5
DIST firefox-80.0-an.xpi 542574 BLAKE2B 33c2539310261ecdb6ea354d6acd93d2f14eaf66c978f595f0808dd36a4baa1ec6f11b3d76cb2d848a5756373eb01a6813c4fcb994589b1adb95504a2f36f5be SHA512 85b189ceeb0837d58536242f15c04c0f4eced857f95e8f299426cd2a98ca0bbc5a106e5fab8c4e42c8ff245905e65103f09f2db4dec0cedb73f94c7829c87dd7
@@ -286,8 +384,108 @@ DIST firefox-80.0.1-zh-CN.xpi 611635 BLAKE2B 3263f493ddc0ad7f5ae018f5dba479e9daa
DIST firefox-80.0.1-zh-TW.xpi 611178 BLAKE2B e84b0defc7990b6c775a9ee9a5ba7dd54a60a41ca1e618d87b72c1033eb08a814de335a1d59b9aa84fff70d164f8755f2143b188128da5c84fd2eb4ea08b4b77 SHA512 253f80d60eb05d05d366642e2ebb78430b3b9acb36baa553b3cffa5a1d4773e1a422e770557a3ae791d7704ed22f5ded6713313886b696548bf49c91bfb7dfbf
DIST firefox-80.0.1.source.tar.xz 334690792 BLAKE2B 47c8cdb2c8c0088b5dc8abbdfba8be685dfdd4d079b155aebb1431a5f8b448b94d90e188d08426053be961f228d3b4e7852626f502397099e99e4a897e7dadfa SHA512 97a54e5f0ff0e34d0994b9ea67250fda1e9a51acb1129a5f6ce632ca5d15132ae4e5eb18c1a9a609a14f5012daf87c6e1a5049e096dd1c32cac9e2c981381d10
DIST firefox-80.0.source.tar.xz 335316448 BLAKE2B 3099426b27cd3c89b63be7d796c8c5a87d0ee9bd8252e5bde23ed3a61f71d611e7427ffee506224e81a88ef109eefe944f2cf3367bd636a6ed46b7351d0a4b1b SHA512 6cfba55615d032e77f973ffdb1d4bb27c3c00d1ef642521284afa3e01a1bd29c6db963181e9ebefb0a44e49b96c3f93e57ce49541eae7e5a54d3360ffa81c1f3
+DIST firefox-81-patches-01.tar.xz 27212 BLAKE2B ef544bf38ae2dcb3a385d68f6ecea016a4d0677af895fad8be2ab07a2dab313d953b764fd0390844444f743ae1a2f67fa6f3b67795b72823d9eb47f4ae10cc33 SHA512 88d0ca8f29574ac45afce3be4a59a9816b3761eb5e1741770927c26c4d4afae669ba8632bbef78479cb7ec892e581ef06e2a5da7c2e106a676dce886d2a14ebc
+DIST firefox-81.0-ach.xpi 458704 BLAKE2B 806ed3112f9be7a2609485ae11d71ff573f1ca9b750d0f7d18b8390e273b5a63b6508d7292d665166ec163717c1a2dcbd45103617a2e03d276760dcb17ce09b2 SHA512 18d79ecc95b068b0e23fd58809187eda0732d53c7ae8d5907389cbd45ad88b4ce8213832ac2a7e83eeae1cb0af3c17f9b785ff7f6f2caad66eded80128b22fbe
+DIST firefox-81.0-af.xpi 429003 BLAKE2B 44cd83009fa2c45786fcd4164629a2711ea9ca6b44118c119bddbe6ad0ce5336322bf7cd09dd6544e1e2a687b08f7fd977cb76c0ec25dd7d05b4552f52c9b0d2 SHA512 2dff6d871b63b3cec5512ecbda83e8287974b5a926b5029ebe0279d7d3a7e80db3d8d934d533c4daa67d9c16f2f8fcdaad17795126e9004bd4b626c26b2ddeff
+DIST firefox-81.0-an.xpi 506884 BLAKE2B 167e3ae966f2578a87b8d1cf7e6481843d0cfd737ab359f3c377b23119afddc1843f97cb444dc5683002bdb03a1df6598c30eaf84f20a64014fbc6a8146ac853 SHA512 afc5994c70d8321a1f537f1782b04b086f15713ea8e363751cf227db9f7436125cd6442d59acc3fccdd3d638ee592cc15b16c8126e299cb75d8d0d4fc1cf983b
+DIST firefox-81.0-ar.xpi 548495 BLAKE2B 69352b01f4cdaa0e7c8d316429df4fc745161fbe475cb535c422ce5add9b6ecaf9a015ad14122ec4ef96969afb9ffdca48f9db6b45097893ec6e96e70e726747 SHA512 f63fd9b814d423bc36f75460b6ba13eb0b3a9607e18df8ad3a59179c62590d361305097469cd252edba38d0869faad0e3823697d0f832d9340b0383cba359d0d
+DIST firefox-81.0-ast.xpi 457245 BLAKE2B 9480b71ba35f3f442ac4436f6ad85fe35e2575752ede185f0a1c6ad52387a4099de74348f603c1ffa9bb61a7d4abd1d71ef316643da84ceb39ed7fc751f852e4 SHA512 ca64933d93028c0a593329896747fd29de808928de22f1dec4fb8140d920b47f463be6ceda13cf927b1cabb73fbfc2b62135a7606912a5a0c5b202fe4a1b282e
+DIST firefox-81.0-az.xpi 492768 BLAKE2B da096633f563bff9b56dd9cab81bd1ac5cd2335e7d7d105bc91725f1f3924d4414c5b2591e4d2d38786e55ebbe1e60e794f6ce240c5d21db6b98fe406931f6bf SHA512 ba9378d50c929813b29f627f42ffc3a5744d74e00f7330fb277af8bf0dea8936f252d8a789416119c79d9bd0332fbb9baa74067743175f7f0af4a55c28a27bfc
+DIST firefox-81.0-be.xpi 593036 BLAKE2B 51e00ad4d93645903b4d0582161c6fd0fff1bf4a4eb15772c4d7b6517259946435924cf1a2b7fc8bb90663390eeaa45eed9eb7a3e6fd3e4d67c9b43151d7aec4 SHA512 13551dcb43033a03fc84b335302d55ac3d06267642b8231a2d3022371fc75229fe609cf5b6319891f928bb0399fa7475f5c80b14030ec0c5a6485d5c8b8a57ac
+DIST firefox-81.0-bg.xpi 554712 BLAKE2B 6cb68b15b32b99c8a30a92413257200331e5755305c92de4360dc9d3413eb9b47c8fef9c587d0f9d015615ab92d92827ac5db512f376de66e5613200b6dda42b SHA512 f9ba97ff33012f0ccebfb081de7e8b9579128e94bf30715eab719ca3a8eb98ab3ae7cc4e6075f1f983ee1d10bebf360857cd144e504ab4a7359817632427397c
+DIST firefox-81.0-bn.xpi 572613 BLAKE2B 1f2cbfcd629f83d2c4f30495743e825c89adbd0764176d0a340c021bfee1f5f8ab6cfeb13a633a1183d8372627494835075d06d0db5f1440270f7d9ad8e0914d SHA512 54e164daf50da9f6757907826d5592d0fb8e38a97c3434b0394deb5d48911eeb6ac1766a902caf2e8411476f977c2f1c988206d8bd1a96d76e66627279d01594
+DIST firefox-81.0-br.xpi 506640 BLAKE2B 4cc1c0ee08d1ac31aba0d8cdb2660213530badf2c22e9667d98dea36ddfbd7afddb28c2537f7cb8d6b6829fb1c8c206e27252d513c6970f3364d87ca97629620 SHA512 367063b2e7cefade02fbd9d4968bc35325fb2bf6a15e6baf20eed1d0904b996daf5b185ae65154ef057317ab2ac60fa7db5b2b5dbeb9e5cc05f7189e1a69bc4d
+DIST firefox-81.0-bs.xpi 465218 BLAKE2B 9a6f98e1a3945d877d40524aa568ba172d8a7be09e3676a2bbdb17127dbffff941825da2d98765bbcd0708089863dc8ea99222817e6059fe31948ed1da9df9f2 SHA512 c5783580fd5c9bd3551170d33a6f9ef913159e596d2d1649528e9cf0697f26778d6a0e39c4fb8ddf9d6b2b39c44684df2232246eaaf0d0ab06bb2fd4695ee979
+DIST firefox-81.0-ca-valencia.xpi 517385 BLAKE2B 8bd7602e13de803e753cc8315d4e66f5e756df8d3f9ba72d62b785bcf0de2e7afda5f409de7562af834cd8bc3619244fde47cebf030bf60199314cc41eaa73a3 SHA512 2444a67009bf9da3b7794108586b239ae4b0a7d3bf8e369167c7679520309e8439f6c8aae1b10c7d2e29b374edbb824413fa354bd7e5477895e088050a22b61c
+DIST firefox-81.0-ca.xpi 513594 BLAKE2B a858ba8da67c2cf909b3d48a6eafa75e11cf5a294c73c539c4582fe8c9dd98e88ddc0aa0191ee080ef3db7bd0c358fcefd9156e66e4f0b0d28786f7a4f47ea31 SHA512 7749126c219f7477a6dd664cbf25ea72c7faf6d160d505d6fcd249abf23cf6c6b29e3d01dd9d85d3a04631bc16da1250038783e86477e2da76c6e218cf91fd0b
+DIST firefox-81.0-cak.xpi 541580 BLAKE2B 38e73011724057ce0db3dcb98b2a4436ffce7204dd664eab91770ba0aa1c4653f0569473ebca8becfed5748393e0803b401f0807933ae3532255bc64ab2c0bcc SHA512 c360a54f0270005050a85e59a2fd4fee004059d5195071c0ed19f4e25e80a51f8f20d77c20a128e3bc201b879afba53ec059d71b0cad95c5e609a00ba19ad8fb
+DIST firefox-81.0-cs.xpi 539047 BLAKE2B 03d0caa3f69f7224aad7e74ec055565f3a67542600090313c9a9ba0ccce693508a36f79cad9ada9ff80bf1f395ba0ea43b44c9130beaa71ae82708f733caf1eb SHA512 870be6a294bb3c91d59c873b62546ec18e385bbca8cab5536eef9529f40041bd9acc006674aaa6340b33b928ecca3df9b3b58142f17070f3afabc8108f90ad94
+DIST firefox-81.0-cy.xpi 520840 BLAKE2B f9f5f1b25f090d9acd4c29a654b32efb92ad22210362632e0f4472f983449fae6ee05c014231d05286cac3585d87ceced8469e3df1bf1acc82923819d265cf5c SHA512 6cc6497bc20d3dbb887b183180cb3a00c6787d64568a4ba22cfdf5f29b411970e41e11cdaedd9e220f53643177d0df23a425e519ba6666b452b62e6155596ae1
+DIST firefox-81.0-da.xpi 514311 BLAKE2B 6d575bce8d5a8c98a973dd1fbc413dae0b4c53524ac465c207a13115b4330697f80d936b9f53a42e94d6fa63912f8da58f929f7fb7ca0a74c52560fd69c2ba78 SHA512 00ca3b0dc3b6ca13053cd40ae1c87113deaa8e790b2601c2090e812cc9895818fec8c8559869eef0b807ef54abb944b58ae62666d307032f63e34eecf909b476
+DIST firefox-81.0-de.xpi 533118 BLAKE2B 4cfee5ccb6aea63a373554c4003e4ef64314c571793b7f3f7b1b6c2774a687d33265bc81e10119fad9a9d26dc598b72ac3043b4d409b910f9011cf05c9c584f6 SHA512 2503d3ae4c1f993f0b713d6704b5c6bb80626e8d7e50aab73c1cf1bc981b358720cbef8de7fbc08011b622c501e06d4c21207355872e31e266cab8bc7d98df8b
+DIST firefox-81.0-dsb.xpi 544433 BLAKE2B e331d26aaee701a5524b9c7ec1ad38e6417ac704ac91d809ea5ea0c0d0096800d36ada0dfca0205a8e9f20b35d1d9b2aaf2444ec814a3ffc427a0507d2a83a27 SHA512 2161139c1b3cdf4b15daefa4baa414863c2d33a4af9db44b6f0d4d3c479d22e45cd111aa05cfe94a1bd473471995a08f6db11b140c8aa731c642102ca0dc1f8e
+DIST firefox-81.0-el.xpi 614642 BLAKE2B e416dc9eae09e784acd1f68a993946a6fbce1e0d0bd0198b81ba8e067ca7597dee359c23f122602f5287e53c2a5ee6b4c581be2ff951a8badf699393085a24dd SHA512 69c580ecb279718263236274ebb0b6cd298205d6c7635b9511d2f61d1c64e1533d9d23d33504863121ad1d35cb55d595ad62fe711534a92ebf47ae654427f414
+DIST firefox-81.0-en-CA.xpi 491834 BLAKE2B 2aaf5825e517aeb1058d835adac0302d69a50764d643d753cf0a3fb89ea438495ec895adeb6933d18bb8ef5c6f6f88e60949a3719ab23cd59fda2310c0a98d5b SHA512 a6ff72bb1657ca37e0022c8bac1de3e86e93fb979ad96cbba4807788cf6c7a8548260fe1648b864ce1f7fe138282fa4429ce9363c4c8c2a6b06656e6b1a26519
+DIST firefox-81.0-en-GB.xpi 491773 BLAKE2B cac0e100166c444665acc16923d62488768acd3688b77e854400ba3b88d140386f57070018f3d04749f0f7cba4d4a514d4a410961cde89bc6745aa458581f25b SHA512 9079fa91b93245875bc9061afdcff305e9e7f36d84799eff11da7b081d3397bb685a2291a281443c592eb271bd5668c8b667e91b6fa2762fc195659f2e202a6f
+DIST firefox-81.0-eo.xpi 516394 BLAKE2B 333d1d10c215256cc1815be6619853809e7030654c1e84503a1573ef15c2c75892e701202bf849dea6b7ea20bd6a173cc3a4946d8cb147b6b56f9179589e146a SHA512 47bf9aff7552e18b30acc02aae7d2350ec6045813befb8cc6fda9cc57a9e5c7deed27d239ebe71bf040a11e2b24990fd3ddaa71ec4f101f8fac86952005b99a0
+DIST firefox-81.0-es-AR.xpi 525968 BLAKE2B 7de7c7071b749da2095c6b26ae2c5829847facd8e6ee612b36dd4b1a19131ae1e0bf4d38515d013e1c8f52ecc1228dd8d9fa95bbb388455da1a7c375b01fa945 SHA512 a2e00d9a3a82eee47b0dd6987c679ad1cf44eb598f3315e861523e46c6736bb4d103f6cb28c73e389f0eebf6ebba181d86750b4b94d7f205f117edd2e336292e
+DIST firefox-81.0-es-CL.xpi 525524 BLAKE2B a0a202a4e1539f58fb1ee801a9731e447a337c596e377f349db313622f7e074b54133eece4f48649b802b41b15d654181e7c2e14d67f4cd92b28394a766eef08 SHA512 3272f30e59dfc31f107b9e9e37cca6da47b58665ab20005ba0867cb95ef49d946ac5a992d95f131fcb8667dbe41b42e325a1a49b29f146e2e259ab34a3ad1b86
+DIST firefox-81.0-es-ES.xpi 515141 BLAKE2B a9be452d2c578bec7af8f67afabb4311edfe0be0f8573a6475be97f3c61fbd1a3ce06658fba3a4c9750c4dd4f6b89e482c5282f29ef782409cca318bfb8caad3 SHA512 7222a41b78b520679b8efa782a58f166e02699e68bf77821a29f87531faf07f607be9652687c336472f7350a815957817c94a8f8bcecb03a7df3ec0aa07e3245
+DIST firefox-81.0-es-MX.xpi 529399 BLAKE2B dcd77958ba4cfa76279072901f8f262e3685e9d64e820a8c4f8f179bd6e8684ddcfb536afbfba47d578e7cd4af3454576d166c2717071a01b21ea6b3371c2f2d SHA512 f82a596fa8ad0e2ddf3c5c3eff730f9d4a77a6baf119e455a0b986acaba6c0c4e3077046a384d8f1ca2bbafd3ea6fe7be922273398f124665c087a05855e47fc
+DIST firefox-81.0-et.xpi 486335 BLAKE2B 261fbe37e9eab5878cde1e4cc124b451f3d3367ae242d7b957380f6b806827053d378309a6db010adeff180e8d636f397891761b1052c3832ff782992b368f51 SHA512 118f04947594983d703b0253b8877b06c418ead9355db5306645bf5ab6971d66644302bc406c928c6ff347c888290701891bb4646da75a57642d61b96e4c7cdc
+DIST firefox-81.0-eu.xpi 505704 BLAKE2B c4a8cd5e10dee932705b30a425f1a8077f72916cea76d8b4ef68c11b1633c850f1e6352f2eed4b48def32dd1bc7809fd9ba3432edb1d5c8a8af1c2064dbb138e SHA512 6df46f81c21d515cde9987b1729bd3404c327d9c60ceacca9bf44d069037a435831977a809aed370b3593ae65e9079d797f34375f933806c727df31bd47b7cab
+DIST firefox-81.0-fa.xpi 539089 BLAKE2B a6719c8179f4c38b8f6a5d81649ea44718902dbc3133e97936f863dda2478d3bf1a8d9f65a69f7cb92eef109deaf973b3675c204eeab114da7bbe91a159dd6db SHA512 6dcc1395232476ff75bf9fd6cf9c9b3c5c424b68080fea2b0c0df9c3efcafb9d7e22798c9c72fa2a6fbfd129fa05d1265ef89355c28555592a8e89a7602d72ee
+DIST firefox-81.0-ff.xpi 482668 BLAKE2B 561ace8e6643f19b260324aaafbb4d5482ba16f0ea2a18a82f376d4abd5dcc9341e88133e4435b3f26bd3b5ccc1f9f9d4d52b24f1d96624e764aead5d352325e SHA512 aa6bf84cf802dfbe29eca62e7aaa5f7011027d04cc7913f227aaec5af27f8489ce437928b2b8ebf5892858de6acfe3f2c178014bdd6840cba26b31b27cc0cad1
+DIST firefox-81.0-fi.xpi 512540 BLAKE2B 1a34fe6e5de10e78ab05904844350e1cd748359726a978dc6bf4d1d7bb47f06a74ada06c0a937fe36ae96426a840e74203fa809978b564b71ed620c25b7ff27c SHA512 d33f3c17300e9612d77097d8760bb4ff783db4f36ac201dec74c4139ba72a48c1fb6126baf420233adba2f1ca0abe53e47345ae553d2224783ea96f665e4f1c5
+DIST firefox-81.0-fr.xpi 536852 BLAKE2B a7fc453a1897755130eb7a4d89231a3136fd3ece0e75e207a9d6bc79e2d49114488e02eb4cd264df8d8b56887182fd94065d327491f6cf1ec10c92d63a9e837d SHA512 24be5505b1307d3f4969fb22ca6a3b6c7e6f87692ce342f9d4a40c895cd3eceb714934f87b9cd1d17c6a0f729185fb5d54f2d68a9146ebd653ecdb39e50065c2
+DIST firefox-81.0-fy-NL.xpi 522614 BLAKE2B d1b0b6e9148faa49503829890056e1e0d39ef3d5dc1b5fca088e8677cf69fbaffe4731b6613136dc0cdf8cd6e6130338c295ab263a19fdbdbbe2b6c1c27f1655 SHA512 27effd197340bb4e15c708db7bf85f283b25e0bc50d1e52ba222ea99154946137d4d599f368112e6c3533ca4c8ce2f99a17b2443567c243b1fb3d1f8e8b5455a
+DIST firefox-81.0-ga-IE.xpi 467820 BLAKE2B c9706f571ba7a3e6eafb74591727dd473e0fe7e2f4caa900869b80f8924b0078a9e38c87409697461015518e7fc6977f35465a1254c09505f87685f37fdf2fcc SHA512 a55090c0818c6a42d5edb30da8d83ebb9afe8c0bf1e84831fa273230b1992d24795f3087eda237f1a50b8002ff4643b6ee13b82c8444464808a2a708092822a5
+DIST firefox-81.0-gd.xpi 492742 BLAKE2B 66fc41fcd379359a3b3a86618cdd7c0ccfc5c4f22d66abcb6ebe551eee045ec868aec0039fb9be029cd435b79df26f271ca1f8b4228eb2c05f49504468429426 SHA512 0d47a0704920514c1a3df29a220648ada8b288ecc93f18b9912357abf496045dcf361306ac8849a294361004b76810d32eee8a35a632f610b888b2648c407ef5
+DIST firefox-81.0-gl.xpi 521893 BLAKE2B 199af589e26bf62364e4133ada4e9617fa9a9d98c919cae1f0796a2bb40ecfb9ec0bfe22696a6d7dcde722b7f252c9c6856860debcbd13d3b65b316f56c5ffff SHA512 5461bc38d42999754ca0ad1ff0693eabefe2e3ae70fa4b8f35df9e46b730811212d27dab2667e961eb52dcd283abade9187dbbc895dfea1d546978e28163a628
+DIST firefox-81.0-gn.xpi 536982 BLAKE2B ab6b27a5179cf9d9abe43879e223c6a5f4c54e61ae3ae5959dd8c8b5e02e5f037c27b5dad14605a38e301d9b6540209c31b61d522af6e011d4dd30391d349fc4 SHA512 a20607385917f57f8acd6b171e533256f3d4b68ce7e35be1bfeafefda57046a1dcce6775ed3de82639a76d32ca041168497d9c24c9ea7628087f833419267f73
+DIST firefox-81.0-gu-IN.xpi 541542 BLAKE2B 8b76f19251ec340d885e15259b1cec05f94b4883f4d162a88163913d77f6b83764ca54a62bdae113ad840bb3c9ceb33c2fb9f8b5a5a73f9ffecbfd74dd4fdd98 SHA512 7fe2777ebbcb893fba704e7158138e19ee86611937190c1178044b2abfbe6dd5a0e084a516b9649df5af4ba8499095d0fe4f4a6b3435a66d696b4975eb256f0c
+DIST firefox-81.0-he.xpi 537117 BLAKE2B 2f2579389602ee1dd29c8cb9b37944fd54dfc4d03c4e7ac1da869733e1bbf9032c85163672db9b1cde947884eb8b81aa50a16b2cb01bf550b504f216a0e97104 SHA512 39d204ce15139ef628d6c4862ff25a447bd483195cbc1c4095d28c1f0870067286c60830819a4eb7919ce8f61bf79dc2ede1b1bec57dbe2fe5a1d020f840d5ac
+DIST firefox-81.0-hi-IN.xpi 566847 BLAKE2B 71412a809c76eeaa3521146d9fc6675a0a473ea74cdf13028264f58851e756ec62d4e7bff2236dea4bc27523850cf851dba48e1d2e7c3e72930ea1fb9d156ca8 SHA512 8153617e82c0c52b480fe7eab1b960f4be07cab61c733a60ed3c83ce451ca5475d909c4873eb001ae5e2b7a2f774a199a87bd608f24471c7551a7e0493989336
+DIST firefox-81.0-hr.xpi 516911 BLAKE2B bdfa100f307149e0b0dc947354cdf98c3f56842ccc51453d12716e8fff242cfcbb6888975945813200a2b6ee24cbbbb1e55298284696a6dc631a52af0460331a SHA512 35270b8c2094ade5e59efeacafa55e2db6dd0228e127693afd6d9e5ee91b1979aa036aa03f52f4835b0c04a624a4ff68e55fdc549b7875085f87b57cb3a03494
+DIST firefox-81.0-hsb.xpi 540879 BLAKE2B 6a783ed4497da040ad7f22342d9402900852e7f67de2ed21ee3f347aa2960767cdc65fab6f3ad90114f55ec917df58d8787f1462c87f1196d4c17179eeac8727 SHA512 0d49f3577b80b7604418f9113e745c6885ee2638cc27f3d001aa828a093b168155c5593fbdb1e42460e945a5ad7b1d0183c921d4bc90e0ed5466b7702ce88e7d
+DIST firefox-81.0-hu.xpi 544584 BLAKE2B e6c95b54c04c5ac55b2042bb916da91c925100be5498448ee003c27f9bb84ab105f4416e9c1632a3b657078948786eaf258c4d0aadd1ef7508373e9b9a41b20d SHA512 0884a37e51216c232a81b1606600053bf5a70775e3e2e7f1333570c419edeca8f50a94bea3971354b9b049015349f1552be84aa04d9cd095715de8a08259e27c
+DIST firefox-81.0-hy-AM.xpi 588074 BLAKE2B 25f8cfac7b21759fb8abd3db5315b6af108599cddea06df3d359389e87a9530913c194d656088921a4db377cb021e3887eab4b4615882932075dd4f244e64166 SHA512 747d0cbd608e40540cce31be2111569f6b2440403d4cd44f28725a8fff32779cf08a28917a0a14fd59645c7cec38c35faccedb0ed6bbd3e3f26ec4a83a73a9bb
+DIST firefox-81.0-ia.xpi 512457 BLAKE2B d6923f2226193e19b1023cf9a51b836c2b8b052609c8446fe784c47799e24fbe6d61c3ce2642bbc5ecbfba7bda942c88be9c690507e492626b791d89e1d0e2b8 SHA512 7b1a7663c4106024c04f21d7bd37b048d50ad3b68283b6ff3274ab9e86361bc27b397d5f3f222f5fbea9d32e79fdc57263cae92135b044dda8d06a3cd9edc2d2
+DIST firefox-81.0-id.xpi 506711 BLAKE2B 4e1ef6fa480d3fe8247be522a579375a342a18dc0a411f869416ccd8cfd9f9803bcf195d0df83ebddad998cda2812223e5446bd64b0de812e3c6472278e78c86 SHA512 6bce11838a3d316a70482192f18c4c2351d58bf8fc91fe92c902681a9e0bd4e14249b05b7cc933e3ba04cac2e604944d7616009829c477b5a920767de3fbdb04
+DIST firefox-81.0-is.xpi 478160 BLAKE2B 38b83b2fe68dbe0f9ce9c29b85ff753c237cd87bdb2207d5e0de5389a16efb7e86fd6b59b27218d0c7bffe7881fe9a3989d8dffe8f6749bf6cd737ea98adcdfc SHA512 6bcd23760e7a593c2900914555f7f236a72c9fe8a82485f4d1a2eee1921a7c71a476ae224e68fcb9e814c427c01aaa263e230346b3c85dcf7efac7f2dadef0fc
+DIST firefox-81.0-it.xpi 441428 BLAKE2B cdcdeeef443e8ca3d3887bc683940eb2b1468ae8c26c945342fc34b2071d1499d0bf3efd358c356fbad33e5d1ed80d0f58d64a2087d6457a83dca896384c1c40 SHA512 39ce365c0ecf0f7e65d00b891c2d9fd8ce91b967eab2fc2d192ab05d0c91e32671c45c2111c49cffb470d368c28e016fdd1fd1944d567363b7f759443ced0967
+DIST firefox-81.0-ja.xpi 570539 BLAKE2B 766f8bd2253ec2c7a1e5bfad7d1b0b52218f919ddf2f4eb04dc520cb880bffcd4e32b09bf9402c04bc8bf3c786ad5858b85b683c0b39fe2a9aaefc5293da20d0 SHA512 66dad15c5096dd312a7a56117692e7aa4e626f5610ab3f2b76bbae58eedcffea88ba81ae4da1f78b2501eb936b7f1f775a874d4956fb3910e814d6942d3f8b37
+DIST firefox-81.0-ka.xpi 570426 BLAKE2B 4ab8dc1c5aba4fe7f061760cf16051e5c8ab31787c69a183b82d89fe810344aa31556eee7f31e16ce0ff6d3ccec755efb4f0e313b2bdc3821763466f0eb1745a SHA512 7d68e13ccd2352d51346903208d6dc9f6b2cfe23a1be1368efeadd944d2f5144c4694ef7ccb4499f9a1dfdda2e312a014f28f33ddce5e1afcc549263ad9180fd
+DIST firefox-81.0-kab.xpi 530543 BLAKE2B 2d94dece2b7e3297d0d7ce582fe9f33adc1c14eae770e0bb48a3ee024765c82867665faf0bc83ee0f93e6e4884155ad808adf50922e710b5c73300c51f73e831 SHA512 ff6f99ba240a0acb37b340b636c621cb64fe94fe33447353490d3e2846256fda838946a3afb210ad95ef960a8f2f6632e29cba1ca2934c1f19cb797b258df579
+DIST firefox-81.0-kk.xpi 588942 BLAKE2B ee7a04ee68865b1b633f790ff6b49e823307b996c1910e0278237e1ced3347021f6909fe6eadd2faeb67550b540c7c1c4983666cc112a8ae882519c7fdf545b0 SHA512 cad3858429dcd83c3162a9d254f766cef28effc73bb11b7890814536af7de34d9c5ec52b2758db6b4f5e8d19632c3877cbc734edb93305aa581e293134d8eef0
+DIST firefox-81.0-km.xpi 525938 BLAKE2B da56471f90e51ef3aac16e1752cb115a741adf7606ef142944374418bd9bc630a6e78df3e070225ffa0549e4326a2ea3a53b561fcdfe6d6a72bcc6df6b9c9474 SHA512 384c753a16cf40c05da62fbbc757ab3f3cf81c3b3631475cf453bc53905802a9d8fa3f5f732946aa7e70636b0f078b6133921bfd2a5361678517fc209c65c5ba
+DIST firefox-81.0-kn.xpi 506715 BLAKE2B c443f896ce7b599928827dd18283a898797c602d6538624714206bf82454f8923b2126f4ecc03c9f1df55cd6f7f471d49d5807ab0988fbbcb801230272b27d42 SHA512 ae53945e102925c836b4225f34cd022e6fd52569e129040c00b822d8028764fb61d6f5a06434a58eb0b889d69eeb30c1141bd4d813b8ccaa505b4e13f8631a58
+DIST firefox-81.0-ko.xpi 556928 BLAKE2B 48555bf5e2972ad94b357682dd588ab155c4a477f18a5e76f28158002b42788925cd215e02cadb6ba0288f12ff54372e11199704999511c289f5e60ccfc21950 SHA512 d4eb712c8115b56f5aec04bdac459c23858b9c267a4d04e92e0ee040a66e870334287590a2ed616f3f29c5496332b32881f5a2e2bc9c87da8d28e16519d97411
+DIST firefox-81.0-lij.xpi 476223 BLAKE2B e3ee3b79a0613ffd7a5411002f3f145c27a1c6cac153c092450e05f108dc92f83b92fea5c36ab1ea445972d3293682de763c51ae3b1f227741b28fbccd89c18a SHA512 c91e79d97a0de761a0f7389bcd7be4ceda5cf999c6f57f9a0d3191697762f46afe70ebc0336fa41cf1263847f349e935941b3fe7aae89901c5d9bc33d3ba28ab
+DIST firefox-81.0-lt.xpi 536127 BLAKE2B 50241669fb41b3500ef44021b78c54797ac89be582200cf672ae648bf4cfa8edf253389cc1aafb3c3d0b8699e228aedd93a3907a173f855599f1eb88c55515b8 SHA512 31f0f0eab6f2ce161b164f78e21fca275b0675901dc7112440588d3283da7fbac145e1bfb844e660020f153df87f8cc63e12101164defc4760b6c6138de86b71
+DIST firefox-81.0-lv.xpi 468497 BLAKE2B 96c659bce6ba05a41bb508d918714c4ef4b5157cd22f646a2910fa7ba44d32496b8dc58478a9800fc4f5dba4fd4598d1bbaea859e2ee4a285148825ee0617670 SHA512 5a06107b92f21ec42d5e6230152935ede3030f8b4af446c0e6f7dea35e2c231015d9b49880e93bf74e5a0b3385aae3a1c2f4b11c9ce88bf60d97b9dd64e678fe
+DIST firefox-81.0-mk.xpi 459792 BLAKE2B e4c4e9961b32df90cf4aaa104c87238af3c301b173b8c917de4b319d53e92456c2996e75f851217fd55e567fb2add91eba98c30d5edd174e83100c599317116e SHA512 637ac3d4da9a568bff2d2fde9ac5dec7eaf6fe515ebfd1df0b7f199f2a33d4ebc237dbac61cdce0d7717b10fcb0261c9f597285c1f85927dcb3a20cbfbbba18d
+DIST firefox-81.0-mr.xpi 541691 BLAKE2B cce6dc7d1dfcdd294452643ec9a010dc05dff90a6def78458aade14371270937c0a39fbceb2933dce9c662df0ab9b3071709b4c93c5350eca098d35e9fae8f73 SHA512 9e1e7d76d70749ca586b3d3299cade35fab2b9de1e18393c831eda62a8ea45e027f781be5bbf94637830addc5b6a78005ca6c15c8b6fc6f452dbfcc8de4ca45e
+DIST firefox-81.0-ms.xpi 454299 BLAKE2B 663010cfae9bfa94ae9b91659a7ded5aa3b6339cf6f956c9e0c9ea96f48c476a73e981efeeb5f71d9984f7c2ad8c50414901a855d8acfce1f8299d3cc8685799 SHA512 72e24a5a203d7620de662c21af7dccc109f3748c73185c180dddf9f431936396c0423ad1679623f093b4ea55809c0ccd001bc6151b210726f3d335303962b1bf
+DIST firefox-81.0-my.xpi 526286 BLAKE2B 9d23ac22b770cabf3db3743f820f3200557b61258713c3065000a01c13e1ffbaa334295af0ca35c0c562abeb3fe7e8297a1d64429d39a5ede9ad40a79cd59ac6 SHA512 1bcf447dcf40ca96d5200a9d846f0e431346f8c68b952e0591c8736d7477362b8b002f1bcc38a89b0739cbfabb9fd04b6ef916c6baa2c552a381dc6fd7101b08
+DIST firefox-81.0-nb-NO.xpi 509492 BLAKE2B 14698e6416578a07de2a235cd062da2c177fd02fd5f2805e8eac1af4e5ead6ff150e5a14fe47fc7014df517579b4b66c9f585fe52027e9494c246c2ee11a1f20 SHA512 1f52bf8319e4de2c9929e114a823b2e5544cab4bcf1825d990311785fad7e1971591eda535b7e62a9d3d1666944b4c4ecd4327611f2aa1d4bfc8ffb6f23972ec
+DIST firefox-81.0-ne-NP.xpi 483415 BLAKE2B 54868771ecfb6dfbb8c0e2be87416313720e9ed1fc71117b1aa2c466f71995808b10261b33d2617e6ded52d1f7a5f6c92806a2207dd30f79833c3f7563419ae5 SHA512 ab841041f94cd69249d7824357afa1caf9e76bd820970ab7370558383dceba0190a5f712724bfc5f607ede745dacbda978617ad1a7ddd26df18f49dee552506f
+DIST firefox-81.0-nl.xpi 516617 BLAKE2B 2af159b38ed3af5823f5b98c093e2940697d9058604330d3da9a80648b5e3cb0d9010add7209babce3e5677882391d3b7d23e636cf795500ee6a67593228d203 SHA512 fe20d4b07dd48c839884be85658c9f34cc835b0d7f34b43cf642a7a84e92bf67ea25f6b5f2ff9f3193ac1a0cb9d5864b38362830af95f9aa48975cb185b3b86e
+DIST firefox-81.0-nn-NO.xpi 511954 BLAKE2B 533541ca79d6d5c6a2c3fa1fc3eb5235e6d1596a9a05d98ddbf092e5f755e38eb5c9bf7190c03c20753688954475ac77f3d39a924a1103de79e113e5a244d7ee SHA512 ade0afe3d99627b48094f0bfacf7a904be1bbb8642b9f4b28e3ac08e722b0bdb49fcee5e0a5f3beef911ce94957753e61d54cd4ff09e4ee49395939bb8463b0e
+DIST firefox-81.0-oc.xpi 529760 BLAKE2B ea13cc628f4b80535c54265f6d4f4d1e87396153fe62746d11516406159f7475984811077473923b86521cc48c6664c73c55af5680037d8cdecdd8ae6dae2b80 SHA512 276fd3e1004393bd112e697ee30b288b99c537dc431f2ad387c1534785ae77dadd20e0e7c48d899b741a8c6c786939ad631883c98020113384b32899ade39853
+DIST firefox-81.0-pa-IN.xpi 569877 BLAKE2B 00c589324f687483332c99ad2f840d26dbbce8b1ca12bc7ffe910ba80c294bbe864457ce944df7262a8cdba5bc16857a4ab1be72b0ff12bdbf34c584d270c0f2 SHA512 37d540ede741b43bbd55b8d97ed7eb5d5ccd812f03bedc3c5feb747b8bad5514b3c196f2cb0509af0de8ae5c27b8a53a44a7a88295ab98d6fadf6a316cebb011
+DIST firefox-81.0-pl.xpi 535548 BLAKE2B 252c793aa0654bedd1c74bf9e464b47b04705b45bfdd7031a1e0e5dcb96a91856ab9c0c5a7875e7aaa3302f93c12bf67a079b7ac4a8d11d9aeb746ff2a80ecc7 SHA512 0830d3532ba8a6a715f27300fc41f1b67d24e7d9bbc037b943efedbb6c759f1a83e04484c81bcc355bd2e4c82e64f0dda30bab68d36b5c8ca4325b061c2558a9
+DIST firefox-81.0-pt-BR.xpi 517605 BLAKE2B 62ea9479302f052015ae58bea0772997b687881f0ed141c2d29b85593ed1362fd88bb4ceaee4ec274fd5b796ada8ef7ed0f69a82e7a6dd06abb4558873534e81 SHA512 cd959c9c30c706bae5137cc5502b6db3a33e2d55c35ad0084822ce5a2f9afac8fb46f6d57a6f4422e3157e051b3942b258d5fad6032bb8f584a03eb43972387a
+DIST firefox-81.0-pt-PT.xpi 525638 BLAKE2B 19cf0bcf651d11794845f47ff160698a872104a41d86dc4b24057fa94f815b5411f281660651a3112d047fe2e705d6a98788aabbabca8c80eb616fb7a71e824e SHA512 97d7ffcd9287bd0f1be76c25923e3ea8c4dce31285a0f3263893c0c15942c3e14bf705476a7f90d6d72169f66db46286316f149d525f69d132385f86d15d467c
+DIST firefox-81.0-rm.xpi 514445 BLAKE2B f9828453f34b7b8f7906fb805cbb01391187c8f7f8c1413219aaf301ca667267e8805fcbcdf0eb75b44ba3f6826d9560eed0bf661977293d0fccc43eb88407bd SHA512 5009869c9ba5782ee4a3df510460f16ad281ae053b0c4eb2f47162c3239d4708f736b6f1972d003d11590fc26db7dc91a5b0f447855cdef7a56e710e197cbf48
+DIST firefox-81.0-ro.xpi 532731 BLAKE2B b261f1a6dcca659d236de01236a77d59ea0ac847a99ca58aca6ff247d28ca53bbbb929892cae9b0acb96f0fa18df61ab9c43e5846a8be18dbd082a58216f1dfd SHA512 9e29b641d3dc8f05055e56eff32f5552168c13e42a8f4a7aad119247ece2ae254eefe38c3e07359103b4b8188a4cab36a9a0111cbb2362b2ccefd3058537bf60
+DIST firefox-81.0-ru.xpi 603105 BLAKE2B fa67f816b4c2bd8952576cb61a622e788037abf986f0a5fdeb1723fb841893d939e03aba289f9f5e8a634184e9ba48413ad8a4668323f2ceb106b77e82370526 SHA512 718e6c8e4c7f095dd222e1611aab48ea443a9846753c42feeb57b90371be2c3ab8a2412c6b3c3551b26e8dfc9002791915c095c0e47cdca41f0405ed495cc570
+DIST firefox-81.0-si.xpi 492872 BLAKE2B c13d863caa672f3b40323d9907516424dd4f5cdacea424e22a232f60f79dcfaa46b41cf7ea9f874ceec763f202e0557f6e37b7e183d2e0bc3785b668fa3f3063 SHA512 823637a18d85afc93586c905ceea14519aa0aecad3f62f87266b358f13465b4eecc3576c85a366458748782675a72afeb93416804441ebaf5ee187f02b08a3a3
+DIST firefox-81.0-sk.xpi 533661 BLAKE2B 5f4028d1ea21aaebde31ad1be37f95729a31ff6728ee3edf55b22e3c4aa775b73845853c95996749eaf6b6e4e144401313f069a222979283ef39efaa88c8655c SHA512 00b081a993d6c8234e5e99a0fcc1e9db78df93e73d83f94c351b7e4445cbcbfdb1cf8a0fff9f8843dbf3ffce2b025b8b23244da7e1a4042e0da6aaba07e2cadd
+DIST firefox-81.0-sl.xpi 517954 BLAKE2B 544e8d79558223861bafa9eae1b4aa2bd22aebd1fb833529ccf453ad964dfd86c9fdcbbdd7abcc0b9192d61ad95104a9d81b4a3011df3885061428321dce96d7 SHA512 4aefeef16449e91a215518edf3ff6d44b228494b43367323f8662b019dae8c962e9c83a15c164027ef3473ddf3293b5db5570ccc5919a3970537c406ac76978d
+DIST firefox-81.0-son.xpi 425678 BLAKE2B 4f9241e9cc5fdf1fab6ca41122712b57e0dd2227d0ddba86976203d4d6cdbb7bc3ae4364d11ef9c1b77f1eb608f4ffff5539d722f1e7b4f08c72ff9ed7cab616 SHA512 b31225cb45c573cb9aada41d3490d55a1dfb9ad5970d1ab02f67819a59c794a0f047dc4b335bb73d3fef3dc255bfd5d6d6a85c0d1dacad7c4ef475610c14b285
+DIST firefox-81.0-sq.xpi 533958 BLAKE2B 80c640a319b7414cd9c750b9ab8ad25f739098c849d1bfd26d364a6c4bc577f9b34f6958c2b8050a84d8f8bbe4e5e922918ac05026f9a6891caf4bfb912849c6 SHA512 a538a061390cb5791c41f1f2d220db10d48069feb4270c192cf99184a854accc2017d4b8c8a33e0a0cd5f980e879aa28e4ffef96bab4314d4d36d1f2c58562db
+DIST firefox-81.0-sr.xpi 561053 BLAKE2B bb1d0795f67b9f50121c857c304ef563a3dcd3f80c50ffea432c10dbcff847e6062cbd8b37b6396b6edfad681e2448ef8984dcf1eb307c4440efdb858e6d55b4 SHA512 6caadeb6c666216186a080b025fd269db88cead2d260ca5e2f38909a9bce229d779d60cb19926c9e1aa7b7ff67d549f1d1a6d81fcc90eadb4a238b2231df891b
+DIST firefox-81.0-sv-SE.xpi 520272 BLAKE2B b763b6cddaa03c8070ec2ac8de319dd29dc62eb9d36c75890c7b8bb6f896f46faef3c1e22d74df381ea98f08559679acf14b6fff8c5b4639b1d949d79e50c650 SHA512 9c09df21cc4e88cf9b894bd251aaef72529fbd6d324b363258dbf5f67d929ce30797083323f8b939a9626ff7f1b5ed401a9f0badde931ee6ea0a59a93625c4d1
+DIST firefox-81.0-ta.xpi 521447 BLAKE2B b4640c16728bb06d66bc4d6e76b7525934633f4a33532ab3583325fa2a80b8ab2d76a2ff03a6577004f12432d59d156b4d5b2f9b919171a18ec87f0dbfcad843 SHA512 4049980ee61db971a6d563e9ed2f8f8a747f7ec932c6755b09557af94bd5e7b91cfd8397a13d3adc58f0c47c4736982e91b29ac549bec73647bd8961c6266081
+DIST firefox-81.0-te.xpi 557700 BLAKE2B d492bc00e431d0c47c06685bfd9b5950da1ec646518eaa27063cb021a008343c12a2e38a4b518729c8844f578063a41f910fe8a7e10cc2acb8b6bbd8092108a0 SHA512 1f38500b68b32f429676d0c8a1d12321738022afeed38b4e9f6be47c1651dc3e32ff24436418ad53bdc6cb4633cdfa63c90b38cf7136c1c0cd0ac92af06a81f4
+DIST firefox-81.0-th.xpi 585292 BLAKE2B 7f69422aff85b3e242af5b448a0f68cb7e8417457a2fb45dfbbaa9796677e86d03af4165cecebd713587b766a3b9b791e7e847c89fc2d2c475baa037de5f1c1d SHA512 1d30ca3e7755b3ec9c12d543a175863762fd17e135653844cf30a878f3f949cb7d26b57e8ea8c3272c3e4b2ca3356412c92e7b2fb8223dbfa10b34f1f12837ec
+DIST firefox-81.0-tl.xpi 505733 BLAKE2B 8492d4b783d69158e914449901fee0350ba7730d6e0d7ba8314bcb14ca7644bf992e8ebd98e83480e3c4cfecf6be274e8bc1b487016ee6056cddc017c2e78705 SHA512 fb7a47d960df8389e958b06f88cfde9d94918852e96b1e306a4ea4b724ad0bd85b4e4fcdfe0b24fb945f621d2e5b0639360277e4a4bbdf107197d317f259cff1
+DIST firefox-81.0-tr.xpi 530257 BLAKE2B bdbf22c16935a7321eba766bb9a44e3cb5abd3aef97fb612df5535bdefa5fd481369f53cb7b9f10d1bd9416084955feddd693b84847f287c87a6dfd2b9f9d0a3 SHA512 bf1b0681fa9df4dba76d3fd0e452c3c1f335d8b664c229b08f053daf77d1f167965f17bd6fb2975beaeb17e5c7683fde0e81294a113206a6a1e0f5e984cd7d22
+DIST firefox-81.0-trs.xpi 500282 BLAKE2B b14cf0974d1a82024916ac8b874a718bb549fc624e27b519e9789ce61076271ea42c449e7d152318a265170694bba19f67e3cc97108ddfdf42e85f8df17be253 SHA512 87425291fb8d0d859bce53c7811e29ba9058222b621d3ccb8771296f25c8fc65f9d6fe2608b625df5188480067f4957c7570430bddda63182a061445222c7825
+DIST firefox-81.0-uk.xpi 597212 BLAKE2B 79215b6d7f718d632a9027ea0559c76fee9a9ddf8b71a9f6c9e7ecaf8ec0421957403ca931274936576cb730b4704415bb325e42baa97afbd59f1d3fad604458 SHA512 0e608c6f19f1ed2900fd8ce2cc99a5c409af5ab2035aecee8f4827371f72472f26c9e2e39311d73e4301656f37ed720f05e42ab66ac0f824039aca83bb8f2c05
+DIST firefox-81.0-ur.xpi 558284 BLAKE2B a1a624f52e1994ad5a4e8e1a5b02cd4d023f1c137e64004c7796756d7decae1cc53136981b84d97a24d63310806c2d7b3fcc020ada4337458b886b9b4e8a2aca SHA512 9c96a33cdd87e74ea5b5a6d05a05d0608f60c4ee53cbd66629030c2d440b7b3e52588a7540adf275340b49e780a7be589d429e85352bfe4fef1d859714606ffa
+DIST firefox-81.0-uz.xpi 478097 BLAKE2B 46e7753fc23b793fb9b036e2c0e35cec81cf8c82c15e5cf067a347bf0e178ab412e4f3a79bf84127ebc75b35d020370f412c0e3b40b33c88902868a364cea758 SHA512 60008664e3f125805b477eb633267c8f9bdc3e93a2cfa68e3a4f1219a3834d791e3822b7b6c73e7628b35352c0539386fde641eb4ce26907a0d41c3bd534df4b
+DIST firefox-81.0-vi.xpi 553760 BLAKE2B 7247d2684658cfdac8023ff53ed0b47d8a32a09143baef36962708ab592dab0600956a689e0a994858bdc77a03563b64c6bcc859f34bcea000037a1fa3f72480 SHA512 a3f03bc4be666bed463592efcf7dcca22a62614f716b03513e8d7641e8d81bb775b26fdec772755819ef461961681f12096d430cf701b467216c01b88c034485
+DIST firefox-81.0-xh.xpi 427846 BLAKE2B 753beea068254a3b528a94c90331fb19f347d552eb09abbdacc4f688b186c76044aa5ccb4dace268794d74e80f7c7e72a3282be5078c6ca8a70aeea1d3ae3e9e SHA512 55d7cddb69a6db09b40e8bc5506db8237a229d7ffc48c589ff99f4adcd648fff8e938cea091a159f6f561916fbb90809a592893a87c23e34dcef0e4d47032426
+DIST firefox-81.0-zh-CN.xpi 554382 BLAKE2B 568ae2cd0ab490b552dc26c60714747c3cff4a572cc81dcb9aa9c026882e20b5a64fd677e3496fbf077d4cca4ab4c2a1c498ed18f776d1b3eefd1381fd37e19b SHA512 436e3ee03d1eee0b0e2a3cb88495148e1efa1d4e8787ac27e1951c9d3cbbc4e1fc8bc3cdefa94db583669c215edf423f398987821d53dee152b9cbe195fdc7ef
+DIST firefox-81.0-zh-TW.xpi 554145 BLAKE2B 718a02b0c906fbcd0fb39141a41e8b0c427b50c120b18a6d496e36f10c3fbc39269f02bcde7218a515298f37494027e1fe6bfcae0344a524a16e948920d5d583 SHA512 31b8f7651b1b575eb231325dfd0223f0c84706cc4d5a60d2c3a65f29ffd36f73fa17ef5821f2928f500076737f72dc0b66c9c1078c19c3aa0a41b3a2a287df1e
+DIST firefox-81.0.source.tar.xz 340347916 BLAKE2B 0546bad15aa89a7e4d2ca0cc000fed2170b9529f8f2cc1c1c4907649ffbcf72e8ee800083b63a767fc07b643cacb298b424ebc1ce827de209f366716e3a5135b SHA512 29e0af4c53a09451c3b8e6850c3f19538530035fb576ebe99b3b3a7ed55c37f51bdf44d6c02704e0cbb05ef4ce8278c9b47877643e64c68cd594d626e5d86e5b
+DIST firefox-esr-78-patches-02.tar.xz 36288 BLAKE2B f177027ea550b4f41616c104865a4d1a99fa0a84ca431176b5191107f23b2fcdd8361ad97493d3182d01dfeb7f2805caf16725b8a81bf1f7847cf400f87018d6 SHA512 7eff0a4f5d2b4abcb0293877b3fe562b5fa2581f46b4905ff8ad839559049e4d903dcca4aad6a7196720cc7b3cd93ae88ca0093da51f70e56609faaadf646c78
EBUILD firefox-68.12.0.ebuild 28973 BLAKE2B d19e41a8a047426a34573a019744c517716cd30a06a992284d2be2f76433cbdb6e75e1c2a9caa8518efb003c143b6e6afeb22d9089808483285560a074de1e64 SHA512 8a9791f34f548f5d628c00810046a365bf4f8d86a86a9aa2df6fde37d5d7ccf7116a43c80d04478dca23cec8a496cc5059eb36801ad23ed7984234d4eb9f1f6e
+EBUILD firefox-78.3.0.ebuild 28750 BLAKE2B c3ed905f1d71545b50d6cb014127dcd60316a5ab94920f7e647136303c499633da04ab450ba0bc0ba755f9e96ff5dfd2134b5a428324d514c2b339e4ba7b13f3 SHA512 7f5f6f0df28f7e91f449c9595d3f0cdaad4500c5dcf968903230c7a0a445c38c30340be77bcb915c082bdadd1a8f01a3d0f2f73111be4ee79148538037a96a3b
EBUILD firefox-80.0.1-r1.ebuild 28853 BLAKE2B 63718fa37a658403ac2d7cd25b523ebf3a33d2652761a1beeca02f0a733889d450fcee4aa4455577fd9fe60e04e019dd5ec9c50b6078c1c95d33f7fd81d5b493 SHA512 42326b2e83383aa49dd9d79c1438060a56985adaef65ea2f02a8a14918ca769b3637ea0ad1e4b772baebb6e40fc8397ee177f9d071ebc2af8a8ebe27a616d23d
EBUILD firefox-80.0.1.ebuild 28853 BLAKE2B 5b48db6f1c2434ce1dd57dc57b79ed18266b74478dcef62fc34ab062ec5e264c07b0fe196549f743691e1a4c05186322f52627331e76ecd232320429a65904a5 SHA512 c8323a71a8cd774f8831c04e65dc648ba15fb90e9cfef69e71a2c05cb90a4b9391d3fdf066003e096084efa9ec84eeb640fb0c47a2dfcbb85741e07cb56d936a
EBUILD firefox-80.0.ebuild 28767 BLAKE2B 185a08ee124387571bd8e87533c3f8d8c01dea1e569a8758eb04abb09142443b4d0eb081353135ae57f2d34a6046bece68a0c4f854fed64b3411b6241a7fb2c5 SHA512 40bc2692649ed7b5b3ea6df9bc3bc92921b6f71631c3ecce373a95b46784a6f4b0f2e3bb0fb0e61405fb75575e930f6d97208db5ba478430967a6c9861bf7a76
+EBUILD firefox-81.0.ebuild 28729 BLAKE2B 17d1e6b7b9cbbd9fd42d35125d75e72954b5f55400f9f955a757d3b24f907a231b1064ccd3c1e2de0fc2645dd9d9b7715fce72ba79de8f20aad8f08abbd2485a SHA512 4f1246f638f2bc93b90ce59ff73f99ab64e4ca6a05e97fd24aab1b3f5121305ae1ab9fd37ba7b8aa7d49137f3dc3470a0b8e46893187d9664cf67ba449f88c9e
MISC metadata.xml 2559 BLAKE2B d1b21789a936805597548ce0636dfac52084ab4df2086dc5823fb00a3bb4cef802c2c3810690a29263b58b0d10179cf24ec9f149e18161301ea1f8e253c72253 SHA512 cadffe14e56530ae0e1f107e254b95e5dfb2f5d06cf676f65c34703e1e7700843553a51e3ecd1bf93bcfcd3b62b4960db53929361d52758b59bf1ec393a18167
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 000000000000..dceaf893e40e
--- /dev/null
+++ b/www-client/firefox/files/gentoo-default-prefs.js
@@ -0,0 +1,13 @@
+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.vendor", "Gentoo");
+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-hwaccel-prefs.js-1 b/www-client/firefox/files/gentoo-hwaccel-prefs.js-1
index 0cb92b046f94..a00144a7ad13 100644
--- a/www-client/firefox/files/gentoo-hwaccel-prefs.js-1
+++ b/www-client/firefox/files/gentoo-hwaccel-prefs.js-1
@@ -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-symbolic.svg b/www-client/firefox/files/icon/firefox-symbolic.svg
new file mode 100644
index 000000000000..2078eea40b69
--- /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/firefox-78.3.0.ebuild b/www-client/firefox/firefox-78.3.0.ebuild
new file mode 100644
index 000000000000..a1d5ff8af43c
--- /dev/null
+++ b/www-client/firefox/firefox-78.3.0.ebuild
@@ -0,0 +1,1035 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+FIREFOX_PATCHSET="firefox-esr-78-patches-02.tar.xz"
+
+LLVM_MAX_SLOT=10
+
+PYTHON_COMPAT=( python3_{6..9} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="pgo"
+
+MOZ_ESR="1"
+
+# 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
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils llvm \
+ multiprocessing pax-utils python-any-r1 toolchain-funcs \
+ virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~{axz,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${PN}-${MOZ_PV}.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 geckodriver +gmp-autoupdate
+ hardened hwaccel jack lto +openh264 pgo pulseaudio screencast selinux
+ +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
+ +system-libvpx +system-webp wayland wifi"
+
+REQUIRED_USE="screencast? ( wayland )"
+
+BDEPEND="${PYTHON_DEPS}
+ app-arch/unzip
+ >=dev-util/cbindgen-0.14.3
+ >=net-libs/nodejs-10.19.0
+ virtual/pkgconfig
+ >=virtual/rust-1.43.0
+ || (
+ (
+ sys-devel/clang:10
+ sys-devel/llvm:10
+ clang? (
+ =sys-devel/lld-10*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:9
+ sys-devel/llvm:9
+ clang? (
+ =sys-devel/lld-9*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-9*[profile] )
+ )
+ )
+ )
+ lto? (
+ !clang? ( sys-devel/binutils[gold] )
+ )
+ amd64? ( >=dev-lang/yasm-1.1 )
+ x86? ( >=dev-lang/yasm-1.1 )
+ !system-av1? (
+ amd64? ( >=dev-lang/nasm-2.13 )
+ x86? ( >=dev-lang/nasm-2.13 )
+ )"
+
+CDEPEND="
+ >=dev-libs/nss-3.53.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
+ >=x11-libs/pixman-0.19.2
+ >=dev-libs/glib-2.26:2
+ >=sys-libs/zlib-1.2.3
+ >=dev-libs/libffi-3.0.10:=
+ media-video/ffmpeg
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrender
+ x11-libs/libXt
+ dbus? (
+ sys-apps/dbus
+ dev-libs/dbus-glib
+ )
+ screencast? ( media-video/pipewire:0/0.3 )
+ system-av1? (
+ >=media-libs/dav1d-0.3.0:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-libs/harfbuzz-2.6.8:0=
+ >=media-gfx/graphite2-1.3.13
+ )
+ system-icu? ( >=dev-libs/icu-67.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 )"
+
+RDEPEND="${CDEPEND}
+ jack? ( virtual/jack )
+ openh264? ( media-libs/openh264:*[plugin] )
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4
+ )
+ )
+ selinux? ( sec-policy/selinux-mozilla )"
+
+DEPEND="${CDEPEND}
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
+ amd64? ( virtual/opengl )
+ x86? ( virtual/opengl )"
+
+S="${WORKDIR}/firefox-${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
+ 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 -b "=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 -b "=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
+}
+
+MOZ_LANGS=(
+ ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy
+ da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu
+ fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM
+ ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my
+ nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru
+ si sk sl son sq sr sv-SE ta te th tl tr trs uk ur uz vi
+ xh zh-CN zh-TW
+)
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-i686/xpi/${lang}.xpi -> ${PN}-${MOZ_PV}-${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="13G"
+ else
+ CHECKREQS_DISK_BUILD="5G"
+ 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="13G"
+ else
+ CHECKREQS_DISK_BUILD="5G"
+ fi
+
+ check-reqs_pkg_setup
+
+ llvm_pkg_setup
+
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+ MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+ fi
+}
+
+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 pgo && rm -v "${WORKDIR}"/firefox-patches/0033-LTO-Only-enable-LTO-for-Rust-when-complete-build-use.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
+
+ # Initialize .mozconfig
+ cp browser/config/mozconfig .mozconfig || die
+
+ xdg_src_prepare
+}
+
+src_configure() {
+ 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
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ 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
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # Use the MOZILLA_FIVE_HOME for the rpath
+ #append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ 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
+ # Linking only works when using ld.gold when LTO is enabled
+ mozconfig_add_options_ac "forcing ld=gold due to USE=lto" --enable-linker=gold
+
+ # ThinLTO is currently broken, see bmo#1644409
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ fi
+
+ if use pgo ; then
+ mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+ 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
+ elif tc-ld-is-gold ; then
+ mozconfig_add_options_ac "linker is set to gold" --enable-linker=gold
+ 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
+ if is-flag '-g*' ; then
+ mozconfig_add_options_ac '+debug' --enable-debug-symbols=$(get-flag '-g*')
+ else
+ mozconfig_add_options_ac '+debug' --enable-debug-symbols
+ fi
+
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ else
+ if is-flag '-g*' ; then
+ mozconfig_add_options_ac '+debug' --enable-debug-symbols=$(get-flag '-g*')
+ 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*'
+
+ 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
+ [[ ${MOZ_ESR} == 1 ]] && 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-location-service-api-keyfile="${S}/api-google.key" \
+ --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google 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_annotate '+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 screencast pipewire
+
+ 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
+
+ # 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
+
+ # Additional ARCH support
+ case "${ARCH}" in
+ arm | ppc64)
+ # Reduce the memory requirements for linking
+ if use clang ; then
+ # Nothing to do
+ :;
+ elif tc-ld-is-gold ; then
+ append-ldflags -Wl,--no-keep-memory
+ else
+ append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
+ fi
+ ;;
+ esac
+
+ # Allow elfhack to work in combination with unstripped binaries
+ # when they would normally be larger than 2GiB.
+ append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export MACH_USE_SYSTEM_PYTHON=1
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Build system requires xargs but is unable to find it
+ mozconfig_add_options_mk 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # 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/firefox \
+ "${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}/firefox-bin" || die
+ dosym firefox ${MOZILLA_FIVE_HOME}/firefox-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}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js all-gentoo.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.js"
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-1 \
+ >>"${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
+
+ # Skia should be working by now ...
+ ## Force cairo as the canvas renderer on platforms without skia support
+ #if [[ $(tc-endian) == "big" ]] ; then
+ # cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to force cairo for platform without skia support"
+ # sticky_pref("gfx.canvas.azure.backends", "cairo");
+ # sticky_pref("gfx.content.azure.backends", "cairo");
+ # EOF
+ #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
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${FILESDIR}/icon/firefox-symbolic.svg" ${PN}-symbolic.png
+
+ local icon size
+ for icon in "${S}"/browser/branding/official/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 menus
+ local display_protocols="auto X11"
+ local icon="${PN}"
+ local name="Mozilla ${PN^}"
+ local 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
+
+ cp "${FILESDIR}/icon/${PN}-r2.desktop" "${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
+ done
+
+ # Install generic wrapper script
+ rm "${ED}/usr/bin/${PN}" || die
+ newbin "${FILESDIR}/firefox.sh" ${PN}
+
+ # Update wrapper
+ 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
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+ # does not need to be forced into the LD_LIBRARY_PATH
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ einfo "APULSE found; Generating library symlinks for sound support ..."
+ local lib
+ pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+ for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+ # A quickpkg rolled by hand will grab symlinks as part of the package,
+ # so we need to avoid creating them if they already exist.
+ if [[ ! -L ${lib##*/} ]] ; then
+ ln -s "${lib}" ${lib##*/} || die
+ fi
+ done
+ popd &>/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ elog "\t ${plugin}"
+ done
+ elog
+ fi
+
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ elog "Apulse was detected at merge time on this system and so it will always be"
+ elog "used for sound. If you wish to use pulseaudio instead please unmerge"
+ elog "media-sound/apulse."
+ elog
+ fi
+
+ local show_doh_information show_normandy_information
+
+ 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
+}
diff --git a/www-client/firefox/firefox-81.0.ebuild b/www-client/firefox/firefox-81.0.ebuild
new file mode 100644
index 000000000000..c92df895d0b1
--- /dev/null
+++ b/www-client/firefox/firefox-81.0.ebuild
@@ -0,0 +1,1035 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+FIREFOX_PATCHSET="firefox-81-patches-01.tar.xz"
+
+LLVM_MAX_SLOT=10
+
+PYTHON_COMPAT=( python3_{6..9} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="pgo"
+
+MOZ_ESR=""
+
+# 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
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils llvm \
+ multiprocessing pax-utils python-any-r1 toolchain-funcs \
+ virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~{axz,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${PN}-${MOZ_PV}.source.tar.xz
+ ${PATCH_URIS[@]}"
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+SLOT="0/$(ver_cut 1)"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+IUSE="clang cpu_flags_arm_neon dbus debug eme-free geckodriver +gmp-autoupdate
+ hardened hwaccel jack lto +openh264 pgo pulseaudio screencast selinux
+ +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
+ +system-libvpx +system-webp wayland wifi"
+
+REQUIRED_USE="screencast? ( wayland )"
+
+BDEPEND="${PYTHON_DEPS}
+ app-arch/unzip
+ >=dev-util/cbindgen-0.14.3
+ >=net-libs/nodejs-10.19.0
+ virtual/pkgconfig
+ >=virtual/rust-1.43.0
+ || (
+ (
+ sys-devel/clang:10
+ sys-devel/llvm:10
+ clang? (
+ =sys-devel/lld-10*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:9
+ sys-devel/llvm:9
+ clang? (
+ =sys-devel/lld-9*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-9*[profile] )
+ )
+ )
+ )
+ lto? (
+ !clang? ( sys-devel/binutils[gold] )
+ )
+ amd64? ( >=dev-lang/yasm-1.1 )
+ x86? ( >=dev-lang/yasm-1.1 )
+ !system-av1? (
+ amd64? ( >=dev-lang/nasm-2.13 )
+ x86? ( >=dev-lang/nasm-2.13 )
+ )"
+
+CDEPEND="
+ >=dev-libs/nss-3.56
+ >=dev-libs/nspr-4.28
+ 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
+ >=x11-libs/pixman-0.19.2
+ >=dev-libs/glib-2.26:2
+ >=sys-libs/zlib-1.2.3
+ >=dev-libs/libffi-3.0.10:=
+ media-video/ffmpeg
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrender
+ x11-libs/libXt
+ dbus? (
+ sys-apps/dbus
+ dev-libs/dbus-glib
+ )
+ screencast? ( media-video/pipewire:0/0.3 )
+ system-av1? (
+ >=media-libs/dav1d-0.3.0:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-libs/harfbuzz-2.6.8:0=
+ >=media-gfx/graphite2-1.3.13
+ )
+ system-icu? ( >=dev-libs/icu-67.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 )"
+
+RDEPEND="${CDEPEND}
+ jack? ( virtual/jack )
+ openh264? ( media-libs/openh264:*[plugin] )
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4
+ )
+ )
+ selinux? ( sec-policy/selinux-mozilla )"
+
+DEPEND="${CDEPEND}
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
+ amd64? ( virtual/opengl )
+ x86? ( virtual/opengl )"
+
+S="${WORKDIR}/firefox-${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
+ 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 -b "=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 -b "=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
+}
+
+MOZ_LANGS=(
+ ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy
+ da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu
+ fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM
+ ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my
+ nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru
+ si sk sl son sq sr sv-SE ta te th tl tr trs uk ur uz vi
+ xh zh-CN zh-TW
+)
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-i686/xpi/${lang}.xpi -> ${P}-${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="13G"
+ else
+ CHECKREQS_DISK_BUILD="5G"
+ 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="13G"
+ else
+ CHECKREQS_DISK_BUILD="5G"
+ fi
+
+ check-reqs_pkg_setup
+
+ llvm_pkg_setup
+
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+ MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+ fi
+}
+
+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 pgo && rm -v "${WORKDIR}"/firefox-patches/0029-LTO-Only-enable-LTO-for-Rust-when-complete-build-use.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
+
+ # Initialize .mozconfig
+ cp browser/config/mozconfig .mozconfig || die
+
+ xdg_src_prepare
+}
+
+src_configure() {
+ 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
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ 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
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # Use the MOZILLA_FIVE_HOME for the rpath
+ #append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ 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
+ # Linking only works when using ld.gold when LTO is enabled
+ mozconfig_add_options_ac "forcing ld=gold due to USE=lto" --enable-linker=gold
+
+ # ThinLTO is currently broken, see bmo#1644409
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ fi
+
+ if use pgo ; then
+ mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+ 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
+ elif tc-ld-is-gold ; then
+ mozconfig_add_options_ac "linker is set to gold" --enable-linker=gold
+ 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
+ if is-flag '-g*' ; then
+ mozconfig_add_options_ac '+debug' --enable-debug-symbols=$(get-flag '-g*')
+ else
+ mozconfig_add_options_ac '+debug' --enable-debug-symbols
+ fi
+
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ else
+ if is-flag '-g*' ; then
+ mozconfig_add_options_ac '+debug' --enable-debug-symbols=$(get-flag '-g*')
+ 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*'
+
+ 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
+ [[ ${MOZ_ESR} == 1 ]] && 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-location-service-api-keyfile="${S}/api-google.key" \
+ --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google 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_annotate '+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 screencast pipewire
+
+ 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
+
+ # 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
+
+ # Additional ARCH support
+ case "${ARCH}" in
+ arm | ppc64)
+ # Reduce the memory requirements for linking
+ if use clang ; then
+ # Nothing to do
+ :;
+ elif tc-ld-is-gold ; then
+ append-ldflags -Wl,--no-keep-memory
+ else
+ append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
+ fi
+ ;;
+ esac
+
+ # Allow elfhack to work in combination with unstripped binaries
+ # when they would normally be larger than 2GiB.
+ append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export MACH_USE_SYSTEM_PYTHON=1
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Build system requires xargs but is unable to find it
+ mozconfig_add_options_mk 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # 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/firefox \
+ "${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}/firefox-bin" || die
+ dosym firefox ${MOZILLA_FIVE_HOME}/firefox-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}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js all-gentoo.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.js"
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-1 \
+ >>"${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
+
+ # Skia should be working by now ...
+ ## Force cairo as the canvas renderer on platforms without skia support
+ #if [[ $(tc-endian) == "big" ]] ; then
+ # cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to force cairo for platform without skia support"
+ # sticky_pref("gfx.canvas.azure.backends", "cairo");
+ # sticky_pref("gfx.content.azure.backends", "cairo");
+ # EOF
+ #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
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${FILESDIR}/icon/firefox-symbolic.svg" ${PN}-symbolic.png
+
+ local icon size
+ for icon in "${S}"/browser/branding/official/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 menus
+ local display_protocols="auto X11"
+ local icon="${PN}"
+ local name="Mozilla ${PN^}"
+ local 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
+
+ cp "${FILESDIR}/icon/${PN}-r2.desktop" "${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
+ done
+
+ # Install generic wrapper script
+ rm "${ED}/usr/bin/${PN}" || die
+ newbin "${FILESDIR}/firefox.sh" ${PN}
+
+ # Update wrapper
+ 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
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+ # does not need to be forced into the LD_LIBRARY_PATH
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ einfo "APULSE found; Generating library symlinks for sound support ..."
+ local lib
+ pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+ for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+ # A quickpkg rolled by hand will grab symlinks as part of the package,
+ # so we need to avoid creating them if they already exist.
+ if [[ ! -L ${lib##*/} ]] ; then
+ ln -s "${lib}" ${lib##*/} || die
+ fi
+ done
+ popd &>/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ elog "\t ${plugin}"
+ done
+ elog
+ fi
+
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ elog "Apulse was detected at merge time on this system and so it will always be"
+ elog "used for sound. If you wish to use pulseaudio instead please unmerge"
+ elog "media-sound/apulse."
+ elog
+ fi
+
+ local show_doh_information show_normandy_information
+
+ 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
+}