Gentoo Archives: gentoo-commits

From: Joonas Niilola <juippis@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/
Date: Tue, 08 Feb 2022 17:28:19
Message-Id: 1644341282.b6fb6c28b1aa3b4c6d7e989cf5e75982e2d45d2c.juippis@gentoo
1 commit: b6fb6c28b1aa3b4c6d7e989cf5e75982e2d45d2c
2 Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
3 AuthorDate: Tue Feb 8 17:21:06 2022 +0000
4 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
5 CommitDate: Tue Feb 8 17:28:02 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b6fb6c28
7
8 www-client/firefox: add 91.6.0
9
10 - introduce fakeslotting.
11
12 Bug: https://bugs.gentoo.org/828531
13 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
14
15 www-client/firefox/Manifest | 98 +++
16 www-client/firefox/firefox-91.6.0.ebuild | 1240 ++++++++++++++++++++++++++++++
17 2 files changed, 1338 insertions(+)
18
19 diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
20 index 5abc08c38086..a93d8448dd3a 100644
21 --- a/www-client/firefox/Manifest
22 +++ b/www-client/firefox/Manifest
23 @@ -194,6 +194,104 @@ DIST firefox-91.5.1esr-xh.xpi 428168 BLAKE2B b1b4ef6efe7ae557864377d4c741c70e2d3
24 DIST firefox-91.5.1esr-zh-CN.xpi 575375 BLAKE2B 73d230d6b56665ffa9557905d8d07005a018a7451dcee4026b123f49a108b7f5ac6019f0e8513b47d2c437c7cf989df783e625550654b980700ab3f05d6ee499 SHA512 a94e57d1c088bfca1b020ebe39ddda6dbffe60ba2f091090d6e459a088a0de82b3ea09c513ad5aca36383e15768b5115f8e925be4b1776760fd0228e19769e9c
25 DIST firefox-91.5.1esr-zh-TW.xpi 576231 BLAKE2B 42603360a18e3726c8153ff4d567ede683559eedf63e6a30d90d0cbd3436ad9f6ab1c00b2b5603edefe20370f5ab6a61c772a0407371f84b75a5f0f4f28f6a0c SHA512 8afc163b90c720d88a202b7774047a6ee9cc20a486cfe09e06af78dd910e8f2991f91ab5aea4d30cb4d6cd34ae4c1d2bfbf8e07d8e0820a649ab6bf9c5021c1c
26 DIST firefox-91.5.1esr.source.tar.xz 388976720 BLAKE2B 5ade6b402af1ad14438eabefe3d8249b8e0125968b7d6950f29747ff3a41f9f1b02c52a417756b07b68bacdde43549768d1b999b15ecdca237be9c0363d13b0c SHA512 26239e7a94b79f1e24a6667d7cf1c398d75992e8850144affbc5d3f34f04b91f0c9b020cab662b2cd4927924839ff2ddd2f3605c537bb5494fd9ac0d951b14fa
27 +DIST firefox-91.6.0esr-ach.xpi 453222 BLAKE2B b98360f0823647892109090d22524b081bfa5fa3c317bda509d613e45638aee819167a7c50acce318b042e5deb7c8dcd9d70507c4af1f31ebdfaebbf0fde1c70 SHA512 8ebf70889de9ea0f28f168d92f8566660ffcc733a6341059a97b62a1057cee966a1eae496070fee1fa8a1a5ded77c8b6bb822d55d8121de948432473b72a7777
28 +DIST firefox-91.6.0esr-af.xpi 426925 BLAKE2B 674668df214b0d1dff711574c4b84d0aa7aecd6dd23ad8443a48c7c663a98e97a948e87b4949c8d6a0da51fb7b86376e132b8b0e3540bcc345728d653877448a SHA512 b7fccb807f21bacfec680338acbdf8fde18ca77ad027d5af4351385fad2c241d1f95e88454a451ab02a1913d774688d653af0cb9f7b59cd9196c9ab536554d65
29 +DIST firefox-91.6.0esr-an.xpi 499884 BLAKE2B ff5959685f1dc8633403150cf3246f1c988356629ce65b270124c07143f55060eb460a1a51edee8a0d02e159527acbbdcee7a5e0d4effaa9ba1e08be3fb9a2ed SHA512 8567695652fad39f14872f9a9fe863c8fa7ae543235c90f6694f6367da895de3248a55d577b4b2743f4a10f116a5729d49e10e5c8974d41f15e037a43cb233ca
30 +DIST firefox-91.6.0esr-ar.xpi 559674 BLAKE2B 345d0f741b4a2f5477b6206753ff2ac89c842e94be9744424db802a7d31aeed9b1a51970f65487c423cdd5122c201a19734a5582b4933cc827974d8c9b15b7bd SHA512 cba6068bed0a1c3967b5d6a79fe24a8419ed4e55ab26dd558cfc1916cf6fba90debd56d49b01258e1edd0ade6096802493a4ff00518f8bb13779439d94502db1
31 +DIST firefox-91.6.0esr-ast.xpi 498578 BLAKE2B 4a12c7a47ff3a0acf935f5075b7cf9b30d7f32812c2986c048e8f4440d9c5156cf584c30fd1dd33e4921eea382a77b89d045884bd24ea5c9a839e995e9576a83 SHA512 c03ac55e758e0068d54163dbe0798c8326d685679ae054d1bb10bf13f3f01656fa9bdbf8d13855af85a80061117a43ff40443edfdae4335ebcb07f1181e5aa4e
32 +DIST firefox-91.6.0esr-az.xpi 489428 BLAKE2B cd25724c059fb48f6365212189d058b33f6f6c4fc06e60ed76fbead69bc961ac67f202cbe75aeffd872ea13fd1b673d9975a3bc192500dd59f1d571ce345790c SHA512 30f54464cd5ad600a9f2130ae068c524fd441fc624e6926f32f302adf13a658bf8581d45ef9ba008d5f70987cc838265bc3deff75e41e84e7521846684027b92
33 +DIST firefox-91.6.0esr-be.xpi 622615 BLAKE2B 2123cd451b4666ca75d745f9f5f8eaf30a7693f1ceba2956f66e6eeef8f5a72a7593f06ff95e38fce3a80413431fe8a1432a5704af764c89f98e417be2498532 SHA512 1ac548a820901f37183a8bae233e20c0c6f3a05fbfb4e8adedcf84607a786fb26d8832e549eeaf6f82f49e46f7f6f6eb82e090fc5692d294806a2a49ea0d7c67
34 +DIST firefox-91.6.0esr-bg.xpi 567644 BLAKE2B c36fccff1eab5cda72d166c26cf690f85df60094ce82241bb7ed3211c9a724b403d272caf9f4c6880cfe5040e7b82fe1f13067553bfd3e86f9316b2cf54ba08d SHA512 3eb18c887cb20b7d4abf89d0bd1deac3a766dfa80e05b13d9bb702b47005bd0cf9bf6945df7ae01d386a01bf8ff71f86b3578f9e2cff0459da924918ce4b6dab
35 +DIST firefox-91.6.0esr-bn.xpi 556818 BLAKE2B dccbb447fd8d4c5cdd4968bb2b4444282fbf93ee60daa8af5efc6ed026a8e76ae3a09b8819a0700b982c3f7315c292ab3238edcaa6304c3efe8383b9e3971ca8 SHA512 1843b8a788089006da67a9d0c614af0d8f3de08ae51225655293deca1c8446d0949b6f2456f096d17c826b4ec95ced01889a84807cb86b6893d37ef286102400
36 +DIST firefox-91.6.0esr-br.xpi 526254 BLAKE2B 95285fb47698acee04af75b4e6a1959b5577e649d2b390a9c8141c7c69c55c9ddcbb2bd9c00af697dc7a5d793bf4d979870731c776820561749e13b4f115cf4a SHA512 0ecedcc9e24c7fed6cdd334464924015871676a944ad71d77a88547e6a3c6def9fc8ec991cf3d79e777c82e3c0b5ed72287fa03f5b10442596c39d24bb3d1614
37 +DIST firefox-91.6.0esr-bs.xpi 463554 BLAKE2B 48af008162b55a2cdb24cc96f37b07935145090b0601bc51c135dae2fda3959fa4f7b494e910eb5955bcfb43a48dd8056c708b33ba148467de8898697f725ad6 SHA512 d80253532b207b6adb2873037d13d2b2d9ea4560d9a42a3e937c7ea377059706a86bf99dc22c56e46fee5b7e1163217f569cb87f4305f41639f7b21ed8f56ee6
38 +DIST firefox-91.6.0esr-ca-valencia.xpi 529401 BLAKE2B e309a2f9e1c4984d95a5a4f4603e472930af291946dfb364c2400aa2b5d079c90673aad97c0849354f9482bfccf890336e77cb809caf976a77c4ccd738becdd4 SHA512 3ecdc95dcdc367d77f0698baa189a6336b960a054c97d585d6c61f97b6ee01c93ed90dee3bf95f6f30758de122afd64dc194d346767e821b6f22a0077498c12f
39 +DIST firefox-91.6.0esr-ca.xpi 532477 BLAKE2B 692755ef6d9cfe13f1603e87511ea8b6eab5146ed22ac56b3e51e65e9b5a8c38c6d488144c2f9ba96e7ea0f4f420e0b4d682b4abdb960a3b91230641e07b40f3 SHA512 94181bb27e8ef20ea57e24b807e1ee5d0a1c0c5d1abe23c04ad07e7247c6266d348438f36ddc60504b58b855fb549d2dcbc1689be26448730c36962229290012
40 +DIST firefox-91.6.0esr-cak.xpi 552604 BLAKE2B 358e06e11a7175899e34fc594de865fe4bf1639aebe572551f1472d8f5fd39046d3d15f2dfda082c6f60d4f35dca06b746ad3da9abbc1f4283ef6f8247d92034 SHA512 df1caad1db4c3449ade9ddb53f6e047a5e206159ed0b2089d851264d1f688373b616b7a3aa5d3d25f49db4a99cd0963af1a3d863ea868d5f637fb8f2c711230b
41 +DIST firefox-91.6.0esr-cs.xpi 563177 BLAKE2B f57550485f44ddc2bd67a9ff46164a2180fe62823f9a4f72fb5de6b62589edf2927d2b9be319d66dac8c3aeb4359903df4c375ec91c811dcaaa523aea06e6b9a SHA512 ca5186b1b3ce09340238da254e78be8943efd017e29110b4d87ad3bb810539bb3832509d2722f304c2f12563d6f42f051fe37d44af0dbcadbca0d3b58794de62
42 +DIST firefox-91.6.0esr-cy.xpi 542228 BLAKE2B b7b269ce6de516b8570a453bac618d8e7a2f00f46e37f07c0a141e1ecd6741ec0786db37de895477dfd79fdf7811b3145f08f117ad85590a16bc99d747bb38d8 SHA512 6a6e953e171a2cb1ac6c11d076c849dd5b767a1ece6bc1da3842a4cb89fedbd6eb8be1dd0663e8ef966fc315dfce1d12dddcb9b5011ce7af3d2b1a2dd4df7050
43 +DIST firefox-91.6.0esr-da.xpi 534159 BLAKE2B 5820b3c605d4bbcbaab002e4e8edc7a3b7b42387b5296ad94107dc7f36e3648b8cff31842226c2712867d4efae55ef94dafe00a6460b46056aa1a632a8fcd844 SHA512 32cfc62ebd1624cd64a562b1065204e47e505a426703ad482100496057c70a039bc07051fec41840412979c289b0796d8d0f9af450099572203604959def343c
44 +DIST firefox-91.6.0esr-de.xpi 553594 BLAKE2B 89f189523bade78085e6998f5e936ed7024124bf6d961a98c9dd2325bb98866aad00473ec14cae2e661ad2d5c9cb742c1ef02ed58aecefa6e33dc99633d936ea SHA512 74178e91979c36c33c6aa6312511dcf5c60a7727c5f5d2993d8acc34d45ded472495ab35c1abc077b864e246bc39864c090a46a1ef7888820cef40649adcb1fc
45 +DIST firefox-91.6.0esr-dsb.xpi 566481 BLAKE2B 4f5921a00709b69e7d2036967d5bd9be10f28f5ca98c0aae07365e299c921c901fdc5bbeafc393805ab5b3b47f0dee011502a8c4b8c8a89ce4a1baec06689bb0 SHA512 0dd410f6fbac05ac471cf5f24f7e4c3483554252455d979a065242307d3b0e7948daf16e25674728e92da547578627460d23fbc5b8b95760444a6bd7307a0ae9
46 +DIST firefox-91.6.0esr-el.xpi 639146 BLAKE2B 1bab3dd333d64ad7bd2d143997d10e6c1e79eba2fe80fc066206257887e96b890f4db9f29bd9682f406c53dd9239a4ef25a79875451936a8596bb262df3b62fb SHA512 1b8910a16175da11e98779e3e5f35009dd1f691efef18086f86b20dee292cd50d72372eeab51dda4f465da6e9b66e1784b3b4343b8bb292b43fb82f24bf57b98
47 +DIST firefox-91.6.0esr-en-CA.xpi 509586 BLAKE2B 0c2227ee24a1ca5232a3e7e0205072f32e45190a41073eade908c67ff181facdaa97fd52d33ebf45df112cebf1badb50ee06ba992a2a593a92e5271288a0edd4 SHA512 eb0941e3a44ee7d08705abcb364944cf785392dd4b6fc0ffd00426ea28029beabb355b3dc3670ba154dd486fe04f463a147f94cf3092ef26646f316b53000c59
48 +DIST firefox-91.6.0esr-en-GB.xpi 510584 BLAKE2B fcbd7c7b15ad562d5382d98c93d6005b4c9b474a07428fdb5e0d76e5eff58964a1bebe08a8dbd99d04ab96568593278e48af69ca094e051f6ec51c5c23445569 SHA512 a8aed210f5f324a146f4c4a78ce6228281eb2a5c475a2c88fe921b037cc9ccf4557998c8c396aae59f9e630135f78da610a1ec392203597fef84480ad5fbe4db
49 +DIST firefox-91.6.0esr-eo.xpi 534798 BLAKE2B 40de4d9723874612fa85a8a85d77762e5b93b464a32321c45ddceee6219c3e0cbf07fd09374081fe778d73eb6173ee31ed69d4730a5158dd9ac4c28a6e1e2315 SHA512 326ee63fbbb0a4035bf826665f9c4d831424148f3e2aa57eb8601122745eaa69552dddcbae2c089e2049261ad30b57f4ad69aef2f8495194d3ce6d5ca887c7e7
50 +DIST firefox-91.6.0esr-es-AR.xpi 546689 BLAKE2B bccb21ad46a7c75b655de0fac1dd051c036a22436c90707a27b5db894401f929260d27bfee4e2755f984eaa9d63d0497c053e0163fe66ef911d6ceb8e15bd856 SHA512 5a0f1f503e06ec3080ea14f1c23036dd9d3eb0b24a0f3a442a30ad53125b7a660a9c5d901b12f08f03009597c7c36f836d0ba7fe7c38bb1ae137170c374ca65c
51 +DIST firefox-91.6.0esr-es-CL.xpi 546383 BLAKE2B 8c64b17732df0034d722e0b2cfb937b173040159640bc919af0ff6ffde286a4e75cbec9534d1f4f0544410d6bb3bce16479a5b6272537163d234abad44a65d00 SHA512 b6befdd1c661901921d559458f719780ee8842867541dc71b3285798614de9ff1762ddb8af0e2aee57835480e7b84ddfb197a126da39743b5adb7225bbaa8979
52 +DIST firefox-91.6.0esr-es-ES.xpi 537072 BLAKE2B a78482bea581afd042312934e9fa226f1f929b097bbe20aaabc7c57fb47c2b3fe1f0af5eebc9e22feaffc2a97a86e6bb7043a5cc6c2be30af5ab14227b01856e SHA512 cb75f9a4a7788dde9ee6ca4863edaea0b17126e800829b867a0def5fe04c91f720266499e0a50bd23e7679926a9ceea33e5086b65e14e9fe8c95bf377b84e1fc
53 +DIST firefox-91.6.0esr-es-MX.xpi 549994 BLAKE2B cb0179f634e71e02f2420dd79abf144b73aebd1d2e04f40cfcad4f37574536ac3a193ac3dae5de9296706b1913e9fc32699de56406c403cd5e4cacb89d09e0eb SHA512 41c7f88f2720346c06edb89650e2d807c63e46ad57e564e61396007c7dc6ff11de4d7c57a3b5e9a5084c756dbe1ffea00105f99e2c549b2d767c5a9f2726d508
54 +DIST firefox-91.6.0esr-et.xpi 506677 BLAKE2B 66479dbd830da5e22e4e12f1c27987cda33f6c463044fd47604e4a16088340360e3920f0d0f42adcb9a7cfd98d4bfa8d3a87f02343da64b73be878d5d538b03a SHA512 97c47b9d0c28eba37467e67843891b4c9b0a2f738ce8a6038358b10ff9e693670f0e5f2aa6bf18750ab92efd7373bd8bb57e1af41b3e72c9ea46b75a7d8431f3
55 +DIST firefox-91.6.0esr-eu.xpi 536335 BLAKE2B b0788fe1c08f2ddc2fc86994983b7f1ce8dbd593db37a6b39291f32f762e352f09ddd2f92669ec297b1944f07b75435b459cf78623e750d14c6bea1c4d57837e SHA512 c462cfe0e9efa9ab0c31a370c821f186684627737dcc033973876caaa98313675503c28b80f98bba9863df25e3c78f4e4e9a27a555658fcb5c8f4fb665018098
56 +DIST firefox-91.6.0esr-fa.xpi 559372 BLAKE2B c3dc062f9d50ea24e3be971f9ade75a53dce58e856ce4ef13f223b364f33607131dbea7e7314059136825ca0abe9f12170d214168c69202acb4701b3e997c96c SHA512 077c6ca9d7bacd2d3e970b479f2c43604011327c6933470c9d06acbc606f498a0d82b960b672d073fe673d840dd40809059340b7652a22d817f5cf39983c0984
57 +DIST firefox-91.6.0esr-ff.xpi 471866 BLAKE2B 42879836a296dc7b65068e00f070b1047f9555bde8fdd356e25450739d9476cc5f738989e15be8553e245b520ebb36c2621f09c9f37e5f0b44107d956cbf4d1c SHA512 915882bf44f47569391afbd8208016a0c6beb887fc92030a538a1b31b8d6c22ae6a3d04c4c28718ab4101665c07dba60bbd1d86db63331d7862cdea533299018
58 +DIST firefox-91.6.0esr-fi.xpi 531489 BLAKE2B e8b4a29d3df28803d907b5ba58c4ba7d17867e2aa80da52b610146eb5da83503aa120d7775d2f112d2167ca91c1d13e7b48edd7a2464a4b03ed9f1e79a3eca17 SHA512 df878005baed0ed8d5f9c318cfabbd395911f507c4b41929d41397c71427242f5294ef6082ae044b479e4c15d424275fc5060cbbba01065431b39a88cc3f8472
59 +DIST firefox-91.6.0esr-fr.xpi 557617 BLAKE2B a83b5d48dc6c30d74c566c8b54592967ca6f5dd297ff3935aa24736813d51594abc270d3ed41b5e2cffc36a66ccfc9e2da9fda64e641f70a7e6f72ec3eb8b083 SHA512 a60576d8d506a25bcfa5246d29143da938b1fc7ab17e6819c3975ac731058d5323d76fc45f836bac44c964d9423acb87962c1f94cafa12f7f419b0413657035c
60 +DIST firefox-91.6.0esr-fy-NL.xpi 543302 BLAKE2B ad680dfee889b5fd8051634ef7bfe8ce0a7fe3557a046314e95a75abaa9856882cb535699ea5b93e99ca2628cf0f5a28afe384938457d3c0d56b930ab904ca8f SHA512 9ae6ccf235209507ea5848518d469d6e017a140e03d6ceb71764fa1d77c6a7075f24deb881e5cb196c015ddc1b664a11a5f2a02f6bdd54be2c033f43304bb224
61 +DIST firefox-91.6.0esr-ga-IE.xpi 459832 BLAKE2B b75dfc3fc520c9a66c1a328c14fcaec537852acdb9c7fc242f18412d817bae623516538d74be65c9ed7ab99810bc09374b32eeb14db4ce9478cf7147c5e87df8 SHA512 6200dffb91bb47113ed1fe64ffb4eaa4d297952418387bad988c69b01e277c16909c77ad7c9f4d74a92586296e87933ece5bd49f06cb6057b5e7ad9df20de991
62 +DIST firefox-91.6.0esr-gd.xpi 530850 BLAKE2B cc99e4a88643d13a1c071496dde2ebdffeddd3b895f07277a128b21695b2c61e18d5fa38cab5b76712a6c721c28d5bbccbb91c02416d45f22d36c26225300a47 SHA512 cf3a47eaec4d4ad9ec6229414dcd957b01b5e287f15a75dfe1c8bcee13a131a15ca9e740dd15a9e2fef2ef4f193181135407088a7665a766787b4801660ab910
63 +DIST firefox-91.6.0esr-gl.xpi 541296 BLAKE2B 740c1070db79d1e6bb2069c97e85ae43df6297f86c455484907e06c4c137ac356f9890dda101f0188b257f2333ed4f5595548817aae8c01ff070487b643768d6 SHA512 d630130ac000c5eb0fd353058537728456539997736fb1109401cb76149ad67dcb4d392b86ff8c30472d867c94636223f0267c266520723e3106f4e1d0896016
64 +DIST firefox-91.6.0esr-gn.xpi 557604 BLAKE2B 47549a4c600eb2528412ea766bf9053f3de3cc84caf1a03075e6174041928072fc1f7368cdaa33d28c2385294e45bb8bc73ac865a9021062570c9158dc8d2429 SHA512 d396d193c585e684afa2a10c17d649bd8ed284b5ae4d8b98bd044081f7cf78c2ce9605b4a9c3e245113e72ced4c07fda980647fe6e9c33ca3e4b35d5a2ca83f0
65 +DIST firefox-91.6.0esr-gu-IN.xpi 529547 BLAKE2B 10b1f5524dc12a0a3907c0320dc92bf770dbc9062d44bf303ae7aa7a3311f4d3c9ff79b751d65f5ed18b41e882eba0d5a6d4244c65e1ed571a543734c0173e14 SHA512 86952d325f91051ac05ee189b12d188fe877b4418fa2abb34865dfb38a0cc73c489c7ab42c096556bdccab80912db3cdf9c4d40b307509cb3b5917c064c3537b
66 +DIST firefox-91.6.0esr-he.xpi 557197 BLAKE2B 604252201e0fab48e109ff64454a088e0fac79152f7617abcf7989e62f4afcce4ad366195a9e02cf1f4aa30789f59f88413b8ff816d9e92e9796d4b752b8c60f SHA512 a274caa7482a821c97aca4aa2d2d4205e2b624d85a2707c364ccbbe8bde88051c3fa6832a805a185bec21f2c820ad4374aada5f813b73cd816099b253645a71e
67 +DIST firefox-91.6.0esr-hi-IN.xpi 560648 BLAKE2B acec032c3e4101ae0fa70f3e8ae98a46418790cca36ea7ef2c98857d5eca07e91d7dc35aa9c4389b208c78606596cb59ea4b976f038fea06bff16dac48992375 SHA512 6143f9a09eda31847f3a10f5e7b4e6dc072010a70e6c0efa2b95d95cab2cf6762c2b421d5e56bdcaf4981354c502c5a9e0159bd3a8a357543587f61ffde17a03
68 +DIST firefox-91.6.0esr-hr.xpi 530052 BLAKE2B 541c1e5ef80f1af0534303cd2611b7c15feeb8e6fb32eec80af15a9de6d9f70a8188720ea7450618023cb5cdc621644cf9c1ac3ac4b6ad227c196b6dcf4c8ba2 SHA512 272a6e69b8ceffd4af4231150cbbd621f8223621c009eda7ae20fbbded43bc0b939c2b1766aab25e46e4bc2f25d71bf9a9be2e0025e1dfa9939ce13910fee7e8
69 +DIST firefox-91.6.0esr-hsb.xpi 562627 BLAKE2B 820a793eb87f99366956e5123acb670e7f7ef7e432daaf70541d9037d3c74b677d9ddefbdda18d3ca98484279161cb8fece19fcb1b1bd70cc5ecc6b12bd7c501 SHA512 694810888e287f821757123d7189b8f8dd077242a770683935803b7206ae96bf4d4a51683b20f469b385c5c3e83593dadc215b87f355808d328b192cfc6ab4c3
70 +DIST firefox-91.6.0esr-hu.xpi 566074 BLAKE2B 26a89edb7bcb089017ae59899d0b81348d12184b3511f1ef54bc8381ce96d94d728e9ee2600cdf2fb4da4f7ad1386171dfed5bb75be0444f4820ecd3cbf48674 SHA512 749459b66780461b3d87a6511fcb9618774aa8a57624bfba2339d57afe07e14233edd00469f3b82559def60501fa8c2a3ee1b852e46c45f57c54463c0baa508d
71 +DIST firefox-91.6.0esr-hy-AM.xpi 579762 BLAKE2B d9f71c2afbf5cdd8b80f7101f396de7e2a108461128c2d074218563f0db0220cb6d6bc01de1bfc12bc00598a5784ded480a9542118c40e761e318ed9b1482ce5 SHA512 66f147165cd67f58db78563dcf12acd353aeb78366fe7a721c0899165f85269c68063cbc4d5d071c25c801f600cdc87ac04d98876f7d7c5884667d1f6f7dce42
72 +DIST firefox-91.6.0esr-ia.xpi 532142 BLAKE2B 5cc49dade1d81284971569f95416cf226b3038b10385be6e05dd6b5de00c0420a4cde78d938cd20c0f434b868de077349a60bb304a7e413dcd9e80f4190b0f73 SHA512 ec49088a150b980fa196d0efae3158a0e0a1508af7e13e7ffb4a6ee723d185e942f1fcfbe5dd621bb7e842d70785e3928055217a80c44384062418863ecbb552
73 +DIST firefox-91.6.0esr-id.xpi 519826 BLAKE2B 39f2d79df894f4b54a517b72060c92070e416deab787b9202bb3e32f794831c29abf24bc3e59d036ad12f545a5b58dd45a14f1d887bac6e1428de81fadefb275 SHA512 0df35a8aa7a780c652be998a42a0b035aff4028fb905763f6a0340d38a60f2ac232181136b3fbd91eb13ac3830acfb227b48240e465f0e6532b474521b9355d7
74 +DIST firefox-91.6.0esr-is.xpi 470229 BLAKE2B afeea5d4bc81a03799653ff068cbea55fdc604f3c52621427f5ac1f332160784c8b04315b0faf05853520449e939cf60b87b5996a6b0878ecc8b17d1311de6f3 SHA512 d957bc0fe59b1acc9f401edc8d5fa7237609a7ed7e07062d441c143e53cb678fa9edd97c4627ec3338cfdd1dff831b09fa8e02b6dc935cbb4a32784bf7a70a69
75 +DIST firefox-91.6.0esr-it.xpi 459076 BLAKE2B 6ca0f1197521ab693b6dacc657fe4d8673400df3d2b529779bc06eacf55275812ff6aa080c2347785f12e350f062136b246195c5c971d23303cb03cffe9eff63 SHA512 fb452f77bd5fdf971c3a497eeb810ebbaed1b19d197c76eeeb7baa40838507e80902128861a423a757793c07940b1f9ee5495ef2af0297d17f924235d9e5fef2
76 +DIST firefox-91.6.0esr-ja.xpi 588076 BLAKE2B 27050cbec8dfaa0b1e719feaae41744c93c5020657e96a60df403d18e5c6b30ab2c8701ce6767e33647753aaa5b202dab708a2d42920d9bb0f9cc8df88c97a37 SHA512 7fdefb117b42682b659766a55cc5e894b5776bb5ce23f360a7309877f22eb5301a0b75d93f718040acf3fdf9a5b2a0c90de215a5809547306b737ede875564d7
77 +DIST firefox-91.6.0esr-ka.xpi 592244 BLAKE2B ffbc87ef2084eac30fbfdd54aff24124317f1568b212c4a2c0cdb2b63c458e5316b6abad83f282f18cdeca3472c4180266e9cf889f0ab6c960d4af9794e54b88 SHA512 3bb8959edeb16f490241d7eec919846ad61a0a3aaa264ffcef9db214e68c3e205e261e8c8d4ec61107a639edaf5392ef7ffa2748c4d663dad9941076693ee76b
78 +DIST firefox-91.6.0esr-kab.xpi 545021 BLAKE2B c1833c05c77988c93bc3f74b4edb5ee632fe699458deae2932ea2ba61ea0eb34c2120df9fba1f0b6337de81d66fcb970b26da37eefe8c5d8819ce0a2b5d8f1bf SHA512 acfdda7aa473c1b26dfdf1af83e781cac11f763ae28980b4528139d0a388a3bfcb65b1c6a3aea4d3424498ff3950cc2416b1563298b0168011dc57c6cd5bceae
79 +DIST firefox-91.6.0esr-kk.xpi 605554 BLAKE2B 86bee2a0333cbbe5c5acf6baac1703527773fb925f0ab448d89b6ee165ff867452f80dd6678578310b1846b5715ad64f9f24075305b98f6235b59c37dc3a4c8e SHA512 13bed5231a92c18042ea869f724b9f826589e2d3befc2cafaab904dffe5a7c7ac005193330bec995e4b8471ca84d5dcbf7edf3a88cf3b1790357b0603f163250
80 +DIST firefox-91.6.0esr-km.xpi 533114 BLAKE2B 05b5b121f4e8b9358732d79cdad32e24cebe0a55c263c11e4c600b2f10bbaabbd2fb2dc91da989546b1473c7017abf417dd2a195f6025b2867c8983dfbe728f5 SHA512 d54e08db12476b68f5905181ff8bd1704627121f03315a5e6b23c8dfb5f68914fe8ef7deffb0048c181bd2700e51bdee775bcc952a7d0b88d2aa0ec96ada3de9
81 +DIST firefox-91.6.0esr-kn.xpi 498976 BLAKE2B 2060ed861d8af370eb0907ef8cf032f6c7186bae88a10baa5a3ce77ff888d66bea0049d0274f2454e4d4f0fb5b8c4260501aa3c64f6fbc21ac88a0b87852e284 SHA512 c114ea6c13e302a9669e45d52f606fe548069857d591738cbdd4e09a6d95fda3ee3e22ee109758cfddd195c9450df918b77321d4ceec49fde7f7ff9c7784eff0
82 +DIST firefox-91.6.0esr-ko.xpi 579069 BLAKE2B 48df2f1bc2cf6152cb5c299e39c26204f6d2b88a744e5517986db0410f423341c0813b0b695b19562940d39ce70a62e355db6cd7c02890bac229885e02fe14bd SHA512 7d777c4470f7b5ba68c7be2554b949699a4315fc79cc2d2f7b90a14649f6a00a55f37dfe22565297d58e5098ef4a93f1a0b3d44699a73f46214f30470303a66c
83 +DIST firefox-91.6.0esr-lij.xpi 470174 BLAKE2B 467759c7fdccd9f3f4c720d07b2ccfbf4a70214b4f6c40fc15f0f78ad75db2950cdbac8818958b5a64f2e1c06f3d4217e817740b7dc56a74f72aa3610e80211c SHA512 ec7fb78000d9b625d677901501e8a12636fba74cef19f6a1327130a7511667276ac7e27895dec8ff001ea13597f8ce6372846a0db33c7b8306886b5870439f9c
84 +DIST firefox-91.6.0esr-lt.xpi 560114 BLAKE2B feb3fdb7779ec9986decd5cafa212fea7aefd1ecbcc2c3d175c594b02d21c8d463b1f801789c73bd08325054b593a171377a84b4f0e9f5c1d833faaa60df9f3c SHA512 1ca4b5cd5c297310318049a374585b952d6411ab0cbfc6d4537f291187d9e0c0d5d10dc1162454866c86ffb5cbf9fdcf8a687592fd8ce7e9bd71a5e31d852d50
85 +DIST firefox-91.6.0esr-lv.xpi 462464 BLAKE2B 8f7a08ca215156aeacfc224ca6280caf3fdf7f9f51326c2e06d11ea2f9603a446e38fa566446d5eeb45c47fadc932340770f7c11e29ff43cbbdc05c18b3a04c1 SHA512 1f76e5b577ea7a12d39478c51cbfb5e4345c7b22e29442f47cefa1c3421c003e2f2a2bd71848bd9ee7a3b1d10a91b4ac8fe35a40d7423bce498b5dde49aa49d6
86 +DIST firefox-91.6.0esr-mk.xpi 465343 BLAKE2B 5f1f5360b6631d31dedb9e07e27c1cb5f12fb0a3a1ebcb7c17ccd959e7785f9b7ae0a537035a9c8c409f5d5dc27552a3579d791e83c0846f078703f8a9c7eec6 SHA512 ac7e6a05496595294412c94cf769d904fecd35a6b15fa9da3d6da9f0e5c8f62bc680d1ae7469302817d3f9560fcc0d6297c973addc3275b955a693efb3bd0df8
87 +DIST firefox-91.6.0esr-mr.xpi 532123 BLAKE2B 77705ff51c2514a5da7045b292d3e7b06433ba33c340c84c7c6da565bcf81d8a12b3329d7e6a025db562b1d7088ccfc4ab5d8df8603c0c4fc4b45ded22b70fd0 SHA512 4df54f4a5e1f039c7e5c7bf797b4af09e09b375fd4b5adca890c272255d080b7247d45a04402c7ef5527b71a8dcb5631237b9cb340cd6b1d16a27bef87f4e7a7
88 +DIST firefox-91.6.0esr-ms.xpi 447339 BLAKE2B 504487240c42b8fd57066279a68ccc4cf4324138731ffa46d0886722a2cbc41f4500ca4a1d624d6ad8f3ccd8c8e1a0351ee4aff9587751e6e8dcedb8aa924936 SHA512 9867b9c0c469d3c44fa75f451b1284f1a293e9565d52598115be598d036c67bbad8971e6bf13762a696ececb5adf780c5f71c04299f14493a587daeb78da2fb5
89 +DIST firefox-91.6.0esr-my.xpi 516302 BLAKE2B f0a32fc95e65ee2e7c37e1f652f21ffcbb3951fadd575311b3487804640602b88779710192552fd76abf4d7e62ffd3fae56024304d32ecda0eda45f8f44efaa2 SHA512 6207170b194c1fe95c55c4782172447bf4d9ec198bc187f2dfc8e2f49a046f77bcdbc786d04069059adff4b7fa9bf41151c848498cdd54ebb3de0afe2e185d0c
90 +DIST firefox-91.6.0esr-nb-NO.xpi 529425 BLAKE2B c1cb486918a7b075d86f5b5f0a8454364354b0a0b9d446e042a753d1a53d980488b2826b265790f0e1961d9714191ad6f67485efa9665282db3928292b2f28d9 SHA512 2a7b2f13f7531842cdec618cad60a67f78f277df07b3cf2ecb658fa893542c12b2cb57817b34a6516aff990fd394e6bdb3e255463d1988c7029070f28168ca82
91 +DIST firefox-91.6.0esr-ne-NP.xpi 485213 BLAKE2B 8caf550968c5a4f7f67028219391dd173ecf04087115bbd20a72960774ededb2a99c0346a4685ffe5a2a83a2d53432f99009faac3775b799997a2820f8782ec1 SHA512 81266aa479d8cb5f8f0484faf72aff202d5be0bc9610ec44ece8e15715211c854aa52f16d4cd662c774fc27b9a8a1363a54ab7176cffb962726180e7cfc434fa
92 +DIST firefox-91.6.0esr-nl.xpi 537388 BLAKE2B 4199fdbb758a2cf35239fd182273c09e8c74f2c16c77e33347bb2d892458e60ab3b9410abbfbf160920f9603bf113b63f132577eb41c109385facacb616696c9 SHA512 c65f5e1412bdfe712a2e81b79449349b0ae3c3b41923fd88ef676efcfe109ad026dd47d1ba152bb8d9ff49fb21085aa95792ffd17a560d0a55129acf20a5b284
93 +DIST firefox-91.6.0esr-nn-NO.xpi 531683 BLAKE2B ffc3b2170669dc8018538e63fa5626ec02c3b2d360cac7139fd72f37ddeda4d8bd2f3004fe846a58b5bf06f6ed69729f0f7b121321cf7f044ed0b754a4bac173 SHA512 115253ba5abab032f034141255fff1a1b271702306bf03def0283d17e04d85f3701627cd659d9d3bfdc2553a9257cd568547061a97c135a986c75246b755a851
94 +DIST firefox-91.6.0esr-oc.xpi 552953 BLAKE2B c0e5c57cbf71d05605181b7a0382992ce373c673fe6cf7c3af312893e1c6517a0b42819cba4bbaf5fd8b5aaed16aef98f342cfedb1e54be53055dae798023dfc SHA512 4817a933357e15249e913bd32303b433d77dec82ea11797abe3d0deff5c0adeb02037aab46928ad33c5f029c93d6f94b20198fb7dd9c9991aace1742474b772b
95 +DIST firefox-91.6.0esr-pa-IN.xpi 595982 BLAKE2B 9421d43593f545728d0af5f677b86bb9ba890519fdc59f0d007a5de091820cb6e96a93bc34c75ed64e33cc64f3c21d2ff7458f090ee67a20b276b59504ab8b06 SHA512 9e14212177893ea37b682098b915672d5d070bc1baa832d2f1298d9d7eb6c70293fdc4c49aae6748c0c1dbd5d1dac26f670f581d810af29646a527326a17bc00
96 +DIST firefox-91.6.0esr-pl.xpi 555620 BLAKE2B 3dd2b0150b0ff4ace83c6d8e53ba6cd4ca8d42dd66f1399d91114489c49cb1972d8f16c50355e8138779aaf3f76f0ee93f843c8d466176cd668f72e5bcbef243 SHA512 34d3d6514fbc200780147fb711331c1064feab9f30213487ca374ace91f58f5ed6405502660f6b79bf199e3bd8c5bc34ab2b6e3917881812d9c887589a6a5475
97 +DIST firefox-91.6.0esr-pt-BR.xpi 542612 BLAKE2B b84dc6b8838b3dc3bc73ba331a10c1e9d1207a20275be9c08183f03ff5f55d6b2c4cebcd61c0733356c153460491b740195a44f96e98d20289bf71e82491ce08 SHA512 9b214d6b6244f7d637204a1be38ea1e42b28e15ef334b545f06e8d24db763d5b15111b391cd64d46c8f49a5ce43c115e4fa81f3e53ea27e472bff51073975357
98 +DIST firefox-91.6.0esr-pt-PT.xpi 546349 BLAKE2B 77c9c89740818adc3832323a33ee03740ee88ee48fc2f4753020ce2cc8bbe44549ba1b02b8981f2a4a7fcfc36f7c30201dd2eb6a9d5df0f4cc7dd7681beddb32 SHA512 d16eb52dff9529a79ea47d4f0af412eb9a62c6d2949d4eed19a41570b85b4024e262d93e51cd6ac596383dab0f3508744fc861e511ad6186161729d400f140a4
99 +DIST firefox-91.6.0esr-rm.xpi 537359 BLAKE2B f491216e0052210c0f2714f5ee7e1de49fdc24dfa41b72ee3e38055d450c99e00d86b572039763e8788f6c6191bc4f83a5d9a2d8c44b9b1e04824c1dd08c76c0 SHA512 c2ae9c3e8b2aafb63e955b1958d1389831234f463ceb00b947b4a34f413b62cc5eeecdf6568389d213cdeebf226335788ff7da193652d4fb58a0b110f1864bf2
100 +DIST firefox-91.6.0esr-ro.xpi 529321 BLAKE2B 0db0cb45a9a9cfd1cd608e7942447bb57c99637e559de485b1c275a3331356530f821f58cb7c49b76f3212b49b0cfc36eaef87540f03e526c789d2c05ccac30b SHA512 0ec67b699681a9a8c2c453398a0a989a028138591c984fbc5049119fca81d90aab00c1f4ab0b96ca97dd911a9c48dab616af872d916ef46b95e223135d2ad555
101 +DIST firefox-91.6.0esr-ru.xpi 627115 BLAKE2B c41cf5181f20472de24b0fe79040ec9eb1c85a15088eb868c2d9f9065dd2493621343ee87267bf8807c4cc314d8725f6878f98301c748a3cd7b8df78b019cd8f SHA512 d9e827f9b6ea0f4879a8a5f2a7d309ae331e3f016c118f1e5d8989e48ba4d16704bbbb30fde9da24497ec7e3bc57a207201b7490a6ec58177d81e690a6a7597f
102 +DIST firefox-91.6.0esr-sco.xpi 504856 BLAKE2B 50ed5a9f4ce982ff4306a1b41910f0213429598a19210ead50a9bc12e2673f464ba72fb4dd98f52d13fc28bdd7331597780e80738fefaf4b8dacad8f6dea271c SHA512 a0b9178ddbcc0c22f7862ef12e5707a8a662f82eff8dff7a0e719bd21bef87467ad6a4e514c6fce0837a20c90961b9711667ba0d09aaf8bb6eadc9212913afe9
103 +DIST firefox-91.6.0esr-si.xpi 487960 BLAKE2B 9b859977c594b4d2baac5b09ca379821ce6dddac6d6358fa7c0794b120662088f11d536097739d9bc0eaf84f3150baf188d1361a55e0293e79b0dc04f67cf2ae SHA512 4b86a50c106eabeaeeca14753110107ba7b166f5662abdb35f9bc898f556b03c8953a71409ac08a97a0a927c54288643926b0f887b91a1d276ecbe4782e8590d
104 +DIST firefox-91.6.0esr-sk.xpi 566484 BLAKE2B d89a315891a17d220f0593c66e42953474ea7f7949a46927094cc4b6b158bf46b77188b786200e256cccff79bd582ba1546fe99a7ce95c1ead320e97e09189d8 SHA512 7a85c9bd3db744e927ba184f17e74e865491f8313e52bb83806c5e069f476c3d4313e8ca85148fbfc7799298d9f656c96b35a4fb5e33392a215acc292fa394ab
105 +DIST firefox-91.6.0esr-sl.xpi 538009 BLAKE2B c1b5b063bd3ab42b63cb128e4c0156a1bd2c09276c1cb972a3b551501bcd964292f7fa992cad58e9849ec97ac3648ed22b2f3ce415c8f3f686d6858e97c76c20 SHA512 7a953bd6790d58670565aaaa7f9ac5e7a70c01bfe391b8450110c5e97744832cb73a08b66e779d9fbf6127e7f438a79ffcd9f9a9a5e667e27f93bcf4deb8f00d
106 +DIST firefox-91.6.0esr-son.xpi 425987 BLAKE2B 502e763a89dcddf1b24f054eee3f5a6c9ff5ae59ed50b30d1312036b8b5e5a8ab295b65fc169e9fdfba01c384e22825a3e1c059f5cf394a63204225a0b103f04 SHA512 11bcad664d4da210ada2ea2a5354ea96f0afb3b7ebd1b23267c9a44a3fc2f87ddbd0bbc446317b6dee95b436990c4f4d4369b26f7c221b286167128efb906a90
107 +DIST firefox-91.6.0esr-sq.xpi 555996 BLAKE2B a1ff346e842d17c1db7c194a891be6d7c97ac597e7ae2c8b310083156fd098cca235bf9c24a2fd20775007039b9aa0ad26f126216393e9178cd5d9ea5b1c0e3e SHA512 adda5a6109faa9703bbbd9ad0cc5289679bb48eefddbe249436820de2b669793aaa38640beff3fdf81a2f5229adb137a135c7b8f6ba5d116f3a4a3741e66bdaf
108 +DIST firefox-91.6.0esr-sr.xpi 586076 BLAKE2B f517567fdf9cd7386e498d204748d089e45e50e1d8d12efb9cbe370500ef7078b690fe872d89718f7d30b67ba42aa4fb2a0252833707d2a2f5e50c55cd6edff5 SHA512 3faea9ffb6dcea84d2a348ac87dd48a53151b5fdd9dccaa607c3cf80c26e7a294be73ea561cc1cebc9fc0a6356f66d9332077188db243c9153118381b6c9d19c
109 +DIST firefox-91.6.0esr-sv-SE.xpi 539956 BLAKE2B 42ee1235322c1b6dab75b77e113c5472d31ef9d9c8d437afeb61e3da6fe62bf498a9575ab755fe20ed841eb2d39da8417a044f592b1d85e10af56944d5646116 SHA512 c3e9abb4ea5ee49d5ee6d60a452fb9a2d014d57dc1be544d433cca998f3602d66367486b2c12fe4ed331d686f427f8aeb1f7d6ae43d019c063d64d17b5569261
110 +DIST firefox-91.6.0esr-szl.xpi 509822 BLAKE2B b0107d58a9671a026cdb8b6c326f3114e20f40d779a2f0ef89dc4d5c63b2107f0b44a3b972f205655f6885210491d1e1a201132e3aba3e007d91b24b8f2272ad SHA512 caa73177467c0339cad2bf6d77eb41b8ffaba913b2fda8508263f1fc8a84cda3d61ab324fa31ea53ba3459d66aacbb2b2fdd44f27cb67d1a080e74b89b4a9cd9
111 +DIST firefox-91.6.0esr-ta.xpi 513807 BLAKE2B aee33be417b769c97c91942f2b210ddf787d5379f39789b18d1d66a1c630683e274e736582cc0a7a98c0b8936db778e0460539f8a1bd001f656fccecd27843c4 SHA512 3e99afe3913e6f359c4c2c9de41eba16ba26ebc4e6c049675cf495209fb48f45727c12508a6282b18316be2c1d9b33ec9e07c4d7b45926de501f2efa8bc086d3
112 +DIST firefox-91.6.0esr-te.xpi 549964 BLAKE2B d0754ef17ec722750d248ed9581f619e6b7ec7204f971403855c8569a86dfdddb3011cc4cc13c9b189bbb811d8b616318a1d34d05179ebd84c8288cee5c5f9c1 SHA512 5342e6fe1ff887c0be819353671284d1eed06cb756b7c3d7be542976e9bb6eb91d765ab3228c222127e7d27399b1836ecf9f90c48388fc8c2731b1601dc4fa8a
113 +DIST firefox-91.6.0esr-th.xpi 607073 BLAKE2B 5e8cdf6ad619d7abef8a35b23b0424f1af9adb8057971eb6c328c103a35f4167522ffdf27ad3d5d42d353c663f5fca6400685e006d5ac28368bdfbb7a379feea SHA512 6b0bb6e4897e4605273928437ae702d26ddfd06351fa39d7f7bc368a4ca5d4dd6ce04563866c9aba813005044fb8d57722909c58d781bd240da671e8b7d78652
114 +DIST firefox-91.6.0esr-tl.xpi 516126 BLAKE2B 74d9ecd964ddd729c1a4264eee3a859977219195b030770e112c5d714b669b104889274ddaa11f96676b7a845e21c4d318d0cfcdd317c7a40a8441fa7e465ef9 SHA512 36bbd4f497bea11a8bfae4b696a30d3fcddf0a89db8a74a3827fbc0fed9ce777d12b9ddf5f11de153307816229f94d79cd3174975ac2a4fac78df2e7a1fd8821
115 +DIST firefox-91.6.0esr-tr.xpi 553670 BLAKE2B b884fcb83c1f454394f8e5c1724c3ea8ade7a6962bd7427236ad0c7781f4d20faeda8afc2fed125091069429da4ac45e7ca5d9f01be789e9bb0db7ef7f9615e1 SHA512 f8f3c31380a093d389ae5cb0a7fb2ea3877cd13878973f86cda787e3d58035f4c1ea6aaf1774899f3bf69a6d27dc7c8dc86fd5ab8159b1efcfb1e861d5232f66
116 +DIST firefox-91.6.0esr-trs.xpi 491087 BLAKE2B b84f6e0fb279acbe37ad7a2c671ad409778fbf7360c6a5270eb84c823172e206cce38817d43d8d47305721d8519442480a57e286cb094ad48a2b0eb702c2d8ad SHA512 1175bf2baf43f8768b54b501032f4fbb3f56e93e5f9d05b9b859e1eda6dcf8dc3e153f17ec3d31610de902f23d43898641417d1e8e2559ea34964d40b57e8eb2
117 +DIST firefox-91.6.0esr-uk.xpi 620502 BLAKE2B bd3b9a21375c94cf7b5f8e9cbf250612ff9dc2bb662791f2dfd2d3abfd8ed8d525a30226817e0b875015091640f94352e3e4130c4876754ce20fdb2a77126450 SHA512 8a905f243b38672e9e12a287a4081f37d826e2f0bf274dcfde9b6f21e1a2a2ab3624d3ce6b3dd2a764c03cbddd3d609475c1514a20e191f75adcc8b7e9256d06
118 +DIST firefox-91.6.0esr-ur.xpi 557316 BLAKE2B 3095918aefc05c8c43b1cd595428f1e0e541d8c2b2a201b19ac91edb8bdc78be29592cede212fb26931341a92fcadb45398b0507f301fdb69ac66ff290c8f051 SHA512 05297f948b035c3c565daf39ed2b3d4576bed31dd035d66b541b87f155b310e2142410aa910a6c5beb05a7fbd4d78da103db1ae01f03de5f5bb80bfc0589939d
119 +DIST firefox-91.6.0esr-uz.xpi 466861 BLAKE2B 3998495cb5d93ecdfe1ffd7e726befceb70fd57a7bc9fd99dc62604146351c8308ce4f1ef6555387d55d5b4285b2a07fecc41e317081135bb2cd7b92eea14980 SHA512 7744e59eed7465a6074e6b8785146e427ea82ee10f37301dc1aecf0fd9eb6f6475f7f3243413350975ea99946944762805106ddc8e3077d3f136b344cdcc6179
120 +DIST firefox-91.6.0esr-vi.xpi 573490 BLAKE2B fd1a3db78b8ce5bb93e83a789affe722570206a29b1b7da60b0ffe0b4323d4b6c0ec5402d857fc90cf5c94ac9d301759ae8ba596391884e600ee493ec2557a03 SHA512 b0fdc313da1eac6aba4b56eb240472d34f9fd03e819ddf4058b442ca90014c473588cb0c63df6286d5b6a10de94abde1b59c0626656a4908af297ddccd91a3f5
121 +DIST firefox-91.6.0esr-xh.xpi 428179 BLAKE2B 3f3480f844684dc681961e390cdf02cc6fef238a963aa241eb8745f7c8ed483593a9cbfda9019cba40340180027c19d8524ae509564e3e3dc7633f4c4c76e8db SHA512 e43e2b8502a1efd82d658b3d2cd559b5f624dafbbf7b5a327f9689fae0bc4db716e2eb5739890e8eaa18c8ae3c806420872078da8969960e48c515dd90de21f3
122 +DIST firefox-91.6.0esr-zh-CN.xpi 575379 BLAKE2B 081ca8ec51d6da8357ee7fb4ee1f3f66b7f2084c177a5c2c94d8de06cd2a5399bb4f3d66f4c4ca557c0b5c6df31f520856b13f141757dae2cacb7112fb431429 SHA512 6a770336e06755b77006542151d748a482876b112e91307d98b06585e846a54889ba6957d409b6a68981be419dd1798fb2961d09a638186cc047f5b4536c125c
123 +DIST firefox-91.6.0esr-zh-TW.xpi 576228 BLAKE2B a04e5857e6ff2707a1000fb554a4e2ee78cb02ea4c158b375872a77e1e938c1f4b9598c576b32f8ba38b96c279708b2885ce6300a566773171d3ee26e4dc687d SHA512 58d462c901bb5a892eb3f6924cf6ce9cd6a6d140b0ec47973981bb731c8e7f98dab1ac3f9d6d59a32d8c00bcdb394f5a3236e346fcc408abb5924198d7d8f9d8
124 +DIST firefox-91.6.0esr.source.tar.xz 386869628 BLAKE2B d06496790b1421db2e0d9419ad29cc44b53b4140b85efedb8fc16e61c4e2320eb85441fae2af3678cd8f15f04890cb0d156bcc79a324e56eafcf3a61530aefb2 SHA512 3dd1929f93cdd087a93fc3597f32d9005c986b59832954e01a8c2472b179c92ad611eaa73d3fc000a08b838a0b70da73ff5ba82d6009160655ba6894cf04520e
125 DIST firefox-91esr-patches-04.tar.xz 17460 BLAKE2B 305d8b0bc8a4115a76e459afd8bc7987bdde2e76d4564faf664a92a4c6a95c975ce599c5ddde9bdafc3c37ca5c8758e0ef815364d0ce4dd5fd452ddae73a77eb SHA512 6073b31bb898fe61d72435b11deacb5e93a1744227e4704bb3012e0cb363792f3a965d72e7769c4aae3a25f0c81247b287ce145c81bbd0a87470a5438fede11e
126 DIST firefox-96-patches-03j.tar.xz 17128 BLAKE2B 1da0bfd0f85ec11f2ca3fbc053f0a11c2c434159b96e832997ad58df95587985a69ac8e3c7930ab212733a8166fac4b74f529c6cb4cb54e5b67380d9f040edc8 SHA512 88c33c2a8a1cdf65b3e7c458bc93465bd1c9aa71327617f234a76e63e9cb3c78bec25f8a171e3240692e3a50997a579593f3f21028fd8402b530ee52c8d886aa
127 DIST firefox-96.0.3-ach.xpi 452228 BLAKE2B d23eba2f4715d101bf2ecf8dab0c46bc44a80c1090645cfd2a09864293abc6fd2000b8c018f6cf6cb290795c4338ca16252aee8b9cb85ca422016a82ff817d7c SHA512 887f910a26ccf94be836b8f031b21a275b4791d64c33e6a0c0a7786a2961a336ec9bb0d3590003fc9c394e78a1fcfb0d048a4954b39bbc5ac08e04fbe53c501d
128
129 diff --git a/www-client/firefox/firefox-91.6.0.ebuild b/www-client/firefox/firefox-91.6.0.ebuild
130 new file mode 100644
131 index 000000000000..e99253141e4b
132 --- /dev/null
133 +++ b/www-client/firefox/firefox-91.6.0.ebuild
134 @@ -0,0 +1,1240 @@
135 +# Copyright 1999-2022 Gentoo Authors
136 +# Distributed under the terms of the GNU General Public License v2
137 +
138 +EAPI="7"
139 +
140 +FIREFOX_PATCHSET="firefox-91esr-patches-04.tar.xz"
141 +
142 +LLVM_MAX_SLOT=13
143 +
144 +PYTHON_COMPAT=( python3_{8..10} )
145 +PYTHON_REQ_USE="ncurses,sqlite,ssl"
146 +
147 +WANT_AUTOCONF="2.1"
148 +
149 +VIRTUALX_REQUIRED="pgo"
150 +
151 +MOZ_ESR=yes
152 +
153 +MOZ_PV=${PV}
154 +MOZ_PV_SUFFIX=
155 +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
156 + MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
157 +
158 + # Convert the ebuild version to the upstream Mozilla version
159 + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
160 + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
161 + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
162 +fi
163 +
164 +if [[ -n ${MOZ_ESR} ]] ; then
165 + # ESR releases have slightly different version numbers
166 + MOZ_PV="${MOZ_PV}esr"
167 +fi
168 +
169 +MOZ_PN="${PN%-bin}"
170 +MOZ_P="${MOZ_PN}-${MOZ_PV}"
171 +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
172 +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
173 +
174 +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
175 + llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
176 + virtualx xdg
177 +
178 +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
179 +
180 +if [[ ${PV} == *_rc* ]] ; then
181 + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
182 +fi
183 +
184 +PATCH_URIS=(
185 + https://dev.gentoo.org/~{juippis,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
186 +)
187 +
188 +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
189 + ${PATCH_URIS[@]}"
190 +
191 +DESCRIPTION="Firefox Web Browser"
192 +HOMEPAGE="https://www.mozilla.com/firefox"
193 +
194 +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
195 +
196 +SLOT="esr"
197 +LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
198 +
199 +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
200 +IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux"
201 +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png +system-webp"
202 +IUSE+=" wayland wifi"
203 +
204 +# Firefox-only IUSE
205 +IUSE+=" geckodriver"
206 +IUSE+=" +gmp-autoupdate"
207 +IUSE+=" screencast"
208 +
209 +REQUIRED_USE="debug? ( !system-av1 )
210 + pgo? ( lto )
211 + wifi? ( dbus )"
212 +
213 +# Firefox-only REQUIRED_USE flags
214 +REQUIRED_USE+=" screencast? ( wayland )"
215 +
216 +BDEPEND="${PYTHON_DEPS}
217 + app-arch/unzip
218 + app-arch/zip
219 + >=dev-util/cbindgen-0.19.0
220 + >=net-libs/nodejs-10.23.1
221 + virtual/pkgconfig
222 + >=virtual/rust-1.51.0
223 + || (
224 + (
225 + sys-devel/clang:13
226 + sys-devel/llvm:13
227 + clang? (
228 + =sys-devel/lld-13*
229 + pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
230 + )
231 + )
232 + (
233 + sys-devel/clang:12
234 + sys-devel/llvm:12
235 + clang? (
236 + =sys-devel/lld-12*
237 + pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
238 + )
239 + )
240 + (
241 + sys-devel/clang:11
242 + sys-devel/llvm:11
243 + clang? (
244 + =sys-devel/lld-11*
245 + pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
246 + )
247 + )
248 + )
249 + amd64? ( >=dev-lang/nasm-2.13 )
250 + x86? ( >=dev-lang/nasm-2.13 )"
251 +
252 +COMMON_DEPEND="
253 + >=dev-libs/nss-3.68
254 + >=dev-libs/nspr-4.32
255 + dev-libs/atk
256 + dev-libs/expat
257 + >=x11-libs/cairo-1.10[X]
258 + >=x11-libs/gtk+-3.4.0:3[X]
259 + x11-libs/gdk-pixbuf
260 + >=x11-libs/pango-1.22.0
261 + >=media-libs/mesa-10.2:*
262 + media-libs/fontconfig
263 + >=media-libs/freetype-2.4.10
264 + kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
265 + virtual/freedesktop-icon-theme
266 + >=x11-libs/pixman-0.19.2
267 + >=dev-libs/glib-2.26:2
268 + >=sys-libs/zlib-1.2.3
269 + >=dev-libs/libffi-3.0.10:=
270 + media-video/ffmpeg
271 + x11-libs/libX11
272 + x11-libs/libxcb
273 + x11-libs/libXcomposite
274 + x11-libs/libXdamage
275 + x11-libs/libXext
276 + x11-libs/libXfixes
277 + x11-libs/libXrender
278 + x11-libs/libXt
279 + dbus? (
280 + sys-apps/dbus
281 + dev-libs/dbus-glib
282 + )
283 + screencast? ( media-video/pipewire:= )
284 + system-av1? (
285 + >=media-libs/dav1d-0.8.1:=
286 + >=media-libs/libaom-1.0.0:=
287 + )
288 + system-harfbuzz? (
289 + >=media-libs/harfbuzz-2.8.1:0=
290 + >=media-gfx/graphite2-1.3.13
291 + )
292 + system-icu? ( >=dev-libs/icu-69.1:= )
293 + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
294 + system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
295 + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
296 + system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
297 + system-webp? ( >=media-libs/libwebp-1.1.0:0= )
298 + wifi? (
299 + kernel_linux? (
300 + sys-apps/dbus
301 + dev-libs/dbus-glib
302 + net-misc/networkmanager
303 + )
304 + )
305 + jack? ( virtual/jack )
306 + selinux? ( sec-policy/selinux-mozilla )
307 + sndio? ( media-sound/sndio )"
308 +
309 +RDEPEND="${COMMON_DEPEND}
310 + !www-client/firefox:0
311 + !www-client/firefox:rapid
312 + jack? ( virtual/jack )
313 + openh264? ( media-libs/openh264:*[plugin] )
314 + pulseaudio? (
315 + || (
316 + media-sound/pulseaudio
317 + >=media-sound/apulse-0.1.12-r4
318 + )
319 + )
320 + selinux? ( sec-policy/selinux-mozilla )"
321 +
322 +DEPEND="${COMMON_DEPEND}
323 + x11-libs/libICE
324 + x11-libs/libSM
325 + pulseaudio? (
326 + || (
327 + media-sound/pulseaudio
328 + >=media-sound/apulse-0.1.12-r4[sdk]
329 + )
330 + )
331 + wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
332 + amd64? ( virtual/opengl )
333 + x86? ( virtual/opengl )"
334 +
335 +S="${WORKDIR}/${PN}-${PV%_*}"
336 +
337 +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
338 +# overridden in the enviromnent (advanced hackers only)
339 +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
340 + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
341 +fi
342 +
343 +llvm_check_deps() {
344 + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
345 + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
346 + return 1
347 + fi
348 +
349 + if use clang ; then
350 + if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
351 + einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
352 + return 1
353 + fi
354 +
355 + if use pgo ; then
356 + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
357 + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
358 + return 1
359 + fi
360 + fi
361 + fi
362 +
363 + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
364 +}
365 +
366 +MOZ_LANGS=(
367 + af ar ast be bg br ca cak cs cy da de dsb
368 + el en-CA en-GB en-US es-AR es-ES et eu
369 + fi fr fy-NL ga-IE gd gl he hr hsb hu
370 + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
371 + pa-IN pl pt-BR pt-PT rm ro ru
372 + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
373 +)
374 +
375 +# Firefox-only LANGS
376 +MOZ_LANGS+=( ach )
377 +MOZ_LANGS+=( an )
378 +MOZ_LANGS+=( az )
379 +MOZ_LANGS+=( bn )
380 +MOZ_LANGS+=( bs )
381 +MOZ_LANGS+=( ca-valencia )
382 +MOZ_LANGS+=( eo )
383 +MOZ_LANGS+=( es-CL )
384 +MOZ_LANGS+=( es-MX )
385 +MOZ_LANGS+=( fa )
386 +MOZ_LANGS+=( ff )
387 +MOZ_LANGS+=( gn )
388 +MOZ_LANGS+=( gu-IN )
389 +MOZ_LANGS+=( hi-IN )
390 +MOZ_LANGS+=( hy-AM )
391 +MOZ_LANGS+=( ia )
392 +MOZ_LANGS+=( km )
393 +MOZ_LANGS+=( kn )
394 +MOZ_LANGS+=( lij )
395 +MOZ_LANGS+=( mk )
396 +MOZ_LANGS+=( mr )
397 +MOZ_LANGS+=( my )
398 +MOZ_LANGS+=( ne-NP )
399 +MOZ_LANGS+=( oc )
400 +MOZ_LANGS+=( sco )
401 +MOZ_LANGS+=( si )
402 +MOZ_LANGS+=( son )
403 +MOZ_LANGS+=( szl )
404 +MOZ_LANGS+=( ta )
405 +MOZ_LANGS+=( te )
406 +MOZ_LANGS+=( tl )
407 +MOZ_LANGS+=( trs )
408 +MOZ_LANGS+=( ur )
409 +MOZ_LANGS+=( xh )
410 +
411 +mozilla_set_globals() {
412 + # https://bugs.gentoo.org/587334
413 + local MOZ_TOO_REGIONALIZED_FOR_L10N=(
414 + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
415 + )
416 +
417 + local lang xflag
418 + for lang in "${MOZ_LANGS[@]}" ; do
419 + # en and en_US are handled internally
420 + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
421 + continue
422 + fi
423 +
424 + # strip region subtag if $lang is in the list
425 + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
426 + xflag=${lang%%-*}
427 + else
428 + xflag=${lang}
429 + fi
430 +
431 + SRC_URI+=" l10n_${xflag/[_@]/-}? ("
432 + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
433 + SRC_URI+=" )"
434 + IUSE+=" l10n_${xflag/[_@]/-}"
435 + done
436 +}
437 +mozilla_set_globals
438 +
439 +moz_clear_vendor_checksums() {
440 + debug-print-function ${FUNCNAME} "$@"
441 +
442 + if [[ ${#} -ne 1 ]] ; then
443 + die "${FUNCNAME} requires exact one argument"
444 + fi
445 +
446 + einfo "Clearing cargo checksums for ${1} ..."
447 +
448 + sed -i \
449 + -e 's/\("files":{\)[^}]*/\1/' \
450 + "${S}"/third_party/rust/${1}/.cargo-checksum.json \
451 + || die
452 +}
453 +
454 +moz_install_xpi() {
455 + debug-print-function ${FUNCNAME} "$@"
456 +
457 + if [[ ${#} -lt 2 ]] ; then
458 + die "${FUNCNAME} requires at least two arguments"
459 + fi
460 +
461 + local DESTDIR=${1}
462 + shift
463 +
464 + insinto "${DESTDIR}"
465 +
466 + local emid xpi_file xpi_tmp_dir
467 + for xpi_file in "${@}" ; do
468 + emid=
469 + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
470 +
471 + # Unpack XPI
472 + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
473 +
474 + # Determine extension ID
475 + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
476 + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
477 + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
478 + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
479 + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
480 + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
481 + else
482 + die "failed to determine extension id"
483 + fi
484 +
485 + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
486 + newins "${xpi_file}" "${emid}.xpi"
487 + done
488 +}
489 +
490 +mozconfig_add_options_ac() {
491 + debug-print-function ${FUNCNAME} "$@"
492 +
493 + if [[ ${#} -lt 2 ]] ; then
494 + die "${FUNCNAME} requires at least two arguments"
495 + fi
496 +
497 + local reason=${1}
498 + shift
499 +
500 + local option
501 + for option in ${@} ; do
502 + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
503 + done
504 +}
505 +
506 +mozconfig_add_options_mk() {
507 + debug-print-function ${FUNCNAME} "$@"
508 +
509 + if [[ ${#} -lt 2 ]] ; then
510 + die "${FUNCNAME} requires at least two arguments"
511 + fi
512 +
513 + local reason=${1}
514 + shift
515 +
516 + local option
517 + for option in ${@} ; do
518 + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
519 + done
520 +}
521 +
522 +mozconfig_use_enable() {
523 + debug-print-function ${FUNCNAME} "$@"
524 +
525 + if [[ ${#} -lt 1 ]] ; then
526 + die "${FUNCNAME} requires at least one arguments"
527 + fi
528 +
529 + local flag=$(use_enable "${@}")
530 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
531 +}
532 +
533 +mozconfig_use_with() {
534 + debug-print-function ${FUNCNAME} "$@"
535 +
536 + if [[ ${#} -lt 1 ]] ; then
537 + die "${FUNCNAME} requires at least one arguments"
538 + fi
539 +
540 + local flag=$(use_with "${@}")
541 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
542 +}
543 +
544 +pkg_pretend() {
545 + if [[ ${MERGE_TYPE} != binary ]] ; then
546 + if use pgo ; then
547 + if ! has usersandbox $FEATURES ; then
548 + die "You must enable usersandbox as X server can not run as root!"
549 + fi
550 + fi
551 +
552 + # Ensure we have enough disk space to compile
553 + if use pgo || use lto || use debug ; then
554 + CHECKREQS_DISK_BUILD="13500M"
555 + else
556 + CHECKREQS_DISK_BUILD="6400M"
557 + fi
558 +
559 + check-reqs_pkg_pretend
560 + fi
561 +}
562 +
563 +pkg_setup() {
564 + if [[ ${MERGE_TYPE} != binary ]] ; then
565 + if use pgo ; then
566 + if ! has userpriv ${FEATURES} ; then
567 + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
568 + fi
569 + fi
570 +
571 + # Ensure we have enough disk space to compile
572 + if use pgo || use lto || use debug ; then
573 + CHECKREQS_DISK_BUILD="13500M"
574 + else
575 + CHECKREQS_DISK_BUILD="6400M"
576 + fi
577 +
578 + check-reqs_pkg_setup
579 +
580 + llvm_pkg_setup
581 +
582 + if use clang && use lto ; then
583 + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
584 + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
585 + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
586 +
587 + # temp fix for https://bugs.gentoo.org/768543
588 + # we can assume that rust 1.{49,50}.0 always uses llvm 11
589 + local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
590 + [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
591 + [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
592 +
593 + if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
594 + local version_llvm_rust="11"
595 + else
596 + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
597 + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
598 + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
599 + fi
600 +
601 + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
602 + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
603 + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
604 + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
605 + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
606 + eerror " - Build ${CATEGORY}/${PN} without USE=lto"
607 + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
608 + fi
609 + fi
610 +
611 + if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
612 + && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
613 + # bug 792705
614 + eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
615 + die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
616 + fi
617 +
618 + python-any-r1_pkg_setup
619 +
620 + # Avoid PGO profiling problems due to enviroment leakage
621 + # These should *always* be cleaned up anyway
622 + unset \
623 + DBUS_SESSION_BUS_ADDRESS \
624 + DISPLAY \
625 + ORBIT_SOCKETDIR \
626 + SESSION_MANAGER \
627 + XAUTHORITY \
628 + XDG_CACHE_HOME \
629 + XDG_SESSION_COOKIE
630 +
631 + # Build system is using /proc/self/oom_score_adj, bug #604394
632 + addpredict /proc/self/oom_score_adj
633 +
634 + if use pgo ; then
635 + # Allow access to GPU during PGO run
636 + local ati_cards mesa_cards nvidia_cards render_cards
637 + shopt -s nullglob
638 +
639 + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
640 + if [[ -n "${ati_cards}" ]] ; then
641 + addpredict "${ati_cards}"
642 + fi
643 +
644 + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
645 + if [[ -n "${mesa_cards}" ]] ; then
646 + addpredict "${mesa_cards}"
647 + fi
648 +
649 + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
650 + if [[ -n "${nvidia_cards}" ]] ; then
651 + addpredict "${nvidia_cards}"
652 + fi
653 +
654 + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
655 + if [[ -n "${render_cards}" ]] ; then
656 + addpredict "${render_cards}"
657 + fi
658 +
659 + shopt -u nullglob
660 + fi
661 +
662 + if ! mountpoint -q /dev/shm ; then
663 + # If /dev/shm is not available, configure is known to fail with
664 + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
665 + ewarn "/dev/shm is not mounted -- expect build failures!"
666 + fi
667 +
668 + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
669 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
670 + # get your own set of keys.
671 + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
672 + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
673 + fi
674 +
675 + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
676 + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
677 + fi
678 +
679 + # Mozilla API keys (see https://location.services.mozilla.com/api)
680 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
681 + # get your own set of keys.
682 + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
683 + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
684 + fi
685 +
686 + # Ensure we use C locale when building, bug #746215
687 + export LC_ALL=C
688 + fi
689 +
690 + CONFIG_CHECK="~SECCOMP"
691 + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
692 + linux-info_pkg_setup
693 +}
694 +
695 +src_unpack() {
696 + local _lp_dir="${WORKDIR}/language_packs"
697 + local _src_file
698 +
699 + if [[ ! -d "${_lp_dir}" ]] ; then
700 + mkdir "${_lp_dir}" || die
701 + fi
702 +
703 + for _src_file in ${A} ; do
704 + if [[ ${_src_file} == *.xpi ]]; then
705 + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
706 + else
707 + unpack ${_src_file}
708 + fi
709 + done
710 +}
711 +
712 +src_prepare() {
713 + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
714 + eapply "${WORKDIR}/firefox-patches"
715 +
716 + # Allow user to apply any additional patches without modifing ebuild
717 + eapply_user
718 +
719 + # Make cargo respect MAKEOPTS
720 + export CARGO_BUILD_JOBS="$(makeopts_jobs)"
721 +
722 + # Make LTO respect MAKEOPTS
723 + sed -i \
724 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
725 + "${S}"/build/moz.configure/lto-pgo.configure \
726 + || die "sed failed to set num_cores"
727 +
728 + # Make ICU respect MAKEOPTS
729 + sed -i \
730 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
731 + "${S}"/intl/icu_sources_data.py \
732 + || die "sed failed to set num_cores"
733 +
734 + # sed-in toolchain prefix
735 + sed -i \
736 + -e "s/objdump/${CHOST}-objdump/" \
737 + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
738 + || die "sed failed to set toolchain prefix"
739 +
740 + sed -i \
741 + -e 's/ccache_stats = None/return None/' \
742 + "${S}"/python/mozbuild/mozbuild/controller/building.py \
743 + || die "sed failed to disable ccache stats call"
744 +
745 + einfo "Removing pre-built binaries ..."
746 + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
747 +
748 + # Clearing checksums where we have applied patches
749 + moz_clear_vendor_checksums target-lexicon-0.9.0
750 +
751 + # Create build dir
752 + BUILD_DIR="${WORKDIR}/${PN}_build"
753 + mkdir -p "${BUILD_DIR}" || die
754 +
755 + # Write API keys to disk
756 + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
757 + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
758 + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
759 +
760 + xdg_src_prepare
761 +}
762 +
763 +src_configure() {
764 + # Show flags set at the beginning
765 + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
766 + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
767 + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
768 + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
769 + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
770 +
771 + local have_switched_compiler=
772 + if use clang && ! tc-is-clang ; then
773 + # Force clang
774 + einfo "Enforcing the use of clang due to USE=clang ..."
775 + have_switched_compiler=yes
776 + AR=llvm-ar
777 + CC=${CHOST}-clang
778 + CXX=${CHOST}-clang++
779 + NM=llvm-nm
780 + RANLIB=llvm-ranlib
781 + elif ! use clang && ! tc-is-gcc ; then
782 + # Force gcc
783 + have_switched_compiler=yes
784 + einfo "Enforcing the use of gcc due to USE=-clang ..."
785 + AR=gcc-ar
786 + CC=${CHOST}-gcc
787 + CXX=${CHOST}-g++
788 + NM=gcc-nm
789 + RANLIB=gcc-ranlib
790 + fi
791 +
792 + if [[ -n "${have_switched_compiler}" ]] ; then
793 + # Because we switched active compiler we have to ensure
794 + # that no unsupported flags are set
795 + strip-unsupported-flags
796 + fi
797 +
798 + # Ensure we use correct toolchain
799 + export HOST_CC="$(tc-getBUILD_CC)"
800 + export HOST_CXX="$(tc-getBUILD_CXX)"
801 + tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
802 +
803 + # Pass the correct toolchain paths through cbindgen
804 + if tc-is-cross-compiler ; then
805 + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
806 + fi
807 +
808 + # Set MOZILLA_FIVE_HOME
809 + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
810 +
811 + # python/mach/mach/mixin/process.py fails to detect SHELL
812 + export SHELL="${EPREFIX}/bin/bash"
813 +
814 + # Set state path
815 + export MOZBUILD_STATE_PATH="${BUILD_DIR}"
816 +
817 + # Set MOZCONFIG
818 + export MOZCONFIG="${S}/.mozconfig"
819 +
820 + # Initialize MOZCONFIG
821 + mozconfig_add_options_ac '' --enable-application=browser
822 +
823 + # Set Gentoo defaults
824 + export MOZILLA_OFFICIAL=1
825 +
826 + mozconfig_add_options_ac 'Gentoo default' \
827 + --allow-addon-sideload \
828 + --disable-cargo-incremental \
829 + --disable-crashreporter \
830 + --disable-install-strip \
831 + --disable-strip \
832 + --disable-updater \
833 + --enable-official-branding \
834 + --enable-release \
835 + --enable-system-ffi \
836 + --enable-system-pixman \
837 + --host="${CBUILD:-${CHOST}}" \
838 + --libdir="${EPREFIX}/usr/$(get_libdir)" \
839 + --prefix="${EPREFIX}/usr" \
840 + --target="${CHOST}" \
841 + --without-ccache \
842 + --with-intl-api \
843 + --with-libclang-path="$(llvm-config --libdir)" \
844 + --with-system-nspr \
845 + --with-system-nss \
846 + --with-system-zlib \
847 + --with-toolchain-prefix="${CHOST}-" \
848 + --with-unsigned-addon-scopes=app,system \
849 + --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
850 + --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
851 +
852 + # Set update channel
853 + local update_channel=release
854 + [[ -n ${MOZ_ESR} ]] && update_channel=esr
855 + mozconfig_add_options_ac '' --update-channel=${update_channel}
856 +
857 + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
858 + mozconfig_add_options_ac '' --enable-rust-simd
859 + fi
860 +
861 + if [[ -s "${S}/api-google.key" ]] ; then
862 + local key_origin="Gentoo default"
863 + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
864 + key_origin="User value"
865 + fi
866 +
867 + mozconfig_add_options_ac "${key_origin}" \
868 + --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
869 + else
870 + einfo "Building without Google API key ..."
871 + fi
872 +
873 + if [[ -s "${S}/api-location.key" ]] ; then
874 + local key_origin="Gentoo default"
875 + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
876 + key_origin="User value"
877 + fi
878 +
879 + mozconfig_add_options_ac "${key_origin}" \
880 + --with-google-location-service-api-keyfile="${S}/api-location.key"
881 + else
882 + einfo "Building without Location API key ..."
883 + fi
884 +
885 + if [[ -s "${S}/api-mozilla.key" ]] ; then
886 + local key_origin="Gentoo default"
887 + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
888 + key_origin="User value"
889 + fi
890 +
891 + mozconfig_add_options_ac "${key_origin}" \
892 + --with-mozilla-api-keyfile="${S}/api-mozilla.key"
893 + else
894 + einfo "Building without Mozilla API key ..."
895 + fi
896 +
897 + mozconfig_use_with system-av1
898 + mozconfig_use_with system-harfbuzz
899 + mozconfig_use_with system-harfbuzz system-graphite2
900 + mozconfig_use_with system-icu
901 + mozconfig_use_with system-jpeg
902 + mozconfig_use_with system-libevent system-libevent "${SYSROOT}${EPREFIX}/usr"
903 + mozconfig_use_with system-libvpx
904 + mozconfig_use_with system-png
905 + mozconfig_use_with system-webp
906 +
907 + mozconfig_use_enable dbus
908 +
909 + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
910 +
911 + mozconfig_use_enable geckodriver
912 +
913 + if use hardened ; then
914 + mozconfig_add_options_ac "+hardened" --enable-hardening
915 + append-ldflags "-Wl,-z,relro -Wl,-z,now"
916 + fi
917 +
918 + mozconfig_use_enable jack
919 +
920 + mozconfig_use_enable pulseaudio
921 + # force the deprecated alsa sound code if pulseaudio is disabled
922 + if use kernel_linux && ! use pulseaudio ; then
923 + mozconfig_add_options_ac '-pulseaudio' --enable-alsa
924 + fi
925 +
926 + mozconfig_use_enable sndio
927 +
928 + mozconfig_use_enable wifi necko-wifi
929 +
930 + if use wayland ; then
931 + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
932 + else
933 + mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
934 + fi
935 +
936 + if use lto ; then
937 + if use clang ; then
938 + # Upstream only supports lld when using clang
939 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
940 +
941 + mozconfig_add_options_ac '+lto' --enable-lto=cross
942 + else
943 + # ld.gold is known to fail:
944 + # /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld.gold: internal error in set_xindex, at /var/tmp/portage/sys-devel/binutils-2.37_p1-r1/work/binutils-2.37/gold/object.h:1050
945 +
946 + # ThinLTO is currently broken, see bmo#1644409
947 + mozconfig_add_options_ac '+lto' --enable-lto=full
948 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
949 + fi
950 +
951 + if use pgo ; then
952 + mozconfig_add_options_ac '+pgo' MOZ_PGO=1
953 +
954 + if use clang ; then
955 + # Used in build/pgo/profileserver.py
956 + export LLVM_PROFDATA="llvm-profdata"
957 + fi
958 + fi
959 + else
960 + # Avoid auto-magic on linker
961 + if use clang ; then
962 + # This is upstream's default
963 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
964 + else
965 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
966 + fi
967 + fi
968 +
969 + # LTO flag was handled via configure
970 + filter-flags '-flto*'
971 +
972 + mozconfig_use_enable debug
973 + if use debug ; then
974 + mozconfig_add_options_ac '+debug' --disable-optimize
975 + else
976 + if is-flag '-g*' ; then
977 + if use clang ; then
978 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
979 + else
980 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
981 + fi
982 + else
983 + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
984 + fi
985 +
986 + if is-flag '-O0' ; then
987 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
988 + elif is-flag '-O4' ; then
989 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
990 + elif is-flag '-O3' ; then
991 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
992 + elif is-flag '-O1' ; then
993 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
994 + elif is-flag '-Os' ; then
995 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
996 + else
997 + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
998 + fi
999 + fi
1000 +
1001 + # Debug flag was handled via configure
1002 + filter-flags '-g*'
1003 +
1004 + # Optimization flag was handled via configure
1005 + filter-flags '-O*'
1006 +
1007 + # Modifications to better support ARM, bug #553364
1008 + if use cpu_flags_arm_neon ; then
1009 + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
1010 +
1011 + if ! tc-is-clang ; then
1012 + # thumb options aren't supported when using clang, bug 666966
1013 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \
1014 + --with-thumb=yes \
1015 + --with-thumb-interwork=no
1016 + fi
1017 + fi
1018 +
1019 + if [[ ${CHOST} == armv*h* ]] ; then
1020 + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
1021 +
1022 + if ! use system-libvpx ; then
1023 + sed -i \
1024 + -e "s|softfp|hard|" \
1025 + "${S}"/media/libvpx/moz.build \
1026 + || die
1027 + fi
1028 + fi
1029 +
1030 + if use clang ; then
1031 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
1032 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
1033 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
1034 + local disable_elf_hack=
1035 + if use amd64 ; then
1036 + disable_elf_hack=yes
1037 + elif use x86 ; then
1038 + disable_elf_hack=yes
1039 + elif use arm ; then
1040 + disable_elf_hack=yes
1041 + fi
1042 +
1043 + if [[ -n ${disable_elf_hack} ]] ; then
1044 + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
1045 + fi
1046 + elif tc-is-gcc ; then
1047 + if ver_test $(gcc-fullversion) -ge 10 ; then
1048 + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
1049 + append-cxxflags -fno-tree-loop-vectorize
1050 + fi
1051 + fi
1052 +
1053 + # Additional ARCH support
1054 + case "${ARCH}" in
1055 + arm)
1056 + # Reduce the memory requirements for linking
1057 + if use clang ; then
1058 + # Nothing to do
1059 + :;
1060 + elif tc-ld-is-gold || use lto ; then
1061 + append-ldflags -Wl,--no-keep-memory
1062 + else
1063 + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
1064 + fi
1065 + ;;
1066 + esac
1067 +
1068 + if ! use elibc_glibc ; then
1069 + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
1070 + fi
1071 +
1072 + # Allow elfhack to work in combination with unstripped binaries
1073 + # when they would normally be larger than 2GiB.
1074 + append-ldflags "-Wl,--compress-debug-sections=zlib"
1075 +
1076 + # Make revdep-rebuild.sh happy; Also required for musl
1077 + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
1078 +
1079 + # Pass $MAKEOPTS to build system
1080 + export MOZ_MAKE_FLAGS="${MAKEOPTS}"
1081 +
1082 + # Use system's Python environment
1083 + export MACH_USE_SYSTEM_PYTHON=1
1084 + export PIP_NO_CACHE_DIR=off
1085 +
1086 + # Disable notification when build system has finished
1087 + export MOZ_NOSPAM=1
1088 +
1089 + # Portage sets XARGS environment variable to "xargs -r" by default which
1090 + # breaks build system's check_prog() function which doesn't support arguments
1091 + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
1092 +
1093 + # Set build dir
1094 + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
1095 +
1096 + # Show flags we will use
1097 + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
1098 + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
1099 + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
1100 + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
1101 + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
1102 +
1103 + # Handle EXTRA_CONF and show summary
1104 + local ac opt hash reason
1105 +
1106 + # Apply EXTRA_ECONF entries to $MOZCONFIG
1107 + if [[ -n ${EXTRA_ECONF} ]] ; then
1108 + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
1109 + for opt in "${ac[@]}"; do
1110 + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
1111 + done
1112 + fi
1113 +
1114 + echo
1115 + echo "=========================================================="
1116 + echo "Building ${PF} with the following configuration"
1117 + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
1118 + [[ -z ${hash} || ${hash} == \# ]] \
1119 + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
1120 + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
1121 + done
1122 + echo "=========================================================="
1123 + echo
1124 +
1125 + ./mach configure || die
1126 +}
1127 +
1128 +src_compile() {
1129 + local virtx_cmd=
1130 +
1131 + if use pgo ; then
1132 + virtx_cmd=virtx
1133 +
1134 + # Reset and cleanup environment variables used by GNOME/XDG
1135 + gnome2_environment_reset
1136 +
1137 + addpredict /root
1138 + fi
1139 +
1140 + local -x GDK_BACKEND=x11
1141 +
1142 + ${virtx_cmd} ./mach build --verbose \
1143 + || die
1144 +}
1145 +
1146 +src_install() {
1147 + # xpcshell is getting called during install
1148 + pax-mark m \
1149 + "${BUILD_DIR}"/dist/bin/xpcshell \
1150 + "${BUILD_DIR}"/dist/bin/${PN} \
1151 + "${BUILD_DIR}"/dist/bin/plugin-container
1152 +
1153 + DESTDIR="${D}" ./mach install || die
1154 +
1155 + # Upstream cannot ship symlink but we can (bmo#658850)
1156 + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
1157 + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
1158 +
1159 + # Don't install llvm-symbolizer from sys-devel/llvm package
1160 + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
1161 + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
1162 + fi
1163 +
1164 + # Install policy (currently only used to disable application updates)
1165 + insinto "${MOZILLA_FIVE_HOME}/distribution"
1166 + newins "${FILESDIR}"/distribution.ini distribution.ini
1167 + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
1168 +
1169 + # Install system-wide preferences
1170 + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
1171 + insinto "${PREFS_DIR}"
1172 + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
1173 +
1174 + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
1175 +
1176 + # Set dictionary path to use system hunspell
1177 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
1178 + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
1179 + EOF
1180 +
1181 + # Force hwaccel prefs if USE=hwaccel is enabled
1182 + if use hwaccel ; then
1183 + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
1184 + >>"${GENTOO_PREFS}" \
1185 + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
1186 + fi
1187 +
1188 + if ! use gmp-autoupdate ; then
1189 + local plugin
1190 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1191 + einfo "Disabling auto-update for ${plugin} plugin ..."
1192 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
1193 + pref("media.${plugin}.autoupdate", false);
1194 + EOF
1195 + done
1196 + fi
1197 +
1198 + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
1199 + if use system-harfbuzz ; then
1200 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
1201 + sticky_pref("gfx.font_rendering.graphite.enabled", true);
1202 + EOF
1203 + fi
1204 +
1205 + # Install language packs
1206 + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
1207 + if [[ -n "${langpacks}" ]] ; then
1208 + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
1209 + fi
1210 +
1211 + # Install geckodriver
1212 + if use geckodriver ; then
1213 + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
1214 + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
1215 + exeinto "${MOZILLA_FIVE_HOME}"
1216 + doexe "${BUILD_DIR}"/dist/bin/geckodriver
1217 +
1218 + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
1219 + fi
1220 +
1221 + # Install icons
1222 + local icon_srcdir="${S}/browser/branding/official"
1223 + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
1224 +
1225 + insinto /usr/share/icons/hicolor/symbolic/apps
1226 + newins "${icon_symbolic_file}" ${PN}-symbolic.svg
1227 +
1228 + local icon size
1229 + for icon in "${icon_srcdir}"/default*.png ; do
1230 + size=${icon%.png}
1231 + size=${size##*/default}
1232 +
1233 + if [[ ${size} -eq 48 ]] ; then
1234 + newicon "${icon}" ${PN}.png
1235 + fi
1236 +
1237 + newicon -s ${size} "${icon}" ${PN}.png
1238 + done
1239 +
1240 + # Install menu
1241 + local app_name="Mozilla ${MOZ_PN^}"
1242 + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
1243 + local desktop_filename="${PN}.desktop"
1244 + local exec_command="${PN}"
1245 + local icon="${PN}"
1246 + local use_wayland="false"
1247 +
1248 + if use wayland ; then
1249 + use_wayland="true"
1250 + fi
1251 +
1252 + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
1253 +
1254 + sed -i \
1255 + -e "s:@NAME@:${app_name}:" \
1256 + -e "s:@EXEC@:${exec_command}:" \
1257 + -e "s:@ICON@:${icon}:" \
1258 + "${WORKDIR}/${PN}.desktop-template" \
1259 + || die
1260 +
1261 + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
1262 +
1263 + rm "${WORKDIR}/${PN}.desktop-template" || die
1264 +
1265 + # Install wrapper script
1266 + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
1267 + newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
1268 +
1269 + # Update wrapper
1270 + sed -i \
1271 + -e "s:@PREFIX@:${EPREFIX}/usr:" \
1272 + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
1273 + -e "s:@APULSELIB_DIR@:${apulselib}:" \
1274 + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
1275 + "${ED}/usr/bin/${PN}" \
1276 + || die
1277 +}
1278 +
1279 +pkg_preinst() {
1280 + xdg_pkg_preinst
1281 +
1282 + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
1283 + # does not need to be forced into the LD_LIBRARY_PATH
1284 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1285 + einfo "APULSE found; Generating library symlinks for sound support ..."
1286 + local lib
1287 + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
1288 + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
1289 + # A quickpkg rolled by hand will grab symlinks as part of the package,
1290 + # so we need to avoid creating them if they already exist.
1291 + if [[ ! -L ${lib##*/} ]] ; then
1292 + ln -s "${lib}" ${lib##*/} || die
1293 + fi
1294 + done
1295 + popd &>/dev/null || die
1296 + fi
1297 +}
1298 +
1299 +pkg_postinst() {
1300 + xdg_pkg_postinst
1301 +
1302 + if ! use gmp-autoupdate ; then
1303 + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
1304 + elog "installing into new profiles:"
1305 + local plugin
1306 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1307 + elog "\t ${plugin}"
1308 + done
1309 + elog
1310 + fi
1311 +
1312 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1313 + elog "Apulse was detected at merge time on this system and so it will always be"
1314 + elog "used for sound. If you wish to use pulseaudio instead please unmerge"
1315 + elog "media-sound/apulse."
1316 + elog
1317 + fi
1318 +
1319 + local show_doh_information
1320 + local show_normandy_information
1321 + local show_shortcut_information
1322 +
1323 + if [[ -z "${REPLACING_VERSIONS}" ]] ; then
1324 + # New install; Tell user that DoH is disabled by default
1325 + show_doh_information=yes
1326 + show_normandy_information=yes
1327 + show_shortcut_information=no
1328 + else
1329 + local replacing_version
1330 + for replacing_version in ${REPLACING_VERSIONS} ; do
1331 + if ver_test "${replacing_version}" -lt 91.0 ; then
1332 + # Tell user that we no longer install a shortcut
1333 + # per supported display protocol
1334 + show_shortcut_information=yes
1335 + fi
1336 + done
1337 + fi
1338 +
1339 + if [[ -n "${show_doh_information}" ]] ; then
1340 + elog
1341 + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
1342 + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
1343 + elog "DNS traffic to Cloudflare by default is not a good idea and applications"
1344 + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
1345 + elog "(\"Off by choice\") by default."
1346 + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
1347 + fi
1348 +
1349 + # bug 713782
1350 + if [[ -n "${show_normandy_information}" ]] ; then
1351 + elog
1352 + elog "Upstream operates a service named Normandy which allows Mozilla to"
1353 + elog "push changes for default settings or even install new add-ons remotely."
1354 + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
1355 + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
1356 + elog "concerns prevail, which is why we have switched off the use of this"
1357 + elog "service by default."
1358 + elog
1359 + elog "To re-enable this service set"
1360 + elog
1361 + elog " app.normandy.enabled=true"
1362 + elog
1363 + elog "in about:config."
1364 + fi
1365 +
1366 + if [[ -n "${show_shortcut_information}" ]] ; then
1367 + elog
1368 + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
1369 + elog "each supported display protocol. Instead we will only install"
1370 + elog "one generic Mozilla ${PN^} shortcut."
1371 + elog "If you still want to be able to select between running Mozilla ${PN^}"
1372 + elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
1373 + fi
1374 +}