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, 28 Jun 2022 19:42:01
Message-Id: 1656445249.89fbfbad7a014f439373e8d1467caa344b41d9dd.juippis@gentoo
1 commit: 89fbfbad7a014f439373e8d1467caa344b41d9dd
2 Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
3 AuthorDate: Tue Jun 28 19:40:49 2022 +0000
4 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
5 CommitDate: Tue Jun 28 19:40:49 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=89fbfbad
7
8 www-client/firefox: add 102.0
9
10 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
11
12 www-client/firefox/Manifest | 99 +++
13 www-client/firefox/firefox-102.0.ebuild | 1293 +++++++++++++++++++++++++++++++
14 2 files changed, 1392 insertions(+)
15
16 diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
17 index 380ccdcce582..a2943ee0594e 100644
18 --- a/www-client/firefox/Manifest
19 +++ b/www-client/firefox/Manifest
20 @@ -97,6 +97,105 @@ DIST firefox-101.0.1-xh.xpi 418659 BLAKE2B 520914da5263161b9f9480e455b584cc48f42
21 DIST firefox-101.0.1-zh-CN.xpi 567077 BLAKE2B d15b9f6881ac0198c90024fb8dbc3b1370b0e3858857732e49d72991aea2ff7b943c5c40fd2488230e857d0b9d41d25746691ce5ac86b90127a543e3a697b1c7 SHA512 848462ae18da62d79aa6163dcb0e53adb4ac0fe031a80dd1f3a0b943102060548682f8921b02431df552fd817bbd246bac5663e091762eb1ec040308f34fe639
22 DIST firefox-101.0.1-zh-TW.xpi 567655 BLAKE2B f6a05838f02d95ad9ce8d2bde6b3f1b0c106fc11dbbd17000dcd4bf4c799a1f822f538bdc5667ac1bc87de34ce576dbd2e462d7dc6170a04f19f6fa3ee214116 SHA512 22fa87260421895813f5b3269e8a320d24b4477bad5c6108d0b68f80afeaaea2d90d367c436a49d643523a00bffbdf4c570c7d5544d3e6f1977a1c5b0473b3b5
23 DIST firefox-101.0.1.source.tar.xz 486021240 BLAKE2B 8dce0083dc1fa7d9f04b1a87a02e6e171e19b18ddeab210a12940a4e582e8420aebaafb2fbbfcbfcadc36c2004a61b4a3a24b630838b3a7f146945ea735ec045 SHA512 435a7f6013582933e75c41e554a45beda30b5affd7d3ed7d2876026609ba7f17b2c20b507d9d0c9ce2379e335ec09b021257ba30ac55fabf02dca54b03ea70b4
24 +DIST firefox-102-patches-01j.tar.xz 32712 BLAKE2B 533c4a7ec9453dc12baf6dea1db8d988e3028d2824a52fc9124676db3bcadf814323f737b6ef17a33f2d618afea27dd9f45bc1ed011ca75f1be1c6415e118d87 SHA512 f0fbf378e103335d8a0afe6780f779ed33396bd2ab25000dac7f63a8409822ecbcef7ccb87560e97c495af332231f89d2aa0e39f2a151ee080853c2935b68e09
25 +DIST firefox-102.0-ach.xpi 443114 BLAKE2B 3084bf0515a7b0d744f28b2308e79302462861c890cf7eec40129e1b251fe9392412178a99b69a3ee1b479608f7687cf25dc7156916deecafee895a0867c8f9e SHA512 7eca63717fc6022332f77c5a2567b1b09f3ad2a94016e664487115d4ae326f1658b2834de01ca11969525b9d952256f66cf0a738d73548b485fb3432307f5267
26 +DIST firefox-102.0-af.xpi 408457 BLAKE2B 010b537aa482d4d2fe3b35ac8f07bf77e095501243b5e1395ee7a7c153db8a881af4e7eb3e57d9ca0ab274561a6a4ceb2b1fb167c2ef791cfb53c9829e014897 SHA512 705986d46b495e038cd6d4cc1a4f30f6ec1d5419cf840be459405e6aa505ede00960ff345d089bad68f53837d7f38d7a571c1e99728cf56b20c1b0fdba1753c5
27 +DIST firefox-102.0-an.xpi 486991 BLAKE2B 0e97c8aa2a96fb690378b555f115be30d0270d0fd064b3a78bc1fc1596e61c1b73656627630600ef35132dc83cc62bf96a269a49998484017fa41f394fa2b2de SHA512 2e682c8f58e475354b6e7f23462fef647bc779250290d6a1b7353304a045511e9dc7061b006dacefe5385da9ff622af4a71e988e45d3691a4a8f23c881bf4182
28 +DIST firefox-102.0-ar.xpi 550924 BLAKE2B 50d30d3c228177dcb9d38c4dd0cfe93c19038a3da7ac1053c6aee478eee978d51b0fa07eea7c8c9679f21bb93353162203b6c61ae56940039f6d71528e01dcb2 SHA512 355e1a9935613cc2a54ef9d5010625f3735ca2d22bb65448e95322d9c438ec0e8d459464b444eb1a38b0ad55af354b3a3af863aa72c096bdf5560ed7ba5cf29d
29 +DIST firefox-102.0-ast.xpi 483305 BLAKE2B cf69b322c3bd47b4ac778d0d7442ef89f6e7b2abe29e4118b30e8c8cfa8c5e459658647d8c29bab0fa7eb8a735f1ed12bb05a1002c19bc2d7fe0802be3be1081 SHA512 4a1fde7a7cf6f57e214047b52885068bb5ad3b8e9495f3663f3bf1d70f9a05a7d8f4f406c9515e7ff92dd66317130f7a64a588b1b3b9c6d8cb9c5f418573e00e
30 +DIST firefox-102.0-az.xpi 474703 BLAKE2B 7cf8edcb045f84264afea502cf3699c3115ca320a67d3bf99bcb5db0f266537b6c0673f1f78faa002c66d8a1821a526415bfc1d4e962a62ee1d52935870a79bf SHA512 52b5633860bcc877610a4730fc4aecaf7957bd1a78acbd0b20df035e04e8a3dc6462ad390a5442893a9019b123a8f89efde039ac0cf07234bf16f40fee2652e5
31 +DIST firefox-102.0-be.xpi 613475 BLAKE2B 15efa83b7b017d55cea322adf2f45c55ef30b06bc2063aaceafb15e34a81beee50fea4d25f96f36ffadd102ac431d378a5fa517fcacfa4e008bdddd598d9675d SHA512 a65d3d358ca23483c1b709e04becde02f7a962434acaa4b4cf2acd32b997f77145ecc4e59a4c507450e843dd2fc6410e96bb9a6d3e18c9943763e79602df0932
32 +DIST firefox-102.0-bg.xpi 563633 BLAKE2B b60e6b768a5fa5a581e8227f5e76eb74f58bdac35f9e178461d65cb2c4bec5962a150853428aee0121e7433a57811e15feef9cc82c3aa461fd121c11810d7739 SHA512 34d389d1afbb0072d91861f1715f4626ef849645f18397fa8d52efff19d9f9250e5548fdcadc529df3f46cf66499d2e620f2bf888f92aa6df6fa828347a0cb4a
33 +DIST firefox-102.0-bn.xpi 565247 BLAKE2B 1af5bdc0f815ea3b0b868407769ebf6fa879cea2478f64956d06da31b5464c32ac6148fc366d965d960da62ab6f74e13f1bf490807106122f0273f7f79ba281a SHA512 78790e6bf4a367fcddb4af6bb83e279b807a5c6395dd4ea9da4cdcdbc5f9d6999a700852be9dd440106831a8c8c4899e21d1315210195c3d23bb0e064d4c1e2c
34 +DIST firefox-102.0-br.xpi 521034 BLAKE2B 88e620bef0a6f15c36023ca231dc07ea1a5fceff583c2abd19491313acb3e909cf9da8be51bf96caaec67600ea9a6a46c99b26cd65a7370dd6cbf86ab94def2f SHA512 b208541b8a9f3b5bf221748f0bb6423a55bdcae0c3599822904bd0a23eba84607484903aa8a55cd8c2aa4c870d8c979beda46e99296f230644a25ad7937ca0c2
35 +DIST firefox-102.0-bs.xpi 451825 BLAKE2B 920b55d3afdb1b6153d627073a7e58035d615d437110fae95b4a2857d0d5ac3deceec243538638cc20698cb370caf0f357418b3a4026b89811f4317b049665cd SHA512 d29a3b7fa8e7f88eadb2f8b5b0add4a6c656f0670ca258030242d67b20409e08aee15fab2dbffa040e2835bf428ca8b926e4fc03123ecbf3e42539aea4e38748
36 +DIST firefox-102.0-ca-valencia.xpi 526177 BLAKE2B 3ef9b41debeeb4c1b79fada05e1b8d39d8410b5dd52979ab62dcfe5cd7313c2e2c4cba33913a5c9093705d3e43c950721b9ba7b90ea46dbae29bd9a953ac421c SHA512 0cbfb508f91e234edb23b28fd3ca097e33c9b46c29d5d625e5587686e1f26eded005f68d0d1d42a4e4194d00019a7cdb97e5ca7d1c32365c60c222412b7ca075
37 +DIST firefox-102.0-ca.xpi 522642 BLAKE2B 89ac6bc7a2d035d290e5286571d74ac8df14e8230b512a7d1a5d2d37b40c031a6c9097ea63408d1776daf6d9552e41c8bda9cb5becfa85b5a9a4961981227f53 SHA512 e2e33583adc291464565b231548d76d3533626bdb72922cc824ea62f319201a78ef251ad09195866f1c9f0c8587e590409eee7fb277b09b501581c20a41e3e1b
38 +DIST firefox-102.0-cak.xpi 539672 BLAKE2B 34cc7fb9e1d5e30fe8ffcf504a31d18a43ec9578b5dcdb027a4bbe097f2c30866d13e98fe67928c2b45c2d65a9b194d298636214db621e26ec2a9ba4b4cf69ae SHA512 6d8fc504efa7168072f3b82d7ca78b4e51356771372ed4f35e3461d7b59f71c2b59e173734a781a454f1992f641707e0c946985ff9e2723304b6ae36b4b56e88
39 +DIST firefox-102.0-cs.xpi 556808 BLAKE2B aee01fd260893319aea17a3b4169c7098b53cff6f86001498d76b88eed54f4243651c64bbcbc0e502b6c2d45970839a95e47860399c9b2333b8ff0f8cea9e5d4 SHA512 993eaeaeeb6d2952863e0587164e3908437de5a4a1364b61f409296bd356c6b51cc2f5a19c34a03bcd261549ecfe240044f7dc6fb50084724cb0436c59df055c
40 +DIST firefox-102.0-cy.xpi 533736 BLAKE2B fc958e900a2d039b9a076a709138c95d859c752216ab7e2631cc4887546b4b2e35c618e48834862ac1995ea52141c7c7c28f5fc96a91e2cddcd612184751139e SHA512 a599af689ef6ea265a0400ceae54f359e5da91f03e1626459826daf59cd6aca5bfd158b85bc50ae2b612cb28996780358af7537699f37bc077a679be6be3bc15
41 +DIST firefox-102.0-da.xpi 525897 BLAKE2B 43500d24b13493b97c5ac05b0265c3edf390f79225de8e71e81291a562cf5e951a72f58eb1d8294cb41f3e4559b6e271e721f58894f4ab2f3bdc9f1562c8b61b SHA512 c2541f49cbe144f4904cada116799e1a4a709f35456a28c22d7cb816c64bddd9374e747924985bf2b1c898ea9cc4cc45ee97ba815eba09e359d0030bcb6d3535
42 +DIST firefox-102.0-de.xpi 544840 BLAKE2B e95db2ffe33e43d4e493ffa168d25c9bdbd43c1c9b144cad3b44a91a6291eb397486b650062464046fda1b1ef3e99747a0c7777d4b2a7afb60b00fd1298ea102 SHA512 4c1ed1d8fcd3d36f62802efe52507fce6b74d347bedd8a7e0106fb685ea85a6d15d527c62fab1fce8f17c736d77e1935f9876fb115fc9b1b012a78aaf5f62548
43 +DIST firefox-102.0-dsb.xpi 557548 BLAKE2B 1f5525ce7df3d23af321b6358e86cdfc248c16479e5e4680369ff04020b9e1731dda887cb2d5c8d2d9017a9d38e51884833c3270f73d03c92d3cd1ec7cc3f011 SHA512 2a0d36a69ecf089aafe2587acc0f06a5ceda4686e17d73c356f14c7ebe02f97bbe28ff4a68343eeeed6617463000d60ce68ecad4cf9a67b1cf7f4a9f3863ecd9
44 +DIST firefox-102.0-el.xpi 628784 BLAKE2B 37c06e855f3fcde60d061297697df7ee44ddd18f490f3c72eda105c4eac01d8d7fe072d7d044316aa222b0859661ad6194386357640e39cf6b4eaceed68742c9 SHA512 8ccbb920c54c44291f4a1293ec4f8c5455022cdfb926813c4b214214a75d4537bd7a30bfdb63e674bfacc22f0a274b608b8550f09cbcf97d1e766dccbc97ce41
45 +DIST firefox-102.0-en-CA.xpi 501976 BLAKE2B dea2e8bd4552e981ded7e7e93338747c962c2dbfa0ffca6d072af516e5e78c92087a31a3a6ab1034fb657f5a65367a1c382642c7e88a27a939baa21c2d46d5e1 SHA512 bd6889642223f6a839c564cb1a835dac30b0f11063628634f7c85a00e0376a568d871f4d8bbc864269ab54c597d871cf5fb14a04a06fb8091d06eb0d2ef085dd
46 +DIST firefox-102.0-en-GB.xpi 502448 BLAKE2B 017058f8c91d3c664eb50fa71162724cbde64faff6aa9a6081b6fc785efd194b59fda1f607366cf0958480ae69f6c1ca0080becfdba50bb1d8ea426b5f0534ce SHA512 8b356a0c11b6f7739081b1f2d070a7d30d1ff75f9048a5983e6f6912c0f5f2078418fa1645fe1b33f54be4684bf32a9fdc5d04b42564878a71fec585448a00db
47 +DIST firefox-102.0-eo.xpi 528419 BLAKE2B 742c7126adcaef78d390e72e1b1206f943c1451f9ed75759df2706fd6975dbd8dbea9cdf38be710e81e32b04ea1d6e6830d8b4bd993ed6dfff20880b559edc60 SHA512 d27414dda61fcd3a14dd4cd6e29937d1f94e846581e676fb5896735bf795855d651107536d259d5c8f2d5e1105dfc5ae81bc64df62c703510c8b4e8492f9123b
48 +DIST firefox-102.0-es-AR.xpi 538398 BLAKE2B 7dc9954c939c39c8aea8861fd5d8ad97e28f2c538dc8e5975e05919c7ed0f0f44a393cea94f87404aa6653887b89cfd3daed462b8120a1306d9593d8288eeefa SHA512 d1f07dc61bf43810e7e2e36b34e110e9f11a3b677f17736b804f9190d878cc8c670ef195434fec95f3530f00483ffbd1b2a894b9d9042c44bd5adc3f859466ee
49 +DIST firefox-102.0-es-CL.xpi 537630 BLAKE2B 660ebcfc1918af0d1fcf4bfd654b1fcfe7f8c5df395e63d441041e873e24a8823ba95381859d60b267c952a02b3283226b587b4dea74f0a363abb099115af2cc SHA512 bfbbb88f638dbb26fe8bd7a29956f1110fa09caee31552ffe0ce4688ef50ba22641d96bc9252de0f904da35a16a6eb07a4e5bd315dfd972122462dbb547d96dc
50 +DIST firefox-102.0-es-ES.xpi 529048 BLAKE2B 1f9b446becfddb74de3e38a133db865967f07c8f2d1c56b38db60f0f933c7561385ebb179ec4e1bfdf651d03604de62d74530d06eb557a659e3a3b6c38c09e1b SHA512 3ed835acea846e02600b97b18548e21c26cdfb6c9d52e323a971b8f7b536b8a48689b8495903be072ba3782447b4fa75a23d12b09d661cef534314aa857a276b
51 +DIST firefox-102.0-es-MX.xpi 541459 BLAKE2B d688417a9d2fe3ba2c130eed01fee765c69db2cb5e7875859d5f3c61905311e8bb18c1005bf19ac0a3643012fc9214264023f555c34c6a3a3b1f3d0d29a8cecd SHA512 d341f7fa324f694f643fd46927782383caca8ec0d98b5920458b019a0907fe418527cd15df4bbe2d423e41fb9a1be7a0f7417837d3ef85806954913947815686
52 +DIST firefox-102.0-et.xpi 520003 BLAKE2B 540a9351ff9a2334897d04cf1e831359f11ebc279100d782b409640bde173fa501591bf6404a5c71860600070935e4ff3f44a3e5cecd819e73c0e4d2d0724a50 SHA512 f64cd17523859cfae89b9449d08dd83b72f1741fc0daf0d475bf7213541cca934963e3085bf7479eb04bb06372cc409bed18fa674fc5cf3d4b1f10771a664d28
53 +DIST firefox-102.0-eu.xpi 528097 BLAKE2B 54348abc356a48187ae3de0fe22f926c54b253b9ce7fa912919d300c90cbb9e054d4feb53d6cd98356b05274cd4f2b24eb9fb52f32558f1861cc0acdccd77499 SHA512 161736d7fe07569c1805ba1439bcbb86b3eea259d4c666f11be993880c15c0bd311286fe4d982a7dc27e6e25d3c6bfa93d958e86cdaf7d19d6f6c8b5bf85df95
54 +DIST firefox-102.0-fa.xpi 550815 BLAKE2B c8483c8455bd92799d471b27c6de152acbd879f9881f0b5c70fcedf4ddd9f07d2d90a3fe8fd276e2296c527e64109a8582a3134281104198130a92fb98e3dcd6 SHA512 31b1c838e21165b526a65176008df075c041e5eae9e4b1db3957cb0e0e5fb7d4d41fd9fcec15c9273e4205af7d7b0b37cb3c32d77a9c12dfa9f7eb4cab311550
55 +DIST firefox-102.0-ff.xpi 460979 BLAKE2B 1beb37770ca6656215d6c07bc7c4562046c8292de65830f705d945ee0a4a4106523592ca0da7b25eb5ebcfb7fd4943faa477b17cc69e058dc24c929a2ba46260 SHA512 a1474a8472f611a0623eeaef1688e3e9743511e9ab536e1c950b2c4449d17a7782bac33af1a456cb331a1340978675b507e200d41280ded8ab2fb22cef6b49a4
56 +DIST firefox-102.0-fi.xpi 524263 BLAKE2B 53ba21f8c4db5ca493cd4a51b6e0095009255188c1fb97bb520cfb78eddb8f7eb8e55bb70e313c36f85983b1b65536ba92faaef8a05629b31ff8e467e19328ac SHA512 8e0a7842f643c439611d9af85c40a6429b7cd149abf5784538151d39cd06cc9cae5c7627c519313149c5a2152bf8a10a7d4d8d1bbffebbfa5f4a93350edc94ee
57 +DIST firefox-102.0-fr.xpi 549043 BLAKE2B 0449bef1fb2e700e693cf8246be769d5ce1506357b6b5ce23c133c87e14028894c45baf2c60dd54846fd93e6d43a14599b7a37346d3cbe7f1b7cd5ca35c4b85f SHA512 897f5e64ca45092101934fc6d7aa302c80a4a5ef66ffac456529abd2150ea00687e39acf5607d7668f679dc43ed9f5ddb1e380cd4d4ecce01c985ad457421852
58 +DIST firefox-102.0-fy-NL.xpi 534932 BLAKE2B a91bab50bcd3f18866b4fca410a825664f7b6d0d66ac33850c4a7049a270b8a3fe571a111b096a665402f320718b307a6b0a63663bbb5805c3719ad300224847 SHA512 beb683c80994c220751594227ded93377673c51757239cdfac7cab69906277b2c79ba07cf0f577d5a9d91639b4b148a4b1202294505b62d63e744000c9cc523c
59 +DIST firefox-102.0-ga-IE.xpi 460696 BLAKE2B 9237484ef8836e4205a5d65df536d9f75a3e4e6489cc14bacaf124554d60c874cf623b9d4f4e611e2e4ed6de20008c6b06df6036486e38fc6e35d3942cada32b SHA512 f70511361e3c6becd28cde2bb655131f306985f7b30b8b3b617d64fbf3bf335ed9770525865e49182690e1a376b5429331c99a766f22ded09c1e06824ef641cd
60 +DIST firefox-102.0-gd.xpi 522584 BLAKE2B 73cc61e4fd903a4ed1ba04ffe8205881943dd57f0e8de9284d95977097f89dce87863989547c8c947a2f431c955d8b6f85d5a836dea6feb6c1809f4c3956bb73 SHA512 d6ebfd7d4bd8eb17a35c4e06639c52e08cd13529057c0544966c5dabc403b6b17f31ad54bfaf9cfc2ce6c13c2a0684f4ec504adaeaa664761d9aef77118d274c
61 +DIST firefox-102.0-gl.xpi 528501 BLAKE2B 91acd0622f2f7143d9947917773c11643b30ee11b81f61606accc3c880680c97edf6fbc3dc85ae99ded08e8f1ec84d3a62d3b5819bd72340e84f327b1e8be72f SHA512 c284a64f87da7c8d3ccccbb00a909dcd085cc1e2e473119eb6d347fdbecf4161e6980ed64be14db0c841965d22c8f311925679992335de4cd339f8dab01adfa7
62 +DIST firefox-102.0-gn.xpi 549540 BLAKE2B e43429935ca9a4ac5ad0bbff6dde4468a49b61e27d9d323a7da486fbe8ed424dbc1c210af70991e11d9ed38a579e80ed6491161a921053e907933ba6eb5f2e8f SHA512 017e1b78b5bba4dccaaf78f4648edd17031ee48be2678b8b89641dd4d1d71c36ed7d878682f114d697c3061ee0de4144da3483b9b18e14b129f3a0c8a91ae6a1
63 +DIST firefox-102.0-gu-IN.xpi 516013 BLAKE2B 672ded487e9159954699b3e418fa44a970c116e84760ca2b779af8a80ef78b6834b34dc8afbf77c37ee79eb03c707c6bd3af6b9e18a4824093b0315c9b0782fb SHA512 892a68da7a1daad0c9d05957e25dac89bf5e6baf58844ff0a8ec965dfd013ef211ed0b93e029a1a3258413aebf522c0ec0b1435ad7c0b17274f8edeea61ee2d1
64 +DIST firefox-102.0-he.xpi 548996 BLAKE2B 54d508cfeab00eeb00594771e9f4868f3da1a587919e5e8e84571db7dc3033b34c451db7c120b9d890273bcb93cd1b14d9153a0b5a8d1079b06fb81f608a2e6a SHA512 be0544bd47668f747fed01759291e3cc80e75e3bf1d18eb6fa06748b657d5bee24ad08410ca9c10fc07bb14f157351380186571be4341a848912b08bc5e8a568
65 +DIST firefox-102.0-hi-IN.xpi 546131 BLAKE2B 9dfe72ad4e60806c4ae4ab6c2f231344250e7a267c75c3966a54452c46b7553d2383a44d5089d2dab7788a07729e4f6327f6b98de93f9c43afda12386ee25e95 SHA512 ff45ae91e31a99c393ec53a9685bfc4765ba86d14d6db13e04fc26d58943825a637a97eebe96f0924bde6330459231a77a2231d2c0b2314fb6ae45263d33d0a5
66 +DIST firefox-102.0-hr.xpi 518890 BLAKE2B 5f3b507e456e17b47d50df5db20288e5c530132cee857e910272e6bdedd97b3af4cc7c7779f07403d457257e7916c2847debca984e6c315f6af5fff2db9adfc1 SHA512 4312b172b34d1d4d34f7e29c9b2a533d819ae08d90732f3240f753e65d69260e6ac49cbe4caf142a1def4cee047e284414487a15a916a6bb8891267061c2dc6b
67 +DIST firefox-102.0-hsb.xpi 553790 BLAKE2B 66d9035cf89d7525c8799fc2b652edaf471cdddf47ef6c8e31b8e42bc738b49aca469cfaf0868c5571199a58588954f007b6d77f79e79c85f4cf0cf0dbc2bf80 SHA512 39e93145bb7747d62fc6b0f96ecf9e2e8a194477a9d387a0aac75c14c9573cd0293630f22ab8e01ffbfb0910b3ccec84b6a547fa1cc239c7976735c4b9a42e23
68 +DIST firefox-102.0-hu.xpi 556877 BLAKE2B 33dd1038ee113aa28e45552b11944e34793b43dceabe51c81c5730dd4f9a6cc9f8aac9bae47fd0ae39b6e77a3861846a602fca275756a86de2bfb7d49b5c441e SHA512 6d620d2ea77b56a106c3a3cf861df4bf4c9aaf8a5f82ae1e1c4a8b341de1bbd96f568eaa9a1917c7b4c341af197fcfde849304f7afef33313ee18f82c11822f9
69 +DIST firefox-102.0-hy-AM.xpi 567841 BLAKE2B 54e2352e4572bfc07397b540c4085bc604148fcfe5aa5c6d8669264c5595dbc810cf3855eb3a0eb692118bb85916b1060653024a71c400eecdcba06626bfa75e SHA512 0c97861d9f3960d70ce1d9fc5974bd3db1d6a606fdc2c76bf7e520f41122490fb33872db9f9f64fa06f60970d506f27f19fd83bdcf2c19cfea02a15d1e53284e
70 +DIST firefox-102.0-ia.xpi 523743 BLAKE2B 4f1b0fff8593cbb4709af55b4703181a54bcd5bdbc79ece5ec0893139473dad50a747364c5b16374804ed54604b293612f66b8df1b0763de91ceeb4924f5a3af SHA512 e0fe67870bc1bc4eeb9d1783a7e0aa3a7baa6e5c60977662e41c5cc66bacc6909ad28846b1c5bbdc8ca9e5612c9d2a0a4c30f267f2c05a869b188560cfec3909
71 +DIST firefox-102.0-id.xpi 521249 BLAKE2B 08d3d7e108c8ab5fa63c8b2123c9502a94d486952a6c20399c199a7cd96e8e2a03b66cc649d6df43705bd45d3cf6026fffab34f49085840bac5c5543b7c43e53 SHA512 a1eeb71946091578dbbb6810f849032a1f8f09e751897b61ec2fc959b9c79454e6945ce87a78bdd637d9d0fa9e5c605817e4755b32cff67f34461cfae0c4dd22
72 +DIST firefox-102.0-is.xpi 528390 BLAKE2B 335ebbc3b8bac0ddd56dd2438c3274d2ffb7df74b64ce43849fca77206d8a7c355232efb2702d31ed83d71d27bc9c556fca2cce9e6ef82c9db736ece1bbf8d52 SHA512 7088be9f9cbb42d29741376034fb375896808420c8bd7376da542cb06fda30fa75a8d47b85dfd1a01009dd590b0495a2b5021ecee14b4d514ff4788a96280cbd
73 +DIST firefox-102.0-it.xpi 449753 BLAKE2B 7204008f57cb5254f7e4f70b9e4c058f070821504edd1069870979055cd465ecc03bea95b1cea232811dd883bf4c1fd2191f4a9c08114114887117904071fc70 SHA512 6ca959d39d9abd0d01aea6037ceb31f241a17835fd4e7f02585f260a4eff162d6b42137969615292a647ff73aeac852a07c1444f54e1d6a66ffa21f48bceb034
74 +DIST firefox-102.0-ja.xpi 573744 BLAKE2B a3872c72440fef0d1c5e294741ae84ddc2b10a07a9e1bd68a20ab1472d1bfef4ce24fd8548605a919dc7fb1597a7a070dcbc4d1cdfbdb2f7ab3bcacb04428a95 SHA512 01df2c5fb0dd239cfd4e737de9aaa7405df446928bbcbd8255d4686a44f185ce41535976d8b8af6770843457bf0275973bba460a1db51ef4911fe3e070782ea9
75 +DIST firefox-102.0-ka.xpi 581241 BLAKE2B 4264cf98938748eed90bf7beecc2b5458ebcb75ceea7598d795c1933cfb0b147806b3dcf69da3109969b6a5e44acc2500f607cfaf4492b15b52cf25e203aebd4 SHA512 fe294cc0008cd38567f93b227e6b5829e661d7f6a31aaeb8fcb1e93cbf5d159ab0a91b3ad2a85928531169243287d90c972f468bd27668a6fad7ab7698dd7164
76 +DIST firefox-102.0-kab.xpi 543023 BLAKE2B 6b9a86e6fe20f9612eb08a1bece3fc05b983ed396824549f208ea787bfffab0233e4b8a2277c64b1ed848a0134f7f33c34643b895dd514b758789d32ef715eb8 SHA512 e3fc8d8012e5fad8f57a9e06c87b1ce46bc9e1be396e0f73d0b2165acb68888f3fc6cbb01531e0bad31eceff31f3736fed6893a73285fe2181713e7adf0aa7b6
77 +DIST firefox-102.0-kk.xpi 604853 BLAKE2B ec254a38f76e7aff04f3436da4bb44f5708bc80a9262de7b39dcbdfc3a60b285572cdbd27d59db2d484a68ee38abda1d4597a29e9a8c033d1440f43c7d5fc04d SHA512 b4d2f1e3074e94e3447071526a3c4b4bcf5b4ad45584b3389547b8bf04c1b8c0e8961e7990544bc6daecfb89eef1bb2135b10077c829d91cbf47f18166a5d093
78 +DIST firefox-102.0-km.xpi 519627 BLAKE2B 62c7738fcc346150331b8eda38f4c824aa91df1b7fe65c45c91d547d445e3d6f530597c86c8b1e89d0de024a778bc9c6ae0b92658a76bd5ba80a90e5323159b0 SHA512 dc3cc89f0f9e882e35888593e9f602fa97cd953a1215bfe3630816ba8a7059857b54604e17aa2f6c1b333f6e97f518c886c330a03fa654ce0eba66470d5abd3e
79 +DIST firefox-102.0-kn.xpi 485569 BLAKE2B 276f030284f21ce0041e455ebd004f5b6f70230d9c0ca36a62fd81492aa8d8b0a48be4cbaad7a56f881c5996f48cd62697cbbbd06e160d4b1f9358ad3e2b3ff0 SHA512 2175227b123837bee9bc377e44e60d2b6490ccd667a6cdd7d5bf4d7d17b1fa2b4e6b3e34559f08e79c7affe9afd28d2ff0615028cc2c1420271fd4fe5e7cce4e
80 +DIST firefox-102.0-ko.xpi 570086 BLAKE2B 310bb18acf85277b31cf3d8d9b5a03fbe769bce27641bb7e45df8cdd301073687105282485a0cb906c25c2b4efecf8c3bb7fea6a44bc7fd83f1562b33fc5e285 SHA512 287eac3c75e9f62bdff42d9c0bd919cb7a2884a38120fb1545b6dbc7ad9b8a09820be45f7f03c044a6d25fb386727656a45baf7a8011e0accfd08b64ba9a6759
81 +DIST firefox-102.0-lij.xpi 459205 BLAKE2B 712dce720af6161fba6505b4088d0eb16350e7175f6ae390c39a60dc81f32e1bcd778e6b9a5b6b39b1457e65d7003eeca4f1860c2e6eb1eb530041a27ae27ac6 SHA512 41334423d2d9069e5a979b9dd585f3d83d863dfcbc020d06a5baf3c0702a063c8891cc4276eb52e5a68977bb112e3398f9fe7180dfaa00bf77b06186b00f5fb4
82 +DIST firefox-102.0-lt.xpi 549839 BLAKE2B c1fd8bbc2fde4cc5ec6f136e9316411ad0f478dc181913a3bc0903862d38d8702497a4ceed364c8570b32a5d11287962bfe9740b60d1a7930ce2f22fe31ecc71 SHA512 637d5038ced19bfa1745bb96dcb8c49038a2eee206ce11fd532b91fdae30967a40c233a195c33e575947c73469c95355db729b61e421a5d1f5d73cf2b3ae18d4
83 +DIST firefox-102.0-lv.xpi 452063 BLAKE2B 770ed4645693822c2f6bf0d9acdc55c3f0f83d68d1d01a98783d47a4bb8611dc88a9d2154fab49a4a2e2921c81b4dda7ede3e3fabb9a5f9ad43cd120bd02af1d SHA512 ac38c1a173008aa60972a96b139d3c7c2acb4407ff12a30c3b7a42f62dba4260627a02cbb3324ca068f4848aca3858532c55da6e12e498b9d07f0ae3dd8e5c9c
84 +DIST firefox-102.0-mk.xpi 458906 BLAKE2B 00052f7fae9f099d62eb72d61cee4efd588f27a7269eaedf8d88729323de4e6fcaff6baab44d27429ea815391b2c586645efeb03870c2fcc2fc70f42c30ba98b SHA512 b36e359d18b6f8578602ddf37e3bc990410ebde0952e069e04be30ecd5c0531e576784e0f5ec4a53d2fbca3e8bcc6491d48eba5decc3c74ec3acaaa541e39e72
85 +DIST firefox-102.0-mr.xpi 519582 BLAKE2B f1854857d5d8f5b62acf7b637f3029f5260fd88534871b1e47f373edeac0c39f4b8c18c39031b31c8cd802705d1e284d3d8ec0af3fc453d975ebc3a93e7d990b SHA512 89e4888461d37216e73e497ef478634e05cd4f935cacdcd4792d004c5a2b6ad94ebe12263f1cf74f5ec61849dc864090cc46a89e1d4cf27dd3e11db3281394c9
86 +DIST firefox-102.0-ms.xpi 437312 BLAKE2B 6b9b2e0153dbad03006157cf160aa0ff8f7c40922bf70ef1c12cacf7e8e1646285a5c9dbdf0cdbcf9c61da5ace7c03cdd2c28a281a2655d04e0c51e7a5c0cb7d SHA512 ea3051a814cb0c568e5e8be30963c4cd22ec3e3590692852bdefba1fd2630f1dd5a41262b447f91f804845fcf61bcce894bb0e446559e0f65d95d182a7ffb04c
87 +DIST firefox-102.0-my.xpi 498768 BLAKE2B 2df83f8cd473d30643a4d9c4b65cff7e6ea3cfbeb9d08d8467dcb079acb1deb7720991b36808d05e654097a7a4422112e4dad0a036a2be26491a251415af863c SHA512 996231f63d772ffaa363a3bce5f2054ec5aa77b7b25ed036ee1c4c7be93e7f25484c1a013354b56069581d59cdc0eb21928929b114dcb4389ad95d4ea409bccd
88 +DIST firefox-102.0-nb-NO.xpi 521318 BLAKE2B e4fad5e029a2cdd6dcbddab87cf53de1351719550766ec73b65ace2f5cbbb9057bcf843f7f2c96d233a6d0b798c060f611147d8d2065253f19c56d92f3ff4523 SHA512 9a16356f07acdc0f09724d1d1e1117b52d14851ca7c2d9961553962a4c514290c515a664c6451e847331ef77aec3b6df763f9b8e88b6e4dc56d2417f96f90674
89 +DIST firefox-102.0-ne-NP.xpi 477725 BLAKE2B ce46ae1c0362f564f969a1745546d9e702ebc34fe4cce85baede6ff6050c3c9f10f5897db210fae1573e61d7a1a734f084fe7d05a78895f7d022aa966983be9a SHA512 f3b2af66932cc2d8265a8e825e1f3e10834838d7c7194109c7107f8cbf67057b0249fadf515451d244abcd053db9e437c3717583ac8450effac1fab52e05bfeb
90 +DIST firefox-102.0-nl.xpi 528938 BLAKE2B cbf292ead5770ae812d30124b5e88842217ee47f559fe4c534fe6aa5a45ad7f1af8cc6736fd07ac35a446809d1fab5ffa9925528b0abbaa9c0270ec57c77a49a SHA512 b39b4721e0ef253eb1eae55424be05ff0ef08b836df37fcee8000580faf50e0354b957530fe2bbc2e125463fc9e2dd0437d929b4fe85773d2fb2cdd03ff57a9d
91 +DIST firefox-102.0-nn-NO.xpi 523252 BLAKE2B 2ab27538a3e14fdd4895e50393e1e0fb700733fd40d5b8f9d6be2a3ccd19dc1b088be1ac8278b3addbfd4d558a1d774ed26ce23718eecf1d2e97cab73c52f2f9 SHA512 8822083bc062300156700cb761c410a2b811e4ae5adf6890e808e1aca6752f92cf8074ac1665ff33dd1f4ab7281cb677d96616d6645c244c0d61433f203eab8e
92 +DIST firefox-102.0-oc.xpi 544574 BLAKE2B 70673febaa283f31827c8d1a94e0216fe724b5504bc6e81234cb43123213cd257d04d4756b46951f5df9c79c518bb7e5efbcaf8f9d3bb4794ff87e5e171c0e9f SHA512 6843d6b5f805dca6a4f6ff8ed84182380d625a67342e6bc48d1b8b57839a4739f7ed6d8e9a23b6ba202b4eb29da4063a6baeb458b523cc9b264498d03a960572
93 +DIST firefox-102.0-pa-IN.xpi 587394 BLAKE2B 4fc0f1765a3156f9c0769a29c12bf996b68a63ad6696712cc52d9db822230ddb2f0eacd14825d5d938b5da8ac0ec7e8e5b3ae4bd8357f46dd2816ac91f12d589 SHA512 1cbec3c6da0bfafa770d08e45487ac0bec48be03a17694089114c1416e7d9f44485a5333cf6340ea2e4c7c5ebd76f774be1a3a4adf9e143a71b84cbfbcbdd610
94 +DIST firefox-102.0-pl.xpi 548925 BLAKE2B 160200ac25e8662c286cb45bb6546bf381c51332340fc6c7fd6b2bbddbfc91c631dfef89b8ae026a2f88fcd8dd058a0f33b08af13b254b2042759c8c4a201d98 SHA512 612d67a037e582b2b4895c6d540c9ebbce82eab619c73213321afc4b8e17e77fd1c5fd112825efc3cafbfb3ec52bcf334d01a0b3bf3940bec8819af948f8f7ec
95 +DIST firefox-102.0-pt-BR.xpi 534193 BLAKE2B 1820aafa3663dacbf5328fab3aecf3debbb1937dea57dbd74f45dd06662a50bc41e597bb377ae5699cfcc0bb15a047f4f75413477e2a9003c4e53debc774a2f4 SHA512 cf578d71864f6967deb2563bf1fee63a2afc02a81e89b1a6f0de79615f567c7b78a12bb40e850b42cd8ca40c3eba766b2478a504da3fa9a1f4ee313932f094c8
96 +DIST firefox-102.0-pt-PT.xpi 538020 BLAKE2B d43cb7e8cafbed80bdf02eb52a5179de495353ac6c602b19414239be4e53662a1f9d1b2580bd98f76d78f4db9d3380db69423a02ee2fe3660964b166d076a263 SHA512 10d7c1921fa9c880feab048c528da5f3297bcb092be4f2f5d3583cb3e2de19594f2440f5022e136be9f53a2c116f9f465704dead7da18e7aead5eff33390a256
97 +DIST firefox-102.0-rm.xpi 528321 BLAKE2B 6431357c74dc1d42fe3006910a7b96f437916bb0becc80beeed6feda54da6ac266d648118a51ea38e5f8f3bedcf817a2c918a62794b5984c6c55a1922ade9b64 SHA512 7823ae5095f803ae8972e935e51da6fbd00a7aad3dfae4a67fa46cb2a2426fe19bff4512cbd7a1eadf75c3f421ee5215e64ef8917f0ff5323d669782f4adac32
98 +DIST firefox-102.0-ro.xpi 515795 BLAKE2B 207bfc940cc832f55a0c702fa00b1841e5e9d3528d8344e341396d221d0778060a6685a5575e88a8ecb9af49165e7efde381607982666bcb7c6190174816d1e8 SHA512 2f1be7028805aa3beff6394ec05926760890db2779788b5389c4f9583e89082aadbc8bcac6987ee4ff2dc85d68bb1e63292d81822d03accafd023ebecf38b19f
99 +DIST firefox-102.0-ru.xpi 617119 BLAKE2B 00593df8ceef3f1a6118cf8d702c3573c094a5d263863e43d3a767ce854828684507a28ffb66b04fca27eb749ada17177150cacab364340041c69920978e341a SHA512 1e0c869ef5bdbaeace17ca01018bf5dcb593138172834e861dd381957b22358f7bd5464bcbf0e63154c81670051cfa6e6cac13b06fad695872f0d620f26cb15b
100 +DIST firefox-102.0-sco.xpi 485586 BLAKE2B 2237288178dc677da77892eca5c619b9c2f75e5d97ecb49a33cdf7504643811915978bcfb6a8aa184d17100f687032d03c9f673568c3318d181f95234c68de38 SHA512 e876f4dd9f67eb5f37b1e57619f27f9f21b81892181115e10f281dc1767287ef23464eff75016757d36611f9a729efe0a12d6c165f3a7fef8aee340f071e2083
101 +DIST firefox-102.0-si.xpi 473403 BLAKE2B 752eb887908e258fad1d3e45aea36988616315f3917dd166e646b53694eba8410cc21efd3f6420e77e284ac2d0298e88c9a5d1b461dae70ab0c44ffad320e39a SHA512 18eea488d9a85f463f2dd04c0d6bfef35b31f80679955e5677e72b53fbc347c14fc9191fee31ffa6481ff4335d1d921bf87680512f33c227534438a1ad74e079
102 +DIST firefox-102.0-sk.xpi 557528 BLAKE2B 72675effb4e606eeae21ea4870073d3a89f1fb63e8c8ebb1d95a1adf6c51e893c8a5e3870ada92803e1fe147197fa3391af9d317359aa9d3ecb41f4ededd00e8 SHA512 473d6c71660b73fd5c4cae17ac80e7eb68fe8440e114521bcc876f015d18458956e19f23b7108f42bc98963299b9b657aa6a740c450b5e6e4d7a577ddd80a7d5
103 +DIST firefox-102.0-sl.xpi 531179 BLAKE2B 78f2e6d8855f68835fc7a9312c9fa153e5673e2edbd881fc831eeb79676964fd6b4bafcba126741ac6f5f31100019d0d7846b3d3aedb53d1daad8e8b41bf4419 SHA512 5feeb9f97b349c7c70b9ccb504a4848fa110c717557c3716ae4cade33ea9ef56ed44b1abf206283d2496a9e63362553d81aade91b46c3a6d87504c55f5abeaed
104 +DIST firefox-102.0-son.xpi 415191 BLAKE2B c45e02e49f18dda1daa4459459d248db1a2d9d1b4ba75f02b9fe2157bafe1c653342184c6c7ceca259a03bf9bf436bb24952190f3aaab4bd21258a434c6eb407 SHA512 83fd1994ed055305f6f0ce6f9c4d83b8beb1a63640bf6d8628eb5f11ade4bd9d071576df5dad300e874386422c5e651e1f520a63b118df2ee1d83c9fd27629b0
105 +DIST firefox-102.0-sq.xpi 546090 BLAKE2B 398efdccaf629720750a0d54171ad58f620ce25e016b597afd2abd4c12f830a65e357452ac1d937a4725035a147853d87f20e8a6561c743c41f5818b33633427 SHA512 ec65eb04863e3ea0472a47572a428a9a5e1413015a08dfafdf0377d55ab69bef5d9656ad743173ee2ada74de88c9694b94a986940d5f03c1d4083836ca23eaeb
106 +DIST firefox-102.0-sr.xpi 571117 BLAKE2B 013ff9e5d3c9663f7a28ca27aac5b9a21b808cb7f8109a3232c9d78bf3317283b1ead1b2252f5bb029e116a348b713af68ddaf947311cc13f2defe9f7e3c5177 SHA512 cc780782d71eb03b4c3e99c5cbf676efeb56f99f0538a207a39ae718a122cac923a195f715468aa6c8481e8312d28724dc8ece71486f58828ed7e052b94ac8b9
107 +DIST firefox-102.0-sv-SE.xpi 531425 BLAKE2B 10a907e9ffb9bc54cf24acbd348e989e67954d276084470ebaf88936e355ba02ac95dbb0d9ff58d8fec0850c844337ca9322a1d338d720a3bdc6e19826d065d4 SHA512 48b548e88a932f5cfe0bd60dc024ef50b5806ceb8a817c7e38c9a6b3ab147be052f9c1d2fa57b14e344cc854283165bee609924847dea2995baf7951ec64ebfa
108 +DIST firefox-102.0-szl.xpi 497441 BLAKE2B 0cda2f047c2ba7d39972cdc6bc611a582beba2339843e4fdb606743e1c80e4087687ee663855816f56f10c42ed7ddc5b76c9df08413c88a20fc198da682c3ed6 SHA512 9ab12d0ed9902cf5c4e5b5e7d03cc0dcf8d01d8dde883efaea29b8f06a49c11238c6d23d7175367bd90523e1caaabf4dbd4b77148cbf8e7a43743819fa09518c
109 +DIST firefox-102.0-ta.xpi 499389 BLAKE2B f17a2b1eda4b8c4379a03dfcb57d36bfa6d4a401fe43a4ed2e1f70af952e6ce2229f2f005d4d2658930ba09006d645de47c95273aefb2d4dc619b342b01058dd SHA512 b50e1e7a075f51ee0baa0cee5cd93f7976a627698977af2cd678e2c33f836c9a1fd0de4e7670bbf2d88a9f785b6e917a2521c6b023ed790401eb3c7cb65754c3
110 +DIST firefox-102.0-te.xpi 540270 BLAKE2B 5fe991b77f6b9c9ddb9a9f49383ae94e62e49e5dc56e916f58d232f360b34e7ab7434f165bf29744b0631aa951da9e009cb2ed9e0b9d6ad832c43fc2b773ed58 SHA512 457506bc6eab626dd6885a02273e3ee6ea93136ea803a125c4e231d55d6aecad20b425fad8ffb021273560a7d83e6b9413d58dec618c476d1020f0399cc0f4e0
111 +DIST firefox-102.0-th.xpi 598746 BLAKE2B 422dc1b321b67b13c9c4353823588da69155dfd8a74c535eedf4f3c091b79d6b55b1fc232ce2ab7b9d6398de4081595c16fc6d42c0751a85b6cf2d380b8249ec SHA512 ce0fcb3457b4eca577b232717f8d94517bdf7178b05ddfd119db4b610fc908f843cf514b829e4ad71fbbf3c841c825d6354df41848ec9da463e054bcb10fc24d
112 +DIST firefox-102.0-tl.xpi 505602 BLAKE2B f2f9b73492ca73a25d5c04ab1176665beda773a8c3d6905ff76ba707674619bfcf9ae2e86ccb65afff960aa66edc2482e04b6049d09b7b4d680a2cf3158e6dd8 SHA512 98f287bb2b3643336aac9f90e6b26a3978699d9f829112bbbe2dfcca032504006a55a65d1b5adc302d3062fb5697169e40e0523ffd0d4b36f94568553ed9b29c
113 +DIST firefox-102.0-tr.xpi 544796 BLAKE2B 1423748fc4066671e1f444856599108a2e36efd05f7cb840897179d81d658ad3187cbdbaa8e7b7a2e73ecb6711d4367d4038f69da336daba4f6be88b1e39567f SHA512 a88a0a48da82f99baca877de1a99a96567718c25f52b2dc7bc24dfde7115a6e91f71ff3a18ff8209210fcf2484bc7874a5f28d11e0c665db65e7501a9021fb1a
114 +DIST firefox-102.0-trs.xpi 477870 BLAKE2B ed56d1690c471d55fadb016f4e7c05a0b0b558d0fb665dc492471d25a2ad70a0a7cc6db77c328631a8d70d31f271fa82e02396fc0297937fc733b471d576c80c SHA512 fdd2bf2d1d85cce4081db87b7788857bc8103521cbec6a05595d7898a482e1fd0f5f6e747229acb3e13fe25f0bebee6f938ba66e156fdbe1bf5ae7086385494a
115 +DIST firefox-102.0-uk.xpi 610924 BLAKE2B 351fed6bdb8b1cb28f9277557191d721085281ab6e6ca37d849f01635d95b6f9334cb0b1ba8358b01a7e1ffb2424315f7511fa9e46c79c2d518673231ed596a8 SHA512 1ff88e2c7392fe0099b3eb7acdac13a045c7b799b966d9c1b6e806095f1d1bd5c8fbb9d39b054054dc366f55320803d0a0060183de727acf2007e59be803990a
116 +DIST firefox-102.0-ur.xpi 547860 BLAKE2B 5084d45ebdafbf0a84fb6b01573c9a9aa41c7a860eb0b5a27298b8e9061b38d3b9fd1ccb83948c3d37179fbbc7b3ea312adb134657bbde16cae7635a8c2de572 SHA512 a0f5fc68fda5b3d1ae33fe02572a5f05b3437cc5716744185206ec44ad551e544289dd759d6233d58d70726dbb2312ea107320549e4472cba8751a8e61ecd394
117 +DIST firefox-102.0-uz.xpi 467335 BLAKE2B 67b0ea6862374c5c3145b8077d97ca3b0528297a425543ae3538ee3a9cae77e76a04dda481ac0837d2179132873a34a193015559cbd372f44f65827f37eb9af1 SHA512 c0a8fdf4dd86f6800547ff4e05aaf189adbb2a7aab215dfd89bcc43ad4620ad59f52d4f80ee952e7c0ae709e0981b3b5180c50700fb9317f163a391c65940605
118 +DIST firefox-102.0-vi.xpi 563706 BLAKE2B 42ffab120340561b147e432b20e95e841cc8dbfcb8bf33dc857e7d3e41928d3bdec16583f1f1a4147ac13cef9c5c7c56f929b7b5031c72e059f9f43aa2ecfb66 SHA512 eaa5ba7a847d318cfa23ddf7986b745b1f712a11a703af575a0a1491e0b263337d2d80226f1789597e4361b62ae5307e1cd3b1bc4c6eebb72962a99cceef4766
119 +DIST firefox-102.0-xh.xpi 418248 BLAKE2B 885d842dd0393964ab4fdf1e404d5b97bfe89d7c733cb0c7e0a889cc068c83849f0790eca76cf4eae7fc5c39ce4252d99e145fb401212d420b53a87caa6cabbc SHA512 4d858b575b25a56dbd9b41298d95d422c5165981587fbc19517e8fea7fd46f3ef418c2ef8fabc10525caa844c74e773145bc302234ae816ec08e3e13527a288a
120 +DIST firefox-102.0-zh-CN.xpi 566189 BLAKE2B 6cb83e63e0c213ef1b08458bfabfb4ba97c284c9b4f34d16e462be908c27d6ac3b385fddbd5b0ed224fc723a19c86b3902c6f1af18235cdcedc8367c786729b5 SHA512 36f1d5f3a8501e1e610cd55f7163e283a6def99103d89b2a7c86f381459db515edf2e01a749f7be80e8820225c11dd5bc20c8868dbfe94a273d3a5738e80d6be
121 +DIST firefox-102.0-zh-TW.xpi 567157 BLAKE2B 111d1dced6e2dc46a5dfc37b37c3a91a3bd2adb4fee149b8fdcbd87f2c739be09dae198847550721bcd7565b71b43cb8926b57442bce7a5ba1adf0627155d394 SHA512 d907102b3a07b1ddad5f88719cf2a8939da117cd7eebd04ffd2f9a475cd54bb891ff2788a76e0da953e2ac24f2a2d9f1a36a4d3c230208491e169791ad098fc1
122 +DIST firefox-102.0.source.tar.xz 482027632 BLAKE2B 34a2b2f164aded6ed666220f983c694d20df094f032e218d682308e69045dcfe2e031b14dfc4802e5a8c18f892e6e6cfca74080de89d2091f1a7690ed5387d3e SHA512 c7dd6d8d74c46573b16d097a5e5d230669e5778cd680b3b6f30510e989d21543138ced3bb013998b76614aa380b28efd8542450c591d8b724e03bd163d012057
123 DIST firefox-91.10.0esr-ach.xpi 453209 BLAKE2B 14b4549f563075b1b91e626993d0bd9ded4798ed61a747e2bb11d0f1325fe3d506773b675148f3d4b292fd3799d92e3d9968679000879d7e4ae9dd75bec37815 SHA512 eab581d3b6e87f88b5ddeadcf805fc456ba5abdf8bcd571d961609aefefc35aefad841c078485a8509ff679baca516d2425f472a49bbe19fa782d8c8f52bc726
124 DIST firefox-91.10.0esr-af.xpi 426923 BLAKE2B bfebf65937d882cce010f41ac4e3bf0a91659b03d103a2bcd6975ceb1dfe8e4c6f93d18c9f9ee80b65d29f602b0894006c820d1fced79c38099b100696cde9c8 SHA512 b88dc4bb84e80752c1d3dfaee88f829312b063be11abaeb5d3b0a95e4441be7f89ce2fd090d50786bbc01839a08b9ff85c98a4d54c9304259078242187056426
125 DIST firefox-91.10.0esr-an.xpi 499888 BLAKE2B 67b8233f0cd6f3e1a0d7b9a3f98c1f98af4239e11e3b768d7825f11fb4c998bed424e605500ff9d470c1fe525b20a7d6cb28ebc1cf3b7edf104712d71a6a8f43 SHA512 ac68029cef8e543dfc7f954baa518cdd25180e5f9ddfee9114fcbff2cd9cc9784f7486c10c38e5c4980cbda5fc63b26d393ec1ef4457731378e48c762d16ca68
126
127 diff --git a/www-client/firefox/firefox-102.0.ebuild b/www-client/firefox/firefox-102.0.ebuild
128 new file mode 100644
129 index 000000000000..8d3b8220d02c
130 --- /dev/null
131 +++ b/www-client/firefox/firefox-102.0.ebuild
132 @@ -0,0 +1,1293 @@
133 +# Copyright 1999-2022 Gentoo Authors
134 +# Distributed under the terms of the GNU General Public License v2
135 +
136 +EAPI="8"
137 +
138 +FIREFOX_PATCHSET="firefox-102-patches-01j.tar.xz"
139 +
140 +LLVM_MAX_SLOT=14
141 +
142 +PYTHON_COMPAT=( python3_{8..10} )
143 +PYTHON_REQ_USE="ncurses,sqlite,ssl"
144 +
145 +WANT_AUTOCONF="2.1"
146 +
147 +VIRTUALX_REQUIRED="pgo"
148 +
149 +MOZ_ESR=
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/~{juippis,polynomial-c,whissi,slashbeast}/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="rapid"
195 +LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
196 +
197 +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
198 +IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux"
199 +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp"
200 +IUSE+=" wayland wifi"
201 +
202 +# Firefox-only IUSE
203 +IUSE+=" geckodriver +gmp-autoupdate screencast +X"
204 +
205 +REQUIRED_USE="debug? ( !system-av1 )
206 + pgo? ( lto )
207 + wayland? ( dbus )
208 + wifi? ( dbus )"
209 +
210 +# Firefox-only REQUIRED_USE flags
211 +REQUIRED_USE+=" || ( X wayland )"
212 +REQUIRED_USE+=" pgo? ( X )"
213 +REQUIRED_USE+=" screencast? ( wayland )"
214 +
215 +BDEPEND="${PYTHON_DEPS}
216 + app-arch/unzip
217 + app-arch/zip
218 + >=dev-util/cbindgen-0.24.0
219 + >=net-libs/nodejs-10.23.1
220 + virtual/pkgconfig
221 + >=virtual/rust-1.59.0
222 + || (
223 + (
224 + sys-devel/clang:14
225 + sys-devel/llvm:14
226 + clang? (
227 + =sys-devel/lld-14*
228 + pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] )
229 + )
230 + )
231 + (
232 + sys-devel/clang:13
233 + sys-devel/llvm:13
234 + clang? (
235 + =sys-devel/lld-13*
236 + pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
237 + )
238 + )
239 + (
240 + sys-devel/clang:12
241 + sys-devel/llvm:12
242 + clang? (
243 + =sys-devel/lld-12*
244 + pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
245 + )
246 + )
247 + )
248 + amd64? ( >=dev-lang/nasm-2.14 )
249 + x86? ( >=dev-lang/nasm-2.14 )"
250 +
251 +COMMON_DEPEND="
252 + dev-libs/atk
253 + dev-libs/expat
254 + dev-libs/glib:2
255 + dev-libs/libffi:=
256 + >=dev-libs/nss-3.79
257 + >=dev-libs/nspr-4.34
258 + media-libs/alsa-lib
259 + media-libs/fontconfig
260 + media-libs/freetype
261 + media-libs/mesa
262 + media-video/ffmpeg
263 + sys-libs/zlib
264 + virtual/freedesktop-icon-theme
265 + x11-libs/cairo
266 + x11-libs/gdk-pixbuf
267 + x11-libs/pango
268 + x11-libs/pixman
269 + dbus? (
270 + dev-libs/dbus-glib
271 + sys-apps/dbus
272 + )
273 + jack? ( virtual/jack )
274 + libproxy? ( net-libs/libproxy )
275 + selinux? ( sec-policy/selinux-mozilla )
276 + sndio? ( >=media-sound/sndio-1.8.0-r1 )
277 + screencast? ( media-video/pipewire:= )
278 + system-av1? (
279 + >=media-libs/dav1d-0.9.3:=
280 + >=media-libs/libaom-1.0.0:=
281 + )
282 + system-harfbuzz? (
283 + >=media-gfx/graphite2-1.3.13
284 + >=media-libs/harfbuzz-2.8.1:0=
285 + )
286 + system-icu? ( >=dev-libs/icu-71.1:= )
287 + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
288 + system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
289 + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
290 + system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
291 + system-webp? ( >=media-libs/libwebp-1.1.0:0= )
292 + wayland? (
293 + >=media-libs/libepoxy-1.5.10-r1
294 + x11-libs/gtk+:3[wayland]
295 + x11-libs/libdrm
296 + x11-libs/libxkbcommon[wayland]
297 + )
298 + wifi? (
299 + kernel_linux? (
300 + dev-libs/dbus-glib
301 + net-misc/networkmanager
302 + sys-apps/dbus
303 + )
304 + )
305 + X? (
306 + virtual/opengl
307 + x11-libs/cairo[X]
308 + x11-libs/gtk+:3[X]
309 + x11-libs/libX11
310 + x11-libs/libXcomposite
311 + x11-libs/libXdamage
312 + x11-libs/libXext
313 + x11-libs/libXfixes
314 + x11-libs/libxkbcommon[X]
315 + x11-libs/libXrandr
316 + x11-libs/libXtst
317 + x11-libs/libxcb:=
318 + )"
319 +
320 +RDEPEND="${COMMON_DEPEND}
321 + !www-client/firefox:0
322 + !www-client/firefox:esr
323 + jack? ( virtual/jack )
324 + openh264? ( media-libs/openh264:*[plugin] )
325 + pulseaudio? (
326 + || (
327 + media-sound/pulseaudio
328 + >=media-sound/apulse-0.1.12-r4
329 + )
330 + )
331 + selinux? ( sec-policy/selinux-mozilla )"
332 +
333 +DEPEND="${COMMON_DEPEND}
334 + pulseaudio? (
335 + || (
336 + media-sound/pulseaudio
337 + >=media-sound/apulse-0.1.12-r4[sdk]
338 + )
339 + )
340 + X? (
341 + x11-libs/libICE
342 + x11-libs/libSM
343 + )"
344 +
345 +S="${WORKDIR}/${PN}-${PV%_*}"
346 +
347 +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
348 +# overridden in the enviromnent (advanced hackers only)
349 +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
350 + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
351 +fi
352 +
353 +llvm_check_deps() {
354 + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
355 + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
356 + return 1
357 + fi
358 +
359 + if use clang ; then
360 + if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
361 + einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
362 + return 1
363 + fi
364 +
365 + if use pgo ; then
366 + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
367 + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
368 + return 1
369 + fi
370 + fi
371 + fi
372 +
373 + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
374 +}
375 +
376 +MOZ_LANGS=(
377 + af ar ast be bg br ca cak cs cy da de dsb
378 + el en-CA en-GB en-US es-AR es-ES et eu
379 + fi fr fy-NL ga-IE gd gl he hr hsb hu
380 + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
381 + pa-IN pl pt-BR pt-PT rm ro ru
382 + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
383 +)
384 +
385 +# Firefox-only LANGS
386 +MOZ_LANGS+=( ach )
387 +MOZ_LANGS+=( an )
388 +MOZ_LANGS+=( az )
389 +MOZ_LANGS+=( bn )
390 +MOZ_LANGS+=( bs )
391 +MOZ_LANGS+=( ca-valencia )
392 +MOZ_LANGS+=( eo )
393 +MOZ_LANGS+=( es-CL )
394 +MOZ_LANGS+=( es-MX )
395 +MOZ_LANGS+=( fa )
396 +MOZ_LANGS+=( ff )
397 +MOZ_LANGS+=( gn )
398 +MOZ_LANGS+=( gu-IN )
399 +MOZ_LANGS+=( hi-IN )
400 +MOZ_LANGS+=( hy-AM )
401 +MOZ_LANGS+=( ia )
402 +MOZ_LANGS+=( km )
403 +MOZ_LANGS+=( kn )
404 +MOZ_LANGS+=( lij )
405 +MOZ_LANGS+=( mk )
406 +MOZ_LANGS+=( mr )
407 +MOZ_LANGS+=( my )
408 +MOZ_LANGS+=( ne-NP )
409 +MOZ_LANGS+=( oc )
410 +MOZ_LANGS+=( sco )
411 +MOZ_LANGS+=( si )
412 +MOZ_LANGS+=( son )
413 +MOZ_LANGS+=( szl )
414 +MOZ_LANGS+=( ta )
415 +MOZ_LANGS+=( te )
416 +MOZ_LANGS+=( tl )
417 +MOZ_LANGS+=( trs )
418 +MOZ_LANGS+=( ur )
419 +MOZ_LANGS+=( xh )
420 +
421 +mozilla_set_globals() {
422 + # https://bugs.gentoo.org/587334
423 + local MOZ_TOO_REGIONALIZED_FOR_L10N=(
424 + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
425 + )
426 +
427 + local lang xflag
428 + for lang in "${MOZ_LANGS[@]}" ; do
429 + # en and en_US are handled internally
430 + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
431 + continue
432 + fi
433 +
434 + # strip region subtag if $lang is in the list
435 + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
436 + xflag=${lang%%-*}
437 + else
438 + xflag=${lang}
439 + fi
440 +
441 + SRC_URI+=" l10n_${xflag/[_@]/-}? ("
442 + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
443 + SRC_URI+=" )"
444 + IUSE+=" l10n_${xflag/[_@]/-}"
445 + done
446 +}
447 +mozilla_set_globals
448 +
449 +moz_clear_vendor_checksums() {
450 + debug-print-function ${FUNCNAME} "$@"
451 +
452 + if [[ ${#} -ne 1 ]] ; then
453 + die "${FUNCNAME} requires exact one argument"
454 + fi
455 +
456 + einfo "Clearing cargo checksums for ${1} ..."
457 +
458 + sed -i \
459 + -e 's/\("files":{\)[^}]*/\1/' \
460 + "${S}"/third_party/rust/${1}/.cargo-checksum.json \
461 + || die
462 +}
463 +
464 +moz_install_xpi() {
465 + debug-print-function ${FUNCNAME} "$@"
466 +
467 + if [[ ${#} -lt 2 ]] ; then
468 + die "${FUNCNAME} requires at least two arguments"
469 + fi
470 +
471 + local DESTDIR=${1}
472 + shift
473 +
474 + insinto "${DESTDIR}"
475 +
476 + local emid xpi_file xpi_tmp_dir
477 + for xpi_file in "${@}" ; do
478 + emid=
479 + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
480 +
481 + # Unpack XPI
482 + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
483 +
484 + # Determine extension ID
485 + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
486 + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
487 + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
488 + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
489 + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
490 + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
491 + else
492 + die "failed to determine extension id"
493 + fi
494 +
495 + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
496 + newins "${xpi_file}" "${emid}.xpi"
497 + done
498 +}
499 +
500 +mozconfig_add_options_ac() {
501 + debug-print-function ${FUNCNAME} "$@"
502 +
503 + if [[ ${#} -lt 2 ]] ; then
504 + die "${FUNCNAME} requires at least two arguments"
505 + fi
506 +
507 + local reason=${1}
508 + shift
509 +
510 + local option
511 + for option in ${@} ; do
512 + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
513 + done
514 +}
515 +
516 +mozconfig_add_options_mk() {
517 + debug-print-function ${FUNCNAME} "$@"
518 +
519 + if [[ ${#} -lt 2 ]] ; then
520 + die "${FUNCNAME} requires at least two arguments"
521 + fi
522 +
523 + local reason=${1}
524 + shift
525 +
526 + local option
527 + for option in ${@} ; do
528 + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
529 + done
530 +}
531 +
532 +mozconfig_use_enable() {
533 + debug-print-function ${FUNCNAME} "$@"
534 +
535 + if [[ ${#} -lt 1 ]] ; then
536 + die "${FUNCNAME} requires at least one arguments"
537 + fi
538 +
539 + local flag=$(use_enable "${@}")
540 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
541 +}
542 +
543 +mozconfig_use_with() {
544 + debug-print-function ${FUNCNAME} "$@"
545 +
546 + if [[ ${#} -lt 1 ]] ; then
547 + die "${FUNCNAME} requires at least one arguments"
548 + fi
549 +
550 + local flag=$(use_with "${@}")
551 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
552 +}
553 +
554 +pkg_pretend() {
555 + if [[ ${MERGE_TYPE} != binary ]] ; then
556 + if use pgo ; then
557 + if ! has usersandbox $FEATURES ; then
558 + die "You must enable usersandbox as X server can not run as root!"
559 + fi
560 + fi
561 +
562 + # Ensure we have enough disk space to compile
563 + if use pgo || use lto || use debug ; then
564 + CHECKREQS_DISK_BUILD="13500M"
565 + else
566 + CHECKREQS_DISK_BUILD="6600M"
567 + fi
568 +
569 + check-reqs_pkg_pretend
570 + fi
571 +}
572 +
573 +pkg_setup() {
574 + if [[ ${MERGE_TYPE} != binary ]] ; then
575 + if use pgo ; then
576 + if ! has userpriv ${FEATURES} ; then
577 + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
578 + fi
579 + fi
580 +
581 + # Ensure we have enough disk space to compile
582 + if use pgo || use lto || use debug ; then
583 + CHECKREQS_DISK_BUILD="13500M"
584 + else
585 + CHECKREQS_DISK_BUILD="6400M"
586 + fi
587 +
588 + check-reqs_pkg_setup
589 +
590 + llvm_pkg_setup
591 +
592 + if use clang && use lto ; then
593 + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
594 + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
595 + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
596 +
597 + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
598 + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
599 + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
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 + eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
608 + eerror " llvm/clang/lld/rust chain depending on your @world updates)"
609 + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
610 + fi
611 + fi
612 +
613 + if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
614 + && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
615 + # bug 792705
616 + eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
617 + die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
618 + fi
619 +
620 + python-any-r1_pkg_setup
621 +
622 + # Avoid PGO profiling problems due to enviroment leakage
623 + # These should *always* be cleaned up anyway
624 + unset \
625 + DBUS_SESSION_BUS_ADDRESS \
626 + DISPLAY \
627 + ORBIT_SOCKETDIR \
628 + SESSION_MANAGER \
629 + XAUTHORITY \
630 + XDG_CACHE_HOME \
631 + XDG_SESSION_COOKIE
632 +
633 + # Build system is using /proc/self/oom_score_adj, bug #604394
634 + addpredict /proc/self/oom_score_adj
635 +
636 + if use pgo ; then
637 + # Allow access to GPU during PGO run
638 + local ati_cards mesa_cards nvidia_cards render_cards
639 + shopt -s nullglob
640 +
641 + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
642 + if [[ -n "${ati_cards}" ]] ; then
643 + addpredict "${ati_cards}"
644 + fi
645 +
646 + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
647 + if [[ -n "${mesa_cards}" ]] ; then
648 + addpredict "${mesa_cards}"
649 + fi
650 +
651 + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
652 + if [[ -n "${nvidia_cards}" ]] ; then
653 + addpredict "${nvidia_cards}"
654 + fi
655 +
656 + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
657 + if [[ -n "${render_cards}" ]] ; then
658 + addpredict "${render_cards}"
659 + fi
660 +
661 + shopt -u nullglob
662 + fi
663 +
664 + if ! mountpoint -q /dev/shm ; then
665 + # If /dev/shm is not available, configure is known to fail with
666 + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
667 + ewarn "/dev/shm is not mounted -- expect build failures!"
668 + fi
669 +
670 + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
671 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
672 + # get your own set of keys.
673 + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
674 + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
675 + fi
676 +
677 + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
678 + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
679 + fi
680 +
681 + # Mozilla API keys (see https://location.services.mozilla.com/api)
682 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
683 + # get your own set of keys.
684 + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
685 + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
686 + fi
687 +
688 + # Ensure we use C locale when building, bug #746215
689 + export LC_ALL=C
690 + fi
691 +
692 + CONFIG_CHECK="~SECCOMP"
693 + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
694 + linux-info_pkg_setup
695 +}
696 +
697 +src_unpack() {
698 + local _lp_dir="${WORKDIR}/language_packs"
699 + local _src_file
700 +
701 + if [[ ! -d "${_lp_dir}" ]] ; then
702 + mkdir "${_lp_dir}" || die
703 + fi
704 +
705 + for _src_file in ${A} ; do
706 + if [[ ${_src_file} == *.xpi ]]; then
707 + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
708 + else
709 + unpack ${_src_file}
710 + fi
711 + done
712 +}
713 +
714 +src_prepare() {
715 + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
716 + eapply "${WORKDIR}/firefox-patches"
717 +
718 + # Allow user to apply any additional patches without modifing ebuild
719 + eapply_user
720 +
721 + # Make cargo respect MAKEOPTS
722 + export CARGO_BUILD_JOBS="$(makeopts_jobs)"
723 +
724 + # Make LTO respect MAKEOPTS
725 + sed -i \
726 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
727 + "${S}"/build/moz.configure/lto-pgo.configure \
728 + || die "sed failed to set num_cores"
729 +
730 + # Make ICU respect MAKEOPTS
731 + sed -i \
732 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
733 + "${S}"/intl/icu_sources_data.py \
734 + || die "sed failed to set num_cores"
735 +
736 + # sed-in toolchain prefix
737 + sed -i \
738 + -e "s/objdump/${CHOST}-objdump/" \
739 + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
740 + || die "sed failed to set toolchain prefix"
741 +
742 + sed -i \
743 + -e 's/ccache_stats = None/return None/' \
744 + "${S}"/python/mozbuild/mozbuild/controller/building.py \
745 + || die "sed failed to disable ccache stats call"
746 +
747 + einfo "Removing pre-built binaries ..."
748 + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
749 +
750 + # Clearing checksums where we have applied patches
751 + moz_clear_vendor_checksums target-lexicon-0.9.0
752 +
753 + # Create build dir
754 + BUILD_DIR="${WORKDIR}/${PN}_build"
755 + mkdir -p "${BUILD_DIR}" || die
756 +
757 + # Write API keys to disk
758 + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
759 + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
760 + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
761 +
762 + xdg_environment_reset
763 +}
764 +
765 +src_configure() {
766 + # Show flags set at the beginning
767 + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
768 + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
769 + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
770 + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
771 + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
772 +
773 + local have_switched_compiler=
774 + if use clang && ! tc-is-clang ; then
775 + # Force clang
776 + einfo "Enforcing the use of clang due to USE=clang ..."
777 + have_switched_compiler=yes
778 + AR=llvm-ar
779 + AS=llvm-as
780 + CC=${CHOST}-clang
781 + CXX=${CHOST}-clang++
782 + NM=llvm-nm
783 + RANLIB=llvm-ranlib
784 + elif ! use clang && ! tc-is-gcc ; then
785 + # Force gcc
786 + have_switched_compiler=yes
787 + einfo "Enforcing the use of gcc due to USE=-clang ..."
788 + AR=gcc-ar
789 + CC=${CHOST}-gcc
790 + CXX=${CHOST}-g++
791 + NM=gcc-nm
792 + RANLIB=gcc-ranlib
793 + fi
794 +
795 + if [[ -n "${have_switched_compiler}" ]] ; then
796 + # Because we switched active compiler we have to ensure
797 + # that no unsupported flags are set
798 + strip-unsupported-flags
799 + fi
800 +
801 + # Ensure we use correct toolchain
802 + export HOST_CC="$(tc-getBUILD_CC)"
803 + export HOST_CXX="$(tc-getBUILD_CXX)"
804 + tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
805 +
806 + # Pass the correct toolchain paths through cbindgen
807 + if tc-is-cross-compiler ; then
808 + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
809 + fi
810 +
811 + # Set MOZILLA_FIVE_HOME
812 + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
813 +
814 + # python/mach/mach/mixin/process.py fails to detect SHELL
815 + export SHELL="${EPREFIX}/bin/bash"
816 +
817 + # Set state path
818 + export MOZBUILD_STATE_PATH="${BUILD_DIR}"
819 +
820 + # Set MOZCONFIG
821 + export MOZCONFIG="${S}/.mozconfig"
822 +
823 + # Initialize MOZCONFIG
824 + mozconfig_add_options_ac '' --enable-application=browser
825 +
826 + # Set Gentoo defaults
827 + export MOZILLA_OFFICIAL=1
828 +
829 + mozconfig_add_options_ac 'Gentoo default' \
830 + --allow-addon-sideload \
831 + --disable-cargo-incremental \
832 + --disable-crashreporter \
833 + --disable-gpsd \
834 + --disable-install-strip \
835 + --disable-parental-controls \
836 + --disable-strip \
837 + --disable-updater \
838 + --enable-negotiateauth \
839 + --enable-new-pass-manager \
840 + --enable-official-branding \
841 + --enable-release \
842 + --enable-system-ffi \
843 + --enable-system-pixman \
844 + --host="${CBUILD:-${CHOST}}" \
845 + --libdir="${EPREFIX}/usr/$(get_libdir)" \
846 + --prefix="${EPREFIX}/usr" \
847 + --target="${CHOST}" \
848 + --without-ccache \
849 + --without-wasm-sandboxed-libraries \
850 + --with-intl-api \
851 + --with-libclang-path="$(llvm-config --libdir)" \
852 + --with-system-nspr \
853 + --with-system-nss \
854 + --with-system-zlib \
855 + --with-toolchain-prefix="${CHOST}-" \
856 + --with-unsigned-addon-scopes=app,system \
857 + --x-includes="${ESYSROOT}/usr/include" \
858 + --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
859 +
860 + # Set update channel
861 + local update_channel=release
862 + [[ -n ${MOZ_ESR} ]] && update_channel=esr
863 + mozconfig_add_options_ac '' --update-channel=${update_channel}
864 +
865 + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
866 + mozconfig_add_options_ac '' --enable-rust-simd
867 + fi
868 +
869 + # For future keywording: This is currently (97.0) only supported on:
870 + # amd64, arm, arm64 & x86.
871 + # Might want to flip the logic around if Firefox is to support more arches.
872 + if use ppc64; then
873 + mozconfig_add_options_ac '' --disable-sandbox
874 + else
875 + mozconfig_add_options_ac '' --enable-sandbox
876 + fi
877 +
878 + if [[ -s "${S}/api-google.key" ]] ; then
879 + local key_origin="Gentoo default"
880 + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
881 + key_origin="User value"
882 + fi
883 +
884 + mozconfig_add_options_ac "${key_origin}" \
885 + --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
886 + else
887 + einfo "Building without Google API key ..."
888 + fi
889 +
890 + if [[ -s "${S}/api-location.key" ]] ; then
891 + local key_origin="Gentoo default"
892 + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
893 + key_origin="User value"
894 + fi
895 +
896 + mozconfig_add_options_ac "${key_origin}" \
897 + --with-google-location-service-api-keyfile="${S}/api-location.key"
898 + else
899 + einfo "Building without Location API key ..."
900 + fi
901 +
902 + if [[ -s "${S}/api-mozilla.key" ]] ; then
903 + local key_origin="Gentoo default"
904 + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
905 + key_origin="User value"
906 + fi
907 +
908 + mozconfig_add_options_ac "${key_origin}" \
909 + --with-mozilla-api-keyfile="${S}/api-mozilla.key"
910 + else
911 + einfo "Building without Mozilla API key ..."
912 + fi
913 +
914 + mozconfig_use_with system-av1
915 + mozconfig_use_with system-harfbuzz
916 + mozconfig_use_with system-harfbuzz system-graphite2
917 + mozconfig_use_with system-icu
918 + mozconfig_use_with system-jpeg
919 + mozconfig_use_with system-libevent
920 + mozconfig_use_with system-libvpx
921 + mozconfig_use_with system-png
922 + mozconfig_use_with system-webp
923 +
924 + mozconfig_use_enable dbus
925 + mozconfig_use_enable libproxy
926 +
927 + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
928 +
929 + mozconfig_use_enable geckodriver
930 +
931 + if use hardened ; then
932 + mozconfig_add_options_ac "+hardened" --enable-hardening
933 + append-ldflags "-Wl,-z,relro -Wl,-z,now"
934 + fi
935 +
936 + local myaudiobackends=""
937 + use jack && myaudiobackends+="jack,"
938 + use sndio && myaudiobackends+="sndio,"
939 + use pulseaudio && myaudiobackends+="pulseaudio,"
940 + ! use pulseaudio && myaudiobackends+="alsa,"
941 +
942 + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
943 +
944 + mozconfig_use_enable wifi necko-wifi
945 +
946 + if use X && use wayland ; then
947 + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
948 + elif ! use X && use wayland ; then
949 + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only
950 + else
951 + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3
952 + fi
953 +
954 + if use lto ; then
955 + if use clang ; then
956 + # Upstream only supports lld when using clang
957 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
958 +
959 + mozconfig_add_options_ac '+lto' --enable-lto=cross
960 +
961 + else
962 + # ThinLTO is currently broken, see bmo#1644409
963 + mozconfig_add_options_ac '+lto' --enable-lto=full
964 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
965 + fi
966 +
967 + if use pgo ; then
968 + mozconfig_add_options_ac '+pgo' MOZ_PGO=1
969 +
970 + if use clang ; then
971 + # Used in build/pgo/profileserver.py
972 + export LLVM_PROFDATA="llvm-profdata"
973 + fi
974 + fi
975 + else
976 + # Avoid auto-magic on linker
977 + if use clang ; then
978 + # This is upstream's default
979 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
980 + else
981 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
982 + fi
983 + fi
984 +
985 + # LTO flag was handled via configure
986 + filter-flags '-flto*'
987 +
988 + mozconfig_use_enable debug
989 + if use debug ; then
990 + mozconfig_add_options_ac '+debug' --disable-optimize
991 + else
992 + if is-flag '-g*' ; then
993 + if use clang ; then
994 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
995 + else
996 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
997 + fi
998 + else
999 + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
1000 + fi
1001 +
1002 + if is-flag '-O0' ; then
1003 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
1004 + elif is-flag '-O4' ; then
1005 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
1006 + elif is-flag '-O3' ; then
1007 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
1008 + elif is-flag '-O1' ; then
1009 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
1010 + elif is-flag '-Os' ; then
1011 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
1012 + else
1013 + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
1014 + fi
1015 + fi
1016 +
1017 + # Debug flag was handled via configure
1018 + filter-flags '-g*'
1019 +
1020 + # Optimization flag was handled via configure
1021 + filter-flags '-O*'
1022 +
1023 + # Modifications to better support ARM, bug #553364
1024 + if use cpu_flags_arm_neon ; then
1025 + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
1026 +
1027 + if ! tc-is-clang ; then
1028 + # thumb options aren't supported when using clang, bug 666966
1029 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \
1030 + --with-thumb=yes \
1031 + --with-thumb-interwork=no
1032 + fi
1033 + fi
1034 +
1035 + if [[ ${CHOST} == armv*h* ]] ; then
1036 + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
1037 +
1038 + if ! use system-libvpx ; then
1039 + sed -i \
1040 + -e "s|softfp|hard|" \
1041 + "${S}"/media/libvpx/moz.build \
1042 + || die
1043 + fi
1044 + fi
1045 +
1046 + if use clang ; then
1047 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
1048 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
1049 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
1050 + local disable_elf_hack=
1051 + if use amd64 ; then
1052 + disable_elf_hack=yes
1053 + elif use x86 ; then
1054 + disable_elf_hack=yes
1055 + elif use arm ; then
1056 + disable_elf_hack=yes
1057 + fi
1058 +
1059 + if [[ -n ${disable_elf_hack} ]] ; then
1060 + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
1061 + fi
1062 + elif tc-is-gcc ; then
1063 + if ver_test $(gcc-fullversion) -ge 10 ; then
1064 + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
1065 + append-cxxflags -fno-tree-loop-vectorize
1066 + fi
1067 + fi
1068 +
1069 + # Additional ARCH support
1070 + case "${ARCH}" in
1071 + arm)
1072 + # Reduce the memory requirements for linking
1073 + if use clang ; then
1074 + # Nothing to do
1075 + :;
1076 + elif use lto ; then
1077 + append-ldflags -Wl,--no-keep-memory
1078 + else
1079 + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
1080 + fi
1081 + ;;
1082 + esac
1083 +
1084 + if ! use elibc_glibc ; then
1085 + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
1086 + fi
1087 +
1088 + # Allow elfhack to work in combination with unstripped binaries
1089 + # when they would normally be larger than 2GiB.
1090 + append-ldflags "-Wl,--compress-debug-sections=zlib"
1091 +
1092 + # Make revdep-rebuild.sh happy; Also required for musl
1093 + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
1094 +
1095 + # Pass $MAKEOPTS to build system
1096 + export MOZ_MAKE_FLAGS="${MAKEOPTS}"
1097 +
1098 + # Use system's Python environment
1099 + PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
1100 +
1101 + if use system-python-libs; then
1102 + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system"
1103 + else
1104 + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
1105 + fi
1106 +
1107 + # Disable notification when build system has finished
1108 + export MOZ_NOSPAM=1
1109 +
1110 + # Portage sets XARGS environment variable to "xargs -r" by default which
1111 + # breaks build system's check_prog() function which doesn't support arguments
1112 + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
1113 +
1114 + # Set build dir
1115 + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
1116 +
1117 + # Show flags we will use
1118 + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
1119 + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
1120 + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
1121 + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
1122 + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
1123 +
1124 + # Handle EXTRA_CONF and show summary
1125 + local ac opt hash reason
1126 +
1127 + # Apply EXTRA_ECONF entries to $MOZCONFIG
1128 + if [[ -n ${EXTRA_ECONF} ]] ; then
1129 + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
1130 + for opt in "${ac[@]}"; do
1131 + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
1132 + done
1133 + fi
1134 +
1135 + echo
1136 + echo "=========================================================="
1137 + echo "Building ${PF} with the following configuration"
1138 + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
1139 + [[ -z ${hash} || ${hash} == \# ]] \
1140 + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
1141 + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
1142 + done
1143 + echo "=========================================================="
1144 + echo
1145 +
1146 + ./mach configure || die
1147 +}
1148 +
1149 +src_compile() {
1150 + local virtx_cmd=
1151 +
1152 + if use pgo ; then
1153 + virtx_cmd=virtx
1154 +
1155 + # Reset and cleanup environment variables used by GNOME/XDG
1156 + gnome2_environment_reset
1157 +
1158 + addpredict /root
1159 + fi
1160 +
1161 + if ! use X && use wayland; then
1162 + local -x GDK_BACKEND=wayland
1163 + else
1164 + local -x GDK_BACKEND=x11
1165 + fi
1166 +
1167 + ${virtx_cmd} ./mach build --verbose \
1168 + || die
1169 +}
1170 +
1171 +src_install() {
1172 + # xpcshell is getting called during install
1173 + pax-mark m \
1174 + "${BUILD_DIR}"/dist/bin/xpcshell \
1175 + "${BUILD_DIR}"/dist/bin/${PN} \
1176 + "${BUILD_DIR}"/dist/bin/plugin-container
1177 +
1178 + DESTDIR="${D}" ./mach install || die
1179 +
1180 + # Upstream cannot ship symlink but we can (bmo#658850)
1181 + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
1182 + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
1183 +
1184 + # Don't install llvm-symbolizer from sys-devel/llvm package
1185 + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
1186 + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
1187 + fi
1188 +
1189 + # Install policy (currently only used to disable application updates)
1190 + insinto "${MOZILLA_FIVE_HOME}/distribution"
1191 + newins "${FILESDIR}"/distribution.ini distribution.ini
1192 + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
1193 +
1194 + # Install system-wide preferences
1195 + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
1196 + insinto "${PREFS_DIR}"
1197 + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
1198 +
1199 + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
1200 +
1201 + # Set dictionary path to use system hunspell
1202 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
1203 + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
1204 + EOF
1205 +
1206 + # Force hwaccel prefs if USE=hwaccel is enabled
1207 + if use hwaccel ; then
1208 + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
1209 + >>"${GENTOO_PREFS}" \
1210 + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
1211 +
1212 + if use wayland; then
1213 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
1214 + pref("gfx.x11-egl.force-enabled", false);
1215 + EOF
1216 + else
1217 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
1218 + pref("gfx.x11-egl.force-enabled", true);
1219 + EOF
1220 + fi
1221 + fi
1222 +
1223 + if ! use gmp-autoupdate ; then
1224 + local plugin
1225 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1226 + einfo "Disabling auto-update for ${plugin} plugin ..."
1227 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
1228 + pref("media.${plugin}.autoupdate", false);
1229 + EOF
1230 + done
1231 + fi
1232 +
1233 + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
1234 + if use system-harfbuzz ; then
1235 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
1236 + sticky_pref("gfx.font_rendering.graphite.enabled", true);
1237 + EOF
1238 + fi
1239 +
1240 + # Install language packs
1241 + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
1242 + if [[ -n "${langpacks}" ]] ; then
1243 + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
1244 + fi
1245 +
1246 + # Install geckodriver
1247 + if use geckodriver ; then
1248 + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
1249 + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
1250 + exeinto "${MOZILLA_FIVE_HOME}"
1251 + doexe "${BUILD_DIR}"/dist/bin/geckodriver
1252 +
1253 + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
1254 + fi
1255 +
1256 + # Install icons
1257 + local icon_srcdir="${S}/browser/branding/official"
1258 + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
1259 +
1260 + insinto /usr/share/icons/hicolor/symbolic/apps
1261 + newins "${icon_symbolic_file}" ${PN}-symbolic.svg
1262 +
1263 + local icon size
1264 + for icon in "${icon_srcdir}"/default*.png ; do
1265 + size=${icon%.png}
1266 + size=${size##*/default}
1267 +
1268 + if [[ ${size} -eq 48 ]] ; then
1269 + newicon "${icon}" ${PN}.png
1270 + fi
1271 +
1272 + newicon -s ${size} "${icon}" ${PN}.png
1273 + done
1274 +
1275 + # Install menu
1276 + local app_name="Mozilla ${MOZ_PN^}"
1277 + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
1278 + local desktop_filename="${PN}.desktop"
1279 + local exec_command="${PN}"
1280 + local icon="${PN}"
1281 + local use_wayland="false"
1282 +
1283 + if use wayland ; then
1284 + use_wayland="true"
1285 + fi
1286 +
1287 + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
1288 +
1289 + sed -i \
1290 + -e "s:@NAME@:${app_name}:" \
1291 + -e "s:@EXEC@:${exec_command}:" \
1292 + -e "s:@ICON@:${icon}:" \
1293 + "${WORKDIR}/${PN}.desktop-template" \
1294 + || die
1295 +
1296 + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
1297 +
1298 + rm "${WORKDIR}/${PN}.desktop-template" || die
1299 +
1300 + # Install wrapper script
1301 + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
1302 + newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
1303 +
1304 + # Update wrapper
1305 + sed -i \
1306 + -e "s:@PREFIX@:${EPREFIX}/usr:" \
1307 + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
1308 + -e "s:@APULSELIB_DIR@:${apulselib}:" \
1309 + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
1310 + "${ED}/usr/bin/${PN}" \
1311 + || die
1312 +}
1313 +
1314 +pkg_preinst() {
1315 + xdg_pkg_preinst
1316 +
1317 + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
1318 + # does not need to be forced into the LD_LIBRARY_PATH
1319 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1320 + einfo "APULSE found; Generating library symlinks for sound support ..."
1321 + local lib
1322 + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
1323 + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
1324 + # A quickpkg rolled by hand will grab symlinks as part of the package,
1325 + # so we need to avoid creating them if they already exist.
1326 + if [[ ! -L ${lib##*/} ]] ; then
1327 + ln -s "${lib}" ${lib##*/} || die
1328 + fi
1329 + done
1330 + popd &>/dev/null || die
1331 + fi
1332 +}
1333 +
1334 +pkg_postinst() {
1335 + xdg_pkg_postinst
1336 +
1337 + if ! use gmp-autoupdate ; then
1338 + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
1339 + elog "installing into new profiles:"
1340 + local plugin
1341 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1342 + elog "\t ${plugin}"
1343 + done
1344 + elog
1345 + fi
1346 +
1347 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1348 + elog "Apulse was detected at merge time on this system and so it will always be"
1349 + elog "used for sound. If you wish to use pulseaudio instead please unmerge"
1350 + elog "media-sound/apulse."
1351 + elog
1352 + fi
1353 +
1354 + local show_doh_information
1355 + local show_normandy_information
1356 + local show_shortcut_information
1357 +
1358 + if [[ -z "${REPLACING_VERSIONS}" ]] ; then
1359 + # New install; Tell user that DoH is disabled by default
1360 + show_doh_information=yes
1361 + show_normandy_information=yes
1362 + show_shortcut_information=no
1363 + else
1364 + local replacing_version
1365 + for replacing_version in ${REPLACING_VERSIONS} ; do
1366 + if ver_test "${replacing_version}" -lt 91.0 ; then
1367 + # Tell user that we no longer install a shortcut
1368 + # per supported display protocol
1369 + show_shortcut_information=yes
1370 + fi
1371 + done
1372 + fi
1373 +
1374 + if [[ -n "${show_doh_information}" ]] ; then
1375 + elog
1376 + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
1377 + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
1378 + elog "DNS traffic to Cloudflare by default is not a good idea and applications"
1379 + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
1380 + elog "(\"Off by choice\") by default."
1381 + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
1382 + fi
1383 +
1384 + # bug 713782
1385 + if [[ -n "${show_normandy_information}" ]] ; then
1386 + elog
1387 + elog "Upstream operates a service named Normandy which allows Mozilla to"
1388 + elog "push changes for default settings or even install new add-ons remotely."
1389 + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
1390 + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
1391 + elog "concerns prevail, which is why we have switched off the use of this"
1392 + elog "service by default."
1393 + elog
1394 + elog "To re-enable this service set"
1395 + elog
1396 + elog " app.normandy.enabled=true"
1397 + elog
1398 + elog "in about:config."
1399 + fi
1400 +
1401 + if [[ -n "${show_shortcut_information}" ]] ; then
1402 + elog
1403 + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
1404 + elog "each supported display protocol. Instead we will only install"
1405 + elog "one generic Mozilla ${PN^} shortcut."
1406 + elog "If you still want to be able to select between running Mozilla ${PN^}"
1407 + elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
1408 + fi
1409 +
1410 + # bug 835078
1411 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
1412 + ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
1413 + ewarn "enabled for Firefox. Nouveau / your GPU might not supported the "
1414 + ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
1415 + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
1416 + fi
1417 +
1418 + elog
1419 + elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using "
1420 + elog "useragent checks. To temporarily fix this, enter about:config and modify "
1421 + elog "network.http.useragent.forceVersion preference to \"99\"."
1422 + elog "Or install an addon to change your useragent."
1423 + elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100"
1424 + elog
1425 +}