diff options
author | Thomas Deutschmann <whissi@gentoo.org> | 2021-09-06 17:44:06 +0200 |
---|---|---|
committer | Thomas Deutschmann <whissi@gentoo.org> | 2021-09-06 18:00:51 +0200 |
commit | 495e3dd2cc6d5faf9566beda634801aa11d35855 (patch) | |
tree | 8f6d41124606261450ae26df85d7d542fef7936f /www-client/firefox | |
parent | www-client/firefox: bump to v92.0 (diff) | |
download | gentoo-495e3dd2cc6d5faf9566beda634801aa11d35855.tar.gz gentoo-495e3dd2cc6d5faf9566beda634801aa11d35855.tar.bz2 gentoo-495e3dd2cc6d5faf9566beda634801aa11d35855.zip |
www-client/firefox: bump to v78.14.0 ESR
Package-Manager: Portage-3.0.22, Repoman-3.0.3
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
Diffstat (limited to 'www-client/firefox')
-rw-r--r-- | www-client/firefox/Manifest | 97 | ||||
-rw-r--r-- | www-client/firefox/firefox-78.14.0.ebuild | 1187 |
2 files changed, 1284 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 27780999a9b1..e81a672b511b 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -94,7 +94,104 @@ DIST firefox-78.13.0esr-xh.xpi 427848 BLAKE2B c31909945f72dadee041eb3bcb4042ea97 DIST firefox-78.13.0esr-zh-CN.xpi 564769 BLAKE2B 2771f27244e43c48075f9f6babbbd362ef02ae6aa4ff344affc84fc96cd69427ba2f9650ede1aa27ad8c4e240030855df06f5d5ba133cf1f42bdc22ef7e049fb SHA512 9ea0f86c5529e9d069e1066974be9c50b93325be653711159215e06dcd4b0ad76c7e4a8ba954ec3e104b424918226c2b4999c7328638d352ff389b0e24b44b65 DIST firefox-78.13.0esr-zh-TW.xpi 564747 BLAKE2B 0aeef4fb1a7f1290f84f7f18d4f1ad63dd267a2b7f472dd7c2aac55851776c9308457ea9d6abb297c661d18b8aaff274d50ee1f8b39ec36de9a804b62bb419bc SHA512 73e873090097c1021c34e4e063b9bbc729023279b94a451307332ae70fb5f60b9cec6b515d3366550d126368f913c574200664322ca20b95279f7171595120d5 DIST firefox-78.13.0esr.source.tar.xz 333506484 BLAKE2B 1922e2f6b2ada46e581e4eaaa388873d31c6a922e5165ba225eeaccde5c1c6d7369a57ecf8e89371a34f692dca5754a461abb7d1c9bfda9cbc4f021d39549439 SHA512 78a5dc8713ab879ebfc3b8fd7a8219844d06f0d897342fdf9a11471633d98e148ff85cf10e561899df4910b94a33b57709b64788df4621a8c0b83eb9a7102cef +DIST firefox-78.14.0esr-ach.xpi 460292 BLAKE2B 6172004493452f0b3552b279e145fbd1e3f0b390c2a1e38d636beb2e76ca2353030e5a23cb0051cc2686b8a7dfd47bc12a62c0f9903484ce91e53afd1015b68a SHA512 1eb68df58fe3f601576150a6e0f344b68537cd8db3c69cfef30f81ebf35b48a40881da5194db62783f88e513dcce705901a0e51db1ad28fa68bbf3fa0d03702c +DIST firefox-78.14.0esr-af.xpi 428352 BLAKE2B 4c4eedbbaffe0b787bec867f8dac28b83b9854077c86ef6091f7b344ac9afc0d1d40dde83422803a1005c81dd7a17dc8ac155b8bf22ab8d9168ad48a23065a5d SHA512 b41a340340522ff72ed78bf4990254ceca898ee13ca3292e260b88293daa0763da1e5ea5aac482c5206314cbeb04a1ae44fb498bf5619417964170ff03fc227d +DIST firefox-78.14.0esr-an.xpi 508372 BLAKE2B 569866fdf9fc43e290bd6c873c4e0a57948fec7315977b614722bc300ef9fb7bc3733cc26cf6131c9aaf877aff5aad2c760729c932bab23d20e2e7161c51423d SHA512 49cedb618b37b478374fd735decad90976a9057d8055f82dbf6d207ef4228416be4ca5cc7371917c826271256f59c4b8bb244fa353966a323b038ce1300944c9 +DIST firefox-78.14.0esr-ar.xpi 560974 BLAKE2B afa1a2cdea62b4c906d4c4a07de110d6bc76799a4df0c68c5d1fc5d8f6232748e47ce7b567cff11dbd91db967cead05a79f28363ce892f9ab480b6bf0193b06d SHA512 131b1b2163fa0970a945f23ce3d7362958455a1f7b527ed47611f5ebe2960644fd7a4e998397b414935eb9c602e558ebbf69da9446b0ea37999b5aa16dcfcbfc +DIST firefox-78.14.0esr-ast.xpi 456400 BLAKE2B 9109a1204d82327b267954d284535bf82632ab687490be1699887ace2dcd7b42a34ea377261322e32d53d0da4077efcef62307764f0bd1765da47e3abeea8710 SHA512 f90e699147d6a11c4f3e086a17749180aa9d07faf81987bba218463c353e767f04c01b01c35ca657ea9583ab7c775a2073e7de2de92fba9e6a0e53b444e8545a +DIST firefox-78.14.0esr-az.xpi 497429 BLAKE2B ef59d029419076d2c4530d7646b03913044914cd530ab68b9ae4171db4d25877e92d43083ef8d15ac768fba38dc02d29fde7b7eb4de07a146f3096bb9322d4a4 SHA512 d634b3974dcd2d61bce46901dc7074ec8b6739250663cd44c9ac2b31530e15af8af4f435acfdbb46cbca1f5636a0d04fa56ef8a4feb2f7ecd6b7bf96c152c7cb +DIST firefox-78.14.0esr-be.xpi 608653 BLAKE2B 52f62ed9905da1f89fe90e4b131c91a66c3e7c04381e3d50c236b04a72383a7b6f73f485ed6e97caf5ff07c0e2d522d8be724be904274a8f38459e9fb5f8ad62 SHA512 b9a211c6545a8dd32164bcda535f9bdacf25faa4e20740ea686eb2875a3155c7d8b1e2dfce465ecec74511334e8b403ed890c57ccf3ba659a1b9207bc9d8c5dc +DIST firefox-78.14.0esr-bg.xpi 553989 BLAKE2B 6617311a88bac82102018be4eba224339540dfa05e763ab8f48c17cb3e6bf05f430a4b7cb73880029b07b04df5cf259d2e9b5373fa363daad31958104f600ff3 SHA512 8e663d4c1f4c3b3d4940b3b8fd6d34dc34bafd9195e8445e203f5a1a11ce85ce38f5e6544f731512b1c41ca294548f22f3e943b3cf3502a0beddfe5ef018f3d3 +DIST firefox-78.14.0esr-bn.xpi 572621 BLAKE2B b340d67e313a71d7373972ad8ba38d9ed5d129432dbe8f8e1d94ec433854009bf4e4eb6a1ebea15999b0b0a549dea35731f277fb35790f3e23fb4054d877677f SHA512 458c2b59e7fe485df04421c97b4964de076178f6413a7ab9721308b777ac912d13ce8e59dff0aa47c78eb3928487a0eda7009b10b031140b913179423e068061 +DIST firefox-78.14.0esr-br.xpi 507124 BLAKE2B 1beda598aa2a9c9405f91ef6916f1607949d73659611c721836ad2cb5d4f02b147995543cf78427c80fb37e14575b9824e84fe39f4c5e8d041c2784b6623656a SHA512 b0292679c2ab68c75dfaa70f030c4bc8016af0a4f48361825b06616121fb76b26db524adb2270b0232c7a6661d97a31c02aea7731d5395bbd933f9ee8d20b278 +DIST firefox-78.14.0esr-bs.xpi 463814 BLAKE2B 06af02ba3492000afa32ebb77cc2f633e03012343eb9c6c3469703f8241ad5e7a7c17559be1b3d9c25e1a87d568694ac72cf5ae86f892f38bf7d1beba1d3135c SHA512 e264a6b2a50c11372bb1f882b076f7643d54f6d015e39f11557d2a4edd24e58c38db6c9b3554b6a522d7397111acab46d713c32167b7836a9c696a3b56ea472f +DIST firefox-78.14.0esr-ca-valencia.xpi 517191 BLAKE2B f7be836d7c207c5fb7c5098cadec485b18e253f8d6136c18521a907dfda1fc5cafa12d754d3036ecb10fa73339ab4d86074c7691a78dcfe86dc75606c73a32d5 SHA512 0ff6e8fc648b5ac6cab1e24c730c6cfee284e8eb9cd7ec1fd1e966b6b69f6d5146fd5bd3f401b8d110812c1efa6f7a25082a646552a85386517705d47ce1afd9 +DIST firefox-78.14.0esr-ca.xpi 514176 BLAKE2B 807464010072c897105e18997bfcba347b6d6b8675cea8d368f46f21d8114e620f524c2148ac55b66d810fa0e53e494fa2e8671cd47fc75020d5775a0950dffa SHA512 a1832778fc082f3b67bb57e753f428d0e2961dfa98c86264ab0a0d30c31f341df17310c73a003c4f30016b13180cd56853a4137ffedbdeb994c69667c7e771ba +DIST firefox-78.14.0esr-cak.xpi 551551 BLAKE2B ba07df4c82a29bdc68dbaaf86afc0e9dd737553c155cda5aaf41649195c9b1d480b638b7babb30daa177f31188cf90bf2e56ed59c8695ca9b70b41d3b2566e47 SHA512 a54203624b37d0bc0c25eadc0bbea5a83808f964dbb98d3ace33a1bdeef36061c55a613718767055cc9bba56fe9ab26c1726c221434628b028ebdf2319bf4857 +DIST firefox-78.14.0esr-cs.xpi 540325 BLAKE2B 2cdd1cd91a71a60021ba412ca4dd66f2e2627ee4041f9e4184565146707f8780980af6cfff2a8aaa5ede9fe214d24f0fcef4b5182ae2e897779cb55397c5f96e SHA512 1927bdfb335c49ec181dadf133d8a8fd3ae0d61b6c4d05f94db3f321f7f7be256c9ececc728bf39b27e48bdefc4d965c4009cb752b771bd899f939966a489508 +DIST firefox-78.14.0esr-cy.xpi 530698 BLAKE2B 16eae5cbe546606f93ade7a69d24bde8d7d7d83c6865f8adc514fa1a38fa7b887ebe62524fbe47d735c324ab230f8778169c0a8dbf521e1d952afbddd840d52d SHA512 0306993221059abb0c4540bfd6157d9ffc4155881f66d7752be423a1798b9c07fa96a266be8ff52b8e54be95bc1591ba7dbd8b9a19948bd31b5ca3a0869286e8 +DIST firefox-78.14.0esr-da.xpi 520275 BLAKE2B c124d90d73050bb9eececb9e9e4f977e214bccab465548f5eae993be10603d0c6cee1b756349665afd5c27e7d47c18d8c0fbf9190a72ab314701f81ceab13513 SHA512 3db6396f32ce2851cc66179cc8aa1e897a07882bba0002cb3003f5e75feecbae30c443ad6f450b94cbc55824fe61d1e7ffa2fb1f7cbaed05611302cc724c8fe6 +DIST firefox-78.14.0esr-de.xpi 542872 BLAKE2B 112688e2f41bd6eba735fa13a2235e482d5243180bb5d664c7b7c3eccc46f0107d22fc0ce41a432eef538a783b148718d6d5373432c8b7e0c33cf66943fc1115 SHA512 b78b315cfcc1015edc7a09438b2c828aaa6e2e6ccfe11f701de14dd6544983b6e7dc2253662cf318da9f404a22937168dbbe4f8095d27857808378785a45197e +DIST firefox-78.14.0esr-dsb.xpi 554277 BLAKE2B 29875c9c0a0b992e6b6c26ec714c0b428ee69cfb18839a5c3bd5abf55667487b07d49e4670ac0b64aa77c1d96e97aad1d54b6f0d5ea2871a76def8c8f1d0ae34 SHA512 d7115d986d50bec430a7b79a58de9a6fe456c306c4f77f4a1bc8a2ef0447a474840b800d05b5403cc5a0bdf302e2020d59aeb38b39cc98b7ab34b9058ff02103 +DIST firefox-78.14.0esr-el.xpi 626561 BLAKE2B 3c1becc741a1b9a2610cb9de73e61d4e5632dc18b3e54b58f9de45672313779ef797eedeccf287553ffec7f0134057e62afda9c852076f5bec1cd3d0edee9efd SHA512 bbc74cb32194f0ab25f4ff3e72e3a367592354370683a27bba06a40cf461a6d53a9e8b9a20fa513997be1cf941e77592f3a92afc17ccfaef23e631847f760af6 +DIST firefox-78.14.0esr-en-CA.xpi 497735 BLAKE2B c95e41bf3300f9cc8ad3fe1ea8575cf256202a77805baebb2f3e75a1acd6bf2ccd52c3a1bf0dbc4f8fc56527fc6ba729092b8601eb25281b1237fd027bba4098 SHA512 0573a076e30381e8da7dfc07642771e47f6f8187c13a3e489acd049ee8e2000182a5181871126502893a3a2673c740fc12112ba1fd0b4104874ed19a75a169d6 +DIST firefox-78.14.0esr-en-GB.xpi 497574 BLAKE2B 8b883f6fbf8ee861781da81b0183e34d353746fd0dfdfe95429a0d6c9497b55f0ac78b151ad9fa8c2bdb4c64a95582bd35c0d93a1b9c29dc40fe3ba9d421ea68 SHA512 8f987f7a8fd525a166c174ab84fa962981d85cccc63fa35e73e14c9c29580d4a94162be5de5c03eb0e83ed54614467dd5b59078211b5aa63b594ab4eb23f180c +DIST firefox-78.14.0esr-eo.xpi 525722 BLAKE2B b2b20498379353a4e973b54566c32236ae123ba2190f9c804492d8d6d894d1df6609a60dedc051b48ab40ba06e34e37968d135e17f27bdf5442ab99130fdae81 SHA512 3ff3bc973d3d510e4dad39f689eefc36034c5b8816e7b0f8ce9a7df3d2dad53b56e889314580a602bd3cb5a49b3d1e1a5d73a1c4d229aec4342c694d966dae43 +DIST firefox-78.14.0esr-es-AR.xpi 535804 BLAKE2B 55380decd6a15b6a2496c5f7a4a98264235166a9a7bb8df2f7ff68b5315b0374b869f29c0accd7efb69c2f38820e052892b1e482a232c87669576558695e1e57 SHA512 d286dc978479142caf7bc913bfba78af3db39aa754f73f35ea56f26622fb3cfa077a5f5f15afdabea0adc3ed70b66549574c5bcfe9f96fba909c435ff05ce049 +DIST firefox-78.14.0esr-es-CL.xpi 535354 BLAKE2B 79efc11b2faab019d8e4329ac8d98143cdb57e1bb35f33b6bdf8f53c9e19f8b565c2a46fa6ec681625b95c31f167f8ded74f5cca6cd0530a5c46df8277201527 SHA512 2ec0ffdcf645c14d240bf2b108fdcb5d74f3f6772ab68edf57bd49ad038f598b0cdcadcf734d7174466a54bca5b7e914b621628dfc19694ddcee6e33d04bbc0e +DIST firefox-78.14.0esr-es-ES.xpi 522708 BLAKE2B 8aa900dc6ee81b3e248d8c1b45ad5765b30831ff57e5068e69c864cbfe74d02984ac3a17f6e67a902a5e5ae78011b4da9970f2a4021d5ca5cb7803131ca78abc SHA512 93c57ffaf86a41dda795a65ad01c9ec6399da07c96ffe83af53d8f08aa5e0f2b7a8f02749a762b4880bb0046030965c15bebab04eac07d0416d5baaffd95eac6 +DIST firefox-78.14.0esr-es-MX.xpi 532309 BLAKE2B c59d8f6d0c7d8b0562df60abc4761a4e808006389b4ed3cf9a3ed35e87b99244fa6d9b4ea190b751a3aa7f73124b9ace8d8cb23de548306d65258d75f9809f17 SHA512 2b6760d5c883b962bbbbfddedd7eff3334af42ce675c02caed3689efd5c4cdd1afa72a6c1e1bc92233e1c84192735bf9e3203432ffdd859210be3a70cc60fa88 +DIST firefox-78.14.0esr-et.xpi 485250 BLAKE2B 671ac432ff76c63e4ba720aec6a993fdb0237dc3f8b41ad531d6187474eaea0d9464eb2da41fe17ef99362e2569dc6ae0b4250c79582065f32d3bec33f2a4af6 SHA512 2a823709169cf7a32e751926633aefaf7971111b0b707c76278109ba854941d3bd3f16d12302a66c3a7264922f9cc8d353589a1d4aa104d3afb15485848c49f0 +DIST firefox-78.14.0esr-eu.xpi 505879 BLAKE2B a8b5818c395f29f573743ff412c329da4ce71d14ed9ff16bddfedbba25df6956d2e456710bbcbbd6b6fc14b660df31173af2e855d82b84a16765458d17ef29ec SHA512 cffeb8bbbdaf1cfbb167117eb8449d79446ab0cbf643b54e77eb4ab479761df74fb365af88444121b1180433b63b61e8cc87f7d3af3331dca06c31cc58b6aab1 +DIST firefox-78.14.0esr-fa.xpi 538923 BLAKE2B 315963b5c2496d5733c5b3a4dd0901df505e7350b29b24a3d8600434fbf6df6dbca453474ce625679e2ab1286718a127147ea3dc2af847c09fcf5c8b0b689e29 SHA512 edf3a1ab884bf117e7933c91070b319226b22e5cae9df8e10734ae4a74e7dafc2f32f594f4b33452a0d85ad8de14af4e814caf63c51eeb3db3d67cf9c0e258df +DIST firefox-78.14.0esr-ff.xpi 481617 BLAKE2B 77e63295b40a46a70bddf25c5aba37c5c8cfe07abc461eac6234a85c783fec20db2c236abb21ef70847a004ba486f2ce48f75b3f81a5e1d631c64714f509878f SHA512 38ca80b0f2b3486d8dcc1e15c994d5e8221bb248922f81a48faea5b04355c86917282cdc1b623529d0557dbbebda2d1c9a4eb57f60152c43110615d9ba7fedfc +DIST firefox-78.14.0esr-fi.xpi 517930 BLAKE2B cce4811746d7c6866d42c63677e37017f0696707481bd55d36bbe313105601d6a55a4a04bd16a17abba7c7a72eb4379ef67d04922958d2824e773a430cb71e21 SHA512 6bee3f658b8ad7a287c0594290a1e3181c793d59e89cf7491a2927be2a3dd0334d551bcf26fded5cc9022d0908ea292633db000412130ab275c27441283b64c8 +DIST firefox-78.14.0esr-fr.xpi 545893 BLAKE2B 2ac2f8fd03da7db50dc6a77e2e7ee68030e3dcc4d2bb3992528df9f8676dc8a601e06e830775b6ae0167679a7f579d6f01544ab01c1d52939fe9f1620eb7221c SHA512 ddfdc7353cefb19383c191bf6e2f8590d38dcc80fda93fd34a7d4537634d1f672fae7dbff6dc9f1cfddb665c389d474508104b9417f7f3454702b0f08243f5a9 +DIST firefox-78.14.0esr-fy-NL.xpi 532481 BLAKE2B efdb7475883a211852bd2ba45288a7e89a4dba469c3f27ecc5192ce98d41b239badd142e4af71008741a1e6fdc97d052af70cc521e8e851c41f72886371bf314 SHA512 c5ea8e6745705cceca75accae16b7902a103d3e8636432e1642092951247e757db8904d2f6ed012fe7814a5f6808db4067016a32127ba3a9b920e11e753b51ba +DIST firefox-78.14.0esr-ga-IE.xpi 466904 BLAKE2B 035f7ff09072dc43b2b1283cb4fd828f33f2f0bf7eede6e9ab4c09bf0503c889654858c184a94884f2dd45a485a708bcda34393e613d034160062b6cd17426dc SHA512 6d4f5bd6dcaa4bf43ceffce578cc6fc670f180aeb12f10459137665a757fcd97620c732fd96c2202053816292984696efe0e24f0d9c3c5033326c5e881f42fb1 +DIST firefox-78.14.0esr-gd.xpi 491896 BLAKE2B e46c92db5a33e36957b37cfe5326e3696070b453b81770d50ef5ee7bd545749338d74b502a986ce3e9afc84e3aae080e0cf697c4551086f4ba4bbd9fd2aa1a46 SHA512 8add92a07bc6d9246f1a6fc960028a0b7911ce4a7b9418327aaa4b53cd1c0f2139f42a83884998516e06a2a87d6e2e67ff6cf9d12189db9e84020068d8dbfcc7 +DIST firefox-78.14.0esr-gl.xpi 528418 BLAKE2B 5bd680f46f212e402ba2a881a1124bbda4cc79edc86940734d4732296d1a04f67a8a08c725db2ace8198bf68e7c55362645636b81070b2633bcee8397f0d362b SHA512 b1ac9231006a237849538783d1a0133534bdbbcfcf706cea28a0489d5ac6dbe294ce0ad7412e3fe9bffa26ad431e355b5aa0b491e60ed8392758f9bccc5b8ac5 +DIST firefox-78.14.0esr-gn.xpi 546468 BLAKE2B ecb00a5c32bac405e26c4d8b1ad6514988df3d68738d407ac662ae6341d014e8ebd3d56271d89c4aad2c8c2a44880d0e2d091c808c6644b252509cabf4c15999 SHA512 02798e554422228e73fecdd4782d9cf019b28a76193035c33cfb151272ab6ece72a98c57f9060d11cd9faf7f352a97e36c91b2a1c6aa6ca6b8328d880e0750dc +DIST firefox-78.14.0esr-gu-IN.xpi 541434 BLAKE2B ded993c377f45b54c1cf835fa21730c27be49ed039758cea004c418668bcf3591a79775a7bdf4aa598a8e96d7b1a95f551e186f79e8d0b4ac0350e276e59213e SHA512 e2f1888108b08666a7a819ae89916e14cc641b9a867fb14821ba4a79515197fd3aa2b5eb800f57fb3d63eec49deef645a7d40cdc5789b860ce5e3133833d4aef +DIST firefox-78.14.0esr-he.xpi 545580 BLAKE2B b9b4b3da5a0ad55e9ee6a9577095085cf076c4b5c07a30c234c058ed5057681ce216692add63e10441dc409b098f3a6693810db17e30c558587b794279fe08c0 SHA512 fdeefe908cdc49090e8925de92b8cd96c171a6f280f244446a45d7cc9d9bb394dfda34da95a91c29b6c9a0371accc5d790b4e6f34d9b43191ccfff0346af252f +DIST firefox-78.14.0esr-hi-IN.xpi 567859 BLAKE2B 5dc5e18013a8a476792fbd1eb4ba6b27170a0c635b6bb4844b24567eb233e7bb972a894f4aeb04781571418ec7b24f7fb32624a473088a07db4a28f9874f3f74 SHA512 0a761b30838635cdd85b2673301019754a2ae5eadfd509e2df646a82402bba9a24b8bdf775c8da26683d6eba80d6379f594951abb19f73c3c2c5f029f4c30311 +DIST firefox-78.14.0esr-hr.xpi 522695 BLAKE2B 290b8c8630d108b126f5c03a2c83daf6a285422b3c3f41ed02e28d8f759498f5e40edcee5fe5cc177e2cc49a2404955ad83350616f4a85f1e3e90a32c887cf24 SHA512 d8e7748d17925b8031e3a2bcf11be017fcf3ab6970cd4e885667035ec7077eac41404b2ce76bbf2ca86578006733faae5dd142ea9ab60809d4b81b8089633d0a +DIST firefox-78.14.0esr-hsb.xpi 550661 BLAKE2B 1e2a85f9c11b8461dbc278080730269bb07113350204adce75f01afb4bc1488d57ffadd10b81d3590e23bbc792c284c874417ac2f1a8d44ba6456c8d76bc0dad SHA512 78a007061b50f387dd2cf2e7ff2c5680aa363ae84cd8bec287affbe8d03f9da43e4a5f76b60bf09c76b278ab5ed8dd916f0a51f8dff23e4cc54d32f0ee1bc014 +DIST firefox-78.14.0esr-hu.xpi 554883 BLAKE2B 403ad326a1873ed30684910a76dcf4f4340e1bb86630bf42c706357c49b1795031ec6b6e4a6e04ea0a9933eeed93fb6bdb25e6059a819d82cf9ee7b926e3e32d SHA512 fee59bce668bce8fac15ab9099d0b2c433538128cf5e51d744e07dab427096a8bbcb01877b884a14b9eb552fb56bd05bc68e29c1532632bd7f5d3a85ad777663 +DIST firefox-78.14.0esr-hy-AM.xpi 588991 BLAKE2B 60b632765d084a822508e1291fc350ebdcf1fd2b468716cc843cc09b6c2895e79f062980dd8eb4309a6457257643c2297526e8caa9999c011bb239ca207890e3 SHA512 c33a58a6403273f9c10525c024eb0d7e0b931ffaaf1d36e0a6c3cb8193b42aa716d90aead251e74511374f488303dabfc9e65fa6e208b3d6c6bd25b221cf5f0c +DIST firefox-78.14.0esr-ia.xpi 518822 BLAKE2B f33e514f9d4d8a3d08f51c24f2857e7b6c150582b581a1138083b52baf9429654cf2befe760a5cf0687fa91a7ec702be5d259aef824d6c99cf43d40bc79558ac SHA512 17844ad44221e6a1dcdaa6f1280de24d0f363fa2a5256b61161a5bccad8d5d1d121176d90edb23dc37a4b58a4e77c1ca8a3eda3cf7c11a176cb7b5f58be34251 +DIST firefox-78.14.0esr-id.xpi 509569 BLAKE2B 116f25148448991b25647064a79df2fd2bc5b77e41c9589267cb628991a053efe0e45b913d37113877cfb0b30fa2c27b37140c2f26f3611580bd82049c4efd74 SHA512 f46cb098cce38e6d55c90486c9de293b424c1d1cb0b4445e0a9b1417107e5fe98d0e582d2b814b2690bb58eb0a55f823b79d4171eebe36f15ea0cc8a706d0673 +DIST firefox-78.14.0esr-is.xpi 477032 BLAKE2B c55323d8ff25a3f63a6a723980108e5daaa5f4a52d2bd7f2da3cca7cf4efcb65eb910114d53a96d3a035a5b1969d514dc427a02aa3ec5cb1b2c63ace77f026de SHA512 12b1b4000643f17574c01b70ecd016a25c81ffb792e000f56a9b656de8af9eda0874fd8285eb503f2eae14a13230e79d4a75f258ef9f0448b51f1bbcb984ee59 +DIST firefox-78.14.0esr-it.xpi 449817 BLAKE2B f45a2c611e673949dc9af995cc8816d408087f71b561682ccf802eb57495a9f6d607fd7966a041037e245514a3015da82da8a1e713d127ba4dfb4bc7829747c8 SHA512 a5dd1f2ad7e020852e07ba776bedb789cbeb301049c52a8a7178418f7b3ac9c59458d684d86e482786006d3d1d7576ce6f872f56cee3e39ec8c71a82ce137280 +DIST firefox-78.14.0esr-ja.xpi 578183 BLAKE2B fd4065c26887fa73a925136cc25a951dab8cac1647f82dd3f89a79e7e32d44952bf7b7598f2eb56f77a31d08f904e39866abf688e06fdaad25cab4d3e3e60e44 SHA512 27ae4cd28328d3a23b1414a7ef8be6366baa838d3f1a20e9ed6a8c8704186eefaba8e68c3e5f22edfa0d76c902b4985dbd8634d7a48fa0ccbdee0c1b98413d29 +DIST firefox-78.14.0esr-ka.xpi 579087 BLAKE2B 3492928dd07f22dbfbb6bb78bc8c3e02ada8f86a32418115634281bf643ffce0cdfed7aa888fcd98f6957913fd824a6dca8777202fce57d3bba9be794b6f0688 SHA512 17f9965e376adbed4067d00eb2617f6515140b4cd1a24cfb233642cdc73d8bffa38f14bc3649627cf5ea7896f6ac0efdfccbdd4a723f554c470e391d3323da22 +DIST firefox-78.14.0esr-kab.xpi 539729 BLAKE2B f6af275768f9756e65d7bce90d05389cb96376df2567bc151301715e87a543bea32b9d974d69232b2747960838379ba5e99a328a079e570d67fce276a741e267 SHA512 3b92398b6f1a7ea37057a0546fdf277dae1e932e0c6774e65666c63ded4e02ba0708edbb7eadf7db147dd3c06f00b9cf08a8e97d1c4bfa7af2dd0b633c897166 +DIST firefox-78.14.0esr-kk.xpi 593247 BLAKE2B d9e8f4678c8995aaa8e4d9877e39100396b0a6832236ffb91924771c8f766cb40985959b157addd69c961beae9f746643cf621bd79512a6f235f133e40fd7d6b SHA512 ecc0155641d3f48b6703797d1f2901f3928eda04150683e2ec8e15081685aeff70d095d682a6191571b3e9d3d40a6c29e40b7ee2786f21274153d90dbac23597 +DIST firefox-78.14.0esr-km.xpi 527376 BLAKE2B 1b10ab4e022020728cc5c34b13bbc6b4308bb15a3dc1f1cae2e142a3b0090fbc267bbc80411d85caa3e3753fa579f92d394d2e824e6b7e628e14242830871f86 SHA512 5ccb8ebfd62089ac5f152e9ccab72365a2914239480ca4ddeb0b86feb4cd558bf965db3471ce9e1597d7b985a3db8a1d5b0a48358baf1ca141e7a523aded71bd +DIST firefox-78.14.0esr-kn.xpi 506750 BLAKE2B be7be89726ed89ed9fe2a335223c0249b4f1fcc8a0eed1d4c28cc9c9c6726a326aabe0a498dfbebf1fb557a525d21511666f511b3c594308c109cbd65faa3707 SHA512 917d339b78fed82f72bdb3b7e62c20cbaa9dd9954496827da37cbecef5e4b120eb56bdfaf623e0a0ce38e7516720e14900bd283b2475e7a91f21ea29a24329b8 +DIST firefox-78.14.0esr-ko.xpi 567535 BLAKE2B 9649e6f7208e075043b9ca268ebe33edb516e2680c7b47cf3ab3e811efe6639441b57f05a28791bda777d63ec94826976897850cca4a09bb504db4bea0835da6 SHA512 d103971c578bd847b951c91d50665a8bee58f1d29aa62ad163a692c45612c348a183b0e5285378bc7cc86273231f0a4c2f1eb8be077b4d52659008470a3c5516 +DIST firefox-78.14.0esr-lij.xpi 475234 BLAKE2B 2891005a0e72cdbd7c233149e3b95f2c0038e88df1a42b467c53549ee755a2feaec1a89966b6132bc3f164fe47f3e0d8bbf5a1887bcf24a702032055c285fdf6 SHA512 8e7582f8e34bbeb13c9d3b22758c3abfc7bfb84afd57dce1f3300b68aedab221a06ee5b0f71d7a7dcb8534365ede3e9b91b3b90ea1af37034f4f73ade03679e2 +DIST firefox-78.14.0esr-lt.xpi 540701 BLAKE2B 0569be25a3aefab4ae1f78891024e0d2e74aacd11337f9ea3bf7c6ff8dfbd52cb614c88bae83f19356804c2f03326d63adc1cac1dac5ce15d1d16176bfffb133 SHA512 de0d9879cc0812898fbf1879fe6860a86d548cf9c1a0110d58db9c78d1c0db84db6a93a140f34ab9314d6c17f4f932afa8f98701c2b16ecf6d6d950bef90227f +DIST firefox-78.14.0esr-lv.xpi 467472 BLAKE2B 5af8c5289c0f70d6123ab7d1196bc6d44c0e16dde66d1dcbd91c0ffcb47fb3587cc3889c9e5f6a76819ee72928d18bb23974634dea21c4f59d7b1aa3498f3643 SHA512 e4afe1d166116e4eb8c5b497a9b3844b44e6ec2586c5b24c1192de016b5c963eed15b77e8169c0d2626a6670b15b6e3247dab349e8f47d26baf75caaa4ad0b7b +DIST firefox-78.14.0esr-mk.xpi 460031 BLAKE2B e0003607237757be71a147d256ca003f8e4dc3b3018ccf946acdcf57f0a262b533643d2404ef1c0ae1d09a8f31b73e84b77eab81ef5f30d32c338d3b4b0683f8 SHA512 7f57fff0f75eec887b1329bdb52d4eb523c117b9b841b7c40f42d3d106900e046d697d4fc70957f61777b6c940a3d3e2560f54e865c0b19ea4e81d8a50055145 +DIST firefox-78.14.0esr-mr.xpi 541568 BLAKE2B 5b61ee2a6ff3cb70418cad699fb702afd718999a98fbd9186f8226df21a95fba49eed999d31229af9dbf7d8fa81ebb52c885d8ecd0b4882c9974d9a4fa1c0265 SHA512 9bf2465a5b25500fed276056a83d924aaa821c4cc6d506e2b8fd14a9fee1a8637a2d85a4da95a71863a3d5f5a2b399a024eb6d0e213ffb31da1581044bcaa1e3 +DIST firefox-78.14.0esr-ms.xpi 453055 BLAKE2B db16cf845512665f448a7541a408752d8984806e6a48d79860674eddf51ad301e3299f7c3e001ebb0f0ab9d27b6630da4c0eed9fa0560aabc6ecf89b5dce7cdc SHA512 0851fb2c84f595f5af61edc5fd05ad87213ce34351b8635bb73969b5019bd01f9faf786172f8d27584c9055c01cb1718bb6cefad626c046621f673bc662a8763 +DIST firefox-78.14.0esr-my.xpi 526330 BLAKE2B c4dc0addf76dbfc8357e9620916a1c70e16ffc67b0e5f47825a5377aaa1c1df4cd602a3a0c7521a7edfde961079a08c9ed302515c06721cc7dd64969f5619f0f SHA512 575d51d92126448910f809b467ee588e608524312c872667281810591dee4616ad3ca58102aee667dc937069b64479efab21ad7381a0a2bb1b9a6a46a6b16014 +DIST firefox-78.14.0esr-nb-NO.xpi 518521 BLAKE2B 6a37694dd9015b303aa955f64eb76a00a5e5a041224251f9e468438ef6be9676dff88dfd4fff767bd4907c9a92cfe453f8ba716983c6be957b668062fa9a6c55 SHA512 0ee6ff5f074345187b2b19c88da1628fc696cfea1dbac2e7e3e8e28cfe0cdb3f48b5674c07fa2aa1e661e09ed9798265f0b37f25ac1ae61afb565e6d12f5cd36 +DIST firefox-78.14.0esr-ne-NP.xpi 483408 BLAKE2B 166568a283b52103d9548b6d0dc149b8c90dce4a83302bb33dc2848ee46f90fc8921203c05ea3c6779366f81b96e4f1c4b2398c82ddcd22fd2728b4fb0e01908 SHA512 4bf89380f196b7f17857d1df0696f4484df398a3122f5ec55ac314167489ad63e60884cd2b749eb0ca6f7ee7fad21bae4f151bfaf4fb1df7aa671fcf73d74e24 +DIST firefox-78.14.0esr-nl.xpi 526207 BLAKE2B b3f620de2fe0706b20e5c9150be2ef2007984fdb5d1b0e9fa4b97f04cf17fcf07341a0395718412ee2b4e7b2e1f6a07154ab0b22f418f4bab80ff06629fd8e4f SHA512 c9705e47fbc634928437b9133a6b23224bbb022ef24d43ac8ab6ede44ea4ae2ca9774a5de34da679c094b43e8916093d74ed90bd39bdf58120727eb253c811d6 +DIST firefox-78.14.0esr-nn-NO.xpi 520156 BLAKE2B 06246ec50fb6b1d83c529c71e480c1bd52755e6a22cbd5e54cf42d2b27d29639123586696ea539502df1e2b1a5b8e22c4993d6810d7ed8f631c40e741df4e094 SHA512 e08bb070ec79334cfdb3a209bb6362d4fc0b3fccffc0c038284ebc339b0af4b83005c98590f0b5f83520060d1ab99295e6f0964e91a45410fed4fb693bcef4dd +DIST firefox-78.14.0esr-oc.xpi 542152 BLAKE2B 3eec31151584826ff93f486929529b316a53406749865ca888f8520491d984266aa5d2465475c63e9f416d98b9bbd10c7d55cb025caf1c94d56a1a8afd4c0b47 SHA512 244be100f4fa5b598ecea295b3010c2001f1fe71624503a27adec6a12e08bf11031382b3181481405295665f36dfb8da6eef135fad6953dd7d3de4e8a374a41e +DIST firefox-78.14.0esr-pa-IN.xpi 580362 BLAKE2B b9b649e223080248903c114739b1231220cb29845fcf0890a2a9d98188051ae0e37b671a6b9f38cd38b282d1a06ed58ce0d068d4ee7e21527221bd28157ab619 SHA512 666ab88cc906db6874dd59f2da77af7d589068e88e3981bfed4ab445389c1a7cf7cf8b7cbe70038889a620404df2127497be20b0a8717e8394393c390b3dc093 +DIST firefox-78.14.0esr-pl.xpi 545606 BLAKE2B 7bc6a8cf6677391f824c194529fcbe3febb20cb62cdb56b9dffc0305d364ef52c7c17c09a0697308a8bae867da46e41c162d2d077c54bd4186a0b406c93e491d SHA512 bc11eec9565bedff24ed749d5b40b53b9269d950b7623918f61c7870f6311e9fbe3ace65679d85fd62de41a73a425ab3fef1d152b5997ba87c722b20e8903652 +DIST firefox-78.14.0esr-pt-BR.xpi 527582 BLAKE2B b1c2973fe1458098ab34a5b92803462933f7e3a6b0203022fba81f3fd84fd9c112a0ef455e06c5cd3cca85571ad69ad0302e229d1dd476f838ac5b1ad4e06305 SHA512 5f454030c18045690da22971f4a90ab8b5bb6dac70db16b50599a9d083aaf4137b2f4a182ed9d3e585781d105ad51504ca16bc5dfe636469183a7afbeca3a47d +DIST firefox-78.14.0esr-pt-PT.xpi 532032 BLAKE2B 5390d69ab9f234b1570d1b70b3c55abcbf51c6fea1f0e1053477c545c658a777077cf0f267200882cc88bb2805cc2a660efbd2f108e0852ca84726ec27dcface SHA512 3cff6d3fe5ccbdf199aeeff632cd64a5b59be608881c18f596a59a210ff4d3fe3e913ebf6110b5be6d7d5a627b265433384839ba4fdb182d616f978fc55c944e +DIST firefox-78.14.0esr-rm.xpi 526711 BLAKE2B 08b913c641e2da7adf62da5f175a9f42146e071bfe2be82b139fe9b62c6312c779c2000b11cc07c83407aa77b8a8cdd5d3dd9346b133aa1b98e30877b98b236a SHA512 2fd6ff84e90a8e02c3b0e973cc0c7e46cc36d81357d106008df090687649f9ef7895b1f53e4a155299f99784a40e2ac34f70b8e76c8763a034c216319c0a4e83 +DIST firefox-78.14.0esr-ro.xpi 535575 BLAKE2B 7a2c060ee0fb718aa84b0568da6457f3e16e8f962061c2f1ffbf156827d0edc744ee48a25130d26be528eb959a784dd7ea4cf07ce38352206170084d6ae0e0d5 SHA512 da47132eb11729b0342306d9c7d6d42799b4c0911814a2c058874fad3de079bf34a3695a6afa595bc5b877bbf847a160921fef678d009ace2ead7b9718a701ea +DIST firefox-78.14.0esr-ru.xpi 614598 BLAKE2B 078acf040420a0d03ad9adc9119264160e3f0694b8705fbb8b913338fc93cda51bc9e64f994f6569371d9b3d225600e10642bc36a71121c51b6dfbec4b93f49b SHA512 a122f4294c94eb76376436a08d591c8a8948f3e686b06c043c0a4a3832f56e69823dec19bc610f04231c208a08153bdb2b74b2185b62d533d79b0c8732d76233 +DIST firefox-78.14.0esr-si.xpi 492522 BLAKE2B adb49fc8ac4143ecc43c5bde14f324139041d34a0fa0b2f5bd65edcc4edc520d0f452713423f8d3694995f1769811b7e35eb265dadb66f366f4f624146e61c23 SHA512 9951afbd84ab0b543278eac671994eebf7d14c59cc5c99f4fc69bb9ccdd33cd37f7660db78c43df81c0fc18c4807ca75b0dd90adb0d97452ae1715910c3a2790 +DIST firefox-78.14.0esr-sk.xpi 534241 BLAKE2B ab2114580fdb7541e5b35f2a056ed0abafd5e1d34832d35e1bb36ef1f03552196672cb79422337163c8a553bc4f030a1e78257d5c41bc5ced294735217e67ec6 SHA512 ba6d3c9b821dff62d085ffd77359936fdd6005f4fb44b3a8c123c0e094e20cbe940de8c6d5c98b0c377b35686f96f011e24a33ab83041cd897e1d345da297dcf +DIST firefox-78.14.0esr-sl.xpi 520936 BLAKE2B ff1082a5a0eddbfb4c3d05ae6489de9ab12fd32ffdb79437bfc485720ba46e6ad425da81a49ece9242c59f908eaf761fa403bc37049f6ea8b12f7a758118ebc7 SHA512 39db06bab8cc70be2d10cf713be7e3cceb5c32e60010dbe315fbd607c4bab74a97bcff19059467a4eb2e75c568c3912c0889b193316266994573bf9a603f08ea +DIST firefox-78.14.0esr-son.xpi 424580 BLAKE2B e00166ff54cb94674ceb0919617fa7855fefb57a6c6360bb028f4db78197267c3b565ac27d202a3dca5f741b0263bb6d3fea0670712c796e0da8916027765d34 SHA512 ca7becddb358c672c75b43781ba66d63da1abcdeb9756b4545891c9a24d7b1e9f7f36ff6ea653960dff8ca40d705512f372260554ab5260080e1048122697da4 +DIST firefox-78.14.0esr-sq.xpi 544909 BLAKE2B b926f14347a7a3015ee2214720ce5828c9f530d8de5941d8b97e7f54e15fc2fd1422cd7063c5eb7a3dd8dd5bb435dfd592c5f0b19e25dbf04b20c2b06a345d16 SHA512 fda3a5cf64b791ff6e4f3da3ac91ca82552bef84dfb25b300b96b08996ef8b14b7fa544a0ee54d2306201af1354605cc260b527ee1967c029c24043d27d8f2f7 +DIST firefox-78.14.0esr-sr.xpi 561396 BLAKE2B d88ecc03210a6b13ab591186a0e052a13234ccb0d6ce17482b92c44510df55690a0fcfd7398469e3951b6250d5fabf2de885cb642998d0f9cd2d747da5bbcea2 SHA512 3feb63179860f10dc7303740ad1c7c2164ab8d67578dce8166e64bd7e281a5391b6be86fe85d1e89f54b807661cf3bf4e3a745b41db3e21921af855059461185 +DIST firefox-78.14.0esr-sv-SE.xpi 529697 BLAKE2B 941286baa2839461097760cb0ec08360d5f946baec4385d6909c1bbb91462b0cb1e3ce13b6fe853e5f78a8f924eb5cff92164442497d532aa2bfef5a3dae0924 SHA512 7602297e7ed5934da0dc92d334c6a8989ff1db40ce9a4347efaaa1842d92f71ee17026219d122685f5387a41c9a4796b302c8ee4c16da9980bbbb5bc90c2e12c +DIST firefox-78.14.0esr-ta.xpi 521529 BLAKE2B a797a83786c85c8416ba89b088ca2abfbd5aa102f132bc79889da96a9fad4f785b98ccd9a002a82693c9feac863bc9391ba701b3c1039984b485d7079866b615 SHA512 728b43a062d2561880a4b45c1ebaac1e01d8f26661ae2b26d2a4b88f3d50ec57bb611c8fb227df5bcac4a20c7fcd5c0fc6dd5a2d59dae53fe50f46b4fd6161f2 +DIST firefox-78.14.0esr-te.xpi 558415 BLAKE2B dc65317915ab52d53171f06a9818e6abc7810768e2576b01febf4b02a8e0941235c3ab43654b103d201b4b039a96dac371219597c00db5c2e4e1e6ba293f5d60 SHA512 fccb2562d445c63745fca297b24df36d9ac6d808c9b794d26396255ba98cf6b05671130d84645603eedf329c7d86c4194b2ef12fcc668f6d89f258474684943e +DIST firefox-78.14.0esr-th.xpi 592253 BLAKE2B 13bb9950fd43648d922e841b27001c7a4599946b3f22716284261177aafbf2ba5ddf7bd22d228c55542f4901de7ea1383d3ce5ee66aa1c5701aadf232456ae9c SHA512 6c482a34cdcb8a2880c0c744c7fb2bcd2553f1b3340c9a62e5232259f853ca7749bce25509307a1f6a8266efd5f17fcf9ab63c707bc6ee034e0928730f24780d +DIST firefox-78.14.0esr-tl.xpi 521114 BLAKE2B ebc8c8b95e03d609e7f3408e4521f5443a541dad343c1909a243ee36f689312d987e7732c979b9093efb4908975f5ba8364af3862a21dd33b9d6eed0adb361a3 SHA512 3a7a4bb231c471ef3601b00f6e45b7cbbd8d24b987e93addd937e1aaf5abeab7fa555a984baea267a50f3714a494c26dcb04ee6df561f7f29fb5dad64854e8e8 +DIST firefox-78.14.0esr-tr.xpi 539885 BLAKE2B b52ae72ee505611d151d5b650d06c4628c43e8cb713ca4146c327f4ab06c2ec8b5fc2c84a5ce56ac82e36fa127a745e89d2f82cc84d22ec772b217fbf76b8eab SHA512 2196241b8191cadc3997a1dc3bcf5e358dcc82c91398538dfb28442818dd0030b3b577ec5fe82d64f1466a84859db65de453e2d184b71763e7a001814da350c1 +DIST firefox-78.14.0esr-trs.xpi 501224 BLAKE2B 0696fe6474ae4b9d535eefc395b886998cf495a724ce4e4a9432ee645f748a52a369b5b74d5f23c7ccab9d39db0490e159265ac1d43d2220b51616671a8200bb SHA512 226201e55c438a1753774850b8fdbddf3daa3ba2c94ae56eaabde0254fcc18ee55d85a811d21df30f29e2cd7395b83338b6ef89b9da0dd540fdcc86621df9af5 +DIST firefox-78.14.0esr-uk.xpi 608593 BLAKE2B 2491d4f7702651ae4d4b5e65b47e9e5a50cf46b71a461472beef5c004a52cf49b3d131025225474f03817592427991f9212ee9bc4cd8c3ef5184c5a1f3c33634 SHA512 b394708d5f65ca4fea5dfe1f6ba190746ff4e99cc7cf6221a417db817ff33d139194eb3c3b4a5fb89d186a08834fa89556c72b5b31746c5b0e805521aee4ce71 +DIST firefox-78.14.0esr-ur.xpi 557956 BLAKE2B fcd4b2cd224043dfcbe9e7a0ef8f8812c5ce52d4c77e41c4c755b9fefd56e0572090650f97e0aa713d302b0e066cac0b257934780b2376266ed854c86ce592f6 SHA512 c5d8c23dc191879cb9943064f973c8217a08fd50b9b359b91935f62a64af53de8844d439ac9aac035af9b3999f939bfd9063f8268e3d662137e6cfac38e56a04 +DIST firefox-78.14.0esr-uz.xpi 477564 BLAKE2B 0d79d9774a0c3e647e0d6caf889a270f14cd72e26594e81967162152ecfe3c48b924b3ececf9015dbb31d01aee579dba710821ad43962662d6f3dc8990b8ad7e SHA512 cb3c8bd3268a060635cce6e216980b9908cb34b8ba100e1eab5bb7b21ca1202901f54e601adf76f852ef19ebedfaaf5c4e7cb16f1c3badc5a5ccc769e4e899b4 +DIST firefox-78.14.0esr-vi.xpi 562861 BLAKE2B 433c6d2cf314308957ab8126515945cba8788a28cd8d7c3e9ccdbaab1367850edac16f1ee5af2d737974b6a8a69612e421bc15caa8c00431541c003488e3253e SHA512 fe873c104c78167e35b959ae9455805f62436fac404b22d7dba2feeaa2722bd1b9b46583f9eaa02d5b0c20578ffa8192acfca1043b01755197523b415060764d +DIST firefox-78.14.0esr-xh.xpi 427840 BLAKE2B 98a6203db8dad8b0eedaca0fe618cad0ec9839aca849cc0c4eda134dd8215460c74ffb563da7bed7a5ee88ad1505521f43ded6f69e866e7dece3121fb8b8c812 SHA512 f0af08c51d823977c6a07f2e6500db03cec4ce0df70f2d5546e7bb8ec9aeeb7f8c4fc54978e2427b741ae5bae9700b896120d1717b01295606c2a868057d0778 +DIST firefox-78.14.0esr-zh-CN.xpi 564767 BLAKE2B 79af107fc6eed1b264c84d4694d1a88406de80e28d211bd1ddb276be043987f29d69bce0047a3b5fcea36ba1683679b60f979b80618aabd4f239dacd69333ab7 SHA512 682073787d31141414b41ff8a579d917bcade5cc8752eab205e8911a2cf51546fb5a77872c8ba13711b665f4f31716586660c308da9ddcfb4adf4342488a8a3c +DIST firefox-78.14.0esr-zh-TW.xpi 564732 BLAKE2B eaf9c564862a9235ebbdcfdb0ca594f88876082e7078e1d80e418f28e9af495d9e1932a6e569e8ce6f0bad948e833d4c99341c8cd4ec55f09eb0355bdfe6b984 SHA512 5e39158d4821aa9424fa3b66b2c050bb5d093147ffd40786c93561fcc58bad933d6342384ce2bf5fc8c78eb010d4058fbde9da9e843fd7751b253ffdef589a4f +DIST firefox-78.14.0esr.source.tar.xz 340771180 BLAKE2B 7b83bf081138fbf2367116099839c6d05ec5ade58f183ba033c5167d503a2a1f40976f88bdba680a7a8df7c66ac32449004e58a5211f16086b792a2b41e27c67 SHA512 5d5e4b1197f87b458a8ab14a62701fa0f3071e9facbb4fba71a64ef69abf31edbb4c5efa6c20198de573216543b5289270b5929c6e917f01bb165ce8c139c1ac DIST firefox-78esr-patches-16.tar.xz 55964 BLAKE2B 79d3a465c69656bb55ee7c1e9060606464b6404435b92f534db275521ac2343e045feae1fff6166fde9e2599a82cd982b0b2395271b1033f0f784e745e2c6965 SHA512 3aa971c726646cbf37a14a0dba6c4ac966b88db655cd8b730c5572543bfbf682991ee7c139889541e4f6936c13f27233dc1837fbdb9ee340b33ebb2cec59b01f +DIST firefox-78esr-patches-17.tar.xz 56004 BLAKE2B 01d2ded2658c24176a3d13d0267d1c4df4ef0113c5c40b1002acd39a0f04db35b773bc617afed1c681df3ec38120621a5c3753ba2d36688d7d5926233bfb8501 SHA512 43b372b848c1f30e02505d06bbb11f5b80d976fe7ee39c0d2aacf60d48bc1d3e378c325f4e2fd4730b971e88c3bd902539a7b81874f53b8b92369f876e05be5e DIST firefox-91-patches-02.tar.xz 22332 BLAKE2B d323054441c9383ccc88b0522cd2a8732df19af670aab6e57689a69f299ed97fe8cfeda0aff8dc7353d591705ce2c42957b21da1f449a58145d9343474d35f2d SHA512 f70665c4dcf19b67ee7305fc3d683c03817e7089188a5033a6fe9ee32074820876b52e0bd32f585e1e5cb14e2fa4bcd1cf9928dab6f74f6753b4bf18919537c5 DIST firefox-91-patches-03.tar.xz 22948 BLAKE2B b65585a1c84000872ce675cd531033522cd7ec7e3d3c4bb660269709f02944e8d88cc76c3b9b0059cf3ca85a3caad22168cf607aa1f4f2426eb0dd161b5ea249 SHA512 e970f8fda3257b871f3d8f1e185724ebdf5b4d91bfba6061a777242b7aee5a613fa4450af4f758c0f440d09483e65ca48ae79c91e040ba9c5e63d32d329a7187 DIST firefox-91.0.1-ach.xpi 465287 BLAKE2B 2d45551393247fda1a64aa05e8491c52e476c033a457cdd8872b3cab88028692f360b2310174116b93437e6523d86c19150045187f1392fa2973cab0f9141a8f SHA512 560cf7a68510d55909a15524af17b3e49c3c6acd84d61c509545ca0661733779b563699952f07d8efd6becd569b204f7114aa7434ff8889184f5c2f0a71d4d07 diff --git a/www-client/firefox/firefox-78.14.0.ebuild b/www-client/firefox/firefox-78.14.0.ebuild new file mode 100644 index 000000000000..1ae76d5d475d --- /dev/null +++ b/www-client/firefox/firefox-78.14.0.ebuild @@ -0,0 +1,1187 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +FIREFOX_PATCHSET="firefox-78esr-patches-17.tar.xz" + +LLVM_MAX_SLOT=12 + +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 linux-info \ + llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \ + virtualx xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~{axs,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" + +DESCRIPTION="Firefox Web Browser" +HOMEPAGE="https://www.mozilla.com/firefox" + +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" + +SLOT="0/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="debug? ( !system-av1 ) + screencast? ( wayland ) + wifi? ( dbus )" + +BDEPEND="${PYTHON_DEPS} + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.14.3 + >=net-libs/nodejs-10.21.0 + virtual/pkgconfig + >=virtual/rust-1.41.0 + || ( + ( + sys-devel/clang:12 + sys-devel/llvm:12 + clang? ( + =sys-devel/lld-12* + pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] ) + ) + ) + ( + sys-devel/clang:11 + sys-devel/llvm:11 + clang? ( + =sys-devel/lld-11* + pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] ) + ) + ) + ( + sys-devel/clang:10 + sys-devel/llvm:10 + clang? ( + =sys-devel/lld-10* + pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] ) + ) + ) + ) + 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 + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang ; then + if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then + einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use pgo ; then + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy + da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu + fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM + ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my + nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru + si sk sl son sq sr sv-SE ta te th tl tr trs uk ur uz vi + xh zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json \ + || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + check-reqs_pkg_setup + + llvm_pkg_setup + + if use clang && use lto ; then + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" + + # temp fix for https://bugs.gentoo.org/768543 + # we can assume that rust 1.{49,50}.0 always uses llvm 11 + local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }') + [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}") + [[ -z ${version_rust} ]] && die "Failed to read version from rustc!" + + if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then + local version_llvm_rust="11" + else + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" + fi + + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" + eerror " - Build ${CATEGORY}/${PN} without USE=lto" + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" + fi + fi + + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make LTO respect MAKEOPTS + sed -i \ + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure \ + || die "sed failed to set num_cores" + + # Make ICU respect MAKEOPTS + sed -i \ + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/intl/icu_sources_data.py \ + || die "sed failed to set num_cores" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \ + || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py \ + || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clearing checksums where we have applied patches + moz_clear_vendor_checksums target-lexicon-0.9.0 + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_src_prepare +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang && ! tc-is-clang ; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + have_switched_compiler=yes + AR=llvm-ar + CC=${CHOST}-clang + CXX=${CHOST}-clang++ + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + + # Set Gentoo defaults + export MOZILLA_OFFICIAL=1 + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-install-strip \ + --disable-strip \ + --disable-updater \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-png \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${SYSROOT}${EPREFIX}/usr/include" \ + --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent system-libevent "${SYSROOT}${EPREFIX}/usr" + mozconfig_use_with system-libvpx + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + mozconfig_use_enable geckodriver + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + fi + + mozconfig_use_enable jack + + mozconfig_use_enable pulseaudio + # force the deprecated alsa sound code if pulseaudio is disabled + if use kernel_linux && ! use pulseaudio ; then + mozconfig_add_options_ac '-pulseaudio' --enable-alsa + fi + + mozconfig_use_enable 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 + elif tc-is-gcc ; then + if ver_test $(gcc-fullversion) -ge 10 ; then + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..." + append-cxxflags -fno-tree-loop-vectorize + fi + fi + + # Additional ARCH support + case "${ARCH}" in + arm) + # Reduce the memory requirements for linking + if use clang ; then + # Nothing to do + :; + elif tc-ld-is-gold || use lto ; then + append-ldflags -Wl,--no-keep-memory + else + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads + fi + ;; + esac + + if ! use elibc_glibc ; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # Allow elfhack to work in combination with unstripped binaries + # when they would normally be larger than 2GiB. + append-ldflags "-Wl,--compress-debug-sections=zlib" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export MACH_USE_SYSTEM_PYTHON=1 + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # 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 BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if use pgo ; then + virtx_cmd=virtx + + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + fi + + local -x GDK_BACKEND=x11 + + ${virtx_cmd} ./mach build --verbose \ + || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from sys-devel/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js all-gentoo.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install geckodriver + if use geckodriver ; then + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..." + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/geckodriver + + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/official" + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install 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 +} |