summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Deutschmann <whissi@gentoo.org>2020-06-03 22:27:56 +0200
committerThomas Deutschmann <whissi@gentoo.org>2020-06-04 01:54:19 +0200
commit50e9b7396ae310ee09b6c32ce8ed16ef7713ed12 (patch)
tree28b60cf20723e2c91966557240036937910c813c /www-client
parentprofiles/package.mask: mask x11-themes/fvwm-crystal (diff)
downloadgentoo-50e9b7396ae310ee09b6c32ce8ed16ef7713ed12.tar.gz
gentoo-50e9b7396ae310ee09b6c32ce8ed16ef7713ed12.tar.bz2
gentoo-50e9b7396ae310ee09b6c32ce8ed16ef7713ed12.zip
www-client/firefox: bump to v77.0.1
Building with gcc-10 is currently broken. Bug: https://bugs.gentoo.org/727028 Package-Manager: Portage-2.3.100, Repoman-2.3.22 Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
Diffstat (limited to 'www-client')
-rw-r--r--www-client/firefox/Manifest93
-rw-r--r--www-client/firefox/firefox-77.0.1.ebuild917
2 files changed, 1010 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 2a2111d6ef95..738995c03fbf 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -461,3 +461,96 @@ DIST firefox-76.0.1-zh-CN.xpi 595481 BLAKE2B 593d929e6af40f814cbea9b6799dcfa5347
DIST firefox-76.0.1-zh-TW.xpi 593884 BLAKE2B 7077379bac353dae92b962e9dd209d80670b7eff466a3fa98bc171e8e679c96f1f6bd96eb33bc28761ea062dd915aa783bf48a026574a771e1dace93e32125b9 SHA512 dd93fd2960bbd724f3a2dde4a38491a5571c3051adc933088c18db2fe1e53e9b3ba88b40d391d3843ed44b957066447ef06a964610f97dad6f903547f9bb4ede
DIST firefox-76.0.1.source.tar.xz 323251680 BLAKE2B d8b53e43e6f6a84387129099e50d4cfecb02269407f1fa4babf9e8c75118c244029a68dd772333f34b2fc3e77ad1bde0087b2d91e16fb4b28f9ce7f556389431 SHA512 188d7dc51200662048f808e32eced55979a69059bf88eac8386307f9371adad4ca524819d99a001b6d900147b8f216d5d330430f15f11eae0b01cccf8f39681f
DIST firefox-76.0.source.tar.xz 323886744 BLAKE2B 6efc4bb891300918f1ff9fad7b68dc9fc7e923778e62e44784d5992ba902d92c77d1235aa5f82c8934fb356830bfabf68bda4200b19df1f6160a4426f17777f4 SHA512 1f023861aaed0468f62135d3ef1098f599111df4e8f231e19baaa54e4bad0e3ddf8575895467ffc9f72bd91a2f6ed5b55096fe4932685e4bb58871e004c184db
+DIST firefox-77.0-patches-01_pre7.tar.xz 20312 BLAKE2B 99f7c36488ca0aedaac788dc2f2d76b33cf3df2bbcc4fb41d99152732bd66674dfddb0fd8c75713e4fde3d4a1fe813ddbfb4c1819b1867e04a60bfeb1f1f096a SHA512 c13b27307634e33f51ea354ea88ded3aad61f2a58600ab0800a333b2919680f732d6c38634b935d9438513361a0227a820122d2233dd1f120acac699a225532e
+DIST firefox-77.0.1-ach.xpi 494093 BLAKE2B 780cc3ea7ca743058e1f1105c0fd2c8ad4ad5a78075bc3e7813864face18f1620126c9b059d1723f240654b5bc974d4b53669f58f79f5cce2e52377436117228 SHA512 2e3da0476e6c70540d18ab94c27860d72906081ca38858dc07f033150a9ce67894aa8449b1a2757e4a566ca690dcda17726728e69d37f51deed9b938f7e7f538
+DIST firefox-77.0.1-af.xpi 442418 BLAKE2B 829b6de967e5e9298d9dd29e9d93ac60e9f91e1cbe38cd07c6cebd057e0f6678e8a0b1f926df5f1c94bc4b4ac0f68609e42d285b8612fd5c2a9c836ba1aa08a8 SHA512 9959d1ec14faa04743bb4d496ddf32eef910e768c8bf78471e645f465be8e6a5a14d721bdb770b1249f36c13e58220b70906268c56bb3f126c0e02a6de649e9a
+DIST firefox-77.0.1-an.xpi 516658 BLAKE2B 54c50392f4f0627c42503b2b10c1c306cf383de52af176683a7a706c74738c804c2ff45cd09e68e6ae792bddaeacc605596d073470e1c9f7deceed9f77730007 SHA512 84ceb15f1d8e41b8fa2444e54d01c22767e777d170b17ab2876716b2c81bc041909bd7367b80b19e465347e93036fa70f21c7e399f721124906a5663d3fcd100
+DIST firefox-77.0.1-ar.xpi 594310 BLAKE2B 545a8880e6f26fe16a241811652692efb52d35206eea163b5d8f8ab7ec7e00de692811b1ef0f5a7b33949e6219dbc7ddfb8bd065c3a2a1edd0776e8cf1c63cbe SHA512 46f0df8c8919d1d183c8e2f2de7cce3bcbe78a118cdff28858d5941f6925d07d00b995028480fe8357139b4aba23780f670763b78d7e821150858f8faa5334fd
+DIST firefox-77.0.1-ast.xpi 505455 BLAKE2B 565d4f9c90234860681b285b158248a2aa3b6eca48959f8520ef80f7252d08ed9b15c50d18c9e5d2d07beebfe57f3d5fe695add0090b54e7ead00ab6dab2f555 SHA512 922b4cf638ca6f12e2e10de22ab1608de127a932967d993ac0e69ca35ddeddaca9b91c167a281835dc386f48e1826ab0eaefb9d4c53e58486997c64b583af4de
+DIST firefox-77.0.1-az.xpi 541956 BLAKE2B 9afe6f68710744e221bb513a87bcebe7d78811715efba7b28f8cffb1e9af90f085056ddd3301554a801b7111ed7c46dbbe957a963bff8feef1b1c45bf59e0ec8 SHA512 a368a9e99813eebf2fd1d8f016506fbc733ee4e0f80e858b278ae40b5baec47dda38db24cfa8e99e858a370fc76b9fd2cb59afe1db08f95d15736a1769f10794
+DIST firefox-77.0.1-be.xpi 645154 BLAKE2B 52c47578b3ac0500aa8dc32547666f121483d48bbc2a3e41e6bf6b7c7d77cc7be416bfa11011b2b0b71b28d20d0ef49b490709db6fd4ac2f463ebe7906ff5b97 SHA512 0e2c9ac5d1de879b554f3b25c4af871b8ff8a0f308bd3be71996c4897e3fc18f4bf565e287b680550257a913c7b96a90beed909ffbb1b0e5368886fbf126e3d4
+DIST firefox-77.0.1-bg.xpi 614850 BLAKE2B 032c3b67535f26c496eaa08c34fa0593921a6503ec95fd3f22d709cacd46b3927e48e7c58bdc5eb6db5faf9899c04dce64e1e3f4a7156690b30f0f01fa4438d3 SHA512 50716a6b9229654208c4f528ad6f839f06090eaef6c0ba22bcbaa1666e3ca98472ccb846d86300cb8d1b379b05bd5e9ea9c7fdf965730410545fdd3c02184562
+DIST firefox-77.0.1-bn.xpi 637289 BLAKE2B c3465f189735aa9d838475ed01bcf56132f6cf1ee030905174e0c21835dff149e275ab4be3180e5e1364418229d9c59c7a9d12be68c4a56841f3f4539175eeee SHA512 335028c461c75c49debb8316fbc6df10a96d157ba52632bddf07b168a93ed7d9c17745ca78dae17fbaac5556ad176b6e3139fbeafebbbf5bebd41742ab55b7a5
+DIST firefox-77.0.1-br.xpi 554370 BLAKE2B ace55184be1feeffd68c31118cf813b56ee93f89624d75dc5442701b24f85954a49182b0bf3f507575d30470f1a8dd6df0e375955a2294c45ac347d178ba87f2 SHA512 b8139083d2bab32fff4cd64233a3a22cab5acdd9e24878cf22210622114eed693b7823b4aa5ff5220fc45de44385412d3710f1c7385fc180cc5b51e9d37404a5
+DIST firefox-77.0.1-bs.xpi 513717 BLAKE2B 49040a98400e9c7d9ba798642c76a2ddc147ea27ed1abebc0ddc8ded5ae3a960947b686ceea4a6b3aab36f9ff11133f27833d7cbef510c8301e996e67fa435dd SHA512 684c468e768c4edf773075ba70d5debbb2071d32ec1c71a8c733a85ceb876b466a36bbc8b5d1caceb0b0746319bbdfd7f462fb89981fa6fda91fb722d4c1888a
+DIST firefox-77.0.1-ca.xpi 552827 BLAKE2B 37968fd930ccb2365a7ebc5efa3e919c109cf940b484846266b4810342c2449557aaa17b2fc7fd3c1944067d5d77d7c5f20d6952637ec8d5b72ab9b7832b754c SHA512 97b881808e0b7d9488ba0c94e8d129caff48b7fad7d6ad42c231ffd17332955171df76d4db558d2aa3824b3ae592edfd063e8f866f463f90c53e93f6c96cd752
+DIST firefox-77.0.1-cak.xpi 584404 BLAKE2B 4ea946cae91641f51837863d0e6ff59773575ab42f3575197efc81d89d603f53ea6b4c8da1f75099ebe6ae126839b7a56828b1698f74f6e44c85837cabbea3b3 SHA512 4f59a72b2588c29a668a3718099e88bd5345955357783dddfcbfa632e74d4018b57cc361775171da4347478906ed0e037ecdf2d0dddd564ab23ed561a938089c
+DIST firefox-77.0.1-cs.xpi 581154 BLAKE2B 3111bbba4c712df8a2aa5bf64e170422cbc3db26d857e439d056ea9cdf65f4d54134f17d61e3e9bde397b15763fd0e37a950334641fa6779238af7f739cd7344 SHA512 395018b711853ef882cd1ff0954c7b0e23a6aef994e08286bdbe083c1c98e8adfcc562d410c5a8b8fb0613eccbc444a20f2b14bb891015bcdd1cd41313110941
+DIST firefox-77.0.1-cy.xpi 560588 BLAKE2B e98e6c658e3cd332aaa83829487cd1d97b9984a9488a7367655b6bbab5b47347f7de27ab1918d98a4767423c99d993c8b0a905bfe5aff4c6f8b90c084c9f90b6 SHA512 bf69d3b3d27b5c2ba6200afdf9bb351f0113501748f87af8c50784bc6e1df2d5fcc64baf9b517cf810bff31f1c5de25d95a88e5bfdd5ea952b5bce62b54ddae7
+DIST firefox-77.0.1-da.xpi 544223 BLAKE2B d79029ed5046016bba7133a37bae14cabd596c46456719318c54e7bd810153816e0508beacc3dd5fa1130035c0c27f003990d08203aaa6a7a1a663266f1642bc SHA512 e54dd07c42bff718f3ee0c6dbdd4b49b7826b294a852a44863b1d6560570c17a68af27306e23509f6c74b79c010aa4efc0ebd643bf939dd01b3a614c29f551d5
+DIST firefox-77.0.1-de.xpi 576074 BLAKE2B 9dfa044d4e53f551aecfa731f2d9b4b4a6290c406381e780f20b516ad52e51d5750703c13113f97a6f94c98953591198400e393f8772ab3bcd57ec0d571b6450 SHA512 366f0929e3269c0e49756ab2c7d6ba61d3f4662abd562305e6d4d994873805013696901dac411063aef32d3ab6372688fe01b15597b308d81904fe56d5edcd8c
+DIST firefox-77.0.1-dsb.xpi 584589 BLAKE2B a1e9c55e9e7ec3d80a7db8c6788626fd5efa19a47afdfabf36550e86a94e151e3b7b8b83cb4905d72a2944261ccdc44dfc368561e04afe77cc5c126b318113d6 SHA512 9cc8c5ca10e5f7df989104ee6aeeb22650637129d68d7d756165d4142d6909a8081a0019c081c27815f0909f7c0638a35b2b388ed008ae5a9f12483d32e258e8
+DIST firefox-77.0.1-el.xpi 647875 BLAKE2B 7f8ec79fbe206f7180be2413a701fb5b88d7965404ea71f65e5acf39f242da07dd67a2efc4d0415206002a0334376b0fc7a5aad28356c1a02ee6fd019fa428c6 SHA512 bc20cdc43ca1f83d400543fb9be0cfea797513164eea46b853893f551ad33a22f61b6768f76fa589b4730636c8dcd2b1a81c154fe9e67e5b9f4a82f454bc4c68
+DIST firefox-77.0.1-en-CA.xpi 528214 BLAKE2B d1eec4119098efbd1823ffeabf250dff41cc314a9550a5e7b71bba1ef107b54c6afe7ef86a1f0cc3b16abbfe05fe8f14badef98a06c691d71ff26b40dfc0ad6b SHA512 1c3865796c0f8d05596c39b04355f74f4faa49dcf6d8c75b2b5eb21a6e5fc008d08dfc594580d0d199515ee3552cd70534d69cafe79c3c76ecb04410d083b7f4
+DIST firefox-77.0.1-en-GB.xpi 527777 BLAKE2B 1418d8225a3ce67623c453a08ac2f0217dfd697b9215a7c7d3041762cd958f6e427487dd991a5ddb19377526765bbef837df84e47091c3614a557d53ca665a47 SHA512 66ae394010ec2bfd71fc58967d3426b6bf4fa6abb8f72557f78d51dc3014965b515688b99bbdc4e8854aa154a998d39a387be433bdb4f4d03544410df1a465c7
+DIST firefox-77.0.1-eo.xpi 556412 BLAKE2B cd75b0212682f5047f093cdbed733e6df4f27436e53f660779ea5ca381405f7e7f3b65c5825d7beda5a5f7d03b2857919b3ea992944b9071469e2327fddaeb41 SHA512 fc38c693a5ce10641c6a8c1006f925af60819e3bb86c3bc74a2eba50da6b0fdd3d872ba8ca91bef7913287e15462285f483a5b9d8baeb8108e48dcd99d7cbd00
+DIST firefox-77.0.1-es-AR.xpi 565581 BLAKE2B 51639b4a7756ed79c87f19a213bd2077cd3037bfef4dad5599df04e37312c540bd0423585e09ed6907396c47e3c998b3a4847adfc298903974dbf7a93a76f82a SHA512 73bb18262df4fe761abdde77037a3f29417eebe80a64881f45fee384e419e16ec5df3c7c041db75dbe43ec350690d446e81291fedefa823677459bd2e3f26f3b
+DIST firefox-77.0.1-es-CL.xpi 565176 BLAKE2B 31e829906529ab9b46d74bb4b7d859983f8cd4db2a90e49d8120c62314527ac7d33ddba3a354630bef8cbb76f8138b9eb0219069a4348bd456d730f6d8f3174a SHA512 4d483e1e6ba69ec48fad723dda32438f8039d3004bef23108e1d09fa1b0a318066de1128e43ec9ab938157ffec119e441aaccf998b04f4045d02360964f69d28
+DIST firefox-77.0.1-es-ES.xpi 544053 BLAKE2B 970b260e5c14ecfc4524f213b8545a65730598796a1c8cfdf6f6864e1fbe9d9b9df439dabf8793d0a65915a0163ca5ca9928e68c3a8fdd807e92e87d046d3c8d SHA512 f6c10d7884a830c024799c7dbbe094de3642b0f788aa0b1d498af3695218bb96c01efb3ac67b77de481609e37f984183d86e3a8224c218418f4dfb0f506d2dee
+DIST firefox-77.0.1-es-MX.xpi 569215 BLAKE2B 06bf9aebb992262600350847a48f772516c0ff3bf794e88aec776170f7173d28496889e9992c80f090d7c6e2450fbe31a6cb1d68968bb9bbf3048df0838b2b2a SHA512 845eaa89b940c7d7fccead49a2ccf2e61ca4b229b6af40d8903f5a368751901e5fcc74861c631f1d29a41cf41b55a1835559c98a85f69bfb947a7ff7cbccb0df
+DIST firefox-77.0.1-et.xpi 540401 BLAKE2B 0b77179c092b3dd715d82c2406b38497d0e7adf7f1179a412cd03be6abaf99b97e45e8b7dca4704fdcd1600e3a049b0794b99640fe822c1df7b96b71e9bfa6d1 SHA512 169c4935f2c0b07b898935cb7b77b2922f6307ee497f27593e035a486c50b4da5edd2fd3cbd27c5f3b2b06540d8d8f15da28e78ccee0b3294329b78226b29c6d
+DIST firefox-77.0.1-eu.xpi 555938 BLAKE2B 7e6f14d32bd82e3e64fab6f9e69cc627ca86dd6e366721c595b87cfa6f695426724a2f70019110ccd07e19cd649bb8bf2d3f82d8edad81a72e2b630560c259b9 SHA512 7d2e634147ad9e9711c63d8985eeed2b65d2dc65ebf4f5bcd7281e775ddaae8179eea7c457a760a93569c29882d10723693a6cf9ab779c27225c79bde0cad576
+DIST firefox-77.0.1-fa.xpi 601077 BLAKE2B 8244945903f954770ed8ae423c241a323a8040d42fb8c2c60a919a124656b3bb92e32a7a6de70f81e316f29aef08474d5b61927eadbf4a16d141a2d65c693b2a SHA512 d49d22ec0276c42da0b97405cb35cf147db566e3610bf4c73365297a3351598fb1afa99c61ef518f16ea7a1c9941989c6ff680c723fac30237bfd54af38488b4
+DIST firefox-77.0.1-ff.xpi 542653 BLAKE2B d5be582f4326aec4a2660f0417eeabf67705e9e9060d6982d9c448eadde887183857f655e6b690b16e2fc4be7f343f3587e4bdd07f4526496df6ad26a533ca96 SHA512 d7c1b65050873d03b7e0f07531d01edfcc3c81d7e8294b9fd945423794d58f45589156ec0471788ef63bae61630bcc58d00fe2591392a3c99f98ca35927f0517
+DIST firefox-77.0.1-fi.xpi 551812 BLAKE2B 20a3bdcbe56a6846edfc4f61f9448bcb5eb575292726f59fd8530591bbebf769f437efca4349fe1f5b70c8041ee055633b4309d20c0e7657fd92a78cf77c01fd SHA512 2bc1ea7c1131ab4bc0e31df6de990cb8ac6da221513817e5877fe869ac8a11c8b890a6abfb8afc391332eab872afab7201697fb7f09f62cfda47e8c4dbbcdc33
+DIST firefox-77.0.1-fr.xpi 575987 BLAKE2B 9b65a02b91884a492a7e7adec4aed0d510ea97a1270588971f1a882f1ebf4d307127f50390991a66b405206f7c7c5125bd9498dffe80b0961544ea08fb9a45c7 SHA512 8f4ccdf67108af0c2d592cbb54450410570802f7b80775c911063133842565d168e2530c64b529cb28fc37add5b73901a78b54aa6d4457e28b656e6802e7f422
+DIST firefox-77.0.1-fy-NL.xpi 560909 BLAKE2B 2202c60d4785e73b3241b2b46649d996bc57cbe4e7d4045e8365f2fd2b046d96c07cbe4601ee15f3e563668680333919b518e03a6ca69a2de9bd43a2c67c1574 SHA512 c78846e05627b2dfdd92749ee0e659f2474198babac9114a13bc567d7abb53a1ccd480e8b4a7378877f2866293c849475ba22a63ccab41cec77ff9f3892e4f76
+DIST firefox-77.0.1-ga-IE.xpi 507069 BLAKE2B a93c547c07212147f21a7906d5223c492565b541087235badda59535044e8f3f824bfa622ed04b7c50c481a073160963c23eb193ee06d04619ba7fdc3fd14879 SHA512 b591dad3cb7f842b273486e2049dbbfd479df4b5e96b99dfcf2faffafb28a85ba034daaa215756e64da7882822b5802afa6fa5feb53903bf53252909279dc7c0
+DIST firefox-77.0.1-gd.xpi 547687 BLAKE2B 41700654553df6ae9bfe6a74316230ce8303a812fc52bc8791046ea80ea4ed9560cbbb8fdf1c814694dd69574ab54e5283c735906d400c2c10c516c76abbc8f5 SHA512 b8f7e1c402fc76642e9fbe12481b3ac514e4eda23df53ea65e024e85acf85e967b33394893e57085c8765c1c13c8661fc6aba654394362f008f85323c65ba57e
+DIST firefox-77.0.1-gl.xpi 515346 BLAKE2B c3d39ad8bd7f65d90982a2e8e369ecca2efc2106b20af1b207b1261557d7a88be6301dfde12e94853f6eb68a3c073efe7950c14a56537777faf5bfb039271dd5 SHA512 453330c49ab364ce53d10ae03e48bc5a15b4364a3e32c659889af76d31d023ec37642fb8f15ac0ad3395eab871a196be9ee5a379ca958bf5715e186de09dcc8e
+DIST firefox-77.0.1-gn.xpi 578470 BLAKE2B d0d9a32f9693b857c03dd62148ab4a5e045ba0727c72b859ffef9e7703331ce3b7e051e1019f523b30965b30ececeb9be84266af846b239fa83cbfc0c2529aaa SHA512 49c2a8b3d528562e1406155b792a8c63c9135b6b1d69f8c02cb5dad10cf1b01582d34de630c9424da1afef066cab48c321bdfe1b3e40224c9cdb24e554c96c1b
+DIST firefox-77.0.1-gu-IN.xpi 611848 BLAKE2B fd33fa59a22e6aeec837d6979b6e7d96239b729a3bc5160c4efccfb1474e85cc043d502b52f0d13c6564a85a21ca393709ef7a9fd1d8b4d9ac2b3b5b3fec3042 SHA512 080c5ee6a5486786c52b08e24877a0633fce2535765c413688719c2fd064e8561bb3503e6402bbcbd48083586aa68e427d89b406095052ee11fe06c2ebdbb5e0
+DIST firefox-77.0.1-he.xpi 575499 BLAKE2B 3fb4f14a0cc1f0c108b78bed8d4a48ed202ddd3c1ec5c0f03c82017e379c7013e0a9343ac9112f63dd94fa8ef0e14262ce71dcb50f2c42d296a52f3fe39a3336 SHA512 87997619c5ec10a608a92113895d5a057074e2f4281ece1bbce58c19d002b9fb9de678e396ac4e5122aace66492a483b9b2ce1d8ddf77c692c3d59f27f445907
+DIST firefox-77.0.1-hi-IN.xpi 622018 BLAKE2B fc605a043fbae70499355923d55273665cc710c4aeb76fcec1df1cab3a0dbecc638f886c3b7108c1295aa6694a785dd1b70ca6477f3f886b05b3798c82d208e1 SHA512 7f3799e6bbb34c3427377362a6f450a4eba7f6d6fa02098ee8386427e20af8fea97ee1f17624fac0b53be10e1bce66c100fd5e3c03b2060f1026e5e8ba3b184f
+DIST firefox-77.0.1-hr.xpi 557588 BLAKE2B 10bb64ef2fb6c17d6fdb0f91b12da8462eed255f086ea2ee6034d1aa784e0385b9a149bbbe8cca5d31e29155885dc67809ed58c4b38c42a7d4de8babbd881e33 SHA512 041e971dd70551f3b7a295e5cb7b9c90da4f807cf66842218fa34dd04745c43cb208722c5f862cac67913eb64b3517030be629b764dc821632eb1fcf2b4daa83
+DIST firefox-77.0.1-hsb.xpi 580071 BLAKE2B 7dca1adae8525232c7eb765bf64efa9a159d72c1af9cdf8c115c21e1830105f7c10cc32493366e4b74287e64accf5a4e81c733c67da181968d482ece73933f90 SHA512 b9ab4c74d51d17dfd8ff7b954d076b9667717ae35a69403bd549aac5a444a619d2683571a8d3b72161b27e4bc131904bbe4b1f5928e408dfa5276f522d12b809
+DIST firefox-77.0.1-hu.xpi 586295 BLAKE2B 0f535e3cb212a56650c0e3858e6f6cb25ba5e943e09fa1a728b3bcfc381aec215cab24acd1684cca12c916ace5728ce4b6b6ca4978f7c7bbd4aae745c4502c50 SHA512 a2cbbb9d0117a3ae937a1a43ede681418cd765ae8aadeca2fcb7e64c35e85c783987b533f353b38585f025639a8150dc6b917c6a117f70c7995b654dc48e7344
+DIST firefox-77.0.1-hy-AM.xpi 637656 BLAKE2B a86f58eff71aaa4b99dfb97cc8df70818b445193531d4470b88ea66cba75753a31d93cd69e57a11cac4977841cefbd18fd32bc8e57449fe4afd8af6a98d054c3 SHA512 15e29147be0dac2845ab4101e69bc891ccc7132770d89e4ddb960388dbcb3c1fcae64532e648bb6ad8c8121237c58aec4378c4a77db8c0504e2df1fddafad769
+DIST firefox-77.0.1-ia.xpi 544137 BLAKE2B 91038012f5fcb49a01e148598ce6605d9ca805240b3cca53c11cede8dedc4f2c4db43e1b563fc77ca9a98025b3651303c4d8a716e3338759e576c1f4e9283fb2 SHA512 bee0db33a9e3bd876947c38cf99c213adaa53de73aa22ce5660cb14c54333166fe21990709c2cff34c024a963ed3d449901f09b57bdc620f9a91ba923d50fc8a
+DIST firefox-77.0.1-id.xpi 547523 BLAKE2B ad64f16554d5a039f655e36bc75e184f6da9aa8637b34f9e73e9e29ab53c3410e4a9cfa6df082d39ec1db249c5c7b14200632b0a9d049260f25fbaf17e2f4472 SHA512 1be447a5da4dc3e363eaf3eae5768db49b05ef9bf667084f01e8f7e8dec4a69912468e27447311fc954cc82270fa38751b313c0917f4f7386d19fb46f8a9af17
+DIST firefox-77.0.1-is.xpi 531101 BLAKE2B de4fc280fd526b5d00675ac4ee47c8b496ad7b41ae454f05ce7955dfc8e79d84f94141eade363df898f01e7ea2c013b2c5dacce092843a50d8b6140bd014e8e6 SHA512 25709563743e0a96c88f5979b7d0f7cfa8142161359f155da267ebf1619c1505b3a61fbfb1e56250ae334e4ae8158dff47972611c88353fbbd61a966a96fe325
+DIST firefox-77.0.1-it.xpi 446609 BLAKE2B 8eb6b668cfbfae87cf1f6b6b275c2bdee450619c73e78ef2e8fa1c83b6862a5ac49f8fa8ae4eef04a1d755756ce1ecd601c5b25a2235d7b0e143be99312e4873 SHA512 18249c67b036eb26ffc63a64298d90ea737e55ab623b4a96d747a036408b5a6691fc5da5db0ea15602218cfa7bcea87607da7c7e49036276619461faab62a3e7
+DIST firefox-77.0.1-ja.xpi 606874 BLAKE2B add0a8bdfc3f39dcef3ce334fc2db3887f22c744871f3af07a4c73aca16fca386103ab1a9a33a69d22f806011590ff825cfce2751a29d8fd969a1092ed66e6b7 SHA512 1dbf98b334573b38086e27dd6dc774a28af054f252ee93441e46518afcd2d0923903f73cf13e7cfbe748bef5efa765126732df46871264343e6a41f7ed35f583
+DIST firefox-77.0.1-ka.xpi 608081 BLAKE2B 358f5542b2e2b1d81150ff400873eb7872310942b9458085ad4aca0858ab954d330f105b982a587058c7f5f198f3c8f140065bc7a06cc559ead047bf00d574b5 SHA512 08eb02789ccae91bdefb290b8b7380aeb79f01438fb788803c7ff33e38b92ae70fac031cb93ac7fd9a490daaa1c132b3b46575bff9b126933a4077145e6a3c7e
+DIST firefox-77.0.1-kab.xpi 567984 BLAKE2B 67f053545d1a25ce63ed0a155fbd9170ae4dd31d763a5a36013599ad735433034d446fc21ff7832539446b8b6d5dcb00f36b7c7f16c5c2c77437e2bef67d825d SHA512 20745bcdb429ea8b046a165ebd786660b08c71234fdb5af167206aca4cd426e7bf1cb334fb7a6ebb29d199b2a1f06c5b449325fe87b0785324afcdf77d826344
+DIST firefox-77.0.1-kk.xpi 636209 BLAKE2B a2bb0dfc5fb3d81eaab7ad4d8b2d7f8a627d2022850b243001b45aa4805315bc27a6568128784841722551972b5b552db3d6d9ea826dca6660deac93165369fe SHA512 f691dbdef1fc58507ff479ce9f53022b93a4a369beae489de01739538661fff9a85a992a7e5909b4145877af7a71335eda03cd37b9c7caf793bcec0f88163e6d
+DIST firefox-77.0.1-km.xpi 581217 BLAKE2B be7f74e3b411be503b5a772251cab15b999e987654f17f68b77a4575add89494f9ace230f89dc93de4a16746611d95afba3260ab87a183a7146b5e4f3d8c2998 SHA512 9144d8bbc3478402338d5c0722f0574d803ac163f4d8dfa574a1bedaff275045accd39cd55de133190140973038be280a0cc8f47504c8ff188a29f4eb08b6851
+DIST firefox-77.0.1-kn.xpi 571488 BLAKE2B 1415d10f95ac5ba465bd02bbed222c5f35eed793ab9f81e4c326f4ccca0fdac26b25c5c4a138b51022b26285a22c26be506310519e87da77a5c8bdb1fd43a699 SHA512 8e386d4877bcb772fc55dd165fa9dad619f5d83de0ae61c29a4abace3938ea88d7a63a5e522d54e860c434112b0368cddef4c59458212a062a6059e24ffa2fcc
+DIST firefox-77.0.1-ko.xpi 593681 BLAKE2B b2f1c7dde75b7de22a0d78ebb076fac79f93f2ed1cdda1c8b44e669dc7e289a8ced5d606ce3bf65ba7628b745cf4ff03412070cf61575da333cdefa448bed9a3 SHA512 528f13bb0a3bc8806a2f7308e756bfbefed108a63cf1b22027e258db5e204f9eb58468eb0469a8e640772fee200773603684a40b6ed327d83917c5760152a1ac
+DIST firefox-77.0.1-lij.xpi 522984 BLAKE2B 0688d1d042090552af12552feafb97f41a73400024c40a2bdf8d185945c94d62d86fb2ae21973829dd0125d15e93292d6978fa33cd30f115166ed8714c4eab31 SHA512 b3e11bf633a213f19d18dc12f0a9e0f4778522b7e2cab1ce3e1dcde5d42d9228d51101c06c9ac37a76942270dab3b2efebfe77277b76e484e498801a599c75a4
+DIST firefox-77.0.1-lt.xpi 582708 BLAKE2B 37e7420bc4e2257f1426c317dd2c9d121993a4b035bfd20a3e700260c00bd567ff0b988279d92011ba952b29f19d8f88dc6aeaa5cdc269a19c9028cff79c5744 SHA512 020851b9bfc76b7abd891f00ec9e603650a3f2354cc2ed442203a55597501e231a8c599a19d0b416a88995d1b498a7d1bbeb1260ae455143d4affe5cab6d4ef0
+DIST firefox-77.0.1-lv.xpi 530450 BLAKE2B e39e632ed5f031d2dad03d7f34eeec6482b17b43ec4a3e76331c00d8c5f77b6f8c24f4484f801926339fbd93e0e378fb369e293dc195d3d9a2a6e526401113de SHA512 b6989d3e07304cf4bdde7a1662235b2039d4b9ca3c6bab16bbaee0b2660e788d1e9a77d40739efed500308cbab453ebbc63446dce9042ab65461f1b7b3d2d4ed
+DIST firefox-77.0.1-mk.xpi 497021 BLAKE2B 0f239124244e5dfa1735bb0e395a9b27431b8f28d47053bbe25f31e00445b3448a1590a224f0c660fa2269f4dd9ea77d9fd3f9b5758f603ed1e91a76efe3626b SHA512 1d6737218a86aa20d43d64be2b36f5923f739b80c9e3c36285065d918cedb818343df96289722cb04bd8404005cd0a335a76a057acf1b8b4e3ae237ee336ca60
+DIST firefox-77.0.1-mr.xpi 609594 BLAKE2B 75493e8664b69f6116b8a936e45a87e3b1b42d9c3ed93422eaebc03035894f502b7ce2f435d0e67943590f53be54f996ccbd84c9eaad47e40241d6475295a6cb SHA512 afa65cba80621b5b437dff3e9925328c3b6928bfa48350e68af52dcfcf9cc7ea11506a7f06506f041256efc9b9c76515a26bacc5d8e44451dd57ab9a89f07f82
+DIST firefox-77.0.1-ms.xpi 510292 BLAKE2B e630c402b781a531a46420d7209d145d6eeb4cfedcd37482aa1007de82849720162abbfc1653693c22710a62744b3392e3b99e0e5cc80af7955347454f06b31e SHA512 08fe18bfe3b24696b48f3483b200fdd3ec6a1600ac908dbc827a8c290d28a555f951e324280e5126e66328b7ac0abf0bb461f7715ef1f8d6beabf1cc7698423c
+DIST firefox-77.0.1-my.xpi 573507 BLAKE2B 1c33ac6dd569e018b8d9b7af4a177cd322ab1363401d4e02a6511b561691fd88d35003bfeabeaea79583c496e1f62281bd3e652cca21197ec66415b1724ccc61 SHA512 5493ef7d5c43e22d50b8864b7b947e22b97a0dd34cb4b693f01f70475a05235622b462278eccf1e4f69db2931e3ed6b33cf17744857b8e9ac0722ad611bde103
+DIST firefox-77.0.1-nb-NO.xpi 547037 BLAKE2B 1a0cccd2a6234775b34bf23ce4d15c00daaf7152e2567996adddd04da0e5d973d3f7a4b15af570965012c5900c7af36b0dae1c02bb6926e5f3c8d5d0f40656e6 SHA512 867be418fc82c9a9b34a9f03d59378155b465f57d3f1279ce1b7f553fc28064122dc623aceeeac27d56c8a68947c545eb10c41f60bde1ecc674a753d77c4e9de
+DIST firefox-77.0.1-nl.xpi 550244 BLAKE2B 57739646c8d5306dc020c2c916134aa33e86083c4611783c11ade62c26090d1615c9756fc8d20c492b55f4f4bf46f0c77aa9f80233c25f3a93c4375499ee00ee SHA512 a7ec20579365e890fae52bb5063d031461db090f246ff8085dbb61b546e7c1c3d7502f5479d218a12546bda388326ce1adfc52d09b45df72ea982d76260ae7b0
+DIST firefox-77.0.1-nn-NO.xpi 548967 BLAKE2B a3a6db4eb44999e8044b0f62974e9af278ac18e6692930ed80807bb57743bd47225ff3ebcb2c48b0d7d910c2ad26e37202e55b1de94b67fcf0e152915bffb5ca SHA512 ffe2b8d82a40bf7a6832d5f2fb44213530fa481c8a28d430ff5dd5135754e6a5d26718cafdee742e293e61cc53bd540daa63c763c20c3962651f71980599a7ea
+DIST firefox-77.0.1-oc.xpi 567665 BLAKE2B bc3bddaaad3924a0e222732c36c233eedb3ed6d14c790b0f055ec1f4b41f749b9e3bf70254897aa799c64c05611987fccf6e2bad92360eb2493fd5c6ec132bca SHA512 e127c20a3c7fa2369633df185d8229b3fe511ee92afd3f0a05f34053f56a058f48dbe1072d3332ddb7ffdb3f8391d0c33c1c9b9a92ee49c5997ecded7c967638
+DIST firefox-77.0.1-pa-IN.xpi 603404 BLAKE2B 8cb486862452598e160f8974f1fb74a6cbf0d0524e6ad943bffa881ad8babdaa235f5df72ed9c73a704acafdea528e95a0857781894ab6a0a7be846d9d85d3d2 SHA512 c85857af3483356f25645bba385668c3b986575b564f3d1d47e88401c9311ec7290e6def9e3d4b6c79e6f9480e658b0326f34b61480424fa63da07e166abf3ed
+DIST firefox-77.0.1-pl.xpi 565658 BLAKE2B e25cd7b582af69463acb321666cb23f955f8839370b1294171d80fa5aae76ba75903ded235bb447e8ddd90bcf5503c9d9964b86bf662637f9d81c2631f9c0ca5 SHA512 69447a4381b9bbcab9007076d04de5938b4d092687b40189ca62a1c138b83f5e9f6e6cd735b0c29036144dfdca34ea2ad0debeb06424fc5a8414927082c3a1a4
+DIST firefox-77.0.1-pt-BR.xpi 550569 BLAKE2B 20800241b6995d6486e122c0f1f3da126a3083245d682c731cbb217a028fa70f25ca884a15610fcf0141315ffb076cde5730d27ef1113af526d96e314fb846cb SHA512 7d7d32b220f51f146a54d4a3652306e8e551e2d426e5b7f3e22d5f4aa81985b62fed2e1503ff76038fbaa0a5249e93be4062521ca4525f6efc981eb5f3405736
+DIST firefox-77.0.1-pt-PT.xpi 561743 BLAKE2B 6523e2e84790a23283fb9708cff74500978e6428dd1843281b285326ba7f9ef5cc205023922c131cd43842483ac3ec402c31e7b9b55544a79bf9720c94da4bea SHA512 0446f255af2db0475383279a3bd48f4ce9b84743161daf783bbb3e4e4720cdaff781603137e0cdd95249a2ddea6d4b1d7270bc75c44a7ddf0339983336345eca
+DIST firefox-77.0.1-rm.xpi 553786 BLAKE2B 7f469d94e00d7b8c3043ce3cb24e1e57667e3916a33da068c225a2f75f9d6710ac91bd55d9767d321e71c90060388de6a77f9617a50a730bdcdd21b310796a27 SHA512 f12d9d7d6a4bdfc9650c340597e249ca843cf5f509aea44c1fa09979d9af6aebb9c452cd4441260c8ed6ab32dcf144ba7ea220540ad46d8db71e58cb5c803b1d
+DIST firefox-77.0.1-ro.xpi 567574 BLAKE2B f62c153236fa072464517e09c0628df2d834b005bd7598cbedc52be6ddb48b2af8f6343b9bf47bf7cd64b40950a68e41f2b5b64dbcd1731078b39e064f47fe94 SHA512 dd89ddcd98a10eab280ed3f2ac8505dca534a201c54e47f1667f9dfa4c2720e3dd0885641257b4d00e6f30f2715cdcb552747280cc31a58c6d772444c92c1396
+DIST firefox-77.0.1-ru.xpi 647078 BLAKE2B ce076c8ff16bb9c17b1cb3c0e0f8e6ba8403d0797df547e55c25a9147ba96e3b607d8def09aa0cc2b12944bec3afa25215d7c23363f58e61736a0c25de539488 SHA512 f9e91e54af02a9c227f3f5a3e58e6d0cd3959e18172414fadd5d01cb62b7a8bd129d197eb2e4243224e59b2d2216ec1a4b6f926f0fbc8c49d48381259ab037e4
+DIST firefox-77.0.1-si.xpi 549952 BLAKE2B ad01489eb43f0aa65634bde207333c27af3f6bd53dc2b26d21c4e15840ff229f78c65c2b6e507889b98c98e6d8af0dc0f0997d2361d653202305b80a12b7d617 SHA512 8038b3f74282918c1d531c867d885938626803565e373fa32a3907e91c7fd7db52f691406b2004ef415b7812335bd6ec25a04a773ed8c41bbd551b953a3c0288
+DIST firefox-77.0.1-sk.xpi 580412 BLAKE2B b5afd0c8b65836c1901597bc6903c618caf2b4da871279cd9a0288071d18f18a43501ab388420d7babbfd5933ba46b65a546351ac69de3710b59fb99b68af281 SHA512 65fa08a791552ab733b94be03b49907fc10f57af22b2fcefca3d32d107d13df7a6bf4bc16bf49090e9d5f4b3c10722eaddbf8216dd47093ace73bfcc8308e5a9
+DIST firefox-77.0.1-sl.xpi 561268 BLAKE2B fa6b291f6daee9b18bf097bce3b0ba0680d61286b30cdc10cd3b7515245ef6452822da860cf088351d2f545193f55e17fc47c033ca13706eb86495490962175c SHA512 3f6ecc9d06a5c6caef7f9652a98592b558eef8b899c72ff4a9c046a92444cd94bfc4bd376691c89395da7054d0422384c016e419b703e374d3552a2e9d2348cb
+DIST firefox-77.0.1-son.xpi 473463 BLAKE2B 42339e880ebd731c3d73024516b12c96f3f49122a445000a290960fd0bcb9a63bfef92665364a174b4104591882b67c7e30c1118fbe5aacdf0e86b65877d8ad5 SHA512 b14db793687ad1c74c5a4c61531084759dff0aa4c00b4ba7e32593e6dc94170f794fec2791d5013bc35bf044afeb361b96e72ef0a3b20a6b059ae678ec2d65d5
+DIST firefox-77.0.1-sq.xpi 575019 BLAKE2B be39faa8b9be9a2ebfc6dd022970abeed7d0b0b97902382359b68e6e484da1848638667d1b7aa30c1b1b509f0ef484a6a560d48a17113c626affa893dd5cec61 SHA512 43e8c48954cbdd7578e5ab364a7acf93fc813ffd1342b22abec6d8844f721e5dee43f5638e4397a5d3771576e0f5d624474a639a4c260e8c358c7a545738b872
+DIST firefox-77.0.1-sr.xpi 602834 BLAKE2B 173550094e9262a72b3fefe84e4f454cb3da6dc6fef586e9a072ae40f7554e98eb1b22ee58a20d312951d9aa7da3f389bab0ab02c0e5f7dacfc54291fd35ff43 SHA512 3737b8bc0e9ab1f1d2a60b2b5314867aebd3df0e462a835fb0b16480ceeb99a6fc8443832611544a62d5e583e43c5db295685a7d485033fe0e1b38ed3059e13b
+DIST firefox-77.0.1-sv-SE.xpi 559177 BLAKE2B 42de70c428c6bef3808d49ab0fa282aebd403171fa90c6d42358a5a2d45167eaa3f114bda80090b9f25363732ba1bbfe1b3fa7ed54181ec31ea28bb79a26f7f0 SHA512 9c61b401d79be19852dcc0eff9f3ad0acd2777fee048b66da921ea14dec6dc06803ea5194857c5b44da8634fe7763e267932b07b491447c64c3066e15b9ca80f
+DIST firefox-77.0.1-ta.xpi 579186 BLAKE2B 7b7679ddfb97eb9d31012f5e3df4a456bd81946b40ee5a73863031af76bd67999ebc54e41bbd24cc8ffcc9562934acbcc9065de5375d8e1406e3b92e2fe7ca0d SHA512 cb62b9d28ee27c551c931d2973e2c7f1ae1e3c23dd6b283be5dfbee3fa71c9d80732a0147d3fc773f8b937587bea8d05818d6384bf9a6e159704c0ef76ee542e
+DIST firefox-77.0.1-te.xpi 599741 BLAKE2B 064c2a662dd11849d52e43bda8f63e3f8b13ec3a0a0c1ec4365f382435026fae9165e2ebaff433be8c928d5e4f9ea502b4d5f47511f0419db249d1e2c8965605 SHA512 5afd95976a2b553e27ae5e39161012b1238320d278e7fb12fb5f681b53a04b7e7ebeb65c7f61ee272381412d83e24ffea7d47865158dfffa6a38a98e41a5f0ea
+DIST firefox-77.0.1-th.xpi 624565 BLAKE2B 4a45220f23aa6aa6f3e0985a3c38c0f82bef27e02cf505c18a858b2d1cababab2eac3d3ad71236a089690cd24b0e91c6176c842a1ec16e68e629efa8bca54642 SHA512 129f5b675fb9d4a981d90f9a4887ff28b1c45823b6ece2bacefb0e49c27fa22443ac96f5cd7c9fb40a73d91095bf05bc92b2ea02ff9d74ba4884ea7674ee40e2
+DIST firefox-77.0.1-tr.xpi 573719 BLAKE2B 8567e8a9b719e4e727ea45073df4a7b3668f5bb1b6d51e5b03408bea30d798e22522f2f1d98bda0267dbbf986f582bb4a751bf7c3dfa3f311e76eaf506680d52 SHA512 0ac638a00ccbc8afebcc7f1d067d317060ff7cea2089bb5def59b0f0b1ad67f8f5bd2a0bb36faf1ed537527ba195748280ad4bed95086ddb0d3de60f1265f86d
+DIST firefox-77.0.1-uk.xpi 637128 BLAKE2B a074688c7e99078974c53e3bb1331d7567a07a2b05e7d113e7106bd4aedaa0be1f71bc11845d0afbd44563b1bb15698b94d6bdd08ca40a01ff40f15ebb33b717 SHA512 7fd03d79bfb43baad923f8b09d96f0ae867d59e9949467489901d7f5999ed79126d24fdb99545a5fbbd8d8ffb5906ddf08ea2912e272c52a90b7175af75c5d65
+DIST firefox-77.0.1-ur.xpi 610048 BLAKE2B e1953f125fe0d44b9f0fc5eab6b791f7a93022f74f30b27146876afc48b84c24177530f6b57570591919eb37fe84bdcfd1ec740f654d4921726325318a1ebcdb SHA512 9a9eeef68563e8d7dc050350d4dfec6a36c04d7916e1294e0c048b1ddebb9040d40cf6f2525c19b13760a12e9ab82e78266fdcb192b38c044eab8323a5dcc3be
+DIST firefox-77.0.1-uz.xpi 527675 BLAKE2B fc0f60453c05a2a5375daa941926e9f1730385d32662d2d817421fd0e9c1bb3e23f48a19138e4d05d9aabbe492ac4a2466a30d42c5f031b939b91972d2e66c1d SHA512 27688e62ecf0ce0fd162e29b3289d0af0c3b8bc8eaf9ab1d43ff8fceb949bba3a738ff605f951f8c70963e7694cb692a02c64c82c41bdaf90a019c42bd44fb04
+DIST firefox-77.0.1-vi.xpi 589973 BLAKE2B 2ca28aaafbff59a76ce8fdaced7c36da85f7747703d66668a81b3d4b22bb2d647cbc28a231be5a95b93484b16dabc794d76400d2461d440f93992813af08f098 SHA512 a884527951ace14ccaf0255a0d7c838e910450274a57261b1b60adb7099a6db79e90428c54fb6615bc1dbe862f9d2312046173f58d3bb39a88d2e9aa70e990f3
+DIST firefox-77.0.1-xh.xpi 478153 BLAKE2B dcd5c4e59100cd837b39e4203d4d46272653663530c07f7ce752abc9bc7cd5df1c6f7c74a6b2caa29c6e3f3520baccb0a2a876a65b4bc98064bd2454f2e1982c SHA512 7f79ad0298db406dd33be70760714ba7804a3c91a6252fb1f28b970800d4af54db7238e3dae6fc56437b90820a3cd8c0b1ce2beed62eeb2db99385ceeddd74d5
+DIST firefox-77.0.1-zh-CN.xpi 596100 BLAKE2B 440edc453f303cb4d90f9b665bd0ab421b3dd8849fe645ab02dff2111c7c1efe7c045f8c9febb68d536a51f10f4cbb496eafa39071af6431d11428d0638426fd SHA512 80aa55cc304cddd9fc299b1601ca20642129d23dac1807647fc7e14dcd868825b239baa239809ffb459c1685042e1433699bb3f9d86553eae83f8919fc1a32c2
+DIST firefox-77.0.1-zh-TW.xpi 595265 BLAKE2B 305b43f078a6696f63f721669180b502c2211a7a5d40682f4148e33015f921346865fb3df55a5b8a56fe92a6a86a3ab0ff0bd3f2cd0318e2299ab8dc17c70898 SHA512 5ab6fb6973146b47d5886c93481e010dc8dac0efe0f6ec4f8897cde2539a52a28850b460c27067657ef8a66ab555bce6201da6a3c1f27bc56214f1d9329674af
+DIST firefox-77.0.1.source.tar.xz 334037816 BLAKE2B 94aea1f4b39422333aeda71d296087f3309b595331488666641b20660607373d59f90d6840bafac6f83c3b5fb952f1a5d44a0972549ff9cf9a35a5036eb1565d SHA512 9e02e2842d18b9c94b24457788f117fad4730ca21d05ef8208eb85c6f58da3b0e75fcae8c8ebd38f69b86325b26684d0e5409b3d341898fe28b607e8bd949ef2
diff --git a/www-client/firefox/firefox-77.0.1.ebuild b/www-client/firefox/firefox-77.0.1.ebuild
new file mode 100644
index 000000000000..898518aec83e
--- /dev/null
+++ b/www-client/firefox/firefox-77.0.1.ebuild
@@ -0,0 +1,917 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+VIRTUALX_REQUIRED="pgo"
+WANT_AUTOCONF="2.1"
+MOZ_ESR=""
+
+PYTHON_COMPAT=( python3_{6,7,8} )
+PYTHON_REQ_USE='ncurses,sqlite,ssl,threads(+)'
+
+# This list can be updated with scripts/get_langs.sh from the mozilla overlay
+MOZ_LANGS=(ach af an ar ast az be bg bn br bs ca cak cs cy da de dsb el en en-CA
+en-GB en-US eo es-AR es-CL es-ES es-MX et eu fa ff fi fr fy-NL ga-IE gd gl gn gu-IN
+he hi-IN hr hsb hu hy-AM ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my
+nb-NO nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru si sk sl son sq sr sv-SE ta te
+th tr uk ur uz vi xh zh-CN zh-TW )
+
+# Convert the ebuild version to the upstream mozilla version, used by mozlinguas
+MOZ_PV="${PV/_alpha/a}" # Handle alpha for SRC_URI
+MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+
+if [[ ${MOZ_ESR} == 1 ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+# Patch version
+PATCH="${PN}-77.0-patches-01_pre7"
+
+MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/releases"
+MOZ_SRC_URI="${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.xz"
+
+if [[ "${PV}" == *_rc* ]]; then
+ MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+ MOZ_LANGPACK_PREFIX="linux-i686/xpi/"
+ MOZ_SRC_URI="${MOZ_HTTP_URI}/source/${PN}-${MOZ_PV}.source.tar.xz -> $P.tar.xz"
+fi
+
+LLVM_MAX_SLOT=10
+
+inherit check-reqs eapi7-ver flag-o-matic toolchain-funcs eutils \
+ gnome2-utils llvm mozcoreconf-v6 multiprocessing \
+ pax-utils xdg-utils autotools mozlinguas-v2 virtualx \
+ eapi7-ver
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+SLOT="0"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+IUSE="bindist clang cpu_flags_x86_avx2 debug eme-free geckodriver
+ +gmp-autoupdate hardened hwaccel jack lto cpu_flags_arm_neon pgo
+ pulseaudio +screenshot selinux startup-notification +system-av1
+ +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx
+ +system-webp test wayland wifi"
+
+REQUIRED_USE="pgo? ( lto )"
+
+RESTRICT="!bindist? ( bindist )
+ !test? ( test )"
+
+PATCH_URIS=( https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${PATCH}.tar.xz )
+SRC_URI="${SRC_URI}
+ ${MOZ_SRC_URI}
+ ${PATCH_URIS[@]}"
+
+CDEPEND="
+ >=dev-libs/nss-3.52.1
+ >=dev-libs/nspr-4.25
+ dev-libs/atk
+ dev-libs/expat
+ >=x11-libs/cairo-1.10[X]
+ >=x11-libs/gtk+-2.18:2
+ >=x11-libs/gtk+-3.4.0:3[X]
+ x11-libs/gdk-pixbuf
+ >=x11-libs/pango-1.22.0
+ >=media-libs/libpng-1.6.35:0=[apng]
+ >=media-libs/mesa-10.2:*
+ media-libs/fontconfig
+ >=media-libs/freetype-2.4.10
+ kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
+ virtual/freedesktop-icon-theme
+ sys-apps/dbus
+ dev-libs/dbus-glib
+ startup-notification? ( >=x11-libs/startup-notification-0.8 )
+ >=x11-libs/pixman-0.19.2
+ >=dev-libs/glib-2.26:2
+ >=sys-libs/zlib-1.2.3
+ >=dev-libs/libffi-3.0.10:=
+ media-video/ffmpeg
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrender
+ x11-libs/libXt
+ system-av1? (
+ >=media-libs/dav1d-0.3.0:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? ( >=media-libs/harfbuzz-2.6.4:0= >=media-gfx/graphite2-1.3.13 )
+ system-icu? ( >=dev-libs/icu-64.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
+ system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
+ system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ wifi? (
+ kernel_linux? (
+ net-misc/networkmanager
+ )
+ )
+ jack? ( virtual/jack )
+ selinux? ( sec-policy/selinux-mozilla )"
+
+RDEPEND="${CDEPEND}
+ jack? ( virtual/jack )
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4
+ )
+ )
+ selinux? ( sec-policy/selinux-mozilla )"
+
+DEPEND="${CDEPEND}
+ app-arch/zip
+ app-arch/unzip
+ >=dev-util/cbindgen-0.14.1
+ >=net-libs/nodejs-10.19.0
+ >=sys-devel/binutils-2.30
+ sys-apps/findutils
+ || (
+ (
+ sys-devel/clang:10
+ !clang? ( sys-devel/llvm:10 )
+ clang? (
+ =sys-devel/lld-10*
+ sys-devel/llvm:10[gold]
+ pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:9
+ !clang? ( sys-devel/llvm:9 )
+ clang? (
+ =sys-devel/lld-9*
+ sys-devel/llvm:9[gold]
+ pgo? ( =sys-libs/compiler-rt-sanitizers-9*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:8
+ !clang? ( sys-devel/llvm:8 )
+ clang? (
+ =sys-devel/lld-8*
+ sys-devel/llvm:8[gold]
+ pgo? ( =sys-libs/compiler-rt-sanitizers-8*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:7
+ !clang? ( sys-devel/llvm:7 )
+ clang? (
+ =sys-devel/lld-7*
+ sys-devel/llvm:7[gold]
+ pgo? ( =sys-libs/compiler-rt-sanitizers-7*[profile] )
+ )
+ )
+ )
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ >=virtual/rust-1.41.0
+ wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
+ amd64? ( >=dev-lang/yasm-1.1 virtual/opengl )
+ x86? ( >=dev-lang/yasm-1.1 virtual/opengl )
+ !system-av1? (
+ amd64? ( >=dev-lang/nasm-2.13 )
+ x86? ( >=dev-lang/nasm-2.13 )
+ )"
+
+S="${WORKDIR}/firefox-${PV%_*}"
+
+QA_PRESTRIPPED="usr/lib*/${PN}/firefox"
+
+BUILD_OBJ_DIR="${S}/ff"
+
+# allow GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z $GMP_PLUGIN_LIST ]] ; then
+ GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+ if ! has_version --host-root "sys-devel/clang:${LLVM_SLOT}" ; then
+ ewarn "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang ; then
+ if ! has_version --host-root "=sys-devel/lld-${LLVM_SLOT}*" ; then
+ ewarn "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use pgo ; then
+ if ! has_version --host-root "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
+ ewarn "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+ fi
+
+ einfo "Will use LLVM slot ${LLVM_SLOT}!" >&2
+}
+
+pkg_pretend() {
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server can not run as root!"
+ fi
+
+ if ! use clang ; then
+ # Force user decision so they don't find out firefox was build
+ # without pgo after spending some hours
+ eerror "USE=pgo when using GCC is currently known to be broken."
+ eerror "Either switch to USE=clang or temporarily set USE=-pgo."
+ die "USE=pgo without USE=clang is currently known to be broken."
+ fi
+ fi
+
+ if ! use clang && [[ $(gcc-major-version) -eq 10 ]] ; then
+ # bug 727028
+ die "Using GCC 10 to compile firefox is currently known to be broken. Set USE=clang or select <gcc-10 to continue."
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug || use test ; then
+ CHECKREQS_DISK_BUILD="8G"
+ else
+ CHECKREQS_DISK_BUILD="4G"
+ fi
+
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ moz_pkgsetup
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug || use test ; then
+ CHECKREQS_DISK_BUILD="8G"
+ else
+ CHECKREQS_DISK_BUILD="4G"
+ fi
+
+ check-reqs_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE \
+ XAUTHORITY
+
+ if ! use bindist ; then
+ einfo
+ elog "You are enabling official branding. You may not redistribute this build"
+ elog "to any users on your network or the internet. Doing so puts yourself into"
+ elog "a legal problem with Mozilla Foundation."
+ elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag."
+ fi
+
+ addpredict /proc/self/oom_score_adj
+
+ llvm_pkg_setup
+
+ if has ccache ${FEATURES} ; then
+ if use clang && use pgo ; then
+ die "Using FEATURES=ccache with USE=clang and USE=pgo is currently known to be broken (bug #718632)."
+ fi
+ fi
+}
+
+src_unpack() {
+ default
+
+ # Unpack language packs
+ mozlinguas_src_unpack
+}
+
+src_prepare() {
+ eapply "${WORKDIR}/firefox"
+
+ # Make LTO respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure \
+ || die "sed failed to set num_cores"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ einfo "Removing pre-built binaries ..."
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # Enable gnomebreakpad
+ if use debug ; then
+ sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
+ "${S}"/build/unix/run-mozilla.sh || die "sed failed!"
+ fi
+
+ # Drop -Wl,--as-needed related manipulation for ia64 as it causes ld sefgaults, bug #582432
+ if use ia64 ; then
+ sed -i \
+ -e '/^OS_LIBS += no_as_needed/d' \
+ -e '/^OS_LIBS += as_needed/d' \
+ "${S}"/widget/gtk/mozgtk/gtk2/moz.build \
+ "${S}"/widget/gtk/mozgtk/gtk3/moz.build \
+ || die "sed failed to drop --as-needed for ia64"
+ fi
+
+ # Fix sandbox violations during make clean, bug 372817
+ sed -e "s:\(/no-such-file\):${T}\1:g" \
+ -i "${S}"/config/rules.mk \
+ -i "${S}"/nsprpub/configure{.in,} \
+ || die
+
+ # Don't exit with error when some libs are missing which we have in
+ # system.
+ sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
+ -i "${S}"/browser/installer/Makefile.in || die
+
+ # Don't error out when there's no files to be removed:
+ sed 's@\(xargs rm\)$@\1 -f@' \
+ -i "${S}"/toolkit/mozapps/installer/packager.mk || die
+
+ # Keep codebase the same even if not using official branding
+ sed '/^MOZ_DEV_EDITION=1/d' \
+ -i "${S}"/browser/branding/aurora/configure.sh || die
+
+ # rustfmt, a tool to format Rust code, is optional and not required to build Firefox.
+ # However, when available, an unsupported version can cause problems, bug #669548
+ sed -i -e "s@check_prog('RUSTFMT', add_rustup_path('rustfmt')@check_prog('RUSTFMT', add_rustup_path('rustfmt_do_not_use')@" \
+ "${S}"/build/moz.configure/rust.configure || die
+
+ # Autotools configure is now called old-configure.in
+ # This works because there is still a configure.in that happens to be for the
+ # shell wrapper configure script
+ eautoreconf old-configure.in
+
+ # Must run autoconf in js/src
+ cd "${S}"/js/src || die
+ eautoconf old-configure.in
+
+ # Clear checksums that present a problem
+ sed -i 's/\("files":{\)[^}]*/\1/' "${S}"/third_party/rust/target-lexicon-0.9.0/.cargo-checksum.json || die
+}
+
+src_configure() {
+ MEXTENSIONS="default"
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ _google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc
+
+ # Add information about TERM to output (build.log) to aid debugging
+ # blessings problems
+ if [[ -n "${TERM}" ]] ; then
+ einfo "TERM is set to: \"${TERM}\""
+ else
+ einfo "TERM is unset."
+ fi
+
+ if use clang && ! tc-is-clang ; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ strip-unsupported-flags
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ strip-unsupported-flags
+ fi
+
+ ####################################
+ #
+ # mozconfig, CFLAGS and CXXFLAGS setup
+ #
+ ####################################
+
+ mozconfig_init
+ # common config components
+ mozconfig_annotate 'system_libs' \
+ --with-system-zlib \
+ --with-system-bz2
+
+ # Must pass release in order to properly select linker
+ mozconfig_annotate 'Enable by Gentoo' --enable-release
+
+ # libclang.so is not properly detected work around issue
+ mozconfig_annotate '' --with-libclang-path="$(llvm-config --libdir)"
+
+ if use pgo ; then
+ if ! has userpriv $FEATURES ; then
+ eerror "Building firefox with USE=pgo and FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ # Don't let user's LTO flags clash with upstream's flags
+ filter-flags -flto*
+
+ if use lto ; then
+ local show_old_compiler_warning=
+
+ if use clang ; then
+ # At this stage CC is adjusted and the following check will
+ # will work
+ if [[ $(clang-major-version) -lt 7 ]] ; then
+ show_old_compiler_warning=1
+ fi
+
+ # Upstream only supports lld when using clang
+ mozconfig_annotate "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+ else
+ if [[ $(gcc-major-version) -lt 8 ]] ; then
+ show_old_compiler_warning=1
+ fi
+
+ if ! use cpu_flags_x86_avx2 ; then
+ local _gcc_version_with_ipa_cdtor_fix="8.3"
+ local _current_gcc_version="$(gcc-major-version).$(gcc-minor-version)"
+
+ if ver_test "${_current_gcc_version}" -lt "${_gcc_version_with_ipa_cdtor_fix}" ; then
+ # due to a GCC bug, GCC will produce AVX2 instructions
+ # even if the CPU doesn't support AVX2, https://gcc.gnu.org/ml/gcc-patches/2018-12/msg01142.html
+ einfo "Disable IPA cdtor due to bug in GCC and missing AVX2 support -- triggered by USE=lto"
+ append-ldflags -fdisable-ipa-cdtor
+ else
+ einfo "No GCC workaround required, GCC version is already patched!"
+ fi
+ else
+ einfo "No GCC workaround required, system supports AVX2"
+ fi
+
+ # Linking only works when using ld.gold when LTO is enabled
+ mozconfig_annotate "forcing ld=gold due to USE=lto" --enable-linker=gold
+ fi
+
+ if [[ -n "${show_old_compiler_warning}" ]] ; then
+ # Checking compiler's major version uses CC variable. Because we allow
+ # user to control used compiler via USE=clang flag, we cannot use
+ # initial value. So this is the earliest stage where we can do this check
+ # because pkg_pretend is not called in the main phase function sequence
+ # environment saving is not guaranteed so we don't know if we will have
+ # correct compiler until now.
+ ewarn ""
+ ewarn "USE=lto requires up-to-date compiler (>=gcc-8 or >=clang-7)."
+ ewarn "You are on your own -- expect build failures. Don't file bugs using that unsupported configuration!"
+ ewarn ""
+ sleep 5
+ fi
+
+ mozconfig_annotate '+lto' --enable-lto=thin
+
+ if use pgo ; then
+ mozconfig_annotate '+pgo' MOZ_PGO=1
+ fi
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # This is upstream's default
+ mozconfig_annotate "forcing ld=lld due to USE=clang" --enable-linker=lld
+ elif tc-ld-is-gold ; then
+ mozconfig_annotate "linker is set to gold" --enable-linker=gold
+ else
+ mozconfig_annotate "linker is set to bfd" --enable-linker=bfd
+ fi
+ fi
+
+ # It doesn't compile on alpha without this LDFLAGS
+ use alpha && append-ldflags "-Wl,--no-relax"
+
+ # Add full relro support for hardened
+ use hardened && append-ldflags "-Wl,-z,now"
+
+ # Modifications to better support ARM, bug 553364
+ if use cpu_flags_arm_neon ; then
+ mozconfig_annotate '' --with-fpu=neon
+
+ if ! tc-is-clang ; then
+ # thumb options aren't supported when using clang, bug 666966
+ mozconfig_annotate '' --with-thumb=yes
+ mozconfig_annotate '' --with-thumb-interwork=no
+ fi
+ fi
+
+ if [[ ${CHOST} == armv*h* ]] ; then
+ mozconfig_annotate '' --with-float-abi=hard
+ if ! use system-libvpx ; then
+ sed -i -e "s|softfp|hard|" \
+ "${S}"/media/libvpx/moz.build
+ fi
+ fi
+
+ mozconfig_use_enable !bindist official-branding
+
+ mozconfig_use_enable debug
+ mozconfig_use_enable debug tests
+ if ! use debug ; then
+ mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
+ else
+ mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols
+ fi
+ # These are enabled by default in all mozilla applications
+ mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${SYSROOT}${EPREFIX}"/usr
+ mozconfig_annotate '' --with-system-nss --with-nss-prefix="${SYSROOT}${EPREFIX}"/usr
+ mozconfig_annotate '' --x-includes="${SYSROOT}${EPREFIX}"/usr/include \
+ --x-libraries="${SYSROOT}${EPREFIX}"/usr/$(get_libdir)
+ mozconfig_annotate '' --prefix="${EPREFIX}"/usr
+ mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
+ mozconfig_annotate '' --disable-crashreporter
+ mozconfig_annotate 'Gentoo default' --with-system-png
+ mozconfig_annotate '' --enable-system-ffi
+ mozconfig_annotate '' --disable-gconf
+ mozconfig_annotate '' --with-intl-api
+ mozconfig_annotate '' --enable-system-pixman
+ # Instead of the standard --build= and --host=, mozilla uses --host instead
+ # of --build, and --target intstead of --host.
+ # Note, mozilla also has --build but it does not do what you think it does.
+ # Set both --target and --host as mozilla uses python to guess values otherwise
+ mozconfig_annotate '' --target="${CHOST}"
+ mozconfig_annotate '' --host="${CBUILD:-${CHOST}}"
+ if use system-libevent ; then
+ mozconfig_annotate '' --with-system-libevent="${SYSROOT}${EPREFIX}"/usr
+ fi
+
+ if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+ mozconfig_annotate '' --enable-rust-simd
+ fi
+
+ # use the gtk3 toolkit (the only one supported at this point)
+ # TODO: Will this result in automagic dependency on x11-libs/gtk+[wayland]?
+ if use wayland ; then
+ mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3-wayland
+ else
+ mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3
+ fi
+
+ mozconfig_use_enable startup-notification
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-harfbuzz system-graphite2
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-webp
+ mozconfig_use_enable pulseaudio
+ # force the deprecated alsa sound code if pulseaudio is disabled
+ if use kernel_linux && ! use pulseaudio ; then
+ mozconfig_annotate '-pulseaudio' --enable-alsa
+ fi
+
+ # Disable built-in ccache support to avoid sandbox violation, #665420
+ # Use FEATURES=ccache instead!
+ mozconfig_annotate '' --without-ccache
+ sed -i -e 's/ccache_stats = None/return None/' \
+ python/mozbuild/mozbuild/controller/building.py || \
+ die "Failed to disable ccache stats call"
+
+ mozconfig_use_enable wifi necko-wifi
+
+ mozconfig_use_enable geckodriver
+
+ # enable JACK, bug 600002
+ mozconfig_use_enable jack
+
+ # Enable/Disable eme support
+ use eme-free && mozconfig_annotate '+eme-free' --disable-eme
+
+ # Setup api key for location services and safebrowsing, https://bugzilla.mozilla.org/show_bug.cgi?id=1531176#c34
+ echo -n "${_google_api_key}" > "${S}"/google-api-key
+ mozconfig_annotate '' --with-google-location-service-api-keyfile="${S}/google-api-key"
+ mozconfig_annotate '' --with-google-safebrowsing-api-keyfile="${S}/google-api-key"
+
+ mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
+
+ # allow elfhack to work in combination with unstripped binaries
+ # when they would normally be larger than 2GiB.
+ append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+ if use clang && ! use arm64; then
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
+ mozconfig_annotate 'elf-hack is broken when using Clang' --disable-elf-hack
+ fi
+
+ echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
+ echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig
+
+ # Finalize and report settings
+ mozconfig_final
+
+ mkdir -p "${S}"/third_party/rust/libloading/.deps
+
+ # workaround for funky/broken upstream configure...
+ SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
+ ./mach configure || die
+}
+
+src_compile() {
+ local _virtx=
+ if use pgo ; then
+ _virtx=virtx
+
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+ addpredict /etc/gconf
+ fi
+
+ GDK_BACKEND=x11 \
+ MOZ_MAKE_FLAGS="${MAKEOPTS} -O" \
+ SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
+ MOZ_NOSPAM=1 \
+ ${_virtx} \
+ ./mach build --verbose \
+ || die
+}
+
+src_install() {
+ cd "${BUILD_OBJ_DIR}" || die
+
+ # Pax mark xpcshell for hardened support, only used for startupcache creation.
+ pax-mark m "${BUILD_OBJ_DIR}"/dist/bin/xpcshell
+
+ # Add our default prefs for firefox
+ cp "${FILESDIR}"/gentoo-default-prefs.js-3 \
+ "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+ || die
+
+ # set dictionary path, to use system hunspell
+ echo "pref(\"spellchecker.dictionary_path\", \"${EPREFIX}/usr/share/myspell\");" \
+ >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
+
+ # force the graphite pref if system-harfbuzz is enabled, since the pref cant disable it
+ if use system-harfbuzz ; then
+ echo "sticky_pref(\"gfx.font_rendering.graphite.enabled\",true);" \
+ >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
+ fi
+
+ # force cairo as the canvas renderer on platforms without skia support
+ if [[ $(tc-endian) == "big" ]] ; then
+ echo "sticky_pref(\"gfx.canvas.azure.backends\",\"cairo\");" \
+ >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
+ echo "sticky_pref(\"gfx.content.azure.backends\",\"cairo\");" \
+ >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
+ fi
+
+ # Augment this with hwaccel prefs
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-1 >> \
+ "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+ || die
+ fi
+
+ if ! use screenshot ; then
+ echo "pref(\"extensions.screenshots.disabled\", true);" >> \
+ "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+ || die
+ fi
+
+ echo "pref(\"extensions.autoDisableScopes\", 3);" >> \
+ "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+ || die
+
+ local plugin
+ use gmp-autoupdate || use eme-free || for plugin in "${GMP_PLUGIN_LIST[@]}" ; do
+ echo "pref(\"media.${plugin}.autoupdate\", false);" >> \
+ "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+ || die
+ done
+
+ cd "${S}"
+ MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
+ DESTDIR="${D}" ./mach install || die
+
+ if use geckodriver ; then
+ cp "${BUILD_OBJ_DIR}"/dist/bin/geckodriver "${ED%/}"${MOZILLA_FIVE_HOME} || die
+ pax-mark m "${ED%/}"${MOZILLA_FIVE_HOME}/geckodriver
+
+ dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
+ fi
+
+ # Install language packs
+ MOZEXTENSION_TARGET="distribution/extensions" MOZ_INSTALL_L10N_XPIFILE="1" mozlinguas_src_install
+
+ local size sizes icon_path icon name
+ if use bindist ; then
+ sizes="16 32 48"
+ icon_path="${S}/browser/branding/aurora"
+ # Firefox's new rapid release cycle means no more codenames
+ # Let's just stick with this one...
+ icon="aurora"
+ name="Aurora"
+
+ # Override preferences to set the MOZ_DEV_EDITION defaults, since we
+ # don't define MOZ_DEV_EDITION to avoid profile debaucles.
+ # (source: browser/app/profile/firefox.js)
+ cat >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" <<PROFILE_EOF
+pref("app.feedback.baseURL", "https://input.mozilla.org/%LOCALE%/feedback/firefoxdev/%VERSION%/");
+sticky_pref("lightweightThemes.selectedThemeID", "firefox-devedition@mozilla.org");
+sticky_pref("browser.devedition.theme.enabled", true);
+sticky_pref("devtools.theme", "dark");
+PROFILE_EOF
+
+ else
+ sizes="16 22 24 32 48 64 128 256"
+ icon_path="${S}/browser/branding/official"
+ icon="${PN}"
+ name="Mozilla Firefox"
+ fi
+
+ # Disable built-in auto-update because we update firefox through package manager
+ insinto ${MOZILLA_FIVE_HOME}/distribution/
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install icons and .desktop for menu entry
+ for size in ${sizes} ; do
+ insinto "/usr/share/icons/hicolor/${size}x${size}/apps"
+ newins "${icon_path}/default${size}.png" "${icon}.png"
+ done
+ # Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
+ newicon "${icon_path}/default48.png" "${icon}.png"
+
+ # Add StartupNotify=true bug 237317
+ local startup_notify="false"
+ if use startup-notification ; then
+ startup_notify="true"
+ fi
+
+ local display_protocols="auto X11" use_wayland="false"
+ if use wayland ; then
+ display_protocols+=" Wayland"
+ use_wayland="true"
+ fi
+
+ local app_name desktop_filename display_protocol exec_command
+ for display_protocol in ${display_protocols} ; do
+ app_name="${name} on ${display_protocol}"
+ desktop_filename="${PN}-${display_protocol,,}.desktop"
+
+ case ${display_protocol} in
+ Wayland)
+ exec_command='firefox-wayland --name firefox-wayland'
+ newbin "${FILESDIR}"/firefox-wayland.sh firefox-wayland
+ ;;
+ X11)
+ if ! use wayland ; then
+ # Exit loop here because there's no choice so
+ # we don't need wrapper/.desktop file for X11.
+ continue
+ fi
+
+ exec_command='firefox-x11 --name firefox-x11'
+ newbin "${FILESDIR}"/firefox-x11.sh firefox-x11
+ ;;
+ *)
+ app_name="${name}"
+ desktop_filename="${PN}.desktop"
+ exec_command='firefox'
+ ;;
+ esac
+
+ newmenu "${FILESDIR}/icon/${PN}-r1.desktop" "${desktop_filename}"
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ -e "s:@STARTUP_NOTIFY@:${startup_notify}:" \
+ "${ED%/}/usr/share/applications/${desktop_filename}" || die
+ done
+
+ rm "${ED%/}"/usr/bin/firefox || die
+ newbin "${FILESDIR}"/firefox.sh firefox
+
+ local wrapper
+ for wrapper in \
+ "${ED%/}"/usr/bin/firefox \
+ "${ED%/}"/usr/bin/firefox-x11 \
+ "${ED%/}"/usr/bin/firefox-wayland \
+ ; do
+ [[ ! -f "${wrapper}" ]] && continue
+
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX%/}/usr:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${wrapper}" || die
+ done
+
+ # Don't install llvm-symbolizer from sys-devel/llvm package
+ [[ -f "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] && \
+ rm "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer"
+
+ # firefox and firefox-bin are identical
+ rm "${ED%/}"${MOZILLA_FIVE_HOME}/firefox-bin || die
+ dosym firefox ${MOZILLA_FIVE_HOME}/firefox-bin
+
+ # Required in order to use plugins and even run firefox on hardened.
+ pax-mark m "${ED%/}"${MOZILLA_FIVE_HOME}/{firefox,plugin-container}
+}
+
+pkg_preinst() {
+ # if the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+ # doesn't need to be forced into the LD_LIBRARY_PATH
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ einfo "APULSE found - Generating library symlinks for sound support"
+ local lib
+ pushd "${ED}"${MOZILLA_FIVE_HOME} &>/dev/null || die
+ for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+ # a quickpkg rolled by hand will grab symlinks as part of the package,
+ # so we need to avoid creating them if they already exist.
+ if [[ ! -L ${lib##*/} ]] ; then
+ ln -s "${lib}" ${lib##*/} || die
+ fi
+ done
+ popd &>/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+
+ if ! use gmp-autoupdate && ! use eme-free ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${GMP_PLUGIN_LIST[@]}"; do elog "\t ${plugin}" ; done
+ elog
+ fi
+
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ elog "Apulse was detected at merge time on this system and so it will always be"
+ elog "used for sound. If you wish to use pulseaudio instead please unmerge"
+ elog "media-sound/apulse."
+ elog
+ fi
+
+ local show_doh_information show_normandy_information
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ # New install; Tell user that DoH is disabled by default
+ show_doh_information=yes
+ show_normandy_information=yes
+ else
+ local replacing_version
+ for replacing_version in ${REPLACING_VERSIONS} ; do
+ if ver_test "${replacing_version}" -lt 70 ; then
+ # Tell user only once about our DoH default
+ show_doh_information=yes
+ fi
+
+ if ver_test "${replacing_version}" -lt 74.0-r2 ; then
+ # Tell user only once about our Normandy default
+ show_normandy_information=yes
+ fi
+ done
+ fi
+
+ if [[ -n "${show_doh_information}" ]] ; then
+ elog
+ elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
+ elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
+ elog "DNS traffic to Cloudflare by default is not a good idea and applications"
+ elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
+ elog "(\"Off by choice\") by default."
+ elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
+ fi
+
+ # bug 713782
+ if [[ -n "${show_normandy_information}" ]] ; then
+ elog
+ elog "Upstream operates a service named Normandy which allows Mozilla to"
+ elog "push changes for default settings or even install new add-ons remotely."
+ elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
+ elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
+ elog "concerns prevail, which is why we have switched off the use of this"
+ elog "service by default."
+ elog
+ elog "To re-enable this service set"
+ elog
+ elog " app.normandy.enabled=true"
+ elog
+ elog "in about:config."
+ fi
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}