Gentoo Archives: gentoo-commits

From: Thomas Deutschmann <whissi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/
Date: Mon, 06 Sep 2021 16:03:41
Message-Id: 1630944051.495e3dd2cc6d5faf9566beda634801aa11d35855.whissi@gentoo
1 commit: 495e3dd2cc6d5faf9566beda634801aa11d35855
2 Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
3 AuthorDate: Mon Sep 6 15:44:06 2021 +0000
4 Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
5 CommitDate: Mon Sep 6 16:00:51 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=495e3dd2
7
8 www-client/firefox: bump to v78.14.0 ESR
9
10 Package-Manager: Portage-3.0.22, Repoman-3.0.3
11 Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
12
13 www-client/firefox/Manifest | 97 +++
14 www-client/firefox/firefox-78.14.0.ebuild | 1187 +++++++++++++++++++++++++++++
15 2 files changed, 1284 insertions(+)
16
17 diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
18 index 27780999a9b..e81a672b511 100644
19 --- a/www-client/firefox/Manifest
20 +++ b/www-client/firefox/Manifest
21 @@ -94,7 +94,104 @@ DIST firefox-78.13.0esr-xh.xpi 427848 BLAKE2B c31909945f72dadee041eb3bcb4042ea97
22 DIST firefox-78.13.0esr-zh-CN.xpi 564769 BLAKE2B 2771f27244e43c48075f9f6babbbd362ef02ae6aa4ff344affc84fc96cd69427ba2f9650ede1aa27ad8c4e240030855df06f5d5ba133cf1f42bdc22ef7e049fb SHA512 9ea0f86c5529e9d069e1066974be9c50b93325be653711159215e06dcd4b0ad76c7e4a8ba954ec3e104b424918226c2b4999c7328638d352ff389b0e24b44b65
23 DIST firefox-78.13.0esr-zh-TW.xpi 564747 BLAKE2B 0aeef4fb1a7f1290f84f7f18d4f1ad63dd267a2b7f472dd7c2aac55851776c9308457ea9d6abb297c661d18b8aaff274d50ee1f8b39ec36de9a804b62bb419bc SHA512 73e873090097c1021c34e4e063b9bbc729023279b94a451307332ae70fb5f60b9cec6b515d3366550d126368f913c574200664322ca20b95279f7171595120d5
24 DIST firefox-78.13.0esr.source.tar.xz 333506484 BLAKE2B 1922e2f6b2ada46e581e4eaaa388873d31c6a922e5165ba225eeaccde5c1c6d7369a57ecf8e89371a34f692dca5754a461abb7d1c9bfda9cbc4f021d39549439 SHA512 78a5dc8713ab879ebfc3b8fd7a8219844d06f0d897342fdf9a11471633d98e148ff85cf10e561899df4910b94a33b57709b64788df4621a8c0b83eb9a7102cef
25 +DIST firefox-78.14.0esr-ach.xpi 460292 BLAKE2B 6172004493452f0b3552b279e145fbd1e3f0b390c2a1e38d636beb2e76ca2353030e5a23cb0051cc2686b8a7dfd47bc12a62c0f9903484ce91e53afd1015b68a SHA512 1eb68df58fe3f601576150a6e0f344b68537cd8db3c69cfef30f81ebf35b48a40881da5194db62783f88e513dcce705901a0e51db1ad28fa68bbf3fa0d03702c
26 +DIST firefox-78.14.0esr-af.xpi 428352 BLAKE2B 4c4eedbbaffe0b787bec867f8dac28b83b9854077c86ef6091f7b344ac9afc0d1d40dde83422803a1005c81dd7a17dc8ac155b8bf22ab8d9168ad48a23065a5d SHA512 b41a340340522ff72ed78bf4990254ceca898ee13ca3292e260b88293daa0763da1e5ea5aac482c5206314cbeb04a1ae44fb498bf5619417964170ff03fc227d
27 +DIST firefox-78.14.0esr-an.xpi 508372 BLAKE2B 569866fdf9fc43e290bd6c873c4e0a57948fec7315977b614722bc300ef9fb7bc3733cc26cf6131c9aaf877aff5aad2c760729c932bab23d20e2e7161c51423d SHA512 49cedb618b37b478374fd735decad90976a9057d8055f82dbf6d207ef4228416be4ca5cc7371917c826271256f59c4b8bb244fa353966a323b038ce1300944c9
28 +DIST firefox-78.14.0esr-ar.xpi 560974 BLAKE2B afa1a2cdea62b4c906d4c4a07de110d6bc76799a4df0c68c5d1fc5d8f6232748e47ce7b567cff11dbd91db967cead05a79f28363ce892f9ab480b6bf0193b06d SHA512 131b1b2163fa0970a945f23ce3d7362958455a1f7b527ed47611f5ebe2960644fd7a4e998397b414935eb9c602e558ebbf69da9446b0ea37999b5aa16dcfcbfc
29 +DIST firefox-78.14.0esr-ast.xpi 456400 BLAKE2B 9109a1204d82327b267954d284535bf82632ab687490be1699887ace2dcd7b42a34ea377261322e32d53d0da4077efcef62307764f0bd1765da47e3abeea8710 SHA512 f90e699147d6a11c4f3e086a17749180aa9d07faf81987bba218463c353e767f04c01b01c35ca657ea9583ab7c775a2073e7de2de92fba9e6a0e53b444e8545a
30 +DIST firefox-78.14.0esr-az.xpi 497429 BLAKE2B ef59d029419076d2c4530d7646b03913044914cd530ab68b9ae4171db4d25877e92d43083ef8d15ac768fba38dc02d29fde7b7eb4de07a146f3096bb9322d4a4 SHA512 d634b3974dcd2d61bce46901dc7074ec8b6739250663cd44c9ac2b31530e15af8af4f435acfdbb46cbca1f5636a0d04fa56ef8a4feb2f7ecd6b7bf96c152c7cb
31 +DIST firefox-78.14.0esr-be.xpi 608653 BLAKE2B 52f62ed9905da1f89fe90e4b131c91a66c3e7c04381e3d50c236b04a72383a7b6f73f485ed6e97caf5ff07c0e2d522d8be724be904274a8f38459e9fb5f8ad62 SHA512 b9a211c6545a8dd32164bcda535f9bdacf25faa4e20740ea686eb2875a3155c7d8b1e2dfce465ecec74511334e8b403ed890c57ccf3ba659a1b9207bc9d8c5dc
32 +DIST firefox-78.14.0esr-bg.xpi 553989 BLAKE2B 6617311a88bac82102018be4eba224339540dfa05e763ab8f48c17cb3e6bf05f430a4b7cb73880029b07b04df5cf259d2e9b5373fa363daad31958104f600ff3 SHA512 8e663d4c1f4c3b3d4940b3b8fd6d34dc34bafd9195e8445e203f5a1a11ce85ce38f5e6544f731512b1c41ca294548f22f3e943b3cf3502a0beddfe5ef018f3d3
33 +DIST firefox-78.14.0esr-bn.xpi 572621 BLAKE2B b340d67e313a71d7373972ad8ba38d9ed5d129432dbe8f8e1d94ec433854009bf4e4eb6a1ebea15999b0b0a549dea35731f277fb35790f3e23fb4054d877677f SHA512 458c2b59e7fe485df04421c97b4964de076178f6413a7ab9721308b777ac912d13ce8e59dff0aa47c78eb3928487a0eda7009b10b031140b913179423e068061
34 +DIST firefox-78.14.0esr-br.xpi 507124 BLAKE2B 1beda598aa2a9c9405f91ef6916f1607949d73659611c721836ad2cb5d4f02b147995543cf78427c80fb37e14575b9824e84fe39f4c5e8d041c2784b6623656a SHA512 b0292679c2ab68c75dfaa70f030c4bc8016af0a4f48361825b06616121fb76b26db524adb2270b0232c7a6661d97a31c02aea7731d5395bbd933f9ee8d20b278
35 +DIST firefox-78.14.0esr-bs.xpi 463814 BLAKE2B 06af02ba3492000afa32ebb77cc2f633e03012343eb9c6c3469703f8241ad5e7a7c17559be1b3d9c25e1a87d568694ac72cf5ae86f892f38bf7d1beba1d3135c SHA512 e264a6b2a50c11372bb1f882b076f7643d54f6d015e39f11557d2a4edd24e58c38db6c9b3554b6a522d7397111acab46d713c32167b7836a9c696a3b56ea472f
36 +DIST firefox-78.14.0esr-ca-valencia.xpi 517191 BLAKE2B f7be836d7c207c5fb7c5098cadec485b18e253f8d6136c18521a907dfda1fc5cafa12d754d3036ecb10fa73339ab4d86074c7691a78dcfe86dc75606c73a32d5 SHA512 0ff6e8fc648b5ac6cab1e24c730c6cfee284e8eb9cd7ec1fd1e966b6b69f6d5146fd5bd3f401b8d110812c1efa6f7a25082a646552a85386517705d47ce1afd9
37 +DIST firefox-78.14.0esr-ca.xpi 514176 BLAKE2B 807464010072c897105e18997bfcba347b6d6b8675cea8d368f46f21d8114e620f524c2148ac55b66d810fa0e53e494fa2e8671cd47fc75020d5775a0950dffa SHA512 a1832778fc082f3b67bb57e753f428d0e2961dfa98c86264ab0a0d30c31f341df17310c73a003c4f30016b13180cd56853a4137ffedbdeb994c69667c7e771ba
38 +DIST firefox-78.14.0esr-cak.xpi 551551 BLAKE2B ba07df4c82a29bdc68dbaaf86afc0e9dd737553c155cda5aaf41649195c9b1d480b638b7babb30daa177f31188cf90bf2e56ed59c8695ca9b70b41d3b2566e47 SHA512 a54203624b37d0bc0c25eadc0bbea5a83808f964dbb98d3ace33a1bdeef36061c55a613718767055cc9bba56fe9ab26c1726c221434628b028ebdf2319bf4857
39 +DIST firefox-78.14.0esr-cs.xpi 540325 BLAKE2B 2cdd1cd91a71a60021ba412ca4dd66f2e2627ee4041f9e4184565146707f8780980af6cfff2a8aaa5ede9fe214d24f0fcef4b5182ae2e897779cb55397c5f96e SHA512 1927bdfb335c49ec181dadf133d8a8fd3ae0d61b6c4d05f94db3f321f7f7be256c9ececc728bf39b27e48bdefc4d965c4009cb752b771bd899f939966a489508
40 +DIST firefox-78.14.0esr-cy.xpi 530698 BLAKE2B 16eae5cbe546606f93ade7a69d24bde8d7d7d83c6865f8adc514fa1a38fa7b887ebe62524fbe47d735c324ab230f8778169c0a8dbf521e1d952afbddd840d52d SHA512 0306993221059abb0c4540bfd6157d9ffc4155881f66d7752be423a1798b9c07fa96a266be8ff52b8e54be95bc1591ba7dbd8b9a19948bd31b5ca3a0869286e8
41 +DIST firefox-78.14.0esr-da.xpi 520275 BLAKE2B c124d90d73050bb9eececb9e9e4f977e214bccab465548f5eae993be10603d0c6cee1b756349665afd5c27e7d47c18d8c0fbf9190a72ab314701f81ceab13513 SHA512 3db6396f32ce2851cc66179cc8aa1e897a07882bba0002cb3003f5e75feecbae30c443ad6f450b94cbc55824fe61d1e7ffa2fb1f7cbaed05611302cc724c8fe6
42 +DIST firefox-78.14.0esr-de.xpi 542872 BLAKE2B 112688e2f41bd6eba735fa13a2235e482d5243180bb5d664c7b7c3eccc46f0107d22fc0ce41a432eef538a783b148718d6d5373432c8b7e0c33cf66943fc1115 SHA512 b78b315cfcc1015edc7a09438b2c828aaa6e2e6ccfe11f701de14dd6544983b6e7dc2253662cf318da9f404a22937168dbbe4f8095d27857808378785a45197e
43 +DIST firefox-78.14.0esr-dsb.xpi 554277 BLAKE2B 29875c9c0a0b992e6b6c26ec714c0b428ee69cfb18839a5c3bd5abf55667487b07d49e4670ac0b64aa77c1d96e97aad1d54b6f0d5ea2871a76def8c8f1d0ae34 SHA512 d7115d986d50bec430a7b79a58de9a6fe456c306c4f77f4a1bc8a2ef0447a474840b800d05b5403cc5a0bdf302e2020d59aeb38b39cc98b7ab34b9058ff02103
44 +DIST firefox-78.14.0esr-el.xpi 626561 BLAKE2B 3c1becc741a1b9a2610cb9de73e61d4e5632dc18b3e54b58f9de45672313779ef797eedeccf287553ffec7f0134057e62afda9c852076f5bec1cd3d0edee9efd SHA512 bbc74cb32194f0ab25f4ff3e72e3a367592354370683a27bba06a40cf461a6d53a9e8b9a20fa513997be1cf941e77592f3a92afc17ccfaef23e631847f760af6
45 +DIST firefox-78.14.0esr-en-CA.xpi 497735 BLAKE2B c95e41bf3300f9cc8ad3fe1ea8575cf256202a77805baebb2f3e75a1acd6bf2ccd52c3a1bf0dbc4f8fc56527fc6ba729092b8601eb25281b1237fd027bba4098 SHA512 0573a076e30381e8da7dfc07642771e47f6f8187c13a3e489acd049ee8e2000182a5181871126502893a3a2673c740fc12112ba1fd0b4104874ed19a75a169d6
46 +DIST firefox-78.14.0esr-en-GB.xpi 497574 BLAKE2B 8b883f6fbf8ee861781da81b0183e34d353746fd0dfdfe95429a0d6c9497b55f0ac78b151ad9fa8c2bdb4c64a95582bd35c0d93a1b9c29dc40fe3ba9d421ea68 SHA512 8f987f7a8fd525a166c174ab84fa962981d85cccc63fa35e73e14c9c29580d4a94162be5de5c03eb0e83ed54614467dd5b59078211b5aa63b594ab4eb23f180c
47 +DIST firefox-78.14.0esr-eo.xpi 525722 BLAKE2B b2b20498379353a4e973b54566c32236ae123ba2190f9c804492d8d6d894d1df6609a60dedc051b48ab40ba06e34e37968d135e17f27bdf5442ab99130fdae81 SHA512 3ff3bc973d3d510e4dad39f689eefc36034c5b8816e7b0f8ce9a7df3d2dad53b56e889314580a602bd3cb5a49b3d1e1a5d73a1c4d229aec4342c694d966dae43
48 +DIST firefox-78.14.0esr-es-AR.xpi 535804 BLAKE2B 55380decd6a15b6a2496c5f7a4a98264235166a9a7bb8df2f7ff68b5315b0374b869f29c0accd7efb69c2f38820e052892b1e482a232c87669576558695e1e57 SHA512 d286dc978479142caf7bc913bfba78af3db39aa754f73f35ea56f26622fb3cfa077a5f5f15afdabea0adc3ed70b66549574c5bcfe9f96fba909c435ff05ce049
49 +DIST firefox-78.14.0esr-es-CL.xpi 535354 BLAKE2B 79efc11b2faab019d8e4329ac8d98143cdb57e1bb35f33b6bdf8f53c9e19f8b565c2a46fa6ec681625b95c31f167f8ded74f5cca6cd0530a5c46df8277201527 SHA512 2ec0ffdcf645c14d240bf2b108fdcb5d74f3f6772ab68edf57bd49ad038f598b0cdcadcf734d7174466a54bca5b7e914b621628dfc19694ddcee6e33d04bbc0e
50 +DIST firefox-78.14.0esr-es-ES.xpi 522708 BLAKE2B 8aa900dc6ee81b3e248d8c1b45ad5765b30831ff57e5068e69c864cbfe74d02984ac3a17f6e67a902a5e5ae78011b4da9970f2a4021d5ca5cb7803131ca78abc SHA512 93c57ffaf86a41dda795a65ad01c9ec6399da07c96ffe83af53d8f08aa5e0f2b7a8f02749a762b4880bb0046030965c15bebab04eac07d0416d5baaffd95eac6
51 +DIST firefox-78.14.0esr-es-MX.xpi 532309 BLAKE2B c59d8f6d0c7d8b0562df60abc4761a4e808006389b4ed3cf9a3ed35e87b99244fa6d9b4ea190b751a3aa7f73124b9ace8d8cb23de548306d65258d75f9809f17 SHA512 2b6760d5c883b962bbbbfddedd7eff3334af42ce675c02caed3689efd5c4cdd1afa72a6c1e1bc92233e1c84192735bf9e3203432ffdd859210be3a70cc60fa88
52 +DIST firefox-78.14.0esr-et.xpi 485250 BLAKE2B 671ac432ff76c63e4ba720aec6a993fdb0237dc3f8b41ad531d6187474eaea0d9464eb2da41fe17ef99362e2569dc6ae0b4250c79582065f32d3bec33f2a4af6 SHA512 2a823709169cf7a32e751926633aefaf7971111b0b707c76278109ba854941d3bd3f16d12302a66c3a7264922f9cc8d353589a1d4aa104d3afb15485848c49f0
53 +DIST firefox-78.14.0esr-eu.xpi 505879 BLAKE2B a8b5818c395f29f573743ff412c329da4ce71d14ed9ff16bddfedbba25df6956d2e456710bbcbbd6b6fc14b660df31173af2e855d82b84a16765458d17ef29ec SHA512 cffeb8bbbdaf1cfbb167117eb8449d79446ab0cbf643b54e77eb4ab479761df74fb365af88444121b1180433b63b61e8cc87f7d3af3331dca06c31cc58b6aab1
54 +DIST firefox-78.14.0esr-fa.xpi 538923 BLAKE2B 315963b5c2496d5733c5b3a4dd0901df505e7350b29b24a3d8600434fbf6df6dbca453474ce625679e2ab1286718a127147ea3dc2af847c09fcf5c8b0b689e29 SHA512 edf3a1ab884bf117e7933c91070b319226b22e5cae9df8e10734ae4a74e7dafc2f32f594f4b33452a0d85ad8de14af4e814caf63c51eeb3db3d67cf9c0e258df
55 +DIST firefox-78.14.0esr-ff.xpi 481617 BLAKE2B 77e63295b40a46a70bddf25c5aba37c5c8cfe07abc461eac6234a85c783fec20db2c236abb21ef70847a004ba486f2ce48f75b3f81a5e1d631c64714f509878f SHA512 38ca80b0f2b3486d8dcc1e15c994d5e8221bb248922f81a48faea5b04355c86917282cdc1b623529d0557dbbebda2d1c9a4eb57f60152c43110615d9ba7fedfc
56 +DIST firefox-78.14.0esr-fi.xpi 517930 BLAKE2B cce4811746d7c6866d42c63677e37017f0696707481bd55d36bbe313105601d6a55a4a04bd16a17abba7c7a72eb4379ef67d04922958d2824e773a430cb71e21 SHA512 6bee3f658b8ad7a287c0594290a1e3181c793d59e89cf7491a2927be2a3dd0334d551bcf26fded5cc9022d0908ea292633db000412130ab275c27441283b64c8
57 +DIST firefox-78.14.0esr-fr.xpi 545893 BLAKE2B 2ac2f8fd03da7db50dc6a77e2e7ee68030e3dcc4d2bb3992528df9f8676dc8a601e06e830775b6ae0167679a7f579d6f01544ab01c1d52939fe9f1620eb7221c SHA512 ddfdc7353cefb19383c191bf6e2f8590d38dcc80fda93fd34a7d4537634d1f672fae7dbff6dc9f1cfddb665c389d474508104b9417f7f3454702b0f08243f5a9
58 +DIST firefox-78.14.0esr-fy-NL.xpi 532481 BLAKE2B efdb7475883a211852bd2ba45288a7e89a4dba469c3f27ecc5192ce98d41b239badd142e4af71008741a1e6fdc97d052af70cc521e8e851c41f72886371bf314 SHA512 c5ea8e6745705cceca75accae16b7902a103d3e8636432e1642092951247e757db8904d2f6ed012fe7814a5f6808db4067016a32127ba3a9b920e11e753b51ba
59 +DIST firefox-78.14.0esr-ga-IE.xpi 466904 BLAKE2B 035f7ff09072dc43b2b1283cb4fd828f33f2f0bf7eede6e9ab4c09bf0503c889654858c184a94884f2dd45a485a708bcda34393e613d034160062b6cd17426dc SHA512 6d4f5bd6dcaa4bf43ceffce578cc6fc670f180aeb12f10459137665a757fcd97620c732fd96c2202053816292984696efe0e24f0d9c3c5033326c5e881f42fb1
60 +DIST firefox-78.14.0esr-gd.xpi 491896 BLAKE2B e46c92db5a33e36957b37cfe5326e3696070b453b81770d50ef5ee7bd545749338d74b502a986ce3e9afc84e3aae080e0cf697c4551086f4ba4bbd9fd2aa1a46 SHA512 8add92a07bc6d9246f1a6fc960028a0b7911ce4a7b9418327aaa4b53cd1c0f2139f42a83884998516e06a2a87d6e2e67ff6cf9d12189db9e84020068d8dbfcc7
61 +DIST firefox-78.14.0esr-gl.xpi 528418 BLAKE2B 5bd680f46f212e402ba2a881a1124bbda4cc79edc86940734d4732296d1a04f67a8a08c725db2ace8198bf68e7c55362645636b81070b2633bcee8397f0d362b SHA512 b1ac9231006a237849538783d1a0133534bdbbcfcf706cea28a0489d5ac6dbe294ce0ad7412e3fe9bffa26ad431e355b5aa0b491e60ed8392758f9bccc5b8ac5
62 +DIST firefox-78.14.0esr-gn.xpi 546468 BLAKE2B ecb00a5c32bac405e26c4d8b1ad6514988df3d68738d407ac662ae6341d014e8ebd3d56271d89c4aad2c8c2a44880d0e2d091c808c6644b252509cabf4c15999 SHA512 02798e554422228e73fecdd4782d9cf019b28a76193035c33cfb151272ab6ece72a98c57f9060d11cd9faf7f352a97e36c91b2a1c6aa6ca6b8328d880e0750dc
63 +DIST firefox-78.14.0esr-gu-IN.xpi 541434 BLAKE2B ded993c377f45b54c1cf835fa21730c27be49ed039758cea004c418668bcf3591a79775a7bdf4aa598a8e96d7b1a95f551e186f79e8d0b4ac0350e276e59213e SHA512 e2f1888108b08666a7a819ae89916e14cc641b9a867fb14821ba4a79515197fd3aa2b5eb800f57fb3d63eec49deef645a7d40cdc5789b860ce5e3133833d4aef
64 +DIST firefox-78.14.0esr-he.xpi 545580 BLAKE2B b9b4b3da5a0ad55e9ee6a9577095085cf076c4b5c07a30c234c058ed5057681ce216692add63e10441dc409b098f3a6693810db17e30c558587b794279fe08c0 SHA512 fdeefe908cdc49090e8925de92b8cd96c171a6f280f244446a45d7cc9d9bb394dfda34da95a91c29b6c9a0371accc5d790b4e6f34d9b43191ccfff0346af252f
65 +DIST firefox-78.14.0esr-hi-IN.xpi 567859 BLAKE2B 5dc5e18013a8a476792fbd1eb4ba6b27170a0c635b6bb4844b24567eb233e7bb972a894f4aeb04781571418ec7b24f7fb32624a473088a07db4a28f9874f3f74 SHA512 0a761b30838635cdd85b2673301019754a2ae5eadfd509e2df646a82402bba9a24b8bdf775c8da26683d6eba80d6379f594951abb19f73c3c2c5f029f4c30311
66 +DIST firefox-78.14.0esr-hr.xpi 522695 BLAKE2B 290b8c8630d108b126f5c03a2c83daf6a285422b3c3f41ed02e28d8f759498f5e40edcee5fe5cc177e2cc49a2404955ad83350616f4a85f1e3e90a32c887cf24 SHA512 d8e7748d17925b8031e3a2bcf11be017fcf3ab6970cd4e885667035ec7077eac41404b2ce76bbf2ca86578006733faae5dd142ea9ab60809d4b81b8089633d0a
67 +DIST firefox-78.14.0esr-hsb.xpi 550661 BLAKE2B 1e2a85f9c11b8461dbc278080730269bb07113350204adce75f01afb4bc1488d57ffadd10b81d3590e23bbc792c284c874417ac2f1a8d44ba6456c8d76bc0dad SHA512 78a007061b50f387dd2cf2e7ff2c5680aa363ae84cd8bec287affbe8d03f9da43e4a5f76b60bf09c76b278ab5ed8dd916f0a51f8dff23e4cc54d32f0ee1bc014
68 +DIST firefox-78.14.0esr-hu.xpi 554883 BLAKE2B 403ad326a1873ed30684910a76dcf4f4340e1bb86630bf42c706357c49b1795031ec6b6e4a6e04ea0a9933eeed93fb6bdb25e6059a819d82cf9ee7b926e3e32d SHA512 fee59bce668bce8fac15ab9099d0b2c433538128cf5e51d744e07dab427096a8bbcb01877b884a14b9eb552fb56bd05bc68e29c1532632bd7f5d3a85ad777663
69 +DIST firefox-78.14.0esr-hy-AM.xpi 588991 BLAKE2B 60b632765d084a822508e1291fc350ebdcf1fd2b468716cc843cc09b6c2895e79f062980dd8eb4309a6457257643c2297526e8caa9999c011bb239ca207890e3 SHA512 c33a58a6403273f9c10525c024eb0d7e0b931ffaaf1d36e0a6c3cb8193b42aa716d90aead251e74511374f488303dabfc9e65fa6e208b3d6c6bd25b221cf5f0c
70 +DIST firefox-78.14.0esr-ia.xpi 518822 BLAKE2B f33e514f9d4d8a3d08f51c24f2857e7b6c150582b581a1138083b52baf9429654cf2befe760a5cf0687fa91a7ec702be5d259aef824d6c99cf43d40bc79558ac SHA512 17844ad44221e6a1dcdaa6f1280de24d0f363fa2a5256b61161a5bccad8d5d1d121176d90edb23dc37a4b58a4e77c1ca8a3eda3cf7c11a176cb7b5f58be34251
71 +DIST firefox-78.14.0esr-id.xpi 509569 BLAKE2B 116f25148448991b25647064a79df2fd2bc5b77e41c9589267cb628991a053efe0e45b913d37113877cfb0b30fa2c27b37140c2f26f3611580bd82049c4efd74 SHA512 f46cb098cce38e6d55c90486c9de293b424c1d1cb0b4445e0a9b1417107e5fe98d0e582d2b814b2690bb58eb0a55f823b79d4171eebe36f15ea0cc8a706d0673
72 +DIST firefox-78.14.0esr-is.xpi 477032 BLAKE2B c55323d8ff25a3f63a6a723980108e5daaa5f4a52d2bd7f2da3cca7cf4efcb65eb910114d53a96d3a035a5b1969d514dc427a02aa3ec5cb1b2c63ace77f026de SHA512 12b1b4000643f17574c01b70ecd016a25c81ffb792e000f56a9b656de8af9eda0874fd8285eb503f2eae14a13230e79d4a75f258ef9f0448b51f1bbcb984ee59
73 +DIST firefox-78.14.0esr-it.xpi 449817 BLAKE2B f45a2c611e673949dc9af995cc8816d408087f71b561682ccf802eb57495a9f6d607fd7966a041037e245514a3015da82da8a1e713d127ba4dfb4bc7829747c8 SHA512 a5dd1f2ad7e020852e07ba776bedb789cbeb301049c52a8a7178418f7b3ac9c59458d684d86e482786006d3d1d7576ce6f872f56cee3e39ec8c71a82ce137280
74 +DIST firefox-78.14.0esr-ja.xpi 578183 BLAKE2B fd4065c26887fa73a925136cc25a951dab8cac1647f82dd3f89a79e7e32d44952bf7b7598f2eb56f77a31d08f904e39866abf688e06fdaad25cab4d3e3e60e44 SHA512 27ae4cd28328d3a23b1414a7ef8be6366baa838d3f1a20e9ed6a8c8704186eefaba8e68c3e5f22edfa0d76c902b4985dbd8634d7a48fa0ccbdee0c1b98413d29
75 +DIST firefox-78.14.0esr-ka.xpi 579087 BLAKE2B 3492928dd07f22dbfbb6bb78bc8c3e02ada8f86a32418115634281bf643ffce0cdfed7aa888fcd98f6957913fd824a6dca8777202fce57d3bba9be794b6f0688 SHA512 17f9965e376adbed4067d00eb2617f6515140b4cd1a24cfb233642cdc73d8bffa38f14bc3649627cf5ea7896f6ac0efdfccbdd4a723f554c470e391d3323da22
76 +DIST firefox-78.14.0esr-kab.xpi 539729 BLAKE2B f6af275768f9756e65d7bce90d05389cb96376df2567bc151301715e87a543bea32b9d974d69232b2747960838379ba5e99a328a079e570d67fce276a741e267 SHA512 3b92398b6f1a7ea37057a0546fdf277dae1e932e0c6774e65666c63ded4e02ba0708edbb7eadf7db147dd3c06f00b9cf08a8e97d1c4bfa7af2dd0b633c897166
77 +DIST firefox-78.14.0esr-kk.xpi 593247 BLAKE2B d9e8f4678c8995aaa8e4d9877e39100396b0a6832236ffb91924771c8f766cb40985959b157addd69c961beae9f746643cf621bd79512a6f235f133e40fd7d6b SHA512 ecc0155641d3f48b6703797d1f2901f3928eda04150683e2ec8e15081685aeff70d095d682a6191571b3e9d3d40a6c29e40b7ee2786f21274153d90dbac23597
78 +DIST firefox-78.14.0esr-km.xpi 527376 BLAKE2B 1b10ab4e022020728cc5c34b13bbc6b4308bb15a3dc1f1cae2e142a3b0090fbc267bbc80411d85caa3e3753fa579f92d394d2e824e6b7e628e14242830871f86 SHA512 5ccb8ebfd62089ac5f152e9ccab72365a2914239480ca4ddeb0b86feb4cd558bf965db3471ce9e1597d7b985a3db8a1d5b0a48358baf1ca141e7a523aded71bd
79 +DIST firefox-78.14.0esr-kn.xpi 506750 BLAKE2B be7be89726ed89ed9fe2a335223c0249b4f1fcc8a0eed1d4c28cc9c9c6726a326aabe0a498dfbebf1fb557a525d21511666f511b3c594308c109cbd65faa3707 SHA512 917d339b78fed82f72bdb3b7e62c20cbaa9dd9954496827da37cbecef5e4b120eb56bdfaf623e0a0ce38e7516720e14900bd283b2475e7a91f21ea29a24329b8
80 +DIST firefox-78.14.0esr-ko.xpi 567535 BLAKE2B 9649e6f7208e075043b9ca268ebe33edb516e2680c7b47cf3ab3e811efe6639441b57f05a28791bda777d63ec94826976897850cca4a09bb504db4bea0835da6 SHA512 d103971c578bd847b951c91d50665a8bee58f1d29aa62ad163a692c45612c348a183b0e5285378bc7cc86273231f0a4c2f1eb8be077b4d52659008470a3c5516
81 +DIST firefox-78.14.0esr-lij.xpi 475234 BLAKE2B 2891005a0e72cdbd7c233149e3b95f2c0038e88df1a42b467c53549ee755a2feaec1a89966b6132bc3f164fe47f3e0d8bbf5a1887bcf24a702032055c285fdf6 SHA512 8e7582f8e34bbeb13c9d3b22758c3abfc7bfb84afd57dce1f3300b68aedab221a06ee5b0f71d7a7dcb8534365ede3e9b91b3b90ea1af37034f4f73ade03679e2
82 +DIST firefox-78.14.0esr-lt.xpi 540701 BLAKE2B 0569be25a3aefab4ae1f78891024e0d2e74aacd11337f9ea3bf7c6ff8dfbd52cb614c88bae83f19356804c2f03326d63adc1cac1dac5ce15d1d16176bfffb133 SHA512 de0d9879cc0812898fbf1879fe6860a86d548cf9c1a0110d58db9c78d1c0db84db6a93a140f34ab9314d6c17f4f932afa8f98701c2b16ecf6d6d950bef90227f
83 +DIST firefox-78.14.0esr-lv.xpi 467472 BLAKE2B 5af8c5289c0f70d6123ab7d1196bc6d44c0e16dde66d1dcbd91c0ffcb47fb3587cc3889c9e5f6a76819ee72928d18bb23974634dea21c4f59d7b1aa3498f3643 SHA512 e4afe1d166116e4eb8c5b497a9b3844b44e6ec2586c5b24c1192de016b5c963eed15b77e8169c0d2626a6670b15b6e3247dab349e8f47d26baf75caaa4ad0b7b
84 +DIST firefox-78.14.0esr-mk.xpi 460031 BLAKE2B e0003607237757be71a147d256ca003f8e4dc3b3018ccf946acdcf57f0a262b533643d2404ef1c0ae1d09a8f31b73e84b77eab81ef5f30d32c338d3b4b0683f8 SHA512 7f57fff0f75eec887b1329bdb52d4eb523c117b9b841b7c40f42d3d106900e046d697d4fc70957f61777b6c940a3d3e2560f54e865c0b19ea4e81d8a50055145
85 +DIST firefox-78.14.0esr-mr.xpi 541568 BLAKE2B 5b61ee2a6ff3cb70418cad699fb702afd718999a98fbd9186f8226df21a95fba49eed999d31229af9dbf7d8fa81ebb52c885d8ecd0b4882c9974d9a4fa1c0265 SHA512 9bf2465a5b25500fed276056a83d924aaa821c4cc6d506e2b8fd14a9fee1a8637a2d85a4da95a71863a3d5f5a2b399a024eb6d0e213ffb31da1581044bcaa1e3
86 +DIST firefox-78.14.0esr-ms.xpi 453055 BLAKE2B db16cf845512665f448a7541a408752d8984806e6a48d79860674eddf51ad301e3299f7c3e001ebb0f0ab9d27b6630da4c0eed9fa0560aabc6ecf89b5dce7cdc SHA512 0851fb2c84f595f5af61edc5fd05ad87213ce34351b8635bb73969b5019bd01f9faf786172f8d27584c9055c01cb1718bb6cefad626c046621f673bc662a8763
87 +DIST firefox-78.14.0esr-my.xpi 526330 BLAKE2B c4dc0addf76dbfc8357e9620916a1c70e16ffc67b0e5f47825a5377aaa1c1df4cd602a3a0c7521a7edfde961079a08c9ed302515c06721cc7dd64969f5619f0f SHA512 575d51d92126448910f809b467ee588e608524312c872667281810591dee4616ad3ca58102aee667dc937069b64479efab21ad7381a0a2bb1b9a6a46a6b16014
88 +DIST firefox-78.14.0esr-nb-NO.xpi 518521 BLAKE2B 6a37694dd9015b303aa955f64eb76a00a5e5a041224251f9e468438ef6be9676dff88dfd4fff767bd4907c9a92cfe453f8ba716983c6be957b668062fa9a6c55 SHA512 0ee6ff5f074345187b2b19c88da1628fc696cfea1dbac2e7e3e8e28cfe0cdb3f48b5674c07fa2aa1e661e09ed9798265f0b37f25ac1ae61afb565e6d12f5cd36
89 +DIST firefox-78.14.0esr-ne-NP.xpi 483408 BLAKE2B 166568a283b52103d9548b6d0dc149b8c90dce4a83302bb33dc2848ee46f90fc8921203c05ea3c6779366f81b96e4f1c4b2398c82ddcd22fd2728b4fb0e01908 SHA512 4bf89380f196b7f17857d1df0696f4484df398a3122f5ec55ac314167489ad63e60884cd2b749eb0ca6f7ee7fad21bae4f151bfaf4fb1df7aa671fcf73d74e24
90 +DIST firefox-78.14.0esr-nl.xpi 526207 BLAKE2B b3f620de2fe0706b20e5c9150be2ef2007984fdb5d1b0e9fa4b97f04cf17fcf07341a0395718412ee2b4e7b2e1f6a07154ab0b22f418f4bab80ff06629fd8e4f SHA512 c9705e47fbc634928437b9133a6b23224bbb022ef24d43ac8ab6ede44ea4ae2ca9774a5de34da679c094b43e8916093d74ed90bd39bdf58120727eb253c811d6
91 +DIST firefox-78.14.0esr-nn-NO.xpi 520156 BLAKE2B 06246ec50fb6b1d83c529c71e480c1bd52755e6a22cbd5e54cf42d2b27d29639123586696ea539502df1e2b1a5b8e22c4993d6810d7ed8f631c40e741df4e094 SHA512 e08bb070ec79334cfdb3a209bb6362d4fc0b3fccffc0c038284ebc339b0af4b83005c98590f0b5f83520060d1ab99295e6f0964e91a45410fed4fb693bcef4dd
92 +DIST firefox-78.14.0esr-oc.xpi 542152 BLAKE2B 3eec31151584826ff93f486929529b316a53406749865ca888f8520491d984266aa5d2465475c63e9f416d98b9bbd10c7d55cb025caf1c94d56a1a8afd4c0b47 SHA512 244be100f4fa5b598ecea295b3010c2001f1fe71624503a27adec6a12e08bf11031382b3181481405295665f36dfb8da6eef135fad6953dd7d3de4e8a374a41e
93 +DIST firefox-78.14.0esr-pa-IN.xpi 580362 BLAKE2B b9b649e223080248903c114739b1231220cb29845fcf0890a2a9d98188051ae0e37b671a6b9f38cd38b282d1a06ed58ce0d068d4ee7e21527221bd28157ab619 SHA512 666ab88cc906db6874dd59f2da77af7d589068e88e3981bfed4ab445389c1a7cf7cf8b7cbe70038889a620404df2127497be20b0a8717e8394393c390b3dc093
94 +DIST firefox-78.14.0esr-pl.xpi 545606 BLAKE2B 7bc6a8cf6677391f824c194529fcbe3febb20cb62cdb56b9dffc0305d364ef52c7c17c09a0697308a8bae867da46e41c162d2d077c54bd4186a0b406c93e491d SHA512 bc11eec9565bedff24ed749d5b40b53b9269d950b7623918f61c7870f6311e9fbe3ace65679d85fd62de41a73a425ab3fef1d152b5997ba87c722b20e8903652
95 +DIST firefox-78.14.0esr-pt-BR.xpi 527582 BLAKE2B b1c2973fe1458098ab34a5b92803462933f7e3a6b0203022fba81f3fd84fd9c112a0ef455e06c5cd3cca85571ad69ad0302e229d1dd476f838ac5b1ad4e06305 SHA512 5f454030c18045690da22971f4a90ab8b5bb6dac70db16b50599a9d083aaf4137b2f4a182ed9d3e585781d105ad51504ca16bc5dfe636469183a7afbeca3a47d
96 +DIST firefox-78.14.0esr-pt-PT.xpi 532032 BLAKE2B 5390d69ab9f234b1570d1b70b3c55abcbf51c6fea1f0e1053477c545c658a777077cf0f267200882cc88bb2805cc2a660efbd2f108e0852ca84726ec27dcface SHA512 3cff6d3fe5ccbdf199aeeff632cd64a5b59be608881c18f596a59a210ff4d3fe3e913ebf6110b5be6d7d5a627b265433384839ba4fdb182d616f978fc55c944e
97 +DIST firefox-78.14.0esr-rm.xpi 526711 BLAKE2B 08b913c641e2da7adf62da5f175a9f42146e071bfe2be82b139fe9b62c6312c779c2000b11cc07c83407aa77b8a8cdd5d3dd9346b133aa1b98e30877b98b236a SHA512 2fd6ff84e90a8e02c3b0e973cc0c7e46cc36d81357d106008df090687649f9ef7895b1f53e4a155299f99784a40e2ac34f70b8e76c8763a034c216319c0a4e83
98 +DIST firefox-78.14.0esr-ro.xpi 535575 BLAKE2B 7a2c060ee0fb718aa84b0568da6457f3e16e8f962061c2f1ffbf156827d0edc744ee48a25130d26be528eb959a784dd7ea4cf07ce38352206170084d6ae0e0d5 SHA512 da47132eb11729b0342306d9c7d6d42799b4c0911814a2c058874fad3de079bf34a3695a6afa595bc5b877bbf847a160921fef678d009ace2ead7b9718a701ea
99 +DIST firefox-78.14.0esr-ru.xpi 614598 BLAKE2B 078acf040420a0d03ad9adc9119264160e3f0694b8705fbb8b913338fc93cda51bc9e64f994f6569371d9b3d225600e10642bc36a71121c51b6dfbec4b93f49b SHA512 a122f4294c94eb76376436a08d591c8a8948f3e686b06c043c0a4a3832f56e69823dec19bc610f04231c208a08153bdb2b74b2185b62d533d79b0c8732d76233
100 +DIST firefox-78.14.0esr-si.xpi 492522 BLAKE2B adb49fc8ac4143ecc43c5bde14f324139041d34a0fa0b2f5bd65edcc4edc520d0f452713423f8d3694995f1769811b7e35eb265dadb66f366f4f624146e61c23 SHA512 9951afbd84ab0b543278eac671994eebf7d14c59cc5c99f4fc69bb9ccdd33cd37f7660db78c43df81c0fc18c4807ca75b0dd90adb0d97452ae1715910c3a2790
101 +DIST firefox-78.14.0esr-sk.xpi 534241 BLAKE2B ab2114580fdb7541e5b35f2a056ed0abafd5e1d34832d35e1bb36ef1f03552196672cb79422337163c8a553bc4f030a1e78257d5c41bc5ced294735217e67ec6 SHA512 ba6d3c9b821dff62d085ffd77359936fdd6005f4fb44b3a8c123c0e094e20cbe940de8c6d5c98b0c377b35686f96f011e24a33ab83041cd897e1d345da297dcf
102 +DIST firefox-78.14.0esr-sl.xpi 520936 BLAKE2B ff1082a5a0eddbfb4c3d05ae6489de9ab12fd32ffdb79437bfc485720ba46e6ad425da81a49ece9242c59f908eaf761fa403bc37049f6ea8b12f7a758118ebc7 SHA512 39db06bab8cc70be2d10cf713be7e3cceb5c32e60010dbe315fbd607c4bab74a97bcff19059467a4eb2e75c568c3912c0889b193316266994573bf9a603f08ea
103 +DIST firefox-78.14.0esr-son.xpi 424580 BLAKE2B e00166ff54cb94674ceb0919617fa7855fefb57a6c6360bb028f4db78197267c3b565ac27d202a3dca5f741b0263bb6d3fea0670712c796e0da8916027765d34 SHA512 ca7becddb358c672c75b43781ba66d63da1abcdeb9756b4545891c9a24d7b1e9f7f36ff6ea653960dff8ca40d705512f372260554ab5260080e1048122697da4
104 +DIST firefox-78.14.0esr-sq.xpi 544909 BLAKE2B b926f14347a7a3015ee2214720ce5828c9f530d8de5941d8b97e7f54e15fc2fd1422cd7063c5eb7a3dd8dd5bb435dfd592c5f0b19e25dbf04b20c2b06a345d16 SHA512 fda3a5cf64b791ff6e4f3da3ac91ca82552bef84dfb25b300b96b08996ef8b14b7fa544a0ee54d2306201af1354605cc260b527ee1967c029c24043d27d8f2f7
105 +DIST firefox-78.14.0esr-sr.xpi 561396 BLAKE2B d88ecc03210a6b13ab591186a0e052a13234ccb0d6ce17482b92c44510df55690a0fcfd7398469e3951b6250d5fabf2de885cb642998d0f9cd2d747da5bbcea2 SHA512 3feb63179860f10dc7303740ad1c7c2164ab8d67578dce8166e64bd7e281a5391b6be86fe85d1e89f54b807661cf3bf4e3a745b41db3e21921af855059461185
106 +DIST firefox-78.14.0esr-sv-SE.xpi 529697 BLAKE2B 941286baa2839461097760cb0ec08360d5f946baec4385d6909c1bbb91462b0cb1e3ce13b6fe853e5f78a8f924eb5cff92164442497d532aa2bfef5a3dae0924 SHA512 7602297e7ed5934da0dc92d334c6a8989ff1db40ce9a4347efaaa1842d92f71ee17026219d122685f5387a41c9a4796b302c8ee4c16da9980bbbb5bc90c2e12c
107 +DIST firefox-78.14.0esr-ta.xpi 521529 BLAKE2B a797a83786c85c8416ba89b088ca2abfbd5aa102f132bc79889da96a9fad4f785b98ccd9a002a82693c9feac863bc9391ba701b3c1039984b485d7079866b615 SHA512 728b43a062d2561880a4b45c1ebaac1e01d8f26661ae2b26d2a4b88f3d50ec57bb611c8fb227df5bcac4a20c7fcd5c0fc6dd5a2d59dae53fe50f46b4fd6161f2
108 +DIST firefox-78.14.0esr-te.xpi 558415 BLAKE2B dc65317915ab52d53171f06a9818e6abc7810768e2576b01febf4b02a8e0941235c3ab43654b103d201b4b039a96dac371219597c00db5c2e4e1e6ba293f5d60 SHA512 fccb2562d445c63745fca297b24df36d9ac6d808c9b794d26396255ba98cf6b05671130d84645603eedf329c7d86c4194b2ef12fcc668f6d89f258474684943e
109 +DIST firefox-78.14.0esr-th.xpi 592253 BLAKE2B 13bb9950fd43648d922e841b27001c7a4599946b3f22716284261177aafbf2ba5ddf7bd22d228c55542f4901de7ea1383d3ce5ee66aa1c5701aadf232456ae9c SHA512 6c482a34cdcb8a2880c0c744c7fb2bcd2553f1b3340c9a62e5232259f853ca7749bce25509307a1f6a8266efd5f17fcf9ab63c707bc6ee034e0928730f24780d
110 +DIST firefox-78.14.0esr-tl.xpi 521114 BLAKE2B ebc8c8b95e03d609e7f3408e4521f5443a541dad343c1909a243ee36f689312d987e7732c979b9093efb4908975f5ba8364af3862a21dd33b9d6eed0adb361a3 SHA512 3a7a4bb231c471ef3601b00f6e45b7cbbd8d24b987e93addd937e1aaf5abeab7fa555a984baea267a50f3714a494c26dcb04ee6df561f7f29fb5dad64854e8e8
111 +DIST firefox-78.14.0esr-tr.xpi 539885 BLAKE2B b52ae72ee505611d151d5b650d06c4628c43e8cb713ca4146c327f4ab06c2ec8b5fc2c84a5ce56ac82e36fa127a745e89d2f82cc84d22ec772b217fbf76b8eab SHA512 2196241b8191cadc3997a1dc3bcf5e358dcc82c91398538dfb28442818dd0030b3b577ec5fe82d64f1466a84859db65de453e2d184b71763e7a001814da350c1
112 +DIST firefox-78.14.0esr-trs.xpi 501224 BLAKE2B 0696fe6474ae4b9d535eefc395b886998cf495a724ce4e4a9432ee645f748a52a369b5b74d5f23c7ccab9d39db0490e159265ac1d43d2220b51616671a8200bb SHA512 226201e55c438a1753774850b8fdbddf3daa3ba2c94ae56eaabde0254fcc18ee55d85a811d21df30f29e2cd7395b83338b6ef89b9da0dd540fdcc86621df9af5
113 +DIST firefox-78.14.0esr-uk.xpi 608593 BLAKE2B 2491d4f7702651ae4d4b5e65b47e9e5a50cf46b71a461472beef5c004a52cf49b3d131025225474f03817592427991f9212ee9bc4cd8c3ef5184c5a1f3c33634 SHA512 b394708d5f65ca4fea5dfe1f6ba190746ff4e99cc7cf6221a417db817ff33d139194eb3c3b4a5fb89d186a08834fa89556c72b5b31746c5b0e805521aee4ce71
114 +DIST firefox-78.14.0esr-ur.xpi 557956 BLAKE2B fcd4b2cd224043dfcbe9e7a0ef8f8812c5ce52d4c77e41c4c755b9fefd56e0572090650f97e0aa713d302b0e066cac0b257934780b2376266ed854c86ce592f6 SHA512 c5d8c23dc191879cb9943064f973c8217a08fd50b9b359b91935f62a64af53de8844d439ac9aac035af9b3999f939bfd9063f8268e3d662137e6cfac38e56a04
115 +DIST firefox-78.14.0esr-uz.xpi 477564 BLAKE2B 0d79d9774a0c3e647e0d6caf889a270f14cd72e26594e81967162152ecfe3c48b924b3ececf9015dbb31d01aee579dba710821ad43962662d6f3dc8990b8ad7e SHA512 cb3c8bd3268a060635cce6e216980b9908cb34b8ba100e1eab5bb7b21ca1202901f54e601adf76f852ef19ebedfaaf5c4e7cb16f1c3badc5a5ccc769e4e899b4
116 +DIST firefox-78.14.0esr-vi.xpi 562861 BLAKE2B 433c6d2cf314308957ab8126515945cba8788a28cd8d7c3e9ccdbaab1367850edac16f1ee5af2d737974b6a8a69612e421bc15caa8c00431541c003488e3253e SHA512 fe873c104c78167e35b959ae9455805f62436fac404b22d7dba2feeaa2722bd1b9b46583f9eaa02d5b0c20578ffa8192acfca1043b01755197523b415060764d
117 +DIST firefox-78.14.0esr-xh.xpi 427840 BLAKE2B 98a6203db8dad8b0eedaca0fe618cad0ec9839aca849cc0c4eda134dd8215460c74ffb563da7bed7a5ee88ad1505521f43ded6f69e866e7dece3121fb8b8c812 SHA512 f0af08c51d823977c6a07f2e6500db03cec4ce0df70f2d5546e7bb8ec9aeeb7f8c4fc54978e2427b741ae5bae9700b896120d1717b01295606c2a868057d0778
118 +DIST firefox-78.14.0esr-zh-CN.xpi 564767 BLAKE2B 79af107fc6eed1b264c84d4694d1a88406de80e28d211bd1ddb276be043987f29d69bce0047a3b5fcea36ba1683679b60f979b80618aabd4f239dacd69333ab7 SHA512 682073787d31141414b41ff8a579d917bcade5cc8752eab205e8911a2cf51546fb5a77872c8ba13711b665f4f31716586660c308da9ddcfb4adf4342488a8a3c
119 +DIST firefox-78.14.0esr-zh-TW.xpi 564732 BLAKE2B eaf9c564862a9235ebbdcfdb0ca594f88876082e7078e1d80e418f28e9af495d9e1932a6e569e8ce6f0bad948e833d4c99341c8cd4ec55f09eb0355bdfe6b984 SHA512 5e39158d4821aa9424fa3b66b2c050bb5d093147ffd40786c93561fcc58bad933d6342384ce2bf5fc8c78eb010d4058fbde9da9e843fd7751b253ffdef589a4f
120 +DIST firefox-78.14.0esr.source.tar.xz 340771180 BLAKE2B 7b83bf081138fbf2367116099839c6d05ec5ade58f183ba033c5167d503a2a1f40976f88bdba680a7a8df7c66ac32449004e58a5211f16086b792a2b41e27c67 SHA512 5d5e4b1197f87b458a8ab14a62701fa0f3071e9facbb4fba71a64ef69abf31edbb4c5efa6c20198de573216543b5289270b5929c6e917f01bb165ce8c139c1ac
121 DIST firefox-78esr-patches-16.tar.xz 55964 BLAKE2B 79d3a465c69656bb55ee7c1e9060606464b6404435b92f534db275521ac2343e045feae1fff6166fde9e2599a82cd982b0b2395271b1033f0f784e745e2c6965 SHA512 3aa971c726646cbf37a14a0dba6c4ac966b88db655cd8b730c5572543bfbf682991ee7c139889541e4f6936c13f27233dc1837fbdb9ee340b33ebb2cec59b01f
122 +DIST firefox-78esr-patches-17.tar.xz 56004 BLAKE2B 01d2ded2658c24176a3d13d0267d1c4df4ef0113c5c40b1002acd39a0f04db35b773bc617afed1c681df3ec38120621a5c3753ba2d36688d7d5926233bfb8501 SHA512 43b372b848c1f30e02505d06bbb11f5b80d976fe7ee39c0d2aacf60d48bc1d3e378c325f4e2fd4730b971e88c3bd902539a7b81874f53b8b92369f876e05be5e
123 DIST firefox-91-patches-02.tar.xz 22332 BLAKE2B d323054441c9383ccc88b0522cd2a8732df19af670aab6e57689a69f299ed97fe8cfeda0aff8dc7353d591705ce2c42957b21da1f449a58145d9343474d35f2d SHA512 f70665c4dcf19b67ee7305fc3d683c03817e7089188a5033a6fe9ee32074820876b52e0bd32f585e1e5cb14e2fa4bcd1cf9928dab6f74f6753b4bf18919537c5
124 DIST firefox-91-patches-03.tar.xz 22948 BLAKE2B b65585a1c84000872ce675cd531033522cd7ec7e3d3c4bb660269709f02944e8d88cc76c3b9b0059cf3ca85a3caad22168cf607aa1f4f2426eb0dd161b5ea249 SHA512 e970f8fda3257b871f3d8f1e185724ebdf5b4d91bfba6061a777242b7aee5a613fa4450af4f758c0f440d09483e65ca48ae79c91e040ba9c5e63d32d329a7187
125 DIST firefox-91.0.1-ach.xpi 465287 BLAKE2B 2d45551393247fda1a64aa05e8491c52e476c033a457cdd8872b3cab88028692f360b2310174116b93437e6523d86c19150045187f1392fa2973cab0f9141a8f SHA512 560cf7a68510d55909a15524af17b3e49c3c6acd84d61c509545ca0661733779b563699952f07d8efd6becd569b204f7114aa7434ff8889184f5c2f0a71d4d07
126
127 diff --git a/www-client/firefox/firefox-78.14.0.ebuild b/www-client/firefox/firefox-78.14.0.ebuild
128 new file mode 100644
129 index 00000000000..1ae76d5d475
130 --- /dev/null
131 +++ b/www-client/firefox/firefox-78.14.0.ebuild
132 @@ -0,0 +1,1187 @@
133 +# Copyright 1999-2021 Gentoo Authors
134 +# Distributed under the terms of the GNU General Public License v2
135 +
136 +EAPI="7"
137 +
138 +FIREFOX_PATCHSET="firefox-78esr-patches-17.tar.xz"
139 +
140 +LLVM_MAX_SLOT=12
141 +
142 +PYTHON_COMPAT=( python3_{7..9} )
143 +PYTHON_REQ_USE="ncurses,sqlite,ssl"
144 +
145 +WANT_AUTOCONF="2.1"
146 +
147 +VIRTUALX_REQUIRED="pgo"
148 +
149 +MOZ_ESR=yes
150 +
151 +MOZ_PV=${PV}
152 +MOZ_PV_SUFFIX=
153 +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
154 + MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
155 +
156 + # Convert the ebuild version to the upstream Mozilla version
157 + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
158 + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
159 + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
160 +fi
161 +
162 +if [[ -n ${MOZ_ESR} ]] ; then
163 + # ESR releases have slightly different version numbers
164 + MOZ_PV="${MOZ_PV}esr"
165 +fi
166 +
167 +MOZ_PN="${PN%-bin}"
168 +MOZ_P="${MOZ_PN}-${MOZ_PV}"
169 +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
170 +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
171 +
172 +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
173 + llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
174 + virtualx xdg
175 +
176 +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
177 +
178 +if [[ ${PV} == *_rc* ]] ; then
179 + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
180 +fi
181 +
182 +PATCH_URIS=(
183 + https://dev.gentoo.org/~{axs,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
184 +)
185 +
186 +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
187 + ${PATCH_URIS[@]}"
188 +
189 +DESCRIPTION="Firefox Web Browser"
190 +HOMEPAGE="https://www.mozilla.com/firefox"
191 +
192 +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
193 +
194 +SLOT="0/esr$(ver_cut 1)"
195 +LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
196 +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free geckodriver +gmp-autoupdate
197 + hardened hwaccel jack lto +openh264 pgo pulseaudio screencast selinux
198 + +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
199 + +system-libvpx +system-webp wayland wifi"
200 +
201 +REQUIRED_USE="debug? ( !system-av1 )
202 + screencast? ( wayland )
203 + wifi? ( dbus )"
204 +
205 +BDEPEND="${PYTHON_DEPS}
206 + app-arch/unzip
207 + app-arch/zip
208 + >=dev-util/cbindgen-0.14.3
209 + >=net-libs/nodejs-10.21.0
210 + virtual/pkgconfig
211 + >=virtual/rust-1.41.0
212 + || (
213 + (
214 + sys-devel/clang:12
215 + sys-devel/llvm:12
216 + clang? (
217 + =sys-devel/lld-12*
218 + pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
219 + )
220 + )
221 + (
222 + sys-devel/clang:11
223 + sys-devel/llvm:11
224 + clang? (
225 + =sys-devel/lld-11*
226 + pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
227 + )
228 + )
229 + (
230 + sys-devel/clang:10
231 + sys-devel/llvm:10
232 + clang? (
233 + =sys-devel/lld-10*
234 + pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] )
235 + )
236 + )
237 + )
238 + lto? (
239 + !clang? ( sys-devel/binutils[gold] )
240 + )
241 + amd64? ( >=dev-lang/yasm-1.1 )
242 + x86? ( >=dev-lang/yasm-1.1 )
243 + !system-av1? (
244 + amd64? ( >=dev-lang/nasm-2.13 )
245 + x86? ( >=dev-lang/nasm-2.13 )
246 + )"
247 +
248 +CDEPEND="
249 + >=dev-libs/nss-3.53.1
250 + >=dev-libs/nspr-4.25
251 + dev-libs/atk
252 + dev-libs/expat
253 + >=x11-libs/cairo-1.10[X]
254 + >=x11-libs/gtk+-2.18:2
255 + >=x11-libs/gtk+-3.4.0:3[X]
256 + x11-libs/gdk-pixbuf
257 + >=x11-libs/pango-1.22.0
258 + >=media-libs/libpng-1.6.35:0=[apng]
259 + >=media-libs/mesa-10.2:*
260 + media-libs/fontconfig
261 + >=media-libs/freetype-2.4.10
262 + kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
263 + virtual/freedesktop-icon-theme
264 + >=x11-libs/pixman-0.19.2
265 + >=dev-libs/glib-2.26:2
266 + >=sys-libs/zlib-1.2.3
267 + >=dev-libs/libffi-3.0.10:=
268 + media-video/ffmpeg
269 + x11-libs/libX11
270 + x11-libs/libXcomposite
271 + x11-libs/libXdamage
272 + x11-libs/libXext
273 + x11-libs/libXfixes
274 + x11-libs/libXrender
275 + x11-libs/libXt
276 + dbus? (
277 + sys-apps/dbus
278 + dev-libs/dbus-glib
279 + )
280 + screencast? ( media-video/pipewire:0/0.3 )
281 + system-av1? (
282 + >=media-libs/dav1d-0.3.0:=
283 + >=media-libs/libaom-1.0.0:=
284 + )
285 + system-harfbuzz? (
286 + >=media-libs/harfbuzz-2.6.8:0=
287 + >=media-gfx/graphite2-1.3.13
288 + )
289 + system-icu? ( >=dev-libs/icu-67.1:= )
290 + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
291 + system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
292 + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
293 + system-webp? ( >=media-libs/libwebp-1.1.0:0= )
294 + wifi? (
295 + kernel_linux? (
296 + sys-apps/dbus
297 + dev-libs/dbus-glib
298 + net-misc/networkmanager
299 + )
300 + )
301 + jack? ( virtual/jack )
302 + selinux? ( sec-policy/selinux-mozilla )"
303 +
304 +RDEPEND="${CDEPEND}
305 + jack? ( virtual/jack )
306 + openh264? ( media-libs/openh264:*[plugin] )
307 + pulseaudio? (
308 + || (
309 + media-sound/pulseaudio
310 + >=media-sound/apulse-0.1.12-r4
311 + )
312 + )
313 + selinux? ( sec-policy/selinux-mozilla )"
314 +
315 +DEPEND="${CDEPEND}
316 + pulseaudio? (
317 + || (
318 + media-sound/pulseaudio
319 + >=media-sound/apulse-0.1.12-r4[sdk]
320 + )
321 + )
322 + wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
323 + amd64? ( virtual/opengl )
324 + x86? ( virtual/opengl )"
325 +
326 +S="${WORKDIR}/${PN}-${PV%_*}"
327 +
328 +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
329 +# overridden in the enviromnent (advanced hackers only)
330 +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
331 + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
332 +fi
333 +
334 +llvm_check_deps() {
335 + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
336 + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
337 + return 1
338 + fi
339 +
340 + if use clang ; then
341 + if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
342 + einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
343 + return 1
344 + fi
345 +
346 + if use pgo ; then
347 + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
348 + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
349 + return 1
350 + fi
351 + fi
352 + fi
353 +
354 + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
355 +}
356 +
357 +MOZ_LANGS=(
358 + ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy
359 + da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu
360 + fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM
361 + ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my
362 + nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru
363 + si sk sl son sq sr sv-SE ta te th tl tr trs uk ur uz vi
364 + xh zh-CN zh-TW
365 +)
366 +
367 +mozilla_set_globals() {
368 + # https://bugs.gentoo.org/587334
369 + local MOZ_TOO_REGIONALIZED_FOR_L10N=(
370 + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
371 + )
372 +
373 + local lang xflag
374 + for lang in "${MOZ_LANGS[@]}" ; do
375 + # en and en_US are handled internally
376 + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
377 + continue
378 + fi
379 +
380 + # strip region subtag if $lang is in the list
381 + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
382 + xflag=${lang%%-*}
383 + else
384 + xflag=${lang}
385 + fi
386 +
387 + SRC_URI+=" l10n_${xflag/[_@]/-}? ("
388 + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
389 + SRC_URI+=" )"
390 + IUSE+=" l10n_${xflag/[_@]/-}"
391 + done
392 +}
393 +mozilla_set_globals
394 +
395 +moz_clear_vendor_checksums() {
396 + debug-print-function ${FUNCNAME} "$@"
397 +
398 + if [[ ${#} -ne 1 ]] ; then
399 + die "${FUNCNAME} requires exact one argument"
400 + fi
401 +
402 + einfo "Clearing cargo checksums for ${1} ..."
403 +
404 + sed -i \
405 + -e 's/\("files":{\)[^}]*/\1/' \
406 + "${S}"/third_party/rust/${1}/.cargo-checksum.json \
407 + || die
408 +}
409 +
410 +moz_install_xpi() {
411 + debug-print-function ${FUNCNAME} "$@"
412 +
413 + if [[ ${#} -lt 2 ]] ; then
414 + die "${FUNCNAME} requires at least two arguments"
415 + fi
416 +
417 + local DESTDIR=${1}
418 + shift
419 +
420 + insinto "${DESTDIR}"
421 +
422 + local emid xpi_file xpi_tmp_dir
423 + for xpi_file in "${@}" ; do
424 + emid=
425 + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
426 +
427 + # Unpack XPI
428 + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
429 +
430 + # Determine extension ID
431 + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
432 + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
433 + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
434 + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
435 + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
436 + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
437 + else
438 + die "failed to determine extension id"
439 + fi
440 +
441 + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
442 + newins "${xpi_file}" "${emid}.xpi"
443 + done
444 +}
445 +
446 +mozconfig_add_options_ac() {
447 + debug-print-function ${FUNCNAME} "$@"
448 +
449 + if [[ ${#} -lt 2 ]] ; then
450 + die "${FUNCNAME} requires at least two arguments"
451 + fi
452 +
453 + local reason=${1}
454 + shift
455 +
456 + local option
457 + for option in ${@} ; do
458 + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
459 + done
460 +}
461 +
462 +mozconfig_add_options_mk() {
463 + debug-print-function ${FUNCNAME} "$@"
464 +
465 + if [[ ${#} -lt 2 ]] ; then
466 + die "${FUNCNAME} requires at least two arguments"
467 + fi
468 +
469 + local reason=${1}
470 + shift
471 +
472 + local option
473 + for option in ${@} ; do
474 + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
475 + done
476 +}
477 +
478 +mozconfig_use_enable() {
479 + debug-print-function ${FUNCNAME} "$@"
480 +
481 + if [[ ${#} -lt 1 ]] ; then
482 + die "${FUNCNAME} requires at least one arguments"
483 + fi
484 +
485 + local flag=$(use_enable "${@}")
486 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
487 +}
488 +
489 +mozconfig_use_with() {
490 + debug-print-function ${FUNCNAME} "$@"
491 +
492 + if [[ ${#} -lt 1 ]] ; then
493 + die "${FUNCNAME} requires at least one arguments"
494 + fi
495 +
496 + local flag=$(use_with "${@}")
497 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
498 +}
499 +
500 +pkg_pretend() {
501 + if [[ ${MERGE_TYPE} != binary ]] ; then
502 + if use pgo ; then
503 + if ! has usersandbox $FEATURES ; then
504 + die "You must enable usersandbox as X server can not run as root!"
505 + fi
506 + fi
507 +
508 + # Ensure we have enough disk space to compile
509 + if use pgo || use lto || use debug ; then
510 + CHECKREQS_DISK_BUILD="13500M"
511 + else
512 + CHECKREQS_DISK_BUILD="6400M"
513 + fi
514 +
515 + check-reqs_pkg_pretend
516 + fi
517 +}
518 +
519 +pkg_setup() {
520 + if [[ ${MERGE_TYPE} != binary ]] ; then
521 + if use pgo ; then
522 + if ! has userpriv ${FEATURES} ; then
523 + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
524 + fi
525 + fi
526 +
527 + # Ensure we have enough disk space to compile
528 + if use pgo || use lto || use debug ; then
529 + CHECKREQS_DISK_BUILD="13500M"
530 + else
531 + CHECKREQS_DISK_BUILD="6400M"
532 + fi
533 +
534 + check-reqs_pkg_setup
535 +
536 + llvm_pkg_setup
537 +
538 + if use clang && use lto ; then
539 + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
540 + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
541 + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
542 +
543 + # temp fix for https://bugs.gentoo.org/768543
544 + # we can assume that rust 1.{49,50}.0 always uses llvm 11
545 + local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
546 + [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
547 + [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
548 +
549 + if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
550 + local version_llvm_rust="11"
551 + else
552 + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
553 + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
554 + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
555 + fi
556 +
557 + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
558 + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
559 + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
560 + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
561 + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
562 + eerror " - Build ${CATEGORY}/${PN} without USE=lto"
563 + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
564 + fi
565 + fi
566 +
567 + python-any-r1_pkg_setup
568 +
569 + # Avoid PGO profiling problems due to enviroment leakage
570 + # These should *always* be cleaned up anyway
571 + unset \
572 + DBUS_SESSION_BUS_ADDRESS \
573 + DISPLAY \
574 + ORBIT_SOCKETDIR \
575 + SESSION_MANAGER \
576 + XAUTHORITY \
577 + XDG_CACHE_HOME \
578 + XDG_SESSION_COOKIE
579 +
580 + # Build system is using /proc/self/oom_score_adj, bug #604394
581 + addpredict /proc/self/oom_score_adj
582 +
583 + if ! mountpoint -q /dev/shm ; then
584 + # If /dev/shm is not available, configure is known to fail with
585 + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
586 + ewarn "/dev/shm is not mounted -- expect build failures!"
587 + fi
588 +
589 + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
590 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
591 + # get your own set of keys.
592 + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
593 + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
594 + fi
595 +
596 + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
597 + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
598 + fi
599 +
600 + # Mozilla API keys (see https://location.services.mozilla.com/api)
601 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
602 + # get your own set of keys.
603 + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
604 + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
605 + fi
606 +
607 + # Ensure we use C locale when building, bug #746215
608 + export LC_ALL=C
609 + fi
610 +
611 + CONFIG_CHECK="~SECCOMP"
612 + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
613 + linux-info_pkg_setup
614 +}
615 +
616 +src_unpack() {
617 + local _lp_dir="${WORKDIR}/language_packs"
618 + local _src_file
619 +
620 + if [[ ! -d "${_lp_dir}" ]] ; then
621 + mkdir "${_lp_dir}" || die
622 + fi
623 +
624 + for _src_file in ${A} ; do
625 + if [[ ${_src_file} == *.xpi ]]; then
626 + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
627 + else
628 + unpack ${_src_file}
629 + fi
630 + done
631 +}
632 +
633 +src_prepare() {
634 + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
635 + eapply "${WORKDIR}/firefox-patches"
636 +
637 + # Allow user to apply any additional patches without modifing ebuild
638 + eapply_user
639 +
640 + # Make LTO respect MAKEOPTS
641 + sed -i \
642 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
643 + "${S}"/build/moz.configure/lto-pgo.configure \
644 + || die "sed failed to set num_cores"
645 +
646 + # Make ICU respect MAKEOPTS
647 + sed -i \
648 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
649 + "${S}"/intl/icu_sources_data.py \
650 + || die "sed failed to set num_cores"
651 +
652 + # sed-in toolchain prefix
653 + sed -i \
654 + -e "s/objdump/${CHOST}-objdump/" \
655 + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
656 + || die "sed failed to set toolchain prefix"
657 +
658 + sed -i \
659 + -e 's/ccache_stats = None/return None/' \
660 + "${S}"/python/mozbuild/mozbuild/controller/building.py \
661 + || die "sed failed to disable ccache stats call"
662 +
663 + einfo "Removing pre-built binaries ..."
664 + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
665 +
666 + # Clearing checksums where we have applied patches
667 + moz_clear_vendor_checksums target-lexicon-0.9.0
668 +
669 + # Create build dir
670 + BUILD_DIR="${WORKDIR}/${PN}_build"
671 + mkdir -p "${BUILD_DIR}" || die
672 +
673 + # Write API keys to disk
674 + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
675 + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
676 + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
677 +
678 + xdg_src_prepare
679 +}
680 +
681 +src_configure() {
682 + # Show flags set at the beginning
683 + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
684 + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
685 + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
686 + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
687 + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
688 +
689 + local have_switched_compiler=
690 + if use clang && ! tc-is-clang ; then
691 + # Force clang
692 + einfo "Enforcing the use of clang due to USE=clang ..."
693 + have_switched_compiler=yes
694 + AR=llvm-ar
695 + CC=${CHOST}-clang
696 + CXX=${CHOST}-clang++
697 + NM=llvm-nm
698 + RANLIB=llvm-ranlib
699 + elif ! use clang && ! tc-is-gcc ; then
700 + # Force gcc
701 + have_switched_compiler=yes
702 + einfo "Enforcing the use of gcc due to USE=-clang ..."
703 + AR=gcc-ar
704 + CC=${CHOST}-gcc
705 + CXX=${CHOST}-g++
706 + NM=gcc-nm
707 + RANLIB=gcc-ranlib
708 + fi
709 +
710 + if [[ -n "${have_switched_compiler}" ]] ; then
711 + # Because we switched active compiler we have to ensure
712 + # that no unsupported flags are set
713 + strip-unsupported-flags
714 + fi
715 +
716 + # Ensure we use correct toolchain
717 + export HOST_CC="$(tc-getBUILD_CC)"
718 + export HOST_CXX="$(tc-getBUILD_CXX)"
719 + tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
720 +
721 + # Pass the correct toolchain paths through cbindgen
722 + if tc-is-cross-compiler ; then
723 + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
724 + fi
725 +
726 + # Set MOZILLA_FIVE_HOME
727 + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
728 +
729 + # python/mach/mach/mixin/process.py fails to detect SHELL
730 + export SHELL="${EPREFIX}/bin/bash"
731 +
732 + # Set MOZCONFIG
733 + export MOZCONFIG="${S}/.mozconfig"
734 +
735 + # Initialize MOZCONFIG
736 + mozconfig_add_options_ac '' --enable-application=browser
737 +
738 + # Set Gentoo defaults
739 + export MOZILLA_OFFICIAL=1
740 +
741 + mozconfig_add_options_ac 'Gentoo default' \
742 + --allow-addon-sideload \
743 + --disable-cargo-incremental \
744 + --disable-crashreporter \
745 + --disable-install-strip \
746 + --disable-strip \
747 + --disable-updater \
748 + --enable-official-branding \
749 + --enable-release \
750 + --enable-system-ffi \
751 + --enable-system-pixman \
752 + --host="${CBUILD:-${CHOST}}" \
753 + --libdir="${EPREFIX}/usr/$(get_libdir)" \
754 + --prefix="${EPREFIX}/usr" \
755 + --target="${CHOST}" \
756 + --without-ccache \
757 + --with-intl-api \
758 + --with-libclang-path="$(llvm-config --libdir)" \
759 + --with-system-nspr \
760 + --with-system-nss \
761 + --with-system-png \
762 + --with-system-zlib \
763 + --with-toolchain-prefix="${CHOST}-" \
764 + --with-unsigned-addon-scopes=app,system \
765 + --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
766 + --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
767 +
768 + # Set update channel
769 + local update_channel=release
770 + [[ -n ${MOZ_ESR} ]] && update_channel=esr
771 + mozconfig_add_options_ac '' --update-channel=${update_channel}
772 +
773 + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
774 + mozconfig_add_options_ac '' --enable-rust-simd
775 + fi
776 +
777 + if [[ -s "${S}/api-google.key" ]] ; then
778 + local key_origin="Gentoo default"
779 + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
780 + key_origin="User value"
781 + fi
782 +
783 + mozconfig_add_options_ac "${key_origin}" \
784 + --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
785 + else
786 + einfo "Building without Google API key ..."
787 + fi
788 +
789 + if [[ -s "${S}/api-location.key" ]] ; then
790 + local key_origin="Gentoo default"
791 + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
792 + key_origin="User value"
793 + fi
794 +
795 + mozconfig_add_options_ac "${key_origin}" \
796 + --with-google-location-service-api-keyfile="${S}/api-location.key"
797 + else
798 + einfo "Building without Location API key ..."
799 + fi
800 +
801 + if [[ -s "${S}/api-mozilla.key" ]] ; then
802 + local key_origin="Gentoo default"
803 + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
804 + key_origin="User value"
805 + fi
806 +
807 + mozconfig_add_options_ac "${key_origin}" \
808 + --with-mozilla-api-keyfile="${S}/api-mozilla.key"
809 + else
810 + einfo "Building without Mozilla API key ..."
811 + fi
812 +
813 + mozconfig_use_with system-av1
814 + mozconfig_use_with system-harfbuzz
815 + mozconfig_use_with system-harfbuzz system-graphite2
816 + mozconfig_use_with system-icu
817 + mozconfig_use_with system-jpeg
818 + mozconfig_use_with system-libevent system-libevent "${SYSROOT}${EPREFIX}/usr"
819 + mozconfig_use_with system-libvpx
820 + mozconfig_use_with system-webp
821 +
822 + mozconfig_use_enable dbus
823 +
824 + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
825 +
826 + mozconfig_use_enable geckodriver
827 +
828 + if use hardened ; then
829 + mozconfig_add_options_ac "+hardened" --enable-hardening
830 + append-ldflags "-Wl,-z,relro -Wl,-z,now"
831 + fi
832 +
833 + mozconfig_use_enable jack
834 +
835 + mozconfig_use_enable pulseaudio
836 + # force the deprecated alsa sound code if pulseaudio is disabled
837 + if use kernel_linux && ! use pulseaudio ; then
838 + mozconfig_add_options_ac '-pulseaudio' --enable-alsa
839 + fi
840 +
841 + mozconfig_use_enable screencast pipewire
842 +
843 + mozconfig_use_enable wifi necko-wifi
844 +
845 + if use wayland ; then
846 + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
847 + else
848 + mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
849 + fi
850 +
851 + if use lto ; then
852 + if use clang ; then
853 + # Upstream only supports lld when using clang
854 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
855 +
856 + mozconfig_add_options_ac '+lto' --enable-lto=cross
857 + else
858 + # Linking only works when using ld.gold when LTO is enabled
859 + mozconfig_add_options_ac "forcing ld=gold due to USE=lto" --enable-linker=gold
860 +
861 + # ThinLTO is currently broken, see bmo#1644409
862 + mozconfig_add_options_ac '+lto' --enable-lto=full
863 + fi
864 +
865 + if use pgo ; then
866 + mozconfig_add_options_ac '+pgo' MOZ_PGO=1
867 +
868 + if use clang ; then
869 + # Used in build/pgo/profileserver.py
870 + export LLVM_PROFDATA="llvm-profdata"
871 + fi
872 + fi
873 + else
874 + # Avoid auto-magic on linker
875 + if use clang ; then
876 + # This is upstream's default
877 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
878 + elif tc-ld-is-gold ; then
879 + mozconfig_add_options_ac "linker is set to gold" --enable-linker=gold
880 + else
881 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
882 + fi
883 + fi
884 +
885 + # LTO flag was handled via configure
886 + filter-flags '-flto*'
887 +
888 + mozconfig_use_enable debug
889 + if use debug ; then
890 + mozconfig_add_options_ac '+debug' --disable-optimize
891 + else
892 + if is-flag '-g*' ; then
893 + if use clang ; then
894 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
895 + else
896 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
897 + fi
898 + else
899 + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
900 + fi
901 +
902 + if is-flag '-O0' ; then
903 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
904 + elif is-flag '-O4' ; then
905 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
906 + elif is-flag '-O3' ; then
907 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
908 + elif is-flag '-O1' ; then
909 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
910 + elif is-flag '-Os' ; then
911 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
912 + else
913 + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
914 + fi
915 + fi
916 +
917 + # Debug flag was handled via configure
918 + filter-flags '-g*'
919 +
920 + # Optimization flag was handled via configure
921 + filter-flags '-O*'
922 +
923 + # Modifications to better support ARM, bug #553364
924 + if use cpu_flags_arm_neon ; then
925 + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
926 +
927 + if ! tc-is-clang ; then
928 + # thumb options aren't supported when using clang, bug 666966
929 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \
930 + --with-thumb=yes \
931 + --with-thumb-interwork=no
932 + fi
933 + fi
934 +
935 + if [[ ${CHOST} == armv*h* ]] ; then
936 + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
937 +
938 + if ! use system-libvpx ; then
939 + sed -i \
940 + -e "s|softfp|hard|" \
941 + "${S}"/media/libvpx/moz.build \
942 + || die
943 + fi
944 + fi
945 +
946 + if use clang ; then
947 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
948 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
949 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
950 + local disable_elf_hack=
951 + if use amd64 ; then
952 + disable_elf_hack=yes
953 + elif use x86 ; then
954 + disable_elf_hack=yes
955 + elif use arm ; then
956 + disable_elf_hack=yes
957 + fi
958 +
959 + if [[ -n ${disable_elf_hack} ]] ; then
960 + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
961 + fi
962 + elif tc-is-gcc ; then
963 + if ver_test $(gcc-fullversion) -ge 10 ; then
964 + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
965 + append-cxxflags -fno-tree-loop-vectorize
966 + fi
967 + fi
968 +
969 + # Additional ARCH support
970 + case "${ARCH}" in
971 + arm)
972 + # Reduce the memory requirements for linking
973 + if use clang ; then
974 + # Nothing to do
975 + :;
976 + elif tc-ld-is-gold || use lto ; then
977 + append-ldflags -Wl,--no-keep-memory
978 + else
979 + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
980 + fi
981 + ;;
982 + esac
983 +
984 + if ! use elibc_glibc ; then
985 + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
986 + fi
987 +
988 + # Allow elfhack to work in combination with unstripped binaries
989 + # when they would normally be larger than 2GiB.
990 + append-ldflags "-Wl,--compress-debug-sections=zlib"
991 +
992 + # Make revdep-rebuild.sh happy; Also required for musl
993 + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
994 +
995 + # Pass $MAKEOPTS to build system
996 + export MOZ_MAKE_FLAGS="${MAKEOPTS}"
997 +
998 + # Use system's Python environment
999 + export MACH_USE_SYSTEM_PYTHON=1
1000 +
1001 + # Disable notification when build system has finished
1002 + export MOZ_NOSPAM=1
1003 +
1004 + # Build system requires xargs but is unable to find it
1005 + mozconfig_add_options_mk 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
1006 +
1007 + # Set build dir
1008 + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
1009 +
1010 + # Show flags we will use
1011 + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
1012 + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
1013 + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
1014 + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
1015 + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
1016 +
1017 + # Handle EXTRA_CONF and show summary
1018 + local ac opt hash reason
1019 +
1020 + # Apply EXTRA_ECONF entries to $MOZCONFIG
1021 + if [[ -n ${EXTRA_ECONF} ]] ; then
1022 + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
1023 + for opt in "${ac[@]}"; do
1024 + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
1025 + done
1026 + fi
1027 +
1028 + echo
1029 + echo "=========================================================="
1030 + echo "Building ${PF} with the following configuration"
1031 + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
1032 + [[ -z ${hash} || ${hash} == \# ]] \
1033 + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
1034 + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
1035 + done
1036 + echo "=========================================================="
1037 + echo
1038 +
1039 + ./mach configure || die
1040 +}
1041 +
1042 +src_compile() {
1043 + local virtx_cmd=
1044 +
1045 + if use pgo ; then
1046 + virtx_cmd=virtx
1047 +
1048 + # Reset and cleanup environment variables used by GNOME/XDG
1049 + gnome2_environment_reset
1050 +
1051 + addpredict /root
1052 + fi
1053 +
1054 + local -x GDK_BACKEND=x11
1055 +
1056 + ${virtx_cmd} ./mach build --verbose \
1057 + || die
1058 +}
1059 +
1060 +src_install() {
1061 + # xpcshell is getting called during install
1062 + pax-mark m \
1063 + "${BUILD_DIR}"/dist/bin/xpcshell \
1064 + "${BUILD_DIR}"/dist/bin/${PN} \
1065 + "${BUILD_DIR}"/dist/bin/plugin-container
1066 +
1067 + DESTDIR="${D}" ./mach install || die
1068 +
1069 + # Upstream cannot ship symlink but we can (bmo#658850)
1070 + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
1071 + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
1072 +
1073 + # Don't install llvm-symbolizer from sys-devel/llvm package
1074 + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
1075 + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
1076 + fi
1077 +
1078 + # Install policy (currently only used to disable application updates)
1079 + insinto "${MOZILLA_FIVE_HOME}/distribution"
1080 + newins "${FILESDIR}"/distribution.ini distribution.ini
1081 + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
1082 +
1083 + # Install system-wide preferences
1084 + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
1085 + insinto "${PREFS_DIR}"
1086 + newins "${FILESDIR}"/gentoo-default-prefs.js all-gentoo.js
1087 +
1088 + local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.js"
1089 +
1090 + # Set dictionary path to use system hunspell
1091 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
1092 + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
1093 + EOF
1094 +
1095 + # Force hwaccel prefs if USE=hwaccel is enabled
1096 + if use hwaccel ; then
1097 + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
1098 + >>"${GENTOO_PREFS}" \
1099 + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
1100 + fi
1101 +
1102 + if ! use gmp-autoupdate ; then
1103 + local plugin
1104 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1105 + einfo "Disabling auto-update for ${plugin} plugin ..."
1106 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
1107 + pref("media.${plugin}.autoupdate", false);
1108 + EOF
1109 + done
1110 + fi
1111 +
1112 + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
1113 + if use system-harfbuzz ; then
1114 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
1115 + sticky_pref("gfx.font_rendering.graphite.enabled", true);
1116 + EOF
1117 + fi
1118 +
1119 + # Install language packs
1120 + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
1121 + if [[ -n "${langpacks}" ]] ; then
1122 + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
1123 + fi
1124 +
1125 + # Install geckodriver
1126 + if use geckodriver ; then
1127 + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
1128 + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
1129 + exeinto "${MOZILLA_FIVE_HOME}"
1130 + doexe "${BUILD_DIR}"/dist/bin/geckodriver
1131 +
1132 + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
1133 + fi
1134 +
1135 + # Install icons
1136 + local icon_srcdir="${S}/browser/branding/official"
1137 + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
1138 +
1139 + insinto /usr/share/icons/hicolor/symbolic/apps
1140 + newins "${icon_symbolic_file}" ${PN}-symbolic.svg
1141 +
1142 + local icon size
1143 + for icon in "${icon_srcdir}"/default*.png ; do
1144 + size=${icon%.png}
1145 + size=${size##*/default}
1146 +
1147 + if [[ ${size} -eq 48 ]] ; then
1148 + newicon "${icon}" ${PN}.png
1149 + fi
1150 +
1151 + newicon -s ${size} "${icon}" ${PN}.png
1152 + done
1153 +
1154 + # Install menus
1155 + local wrapper_wayland="${PN}-wayland.sh"
1156 + local wrapper_x11="${PN}-x11.sh"
1157 + local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop"
1158 + local display_protocols="auto X11"
1159 + local icon="${PN}"
1160 + local name="Mozilla ${MOZ_PN^}"
1161 + local use_wayland="false"
1162 +
1163 + if use wayland ; then
1164 + display_protocols+=" Wayland"
1165 + use_wayland="true"
1166 + fi
1167 +
1168 + local app_name desktop_filename display_protocol exec_command
1169 + for display_protocol in ${display_protocols} ; do
1170 + app_name="${name} on ${display_protocol}"
1171 + desktop_filename="${PN}-${display_protocol,,}.desktop"
1172 +
1173 + case ${display_protocol} in
1174 + Wayland)
1175 + exec_command="${PN}-wayland --name ${PN}-wayland"
1176 + newbin "${FILESDIR}/${wrapper_wayland}" ${PN}-wayland
1177 + ;;
1178 + X11)
1179 + if ! use wayland ; then
1180 + # Exit loop here because there's no choice so
1181 + # we don't need wrapper/.desktop file for X11.
1182 + continue
1183 + fi
1184 +
1185 + exec_command="${PN}-x11 --name ${PN}-x11"
1186 + newbin "${FILESDIR}/${wrapper_x11}" ${PN}-x11
1187 + ;;
1188 + *)
1189 + app_name="${name}"
1190 + desktop_filename="${PN}.desktop"
1191 + exec_command="${PN}"
1192 + ;;
1193 + esac
1194 +
1195 + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
1196 +
1197 + sed -i \
1198 + -e "s:@NAME@:${app_name}:" \
1199 + -e "s:@EXEC@:${exec_command}:" \
1200 + -e "s:@ICON@:${icon}:" \
1201 + "${WORKDIR}/${PN}.desktop-template" \
1202 + || die
1203 +
1204 + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
1205 +
1206 + rm "${WORKDIR}/${PN}.desktop-template" || die
1207 + done
1208 +
1209 + # Install generic wrapper script
1210 + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
1211 + newbin "${FILESDIR}/${PN}.sh" ${PN}
1212 +
1213 + # Update wrapper
1214 + local wrapper
1215 + for wrapper in \
1216 + "${ED}/usr/bin/${PN}" \
1217 + "${ED}/usr/bin/${PN}-x11" \
1218 + "${ED}/usr/bin/${PN}-wayland" \
1219 + ; do
1220 + [[ ! -f "${wrapper}" ]] && continue
1221 +
1222 + sed -i \
1223 + -e "s:@PREFIX@:${EPREFIX}/usr:" \
1224 + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
1225 + -e "s:@APULSELIB_DIR@:${apulselib}:" \
1226 + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
1227 + "${wrapper}" \
1228 + || die
1229 + done
1230 +}
1231 +
1232 +pkg_preinst() {
1233 + xdg_pkg_preinst
1234 +
1235 + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
1236 + # does not need to be forced into the LD_LIBRARY_PATH
1237 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1238 + einfo "APULSE found; Generating library symlinks for sound support ..."
1239 + local lib
1240 + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
1241 + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
1242 + # A quickpkg rolled by hand will grab symlinks as part of the package,
1243 + # so we need to avoid creating them if they already exist.
1244 + if [[ ! -L ${lib##*/} ]] ; then
1245 + ln -s "${lib}" ${lib##*/} || die
1246 + fi
1247 + done
1248 + popd &>/dev/null || die
1249 + fi
1250 +}
1251 +
1252 +pkg_postinst() {
1253 + xdg_pkg_postinst
1254 +
1255 + if ! use gmp-autoupdate ; then
1256 + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
1257 + elog "installing into new profiles:"
1258 + local plugin
1259 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1260 + elog "\t ${plugin}"
1261 + done
1262 + elog
1263 + fi
1264 +
1265 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1266 + elog "Apulse was detected at merge time on this system and so it will always be"
1267 + elog "used for sound. If you wish to use pulseaudio instead please unmerge"
1268 + elog "media-sound/apulse."
1269 + elog
1270 + fi
1271 +
1272 + local show_doh_information show_normandy_information
1273 +
1274 + if [[ -z "${REPLACING_VERSIONS}" ]] ; then
1275 + # New install; Tell user that DoH is disabled by default
1276 + show_doh_information=yes
1277 + show_normandy_information=yes
1278 + else
1279 + local replacing_version
1280 + for replacing_version in ${REPLACING_VERSIONS} ; do
1281 + if ver_test "${replacing_version}" -lt 70 ; then
1282 + # Tell user only once about our DoH default
1283 + show_doh_information=yes
1284 + fi
1285 +
1286 + if ver_test "${replacing_version}" -lt 74.0-r2 ; then
1287 + # Tell user only once about our Normandy default
1288 + show_normandy_information=yes
1289 + fi
1290 + done
1291 + fi
1292 +
1293 + if [[ -n "${show_doh_information}" ]] ; then
1294 + elog
1295 + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
1296 + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
1297 + elog "DNS traffic to Cloudflare by default is not a good idea and applications"
1298 + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
1299 + elog "(\"Off by choice\") by default."
1300 + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
1301 + fi
1302 +
1303 + # bug 713782
1304 + if [[ -n "${show_normandy_information}" ]] ; then
1305 + elog
1306 + elog "Upstream operates a service named Normandy which allows Mozilla to"
1307 + elog "push changes for default settings or even install new add-ons remotely."
1308 + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
1309 + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
1310 + elog "concerns prevail, which is why we have switched off the use of this"
1311 + elog "service by default."
1312 + elog
1313 + elog "To re-enable this service set"
1314 + elog
1315 + elog " app.normandy.enabled=true"
1316 + elog
1317 + elog "in about:config."
1318 + fi
1319 +}