summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Deutschmann <whissi@gentoo.org>2020-11-09 20:09:05 +0100
committerThomas Deutschmann <whissi@gentoo.org>2020-11-09 20:09:05 +0100
commitf1795f24a487a88fdaf10781a350657c54e0bf22 (patch)
tree540f11c0ed97d339f9d60fa3b85c147ee1f44472 /www-client
parentdev-db/mariadb: bump to v10.2.35 (diff)
downloadgentoo-f1795f24a487a88fdaf10781a350657c54e0bf22.tar.gz
gentoo-f1795f24a487a88fdaf10781a350657c54e0bf22.tar.bz2
gentoo-f1795f24a487a88fdaf10781a350657c54e0bf22.zip
www-client/firefox: bump to v78.4.1
Package-Manager: Portage-3.0.9, Repoman-3.0.2 Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
Diffstat (limited to 'www-client')
-rw-r--r--www-client/firefox/Manifest96
-rw-r--r--www-client/firefox/firefox-78.4.1.ebuild1120
2 files changed, 1216 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index fe6b51c3bb1b..5559834a45d6 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -94,6 +94,102 @@ DIST firefox-78.4.0esr-xh.xpi 458895 BLAKE2B d454fd2b7395a9fd549d0991bb292873af1
DIST firefox-78.4.0esr-zh-CN.xpi 600179 BLAKE2B a03decf631d6c480990884462674921504439ac99826b512867af13a7ab7420d26b2d3ccc47ad17b33fefec79283f18dbd2a9c09827d64ad252327c2a6626652 SHA512 80f5d7763924122508b0bbd854acfbc6990781cdd4a9f82f04297d47b3d3bc8eb41544146318e3aadce96229ae6626da888b6ada214cfde20970831536d93e84
DIST firefox-78.4.0esr-zh-TW.xpi 599271 BLAKE2B 77d79eb6a564779f9225de067745c91763941953d0cc03dff9160eaf10a8711afba64155c373942193cd11db6c395c578ddafe3762506a30f4046ccfc8c591c4 SHA512 82a916f480bf7d69354c56e8d967f1e95b0b37b32d0d2c642567e6d03663f3015f0e2c70a602e502b11996ca5cdd72859aaf7b95ffb13d64890315894cbca6ac
DIST firefox-78.4.0esr.source.tar.xz 335094656 BLAKE2B 6c3e85353b52465e00393bed14dc067cf1663ce1d7d737de1d51ec6c747c465f998600ed5a03b1a5b116a65054f1addb31a23e8e0d8364a2763e3dab693d016b SHA512 d9de975e9acf7dab6186db877fe2df87a0e9e3c016e884473ecb188025a31032b1fe7f202598285970ed7a48268c7f3e265657708725da4eb7846db85a036246
+DIST firefox-78.4.1esr-ach.xpi 500672 BLAKE2B c9241f614ffc831373b7f83da35fc02268e0b1a9eeccb541d486c52e254f4efeb48e2bdfc2382c0b085b6183893c362510a04e85568cc8e36d5ab13594709e48 SHA512 8d8b0d7515dcadf7453e1a439745be7e7a5415d6181928d810f1d03768768f6531e02a4ea27edcd29a9f2e2c9c0a15d64814342267c11f7f8b7272db52d7a62a
+DIST firefox-78.4.1esr-af.xpi 444081 BLAKE2B 6cd3f018c3795e6b1897b83f96cc1def628ddbb576aacc32a8c8436fa797f42370a1fb4863960d02a970d79b4ff711c9f2ad5179a503c95a2201b5cfd56beb5f SHA512 364952d6b25f598512d9fe668ad193800401c5338c4ce0ffb2f23fcebf9456459f513ba516a180a93388ad44766b627a08016abeb9ded7a025bc623f1a1bd3f7
+DIST firefox-78.4.1esr-an.xpi 511464 BLAKE2B 7b1b315af4fca8d9e859e4231fe549c3d24df35c7e3f94ccdf262d49b0e1446efdb24c99ccce141804ddd1da980c19ff7956b8220affdc29539b5aa384b2b58c SHA512 7695a8fda0179eaf1fc8b7a7d0c819a7576d079a85fd58b825259bf8131469c3b9a131c933ba2548cbeeac1f22762c4ebda323760375dbc12f63e81fd73ffa24
+DIST firefox-78.4.1esr-ar.xpi 588701 BLAKE2B 88ea4918685e0388cc7c2dd3d07a607d3ab08102b2249df7d53074cf318d9d5680574f13b0656dfd71c612d90d1fd0b9ea5fa06b6673add084779cdffa4b5692 SHA512 e4899a7f5948b31586fa5508b948a5129975bbefc2c781cce98c4aaec57f23e5635f6a9fd7adc76a6881eb8d1c2ccbb12f3fbf8df21a4e02cc02521147cdb31a
+DIST firefox-78.4.1esr-ast.xpi 500542 BLAKE2B 3fdd654e4ad837ee295b0f9e7cea41e6d4dd62e7ebe148de679b63a8837b229f0f87fd3cc47be7eb47feb5dec9e9ce9a6ec00dde95ca3f00fc31cf7e68cb77b0 SHA512 7186711912266f74fe662b626070ea7348d9649a15297c05c7e5ee9c25874b0b2cbade7a9652460516cd66220e2bab7831bbc3c1e73dd1f182ae9534c5de001c
+DIST firefox-78.4.1esr-az.xpi 537586 BLAKE2B b68d597c7b963bf3e41c4e59217e561f4ea1f8534524f73e96dc88c183a6093556eeac975b9de449389d1d8c6d97d140b2b01810f802d14b665f2eecc6b856e3 SHA512 d9d87cf1833c5a7463163a3160ec8007ac9413825a97e22117bcf445d9db41a7d21b592704579d849747922f487246bcd7a79188f2527543b8dd3bc5d1855a78
+DIST firefox-78.4.1esr-be.xpi 647666 BLAKE2B dcc2139a545077117528b9b30a9ff58a1a92f2711df260460ad06d457f481a2549a810e6c358ff6ab1902a39eda0160a22d3c45d5ea4b0671a8048c9d36d0e1f SHA512 b95744ac5d8660e13a9b71fab70ae7e9b324ecc6b6ad740685cf3c35ac9f933f3cf43aa3463b9c1151ec5666cd6e84dd3d9a37ed3444b48530aeb108a8600487
+DIST firefox-78.4.1esr-bg.xpi 608535 BLAKE2B 2c176fd469dc29c9879b33a3d09356b05d51a7849677c15be361acd03197e9f529a9096f03b79d58e4d0feafd38746aa8ce5d1c812dc2f3069aaccee48b7291b SHA512 9592e308903d57b8c1a42eb9843f3dce509ca57d61cae3d474de2eace9f5a70c6a7eb022c27dcd4fa216eaae2c05a3976470a5a5acd3ce2f09e63e5a29a967ec
+DIST firefox-78.4.1esr-bn.xpi 634045 BLAKE2B 5f40707f16621cf639fddeeba14c4b60d096010359e30246cfc1f195e3c498365c95733ddda2881d21b590164bf6a3bbca6a3c8a757ae2788404e7c0312ae346 SHA512 f8192c16116d9faac846a81284f02dbe01803da0b04fb73267f1cb4156bd97e580abb0021bcc4c1e6ec06559a48251f7dbcdfea925c864047aaa7449f5baeb7b
+DIST firefox-78.4.1esr-br.xpi 551260 BLAKE2B 5335d48cde3fb04e354c12d7bea0e25e756b027943c5014da754ffc8182625dc95de3e2083b5d8822d70fd96e5bc4a51e01dbb219036990170fb0320e4ddaede SHA512 b63f8c1fc1b425a77b34668f8ecbfeb20007146065f8e1fdfd1bf860bc81d456f1a6008da9f7d51bcb329cbfce3bfc8046e73ed8c906b40c154e66c965068815
+DIST firefox-78.4.1esr-bs.xpi 506394 BLAKE2B 376b4bdf8c817799c4e80365a9eb45bd66d5dcf93970d9fc00ff4bb9f30b00319c24f0f27626c7e38d3440e58adc3338bd448846fd16bb88b8316c93fb9102d5 SHA512 5f57f316da4d9709643f0d2b14f8138a6279ae5551a30e676cd0c68eac0990ebbbc0eeb593213fc841e3a175cda0835c167e764dba32ca43e165e09be8ffe997
+DIST firefox-78.4.1esr-ca-valencia.xpi 558392 BLAKE2B 3234e79bd3872f800b846ef92801bf087f6f7ffeb804d66c3086423fe0fc475c49f25cd451dca1ab0e5fc964ba1a475d47f26072d105ea5d493304174ae90a13 SHA512 f7c11040a97d8e859bfbeb804ac8aa7b519fa8175fa6a55cd35d54c19fad9451a63914de9911540e1b966882fac340e7995e7b8d57263af1d62cacd1d36810b9
+DIST firefox-78.4.1esr-ca.xpi 552881 BLAKE2B b6db49780f674ec6ffb40b741047646f5e4c18047a26524964f1d014845d748124edea84beab1f320719ed66cca05d21ce8bb2d62aae2bdd295a574a0ebcd005 SHA512 bb67676c9360e240ecdcbb7a0b5a962325988be960ce1c841fc87df11254f5cb2a7bdc10d7403efa859408cde14168fd728b65a5ba931007fb45e305b7903bfb
+DIST firefox-78.4.1esr-cak.xpi 584929 BLAKE2B 8818df9c001fa355b87987109bdd3d93e71a503670d0da1bb2b5941a2df016b603231707835363cb1c1bdb7baa2e89ee9332e0129de8cd50d142f67d21e800db SHA512 6e95c249e17348a4a3b2a3b6a2d7018078d85358ed8d54fe9fa598caa973be73ecf0339d95e8f325823a64eecf7260b0d002aa8735c439094ed0a103ed3d1ce7
+DIST firefox-78.4.1esr-cs.xpi 585533 BLAKE2B c284d73cb99ed4d7b48f559cba78a898e1e2ede7271819995b2c1c62e76742d45a9c13b543fe903e63e2dfc742a11f9b6c8ad6d22466c5c065e00cd1a788a376 SHA512 a6df083c9a9624257f6ac6ab148ca7cdf170b8ec69348a3064f17c9e33407c01a74bb9df70ad6dfb4c94b262f6e79cd03c177de521b6e7e36a78434fc9e20c27
+DIST firefox-78.4.1esr-cy.xpi 563226 BLAKE2B 5a6de4b94e499850f2da37d1d59dd0e4770f1be8323bed711589e04098cd0e3ec815eb4faaa10bd393f5be5f72812a257b4e1f941826502d8b41fbc1f1ef05ad SHA512 03e13ad7d4df5fc83e57482f14fac81717293fde34adab5178ae47a344e700a41968d6131eb5443c1d7b2a99ef11e2b934eb331eeb01318251b735f81146a749
+DIST firefox-78.4.1esr-da.xpi 552321 BLAKE2B 2121b9bad5eae61055786ef2e52746fe1903cfbee181a5821eab70ff64b664acfd6ec7d366a924f97cef88ee260a4f9531592bc0b4a1d54b23e8fb06c415478b SHA512 16a13a0a956572dee06723915c6f26d191669d7a909af392d0d546507f9bbeb1700cbd123bed19932e1d2653523bae51ad7b1705d911d35c087636a2718c9cbc
+DIST firefox-78.4.1esr-de.xpi 576945 BLAKE2B 5fa54552e9d803c558f908dd37bcabe4d4c4edbf0986b3cab6345ce27d9a7bbdbf8f19a149720e6bc36bdfeceae996aa28070be6df284297b7a38a9b16912f4a SHA512 e904444aa40eb5a9601c1ca4d8d0617c51d1128b5a39ae7458d03a7942fa7c1e701b87b5b7e4fc732b6d9df26c33a7f790103e92b3d1cdf7feab03ba9215c02e
+DIST firefox-78.4.1esr-dsb.xpi 589037 BLAKE2B 5091c78a01ed6a19f43c222d7c6cd802e64de73b31abcabee8900ee56de1a9e52a44d3bbeddc1d132faf7e0a9702e5420c1fffd403a7b54f4a994c008b104ff7 SHA512 c22dd4e9309ce58e0246d991e1fe50b97d03b472b921d92fcc949ed6d7392121983b921f6a2dfde46dd3943d259247a8ae4f0a9b8cf1dd53fb6a943f6a5598fe
+DIST firefox-78.4.1esr-el.xpi 665908 BLAKE2B 0fda612ed26a274a965c7860cf3fd4c7cf1a8654d0b6ed6cbd23ab2d00114db4a317196ea6ae1ad142efbba2f214919b1f9f9107f7a5f9690057324a96424766 SHA512 f562acffeb90d25dca6f919adc20b963f71e9fe0a3a9797424449576cb5b312d683ff346e436d4b47bedb9a5a4d6258a71a6ce254df97a77ddaea464468540e1
+DIST firefox-78.4.1esr-en-CA.xpi 531410 BLAKE2B 6b07aab590dacb9908b9a5c92565a18f55cabc4d0caf5734cdf19c958ff88577a53ab83fbaad6b8f4824b520c81c8300e618a62ea955128e3a8be62c45672e65 SHA512 32c8048abdf3987901c841a6302cc762b11dc52a78fc6cf6438dc94824b3ffda70bd513efe361d8444ff40ab3dff551fbe7f7498493044c9d66cfb4d81cfd436
+DIST firefox-78.4.1esr-en-GB.xpi 531212 BLAKE2B 2a04af91dde6bc48a86469aa568ad6b01734753722726332ff893f59f1f128317b3efedc956c2c1332ce9134e254619c860ccaadc0adc2d6dd377e3b771c22f6 SHA512 df42bbd84501104e8b17a43764eed92f80f702f377b9af74cdbd22eedddb88de37451bc48f6df6d9977bee25330eafd2a1c534cdd75aea93d369e4f15576f42d
+DIST firefox-78.4.1esr-eo.xpi 558622 BLAKE2B 47cf9719de3f37c3a7a7172d618257465059305ec7bf51fb3cfe26fcf5f6818fbe9de913e00c237fd3a645cffae967d366e25e3fc502a9a54e9f1011c3acf3f8 SHA512 6de0a606e7e4867ccd02044c91615fce7463d057803cfd5d9f61606c7e09e3b75951d63c297589ff1b8f59bfdc751939a4947ea563f64ca7a06be9a13727d274
+DIST firefox-78.4.1esr-es-AR.xpi 568392 BLAKE2B 7dd05402d5278e970979b17fb4c859fc9991953858e019d253d9900071b157e5ecd3210045162cd9446272413612ddf25ed78354433c70cf43e2959a34037597 SHA512 c79235b5a65ab156094f4a850f1cf96fa6c9245a0b6df354a28d01e7b62e699ba38b0c34a9312315107cf9c15388322b3224531801b911ac612a7ac693221fee
+DIST firefox-78.4.1esr-es-CL.xpi 567585 BLAKE2B b1459a6141915988f1ad65d6f8799c1f771d6453fdd1c5488635e7607ad9bf1f92cd60115cf0c79169015e4c202a94a33ff0f65cab838a87914faac04d00d076 SHA512 0ad80d786921e26a4437a95b9cd8d315a01178a315df0c0837a2da18b5eee3d198fe78598400fbf3ad77fa30d3129512631946c192632ed8fd72025ddb477c5b
+DIST firefox-78.4.1esr-es-ES.xpi 551505 BLAKE2B 349b33831d7d1349f8b229f39eb6412ec903b01de7444106d637250e8569b2d7b8b9ec93fc950875407471f8cc9e882649723e6e0c939b1cf3c5417858b1d8ef SHA512 e282ac35e9e47431ba975ea303f7678b89a6ead3b1276e7c0c6741af9a493f98e5dfcbcb4a1d9b9c00db7e88ecd652e5ee6e3acc36a91e374773193976062560
+DIST firefox-78.4.1esr-es-MX.xpi 569780 BLAKE2B a9b2c9d4130156f44697ee3c222ff71d7a368484da26efb296834a3af11504f1338a008e80857257590de2d97f08fcc373870c367d781a64b6fb37ac063cefdd SHA512 f7ca995a7220979b9da10d49e48170bc17c8ba9f3e086b82a03665386497bf75f103273db049d574f8422360f6b1a09e8fd3c5f2a616c23e4b19fb5156a2d6f3
+DIST firefox-78.4.1esr-et.xpi 535626 BLAKE2B a9be6b4162ff1d73ef03ec4e1b16b534d9e57bbacc15afbfb5c39a0d85596dacbfb2a8ad25632c4e66e26869767b63e13c2eddc1856e52d0faecb4416192851f SHA512 6e015658dbe065198c42b24a3651367f8f43b4fa92f3e3433c9f5ec6f8ec3925b071fdefe2f888f14f6130f4e804e3830aff89f3a290627cc89bbdc6ee915890
+DIST firefox-78.4.1esr-eu.xpi 556809 BLAKE2B cd6d5c48e20f01bfa1376f56c85faab0c12832dc66dfb919f677e2fc80dba9d0a5e1bf87ce961839c0633fd6c7a64afbfef1347188065e07e9abb8cd4772aec0 SHA512 a77472aabe841dfd0ac6356e4566812a8c16ca173a98f4ab6fc53618ccc4f645af9c651e641d4ef604dafbdaa275a45f21ce42b1146d4b8f46109ce3876890eb
+DIST firefox-78.4.1esr-fa.xpi 593501 BLAKE2B d697514267f5aa647e813eed42b182228535be17a393c80556b1cdd7f6be8c3cdee2918596011ed1290c60970b1cabf2e666472e288d0dfed41e01000b9e6a2c SHA512 fe9ea5c9dedfb848d83ad0af7b1a0474bd0a90308961c89a699b45a139c1c536de80543a2ade238fef988eeb7dc74ce0071d37b846247afae1abf0ff20a31954
+DIST firefox-78.4.1esr-ff.xpi 531575 BLAKE2B 458a075c8fc2fab5b71e271553d1c25f770ddd81b4fb8983eb00941e126108e5873765c3cc23d76b8895fad7c796305cac0b6b4256b45be40e71acccbc1a559d SHA512 3ed6a88a30dd7f39118a068e39b9e18804b4d168ebf567b7978c1899aeeb7e1b6cac2b6c9c26987b33e9c583bd8e09bced2ce064be832b35e12e832dcaf88921
+DIST firefox-78.4.1esr-fi.xpi 554034 BLAKE2B 5bd76fb180b3bdb86bbbb219c6587232a1391136c8d19b5d74d077f30802c923d795c2058b8ce24d664661a071f81d759fffc947457f4bcc9bb6b371234447e2 SHA512 2f1131876df3a7a01100327863132955efd13329e1b4adb282613d825e0376e6f968151a32991d278118802df5627cf4a09bf9aed6ba7e9d0e131ef1c92606a9
+DIST firefox-78.4.1esr-fr.xpi 580678 BLAKE2B 0efe76a896cb580e12c3d6e18620efe7fd56031d03c3129c75b9f177819999a3c1eb6acfafbae1c7d689892309836467b6f323f3b56f5a2e3955eefa11d2b5f2 SHA512 2e05f021cb58fd52d880e6fd21f23673c22b6f6179ab6f386336c72a43880ab0d349d4ba28e5647800e86d715b0367ae4e041a8ac5906b8a2207d7fd3442847c
+DIST firefox-78.4.1esr-fy-NL.xpi 565453 BLAKE2B 090243d8b8cb2206a0cf4344152645c34f00071031abaec1a8fca44a0cc3beae46cc49082dd6fd675942d745146e24576fa9c91a83a0444751e29482641bb356 SHA512 6eccac436dc7ba2fcaa2624740ce25324ea428f4c2c089dc72fd3a00a37984d9e50025753590ddb1004af3330a24ff154bb80a3fb97c4535fce65900fb8b2743
+DIST firefox-78.4.1esr-ga-IE.xpi 514578 BLAKE2B 31b04df297c55f7e1a16063ebc47adb9408272d0aab60a6a9ec6180c6997a74577bf6d38e7c8f3d09cdb2d556015ce746a68579e6c8179400445cbe91767135a SHA512 ba6bd1fe486df9c5d94ac7c94da4a9a08e3a33d10e1c3b713099b585841a151614b47707b5971440f7864b1be7c342f8d9e874e61f68a570c0b144ab88e242bb
+DIST firefox-78.4.1esr-gd.xpi 544418 BLAKE2B d3d84cfe0419c01996f1452b7e2ae56e3d91dc1a806a367edc08efd9e76bbc3fe4f9654fa62fbe71a6d680d1db5ada0cc2370493705ee88996055f4c7563fb69 SHA512 380ec39988515ab2e54d8e26d8864dc76af2bcea8d130ec893aea9aad5cd1a5942d962c558723bfcd50b3f3df879c0e7765861fd97c4ca6e08af6128a3c6c38f
+DIST firefox-78.4.1esr-gl.xpi 508275 BLAKE2B ebf161c32934bd585606559543d2155f5f742ef3cdc03dad2602d9a874d7f01e01609695ebe18d9c5d0893ce45eafb1278d24c3efad3af781389da8733295fb2 SHA512 c03cd177710c1f051bf125d8b93898ac5528edc4cba4d830ffecfaf877a33e53c5f71a0bd75616b6a0f12d2c88d8caf7e6b415e0a5d0ffdf8f3e0497d0e0e536
+DIST firefox-78.4.1esr-gn.xpi 582152 BLAKE2B f0bf7e6d3743d009186fc5f99c0acb6cac788c4776ec21ffad5ae06089778273a769f5ce151cec5799507174d6f1458a874f08826e0e01d6d921b829d352942a SHA512 30cef51faf477107b5dcce8b06bf7263e5f7cd0f5a0b2beac3fd3294c57d087649ce2c664439dd7f2325568dd9bce89a606a767bbffa1e955e19d70d06fa3b35
+DIST firefox-78.4.1esr-gu-IN.xpi 602913 BLAKE2B c4b45c46eaf31b456a97c75b8b48b07ecdbd1c444806c8a8d7fb4c114f4cbba5390882127e654033582474b3dac2b7489175e13481cf32851dfd2f6390926279 SHA512 adc1d3ab611405a89883bc0aaa09149d06649b119f494ad92913a841eb5a07f36d8612f43c59409b272b960ff3abb2a4c2a4f8e3e1e7bf199e59be3651085d41
+DIST firefox-78.4.1esr-he.xpi 582420 BLAKE2B 542889b7cea65b50e9b5a57c55bfab8e5feec504cc53f0ceb6d008cb4eb25308ffc6b530595bdc4b190e4abc04814d9a420c65074cdbdfb1aa2b292d1a84f326 SHA512 8c162958853d2b1063c0d8621da5c305bdd5edc471744094e6330f29da14957ff707a8145d2da69acd1ae754c58062737d383870a3b0750d503adbdf85ca663e
+DIST firefox-78.4.1esr-hi-IN.xpi 622433 BLAKE2B 4c5fe16c4aded7867c6055bcb26a62884673a61758f20d28c13e0ef6875db355e91d61c747880dd8ecce1b16c600d933462756aaddf2edf81a0d7aa282d1b473 SHA512 02c33dcff2a35e4d6af59bb5ed80b072230d3dbe177ff0347b8accdf3edfcefb01d6553869b6e6abcbaec49bbd80866069e02e9349aa6c951ce82c7cf7049180
+DIST firefox-78.4.1esr-hr.xpi 560778 BLAKE2B c6298ac23aa9e8b15a4272eb6b854a7851b620fe0261ff7a9ee797fdd272c2f20ae80129a2c4d144523fb1b5141246ed8687c5edcecb0f49f679e6bf9338ad07 SHA512 9d5f14274e8ed7e6b9cd8f1dce91b0dadb1a191b8dd5b00ab9628118edeb97a64420707e9e8682761e6bc75f89180e9f29c1275f639d07cbf59cc1720ab26c55
+DIST firefox-78.4.1esr-hsb.xpi 585292 BLAKE2B 4d1be9e68adb2bf6e308340d7b65acad872a54cd5786fa928720ce8b10a5bb4bec7ac1a5e1932f55e3638a82979064d612460b375d2b7b02c8470bd5e6ab678b SHA512 a36566bd7c9f6f95934729e63b13695b739b1797f387ae663dcb57c96ef84cc849f122118b77185ccaad59fe2540cca654f75835e0237f647787894c56381ef7
+DIST firefox-78.4.1esr-hu.xpi 588750 BLAKE2B d87921414903174c60c117a1659710806e629508a72b7f62f0d1990d38d21dd27e2a2cc2424545d182bcf2dd4ad1a3e558ce87ebd50bdeed1c6c89c25361d7cc SHA512 0387368285ca81820bb08e6a321a2bc340068fd8666c5653cd01764c30f80d94dce52884f3ca55d84c7c460563c4d8c6a2a284aa65d9be56fa4b2e8779ce3cdb
+DIST firefox-78.4.1esr-hy-AM.xpi 649352 BLAKE2B 25a94c0ac7b1f4cb5cee48cd68ce589e7b521ce107c3e4e7325bdd4092ed3748ad4847c9c3c3f3512f3795df20dfeea25ed3e128a444c39eeb26e837721f6322 SHA512 a627068e77a5df8dabfa22ceee6d0ea79ebf77ca306648473f55248e4b46a411675d5c6890fb7d5c4b22d13a5c0fdc08a77495190c62b64dd1e086a80e645a39
+DIST firefox-78.4.1esr-ia.xpi 554118 BLAKE2B faa0b3aa5fbd09d145144bc8da32de8383a2a5b043b9994d58c99a0667494938aa0ee23ac82ab7d4e56ecf1a0f9681afbfdcf5c21b2d0f636d4f43f6c1308036 SHA512 39e9d0399e28450e365a776b46123e44cb91cf8f12a02c1bcb6baeaccd690bec9a101f6c1598be39bc578727e36856f94f5b3f099b9cf52c91a3735ea7512173
+DIST firefox-78.4.1esr-id.xpi 551933 BLAKE2B 6788f1de7b9abe8e9cad3f33c1664fdac4d6af00405b71384d0e7bef431ede46cacde073637556dd10db653358c1f0a649881d535d413a8a5773d6578da45f04 SHA512 bf148e14ba1d83c8a5998bad814875552e2a0f51b28a85a0bdd4cd22c1e5728b2637fdad68bc5ca967b4f40cfedeea3f95059ad2293aeb88a2c3d8de5ced4a66
+DIST firefox-78.4.1esr-is.xpi 527499 BLAKE2B 70971fa713863e917d408afa73e8fe78f06811f59d5f73d0d8009f9a0396411de7d230079de70ade1c23595e5b1a81bd348e38f1ad633e88bfa71e11060a6536 SHA512 dddbc1119d9e539dc132319c6a46b43f0e8429aff9267f143e0ab0e592567faea0a4cbf99a7cda551f7ad69f9fef3c32a69673f62cef6af59056d98fb049fff9
+DIST firefox-78.4.1esr-it.xpi 455019 BLAKE2B 9e8439feed885ac0098449a46582381343e0532558ca5b687e2c9e12af481446591acefd6094f388d34942c207c9e8cae5501835997dbadfa42633b081b8c04b SHA512 ca9485eed28e9ac2f183a0ddb91792ae52777adf9d1b5949fd0f66ca7b0a1b193b2cc1e1495cd0418dfe12b217b487ad86844fdbb5db87eacac7231e83c2782d
+DIST firefox-78.4.1esr-ja.xpi 615914 BLAKE2B e92376ec1af11e8948196dc27c2d6b14f20617a219ce4d06d59f9f972ccfb92c54da281404ead4b095df17d6a5832c76f9a87821da66e8b6206d26750536b3b0 SHA512 8b17151041f6348e0b1dbee82b999b5951ef0c10bfbace350944f7729893d533242de4fecf8b972e0cb1468858561129e4459f1ed4cdc414532cba237c0e73aa
+DIST firefox-78.4.1esr-ka.xpi 612302 BLAKE2B 75ce1e932eb5122c1d4f34c1064d0cc5bd0e6fa78446bfd6df3265d4fe025fa34cf1caa3e8e5a89e78cc2579d29115c8982c710cca53cfadc22f50e16b8962f8 SHA512 b62b56bcbffd58522f8b33800218e82b7df955c4507a75e3c627fe2e3ce57199eda0d229e8136dc2e3d366981910361162cf504af470aafb4afd0ee3e35cef87
+DIST firefox-78.4.1esr-kab.xpi 574002 BLAKE2B e50fa95bbf52c2061df20b0be619720df8f42bcd8752f5f31f3d3b81fb704d8bd0a9726229a441a42a3041a25c053b998d242495170475d1b5925b0bc9c94cb6 SHA512 d1401c32b5f9f03997df895e376eec0852c011c33245957346b86c1b803f70e11c23984b125ccba94a66a749b106d802a125ffbec2bdd9d414f506436bd273cd
+DIST firefox-78.4.1esr-kk.xpi 642145 BLAKE2B a79132a4648e3cf1aca395902aaf2ed5baba75713dd803866f2cbb4959bd0ae80b4b15164407a0ef775e7a7001c8da4fedc73d8a96abc3fc0ec9a9fdd86106c3 SHA512 fd32ebd540e49844307019be21c233867c56c3dc1750260a155f181429f613fc5067cd0f091921d18b869aa76e180f8b7ae19e22a820b92d03bcd6391e8641d3
+DIST firefox-78.4.1esr-km.xpi 567233 BLAKE2B 09029e7efe722f7b667c554f77dc8dc60fc5c44621d23a7a6e2b7929bbd3330406bcb9e7b2f7d6c66074cc7fb4838724e60382e63a2acfc20864827c8c772de1 SHA512 a8f026609e3ed3020338fc7252fd74056ee973dddae8586aaa1719d86652f714d663c28674519f082949b945ee7591f956033263f48d7e6c8c3a3a93a5b962fb
+DIST firefox-78.4.1esr-kn.xpi 558808 BLAKE2B 10677595ef47bf60be15b2d0503a21a1cb474a0c701d414573e0c77c2c152cf7235808698dfbe21f7556b607f3d7a9dbd9925acf0b8e229e9dbb392ed5bb0b42 SHA512 3ee47ff127f972d49e0d711af94c62424c44692ac253223f56936c0d5d9af892f618fdfbce66bdc04c0702331a2d4875aba967de1b015ab58cb00149b75e94a4
+DIST firefox-78.4.1esr-ko.xpi 602753 BLAKE2B b4aa8ef7a9556502f8a39ae3978c767a5e52db54b24324f164e1d87bc160005f0f0c82cfc5bf909a8f1664374dfa9a5a37ea8e12e3d92327932e51e3643e600b SHA512 c96b5c5b2dc5645bb64859b25044b54acf486e57c8438fff0aca957ae94038cd38519f870a354165ed7a10951f17b7751b8423aa037eee9486de0e93f60f6abf
+DIST firefox-78.4.1esr-lij.xpi 526114 BLAKE2B 05c9abb924d5bf9a998671c6809af4feda97e4f2d63b8d2cd48cdc72dfad20430d4a14d360210fd70f210017ccd35a31ba46069abc11eb0109aaa1f1b717159d SHA512 8dd5f58a01d6df4bce0d84190eac0216ad95e83d8ff164ebc54047b442a144ce6c3a1cf5839aa873db786b4abbd76302972a9d485aafbca3c06e478f05be113a
+DIST firefox-78.4.1esr-lt.xpi 579642 BLAKE2B 6f06ef47200975fcbd22b3d5a5e0ecbf0902fbd03a219b7b5d7fe90683e895bde53d5be9b07b72e4de1fe0bbe34a7e920cec5bb71bf828dac5e55d1acae1f99d SHA512 05203ba171f0a7361057979c201e5545225a04327e22b765b92b380df0bd7c927b0c37f2f774ffbe59adc4ec6dc16abdb649e58098a3154fe279a2f883f7313a
+DIST firefox-78.4.1esr-lv.xpi 516868 BLAKE2B 66b9f263b090c5d860775fb4442d67991a8502eb824150f6760f86088aa996ad0af2fbebcd637ea229dfa8c0b26a71ded685ec355bdd1712c3543e406724fc75 SHA512 559329307fc7245d30c440da0478ee20d0c00518f1250d71e7e1af80ab0031981f44aa05bcad11fe3a28dc05d2f388cb42b6351766f4ddeeca8799a8973c4515
+DIST firefox-78.4.1esr-mk.xpi 482937 BLAKE2B 521dfe37decb61a7c60634a0e71e6a13fe34a8c7b787159b870301a3aeb766a5b893c869ca8c8b4e82ebec112198d93bb582507e9d19389191807cf0c7f59277 SHA512 87275f8ad46f652738e5fa1c3b4efa6efe4ff3f2131148687f5ce444ba1eb3ecd85f0c2f051ed0c796992e7de7be47d1aaa6ec972701e329c6e6d9ea6a1eef68
+DIST firefox-78.4.1esr-mr.xpi 599915 BLAKE2B a6da4dd16d1be25d87213499917a17aed537d1e465ae62a71a1ef562b21d19167ab6e523a2e023e0ccb88160de907072b0b23444b20f2cc7e20ac573fd3d6536 SHA512 5c610ef324536873abb40adcda6aa66d7bc5601e1662b057b9384c9cc919fbc61f2ac529c954121557de0b27e431aab1fe489ec6658876ebd732d22a88d3a8ad
+DIST firefox-78.4.1esr-ms.xpi 500956 BLAKE2B b6f3960ee621469bf55d7e5d5af933770e4656810105f987a0fa59b7d16f09bd97b974aac0d9edd8c68b36aeb1e01e7abe50f04d27fce8448b2868099d62ef8f SHA512 46207a65b95ac692724156b1d73032a0e38719deab6824a74ab2fe071d694b36a2cbf7652e7f52bae613f76ecec402545ee88880f3542a188ca4b073a80bb8b8
+DIST firefox-78.4.1esr-my.xpi 557200 BLAKE2B e5084224461d51e72390852107b3a7e317e91e5bcbff464f33cbb4333945d0e8f6ef3d6479e55280d07d04b755c3297f53dbfdac05554399d4b61a924ea0c237 SHA512 8a2707a039970d1166a574c7f6270583695d9f3b6cda9362b8e9dad83ed6654a56193490e2b2b899aa11537d06f999e010af4b98594ebc639bb1a699c8f22585
+DIST firefox-78.4.1esr-nb-NO.xpi 549572 BLAKE2B f7436bf5008957fca7acf2fefe237ef71f251ac8c61793b7667f4250c740817d405315931162f2f2b088e15b75f04681e8bbe7f9debb95240d3af1bb7f945ba5 SHA512 00c21aac918a40df90ac2272a0e2a3fcd2a66b247016c9f7b83e760ba38a721c7d7ff3bbffed5d6ec712156f060d1b945a41ccfcc74f83df8b10c9f3d0d23aac
+DIST firefox-78.4.1esr-ne-NP.xpi 529239 BLAKE2B c6dbab4abd1683b46a096b167ae40569ec360fc59409291932952cebd4be08c8fffa05112de88a5c6f8a08265b6e643d117fb3f8eee0e4c7b4a1d37c63fe7a69 SHA512 cbc8f046489e5466c9a8cf92b93979b0b16b4f5847b449ab45da27dcf7ff6dfc00ca4d01cdceac5d8d310d0d01bef471341aef8c90579c1f7d03117370a031c5
+DIST firefox-78.4.1esr-nl.xpi 558801 BLAKE2B f88de8c29a136042d2fae92bfb52500ae61239ed0b63b83e1d75891fc7618870882917e125f67df71c318a3a38e914caec2d8c8584b6b06864bdc984b38ed629 SHA512 5e82d146f8275a45d286273c9a73dd4dc718712116a95dfe6462df3077ce90f157376e402cd7324b0a6c4bbc691cfe2770f667f7e27be071a272b27851b64776
+DIST firefox-78.4.1esr-nn-NO.xpi 552128 BLAKE2B 578f5cfeb33f2a5a0e8252d235061a2ae80b498bac20c071c377882ca12efa94d59d463161941d905ea063540cd77068a925b35dcf505b35a5f6462b4ac192c2 SHA512 da22dac70eb3dc99c1c0656054bcc0d04011345808383f1de3ef465ac7968c9983cfb43fb07352789bf95cda728de76a283be68d9c0c537f2936694938d68674
+DIST firefox-78.4.1esr-oc.xpi 576264 BLAKE2B 2108ff824f57caa063c7c5478ec74886d80a74aac6d67ca1e913de98e07f52f1d7befef747725ca283629854379708909a6a5353ad35d07f75febe28536c09d4 SHA512 5627311702aee4af706b50c1827940ad546ffed83ccaf39d361aac244c92e445603ce1ccdf89b432ebd2e1c53e775958b8d84243f89f1bf391280f423fa3deb6
+DIST firefox-78.4.1esr-pa-IN.xpi 606188 BLAKE2B 700bb212a35dc7fdfe84673f9ba3b530d5c336f4c8df0c1431ce776c4fe588bdb3b824b2b71ce7350e21bc0f0db1dd693e7dd2e928c3a895f70e683556851fe9 SHA512 140019ef9d579a5f89a4079c3910741578a4f6f7e498c04b58028f06deed5d9dcefbe5c020f66248046e71e7343a35628636b0b85e63394d62667be21872eb38
+DIST firefox-78.4.1esr-pl.xpi 574914 BLAKE2B 8f42d1e1a635dff79c06e661c30d1da1211bab6a6eecf4648e4d04ab34698f738db3fd0c3e7cccfba72b93ee3c44500b80140df97d03bc3f02e6c6237292de4c SHA512 351d6558c482c4f84af73cc79898d8ceb80fdc069b6ce1189b4e8799f7131ccf1872612d9bd2206697c9543068beb643effd1277a466c774eb1dc2f84a91110e
+DIST firefox-78.4.1esr-pt-BR.xpi 558032 BLAKE2B a32dd4028345a8f760aef290db90552c8a37d3decd356cd519946f245f407a7a7b083ded110bd6ed22bf559aea2366cb88ab9938b41c10ba0753ad5e40285894 SHA512 10a97dae9d415af94794235ac88dd108a75a8b3138de1441f1043a0737144455d21ac69d822ba0af0f8112f8ed83d18b2b79b30cb32ea742d0ce2f493c7075b9
+DIST firefox-78.4.1esr-pt-PT.xpi 565633 BLAKE2B 2681f5e7690ef790201f140b8b796f1349c20bacfb06be162408458e977a85ebfdece5c6daec9020f2aa5aebe5ee3e62cf705f477cd9edba81a462fb3b88991e SHA512 7886d05eb4f23fbcf7371d916cf10f9a7b217b477fc4bcbe985a324a876c973298b31343670f9e016dc28c25b018f4e139f8ee305b181e63070330077278c79c
+DIST firefox-78.4.1esr-rm.xpi 557926 BLAKE2B 2ccae2445e2c36401e88704416ff6b787dbd36f7e5f9513837831ee880aca5af7a6a067ca53dcd3c295fbe75fdd98e7cf04051e4ae67b33ecf2bf4d0127233aa SHA512 5174c6c918de2c0b7c608023a4883cd0f22be65727abfc1bd19040fc1500a000527f2085c8f8b35b5f0f350e1be57d0584553ff3a803abf55dbd825df69fdd71
+DIST firefox-78.4.1esr-ro.xpi 569395 BLAKE2B e01a41b96dca3ac6788ba01725ccb63bb9e39f7e46239a6ed9a62f5fb9284cbf09330a8a3170b6c07acbc652825937bbbd63d8821c49e440c25af20dfc815630 SHA512 67a6dd482dddf5c015ad0db3c9f6b745b5602d9e3ebb140a327a64d5873741465c2860e0f658a3ca26f03f4841727823821174d0872343bb2519ccd5c2e71faa
+DIST firefox-78.4.1esr-ru.xpi 650695 BLAKE2B 30dc61bc56a46ffbdb0a2f2e1723eb0caff215dc1b195e4dce9d138d1a52850172c15d11b876c0567dfe38c527c46c556fc42710f5dc50013764a45dd5be0fe7 SHA512 29b903fa8ce09d86b3517afece67f9ffb3f33c1bd0475eadf77340830788a89226934b0ab32cbb7bbef7f6efaf47bfc7b7f2097f89498f44763626bb0167b8ab
+DIST firefox-78.4.1esr-si.xpi 534194 BLAKE2B 5bd69cd2399d20263525c6075e49cc492662e62435b3b04ddc7fc131543fce5b7b1d1f5c9fafc1098da8e0a7925fdc2320befc62c2616a905283fbe07707749c SHA512 241fac5ddce9c098b47e61ae8a2dea0a975daa9032f9ecfa370d0a17268545d4dd55677c4d010f8ef9cfc68bece6e8d542492c403896390639c631adf814e0c3
+DIST firefox-78.4.1esr-sk.xpi 578525 BLAKE2B b2d74bbae306a00bb8446758c1ac40479837ea551552eede86bc08dcfb4023628b8fa7587eab28148744b2e2468ff73a63cfdbd137ce4f4e9407d55997f869db SHA512 8c284d84867f09836e5582ace7c905e04a248d028c4ee3d2a3bfd2183e4969a7c453322a9829c35da69e9b860b2a0976cc4e6be77f2eeb90b631cb1c65677c6e
+DIST firefox-78.4.1esr-sl.xpi 563033 BLAKE2B fa032aac291bbc53c1067ae409a9dcb1f32c5512fc01b905fc3d80ee59fdeee51fe61602539665f2f0e9ec43c987fd7b900a3e1afac00b1f92c7b5ce6fa90202 SHA512 e9a121d239469bf09caefcf842618ceff37215bdb300b53f9f5fa2e181f44979410c55550c7a7f22a42fb0411dfeb1b71272c5cf9b4b41613e21f80eebc17099
+DIST firefox-78.4.1esr-son.xpi 454241 BLAKE2B f4ba354db7215759e2a61e551cb8af017cc4546308ac74af37c5397573f344f3d998fb28dadf8f778609cda74ad64b3a7944a696c63810eed772e58230507c1a SHA512 d611fefeee4c561ca0c96112795b5f74543faa5eef748056f4b8e0cad778d79da6ff01589f4366dfa633777f12a696f3ae941cb961056179fe80f1558a9b825f
+DIST firefox-78.4.1esr-sq.xpi 580002 BLAKE2B 004af64e23e7657098b1bb74b03fa3be3537976fe40ef8eee87cb298b129607d2f4f482eb4f352d89b1ce9e5d9fcc0ebd8172a821a225bdced49a0efc25f26b7 SHA512 442d805d372abe0e47a6204859e8bd91cab926a0b98a69930e4b6b9cc2905f49db39a035a4c8d8ecb6d85e3b5b72c92bd2522137f85edca6523343b2cf735f12
+DIST firefox-78.4.1esr-sr.xpi 604547 BLAKE2B 68f37b7963a5580e2a52fece6c7bf07e7ee38a73d60a843c38813ce436a497d89026c00ae88213392d71861857473010fae64e56c6bdca658e9838100fcf7a56 SHA512 78bd9056e8ceb7bbdc02dec8549ca3060733c16356069346280c1bf82de368a9f96f1b0622f1f083e41bcf92a4385aeeca6e90cf6cad787c384b469ec7122343
+DIST firefox-78.4.1esr-sv-SE.xpi 561875 BLAKE2B 8b54d8852ddca0440e4d552c0f8ee41496148d46bcf24e8b43eb99d44db960dd260e7a81fd7b1681b3a266f48813c2208be6620d079766d63b7f945b5fd87de8 SHA512 f4702b76f68d3de965ca6e3d95704a8fb3a4532f2340ed4bf55b62dd55523def679cdacc4a16eda3f7870e1a6afc5987a3a1bc135e3c0ff96c8e35c17f5c4973
+DIST firefox-78.4.1esr-ta.xpi 572349 BLAKE2B a06c31e58ab36244b9e214a206dde66804077f120e55d189d4aa8527b57d8df3aeb1a34d19bba8062c9bfb51956a4f5c07a3f60554151eb701cc280721704cf9 SHA512 3998ffd29d8f9bbb89496a5713d90babbca82124198579556df2433187ad6e302797e87b8c3570880bb8b0334d5f6da8a0d121b9be9255275e870ec3253b2d45
+DIST firefox-78.4.1esr-te.xpi 591657 BLAKE2B 5bd309bc52a849cb7c0b40eba3ab534f1938c9113f9d32c25b2eb0ad5b9033ecfd90cea8608cdacd02101e779a44e7c1a0327bf7f3411411e559b651efddf022 SHA512 a58159ca7ac1887bbf8aa6eb63d7abad82c1a6fbd3ce5f1750115e49e1517edeca332b5d7210d2a4ffba7c736c6c1ec9afad4ee6da2178885a5dd7aef4ee127a
+DIST firefox-78.4.1esr-th.xpi 628308 BLAKE2B 811a3cf9d98b04d71354648eca84f86c56e2112ff3020c7bf5f3c6024322381471d84a67b4ec61344b2f0ac26d9c57913354dd15cb66d315155c8038fc0367d7 SHA512 05b33bda2c08df0185728c79d3ad01ea8d2712ba3415e91defb780f94c250359eb5febd87b1ffa24fc192320c2dfb96c41e595dbe85defd8a2347ca079c5350e
+DIST firefox-78.4.1esr-tl.xpi 552298 BLAKE2B 6b6d3599b3b5d5401443b881407f5c4cb3d379155cd74c8fdf6f80de7a353cedc6bac333a4f12c854f974cf7191bedb821bb2c1f73d360353c80467743398375 SHA512 92a4dd6a9572dbed34c85490db118ead8bf14338314c419d6fa5162319f4b44f23afa233fbc195e42efc350fbd901781311ae3bc6adc69a8bfc307a9e68c512a
+DIST firefox-78.4.1esr-tr.xpi 576356 BLAKE2B 372a1ea56ef074d0c15739e6253210bcfe95a0272f32210f6cd9971ab5b6a760b43a7bd3ac1c873f3c5b0e31f1eed886c199132a7a0be34a5e9297921cb7e721 SHA512 82d1b0be39b196f3c55267d3b853c0f08483a8154ece667e665a9581480a7dc17767a643c0e2a0eb728ba8b05c78f26282170cfe54d53cf59ffb93aa5f16ea7a
+DIST firefox-78.4.1esr-trs.xpi 540197 BLAKE2B 66e19b1d069987d75240cb57d0807c1651b92602913c826048cc4c452708291eeba4c5952f30c9a35a4fb1252d51e06079ba9667fad64f523447c3c369cf31e3 SHA512 d3e76a11fddb02238649428224dc998c5e140d96c4e54fc5777103857a46c8632d0f65b642e02cea21960d8aa5daded0e40e307f20d24badc15ff9fd8c672277
+DIST firefox-78.4.1esr-uk.xpi 646863 BLAKE2B 3c7835a626d0533d69fed3bf47c3b27766ad8323997fee6779f115e064c9931564d99fdb5366c0bf20efd1db176e84cee291b0f52ba959f7dda970cede7edd40 SHA512 76f9ac565d288d15cf67179241d960ac1c655f3a04e75b0d08f3a6c1b9af9f19b41616ecda7bdc767a55d873b07c89d844d86257a714b9704afd25f832eb7c94
+DIST firefox-78.4.1esr-ur.xpi 608136 BLAKE2B 019bf0b8e056081b1296c64657cbabb7c658d5473b780bedccd320e39993038f16bb430c82e311cd2d57f3c18f55d109a0029d134947c1b8807fa1da37610b43 SHA512 59838b8a76a1d80e54f629934dd5f8de1f6363ae222d44a1cbd1f8ebce4d9fca38f3992975b095a4339022a83701f5392853e13e08aa507340a1dcd387115f38
+DIST firefox-78.4.1esr-uz.xpi 521138 BLAKE2B ca55f4624df3f19646b919fb7c24edf3ae8a79850a490faa174c523601913838470c470caad0780ccfc05caebc42aea05f2972338c9c3277977aad660b97a5a7 SHA512 c4bce6f31ad0d5defc0addfde6917388c46637035bf9150334f57ecf174ecd5171fbb08bff71e5094604896fe829fbf99908577756233826b6855e7606269b7a
+DIST firefox-78.4.1esr-vi.xpi 596835 BLAKE2B 85558c438c348c870b16c54d0aca7c8f6648463040c61298161a93e84cecd6f4302ffd851753b65d90a78ae10069d23683b11ebcb8b85e5f8c305192b495dc4f SHA512 69d053eaf2294c8583dd79c55a8f72c4fb628eba0def6a5fe8806e7394cf4e26b467d98003b3a499ad784c3f7986463c1ad24eab1ec718e590d7e0e994255622
+DIST firefox-78.4.1esr-xh.xpi 458906 BLAKE2B f02bd178123b30d731233ce95582b28cd7bf6143ff2a0957115d5b04cfcf8dfbb92727093d38a74dbcece2fa71783de03415dc662dbf2f3af9b6119759cd0588 SHA512 77f1b40120dbb105ca5a6a9dbf35b97501d7ff56dcf7e6fcceac8fb4f6e553f36a3b06606f5e22cc0ef9520bef0d818aa28a87224d033f0f66805f38a97e57bd
+DIST firefox-78.4.1esr-zh-CN.xpi 600187 BLAKE2B 51460ea46512ab017a2b645d304365fb860b196f88f6b8502632ac656c9cef60fbfcbdec1e72af3a538262023720da0d99176a0f3627db78d752a7817c9c451a SHA512 13c4957e13160882fa07218dcd3f81a73e869a0d03af201a8f4293b6265302925e50de5a7ef11b510b158b921a02947fa82c6e075185028ae7a0b67e6d0aea90
+DIST firefox-78.4.1esr-zh-TW.xpi 599284 BLAKE2B b765121ce6abba620914bba3e6491c39df629bfd5478985986d7b42483aca7d5bcfc72f9df3ae9830a84434d8ac2ca13baa38ee88703140864e4bb139fb98402 SHA512 502e07a7a48bcce03cbb55fd619a4e4bb3a5c771f93571ca4a4514d16bdf28bc228de04509666a8d22bd2f870c5243c38408078493b1007ee943d3830dae44cf
+DIST firefox-78.4.1esr.source.tar.xz 334673424 BLAKE2B 3ba8bf545c4c2b92914bf7f63b539ba61dc2ee6c14fb8995a6d75adb4bd11988f1d47d2c64639cbecf7a4b01b99085e63af4eb3afc7a27047f03048ffa9c2c2d SHA512 287096ad67e86b307554475c3b5d1003a325d6d13987bfbec2ec79aa0f8004dce1614ab62585ba5cf153545618906ab640cd4657d5a910085afb3d8ceb46e8de
DIST firefox-78esr-patches-04.tar.xz 171504 BLAKE2B d51e55c255d1f5cfa0c7c030b1ea50cb54951bed3bc21b21f5cb3b1e4b8b2ad406b3d12db2baabd4a90e3c88a38f187f277e7a4afe441ea6cf82c48f84bb0ac5 SHA512 6f00ec898fafb34d7c7e0ff2a6fb5c1cbf1205458845e14eb39c131125c5bf6b2418fea1050bb72449ec40e18fd775fc844437ce0290281d66961de40a53235a
DIST firefox-82-patches-01.tar.xz 31208 BLAKE2B e36f2b27db38b5f2f2104c66d504aa8b495e261e0faef83c1a65c8d69face4296d4cfc122201c7f36dde1c3a401f71b75bbf22f3fc07d05e1fb1a5e21b459e66 SHA512 25b6ed1215f621f97480be1f7db97c6458527dbc8d92ec52968a6f6ba0ba9df14ec085440283064cd840057964b2d0570563497689b03c69ccd0635967e52790
DIST firefox-82-patches-02.tar.xz 31444 BLAKE2B b73f8e43ea8d33eabbd9a96d9e12a163a5f4b06751f2db8c077f87beeee6fe022e5ad5ce534eaa1ec8500cc291313313a1986535aa1dbe1d4209d6abfe6bced2 SHA512 7ae99697d81afe2e612d4c7575382b26fe8970072f276e849880aaaa3982e0d8d64e460c2455601fc9727f85cdd1931e1c300cf4bd0ee344a5d23e34f4e78e2f
diff --git a/www-client/firefox/firefox-78.4.1.ebuild b/www-client/firefox/firefox-78.4.1.ebuild
new file mode 100644
index 000000000000..366747a47d11
--- /dev/null
+++ b/www-client/firefox/firefox-78.4.1.ebuild
@@ -0,0 +1,1120 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+FIREFOX_PATCHSET="firefox-78esr-patches-04.tar.xz"
+
+LLVM_MAX_SLOT=11
+
+PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="pgo"
+
+MOZ_ESR=yes
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils llvm \
+ multiprocessing pax-utils python-any-r1 toolchain-funcs \
+ virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~{axs,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+
+KEYWORDS="amd64 arm64 ~ppc64 x86"
+
+SLOT="0/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
+ app-arch/zip
+ >=dev-util/cbindgen-0.14.3
+ >=net-libs/nodejs-10.19.0
+ virtual/pkgconfig
+ >=virtual/rust-1.41.0
+ || (
+ (
+ sys-devel/clang:11
+ sys-devel/llvm:11
+ clang? (
+ =sys-devel/lld-11*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:10
+ sys-devel/llvm:10
+ clang? (
+ =sys-devel/lld-10*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] )
+ )
+ )
+ (
+ 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}/${PN}-${PV%_*}"
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+ MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ 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 "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+ ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy
+ da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu
+ fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM
+ ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my
+ nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru
+ si sk sl son sq sr sv-SE ta te th tl tr trs uk ur uz vi
+ xh zh-CN zh-TW
+)
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -ne 1 ]] ; then
+ die "${FUNCNAME} requires exact one argument"
+ fi
+
+ einfo "Clearing cargo checksums for ${1} ..."
+
+ sed -i \
+ -e 's/\("files":{\)[^}]*/\1/' \
+ "${S}"/third_party/rust/${1}/.cargo-checksum.json \
+ || die
+}
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+mozconfig_add_options_ac() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_add_options_mk() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_use_enable() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_enable "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+mozconfig_use_with() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_with "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server can not run as root!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="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
+
+ if use clang && use lto ; then
+ local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+ [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+ [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+ local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+ [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+ [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+
+ if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+ eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+ eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+ eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
+ eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+ eerror " - Build ${CATEGORY}/${PN} without USE=lto"
+ die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+ fi
+ fi
+
+ 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
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ 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 lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make LTO respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure \
+ || die "sed failed to set num_cores"
+
+ # Make ICU respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/intl/icu_sources_data.py \
+ || die "sed failed to set num_cores"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+ || die "sed failed to set toolchain prefix"
+
+ sed -i \
+ -e 's/ccache_stats = None/return None/' \
+ "${S}"/python/mozbuild/mozbuild/controller/building.py \
+ || die "sed failed to disable ccache stats call"
+
+ einfo "Removing pre-built binaries ..."
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # Clearing checksums where we have applied patches
+ moz_clear_vendor_checksums target-lexicon-0.9.0
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+
+ xdg_src_prepare
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current CFLAGS: ${CFLAGS}"
+ einfo "Current LDFLAGS: ${LDFLAGS}"
+ einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
+
+ local have_switched_compiler=
+ if use clang && ! tc-is-clang ; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+ have_switched_compiler=yes
+ AR=llvm-ar
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=browser
+
+ # Set Gentoo defaults
+ export MOZILLA_OFFICIAL=1
+
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-install-strip \
+ --disable-strip \
+ --disable-updater \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-ffi \
+ --enable-system-pixman \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-png \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system \
+ --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
+ --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+ if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-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_add_options_ac '+eme-free' --disable-eme
+
+ mozconfig_use_enable geckodriver
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+ fi
+
+ mozconfig_use_enable jack
+
+ mozconfig_use_enable pulseaudio
+ # force the deprecated alsa sound code if pulseaudio is disabled
+ if use kernel_linux && ! use pulseaudio ; then
+ mozconfig_add_options_ac '-pulseaudio' --enable-alsa
+ fi
+
+ mozconfig_use_enable 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
+
+ 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
+
+ if use clang ; then
+ # Used in build/pgo/profileserver.py
+ export LLVM_PROFDATA="llvm-profdata"
+ fi
+ fi
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # This is upstream's default
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
+ 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
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ else
+ if is-flag '-g*' ; then
+ if use clang ; then
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
+ else
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
+ fi
+ else
+ mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
+ fi
+
+ if is-flag '-O0' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
+ elif is-flag '-O4' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
+ elif is-flag '-O3' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
+ elif is-flag '-O1' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
+ elif is-flag '-Os' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
+ else
+ mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
+ fi
+ fi
+
+ # Debug flag was handled via configure
+ filter-flags '-g*'
+
+ # Optimization flag was handled via configure
+ filter-flags '-O*'
+
+ # Modifications to better support ARM, bug #553364
+ if use cpu_flags_arm_neon ; then
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
+
+ if ! tc-is-clang ; then
+ # thumb options aren't supported when using clang, bug 666966
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' \
+ --with-thumb=yes \
+ --with-thumb-interwork=no
+ fi
+ fi
+
+ if [[ ${CHOST} == armv*h* ]] ; then
+ mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
+
+ if ! use system-libvpx ; then
+ sed -i \
+ -e "s|softfp|hard|" \
+ "${S}"/media/libvpx/moz.build \
+ || die
+ fi
+ fi
+
+ if use clang ; then
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
+ # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
+ local disable_elf_hack=
+ if use amd64 ; then
+ disable_elf_hack=yes
+ elif use x86 ; then
+ disable_elf_hack=yes
+ elif use arm ; then
+ disable_elf_hack=yes
+ fi
+
+ if [[ -n ${disable_elf_hack} ]] ; then
+ mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
+ fi
+ fi
+
+ # Additional ARCH support
+ case "${ARCH}" in
+ arm)
+ # Reduce the memory requirements for linking
+ if use clang ; then
+ # Nothing to do
+ :;
+ elif tc-ld-is-gold || use lto ; then
+ append-ldflags -Wl,--no-keep-memory
+ else
+ append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
+ fi
+ ;;
+ esac
+
+ if ! use elibc_glibc ; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ # Allow elfhack to work in combination with unstripped binaries
+ # when they would normally be larger than 2GiB.
+ append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export MACH_USE_SYSTEM_PYTHON=1
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # 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}"
+
+ # Show flags we will use
+ einfo "Build CFLAGS: ${CFLAGS}"
+ einfo "Build LDFLAGS: ${LDFLAGS}"
+ einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
+
+ # 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}/${PN}-bin" || die
+ dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+ # Don't install llvm-symbolizer from sys-devel/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js all-gentoo.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.js"
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+ fi
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ einfo "Disabling auto-update for ${plugin} plugin ..."
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
+ pref("media.${plugin}.autoupdate", false);
+ EOF
+ done
+ fi
+
+ # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
+ if use system-harfbuzz ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
+ sticky_pref("gfx.font_rendering.graphite.enabled", true);
+ EOF
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+
+ # Install geckodriver
+ if use geckodriver ; then
+ einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
+ pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/geckodriver
+
+ dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/browser/branding/official"
+ local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
+
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menus
+ local wrapper_wayland="${PN}-wayland.sh"
+ local wrapper_x11="${PN}-x11.sh"
+ local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop"
+ local display_protocols="auto X11"
+ local icon="${PN}"
+ local name="Mozilla ${MOZ_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="${PN}-wayland --name ${PN}-wayland"
+ newbin "${FILESDIR}/${wrapper_wayland}" ${PN}-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="${PN}-x11 --name ${PN}-x11"
+ newbin "${FILESDIR}/${wrapper_x11}" ${PN}-x11
+ ;;
+ *)
+ app_name="${name}"
+ desktop_filename="${PN}.desktop"
+ exec_command="${PN}"
+ ;;
+ esac
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" \
+ || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+ done
+
+ # Install generic wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}.sh" ${PN}
+
+ # Update wrapper
+ local wrapper
+ for wrapper in \
+ "${ED}/usr/bin/${PN}" \
+ "${ED}/usr/bin/${PN}-x11" \
+ "${ED}/usr/bin/${PN}-wayland" \
+ ; do
+ [[ ! -f "${wrapper}" ]] && continue
+
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+ -e "s:@APULSELIB_DIR@:${apulselib}:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${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
+}